@mastra/deployer-cloud 1.64.0-alpha.2 → 1.64.0-alpha.3
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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-DEOkJSAA.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js","./html-C2L_23MC.js","./javascript-ySlJ1b_l.js","./css-BPhBrDlE.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{_ as Ma}from"./preload-helper-PPVm8Dsz.js";function $Gt(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const s in r)if(s!=="default"&&!(s in e)){const a=Object.getOwnPropertyDescriptor(r,s);a&&Object.defineProperty(e,s,a.get?a:{enumerable:!0,get:()=>r[s]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}var kj=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Dl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var rX={exports:{}},sR={};var Y$e;function MGt(){if(Y$e)return sR;Y$e=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,s,a){var i=null;if(a!==void 0&&(i=""+a),s.key!==void 0&&(i=""+s.key),"key"in s){a={};for(var l in s)l!=="key"&&(a[l]=s[l])}else a=s;return s=a.ref,{$$typeof:e,type:r,key:i,ref:s!==void 0?s:null,props:a}}return sR.Fragment=t,sR.jsx=n,sR.jsxs=n,sR}var K$e;function DGt(){return K$e||(K$e=1,rX.exports=MGt()),rX.exports}var o=DGt(),sX={exports:{}},Hr={},X$e;function LGt(){if(X$e)return Hr;X$e=1;var e={env:{}};var t=Symbol.for("react.transitional.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),a=Symbol.for("react.profiler"),i=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.for("react.activity"),h=Symbol.iterator;function m(U){return U===null||typeof U!="object"?null:(U=h&&U[h]||U["@@iterator"],typeof U=="function"?U:null)}var v={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(U,$,q){this.props=U,this.context=$,this.refs=b,this.updater=q||v}x.prototype.isReactComponent={},x.prototype.setState=function(U,$){if(typeof U!="object"&&typeof U!="function"&&U!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,U,$,"setState")},x.prototype.forceUpdate=function(U){this.updater.enqueueForceUpdate(this,U,"forceUpdate")};function S(){}S.prototype=x.prototype;function k(U,$,q){this.props=U,this.context=$,this.refs=b,this.updater=q||v}var _=k.prototype=new S;_.constructor=k,y(_,x.prototype),_.isPureReactComponent=!0;var C=Array.isArray;function T(){}var E={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function I(U,$,q){var Z=q.ref;return{$$typeof:t,type:U,key:$,ref:Z!==void 0?Z:null,props:q}}function A(U,$){return I(U.type,$,U.props)}function R(U){return typeof U=="object"&&U!==null&&U.$$typeof===t}function L(U){var $={"=":"=0",":":"=2"};return"$"+U.replace(/[=:]/g,function(q){return $[q]})}var D=/\/+/g;function F(U,$){return typeof U=="object"&&U!==null&&U.key!=null?L(""+U.key):$.toString(36)}function H(U){switch(U.status){case"fulfilled":return U.value;case"rejected":throw U.reason;default:switch(typeof U.status=="string"?U.then(T,T):(U.status="pending",U.then(function($){U.status==="pending"&&(U.status="fulfilled",U.value=$)},function($){U.status==="pending"&&(U.status="rejected",U.reason=$)})),U.status){case"fulfilled":return U.value;case"rejected":throw U.reason}}throw U}function B(U,$,q,Z,Y){var ne=typeof U;(ne==="undefined"||ne==="boolean")&&(U=null);var J=!1;if(U===null)J=!0;else switch(ne){case"bigint":case"string":case"number":J=!0;break;case"object":switch(U.$$typeof){case t:case n:J=!0;break;case f:return J=U._init,B(J(U._payload),$,q,Z,Y)}}if(J)return Y=Y(U),J=Z===""?"."+F(U,0):Z,C(Y)?(q="",J!=null&&(q=J.replace(D,"$&/")+"/"),B(Y,$,q,"",function(le){return le})):Y!=null&&(R(Y)&&(Y=A(Y,q+(Y.key==null||U&&U.key===Y.key?"":(""+Y.key).replace(D,"$&/")+"/")+J)),$.push(Y)),1;J=0;var ee=Z===""?".":Z+":";if(C(U))for(var se=0;se<U.length;se++)Z=U[se],ne=ee+F(Z,se),J+=B(Z,$,q,ne,Y);else if(se=m(U),typeof se=="function")for(U=se.call(U),se=0;!(Z=U.next()).done;)Z=Z.value,ne=ee+F(Z,se++),J+=B(Z,$,q,ne,Y);else if(ne==="object"){if(typeof U.then=="function")return B(H(U),$,q,Z,Y);throw $=String(U),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(U).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return J}function z(U,$,q){if(U==null)return U;var Z=[],Y=0;return B(U,Z,"","",function(ne){return $.call(q,ne,Y++)}),Z}function V(U){if(U._status===-1){var $=U._result;$=$(),$.then(function(q){(U._status===0||U._status===-1)&&(U._status=1,U._result=q)},function(q){(U._status===0||U._status===-1)&&(U._status=2,U._result=q)}),U._status===-1&&(U._status=0,U._result=$)}if(U._status===1)return U._result.default;throw U._result}var M=typeof reportError=="function"?reportError:function(U){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof U=="object"&&U!==null&&typeof U.message=="string"?String(U.message):String(U),error:U});if(!window.dispatchEvent($))return}else if(typeof e=="object"&&typeof e.emit=="function"){e.emit("uncaughtException",U);return}console.error(U)},G={map:z,forEach:function(U,$,q){z(U,function(){$.apply(this,arguments)},q)},count:function(U){var $=0;return z(U,function(){$++}),$},toArray:function(U){return z(U,function($){return $})||[]},only:function(U){if(!R(U))throw Error("React.Children.only expected to receive a single React element child.");return U}};return Hr.Activity=p,Hr.Children=G,Hr.Component=x,Hr.Fragment=r,Hr.Profiler=a,Hr.PureComponent=k,Hr.StrictMode=s,Hr.Suspense=u,Hr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=E,Hr.__COMPILER_RUNTIME={__proto__:null,c:function(U){return E.H.useMemoCache(U)}},Hr.cache=function(U){return function(){return U.apply(null,arguments)}},Hr.cacheSignal=function(){return null},Hr.cloneElement=function(U,$,q){if(U==null)throw Error("The argument must be a React element, but you passed "+U+".");var Z=y({},U.props),Y=U.key;if($!=null)for(ne in $.key!==void 0&&(Y=""+$.key),$)!N.call($,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&$.ref===void 0||(Z[ne]=$[ne]);var ne=arguments.length-2;if(ne===1)Z.children=q;else if(1<ne){for(var J=Array(ne),ee=0;ee<ne;ee++)J[ee]=arguments[ee+2];Z.children=J}return I(U.type,Y,Z)},Hr.createContext=function(U){return U={$$typeof:l,_currentValue:U,_currentValue2:U,_threadCount:0,Provider:null,Consumer:null},U.Provider=U,U.Consumer={$$typeof:i,_context:U},U},Hr.createElement=function(U,$,q){var Z,Y={},ne=null;if($!=null)for(Z in $.key!==void 0&&(ne=""+$.key),$)N.call($,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(Y[Z]=$[Z]);var J=arguments.length-2;if(J===1)Y.children=q;else if(1<J){for(var ee=Array(J),se=0;se<J;se++)ee[se]=arguments[se+2];Y.children=ee}if(U&&U.defaultProps)for(Z in J=U.defaultProps,J)Y[Z]===void 0&&(Y[Z]=J[Z]);return I(U,ne,Y)},Hr.createRef=function(){return{current:null}},Hr.forwardRef=function(U){return{$$typeof:c,render:U}},Hr.isValidElement=R,Hr.lazy=function(U){return{$$typeof:f,_payload:{_status:-1,_result:U},_init:V}},Hr.memo=function(U,$){return{$$typeof:d,type:U,compare:$===void 0?null:$}},Hr.startTransition=function(U){var $=E.T,q={};E.T=q;try{var Z=U(),Y=E.S;Y!==null&&Y(q,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(T,M)}catch(ne){M(ne)}finally{$!==null&&q.types!==null&&($.types=q.types),E.T=$}},Hr.unstable_useCacheRefresh=function(){return E.H.useCacheRefresh()},Hr.use=function(U){return E.H.use(U)},Hr.useActionState=function(U,$,q){return E.H.useActionState(U,$,q)},Hr.useCallback=function(U,$){return E.H.useCallback(U,$)},Hr.useContext=function(U){return E.H.useContext(U)},Hr.useDebugValue=function(){},Hr.useDeferredValue=function(U,$){return E.H.useDeferredValue(U,$)},Hr.useEffect=function(U,$){return E.H.useEffect(U,$)},Hr.useEffectEvent=function(U){return E.H.useEffectEvent(U)},Hr.useId=function(){return E.H.useId()},Hr.useImperativeHandle=function(U,$,q){return E.H.useImperativeHandle(U,$,q)},Hr.useInsertionEffect=function(U,$){return E.H.useInsertionEffect(U,$)},Hr.useLayoutEffect=function(U,$){return E.H.useLayoutEffect(U,$)},Hr.useMemo=function(U,$){return E.H.useMemo(U,$)},Hr.useOptimistic=function(U,$){return E.H.useOptimistic(U,$)},Hr.useReducer=function(U,$,q){return E.H.useReducer(U,$,q)},Hr.useRef=function(U){return E.H.useRef(U)},Hr.useState=function(U){return E.H.useState(U)},Hr.useSyncExternalStore=function(U,$,q){return E.H.useSyncExternalStore(U,$,q)},Hr.useTransition=function(){return E.H.useTransition()},Hr.version="19.2.7",Hr}var J$e;function XN(){return J$e||(J$e=1,sX.exports=LGt()),sX.exports}var g=XN();const Fe=Dl(g),JN=$Gt({__proto__:null,default:Fe},[g]);var aX={exports:{}},aR={},iX={exports:{}},oX={};var eMe;function FGt(){return eMe||(eMe=1,(function(e){function t(H,B){var z=H.length;H.push(B);e:for(;0<z;){var V=z-1>>>1,M=H[V];if(0<s(M,B))H[V]=B,H[z]=M,z=V;else break e}}function n(H){return H.length===0?null:H[0]}function r(H){if(H.length===0)return null;var B=H[0],z=H.pop();if(z!==B){H[0]=z;e:for(var V=0,M=H.length,G=M>>>1;V<G;){var U=2*(V+1)-1,$=H[U],q=U+1,Z=H[q];if(0>s($,z))q<M&&0>s(Z,$)?(H[V]=Z,H[q]=z,V=q):(H[V]=$,H[U]=z,V=U);else if(q<M&&0>s(Z,z))H[V]=Z,H[q]=z,V=q;else break e}}return B}function s(H,B){var z=H.sortIndex-B.sortIndex;return z!==0?z:H.id-B.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var a=performance;e.unstable_now=function(){return a.now()}}else{var i=Date,l=i.now();e.unstable_now=function(){return i.now()-l}}var c=[],u=[],d=1,f=null,p=3,h=!1,m=!1,v=!1,y=!1,b=typeof setTimeout=="function"?setTimeout:null,x=typeof clearTimeout=="function"?clearTimeout:null,S=typeof setImmediate<"u"?setImmediate:null;function k(H){for(var B=n(u);B!==null;){if(B.callback===null)r(u);else if(B.startTime<=H)r(u),B.sortIndex=B.expirationTime,t(c,B);else break;B=n(u)}}function _(H){if(v=!1,k(H),!m)if(n(c)!==null)m=!0,C||(C=!0,R());else{var B=n(u);B!==null&&F(_,B.startTime-H)}}var C=!1,T=-1,E=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<E)}function A(){if(y=!1,C){var H=e.unstable_now();N=H;var B=!0;try{e:{m=!1,v&&(v=!1,x(T),T=-1),h=!0;var z=p;try{t:{for(k(H),f=n(c);f!==null&&!(f.expirationTime>H&&I());){var V=f.callback;if(typeof V=="function"){f.callback=null,p=f.priorityLevel;var M=V(f.expirationTime<=H);if(H=e.unstable_now(),typeof M=="function"){f.callback=M,k(H),B=!0;break t}f===n(c)&&r(c),k(H)}else r(c);f=n(c)}if(f!==null)B=!0;else{var G=n(u);G!==null&&F(_,G.startTime-H),B=!1}}break e}finally{f=null,p=z,h=!1}B=void 0}}finally{B?R():C=!1}}}var R;if(typeof S=="function")R=function(){S(A)};else if(typeof MessageChannel<"u"){var L=new MessageChannel,D=L.port2;L.port1.onmessage=A,R=function(){D.postMessage(null)}}else R=function(){b(A,0)};function F(H,B){T=b(function(){H(e.unstable_now())},B)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(H){H.callback=null},e.unstable_forceFrameRate=function(H){0>H||125<H?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):E=0<H?Math.floor(1e3/H):5},e.unstable_getCurrentPriorityLevel=function(){return p},e.unstable_next=function(H){switch(p){case 1:case 2:case 3:var B=3;break;default:B=p}var z=p;p=B;try{return H()}finally{p=z}},e.unstable_requestPaint=function(){y=!0},e.unstable_runWithPriority=function(H,B){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var z=p;p=H;try{return B()}finally{p=z}},e.unstable_scheduleCallback=function(H,B,z){var V=e.unstable_now();switch(typeof z=="object"&&z!==null?(z=z.delay,z=typeof z=="number"&&0<z?V+z:V):z=V,H){case 1:var M=-1;break;case 2:M=250;break;case 5:M=1073741823;break;case 4:M=1e4;break;default:M=5e3}return M=z+M,H={id:d++,callback:B,priorityLevel:H,startTime:z,expirationTime:M,sortIndex:-1},z>V?(H.sortIndex=z,t(u,H),n(c)===null&&H===n(u)&&(v?(x(T),T=-1):v=!0,F(_,z-V))):(H.sortIndex=M,t(c,H),m||h||(m=!0,C||(C=!0,R()))),H},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(H){var B=p;return function(){var z=p;p=B;try{return H.apply(this,arguments)}finally{p=z}}}})(oX)),oX}var tMe;function zGt(){return tMe||(tMe=1,iX.exports=FGt()),iX.exports}var lX={exports:{}},Tu={};var nMe;function BGt(){if(nMe)return Tu;nMe=1;var e=XN();function t(c){var u="https://react.dev/errors/"+c;if(1<arguments.length){u+="?args[]="+encodeURIComponent(arguments[1]);for(var d=2;d<arguments.length;d++)u+="&args[]="+encodeURIComponent(arguments[d])}return"Minified React error #"+c+"; visit "+u+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},s=Symbol.for("react.portal");function a(c,u,d){var f=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:s,key:f==null?null:""+f,children:c,containerInfo:u,implementation:d}}var i=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(c,u){if(c==="font")return"";if(typeof u=="string")return u==="use-credentials"?u:""}return Tu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,Tu.createPortal=function(c,u){var d=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!u||u.nodeType!==1&&u.nodeType!==9&&u.nodeType!==11)throw Error(t(299));return a(c,u,null,d)},Tu.flushSync=function(c){var u=i.T,d=r.p;try{if(i.T=null,r.p=2,c)return c()}finally{i.T=u,r.p=d,r.d.f()}},Tu.preconnect=function(c,u){typeof c=="string"&&(u?(u=u.crossOrigin,u=typeof u=="string"?u==="use-credentials"?u:"":void 0):u=null,r.d.C(c,u))},Tu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},Tu.preinit=function(c,u){if(typeof c=="string"&&u&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin),p=typeof u.integrity=="string"?u.integrity:void 0,h=typeof u.fetchPriority=="string"?u.fetchPriority:void 0;d==="style"?r.d.S(c,typeof u.precedence=="string"?u.precedence:void 0,{crossOrigin:f,integrity:p,fetchPriority:h}):d==="script"&&r.d.X(c,{crossOrigin:f,integrity:p,fetchPriority:h,nonce:typeof u.nonce=="string"?u.nonce:void 0})}},Tu.preinitModule=function(c,u){if(typeof c=="string")if(typeof u=="object"&&u!==null){if(u.as==null||u.as==="script"){var d=l(u.as,u.crossOrigin);r.d.M(c,{crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0})}}else u==null&&r.d.M(c)},Tu.preload=function(c,u){if(typeof c=="string"&&typeof u=="object"&&u!==null&&typeof u.as=="string"){var d=u.as,f=l(d,u.crossOrigin);r.d.L(c,d,{crossOrigin:f,integrity:typeof u.integrity=="string"?u.integrity:void 0,nonce:typeof u.nonce=="string"?u.nonce:void 0,type:typeof u.type=="string"?u.type:void 0,fetchPriority:typeof u.fetchPriority=="string"?u.fetchPriority:void 0,referrerPolicy:typeof u.referrerPolicy=="string"?u.referrerPolicy:void 0,imageSrcSet:typeof u.imageSrcSet=="string"?u.imageSrcSet:void 0,imageSizes:typeof u.imageSizes=="string"?u.imageSizes:void 0,media:typeof u.media=="string"?u.media:void 0})}},Tu.preloadModule=function(c,u){if(typeof c=="string")if(u){var d=l(u.as,u.crossOrigin);r.d.m(c,{as:typeof u.as=="string"&&u.as!=="script"?u.as:void 0,crossOrigin:d,integrity:typeof u.integrity=="string"?u.integrity:void 0})}else r.d.m(c)},Tu.requestFormReset=function(c){r.d.r(c)},Tu.unstable_batchedUpdates=function(c,u){return c(u)},Tu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},Tu.useFormStatus=function(){return i.H.useHostTransitionStatus()},Tu.version="19.2.7",Tu}var rMe;function Flt(){if(rMe)return lX.exports;rMe=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),lX.exports=BGt(),lX.exports}var sMe;function UGt(){if(sMe)return aR;sMe=1;var e={env:{}};var t=zGt(),n=XN(),r=Flt();function s(w){var O="https://react.dev/errors/"+w;if(1<arguments.length){O+="?args[]="+encodeURIComponent(arguments[1]);for(var j=2;j<arguments.length;j++)O+="&args[]="+encodeURIComponent(arguments[j])}return"Minified React error #"+w+"; visit "+O+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(w){return!(!w||w.nodeType!==1&&w.nodeType!==9&&w.nodeType!==11)}function i(w){var O=w,j=w;if(w.alternate)for(;O.return;)O=O.return;else{w=O;do O=w,(O.flags&4098)!==0&&(j=O.return),w=O.return;while(w)}return O.tag===3?j:null}function l(w){if(w.tag===13){var O=w.memoizedState;if(O===null&&(w=w.alternate,w!==null&&(O=w.memoizedState)),O!==null)return O.dehydrated}return null}function c(w){if(w.tag===31){var O=w.memoizedState;if(O===null&&(w=w.alternate,w!==null&&(O=w.memoizedState)),O!==null)return O.dehydrated}return null}function u(w){if(i(w)!==w)throw Error(s(188))}function d(w){var O=w.alternate;if(!O){if(O=i(w),O===null)throw Error(s(188));return O!==w?null:w}for(var j=w,P=O;;){var W=j.return;if(W===null)break;var Q=W.alternate;if(Q===null){if(P=W.return,P!==null){j=P;continue}break}if(W.child===Q.child){for(Q=W.child;Q;){if(Q===j)return u(W),w;if(Q===P)return u(W),O;Q=Q.sibling}throw Error(s(188))}if(j.return!==P.return)j=W,P=Q;else{for(var ie=!1,Oe=W.child;Oe;){if(Oe===j){ie=!0,j=W,P=Q;break}if(Oe===P){ie=!0,P=W,j=Q;break}Oe=Oe.sibling}if(!ie){for(Oe=Q.child;Oe;){if(Oe===j){ie=!0,j=Q,P=W;break}if(Oe===P){ie=!0,P=Q,j=W;break}Oe=Oe.sibling}if(!ie)throw Error(s(189))}}if(j.alternate!==P)throw Error(s(190))}if(j.tag!==3)throw Error(s(188));return j.stateNode.current===j?w:O}function f(w){var O=w.tag;if(O===5||O===26||O===27||O===6)return w;for(w=w.child;w!==null;){if(O=f(w),O!==null)return O;w=w.sibling}return null}var p=Object.assign,h=Symbol.for("react.element"),m=Symbol.for("react.transitional.element"),v=Symbol.for("react.portal"),y=Symbol.for("react.fragment"),b=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),S=Symbol.for("react.consumer"),k=Symbol.for("react.context"),_=Symbol.for("react.forward_ref"),C=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),E=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),I=Symbol.for("react.activity"),A=Symbol.for("react.memo_cache_sentinel"),R=Symbol.iterator;function L(w){return w===null||typeof w!="object"?null:(w=R&&w[R]||w["@@iterator"],typeof w=="function"?w:null)}var D=Symbol.for("react.client.reference");function F(w){if(w==null)return null;if(typeof w=="function")return w.$$typeof===D?null:w.displayName||w.name||null;if(typeof w=="string")return w;switch(w){case y:return"Fragment";case x:return"Profiler";case b:return"StrictMode";case C:return"Suspense";case T:return"SuspenseList";case I:return"Activity"}if(typeof w=="object")switch(w.$$typeof){case v:return"Portal";case k:return w.displayName||"Context";case S:return(w._context.displayName||"Context")+".Consumer";case _:var O=w.render;return w=w.displayName,w||(w=O.displayName||O.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case E:return O=w.displayName||null,O!==null?O:F(w.type)||"Memo";case N:O=w._payload,w=w._init;try{return F(w(O))}catch{}}return null}var H=Array.isArray,B=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,z=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,V={pending:!1,data:null,method:null,action:null},M=[],G=-1;function U(w){return{current:w}}function $(w){0>G||(w.current=M[G],M[G]=null,G--)}function q(w,O){G++,M[G]=w.current,w.current=O}var Z=U(null),Y=U(null),ne=U(null),J=U(null);function ee(w,O){switch(q(ne,O),q(Y,w),q(Z,null),O.nodeType){case 9:case 11:w=(w=O.documentElement)&&(w=w.namespaceURI)?b$e(w):0;break;default:if(w=O.tagName,O=O.namespaceURI)O=b$e(O),w=x$e(O,w);else switch(w){case"svg":w=1;break;case"math":w=2;break;default:w=0}}$(Z),q(Z,w)}function se(){$(Z),$(Y),$(ne)}function le(w){w.memoizedState!==null&&q(J,w);var O=Z.current,j=x$e(O,w.type);O!==j&&(q(Y,w),q(Z,j))}function X(w){Y.current===w&&($(Z),$(Y)),J.current===w&&($(J),eR._currentValue=V)}var te,re;function fe(w){if(te===void 0)try{throw Error()}catch(j){var O=j.stack.trim().match(/\n( *(at )?)/);te=O&&O[1]||"",re=-1<j.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<j.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+te+w+re}var ce=!1;function Se(w,O){if(!w||ce)return"";ce=!0;var j=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var P={DetermineComponentFrameRoot:function(){try{if(O){var It=function(){throw Error()};if(Object.defineProperty(It.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(It,[])}catch(ht){var lt=ht}Reflect.construct(w,[],It)}else{try{It.call()}catch(ht){lt=ht}w.call(It.prototype)}}else{try{throw Error()}catch(ht){lt=ht}(It=w())&&typeof It.catch=="function"&&It.catch(function(){})}}catch(ht){if(ht&<&&typeof ht.stack=="string")return[ht.stack,lt.stack]}return[null,null]}};P.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var W=Object.getOwnPropertyDescriptor(P.DetermineComponentFrameRoot,"name");W&&W.configurable&&Object.defineProperty(P.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var Q=P.DetermineComponentFrameRoot(),ie=Q[0],Oe=Q[1];if(ie&&Oe){var qe=ie.split(`
|
|
@@ -231,7 +231,7 @@ attempted value: ${i}
|
|
|
231
231
|
\${}
|
|
232
232
|
}
|
|
233
233
|
}`,{label:"class",detail:"definition",type:"keyword"}),nf('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),nf('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],PSt=eOe.concat([nf("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),nf("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),nf("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),K8e=new L0t,$St=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function NR(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const FVn=["FunctionDeclaration"],zVn={FunctionDeclaration:NR("function"),ClassDeclaration:NR("class"),ClassExpression:()=>!0,EnumDeclaration:NR("constant"),TypeAliasDeclaration:NR("type"),NamespaceDeclaration:NR("namespace"),VariableDefinition(e,t){e.matchContext(FVn)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function MSt(e,t){let n=K8e.get(t);if(n)return n;let r=[],s=!0;function a(i,l){let c=e.sliceString(i.from,i.to);r.push({label:c,type:l})}return t.cursor(Da.IncludeAnonymous).iterate(i=>{if(s)s=!1;else if(i.name){let l=zVn[i.name];if(l&&l(i,a)||$St.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of MSt(e,i.node))r.push(l);return!1}}),K8e.set(t,r),r}const BB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,tOe=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function DSt(e){let t=hi(e.state).resolveInner(e.pos,-1);if(tOe.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&BB.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)$St.has(s.name)&&(r=r.concat(MSt(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:BB}}function Zee(e,t,n){var r;let s=[];for(;;){let a=t.firstChild,i;if(a?.name=="VariableName")return s.push(e(a)),{path:s.reverse(),name:n};if(a?.name=="MemberExpression"&&((r=i=a.lastChild)===null||r===void 0?void 0:r.name)=="PropertyName")s.push(e(i)),t=a;else return null}}function LSt(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=hi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?Zee(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?Zee(t,n.parent,""):tOe.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&BB.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?Zee(t,n,""):e.explicit?{path:[],name:""}:null}function BVn(e,t){let n=e,r=[],s=new Set;for(let a=0;;a++){for(let l of(Object.getOwnPropertyNames||Object.keys)(e)){if(!/^[a-zA-Z_$\xaa-\uffdc][\w$\xaa-\uffdc]*$/.test(l)||s.has(l))continue;s.add(l);let c;try{c=n[l]}catch{continue}r.push({label:l,type:typeof c=="function"?/^[A-Z]/.test(l)?"class":t?"function":"method":t?"variable":"property",boost:-a})}let i=Object.getPrototypeOf(e);if(!i)return r;e=i}}function UVn(e){let t=new Map;return n=>{let r=LSt(n);if(!r)return null;let s=e;for(let i of r.path)if(s=s[i],!s)return null;let a=t.get(s);return a||t.set(s,a=BVn(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:BB}}}const tm=qO.define({name:"javascript",parser:LVn.configure({props:[J_.add({IfStatement:nj({except:/^\s*({|else\b)/}),TryStatement:nj({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:M7n,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),r=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:r?1:2)*e.unit},Block:$7n({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":nj({except:/^\s*{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag"(e){return e.column(e.node.from)+e.unit}}),eC.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Pke,BlockComment(e){return{from:e.from+2,to:e.to-2}},JSXElement(e){let t=e.firstChild;if(!t||t.name=="JSXSelfClosingTag")return null;let n=e.lastChild;return{from:t.to,to:n.type.isError?e.to:n.from}},"JSXSelfClosingTag JSXOpenTag"(e){var t;let n=(t=e.firstChild)===null||t===void 0?void 0:t.nextSibling,r=e.lastChild;return!n||n.type.isError?null:{from:n.to,to:r.type.isError?e.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),FSt={test:e=>/^JSX/.test(e.name),facet:tW({commentTokens:{block:{open:"{/*",close:"*/}"}}})},nOe=tm.configure({dialect:"ts"},"typescript"),rOe=tm.configure({dialect:"jsx",props:[Ike.add(e=>e.isTop?[FSt]:void 0)]}),sOe=tm.configure({dialect:"jsx ts",props:[Ike.add(e=>e.isTop?[FSt]:void 0)]},"typescript");let zSt=e=>({label:e,type:"keyword"});const BSt="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(zSt),qVn=BSt.concat(["declare","implements","private","protected","public"].map(zSt));function UB(e={}){let t=e.jsx?e.typescript?sOe:rOe:e.typescript?nOe:tm,n=e.typescript?PSt.concat(qVn):eOe.concat(BSt);return new HO(t,[tm.data.of({autocomplete:wBn(tOe,F1t(n))}),tm.data.of({autocomplete:DSt}),e.jsx?USt:[]])}function VVn(e){for(;;){if(e.name=="JSXOpenTag"||e.name=="JSXSelfClosingTag"||e.name=="JSXFragmentTag")return e;if(e.name=="JSXEscape"||!e.parent)return null;e=e.parent}}function X8e(e,t,n=e.length){for(let r=t?.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return e.sliceString(r.from,Math.min(r.to,n));return""}const HVn=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),USt=Rt.inputHandler.of((e,t,n,r,s)=>{if((HVn?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=">"&&r!="/"||!tm.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u;let{head:d}=c,f=hi(i).resolveInner(d-1,-1),p;if(f.name=="JSXStartTag"&&(f=f.parent),!(i.doc.sliceString(d-1,d)!=r||f.name=="JSXAttributeValue"&&f.to>d)){if(r==">"&&f.name=="JSXFragmentTag")return{range:c,changes:{from:d,insert:"</>"}};if(r=="/"&&f.name=="JSXStartCloseTag"){let h=f.parent,m=h.parent;if(m&&h.from==d-2&&((p=X8e(i.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let v=`${p}>`;return{range:wt.cursor(d+v.length,-1),changes:{from:d,insert:v}}}}else if(r==">"){let h=VVn(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=X8e(i.doc,h,d)))return{range:c,changes:{from:d,insert:`</${p}>`}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)});function WVn(e,t){return t||(t={parserOptions:{ecmaVersion:2019,sourceType:"module"},env:{browser:!0,node:!0,es6:!0,es2015:!0,es2017:!0,es2020:!0},rules:{}},e.getRules().forEach((n,r)=>{var s;!((s=n.meta.docs)===null||s===void 0)&&s.recommended&&(t.rules[r]=2)})),n=>{let{state:r}=n,s=[];for(let{from:a,to:i}of tm.findRegions(r)){let l=r.doc.lineAt(a),c={line:l.number-1,col:a-l.from,pos:a};for(let u of e.verify(r.sliceDoc(a,i),t))s.push(ZVn(u,r.doc,c))}return s}}function J8e(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function ZVn(e,t,n){let r=J8e(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?J8e(e.endLine,e.endColumn,t,n):r,message:e.message,source:e.ruleId?"eslint:"+e.ruleId:"eslint",severity:e.severity==1?"warning":"error"};if(e.fix){let{range:a,text:i}=e.fix,l=a[0]+n.pos-r,c=a[1]+n.pos-r;s.actions=[{name:"fix",apply(u,d){u.dispatch({changes:{from:d+l,to:d+c,insert:i},scrollIntoView:!0})}}]}return s}const cF=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:USt,completionPath:LSt,esLint:WVn,javascript:UB,javascriptLanguage:tm,jsxLanguage:rOe,localCompletionSource:DSt,scopeCompletionSource:UVn,snippets:eOe,tsxLanguage:sOe,typescriptLanguage:nOe,typescriptSnippets:PSt},Symbol.toStringTag,{value:"Module"})),IR=["_blank","_self","_top","_parent"],Gee=["ascii","utf-8","utf-16","latin1","latin1"],Qee=["get","post","put","delete"],Yee=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],op=["true","false"],Jn={},GVn={a:{attrs:{href:null,ping:null,type:null,media:null,target:IR,hreflang:null}},abbr:Jn,address:Jn,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Jn,aside:Jn,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Jn,base:{attrs:{href:null,target:IR}},bdi:Jn,bdo:Jn,blockquote:{attrs:{cite:null}},body:Jn,br:Jn,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Yee,formmethod:Qee,formnovalidate:["novalidate"],formtarget:IR,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Jn,center:Jn,cite:Jn,code:Jn,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Jn,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Jn,div:Jn,dl:Jn,dt:Jn,em:Jn,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Jn,figure:Jn,footer:Jn,form:{attrs:{action:null,name:null,"accept-charset":Gee,autocomplete:["on","off"],enctype:Yee,method:Qee,novalidate:["novalidate"],target:IR}},h1:Jn,h2:Jn,h3:Jn,h4:Jn,h5:Jn,h6:Jn,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Jn,hgroup:Jn,hr:Jn,html:{attrs:{manifest:null}},i:Jn,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Yee,formmethod:Qee,formnovalidate:["novalidate"],formtarget:IR,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Jn,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Jn,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Jn,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Gee,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Jn,noscript:Jn,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Jn,param:{attrs:{name:null,value:null}},pre:Jn,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Jn,rt:Jn,ruby:Jn,samp:Jn,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Gee}},section:Jn,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Jn,source:{attrs:{src:null,type:null,media:null}},span:Jn,strong:Jn,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Jn,summary:Jn,sup:Jn,table:Jn,tbody:Jn,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Jn,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Jn,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Jn,time:{attrs:{datetime:null}},title:Jn,tr:Jn,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Jn,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Jn},qSt={accesskey:null,class:null,contenteditable:op,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:op,autocorrect:op,autocapitalize:op,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":op,"aria-autocomplete":["inline","list","both","none"],"aria-busy":op,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":op,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":op,"aria-hidden":op,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":op,"aria-multiselectable":op,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":op,"aria-relevant":null,"aria-required":op,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},VSt="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>"on"+e);for(let e of VSt)qSt[e]=null;class CM{constructor(t,n){this.tags={...GVn,...t},this.globalAttrs={...qSt,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}CM.default=new CM;function tN(e,t,n=e.length){if(!t)return"";let r=t.firstChild,s=r&&r.getChild("TagName");return s?e.sliceString(s.from,Math.min(s.to,n)):""}function nN(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function HSt(e,t,n){let r=n.tags[tN(e,nN(t))];return r?.children||n.allTags}function aOe(e,t){let n=[];for(let r=nN(t);r&&!r.type.isTop;r=nN(r.parent)){let s=tN(e,r);if(s&&r.lastChild.name=="CloseTag")break;s&&n.indexOf(s)<0&&(t.name=="EndTag"||t.from>=r.firstChild.to)&&n.push(s)}return n}const WSt=/^[:\-\.\w\u00b7-\uffff]*$/;function e9e(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=nN(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:HSt(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(aOe(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function t9e(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:aOe(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:WSt}}function QVn(e,t,n,r){let s=[],a=0;for(let i of HSt(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of aOe(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function YVn(e,t,n,r,s){let a=nN(n),i=a?t.tags[tN(e.doc,a)]:null,l=i&&i.attrs?Object.keys(i.attrs):[],c=i&&i.globalAttrs===!1?l:l.length?l.concat(t.globalAttrNames):t.globalAttrNames;return{from:r,to:s,options:c.map(u=>({label:u,type:"property"})),validFor:WSt}}function KVn(e,t,n,r,s){var a;let i=(a=n.parent)===null||a===void 0?void 0:a.getChild("AttributeName"),l=[],c;if(i){let u=e.sliceDoc(i.from,i.to),d=t.globalAttrs[u];if(!d){let f=nN(n),p=f?t.tags[tN(e.doc,f)]:null;d=p?.attrs&&p.attrs[u]}if(d){let f=e.sliceDoc(r,s).toLowerCase(),p='"',h='"';/^['"]/.test(f)?(c=f[0]=='"'?/^[^"]*$/:/^[^']*$/,p="",h=e.sliceDoc(s,s+1)==f[0]?"":f[0],f=f.slice(1),r++):c=/^[^\s<>='"]*$/;for(let m of d)l.push({label:m,apply:p+m+h,type:"constant"})}}return{from:r,to:s,options:l,validFor:c}}function ZSt(e,t){let{state:n,pos:r}=t,s=hi(n).resolveInner(r,-1),a=s.resolve(r);for(let i=r,l;a==s&&(l=s.childBefore(i));){let c=l.lastChild;if(!c||!c.type.isError||c.from<c.to)break;a=s=l,i=c.from}return s.name=="TagName"?s.parent&&/CloseTag$/.test(s.parent.name)?t9e(n,s,s.from,r):e9e(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?e9e(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?t9e(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?YVn(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?KVn(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?QVn(n,e,s,r):null}function XVn(e){return ZSt(CM.default,e)}function JVn(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new CM(t,n):CM.default;return s=>ZSt(r,s)}const eHn=tm.parser.configure({top:"SingleExpression"}),GSt=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:nOe.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:rOe.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:sOe.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:eHn},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:tm.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:zB.parser}],QSt=[{name:"style",parser:zB.parser.configure({top:"Styles"})}].concat(VSt.map(e=>({name:e,parser:tm.parser}))),YSt=qO.define({name:"html",parser:_qn.configure({props:[J_.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag"(e){return e.column(e.node.from)+e.unit},Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t=null,n;for(let r=e.node;;){let s=r.lastChild;if(!s||s.name!="Element"||s.to!=r.to)break;t=r=s}return t&&!((n=t.lastChild)&&(n.name=="CloseTag"||n.name=="SelfClosingTag"))?e.lineIndent(t.from)+e.unit:null}}),eC.add({Element(e){let t=e.firstChild,n=e.lastChild;return!t||t.name!="OpenTag"?null:{from:t.to,to:n.name=="CloseTag"?n.from:e.to}}}),A1t.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),U8=YSt.configure({wrap:ESt(GSt,QSt)});function tHn(e={}){let t="",n;e.matchClosingTags===!1&&(t="noMatch"),e.selfClosingTags===!0&&(t=(t?t+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(n=ESt((e.nestedLanguages||[]).concat(GSt),(e.nestedAttributes||[]).concat(QSt)));let r=n?YSt.configure({wrap:n,dialect:t}):t?U8.configure({dialect:t}):U8;return new HO(r,[U8.data.of({autocomplete:JVn(e)}),e.autoCloseTags!==!1?nHn:[],UB().support,oVn().support])}const n9e=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),nHn=Rt.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!U8.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u,d,f;let p=i.doc.sliceString(c.from-1,c.to)==r,{head:h}=c,m=hi(i).resolveInner(h,-1),v;if(p&&r==">"&&m.name=="EndTag"){let y=m.parent;if(((d=(u=y.parent)===null||u===void 0?void 0:u.lastChild)===null||d===void 0?void 0:d.name)!="CloseTag"&&(v=tN(i.doc,y.parent,h))&&!n9e.has(v)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`</${v}>`;return{range:c,changes:{from:h,to:b,insert:x}}}}else if(p&&r=="/"&&m.name=="IncompleteCloseTag"){let y=m.parent;if(m.from==h-2&&((f=y.lastChild)===null||f===void 0?void 0:f.name)!="CloseTag"&&(v=tN(i.doc,y,h))&&!n9e.has(v)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`${v}>`;return{range:wt.cursor(h+x.length,-1),changes:{from:h,to:b,insert:x}}}}return{range:c}});return l.changes.empty?!1:(e.dispatch([a,i.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),KSt=tW({commentTokens:{block:{open:"<!--",close:"-->"}}}),XSt=new Rr,JSt=EUn.configure({props:[eC.add(e=>!e.is("Block")||e.is("Document")||ave(e)!=null||rHn(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),XSt.add(ave),J_.add({Document:()=>null}),Pw.add({Document:KSt})]});function ave(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function rHn(e){return e.name=="OrderedList"||e.name=="BulletList"}function sHn(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=ave(r.type))!=null&&s<=t)break;n=r}return n.to}const aHn=x1t.of((e,t,n)=>{for(let r=hi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(XSt);if(s==null)continue;let a=sHn(r,s);if(a>n)return{from:n,to:a}}return null});function iOe(e){return new Ep(KSt,e,[],"markdown")}const ekt=iOe(JSt),iHn=JSt.configure([LUn,zUn,FUn,BUn,{props:[eC.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),GO=iOe(iHn);function oHn(e,t){return n=>{if(n&&e){let r=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?r=e(n):r=cg.matchLanguageName(e,n,!0),r instanceof cg)return r.support?r.support.language.parser:VO.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class Kee{constructor(t,n,r,s,a,i,l){this.node=t,this.from=n,this.to=r,this.spaceBefore=s,this.spaceAfter=a,this.type=i,this.item=l}blank(t,n=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(t!=null){for(;r.length<t;)r+=" ";return r}else{for(let s=this.to-this.from-r.length-this.spaceAfter.length;s>0;s--)r+=" ";return r+(n?this.spaceAfter:"")}}marker(t,n){let r=this.node.name=="OrderedList"?String(+nkt(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function tkt(e,t){let n=[],r=[];for(let s=e;s;s=s.parent){if(s.name=="FencedCode")return r;(s.name=="ListItem"||s.name=="Blockquote")&&n.push(s)}for(let s=n.length-1;s>=0;s--){let a=n[s],i,l=t.lineAt(a.from),c=a.from-l.from;if(a.name=="Blockquote"&&(i=/^ *>( ?)/.exec(l.text.slice(c))))r.push(new Kee(a,c,c+i[0].length,"",i[1],">",null));else if(a.name=="ListItem"&&a.parent.name=="OrderedList"&&(i=/^( *)\d+([.)])( *)/.exec(l.text.slice(c)))){let u=i[3],d=i[0].length;u.length>=4&&(u=u.slice(0,u.length-4),d-=4),r.push(new Kee(a.parent,c,c+d,i[1],u,i[2],a))}else if(a.name=="ListItem"&&a.parent.name=="BulletList"&&(i=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(c)))){let u=i[4],d=i[0].length;u.length>4&&(u=u.slice(0,u.length-4),d-=4);let f=i[2];i[3]&&(f+=i[3].replace(/[xX]/," ")),r.push(new Kee(a.parent,c,c+d,i[1],u,f,a))}}return r}function nkt(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Xee(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=nkt(a,t),c=+l[2];if(s>=0){if(c!=s+1)return;n.push({from:a.from+l[1].length,to:a.from+l[0].length,insert:String(s+2+r)})}s=c}let i=a.nextSibling;if(!i)break;a=i}}function oOe(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(wI)!=" ")return e;let r=zg(e,4,n),s="";for(let a=r;a>0;)a>=4?(s+=" ",a-=4):(s+=" ",a--);return s+e.slice(n)}const rkt=(e={})=>({state:t,dispatch:n})=>{let r=hi(t),{doc:s}=t,a=null,i=t.changeByRange(l=>{if(!l.empty||!GO.isActiveAt(t,l.from,-1)&&!GO.isActiveAt(t,l.from,1))return a={range:l};let c=l.from,u=s.lineAt(c),d=tkt(r.resolveInner(c,-1),s);for(;d.length&&d[d.length-1].from>c-u.from;)d.pop();if(!d.length)return a={range:l};let f=d[d.length-1];if(f.to-f.spaceAfter.length>c-u.from)return a={range:l};let p=c>=f.to-f.spaceAfter.length&&!/\S/.test(u.text.slice(f.to));if(f.item&&p){let b=f.node.firstChild,x=f.node.getChild("ListItem","ListItem");if(b.to>=c||x&&x.to<c||u.from>0&&!/[^\s>]/.test(s.lineAt(u.from-1).text)||e.nonTightLists===!1){let S=d.length>1?d[d.length-2]:null,k,_="";S&&S.item?(k=u.from+S.from,_=S.marker(s,1)):k=u.from+(S?S.to:0);let C=[{from:k,to:c,insert:_}];return f.node.name=="OrderedList"&&Xee(f.item,s,C,-2),S&&S.node.name=="OrderedList"&&Xee(S.item,s,C),{range:wt.cursor(k+_.length),changes:C}}else{let S=s9e(d,t,u);return{range:wt.cursor(c+S.length+1),changes:{from:u.from,insert:S+t.lineBreak}}}}if(f.node.name=="Blockquote"&&p&&u.from){let b=s.lineAt(u.from-1),x=/>\s*$/.exec(b.text);if(x&&x.index==f.from){let S=t.changes([{from:b.from+x.index,to:b.to},{from:u.from+f.from,to:u.to}]);return{range:l.map(S),changes:S}}}let h=[];f.node.name=="OrderedList"&&Xee(f.item,s,h);let m=f.item&&f.item.from<u.from,v="";if(!m||/^[\s\d.)\-+*>]*/.exec(u.text)[0].length>=f.to)for(let b=0,x=d.length-1;b<=x;b++)v+=b==x&&!m?d[b].marker(s,1):d[b].blank(b<x?zg(u.text,4,d[b+1].from)-v.length:null);let y=c;for(;y>u.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return v=oOe(v,t),lHn(f.node,t.doc)&&(v=s9e(d,t,u)+t.lineBreak+v),h.push({from:y,to:c,insert:t.lineBreak+v}),{range:wt.cursor(y+v.length+1),changes:h}});return a?!1:(n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)},skt=rkt();function r9e(e){return e.name=="QuoteMark"||e.name=="ListMark"}function lHn(e,t){if(e.name!="OrderedList"&&e.name!="BulletList")return!1;let n=e.firstChild,r=e.getChild("ListItem","ListItem");if(!r)return!1;let s=t.lineAt(n.to),a=t.lineAt(r.from),i=/^[\s>]*$/.test(s.text);return s.number+(i?0:1)<a.number}function s9e(e,t,n){let r="";for(let s=0,a=e.length-2;s<=a;s++)r+=e[s].blank(s<a?zg(n.text,4,e[s+1].from)-r.length:null,s<a);return oOe(r,t)}function cHn(e,t){let n=e.resolveInner(t,-1),r=t;r9e(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(r9e(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const akt=({state:e,dispatch:t})=>{let n=hi(e),r=null,s=e.changeByRange(a=>{let i=a.from,{doc:l}=e;if(a.empty&&GO.isActiveAt(e,a.from)){let c=l.lineAt(i),u=tkt(cHn(n,i),l);if(u.length){let d=u[u.length-1],f=d.to-d.spaceAfter.length+(d.spaceAfter?1:0);if(i-c.from>f&&!/\S/.test(c.text.slice(f,i-c.from)))return{range:wt.cursor(c.from+f),changes:{from:c.from+f,to:i}};if(i-c.from==f&&(!d.item||c.from<=d.item.from||!/\S/.test(c.text.slice(0,d.to)))){let p=c.from+d.from;if(d.item&&d.node.from<d.item.from&&/\S/.test(c.text.slice(d.from,d.to))){let h=d.blank(zg(c.text,4,d.to)-zg(c.text,4,d.from));return p==c.from&&(h=oOe(h,e)),{range:wt.cursor(p+h.length),changes:{from:p,to:c.from+d.to,insert:h}}}if(p<i)return{range:wt.cursor(p),changes:{from:p,to:i}}}}}return r={range:a}});return r?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)},ikt=[{key:"Enter",run:skt},{key:"Backspace",run:akt}],okt=tHn({matchClosingTags:!1});function lOe(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=ekt,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=okt}=e;if(!(s instanceof aW))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,aHn],d;i&&u.push(lkt),n instanceof HO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?oHn(t,d):void 0;c.push(jUn({codeParser:f,htmlParser:l.language.parser})),r&&u.push(Jp.high(xI.of(ikt)));let p=iOe(s.configure(c));return a&&u.push(p.data.of({autocomplete:uHn})),new HO(p,u)}function uHn(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let s=hi(t).resolveInner(n,-1);for(;s&&!s.type.isTop;){if(s.name=="CodeBlock"||s.name=="FencedCode"||s.name=="ProcessingInstructionBlock"||s.name=="CommentBlock"||s.name=="Link"||s.name=="Image")return null;s=s.parent}return{from:n-r[0].length,to:n,options:dHn(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let Jee=null;function dHn(){if(Jee)return Jee;let e=XVn(new Lke(hs.create({extensions:okt}),0,!0));return Jee=e?e.options:[]}const fHn=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,lkt=Rt.domEventHandlers({paste:(e,t)=>{var n;let{main:r}=t.state.selection;if(r.empty)return!1;let s=(n=e.clipboardData)===null||n===void 0?void 0:n.getData("text/plain");if(!s||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(s)||(/^www\./.test(s)&&(s="https://"+s),!GO.isActiveAt(t.state,r.from,1)))return!1;let a=hi(t.state),i=!1;return a.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||fHn.test(l.name))&&(i=!0)},leave:l=>{l.to<r.to&&(i=!0)}}),i?!1:(t.dispatch({changes:[{from:r.from,insert:"["},{from:r.to,insert:`](${s})`}],userEvent:"input.paste",scrollIntoView:!0}),!0)}}),pHn=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:ekt,deleteMarkupBackward:akt,insertNewlineContinueMarkup:skt,insertNewlineContinueMarkupCommand:rkt,markdown:lOe,markdownKeymap:ikt,markdownLanguage:GO,pasteURLAsLink:lkt},Symbol.toStringTag,{value:"Module"}));function QO(){return QO=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},QO.apply(null,arguments)}var hHn=e=>{var t=e.theme,n=e.settings,r=n===void 0?{}:n,s=e.styles,a=s===void 0?[]:s,i={".cm-gutters":{}},l={};r.background&&(l.backgroundColor=r.background),r.backgroundImage&&(l.backgroundImage=r.backgroundImage),r.foreground&&(l.color=r.foreground),r.fontSize&&(l.fontSize=r.fontSize),(r.background||r.foreground)&&(i["&"]=l),r.fontFamily&&(i["&.cm-editor .cm-scroller"]={fontFamily:r.fontFamily}),r.gutterBackground&&(i[".cm-gutters"].backgroundColor=r.gutterBackground),r.gutterForeground&&(i[".cm-gutters"].color=r.gutterForeground),r.gutterBorder&&(i[".cm-gutters"].borderRightColor=r.gutterBorder),r.caret&&(i[".cm-content"]={caretColor:r.caret},i[".cm-cursor, .cm-dropCursor"]={borderLeftColor:r.caret});var c={};r.gutterActiveForeground&&(c.color=r.gutterActiveForeground),r.lineHighlight&&(i[".cm-activeLine"]={backgroundColor:r.lineHighlight},c.backgroundColor=r.lineHighlight),i[".cm-activeLineGutter"]=c,r.selection&&(i["&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection"]={background:r.selection+" !important"}),r.selectionMatch&&(i["& .cm-selectionMatch"]={backgroundColor:r.selectionMatch});var u=Rt.theme(i,{dark:t==="dark"}),d=Qg.define(a),f=[u,rS(d)];return f},mHn={background:"#282a36",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"rgba(255, 255, 255, 0.1)",selectionMatch:"rgba(255, 255, 255, 0.2)",gutterBackground:"#282a36",gutterForeground:"#6D8A88",gutterBorder:"transparent",lineHighlight:"rgba(255, 255, 255, 0.1)"},gHn=[{tag:de.comment,color:"#6272a4"},{tag:de.string,color:"#f1fa8c"},{tag:de.atom,color:"#bd93f9"},{tag:de.meta,color:"#f8f8f2"},{tag:[de.keyword,de.operator,de.tagName],color:"#ff79c6"},{tag:[de.function(de.propertyName),de.propertyName],color:"#66d9ef"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"#50fa7b"},{tag:de.atom,color:"#bd93f9"}],kI=e=>{var t=e||{},n=t.theme,r=n===void 0?"dark":n,s=t.settings,a=s===void 0?{}:s,i=t.styles,l=i===void 0?[]:i;return hHn({theme:r,settings:QO({},mHn,a),styles:[...gHn,...l]})};kI();function ckt(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}const vHn=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=uOe(e.state,n.from);return r.line?yHn(e):r.block?xHn(e):!1};function cOe(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let s=e(t,n);return s?(r(n.update(s)),!0):!1}}const yHn=cOe(kHn,0),bHn=cOe(ukt,0),xHn=cOe((e,t)=>ukt(e,t,SHn(t)),0);function uOe(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const AR=50;function wHn(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-AR,r),i=e.sliceDoc(s,s+AR),l=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(i)[0].length,u=a.length-l;if(a.slice(u-t.length,u)==t&&i.slice(c,c+n.length)==n)return{open:{pos:r-l,margin:l&&1},close:{pos:s+c,margin:c&&1}};let d,f;s-r<=2*AR?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+AR),f=e.sliceDoc(s-AR,s));let p=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(f)[0].length,m=f.length-h-n.length;return d.slice(p,p+t.length)==t&&f.slice(m,m+n.length)==n?{open:{pos:r+p+t.length,margin:/\s/.test(d.charAt(p+t.length))?1:0},close:{pos:s-h-n.length,margin:/\s/.test(f.charAt(m-1))?1:0}}:null}function SHn(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),s=n.to<=r.to?r:e.doc.lineAt(n.to);s.from>r.from&&s.from==n.to&&(s=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=s.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return t}function ukt(e,t,n=t.selection.ranges){let r=n.map(a=>uOe(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>wHn(t,r[i],a.from,a.to));if(e!=2&&!s.every(a=>a))return{changes:t.changes(n.map((a,i)=>s[i]?[]:[{from:a.from,insert:r[i].open+" "},{from:a.to,insert:" "+r[i].close}]))};if(e!=1&&s.some(a=>a)){let a=[];for(let i=0,l;i<s.length;i++)if(l=s[i]){let c=r[i],{open:u,close:d}=l;a.push({from:u.pos-c.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+c.close.length})}return{changes:a}}return null}function kHn(e,t,n=t.selection.ranges){let r=[],s=-1;e:for(let{from:a,to:i}of n){let l=r.length,c=1e9,u;for(let d=a;d<=i;){let f=t.doc.lineAt(d);if(u==null&&(u=uOe(t,f.from).line,!u))continue e;if(f.from>s&&(a==i||i>f.from)){s=f.from;let p=/^\s*/.exec(f.text)[0].length,h=p==f.length,m=f.text.slice(p,p+u.length)==u?p:-1;p<f.text.length&&p<c&&(c=p),r.push({line:f,comment:m,token:u,indent:p,empty:h,single:!1})}d=f.to+1}if(c<1e9)for(let d=l;d<r.length;d++)r[d].indent<r[d].line.text.length&&(r[d].indent=c);r.length==l+1&&(r[l].single=!0)}if(e!=2&&r.some(a=>a.comment<0&&(!a.empty||a.single))){let a=[];for(let{line:l,token:c,indent:u,empty:d,single:f}of r)(f||!d)&&a.push({from:l.from+u,insert:c+" "});let i=t.changes(a);return{changes:i,selection:t.selection.map(i,1)}}else if(e!=1&&r.some(a=>a.comment>=0)){let a=[];for(let{line:i,comment:l,token:c}of r)if(l>=0){let u=i.from+l,d=u+c.length;i.text[d-i.from]==" "&&d++,a.push({from:u,to:d})}return{changes:a}}return null}const ive=Ly.define(),OHn=Ly.define(),_Hn=kn.define(),dkt=kn.define({combine(e){return Fy(e,{minDepth:100,newGroupDelay:500,joinToEvent:(t,n)=>n},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(t,n)=>(r,s)=>t(r,s)||n(r,s)})}}),fkt=vl.define({create(){return Kv.empty},update(e,t){let n=t.state.facet(dkt),r=t.annotation(ive);if(r){let c=bf.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=qB(d,d.length,n.minDepth,c):d=mkt(d,t.startState.selection),new Kv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(OHn);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation(jl.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=bf.fromTransaction(t),i=t.annotation(jl.time),l=t.annotation(jl.userEvent);return a?e=e.addChanges(a,i,l,n,t):t.selection&&(e=e.addSelection(t.startState.selection,i,l,n.newGroupDelay)),(s=="full"||s=="after")&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(t=>t.toJSON()),undone:e.undone.map(t=>t.toJSON())}},fromJSON(e){return new Kv(e.done.map(bf.fromJSON),e.undone.map(bf.fromJSON))}});function CHn(e={}){return[fkt,dkt.of(e),Rt.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?pkt:t.inputType=="historyRedo"?ove:null;return r?(t.preventDefault(),r(n)):!1}})]}function iW(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(fkt,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const pkt=iW(0,!1),ove=iW(1,!1),EHn=iW(0,!0),THn=iW(1,!0);class bf{constructor(t,n,r,s,a){this.changes=t,this.effects=n,this.mapped=r,this.startSelection=s,this.selectionsAfter=a}setSelAfter(t){return new bf(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){var t,n,r;return{changes:(t=this.changes)===null||t===void 0?void 0:t.toJSON(),mapped:(n=this.mapped)===null||n===void 0?void 0:n.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(t){return new bf(t.changes&&El.fromJSON(t.changes),[],t.mapped&&ly.fromJSON(t.mapped),t.startSelection&&wt.fromJSON(t.startSelection),t.selectionsAfter.map(wt.fromJSON))}static fromTransaction(t,n){let r=Vh;for(let s of t.startState.facet(_Hn)){let a=s(t);a.length&&(r=r.concat(a))}return!r.length&&t.changes.empty?null:new bf(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,Vh)}static selection(t){return new bf(void 0,Vh,void 0,void 0,t)}}function qB(e,t,n,r){let s=t+1>n+20?t-n-1:0,a=e.slice(s,t);return a.push(r),a}function jHn(e,t){let n=[],r=!1;return e.iterChangedRanges((s,a)=>n.push(s,a)),t.iterChangedRanges((s,a,i,l)=>{for(let c=0;c<n.length;){let u=n[c++],d=n[c++];l>=u&&i<=d&&(r=!0)}}),r}function NHn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function hkt(e,t){return e.length?t.length?e.concat(t):e:t}const Vh=[],IHn=200;function mkt(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-IHn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),qB(e,e.length-1,1e9,n.setSelAfter(r)))}else return[bf.selection([t])]}function AHn(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function ete(e,t){if(!e.length)return e;let n=e.length,r=Vh;for(;n;){let s=RHn(e[n-1],t,r);if(s.changes&&!s.changes.empty||s.effects.length){let a=e.slice(0,n);return a[n-1]=s,a}else t=s.mapped,n--,r=s.selectionsAfter}return r.length?[bf.selection(r)]:Vh}function RHn(e,t,n){let r=hkt(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):Vh,n);if(!e.changes)return bf.selection(r);let s=e.changes.map(t),a=t.mapDesc(e.changes,!0),i=e.mapped?e.mapped.composeDesc(a):a;return new bf(s,dr.mapEffects(e.effects,t),i,e.startSelection.map(a),r)}const PHn=/^(input\.type|delete)($|\.)/;class Kv{constructor(t,n,r=0,s=void 0){this.done=t,this.undone=n,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Kv(this.done,this.undone):this}addChanges(t,n,r,s,a){let i=this.done,l=i[i.length-1];return l&&l.changes&&!l.changes.empty&&t.changes&&(!r||PHn.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,jHn(l.changes,t.changes))||r=="input.type.compose")?i=qB(i,i.length-1,s.minDepth,new bf(t.changes.compose(l.changes),hkt(dr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,Vh)):i=qB(i,i.length,s.minDepth,t),new Kv(i,Vh,n,r)}addSelection(t,n,r,s){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:Vh;return a.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&NHn(a[a.length-1],t)?this:new Kv(mkt(this.done,t),this.undone,n,r)}addMapping(t){return new Kv(ete(this.done,t),ete(this.undone,t),this.prevTime,this.prevUserEvent)}pop(t,n,r){let s=t==0?this.done:this.undone;if(s.length==0)return null;let a=s[s.length-1],i=a.selectionsAfter[0]||(a.startSelection?a.startSelection.map(a.changes.invertedDesc,1):n.selection);if(r&&a.selectionsAfter.length)return n.update({selection:a.selectionsAfter[a.selectionsAfter.length-1],annotations:ive.of({side:t,rest:AHn(s),selection:i}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(a.changes){let l=s.length==1?Vh:s.slice(0,s.length-1);return a.mapped&&(l=ete(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:ive.of({side:t,rest:l,selection:i}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}Kv.empty=new Kv(Vh,Vh);const $Hn=[{key:"Mod-z",run:pkt,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:ove,preventDefault:!0},{linux:"Ctrl-Shift-z",run:ove,preventDefault:!0},{key:"Mod-u",run:EHn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:THn,preventDefault:!0}];function OI(e,t){return wt.create(e.ranges.map(t),e.mainIndex)}function Yg(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Kg({state:e,dispatch:t},n){let r=OI(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Yg(e,r)),!0)}function oW(e,t){return wt.cursor(t?e.to:e.from)}function gkt(e,t){return Kg(e,n=>n.empty?e.moveByChar(n,t):oW(n,t))}function sd(e){return e.textDirectionAt(e.state.selection.main.head)==ki.LTR}const vkt=e=>gkt(e,!sd(e)),ykt=e=>gkt(e,sd(e));function bkt(e,t){return Kg(e,n=>n.empty?e.moveByGroup(n,t):oW(n,t))}const MHn=e=>bkt(e,!sd(e)),DHn=e=>bkt(e,sd(e));function LHn(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function lW(e,t,n){let r=hi(e).resolveInner(t.head),s=n?Rr.closedBy:Rr.openedBy;for(let c=t.head;;){let u=n?r.childAfter(c):r.childBefore(c);if(!u)break;LHn(e,u,s)?r=u:c=n?u.to:u.from}let a=r.type.prop(s),i,l;return a&&(i=n?Yv(e,r.from,1):Yv(e,r.to,-1))&&i.matched?l=n?i.end.to:i.end.from:l=n?r.to:r.from,wt.cursor(l,n?-1:1)}const FHn=e=>Kg(e,t=>lW(e.state,t,!sd(e))),zHn=e=>Kg(e,t=>lW(e.state,t,sd(e)));function xkt(e,t){return Kg(e,n=>{if(!n.empty)return oW(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const wkt=e=>xkt(e,!1),Skt=e=>xkt(e,!0);function kkt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let a of e.state.facet(Rt.scrollMargins)){let i=a(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}s=e.scrollDOM.clientHeight-n-r}else s=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,s-5)}}function Okt(e,t){let n=kkt(e),{state:r}=e,s=OI(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):oW(i,t));if(s.eq(r.selection))return!1;let a;if(n.selfScroll){let i=e.coordsAtPos(r.selection.main.head),l=e.scrollDOM.getBoundingClientRect(),c=l.top+n.marginTop,u=l.bottom-n.marginBottom;i&&i.top>c&&i.bottom<u&&(a=Rt.scrollIntoView(s.main.head,{y:"start",yMargin:i.top-c}))}return e.dispatch(Yg(r,s),{effects:a}),!0}const a9e=e=>Okt(e,!1),lve=e=>Okt(e,!0);function sS(e,t,n){let r=e.lineBlockAt(t.head),s=e.moveToLineBoundary(t,n);if(s.head==t.head&&s.head!=(n?r.to:r.from)&&(s=e.moveToLineBoundary(t,n,!1)),!n&&s.head==r.from&&r.length){let a=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;a&&t.head!=r.from+a&&(s=wt.cursor(r.from+a))}return s}const BHn=e=>Kg(e,t=>sS(e,t,!0)),UHn=e=>Kg(e,t=>sS(e,t,!1)),qHn=e=>Kg(e,t=>sS(e,t,!sd(e))),VHn=e=>Kg(e,t=>sS(e,t,sd(e))),HHn=e=>Kg(e,t=>wt.cursor(e.lineBlockAt(t.head).from,1)),WHn=e=>Kg(e,t=>wt.cursor(e.lineBlockAt(t.head).to,-1));function ZHn(e,t,n){let r=!1,s=OI(e.selection,a=>{let i=Yv(e,a.head,-1)||Yv(e,a.head,1)||a.head>0&&Yv(e,a.head-1,1)||a.head<e.doc.length&&Yv(e,a.head+1,-1);if(!i||!i.end)return a;r=!0;let l=i.start.from==a.head?i.end.to:i.end.from;return wt.cursor(l)});return r?(t(Yg(e,s)),!0):!1}const GHn=({state:e,dispatch:t})=>ZHn(e,t);function Am(e,t,n){let r=OI(e.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=t&&(s=wt.range(s.head,s.anchor));let a=n(s);return wt.range(s.anchor,a.head,a.goalColumn,a.bidiLevel||void 0,a.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(Yg(e.state,r)),!0)}function _kt(e,t){return Am(e,t,n=>e.moveByChar(n,t))}const Ckt=e=>_kt(e,!sd(e)),Ekt=e=>_kt(e,sd(e));function Tkt(e,t){return Am(e,t,n=>e.moveByGroup(n,t))}const QHn=e=>Tkt(e,!sd(e)),YHn=e=>Tkt(e,sd(e)),KHn=e=>{let t=!sd(e);return Am(e,t,n=>lW(e.state,n,t))},XHn=e=>{let t=sd(e);return Am(e,t,n=>lW(e.state,n,t))};function jkt(e,t){return Am(e,t,n=>e.moveVertically(n,t))}const Nkt=e=>jkt(e,!1),Ikt=e=>jkt(e,!0);function Akt(e,t){return Am(e,t,n=>e.moveVertically(n,t,kkt(e).height))}const i9e=e=>Akt(e,!1),o9e=e=>Akt(e,!0),JHn=e=>Am(e,!0,t=>sS(e,t,!0)),eWn=e=>Am(e,!1,t=>sS(e,t,!1)),tWn=e=>{let t=!sd(e);return Am(e,t,n=>sS(e,n,t))},nWn=e=>{let t=sd(e);return Am(e,t,n=>sS(e,n,t))},rWn=e=>Am(e,!1,t=>wt.cursor(e.lineBlockAt(t.head).from)),sWn=e=>Am(e,!0,t=>wt.cursor(e.lineBlockAt(t.head).to)),l9e=({state:e,dispatch:t})=>(t(Yg(e,{anchor:0})),!0),c9e=({state:e,dispatch:t})=>(t(Yg(e,{anchor:e.doc.length})),!0),u9e=({state:e,dispatch:t})=>(t(Yg(e,{anchor:e.selection.main.anchor,head:0})),!0),d9e=({state:e,dispatch:t})=>(t(Yg(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),aWn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),iWn=({state:e,dispatch:t})=>{let n=cW(e).map(({from:r,to:s})=>wt.range(r,Math.min(s+1,e.doc.length)));return t(e.update({selection:wt.create(n),userEvent:"select"})),!0},oWn=({state:e,dispatch:t})=>{let n=OI(e.selection,r=>{let s=hi(e),a=s.resolveStack(r.from,1);if(r.empty){let i=s.resolveStack(r.from,-1);i.node.from>=a.node.from&&i.node.to<=a.node.to&&(a=i)}for(let i=a;i;i=i.next){let{node:l}=i;if((l.from<r.from&&l.to>=r.to||l.to>r.to&&l.from<=r.from)&&i.next)return wt.range(l.to,l.from)}return r});return n.eq(e.selection)?!1:(t(Yg(e,n)),!0)};function Rkt(e,t){let{state:n}=e,r=n.selection,s=n.selection.ranges.slice();for(let a of n.selection.ranges){let i=n.doc.lineAt(a.head);if(t?i.to<e.state.doc.length:i.from>0)for(let l=a;;){let c=e.moveVertically(l,t);if(c.head<i.from||c.head>i.to){s.some(u=>u.head==c.head)||s.push(c);break}else{if(c.head==l.head)break;l=c}}}return s.length==r.ranges.length?!1:(e.dispatch(Yg(n,wt.create(s,s.length-1))),!0)}const lWn=e=>Rkt(e,!1),cWn=e=>Rkt(e,!0),uWn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=wt.create([n.main]):n.main.empty||(r=wt.create([wt.cursor(n.main.head)])),r?(t(Yg(e,r)),!0):!1};function Z3(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:r}=e,s=r.changeByRange(a=>{let{from:i,to:l}=a;if(i==l){let c=t(a);c<i?(n="delete.backward",c=uF(e,c,!1)):c>i&&(n="delete.forward",c=uF(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=uF(e,i,!1),l=uF(e,l,!0);return i==l?{range:a}:{changes:{from:i,to:l},range:wt.cursor(i,i<a.head?-1:1)}});return s.changes.empty?!1:(e.dispatch(r.update(s,{scrollIntoView:!0,userEvent:n,effects:n=="delete.selection"?Rt.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function uF(e,t,n){if(e instanceof Rt)for(let r of e.state.facet(Rt.atomicRanges).map(s=>s(e)))r.between(t,t,(s,a)=>{s<t&&a>t&&(t=n?a:s)});return t}const Pkt=(e,t,n)=>Z3(e,r=>{let s=r.from,{state:a}=e,i=a.doc.lineAt(s),l,c;if(n&&!t&&s>i.from&&s<i.from+200&&!/[^ \t]/.test(l=i.text.slice(0,s-i.from))){if(l[l.length-1]==" ")return s-1;let u=zg(l,a.tabSize),d=u%WO(a)||WO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=Cc(i.text,s-i.from,t,t)+i.from,c==s&&i.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(i.text.slice(c-i.from,s-i.from))&&(c=Cc(i.text,c-i.from,!1,!1)+i.from);return c}),cve=e=>Pkt(e,!1,!0),$kt=e=>Pkt(e,!0,!1),Mkt=(e,t)=>Z3(e,n=>{let r=n.head,{state:s}=e,a=s.doc.lineAt(r),i=s.charCategorizer(r);for(let l=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);break}let c=Cc(a.text,r-a.from,t)+a.from,u=a.text.slice(Math.min(r,c)-a.from,Math.max(r,c)-a.from),d=i(u);if(l!=null&&d!=l)break;(u!=" "||r!=n.head)&&(l=d),r=c}return r}),Dkt=e=>Mkt(e,!1),dWn=e=>Mkt(e,!0),fWn=e=>Z3(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),pWn=e=>Z3(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),hWn=e=>Z3(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),mWn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:xa.of(["",""])},range:wt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},gWn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>{if(!r.empty||r.from==0||r.from==e.doc.length)return{range:r};let s=r.from,a=e.doc.lineAt(s),i=s==a.from?s-1:Cc(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:Cc(a.text,s-a.from,!0)+a.from;return{changes:{from:i,to:l,insert:e.doc.slice(s,l).append(e.doc.slice(i,s))},range:wt.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function cW(e){let t=[],n=-1;for(let r of e.selection.ranges){let s=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=s.number){let i=t[t.length-1];i.to=a.to,i.ranges.push(r)}else t.push({from:s.from,to:a.to,ranges:[r]});n=a.number+1}return t}function Lkt(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of cW(e)){if(n?a.to==e.doc.length:a.from==0)continue;let i=e.doc.lineAt(n?a.to+1:a.from-1),l=i.length+1;if(n){r.push({from:a.to,to:i.to},{from:a.from,insert:i.text+e.lineBreak});for(let c of a.ranges)s.push(wt.range(Math.min(e.doc.length,c.anchor+l),Math.min(e.doc.length,c.head+l)))}else{r.push({from:i.from,to:a.from},{from:a.to,insert:e.lineBreak+i.text});for(let c of a.ranges)s.push(wt.range(c.anchor-l,c.head-l))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:wt.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const vWn=({state:e,dispatch:t})=>Lkt(e,t,!1),yWn=({state:e,dispatch:t})=>Lkt(e,t,!0);function Fkt(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of cW(e))n?r.push({from:a.from,insert:e.doc.slice(a.from,a.to)+e.lineBreak}):r.push({from:a.to,insert:e.lineBreak+e.doc.slice(a.from,a.to)});let s=e.changes(r);return t(e.update({changes:s,selection:e.selection.map(s,n?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const bWn=({state:e,dispatch:t})=>Fkt(e,t,!1),xWn=({state:e,dispatch:t})=>Fkt(e,t,!0),wWn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(cW(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=OI(t.selection,s=>{let a;if(e.lineWrapping){let i=e.lineBlockAt(s.head),l=e.coordsAtPos(s.head,s.assoc||1);l&&(a=i.bottom+e.documentTop-l.bottom+e.defaultLineHeight/2)}return e.moveVertically(s,!0,a)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function SWn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=hi(e).resolveInner(t),r=n.childBefore(t),s=n.childAfter(t),a;return r&&s&&r.to<=t&&s.from>=t&&(a=r.type.prop(Rr.closedBy))&&a.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from&&!/\S/.test(e.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const f9e=zkt(!1),kWn=zkt(!0);function zkt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(s=>{let{from:a,to:i}=s,l=t.doc.lineAt(a),c=!e&&a==i&&SWn(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new nW(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=Ake(u,a);for(d==null&&(d=zg(/^\s*/.exec(t.doc.lineAt(a).text)[0],t.tabSize));i<l.to&&/\s/.test(l.text[i-l.from]);)i++;c?{from:a,to:i}=c:a>l.from&&a<l.from+100&&!/\S/.test(l.text.slice(0,a))&&(a=l.from);let f=["",yM(t,d)];return c&&f.push(yM(t,u.lineIndent(l.from,-1))),{changes:{from:a,to:i,insert:xa.of(f)},range:wt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function dOe(e,t){let n=-1;return e.changeByRange(r=>{let s=[];for(let i=r.from;i<=r.to;){let l=e.doc.lineAt(i);l.number>n&&(r.empty||r.to>l.from)&&(t(l,s,r),n=l.number),i=l.to+1}let a=e.changes(s);return{changes:s,range:wt.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const OWn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new nW(e,{overrideIndentation:a=>{let i=n[a];return i??-1}}),s=dOe(e,(a,i,l)=>{let c=Ake(r,a.from);if(c==null)return;/\S/.test(a.text)||(c=0);let u=/^\s*/.exec(a.text)[0],d=yM(e,c);(u!=d||l.from<a.from+u.length)&&(n[a.from]=c,i.push({from:a.from,to:a.from+u.length,insert:d}))});return s.changes.empty||t(e.update(s,{userEvent:"indent"})),!0},Bkt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(dOe(e,(n,r)=>{r.push({from:n.from,insert:e.facet(wI)})}),{userEvent:"input.indent"})),!0),Ukt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(dOe(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=zg(s,e.tabSize),i=0,l=yM(e,Math.max(0,a-WO(e)));for(;i<s.length&&i<l.length&&s.charCodeAt(i)==l.charCodeAt(i);)i++;r.push({from:n.from+i,to:n.from+s.length,insert:l.slice(i)})}),{userEvent:"delete.dedent"})),!0),_Wn=e=>(e.setTabFocusMode(),!0),CWn=[{key:"Ctrl-b",run:vkt,shift:Ckt,preventDefault:!0},{key:"Ctrl-f",run:ykt,shift:Ekt},{key:"Ctrl-p",run:wkt,shift:Nkt},{key:"Ctrl-n",run:Skt,shift:Ikt},{key:"Ctrl-a",run:HHn,shift:rWn},{key:"Ctrl-e",run:WHn,shift:sWn},{key:"Ctrl-d",run:$kt},{key:"Ctrl-h",run:cve},{key:"Ctrl-k",run:fWn},{key:"Ctrl-Alt-h",run:Dkt},{key:"Ctrl-o",run:mWn},{key:"Ctrl-t",run:gWn},{key:"Ctrl-v",run:lve}],EWn=[{key:"ArrowLeft",run:vkt,shift:Ckt,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:MHn,shift:QHn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:qHn,shift:tWn,preventDefault:!0},{key:"ArrowRight",run:ykt,shift:Ekt,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:DHn,shift:YHn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:VHn,shift:nWn,preventDefault:!0},{key:"ArrowUp",run:wkt,shift:Nkt,preventDefault:!0},{mac:"Cmd-ArrowUp",run:l9e,shift:u9e},{mac:"Ctrl-ArrowUp",run:a9e,shift:i9e},{key:"ArrowDown",run:Skt,shift:Ikt,preventDefault:!0},{mac:"Cmd-ArrowDown",run:c9e,shift:d9e},{mac:"Ctrl-ArrowDown",run:lve,shift:o9e},{key:"PageUp",run:a9e,shift:i9e},{key:"PageDown",run:lve,shift:o9e},{key:"Home",run:UHn,shift:eWn,preventDefault:!0},{key:"Mod-Home",run:l9e,shift:u9e},{key:"End",run:BHn,shift:JHn,preventDefault:!0},{key:"Mod-End",run:c9e,shift:d9e},{key:"Enter",run:f9e,shift:f9e},{key:"Mod-a",run:aWn},{key:"Backspace",run:cve,shift:cve,preventDefault:!0},{key:"Delete",run:$kt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Dkt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:dWn,preventDefault:!0},{mac:"Mod-Backspace",run:pWn,preventDefault:!0},{mac:"Mod-Delete",run:hWn,preventDefault:!0}].concat(CWn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),TWn=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:FHn,shift:KHn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:zHn,shift:XHn},{key:"Alt-ArrowUp",run:vWn},{key:"Shift-Alt-ArrowUp",run:bWn},{key:"Alt-ArrowDown",run:yWn},{key:"Shift-Alt-ArrowDown",run:xWn},{key:"Mod-Alt-ArrowUp",run:lWn},{key:"Mod-Alt-ArrowDown",run:cWn},{key:"Escape",run:uWn},{key:"Mod-Enter",run:kWn},{key:"Alt-l",mac:"Ctrl-l",run:iWn},{key:"Mod-i",run:oWn,preventDefault:!0},{key:"Mod-[",run:Ukt},{key:"Mod-]",run:Bkt},{key:"Mod-Alt-\\",run:OWn},{key:"Shift-Mod-k",run:wWn},{key:"Shift-Mod-\\",run:GHn},{key:"Mod-/",run:vHn},{key:"Alt-A",run:bHn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:_Wn}].concat(EWn),jWn={key:"Tab",run:Bkt,shift:Ukt},p9e=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Mx{constructor(t,n,r=0,s=t.length,a,i){this.test=i,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=t.iterRange(r,s),this.bufferStart=r,this.normalize=a?l=>a(p9e(l)):p9e,this.query=this.normalize(n)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return cf(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let t=this.peek();if(t<0)return this.done=!0,this;let n=pke(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=zv(t);let s=this.normalize(n);if(s.length)for(let a=0,i=r,l=!0;;a++){let c=s.charCodeAt(a),u=this.match(c,i,l,this.bufferPos+this.bufferStart,a==s.length-1);if(u)return this.value=u,this;if(a==s.length-1)break;l&&a<n.length&&n.charCodeAt(a)==c?i++:l=!1}}}match(t,n,r,s,a){let i=null;for(let l=0;l<this.matches.length;){let c=this.matches[l],u=!1;this.query.charCodeAt(c.index)==t&&(c.index==this.query.length-1?i={from:c.from,to:s,precise:a&&c.precise}:(c.index++,u=!0)),u?l++:this.matches.splice(l,1)}return this.query.charCodeAt(0)==t&&(this.query.length==1?i={from:n,to:s,precise:r&&a}:this.matches.push({from:n,index:1,precise:r})),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferStart)&&(i=null),i}}typeof Symbol<"u"&&(Mx.prototype[Symbol.iterator]=function(){return this});const qkt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},fOe="gm"+(/x/.unicode==null?"":"u");class Vkt{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=qkt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new Hkt(t,n,r,s,a);this.re=new RegExp(n,fOe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=VB(t,s),this.getLine(this.curLineStart)}getLine(t){this.iter.next(t),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let t=this.matchPos-this.curLineStart;;){this.re.lastIndex=t;let n=this.matchPos<=this.to&&this.re.exec(this.curLine);if(n){let r=this.curLineStart+n.index,s=r+n[0].length;if(this.matchPos=VB(this.text,s+(r==s?1:0)),r==this.curLineStart+this.curLine.length&&this.nextLine(),(r<s||r>this.value.to)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this;t=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),t=0;else return this.done=!0,this}}}const tte=new WeakMap;class sj{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=tte.get(t);if(!s||s.from>=r||s.to<=n){let l=new sj(n,t.sliceString(n,r));return tte.set(t,l),l}if(s.from==n&&s.to==r)return s;let{text:a,from:i}=s;return i>n&&(a=t.sliceString(n,i)+a,i=n),s.to<r&&(a+=t.sliceString(s.to,r)),tte.set(t,new sj(i,a)),new sj(n,a.slice(n-i,r-i))}}class Hkt{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=qkt,this.matchPos=VB(t,s),this.re=new RegExp(n,fOe+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=sj.get(t,s,this.chunkEnd(s+5e3))}chunkEnd(t){return t>=this.to?this.to:this.text.lineAt(t).to}next(){for(;;){let t=this.re.lastIndex=this.matchPos-this.flat.from,n=this.re.exec(this.flat.text);if(n&&!n[0]&&n.index==t&&(this.re.lastIndex=t+1,n=this.re.exec(this.flat.text)),n){let r=this.flat.from+n.index,s=r+n[0].length;if((this.flat.to>=this.to||n.index+n[0].length<=this.flat.text.length-10)&&(!this.test||this.test(r,s,n)))return this.value={from:r,to:s,precise:!0,match:n},this.matchPos=VB(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=sj.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(Vkt.prototype[Symbol.iterator]=Hkt.prototype[Symbol.iterator]=function(){return this});function NWn(e){try{return new RegExp(e,fOe),!0}catch{return!1}}function VB(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}const IWn=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=f7n(e,{label:t.phrase("Go to line"),input:{type:"text",name:"line",value:n},focus:!0,submitLabel:t.phrase("go")});return s.then(a=>{let i=a&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(a.elements.line.value);if(!i){e.dispatch({effects:r});return}let l=t.doc.lineAt(t.selection.main.head),[,c,u,d,f]=i,p=d?+d.slice(1):0,h=u?+u:l.number;if(u&&f){let y=h/100;c&&(y=y*(c=="-"?-1:1)+l.number/t.doc.lines),h=Math.round(t.doc.lines*y)}else u&&c&&(h=h*(c=="-"?-1:1)+l.number);let m=t.doc.line(Math.max(1,Math.min(t.doc.lines,h))),v=wt.cursor(m.from+Math.max(0,Math.min(p,m.length)));e.dispatch({effects:[r,Rt.scrollIntoView(v.from,{y:"center"})],selection:v})}),!0},AWn={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},RWn=kn.define({combine(e){return Fy(e,AWn,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function PWn(e){return[FWn,LWn]}const $Wn=jn.mark({class:"cm-selectionMatch"}),MWn=jn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function h9e(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=bo.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=bo.Word)}function DWn(e,t,n,r){return e(t.sliceDoc(n,n+1))==bo.Word&&e(t.sliceDoc(r-1,r))==bo.Word}const LWn=Oo.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(RWn),{state:n}=e,r=n.selection;if(r.ranges.length>1)return jn.none;let s=r.main,a,i=null;if(s.empty){if(!t.highlightWordAroundCursor)return jn.none;let c=n.wordAt(s.head);if(!c)return jn.none;i=n.charCategorizer(s.head),a=n.sliceDoc(c.from,c.to)}else{let c=s.to-s.from;if(c<t.minSelectionLength||c>200)return jn.none;if(t.wholeWords){if(a=n.sliceDoc(s.from,s.to),i=n.charCategorizer(s.head),!(h9e(i,n,s.from,s.to)&&DWn(i,n,s.from,s.to)))return jn.none}else if(a=n.sliceDoc(s.from,s.to),!a)return jn.none}let l=[];for(let c of e.visibleRanges){let u=new Mx(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||h9e(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(MWn.range(d,f)):(d>=s.to||f<=s.from)&&l.push($Wn.range(d,f)),l.length>t.maxMatches))return jn.none}}return jn.set(l)}},{decorations:e=>e.decorations}),FWn=Rt.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),zWn=({state:e,dispatch:t})=>{let{selection:n}=e,r=wt.create(n.ranges.map(s=>e.wordAt(s.head)||wt.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function BWn(e,t){let{main:n,ranges:r}=e.selection,s=e.wordAt(n.head),a=s&&s.from==n.from&&s.to==n.to;for(let i=!1,l=new Mx(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new Mx(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),i=!0}else{if(i&&r.some(c=>c.from==l.value.from))continue;if(a){let c=e.wordAt(l.value.from);if(!c||c.from!=l.value.from||c.to!=l.value.to)continue}return l.value}}const UWn=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return zWn({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(a=>e.sliceDoc(a.from,a.to)!=r))return!1;let s=BWn(e,r);return s?(t(e.update({selection:e.selection.addRange(wt.range(s.from,s.to),!1),effects:Rt.scrollIntoView(s.to)})),!0):!1},_I=kn.define({combine(e){return Fy(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new nZn(t),scrollToMatch:t=>Rt.scrollIntoView(t)})}});class Wkt{constructor(t){this.search=t.search,this.caseSensitive=!!t.caseSensitive,this.literal=!!t.literal,this.regexp=!!t.regexp,this.replace=t.replace||"",this.valid=!!this.search&&(!this.regexp||NWn(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!t.wholeWord,this.test=t.test}unquote(t){return this.literal?t:t.replace(/\\([nrt\\])/g,(n,r)=>r=="n"?`
|
|
234
|
-
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new GWn(this):new HWn(this)}getCursor(t,n=0,r){let s=t.doc?t:hs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?eT(this,s,n,r):JE(this,s,n,r)}}class Zkt{constructor(t){this.spec=t}}function qWn(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function JE(e,t,n,r){let s;return e.wholeWord&&(s=VWn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=qWn(e.test,t,s)),new Mx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function VWn(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(HB(s,n-a))!=bo.Word||t(WB(s,n-a))!=bo.Word)&&(t(WB(s,r-a))!=bo.Word||t(HB(s,r-a))!=bo.Word))}class HWn extends Zkt{constructor(t){super(t)}nextMatch(t,n,r){let s=JE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=JE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=JE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=JE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=JE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function WWn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function eT(e,t,n,r){let s;return e.wholeWord&&(s=ZWn(t.charCategorizer(t.selection.main.head))),e.test&&(s=WWn(e.test,t,s)),new Vkt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function HB(e,t){return e.slice(Cc(e,t,!1),t)}function WB(e,t){return e.slice(t,Cc(e,t))}function ZWn(e){return(t,n,r)=>!r[0].length||(e(HB(r.input,r.index))!=bo.Word||e(WB(r.input,r.index))!=bo.Word)&&(e(WB(r.input,r.index+r[0].length))!=bo.Word||e(HB(r.input,r.index+r[0].length))!=bo.Word)}class GWn extends Zkt{nextMatch(t,n,r){let s=eT(this.spec,t,r,t.doc.length).next();return s.done&&(s=eT(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=eT(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=eT(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=eT(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const EM=dr.define(),pOe=dr.define(),Jw=vl.define({create(e){return new nte(uve(e).create(),null)},update(e,t){for(let n of t.effects)n.is(EM)?e=new nte(n.value.create(),e.panel):n.is(pOe)&&(e=new nte(e.query,n.value?hOe:null));return e},provide:e=>vM.from(e,t=>t.panel)});class nte{constructor(t,n){this.query=t,this.panel=n}}const QWn=jn.mark({class:"cm-searchMatch"}),YWn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),KWn=Oo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Jw))}update(e){let t=e.state.field(Jw);(t!=e.startState.field(Jw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return jn.none;let{view:n}=this,r=new Ld;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?YWn:QWn)})}return r.finish()}},{decorations:e=>e.decorations});function G3(e){return t=>{let n=t.state.field(Jw,!1);return n&&n.query.spec.valid?e(t,n):Ykt(t)}}const ZB=G3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=wt.single(r.from,r.to),a=e.state.facet(_I);return e.dispatch({selection:s,effects:[mOe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Qkt(e),!0}),GB=G3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=wt.single(s.from,s.to),i=e.state.facet(_I);return e.dispatch({selection:a,effects:[mOe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),Qkt(e),!0}),XWn=G3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:wt.create(n.map(r=>wt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),JWn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new Mx(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(wt.range(l.value.from,l.value.to))}return t(e.update({selection:wt.create(a,i),userEvent:"select.search.matches"})),!0},m9e=G3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(Rt.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=wt.single(i.from,i.to).map(f),d.push(mOe(e,i)),d.push(n.facet(_I).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),eZn=G3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:Rt.announce.of(r),userEvent:"input.replace.all"}),!0});function hOe(e){return e.state.facet(_I).createPanel(e)}function uve(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(_I);return new Wkt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function Gkt(e){let t=Nke(e,hOe);return t&&t.dom.querySelector("[main-field]")}function Qkt(e){let t=Gkt(e);t&&t==e.root.activeElement&&t.select()}const Ykt=e=>{let t=e.state.field(Jw,!1);if(t&&t.panel){let n=Gkt(e);if(n&&n!=e.root.activeElement){let r=uve(e.state,t.query.spec);r.valid&&e.dispatch({effects:EM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[pOe.of(!0),t?EM.of(uve(e.state,t.query.spec)):dr.appendConfig.of(sZn)]});return!0},Kkt=e=>{let t=e.state.field(Jw,!1);if(!t||!t.panel)return!1;let n=Nke(e,hOe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:pOe.of(!1)}),!0},tZn=[{key:"Mod-f",run:Ykt,scope:"editor search-panel"},{key:"F3",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Kkt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:JWn},{key:"Mod-Alt-g",run:IWn},{key:"Mod-d",run:UWn,preventDefault:!0}];class nZn{constructor(t){this.view=t;let n=this.query=t.state.field(Jw).query.spec;this.commit=this.commit.bind(this),this.searchField=li("input",{value:n.search,placeholder:lp(t,"Find"),"aria-label":lp(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=li("input",{value:n.replace,placeholder:lp(t,"Replace"),"aria-label":lp(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=li("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=li("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=li("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return li("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=li("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>ZB(t),[lp(t,"next")]),r("prev",()=>GB(t),[lp(t,"previous")]),r("select",()=>XWn(t),[lp(t,"all")]),li("label",null,[this.caseField,lp(t,"match case")]),li("label",null,[this.reField,lp(t,"regexp")]),li("label",null,[this.wordField,lp(t,"by word")]),...t.state.readOnly?[]:[li("br"),this.replaceField,r("replace",()=>m9e(t),[lp(t,"replace")]),r("replaceAll",()=>eZn(t),[lp(t,"replace all")])],li("button",{name:"close",onclick:()=>Kkt(t),"aria-label":lp(t,"close"),type:"button"},["×"])])}commit(){let t=new Wkt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:EM.of(t)}))}keydown(t){S9n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?GB:ZB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),m9e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(EM)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(_I).top}}function lp(e,t){return e.state.phrase(t)}const dF=30,fF=/[\s\.,:;?!]/;function mOe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-dF),i=Math.min(s,n+dF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<dF;c++)if(!fF.test(l[c+1])&&fF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-dF;c--)if(!fF.test(l[c-1])&&fF.test(l[c])){l=l.slice(0,c);break}}return Rt.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const rZn=Rt.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),sZn=[Jw,Jp.low(KWn),rZn];class g9e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class _k{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(TM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Ld,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((v,y)=>Math.min(v,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let v=a[d];if(v.from==p&&(v.to>v.from||v.to==p))l.push(v),d++,h=Math.min(v.to,h);else{h=Math.min(v.from,h);break}}let m=vZn(l);if(l.some(v=>v.from==v.to||v.from==v.to-1&&r.doc.lineAt(v.from).to==v.from))i.add(p,p,jn.widget({widget:new pZn(m),diagnostics:l.slice()}));else{let v=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+v,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let v=0;v<l.length;v++)l[v].to<=c&&l.splice(v--,1)}let u=i.finish();return new _k(u,n,rN(u))}}function rN(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new g9e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new g9e(r.from,a,r.diagnostic)}}),r}function aZn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(TM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(Xkt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function iZn(e,t){return e.field(Tp,!1)?t:t.concat(dr.appendConfig.of(yZn))}const Xkt=dr.define(),gOe=dr.define(),Jkt=dr.define(),Tp=vl.define({create(){return new _k(jn.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=rN(n,e.selected.diagnostic,a)||rN(n,null,a)}!n.size&&s&&t.state.facet(TM).autoPanel&&(s=null),e=new _k(n,s,r)}for(let n of t.effects)if(n.is(Xkt)){let r=t.state.facet(TM).autoPanel?n.value.length?jM.open:null:e.panel;e=_k.init(n.value,r,t.state)}else n.is(gOe)?e=new _k(e.diagnostics,n.value?jM.open:null,e.selected):n.is(Jkt)&&(e=new _k(e.diagnostics,e.panel,n.value));return e},provide:e=>[vM.from(e,t=>t.panel),Rt.decorations.from(e,t=>t.diagnostics)]}),oZn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function lZn(e,t,n){let{diagnostics:r}=e.state.field(Tp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(TM).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:cZn(e,s)}}}:null}function cZn(e,t){return li("ul",{class:"cm-tooltip-lint"},t.map(n=>tOt(e,n,!1)))}const uZn=e=>{let t=e.state.field(Tp,!1);(!t||!t.panel)&&e.dispatch({effects:iZn(e.state,[gOe.of(!0)])});let n=Nke(e,jM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},v9e=e=>{let t=e.state.field(Tp,!1);return!t||!t.panel?!1:(e.dispatch({effects:gOe.of(!1)}),!0)},dZn=e=>{let t=e.state.field(Tp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},fZn=[{key:"Mod-Shift-m",run:uZn,preventDefault:!0},{key:"F8",run:dZn}],TM=kn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Fy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:y9e,tooltipFilter:y9e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function y9e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function eOt(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function tOt(e,t,n){var r;let s=n?eOt(t.actions):[];return li("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},li("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=rN(e.state.field(Tp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),li("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return li("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&li("div",{class:"cm-diagnosticSource"},t.source))}class pZn extends eh{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return li("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class b9e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=tOt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class jM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)v9e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=eOt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=rN(this.view.state.field(Tp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=li("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=li("div",{class:"cm-panel-lint"},this.list,li("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>v9e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Tp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(Tp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new b9e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new b9e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(Tp),r=rN(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Jkt.of(r)})}static open(t){return new jM(t)}}function hZn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function pF(e){return hZn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const mZn=Rt.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:pF("#d11")},".cm-lintRange-warning":{backgroundImage:pF("orange")},".cm-lintRange-info":{backgroundImage:pF("#999")},".cm-lintRange-hint":{backgroundImage:pF("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function gZn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function vZn(e){let t="hint",n=1;for(let r of e){let s=gZn(r.severity);s>n&&(n=s,t=r.severity)}return t}const yZn=[Tp,Rt.decorations.compute([Tp],e=>{let{selected:t,panel:n}=e.field(Tp);return!t||!n||t.from==t.to?jn.none:jn.set([oZn.range(t.from,t.to)])}),u7n(lZn,{hideOn:aZn}),mZn];var x9e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(oUn)),t.defaultKeymap!==!1&&(a=a.concat(TWn)),t.searchKeymap!==!1&&(a=a.concat(tZn)),t.historyKeymap!==!1&&(a=a.concat($Hn)),t.foldKeymap!==!1&&(a=a.concat(W7n)),t.completionKeymap!==!1&&(a=a.concat(Q1t)),t.lintKeymap!==!1&&(a=a.concat(fZn));var i=[];return t.lineNumbers!==!1&&i.push(S7n()),t.highlightActiveLineGutter!==!1&&i.push(_7n()),t.highlightSpecialChars!==!1&&i.push(L9n()),t.history!==!1&&i.push(CHn()),t.foldGutter!==!1&&i.push(Y7n()),t.drawSelection!==!1&&i.push(T9n()),t.dropCursor!==!1&&i.push(R9n()),t.allowMultipleSelections!==!1&&i.push(hs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(L7n()),t.syntaxHighlighting!==!1&&i.push(rS(eBn,{fallback:!0})),t.bracketMatching!==!1&&i.push(oBn()),t.closeBrackets!==!1&&i.push(rUn()),t.autocompletion!==!1&&i.push(G1t()),t.rectangularSelection!==!1&&i.push(X9n()),s!==!1&&i.push(t7n()),t.highlightActiveLine!==!1&&i.push(V9n()),t.highlightSelectionMatches!==!1&&i.push(PWn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(wI.of(" ".repeat(t.tabSize))),i.concat([xI.of(a.flat())]).filter(Boolean)};const bZn="#e5c07b",w9e="#e06c75",xZn="#56b6c2",wZn="#ffffff",q8="#abb2bf",dve="#7d8799",SZn="#61afef",kZn="#98c379",S9e="#d19a66",OZn="#c678dd",_Zn="#21252b",k9e="#2c313a",O9e="#282c34",rte="#353a42",CZn="#3E4451",_9e="#528bff",EZn=Rt.theme({"&":{color:q8,backgroundColor:O9e},".cm-content":{caretColor:_9e},".cm-cursor, .cm-dropCursor":{borderLeftColor:_9e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:CZn},".cm-panels":{backgroundColor:_Zn,color:q8},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:O9e,color:dve,border:"none"},".cm-activeLineGutter":{backgroundColor:k9e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:rte},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:rte,borderBottomColor:rte},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:k9e,color:q8}}},{dark:!0}),TZn=Qg.define([{tag:de.keyword,color:OZn},{tag:[de.name,de.deleted,de.character,de.propertyName,de.macroName],color:w9e},{tag:[de.function(de.variableName),de.labelName],color:SZn},{tag:[de.color,de.constant(de.name),de.standard(de.name)],color:S9e},{tag:[de.definition(de.name),de.separator],color:q8},{tag:[de.typeName,de.className,de.number,de.changed,de.annotation,de.modifier,de.self,de.namespace],color:bZn},{tag:[de.operator,de.operatorKeyword,de.url,de.escape,de.regexp,de.link,de.special(de.string)],color:xZn},{tag:[de.meta,de.comment],color:dve},{tag:de.strong,fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.link,color:dve,textDecoration:"underline"},{tag:de.heading,fontWeight:"bold",color:w9e},{tag:[de.atom,de.bool,de.special(de.variableName)],color:S9e},{tag:[de.processingInstruction,de.string,de.inserted],color:kZn},{tag:de.invalid,color:wZn}]),jZn=[EZn,rS(TZn)];var NZn=Rt.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),IZn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,v=[];switch(s&&v.unshift(xI.of([jWn])),m&&(typeof m=="boolean"?v.unshift(x9e()):v.unshift(x9e(m))),p&&v.unshift(G9n(p)),d){case"light":v.push(NZn);break;case"dark":v.push(jZn);break;case"none":break;default:v.push(d);break}return i===!1&&v.push(Rt.editable.of(!1)),c&&v.push(hs.readOnly.of(!0)),[...v]},AZn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class RZn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class C9e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var ste=null,PZn=()=>typeof window>"u"?new C9e:(ste||(ste=new C9e),ste),$Zn=Rt.theme({"& .cm-scroller":{height:"100% !important"}}),E9e=null,ate=null;function MZn(e,t,n,r,s,a){if(!e&&!t&&!n&&!r&&!s&&!a)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a});return i===E9e||(E9e=i,ate=Rt.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),ate}var T9e=Ly.define(),DZn=200,LZn=[];function FZn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?LZn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,v=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,x=e.width,S=x===void 0?null:x,k=e.minWidth,_=k===void 0?null:k,C=e.maxWidth,T=C===void 0?null:C,E=e.placeholder,N=E===void 0?"":E,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,F=D===void 0?!0:D,H=e.basicSetup,B=H===void 0?!0:H,z=e.root,V=e.initialState,M=g.useState(),G=M[0],U=M[1],$=g.useState(),q=$[0],Z=$[1],Y=g.useState(),ne=Y[0],J=Y[1],ee=g.useState(()=>({current:null}))[0],se=g.useState(()=>({current:null}))[0],le=MZn(h,v,b,S,_,T),X=Rt.updateListener.of(fe=>{if(fe.docChanged&&typeof r=="function"&&!fe.transactions.some(ye=>ye.annotation(T9e))){ee.current?ee.current.reset():(ee.current=new RZn(()=>{if(se.current){var ye=se.current;se.current=null,ye()}ee.current=null},DZn),PZn().add(ee.current));var ce=fe.state.doc,Se=ce.toString();r(Se,fe)}s&&s(AZn(fe))}),te=IZn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:B}),re=[X,...le?[le]:[],$Zn,...te];return i&&typeof i=="function"&&re.push(Rt.updateListener.of(i)),re=re.concat(c),g.useLayoutEffect(()=>{if(G&&!ne){var fe={doc:t,selection:n,extensions:re},ce=V?hs.fromJSON(V.json,fe,V.fields):hs.create(fe);if(J(ce),!q){var Se=new Rt({state:ce,parent:G,root:z});Z(Se),a&&a(Se,ce)}}return()=>{q&&(J(void 0),Z(void 0))}},[G,ne]),g.useEffect(()=>{e.container&&U(e.container)},[e.container]),g.useEffect(()=>()=>{q&&(q.destroy(),Z(void 0)),ee.current&&(ee.current.cancel(),ee.current=null)},[q]),g.useEffect(()=>{u&&q&&q.focus()},[u,q]),g.useEffect(()=>{q&&q.dispatch({effects:dr.reconfigure.of(re)})},[f,c,h,v,b,S,_,T,N,A,L,F,B,r,i]),g.useEffect(()=>{if(t!==void 0){var fe=q?q.state.doc.toString():"";if(q&&t!==fe){var ce=ee.current&&!ee.current.isDone,Se=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[T9e.of(!0)]})};ce?se.current=Se:Se()}}},[t,q]),{state:ne,setState:J,view:q,setView:Z,container:G,setContainer:U}}var zZn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],ed=g.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,v=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,T=e.indentWithTab,E=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=ckt(e,zZn),L=g.useRef(null),D=FZn({root:I,value:s,autoFocus:p,theme:m,height:v,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:T,editable:E,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,B=D.container,z=D.setContainer;g.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,B,F,H]);var V=g.useCallback(G=>{L.current=G,z(G)},[z]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",QO({ref:V,className:""+M+(n?" "+n:"")},R))});ed.displayName="CodeMirror";const BZn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",diff:"diff",patch:"diff",css:"css",scss:"css",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql"};let ite=null;function UZn(){return ite||(ite=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Ma(()=>import("./core-CvurbC5G.js"),__vite__mapDeps([0,1,2]),import.meta.url),Ma(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Ma(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Ma(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Ma(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Ma(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Ma(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Ma(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Ma(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Ma(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Ma(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Ma(()=>import("./python-DhUJRlN_.js"),[],import.meta.url),Ma(()=>import("./yaml-CVw76BM1.js"),[],import.meta.url),Ma(()=>import("./diff-BgYniUM_.js"),[],import.meta.url),Ma(()=>import("./css-BPhBrDlE.js"),[],import.meta.url),Ma(()=>import("./html-C2L_23MC.js"),__vite__mapDeps([4,5,6]),import.meta.url),Ma(()=>import("./xml-DGRTSKzu.js"),[],import.meta.url),Ma(()=>import("./sql-COK4E0Yg.js"),[],import.meta.url)],engine:t()})})()),ite}async function qZn(e,t){const n=BZn[t?.toLowerCase()];if(!n)return null;const r=await UZn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function VZn(e){return new HO($ke.define(e))}const nOt=[cg.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript())}}),cg.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Ma(()=>Promise.resolve().then(()=>bBn),void 0,import.meta.url).then(e=>e.json())}}),cg.of({name:"JSX",extensions:["jsx"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),cg.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Ma(()=>Promise.resolve().then(()=>pHn),void 0,import.meta.url).then(e=>e.markdown())}}),cg.of({name:"TSX",extensions:["tsx"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),cg.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),cg.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Ma(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>VZn(e.shell))}})];function HZn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function WZn(e){const t=HZn(e);return G1t({override:[ZZn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function ZZn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const v=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:v},selection:{anchor:f+v.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const GZn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,QZn=jn.mark({class:"cm-variable-highlight"}),j9e=new l1t({regexp:GZn,decoration:()=>QZn}),YZn=Oo.fromClass(class{decorations;constructor(e){this.decorations=j9e.createDeco(e)}update(e){this.decorations=j9e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),KZn=YZn;function XZn(){const e=kI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[de.className,de.propertyName],color:"var(--neutral6)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:de.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=Rt.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function JZn(){const e=Rt.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=Qg.define([{tag:[de.comment,de.bracket],color:"var(--neutral2)"},{tag:[de.string,de.meta,de.regexp],color:"var(--accent1)"},{tag:[de.atom,de.bool,de.special(de.variableName)],color:"var(--accent6)"},{tag:[de.keyword,de.operator,de.tagName],color:"var(--accent2)"},{tag:[de.function(de.propertyName),de.propertyName],color:"var(--accent5)"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"var(--accent3)"},{tag:[de.variableName,de.number],color:"var(--accent5)"},{tag:[de.name,de.quote],color:"var(--accent1)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[de.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[de.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:[de.deleted],color:"var(--accent2)"},{tag:de.invalid,color:"var(--error)"},{tag:[de.standard(de.tagName)],color:"var(--accent1)"}]);return[e,rS(t)]}const o0=()=>{const e=K_().resolvedTheme==="dark";return g.useMemo(()=>e?XZn():JZn(),[e])},eGn=Ii(K("relative overflow-hidden font-mono outline-hidden focus-within:outline-hidden focus:outline-hidden","duration-normal transition-colors ease-out-custom"),{variants:{variant:{default:"rounded-md border border-border1 bg-surface3 p-1 focus-within:border-neutral6/20",embedded:"rounded-none border-none bg-transparent p-0"}},defaultVariants:{variant:"default"}}),tGn=Jp.highest(Rt.editorAttributes.of({style:"outline: none"})),nGn=Jp.highest(Rt.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),rGn=[tGn,nGn],Wr=g.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,variant:h,...m},v)=>{const y=o0(),b=e?JSON.stringify(e,null,2):t??"",x=g.useMemo(()=>{const S=[...rGn];return f&&S.push(Rt.lineWrapping),a==="json"?S.push($p):a==="markdown"&&S.push(lOe({base:GO,codeLanguages:nOt})),i&&a==="markdown"&&S.push(KZn),c&&a==="markdown"&&S.push(WZn(c)),p===!1&&S.push(hs.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:K(eGn({variant:h}),s),...m,children:[r&&o.jsx(Sa,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(ed,{ref:v,value:b,theme:y,extensions:x,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),sGn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},aGn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=o0(),{settings:r,setSettings:s}=$H(),a=r?.tracingOptions,i=g.useMemo(()=>sGn(a),[a]),[l,c]=g.useState(()=>i),u=g.useRef(!1);g.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ge,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(ed,{value:l,onChange:d,theme:n,extensions:[$p],className:K("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(oe,{type:"button",onClick:f,children:"Save"})})]})},iGn=()=>{const[e,t]=g.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ve,{children:o.jsx(w0e,{})})})}),o.jsx(bn,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Run Options"}),o.jsx(As,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx($r,{children:o.jsx(aGn,{onSaved:()=>t(!1)})})]})})]})};function oGn({status:e}){switch(e){case"running":return o.jsx(qt,{});case"failed":return o.jsx($s,{className:"text-accent2"});case"canceled":return o.jsx(Df,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(yO,{className:"text-neutral3"});case"suspended":return o.jsx(vV,{className:"text-accent3"});case"success":return o.jsx(oa,{className:"text-accent1"});default:return o.jsx(yO,{className:"text-neutral3"})}}function rOt({status:e}){return o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(oGn,{status:e})})}),o.jsx(bn,{children:e})]})}var ote,N9e;function vOe(){if(N9e)return ote;N9e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([v,y]){d(v)&&f.setNode(v,y)}),Object.values(this._edgeObjs).forEach(function(v){f.hasNode(v.v)&&f.hasNode(v.w)&&f.setEdge(v,p.edge(v))});var h={};function m(v){var y=p.parent(v);return y===void 0||f.hasNode(y)?(h[v]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(v=>f.setParent(v,m(v))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,v){return h.length>1?p.setEdge(m,v,f):p.setEdge(m,v),v}),this}setEdge(){var d,f,p,h,m=!1,v=arguments[0];typeof v=="object"&&v!==null&&"v"in v?(d=v.v,f=v.w,p=v.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=v,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return ote=r,ote}var lte,I9e;function lGn(){return I9e||(I9e=1,lte="2.2.4"),lte}var cte,A9e;function cGn(){return A9e||(A9e=1,cte={Graph:vOe(),version:lGn()}),cte}var ute,R9e;function uGn(){if(R9e)return ute;R9e=1;var e=vOe();ute={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return ute}var dte,P9e;function dGn(){if(P9e)return dte;P9e=1,dte=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return dte}var fte,$9e;function sOt(){if($9e)return fte;$9e=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return fte=e,fte}var pte,M9e;function aOt(){if(M9e)return pte;M9e=1;var e=sOt();pte=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,v=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<v.distance&&(v.distance=b,v.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return pte}var hte,D9e;function fGn(){if(D9e)return hte;D9e=1;var e=aOt();hte=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return hte}var mte,L9e;function iOt(){if(L9e)return mte;L9e=1,mte=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return mte}var gte,F9e;function pGn(){if(F9e)return gte;F9e=1;var e=iOt();gte=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return gte}var vte,z9e;function hGn(){if(z9e)return vte;z9e=1,vte=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],v=f[p],y=h.distance+m.distance;y<v.distance&&(v.distance=y,v.predecessor=m.predecessor)})})}),i}return vte}var yte,B9e;function oOt(){if(B9e)return yte;B9e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return yte=e,e.CycleException=t,yte}var bte,U9e;function mGn(){if(U9e)return bte;U9e=1;var e=oOt();bte=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return bte}var xte,q9e;function lOt(){if(q9e)return xte;q9e=1,xte=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return xte}var wte,V9e;function gGn(){if(V9e)return wte;V9e=1;var e=lOt();wte=t;function t(n,r){return e(n,r,"post")}return wte}var Ste,H9e;function vGn(){if(H9e)return Ste;H9e=1;var e=lOt();Ste=t;function t(n,r){return e(n,r,"pre")}return Ste}var kte,W9e;function yGn(){if(W9e)return kte;W9e=1;var e=vOe(),t=sOt();kte=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return kte}var Ote,Z9e;function bGn(){return Z9e||(Z9e=1,Ote={components:dGn(),dijkstra:aOt(),dijkstraAll:fGn(),findCycles:pGn(),floydWarshall:hGn(),isAcyclic:mGn(),postorder:gGn(),preorder:vGn(),prim:yGn(),tarjan:iOt(),topsort:oOt()}),Ote}var _te,G9e;function Ug(){if(G9e)return _te;G9e=1;var e=cGn();return _te={Graph:e.Graph,json:uGn(),alg:bGn(),version:e.version},_te}var Cte,Q9e;function xGn(){if(Q9e)return Cte;Q9e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return Cte=e,Cte}var Ete,Y9e;function wGn(){if(Y9e)return Ete;Y9e=1;let e=Ug().Graph,t=xGn();Ete=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],v;for(;u.nodeCount();){for(;v=m.dequeue();)a(u,d,f,v);for(;v=h.dequeue();)a(u,d,f,v);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(v=d[y].dequeue(),v){p=p.concat(a(u,d,f,v,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(v=>{let y=u.edge(v),b=u.node(v.v);h&&m.push({v:v.v,w:v.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(v=>{let y=u.edge(v),b=v.w,x=u.node(b);x.in-=y,l(d,f,x)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,x=d(y),S=b+x;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=x),p=Math.max(p,f.node(y.w).in+=x)});let m=c(h+p+3).map(()=>new t),v=p+1;return f.nodes().forEach(y=>{l(m,v,f.node(y))}),{graph:f,buckets:m,zeroIdx:v}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return Ete}var Tte,K9e;function Al(){if(K9e)return Tte;K9e=1;let e=Ug().Graph;Tte={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:v,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:T};function t(E,N,I,A){for(var R=A;E.hasNode(R);)R=S(A);return I.dummy=N,E.setNode(R,I),R}function n(E){let N=new e().setGraph(E.graph());return E.nodes().forEach(I=>N.setNode(I,E.node(I))),E.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=E.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(E){let N=new e({multigraph:E.isMultigraph()}).setGraph(E.graph());return E.nodes().forEach(I=>{E.children(I).length||N.setNode(I,E.node(I))}),E.edges().forEach(I=>{N.setEdge(I,E.edge(I))}),N}function s(E){let N=E.nodes().map(I=>{let A={};return E.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function a(E){let N=E.nodes().map(I=>{let A={};return E.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function i(E,N){let I=E.x,A=E.y,R=N.x-I,L=N.y-A,D=E.width/2,F=E.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,B;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,B=F):(R<0&&(D=-D),H=D,B=D*L/R),{x:I+H,y:A+B}}function l(E){let N=k(m(E)+1).map(()=>[]);return E.nodes().forEach(I=>{let A=E.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(E){let N=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);E.nodes().forEach(A=>{let R=E.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(E){let N=E.nodes().map(D=>E.node(D).rank),I=h(Math.min,N),A=[];E.nodes().forEach(D=>{let F=E.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=E.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>E.node(H).rank+=R)})}function d(E,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(E,"border",R,N)}function f(E,N=p){const I=[];for(let A=0;A<E.length;A+=N){const R=E.slice(A,A+N);I.push(R)}return I}const p=65535;function h(E,N){if(N.length>p){const I=f(N);return E.apply(null,I.map(A=>E.apply(null,A)))}else return E.apply(null,N)}function m(E){const I=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function v(E,N){let I={lhs:[],rhs:[]};return E.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(E,N){let I=Date.now();try{return N()}finally{console.log(E+" time: "+(Date.now()-I)+"ms")}}function b(E,N){return N()}let x=0;function S(E){var N=++x;return E+(""+N)}function k(E,N,I=1){N==null&&(N=E,E=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=E;A(L);L+=I)R.push(L);return R}function _(E,N){const I={};for(const A of N)E[A]!==void 0&&(I[A]=E[A]);return I}function C(E,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(E).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function T(E,N){return E.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Tte}var jte,X9e;function SGn(){if(X9e)return jte;X9e=1;let e=wGn(),t=Al().uniqueId;jte={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return jte}var Nte,J9e;function kGn(){if(J9e)return Nte;J9e=1;let e=Al();Nte={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,v;for(v=0,++l;l<u;++v,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),v===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return Nte}var Ite,e7e;function QB(){if(e7e)return Ite;e7e=1;const{applyWithChunking:e}=Al();Ite={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return Ite}var Ate,t7e;function cOt(){if(t7e)return Ate;t7e=1;var e=Ug().Graph,t=QB().slack;Ate=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return Ate}var Rte,n7e;function OGn(){if(n7e)return Rte;n7e=1;var e=cOt(),t=QB().slack,n=QB().longestPath,r=Ug().alg.preorder,s=Ug().alg.postorder,a=Al().simplify;Rte=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(x){x=a(x),n(x);var S=e(x);d(S),l(S,x);for(var k,_;k=p(S);)_=h(S,x,k),m(S,x,k,_)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(x,S,_))}function c(x,S,k){var _=x.node(k),C=_.parent;x.edge(k,C).cutvalue=u(x,S,k)}function u(x,S,k){var _=x.node(k),C=_.parent,T=!0,E=S.edge(k,C),N=0;return E||(T=!1,E=S.edge(C,k)),N=E.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==C){var L=A===T,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var F=x.edge(k,R).cutvalue;N+=L?-F:F}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,_,C){var T=k,E=x.node(_);return S[_]=!0,x.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,_))}),E.low=T,E.lim=k++,C?E.parent=C:delete E.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var _=k.v,C=k.w;S.hasEdge(_,C)||(_=k.w,C=k.v);var T=x.node(_),E=x.node(C),N=T,I=!1;T.lim>E.lim&&(N=E,I=!0);var A=S.edges().filter(R=>I===b(x,x.node(R.v),N)&&I!==b(x,x.node(R.w),N));return A.reduce((R,L)=>t(S,L)<t(S,R)?L:R)}function m(x,S,k,_){var C=k.v,T=k.w;x.removeEdge(C,T),x.setEdge(_.v,_.w,{}),d(x),l(x,S),v(x,S)}function v(x,S){var k=x.nodes().find(C=>!S.node(C).parent),_=r(x,k);_=_.slice(1),_.forEach(C=>{var T=x.node(C).parent,E=S.edge(C,T),N=!1;E||(E=S.edge(T,C),N=!0),S.node(C).rank=S.node(T).rank+(N?E.minlen:-E.minlen)})}function y(x,S,k){return x.hasEdge(S,k)}function b(x,S,k){return k.low<=S.lim&&S.lim<=k.lim}return Rte}var Pte,r7e;function _Gn(){if(r7e)return Pte;r7e=1;var e=QB(),t=e.longestPath,n=cOt(),r=OGn();Pte=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return Pte}var $te,s7e;function CGn(){if(s7e)return $te;s7e=1,$te=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return $te}var Mte,a7e;function EGn(){if(a7e)return Mte;a7e=1;let e=Al();Mte={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),v=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(v,p),y.borderBottom=v,h.forEach(b=>{n(i,l,c,u,d,f,b);let x=i.node(b),S=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,_=x.borderTop?u:2*u,C=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:_,minlen:C,nestingEdge:!0}),i.setEdge(k,v,{weight:_,minlen:C,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return Mte}var Dte,i7e;function TGn(){if(i7e)return Dte;i7e=1;let e=Al();Dte=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return Dte}var Lte,o7e;function jGn(){if(o7e)return Lte;o7e=1,Lte={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return Lte}var Fte,l7e;function NGn(){if(l7e)return Fte;l7e=1;let e=Al();Fte=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return Fte}var zte,c7e;function IGn(){if(c7e)return zte;c7e=1;let e=Al().zipObject;zte=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return zte}var Bte,u7e;function AGn(){if(u7e)return Bte;u7e=1,Bte=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return Bte}var Ute,d7e;function RGn(){if(d7e)return Ute;d7e=1;let e=Al();Ute=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return Ute}var qte,f7e;function PGn(){if(f7e)return qte;f7e=1;let e=Al();qte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,v)=>v.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return qte}var Vte,p7e;function $Gn(){if(p7e)return Vte;p7e=1;let e=AGn(),t=RGn(),n=PGn();Vte=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(x=>x!==p&&x!==h));let v=e(i,d);v.forEach(x=>{if(i.children(x.v).length){let S=r(i,x.v,c,u);m[x.v]=S,Object.hasOwn(S,"barycenter")&&a(x,S)}});let y=t(v,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let x=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return Vte}var Hte,h7e;function MGn(){if(h7e)return Hte;h7e=1;let e=Ug().Graph,t=Al();Hte=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,v=u.edge(m,d),y=v!==void 0?v.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return Hte}var Wte,m7e;function DGn(){if(m7e)return Wte;m7e=1,Wte=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return Wte}var Zte,g7e;function LGn(){if(g7e)return Zte;g7e=1;let e=NGn(),t=IGn(),n=$Gn(),r=MGn(),s=DGn(),a=Ug().Graph,i=Al();Zte=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),v=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,x;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:v,S%4>=2),y=i.buildLayerMatrix(f);let _=t(f,y);_<b&&(k=0,x=Object.assign({},y),b=_)}d(f,x)}function c(f,p,h){const m=new Map,v=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&v(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&v(x,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let v=m.graph().root,y=n(m,v,h,p);y.vs.forEach((b,x)=>m.node(b).order=x),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,v)=>f.node(m).order=v))}return Zte}var Gte,v7e;function FGn(){if(v7e)return Gte;v7e=1;let e=Ug().Graph,t=Al();Gte={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let x={};function S(k,_){let C=0,T=0,E=k.length,N=_[_.length-1];return _.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:E;(R||I===N)&&(_.slice(T,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),B=H.order;(B<C||L<B)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),T=A+1,C=L)}),_}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(_,C,T,E,N){let I;t.range(C,T).forEach(A=>{I=_[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<E||L.order>N)&&a(x,R,I)})})}function k(_,C){let T=-1,E,N=0;return C.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(E=y.node(R[0]).order,S(C,N,A,T,E),N=A,T=E)}S(C,N,C.length,E,_.length)}),C}return b.length&&b.reduce(k),x}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(x=>y.node(x).dummy)}function a(y,b,x){if(b>x){let k=b;b=x,x=k}let S=y[b];S||(y[b]=S={}),S[x]=!0}function i(y,b,x){if(b>x){let S=b;b=x,x=S}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,S){let k={},_={},C={};return b.forEach(T=>{T.forEach((E,N)=>{k[E]=E,_[E]=E,C[E]=N})}),b.forEach(T=>{let E=-1;T.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>C[R]-C[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];_[N]===N&&E<C[D]&&!i(x,N,D)&&(_[D]=N,_[N]=k[N]=k[D],E=C[D])}}})}),{root:k,align:_}}function c(y,b,x,S,k){let _={},C=u(y,b,x,k),T=k?"borderLeft":"borderRight";function E(A,R){let L=C.nodes(),D=L.pop(),F={};for(;D;)F[D]?A(D):(F[D]=!0,L.push(D),L=L.concat(R(D))),D=L.pop()}function N(A){_[A]=C.inEdges(A).reduce((R,L)=>Math.max(R,_[L.v]+C.edge(L)),0)}function I(A){let R=C.outEdges(A).reduce((D,F)=>Math.min(D,_[F.w]-C.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==T&&(_[A]=Math.max(_[A],R))}return E(N,C.predecessors.bind(C)),E(I,C.successors.bind(C)),Object.keys(S).forEach(A=>_[A]=_[x[A]]),_}function u(y,b,x,S){let k=new e,_=y.graph(),C=m(_.nodesep,_.edgesep,S);return b.forEach(T=>{let E;T.forEach(N=>{let I=x[N];if(k.setNode(I),E){var A=x[E],R=k.edge(A,I);k.setEdge(A,I,Math.max(C(y,N,E),R||0))}E=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([T,E])=>{let N=v(y,T)/2;k=Math.max(E+N,k),_=Math.min(E-N,_)});const C=k-_;return C<x[0]&&(x=[C,S]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),S=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(_=>{["l","r"].forEach(C=>{let T=_+C,E=y[T];if(E===b)return;let N=Object.values(E),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[T]=t.mapValues(E,A=>A+I))})})}function p(y,b){return t.mapValues(y.ul,(x,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(_=>_[S]).sort((_,C)=>_-C);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),x=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(C=>{k=C==="u"?b:Object.values(b).reverse(),["l","r"].forEach(T=>{T==="r"&&(k=k.map(A=>Object.values(A).reverse()));let E=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,E),I=c(y,k,N.root,N.align,T==="r");T==="r"&&(I=t.mapValues(I,A=>-A)),S[C+T]=I})});let _=d(y,S);return f(S,_),p(S,y.graph().align)}function m(y,b,x){return(S,k,_)=>{let C=S.node(k),T=S.node(_),E=0,N;if(E+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":N=-C.width/2;break;case"r":N=C.width/2;break}if(N&&(E+=x?N:-N),N=0,E+=(C.dummy?b:y)/2,E+=(T.dummy?b:y)/2,E+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=T.width/2;break;case"r":N=-T.width/2;break}return N&&(E+=x?N:-N),N=0,E}}function v(y,b){return y.node(b).width}return Gte}var Qte,y7e;function zGn(){if(y7e)return Qte;y7e=1;let e=Al(),t=FGn().positionX;Qte=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return Qte}var Yte,b7e;function BGn(){if(b7e)return Yte;b7e=1;let e=SGn(),t=kGn(),n=_Gn(),r=Al().normalizeRanks,s=CGn(),a=Al().removeEmptyRanks,i=EGn(),l=TGn(),c=jGn(),u=LGn(),d=zGn(),f=Al(),p=Ug().Graph;Yte=h;function h($,q){let Z=q&&q.debugTiming?f.time:f.notime;Z("layout",()=>{let Y=Z(" buildLayoutGraph",()=>E($));Z(" runLayout",()=>m(Y,Z,q)),Z(" updateInputGraph",()=>v($,Y))})}function m($,q,Z){q(" makeSpaceForEdgeLabels",()=>N($)),q(" removeSelfEdges",()=>z($)),q(" acyclic",()=>e.run($)),q(" nestingGraph.run",()=>i.run($)),q(" rank",()=>n(f.asNonCompoundGraph($))),q(" injectEdgeLabelProxies",()=>I($)),q(" removeEmptyRanks",()=>a($)),q(" nestingGraph.cleanup",()=>i.cleanup($)),q(" normalizeRanks",()=>r($)),q(" assignRankMinMax",()=>A($)),q(" removeEdgeLabelProxies",()=>R($)),q(" normalize.run",()=>t.run($)),q(" parentDummyChains",()=>s($)),q(" addBorderSegments",()=>l($)),q(" order",()=>u($,Z)),q(" insertSelfEdges",()=>V($)),q(" adjustCoordinateSystem",()=>c.adjust($)),q(" position",()=>d($)),q(" positionSelfEdges",()=>M($)),q(" removeBorderNodes",()=>B($)),q(" normalize.undo",()=>t.undo($)),q(" fixupEdgeLabelCoords",()=>F($)),q(" undoCoordinateSystem",()=>c.undo($)),q(" translateGraph",()=>L($)),q(" assignNodeIntersects",()=>D($)),q(" reversePoints",()=>H($)),q(" acyclic.undo",()=>e.undo($))}function v($,q){$.nodes().forEach(Z=>{let Y=$.node(Z),ne=q.node(Z);Y&&(Y.x=ne.x,Y.y=ne.y,Y.rank=ne.rank,q.children(Z).length&&(Y.width=ne.width,Y.height=ne.height))}),$.edges().forEach(Z=>{let Y=$.edge(Z),ne=q.edge(Z);Y.points=ne.points,Object.hasOwn(ne,"x")&&(Y.x=ne.x,Y.y=ne.y)}),$.graph().width=q.graph().width,$.graph().height=q.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},x=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},T=["labelpos"];function E($){let q=new p({multigraph:!0,compound:!0}),Z=U($.graph());return q.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(Y=>{let ne=U($.node(Y));const J=G(ne,S);Object.keys(k).forEach(ee=>{J[ee]===void 0&&(J[ee]=k[ee])}),q.setNode(Y,J),q.setParent(Y,$.parent(Y))}),$.edges().forEach(Y=>{let ne=U($.edge(Y));q.setEdge(Y,Object.assign({},C,G(ne,_),f.pick(ne,T)))}),q}function N($){let q=$.graph();q.ranksep/=2,$.edges().forEach(Z=>{let Y=$.edge(Z);Y.minlen*=2,Y.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?Y.width+=Y.labeloffset:Y.height+=Y.labeloffset)})}function I($){$.edges().forEach(q=>{let Z=$.edge(q);if(Z.width&&Z.height){let Y=$.node(q.v),J={rank:($.node(q.w).rank-Y.rank)/2+Y.rank,e:q};f.addDummyNode($,"edge-proxy",J,"_ep")}})}function A($){let q=0;$.nodes().forEach(Z=>{let Y=$.node(Z);Y.borderTop&&(Y.minRank=$.node(Y.borderTop).rank,Y.maxRank=$.node(Y.borderBottom).rank,q=Math.max(q,Y.maxRank))}),$.graph().maxRank=q}function R($){$.nodes().forEach(q=>{let Z=$.node(q);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(q))})}function L($){let q=Number.POSITIVE_INFINITY,Z=0,Y=Number.POSITIVE_INFINITY,ne=0,J=$.graph(),ee=J.marginx||0,se=J.marginy||0;function le(X){let te=X.x,re=X.y,fe=X.width,ce=X.height;q=Math.min(q,te-fe/2),Z=Math.max(Z,te+fe/2),Y=Math.min(Y,re-ce/2),ne=Math.max(ne,re+ce/2)}$.nodes().forEach(X=>le($.node(X))),$.edges().forEach(X=>{let te=$.edge(X);Object.hasOwn(te,"x")&&le(te)}),q-=ee,Y-=se,$.nodes().forEach(X=>{let te=$.node(X);te.x-=q,te.y-=Y}),$.edges().forEach(X=>{let te=$.edge(X);te.points.forEach(re=>{re.x-=q,re.y-=Y}),Object.hasOwn(te,"x")&&(te.x-=q),Object.hasOwn(te,"y")&&(te.y-=Y)}),J.width=Z-q+ee,J.height=ne-Y+se}function D($){$.edges().forEach(q=>{let Z=$.edge(q),Y=$.node(q.v),ne=$.node(q.w),J,ee;Z.points?(J=Z.points[0],ee=Z.points[Z.points.length-1]):(Z.points=[],J=ne,ee=Y),Z.points.unshift(f.intersectRect(Y,J)),Z.points.push(f.intersectRect(ne,ee))})}function F($){$.edges().forEach(q=>{let Z=$.edge(q);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function H($){$.edges().forEach(q=>{let Z=$.edge(q);Z.reversed&&Z.points.reverse()})}function B($){$.nodes().forEach(q=>{if($.children(q).length){let Z=$.node(q),Y=$.node(Z.borderTop),ne=$.node(Z.borderBottom),J=$.node(Z.borderLeft[Z.borderLeft.length-1]),ee=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(ee.x-J.x),Z.height=Math.abs(ne.y-Y.y),Z.x=J.x+Z.width/2,Z.y=Y.y+Z.height/2}}),$.nodes().forEach(q=>{$.node(q).dummy==="border"&&$.removeNode(q)})}function z($){$.edges().forEach(q=>{if(q.v===q.w){var Z=$.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:$.edge(q)}),$.removeEdge(q)}})}function V($){var q=f.buildLayerMatrix($);q.forEach(Z=>{var Y=0;Z.forEach((ne,J)=>{var ee=$.node(ne);ee.order=J+Y,(ee.selfEdges||[]).forEach(se=>{f.addDummyNode($,"selfedge",{width:se.label.width,height:se.label.height,rank:ee.rank,order:J+ ++Y,e:se.e,label:se.label},"_se")}),delete ee.selfEdges})})}function M($){$.nodes().forEach(q=>{var Z=$.node(q);if(Z.dummy==="selfedge"){var Y=$.node(Z.e.v),ne=Y.x+Y.width/2,J=Y.y,ee=Z.x-ne,se=Y.height/2;$.setEdge(Z.e,Z.label),$.removeNode(q),Z.label.points=[{x:ne+2*ee/3,y:J-se},{x:ne+5*ee/6,y:J-se},{x:ne+ee,y:J},{x:ne+5*ee/6,y:J+se},{x:ne+2*ee/3,y:J+se}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,q){return f.mapValues(f.pick($,q),Number)}function U($){var q={};return $&&Object.entries($).forEach(([Z,Y])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),q[Z]=Y}),q}return Yte}var Kte,x7e;function UGn(){if(x7e)return Kte;x7e=1;let e=Al(),t=Ug().Graph;Kte={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return Kte}var Xte,w7e;function qGn(){return w7e||(w7e=1,Xte="1.1.8"),Xte}var Jte,S7e;function VGn(){return S7e||(S7e=1,Jte={graphlib:Ug(),layout:BGn(),debug:UGn(),util:{time:Al().time,notime:Al().notime},version:qGn()}),Jte}var HGn=VGn();const k7e=Dl(HGn);function Bl(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Bl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var WGn={value:()=>{}};function uW(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new V8(n)}function V8(e){this._=e}function ZGn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}V8.prototype=uW.prototype={constructor:V8,on:function(e,t){var n=this._,r=ZGn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=GGn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=O7e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=O7e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new V8(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function GGn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function O7e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=WGn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var fve="http://www.w3.org/1999/xhtml";const _7e={svg:"http://www.w3.org/2000/svg",xhtml:fve,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function dW(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),_7e.hasOwnProperty(t)?{space:_7e[t],local:e}:e}function QGn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===fve&&t.documentElement.namespaceURI===fve?t.createElement(e):t.createElementNS(n,e)}}function YGn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function uOt(e){var t=dW(e);return(t.local?YGn:QGn)(t)}function KGn(){}function yOe(e){return e==null?KGn:function(){return this.querySelector(e)}}function XGn(e){typeof e!="function"&&(e=yOe(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Gp(r,this._parents)}function JGn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function eQn(){return[]}function dOt(e){return e==null?eQn:function(){return this.querySelectorAll(e)}}function tQn(e){return function(){return JGn(e.apply(this,arguments))}}function nQn(e){typeof e=="function"?e=tQn(e):e=dOt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Gp(r,s)}function fOt(e){return function(){return this.matches(e)}}function pOt(e){return function(t){return t.matches(e)}}var rQn=Array.prototype.find;function sQn(e){return function(){return rQn.call(this.children,e)}}function aQn(){return this.firstElementChild}function iQn(e){return this.select(e==null?aQn:sQn(typeof e=="function"?e:pOt(e)))}var oQn=Array.prototype.filter;function lQn(){return Array.from(this.children)}function cQn(e){return function(){return oQn.call(this.children,e)}}function uQn(e){return this.selectAll(e==null?lQn:cQn(typeof e=="function"?e:pOt(e)))}function dQn(e){typeof e!="function"&&(e=fOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Gp(r,this._parents)}function hOt(e){return new Array(e.length)}function fQn(){return new Gp(this._enter||this._groups.map(hOt),this._parents)}function YB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}YB.prototype={constructor:YB,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function pQn(e){return function(){return e}}function hQn(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new YB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function mQn(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new YB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function gQn(e){return e.__data__}function vQn(e,t){if(!arguments.length)return Array.from(this,gQn);var n=t?mQn:hQn,r=this._parents,s=this._groups;typeof e!="function"&&(e=pQn(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=yQn(e.call(d,d&&d.__data__,u,r)),m=h.length,v=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,v,y,b,h,t);for(var x=0,S=0,k,_;x<m;++x)if(k=v[x]){for(x>=S&&(S=x+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Gp(i,r),i._enter=l,i._exit=c,i}function yQn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function bQn(){return new Gp(this._exit||this._groups.map(hOt),this._parents)}function xQn(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function wQn(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Gp(l,this._parents)}function SQn(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function kQn(e){e||(e=OQn);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Gp(s,this._parents).order()}function OQn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function _Qn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function CQn(){return Array.from(this)}function EQn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function TQn(){let e=0;for(const t of this)++e;return e}function jQn(){return!this.node()}function NQn(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function IQn(e){return function(){this.removeAttribute(e)}}function AQn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function RQn(e,t){return function(){this.setAttribute(e,t)}}function PQn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function $Qn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function MQn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function DQn(e,t){var n=dW(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?AQn:IQn:typeof t=="function"?n.local?MQn:$Qn:n.local?PQn:RQn)(n,t))}function mOt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function LQn(e){return function(){this.style.removeProperty(e)}}function FQn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function zQn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function BQn(e,t,n){return arguments.length>1?this.each((t==null?LQn:typeof t=="function"?zQn:FQn)(e,t,n??"")):sN(this.node(),e)}function sN(e,t){return e.style.getPropertyValue(t)||mOt(e).getComputedStyle(e,null).getPropertyValue(t)}function UQn(e){return function(){delete this[e]}}function qQn(e,t){return function(){this[e]=t}}function VQn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function HQn(e,t){return arguments.length>1?this.each((t==null?UQn:typeof t=="function"?VQn:qQn)(e,t)):this.node()[e]}function gOt(e){return e.trim().split(/^|\s+/)}function bOe(e){return e.classList||new vOt(e)}function vOt(e){this._node=e,this._names=gOt(e.getAttribute("class")||"")}vOt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function yOt(e,t){for(var n=bOe(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function bOt(e,t){for(var n=bOe(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function WQn(e){return function(){yOt(this,e)}}function ZQn(e){return function(){bOt(this,e)}}function GQn(e,t){return function(){(t.apply(this,arguments)?yOt:bOt)(this,e)}}function QQn(e,t){var n=gOt(e+"");if(arguments.length<2){for(var r=bOe(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?GQn:t?WQn:ZQn)(n,t))}function YQn(){this.textContent=""}function KQn(e){return function(){this.textContent=e}}function XQn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function JQn(e){return arguments.length?this.each(e==null?YQn:(typeof e=="function"?XQn:KQn)(e)):this.node().textContent}function eYn(){this.innerHTML=""}function tYn(e){return function(){this.innerHTML=e}}function nYn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function rYn(e){return arguments.length?this.each(e==null?eYn:(typeof e=="function"?nYn:tYn)(e)):this.node().innerHTML}function sYn(){this.nextSibling&&this.parentNode.appendChild(this)}function aYn(){return this.each(sYn)}function iYn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function oYn(){return this.each(iYn)}function lYn(e){var t=typeof e=="function"?e:uOt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function cYn(){return null}function uYn(e,t){var n=typeof e=="function"?e:uOt(e),r=t==null?cYn:typeof t=="function"?t:yOe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function dYn(){var e=this.parentNode;e&&e.removeChild(this)}function fYn(){return this.each(dYn)}function pYn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function hYn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mYn(e){return this.select(e?hYn:pYn)}function gYn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function vYn(e){return function(t){e.call(this,t,this.__data__)}}function yYn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function bYn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function xYn(e,t,n){return function(){var r=this.__on,s,a=vYn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function wYn(e,t,n){var r=yYn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?xYn:bYn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function xOt(e,t,n){var r=mOt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function SYn(e,t){return function(){return xOt(this,e,t)}}function kYn(e,t){return function(){return xOt(this,e,t.apply(this,arguments))}}function OYn(e,t){return this.each((typeof t=="function"?kYn:SYn)(e,t))}function*_Yn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var wOt=[null];function Gp(e,t){this._groups=e,this._parents=t}function Q3(){return new Gp([[document.documentElement]],wOt)}function CYn(){return this}Gp.prototype=Q3.prototype={constructor:Gp,select:XGn,selectAll:nQn,selectChild:iQn,selectChildren:uQn,filter:dQn,data:vQn,enter:fQn,exit:bQn,join:xQn,merge:wQn,selection:CYn,order:SQn,sort:kQn,call:_Qn,nodes:CQn,node:EQn,size:TQn,empty:jQn,each:NQn,attr:DQn,style:BQn,property:HQn,classed:QQn,text:JQn,html:rYn,raise:aYn,lower:oYn,append:lYn,insert:uYn,remove:fYn,clone:mYn,datum:gYn,on:wYn,dispatch:OYn,[Symbol.iterator]:_Yn};function Op(e){return typeof e=="string"?new Gp([[document.querySelector(e)]],[document.documentElement]):new Gp([[e]],wOt)}function EYn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function ug(e,t){if(e=EYn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const TYn={passive:!1},NM={capture:!0,passive:!1};function ene(e){e.stopImmediatePropagation()}function aj(e){e.preventDefault(),e.stopImmediatePropagation()}function SOt(e){var t=e.document.documentElement,n=Op(e).on("dragstart.drag",aj,NM);"onselectstart"in t?n.on("selectstart.drag",aj,NM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function kOt(e,t){var n=e.document.documentElement,r=Op(e).on("dragstart.drag",null);t&&(r.on("click.drag",aj,NM),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const hF=e=>()=>e;function pve(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,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:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}pve.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function jYn(e){return!e.ctrlKey&&!e.button}function NYn(){return this.parentNode}function IYn(e,t){return t??{x:e.x,y:e.y}}function AYn(){return navigator.maxTouchPoints||"ontouchstart"in this}function OOt(){var e=jYn,t=NYn,n=IYn,r=AYn,s={},a=uW("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,TYn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,_){if(!(d||!e.call(this,k,_))){var C=S(this,t.call(this,k,_),k,_,"mouse");C&&(Op(k.view).on("mousemove.drag",m,NM).on("mouseup.drag",v,NM),SOt(k.view),ene(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(aj(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function v(k){Op(k.view).on("mousemove.drag mouseup.drag",null),kOt(k.view,u),aj(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,T=t.call(this,k,_),E=C.length,N,I;for(N=0;N<E;++N)(I=S(this,T,k,_,C[N].identifier,C[N]))&&(ene(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,T,E;for(T=0;T<C;++T)(E=s[_[T].identifier])&&(aj(k),E("drag",k,_[T]))}function x(k){var _=k.changedTouches,C=_.length,T,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),T=0;T<C;++T)(E=s[_[T].identifier])&&(ene(k),E("end",k,_[T]))}function S(k,_,C,T,E,N){var I=a.copy(),A=ug(N||C,_),R,L,D;if((D=n.call(k,new pve("beforestart",{sourceEvent:C,target:p,identifier:E,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),T))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,B,z){var V=A,M;switch(H){case"start":s[E]=F,M=i++;break;case"end":delete s[E],--i;case"drag":A=ug(z||B,_),M=i;break}I.call(H,k,new pve(H,{sourceEvent:B,subject:D,target:p,identifier:E,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-V[0],dy:A[1]-V[1],dispatch:I}),T)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:hF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:hF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:hF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:hF(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function xOe(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _Ot(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Y3(){}var IM=.7,KB=1/IM,ij="\\s*([+-]?\\d+)\\s*",AM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",RYn=/^#([0-9a-f]{3,8})$/,PYn=new RegExp(`^rgb\\(${ij},${ij},${ij}\\)$`),$Yn=new RegExp(`^rgb\\(${cy},${cy},${cy}\\)$`),MYn=new RegExp(`^rgba\\(${ij},${ij},${ij},${AM}\\)$`),DYn=new RegExp(`^rgba\\(${cy},${cy},${cy},${AM}\\)$`),LYn=new RegExp(`^hsl\\(${AM},${cy},${cy}\\)$`),FYn=new RegExp(`^hsla\\(${AM},${cy},${cy},${AM}\\)$`),C7e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};xOe(Y3,YO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:E7e,formatHex:E7e,formatHex8:zYn,formatHsl:BYn,formatRgb:T7e,toString:T7e});function E7e(){return this.rgb().formatHex()}function zYn(){return this.rgb().formatHex8()}function BYn(){return COt(this).formatHsl()}function T7e(){return this.rgb().formatRgb()}function YO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=RYn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?j7e(t):n===3?new xf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?mF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?mF(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=PYn.exec(e))?new xf(t[1],t[2],t[3],1):(t=$Yn.exec(e))?new xf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=MYn.exec(e))?mF(t[1],t[2],t[3],t[4]):(t=DYn.exec(e))?mF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=LYn.exec(e))?A7e(t[1],t[2]/100,t[3]/100,1):(t=FYn.exec(e))?A7e(t[1],t[2]/100,t[3]/100,t[4]):C7e.hasOwnProperty(e)?j7e(C7e[e]):e==="transparent"?new xf(NaN,NaN,NaN,0):null}function j7e(e){return new xf(e>>16&255,e>>8&255,e&255,1)}function mF(e,t,n,r){return r<=0&&(e=t=n=NaN),new xf(e,t,n,r)}function UYn(e){return e instanceof Y3||(e=YO(e)),e?(e=e.rgb(),new xf(e.r,e.g,e.b,e.opacity)):new xf}function hve(e,t,n,r){return arguments.length===1?UYn(e):new xf(e,t,n,r??1)}function xf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}xOe(xf,hve,_Ot(Y3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?IM:Math.pow(IM,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xf(rO(this.r),rO(this.g),rO(this.b),XB(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:N7e,formatHex:N7e,formatHex8:qYn,formatRgb:I7e,toString:I7e}));function N7e(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}`}function qYn(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}${Mk((isNaN(this.opacity)?1:this.opacity)*255)}`}function I7e(){const e=XB(this.opacity);return`${e===1?"rgb(":"rgba("}${rO(this.r)}, ${rO(this.g)}, ${rO(this.b)}${e===1?")":`, ${e})`}`}function XB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function rO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mk(e){return e=rO(e),(e<16?"0":"")+e.toString(16)}function A7e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new vg(e,t,n,r)}function COt(e){if(e instanceof vg)return new vg(e.h,e.s,e.l,e.opacity);if(e instanceof Y3||(e=YO(e)),!e)return new vg;if(e instanceof vg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new vg(i,l,c,e.opacity)}function VYn(e,t,n,r){return arguments.length===1?COt(e):new vg(e,t,n,r??1)}function vg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}xOe(vg,VYn,_Ot(Y3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new vg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?IM:Math.pow(IM,e),new vg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new xf(tne(e>=240?e-240:e+120,s,r),tne(e,s,r),tne(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new vg(R7e(this.h),gF(this.s),gF(this.l),XB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=XB(this.opacity);return`${e===1?"hsl(":"hsla("}${R7e(this.h)}, ${gF(this.s)*100}%, ${gF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function R7e(e){return e=(e||0)%360,e<0?e+360:e}function gF(e){return Math.max(0,Math.min(1,e||0))}function tne(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const wOe=e=>()=>e;function HYn(e,t){return function(n){return e+n*t}}function WYn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function ZYn(e){return(e=+e)==1?EOt:function(t,n){return n-t?WYn(t,n,e):wOe(isNaN(t)?n:t)}}function EOt(e,t){var n=t-e;return n?HYn(e,n):wOe(isNaN(e)?t:e)}const JB=(function e(t){var n=ZYn(t);function r(s,a){var i=n((s=hve(s)).r,(a=hve(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=EOt(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function GYn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function QYn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function YYn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=vx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function KYn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function fg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function XYn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=vx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var mve=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,nne=new RegExp(mve.source,"g");function JYn(e){return function(){return e}}function eKn(e){return function(t){return e(t)+""}}function TOt(e,t){var n=mve.lastIndex=nne.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=mve.exec(e))&&(s=nne.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:fg(r,s)})),n=nne.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?eKn(c[0].x):JYn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function vx(e,t){var n=typeof t,r;return t==null||n==="boolean"?wOe(t):(n==="number"?fg:n==="string"?(r=YO(t))?(t=r,JB):TOt:t instanceof YO?JB:t instanceof Date?KYn:QYn(t)?GYn:Array.isArray(t)?YYn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?XYn:fg)(e,t)}function SOe(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var P7e=180/Math.PI,gve={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function jOt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*P7e,skewX:Math.atan(c)*P7e,scaleX:i,scaleY:l}}var vF;function tKn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?gve:jOt(t.a,t.b,t.c,t.d,t.e,t.f)}function nKn(e){return e==null||(vF||(vF=document.createElementNS("http://www.w3.org/2000/svg","g")),vF.setAttribute("transform",e),!(e=vF.transform.baseVal.consolidate()))?gve:(e=e.matrix,jOt(e.a,e.b,e.c,e.d,e.e,e.f))}function NOt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push("translate(",null,t,null,n);m.push({i:v-4,x:fg(u,f)},{i:v-2,x:fg(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:fg(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:fg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push(s(h)+"scale(",null,",",null,")");m.push({i:v-4,x:fg(u,f)},{i:v-2,x:fg(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,v=p.length,y;++m<v;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var rKn=NOt(tKn,"px, ","px)","deg)"),sKn=NOt(nKn,", ",")",")"),aKn=1e-12;function $7e(e){return((e=Math.exp(e))+1/e)/2}function iKn(e){return((e=Math.exp(e))-1/e)/2}function oKn(e){return((e=Math.exp(2*e))-1)/(e+1)}const H8=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,v=h*h+m*m,y,b;if(v<aKn)b=Math.log(p/u)/t,y=function(T){return[l+T*h,c+T*m,u*Math.exp(t*T*b)]};else{var x=Math.sqrt(v),S=(p*p-u*u+r*v)/(2*u*n*x),k=(p*p-u*u-r*v)/(2*p*n*x),_=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(k*k+1)-k);b=(C-_)/t,y=function(T){var E=T*b,N=$7e(_),I=u/(n*x)*(N*oKn(t*E+_)-iKn(_));return[l+I*h,c+I*m,u*N/$7e(t*E+_)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function lKn(e,t){t===void 0&&(t=e,e=vx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var aN=0,GP=0,RR=0,IOt=1e3,eU,QP,tU=0,KO=0,fW=0,RM=typeof performance=="object"&&performance.now?performance:Date,AOt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function kOe(){return KO||(AOt(cKn),KO=RM.now()+fW)}function cKn(){KO=0}function nU(){this._call=this._time=this._next=null}nU.prototype=ROt.prototype={constructor:nU,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?kOe():+n)+(t==null?0:+t),!this._next&&QP!==this&&(QP?QP._next=this:eU=this,QP=this),this._call=e,this._time=n,vve()},stop:function(){this._call&&(this._call=null,this._time=1/0,vve())}};function ROt(e,t,n){var r=new nU;return r.restart(e,t,n),r}function uKn(){kOe(),++aN;for(var e=eU,t;e;)(t=KO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--aN}function M7e(){KO=(tU=RM.now())+fW,aN=GP=0;try{uKn()}finally{aN=0,fKn(),KO=0}}function dKn(){var e=RM.now(),t=e-tU;t>IOt&&(fW-=t,tU=e)}function fKn(){for(var e,t=eU,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:eU=n);QP=e,vve(r)}function vve(e){if(!aN){GP&&(GP=clearTimeout(GP));var t=e-KO;t>24?(e<1/0&&(GP=setTimeout(M7e,e-RM.now()-fW)),RR&&(RR=clearInterval(RR))):(RR||(tU=RM.now(),RR=setInterval(dKn,IOt)),aN=1,AOt(M7e))}}function D7e(e,t,n){var r=new nU;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var pKn=uW("start","end","cancel","interrupt"),hKn=[],POt=0,L7e=1,yve=2,W8=3,F7e=4,bve=5,Z8=6;function pW(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;mKn(e,n,{name:t,index:r,group:s,on:pKn,tween:hKn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:POt})}function OOe(e,t){var n=Xg(e,t);if(n.state>POt)throw new Error("too late; already scheduled");return n}function zy(e,t){var n=Xg(e,t);if(n.state>W8)throw new Error("too late; already running");return n}function Xg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function mKn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=ROt(a,0,n.time);function a(u){n.state=L7e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==L7e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===W8)return D7e(i);h.state===F7e?(h.state=Z8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=Z8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(D7e(function(){n.state===W8&&(n.state=F7e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=yve,n.on.call("start",e,e.__data__,n.index,n.group),n.state===yve){for(n.state=W8,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=bve,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===bve&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Z8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function G8(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>yve&&r.state<bve,r.state=Z8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function gKn(e){return this.each(function(){G8(this,e)})}function vKn(e,t){var n,r;return function(){var s=zy(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function yKn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=zy(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function bKn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Xg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?vKn:yKn)(n,e,t))}function _Oe(e,t,n){var r=e._id;return e.each(function(){var s=zy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Xg(s,r).value[t]}}function $Ot(e,t){var n;return(typeof t=="number"?fg:t instanceof YO?JB:(n=YO(t))?(t=n,JB):TOt)(e,t)}function xKn(e){return function(){this.removeAttribute(e)}}function wKn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function SKn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function kKn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function OKn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function _Kn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function CKn(e,t){var n=dW(e),r=n==="transform"?sKn:$Ot;return this.attrTween(e,typeof t=="function"?(n.local?_Kn:OKn)(n,r,_Oe(this,"attr."+e,t)):t==null?(n.local?wKn:xKn)(n):(n.local?kKn:SKn)(n,r,t))}function EKn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function TKn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function jKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&TKn(e,a)),n}return s._value=t,s}function NKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&EKn(e,a)),n}return s._value=t,s}function IKn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=dW(e);return this.tween(n,(r.local?jKn:NKn)(r,t))}function AKn(e,t){return function(){OOe(this,e).delay=+t.apply(this,arguments)}}function RKn(e,t){return t=+t,function(){OOe(this,e).delay=t}}function PKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?AKn:RKn)(t,e)):Xg(this.node(),t).delay}function $Kn(e,t){return function(){zy(this,e).duration=+t.apply(this,arguments)}}function MKn(e,t){return t=+t,function(){zy(this,e).duration=t}}function DKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?$Kn:MKn)(t,e)):Xg(this.node(),t).duration}function LKn(e,t){if(typeof t!="function")throw new Error;return function(){zy(this,e).ease=t}}function FKn(e){var t=this._id;return arguments.length?this.each(LKn(t,e)):Xg(this.node(),t).ease}function zKn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;zy(this,e).ease=n}}function BKn(e){if(typeof e!="function")throw new Error;return this.each(zKn(this._id,e))}function UKn(e){typeof e!="function"&&(e=fOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Dx(r,this._parents,this._name,this._id)}function qKn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new Dx(i,this._parents,this._name,this._id)}function VKn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function HKn(e,t,n){var r,s,a=VKn(t)?OOe:zy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function WKn(e,t){var n=this._id;return arguments.length<2?Xg(this.node(),n).on.on(e):this.each(HKn(n,e,t))}function ZKn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function GKn(){return this.on("end.remove",ZKn(this._id))}function QKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=yOe(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,pW(u[p],t,n,p,u,Xg(d,n)));return new Dx(a,this._parents,t,n)}function YKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dOt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Xg(d,n),v=0,y=p.length;v<y;++v)(h=p[v])&&pW(h,t,n,v,p,m);a.push(p),i.push(d)}return new Dx(a,i,t,n)}var KKn=Q3.prototype.constructor;function XKn(){return new KKn(this._groups,this._parents)}function JKn(e,t){var n,r,s;return function(){var a=sN(this,e),i=(this.style.removeProperty(e),sN(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function MOt(e){return function(){this.style.removeProperty(e)}}function eXn(e,t,n){var r,s=n+"",a;return function(){var i=sN(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function tXn(e,t,n){var r,s,a;return function(){var i=sN(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),sN(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function nXn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=zy(this,e),u=c.on,d=c.value[a]==null?l||(l=MOt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function rXn(e,t,n){var r=(e+="")=="transform"?rKn:$Ot;return t==null?this.styleTween(e,JKn(e,r)).on("end.style."+e,MOt(e)):typeof t=="function"?this.styleTween(e,tXn(e,r,_Oe(this,"style."+e,t))).each(nXn(this._id,e)):this.styleTween(e,eXn(e,r,t),n).on("end.style."+e,null)}function sXn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function aXn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&sXn(e,i,n)),r}return a._value=t,a}function iXn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,aXn(e,t,n??""))}function oXn(e){return function(){this.textContent=e}}function lXn(e){return function(){var t=e(this);this.textContent=t??""}}function cXn(e){return this.tween("text",typeof e=="function"?lXn(_Oe(this,"text",e)):oXn(e==null?"":e+""))}function uXn(e){return function(t){this.textContent=e.call(this,t)}}function dXn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&uXn(s)),t}return r._value=e,r}function fXn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,dXn(e))}function pXn(){for(var e=this._name,t=this._id,n=DOt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Xg(c,t);pW(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Dx(r,this._parents,e,n)}function hXn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=zy(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var mXn=0;function Dx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function DOt(){return++mXn}var Sb=Q3.prototype;Dx.prototype={constructor:Dx,select:QKn,selectAll:YKn,selectChild:Sb.selectChild,selectChildren:Sb.selectChildren,filter:UKn,merge:qKn,selection:XKn,transition:pXn,call:Sb.call,nodes:Sb.nodes,node:Sb.node,size:Sb.size,empty:Sb.empty,each:Sb.each,on:WKn,attr:CKn,attrTween:IKn,style:rXn,styleTween:iXn,text:cXn,textTween:fXn,remove:GKn,tween:bKn,delay:PKn,duration:DKn,ease:FKn,easeVarying:BKn,end:hXn,[Symbol.iterator]:Sb[Symbol.iterator]};function gXn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var vXn={time:null,delay:0,duration:250,ease:gXn};function yXn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function bXn(e){var t,n;e instanceof Dx?(t=e._id,e=e._name):(t=DOt(),(n=vXn).time=kOe(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&pW(c,e,t,u,i,n||yXn(c,t));return new Dx(r,this._parents,e,t)}Q3.prototype.interrupt=gKn;Q3.prototype.transition=bXn;const yF=e=>()=>e;function xXn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){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:s}})}function sx(e,t,n){this.k=e,this.x=t,this.y=n}sx.prototype={constructor:sx,scale:function(e){return e===1?this:new sx(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new sx(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 hW=new sx(1,0,0);LOt.prototype=sx.prototype;function LOt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return hW;return e.__zoom}function rne(e){e.stopImmediatePropagation()}function PR(e){e.preventDefault(),e.stopImmediatePropagation()}function wXn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function SXn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function z7e(){return this.__zoom||hW}function kXn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function OXn(){return navigator.maxTouchPoints||"ontouchstart"in this}function _Xn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function FOt(){var e=wXn,t=SXn,n=_Xn,r=kXn,s=OXn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=H8,u=uW("start","zoom","end"),d,f,p,h=500,m=150,v=0,y=10;function b(D){D.property("__zoom",z7e).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,F,H,B){var z=D.selection?D.selection():D;z.property("__zoom",z7e),D!==z?_(D,F,H,B):z.interrupt().each(function(){C(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,B){b.scaleTo(D,function(){var z=this.__zoom.k,V=typeof F=="function"?F.apply(this,arguments):F;return z*V},H,B)},b.scaleTo=function(D,F,H,B){b.transform(D,function(){var z=t.apply(this,arguments),V=this.__zoom,M=H==null?k(z):typeof H=="function"?H.apply(this,arguments):H,G=V.invert(M),U=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(V,U),M,G),z,i)},H,B)},b.translateBy=function(D,F,H,B){b.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,B)},b.translateTo=function(D,F,H,B,z){b.transform(D,function(){var V=t.apply(this,arguments),M=this.__zoom,G=B==null?k(V):typeof B=="function"?B.apply(this,arguments):B;return n(hW.translate(G[0],G[1]).scale(M.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof H=="function"?-H.apply(this,arguments):-H),V,i)},B,z)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new sx(F,D.x,D.y)}function S(D,F,H){var B=F[0]-H[0]*D.k,z=F[1]-H[1]*D.k;return B===D.x&&z===D.y?D:new sx(D.k,B,z)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,F,H,B){D.on("start.zoom",function(){C(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(B).end()}).tween("zoom",function(){var z=this,V=arguments,M=C(z,V).event(B),G=t.apply(z,V),U=H==null?k(G):typeof H=="function"?H.apply(z,V):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=z.__zoom,Z=typeof F=="function"?F.apply(z,V):F,Y=c(q.invert(U).concat($/q.k),Z.invert(U).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var J=Y(ne),ee=$/J[2];ne=new sx(ee,U[0]-J[0]*ee,U[1]-J[1]*ee)}M.zoom(null,ne)}})}function C(D,F,H){return!H&&D.__zooming||new T(D,F)}function T(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}T.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=Op(this.that).datum();u.call(D,this.that,new xXn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function E(D,...F){if(!e.apply(this,arguments))return;var H=C(this,F).event(D),B=this.__zoom,z=Math.max(a[0],Math.min(a[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=ug(D);if(H.wheel)(H.mouse[0][0]!==V[0]||H.mouse[0][1]!==V[1])&&(H.mouse[1]=B.invert(H.mouse[0]=V)),clearTimeout(H.wheel);else{if(B.k===z)return;H.mouse=[V,B.invert(V)],G8(this),H.start()}PR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(B,z),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...F){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,B=C(this,F,!0).event(D),z=Op(D.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),V=ug(D,H),M=D.clientX,G=D.clientY;SOt(D.view),rne(D),B.mouse=[V,this.__zoom.invert(V)],G8(this),B.start();function U(q){if(PR(q),!B.moved){var Z=q.clientX-M,Y=q.clientY-G;B.moved=Z*Z+Y*Y>v}B.event(q).zoom("mouse",n(S(B.that.__zoom,B.mouse[0]=ug(q,H),B.mouse[1]),B.extent,i))}function $(q){z.on("mousemove.zoom mouseup.zoom",null),kOt(q.view,B.moved),PR(q),B.event(q).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,B=ug(D.changedTouches?D.changedTouches[0]:D,this),z=H.invert(B),V=H.k*(D.shiftKey?.5:2),M=n(S(x(H,V),B,z),t.apply(this,F),i);PR(D),l>0?Op(this).transition().duration(l).call(_,M,B,D):Op(this).call(b.transform,M,B,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,B=H.length,z=C(this,F,D.changedTouches.length===B).event(D),V,M,G,U;for(rne(D),M=0;M<B;++M)G=H[M],U=ug(G,this),U=[U,this.__zoom.invert(U),G.identifier],z.touch0?!z.touch1&&z.touch0[2]!==U[2]&&(z.touch1=U,z.taps=0):(z.touch0=U,V=!0,z.taps=1+!!d);d&&(d=clearTimeout(d)),V&&(z.taps<2&&(f=U[0],d=setTimeout(function(){d=null},h)),G8(this),z.start())}}function R(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M,G,U;for(PR(D),V=0;V<z;++V)M=B[V],G=ug(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=G:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=G);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],q=H.touch0[1],Z=H.touch1[0],Y=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,J=(J=Y[0]-q[0])*J+(J=Y[1]-q[1])*J;M=x(M,Math.sqrt(ne/J)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],U=[(q[0]+Y[0])/2,(q[1]+Y[1])/2]}else if(H.touch0)G=H.touch0[0],U=H.touch0[1];else return;H.zoom("touch",n(S(M,G,U),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M;for(rne(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),V=0;V<z;++V)M=B[V],H.touch0&&H.touch0[2]===M.identifier?delete H.touch0:H.touch1&&H.touch1[2]===M.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(M=ug(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=Op(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:yF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:yF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:yF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:yF([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(v=(D=+D)*D,b):Math.sqrt(v)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const ky={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},PM=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],zOt=["Enter"," ","Escape"],BOt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var iN;(function(e){e.Strict="strict",e.Loose="loose"})(iN||(iN={}));var sO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(sO||(sO={}));var $M;(function(e){e.Partial="partial",e.Full="full"})($M||($M={}));const UOt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Cw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Cw||(Cw={}));var MM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(MM||(MM={}));var nr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(nr||(nr={}));const B7e={[nr.Left]:nr.Right,[nr.Right]:nr.Left,[nr.Top]:nr.Bottom,[nr.Bottom]:nr.Top};function qOt(e){return e===null?null:e?"valid":"invalid"}const VOt=e=>"id"in e&&"source"in e&&"target"in e,CXn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),COe=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),K3=(e,t=[0,0])=>{const{width:n,height:r}=l0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},EXn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):COe(s)?s:t.nodeLookup.get(s.id));const l=i?rU(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mW(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gW(n)},X3=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=mW(n,rU(s)),r=!0)}),r?gW(n):{x:0,y:0,width:0,height:0}},EOe=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...e4(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,v=DM(l,lN(u)),y=(h??0)*(m??0),b=a&&v>0;(!u.internals.handleBounds||b||v>=y||u.dragging)&&c.push(u)}return c},TXn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function jXn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function NXn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=jXn(e,i),c=X3(l),u=TOe(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function HOt({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",ky.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&cN(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=cN(f)?XO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",ky.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function IXn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(v=>v.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=TXn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const oN=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),XO=(e={x:0,y:0},t,n)=>({x:oN(e.x,t[0][0],t[1][0]-(n?.width??0)),y:oN(e.y,t[0][1],t[1][1]-(n?.height??0))});function WOt(e,t,n){const{width:r,height:s}=l0(n),{x:a,y:i}=n.internals.positionAbsolute;return XO(e,[[a,i],[a+r,i+s]],t)}const U7e=(e,t,n)=>e<t?oN(Math.abs(e-t),1,t)/t:e>n?-oN(Math.abs(e-n),1,t)/t:0,ZOt=(e,t,n=15,r=40)=>{const s=U7e(e.x,r,t.width-r)*n,a=U7e(e.y,r,t.height-r)*n;return[s,a]},mW=(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)}),xve=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),gW=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),lN=(e,t=[0,0])=>{const{x:n,y:r}=COe(e)?e.internals.positionAbsolute:K3(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}},rU=(e,t=[0,0])=>{const{x:n,y:r}=COe(e)?e.internals.positionAbsolute:K3(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)}},GOt=(e,t)=>gW(mW(xve(e),xve(t))),DM=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},q7e=e=>Sg(e.width)&&Sg(e.height)&&Sg(e.x)&&Sg(e.y),Sg=e=>!isNaN(e)&&isFinite(e),AXn=(e,t)=>{},J3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),e4=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?J3(l,i):l},sU=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function vE(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function RXn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=vE(e,n),s=vE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=vE(e.top??e.y??0,n),s=vE(e.bottom??e.y??0,n),a=vE(e.left??e.x??0,t),i=vE(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function PXn(e,t,n,r,s,a){const{x:i,y:l}=sU(e,[t,n,r]),{x:c,y:u}=sU({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const TOe=(e,t,n,r,s,a)=>{const i=RXn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=oN(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,v=PXn(e,h,m,d,t,n),y={left:Math.min(v.left-i.left,0),top:Math.min(v.top-i.top,0),right:Math.min(v.right-i.right,0),bottom:Math.min(v.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},LM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function cN(e){return e!=null&&e!=="parent"}function l0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function QOt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function YOt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function V7e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function $Xn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function MXn(e){return{...BOt,...e||{}}}function I2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=kg(e),l=e4({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?J3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const jOe=e=>({width:e.offsetWidth,height:e.offsetHeight}),KOt=e=>e?.getRootNode?.()||window?.document,DXn=["INPUT","SELECT","TEXTAREA"];function XOt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:DXn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const JOt=e=>"clientX"in e,kg=(e,t)=>{const n=JOt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},H7e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...jOe(i)}})};function e_t({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function bF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function W7e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case nr.Left:return[t-bF(t-r,a),n];case nr.Right:return[t+bF(r-t,a),n];case nr.Top:return[t,n-bF(n-s,a)];case nr.Bottom:return[t,n+bF(s-n,a)]}}function NOe({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,curvature:i=.25}){const[l,c]=W7e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=W7e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=e_t({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function t_t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function LXn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function FXn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=mW(rU(e),rU(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return DM(i,gW(a))>0}const zXn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,BXn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),UXn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||zXn;let s;return VOt(e)?s={...e}:s={...e,id:r(e)},BXn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function n_t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=t_t({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const Z7e={[nr.Left]:{x:-1,y:0},[nr.Right]:{x:1,y:0},[nr.Top]:{x:0,y:-1},[nr.Bottom]:{x:0,y:1}},qXn=({source:e,sourcePosition:t=nr.Bottom,target:n})=>t===nr.Left||t===nr.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},G7e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function VXn({source:e,sourcePosition:t=nr.Bottom,target:n,targetPosition:r=nr.Top,center:s,offset:a,stepPosition:i}){const l=Z7e[t],c=Z7e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=qXn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],v,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=t_t({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(v=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(v=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const E=[{x:v,y:u.y},{x:v,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?E:N:m=p==="x"?N:E}else{const E=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:E:m=l.y===h?E:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const F=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*F:x[p]=(d[p]>n[p]?-1:1)*F}}if(t!==r){const D=p==="x"?"y":"x",F=l[p]===c[D],H=u[D]>d[D],B=u[D]<d[D];(l[p]===1&&(!F&&H||F&&B)||l[p]!==1&&(!F&&B||F&&H))&&(m=p==="x"?E:N)}const I={x:u.x+b.x,y:u.y+b.y},A={x:d.x+x.x,y:d.y+x.y},R=Math.max(Math.abs(I.x-m[0].x),Math.abs(A.x-m[0].x)),L=Math.max(Math.abs(I.y-m[0].y),Math.abs(A.y-m[0].y));R>=L?(v=(I.x+A.x)/2,y=m[0].y):(v=m[0].x,y=(I.y+A.y)/2)}const _={x:u.x+b.x,y:u.y+b.y},C={x:d.x+x.x,y:d.y+x.y};return[[e,..._.x!==m[0].x||_.y!==m[0].y?[_]:[],...m,...C.x!==m[m.length-1].x||C.y!==m[m.length-1].y?[C]:[],n],v,y,S,k]}function HXn(e,t,n,r){const s=Math.min(G7e(e,t)/2,G7e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function wve({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,v]=VXn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=HXn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,v]}function Q7e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function WXn(e){const{sourceNode:t,targetNode:n}=e;if(!Q7e(t)||!Q7e(n))return null;const r=t.internals.handleBounds||Y7e(t.handles),s=n.internals.handleBounds||Y7e(n.handles),a=K7e(r?.source??[],e.sourceHandle),i=K7e(e.connectionMode===iN.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",ky.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||nr.Bottom,c=i?.position||nr.Top,u=JO(t,a,l),d=JO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function Y7e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function JO(e,t,n=nr.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??l0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case nr.Top:return{x:s+i/2,y:a};case nr.Right:return{x:s+i,y:a+l/2};case nr.Bottom:return{x:s+i/2,y:a+l};case nr.Left:return{x:s,y:a+l/2}}}function K7e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Sve(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function ZXn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=Sve(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const r_t=1e3,GXn=10,IOe={nodeOrigin:[0,0],nodeExtent:PM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},QXn={...IOe,checkEquality:!0};function AOe(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function YXn(e,t,n){const r=AOe(IOe,n);for(const s of e.values())if(s.parentId)POe(s,e,t,r);else{const a=K3(s,r.nodeOrigin),i=cN(s.extent)?s.extent:r.nodeExtent,l=XO(a,i,l0(s));s.internals.positionAbsolute=l}}function KXn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function ROe(e){return e==="manual"}function kve(e,t,n,r={}){const s=AOe(QXn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!ROe(s.zIndexMode)?r_t:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=K3(d,s.nodeOrigin),h=cN(d.extent)?d.extent:s.nodeExtent,m=XO(p,h,l0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:KXn(d,f),z:s_t(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&POe(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function XXn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function POe(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=AOe(IOe,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}XXn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*GXn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!ROe(c)?r_t:0,{x:p,y:h,z:m}=JXn(e,d,i,l,f,c),{positionAbsolute:v}=e.internals,y=p!==v.x||h!==v.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:v,z:m}})}function s_t(e,t,n){const r=Sg(e.zIndex)?e.zIndex:0;return ROe(n)?r:r+(e.selected?t:0)}function JXn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=l0(e),u=K3(e,n),d=cN(e.extent)?XO(u,e.extent,c):u;let f=XO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=WOt(f,c,t));const p=s_t(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function $Oe(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??lN(l),u=GOt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=l0(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),v=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(v-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(x=>{e.some(S=>S.id===x.id)||s.push({id:x.id,type:"position",position:{x:x.position.x+p,y:x.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:v+(h?f[1]*h-b:0)}})}),s}function eJn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const v=jOe(h.nodeElement),y=m.measured.width!==v.width||m.measured.height!==v.height;if(!!(v.width&&v.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=cN(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=WOt(k,v,t.get(m.parentId)):S&&(k=XO(k,S,v));const _={...m,measured:v,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:H7e("source",h.nodeElement,x,f,m.id),target:H7e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,_),m.parentId&&POe(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:v}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:lN(_,s)}))}}if(p.length>0){const h=$Oe(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function tJn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function X7e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function a_t(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;X7e("source",c,d,e,s,i),X7e("target",c,u,e,a,l),t.set(r.id,r)}}function i_t(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:i_t(n,t):!1}function J7e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function nJn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!i_t(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function sne({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function rJn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=J3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function sJn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,v=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:T=0}){p=Op(k);function E({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:B,nodeOrigin:z,onNodeDrag:V,onSelectionDrag:M,onError:G,updateNodePositions:U}=t();a={x:R,y:L};let $=!1;const q=l.size>1,Z=q&&F?xve(X3(l)):null,Y=q&&B?rJn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,J]of l){if(!D.has(ne))continue;let ee={x:R-J.distance.x,y:L-J.distance.y};B&&(ee=Y?{x:Math.round(ee.x+Y.x),y:Math.round(ee.y+Y.y)}:J3(ee,H));let se=null;if(q&&F&&!J.extent&&Z){const{positionAbsolute:te}=J.internals,re=te.x-Z.x+F[0][0],fe=te.x+J.measured.width-Z.x2+F[1][0],ce=te.y-Z.y+F[0][1],Se=te.y+J.measured.height-Z.y2+F[1][1];se=[[re,ce],[fe,Se]]}const{position:le,positionAbsolute:X}=HOt({nodeId:ne,nextPosition:ee,nodeLookup:D,nodeExtent:se||F,nodeOrigin:z,onError:G});$=$||J.position.x!==le.x||J.position.y!==le.y,J.position=le,J.internals.positionAbsolute=X}if(m=m||$,!!$&&(U(l,!0),v&&(r||V||!C&&M))){const[ne,J]=sne({nodeId:C,dragItems:l,nodeLookup:D});r?.(v,l,ne,J),V?.(v,ne,J),C||M?.(v,J)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(i);return}const[H,B]=ZOt(u,d,D);(H!==0||B!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-B/R[2],await L({x:H,y:B})&&E(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:B,snapToGrid:z,selectNodesOnDrag:V,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:U}=t();f=!0,(!V||!_)&&!D&&C&&(L.get(C)?.selected||U()),_&&V&&C&&e?.(C);const $=I2(R.sourceEvent,{transform:H,snapGrid:B,snapToGrid:z,containerBounds:d});if(a=$,l=nJn(L,F,$,C),l.size>0&&(n||M||!C&&G)){const[q,Z]=sne({nodeId:C,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,q,Z),M?.(R.sourceEvent,q,Z),C||G?.(R.sourceEvent,Z)}}const A=OOt().clickDistance(T).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:B}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,v=R.sourceEvent,D===0&&I(R),a=I2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:B,containerBounds:d}),u=kg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:B,nodeLookup:z}=t(),V=I2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(v=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||C&&!z.has(C))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=kg(R.sourceEvent,d),G=M.x-u.x,U=M.y-u.y;Math.sqrt(G*G+U*U)>B&&I(R)}(a.x!==V.xSnapped||a.y!==V.ySnapped)&&l&&f&&(u=kg(R.sourceEvent,d),E(V))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||F||!C&&H){const[B,z]=sne({nodeId:C,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,B,z),F?.(R.sourceEvent,B,z),C||H?.(R.sourceEvent,z)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!J7e(L,`.${x}`,k))&&(!S||J7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function aJn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())DM(s,lN(a))>0&&r.push(a);return r}const iJn=250;function oJn(e,t,n,r){let s=[],a=1/0;const i=aJn(e,n,t+iJn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=JO(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function o_t(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...JO(i,c,c.position,!0)}:c}function l_t(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function lJn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const c_t=()=>!0;function cJn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:v,onConnectEnd:y,isValidConnection:b=c_t,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:T=1,handleDomNode:E}){const N=KOt(e.target);let I=0,A;const{x:R,y:L}=kg(e),D=l_t(a,E),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const B=o_t(s,D,r,c,t);if(!B)return;let z=kg(e,F),V=!1,M=null,G=!1,U=null;function $(){if(!d||!F)return;const[le,X]=ZOt(z,F,C);p({x:le,y:X}),I=requestAnimationFrame($)}const q={...B,nodeId:s,type:D,position:B.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:JO(Z,q,nr.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:Z,to:z,toHandle:null,toPosition:B7e[q.position],toNode:null,pointer:z};function J(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}T===0&&J();function ee(le){if(!H){const{x:Se,y:ye}=kg(le),ke=Se-R,Ie=ye-L;if(!(ke*ke+Ie*Ie>T*T))return;J()}if(!_()||!q){se(le);return}const X=k();z=kg(le,F),A=oJn(e4(z,X,!1,[1,1]),n,c,q),V||($(),V=!0);const te=u_t(le,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});U=te.handleDomNode,M=te.connection,G=lJn(!!A,te.isValid);const re=c.get(s),fe=re?JO(re,q,nr.Left,!0):ne.from,ce={...ne,from:fe,isValid:G,to:te.toHandle&&G?sU({x:te.toHandle.x,y:te.toHandle.y},X):z,toHandle:te.toHandle,toPosition:G&&te.toHandle?te.toHandle.position:B7e[q.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:z};S(ce),ne=ce}function se(le){if(!("touches"in le&&le.touches.length>0)){if(H){(A||U)&&M&&G&&v?.(M);const{inProgress:X,...te}=ne,re={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(le,re),a&&x?.(le,re)}h(),cancelAnimationFrame(I),V=!1,G=!1,M=null,U=null,N.removeEventListener("mousemove",ee),N.removeEventListener("mouseup",se),N.removeEventListener("touchmove",ee),N.removeEventListener("touchend",se)}}N.addEventListener("mousemove",ee),N.addEventListener("mouseup",se),N.addEventListener("touchmove",ee),N.addEventListener("touchend",se)}function u_t(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=c_t,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=kg(e),v=i.elementFromPoint(h,m),y=v?.classList.contains(`${l}-flow__handle`)?v:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=l_t(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),_=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!S||!x)return b;const T={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=T;const N=_&&C&&(n===iN.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(T),b.toHandle=o_t(S,x,k,d,n,!0)}return b}const Ove={onPointerDown:cJn,isValid:u_t};function uJn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=Op(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),_=S.sourceEvent.ctrlKey&&LM()?10:1,C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,T=k[2]*Math.pow(2,C*_);t.scaleTo(T)};let v=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(v=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const _=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],C=[_[0]-v[0],_[1]-v[1]];v=_;const T=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),E={x:k[0]-C[0]*T,y:k[1]-C[1]*T},N=[[0,0],[c,u]];t.setViewportConstrained({x:E.x,y:E.y,zoom:k[2]},N,l)},x=FOt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(x,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:ug}}const vW=e=>({x:e.x,y:e.y,zoom:e.k}),ane=({x:e,y:t,zoom:n})=>hW.translate(e,t).scale(n),xT=(e,t)=>e.target.closest(`.${t}`),d_t=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),dJn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ine=(e,t=0,n=dJn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},f_t=e=>{const t=e.ctrlKey&&LM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function fJn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(xT(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=ug(d),b=f_t(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===sO.Vertical?0:d.deltaX*p,m=s===sO.Horizontal?0:d.deltaY*p;!LM()&&d.shiftKey&&s!==sO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const v=vW(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,v),e.panScrollTimeout=setTimeout(()=>{u?.(d,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,v))}}function pJn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=xT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function hJn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=vW(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function mJn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&d_t(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,vW(a.transform))}}function gJn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&d_t(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=vW(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function vJn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(xT(f,`${u}-flow__node`)||xT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||xT(f,l)&&m||xT(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&v}}function yJn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=FOt().scaleExtent([t,n]).translateExtent(r),p=Op(e).call(f);x({x:s.x,y:s.y,zoom:oN(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(f_t);function v(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?vx:H8).transform(ine(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:F,panOnDrag:H,panOnScrollMode:B,panOnScrollSpeed:z,preventScrolling:V,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:q,onTransformChange:Z,connectionInProgress:Y,paneClickDistance:ne,selectionOnDrag:J}){D&&!u.isZoomingOrPanning&&b();const ee=F&&!$&&!D;f.clickDistance(J?1/0:!Sg(ne)||ne<0?0:ne);const se=ee?fJn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:B,panOnScrollSpeed:z,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):pJn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",se,{passive:!1}),!D){const X=hJn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",X);const te=mJn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const re=gJn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",re)}const le=vJn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:U,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:q,connectionInProgress:Y});f.filter(le),U?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=ane(A),F=f?.constrain()(D,R,L);return F&&await v(F),new Promise(H=>H(F))}async function S(A,R){const L=ane(A);return await v(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=ane(A),L=p.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(p,R,null,{sync:!0})}}function _(){const A=p?LOt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function C(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?vx:H8).scaleTo(ine(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?vx:H8).scaleBy(ine(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!Sg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:_,scaleTo:C,scaleBy:T,setScaleExtent:E,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var uN;(function(e){e.Line="line",e.Handle="handle"})(uN||(uN={}));function bJn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function eBe(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function tw(e,t){return Math.max(0,t-e)}function nw(e,t){return Math.max(0,e-t)}function xF(e,t,n){return Math.max(0,t-e,e-n)}function tBe(e,t){return e?!t:t}function xJn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:v,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:_,height:C,aspectRatio:T}=e;let E=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-E:E),A=C+(u?-N:N),R=-a[0]*_,L=-a[1]*C;let D=xF(I,v,y),F=xF(A,b,x);if(i){let z=0,V=0;c&&E<0?z=tw(S+E+R,i[0][0]):!c&&E>0&&(z=nw(S+I+R,i[1][0])),u&&N<0?V=tw(k+N+L,i[0][1]):!u&&N>0&&(V=nw(k+A+L,i[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(l){let z=0,V=0;c&&E>0?z=nw(S+E,l[0][0]):!c&&E<0&&(z=tw(S+I,l[1][0])),u&&N>0?V=nw(k+N,l[0][1]):!u&&N<0&&(V=tw(k+A,l[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(s){if(d){const z=xF(I/T,b,x)*T;if(D=Math.max(D,z),i){let V=0;!c&&!u||c&&!u&&p?V=nw(k+L+I/T,i[1][1])*T:V=tw(k+L+(c?E:-E)/T,i[0][1])*T,D=Math.max(D,V)}if(l){let V=0;!c&&!u||c&&!u&&p?V=tw(k+I/T,l[1][1])*T:V=nw(k+(c?E:-E)/T,l[0][1])*T,D=Math.max(D,V)}}if(f){const z=xF(A*T,v,y)/T;if(F=Math.max(F,z),i){let V=0;!c&&!u||u&&!c&&p?V=nw(S+A*T+R,i[1][0])/T:V=tw(S+(u?N:-N)*T+R,i[0][0])/T,F=Math.max(F,V)}if(l){let V=0;!c&&!u||u&&!c&&p?V=tw(S+A*T,l[1][0])/T:V=nw(S+(u?N:-N)*T,l[0][0])/T,F=Math.max(F,V)}}}N=N+(N<0?F:-F),E=E+(E<0?D:-D),s&&(p?I>A*T?N=(tBe(c,u)?-E:E)/T:E=(tBe(c,u)?-N:N)*T:d?(N=E/T,u=c):(E=N*T,c=u));const H=c?S+E:S,B=u?k+N:k;return{width:_+(c?-E:E),height:C+(u?-N:N),x:a[0]*E*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+B}}const p_t={width:0,height:0,x:0,y:0},wJn={...p_t,pointerX:0,pointerY:0,aspectRatio:1};function SJn(e){return[[0,0],[e.measured.width,e.measured.height]]}function kJn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function OJn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=Op(e);let i={controlDirection:eBe("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:v,shouldResize:y}){let b={...p_t},x={...wJn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:eBe(u)};let S,k=null,_=[],C,T,E,N=!1;const I=OOt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:B}=n();if(S=R.get(t),!S)return;k=B?.getBoundingClientRect()??null;const{xSnapped:z,ySnapped:V}=I2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:F,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},x={...b,pointerX:z,pointerY:V,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=R.get(S.parentId),T=C&&S.extent==="parent"?SJn(C):void 0),_=[],E=void 0;for(const[M,G]of R)if(G.parentId===t&&(_.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const U=kJn(G,S,G.origin??H);E?E=[[Math.min(U[0][0],E[0][0]),Math.min(U[0][1],E[0][1])],[Math.max(U[1][0],E[1][0]),Math.max(U[1][1],E[1][1])]]:E=U}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=I2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),B=[];if(!S)return;const{x:z,y:V,width:M,height:G}=b,U={},$=S.origin??F,{width:q,height:Z,x:Y,y:ne}=xJn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,T,E),J=q!==M,ee=Z!==G,se=Y!==z&&J,le=ne!==V&ⅇif(!se&&!le&&!J&&!ee)return;if((se||le||$[0]===1||$[1]===1)&&(U.x=se?Y:b.x,U.y=le?ne:b.y,b.x=U.x,b.y=U.y,_.length>0)){const fe=Y-z,ce=ne-V;for(const Se of _)Se.position={x:Se.position.x-fe+$[0]*(q-M),y:Se.position.y-ce+$[1]*(Z-G)},B.push(Se)}if((J||ee)&&(U.width=J&&(!i.resizeDirection||i.resizeDirection==="horizontal")?q:b.width,U.height=ee&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),C&&S.expandParent){const fe=$[0]*(U.width??0);U.x&&U.x<fe&&(b.x=fe,x.x=x.x-(U.x-fe));const ce=$[1]*(U.height??0);U.y&&U.y<ce&&(b.y=ce,x.y=x.y-(U.y-ce))}const X=bJn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:X};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(U,B))}).on("end",A=>{N&&(v?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const _Jn={},nBe=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(_Jn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},CJn=e=>e?nBe(e):nBe,{useDebugValue:EJn}=Fe,{useSyncExternalStoreWithSelector:TJn}=ejn,jJn=e=>e;function h_t(e,t=jJn,n){const r=TJn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return EJn(r),r}const rBe=(e,t)=>{const n=CJn(e),r=(s,a=t)=>h_t(n,s,a);return Object.assign(r,n),r},NJn=(e,t)=>e?rBe(e,t):rBe;function io(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const yW=g.createContext(null),IJn=yW.Provider,m_t=ky.error001();function Us(e,t){const n=g.useContext(yW);if(n===null)throw new Error(m_t);return h_t(n,e,t)}function Eo(){const e=g.useContext(yW);if(e===null)throw new Error(m_t);return g.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const sBe={display:"none"},AJn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},g_t="react-flow__node-desc",v_t="react-flow__edge-desc",RJn="react-flow__aria-live",PJn=e=>e.ariaLiveMessage,$Jn=e=>e.ariaLabelConfig;function MJn({rfId:e}){const t=Us(PJn);return o.jsx("div",{id:`${RJn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:AJn,children:t})}function DJn({rfId:e,disableKeyboardA11y:t}){const n=Us($Jn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${g_t}-${e}`,style:sBe,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${v_t}-${e}`,style:sBe,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(MJn,{rfId:e})]})}const t4=g.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Bl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});t4.displayName="Panel";function LJn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(t4,{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:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const FJn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},wF=e=>e.id;function zJn(e,t){return io(e.selectedNodes.map(wF),t.selectedNodes.map(wF))&&io(e.selectedEdges.map(wF),t.selectedEdges.map(wF))}function BJn({onSelectionChange:e}){const t=Eo(),{selectedNodes:n,selectedEdges:r}=Us(FJn,zJn);return g.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const UJn=e=>!!e.onSelectionChangeHandlers;function qJn({onSelectionChange:e}){const t=Us(UJn);return e||t?o.jsx(BJn,{onSelectionChange:e}):null}const _ve=typeof window<"u"?g.useLayoutEffect:g.useEffect,y_t=[0,0],VJn={x:0,y:0,zoom:1},HJn=["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"],aBe=[...HJn,"rfId"],WJn=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}),iBe={translateExtent:PM,nodeOrigin:y_t,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function ZJn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(WJn,io),u=Eo();_ve(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=iBe,l()}),[]);const d=g.useRef(iBe);return _ve(()=>{for(const f of aBe){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:MXn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},aBe.map(f=>e[f])),null}function oBe(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function GJn(e){const[t,n]=g.useState(e==="system"?null:e);return g.useEffect(()=>{if(e!=="system"){n(e);return}const r=oBe(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:oBe()?.matches?"dark":"light"}const lBe=typeof document<"u"?document:null;function FM(e=null,t={target:lBe,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),a=g.useRef(new Set([])),[i,l]=g.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
234
|
+
`:r=="r"?"\r":r=="t"?" ":"\\")}eq(t){return this.search==t.search&&this.replace==t.replace&&this.caseSensitive==t.caseSensitive&&this.regexp==t.regexp&&this.wholeWord==t.wholeWord&&this.test==t.test}create(){return this.regexp?new GWn(this):new HWn(this)}getCursor(t,n=0,r){let s=t.doc?t:hs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?eT(this,s,n,r):JE(this,s,n,r)}}class Zkt{constructor(t){this.spec=t}}function qWn(e,t,n){return(r,s,a,i)=>{if(n&&!n(r,s,a,i))return!1;let l=r>=i&&s<=i+a.length?a.slice(r-i,s-i):t.doc.sliceString(r,s);return e(l,t,r,s)}}function JE(e,t,n,r){let s;return e.wholeWord&&(s=VWn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=qWn(e.test,t,s)),new Mx(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function VWn(e,t){return(n,r,s,a)=>((a>n||a+s.length<r)&&(a=Math.max(0,n-2),s=e.sliceString(a,Math.min(e.length,r+2))),(t(HB(s,n-a))!=bo.Word||t(WB(s,n-a))!=bo.Word)&&(t(WB(s,r-a))!=bo.Word||t(HB(s,r-a))!=bo.Word))}class HWn extends Zkt{constructor(t){super(t)}nextMatch(t,n,r){let s=JE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=JE(this.spec,t,0,a).nextOverlapping()}return s.done||s.value.from==n&&s.value.to==r?null:s.value}prevMatchInRange(t,n,r){for(let s=r;;){let a=Math.max(n,s-1e4-this.spec.unquoted.length),i=JE(this.spec,t,a,s),l=null;for(;!i.nextOverlapping().done;)l=i.value;if(l)return l;if(a==n)return null;s-=1e4}}prevMatch(t,n,r){let s=this.prevMatchInRange(t,0,n);return s||(s=this.prevMatchInRange(t,Math.max(0,r-this.spec.unquoted.length),t.doc.length)),s&&(s.from!=n||s.to!=r)?s:null}getReplacement(t){return this.spec.unquote(this.spec.replace)}matchAll(t,n){let r=JE(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=JE(this.spec,t,Math.max(0,n-this.spec.unquoted.length),Math.min(r+this.spec.unquoted.length,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}function WWn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function eT(e,t,n,r){let s;return e.wholeWord&&(s=ZWn(t.charCategorizer(t.selection.main.head))),e.test&&(s=WWn(e.test,t,s)),new Vkt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function HB(e,t){return e.slice(Cc(e,t,!1),t)}function WB(e,t){return e.slice(t,Cc(e,t))}function ZWn(e){return(t,n,r)=>!r[0].length||(e(HB(r.input,r.index))!=bo.Word||e(WB(r.input,r.index))!=bo.Word)&&(e(WB(r.input,r.index+r[0].length))!=bo.Word||e(HB(r.input,r.index+r[0].length))!=bo.Word)}class GWn extends Zkt{nextMatch(t,n,r){let s=eT(this.spec,t,r,t.doc.length).next();return s.done&&(s=eT(this.spec,t,0,n).next()),s.done?null:s.value}prevMatchInRange(t,n,r){for(let s=1;;s++){let a=Math.max(n,r-s*1e4),i=eT(this.spec,t,a,r),l=null;for(;!i.next().done;)l=i.value;if(l&&(a==n||l.from>a+10))return l;if(a==n)return null}}prevMatch(t,n,r){return this.prevMatchInRange(t,0,n)||this.prevMatchInRange(t,r,t.doc.length)}getReplacement(t){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(n,r)=>{if(r=="&")return t.match[0];if(r=="$")return"$";for(let s=r.length;s>0;s--){let a=+r.slice(0,s);if(a>0&&a<t.match.length)return t.match[a]+r.slice(s)}return n})}matchAll(t,n){let r=eT(this.spec,t,0,t.doc.length),s=[];for(;!r.next().done;){if(s.length>=n)return null;s.push(r.value)}return s}highlight(t,n,r,s){let a=eT(this.spec,t,Math.max(0,n-250),Math.min(r+250,t.doc.length));for(;!a.next().done;)s(a.value.from,a.value.to)}}const EM=dr.define(),pOe=dr.define(),Jw=vl.define({create(e){return new nte(uve(e).create(),null)},update(e,t){for(let n of t.effects)n.is(EM)?e=new nte(n.value.create(),e.panel):n.is(pOe)&&(e=new nte(e.query,n.value?hOe:null));return e},provide:e=>vM.from(e,t=>t.panel)});class nte{constructor(t,n){this.query=t,this.panel=n}}const QWn=jn.mark({class:"cm-searchMatch"}),YWn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),KWn=Oo.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Jw))}update(e){let t=e.state.field(Jw);(t!=e.startState.field(Jw)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return jn.none;let{view:n}=this,r=new Ld;for(let s=0,a=n.visibleRanges,i=a.length;s<i;s++){let{from:l,to:c}=a[s];for(;s<i-1&&c>a[s+1].from-500;)c=a[++s].to;e.highlight(n.state,l,c,(u,d)=>{let f=n.state.selection.ranges.some(p=>p.from==u&&p.to==d);r.add(u,d,f?YWn:QWn)})}return r.finish()}},{decorations:e=>e.decorations});function G3(e){return t=>{let n=t.state.field(Jw,!1);return n&&n.query.spec.valid?e(t,n):Ykt(t)}}const ZB=G3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=wt.single(r.from,r.to),a=e.state.facet(_I);return e.dispatch({selection:s,effects:[mOe(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),Qkt(e),!0}),GB=G3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=wt.single(s.from,s.to),i=e.state.facet(_I);return e.dispatch({selection:a,effects:[mOe(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),Qkt(e),!0}),XWn=G3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:wt.create(n.map(r=>wt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),JWn=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:s}=n.main,a=[],i=0;for(let l=new Mx(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(wt.range(l.value.from,l.value.to))}return t(e.update({selection:wt.create(a,i),userEvent:"select.search.matches"})),!0},m9e=G3((e,{query:t})=>{let{state:n}=e,{from:r,to:s}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let i=a,l=[],c,u,d=[];i.precise?i.from==r&&i.to==s&&(u=n.toText(t.getReplacement(i)),l.push({from:i.from,to:i.to,insert:u}),i=t.nextMatch(n,i.from,i.to),d.push(Rt.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(r).number)+"."))):i=t.nextMatch(n,i.from,i.to);let f=e.state.changes(l);return i&&(c=wt.single(i.from,i.to).map(f),d.push(mOe(e,i)),d.push(n.facet(_I).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),eZn=G3((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let s of t.matchAll(e.state,1e9)){let{from:a,to:i,precise:l}=s;l&&n.push({from:a,to:i,insert:t.getReplacement(s)})}if(!n.length)return!1;let r=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:Rt.announce.of(r),userEvent:"input.replace.all"}),!0});function hOe(e){return e.state.facet(_I).createPanel(e)}function uve(e,t){var n,r,s,a,i;let l=e.selection.main,c=l.empty||l.to>l.from+100?"":e.sliceDoc(l.from,l.to);if(t&&!c)return t;let u=e.facet(_I);return new Wkt({search:((n=t?.literal)!==null&&n!==void 0?n:u.literal)?c:c.replace(/\n/g,"\\n"),caseSensitive:(r=t?.caseSensitive)!==null&&r!==void 0?r:u.caseSensitive,literal:(s=t?.literal)!==null&&s!==void 0?s:u.literal,regexp:(a=t?.regexp)!==null&&a!==void 0?a:u.regexp,wholeWord:(i=t?.wholeWord)!==null&&i!==void 0?i:u.wholeWord})}function Gkt(e){let t=Nke(e,hOe);return t&&t.dom.querySelector("[main-field]")}function Qkt(e){let t=Gkt(e);t&&t==e.root.activeElement&&t.select()}const Ykt=e=>{let t=e.state.field(Jw,!1);if(t&&t.panel){let n=Gkt(e);if(n&&n!=e.root.activeElement){let r=uve(e.state,t.query.spec);r.valid&&e.dispatch({effects:EM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[pOe.of(!0),t?EM.of(uve(e.state,t.query.spec)):dr.appendConfig.of(sZn)]});return!0},Kkt=e=>{let t=e.state.field(Jw,!1);if(!t||!t.panel)return!1;let n=Nke(e,hOe);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:pOe.of(!1)}),!0},tZn=[{key:"Mod-f",run:Ykt,scope:"editor search-panel"},{key:"F3",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:ZB,shift:GB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Kkt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:JWn},{key:"Mod-Alt-g",run:IWn},{key:"Mod-d",run:UWn,preventDefault:!0}];class nZn{constructor(t){this.view=t;let n=this.query=t.state.field(Jw).query.spec;this.commit=this.commit.bind(this),this.searchField=li("input",{value:n.search,placeholder:lp(t,"Find"),"aria-label":lp(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=li("input",{value:n.replace,placeholder:lp(t,"Replace"),"aria-label":lp(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=li("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=li("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=li("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return li("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=li("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>ZB(t),[lp(t,"next")]),r("prev",()=>GB(t),[lp(t,"previous")]),r("select",()=>XWn(t),[lp(t,"all")]),li("label",null,[this.caseField,lp(t,"match case")]),li("label",null,[this.reField,lp(t,"regexp")]),li("label",null,[this.wordField,lp(t,"by word")]),...t.state.readOnly?[]:[li("br"),this.replaceField,r("replace",()=>m9e(t),[lp(t,"replace")]),r("replaceAll",()=>eZn(t),[lp(t,"replace all")])],li("button",{name:"close",onclick:()=>Kkt(t),"aria-label":lp(t,"close"),type:"button"},["×"])])}commit(){let t=new Wkt({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});t.eq(this.query)||(this.query=t,this.view.dispatch({effects:EM.of(t)}))}keydown(t){S9n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?GB:ZB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),m9e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(EM)&&!r.value.eq(this.query)&&this.setQuery(r.value)}setQuery(t){this.query=t,this.searchField.value=t.search,this.replaceField.value=t.replace,this.caseField.checked=t.caseSensitive,this.reField.checked=t.regexp,this.wordField.checked=t.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(_I).top}}function lp(e,t){return e.state.phrase(t)}const dF=30,fF=/[\s\.,:;?!]/;function mOe(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),s=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-dF),i=Math.min(s,n+dF),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<dF;c++)if(!fF.test(l[c+1])&&fF.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-dF;c--)if(!fF.test(l[c-1])&&fF.test(l[c])){l=l.slice(0,c);break}}return Rt.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const rZn=Rt.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),sZn=[Jw,Jp.low(KWn),rZn];class g9e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class _k{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(TM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Ld,l=[],c=0;for(let d=0;;){let f=d==a.length?null:a[d];if(!f&&!l.length)break;let p,h;for(l.length?(p=c,h=l.reduce((v,y)=>Math.min(v,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let v=a[d];if(v.from==p&&(v.to>v.from||v.to==p))l.push(v),d++,h=Math.min(v.to,h);else{h=Math.min(v.from,h);break}}let m=vZn(l);if(l.some(v=>v.from==v.to||v.from==v.to-1&&r.doc.lineAt(v.from).to==v.from))i.add(p,p,jn.widget({widget:new pZn(m),diagnostics:l.slice()}));else{let v=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+v,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let v=0;v<l.length;v++)l[v].to<=c&&l.splice(v--,1)}let u=i.finish();return new _k(u,n,rN(u))}}function rN(e,t=null,n=0){let r=null;return e.between(n,1e9,(s,a,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0))if(!r)r=new g9e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new g9e(r.from,a,r.diagnostic)}}),r}function aZn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(TM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(Xkt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function iZn(e,t){return e.field(Tp,!1)?t:t.concat(dr.appendConfig.of(yZn))}const Xkt=dr.define(),gOe=dr.define(),Jkt=dr.define(),Tp=vl.define({create(){return new _k(jn.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,s=e.panel;if(e.selected){let a=t.changes.mapPos(e.selected.from,1);r=rN(n,e.selected.diagnostic,a)||rN(n,null,a)}!n.size&&s&&t.state.facet(TM).autoPanel&&(s=null),e=new _k(n,s,r)}for(let n of t.effects)if(n.is(Xkt)){let r=t.state.facet(TM).autoPanel?n.value.length?jM.open:null:e.panel;e=_k.init(n.value,r,t.state)}else n.is(gOe)?e=new _k(e.diagnostics,n.value?jM.open:null,e.selected):n.is(Jkt)&&(e=new _k(e.diagnostics,e.panel,n.value));return e},provide:e=>[vM.from(e,t=>t.panel),Rt.decorations.from(e,t=>t.diagnostics)]}),oZn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function lZn(e,t,n){let{diagnostics:r}=e.state.field(Tp),s,a=-1,i=-1;r.between(t-(n<0?1:0),t+(n>0?1:0),(c,u,{spec:d})=>{if(t>=c&&t<=u&&(c==u||(t>c||n>0)&&(t<u||n<0)))return s=d.diagnostics,a=c,i=u,!1});let l=e.state.facet(TM).tooltipFilter;return s&&l&&(s=l(s,e.state)),s?{pos:a,end:i,above:e.state.doc.lineAt(a).to<i,create(){return{dom:cZn(e,s)}}}:null}function cZn(e,t){return li("ul",{class:"cm-tooltip-lint"},t.map(n=>tOt(e,n,!1)))}const uZn=e=>{let t=e.state.field(Tp,!1);(!t||!t.panel)&&e.dispatch({effects:iZn(e.state,[gOe.of(!0)])});let n=Nke(e,jM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},v9e=e=>{let t=e.state.field(Tp,!1);return!t||!t.panel?!1:(e.dispatch({effects:gOe.of(!1)}),!0)},dZn=e=>{let t=e.state.field(Tp,!1);if(!t)return!1;let n=e.state.selection.main,r=t.diagnostics.iter(n.to+1);return!r.value&&(r=t.diagnostics.iter(0),!r.value||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),!0)},fZn=[{key:"Mod-Shift-m",run:uZn,preventDefault:!0},{key:"F8",run:dZn}],TM=kn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Fy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:y9e,tooltipFilter:y9e,needsRefresh:(t,n)=>t?n?r=>t(r)||n(r):t:n,hideOn:(t,n)=>t?n?(r,s,a)=>t(r,s,a)||n(r,s,a):t:n,autoPanel:(t,n)=>t||n})}}});function y9e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function eOt(e){let t=[];if(e)e:for(let{name:n}of e){for(let r=0;r<n.length;r++){let s=n[r];if(/[a-zA-Z]/.test(s)&&!t.some(a=>a.toLowerCase()==s.toLowerCase())){t.push(s);continue e}}t.push("")}return t}function tOt(e,t,n){var r;let s=n?eOt(t.actions):[];return li("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},li("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage(e):t.message),(r=t.actions)===null||r===void 0?void 0:r.map((a,i)=>{let l=!1,c=h=>{if(h.preventDefault(),l)return;l=!0;let m=rN(e.state.field(Tp).diagnostics,t);m&&a.apply(e,m.from,m.to)},{name:u}=a,d=s[i]?u.indexOf(s[i]):-1,f=d<0?u:[u.slice(0,d),li("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return li("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&li("div",{class:"cm-diagnosticSource"},t.source))}class pZn extends eh{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return li("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class b9e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=tOt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class jM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)v9e(this.view),this.view.focus();else if(s.keyCode==38||s.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(s.keyCode==40||s.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(s.keyCode==36)this.moveSelection(0);else if(s.keyCode==35)this.moveSelection(this.items.length-1);else if(s.keyCode==13)this.view.focus();else if(s.keyCode>=65&&s.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:a}=this.items[this.selectedIndex],i=eOt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=rN(this.view.state.field(Tp).diagnostics,a);c&&a.actions[l].apply(t,c.from,c.to)}}else return;s.preventDefault()},r=s=>{for(let a=0;a<this.items.length;a++)this.items[a].dom.contains(s.target)&&this.moveSelection(a)};this.list=li("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=li("div",{class:"cm-panel-lint"},this.list,li("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>v9e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Tp).selected;if(!t)return-1;for(let n=0;n<this.items.length;n++)if(this.items[n].diagnostic==t.diagnostic)return n;return-1}update(){let{diagnostics:t,selected:n}=this.view.state.field(Tp),r=0,s=!1,a=null,i=new Set;for(t.between(0,this.view.state.doc.length,(l,c,{spec:u})=>{for(let d of u.diagnostics){if(i.has(d))continue;i.add(d);let f=-1,p;for(let h=r;h<this.items.length;h++)if(this.items[h].diagnostic==d){f=h;break}f<0?(p=new b9e(this.view,d),this.items.splice(r,0,p),s=!0):(p=this.items[f],f>r&&(this.items.splice(r,f-r),s=!0)),n&&p.diagnostic==n.diagnostic?p.dom.hasAttribute("aria-selected")||(p.dom.setAttribute("aria-selected","true"),a=p):p.dom.hasAttribute("aria-selected")&&p.dom.removeAttribute("aria-selected"),r++}});r<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)s=!0,this.items.pop();this.items.length==0&&(this.items.push(new b9e(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),s=!0),a?(this.list.setAttribute("aria-activedescendant",a.id),this.view.requestMeasure({key:this,read:()=>({sel:a.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:l,panel:c})=>{let u=c.height/this.list.offsetHeight;l.top<c.top?this.list.scrollTop-=(c.top-l.top)/u:l.bottom>c.bottom&&(this.list.scrollTop+=(l.bottom-c.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),s&&this.sync()}sync(){let t=this.list.firstChild;function n(){let r=t;t=r.nextSibling,r.remove()}for(let r of this.items)if(r.dom.parentNode==this.list){for(;t!=r.dom;)n();t=r.dom.nextSibling}else this.list.insertBefore(r.dom,t);for(;t;)n()}moveSelection(t){if(this.selectedIndex<0)return;let n=this.view.state.field(Tp),r=rN(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:Jkt.of(r)})}static open(t){return new jM(t)}}function hZn(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function pF(e){return hZn(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const mZn=Rt.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:pF("#d11")},".cm-lintRange-warning":{backgroundImage:pF("orange")},".cm-lintRange-info":{backgroundImage:pF("#999")},".cm-lintRange-hint":{backgroundImage:pF("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});function gZn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function vZn(e){let t="hint",n=1;for(let r of e){let s=gZn(r.severity);s>n&&(n=s,t=r.severity)}return t}const yZn=[Tp,Rt.decorations.compute([Tp],e=>{let{selected:t,panel:n}=e.field(Tp);return!t||!n||t.from==t.to?jn.none:jn.set([oZn.range(t.from,t.to)])}),u7n(lZn,{hideOn:aZn}),mZn];var x9e=function(t){t===void 0&&(t={});var n=t,r=n.crosshairCursor,s=r===void 0?!1:r,a=[];t.closeBracketsKeymap!==!1&&(a=a.concat(oUn)),t.defaultKeymap!==!1&&(a=a.concat(TWn)),t.searchKeymap!==!1&&(a=a.concat(tZn)),t.historyKeymap!==!1&&(a=a.concat($Hn)),t.foldKeymap!==!1&&(a=a.concat(W7n)),t.completionKeymap!==!1&&(a=a.concat(Q1t)),t.lintKeymap!==!1&&(a=a.concat(fZn));var i=[];return t.lineNumbers!==!1&&i.push(S7n()),t.highlightActiveLineGutter!==!1&&i.push(_7n()),t.highlightSpecialChars!==!1&&i.push(L9n()),t.history!==!1&&i.push(CHn()),t.foldGutter!==!1&&i.push(Y7n()),t.drawSelection!==!1&&i.push(T9n()),t.dropCursor!==!1&&i.push(R9n()),t.allowMultipleSelections!==!1&&i.push(hs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(L7n()),t.syntaxHighlighting!==!1&&i.push(rS(eBn,{fallback:!0})),t.bracketMatching!==!1&&i.push(oBn()),t.closeBrackets!==!1&&i.push(rUn()),t.autocompletion!==!1&&i.push(G1t()),t.rectangularSelection!==!1&&i.push(X9n()),s!==!1&&i.push(t7n()),t.highlightActiveLine!==!1&&i.push(V9n()),t.highlightSelectionMatches!==!1&&i.push(PWn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(wI.of(" ".repeat(t.tabSize))),i.concat([xI.of(a.flat())]).filter(Boolean)};const bZn="#e5c07b",w9e="#e06c75",xZn="#56b6c2",wZn="#ffffff",q8="#abb2bf",dve="#7d8799",SZn="#61afef",kZn="#98c379",S9e="#d19a66",OZn="#c678dd",_Zn="#21252b",k9e="#2c313a",O9e="#282c34",rte="#353a42",CZn="#3E4451",_9e="#528bff",EZn=Rt.theme({"&":{color:q8,backgroundColor:O9e},".cm-content":{caretColor:_9e},".cm-cursor, .cm-dropCursor":{borderLeftColor:_9e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:CZn},".cm-panels":{backgroundColor:_Zn,color:q8},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847"},".cm-gutters":{backgroundColor:O9e,color:dve,border:"none"},".cm-activeLineGutter":{backgroundColor:k9e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:rte},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:rte,borderBottomColor:rte},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:k9e,color:q8}}},{dark:!0}),TZn=Qg.define([{tag:de.keyword,color:OZn},{tag:[de.name,de.deleted,de.character,de.propertyName,de.macroName],color:w9e},{tag:[de.function(de.variableName),de.labelName],color:SZn},{tag:[de.color,de.constant(de.name),de.standard(de.name)],color:S9e},{tag:[de.definition(de.name),de.separator],color:q8},{tag:[de.typeName,de.className,de.number,de.changed,de.annotation,de.modifier,de.self,de.namespace],color:bZn},{tag:[de.operator,de.operatorKeyword,de.url,de.escape,de.regexp,de.link,de.special(de.string)],color:xZn},{tag:[de.meta,de.comment],color:dve},{tag:de.strong,fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.link,color:dve,textDecoration:"underline"},{tag:de.heading,fontWeight:"bold",color:w9e},{tag:[de.atom,de.bool,de.special(de.variableName)],color:S9e},{tag:[de.processingInstruction,de.string,de.inserted],color:kZn},{tag:de.invalid,color:wZn}]),jZn=[EZn,rS(TZn)];var NZn=Rt.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),IZn=function(t){t===void 0&&(t={});var n=t,r=n.indentWithTab,s=r===void 0?!0:r,a=n.editable,i=a===void 0?!0:a,l=n.readOnly,c=l===void 0?!1:l,u=n.theme,d=u===void 0?"light":u,f=n.placeholder,p=f===void 0?"":f,h=n.basicSetup,m=h===void 0?!0:h,v=[];switch(s&&v.unshift(xI.of([jWn])),m&&(typeof m=="boolean"?v.unshift(x9e()):v.unshift(x9e(m))),p&&v.unshift(G9n(p)),d){case"light":v.push(NZn);break;case"dark":v.push(jZn);break;case"none":break;default:v.push(d);break}return i===!1&&v.push(Rt.editable.of(!1)),c&&v.push(hs.readOnly.of(!0)),[...v]},AZn=e=>({line:e.state.doc.lineAt(e.state.selection.main.from),lineCount:e.state.doc.lines,lineBreak:e.state.lineBreak,length:e.state.doc.length,readOnly:e.state.readOnly,tabSize:e.state.tabSize,selection:e.state.selection,selectionAsSingle:e.state.selection.asSingle().main,ranges:e.state.selection.ranges,selectionCode:e.state.sliceDoc(e.state.selection.main.from,e.state.selection.main.to),selections:e.state.selection.ranges.map(t=>e.state.sliceDoc(t.from,t.to)),selectedText:e.state.selection.ranges.some(t=>!t.empty)});class RZn{constructor(t,n){this.timeLeftMS=void 0,this.timeoutMS=void 0,this.isCancelled=!1,this.isTimeExhausted=!1,this.callbacks=[],this.timeLeftMS=n,this.timeoutMS=n,this.callbacks.push(t)}tick(){if(!this.isCancelled&&!this.isTimeExhausted&&(this.timeLeftMS--,this.timeLeftMS<=0)){this.isTimeExhausted=!0;var t=this.callbacks.slice();this.callbacks.length=0,t.forEach(n=>{try{n()}catch(r){console.error("TimeoutLatch callback error:",r)}})}}cancel(){this.isCancelled=!0,this.callbacks.length=0}reset(){this.timeLeftMS=this.timeoutMS,this.isCancelled=!1,this.isTimeExhausted=!1}get isDone(){return this.isCancelled||this.isTimeExhausted}}class C9e{constructor(){this.interval=null,this.latches=new Set}add(t){this.latches.add(t),this.start()}remove(t){this.latches.delete(t),this.latches.size===0&&this.stop()}start(){this.interval===null&&(this.interval=setInterval(()=>{this.latches.forEach(t=>{t.tick(),t.isDone&&this.remove(t)})},1))}stop(){this.interval!==null&&(clearInterval(this.interval),this.interval=null)}}var ste=null,PZn=()=>typeof window>"u"?new C9e:(ste||(ste=new C9e),ste),$Zn=Rt.theme({"& .cm-scroller":{height:"100% !important"}}),E9e=null,ate=null;function MZn(e,t,n,r,s,a){if(!e&&!t&&!n&&!r&&!s&&!a)return null;var i=JSON.stringify({height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a});return i===E9e||(E9e=i,ate=Rt.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),ate}var T9e=Ly.define(),DZn=200,LZn=[];function FZn(e){var t=e.value,n=e.selection,r=e.onChange,s=e.onStatistics,a=e.onCreateEditor,i=e.onUpdate,l=e.extensions,c=l===void 0?LZn:l,u=e.autoFocus,d=e.theme,f=d===void 0?"light":d,p=e.height,h=p===void 0?null:p,m=e.minHeight,v=m===void 0?null:m,y=e.maxHeight,b=y===void 0?null:y,x=e.width,S=x===void 0?null:x,k=e.minWidth,_=k===void 0?null:k,C=e.maxWidth,T=C===void 0?null:C,E=e.placeholder,N=E===void 0?"":E,I=e.editable,A=I===void 0?!0:I,R=e.readOnly,L=R===void 0?!1:R,D=e.indentWithTab,F=D===void 0?!0:D,H=e.basicSetup,B=H===void 0?!0:H,z=e.root,V=e.initialState,M=g.useState(),G=M[0],U=M[1],$=g.useState(),q=$[0],Z=$[1],Y=g.useState(),ne=Y[0],J=Y[1],ee=g.useState(()=>({current:null}))[0],se=g.useState(()=>({current:null}))[0],le=MZn(h,v,b,S,_,T),X=Rt.updateListener.of(fe=>{if(fe.docChanged&&typeof r=="function"&&!fe.transactions.some(ye=>ye.annotation(T9e))){ee.current?ee.current.reset():(ee.current=new RZn(()=>{if(se.current){var ye=se.current;se.current=null,ye()}ee.current=null},DZn),PZn().add(ee.current));var ce=fe.state.doc,Se=ce.toString();r(Se,fe)}s&&s(AZn(fe))}),te=IZn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:B}),re=[X,...le?[le]:[],$Zn,...te];return i&&typeof i=="function"&&re.push(Rt.updateListener.of(i)),re=re.concat(c),g.useLayoutEffect(()=>{if(G&&!ne){var fe={doc:t,selection:n,extensions:re},ce=V?hs.fromJSON(V.json,fe,V.fields):hs.create(fe);if(J(ce),!q){var Se=new Rt({state:ce,parent:G,root:z});Z(Se),a&&a(Se,ce)}}return()=>{q&&(J(void 0),Z(void 0))}},[G,ne]),g.useEffect(()=>{e.container&&U(e.container)},[e.container]),g.useEffect(()=>()=>{q&&(q.destroy(),Z(void 0)),ee.current&&(ee.current.cancel(),ee.current=null)},[q]),g.useEffect(()=>{u&&q&&q.focus()},[u,q]),g.useEffect(()=>{q&&q.dispatch({effects:dr.reconfigure.of(re)})},[f,c,h,v,b,S,_,T,N,A,L,F,B,r,i]),g.useEffect(()=>{if(t!==void 0){var fe=q?q.state.doc.toString():"";if(q&&t!==fe){var ce=ee.current&&!ee.current.isDone,Se=()=>{q&&t!==q.state.doc.toString()&&q.dispatch({changes:{from:0,to:q.state.doc.toString().length,insert:t||""},annotations:[T9e.of(!0)]})};ce?se.current=Se:Se()}}},[t,q]),{state:ne,setState:J,view:q,setView:Z,container:G,setContainer:U}}var zZn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],ed=g.forwardRef((e,t)=>{var n=e.className,r=e.value,s=r===void 0?"":r,a=e.selection,i=e.extensions,l=i===void 0?[]:i,c=e.onChange,u=e.onStatistics,d=e.onCreateEditor,f=e.onUpdate,p=e.autoFocus,h=e.theme,m=h===void 0?"light":h,v=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,_=e.basicSetup,C=e.placeholder,T=e.indentWithTab,E=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=ckt(e,zZn),L=g.useRef(null),D=FZn({root:I,value:s,autoFocus:p,theme:m,height:v,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:_,placeholder:C,indentWithTab:T,editable:E,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,B=D.container,z=D.setContainer;g.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,B,F,H]);var V=g.useCallback(G=>{L.current=G,z(G)},[z]);if(typeof s!="string")throw new Error("value must be typeof string but got "+typeof s);var M=typeof m=="string"?"cm-theme-"+m:"cm-theme";return o.jsx("div",QO({ref:V,className:""+M+(n?" "+n:"")},R))});ed.displayName="CodeMirror";const BZn={js:"javascript",javascript:"javascript",mjs:"javascript",cjs:"javascript",node:"javascript",ts:"typescript",typescript:"typescript",mts:"typescript",cts:"typescript",tsx:"tsx",jsx:"jsx",json:"json",json5:"json",md:"markdown",markdown:"markdown",py:"python",python:"python",sh:"bash",bash:"bash",shell:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",diff:"diff",patch:"diff",css:"css",scss:"css",html:"html",htm:"html",xml:"xml",svg:"xml",sql:"sql"};let ite=null;function UZn(){return ite||(ite=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([Ma(()=>import("./core-DEOkJSAA.js"),__vite__mapDeps([0,1,2]),import.meta.url),Ma(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[Ma(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),Ma(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[Ma(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),Ma(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),Ma(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),Ma(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),Ma(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),Ma(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),Ma(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),Ma(()=>import("./python-DhUJRlN_.js"),[],import.meta.url),Ma(()=>import("./yaml-CVw76BM1.js"),[],import.meta.url),Ma(()=>import("./diff-BgYniUM_.js"),[],import.meta.url),Ma(()=>import("./css-BPhBrDlE.js"),[],import.meta.url),Ma(()=>import("./html-C2L_23MC.js"),__vite__mapDeps([4,5,6]),import.meta.url),Ma(()=>import("./xml-DGRTSKzu.js"),[],import.meta.url),Ma(()=>import("./sql-COK4E0Yg.js"),[],import.meta.url)],engine:t()})})()),ite}async function qZn(e,t){const n=BZn[t?.toLowerCase()];if(!n)return null;const r=await UZn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function VZn(e){return new HO($ke.define(e))}const nOt=[cg.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript())}}),cg.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return Ma(()=>Promise.resolve().then(()=>bBn),void 0,import.meta.url).then(e=>e.json())}}),cg.of({name:"JSX",extensions:["jsx"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),cg.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return Ma(()=>Promise.resolve().then(()=>pHn),void 0,import.meta.url).then(e=>e.markdown())}}),cg.of({name:"TSX",extensions:["tsx"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),cg.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return Ma(()=>Promise.resolve().then(()=>cF),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),cg.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return Ma(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>VZn(e.shell))}})];function HZn(e,t=5){if(!e?.properties)return[];const n=[];function r(s,a,i){if(i>t)return;const l=Array.isArray(s.type)?s.type.join(" | "):s.type;if(n.push({path:a,label:a,description:s.description??s.title,type:l}),s.properties)for(const[c,u]of Object.entries(s.properties))r(u,`${a}.${c}`,i+1);if(s.items?.properties)for(const[c,u]of Object.entries(s.items.properties))r(u,`${a}[].${c}`,i+1)}for(const[s,a]of Object.entries(e.properties))r(a,s,1);return n}function WZn(e){const t=HZn(e);return G1t({override:[ZZn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function ZZn(e){return t=>{const r=t.state.sliceDoc(Math.max(0,t.pos-50),t.pos).match(/\{\{([a-zA-Z0-9_.\[\]]*)?$/);if(!r)return null;const s=r[1]??"",a=t.pos-s.length,i=s?e.filter(c=>c.path.toLowerCase().startsWith(s.toLowerCase())):e;if(i.length===0)return null;const l=i.map(c=>({label:c.path,displayLabel:c.path,detail:c.type,info:c.description,apply:(u,d,f,p)=>{const v=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:v},selection:{anchor:f+v.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const GZn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,QZn=jn.mark({class:"cm-variable-highlight"}),j9e=new l1t({regexp:GZn,decoration:()=>QZn}),YZn=Oo.fromClass(class{decorations;constructor(e){this.decorations=j9e.createDeco(e)}update(e){this.decorations=j9e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),KZn=YZn;function XZn(){const e=kI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"var(--neutral2)",background:"transparent",foreground:"var(--neutral6)",caret:"var(--neutral6)"},styles:[{tag:[de.className,de.propertyName],color:"var(--neutral6)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:de.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:de.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:de.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=Rt.theme({".cm-editor":{backgroundColor:"transparent"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{color:"var(--neutral3)"},".cm-cursor":{borderLeftColor:"var(--neutral6)"},".cm-selectionBackground, .cm-content ::selection":{backgroundColor:"color-mix(in srgb, var(--accent3) 22%, transparent)"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}});return[e,t]}function JZn(){const e=Rt.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.8rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-lineNumbers .cm-gutterElement":{color:"var(--neutral2)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"var(--neutral3)"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"},"&.cm-focused .cm-selectionBackground, & .cm-line::selection, & .cm-selectionLayer .cm-selectionBackground, .cm-content ::selection":{background:"color-mix(in srgb, var(--accent3) 22%, transparent) !important"},".cm-tooltip-autocomplete":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",borderRadius:"6px",boxShadow:"0 8px 16px rgba(0, 0, 0, 0.2)"},".cm-tooltip-autocomplete > ul":{fontFamily:"var(--font-mono)"},".cm-completionLabel":{color:"var(--neutral6)"},".cm-completionDetail":{color:"var(--neutral3)",fontSize:"0.7rem",marginLeft:"auto",paddingLeft:"12px"},".cm-completionInfo":{backgroundColor:"var(--surface2)",border:"1px solid var(--border1)",color:"var(--neutral3)",padding:"8px 12px"},".cm-completionIcon":{display:"none"},"ul.cm-completionList li[aria-selected]":{backgroundColor:"var(--surface4)",color:"var(--neutral6)"},".cm-line .cm-variable-highlight":{color:"var(--accent6) !important",fontWeight:"500"}}),t=Qg.define([{tag:[de.comment,de.bracket],color:"var(--neutral2)"},{tag:[de.string,de.meta,de.regexp],color:"var(--accent1)"},{tag:[de.atom,de.bool,de.special(de.variableName)],color:"var(--accent6)"},{tag:[de.keyword,de.operator,de.tagName],color:"var(--accent2)"},{tag:[de.function(de.propertyName),de.propertyName],color:"var(--accent5)"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"var(--accent3)"},{tag:[de.variableName,de.number],color:"var(--accent5)"},{tag:[de.name,de.quote],color:"var(--accent1)"},{tag:de.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[de.heading1,de.heading2,de.heading3,de.heading4,de.heading5,de.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[de.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[de.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:de.link,color:"var(--accent3)",textDecoration:"underline"},{tag:de.url,color:"var(--accent3)"},{tag:de.monospace,color:"var(--neutral6)"},{tag:de.strikethrough,textDecoration:"line-through"},{tag:[de.deleted],color:"var(--accent2)"},{tag:de.invalid,color:"var(--error)"},{tag:[de.standard(de.tagName)],color:"var(--accent1)"}]);return[e,rS(t)]}const o0=()=>{const e=K_().resolvedTheme==="dark";return g.useMemo(()=>e?XZn():JZn(),[e])},eGn=Ii(K("relative overflow-hidden font-mono outline-hidden focus-within:outline-hidden focus:outline-hidden","duration-normal transition-colors ease-out-custom"),{variants:{variant:{default:"rounded-md border border-border1 bg-surface3 p-1 focus-within:border-neutral6/20",embedded:"rounded-none border-none bg-transparent p-0"}},defaultVariants:{variant:"default"}}),tGn=Jp.highest(Rt.editorAttributes.of({style:"outline: none"})),nGn=Jp.highest(Rt.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),rGn=[tGn,nGn],Wr=g.forwardRef(({data:e,value:t,onChange:n,showCopyButton:r=!0,className:s,language:a="json",highlightVariables:i=!1,placeholder:l,schema:c,autoFocus:u,lineNumbers:d=!0,lineWrapping:f=!0,editable:p,variant:h,...m},v)=>{const y=o0(),b=e?JSON.stringify(e,null,2):t??"",x=g.useMemo(()=>{const S=[...rGn];return f&&S.push(Rt.lineWrapping),a==="json"?S.push($p):a==="markdown"&&S.push(lOe({base:GO,codeLanguages:nOt})),i&&a==="markdown"&&S.push(KZn),c&&a==="markdown"&&S.push(WZn(c)),p===!1&&S.push(hs.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:K(eGn({variant:h}),s),...m,children:[r&&o.jsx(Sa,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(ed,{ref:v,value:b,theme:y,extensions:x,onChange:n,editable:p,"aria-label":"Code editor",placeholder:l,height:"100%",style:{height:"100%"},autoFocus:u,basicSetup:{lineNumbers:d}})]})}),sGn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},aGn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=o0(),{settings:r,setSettings:s}=$H(),a=r?.tracingOptions,i=g.useMemo(()=>sGn(a),[a]),[l,c]=g.useState(()=>i),u=g.useRef(!1);g.useEffect(()=>{u.current||c(i)},[i]);const d=p=>{u.current=!0,c(p)},f=()=>{if(!l){s({...r,tracingOptions:void 0}),t?.();return}try{const p=JSON.parse(l);typeof p=="object"&&p!==null&&s({...r,tracingOptions:p})}catch{return}t?.()};return o.jsxs("div",{className:"space-y-2 px-5 py-2",children:[o.jsx(ge,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(ed,{value:l,onChange:d,theme:n,extensions:[$p],className:K("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(oe,{type:"button",onClick:f,children:"Save"})})]})},iGn=()=>{const[e,t]=g.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(Ve,{children:o.jsx(w0e,{})})})}),o.jsx(bn,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Run Options"}),o.jsx(As,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx($r,{children:o.jsx(aGn,{onSaved:()=>t(!1)})})]})})]})};function oGn({status:e}){switch(e){case"running":return o.jsx(qt,{});case"failed":return o.jsx($s,{className:"text-accent2"});case"canceled":return o.jsx(Df,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(yO,{className:"text-neutral3"});case"suspended":return o.jsx(vV,{className:"text-accent3"});case"success":return o.jsx(oa,{className:"text-accent1"});default:return o.jsx(yO,{className:"text-neutral3"})}}function rOt({status:e}){return o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx(Ve,{"aria-label":e,className:"shrink-0",children:o.jsx(oGn,{status:e})})}),o.jsx(bn,{children:e})]})}var ote,N9e;function vOe(){if(N9e)return ote;N9e=1;var e="\0",t="\0",n="";class r{_isDirected=!0;_isMultigraph=!1;_isCompound=!1;_label;_defaultNodeLabelFn=()=>{};_defaultEdgeLabelFn=()=>{};_nodes={};_in={};_preds={};_out={};_sucs={};_edgeObjs={};_edgeLabels={};_nodeCount=0;_edgeCount=0;_parent;_children;constructor(d){d&&(this._isDirected=Object.hasOwn(d,"directed")?d.directed:!0,this._isMultigraph=Object.hasOwn(d,"multigraph")?d.multigraph:!1,this._isCompound=Object.hasOwn(d,"compound")?d.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children[t]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(d){return this._label=d,this}graph(){return this._label}setDefaultNodeLabel(d){return this._defaultNodeLabelFn=d,typeof d!="function"&&(this._defaultNodeLabelFn=()=>d),this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){var d=this;return this.nodes().filter(f=>Object.keys(d._in[f]).length===0)}sinks(){var d=this;return this.nodes().filter(f=>Object.keys(d._out[f]).length===0)}setNodes(d,f){var p=arguments,h=this;return d.forEach(function(m){p.length>1?h.setNode(m,f):h.setNode(m)}),this}setNode(d,f){return Object.hasOwn(this._nodes,d)?(arguments.length>1&&(this._nodes[d]=f),this):(this._nodes[d]=arguments.length>1?f:this._defaultNodeLabelFn(d),this._isCompound&&(this._parent[d]=t,this._children[d]={},this._children[t][d]=!0),this._in[d]={},this._preds[d]={},this._out[d]={},this._sucs[d]={},++this._nodeCount,this)}node(d){return this._nodes[d]}hasNode(d){return Object.hasOwn(this._nodes,d)}removeNode(d){var f=this;if(Object.hasOwn(this._nodes,d)){var p=h=>f.removeEdge(f._edgeObjs[h]);delete this._nodes[d],this._isCompound&&(this._removeFromParentsChildList(d),delete this._parent[d],this.children(d).forEach(function(h){f.setParent(h)}),delete this._children[d]),Object.keys(this._in[d]).forEach(p),delete this._in[d],delete this._preds[d],Object.keys(this._out[d]).forEach(p),delete this._out[d],delete this._sucs[d],--this._nodeCount}return this}setParent(d,f){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(f===void 0)f=t;else{f+="";for(var p=f;p!==void 0;p=this.parent(p))if(p===d)throw new Error("Setting "+f+" as parent of "+d+" would create a cycle");this.setNode(f)}return this.setNode(d),this._removeFromParentsChildList(d),this._parent[d]=f,this._children[f][d]=!0,this}_removeFromParentsChildList(d){delete this._children[this._parent[d]][d]}parent(d){if(this._isCompound){var f=this._parent[d];if(f!==t)return f}}children(d=t){if(this._isCompound){var f=this._children[d];if(f)return Object.keys(f)}else{if(d===t)return this.nodes();if(this.hasNode(d))return[]}}predecessors(d){var f=this._preds[d];if(f)return Object.keys(f)}successors(d){var f=this._sucs[d];if(f)return Object.keys(f)}neighbors(d){var f=this.predecessors(d);if(f){const h=new Set(f);for(var p of this.successors(d))h.add(p);return Array.from(h.values())}}isLeaf(d){var f;return this.isDirected()?f=this.successors(d):f=this.neighbors(d),f.length===0}filterNodes(d){var f=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});f.setGraph(this.graph());var p=this;Object.entries(this._nodes).forEach(function([v,y]){d(v)&&f.setNode(v,y)}),Object.values(this._edgeObjs).forEach(function(v){f.hasNode(v.v)&&f.hasNode(v.w)&&f.setEdge(v,p.edge(v))});var h={};function m(v){var y=p.parent(v);return y===void 0||f.hasNode(y)?(h[v]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(v=>f.setParent(v,m(v))),f}setDefaultEdgeLabel(d){return this._defaultEdgeLabelFn=d,typeof d!="function"&&(this._defaultEdgeLabelFn=()=>d),this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(d,f){var p=this,h=arguments;return d.reduce(function(m,v){return h.length>1?p.setEdge(m,v,f):p.setEdge(m,v),v}),this}setEdge(){var d,f,p,h,m=!1,v=arguments[0];typeof v=="object"&&v!==null&&"v"in v?(d=v.v,f=v.w,p=v.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=v,f=arguments[1],p=arguments[3],arguments.length>2&&(h=arguments[2],m=!0)),d=""+d,f=""+f,p!==void 0&&(p=""+p);var y=i(this._isDirected,d,f,p);if(Object.hasOwn(this._edgeLabels,y))return m&&(this._edgeLabels[y]=h),this;if(p!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(d),this.setNode(f),this._edgeLabels[y]=m?h:this._defaultEdgeLabelFn(d,f,p);var b=l(this._isDirected,d,f,p);return d=b.v,f=b.w,Object.freeze(b),this._edgeObjs[y]=b,s(this._preds[f],d),s(this._sucs[d],f),this._in[f][y]=b,this._out[d][y]=b,this._edgeCount++,this}edge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return this._edgeLabels[h]}edgeAsObj(){const d=this.edge(...arguments);return typeof d!="object"?{label:d}:d}hasEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p);return Object.hasOwn(this._edgeLabels,h)}removeEdge(d,f,p){var h=arguments.length===1?c(this._isDirected,arguments[0]):i(this._isDirected,d,f,p),m=this._edgeObjs[h];return m&&(d=m.v,f=m.w,delete this._edgeLabels[h],delete this._edgeObjs[h],a(this._preds[f],d),a(this._sucs[d],f),delete this._in[f][h],delete this._out[d][h],this._edgeCount--),this}inEdges(d,f){var p=this._in[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.v===f):h}}outEdges(d,f){var p=this._out[d];if(p){var h=Object.values(p);return f?h.filter(m=>m.w===f):h}}nodeEdges(d,f){var p=this.inEdges(d,f);if(p)return p.concat(this.outEdges(d,f))}}function s(u,d){u[d]?u[d]++:u[d]=1}function a(u,d){--u[d]||delete u[d]}function i(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}return h+n+m+n+(p===void 0?e:p)}function l(u,d,f,p){var h=""+d,m=""+f;if(!u&&h>m){var v=h;h=m,m=v}var y={v:h,w:m};return p&&(y.name=p),y}function c(u,d){return i(u,d.v,d.w,d.name)}return ote=r,ote}var lte,I9e;function lGn(){return I9e||(I9e=1,lte="2.2.4"),lte}var cte,A9e;function cGn(){return A9e||(A9e=1,cte={Graph:vOe(),version:lGn()}),cte}var ute,R9e;function uGn(){if(R9e)return ute;R9e=1;var e=vOe();ute={write:t,read:s};function t(a){var i={options:{directed:a.isDirected(),multigraph:a.isMultigraph(),compound:a.isCompound()},nodes:n(a),edges:r(a)};return a.graph()!==void 0&&(i.value=structuredClone(a.graph())),i}function n(a){return a.nodes().map(function(i){var l=a.node(i),c=a.parent(i),u={v:i};return l!==void 0&&(u.value=l),c!==void 0&&(u.parent=c),u})}function r(a){return a.edges().map(function(i){var l=a.edge(i),c={v:i.v,w:i.w};return i.name!==void 0&&(c.name=i.name),l!==void 0&&(c.value=l),c})}function s(a){var i=new e(a.options).setGraph(a.value);return a.nodes.forEach(function(l){i.setNode(l.v,l.value),l.parent&&i.setParent(l.v,l.parent)}),a.edges.forEach(function(l){i.setEdge({v:l.v,w:l.w,name:l.name},l.value)}),i}return ute}var dte,P9e;function dGn(){if(P9e)return dte;P9e=1,dte=e;function e(t){var n={},r=[],s;function a(i){Object.hasOwn(n,i)||(n[i]=!0,s.push(i),t.successors(i).forEach(a),t.predecessors(i).forEach(a))}return t.nodes().forEach(function(i){s=[],a(i),s.length&&r.push(s)}),r}return dte}var fte,$9e;function sOt(){if($9e)return fte;$9e=1;class e{_arr=[];_keyIndices={};size(){return this._arr.length}keys(){return this._arr.map(function(n){return n.key})}has(n){return Object.hasOwn(this._keyIndices,n)}priority(n){var r=this._keyIndices[n];if(r!==void 0)return this._arr[r].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(n,r){var s=this._keyIndices;if(n=String(n),!Object.hasOwn(s,n)){var a=this._arr,i=a.length;return s[n]=i,a.push({key:n,priority:r}),this._decrease(i),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);var n=this._arr.pop();return delete this._keyIndices[n.key],this._heapify(0),n.key}decrease(n,r){var s=this._keyIndices[n];if(r>this._arr[s].priority)throw new Error("New priority is greater than current priority. Key: "+n+" Old: "+this._arr[s].priority+" New: "+r);this._arr[s].priority=r,this._decrease(s)}_heapify(n){var r=this._arr,s=2*n,a=s+1,i=n;s<r.length&&(i=r[s].priority<r[i].priority?s:i,a<r.length&&(i=r[a].priority<r[i].priority?a:i),i!==n&&(this._swap(n,i),this._heapify(i)))}_decrease(n){for(var r=this._arr,s=r[n].priority,a;n!==0&&(a=n>>1,!(r[a].priority<s));)this._swap(n,a),n=a}_swap(n,r){var s=this._arr,a=this._keyIndices,i=s[n],l=s[r];s[n]=l,s[r]=i,a[l.key]=n,a[i.key]=r}}return fte=e,fte}var pte,M9e;function aOt(){if(M9e)return pte;M9e=1;var e=sOt();pte=n;var t=()=>1;function n(s,a,i,l){return r(s,String(a),i||t,l||function(c){return s.outEdges(c)})}function r(s,a,i,l){var c={},u=new e,d,f,p=function(h){var m=h.v!==d?h.v:h.w,v=c[m],y=i(h),b=f.distance+y;if(y<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+h+" Weight: "+y);b<v.distance&&(v.distance=b,v.predecessor=d,u.decrease(m,b))};for(s.nodes().forEach(function(h){var m=h===a?0:Number.POSITIVE_INFINITY;c[h]={distance:m},u.add(h,m)});u.size()>0&&(d=u.removeMin(),f=c[d],f.distance!==Number.POSITIVE_INFINITY);)l(d).forEach(p);return c}return pte}var hte,D9e;function fGn(){if(D9e)return hte;D9e=1;var e=aOt();hte=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return hte}var mte,L9e;function iOt(){if(L9e)return mte;L9e=1,mte=e;function e(t){var n=0,r=[],s={},a=[];function i(l){var c=s[l]={onStack:!0,lowlink:n,index:n++};if(r.push(l),t.successors(l).forEach(function(f){Object.hasOwn(s,f)?s[f].onStack&&(c.lowlink=Math.min(c.lowlink,s[f].index)):(i(f),c.lowlink=Math.min(c.lowlink,s[f].lowlink))}),c.lowlink===c.index){var u=[],d;do d=r.pop(),s[d].onStack=!1,u.push(d);while(l!==d);a.push(u)}}return t.nodes().forEach(function(l){Object.hasOwn(s,l)||i(l)}),a}return mte}var gte,F9e;function pGn(){if(F9e)return gte;F9e=1;var e=iOt();gte=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return gte}var vte,z9e;function hGn(){if(z9e)return vte;z9e=1,vte=t;var e=()=>1;function t(r,s,a){return n(r,s||e,a||function(i){return r.outEdges(i)})}function n(r,s,a){var i={},l=r.nodes();return l.forEach(function(c){i[c]={},i[c][c]={distance:0},l.forEach(function(u){c!==u&&(i[c][u]={distance:Number.POSITIVE_INFINITY})}),a(c).forEach(function(u){var d=u.v===c?u.w:u.v,f=s(u);i[c][d]={distance:f,predecessor:c}})}),l.forEach(function(c){var u=i[c];l.forEach(function(d){var f=i[d];l.forEach(function(p){var h=f[c],m=u[p],v=f[p],y=h.distance+m.distance;y<v.distance&&(v.distance=y,v.predecessor=m.predecessor)})})}),i}return vte}var yte,B9e;function oOt(){if(B9e)return yte;B9e=1;function e(n){var r={},s={},a=[];function i(l){if(Object.hasOwn(s,l))throw new t;Object.hasOwn(r,l)||(s[l]=!0,r[l]=!0,n.predecessors(l).forEach(i),delete s[l],a.push(l))}if(n.sinks().forEach(i),Object.keys(r).length!==n.nodeCount())throw new t;return a}class t extends Error{constructor(){super(...arguments)}}return yte=e,e.CycleException=t,yte}var bte,U9e;function mGn(){if(U9e)return bte;U9e=1;var e=oOt();bte=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return bte}var xte,q9e;function lOt(){if(q9e)return xte;q9e=1,xte=e;function e(s,a,i){Array.isArray(a)||(a=[a]);var l=s.isDirected()?f=>s.successors(f):f=>s.neighbors(f),c=i==="post"?t:n,u=[],d={};return a.forEach(f=>{if(!s.hasNode(f))throw new Error("Graph does not have node: "+f);c(f,l,d,u)}),u}function t(s,a,i,l){for(var c=[[s,!1]];c.length>0;){var u=c.pop();u[1]?l.push(u[0]):Object.hasOwn(i,u[0])||(i[u[0]]=!0,c.push([u[0],!0]),r(a(u[0]),d=>c.push([d,!1])))}}function n(s,a,i,l){for(var c=[s];c.length>0;){var u=c.pop();Object.hasOwn(i,u)||(i[u]=!0,l.push(u),r(a(u),d=>c.push(d)))}}function r(s,a){for(var i=s.length;i--;)a(s[i],i,s);return s}return xte}var wte,V9e;function gGn(){if(V9e)return wte;V9e=1;var e=lOt();wte=t;function t(n,r){return e(n,r,"post")}return wte}var Ste,H9e;function vGn(){if(H9e)return Ste;H9e=1;var e=lOt();Ste=t;function t(n,r){return e(n,r,"pre")}return Ste}var kte,W9e;function yGn(){if(W9e)return kte;W9e=1;var e=vOe(),t=sOt();kte=n;function n(r,s){var a=new e,i={},l=new t,c;function u(f){var p=f.v===c?f.w:f.v,h=l.priority(p);if(h!==void 0){var m=s(f);m<h&&(i[p]=c,l.decrease(p,m))}}if(r.nodeCount()===0)return a;r.nodes().forEach(function(f){l.add(f,Number.POSITIVE_INFINITY),a.setNode(f)}),l.decrease(r.nodes()[0],0);for(var d=!1;l.size()>0;){if(c=l.removeMin(),Object.hasOwn(i,c))a.setEdge(c,i[c]);else{if(d)throw new Error("Input graph is not connected: "+r);d=!0}r.nodeEdges(c).forEach(u)}return a}return kte}var Ote,Z9e;function bGn(){return Z9e||(Z9e=1,Ote={components:dGn(),dijkstra:aOt(),dijkstraAll:fGn(),findCycles:pGn(),floydWarshall:hGn(),isAcyclic:mGn(),postorder:gGn(),preorder:vGn(),prim:yGn(),tarjan:iOt(),topsort:oOt()}),Ote}var _te,G9e;function Ug(){if(G9e)return _te;G9e=1;var e=cGn();return _te={Graph:e.Graph,json:uGn(),alg:bGn(),version:e.version},_te}var Cte,Q9e;function xGn(){if(Q9e)return Cte;Q9e=1;class e{constructor(){let s={};s._next=s._prev=s,this._sentinel=s}dequeue(){let s=this._sentinel,a=s._prev;if(a!==s)return t(a),a}enqueue(s){let a=this._sentinel;s._prev&&s._next&&t(s),s._next=a._next,a._next._prev=s,a._next=s,s._prev=a}toString(){let s=[],a=this._sentinel,i=a._prev;for(;i!==a;)s.push(JSON.stringify(i,n)),i=i._prev;return"["+s.join(", ")+"]"}}function t(r){r._prev._next=r._next,r._next._prev=r._prev,delete r._next,delete r._prev}function n(r,s){if(r!=="_next"&&r!=="_prev")return s}return Cte=e,Cte}var Ete,Y9e;function wGn(){if(Y9e)return Ete;Y9e=1;let e=Ug().Graph,t=xGn();Ete=r;let n=()=>1;function r(u,d){if(u.nodeCount()<=1)return[];let f=i(u,d||n);return s(f.graph,f.buckets,f.zeroIdx).flatMap(h=>u.outEdges(h.v,h.w))}function s(u,d,f){let p=[],h=d[d.length-1],m=d[0],v;for(;u.nodeCount();){for(;v=m.dequeue();)a(u,d,f,v);for(;v=h.dequeue();)a(u,d,f,v);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(v=d[y].dequeue(),v){p=p.concat(a(u,d,f,v,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(v=>{let y=u.edge(v),b=u.node(v.v);h&&m.push({v:v.v,w:v.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(v=>{let y=u.edge(v),b=v.w,x=u.node(b);x.in-=y,l(d,f,x)}),u.removeNode(p.v),m}function i(u,d){let f=new e,p=0,h=0;u.nodes().forEach(y=>{f.setNode(y,{v:y,in:0,out:0})}),u.edges().forEach(y=>{let b=f.edge(y.v,y.w)||0,x=d(y),S=b+x;f.setEdge(y.v,y.w,S),h=Math.max(h,f.node(y.v).out+=x),p=Math.max(p,f.node(y.w).in+=x)});let m=c(h+p+3).map(()=>new t),v=p+1;return f.nodes().forEach(y=>{l(m,v,f.node(y))}),{graph:f,buckets:m,zeroIdx:v}}function l(u,d,f){f.out?f.in?u[f.out-f.in+d].enqueue(f):u[u.length-1].enqueue(f):u[0].enqueue(f)}function c(u){const d=[];for(let f=0;f<u;f++)d.push(f);return d}return Ete}var Tte,K9e;function Al(){if(K9e)return Tte;K9e=1;let e=Ug().Graph;Tte={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:C,maxRank:m,normalizeRanks:c,notime:b,partition:v,pick:_,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:T};function t(E,N,I,A){for(var R=A;E.hasNode(R);)R=S(A);return I.dummy=N,E.setNode(R,I),R}function n(E){let N=new e().setGraph(E.graph());return E.nodes().forEach(I=>N.setNode(I,E.node(I))),E.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=E.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(E){let N=new e({multigraph:E.isMultigraph()}).setGraph(E.graph());return E.nodes().forEach(I=>{E.children(I).length||N.setNode(I,E.node(I))}),E.edges().forEach(I=>{N.setEdge(I,E.edge(I))}),N}function s(E){let N=E.nodes().map(I=>{let A={};return E.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function a(E){let N=E.nodes().map(I=>{let A={};return E.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+E.edge(R).weight}),A});return T(E.nodes(),N)}function i(E,N){let I=E.x,A=E.y,R=N.x-I,L=N.y-A,D=E.width/2,F=E.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,B;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,B=F):(R<0&&(D=-D),H=D,B=D*L/R),{x:I+H,y:A+B}}function l(E){let N=k(m(E)+1).map(()=>[]);return E.nodes().forEach(I=>{let A=E.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(E){let N=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);E.nodes().forEach(A=>{let R=E.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(E){let N=E.nodes().map(D=>E.node(D).rank),I=h(Math.min,N),A=[];E.nodes().forEach(D=>{let F=E.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=E.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>E.node(H).rank+=R)})}function d(E,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(E,"border",R,N)}function f(E,N=p){const I=[];for(let A=0;A<E.length;A+=N){const R=E.slice(A,A+N);I.push(R)}return I}const p=65535;function h(E,N){if(N.length>p){const I=f(N);return E.apply(null,I.map(A=>E.apply(null,A)))}else return E.apply(null,N)}function m(E){const I=E.nodes().map(A=>{let R=E.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function v(E,N){let I={lhs:[],rhs:[]};return E.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(E,N){let I=Date.now();try{return N()}finally{console.log(E+" time: "+(Date.now()-I)+"ms")}}function b(E,N){return N()}let x=0;function S(E){var N=++x;return E+(""+N)}function k(E,N,I=1){N==null&&(N=E,E=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=E;A(L);L+=I)R.push(L);return R}function _(E,N){const I={};for(const A of N)E[A]!==void 0&&(I[A]=E[A]);return I}function C(E,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(E).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function T(E,N){return E.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Tte}var jte,X9e;function SGn(){if(X9e)return jte;X9e=1;let e=wGn(),t=Al().uniqueId;jte={run:n,undo:s};function n(a){(a.graph().acyclicer==="greedy"?e(a,l(a)):r(a)).forEach(c=>{let u=a.edge(c);a.removeEdge(c),u.forwardName=c.name,u.reversed=!0,a.setEdge(c.w,c.v,u,t("rev"))});function l(c){return u=>c.edge(u).weight}}function r(a){let i=[],l={},c={};function u(d){Object.hasOwn(c,d)||(c[d]=!0,l[d]=!0,a.outEdges(d).forEach(f=>{Object.hasOwn(l,f.w)?i.push(f):u(f.w)}),delete l[d])}return a.nodes().forEach(u),i}function s(a){a.edges().forEach(i=>{let l=a.edge(i);if(l.reversed){a.removeEdge(i);let c=l.forwardName;delete l.reversed,delete l.forwardName,a.setEdge(i.w,i.v,l,c)}})}return jte}var Nte,J9e;function kGn(){if(J9e)return Nte;J9e=1;let e=Al();Nte={run:t,undo:r};function t(s){s.graph().dummyChains=[],s.edges().forEach(a=>n(s,a))}function n(s,a){let i=a.v,l=s.node(i).rank,c=a.w,u=s.node(c).rank,d=a.name,f=s.edge(a),p=f.labelRank;if(u===l+1)return;s.removeEdge(a);let h,m,v;for(v=0,++l;l<u;++v,++l)f.points=[],m={width:0,height:0,edgeLabel:f,edgeObj:a,rank:l},h=e.addDummyNode(s,"edge",m,"_d"),l===p&&(m.width=f.width,m.height=f.height,m.dummy="edge-label",m.labelpos=f.labelpos),s.setEdge(i,h,{weight:f.weight},d),v===0&&s.graph().dummyChains.push(h),i=h;s.setEdge(i,c,{weight:f.weight},d)}function r(s){s.graph().dummyChains.forEach(a=>{let i=s.node(a),l=i.edgeLabel,c;for(s.setEdge(i.edgeObj,l);i.dummy;)c=s.successors(a)[0],s.removeNode(a),l.points.push({x:i.x,y:i.y}),i.dummy==="edge-label"&&(l.x=i.x,l.y=i.y,l.width=i.width,l.height=i.height),a=c,i=s.node(a)})}return Nte}var Ite,e7e;function QB(){if(e7e)return Ite;e7e=1;const{applyWithChunking:e}=Al();Ite={longestPath:t,slack:n};function t(r){var s={};function a(i){var l=r.node(i);if(Object.hasOwn(s,i))return l.rank;s[i]=!0;let c=r.outEdges(i).map(d=>d==null?Number.POSITIVE_INFINITY:a(d.w)-r.edge(d).minlen);var u=e(Math.min,c);return u===Number.POSITIVE_INFINITY&&(u=0),l.rank=u}r.sources().forEach(a)}function n(r,s){return r.node(s.w).rank-r.node(s.v).rank-r.edge(s).minlen}return Ite}var Ate,t7e;function cOt(){if(t7e)return Ate;t7e=1;var e=Ug().Graph,t=QB().slack;Ate=n;function n(i){var l=new e({directed:!1}),c=i.nodes()[0],u=i.nodeCount();l.setNode(c,{});for(var d,f;r(l,i)<u;)d=s(l,i),f=l.hasNode(d.v)?t(i,d):-t(i,d),a(l,i,f);return l}function r(i,l){function c(u){l.nodeEdges(u).forEach(d=>{var f=d.v,p=u===f?d.w:f;!i.hasNode(p)&&!t(l,d)&&(i.setNode(p,{}),i.setEdge(u,p,{}),c(p))})}return i.nodes().forEach(c),i.nodeCount()}function s(i,l){return l.edges().reduce((u,d)=>{let f=Number.POSITIVE_INFINITY;return i.hasNode(d.v)!==i.hasNode(d.w)&&(f=t(l,d)),f<u[0]?[f,d]:u},[Number.POSITIVE_INFINITY,null])[1]}function a(i,l,c){i.nodes().forEach(u=>l.node(u).rank+=c)}return Ate}var Rte,n7e;function OGn(){if(n7e)return Rte;n7e=1;var e=cOt(),t=QB().slack,n=QB().longestPath,r=Ug().alg.preorder,s=Ug().alg.postorder,a=Al().simplify;Rte=i,i.initLowLimValues=d,i.initCutValues=l,i.calcCutValue=u,i.leaveEdge=p,i.enterEdge=h,i.exchangeEdges=m;function i(x){x=a(x),n(x);var S=e(x);d(S),l(S,x);for(var k,_;k=p(S);)_=h(S,x,k),m(S,x,k,_)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(_=>c(x,S,_))}function c(x,S,k){var _=x.node(k),C=_.parent;x.edge(k,C).cutvalue=u(x,S,k)}function u(x,S,k){var _=x.node(k),C=_.parent,T=!0,E=S.edge(k,C),N=0;return E||(T=!1,E=S.edge(C,k)),N=E.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==C){var L=A===T,D=S.edge(I).weight;if(N+=L?D:-D,y(x,k,R)){var F=x.edge(k,R).cutvalue;N+=L?-F:F}}}),N}function d(x,S){arguments.length<2&&(S=x.nodes()[0]),f(x,{},1,S)}function f(x,S,k,_,C){var T=k,E=x.node(_);return S[_]=!0,x.neighbors(_).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,_))}),E.low=T,E.lim=k++,C?E.parent=C:delete E.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var _=k.v,C=k.w;S.hasEdge(_,C)||(_=k.w,C=k.v);var T=x.node(_),E=x.node(C),N=T,I=!1;T.lim>E.lim&&(N=E,I=!0);var A=S.edges().filter(R=>I===b(x,x.node(R.v),N)&&I!==b(x,x.node(R.w),N));return A.reduce((R,L)=>t(S,L)<t(S,R)?L:R)}function m(x,S,k,_){var C=k.v,T=k.w;x.removeEdge(C,T),x.setEdge(_.v,_.w,{}),d(x),l(x,S),v(x,S)}function v(x,S){var k=x.nodes().find(C=>!S.node(C).parent),_=r(x,k);_=_.slice(1),_.forEach(C=>{var T=x.node(C).parent,E=S.edge(C,T),N=!1;E||(E=S.edge(T,C),N=!0),S.node(C).rank=S.node(T).rank+(N?E.minlen:-E.minlen)})}function y(x,S,k){return x.hasEdge(S,k)}function b(x,S,k){return k.low<=S.lim&&S.lim<=k.lim}return Rte}var Pte,r7e;function _Gn(){if(r7e)return Pte;r7e=1;var e=QB(),t=e.longestPath,n=cOt(),r=OGn();Pte=s;function s(c){var u=c.graph().ranker;if(u instanceof Function)return u(c);switch(c.graph().ranker){case"network-simplex":l(c);break;case"tight-tree":i(c);break;case"longest-path":a(c);break;case"none":break;default:l(c)}}var a=t;function i(c){t(c),n(c)}function l(c){r(c)}return Pte}var $te,s7e;function CGn(){if(s7e)return $te;s7e=1,$te=e;function e(r){let s=n(r);r.graph().dummyChains.forEach(a=>{let i=r.node(a),l=i.edgeObj,c=t(r,s,l.v,l.w),u=c.path,d=c.lca,f=0,p=u[f],h=!0;for(;a!==l.w;){if(i=r.node(a),h){for(;(p=u[f])!==d&&r.node(p).maxRank<i.rank;)f++;p===d&&(h=!1)}if(!h){for(;f<u.length-1&&r.node(p=u[f+1]).minRank<=i.rank;)f++;p=u[f]}r.setParent(a,p),a=r.successors(a)[0]}})}function t(r,s,a,i){let l=[],c=[],u=Math.min(s[a].low,s[i].low),d=Math.max(s[a].lim,s[i].lim),f,p;f=a;do f=r.parent(f),l.push(f);while(f&&(s[f].low>u||d>s[f].lim));for(p=f,f=i;(f=r.parent(f))!==p;)c.push(f);return{path:l.concat(c.reverse()),lca:p}}function n(r){let s={},a=0;function i(l){let c=a;r.children(l).forEach(i),s[l]={low:c,lim:a++}}return r.children().forEach(i),s}return $te}var Mte,a7e;function EGn(){if(a7e)return Mte;a7e=1;let e=Al();Mte={run:t,cleanup:a};function t(i){let l=e.addDummyNode(i,"root",{},"_root"),c=r(i),u=Object.values(c),d=e.applyWithChunking(Math.max,u)-1,f=2*d+1;i.graph().nestingRoot=l,i.edges().forEach(h=>i.edge(h).minlen*=f);let p=s(i)+1;i.children().forEach(h=>n(i,l,f,p,d,c,h)),i.graph().nodeRankFactor=f}function n(i,l,c,u,d,f,p){let h=i.children(p);if(!h.length){p!==l&&i.setEdge(l,p,{weight:0,minlen:c});return}let m=e.addBorderNode(i,"_bt"),v=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(v,p),y.borderBottom=v,h.forEach(b=>{n(i,l,c,u,d,f,b);let x=i.node(b),S=x.borderTop?x.borderTop:b,k=x.borderBottom?x.borderBottom:b,_=x.borderTop?u:2*u,C=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:_,minlen:C,nestingEdge:!0}),i.setEdge(k,v,{weight:_,minlen:C,nestingEdge:!0})}),i.parent(p)||i.setEdge(l,m,{weight:0,minlen:d+f[p]})}function r(i){var l={};function c(u,d){var f=i.children(u);f&&f.length&&f.forEach(p=>c(p,d+1)),l[u]=d}return i.children().forEach(u=>c(u,1)),l}function s(i){return i.edges().reduce((l,c)=>l+i.edge(c).weight,0)}function a(i){var l=i.graph();i.removeNode(l.nestingRoot),delete l.nestingRoot,i.edges().forEach(c=>{var u=i.edge(c);u.nestingEdge&&i.removeEdge(c)})}return Mte}var Dte,i7e;function TGn(){if(i7e)return Dte;i7e=1;let e=Al();Dte=t;function t(r){function s(a){let i=r.children(a),l=r.node(a);if(i.length&&i.forEach(s),Object.hasOwn(l,"minRank")){l.borderLeft=[],l.borderRight=[];for(let c=l.minRank,u=l.maxRank+1;c<u;++c)n(r,"borderLeft","_bl",a,l,c),n(r,"borderRight","_br",a,l,c)}}r.children().forEach(s)}function n(r,s,a,i,l,c){let u={width:0,height:0,rank:c,borderType:s},d=l[s][c-1],f=e.addDummyNode(r,"border",u,a);l[s][c]=f,r.setParent(f,i),d&&r.setEdge(d,f,{weight:1})}return Dte}var Lte,o7e;function jGn(){if(o7e)return Lte;o7e=1,Lte={adjust:e,undo:t};function e(c){let u=c.graph().rankdir.toLowerCase();(u==="lr"||u==="rl")&&n(c)}function t(c){let u=c.graph().rankdir.toLowerCase();(u==="bt"||u==="rl")&&s(c),(u==="lr"||u==="rl")&&(i(c),n(c))}function n(c){c.nodes().forEach(u=>r(c.node(u))),c.edges().forEach(u=>r(c.edge(u)))}function r(c){let u=c.width;c.width=c.height,c.height=u}function s(c){c.nodes().forEach(u=>a(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(a),Object.hasOwn(d,"y")&&a(d)})}function a(c){c.y=-c.y}function i(c){c.nodes().forEach(u=>l(c.node(u))),c.edges().forEach(u=>{let d=c.edge(u);d.points.forEach(l),Object.hasOwn(d,"x")&&l(d)})}function l(c){let u=c.x;c.x=c.y,c.y=u}return Lte}var Fte,l7e;function NGn(){if(l7e)return Fte;l7e=1;let e=Al();Fte=t;function t(n){let r={},s=n.nodes().filter(d=>!n.children(d).length),a=s.map(d=>n.node(d).rank),i=e.applyWithChunking(Math.max,a),l=e.range(i+1).map(()=>[]);function c(d){if(r[d])return;r[d]=!0;let f=n.node(d);l[f.rank].push(d),n.successors(d).forEach(c)}return s.sort((d,f)=>n.node(d).rank-n.node(f).rank).forEach(c),l}return Fte}var zte,c7e;function IGn(){if(c7e)return zte;c7e=1;let e=Al().zipObject;zte=t;function t(r,s){let a=0;for(let i=1;i<s.length;++i)a+=n(r,s[i-1],s[i]);return a}function n(r,s,a){let i=e(a,a.map((p,h)=>h)),l=s.flatMap(p=>r.outEdges(p).map(h=>({pos:i[h.w],weight:r.edge(h).weight})).sort((h,m)=>h.pos-m.pos)),c=1;for(;c<a.length;)c<<=1;let u=2*c-1;c-=1;let d=new Array(u).fill(0),f=0;return l.forEach(p=>{let h=p.pos+c;d[h]+=p.weight;let m=0;for(;h>0;)h%2&&(m+=d[h+1]),h=h-1>>1,d[h]+=p.weight;f+=p.weight*m}),f}return zte}var Bte,u7e;function AGn(){if(u7e)return Bte;u7e=1,Bte=e;function e(t,n=[]){return n.map(r=>{let s=t.inEdges(r);if(s.length){let a=s.reduce((i,l)=>{let c=t.edge(l),u=t.node(l.v);return{sum:i.sum+c.weight*u.order,weight:i.weight+c.weight}},{sum:0,weight:0});return{v:r,barycenter:a.sum/a.weight,weight:a.weight}}else return{v:r}})}return Bte}var Ute,d7e;function RGn(){if(d7e)return Ute;d7e=1;let e=Al();Ute=t;function t(s,a){let i={};s.forEach((c,u)=>{let d=i[c.v]={indegree:0,in:[],out:[],vs:[c.v],i:u};c.barycenter!==void 0&&(d.barycenter=c.barycenter,d.weight=c.weight)}),a.edges().forEach(c=>{let u=i[c.v],d=i[c.w];u!==void 0&&d!==void 0&&(d.indegree++,u.out.push(i[c.w]))});let l=Object.values(i).filter(c=>!c.indegree);return n(l)}function n(s){let a=[];function i(c){return u=>{u.merged||(u.barycenter===void 0||c.barycenter===void 0||u.barycenter>=c.barycenter)&&r(c,u)}}function l(c){return u=>{u.in.push(c),--u.indegree===0&&s.push(u)}}for(;s.length;){let c=s.pop();a.push(c),c.in.reverse().forEach(i(c)),c.out.forEach(l(c))}return a.filter(c=>!c.merged).map(c=>e.pick(c,["vs","i","barycenter","weight"]))}function r(s,a){let i=0,l=0;s.weight&&(i+=s.barycenter*s.weight,l+=s.weight),a.weight&&(i+=a.barycenter*a.weight,l+=a.weight),s.vs=a.vs.concat(s.vs),s.barycenter=i/l,s.weight=l,s.i=Math.min(a.i,s.i),a.merged=!0}return Ute}var qte,f7e;function PGn(){if(f7e)return qte;f7e=1;let e=Al();qte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,v)=>v.i-m.i),u=[],d=0,f=0,p=0;l.sort(r(!!a)),p=n(u,c,p),l.forEach(m=>{p+=m.vs.length,u.push(m.vs),d+=m.barycenter*m.weight,f+=m.weight,p=n(u,c,p)});let h={vs:u.flat(!0)};return f&&(h.barycenter=d/f,h.weight=f),h}function n(s,a,i){let l;for(;a.length&&(l=a[a.length-1]).i<=i;)a.pop(),s.push(l.vs),i++;return i}function r(s){return(a,i)=>a.barycenter<i.barycenter?-1:a.barycenter>i.barycenter?1:s?i.i-a.i:a.i-i.i}return qte}var Vte,p7e;function $Gn(){if(p7e)return Vte;p7e=1;let e=AGn(),t=RGn(),n=PGn();Vte=r;function r(i,l,c,u){let d=i.children(l),f=i.node(l),p=f?f.borderLeft:void 0,h=f?f.borderRight:void 0,m={};p&&(d=d.filter(x=>x!==p&&x!==h));let v=e(i,d);v.forEach(x=>{if(i.children(x.v).length){let S=r(i,x.v,c,u);m[x.v]=S,Object.hasOwn(S,"barycenter")&&a(x,S)}});let y=t(v,c);s(y,m);let b=n(y,u);if(p&&(b.vs=[p,b.vs,h].flat(!0),i.predecessors(p).length)){let x=i.node(i.predecessors(p)[0]),S=i.node(i.predecessors(h)[0]);Object.hasOwn(b,"barycenter")||(b.barycenter=0,b.weight=0),b.barycenter=(b.barycenter*b.weight+x.order+S.order)/(b.weight+2),b.weight+=2}return b}function s(i,l){i.forEach(c=>{c.vs=c.vs.flatMap(u=>l[u]?l[u].vs:u)})}function a(i,l){i.barycenter!==void 0?(i.barycenter=(i.barycenter*i.weight+l.barycenter*l.weight)/(i.weight+l.weight),i.weight+=l.weight):(i.barycenter=l.barycenter,i.weight=l.weight)}return Vte}var Hte,h7e;function MGn(){if(h7e)return Hte;h7e=1;let e=Ug().Graph,t=Al();Hte=n;function n(s,a,i,l){l||(l=s.nodes());let c=r(s),u=new e({compound:!0}).setGraph({root:c}).setDefaultNodeLabel(d=>s.node(d));return l.forEach(d=>{let f=s.node(d),p=s.parent(d);(f.rank===a||f.minRank<=a&&a<=f.maxRank)&&(u.setNode(d),u.setParent(d,p||c),s[i](d).forEach(h=>{let m=h.v===d?h.w:h.v,v=u.edge(m,d),y=v!==void 0?v.weight:0;u.setEdge(m,d,{weight:s.edge(h).weight+y})}),Object.hasOwn(f,"minRank")&&u.setNode(d,{borderLeft:f.borderLeft[a],borderRight:f.borderRight[a]}))}),u}function r(s){for(var a;s.hasNode(a=t.uniqueId("_root")););return a}return Hte}var Wte,m7e;function DGn(){if(m7e)return Wte;m7e=1,Wte=e;function e(t,n,r){let s={},a;r.forEach(i=>{let l=t.parent(i),c,u;for(;l;){if(c=t.parent(l),c?(u=s[c],s[c]=l):(u=a,a=l),u&&u!==l){n.setEdge(u,l);return}l=c}})}return Wte}var Zte,g7e;function LGn(){if(g7e)return Zte;g7e=1;let e=NGn(),t=IGn(),n=$Gn(),r=MGn(),s=DGn(),a=Ug().Graph,i=Al();Zte=l;function l(f,p){if(p&&typeof p.customOrder=="function"){p.customOrder(f,l);return}let h=i.maxRank(f),m=c(f,i.range(1,h+1),"inEdges"),v=c(f,i.range(h-1,-1,-1),"outEdges"),y=e(f);if(d(f,y),p&&p.disableOptimalOrderHeuristic)return;let b=Number.POSITIVE_INFINITY,x;for(let S=0,k=0;k<4;++S,++k){u(S%2?m:v,S%4>=2),y=i.buildLayerMatrix(f);let _=t(f,y);_<b&&(k=0,x=Object.assign({},y),b=_)}d(f,x)}function c(f,p,h){const m=new Map,v=(y,b)=>{m.has(y)||m.set(y,[]),m.get(y).push(b)};for(const y of f.nodes()){const b=f.node(y);if(typeof b.rank=="number"&&v(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&v(x,y)}return p.map(function(y){return r(f,y,h,m.get(y)||[])})}function u(f,p){let h=new a;f.forEach(function(m){let v=m.graph().root,y=n(m,v,h,p);y.vs.forEach((b,x)=>m.node(b).order=x),s(m,h,y.vs)})}function d(f,p){Object.values(p).forEach(h=>h.forEach((m,v)=>f.node(m).order=v))}return Zte}var Gte,v7e;function FGn(){if(v7e)return Gte;v7e=1;let e=Ug().Graph,t=Al();Gte={positionX:h,findType1Conflicts:n,findType2Conflicts:r,addConflict:a,hasConflict:i,verticalAlignment:l,horizontalCompaction:c,alignCoordinates:f,findSmallestWidthAlignment:d,balance:p};function n(y,b){let x={};function S(k,_){let C=0,T=0,E=k.length,N=_[_.length-1];return _.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:E;(R||I===N)&&(_.slice(T,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),B=H.order;(B<C||L<B)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),T=A+1,C=L)}),_}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(_,C,T,E,N){let I;t.range(C,T).forEach(A=>{I=_[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<E||L.order>N)&&a(x,R,I)})})}function k(_,C){let T=-1,E,N=0;return C.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(E=y.node(R[0]).order,S(C,N,A,T,E),N=A,T=E)}S(C,N,C.length,E,_.length)}),C}return b.length&&b.reduce(k),x}function s(y,b){if(y.node(b).dummy)return y.predecessors(b).find(x=>y.node(x).dummy)}function a(y,b,x){if(b>x){let k=b;b=x,x=k}let S=y[b];S||(y[b]=S={}),S[x]=!0}function i(y,b,x){if(b>x){let S=b;b=x,x=S}return!!y[b]&&Object.hasOwn(y[b],x)}function l(y,b,x,S){let k={},_={},C={};return b.forEach(T=>{T.forEach((E,N)=>{k[E]=E,_[E]=E,C[E]=N})}),b.forEach(T=>{let E=-1;T.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>C[R]-C[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];_[N]===N&&E<C[D]&&!i(x,N,D)&&(_[D]=N,_[N]=k[N]=k[D],E=C[D])}}})}),{root:k,align:_}}function c(y,b,x,S,k){let _={},C=u(y,b,x,k),T=k?"borderLeft":"borderRight";function E(A,R){let L=C.nodes(),D=L.pop(),F={};for(;D;)F[D]?A(D):(F[D]=!0,L.push(D),L=L.concat(R(D))),D=L.pop()}function N(A){_[A]=C.inEdges(A).reduce((R,L)=>Math.max(R,_[L.v]+C.edge(L)),0)}function I(A){let R=C.outEdges(A).reduce((D,F)=>Math.min(D,_[F.w]-C.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==T&&(_[A]=Math.max(_[A],R))}return E(N,C.predecessors.bind(C)),E(I,C.successors.bind(C)),Object.keys(S).forEach(A=>_[A]=_[x[A]]),_}function u(y,b,x,S){let k=new e,_=y.graph(),C=m(_.nodesep,_.edgesep,S);return b.forEach(T=>{let E;T.forEach(N=>{let I=x[N];if(k.setNode(I),E){var A=x[E],R=k.edge(A,I);k.setEdge(A,I,Math.max(C(y,N,E),R||0))}E=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,_=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([T,E])=>{let N=v(y,T)/2;k=Math.max(E+N,k),_=Math.min(E-N,_)});const C=k-_;return C<x[0]&&(x=[C,S]),x},[Number.POSITIVE_INFINITY,null])[1]}function f(y,b){let x=Object.values(b),S=t.applyWithChunking(Math.min,x),k=t.applyWithChunking(Math.max,x);["u","d"].forEach(_=>{["l","r"].forEach(C=>{let T=_+C,E=y[T];if(E===b)return;let N=Object.values(E),I=S-t.applyWithChunking(Math.min,N);C!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[T]=t.mapValues(E,A=>A+I))})})}function p(y,b){return t.mapValues(y.ul,(x,S)=>{if(b)return y[b.toLowerCase()][S];{let k=Object.values(y).map(_=>_[S]).sort((_,C)=>_-C);return(k[1]+k[2])/2}})}function h(y){let b=t.buildLayerMatrix(y),x=Object.assign(n(y,b),r(y,b)),S={},k;["u","d"].forEach(C=>{k=C==="u"?b:Object.values(b).reverse(),["l","r"].forEach(T=>{T==="r"&&(k=k.map(A=>Object.values(A).reverse()));let E=(C==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,E),I=c(y,k,N.root,N.align,T==="r");T==="r"&&(I=t.mapValues(I,A=>-A)),S[C+T]=I})});let _=d(y,S);return f(S,_),p(S,y.graph().align)}function m(y,b,x){return(S,k,_)=>{let C=S.node(k),T=S.node(_),E=0,N;if(E+=C.width/2,Object.hasOwn(C,"labelpos"))switch(C.labelpos.toLowerCase()){case"l":N=-C.width/2;break;case"r":N=C.width/2;break}if(N&&(E+=x?N:-N),N=0,E+=(C.dummy?b:y)/2,E+=(T.dummy?b:y)/2,E+=T.width/2,Object.hasOwn(T,"labelpos"))switch(T.labelpos.toLowerCase()){case"l":N=T.width/2;break;case"r":N=-T.width/2;break}return N&&(E+=x?N:-N),N=0,E}}function v(y,b){return y.node(b).width}return Gte}var Qte,y7e;function zGn(){if(y7e)return Qte;y7e=1;let e=Al(),t=FGn().positionX;Qte=n;function n(s){s=e.asNonCompoundGraph(s),r(s),Object.entries(t(s)).forEach(([a,i])=>s.node(a).x=i)}function r(s){let a=e.buildLayerMatrix(s),i=s.graph().ranksep,l=0;a.forEach(c=>{const u=c.reduce((d,f)=>{const p=s.node(f).height;return d>p?d:p},0);c.forEach(d=>s.node(d).y=l+u/2),l+=u+i})}return Qte}var Yte,b7e;function BGn(){if(b7e)return Yte;b7e=1;let e=SGn(),t=kGn(),n=_Gn(),r=Al().normalizeRanks,s=CGn(),a=Al().removeEmptyRanks,i=EGn(),l=TGn(),c=jGn(),u=LGn(),d=zGn(),f=Al(),p=Ug().Graph;Yte=h;function h($,q){let Z=q&&q.debugTiming?f.time:f.notime;Z("layout",()=>{let Y=Z(" buildLayoutGraph",()=>E($));Z(" runLayout",()=>m(Y,Z,q)),Z(" updateInputGraph",()=>v($,Y))})}function m($,q,Z){q(" makeSpaceForEdgeLabels",()=>N($)),q(" removeSelfEdges",()=>z($)),q(" acyclic",()=>e.run($)),q(" nestingGraph.run",()=>i.run($)),q(" rank",()=>n(f.asNonCompoundGraph($))),q(" injectEdgeLabelProxies",()=>I($)),q(" removeEmptyRanks",()=>a($)),q(" nestingGraph.cleanup",()=>i.cleanup($)),q(" normalizeRanks",()=>r($)),q(" assignRankMinMax",()=>A($)),q(" removeEdgeLabelProxies",()=>R($)),q(" normalize.run",()=>t.run($)),q(" parentDummyChains",()=>s($)),q(" addBorderSegments",()=>l($)),q(" order",()=>u($,Z)),q(" insertSelfEdges",()=>V($)),q(" adjustCoordinateSystem",()=>c.adjust($)),q(" position",()=>d($)),q(" positionSelfEdges",()=>M($)),q(" removeBorderNodes",()=>B($)),q(" normalize.undo",()=>t.undo($)),q(" fixupEdgeLabelCoords",()=>F($)),q(" undoCoordinateSystem",()=>c.undo($)),q(" translateGraph",()=>L($)),q(" assignNodeIntersects",()=>D($)),q(" reversePoints",()=>H($)),q(" acyclic.undo",()=>e.undo($))}function v($,q){$.nodes().forEach(Z=>{let Y=$.node(Z),ne=q.node(Z);Y&&(Y.x=ne.x,Y.y=ne.y,Y.rank=ne.rank,q.children(Z).length&&(Y.width=ne.width,Y.height=ne.height))}),$.edges().forEach(Z=>{let Y=$.edge(Z),ne=q.edge(Z);Y.points=ne.points,Object.hasOwn(ne,"x")&&(Y.x=ne.x,Y.y=ne.y)}),$.graph().width=q.graph().width,$.graph().height=q.graph().height}let y=["nodesep","edgesep","ranksep","marginx","marginy"],b={ranksep:50,edgesep:20,nodesep:50,rankdir:"tb"},x=["acyclicer","ranker","rankdir","align"],S=["width","height","rank"],k={width:0,height:0},_=["minlen","weight","width","height","labeloffset"],C={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},T=["labelpos"];function E($){let q=new p({multigraph:!0,compound:!0}),Z=U($.graph());return q.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(Y=>{let ne=U($.node(Y));const J=G(ne,S);Object.keys(k).forEach(ee=>{J[ee]===void 0&&(J[ee]=k[ee])}),q.setNode(Y,J),q.setParent(Y,$.parent(Y))}),$.edges().forEach(Y=>{let ne=U($.edge(Y));q.setEdge(Y,Object.assign({},C,G(ne,_),f.pick(ne,T)))}),q}function N($){let q=$.graph();q.ranksep/=2,$.edges().forEach(Z=>{let Y=$.edge(Z);Y.minlen*=2,Y.labelpos.toLowerCase()!=="c"&&(q.rankdir==="TB"||q.rankdir==="BT"?Y.width+=Y.labeloffset:Y.height+=Y.labeloffset)})}function I($){$.edges().forEach(q=>{let Z=$.edge(q);if(Z.width&&Z.height){let Y=$.node(q.v),J={rank:($.node(q.w).rank-Y.rank)/2+Y.rank,e:q};f.addDummyNode($,"edge-proxy",J,"_ep")}})}function A($){let q=0;$.nodes().forEach(Z=>{let Y=$.node(Z);Y.borderTop&&(Y.minRank=$.node(Y.borderTop).rank,Y.maxRank=$.node(Y.borderBottom).rank,q=Math.max(q,Y.maxRank))}),$.graph().maxRank=q}function R($){$.nodes().forEach(q=>{let Z=$.node(q);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(q))})}function L($){let q=Number.POSITIVE_INFINITY,Z=0,Y=Number.POSITIVE_INFINITY,ne=0,J=$.graph(),ee=J.marginx||0,se=J.marginy||0;function le(X){let te=X.x,re=X.y,fe=X.width,ce=X.height;q=Math.min(q,te-fe/2),Z=Math.max(Z,te+fe/2),Y=Math.min(Y,re-ce/2),ne=Math.max(ne,re+ce/2)}$.nodes().forEach(X=>le($.node(X))),$.edges().forEach(X=>{let te=$.edge(X);Object.hasOwn(te,"x")&&le(te)}),q-=ee,Y-=se,$.nodes().forEach(X=>{let te=$.node(X);te.x-=q,te.y-=Y}),$.edges().forEach(X=>{let te=$.edge(X);te.points.forEach(re=>{re.x-=q,re.y-=Y}),Object.hasOwn(te,"x")&&(te.x-=q),Object.hasOwn(te,"y")&&(te.y-=Y)}),J.width=Z-q+ee,J.height=ne-Y+se}function D($){$.edges().forEach(q=>{let Z=$.edge(q),Y=$.node(q.v),ne=$.node(q.w),J,ee;Z.points?(J=Z.points[0],ee=Z.points[Z.points.length-1]):(Z.points=[],J=ne,ee=Y),Z.points.unshift(f.intersectRect(Y,J)),Z.points.push(f.intersectRect(ne,ee))})}function F($){$.edges().forEach(q=>{let Z=$.edge(q);if(Object.hasOwn(Z,"x"))switch((Z.labelpos==="l"||Z.labelpos==="r")&&(Z.width-=Z.labeloffset),Z.labelpos){case"l":Z.x-=Z.width/2+Z.labeloffset;break;case"r":Z.x+=Z.width/2+Z.labeloffset;break}})}function H($){$.edges().forEach(q=>{let Z=$.edge(q);Z.reversed&&Z.points.reverse()})}function B($){$.nodes().forEach(q=>{if($.children(q).length){let Z=$.node(q),Y=$.node(Z.borderTop),ne=$.node(Z.borderBottom),J=$.node(Z.borderLeft[Z.borderLeft.length-1]),ee=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(ee.x-J.x),Z.height=Math.abs(ne.y-Y.y),Z.x=J.x+Z.width/2,Z.y=Y.y+Z.height/2}}),$.nodes().forEach(q=>{$.node(q).dummy==="border"&&$.removeNode(q)})}function z($){$.edges().forEach(q=>{if(q.v===q.w){var Z=$.node(q.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:q,label:$.edge(q)}),$.removeEdge(q)}})}function V($){var q=f.buildLayerMatrix($);q.forEach(Z=>{var Y=0;Z.forEach((ne,J)=>{var ee=$.node(ne);ee.order=J+Y,(ee.selfEdges||[]).forEach(se=>{f.addDummyNode($,"selfedge",{width:se.label.width,height:se.label.height,rank:ee.rank,order:J+ ++Y,e:se.e,label:se.label},"_se")}),delete ee.selfEdges})})}function M($){$.nodes().forEach(q=>{var Z=$.node(q);if(Z.dummy==="selfedge"){var Y=$.node(Z.e.v),ne=Y.x+Y.width/2,J=Y.y,ee=Z.x-ne,se=Y.height/2;$.setEdge(Z.e,Z.label),$.removeNode(q),Z.label.points=[{x:ne+2*ee/3,y:J-se},{x:ne+5*ee/6,y:J-se},{x:ne+ee,y:J},{x:ne+5*ee/6,y:J+se},{x:ne+2*ee/3,y:J+se}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,q){return f.mapValues(f.pick($,q),Number)}function U($){var q={};return $&&Object.entries($).forEach(([Z,Y])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),q[Z]=Y}),q}return Yte}var Kte,x7e;function UGn(){if(x7e)return Kte;x7e=1;let e=Al(),t=Ug().Graph;Kte={debugOrdering:n};function n(r){let s=e.buildLayerMatrix(r),a=new t({compound:!0,multigraph:!0}).setGraph({});return r.nodes().forEach(i=>{a.setNode(i,{label:i}),a.setParent(i,"layer"+r.node(i).rank)}),r.edges().forEach(i=>a.setEdge(i.v,i.w,{},i.name)),s.forEach((i,l)=>{let c="layer"+l;a.setNode(c,{rank:"same"}),i.reduce((u,d)=>(a.setEdge(u,d,{style:"invis"}),d))}),a}return Kte}var Xte,w7e;function qGn(){return w7e||(w7e=1,Xte="1.1.8"),Xte}var Jte,S7e;function VGn(){return S7e||(S7e=1,Jte={graphlib:Ug(),layout:BGn(),debug:UGn(),util:{time:Al().time,notime:Al().notime},version:qGn()}),Jte}var HGn=VGn();const k7e=Dl(HGn);function Bl(e){if(typeof e=="string"||typeof e=="number")return""+e;let t="";if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=Bl(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var WGn={value:()=>{}};function uW(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+"")||r in n||/[\s.]/.test(r))throw new Error("illegal type: "+r);n[r]=[]}return new V8(n)}function V8(e){this._=e}function ZGn(e,t){return e.trim().split(/^|\s+/).map(function(n){var r="",s=n.indexOf(".");if(s>=0&&(r=n.slice(s+1),n=n.slice(0,s)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}V8.prototype=uW.prototype={constructor:V8,on:function(e,t){var n=this._,r=ZGn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=GGn(n[s],e.name)))return s;return}if(t!=null&&typeof t!="function")throw new Error("invalid callback: "+t);for(;++a<i;)if(s=(e=r[a]).type)n[s]=O7e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=O7e(n[s],e.name,null);return this},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new V8(e)},call:function(e,t){if((s=arguments.length-2)>0)for(var n=new Array(s),r=0,s,a;r<s;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(a=this._[e],r=0,s=a.length;r<s;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw new Error("unknown type: "+e);for(var r=this._[e],s=0,a=r.length;s<a;++s)r[s].value.apply(t,n)}};function GGn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function O7e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=WGn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var fve="http://www.w3.org/1999/xhtml";const _7e={svg:"http://www.w3.org/2000/svg",xhtml:fve,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function dW(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),_7e.hasOwnProperty(t)?{space:_7e[t],local:e}:e}function QGn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===fve&&t.documentElement.namespaceURI===fve?t.createElement(e):t.createElementNS(n,e)}}function YGn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function uOt(e){var t=dW(e);return(t.local?YGn:QGn)(t)}function KGn(){}function yOe(e){return e==null?KGn:function(){return this.querySelector(e)}}function XGn(e){typeof e!="function"&&(e=yOe(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=new Array(i),c,u,d=0;d<i;++d)(c=a[d])&&(u=e.call(c,c.__data__,d,a))&&("__data__"in c&&(u.__data__=c.__data__),l[d]=u);return new Gp(r,this._parents)}function JGn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function eQn(){return[]}function dOt(e){return e==null?eQn:function(){return this.querySelectorAll(e)}}function tQn(e){return function(){return JGn(e.apply(this,arguments))}}function nQn(e){typeof e=="function"?e=tQn(e):e=dOt(e);for(var t=this._groups,n=t.length,r=[],s=[],a=0;a<n;++a)for(var i=t[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&(r.push(e.call(c,c.__data__,u,i)),s.push(c));return new Gp(r,s)}function fOt(e){return function(){return this.matches(e)}}function pOt(e){return function(t){return t.matches(e)}}var rQn=Array.prototype.find;function sQn(e){return function(){return rQn.call(this.children,e)}}function aQn(){return this.firstElementChild}function iQn(e){return this.select(e==null?aQn:sQn(typeof e=="function"?e:pOt(e)))}var oQn=Array.prototype.filter;function lQn(){return Array.from(this.children)}function cQn(e){return function(){return oQn.call(this.children,e)}}function uQn(e){return this.selectAll(e==null?lQn:cQn(typeof e=="function"?e:pOt(e)))}function dQn(e){typeof e!="function"&&(e=fOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Gp(r,this._parents)}function hOt(e){return new Array(e.length)}function fQn(){return new Gp(this._enter||this._groups.map(hOt),this._parents)}function YB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}YB.prototype={constructor:YB,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function pQn(e){return function(){return e}}function hQn(e,t,n,r,s,a){for(var i=0,l,c=t.length,u=a.length;i<u;++i)(l=t[i])?(l.__data__=a[i],r[i]=l):n[i]=new YB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function mQn(e,t,n,r,s,a,i){var l,c,u=new Map,d=t.length,f=a.length,p=new Array(d),h;for(l=0;l<d;++l)(c=t[l])&&(p[l]=h=i.call(c,c.__data__,l,t)+"",u.has(h)?s[l]=c:u.set(h,c));for(l=0;l<f;++l)h=i.call(e,a[l],l,a)+"",(c=u.get(h))?(r[l]=c,c.__data__=a[l],u.delete(h)):n[l]=new YB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function gQn(e){return e.__data__}function vQn(e,t){if(!arguments.length)return Array.from(this,gQn);var n=t?mQn:hQn,r=this._parents,s=this._groups;typeof e!="function"&&(e=pQn(e));for(var a=s.length,i=new Array(a),l=new Array(a),c=new Array(a),u=0;u<a;++u){var d=r[u],f=s[u],p=f.length,h=yQn(e.call(d,d&&d.__data__,u,r)),m=h.length,v=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,v,y,b,h,t);for(var x=0,S=0,k,_;x<m;++x)if(k=v[x]){for(x>=S&&(S=x+1);!(_=y[S])&&++S<m;);k._next=_||null}}return i=new Gp(i,r),i._enter=l,i._exit=c,i}function yQn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function bQn(){return new Gp(this._exit||this._groups.map(hOt),this._parents)}function xQn(e,t,n){var r=this.enter(),s=this,a=this.exit();return typeof e=="function"?(r=e(r),r&&(r=r.selection())):r=r.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),n==null?a.remove():n(a),r&&s?r.merge(s).order():s}function wQn(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,s=n.length,a=r.length,i=Math.min(s,a),l=new Array(s),c=0;c<i;++c)for(var u=n[c],d=r[c],f=u.length,p=l[c]=new Array(f),h,m=0;m<f;++m)(h=u[m]||d[m])&&(p[m]=h);for(;c<s;++c)l[c]=n[c];return new Gp(l,this._parents)}function SQn(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],s=r.length-1,a=r[s],i;--s>=0;)(i=r[s])&&(a&&i.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(i,a),a=i);return this}function kQn(e){e||(e=OQn);function t(f,p){return f&&p?e(f.__data__,p.__data__):!f-!p}for(var n=this._groups,r=n.length,s=new Array(r),a=0;a<r;++a){for(var i=n[a],l=i.length,c=s[a]=new Array(l),u,d=0;d<l;++d)(u=i[d])&&(c[d]=u);c.sort(t)}return new Gp(s,this._parents).order()}function OQn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function _Qn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function CQn(){return Array.from(this)}function EQn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length;s<a;++s){var i=r[s];if(i)return i}return null}function TQn(){let e=0;for(const t of this)++e;return e}function jQn(){return!this.node()}function NQn(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var s=t[n],a=0,i=s.length,l;a<i;++a)(l=s[a])&&e.call(l,l.__data__,a,s);return this}function IQn(e){return function(){this.removeAttribute(e)}}function AQn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function RQn(e,t){return function(){this.setAttribute(e,t)}}function PQn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function $Qn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function MQn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function DQn(e,t){var n=dW(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?AQn:IQn:typeof t=="function"?n.local?MQn:$Qn:n.local?PQn:RQn)(n,t))}function mOt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function LQn(e){return function(){this.style.removeProperty(e)}}function FQn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function zQn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function BQn(e,t,n){return arguments.length>1?this.each((t==null?LQn:typeof t=="function"?zQn:FQn)(e,t,n??"")):sN(this.node(),e)}function sN(e,t){return e.style.getPropertyValue(t)||mOt(e).getComputedStyle(e,null).getPropertyValue(t)}function UQn(e){return function(){delete this[e]}}function qQn(e,t){return function(){this[e]=t}}function VQn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function HQn(e,t){return arguments.length>1?this.each((t==null?UQn:typeof t=="function"?VQn:qQn)(e,t)):this.node()[e]}function gOt(e){return e.trim().split(/^|\s+/)}function bOe(e){return e.classList||new vOt(e)}function vOt(e){this._node=e,this._names=gOt(e.getAttribute("class")||"")}vOt.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function yOt(e,t){for(var n=bOe(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function bOt(e,t){for(var n=bOe(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function WQn(e){return function(){yOt(this,e)}}function ZQn(e){return function(){bOt(this,e)}}function GQn(e,t){return function(){(t.apply(this,arguments)?yOt:bOt)(this,e)}}function QQn(e,t){var n=gOt(e+"");if(arguments.length<2){for(var r=bOe(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?GQn:t?WQn:ZQn)(n,t))}function YQn(){this.textContent=""}function KQn(e){return function(){this.textContent=e}}function XQn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function JQn(e){return arguments.length?this.each(e==null?YQn:(typeof e=="function"?XQn:KQn)(e)):this.node().textContent}function eYn(){this.innerHTML=""}function tYn(e){return function(){this.innerHTML=e}}function nYn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function rYn(e){return arguments.length?this.each(e==null?eYn:(typeof e=="function"?nYn:tYn)(e)):this.node().innerHTML}function sYn(){this.nextSibling&&this.parentNode.appendChild(this)}function aYn(){return this.each(sYn)}function iYn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function oYn(){return this.each(iYn)}function lYn(e){var t=typeof e=="function"?e:uOt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function cYn(){return null}function uYn(e,t){var n=typeof e=="function"?e:uOt(e),r=t==null?cYn:typeof t=="function"?t:yOe(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function dYn(){var e=this.parentNode;e&&e.removeChild(this)}function fYn(){return this.each(dYn)}function pYn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function hYn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function mYn(e){return this.select(e?hYn:pYn)}function gYn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function vYn(e){return function(t){e.call(this,t,this.__data__)}}function yYn(e){return e.trim().split(/^|\s+/).map(function(t){var n="",r=t.indexOf(".");return r>=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function bYn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,s=t.length,a;n<s;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function xYn(e,t,n){return function(){var r=this.__on,s,a=vYn(t);if(r){for(var i=0,l=r.length;i<l;++i)if((s=r[i]).type===e.type&&s.name===e.name){this.removeEventListener(s.type,s.listener,s.options),this.addEventListener(s.type,s.listener=a,s.options=n),s.value=t;return}}this.addEventListener(e.type,a,n),s={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(s):this.__on=[s]}}function wYn(e,t,n){var r=yYn(e+""),s,a=r.length,i;if(arguments.length<2){var l=this.node().__on;if(l){for(var c=0,u=l.length,d;c<u;++c)for(s=0,d=l[c];s<a;++s)if((i=r[s]).type===d.type&&i.name===d.name)return d.value}return}for(l=t?xYn:bYn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function xOt(e,t,n){var r=mOt(e),s=r.CustomEvent;typeof s=="function"?s=new s(t,n):(s=r.document.createEvent("Event"),n?(s.initEvent(t,n.bubbles,n.cancelable),s.detail=n.detail):s.initEvent(t,!1,!1)),e.dispatchEvent(s)}function SYn(e,t){return function(){return xOt(this,e,t)}}function kYn(e,t){return function(){return xOt(this,e,t.apply(this,arguments))}}function OYn(e,t){return this.each((typeof t=="function"?kYn:SYn)(e,t))}function*_Yn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],s=0,a=r.length,i;s<a;++s)(i=r[s])&&(yield i)}var wOt=[null];function Gp(e,t){this._groups=e,this._parents=t}function Q3(){return new Gp([[document.documentElement]],wOt)}function CYn(){return this}Gp.prototype=Q3.prototype={constructor:Gp,select:XGn,selectAll:nQn,selectChild:iQn,selectChildren:uQn,filter:dQn,data:vQn,enter:fQn,exit:bQn,join:xQn,merge:wQn,selection:CYn,order:SQn,sort:kQn,call:_Qn,nodes:CQn,node:EQn,size:TQn,empty:jQn,each:NQn,attr:DQn,style:BQn,property:HQn,classed:QQn,text:JQn,html:rYn,raise:aYn,lower:oYn,append:lYn,insert:uYn,remove:fYn,clone:mYn,datum:gYn,on:wYn,dispatch:OYn,[Symbol.iterator]:_Yn};function Op(e){return typeof e=="string"?new Gp([[document.querySelector(e)]],[document.documentElement]):new Gp([[e]],wOt)}function EYn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function ug(e,t){if(e=EYn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var s=t.getBoundingClientRect();return[e.clientX-s.left-t.clientLeft,e.clientY-s.top-t.clientTop]}}return[e.pageX,e.pageY]}const TYn={passive:!1},NM={capture:!0,passive:!1};function ene(e){e.stopImmediatePropagation()}function aj(e){e.preventDefault(),e.stopImmediatePropagation()}function SOt(e){var t=e.document.documentElement,n=Op(e).on("dragstart.drag",aj,NM);"onselectstart"in t?n.on("selectstart.drag",aj,NM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function kOt(e,t){var n=e.document.documentElement,r=Op(e).on("dragstart.drag",null);t&&(r.on("click.drag",aj,NM),setTimeout(function(){r.on("click.drag",null)},0)),"onselectstart"in n?r.on("selectstart.drag",null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}const hF=e=>()=>e;function pve(e,{sourceEvent:t,subject:n,target:r,identifier:s,active:a,x:i,y:l,dx:c,dy:u,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:s,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:l,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}pve.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function jYn(e){return!e.ctrlKey&&!e.button}function NYn(){return this.parentNode}function IYn(e,t){return t??{x:e.x,y:e.y}}function AYn(){return navigator.maxTouchPoints||"ontouchstart"in this}function OOt(){var e=jYn,t=NYn,n=IYn,r=AYn,s={},a=uW("start","drag","end"),i=0,l,c,u,d,f=0;function p(k){k.on("mousedown.drag",h).filter(r).on("touchstart.drag",y).on("touchmove.drag",b,TYn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,_){if(!(d||!e.call(this,k,_))){var C=S(this,t.call(this,k,_),k,_,"mouse");C&&(Op(k.view).on("mousemove.drag",m,NM).on("mouseup.drag",v,NM),SOt(k.view),ene(k),u=!1,l=k.clientX,c=k.clientY,C("start",k))}}function m(k){if(aj(k),!u){var _=k.clientX-l,C=k.clientY-c;u=_*_+C*C>f}s.mouse("drag",k)}function v(k){Op(k.view).on("mousemove.drag mouseup.drag",null),kOt(k.view,u),aj(k),s.mouse("end",k)}function y(k,_){if(e.call(this,k,_)){var C=k.changedTouches,T=t.call(this,k,_),E=C.length,N,I;for(N=0;N<E;++N)(I=S(this,T,k,_,C[N].identifier,C[N]))&&(ene(k),I("start",k,C[N]))}}function b(k){var _=k.changedTouches,C=_.length,T,E;for(T=0;T<C;++T)(E=s[_[T].identifier])&&(aj(k),E("drag",k,_[T]))}function x(k){var _=k.changedTouches,C=_.length,T,E;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),T=0;T<C;++T)(E=s[_[T].identifier])&&(ene(k),E("end",k,_[T]))}function S(k,_,C,T,E,N){var I=a.copy(),A=ug(N||C,_),R,L,D;if((D=n.call(k,new pve("beforestart",{sourceEvent:C,target:p,identifier:E,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),T))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,B,z){var V=A,M;switch(H){case"start":s[E]=F,M=i++;break;case"end":delete s[E],--i;case"drag":A=ug(z||B,_),M=i;break}I.call(H,k,new pve(H,{sourceEvent:B,subject:D,target:p,identifier:E,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-V[0],dy:A[1]-V[1],dispatch:I}),T)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:hF(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:hF(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:hF(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:hF(!!k),p):r},p.on=function(){var k=a.on.apply(a,arguments);return k===a?p:k},p.clickDistance=function(k){return arguments.length?(f=(k=+k)*k,p):Math.sqrt(f)},p}function xOe(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function _Ot(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Y3(){}var IM=.7,KB=1/IM,ij="\\s*([+-]?\\d+)\\s*",AM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",cy="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",RYn=/^#([0-9a-f]{3,8})$/,PYn=new RegExp(`^rgb\\(${ij},${ij},${ij}\\)$`),$Yn=new RegExp(`^rgb\\(${cy},${cy},${cy}\\)$`),MYn=new RegExp(`^rgba\\(${ij},${ij},${ij},${AM}\\)$`),DYn=new RegExp(`^rgba\\(${cy},${cy},${cy},${AM}\\)$`),LYn=new RegExp(`^hsl\\(${AM},${cy},${cy}\\)$`),FYn=new RegExp(`^hsla\\(${AM},${cy},${cy},${AM}\\)$`),C7e={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};xOe(Y3,YO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:E7e,formatHex:E7e,formatHex8:zYn,formatHsl:BYn,formatRgb:T7e,toString:T7e});function E7e(){return this.rgb().formatHex()}function zYn(){return this.rgb().formatHex8()}function BYn(){return COt(this).formatHsl()}function T7e(){return this.rgb().formatRgb()}function YO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=RYn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?j7e(t):n===3?new xf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?mF(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?mF(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=PYn.exec(e))?new xf(t[1],t[2],t[3],1):(t=$Yn.exec(e))?new xf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=MYn.exec(e))?mF(t[1],t[2],t[3],t[4]):(t=DYn.exec(e))?mF(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=LYn.exec(e))?A7e(t[1],t[2]/100,t[3]/100,1):(t=FYn.exec(e))?A7e(t[1],t[2]/100,t[3]/100,t[4]):C7e.hasOwnProperty(e)?j7e(C7e[e]):e==="transparent"?new xf(NaN,NaN,NaN,0):null}function j7e(e){return new xf(e>>16&255,e>>8&255,e&255,1)}function mF(e,t,n,r){return r<=0&&(e=t=n=NaN),new xf(e,t,n,r)}function UYn(e){return e instanceof Y3||(e=YO(e)),e?(e=e.rgb(),new xf(e.r,e.g,e.b,e.opacity)):new xf}function hve(e,t,n,r){return arguments.length===1?UYn(e):new xf(e,t,n,r??1)}function xf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}xOe(xf,hve,_Ot(Y3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?IM:Math.pow(IM,e),new xf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new xf(rO(this.r),rO(this.g),rO(this.b),XB(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:N7e,formatHex:N7e,formatHex8:qYn,formatRgb:I7e,toString:I7e}));function N7e(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}`}function qYn(){return`#${Mk(this.r)}${Mk(this.g)}${Mk(this.b)}${Mk((isNaN(this.opacity)?1:this.opacity)*255)}`}function I7e(){const e=XB(this.opacity);return`${e===1?"rgb(":"rgba("}${rO(this.r)}, ${rO(this.g)}, ${rO(this.b)}${e===1?")":`, ${e})`}`}function XB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function rO(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Mk(e){return e=rO(e),(e<16?"0":"")+e.toString(16)}function A7e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new vg(e,t,n,r)}function COt(e){if(e instanceof vg)return new vg(e.h,e.s,e.l,e.opacity);if(e instanceof Y3||(e=YO(e)),!e)return new vg;if(e instanceof vg)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,s=Math.min(t,n,r),a=Math.max(t,n,r),i=NaN,l=a-s,c=(a+s)/2;return l?(t===a?i=(n-r)/l+(n<r)*6:n===a?i=(r-t)/l+2:i=(t-n)/l+4,l/=c<.5?a+s:2-a-s,i*=60):l=c>0&&c<1?0:i,new vg(i,l,c,e.opacity)}function VYn(e,t,n,r){return arguments.length===1?COt(e):new vg(e,t,n,r??1)}function vg(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}xOe(vg,VYn,_Ot(Y3,{brighter(e){return e=e==null?KB:Math.pow(KB,e),new vg(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?IM:Math.pow(IM,e),new vg(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,s=2*n-r;return new xf(tne(e>=240?e-240:e+120,s,r),tne(e,s,r),tne(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new vg(R7e(this.h),gF(this.s),gF(this.l),XB(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=XB(this.opacity);return`${e===1?"hsl(":"hsla("}${R7e(this.h)}, ${gF(this.s)*100}%, ${gF(this.l)*100}%${e===1?")":`, ${e})`}`}}));function R7e(e){return e=(e||0)%360,e<0?e+360:e}function gF(e){return Math.max(0,Math.min(1,e||0))}function tne(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const wOe=e=>()=>e;function HYn(e,t){return function(n){return e+n*t}}function WYn(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function ZYn(e){return(e=+e)==1?EOt:function(t,n){return n-t?WYn(t,n,e):wOe(isNaN(t)?n:t)}}function EOt(e,t){var n=t-e;return n?HYn(e,n):wOe(isNaN(e)?t:e)}const JB=(function e(t){var n=ZYn(t);function r(s,a){var i=n((s=hve(s)).r,(a=hve(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=EOt(s.opacity,a.opacity);return function(d){return s.r=i(d),s.g=l(d),s.b=c(d),s.opacity=u(d),s+""}}return r.gamma=e,r})(1);function GYn(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),s;return function(a){for(s=0;s<n;++s)r[s]=e[s]*(1-a)+t[s]*a;return r}}function QYn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function YYn(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,s=new Array(r),a=new Array(n),i;for(i=0;i<r;++i)s[i]=vx(e[i],t[i]);for(;i<n;++i)a[i]=t[i];return function(l){for(i=0;i<r;++i)a[i]=s[i](l);return a}}function KYn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function fg(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function XYn(e,t){var n={},r={},s;(e===null||typeof e!="object")&&(e={}),(t===null||typeof t!="object")&&(t={});for(s in t)s in e?n[s]=vx(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var mve=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,nne=new RegExp(mve.source,"g");function JYn(e){return function(){return e}}function eKn(e){return function(t){return e(t)+""}}function TOt(e,t){var n=mve.lastIndex=nne.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=mve.exec(e))&&(s=nne.exec(t));)(a=s.index)>n&&(a=t.slice(n,a),l[i]?l[i]+=a:l[++i]=a),(r=r[0])===(s=s[0])?l[i]?l[i]+=s:l[++i]=s:(l[++i]=null,c.push({i,x:fg(r,s)})),n=nne.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?eKn(c[0].x):JYn(t):(t=c.length,function(u){for(var d=0,f;d<t;++d)l[(f=c[d]).i]=f.x(u);return l.join("")})}function vx(e,t){var n=typeof t,r;return t==null||n==="boolean"?wOe(t):(n==="number"?fg:n==="string"?(r=YO(t))?(t=r,JB):TOt:t instanceof YO?JB:t instanceof Date?KYn:QYn(t)?GYn:Array.isArray(t)?YYn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?XYn:fg)(e,t)}function SOe(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var P7e=180/Math.PI,gve={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function jOt(e,t,n,r,s,a){var i,l,c;return(i=Math.sqrt(e*e+t*t))&&(e/=i,t/=i),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(l=Math.sqrt(n*n+r*r))&&(n/=l,r/=l,c/=l),e*r<t*n&&(e=-e,t=-t,c=-c,i=-i),{translateX:s,translateY:a,rotate:Math.atan2(t,e)*P7e,skewX:Math.atan(c)*P7e,scaleX:i,scaleY:l}}var vF;function tKn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?gve:jOt(t.a,t.b,t.c,t.d,t.e,t.f)}function nKn(e){return e==null||(vF||(vF=document.createElementNS("http://www.w3.org/2000/svg","g")),vF.setAttribute("transform",e),!(e=vF.transform.baseVal.consolidate()))?gve:(e=e.matrix,jOt(e.a,e.b,e.c,e.d,e.e,e.f))}function NOt(e,t,n,r){function s(u){return u.length?u.pop()+" ":""}function a(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push("translate(",null,t,null,n);m.push({i:v-4,x:fg(u,f)},{i:v-2,x:fg(d,p)})}else(f||p)&&h.push("translate("+f+t+p+n)}function i(u,d,f,p){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),p.push({i:f.push(s(f)+"rotate(",null,r)-2,x:fg(u,d)})):d&&f.push(s(f)+"rotate("+d+r)}function l(u,d,f,p){u!==d?p.push({i:f.push(s(f)+"skewX(",null,r)-2,x:fg(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var v=h.push(s(h)+"scale(",null,",",null,")");m.push({i:v-4,x:fg(u,f)},{i:v-2,x:fg(d,p)})}else(f!==1||p!==1)&&h.push(s(h)+"scale("+f+","+p+")")}return function(u,d){var f=[],p=[];return u=e(u),d=e(d),a(u.translateX,u.translateY,d.translateX,d.translateY,f,p),i(u.rotate,d.rotate,f,p),l(u.skewX,d.skewX,f,p),c(u.scaleX,u.scaleY,d.scaleX,d.scaleY,f,p),u=d=null,function(h){for(var m=-1,v=p.length,y;++m<v;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var rKn=NOt(tKn,"px, ","px)","deg)"),sKn=NOt(nKn,", ",")",")"),aKn=1e-12;function $7e(e){return((e=Math.exp(e))+1/e)/2}function iKn(e){return((e=Math.exp(e))-1/e)/2}function oKn(e){return((e=Math.exp(2*e))-1)/(e+1)}const H8=(function e(t,n,r){function s(a,i){var l=a[0],c=a[1],u=a[2],d=i[0],f=i[1],p=i[2],h=d-l,m=f-c,v=h*h+m*m,y,b;if(v<aKn)b=Math.log(p/u)/t,y=function(T){return[l+T*h,c+T*m,u*Math.exp(t*T*b)]};else{var x=Math.sqrt(v),S=(p*p-u*u+r*v)/(2*u*n*x),k=(p*p-u*u-r*v)/(2*p*n*x),_=Math.log(Math.sqrt(S*S+1)-S),C=Math.log(Math.sqrt(k*k+1)-k);b=(C-_)/t,y=function(T){var E=T*b,N=$7e(_),I=u/(n*x)*(N*oKn(t*E+_)-iKn(_));return[l+I*h,c+I*m,u*N/$7e(t*E+_)]}}return y.duration=b*1e3*t/Math.SQRT2,y}return s.rho=function(a){var i=Math.max(.001,+a),l=i*i,c=l*l;return e(i,l,c)},s})(Math.SQRT2,2,4);function lKn(e,t){t===void 0&&(t=e,e=vx);for(var n=0,r=t.length-1,s=t[0],a=new Array(r<0?0:r);n<r;)a[n]=e(s,s=t[++n]);return function(i){var l=Math.max(0,Math.min(r-1,Math.floor(i*=r)));return a[l](i-l)}}var aN=0,GP=0,RR=0,IOt=1e3,eU,QP,tU=0,KO=0,fW=0,RM=typeof performance=="object"&&performance.now?performance:Date,AOt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function kOe(){return KO||(AOt(cKn),KO=RM.now()+fW)}function cKn(){KO=0}function nU(){this._call=this._time=this._next=null}nU.prototype=ROt.prototype={constructor:nU,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?kOe():+n)+(t==null?0:+t),!this._next&&QP!==this&&(QP?QP._next=this:eU=this,QP=this),this._call=e,this._time=n,vve()},stop:function(){this._call&&(this._call=null,this._time=1/0,vve())}};function ROt(e,t,n){var r=new nU;return r.restart(e,t,n),r}function uKn(){kOe(),++aN;for(var e=eU,t;e;)(t=KO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--aN}function M7e(){KO=(tU=RM.now())+fW,aN=GP=0;try{uKn()}finally{aN=0,fKn(),KO=0}}function dKn(){var e=RM.now(),t=e-tU;t>IOt&&(fW-=t,tU=e)}function fKn(){for(var e,t=eU,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:eU=n);QP=e,vve(r)}function vve(e){if(!aN){GP&&(GP=clearTimeout(GP));var t=e-KO;t>24?(e<1/0&&(GP=setTimeout(M7e,e-RM.now()-fW)),RR&&(RR=clearInterval(RR))):(RR||(tU=RM.now(),RR=setInterval(dKn,IOt)),aN=1,AOt(M7e))}}function D7e(e,t,n){var r=new nU;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var pKn=uW("start","end","cancel","interrupt"),hKn=[],POt=0,L7e=1,yve=2,W8=3,F7e=4,bve=5,Z8=6;function pW(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;mKn(e,n,{name:t,index:r,group:s,on:pKn,tween:hKn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:POt})}function OOe(e,t){var n=Xg(e,t);if(n.state>POt)throw new Error("too late; already scheduled");return n}function zy(e,t){var n=Xg(e,t);if(n.state>W8)throw new Error("too late; already running");return n}function Xg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function mKn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=ROt(a,0,n.time);function a(u){n.state=L7e,n.timer.restart(i,n.delay,n.time),n.delay<=u&&i(u-n.delay)}function i(u){var d,f,p,h;if(n.state!==L7e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===W8)return D7e(i);h.state===F7e?(h.state=Z8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=Z8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(D7e(function(){n.state===W8&&(n.state=F7e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=yve,n.on.call("start",e,e.__data__,n.index,n.group),n.state===yve){for(n.state=W8,s=new Array(p=n.tween.length),d=0,f=-1;d<p;++d)(h=n.tween[d].value.call(e,e.__data__,n.index,n.group))&&(s[++f]=h);s.length=f+1}}function l(u){for(var d=u<n.duration?n.ease.call(null,u/n.duration):(n.timer.restart(c),n.state=bve,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===bve&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=Z8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function G8(e,t){var n=e.__transition,r,s,a=!0,i;if(n){t=t==null?null:t+"";for(i in n){if((r=n[i]).name!==t){a=!1;continue}s=r.state>yve&&r.state<bve,r.state=Z8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function gKn(e){return this.each(function(){G8(this,e)})}function vKn(e,t){var n,r;return function(){var s=zy(this,e),a=s.tween;if(a!==n){r=n=a;for(var i=0,l=r.length;i<l;++i)if(r[i].name===t){r=r.slice(),r.splice(i,1);break}}s.tween=r}}function yKn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=zy(this,e),i=a.tween;if(i!==r){s=(r=i).slice();for(var l={name:t,value:n},c=0,u=s.length;c<u;++c)if(s[c].name===t){s[c]=l;break}c===u&&s.push(l)}a.tween=s}}function bKn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Xg(this.node(),n).tween,s=0,a=r.length,i;s<a;++s)if((i=r[s]).name===e)return i.value;return null}return this.each((t==null?vKn:yKn)(n,e,t))}function _Oe(e,t,n){var r=e._id;return e.each(function(){var s=zy(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Xg(s,r).value[t]}}function $Ot(e,t){var n;return(typeof t=="number"?fg:t instanceof YO?JB:(n=YO(t))?(t=n,JB):TOt)(e,t)}function xKn(e){return function(){this.removeAttribute(e)}}function wKn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function SKn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttribute(e);return i===s?null:i===r?a:a=t(r=i,n)}}function kKn(e,t,n){var r,s=n+"",a;return function(){var i=this.getAttributeNS(e.space,e.local);return i===s?null:i===r?a:a=t(r=i,n)}}function OKn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttribute(e):(i=this.getAttribute(e),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function _Kn(e,t,n){var r,s,a;return function(){var i,l=n(this),c;return l==null?void this.removeAttributeNS(e.space,e.local):(i=this.getAttributeNS(e.space,e.local),c=l+"",i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l)))}}function CKn(e,t){var n=dW(e),r=n==="transform"?sKn:$Ot;return this.attrTween(e,typeof t=="function"?(n.local?_Kn:OKn)(n,r,_Oe(this,"attr."+e,t)):t==null?(n.local?wKn:xKn)(n):(n.local?kKn:SKn)(n,r,t))}function EKn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function TKn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function jKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&TKn(e,a)),n}return s._value=t,s}function NKn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&EKn(e,a)),n}return s._value=t,s}function IKn(e,t){var n="attr."+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!="function")throw new Error;var r=dW(e);return this.tween(n,(r.local?jKn:NKn)(r,t))}function AKn(e,t){return function(){OOe(this,e).delay=+t.apply(this,arguments)}}function RKn(e,t){return t=+t,function(){OOe(this,e).delay=t}}function PKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?AKn:RKn)(t,e)):Xg(this.node(),t).delay}function $Kn(e,t){return function(){zy(this,e).duration=+t.apply(this,arguments)}}function MKn(e,t){return t=+t,function(){zy(this,e).duration=t}}function DKn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?$Kn:MKn)(t,e)):Xg(this.node(),t).duration}function LKn(e,t){if(typeof t!="function")throw new Error;return function(){zy(this,e).ease=t}}function FKn(e){var t=this._id;return arguments.length?this.each(LKn(t,e)):Xg(this.node(),t).ease}function zKn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;zy(this,e).ease=n}}function BKn(e){if(typeof e!="function")throw new Error;return this.each(zKn(this._id,e))}function UKn(e){typeof e!="function"&&(e=fOt(e));for(var t=this._groups,n=t.length,r=new Array(n),s=0;s<n;++s)for(var a=t[s],i=a.length,l=r[s]=[],c,u=0;u<i;++u)(c=a[u])&&e.call(c,c.__data__,u,a)&&l.push(c);return new Dx(r,this._parents,this._name,this._id)}function qKn(e){if(e._id!==this._id)throw new Error;for(var t=this._groups,n=e._groups,r=t.length,s=n.length,a=Math.min(r,s),i=new Array(r),l=0;l<a;++l)for(var c=t[l],u=n[l],d=c.length,f=i[l]=new Array(d),p,h=0;h<d;++h)(p=c[h]||u[h])&&(f[h]=p);for(;l<r;++l)i[l]=t[l];return new Dx(i,this._parents,this._name,this._id)}function VKn(e){return(e+"").trim().split(/^|\s+/).every(function(t){var n=t.indexOf(".");return n>=0&&(t=t.slice(0,n)),!t||t==="start"})}function HKn(e,t,n){var r,s,a=VKn(t)?OOe:zy;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function WKn(e,t){var n=this._id;return arguments.length<2?Xg(this.node(),n).on.on(e):this.each(HKn(n,e,t))}function ZKn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function GKn(){return this.on("end.remove",ZKn(this._id))}function QKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=yOe(e));for(var r=this._groups,s=r.length,a=new Array(s),i=0;i<s;++i)for(var l=r[i],c=l.length,u=a[i]=new Array(c),d,f,p=0;p<c;++p)(d=l[p])&&(f=e.call(d,d.__data__,p,l))&&("__data__"in d&&(f.__data__=d.__data__),u[p]=f,pW(u[p],t,n,p,u,Xg(d,n)));return new Dx(a,this._parents,t,n)}function YKn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=dOt(e));for(var r=this._groups,s=r.length,a=[],i=[],l=0;l<s;++l)for(var c=r[l],u=c.length,d,f=0;f<u;++f)if(d=c[f]){for(var p=e.call(d,d.__data__,f,c),h,m=Xg(d,n),v=0,y=p.length;v<y;++v)(h=p[v])&&pW(h,t,n,v,p,m);a.push(p),i.push(d)}return new Dx(a,i,t,n)}var KKn=Q3.prototype.constructor;function XKn(){return new KKn(this._groups,this._parents)}function JKn(e,t){var n,r,s;return function(){var a=sN(this,e),i=(this.style.removeProperty(e),sN(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function MOt(e){return function(){this.style.removeProperty(e)}}function eXn(e,t,n){var r,s=n+"",a;return function(){var i=sN(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function tXn(e,t,n){var r,s,a;return function(){var i=sN(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),sN(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function nXn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=zy(this,e),u=c.on,d=c.value[a]==null?l||(l=MOt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function rXn(e,t,n){var r=(e+="")=="transform"?rKn:$Ot;return t==null?this.styleTween(e,JKn(e,r)).on("end.style."+e,MOt(e)):typeof t=="function"?this.styleTween(e,tXn(e,r,_Oe(this,"style."+e,t))).each(nXn(this._id,e)):this.styleTween(e,eXn(e,r,t),n).on("end.style."+e,null)}function sXn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function aXn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&sXn(e,i,n)),r}return a._value=t,a}function iXn(e,t,n){var r="style."+(e+="");if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!="function")throw new Error;return this.tween(r,aXn(e,t,n??""))}function oXn(e){return function(){this.textContent=e}}function lXn(e){return function(){var t=e(this);this.textContent=t??""}}function cXn(e){return this.tween("text",typeof e=="function"?lXn(_Oe(this,"text",e)):oXn(e==null?"":e+""))}function uXn(e){return function(t){this.textContent=e.call(this,t)}}function dXn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&uXn(s)),t}return r._value=e,r}function fXn(e){var t="text";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!="function")throw new Error;return this.tween(t,dXn(e))}function pXn(){for(var e=this._name,t=this._id,n=DOt(),r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)if(c=i[u]){var d=Xg(c,t);pW(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Dx(r,this._parents,e,n)}function hXn(){var e,t,n=this,r=n._id,s=n.size();return new Promise(function(a,i){var l={value:i},c={value:function(){--s===0&&a()}};n.each(function(){var u=zy(this,r),d=u.on;d!==e&&(t=(e=d).copy(),t._.cancel.push(l),t._.interrupt.push(l),t._.end.push(c)),u.on=t}),s===0&&a()})}var mXn=0;function Dx(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function DOt(){return++mXn}var Sb=Q3.prototype;Dx.prototype={constructor:Dx,select:QKn,selectAll:YKn,selectChild:Sb.selectChild,selectChildren:Sb.selectChildren,filter:UKn,merge:qKn,selection:XKn,transition:pXn,call:Sb.call,nodes:Sb.nodes,node:Sb.node,size:Sb.size,empty:Sb.empty,each:Sb.each,on:WKn,attr:CKn,attrTween:IKn,style:rXn,styleTween:iXn,text:cXn,textTween:fXn,remove:GKn,tween:bKn,delay:PKn,duration:DKn,ease:FKn,easeVarying:BKn,end:hXn,[Symbol.iterator]:Sb[Symbol.iterator]};function gXn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var vXn={time:null,delay:0,duration:250,ease:gXn};function yXn(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return n}function bXn(e){var t,n;e instanceof Dx?(t=e._id,e=e._name):(t=DOt(),(n=vXn).time=kOe(),e=e==null?null:e+"");for(var r=this._groups,s=r.length,a=0;a<s;++a)for(var i=r[a],l=i.length,c,u=0;u<l;++u)(c=i[u])&&pW(c,e,t,u,i,n||yXn(c,t));return new Dx(r,this._parents,e,t)}Q3.prototype.interrupt=gKn;Q3.prototype.transition=bXn;const yF=e=>()=>e;function xXn(e,{sourceEvent:t,target:n,transform:r,dispatch:s}){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:s}})}function sx(e,t,n){this.k=e,this.x=t,this.y=n}sx.prototype={constructor:sx,scale:function(e){return e===1?this:new sx(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new sx(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 hW=new sx(1,0,0);LOt.prototype=sx.prototype;function LOt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return hW;return e.__zoom}function rne(e){e.stopImmediatePropagation()}function PR(e){e.preventDefault(),e.stopImmediatePropagation()}function wXn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function SXn(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function z7e(){return this.__zoom||hW}function kXn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function OXn(){return navigator.maxTouchPoints||"ontouchstart"in this}function _Xn(e,t,n){var r=e.invertX(t[0][0])-n[0][0],s=e.invertX(t[1][0])-n[1][0],a=e.invertY(t[0][1])-n[0][1],i=e.invertY(t[1][1])-n[1][1];return e.translate(s>r?(r+s)/2:Math.min(0,r)||Math.max(0,s),i>a?(a+i)/2:Math.min(0,a)||Math.max(0,i))}function FOt(){var e=wXn,t=SXn,n=_Xn,r=kXn,s=OXn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=H8,u=uW("start","zoom","end"),d,f,p,h=500,m=150,v=0,y=10;function b(D){D.property("__zoom",z7e).on("wheel.zoom",E,{passive:!1}).on("mousedown.zoom",N).on("dblclick.zoom",I).filter(s).on("touchstart.zoom",A).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",L).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function(D,F,H,B){var z=D.selection?D.selection():D;z.property("__zoom",z7e),D!==z?_(D,F,H,B):z.interrupt().each(function(){C(this,arguments).event(B).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,B){b.scaleTo(D,function(){var z=this.__zoom.k,V=typeof F=="function"?F.apply(this,arguments):F;return z*V},H,B)},b.scaleTo=function(D,F,H,B){b.transform(D,function(){var z=t.apply(this,arguments),V=this.__zoom,M=H==null?k(z):typeof H=="function"?H.apply(this,arguments):H,G=V.invert(M),U=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(V,U),M,G),z,i)},H,B)},b.translateBy=function(D,F,H,B){b.transform(D,function(){return n(this.__zoom.translate(typeof F=="function"?F.apply(this,arguments):F,typeof H=="function"?H.apply(this,arguments):H),t.apply(this,arguments),i)},null,B)},b.translateTo=function(D,F,H,B,z){b.transform(D,function(){var V=t.apply(this,arguments),M=this.__zoom,G=B==null?k(V):typeof B=="function"?B.apply(this,arguments):B;return n(hW.translate(G[0],G[1]).scale(M.k).translate(typeof F=="function"?-F.apply(this,arguments):-F,typeof H=="function"?-H.apply(this,arguments):-H),V,i)},B,z)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new sx(F,D.x,D.y)}function S(D,F,H){var B=F[0]-H[0]*D.k,z=F[1]-H[1]*D.k;return B===D.x&&z===D.y?D:new sx(D.k,B,z)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function _(D,F,H,B){D.on("start.zoom",function(){C(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){C(this,arguments).event(B).end()}).tween("zoom",function(){var z=this,V=arguments,M=C(z,V).event(B),G=t.apply(z,V),U=H==null?k(G):typeof H=="function"?H.apply(z,V):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),q=z.__zoom,Z=typeof F=="function"?F.apply(z,V):F,Y=c(q.invert(U).concat($/q.k),Z.invert(U).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var J=Y(ne),ee=$/J[2];ne=new sx(ee,U[0]-J[0]*ee,U[1]-J[1]*ee)}M.zoom(null,ne)}})}function C(D,F,H){return!H&&D.__zooming||new T(D,F)}function T(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}T.prototype={event:function(D){return D&&(this.sourceEvent=D),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(D,F){return this.mouse&&D!=="mouse"&&(this.mouse[1]=F.invert(this.mouse[0])),this.touch0&&D!=="touch"&&(this.touch0[1]=F.invert(this.touch0[0])),this.touch1&&D!=="touch"&&(this.touch1[1]=F.invert(this.touch1[0])),this.that.__zoom=F,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function(D){var F=Op(this.that).datum();u.call(D,this.that,new xXn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function E(D,...F){if(!e.apply(this,arguments))return;var H=C(this,F).event(D),B=this.__zoom,z=Math.max(a[0],Math.min(a[1],B.k*Math.pow(2,r.apply(this,arguments)))),V=ug(D);if(H.wheel)(H.mouse[0][0]!==V[0]||H.mouse[0][1]!==V[1])&&(H.mouse[1]=B.invert(H.mouse[0]=V)),clearTimeout(H.wheel);else{if(B.k===z)return;H.mouse=[V,B.invert(V)],G8(this),H.start()}PR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(B,z),H.mouse[0],H.mouse[1]),H.extent,i));function M(){H.wheel=null,H.end()}}function N(D,...F){if(p||!e.apply(this,arguments))return;var H=D.currentTarget,B=C(this,F,!0).event(D),z=Op(D.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),V=ug(D,H),M=D.clientX,G=D.clientY;SOt(D.view),rne(D),B.mouse=[V,this.__zoom.invert(V)],G8(this),B.start();function U(q){if(PR(q),!B.moved){var Z=q.clientX-M,Y=q.clientY-G;B.moved=Z*Z+Y*Y>v}B.event(q).zoom("mouse",n(S(B.that.__zoom,B.mouse[0]=ug(q,H),B.mouse[1]),B.extent,i))}function $(q){z.on("mousemove.zoom mouseup.zoom",null),kOt(q.view,B.moved),PR(q),B.event(q).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,B=ug(D.changedTouches?D.changedTouches[0]:D,this),z=H.invert(B),V=H.k*(D.shiftKey?.5:2),M=n(S(x(H,V),B,z),t.apply(this,F),i);PR(D),l>0?Op(this).transition().duration(l).call(_,M,B,D):Op(this).call(b.transform,M,B,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,B=H.length,z=C(this,F,D.changedTouches.length===B).event(D),V,M,G,U;for(rne(D),M=0;M<B;++M)G=H[M],U=ug(G,this),U=[U,this.__zoom.invert(U),G.identifier],z.touch0?!z.touch1&&z.touch0[2]!==U[2]&&(z.touch1=U,z.taps=0):(z.touch0=U,V=!0,z.taps=1+!!d);d&&(d=clearTimeout(d)),V&&(z.taps<2&&(f=U[0],d=setTimeout(function(){d=null},h)),G8(this),z.start())}}function R(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M,G,U;for(PR(D),V=0;V<z;++V)M=B[V],G=ug(M,this),H.touch0&&H.touch0[2]===M.identifier?H.touch0[0]=G:H.touch1&&H.touch1[2]===M.identifier&&(H.touch1[0]=G);if(M=H.that.__zoom,H.touch1){var $=H.touch0[0],q=H.touch0[1],Z=H.touch1[0],Y=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,J=(J=Y[0]-q[0])*J+(J=Y[1]-q[1])*J;M=x(M,Math.sqrt(ne/J)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],U=[(q[0]+Y[0])/2,(q[1]+Y[1])/2]}else if(H.touch0)G=H.touch0[0],U=H.touch0[1];else return;H.zoom("touch",n(S(M,G,U),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=C(this,F).event(D),B=D.changedTouches,z=B.length,V,M;for(rne(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),V=0;V<z;++V)M=B[V],H.touch0&&H.touch0[2]===M.identifier?delete H.touch0:H.touch1&&H.touch1[2]===M.identifier&&delete H.touch1;if(H.touch1&&!H.touch0&&(H.touch0=H.touch1,delete H.touch1),H.touch0)H.touch0[1]=this.__zoom.invert(H.touch0[0]);else if(H.end(),H.taps===2&&(M=ug(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=Op(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:yF(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:yF(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:yF(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:yF([[+D[0][0],+D[0][1]],[+D[1][0],+D[1][1]]]),b):t},b.scaleExtent=function(D){return arguments.length?(a[0]=+D[0],a[1]=+D[1],b):[a[0],a[1]]},b.translateExtent=function(D){return arguments.length?(i[0][0]=+D[0][0],i[1][0]=+D[1][0],i[0][1]=+D[0][1],i[1][1]=+D[1][1],b):[[i[0][0],i[0][1]],[i[1][0],i[1][1]]]},b.constrain=function(D){return arguments.length?(n=D,b):n},b.duration=function(D){return arguments.length?(l=+D,b):l},b.interpolate=function(D){return arguments.length?(c=D,b):c},b.on=function(){var D=u.on.apply(u,arguments);return D===u?b:D},b.clickDistance=function(D){return arguments.length?(v=(D=+D)*D,b):Math.sqrt(v)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const ky={error001:()=>"[React Flow]: Seems like you have not used zustand provider as an ancestor. Help: https://reactflow.dev/error#001",error002:()=>"It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.",error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>"The React Flow parent container needs a width and a height to render the graph.",error005:()=>"Only child nodes can use a parent extent.",error006:()=>"Can't create edge. An edge needs a source and a target.",error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e==="source"?n:r}", edge id: ${t}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>"useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.",error015:()=>"It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs."},PM=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],zOt=["Enter"," ","Escape"],BOt={"node.a11yDescription.default":"Press enter or space to select a node. Press delete to remove it and escape to cancel.","node.a11yDescription.keyboardDisabled":"Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.","node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":"Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.","controls.ariaLabel":"Control Panel","controls.zoomIn.ariaLabel":"Zoom In","controls.zoomOut.ariaLabel":"Zoom Out","controls.fitView.ariaLabel":"Fit View","controls.interactive.ariaLabel":"Toggle Interactivity","minimap.ariaLabel":"Mini Map","handle.ariaLabel":"Handle"};var iN;(function(e){e.Strict="strict",e.Loose="loose"})(iN||(iN={}));var sO;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(sO||(sO={}));var $M;(function(e){e.Partial="partial",e.Full="full"})($M||($M={}));const UOt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var Cw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(Cw||(Cw={}));var MM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(MM||(MM={}));var nr;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(nr||(nr={}));const B7e={[nr.Left]:nr.Right,[nr.Right]:nr.Left,[nr.Top]:nr.Bottom,[nr.Bottom]:nr.Top};function qOt(e){return e===null?null:e?"valid":"invalid"}const VOt=e=>"id"in e&&"source"in e&&"target"in e,CXn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),COe=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),K3=(e,t=[0,0])=>{const{width:n,height:r}=l0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},EXn=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};const n=e.reduce((r,s)=>{const a=typeof s=="string";let i=!t.nodeLookup&&!a?s:void 0;t.nodeLookup&&(i=a?t.nodeLookup.get(s):COe(s)?s:t.nodeLookup.get(s.id));const l=i?rU(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return mW(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return gW(n)},X3=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(s=>{(t.filter===void 0||t.filter(s))&&(n=mW(n,rU(s)),r=!0)}),r?gW(n):{x:0,y:0,width:0,height:0}},EOe=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={...e4(t,[n,r,s]),width:t.width/s,height:t.height/s},c=[];for(const u of e.values()){const{measured:d,selectable:f=!0,hidden:p=!1}=u;if(i&&!f||p)continue;const h=d.width??u.width??u.initialWidth??null,m=d.height??u.height??u.initialHeight??null,v=DM(l,lN(u)),y=(h??0)*(m??0),b=a&&v>0;(!u.internals.handleBounds||b||v>=y||u.dragging)&&c.push(u)}return c},TXn=(e,t)=>{const n=new Set;return e.forEach(r=>{n.add(r.id)}),t.filter(r=>n.has(r.source)||n.has(r.target))};function jXn(e,t){const n=new Map,r=t?.nodes?new Set(t.nodes.map(s=>s.id)):null;return e.forEach(s=>{s.measured.width&&s.measured.height&&(t?.includeHiddenNodes||!s.hidden)&&(!r||r.has(s.id))&&n.set(s.id,s)}),n}async function NXn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=jXn(e,i),c=X3(l),u=TOe(c,t,n,i?.minZoom??s,i?.maxZoom??a,i?.padding??.1);return await r.setViewport(u,{duration:i?.duration,ease:i?.ease,interpolate:i?.interpolate}),Promise.resolve(!0)}function HOt({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:s,onError:a}){const i=n.get(e),l=i.parentId?n.get(i.parentId):void 0,{x:c,y:u}=l?l.internals.positionAbsolute:{x:0,y:0},d=i.origin??r;let f=i.extent||s;if(i.extent==="parent"&&!i.expandParent)if(!l)a?.("005",ky.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&cN(i.extent)&&(f=[[i.extent[0][0]+c,i.extent[0][1]+u],[i.extent[1][0]+c,i.extent[1][1]+u]]);const p=cN(f)?XO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",ky.error015()),{position:{x:p.x-c+(i.measured.width??0)*d[0],y:p.y-u+(i.measured.height??0)*d[1]},positionAbsolute:p}}async function IXn({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:s}){const a=new Set(e.map(p=>p.id)),i=[];for(const p of n){if(p.deletable===!1)continue;const h=a.has(p.id),m=!h&&p.parentId&&i.find(v=>v.id===p.parentId);(h||m)&&i.push(p)}const l=new Set(t.map(p=>p.id)),c=r.filter(p=>p.deletable!==!1),d=TXn(i,c);for(const p of c)l.has(p.id)&&!d.find(m=>m.id===p.id)&&d.push(p);if(!s)return{edges:d,nodes:i};const f=await s({nodes:i,edges:d});return typeof f=="boolean"?f?{edges:d,nodes:i}:{edges:[],nodes:[]}:f}const oN=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),XO=(e={x:0,y:0},t,n)=>({x:oN(e.x,t[0][0],t[1][0]-(n?.width??0)),y:oN(e.y,t[0][1],t[1][1]-(n?.height??0))});function WOt(e,t,n){const{width:r,height:s}=l0(n),{x:a,y:i}=n.internals.positionAbsolute;return XO(e,[[a,i],[a+r,i+s]],t)}const U7e=(e,t,n)=>e<t?oN(Math.abs(e-t),1,t)/t:e>n?-oN(Math.abs(e-n),1,t)/t:0,ZOt=(e,t,n=15,r=40)=>{const s=U7e(e.x,r,t.width-r)*n,a=U7e(e.y,r,t.height-r)*n;return[s,a]},mW=(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)}),xve=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),gW=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),lN=(e,t=[0,0])=>{const{x:n,y:r}=COe(e)?e.internals.positionAbsolute:K3(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}},rU=(e,t=[0,0])=>{const{x:n,y:r}=COe(e)?e.internals.positionAbsolute:K3(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)}},GOt=(e,t)=>gW(mW(xve(e),xve(t))),DM=(e,t)=>{const n=Math.max(0,Math.min(e.x+e.width,t.x+t.width)-Math.max(e.x,t.x)),r=Math.max(0,Math.min(e.y+e.height,t.y+t.height)-Math.max(e.y,t.y));return Math.ceil(n*r)},q7e=e=>Sg(e.width)&&Sg(e.height)&&Sg(e.x)&&Sg(e.y),Sg=e=>!isNaN(e)&&isFinite(e),AXn=(e,t)=>{},J3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),e4=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?J3(l,i):l},sU=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function vE(e,t){if(typeof e=="number")return Math.floor((t-t/(1+e))*.5);if(typeof e=="string"&&e.endsWith("px")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(n)}if(typeof e=="string"&&e.endsWith("%")){const n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`[React Flow] The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function RXn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=vE(e,n),s=vE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=vE(e.top??e.y??0,n),s=vE(e.bottom??e.y??0,n),a=vE(e.left??e.x??0,t),i=vE(e.right??e.x??0,t);return{top:r,right:i,bottom:s,left:a,x:a+i,y:r+s}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function PXn(e,t,n,r,s,a){const{x:i,y:l}=sU(e,[t,n,r]),{x:c,y:u}=sU({x:e.x+e.width,y:e.y+e.height},[t,n,r]),d=s-c,f=a-u;return{left:Math.floor(i),top:Math.floor(l),right:Math.floor(d),bottom:Math.floor(f)}}const TOe=(e,t,n,r,s,a)=>{const i=RXn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=oN(u,r,s),f=e.x+e.width/2,p=e.y+e.height/2,h=t/2-f*d,m=n/2-p*d,v=PXn(e,h,m,d,t,n),y={left:Math.min(v.left-i.left,0),top:Math.min(v.top-i.top,0),right:Math.min(v.right-i.right,0),bottom:Math.min(v.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},LM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function cN(e){return e!=null&&e!=="parent"}function l0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function QOt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function YOt(e,t={width:0,height:0},n,r,s){const a={...e},i=r.get(n);if(i){const l=i.origin||s;a.x+=i.internals.positionAbsolute.x-(t.width??0)*l[0],a.y+=i.internals.positionAbsolute.y-(t.height??0)*l[1]}return a}function V7e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function $Xn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function MXn(e){return{...BOt,...e||{}}}function I2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=kg(e),l=e4({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?J3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const jOe=e=>({width:e.offsetWidth,height:e.offsetHeight}),KOt=e=>e?.getRootNode?.()||window?.document,DXn=["INPUT","SELECT","TEXTAREA"];function XOt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:DXn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const JOt=e=>"clientX"in e,kg=(e,t)=>{const n=JOt(e),r=n?e.clientX:e.touches?.[0].clientX,s=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:s-(t?.top??0)}},H7e=(e,t,n,r,s)=>{const a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(i=>{const l=i.getBoundingClientRect();return{id:i.getAttribute("data-handleid"),type:e,nodeId:s,position:i.getAttribute("data-handlepos"),x:(l.left-n.left)/r,y:(l.top-n.top)/r,...jOe(i)}})};function e_t({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:s,sourceControlY:a,targetControlX:i,targetControlY:l}){const c=e*.125+s*.375+i*.375+n*.125,u=t*.125+a*.375+l*.375+r*.125,d=Math.abs(c-e),f=Math.abs(u-t);return[c,u,d,f]}function bF(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function W7e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case nr.Left:return[t-bF(t-r,a),n];case nr.Right:return[t+bF(r-t,a),n];case nr.Top:return[t,n-bF(n-s,a)];case nr.Bottom:return[t,n+bF(s-n,a)]}}function NOe({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,curvature:i=.25}){const[l,c]=W7e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=W7e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=e_t({sourceX:e,sourceY:t,targetX:r,targetY:s,sourceControlX:l,sourceControlY:c,targetControlX:u,targetControlY:d});return[`M${e},${t} C${l},${c} ${u},${d} ${r},${s}`,f,p,h,m]}function t_t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const s=Math.abs(n-e)/2,a=n<e?n+s:n-s,i=Math.abs(r-t)/2,l=r<t?r+i:r-i;return[a,l,s,i]}function LXn({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:s=!1,zIndexMode:a="basic"}){if(a==="manual")return r;const i=s&&n?r+1e3:r,l=Math.max(e.parentId||s&&e.selected?e.internals.z:0,t.parentId||s&&t.selected?t.internals.z:0);return i+l}function FXn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=mW(rU(e),rU(t));a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1);const i={x:-s[0]/s[2],y:-s[1]/s[2],width:n/s[2],height:r/s[2]};return DM(i,gW(a))>0}const zXn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,BXn=(e,t)=>t.some(n=>n.source===e.source&&n.target===e.target&&(n.sourceHandle===e.sourceHandle||!n.sourceHandle&&!e.sourceHandle)&&(n.targetHandle===e.targetHandle||!n.targetHandle&&!e.targetHandle)),UXn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||zXn;let s;return VOt(e)?s={...e}:s={...e,id:r(e)},BXn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function n_t({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=t_t({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const Z7e={[nr.Left]:{x:-1,y:0},[nr.Right]:{x:1,y:0},[nr.Top]:{x:0,y:-1},[nr.Bottom]:{x:0,y:1}},qXn=({source:e,sourcePosition:t=nr.Bottom,target:n})=>t===nr.Left||t===nr.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},G7e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function VXn({source:e,sourcePosition:t=nr.Bottom,target:n,targetPosition:r=nr.Top,center:s,offset:a,stepPosition:i}){const l=Z7e[t],c=Z7e[r],u={x:e.x+l.x*a,y:e.y+l.y*a},d={x:n.x+c.x*a,y:n.y+c.y*a},f=qXn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],v,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=t_t({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(v=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(v=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const E=[{x:v,y:u.y},{x:v,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?E:N:m=p==="x"?N:E}else{const E=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:E:m=l.y===h?E:N,t===r){const D=Math.abs(e[p]-n[p]);if(D<=a){const F=Math.min(a-1,a-D);l[p]===h?b[p]=(u[p]>e[p]?-1:1)*F:x[p]=(d[p]>n[p]?-1:1)*F}}if(t!==r){const D=p==="x"?"y":"x",F=l[p]===c[D],H=u[D]>d[D],B=u[D]<d[D];(l[p]===1&&(!F&&H||F&&B)||l[p]!==1&&(!F&&B||F&&H))&&(m=p==="x"?E:N)}const I={x:u.x+b.x,y:u.y+b.y},A={x:d.x+x.x,y:d.y+x.y},R=Math.max(Math.abs(I.x-m[0].x),Math.abs(A.x-m[0].x)),L=Math.max(Math.abs(I.y-m[0].y),Math.abs(A.y-m[0].y));R>=L?(v=(I.x+A.x)/2,y=m[0].y):(v=m[0].x,y=(I.y+A.y)/2)}const _={x:u.x+b.x,y:u.y+b.y},C={x:d.x+x.x,y:d.y+x.y};return[[e,..._.x!==m[0].x||_.y!==m[0].y?[_]:[],...m,...C.x!==m[m.length-1].x||C.y!==m[m.length-1].y?[C]:[],n],v,y,S,k]}function HXn(e,t,n,r){const s=Math.min(G7e(e,t)/2,G7e(t,n)/2,r),{x:a,y:i}=t;if(e.x===a&&a===n.x||e.y===i&&i===n.y)return`L${a} ${i}`;if(e.y===i){const u=e.x<n.x?-1:1,d=e.y<n.y?1:-1;return`L ${a+s*u},${i}Q ${a},${i} ${a},${i+s*d}`}const l=e.x<n.x?1:-1,c=e.y<n.y?-1:1;return`L ${a},${i+s*c}Q ${a},${i} ${a+s*l},${i}`}function wve({sourceX:e,sourceY:t,sourcePosition:n=nr.Bottom,targetX:r,targetY:s,targetPosition:a=nr.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,v]=VXn({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:s},targetPosition:a,center:{x:l,y:c},offset:u,stepPosition:d});let y=`M${f[0].x} ${f[0].y}`;for(let b=1;b<f.length-1;b++)y+=HXn(f[b-1],f[b],f[b+1],i);return y+=`L${f[f.length-1].x} ${f[f.length-1].y}`,[y,p,h,m,v]}function Q7e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function WXn(e){const{sourceNode:t,targetNode:n}=e;if(!Q7e(t)||!Q7e(n))return null;const r=t.internals.handleBounds||Y7e(t.handles),s=n.internals.handleBounds||Y7e(n.handles),a=K7e(r?.source??[],e.sourceHandle),i=K7e(e.connectionMode===iN.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",ky.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||nr.Bottom,c=i?.position||nr.Top,u=JO(t,a,l),d=JO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function Y7e(e){if(!e)return null;const t=[],n=[];for(const r of e)r.width=r.width??1,r.height=r.height??1,r.type==="source"?t.push(r):r.type==="target"&&n.push(r);return{source:t,target:n}}function JO(e,t,n=nr.Left,r=!1){const s=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:i,height:l}=t??l0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case nr.Top:return{x:s+i/2,y:a};case nr.Right:return{x:s+i,y:a+l/2};case nr.Bottom:return{x:s+i/2,y:a+l};case nr.Left:return{x:s,y:a+l/2}}}function K7e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Sve(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function ZXn(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:s}){const a=new Set;return e.reduce((i,l)=>([l.markerStart||r,l.markerEnd||s].forEach(c=>{if(c&&typeof c=="object"){const u=Sve(c,t);a.has(u)||(i.push({id:u,color:c.color||n,...c}),a.add(u))}}),i),[]).sort((i,l)=>i.id.localeCompare(l.id))}const r_t=1e3,GXn=10,IOe={nodeOrigin:[0,0],nodeExtent:PM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},QXn={...IOe,checkEquality:!0};function AOe(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function YXn(e,t,n){const r=AOe(IOe,n);for(const s of e.values())if(s.parentId)POe(s,e,t,r);else{const a=K3(s,r.nodeOrigin),i=cN(s.extent)?s.extent:r.nodeExtent,l=XO(a,i,l0(s));s.internals.positionAbsolute=l}}function KXn(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;const n=[],r=[];for(const s of e.handles){const a={id:s.id,width:s.width??1,height:s.height??1,nodeId:e.id,x:s.x,y:s.y,position:s.position,type:s.type};s.type==="source"?n.push(a):s.type==="target"&&r.push(a)}return{source:n,target:r}}function ROe(e){return e==="manual"}function kve(e,t,n,r={}){const s=AOe(QXn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!ROe(s.zIndexMode)?r_t:0;let c=e.length>0,u=!1;t.clear(),n.clear();for(const d of e){let f=i.get(d.id);if(s.checkEquality&&d===f?.internals.userNode)t.set(d.id,f);else{const p=K3(d,s.nodeOrigin),h=cN(d.extent)?d.extent:s.nodeExtent,m=XO(p,h,l0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:KXn(d,f),z:s_t(d,l,s.zIndexMode),userNode:d}},t.set(d.id,f)}(f.measured===void 0||f.measured.width===void 0||f.measured.height===void 0)&&!f.hidden&&(c=!1),d.parentId&&POe(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function XXn(e,t){if(!e.parentId)return;const n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function POe(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=AOe(IOe,r),u=e.parentId,d=t.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}XXn(e,n),s&&!d.parentId&&d.internals.rootParentIndex===void 0&&c==="auto"&&(d.internals.rootParentIndex=++s.i,d.internals.z=d.internals.z+s.i*GXn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!ROe(c)?r_t:0,{x:p,y:h,z:m}=JXn(e,d,i,l,f,c),{positionAbsolute:v}=e.internals,y=p!==v.x||h!==v.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:v,z:m}})}function s_t(e,t,n){const r=Sg(e.zIndex)?e.zIndex:0;return ROe(n)?r:r+(e.selected?t:0)}function JXn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=l0(e),u=K3(e,n),d=cN(e.extent)?XO(u,e.extent,c):u;let f=XO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=WOt(f,c,t));const p=s_t(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function $Oe(e,t,n,r=[0,0]){const s=[],a=new Map;for(const i of e){const l=t.get(i.parentId);if(!l)continue;const c=a.get(i.parentId)?.expandedRect??lN(l),u=GOt(c,i.rect);a.set(i.parentId,{expandedRect:u,parent:l})}return a.size>0&&a.forEach(({expandedRect:i,parent:l},c)=>{const u=l.internals.positionAbsolute,d=l0(l),f=l.origin??r,p=i.x<u.x?Math.round(Math.abs(u.x-i.x)):0,h=i.y<u.y?Math.round(Math.abs(u.y-i.y)):0,m=Math.max(d.width,Math.round(i.width)),v=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(v-d.height)*f[1];(p>0||h>0||y||b)&&(s.push({id:c,type:"position",position:{x:l.position.x-p+y,y:l.position.y-h+b}}),n.get(c)?.forEach(x=>{e.some(S=>S.id===x.id)||s.push({id:x.id,type:"position",position:{x:x.position.x+p,y:x.position.y+h}})})),(d.width<i.width||d.height<i.height||p||h)&&s.push({id:c,type:"dimensions",setAttributes:!0,dimensions:{width:m+(p?f[0]*p-y:0),height:v+(h?f[1]*h-b:0)}})}),s}function eJn(e,t,n,r,s,a,i){const l=r?.querySelector(".xyflow__viewport");let c=!1;if(!l)return{changes:[],updatedInternals:c};const u=[],d=window.getComputedStyle(l),{m22:f}=new window.DOMMatrixReadOnly(d.transform),p=[];for(const h of e.values()){const m=t.get(h.id);if(!m)continue;if(m.hidden){t.set(m.id,{...m,internals:{...m.internals,handleBounds:void 0}}),c=!0;continue}const v=jOe(h.nodeElement),y=m.measured.width!==v.width||m.measured.height!==v.height;if(!!(v.width&&v.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=cN(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=WOt(k,v,t.get(m.parentId)):S&&(k=XO(k,S,v));const _={...m,measured:v,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:H7e("source",h.nodeElement,x,f,m.id),target:H7e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,_),m.parentId&&POe(_,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:v}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:lN(_,s)}))}}if(p.length>0){const h=$Oe(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function tJn({delta:e,panZoom:t,transform:n,translateExtent:r,width:s,height:a}){if(!t||!e.x&&!e.y)return Promise.resolve(!1);const i=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[s,a]],r),l=!!i&&(i.x!==n[0]||i.y!==n[1]||i.k!==n[2]);return Promise.resolve(l)}function X7e(e,t,n,r,s,a){let i=s;const l=r.get(i)||new Map;r.set(i,l.set(n,t)),i=`${s}-${e}`;const c=r.get(i)||new Map;if(r.set(i,c.set(n,t)),a){i=`${s}-${e}-${a}`;const u=r.get(i)||new Map;r.set(i,u.set(n,t))}}function a_t(e,t,n){e.clear(),t.clear();for(const r of n){const{source:s,target:a,sourceHandle:i=null,targetHandle:l=null}=r,c={edgeId:r.id,source:s,target:a,sourceHandle:i,targetHandle:l},u=`${s}-${i}--${a}-${l}`,d=`${a}-${l}--${s}-${i}`;X7e("source",c,d,e,s,i),X7e("target",c,u,e,a,l),t.set(r.id,r)}}function i_t(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:i_t(n,t):!1}function J7e(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function nJn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!i_t(i,e))&&(i.draggable||t&&typeof i.draggable>"u")){const l=e.get(a);l&&s.set(a,{id:a,position:l.position||{x:0,y:0},distance:{x:n.x-l.internals.positionAbsolute.x,y:n.y-l.internals.positionAbsolute.y},extent:l.extent,parentId:l.parentId,origin:l.origin,expandParent:l.expandParent,internals:{positionAbsolute:l.internals.positionAbsolute||{x:0,y:0}},measured:{width:l.measured.width??0,height:l.measured.height??0}})}return s}function sne({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){const s=[];for(const[i,l]of t){const c=n.get(i)?.internals.userNode;c&&s.push({...c,position:l.position,dragging:r})}if(!e)return[s[0],s];const a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:s[0],s]}function rJn({dragItems:e,snapGrid:t,x:n,y:r}){const s=e.values().next().value;if(!s)return null;const a={x:n-s.distance.x,y:r-s.distance.y},i=J3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function sJn({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:s}){let a={x:null,y:null},i=0,l=new Map,c=!1,u={x:0,y:0},d=null,f=!1,p=null,h=!1,m=!1,v=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:_,nodeId:C,nodeClickDistance:T=0}){p=Op(k);function E({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:B,nodeOrigin:z,onNodeDrag:V,onSelectionDrag:M,onError:G,updateNodePositions:U}=t();a={x:R,y:L};let $=!1;const q=l.size>1,Z=q&&F?xve(X3(l)):null,Y=q&&B?rJn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,J]of l){if(!D.has(ne))continue;let ee={x:R-J.distance.x,y:L-J.distance.y};B&&(ee=Y?{x:Math.round(ee.x+Y.x),y:Math.round(ee.y+Y.y)}:J3(ee,H));let se=null;if(q&&F&&!J.extent&&Z){const{positionAbsolute:te}=J.internals,re=te.x-Z.x+F[0][0],fe=te.x+J.measured.width-Z.x2+F[1][0],ce=te.y-Z.y+F[0][1],Se=te.y+J.measured.height-Z.y2+F[1][1];se=[[re,ce],[fe,Se]]}const{position:le,positionAbsolute:X}=HOt({nodeId:ne,nextPosition:ee,nodeLookup:D,nodeExtent:se||F,nodeOrigin:z,onError:G});$=$||J.position.x!==le.x||J.position.y!==le.y,J.position=le,J.internals.positionAbsolute=X}if(m=m||$,!!$&&(U(l,!0),v&&(r||V||!C&&M))){const[ne,J]=sne({nodeId:C,dragItems:l,nodeLookup:D});r?.(v,l,ne,J),V?.(v,ne,J),C||M?.(v,J)}}async function N(){if(!d)return;const{transform:R,panBy:L,autoPanSpeed:D,autoPanOnNodeDrag:F}=t();if(!F){c=!1,cancelAnimationFrame(i);return}const[H,B]=ZOt(u,d,D);(H!==0||B!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-B/R[2],await L({x:H,y:B})&&E(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:B,snapToGrid:z,selectNodesOnDrag:V,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:U}=t();f=!0,(!V||!_)&&!D&&C&&(L.get(C)?.selected||U()),_&&V&&C&&e?.(C);const $=I2(R.sourceEvent,{transform:H,snapGrid:B,snapToGrid:z,containerBounds:d});if(a=$,l=nJn(L,F,$,C),l.size>0&&(n||M||!C&&G)){const[q,Z]=sne({nodeId:C,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,q,Z),M?.(R.sourceEvent,q,Z),C||G?.(R.sourceEvent,Z)}}const A=OOt().clickDistance(T).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:B}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,v=R.sourceEvent,D===0&&I(R),a=I2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:B,containerBounds:d}),u=kg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:B,nodeLookup:z}=t(),V=I2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(v=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||C&&!z.has(C))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=kg(R.sourceEvent,d),G=M.x-u.x,U=M.y-u.y;Math.sqrt(G*G+U*U)>B&&I(R)}(a.x!==V.xSnapped||a.y!==V.ySnapped)&&l&&f&&(u=kg(R.sourceEvent,d),E(V))}}).on("end",R=>{if(!(!f||h)&&(c=!1,f=!1,cancelAnimationFrame(i),l.size>0)){const{nodeLookup:L,updateNodePositions:D,onNodeDragStop:F,onSelectionDragStop:H}=t();if(m&&(D(l,!1),m=!1),s||F||!C&&H){const[B,z]=sne({nodeId:C,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,B,z),F?.(R.sourceEvent,B,z),C||H?.(R.sourceEvent,z)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!J7e(L,`.${x}`,k))&&(!S||J7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function aJn(e,t,n){const r=[],s={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(const a of t.values())DM(s,lN(a))>0&&r.push(a);return r}const iJn=250;function oJn(e,t,n,r){let s=[],a=1/0;const i=aJn(e,n,t+iJn);for(const l of i){const c=[...l.internals.handleBounds?.source??[],...l.internals.handleBounds?.target??[]];for(const u of c){if(r.nodeId===u.nodeId&&r.type===u.type&&r.id===u.id)continue;const{x:d,y:f}=JO(l,u,u.position,!0),p=Math.sqrt(Math.pow(d-e.x,2)+Math.pow(f-e.y,2));p>t||(p<a?(s=[{...u,x:d,y:f}],a=p):p===a&&s.push({...u,x:d,y:f}))}}if(!s.length)return null;if(s.length>1){const l=r.type==="source"?"target":"source";return s.find(c=>c.type===l)??s[0]}return s[0]}function o_t(e,t,n,r,s,a=!1){const i=r.get(e);if(!i)return null;const l=s==="strict"?i.internals.handleBounds?.[t]:[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]],c=(n?l?.find(u=>u.id===n):l?.[0])??null;return c&&a?{...c,...JO(i,c,c.position,!0)}:c}function l_t(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function lJn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const c_t=()=>!0;function cJn(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:s,edgeUpdaterType:a,isTarget:i,domNode:l,nodeLookup:c,lib:u,autoPanOnConnect:d,flowId:f,panBy:p,cancelConnection:h,onConnectStart:m,onConnect:v,onConnectEnd:y,isValidConnection:b=c_t,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:_,autoPanSpeed:C,dragThreshold:T=1,handleDomNode:E}){const N=KOt(e.target);let I=0,A;const{x:R,y:L}=kg(e),D=l_t(a,E),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const B=o_t(s,D,r,c,t);if(!B)return;let z=kg(e,F),V=!1,M=null,G=!1,U=null;function $(){if(!d||!F)return;const[le,X]=ZOt(z,F,C);p({x:le,y:X}),I=requestAnimationFrame($)}const q={...B,nodeId:s,type:D,position:B.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:JO(Z,q,nr.Left,!0),fromHandle:q,fromPosition:q.position,fromNode:Z,to:z,toHandle:null,toPosition:B7e[q.position],toNode:null,pointer:z};function J(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}T===0&&J();function ee(le){if(!H){const{x:Se,y:ye}=kg(le),ke=Se-R,Ie=ye-L;if(!(ke*ke+Ie*Ie>T*T))return;J()}if(!_()||!q){se(le);return}const X=k();z=kg(le,F),A=oJn(e4(z,X,!1,[1,1]),n,c,q),V||($(),V=!0);const te=u_t(le,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});U=te.handleDomNode,M=te.connection,G=lJn(!!A,te.isValid);const re=c.get(s),fe=re?JO(re,q,nr.Left,!0):ne.from,ce={...ne,from:fe,isValid:G,to:te.toHandle&&G?sU({x:te.toHandle.x,y:te.toHandle.y},X):z,toHandle:te.toHandle,toPosition:G&&te.toHandle?te.toHandle.position:B7e[q.position],toNode:te.toHandle?c.get(te.toHandle.nodeId):null,pointer:z};S(ce),ne=ce}function se(le){if(!("touches"in le&&le.touches.length>0)){if(H){(A||U)&&M&&G&&v?.(M);const{inProgress:X,...te}=ne,re={...te,toPosition:ne.toHandle?ne.toPosition:null};y?.(le,re),a&&x?.(le,re)}h(),cancelAnimationFrame(I),V=!1,G=!1,M=null,U=null,N.removeEventListener("mousemove",ee),N.removeEventListener("mouseup",se),N.removeEventListener("touchmove",ee),N.removeEventListener("touchend",se)}}N.addEventListener("mousemove",ee),N.addEventListener("mouseup",se),N.addEventListener("touchmove",ee),N.addEventListener("touchend",se)}function u_t(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=c_t,nodeLookup:d}){const f=a==="target",p=t?i.querySelector(`.${l}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:h,y:m}=kg(e),v=i.elementFromPoint(h,m),y=v?.classList.contains(`${l}-flow__handle`)?v:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=l_t(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),_=y.classList.contains("connectable"),C=y.classList.contains("connectableend");if(!S||!x)return b;const T={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=T;const N=_&&C&&(n===iN.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(T),b.toHandle=o_t(S,x,k,d,n,!0)}return b}const Ove={onPointerDown:cJn,isValid:u_t};function uJn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=Op(e);function a({translateExtent:l,width:c,height:u,zoomStep:d=1,pannable:f=!0,zoomable:p=!0,inversePan:h=!1}){const m=S=>{if(S.sourceEvent.type!=="wheel"||!t)return;const k=n(),_=S.sourceEvent.ctrlKey&&LM()?10:1,C=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,T=k[2]*Math.pow(2,C*_);t.scaleTo(T)};let v=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(v=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY])},b=S=>{const k=n();if(S.sourceEvent.type!=="mousemove"&&S.sourceEvent.type!=="touchmove"||!t)return;const _=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],C=[_[0]-v[0],_[1]-v[1]];v=_;const T=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),E={x:k[0]-C[0]*T,y:k[1]-C[1]*T},N=[[0,0],[c,u]];t.setViewportConstrained({x:E.x,y:E.y,zoom:k[2]},N,l)},x=FOt().on("start",y).on("zoom",f?b:null).on("zoom.wheel",p?m:null);s.call(x,{})}function i(){s.on("zoom",null)}return{update:a,destroy:i,pointer:ug}}const vW=e=>({x:e.x,y:e.y,zoom:e.k}),ane=({x:e,y:t,zoom:n})=>hW.translate(e,t).scale(n),xT=(e,t)=>e.target.closest(`.${t}`),d_t=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),dJn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,ine=(e,t=0,n=dJn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},f_t=e=>{const t=e.ctrlKey&&LM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function fJn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(xT(d,t))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();const f=n.property("__zoom").k||1;if(d.ctrlKey&&i){const y=ug(d),b=f_t(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===sO.Vertical?0:d.deltaX*p,m=s===sO.Horizontal?0:d.deltaY*p;!LM()&&d.shiftKey&&s!==sO.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const v=vW(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,v),e.panScrollTimeout=setTimeout(()=>{u?.(d,v),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,v))}}function pJn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=xT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function hJn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=vW(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=s,r.sourceEvent?.type==="mousedown"&&t(!0),n&&n?.(r.sourceEvent,s)}}function mJn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&d_t(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,vW(a.transform))}}function gJn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&d_t(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=vW(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function vJn({zoomActivationKeyPressed:e,zoomOnScroll:t,zoomOnPinch:n,panOnDrag:r,panOnScroll:s,zoomOnDoubleClick:a,userSelectionActive:i,noWheelClassName:l,noPanClassName:c,lib:u,connectionInProgress:d}){return f=>{const p=e||t,h=n&&f.ctrlKey,m=f.type==="wheel";if(f.button===1&&f.type==="mousedown"&&(xT(f,`${u}-flow__node`)||xT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||xT(f,l)&&m||xT(f,c)&&(!m||s&&m&&!e)||!n&&f.ctrlKey&&m)return!1;if(!n&&f.type==="touchstart"&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!s&&!h&&m||!r&&(f.type==="mousedown"||f.type==="touchstart")||Array.isArray(r)&&!r.includes(f.button)&&f.type==="mousedown")return!1;const v=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&v}}function yJn({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:s,onPanZoom:a,onPanZoomStart:i,onPanZoomEnd:l,onDraggingChange:c}){const u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=e.getBoundingClientRect(),f=FOt().scaleExtent([t,n]).translateExtent(r),p=Op(e).call(f);x({x:s.x,y:s.y,zoom:oN(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(f_t);function v(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?vx:H8).transform(ine(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function y({noWheelClassName:A,noPanClassName:R,onPaneContextMenu:L,userSelectionActive:D,panOnScroll:F,panOnDrag:H,panOnScrollMode:B,panOnScrollSpeed:z,preventScrolling:V,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:q,onTransformChange:Z,connectionInProgress:Y,paneClickDistance:ne,selectionOnDrag:J}){D&&!u.isZoomingOrPanning&&b();const ee=F&&!$&&!D;f.clickDistance(J?1/0:!Sg(ne)||ne<0?0:ne);const se=ee?fJn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:B,panOnScrollSpeed:z,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):pJn({noWheelClassName:A,preventScrolling:V,d3ZoomHandler:h});if(p.on("wheel.zoom",se,{passive:!1}),!D){const X=hJn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",X);const te=mJn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",te);const re=gJn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",re)}const le=vJn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:U,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:q,connectionInProgress:Y});f.filter(le),U?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=ane(A),F=f?.constrain()(D,R,L);return F&&await v(F),new Promise(H=>H(F))}async function S(A,R){const L=ane(A);return await v(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=ane(A),L=p.property("__zoom");(L.k!==A.zoom||L.x!==A.x||L.y!==A.y)&&f?.transform(p,R,null,{sync:!0})}}function _(){const A=p?LOt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function C(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?vx:H8).scaleTo(ine(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?vx:H8).scaleBy(ine(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!Sg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:_,scaleTo:C,scaleBy:T,setScaleExtent:E,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var uN;(function(e){e.Line="line",e.Handle="handle"})(uN||(uN={}));function bJn({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:s,affectsY:a}){const i=e-t,l=n-r,c=[i>0?1:i<0?-1:0,l>0?1:l<0?-1:0];return i&&s&&(c[0]=c[0]*-1),l&&a&&(c[1]=c[1]*-1),c}function eBe(e){const t=e.includes("right")||e.includes("left"),n=e.includes("bottom")||e.includes("top"),r=e.includes("left"),s=e.includes("top");return{isHorizontal:t,isVertical:n,affectsX:r,affectsY:s}}function tw(e,t){return Math.max(0,t-e)}function nw(e,t){return Math.max(0,e-t)}function xF(e,t,n){return Math.max(0,t-e,e-n)}function tBe(e,t){return e?!t:t}function xJn(e,t,n,r,s,a,i,l){let{affectsX:c,affectsY:u}=t;const{isHorizontal:d,isVertical:f}=t,p=d&&f,{xSnapped:h,ySnapped:m}=n,{minWidth:v,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:_,height:C,aspectRatio:T}=e;let E=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=_+(c?-E:E),A=C+(u?-N:N),R=-a[0]*_,L=-a[1]*C;let D=xF(I,v,y),F=xF(A,b,x);if(i){let z=0,V=0;c&&E<0?z=tw(S+E+R,i[0][0]):!c&&E>0&&(z=nw(S+I+R,i[1][0])),u&&N<0?V=tw(k+N+L,i[0][1]):!u&&N>0&&(V=nw(k+A+L,i[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(l){let z=0,V=0;c&&E>0?z=nw(S+E,l[0][0]):!c&&E<0&&(z=tw(S+I,l[1][0])),u&&N>0?V=nw(k+N,l[0][1]):!u&&N<0&&(V=tw(k+A,l[1][1])),D=Math.max(D,z),F=Math.max(F,V)}if(s){if(d){const z=xF(I/T,b,x)*T;if(D=Math.max(D,z),i){let V=0;!c&&!u||c&&!u&&p?V=nw(k+L+I/T,i[1][1])*T:V=tw(k+L+(c?E:-E)/T,i[0][1])*T,D=Math.max(D,V)}if(l){let V=0;!c&&!u||c&&!u&&p?V=tw(k+I/T,l[1][1])*T:V=nw(k+(c?E:-E)/T,l[0][1])*T,D=Math.max(D,V)}}if(f){const z=xF(A*T,v,y)/T;if(F=Math.max(F,z),i){let V=0;!c&&!u||u&&!c&&p?V=nw(S+A*T+R,i[1][0])/T:V=tw(S+(u?N:-N)*T+R,i[0][0])/T,F=Math.max(F,V)}if(l){let V=0;!c&&!u||u&&!c&&p?V=tw(S+A*T,l[1][0])/T:V=nw(S+(u?N:-N)*T,l[0][0])/T,F=Math.max(F,V)}}}N=N+(N<0?F:-F),E=E+(E<0?D:-D),s&&(p?I>A*T?N=(tBe(c,u)?-E:E)/T:E=(tBe(c,u)?-N:N)*T:d?(N=E/T,u=c):(E=N*T,c=u));const H=c?S+E:S,B=u?k+N:k;return{width:_+(c?-E:E),height:C+(u?-N:N),x:a[0]*E*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+B}}const p_t={width:0,height:0,x:0,y:0},wJn={...p_t,pointerX:0,pointerY:0,aspectRatio:1};function SJn(e){return[[0,0],[e.measured.width,e.measured.height]]}function kJn(e,t,n){const r=t.position.x+e.position.x,s=t.position.y+e.position.y,a=e.measured.width??0,i=e.measured.height??0,l=n[0]*a,c=n[1]*i;return[[r-l,s-c],[r+a-l,s+i-c]]}function OJn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=Op(e);let i={controlDirection:eBe("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function l({controlPosition:u,boundaries:d,keepAspectRatio:f,resizeDirection:p,onResizeStart:h,onResize:m,onResizeEnd:v,shouldResize:y}){let b={...p_t},x={...wJn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:eBe(u)};let S,k=null,_=[],C,T,E,N=!1;const I=OOt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:B}=n();if(S=R.get(t),!S)return;k=B?.getBoundingClientRect()??null;const{xSnapped:z,ySnapped:V}=I2(A.sourceEvent,{transform:L,snapGrid:D,snapToGrid:F,containerBounds:k});b={width:S.measured.width??0,height:S.measured.height??0,x:S.position.x??0,y:S.position.y??0},x={...b,pointerX:z,pointerY:V,aspectRatio:b.width/b.height},C=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(C=R.get(S.parentId),T=C&&S.extent==="parent"?SJn(C):void 0),_=[],E=void 0;for(const[M,G]of R)if(G.parentId===t&&(_.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const U=kJn(G,S,G.origin??H);E?E=[[Math.min(U[0][0],E[0][0]),Math.min(U[0][1],E[0][1])],[Math.max(U[1][0],E[1][0]),Math.max(U[1][1],E[1][1])]]:E=U}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=I2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),B=[];if(!S)return;const{x:z,y:V,width:M,height:G}=b,U={},$=S.origin??F,{width:q,height:Z,x:Y,y:ne}=xJn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,T,E),J=q!==M,ee=Z!==G,se=Y!==z&&J,le=ne!==V&ⅇif(!se&&!le&&!J&&!ee)return;if((se||le||$[0]===1||$[1]===1)&&(U.x=se?Y:b.x,U.y=le?ne:b.y,b.x=U.x,b.y=U.y,_.length>0)){const fe=Y-z,ce=ne-V;for(const Se of _)Se.position={x:Se.position.x-fe+$[0]*(q-M),y:Se.position.y-ce+$[1]*(Z-G)},B.push(Se)}if((J||ee)&&(U.width=J&&(!i.resizeDirection||i.resizeDirection==="horizontal")?q:b.width,U.height=ee&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=U.width,b.height=U.height),C&&S.expandParent){const fe=$[0]*(U.width??0);U.x&&U.x<fe&&(b.x=fe,x.x=x.x-(U.x-fe));const ce=$[1]*(U.height??0);U.y&&U.y<ce&&(b.y=ce,x.y=x.y-(U.y-ce))}const X=bJn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),te={...b,direction:X};y?.(A,te)!==!1&&(N=!0,m?.(A,te),r(U,B))}).on("end",A=>{N&&(v?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const _Jn={},nBe=e=>{let t;const n=new Set,r=(d,f)=>{const p=typeof d=="function"?d(t):d;if(!Object.is(p,t)){const h=t;t=f??(typeof p!="object"||p===null)?p:Object.assign({},t,p),n.forEach(m=>m(t,h))}},s=()=>t,c={setState:r,getState:s,getInitialState:()=>u,subscribe:d=>(n.add(d),()=>n.delete(d)),destroy:()=>{(_Jn?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},u=t=e(r,s,c);return c},CJn=e=>e?nBe(e):nBe,{useDebugValue:EJn}=Fe,{useSyncExternalStoreWithSelector:TJn}=ejn,jJn=e=>e;function h_t(e,t=jJn,n){const r=TJn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return EJn(r),r}const rBe=(e,t)=>{const n=CJn(e),r=(s,a=t)=>h_t(n,s,a);return Object.assign(r,n),r},NJn=(e,t)=>e?rBe(e,t):rBe;function io(e,t){if(Object.is(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(const[r,s]of e)if(!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}const yW=g.createContext(null),IJn=yW.Provider,m_t=ky.error001();function Us(e,t){const n=g.useContext(yW);if(n===null)throw new Error(m_t);return h_t(n,e,t)}function Eo(){const e=g.useContext(yW);if(e===null)throw new Error(m_t);return g.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const sBe={display:"none"},AJn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},g_t="react-flow__node-desc",v_t="react-flow__edge-desc",RJn="react-flow__aria-live",PJn=e=>e.ariaLiveMessage,$Jn=e=>e.ariaLabelConfig;function MJn({rfId:e}){const t=Us(PJn);return o.jsx("div",{id:`${RJn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:AJn,children:t})}function DJn({rfId:e,disableKeyboardA11y:t}){const n=Us($Jn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${g_t}-${e}`,style:sBe,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${v_t}-${e}`,style:sBe,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(MJn,{rfId:e})]})}const t4=g.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:Bl(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});t4.displayName="Panel";function LJn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(t4,{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:o.jsx("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}const FJn=e=>{const t=[],n=[];for(const[,r]of e.nodeLookup)r.selected&&t.push(r.internals.userNode);for(const[,r]of e.edgeLookup)r.selected&&n.push(r);return{selectedNodes:t,selectedEdges:n}},wF=e=>e.id;function zJn(e,t){return io(e.selectedNodes.map(wF),t.selectedNodes.map(wF))&&io(e.selectedEdges.map(wF),t.selectedEdges.map(wF))}function BJn({onSelectionChange:e}){const t=Eo(),{selectedNodes:n,selectedEdges:r}=Us(FJn,zJn);return g.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const UJn=e=>!!e.onSelectionChangeHandlers;function qJn({onSelectionChange:e}){const t=Us(UJn);return e||t?o.jsx(BJn,{onSelectionChange:e}):null}const _ve=typeof window<"u"?g.useLayoutEffect:g.useEffect,y_t=[0,0],VJn={x:0,y:0,zoom:1},HJn=["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"],aBe=[...HJn,"rfId"],WJn=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}),iBe={translateExtent:PM,nodeOrigin:y_t,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function ZJn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(WJn,io),u=Eo();_ve(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=iBe,l()}),[]);const d=g.useRef(iBe);return _ve(()=>{for(const f of aBe){const p=e[f],h=d.current[f];p!==h&&(typeof e[f]>"u"||(f==="nodes"?t(p):f==="edges"?n(p):f==="minZoom"?r(p):f==="maxZoom"?s(p):f==="translateExtent"?a(p):f==="nodeExtent"?i(p):f==="ariaLabelConfig"?u.setState({ariaLabelConfig:MXn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},aBe.map(f=>e[f])),null}function oBe(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function GJn(e){const[t,n]=g.useState(e==="system"?null:e);return g.useEffect(()=>{if(e!=="system"){n(e);return}const r=oBe(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:oBe()?.matches?"dark":"light"}const lBe=typeof document<"u"?document:null;function FM(e=null,t={target:lBe,actInsideInputWithModifier:!0}){const[n,r]=g.useState(!1),s=g.useRef(!1),a=g.useRef(new Set([])),[i,l]=g.useMemo(()=>{if(e!==null){const u=(Array.isArray(e)?e:[e]).filter(f=>typeof f=="string").map(f=>f.replace("+",`
|
|
235
235
|
`).replace(`
|
|
236
236
|
|
|
237
237
|
`,`
|
|
@@ -641,7 +641,7 @@ Token usage: ${n} input + ${r} output = ${s} total`:`The model stopped generatin
|
|
|
641
641
|
}
|
|
642
642
|
]`})]})]})}function Lgs({errors:e,maxErrors:t=5}){if(e.length===0)return null;const n=e.slice(0,t),r=e.length-t;return o.jsxs("div",{className:"bg-accent2/10 border-accent2/30 rounded-md border p-3",children:[o.jsxs("div",{className:"text-accent2 mb-2 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(Cf,{className:"h-4 w-4"})}),o.jsxs("span",{className:"text-sm font-medium",children:[e.length," validation error",e.length!==1?"s":""]})]}),o.jsx("ul",{className:"text-accent2/80 space-y-1 text-sm",children:n.map((s,a)=>o.jsxs("li",{className:"flex gap-2",children:[o.jsx("span",{className:"shrink-0",children:"•"}),o.jsx("span",{children:s.message})]},a))}),r>0&&o.jsxs("div",{className:"text-accent2/60 mt-2 text-xs",children:["+",r," more error",r!==1?"s":""]})]})}function Fgs({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=g.useState("upload"),[i,l]=g.useState(null),[c,u]=g.useState({current:0,total:0}),[d,f]=g.useState(null),[p,h]=g.useState(!1),{parseFile:m,isParsing:v,error:y}=Sms(),{batchInsertItems:b}=Vi(),x=g.useCallback(async I=>{try{const A=await m(I);l(A),a("preview")}catch{}},[m]),S=g.useCallback(async()=>{if(!i||i.items.length===0)return;a("importing"),h(!0);const{items:I}=i;u({current:0,total:I.length});try{await b.mutateAsync({datasetId:e,items:I.map(A=>({input:A.input,groundTruth:A.groundTruth,metadata:A.metadata}))}),f({success:I.length,errors:0})}catch{f({success:0,errors:I.length})}u({current:I.length,total:I.length}),h(!1),a("complete")},[i,b,e]),k=g.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&Be.success(`Imported ${d.success} item${d.success!==1?"s":""}`),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150)},[n,r,d]),_=g.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),C=i&&i.items.length>0&&i.errors.length===0,T=()=>{switch(s){case"upload":return o.jsx(Dgs,{onFileSelect:x,isParsing:v,error:y?.message});case"preview":return i?o.jsx("div",{className:"flex flex-col gap-4",children:i.errors.length>0?o.jsxs(o.Fragment,{children:[o.jsx(Lgs,{errors:i.errors}),o.jsx("div",{className:"text-neutral4 text-sm",children:"Please fix the errors in your JSON file and try again."})]}):o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:"text-neutral4 text-sm",children:["Found ",i.items.length," valid item",i.items.length!==1?"s":""," to import."]}),o.jsx(Mgs,{items:i.items,maxRows:5})]})}):null;case"importing":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx(qt,{}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-neutral1 text-lg font-medium",children:"Importing items..."}),o.jsxs("div",{className:"text-neutral4 mt-1 text-sm",children:[c.current," of ",c.total]})]})]});case"complete":return o.jsxs("div",{className:"flex flex-col items-center gap-4 py-8",children:[o.jsx("div",{className:"text-4xl",children:d&&d.errors===0?"✓":"⚠"}),o.jsxs("div",{className:"text-center",children:[o.jsx("div",{className:"text-neutral1 text-lg font-medium",children:"Import Complete"}),o.jsxs("div",{className:"text-neutral4 mt-1 text-sm",children:[d?.success??0," item",d?.success!==1?"s":""," imported",d&&d.errors>0&&o.jsxs("span",{className:"text-accent2",children:[" ","(",d.errors," error",d.errors!==1?"s":"",")"]})]})]})]})}},E=()=>{switch(s){case"upload":return o.jsx(oe,{onClick:_,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(oe,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(oe,{variant:"primary",onClick:S,disabled:!C,children:["Import ",i?.items.length??0," Item",i?.items.length!==1?"s":""]})]});case"importing":return null;case"complete":return o.jsx(oe,{variant:"primary",onClick:k,children:"Done"})}},N={upload:"Import JSON",preview:"Preview Data",importing:"Importing",complete:"Import Complete"};return o.jsx(vr,{open:t,onOpenChange:_,children:o.jsxs(yr,{className:"max-h-[90vh] max-w-2xl",children:[o.jsxs(br,{children:[o.jsx(pr,{children:N[s]}),o.jsx(As,{children:"Import dataset items from a JSON file."})]}),o.jsx($r,{className:"max-h-[50vh] min-h-[200px] overflow-y-auto",children:T()}),o.jsx(rc,{className:"flex justify-end gap-2 px-6 pt-4",children:E()})]})})}function zgs(e){if(!(e instanceof HTMLElement))return!1;if(e.isContentEditable)return!0;const t=e.tagName;return t==="INPUT"||t==="TEXTAREA"||t==="SELECT"?!0:!!e.closest('[role="dialog"]:not([data-item-panel])')}function FVt({active:e,onPrevious:t,onNext:n,onClose:r}){g.useEffect(()=>{if(!e)return;const s=a=>{a.defaultPrevented||zgs(a.target)||(a.key==="PageUp"?(a.preventDefault(),t?.()):a.key==="PageDown"?(a.preventDefault(),n?.()):a.key==="Escape"&&(a.preventDefault(),r()))};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[e,t,n,r])}const zVt=g.createContext(null);function Bgs({datasetId:e,items:t,isLoadingItems:n,children:r}){const s=Kr(),i=Cgt("/datasets/:datasetId/items/:itemId")?.params.itemId,l=g.useCallback(h=>{s(`/datasets/${e}/items/${encodeURIComponent(h)}`)},[s,e]),c=g.useCallback(()=>{s(`/datasets/${e}`)},[s,e]),u=g.useMemo(()=>i?t.findIndex(h=>h.id===i):-1,[t,i]),d=g.useMemo(()=>{if(u<=0)return;const h=t[u-1].id;return()=>l(h)},[u,t,l]),f=g.useMemo(()=>{if(u<0||u>=t.length-1)return;const h=t[u+1].id;return()=>l(h)},[u,t,l]);FVt({active:!!i,onPrevious:d,onNext:f,onClose:c});const p=g.useMemo(()=>({datasetId:e,items:t,isLoadingItems:n,currentItemId:i,openItem:l,close:c,goToPreviousItem:d,goToNextItem:f}),[e,t,n,i,l,c,d,f]);return o.jsx(zVt.Provider,{value:p,children:r})}function BVt(){const e=g.useContext(zVt);if(!e)throw new Error("useDatasetItemPanel must be used within a DatasetItemPanelProvider");return e}const WAe=e=>{const t=Ze(),{data:n}=MD(e),r=n?.experiments;return yt({queryKey:["dataset-review-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="needs-review").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:l.comment??""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})},Ugs=e=>{const t=Ze(),{data:n}=MD(e),r=n?.experiments;return yt({queryKey:["dataset-completed-items",e,r?.map(s=>s.id)],queryFn:async()=>!r||r.length===0?[]:(await Promise.all(r.map(async a=>{if(!a.datasetId)return[];try{const{results:i}=await t.listDatasetExperimentResults(a.datasetId,a.id);return i.filter(l=>l.status==="complete").map(l=>({id:l.id,input:l.input,output:l.output,error:l.error,itemId:l.itemId,experimentId:l.experimentId,datasetId:a.datasetId??void 0,traceId:l.traceId??void 0,scores:l.scores?Object.fromEntries(l.scores.map(c=>[c.scorerId,c.score??0])):{},tags:l.tags??[],comment:l.comment??""}))}catch{return[]}}))).flat(),enabled:!!e&&!!r&&r.length>0,refetchOnWindowFocus:!1})};function ZAe({label:e,wide:t=!1,children:n}){return o.jsxs("div",{className:K("pointer-events-none absolute inset-0 z-30","grid transition-[grid-template-columns] duration-300 ease-in-out",t?"grid-cols-[1fr_4fr]":"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"pointer-events-none"}),o.jsx("div",{role:"dialog","data-item-panel":!0,"aria-label":e,className:"pointer-events-auto h-full min-h-0 min-w-0 overflow-y-auto",children:n})]})}function qgs(e,t){if(typeof e=="string")return e.length>t?e.slice(0,t)+"...":e;try{const n=JSON.stringify(e);return n.length>t?n.slice(0,t)+"...":n}catch{return String(e)}}function UVt({datasetId:e,experimentId:t,featuredItemId:n,detailPanelVariant:r="inline"}){const s=Ze(),{data:a}=Gg(e),{data:i,isLoading:l}=WAe(e),{data:c,isLoading:u}=Ugs(e),d=g.useMemo(()=>t?(i??[]).filter(Te=>Te.experimentId===t):i,[i,t]),f=g.useMemo(()=>t?(c??[]).filter(Te=>Te.experimentId===t):c,[c,t]),{updateExperimentResult:p}=Vi(),[h,m]=g.useState(n??null);g.useEffect(()=>{n!==void 0&&m(n)},[n]);const[v,y]=g.useState(null),[b,x]=g.useState(new Set),[S,k]=g.useState(!1),[_,C]=g.useState(!1),[T,E]=g.useState(!1),[N,I]=g.useState(""),[A,R]=g.useState(""),[L,D]=g.useState(""),[F,H]=g.useState([]),[B,z]=g.useState(!1),[V,M]=g.useState(null),G=g.useMemo(()=>V??d??[],[V,d]);g.useEffect(()=>{M(null)},[e,t]),g.useEffect(()=>{d&&V===null&&M(d)},[d,V]);const U=g.useMemo(()=>{const Te=new Set;if(a?.tags)for(const he of a.tags)Te.add(he);for(const he of G)for(const xe of he.tags)Te.add(xe);return[...Te].sort()},[a,G]),$=g.useCallback(Te=>{!a||!e||(a.tags??[]).includes(Te)},[a,e]),q=g.useMemo(()=>v?v==="__untagged__"?G.filter(Te=>Te.tags.length===0):G.filter(Te=>Te.tags.includes(v)):G,[G,v]),Z=g.useMemo(()=>{const Te=new Map;for(const he of G)for(const xe of he.tags)Te.set(xe,(Te.get(xe)??0)+1);return[...Te.entries()].sort((he,xe)=>xe[1]-he[1])},[G]),Y=g.useMemo(()=>G.filter(Te=>Te.tags.length===0).length,[G]),ne=g.useMemo(()=>{let Te=0;return v&&Te++,S&&Te++,Te},[v,S]),J=g.useCallback((Te,he)=>{M(Pe=>(Pe??[]).map(nt=>nt.id===Te?{...nt,tags:he}:nt));const xe=G.find(Pe=>Pe.id===Te);xe?.experimentId&&xe?.datasetId&&p.mutate({datasetId:xe.datasetId,experimentId:xe.experimentId,resultId:xe.id,tags:he})},[G,p]),ee=g.useCallback((Te,he)=>{const xe=G.find(Pe=>Pe.id===Te);xe?.traceId&&he!==void 0&&s.createFeedback({feedback:{traceId:xe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:he==="positive"?1:-1,experimentId:xe.experimentId??void 0,sourceId:xe.id}}).catch(()=>{}),M(Pe=>(Pe??[]).map(nt=>nt.id===Te?{...nt,rating:he}:nt))},[G,s]),se=g.useCallback((Te,he)=>{const xe=G.find(Pe=>Pe.id===Te);xe?.experimentId&&xe?.datasetId&&p.mutate({datasetId:xe.datasetId,experimentId:xe.experimentId,resultId:xe.id,comment:he}),xe?.traceId&&s.createFeedback({feedback:{traceId:xe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:he,comment:he,experimentId:xe.experimentId??void 0,sourceId:xe.id}}).catch(()=>{}),M(Pe=>(Pe??[]).map(nt=>nt.id===Te?{...nt,comment:he}:nt))},[G,s,p]),le=g.useCallback(Te=>{const he=G.find(xe=>xe.id===Te);M(xe=>(xe??[]).filter(Pe=>Pe.id!==Te)),x(xe=>{const Pe=new Set(xe);return Pe.delete(Te),Pe}),h===Te&&m(null),he?.experimentId&&he?.datasetId&&p.mutate({datasetId:he.datasetId,experimentId:he.experimentId,resultId:he.id,status:null})},[G,p,h]),X=g.useCallback(Te=>{const he=G.find(xe=>xe.id===Te);M(xe=>(xe??[]).filter(Pe=>Pe.id!==Te)),x(xe=>{const Pe=new Set(xe);return Pe.delete(Te),Pe}),h===Te&&m(null),he?.experimentId&&he?.datasetId&&p.mutate({datasetId:he.datasetId,experimentId:he.experimentId,resultId:he.id,status:"complete"})},[G,p,h]),te=g.useMemo(()=>{const Te=S?f??[]:q;return!S||!v?Te:v==="__untagged__"?Te.filter(he=>he.tags.length===0):Te.filter(he=>he.tags.includes(v))},[S,f,q,v]),re=S?u:!1,fe=g.useMemo(()=>new Set(te.map(Te=>Te.id)),[te]),ce=g.useMemo(()=>[...b].filter(Te=>fe.has(Te)).length,[b,fe]),Se=te.length>0&&ce===te.length,ye=ce>0&&!Se,ke=g.useCallback(Te=>{x(he=>{const xe=new Set(he);return xe.has(Te)?xe.delete(Te):xe.add(Te),xe})},[]),Ie=g.useCallback(()=>{x(Se?new Set:new Set(te.map(Te=>Te.id)))},[Se,te]),$e=g.useCallback(Te=>{for(const he of b){const xe=G.find(Pe=>Pe.id===he);xe&&!xe.tags.includes(Te)&&J(he,[...xe.tags,Te])}},[G,b,J]),Re=g.useCallback(Te=>{for(const he of b){const xe=G.find(Pe=>Pe.id===he);xe&&xe.tags.includes(Te)&&J(he,xe.tags.filter(Pe=>Pe!==Te))}},[G,b,J]),Ae=g.useCallback(()=>{for(const Te of b)X(Te);x(new Set)},[b,X]),ae=g.useCallback(()=>{for(const Te of b)le(Te);x(new Set)},[b,le]),pe=g.useCallback(()=>{I(""),E(!0)},[]),ue=g.useCallback(async()=>{if(!(!A||!L)){C(!0),E(!1);try{const Te=G.filter(xe=>b.has(xe.id));if(Te.length===0){C(!1);return}const he=await s.clusterFailures({modelId:`${A}/${L}`,items:Te.map(xe=>({id:xe.id,input:xe.input,output:xe.output??void 0,error:typeof xe.error=="string"?xe.error:xe.error?String(xe.error):void 0,scores:xe.scores,existingTags:xe.tags.length>0?xe.tags:void 0})),availableTags:U.length>0?U:void 0,prompt:N||void 0});he.proposedTags&&he.proposedTags.length>0&&(H(he.proposedTags.map(xe=>({...xe,accepted:!0}))),z(!0))}catch(Te){console.error("Analysis failed:",Te)}finally{C(!1)}}},[A,L,G,b,s,U,N]),we=g.useCallback(()=>{for(const Te of F){if(!Te.accepted)continue;const he=G.find(xe=>xe.id===Te.itemId);if(he){const xe=[...new Set([...he.tags,...Te.tags])];J(he.id,xe)}}z(!1)},[F,G,J]),Ee=g.useCallback(Te=>{m(he=>he===Te?null:Te)},[]),ve=g.useMemo(()=>h?te.find(Te=>Te.id===h)??null:null,[h,te]),Ce=h?te.findIndex(Te=>Te.id===h):-1,Ue=Ce>0?()=>m(te[Ce-1].id):void 0,Le=Ce>=0&&Ce<te.length-1?()=>m(te[Ce+1].id):void 0,ze="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem",{containerRef:Qe,getRowProps:rt}=So({count:te.length});if(l)return o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(qt,{className:"h-6 w-6"})});const gt=ve?o.jsx(TUt,{className:"h-full",item:ve,isCompleted:S,tagVocabulary:U,onRate:Te=>ee(ve.id,Te),onSetTags:Te=>{J(ve.id,Te);for(const he of Te)U.includes(he)||$(he)},onComment:Te=>se(ve.id,Te),onRemove:()=>le(ve.id),onComplete:S?void 0:()=>X(ve.id),onPrevious:Ue,onNext:Le,onClose:()=>m(null)}):null;return o.jsxs("div",{className:K("flex h-full min-h-0 flex-1",r==="overlay"?"overflow-visible":"overflow-hidden"),children:[o.jsx(vr,{open:T,onOpenChange:E,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Analyze Items"}),o.jsx(As,{children:"Use an LLM to automatically suggest tags for the selected items."})]}),o.jsxs("div",{className:"space-y-4 py-2",children:[o.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[o.jsxs("div",{children:[o.jsx(Mt,{className:"mb-1 block text-xs",children:"Provider"}),o.jsx(Vy,{value:A,onValueChange:R})]}),o.jsxs("div",{children:[o.jsx(Mt,{className:"mb-1 block text-xs",children:"Model"}),o.jsx(Hy,{llmId:A,value:L,onValueChange:D})]})]}),o.jsxs(ge,{variant:"ui-xs",className:"text-neutral3",children:[b.size," item",b.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx(Mt,{className:"text-xs",children:"Instructions (optional)"}),o.jsx(Il,{value:N,onChange:Te=>I(Te.target.value),placeholder:"E.g., Focus on safety issues and factual errors...",rows:3,className:"mt-1 text-xs"})]})]}),o.jsxs(rc,{children:[o.jsx(oe,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(oe,{onClick:ue,disabled:!A||!L||_,children:[_?o.jsx(qt,{className:"mr-1 h-4 w-4"}):null,"Analyze"]})]})]})}),o.jsx(vr,{open:B,onOpenChange:z,children:o.jsxs(yr,{className:"max-h-[80vh] max-w-2xl overflow-y-auto",children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Review Proposed Tags"}),o.jsxs(As,{children:[F.filter(Te=>Te.accepted).length," of ",F.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:F.map((Te,he)=>{const xe=G.find(Pe=>Pe.id===Te.itemId);return o.jsx("div",{className:K("p-3 border rounded-lg",!Te.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ko,{checked:Te.accepted,onCheckedChange:Pe=>H(nt=>nt.map((tt,Dt)=>Dt===he?{...tt,accepted:!!Pe}:tt))}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 block truncate",children:xe?typeof xe.input=="string"?xe.input.slice(0,100):JSON.stringify(xe.input).slice(0,100):Te.itemId}),o.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:Te.tags.map((Pe,nt)=>o.jsx(NUt,{tag:Pe,onRename:tt=>H(Dt=>Dt.map((je,Ke)=>Ke===he?{...je,tags:je.tags.map((pt,Kt)=>Kt===nt?tt:pt)}:je)),onRemove:()=>H(tt=>tt.map((Dt,je)=>je===he?{...Dt,tags:Dt.tags.filter((Ke,pt)=>pt!==nt)}:Dt))},`${Pe}-${nt}`))}),Te.reason&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:Te.reason})]})]})},Te.itemId)})}),o.jsxs(rc,{children:[o.jsx(oe,{variant:"outline",onClick:()=>z(!1),children:"Cancel"}),o.jsxs(oe,{onClick:we,disabled:F.filter(Te=>Te.accepted).length===0,children:["Accept ",F.filter(Te=>Te.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:K("grid h-full min-h-0 w-full grid-cols-1 gap-4",r==="overlay"?"overflow-visible":"overflow-hidden",ve&&r==="inline"&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid min-h-0 w-full grid-rows-[auto_1fr] gap-3 overflow-hidden pt-3",children:[(G.length>0||ne>0)&&o.jsxs("div",{className:"flex w-full flex-wrap items-center justify-start gap-3",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsxs(oe,{size:"sm",children:[o.jsx(Klt,{}),"Filter",ne>0&&o.jsx(St,{size:"xs",children:ne})]})}),o.jsxs(it.Content,{align:"start",className:K("min-w-48"),children:[o.jsxs(it.Sub,{children:[o.jsxs(it.SubTrigger,{children:["Status",S&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(it.SubContent,{children:[o.jsx(it.CheckboxItem,{checked:!S,onCheckedChange:()=>{k(!1),m(null)},onSelect:Te=>Te.preventDefault(),children:"Review Queue"}),o.jsx(it.CheckboxItem,{checked:S,onCheckedChange:()=>{k(!0),m(null)},onSelect:Te=>Te.preventDefault(),children:"Completed"})]})]}),o.jsxs(it.Sub,{children:[o.jsxs(it.SubTrigger,{children:["Tags",v&&o.jsx("span",{className:K("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(it.SubContent,{children:[o.jsx(it.CheckboxItem,{checked:!v,onCheckedChange:()=>y(null),onSelect:Te=>Te.preventDefault(),children:"All"}),Y>0&&o.jsx(it.CheckboxItem,{checked:v==="__untagged__",onCheckedChange:()=>y(v==="__untagged__"?null:"__untagged__"),onSelect:Te=>Te.preventDefault(),children:"Untagged"}),Z.length>0&&o.jsx(it.Separator,{}),Z.map(([Te])=>o.jsx(it.CheckboxItem,{checked:v===Te,onCheckedChange:()=>y(v===Te?null:Te),onSelect:he=>he.preventDefault(),children:Te},Te))]})]}),ne>0&&o.jsxs(o.Fragment,{children:[o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:()=>{y(null),k(!1),m(null)},children:[o.jsx($s,{}),"Clear all filters"]})]})]})]}),ne>0&&o.jsxs(oe,{size:"sm",onClick:()=>{y(null),k(!1),m(null)},children:[o.jsx($s,{}),"Reset"]})]}),!S&&b.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(jUt,{selectedCount:b.size,vocabulary:U,onApplyTag:$e,onRemoveTag:Re,onNewTag:Te=>$e(Te)}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsxs(oe,{size:"sm",disabled:_,children:[_?o.jsx(qt,{className:"h-4 w-4"}):o.jsx(Ve,{size:"sm",children:o.jsx(Na,{})}),"Actions"]})}),o.jsxs(it.Content,{align:"end",children:[o.jsxs(it.Item,{onSelect:Ae,children:[o.jsx(Ve,{size:"sm",children:o.jsx(gO,{})}),"Complete"]}),o.jsxs(it.Item,{onSelect:ae,children:[o.jsx(Ve,{size:"sm",children:o.jsx(nd,{})}),"Remove"]}),o.jsx(it.Separator,{}),o.jsxs(it.Item,{onSelect:pe,children:[o.jsx(Ve,{size:"sm",children:o.jsx(Ag,{})}),"Analyze"]})]})]})]})]}),re?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(qt,{className:"h-6 w-6"})}):te.length===0?o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Cr,{iconSlot:o.jsx(vO,{className:"text-neutral3 h-8 w-8"}),titleSlot:S?"No completed reviews yet":"No items to review",descriptionSlot:S?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})}):o.jsxs(be,{columns:ze,className:"min-w-0",scrollRef:Qe,children:[o.jsxs(be.Top,{hasLeadingCell:!0,children:[S?o.jsx(be.TopCell,{children:" "}):o.jsx(be.TopSelectCell,{checked:Se?!0:ye?"indeterminate":!1,onToggle:()=>Ie(),"aria-label":"Select all"}),o.jsxs(be.TopCells,{colStart:2,children:[o.jsx(be.TopCell,{children:"Input"}),o.jsx(be.TopCell,{children:"Comment"}),o.jsx(be.TopCell,{children:"Tags"}),o.jsx(be.TopCell,{children:"Rating"}),o.jsx(be.TopCell,{children:"Scores"})]})]}),te.map((Te,he)=>{const xe=Te.scores?Object.entries(Te.scores):[],Pe=h===Te.id,nt=o.jsxs(o.Fragment,{children:[o.jsx(be.Cell,{className:"text-neutral4 min-w-0",children:o.jsx("span",{className:"block truncate",children:qgs(Te.input,200)})}),o.jsx(be.Cell,{className:"min-w-0",children:Te.comment?o.jsx(ge,{variant:"ui-xs",className:"text-neutral3 truncate",children:Te.comment}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(be.Cell,{className:"min-w-0",children:Te.tags.length>0?o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 truncate",children:Te.tags.join(", ")}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(be.Cell,{children:[Te.rating==="positive"&&o.jsx(Ve,{size:"sm",className:"text-positive1",children:o.jsx(k0e,{})}),Te.rating==="negative"&&o.jsx(Ve,{size:"sm",className:"text-negative1",children:o.jsx(S0e,{})}),!Te.rating&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(be.Cell,{children:xe.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(Ve,{size:"sm",className:"text-neutral3",children:o.jsx(lm,{})}),o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 font-mono",children:xe[0][1].toFixed(2)}),xe.length>1&&o.jsxs(St,{children:["+",xe.length-1]})]}):o.jsx(ge,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(be.RowWrapper,{children:[S?o.jsx(be.Cell,{className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":Te.error?"Error":"Success",title:Te.error?"Error":"Success",className:K("w-2 h-2 rounded-full",Te.error?"bg-red-700":"bg-green-600")})}):o.jsx(be.SelectCell,{checked:b.has(Te.id),onToggle:()=>ke(Te.id),"aria-label":`Select item ${Te.id}`}),o.jsx(be.RowButton,{colStart:2,featured:Pe,onClick:()=>Ee(Te.id),...rt(he),children:nt})]},Te.id)})]})]}),gt&&(r==="overlay"?o.jsx(ZAe,{label:`Review item ${ve?.id??""}`,children:gt}):gt)]})]})}function Vgs({datasetId:e,onAddItemClick:t,onNavigateToDataset:n,rightSlot:r}){const[s,a]=mi(),{tab:i,activeVersion:l,handleTabChange:c}=HAe(s,a),[u,d]=g.useState(!1),[f,p]=g.useState(!1),[h,m]=g.useState(!1),[v,y]=g.useState([]),[b,x]=g.useState(!1),[S,k]=g.useState([]),[_,C]=g.useState(!1),[T,E]=g.useState([]),[N,I]=g.useState(0),[A,R]=g.useState(""),[L]=BH(A,300),{data:D}=Gg(e),{data:F=[],total:H,isLoading:B,setEndOfListElement:z,isFetchingNextPage:V,hasNextPage:M}=Gx(e,L||void 0,l),{total:G}=Gx(e,void 0,l),[U,$]=g.useState({}),{data:q,isLoading:Z}=MD(e,void 0,U),{data:Y}=MD(e),{deleteItems:ne}=Vi(),J=q?.experiments??[],ee=Y?.experiments??[],se=fgs({hasSearchQuery:!!L,filteredItemsLength:F.length,unfilteredItemsTotal:G,itemsTotal:H}),{data:le}=WAe(e),X=le?.length??0,{currentItemId:te,openItem:re,close:fe}=BVt(),ce=ae=>{te===ae?fe():re(ae)},Se=ae=>{y(ae),m(!0)},ye=ae=>{k(ae),x(!0)},ke=ae=>{x(ae),ae||(k([]),I(pe=>pe+1))},Ie=ae=>{E(ae),C(!0)},$e=async()=>{await ne.mutateAsync({datasetId:e,itemIds:T}),Be.success(`Deleted ${T.length} items`),C(!1),E([]),I(ae=>ae+1)},Re=ae=>{m(!1),y([]),I(pe=>pe+1),n?.(ae)},Ae=ae=>{m(ae),ae||(y([]),I(pe=>pe+1))};return o.jsxs(o.Fragment,{children:[o.jsxs(pc,{defaultTab:"items",value:i,onValueChange:c,className:"grid h-full grid-rows-[auto_1fr]",children:[o.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-3",children:[o.jsxs(fc,{variant:"pill-ghost",children:[o.jsxs(Ir,{value:"items",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(Ej,{})}),o.jsx(ge,{variant:"ui-sm",className:"text-inherit",children:"Items"}),o.jsx(St,{size:"sm",children:se})]}),o.jsxs(Ir,{value:"experiments",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(d0e,{})}),o.jsx(ge,{variant:"ui-sm",className:"text-inherit",children:"Experiments"}),o.jsx(St,{size:"sm",children:J.length})]}),o.jsxs(Ir,{value:"review",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(vO,{})}),o.jsx(ge,{variant:"ui-sm",className:"text-inherit",children:"Review"}),X>0&&o.jsx(St,{variant:"yellow",size:"sm",children:X})]})]}),r&&o.jsx("div",{className:"shrink-0 whitespace-nowrap",children:r})]}),o.jsx(cs,{value:"items",className:"border-border1 grid overflow-auto border-t py-0",children:o.jsx($gs,{items:F,isLoading:B,onItemClick:ce,featuredItemId:te,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ie,onCreateDatasetClick:Se,onAddToDatasetClick:ye,datasetName:D?.name,clearSelectionTrigger:N,setEndOfListElement:z,isFetchingNextPage:V,hasNextPage:M,searchQuery:A,activeSearchQuery:L,onSearchChange:R,currentDatasetVersion:D?.version})}),o.jsx(cs,{value:"experiments",className:"border-border1 grid overflow-auto border-t px-6 pt-3 pb-6",children:o.jsx(Ngs,{experiments:J,allExperiments:ee,isLoading:Z,datasetId:e,filters:U,onFiltersChange:$})}),o.jsx(cs,{value:"review",className:"border-border1 overflow-auto border-t px-6 pt-3 pb-6",children:o.jsx(UVt,{datasetId:e})})]}),o.jsx(wgs,{datasetId:e,open:u,onOpenChange:d}),o.jsx(Fgs,{datasetId:e,open:f,onOpenChange:p}),o.jsx(Jms,{open:h,onOpenChange:Ae,items:v,onSuccess:Re}),o.jsx(egs,{open:b,onOpenChange:ke,items:S,currentDatasetId:e}),o.jsx(Pt,{open:_,onOpenChange:C,children:o.jsxs(Pt.Content,{children:[o.jsxs(Pt.Header,{children:[o.jsx(Pt.Title,{children:"Delete Items"}),o.jsxs(Pt.Description,{children:["Are you sure you want to delete ",T.length," item",T.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(Pt.Footer,{children:[o.jsx(Pt.Cancel,{children:"Cancel"}),o.jsx(Pt.Action,{onClick:$e,children:ne.isPending?"Deleting...":"Delete"})]})]})})]})}function qVt({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r,label:s="Scorers (Optional)",helperText:a}){const{data:i,isLoading:l}=ah(),c=Object.entries(i??{}).filter(([,u])=>u.isRegistered).map(([u,d])=>({value:u,label:d.scorer?.config?.name||u,description:d.scorer?.config?.description||""}));return o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{children:s}),a?o.jsx("p",{className:"text-muted-foreground text-xs",children:a}):null,o.jsx(gl,{multiple:!0,options:c,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||l,container:r})]})}function VVt({overrideEnabled:e,onOverrideEnabledChange:t,selectedScorerIds:n,onSelectedScorerIdsChange:r,disabled:s=!1}){return o.jsxs("div",{className:"grid gap-3",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx(nc,{id:"override-dataset-scorers",checked:e,onCheckedChange:t,disabled:s}),o.jsx(Mt,{htmlFor:"override-dataset-scorers",children:"Override dataset scorers"})]}),o.jsx("p",{className:"text-muted-foreground text-xs",children:e?"Only selected scorers run for this item. Leave empty to run no scorers.":"Use scorers attached to the dataset."}),e?o.jsx(qVt,{selectedScorers:n,setSelectedScorers:r,disabled:s,label:"Item scorers",helperText:"Choose from scorers that can be resolved by this Mastra instance."}):null]})}function Hgs(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function Tie({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-destructive text-xs",children:[o.jsxs("code",{className:"bg-destructive/10 rounded px-1",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function Wgs({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=g.useState("{}"),[i,l]=g.useState(""),[c,u]=g.useState(""),[d,f]=g.useState(""),[p,h]=g.useState(!1),[m,v]=g.useState([]),[y,b]=g.useState(""),[x,S]=g.useState(null),{addItem:k}=Vi(),_=()=>{a("{}"),l(""),u(""),f(""),h(!1),v([]),b(""),S(null)},C=R=>{_(),n(R)},T=async R=>{R.preventDefault();let L;try{L=JSON.parse(s)}catch{Be.error("Input must be valid JSON");return}let D;if(i.trim())try{D=JSON.parse(i)}catch{Be.error("Ground Truth must be valid JSON");return}let F;if(c.trim())try{F=JSON.parse(c)}catch{Be.error("Expected Trajectory must be valid JSON");return}let H;if(d.trim())try{const z=JSON.parse(d);if(!Array.isArray(z)){Be.error("Tool Mocks must be a JSON array");return}H=z}catch{Be.error("Tool Mocks must be valid JSON");return}let B;if(y.trim())try{B=JSON.parse(y)}catch{Be.error("Request Context must be valid JSON");return}try{await k.mutateAsync({datasetId:e,input:L,groundTruth:D,expectedTrajectory:F,toolMocks:H,scorerIds:p?m:void 0,requestContext:B}),Be.success("Item added successfully"),C(!1),r?.()}catch(z){const V=Hgs(z);V?S(V):Be.error(`Failed to add item: ${z instanceof Error?z.message:"Unknown error"}`)}},E=R=>{a(R),x?.field==="input"&&S(null)},N=R=>{l(R),x?.field==="groundTruth"&&S(null)},I=R=>{f(R),x?.field==="toolMocks"&&S(null)},A=()=>{C(!1)};return o.jsxs(wa,{dialogTitle:"Add Item",dialogDescription:"Create a new dataset item",isOpen:t,onClose:A,level:1,children:[o.jsx(wa.Top,{children:"Add Item"}),o.jsxs(wa.Content,{children:[o.jsx(wa.Header,{children:o.jsx(wa.Heading,{children:"Add Item"})}),o.jsxs("form",{onSubmit:T,className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Wr,{value:s,onChange:E,showCopyButton:!1,className:"min-h-[240px]"}),x?.field==="input"&&o.jsx(Tie,{field:"input",errors:x.errors})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Wr,{value:i,onChange:N,showCopyButton:!1,className:"min-h-[200px]"}),x?.field==="groundTruth"&&o.jsx(Tie,{field:"groundTruth",errors:x.errors})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Wr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[200px]"})]}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Wr,{value:d,onChange:I,showCopyButton:!1,className:"min-h-[200px]"}),x?.field==="toolMocks"&&o.jsx(Tie,{field:"toolMocks",errors:x.errors})]}),o.jsx(VVt,{overrideEnabled:p,onOverrideEnabledChange:h,selectedScorerIds:m,onSelectedScorerIdsChange:v,disabled:k.isPending}),o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Wr,{value:y,onChange:b,showCopyButton:!1,className:"min-h-[200px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(oe,{type:"button",onClick:A,children:"Cancel"}),o.jsx(oe,{type:"submit",variant:"primary",disabled:k.isPending,children:k.isPending?"Adding...":"Add Item"})]})]})]})]})}function Zgs({item:e}){return o.jsx(Ia,{withMargins:!1,children:o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{size:"smaller",children:[o.jsx(yV,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(Sa,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(Ia.Description,{children:[o.jsxs(Nl,{children:[o.jsx(TQt,{})," Created ",hr(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Nl,{children:[o.jsx(rI,{})," Version v",e.datasetVersion]})]})]})})}function GAe({item:e}){const t=e?.input?JSON.stringify(e.input,null,2):"null",n=e?.groundTruth?JSON.stringify(e.groundTruth,null,2):"null",r=e?.metadata?JSON.stringify(e.metadata,null,2):"null",s=e?.expectedTrajectory?JSON.stringify(e.expectedTrajectory,null,2):null;return o.jsxs(sUr,{children:[o.jsx(wa.CodeSection,{title:"Input",icon:o.jsx(_j,{}),codeStr:t}),o.jsx(wa.CodeSection,{title:"Ground Truth",icon:o.jsx(lx,{}),codeStr:n}),s&&o.jsx(wa.CodeSection,{title:"Expected Trajectory",icon:o.jsx(y0e,{}),codeStr:s}),o.jsx(wa.CodeSection,{title:"Scorers",icon:o.jsx(h0e,{}),codeStr:e.scorerIds===void 0?"Inherited from dataset":JSON.stringify(e.scorerIds,null,2)}),o.jsx(wa.CodeSection,{title:"Metadata",icon:o.jsx(sI,{}),codeStr:r})]})}function jie({field:e,errors:t}){return t.length?o.jsx("div",{className:"mt-2 space-y-1",children:t.map((n,r)=>o.jsxs("p",{className:"text-destructive text-xs",children:[o.jsxs("code",{className:"bg-destructive/10 rounded px-1",children:[e,n.path!=="/"?n.path:""]}),": ",n.message]},r))}):null}function Ggs({inputValue:e,setInputValue:t,groundTruthValue:n,setGroundTruthValue:r,metadataValue:s,setMetadataValue:a,trajectoryValue:i,setTrajectoryValue:l,toolMocksValue:c,setToolMocksValue:u,scorerOverrideEnabled:d,setScorerOverrideEnabled:f,selectedScorerIds:p,setSelectedScorerIds:h,requestContextValue:m,setRequestContextValue:v,validationErrors:y,onSave:b,onCancel:x,isSaving:S}){return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"mb-4",children:o.jsxs("h3",{className:"flex items-center gap-2 text-lg font-medium",children:[o.jsx(cm,{className:"h-5 w-5"})," Edit Item"]})}),o.jsxs("div",{className:"space-y-6",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Input (JSON) *"}),o.jsx(Wr,{value:e,onChange:t,showCopyButton:!1,className:"min-h-[120px]"}),y?.field==="input"&&o.jsx(jie,{field:"input",errors:y.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Ground Truth (JSON, optional)"}),o.jsx(Wr,{value:n,onChange:r,showCopyButton:!1,className:"min-h-[100px]"}),y?.field==="groundTruth"&&o.jsx(jie,{field:"groundTruth",errors:y.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Expected Trajectory (JSON, optional)"}),o.jsx(Wr,{value:i,onChange:l,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Tool Mocks (JSON array, optional)"}),o.jsxs("p",{className:"text-muted-foreground text-xs",children:["Ordered static mocks served in place of executing the tool. Each entry is"," ",o.jsx("code",{children:'{ "toolName", "args", "output" }'}),". Calling a mocked tool with non-matching args fails the item; unmocked tools run live."]}),o.jsx(Wr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[100px]"}),y?.field==="toolMocks"&&o.jsx(jie,{field:"toolMocks",errors:y.errors})]}),o.jsx(VVt,{overrideEnabled:d,onOverrideEnabledChange:f,selectedScorerIds:p,onSelectedScorerIdsChange:h,disabled:S}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Request Context (JSON, optional)"}),o.jsx(Wr,{value:m,onChange:v,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Metadata (JSON, optional)"}),o.jsx(Wr,{value:s,onChange:a,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex gap-2 pt-4",children:[o.jsx(oe,{variant:"primary",onClick:b,disabled:S,children:S?"Saving...":"Save Changes"}),o.jsx(oe,{onClick:x,disabled:S,children:"Cancel"})]})]})]})}const Qgs=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function Ygs({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=$m(),{data:l,isLoading:c}=Wy(),{data:u,isLoading:d}=ah(),f=e==="agent"?Object.entries(a??{}).map(([v,y])=>({value:v,label:y.name??v})):e==="workflow"?Object.entries(l??{}).map(([v,y])=>({value:v,label:y.name??v})):e==="scorer"?Object.entries(u??{}).map(([v,y])=>({value:v,label:y.scorer?.config?.name??v})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=v=>{t(v),r("")},m=e==="agent"?"Agent":e==="workflow"?"Workflow":"Scorer";return o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{children:"Target Type"}),o.jsx(gl,{options:Qgs,value:e,onValueChange:h,placeholder:"Select target type",searchPlaceholder:"Search types...",emptyText:"No types available",container:s})]}),e&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{children:m}),o.jsx(gl,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function Kgs({requestContextSchema:e,onChange:t}){const n=g.useMemo(()=>{try{return gm(e)}catch(r){return console.error("Failed to parse requestContextSchema:",r),null}},[e]);return n?o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Request Context"}),o.jsx(B3,{schema:n,onValuesChange:t,className:"[&_button[type=submit]]:hidden"})]}):o.jsx("p",{className:"text-destructive text-sm",children:"Failed to parse request context schema"})}function QAe({initialDatasetId:e,initialDatasetVersion:t,initialScorerIds:n,open:r,onOpenChange:s,onSuccess:a}){const i=g.useRef(null),[l,c]=g.useState(e??""),[u,d]=g.useState(t??null),[f,p]=g.useState(""),[h,m]=g.useState(""),[v,y]=g.useState(n??[]),[b,x]=g.useState({}),[S,k]=g.useState(""),{triggerExperiment:_}=Vi(),{data:C}=Gg(l),T=C?.requestContextSchema,E=!!(T&&Object.keys(T).length>0),N=l&&f&&h,I=_.isPending,A=H=>{c(H),d(null),x({})},R=()=>{c(e??""),d(t??null),p(""),m(""),y(n??[]),x({}),k("")},L=()=>{if(E){const H=Object.entries(b).filter(([,B])=>B!==void 0&&B!=="");return H.length>0?Object.fromEntries(H):void 0}if(S.trim()){let H;try{H=JSON.parse(S)}catch{throw new Error("Request Context must be valid JSON")}if(!H||typeof H!="object"||Array.isArray(H))throw new Error("Request Context must be a JSON object");return H}},D=async()=>{if(!N)return;let H;try{H=L()}catch(B){const z=B instanceof Error?B.message:"Request Context must be valid JSON";uu.error(z);return}try{const B=await _.mutateAsync({datasetId:l,targetType:f,targetId:h,scorerIds:v.length>0?v:void 0,version:u??void 0,requestContext:H});uu.success("Experiment triggered successfully"),s(!1),a?.(B.experimentId),R()}catch(B){const z=B instanceof Error?B.message:"Failed to trigger experiment";uu.error(z)}},F=()=>{I||(s(!1),R())};return o.jsx(vr,{open:r,onOpenChange:F,children:o.jsxs(yr,{ref:i,children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Run Experiment"}),o.jsx(As,{children:u!=null?`Execute items from version v${u} of the dataset against a target.`:"Execute dataset items against a target."})]}),o.jsxs($r,{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-6",children:[o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{children:"Dataset"}),o.jsx(igs,{value:l,onValueChange:A,container:i})]}),l&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Mt,{children:"Version"}),o.jsx(MVt,{datasetId:l,value:u,onValueChange:d,container:i})]})]}),o.jsx(Ygs,{targetType:f,setTargetType:p,targetId:h,setTargetId:m,container:i}),o.jsx(qVt,{selectedScorers:v,setSelectedScorers:y,disabled:I,container:i}),E?o.jsx(Kgs,{requestContextSchema:T,onChange:x}):o.jsxs("div",{className:"space-y-2",children:[o.jsx(Mt,{children:"Request Context (JSON, optional)"}),o.jsx(Wr,{value:S,onChange:k,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(rc,{className:"px-6 pt-4",children:[o.jsx(oe,{onClick:F,disabled:I,children:"Cancel"}),o.jsx(oe,{variant:"primary",onClick:D,disabled:!N||I,children:I?o.jsxs(o.Fragment,{children:[o.jsx(qt,{className:"h-4 w-4"}),"Running..."]}):"Run"})]})]})})}const HVt=g.createContext(null);function Xgs({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoadingResults:s,hasNextPage:a,children:i}){const l=Kr(),u=Cgt("/experiments/:experimentId/items/:itemId")?.params.itemId,d=g.useCallback(b=>{l(`/experiments/${e}/items/${encodeURIComponent(b)}`)},[l,e]),f=g.useCallback(()=>{l(`/experiments/${e}`)},[l,e]),p=g.useCallback(b=>{l(`/experiments/${e}?review=${encodeURIComponent(b)}`)},[l,e]),h=g.useMemo(()=>u?r.findIndex(b=>b.itemId===u):-1,[r,u]),m=g.useMemo(()=>{if(h<=0)return;const b=r[h-1].itemId;return()=>d(b)},[h,r,d]),v=g.useMemo(()=>{if(h<0||h>=r.length-1)return;const b=r[h+1].itemId;return()=>d(b)},[h,r,d]);FVt({active:!!u,onPrevious:m,onNext:v,onClose:f});const y=g.useMemo(()=>({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoadingResults:s,hasNextPage:a,currentItemId:u,openItem:d,close:f,openInReview:p,goToPreviousItem:m,goToNextItem:v}),[e,t,n,r,s,a,u,d,f,p,m,v]);return o.jsx(HVt.Provider,{value:y,children:i})}function WVt(){const e=g.useContext(HVt);if(!e)throw new Error("useExperimentItemPanel must be used within an ExperimentItemPanelProvider");return e}function Jgs({results:e,isLoading:t,featuredResultId:n,onResultClick:r,columns:s,scoresByItemId:a,scorerIds:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u,selectedIds:d,onToggleSelect:f}){const{Link:p,paths:h}=dn(),m=!!(d&&f),v=[m?"auto":"",...s.map(k=>k.size)].filter(Boolean).join(" "),y=s.some(k=>k.name==="input"),{containerRef:b,getRowProps:x}=So({count:e.length}),S=k=>i?.includes(k.name)?o.jsx(be.TopCell,{children:o.jsxs(p,{href:h.scorerLink(k.name),target:"_blank",rel:"noopener noreferrer",className:"flex min-w-0 items-center gap-1.5 hover:underline [&>svg]:size-3.5 [&>svg]:shrink-0",children:[o.jsx(TC,{}),o.jsx("span",{className:"min-w-0 truncate",children:k.label}),o.jsx(fs,{className:"text-neutral3"})]})},k.name):o.jsx(be.TopCell,{children:k.label},k.name);return t?o.jsx(Pl,{columns:v}):o.jsxs(be,{columns:v,className:"min-w-0",scrollRef:b,children:[o.jsxs(be.Top,{hasLeadingCell:m,children:[m&&o.jsx(be.TopCell,{children:" "}),m?o.jsx(be.TopCells,{colStart:2,children:s.map(S)}):s.map(S)]}),e.length===0?o.jsx(be.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map((k,_)=>{const C=!!k.error,T=k.id===n,E=o.jsxs(o.Fragment,{children:[o.jsxs(be.Cell,{className:"text-ui-smd text-neutral3 flex items-center gap-1.5 tracking-wide",children:[o.jsx("span",{children:k.itemId?.slice(0,8)??""}),C&&o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsx(mO,{role:"img","aria-label":"Error",className:"text-error size-3.5"})}),o.jsx(bn,{children:k.error?.message||"Error"})]})]}),y&&o.jsx(be.TextCell,{font:"mono",children:tvs(evs(k.input),200)}),i?.map(N=>{const A=a?.[k.itemId]?.find(R=>R.scorerId===N);return o.jsx(be.Cell,{className:"text-neutral3 text-ui-smd font-mono",children:A!=null?A.score.toFixed(3):"-"},N)})]});return m?o.jsxs(be.RowWrapper,{children:[o.jsx(be.SelectCell,{checked:d.has(k.id),onToggle:()=>f(k.id),"aria-label":`Select result ${k.itemId}`}),o.jsx(be.RowButton,{colStart:2,featured:T,"data-selected":T||void 0,onClick:()=>r(k.id),...x(_),children:E})]},k.id):o.jsx(be.RowButton,{featured:T,"data-selected":T||void 0,onClick:()=>r(k.id),...x(_),children:E},k.id)}),o.jsx(be.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function evs(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function tvs(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function nvs({scoresByItemId:e,experimentStatus:t}){const{Link:n,paths:r}=dn(),{data:s}=ah(),a=g.useMemo(()=>{if(!e)return[];const i={};for(const l of Object.values(e))for(const c of l)i[c.scorerId]||(i[c.scorerId]={sum:0,count:0}),i[c.scorerId].sum+=c.score,i[c.scorerId].count++;return Object.entries(i).map(([l,{sum:c,count:u}])=>({scorerId:l,avg:c/u})).sort((l,c)=>l.scorerId.localeCompare(c.scorerId))},[e]);if(a.length===0){const i=t==="running"||t==="pending",l=e!==void 0;let c,u;return i?(c="Experiment in progress",u="Summary metrics will appear here once the experiment completes."):l?(c="No scorers configured",u="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(c="Loading scores",u="Fetching scorer results…"),o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center gap-2",children:[o.jsx(lm,{className:"text-neutral3 size-4 shrink-0"}),o.jsx("span",{className:"text-neutral4",children:c}),o.jsx("span",{className:"truncate",children:u})]})}return o.jsx("div",{className:"flex items-stretch gap-2 overflow-x-auto pb-1",children:a.map(({scorerId:i,avg:l})=>{const c=s?.[i]?.scorer?.config?.name??i;return o.jsxs(Qr,{className:"w-52 min-w-0 flex-none p-3",children:[o.jsxs(n,{href:r.scorerLink(i),target:"_blank",rel:"noopener noreferrer",className:"text-ui-sm text-neutral3 [&>svg]:text-neutral3 flex min-w-0 items-center gap-1.5 hover:underline [&>svg]:size-3 [&>svg]:shrink-0",children:[o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsx(TC,{role:"img","aria-label":"Scorer"})}),o.jsx(bn,{children:"Scorer"})]}),o.jsx("span",{className:"truncate",children:c}),o.jsx(fs,{})]}),o.jsxs("strong",{className:"text-ui-lg text-neutral4 font-semibold",children:[l.toFixed(3),o.jsx("span",{className:"text-ui-sm text-neutral3 ml-1.5 font-normal",children:"avg score"})]})]},i)})})}function rvs({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const{currentItemId:c,openItem:u,close:d}=WVt(),[f,p]=g.useState(new Set),[h,m]=g.useState(!1),{updateExperimentResult:v}=Vi(),y=g.useCallback(B=>{p(z=>{const V=new Set(z);return V.has(B)?V.delete(B):V.add(B),V})},[]),b=g.useCallback(()=>p(new Set),[]),x=g.useCallback(async B=>{if(h||B.length===0)return;m(!0);let z=0;const V=new Set;try{for(const M of B)try{await v.mutateAsync({datasetId:t,experimentId:e,resultId:M,status:"needs-review"}),z++,V.add(M)}catch{}}finally{m(!1)}V.size>0&&p(M=>{const G=new Set(M);for(const U of V)G.delete(U);return G}),z>0&&Be(`${z} result${z>1?"s":""} flagged for review`)},[t,e,h,v]),S=g.useMemo(()=>c?r.find(B=>B.itemId===c)?.id??null:null,[r,c]),[k,_]=g.useState("results"),[C,T]=mi(),E=C.get("review"),N=c?"results":E?"reviews":k,I=B=>{_(B),B!=="results"&&c&&d(),B!=="reviews"&&E&&T(z=>{const V=new URLSearchParams(z);return V.delete("review"),V},{replace:!0})},{data:A}=WAe(t),R=(A??[]).filter(B=>B.experimentId===e).length,{data:L}=S_(e,n),D=g.useMemo(()=>{if(!L)return[];const B=new Set;for(const z of Object.values(L))for(const V of z)B.add(V.scorerId);return[...B].sort()},[L]),F=g.useCallback(B=>{const z=r.find(V=>V.id===B);z&&(z.itemId===c?d():u(z.itemId))},[r,c,d,u]),H=g.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...D.map(B=>({name:B,label:B,size:"12rem"}))],[D]);return o.jsxs(pc,{defaultTab:"results",value:N,onValueChange:I,className:"grid h-full grid-rows-[auto_1fr] overflow-visible",children:[o.jsxs(fc,{variant:"pill-ghost",children:[o.jsxs(Ir,{value:"results",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(Ej,{})}),o.jsx(ge,{variant:"ui-sm",className:"text-inherit",children:"Results"})]}),o.jsxs(Ir,{value:"reviews",className:"px-3 py-2.5",children:[o.jsx(Ve,{size:"sm",children:o.jsx(vO,{})}),o.jsx(ge,{variant:"ui-sm",className:"text-inherit",children:"Reviews"}),R>0&&o.jsx(St,{size:"xs",children:R})]})]}),o.jsx(cs,{value:"reviews",className:"h-full min-h-0 overflow-visible py-0",children:o.jsx(UVt,{datasetId:t,experimentId:e,featuredItemId:E,detailPanelVariant:"overlay"})}),o.jsxs(cs,{value:"results",className:K("grid gap-3 overflow-hidden pt-3",f.size>0?"grid-rows-[auto_auto_1fr]":"grid-rows-[auto_1fr]"),children:[o.jsx(nvs,{scoresByItemId:L,experimentStatus:n}),f.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsxs(oe,{variant:"outline",size:"sm",disabled:h,onClick:()=>x([...f]),children:[o.jsx(Ve,{size:"sm",children:o.jsx(vO,{})}),"Flag ",f.size," to review"]}),o.jsx(oe,{variant:"ghost",size:"sm",onClick:b,children:"Clear"})]}),o.jsx("div",{className:"min-h-0 overflow-y-auto",children:o.jsx(Jgs,{results:r,isLoading:s,featuredResultId:S,onResultClick:F,columns:H,scoresByItemId:L,scorerIds:D,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:f,onToggleSelect:y})})]})]})}const Get={pending:{icon:o.jsx(yO,{className:"text-warning1 size-4"}),label:"Pending"},running:{icon:o.jsx(qt,{size:"sm"}),label:"Running"},completed:{icon:o.jsx(gV,{className:"text-neutral3 size-4"}),label:"Completed"},failed:{icon:o.jsx(Oj,{className:"text-error size-4"}),label:"Failed"}};function svs({status:e,className:t}){const n=Get[e]??Get.pending;return o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsx("span",{tabIndex:0,className:K("flex shrink-0 items-center",t),children:n.icon})}),o.jsx(bn,{children:n.label})]})}const avs=e=>{const t=Ze();return yt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},select:xAe,enabled:!!e})},ivs={present:!1,output:null,metadata:null,comment:null,error:null,startedAt:null,completedAt:null,scores:[]},Qet=e=>e?e instanceof Date?e.toISOString():e:null,Yet=e=>{const t=new Map;for(const n of e??[])t.set(n.itemId,n);return t},Ket=(e,t,n)=>{if(!e)return ivs;const r=new Map;for(const s of n??[])r.set(s.scorerId,s.reason??null);return{present:!0,output:e.output,metadata:t?.metadata??null,comment:t?.comment??null,error:t?.error??null,startedAt:Qet(t?.startedAt),completedAt:Qet(t?.completedAt),scores:Object.entries(e.scores).map(([s,a])=>({scorerId:s,value:a,reason:r.get(s)??null})).sort((s,a)=>s.scorerId.localeCompare(a.scorerId))}},ovs=({comparison:e,baselineId:t,contenderId:n,baselineResults:r,contenderResults:s,baselineScores:a,contenderScores:i})=>{if(!e)return[];const l=Yet(r),c=Yet(s);return e.items.map(u=>{const d=Ket(u.results[t],l.get(u.itemId),a?.[u.itemId]),f=Ket(u.results[n],c.get(u.itemId),i?.[u.itemId]),p={};for(const h of new Set([...d.scores,...f.scores].map(m=>m.scorerId))){const m=d.scores.find(y=>y.scorerId===h)?.value??null,v=f.scores.find(y=>y.scorerId===h)?.value??null;p[h]=m!=null&&v!=null?v-m:null}return{itemId:u.itemId,input:u.input,groundTruth:u.groundTruth,baseline:d,contender:f,deltas:p}})};function Tk({title:e,actions:t,tone:n="default",defaultOpen:r=!0,children:s}){return o.jsxs(Pc,{defaultOpen:r,className:"grid gap-2",children:[o.jsxs("div",{className:"flex min-h-6 items-center justify-between gap-2",children:[o.jsxs(sc,{className:K("text-ui-md flex items-center gap-1.5 font-semibold [&>svg]:size-4",n==="negative"?"text-negative1":"text-neutral5"),children:[o.jsx(Qs,{}),e]}),t]}),o.jsx(ac,{role:"region","aria-label":e,children:s})]})}function Xet({label:e,value:t}){return t==null?null:o.jsx(Tk,{title:e,defaultOpen:!1,children:o.jsx("pre",{className:"text-ui-sm text-neutral4 bg-surface3 max-h-40 overflow-auto rounded-md p-3 whitespace-pre-wrap",children:typeof t=="string"?t:JSON.stringify(t,null,2)})})}function ZVt({delta:e}){const t=e>0?"text-positive1":e<0?"text-negative1":"text-neutral3";return o.jsxs("span",{className:K("inline-flex min-w-20 items-center gap-1 font-mono text-sm",t),children:[o.jsx("span",{className:"inline-block w-3",children:e>0?"+":e<0?"-":""}),Math.abs(e).toFixed(2),e>0?o.jsx(sQt,{className:"size-3.5"}):e<0?o.jsx(XGt,{className:"size-3.5"}):null]})}function GVt({scorerId:e,value:t,delta:n,reason:r}){const{Link:s,paths:a}=dn();return o.jsxs("div",{className:"bg-surface2 grid gap-1 rounded-lg px-3 py-2",children:[o.jsxs("div",{className:"flex items-center justify-between gap-4",children:[o.jsxs(s,{href:a.scorerLink(e),target:"_blank",rel:"noopener noreferrer","aria-label":`Open ${e}`,className:"text-neutral5 flex min-w-0 items-center gap-1.5 text-sm font-medium hover:underline [&>svg]:size-3.5 [&>svg]:shrink-0",children:[o.jsx(TC,{}),o.jsx("span",{className:"min-w-0 truncate",children:e}),o.jsx(fs,{})]}),o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsx("span",{className:"text-neutral3 font-mono text-sm",children:t!=null?t.toFixed(2):"-"}),n!=null&&o.jsx(ZVt,{delta:n})]})]}),r&&o.jsx("p",{className:"text-neutral3 text-sm",children:r})]})}function Jet(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function lvs(e){if(!e.startedAt||!e.completedAt)return null;const t=new Date(e.completedAt).getTime()-new Date(e.startedAt).getTime();return Number.isFinite(t)?`${(t/1e3).toFixed(2)}s`:null}const cvs="border-border1 bg-surface3 text-ui-md text-neutral4 max-h-[30vh] overflow-y-auto rounded-xl border p-4 font-mono break-all whitespace-pre-wrap dark:border-white/10 dark:bg-black/20";function ett({side:e,row:t,showDeltas:n,isLoading:r}){const s=t[e],a=lvs(s);if(r)return o.jsx("div",{className:"flex h-32 items-center justify-center",children:o.jsx(qt,{})});if(!s.present)return o.jsx("p",{className:"text-neutral3 py-8 text-center text-sm",children:"Not present in this experiment"});const i=Jet(s.output);return o.jsxs("div",{className:"grid content-start gap-5",children:[a&&o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsxs("p",{className:"text-neutral3 flex items-center justify-end gap-1.5 text-sm [&>svg]:size-3.5",children:[o.jsx(yO,{}),a]})}),o.jsx(bn,{children:"Run duration"})]}),s.error?o.jsx(Tk,{title:"Error",tone:"negative",actions:o.jsx(Sa,{content:s.error.message}),children:o.jsx("p",{className:"border-negative1/40 bg-negative1/5 text-ui-md text-neutral4 rounded-xl border p-4 break-words",children:s.error.message})}):o.jsx(Tk,{title:"Output",actions:o.jsx(Sa,{content:i}),children:o.jsx("pre",{className:cvs,children:i})}),s.scores.length>0&&o.jsx(Tk,{title:"Scores",children:o.jsx("div",{className:"grid gap-2",children:s.scores.map(l=>o.jsx(GVt,{scorerId:l.scorerId,value:l.value,delta:n?t.deltas[l.scorerId]:null,reason:l.reason},l.scorerId))})}),s.comment&&o.jsx(Tk,{title:"Comment",defaultOpen:!1,children:o.jsx("p",{className:"text-neutral3 text-sm",children:s.comment})}),s.metadata&&Object.keys(s.metadata).length>0&&o.jsx(Tk,{title:"Metadata",defaultOpen:!1,children:o.jsx("dl",{className:"grid gap-1",children:Object.entries(s.metadata).map(([l,c])=>o.jsxs("div",{className:"flex items-start justify-between gap-4 text-sm",children:[o.jsx("dt",{className:"text-neutral3",children:l}),o.jsx("dd",{className:"text-neutral5 font-mono break-all",children:Jet(c)})]},l))})})]})}const uvs={baseline:"Baseline",contender:"Contender"},dvs={baseline:"purple",contender:"blue"},fvs="flex min-w-0 items-center gap-1.5 hover:underline [&>svg]:size-3.5 [&>svg]:shrink-0";function ttt({side:e,experiment:t,summary:n,showDeltas:r,versionMismatch:s}){const{Link:a,paths:i}=dn(),l=uvs[e],c=t?dS(t.id)??t.id:null,u=t?.createdAt?new Date(t.createdAt):null,d=n??[];return o.jsxs("div",{className:"grid content-start gap-3",children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(St,{variant:dvs[e],size:"xs",children:l}),t&&o.jsxs(oe,{as:a,size:"xs",href:`/experiments/${t.id}`,target:"_blank",rel:"noopener noreferrer","aria-label":`Open experiment ${t.name||c}`,children:[o.jsx("span",{className:"min-w-0 truncate",children:t.name||c}),o.jsx(fs,{})]})]}),t&&o.jsxs("div",{className:"text-ui-sm text-neutral3 flex flex-wrap gap-x-4 gap-y-1",children:[t.name&&o.jsxs(Nl,{children:[o.jsx(gKt,{})," ",c]}),t.targetType==="agent"&&t.targetId?o.jsxs(a,{href:i.agentLink(t.targetId),target:"_blank",rel:"noopener noreferrer",className:fvs,children:[o.jsx(qi,{}),o.jsx("span",{className:"min-w-0 truncate",children:t.targetId}),o.jsx(fs,{})]}):o.jsxs(Nl,{children:[o.jsx(uct,{})," ",t.targetId]}),o.jsx("span",{className:K(s&&"text-accent6"),children:o.jsxs(Nl,{children:[o.jsx(wV,{})," v",t.datasetVersion??"—",s&&" · different dataset version"]})}),u&&o.jsxs(Nl,{children:[o.jsx(Wlt,{})," ",hr(u,"MMM d, yyyy HH:mm")]})]}),d.length>0&&o.jsx(Tk,{title:"Overall score",children:o.jsx("div",{className:"grid gap-2",children:d.map(({scorerId:f,average:p,delta:h})=>o.jsx(GVt,{scorerId:f,value:p,delta:r?h:null},f))})})]})}const FE="min-w-0 px-4 py-3";function pvs({datasetId:e,experimentIdA:t,experimentIdB:n}){const{Link:r,paths:s}=dn(),{data:a,isLoading:i,error:l}=fms(e,t,n),{data:c}=Rxe(e,t),{data:u}=Rxe(e,n),d=c&&u&&c.datasetVersion!==u.datasetVersion,f=a?.baselineId??t,p=t===f?n:t,h=c?.id===f?c:u,m=c?.id===p?c:u,{data:v,isLoading:y}=DD({datasetId:e,experimentId:f,experimentStatus:h?.status}),{data:b,isLoading:x}=DD({datasetId:e,experimentId:p,experimentStatus:m?.status}),{data:S}=S_(f,h?.status),{data:k}=S_(p,m?.status),_=g.useMemo(()=>ovs({comparison:a,baselineId:f,contenderId:p,baselineResults:v,contenderResults:b,baselineScores:S,contenderScores:k}),[a,f,p,v,b,S,k]),C=g.useMemo(()=>[...new Set(_.flatMap(E=>Object.keys(E.deltas)))].sort(),[_]),T=g.useMemo(()=>{const E=(A,R)=>{const L=_.map(D=>D[A].scores.find(F=>F.scorerId===R)?.value).filter(D=>D!=null);return L.length>0?L.reduce((D,F)=>D+F,0)/L.length:null},N=C.map(A=>({scorerId:A,average:E("baseline",A),delta:null})),I=C.map(A=>{const R=E("baseline",A),L=E("contender",A);return{scorerId:A,average:L,delta:R!=null&&L!=null?L-R:null}});return{baseline:N,contender:I}},[_,C]);return i?o.jsx("div",{className:"flex h-64 items-center justify-center",children:o.jsx(qt,{})}):l?o.jsx(Zn,{variant:"warning",title:"Error loading comparison",children:o.jsx(Zn.Message,{children:l instanceof Error?l.message:"Unknown error"})}):!a||a.items.length===0?o.jsx("div",{className:"text-neutral4 py-8 text-center text-sm",children:"No comparison data"}):o.jsx("div",{className:"grid gap-4",children:o.jsxs("div",{role:"table","aria-label":"Experiments comparison",className:"grid",children:[o.jsxs("div",{role:"row",className:"border-border1 grid border-y xl:grid-cols-[minmax(20rem,24rem)_1fr_1fr] xl:divide-x xl:divide-[var(--border1)]",children:[o.jsx("div",{role:"columnheader","aria-label":"Items",className:`${FE} text-neutral3 text-ui-sm uppercase`,children:"Items"}),o.jsx("div",{role:"columnheader","aria-label":"Baseline",className:FE,children:o.jsx(ttt,{side:"baseline",experiment:h,summary:T.baseline,versionMismatch:d})}),o.jsx("div",{role:"columnheader","aria-label":"Contender",className:FE,children:o.jsx(ttt,{side:"contender",experiment:m,summary:T.contender,versionMismatch:d,showDeltas:!0})})]}),_.map(E=>{const N=Object.entries(E.deltas).filter(([,I])=>I!=null&&I!==0);return o.jsxs("div",{role:"row","aria-label":E.itemId,className:"border-border1 grid border-b xl:grid-cols-[minmax(20rem,24rem)_1fr_1fr] xl:divide-x xl:divide-[var(--border1)]",children:[o.jsxs("div",{role:"cell",className:`${FE} grid content-start gap-1`,children:[o.jsxs(r,{href:s.datasetItemLink(e,E.itemId),target:"_blank",rel:"noopener noreferrer","aria-label":`Open item ${E.itemId}`,className:K("text-ui-sm flex items-start gap-1.5 font-mono break-all hover:underline [&>svg]:mt-0.5 [&>svg]:size-3.5 [&>svg]:shrink-0",E.baseline.present&&E.contender.present?"text-neutral4":"text-neutral1"),children:[o.jsx("span",{className:"min-w-0",children:E.itemId}),o.jsx(fs,{})]}),N.length>0&&o.jsx("span",{className:"flex flex-wrap items-center gap-2",children:N.map(([I,A])=>o.jsx(ZVt,{delta:A},I))}),o.jsxs("div",{className:"grid pt-3",children:[o.jsx(Xet,{label:"Input",value:E.input}),o.jsx(Xet,{label:"Ground truth",value:E.groundTruth})]})]}),o.jsx("div",{role:"cell","aria-label":"Baseline",className:FE,children:o.jsx(ett,{side:"baseline",row:E,isLoading:y})}),o.jsx("div",{role:"cell","aria-label":"Contender",className:FE,children:o.jsx(ett,{side:"contender",row:E,isLoading:x,showDeltas:!0})})]},E.itemId)})]})})}function QVt({children:e,className:t}){return o.jsx("div",{className:K("",t),children:e})}function hvs({date:e,className:t,withTime:n=!1}){const r=e?_xt(new Date(e)):!1,s=e?P3(new Date(e))?"Today":hr(new Date(e),"MMM dd"):"",a=e&&!r?hr(new Date(e),"yyyy"):"",i=e&&n?`${hr(new Date(e),"'at' h:mm aaa")}`:"";return o.jsxs("div",{className:K("truncate text-ui-md text-neutral2",t),children:[s," ",a," ",i]})}function YAe(e){return!e||e.length===0?"":e?.map(t=>t.size).join(" ")}function mvs({columns:e,isSelectionActive:t,children:n}){return o.jsx("div",{className:K("sticky top-0 z-10 mb-4 rounded-lg bg-surface3 px-4"),children:o.jsx("div",{className:K("grid items-center gap-4 text-left text-ui-xs tracking-widest text-neutral3 uppercase",{"pl-12 [&>label]:absolute [&>label]:left-0":t}),style:{gridTemplateColumns:YAe(e)},children:n})})}function gvs({children:e,className:t}){return o.jsx("span",{className:K("py-3",t),children:e})}function vvs({id:e,className:t,isShortened:n=!0}){const r=n?e.slice(0,8):e;return o.jsx("div",{className:K("truncate py-[0.6rem] text-ui-md text-neutral2",t),children:r})}function yvs({children:e}){return o.jsx("ul",{className:"grid content-start",children:e})}function bvs({children:e}){const t=g.useRef(null);return o.jsx("div",{ref:t,className:K("overflow-y-auto"),children:e})}function xvs({children:e,className:t}){return o.jsx("label",{className:K("flex h-full w-14 items-center justify-center rounded-lg hover:bg-surface5",t),children:e})}function wvs({children:e,href:t,className:n,LinkComponent:r,tooltip:s}){const a=o.jsx(r,{href:t,className:K("flex w-full items-center justify-center gap-6 rounded-lg px-3 py-[0.6rem] text-left","hover:bg-surface4",Zr.colors,T3.visible,n),children:e});return s==null?a:o.jsxs(Sn,{children:[o.jsx(yn,{render:a}),o.jsx(bn,{children:s})]})}function Svs({children:e,message:t,className:n,type:r}){return!e&&!t?null:o.jsx("div",{className:K("grid border-t border-border1",n),children:t?o.jsxs("p",{className:K("grid justify-center justify-items-center gap-2 p-8 text-center text-ui-md text-neutral3","[&>svg]:size-[1.5em] [&>svg]:opacity-75",{"[&>svg]:text-red-500":r==="error"}),children:[r==="error"?o.jsx(_3,{}):o.jsx(nSe,{})," ",t]}):e})}function kvs({isLoading:e,hasMore:t,setEndOfListElement:n,loadingText:r="Loading more data...",noMoreDataText:s="No more data to load"}){return n?o.jsxs("div",{ref:n,className:"text-ui-md text-neutral3 mt-8 flex justify-center opacity-50",children:[e&&r,!t&&!e&&s]}):null}function Ovs({currentPage:e,hasMore:t,onNextPage:n,onPrevPage:r}){const s=typeof e=="number"&&e>0||t;return o.jsxs("div",{className:K("flex items-center justify-center gap-8 pt-6 text-ui-md text-neutral3"),children:[o.jsxs("span",{children:["Page ",o.jsx("b",{children:e?e+1:"1"})]}),s&&o.jsxs("div",{className:K("flex gap-4","[&>button]:flex [&>button]:items-center [&>button]:gap-2 [&>button]:rounded-md [&>button]:border [&>button]:border-border1 [&>button]:p-1 [&>button]:px-2 [&>button]:text-neutral4 [&>button]:transition-colors [&>button:hover]:text-neutral5","[&_svg]:size-[1em] [&_svg]:text-neutral3"),children:[typeof e=="number"&&e>0&&o.jsxs("button",{onClick:r,children:[o.jsx(SH,{}),"Previous"]}),t&&o.jsxs("button",{onClick:n,children:["Next",o.jsx(B7,{})]})]})]})}function _vs({children:e,className:t}){return o.jsx("div",{className:K("grid grid-rows-[auto_1fr] overflow-y-auto",t),children:e})}function Cvs({isSelected:e,children:t,columns:n}){return o.jsx("li",{className:K("flex overflow-hidden rounded-lg border border-transparent border-t-border1 py-[3px] pb-[2px] text-ui-md text-neutral5 first:border-t-transparent","[&:last-child>button]:rounded-b-lg","[&.selected-row]:border [&.selected-row]:border-dashed [&.selected-row]:border-white/50 [&.selected-row]:pr-[3px] [&.selected-row]:first:border-t","[&:has(+.selected-row)]:rounded-b-none [&:has(+.selected-row)]:border-b-transparent","[.selected-row+&]:rounded-t-none",Zr.colors,{"selected-row":e,"grid px-4 gap-4 ":n}),style:{gridTemplateColumns:YAe(n)},children:t})}function Evs({item:e,isFeatured:t,onClick:n,children:r,columns:s,className:a,disabled:i,tooltip:l,...c}){const u=()=>{n?.(e?.id)},d=o.jsx("button",{...c,onClick:u,className:K("grid w-full items-center gap-4 rounded-lg px-4 text-left",Zr.colors,T3.visible,{"bg-surface4":t,"hover:bg-surface4":e&&!t&&!i},a),style:{gridTemplateColumns:YAe(s)},disabled:i,children:r});return l==null?d:o.jsxs(Sn,{children:[o.jsx(yn,{render:d}),o.jsx(bn,{children:l})]})}function Tvs(e){return e.charAt(0).toUpperCase()+e.slice(1)}function jvs({status:e}){return e?o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx("div",{className:K("relative flex h-full w-10 items-center justify-center bg-transparent"),children:o.jsx("div",{className:K("size-2 rounded-full",{"bg-green-600":["success","completed"].includes(e),"bg-red-700":["error","failed"].includes(e),"bg-yellow-500":["pending","running"].includes(e)})})})}),o.jsx(bn,{children:Tvs(e)})]}):null}function Nvs({children:e,isLoading:t,className:n}){return o.jsx("div",{className:K("truncate py-[0.6rem] text-ui-md text-neutral4",n),children:t?o.jsx("div",{className:"bg-surface4 h-4 animate-pulse rounded-md text-transparent select-none"}):e})}const pV={latest:"Latest version",deleted:"Deleted in this version"};function Ivs({isLatest:e,isDeleted:t}){const n=[];return e&&n.push(pV.latest),t&&n.push(pV.deleted),n.length>0?n.join(" · "):void 0}function Avs({version:e,date:t,isLatest:n,isDeleted:r}){return o.jsxs(QVt,{className:K("grid grid-cols-[1fr_auto] pl-1"),children:[o.jsxs("div",{className:K("grid gap-1 leading-none text-neutral3",{"text-neutral4":n}),children:[o.jsxs("strong",{className:"font-normal",children:["v. ",e]}),o.jsx("em",{className:K("text-ui-sm","font-normal","text-neutral2"),children:t?hr(new Date(t),"MMM d, yyyy HH:mm"):null})]}),(n||r)&&o.jsxs("div",{className:"flex items-center gap-1",children:[n&&o.jsx("span",{className:"inline-flex",role:"img","aria-label":pV.latest,children:o.jsx(St,{variant:"blue",size:"sm",icon:o.jsx(cAn,{})})}),r&&o.jsx("span",{className:"inline-flex",role:"img","aria-label":pV.deleted,children:o.jsx(St,{variant:"red",size:"sm",icon:o.jsx(kyt,{})})})]})]})}const ci=Object.assign(_vs,{Header:mvs,HeaderCol:gvs,Items:yvs,Scroller:bvs,Row:Cvs,RowButton:Evs,Message:Svs,NextPageLoading:kvs,Pagination:Ovs,Cell:QVt,TextCell:Nvs,StatusCell:jvs,VersionCell:Avs,IdCell:vvs,DateCell:hvs,LinkCell:wvs,LabelCell:xvs});function Rvs({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=VAe(e,t),[l,c]=g.useState(!1),[u,d]=g.useState(new Set),f=b=>{n?.(b)},p=b=>s==null?b.isLatest:b.datasetVersion===s,h=b=>{d(x=>{const S=new Set(x);if(S.has(b))S.delete(b);else if(S.size>=2){const[k]=Array.from(S);return new Set([k,b])}else S.add(b);return S})},m=()=>{c(!1),d(new Set)},v=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(Xs,{className:"min-w-56",children:[l?o.jsx(Xs.Toolbar,{className:"grid w-full justify-stretch gap-3",children:o.jsxs(ds,{children:[o.jsx(oe,{onClick:m,children:"Cancel"}),o.jsx(oe,{variant:"primary",disabled:u.size!==2,onClick:y,tooltip:u.size!==2?"Check 2 versions to compare":void 0,className:"grow",children:"Compare"})]})}):o.jsx(o.Fragment,{children:(a||[]).length>1&&o.jsx(Xs.Toolbar,{children:o.jsxs(oe,{onClick:v,className:"w-full",children:[o.jsx(Cj,{})," Compare Ver."]})})}),i?o.jsx(Pvs,{}):o.jsxs(ci,{children:[o.jsx(ci.Header,{children:o.jsx(ci.HeaderCol,{children:"Item Version History"})}),o.jsx(ci.Scroller,{children:o.jsx(ci.Items,{children:a?.map(b=>{const x=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(ci.Row,{isSelected:l&&u.has(x),children:[l&&o.jsx(ci.LabelCell,{children:o.jsx(ko,{checked:u.has(x),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(x)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(ci.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",tooltip:Ivs({isLatest:b.isLatest,isDeleted:b.isDeleted}),children:o.jsx(ci.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function Pvs(){return o.jsxs(ci,{children:[o.jsx(ci.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(ci.HeaderCol,{children:"Item Version History"})}),o.jsx(ci.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(ci.Row,{children:o.jsx(ci.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(ci.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function $vs(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${hr(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function Mvs({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=cAe(e),a=(s??[]).map(i=>({value:String(i.version),label:`${$vs(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(Xs.Toolbar,{className:"grid w-full grid-cols-[1fr_1fr_1fr_10rem] gap-4",children:[o.jsx("div",{}),o.jsx(jc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(jc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const Dvs=[{name:"id",label:"ID",size:"1fr"},{name:"versionA",label:"Version A",size:"1fr"},{name:"versionB",label:"Version B",size:"1fr"},{name:"compare",label:"Compare",size:"10rem"}],_9={added:{badgeVariant:"blue",borderColor:"border-blue-900",icon:o.jsx(Br,{}),tooltip:"Added in this version"},changed:{badgeVariant:"yellow",borderColor:"border-yellow-900",icon:o.jsx(CXt,{}),tooltip:"Changed in this version"},same:{badgeVariant:"green",borderColor:"border-green-900",icon:o.jsx(CYt,{}),tooltip:"Same in both versions"}};function Nie({red:e=!1,tooltip:t}){return o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsx("span",{}),role:"img",tabIndex:0,"aria-label":t,className:"focus-visible:outline-neutral5/55 rounded focus-visible:outline-1 focus-visible:outline-offset-2 focus-visible:outline-solid",children:o.jsx(dQt,{className:K("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),o.jsx(bn,{children:t})]})}function Iie({variant:e,version:t}){if(!e)return o.jsxs("span",{className:"text-ui-md text-neutral4",children:["v. ",t]});const{badgeVariant:n,icon:r,tooltip:s}=_9[e];return o.jsxs("div",{className:"grid grid-cols-[1fr_auto]",children:[t!==void 0&&o.jsxs("span",{className:"text-ui-md text-neutral4 flex min-w-16 justify-end pr-3",children:["v. ",t]}),o.jsx("span",{className:"inline-flex",role:"img","aria-label":s,children:o.jsx(St,{variant:n,size:"xs",icon:r})})]})}function Lvs(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function ntt({otherVersionExists:e,status:t,isNewer:n}){if(!e&&n)return"added";if(t==="changed"&&n)return"changed"}function Fvs({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=dn(),l=t>n;return o.jsx(ci,{children:o.jsx(ci.Scroller,{children:o.jsx(ci.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=Lvs(u,d),p=ntt({otherVersionExists:d!==void 0,status:f,isNewer:l}),h=ntt({otherVersionExists:u!==void 0,status:f,isNewer:!l});return o.jsxs(ci.Row,{columns:Dvs,children:[o.jsx(ci.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(ci.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",tooltip:p?_9[p].tooltip:void 0,children:o.jsx(Iie,{variant:p,version:u.datasetVersion})}):o.jsx(ci.Cell,{className:"flex items-center justify-center",children:o.jsx(Nie,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(ci.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",tooltip:h?_9[h].tooltip:void 0,children:o.jsx(Iie,{variant:h,version:d.datasetVersion})}):o.jsx(ci.Cell,{className:"flex items-center justify-center",children:o.jsx(Nie,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(ci.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",tooltip:_9.same.tooltip,children:o.jsx(Iie,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(ci.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(ci.Cell,{children:o.jsx(Nie,{tooltip:"Comparing is available only for changed items"})})]},c)})})})})}const rtt={needsReview:"#facc15",complete:"#22c55e"},zvs=[{label:"Needs Review",color:rtt.needsReview},{label:"Reviewed",color:rtt.complete}];function Bvs({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=g.useMemo(()=>{if(!e?.counts||!t)return{data:[],maxVal:0,totalInPipeline:0};const u=new Map;for(const m of t)u.set(m.id,m);const d=new Map;if(n)for(const m of n)d.set(m.id,m.name);let f=0,p=0;const h=[];for(const m of e.counts){const v=m.needsReview+m.complete;if(v===0)continue;p+=v,v>f&&(f=v);const y=u.get(m.experimentId),b=y?.datasetId?d.get(y.datasetId):void 0,x=b?`${b} · ${m.experimentId.slice(0,8)}`:m.experimentId.slice(0,8);h.push({name:x,values:[m.needsReview,m.complete]})}return{data:h,maxVal:f,totalInPipeline:p}},[e,t,n]),c=a.length>0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Ut.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Ut.Loading,{}):s?o.jsx(Ut.Error,{message:"Failed to load review data"}):o.jsx(Ut.Content,{children:c?o.jsx(ZN,{data:a,segments:zvs,maxVal:i,fmt:u=>String(u)}):o.jsx(Ut.NoData,{message:"No items have been sent to review yet"})})]})}function KAe(){const e=Ze();return yt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function YVt(e){const t=new Map;if(!e?.counts)return t;for(const n of e.counts)t.set(n.experimentId,{needsReview:n.needsReview,complete:n.complete,total:n.total});return t}function Uvs(e,t){const n=new Map,r=YVt(e);if(!r.size||!t)return n;for(const s of t){const a=r.get(s.id);if(!a||!s.datasetId||a.needsReview+a.complete===0)continue;const l=n.get(s.datasetId)??{needsReview:0,complete:0};l.needsReview+=a.needsReview,l.complete+=a.complete,n.set(s.datasetId,l)}return n}function qvs(e){return e?.counts?e.counts.reduce((t,n)=>({needsReview:t.needsReview+n.needsReview,complete:t.complete+n.complete,inPipeline:t.inPipeline+n.needsReview+n.complete}),{needsReview:0,complete:0,inPipeline:0}):{needsReview:0,complete:0,inPipeline:0}}const Vvs=10;function Hvs(){const e=Kr(),[t,n]=g.useState(""),[r,s]=g.useState("all"),[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(0),{data:f,isLoading:p,error:h}=jm({page:u,perPage:Vvs}),{data:m,isLoading:v,error:y}=WQ(),{data:b}=KAe(),x=g.useMemo(()=>f?.datasets??[],[f?.datasets]),S=f?.pagination?.hasMore??!1,k=g.useMemo(()=>m?.experiments??[],[m?.experiments]),_=g.useMemo(()=>Ims(x),[x]),C=g.useMemo(()=>Uvs(b,k),[b,k]),T=p||v,E=h||y,N=()=>{e("/datasets/new")},I=g.useCallback(()=>d(z=>z+1),[]),A=g.useCallback(()=>d(z=>Math.max(0,z-1)),[]),R=g.useCallback(z=>{n(z),d(0)},[]),L=g.useCallback(z=>{s(z),d(0)},[]),D=g.useCallback(z=>{i(z),d(0)},[]),F=g.useCallback(z=>{c(z),d(0)},[]);if(E&&xs(E))return o.jsx(or,{children:o.jsx(Hs,{})});if(E&&ws(E))return o.jsx(or,{children:o.jsx(Ds,{resource:"datasets"})});if(E)return o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load datasets",message:E.message})});if(x.length===0&&!T&&u===0)return o.jsx(or,{children:o.jsx(Dms,{onCreateClick:N})});const H=r!=="all"||a!=="all"||l!=="all"||t!=="",B=()=>{n(""),s("all"),i("all"),c("all"),d(0)};return o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx(zms,{search:t,onSearchChange:R,targetFilter:r,onTargetFilterChange:L,experimentFilter:a,onExperimentFilterChange:D,tagFilter:l,onTagFilterChange:F,tagOptions:_,onReset:B,hasActiveFilters:H,onCreateClick:N})}),o.jsx(Mms,{datasets:x,experiments:k,reviewByDataset:C,isLoading:T,search:t,targetFilter:r,experimentFilter:a,tagFilter:l,currentPage:u,hasMore:S,onNextPage:I,onPrevPage:A})]})}function Hz({children:e}){return o.jsxs(Ht,{height:"full",children:[o.jsx("div",{}),o.jsx(Ht.MainArea,{isCentered:!0,children:e})]})}function Wvs(){const{datasetId:e}=mr(),t=Kr(),[n,r]=mi(),{activeVersion:s,handleVersionChange:a}=HAe(n,r),[i,l]=g.useState(!1),[c,u]=g.useState(!1),[d,f]=g.useState(!1),[p,h]=g.useState(!1),{data:m,error:v,isLoading:y}=Gg(e),{data:b=[],isLoading:x}=Gx(e,void 0,s),S=!x&&b.length===0;if(y)return null;if(v&&xs(v))return o.jsx(Hz,{children:o.jsx(Hs,{})});if(v&&ws(v))return o.jsx(Hz,{children:o.jsx(Ds,{resource:"datasets"})});if(v&&T$t(v)||!y&&!v&&!m)return o.jsx(Hz,{children:o.jsx(Cr,{iconSlot:o.jsx(om,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(oe,{as:Si,to:"/datasets",children:[o.jsx(wu,{}),"Back to Datasets"]})})});if(v)return o.jsx(Hz,{children:o.jsx(Ui,{title:"Failed to load dataset",message:v instanceof Error?v.message:"An unexpected error occurred. Please try again."})});const k=C=>{t(`/experiments/${C}`)},_=()=>{t("/datasets")};return o.jsxs(Bgs,{datasetId:e,items:b,isLoadingItems:x,children:[o.jsxs("div",{className:"relative h-full overflow-hidden",children:[o.jsx(Ht,{height:"full",className:"grid-rows-[1fr] p-0",children:o.jsx(Ht.MainArea,{children:o.jsx(Vgs,{datasetId:e,onAddItemClick:()=>u(!0),rightSlot:o.jsxs(ds,{children:[o.jsx("span",{className:"text-ui-sm text-neutral3 mr-3 whitespace-nowrap",children:m?.createdAt?`Created ${hr(new Date(m.createdAt),"MMM d")}`:""}),o.jsx(MVt,{datasetId:e,value:s,onValueChange:a,currentVersion:m?.version,className:"w-36"}),S?o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx("span",{className:"cursor-not-allowed",children:o.jsx("div",{className:"pointer-events-none opacity-50",inert:!0,"aria-disabled":"true",children:o.jsxs(oe,{variant:"primary",children:[o.jsx(hu,{}),"Run Experiment"]})})})}),o.jsx(bn,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(oe,{variant:"primary",onClick:()=>l(!0),children:[o.jsx(hu,{}),"Run Experiment"]}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsx(oe,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx(HD,{})})}),o.jsxs(it.Content,{align:"end",className:"w-48",children:[o.jsxs(it.Item,{onSelect:()=>{t(`/datasets/${e}/edit`)},children:[o.jsx(cm,{})," Edit Dataset"]}),o.jsxs(it.Item,{onSelect:()=>h(!0),children:[o.jsx(im,{})," Duplicate Dataset"]}),o.jsxs(it.Item,{onSelect:()=>f(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(nd,{})," Delete Dataset"]})]})]})]})})})}),o.jsx(Mg,{})]}),o.jsx(QAe,{initialDatasetId:e,initialDatasetVersion:s??void 0,open:i,onOpenChange:l,onSuccess:k},`${e}:${s??"latest"}`),o.jsx(Wgs,{datasetId:e,open:c,onOpenChange:u}),m&&o.jsx(tgs,{open:p,onOpenChange:h,sourceDatasetId:m.id,sourceDatasetName:m.name,sourceDatasetDescription:m.description,sourceDatasetTargetType:m.targetType}),m&&o.jsx(ags,{open:d,onOpenChange:f,datasetId:m.id,datasetName:m.name,onSuccess:_})]})}function Aie({children:e}){return o.jsxs(Ht,{height:"full",children:[o.jsx("div",{}),o.jsx(Ht.MainArea,{isCentered:!0,children:e})]})}function Zvs(){const{datasetId:e}=mr(),t=Kr(),{data:n,error:r,isLoading:s}=Gg(e),a=()=>{t(`/datasets/${e}`)};return s?null:r&&xs(r)?o.jsx(Aie,{children:o.jsx(Hs,{})}):r&&ws(r)?o.jsx(Aie,{children:o.jsx(Ds,{resource:"datasets"})}):r||!n?o.jsx(Aie,{children:o.jsx(Ui,{title:"Failed to load dataset",message:r instanceof Error?r.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Ht,{height:"full",children:[o.jsx("div",{}),o.jsx(Ht.MainArea,{isCentered:!0,children:o.jsxs("div",{className:"w-full max-w-2xl overflow-y-auto px-6 py-8",children:[o.jsx(Ia,{className:"mb-6 p-0",children:o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{children:[o.jsx(om,{})," Edit dataset"]}),o.jsx(Ia.Description,{children:n.name})]})}),o.jsx(Zu,{className:"p-6",children:o.jsx(sgs,{dataset:{id:n.id,name:n.name,description:n.description||"",targetType:n.targetType,inputSchema:n.inputSchema,groundTruthSchema:n.groundTruthSchema,requestContextSchema:n.requestContextSchema},onSuccess:a,onCancel:a})})]})})]})}function stt({experimentId:e}){return o.jsxs(oe,{as:Si,to:`/experiments/${e}`,target:"_blank",rel:"noopener noreferrer",size:"sm","aria-label":`Open experiment ${e}`,children:[e.slice(0,8),o.jsx(fs,{})]})}function Gvs(){const{datasetId:e}=mr(),[t,n]=mi(),{error:r}=Gg(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&xs(r)?o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Hs,{})})}):r&&ws(r)?o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||!s||!a?o.jsx(ks,{children:o.jsx(Wx,{children:o.jsxs("div",{className:"text-neutral4 py-8 text-center",children:[o.jsx("p",{children:"Select two experiments to compare."}),o.jsxs("p",{className:"mt-2 text-sm",children:["Use the URL format: /datasets/","{datasetId}","/experiments?baseline=","{experimentIdA}","&contender=","{experimentIdB}"]})]})})}):o.jsx(ks,{children:o.jsx(Wx,{children:o.jsxs("div",{className:"grid w-full content-start",children:[o.jsxs("div",{className:"flex items-center justify-between gap-4 px-6 py-3",children:[o.jsxs("div",{className:"flex min-w-0 items-center gap-3",children:[o.jsx(ge,{as:"h1",variant:"ui-lg",className:"text-neutral6 font-medium",children:"Experiments comparison"}),o.jsxs("p",{className:"text-ui-sm text-neutral4 flex items-center gap-2",children:[o.jsx(stt,{experimentId:s}),"and",o.jsx(stt,{experimentId:a})]})]}),o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsxs(oe,{onClick:()=>n({baseline:a,contender:s}),children:[o.jsx(eQt,{}),"Swap sides"]})}),o.jsx(bn,{children:"Switch baseline and contender"})]})]}),o.jsx(pvs,{datasetId:e,experimentIdA:s,experimentIdB:a})]})})})}const Wz=()=>{},Qvs=new Set,Yvs=[{name:"id",label:"ID",size:"7rem"},{name:"input",label:"Input",size:"minmax(10rem,1fr)"},{name:"groundTruth",label:"Ground Truth",size:"minmax(10rem,1fr)"},{name:"trajectory",label:"Trajectory",size:"8rem"},{name:"createdAt",label:"Created",size:"10rem"}];function Kvs({datasetId:e,currentItemId:t,open:n,onOpenChange:r}){const{navigate:s,paths:a}=dn(),[i,l]=g.useState(""),[c]=BH(i,300),{data:u,isLoading:d,setEndOfListElement:f,isFetchingNextPage:p,hasNextPage:h}=Gx(e,c||void 0),m=u.filter(y=>y.id!==t),v=y=>{r(!1),s(a.datasetItemCompareLink(e,t,y))};return o.jsx(vr,{open:n,onOpenChange:r,children:o.jsxs(yr,{className:"sm:max-w-[min(72rem,calc(100%-4rem))]",children:[o.jsxs(br,{children:[o.jsx(pr,{children:"Compare with…"}),o.jsx(As,{children:"Pick an item to compare with the current one."})]}),o.jsxs($r,{className:"grid max-h-[70vh] min-h-[24rem] grid-rows-[auto_1fr] gap-3",children:[o.jsx(g_,{name:"compare-with-dialog-search",label:"Search items to compare",labelIsHidden:!0,value:i,onChange:y=>l(y.target.value),placeholder:"Search items..."}),o.jsx("div",{className:"min-h-0 overflow-y-auto",children:o.jsx(LVt,{items:m,isLoading:d,onItemClick:v,selectOnNavigate:!1,columns:Yvs,searchQuery:c||" ",setEndOfListElement:f,isFetchingNextPage:p,hasNextPage:h,isSelectionActive:!1,selectedIds:Qvs,onToggleSelection:Wz,onSelectAll:Wz,onClearSelection:Wz,onAddClick:Wz})})]})]})})}function Xvs(e){if(!(e instanceof Error))return null;const t=e.message.match(/- ({.*})$/);if(!t)return null;try{const n=JSON.parse(t[1]);if(n.field&&Array.isArray(n.errors))return{field:n.field,errors:n.errors}}catch{}return null}function Jvs({datasetId:e,item:t,items:n,onItemChange:r,onClose:s}){const{Link:a}=dn(),{updateItem:i,deleteItem:l}=Vi(),[c,u]=g.useState(!1),[d,f]=g.useState(""),[p,h]=g.useState(""),[m,v]=g.useState(""),[y,b]=g.useState(""),[x,S]=g.useState(""),[k,_]=g.useState(t.scorerIds!==void 0),[C,T]=g.useState(t.scorerIds??[]),[E,N]=g.useState(""),[I,A]=g.useState(null),[R,L]=g.useState(!1),[D,F]=g.useState(!1);g.useEffect(()=>{t&&(f(JSON.stringify(t.input,null,2)),h(t.groundTruth?JSON.stringify(t.groundTruth,null,2):""),v(t.metadata?JSON.stringify(t.metadata,null,2):""),b(t.expectedTrajectory?JSON.stringify(t.expectedTrajectory,null,2):""),S(t.toolMocks?.length?JSON.stringify(t.toolMocks,null,2):""),_(t.scorerIds!==void 0),T(t.scorerIds??[]),N(t.requestContext?JSON.stringify(t.requestContext,null,2):""),u(!1),L(!1),A(null))},[t?.id]);const H=n.findIndex(q=>q.id===t.id),B=H>0?()=>r(n[H-1].id):void 0,z=H>=0&&H<n.length-1?()=>r(n[H+1].id):void 0,V=async()=>{let q;try{q=JSON.parse(d)}catch{Be.error("Input must be valid JSON");return}let Z;if(p.trim())try{Z=JSON.parse(p)}catch{Be.error("Ground Truth must be valid JSON");return}let Y;if(m.trim())try{Y=JSON.parse(m)}catch{Be.error("Metadata must be valid JSON");return}let ne=null;if(y.trim())try{ne=JSON.parse(y)}catch{Be.error("Expected Trajectory must be valid JSON");return}let J;if(x.trim())try{const le=JSON.parse(x);if(!Array.isArray(le)){Be.error("Tool Mocks must be a JSON array");return}J=le}catch{Be.error("Tool Mocks must be valid JSON");return}else J=[];let ee;if(E.trim())try{ee=JSON.parse(E)}catch{Be.error("Request Context must be valid JSON");return}let se;k?se=C:t.scorerIds!==void 0&&(se=null);try{const le=await i.mutateAsync({datasetId:e,itemId:t.id,input:q,groundTruth:Z,metadata:Y,expectedTrajectory:ne,toolMocks:J,scorerIds:se,requestContext:ee});Be.success("Item updated successfully"),_(le.scorerIds!==void 0),T(le.scorerIds??[]),u(!1),A(null)}catch(le){const X=Xvs(le);X?A(X):Be.error(`Failed to update item: ${le instanceof Error?le.message:"Unknown error"}`)}},M=()=>{f(JSON.stringify(t.input,null,2)),h(t.groundTruth?JSON.stringify(t.groundTruth,null,2):""),v(t.metadata?JSON.stringify(t.metadata,null,2):""),b(t.expectedTrajectory?JSON.stringify(t.expectedTrajectory,null,2):""),S(t.toolMocks?.length?JSON.stringify(t.toolMocks,null,2):""),_(t.scorerIds!==void 0),T(t.scorerIds??[]),N(t.requestContext?JSON.stringify(t.requestContext,null,2):""),u(!1),A(null)},G=q=>{f(q),I?.field==="input"&&A(null)},U=q=>{h(q),I?.field==="groundTruth"&&A(null)},$=async()=>{try{await l.mutateAsync({datasetId:e,itemId:t.id}),Be.success("Item deleted successfully"),L(!1),s()}catch(q){Be.error(`Failed to delete item: ${q instanceof Error?q.message:"Unknown error"}`)}};return o.jsxs(o.Fragment,{children:[o.jsxs(hn,{children:[o.jsxs(hn.Header,{children:[o.jsxs(hn.Heading,{children:["Item ",o.jsxs("b",{children:["# ",t.id.length>12?`${t.id.slice(0,12)}…`:t.id]})]}),o.jsxs(ds,{className:"ml-auto shrink-0",children:[o.jsx(hn.NextPrevNav,{onPrevious:B,onNext:z,previousLabel:"Previous item",nextLabel:"Next item"}),!c&&o.jsxs(o.Fragment,{children:[o.jsx(oe,{as:a,href:`/datasets/${e}/items/${t.id}/versions`,size:"md",tooltip:"Go to item versions history","aria-label":"Go to item versions history",children:o.jsx(rI,{})}),o.jsxs(it,{children:[o.jsx(it.Trigger,{asChild:!0,children:o.jsx(oe,{size:"md","aria-label":"Actions menu",children:o.jsx(HD,{})})}),o.jsxs(it.Content,{align:"end",className:"w-48",children:[o.jsxs(it.Item,{onSelect:()=>u(!0),children:[o.jsx(cm,{}),"Edit"]}),o.jsxs(it.Item,{onSelect:()=>F(!0),children:[o.jsx(Cj,{}),"Compare with…"]}),o.jsxs(it.Item,{onSelect:()=>L(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(nd,{}),"Delete Item"]})]})]})]}),o.jsx(hn.CloseButton,{onClick:s,tooltip:"Close detail panel"})]})]}),o.jsx(hn.Content,{children:c?o.jsx(Ggs,{inputValue:d,setInputValue:G,groundTruthValue:p,setGroundTruthValue:U,metadataValue:m,setMetadataValue:v,trajectoryValue:y,setTrajectoryValue:b,toolMocksValue:x,setToolMocksValue:S,scorerOverrideEnabled:k,setScorerOverrideEnabled:_,selectedScorerIds:C,setSelectedScorerIds:T,requestContextValue:E,setRequestContextValue:N,validationErrors:I,onSave:V,onCancel:M,isSaving:i.isPending}):o.jsxs(o.Fragment,{children:[o.jsxs(Zt,{children:[o.jsx(Zt.Key,{children:"Dataset Id"}),o.jsx(Zt.ValueWithCopyBtn,{copyTooltip:"Copy Dataset Id to clipboard",copyValue:t.datasetId,children:t.datasetId}),o.jsx(Zt.Key,{children:"Version"}),o.jsxs(Zt.Value,{children:["v",t.datasetVersion]}),o.jsx(Zt.Key,{children:"Created"}),o.jsx(Zt.Value,{children:hr(new Date(t.createdAt),"MMM d, yyyy h:mm aaa")}),t.updatedAt&&new Date(t.updatedAt).getTime()!==new Date(t.createdAt).getTime()&&o.jsxs(o.Fragment,{children:[o.jsx(Zt.Key,{children:"Updated"}),o.jsx(Zt.Value,{children:hr(new Date(t.updatedAt),"MMM d, yyyy h:mm aaa")})]})]}),o.jsxs("div",{className:"mt-3 grid gap-3",children:[o.jsx(hn.CodeSection,{title:"Input",icon:o.jsx(_j,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(hn.CodeSection,{title:"Ground Truth",icon:o.jsx(lx,{}),codeStr:JSON.stringify(t.groundTruth??null,null,2)}),t.expectedTrajectory!=null&&o.jsx(hn.CodeSection,{title:"Expected Trajectory",icon:o.jsx(y0e,{}),codeStr:JSON.stringify(t.expectedTrajectory,null,2)}),o.jsx(hn.CodeSection,{title:"Tool Mocks",icon:o.jsx(Vp,{}),codeStr:JSON.stringify(t.toolMocks??[],null,2)}),o.jsx(hn.CodeSection,{title:"Scorers",icon:o.jsx(h0e,{}),codeStr:t.scorerIds===void 0?"Inherited from dataset":JSON.stringify(t.scorerIds,null,2)}),t.requestContext!=null&&o.jsx(hn.CodeSection,{title:"Request Context",icon:o.jsx(jy,{}),codeStr:JSON.stringify(t.requestContext,null,2)}),o.jsx(hn.CodeSection,{title:"Metadata",icon:o.jsx(sI,{}),codeStr:JSON.stringify(t.metadata??null,null,2)})]})]})})]}),o.jsx(Kvs,{datasetId:e,currentItemId:t.id,open:D,onOpenChange:F}),o.jsx(Pt,{open:R,onOpenChange:L,children:o.jsxs(Pt.Content,{children:[o.jsxs(Pt.Header,{children:[o.jsx(Pt.Title,{children:"Delete Item"}),o.jsx(Pt.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(Pt.Footer,{children:[o.jsx(Pt.Cancel,{children:"Cancel"}),o.jsx(Pt.Action,{onClick:$,children:l.isPending?"Deleting...":"Yes, Delete"})]})]})})]})}function eys(){const{itemId:e}=mr(),{datasetId:t,items:n,isLoadingItems:r,openItem:s,close:a}=BVt(),i=g.useMemo(()=>n.find(d=>d.id===e)??null,[n,e]),{data:l,isLoading:c}=LD(i?"":t,!i&&e?e:""),u=i??l??null;return e?o.jsx(ZAe,{label:`Dataset item ${e}`,children:u?o.jsx("div",{className:"[&>section]:bg-surface3 flex min-h-full flex-col p-3 [&>section]:min-h-0 [&>section]:flex-1 [&>section]:rounded-lg [&>section]:shadow-lg",children:o.jsx(Jvs,{datasetId:t,item:u,items:n,onItemChange:s,onClose:a})}):r||c?o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(qt,{})})}):o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(Cr,{iconSlot:o.jsx(om,{}),titleSlot:"Item not found",descriptionSlot:`No loaded item "${e}".`,actionSlot:o.jsx(oe,{onClick:a,children:"Close"})})})})}):null}function att(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function tys(){const{datasetId:e,itemId:t,secondItemId:n}=mr(),r=Kr(),s=[t,n].filter(h=>!!h),{data:a,error:i}=Gg(e??""),{Link:l,paths:c}=dn(),[u,d]=g.useState(!1),{data:f}=LD(e??"",s[0]??""),{data:p}=LD(e??"",s[1]??"");return i&&xs(i)?o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Hs,{})})}):i&&ws(i)?o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||s.length<2?o.jsx(ks,{children:o.jsx(Wx,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two items to compare."})})})}):o.jsxs(ks,{children:[o.jsx($y,{owner:"dataset-items-compare",children:o.jsxs(oe,{as:Si,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(wu,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":u}),children:[o.jsxs(Ia,{children:[o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{children:[o.jsx(Cj,{}),"Compare Dataset Items"]}),o.jsx(Ia.Description,{children:o.jsxs(Nl,{children:["Comparing ",s.length," items of"," ",o.jsx(Si,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:a?.name||e?.slice(0,8)})]})})]}),o.jsx(Ia.Column,{children:o.jsx(ds,{children:o.jsx(oe,{variant:"primary",onClick:()=>d(h=>!h),children:u?o.jsxs(o.Fragment,{children:[o.jsx(l0e,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(yYt,{})," Diff View"]})})})})]}),o.jsx(xx,{className:"grid-cols-[1fr_3vw_1fr]",children:s.map((h,m)=>o.jsxs(g.Fragment,{children:[o.jsx(nys,{datasetId:e,itemId:h,Link:l,idx:m,itemIds:s,showContent:!u,onItemChange:v=>{const y=[...s];y[m]=v,r(c.datasetItemCompareLink(e,y[0],y[1]))}}),m==0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),u&&f&&p&&o.jsx(bAe,{codeA:att(f),codeB:att(p)})]})})]})}function nys({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=LD(e,t),{data:u}=Gx(e),d=new Set(s.filter((p,h)=>h!==r)),f=(u??[]).map(p=>({value:p.id,label:p.id,disabled:d.has(p.id)}));return o.jsxs(Xs,{children:[o.jsxs(Xs.Toolbar,{className:"flex gap-4",children:[o.jsxs(pa,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(ma,{"aria-label":"Item",children:o.jsx(ha,{placeholder:"Select item"})}),o.jsx(ga,{children:f.map(p=>o.jsx(jr,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(oe,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(rI,{}),"Versions"]})]}),i&&o.jsx(Xs.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(Zgs,{item:l}),o.jsx(GAe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function itt(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,scorerIds:e.scorerIds??null,metadata:e.metadata??null},null,2)}function rys(){const{datasetId:e,itemId:t}=mr(),[n,r]=mi(),[s,a]=g.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=Gg(e??""),{Link:u}=dn(),{data:d}=VAe(e??"",t??""),{data:f}=Uxe(e??"",t??"",i[0]??0,l?.version),{data:p}=Uxe(e??"",t??"",i[1]??0,l?.version);return c&&xs(c)?o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Hs,{})})}):c&&ws(c)?o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})}):!e||!t?o.jsx(ks,{children:o.jsx(Wx,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Item not found."})})})}):i.length<2?o.jsx(sys,{datasetId:e,itemId:t,Link:u,onCompare:h=>r({ids:h.join(",")})}):o.jsxs(ks,{children:[o.jsx($y,{owner:"dataset-item-versions-compare",children:o.jsxs(oe,{as:Si,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(wu,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:K("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(Ia,{children:[o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{children:[o.jsx(Cj,{}),"Compare Dataset Item Versions"]}),o.jsx(Ia.Description,{children:o.jsxs(Nl,{children:["Comparing ",i.length," versions of"," ",o.jsx(Si,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(Ia.Column,{children:o.jsx(ds,{children:o.jsx(oe,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(l0e,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(rKt,{})," Diff View"]})})})})]}),o.jsx(xx,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(g.Fragment,{children:[o.jsx(ays,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:v=>{const y=[...i];y[m]=v,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:K("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(bAe,{codeA:itt(f),codeB:itt(p)})]})})]})}function sys({datasetId:e,itemId:t,Link:n,onCompare:r}){const[s,a]=g.useState(null),{data:i,isLoading:l}=VAe(e,t),c=(s!=null?i?.find(d=>d.datasetVersion===s):void 0)??i?.[0],u=c?{id:c.id,datasetId:e,datasetVersion:c.datasetVersion,input:c.input,groundTruth:c.groundTruth,scorerIds:c.scorerIds,metadata:c.metadata,createdAt:c.createdAt,updatedAt:c.updatedAt}:null;return o.jsxs(ks,{children:[o.jsx($y,{owner:"dataset-item-versions-history",children:o.jsxs(oe,{as:Si,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(wu,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[140rem] grid-rows-[auto_1fr] gap-6",children:[o.jsx(Ia,{children:o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{children:[o.jsx(rI,{}),"Item Version History"]}),o.jsx(Ia.Description,{children:o.jsxs(Nl,{children:["Versions of ",t]})})]})}),o.jsxs(xx,{className:"grid-cols-[1fr_auto]",children:[o.jsx(Xs,{children:o.jsx(Xs.Content,{children:l?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):u?o.jsx(GAe,{item:u,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})})}),o.jsx(Rvs,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:d=>a(d.datasetVersion),onCompareVersionsClick:r,activeVersion:s})]})]})})]})}function ays({datasetId:e,itemId:t,datasetVersion:n,latestVersion:r,allVersions:s,versionNumbers:a,Link:i,idx:l,showContent:c=!0,onVersionChange:u}){const{data:d,isLoading:f}=Uxe(e,t,n,r),p=new Set(a.filter((v,y)=>y!==l)),h=s.map(v=>{const y=typeof v.updatedAt=="string"?new Date(v.updatedAt):v.updatedAt;return{value:String(v.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",v.datasetVersion]})," - ",hr(y,"MMM d, yyyy h:mm a"),v.isLatest?o.jsx(St,{variant:"blue",size:"xs",children:"Latest"}):null]}),disabled:p.has(v.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,scorerIds:d.scorerIds,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(Xs,{children:[o.jsxs(Xs.Toolbar,{className:"grid grid-cols-[auto_1fr] gap-4",children:[o.jsx(rI,{className:"h-6 w-6 opacity-50"}),o.jsxs(pa,{name:`compare-version-${l}`,value:String(n),onValueChange:v=>u(Number(v)),children:[o.jsx(ma,{"aria-label":"Version",className:"w-full",children:o.jsx(ha,{placeholder:"Select version"})}),o.jsx(ga,{children:h.map(v=>o.jsx(jr,{value:v.value,disabled:v.disabled,children:v.label},v.value))})]})]}),c&&o.jsx(Xs.Content,{children:f?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):!d||!m?o.jsxs("div",{className:"text-neutral4 text-sm",children:["Version ",n," not found"]}):o.jsx(GAe,{item:m,Link:i})})]})}function iys(){const{datasetId:e}=mr(),[t]=mi(),n=t.get("ids")?.split(",").map(Number).filter(v=>!isNaN(v)&&v>0)??[],r=Kr(),{data:s,error:a}=Gg(e??""),i=Gx(e??"",void 0,n[0]??null),l=Gx(e??"",void 0,n[1]??null),c=g.useMemo(()=>i.data??[],[i.data]),u=g.useMemo(()=>l.data??[],[l.data]),d=g.useMemo(()=>{const v=new Map;for(const y of[...c,...u])v.has(y.id)||v.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...v.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=g.useMemo(()=>new Map(c.map(v=>[v.id,v])),[c]),p=g.useMemo(()=>new Map(u.map(v=>[v.id,v])),[u]);if(a&&xs(a))return o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Hs,{})})});if(a&&ws(a))return o.jsx(ks,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx(ks,{children:o.jsx(Wx,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two versions to compare."})})})});const h=(v,y,b)=>{r(`/datasets/${e}/items/${v}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(v,y)=>{r(`/datasets/${e}/versions?ids=${v},${y}`,{replace:!0})};return o.jsx(ks,{children:o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[140rem] grid-rows-[auto_1fr] gap-6",children:[o.jsxs(Ia,{children:[o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{children:[o.jsx(JXt,{})," Compare Dataset Versions"]}),o.jsx(Ia.Description,{children:o.jsxs(Nl,{children:[o.jsx(rI,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(Ia.Column,{children:o.jsxs(oe,{as:Si,to:`/datasets/${e}`,children:[o.jsx(wu,{}),"Back to Dataset"]})})]}),o.jsx(xx,{children:o.jsxs(Xs,{children:[o.jsx(Mvs,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(Fvs,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function oys(){const e=Kr(),[t]=mi(),n=t.get("targetType"),r=zD(n)?n:void 0,s=t.get("targetIds"),a=r&&s?s.split(",").map(i=>i.trim()).filter(Boolean):void 0;return o.jsxs(Ht,{height:"full",children:[o.jsx("div",{}),o.jsx(Ht.MainArea,{isCentered:!0,children:o.jsxs("div",{className:"w-full max-w-2xl overflow-y-auto px-6 py-8",children:[o.jsx(Ia,{className:"mb-6 p-0",children:o.jsxs(Ia.Column,{children:[o.jsxs(Ia.Title,{children:[o.jsx(om,{})," Create new dataset"]}),o.jsx(Ia.Description,{children:"Datasets group test cases used to evaluate your agents and workflows."})]})}),o.jsx(Zu,{className:"p-6",children:o.jsx(Xms,{targetType:r,targetIds:a,onSuccess:i=>{e(`/datasets/${i}`)},onCancel:()=>{e(-1)}})})]})})]})}function Hxe({children:e,className:t}){return o.jsx("div",{className:K("flex flex-wrap gap-8",t),children:e})}function lys(e){if(!e||e.length<2)return null;const t=[...e].sort((i,l)=>new Date(i.createdAt).getTime()-new Date(l.createdAt).getTime()),n=Math.floor(t.length/2),r=n,s=t.length-n;if(r===0)return null;const a=(s-r)/r*100;return{changePct:Math.round(a*10)/10,prevValue:String(r)}}function cys({scorers:e,datasets:t,experiments:n,avgScore:r,prevAvgScore:s,totalNeedsReview:a,isLoadingScorers:i,isLoadingDatasets:l,isLoadingExperiments:c,isLoadingScores:u,isLoadingReview:d}){const f=e?Object.keys(e).length:void 0,p=t?.length,h=n?.length,m=r!=null&&s!=null&&s!==0?{changePct:Math.round((r-s)/s*100*10)/10,prevValue:String(s)}:null,v=lys(n);return o.jsxs(o.Fragment,{children:[o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:"Total Scorers"}),i?o.jsx(Qr.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(Qr.Value,{children:String(f)}),o.jsx(Qr.NoChange,{message:"Static count"})]}):o.jsx(Qr.NoData,{})]}),o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:"Total Datasets"}),l?o.jsx(Qr.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(Qr.Value,{children:String(p)}),o.jsx(Qr.NoChange,{message:"Static count"})]}):o.jsx(Qr.NoData,{})]}),o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:"Avg Score"}),u?o.jsx(Qr.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(Qr.Value,{children:String(r)}),m?o.jsx(Qr.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(Qr.NoChange,{})]}):o.jsx(Qr.NoData,{})]}),o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:"Total Experiments"}),c?o.jsx(Qr.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(Qr.Value,{children:String(h)}),v?o.jsx(Qr.Change,{changePct:v.changePct,prevValue:v.prevValue}):o.jsx(Qr.NoChange,{})]}):o.jsx(Qr.NoData,{})]}),o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:"Needs Review"}),d?o.jsx(Qr.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(Qr.Value,{children:String(a)}),a>0?o.jsx(Qr.NoChange,{message:"items pending review"}):o.jsx(Qr.NoChange,{message:"All caught up"})]}):o.jsx(Qr.NoData,{})]})]})}const ott=`${kUt} ${zls} ${OUt}`;function uys({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=dn(),u=g.useMemo(()=>{const m=new Map;return t?.forEach(v=>m.set(v.id,v.name)),m},[t]),d=g.useMemo(()=>[...e].sort((m,v)=>{const y=m.createdAt?new Date(m.createdAt).getTime():0;return(v.createdAt?new Date(v.createdAt).getTime():0)-y}),[e]),f=g.useMemo(()=>{const m=s.toLowerCase();return d.filter(v=>{const y=v.datasetId?u.get(v.datasetId)??"":"",b=!m||v.id.toLowerCase().includes(m)||(v.name??"").toLowerCase().includes(m)||y.toLowerCase().includes(m)||(v.targetId??"").toLowerCase().includes(m),x=a==="all"||v.status===a,S=i==="all"||v.datasetId===i;return b&&x&&S})},[d,s,u,a,i]),{containerRef:p,getRowProps:h}=So({count:f.length});return r?o.jsx(Pl,{columns:ott}):o.jsxs(be,{columns:ott,variant:"striped",scrollRef:p,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:Jc.experiment}),o.jsx(be.TopCell,{children:Jc.dataset}),o.jsx(be.TopCell,{children:Jc.target}),o.jsx(be.TopCell,{children:Jc.status}),o.jsx(be.TopCell,{className:"text-center",children:Jc.items}),o.jsx(be.TopCell,{className:"text-center",children:Jc.succeeded}),o.jsx(be.TopCell,{className:"text-center",children:Jc.failed}),o.jsx(be.TopCell,{className:"text-center",children:Jc.review}),o.jsx(be.TopCell,{children:Jc.date})]}),f.map((m,v)=>{const y=m.datasetId?u.get(m.datasetId)??dS(m.datasetId)??m.datasetId:"—";return o.jsx(be.RowLink,{to:l.experimentLink(m.id),LinkComponent:c,...h(v),children:o.jsx(DVt,{experiment:m,datasetName:y,review:n?.get(m.id)})},m.id)})]})}const dys=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function fys(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const Zz={completed:C7.neutral3,running:"#facc15",pending:"#fb923c",failed:"#f87171"},pys=[{label:"Completed",color:Zz.completed},{label:"Running",color:Zz.running},{label:"Pending",color:Zz.pending},{label:"Failed",color:Zz.failed}];function hys({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=g.useMemo(()=>{if(!e||e.length===0)return{data:[],maxVal:0};const l=new Map;if(t)for(const f of t)l.set(f.id,f.name);const c=new Map;for(const f of e){const p=f.datasetId??"unknown";c.has(p)||c.set(p,{completed:0,running:0,pending:0,failed:0});const h=c.get(p),m=f.status;m in h&&h[m]++}let u=0;return{data:Array.from(c.entries()).map(([f,p])=>{const h=p.completed+p.running+p.pending+p.failed;return h>u&&(u=h),{name:l.get(f)??f.slice(0,12),values:[p.completed,p.running,p.pending,p.failed]}}),maxVal:u}},[e,t]),i=s.length>0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Ut.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Ut.Loading,{}):r?o.jsx(Ut.Error,{message:"Failed to load experiments data"}):o.jsx(Ut.Content,{children:i?o.jsx(ZN,{data:s,segments:pys,maxVal:a,fmt:l=>String(l)}):o.jsx(Ut.NoData,{message:"No experiments have been run yet"})})]})}const mys=({onRunExperiment:e})=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No Experiments yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Run an experiment from a dataset to evaluate ",o.jsx("br",{}),"your agents and workflows."]}),actionSlot:o.jsxs("div",{className:"flex flex-col items-center gap-2",children:[e&&o.jsxs(oe,{variant:"primary",onClick:e,children:[o.jsx(hu,{}),"Run Experiment"]}),o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(fs,{})]})]})})});function gys({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c,onRunClick:u,runTooltip:d="Run an experiment"}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx("div",{className:"max-w-120 min-w-64 flex-1",children:o.jsx(rh,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t})}),o.jsxs(ds,{children:[o.jsx(jc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...dys],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(jc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(oe,{onClick:l,size:"sm",variant:"default",children:[o.jsx($s,{className:"size-3"})," Reset"]})]}),u&&o.jsxs(oe,{onClick:u,tooltip:d,variant:"primary",className:"ml-auto shrink-0",children:[o.jsx(hu,{}),"Run Experiment"]})]})}function vys(){const[e,t]=g.useState("all"),[n,r]=g.useState({}),{data:s,isLoading:a,error:i}=ah(),{data:l,isLoading:c,error:u}=jm(),{data:d,isLoading:f,error:p}=WQ(),{data:h,isLoading:m,isError:v,error:y}=bqr(n),{data:b,isLoading:x,isError:S,error:k}=KAe(),_=l?.datasets,C=d?.experiments,T=g.useMemo(()=>qvs(b),[b]),E=i||u||p||y||k;return E&&xs(E)?o.jsx(or,{children:o.jsx(Hs,{})}):E&&ws(E)?o.jsx(or,{children:o.jsx(Ds,{resource:"evaluation"})}):E?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load evaluation data",message:E.message})}):o.jsxs(Ht,{width:"wide",height:"full",children:[o.jsx(Ht.TopArea,{children:o.jsx(Ht.Row,{children:o.jsx(Ht.Column,{children:o.jsx(N4,{preset:e,onPresetChange:t,dateFrom:n.start,dateTo:n.end,onDateChange:(N,I)=>r(A=>I==="from"?{...A,start:N}:{...A,end:N})})})})}),o.jsxs("div",{className:"flex flex-col gap-6",children:[o.jsx(Hxe,{children:o.jsx(cys,{scorers:s,datasets:_,experiments:C,avgScore:h?.avgScore??null,prevAvgScore:h?.prevAvgScore??null,totalNeedsReview:T.needsReview,isLoadingScorers:a,isLoadingDatasets:c,isLoadingExperiments:f,isLoadingScores:m,isLoadingReview:x})}),o.jsx(IUr,{summaryData:h?.summaryData??[],overTimeData:h?.overTimeData??[],scorerNames:h?.scorerNames??[],avgScore:h?.avgScore??null,isLoading:m,isError:v}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(Fms,{experiments:C,isLoading:f,isError:!!p}),o.jsx(hys,{experiments:C,datasets:_,isLoading:f,isError:!!p})]}),o.jsx(Bvs,{reviewSummary:b,experiments:C,datasets:_,isLoading:x,isError:!!S})]})]})}function yys(){const[e,t]=g.useState(""),[n,r]=g.useState("all"),[s,a]=g.useState("all"),[i,l]=g.useState(!1),c=Kr(),{data:u,isLoading:d,error:f}=jm(),{data:p,isLoading:h,error:m}=WQ(),{data:v}=KAe(),y=g.useMemo(()=>u?.datasets??[],[u?.datasets]),b=g.useMemo(()=>p?.experiments??[],[p?.experiments]),x=g.useMemo(()=>fys(y),[y]),S=g.useMemo(()=>YVt(v),[v]),k=d||h,_=m||f;if(_&&xs(_))return o.jsx(or,{children:o.jsx(Hs,{})});if(m&&ws(m))return o.jsx(or,{children:o.jsx(Ds,{resource:"experiments"})});if(f&&ws(f))return o.jsx(or,{children:o.jsx(Ds,{resource:"datasets"})});if(_)return o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load experiments",message:_.message})});const C=o.jsx(QAe,{open:i,onOpenChange:l,onSuccess:N=>{c(`/experiments/${N}`)}});if(b.length===0&&!k)return o.jsxs(or,{children:[o.jsx(mys,{onRunExperiment:()=>l(!0)}),C]});const T=n!=="all"||s!=="all"||e!=="",E=()=>{t(""),r("all"),a("all")};return o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx(gys,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:x,onReset:E,hasActiveFilters:T,onRunClick:()=>l(!0)})}),o.jsx(uys,{experiments:b,datasets:y,reviewByExperiment:S,isLoading:k,search:e,statusFilter:n,datasetFilter:s}),C]})}const KVt=e=>o.jsx("svg",{width:"16",height:"16",viewBox:"0 0 8.64637 9.45103",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.80735 5.87241C7.63209 5.97219 7.43696 6.06166 7.22844 6.13866C6.46456 6.42068 5.43714 6.58649 4.32296 6.58649C3.20873 6.58649 2.18135 6.4207 1.41747 6.13866C1.20889 6.06164 1.01385 5.97223 0.838558 5.87241V7.59003C0.838558 7.62341 0.855765 7.70759 1.00172 7.83512C1.14707 7.96201 1.38219 8.09563 1.70829 8.21605C2.3572 8.45563 3.28149 8.61268 4.32296 8.61269C5.36456 8.61269 6.28937 8.45568 6.9383 8.21605C7.26428 8.09566 7.49888 7.96198 7.64419 7.83512C7.79024 7.70754 7.80735 7.62342 7.80735 7.59003V5.87241ZM7.80735 3.00789C7.63214 3.10763 7.4369 3.19647 7.22844 3.27345C6.46455 3.55549 5.43719 3.72129 4.32296 3.72129C3.20868 3.72128 2.18136 3.55552 1.41747 3.27345C1.20896 3.19645 1.01381 3.10766 0.838558 3.00789V4.72551C0.838558 4.7589 0.855657 4.84301 1.00172 4.97059C1.14707 5.09749 1.38219 5.23111 1.70829 5.35153C2.3572 5.59109 3.28154 5.74747 4.32296 5.74748C5.36456 5.74748 6.28937 5.59116 6.9383 5.35153C7.26432 5.23112 7.49887 5.09747 7.64419 4.97059C7.7536 4.87505 7.79089 4.80404 7.80257 4.76033L7.80735 4.72551V3.00789ZM7.80735 1.86099C7.80735 1.82758 7.79045 1.74291 7.64419 1.61522C7.49887 1.48838 7.26421 1.35534 6.9383 1.23497C6.28937 0.995339 5.36456 0.838331 4.32296 0.838331C3.28149 0.83834 2.3572 0.995383 1.70829 1.23497C1.38219 1.35539 1.14707 1.48832 1.00172 1.61522C0.855475 1.7429 0.838558 1.82758 0.838558 1.86099C0.838673 1.89462 0.855968 1.97882 1.00172 2.10607C1.14707 2.23297 1.38219 2.3659 1.70829 2.48632C2.3572 2.7259 3.28149 2.88295 4.32296 2.88296C5.36456 2.88296 6.28937 2.72595 6.9383 2.48632C7.26421 2.36595 7.49887 2.23291 7.64419 2.10607C7.78996 1.97881 7.80724 1.89462 7.80735 1.86099ZM8.64637 7.59003C8.64637 7.95465 8.44458 8.25006 8.1958 8.46728C7.94608 8.68529 7.60876 8.86274 7.22844 9.00318C6.46455 9.28522 5.43718 9.45102 4.32296 9.45102C3.20869 9.45101 2.18135 9.28525 1.41747 9.00318C1.03715 8.86274 0.699831 8.68529 0.450113 8.46728C0.201377 8.25007 0.000227451 7.9546 0.000227451 7.59003V1.86099C0.000227451 1.49643 0.201388 1.20095 0.450113 0.983742C0.699831 0.765728 1.03715 0.588275 1.41747 0.447838C2.18136 0.165769 3.20868 8.74396e-06 4.32296 0C5.43719 0 6.46455 0.165797 7.22844 0.447838C7.60876 0.588275 7.94608 0.765728 8.1958 0.983742C8.44457 1.20096 8.64637 1.49638 8.64637 1.86099V7.59003Z",fill:"currentColor"})}),bys={agent:qi,workflow:Su,scorer:TC,processor:wD},xys={agent:"Agent",workflow:"Workflow",scorer:"Scorer",processor:"Processor"};function Rie({icon:e,typeLabel:t,children:n}){return o.jsxs("div",{className:"text-ui-sm text-neutral5 flex flex-none items-center gap-1.5 [&_svg]:size-3.5 [&_svg]:shrink-0",children:[o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsx("span",{className:"text-neutral3 flex",role:"img","aria-label":t}),children:e}),o.jsx(bn,{children:t})]}),n]})}function Pie({label:e}){return o.jsxs("div",{className:"text-neutral2 text-ui-xs flex flex-none items-center gap-1.5",children:[o.jsx("span",{className:"whitespace-nowrap",children:e}),o.jsx(Vg,{className:"size-3.5 shrink-0","aria-hidden":!0})]})}const ltt="text-neutral5 inline-flex items-center gap-1.5 hover:underline [&>svg]:text-neutral3 [&>svg]:size-3 [&>svg]:shrink-0";function wys({experiment:e,className:t}){const{Link:n,paths:r}=dn(),{data:s}=$m(),{data:a}=Wy(),{data:i}=ah(),{data:l,isLoading:c}=Gg(e.datasetId??""),{data:u}=S_(e.id,e.status),d=g.useMemo(()=>{if(e.scorerIds?.length)return e.scorerIds;if(!u)return[];const S=new Set;for(const k of Object.values(u))for(const _ of k)S.add(_.scorerId);return[...S].sort()},[e.scorerIds,u]),f=d.map(S=>i?.[S]?.scorer?.config?.name??S),p=e.targetType,h=e.targetId,m=()=>{if(!h)return"External (caller-run)";switch(p){case"agent":return s?.[h]?.name??h;case"workflow":return a?.[h]?.name??h;case"scorer":return i?.[h]?.scorer?.config?.name??h;default:return h}},v=()=>{if(!h)return null;switch(p){case"agent":return r.agentLink(h);case"workflow":return r.workflowLink(h);case"scorer":return r.scorerLink(h);default:return null}},y=p&&bys[p]||qi,b=p&&xys[p]||"Evaluation target",x=v();return o.jsxs("div",{className:K("flex items-center gap-3 overflow-x-auto",t),children:[o.jsx(Rie,{icon:o.jsx(KVt,{}),typeLabel:"Dataset",children:e.datasetId?o.jsxs(n,{href:r.datasetLink(e.datasetId),target:"_blank",rel:"noopener noreferrer",className:ltt,children:[c?o.jsx(jt,{className:"h-4 w-28"}):l?.name??e.datasetId,e.datasetVersion!=null&&o.jsxs("span",{className:"text-neutral3",children:["(v",e.datasetVersion,")"]}),o.jsx(fs,{})]}):o.jsx("span",{className:"text-neutral3",children:"No dataset"})}),o.jsx(Pie,{label:"each item"}),o.jsx(Rie,{icon:o.jsx(y,{}),typeLabel:b,children:x?o.jsxs(n,{href:x,target:"_blank",rel:"noopener noreferrer",className:ltt,children:[m(),o.jsx(fs,{})]}):o.jsx("span",{className:"text-neutral3",children:m()})}),o.jsx(Pie,{label:"output"}),o.jsxs(Sn,{children:[o.jsx(yn,{render:o.jsx("div",{tabIndex:0,className:"flex outline-offset-4",children:o.jsx(Rie,{icon:o.jsx(TC,{}),typeLabel:"Scorers",children:d.length===0?"Scorers":`${d.length} scorer${d.length===1?"":"s"}`})})}),o.jsx(bn,{children:f.length>0?f.join(", "):"No scorer has produced a score yet"})]}),o.jsx(Pie,{label:"comparing ground truth"}),o.jsx("div",{className:"text-ui-sm text-neutral5 flex-none whitespace-nowrap",children:"Score"})]})}function Gz({label:e,children:t}){return o.jsxs("div",{className:"min-w-0 flex-1 px-6 py-3",children:[o.jsx("div",{className:"text-ui-sm text-neutral2 tracking-widest uppercase",children:e}),o.jsx("div",{className:"text-ui-md text-neutral5 mt-1 flex flex-wrap items-baseline gap-x-1.5",children:t})]})}function Sys(e){if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1).replace(/\.0$/,"")}s`;const t=Math.floor(e/6e4),n=Math.round(e%6e4/1e3);if(t<60)return n>0?`${t}m ${n}s`:`${t}m`;const r=Math.floor(t/60),s=t%60;return s>0?`${r}h ${s}m`:`${r}h`}function kys({experiment:e,className:t}){const{data:n}=S_(e.id,e.status),r=g.useMemo(()=>{if(!n)return;const l=Object.values(n).flat();if(l.length!==0)return l.reduce((c,u)=>c+u.score,0)/l.length},[n]),s=e.startedAt??e.createdAt,a=s?new Date(s):null,i=(()=>{if(e.status==="running")return"Running…";if(!e.startedAt||!e.completedAt)return"—";const l=new Date(e.completedAt).getTime()-new Date(e.startedAt).getTime();return l<0?"—":Sys(l)})();return o.jsxs("div",{className:K("flex w-full items-stretch divide-x divide-border1 border-y border-border1",t),children:[o.jsx(Gz,{label:"Avg score",children:r===void 0?o.jsx("span",{className:"text-neutral3",children:"—"}):o.jsxs(o.Fragment,{children:[o.jsx("span",{children:r.toFixed(3)}),(e.status==="running"||e.status==="pending")&&o.jsx("span",{className:"text-neutral3",children:"· so far"})]})}),o.jsx(Gz,{label:"Items",children:e.status==="running"||e.status==="pending"?o.jsxs("span",{className:"text-neutral3",children:[(e.succeededCount??0)+(e.failedCount??0),"/",e.totalItems," items processed"]}):o.jsxs(o.Fragment,{children:[o.jsxs("span",{children:[e.totalItems," item",e.totalItems===1?"":"s"]}),(e.failedCount??0)>0&&o.jsxs("span",{className:"text-error",children:["· ",e.failedCount," errored"]})]})}),o.jsx(Gz,{label:"Started",children:a?o.jsxs(o.Fragment,{children:[o.jsx("span",{children:hr(a,"MMM d, h:mm a")}),o.jsxs("span",{className:"text-neutral3",children:["· ",zDn(a,{addSuffix:!0})]})]}):o.jsx("span",{children:"—"})}),o.jsx(Gz,{label:"Duration",children:o.jsx("span",{children:i})})]})}function Oys({experiment:e}){const{Link:t,paths:n}=dn(),r=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsxs(Ht.TopArea,{children:[o.jsxs(Ht.Row,{children:[o.jsx(Ht.Column,{className:"justify-items-start gap-3",children:o.jsxs("div",{className:"flex items-start gap-3",children:[o.jsx(svs,{status:e.status,className:"h-7"}),o.jsxs(pu,{children:[o.jsxs(pu.Title,{children:["Experiment #",e.id.slice(0,8)]}),e.description&&o.jsx(pu.Description,{children:e.description}),o.jsx(wys,{experiment:e,className:"mt-2"})]})]})}),o.jsx(Ht.Column,{className:"justify-items-end gap-3",children:e.agentVersion&&o.jsxs(Zt,{numOfCol:1,children:[o.jsx(Zt.Key,{children:"Version"}),r?o.jsx(Zt.ValueLink,{href:r,as:t,children:e.agentVersion}):o.jsx(Zt.Value,{children:e.agentVersion})]})})]}),o.jsx(kys,{experiment:e,className:"-mx-6 w-auto"})]})}function Qz({children:e}){return o.jsxs(Ht,{height:"full",children:[o.jsx("div",{}),o.jsx(Ht.MainArea,{isCentered:!0,children:e})]})}function _ys(){const{experimentId:e}=mr(),{data:t,isLoading:n}=WQ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=Rxe(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=DD({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&xs(l)?o.jsx(Qz,{children:o.jsx(Hs,{})}):l&&ws(l)?o.jsx(Qz,{children:o.jsx(Ds,{resource:"datasets"})}):l&&T$t(l)||!n&&!s||!i&&!l&&!a?o.jsx(Qz,{children:o.jsx(Cr,{iconSlot:o.jsx(o0e,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(oe,{as:Si,to:"/experiments",children:[o.jsx(wu,{}),"Back to Experiments"]})})}):l?o.jsx(Qz,{children:o.jsx(Ui,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsx(Xgs,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoadingResults:u,hasNextPage:p,children:o.jsxs("div",{className:"relative h-full overflow-hidden",children:[o.jsxs(Ht,{height:"full",children:[o.jsx(Oys,{experiment:a}),o.jsx(Ht.MainArea,{className:"overflow-visible",children:o.jsx(rvs,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]}),o.jsx(Mg,{})]})})}const XAe=e=>o.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 9.45892 8.88606",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{d:"M8.53702 7.36403C8.98547 7.36403 9.34918 7.70502 9.34918 8.12535C9.34906 8.54559 8.9854 8.88606 8.53702 8.88606H5.6839C5.23552 8.88606 4.87186 8.54559 4.87174 8.12535C4.87174 7.70502 5.23545 7.36403 5.6839 7.36403H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.53702 3.67209C8.98547 3.67209 9.34918 4.01309 9.34918 4.43342C9.34911 4.8537 8.98543 5.19413 8.53702 5.19413H5.6839C5.23549 5.19413 4.87181 4.8537 4.87174 4.43342C4.87174 4.01309 5.23545 3.67209 5.6839 3.67209H8.53702Z",fill:"currentColor"}),o.jsx("path",{d:"M8.67155 0C9.10635 2.06584e-05 9.45892 0.341006 9.45892 0.761326C9.45878 1.18153 9.10627 1.52201 8.67155 1.52203H2.88163C2.4469 1.52203 2.0944 1.18154 2.09427 0.761326C2.09427 0.340993 2.44681 3.80132e-08 2.88163 0H8.67155Z",fill:"currentColor"}),o.jsx("path",{d:"M0.757606 0.760086V4.01122H3.50594V4.76883H0.759466L0.762566 5.4291C0.76837 6.70703 1.8058 7.73972 3.08374 7.73973H3.67953V8.49796H3.08374C1.38863 8.49795 0.0120204 7.1273 0.00433981 5.4322L0 4.39188V0.760086H0.757606Z",fill:"currentColor"})]});function $ie(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function Cys({report:e}){const{served:t,unconsumed:n,liveCalls:r,failure:s}=e,a=[...t.map(i=>({outcome:"served",toolName:i.toolName,args:i.args})),...r.map(i=>({outcome:"live",toolName:i.toolName,args:i.args})),...n.map(i=>({outcome:"unconsumed",toolName:i.toolName,args:i.args}))];return o.jsxs("div",{className:"grid gap-2","data-testid":"tool-mock-report",children:[o.jsx(hn.SectionHeading,{icon:o.jsx(Vp,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(Zn,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(Zn.Message,{children:[o.jsx("span",{className:"block",children:`Tool "${s.toolName}" was called with arguments that did not match an available mock (${s.code}).`}),o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Called with: ",$ie(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>$ie(i.args)).join(", ")]})]})}),o.jsx("div",{className:"border-border1 divide-border1 divide-y rounded border text-sm",children:a.map((i,l)=>o.jsxs("div",{className:"flex items-center justify-between gap-2 px-3 py-1.5",children:[o.jsxs("span",{className:"min-w-0 truncate",children:[o.jsx("span",{className:"text-neutral4 font-mono",children:i.toolName}),o.jsx("span",{className:"text-neutral3 ml-2 font-mono text-xs",children:$ie(i.args)})]}),o.jsx("span",{className:`shrink-0 rounded px-2 py-0.5 text-xs ${Eys(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function Eys(e){switch(e){case"served":return"bg-accent1/10 text-accent1";case"live":return"bg-orange-500/10 text-orange-400";case"unconsumed":return"bg-neutral3/10 text-neutral4"}}function Tys({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d=!1,scorePanelSlot:f}){const p=!!e?.error,h=Yz(e?.input),m=Yz(e?.output),v=Yz(e?.groundTruth),y=u&&e.status!=="needs-review"&&e.status!=="complete",b=Array.isArray(e.tags)?e.tags:[];return o.jsxs(hn,{collapsed:d,children:[o.jsxs(hn.Header,{children:[o.jsxs(hn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs(ds,{className:"ml-auto shrink-0",children:[o.jsx(hn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),e.traceId&&o.jsxs(oe,{size:"md",onClick:a,children:[o.jsx(XAe,{}),"Trace"]}),o.jsx(hn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!d&&o.jsx(jys,{scorePanelSlot:f,children:o.jsxs(hn.Content,{children:[o.jsxs("div",{className:"mb-6 grid gap-4",children:[o.jsxs(Zt,{children:[o.jsx(Zt.Key,{children:"Item Id"}),o.jsx(Zt.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(Zt.Key,{children:"Created"}),o.jsx(Zt.Value,{children:hr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),p&&o.jsx(Zn,{variant:"destructive",title:"Error",children:o.jsx(Zn.Message,{children:Yz(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(be,{columns:"1fr 1fr",children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Scorer"}),o.jsx(be.TopCell,{children:"Score"})]}),t.map(x=>o.jsxs(be.RowButton,{featured:c===x.id,onClick:()=>l?.(x.id),children:[o.jsx(be.Cell,{children:x.scorerId}),o.jsx(be.TextCell,{font:"mono",children:x.score.toFixed(3)})]},x.id))]}),e.toolMockReport&&o.jsx(Cys,{report:e.toolMockReport}),(e.status||b.length>0||y)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(hn.SectionHeading,{icon:o.jsx(sI,{}),className:"mb-2",children:"Review"}),(e.status||b.length>0)&&o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[e.status&&o.jsx("span",{className:`rounded-full px-2 py-0.5 text-xs font-medium ${e.status==="needs-review"?"bg-orange-500/10 text-orange-400":e.status==="complete"?"bg-accent1/10 text-accent1":"bg-neutral3/10 text-neutral4"}`,children:e.status}),b.map(x=>o.jsx("span",{className:"bg-surface4 text-neutral4 rounded px-2 py-0.5 text-xs",children:x},x))]}),y&&o.jsx("div",{children:o.jsxs(oe,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(vO,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(oe,{size:"sm",onClick:i,children:[o.jsx(fs,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(hn.CodeSection,{title:"Input",icon:o.jsx(yV,{}),codeStr:h}),o.jsx(hn.CodeSection,{title:"Output",icon:o.jsx(lx,{}),codeStr:m}),o.jsx(hn.CodeSection,{title:"Ground Truth",icon:o.jsx(uct,{}),codeStr:v})]})]})})]})}function jys({scorePanelSlot:e,children:t}){return e?o.jsxs("div",{className:"grid min-h-0 flex-1 grid-cols-[1fr_1fr]",children:[o.jsx("div",{className:"flex min-h-0 flex-col overflow-hidden",children:t}),o.jsx("div",{className:"animate-in border-border1 fade-in-0 flex min-h-0 flex-col overflow-hidden border-l duration-300",children:e})]}):o.jsx(o.Fragment,{children:t})}function Yz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function Nys(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function Iys({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i,className:l}){const[c,u]=g.useState(!1),d=a??c,f=i??u,p=Nys(e),h=p?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(hn,{collapsed:d,className:l,children:[o.jsxs(hn.Header,{children:[o.jsxs(hn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs(ds,{className:"ml-auto shrink-0",children:[i&&o.jsx(oe,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(Glt,{}):o.jsx(FQt,{})}),(n||t)&&o.jsx(hn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&e.traceId&&o.jsxs(oe,{size:"md",onClick:s,children:[o.jsx(XAe,{}),"Trace"]}),o.jsx(hn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!d&&o.jsx(hn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(hn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(lm,{}),codeStr:e.reason||h,simplified:!0}),!p&&o.jsxs(o.Fragment,{children:[o.jsx(hn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(Nh,{}),codeStr:e.preprocessPrompt||h,simplified:!0}),o.jsx(hn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(Nh,{}),codeStr:e.analyzePrompt||h,simplified:!0}),o.jsx(hn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(Nh,{}),codeStr:e.generateScorePrompt||h,simplified:!0}),o.jsx(hn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(Nh,{}),codeStr:e.generateReasonPrompt||h,simplified:!0})]})]})})]})}function Ays(){const{itemId:e}=mr();return e?o.jsx(Rys,{itemId:e},e):null}function Rys({itemId:e}){const{experimentId:t,experimentStatus:n,results:r,isLoadingResults:s,hasNextPage:a,close:i,openInReview:l,goToPreviousItem:c,goToNextItem:u}=WVt(),d=g.useMemo(()=>r.find(M=>M.itemId===e)??null,[r,e]),{data:f}=S_(t,n),p=d?f?.[d.itemId]:void 0,[h,m]=g.useState(null),[v,y]=g.useState(void 0),[b,x]=g.useState(null),[S,k]=g.useState(!1),[_,C]=g.useState(!1),T=p?.find(M=>M.id===b)??null,E=g.useCallback(M=>{x(G=>M===G?null:M),m(null),y(void 0)},[]),N=()=>{if(!b||!p)return;const M=p.findIndex(G=>G.id===b);if(M>=0&&M<p.length-1)return()=>x(p[M+1].id)},I=()=>{if(!b||!p)return;const M=p.findIndex(G=>G.id===b);if(M>0)return()=>x(p[M-1].id)},{data:A,isLoading:R}=avs(h),L=A?.spans,{data:D,isLoading:F}=jQ(h,v),H=D?.span,{handlePreviousSpan:B,handleNextSpan:z}=xqt(L,v??null,y),V=(()=>{const M=[],G=!!h;return M.push(S?"auto":G?"2fr":"1fr"),G&&M.push(_?"auto":"3fr"),G&&v&&M.push("3fr"),M.join(" ")})();return o.jsx(ZAe,{label:`Experiment item ${e}`,wide:!!T&&!S,children:d?o.jsxs("div",{className:"[&>section]:bg-surface3 grid h-full min-h-0 content-start gap-4 p-3 [&>section]:rounded-lg [&>section]:shadow-lg",style:{gridTemplateRows:V},children:[o.jsx(Tys,{result:d,scores:p,onPrevious:c,onNext:u,onClose:i,onScoreClick:E,featuredScoreId:b,onShowTrace:()=>{d.traceId&&(m(d.traceId),y(void 0),x(null),k(!0),C(!1))},onOpenInReview:()=>l(d.id),collapsed:S,scorePanelSlot:T?o.jsx(Iys,{score:T,onNext:N(),onPrevious:I(),onClose:()=>x(null),onShowTrace:()=>{T.traceId&&(m(T.traceId),y(void 0),k(!0),C(!1))},className:"rounded-none border-0 bg-transparent"}):null}),h&&o.jsxs(o.Fragment,{children:[o.jsx(Tqt,{traceId:h,spans:L,isLoading:R,onClose:()=>{m(null),y(void 0),k(!1)},onSpanSelect:y,initialSpanId:v??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:_,onCollapsedChange:C,LinkComponent:oy,traceHref:`/traces?traceId=${encodeURIComponent(h)}`}),v&&o.jsx(bqt,{traceId:h,spanId:v,span:H,isLoading:F,onPrevious:B,onNext:z,onClose:()=>y(void 0)})]})]}):s||a?o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(qt,{})})}):o.jsx("div",{className:"h-full p-3",children:o.jsx("div",{className:"border-border1 bg-surface3 flex h-full items-center justify-center rounded-lg border shadow-lg",children:o.jsx(Cr,{iconSlot:o.jsx(o0e,{}),titleSlot:"Item not found",descriptionSlot:`No loaded result for item "${e}".`,actionSlot:o.jsx(oe,{onClick:i,children:"Close"})})})})})}function Pys({connection:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsxs("li",{className:"flex items-center justify-between border-b py-2",children:[o.jsxs("div",{children:[o.jsx("div",{className:"font-mono text-xs",children:e.connectionId}),o.jsxs("div",{className:"text-xs text-gray-500",children:[e.label??"(no label)"," · ",e.status,e.scope?` · ${e.scope}`:"",t&&e.authorId?` · author: ${e.authorId}`:""]})]}),o.jsx("button",{type:"button",className:"text-red-600 underline disabled:opacity-50",onClick:r,disabled:n,children:"Disconnect"})]})}function XVt({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(Pys,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function $ys({groups:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("div",{className:"space-y-4",children:e.map(([s,a])=>o.jsxs("div",{children:[o.jsx("h3",{className:"text-sm font-semibold text-gray-700","data-testid":`integration-author-group-${s}`,children:s==="shared"?"Shared":`Owned by ${s}`}),o.jsx(XVt,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function Mys({providerId:e,toolkit:t,connections:n,groupedByAuthor:r,isAdmin:s,isLoading:a,error:i,disconnectPending:l,disconnectError:c,onDisconnect:u}){return o.jsxs("div",{className:"space-y-2 border rounded p-4",children:[o.jsx("h2",{className:"text-lg font-semibold",children:"Existing connections"}),!e||!t?o.jsx("p",{className:"text-gray-500",children:"Pick a provider and toolkit to list connections."}):a?o.jsx("p",{className:"text-gray-500",children:"Loading…"}):i?o.jsx("p",{className:"text-red-600",children:String(i)}):n.length===0?o.jsx("p",{className:"text-gray-500",children:"No connections."}):r?o.jsx($ys,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(XVt,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function Dys({providers:e,toolkits:t,providerId:n,toolkit:r,label:s,providersLoading:a,providersError:i,toolkitsLoading:l,toolkitsError:c,authorizePending:u,authorizeError:d,authorizedConnection:f,onProviderChange:p,onToolkitChange:h,onLabelChange:m,onConnect:v}){return o.jsxs("div",{className:"space-y-4 border rounded p-4",children:[o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"provider-select",children:"Provider"}),o.jsxs("select",{id:"provider-select",className:"border rounded px-2 py-1 w-full",value:n,onChange:y=>p(y.target.value),disabled:a,children:[o.jsx("option",{value:"",children:"— select provider —"}),e.map(y=>o.jsxs("option",{value:y.id,children:[y.displayName??y.name," (",y.id,")"]},y.id))]}),a&&o.jsx("span",{className:"text-gray-500",children:"Loading providers…"}),i?o.jsx("span",{className:"text-red-600",children:String(i)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"toolkit-select",children:"Toolkit"}),o.jsxs("select",{id:"toolkit-select",className:"border rounded px-2 py-1 w-full",value:r,onChange:y=>h(y.target.value),disabled:!n||l,children:[o.jsx("option",{value:"",children:"— select toolkit —"}),t.map(y=>o.jsxs("option",{value:y.slug,children:[y.name," (",y.slug,")"]},y.slug))]}),l&&o.jsx("span",{className:"text-gray-500",children:"Loading toolkits…"}),c?o.jsx("span",{className:"text-red-600",children:String(c)}):null]}),o.jsxs("div",{className:"space-y-1",children:[o.jsx("label",{className:"block font-medium",htmlFor:"label-input",children:"Label (optional)"}),o.jsx("input",{id:"label-input",type:"text",className:"border rounded px-2 py-1 w-full",placeholder:"My personal Gmail",value:s,onChange:y=>m(y.target.value),disabled:!n||!r})]}),o.jsx("button",{type:"button",className:"bg-blue-600 text-white rounded px-4 py-2 disabled:opacity-50",onClick:v,disabled:!n||!r||u,children:u?"Authorizing…":"Connect"}),d?o.jsx("p",{className:"text-red-600",children:String(d)}):null,f&&o.jsxs("p",{className:"text-green-700",children:["Authorized: ",f.connectionId," (status: ",f.status,")"]})]})}const ctt=e=>e.authorId?.trim()||"shared",Lys=(e,t)=>{if(!t||new Set(e.map(ctt)).size<=1)return null;const r=new Map;for(const a of e){const i=ctt(a);r.set(i,[...r.get(i)??[],a])}const s=Array.from(r.entries());return s.sort(([a],[i])=>a==="shared"?1:i==="shared"?-1:a.localeCompare(i)),s},Fys=["*","tool-providers:*","tool-providers:admin"];function zys(){const{data:e}=Pm();return e?.permissions?.some(t=>Fys.includes(t))??!1}function Bys(){const[e,t]=g.useState(""),[n,r]=g.useState(""),[s,a]=g.useState(""),i=YI(),l=ZZ(e||null),c=s3t(e||null,n||null),u=r3t(),d=e3t(),f=zys(),p=i.data?.providers??[],h=l.data?.data??[],m=g.useMemo(()=>c.data?.items??[],[c.data?.items]),v=g.useMemo(()=>Lys(m,f),[m,f]),y=S=>{t(S),r("")},b=()=>{!e||!n||u.mutate({providerId:e,toolkit:n,label:s.trim()||null},{onSuccess:()=>{a(""),c.refetch()}})},x=S=>{d.mutate({providerId:e,connectionId:S})};return o.jsxs("div",{className:"p-6 max-w-3xl space-y-6 text-sm",children:[o.jsx("h1",{className:"text-2xl font-semibold",children:"Integrations"}),o.jsx("p",{className:"text-gray-500",children:"Minimal page to verify the ToolProvider backend. Pick a provider and toolkit, then connect."}),o.jsx(Dys,{providers:p,toolkits:h,providerId:e,toolkit:n,label:s,providersLoading:i.isLoading,providersError:i.error,toolkitsLoading:l.isLoading,toolkitsError:l.error,authorizePending:u.isPending,authorizeError:u.error,authorizedConnection:u.data,onProviderChange:y,onToolkitChange:r,onLabelChange:a,onConnect:b}),o.jsx(Mys,{providerId:e,toolkit:n,connections:m,groupedByAuthor:v,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:x})]})}function Uys({title:e,description:t,errorBanner:n,children:r}){return o.jsx("div",{"data-testid":"login-page",className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsxs("div",{className:"w-full max-w-sm space-y-6",children:[o.jsxs("div",{className:"flex flex-col items-center space-y-2",children:[o.jsx(Bp,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-neutral6 text-xl font-semibold",children:e})]}),t,n,r]})})}function JVt({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=oc(),{mutate:i,isPending:l,error:c}=FPr(),{mutate:u,isPending:d,error:f}=BPr(),{mutate:p,isPending:h}=iMt(),[m,v]=g.useState(n),[y,b]=g.useState(""),[x,S]=g.useState(""),[k,_]=g.useState("");if(a)return o.jsx("div",{className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsx("div",{className:"text-neutral3",children:"Loading..."})});if(!s?.enabled||!s?.login)return o.jsx("div",{className:"bg-surface1 flex min-h-screen items-center justify-center",children:o.jsx("div",{className:"text-neutral3",children:"Authentication is not configured"})});const{login:C}=s,T=C.type==="sso"||C.type==="both",E=C.type==="credentials"||C.type==="both",N=C.sso,I=C.signUpEnabled!==!1,A=m==="signin"||!I,R=A?l:d,L=A?c:f,D=()=>{t?t():e?window.location.href=e:window.location.href=lG("/")},F=M=>{M.preventDefault(),A?i({email:x,password:k},{onSuccess:D}):u({email:x,password:k,name:y||void 0},{onSuccess:D})},H=()=>{p({redirectUri:e},{onSuccess:M=>{window.location.href=M.url}})},B=()=>{v(A?"signup":"signin")},z=C.description?o.jsxs("div",{className:"border-border1 bg-surface1 flex items-start gap-2.5 rounded-md border p-3",children:[o.jsx(jf,{className:"text-neutral4 mt-0.5 h-4 w-4 shrink-0"}),o.jsx("p",{className:"text-neutral3 text-sm",children:C.description})]}):null,V=r?o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:r}):null;return o.jsxs(Uys,{title:A?"Sign in to Mastra Studio":"Create your account",description:z,errorBanner:V,children:[E&&o.jsxs("form",{onSubmit:F,className:"space-y-4",children:[!A&&o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"name",className:"text-neutral4 block text-sm",children:"Name"}),o.jsx(An,{id:"name",type:"text",value:y,onChange:M=>b(M.target.value),placeholder:"Your name",variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"email",className:"text-neutral4 block text-sm",children:"Email"}),o.jsx(An,{id:"email",type:"email",value:x,onChange:M=>S(M.target.value),placeholder:"you@example.com",required:!0,variant:"default",size:"lg"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx("label",{htmlFor:"password",className:"text-neutral4 block text-sm",children:"Password"}),o.jsx(An,{id:"password",type:"password",value:k,onChange:M=>_(M.target.value),placeholder:A?"Enter your password":"Create a password",required:!0,variant:"default",size:"lg"})]}),L&&o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:L.message}),o.jsx(oe,{type:"submit",disabled:R,className:"w-full",size:"lg",children:R?A?"Signing in...":"Creating account...":A?"Sign in":"Create account"}),I&&o.jsxs("div",{className:"text-center text-sm",children:[o.jsx("span",{className:"text-neutral3",children:A?"Don't have an account? ":"Already have an account? "}),o.jsx("button",{type:"button",onClick:B,className:"text-neutral6 hover:underline",children:A?"Sign up":"Sign in"})]})]}),T&&E&&o.jsxs("div",{className:"relative",children:[o.jsx("div",{className:"absolute inset-0 flex items-center",children:o.jsx("div",{className:"border-border1 w-full border-t"})}),o.jsx("div",{className:"relative flex justify-center text-sm",children:o.jsx("span",{className:"bg-surface1 text-neutral3 px-2",children:"or continue with"})})]}),T&&N&&o.jsxs(oe,{onClick:H,disabled:h,className:"w-full",size:"lg",variant:"outline",children:[N.icon&&o.jsx("span",{className:"mr-2",children:N.icon}),h?"Redirecting...":N.text||"Sign in"]})]})}function qys(){const[e]=mi(),t=Kr(),n=e.get("redirect")||"/",s=e.get("mode")==="signup"?"signup":"signin",a=e.get("error_description")||e.get("error")||null,i=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(JVt,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function Vys({collapsed:e,children:t}){return o.jsx("section",{className:K("flex flex-col overflow-hidden rounded-xl border border-border1 bg-surface2",e?"h-auto":"h-full"),children:t})}function Hys({onClick:e,tooltip:t="Close panel",className:n}){return o.jsx(oe,{size:"md",onClick:e,"aria-label":"Close Panel",tooltip:t,className:n,children:o.jsx(Rc,{})})}function Wys(){return kI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"#939393",background:"transparent"},styles:[{tag:[de.className,de.propertyName]}]})}function Zys(){const e=Rt.theme({"&":{backgroundColor:"transparent",color:"var(--neutral6)",fontSize:"0.75rem"},"&.cm-editor .cm-scroller":{fontFamily:"var(--font-mono)"},".cm-gutters":{backgroundColor:"transparent",color:"var(--neutral2)",borderRight:"none"},".cm-content":{color:"var(--neutral6)",caretColor:"var(--neutral6)"},".cm-activeLine":{backgroundColor:"transparent"},".cm-activeLineGutter":{backgroundColor:"transparent"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--neutral6)"}}),t=Qg.define([{tag:[de.comment,de.bracket],color:"var(--neutral2)"},{tag:[de.string,de.meta,de.regexp],color:"var(--accent1)"},{tag:[de.atom,de.bool,de.special(de.variableName)],color:"var(--accent6)"},{tag:[de.keyword,de.operator,de.tagName],color:"var(--accent2)"},{tag:[de.function(de.propertyName),de.propertyName],color:"var(--accent5)"},{tag:[de.definition(de.variableName),de.function(de.variableName),de.className,de.attributeName],color:"var(--accent3)"},{tag:[de.variableName,de.number],color:"var(--accent5)"},{tag:[de.name,de.quote],color:"var(--accent1)"}]);return[e,rS(t)]}const Gys=()=>{const e=K_().resolvedTheme==="dark";return g.useMemo(()=>e?Wys():Zys(),[e])};function Qys({codeStr:e="",title:t,icon:n,simplified:r=!1,className:s}){const a=Gys(),[i,l]=g.useState(!1),c=g.useMemo(()=>{try{const f=JSON.parse(e);return Wxe(f||"")}catch{return!1}},[e]),u=i?e?.replace(/\\n/g,`
|
|
643
643
|
`):e,d=r||i;return!e||e==="null"?null:o.jsxs("div",{className:K("flex flex-col gap-2",s),children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{className:K("flex items-center gap-1.5 text-ui-xs tracking-widest text-neutral2 uppercase","[&>svg]:size-3.5"),children:[n,t]}),o.jsxs(ds,{children:[o.jsx(Sa,{content:e||"No content",size:"sm"}),c&&o.jsx(oe,{size:"sm","aria-label":i?"Show escaped newlines":"Show multiline text",onClick:()=>l(f=>!f),children:i?o.jsx(Q$,{}):o.jsx(z7,{})})]})]}),o.jsx("div",{className:"border-border1 bg-surface3 text-ui-sm text-neutral4 max-h-[30vh] overflow-hidden overflow-y-auto rounded-lg border p-3 break-all dark:border-white/10 dark:bg-black/20",children:d?o.jsx("div",{className:"text-neutral4 font-mono break-all",children:o.jsx("pre",{className:"text-wrap",children:u})}):o.jsx(ed,{extensions:[Jj(),Rt.lineWrapping],theme:a,value:e,editable:!1})})]})}function Wxe(e){if(typeof e=="string"){const t=e.indexOf(`
|
|
644
|
-
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Wxe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Wxe(t))}return!1}function Yys({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function Kys({className:e,children:t}){return o.jsx("div",{className:K("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function Xys({className:e,children:t}){return o.jsx("h3",{className:K("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function Jys({className:e,children:t}){return o.jsx("dl",{className:K("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function ebs({className:e,children:t}){return o.jsx("dt",{className:K("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function tbs({className:e,children:t}){return o.jsx("dd",{className:K("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function nbs({className:e,children:t}){return o.jsx("dt",{className:K("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const rbs=Object.assign(Jys,{Key:ebs,Value:tbs,Header:nbs});function sbs({children:e}){return o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center justify-center gap-2 px-4 py-6",children:[o.jsx(qt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function abs({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const Li=Object.assign(Vys,{Header:Kys,Heading:Xys,CloseButton:Hys,LoadingData:sbs,NoData:abs,Content:Yys,KeyValueList:rbs,CodeSection:Qys}),fp=Li.KeyValueList;function ibs(e){return e instanceof Date?e:new Date(e)}function obs({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=g.useState(!1),d=i??c,f=l??u,p=ibs(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(Li,{collapsed:d,children:[o.jsxs(Li.Header,{children:[o.jsxs(Li.Heading,{children:["Log ",o.jsx("b",{children:hr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(ds,{className:"ml-auto shrink-0",children:[l&&o.jsx(oe,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(_H,{}):o.jsx(J1e,{})}),o.jsxs(ds,{spacing:"close",children:[o.jsx(oe,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(kH,{})}),o.jsx(oe,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(wH,{})})]}),o.jsx(Li.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(Li.Content,{children:[o.jsx("p",{className:"text-ui-md text-neutral4 font-mono wrap-break-word whitespace-pre-wrap",children:e.message}),(h||m)&&o.jsxs("div",{className:K("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(ds,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(B7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Sa,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(ds,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(B7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Sa,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(fp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Type"}),o.jsx(fp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Name"}),o.jsx(fp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Service"}),o.jsx(fp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Environment"}),o.jsx(fp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Source"}),o.jsx(fp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([v,y])=>o.jsxs(g.Fragment,{children:[o.jsx(fp.Key,{children:v}),o.jsx(fp.Value,{children:String(y)})]},v))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(Li.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function lbs({error:e,resource:t,errorTitle:n}){if(xs(e))return o.jsx(Hs,{});if(ws(e))return o.jsx(Ds,{resource:t});if(R4(e))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Observability storage is not available",descriptionSlot:"The observability storage domain is disabled or not configured. Enable it in your storage configuration to view logs in Studio."});if(A4(e,"logs"))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(Ui,{title:n,message:r??"Unknown error"})}function cbs({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:K("grid h-full min-h-0 items-start gap-4",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:K("grid h-full gap-4 overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const ubs={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function dbs({level:e}){const t=ubs[e];return o.jsx(co,{children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function fbs({entityType:e,className:t}){const n=K("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(qi,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(Su,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Mf,{className:n,"aria-hidden":!0});default:return null}}function pbs({entityType:e,entityName:t}){const n=e??"";return o.jsxs(co,{className:"flex min-w-0 items-center gap-2",children:[o.jsx(fbs,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function hbs({message:e}){return o.jsx(co,{className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function mbs({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(co,{children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(qTe,{font:"mono",children:t})}const Zl=Object.assign(U4,{Top:tG,TopCell:mC,TopCellWithTooltip:nG,TopCellSmart:G3t,RowWrapper:WTe,RowButton:q4,RowLink:Z3t,Spacer:ZTe,NoMatch:eG,DateCell:V3t,TimeCell:H3t,LevelCell:dbs,EntityCell:pbs,MessageCell:hbs,DataCell:mbs,NextPageLoading:JZ}),utt="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",gbs=36,vbs=8;function ybs({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=g.useRef(null),u=cqt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>gbs,overscan:vbs}),{getRowProps:d}=So({count:e.length,containerRef:c,onNavigate:y=>u.scrollToIndex(y)}),f=g.useRef(t);if(g.useEffect(()=>{f.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),f.current=t},[t]),t)return o.jsx(Pl,{columns:utt});const p=u.getVirtualItems(),h=u.getTotalSize(),m=p[0]?.start??0,v=p.length>0?Math.max(0,h-(p[p.length-1]?.end??0)):0;return o.jsxs(Zl,{columns:utt,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Zl.Top,{children:[o.jsx(Zl.TopCell,{children:"Date"}),o.jsx(Zl.TopCell,{children:"Time"}),o.jsx(Zl.TopCell,{children:"Level"}),o.jsx(Zl.TopCell,{children:"Entity"}),o.jsx(Zl.TopCell,{children:"Message"}),o.jsx(Zl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Zl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Zl.Spacer,{height:m}),p.map(y=>{const b=e[y.index];if(!b)return null;const x=a.get(b);if(!x)return null;const S=x===i;return o.jsxs(Zl.RowButton,{ref:u.measureElement,"data-index":y.index,...d(y.index),onClick:()=>l(b),featured:S,variant:b.level==="error"||b.level==="fatal"?"error":"default",children:[o.jsx(Zl.DateCell,{timestamp:b.timestamp}),o.jsx(Zl.TimeCell,{timestamp:b.timestamp}),o.jsx(Zl.LevelCell,{level:b.level}),o.jsx(Zl.EntityCell,{entityType:b.entityType,entityName:b.entityName}),o.jsx(Zl.MessageCell,{message:b.message}),o.jsx(Zl.DataCell,{data:b.data})]},x)}),o.jsx(Zl.Spacer,{height:v})]}),o.jsx(Zl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function bbs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>xbs(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(MAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(PAe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function xbs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const wbs={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},Mie="MMM d, yyyy HH:mm",Die="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Sbs({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${wbs[e]}`,description:Die}:t&&n?{title:`No logs between ${hr(t,Mie)} and ${hr(n,Mie)}`,description:Die}:t?{title:`No logs since ${hr(t,Mie)}`,description:Die}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const kbs=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Sbs({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Eyt,{})]})})})},Obs=20,_bs=1e4;function Cbs(e,t,n){if(e?.pagination?.hasMore)return n+1}function Ebs(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function Tbs(e){return A4(e.state.error,"logs")||R4(e.state.error)?!1:_bs}const jbs=({filters:e}={})=>{const t=Ze(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Obs},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Cbs,select:Ebs,retry:!1,refetchInterval:Tbs}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return g.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Kz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},eHt=[{label:"Agent",entityType:Kz.AGENT},{label:"Workflow",entityType:Kz.WORKFLOW},{label:"Scorer",entityType:Kz.SCORER},{label:"Ingest",entityType:Kz.INGEST}],Nbs=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Kx="rootEntityType",Jb="datePreset",ex="dateFrom",tx="dateTo",Ibs=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),_l={level:"filterLevel",tags:"filterTags",entityName:"filterEntityName",traceId:"filterTraceId",spanId:"filterSpanId",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId"},zL=Object.keys(_l),JAe=new Set(["tags"]),eRe="mastra:logs:saved-filters";function Abs(e,t=eRe){const n=Dbs(e),r=e.get(Jb);r&&n.set(Jb,r);const s=e.get(ex);s&&n.set(ex,s);const a=e.get(tx);a&&n.set(tx,a);try{localStorage.setItem(t,n.toString())}catch{}}function Rbs(e=eRe){try{localStorage.removeItem(e)}catch{}}function dtt(e=eRe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Pbs(e){if(e.has(Jb)||e.has(ex)||e.has(tx)||e.has(Kx))return!0;for(const t of zL)if(e.has(_l[t]))return!0;return!1}function $bs({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:eHt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"level",label:"Level",kind:"pick-multi",searchable:!1,options:Nbs.map(u=>({label:u.label,value:u.value})),placeholder:"Choose level",emptyText:"No levels."},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"traceId",label:"Trace ID",kind:"text"},{id:"spanId",label:"Span ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"threadId",label:"Thread ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function Mbs(e){const t=[],n=new Map([[Kx,"rootEntityType"]]);for(const s of zL)n.set(_l[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),JAe.has(a)){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function Dbs(e){const t=new URLSearchParams,n=e.get(Kx);n&&t.set(Kx,n);for(const r of zL){const s=_l[r];if(JAe.has(r)){for(const i of e.getAll(s))t.append(s,i);continue}const a=e.get(s);a&&t.set(s,a)}return t}function Lbs(e,t){e.delete(Kx);for(const n of zL)e.delete(_l[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Kx,n.value);continue}const r=_l[n.fieldId];if(r){if(JAe.has(n.fieldId)&&Array.isArray(n.value)){if(n.value.length===0)e.append(r,"");else for(const s of n.value)e.append(r,s);continue}typeof n.value=="string"&&e.set(r,n.value.trim())}}}function Fbs({rootEntityType:e,dateFrom:t,dateTo:n,tokens:r}){const s={};e&&(s.rootEntityType=e),(t||n)&&(s.timestamp={...t?{start:t}:{},...n?{end:n}:{}});for(const a of r){if(a.fieldId==="tags"){Array.isArray(a.value)&&a.value.length>0?s.tags=a.value:typeof a.value=="string"&&a.value.trim()&&(s.tags=[a.value.trim()]);continue}if(a.fieldId==="level"){typeof a.value=="string"&&a.value.trim()&&a.value!=="Any"&&(s.level=a.value);continue}if(typeof a.value=="string"&&a.value.trim()&&a.value!=="Any")switch(a.fieldId){case"entityName":s.rootEntityName=a.value;break;case"traceId":s.traceId=a.value;break;case"spanId":s.spanId=a.value;break;case"runId":s.runId=a.value;break;case"threadId":s.threadId=a.value;break;case"sessionId":s.sessionId=a.value;break;case"requestId":s.requestId=a.value;break;case"resourceId":s.resourceId=a.value;break;case"userId":s.userId=a.value;break;case"organizationId":s.organizationId=a.value;break;case"serviceName":s.serviceName=a.value;break;case"environment":s.environment=a.value;break;case"experimentId":s.experimentId=a.value;break}}return s}function zbs(e,t){return t.map(n=>{const r=e.find(s=>s.id===n.fieldId);return r?r.kind==="text"?{fieldId:n.fieldId,value:""}:r.kind==="pick-multi"?r.multi?{fieldId:n.fieldId,value:[]}:{fieldId:n.fieldId,value:"Any"}:n:n})}const Bbs="Filters setting for Logs saved",Ubs="Filters setting for Logs cleared up";function qbs(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=g.useState(()=>dtt(r)!==null),c=g.useCallback(()=>{Abs(e,r),l(!0);const f=s?.saved??Bbs;f!==!1&&Be.success(f)},[e,r,s?.saved]),u=g.useCallback(()=>{Rbs(r),l(!1);const f=s?.cleared??Ubs;f!==!1&&Be.success(f)},[r,s?.cleared]),d=g.useRef(!1);return g.useEffect(()=>{if(a||d.current||(d.current=!0,Pbs(e)))return;const f=dtt(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,v]of f)h.append(m,v);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Vbs(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function Hbs(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Vbs(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Wbs(e,t,n,r){const s=g.useMemo(()=>Hbs(e),[e]),a=g.useMemo(()=>{const h=new Map;for(const[m,v]of e.entries()){const y=s.get(v);y&&h.set(y,{log:v,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=g.useCallback(h=>s.get(h),[s]),d=g.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const Zxe="logId",Gxe="traceId",Qxe="spanId",SP=1440*60*1e3,Zbs={"last-24h":SP,"last-3d":3*SP,"last-7d":7*SP,"last-14d":14*SP,"last-30d":30*SP};function Xz(e){e.delete(Zxe),e.delete(Gxe),e.delete(Qxe)}function Gbs(e,t,n){const{onRemoveAll:r}={},s=g.useMemo(()=>{const _=e.get(Jb);return _&&Ibs.has(_)?_:"last-24h"},[e]),a=e.get(ex),i=e.get(tx),l=g.useMemo(()=>{if(s==="custom"){if(!a)return;const C=new Date(a);return Number.isNaN(C.getTime())?void 0:C}if(s==="all")return;const _=Zbs[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=g.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=g.useRef(s);u.current=s;const d=e.get(Zxe),f=e.get(Gxe),p=e.get(Qxe),h=g.useMemo(()=>eHt.find(_=>_.entityType===e.get(Kx)),[e]),m=g.useMemo(()=>Mbs(e),[e]),v=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);for(const[E,N]of Object.entries(_)){const I=E==="logId"?Zxe:E==="traceId"?Gxe:Qxe;N?T.set(I,N):T.delete(I)}return T},{replace:!0})},[t]),y=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);return Lbs(T,_),Xz(T),T},{replace:!0})},[t]),b=y,x=g.useCallback((_,C)=>{if(u.current!=="custom")return;const T=C==="from"?ex:tx;t(E=>{const N=new URLSearchParams(E);return _?N.set(T,_.toISOString()):N.delete(T),Xz(N),N},{replace:!0})},[t]),S=g.useCallback(_=>{u.current=_,t(C=>{const T=new URLSearchParams(C);return _==="last-24h"?(T.delete(Jb),T.delete(ex),T.delete(tx)):_==="custom"?T.set(Jb,"custom"):(T.set(Jb,_),T.delete(ex),T.delete(tx)),Xz(T),T},{replace:!0})},[t]),k=g.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(Kx);for(const T of zL)C.delete(_l[T]);return C.delete(Jb),C.delete(ex),C.delete(tx),Xz(C),C},{replace:!0}),r?.()},[t,r]);return g.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:v,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,v,b,x,S,k,y])}const Eb=Li.KeyValueList;function Qbs({spanId:e,span:t,isLoading:n,onClose:r}){const s=TQ(t?.startedAt,t?.endedAt),a=lV(t?.startedAt),i=lV(t?.endedAt);return o.jsxs(Li,{children:[o.jsxs(Li.Header,{children:[o.jsxs(Li.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Li.CloseButton,{onClick:r})]}),n?o.jsx(Li.LoadingData,{children:"Loading span..."}):t?o.jsxs(Li.Content,{children:[o.jsxs(Eb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Type"}),o.jsx(Eb.Value,{children:t.spanType})]}),a&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Started"}),o.jsx(Eb.Value,{children:a})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Ended"}),o.jsx(Eb.Value,{children:i})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Duration"}),o.jsx(Eb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(Li.CodeSection,{title:"Input",icon:o.jsx(wme,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(Li.CodeSection,{title:"Output",icon:o.jsx(Sme,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(Li.CodeSection,{title:"Metadata",icon:o.jsx(rx,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(Li.CodeSection,{title:"Attributes",icon:o.jsx(rx,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(Li.NoData,{children:"Span not found."})]})}function Ybs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=g.useMemo(()=>wAe(t??[]),[t]),[l,c]=g.useState([]);g.useEffect(()=>{i.length>0&&c(SAe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(Li,{children:[o.jsxs(Li.Header,{children:[o.jsxs(Li.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Li.CloseButton,{onClick:r})]}),n?o.jsx(Li.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(Li.NoData,{children:"No spans found for this trace."}):o.jsx(Li.Content,{children:o.jsx(Oqt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function Kbs(){const[e,t]=mi(),n=Gbs(e,t),r=qbs(e,t),[s,a]=g.useState(),[i,l]=g.useState(!1),{data:c=[],isPending:u}=qAe(),{data:d=[],isPending:f}=zAe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=BAe(),{data:m=[],isPending:v}=UAe(),y=g.useMemo(()=>$bs({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:v,environments:h}}),[c,d,m,p,u,f,v,h]),b=g.useMemo(()=>Fbs({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=jbs({filters:b}),{logIdMap:E,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Wbs(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=gqt(n.featuredTraceId??null),{data:F,isLoading:H}=jQ(n.featuredTraceId??"",n.featuredSpanId??""),B=g.useCallback(()=>n.applyFilterTokens(zbs(y,n.filterTokens)),[y,n]),z=g.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),V=g.useCallback(Y=>n.handleFeaturedChange({traceId:Y,spanId:null}),[n]),M=g.useCallback((Y,ne)=>n.handleFeaturedChange({traceId:Y,spanId:ne}),[n]),G=g.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),U=g.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=g.useCallback(Y=>n.handleFeaturedChange({spanId:Y??null}),[n]),q=o.jsxs(Ht.TopArea,{children:[o.jsx(Ht.Row,{children:o.jsxs(Ht.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(N4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(DAe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(bbs,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:B,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Ht,{width:"wide",height:"full",children:[q,o.jsx(Ht.MainArea,{isCentered:!0,children:o.jsx(lbs,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!S&&!Z?o.jsxs(Ht,{width:"wide",height:"full",children:[q,o.jsx(Ht.MainArea,{isCentered:!0,children:o.jsx(kbs,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ht,{width:"wide",height:"full",children:[q,o.jsx(cbs,{logCollapsed:i,listSlot:o.jsx(ybs,{logs:x,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,logIdMap:E,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(obs,{log:N,onClose:z,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(Ybs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Qbs,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:U}):null})]})}function Xbs({server:e,rowProps:t}){const{paths:n,Link:r}=dn(),a=Ze().options.baseUrl,i=a?`${a}/api/mcp/${e.id}/sse`:"",{data:l}=yBt(e),c=Object.values(l||{}),u=c.length,d=c.filter(h=>h.toolType==="agent").length,f=c.filter(h=>h.toolType==="workflow").length,p=Yh(e.name,50);return o.jsxs(be.RowLink,{to:n.mcpServerLink(e.id),LinkComponent:r,...t,children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:i}),o.jsx(be.TextCell,{className:"text-center",children:d||""}),o.jsx(be.TextCell,{className:"text-center",children:u||""}),o.jsx(be.TextCell,{className:"text-center",children:f||""})]})}function Jbs({mcpServers:e,isLoading:t,search:n=""}){const r=g.useMemo(()=>{const i=n.toLowerCase();return e.filter(l=>l.name?.toLowerCase().includes(i)||l.id?.toLowerCase().includes(i))},[e,n]),{containerRef:s,getRowProps:a}=So({count:r.length});return t?o.jsx(Pl,{columns:"auto 1fr auto auto auto"}):o.jsxs(be,{columns:"auto 1fr auto auto auto",variant:"striped",scrollRef:s,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"URL"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(qi,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Tools",short:o.jsx(Mf,{}),tooltip:"Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Workflows",short:o.jsx(Su,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(be.NoMatch,{message:"No MCP Servers match your search"}):null,r.map((i,l)=>o.jsx(Xbs,{server:i,rowProps:a(l)},i.id))]})}const exs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(fs,{})]})})}),txs=()=>{const{data:e=[],isLoading:t,error:n}=bQ(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(or,{children:o.jsx(Hs,{})}):n&&ws(n)?o.jsx(or,{children:o.jsx(Ds,{resource:"MCP servers"})}):n?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(or,{children:o.jsx(exs,{})}):o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(rh,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(Jbs,{mcpServers:e,isLoading:t,search:r})]})},nxs=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function rxs({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=dn(),i=g.useMemo(()=>nxs(e,t),[e,t]),l=g.useMemo(()=>i.filter(d=>d.id.toLowerCase().includes(r.toLowerCase())),[i,r]),{containerRef:c,getRowProps:u}=So({count:l.length});return n?o.jsx(Pl,{columns:"auto 1fr auto"}):o.jsxs(be,{columns:"auto 1fr auto",variant:"striped",scrollRef:c,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"Description"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(qi,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(be.NoMatch,{message:"No Tools match your search"}):null,l.map((d,f)=>{const p=Yh(d.id,50),h=Yh(d.description??"",200),m=d.agents.length;return o.jsxs(be.RowLink,{to:s.toolLink(d.id),LinkComponent:a,...u(f),children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:h}),o.jsx(be.TextCell,{className:"text-center",children:m||""})]},d.id)})]})}const sxs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(fs,{})]})})}),axs=()=>{const e=Ze();return Rn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new A_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Be.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},ixs=({toolId:e})=>{const{canExecute:t}=Co(),n=t("tools"),{data:r={}}=$m(),s=g.useMemo(()=>{for(const v of Object.values(r))if(v.tools){const y=Object.values(v.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=JRr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=axs(),{requestContext:p}=ms();g.useEffect(()=>{if(l){const v=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${v}`)}},[l]);const h=async(v,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:v,requestContext:b})},m=c?.inputSchema?gm(jx(c?.inputSchema)):ys({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(jt,{className:"mb-4 h-8 w-48"}),o.jsx(jt,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(KIe,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function oxs({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=GI(),{data:p={},isLoading:h,isError:m,error:v}=$m(),{navigate:y,paths:b}=dn();g.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";Be.error(`Error loading tools: ${_}`)}},[d,f]),g.useEffect(()=>{if(m){const _=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${_}`)}},[m,v]);const x=new Map;Object.values(p).forEach(_=>{_.tools&&Object.values(_.tools).forEach(C=>{x.has(C.id)||x.set(C.id,C)})}),Object.values(c).forEach(_=>{x.has(_.id)||x.set(_.id,_)});const S=Array.from(x.values()).map(_=>({label:_.id,value:_.id})),k=_=>{t?t(_):_&&_!==e&&y(b.toolLink(_))};return o.jsx(gl,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const lxs=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=g.useState({sseUrl:"",httpStreamUrl:""});if(g.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(Wx,{children:o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral3 py-20 text-center font-medium",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(Wx,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral6 pb-4 font-medium",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(St,{icon:o.jsx(wqt,{}),size:"sm",children:"Version"}),o.jsx(St,{size:"sm",children:t.version_detail.version})]}),o.jsx(ge,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(St,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Sa,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(St,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Sa,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(St,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Sa,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(cxs,{server:t})})]})},cxs=({server:e})=>{const{data:t={},isLoading:n}=yBt(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(OC,{})}),o.jsx(ge,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(dxs,{tool:a,serverId:e.id},s)})})]})};function uxs(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const dxs=({tool:e,serverId:t})=>{const n=g.useRef(null),{Link:r,paths:s}=dn(),a=CBt[e.toolType||"tool"],i=uxs(e._meta);return o.jsxs(Uf,{onClick:()=>n.current?.click(),children:[o.jsx(n3t,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Vf,{children:[o.jsx(qf,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(St,{size:"xs",children:"App"})]})}),o.jsx(sh,{children:e.description})]})]})},fxs=()=>{const{serverId:e}=mr(),{data:t=[],isLoading:n}=bQ(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(lxs,{isLoading:n,server:r})})};function pxs(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const hxs=({toolId:e,serverId:t})=>{const{canExecute:n}=Co(),r=n("tools"),s=Ze(),{data:a,isLoading:i,error:l}=QIe(t,e),{mutateAsync:c,isPending:u,data:d}=Bss(t,e),f=a?pxs(a._meta):void 0,{data:p}=yt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=g.useCallback(async(y,b)=>await c(b),[c]);g.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(jt,{className:"mb-4 h-8 w-48"}),o.jsx(jt,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let v;try{v=gm(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),Be.error("Failed to process tool input schema."),v=ys({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-border1 border-b p-4",children:o.jsx(vBt,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(KIe,{executionResult:d,isExecutingTool:u,zodInputSchema:v,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},mxs=()=>{const{serverId:e,toolId:t}=mr(),{data:n,isLoading:r}=QIe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(hxs,{toolId:t,serverId:e})})},tHt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],GN="rootEntityType",QN={tags:"filterTags",entityId:"filterEntityId",entityName:"filterEntityName",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId",provider:"filterProvider",model:"filterModel"},GQ=Object.keys(QN),tRe="mastra:metrics:saved-filters";function gxs(e){const t=wxs(e);try{localStorage.setItem(tRe,t.toString())}catch{}}function vxs(){try{localStorage.removeItem(tRe)}catch{}}function nHt(){try{const e=localStorage.getItem(tRe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function yxs(e){if(e.has(GN))return!0;for(const t of GQ)if(e.has(QN[t]))return!0;return!1}function bxs({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:tHt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"entityId",label:"Primitive ID",kind:"text"},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"threadId",label:"Thread ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function xxs(e){const t=[],n=new Map([[GN,"rootEntityType"]]);for(const s of GQ)n.set(QN[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),a==="tags"){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}if(a==="rootEntityType"||a==="entityName"||a==="serviceName"||a==="environment"||a==="provider"||a==="model"){const l=e.getAll(s);if(l.length>1){t.push({fieldId:a,value:l});continue}}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function wxs(e){const t=new URLSearchParams,n=e.getAll(GN);for(const r of n)t.append(GN,r);for(const r of GQ){const s=QN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Sxs(e,t){e.delete(GN);for(const n of GQ)e.delete(QN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?GN:QN[n.fieldId];if(r)if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string"&&a!=="");if(s.length===0){n.fieldId==="tags"&&e.append(r,"");continue}for(const a of s)e.append(r,a)}else typeof n.value=="string"&&e.set(r,n.value.trim())}}const kxs="Any";function ftt(e){const t=e.trim();return t===""||t===kxs}const Oxs=new Set(tHt.map(e=>e.entityType));function ptt(e){const t=e.trim();return Oxs.has(t)?t:void 0}function _xs(e){const t={};for(const n of e){const r=n.fieldId;if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string").map(a=>a.trim()).filter(a=>!ftt(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?ptt(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(ftt(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=ptt(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const rHt=[{label:"Last 24 hours",value:"24h"},{label:"Last 3 days",value:"3d"},{label:"Last 7 days",value:"7d"},{label:"Last 14 days",value:"14d"},{label:"Last 30 days",value:"30d"}],Cxs=new Set(rHt.map(e=>e.value));function Exs(e){return typeof e=="string"&&(Cxs.has(e)||e==="custom")}const sHt=g.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function QQ(){return g.useContext(sHt)}function Txs(e,t){return e!=="custom"?rHt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${hr(t.from,"MMM d, yyyy")} – ${hr(t.to,"MMM d, yyyy")}`:hr(t.from,"MMM d, yyyy"):"Custom range"}function jxs({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=g.useMemo(()=>JSON.stringify(n),[n]),d=g.useMemo(()=>n,[u]),f=g.useMemo(()=>_xs(d),[d]),p=g.useMemo(()=>JSON.stringify(f),[f]),h=Txs(t,a),m=g.useMemo(()=>({datePreset:t,setDatePreset:r,customRange:a,setCustomRange:i??(()=>{}),dateRangeLabel:h,filterTokens:d,setFilterTokens:s,dimensionalFilter:f,dimensionalFilterKey:p,tracesBasePath:l,logsBasePath:c}),[t,r,a,i,h,d,s,f,p,l,c]);return o.jsx(sHt.Provider,{value:m,children:e})}const Nxs=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Ixs(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Axs(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function Rxs(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=QQ(),s=g.useRef(e);s.current=e;const a=g.useRef(n);return a.current=n,o.jsx(N4,{preset:Ixs(e),onPresetChange:i=>{const l=Axs(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:Nxs})}const Yxe=1440*60*1e3,Pxs={"24h":Yxe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function $xs(e,t,n){if(e!=="custom"){const r=Pxs[e]??Yxe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Yxe),end:t?.to??new Date(n)}}function Fm(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=QQ(),s=g.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=g.useMemo(()=>$xs(e,t,i),[e,t,i]),c=g.useMemo(()=>({timestamp:l,...n}),[l,r]),u=g.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function aHt(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function BL({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(xme,{})})}function Mxs({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(wRn,{})})}function Dxs(e){return e==="agents"||e==="workflows"||e==="tools"}function htt(e,t){if(e.length===0)return"0";const n=e.reduce((r,s)=>{const a=s[t];return r+(typeof a=="number"&&Number.isFinite(a)?a:0)},0);return`${Math.round(n/e.length)}`}function Lxs(e){const t=e;return typeof t?.tsMs=="number"&&Number.isFinite(t.tsMs)}const Fxs=[{dataKey:"p50",label:"p50",color:qp.blue,aggregate:e=>({value:htt(e,"p50"),suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:qp.yellow,aggregate:e=>({value:htt(e,"p95"),suffix:"avg ms"})}];function Lie({data:e,onPointClick:t}){return e.length===0?o.jsx(Ut.NoData,{message:"No latency data yet"}):o.jsx(kD,{data:e,series:Fxs,onPointClick:t?n=>Lxs(n)?t(n):void 0:void 0})}function zxs({data:e,isLoading:t,isError:n,onPointClick:r,actions:s}){const a=(e?.agentData.length??0)>0,i=(e?.workflowData.length??0)>0,l=(e?.toolData.length??0)>0,c={agents:a,workflows:i,tools:l},u=a?"agents":i?"workflows":l?"tools":"agents",[d,f]=g.useState("agents"),p=c[d]?d:u,h=typeof s=="function"?s(p):s,m=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),v=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=v.length>0?`${Math.round(v.reduce((b,x)=>b+x,0)/v.length)}ms`:"—";return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Ut.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Ut.Actions,{children:h}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load latency data"}):o.jsx(Ut.Content,{children:m?o.jsxs(pc,{value:p,onValueChange:b=>{Dxs(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(Ir,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(Ir,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(cs,{value:"agents",children:o.jsx(Lie,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(cs,{value:"workflows",children:o.jsx(Lie,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(cs,{value:"tools",children:o.jsx(Lie,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Ut.NoData,{message:"No latency data yet"})})]})}function Bxs(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Uxs(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function iHt(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=Bxs(s);l&&e.set(t,l)}function Po(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function oHt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function mtt({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Fw,"branches"),iHt(a,zw,Bw,Uw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Qx,i),r.status&&a.set(Yx,r.status),Po(a,Ol.entityName,r.entityName??n.entityName),Po(a,Ol.threadId,r.threadId??n.threadId),Po(a,Ol.resourceId,r.resourceId??n.resourceId),Po(a,Ol.entityId,n.entityId),Po(a,Ol.runId,n.runId),Po(a,Ol.sessionId,n.sessionId),Po(a,Ol.requestId,n.requestId),Po(a,Ol.userId,n.userId),Po(a,Ol.organizationId,n.organizationId),Po(a,Ol.experimentId,n.experimentId),Po(a,Ol.serviceName,n.serviceName),Po(a,Ol.environment,n.environment),oHt(a,Ol.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function qxs({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;iHt(a,Jb,ex,tx,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Kx,i),Po(a,_l.entityName,r.entityName??n.entityName),Po(a,_l.threadId,r.threadId??n.threadId),Po(a,_l.resourceId,r.resourceId??n.resourceId),Po(a,_l.runId,n.runId),Po(a,_l.sessionId,n.sessionId),Po(a,_l.requestId,n.requestId),Po(a,_l.userId,n.userId),Po(a,_l.organizationId,n.organizationId),Po(a,_l.experimentId,n.experimentId),Po(a,_l.serviceName,n.serviceName),Po(a,_l.environment,n.environment),oHt(a,_l.tags,n.tags),r.status==="error"&&a.append(_l.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function fA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=QQ(),a=g.useCallback((c={})=>mtt({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=g.useCallback((c={})=>qxs({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=g.useCallback((c,u,d)=>{const f=Uxs(u,d);return mtt({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const lHt="1h";async function Fie(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:lHt,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Vxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Fie(e,"mastra_agent_duration_ms",t),Fie(e,"mastra_workflow_duration_ms",t),Fie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:lHt}}})}const gtt={agents:Gu.AGENT,workflows:Gu.WORKFLOW_RUN,tools:Gu.TOOL};function Hxs(){const{data:e,isLoading:t,isError:n}=Vxs(),{getTracesHref:r,getBucketTracesHref:s}=fA(),{Link:a}=dn(),i=Kr();return o.jsx(zxs,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:gtt[l]},c.tsMs,"1h"))},actions:l=>o.jsx(BL,{href:r({rootEntityType:gtt[l]}),LinkComponent:a})})}function Wxs(e){return e==="threads"||e==="resources"}function zie(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Zxs({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,v=typeof s=="function"?s(i):s;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Ut.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Ut.Summary,{value:h.toLocaleString(),label:"Total threads"}),v?o.jsx(Ut.Actions,{children:v}):null]}),m.isLoading?o.jsx(Ut.Loading,{}):m.isError?o.jsx(Ut.Error,{message:"Failed to load memory data"}):o.jsx(Ut.Content,{children:o.jsxs(pc,{defaultTab:"threads",value:i,onValueChange:y=>{Wxs(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"threads",children:"Threads"}),o.jsx(Ir,{value:"resources",children:"Resources"})]}),o.jsx(cs,{value:"threads",children:d?o.jsxs(be,{columns:"auto auto auto auto auto",...Fxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:zie(y.threadId)}),o.jsx(be.NumberCell,{children:y.resourceId?zie(y.resourceId):"—"}),o.jsx(be.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?rl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Ut.NoData,{message:"No thread activity yet"})}),o.jsx(cs,{value:"resources",children:f?o.jsxs(be,{columns:"auto auto auto auto",...Fxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:zie(y.resourceId)}),o.jsx(be.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?rl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Ut.NoData,{message:"No resource activity yet"})})]})})]})}const Bie=20;function Gxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:Bie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Bie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Bie})]),l=new Map,c=d=>dA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const Uie=20;function Qxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:Uie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Uie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Uie})]),l=new Map,c=d=>dA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function Yxs(){const e=Gxs(),t=Qxs(),{getTracesHref:n}=fA(),{Link:r}=dn();return o.jsx(Zxs,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function UL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:e}),o.jsx(Qr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Qr.Error,{}):s?o.jsx(Qr.Loading,{}):i?r!=null?o.jsx(Qr.Change,{changePct:r,prevValue:n}):o.jsx(Qr.NoChange,{}):o.jsx(Qr.NoData,{})]})}function Kxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function Xxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function Jxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function e0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function t0s(){const{data:e,isLoading:t,isError:n}=aHt();return o.jsx(UL,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function n0s(){const{data:e,isLoading:t,isError:n}=Jxs();return o.jsx(UL,{label:"Total Model Cost",value:e?.cost!=null?Up(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?Up(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function r0s(){const{data:e,isLoading:t,isError:n}=e0s();return o.jsx(UL,{label:"Total Tokens",value:e?.value!=null?rl(e.value):null,prevValue:e?.previousValue!=null?rl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function s0s(){const{data:e,isLoading:t,isError:n}=Xxs();return o.jsx(UL,{label:"Total Threads",value:e?.value!=null?rl(e.value):null,prevValue:e?.previousValue!=null?rl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function a0s(){const{data:e,isLoading:t,isError:n}=Kxs();return o.jsx(UL,{label:"Total Resources",value:e?.value!=null?rl(e.value):null,prevValue:e?.previousValue!=null?rl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function i0s({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>o0s(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(MAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(PAe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function o0s(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function l0s({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?Up(l):"—":c.size===1?u=l>0?Up(l,[...c][0]):"—":u="Mixed",o.jsx(Ut.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Ut.Actions,{children:s}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load model usage data"}):o.jsx(Ut.Content,{children:i?o.jsxs(be,{columns:"auto auto auto auto auto auto",...Fxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Model"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:l.model}),o.jsx(be.NumberCell,{children:l.input}),o.jsx(be.NumberCell,{children:l.output}),o.jsx(be.NumberCell,{children:l.cacheRead}),o.jsx(be.NumberCell,{children:l.cacheWrite}),o.jsx(be.NumberCell,{highlight:!0,children:l.cost!=null?Up(l.cost,l.costUnit):"—"})]});return c?o.jsx(be.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(be.RowStatic,{children:u},l.model)})]}):o.jsx(Ut.NoData,{message:"No model usage data yet"})})]})}function c0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t})));if(!r||!s||!a||!i)return[];const l=new Map,c=d=>dA(l,d,()=>({input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null})),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:rl(f.input),output:rl(f.output),cacheRead:rl(f.cacheRead),cacheWrite:rl(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function u0s(){const{data:e,isLoading:t,isError:n}=c0s(),{getTracesHref:r}=fA(),{Link:s}=dn();return o.jsx(l0s,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Gu.AGENT}),actions:o.jsx(BL,{href:r({rootEntityType:Gu.AGENT}),LinkComponent:s})})}function d0s(e){return e==="tokens"||e==="cost"}function f0s({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,x)=>b+x.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,v=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&v>0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Ut.Summary,{value:Up(v,m),label:"Total cost"}):o.jsx(Ut.Summary,{value:rl(d),label:"Total tokens"})),u&&s?o.jsx(Ut.Actions,{children:s}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load token usage data"}):o.jsx(Ut.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:i,onValueChange:b=>{d0s(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"tokens",children:"Tokens"}),o.jsx(Ir,{value:"cost",children:"Cost"})]}),o.jsx(cs,{value:"tokens",children:o.jsx(ZN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:qp.blueDark},{label:"Output",color:qp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:rl})}),o.jsx(cs,{value:"cost",children:y?o.jsx(ZN,{LinkComponent:a,data:f.slice().sort((b,x)=>(x.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:qp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>Up(b,m)}):o.jsx(Ut.NoData,{message:"No cost data yet"})})]}):o.jsx(Ut.NoData,{message:"No token usage data yet"})})]})}function p0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>dA(i,u,()=>({input:0,output:0,cost:null,costUnit:null})),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function h0s(){const{data:e,isLoading:t,isError:n}=p0s(),{getTracesHref:r}=fA(),{Link:s}=dn();return o.jsx(f0s,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Gu.AGENT,entityName:a.name}),actions:o.jsx(BL,{href:r({rootEntityType:Gu.AGENT}),LinkComponent:s})})}function Kxe(e,t=rl){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const m0s=[{dataKey:"input",label:"Input tokens",color:qp.blue,aggregate:Kxe("input")},{dataKey:"output",label:"Output tokens",color:qp.yellow,aggregate:Kxe("output")}];function g0s(e){return e==="tokens"||e==="cost"}function v0s({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=g.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,_)=>k+_.total,0),f=l.filter(k=>k.cost!=null&&k.cost>0),p=f.map(k=>({...k})),h=new Set(f.map(k=>k.costUnit).filter(k=>!!k)),m=h.size===1&&f.every(k=>k.costUnit!=null),v=m?[...h][0]??null:null,y=m?f.reduce((k,_)=>k+(_.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",S=[{dataKey:"cost",label:"Cost",color:qp.purple,aggregate:Kxe("cost",k=>Up(k,v))}];return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Ut.Summary,{value:Up(y,v),label:"Total cost"}):o.jsx(Ut.Summary,{value:rl(d),label:"Total tokens"})),u&&s?o.jsx(Ut.Actions,{children:s}):null]}),n?o.jsx(Ut.Loading,{}):r?o.jsx(Ut.Error,{message:"Failed to load token usage timeline"}):o.jsx(Ut.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:a,onValueChange:k=>{g0s(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"tokens",children:"Tokens"}),o.jsx(Ir,{value:"cost",children:"Cost"})]}),o.jsx(cs,{value:"tokens",children:o.jsx(kD,{data:c,series:m0s})}),o.jsx(cs,{value:"cost",children:b?o.jsx(kD,{data:p,series:S}):o.jsx(Ut.NoData,{message:"No cost data yet"})})]}):o.jsx(Ut.NoData,{message:"No token usage data yet"})})]})}function y0s(e){return e==="24h"?"1h":"1d"}function b0s(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function vtt(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function x0s(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function w0s(){const e=Ze(),{datePreset:t,filters:n,filterKey:r}=Fm(),s=y0s(t);return yt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return vtt(l,a.series[0],"input"),vtt(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:b0s(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:x0s(u)}}),interval:s}}})}function S0s(){const{data:e,isLoading:t,isError:n}=w0s(),{getTracesHref:r}=fA(),{Link:s}=dn();return o.jsx(v0s,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(BL,{href:r(),LinkComponent:s})})}function qie({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(ZN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:qp.blueDark},{label:"Errors",color:qp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:rl})}function k0s({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=g.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,v)=>m+v.completed+v.errors,0):0,p=m=>r?v=>r(m,v):void 0,h=m=>s?v=>s(m,v):void 0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Ut.Summary,{value:rl(f),label:"Total runs"}),u?o.jsx(Ut.Actions,{children:u}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load trace volume data"}):o.jsx(Ut.Content,{children:d?o.jsxs(pc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"agents",children:"Agents"}),o.jsx(Ir,{value:"workflows",children:"Workflows"}),o.jsx(Ir,{value:"tools",children:"Tools"})]}),o.jsx(cs,{value:"agents",children:e.agentData.length>0?o.jsx(qie,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Ut.NoData,{message:"No agent data yet"})}),o.jsx(cs,{value:"workflows",children:e.workflowData.length>0?o.jsx(qie,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Ut.NoData,{message:"No workflow data yet"})}),o.jsx(cs,{value:"tools",children:e.toolData.length>0?o.jsx(qie,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Ut.NoData,{message:"No tool data yet"})})]}):o.jsx(Ut.NoData,{message:"No trace volume data yet"})})]})}async function Vie(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok",c=dA(s,i,()=>({completed:0,errors:0}));l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function O0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Vie(e,"mastra_agent_duration_ms",t),Vie(e,"mastra_workflow_duration_ms",t),Vie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Jz={agents:Gu.AGENT,workflows:Gu.WORKFLOW_RUN,tools:Gu.TOOL};function _0s(){const{data:e,isLoading:t,isError:n}=O0s(),{getTracesHref:r,getLogsHref:s}=fA(),{Link:a}=dn();return o.jsx(k0s,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Jz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Jz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(BL,{href:r({rootEntityType:Jz[i]}),LinkComponent:a}),o.jsx(Mxs,{href:s({rootEntityType:Jz[i],status:"error"}),LinkComponent:a})]})})}const Hie="period",e8="dateFrom",t8="dateTo";function C0s(){const[e,t]=mi(),n=e.get(Hie),r=Exs(n)?n:"24h",s=g.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(e8)),p=d(e.get(t8));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=g.useMemo(()=>xxs(e),[e.toString()]),i=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Hie):p.set(Hie,d),d!=="custom"&&(p.delete(e8),p.delete(t8)),p},{replace:!0})},[t]),l=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(e8,d.from.toISOString()):p.delete(e8),d?.to?p.set(t8,d.to.toISOString()):p.delete(t8),p},{replace:!0})},[t]),c=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Sxs(p,d),p},{replace:!0})},[t]),u=g.useRef(!1);return g.useEffect(()=>{if(u.current||(u.current=!0,yxs(e)))return;const d=nHt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(jxs,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(E0s,{})})}function E0s(){const[e]=mi(),{error:t,isLoading:n}=aHt(),{filterTokens:r,setFilterTokens:s}=QQ(),[a,i]=g.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=mVt(),{data:d,isLoading:f}=qAe(),{data:p,isLoading:h}=zAe(),{data:m,isLoading:v}=UAe(),{data:y,isLoading:b}=BAe(),x=g.useMemo(()=>bxs({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:v,environments:b}}),[d,p,m,y,f,h,v,b]),[S,k]=g.useState(()=>nHt()!==null),_=g.useCallback(()=>{gxs(e),k(!0),Be.success("Filters setting for Metrics saved")},[e]),C=g.useCallback(()=>{vxs(),k(!1),Be.success("Filters setting for Metrics cleared up")},[]),T=g.useCallback(()=>{s([])},[s]),E=g.useCallback(()=>{const N=r.map(I=>{const A=x.find(R=>R.id===I.fieldId);return A?A.kind==="text"?{fieldId:I.fieldId,value:""}:A.kind==="pick-multi"?A.multi?{fieldId:I.fieldId,value:[]}:{fieldId:I.fieldId,value:"Any"}:A.kind==="multi-select"?{fieldId:I.fieldId,value:[]}:I:I});s(N)},[x,r,s]);return t&&xs(t)?o.jsx(or,{children:o.jsx(Hs,{})}):t&&ws(t)?o.jsx(or,{children:o.jsx(Ds,{resource:"metrics"})}):t?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Ht,{width:"wide",height:"full",children:[o.jsxs(Ht.TopArea,{children:[o.jsx(Ht.Row,{children:o.jsxs(Ht.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Rxs,{}),o.jsx(DAe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(i0s,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:E,onRemoveAll:T,onSave:_,onRemoveSaved:S?C:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Zn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Zn.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(Hxe,{children:[o.jsx(t0s,{}),o.jsx(n0s,{}),o.jsx(r0s,{}),o.jsx(s0s,{}),o.jsx(a0s,{})]}),o.jsxs(Hxe,{children:[o.jsx(u0s,{}),o.jsx(h0s,{}),o.jsx(S0s,{}),o.jsx(Yxs,{}),o.jsx(_0s,{}),o.jsx(Hxs,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(fs,{})]})})})]})}const T0s=50;function j0s(){const{paths:e}=dn(),{isCmsAvailable:t}=hS(),[n,r]=g.useState(""),[s,a]=g.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=NBt({page:s,perPage:T0s}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=g.useCallback(()=>{u||a(v=>v+1)},[u]),h=g.useCallback(()=>{u||a(v=>Math.max(0,v-1))},[u]),m=g.useCallback(v=>{r(v),a(0)},[]);return c&&xs(c)?o.jsx(or,{children:o.jsx(Hs,{})}):c&&ws(c)?o.jsx(or,{children:o.jsx(Ds,{resource:"prompt blocks"})}):c?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(or,{children:o.jsx(Wis,{})}):o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsxs(Ht.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(rh,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(oe,{as:Si,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Br,{}),"Create Prompt"]})]})}),o.jsx(His,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function N0s(){return o.jsx(Ht,{width:"narrow",children:o.jsx(Ht.MainArea,{children:o.jsx(Ias,{children:o.jsx(Sxe,{})})})})}const I0s=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:kYt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Vlt,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:fs,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:m0e,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:Ylt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:Hlt,href:"https://mastra.ai/contact?ref=studio",external:!0}];function A0s(){return o.jsx(Ht,{width:"narrow",children:o.jsx(Ht.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:I0s.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group border-border1 bg-surface2 hover:border-accent1 hover:bg-surface3 flex flex-col gap-3 rounded-lg border p-5 transition-colors",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"text-icon3 group-hover:text-accent1 h-5 w-5 transition-colors"}),o.jsx("span",{className:"text-ui-md text-text1 font-medium",children:e.title}),e.external&&o.jsx(fs,{className:"text-icon3 ml-auto h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function R0s(){const{data:e={},isLoading:t,error:n}=ah(),[r,s]=g.useState(""),[a,i]=g.useState("all");if(n&&xs(n))return o.jsx(or,{children:o.jsx(Hs,{})});if(n&&ws(n))return o.jsx(or,{children:o.jsx(Ds,{resource:"scorers"})});if(n)return o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(or,{children:o.jsx(RUr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx($Ur,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(AUr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function P0s(){const{scorerId:e}=mr(),[t,n]=mi(),r=t.get("scoreId")??void 0,[s,a]=g.useState(r),[i,l]=g.useState(!1),c=Kr(),[u,d]=g.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:f,error:p}=fUr(e),{data:h={},isLoading:m,error:v}=$m(),{isLoading:y,error:b}=Wy(),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=dUr({scorerId:e,entityId:u?.value==="all"?void 0:u?.value,entityType:u?.type==="ALL"?void 0:u?.type}),E=g.useMemo(()=>f?.agentIds?.filter($=>h[$]).map($=>({value:$,label:h[$].name,type:"AGENT"}))||[],[f?.agentIds,h]),N=g.useMemo(()=>f?.workflowIds?.map($=>({value:$,label:$,type:"WORKFLOW"}))||[],[f?.workflowIds]),I=g.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...E,...N],[E,N]),A=t.get("entity")??"all",R=I.find($=>$.value===A);R&&R.value!==u?.value&&d(R),g.useEffect(()=>{if(p){const $=p instanceof Error?p.message:"Failed to load scorer";Be.error(`Error loading scorer: ${$}`)}},[p]),g.useEffect(()=>{if(v){const $=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${$}`)}},[v]),g.useEffect(()=>{if(b){const $=b instanceof Error?b.message:"Failed to load workflows";Be.error(`Error loading workflows: ${$}`)}},[b]);const L=$=>{$?.value&&n(q=>{const Z=new URLSearchParams(q);return Z.set("entity",$.value),Z})};g.useEffect(()=>{const $=t.get("scoreId")??void 0;if($===s)return;if(!$){a(void 0);return}x.find(Z=>Z.id===$)&&a($)},[t,x]);const D=g.useCallback($=>{a($||void 0),n(q=>{const Z=new URLSearchParams(q);return $?Z.set("scoreId",$):Z.delete("scoreId"),Z})},[n]);if(!f)return null;const F=xs(p)||xs(v)||xs(b),H=p&&ws(p),B=!F&&!H&&(p||v||b),z=!S&&x.length===0,V=u?.value!=="all",M=f?.scorer?.source==="stored"?o.jsx($y,{owner:"scorer-detail",children:o.jsxs(oe,{variant:"default",as:Si,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(cm,{})," Edit"]})}):null,G=e?o.jsx(QAe,{open:i,onOpenChange:l,initialScorerIds:[e],onSuccess:$=>{c(`/experiments/${$}`)}}):null;if(F||H||B||z&&!V){const $=(p instanceof Error?p.message:void 0)??(v instanceof Error?v.message:void 0)??(b instanceof Error?b.message:void 0)??"An unexpected error occurred";return o.jsxs(Ht,{width:"wide",height:"full",className:"grid-rows-[1fr]",children:[M,o.jsx(Ht.MainArea,{isCentered:!0,children:F?o.jsx(Hs,{}):H?o.jsx(Ds,{resource:"scorers"}):B?o.jsx(Ui,{title:"Failed to load scorer",message:$}):o.jsx(rUr,{onRunExperiment:()=>l(!0)})}),G]})}return o.jsxs(Ht,{width:"wide",height:"full",children:[M,o.jsx(Ht.TopArea,{children:o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsx(aUr,{selectedEntity:u,entityOptions:I,onEntityChange:L,onReset:()=>{n($=>{const q=new URLSearchParams($);return q.set("entity","all"),q})},isLoading:S||m||y}),o.jsxs(oe,{variant:"primary",onClick:()=>l(!0),children:[o.jsx(hu,{}),"Run Experiment"]})]})}),o.jsx(nUr,{scores:x,isLoading:S,selectedScoreId:s,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,onScoreClick:D,errorMsg:k?.message}),G]})}const $0s=Ii("flex min-w-0 flex-col",{variants:{variant:{default:"gap-3 sm:flex-row sm:items-center sm:justify-between",factory:"gap-2 px-4 py-3 lg:flex-row lg:items-center lg:justify-between lg:gap-4"}},defaultVariants:{variant:"default"}}),M0s=Ii("flex min-w-0 flex-col",{variants:{variant:{default:"",factory:"gap-0.5"}},defaultVariants:{variant:"default"}}),ytt=Ii("",{variants:{variant:{default:"text-sm font-medium",factory:"text-ui-md leading-ui-md text-neutral5"}},defaultVariants:{variant:"default"}}),D0s=Ii("flex flex-col gap-0.5",{variants:{variant:{default:"text-sm text-neutral3",factory:"text-ui-sm text-neutral3"}},defaultVariants:{variant:"default"}});function L0s({label:e,description:t,htmlFor:n,variant:r,className:s,children:a}){return o.jsxs("div",{className:K($0s({variant:r}),s),"data-slot":"settings-row",children:[o.jsxs("div",{className:M0s({variant:r}),children:[n?o.jsx(Mt,{htmlFor:n,className:ytt({variant:r}),children:e}):o.jsx("span",{className:ytt({variant:r}),children:e}),t&&o.jsx("div",{className:D0s({variant:r}),children:t})]}),a]})}const cHt=[{value:"dark",label:"Dark",Icon:iXt},{value:"light",label:"Light",Icon:xJt},{value:"system",label:"System",Icon:nct}],F0s=e=>cHt.some(t=>t.value===e);function z0s({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex max-w-full min-w-0 items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const B0s=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=EH(),{theme:r,setTheme:s}=K_();return o.jsx(Ht,{width:"narrow",children:o.jsxs(Ht.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Qbe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(L0s,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(pa,{value:r,onValueChange:a=>{F0s(a)&&s(a)},children:[o.jsx(ma,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ha,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ga,{children:cHt.map(a=>o.jsx(jr,{value:a.value,children:o.jsx(z0s,{option:a})},a.value))})]})})}),o.jsx(Qbe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(a4t,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function U0s(){const[e]=mi(),t=Kr(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(JVt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const uHt=e=>o.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})});function q0s(e){return e.replace(/\/$/,"").split("/").pop()}function YQ({children:e,className:t}){return o.jsx("div",{className:K("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function V0s({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:K("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"bg-surface3 h-16 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:K("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:K("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:K("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:K("overflow-hidden"),children:o.jsx("div",{className:"thumb transition-scale h-full w-full bg-cover duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:K("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"text-neutral3 text-ui-md mt-3 hidden flex-wrap items-center gap-4 2xl:flex",children:[i&&o.jsxs("ul",{className:K("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(qi,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Mf,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(sct,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(aI,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(OC,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"text-neutral3 flex items-center gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:K("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"bg-surface1 group-hover:bg-surface2 text-neutral3 group-hover:text-neutral5 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[o.jsx(uHt,{})," ",q0s(a.githubUrl)]})})]},a.slug)})})}function H0s({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:K("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:K("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(g_,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(jc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(jc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(oe,{onClick:c,children:["Reset ",o.jsx($s,{})]})]})}function W0s(){const{data:e,isLoading:t}=zsr(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(x=>{f.push({value:x,label:x})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(x=>{p.push({value:x,label:x})});const h=(x,S)=>{S==="tag"?i(x):S==="provider"&&c(x)},m=x=>{d(x)},v=()=>{i("all"),c("all"),d("")},y=n.filter(x=>!(u&&!x.title.toLowerCase().includes(u)&&!x.description.toLowerCase().includes(u)||a!=="all"&&!x.tags.includes(a)||l!=="all"&&!x.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs(ks,{children:[o.jsx(gSe,{children:o.jsxs(Sbt,{children:[o.jsx(Ve,{children:o.jsx(ay,{})}),"Templates"]})}),o.jsxs("div",{className:K("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(H0s,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?v:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(V0s,{templates:y,linkComponent:Si,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Z0s="1.64.0-alpha.2";function G0s({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(Cf,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(XYt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(YQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"space-y-2 text-center",children:[o.jsx("p",{className:"text-ui-md text-neutral5 font-medium",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 max-h-60 space-y-2 overflow-auto rounded bg-gray-100 p-3 text-left text-xs dark:bg-gray-800",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"mt-1 font-mono text-xs wrap-break-word whitespace-pre-wrap text-gray-700 dark:text-gray-300",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:"Show Details"}),o.jsx("div",{className:"mt-4 max-h-60 overflow-auto rounded bg-gray-100 p-3 text-left font-mono text-xs dark:bg-gray-800",children:o.jsx("div",{className:"wrap-break-word whitespace-pre-wrap",children:n})})]})]})}function Q0s({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(YQ,{children:o.jsxs("div",{className:"mx-auto my-4 grid max-w-[40rem] gap-8 p-4 lg:p-8",children:[o.jsxs("h2",{className:K("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(act,{})]}),o.jsx(jc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className:K("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(qt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(g.Fragment,{children:[o.jsx(Lg,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(Lg,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-border1 relative mt-3.5 border-t pt-12",children:[o.jsx("div",{className:"bg-surface2 text-ui-sm text-neutral3 absolute top-0 left-1/2 flex h-8 w-8 -translate-x-1/2 -translate-y-4 items-center justify-center rounded-full",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(s4t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(oe,{className:K("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(qt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(Vg,{})]})})]})})}function Y0s({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:K("grid mt-8 items-center"),children:o.jsxs("div",{className:K("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(ay,{}),o.jsx("h2",{className:K({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid gap-x-24 lg:grid-cols-[1fr_1fr]",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:K("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:K("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"mt-0.5 shrink-0",children:o.jsx(Jx,{className:"h-[1.1em] w-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(f0e,{className:"text-neutral4 h-[1em] w-[1em]"}),o.jsx("span",{className:"text-ui-md text-neutral5 font-medium",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 text-ui-sm rounded px-1.5 py-0.5 font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-neutral3 text-ui-md hover:text-neutral5 mt-auto flex items-center gap-2",children:[o.jsx(uHt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(nje,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function btt(e){switch(e){case"running":return o.jsx(qt,{size:"sm","aria-hidden":!0});case"success":return o.jsx(by,{"aria-hidden":!0});case"failed":return o.jsx(Rc,{"aria-hidden":!0});default:return null}}function K0s(){return o.jsx("svg",{viewBox:"0 0 24 24",className:"text-neutral2","aria-hidden":!0,children:o.jsx("circle",{cx:"12",cy:"12",r:"8.5",pathLength:"48",fill:"none",stroke:"currentcolor",strokeWidth:"2.8",strokeLinecap:"round",strokeDasharray:"3 3"})})}function X0s({status:e,variant:t}){return t==="plain"?o.jsx("span",{className:K("flex size-4 items-center justify-center self-center [&>svg]:size-4",Zr.colors,{"[&>svg]:text-positive1":e==="success","[&>svg]:text-negative1":e==="failed"}),children:e==="pending"?o.jsx(K0s,{}):btt(e)}):o.jsx("span",{className:K("flex size-7 items-center justify-center self-center rounded-full motion-reduce:transition-none",Zr.colors,Zr.transform,Zr.shadow,{"[&>svg]:text-notice-success-fg":e==="success","[&>svg]:text-notice-destructive-fg":e==="failed","border border-dashed border-neutral2":e==="pending","[&>svg]:size-4":e!=="running","bg-accent1Dark shadow-glow-accent1":e==="success","bg-accent2Dark shadow-glow-accent2":e==="failed","scale-110":e==="success"||e==="failed"}),children:btt(e)})}function J0s({step:e,isActive:t,position:n,variant:r="default"}){return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3 motion-reduce:transition-none",Zr.colors,{"border border-transparent":r==="default","border-dashed border-neutral2 bg-surface3":t&&r==="default"}),children:[o.jsxs("div",{className:"grid min-w-0 grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:K("flex min-w-6 justify-end text-ui-md",Zr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:[n,"."]}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("h4",{className:K("text-ui-md",Zr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:e.title}),e.description&&o.jsx("p",{className:K("-mt-0.5 text-ui-md text-neutral2",{truncate:r==="plain"}),children:e.description})]})]}),o.jsx(X0s,{status:e.status,variant:r})]})}function ews({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:K(n),children:t.map((r,s)=>o.jsx(J0s,{step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function tws({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex w-full flex-col content-center justify-center gap-4",children:[o.jsx("div",{className:"grid w-full grid-cols-[0_repeat(9,1fr)]",children:e.map((r,s)=>o.jsx("div",{className:K("relative flex h-8 items-center justify-end",Zr.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:K("absolute right-0 z-10 flex size-8 translate-x-1/2 items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3 motion-reduce:transition-none",Zr.colors,Zr.transform,Zr.shadow,{"border border-dashed border-neutral2":r.status==="pending","bg-accent1Dark text-notice-success-fg shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-notice-destructive-fg shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(qt,{}):s+1})},r.id))}),o.jsxs("div",{className:K("text-center text-xs text-neutral3",Zr.colors),children:[n," of ",t," steps completed"]})]})}function nws({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=v=>v==="input"||v.endsWith(".input")||v.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(v)||/[0-9a-f]{8,}/.test(v)?!1:r?.allSteps?v in r.allSteps:!0,f=Object.entries(c).filter(([v,y])=>d(v)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([v,y])=>({id:v,status:y?.status,description:y?.description,title:v.charAt(0).toUpperCase()+v.slice(1).replace(/-/g," "),isActive:i?.id===v}));return o.jsxs(YQ,{className:"text-neutral3 mb-8 content-center space-y-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-neutral5 text-lg font-semibold",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"text-ui-sm text-neutral3 mt-2",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"mx-auto w-full max-w-[30rem] px-6",children:o.jsx(tws,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:K("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(gXt,{}),l||"Something went wrong"]}),u&&o.jsx(ews,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-neutral3 grid justify-items-center gap-4 text-center text-sm",children:[o.jsx(qt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function rws({name:e,installedEntities:t}){return o.jsxs(YQ,{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(act,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-neutral3 text-center",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(nje,{data:t})]})}function sws(){const{templateSlug:e}=mr(),[t,n]=mi(),[r,s]=g.useState(""),[a,i]=g.useState(""),[l,c]=g.useState(""),[u,d]=g.useState({}),[f,p]=g.useState([]),[h,m]=g.useState(null),[v,y]=g.useState(!1),[b,x]=g.useState(""),[S,k]=g.useState(!1),[_,C]=g.useState(!1),[T,E]=g.useState([]),{data:N,isLoading:I}=Bsr({repoOrSlug:e,owner:"mastra-ai"}),R=Z0s?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Usr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=qsr(),{mutateAsync:B,isPending:z}=Vsr(),{mutateAsync:V}=Hsr(),{streamInstall:M,streamResult:G,isStreaming:U}=Zsr(F),{observeInstall:$,streamResult:q,isStreaming:Z}=Gsr(F);g.useEffect(()=>{const te=t.get("runId");te&&!v&&!h&&!U&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),V({runId:te}).then(re=>{const fe=re.snapshot;if(fe?.status==="success"&&fe?.result?.success)y(!0);else if(fe?.result?.success===!1)if(fe?.result?.validationResults&&!fe?.result?.validationResults?.valid&&fe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:Se,errors:ye}=fe.result.validationResults,ke=`Template installation completed but ${Se} validation issue${Se>1?"s":""} remain unresolved.`;m(ke),E(ye||[])}else{const Se=fe?.result?.message||fe?.result?.error||"Template installation failed";m(typeof Se=="string"?Se:String(Se))}}).catch(re=>{console.error("❌ Failed to fetch run details:",re),m("Failed to retrieve installation status after reload")}))},[t,v,h,U,Z,V]),g.useEffect(()=>{const te=t.get("runId"),re=t.get("resume"),fe=t.get("provider");if(te&&re==="true"&&fe&&!U&&!Z&&!S&&!_&&F){x(te),k(!0);try{V({runId:te}).then(ce=>{if(ce.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(ce=>{const Se=new URLSearchParams(ce);return Se.delete("resume"),Se})}).catch(ce=>{console.error("❌ Failed to resume template installation:",ce),ce.message?.includes("404")||ce.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(ce){console.error("❌ Auto-resume failed with error:",ce),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,U,Z,S,_,F,V,$,n]);const Y=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],ne=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(te=>te).join(", "):"n/a",icon:o.jsx(Mf,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(qi,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(aI,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(nx,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(sI,{})}],J=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");g.useEffect(()=>{L&&d(L)},[L]),g.useEffect(()=>{const te=G||q;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[G?.phase,G?.error,q?.phase,q?.error]);const ee=te=>{s(te)},se=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),le=async()=>{const te=Object.entries(u).reduce((re,[fe,ce])=>(ce===""&&re.push(fe),re),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),C(!0);try{const fe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:ce}=await B({});x(ce),n(Se=>{const ye=new URLSearchParams(Se);return ye.set("runId",ce),ye.set("resume","true"),ye.set("provider",r||"openai"),ye}),await M.mutateAsync({inputData:fe,selectedModel:{provider:a,modelId:l},runId:ce})}catch(re){C(!1),m(re?.message||"Template installation failed"),console.error("Template installation failed",re)}}},X=te=>{const{name:re,value:fe}=te.target;fe.trim()===""?p(ce=>[...ce,re]):p(ce=>ce.filter(Se=>Se!==re)),d(ce=>({...ce,[re]:fe}))};return o.jsx(ks,{children:o.jsx("div",{className:K("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[80rem] gap-y-4 p-6",children:[o.jsx(Y0s,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(U||Z)&&o.jsx(nws,{name:N.title,streamResult:Z?q:G,runId:b,workflowInfo:F}),v&&o.jsx(rws,{name:N.title,installedEntities:J,linkComponent:Si}),h&&o.jsx(G0s,{errorMsg:h,validationErrors:T.length>0?T:G?.validationResults?.errors||q?.validationResults?.errors}),!U&&!Z&&!v&&!h&&o.jsx(Q0s,{providerOptions:Y,selectedProvider:r,onProviderChange:ee,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:le,handleVariableChange:X,isLoadingEnvVars:D||H,isInstalling:z,defaultModelProvider:a,defaultModelId:l,onModelUpdate:se})]})]})})})}const aws=()=>{const{toolId:e,agentId:t}=mr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(Gas,{toolId:e,agentId:t})})},iws=()=>{const{toolId:e}=mr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(ixs,{toolId:e})})};function ows(){const{data:e,isLoading:t,error:n}=Wy(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(or,{children:o.jsx(Hs,{})}):n&&ws(n)?o.jsx(or,{children:o.jsx(Ds,{resource:"workflows"})}):n?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(or,{children:o.jsx(MGr,{})}):o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsxs(Ht.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(rh,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(oe,{as:Si,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(VD,{}),"Schedules"]})]})}),o.jsx($Gr,{workflows:e||{},isLoading:t,search:r})]})}const lws={active:"bg-accent1",paused:"bg-accent3"},cws={active:"text-accent1",paused:"text-accent3"},dHt=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${lws[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${cws[e]}`,children:e})]}),wj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),n$=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function fHt({status:e}){const{icon:t,color:n}=uws(e);return o.jsxs("span",{className:`text-ui-sm inline-flex items-center gap-1.5 whitespace-nowrap ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function uws(e){switch(e){case"success":return{icon:o.jsx(oa,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx($s,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(qt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(vV,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Df,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(yO,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const xtt="auto auto auto auto 1fr";function dws(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function fws(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const pws=3e4,hws=5*6e4;function mws({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=dn(),c=h=>!!(n&&h.runId&&h.outcome!=="failed"),u=e.filter(c).length,{containerRef:d,getRowProps:f}=So({count:u});let p=-1;return t?o.jsx(Pl,{columns:xtt}):e.length===0?o.jsx(ge,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(be,{columns:xtt,className:"min-w-0",scrollRef:d,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Run"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Started"}),o.jsx(be.TopCell,{children:"Duration"}),o.jsx(be.TopCell,{children:" "})]}),e.map(h=>{const m=h.actualFireAt-h.scheduledFireAt,v=fws(m),y=`Scheduled ${wj(h.scheduledFireAt)} — published ${wj(h.actualFireAt)} (drift ${v})`,b=h.outcome==="failed",x=b?h.error:h.run?.error,S=Math.abs(m),k=!b&&S>pws&&S<=hws,_=`${h.scheduleId}-${h.runId}-${h.actualFireAt}`,C=c(h);C&&(p+=1);const T=o.jsx("span",{className:C?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:h.runId}),E=o.jsxs(o.Fragment,{children:[o.jsx(be.Cell,{children:T}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[b?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(Cf,{size:14}),"publish failed"]}):h.run?o.jsx(fHt,{status:h.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),x?o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsx(bn,{children:x})]}):null]})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:y,children:n$(h.actualFireAt)}),k?o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsxs(bn,{children:["Published ",v," after the scheduled fire time"]})]}):null]})}),o.jsx(be.Cell,{children:h.run?o.jsx("span",{children:dws(h.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(be.Cell,{children:" "})]});return C?o.jsx(be.RowLink,{to:l.workflowRunLink(n,h.runId),LinkComponent:i,...f(p),children:E},_):o.jsx(be.RowStatic,{children:E},_)}),o.jsx(be.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const gws=e=>{const t=Ze();return yt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},wtt=25,vws=e=>{const t=Ze(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:wtt,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<wtt))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return g.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},yws=e=>{const t=Ze(),n=Dr();return Rn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),Be.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Be.error(r.message)}})};function n8({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function bws(){const{scheduleId:e}=mr(),{paths:t}=dn(),{data:n,error:r}=gws(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=vws(e),d=yws(e);if(r&&xs(r))return o.jsx(or,{children:o.jsx(Hs,{})});if(r&&ws(r))return o.jsx(or,{children:o.jsx(Ds,{resource:"schedules"})});if(r)return o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx(Ht.Row,{className:"justify-end",children:o.jsxs(Ht.Column,{className:"flex justify-end gap-2",children:[o.jsxs(oe,{as:Si,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(wu,{}),"Back to schedules"]}),f?o.jsx(oe,{as:Si,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(oe,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx(g0e,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(hu,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid h-full grid-cols-[minmax(0,20rem)_1fr] gap-6 overflow-hidden",children:[o.jsxs("div",{className:"border-border1 flex h-fit flex-col gap-4 rounded-md border p-4",children:[o.jsx(n8,{label:p?"Agent":"Workflow",children:f?o.jsx(Si,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(Si,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(n8,{label:"Cron",children:[o.jsx("code",{className:"text-ui-md font-mono",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 text-ui-sm ml-2",children:n.timezone}):null]}),o.jsx(n8,{label:"Status",children:o.jsx(dHt,{status:n.status})}),o.jsx(n8,{label:"Next fire",children:o.jsx("span",{title:wj(n.nextFireAt),children:n$(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ge,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Ui,{title:"Failed to load trigger history",message:i.message}):o.jsx(mws,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const Stt="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function xws({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=dn(),a=g.useMemo(()=>{const c=n.toLowerCase();return c?e.filter(u=>u.id.toLowerCase().includes(c)||(u.workflowId??u.agentId??"").toLowerCase().includes(c)):e},[e,n]),{containerRef:i,getRowProps:l}=So({count:a.length});return t?o.jsx(Pl,{columns:Stt}):o.jsxs(be,{columns:Stt,variant:"striped",className:"min-w-0",scrollRef:i,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Target"}),o.jsx(be.TopCell,{children:"Schedule ID"}),o.jsx(be.TopCell,{children:"Cron"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Next fire"}),o.jsx(be.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(be.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(be.NoMatch,{message:"No schedules configured"}):null,a.map((c,u)=>o.jsxs(be.RowLink,{to:r.scheduleLink(c.id),LinkComponent:s,...l(u),children:[o.jsx(be.NameCell,{children:c.workflowId??c.agentId}),o.jsx(be.Cell,{className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:c.id,children:c.id})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:c.cron}),c.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:c.timezone}):null]})}),o.jsx(be.Cell,{children:o.jsx(dHt,{status:c.status})}),o.jsx(be.Cell,{children:o.jsx("span",{className:"whitespace-nowrap",title:wj(c.nextFireAt),children:n$(c.nextFireAt)})}),o.jsx(be.Cell,{children:c.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(fHt,{status:c.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:wj(c.lastFireAt),children:c.lastFireAt?n$(c.lastFireAt):""})]}):c.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:wj(c.lastFireAt),children:n$(c.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},c.id))]})}function wws({workflowId:e}={}){const{data:t,isLoading:n,error:r}=hSe(e?{workflowId:e}:{}),[s,a]=g.useState("");return r?o.jsx(Ui,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid h-full grid-rows-[auto_1fr] gap-4 overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(rh,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(xws,{schedules:t??[],isLoading:n,search:s})})]})}function Sws(){const[e]=mi(),t=e.get("workflowId")??void 0,{error:n}=hSe(t?{workflowId:t}:{});return n&&xs(n)?o.jsx(or,{children:o.jsx(Hs,{})}):n&&ws(n)?o.jsx(or,{children:o.jsx(Ds,{resource:"schedules"})}):o.jsx(Ht,{children:o.jsx("div",{className:"h-full",children:o.jsx(wws,{workflowId:t})})})}function kws({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=LOe({stepGraph:e}),[a,i]=g.useState(!1),[l,c,u]=Z_t(r),[d]=G_t(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=e5t({edges:d,workflowName:n,stepGraph:e});return g.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"bg-surface1 relative h-full w-full",children:a?o.jsxs(W_t,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(_je,{position:"bottom-left"}),o.jsx(Y_t,{variant:uy.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(qt,{})})})}function Ows(){const{stepDetail:e,closeStepDetail:t}=EW();return e?o.jsxs("div",{className:"flex h-full flex-col","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"border-border1 bg-surface1 flex items-center justify-between border-b px-4 py-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(Ej,{className:"h-4 w-4",style:{color:Du.map}}),e.type==="nested-graph"&&o.jsx(Su,{className:"h-4 w-4",style:{color:Du.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ge,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"hover:bg-surface3 rounded p-1 transition-colors","aria-label":"Close",children:o.jsx($s,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(X2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(DOe,{children:o.jsx(kws,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function _ws(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Cws(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function Ews({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"border-border1 bg-surface4 space-y-5 rounded-lg border p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ge,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(Ve,{children:o.jsx(vV,{})}),"Step suspended"]}),o.jsx(St,{variant:"yellow",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?gm(jx(i.resumeSchema)):of(cr(),vf());return o.jsx(Tws,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function Tws({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=g.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ge,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(lXt,{})}),"The step is asking"]}),o.jsxs(Pc,{open:a,onOpenChange:i,children:[o.jsxs(sc,{className:"border-border1 bg-surface3 flex w-full items-center justify-between gap-2 rounded-lg border px-3 py-2.5",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(Qs,{className:K("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ge,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Cws(e.suspendPayload,e.stepId)})]}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:_ws(e.suspendPayload)})]}),o.jsx(ac,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Wr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(dXt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(oU,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(hu,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function jws(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=g.useContext(zl),{runId:a}=mr(),i=rCt(e,r??""),l=enr(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 absolute top-2 right-2 z-20 max-h-[calc(100%-1rem)] w-[380px] max-w-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg duration-300",children:o.jsx(Ews,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Nws=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),Iws=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),Aws=e=>e.includes("."),Rws=e=>e==="input"||e.endsWith(".input"),Pws=1;function $ws(e){return`${Number((e/1e3).toPrecision(3))}s`}function Mws(e,t){const n=Object.entries(e).filter(([i])=>!Rws(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,Pws);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Aws(i)}})}const Dws=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(Nws,{className:"text-accent1"}),e==="failed"&&o.jsx(Iws,{className:"text-accent2"}),e==="suspended"&&o.jsx(vV,{className:"text-accent3"}),e==="waiting"&&o.jsx(Ppe,{className:"text-accent5"}),e==="skipped"&&o.jsx(Ppe,{className:"text-icon3"}),e==="running"&&o.jsx(aa,{className:"text-accent6 animate-spin"})]}),Lws={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function pHt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const ktt=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Fws=e=>{const t=e;return HLt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},zws=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Fws(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:K("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(Dws,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(hJt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(Vq,{indicators:c,className:"shrink-0"})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral6 block max-w-full min-w-0 justify-self-stretch overflow-hidden text-left text-ellipsis whitespace-nowrap",children:pHt(e.stepId)}),o.jsx("div",{className:"bg-surface4 relative h-2 min-w-0 rounded",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${Lws[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(fJt,{})})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:$ws(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Bws(){const{steps:e}=Y4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=DH(),[a,i]=g.useState(()=>Date.now()),[l,c]=g.useState(!1),[u,d]=g.useState(null),f=g.useRef(null);$bt(f,{enabled:!l});const p=Mws(e,a),h=p.some(m=>m.isRunning);return g.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),g.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"rounded-studio-panel border-border1/50 bg-surface3 pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden border p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"text-neutral3 hover:bg-surface4 hover:text-neutral6 rounded-md p-1 transition-colors",children:o.jsx(Na,{className:K("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,v)=>o.jsx(zws,{row:m,index:v,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:ktt(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:ktt(y.step.output)})},`timeline-item-${m.stepId}-${v}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(aCt,{data:u.data,title:`${pHt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const Uws=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=EW();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(o5t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(jws,{}),o.jsx(Bws,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(Ows,{})})]})},Ott=()=>{const{workflowId:e}=mr(),{data:t,isLoading:n,error:r}=s4(e);return r&&xs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Hs,{})}):r&&ws(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"workflows"})}):o.jsx(n_e,{children:o.jsx(Uws,{workflowId:e,workflow:t??void 0,isLoading:n})})};function qws(e,t){if(e==null)return{};var n,r,s=ckt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Xxe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Vws(e){if(Array.isArray(e))return Xxe(e)}function Hws(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Wws(e,t){if(e){if(typeof e=="string")return Xxe(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xxe(e,t):void 0}}function Zws(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
644
|
+
`);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Wxe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Wxe(t))}return!1}function Yys({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function Kys({className:e,children:t}){return o.jsx("div",{className:K("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function Xys({className:e,children:t}){return o.jsx("h3",{className:K("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function Jys({className:e,children:t}){return o.jsx("dl",{className:K("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function ebs({className:e,children:t}){return o.jsx("dt",{className:K("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function tbs({className:e,children:t}){return o.jsx("dd",{className:K("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function nbs({className:e,children:t}){return o.jsx("dt",{className:K("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const rbs=Object.assign(Jys,{Key:ebs,Value:tbs,Header:nbs});function sbs({children:e}){return o.jsxs("div",{className:"text-ui-sm text-neutral3 flex items-center justify-center gap-2 px-4 py-6",children:[o.jsx(qt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function abs({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const Li=Object.assign(Vys,{Header:Kys,Heading:Xys,CloseButton:Hys,LoadingData:sbs,NoData:abs,Content:Yys,KeyValueList:rbs,CodeSection:Qys}),fp=Li.KeyValueList;function ibs(e){return e instanceof Date?e:new Date(e)}function obs({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=g.useState(!1),d=i??c,f=l??u,p=ibs(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(Li,{collapsed:d,children:[o.jsxs(Li.Header,{children:[o.jsxs(Li.Heading,{children:["Log ",o.jsx("b",{children:hr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(ds,{className:"ml-auto shrink-0",children:[l&&o.jsx(oe,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(_H,{}):o.jsx(J1e,{})}),o.jsxs(ds,{spacing:"close",children:[o.jsx(oe,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(kH,{})}),o.jsx(oe,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(wH,{})})]}),o.jsx(Li.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(Li.Content,{children:[o.jsx("p",{className:"text-ui-md text-neutral4 font-mono wrap-break-word whitespace-pre-wrap",children:e.message}),(h||m)&&o.jsxs("div",{className:K("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(ds,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(B7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Sa,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(ds,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(oe,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(B7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Sa,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(fp,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Type"}),o.jsx(fp.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Entity Name"}),o.jsx(fp.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Service"}),o.jsx(fp.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Environment"}),o.jsx(fp.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(fp.Key,{children:"Source"}),o.jsx(fp.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([v,y])=>o.jsxs(g.Fragment,{children:[o.jsx(fp.Key,{children:v}),o.jsx(fp.Value,{children:String(y)})]},v))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(Li.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function lbs({error:e,resource:t,errorTitle:n}){if(xs(e))return o.jsx(Hs,{});if(ws(e))return o.jsx(Ds,{resource:t});if(R4(e))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Observability storage is not available",descriptionSlot:"The observability storage domain is disabled or not configured. Enable it in your storage configuration to view logs in Studio."});if(A4(e,"logs"))return o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:"Logs are not available with your current storage",descriptionSlot:"The configured observability storage provider does not support listing logs. Switch to a storage provider with logs support to view runtime logs in Studio."});const r=e instanceof Error?e.message:void 0;return o.jsx(Ui,{title:n,message:r??"Unknown error"})}function cbs({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:K("grid h-full min-h-0 items-start gap-4",a?"grid-cols-[1fr_1fr]":"grid-cols-[1fr]"),children:[e,a&&o.jsxs("div",{className:K("grid h-full gap-4 overflow-auto",n&&r?s?"grid-rows-[auto_1fr_1fr]":"grid-rows-[1fr_1fr_1fr]":n?s?"grid-rows-[auto_1fr]":"grid-rows-[1fr_1fr]":s?"grid-rows-[auto]":"grid-rows-[1fr]"),children:[t,n,r]})]})}const ubs={debug:{label:"DEBUG",color:"#71717a"},info:{label:"INFO",color:"#60a5fa"},warn:{label:"WARN",color:"#facc15"},error:{label:"ERROR",color:"#f87171"},fatal:{label:"FATAL",color:"#dc2626"}};function dbs({level:e}){const t=ubs[e];return o.jsx(co,{children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function fbs({entityType:e,className:t}){const n=K("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(qi,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(Su,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Mf,{className:n,"aria-hidden":!0});default:return null}}function pbs({entityType:e,entityName:t}){const n=e??"";return o.jsxs(co,{className:"flex min-w-0 items-center gap-2",children:[o.jsx(fbs,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function hbs({message:e}){return o.jsx(co,{className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function mbs({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(co,{children:null});const t=Object.entries(e).map(([n,r])=>{if(typeof r=="string")return`${n}: ${r}`;try{return`${n}: ${JSON.stringify(r)}`}catch{return`${n}: <unserializable>`}}).join(", ");return o.jsx(qTe,{font:"mono",children:t})}const Zl=Object.assign(U4,{Top:tG,TopCell:mC,TopCellWithTooltip:nG,TopCellSmart:G3t,RowWrapper:WTe,RowButton:q4,RowLink:Z3t,Spacer:ZTe,NoMatch:eG,DateCell:V3t,TimeCell:H3t,LevelCell:dbs,EntityCell:pbs,MessageCell:hbs,DataCell:mbs,NextPageLoading:JZ}),utt="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",gbs=36,vbs=8;function ybs({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=g.useRef(null),u=cqt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>gbs,overscan:vbs}),{getRowProps:d}=So({count:e.length,containerRef:c,onNavigate:y=>u.scrollToIndex(y)}),f=g.useRef(t);if(g.useEffect(()=>{f.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),f.current=t},[t]),t)return o.jsx(Pl,{columns:utt});const p=u.getVirtualItems(),h=u.getTotalSize(),m=p[0]?.start??0,v=p.length>0?Math.max(0,h-(p[p.length-1]?.end??0)):0;return o.jsxs(Zl,{columns:utt,variant:"striped",scrollRef:c,className:"min-w-0",children:[o.jsxs(Zl.Top,{children:[o.jsx(Zl.TopCell,{children:"Date"}),o.jsx(Zl.TopCell,{children:"Time"}),o.jsx(Zl.TopCell,{children:"Level"}),o.jsx(Zl.TopCell,{children:"Entity"}),o.jsx(Zl.TopCell,{children:"Message"}),o.jsx(Zl.TopCell,{children:"Data"})]}),e.length===0?o.jsx(Zl.NoMatch,{message:"No logs match your search"}):o.jsxs(o.Fragment,{children:[o.jsx(Zl.Spacer,{height:m}),p.map(y=>{const b=e[y.index];if(!b)return null;const x=a.get(b);if(!x)return null;const S=x===i;return o.jsxs(Zl.RowButton,{ref:u.measureElement,"data-index":y.index,...d(y.index),onClick:()=>l(b),featured:S,variant:b.level==="error"||b.level==="fatal"?"error":"default",children:[o.jsx(Zl.DateCell,{timestamp:b.timestamp}),o.jsx(Zl.TimeCell,{timestamp:b.timestamp}),o.jsx(Zl.LevelCell,{level:b.level}),o.jsx(Zl.EntityCell,{entityType:b.entityType,entityName:b.entityName}),o.jsx(Zl.MessageCell,{message:b.message}),o.jsx(Zl.DataCell,{data:b.data})]},x)}),o.jsx(Zl.Spacer,{height:v})]}),o.jsx(Zl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function bbs({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>xbs(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(MAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(PAe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function xbs(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}const wbs={"last-24h":"the last 24 hours","last-3d":"the last 3 days","last-7d":"the last 7 days","last-14d":"the last 14 days","last-30d":"the last 30 days"},Mie="MMM d, yyyy HH:mm",Die="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Sbs({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${wbs[e]}`,description:Die}:t&&n?{title:`No logs between ${hr(t,Mie)} and ${hr(n,Mie)}`,description:Die}:t?{title:`No logs since ${hr(t,Mie)}`,description:Die}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const kbs=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Sbs({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(U7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Eyt,{})]})})})},Obs=20,_bs=1e4;function Cbs(e,t,n){if(e?.pagination?.hasMore)return n+1}function Ebs(e){const t=new Set,n=[];for(const r of e.pages)for(const s of r.logs??[]){const a=s.logId??JSON.stringify(s);t.has(a)||(t.add(a),n.push(s))}return n}function Tbs(e){return A4(e.state.error,"logs")||R4(e.state.error)?!1:_bs}const jbs=({filters:e}={})=>{const t=Ze(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Obs},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Cbs,select:Ebs,retry:!1,refetchInterval:Tbs}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return g.useEffect(()=>{n&&a&&!i&&l()},[n,a,i,l]),{data:c,hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,isLoading:u,isError:d,error:f,setEndOfListElement:r}},Kz={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},eHt=[{label:"Agent",entityType:Kz.AGENT},{label:"Workflow",entityType:Kz.WORKFLOW},{label:"Scorer",entityType:Kz.SCORER},{label:"Ingest",entityType:Kz.INGEST}],Nbs=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],Kx="rootEntityType",Jb="datePreset",ex="dateFrom",tx="dateTo",Ibs=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),_l={level:"filterLevel",tags:"filterTags",entityName:"filterEntityName",traceId:"filterTraceId",spanId:"filterSpanId",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId"},zL=Object.keys(_l),JAe=new Set(["tags"]),eRe="mastra:logs:saved-filters";function Abs(e,t=eRe){const n=Dbs(e),r=e.get(Jb);r&&n.set(Jb,r);const s=e.get(ex);s&&n.set(ex,s);const a=e.get(tx);a&&n.set(tx,a);try{localStorage.setItem(t,n.toString())}catch{}}function Rbs(e=eRe){try{localStorage.removeItem(e)}catch{}}function dtt(e=eRe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function Pbs(e){if(e.has(Jb)||e.has(ex)||e.has(tx)||e.has(Kx))return!0;for(const t of zL)if(e.has(_l[t]))return!0;return!1}function $bs({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:eHt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"level",label:"Level",kind:"pick-multi",searchable:!1,options:Nbs.map(u=>({label:u.label,value:u.value})),placeholder:"Choose level",emptyText:"No levels."},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"traceId",label:"Trace ID",kind:"text"},{id:"spanId",label:"Span ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"threadId",label:"Thread ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function Mbs(e){const t=[],n=new Map([[Kx,"rootEntityType"]]);for(const s of zL)n.set(_l[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),JAe.has(a)){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function Dbs(e){const t=new URLSearchParams,n=e.get(Kx);n&&t.set(Kx,n);for(const r of zL){const s=_l[r];if(JAe.has(r)){for(const i of e.getAll(s))t.append(s,i);continue}const a=e.get(s);a&&t.set(s,a)}return t}function Lbs(e,t){e.delete(Kx);for(const n of zL)e.delete(_l[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(Kx,n.value);continue}const r=_l[n.fieldId];if(r){if(JAe.has(n.fieldId)&&Array.isArray(n.value)){if(n.value.length===0)e.append(r,"");else for(const s of n.value)e.append(r,s);continue}typeof n.value=="string"&&e.set(r,n.value.trim())}}}function Fbs({rootEntityType:e,dateFrom:t,dateTo:n,tokens:r}){const s={};e&&(s.rootEntityType=e),(t||n)&&(s.timestamp={...t?{start:t}:{},...n?{end:n}:{}});for(const a of r){if(a.fieldId==="tags"){Array.isArray(a.value)&&a.value.length>0?s.tags=a.value:typeof a.value=="string"&&a.value.trim()&&(s.tags=[a.value.trim()]);continue}if(a.fieldId==="level"){typeof a.value=="string"&&a.value.trim()&&a.value!=="Any"&&(s.level=a.value);continue}if(typeof a.value=="string"&&a.value.trim()&&a.value!=="Any")switch(a.fieldId){case"entityName":s.rootEntityName=a.value;break;case"traceId":s.traceId=a.value;break;case"spanId":s.spanId=a.value;break;case"runId":s.runId=a.value;break;case"threadId":s.threadId=a.value;break;case"sessionId":s.sessionId=a.value;break;case"requestId":s.requestId=a.value;break;case"resourceId":s.resourceId=a.value;break;case"userId":s.userId=a.value;break;case"organizationId":s.organizationId=a.value;break;case"serviceName":s.serviceName=a.value;break;case"environment":s.environment=a.value;break;case"experimentId":s.experimentId=a.value;break}}return s}function zbs(e,t){return t.map(n=>{const r=e.find(s=>s.id===n.fieldId);return r?r.kind==="text"?{fieldId:n.fieldId,value:""}:r.kind==="pick-multi"?r.multi?{fieldId:n.fieldId,value:[]}:{fieldId:n.fieldId,value:"Any"}:n:n})}const Bbs="Filters setting for Logs saved",Ubs="Filters setting for Logs cleared up";function qbs(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=g.useState(()=>dtt(r)!==null),c=g.useCallback(()=>{Abs(e,r),l(!0);const f=s?.saved??Bbs;f!==!1&&Be.success(f)},[e,r,s?.saved]),u=g.useCallback(()=>{Rbs(r),l(!1);const f=s?.cleared??Ubs;f!==!1&&Be.success(f)},[r,s?.cleared]),d=g.useRef(!1);return g.useEffect(()=>{if(a||d.current||(d.current=!0,Pbs(e)))return;const f=dtt(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,v]of f)h.append(m,v);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function Vbs(e){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n)|0;return(t>>>0).toString(36)}function Hbs(e){const t=new Map;for(const n of e){if(n.logId){t.set(n,n.logId);continue}const r=n.timestamp instanceof Date?n.timestamp.toISOString():n.timestamp;t.set(n,Vbs(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function Wbs(e,t,n,r){const s=g.useMemo(()=>Hbs(e),[e]),a=g.useMemo(()=>{const h=new Map;for(const[m,v]of e.entries()){const y=s.get(v);y&&h.set(y,{log:v,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=g.useCallback(h=>s.get(h),[s]),d=g.useCallback(h=>{const m=s.get(h);if(m){if(t===m){n({logId:null});return}n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}},[s,t,r,n]),f=l>0?()=>{const h=e[l-1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0,p=l>=0&&l<e.length-1?()=>{const h=e[l+1];if(!h)return;const m=s.get(h);m&&n(r?{logId:m,traceId:h.traceId??null,spanId:null}:{logId:m})}:void 0;return{logIdMap:s,getLogId:u,featuredLog:c,handleLogClick:d,handlePreviousLog:f,handleNextLog:p}}const Zxe="logId",Gxe="traceId",Qxe="spanId",SP=1440*60*1e3,Zbs={"last-24h":SP,"last-3d":3*SP,"last-7d":7*SP,"last-14d":14*SP,"last-30d":30*SP};function Xz(e){e.delete(Zxe),e.delete(Gxe),e.delete(Qxe)}function Gbs(e,t,n){const{onRemoveAll:r}={},s=g.useMemo(()=>{const _=e.get(Jb);return _&&Ibs.has(_)?_:"last-24h"},[e]),a=e.get(ex),i=e.get(tx),l=g.useMemo(()=>{if(s==="custom"){if(!a)return;const C=new Date(a);return Number.isNaN(C.getTime())?void 0:C}if(s==="all")return;const _=Zbs[s];return _?new Date(Date.now()-_):void 0},[s,a]),c=g.useMemo(()=>{if(s!=="custom"||!i)return;const _=new Date(i);return Number.isNaN(_.getTime())?void 0:_},[s,i]),u=g.useRef(s);u.current=s;const d=e.get(Zxe),f=e.get(Gxe),p=e.get(Qxe),h=g.useMemo(()=>eHt.find(_=>_.entityType===e.get(Kx)),[e]),m=g.useMemo(()=>Mbs(e),[e]),v=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);for(const[E,N]of Object.entries(_)){const I=E==="logId"?Zxe:E==="traceId"?Gxe:Qxe;N?T.set(I,N):T.delete(I)}return T},{replace:!0})},[t]),y=g.useCallback(_=>{t(C=>{const T=new URLSearchParams(C);return Lbs(T,_),Xz(T),T},{replace:!0})},[t]),b=y,x=g.useCallback((_,C)=>{if(u.current!=="custom")return;const T=C==="from"?ex:tx;t(E=>{const N=new URLSearchParams(E);return _?N.set(T,_.toISOString()):N.delete(T),Xz(N),N},{replace:!0})},[t]),S=g.useCallback(_=>{u.current=_,t(C=>{const T=new URLSearchParams(C);return _==="last-24h"?(T.delete(Jb),T.delete(ex),T.delete(tx)):_==="custom"?T.set(Jb,"custom"):(T.set(Jb,_),T.delete(ex),T.delete(tx)),Xz(T),T},{replace:!0})},[t]),k=g.useCallback(()=>{t(_=>{const C=new URLSearchParams(_);C.delete(Kx);for(const T of zL)C.delete(_l[T]);return C.delete(Jb),C.delete(ex),C.delete(tx),Xz(C),C},{replace:!0}),r?.()},[t,r]);return g.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:v,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,v,b,x,S,k,y])}const Eb=Li.KeyValueList;function Qbs({spanId:e,span:t,isLoading:n,onClose:r}){const s=TQ(t?.startedAt,t?.endedAt),a=lV(t?.startedAt),i=lV(t?.endedAt);return o.jsxs(Li,{children:[o.jsxs(Li.Header,{children:[o.jsxs(Li.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Li.CloseButton,{onClick:r})]}),n?o.jsx(Li.LoadingData,{children:"Loading span..."}):t?o.jsxs(Li.Content,{children:[o.jsxs(Eb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Type"}),o.jsx(Eb.Value,{children:t.spanType})]}),a&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Started"}),o.jsx(Eb.Value,{children:a})]}),i&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Ended"}),o.jsx(Eb.Value,{children:i})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Eb.Key,{children:"Duration"}),o.jsx(Eb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(Li.CodeSection,{title:"Input",icon:o.jsx(wme,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(Li.CodeSection,{title:"Output",icon:o.jsx(Sme,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(Li.CodeSection,{title:"Metadata",icon:o.jsx(rx,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(Li.CodeSection,{title:"Attributes",icon:o.jsx(rx,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(Li.NoData,{children:"Span not found."})]})}function Ybs({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=g.useMemo(()=>wAe(t??[]),[t]),[l,c]=g.useState([]);g.useEffect(()=>{i.length>0&&c(SAe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(Li,{children:[o.jsxs(Li.Header,{children:[o.jsxs(Li.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(Li.CloseButton,{onClick:r})]}),n?o.jsx(Li.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(Li.NoData,{children:"No spans found for this trace."}):o.jsx(Li.Content,{children:o.jsx(Oqt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function Kbs(){const[e,t]=mi(),n=Gbs(e,t),r=qbs(e,t),[s,a]=g.useState(),[i,l]=g.useState(!1),{data:c=[],isPending:u}=qAe(),{data:d=[],isPending:f}=zAe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=BAe(),{data:m=[],isPending:v}=UAe(),y=g.useMemo(()=>$bs({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:v,environments:h}}),[c,d,m,p,u,f,v,h]),b=g.useMemo(()=>Fbs({rootEntityType:n.selectedEntityOption?.entityType,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,tokens:n.filterTokens}),[n.filterTokens,n.selectedDateFrom,n.selectedDateTo,n.selectedEntityOption]),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=jbs({filters:b}),{logIdMap:E,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=Wbs(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=gqt(n.featuredTraceId??null),{data:F,isLoading:H}=jQ(n.featuredTraceId??"",n.featuredSpanId??""),B=g.useCallback(()=>n.applyFilterTokens(zbs(y,n.filterTokens)),[y,n]),z=g.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),V=g.useCallback(Y=>n.handleFeaturedChange({traceId:Y,spanId:null}),[n]),M=g.useCallback((Y,ne)=>n.handleFeaturedChange({traceId:Y,spanId:ne}),[n]),G=g.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),U=g.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=g.useCallback(Y=>n.handleFeaturedChange({spanId:Y??null}),[n]),q=o.jsxs(Ht.TopArea,{children:[o.jsx(Ht.Row,{children:o.jsxs(Ht.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(N4,{preset:n.datePreset,onPresetChange:n.handleDatePresetChange,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo,onDateChange:n.handleDateChange,disabled:S,presets:["last-24h","last-3d","last-7d","last-14d","last-30d","custom"]}),o.jsx(DAe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(bbs,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:B,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Ht,{width:"wide",height:"full",children:[q,o.jsx(Ht.MainArea,{isCentered:!0,children:o.jsx(lbs,{error:k,resource:"logs",errorTitle:"Failed to load logs"})})]});const Z=!!n.selectedEntityOption||n.filterTokens.length>0;return x.length===0&&!S&&!Z?o.jsxs(Ht,{width:"wide",height:"full",children:[q,o.jsx(Ht.MainArea,{isCentered:!0,children:o.jsx(kbs,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Ht,{width:"wide",height:"full",children:[q,o.jsx(cbs,{logCollapsed:i,listSlot:o.jsx(ybs,{logs:x,isLoading:S,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,logIdMap:E,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(obs,{log:N,onClose:z,onTraceClick:V,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(Ybs,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(Qbs,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:U}):null})]})}function Xbs({server:e,rowProps:t}){const{paths:n,Link:r}=dn(),a=Ze().options.baseUrl,i=a?`${a}/api/mcp/${e.id}/sse`:"",{data:l}=yBt(e),c=Object.values(l||{}),u=c.length,d=c.filter(h=>h.toolType==="agent").length,f=c.filter(h=>h.toolType==="workflow").length,p=Yh(e.name,50);return o.jsxs(be.RowLink,{to:n.mcpServerLink(e.id),LinkComponent:r,...t,children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:i}),o.jsx(be.TextCell,{className:"text-center",children:d||""}),o.jsx(be.TextCell,{className:"text-center",children:u||""}),o.jsx(be.TextCell,{className:"text-center",children:f||""})]})}function Jbs({mcpServers:e,isLoading:t,search:n=""}){const r=g.useMemo(()=>{const i=n.toLowerCase();return e.filter(l=>l.name?.toLowerCase().includes(i)||l.id?.toLowerCase().includes(i))},[e,n]),{containerRef:s,getRowProps:a}=So({count:r.length});return t?o.jsx(Pl,{columns:"auto 1fr auto auto auto"}):o.jsxs(be,{columns:"auto 1fr auto auto auto",variant:"striped",scrollRef:s,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"URL"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(qi,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Tools",short:o.jsx(Mf,{}),tooltip:"Tools",className:"text-center"}),o.jsx(be.TopCellSmart,{long:"Workflows",short:o.jsx(Su,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(be.NoMatch,{message:"No MCP Servers match your search"}):null,r.map((i,l)=>o.jsx(Xbs,{server:i,rowProps:a(l)},i.id))]})}const exs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No MCP Servers yet",descriptionSlot:o.jsxs(o.Fragment,{children:["MCP servers are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(fs,{})]})})}),txs=()=>{const{data:e=[],isLoading:t,error:n}=bQ(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(or,{children:o.jsx(Hs,{})}):n&&ws(n)?o.jsx(or,{children:o.jsx(Ds,{resource:"MCP servers"})}):n?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(or,{children:o.jsx(exs,{})}):o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(rh,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(Jbs,{mcpServers:e,isLoading:t,search:r})]})},nxs=(e,t)=>{const n=new Map,r=Object.keys(t);for(const s of r){const a=t[s],i=a.tools,l=Object.keys(i);for(const c of l){const u=i[c];n.has(u.id)||n.set(u.id,{...u,agents:[]}),n.get(u.id).agents.push({...a,id:s})}}for(const[s,a]of Object.entries(e))n.has(a.id)||n.set(a.id,{...a,agents:[]});return Array.from(n.values())};function rxs({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=dn(),i=g.useMemo(()=>nxs(e,t),[e,t]),l=g.useMemo(()=>i.filter(d=>d.id.toLowerCase().includes(r.toLowerCase())),[i,r]),{containerRef:c,getRowProps:u}=So({count:l.length});return n?o.jsx(Pl,{columns:"auto 1fr auto"}):o.jsxs(be,{columns:"auto 1fr auto",variant:"striped",scrollRef:c,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Name"}),o.jsx(be.TopCell,{children:"Description"}),o.jsx(be.TopCellSmart,{long:"Agents",short:o.jsx(qi,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(be.NoMatch,{message:"No Tools match your search"}):null,l.map((d,f)=>{const p=Yh(d.id,50),h=Yh(d.description??"",200),m=d.agents.length;return o.jsxs(be.RowLink,{to:s.toolLink(d.id),LinkComponent:a,...u(f),children:[o.jsx(be.NameCell,{children:p}),o.jsx(be.DescriptionCell,{children:h}),o.jsx(be.TextCell,{className:"text-center",children:m||""})]},d.id)})]})}const sxs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"No Tools yet",descriptionSlot:o.jsxs(o.Fragment,{children:["Mastra tools are not configured yet. ",o.jsx("br",{}),"More information in the documentation."]}),actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(fs,{})]})})}),axs=()=>{const e=Ze();return Rn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new A_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw Be.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},ixs=({toolId:e})=>{const{canExecute:t}=Co(),n=t("tools"),{data:r={}}=$m(),s=g.useMemo(()=>{for(const v of Object.values(r))if(v.tools){const y=Object.values(v.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=JRr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=axs(),{requestContext:p}=ms();g.useEffect(()=>{if(l){const v=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${v}`)}},[l]);const h=async(v,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:v,requestContext:b})},m=c?.inputSchema?gm(jx(c?.inputSchema)):ys({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(jt,{className:"mb-4 h-8 w-48"}),o.jsx(jt,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(KIe,{executionResult:f,isExecutingTool:d,zodInputSchema:m,handleExecuteTool:h,toolDescription:c.description,toolId:c.id,requestContextSchema:c.requestContextSchema}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})}):o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function oxs({value:e,onValueChange:t,placeholder:n="Select a tool...",searchPlaceholder:r="Search tools...",emptyText:s="No tools found.",className:a,disabled:i=!1,variant:l}){const{data:c={},isLoading:u,isError:d,error:f}=GI(),{data:p={},isLoading:h,isError:m,error:v}=$m(),{navigate:y,paths:b}=dn();g.useEffect(()=>{if(d){const _=f instanceof Error?f.message:"Failed to load tools";Be.error(`Error loading tools: ${_}`)}},[d,f]),g.useEffect(()=>{if(m){const _=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${_}`)}},[m,v]);const x=new Map;Object.values(p).forEach(_=>{_.tools&&Object.values(_.tools).forEach(C=>{x.has(C.id)||x.set(C.id,C)})}),Object.values(c).forEach(_=>{x.has(_.id)||x.set(_.id,_)});const S=Array.from(x.values()).map(_=>({label:_.id,value:_.id})),k=_=>{t?t(_):_&&_!==e&&y(b.toolLink(_))};return o.jsx(gl,{options:S,value:e,onValueChange:k,placeholder:u||h?"Loading tools...":n,searchPlaceholder:r,emptyText:s,className:a,disabled:i||u||h||d||m,variant:l})}const lxs=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=g.useState({sseUrl:"",httpStreamUrl:""});if(g.useEffect(()=>{if(!t)return;const i=window.MASTRA_SERVER_HOST,l=window.MASTRA_SERVER_PORT;let c=null;i&&l&&(c=`http://${i}:${l}`);const u=c||"http://localhost:4111",d=`${u}/api/mcp/${t.id}/sse`,f=`${u}/api/mcp/${t.id}/mcp`;s({sseUrl:d,httpStreamUrl:f})},[t]),e)return null;if(!t)return o.jsx(Wx,{children:o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral3 py-20 text-center font-medium",children:"Server not found"})});const a=`npx -y mcp-remote ${n}`;return o.jsxs(Wx,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ge,{as:"h1",variant:"header-md",className:"text-neutral6 pb-4 font-medium",children:t.name}),o.jsxs("div",{className:"flex items-center gap-1 pb-6",children:[o.jsx(St,{icon:o.jsx(wqt,{}),size:"sm",children:"Version"}),o.jsx(St,{size:"sm",children:t.version_detail.version})]}),o.jsx(ge,{className:"text-neutral3 pb-4",children:"This MCP server can be accessed through multiple transport methods. Choose the one that best fits your use case."}),o.jsxs("div",{className:"flex flex-col gap-4",children:[o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(St,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for stateless HTTP transport with streamable responses."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Sa,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(St,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for real-time communication via SSE."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Sa,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(St,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ge,{className:"text-neutral3 pt-1 pb-2",children:"Use for local command-line access via npx and mcp-remote."}),o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(ge,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Sa,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(cxs,{server:t})})]})},cxs=({server:e})=>{const{data:t={},isLoading:n}=yBt(e);if(n)return null;const r=Object.keys(t);return o.jsxs("div",{className:"overflow-y-scroll p-5",children:[o.jsxs("div",{className:"text-neutral6 flex items-center gap-2",children:[o.jsx(Ve,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(OC,{})}),o.jsx(ge,{variant:"header-md",as:"h2",className:"font-medium",children:"Available Tools"})]}),o.jsx("div",{className:"flex flex-col gap-2 pt-6",children:r.map(s=>{const a=t[s];return o.jsx(dxs,{tool:a,serverId:e.id},s)})})]})};function uxs(e){if(!e)return!1;const t=e.ui;return!!(typeof t?.resourceUri=="string"&&t.resourceUri.startsWith("ui://")||typeof e["ui/resourceUri"]=="string"&&e["ui/resourceUri"].startsWith("ui://"))}const dxs=({tool:e,serverId:t})=>{const n=g.useRef(null),{Link:r,paths:s}=dn(),a=CBt[e.toolType||"tool"],i=uxs(e._meta);return o.jsxs(Uf,{onClick:()=>n.current?.click(),children:[o.jsx(n3t,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Vf,{children:[o.jsx(qf,{children:o.jsxs("span",{className:"flex items-center gap-2",children:[o.jsx(r,{ref:n,href:s.mcpServerToolLink(t,e.id),children:e.id}),i&&o.jsx(St,{size:"xs",children:"App"})]})}),o.jsx(sh,{children:e.description})]})]})},fxs=()=>{const{serverId:e}=mr(),{data:t=[],isLoading:n}=bQ(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(lxs,{isLoading:n,server:r})})};function pxs(e){if(!e)return;const t=e.ui;if(t?.resourceUri)return t.resourceUri;const n=e["ui/resourceUri"];if(typeof n=="string")return n}const hxs=({toolId:e,serverId:t})=>{const{canExecute:n}=Co(),r=n("tools"),s=Ze(),{data:a,isLoading:i,error:l}=QIe(t,e),{mutateAsync:c,isPending:u,data:d}=Bss(t,e),f=a?pxs(a._meta):void 0,{data:p}=yt({queryKey:["mcp-app-resource",t,f],queryFn:async()=>f?(await s.readMcpServerResource(t,f)).contents[0]?.text??null:null,enabled:!!f}),h=g.useCallback(async(y,b)=>await c(b),[c]);g.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";Be.error(`Error loading tool: ${y}`)}},[l]);const m=async y=>{if(a)return await c(y)};if(i)return o.jsxs("div",{className:"p-6",children:[o.jsx(jt,{className:"mb-4 h-8 w-48"}),o.jsx(jt,{className:"h-32 w-full"})]});if(l)return null;if(!a)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})});if(!r)return o.jsx("div",{className:"px-6 py-12 text-center",children:o.jsx(ge,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let v;try{v=gm(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),Be.error("Failed to process tool input schema."),v=ys({})}return o.jsxs("div",{className:"flex flex-col gap-4",children:[p&&o.jsx("div",{className:"border-border1 border-b p-4",children:o.jsx(vBt,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(KIe,{executionResult:d,isExecutingTool:u,zodInputSchema:v,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},mxs=()=>{const{serverId:e,toolId:t}=mr(),{data:n,isLoading:r}=QIe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(hxs,{toolId:t,serverId:e})})},tHt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],GN="rootEntityType",QN={tags:"filterTags",entityId:"filterEntityId",entityName:"filterEntityName",runId:"filterRunId",threadId:"filterThreadId",sessionId:"filterSessionId",requestId:"filterRequestId",resourceId:"filterResourceId",userId:"filterUserId",organizationId:"filterOrganizationId",serviceName:"filterServiceName",environment:"filterEnvironment",experimentId:"filterExperimentId",provider:"filterProvider",model:"filterModel"},GQ=Object.keys(QN),tRe="mastra:metrics:saved-filters";function gxs(e){const t=wxs(e);try{localStorage.setItem(tRe,t.toString())}catch{}}function vxs(){try{localStorage.removeItem(tRe)}catch{}}function nHt(){try{const e=localStorage.getItem(tRe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function yxs(e){if(e.has(GN))return!0;for(const t of GQ)if(e.has(QN[t]))return!0;return!1}function bxs({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:tHt.map(u=>({label:u.label,value:u.entityType})),placeholder:"Choose entity type",emptyText:"No entity types."},{id:"entityName",label:"Primitive Name",kind:"pick-multi",options:t.map(u=>({label:u,value:u})),placeholder:"Choose entity names",emptyText:"No entity names found.",isLoading:s?.entityNames},{id:"entityId",label:"Primitive ID",kind:"text"},{id:"tags",label:"Tags",kind:"pick-multi",multi:!0,options:e.map(u=>({label:u,value:u})),placeholder:"Choose tags",emptyText:"No tags found.",isLoading:s?.tags},{id:"serviceName",label:"Service Name",kind:"pick-multi",options:n.map(u=>({label:u,value:u})),placeholder:"Choose service names",emptyText:"No service names found.",isLoading:s?.serviceNames},{id:"environment",label:"Environment",kind:"pick-multi",options:r.map(u=>({label:u,value:u})),placeholder:"Choose environments",emptyText:"No environments found.",isLoading:s?.environments},{id:"threadId",label:"Thread ID",kind:"text"},{id:"resourceId",label:"Resource ID",kind:"text"},{id:"userId",label:"User ID",kind:"text"},{id:"organizationId",label:"Organization ID",kind:"text"},{id:"runId",label:"Run ID",kind:"text"},{id:"sessionId",label:"Session ID",kind:"text"},{id:"requestId",label:"Request ID",kind:"text"},{id:"experimentId",label:"Experiment ID",kind:"text"}],i=(u,d)=>u.label.localeCompare(d.label),l=a.filter(u=>u.kind==="pick-multi").sort(i),c=a.filter(u=>u.kind==="text").sort(i);return[...l,...c]}function xxs(e){const t=[],n=new Map([[GN,"rootEntityType"]]);for(const s of GQ)n.set(QN[s],s);const r=new Set;for(const[s]of e.entries()){const a=n.get(s);if(!a||r.has(a))continue;if(r.add(a),a==="tags"){const l=e.getAll(s);if(l.length===0)continue;t.push({fieldId:a,value:l.filter(Boolean)});continue}if(a==="rootEntityType"||a==="entityName"||a==="serviceName"||a==="environment"||a==="provider"||a==="model"){const l=e.getAll(s);if(l.length>1){t.push({fieldId:a,value:l});continue}}const i=e.get(s);i!==null&&t.push({fieldId:a,value:i})}return t}function wxs(e){const t=new URLSearchParams,n=e.getAll(GN);for(const r of n)t.append(GN,r);for(const r of GQ){const s=QN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Sxs(e,t){e.delete(GN);for(const n of GQ)e.delete(QN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?GN:QN[n.fieldId];if(r)if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string"&&a!=="");if(s.length===0){n.fieldId==="tags"&&e.append(r,"");continue}for(const a of s)e.append(r,a)}else typeof n.value=="string"&&e.set(r,n.value.trim())}}const kxs="Any";function ftt(e){const t=e.trim();return t===""||t===kxs}const Oxs=new Set(tHt.map(e=>e.entityType));function ptt(e){const t=e.trim();return Oxs.has(t)?t:void 0}function _xs(e){const t={};for(const n of e){const r=n.fieldId;if(Array.isArray(n.value)){const s=n.value.filter(a=>typeof a=="string").map(a=>a.trim()).filter(a=>!ftt(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?ptt(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if(ftt(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=ptt(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const rHt=[{label:"Last 24 hours",value:"24h"},{label:"Last 3 days",value:"3d"},{label:"Last 7 days",value:"7d"},{label:"Last 14 days",value:"14d"},{label:"Last 30 days",value:"30d"}],Cxs=new Set(rHt.map(e=>e.value));function Exs(e){return typeof e=="string"&&(Cxs.has(e)||e==="custom")}const sHt=g.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function QQ(){return g.useContext(sHt)}function Txs(e,t){return e!=="custom"?rHt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${hr(t.from,"MMM d, yyyy")} – ${hr(t.to,"MMM d, yyyy")}`:hr(t.from,"MMM d, yyyy"):"Custom range"}function jxs({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=g.useMemo(()=>JSON.stringify(n),[n]),d=g.useMemo(()=>n,[u]),f=g.useMemo(()=>_xs(d),[d]),p=g.useMemo(()=>JSON.stringify(f),[f]),h=Txs(t,a),m=g.useMemo(()=>({datePreset:t,setDatePreset:r,customRange:a,setCustomRange:i??(()=>{}),dateRangeLabel:h,filterTokens:d,setFilterTokens:s,dimensionalFilter:f,dimensionalFilterKey:p,tracesBasePath:l,logsBasePath:c}),[t,r,a,i,h,d,s,f,p,l,c]);return o.jsx(sHt.Provider,{value:m,children:e})}const Nxs=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function Ixs(e){switch(e){case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return"last-24h"}}function Axs(e){switch(e){case"last-3d":return"3d";case"last-7d":return"7d";case"last-14d":return"14d";case"last-30d":return"30d";case"custom":return"custom";default:return"24h"}}function Rxs(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=QQ(),s=g.useRef(e);s.current=e;const a=g.useRef(n);return a.current=n,o.jsx(N4,{preset:Ixs(e),onPresetChange:i=>{const l=Axs(i);s.current=l,t(l)},dateFrom:n?.from,dateTo:n?.to,onDateChange:(i,l)=>{if(s.current!=="custom")return;const c={...a.current,[l]:i};a.current=c,r(c)},presets:Nxs})}const Yxe=1440*60*1e3,Pxs={"24h":Yxe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function $xs(e,t,n){if(e!=="custom"){const r=Pxs[e]??Yxe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Yxe),end:t?.to??new Date(n)}}function Fm(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=QQ(),s=g.useRef(null),a=e==="custom"?`custom:${t?.from?.getTime()??""}:${t?.to?.getTime()??""}`:`preset:${e}`;(!s.current||s.current.key!==a)&&(s.current={key:a,anchor:Date.now()});const i=s.current.anchor,l=g.useMemo(()=>$xs(e,t,i),[e,t,i]),c=g.useMemo(()=>({timestamp:l,...n}),[l,r]),u=g.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function aHt(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function BL({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(xme,{})})}function Mxs({href:e,LinkComponent:t="a"}){return o.jsx(oe,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(wRn,{})})}function Dxs(e){return e==="agents"||e==="workflows"||e==="tools"}function htt(e,t){if(e.length===0)return"0";const n=e.reduce((r,s)=>{const a=s[t];return r+(typeof a=="number"&&Number.isFinite(a)?a:0)},0);return`${Math.round(n/e.length)}`}function Lxs(e){const t=e;return typeof t?.tsMs=="number"&&Number.isFinite(t.tsMs)}const Fxs=[{dataKey:"p50",label:"p50",color:qp.blue,aggregate:e=>({value:htt(e,"p50"),suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:qp.yellow,aggregate:e=>({value:htt(e,"p95"),suffix:"avg ms"})}];function Lie({data:e,onPointClick:t}){return e.length===0?o.jsx(Ut.NoData,{message:"No latency data yet"}):o.jsx(kD,{data:e,series:Fxs,onPointClick:t?n=>Lxs(n)?t(n):void 0:void 0})}function zxs({data:e,isLoading:t,isError:n,onPointClick:r,actions:s}){const a=(e?.agentData.length??0)>0,i=(e?.workflowData.length??0)>0,l=(e?.toolData.length??0)>0,c={agents:a,workflows:i,tools:l},u=a?"agents":i?"workflows":l?"tools":"agents",[d,f]=g.useState("agents"),p=c[d]?d:u,h=typeof s=="function"?s(p):s,m=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),v=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=v.length>0?`${Math.round(v.reduce((b,x)=>b+x,0)/v.length)}ms`:"—";return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Ut.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Ut.Actions,{children:h}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load latency data"}):o.jsx(Ut.Content,{children:m?o.jsxs(pc,{value:p,onValueChange:b=>{Dxs(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(Ir,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(Ir,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(cs,{value:"agents",children:o.jsx(Lie,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(cs,{value:"workflows",children:o.jsx(Lie,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(cs,{value:"tools",children:o.jsx(Lie,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Ut.NoData,{message:"No latency data yet"})})]})}function Bxs(e){switch(e){case"24h":return"last-24h";case"3d":return"last-3d";case"7d":return"last-7d";case"14d":return"last-14d";case"30d":return"last-30d";case"custom":return"custom";default:return}}function Uxs(e,t){if(t==="1h"){const s=new Date(e);s.setUTCMinutes(0,0,0);const a=new Date(s.getTime()+3600*1e3);return{from:s,to:a}}const n=new Date(e);n.setUTCHours(0,0,0,0);const r=new Date(n.getTime()+1440*60*1e3);return{from:n,to:r}}function iHt(e,t,n,r,s,a,i){if(i){e.set(t,"custom"),e.set(n,i.from.toISOString()),e.set(r,i.to.toISOString());return}if(s==="custom"){e.set(t,"custom"),a?.from&&e.set(n,a.from.toISOString()),a?.to&&e.set(r,a.to.toISOString());return}const l=Bxs(s);l&&e.set(t,l)}function Po(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function oHt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function mtt({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Fw,"branches"),iHt(a,zw,Bw,Uw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Qx,i),r.status&&a.set(Yx,r.status),Po(a,Ol.entityName,r.entityName??n.entityName),Po(a,Ol.threadId,r.threadId??n.threadId),Po(a,Ol.resourceId,r.resourceId??n.resourceId),Po(a,Ol.entityId,n.entityId),Po(a,Ol.runId,n.runId),Po(a,Ol.sessionId,n.sessionId),Po(a,Ol.requestId,n.requestId),Po(a,Ol.userId,n.userId),Po(a,Ol.organizationId,n.organizationId),Po(a,Ol.experimentId,n.experimentId),Po(a,Ol.serviceName,n.serviceName),Po(a,Ol.environment,n.environment),oHt(a,Ol.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function qxs({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;iHt(a,Jb,ex,tx,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Kx,i),Po(a,_l.entityName,r.entityName??n.entityName),Po(a,_l.threadId,r.threadId??n.threadId),Po(a,_l.resourceId,r.resourceId??n.resourceId),Po(a,_l.runId,n.runId),Po(a,_l.sessionId,n.sessionId),Po(a,_l.requestId,n.requestId),Po(a,_l.userId,n.userId),Po(a,_l.organizationId,n.organizationId),Po(a,_l.experimentId,n.experimentId),Po(a,_l.serviceName,n.serviceName),Po(a,_l.environment,n.environment),oHt(a,_l.tags,n.tags),r.status==="error"&&a.append(_l.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function fA(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=QQ(),a=g.useCallback((c={})=>mtt({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=g.useCallback((c={})=>qxs({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=g.useCallback((c,u,d)=>{const f=Uxs(u,d);return mtt({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const lHt="1h";async function Fie(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:lHt,filters:n}),s=r.series.find(l=>l.percentile===.5),a=r.series.find(l=>l.percentile===.95);if(!s||!a)return[];const i=new Map(a.points.map(l=>[new Date(l.timestamp).getTime(),l.value]));return s.points.map(l=>{const c=new Date(l.timestamp),u=c.getTime();return{time:c.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}),tsMs:u,p50:Math.round(l.value),p95:Math.round(i.get(u)??0)}})}function Vxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Fie(e,"mastra_agent_duration_ms",t),Fie(e,"mastra_workflow_duration_ms",t),Fie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:lHt}}})}const gtt={agents:Gu.AGENT,workflows:Gu.WORKFLOW_RUN,tools:Gu.TOOL};function Hxs(){const{data:e,isLoading:t,isError:n}=Vxs(),{getTracesHref:r,getBucketTracesHref:s}=fA(),{Link:a}=dn(),i=Kr();return o.jsx(zxs,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:gtt[l]},c.tsMs,"1h"))},actions:l=>o.jsx(BL,{href:r({rootEntityType:gtt[l]}),LinkComponent:a})})}function Wxs(e){return e==="threads"||e==="resources"}function zie(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function Zxs({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("threads"),c=e.data?.map(y=>({...y,key:y.threadId}))??[],u=t.data?.map(y=>({...y,key:y.resourceId}))??[],d=c.length>0,f=u.length>0,p=e.data?.reduce((y,b)=>y+b.runs,0)??0,h=t.data?.reduce((y,b)=>y+b.threadCount,0)??0,m=i==="threads"?e:t,v=typeof s=="function"?s(i):s;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Ut.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Ut.Summary,{value:h.toLocaleString(),label:"Total threads"}),v?o.jsx(Ut.Actions,{children:v}):null]}),m.isLoading?o.jsx(Ut.Loading,{}):m.isError?o.jsx(Ut.Error,{message:"Failed to load memory data"}):o.jsx(Ut.Content,{children:o.jsxs(pc,{defaultTab:"threads",value:i,onValueChange:y=>{Wxs(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"threads",children:"Threads"}),o.jsx(Ir,{value:"resources",children:"Resources"})]}),o.jsx(cs,{value:"threads",children:d?o.jsxs(be,{columns:"auto auto auto auto auto",...Fxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:zie(y.threadId)}),o.jsx(be.NumberCell,{children:y.resourceId?zie(y.resourceId):"—"}),o.jsx(be.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?rl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Ut.NoData,{message:"No thread activity yet"})}),o.jsx(cs,{value:"resources",children:f?o.jsxs(be,{columns:"auto auto auto auto",...Fxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:zie(y.resourceId)}),o.jsx(be.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(be.NumberCell,{children:y.tokens>0?rl(y.tokens):"—"}),o.jsx(be.NumberCell,{children:y.cost!=null?Up(y.cost,y.costUnit):"—"})]});return b?o.jsx(be.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(be.RowStatic,{children:x},y.key)})]}):o.jsx(Ut.NoData,{message:"No resource activity yet"})})]})})]})}const Bie=20;function Gxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-active-threads",n],queryFn:async()=>{const r={groupBy:["threadId","resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count",limit:Bie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Bie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Bie})]),l=new Map,c=d=>dA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.threadId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.threadId).map(d=>{const f=d.dimensions.threadId,p=l.get(f);return{threadId:f,resourceId:d.dimensions.resourceId??null,runs:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}const Uie=20;function Qxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","top-resources-by-threads",n],queryFn:async()=>{const r={groupBy:["resourceId"],orderDirection:"DESC",filters:t},[s,a,i]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",limit:Uie}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Uie}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Uie})]),l=new Map,c=d=>dA(l,d,()=>({tokens:0,cost:null,costUnit:null})),u=d=>{for(const f of d){const p=f.dimensions.resourceId;if(!p)continue;const h=c(p);h.tokens+=f.value,f.estimatedCost!=null&&(h.cost=(h.cost??0)+f.estimatedCost,f.costUnit&&(h.costUnit=f.costUnit))}};return u(a.groups),u(i.groups),s.groups.filter(d=>!!d.dimensions.resourceId).map(d=>{const f=d.dimensions.resourceId,p=l.get(f);return{resourceId:f,threadCount:d.value,tokens:p?.tokens??0,cost:p?.cost??null,costUnit:p?.costUnit??null}})}})}function Yxs(){const e=Gxs(),t=Qxs(),{getTracesHref:n}=fA(),{Link:r}=dn();return o.jsx(Zxs,{threads:{data:e.data,isLoading:e.isLoading,isError:e.isError},resources:{data:t.data,isLoading:t.isLoading,isError:t.isError},LinkComponent:r,getThreadRowHref:s=>n({threadId:s.threadId,...s.resourceId?{resourceId:s.resourceId}:{}}),getResourceRowHref:s=>n({resourceId:s.resourceId})})}function UL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Qr,{children:[o.jsx(Qr.Label,{children:e}),o.jsx(Qr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Qr.Error,{}):s?o.jsx(Qr.Loading,{}):i?r!=null?o.jsx(Qr.Change,{changePct:r,prevValue:n}):o.jsx(Qr.NoChange,{}):o.jsx(Qr.NoData,{})]})}function Kxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-resources-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"resourceId",filters:t,comparePeriod:"previous_period"})})}function Xxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","active-threads-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count_distinct",distinctColumn:"threadId",filters:t,comparePeriod:"previous_period"})})}function Jxs(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-cost-kpi",n],queryFn:async()=>{const r=await e.getMetricAggregate({name:["mastra_model_total_input_tokens","mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"});return{cost:r.estimatedCost??null,costUnit:r.costUnit??null,previousCost:r.previousEstimatedCost??null,costChangePercent:r.costChangePercent??null}}})}function e0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","total-tokens-kpi",n],queryFn:async()=>{const[r,s]=await Promise.all([e.getMetricAggregate({name:["mastra_model_total_input_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"}),e.getMetricAggregate({name:["mastra_model_total_output_tokens"],aggregation:"sum",filters:t,comparePeriod:"previous_period"})]),a=r.value!=null||s.value!=null,i=r.previousValue!=null||s.previousValue!=null,l=(r.value??0)+(s.value??0),c=(r.previousValue??0)+(s.previousValue??0),u=i&&c>0?(l-c)/c*100:null;return{value:a?l:null,previousValue:i?c:null,changePercent:u}}})}function t0s(){const{data:e,isLoading:t,isError:n}=aHt();return o.jsx(UL,{label:"Total Agent Runs",value:e?.value!=null?e.value.toLocaleString():null,prevValue:e?.previousValue!=null?e.previousValue.toLocaleString():void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function n0s(){const{data:e,isLoading:t,isError:n}=Jxs();return o.jsx(UL,{label:"Total Model Cost",value:e?.cost!=null?Up(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?Up(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function r0s(){const{data:e,isLoading:t,isError:n}=e0s();return o.jsx(UL,{label:"Total Tokens",value:e?.value!=null?rl(e.value):null,prevValue:e?.previousValue!=null?rl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function s0s(){const{data:e,isLoading:t,isError:n}=Xxs();return o.jsx(UL,{label:"Total Threads",value:e?.value!=null?rl(e.value):null,prevValue:e?.previousValue!=null?rl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function a0s(){const{data:e,isLoading:t,isError:n}=Kxs();return o.jsx(UL,{label:"Total Resources",value:e?.value!=null?rl(e.value):null,prevValue:e?.previousValue!=null?rl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function i0s({onClear:e,onRemoveAll:t,onSave:n,onRemoveSaved:r,isLoading:s,filterFields:a,filterTokens:i,onFilterTokensChange:l,autoFocusFilterFieldId:c}){const u=i.length>0,d=i.some(f=>o0s(f,a));return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(MAe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(PAe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function o0s(e,t){const n=t.find(r=>r.id===e.fieldId);return n?n.kind==="text"?typeof e.value=="string"&&e.value.trim()!=="":n.kind==="pick-multi"?n.multi?Array.isArray(e.value)&&e.value.length>0:typeof e.value=="string"&&e.value!==""&&e.value!=="Any":n.kind==="multi-select"?Array.isArray(e.value)&&e.value.length>0:!1:!1}function l0s({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Model Usage & Cost",description:"Token consumption by model."}),i&&(()=>{const l=e.reduce((d,f)=>d+(f.cost??0),0),c=new Set;for(const d of e)d.cost!=null&&d.costUnit&&c.add(d.costUnit);let u;return c.size===0?u=l>0?Up(l):"—":c.size===1?u=l>0?Up(l,[...c][0]):"—":u="Mixed",o.jsx(Ut.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Ut.Actions,{children:s}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load model usage data"}):o.jsx(Ut.Content,{children:i?o.jsxs(be,{columns:"auto auto auto auto auto auto",...Fxe,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{sticky:"start",children:"Model"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(be.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(be.RowHeaderCell,{className:"text-ui-sm",children:l.model}),o.jsx(be.NumberCell,{children:l.input}),o.jsx(be.NumberCell,{children:l.output}),o.jsx(be.NumberCell,{children:l.cacheRead}),o.jsx(be.NumberCell,{children:l.cacheWrite}),o.jsx(be.NumberCell,{highlight:!0,children:l.cost!=null?Up(l.cost,l.costUnit):"—"})]});return c?o.jsx(be.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(be.RowStatic,{children:u},l.model)})]}):o.jsx(Ut.NoData,{message:"No model usage data yet"})})]})}function c0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","model-usage-cost",n],queryFn:async()=>{const[r,s,a,i]=await Promise.all(["mastra_model_total_input_tokens","mastra_model_total_output_tokens","mastra_model_input_cache_read_tokens","mastra_model_input_cache_write_tokens"].map(d=>e.getMetricBreakdown({name:[d],groupBy:["model"],aggregation:"sum",orderDirection:"DESC",filters:t})));if(!r||!s||!a||!i)return[];const l=new Map,c=d=>dA(l,d,()=>({input:0,output:0,cacheRead:0,cacheWrite:0,cost:null,costUnit:null})),u=(d,f)=>{f.estimatedCost!=null&&(d.cost=(d.cost??0)+f.estimatedCost,f.costUnit&&(d.costUnit=f.costUnit))};for(const d of r.groups){const f=d.dimensions.model??"unknown",p=c(f);p.input=d.value,u(p,d)}for(const d of s.groups){const f=d.dimensions.model??"unknown",p=c(f);p.output=d.value,u(p,d)}for(const d of a.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheRead=d.value}for(const d of i.groups){const f=d.dimensions.model??"unknown",p=c(f);p.cacheWrite=d.value}return Array.from(l.entries()).map(([d,f])=>({model:d,input:rl(f.input),output:rl(f.output),cacheRead:rl(f.cacheRead),cacheWrite:rl(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function u0s(){const{data:e,isLoading:t,isError:n}=c0s(),{getTracesHref:r}=fA(),{Link:s}=dn();return o.jsx(l0s,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:Gu.AGENT}),actions:o.jsx(BL,{href:r({rootEntityType:Gu.AGENT}),LinkComponent:s})})}function d0s(e){return e==="tokens"||e==="cost"}function f0s({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=g.useState("tokens"),c=e??[],u=c.length>0,d=c.reduce((b,x)=>b+x.total,0),f=c.filter(b=>b.cost!=null&&b.cost>0),p=new Set(f.map(b=>b.costUnit??"usd")),h=p.size<=1,m=h?[...p][0]??"usd":null,v=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&v>0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Ut.Summary,{value:Up(v,m),label:"Total cost"}):o.jsx(Ut.Summary,{value:rl(d),label:"Total tokens"})),u&&s?o.jsx(Ut.Actions,{children:s}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load token usage data"}):o.jsx(Ut.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:i,onValueChange:b=>{d0s(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"tokens",children:"Tokens"}),o.jsx(Ir,{value:"cost",children:"Cost"})]}),o.jsx(cs,{value:"tokens",children:o.jsx(ZN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:qp.blueDark},{label:"Output",color:qp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:rl})}),o.jsx(cs,{value:"cost",children:y?o.jsx(ZN,{LinkComponent:a,data:f.slice().sort((b,x)=>(x.cost??0)-(b.cost??0)).map(b=>({name:b.name,values:[b.cost],href:r?.(b)})),segments:[{label:"Cost",color:qp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>Up(b,m)}):o.jsx(Ut.NoData,{message:"No cost data yet"})})]}):o.jsx(Ut.NoData,{message:"No token usage data yet"})})]})}function p0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","token-usage-by-agent",n],queryFn:async()=>{const r={groupBy:["entityName"],aggregation:"sum",orderDirection:"DESC",filters:t},[s,a]=await Promise.all([e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"]}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"]})]),i=new Map,l=u=>dA(i,u,()=>({input:0,output:0,cost:null,costUnit:null})),c=(u,d)=>{d.estimatedCost!=null&&(u.cost=(u.cost??0)+d.estimatedCost,d.costUnit&&(u.costUnit=d.costUnit))};for(const u of s.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.input=u.value,c(f,u)}for(const u of a.groups){const d=u.dimensions.entityName??"unknown",f=l(d);f.output=u.value,c(f,u)}return Array.from(i.entries()).map(([u,d])=>({name:u,input:d.input,output:d.output,total:d.input+d.output,cost:d.cost,costUnit:d.costUnit})).sort((u,d)=>d.total-u.total)}})}function h0s(){const{data:e,isLoading:t,isError:n}=p0s(),{getTracesHref:r}=fA(),{Link:s}=dn();return o.jsx(f0s,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:Gu.AGENT,entityName:a.name}),actions:o.jsx(BL,{href:r({rootEntityType:Gu.AGENT}),LinkComponent:s})})}function Kxe(e,t=rl){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const m0s=[{dataKey:"input",label:"Input tokens",color:qp.blue,aggregate:Kxe("input")},{dataKey:"output",label:"Output tokens",color:qp.yellow,aggregate:Kxe("output")}];function g0s(e){return e==="tokens"||e==="cost"}function v0s({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=g.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,_)=>k+_.total,0),f=l.filter(k=>k.cost!=null&&k.cost>0),p=f.map(k=>({...k})),h=new Set(f.map(k=>k.costUnit).filter(k=>!!k)),m=h.size===1&&f.every(k=>k.costUnit!=null),v=m?[...h][0]??null:null,y=m?f.reduce((k,_)=>k+(_.cost??0),0):0,b=m&&y>0,x=t==="1h"?"Input and output tokens per hour.":"Input and output tokens per day.",S=[{dataKey:"cost",label:"Cost",color:qp.purple,aggregate:Kxe("cost",k=>Up(k,v))}];return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Ut.Summary,{value:Up(y,v),label:"Total cost"}):o.jsx(Ut.Summary,{value:rl(d),label:"Total tokens"})),u&&s?o.jsx(Ut.Actions,{children:s}):null]}),n?o.jsx(Ut.Loading,{}):r?o.jsx(Ut.Error,{message:"Failed to load token usage timeline"}):o.jsx(Ut.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:a,onValueChange:k=>{g0s(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"tokens",children:"Tokens"}),o.jsx(Ir,{value:"cost",children:"Cost"})]}),o.jsx(cs,{value:"tokens",children:o.jsx(kD,{data:c,series:m0s})}),o.jsx(cs,{value:"cost",children:b?o.jsx(kD,{data:p,series:S}):o.jsx(Ut.NoData,{message:"No cost data yet"})})]}):o.jsx(Ut.NoData,{message:"No token usage data yet"})})]})}function y0s(e){return e==="24h"?"1h":"1d"}function b0s(e,t){return t==="1h"?e.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",hour12:!1}):e.toLocaleDateString("en-US",{month:"short",day:"2-digit"})}function vtt(e,t,n){for(const r of t?.points??[]){const s=new Date(r.timestamp).getTime();if(!Number.isFinite(s))continue;const a=e.get(s)??{tsMs:s,input:0,output:0,cost:null,costUnits:new Set,hasUnknownCostUnit:!1};a[n]+=r.value,r.estimatedCost!=null&&(a.cost=(a.cost??0)+r.estimatedCost,t?.costUnit?a.costUnits.add(t.costUnit):a.hasUnknownCostUnit=!0),e.set(s,a)}}function x0s(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function w0s(){const e=Ze(),{datePreset:t,filters:n,filterKey:r}=Fm(),s=y0s(t);return yt({queryKey:["metrics","token-usage-timeseries",r,s],queryFn:async()=>{const[a,i]=await Promise.all([e.getMetricTimeSeries({name:["mastra_model_total_input_tokens"],interval:s,aggregation:"sum",filters:n}),e.getMetricTimeSeries({name:["mastra_model_total_output_tokens"],interval:s,aggregation:"sum",filters:n})]),l=new Map;return vtt(l,a.series[0],"input"),vtt(l,i.series[0],"output"),{data:Array.from(l.values()).sort((u,d)=>u.tsMs-d.tsMs).map(u=>{const d=new Date(u.tsMs);return{time:b0s(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:x0s(u)}}),interval:s}}})}function S0s(){const{data:e,isLoading:t,isError:n}=w0s(),{getTracesHref:r}=fA(),{Link:s}=dn();return o.jsx(v0s,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(BL,{href:r(),LinkComponent:s})})}function qie({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(ZN,{LinkComponent:r,data:e.map(s=>{const a=n?.(s),i=t?.(s);return a?{name:s.name,values:[s.completed,s.errors],hrefs:[i,a]}:{name:s.name,values:[s.completed,s.errors],href:i}}),segments:[{label:"Completed",color:qp.blueDark},{label:"Errors",color:qp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:rl})}function k0s({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=g.useState("agents"),u=typeof a=="function"?a(l):a,d=!!e&&(e.agentData.length>0||e.workflowData.length>0||e.toolData.length>0),f=e?[...e.agentData,...e.workflowData,...e.toolData].reduce((m,v)=>m+v.completed+v.errors,0):0,p=m=>r?v=>r(m,v):void 0,h=m=>s?v=>s(m,v):void 0;return o.jsxs(Ut,{children:[o.jsxs(Ut.TopBar,{children:[o.jsx(Ut.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Ut.Summary,{value:rl(f),label:"Total runs"}),u?o.jsx(Ut.Actions,{children:u}):null]}),t?o.jsx(Ut.Loading,{}):n?o.jsx(Ut.Error,{message:"Failed to load trace volume data"}):o.jsx(Ut.Content,{children:d?o.jsxs(pc,{value:l,onValueChange:c,defaultTab:"agents",className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(Ir,{value:"agents",children:"Agents"}),o.jsx(Ir,{value:"workflows",children:"Workflows"}),o.jsx(Ir,{value:"tools",children:"Tools"})]}),o.jsx(cs,{value:"agents",children:e.agentData.length>0?o.jsx(qie,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Ut.NoData,{message:"No agent data yet"})}),o.jsx(cs,{value:"workflows",children:e.workflowData.length>0?o.jsx(qie,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Ut.NoData,{message:"No workflow data yet"})}),o.jsx(cs,{value:"tools",children:e.toolData.length>0?o.jsx(qie,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Ut.NoData,{message:"No tool data yet"})})]}):o.jsx(Ut.NoData,{message:"No trace volume data yet"})})]})}async function Vie(e,t,n){const r=await e.getMetricBreakdown({name:[t],groupBy:["entityName","status"],aggregation:"count",orderDirection:"DESC",filters:n}),s=new Map;for(const a of r.groups){const i=a.dimensions.entityName??"unknown",l=a.dimensions.status??"ok",c=dA(s,i,()=>({completed:0,errors:0}));l==="error"?c.errors+=a.value:c.completed+=a.value}return Array.from(s.entries()).map(([a,i])=>({name:a,...i})).sort((a,i)=>i.completed+i.errors-(a.completed+a.errors))}function O0s(){const e=Ze(),{filters:t,filterKey:n}=Fm();return yt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Vie(e,"mastra_agent_duration_ms",t),Vie(e,"mastra_workflow_duration_ms",t),Vie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Jz={agents:Gu.AGENT,workflows:Gu.WORKFLOW_RUN,tools:Gu.TOOL};function _0s(){const{data:e,isLoading:t,isError:n}=O0s(),{getTracesHref:r,getLogsHref:s}=fA(),{Link:a}=dn();return o.jsx(k0s,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Jz[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Jz[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(BL,{href:r({rootEntityType:Jz[i]}),LinkComponent:a}),o.jsx(Mxs,{href:s({rootEntityType:Jz[i],status:"error"}),LinkComponent:a})]})})}const Hie="period",e8="dateFrom",t8="dateTo";function C0s(){const[e,t]=mi(),n=e.get(Hie),r=Exs(n)?n:"24h",s=g.useMemo(()=>{if(r!=="custom")return;const d=h=>{if(!h)return;const m=new Date(h);return Number.isNaN(m.getTime())?void 0:m},f=d(e.get(e8)),p=d(e.get(t8));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=g.useMemo(()=>xxs(e),[e.toString()]),i=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(Hie):p.set(Hie,d),d!=="custom"&&(p.delete(e8),p.delete(t8)),p},{replace:!0})},[t]),l=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(e8,d.from.toISOString()):p.delete(e8),d?.to?p.set(t8,d.to.toISOString()):p.delete(t8),p},{replace:!0})},[t]),c=g.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Sxs(p,d),p},{replace:!0})},[t]),u=g.useRef(!1);return g.useEffect(()=>{if(u.current||(u.current=!0,yxs(e)))return;const d=nHt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(jxs,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(E0s,{})})}function E0s(){const[e]=mi(),{error:t,isLoading:n}=aHt(),{filterTokens:r,setFilterTokens:s}=QQ(),[a,i]=g.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=mVt(),{data:d,isLoading:f}=qAe(),{data:p,isLoading:h}=zAe(),{data:m,isLoading:v}=UAe(),{data:y,isLoading:b}=BAe(),x=g.useMemo(()=>bxs({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:v,environments:b}}),[d,p,m,y,f,h,v,b]),[S,k]=g.useState(()=>nHt()!==null),_=g.useCallback(()=>{gxs(e),k(!0),Be.success("Filters setting for Metrics saved")},[e]),C=g.useCallback(()=>{vxs(),k(!1),Be.success("Filters setting for Metrics cleared up")},[]),T=g.useCallback(()=>{s([])},[s]),E=g.useCallback(()=>{const N=r.map(I=>{const A=x.find(R=>R.id===I.fieldId);return A?A.kind==="text"?{fieldId:I.fieldId,value:""}:A.kind==="pick-multi"?A.multi?{fieldId:I.fieldId,value:[]}:{fieldId:I.fieldId,value:"Any"}:A.kind==="multi-select"?{fieldId:I.fieldId,value:[]}:I:I});s(N)},[x,r,s]);return t&&xs(t)?o.jsx(or,{children:o.jsx(Hs,{})}):t&&ws(t)?o.jsx(or,{children:o.jsx(Ds,{resource:"metrics"})}):t?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Ht,{width:"wide",height:"full",children:[o.jsxs(Ht.TopArea,{children:[o.jsx(Ht.Row,{children:o.jsxs(Ht.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(Rxs,{}),o.jsx(DAe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(i0s,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:E,onRemoveAll:T,onSave:_,onRemoveSaved:S?C:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Zn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Zn.Message,{children:"This project uses in-memory storage for observability. Metrics will be lost on every server restart. For persistent metrics, switch the observability storage to ClickHouse, DuckDB, Postgres v-next, or Spanner."})}),o.jsxs(Hxe,{children:[o.jsx(t0s,{}),o.jsx(n0s,{}),o.jsx(r0s,{}),o.jsx(s0s,{}),o.jsx(a0s,{})]}),o.jsxs(Hxe,{children:[o.jsx(u0s,{}),o.jsx(h0s,{}),o.jsx(S0s,{}),o.jsx(Yxs,{}),o.jsx(_0s,{}),o.jsx(Hxs,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Cr,{iconSlot:o.jsx(Df,{}),titleSlot:"Metrics are not available with your current storage",descriptionSlot:"Metrics require ClickHouse, DuckDB, Postgres v-next, Spanner, or in-memory storage for observability. Other relational databases (LibSQL, MSSQL) and document stores (MongoDB) do not support metrics collection. To enable metrics on an existing project, switch the observability storage in the Mastra configuration.",actionSlot:o.jsxs(oe,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(fs,{})]})})})]})}const T0s=50;function j0s(){const{paths:e}=dn(),{isCmsAvailable:t}=hS(),[n,r]=g.useState(""),[s,a]=g.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=NBt({page:s,perPage:T0s}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=g.useCallback(()=>{u||a(v=>v+1)},[u]),h=g.useCallback(()=>{u||a(v=>Math.max(0,v-1))},[u]),m=g.useCallback(v=>{r(v),a(0)},[]);return c&&xs(c)?o.jsx(or,{children:o.jsx(Hs,{})}):c&&ws(c)?o.jsx(or,{children:o.jsx(Ds,{resource:"prompt blocks"})}):c?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(or,{children:o.jsx(Wis,{})}):o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsxs(Ht.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(rh,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(oe,{as:Si,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Br,{}),"Create Prompt"]})]})}),o.jsx(His,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function N0s(){return o.jsx(Ht,{width:"narrow",children:o.jsx(Ht.MainArea,{children:o.jsx(Ias,{children:o.jsx(Sxe,{})})})})}const I0s=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:kYt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:Vlt,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:fs,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:m0e,href:"https://discord.gg/BTYqqHKUrf",external:!0},{title:"Share with your team",description:"Running Mastra Studio locally? Deploy to the cloud so your team can collaborate.",icon:Ylt,href:"https://mastra.ai/cloud",external:!0},{title:"Talk to our Sales team",description:"Get a custom demo, discuss on-prem deployments, and how we can help you accelerate getting agents into production.",icon:Hlt,href:"https://mastra.ai/contact?ref=studio",external:!0}];function A0s(){return o.jsx(Ht,{width:"narrow",children:o.jsx(Ht.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:I0s.map(e=>o.jsxs("a",{href:e.href,...e.external?{target:"_blank",rel:"noreferrer"}:{},className:"group border-border1 bg-surface2 hover:border-accent1 hover:bg-surface3 flex flex-col gap-3 rounded-lg border p-5 transition-colors",children:[o.jsxs("div",{className:"flex items-center gap-2.5",children:[o.jsx(e.icon,{className:"text-icon3 group-hover:text-accent1 h-5 w-5 transition-colors"}),o.jsx("span",{className:"text-ui-md text-text1 font-medium",children:e.title}),e.external&&o.jsx(fs,{className:"text-icon3 ml-auto h-3.5 w-3.5 opacity-0 transition-opacity group-hover:opacity-100"})]}),o.jsx("p",{className:"text-ui-sm text-text3 leading-relaxed",children:e.description})]},e.href))})})})}function R0s(){const{data:e={},isLoading:t,error:n}=ah(),[r,s]=g.useState(""),[a,i]=g.useState("all");if(n&&xs(n))return o.jsx(or,{children:o.jsx(Hs,{})});if(n&&ws(n))return o.jsx(or,{children:o.jsx(Ds,{resource:"scorers"})});if(n)return o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(or,{children:o.jsx(RUr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx($Ur,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(AUr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function P0s(){const{scorerId:e}=mr(),[t,n]=mi(),r=t.get("scoreId")??void 0,[s,a]=g.useState(r),[i,l]=g.useState(!1),c=Kr(),[u,d]=g.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:f,error:p}=fUr(e),{data:h={},isLoading:m,error:v}=$m(),{isLoading:y,error:b}=Wy(),{data:x=[],isLoading:S,error:k,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T}=dUr({scorerId:e,entityId:u?.value==="all"?void 0:u?.value,entityType:u?.type==="ALL"?void 0:u?.type}),E=g.useMemo(()=>f?.agentIds?.filter($=>h[$]).map($=>({value:$,label:h[$].name,type:"AGENT"}))||[],[f?.agentIds,h]),N=g.useMemo(()=>f?.workflowIds?.map($=>({value:$,label:$,type:"WORKFLOW"}))||[],[f?.workflowIds]),I=g.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...E,...N],[E,N]),A=t.get("entity")??"all",R=I.find($=>$.value===A);R&&R.value!==u?.value&&d(R),g.useEffect(()=>{if(p){const $=p instanceof Error?p.message:"Failed to load scorer";Be.error(`Error loading scorer: ${$}`)}},[p]),g.useEffect(()=>{if(v){const $=v instanceof Error?v.message:"Failed to load agents";Be.error(`Error loading agents: ${$}`)}},[v]),g.useEffect(()=>{if(b){const $=b instanceof Error?b.message:"Failed to load workflows";Be.error(`Error loading workflows: ${$}`)}},[b]);const L=$=>{$?.value&&n(q=>{const Z=new URLSearchParams(q);return Z.set("entity",$.value),Z})};g.useEffect(()=>{const $=t.get("scoreId")??void 0;if($===s)return;if(!$){a(void 0);return}x.find(Z=>Z.id===$)&&a($)},[t,x]);const D=g.useCallback($=>{a($||void 0),n(q=>{const Z=new URLSearchParams(q);return $?Z.set("scoreId",$):Z.delete("scoreId"),Z})},[n]);if(!f)return null;const F=xs(p)||xs(v)||xs(b),H=p&&ws(p),B=!F&&!H&&(p||v||b),z=!S&&x.length===0,V=u?.value!=="all",M=f?.scorer?.source==="stored"?o.jsx($y,{owner:"scorer-detail",children:o.jsxs(oe,{variant:"default",as:Si,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(cm,{})," Edit"]})}):null,G=e?o.jsx(QAe,{open:i,onOpenChange:l,initialScorerIds:[e],onSuccess:$=>{c(`/experiments/${$}`)}}):null;if(F||H||B||z&&!V){const $=(p instanceof Error?p.message:void 0)??(v instanceof Error?v.message:void 0)??(b instanceof Error?b.message:void 0)??"An unexpected error occurred";return o.jsxs(Ht,{width:"wide",height:"full",className:"grid-rows-[1fr]",children:[M,o.jsx(Ht.MainArea,{isCentered:!0,children:F?o.jsx(Hs,{}):H?o.jsx(Ds,{resource:"scorers"}):B?o.jsx(Ui,{title:"Failed to load scorer",message:$}):o.jsx(rUr,{onRunExperiment:()=>l(!0)})}),G]})}return o.jsxs(Ht,{width:"wide",height:"full",children:[M,o.jsx(Ht.TopArea,{children:o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsx(aUr,{selectedEntity:u,entityOptions:I,onEntityChange:L,onReset:()=>{n($=>{const q=new URLSearchParams($);return q.set("entity","all"),q})},isLoading:S||m||y}),o.jsxs(oe,{variant:"primary",onClick:()=>l(!0),children:[o.jsx(hu,{}),"Run Experiment"]})]})}),o.jsx(nUr,{scores:x,isLoading:S,selectedScoreId:s,isFetchingNextPage:_,hasNextPage:C,setEndOfListElement:T,onScoreClick:D,errorMsg:k?.message}),G]})}const $0s=Ii("flex min-w-0 flex-col",{variants:{variant:{default:"gap-3 sm:flex-row sm:items-center sm:justify-between",factory:"gap-2 px-4 py-3 lg:flex-row lg:items-center lg:justify-between lg:gap-4"}},defaultVariants:{variant:"default"}}),M0s=Ii("flex min-w-0 flex-col",{variants:{variant:{default:"",factory:"gap-0.5"}},defaultVariants:{variant:"default"}}),ytt=Ii("",{variants:{variant:{default:"text-sm font-medium",factory:"text-ui-md leading-ui-md text-neutral5"}},defaultVariants:{variant:"default"}}),D0s=Ii("flex flex-col gap-0.5",{variants:{variant:{default:"text-sm text-neutral3",factory:"text-ui-sm text-neutral3"}},defaultVariants:{variant:"default"}});function L0s({label:e,description:t,htmlFor:n,variant:r,className:s,children:a}){return o.jsxs("div",{className:K($0s({variant:r}),s),"data-slot":"settings-row",children:[o.jsxs("div",{className:M0s({variant:r}),children:[n?o.jsx(Mt,{htmlFor:n,className:ytt({variant:r}),children:e}):o.jsx("span",{className:ytt({variant:r}),children:e}),t&&o.jsx("div",{className:D0s({variant:r}),children:t})]}),a]})}const cHt=[{value:"dark",label:"Dark",Icon:iXt},{value:"light",label:"Light",Icon:xJt},{value:"system",label:"System",Icon:nct}],F0s=e=>cHt.some(t=>t.value===e);function z0s({option:e}){const{Icon:t}=e;return o.jsxs("span",{className:"inline-flex max-w-full min-w-0 items-center gap-2",children:[o.jsx(t,{"aria-hidden":"true",className:"h-4 w-4 shrink-0 opacity-70"}),o.jsx("span",{className:"min-w-0 truncate",children:e.label})]})}const B0s=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=EH(),{theme:r,setTheme:s}=K_();return o.jsx(Ht,{width:"narrow",children:o.jsxs(Ht.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(Qbe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(L0s,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(pa,{value:r,onValueChange:a=>{F0s(a)&&s(a)},children:[o.jsx(ma,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ha,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ga,{children:cHt.map(a=>o.jsx(jr,{value:a.value,children:o.jsx(z0s,{option:a})},a.value))})]})})}),o.jsx(Qbe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(a4t,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function U0s(){const[e]=mi(),t=Kr(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(JVt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const uHt=e=>o.jsx("svg",{width:"15",height:"15",viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:o.jsx("path",{d:"M7.5 0.75C3.6325 0.75 0.5 3.8825 0.5 7.75C0.5 10.8475 2.50375 13.4637 5.28625 14.3912C5.63625 14.4525 5.7675 14.2425 5.7675 14.0587C5.7675 13.8925 5.75875 13.3412 5.75875 12.755C4 13.0787 3.545 12.3262 3.405 11.9325C3.32625 11.7312 2.985 11.11 2.6875 10.9437C2.4425 10.8125 2.0925 10.4887 2.67875 10.48C3.23 10.4712 3.62375 10.9875 3.755 11.1975C4.385 12.2562 5.39125 11.9587 5.79375 11.775C5.855 11.32 6.03875 11.0137 6.24 10.8387C4.6825 10.6637 3.055 10.06 3.055 7.3825C3.055 6.62125 3.32625 5.99125 3.7725 5.50125C3.7025 5.32625 3.4575 4.60875 3.8425 3.64625C3.8425 3.64625 4.42875 3.4625 5.7675 4.36375C6.3275 4.20625 6.9225 4.1275 7.5175 4.1275C8.1125 4.1275 8.7075 4.20625 9.2675 4.36375C10.6062 3.45375 11.1925 3.64625 11.1925 3.64625C11.5775 4.60875 11.3325 5.32625 11.2625 5.50125C11.7087 5.99125 11.98 6.6125 11.98 7.3825C11.98 10.0687 10.3438 10.6637 8.78625 10.8387C9.04 11.0575 9.25875 11.4775 9.25875 12.1337C9.25875 13.07 9.25 13.8225 9.25 14.0587C9.25 14.2425 9.38125 14.4612 9.73125 14.3912C11.1209 13.9221 12.3284 13.029 13.1839 11.8377C14.0393 10.6463 14.4996 9.21668 14.5 7.75C14.5 3.8825 11.3675 0.75 7.5 0.75Z",fill:"currentColor"})});function q0s(e){return e.replace(/\/$/,"").split("/").pop()}function YQ({children:e,className:t}){return o.jsx("div",{className:K("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function V0s({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:K("grid gap-y-4",n),children:Array.from({length:5}).map((a,i)=>o.jsx("div",{className:"bg-surface3 h-16 animate-pulse rounded-lg"},i))}):o.jsx("div",{className:K("grid gap-y-4",n),children:e.map(a=>{const i=a?.agents||a?.tools||a?.networks||a?.workflows||a?.mcp;return o.jsxs("article",{className:K("border border-border1 rounded-lg overflow-hidden w-full grid grid-cols-[1fr_auto] bg-surface3 transition-colors hover:bg-surface4"),children:[o.jsxs(s,{to:`/templates/${a.slug}`,className:K("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:K("overflow-hidden"),children:o.jsx("div",{className:"thumb transition-scale h-full w-full bg-cover duration-150",style:{backgroundImage:`url(${a.imageURL})`}})}),o.jsxs("div",{className:K("grid py-3 px-6 w-full gap-0.5","[&_svg]:w-[1em] [&_svg]:h-[1em] [&_svg]:text-neutral3"),children:[o.jsx("h2",{className:"text-ui-lg text-neutral5",children:a.title}),o.jsx("p",{className:"text-ui-md text-neutral4 transition-colors duration-500",children:a.description}),o.jsxs("div",{className:"text-neutral3 text-ui-md mt-3 hidden flex-wrap items-center gap-4 2xl:flex",children:[i&&o.jsxs("ul",{className:K("flex gap-4 text-ui-md text-neutral3 m-0 p-0 list-none","[&>li]:flex [&>li]:items-center [&>li]:gap-0.5 text-neutral4"),children:[a?.agents&&a.agents.length>0&&o.jsxs("li",{children:[o.jsx(qi,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Mf,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(sct,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(aI,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(OC,{})," ",a.mcp.length]})]}),i&&a.supportedProviders&&o.jsx("small",{children:"|"}),o.jsx("div",{className:"text-neutral3 flex items-center gap-4",children:a.supportedProviders.map(l=>o.jsx("span",{className:"",children:l},l))})]})]})]}),o.jsx("a",{href:a.githubUrl,className:K("group items-center gap-2 text-ui-md ml-auto pr-4 hidden","lg:flex"),target:"_blank",rel:"noopener noreferrer",children:o.jsxs("span",{className:"bg-surface1 group-hover:bg-surface2 text-neutral3 group-hover:text-neutral5 flex items-center gap-2 rounded px-2 py-1 transition-colors",children:[o.jsx(uHt,{})," ",q0s(a.githubUrl)]})})]},a.slug)})})}function H0s({tagOptions:e,selectedTag:t,providerOptions:n,selectedProvider:r,onTagChange:s,onProviderChange:a,searchTerm:i,onSearchChange:l,onReset:c,className:u,isLoading:d}){return d?o.jsxs("div",{className:K("h-[6.5rem] flex items-center gap-8","[&>div]:bg-surface3 [&>div]:w-48 [&>div]:h-8 [&>div]:animate-pulse",u),children:[o.jsx("div",{})," ",o.jsx("div",{})," ",o.jsx("div",{})]}):o.jsxs("div",{className:K("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(g_,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(jc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(jc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(oe,{onClick:c,children:["Reset ",o.jsx($s,{})]})]})}function W0s(){const{data:e,isLoading:t}=zsr(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=g.useState("all"),[l,c]=g.useState("all"),[u,d]=g.useState(""),f=[{value:"all",label:"Any tag"}];(r||[]).forEach(x=>{f.push({value:x,label:x})});const p=[{value:"all",label:"Any provider"}];(s||[]).forEach(x=>{p.push({value:x,label:x})});const h=(x,S)=>{S==="tag"?i(x):S==="provider"&&c(x)},m=x=>{d(x)},v=()=>{i("all"),c("all"),d("")},y=n.filter(x=>!(u&&!x.title.toLowerCase().includes(u)&&!x.description.toLowerCase().includes(u)||a!=="all"&&!x.tags.includes(a)||l!=="all"&&!x.supportedProviders.includes(l))),b=u||a!=="all"||l!=="all";return o.jsxs(ks,{children:[o.jsx(gSe,{children:o.jsxs(Sbt,{children:[o.jsx(Ve,{children:o.jsx(ay,{})}),"Templates"]})}),o.jsxs("div",{className:K("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(H0s,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?v:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(V0s,{templates:y,linkComponent:Si,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const Z0s="1.64.0-alpha.3";function G0s({errorMsg:e,validationErrors:t}){const n=typeof e=="string"?e:e!=null?String(e):void 0,r=n?.includes("Invalid schema for function"),s=n?.includes("validation issue")||t&&t.length>0,a=()=>s?"Template installation completed but some validation issues remain. The template may still be functional, but you should review and fix these issues.":r?"There was an issue with the AI model configuration. This may be related to the selected model or AI SDK version compatibility.":"An unexpected error occurred during template installation.",i=()=>s?{icon:o.jsx(Cf,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(XYt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(YQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[l,o.jsxs("div",{className:"space-y-2 text-center",children:[o.jsx("p",{className:"text-ui-md text-neutral5 font-medium",children:c}),o.jsx("p",{className:"text-ui-md text-neutral3",children:a()})]})]}),t&&t.length>0&&o.jsxs("details",{className:"text-xs",children:[o.jsxs("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:["Show Validation Issues (",t.length,")"]}),o.jsx("div",{className:"mt-4 max-h-60 space-y-2 overflow-auto rounded bg-gray-100 p-3 text-left text-xs dark:bg-gray-800",children:t.map((u,d)=>o.jsxs("div",{className:"border-l-2 border-red-400 pl-2",children:[o.jsx("div",{className:"font-medium text-red-600 dark:text-red-400",children:u.type==="typescript"?"🔴 TypeScript Error":"⚠️ Lint Error"}),o.jsx("div",{className:"mt-1 font-mono text-xs wrap-break-word whitespace-pre-wrap text-gray-700 dark:text-gray-300",children:u.message})]},d))})]}),n&&!s&&o.jsxs("details",{className:"text-xs",children:[o.jsx("summary",{className:"text-neutral3 hover:text-neutral4 cursor-pointer text-center select-none",children:"Show Details"}),o.jsx("div",{className:"mt-4 max-h-60 overflow-auto rounded bg-gray-100 p-3 text-left font-mono text-xs dark:bg-gray-800",children:o.jsx("div",{className:"wrap-break-word whitespace-pre-wrap",children:n})})]})]})}function Q0s({providerOptions:e,selectedProvider:t,onProviderChange:n,variables:r,errors:s,handleInstallTemplate:a,handleVariableChange:i,isLoadingEnvVars:l,isInstalling:c,defaultModelProvider:u,defaultModelId:d,onModelUpdate:f}){return o.jsx(YQ,{children:o.jsxs("div",{className:"mx-auto my-4 grid max-w-[40rem] gap-8 p-4 lg:p-8",children:[o.jsxs("h2",{className:K("text-neutral4 text-header-sm font-semibold flex items-center gap-2","[&>svg]:w-[1.2em] [&_svg]:h-[1.2em] [&_svg]:opacity-70"),children:["Install Template ",o.jsx(act,{})]}),o.jsx(jc,{name:"template-provider",options:e,label:"Template AI Model Provider",onValueChange:n,value:t,placeholder:"Select",layout:"horizontal"}),t&&Object.entries(r||{}).length>0&&o.jsxs(o.Fragment,{children:[o.jsx("h3",{className:"text-neutral3 text-ui-md",children:"Set required Environmental Variables"}),o.jsx("div",{className:"grid grid-cols-[1fr_1fr] items-start gap-4",children:l?o.jsxs("div",{className:K("flex items-center justify-center col-span-2 text-neutral3 text-ui-sm gap-4","[&_svg]:opacity-50 [&_svg]:w-[1.1em] [&_svg]:h-[1.1em]","animate-in fade-in duration-300"),children:[o.jsx(qt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(g.Fragment,{children:[o.jsx(Lg,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(Lg,{name:p,labelIsHidden:!0,label:"Value",value:h,onChange:i,errorMsg:s.includes(p)?"Value is required.":"",autoComplete:"off",className:"w-full"})]},p))}),o.jsxs("div",{className:"border-border1 relative mt-3.5 border-t pt-12",children:[o.jsx("div",{className:"bg-surface2 text-ui-sm text-neutral3 absolute top-0 left-1/2 flex h-8 w-8 -translate-x-1/2 -translate-y-4 items-center justify-center rounded-full",children:"And"}),o.jsx("h3",{className:"text-neutral4 text-ui-lg",children:"Set AI Model for Template Installation"}),o.jsx("p",{className:"text-neutral3 text-ui-md mt-2 mb-8",children:"This model will be used by the workflow to process and install the template"}),o.jsx(s4t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(oe,{className:K("flex items-center gap-2 mt-4 justify-center text-ui-md w-full bg-surface5 min-h-10 rounded-lg text-neutral5 hover:bg-surface6 transition-colors","[&>svg]:w-[1.1em] [&_svg]:h-[1.1em] [&_svg]:text-neutral5"),onClick:a,disabled:!t||!u||!d||s.length>0||c,children:c?o.jsxs(o.Fragment,{children:[o.jsx(qt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(Vg,{})]})})]})})}function Y0s({title:e,description:t,githubUrl:n,isLoading:r,infoData:s,templateSlug:a}){const i=a?`feat/install-template-${a}`:"feat/install-template-[slug]";return o.jsxs(o.Fragment,{children:[o.jsx("div",{className:K("grid mt-8 items-center"),children:o.jsxs("div",{className:K("text-header-lg flex items-center gap-3","[&>svg]:w-[1.2em] [&>svg]:h-[1.2em] [&>svg]:opacity-50",{"[&>svg]:opacity-20":r}),children:[o.jsx(ay,{}),o.jsx("h2",{className:K({"bg-surface4 flex rounded-lg min-w-[50%]":r}),children:r?o.jsx(o.Fragment,{children:" "}):e})]})}),o.jsxs("div",{className:"grid gap-x-24 lg:grid-cols-[1fr_1fr]",children:[o.jsxs("div",{className:"grid",children:[o.jsx("p",{className:K("mb-4 text-ui-md text-neutral4 mt-2 leading-7",{"bg-surface4 rounded-lg ":r}),children:r?o.jsx(o.Fragment,{children:" "}):t}),!r&&a&&o.jsxs("div",{className:K("bg-surface2 border border-surface4 rounded-lg p-4 mb-4","flex items-start gap-3"),children:[o.jsx("div",{className:"mt-0.5 shrink-0",children:o.jsx(Jx,{className:"h-[1.1em] w-[1.1em] text-blue-500"})}),o.jsxs("div",{className:"flex-1 space-y-2",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(f0e,{className:"text-neutral4 h-[1em] w-[1em]"}),o.jsx("span",{className:"text-ui-md text-neutral5 font-medium",children:"A new Git branch will be created"})]}),o.jsxs("div",{className:"text-ui-sm text-neutral4 space-y-1",children:[o.jsxs("div",{children:[o.jsx("span",{className:"font-medium",children:"Branch name:"})," ",o.jsx("code",{className:"bg-surface3 text-ui-sm rounded px-1.5 py-0.5 font-mono",children:i})]}),o.jsx("div",{children:"This ensures safe installation with easy rollback if needed. Your main branch remains unchanged."})]})]})]}),n&&o.jsxs("a",{href:n,target:"_blank",rel:"noopener noreferrer",className:"text-neutral3 text-ui-md hover:text-neutral5 mt-auto flex items-center gap-2",children:[o.jsx(uHt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(nje,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function btt(e){switch(e){case"running":return o.jsx(qt,{size:"sm","aria-hidden":!0});case"success":return o.jsx(by,{"aria-hidden":!0});case"failed":return o.jsx(Rc,{"aria-hidden":!0});default:return null}}function K0s(){return o.jsx("svg",{viewBox:"0 0 24 24",className:"text-neutral2","aria-hidden":!0,children:o.jsx("circle",{cx:"12",cy:"12",r:"8.5",pathLength:"48",fill:"none",stroke:"currentcolor",strokeWidth:"2.8",strokeLinecap:"round",strokeDasharray:"3 3"})})}function X0s({status:e,variant:t}){return t==="plain"?o.jsx("span",{className:K("flex size-4 items-center justify-center self-center [&>svg]:size-4",Zr.colors,{"[&>svg]:text-positive1":e==="success","[&>svg]:text-negative1":e==="failed"}),children:e==="pending"?o.jsx(K0s,{}):btt(e)}):o.jsx("span",{className:K("flex size-7 items-center justify-center self-center rounded-full motion-reduce:transition-none",Zr.colors,Zr.transform,Zr.shadow,{"[&>svg]:text-notice-success-fg":e==="success","[&>svg]:text-notice-destructive-fg":e==="failed","border border-dashed border-neutral2":e==="pending","[&>svg]:size-4":e!=="running","bg-accent1Dark shadow-glow-accent1":e==="success","bg-accent2Dark shadow-glow-accent2":e==="failed","scale-110":e==="success"||e==="failed"}),children:btt(e)})}function J0s({step:e,isActive:t,position:n,variant:r="default"}){return o.jsxs("div",{className:K("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3 motion-reduce:transition-none",Zr.colors,{"border border-transparent":r==="default","border-dashed border-neutral2 bg-surface3":t&&r==="default"}),children:[o.jsxs("div",{className:"grid min-w-0 grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:K("flex min-w-6 justify-end text-ui-md",Zr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:[n,"."]}),o.jsxs("div",{className:"min-w-0",children:[o.jsx("h4",{className:K("text-ui-md",Zr.colors,{"text-neutral5":t||e.status==="success","text-neutral3":!t&&e.status!=="success"}),children:e.title}),e.description&&o.jsx("p",{className:K("-mt-0.5 text-ui-md text-neutral2",{truncate:r==="plain"}),children:e.description})]})]}),o.jsx(X0s,{status:e.status,variant:r})]})}function ews({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:K(n),children:t.map((r,s)=>o.jsx(J0s,{step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function tws({steps:e}){const t=e.length,n=e.filter(r=>r.status==="success").length;return o.jsxs("div",{className:"flex w-full flex-col content-center justify-center gap-4",children:[o.jsx("div",{className:"grid w-full grid-cols-[0_repeat(9,1fr)]",children:e.map((r,s)=>o.jsx("div",{className:K("relative flex h-8 items-center justify-end",Zr.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:K("absolute right-0 z-10 flex size-8 translate-x-1/2 items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3 motion-reduce:transition-none",Zr.colors,Zr.transform,Zr.shadow,{"border border-dashed border-neutral2":r.status==="pending","bg-accent1Dark text-notice-success-fg shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-notice-destructive-fg shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(qt,{}):s+1})},r.id))}),o.jsxs("div",{className:K("text-center text-xs text-neutral3",Zr.colors),children:[n," of ",t," steps completed"]})]})}function nws({name:e,streamResult:t,runId:n,workflowInfo:r}){const s=t?.phase||"initializing",a=t?.payload?.workflowState,i=t?.payload?.currentStep,l=t?.error,c=a?.steps||{},u=Object.keys(c).length>0,d=v=>v==="input"||v.endsWith(".input")||v.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(v)||/[0-9a-f]{8,}/.test(v)?!1:r?.allSteps?v in r.allSteps:!0,f=Object.entries(c).filter(([v,y])=>d(v)),p=f.length,h=()=>{switch(s){case"initializing":return"Preparing template installation...";case"processing":return`Installing ${e} template`;case"completed":return"Template installation completed!";case"error":return"Template installation failed";default:return"Installing template..."}},m=f.map(([v,y])=>({id:v,status:y?.status,description:y?.description,title:v.charAt(0).toUpperCase()+v.slice(1).replace(/-/g," "),isActive:i?.id===v}));return o.jsxs(YQ,{className:"text-neutral3 mb-8 content-center space-y-6",children:[o.jsxs("div",{className:"text-center",children:[o.jsx("h3",{className:"text-neutral5 text-lg font-semibold",children:h()}),(t?.runId||n)&&o.jsxs("div",{className:"text-ui-sm text-neutral3 mt-2",children:["Run ID: ",t?.runId??n]})]}),u&&p>0&&!["error"].includes(s)&&o.jsx("div",{className:"mx-auto w-full max-w-[30rem] px-6",children:o.jsx(tws,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:K("rounded-lg text-neutral5 p-6 flex items-center gap-3 text-ui-md bg-red-500/10","[&>svg]:w-6 [&>svg]:h-6 [&>svg]:opacity-70 [&>svg]:text-red-500"),children:[o.jsx(gXt,{}),l||"Something went wrong"]}),u&&o.jsx(ews,{steps:m,currentStep:i,className:"pb-4"}),!u&&s==="initializing"&&o.jsxs("div",{className:"text-neutral3 grid justify-items-center gap-4 text-center text-sm",children:[o.jsx(qt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function rws({name:e,installedEntities:t}){return o.jsxs(YQ,{className:K("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(act,{}),o.jsx("h2",{className:"text-header-md",children:"Done!"}),o.jsxs("p",{className:"text-ui-md text-neutral3 text-center",children:["The ",o.jsx("b",{className:"text-neutral4",children:e})," template has been successfully installed.",t&&t.length>0&&o.jsxs(o.Fragment,{children:[o.jsx("br",{})," Installed entities are listed below."]})]}),t&&t.length>0&&o.jsx(nje,{data:t})]})}function sws(){const{templateSlug:e}=mr(),[t,n]=mi(),[r,s]=g.useState(""),[a,i]=g.useState(""),[l,c]=g.useState(""),[u,d]=g.useState({}),[f,p]=g.useState([]),[h,m]=g.useState(null),[v,y]=g.useState(!1),[b,x]=g.useState(""),[S,k]=g.useState(!1),[_,C]=g.useState(!1),[T,E]=g.useState([]),{data:N,isLoading:I}=Bsr({repoOrSlug:e,owner:"mastra-ai"}),R=Z0s?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Usr({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=qsr(),{mutateAsync:B,isPending:z}=Vsr(),{mutateAsync:V}=Hsr(),{streamInstall:M,streamResult:G,isStreaming:U}=Zsr(F),{observeInstall:$,streamResult:q,isStreaming:Z}=Gsr(F);g.useEffect(()=>{const te=t.get("runId");te&&!v&&!h&&!U&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:te}),x(te),V({runId:te}).then(re=>{const fe=re.snapshot;if(fe?.status==="success"&&fe?.result?.success)y(!0);else if(fe?.result?.success===!1)if(fe?.result?.validationResults&&!fe?.result?.validationResults?.valid&&fe?.result?.validationResults?.remainingErrors>0){const{remainingErrors:Se,errors:ye}=fe.result.validationResults,ke=`Template installation completed but ${Se} validation issue${Se>1?"s":""} remain unresolved.`;m(ke),E(ye||[])}else{const Se=fe?.result?.message||fe?.result?.error||"Template installation failed";m(typeof Se=="string"?Se:String(Se))}}).catch(re=>{console.error("❌ Failed to fetch run details:",re),m("Failed to retrieve installation status after reload")}))},[t,v,h,U,Z,V]),g.useEffect(()=>{const te=t.get("runId"),re=t.get("resume"),fe=t.get("provider");if(te&&re==="true"&&fe&&!U&&!Z&&!S&&!_&&F){x(te),k(!0);try{V({runId:te}).then(ce=>{if(ce.snapshot?.status==="running")return $.mutateAsync({runId:te})}).then(()=>{n(ce=>{const Se=new URLSearchParams(ce);return Se.delete("resume"),Se})}).catch(ce=>{console.error("❌ Failed to resume template installation:",ce),ce.message?.includes("404")||ce.message?.includes("not found")?m("Template installation run not found. It may have expired or been completed."):m("Failed to resume template installation. Please try again.")})}catch(ce){console.error("❌ Auto-resume failed with error:",ce),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,U,Z,S,_,F,V,$,n]);const Y=[{value:"openai",label:"OpenAI"},{value:"anthropic",label:"Anthropic"},{value:"groq",label:"Groq"},{value:"google",label:"Google"}],ne=[{key:"tools",label:"Tools",value:N?.tools?.length?N.tools.map(te=>te).join(", "):"n/a",icon:o.jsx(Mf,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(te=>te).join(", "):"n/a",icon:o.jsx(qi,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(te=>te).join(", "):"n/a",icon:o.jsx(aI,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(nx,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(sI,{})}],J=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(te=>te.value!=="n/a");g.useEffect(()=>{L&&d(L)},[L]),g.useEffect(()=>{const te=G||q;te?.phase==="error"&&te?.error&&m(typeof te.error=="string"?te.error:String(te.error))},[G?.phase,G?.error,q?.phase,q?.error]);const ee=te=>{s(te)},se=async te=>(i(te.provider),c(te.modelId),{message:"Model updated successfully"}),le=async()=>{const te=Object.entries(u).reduce((re,[fe,ce])=>(ce===""&&re.push(fe),re),[]);if(te.length>0){p(te);return}if(N){m(null),y(!1),x(""),C(!0);try{const fe={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:ce}=await B({});x(ce),n(Se=>{const ye=new URLSearchParams(Se);return ye.set("runId",ce),ye.set("resume","true"),ye.set("provider",r||"openai"),ye}),await M.mutateAsync({inputData:fe,selectedModel:{provider:a,modelId:l},runId:ce})}catch(re){C(!1),m(re?.message||"Template installation failed"),console.error("Template installation failed",re)}}},X=te=>{const{name:re,value:fe}=te.target;fe.trim()===""?p(ce=>[...ce,re]):p(ce=>ce.filter(Se=>Se!==re)),d(ce=>({...ce,[re]:fe}))};return o.jsx(ks,{children:o.jsx("div",{className:K("w-full lg:px-12 h-full overflow-y-scroll"),children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[80rem] gap-y-4 p-6",children:[o.jsx(Y0s,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(U||Z)&&o.jsx(nws,{name:N.title,streamResult:Z?q:G,runId:b,workflowInfo:F}),v&&o.jsx(rws,{name:N.title,installedEntities:J,linkComponent:Si}),h&&o.jsx(G0s,{errorMsg:h,validationErrors:T.length>0?T:G?.validationResults?.errors||q?.validationResults?.errors}),!U&&!Z&&!v&&!h&&o.jsx(Q0s,{providerOptions:Y,selectedProvider:r,onProviderChange:ee,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:le,handleVariableChange:X,isLoadingEnvVars:D||H,isInstalling:z,defaultModelProvider:a,defaultModelId:l,onModelUpdate:se})]})]})})})}const aws=()=>{const{toolId:e,agentId:t}=mr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(Gas,{toolId:e,agentId:t})})},iws=()=>{const{toolId:e}=mr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(ixs,{toolId:e})})};function ows(){const{data:e,isLoading:t,error:n}=Wy(),[r,s]=g.useState("");return n&&xs(n)?o.jsx(or,{children:o.jsx(Hs,{})}):n&&ws(n)?o.jsx(or,{children:o.jsx(Ds,{resource:"workflows"})}):n?o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(or,{children:o.jsx(MGr,{})}):o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsxs(Ht.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(rh,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(oe,{as:Si,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(VD,{}),"Schedules"]})]})}),o.jsx($Gr,{workflows:e||{},isLoading:t,search:r})]})}const lws={active:"bg-accent1",paused:"bg-accent3"},cws={active:"text-accent1",paused:"text-accent3"},dHt=({status:e})=>o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{className:`h-1.5 w-1.5 rounded-full ${lws[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${cws[e]}`,children:e})]}),wj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),n$=e=>{if(!e||e<=0)return"—";const t=e-Date.now(),n=Math.abs(t),r=Math.floor(n/1e3);if(r<60)return t>=0?`in ${r}s`:`${r}s ago`;const s=Math.floor(r/60);if(s<60)return t>=0?`in ${s}m`:`${s}m ago`;const a=Math.floor(s/60);if(a<24)return t>=0?`in ${a}h`:`${a}h ago`;const i=Math.floor(a/24);return t>=0?`in ${i}d`:`${i}d ago`};function fHt({status:e}){const{icon:t,color:n}=uws(e);return o.jsxs("span",{className:`text-ui-sm inline-flex items-center gap-1.5 whitespace-nowrap ${n}`,children:[o.jsx("span",{className:"inline-flex shrink-0 items-center","aria-hidden":!0,children:t}),o.jsx("span",{children:e})]})}function uws(e){switch(e){case"success":return{icon:o.jsx(oa,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx($s,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(qt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(vV,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Df,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(yO,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const xtt="auto auto auto auto 1fr";function dws(e){if(e===void 0)return"—";if(e<1e3)return`${e}ms`;if(e<6e4)return`${(e/1e3).toFixed(1)}s`;const t=Math.floor(e/6e4),n=Math.floor(e%6e4/1e3);return`${t}m ${n}s`}function fws(e){const t=Math.abs(e),n=e<0?"-":"";return t<1e3?`${n}${t}ms`:t<6e4?`${n}${(t/1e3).toFixed(1)}s`:t<36e5?`${n}${(t/6e4).toFixed(1)}m`:`${n}${(t/36e5).toFixed(1)}h`}const pws=3e4,hws=5*6e4;function mws({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=dn(),c=h=>!!(n&&h.runId&&h.outcome!=="failed"),u=e.filter(c).length,{containerRef:d,getRowProps:f}=So({count:u});let p=-1;return t?o.jsx(Pl,{columns:xtt}):e.length===0?o.jsx(ge,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(be,{columns:xtt,className:"min-w-0",scrollRef:d,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Run"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Started"}),o.jsx(be.TopCell,{children:"Duration"}),o.jsx(be.TopCell,{children:" "})]}),e.map(h=>{const m=h.actualFireAt-h.scheduledFireAt,v=fws(m),y=`Scheduled ${wj(h.scheduledFireAt)} — published ${wj(h.actualFireAt)} (drift ${v})`,b=h.outcome==="failed",x=b?h.error:h.run?.error,S=Math.abs(m),k=!b&&S>pws&&S<=hws,_=`${h.scheduleId}-${h.runId}-${h.actualFireAt}`,C=c(h);C&&(p+=1);const T=o.jsx("span",{className:C?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:h.runId}),E=o.jsxs(o.Fragment,{children:[o.jsx(be.Cell,{children:T}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[b?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(Cf,{size:14}),"publish failed"]}):h.run?o.jsx(fHt,{status:h.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),x?o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsx(bn,{children:x})]}):null]})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:y,children:n$(h.actualFireAt)}),k?o.jsxs(Sn,{children:[o.jsx(yn,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(Cf,{size:14})})}),o.jsxs(bn,{children:["Published ",v," after the scheduled fire time"]})]}):null]})}),o.jsx(be.Cell,{children:h.run?o.jsx("span",{children:dws(h.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(be.Cell,{children:" "})]});return C?o.jsx(be.RowLink,{to:l.workflowRunLink(n,h.runId),LinkComponent:i,...f(p),children:E},_):o.jsx(be.RowStatic,{children:E},_)}),o.jsx(be.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const gws=e=>{const t=Ze();return yt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},wtt=25,vws=e=>{const t=Ze(),{inView:n,setRef:r}=tC(),s=K1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:wtt,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<wtt))return u.triggers[u.triggers.length-1].actualFireAt},refetchInterval:u=>(u.state.data?.pages.flatMap(p=>p.triggers)??[]).some(p=>p.run?p.run.status==="pending"||p.run.status==="running"||p.run.status==="waiting":p.outcome==="published")?5e3:!1}),a=s.data?.pages.flatMap(u=>u?.triggers??[])??[],{hasNextPage:i,isFetchingNextPage:l,fetchNextPage:c}=s;return g.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},yws=e=>{const t=Ze(),n=Dr();return Rn({mutationFn:async r=>{if(!e)throw new Error("scheduleId is required");return r==="pause"?t.pauseSchedule(e):t.resumeSchedule(e)},onSuccess:(r,s)=>{n.invalidateQueries({queryKey:["schedule",e]}),n.invalidateQueries({queryKey:["schedules"]}),Be.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{Be.error(r.message)}})};function n8({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ge,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function bws(){const{scheduleId:e}=mr(),{paths:t}=dn(),{data:n,error:r}=gws(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=vws(e),d=yws(e);if(r&&xs(r))return o.jsx(or,{children:o.jsx(Hs,{})});if(r&&ws(r))return o.jsx(or,{children:o.jsx(Ds,{resource:"schedules"})});if(r)return o.jsx(or,{children:o.jsx(Ui,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Ht,{children:[o.jsx(Ht.TopArea,{children:o.jsx(Ht.Row,{className:"justify-end",children:o.jsxs(Ht.Column,{className:"flex justify-end gap-2",children:[o.jsxs(oe,{as:Si,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(wu,{}),"Back to schedules"]}),f?o.jsx(oe,{as:Si,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(oe,{onClick:()=>d.mutate(n.status==="active"?"pause":"resume"),disabled:d.isPending,"data-testid":"schedule-toggle-button",children:n.status==="active"?o.jsxs(o.Fragment,{children:[o.jsx(g0e,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(hu,{}),"Resume"]})}):null]})})}),n?o.jsxs("div",{className:"grid h-full grid-cols-[minmax(0,20rem)_1fr] gap-6 overflow-hidden",children:[o.jsxs("div",{className:"border-border1 flex h-fit flex-col gap-4 rounded-md border p-4",children:[o.jsx(n8,{label:p?"Agent":"Workflow",children:f?o.jsx(Si,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(Si,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(n8,{label:"Cron",children:[o.jsx("code",{className:"text-ui-md font-mono",children:n.cron}),n.timezone?o.jsx("span",{className:"text-neutral4 text-ui-sm ml-2",children:n.timezone}):null]}),o.jsx(n8,{label:"Status",children:o.jsx(dHt,{status:n.status})}),o.jsx(n8,{label:"Next fire",children:o.jsx("span",{title:wj(n.nextFireAt),children:n$(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ge,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Ui,{title:"Failed to load trigger history",message:i.message}):o.jsx(mws,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const Stt="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function xws({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=dn(),a=g.useMemo(()=>{const c=n.toLowerCase();return c?e.filter(u=>u.id.toLowerCase().includes(c)||(u.workflowId??u.agentId??"").toLowerCase().includes(c)):e},[e,n]),{containerRef:i,getRowProps:l}=So({count:a.length});return t?o.jsx(Pl,{columns:Stt}):o.jsxs(be,{columns:Stt,variant:"striped",className:"min-w-0",scrollRef:i,children:[o.jsxs(be.Top,{children:[o.jsx(be.TopCell,{children:"Target"}),o.jsx(be.TopCell,{children:"Schedule ID"}),o.jsx(be.TopCell,{children:"Cron"}),o.jsx(be.TopCell,{children:"Status"}),o.jsx(be.TopCell,{children:"Next fire"}),o.jsx(be.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(be.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(be.NoMatch,{message:"No schedules configured"}):null,a.map((c,u)=>o.jsxs(be.RowLink,{to:r.scheduleLink(c.id),LinkComponent:s,...l(u),children:[o.jsx(be.NameCell,{children:c.workflowId??c.agentId}),o.jsx(be.Cell,{className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:c.id,children:c.id})}),o.jsx(be.Cell,{children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:c.cron}),c.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:c.timezone}):null]})}),o.jsx(be.Cell,{children:o.jsx(dHt,{status:c.status})}),o.jsx(be.Cell,{children:o.jsx("span",{className:"whitespace-nowrap",title:wj(c.nextFireAt),children:n$(c.nextFireAt)})}),o.jsx(be.Cell,{children:c.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(fHt,{status:c.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:wj(c.lastFireAt),children:c.lastFireAt?n$(c.lastFireAt):""})]}):c.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:wj(c.lastFireAt),children:n$(c.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},c.id))]})}function wws({workflowId:e}={}){const{data:t,isLoading:n,error:r}=hSe(e?{workflowId:e}:{}),[s,a]=g.useState("");return r?o.jsx(Ui,{title:"Failed to load schedules",message:r.message}):o.jsxs("div",{className:"grid h-full grid-rows-[auto_1fr] gap-4 overflow-hidden",children:[o.jsx("div",{className:"max-w-120",children:o.jsx(rh,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(xws,{schedules:t??[],isLoading:n,search:s})})]})}function Sws(){const[e]=mi(),t=e.get("workflowId")??void 0,{error:n}=hSe(t?{workflowId:t}:{});return n&&xs(n)?o.jsx(or,{children:o.jsx(Hs,{})}):n&&ws(n)?o.jsx(or,{children:o.jsx(Ds,{resource:"schedules"})}):o.jsx(Ht,{children:o.jsx("div",{className:"h-full",children:o.jsx(wws,{workflowId:t})})})}function kws({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=LOe({stepGraph:e}),[a,i]=g.useState(!1),[l,c,u]=Z_t(r),[d]=G_t(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=e5t({edges:d,workflowName:n,stepGraph:e});return g.useEffect(()=>{if(t){const m=setTimeout(()=>{i(!0)},500);return()=>clearTimeout(m)}},[t]),o.jsx("div",{className:"bg-surface1 relative h-full w-full",children:a?o.jsxs(W_t,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(_je,{position:"bottom-left"}),o.jsx(Y_t,{variant:uy.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(qt,{})})})}function Ows(){const{stepDetail:e,closeStepDetail:t}=EW();return e?o.jsxs("div",{className:"flex h-full flex-col","data-testid":"workflow-step-detail-panel",children:[o.jsxs("div",{className:"border-border1 bg-surface1 flex items-center justify-between border-b px-4 py-3",children:[o.jsxs("div",{className:"flex items-center gap-2",children:[e.type==="map-config"&&o.jsx(Ej,{className:"h-4 w-4",style:{color:Du.map}}),e.type==="nested-graph"&&o.jsx(Su,{className:"h-4 w-4",style:{color:Du.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ge,{variant:"ui-md",className:"text-neutral6 font-medium",children:e.type==="map-config"?`${e.stepName} Config`:`${e.stepName} Workflow`}),e.type==="map-config"&&e.stepId&&e.stepId!==e.stepName&&o.jsx(ge,{variant:"ui-xs",className:"text-neutral3",children:e.stepId})]})]}),o.jsx("button",{onClick:t,className:"hover:bg-surface3 rounded p-1 transition-colors","aria-label":"Close",children:o.jsx($s,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(X2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(DOe,{children:o.jsx(kws,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function _ws(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Cws(e,t){if(e&&typeof e=="object"&&!Array.isArray(e)){const n=Object.keys(e);if(n.length===1)return n[0]}return t}function Ews({suspendedSteps:e,workflow:t,isStreaming:n,onResume:r}){return n||e.length===0?null:o.jsxs("div",{className:"border-border1 bg-surface4 space-y-5 rounded-lg border p-5","data-testid":"workflow-suspended-steps",children:[o.jsxs("div",{className:"flex items-center justify-between gap-3",children:[o.jsxs(ge,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(Ve,{children:o.jsx(vV,{})}),"Step suspended"]}),o.jsx(St,{variant:"yellow",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?gm(jx(i.resumeSchema)):of(cr(),vf());return o.jsx(Tws,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function Tws({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=g.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ge,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(lXt,{})}),"The step is asking"]}),o.jsxs(Pc,{open:a,onOpenChange:i,children:[o.jsxs(sc,{className:"border-border1 bg-surface3 flex w-full items-center justify-between gap-2 rounded-lg border px-3 py-2.5",children:[o.jsxs("span",{className:"flex min-w-0 items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(Qs,{className:K("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ge,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Cws(e.suspendPayload,e.stepId)})]}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:_ws(e.suspendPayload)})]}),o.jsx(ac,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Wr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ge,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(Ve,{children:o.jsx(dXt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(oU,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(hu,{}),submitButtonFullWidth:!0,collapsible:!1,hideHeading:!0,hideInputTypeLabel:!0,onSubmit:l=>{const c=e.stepId?.split(".");s({stepId:c,runId:e.runId,suspendPayload:e.suspendPayload,resumeData:l,isLoading:!1})}})})]})]})}function jws(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=g.useContext(zl),{runId:a}=mr(),i=rCt(e,r??""),l=enr(),c=!!a,u=t?.status==="suspended",f=!!(a&&r&&a===r)&&e?.status==="suspended";return s||!n||i.length===0||c&&!u&&!f?null:o.jsx("div",{"data-testid":"workflow-suspended-overlay",className:"animate-in fade-in-0 slide-in-from-top-2 zoom-in-95 absolute top-2 right-2 z-20 max-h-[calc(100%-1rem)] w-[380px] max-w-[calc(100%-1rem)] overflow-y-auto rounded-lg shadow-lg duration-300",children:o.jsx(Ews,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Nws=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.97865 4.57004C8.22604 4.75795 8.27426 5.11082 8.08635 5.35821L6.05486 8.03279C5.94873 8.17251 5.78348 8.25471 5.60803 8.25505C5.43257 8.2554 5.267 8.17385 5.16032 8.03454L3.80937 6.27034C3.6205 6.02369 3.66733 5.67063 3.91398 5.48176C4.16063 5.29288 4.51369 5.33972 4.70257 5.58637L5.6051 6.76498L7.19048 4.67774C7.37839 4.43036 7.73126 4.38213 7.97865 4.57004Z",fill:"currentColor"})]}),Iws=e=>o.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",...e,children:[o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.99982 2.0625C3.8252 2.0625 2.06232 3.82538 2.06232 6C2.06232 8.17462 3.8252 9.9375 5.99982 9.9375C8.17444 9.9375 9.93732 8.17462 9.93732 6C9.93732 3.82538 8.17444 2.0625 5.99982 2.0625ZM0.937317 6C0.937317 3.20406 3.20388 0.9375 5.99982 0.9375C8.79576 0.9375 11.0623 3.20406 11.0623 6C11.0623 8.79594 8.79576 11.0625 5.99982 11.0625C3.20388 11.0625 0.937317 8.79594 0.937317 6Z",fill:"currentColor"}),o.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M7.89741 4.10293C8.11707 4.32261 8.11706 4.67877 7.89738 4.89843L6.79517 6.00058L7.8962 7.10155C8.11588 7.32122 8.11589 7.67737 7.89623 7.89705C7.67656 8.11673 7.32041 8.11674 7.10073 7.89707L5.99965 6.79605L4.89856 7.89707C4.67889 8.11673 4.32273 8.11672 4.10307 7.89704C3.88341 7.67737 3.88342 7.32121 4.10309 7.10155L5.20413 6.00058L4.10191 4.89843C3.88224 4.67877 3.88223 4.32262 4.10189 4.10294C4.32155 3.88326 4.67771 3.88325 4.89738 4.10292L5.99965 5.20511L7.10191 4.10291C7.32159 3.88325 7.67774 3.88326 7.89741 4.10293Z",fill:"currentColor"})]}),Aws=e=>e.includes("."),Rws=e=>e==="input"||e.endsWith(".input"),Pws=1;function $ws(e){return`${Number((e/1e3).toPrecision(3))}s`}function Mws(e,t){const n=Object.entries(e).filter(([i])=>!Rws(i));if(n.length===0)return[];const r=Math.min(...n.map(([,i])=>i.startedAt)),s=Math.max(...n.map(([,i])=>i.endedAt??t)),a=Math.max(s-r,1);return n.map(([i,l])=>{const c=l.endedAt===void 0,d=(l.endedAt??t)-l.startedAt,f=(l.startedAt-r)/a*100,p=Math.max(d/a*100,Pws);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Aws(i)}})}const Dws=({status:e})=>o.jsxs(Ve,{children:[e==="success"&&o.jsx(Nws,{className:"text-accent1"}),e==="failed"&&o.jsx(Iws,{className:"text-accent2"}),e==="suspended"&&o.jsx(vV,{className:"text-accent3"}),e==="waiting"&&o.jsx(Ppe,{className:"text-accent5"}),e==="skipped"&&o.jsx(Ppe,{className:"text-icon3"}),e==="running"&&o.jsx(aa,{className:"text-accent6 animate-spin"})]}),Lws={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function pHt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const ktt=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},Fws=e=>{const t=e;return HLt({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},zws=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=Fws(e.step),u=e.status==="running",d=!e.isNestedEntry;return o.jsxs("div",{role:"button",tabIndex:0,"data-testid":"workflow-timeline-row","data-workflow-step-key":e.stepId,"data-workflow-step-active":n?"true":void 0,"data-workflow-step-hovered":r?"true":void 0,"data-workflow-step-nested":e.isNestedEntry?"true":void 0,"aria-pressed":n,"aria-disabled":!d,onMouseEnter:()=>{d&&a(e.stepId)},onMouseLeave:()=>{d&&a(null)},onClick:()=>{d&&s(e.stepId)},onKeyDown:f=>{!d||f.key!=="Enter"&&f.key!==" "||(f.preventDefault(),s(e.stepId))},className:K("grid grid-cols-[auto_auto_auto_minmax(0,10rem)_minmax(0,1fr)_auto_5rem] items-center gap-2 rounded-md border border-transparent px-2 py-1 text-left transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-accent1",d&&"cursor-pointer",d&&"hover:bg-surface4",d&&r&&!n&&"border-neutral6 bg-surface4",d&&n&&"border-accent1",e.isNestedEntry&&"cursor-default opacity-55"),children:[o.jsx("div",{className:"flex justify-center",children:o.jsx(Dws,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step input",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||i(e)},children:o.jsx(hJt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(Vq,{indicators:c,className:"shrink-0"})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral6 block max-w-full min-w-0 justify-self-stretch overflow-hidden text-left text-ellipsis whitespace-nowrap",children:pHt(e.stepId)}),o.jsx("div",{className:"bg-surface4 relative h-2 min-w-0 rounded",children:o.jsx("div",{"data-testid":"workflow-timeline-bar","data-offset":String(e.offsetPct),"data-width":String(e.widthPct),className:`absolute top-0 h-full rounded ${Lws[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(oe,{type:"button",variant:"ghost",size:"icon-sm",tooltip:"View step output",disabled:u,className:"text-neutral3 hover:text-neutral6 disabled:cursor-not-allowed disabled:opacity-40",onClick:f=>{f.stopPropagation(),u||l(e)},children:o.jsx(fJt,{})})}),o.jsx(ge,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:$ws(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function Bws(){const{steps:e}=Y4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=DH(),[a,i]=g.useState(()=>Date.now()),[l,c]=g.useState(!1),[u,d]=g.useState(null),f=g.useRef(null);$bt(f,{enabled:!l});const p=Mws(e,a),h=p.some(m=>m.isRunning);return g.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),g.useEffect(()=>{if(l||p.length===0)return;const m=f.current;m&&(m.scrollTop=m.scrollHeight)},[l,p.length]),p.length===0?null:o.jsxs(o.Fragment,{children:[o.jsx("div",{"data-testid":"workflow-timeline",className:"pointer-events-none absolute right-0 bottom-0 z-20 px-2 pb-2",style:{left:"var(--workflow-left-panel-width, 0px)"},children:o.jsxs("div",{className:"rounded-studio-panel border-border1/50 bg-surface3 pointer-events-auto flex max-h-64 w-full min-w-0 flex-col gap-3 overflow-hidden border p-4 shadow-lg",children:[o.jsxs("div",{className:"flex shrink-0 items-center justify-between gap-3",children:[o.jsx(ge,{as:"p",variant:"ui-md",className:"text-neutral3",children:"Timeline"}),o.jsx("button",{type:"button","aria-label":l?"Expand timeline":"Collapse timeline","aria-expanded":!l,onClick:()=>c(m=>!m),className:"text-neutral3 hover:bg-surface4 hover:text-neutral6 rounded-md p-1 transition-colors",children:o.jsx(Na,{className:K("h-4 w-4 transition-transform",l&&"-rotate-90")})})]}),!l&&o.jsx("div",{ref:f,"data-testid":"workflow-timeline-list",className:"flex min-h-0 flex-col gap-2 overflow-y-auto",children:p.map((m,v)=>o.jsx(zws,{row:m,index:v,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:ktt(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:ktt(y.step.output)})},`timeline-item-${m.stepId}-${v}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(aCt,{data:u.data,title:`${pHt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const Uws=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=EW();return o.jsxs("div",{className:"flex h-full min-h-0",children:[o.jsx("div",{className:"flex h-full min-h-0 flex-1 flex-col",children:o.jsxs("div",{className:"relative min-h-0 flex-1 p-2 pb-0",children:[o.jsx(o5t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(jws,{}),o.jsx(Bws,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(Ows,{})})]})},Ott=()=>{const{workflowId:e}=mr(),{data:t,isLoading:n,error:r}=s4(e);return r&&xs(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Hs,{})}):r&&ws(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Ds,{resource:"workflows"})}):o.jsx(n_e,{children:o.jsx(Uws,{workflowId:e,workflow:t??void 0,isLoading:n})})};function qws(e,t){if(e==null)return{};var n,r,s=ckt(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function Xxe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Vws(e){if(Array.isArray(e))return Xxe(e)}function Hws(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Wws(e,t){if(e){if(typeof e=="string")return Xxe(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xxe(e,t):void 0}}function Zws(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
|
|
645
645
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Jxe(e){return Vws(e)||Hws(e)||Wws(e)||Zws()}function BD(e){"@babel/helpers - typeof";return BD=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},BD(e)}function Gws(e,t){if(BD(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(BD(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Qws(e){var t=Gws(e,"string");return BD(t)=="symbol"?t:t+""}function hHt(e,t,n){return(t=Qws(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _tt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function PT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?_tt(Object(n),!0).forEach(function(r){hHt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):_tt(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Yws(e){var t=e.length;if(t===0||t===1)return e;if(t===2)return[e[0],e[1],"".concat(e[0],".").concat(e[1]),"".concat(e[1],".").concat(e[0])];if(t===3)return[e[0],e[1],e[2],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0])];if(t>=4)return[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]}var Wie={};function Kws(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return Wie[t]||(Wie[t]=Yws(e)),Wie[t]}function Xws(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=e.filter(function(a){return a!=="token"}),s=Kws(r);return s.reduce(function(a,i){return PT(PT({},a),n[i])},t)}function Ctt(e){return e.join(" ")}function Jws(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return mHt({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function mHt(e){var t=e.node,n=e.stylesheet,r=e.style,s=r===void 0?{}:r,a=e.useInlineStyles,i=e.key,l=t.properties,c=t.type,u=t.tagName,d=t.value;if(c==="text")return d;if(u){var f=Jws(n,a),p;if(!a)p=PT(PT({},l),{},{className:Ctt(l.className)});else{var h=Object.keys(n).reduce(function(b,x){return x.split(".").forEach(function(S){b.includes(S)||b.push(S)}),b},[]),m=l.className&&l.className.includes("token")?["token"]:[],v=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=PT(PT({},l),{},{className:Ctt(v)||void 0,style:Xws(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return Fe.createElement(u,QO({key:i},p),y)}}const e1s=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var t1s=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function Ett(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function qw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?Ett(Object(n),!0).forEach(function(r){hHt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):Ett(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var n1s=/\n/g;function r1s(e){return e.match(n1s)}function s1s(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(s,a){var i=a+n;return Fe.createElement("span",{key:"line-".concat(a),className:"react-syntax-highlighter-line-number",style:typeof r=="function"?r(i):r},"".concat(i,`
|
|
646
646
|
`))})}function a1s(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,s=r===void 0?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,i=a===void 0?{}:a,l=e.startingLineNumber;return Fe.createElement("code",{style:Object.assign({},n,s)},s1s({lines:t.replace(/\n$/,"").split(`
|
|
647
647
|
`),style:i,startingLineNumber:l}))}function i1s(e){return"".concat(e.toString().length,".25em")}function gHt(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function vHt(e,t,n){var r={display:"inline-block",minWidth:i1s(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=qw(qw({},r),s);return a}function C9(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,s=e.largestLineNumber,a=e.showInlineLineNumbers,i=e.lineProps,l=i===void 0?{}:i,c=e.className,u=c===void 0?[]:c,d=e.showLineNumbers,f=e.wrapLongLines,p=e.wrapLines,h=p===void 0?!1:p,m=h?qw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat(Jxe(m.className.trim().split(/\s+/)),Jxe(u)):u,n&&a){var v=vHt(r,n,s);t.unshift(gHt(n,v))}return f&d&&(m.style=qw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function yHt(e){for(var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[],n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[],r=0;r<e.length;r++){var s=e[r];if(s.type==="text")n.push(C9({children:[s],className:Jxe(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);yHt(s.children,a).forEach(function(i){return n.push(i)})}}return n}function o1s(e,t,n,r,s,a,i,l,c){var u,d=yHt(e.value),f=[],p=-1,h=0;function m(_,C){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return C9({children:_,lineNumber:C,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:T,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function v(_,C){if(r&&C&&s){var T=vHt(l,C,i);_.unshift(gHt(C,T))}return _}function y(_,C){var T=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||T.length>0?m(_,C,T):v(_,C)}for(var b=function(){var C=d[h],T=C.children[0].value,E=r1s(T);if(E){var N=T.split(`
|