@mastra/deployer-cloud 1.58.0-alpha.7 → 1.58.0-alpha.8

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-CE8BonHi.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./core-OgjY20DI.js","./engine-compile-BkERmzkH.js","./preload-helper-PPVm8Dsz.js","./engine-javascript-CSIo_1eZ.js"])))=>i.map(i=>d[i]);
2
2
  import{_ as go}from"./preload-helper-PPVm8Dsz.js";function wHt(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 ij=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function zl(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var gK={exports:{}},BA={};var t$e;function SHt(){if(t$e)return BA;t$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 BA.Fragment=t,BA.jsx=n,BA.jsxs=n,BA}var n$e;function kHt(){return n$e||(n$e=1,gK.exports=SHt()),gK.exports}var o=kHt(),vK={exports:{}},qr={},r$e;function OHt(){if(r$e)return qr;r$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(V){return V===null||typeof V!="object"?null:(V=h&&V[h]||V["@@iterator"],typeof V=="function"?V:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},y=Object.assign,b={};function x(V,$,B){this.props=V,this.context=$,this.refs=b,this.updater=B||g}x.prototype.isReactComponent={},x.prototype.setState=function(V,$){if(typeof V!="object"&&typeof V!="function"&&V!=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,V,$,"setState")},x.prototype.forceUpdate=function(V){this.updater.enqueueForceUpdate(this,V,"forceUpdate")};function S(){}S.prototype=x.prototype;function k(V,$,B){this.props=V,this.context=$,this.refs=b,this.updater=B||g}var C=k.prototype=new S;C.constructor=k,y(C,x.prototype),C.isPureReactComponent=!0;var _=Array.isArray;function E(){}var T={H:null,A:null,T:null,S:null},N=Object.prototype.hasOwnProperty;function I(V,$,B){var Z=B.ref;return{$$typeof:t,type:V,key:$,ref:Z!==void 0?Z:null,props:B}}function A(V,$){return I(V.type,$,V.props)}function R(V){return typeof V=="object"&&V!==null&&V.$$typeof===t}function L(V){var $={"=":"=0",":":"=2"};return"$"+V.replace(/[=:]/g,function(B){return $[B]})}var D=/\/+/g;function F(V,$){return typeof V=="object"&&V!==null&&V.key!=null?L(""+V.key):$.toString(36)}function H(V){switch(V.status){case"fulfilled":return V.value;case"rejected":throw V.reason;default:switch(typeof V.status=="string"?V.then(E,E):(V.status="pending",V.then(function($){V.status==="pending"&&(V.status="fulfilled",V.value=$)},function($){V.status==="pending"&&(V.status="rejected",V.reason=$)})),V.status){case"fulfilled":return V.value;case"rejected":throw V.reason}}throw V}function z(V,$,B,Z,K){var ne=typeof V;(ne==="undefined"||ne==="boolean")&&(V=null);var ee=!1;if(V===null)ee=!0;else switch(ne){case"bigint":case"string":case"number":ee=!0;break;case"object":switch(V.$$typeof){case t:case n:ee=!0;break;case f:return ee=V._init,z(ee(V._payload),$,B,Z,K)}}if(ee)return K=K(V),ee=Z===""?"."+F(V,0):Z,_(K)?(B="",ee!=null&&(B=ee.replace(D,"$&/")+"/"),z(K,$,B,"",function(fe){return fe})):K!=null&&(R(K)&&(K=A(K,B+(K.key==null||V&&V.key===K.key?"":(""+K.key).replace(D,"$&/")+"/")+ee)),$.push(K)),1;ee=0;var J=Z===""?".":Z+":";if(_(V))for(var ae=0;ae<V.length;ae++)Z=V[ae],ne=J+F(Z,ae),ee+=z(Z,$,B,ne,K);else if(ae=m(V),typeof ae=="function")for(V=ae.call(V),ae=0;!(Z=V.next()).done;)Z=Z.value,ne=J+F(Z,ae++),ee+=z(Z,$,B,ne,K);else if(ne==="object"){if(typeof V.then=="function")return z(H(V),$,B,Z,K);throw $=String(V),Error("Objects are not valid as a React child (found: "+($==="[object Object]"?"object with keys {"+Object.keys(V).join(", ")+"}":$)+"). If you meant to render a collection of children, use an array instead.")}return ee}function U(V,$,B){if(V==null)return V;var Z=[],K=0;return z(V,Z,"","",function(ne){return $.call(B,ne,K++)}),Z}function q(V){if(V._status===-1){var $=V._result;$=$(),$.then(function(B){(V._status===0||V._status===-1)&&(V._status=1,V._result=B)},function(B){(V._status===0||V._status===-1)&&(V._status=2,V._result=B)}),V._status===-1&&(V._status=0,V._result=$)}if(V._status===1)return V._result.default;throw V._result}var M=typeof reportError=="function"?reportError:function(V){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var $=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof V=="object"&&V!==null&&typeof V.message=="string"?String(V.message):String(V),error:V});if(!window.dispatchEvent($))return}else if(typeof e=="object"&&typeof e.emit=="function"){e.emit("uncaughtException",V);return}console.error(V)},G={map:U,forEach:function(V,$,B){U(V,function(){$.apply(this,arguments)},B)},count:function(V){var $=0;return U(V,function(){$++}),$},toArray:function(V){return U(V,function($){return $})||[]},only:function(V){if(!R(V))throw Error("React.Children.only expected to receive a single React element child.");return V}};return qr.Activity=p,qr.Children=G,qr.Component=x,qr.Fragment=r,qr.Profiler=a,qr.PureComponent=k,qr.StrictMode=s,qr.Suspense=u,qr.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,qr.__COMPILER_RUNTIME={__proto__:null,c:function(V){return T.H.useMemoCache(V)}},qr.cache=function(V){return function(){return V.apply(null,arguments)}},qr.cacheSignal=function(){return null},qr.cloneElement=function(V,$,B){if(V==null)throw Error("The argument must be a React element, but you passed "+V+".");var Z=y({},V.props),K=V.key;if($!=null)for(ne in $.key!==void 0&&(K=""+$.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=B;else if(1<ne){for(var ee=Array(ne),J=0;J<ne;J++)ee[J]=arguments[J+2];Z.children=ee}return I(V.type,K,Z)},qr.createContext=function(V){return V={$$typeof:l,_currentValue:V,_currentValue2:V,_threadCount:0,Provider:null,Consumer:null},V.Provider=V,V.Consumer={$$typeof:i,_context:V},V},qr.createElement=function(V,$,B){var Z,K={},ne=null;if($!=null)for(Z in $.key!==void 0&&(ne=""+$.key),$)N.call($,Z)&&Z!=="key"&&Z!=="__self"&&Z!=="__source"&&(K[Z]=$[Z]);var ee=arguments.length-2;if(ee===1)K.children=B;else if(1<ee){for(var J=Array(ee),ae=0;ae<ee;ae++)J[ae]=arguments[ae+2];K.children=J}if(V&&V.defaultProps)for(Z in ee=V.defaultProps,ee)K[Z]===void 0&&(K[Z]=ee[Z]);return I(V,ne,K)},qr.createRef=function(){return{current:null}},qr.forwardRef=function(V){return{$$typeof:c,render:V}},qr.isValidElement=R,qr.lazy=function(V){return{$$typeof:f,_payload:{_status:-1,_result:V},_init:q}},qr.memo=function(V,$){return{$$typeof:d,type:V,compare:$===void 0?null:$}},qr.startTransition=function(V){var $=T.T,B={};T.T=B;try{var Z=V(),K=T.S;K!==null&&K(B,Z),typeof Z=="object"&&Z!==null&&typeof Z.then=="function"&&Z.then(E,M)}catch(ne){M(ne)}finally{$!==null&&B.types!==null&&($.types=B.types),T.T=$}},qr.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},qr.use=function(V){return T.H.use(V)},qr.useActionState=function(V,$,B){return T.H.useActionState(V,$,B)},qr.useCallback=function(V,$){return T.H.useCallback(V,$)},qr.useContext=function(V){return T.H.useContext(V)},qr.useDebugValue=function(){},qr.useDeferredValue=function(V,$){return T.H.useDeferredValue(V,$)},qr.useEffect=function(V,$){return T.H.useEffect(V,$)},qr.useEffectEvent=function(V){return T.H.useEffectEvent(V)},qr.useId=function(){return T.H.useId()},qr.useImperativeHandle=function(V,$,B){return T.H.useImperativeHandle(V,$,B)},qr.useInsertionEffect=function(V,$){return T.H.useInsertionEffect(V,$)},qr.useLayoutEffect=function(V,$){return T.H.useLayoutEffect(V,$)},qr.useMemo=function(V,$){return T.H.useMemo(V,$)},qr.useOptimistic=function(V,$){return T.H.useOptimistic(V,$)},qr.useReducer=function(V,$,B){return T.H.useReducer(V,$,B)},qr.useRef=function(V){return T.H.useRef(V)},qr.useState=function(V){return T.H.useState(V)},qr.useSyncExternalStore=function(V,$,B){return T.H.useSyncExternalStore(V,$,B)},qr.useTransition=function(){return T.H.useTransition()},qr.version="19.2.7",qr}var s$e;function RN(){return s$e||(s$e=1,vK.exports=OHt()),vK.exports}var v=RN();const Fe=zl(v),PN=wHt({__proto__:null,default:Fe},[v]);var yK={exports:{}},UA={},bK={exports:{}},xK={};var a$e;function _Ht(){return a$e||(a$e=1,(function(e){function t(H,z){var U=H.length;H.push(z);e:for(;0<U;){var q=U-1>>>1,M=H[q];if(0<s(M,z))H[q]=z,H[U]=M,U=q;else break e}}function n(H){return H.length===0?null:H[0]}function r(H){if(H.length===0)return null;var z=H[0],U=H.pop();if(U!==z){H[0]=U;e:for(var q=0,M=H.length,G=M>>>1;q<G;){var V=2*(q+1)-1,$=H[V],B=V+1,Z=H[B];if(0>s($,U))B<M&&0>s(Z,$)?(H[q]=Z,H[B]=U,q=B):(H[q]=$,H[V]=U,q=V);else if(B<M&&0>s(Z,U))H[q]=Z,H[B]=U,q=B;else break e}}return z}function s(H,z){var U=H.sortIndex-z.sortIndex;return U!==0?U:H.id-z.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,g=!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 z=n(u);z!==null;){if(z.callback===null)r(u);else if(z.startTime<=H)r(u),z.sortIndex=z.expirationTime,t(c,z);else break;z=n(u)}}function C(H){if(g=!1,k(H),!m)if(n(c)!==null)m=!0,_||(_=!0,R());else{var z=n(u);z!==null&&F(C,z.startTime-H)}}var _=!1,E=-1,T=5,N=-1;function I(){return y?!0:!(e.unstable_now()-N<T)}function A(){if(y=!1,_){var H=e.unstable_now();N=H;var z=!0;try{e:{m=!1,g&&(g=!1,x(E),E=-1),h=!0;var U=p;try{t:{for(k(H),f=n(c);f!==null&&!(f.expirationTime>H&&I());){var q=f.callback;if(typeof q=="function"){f.callback=null,p=f.priorityLevel;var M=q(f.expirationTime<=H);if(H=e.unstable_now(),typeof M=="function"){f.callback=M,k(H),z=!0;break t}f===n(c)&&r(c),k(H)}else r(c);f=n(c)}if(f!==null)z=!0;else{var G=n(u);G!==null&&F(C,G.startTime-H),z=!1}}break e}finally{f=null,p=U,h=!1}z=void 0}}finally{z?R():_=!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,z){E=b(function(){H(e.unstable_now())},z)}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"):T=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 z=3;break;default:z=p}var U=p;p=z;try{return H()}finally{p=U}},e.unstable_requestPaint=function(){y=!0},e.unstable_runWithPriority=function(H,z){switch(H){case 1:case 2:case 3:case 4:case 5:break;default:H=3}var U=p;p=H;try{return z()}finally{p=U}},e.unstable_scheduleCallback=function(H,z,U){var q=e.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0<U?q+U:q):U=q,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=U+M,H={id:d++,callback:z,priorityLevel:H,startTime:U,expirationTime:M,sortIndex:-1},U>q?(H.sortIndex=U,t(u,H),n(c)===null&&H===n(u)&&(g?(x(E),E=-1):g=!0,F(C,U-q))):(H.sortIndex=M,t(c,H),m||h||(m=!0,_||(_=!0,R()))),H},e.unstable_shouldYield=I,e.unstable_wrapCallback=function(H){var z=p;return function(){var U=p;p=z;try{return H.apply(this,arguments)}finally{p=U}}}})(xK)),xK}var i$e;function CHt(){return i$e||(i$e=1,bK.exports=_Ht()),bK.exports}var wK={exports:{}},xu={};var o$e;function EHt(){if(o$e)return xu;o$e=1;var e=RN();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 xu.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,xu.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)},xu.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()}},xu.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))},xu.prefetchDNS=function(c){typeof c=="string"&&r.d.D(c)},xu.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})}},xu.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)},xu.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})}},xu.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)},xu.requestFormReset=function(c){r.d.r(c)},xu.unstable_batchedUpdates=function(c,u){return c(u)},xu.useFormState=function(c,u,d){return i.H.useFormState(c,u,d)},xu.useFormStatus=function(){return i.H.useHostTransitionStatus()},xu.version="19.2.7",xu}var l$e;function uot(){if(l$e)return wK.exports;l$e=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(),wK.exports=EHt(),wK.exports}var c$e;function THt(){if(c$e)return UA;c$e=1;var e={env:{}};var t=CHt(),n=RN(),r=uot();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,Se=W.child;Se;){if(Se===j){ie=!0,j=W,P=Q;break}if(Se===P){ie=!0,P=W,j=Q;break}Se=Se.sibling}if(!ie){for(Se=Q.child;Se;){if(Se===j){ie=!0,j=Q,P=W;break}if(Se===P){ie=!0,P=Q,j=W;break}Se=Se.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"),g=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"),C=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),E=Symbol.for("react.suspense_list"),T=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 _:return"Suspense";case E:return"SuspenseList";case I:return"Activity"}if(typeof w=="object")switch(w.$$typeof){case g:return"Portal";case k:return w.displayName||"Context";case S:return(w._context.displayName||"Context")+".Consumer";case C:var O=w.render;return w=w.displayName,w||(w=O.displayName||O.name||"",w=w!==""?"ForwardRef("+w+")":"ForwardRef"),w;case T: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,z=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,U=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,q={pending:!1,data:null,method:null,action:null},M=[],G=-1;function V(w){return{current:w}}function $(w){0>G||(w.current=M[G],M[G]=null,G--)}function B(w,O){G++,M[G]=w.current,w.current=O}var Z=V(null),K=V(null),ne=V(null),ee=V(null);function J(w,O){switch(B(ne,O),B(K,w),B(Z,null),O.nodeType){case 9:case 11:w=(w=O.documentElement)&&(w=w.namespaceURI)?O2e(w):0;break;default:if(w=O.tagName,O=O.namespaceURI)O=O2e(O),w=_2e(O,w);else switch(w){case"svg":w=1;break;case"math":w=2;break;default:w=0}}$(Z),B(Z,w)}function ae(){$(Z),$(K),$(ne)}function fe(w){w.memoizedState!==null&&B(ee,w);var O=Z.current,j=_2e(O,w.type);O!==j&&(B(K,w),B(Z,j))}function Y(w){K.current===w&&($(Z),$(K)),ee.current===w&&($(ee),DA._currentValue=q)}var re,le;function ue(w){if(re===void 0)try{throw Error()}catch(j){var O=j.stack.trim().match(/\n( *(at )?)/);re=O&&O[1]||"",le=-1<j.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<j.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+re+w+le}var oe=!1;function me(w,O){if(!w||oe)return"";oe=!0;var j=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var P={DetermineComponentFrameRoot:function(){try{if(O){var jt=function(){throw Error()};if(Object.defineProperty(jt.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(jt,[])}catch(mt){var ut=mt}Reflect.construct(w,[],jt)}else{try{jt.call()}catch(mt){ut=mt}w.call(jt.prototype)}}else{try{throw Error()}catch(mt){ut=mt}(jt=w())&&typeof jt.catch=="function"&&jt.catch(function(){})}}catch(mt){if(mt&&ut&&typeof mt.stack=="string")return[mt.stack,ut.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],Se=Q[1];if(ie&&Se){var Be=ie.split(`
@@ -231,7 +231,7 @@ attempted value: ${i}
231
231
  \${}
232
232
  }
233
233
  }`,{label:"class",detail:"definition",type:"keyword"}),ef('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),ef('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],t1t=eke.concat([ef("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),ef("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),ef("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),Xze=new axt,n1t=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function pR(e){return(t,n)=>{let r=t.node.getChild("VariableDefinition");return r&&n(r,e),!0}}const W7n=["FunctionDeclaration"],Z7n={FunctionDeclaration:pR("function"),ClassDeclaration:pR("class"),ClassExpression:()=>!0,EnumDeclaration:pR("constant"),TypeAliasDeclaration:pR("type"),NamespaceDeclaration:pR("namespace"),VariableDefinition(e,t){e.matchContext(W7n)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function r1t(e,t){let n=Xze.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(La.IncludeAnonymous).iterate(i=>{if(s)s=!1;else if(i.name){let l=Z7n[i.name];if(l&&l(i,a)||n1t.has(i.name))return!1}else if(i.to-i.from>8192){for(let l of r1t(e,i.node))r.push(l);return!1}}),Xze.set(t,r),r}const dB=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,tke=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function s1t(e){let t=yi(e.state).resolveInner(e.pos,-1);if(tke.indexOf(t.name)>-1)return null;let n=t.name=="VariableName"||t.to-t.from<20&&dB.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let r=[];for(let s=t;s;s=s.parent)n1t.has(s.name)&&(r=r.concat(r1t(e.state.doc,s)));return{options:r,from:n?t.from:e.pos,validFor:dB}}function iee(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 a1t(e){let t=r=>e.state.doc.sliceString(r.from,r.to),n=yi(e.state).resolveInner(e.pos,-1);return n.name=="PropertyName"?iee(t,n.parent,t(n)):(n.name=="."||n.name=="?.")&&n.parent.name=="MemberExpression"?iee(t,n.parent,""):tke.indexOf(n.name)>-1?null:n.name=="VariableName"||n.to-n.from<20&&dB.test(t(n))?{path:[],name:t(n)}:n.name=="MemberExpression"?iee(t,n,""):e.explicit?{path:[],name:""}:null}function G7n(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 Q7n(e){let t=new Map;return n=>{let r=a1t(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=G7n(s,!r.path.length)),{from:n.pos-r.name.length,options:a,validFor:dB}}}const Qh=PO.define({name:"javascript",parser:H7n.configure({props:[B_.add({IfStatement:FT({except:/^\s*({|else\b)/}),TryStatement:FT({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:qFn,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:UFn({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":FT({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}}),U_.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":PSe,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:"$"}}),i1t={test:e=>/^JSX/.test(e.name),facet:bH({commentTokens:{block:{open:"{/*",close:"*/}"}}})},nke=Qh.configure({dialect:"ts"},"typescript"),rke=Qh.configure({dialect:"jsx",props:[ISe.add(e=>e.isTop?[i1t]:void 0)]}),ske=Qh.configure({dialect:"jsx ts",props:[ISe.add(e=>e.isTop?[i1t]:void 0)]},"typescript");let o1t=e=>({label:e,type:"keyword"});const l1t="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(o1t),Y7n=l1t.concat(["declare","implements","private","protected","public"].map(o1t));function fB(e={}){let t=e.jsx?e.typescript?ske:rke:e.typescript?nke:Qh,n=e.typescript?t1t.concat(Y7n):eke.concat(l1t);return new MO(t,[Qh.data.of({autocomplete:Tzn(tke,iwt(n))}),Qh.data.of({autocomplete:s1t}),e.jsx?c1t:[]])}function K7n(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 Jze(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 X7n=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),c1t=It.inputHandler.of((e,t,n,r,s)=>{if((X7n?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||r!=">"&&r!="/"||!Qh.isActiveAt(e.state,t,-1))return!1;let a=s(),{state:i}=a,l=i.changeByRange(c=>{var u;let{head:d}=c,f=yi(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=Jze(i.doc,m.firstChild,d))||((u=m.firstChild)===null||u===void 0?void 0:u.name)=="JSXFragmentTag")){let g=`${p}>`;return{range:xt.cursor(d+g.length,-1),changes:{from:d,insert:g}}}}else if(r==">"){let h=K7n(f);if(h&&h.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(i.doc.sliceString(d,d+2))&&(p=Jze(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 J7n(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 Qh.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(eBn(u,r.doc,c))}return s}}function e8e(e,t,n,r){return n.line(e+r.line).from+t+(e==1?r.col-1:-1)}function eBn(e,t,n){let r=e8e(e.line,e.column,t,n),s={from:r,to:e.endLine!=null&&e.endColumn!=1?e8e(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 R6=Object.freeze(Object.defineProperty({__proto__:null,autoCloseTags:c1t,completionPath:a1t,esLint:J7n,javascript:fB,javascriptLanguage:Qh,jsxLanguage:rke,localCompletionSource:s1t,scopeCompletionSource:Q7n,snippets:eke,tsxLanguage:ske,typescriptLanguage:nke,typescriptSnippets:t1t},Symbol.toStringTag,{value:"Module"})),hR=["_blank","_self","_top","_parent"],oee=["ascii","utf-8","utf-16","latin1","latin1"],lee=["get","post","put","delete"],cee=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],ap=["true","false"],tr={},tBn={a:{attrs:{href:null,ping:null,type:null,media:null,target:hR,hreflang:null}},abbr:tr,address:tr,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:tr,aside:tr,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:tr,base:{attrs:{href:null,target:hR}},bdi:tr,bdo:tr,blockquote:{attrs:{cite:null}},body:tr,br:tr,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:cee,formmethod:lee,formnovalidate:["novalidate"],formtarget:hR,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:tr,center:tr,cite:tr,code:tr,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:tr,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:tr,div:tr,dl:tr,dt:tr,em:tr,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:tr,figure:tr,footer:tr,form:{attrs:{action:null,name:null,"accept-charset":oee,autocomplete:["on","off"],enctype:cee,method:lee,novalidate:["novalidate"],target:hR}},h1:tr,h2:tr,h3:tr,h4:tr,h5:tr,h6:tr,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:tr,hgroup:tr,hr:tr,html:{attrs:{manifest:null}},i:tr,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:cee,formmethod:lee,formnovalidate:["novalidate"],formtarget:hR,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:tr,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:tr,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:tr,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:oee,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:tr,noscript:tr,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:tr,param:{attrs:{name:null,value:null}},pre:tr,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:tr,rt:tr,ruby:tr,samp:tr,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:oee}},section:tr,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:tr,source:{attrs:{src:null,type:null,media:null}},span:tr,strong:tr,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:tr,summary:tr,sup:tr,table:tr,tbody:tr,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:tr,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:tr,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:tr,time:{attrs:{datetime:null}},title:tr,tr,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:tr,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:tr},u1t={accesskey:null,class:null,contenteditable:ap,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:ap,autocorrect:ap,autocapitalize:ap,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":ap,"aria-autocomplete":["inline","list","both","none"],"aria-busy":ap,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":ap,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":ap,"aria-hidden":ap,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":ap,"aria-multiselectable":ap,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":ap,"aria-relevant":null,"aria-required":ap,"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},d1t="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 d1t)u1t[e]=null;class iM{constructor(t,n){this.tags={...tBn,...t},this.globalAttrs={...u1t,...n},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}iM.default=new iM;function Pj(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 $j(e,t=!1){for(;e;e=e.parent)if(e.name=="Element")if(t)t=!1;else return e;return null}function f1t(e,t,n){let r=n.tags[Pj(e,$j(t))];return r?.children||n.allTags}function ake(e,t){let n=[];for(let r=$j(t);r&&!r.type.isTop;r=$j(r.parent)){let s=Pj(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 p1t=/^[:\-\.\w\u00b7-\uffff]*$/;function t8e(e,t,n,r,s){let a=/\s*>/.test(e.sliceDoc(s,s+5))?"":">",i=$j(n,n.name=="StartTag"||n.name=="TagName");return{from:r,to:s,options:f1t(e.doc,i,t).map(l=>({label:l,type:"type"})).concat(ake(e.doc,n).map((l,c)=>({label:"/"+l,apply:"/"+l+a,type:"type",boost:99-c}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function n8e(e,t,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:ake(e.doc,t).map((a,i)=>({label:a,apply:a+s,type:"type",boost:99-i})),validFor:p1t}}function nBn(e,t,n,r){let s=[],a=0;for(let i of f1t(e.doc,n,t))s.push({label:"<"+i,type:"type"});for(let i of ake(e.doc,n))s.push({label:"</"+i+">",type:"type",boost:99-a++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function rBn(e,t,n,r,s){let a=$j(n),i=a?t.tags[Pj(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:p1t}}function sBn(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=$j(n),p=f?t.tags[Pj(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 h1t(e,t){let{state:n,pos:r}=t,s=yi(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)?n8e(n,s,s.from,r):t8e(n,e,s,s.from,r):s.name=="StartTag"||s.name=="IncompleteTag"?t8e(n,e,s,r,r):s.name=="StartCloseTag"||s.name=="IncompleteCloseTag"?n8e(n,s,r,r):s.name=="OpenTag"||s.name=="SelfClosingTag"||s.name=="AttributeName"?rBn(n,e,s,s.name=="AttributeName"?s.from:r,r):s.name=="Is"||s.name=="AttributeValue"||s.name=="UnquotedAttributeValue"?sBn(n,e,s,s.name=="Is"?r:s.from,r):t.explicit&&(a.name=="Element"||a.name=="Text"||a.name=="Document")?nBn(n,e,s,r):null}function aBn(e){return h1t(iM.default,e)}function iBn(e){let{extraTags:t,extraGlobalAttributes:n}=e,r=n||t?new iM(t,n):iM.default;return s=>h1t(r,s)}const oBn=Qh.parser.configure({top:"SingleExpression"}),m1t=[{tag:"script",attrs:e=>e.type=="text/typescript"||e.lang=="ts",parser:nke.parser},{tag:"script",attrs:e=>e.type=="text/babel"||e.type=="text/jsx",parser:rke.parser},{tag:"script",attrs:e=>e.type=="text/typescript-jsx",parser:ske.parser},{tag:"script",attrs(e){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(e.type)},parser:oBn},{tag:"script",attrs(e){return!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type)},parser:Qh.parser},{tag:"style",attrs(e){return(!e.lang||e.lang=="css")&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type))},parser:uB.parser}],g1t=[{name:"style",parser:uB.parser.configure({top:"Styles"})}].concat(d1t.map(e=>({name:e,parser:Qh.parser}))),v1t=PO.define({name:"html",parser:A9n.configure({props:[B_.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}}),U_.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}}}),J0t.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"<!--",close:"-->"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),g8=v1t.configure({wrap:Gwt(m1t,g1t)});function lBn(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=Gwt((e.nestedLanguages||[]).concat(m1t),(e.nestedAttributes||[]).concat(g1t)));let r=n?v1t.configure({wrap:n,dialect:t}):t?g8.configure({dialect:t}):g8;return new MO(r,[g8.data.of({autocomplete:iBn(e)}),e.autoCloseTags!==!1?cBn:[],fB().support,h7n().support])}const r8e=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cBn=It.inputHandler.of((e,t,n,r,s)=>{if(e.composing||e.state.readOnly||t!=n||r!=">"&&r!="/"||!g8.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=yi(i).resolveInner(h,-1),g;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"&&(g=Pj(i.doc,y.parent,h))&&!r8e.has(g)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`</${g}>`;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"&&(g=Pj(i.doc,y,h))&&!r8e.has(g)){let b=h+(i.doc.sliceString(h,h+1)===">"?1:0),x=`${g}>`;return{range:xt.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)}),y1t=bH({commentTokens:{block:{open:"<!--",close:"-->"}}}),b1t=new Dr,x1t=P8n.configure({props:[U_.add(e=>!e.is("Block")||e.is("Document")||hge(e)!=null||uBn(e)?void 0:(t,n)=>({from:n.doc.lineAt(t.from).to,to:t.to})),b1t.add(hge),B_.add({Document:()=>null}),_w.add({Document:y1t})]});function hge(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function uBn(e){return e.name=="OrderedList"||e.name=="BulletList"}function dBn(e,t){let n=e;for(;;){let r=n.nextSibling,s;if(!r||(s=hge(r.type))!=null&&s<=t)break;n=r}return n.to}const fBn=B0t.of((e,t,n)=>{for(let r=yi(e).resolveInner(n,-1);r&&!(r.from<t);r=r.parent){let s=r.type.prop(b1t);if(s==null)continue;let a=dBn(r,s);if(a>n)return{from:n,to:a}}return null});function ike(e){return new Cp(y1t,e,[],"markdown")}const w1t=ike(x1t),pBn=x1t.configure([H8n,Z8n,W8n,G8n,{props:[U_.add({Table:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})})]}]),FO=ike(pBn);function hBn(e,t){return n=>{if(n&&e){let r=null;if(n=/\S*/.exec(n)[0],typeof e=="function"?r=e(n):r=ng.matchLanguageName(e,n,!0),r instanceof ng)return r.support?r.support.language.parser:$O.getSkippingParser(r.load());if(r)return r.parser}return t?t.parser:null}}class uee{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(+k1t(this.item,t)[2]+n):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function S1t(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 uee(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 uee(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 uee(a.parent,c,c+d,i[1],u,f,a))}}return r}function k1t(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function dee(e,t,n,r=0){for(let s=-1,a=e;;){if(a.name=="ListItem"){let l=k1t(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 oke(e,t){let n=/^[ \t]*/.exec(e)[0].length;if(!n||t.facet(aI)!=" ")return e;let r=Rg(e,4,n),s="";for(let a=r;a>0;)a>=4?(s+=" ",a-=4):(s+=" ",a--);return s+e.slice(n)}const O1t=(e={})=>({state:t,dispatch:n})=>{let r=yi(t),{doc:s}=t,a=null,i=t.changeByRange(l=>{if(!l.empty||!FO.isActiveAt(t,l.from,-1)&&!FO.isActiveAt(t,l.from,1))return a={range:l};let c=l.from,u=s.lineAt(c),d=S1t(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,C="";S&&S.item?(k=u.from+S.from,C=S.marker(s,1)):k=u.from+(S?S.to:0);let _=[{from:k,to:c,insert:C}];return f.node.name=="OrderedList"&&dee(f.item,s,_,-2),S&&S.node.name=="OrderedList"&&dee(S.item,s,_),{range:xt.cursor(k+C.length),changes:_}}else{let S=a8e(d,t,u);return{range:xt.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"&&dee(f.item,s,h);let m=f.item&&f.item.from<u.from,g="";if(!m||/^[\s\d.)\-+*>]*/.exec(u.text)[0].length>=f.to)for(let b=0,x=d.length-1;b<=x;b++)g+=b==x&&!m?d[b].marker(s,1):d[b].blank(b<x?Rg(u.text,4,d[b+1].from)-g.length:null);let y=c;for(;y>u.from&&/\s/.test(u.text.charAt(y-u.from-1));)y--;return g=oke(g,t),mBn(f.node,t.doc)&&(g=a8e(d,t,u)+t.lineBreak+g),h.push({from:y,to:c,insert:t.lineBreak+g}),{range:xt.cursor(y+g.length+1),changes:h}});return a?!1:(n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0)},_1t=O1t();function s8e(e){return e.name=="QuoteMark"||e.name=="ListMark"}function mBn(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 a8e(e,t,n){let r="";for(let s=0,a=e.length-2;s<=a;s++)r+=e[s].blank(s<a?Rg(n.text,4,e[s+1].from)-r.length:null,s<a);return oke(r,t)}function gBn(e,t){let n=e.resolveInner(t,-1),r=t;s8e(n)&&(r=n.from,n=n.parent);for(let s;s=n.childBefore(r);)if(s8e(s))r=s.from;else if(s.name=="OrderedList"||s.name=="BulletList")n=s.lastChild,r=n.to;else break;return n}const C1t=({state:e,dispatch:t})=>{let n=yi(e),r=null,s=e.changeByRange(a=>{let i=a.from,{doc:l}=e;if(a.empty&&FO.isActiveAt(e,a.from)){let c=l.lineAt(i),u=S1t(gBn(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:xt.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(Rg(c.text,4,d.to)-Rg(c.text,4,d.from));return p==c.from&&(h=oke(h,e)),{range:xt.cursor(p+h.length),changes:{from:p,to:c.from+d.to,insert:h}}}if(p<i)return{range:xt.cursor(p),changes:{from:p,to:i}}}}}return r={range:a}});return r?!1:(t(e.update(s,{scrollIntoView:!0,userEvent:"delete"})),!0)},E1t=[{key:"Enter",run:_1t},{key:"Backspace",run:C1t}],T1t=lBn({matchClosingTags:!1});function lke(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:r=!0,base:{parser:s}=w1t,completeHTMLTags:a=!0,pasteURLAsLink:i=!0,htmlTagLanguage:l=T1t}=e;if(!(s instanceof kH))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let c=e.extensions?[e.extensions]:[],u=[l.support,fBn],d;i&&u.push(j1t),n instanceof MO?(u.push(n.support),d=n.language):n&&(d=n);let f=t||d?hBn(t,d):void 0;c.push(M8n({codeParser:f,htmlParser:l.language.parser})),r&&u.push(Kp.high(sI.of(E1t)));let p=ike(s.configure(c));return a&&u.push(p.data.of({autocomplete:vBn})),new MO(p,u)}function vBn(e){let{state:t,pos:n}=e,r=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!r)return null;let s=yi(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:yBn(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let fee=null;function yBn(){if(fee)return fee;let e=aBn(new LSe(cs.create({extensions:T1t}),0,!0));return fee=e?e.options:[]}const bBn=/code|horizontalrule|html|link|comment|processing|escape|entity|image|mark|url/i,j1t=It.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),!FO.isActiveAt(t.state,r.from,1)))return!1;let a=yi(t.state),i=!1;return a.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||bBn.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)}}),xBn=Object.freeze(Object.defineProperty({__proto__:null,commonmarkLanguage:w1t,deleteMarkupBackward:C1t,insertNewlineContinueMarkup:_1t,insertNewlineContinueMarkupCommand:O1t,markdown:lke,markdownKeymap:E1t,markdownLanguage:FO,pasteURLAsLink:j1t},Symbol.toStringTag,{value:"Module"}));function zO(){return zO=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},zO.apply(null,arguments)}var wBn=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=It.theme(i,{dark:t==="dark"}),d=Bg.define(a),f=[u,G1(d)];return f},SBn={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)"},kBn=[{tag:pe.comment,color:"#6272a4"},{tag:pe.string,color:"#f1fa8c"},{tag:pe.atom,color:"#bd93f9"},{tag:pe.meta,color:"#f8f8f2"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"#ff79c6"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"#66d9ef"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"#50fa7b"},{tag:pe.atom,color:"#bd93f9"}],oI=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 wBn({theme:r,settings:zO({},SBn,a),styles:[...kBn,...l]})};oI();function N1t(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 OBn=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=uke(e.state,n.from);return r.line?_Bn(e):r.block?EBn(e):!1};function cke(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 _Bn=cke(NBn,0),CBn=cke(I1t,0),EBn=cke((e,t)=>I1t(e,t,jBn(t)),0);function uke(e,t){let n=e.languageDataAt("commentTokens",t,1);return n.length?n[0]:{}}const mR=50;function TBn(e,{open:t,close:n},r,s){let a=e.sliceDoc(r-mR,r),i=e.sliceDoc(s,s+mR),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*mR?d=f=e.sliceDoc(r,s):(d=e.sliceDoc(r,r+mR),f=e.sliceDoc(s-mR,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 jBn(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 I1t(e,t,n=t.selection.ranges){let r=n.map(a=>uke(t,a.from).block);if(!r.every(a=>a))return null;let s=n.map((a,i)=>TBn(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 NBn(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=uke(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 mge=My.define(),IBn=My.define(),ABn=Cn.define(),A1t=Cn.define({combine(e){return Dy(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)})}}),R1t=yl.define({create(){return Uv.empty},update(e,t){let n=t.state.facet(A1t),r=t.annotation(mge);if(r){let c=gf.fromTransaction(t,r.selection),u=r.side,d=u==0?e.undone:e.done;return c?d=pB(d,d.length,n.minDepth,c):d=M1t(d,t.startState.selection),new Uv(u==0?r.rest:d,u==0?d:r.rest)}let s=t.annotation(IBn);if((s=="full"||s=="before")&&(e=e.isolate()),t.annotation(Rl.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=gf.fromTransaction(t),i=t.annotation(Rl.time),l=t.annotation(Rl.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 Uv(e.done.map(gf.fromJSON),e.undone.map(gf.fromJSON))}});function RBn(e={}){return[R1t,A1t.of(e),It.domEventHandlers({beforeinput(t,n){let r=t.inputType=="historyUndo"?P1t:t.inputType=="historyRedo"?gge:null;return r?(t.preventDefault(),r(n)):!1}})]}function OH(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let s=n.field(R1t,!1);if(!s)return!1;let a=s.pop(e,n,t);return a?(r(a),!0):!1}}const P1t=OH(0,!1),gge=OH(1,!1),PBn=OH(0,!0),$Bn=OH(1,!0);class gf{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 gf(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 gf(t.changes&&Il.fromJSON(t.changes),[],t.mapped&&Jv.fromJSON(t.mapped),t.startSelection&&xt.fromJSON(t.startSelection),t.selectionsAfter.map(xt.fromJSON))}static fromTransaction(t,n){let r=Fh;for(let s of t.startState.facet(ABn)){let a=s(t);a.length&&(r=r.concat(a))}return!r.length&&t.changes.empty?null:new gf(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,Fh)}static selection(t){return new gf(void 0,Fh,void 0,void 0,t)}}function pB(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 MBn(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 DBn(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((n,r)=>n.empty!=t.ranges[r].empty).length===0}function $1t(e,t){return e.length?t.length?e.concat(t):e:t}const Fh=[],LBn=200;function M1t(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-LBn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),pB(e,e.length-1,1e9,n.setSelAfter(r)))}else return[gf.selection([t])]}function FBn(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 pee(e,t){if(!e.length)return e;let n=e.length,r=Fh;for(;n;){let s=zBn(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?[gf.selection(r)]:Fh}function zBn(e,t,n){let r=$1t(e.selectionsAfter.length?e.selectionsAfter.map(l=>l.map(t)):Fh,n);if(!e.changes)return gf.selection(r);let s=e.changes.map(t),a=t.mapDesc(e.changes,!0),i=e.mapped?e.mapped.composeDesc(a):a;return new gf(s,xr.mapEffects(e.effects,t),i,e.startSelection.map(a),r)}const BBn=/^(input\.type|delete)($|\.)/;class Uv{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 Uv(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||BBn.test(r))&&(!l.selectionsAfter.length&&n-this.prevTime<s.newGroupDelay&&s.joinToEvent(a,MBn(l.changes,t.changes))||r=="input.type.compose")?i=pB(i,i.length-1,s.minDepth,new gf(t.changes.compose(l.changes),$1t(xr.mapEffects(t.effects,l.changes),l.effects),l.mapped,l.startSelection,Fh)):i=pB(i,i.length,s.minDepth,t),new Uv(i,Fh,n,r)}addSelection(t,n,r,s){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:Fh;return a.length>0&&n-this.prevTime<s&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&DBn(a[a.length-1],t)?this:new Uv(M1t(this.done,t),this.undone,n,r)}addMapping(t){return new Uv(pee(this.done,t),pee(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:mge.of({side:t,rest:FBn(s),selection:i}),userEvent:t==0?"select.undo":"select.redo",scrollIntoView:!0});if(a.changes){let l=s.length==1?Fh:s.slice(0,s.length-1);return a.mapped&&(l=pee(l,a.mapped)),n.update({changes:a.changes,selection:a.startSelection,effects:a.effects,annotations:mge.of({side:t,rest:l,selection:i}),filter:!1,userEvent:t==0?"undo":"redo",scrollIntoView:!0})}else return null}}Uv.empty=new Uv(Fh,Fh);const UBn=[{key:"Mod-z",run:P1t,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:gge,preventDefault:!0},{linux:"Ctrl-Shift-z",run:gge,preventDefault:!0},{key:"Mod-u",run:PBn,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:$Bn,preventDefault:!0}];function lI(e,t){return xt.create(e.ranges.map(t),e.mainIndex)}function Ug(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function qg({state:e,dispatch:t},n){let r=lI(e.selection,n);return r.eq(e.selection,!0)?!1:(t(Ug(e,r)),!0)}function _H(e,t){return xt.cursor(t?e.to:e.from)}function D1t(e,t){return qg(e,n=>n.empty?e.moveByChar(n,t):_H(n,t))}function ed(e){return e.textDirectionAt(e.state.selection.main.head)==Oi.LTR}const L1t=e=>D1t(e,!ed(e)),F1t=e=>D1t(e,ed(e));function z1t(e,t){return qg(e,n=>n.empty?e.moveByGroup(n,t):_H(n,t))}const qBn=e=>z1t(e,!ed(e)),VBn=e=>z1t(e,ed(e));function HBn(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 CH(e,t,n){let r=yi(e).resolveInner(t.head),s=n?Dr.closedBy:Dr.openedBy;for(let c=t.head;;){let u=n?r.childAfter(c):r.childBefore(c);if(!u)break;HBn(e,u,s)?r=u:c=n?u.to:u.from}let a=r.type.prop(s),i,l;return a&&(i=n?Bv(e,r.from,1):Bv(e,r.to,-1))&&i.matched?l=n?i.end.to:i.end.from:l=n?r.to:r.from,xt.cursor(l,n?-1:1)}const WBn=e=>qg(e,t=>CH(e.state,t,!ed(e))),ZBn=e=>qg(e,t=>CH(e.state,t,ed(e)));function B1t(e,t){return qg(e,n=>{if(!n.empty)return _H(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)})}const U1t=e=>B1t(e,!1),q1t=e=>B1t(e,!0);function V1t(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,s;if(t){for(let a of e.state.facet(It.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 H1t(e,t){let n=V1t(e),{state:r}=e,s=lI(r.selection,i=>i.empty?e.moveVertically(i,t,n.height):_H(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=It.scrollIntoView(s.main.head,{y:"start",yMargin:i.top-c}))}return e.dispatch(Ug(r,s),{effects:a}),!0}const i8e=e=>H1t(e,!1),vge=e=>H1t(e,!0);function Q1(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=xt.cursor(r.from+a))}return s}const GBn=e=>qg(e,t=>Q1(e,t,!0)),QBn=e=>qg(e,t=>Q1(e,t,!1)),YBn=e=>qg(e,t=>Q1(e,t,!ed(e))),KBn=e=>qg(e,t=>Q1(e,t,ed(e))),XBn=e=>qg(e,t=>xt.cursor(e.lineBlockAt(t.head).from,1)),JBn=e=>qg(e,t=>xt.cursor(e.lineBlockAt(t.head).to,-1));function eUn(e,t,n){let r=!1,s=lI(e.selection,a=>{let i=Bv(e,a.head,-1)||Bv(e,a.head,1)||a.head>0&&Bv(e,a.head-1,1)||a.head<e.doc.length&&Bv(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 xt.cursor(l)});return r?(t(Ug(e,s)),!0):!1}const tUn=({state:e,dispatch:t})=>eUn(e,t);function Om(e,t,n){let r=lI(e.state.selection,s=>{s.undirectional&&s.head>=s.anchor!=t&&(s=xt.range(s.head,s.anchor));let a=n(s);return xt.range(s.anchor,a.head,a.goalColumn,a.bidiLevel||void 0,a.assoc)});return r.eq(e.state.selection)?!1:(e.dispatch(Ug(e.state,r)),!0)}function W1t(e,t){return Om(e,t,n=>e.moveByChar(n,t))}const Z1t=e=>W1t(e,!ed(e)),G1t=e=>W1t(e,ed(e));function Q1t(e,t){return Om(e,t,n=>e.moveByGroup(n,t))}const nUn=e=>Q1t(e,!ed(e)),rUn=e=>Q1t(e,ed(e)),sUn=e=>{let t=!ed(e);return Om(e,t,n=>CH(e.state,n,t))},aUn=e=>{let t=ed(e);return Om(e,t,n=>CH(e.state,n,t))};function Y1t(e,t){return Om(e,t,n=>e.moveVertically(n,t))}const K1t=e=>Y1t(e,!1),X1t=e=>Y1t(e,!0);function J1t(e,t){return Om(e,t,n=>e.moveVertically(n,t,V1t(e).height))}const o8e=e=>J1t(e,!1),l8e=e=>J1t(e,!0),iUn=e=>Om(e,!0,t=>Q1(e,t,!0)),oUn=e=>Om(e,!1,t=>Q1(e,t,!1)),lUn=e=>{let t=!ed(e);return Om(e,t,n=>Q1(e,n,t))},cUn=e=>{let t=ed(e);return Om(e,t,n=>Q1(e,n,t))},uUn=e=>Om(e,!1,t=>xt.cursor(e.lineBlockAt(t.head).from)),dUn=e=>Om(e,!0,t=>xt.cursor(e.lineBlockAt(t.head).to)),c8e=({state:e,dispatch:t})=>(t(Ug(e,{anchor:0})),!0),u8e=({state:e,dispatch:t})=>(t(Ug(e,{anchor:e.doc.length})),!0),d8e=({state:e,dispatch:t})=>(t(Ug(e,{anchor:e.selection.main.anchor,head:0})),!0),f8e=({state:e,dispatch:t})=>(t(Ug(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),fUn=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),pUn=({state:e,dispatch:t})=>{let n=EH(e).map(({from:r,to:s})=>xt.range(r,Math.min(s+1,e.doc.length)));return t(e.update({selection:xt.create(n),userEvent:"select"})),!0},hUn=({state:e,dispatch:t})=>{let n=lI(e.selection,r=>{let s=yi(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 xt.range(l.to,l.from)}return r});return n.eq(e.selection)?!1:(t(Ug(e,n)),!0)};function eSt(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(Ug(n,xt.create(s,s.length-1))),!0)}const mUn=e=>eSt(e,!1),gUn=e=>eSt(e,!0),vUn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=xt.create([n.main]):n.main.empty||(r=xt.create([xt.cursor(n.main.head)])),r?(t(Ug(e,r)),!0):!1};function y3(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=P6(e,c,!1)):c>i&&(n="delete.forward",c=P6(e,c,!0)),i=Math.min(i,c),l=Math.max(l,c)}else i=P6(e,i,!1),l=P6(e,l,!0);return i==l?{range:a}:{changes:{from:i,to:l},range:xt.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"?It.announce.of(r.phrase("Selection deleted")):void 0})),!0)}function P6(e,t,n){if(e instanceof It)for(let r of e.state.facet(It.atomicRanges).map(s=>s(e)))r.between(t,t,(s,a)=>{s<t&&a>t&&(t=n?a:s)});return t}const tSt=(e,t,n)=>y3(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=Rg(l,a.tabSize),d=u%DO(a)||DO(a);for(let f=0;f<d&&l[l.length-1-f]==" ";f++)s--;c=s}else c=Oc(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=Oc(i.text,c-i.from,!1,!1)+i.from);return c}),yge=e=>tSt(e,!1,!0),nSt=e=>tSt(e,!0,!1),rSt=(e,t)=>y3(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=Oc(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}),sSt=e=>rSt(e,!1),yUn=e=>rSt(e,!0),bUn=e=>y3(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),xUn=e=>y3(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),wUn=e=>y3(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),SUn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:Oa.of(["",""])},range:xt.cursor(r.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},kUn=({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:Oc(a.text,s-a.from,!1)+a.from,l=s==a.to?s+1:Oc(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:xt.cursor(l)}});return n.changes.empty?!1:(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function EH(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 aSt(e,t,n){if(e.readOnly)return!1;let r=[],s=[];for(let a of EH(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(xt.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(xt.range(c.anchor-l,c.head-l))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:xt.create(s,e.selection.mainIndex),userEvent:"move.line"})),!0):!1}const OUn=({state:e,dispatch:t})=>aSt(e,t,!1),_Un=({state:e,dispatch:t})=>aSt(e,t,!0);function iSt(e,t,n){if(e.readOnly)return!1;let r=[];for(let a of EH(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 CUn=({state:e,dispatch:t})=>iSt(e,t,!1),EUn=({state:e,dispatch:t})=>iSt(e,t,!0),TUn=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(EH(t).map(({from:s,to:a})=>(s>0?s--:a<t.doc.length&&a++,{from:s,to:a}))),r=lI(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 jUn(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=yi(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(Dr.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 p8e=oSt(!1),NUn=oSt(!0);function oSt(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&&jUn(t,a);e&&(a=i=(i<=l.to?l:t.doc.lineAt(i)).to);let u=new xH(t,{simulateBreak:a,simulateDoubleBreak:!!c}),d=ASe(u,a);for(d==null&&(d=Rg(/^\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=["",X$(t,d)];return c&&f.push(X$(t,u.lineIndent(l.from,-1))),{changes:{from:a,to:i,insert:Oa.of(f)},range:xt.cursor(a+1+f[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function dke(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:xt.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}const IUn=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new xH(e,{overrideIndentation:a=>{let i=n[a];return i??-1}}),s=dke(e,(a,i,l)=>{let c=ASe(r,a.from);if(c==null)return;/\S/.test(a.text)||(c=0);let u=/^\s*/.exec(a.text)[0],d=X$(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},lSt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(dke(e,(n,r)=>{r.push({from:n.from,insert:e.facet(aI)})}),{userEvent:"input.indent"})),!0),cSt=({state:e,dispatch:t})=>e.readOnly?!1:(t(e.update(dke(e,(n,r)=>{let s=/^\s*/.exec(n.text)[0];if(!s)return;let a=Rg(s,e.tabSize),i=0,l=X$(e,Math.max(0,a-DO(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),AUn=e=>(e.setTabFocusMode(),!0),RUn=[{key:"Ctrl-b",run:L1t,shift:Z1t,preventDefault:!0},{key:"Ctrl-f",run:F1t,shift:G1t},{key:"Ctrl-p",run:U1t,shift:K1t},{key:"Ctrl-n",run:q1t,shift:X1t},{key:"Ctrl-a",run:XBn,shift:uUn},{key:"Ctrl-e",run:JBn,shift:dUn},{key:"Ctrl-d",run:nSt},{key:"Ctrl-h",run:yge},{key:"Ctrl-k",run:bUn},{key:"Ctrl-Alt-h",run:sSt},{key:"Ctrl-o",run:SUn},{key:"Ctrl-t",run:kUn},{key:"Ctrl-v",run:vge}],PUn=[{key:"ArrowLeft",run:L1t,shift:Z1t,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:qBn,shift:nUn,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:YBn,shift:lUn,preventDefault:!0},{key:"ArrowRight",run:F1t,shift:G1t,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:VBn,shift:rUn,preventDefault:!0},{mac:"Cmd-ArrowRight",run:KBn,shift:cUn,preventDefault:!0},{key:"ArrowUp",run:U1t,shift:K1t,preventDefault:!0},{mac:"Cmd-ArrowUp",run:c8e,shift:d8e},{mac:"Ctrl-ArrowUp",run:i8e,shift:o8e},{key:"ArrowDown",run:q1t,shift:X1t,preventDefault:!0},{mac:"Cmd-ArrowDown",run:u8e,shift:f8e},{mac:"Ctrl-ArrowDown",run:vge,shift:l8e},{key:"PageUp",run:i8e,shift:o8e},{key:"PageDown",run:vge,shift:l8e},{key:"Home",run:QBn,shift:oUn,preventDefault:!0},{key:"Mod-Home",run:c8e,shift:d8e},{key:"End",run:GBn,shift:iUn,preventDefault:!0},{key:"Mod-End",run:u8e,shift:f8e},{key:"Enter",run:p8e,shift:p8e},{key:"Mod-a",run:fUn},{key:"Backspace",run:yge,shift:yge,preventDefault:!0},{key:"Delete",run:nSt,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:sSt,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:yUn,preventDefault:!0},{mac:"Mod-Backspace",run:xUn,preventDefault:!0},{mac:"Mod-Delete",run:wUn,preventDefault:!0}].concat(RUn.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),$Un=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:WBn,shift:sUn},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:ZBn,shift:aUn},{key:"Alt-ArrowUp",run:OUn},{key:"Shift-Alt-ArrowUp",run:CUn},{key:"Alt-ArrowDown",run:_Un},{key:"Shift-Alt-ArrowDown",run:EUn},{key:"Mod-Alt-ArrowUp",run:mUn},{key:"Mod-Alt-ArrowDown",run:gUn},{key:"Escape",run:vUn},{key:"Mod-Enter",run:NUn},{key:"Alt-l",mac:"Ctrl-l",run:pUn},{key:"Mod-i",run:hUn,preventDefault:!0},{key:"Mod-[",run:cSt},{key:"Mod-]",run:lSt},{key:"Mod-Alt-\\",run:IUn},{key:"Shift-Mod-k",run:TUn},{key:"Shift-Mod-\\",run:tUn},{key:"Mod-/",run:OBn},{key:"Alt-A",run:CBn},{key:"Ctrl-m",mac:"Shift-Alt-m",run:AUn}].concat(PUn),MUn={key:"Tab",run:lSt,shift:cSt},h8e=typeof String.prototype.normalize=="function"?e=>e.normalize("NFKD"):e=>e;class Ix{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(h8e(l)):h8e,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 of(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=pSe(t),r=this.bufferStart+this.bufferPos;this.bufferPos+=Nv(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"&&(Ix.prototype[Symbol.iterator]=function(){return this});const uSt={from:-1,to:-1,match:/.*/.exec(""),precise:!0},fke="gm"+(/x/.unicode==null?"":"u");class dSt{constructor(t,n,r,s=0,a=t.length){if(this.text=t,this.to=a,this.curLine="",this.done=!1,this.value=uSt,/\\[sWDnr]|\n|\r|\[\^/.test(n))return new fSt(t,n,r,s,a);this.re=new RegExp(n,fke+(r?.ignoreCase?"i":"")),this.test=r?.test,this.iter=t.iter();let i=t.lineAt(s);this.curLineStart=i.from,this.matchPos=hB(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=hB(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 hee=new WeakMap;class BT{constructor(t,n){this.from=t,this.text=n}get to(){return this.from+this.text.length}static get(t,n,r){let s=hee.get(t);if(!s||s.from>=r||s.to<=n){let l=new BT(n,t.sliceString(n,r));return hee.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)),hee.set(t,new BT(i,a)),new BT(n,a.slice(n-i,r-i))}}class fSt{constructor(t,n,r,s,a){this.text=t,this.to=a,this.done=!1,this.value=uSt,this.matchPos=hB(t,s),this.re=new RegExp(n,fke+(r?.ignoreCase?"i":"")),this.test=r?.test,this.flat=BT.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=hB(this.text,s+(r==s?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=BT.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}}typeof Symbol<"u"&&(dSt.prototype[Symbol.iterator]=fSt.prototype[Symbol.iterator]=function(){return this});function DUn(e){try{return new RegExp(e,fke),!0}catch{return!1}}function hB(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 LUn=e=>{let{state:t}=e,n=String(t.doc.lineAt(e.state.selection.main.head).number),{close:r,result:s}=bFn(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))),g=xt.cursor(m.from+Math.max(0,Math.min(p,m.length)));e.dispatch({effects:[r,It.scrollIntoView(g.from,{y:"center"})],selection:g})}),!0},FUn={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},zUn=Cn.define({combine(e){return Dy(e,FUn,{highlightWordAroundCursor:(t,n)=>t||n,minSelectionLength:Math.min,maxMatches:Math.min})}});function BUn(e){return[WUn,HUn]}const UUn=jn.mark({class:"cm-selectionMatch"}),qUn=jn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function m8e(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=So.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=So.Word)}function VUn(e,t,n,r){return e(t.sliceDoc(n,n+1))==So.Word&&e(t.sliceDoc(r-1,r))==So.Word}const HUn=Co.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(zUn),{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),!(m8e(i,n,s.from,s.to)&&VUn(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 Ix(n.doc,a,c.from,c.to);for(;!u.next().done;){let{from:d,to:f}=u.value;if((!i||m8e(i,n,d,f))&&(s.empty&&d<=s.from&&f>=s.to?l.push(qUn.range(d,f)):(d>=s.to||f<=s.from)&&l.push(UUn.range(d,f)),l.length>t.maxMatches))return jn.none}}return jn.set(l)}},{decorations:e=>e.decorations}),WUn=It.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),ZUn=({state:e,dispatch:t})=>{let{selection:n}=e,r=xt.create(n.ranges.map(s=>e.wordAt(s.head)||xt.cursor(s.head)),n.mainIndex);return r.eq(n)?!1:(t(e.update({selection:r})),!0)};function GUn(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 Ix(e.doc,t,r[r.length-1].to);;)if(l.next(),l.done){if(i)return null;l=new Ix(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 QUn=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(a=>a.from===a.to))return ZUn({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=GUn(e,r);return s?(t(e.update({selection:e.selection.addRange(xt.range(s.from,s.to),!1),effects:It.scrollIntoView(s.to)})),!0):!1},cI=Cn.define({combine(e){return Dy(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:t=>new cqn(t),scrollToMatch:t=>It.scrollIntoView(t)})}});class pSt{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||DUn(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 tqn(this):new XUn(this)}getCursor(t,n=0,r){let s=t.doc?t:cs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?zE(this,s,n,r):FE(this,s,n,r)}}class hSt{constructor(t){this.spec=t}}function YUn(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 FE(e,t,n,r){let s;return e.wholeWord&&(s=KUn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=YUn(e.test,t,s)),new Ix(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function KUn(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(mB(s,n-a))!=So.Word||t(gB(s,n-a))!=So.Word)&&(t(gB(s,r-a))!=So.Word||t(mB(s,r-a))!=So.Word))}class XUn extends hSt{constructor(t){super(t)}nextMatch(t,n,r){let s=FE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=FE(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=FE(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=FE(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=FE(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 JUn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function zE(e,t,n,r){let s;return e.wholeWord&&(s=eqn(t.charCategorizer(t.selection.main.head))),e.test&&(s=JUn(e.test,t,s)),new dSt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function mB(e,t){return e.slice(Oc(e,t,!1),t)}function gB(e,t){return e.slice(t,Oc(e,t))}function eqn(e){return(t,n,r)=>!r[0].length||(e(mB(r.input,r.index))!=So.Word||e(gB(r.input,r.index))!=So.Word)&&(e(gB(r.input,r.index+r[0].length))!=So.Word||e(mB(r.input,r.index+r[0].length))!=So.Word)}class tqn extends hSt{nextMatch(t,n,r){let s=zE(this.spec,t,r,t.doc.length).next();return s.done&&(s=zE(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=zE(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=zE(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=zE(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 oM=xr.define(),pke=xr.define(),Hw=yl.define({create(e){return new mee(bge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(oM)?e=new mee(n.value.create(),e.panel):n.is(pke)&&(e=new mee(e.query,n.value?hke:null));return e},provide:e=>K$.from(e,t=>t.panel)});class mee{constructor(t,n){this.query=t,this.panel=n}}const nqn=jn.mark({class:"cm-searchMatch"}),rqn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),sqn=Co.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Hw))}update(e){let t=e.state.field(Hw);(t!=e.startState.field(Hw)||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 Rd;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?rqn:nqn)})}return r.finish()}},{decorations:e=>e.decorations});function b3(e){return t=>{let n=t.state.field(Hw,!1);return n&&n.query.spec.valid?e(t,n):vSt(t)}}const vB=b3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=xt.single(r.from,r.to),a=e.state.facet(cI);return e.dispatch({selection:s,effects:[mke(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),gSt(e),!0}),yB=b3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=xt.single(s.from,s.to),i=e.state.facet(cI);return e.dispatch({selection:a,effects:[mke(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),gSt(e),!0}),aqn=b3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:xt.create(n.map(r=>xt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),iqn=({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 Ix(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(xt.range(l.value.from,l.value.to))}return t(e.update({selection:xt.create(a,i),userEvent:"select.search.matches"})),!0},g8e=b3((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(It.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=xt.single(i.from,i.to).map(f),d.push(mke(e,i)),d.push(n.facet(cI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),oqn=b3((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:It.announce.of(r),userEvent:"input.replace.all"}),!0});function hke(e){return e.state.facet(cI).createPanel(e)}function bge(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(cI);return new pSt({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 mSt(e){let t=NSe(e,hke);return t&&t.dom.querySelector("[main-field]")}function gSt(e){let t=mSt(e);t&&t==e.root.activeElement&&t.select()}const vSt=e=>{let t=e.state.field(Hw,!1);if(t&&t.panel){let n=mSt(e);if(n&&n!=e.root.activeElement){let r=bge(e.state,t.query.spec);r.valid&&e.dispatch({effects:oM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[pke.of(!0),t?oM.of(bge(e.state,t.query.spec)):xr.appendConfig.of(dqn)]});return!0},ySt=e=>{let t=e.state.field(Hw,!1);if(!t||!t.panel)return!1;let n=NSe(e,hke);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:pke.of(!1)}),!0},lqn=[{key:"Mod-f",run:vSt,scope:"editor search-panel"},{key:"F3",run:vB,shift:yB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:vB,shift:yB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ySt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:iqn},{key:"Mod-Alt-g",run:LUn},{key:"Mod-d",run:QUn,preventDefault:!0}];class cqn{constructor(t){this.view=t;let n=this.query=t.state.field(Hw).query.spec;this.commit=this.commit.bind(this),this.searchField=pi("input",{value:n.search,placeholder:ip(t,"Find"),"aria-label":ip(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=pi("input",{value:n.replace,placeholder:ip(t,"Replace"),"aria-label":ip(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=pi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=pi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=pi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return pi("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=pi("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>vB(t),[ip(t,"next")]),r("prev",()=>yB(t),[ip(t,"previous")]),r("select",()=>aqn(t),[ip(t,"all")]),pi("label",null,[this.caseField,ip(t,"match case")]),pi("label",null,[this.reField,ip(t,"regexp")]),pi("label",null,[this.wordField,ip(t,"by word")]),...t.state.readOnly?[]:[pi("br"),this.replaceField,r("replace",()=>g8e(t),[ip(t,"replace")]),r("replaceAll",()=>oqn(t),[ip(t,"replace all")])],pi("button",{name:"close",onclick:()=>ySt(t),"aria-label":ip(t,"close"),type:"button"},["×"])])}commit(){let t=new pSt({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:oM.of(t)}))}keydown(t){j6n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?yB:vB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),g8e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(oM)&&!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(cI).top}}function ip(e,t){return e.state.phrase(t)}const $6=30,M6=/[\s\.,:;?!]/;function mke(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-$6),i=Math.min(s,n+$6),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<$6;c++)if(!M6.test(l[c+1])&&M6.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-$6;c--)if(!M6.test(l[c-1])&&M6.test(l[c])){l=l.slice(0,c);break}}return It.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const uqn=It.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"}}),dqn=[Hw,Kp.low(sqn),uqn];class v8e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class wk{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(lM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Rd,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((g,y)=>Math.min(g,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let g=a[d];if(g.from==p&&(g.to>g.from||g.to==p))l.push(g),d++,h=Math.min(g.to,h);else{h=Math.min(g.from,h);break}}let m=Oqn(l);if(l.some(g=>g.from==g.to||g.from==g.to-1&&r.doc.lineAt(g.from).to==g.from))i.add(p,p,jn.widget({widget:new xqn(m),diagnostics:l.slice()}));else{let g=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+g,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let g=0;g<l.length;g++)l[g].to<=c&&l.splice(g--,1)}let u=i.finish();return new wk(u,n,Mj(u))}}function Mj(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 v8e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new v8e(r.from,a,r.diagnostic)}}),r}function fqn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(lM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(bSt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function pqn(e,t){return e.field(Ep,!1)?t:t.concat(xr.appendConfig.of(_qn))}const bSt=xr.define(),gke=xr.define(),xSt=xr.define(),Ep=yl.define({create(){return new wk(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=Mj(n,e.selected.diagnostic,a)||Mj(n,null,a)}!n.size&&s&&t.state.facet(lM).autoPanel&&(s=null),e=new wk(n,s,r)}for(let n of t.effects)if(n.is(bSt)){let r=t.state.facet(lM).autoPanel?n.value.length?cM.open:null:e.panel;e=wk.init(n.value,r,t.state)}else n.is(gke)?e=new wk(e.diagnostics,n.value?cM.open:null,e.selected):n.is(xSt)&&(e=new wk(e.diagnostics,e.panel,n.value));return e},provide:e=>[K$.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),hqn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function mqn(e,t,n){let{diagnostics:r}=e.state.field(Ep),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(lM).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:gqn(e,s)}}}:null}function gqn(e,t){return pi("ul",{class:"cm-tooltip-lint"},t.map(n=>SSt(e,n,!1)))}const vqn=e=>{let t=e.state.field(Ep,!1);(!t||!t.panel)&&e.dispatch({effects:pqn(e.state,[gke.of(!0)])});let n=NSe(e,cM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},y8e=e=>{let t=e.state.field(Ep,!1);return!t||!t.panel?!1:(e.dispatch({effects:gke.of(!1)}),!0)},yqn=e=>{let t=e.state.field(Ep,!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)},bqn=[{key:"Mod-Shift-m",run:vqn,preventDefault:!0},{key:"F8",run:yqn}],lM=Cn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Dy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:b8e,tooltipFilter:b8e,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 b8e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function wSt(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 SSt(e,t,n){var r;let s=n?wSt(t.actions):[];return pi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},pi("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=Mj(e.state.field(Ep).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),pi("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return pi("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&pi("div",{class:"cm-diagnosticSource"},t.source))}class xqn extends Xp{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return pi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class x8e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=SSt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class cM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)y8e(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=wSt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=Mj(this.view.state.field(Ep).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=pi("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=pi("div",{class:"cm-panel-lint"},this.list,pi("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>y8e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Ep).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(Ep),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 x8e(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 x8e(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(Ep),r=Mj(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:xSt.of(r)})}static open(t){return new cM(t)}}function wqn(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 D6(e){return wqn(`<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 Sqn=It.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:D6("#d11")},".cm-lintRange-warning":{backgroundImage:D6("orange")},".cm-lintRange-info":{backgroundImage:D6("#999")},".cm-lintRange-hint":{backgroundImage:D6("#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 kqn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function Oqn(e){let t="hint",n=1;for(let r of e){let s=kqn(r.severity);s>n&&(n=s,t=r.severity)}return t}const _qn=[Ep,It.decorations.compute([Ep],e=>{let{selected:t,panel:n}=e.field(Ep);return!t||!n||t.from==t.to?jn.none:jn.set([hqn.range(t.from,t.to)])}),vFn(mqn,{hideOn:fqn}),Sqn];var w8e=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(h8n)),t.defaultKeymap!==!1&&(a=a.concat($Un)),t.searchKeymap!==!1&&(a=a.concat(lqn)),t.historyKeymap!==!1&&(a=a.concat(UBn)),t.foldKeymap!==!1&&(a=a.concat(JFn)),t.completionKeymap!==!1&&(a=a.concat(gwt)),t.lintKeymap!==!1&&(a=a.concat(bqn));var i=[];return t.lineNumbers!==!1&&i.push(jFn()),t.highlightActiveLineGutter!==!1&&i.push(AFn()),t.highlightSpecialChars!==!1&&i.push(H6n()),t.history!==!1&&i.push(RBn()),t.foldGutter!==!1&&i.push(rzn()),t.drawSelection!==!1&&i.push($6n()),t.dropCursor!==!1&&i.push(z6n()),t.allowMultipleSelections!==!1&&i.push(cs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(HFn()),t.syntaxHighlighting!==!1&&i.push(G1(ozn,{fallback:!0})),t.bracketMatching!==!1&&i.push(hzn()),t.closeBrackets!==!1&&i.push(u8n()),t.autocompletion!==!1&&i.push(mwt()),t.rectangularSelection!==!1&&i.push(aFn()),s!==!1&&i.push(lFn()),t.highlightActiveLine!==!1&&i.push(K6n()),t.highlightSelectionMatches!==!1&&i.push(BUn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(aI.of(" ".repeat(t.tabSize))),i.concat([sI.of(a.flat())]).filter(Boolean)};const Cqn="#e5c07b",S8e="#e06c75",Eqn="#56b6c2",Tqn="#ffffff",v8="#abb2bf",xge="#7d8799",jqn="#61afef",Nqn="#98c379",k8e="#d19a66",Iqn="#c678dd",Aqn="#21252b",O8e="#2c313a",_8e="#282c34",gee="#353a42",Rqn="#3E4451",C8e="#528bff",Pqn=It.theme({"&":{color:v8,backgroundColor:_8e},".cm-content":{caretColor:C8e},".cm-cursor, .cm-dropCursor":{borderLeftColor:C8e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Rqn},".cm-panels":{backgroundColor:Aqn,color:v8},".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:_8e,color:xge,border:"none"},".cm-activeLineGutter":{backgroundColor:O8e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:gee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:gee,borderBottomColor:gee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:O8e,color:v8}}},{dark:!0}),$qn=Bg.define([{tag:pe.keyword,color:Iqn},{tag:[pe.name,pe.deleted,pe.character,pe.propertyName,pe.macroName],color:S8e},{tag:[pe.function(pe.variableName),pe.labelName],color:jqn},{tag:[pe.color,pe.constant(pe.name),pe.standard(pe.name)],color:k8e},{tag:[pe.definition(pe.name),pe.separator],color:v8},{tag:[pe.typeName,pe.className,pe.number,pe.changed,pe.annotation,pe.modifier,pe.self,pe.namespace],color:Cqn},{tag:[pe.operator,pe.operatorKeyword,pe.url,pe.escape,pe.regexp,pe.link,pe.special(pe.string)],color:Eqn},{tag:[pe.meta,pe.comment],color:xge},{tag:pe.strong,fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.link,color:xge,textDecoration:"underline"},{tag:pe.heading,fontWeight:"bold",color:S8e},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:k8e},{tag:[pe.processingInstruction,pe.string,pe.inserted],color:Nqn},{tag:pe.invalid,color:Tqn}]),Mqn=[Pqn,G1($qn)];var Dqn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Lqn=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,g=[];switch(s&&g.unshift(sI.of([MUn])),m&&(typeof m=="boolean"?g.unshift(w8e()):g.unshift(w8e(m))),p&&g.unshift(tFn(p)),d){case"light":g.push(Dqn);break;case"dark":g.push(Mqn);break;case"none":break;default:g.push(d);break}return i===!1&&g.push(It.editable.of(!1)),c&&g.push(cs.readOnly.of(!0)),[...g]},Fqn=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 zqn{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 E8e{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 vee=null,Bqn=()=>typeof window>"u"?new E8e:(vee||(vee=new E8e),vee),Uqn=It.theme({"& .cm-scroller":{height:"100% !important"}}),T8e=null,yee=null;function qqn(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===T8e||(T8e=i,yee=It.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),yee}var j8e=My.define(),Vqn=200,Hqn=[];function Wqn(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?Hqn: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,g=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,C=k===void 0?null:k,_=e.maxWidth,E=_===void 0?null:_,T=e.placeholder,N=T===void 0?"":T,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,z=H===void 0?!0:H,U=e.root,q=e.initialState,M=v.useState(),G=M[0],V=M[1],$=v.useState(),B=$[0],Z=$[1],K=v.useState(),ne=K[0],ee=K[1],J=v.useState(()=>({current:null}))[0],ae=v.useState(()=>({current:null}))[0],fe=qqn(h,g,b,S,C,E),Y=It.updateListener.of(ue=>{if(ue.docChanged&&typeof r=="function"&&!ue.transactions.some(be=>be.annotation(j8e))){J.current?J.current.reset():(J.current=new zqn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},Vqn),Bqn().add(J.current));var oe=ue.state.doc,me=oe.toString();r(me,ue)}s&&s(Fqn(ue))}),re=Lqn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:z}),le=[Y,...fe?[fe]:[],Uqn,...re];return i&&typeof i=="function"&&le.push(It.updateListener.of(i)),le=le.concat(c),v.useLayoutEffect(()=>{if(G&&!ne){var ue={doc:t,selection:n,extensions:le},oe=q?cs.fromJSON(q.json,ue,q.fields):cs.create(ue);if(ee(oe),!B){var me=new It({state:oe,parent:G,root:U});Z(me),a&&a(me,oe)}}return()=>{B&&(ee(void 0),Z(void 0))}},[G,ne]),v.useEffect(()=>{e.container&&V(e.container)},[e.container]),v.useEffect(()=>()=>{B&&(B.destroy(),Z(void 0)),J.current&&(J.current.cancel(),J.current=null)},[B]),v.useEffect(()=>{u&&B&&B.focus()},[u,B]),v.useEffect(()=>{B&&B.dispatch({effects:xr.reconfigure.of(le)})},[f,c,h,g,b,S,C,E,N,A,L,F,z,r,i]),v.useEffect(()=>{if(t!==void 0){var ue=B?B.state.doc.toString():"";if(B&&t!==ue){var oe=J.current&&!J.current.isDone,me=()=>{B&&t!==B.state.doc.toString()&&B.dispatch({changes:{from:0,to:B.state.doc.toString().length,insert:t||""},annotations:[j8e.of(!0)]})};oe?ae.current=me:me()}}},[t,B]),{state:ne,setState:ee,view:B,setView:Z,container:G,setContainer:V}}var Zqn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Yu=v.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,g=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,C=e.basicSetup,_=e.placeholder,E=e.indentWithTab,T=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=N1t(e,Zqn),L=v.useRef(null),D=Wqn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:C,placeholder:_,indentWithTab:E,editable:T,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,z=D.container,U=D.setContainer;v.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,z,F,H]);var q=v.useCallback(G=>{L.current=G,U(G)},[U]);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",zO({ref:q,className:""+M+(n?" "+n:"")},R))});Yu.displayName="CodeMirror";const Gqn={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"};let bee=null;function Qqn(){return bee||(bee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([go(()=>import("./core-CE8BonHi.js"),__vite__mapDeps([0,1,2]),import.meta.url),go(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[go(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),go(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[go(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),go(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),go(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),go(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),go(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),go(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),go(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),go(()=>import("./python-DhUJRlN_.js"),[],import.meta.url)],engine:t()})})()),bee}async function Yqn(e,t){const n=Gqn[t?.toLowerCase()];if(!n)return null;const r=await Qqn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function Kqn(e){return new MO($Se.define(e))}const kSt=[ng.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript())}}),ng.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return go(()=>Promise.resolve().then(()=>Czn),void 0,import.meta.url).then(e=>e.json())}}),ng.of({name:"JSX",extensions:["jsx"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ng.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return go(()=>Promise.resolve().then(()=>xBn),void 0,import.meta.url).then(e=>e.markdown())}}),ng.of({name:"TSX",extensions:["tsx"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ng.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ng.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return go(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>Kqn(e.shell))}})];function Xqn(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 Jqn(e){const t=Xqn(e);return mwt({override:[eVn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function eVn(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 g=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:g},selection:{anchor:f+g.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const tVn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,nVn=jn.mark({class:"cm-variable-highlight"}),N8e=new j0t({regexp:tVn,decoration:()=>nVn}),rVn=Co.fromClass(class{decorations;constructor(e){this.decorations=N8e.createDeco(e)}update(e){this.decorations=N8e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),sVn=rVn;function aVn(){const e=oI({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:[pe.className,pe.propertyName],color:"var(--neutral6)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:pe.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=It.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 iVn(){const e=It.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=Bg.define([{tag:[pe.comment,pe.bracket],color:"var(--neutral2)"},{tag:[pe.string,pe.meta,pe.regexp],color:"var(--accent1)"},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:"var(--accent6)"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"var(--accent2)"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"var(--accent5)"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"var(--accent3)"},{tag:[pe.variableName,pe.number],color:"var(--accent5)"},{tag:[pe.name,pe.quote],color:"var(--accent1)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[pe.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:[pe.deleted],color:"var(--accent2)"},{tag:pe.invalid,color:"var(--error)"},{tag:[pe.standard(pe.tagName)],color:"var(--accent1)"}]);return[e,G1(t)]}const e0=()=>{const e=L_().resolvedTheme==="dark";return v.useMemo(()=>e?aVn():iVn(),[e])},oVn=lo(X("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"}}),lVn=Kp.highest(It.editorAttributes.of({style:"outline: none"})),cVn=Kp.highest(It.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),uVn=[lVn,cVn],Hr=v.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},g)=>{const y=e0(),b=e?JSON.stringify(e,null,2):t??"",x=v.useMemo(()=>{const S=[...uVn];return f&&S.push(It.lineWrapping),a==="json"?S.push(Rp):a==="markdown"&&S.push(lke({base:FO,codeLanguages:kSt})),i&&a==="markdown"&&S.push(sVn),c&&a==="markdown"&&S.push(Jqn(c)),p===!1&&S.push(cs.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:X(oVn({variant:h}),s),...m,children:[r&&o.jsx(Pa,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Yu,{ref:g,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}})]})}),dVn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},fVn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=e0(),{settings:r,setSettings:s}=tH(),a=r?.tracingOptions,i=v.useMemo(()=>dVn(a),[a]),[l,c]=v.useState(()=>i),u=v.useRef(!1);v.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(ye,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Yu,{value:l,onChange:d,theme:n,extensions:[Rp],className:X("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(ce,{type:"button",onClick:f,children:"Save"})})]})},pVn=()=>{const[e,t]=v.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(ce,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(qe,{children:o.jsx(Wq,{})})})}),o.jsx(Rn,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Options"}),o.jsx(zs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Ir,{children:o.jsx(fVn,{onSaved:()=>t(!1)})})]})})]})};function hVn({status:e}){switch(e){case"running":return o.jsx(Jt,{});case"failed":return o.jsx(fs,{className:"text-accent2"});case"canceled":return o.jsx(Rf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(lj,{className:"text-neutral3"});case"suspended":return o.jsx(zq,{className:"text-accent3"});case"success":return o.jsx(da,{className:"text-accent1"});default:return o.jsx(lj,{className:"text-neutral3"})}}function OSt({status:e}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(qe,{"aria-label":e,className:"shrink-0",children:o.jsx(hVn,{status:e})})}),o.jsx(Rn,{children:e})]})}var xee,I8e;function vke(){if(I8e)return xee;I8e=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([g,y]){d(g)&&f.setNode(g,y)}),Object.values(this._edgeObjs).forEach(function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,p.edge(g))});var h={};function m(g){var y=p.parent(g);return y===void 0||f.hasNode(y)?(h[g]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(g=>f.setParent(g,m(g))),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,g){return h.length>1?p.setEdge(m,g,f):p.setEdge(m,g),g}),this}setEdge(){var d,f,p,h,m=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,p=g.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=g,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 g=h;h=m,m=g}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 g=h;h=m,m=g}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 xee=r,xee}var wee,A8e;function mVn(){return A8e||(A8e=1,wee="2.2.4"),wee}var See,R8e;function gVn(){return R8e||(R8e=1,See={Graph:vke(),version:mVn()}),See}var kee,P8e;function vVn(){if(P8e)return kee;P8e=1;var e=vke();kee={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 kee}var Oee,$8e;function yVn(){if($8e)return Oee;$8e=1,Oee=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 Oee}var _ee,M8e;function _St(){if(M8e)return _ee;M8e=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 _ee=e,_ee}var Cee,D8e;function CSt(){if(D8e)return Cee;D8e=1;var e=_St();Cee=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,g=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<g.distance&&(g.distance=b,g.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 Cee}var Eee,L8e;function bVn(){if(L8e)return Eee;L8e=1;var e=CSt();Eee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return Eee}var Tee,F8e;function ESt(){if(F8e)return Tee;F8e=1,Tee=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 Tee}var jee,z8e;function xVn(){if(z8e)return jee;z8e=1;var e=ESt();jee=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return jee}var Nee,B8e;function wVn(){if(B8e)return Nee;B8e=1,Nee=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],g=f[p],y=h.distance+m.distance;y<g.distance&&(g.distance=y,g.predecessor=m.predecessor)})})}),i}return Nee}var Iee,U8e;function TSt(){if(U8e)return Iee;U8e=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 Iee=e,e.CycleException=t,Iee}var Aee,q8e;function SVn(){if(q8e)return Aee;q8e=1;var e=TSt();Aee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Aee}var Ree,V8e;function jSt(){if(V8e)return Ree;V8e=1,Ree=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 Ree}var Pee,H8e;function kVn(){if(H8e)return Pee;H8e=1;var e=jSt();Pee=t;function t(n,r){return e(n,r,"post")}return Pee}var $ee,W8e;function OVn(){if(W8e)return $ee;W8e=1;var e=jSt();$ee=t;function t(n,r){return e(n,r,"pre")}return $ee}var Mee,Z8e;function _Vn(){if(Z8e)return Mee;Z8e=1;var e=vke(),t=_St();Mee=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 Mee}var Dee,G8e;function CVn(){return G8e||(G8e=1,Dee={components:yVn(),dijkstra:CSt(),dijkstraAll:bVn(),findCycles:xVn(),floydWarshall:wVn(),isAcyclic:SVn(),postorder:kVn(),preorder:OVn(),prim:_Vn(),tarjan:ESt(),topsort:TSt()}),Dee}var Lee,Q8e;function $g(){if(Q8e)return Lee;Q8e=1;var e=gVn();return Lee={Graph:e.Graph,json:vVn(),alg:CVn(),version:e.version},Lee}var Fee,Y8e;function EVn(){if(Y8e)return Fee;Y8e=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 Fee=e,Fee}var zee,K8e;function TVn(){if(K8e)return zee;K8e=1;let e=$g().Graph,t=EVn();zee=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],g;for(;u.nodeCount();){for(;g=m.dequeue();)a(u,d,f,g);for(;g=h.dequeue();)a(u,d,f,g);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(g=d[y].dequeue(),g){p=p.concat(a(u,d,f,g,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(g=>{let y=u.edge(g),b=u.node(g.v);h&&m.push({v:g.v,w:g.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(g=>{let y=u.edge(g),b=g.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),g=p+1;return f.nodes().forEach(y=>{l(m,g,f.node(y))}),{graph:f,buckets:m,zeroIdx:g}}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 zee}var Bee,X8e;function Ml(){if(X8e)return Bee;X8e=1;let e=$g().Graph;Bee={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:_,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:C,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(T,N,I,A){for(var R=A;T.hasNode(R);)R=S(A);return I.dummy=N,T.setNode(R,I),R}function n(T){let N=new e().setGraph(T.graph());return T.nodes().forEach(I=>N.setNode(I,T.node(I))),T.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=T.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(T){let N=new e({multigraph:T.isMultigraph()}).setGraph(T.graph());return T.nodes().forEach(I=>{T.children(I).length||N.setNode(I,T.node(I))}),T.edges().forEach(I=>{N.setEdge(I,T.edge(I))}),N}function s(T){let N=T.nodes().map(I=>{let A={};return T.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function a(T){let N=T.nodes().map(I=>{let A={};return T.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function i(T,N){let I=T.x,A=T.y,R=N.x-I,L=N.y-A,D=T.width/2,F=T.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,z;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,z=F):(R<0&&(D=-D),H=D,z=D*L/R),{x:I+H,y:A+z}}function l(T){let N=k(m(T)+1).map(()=>[]);return T.nodes().forEach(I=>{let A=T.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(T){let N=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);T.nodes().forEach(A=>{let R=T.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(T){let N=T.nodes().map(D=>T.node(D).rank),I=h(Math.min,N),A=[];T.nodes().forEach(D=>{let F=T.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=T.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>T.node(H).rank+=R)})}function d(T,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(T,"border",R,N)}function f(T,N=p){const I=[];for(let A=0;A<T.length;A+=N){const R=T.slice(A,A+N);I.push(R)}return I}const p=65535;function h(T,N){if(N.length>p){const I=f(N);return T.apply(null,I.map(A=>T.apply(null,A)))}else return T.apply(null,N)}function m(T){const I=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function g(T,N){let I={lhs:[],rhs:[]};return T.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(T,N){let I=Date.now();try{return N()}finally{console.log(T+" time: "+(Date.now()-I)+"ms")}}function b(T,N){return N()}let x=0;function S(T){var N=++x;return T+(""+N)}function k(T,N,I=1){N==null&&(N=T,T=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=T;A(L);L+=I)R.push(L);return R}function C(T,N){const I={};for(const A of N)T[A]!==void 0&&(I[A]=T[A]);return I}function _(T,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(T).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function E(T,N){return T.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Bee}var Uee,J8e;function jVn(){if(J8e)return Uee;J8e=1;let e=TVn(),t=Ml().uniqueId;Uee={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 Uee}var qee,e9e;function NVn(){if(e9e)return qee;e9e=1;let e=Ml();qee={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,g;for(g=0,++l;l<u;++g,++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),g===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 qee}var Vee,t9e;function bB(){if(t9e)return Vee;t9e=1;const{applyWithChunking:e}=Ml();Vee={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 Vee}var Hee,n9e;function NSt(){if(n9e)return Hee;n9e=1;var e=$g().Graph,t=bB().slack;Hee=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 Hee}var Wee,r9e;function IVn(){if(r9e)return Wee;r9e=1;var e=NSt(),t=bB().slack,n=bB().longestPath,r=$g().alg.preorder,s=$g().alg.postorder,a=Ml().simplify;Wee=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,C;k=p(S);)C=h(S,x,k),m(S,x,k,C)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(C=>c(x,S,C))}function c(x,S,k){var C=x.node(k),_=C.parent;x.edge(k,_).cutvalue=u(x,S,k)}function u(x,S,k){var C=x.node(k),_=C.parent,E=!0,T=S.edge(k,_),N=0;return T||(E=!1,T=S.edge(_,k)),N=T.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==_){var L=A===E,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 E=k,T=x.node(C);return S[C]=!0,x.neighbors(C).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,C))}),T.low=E,T.lim=k++,_?T.parent=_:delete T.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var C=k.v,_=k.w;S.hasEdge(C,_)||(C=k.w,_=k.v);var E=x.node(C),T=x.node(_),N=E,I=!1;E.lim>T.lim&&(N=T,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,C){var _=k.v,E=k.w;x.removeEdge(_,E),x.setEdge(C.v,C.w,{}),d(x),l(x,S),g(x,S)}function g(x,S){var k=x.nodes().find(_=>!S.node(_).parent),C=r(x,k);C=C.slice(1),C.forEach(_=>{var E=x.node(_).parent,T=S.edge(_,E),N=!1;T||(T=S.edge(E,_),N=!0),S.node(_).rank=S.node(E).rank+(N?T.minlen:-T.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 Wee}var Zee,s9e;function AVn(){if(s9e)return Zee;s9e=1;var e=bB(),t=e.longestPath,n=NSt(),r=IVn();Zee=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 Zee}var Gee,a9e;function RVn(){if(a9e)return Gee;a9e=1,Gee=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 Gee}var Qee,i9e;function PVn(){if(i9e)return Qee;i9e=1;let e=Ml();Qee={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"),g=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(g,p),y.borderBottom=g,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,C=x.borderTop?u:2*u,_=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:C,minlen:_,nestingEdge:!0}),i.setEdge(k,g,{weight:C,minlen:_,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 Qee}var Yee,o9e;function $Vn(){if(o9e)return Yee;o9e=1;let e=Ml();Yee=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 Yee}var Kee,l9e;function MVn(){if(l9e)return Kee;l9e=1,Kee={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 Kee}var Xee,c9e;function DVn(){if(c9e)return Xee;c9e=1;let e=Ml();Xee=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 Xee}var Jee,u9e;function LVn(){if(u9e)return Jee;u9e=1;let e=Ml().zipObject;Jee=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 Jee}var ete,d9e;function FVn(){if(d9e)return ete;d9e=1,ete=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 ete}var tte,f9e;function zVn(){if(f9e)return tte;f9e=1;let e=Ml();tte=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 tte}var nte,p9e;function BVn(){if(p9e)return nte;p9e=1;let e=Ml();nte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,g)=>g.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 nte}var rte,h9e;function UVn(){if(h9e)return rte;h9e=1;let e=FVn(),t=zVn(),n=BVn();rte=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 g=e(i,d);g.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(g,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 rte}var ste,m9e;function qVn(){if(m9e)return ste;m9e=1;let e=$g().Graph,t=Ml();ste=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,g=u.edge(m,d),y=g!==void 0?g.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 ste}var ate,g9e;function VVn(){if(g9e)return ate;g9e=1,ate=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 ate}var ite,v9e;function HVn(){if(v9e)return ite;v9e=1;let e=DVn(),t=LVn(),n=UVn(),r=qVn(),s=VVn(),a=$g().Graph,i=Ml();ite=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"),g=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:g,S%4>=2),y=i.buildLayerMatrix(f);let C=t(f,y);C<b&&(k=0,x=Object.assign({},y),b=C)}d(f,x)}function c(f,p,h){const m=new Map,g=(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"&&g(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&g(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 g=m.graph().root,y=n(m,g,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,g)=>f.node(m).order=g))}return ite}var ote,y9e;function WVn(){if(y9e)return ote;y9e=1;let e=$g().Graph,t=Ml();ote={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,C){let _=0,E=0,T=k.length,N=C[C.length-1];return C.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:T;(R||I===N)&&(C.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),z=H.order;(z<_||L<z)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),E=A+1,_=L)}),C}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(C,_,E,T,N){let I;t.range(_,E).forEach(A=>{I=C[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<T||L.order>N)&&a(x,R,I)})})}function k(C,_){let E=-1,T,N=0;return _.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(T=y.node(R[0]).order,S(_,N,A,E,T),N=A,E=T)}S(_,N,_.length,T,C.length)}),_}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(E=>{E.forEach((T,N)=>{k[T]=T,C[T]=T,_[T]=N})}),b.forEach(E=>{let T=-1;E.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>_[R]-_[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];C[N]===N&&T<_[D]&&!i(x,N,D)&&(C[D]=N,C[N]=k[N]=k[D],T=_[D])}}})}),{root:k,align:C}}function c(y,b,x,S,k){let C={},_=u(y,b,x,k),E=k?"borderLeft":"borderRight";function T(A,R){let L=_.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){C[A]=_.inEdges(A).reduce((R,L)=>Math.max(R,C[L.v]+_.edge(L)),0)}function I(A){let R=_.outEdges(A).reduce((D,F)=>Math.min(D,C[F.w]-_.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(C[A]=Math.max(C[A],R))}return T(N,_.predecessors.bind(_)),T(I,_.successors.bind(_)),Object.keys(S).forEach(A=>C[A]=C[x[A]]),C}function u(y,b,x,S){let k=new e,C=y.graph(),_=m(C.nodesep,C.edgesep,S);return b.forEach(E=>{let T;E.forEach(N=>{let I=x[N];if(k.setNode(I),T){var A=x[T],R=k.edge(A,I);k.setEdge(A,I,Math.max(_(y,N,T),R||0))}T=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([E,T])=>{let N=g(y,E)/2;k=Math.max(T+N,k),C=Math.min(T-N,C)});const _=k-C;return _<x[0]&&(x=[_,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(C=>{["l","r"].forEach(_=>{let E=C+_,T=y[E];if(T===b)return;let N=Object.values(T),I=S-t.applyWithChunking(Math.min,N);_!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(T,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(C=>C[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(_=>{k=_==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let T=(_==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,T),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,A=>-A)),S[_+E]=I})});let C=d(y,S);return f(S,C),p(S,y.graph().align)}function m(y,b,x){return(S,k,C)=>{let _=S.node(k),E=S.node(C),T=0,N;if(T+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(T+=x?N:-N),N=0,T+=(_.dummy?b:y)/2,T+=(E.dummy?b:y)/2,T+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(T+=x?N:-N),N=0,T}}function g(y,b){return y.node(b).width}return ote}var lte,b9e;function ZVn(){if(b9e)return lte;b9e=1;let e=Ml(),t=WVn().positionX;lte=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 lte}var cte,x9e;function GVn(){if(x9e)return cte;x9e=1;let e=jVn(),t=NVn(),n=AVn(),r=Ml().normalizeRanks,s=RVn(),a=Ml().removeEmptyRanks,i=PVn(),l=$Vn(),c=MVn(),u=HVn(),d=ZVn(),f=Ml(),p=$g().Graph;cte=h;function h($,B){let Z=B&&B.debugTiming?f.time:f.notime;Z("layout",()=>{let K=Z(" buildLayoutGraph",()=>T($));Z(" runLayout",()=>m(K,Z,B)),Z(" updateInputGraph",()=>g($,K))})}function m($,B,Z){B(" makeSpaceForEdgeLabels",()=>N($)),B(" removeSelfEdges",()=>U($)),B(" acyclic",()=>e.run($)),B(" nestingGraph.run",()=>i.run($)),B(" rank",()=>n(f.asNonCompoundGraph($))),B(" injectEdgeLabelProxies",()=>I($)),B(" removeEmptyRanks",()=>a($)),B(" nestingGraph.cleanup",()=>i.cleanup($)),B(" normalizeRanks",()=>r($)),B(" assignRankMinMax",()=>A($)),B(" removeEdgeLabelProxies",()=>R($)),B(" normalize.run",()=>t.run($)),B(" parentDummyChains",()=>s($)),B(" addBorderSegments",()=>l($)),B(" order",()=>u($,Z)),B(" insertSelfEdges",()=>q($)),B(" adjustCoordinateSystem",()=>c.adjust($)),B(" position",()=>d($)),B(" positionSelfEdges",()=>M($)),B(" removeBorderNodes",()=>z($)),B(" normalize.undo",()=>t.undo($)),B(" fixupEdgeLabelCoords",()=>F($)),B(" undoCoordinateSystem",()=>c.undo($)),B(" translateGraph",()=>L($)),B(" assignNodeIntersects",()=>D($)),B(" reversePoints",()=>H($)),B(" acyclic.undo",()=>e.undo($))}function g($,B){$.nodes().forEach(Z=>{let K=$.node(Z),ne=B.node(Z);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,B.children(Z).length&&(K.width=ne.width,K.height=ne.height))}),$.edges().forEach(Z=>{let K=$.edge(Z),ne=B.edge(Z);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),$.graph().width=B.graph().width,$.graph().height=B.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},C=["minlen","weight","width","height","labeloffset"],_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T($){let B=new p({multigraph:!0,compound:!0}),Z=V($.graph());return B.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(K=>{let ne=V($.node(K));const ee=G(ne,S);Object.keys(k).forEach(J=>{ee[J]===void 0&&(ee[J]=k[J])}),B.setNode(K,ee),B.setParent(K,$.parent(K))}),$.edges().forEach(K=>{let ne=V($.edge(K));B.setEdge(K,Object.assign({},_,G(ne,C),f.pick(ne,E)))}),B}function N($){let B=$.graph();B.ranksep/=2,$.edges().forEach(Z=>{let K=$.edge(Z);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(B.rankdir==="TB"||B.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function I($){$.edges().forEach(B=>{let Z=$.edge(B);if(Z.width&&Z.height){let K=$.node(B.v),ee={rank:($.node(B.w).rank-K.rank)/2+K.rank,e:B};f.addDummyNode($,"edge-proxy",ee,"_ep")}})}function A($){let B=0;$.nodes().forEach(Z=>{let K=$.node(Z);K.borderTop&&(K.minRank=$.node(K.borderTop).rank,K.maxRank=$.node(K.borderBottom).rank,B=Math.max(B,K.maxRank))}),$.graph().maxRank=B}function R($){$.nodes().forEach(B=>{let Z=$.node(B);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(B))})}function L($){let B=Number.POSITIVE_INFINITY,Z=0,K=Number.POSITIVE_INFINITY,ne=0,ee=$.graph(),J=ee.marginx||0,ae=ee.marginy||0;function fe(Y){let re=Y.x,le=Y.y,ue=Y.width,oe=Y.height;B=Math.min(B,re-ue/2),Z=Math.max(Z,re+ue/2),K=Math.min(K,le-oe/2),ne=Math.max(ne,le+oe/2)}$.nodes().forEach(Y=>fe($.node(Y))),$.edges().forEach(Y=>{let re=$.edge(Y);Object.hasOwn(re,"x")&&fe(re)}),B-=J,K-=ae,$.nodes().forEach(Y=>{let re=$.node(Y);re.x-=B,re.y-=K}),$.edges().forEach(Y=>{let re=$.edge(Y);re.points.forEach(le=>{le.x-=B,le.y-=K}),Object.hasOwn(re,"x")&&(re.x-=B),Object.hasOwn(re,"y")&&(re.y-=K)}),ee.width=Z-B+J,ee.height=ne-K+ae}function D($){$.edges().forEach(B=>{let Z=$.edge(B),K=$.node(B.v),ne=$.node(B.w),ee,J;Z.points?(ee=Z.points[0],J=Z.points[Z.points.length-1]):(Z.points=[],ee=ne,J=K),Z.points.unshift(f.intersectRect(K,ee)),Z.points.push(f.intersectRect(ne,J))})}function F($){$.edges().forEach(B=>{let Z=$.edge(B);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(B=>{let Z=$.edge(B);Z.reversed&&Z.points.reverse()})}function z($){$.nodes().forEach(B=>{if($.children(B).length){let Z=$.node(B),K=$.node(Z.borderTop),ne=$.node(Z.borderBottom),ee=$.node(Z.borderLeft[Z.borderLeft.length-1]),J=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(J.x-ee.x),Z.height=Math.abs(ne.y-K.y),Z.x=ee.x+Z.width/2,Z.y=K.y+Z.height/2}}),$.nodes().forEach(B=>{$.node(B).dummy==="border"&&$.removeNode(B)})}function U($){$.edges().forEach(B=>{if(B.v===B.w){var Z=$.node(B.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:B,label:$.edge(B)}),$.removeEdge(B)}})}function q($){var B=f.buildLayerMatrix($);B.forEach(Z=>{var K=0;Z.forEach((ne,ee)=>{var J=$.node(ne);J.order=ee+K,(J.selfEdges||[]).forEach(ae=>{f.addDummyNode($,"selfedge",{width:ae.label.width,height:ae.label.height,rank:J.rank,order:ee+ ++K,e:ae.e,label:ae.label},"_se")}),delete J.selfEdges})})}function M($){$.nodes().forEach(B=>{var Z=$.node(B);if(Z.dummy==="selfedge"){var K=$.node(Z.e.v),ne=K.x+K.width/2,ee=K.y,J=Z.x-ne,ae=K.height/2;$.setEdge(Z.e,Z.label),$.removeNode(B),Z.label.points=[{x:ne+2*J/3,y:ee-ae},{x:ne+5*J/6,y:ee-ae},{x:ne+J,y:ee},{x:ne+5*J/6,y:ee+ae},{x:ne+2*J/3,y:ee+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,B){return f.mapValues(f.pick($,B),Number)}function V($){var B={};return $&&Object.entries($).forEach(([Z,K])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),B[Z]=K}),B}return cte}var ute,w9e;function QVn(){if(w9e)return ute;w9e=1;let e=Ml(),t=$g().Graph;ute={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 ute}var dte,S9e;function YVn(){return S9e||(S9e=1,dte="1.1.8"),dte}var fte,k9e;function KVn(){return k9e||(k9e=1,fte={graphlib:$g(),layout:GVn(),debug:QVn(),util:{time:Ml().time,notime:Ml().notime},version:YVn()}),fte}var XVn=KVn();const O9e=zl(XVn);function ql(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=ql(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var JVn={value:()=>{}};function TH(){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 y8(n)}function y8(e){this._=e}function eHn(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}})}y8.prototype=TH.prototype={constructor:y8,on:function(e,t){var n=this._,r=eHn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=tHn(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]=_9e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=_9e(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 y8(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 tHn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function _9e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=JVn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var wge="http://www.w3.org/1999/xhtml";const C9e={svg:"http://www.w3.org/2000/svg",xhtml:wge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function jH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),C9e.hasOwnProperty(t)?{space:C9e[t],local:e}:e}function nHn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===wge&&t.documentElement.namespaceURI===wge?t.createElement(e):t.createElementNS(n,e)}}function rHn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ISt(e){var t=jH(e);return(t.local?rHn:nHn)(t)}function sHn(){}function yke(e){return e==null?sHn:function(){return this.querySelector(e)}}function aHn(e){typeof e!="function"&&(e=yke(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 Hp(r,this._parents)}function iHn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function oHn(){return[]}function ASt(e){return e==null?oHn:function(){return this.querySelectorAll(e)}}function lHn(e){return function(){return iHn(e.apply(this,arguments))}}function cHn(e){typeof e=="function"?e=lHn(e):e=ASt(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 Hp(r,s)}function RSt(e){return function(){return this.matches(e)}}function PSt(e){return function(t){return t.matches(e)}}var uHn=Array.prototype.find;function dHn(e){return function(){return uHn.call(this.children,e)}}function fHn(){return this.firstElementChild}function pHn(e){return this.select(e==null?fHn:dHn(typeof e=="function"?e:PSt(e)))}var hHn=Array.prototype.filter;function mHn(){return Array.from(this.children)}function gHn(e){return function(){return hHn.call(this.children,e)}}function vHn(e){return this.selectAll(e==null?mHn:gHn(typeof e=="function"?e:PSt(e)))}function yHn(e){typeof e!="function"&&(e=RSt(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 Hp(r,this._parents)}function $St(e){return new Array(e.length)}function bHn(){return new Hp(this._enter||this._groups.map($St),this._parents)}function xB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}xB.prototype={constructor:xB,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 xHn(e){return function(){return e}}function wHn(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 xB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function SHn(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 xB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function kHn(e){return e.__data__}function OHn(e,t){if(!arguments.length)return Array.from(this,kHn);var n=t?SHn:wHn,r=this._parents,s=this._groups;typeof e!="function"&&(e=xHn(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=_Hn(e.call(d,d&&d.__data__,u,r)),m=h.length,g=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,g,y,b,h,t);for(var x=0,S=0,k,C;x<m;++x)if(k=g[x]){for(x>=S&&(S=x+1);!(C=y[S])&&++S<m;);k._next=C||null}}return i=new Hp(i,r),i._enter=l,i._exit=c,i}function _Hn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function CHn(){return new Hp(this._exit||this._groups.map($St),this._parents)}function EHn(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 THn(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 Hp(l,this._parents)}function jHn(){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 NHn(e){e||(e=IHn);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 Hp(s,this._parents).order()}function IHn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function AHn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function RHn(){return Array.from(this)}function PHn(){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 $Hn(){let e=0;for(const t of this)++e;return e}function MHn(){return!this.node()}function DHn(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 LHn(e){return function(){this.removeAttribute(e)}}function FHn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function zHn(e,t){return function(){this.setAttribute(e,t)}}function BHn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function UHn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function qHn(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 VHn(e,t){var n=jH(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?FHn:LHn:typeof t=="function"?n.local?qHn:UHn:n.local?BHn:zHn)(n,t))}function MSt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function HHn(e){return function(){this.style.removeProperty(e)}}function WHn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function ZHn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function GHn(e,t,n){return arguments.length>1?this.each((t==null?HHn:typeof t=="function"?ZHn:WHn)(e,t,n??"")):Dj(this.node(),e)}function Dj(e,t){return e.style.getPropertyValue(t)||MSt(e).getComputedStyle(e,null).getPropertyValue(t)}function QHn(e){return function(){delete this[e]}}function YHn(e,t){return function(){this[e]=t}}function KHn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function XHn(e,t){return arguments.length>1?this.each((t==null?QHn:typeof t=="function"?KHn:YHn)(e,t)):this.node()[e]}function DSt(e){return e.trim().split(/^|\s+/)}function bke(e){return e.classList||new LSt(e)}function LSt(e){this._node=e,this._names=DSt(e.getAttribute("class")||"")}LSt.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 FSt(e,t){for(var n=bke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function zSt(e,t){for(var n=bke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function JHn(e){return function(){FSt(this,e)}}function eWn(e){return function(){zSt(this,e)}}function tWn(e,t){return function(){(t.apply(this,arguments)?FSt:zSt)(this,e)}}function nWn(e,t){var n=DSt(e+"");if(arguments.length<2){for(var r=bke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?tWn:t?JHn:eWn)(n,t))}function rWn(){this.textContent=""}function sWn(e){return function(){this.textContent=e}}function aWn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function iWn(e){return arguments.length?this.each(e==null?rWn:(typeof e=="function"?aWn:sWn)(e)):this.node().textContent}function oWn(){this.innerHTML=""}function lWn(e){return function(){this.innerHTML=e}}function cWn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function uWn(e){return arguments.length?this.each(e==null?oWn:(typeof e=="function"?cWn:lWn)(e)):this.node().innerHTML}function dWn(){this.nextSibling&&this.parentNode.appendChild(this)}function fWn(){return this.each(dWn)}function pWn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function hWn(){return this.each(pWn)}function mWn(e){var t=typeof e=="function"?e:ISt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function gWn(){return null}function vWn(e,t){var n=typeof e=="function"?e:ISt(e),r=t==null?gWn:typeof t=="function"?t:yke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function yWn(){var e=this.parentNode;e&&e.removeChild(this)}function bWn(){return this.each(yWn)}function xWn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function wWn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function SWn(e){return this.select(e?wWn:xWn)}function kWn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function OWn(e){return function(t){e.call(this,t,this.__data__)}}function _Wn(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 CWn(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 EWn(e,t,n){return function(){var r=this.__on,s,a=OWn(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 TWn(e,t,n){var r=_Wn(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?EWn:CWn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function BSt(e,t,n){var r=MSt(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 jWn(e,t){return function(){return BSt(this,e,t)}}function NWn(e,t){return function(){return BSt(this,e,t.apply(this,arguments))}}function IWn(e,t){return this.each((typeof t=="function"?NWn:jWn)(e,t))}function*AWn(){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 USt=[null];function Hp(e,t){this._groups=e,this._parents=t}function x3(){return new Hp([[document.documentElement]],USt)}function RWn(){return this}Hp.prototype=x3.prototype={constructor:Hp,select:aHn,selectAll:cHn,selectChild:pHn,selectChildren:vHn,filter:yHn,data:OHn,enter:bHn,exit:CHn,join:EHn,merge:THn,selection:RWn,order:jHn,sort:NHn,call:AHn,nodes:RHn,node:PHn,size:$Hn,empty:MHn,each:DHn,attr:VHn,style:GHn,property:XHn,classed:nWn,text:iWn,html:uWn,raise:fWn,lower:hWn,append:mWn,insert:vWn,remove:bWn,clone:SWn,datum:kWn,on:TWn,dispatch:IWn,[Symbol.iterator]:AWn};function kp(e){return typeof e=="string"?new Hp([[document.querySelector(e)]],[document.documentElement]):new Hp([[e]],USt)}function PWn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function rg(e,t){if(e=PWn(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 $Wn={passive:!1},uM={capture:!0,passive:!1};function pte(e){e.stopImmediatePropagation()}function UT(e){e.preventDefault(),e.stopImmediatePropagation()}function qSt(e){var t=e.document.documentElement,n=kp(e).on("dragstart.drag",UT,uM);"onselectstart"in t?n.on("selectstart.drag",UT,uM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function VSt(e,t){var n=e.document.documentElement,r=kp(e).on("dragstart.drag",null);t&&(r.on("click.drag",UT,uM),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 L6=e=>()=>e;function Sge(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}})}Sge.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function MWn(e){return!e.ctrlKey&&!e.button}function DWn(){return this.parentNode}function LWn(e,t){return t??{x:e.x,y:e.y}}function FWn(){return navigator.maxTouchPoints||"ontouchstart"in this}function HSt(){var e=MWn,t=DWn,n=LWn,r=FWn,s={},a=TH("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,$Wn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,C){if(!(d||!e.call(this,k,C))){var _=S(this,t.call(this,k,C),k,C,"mouse");_&&(kp(k.view).on("mousemove.drag",m,uM).on("mouseup.drag",g,uM),qSt(k.view),pte(k),u=!1,l=k.clientX,c=k.clientY,_("start",k))}}function m(k){if(UT(k),!u){var C=k.clientX-l,_=k.clientY-c;u=C*C+_*_>f}s.mouse("drag",k)}function g(k){kp(k.view).on("mousemove.drag mouseup.drag",null),VSt(k.view,u),UT(k),s.mouse("end",k)}function y(k,C){if(e.call(this,k,C)){var _=k.changedTouches,E=t.call(this,k,C),T=_.length,N,I;for(N=0;N<T;++N)(I=S(this,E,k,C,_[N].identifier,_[N]))&&(pte(k),I("start",k,_[N]))}}function b(k){var C=k.changedTouches,_=C.length,E,T;for(E=0;E<_;++E)(T=s[C[E].identifier])&&(UT(k),T("drag",k,C[E]))}function x(k){var C=k.changedTouches,_=C.length,E,T;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<_;++E)(T=s[C[E].identifier])&&(pte(k),T("end",k,C[E]))}function S(k,C,_,E,T,N){var I=a.copy(),A=rg(N||_,C),R,L,D;if((D=n.call(k,new Sge("beforestart",{sourceEvent:_,target:p,identifier:T,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),E))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,z,U){var q=A,M;switch(H){case"start":s[T]=F,M=i++;break;case"end":delete s[T],--i;case"drag":A=rg(U||z,C),M=i;break}I.call(H,k,new Sge(H,{sourceEvent:z,subject:D,target:p,identifier:T,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-q[0],dy:A[1]-q[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:L6(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:L6(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:L6(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:L6(!!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 xke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function WSt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function w3(){}var dM=.7,wB=1/dM,qT="\\s*([+-]?\\d+)\\s*",fM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ey="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",zWn=/^#([0-9a-f]{3,8})$/,BWn=new RegExp(`^rgb\\(${qT},${qT},${qT}\\)$`),UWn=new RegExp(`^rgb\\(${ey},${ey},${ey}\\)$`),qWn=new RegExp(`^rgba\\(${qT},${qT},${qT},${fM}\\)$`),VWn=new RegExp(`^rgba\\(${ey},${ey},${ey},${fM}\\)$`),HWn=new RegExp(`^hsl\\(${fM},${ey},${ey}\\)$`),WWn=new RegExp(`^hsla\\(${fM},${ey},${ey},${fM}\\)$`),E9e={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};xke(w3,BO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:T9e,formatHex:T9e,formatHex8:ZWn,formatHsl:GWn,formatRgb:j9e,toString:j9e});function T9e(){return this.rgb().formatHex()}function ZWn(){return this.rgb().formatHex8()}function GWn(){return ZSt(this).formatHsl()}function j9e(){return this.rgb().formatRgb()}function BO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=zWn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?N9e(t):n===3?new vf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?F6(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?F6(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=BWn.exec(e))?new vf(t[1],t[2],t[3],1):(t=UWn.exec(e))?new vf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=qWn.exec(e))?F6(t[1],t[2],t[3],t[4]):(t=VWn.exec(e))?F6(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=HWn.exec(e))?R9e(t[1],t[2]/100,t[3]/100,1):(t=WWn.exec(e))?R9e(t[1],t[2]/100,t[3]/100,t[4]):E9e.hasOwnProperty(e)?N9e(E9e[e]):e==="transparent"?new vf(NaN,NaN,NaN,0):null}function N9e(e){return new vf(e>>16&255,e>>8&255,e&255,1)}function F6(e,t,n,r){return r<=0&&(e=t=n=NaN),new vf(e,t,n,r)}function QWn(e){return e instanceof w3||(e=BO(e)),e?(e=e.rgb(),new vf(e.r,e.g,e.b,e.opacity)):new vf}function kge(e,t,n,r){return arguments.length===1?QWn(e):new vf(e,t,n,r??1)}function vf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}xke(vf,kge,WSt(w3,{brighter(e){return e=e==null?wB:Math.pow(wB,e),new vf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?dM:Math.pow(dM,e),new vf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new vf(Kk(this.r),Kk(this.g),Kk(this.b),SB(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:I9e,formatHex:I9e,formatHex8:YWn,formatRgb:A9e,toString:A9e}));function I9e(){return`#${Rk(this.r)}${Rk(this.g)}${Rk(this.b)}`}function YWn(){return`#${Rk(this.r)}${Rk(this.g)}${Rk(this.b)}${Rk((isNaN(this.opacity)?1:this.opacity)*255)}`}function A9e(){const e=SB(this.opacity);return`${e===1?"rgb(":"rgba("}${Kk(this.r)}, ${Kk(this.g)}, ${Kk(this.b)}${e===1?")":`, ${e})`}`}function SB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Kk(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Rk(e){return e=Kk(e),(e<16?"0":"")+e.toString(16)}function R9e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ug(e,t,n,r)}function ZSt(e){if(e instanceof ug)return new ug(e.h,e.s,e.l,e.opacity);if(e instanceof w3||(e=BO(e)),!e)return new ug;if(e instanceof ug)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 ug(i,l,c,e.opacity)}function KWn(e,t,n,r){return arguments.length===1?ZSt(e):new ug(e,t,n,r??1)}function ug(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}xke(ug,KWn,WSt(w3,{brighter(e){return e=e==null?wB:Math.pow(wB,e),new ug(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?dM:Math.pow(dM,e),new ug(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 vf(hte(e>=240?e-240:e+120,s,r),hte(e,s,r),hte(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new ug(P9e(this.h),z6(this.s),z6(this.l),SB(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=SB(this.opacity);return`${e===1?"hsl(":"hsla("}${P9e(this.h)}, ${z6(this.s)*100}%, ${z6(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P9e(e){return e=(e||0)%360,e<0?e+360:e}function z6(e){return Math.max(0,Math.min(1,e||0))}function hte(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 wke=e=>()=>e;function XWn(e,t){return function(n){return e+n*t}}function JWn(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 eZn(e){return(e=+e)==1?GSt:function(t,n){return n-t?JWn(t,n,e):wke(isNaN(t)?n:t)}}function GSt(e,t){var n=t-e;return n?XWn(e,n):wke(isNaN(e)?t:e)}const kB=(function e(t){var n=eZn(t);function r(s,a){var i=n((s=kge(s)).r,(a=kge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=GSt(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 tZn(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 nZn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rZn(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]=ux(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 sZn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function ag(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function aZn(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]=ux(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var Oge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mte=new RegExp(Oge.source,"g");function iZn(e){return function(){return e}}function oZn(e){return function(t){return e(t)+""}}function QSt(e,t){var n=Oge.lastIndex=mte.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Oge.exec(e))&&(s=mte.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:ag(r,s)})),n=mte.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?oZn(c[0].x):iZn(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 ux(e,t){var n=typeof t,r;return t==null||n==="boolean"?wke(t):(n==="number"?ag:n==="string"?(r=BO(t))?(t=r,kB):QSt:t instanceof BO?kB:t instanceof Date?sZn:nZn(t)?tZn:Array.isArray(t)?rZn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?aZn:ag)(e,t)}function Ske(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var $9e=180/Math.PI,_ge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function YSt(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)*$9e,skewX:Math.atan(c)*$9e,scaleX:i,scaleY:l}}var B6;function lZn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?_ge:YSt(t.a,t.b,t.c,t.d,t.e,t.f)}function cZn(e){return e==null||(B6||(B6=document.createElementNS("http://www.w3.org/2000/svg","g")),B6.setAttribute("transform",e),!(e=B6.transform.baseVal.consolidate()))?_ge:(e=e.matrix,YSt(e.a,e.b,e.c,e.d,e.e,e.f))}function KSt(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 g=h.push("translate(",null,t,null,n);m.push({i:g-4,x:ag(u,f)},{i:g-2,x:ag(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:ag(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:ag(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push(s(h)+"scale(",null,",",null,")");m.push({i:g-4,x:ag(u,f)},{i:g-2,x:ag(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,g=p.length,y;++m<g;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var uZn=KSt(lZn,"px, ","px)","deg)"),dZn=KSt(cZn,", ",")",")"),fZn=1e-12;function M9e(e){return((e=Math.exp(e))+1/e)/2}function pZn(e){return((e=Math.exp(e))-1/e)/2}function hZn(e){return((e=Math.exp(2*e))-1)/(e+1)}const b8=(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,g=h*h+m*m,y,b;if(g<fZn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var x=Math.sqrt(g),S=(p*p-u*u+r*g)/(2*u*n*x),k=(p*p-u*u-r*g)/(2*p*n*x),C=Math.log(Math.sqrt(S*S+1)-S),_=Math.log(Math.sqrt(k*k+1)-k);b=(_-C)/t,y=function(E){var T=E*b,N=M9e(C),I=u/(n*x)*(N*hZn(t*T+C)-pZn(C));return[l+I*h,c+I*m,u*N/M9e(t*T+C)]}}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 mZn(e,t){t===void 0&&(t=e,e=ux);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 Lj=0,IP=0,gR=0,XSt=1e3,OB,AP,_B=0,UO=0,NH=0,pM=typeof performance=="object"&&performance.now?performance:Date,JSt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function kke(){return UO||(JSt(gZn),UO=pM.now()+NH)}function gZn(){UO=0}function CB(){this._call=this._time=this._next=null}CB.prototype=ekt.prototype={constructor:CB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?kke():+n)+(t==null?0:+t),!this._next&&AP!==this&&(AP?AP._next=this:OB=this,AP=this),this._call=e,this._time=n,Cge()},stop:function(){this._call&&(this._call=null,this._time=1/0,Cge())}};function ekt(e,t,n){var r=new CB;return r.restart(e,t,n),r}function vZn(){kke(),++Lj;for(var e=OB,t;e;)(t=UO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Lj}function D9e(){UO=(_B=pM.now())+NH,Lj=IP=0;try{vZn()}finally{Lj=0,bZn(),UO=0}}function yZn(){var e=pM.now(),t=e-_B;t>XSt&&(NH-=t,_B=e)}function bZn(){for(var e,t=OB,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:OB=n);AP=e,Cge(r)}function Cge(e){if(!Lj){IP&&(IP=clearTimeout(IP));var t=e-UO;t>24?(e<1/0&&(IP=setTimeout(D9e,e-pM.now()-NH)),gR&&(gR=clearInterval(gR))):(gR||(_B=pM.now(),gR=setInterval(yZn,XSt)),Lj=1,JSt(D9e))}}function L9e(e,t,n){var r=new CB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var xZn=TH("start","end","cancel","interrupt"),wZn=[],tkt=0,F9e=1,Ege=2,x8=3,z9e=4,Tge=5,w8=6;function IH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;SZn(e,n,{name:t,index:r,group:s,on:xZn,tween:wZn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:tkt})}function Oke(e,t){var n=Vg(e,t);if(n.state>tkt)throw new Error("too late; already scheduled");return n}function Ly(e,t){var n=Vg(e,t);if(n.state>x8)throw new Error("too late; already running");return n}function Vg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function SZn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=ekt(a,0,n.time);function a(u){n.state=F9e,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!==F9e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===x8)return L9e(i);h.state===z9e?(h.state=w8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=w8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(L9e(function(){n.state===x8&&(n.state=z9e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=Ege,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ege){for(n.state=x8,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=Tge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===Tge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=w8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function S8(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>Ege&&r.state<Tge,r.state=w8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function kZn(e){return this.each(function(){S8(this,e)})}function OZn(e,t){var n,r;return function(){var s=Ly(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 _Zn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Ly(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 CZn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Vg(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?OZn:_Zn)(n,e,t))}function _ke(e,t,n){var r=e._id;return e.each(function(){var s=Ly(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Vg(s,r).value[t]}}function nkt(e,t){var n;return(typeof t=="number"?ag:t instanceof BO?kB:(n=BO(t))?(t=n,kB):QSt)(e,t)}function EZn(e){return function(){this.removeAttribute(e)}}function TZn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jZn(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 NZn(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 IZn(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 AZn(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 RZn(e,t){var n=jH(e),r=n==="transform"?dZn:nkt;return this.attrTween(e,typeof t=="function"?(n.local?AZn:IZn)(n,r,_ke(this,"attr."+e,t)):t==null?(n.local?TZn:EZn)(n):(n.local?NZn:jZn)(n,r,t))}function PZn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function $Zn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function MZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&$Zn(e,a)),n}return s._value=t,s}function DZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&PZn(e,a)),n}return s._value=t,s}function LZn(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=jH(e);return this.tween(n,(r.local?MZn:DZn)(r,t))}function FZn(e,t){return function(){Oke(this,e).delay=+t.apply(this,arguments)}}function zZn(e,t){return t=+t,function(){Oke(this,e).delay=t}}function BZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?FZn:zZn)(t,e)):Vg(this.node(),t).delay}function UZn(e,t){return function(){Ly(this,e).duration=+t.apply(this,arguments)}}function qZn(e,t){return t=+t,function(){Ly(this,e).duration=t}}function VZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?UZn:qZn)(t,e)):Vg(this.node(),t).duration}function HZn(e,t){if(typeof t!="function")throw new Error;return function(){Ly(this,e).ease=t}}function WZn(e){var t=this._id;return arguments.length?this.each(HZn(t,e)):Vg(this.node(),t).ease}function ZZn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Ly(this,e).ease=n}}function GZn(e){if(typeof e!="function")throw new Error;return this.each(ZZn(this._id,e))}function QZn(e){typeof e!="function"&&(e=RSt(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 Ax(r,this._parents,this._name,this._id)}function YZn(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 Ax(i,this._parents,this._name,this._id)}function KZn(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 XZn(e,t,n){var r,s,a=KZn(t)?Oke:Ly;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function JZn(e,t){var n=this._id;return arguments.length<2?Vg(this.node(),n).on.on(e):this.each(XZn(n,e,t))}function eGn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function tGn(){return this.on("end.remove",eGn(this._id))}function nGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=yke(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,IH(u[p],t,n,p,u,Vg(d,n)));return new Ax(a,this._parents,t,n)}function rGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ASt(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=Vg(d,n),g=0,y=p.length;g<y;++g)(h=p[g])&&IH(h,t,n,g,p,m);a.push(p),i.push(d)}return new Ax(a,i,t,n)}var sGn=x3.prototype.constructor;function aGn(){return new sGn(this._groups,this._parents)}function iGn(e,t){var n,r,s;return function(){var a=Dj(this,e),i=(this.style.removeProperty(e),Dj(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function rkt(e){return function(){this.style.removeProperty(e)}}function oGn(e,t,n){var r,s=n+"",a;return function(){var i=Dj(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function lGn(e,t,n){var r,s,a;return function(){var i=Dj(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),Dj(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function cGn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=Ly(this,e),u=c.on,d=c.value[a]==null?l||(l=rkt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function uGn(e,t,n){var r=(e+="")=="transform"?uZn:nkt;return t==null?this.styleTween(e,iGn(e,r)).on("end.style."+e,rkt(e)):typeof t=="function"?this.styleTween(e,lGn(e,r,_ke(this,"style."+e,t))).each(cGn(this._id,e)):this.styleTween(e,oGn(e,r,t),n).on("end.style."+e,null)}function dGn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function fGn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&dGn(e,i,n)),r}return a._value=t,a}function pGn(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,fGn(e,t,n??""))}function hGn(e){return function(){this.textContent=e}}function mGn(e){return function(){var t=e(this);this.textContent=t??""}}function gGn(e){return this.tween("text",typeof e=="function"?mGn(_ke(this,"text",e)):hGn(e==null?"":e+""))}function vGn(e){return function(t){this.textContent=e.call(this,t)}}function yGn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&vGn(s)),t}return r._value=e,r}function bGn(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,yGn(e))}function xGn(){for(var e=this._name,t=this._id,n=skt(),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=Vg(c,t);IH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Ax(r,this._parents,e,n)}function wGn(){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=Ly(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 SGn=0;function Ax(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function skt(){return++SGn}var vb=x3.prototype;Ax.prototype={constructor:Ax,select:nGn,selectAll:rGn,selectChild:vb.selectChild,selectChildren:vb.selectChildren,filter:QZn,merge:YZn,selection:aGn,transition:xGn,call:vb.call,nodes:vb.nodes,node:vb.node,size:vb.size,empty:vb.empty,each:vb.each,on:JZn,attr:RZn,attrTween:LZn,style:uGn,styleTween:pGn,text:gGn,textTween:bGn,remove:tGn,tween:CZn,delay:BZn,duration:VZn,ease:WZn,easeVarying:GZn,end:wGn,[Symbol.iterator]:vb[Symbol.iterator]};function kGn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var OGn={time:null,delay:0,duration:250,ease:kGn};function _Gn(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 CGn(e){var t,n;e instanceof Ax?(t=e._id,e=e._name):(t=skt(),(n=OGn).time=kke(),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])&&IH(c,e,t,u,i,n||_Gn(c,t));return new Ax(r,this._parents,e,t)}x3.prototype.interrupt=kZn;x3.prototype.transition=CGn;const U6=e=>()=>e;function EGn(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 Xb(e,t,n){this.k=e,this.x=t,this.y=n}Xb.prototype={constructor:Xb,scale:function(e){return e===1?this:new Xb(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Xb(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 AH=new Xb(1,0,0);akt.prototype=Xb.prototype;function akt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return AH;return e.__zoom}function gte(e){e.stopImmediatePropagation()}function vR(e){e.preventDefault(),e.stopImmediatePropagation()}function TGn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function jGn(){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 B9e(){return this.__zoom||AH}function NGn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function IGn(){return navigator.maxTouchPoints||"ontouchstart"in this}function AGn(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 ikt(){var e=TGn,t=jGn,n=AGn,r=NGn,s=IGn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=b8,u=TH("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",B9e).on("wheel.zoom",T,{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,z){var U=D.selection?D.selection():D;U.property("__zoom",B9e),D!==U?C(D,F,H,z):U.interrupt().each(function(){_(this,arguments).event(z).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,z){b.scaleTo(D,function(){var U=this.__zoom.k,q=typeof F=="function"?F.apply(this,arguments):F;return U*q},H,z)},b.scaleTo=function(D,F,H,z){b.transform(D,function(){var U=t.apply(this,arguments),q=this.__zoom,M=H==null?k(U):typeof H=="function"?H.apply(this,arguments):H,G=q.invert(M),V=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(q,V),M,G),U,i)},H,z)},b.translateBy=function(D,F,H,z){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,z)},b.translateTo=function(D,F,H,z,U){b.transform(D,function(){var q=t.apply(this,arguments),M=this.__zoom,G=z==null?k(q):typeof z=="function"?z.apply(this,arguments):z;return n(AH.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),q,i)},z,U)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new Xb(F,D.x,D.y)}function S(D,F,H){var z=F[0]-H[0]*D.k,U=F[1]-H[1]*D.k;return z===D.x&&U===D.y?D:new Xb(D.k,z,U)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,F,H,z){D.on("start.zoom",function(){_(this,arguments).event(z).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(z).end()}).tween("zoom",function(){var U=this,q=arguments,M=_(U,q).event(z),G=t.apply(U,q),V=H==null?k(G):typeof H=="function"?H.apply(U,q):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),B=U.__zoom,Z=typeof F=="function"?F.apply(U,q):F,K=c(B.invert(V).concat($/B.k),Z.invert(V).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var ee=K(ne),J=$/ee[2];ne=new Xb(J,V[0]-ee[0]*J,V[1]-ee[1]*J)}M.zoom(null,ne)}})}function _(D,F,H){return!H&&D.__zooming||new E(D,F)}function E(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}E.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=kp(this.that).datum();u.call(D,this.that,new EGn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function T(D,...F){if(!e.apply(this,arguments))return;var H=_(this,F).event(D),z=this.__zoom,U=Math.max(a[0],Math.min(a[1],z.k*Math.pow(2,r.apply(this,arguments)))),q=rg(D);if(H.wheel)(H.mouse[0][0]!==q[0]||H.mouse[0][1]!==q[1])&&(H.mouse[1]=z.invert(H.mouse[0]=q)),clearTimeout(H.wheel);else{if(z.k===U)return;H.mouse=[q,z.invert(q)],S8(this),H.start()}vR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(z,U),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,z=_(this,F,!0).event(D),U=kp(D.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",$,!0),q=rg(D,H),M=D.clientX,G=D.clientY;qSt(D.view),gte(D),z.mouse=[q,this.__zoom.invert(q)],S8(this),z.start();function V(B){if(vR(B),!z.moved){var Z=B.clientX-M,K=B.clientY-G;z.moved=Z*Z+K*K>g}z.event(B).zoom("mouse",n(S(z.that.__zoom,z.mouse[0]=rg(B,H),z.mouse[1]),z.extent,i))}function $(B){U.on("mousemove.zoom mouseup.zoom",null),VSt(B.view,z.moved),vR(B),z.event(B).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,z=rg(D.changedTouches?D.changedTouches[0]:D,this),U=H.invert(z),q=H.k*(D.shiftKey?.5:2),M=n(S(x(H,q),z,U),t.apply(this,F),i);vR(D),l>0?kp(this).transition().duration(l).call(C,M,z,D):kp(this).call(b.transform,M,z,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,z=H.length,U=_(this,F,D.changedTouches.length===z).event(D),q,M,G,V;for(gte(D),M=0;M<z;++M)G=H[M],V=rg(G,this),V=[V,this.__zoom.invert(V),G.identifier],U.touch0?!U.touch1&&U.touch0[2]!==V[2]&&(U.touch1=V,U.taps=0):(U.touch0=V,q=!0,U.taps=1+!!d);d&&(d=clearTimeout(d)),q&&(U.taps<2&&(f=V[0],d=setTimeout(function(){d=null},h)),S8(this),U.start())}}function R(D,...F){if(this.__zooming){var H=_(this,F).event(D),z=D.changedTouches,U=z.length,q,M,G,V;for(vR(D),q=0;q<U;++q)M=z[q],G=rg(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],B=H.touch0[1],Z=H.touch1[0],K=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,ee=(ee=K[0]-B[0])*ee+(ee=K[1]-B[1])*ee;M=x(M,Math.sqrt(ne/ee)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],V=[(B[0]+K[0])/2,(B[1]+K[1])/2]}else if(H.touch0)G=H.touch0[0],V=H.touch0[1];else return;H.zoom("touch",n(S(M,G,V),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=_(this,F).event(D),z=D.changedTouches,U=z.length,q,M;for(gte(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),q=0;q<U;++q)M=z[q],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=rg(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=kp(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:U6(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:U6(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:U6(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:U6([[+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?(g=(D=+D)*D,b):Math.sqrt(g)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const vy={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."},hM=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],okt=["Enter"," ","Escape"],lkt={"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 Fj;(function(e){e.Strict="strict",e.Loose="loose"})(Fj||(Fj={}));var Xk;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Xk||(Xk={}));var mM;(function(e){e.Partial="partial",e.Full="full"})(mM||(mM={}));const ckt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var vw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(vw||(vw={}));var gM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(gM||(gM={}));var ar;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ar||(ar={}));const U9e={[ar.Left]:ar.Right,[ar.Right]:ar.Left,[ar.Top]:ar.Bottom,[ar.Bottom]:ar.Top};function ukt(e){return e===null?null:e?"valid":"invalid"}const dkt=e=>"id"in e&&"source"in e&&"target"in e,RGn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Cke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),S3=(e,t=[0,0])=>{const{width:n,height:r}=t0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},PGn=(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):Cke(s)?s:t.nodeLookup.get(s.id));const l=i?EB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return RH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return PH(n)},k3=(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=RH(n,EB(s)),r=!0)}),r?PH(n):{x:0,y:0,width:0,height:0}},Eke=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={..._3(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,g=vM(l,Bj(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},$Gn=(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 MGn(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 DGn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=MGn(e,i),c=k3(l),u=Tke(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 fkt({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",vy.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&Uj(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=Uj(f)?qO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",vy.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 LGn({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(g=>g.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=$Gn(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 zj=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),qO=(e={x:0,y:0},t,n)=>({x:zj(e.x,t[0][0],t[1][0]-(n?.width??0)),y:zj(e.y,t[0][1],t[1][1]-(n?.height??0))});function pkt(e,t,n){const{width:r,height:s}=t0(n),{x:a,y:i}=n.internals.positionAbsolute;return qO(e,[[a,i],[a+r,i+s]],t)}const q9e=(e,t,n)=>e<t?zj(Math.abs(e-t),1,t)/t:e>n?-zj(Math.abs(e-n),1,t)/t:0,hkt=(e,t,n=15,r=40)=>{const s=q9e(e.x,r,t.width-r)*n,a=q9e(e.y,r,t.height-r)*n;return[s,a]},RH=(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)}),jge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),PH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Bj=(e,t=[0,0])=>{const{x:n,y:r}=Cke(e)?e.internals.positionAbsolute:S3(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}},EB=(e,t=[0,0])=>{const{x:n,y:r}=Cke(e)?e.internals.positionAbsolute:S3(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)}},mkt=(e,t)=>PH(RH(jge(e),jge(t))),vM=(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)},V9e=e=>gg(e.width)&&gg(e.height)&&gg(e.x)&&gg(e.y),gg=e=>!isNaN(e)&&isFinite(e),FGn=(e,t)=>{},O3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),_3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?O3(l,i):l},TB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function aE(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 zGn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=aE(e,n),s=aE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=aE(e.top??e.y??0,n),s=aE(e.bottom??e.y??0,n),a=aE(e.left??e.x??0,t),i=aE(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 BGn(e,t,n,r,s,a){const{x:i,y:l}=TB(e,[t,n,r]),{x:c,y:u}=TB({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 Tke=(e,t,n,r,s,a)=>{const i=zGn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=zj(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,g=BGn(e,h,m,d,t,n),y={left:Math.min(g.left-i.left,0),top:Math.min(g.top-i.top,0),right:Math.min(g.right-i.right,0),bottom:Math.min(g.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},yM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Uj(e){return e!=null&&e!=="parent"}function t0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function gkt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function vkt(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 H9e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function UGn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function qGn(e){return{...lkt,...e||{}}}function p2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=vg(e),l=_3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?O3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const jke=e=>({width:e.offsetWidth,height:e.offsetHeight}),ykt=e=>e?.getRootNode?.()||window?.document,VGn=["INPUT","SELECT","TEXTAREA"];function bkt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:VGn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const xkt=e=>"clientX"in e,vg=(e,t)=>{const n=xkt(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)}},W9e=(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,...jke(i)}})};function wkt({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 q6(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Z9e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case ar.Left:return[t-q6(t-r,a),n];case ar.Right:return[t+q6(r-t,a),n];case ar.Top:return[t,n-q6(n-s,a)];case ar.Bottom:return[t,n+q6(s-n,a)]}}function Nke({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,curvature:i=.25}){const[l,c]=Z9e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=Z9e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=wkt({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 Skt({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 HGn({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 WGn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=RH(EB(e),EB(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 vM(i,PH(a))>0}const ZGn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,GGn=(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)),QGn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||ZGn;let s;return dkt(e)?s={...e}:s={...e,id:r(e)},GGn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function kkt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=Skt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const G9e={[ar.Left]:{x:-1,y:0},[ar.Right]:{x:1,y:0},[ar.Top]:{x:0,y:-1},[ar.Bottom]:{x:0,y:1}},YGn=({source:e,sourcePosition:t=ar.Bottom,target:n})=>t===ar.Left||t===ar.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},Q9e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function KGn({source:e,sourcePosition:t=ar.Bottom,target:n,targetPosition:r=ar.Top,center:s,offset:a,stepPosition:i}){const l=G9e[t],c=G9e[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=YGn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],g,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=Skt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(g=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(g=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const T=[{x:g,y:u.y},{x:g,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?T:N:m=p==="x"?N:T}else{const T=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:T:m=l.y===h?T: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],z=u[D]<d[D];(l[p]===1&&(!F&&H||F&&z)||l[p]!==1&&(!F&&z||F&&H))&&(m=p==="x"?T: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?(g=(I.x+A.x)/2,y=m[0].y):(g=m[0].x,y=(I.y+A.y)/2)}const C={x:u.x+b.x,y:u.y+b.y},_={x:d.x+x.x,y:d.y+x.y};return[[e,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,..._.x!==m[m.length-1].x||_.y!==m[m.length-1].y?[_]:[],n],g,y,S,k]}function XGn(e,t,n,r){const s=Math.min(Q9e(e,t)/2,Q9e(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 Nge({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,g]=KGn({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+=XGn(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,g]}function Y9e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function JGn(e){const{sourceNode:t,targetNode:n}=e;if(!Y9e(t)||!Y9e(n))return null;const r=t.internals.handleBounds||K9e(t.handles),s=n.internals.handleBounds||K9e(n.handles),a=X9e(r?.source??[],e.sourceHandle),i=X9e(e.connectionMode===Fj.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",vy.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||ar.Bottom,c=i?.position||ar.Top,u=VO(t,a,l),d=VO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function K9e(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 VO(e,t,n=ar.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??t0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case ar.Top:return{x:s+i/2,y:a};case ar.Right:return{x:s+i,y:a+l/2};case ar.Bottom:return{x:s+i/2,y:a+l};case ar.Left:return{x:s,y:a+l/2}}}function X9e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Ige(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function eQn(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=Ige(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 Okt=1e3,tQn=10,Ike={nodeOrigin:[0,0],nodeExtent:hM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},nQn={...Ike,checkEquality:!0};function Ake(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function rQn(e,t,n){const r=Ake(Ike,n);for(const s of e.values())if(s.parentId)Pke(s,e,t,r);else{const a=S3(s,r.nodeOrigin),i=Uj(s.extent)?s.extent:r.nodeExtent,l=qO(a,i,t0(s));s.internals.positionAbsolute=l}}function sQn(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 Rke(e){return e==="manual"}function Age(e,t,n,r={}){const s=Ake(nQn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!Rke(s.zIndexMode)?Okt: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=S3(d,s.nodeOrigin),h=Uj(d.extent)?d.extent:s.nodeExtent,m=qO(p,h,t0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:sQn(d,f),z:_kt(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&&Pke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function aQn(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 Pke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Ake(Ike,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}aQn(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*tQn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!Rke(c)?Okt:0,{x:p,y:h,z:m}=iQn(e,d,i,l,f,c),{positionAbsolute:g}=e.internals,y=p!==g.x||h!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:g,z:m}})}function _kt(e,t,n){const r=gg(e.zIndex)?e.zIndex:0;return Rke(n)?r:r+(e.selected?t:0)}function iQn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=t0(e),u=S3(e,n),d=Uj(e.extent)?qO(u,e.extent,c):u;let f=qO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=pkt(f,c,t));const p=_kt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function $ke(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??Bj(l),u=mkt(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=t0(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)),g=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(g-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:g+(h?f[1]*h-b:0)}})}),s}function oQn(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 g=jke(h.nodeElement),y=m.measured.width!==g.width||m.measured.height!==g.height;if(!!(g.width&&g.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=Uj(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=pkt(k,g,t.get(m.parentId)):S&&(k=qO(k,S,g));const C={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:W9e("source",h.nodeElement,x,f,m.id),target:W9e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,C),m.parentId&&Pke(C,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:g}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:Bj(C,s)}))}}if(p.length>0){const h=$ke(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function lQn({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 J9e(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 Ckt(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}`;J9e("source",c,d,e,s,i),J9e("target",c,u,e,a,l),t.set(r.id,r)}}function Ekt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:Ekt(n,t):!1}function e7e(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 cQn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!Ekt(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 vte({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 uQn({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=O3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function dQn({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,g=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:C,nodeId:_,nodeClickDistance:E=0}){p=kp(k);function T({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:z,nodeOrigin:U,onNodeDrag:q,onSelectionDrag:M,onError:G,updateNodePositions:V}=t();a={x:R,y:L};let $=!1;const B=l.size>1,Z=B&&F?jge(k3(l)):null,K=B&&z?uQn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,ee]of l){if(!D.has(ne))continue;let J={x:R-ee.distance.x,y:L-ee.distance.y};z&&(J=K?{x:Math.round(J.x+K.x),y:Math.round(J.y+K.y)}:O3(J,H));let ae=null;if(B&&F&&!ee.extent&&Z){const{positionAbsolute:re}=ee.internals,le=re.x-Z.x+F[0][0],ue=re.x+ee.measured.width-Z.x2+F[1][0],oe=re.y-Z.y+F[0][1],me=re.y+ee.measured.height-Z.y2+F[1][1];ae=[[le,oe],[ue,me]]}const{position:fe,positionAbsolute:Y}=fkt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||F,nodeOrigin:U,onError:G});$=$||ee.position.x!==fe.x||ee.position.y!==fe.y,ee.position=fe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(V(l,!0),g&&(r||q||!_&&M))){const[ne,ee]=vte({nodeId:_,dragItems:l,nodeLookup:D});r?.(g,l,ne,ee),q?.(g,ne,ee),_||M?.(g,ee)}}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,z]=hkt(u,d,D);(H!==0||z!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-z/R[2],await L({x:H,y:z})&&T(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:z,snapToGrid:U,selectNodesOnDrag:q,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:V}=t();f=!0,(!q||!C)&&!D&&_&&(L.get(_)?.selected||V()),C&&q&&_&&e?.(_);const $=p2(R.sourceEvent,{transform:H,snapGrid:z,snapToGrid:U,containerBounds:d});if(a=$,l=cQn(L,F,$,_),l.size>0&&(n||M||!_&&G)){const[B,Z]=vte({nodeId:_,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,B,Z),M?.(R.sourceEvent,B,Z),_||G?.(R.sourceEvent,Z)}}const A=HSt().clickDistance(E).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:z}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,g=R.sourceEvent,D===0&&I(R),a=p2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:z,containerBounds:d}),u=vg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:z,nodeLookup:U}=t(),q=p2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(g=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||_&&!U.has(_))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=vg(R.sourceEvent,d),G=M.x-u.x,V=M.y-u.y;Math.sqrt(G*G+V*V)>z&&I(R)}(a.x!==q.xSnapped||a.y!==q.ySnapped)&&l&&f&&(u=vg(R.sourceEvent,d),T(q))}}).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||!_&&H){const[z,U]=vte({nodeId:_,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,z,U),F?.(R.sourceEvent,z,U),_||H?.(R.sourceEvent,U)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!e7e(L,`.${x}`,k))&&(!S||e7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function fQn(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())vM(s,Bj(a))>0&&r.push(a);return r}const pQn=250;function hQn(e,t,n,r){let s=[],a=1/0;const i=fQn(e,n,t+pQn);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}=VO(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 Tkt(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,...VO(i,c,c.position,!0)}:c}function jkt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function mQn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Nkt=()=>!0;function gQn(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:g,onConnectEnd:y,isValidConnection:b=Nkt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:C,autoPanSpeed:_,dragThreshold:E=1,handleDomNode:T}){const N=ykt(e.target);let I=0,A;const{x:R,y:L}=vg(e),D=jkt(a,T),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const z=Tkt(s,D,r,c,t);if(!z)return;let U=vg(e,F),q=!1,M=null,G=!1,V=null;function $(){if(!d||!F)return;const[fe,Y]=hkt(U,F,_);p({x:fe,y:Y}),I=requestAnimationFrame($)}const B={...z,nodeId:s,type:D,position:z.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:VO(Z,B,ar.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:Z,to:U,toHandle:null,toPosition:U9e[B.position],toNode:null,pointer:U};function ee(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(fe){if(!H){const{x:me,y:be}=vg(fe),xe=me-R,Ce=be-L;if(!(xe*xe+Ce*Ce>E*E))return;ee()}if(!C()||!B){ae(fe);return}const Y=k();U=vg(fe,F),A=hQn(_3(U,Y,!1,[1,1]),n,c,B),q||($(),q=!0);const re=Ikt(fe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});V=re.handleDomNode,M=re.connection,G=mQn(!!A,re.isValid);const le=c.get(s),ue=le?VO(le,B,ar.Left,!0):ne.from,oe={...ne,from:ue,isValid:G,to:re.toHandle&&G?TB({x:re.toHandle.x,y:re.toHandle.y},Y):U,toHandle:re.toHandle,toPosition:G&&re.toHandle?re.toHandle.position:U9e[B.position],toNode:re.toHandle?c.get(re.toHandle.nodeId):null,pointer:U};S(oe),ne=oe}function ae(fe){if(!("touches"in fe&&fe.touches.length>0)){if(H){(A||V)&&M&&G&&g?.(M);const{inProgress:Y,...re}=ne,le={...re,toPosition:ne.toHandle?ne.toPosition:null};y?.(fe,le),a&&x?.(fe,le)}h(),cancelAnimationFrame(I),q=!1,G=!1,M=null,V=null,N.removeEventListener("mousemove",J),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",J),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",J),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",J),N.addEventListener("touchend",ae)}function Ikt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=Nkt,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}=vg(e),g=i.elementFromPoint(h,m),y=g?.classList.contains(`${l}-flow__handle`)?g:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=jkt(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),C=y.classList.contains("connectable"),_=y.classList.contains("connectableend");if(!S||!x)return b;const E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=C&&_&&(n===Fj.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=Tkt(S,x,k,d,n,!0)}return b}const Rge={onPointerDown:gQn,isValid:Ikt};function vQn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=kp(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(),C=S.sourceEvent.ctrlKey&&yM()?10:1,_=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,_*C);t.scaleTo(E)};let g=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(g=[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 C=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],_=[C[0]-g[0],C[1]-g[1]];g=C;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),T={x:k[0]-_[0]*E,y:k[1]-_[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:T.x,y:T.y,zoom:k[2]},N,l)},x=ikt().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:rg}}const $H=e=>({x:e.x,y:e.y,zoom:e.k}),yte=({x:e,y:t,zoom:n})=>AH.translate(e,t).scale(n),iT=(e,t)=>e.target.closest(`.${t}`),Akt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),yQn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,bte=(e,t=0,n=yQn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},Rkt=e=>{const t=e.ctrlKey&&yM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function bQn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(iT(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=rg(d),b=Rkt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===Xk.Vertical?0:d.deltaX*p,m=s===Xk.Horizontal?0:d.deltaY*p;!yM()&&d.shiftKey&&s!==Xk.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=$H(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,g))}}function xQn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=iT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function wQn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=$H(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 SQn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&Akt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,$H(a.transform))}}function kQn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Akt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=$H(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function OQn({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"&&(iT(f,`${u}-flow__node`)||iT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||iT(f,l)&&m||iT(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 g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function _Qn({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=ikt().scaleExtent([t,n]).translateExtent(r),p=kp(e).call(f);x({x:s.x,y:s.y,zoom:zj(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(Rkt);function g(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?ux:b8).transform(bte(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:z,panOnScrollSpeed:U,preventScrolling:q,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:V,zoomActivationKeyPressed:$,lib:B,onTransformChange:Z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:ee}){D&&!u.isZoomingOrPanning&&b();const J=F&&!$&&!D;f.clickDistance(ee?1/0:!gg(ne)||ne<0?0:ne);const ae=J?bQn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:z,panOnScrollSpeed:U,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):xQn({noWheelClassName:A,preventScrolling:q,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=wQn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const re=SQn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",re);const le=kQn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",le)}const fe=OQn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:V,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:B,connectionInProgress:K});f.filter(fe),V?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=yte(A),F=f?.constrain()(D,R,L);return F&&await g(F),new Promise(H=>H(F))}async function S(A,R){const L=yte(A);return await g(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=yte(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 C(){const A=p?akt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function _(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?ux:b8).scaleTo(bte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?ux:b8).scaleBy(bte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!gg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:C,scaleTo:_,scaleBy:E,setScaleExtent:T,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var qj;(function(e){e.Line="line",e.Handle="handle"})(qj||(qj={}));function CQn({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 t7e(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 G0(e,t){return Math.max(0,t-e)}function Q0(e,t){return Math.max(0,e-t)}function V6(e,t,n){return Math.max(0,t-e,e-n)}function n7e(e,t){return e?!t:t}function EQn(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:g,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:C,height:_,aspectRatio:E}=e;let T=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=C+(c?-T:T),A=_+(u?-N:N),R=-a[0]*C,L=-a[1]*_;let D=V6(I,g,y),F=V6(A,b,x);if(i){let U=0,q=0;c&&T<0?U=G0(S+T+R,i[0][0]):!c&&T>0&&(U=Q0(S+I+R,i[1][0])),u&&N<0?q=G0(k+N+L,i[0][1]):!u&&N>0&&(q=Q0(k+A+L,i[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(l){let U=0,q=0;c&&T>0?U=Q0(S+T,l[0][0]):!c&&T<0&&(U=G0(S+I,l[1][0])),u&&N>0?q=Q0(k+N,l[0][1]):!u&&N<0&&(q=G0(k+A,l[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(s){if(d){const U=V6(I/E,b,x)*E;if(D=Math.max(D,U),i){let q=0;!c&&!u||c&&!u&&p?q=Q0(k+L+I/E,i[1][1])*E:q=G0(k+L+(c?T:-T)/E,i[0][1])*E,D=Math.max(D,q)}if(l){let q=0;!c&&!u||c&&!u&&p?q=G0(k+I/E,l[1][1])*E:q=Q0(k+(c?T:-T)/E,l[0][1])*E,D=Math.max(D,q)}}if(f){const U=V6(A*E,g,y)/E;if(F=Math.max(F,U),i){let q=0;!c&&!u||u&&!c&&p?q=Q0(S+A*E+R,i[1][0])/E:q=G0(S+(u?N:-N)*E+R,i[0][0])/E,F=Math.max(F,q)}if(l){let q=0;!c&&!u||u&&!c&&p?q=G0(S+A*E,l[1][0])/E:q=Q0(S+(u?N:-N)*E,l[0][0])/E,F=Math.max(F,q)}}}N=N+(N<0?F:-F),T=T+(T<0?D:-D),s&&(p?I>A*E?N=(n7e(c,u)?-T:T)/E:T=(n7e(c,u)?-N:N)*E:d?(N=T/E,u=c):(T=N*E,c=u));const H=c?S+T:S,z=u?k+N:k;return{width:C+(c?-T:T),height:_+(u?-N:N),x:a[0]*T*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+z}}const Pkt={width:0,height:0,x:0,y:0},TQn={...Pkt,pointerX:0,pointerY:0,aspectRatio:1};function jQn(e){return[[0,0],[e.measured.width,e.measured.height]]}function NQn(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 IQn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=kp(e);let i={controlDirection:t7e("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:g,shouldResize:y}){let b={...Pkt},x={...TQn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:t7e(u)};let S,k=null,C=[],_,E,T,N=!1;const I=HSt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:z}=n();if(S=R.get(t),!S)return;k=z?.getBoundingClientRect()??null;const{xSnapped:U,ySnapped:q}=p2(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:U,pointerY:q,aspectRatio:b.width/b.height},_=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(_=R.get(S.parentId),E=_&&S.extent==="parent"?jQn(_):void 0),C=[],T=void 0;for(const[M,G]of R)if(G.parentId===t&&(C.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const V=NQn(G,S,G.origin??H);T?T=[[Math.min(V[0][0],T[0][0]),Math.min(V[0][1],T[0][1])],[Math.max(V[1][0],T[1][0]),Math.max(V[1][1],T[1][1])]]:T=V}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=p2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),z=[];if(!S)return;const{x:U,y:q,width:M,height:G}=b,V={},$=S.origin??F,{width:B,height:Z,x:K,y:ne}=EQn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,T),ee=B!==M,J=Z!==G,ae=K!==U&&ee,fe=ne!==q&&J;if(!ae&&!fe&&!ee&&!J)return;if((ae||fe||$[0]===1||$[1]===1)&&(V.x=ae?K:b.x,V.y=fe?ne:b.y,b.x=V.x,b.y=V.y,C.length>0)){const ue=K-U,oe=ne-q;for(const me of C)me.position={x:me.position.x-ue+$[0]*(B-M),y:me.position.y-oe+$[1]*(Z-G)},z.push(me)}if((ee||J)&&(V.width=ee&&(!i.resizeDirection||i.resizeDirection==="horizontal")?B:b.width,V.height=J&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=V.width,b.height=V.height),_&&S.expandParent){const ue=$[0]*(V.width??0);V.x&&V.x<ue&&(b.x=ue,x.x=x.x-(V.x-ue));const oe=$[1]*(V.height??0);V.y&&V.y<oe&&(b.y=oe,x.y=x.y-(V.y-oe))}const Y=CQn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),re={...b,direction:Y};y?.(A,re)!==!1&&(N=!0,m?.(A,re),r(V,z))}).on("end",A=>{N&&(g?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const AQn={},r7e=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:()=>{(AQn?"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},RQn=e=>e?r7e(e):r7e,{useDebugValue:PQn}=Fe,{useSyncExternalStoreWithSelector:$Qn}=z_n,MQn=e=>e;function $kt(e,t=MQn,n){const r=$Qn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return PQn(r),r}const s7e=(e,t)=>{const n=RQn(e),r=(s,a=t)=>$kt(n,s,a);return Object.assign(r,n),r},DQn=(e,t)=>e?s7e(e,t):s7e;function ao(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 MH=v.createContext(null),LQn=MH.Provider,Mkt=vy.error001();function Us(e,t){const n=v.useContext(MH);if(n===null)throw new Error(Mkt);return $kt(n,e,t)}function To(){const e=v.useContext(MH);if(e===null)throw new Error(Mkt);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const a7e={display:"none"},FQn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Dkt="react-flow__node-desc",Lkt="react-flow__edge-desc",zQn="react-flow__aria-live",BQn=e=>e.ariaLiveMessage,UQn=e=>e.ariaLabelConfig;function qQn({rfId:e}){const t=Us(BQn);return o.jsx("div",{id:`${zQn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:FQn,children:t})}function VQn({rfId:e,disableKeyboardA11y:t}){const n=Us(UQn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${Dkt}-${e}`,style:a7e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${Lkt}-${e}`,style:a7e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(qQn,{rfId:e})]})}const C3=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:ql(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});C3.displayName="Panel";function HQn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(C3,{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 WQn=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}},H6=e=>e.id;function ZQn(e,t){return ao(e.selectedNodes.map(H6),t.selectedNodes.map(H6))&&ao(e.selectedEdges.map(H6),t.selectedEdges.map(H6))}function GQn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(WQn,ZQn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const QQn=e=>!!e.onSelectionChangeHandlers;function YQn({onSelectionChange:e}){const t=Us(QQn);return e||t?o.jsx(GQn,{onSelectionChange:e}):null}const Pge=typeof window<"u"?v.useLayoutEffect:v.useEffect,Fkt=[0,0],KQn={x:0,y:0,zoom:1},XQn=["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"],i7e=[...XQn,"rfId"],JQn=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}),o7e={translateExtent:hM,nodeOrigin:Fkt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function eYn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(JQn,ao),u=To();Pge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=o7e,l()}),[]);const d=v.useRef(o7e);return Pge(()=>{for(const f of i7e){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:qGn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},i7e.map(f=>e[f])),null}function l7e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function tYn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=l7e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:l7e()?.matches?"dark":"light"}const c7e=typeof document<"u"?document:null;function bM(e=null,t={target:c7e,actInsideInputWithModifier:!0}){const[n,r]=v.useState(!1),s=v.useRef(!1),a=v.useRef(new Set([])),[i,l]=v.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 tqn(this):new XUn(this)}getCursor(t,n=0,r){let s=t.doc?t:cs.create({doc:t});return r==null&&(r=s.doc.length),this.regexp?zE(this,s,n,r):FE(this,s,n,r)}}class hSt{constructor(t){this.spec=t}}function YUn(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 FE(e,t,n,r){let s;return e.wholeWord&&(s=KUn(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(s=YUn(e.test,t,s)),new Ix(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:a=>a.toLowerCase(),s)}function KUn(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(mB(s,n-a))!=So.Word||t(gB(s,n-a))!=So.Word)&&(t(gB(s,r-a))!=So.Word||t(mB(s,r-a))!=So.Word))}class XUn extends hSt{constructor(t){super(t)}nextMatch(t,n,r){let s=FE(this.spec,t,r,t.doc.length).nextOverlapping();if(s.done){let a=Math.min(t.doc.length,n+this.spec.unquoted.length);s=FE(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=FE(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=FE(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=FE(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 JUn(e,t,n){return(r,s,a)=>(!n||n(r,s,a))&&e(a[0],t,r,s)}function zE(e,t,n,r){let s;return e.wholeWord&&(s=eqn(t.charCategorizer(t.selection.main.head))),e.test&&(s=JUn(e.test,t,s)),new dSt(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:s},n,r)}function mB(e,t){return e.slice(Oc(e,t,!1),t)}function gB(e,t){return e.slice(t,Oc(e,t))}function eqn(e){return(t,n,r)=>!r[0].length||(e(mB(r.input,r.index))!=So.Word||e(gB(r.input,r.index))!=So.Word)&&(e(gB(r.input,r.index+r[0].length))!=So.Word||e(mB(r.input,r.index+r[0].length))!=So.Word)}class tqn extends hSt{nextMatch(t,n,r){let s=zE(this.spec,t,r,t.doc.length).next();return s.done&&(s=zE(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=zE(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=zE(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=zE(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 oM=xr.define(),pke=xr.define(),Hw=yl.define({create(e){return new mee(bge(e).create(),null)},update(e,t){for(let n of t.effects)n.is(oM)?e=new mee(n.value.create(),e.panel):n.is(pke)&&(e=new mee(e.query,n.value?hke:null));return e},provide:e=>K$.from(e,t=>t.panel)});class mee{constructor(t,n){this.query=t,this.panel=n}}const nqn=jn.mark({class:"cm-searchMatch"}),rqn=jn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),sqn=Co.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(Hw))}update(e){let t=e.state.field(Hw);(t!=e.startState.field(Hw)||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 Rd;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?rqn:nqn)})}return r.finish()}},{decorations:e=>e.decorations});function b3(e){return t=>{let n=t.state.field(Hw,!1);return n&&n.query.spec.valid?e(t,n):vSt(t)}}const vB=b3((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let s=xt.single(r.from,r.to),a=e.state.facet(cI);return e.dispatch({selection:s,effects:[mke(e,r),a.scrollToMatch(s.main,e)],userEvent:"select.search"}),gSt(e),!0}),yB=b3((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,s=t.prevMatch(n,r,r);if(!s)return!1;let a=xt.single(s.from,s.to),i=e.state.facet(cI);return e.dispatch({selection:a,effects:[mke(e,s),i.scrollToMatch(a.main,e)],userEvent:"select.search"}),gSt(e),!0}),aqn=b3((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:xt.create(n.map(r=>xt.range(r.from,r.to))),userEvent:"select.search.matches"}),!0)}),iqn=({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 Ix(e.doc,e.sliceDoc(r,s));!l.next().done;){if(a.length>1e3)return!1;l.value.from==r&&(i=a.length),a.push(xt.range(l.value.from,l.value.to))}return t(e.update({selection:xt.create(a,i),userEvent:"select.search.matches"})),!0},g8e=b3((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(It.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=xt.single(i.from,i.to).map(f),d.push(mke(e,i)),d.push(n.facet(cI).scrollToMatch(c.main,e))),e.dispatch({changes:f,selection:c,effects:d,userEvent:"input.replace"}),!0}),oqn=b3((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:It.announce.of(r),userEvent:"input.replace.all"}),!0});function hke(e){return e.state.facet(cI).createPanel(e)}function bge(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(cI);return new pSt({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 mSt(e){let t=NSe(e,hke);return t&&t.dom.querySelector("[main-field]")}function gSt(e){let t=mSt(e);t&&t==e.root.activeElement&&t.select()}const vSt=e=>{let t=e.state.field(Hw,!1);if(t&&t.panel){let n=mSt(e);if(n&&n!=e.root.activeElement){let r=bge(e.state,t.query.spec);r.valid&&e.dispatch({effects:oM.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[pke.of(!0),t?oM.of(bge(e.state,t.query.spec)):xr.appendConfig.of(dqn)]});return!0},ySt=e=>{let t=e.state.field(Hw,!1);if(!t||!t.panel)return!1;let n=NSe(e,hke);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:pke.of(!1)}),!0},lqn=[{key:"Mod-f",run:vSt,scope:"editor search-panel"},{key:"F3",run:vB,shift:yB,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:vB,shift:yB,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:ySt,scope:"editor search-panel"},{key:"Mod-Shift-l",run:iqn},{key:"Mod-Alt-g",run:LUn},{key:"Mod-d",run:QUn,preventDefault:!0}];class cqn{constructor(t){this.view=t;let n=this.query=t.state.field(Hw).query.spec;this.commit=this.commit.bind(this),this.searchField=pi("input",{value:n.search,placeholder:ip(t,"Find"),"aria-label":ip(t,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=pi("input",{value:n.replace,placeholder:ip(t,"Replace"),"aria-label":ip(t,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=pi("input",{type:"checkbox",name:"case",form:"",checked:n.caseSensitive,onchange:this.commit}),this.reField=pi("input",{type:"checkbox",name:"re",form:"",checked:n.regexp,onchange:this.commit}),this.wordField=pi("input",{type:"checkbox",name:"word",form:"",checked:n.wholeWord,onchange:this.commit});function r(s,a,i){return pi("button",{class:"cm-button",name:s,onclick:a,type:"button"},i)}this.dom=pi("div",{onkeydown:s=>this.keydown(s),class:"cm-search"},[this.searchField,r("next",()=>vB(t),[ip(t,"next")]),r("prev",()=>yB(t),[ip(t,"previous")]),r("select",()=>aqn(t),[ip(t,"all")]),pi("label",null,[this.caseField,ip(t,"match case")]),pi("label",null,[this.reField,ip(t,"regexp")]),pi("label",null,[this.wordField,ip(t,"by word")]),...t.state.readOnly?[]:[pi("br"),this.replaceField,r("replace",()=>g8e(t),[ip(t,"replace")]),r("replaceAll",()=>oqn(t),[ip(t,"replace all")])],pi("button",{name:"close",onclick:()=>ySt(t),"aria-label":ip(t,"close"),type:"button"},["×"])])}commit(){let t=new pSt({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:oM.of(t)}))}keydown(t){j6n(this.view,t,"search-panel")?t.preventDefault():t.keyCode==13&&t.target==this.searchField?(t.preventDefault(),(t.shiftKey?yB:vB)(this.view)):t.keyCode==13&&t.target==this.replaceField&&(t.preventDefault(),g8e(this.view))}update(t){for(let n of t.transactions)for(let r of n.effects)r.is(oM)&&!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(cI).top}}function ip(e,t){return e.state.phrase(t)}const $6=30,M6=/[\s\.,:;?!]/;function mke(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-$6),i=Math.min(s,n+$6),l=e.state.sliceDoc(a,i);if(a!=r.from){for(let c=0;c<$6;c++)if(!M6.test(l[c+1])&&M6.test(l[c])){l=l.slice(c);break}}if(i!=s){for(let c=l.length-1;c>l.length-$6;c--)if(!M6.test(l[c-1])&&M6.test(l[c])){l=l.slice(0,c);break}}return It.announce.of(`${e.state.phrase("current match")}. ${l} ${e.state.phrase("on line")} ${r.number}.`)}const uqn=It.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"}}),dqn=[Hw,Kp.low(sqn),uqn];class v8e{constructor(t,n,r){this.from=t,this.to=n,this.diagnostic=r}}class wk{constructor(t,n,r){this.diagnostics=t,this.panel=n,this.selected=r}static init(t,n,r){let s=r.facet(lM).markerFilter;s&&(t=s(t,r));let a=t.slice().sort((d,f)=>d.from-f.from||d.to-f.to),i=new Rd,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((g,y)=>Math.min(g,y.to),f&&f.from>p?f.from:1e8)):(p=f.from,h=f.to,l.push(f),d++);d<a.length;){let g=a[d];if(g.from==p&&(g.to>g.from||g.to==p))l.push(g),d++,h=Math.min(g.to,h);else{h=Math.min(g.from,h);break}}let m=Oqn(l);if(l.some(g=>g.from==g.to||g.from==g.to-1&&r.doc.lineAt(g.from).to==g.from))i.add(p,p,jn.widget({widget:new xqn(m),diagnostics:l.slice()}));else{let g=l.reduce((y,b)=>b.markClass?y+" "+b.markClass:y,"");i.add(p,h,jn.mark({class:"cm-lintRange cm-lintRange-"+m+g,diagnostics:l.slice(),inclusiveEnd:l.some(y=>y.to>h)}))}c=h;for(let g=0;g<l.length;g++)l[g].to<=c&&l.splice(g--,1)}let u=i.finish();return new wk(u,n,Mj(u))}}function Mj(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 v8e(s,a,t||i.diagnostics[0]);else{if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;r=new v8e(r.from,a,r.diagnostic)}}),r}function fqn(e,t){let n=t.pos,r=t.end||n,s=e.state.facet(lM).hideOn(e,n,r);if(s!=null)return s;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(i=>i.is(bSt))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function pqn(e,t){return e.field(Ep,!1)?t:t.concat(xr.appendConfig.of(_qn))}const bSt=xr.define(),gke=xr.define(),xSt=xr.define(),Ep=yl.define({create(){return new wk(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=Mj(n,e.selected.diagnostic,a)||Mj(n,null,a)}!n.size&&s&&t.state.facet(lM).autoPanel&&(s=null),e=new wk(n,s,r)}for(let n of t.effects)if(n.is(bSt)){let r=t.state.facet(lM).autoPanel?n.value.length?cM.open:null:e.panel;e=wk.init(n.value,r,t.state)}else n.is(gke)?e=new wk(e.diagnostics,n.value?cM.open:null,e.selected):n.is(xSt)&&(e=new wk(e.diagnostics,e.panel,n.value));return e},provide:e=>[K$.from(e,t=>t.panel),It.decorations.from(e,t=>t.diagnostics)]}),hqn=jn.mark({class:"cm-lintRange cm-lintRange-active"});function mqn(e,t,n){let{diagnostics:r}=e.state.field(Ep),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(lM).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:gqn(e,s)}}}:null}function gqn(e,t){return pi("ul",{class:"cm-tooltip-lint"},t.map(n=>SSt(e,n,!1)))}const vqn=e=>{let t=e.state.field(Ep,!1);(!t||!t.panel)&&e.dispatch({effects:pqn(e.state,[gke.of(!0)])});let n=NSe(e,cM.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},y8e=e=>{let t=e.state.field(Ep,!1);return!t||!t.panel?!1:(e.dispatch({effects:gke.of(!1)}),!0)},yqn=e=>{let t=e.state.field(Ep,!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)},bqn=[{key:"Mod-Shift-m",run:vqn,preventDefault:!0},{key:"F8",run:yqn}],lM=Cn.define({combine(e){return{sources:e.map(t=>t.source).filter(t=>t!=null),...Dy(e.map(t=>t.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:b8e,tooltipFilter:b8e,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 b8e(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function wSt(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 SSt(e,t,n){var r;let s=n?wSt(t.actions):[];return pi("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},pi("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=Mj(e.state.field(Ep).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),pi("u",u.slice(d,d+1)),u.slice(d+1)],p=a.markClass?" "+a.markClass:"";return pi("button",{type:"button",class:"cm-diagnosticAction"+p,onclick:c,onmousedown:c,"aria-label":` Action: ${u}${d<0?"":` (access key "${s[i]})"`}.`},f)}),t.source&&pi("div",{class:"cm-diagnosticSource"},t.source))}class xqn extends Xp{constructor(t){super(),this.sev=t}eq(t){return t.sev==this.sev}toDOM(){return pi("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}}class x8e{constructor(t,n){this.diagnostic=n,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=SSt(t,n,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class cM{constructor(t){this.view=t,this.items=[];let n=s=>{if(s.keyCode==27)y8e(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=wSt(a.actions);for(let l=0;l<i.length;l++)if(i[l].toUpperCase().charCodeAt(0)==s.keyCode){let c=Mj(this.view.state.field(Ep).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=pi("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:n,onclick:r}),this.dom=pi("div",{class:"cm-panel-lint"},this.list,pi("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>y8e(this.view)},"×")),this.update()}get selectedIndex(){let t=this.view.state.field(Ep).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(Ep),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 x8e(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 x8e(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(Ep),r=Mj(n.diagnostics,this.items[t].diagnostic);r&&this.view.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:xSt.of(r)})}static open(t){return new cM(t)}}function wqn(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 D6(e){return wqn(`<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 Sqn=It.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:D6("#d11")},".cm-lintRange-warning":{backgroundImage:D6("orange")},".cm-lintRange-info":{backgroundImage:D6("#999")},".cm-lintRange-hint":{backgroundImage:D6("#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 kqn(e){return e=="error"?4:e=="warning"?3:e=="info"?2:1}function Oqn(e){let t="hint",n=1;for(let r of e){let s=kqn(r.severity);s>n&&(n=s,t=r.severity)}return t}const _qn=[Ep,It.decorations.compute([Ep],e=>{let{selected:t,panel:n}=e.field(Ep);return!t||!n||t.from==t.to?jn.none:jn.set([hqn.range(t.from,t.to)])}),vFn(mqn,{hideOn:fqn}),Sqn];var w8e=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(h8n)),t.defaultKeymap!==!1&&(a=a.concat($Un)),t.searchKeymap!==!1&&(a=a.concat(lqn)),t.historyKeymap!==!1&&(a=a.concat(UBn)),t.foldKeymap!==!1&&(a=a.concat(JFn)),t.completionKeymap!==!1&&(a=a.concat(gwt)),t.lintKeymap!==!1&&(a=a.concat(bqn));var i=[];return t.lineNumbers!==!1&&i.push(jFn()),t.highlightActiveLineGutter!==!1&&i.push(AFn()),t.highlightSpecialChars!==!1&&i.push(H6n()),t.history!==!1&&i.push(RBn()),t.foldGutter!==!1&&i.push(rzn()),t.drawSelection!==!1&&i.push($6n()),t.dropCursor!==!1&&i.push(z6n()),t.allowMultipleSelections!==!1&&i.push(cs.allowMultipleSelections.of(!0)),t.indentOnInput!==!1&&i.push(HFn()),t.syntaxHighlighting!==!1&&i.push(G1(ozn,{fallback:!0})),t.bracketMatching!==!1&&i.push(hzn()),t.closeBrackets!==!1&&i.push(u8n()),t.autocompletion!==!1&&i.push(mwt()),t.rectangularSelection!==!1&&i.push(aFn()),s!==!1&&i.push(lFn()),t.highlightActiveLine!==!1&&i.push(K6n()),t.highlightSelectionMatches!==!1&&i.push(BUn()),t.tabSize&&typeof t.tabSize=="number"&&i.push(aI.of(" ".repeat(t.tabSize))),i.concat([sI.of(a.flat())]).filter(Boolean)};const Cqn="#e5c07b",S8e="#e06c75",Eqn="#56b6c2",Tqn="#ffffff",v8="#abb2bf",xge="#7d8799",jqn="#61afef",Nqn="#98c379",k8e="#d19a66",Iqn="#c678dd",Aqn="#21252b",O8e="#2c313a",_8e="#282c34",gee="#353a42",Rqn="#3E4451",C8e="#528bff",Pqn=It.theme({"&":{color:v8,backgroundColor:_8e},".cm-content":{caretColor:C8e},".cm-cursor, .cm-dropCursor":{borderLeftColor:C8e},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:Rqn},".cm-panels":{backgroundColor:Aqn,color:v8},".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:_8e,color:xge,border:"none"},".cm-activeLineGutter":{backgroundColor:O8e},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:gee},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:gee,borderBottomColor:gee},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:O8e,color:v8}}},{dark:!0}),$qn=Bg.define([{tag:pe.keyword,color:Iqn},{tag:[pe.name,pe.deleted,pe.character,pe.propertyName,pe.macroName],color:S8e},{tag:[pe.function(pe.variableName),pe.labelName],color:jqn},{tag:[pe.color,pe.constant(pe.name),pe.standard(pe.name)],color:k8e},{tag:[pe.definition(pe.name),pe.separator],color:v8},{tag:[pe.typeName,pe.className,pe.number,pe.changed,pe.annotation,pe.modifier,pe.self,pe.namespace],color:Cqn},{tag:[pe.operator,pe.operatorKeyword,pe.url,pe.escape,pe.regexp,pe.link,pe.special(pe.string)],color:Eqn},{tag:[pe.meta,pe.comment],color:xge},{tag:pe.strong,fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.link,color:xge,textDecoration:"underline"},{tag:pe.heading,fontWeight:"bold",color:S8e},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:k8e},{tag:[pe.processingInstruction,pe.string,pe.inserted],color:Nqn},{tag:pe.invalid,color:Tqn}]),Mqn=[Pqn,G1($qn)];var Dqn=It.theme({"&":{backgroundColor:"#fff"}},{dark:!1}),Lqn=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,g=[];switch(s&&g.unshift(sI.of([MUn])),m&&(typeof m=="boolean"?g.unshift(w8e()):g.unshift(w8e(m))),p&&g.unshift(tFn(p)),d){case"light":g.push(Dqn);break;case"dark":g.push(Mqn);break;case"none":break;default:g.push(d);break}return i===!1&&g.push(It.editable.of(!1)),c&&g.push(cs.readOnly.of(!0)),[...g]},Fqn=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 zqn{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 E8e{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 vee=null,Bqn=()=>typeof window>"u"?new E8e:(vee||(vee=new E8e),vee),Uqn=It.theme({"& .cm-scroller":{height:"100% !important"}}),T8e=null,yee=null;function qqn(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===T8e||(T8e=i,yee=It.theme({"&":{height:e,minHeight:t,maxHeight:n,width:r,minWidth:s,maxWidth:a}})),yee}var j8e=My.define(),Vqn=200,Hqn=[];function Wqn(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?Hqn: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,g=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,C=k===void 0?null:k,_=e.maxWidth,E=_===void 0?null:_,T=e.placeholder,N=T===void 0?"":T,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,z=H===void 0?!0:H,U=e.root,q=e.initialState,M=v.useState(),G=M[0],V=M[1],$=v.useState(),B=$[0],Z=$[1],K=v.useState(),ne=K[0],ee=K[1],J=v.useState(()=>({current:null}))[0],ae=v.useState(()=>({current:null}))[0],fe=qqn(h,g,b,S,C,E),Y=It.updateListener.of(ue=>{if(ue.docChanged&&typeof r=="function"&&!ue.transactions.some(be=>be.annotation(j8e))){J.current?J.current.reset():(J.current=new zqn(()=>{if(ae.current){var be=ae.current;ae.current=null,be()}J.current=null},Vqn),Bqn().add(J.current));var oe=ue.state.doc,me=oe.toString();r(me,ue)}s&&s(Fqn(ue))}),re=Lqn({theme:f,editable:A,readOnly:L,placeholder:N,indentWithTab:F,basicSetup:z}),le=[Y,...fe?[fe]:[],Uqn,...re];return i&&typeof i=="function"&&le.push(It.updateListener.of(i)),le=le.concat(c),v.useLayoutEffect(()=>{if(G&&!ne){var ue={doc:t,selection:n,extensions:le},oe=q?cs.fromJSON(q.json,ue,q.fields):cs.create(ue);if(ee(oe),!B){var me=new It({state:oe,parent:G,root:U});Z(me),a&&a(me,oe)}}return()=>{B&&(ee(void 0),Z(void 0))}},[G,ne]),v.useEffect(()=>{e.container&&V(e.container)},[e.container]),v.useEffect(()=>()=>{B&&(B.destroy(),Z(void 0)),J.current&&(J.current.cancel(),J.current=null)},[B]),v.useEffect(()=>{u&&B&&B.focus()},[u,B]),v.useEffect(()=>{B&&B.dispatch({effects:xr.reconfigure.of(le)})},[f,c,h,g,b,S,C,E,N,A,L,F,z,r,i]),v.useEffect(()=>{if(t!==void 0){var ue=B?B.state.doc.toString():"";if(B&&t!==ue){var oe=J.current&&!J.current.isDone,me=()=>{B&&t!==B.state.doc.toString()&&B.dispatch({changes:{from:0,to:B.state.doc.toString().length,insert:t||""},annotations:[j8e.of(!0)]})};oe?ae.current=me:me()}}},[t,B]),{state:ne,setState:ee,view:B,setView:Z,container:G,setContainer:V}}var Zqn=["className","value","selection","extensions","onChange","onStatistics","onCreateEditor","onUpdate","autoFocus","theme","height","minHeight","maxHeight","width","minWidth","maxWidth","basicSetup","placeholder","indentWithTab","editable","readOnly","root","initialState"],Yu=v.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,g=e.height,y=e.minHeight,b=e.maxHeight,x=e.width,S=e.minWidth,k=e.maxWidth,C=e.basicSetup,_=e.placeholder,E=e.indentWithTab,T=e.editable,N=e.readOnly,I=e.root,A=e.initialState,R=N1t(e,Zqn),L=v.useRef(null),D=Wqn({root:I,value:s,autoFocus:p,theme:m,height:g,minHeight:y,maxHeight:b,width:x,minWidth:S,maxWidth:k,basicSetup:C,placeholder:_,indentWithTab:E,editable:T,readOnly:N,selection:a,onChange:c,onStatistics:u,onCreateEditor:d,onUpdate:f,extensions:l,initialState:A}),F=D.state,H=D.view,z=D.container,U=D.setContainer;v.useImperativeHandle(t,()=>({editor:L.current,state:F,view:H}),[L,z,F,H]);var q=v.useCallback(G=>{L.current=G,U(G)},[U]);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",zO({ref:q,className:""+M+(n?" "+n:"")},R))});Yu.displayName="CodeMirror";const Gqn={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"};let bee=null;function Qqn(){return bee||(bee=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([go(()=>import("./core-OgjY20DI.js"),__vite__mapDeps([0,1,2]),import.meta.url),go(()=>import("./engine-javascript-CSIo_1eZ.js"),__vite__mapDeps([3,1]),import.meta.url)]);return e({themes:[go(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url),go(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url)],langs:[go(()=>import("./javascript-ySlJ1b_l.js"),[],import.meta.url),go(()=>import("./typescript-Dj6nwHGl.js"),[],import.meta.url),go(()=>import("./tsx-B6W0miNI.js"),[],import.meta.url),go(()=>import("./jsx-BAng5TT0.js"),[],import.meta.url),go(()=>import("./json-BQoSv7ci.js"),[],import.meta.url),go(()=>import("./bash-atvbtKCR.js"),[],import.meta.url),go(()=>import("./markdown-UIAJJxZW.js"),[],import.meta.url),go(()=>import("./python-DhUJRlN_.js"),[],import.meta.url)],engine:t()})})()),bee}async function Yqn(e,t){const n=Gqn[t?.toLowerCase()];if(!n)return null;const r=await Qqn(),{tokens:s}=r.codeToTokens(e,{lang:n,defaultColor:!1,themes:{light:"github-light",dark:"github-dark"}});return s}function Kqn(e){return new MO($Se.define(e))}const kSt=[ng.of({name:"JavaScript",alias:["ecmascript","js","node"],extensions:["js","mjs","cjs"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript())}}),ng.of({name:"JSON",alias:["json5"],extensions:["json","map"],load(){return go(()=>Promise.resolve().then(()=>Czn),void 0,import.meta.url).then(e=>e.json())}}),ng.of({name:"JSX",extensions:["jsx"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0}))}}),ng.of({name:"Markdown",extensions:["md","markdown","mkd"],load(){return go(()=>Promise.resolve().then(()=>xBn),void 0,import.meta.url).then(e=>e.markdown())}}),ng.of({name:"TSX",extensions:["tsx"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript({jsx:!0,typescript:!0}))}}),ng.of({name:"TypeScript",alias:["ts"],extensions:["ts","mts","cts"],load(){return go(()=>Promise.resolve().then(()=>R6),void 0,import.meta.url).then(e=>e.javascript({typescript:!0}))}}),ng.of({name:"Shell",alias:["bash","sh","zsh"],extensions:["sh","ksh","bash"],filename:/^PKGBUILD$/,load(){return go(()=>import("./shell-CjFT_Tl9.js"),[],import.meta.url).then(e=>Kqn(e.shell))}})];function Xqn(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 Jqn(e){const t=Xqn(e);return mwt({override:[eVn(t)],defaultKeymap:!0,closeOnBlur:!0,icons:!1})}function eVn(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 g=u.state.sliceDoc(p,p+2)==="}}"?d.label:`${d.label}}}`;u.dispatch({changes:{from:f,to:p,insert:g},selection:{anchor:f+g.length}})}}));return{from:a,options:l,validFor:/^[a-zA-Z0-9_.\[\]]*$/}}}const tVn=/\{\{([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*)\}\}/g,nVn=jn.mark({class:"cm-variable-highlight"}),N8e=new j0t({regexp:tVn,decoration:()=>nVn}),rVn=Co.fromClass(class{decorations;constructor(e){this.decorations=N8e.createDeco(e)}update(e){this.decorations=N8e.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}),sVn=rVn;function aVn(){const e=oI({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:[pe.className,pe.propertyName],color:"var(--neutral6)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:pe.emphasis,fontStyle:"italic",color:"var(--neutral6)"},{tag:pe.strong,fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:pe.quote,fontStyle:"italic",color:"var(--neutral2)"}]}),t=It.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 iVn(){const e=It.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=Bg.define([{tag:[pe.comment,pe.bracket],color:"var(--neutral2)"},{tag:[pe.string,pe.meta,pe.regexp],color:"var(--accent1)"},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:"var(--accent6)"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"var(--accent2)"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"var(--accent5)"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"var(--accent3)"},{tag:[pe.variableName,pe.number],color:"var(--accent5)"},{tag:[pe.name,pe.quote],color:"var(--accent1)"},{tag:pe.heading,color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.heading1,pe.heading2,pe.heading3,pe.heading4,pe.heading5,pe.heading6],color:"var(--accent3)",fontWeight:"bold"},{tag:[pe.emphasis],fontStyle:"italic",color:"var(--neutral6)"},{tag:[pe.strong],fontWeight:"bold",color:"var(--neutral6)"},{tag:pe.link,color:"var(--accent3)",textDecoration:"underline"},{tag:pe.url,color:"var(--accent3)"},{tag:pe.monospace,color:"var(--neutral6)"},{tag:pe.strikethrough,textDecoration:"line-through"},{tag:[pe.deleted],color:"var(--accent2)"},{tag:pe.invalid,color:"var(--error)"},{tag:[pe.standard(pe.tagName)],color:"var(--accent1)"}]);return[e,G1(t)]}const e0=()=>{const e=L_().resolvedTheme==="dark";return v.useMemo(()=>e?aVn():iVn(),[e])},oVn=lo(X("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"}}),lVn=Kp.highest(It.editorAttributes.of({style:"outline: none"})),cVn=Kp.highest(It.theme({"&":{outline:"none"},"&.cm-focused":{outline:"none"},".cm-scroller":{outline:"none"},".cm-content":{outline:"none"},".cm-content:focus":{outline:"none"}})),uVn=[lVn,cVn],Hr=v.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},g)=>{const y=e0(),b=e?JSON.stringify(e,null,2):t??"",x=v.useMemo(()=>{const S=[...uVn];return f&&S.push(It.lineWrapping),a==="json"?S.push(Rp):a==="markdown"&&S.push(lke({base:FO,codeLanguages:kSt})),i&&a==="markdown"&&S.push(sVn),c&&a==="markdown"&&S.push(Jqn(c)),p===!1&&S.push(cs.readOnly.of(!0)),S},[a,i,c,p,f]);return o.jsxs("div",{className:X(oVn({variant:h}),s),...m,children:[r&&o.jsx(Pa,{content:b,className:"absolute top-2 right-2 z-20"}),o.jsx(Yu,{ref:g,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}})]})}),dVn=e=>{try{return JSON.stringify(e??{},null,2)}catch{return"{}"}},fVn=({editorClassName:e="h-[240px] max-h-[40vh]",onSaved:t})=>{const n=e0(),{settings:r,setSettings:s}=tH(),a=r?.tracingOptions,i=v.useMemo(()=>dVn(a),[a]),[l,c]=v.useState(()=>i),u=v.useRef(!1);v.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(ye,{as:"h3",variant:"ui-md",className:"text-neutral3",children:"Tracing Options"}),o.jsx(Yu,{value:l,onChange:d,theme:n,extensions:[Rp],className:X("overflow-y-scroll bg-surface3 rounded-lg overflow-hidden p-3",e)}),o.jsx("div",{className:"flex items-center justify-end",children:o.jsx(ce,{type:"button",onClick:f,children:"Save"})})]})},pVn=()=>{const[e,t]=v.useState(!1);return o.jsxs(o.Fragment,{children:[o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(ce,{type:"button",variant:"ghost",size:"icon-md","aria-label":"Run Options",onClick:()=>t(!0),children:o.jsx(qe,{children:o.jsx(Wq,{})})})}),o.jsx(Rn,{children:"Run Options"})]}),o.jsx(vr,{open:e,onOpenChange:t,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Options"}),o.jsx(zs,{children:"Configure tracing and debug options for this workflow run"})]}),o.jsx(Ir,{children:o.jsx(fVn,{onSaved:()=>t(!1)})})]})})]})};function hVn({status:e}){switch(e){case"running":return o.jsx(Jt,{});case"failed":return o.jsx(fs,{className:"text-accent2"});case"canceled":return o.jsx(Rf,{className:"text-neutral3"});case"pending":case"waiting":return o.jsx(lj,{className:"text-neutral3"});case"suspended":return o.jsx(zq,{className:"text-accent3"});case"success":return o.jsx(da,{className:"text-accent1"});default:return o.jsx(lj,{className:"text-neutral3"})}}function OSt({status:e}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(qe,{"aria-label":e,className:"shrink-0",children:o.jsx(hVn,{status:e})})}),o.jsx(Rn,{children:e})]})}var xee,I8e;function vke(){if(I8e)return xee;I8e=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([g,y]){d(g)&&f.setNode(g,y)}),Object.values(this._edgeObjs).forEach(function(g){f.hasNode(g.v)&&f.hasNode(g.w)&&f.setEdge(g,p.edge(g))});var h={};function m(g){var y=p.parent(g);return y===void 0||f.hasNode(y)?(h[g]=y,y):y in h?h[y]:m(y)}return this._isCompound&&f.nodes().forEach(g=>f.setParent(g,m(g))),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,g){return h.length>1?p.setEdge(m,g,f):p.setEdge(m,g),g}),this}setEdge(){var d,f,p,h,m=!1,g=arguments[0];typeof g=="object"&&g!==null&&"v"in g?(d=g.v,f=g.w,p=g.name,arguments.length===2&&(h=arguments[1],m=!0)):(d=g,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 g=h;h=m,m=g}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 g=h;h=m,m=g}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 xee=r,xee}var wee,A8e;function mVn(){return A8e||(A8e=1,wee="2.2.4"),wee}var See,R8e;function gVn(){return R8e||(R8e=1,See={Graph:vke(),version:mVn()}),See}var kee,P8e;function vVn(){if(P8e)return kee;P8e=1;var e=vke();kee={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 kee}var Oee,$8e;function yVn(){if($8e)return Oee;$8e=1,Oee=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 Oee}var _ee,M8e;function _St(){if(M8e)return _ee;M8e=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 _ee=e,_ee}var Cee,D8e;function CSt(){if(D8e)return Cee;D8e=1;var e=_St();Cee=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,g=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<g.distance&&(g.distance=b,g.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 Cee}var Eee,L8e;function bVn(){if(L8e)return Eee;L8e=1;var e=CSt();Eee=t;function t(n,r,s){return n.nodes().reduce(function(a,i){return a[i]=e(n,i,r,s),a},{})}return Eee}var Tee,F8e;function ESt(){if(F8e)return Tee;F8e=1,Tee=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 Tee}var jee,z8e;function xVn(){if(z8e)return jee;z8e=1;var e=ESt();jee=t;function t(n){return e(n).filter(function(r){return r.length>1||r.length===1&&n.hasEdge(r[0],r[0])})}return jee}var Nee,B8e;function wVn(){if(B8e)return Nee;B8e=1,Nee=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],g=f[p],y=h.distance+m.distance;y<g.distance&&(g.distance=y,g.predecessor=m.predecessor)})})}),i}return Nee}var Iee,U8e;function TSt(){if(U8e)return Iee;U8e=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 Iee=e,e.CycleException=t,Iee}var Aee,q8e;function SVn(){if(q8e)return Aee;q8e=1;var e=TSt();Aee=t;function t(n){try{e(n)}catch(r){if(r instanceof e.CycleException)return!1;throw r}return!0}return Aee}var Ree,V8e;function jSt(){if(V8e)return Ree;V8e=1,Ree=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 Ree}var Pee,H8e;function kVn(){if(H8e)return Pee;H8e=1;var e=jSt();Pee=t;function t(n,r){return e(n,r,"post")}return Pee}var $ee,W8e;function OVn(){if(W8e)return $ee;W8e=1;var e=jSt();$ee=t;function t(n,r){return e(n,r,"pre")}return $ee}var Mee,Z8e;function _Vn(){if(Z8e)return Mee;Z8e=1;var e=vke(),t=_St();Mee=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 Mee}var Dee,G8e;function CVn(){return G8e||(G8e=1,Dee={components:yVn(),dijkstra:CSt(),dijkstraAll:bVn(),findCycles:xVn(),floydWarshall:wVn(),isAcyclic:SVn(),postorder:kVn(),preorder:OVn(),prim:_Vn(),tarjan:ESt(),topsort:TSt()}),Dee}var Lee,Q8e;function $g(){if(Q8e)return Lee;Q8e=1;var e=gVn();return Lee={Graph:e.Graph,json:vVn(),alg:CVn(),version:e.version},Lee}var Fee,Y8e;function EVn(){if(Y8e)return Fee;Y8e=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 Fee=e,Fee}var zee,K8e;function TVn(){if(K8e)return zee;K8e=1;let e=$g().Graph,t=EVn();zee=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],g;for(;u.nodeCount();){for(;g=m.dequeue();)a(u,d,f,g);for(;g=h.dequeue();)a(u,d,f,g);if(u.nodeCount()){for(let y=d.length-2;y>0;--y)if(g=d[y].dequeue(),g){p=p.concat(a(u,d,f,g,!0));break}}}return p}function a(u,d,f,p,h){let m=h?[]:void 0;return u.inEdges(p.v).forEach(g=>{let y=u.edge(g),b=u.node(g.v);h&&m.push({v:g.v,w:g.w}),b.out-=y,l(d,f,b)}),u.outEdges(p.v).forEach(g=>{let y=u.edge(g),b=g.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),g=p+1;return f.nodes().forEach(y=>{l(m,g,f.node(y))}),{graph:f,buckets:m,zeroIdx:g}}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 zee}var Bee,X8e;function Ml(){if(X8e)return Bee;X8e=1;let e=$g().Graph;Bee={addBorderNode:d,addDummyNode:t,applyWithChunking:h,asNonCompoundGraph:r,buildLayerMatrix:l,intersectRect:i,mapValues:_,maxRank:m,normalizeRanks:c,notime:b,partition:g,pick:C,predecessorWeights:a,range:k,removeEmptyRanks:u,simplify:n,successorWeights:s,time:y,uniqueId:S,zipObject:E};function t(T,N,I,A){for(var R=A;T.hasNode(R);)R=S(A);return I.dummy=N,T.setNode(R,I),R}function n(T){let N=new e().setGraph(T.graph());return T.nodes().forEach(I=>N.setNode(I,T.node(I))),T.edges().forEach(I=>{let A=N.edge(I.v,I.w)||{weight:0,minlen:1},R=T.edge(I);N.setEdge(I.v,I.w,{weight:A.weight+R.weight,minlen:Math.max(A.minlen,R.minlen)})}),N}function r(T){let N=new e({multigraph:T.isMultigraph()}).setGraph(T.graph());return T.nodes().forEach(I=>{T.children(I).length||N.setNode(I,T.node(I))}),T.edges().forEach(I=>{N.setEdge(I,T.edge(I))}),N}function s(T){let N=T.nodes().map(I=>{let A={};return T.outEdges(I).forEach(R=>{A[R.w]=(A[R.w]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function a(T){let N=T.nodes().map(I=>{let A={};return T.inEdges(I).forEach(R=>{A[R.v]=(A[R.v]||0)+T.edge(R).weight}),A});return E(T.nodes(),N)}function i(T,N){let I=T.x,A=T.y,R=N.x-I,L=N.y-A,D=T.width/2,F=T.height/2;if(!R&&!L)throw new Error("Not possible to find intersection inside of the rectangle");let H,z;return Math.abs(L)*D>Math.abs(R)*F?(L<0&&(F=-F),H=F*R/L,z=F):(R<0&&(D=-D),H=D,z=D*L/R),{x:I+H,y:A+z}}function l(T){let N=k(m(T)+1).map(()=>[]);return T.nodes().forEach(I=>{let A=T.node(I),R=A.rank;R!==void 0&&(N[R][A.order]=I)}),N}function c(T){let N=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MAX_VALUE:R}),I=h(Math.min,N);T.nodes().forEach(A=>{let R=T.node(A);Object.hasOwn(R,"rank")&&(R.rank-=I)})}function u(T){let N=T.nodes().map(D=>T.node(D).rank),I=h(Math.min,N),A=[];T.nodes().forEach(D=>{let F=T.node(D).rank-I;A[F]||(A[F]=[]),A[F].push(D)});let R=0,L=T.graph().nodeRankFactor;Array.from(A).forEach((D,F)=>{D===void 0&&F%L!==0?--R:D!==void 0&&R&&D.forEach(H=>T.node(H).rank+=R)})}function d(T,N,I,A){let R={width:0,height:0};return arguments.length>=4&&(R.rank=I,R.order=A),t(T,"border",R,N)}function f(T,N=p){const I=[];for(let A=0;A<T.length;A+=N){const R=T.slice(A,A+N);I.push(R)}return I}const p=65535;function h(T,N){if(N.length>p){const I=f(N);return T.apply(null,I.map(A=>T.apply(null,A)))}else return T.apply(null,N)}function m(T){const I=T.nodes().map(A=>{let R=T.node(A).rank;return R===void 0?Number.MIN_VALUE:R});return h(Math.max,I)}function g(T,N){let I={lhs:[],rhs:[]};return T.forEach(A=>{N(A)?I.lhs.push(A):I.rhs.push(A)}),I}function y(T,N){let I=Date.now();try{return N()}finally{console.log(T+" time: "+(Date.now()-I)+"ms")}}function b(T,N){return N()}let x=0;function S(T){var N=++x;return T+(""+N)}function k(T,N,I=1){N==null&&(N=T,T=0);let A=L=>L<N;I<0&&(A=L=>N<L);const R=[];for(let L=T;A(L);L+=I)R.push(L);return R}function C(T,N){const I={};for(const A of N)T[A]!==void 0&&(I[A]=T[A]);return I}function _(T,N){let I=N;return typeof N=="string"&&(I=A=>A[N]),Object.entries(T).reduce((A,[R,L])=>(A[R]=I(L,R),A),{})}function E(T,N){return T.reduce((I,A,R)=>(I[A]=N[R],I),{})}return Bee}var Uee,J8e;function jVn(){if(J8e)return Uee;J8e=1;let e=TVn(),t=Ml().uniqueId;Uee={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 Uee}var qee,e9e;function NVn(){if(e9e)return qee;e9e=1;let e=Ml();qee={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,g;for(g=0,++l;l<u;++g,++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),g===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 qee}var Vee,t9e;function bB(){if(t9e)return Vee;t9e=1;const{applyWithChunking:e}=Ml();Vee={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 Vee}var Hee,n9e;function NSt(){if(n9e)return Hee;n9e=1;var e=$g().Graph,t=bB().slack;Hee=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 Hee}var Wee,r9e;function IVn(){if(r9e)return Wee;r9e=1;var e=NSt(),t=bB().slack,n=bB().longestPath,r=$g().alg.preorder,s=$g().alg.postorder,a=Ml().simplify;Wee=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,C;k=p(S);)C=h(S,x,k),m(S,x,k,C)}function l(x,S){var k=s(x,x.nodes());k=k.slice(0,k.length-1),k.forEach(C=>c(x,S,C))}function c(x,S,k){var C=x.node(k),_=C.parent;x.edge(k,_).cutvalue=u(x,S,k)}function u(x,S,k){var C=x.node(k),_=C.parent,E=!0,T=S.edge(k,_),N=0;return T||(E=!1,T=S.edge(_,k)),N=T.weight,S.nodeEdges(k).forEach(I=>{var A=I.v===k,R=A?I.w:I.v;if(R!==_){var L=A===E,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 E=k,T=x.node(C);return S[C]=!0,x.neighbors(C).forEach(N=>{Object.hasOwn(S,N)||(k=f(x,S,k,N,C))}),T.low=E,T.lim=k++,_?T.parent=_:delete T.parent,k}function p(x){return x.edges().find(S=>x.edge(S).cutvalue<0)}function h(x,S,k){var C=k.v,_=k.w;S.hasEdge(C,_)||(C=k.w,_=k.v);var E=x.node(C),T=x.node(_),N=E,I=!1;E.lim>T.lim&&(N=T,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,C){var _=k.v,E=k.w;x.removeEdge(_,E),x.setEdge(C.v,C.w,{}),d(x),l(x,S),g(x,S)}function g(x,S){var k=x.nodes().find(_=>!S.node(_).parent),C=r(x,k);C=C.slice(1),C.forEach(_=>{var E=x.node(_).parent,T=S.edge(_,E),N=!1;T||(T=S.edge(E,_),N=!0),S.node(_).rank=S.node(E).rank+(N?T.minlen:-T.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 Wee}var Zee,s9e;function AVn(){if(s9e)return Zee;s9e=1;var e=bB(),t=e.longestPath,n=NSt(),r=IVn();Zee=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 Zee}var Gee,a9e;function RVn(){if(a9e)return Gee;a9e=1,Gee=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 Gee}var Qee,i9e;function PVn(){if(i9e)return Qee;i9e=1;let e=Ml();Qee={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"),g=e.addBorderNode(i,"_bb"),y=i.node(p);i.setParent(m,p),y.borderTop=m,i.setParent(g,p),y.borderBottom=g,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,C=x.borderTop?u:2*u,_=S!==k?1:d-f[p]+1;i.setEdge(m,S,{weight:C,minlen:_,nestingEdge:!0}),i.setEdge(k,g,{weight:C,minlen:_,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 Qee}var Yee,o9e;function $Vn(){if(o9e)return Yee;o9e=1;let e=Ml();Yee=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 Yee}var Kee,l9e;function MVn(){if(l9e)return Kee;l9e=1,Kee={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 Kee}var Xee,c9e;function DVn(){if(c9e)return Xee;c9e=1;let e=Ml();Xee=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 Xee}var Jee,u9e;function LVn(){if(u9e)return Jee;u9e=1;let e=Ml().zipObject;Jee=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 Jee}var ete,d9e;function FVn(){if(d9e)return ete;d9e=1,ete=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 ete}var tte,f9e;function zVn(){if(f9e)return tte;f9e=1;let e=Ml();tte=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 tte}var nte,p9e;function BVn(){if(p9e)return nte;p9e=1;let e=Ml();nte=t;function t(s,a){let i=e.partition(s,m=>Object.hasOwn(m,"barycenter")),l=i.lhs,c=i.rhs.sort((m,g)=>g.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 nte}var rte,h9e;function UVn(){if(h9e)return rte;h9e=1;let e=FVn(),t=zVn(),n=BVn();rte=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 g=e(i,d);g.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(g,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 rte}var ste,m9e;function qVn(){if(m9e)return ste;m9e=1;let e=$g().Graph,t=Ml();ste=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,g=u.edge(m,d),y=g!==void 0?g.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 ste}var ate,g9e;function VVn(){if(g9e)return ate;g9e=1,ate=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 ate}var ite,v9e;function HVn(){if(v9e)return ite;v9e=1;let e=DVn(),t=LVn(),n=UVn(),r=qVn(),s=VVn(),a=$g().Graph,i=Ml();ite=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"),g=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:g,S%4>=2),y=i.buildLayerMatrix(f);let C=t(f,y);C<b&&(k=0,x=Object.assign({},y),b=C)}d(f,x)}function c(f,p,h){const m=new Map,g=(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"&&g(b.rank,y),typeof b.minRank=="number"&&typeof b.maxRank=="number")for(let x=b.minRank;x<=b.maxRank;x++)x!==b.rank&&g(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 g=m.graph().root,y=n(m,g,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,g)=>f.node(m).order=g))}return ite}var ote,y9e;function WVn(){if(y9e)return ote;y9e=1;let e=$g().Graph,t=Ml();ote={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,C){let _=0,E=0,T=k.length,N=C[C.length-1];return C.forEach((I,A)=>{let R=s(y,I),L=R?y.node(R).order:T;(R||I===N)&&(C.slice(E,A+1).forEach(D=>{y.predecessors(D).forEach(F=>{let H=y.node(F),z=H.order;(z<_||L<z)&&!(H.dummy&&y.node(D).dummy)&&a(x,F,D)})}),E=A+1,_=L)}),C}return b.length&&b.reduce(S),x}function r(y,b){let x={};function S(C,_,E,T,N){let I;t.range(_,E).forEach(A=>{I=C[A],y.node(I).dummy&&y.predecessors(I).forEach(R=>{let L=y.node(R);L.dummy&&(L.order<T||L.order>N)&&a(x,R,I)})})}function k(C,_){let E=-1,T,N=0;return _.forEach((I,A)=>{if(y.node(I).dummy==="border"){let R=y.predecessors(I);R.length&&(T=y.node(R[0]).order,S(_,N,A,E,T),N=A,E=T)}S(_,N,_.length,T,C.length)}),_}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(E=>{E.forEach((T,N)=>{k[T]=T,C[T]=T,_[T]=N})}),b.forEach(E=>{let T=-1;E.forEach(N=>{let I=S(N);if(I.length){I=I.sort((R,L)=>_[R]-_[L]);let A=(I.length-1)/2;for(let R=Math.floor(A),L=Math.ceil(A);R<=L;++R){let D=I[R];C[N]===N&&T<_[D]&&!i(x,N,D)&&(C[D]=N,C[N]=k[N]=k[D],T=_[D])}}})}),{root:k,align:C}}function c(y,b,x,S,k){let C={},_=u(y,b,x,k),E=k?"borderLeft":"borderRight";function T(A,R){let L=_.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){C[A]=_.inEdges(A).reduce((R,L)=>Math.max(R,C[L.v]+_.edge(L)),0)}function I(A){let R=_.outEdges(A).reduce((D,F)=>Math.min(D,C[F.w]-_.edge(F)),Number.POSITIVE_INFINITY),L=y.node(A);R!==Number.POSITIVE_INFINITY&&L.borderType!==E&&(C[A]=Math.max(C[A],R))}return T(N,_.predecessors.bind(_)),T(I,_.successors.bind(_)),Object.keys(S).forEach(A=>C[A]=C[x[A]]),C}function u(y,b,x,S){let k=new e,C=y.graph(),_=m(C.nodesep,C.edgesep,S);return b.forEach(E=>{let T;E.forEach(N=>{let I=x[N];if(k.setNode(I),T){var A=x[T],R=k.edge(A,I);k.setEdge(A,I,Math.max(_(y,N,T),R||0))}T=N})}),k}function d(y,b){return Object.values(b).reduce((x,S)=>{let k=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY;Object.entries(S).forEach(([E,T])=>{let N=g(y,E)/2;k=Math.max(T+N,k),C=Math.min(T-N,C)});const _=k-C;return _<x[0]&&(x=[_,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(C=>{["l","r"].forEach(_=>{let E=C+_,T=y[E];if(T===b)return;let N=Object.values(T),I=S-t.applyWithChunking(Math.min,N);_!=="l"&&(I=k-t.applyWithChunking(Math.max,N)),I&&(y[E]=t.mapValues(T,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(C=>C[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(_=>{k=_==="u"?b:Object.values(b).reverse(),["l","r"].forEach(E=>{E==="r"&&(k=k.map(A=>Object.values(A).reverse()));let T=(_==="u"?y.predecessors:y.successors).bind(y),N=l(y,k,x,T),I=c(y,k,N.root,N.align,E==="r");E==="r"&&(I=t.mapValues(I,A=>-A)),S[_+E]=I})});let C=d(y,S);return f(S,C),p(S,y.graph().align)}function m(y,b,x){return(S,k,C)=>{let _=S.node(k),E=S.node(C),T=0,N;if(T+=_.width/2,Object.hasOwn(_,"labelpos"))switch(_.labelpos.toLowerCase()){case"l":N=-_.width/2;break;case"r":N=_.width/2;break}if(N&&(T+=x?N:-N),N=0,T+=(_.dummy?b:y)/2,T+=(E.dummy?b:y)/2,T+=E.width/2,Object.hasOwn(E,"labelpos"))switch(E.labelpos.toLowerCase()){case"l":N=E.width/2;break;case"r":N=-E.width/2;break}return N&&(T+=x?N:-N),N=0,T}}function g(y,b){return y.node(b).width}return ote}var lte,b9e;function ZVn(){if(b9e)return lte;b9e=1;let e=Ml(),t=WVn().positionX;lte=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 lte}var cte,x9e;function GVn(){if(x9e)return cte;x9e=1;let e=jVn(),t=NVn(),n=AVn(),r=Ml().normalizeRanks,s=RVn(),a=Ml().removeEmptyRanks,i=PVn(),l=$Vn(),c=MVn(),u=HVn(),d=ZVn(),f=Ml(),p=$g().Graph;cte=h;function h($,B){let Z=B&&B.debugTiming?f.time:f.notime;Z("layout",()=>{let K=Z(" buildLayoutGraph",()=>T($));Z(" runLayout",()=>m(K,Z,B)),Z(" updateInputGraph",()=>g($,K))})}function m($,B,Z){B(" makeSpaceForEdgeLabels",()=>N($)),B(" removeSelfEdges",()=>U($)),B(" acyclic",()=>e.run($)),B(" nestingGraph.run",()=>i.run($)),B(" rank",()=>n(f.asNonCompoundGraph($))),B(" injectEdgeLabelProxies",()=>I($)),B(" removeEmptyRanks",()=>a($)),B(" nestingGraph.cleanup",()=>i.cleanup($)),B(" normalizeRanks",()=>r($)),B(" assignRankMinMax",()=>A($)),B(" removeEdgeLabelProxies",()=>R($)),B(" normalize.run",()=>t.run($)),B(" parentDummyChains",()=>s($)),B(" addBorderSegments",()=>l($)),B(" order",()=>u($,Z)),B(" insertSelfEdges",()=>q($)),B(" adjustCoordinateSystem",()=>c.adjust($)),B(" position",()=>d($)),B(" positionSelfEdges",()=>M($)),B(" removeBorderNodes",()=>z($)),B(" normalize.undo",()=>t.undo($)),B(" fixupEdgeLabelCoords",()=>F($)),B(" undoCoordinateSystem",()=>c.undo($)),B(" translateGraph",()=>L($)),B(" assignNodeIntersects",()=>D($)),B(" reversePoints",()=>H($)),B(" acyclic.undo",()=>e.undo($))}function g($,B){$.nodes().forEach(Z=>{let K=$.node(Z),ne=B.node(Z);K&&(K.x=ne.x,K.y=ne.y,K.rank=ne.rank,B.children(Z).length&&(K.width=ne.width,K.height=ne.height))}),$.edges().forEach(Z=>{let K=$.edge(Z),ne=B.edge(Z);K.points=ne.points,Object.hasOwn(ne,"x")&&(K.x=ne.x,K.y=ne.y)}),$.graph().width=B.graph().width,$.graph().height=B.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},C=["minlen","weight","width","height","labeloffset"],_={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},E=["labelpos"];function T($){let B=new p({multigraph:!0,compound:!0}),Z=V($.graph());return B.setGraph(Object.assign({},b,G(Z,y),f.pick(Z,x))),$.nodes().forEach(K=>{let ne=V($.node(K));const ee=G(ne,S);Object.keys(k).forEach(J=>{ee[J]===void 0&&(ee[J]=k[J])}),B.setNode(K,ee),B.setParent(K,$.parent(K))}),$.edges().forEach(K=>{let ne=V($.edge(K));B.setEdge(K,Object.assign({},_,G(ne,C),f.pick(ne,E)))}),B}function N($){let B=$.graph();B.ranksep/=2,$.edges().forEach(Z=>{let K=$.edge(Z);K.minlen*=2,K.labelpos.toLowerCase()!=="c"&&(B.rankdir==="TB"||B.rankdir==="BT"?K.width+=K.labeloffset:K.height+=K.labeloffset)})}function I($){$.edges().forEach(B=>{let Z=$.edge(B);if(Z.width&&Z.height){let K=$.node(B.v),ee={rank:($.node(B.w).rank-K.rank)/2+K.rank,e:B};f.addDummyNode($,"edge-proxy",ee,"_ep")}})}function A($){let B=0;$.nodes().forEach(Z=>{let K=$.node(Z);K.borderTop&&(K.minRank=$.node(K.borderTop).rank,K.maxRank=$.node(K.borderBottom).rank,B=Math.max(B,K.maxRank))}),$.graph().maxRank=B}function R($){$.nodes().forEach(B=>{let Z=$.node(B);Z.dummy==="edge-proxy"&&($.edge(Z.e).labelRank=Z.rank,$.removeNode(B))})}function L($){let B=Number.POSITIVE_INFINITY,Z=0,K=Number.POSITIVE_INFINITY,ne=0,ee=$.graph(),J=ee.marginx||0,ae=ee.marginy||0;function fe(Y){let re=Y.x,le=Y.y,ue=Y.width,oe=Y.height;B=Math.min(B,re-ue/2),Z=Math.max(Z,re+ue/2),K=Math.min(K,le-oe/2),ne=Math.max(ne,le+oe/2)}$.nodes().forEach(Y=>fe($.node(Y))),$.edges().forEach(Y=>{let re=$.edge(Y);Object.hasOwn(re,"x")&&fe(re)}),B-=J,K-=ae,$.nodes().forEach(Y=>{let re=$.node(Y);re.x-=B,re.y-=K}),$.edges().forEach(Y=>{let re=$.edge(Y);re.points.forEach(le=>{le.x-=B,le.y-=K}),Object.hasOwn(re,"x")&&(re.x-=B),Object.hasOwn(re,"y")&&(re.y-=K)}),ee.width=Z-B+J,ee.height=ne-K+ae}function D($){$.edges().forEach(B=>{let Z=$.edge(B),K=$.node(B.v),ne=$.node(B.w),ee,J;Z.points?(ee=Z.points[0],J=Z.points[Z.points.length-1]):(Z.points=[],ee=ne,J=K),Z.points.unshift(f.intersectRect(K,ee)),Z.points.push(f.intersectRect(ne,J))})}function F($){$.edges().forEach(B=>{let Z=$.edge(B);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(B=>{let Z=$.edge(B);Z.reversed&&Z.points.reverse()})}function z($){$.nodes().forEach(B=>{if($.children(B).length){let Z=$.node(B),K=$.node(Z.borderTop),ne=$.node(Z.borderBottom),ee=$.node(Z.borderLeft[Z.borderLeft.length-1]),J=$.node(Z.borderRight[Z.borderRight.length-1]);Z.width=Math.abs(J.x-ee.x),Z.height=Math.abs(ne.y-K.y),Z.x=ee.x+Z.width/2,Z.y=K.y+Z.height/2}}),$.nodes().forEach(B=>{$.node(B).dummy==="border"&&$.removeNode(B)})}function U($){$.edges().forEach(B=>{if(B.v===B.w){var Z=$.node(B.v);Z.selfEdges||(Z.selfEdges=[]),Z.selfEdges.push({e:B,label:$.edge(B)}),$.removeEdge(B)}})}function q($){var B=f.buildLayerMatrix($);B.forEach(Z=>{var K=0;Z.forEach((ne,ee)=>{var J=$.node(ne);J.order=ee+K,(J.selfEdges||[]).forEach(ae=>{f.addDummyNode($,"selfedge",{width:ae.label.width,height:ae.label.height,rank:J.rank,order:ee+ ++K,e:ae.e,label:ae.label},"_se")}),delete J.selfEdges})})}function M($){$.nodes().forEach(B=>{var Z=$.node(B);if(Z.dummy==="selfedge"){var K=$.node(Z.e.v),ne=K.x+K.width/2,ee=K.y,J=Z.x-ne,ae=K.height/2;$.setEdge(Z.e,Z.label),$.removeNode(B),Z.label.points=[{x:ne+2*J/3,y:ee-ae},{x:ne+5*J/6,y:ee-ae},{x:ne+J,y:ee},{x:ne+5*J/6,y:ee+ae},{x:ne+2*J/3,y:ee+ae}],Z.label.x=Z.x,Z.label.y=Z.y}})}function G($,B){return f.mapValues(f.pick($,B),Number)}function V($){var B={};return $&&Object.entries($).forEach(([Z,K])=>{typeof Z=="string"&&(Z=Z.toLowerCase()),B[Z]=K}),B}return cte}var ute,w9e;function QVn(){if(w9e)return ute;w9e=1;let e=Ml(),t=$g().Graph;ute={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 ute}var dte,S9e;function YVn(){return S9e||(S9e=1,dte="1.1.8"),dte}var fte,k9e;function KVn(){return k9e||(k9e=1,fte={graphlib:$g(),layout:GVn(),debug:QVn(),util:{time:Ml().time,notime:Ml().notime},version:YVn()}),fte}var XVn=KVn();const O9e=zl(XVn);function ql(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=ql(e[n]))!==""&&(t+=(t&&" ")+r);else for(let n in e)e[n]&&(t+=(t&&" ")+n);return t}var JVn={value:()=>{}};function TH(){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 y8(n)}function y8(e){this._=e}function eHn(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}})}y8.prototype=TH.prototype={constructor:y8,on:function(e,t){var n=this._,r=eHn(e+"",n),s,a=-1,i=r.length;if(arguments.length<2){for(;++a<i;)if((s=(e=r[a]).type)&&(s=tHn(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]=_9e(n[s],e.name,t);else if(t==null)for(s in n)n[s]=_9e(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 y8(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 tHn(e,t){for(var n=0,r=e.length,s;n<r;++n)if((s=e[n]).name===t)return s.value}function _9e(e,t,n){for(var r=0,s=e.length;r<s;++r)if(e[r].name===t){e[r]=JVn,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var wge="http://www.w3.org/1999/xhtml";const C9e={svg:"http://www.w3.org/2000/svg",xhtml:wge,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function jH(e){var t=e+="",n=t.indexOf(":");return n>=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),C9e.hasOwnProperty(t)?{space:C9e[t],local:e}:e}function nHn(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===wge&&t.documentElement.namespaceURI===wge?t.createElement(e):t.createElementNS(n,e)}}function rHn(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function ISt(e){var t=jH(e);return(t.local?rHn:nHn)(t)}function sHn(){}function yke(e){return e==null?sHn:function(){return this.querySelector(e)}}function aHn(e){typeof e!="function"&&(e=yke(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 Hp(r,this._parents)}function iHn(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function oHn(){return[]}function ASt(e){return e==null?oHn:function(){return this.querySelectorAll(e)}}function lHn(e){return function(){return iHn(e.apply(this,arguments))}}function cHn(e){typeof e=="function"?e=lHn(e):e=ASt(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 Hp(r,s)}function RSt(e){return function(){return this.matches(e)}}function PSt(e){return function(t){return t.matches(e)}}var uHn=Array.prototype.find;function dHn(e){return function(){return uHn.call(this.children,e)}}function fHn(){return this.firstElementChild}function pHn(e){return this.select(e==null?fHn:dHn(typeof e=="function"?e:PSt(e)))}var hHn=Array.prototype.filter;function mHn(){return Array.from(this.children)}function gHn(e){return function(){return hHn.call(this.children,e)}}function vHn(e){return this.selectAll(e==null?mHn:gHn(typeof e=="function"?e:PSt(e)))}function yHn(e){typeof e!="function"&&(e=RSt(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 Hp(r,this._parents)}function $St(e){return new Array(e.length)}function bHn(){return new Hp(this._enter||this._groups.map($St),this._parents)}function xB(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}xB.prototype={constructor:xB,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 xHn(e){return function(){return e}}function wHn(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 xB(e,a[i]);for(;i<c;++i)(l=t[i])&&(s[i]=l)}function SHn(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 xB(e,a[l]);for(l=0;l<d;++l)(c=t[l])&&u.get(p[l])===c&&(s[l]=c)}function kHn(e){return e.__data__}function OHn(e,t){if(!arguments.length)return Array.from(this,kHn);var n=t?SHn:wHn,r=this._parents,s=this._groups;typeof e!="function"&&(e=xHn(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=_Hn(e.call(d,d&&d.__data__,u,r)),m=h.length,g=l[u]=new Array(m),y=i[u]=new Array(m),b=c[u]=new Array(p);n(d,f,g,y,b,h,t);for(var x=0,S=0,k,C;x<m;++x)if(k=g[x]){for(x>=S&&(S=x+1);!(C=y[S])&&++S<m;);k._next=C||null}}return i=new Hp(i,r),i._enter=l,i._exit=c,i}function _Hn(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function CHn(){return new Hp(this._exit||this._groups.map($St),this._parents)}function EHn(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 THn(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 Hp(l,this._parents)}function jHn(){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 NHn(e){e||(e=IHn);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 Hp(s,this._parents).order()}function IHn(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function AHn(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function RHn(){return Array.from(this)}function PHn(){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 $Hn(){let e=0;for(const t of this)++e;return e}function MHn(){return!this.node()}function DHn(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 LHn(e){return function(){this.removeAttribute(e)}}function FHn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function zHn(e,t){return function(){this.setAttribute(e,t)}}function BHn(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function UHn(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function qHn(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 VHn(e,t){var n=jH(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?FHn:LHn:typeof t=="function"?n.local?qHn:UHn:n.local?BHn:zHn)(n,t))}function MSt(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function HHn(e){return function(){this.style.removeProperty(e)}}function WHn(e,t,n){return function(){this.style.setProperty(e,t,n)}}function ZHn(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function GHn(e,t,n){return arguments.length>1?this.each((t==null?HHn:typeof t=="function"?ZHn:WHn)(e,t,n??"")):Dj(this.node(),e)}function Dj(e,t){return e.style.getPropertyValue(t)||MSt(e).getComputedStyle(e,null).getPropertyValue(t)}function QHn(e){return function(){delete this[e]}}function YHn(e,t){return function(){this[e]=t}}function KHn(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function XHn(e,t){return arguments.length>1?this.each((t==null?QHn:typeof t=="function"?KHn:YHn)(e,t)):this.node()[e]}function DSt(e){return e.trim().split(/^|\s+/)}function bke(e){return e.classList||new LSt(e)}function LSt(e){this._node=e,this._names=DSt(e.getAttribute("class")||"")}LSt.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 FSt(e,t){for(var n=bke(e),r=-1,s=t.length;++r<s;)n.add(t[r])}function zSt(e,t){for(var n=bke(e),r=-1,s=t.length;++r<s;)n.remove(t[r])}function JHn(e){return function(){FSt(this,e)}}function eWn(e){return function(){zSt(this,e)}}function tWn(e,t){return function(){(t.apply(this,arguments)?FSt:zSt)(this,e)}}function nWn(e,t){var n=DSt(e+"");if(arguments.length<2){for(var r=bke(this.node()),s=-1,a=n.length;++s<a;)if(!r.contains(n[s]))return!1;return!0}return this.each((typeof t=="function"?tWn:t?JHn:eWn)(n,t))}function rWn(){this.textContent=""}function sWn(e){return function(){this.textContent=e}}function aWn(e){return function(){var t=e.apply(this,arguments);this.textContent=t??""}}function iWn(e){return arguments.length?this.each(e==null?rWn:(typeof e=="function"?aWn:sWn)(e)):this.node().textContent}function oWn(){this.innerHTML=""}function lWn(e){return function(){this.innerHTML=e}}function cWn(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??""}}function uWn(e){return arguments.length?this.each(e==null?oWn:(typeof e=="function"?cWn:lWn)(e)):this.node().innerHTML}function dWn(){this.nextSibling&&this.parentNode.appendChild(this)}function fWn(){return this.each(dWn)}function pWn(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function hWn(){return this.each(pWn)}function mWn(e){var t=typeof e=="function"?e:ISt(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function gWn(){return null}function vWn(e,t){var n=typeof e=="function"?e:ISt(e),r=t==null?gWn:typeof t=="function"?t:yke(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function yWn(){var e=this.parentNode;e&&e.removeChild(this)}function bWn(){return this.each(yWn)}function xWn(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function wWn(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function SWn(e){return this.select(e?wWn:xWn)}function kWn(e){return arguments.length?this.property("__data__",e):this.node().__data__}function OWn(e){return function(t){e.call(this,t,this.__data__)}}function _Wn(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 CWn(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 EWn(e,t,n){return function(){var r=this.__on,s,a=OWn(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 TWn(e,t,n){var r=_Wn(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?EWn:CWn,s=0;s<a;++s)this.each(l(r[s],t,n));return this}function BSt(e,t,n){var r=MSt(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 jWn(e,t){return function(){return BSt(this,e,t)}}function NWn(e,t){return function(){return BSt(this,e,t.apply(this,arguments))}}function IWn(e,t){return this.each((typeof t=="function"?NWn:jWn)(e,t))}function*AWn(){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 USt=[null];function Hp(e,t){this._groups=e,this._parents=t}function x3(){return new Hp([[document.documentElement]],USt)}function RWn(){return this}Hp.prototype=x3.prototype={constructor:Hp,select:aHn,selectAll:cHn,selectChild:pHn,selectChildren:vHn,filter:yHn,data:OHn,enter:bHn,exit:CHn,join:EHn,merge:THn,selection:RWn,order:jHn,sort:NHn,call:AHn,nodes:RHn,node:PHn,size:$Hn,empty:MHn,each:DHn,attr:VHn,style:GHn,property:XHn,classed:nWn,text:iWn,html:uWn,raise:fWn,lower:hWn,append:mWn,insert:vWn,remove:bWn,clone:SWn,datum:kWn,on:TWn,dispatch:IWn,[Symbol.iterator]:AWn};function kp(e){return typeof e=="string"?new Hp([[document.querySelector(e)]],[document.documentElement]):new Hp([[e]],USt)}function PWn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function rg(e,t){if(e=PWn(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 $Wn={passive:!1},uM={capture:!0,passive:!1};function pte(e){e.stopImmediatePropagation()}function UT(e){e.preventDefault(),e.stopImmediatePropagation()}function qSt(e){var t=e.document.documentElement,n=kp(e).on("dragstart.drag",UT,uM);"onselectstart"in t?n.on("selectstart.drag",UT,uM):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect="none")}function VSt(e,t){var n=e.document.documentElement,r=kp(e).on("dragstart.drag",null);t&&(r.on("click.drag",UT,uM),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 L6=e=>()=>e;function Sge(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}})}Sge.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function MWn(e){return!e.ctrlKey&&!e.button}function DWn(){return this.parentNode}function LWn(e,t){return t??{x:e.x,y:e.y}}function FWn(){return navigator.maxTouchPoints||"ontouchstart"in this}function HSt(){var e=MWn,t=DWn,n=LWn,r=FWn,s={},a=TH("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,$Wn).on("touchend.drag touchcancel.drag",x).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(k,C){if(!(d||!e.call(this,k,C))){var _=S(this,t.call(this,k,C),k,C,"mouse");_&&(kp(k.view).on("mousemove.drag",m,uM).on("mouseup.drag",g,uM),qSt(k.view),pte(k),u=!1,l=k.clientX,c=k.clientY,_("start",k))}}function m(k){if(UT(k),!u){var C=k.clientX-l,_=k.clientY-c;u=C*C+_*_>f}s.mouse("drag",k)}function g(k){kp(k.view).on("mousemove.drag mouseup.drag",null),VSt(k.view,u),UT(k),s.mouse("end",k)}function y(k,C){if(e.call(this,k,C)){var _=k.changedTouches,E=t.call(this,k,C),T=_.length,N,I;for(N=0;N<T;++N)(I=S(this,E,k,C,_[N].identifier,_[N]))&&(pte(k),I("start",k,_[N]))}}function b(k){var C=k.changedTouches,_=C.length,E,T;for(E=0;E<_;++E)(T=s[C[E].identifier])&&(UT(k),T("drag",k,C[E]))}function x(k){var C=k.changedTouches,_=C.length,E,T;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),E=0;E<_;++E)(T=s[C[E].identifier])&&(pte(k),T("end",k,C[E]))}function S(k,C,_,E,T,N){var I=a.copy(),A=rg(N||_,C),R,L,D;if((D=n.call(k,new Sge("beforestart",{sourceEvent:_,target:p,identifier:T,active:i,x:A[0],y:A[1],dx:0,dy:0,dispatch:I}),E))!=null)return R=D.x-A[0]||0,L=D.y-A[1]||0,function F(H,z,U){var q=A,M;switch(H){case"start":s[T]=F,M=i++;break;case"end":delete s[T],--i;case"drag":A=rg(U||z,C),M=i;break}I.call(H,k,new Sge(H,{sourceEvent:z,subject:D,target:p,identifier:T,active:M,x:A[0]+R,y:A[1]+L,dx:A[0]-q[0],dy:A[1]-q[1],dispatch:I}),E)}}return p.filter=function(k){return arguments.length?(e=typeof k=="function"?k:L6(!!k),p):e},p.container=function(k){return arguments.length?(t=typeof k=="function"?k:L6(k),p):t},p.subject=function(k){return arguments.length?(n=typeof k=="function"?k:L6(k),p):n},p.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:L6(!!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 xke(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function WSt(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function w3(){}var dM=.7,wB=1/dM,qT="\\s*([+-]?\\d+)\\s*",fM="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ey="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",zWn=/^#([0-9a-f]{3,8})$/,BWn=new RegExp(`^rgb\\(${qT},${qT},${qT}\\)$`),UWn=new RegExp(`^rgb\\(${ey},${ey},${ey}\\)$`),qWn=new RegExp(`^rgba\\(${qT},${qT},${qT},${fM}\\)$`),VWn=new RegExp(`^rgba\\(${ey},${ey},${ey},${fM}\\)$`),HWn=new RegExp(`^hsl\\(${fM},${ey},${ey}\\)$`),WWn=new RegExp(`^hsla\\(${fM},${ey},${ey},${fM}\\)$`),E9e={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};xke(w3,BO,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:T9e,formatHex:T9e,formatHex8:ZWn,formatHsl:GWn,formatRgb:j9e,toString:j9e});function T9e(){return this.rgb().formatHex()}function ZWn(){return this.rgb().formatHex8()}function GWn(){return ZSt(this).formatHsl()}function j9e(){return this.rgb().formatRgb()}function BO(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=zWn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?N9e(t):n===3?new vf(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?F6(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?F6(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=BWn.exec(e))?new vf(t[1],t[2],t[3],1):(t=UWn.exec(e))?new vf(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=qWn.exec(e))?F6(t[1],t[2],t[3],t[4]):(t=VWn.exec(e))?F6(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=HWn.exec(e))?R9e(t[1],t[2]/100,t[3]/100,1):(t=WWn.exec(e))?R9e(t[1],t[2]/100,t[3]/100,t[4]):E9e.hasOwnProperty(e)?N9e(E9e[e]):e==="transparent"?new vf(NaN,NaN,NaN,0):null}function N9e(e){return new vf(e>>16&255,e>>8&255,e&255,1)}function F6(e,t,n,r){return r<=0&&(e=t=n=NaN),new vf(e,t,n,r)}function QWn(e){return e instanceof w3||(e=BO(e)),e?(e=e.rgb(),new vf(e.r,e.g,e.b,e.opacity)):new vf}function kge(e,t,n,r){return arguments.length===1?QWn(e):new vf(e,t,n,r??1)}function vf(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}xke(vf,kge,WSt(w3,{brighter(e){return e=e==null?wB:Math.pow(wB,e),new vf(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?dM:Math.pow(dM,e),new vf(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new vf(Kk(this.r),Kk(this.g),Kk(this.b),SB(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:I9e,formatHex:I9e,formatHex8:YWn,formatRgb:A9e,toString:A9e}));function I9e(){return`#${Rk(this.r)}${Rk(this.g)}${Rk(this.b)}`}function YWn(){return`#${Rk(this.r)}${Rk(this.g)}${Rk(this.b)}${Rk((isNaN(this.opacity)?1:this.opacity)*255)}`}function A9e(){const e=SB(this.opacity);return`${e===1?"rgb(":"rgba("}${Kk(this.r)}, ${Kk(this.g)}, ${Kk(this.b)}${e===1?")":`, ${e})`}`}function SB(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Kk(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Rk(e){return e=Kk(e),(e<16?"0":"")+e.toString(16)}function R9e(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ug(e,t,n,r)}function ZSt(e){if(e instanceof ug)return new ug(e.h,e.s,e.l,e.opacity);if(e instanceof w3||(e=BO(e)),!e)return new ug;if(e instanceof ug)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 ug(i,l,c,e.opacity)}function KWn(e,t,n,r){return arguments.length===1?ZSt(e):new ug(e,t,n,r??1)}function ug(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}xke(ug,KWn,WSt(w3,{brighter(e){return e=e==null?wB:Math.pow(wB,e),new ug(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?dM:Math.pow(dM,e),new ug(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 vf(hte(e>=240?e-240:e+120,s,r),hte(e,s,r),hte(e<120?e+240:e-120,s,r),this.opacity)},clamp(){return new ug(P9e(this.h),z6(this.s),z6(this.l),SB(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=SB(this.opacity);return`${e===1?"hsl(":"hsla("}${P9e(this.h)}, ${z6(this.s)*100}%, ${z6(this.l)*100}%${e===1?")":`, ${e})`}`}}));function P9e(e){return e=(e||0)%360,e<0?e+360:e}function z6(e){return Math.max(0,Math.min(1,e||0))}function hte(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 wke=e=>()=>e;function XWn(e,t){return function(n){return e+n*t}}function JWn(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 eZn(e){return(e=+e)==1?GSt:function(t,n){return n-t?JWn(t,n,e):wke(isNaN(t)?n:t)}}function GSt(e,t){var n=t-e;return n?XWn(e,n):wke(isNaN(e)?t:e)}const kB=(function e(t){var n=eZn(t);function r(s,a){var i=n((s=kge(s)).r,(a=kge(a)).r),l=n(s.g,a.g),c=n(s.b,a.b),u=GSt(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 tZn(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 nZn(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function rZn(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]=ux(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 sZn(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function ag(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function aZn(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]=ux(e[s],t[s]):r[s]=t[s];return function(a){for(s in n)r[s]=n[s](a);return r}}var Oge=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,mte=new RegExp(Oge.source,"g");function iZn(e){return function(){return e}}function oZn(e){return function(t){return e(t)+""}}function QSt(e,t){var n=Oge.lastIndex=mte.lastIndex=0,r,s,a,i=-1,l=[],c=[];for(e=e+"",t=t+"";(r=Oge.exec(e))&&(s=mte.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:ag(r,s)})),n=mte.lastIndex;return n<t.length&&(a=t.slice(n),l[i]?l[i]+=a:l[++i]=a),l.length<2?c[0]?oZn(c[0].x):iZn(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 ux(e,t){var n=typeof t,r;return t==null||n==="boolean"?wke(t):(n==="number"?ag:n==="string"?(r=BO(t))?(t=r,kB):QSt:t instanceof BO?kB:t instanceof Date?sZn:nZn(t)?tZn:Array.isArray(t)?rZn:typeof t.valueOf!="function"&&typeof t.toString!="function"||isNaN(t)?aZn:ag)(e,t)}function Ske(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}var $9e=180/Math.PI,_ge={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function YSt(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)*$9e,skewX:Math.atan(c)*$9e,scaleX:i,scaleY:l}}var B6;function lZn(e){const t=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(e+"");return t.isIdentity?_ge:YSt(t.a,t.b,t.c,t.d,t.e,t.f)}function cZn(e){return e==null||(B6||(B6=document.createElementNS("http://www.w3.org/2000/svg","g")),B6.setAttribute("transform",e),!(e=B6.transform.baseVal.consolidate()))?_ge:(e=e.matrix,YSt(e.a,e.b,e.c,e.d,e.e,e.f))}function KSt(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 g=h.push("translate(",null,t,null,n);m.push({i:g-4,x:ag(u,f)},{i:g-2,x:ag(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:ag(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:ag(u,d)}):d&&f.push(s(f)+"skewX("+d+r)}function c(u,d,f,p,h,m){if(u!==f||d!==p){var g=h.push(s(h)+"scale(",null,",",null,")");m.push({i:g-4,x:ag(u,f)},{i:g-2,x:ag(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,g=p.length,y;++m<g;)f[(y=p[m]).i]=y.x(h);return f.join("")}}}var uZn=KSt(lZn,"px, ","px)","deg)"),dZn=KSt(cZn,", ",")",")"),fZn=1e-12;function M9e(e){return((e=Math.exp(e))+1/e)/2}function pZn(e){return((e=Math.exp(e))-1/e)/2}function hZn(e){return((e=Math.exp(2*e))-1)/(e+1)}const b8=(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,g=h*h+m*m,y,b;if(g<fZn)b=Math.log(p/u)/t,y=function(E){return[l+E*h,c+E*m,u*Math.exp(t*E*b)]};else{var x=Math.sqrt(g),S=(p*p-u*u+r*g)/(2*u*n*x),k=(p*p-u*u-r*g)/(2*p*n*x),C=Math.log(Math.sqrt(S*S+1)-S),_=Math.log(Math.sqrt(k*k+1)-k);b=(_-C)/t,y=function(E){var T=E*b,N=M9e(C),I=u/(n*x)*(N*hZn(t*T+C)-pZn(C));return[l+I*h,c+I*m,u*N/M9e(t*T+C)]}}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 mZn(e,t){t===void 0&&(t=e,e=ux);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 Lj=0,IP=0,gR=0,XSt=1e3,OB,AP,_B=0,UO=0,NH=0,pM=typeof performance=="object"&&performance.now?performance:Date,JSt=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function kke(){return UO||(JSt(gZn),UO=pM.now()+NH)}function gZn(){UO=0}function CB(){this._call=this._time=this._next=null}CB.prototype=ekt.prototype={constructor:CB,restart:function(e,t,n){if(typeof e!="function")throw new TypeError("callback is not a function");n=(n==null?kke():+n)+(t==null?0:+t),!this._next&&AP!==this&&(AP?AP._next=this:OB=this,AP=this),this._call=e,this._time=n,Cge()},stop:function(){this._call&&(this._call=null,this._time=1/0,Cge())}};function ekt(e,t,n){var r=new CB;return r.restart(e,t,n),r}function vZn(){kke(),++Lj;for(var e=OB,t;e;)(t=UO-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Lj}function D9e(){UO=(_B=pM.now())+NH,Lj=IP=0;try{vZn()}finally{Lj=0,bZn(),UO=0}}function yZn(){var e=pM.now(),t=e-_B;t>XSt&&(NH-=t,_B=e)}function bZn(){for(var e,t=OB,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:OB=n);AP=e,Cge(r)}function Cge(e){if(!Lj){IP&&(IP=clearTimeout(IP));var t=e-UO;t>24?(e<1/0&&(IP=setTimeout(D9e,e-pM.now()-NH)),gR&&(gR=clearInterval(gR))):(gR||(_B=pM.now(),gR=setInterval(yZn,XSt)),Lj=1,JSt(D9e))}}function L9e(e,t,n){var r=new CB;return t=t==null?0:+t,r.restart(s=>{r.stop(),e(s+t)},t,n),r}var xZn=TH("start","end","cancel","interrupt"),wZn=[],tkt=0,F9e=1,Ege=2,x8=3,z9e=4,Tge=5,w8=6;function IH(e,t,n,r,s,a){var i=e.__transition;if(!i)e.__transition={};else if(n in i)return;SZn(e,n,{name:t,index:r,group:s,on:xZn,tween:wZn,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:tkt})}function Oke(e,t){var n=Vg(e,t);if(n.state>tkt)throw new Error("too late; already scheduled");return n}function Ly(e,t){var n=Vg(e,t);if(n.state>x8)throw new Error("too late; already running");return n}function Vg(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function SZn(e,t,n){var r=e.__transition,s;r[t]=n,n.timer=ekt(a,0,n.time);function a(u){n.state=F9e,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!==F9e)return c();for(d in r)if(h=r[d],h.name===n.name){if(h.state===x8)return L9e(i);h.state===z9e?(h.state=w8,h.timer.stop(),h.on.call("interrupt",e,e.__data__,h.index,h.group),delete r[d]):+d<t&&(h.state=w8,h.timer.stop(),h.on.call("cancel",e,e.__data__,h.index,h.group),delete r[d])}if(L9e(function(){n.state===x8&&(n.state=z9e,n.timer.restart(l,n.delay,n.time),l(u))}),n.state=Ege,n.on.call("start",e,e.__data__,n.index,n.group),n.state===Ege){for(n.state=x8,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=Tge,1),f=-1,p=s.length;++f<p;)s[f].call(e,d);n.state===Tge&&(n.on.call("end",e,e.__data__,n.index,n.group),c())}function c(){n.state=w8,n.timer.stop(),delete r[t];for(var u in r)return;delete e.__transition}}function S8(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>Ege&&r.state<Tge,r.state=w8,r.timer.stop(),r.on.call(s?"interrupt":"cancel",e,e.__data__,r.index,r.group),delete n[i]}a&&delete e.__transition}}function kZn(e){return this.each(function(){S8(this,e)})}function OZn(e,t){var n,r;return function(){var s=Ly(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 _Zn(e,t,n){var r,s;if(typeof n!="function")throw new Error;return function(){var a=Ly(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 CZn(e,t){var n=this._id;if(e+="",arguments.length<2){for(var r=Vg(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?OZn:_Zn)(n,e,t))}function _ke(e,t,n){var r=e._id;return e.each(function(){var s=Ly(this,r);(s.value||(s.value={}))[t]=n.apply(this,arguments)}),function(s){return Vg(s,r).value[t]}}function nkt(e,t){var n;return(typeof t=="number"?ag:t instanceof BO?kB:(n=BO(t))?(t=n,kB):QSt)(e,t)}function EZn(e){return function(){this.removeAttribute(e)}}function TZn(e){return function(){this.removeAttributeNS(e.space,e.local)}}function jZn(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 NZn(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 IZn(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 AZn(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 RZn(e,t){var n=jH(e),r=n==="transform"?dZn:nkt;return this.attrTween(e,typeof t=="function"?(n.local?AZn:IZn)(n,r,_ke(this,"attr."+e,t)):t==null?(n.local?TZn:EZn)(n):(n.local?NZn:jZn)(n,r,t))}function PZn(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function $Zn(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function MZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&$Zn(e,a)),n}return s._value=t,s}function DZn(e,t){var n,r;function s(){var a=t.apply(this,arguments);return a!==r&&(n=(r=a)&&PZn(e,a)),n}return s._value=t,s}function LZn(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=jH(e);return this.tween(n,(r.local?MZn:DZn)(r,t))}function FZn(e,t){return function(){Oke(this,e).delay=+t.apply(this,arguments)}}function zZn(e,t){return t=+t,function(){Oke(this,e).delay=t}}function BZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?FZn:zZn)(t,e)):Vg(this.node(),t).delay}function UZn(e,t){return function(){Ly(this,e).duration=+t.apply(this,arguments)}}function qZn(e,t){return t=+t,function(){Ly(this,e).duration=t}}function VZn(e){var t=this._id;return arguments.length?this.each((typeof e=="function"?UZn:qZn)(t,e)):Vg(this.node(),t).duration}function HZn(e,t){if(typeof t!="function")throw new Error;return function(){Ly(this,e).ease=t}}function WZn(e){var t=this._id;return arguments.length?this.each(HZn(t,e)):Vg(this.node(),t).ease}function ZZn(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!="function")throw new Error;Ly(this,e).ease=n}}function GZn(e){if(typeof e!="function")throw new Error;return this.each(ZZn(this._id,e))}function QZn(e){typeof e!="function"&&(e=RSt(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 Ax(r,this._parents,this._name,this._id)}function YZn(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 Ax(i,this._parents,this._name,this._id)}function KZn(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 XZn(e,t,n){var r,s,a=KZn(t)?Oke:Ly;return function(){var i=a(this,e),l=i.on;l!==r&&(s=(r=l).copy()).on(t,n),i.on=s}}function JZn(e,t){var n=this._id;return arguments.length<2?Vg(this.node(),n).on.on(e):this.each(XZn(n,e,t))}function eGn(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function tGn(){return this.on("end.remove",eGn(this._id))}function nGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=yke(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,IH(u[p],t,n,p,u,Vg(d,n)));return new Ax(a,this._parents,t,n)}function rGn(e){var t=this._name,n=this._id;typeof e!="function"&&(e=ASt(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=Vg(d,n),g=0,y=p.length;g<y;++g)(h=p[g])&&IH(h,t,n,g,p,m);a.push(p),i.push(d)}return new Ax(a,i,t,n)}var sGn=x3.prototype.constructor;function aGn(){return new sGn(this._groups,this._parents)}function iGn(e,t){var n,r,s;return function(){var a=Dj(this,e),i=(this.style.removeProperty(e),Dj(this,e));return a===i?null:a===n&&i===r?s:s=t(n=a,r=i)}}function rkt(e){return function(){this.style.removeProperty(e)}}function oGn(e,t,n){var r,s=n+"",a;return function(){var i=Dj(this,e);return i===s?null:i===r?a:a=t(r=i,n)}}function lGn(e,t,n){var r,s,a;return function(){var i=Dj(this,e),l=n(this),c=l+"";return l==null&&(c=l=(this.style.removeProperty(e),Dj(this,e))),i===c?null:i===r&&c===s?a:(s=c,a=t(r=i,l))}}function cGn(e,t){var n,r,s,a="style."+t,i="end."+a,l;return function(){var c=Ly(this,e),u=c.on,d=c.value[a]==null?l||(l=rkt(t)):void 0;(u!==n||s!==d)&&(r=(n=u).copy()).on(i,s=d),c.on=r}}function uGn(e,t,n){var r=(e+="")=="transform"?uZn:nkt;return t==null?this.styleTween(e,iGn(e,r)).on("end.style."+e,rkt(e)):typeof t=="function"?this.styleTween(e,lGn(e,r,_ke(this,"style."+e,t))).each(cGn(this._id,e)):this.styleTween(e,oGn(e,r,t),n).on("end.style."+e,null)}function dGn(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function fGn(e,t,n){var r,s;function a(){var i=t.apply(this,arguments);return i!==s&&(r=(s=i)&&dGn(e,i,n)),r}return a._value=t,a}function pGn(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,fGn(e,t,n??""))}function hGn(e){return function(){this.textContent=e}}function mGn(e){return function(){var t=e(this);this.textContent=t??""}}function gGn(e){return this.tween("text",typeof e=="function"?mGn(_ke(this,"text",e)):hGn(e==null?"":e+""))}function vGn(e){return function(t){this.textContent=e.call(this,t)}}function yGn(e){var t,n;function r(){var s=e.apply(this,arguments);return s!==n&&(t=(n=s)&&vGn(s)),t}return r._value=e,r}function bGn(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,yGn(e))}function xGn(){for(var e=this._name,t=this._id,n=skt(),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=Vg(c,t);IH(c,e,n,u,i,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Ax(r,this._parents,e,n)}function wGn(){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=Ly(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 SGn=0;function Ax(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function skt(){return++SGn}var vb=x3.prototype;Ax.prototype={constructor:Ax,select:nGn,selectAll:rGn,selectChild:vb.selectChild,selectChildren:vb.selectChildren,filter:QZn,merge:YZn,selection:aGn,transition:xGn,call:vb.call,nodes:vb.nodes,node:vb.node,size:vb.size,empty:vb.empty,each:vb.each,on:JZn,attr:RZn,attrTween:LZn,style:uGn,styleTween:pGn,text:gGn,textTween:bGn,remove:tGn,tween:CZn,delay:BZn,duration:VZn,ease:WZn,easeVarying:GZn,end:wGn,[Symbol.iterator]:vb[Symbol.iterator]};function kGn(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var OGn={time:null,delay:0,duration:250,ease:kGn};function _Gn(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 CGn(e){var t,n;e instanceof Ax?(t=e._id,e=e._name):(t=skt(),(n=OGn).time=kke(),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])&&IH(c,e,t,u,i,n||_Gn(c,t));return new Ax(r,this._parents,e,t)}x3.prototype.interrupt=kZn;x3.prototype.transition=CGn;const U6=e=>()=>e;function EGn(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 Xb(e,t,n){this.k=e,this.x=t,this.y=n}Xb.prototype={constructor:Xb,scale:function(e){return e===1?this:new Xb(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Xb(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 AH=new Xb(1,0,0);akt.prototype=Xb.prototype;function akt(e){for(;!e.__zoom;)if(!(e=e.parentNode))return AH;return e.__zoom}function gte(e){e.stopImmediatePropagation()}function vR(e){e.preventDefault(),e.stopImmediatePropagation()}function TGn(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function jGn(){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 B9e(){return this.__zoom||AH}function NGn(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function IGn(){return navigator.maxTouchPoints||"ontouchstart"in this}function AGn(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 ikt(){var e=TGn,t=jGn,n=AGn,r=NGn,s=IGn,a=[0,1/0],i=[[-1/0,-1/0],[1/0,1/0]],l=250,c=b8,u=TH("start","zoom","end"),d,f,p,h=500,m=150,g=0,y=10;function b(D){D.property("__zoom",B9e).on("wheel.zoom",T,{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,z){var U=D.selection?D.selection():D;U.property("__zoom",B9e),D!==U?C(D,F,H,z):U.interrupt().each(function(){_(this,arguments).event(z).start().zoom(null,typeof F=="function"?F.apply(this,arguments):F).end()})},b.scaleBy=function(D,F,H,z){b.scaleTo(D,function(){var U=this.__zoom.k,q=typeof F=="function"?F.apply(this,arguments):F;return U*q},H,z)},b.scaleTo=function(D,F,H,z){b.transform(D,function(){var U=t.apply(this,arguments),q=this.__zoom,M=H==null?k(U):typeof H=="function"?H.apply(this,arguments):H,G=q.invert(M),V=typeof F=="function"?F.apply(this,arguments):F;return n(S(x(q,V),M,G),U,i)},H,z)},b.translateBy=function(D,F,H,z){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,z)},b.translateTo=function(D,F,H,z,U){b.transform(D,function(){var q=t.apply(this,arguments),M=this.__zoom,G=z==null?k(q):typeof z=="function"?z.apply(this,arguments):z;return n(AH.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),q,i)},z,U)};function x(D,F){return F=Math.max(a[0],Math.min(a[1],F)),F===D.k?D:new Xb(F,D.x,D.y)}function S(D,F,H){var z=F[0]-H[0]*D.k,U=F[1]-H[1]*D.k;return z===D.x&&U===D.y?D:new Xb(D.k,z,U)}function k(D){return[(+D[0][0]+ +D[1][0])/2,(+D[0][1]+ +D[1][1])/2]}function C(D,F,H,z){D.on("start.zoom",function(){_(this,arguments).event(z).start()}).on("interrupt.zoom end.zoom",function(){_(this,arguments).event(z).end()}).tween("zoom",function(){var U=this,q=arguments,M=_(U,q).event(z),G=t.apply(U,q),V=H==null?k(G):typeof H=="function"?H.apply(U,q):H,$=Math.max(G[1][0]-G[0][0],G[1][1]-G[0][1]),B=U.__zoom,Z=typeof F=="function"?F.apply(U,q):F,K=c(B.invert(V).concat($/B.k),Z.invert(V).concat($/Z.k));return function(ne){if(ne===1)ne=Z;else{var ee=K(ne),J=$/ee[2];ne=new Xb(J,V[0]-ee[0]*J,V[1]-ee[1]*J)}M.zoom(null,ne)}})}function _(D,F,H){return!H&&D.__zooming||new E(D,F)}function E(D,F){this.that=D,this.args=F,this.active=0,this.sourceEvent=null,this.extent=t.apply(D,F),this.taps=0}E.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=kp(this.that).datum();u.call(D,this.that,new EGn(D,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:u}),F)}};function T(D,...F){if(!e.apply(this,arguments))return;var H=_(this,F).event(D),z=this.__zoom,U=Math.max(a[0],Math.min(a[1],z.k*Math.pow(2,r.apply(this,arguments)))),q=rg(D);if(H.wheel)(H.mouse[0][0]!==q[0]||H.mouse[0][1]!==q[1])&&(H.mouse[1]=z.invert(H.mouse[0]=q)),clearTimeout(H.wheel);else{if(z.k===U)return;H.mouse=[q,z.invert(q)],S8(this),H.start()}vR(D),H.wheel=setTimeout(M,m),H.zoom("mouse",n(S(x(z,U),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,z=_(this,F,!0).event(D),U=kp(D.view).on("mousemove.zoom",V,!0).on("mouseup.zoom",$,!0),q=rg(D,H),M=D.clientX,G=D.clientY;qSt(D.view),gte(D),z.mouse=[q,this.__zoom.invert(q)],S8(this),z.start();function V(B){if(vR(B),!z.moved){var Z=B.clientX-M,K=B.clientY-G;z.moved=Z*Z+K*K>g}z.event(B).zoom("mouse",n(S(z.that.__zoom,z.mouse[0]=rg(B,H),z.mouse[1]),z.extent,i))}function $(B){U.on("mousemove.zoom mouseup.zoom",null),VSt(B.view,z.moved),vR(B),z.event(B).end()}}function I(D,...F){if(e.apply(this,arguments)){var H=this.__zoom,z=rg(D.changedTouches?D.changedTouches[0]:D,this),U=H.invert(z),q=H.k*(D.shiftKey?.5:2),M=n(S(x(H,q),z,U),t.apply(this,F),i);vR(D),l>0?kp(this).transition().duration(l).call(C,M,z,D):kp(this).call(b.transform,M,z,D)}}function A(D,...F){if(e.apply(this,arguments)){var H=D.touches,z=H.length,U=_(this,F,D.changedTouches.length===z).event(D),q,M,G,V;for(gte(D),M=0;M<z;++M)G=H[M],V=rg(G,this),V=[V,this.__zoom.invert(V),G.identifier],U.touch0?!U.touch1&&U.touch0[2]!==V[2]&&(U.touch1=V,U.taps=0):(U.touch0=V,q=!0,U.taps=1+!!d);d&&(d=clearTimeout(d)),q&&(U.taps<2&&(f=V[0],d=setTimeout(function(){d=null},h)),S8(this),U.start())}}function R(D,...F){if(this.__zooming){var H=_(this,F).event(D),z=D.changedTouches,U=z.length,q,M,G,V;for(vR(D),q=0;q<U;++q)M=z[q],G=rg(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],B=H.touch0[1],Z=H.touch1[0],K=H.touch1[1],ne=(ne=Z[0]-$[0])*ne+(ne=Z[1]-$[1])*ne,ee=(ee=K[0]-B[0])*ee+(ee=K[1]-B[1])*ee;M=x(M,Math.sqrt(ne/ee)),G=[($[0]+Z[0])/2,($[1]+Z[1])/2],V=[(B[0]+K[0])/2,(B[1]+K[1])/2]}else if(H.touch0)G=H.touch0[0],V=H.touch0[1];else return;H.zoom("touch",n(S(M,G,V),H.extent,i))}}function L(D,...F){if(this.__zooming){var H=_(this,F).event(D),z=D.changedTouches,U=z.length,q,M;for(gte(D),p&&clearTimeout(p),p=setTimeout(function(){p=null},h),q=0;q<U;++q)M=z[q],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=rg(M,this),Math.hypot(f[0]-M[0],f[1]-M[1])<y)){var G=kp(this).on("dblclick.zoom");G&&G.apply(this,arguments)}}}return b.wheelDelta=function(D){return arguments.length?(r=typeof D=="function"?D:U6(+D),b):r},b.filter=function(D){return arguments.length?(e=typeof D=="function"?D:U6(!!D),b):e},b.touchable=function(D){return arguments.length?(s=typeof D=="function"?D:U6(!!D),b):s},b.extent=function(D){return arguments.length?(t=typeof D=="function"?D:U6([[+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?(g=(D=+D)*D,b):Math.sqrt(g)},b.tapDistance=function(D){return arguments.length?(y=+D,b):y},b}const vy={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."},hM=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],okt=["Enter"," ","Escape"],lkt={"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 Fj;(function(e){e.Strict="strict",e.Loose="loose"})(Fj||(Fj={}));var Xk;(function(e){e.Free="free",e.Vertical="vertical",e.Horizontal="horizontal"})(Xk||(Xk={}));var mM;(function(e){e.Partial="partial",e.Full="full"})(mM||(mM={}));const ckt={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null};var vw;(function(e){e.Bezier="default",e.Straight="straight",e.Step="step",e.SmoothStep="smoothstep",e.SimpleBezier="simplebezier"})(vw||(vw={}));var gM;(function(e){e.Arrow="arrow",e.ArrowClosed="arrowclosed"})(gM||(gM={}));var ar;(function(e){e.Left="left",e.Top="top",e.Right="right",e.Bottom="bottom"})(ar||(ar={}));const U9e={[ar.Left]:ar.Right,[ar.Right]:ar.Left,[ar.Top]:ar.Bottom,[ar.Bottom]:ar.Top};function ukt(e){return e===null?null:e?"valid":"invalid"}const dkt=e=>"id"in e&&"source"in e&&"target"in e,RGn=e=>"id"in e&&"position"in e&&!("source"in e)&&!("target"in e),Cke=e=>"id"in e&&"internals"in e&&!("source"in e)&&!("target"in e),S3=(e,t=[0,0])=>{const{width:n,height:r}=t0(e),s=e.origin??t,a=n*s[0],i=r*s[1];return{x:e.position.x-a,y:e.position.y-i}},PGn=(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):Cke(s)?s:t.nodeLookup.get(s.id));const l=i?EB(i,t.nodeOrigin):{x:0,y:0,x2:0,y2:0};return RH(r,l)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return PH(n)},k3=(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=RH(n,EB(s)),r=!0)}),r?PH(n):{x:0,y:0,width:0,height:0}},Eke=(e,t,[n,r,s]=[0,0,1],a=!1,i=!1)=>{const l={..._3(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,g=vM(l,Bj(u)),y=(h??0)*(m??0),b=a&&g>0;(!u.internals.handleBounds||b||g>=y||u.dragging)&&c.push(u)}return c},$Gn=(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 MGn(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 DGn({nodes:e,width:t,height:n,panZoom:r,minZoom:s,maxZoom:a},i){if(e.size===0)return Promise.resolve(!0);const l=MGn(e,i),c=k3(l),u=Tke(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 fkt({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",vy.error005());else{const h=l.measured.width,m=l.measured.height;h&&m&&(f=[[c,u],[c+h,u+m]])}else l&&Uj(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=Uj(f)?qO(t,f,i.measured):t;return(i.measured.width===void 0||i.measured.height===void 0)&&a?.("015",vy.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 LGn({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(g=>g.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=$Gn(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 zj=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),qO=(e={x:0,y:0},t,n)=>({x:zj(e.x,t[0][0],t[1][0]-(n?.width??0)),y:zj(e.y,t[0][1],t[1][1]-(n?.height??0))});function pkt(e,t,n){const{width:r,height:s}=t0(n),{x:a,y:i}=n.internals.positionAbsolute;return qO(e,[[a,i],[a+r,i+s]],t)}const q9e=(e,t,n)=>e<t?zj(Math.abs(e-t),1,t)/t:e>n?-zj(Math.abs(e-n),1,t)/t:0,hkt=(e,t,n=15,r=40)=>{const s=q9e(e.x,r,t.width-r)*n,a=q9e(e.y,r,t.height-r)*n;return[s,a]},RH=(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)}),jge=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),PH=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Bj=(e,t=[0,0])=>{const{x:n,y:r}=Cke(e)?e.internals.positionAbsolute:S3(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}},EB=(e,t=[0,0])=>{const{x:n,y:r}=Cke(e)?e.internals.positionAbsolute:S3(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)}},mkt=(e,t)=>PH(RH(jge(e),jge(t))),vM=(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)},V9e=e=>gg(e.width)&&gg(e.height)&&gg(e.x)&&gg(e.y),gg=e=>!isNaN(e)&&isFinite(e),FGn=(e,t)=>{},O3=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),_3=({x:e,y:t},[n,r,s],a=!1,i=[1,1])=>{const l={x:(e-n)/s,y:(t-r)/s};return a?O3(l,i):l},TB=({x:e,y:t},[n,r,s])=>({x:e*s+n,y:t*s+r});function aE(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 zGn(e,t,n){if(typeof e=="string"||typeof e=="number"){const r=aE(e,n),s=aE(e,t);return{top:r,right:s,bottom:r,left:s,x:s*2,y:r*2}}if(typeof e=="object"){const r=aE(e.top??e.y??0,n),s=aE(e.bottom??e.y??0,n),a=aE(e.left??e.x??0,t),i=aE(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 BGn(e,t,n,r,s,a){const{x:i,y:l}=TB(e,[t,n,r]),{x:c,y:u}=TB({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 Tke=(e,t,n,r,s,a)=>{const i=zGn(a,t,n),l=(t-i.x)/e.width,c=(n-i.y)/e.height,u=Math.min(l,c),d=zj(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,g=BGn(e,h,m,d,t,n),y={left:Math.min(g.left-i.left,0),top:Math.min(g.top-i.top,0),right:Math.min(g.right-i.right,0),bottom:Math.min(g.bottom-i.bottom,0)};return{x:h-y.left+y.right,y:m-y.top+y.bottom,zoom:d}},yM=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Uj(e){return e!=null&&e!=="parent"}function t0(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function gkt(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function vkt(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 H9e(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function UGn(){let e,t;return{promise:new Promise((r,s)=>{e=r,t=s}),resolve:e,reject:t}}function qGn(e){return{...lkt,...e||{}}}function p2(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:s}){const{x:a,y:i}=vg(e),l=_3({x:a-(s?.left??0),y:i-(s?.top??0)},r),{x:c,y:u}=n?O3(l,t):l;return{xSnapped:c,ySnapped:u,...l}}const jke=e=>({width:e.offsetWidth,height:e.offsetHeight}),ykt=e=>e?.getRootNode?.()||window?.document,VGn=["INPUT","SELECT","TEXTAREA"];function bkt(e){const t=e.composedPath?.()?.[0]||e.target;return t?.nodeType!==1?!1:VGn.includes(t.nodeName)||t.hasAttribute("contenteditable")||!!t.closest(".nokey")}const xkt=e=>"clientX"in e,vg=(e,t)=>{const n=xkt(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)}},W9e=(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,...jke(i)}})};function wkt({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 q6(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function Z9e({pos:e,x1:t,y1:n,x2:r,y2:s,c:a}){switch(e){case ar.Left:return[t-q6(t-r,a),n];case ar.Right:return[t+q6(r-t,a),n];case ar.Top:return[t,n-q6(n-s,a)];case ar.Bottom:return[t,n+q6(s-n,a)]}}function Nke({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,curvature:i=.25}){const[l,c]=Z9e({pos:n,x1:e,y1:t,x2:r,y2:s,c:i}),[u,d]=Z9e({pos:a,x1:r,y1:s,x2:e,y2:t,c:i}),[f,p,h,m]=wkt({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 Skt({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 HGn({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 WGn({sourceNode:e,targetNode:t,width:n,height:r,transform:s}){const a=RH(EB(e),EB(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 vM(i,PH(a))>0}const ZGn=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||""}-${n}${r||""}`,GGn=(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)),QGn=(e,t,n={})=>{if(!e.source||!e.target)return t;const r=n.getEdgeId||ZGn;let s;return dkt(e)?s={...e}:s={...e,id:r(e)},GGn(s,t)?t:(s.sourceHandle===null&&delete s.sourceHandle,s.targetHandle===null&&delete s.targetHandle,t.concat(s))};function kkt({sourceX:e,sourceY:t,targetX:n,targetY:r}){const[s,a,i,l]=Skt({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,s,a,i,l]}const G9e={[ar.Left]:{x:-1,y:0},[ar.Right]:{x:1,y:0},[ar.Top]:{x:0,y:-1},[ar.Bottom]:{x:0,y:1}},YGn=({source:e,sourcePosition:t=ar.Bottom,target:n})=>t===ar.Left||t===ar.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},Q9e=(e,t)=>Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2));function KGn({source:e,sourcePosition:t=ar.Bottom,target:n,targetPosition:r=ar.Top,center:s,offset:a,stepPosition:i}){const l=G9e[t],c=G9e[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=YGn({source:u,sourcePosition:t,target:d}),p=f.x!==0?"x":"y",h=f[p];let m=[],g,y;const b={x:0,y:0},x={x:0,y:0},[,,S,k]=Skt({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(l[p]*c[p]===-1){p==="x"?(g=s.x??u.x+(d.x-u.x)*i,y=s.y??(u.y+d.y)/2):(g=s.x??(u.x+d.x)/2,y=s.y??u.y+(d.y-u.y)*i);const T=[{x:g,y:u.y},{x:g,y:d.y}],N=[{x:u.x,y},{x:d.x,y}];l[p]===h?m=p==="x"?T:N:m=p==="x"?N:T}else{const T=[{x:u.x,y:d.y}],N=[{x:d.x,y:u.y}];if(p==="x"?m=l.x===h?N:T:m=l.y===h?T: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],z=u[D]<d[D];(l[p]===1&&(!F&&H||F&&z)||l[p]!==1&&(!F&&z||F&&H))&&(m=p==="x"?T: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?(g=(I.x+A.x)/2,y=m[0].y):(g=m[0].x,y=(I.y+A.y)/2)}const C={x:u.x+b.x,y:u.y+b.y},_={x:d.x+x.x,y:d.y+x.y};return[[e,...C.x!==m[0].x||C.y!==m[0].y?[C]:[],...m,..._.x!==m[m.length-1].x||_.y!==m[m.length-1].y?[_]:[],n],g,y,S,k]}function XGn(e,t,n,r){const s=Math.min(Q9e(e,t)/2,Q9e(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 Nge({sourceX:e,sourceY:t,sourcePosition:n=ar.Bottom,targetX:r,targetY:s,targetPosition:a=ar.Top,borderRadius:i=5,centerX:l,centerY:c,offset:u=20,stepPosition:d=.5}){const[f,p,h,m,g]=KGn({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+=XGn(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,g]}function Y9e(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function JGn(e){const{sourceNode:t,targetNode:n}=e;if(!Y9e(t)||!Y9e(n))return null;const r=t.internals.handleBounds||K9e(t.handles),s=n.internals.handleBounds||K9e(n.handles),a=X9e(r?.source??[],e.sourceHandle),i=X9e(e.connectionMode===Fj.Strict?s?.target??[]:(s?.target??[]).concat(s?.source??[]),e.targetHandle);if(!a||!i)return e.onError?.("008",vy.error008(a?"target":"source",{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;const l=a?.position||ar.Bottom,c=i?.position||ar.Top,u=VO(t,a,l),d=VO(n,i,c);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:l,targetPosition:c}}function K9e(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 VO(e,t,n=ar.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??t0(e);if(r)return{x:s+i/2,y:a+l/2};switch(t?.position??n){case ar.Top:return{x:s+i/2,y:a};case ar.Right:return{x:s+i,y:a+l/2};case ar.Bottom:return{x:s+i/2,y:a+l};case ar.Left:return{x:s,y:a+l/2}}}function X9e(e,t){return e&&(t?e.find(n=>n.id===t):e[0])||null}function Ige(e,t){return e?typeof e=="string"?e:`${t?`${t}__`:""}${Object.keys(e).sort().map(r=>`${r}=${e[r]}`).join("&")}`:""}function eQn(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=Ige(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 Okt=1e3,tQn=10,Ike={nodeOrigin:[0,0],nodeExtent:hM,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},nQn={...Ike,checkEquality:!0};function Ake(e,t){const n={...e};for(const r in t)t[r]!==void 0&&(n[r]=t[r]);return n}function rQn(e,t,n){const r=Ake(Ike,n);for(const s of e.values())if(s.parentId)Pke(s,e,t,r);else{const a=S3(s,r.nodeOrigin),i=Uj(s.extent)?s.extent:r.nodeExtent,l=qO(a,i,t0(s));s.internals.positionAbsolute=l}}function sQn(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 Rke(e){return e==="manual"}function Age(e,t,n,r={}){const s=Ake(nQn,r),a={i:0},i=new Map(t),l=s?.elevateNodesOnSelect&&!Rke(s.zIndexMode)?Okt: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=S3(d,s.nodeOrigin),h=Uj(d.extent)?d.extent:s.nodeExtent,m=qO(p,h,t0(d));f={...s.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:m,handleBounds:sQn(d,f),z:_kt(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&&Pke(f,t,n,r,a),u||=d.selected??!1}return{nodesInitialized:c,hasSelectedNodes:u}}function aQn(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 Pke(e,t,n,r,s){const{elevateNodesOnSelect:a,nodeOrigin:i,nodeExtent:l,zIndexMode:c}=Ake(Ike,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}aQn(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*tQn),s&&d.internals.rootParentIndex!==void 0&&(s.i=d.internals.rootParentIndex);const f=a&&!Rke(c)?Okt:0,{x:p,y:h,z:m}=iQn(e,d,i,l,f,c),{positionAbsolute:g}=e.internals,y=p!==g.x||h!==g.y;(y||m!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:y?{x:p,y:h}:g,z:m}})}function _kt(e,t,n){const r=gg(e.zIndex)?e.zIndex:0;return Rke(n)?r:r+(e.selected?t:0)}function iQn(e,t,n,r,s,a){const{x:i,y:l}=t.internals.positionAbsolute,c=t0(e),u=S3(e,n),d=Uj(e.extent)?qO(u,e.extent,c):u;let f=qO({x:i+d.x,y:l+d.y},r,c);e.extent==="parent"&&(f=pkt(f,c,t));const p=_kt(e,s,a),h=t.internals.z??0;return{x:f.x,y:f.y,z:h>=p?h+1:p}}function $ke(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??Bj(l),u=mkt(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=t0(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)),g=Math.max(d.height,Math.round(i.height)),y=(m-d.width)*f[0],b=(g-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:g+(h?f[1]*h-b:0)}})}),s}function oQn(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 g=jke(h.nodeElement),y=m.measured.width!==g.width||m.measured.height!==g.height;if(!!(g.width&&g.height&&(y||!m.internals.handleBounds||h.force))){const x=h.nodeElement.getBoundingClientRect(),S=Uj(m.extent)?m.extent:a;let{positionAbsolute:k}=m.internals;m.parentId&&m.extent==="parent"?k=pkt(k,g,t.get(m.parentId)):S&&(k=qO(k,S,g));const C={...m,measured:g,internals:{...m.internals,positionAbsolute:k,handleBounds:{source:W9e("source",h.nodeElement,x,f,m.id),target:W9e("target",h.nodeElement,x,f,m.id)}}};t.set(m.id,C),m.parentId&&Pke(C,t,n,{nodeOrigin:s,zIndexMode:i}),c=!0,y&&(u.push({id:m.id,type:"dimensions",dimensions:g}),m.expandParent&&m.parentId&&p.push({id:m.id,parentId:m.parentId,rect:Bj(C,s)}))}}if(p.length>0){const h=$ke(p,t,n,s);u.push(...h)}return{changes:u,updatedInternals:c}}async function lQn({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 J9e(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 Ckt(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}`;J9e("source",c,d,e,s,i),J9e("target",c,u,e,a,l),t.set(r.id,r)}}function Ekt(e,t){if(!e.parentId)return!1;const n=t.get(e.parentId);return n?n.selected?!0:Ekt(n,t):!1}function e7e(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 cQn(e,t,n,r){const s=new Map;for(const[a,i]of e)if((i.selected||i.id===r)&&(!i.parentId||!Ekt(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 vte({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 uQn({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=O3(a,t);return{x:i.x-a.x,y:i.y-a.y}}function dQn({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,g=null;function y({noDragClassName:x,handleSelector:S,domNode:k,isSelectable:C,nodeId:_,nodeClickDistance:E=0}){p=kp(k);function T({x:R,y:L}){const{nodeLookup:D,nodeExtent:F,snapGrid:H,snapToGrid:z,nodeOrigin:U,onNodeDrag:q,onSelectionDrag:M,onError:G,updateNodePositions:V}=t();a={x:R,y:L};let $=!1;const B=l.size>1,Z=B&&F?jge(k3(l)):null,K=B&&z?uQn({dragItems:l,snapGrid:H,x:R,y:L}):null;for(const[ne,ee]of l){if(!D.has(ne))continue;let J={x:R-ee.distance.x,y:L-ee.distance.y};z&&(J=K?{x:Math.round(J.x+K.x),y:Math.round(J.y+K.y)}:O3(J,H));let ae=null;if(B&&F&&!ee.extent&&Z){const{positionAbsolute:re}=ee.internals,le=re.x-Z.x+F[0][0],ue=re.x+ee.measured.width-Z.x2+F[1][0],oe=re.y-Z.y+F[0][1],me=re.y+ee.measured.height-Z.y2+F[1][1];ae=[[le,oe],[ue,me]]}const{position:fe,positionAbsolute:Y}=fkt({nodeId:ne,nextPosition:J,nodeLookup:D,nodeExtent:ae||F,nodeOrigin:U,onError:G});$=$||ee.position.x!==fe.x||ee.position.y!==fe.y,ee.position=fe,ee.internals.positionAbsolute=Y}if(m=m||$,!!$&&(V(l,!0),g&&(r||q||!_&&M))){const[ne,ee]=vte({nodeId:_,dragItems:l,nodeLookup:D});r?.(g,l,ne,ee),q?.(g,ne,ee),_||M?.(g,ee)}}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,z]=hkt(u,d,D);(H!==0||z!==0)&&(a.x=(a.x??0)-H/R[2],a.y=(a.y??0)-z/R[2],await L({x:H,y:z})&&T(a)),i=requestAnimationFrame(N)}function I(R){const{nodeLookup:L,multiSelectionActive:D,nodesDraggable:F,transform:H,snapGrid:z,snapToGrid:U,selectNodesOnDrag:q,onNodeDragStart:M,onSelectionDragStart:G,unselectNodesAndEdges:V}=t();f=!0,(!q||!C)&&!D&&_&&(L.get(_)?.selected||V()),C&&q&&_&&e?.(_);const $=p2(R.sourceEvent,{transform:H,snapGrid:z,snapToGrid:U,containerBounds:d});if(a=$,l=cQn(L,F,$,_),l.size>0&&(n||M||!_&&G)){const[B,Z]=vte({nodeId:_,dragItems:l,nodeLookup:L});n?.(R.sourceEvent,l,B,Z),M?.(R.sourceEvent,B,Z),_||G?.(R.sourceEvent,Z)}}const A=HSt().clickDistance(E).on("start",R=>{const{domNode:L,nodeDragThreshold:D,transform:F,snapGrid:H,snapToGrid:z}=t();d=L?.getBoundingClientRect()||null,h=!1,m=!1,g=R.sourceEvent,D===0&&I(R),a=p2(R.sourceEvent,{transform:F,snapGrid:H,snapToGrid:z,containerBounds:d}),u=vg(R.sourceEvent,d)}).on("drag",R=>{const{autoPanOnNodeDrag:L,transform:D,snapGrid:F,snapToGrid:H,nodeDragThreshold:z,nodeLookup:U}=t(),q=p2(R.sourceEvent,{transform:D,snapGrid:F,snapToGrid:H,containerBounds:d});if(g=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||_&&!U.has(_))&&(h=!0),!h){if(!c&&L&&f&&(c=!0,N()),!f){const M=vg(R.sourceEvent,d),G=M.x-u.x,V=M.y-u.y;Math.sqrt(G*G+V*V)>z&&I(R)}(a.x!==q.xSnapped||a.y!==q.ySnapped)&&l&&f&&(u=vg(R.sourceEvent,d),T(q))}}).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||!_&&H){const[z,U]=vte({nodeId:_,dragItems:l,nodeLookup:L,dragging:!1});s?.(R.sourceEvent,l,z,U),F?.(R.sourceEvent,z,U),_||H?.(R.sourceEvent,U)}}}).filter(R=>{const L=R.target;return!R.button&&(!x||!e7e(L,`.${x}`,k))&&(!S||e7e(L,S,k))});p.call(A)}function b(){p?.on(".drag",null)}return{update:y,destroy:b}}function fQn(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())vM(s,Bj(a))>0&&r.push(a);return r}const pQn=250;function hQn(e,t,n,r){let s=[],a=1/0;const i=fQn(e,n,t+pQn);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}=VO(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 Tkt(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,...VO(i,c,c.position,!0)}:c}function jkt(e,t){return e||(t?.classList.contains("target")?"target":t?.classList.contains("source")?"source":null)}function mQn(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}const Nkt=()=>!0;function gQn(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:g,onConnectEnd:y,isValidConnection:b=Nkt,onReconnectEnd:x,updateConnection:S,getTransform:k,getFromHandle:C,autoPanSpeed:_,dragThreshold:E=1,handleDomNode:T}){const N=ykt(e.target);let I=0,A;const{x:R,y:L}=vg(e),D=jkt(a,T),F=l?.getBoundingClientRect();let H=!1;if(!F||!D)return;const z=Tkt(s,D,r,c,t);if(!z)return;let U=vg(e,F),q=!1,M=null,G=!1,V=null;function $(){if(!d||!F)return;const[fe,Y]=hkt(U,F,_);p({x:fe,y:Y}),I=requestAnimationFrame($)}const B={...z,nodeId:s,type:D,position:z.position},Z=c.get(s);let ne={inProgress:!0,isValid:null,from:VO(Z,B,ar.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:Z,to:U,toHandle:null,toPosition:U9e[B.position],toNode:null,pointer:U};function ee(){H=!0,S(ne),m?.(e,{nodeId:s,handleId:r,handleType:D})}E===0&&ee();function J(fe){if(!H){const{x:me,y:be}=vg(fe),xe=me-R,Ce=be-L;if(!(xe*xe+Ce*Ce>E*E))return;ee()}if(!C()||!B){ae(fe);return}const Y=k();U=vg(fe,F),A=hQn(_3(U,Y,!1,[1,1]),n,c,B),q||($(),q=!0);const re=Ikt(fe,{handle:A,connectionMode:t,fromNodeId:s,fromHandleId:r,fromType:i?"target":"source",isValidConnection:b,doc:N,lib:u,flowId:f,nodeLookup:c});V=re.handleDomNode,M=re.connection,G=mQn(!!A,re.isValid);const le=c.get(s),ue=le?VO(le,B,ar.Left,!0):ne.from,oe={...ne,from:ue,isValid:G,to:re.toHandle&&G?TB({x:re.toHandle.x,y:re.toHandle.y},Y):U,toHandle:re.toHandle,toPosition:G&&re.toHandle?re.toHandle.position:U9e[B.position],toNode:re.toHandle?c.get(re.toHandle.nodeId):null,pointer:U};S(oe),ne=oe}function ae(fe){if(!("touches"in fe&&fe.touches.length>0)){if(H){(A||V)&&M&&G&&g?.(M);const{inProgress:Y,...re}=ne,le={...re,toPosition:ne.toHandle?ne.toPosition:null};y?.(fe,le),a&&x?.(fe,le)}h(),cancelAnimationFrame(I),q=!1,G=!1,M=null,V=null,N.removeEventListener("mousemove",J),N.removeEventListener("mouseup",ae),N.removeEventListener("touchmove",J),N.removeEventListener("touchend",ae)}}N.addEventListener("mousemove",J),N.addEventListener("mouseup",ae),N.addEventListener("touchmove",J),N.addEventListener("touchend",ae)}function Ikt(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:s,fromType:a,doc:i,lib:l,flowId:c,isValidConnection:u=Nkt,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}=vg(e),g=i.elementFromPoint(h,m),y=g?.classList.contains(`${l}-flow__handle`)?g:p,b={handleDomNode:y,isValid:!1,connection:null,toHandle:null};if(y){const x=jkt(void 0,y),S=y.getAttribute("data-nodeid"),k=y.getAttribute("data-handleid"),C=y.classList.contains("connectable"),_=y.classList.contains("connectableend");if(!S||!x)return b;const E={source:f?S:r,sourceHandle:f?k:s,target:f?r:S,targetHandle:f?s:k};b.connection=E;const N=C&&_&&(n===Fj.Strict?f&&x==="source"||!f&&x==="target":S!==r||k!==s);b.isValid=N&&u(E),b.toHandle=Tkt(S,x,k,d,n,!0)}return b}const Rge={onPointerDown:gQn,isValid:Ikt};function vQn({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){const s=kp(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(),C=S.sourceEvent.ctrlKey&&yM()?10:1,_=-S.sourceEvent.deltaY*(S.sourceEvent.deltaMode===1?.05:S.sourceEvent.deltaMode?1:.002)*d,E=k[2]*Math.pow(2,_*C);t.scaleTo(E)};let g=[0,0];const y=S=>{(S.sourceEvent.type==="mousedown"||S.sourceEvent.type==="touchstart")&&(g=[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 C=[S.sourceEvent.clientX??S.sourceEvent.touches[0].clientX,S.sourceEvent.clientY??S.sourceEvent.touches[0].clientY],_=[C[0]-g[0],C[1]-g[1]];g=C;const E=r()*Math.max(k[2],Math.log(k[2]))*(h?-1:1),T={x:k[0]-_[0]*E,y:k[1]-_[1]*E},N=[[0,0],[c,u]];t.setViewportConstrained({x:T.x,y:T.y,zoom:k[2]},N,l)},x=ikt().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:rg}}const $H=e=>({x:e.x,y:e.y,zoom:e.k}),yte=({x:e,y:t,zoom:n})=>AH.translate(e,t).scale(n),iT=(e,t)=>e.target.closest(`.${t}`),Akt=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),yQn=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,bte=(e,t=0,n=yQn,r=()=>{})=>{const s=typeof t=="number"&&t>0;return s||r(),s?e.transition().duration(t).ease(n).on("end",r):e},Rkt=e=>{const t=e.ctrlKey&&yM()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function bQn({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:s,panOnScrollSpeed:a,zoomOnPinch:i,onPanZoomStart:l,onPanZoom:c,onPanZoomEnd:u}){return d=>{if(iT(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=rg(d),b=Rkt(d),x=f*Math.pow(2,b);r.scaleTo(n,x,y,d);return}const p=d.deltaMode===1?20:1;let h=s===Xk.Vertical?0:d.deltaX*p,m=s===Xk.Horizontal?0:d.deltaY*p;!yM()&&d.shiftKey&&s!==Xk.Vertical&&(h=d.deltaY*p,m=0),r.translateBy(n,-(h/f)*a,-(m/f)*a,{internal:!0});const g=$H(n.property("__zoom"));clearTimeout(e.panScrollTimeout),e.isPanScrolling?(c?.(d,g),e.panScrollTimeout=setTimeout(()=>{u?.(d,g),e.isPanScrolling=!1},150)):(e.isPanScrolling=!0,l?.(d,g))}}function xQn({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,s){const a=r.type==="wheel",i=!t&&a&&!r.ctrlKey,l=iT(r,e);if(r.ctrlKey&&a&&l&&r.preventDefault(),i||l)return null;r.preventDefault(),n.call(this,r,s)}}function wQn({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;const s=$H(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 SQn({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:s}){return a=>{e.usedRightMouseButton=!!(n&&Akt(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),s&&!a.sourceEvent?.internal&&s?.(a.sourceEvent,$H(a.transform))}}function kQn({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:s,onPaneContextMenu:a}){return i=>{if(!i.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&Akt(t,e.mouseButton??0)&&!e.usedRightMouseButton&&i.sourceEvent&&a(i.sourceEvent),e.usedRightMouseButton=!1,r(!1),s)){const l=$H(i.transform);e.prevViewport=l,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{s?.(i.sourceEvent,l)},n?150:0)}}}function OQn({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"&&(iT(f,`${u}-flow__node`)||iT(f,`${u}-flow__edge`)))return!0;if(!r&&!p&&!s&&!a&&!n||i||d&&!m||iT(f,l)&&m||iT(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 g=Array.isArray(r)&&r.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||m)&&g}}function _Qn({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=ikt().scaleExtent([t,n]).translateExtent(r),p=kp(e).call(f);x({x:s.x,y:s.y,zoom:zj(s.zoom,t,n)},[[0,0],[d.width,d.height]],r);const h=p.on("wheel.zoom"),m=p.on("dblclick.zoom");f.wheelDelta(Rkt);function g(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?ux:b8).transform(bte(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:z,panOnScrollSpeed:U,preventScrolling:q,zoomOnPinch:M,zoomOnScroll:G,zoomOnDoubleClick:V,zoomActivationKeyPressed:$,lib:B,onTransformChange:Z,connectionInProgress:K,paneClickDistance:ne,selectionOnDrag:ee}){D&&!u.isZoomingOrPanning&&b();const J=F&&!$&&!D;f.clickDistance(ee?1/0:!gg(ne)||ne<0?0:ne);const ae=J?bQn({zoomPanValues:u,noWheelClassName:A,d3Selection:p,d3Zoom:f,panOnScrollMode:z,panOnScrollSpeed:U,zoomOnPinch:M,onPanZoomStart:i,onPanZoom:a,onPanZoomEnd:l}):xQn({noWheelClassName:A,preventScrolling:q,d3ZoomHandler:h});if(p.on("wheel.zoom",ae,{passive:!1}),!D){const Y=wQn({zoomPanValues:u,onDraggingChange:c,onPanZoomStart:i});f.on("start",Y);const re=SQn({zoomPanValues:u,panOnDrag:H,onPaneContextMenu:!!L,onPanZoom:a,onTransformChange:Z});f.on("zoom",re);const le=kQn({zoomPanValues:u,panOnDrag:H,panOnScroll:F,onPaneContextMenu:L,onPanZoomEnd:l,onDraggingChange:c});f.on("end",le)}const fe=OQn({zoomActivationKeyPressed:$,panOnDrag:H,zoomOnScroll:G,panOnScroll:F,zoomOnDoubleClick:V,zoomOnPinch:M,userSelectionActive:D,noPanClassName:R,noWheelClassName:A,lib:B,connectionInProgress:K});f.filter(fe),V?p.on("dblclick.zoom",m):p.on("dblclick.zoom",null)}function b(){f.on("zoom",null)}async function x(A,R,L){const D=yte(A),F=f?.constrain()(D,R,L);return F&&await g(F),new Promise(H=>H(F))}async function S(A,R){const L=yte(A);return await g(L,R),new Promise(D=>D(L))}function k(A){if(p){const R=yte(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 C(){const A=p?akt(p.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}function _(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?ux:b8).scaleTo(bte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function E(A,R){return p?new Promise(L=>{f?.interpolate(R?.interpolate==="linear"?ux:b8).scaleBy(bte(p,R?.duration,R?.ease,()=>L(!0)),A)}):Promise.resolve(!1)}function T(A){f?.scaleExtent(A)}function N(A){f?.translateExtent(A)}function I(A){const R=!gg(A)||A<0?0:A;f?.clickDistance(R)}return{update:y,destroy:b,setViewport:S,setViewportConstrained:x,getViewport:C,scaleTo:_,scaleBy:E,setScaleExtent:T,setTranslateExtent:N,syncViewport:k,setClickDistance:I}}var qj;(function(e){e.Line="line",e.Handle="handle"})(qj||(qj={}));function CQn({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 t7e(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 G0(e,t){return Math.max(0,t-e)}function Q0(e,t){return Math.max(0,e-t)}function V6(e,t,n){return Math.max(0,t-e,e-n)}function n7e(e,t){return e?!t:t}function EQn(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:g,maxWidth:y,minHeight:b,maxHeight:x}=r,{x:S,y:k,width:C,height:_,aspectRatio:E}=e;let T=Math.floor(d?h-e.pointerX:0),N=Math.floor(f?m-e.pointerY:0);const I=C+(c?-T:T),A=_+(u?-N:N),R=-a[0]*C,L=-a[1]*_;let D=V6(I,g,y),F=V6(A,b,x);if(i){let U=0,q=0;c&&T<0?U=G0(S+T+R,i[0][0]):!c&&T>0&&(U=Q0(S+I+R,i[1][0])),u&&N<0?q=G0(k+N+L,i[0][1]):!u&&N>0&&(q=Q0(k+A+L,i[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(l){let U=0,q=0;c&&T>0?U=Q0(S+T,l[0][0]):!c&&T<0&&(U=G0(S+I,l[1][0])),u&&N>0?q=Q0(k+N,l[0][1]):!u&&N<0&&(q=G0(k+A,l[1][1])),D=Math.max(D,U),F=Math.max(F,q)}if(s){if(d){const U=V6(I/E,b,x)*E;if(D=Math.max(D,U),i){let q=0;!c&&!u||c&&!u&&p?q=Q0(k+L+I/E,i[1][1])*E:q=G0(k+L+(c?T:-T)/E,i[0][1])*E,D=Math.max(D,q)}if(l){let q=0;!c&&!u||c&&!u&&p?q=G0(k+I/E,l[1][1])*E:q=Q0(k+(c?T:-T)/E,l[0][1])*E,D=Math.max(D,q)}}if(f){const U=V6(A*E,g,y)/E;if(F=Math.max(F,U),i){let q=0;!c&&!u||u&&!c&&p?q=Q0(S+A*E+R,i[1][0])/E:q=G0(S+(u?N:-N)*E+R,i[0][0])/E,F=Math.max(F,q)}if(l){let q=0;!c&&!u||u&&!c&&p?q=G0(S+A*E,l[1][0])/E:q=Q0(S+(u?N:-N)*E,l[0][0])/E,F=Math.max(F,q)}}}N=N+(N<0?F:-F),T=T+(T<0?D:-D),s&&(p?I>A*E?N=(n7e(c,u)?-T:T)/E:T=(n7e(c,u)?-N:N)*E:d?(N=T/E,u=c):(T=N*E,c=u));const H=c?S+T:S,z=u?k+N:k;return{width:C+(c?-T:T),height:_+(u?-N:N),x:a[0]*T*(c?-1:1)+H,y:a[1]*N*(u?-1:1)+z}}const Pkt={width:0,height:0,x:0,y:0},TQn={...Pkt,pointerX:0,pointerY:0,aspectRatio:1};function jQn(e){return[[0,0],[e.measured.width,e.measured.height]]}function NQn(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 IQn({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:s}){const a=kp(e);let i={controlDirection:t7e("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:g,shouldResize:y}){let b={...Pkt},x={...TQn};i={boundaries:d,resizeDirection:p,keepAspectRatio:f,controlDirection:t7e(u)};let S,k=null,C=[],_,E,T,N=!1;const I=HSt().on("start",A=>{const{nodeLookup:R,transform:L,snapGrid:D,snapToGrid:F,nodeOrigin:H,paneDomNode:z}=n();if(S=R.get(t),!S)return;k=z?.getBoundingClientRect()??null;const{xSnapped:U,ySnapped:q}=p2(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:U,pointerY:q,aspectRatio:b.width/b.height},_=void 0,S.parentId&&(S.extent==="parent"||S.expandParent)&&(_=R.get(S.parentId),E=_&&S.extent==="parent"?jQn(_):void 0),C=[],T=void 0;for(const[M,G]of R)if(G.parentId===t&&(C.push({id:M,position:{...G.position},extent:G.extent}),G.extent==="parent"||G.expandParent)){const V=NQn(G,S,G.origin??H);T?T=[[Math.min(V[0][0],T[0][0]),Math.min(V[0][1],T[0][1])],[Math.max(V[1][0],T[1][0]),Math.max(V[1][1],T[1][1])]]:T=V}h?.(A,{...b})}).on("drag",A=>{const{transform:R,snapGrid:L,snapToGrid:D,nodeOrigin:F}=n(),H=p2(A.sourceEvent,{transform:R,snapGrid:L,snapToGrid:D,containerBounds:k}),z=[];if(!S)return;const{x:U,y:q,width:M,height:G}=b,V={},$=S.origin??F,{width:B,height:Z,x:K,y:ne}=EQn(x,i.controlDirection,H,i.boundaries,i.keepAspectRatio,$,E,T),ee=B!==M,J=Z!==G,ae=K!==U&&ee,fe=ne!==q&&J;if(!ae&&!fe&&!ee&&!J)return;if((ae||fe||$[0]===1||$[1]===1)&&(V.x=ae?K:b.x,V.y=fe?ne:b.y,b.x=V.x,b.y=V.y,C.length>0)){const ue=K-U,oe=ne-q;for(const me of C)me.position={x:me.position.x-ue+$[0]*(B-M),y:me.position.y-oe+$[1]*(Z-G)},z.push(me)}if((ee||J)&&(V.width=ee&&(!i.resizeDirection||i.resizeDirection==="horizontal")?B:b.width,V.height=J&&(!i.resizeDirection||i.resizeDirection==="vertical")?Z:b.height,b.width=V.width,b.height=V.height),_&&S.expandParent){const ue=$[0]*(V.width??0);V.x&&V.x<ue&&(b.x=ue,x.x=x.x-(V.x-ue));const oe=$[1]*(V.height??0);V.y&&V.y<oe&&(b.y=oe,x.y=x.y-(V.y-oe))}const Y=CQn({width:b.width,prevWidth:M,height:b.height,prevHeight:G,affectsX:i.controlDirection.affectsX,affectsY:i.controlDirection.affectsY}),re={...b,direction:Y};y?.(A,re)!==!1&&(N=!0,m?.(A,re),r(V,z))}).on("end",A=>{N&&(g?.(A,{...b}),s?.({...b}),N=!1)});a.call(I)}function c(){a.on(".drag",null)}return{update:l,destroy:c}}const AQn={},r7e=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:()=>{(AQn?"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},RQn=e=>e?r7e(e):r7e,{useDebugValue:PQn}=Fe,{useSyncExternalStoreWithSelector:$Qn}=z_n,MQn=e=>e;function $kt(e,t=MQn,n){const r=$Qn(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return PQn(r),r}const s7e=(e,t)=>{const n=RQn(e),r=(s,a=t)=>$kt(n,s,a);return Object.assign(r,n),r},DQn=(e,t)=>e?s7e(e,t):s7e;function ao(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 MH=v.createContext(null),LQn=MH.Provider,Mkt=vy.error001();function Us(e,t){const n=v.useContext(MH);if(n===null)throw new Error(Mkt);return $kt(n,e,t)}function To(){const e=v.useContext(MH);if(e===null)throw new Error(Mkt);return v.useMemo(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}const a7e={display:"none"},FQn={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},Dkt="react-flow__node-desc",Lkt="react-flow__edge-desc",zQn="react-flow__aria-live",BQn=e=>e.ariaLiveMessage,UQn=e=>e.ariaLabelConfig;function qQn({rfId:e}){const t=Us(BQn);return o.jsx("div",{id:`${zQn}-${e}`,"aria-live":"assertive","aria-atomic":"true",style:FQn,children:t})}function VQn({rfId:e,disableKeyboardA11y:t}){const n=Us(UQn);return o.jsxs(o.Fragment,{children:[o.jsx("div",{id:`${Dkt}-${e}`,style:a7e,children:t?n["node.a11yDescription.default"]:n["node.a11yDescription.keyboardDisabled"]}),o.jsx("div",{id:`${Lkt}-${e}`,style:a7e,children:n["edge.a11yDescription.default"]}),!t&&o.jsx(qQn,{rfId:e})]})}const C3=v.forwardRef(({position:e="top-left",children:t,className:n,style:r,...s},a)=>{const i=`${e}`.split("-");return o.jsx("div",{className:ql(["react-flow__panel",n,...i]),style:r,ref:a,...s,children:t})});C3.displayName="Panel";function HQn({proOptions:e,position:t="bottom-right"}){return e?.hideAttribution?null:o.jsx(C3,{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 WQn=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}},H6=e=>e.id;function ZQn(e,t){return ao(e.selectedNodes.map(H6),t.selectedNodes.map(H6))&&ao(e.selectedEdges.map(H6),t.selectedEdges.map(H6))}function GQn({onSelectionChange:e}){const t=To(),{selectedNodes:n,selectedEdges:r}=Us(WQn,ZQn);return v.useEffect(()=>{const s={nodes:n,edges:r};e?.(s),t.getState().onSelectionChangeHandlers.forEach(a=>a(s))},[n,r,e]),null}const QQn=e=>!!e.onSelectionChangeHandlers;function YQn({onSelectionChange:e}){const t=Us(QQn);return e||t?o.jsx(GQn,{onSelectionChange:e}):null}const Pge=typeof window<"u"?v.useLayoutEffect:v.useEffect,Fkt=[0,0],KQn={x:0,y:0,zoom:1},XQn=["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"],i7e=[...XQn,"rfId"],JQn=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}),o7e={translateExtent:hM,nodeOrigin:Fkt,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function eYn(e){const{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:s,setTranslateExtent:a,setNodeExtent:i,reset:l,setDefaultNodesAndEdges:c}=Us(JQn,ao),u=To();Pge(()=>(c(e.defaultNodes,e.defaultEdges),()=>{d.current=o7e,l()}),[]);const d=v.useRef(o7e);return Pge(()=>{for(const f of i7e){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:qGn(p)}):f==="fitView"?u.setState({fitViewQueued:p}):f==="fitViewOptions"?u.setState({fitViewOptions:p}):u.setState({[f]:p})))}d.current=e},i7e.map(f=>e[f])),null}function l7e(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function tYn(e){const[t,n]=v.useState(e==="system"?null:e);return v.useEffect(()=>{if(e!=="system"){n(e);return}const r=l7e(),s=()=>n(r?.matches?"dark":"light");return s(),r?.addEventListener("change",s),()=>{r?.removeEventListener("change",s)}},[e]),t!==null?t:l7e()?.matches?"dark":"light"}const c7e=typeof document<"u"?document:null;function bM(e=null,t={target:c7e,actInsideInputWithModifier:!0}){const[n,r]=v.useState(!1),s=v.useRef(!1),a=v.useRef(new Set([])),[i,l]=v.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
  `,`
@@ -615,7 +615,7 @@ Token usage: ${n} input + ${r} output = ${s} total`:`The model stopped generatin
615
615
  }
616
616
  ]`})]})]})}function Vls({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(qe,{children:o.jsx(Td,{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 Hls({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("upload"),[i,l]=v.useState(null),[c,u]=v.useState({current:0,total:0}),[d,f]=v.useState(null),[p,h]=v.useState(!1),{parseFile:m,isParsing:g,error:y}=vos(),{batchInsertItems:b}=Ni(),x=v.useCallback(async I=>{try{const A=await m(I);l(A),a("preview")}catch{}},[m]),S=v.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=v.useCallback(()=>{n(!1),r?.(),d&&d.success>0&&De.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]),C=v.useCallback(()=>{p||(n(!1),setTimeout(()=>{a("upload"),l(null),u({current:0,total:0}),f(null)},150))},[p,n]),_=i&&i.items.length>0&&i.errors.length===0,E=()=>{switch(s){case"upload":return o.jsx(qls,{onFileSelect:x,isParsing:g,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(Vls,{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(Uls,{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(Jt,{}),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":"",")"]})]})]})]})}},T=()=>{switch(s){case"upload":return o.jsx(ce,{onClick:C,children:"Cancel"});case"preview":return o.jsxs(o.Fragment,{children:[o.jsx(ce,{onClick:()=>a("upload"),children:"Back"}),o.jsxs(ce,{variant:"primary",onClick:S,disabled:!_,children:["Import ",i?.items.length??0," Item",i?.items.length!==1?"s":""]})]});case"importing":return null;case"complete":return o.jsx(ce,{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:C,children:o.jsxs(yr,{className:"max-h-[90vh] max-w-2xl",children:[o.jsxs(br,{children:[o.jsx(hr,{children:N[s]}),o.jsx(zs,{children:"Import dataset items from a JSON file."})]}),o.jsx(Ir,{className:"max-h-[50vh] min-h-[200px] overflow-y-auto",children:E()}),o.jsx(rc,{className:"flex justify-end gap-2 px-6 pt-4",children:T()})]})})}const GIe=e=>{const t=We(),{data:n}=dD(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})},Wls=e=>{const t=We(),{data:n}=dD(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 Zls(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 EBt({datasetId:e,experimentId:t,featuredItemId:n}){const r=We(),{data:s}=Xx(e),{data:a,isLoading:i}=GIe(e),{data:l,isLoading:c}=Wls(e),u=v.useMemo(()=>t?(a??[]).filter(je=>je.experimentId===t):a,[a,t]),d=v.useMemo(()=>t?(l??[]).filter(je=>je.experimentId===t):l,[l,t]),{updateExperimentResult:f}=Ni(),[p,h]=v.useState(n??null);v.useEffect(()=>{n!==void 0&&h(n)},[n]);const[m,g]=v.useState(null),[y,b]=v.useState(new Set),[x,S]=v.useState(!1),[k,C]=v.useState(!1),[_,E]=v.useState(!1),[T,N]=v.useState(""),[I,A]=v.useState(""),[R,L]=v.useState(""),[D,F]=v.useState([]),[H,z]=v.useState(!1),[U,q]=v.useState(null),M=v.useMemo(()=>U??u??[],[U,u]);v.useEffect(()=>{q(null)},[e,t]),v.useEffect(()=>{u&&U===null&&q(u)},[u,U]);const G=v.useMemo(()=>{const je=new Set;if(s?.tags)for(const Ee of s.tags)je.add(Ee);for(const Ee of M)for(const Oe of Ee.tags)je.add(Oe);return[...je].sort()},[s,M]),V=v.useCallback(je=>{!s||!e||(s.tags??[]).includes(je)},[s,e]),$=v.useMemo(()=>m?m==="__untagged__"?M.filter(je=>je.tags.length===0):M.filter(je=>je.tags.includes(m)):M,[M,m]),B=v.useMemo(()=>{const je=new Map;for(const Ee of M)for(const Oe of Ee.tags)je.set(Oe,(je.get(Oe)??0)+1);return[...je.entries()].sort((Ee,Oe)=>Oe[1]-Ee[1])},[M]),Z=v.useMemo(()=>M.filter(je=>je.tags.length===0).length,[M]),K=v.useMemo(()=>{let je=0;return m&&je++,x&&je++,je},[m,x]),ne=v.useCallback((je,Ee)=>{q(Ie=>(Ie??[]).map(Me=>Me.id===je?{...Me,tags:Ee}:Me));const Oe=M.find(Ie=>Ie.id===je);Oe?.experimentId&&Oe?.datasetId&&f.mutate({datasetId:Oe.datasetId,experimentId:Oe.experimentId,resultId:Oe.id,tags:Ee})},[M,f]),ee=v.useCallback((je,Ee)=>{const Oe=M.find(Ie=>Ie.id===je);Oe?.traceId&&Ee!==void 0&&r.createFeedback({feedback:{traceId:Oe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"rating",value:Ee==="positive"?1:-1,experimentId:Oe.experimentId??void 0,sourceId:Oe.id}}).catch(()=>{}),q(Ie=>(Ie??[]).map(Me=>Me.id===je?{...Me,rating:Ee}:Me))},[M,r]),J=v.useCallback((je,Ee)=>{const Oe=M.find(Ie=>Ie.id===je);Oe?.experimentId&&Oe?.datasetId&&f.mutate({datasetId:Oe.datasetId,experimentId:Oe.experimentId,resultId:Oe.id,comment:Ee}),Oe?.traceId&&r.createFeedback({feedback:{traceId:Oe.traceId,source:"studio",feedbackSource:"studio",feedbackType:"comment",value:Ee,comment:Ee,experimentId:Oe.experimentId??void 0,sourceId:Oe.id}}).catch(()=>{}),q(Ie=>(Ie??[]).map(Me=>Me.id===je?{...Me,comment:Ee}:Me))},[M,r,f]),ae=v.useCallback(je=>{const Ee=M.find(Oe=>Oe.id===je);q(Oe=>(Oe??[]).filter(Ie=>Ie.id!==je)),b(Oe=>{const Ie=new Set(Oe);return Ie.delete(je),Ie}),p===je&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:null})},[M,f,p]),fe=v.useCallback(je=>{const Ee=M.find(Oe=>Oe.id===je);q(Oe=>(Oe??[]).filter(Ie=>Ie.id!==je)),b(Oe=>{const Ie=new Set(Oe);return Ie.delete(je),Ie}),p===je&&h(null),Ee?.experimentId&&Ee?.datasetId&&f.mutate({datasetId:Ee.datasetId,experimentId:Ee.experimentId,resultId:Ee.id,status:"complete"})},[M,f,p]),Y=v.useMemo(()=>{const je=x?d??[]:$;return!x||!m?je:m==="__untagged__"?je.filter(Ee=>Ee.tags.length===0):je.filter(Ee=>Ee.tags.includes(m))},[x,d,$,m]),re=x?c:!1,le=v.useMemo(()=>new Set(Y.map(je=>je.id)),[Y]),ue=v.useMemo(()=>[...y].filter(je=>le.has(je)).length,[y,le]),oe=Y.length>0&&ue===Y.length,me=ue>0&&!oe,be=v.useCallback(je=>{b(Ee=>{const Oe=new Set(Ee);return Oe.has(je)?Oe.delete(je):Oe.add(je),Oe})},[]),xe=v.useCallback(()=>{b(oe?new Set:new Set(Y.map(je=>je.id)))},[oe,Y]),Ce=v.useCallback(je=>{for(const Ee of y){const Oe=M.find(Ie=>Ie.id===Ee);Oe&&!Oe.tags.includes(je)&&ne(Ee,[...Oe.tags,je])}},[M,y,ne]),ke=v.useCallback(je=>{for(const Ee of y){const Oe=M.find(Ie=>Ie.id===Ee);Oe&&Oe.tags.includes(je)&&ne(Ee,Oe.tags.filter(Ie=>Ie!==je))}},[M,y,ne]),Ne=v.useCallback(()=>{for(const je of y)fe(je);b(new Set)},[y,fe]),$e=v.useCallback(()=>{for(const je of y)ae(je);b(new Set)},[y,ae]),de=v.useCallback(()=>{N(""),E(!0)},[]),te=v.useCallback(async()=>{if(!(!I||!R)){C(!0),E(!1);try{const je=M.filter(Oe=>y.has(Oe.id));if(je.length===0){C(!1);return}const Ee=await r.clusterFailures({modelId:`${I}/${R}`,items:je.map(Oe=>({id:Oe.id,input:Oe.input,output:Oe.output??void 0,error:typeof Oe.error=="string"?Oe.error:Oe.error?String(Oe.error):void 0,scores:Oe.scores,existingTags:Oe.tags.length>0?Oe.tags:void 0})),availableTags:G.length>0?G:void 0,prompt:T||void 0});Ee.proposedTags&&Ee.proposedTags.length>0&&(F(Ee.proposedTags.map(Oe=>({...Oe,accepted:!0}))),z(!0))}catch(je){console.error("Analysis failed:",je)}finally{C(!1)}}},[I,R,M,y,r,G,T]),se=v.useCallback(()=>{for(const je of D){if(!je.accepted)continue;const Ee=M.find(Oe=>Oe.id===je.itemId);if(Ee){const Oe=[...new Set([...Ee.tags,...je.tags])];ne(Ee.id,Oe)}}z(!1)},[D,M,ne]),he=v.useCallback(je=>{h(Ee=>Ee===je?null:je)},[]),we=v.useMemo(()=>p?Y.find(je=>je.id===p)??null:null,[p,Y]),Te=p?Y.findIndex(je=>je.id===p):-1,Re=Te>0?()=>h(Y[Te-1].id):void 0,Ze=Te>=0&&Te<Y.length-1?()=>h(Y[Te+1].id):void 0,Ge="auto minmax(15rem,1fr) 10rem 8rem 6rem 6rem";return i?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Jt,{className:"h-6 w-6"})}):o.jsxs("div",{className:"flex min-h-0 flex-1 overflow-hidden",children:[o.jsx(vr,{open:_,onOpenChange:E,children:o.jsxs(yr,{children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Analyze Items"}),o.jsx(zs,{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(Ft,{className:"mb-1 block text-xs",children:"Provider"}),o.jsx(By,{value:I,onValueChange:A})]}),o.jsxs("div",{children:[o.jsx(Ft,{className:"mb-1 block text-xs",children:"Model"}),o.jsx(Uy,{llmId:I,value:R,onValueChange:L})]})]}),o.jsxs(ye,{variant:"ui-xs",className:"text-neutral3",children:[y.size," item",y.size!==1?"s":""," will be analyzed"]}),o.jsxs("div",{children:[o.jsx(Ft,{className:"text-xs",children:"Instructions (optional)"}),o.jsx($l,{value:T,onChange:je=>N(je.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(ce,{variant:"outline",onClick:()=>E(!1),children:"Cancel"}),o.jsxs(ce,{onClick:te,disabled:!I||!R||k,children:[k?o.jsx(Jt,{className:"mr-1 h-4 w-4"}):null,"Analyze"]})]})]})}),o.jsx(vr,{open:H,onOpenChange:z,children:o.jsxs(yr,{className:"max-h-[80vh] max-w-2xl overflow-y-auto",children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Review Proposed Tags"}),o.jsxs(zs,{children:[D.filter(je=>je.accepted).length," of ",D.length," proposals selected"]})]}),o.jsx("div",{className:"space-y-3 py-2",children:D.map((je,Ee)=>{const Oe=M.find(Ie=>Ie.id===je.itemId);return o.jsx("div",{className:X("p-3 border rounded-lg",!je.accepted&&"opacity-50"),children:o.jsxs("div",{className:"flex items-start gap-2",children:[o.jsx(Bo,{checked:je.accepted,onCheckedChange:Ie=>F(Me=>Me.map((Ue,Je)=>Je===Ee?{...Ue,accepted:!!Ie}:Ue))}),o.jsxs("div",{className:"min-w-0 flex-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 block truncate",children:Oe?typeof Oe.input=="string"?Oe.input.slice(0,100):JSON.stringify(Oe.input).slice(0,100):je.itemId}),o.jsx("div",{className:"mt-1.5 flex flex-wrap gap-1",children:je.tags.map((Ie,Me)=>o.jsx(u7t,{tag:Ie,onRename:Ue=>F(Je=>Je.map((tt,Dt)=>Dt===Ee?{...tt,tags:tt.tags.map((at,gt)=>gt===Me?Ue:at)}:tt)),onRemove:()=>F(Ue=>Ue.map((Je,tt)=>tt===Ee?{...Je,tags:Je.tags.filter((Dt,at)=>at!==Me)}:Je))},`${Ie}-${Me}`))}),je.reason&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-1 block italic",children:je.reason})]})]})},je.itemId)})}),o.jsxs(rc,{children:[o.jsx(ce,{variant:"outline",onClick:()=>z(!1),children:"Cancel"}),o.jsxs(ce,{onClick:se,disabled:D.filter(je=>je.accepted).length===0,children:["Accept ",D.filter(je=>je.accepted).length," proposals"]})]})]})}),o.jsxs("div",{className:X("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",we&&"grid-cols-[1fr_1fr]"),children:[o.jsxs("div",{className:"grid w-full content-start gap-8 overflow-y-auto",children:[o.jsxs("div",{className:"flex w-full flex-wrap items-center justify-between gap-4 gap-x-6",children:[o.jsxs("div",{className:"flex items-center gap-3",children:[o.jsxs(ot,{children:[o.jsx(ot.Trigger,{asChild:!0,children:o.jsxs(ce,{variant:"outline",size:"md",children:[o.jsx(Cot,{}),"Filter",K>0&&o.jsx("span",{className:X("ml-0.5 inline-flex items-center justify-center rounded-full bg-accent1/50 text-neutral5 text-ui-sm w-5 h-5"),children:K})]})}),o.jsxs(ot.Content,{align:"start",className:X("min-w-48"),children:[o.jsxs(ot.Sub,{children:[o.jsxs(ot.SubTrigger,{children:["Status",x&&o.jsx("span",{className:X("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ot.SubContent,{children:[o.jsx(ot.CheckboxItem,{checked:!x,onCheckedChange:()=>{S(!1),h(null)},onSelect:je=>je.preventDefault(),children:"Review Queue"}),o.jsx(ot.CheckboxItem,{checked:x,onCheckedChange:()=>{S(!0),h(null)},onSelect:je=>je.preventDefault(),children:"Completed"})]})]}),o.jsxs(ot.Sub,{children:[o.jsxs(ot.SubTrigger,{children:["Tags",m&&o.jsx("span",{className:X("ml-auto text-ui-sm text-accent1"),children:"1"})]}),o.jsxs(ot.SubContent,{children:[o.jsx(ot.CheckboxItem,{checked:!m,onCheckedChange:()=>g(null),onSelect:je=>je.preventDefault(),children:"All"}),Z>0&&o.jsx(ot.CheckboxItem,{checked:m==="__untagged__",onCheckedChange:()=>g(m==="__untagged__"?null:"__untagged__"),onSelect:je=>je.preventDefault(),children:"Untagged"}),B.length>0&&o.jsx(ot.Separator,{}),B.map(([je])=>o.jsx(ot.CheckboxItem,{checked:m===je,onCheckedChange:()=>g(m===je?null:je),onSelect:Ee=>Ee.preventDefault(),children:je},je))]})]}),K>0&&o.jsxs(o.Fragment,{children:[o.jsx(ot.Separator,{}),o.jsxs(ot.Item,{onSelect:()=>{g(null),S(!1),h(null)},children:[o.jsx(fs,{}),"Clear all filters"]})]})]})]}),K>0&&o.jsxs(ce,{variant:"outline",size:"md",onClick:()=>{g(null),S(!1),h(null)},children:[o.jsx(fs,{}),"Reset"]})]}),!x&&y.size>0&&o.jsxs("div",{className:"flex items-center gap-2",children:[o.jsx(c7t,{selectedCount:y.size,vocabulary:G,onApplyTag:Ce,onRemoveTag:ke,onNewTag:je=>Ce(je)}),o.jsxs(ot,{children:[o.jsx(ot.Trigger,{asChild:!0,children:o.jsxs(ce,{disabled:k,children:[k?o.jsx(Jt,{className:"h-4 w-4"}):o.jsx(qe,{size:"sm",children:o.jsx(ka,{})}),"Actions"]})}),o.jsxs(ot.Content,{align:"end",children:[o.jsxs(ot.Item,{onSelect:Ne,children:[o.jsx(qe,{size:"sm",children:o.jsx(lO,{})}),"Complete"]}),o.jsxs(ot.Item,{onSelect:$e,children:[o.jsx(qe,{size:"sm",children:o.jsx(hu,{})}),"Remove"]}),o.jsx(ot.Separator,{}),o.jsxs(ot.Item,{onSelect:de,children:[o.jsx(qe,{size:"sm",children:o.jsx(Cg,{})}),"Analyze"]})]})]})]})]}),re?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsx(Jt,{className:"h-6 w-6"})}):Y.length===0?o.jsx("div",{className:"flex flex-1 items-center justify-center",children:o.jsxs("div",{className:"px-8 text-center",children:[o.jsx(ye,{variant:"ui-sm",className:"text-neutral3 block",children:x?"No completed reviews yet":"No items to review"}),o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 mt-2 block",children:x?"Items marked as complete will appear here for auditing.":"When experiment results are flagged for review, they will appear here."})]})}):o.jsxs(ge,{columns:Ge,className:"min-w-0",children:[o.jsxs(ge.Top,{hasLeadingCell:!0,children:[x?o.jsx(ge.TopCell,{children:" "}):o.jsx(ge.TopSelectCell,{checked:oe?!0:me?"indeterminate":!1,onToggle:()=>xe(),"aria-label":"Select all"}),o.jsxs(ge.TopCells,{colStart:2,children:[o.jsx(ge.TopCell,{children:"Input"}),o.jsx(ge.TopCell,{children:"Comment"}),o.jsx(ge.TopCell,{children:"Tags"}),o.jsx(ge.TopCell,{children:"Rating"}),o.jsx(ge.TopCell,{children:"Scores"})]})]}),Y.map(je=>{const Ee=je.scores?Object.entries(je.scores):[],Oe=p===je.id,Ie=o.jsxs(o.Fragment,{children:[o.jsx(ge.Cell,{height:"compact",className:"text-neutral4 min-w-0",children:o.jsx("span",{className:"block truncate",children:Zls(je.input,200)})}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:je.comment?o.jsx(ye,{variant:"ui-xs",className:"text-neutral3 truncate",children:je.comment}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:je.tags.length>0?o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 truncate",children:je.tags.join(", ")}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})}),o.jsxs(ge.Cell,{height:"compact",children:[je.rating==="positive"&&o.jsx(qe,{size:"sm",className:"text-positive1",children:o.jsx(wxe,{})}),je.rating==="negative"&&o.jsx(qe,{size:"sm",className:"text-negative1",children:o.jsx(xxe,{})}),!je.rating&&o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})]}),o.jsx(ge.Cell,{height:"compact",children:Ee.length>0?o.jsxs("div",{className:"flex items-center gap-1",children:[o.jsx(qe,{size:"sm",className:"text-neutral3",children:o.jsx(rm,{})}),o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 font-mono",children:Ee[0][1].toFixed(2)}),Ee.length>1&&o.jsxs(on,{variant:"default",children:["+",Ee.length-1]})]}):o.jsx(ye,{variant:"ui-xs",className:"text-neutral2",children:"—"})})]});return o.jsxs(ge.RowWrapper,{children:[x?o.jsx(ge.Cell,{height:"compact",className:"justify-items-center px-4",children:o.jsx("div",{role:"img","aria-label":je.error?"Error":"Success",title:je.error?"Error":"Success",className:X("w-2 h-2 rounded-full",je.error?"bg-red-700":"bg-green-600")})}):o.jsx(ge.SelectCell,{checked:y.has(je.id),onToggle:()=>be(je.id),"aria-label":`Select item ${je.id}`}),o.jsx(ge.RowButton,{flushLeft:!0,colStart:2,featured:Oe,onClick:()=>he(je.id),children:Ie})]},je.id)})]})]}),we&&o.jsx(l7t,{item:we,isCompleted:x,tagVocabulary:G,onRate:je=>ee(we.id,je),onSetTags:je=>{ne(we.id,je);for(const Ee of je)G.includes(Ee)||V(Ee)},onComment:je=>J(we.id,je),onRemove:()=>ae(we.id),onComplete:x?void 0:()=>fe(we.id),onPrevious:Re,onNext:Ze,onClose:()=>h(null)})]})]})}function Gls({datasetId:e,onAddItemClick:t,onNavigateToDataset:n}){const{navigate:r}=bn(),[s,a]=ri(),{tab:i,activeVersion:l,handleTabChange:c}=WIe(s,a),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),[g,y]=v.useState([]),[b,x]=v.useState(!1),[S,k]=v.useState([]),[C,_]=v.useState(!1),[E,T]=v.useState([]),[N,I]=v.useState(0),[A,R]=v.useState(null),[L,D]=v.useState(""),[F]=z1e(L,300),{data:H}=Xx(e),{data:z=[],total:U,isLoading:q,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:V}=P1(e,F||void 0,l),{total:$}=P1(e,void 0,l),[B,Z]=v.useState({}),{data:K,isLoading:ne}=dD(e,void 0,B),{data:ee}=dD(e),{deleteItems:J}=Ni(),ae=K?.experiments??[],fe=ee?.experiments??[],Y=Qos({hasSearchQuery:!!F,filteredItemsLength:z.length,unfilteredItemsTotal:$,itemsTotal:U}),{data:re}=GIe(e),le=re?.length??0,ue=se=>{R(se)},oe=()=>{R(null)},me=se=>{y(se),m(!0)},be=se=>{k(se),x(!0)},xe=se=>{x(se),se||(k([]),I(he=>he+1))},Ce=se=>{r(`/datasets/${e}/items?items=${se.join(",")}`)},ke=se=>{r(`/datasets/${e}/versions?ids=${se.join(",")}`)},Ne=se=>{T(se),_(!0)},$e=async()=>{await J.mutateAsync({datasetId:e,itemIds:E}),De.success(`Deleted ${E.length} items`),_(!1),T([]),I(se=>se+1)},de=se=>{m(!1),y([]),I(he=>he+1),n?.(se)},te=se=>{m(se),se||(y([]),I(he=>he+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(fc,{children:[o.jsxs(jr,{value:"items",children:["Items ",o.jsx(ea,{color:"gray",children:Y})]}),o.jsxs(jr,{value:"experiments",children:["Experiments",o.jsx(ea,{color:"gray",children:ae.length})]}),o.jsxs(jr,{value:"review",children:["Review",le>0&&o.jsx(ea,{color:"orange",children:le})]})]}),o.jsx(Kr,{value:"items",className:"mt-5 grid overflow-auto pb-0",children:o.jsx(Bls,{datasetId:e,items:z,isLoading:q,featuredItemId:A,onItemSelect:ue,onItemClose:oe,onAddClick:t??(()=>{}),onImportClick:()=>d(!0),onImportJsonClick:()=>p(!0),onBulkDeleteClick:Ne,onCreateDatasetClick:me,onAddToDatasetClick:be,onCompareItemsClick:Ce,datasetName:H?.name,clearSelectionTrigger:N,setEndOfListElement:M,isFetchingNextPage:G,hasNextPage:V,searchQuery:L,activeSearchQuery:F,onSearchChange:D,currentDatasetVersion:H?.version,onCompareVersionsClick:ke})}),o.jsx(Kr,{value:"experiments",className:"mt-5 grid overflow-auto pb-0",children:o.jsx(fls,{experiments:ae,allExperiments:fe,isLoading:ne,datasetId:e,filters:B,onFiltersChange:Z})}),o.jsx(Kr,{value:"review",className:"mt-2 overflow-auto pb-0",children:o.jsx(EBt,{datasetId:e})})]}),o.jsx(sls,{datasetId:e,open:u,onOpenChange:d}),o.jsx(Hls,{datasetId:e,open:f,onOpenChange:p}),o.jsx(Pos,{open:h,onOpenChange:te,items:g,onSuccess:de}),o.jsx($os,{open:b,onOpenChange:xe,items:S,currentDatasetId:e}),o.jsx(At,{open:C,onOpenChange:_,children:o.jsxs(At.Content,{children:[o.jsxs(At.Header,{children:[o.jsx(At.Title,{children:"Delete Items"}),o.jsxs(At.Description,{children:["Are you sure you want to delete ",E.length," item",E.length!==1?"s":"","? This action cannot be undone."]})]}),o.jsxs(At.Footer,{children:[o.jsx(At.Cancel,{children:"Cancel"}),o.jsx(At.Action,{onClick:$e,children:J.isPending?"Deleting...":"Delete"})]})]})})]})}function Qls(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 Vae({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 Yls({datasetId:e,open:t,onOpenChange:n,onSuccess:r}){const[s,a]=v.useState("{}"),[i,l]=v.useState(""),[c,u]=v.useState(""),[d,f]=v.useState(""),[p,h]=v.useState(""),[m,g]=v.useState(null),{addItem:y}=Ni(),b=async _=>{_.preventDefault();let E;try{E=JSON.parse(s)}catch{De.error("Input must be valid JSON");return}let T;if(i.trim())try{T=JSON.parse(i)}catch{De.error("Ground Truth must be valid JSON");return}let N;if(c.trim())try{N=JSON.parse(c)}catch{De.error("Expected Trajectory must be valid JSON");return}let I;if(d.trim())try{const R=JSON.parse(d);if(!Array.isArray(R)){De.error("Tool Mocks must be a JSON array");return}I=R}catch{De.error("Tool Mocks must be valid JSON");return}let A;if(p.trim())try{A=JSON.parse(p)}catch{De.error("Request Context must be valid JSON");return}try{await y.mutateAsync({datasetId:e,input:E,groundTruth:T,expectedTrajectory:N,toolMocks:I,requestContext:A}),De.success("Item added successfully"),g(null),a("{}"),l(""),u(""),f(""),h(""),n(!1),r?.()}catch(R){const L=Qls(R);L?g(L):De.error(`Failed to add item: ${R instanceof Error?R.message:"Unknown error"}`)}},x=_=>{a(_),m?.field==="input"&&g(null)},S=_=>{l(_),m?.field==="groundTruth"&&g(null)},k=_=>{f(_),m?.field==="toolMocks"&&g(null)},C=()=>{a("{}"),l(""),u(""),f(""),h(""),g(null),n(!1)};return o.jsx(vr,{open:t,onOpenChange:n,children:o.jsxs(yr,{className:"max-w-lg",children:[o.jsx(br,{children:o.jsx(hr,{children:"Add Item"})}),o.jsx(Ir,{children:o.jsxs("form",{onSubmit:b,className:"space-y-4",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(Ft,{htmlFor:"item-input",children:"Input (JSON) *"}),o.jsx(Hr,{value:s,onChange:x,showCopyButton:!1,className:"min-h-[120px]"}),m?.field==="input"&&o.jsx(Vae,{field:"input",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Ft,{htmlFor:"item-ground-truth",children:"Ground Truth (JSON, optional)"}),o.jsx(Hr,{value:i,onChange:S,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="groundTruth"&&o.jsx(Vae,{field:"groundTruth",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Ft,{htmlFor:"item-trajectory",children:"Expected Trajectory (JSON, optional)"}),o.jsx(Hr,{value:c,onChange:u,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Ft,{htmlFor:"item-tool-mocks",children:"Tool Mocks (JSON array, optional)"}),o.jsx(Hr,{value:d,onChange:k,showCopyButton:!1,className:"min-h-[80px]"}),m?.field==="toolMocks"&&o.jsx(Vae,{field:"toolMocks",errors:m.errors})]}),o.jsxs("div",{className:"space-y-2",children:[o.jsx(Ft,{htmlFor:"item-request-context",children:"Request Context (JSON, optional)"}),o.jsx(Hr,{value:p,onChange:h,showCopyButton:!1,className:"min-h-[80px]"})]}),o.jsxs("div",{className:"flex justify-end gap-2 pt-4",children:[o.jsx(ce,{type:"button",onClick:C,children:"Cancel"}),o.jsx(ce,{type:"submit",variant:"primary",disabled:y.isPending,children:y.isPending?"Adding...":"Add Item"})]})]})})]})})}function Kls({item:e}){return o.jsx(ha,{withMargins:!1,children:o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{size:"smaller",children:[o.jsx($N,{}),o.jsx("span",{className:"truncate",children:e.id}),o.jsx(Pa,{content:e.id,tooltip:`Copy item ID: ${e.id}`})]}),o.jsxs(ha.Description,{children:[o.jsxs(Oo,{children:[o.jsx(yot,{})," Created ",rr(new Date(e.createdAt),"MMM d, yyyy h:mm aaa")]}),e.datasetVersion!=null&&o.jsxs(Oo,{children:[o.jsx(m_,{})," Version v",e.datasetVersion]})]})]})})}function QIe({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(nIe,{children:[o.jsx(Is.CodeSection,{title:"Input",icon:o.jsx(cO,{}),codeStr:t}),o.jsx(Is.CodeSection,{title:"Ground Truth",icon:o.jsx(Sg,{}),codeStr:n}),s&&o.jsx(Is.CodeSection,{title:"Expected Trajectory",icon:o.jsx(vxe,{}),codeStr:s}),o.jsx(Is.CodeSection,{title:"Metadata",icon:o.jsx(LN,{}),codeStr:r})]})}function Xls({selectedScorers:e,setSelectedScorers:t,disabled:n=!1,container:r}){const{data:s,isLoading:a}=ah(),i=v.useMemo(()=>s?Object.entries(s).map(([l,c])=>({value:l,label:c.scorer?.config?.name||l,description:c.scorer?.config?.description||""})):[],[s]);return o.jsxs("div",{className:"grid gap-2",children:[o.jsx(Ft,{children:"Scorers (Optional)"}),o.jsx(Ll,{multiple:!0,options:i,value:e,onValueChange:t,placeholder:"Select scorers...",searchPlaceholder:"Search scorers...",emptyText:"No scorers available",disabled:n||a,container:r})]})}const Jls=[{value:"agent",label:"Agent"},{value:"workflow",label:"Workflow"},{value:"scorer",label:"Scorer"}];function ecs({targetType:e,setTargetType:t,targetId:n,setTargetId:r,container:s}){const{data:a,isLoading:i}=Em(),{data:l,isLoading:c}=qy(),{data:u,isLoading:d}=ah(),f=e==="agent"?Object.entries(a??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="workflow"?Object.entries(l??{}).map(([g,y])=>({value:g,label:y.name??g})):e==="scorer"?Object.entries(u??{}).map(([g,y])=>({value:g,label:y.scorer?.config?.name??g})):[],p=e==="agent"&&i||e==="workflow"&&c||e==="scorer"&&d,h=g=>{t(g),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(Ft,{children:"Target Type"}),o.jsx(Ll,{options:Jls,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(Ft,{children:m}),o.jsx(Ll,{options:f,value:n,onValueChange:r,placeholder:`Select ${e}`,searchPlaceholder:"Search...",emptyText:"No targets available",disabled:p,container:s})]})]})}function tcs({requestContextSchema:e,onChange:t}){const n=v.useMemo(()=>{try{return um(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(Ft,{children:"Request Context"}),o.jsx(f3,{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 ncs({datasetId:e,version:t,requestContextSchema:n,open:r,onOpenChange:s,onSuccess:a}){const i=v.useRef(null),[l,c]=v.useState(""),[u,d]=v.useState(""),[f,p]=v.useState([]),[h,m]=v.useState({}),[g,y]=v.useState(""),{triggerExperiment:b}=Ni(),x=!!(n&&Object.keys(n).length>0),S=l&&u,k=b.isPending,C=()=>{c(""),d(""),p([]),m({}),y("")},_=()=>{if(x){const N=Object.entries(h).filter(([,I])=>I!==void 0&&I!=="");return N.length>0?Object.fromEntries(N):void 0}if(g.trim()){let N;try{N=JSON.parse(g)}catch{throw new Error("Request Context must be valid JSON")}if(!N||typeof N!="object"||Array.isArray(N))throw new Error("Request Context must be a JSON object");return N}},E=async()=>{if(!S)return;let N;try{N=_()}catch(I){const A=I instanceof Error?I.message:"Request Context must be valid JSON";au.error(A);return}try{const I=await b.mutateAsync({datasetId:e,targetType:l,targetId:u,scorerIds:f.length>0?f:void 0,version:t,requestContext:N});au.success("Experiment triggered successfully"),s(!1),a?.(I.experimentId),C()}catch(I){const A=I instanceof Error?I.message:"Failed to trigger experiment";au.error(A)}},T=()=>{k||(s(!1),C())};return o.jsx(vr,{open:r,onOpenChange:T,children:o.jsxs(yr,{ref:i,children:[o.jsxs(br,{children:[o.jsx(hr,{children:"Run Experiment"}),o.jsx(zs,{children:t?`Execute items from ${rr(new Date(t),"MMM d, yyyy")} version against a target.`:"Execute all items in this dataset against a target."})]}),o.jsxs(Ir,{className:"grid gap-6",children:[o.jsx(ecs,{targetType:l,setTargetType:c,targetId:u,setTargetId:d,container:i}),l&&l!=="scorer"&&o.jsx(Xls,{selectedScorers:f,setSelectedScorers:p,disabled:k,container:i}),x?o.jsx(tcs,{requestContextSchema:n,onChange:m}):o.jsxs("div",{className:"space-y-2",children:[o.jsx(Ft,{children:"Request Context (JSON, optional)"}),o.jsx(Hr,{value:g,onChange:y,showCopyButton:!1,className:"min-h-[80px]"})]})]}),o.jsxs(rc,{className:"px-6 pt-4",children:[o.jsx(ce,{onClick:T,disabled:k,children:"Cancel"}),o.jsx(ce,{variant:"primary",onClick:E,disabled:!S||k,children:k?o.jsxs(o.Fragment,{children:[o.jsx(Jt,{className:"h-4 w-4"}),"Running..."]}):"Run"})]})]})})}const rcs=e=>{const t=We();return yt({queryKey:["experiment-trace-light",e],queryFn:async()=>{if(!e)throw new Error("Trace ID is required");return t.getTraceLight(e)},enabled:!!e})},YIe=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 Hae(e){try{return JSON.stringify(e??{})}catch{return String(e)}}function scs({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(wn.SectionHeading,{icon:o.jsx(zp,{}),className:"mb-2",children:"Tool Mocks"}),s&&o.jsx(Sn,{variant:"destructive",title:"Mock mismatch",children:o.jsxs(Sn.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: ",Hae(s.args)]}),n.length>0&&o.jsxs("span",{className:"mt-1 block font-mono text-xs",children:["Unconsumed mocks: ",n.map(i=>Hae(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:Hae(i.args)})]}),o.jsx("span",{className:`shrink-0 rounded px-2 py-0.5 text-xs ${acs(i.outcome)}`,children:i.outcome})]},`${i.outcome}-${i.toolName}-${l}`))})]})}function acs(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 ics({result:e,scores:t,onPrevious:n,onNext:r,onClose:s,onShowTrace:a,onOpenInReview:i,onScoreClick:l,featuredScoreId:c,onFlagForReview:u,collapsed:d,onCollapsedChange:f}){const[p,h]=v.useState(!1),m=d??p,g=f??h,y=!!e?.error,b=bz(e?.input),x=bz(e?.output),S=bz(e?.groundTruth),k=u&&e.status!=="needs-review"&&e.status!=="complete",C=Array.isArray(e.tags)?e.tags:[];return o.jsxs(wn,{collapsed:m,children:[o.jsxs(wn.Header,{children:[o.jsxs(wn.Heading,{children:["Result ",o.jsxs("b",{children:["# ",e.id.length>12?`${e.id.slice(0,12)}…`:e.id]})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[f&&o.jsx(ce,{size:"md",tooltip:m?"Expand panel":"Collapse panel",onClick:()=>g(!m),children:m?o.jsx(Sot,{}):o.jsx(wot,{})}),o.jsx(wn.NextPrevNav,{onPrevious:n,onNext:r,previousLabel:"Previous result",nextLabel:"Next result"}),o.jsxs(ce,{size:"md",onClick:a,disabled:!e.traceId,children:[o.jsx(YIe,{}),"Trace"]}),o.jsx(wn.CloseButton,{onClick:s,tooltip:"Close result panel"})]})]}),!m&&o.jsxs(wn.Content,{children:[o.jsxs("div",{className:"mb-6 grid gap-4",children:[o.jsxs(Vt,{children:[o.jsx(Vt.Key,{children:"Item Id"}),o.jsx(Vt.ValueWithCopyBtn,{copyTooltip:"Copy Item Id to clipboard",copyValue:e.itemId,children:e.itemId}),o.jsx(Vt.Key,{children:"Created"}),o.jsx(Vt.Value,{children:rr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")})]}),y&&o.jsx(Sn,{variant:"destructive",title:"Error",children:o.jsx(Sn.Message,{children:bz(e?.error&&typeof e.error=="object"?e.error.message:e?.error)})}),t&&t.length>0&&o.jsxs(ge,{columns:"1fr 1fr",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Scorer"}),o.jsx(ge.TopCell,{children:"Score"})]}),t.map(_=>o.jsxs(ge.RowButton,{featured:c===_.id,onClick:()=>l?.(_.id),children:[o.jsx(ge.Cell,{height:"compact",children:_.scorerId}),o.jsx(ge.MonoCell,{children:_.score.toFixed(3)})]},_.id))]}),e.toolMockReport&&o.jsx(scs,{report:e.toolMockReport}),(e.status||C.length>0||k)&&o.jsxs("div",{className:"grid gap-2",children:[o.jsx(wn.SectionHeading,{icon:o.jsx(LN,{}),className:"mb-2",children:"Review"}),(e.status||C.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}),C.map(_=>o.jsx("span",{className:"bg-surface4 text-neutral4 rounded px-2 py-0.5 text-xs",children:_},_))]}),k&&o.jsx("div",{children:o.jsxs(ce,{size:"sm",onClick:()=>u(e.id),children:[o.jsx(Bq,{}),"Flag for Review"]})}),e.status==="needs-review"&&i&&o.jsx("div",{children:o.jsxs(ce,{size:"sm",onClick:i,children:[o.jsx(_a,{}),"Review"]})})]})]}),o.jsxs("div",{className:"grid gap-3",children:[o.jsx(wn.CodeSection,{title:"Input",icon:o.jsx($N,{}),codeStr:b}),o.jsx(wn.CodeSection,{title:"Output",icon:o.jsx(Sg,{}),codeStr:x}),o.jsx(wn.CodeSection,{title:"Ground Truth",icon:o.jsx(bxe,{}),codeStr:S})]})]})]})}function bz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function ocs({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 p=!!(d&&f),h=[p?"auto":"",...s.map(g=>g.size)].filter(Boolean).join(" "),m=s.some(g=>g.name==="input");return t?o.jsx(il,{columns:h}):o.jsxs(ge,{columns:h,className:"min-w-0",children:[o.jsxs(ge.Top,{hasLeadingCell:p,children:[p&&o.jsx(ge.TopCell,{children:" "}),p?o.jsx(ge.TopCells,{colStart:2,children:s.map(g=>o.jsx(ge.TopCell,{children:g.label},g.name))}):s.map(g=>o.jsx(ge.TopCell,{children:g.label},g.name))]}),e.length===0?o.jsx(ge.NoMatch,{message:"No results yet"}):o.jsxs(o.Fragment,{children:[e.map(g=>{const y=!!g.error,b=g.id===n,x=o.jsxs(o.Fragment,{children:[o.jsx(ge.IdCell,{id:g.itemId}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("div",{className:"relative flex h-full w-10 items-center justify-center bg-transparent",children:o.jsx("div",{role:"img","aria-label":y?"Error":"Success",className:X("w-2 h-2 rounded-full",y?"bg-red-700":"bg-green-600")})})}),o.jsx(Rn,{children:y?"Error":"Success"})]})}),m&&o.jsx(ge.MonoCell,{children:ccs(lcs(g.input),200)}),i?.map(S=>{const C=a?.[g.itemId]?.find(_=>_.scorerId===S);return o.jsx(ge.Cell,{height:"compact",className:"text-neutral3 text-ui-smd font-mono",children:C!=null?C.score.toFixed(3):"-"},S)})]});return p?o.jsxs(ge.RowWrapper,{children:[o.jsx(ge.SelectCell,{checked:d.has(g.id),onToggle:()=>f(g.id),"aria-label":`Select result ${g.itemId}`}),o.jsx(ge.RowButton,{flushLeft:!0,colStart:2,featured:b,onClick:()=>r(g.id),children:x})]},g.id):o.jsx(ge.RowButton,{featured:b,onClick:()=>r(g.id),children:x},g.id)}),o.jsx(ge.NextPageLoading,{isLoading:c,hasMore:u,setEndOfListElement:l})]})]})}function lcs(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function ccs(e,t){return e.length<=t?e:e.slice(0,t-1)+"..."}function ucs(e){const t=e.scorer;return t?.hasJudge===!1?!0:t?.hasJudge===!0?!1:!e.preprocessPrompt&&!e.analyzePrompt&&!e.generateScorePrompt&&!e.generateReasonPrompt}function dcs({score:e,onNext:t,onPrevious:n,onClose:r,onShowTrace:s,collapsed:a,onCollapsedChange:i}){const[l,c]=v.useState(!1),u=a??l,d=i??c,f=ucs(e),p=f?"N/A — code-based scorer":"N/A — step not configured";return o.jsxs(wn,{collapsed:u,children:[o.jsxs(wn.Header,{children:[o.jsxs(wn.Heading,{children:["Score ",o.jsx("b",{children:e.scorerId})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[i&&o.jsx(ce,{size:"md",tooltip:u?"Expand panel":"Collapse panel",onClick:()=>d(!u),children:u?o.jsx(Sot,{}):o.jsx(wot,{})}),(n||t)&&o.jsx(wn.NextPrevNav,{onPrevious:n,onNext:t,previousLabel:"Previous score",nextLabel:"Next score"}),s&&o.jsxs(ce,{size:"md",onClick:s,disabled:!e.traceId,children:[o.jsx(YIe,{}),"Trace"]}),o.jsx(wn.CloseButton,{onClick:r,tooltip:"Close score panel"})]})]}),!u&&o.jsx(wn.Content,{children:o.jsxs("div",{className:"grid gap-3",children:[o.jsx(wn.CodeSection,{title:`Score: ${e.score}`,icon:o.jsx(rm,{}),codeStr:e.reason||p,simplified:!0}),!f&&o.jsxs(o.Fragment,{children:[o.jsx(wn.CodeSection,{title:"Preprocess Prompt",icon:o.jsx(Oh,{}),codeStr:e.preprocessPrompt||p,simplified:!0}),o.jsx(wn.CodeSection,{title:"Analyze Prompt",icon:o.jsx(Oh,{}),codeStr:e.analyzePrompt||p,simplified:!0}),o.jsx(wn.CodeSection,{title:"Generate Score Prompt",icon:o.jsx(Oh,{}),codeStr:e.generateScorePrompt||p,simplified:!0}),o.jsx(wn.CodeSection,{title:"Generate Reason Prompt",icon:o.jsx(Oh,{}),codeStr:e.generateReasonPrompt||p,simplified:!0})]})]})})]})}const CJe=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"avg",label:"Avg Score",size:"1fr"},{name:"count",label:"Items Scored",size:"1fr"}];function fcs({scoresByItemId:e,experimentStatus:t}){const n=v.useMemo(()=>{if(!e)return[];const r={};for(const s of Object.values(e))for(const a of s)r[a.scorerId]||(r[a.scorerId]={sum:0,count:0}),r[a.scorerId].sum+=a.score,r[a.scorerId].count++;return Object.entries(r).map(([s,{sum:a,count:i}])=>({scorerId:s,avg:a/i,count:i})).sort((s,a)=>s.scorerId.localeCompare(a.scorerId))},[e]);if(n.length===0){const r=t==="running"||t==="pending",s=e!==void 0;let a,i;return r?(a="Experiment in progress",i="Summary metrics will appear here once the experiment completes."):s?(a="No scorers configured",i="Add scorers when triggering an experiment to evaluate results and see summary metrics here."):(a="Loading scores",i="Fetching scorer results…"),o.jsx("div",{className:"flex h-full items-center justify-center py-12",children:o.jsx(Lr,{iconSlot:o.jsx(rm,{className:"text-neutral3 h-8 w-8"}),titleSlot:a,descriptionSlot:i})})}return o.jsxs(yn,{children:[o.jsxs(yn.Header,{columns:CJe,children:[o.jsx(yn.HeaderCol,{children:"Scorer"}),o.jsx(yn.HeaderCol,{children:"Avg Score"}),o.jsx(yn.HeaderCol,{children:"Items Scored"})]}),o.jsx(yn.Scroller,{children:o.jsx(yn.Items,{children:n.map(({scorerId:r,avg:s,count:a})=>o.jsxs(yn.Row,{columns:CJe,children:[o.jsx(yn.TextCell,{children:r}),o.jsx(yn.TextCell,{className:"font-mono",children:s.toFixed(3)}),o.jsx(yn.TextCell,{className:"font-mono",children:a})]},r))})})]})}function TBt({experimentId:e,datasetId:t,experimentStatus:n,results:r,isLoading:s,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l}){const[c,u]=v.useState(null),[d,f]=v.useState(null),[p,h]=v.useState(void 0),[m,g]=v.useState(null),[y,b]=v.useState(new Set),[x,S]=v.useState(!1),[k,C]=v.useState(!1),[_,E]=v.useState(!1),[T,N]=v.useState(!1),{updateExperimentResult:I}=Ni(),A=v.useCallback(te=>{b(se=>{const he=new Set(se);return he.has(te)?he.delete(te):he.add(te),he})},[]),R=v.useCallback(()=>b(new Set),[]),L=v.useCallback(()=>{const te=r.filter(se=>!!se.error).map(se=>se.id);b(new Set(te))},[r]),D=v.useCallback(async te=>{if(x||te.length===0)return;S(!0);let se=0;const he=new Set;try{for(const we of te)try{await I.mutateAsync({datasetId:t,experimentId:e,resultId:we,status:"needs-review"}),se++,he.add(we)}catch{}}finally{S(!1)}he.size>0&&b(we=>{const Te=new Set(we);for(const Re of he)Te.delete(Re);return Te}),se>0&&De(`${se} result${se>1?"s":""} flagged for review`)},[t,e,x,I]),F=r.find(te=>te.id===c)??null,[H,z]=v.useState("summary"),[U,q]=v.useState(null),M=te=>{z(te),te!=="reviews"&&q(null)},{data:G}=GIe(t),V=(G??[]).filter(te=>te.experimentId===e).length,{data:$}=s7t(e,n),B=v.useMemo(()=>{if(!$)return[];const te=new Set;for(const se of Object.values($))for(const he of se)te.add(he.scorerId);return[...te].sort()},[$]),Z=te=>{u(te),f(null),h(void 0),g(null)},K=te=>{Z(te===c?null:te)},ne=()=>{Z(null)},ee=()=>{if(!F)return;const te=r.findIndex(se=>se.id===F.id);if(te>=0&&te<r.length-1)return()=>Z(r[te+1].id)},J=()=>{if(!F)return;const te=r.findIndex(se=>se.id===F.id);if(te>0)return()=>Z(r[te-1].id)},ae=F?$?.[F.itemId]:void 0,fe=ae?.find(te=>te.id===m)??null,Y=te=>{g(te===m?null:te),f(null),h(void 0)},re=()=>{if(!m||!ae)return;const te=ae.findIndex(se=>se.id===m);if(te>=0&&te<ae.length-1)return()=>g(ae[te+1].id)},le=()=>{if(!m||!ae)return;const te=ae.findIndex(se=>se.id===m);if(te>0)return()=>g(ae[te-1].id)},{data:ue,isLoading:oe}=rcs(d),me=ue?.spans,{data:be,isLoading:xe}=uL(d,p),Ce=be?.span,{handlePreviousSpan:ke,handleNextSpan:Ne}=VIe(me,p??null,h),$e=(()=>{const te=[],se=!!fe,he=!!d;return te.push(k?"auto":se||he?"2fr":"1fr"),se&&te.push(T?"auto":"3fr"),he&&te.push(_?"auto":"3fr"),he&&p&&te.push("3fr"),te.join(" ")})(),de=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"7rem"},{name:"status",label:"Status",size:"5rem"},{name:"input",label:"Input",size:"minmax(15rem,1fr)"},...B.map(te=>({name:te,label:te,size:"12rem"}))],[B]);return o.jsxs(pc,{defaultTab:"summary",value:H,onValueChange:M,className:"grid h-full grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"summary",children:"Summary"}),o.jsx(jr,{value:"results",children:"Results"}),o.jsxs(jr,{value:"reviews",children:["Reviews",V>0&&o.jsx(ea,{color:"orange",children:V})]})]}),o.jsx(Kr,{value:"summary",className:"mt-5 overflow-y-auto",children:o.jsx(fcs,{scoresByItemId:$,experimentStatus:n})}),o.jsx(Kr,{value:"reviews",className:"mt-2 overflow-auto pb-0",children:o.jsx(EBt,{datasetId:t,experimentId:e,featuredItemId:U})}),o.jsxs(Kr,{value:"results",className:"mt-2 grid grid-rows-[auto_1fr] overflow-hidden",children:[o.jsxs("div",{className:"mb-4",children:[y.size>0&&o.jsxs("div",{className:"bg-surface3 flex items-center gap-2 px-4 py-2",children:[o.jsxs(ye,{variant:"ui-xs",className:"text-neutral5 font-medium",children:[y.size," selected"]}),o.jsx("div",{className:"flex-1"}),o.jsxs(ce,{variant:"outline",size:"sm",disabled:x,onClick:()=>D([...y]),children:[o.jsx(qe,{size:"sm",children:o.jsx(Bq,{})}),"Flag for Review"]}),o.jsx(ce,{variant:"ghost",size:"sm",onClick:R,children:"Clear"})]}),r.length>0&&y.size===0&&!s&&o.jsx("div",{className:"flex items-center gap-2 px-4 py-2",children:o.jsx(ce,{variant:"ghost",size:"sm",onClick:L,children:"Select loaded failures"})})]}),o.jsxs("div",{className:X("grid w-full h-full grid-cols-1 gap-4 overflow-y-auto",F&&"grid-cols-[1fr_1fr]"),children:[o.jsx("div",{className:"flex w-full overflow-y-auto",children:o.jsx("div",{className:"grid w-full content-start gap-8 overflow-y-auto",children:o.jsx(ocs,{results:r,isLoading:s,featuredResultId:c,onResultClick:K,columns:de,scoresByItemId:$,scorerIds:B,setEndOfListElement:a,isFetchingNextPage:i,hasNextPage:l,selectedIds:y,onToggleSelect:A})})}),F&&o.jsxs("div",{className:"grid max-h-full min-h-0 content-start gap-4 overflow-auto",style:{gridTemplateRows:$e},children:[o.jsx(ics,{result:F,scores:ae,onPrevious:J(),onNext:ee(),onClose:ne,onScoreClick:Y,featuredScoreId:m,onShowTrace:()=>{F.traceId&&(f(F.traceId),h(void 0),g(null),C(!0),E(!1))},onOpenInReview:()=>{q(F.id),z("reviews")},onFlagForReview:te=>D([te]),collapsed:k,onCollapsedChange:C}),fe&&o.jsx(dcs,{score:fe,onNext:re(),onPrevious:le(),onClose:()=>g(null),onShowTrace:()=>{fe.traceId&&(f(fe.traceId),h(void 0),C(!0),N(!0),E(!1))},collapsed:T,onCollapsedChange:N}),d&&o.jsxs(o.Fragment,{children:[o.jsx(MIe,{traceId:d,spans:me,isLoading:oe,onClose:()=>{f(null),h(void 0),C(!1),N(!1)},onSpanSelect:h,initialSpanId:p??null,placement:"traces-list",showUnavailableFeaturesMsg:!1,collapsed:_,onCollapsedChange:E,LinkComponent:fy,traceHref:`/traces/${d}`}),p&&o.jsx(RIe,{traceId:d,spanId:p,span:Ce,isLoading:xe,onPrevious:ke,onNext:Ne,onClose:()=>h(void 0)})]})]})]})]})]})}const pcs={pending:o.jsx(lj,{}),running:o.jsx(Gfe,{}),completed:o.jsx(da,{}),failed:o.jsx(fs,{})};function hcs({experiment:e,className:t}){const n=e.status,r=e.totalItems-e.succeededCount-e.failedCount;return o.jsxs("div",{className:X("grid justify-items-end gap-3",t),children:[o.jsxs("div",{className:"text-ui-lg text-neutral4 bg-surface5 flex items-center gap-2 rounded-lg p-1 px-3 capitalize",children:[o.jsx("span",{className:X("w-5 h-5 flex items-center justify-center rounded-full text-black","[&>svg]:w-4 [&>svg]:h-4",{"bg-green-700":n==="completed","bg-red-700":n==="failed","bg-cyan-600":n==="running","bg-yellow-600":n==="pending"}),children:pcs[n]}),e.status]}),o.jsxs("div",{className:X("flex items-center gap-3 text-neutral3 text-ui-md ","[&>span]:flex [&>span]:gap-1 [&>span]:items-center ","[&_b]:text-neutral4 [&_b]:font-semibold"),children:[o.jsxs("span",{children:["Total: ",o.jsx("b",{children:e.totalItems})]}),o.jsxs("span",{children:["Succeeded: ",o.jsx("b",{children:e.succeededCount})]}),o.jsxs("span",{children:["Failed: ",o.jsx("b",{children:e.failedCount})]}),(n==="pending"||n==="running")&&o.jsxs("span",{children:["Pending: ",o.jsx("b",{children:r})]})]})]})}function mcs({onPrevious:e,onNext:t,previousAriaLabel:n="Previous",nextAriaLabel:r="Next"}){return o.jsxs(Mr,{spacing:"close",children:[o.jsxs(ce,{onClick:e,disabled:!e,"aria-label":n,children:[o.jsx(ZV,{})," Prev"]}),o.jsxs(ce,{onClick:t,disabled:!t,"aria-label":r,children:["Next",o.jsx(YD,{})]})]})}function KIe({delta:e}){const t=e>0?o.jsx(ea,{size:"small",color:"green",intensity:"muted",children:o.jsx(gD,{})}):e<0?o.jsx(ea,{size:"small",color:"red",intensity:"muted",children:o.jsx(zHt,{})}):null;return o.jsxs("span",{className:X("font-mono text-sm text-neutral4 min-w-20"),children:[o.jsx("span",{className:"inline-block w-3",children:e>0?"+ ":e<0?"- ":""}),Math.abs(e).toFixed(2)," ",t]})}function xz(e){return e==null?"-":typeof e=="string"?e:JSON.stringify(e,null,2)}function gcs({item:e,baselineId:t,contenderId:n,baselineVersion:r,contenderVersion:s,onPrevious:a,onNext:i,onClose:l}){const c=e.results[t],u=e.results[n],d=!!(c&&u),f=new Set;if(c)for(const h of Object.keys(c.scores))f.add(h);if(u)for(const h of Object.keys(u.scores))f.add(h);const p=[...f].sort();return o.jsxs(Qr,{withLeftSeparator:!0,children:[o.jsxs(Qr.Toolbar,{children:[o.jsx(mcs,{onPrevious:a,onNext:i,previousAriaLabel:"Previous comparison item",nextAriaLabel:"Next comparison item"}),o.jsx(Mr,{children:o.jsx(ce,{onClick:l,"aria-label":"Close comparison detail panel",children:o.jsx(fs,{})})})]}),o.jsxs(Qr.Content,{className:"pb-6",children:[o.jsx(ha,{withMargins:!1,children:o.jsx(ha.Column,{children:o.jsxs(ha.Title,{size:"smaller",children:[o.jsx($N,{})," ",e.itemId]})})}),d?o.jsx(o.Fragment,{children:o.jsxs(nIe,{children:[p.length>0&&o.jsxs("div",{className:"grid gap-3",children:[o.jsx("h4",{className:"text-neutral5 text-sm font-medium",children:"Scores"}),o.jsx("div",{className:"grid gap-2",children:p.map(h=>{const m=c?.scores[h]??null,g=u?.scores[h]??null,y=m!=null&&g!=null?g-m:null;return o.jsxs("div",{className:"bg-surface2 flex items-center justify-between gap-4 rounded-lg px-3 py-2",children:[o.jsx("span",{className:"text-neutral5 text-sm font-medium",children:h}),o.jsxs("div",{className:"flex items-center gap-4",children:[o.jsxs("span",{className:"text-neutral3 text-sm",children:[m!=null?m.toFixed(3):"-"," →"," ",g!=null?g.toFixed(3):"-"]}),y!=null&&o.jsx(KIe,{delta:y})]})]},h)})})]}),o.jsx(Is.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(ea,{color:"purple",children:"Baseline "})," Experiment Output"]}),icon:o.jsx(Sg,{}),codeStr:xz(c?.output)}),o.jsx(Is.CodeSection,{title:o.jsxs(o.Fragment,{children:[o.jsx(ea,{color:"cyan",children:"Contender "})," Experiment Output"]}),icon:o.jsx(Sg,{}),codeStr:xz(u?.output)}),o.jsx(Is.CodeSection,{title:"Item Input",icon:o.jsx(cO,{}),codeStr:xz(e.input)}),o.jsx(Is.CodeSection,{title:"Item Ground Truth",icon:o.jsx(bxe,{}),codeStr:xz(e.groundTruth)})]})}):o.jsx(Sn,{variant:"warning",title:"Comparison not available",children:o.jsx(Sn.Message,{children:(()=>{const h=c?"Contender":"Baseline",m=c?s:r;return o.jsxs(o.Fragment,{children:["The ",h," experiment was run against dataset",m!=null?` v. ${m}`:"",", which does not contain this item."]})})()})})]})]})}function vcs({items:e,baselineId:t,contenderId:n,scorerIds:r,featuredItemId:s,columns:a,onItemClick:i}){return o.jsx(Qr,{children:o.jsxs(yn,{children:[o.jsxs(yn.Header,{columns:a,children:[o.jsx(yn.HeaderCol,{children:"Item ID"}),!s&&r.map(l=>o.jsx(yn.HeaderCol,{className:"flex justify-center",children:l},l))]}),o.jsx(yn.Scroller,{children:o.jsx(yn.Items,{children:e.map(l=>{const c=l.results[t],u=l.results[n],d=!!(c&&u);return o.jsx(yn.Row,{children:o.jsxs(yn.RowButton,{item:{id:l.itemId},columns:a,isFeatured:s===l.itemId,onClick:i,children:[o.jsx(yn.IdCell,{id:l.itemId,className:d?"":"text-neutral1"}),!s&&o.jsx(o.Fragment,{children:r.map(f=>{const p=c?.scores[f]??null,h=u?.scores[f]??null,m=p!=null&&h!=null?h-p:null;return o.jsx(yn.Cell,{className:"flex items-center justify-center gap-5 font-mono",children:m!=null?o.jsxs(o.Fragment,{children:[o.jsxs("span",{className:"text-neutral2 flex min-w-24 items-center",children:[p?.toFixed(2)," → ",h?.toFixed(2)]}),o.jsx(KIe,{delta:m})]}):o.jsx("span",{className:"text-neutral1",children:"-"})},f)})})]})},l.itemId)})})})]})})}const ycs={baseline:{label:"Baseline",color:"purple",customStyle:"items-end justify-items-end [&>div]:justify-end border-r-0 rounded-r-none"},contender:{label:"Contender",color:"cyan",customStyle:"items-start justify-items-start [&>div]:justify-start border-l-0 rounded-l-none"}};function EJe({datasetId:e,experiment:t,type:n}){const{Link:r}=bn(),{label:s,color:a,customStyle:i}=ycs[n];if(!t)return null;const l=t.createdAt?new Date(t.createdAt):null,c=nS(t.id)??t.id,u=t.name||c,d=o.jsx(ce,{as:r,href:`/datasets/${e}/experiments/${t.id}`,children:o.jsx("span",{className:"min-w-0 truncate",children:u})});return o.jsxs("div",{className:`border-border1 grid gap-3 rounded-lg border-2 p-5 ${i}`,children:[o.jsxs("div",{className:"flex w-full items-center gap-3 overflow-clip",children:[n==="contender"&&o.jsxs(ea,{size:"small",color:a,children:[s,o.jsx(gm,{})]}),t.description?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:d}),o.jsx(Rn,{children:t.description})]}):d,n==="baseline"&&o.jsxs(ea,{size:"small",color:a,children:[o.jsx(Ac,{})," ",s]})]}),o.jsxs("div",{className:"text-ui-sm text-neutral3 flex flex-wrap gap-x-4 gap-y-1",children:[t.name&&o.jsxs(Oo,{children:[o.jsx(Wfe,{})," ",c]}),o.jsxs(Oo,{children:[o.jsx(bxe,{})," ",t.targetType," / ",t.targetId]}),o.jsxs(Oo,{children:[o.jsx(qq,{})," v",t.datasetVersion??"—"]}),l&&o.jsxs(Oo,{children:[o.jsx(bot,{})," ",rr(l,"MMM d, yyyy HH:mm")]})]})]})}function bcs({datasetId:e,experimentIdA:t,experimentIdB:n,onSwap:r}){const[s,a]=v.useState(null),{data:i,isLoading:l,error:c}=oos(e,t,n),{data:u}=Aq(e,t),{data:d}=Aq(e,n),f=u&&d&&u.datasetVersion!==d.datasetVersion,p=v.useMemo(()=>{if(!i)return[];const E=new Set;for(const T of i.items)for(const N of Object.values(T.results))if(N)for(const I of Object.keys(N.scores))E.add(I);return[...E].sort()},[i]),h=v.useMemo(()=>{if(!i||p.length===0)return[];const E=i.baselineId,T=t===E?n:t;return p.map(N=>{let I=0,A=0,R=0,L=0;for(const z of i.items){const U=z.results[E]?.scores[N],q=z.results[T]?.scores[N];U!=null&&(I+=U,R++),q!=null&&(A+=q,L++)}const D=R>0?I/R:null,F=L>0?A/L:null,H=D!=null&&F!=null?F-D:null;return{scorerId:N,avgA:D,avgB:F,delta:H}})},[i,p,t,n]),m=[{name:"scorer",label:"Scorer",size:"1fr"},{name:"baselineAvg",label:"Baseline Avg",size:"1fr"},{name:"comparisonAvg",label:"Comparison Avg",size:"1fr"},{name:"delta",label:"Delta",size:"1fr"}],g=v.useMemo(()=>[{name:"itemId",label:"Item ID",size:"8rem"},...s?[]:p.map(E=>({name:E,label:E,size:"1fr"}))],[p,s]),y=i?.items.find(E=>E.itemId===s)??null,b=E=>{a(E===s?null:E)},x=()=>{a(null)},S=()=>{if(!i||!s)return;const E=i.items.findIndex(T=>T.itemId===s);if(E>=0&&E<i.items.length-1)return()=>a(i.items[E+1].itemId)},k=()=>{if(!i||!s)return;const E=i.items.findIndex(T=>T.itemId===s);if(E>0)return()=>a(i.items[E-1].itemId)};if(l)return o.jsx("div",{className:"flex h-64 items-center justify-center",children:o.jsx(Jt,{})});if(c)return o.jsx(Sn,{variant:"warning",title:"Error loading comparison",children:o.jsx(Sn.Message,{children:c instanceof Error?c.message:"Unknown error"})});if(!i||i.items.length===0)return o.jsx("div",{className:"text-neutral4 py-8 text-center text-sm",children:"No comparison data"});const C=i.baselineId,_=t===C?n:t;return o.jsxs("div",{className:"grid gap-10",children:[u&&d&&o.jsxs("div",{className:X("relative grid xl:grid-cols-[1fr_auto_1fr] gap-4 xl:gap-0"),children:[o.jsx(EJe,{datasetId:e,experiment:u,type:"baseline"}),o.jsx("div",{className:"before:bg-border1 relative flex items-center justify-center px-[2vw] before:absolute before:inset-y-0 before:left-1/2 before:w-[2px] before:-translate-x-1/2",children:o.jsx("div",{className:"bg-surface2 relative z-1 rounded-lg p-2",children:o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(ce,{onClick:r,children:"VS"})}),o.jsx(Rn,{children:"Switch the order"})]})})}),o.jsx(EJe,{datasetId:e,experiment:d,type:"contender"})]}),f&&o.jsx(Sn,{variant:"warning",title:"Version mismatch",children:o.jsxs(Sn.Message,{children:["These experiments used different dataset versions (v",u.datasetVersion," vs v",d.datasetVersion,"). Results may not be directly comparable."]})}),h.length>0&&o.jsxs(yn,{children:[o.jsxs(yn.Header,{columns:m,children:[o.jsx(yn.HeaderCol,{children:"Scorer"}),o.jsx(yn.HeaderCol,{className:"flex justify-center",children:o.jsxs(kXe,{children:[o.jsx(ea,{color:"purple",size:"small",intensity:"muted",children:"Baseline"}),o.jsx(ea,{color:"purple",size:"small",children:"Avg"})]})}),o.jsx(yn.HeaderCol,{className:"flex justify-center",children:o.jsxs(kXe,{children:[o.jsx(ea,{color:"cyan",size:"small",intensity:"muted",children:"Contender"}),o.jsx(ea,{color:"cyan",size:"small",children:"Avg"})]})}),o.jsx(yn.HeaderCol,{className:"flex justify-center",children:"Delta"})]}),o.jsx(yn.Scroller,{children:o.jsx(yn.Items,{children:h.map(({scorerId:E,avgA:T,avgB:N,delta:I})=>o.jsxs(yn.Row,{columns:m,children:[o.jsx(yn.TextCell,{children:E}),o.jsx(yn.TextCell,{className:"text-center font-mono",children:T!=null?T.toFixed(3):"-"}),o.jsx(yn.TextCell,{className:"text-center font-mono",children:N!=null?N.toFixed(3):"-"}),o.jsx(yn.TextCell,{className:"flex justify-center",children:I!=null?o.jsx(KIe,{delta:I}):"-"})]},E))})})]}),o.jsxs(ay,{className:X({"grid-cols-[1fr_2fr]":!!y}),children:[o.jsx(vcs,{items:i.items,baselineId:C,contenderId:_,scorerIds:p,featuredItemId:s,columns:g,onItemClick:b}),!!y&&o.jsx(gcs,{item:y,baselineId:C,contenderId:_,baselineVersion:u?.datasetVersion,contenderVersion:d?.datasetVersion,onPrevious:k(),onNext:S(),onClose:x})]})]})}function xcs({datasetId:e,itemId:t,onVersionSelect:n,onCompareVersionsClick:r,activeVersion:s}){const{data:a,isLoading:i}=HIe(e,t),[l,c]=v.useState(!1),[u,d]=v.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)},g=()=>{c(!0)},y=()=>{u.size===2&&r?.([...u])};return o.jsxs(Qr,{className:"min-w-56",children:[l?o.jsx(Qr.Toolbar,{className:"grid w-full justify-stretch gap-3",children:o.jsxs(Mr,{children:[o.jsx(ce,{onClick:m,children:"Cancel"}),o.jsx(ce,{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(Qr.Toolbar,{children:o.jsxs(ce,{onClick:g,className:"w-full",children:[o.jsx(Xw,{})," Compare Ver."]})})}),i?o.jsx(wcs,{}):o.jsxs(yn,{children:[o.jsx(yn.Header,{children:o.jsx(yn.HeaderCol,{children:"Item Version History"})}),o.jsx(yn.Scroller,{children:o.jsx(yn.Items,{children:a?.map(b=>{const x=String(b.datasetVersion),S=typeof b.updatedAt=="string"?new Date(b.updatedAt):b.updatedAt;return o.jsxs(yn.Row,{isSelected:l&&u.has(x),children:[l&&o.jsx(yn.LabelCell,{children:o.jsx(Bo,{checked:u.has(x),disabled:b.isDeleted,onCheckedChange:()=>{},onClick:k=>{k.stopPropagation(),b.isDeleted||h(x)},"aria-label":`Select version ${b.datasetVersion}`})}),o.jsx(yn.RowButton,{item:b,columns:[{name:"version",label:"Item Version History",size:"1fr"}],isFeatured:p(b),onClick:()=>f(b),className:"py-2",children:o.jsx(yn.VersionCell,{version:b.datasetVersion,date:S,isLatest:b.isLatest,isDeleted:b.isDeleted})})]},String(b.datasetVersion))})})})]})]})}function wcs(){return o.jsxs(yn,{children:[o.jsx(yn.Header,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(yn.HeaderCol,{children:"Item Version History"})}),o.jsx(yn.Items,{children:Array.from({length:3}).map((e,t)=>o.jsx(yn.Row,{children:o.jsx(yn.RowButton,{columns:[{name:"version",label:"Item Version History",size:"1fr"}],children:o.jsx(yn.TextCell,{isLoading:!0,children:"Loading..."})})},t))})]})}function Scs(e,t){if(t){const n=typeof t=="string"?new Date(t):t;return`v${e} ${rr(n,"MMM dd 'at' H:mm:ss a")}`}return`v${e}`}function kcs({datasetId:e,versionA:t,versionB:n,onVersionChange:r}){const{data:s}=gIe(e),a=(s??[]).map(i=>({value:String(i.version),label:`${Scs(i.version,i.createdAt)}${i.isCurrent?" (current)":""}`}));return o.jsxs(Qr.Toolbar,{className:"grid w-full grid-cols-[1fr_1fr_1fr_10rem] gap-4",children:[o.jsx("div",{}),o.jsx(Cc,{label:"Version A",labelIsHidden:!0,name:"version-a",placeholder:"Select version",options:a,value:t??"",onValueChange:i=>r?.(i,n??"")}),o.jsx(Cc,{label:"Version B",labelIsHidden:!0,name:"version-b",options:a,value:n??"",onValueChange:i=>r?.(t??"",i)}),o.jsx("div",{})]})}const Ocs=[{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"}],_cs={added:{color:"blue",borderColor:"border-blue-900",icon:o.jsx(Wr,{}),tooltip:"Added in this version"},changed:{color:"orange",borderColor:"border-yellow-900",icon:o.jsx(Pot,{}),tooltip:"Changed in this version"},same:{color:"green",borderColor:"border-green-900",icon:o.jsx(pZt,{}),tooltip:"Same in both versions"}};function Wae({red:e=!1,tooltip:t}){return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx(XHt,{className:X("text-neutral3/40 w-5 h-5 ",{"text-red-900":e})})}),t&&o.jsx(Rn,{children:t})]})}function rk({variant:e,version:t}){if(!e)return o.jsxs("span",{className:"text-ui-md text-neutral4",children:["v. ",t]});const{color:n,icon:r,tooltip:s}=_cs[e];return o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children: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(ea,{color:n,size:"small",children:r})]})}),o.jsx(Rn,{children:s})]})}function Ccs(e,t){return e&&t&&e.datasetVersion===t.datasetVersion?"same":e&&t&&e.datasetVersion!==t.datasetVersion?"changed":e?"added":"removed"}function Ecs({datasetId:e,versionA:t,versionB:n,allItems:r,itemsAMap:s,itemsBMap:a}){const{Link:i}=bn(),l=t>n;return o.jsx(yn,{children:o.jsx(yn.Scroller,{children:o.jsx(yn.Items,{children:r.map(({id:c})=>{const u=s.get(c),d=a.get(c),f=Ccs(u,d);return o.jsxs(yn.Row,{columns:Ocs,children:[o.jsx(yn.IdCell,{id:c,isShortened:!1}),f!=="same"?o.jsxs(o.Fragment,{children:[u?.datasetVersion?o.jsx(yn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!d&&l?o.jsx(rk,{variant:"added",version:u.datasetVersion}):f==="changed"&&l?o.jsx(rk,{variant:"changed",version:u.datasetVersion}):o.jsx(rk,{version:u.datasetVersion})}):o.jsx(yn.Cell,{className:"flex items-center justify-center",children:o.jsx(Wae,{red:l,tooltip:l?"Deleted in this version":"Not present in this version"})}),d?.datasetVersion?o.jsx(yn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"gap-2",children:!u&&!l?o.jsx(rk,{variant:"added",version:d.datasetVersion}):f==="changed"&&!l?o.jsx(rk,{variant:"changed",version:d.datasetVersion}):o.jsx(rk,{version:d.datasetVersion})}):o.jsx(yn.Cell,{className:"flex items-center justify-center",children:o.jsx(Wae,{red:!l,tooltip:l?"Not present in this version":"Deleted in this version"})})]}):o.jsx(yn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}`,className:"col-span-2 gap-2",children:o.jsx(rk,{variant:"same",version:d?.datasetVersion})}),f==="changed"?o.jsx(yn.LinkCell,{LinkComponent:i,href:`/datasets/${e}/items/${c}/versions?ids=${u?.datasetVersion},${d?.datasetVersion}`,children:"Compare"}):o.jsx(yn.Cell,{children:o.jsx(Wae,{tooltip:o.jsxs(o.Fragment,{children:["Comparing is available",o.jsx("br",{})," only for changed items"]})})})]},c)})})})})}const TJe={needsReview:"#facc15",complete:"#22c55e"},Tcs=[{label:"Needs Review",color:TJe.needsReview},{label:"Reviewed",color:TJe.complete}];function jcs({reviewSummary:e,experiments:t,datasets:n,isLoading:r,isError:s}){const{data:a,maxVal:i,totalInPipeline:l}=v.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 g=m.needsReview+m.complete;if(g===0)continue;p+=g,g>f&&(f=g);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(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Review Pipeline",description:"Items in review across experiments."}),c&&o.jsx(Wt.Summary,{value:String(l),label:"Items in pipeline"})]}),r?o.jsx(Wt.Loading,{}):s?o.jsx(Wt.Error,{message:"Failed to load review data"}):o.jsx(Wt.Content,{children:c?o.jsx(TN,{data:a,segments:Tcs,maxVal:i,fmt:u=>String(u)}):o.jsx(Wt.NoData,{message:"No items have been sent to review yet"})})]})}function XIe(){const e=We();return yt({queryKey:["experiment-review-summary"],queryFn:()=>e.getExperimentReviewSummary()})}function jBt(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 Ncs(e,t){const n=new Map,r=jBt(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 Ics(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 Acs=10;function Rcs(){const[e,t]=v.useState(!1),[n,r]=v.useState(""),[s,a]=v.useState("all"),[i,l]=v.useState("all"),[c,u]=v.useState("all"),[d,f]=v.useState(0),{data:p,isLoading:h,error:m}=zg({page:d,perPage:Acs}),{data:g,isLoading:y,error:b}=rQ(),{data:x}=XIe(),S=v.useMemo(()=>p?.datasets??[],[p?.datasets]),k=p?.pagination?.hasMore??!1,C=v.useMemo(()=>g?.experiments??[],[g?.experiments]),_=v.useMemo(()=>_os(S),[S]),E=v.useMemo(()=>Ncs(x,C),[x,C]),T=h||y,N=m||b,I=()=>t(!0),A=v.useCallback(()=>f(q=>q+1),[]),R=v.useCallback(()=>f(q=>Math.max(0,q-1)),[]),L=v.useCallback(q=>{r(q),f(0)},[]),D=v.useCallback(q=>{a(q),f(0)},[]),F=v.useCallback(q=>{l(q),f(0)},[]),H=v.useCallback(q=>{u(q),f(0)},[]);if(N&&ws(N))return o.jsx(cr,{children:o.jsx(Zs,{})});if(N&&Ss(N))return o.jsx(cr,{children:o.jsx($s,{resource:"datasets"})});if(N)return o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load datasets",message:N.message})});if(S.length===0&&!T&&d===0)return o.jsxs(o.Fragment,{children:[o.jsx(cr,{children:o.jsx(Nos,{onCreateClick:I})}),o.jsx(zbe,{open:e,onOpenChange:t})]});const z=s!=="all"||i!=="all"||c!=="all"||n!=="",U=()=>{r(""),a("all"),l("all"),u("all"),f(0)};return o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx(Ros,{search:n,onSearchChange:L,targetFilter:s,onTargetFilterChange:D,experimentFilter:i,onExperimentFilterChange:F,tagFilter:c,onTagFilterChange:H,tagOptions:_,onReset:U,hasActiveFilters:z,onCreateClick:I})}),o.jsx(jos,{datasets:S,experiments:C,reviewByDataset:E,isLoading:T,search:n,targetFilter:s,experimentFilter:i,tagFilter:c,currentPage:d,hasMore:k,onNextPage:A,onPrevPage:R}),o.jsx(zbe,{open:e,onOpenChange:t})]})}function wz({children:e}){return o.jsxs(Bt,{height:"full",children:[o.jsx("div",{}),o.jsx(Bt.MainArea,{isCentered:!0,children:e})]})}function Pcs(){const{datasetId:e}=Sr(),t=Ws(),[n,r]=ri(),{activeVersion:s}=WIe(n,r),[a,i]=v.useState(!1),[l,c]=v.useState(!1),[u,d]=v.useState(!1),[f,p]=v.useState(!1),[h,m]=v.useState(!1),{data:g,error:y,isLoading:b}=Xx(e),{data:x=[],isLoading:S}=P1(e,void 0,s),k=!S&&x.length===0;if(b)return null;if(y&&ws(y))return o.jsx(wz,{children:o.jsx(Zs,{})});if(y&&Ss(y))return o.jsx(wz,{children:o.jsx($s,{resource:"datasets"})});if(y&&KCe(y)||!b&&!y&&!g)return o.jsx(wz,{children:o.jsx(Lr,{iconSlot:o.jsx(iy,{}),titleSlot:"Dataset not found",descriptionSlot:`No dataset with id "${e}".`,actionSlot:o.jsxs(ce,{as:Fa,to:"/datasets",children:[o.jsx(Ac,{}),"Back to Datasets"]})})});if(y)return o.jsx(wz,{children:o.jsx(Vi,{title:"Failed to load dataset",message:y instanceof Error?y.message:"An unexpected error occurred. Please try again."})});const C=E=>{t(`/datasets/${e}/experiments/${E}`)},_=()=>{t("/datasets")};return o.jsxs(o.Fragment,{children:[o.jsxs(Bt,{height:"full",children:[o.jsx(Bt.TopArea,{children:o.jsxs(Bt.Row,{children:[o.jsxs(Bt.Column,{children:[g?.description&&o.jsx("p",{className:"text-ui-smd text-neutral3 mb-1",children:g.description}),o.jsxs(Vt,{numOfCol:2,children:[o.jsx(Vt.Key,{children:"Created at"}),o.jsx(Vt.Value,{children:g?.createdAt?rr(new Date(g.createdAt),"MMM d, yyyy"):""}),o.jsx(Vt.Key,{children:"Latest version"}),o.jsxs(Vt.Value,{children:["v",g?.version??""]})]})]}),o.jsx(Bt.Column,{children:o.jsxs(Mr,{children:[k?o.jsxs(Pn,{children:[o.jsx(An,{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(ce,{variant:"primary",children:[o.jsx(Ef,{}),s!=null?`Run on v${s}`:"Run Experiment"]})})})}),o.jsx(Rn,{children:"Add items to the dataset before running an experiment"})]}):o.jsxs(ce,{variant:"primary",onClick:()=>i(!0),children:[o.jsx(Ef,{}),s!=null?`Run on v${s}`:"Run Experiment"]}),o.jsxs(ot,{children:[o.jsx(ot.Trigger,{asChild:!0,children:o.jsx(ce,{size:"lg","aria-label":"Dataset actions menu",children:o.jsx(yD,{})})}),o.jsxs(ot.Content,{align:"end",className:"w-48",children:[o.jsxs(ot.Item,{onSelect:()=>d(!0),children:[o.jsx(sm,{})," Edit Dataset"]}),o.jsxs(ot.Item,{onSelect:()=>m(!0),children:[o.jsx(nm,{})," Duplicate Dataset"]}),o.jsxs(ot.Item,{onSelect:()=>p(!0),className:"text-red-500 focus:text-red-400",children:[o.jsx(hu,{})," Delete Dataset"]})]})]})]})})]})}),o.jsx(Bt.MainArea,{children:o.jsx(Gls,{datasetId:e,onAddItemClick:()=>c(!0)})})]}),o.jsx(ncs,{datasetId:e,version:s??void 0,requestContextSchema:g?.requestContextSchema,open:a,onOpenChange:i,onSuccess:C}),o.jsx(Yls,{datasetId:e,open:l,onOpenChange:c}),g&&o.jsx(Fos,{open:u,onOpenChange:d,dataset:{id:g.id,name:g.name,description:g?.description||"",targetType:g.targetType,inputSchema:g.inputSchema,groundTruthSchema:g.groundTruthSchema,requestContextSchema:g.requestContextSchema}}),g&&o.jsx(Mos,{open:h,onOpenChange:m,sourceDatasetId:g.id,sourceDatasetName:g.name,sourceDatasetDescription:g.description,sourceDatasetTargetType:g.targetType}),g&&o.jsx(Bos,{open:f,onOpenChange:p,datasetId:g.id,datasetName:g.name,onSuccess:_})]})}function NBt({experiment:e}){const{Link:t,paths:n}=bn(),{data:r}=Em(),{data:s}=qy(),{data:a}=ah(),i=()=>{switch(e.targetType){case"agent":return n.agentLink(e.targetId);case"workflow":return n.workflowLink(e.targetId);case"scorer":return n.scorerLink(e.targetId);default:return"#"}},l=()=>{const u=e.targetId;if(!u)return u;switch(e.targetType){case"agent":return r?.[u]?.name??u;case"workflow":return s?.[u]?.name??u;case"scorer":return a?.[u]?.scorer?.config?.name??u;default:return u}},c=e.agentVersion&&e.targetType==="agent"&&e.targetId?`${n.agentLink(e.targetId)}/editor?version=${encodeURIComponent(e.agentVersion)}`:null;return o.jsx(Bt.TopArea,{children:o.jsxs(Bt.Row,{children:[o.jsx(Bt.Column,{children:o.jsxs(Vt,{numOfCol:2,children:[e.name&&o.jsxs(o.Fragment,{children:[o.jsx(Vt.Key,{children:"Name"}),o.jsx(Vt.Value,{children:e.name})]}),e.description&&o.jsxs(o.Fragment,{children:[o.jsx(Vt.Key,{children:"Description"}),o.jsx(Vt.Value,{children:e.description})]}),o.jsx(Vt.Key,{children:"Created at"}),o.jsx(Vt.Value,{children:rr(new Date(e.createdAt),"MMM d, yyyy 'at' h:mm a")}),e.completedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Vt.Key,{children:"Completed at"}),o.jsx(Vt.Value,{children:rr(new Date(e.completedAt),"MMM d, yyyy 'at' h:mm a")})]}),o.jsx(Vt.Key,{children:"Target"}),o.jsx(Vt.ValueLink,{href:i(),as:t,children:l()}),e.agentVersion&&o.jsxs(o.Fragment,{children:[o.jsx(Vt.Key,{children:"Version"}),c?o.jsx(Vt.ValueLink,{href:c,as:t,children:e.agentVersion}):o.jsx(Vt.Value,{children:e.agentVersion})]})]})}),o.jsx(Bt.Column,{children:o.jsx(hcs,{experiment:e})})]})})}function Sz({children:e}){return o.jsxs(Bt,{height:"full",children:[o.jsx("div",{}),o.jsx(Bt.MainArea,{isCentered:!0,children:e})]})}function $cs(){const{datasetId:e,experimentId:t}=Sr(),{data:n,isLoading:r,error:s}=Aq(e,t),{data:a,isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u}=zG({datasetId:e,experimentId:t,experimentStatus:n?.status});return!e||!t||r?null:s&&ws(s)?o.jsx(Sz,{children:o.jsx(Zs,{})}):s&&Ss(s)?o.jsx(Sz,{children:o.jsx($s,{resource:"datasets"})}):s&&KCe(s)||!r&&!s&&!n?o.jsx(Sz,{children:o.jsx(Lr,{iconSlot:o.jsx(cxe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${t}".`,actionSlot:o.jsxs(ce,{as:Fa,to:`/datasets/${e}?tab=experiments`,children:[o.jsx(Ac,{}),"Back to Dataset"]})})}):s?o.jsx(Sz,{children:o.jsx(Vi,{title:"Failed to load experiment",message:s instanceof Error?s.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Bt,{height:"full",children:[o.jsx(NBt,{experiment:n}),o.jsx(Bt.MainArea,{children:o.jsx(TBt,{experimentId:t,datasetId:e,experimentStatus:n.status,results:a??[],isLoading:i,setEndOfListElement:l,isFetchingNextPage:c,hasNextPage:u})})]})}function Mcs(){const{datasetId:e}=Sr(),[t,n]=ri(),{error:r}=Xx(e??""),s=t.get("baseline")??"",a=t.get("contender")??"";return r&&ws(r)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):r&&Ss(r)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):!e||!s||!a?o.jsx(ds,{children:o.jsx(Sy,{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(ds,{children:o.jsx(Sy,{children:o.jsxs("div",{className:"mx-auto grid w-full max-w-[100rem] content-start px-12",children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(Xw,{})," Dataset Experiments Comparison"]}),o.jsxs(ha.Description,{children:["Comparing"," ",o.jsx(Fa,{to:`/datasets/${e}/experiments/${s}`,children:s.slice(0,8)})," vs"," ",o.jsx(Fa,{to:`/datasets/${e}/experiments/${a}`,children:a.slice(0,8)})]})]}),o.jsx(ha.Column,{children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,children:[o.jsx(Ac,{}),"Back to Dataset"]})})]}),o.jsx(bcs,{datasetId:e,experimentIdA:s,experimentIdB:a,onSwap:()=>{n({baseline:a,contender:s})}})]})})})}function Dcs(){const{datasetId:e,itemId:t}=Sr(),{Link:n}=bn(),r=Ws(),{data:s,isLoading:a,error:i}=HIe(e??"",t??""),{updateItem:l,deleteItem:c}=Ni(),{data:u}=Xx(e??""),d=s?.[0]??null,f=d?.isDeleted??!1,[p,h]=v.useState(null),m=v.useMemo(()=>!d||f?{input:"",groundTruth:"",metadata:"",trajectory:"",toolMocks:"",requestContext:""}:{input:JSON.stringify(d.input,null,2),groundTruth:d.groundTruth?JSON.stringify(d.groundTruth,null,2):"",metadata:d.metadata?JSON.stringify(d.metadata,null,2):"",trajectory:d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):"",toolMocks:d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):"",requestContext:d.requestContext?JSON.stringify(d.requestContext,null,2):""},[d,f]),g=d?.datasetVersion??0,[y,b]=v.useState(!1),[x,S]=v.useState(m.input),[k,C]=v.useState(m.groundTruth),[_,E]=v.useState(m.metadata),[T,N]=v.useState(m.trajectory),[I,A]=v.useState(m.toolMocks),[R,L]=v.useState(m.requestContext),[D,F]=v.useState(g);g!==D&&(F(g),S(m.input),C(m.groundTruth),E(m.metadata),N(m.trajectory),A(m.toolMocks),L(m.requestContext));const[H,z]=v.useState(!1),U=ee=>{h(f?ee:ee.isLatest?null:ee)},q=()=>{h(null)},M=!f&&p!=null,G=()=>{M||b(!0)},V=()=>{M||z(!0)},$=async()=>{if(!e||!t)return;let ee;try{ee=JSON.parse(x)}catch{De.error("Input must be valid JSON");return}let J;if(k.trim())try{J=JSON.parse(k)}catch{De.error("Ground Truth must be valid JSON");return}let ae;if(_.trim())try{ae=JSON.parse(_)}catch{De.error("Metadata must be valid JSON");return}let fe;const Y=T!==m.trajectory;if(Y&&T.trim())try{fe=JSON.parse(T)}catch{De.error("Expected Trajectory must be valid JSON");return}let re;const le=I!==m.toolMocks;if(le&&I.trim())try{const me=JSON.parse(I);if(!Array.isArray(me)){De.error("Tool Mocks must be a JSON array");return}re=me}catch{De.error("Tool Mocks must be valid JSON");return}let ue;const oe=R!==m.requestContext;if(oe&&R.trim())try{ue=JSON.parse(R)}catch{De.error("Request Context must be valid JSON");return}try{await l.mutateAsync({datasetId:e,itemId:t,input:ee,groundTruth:J,metadata:ae,...Y?{expectedTrajectory:fe??null}:{},...le?{toolMocks:re??[]}:{},...oe?{requestContext:ue}:{}}),De.success("Item updated successfully"),b(!1)}catch(me){De.error(`Failed to update item: ${me instanceof Error?me.message:"Unknown error"}`)}},B=()=>{d&&(S(JSON.stringify(d.input,null,2)),C(d.groundTruth?JSON.stringify(d.groundTruth,null,2):""),E(d.metadata?JSON.stringify(d.metadata,null,2):""),N(d.expectedTrajectory!=null?JSON.stringify(d.expectedTrajectory,null,2):""),A(d.toolMocks?.length?JSON.stringify(d.toolMocks,null,2):""),L(d.requestContext?JSON.stringify(d.requestContext,null,2):"")),b(!1)},Z=async()=>{if(!(!e||!t))try{await c.mutateAsync({datasetId:e,itemId:t}),De.success("Item deleted successfully"),z(!1),r(`/datasets/${e}`)}catch(ee){De.error(`Failed to delete item: ${ee instanceof Error?ee.message:"Unknown error"}`)}},K=p??d,ne=K?{id:t??"",datasetId:e??"",datasetVersion:K.datasetVersion,input:K.input,groundTruth:K.groundTruth,expectedTrajectory:K.expectedTrajectory,metadata:K.metadata,createdAt:K.createdAt,updatedAt:K.updatedAt}:null;return i&&ws(i)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):i&&Ss(i)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):a?null:!e||!t||!s||s.length===0?o.jsx(ds,{children:o.jsx(Sy,{children:o.jsx("div",{className:"text-neutral3 p-4",children:"Item not found"})})}):o.jsxs(o.Fragment,{children:[o.jsx(ds,{children:o.jsx("div",{className:"h-full overflow-hidden px-6 pb-4",children:o.jsxs("div",{className:"mx-auto grid h-full max-w-[60rem] grid-rows-[auto_1fr] gap-6",children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx($N,{}),t," ",o.jsx(Pa,{content:t})]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:["Item of ",o.jsx(iy,{})," ",u?.name]})}),o.jsxs(ha.Description,{children:[o.jsxs(Oo,{children:[o.jsx(yot,{})," Created at"," ",d?.createdAt?rr(new Date(d.createdAt),"MMM d, yyyy"):""]}),o.jsxs(Oo,{children:[o.jsx(m_,{})," Latest version v",d?.datasetVersion??""]})]})]}),o.jsx(ha.Column,{children:!y&&!f&&o.jsxs(Mr,{children:[o.jsxs(ce,{onClick:G,disabled:M,title:M?"Return to latest version to edit":void 0,children:[o.jsx(Pot,{})," Edit"]}),o.jsxs(ce,{onClick:V,disabled:M,title:M?"Return to latest version to delete":void 0,children:[o.jsx(hu,{})," Delete"]})]})})]}),o.jsxs(ay,{className:y?"grid-cols-1":"grid-cols-[1fr_auto]",children:[o.jsxs(Qr,{withRightSeparator:!y,children:[f&&d&&o.jsx(Sn,{variant:"destructive",title:"Item deleted",children:o.jsxs(Sn.Message,{children:["This item was deleted at version v",d.datasetVersion]})}),!f&&M&&p&&o.jsx(Sn,{variant:"warning",title:"Previous version",action:o.jsxs(Sn.Button,{onClick:q,children:[o.jsx(pot,{})," Return to the latest version"]}),children:o.jsxs(Sn.Message,{children:["Viewing version v",p.datasetVersion]})}),y?o.jsx(_Bt,{inputValue:x,setInputValue:S,groundTruthValue:k,setGroundTruthValue:C,metadataValue:_,setMetadataValue:E,trajectoryValue:T,setTrajectoryValue:N,toolMocksValue:I,setToolMocksValue:A,requestContextValue:R,setRequestContextValue:L,validationErrors:null,onSave:$,onCancel:B,isSaving:l.isPending}):ne?o.jsx(QIe,{item:ne,Link:n}):o.jsx("div",{className:"text-neutral4 text-sm",children:"Item data not available"})]}),!y&&o.jsx(Qr,{children:o.jsx(xcs,{datasetId:e,itemId:t,onClose:()=>{},onVersionSelect:U,onCompareVersionsClick:ee=>{r(`/datasets/${e}/items/${t}/versions?ids=${ee.join(",")}`)},activeVersion:p?.datasetVersion??null})})]})]})})}),o.jsx(At,{open:H,onOpenChange:z,children:o.jsxs(At.Content,{children:[o.jsxs(At.Header,{children:[o.jsx(At.Title,{children:"Delete Item"}),o.jsx(At.Description,{children:"Are you sure you want to delete this item? This action cannot be undone."})]}),o.jsxs(At.Footer,{children:[o.jsx(At.Cancel,{children:"Cancel"}),o.jsx(At.Action,{onClick:Z,children:c.isPending?"Deleting...":"Delete"})]})]})})]})}function jJe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function Lcs(){const{datasetId:e}=Sr(),[t,n]=ri(),r=t.get("items")?.split(",").filter(Boolean)??[],{data:s,error:a}=Xx(e??""),{Link:i}=bn(),[l,c]=v.useState(!1),{data:u}=Rq(e??"",r[0]??""),{data:d}=Rq(e??"",r[1]??"");return a&&ws(a)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):a&&Ss(a)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):!e||r.length<2?o.jsx(ds,{children:o.jsx(Sy,{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(ds,{children:[o.jsx(Ry,{owner:"dataset-items-compare",children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,variant:"outline",children:[o.jsx(Ac,{}),"Back to Dataset"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:X("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":l}),children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(Xw,{}),"Compare Dataset Items"]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:["Comparing ",r.length," items of"," ",o.jsx(Fa,{to:`/datasets/${e}`,className:"text-info1 hover:underline",children:s?.name||e?.slice(0,8)})]})})]}),o.jsx(ha.Column,{children:o.jsx(Mr,{children:o.jsx(ce,{variant:"primary",onClick:()=>c(f=>!f),children:l?o.jsxs(o.Fragment,{children:[o.jsx(uxe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(aZt,{})," Diff View"]})})})})]}),o.jsx(ay,{className:"grid-cols-[1fr_3vw_1fr]",children:r.map((f,p)=>o.jsxs(v.Fragment,{children:[o.jsx(Fcs,{datasetId:e,itemId:f,Link:i,idx:p,itemIds:r,showContent:!l,onItemChange:h=>{const m=[...r];m[p]=h,n({items:m.join(",")})}}),p==0&&o.jsx("div",{className:X("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},f))}),l&&u&&d&&o.jsx(mTe,{codeA:jJe(u),codeB:jJe(d)})]})})]})}function Fcs({datasetId:e,itemId:t,Link:n,idx:r,itemIds:s,onItemChange:a,showContent:i=!0}){const{data:l,isLoading:c}=Rq(e,t),{data:u}=P1(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(Qr,{children:[o.jsxs(Qr.Toolbar,{className:"flex gap-4",children:[o.jsxs(ma,{name:`compare-item-${r}`,value:t,onValueChange:a,children:[o.jsx(va,{"aria-label":"Item",children:o.jsx(ga,{placeholder:"Select item"})}),o.jsx(ya,{children:f.map(p=>o.jsx(Rr,{value:p.value,disabled:p.disabled,children:p.label},p.value))})]}),o.jsxs(ce,{as:n,to:`/datasets/${e}/items/${t}`,children:[o.jsx(m_,{}),"Versions"]})]}),i&&o.jsx(Qr.Content,{children:c?o.jsx("div",{className:"text-neutral4 text-sm",children:"Loading..."}):l?o.jsxs(o.Fragment,{children:[o.jsx(Kls,{item:l}),o.jsx(QIe,{item:l,Link:n})]}):o.jsxs("div",{className:"text-neutral4 text-sm",children:["Item ",t.slice(0,8)," not found"]})})]})}function NJe(e){return JSON.stringify({input:e.input??null,groundTruth:e.groundTruth??null,metadata:e.metadata??null},null,2)}function zcs(){const{datasetId:e,itemId:t}=Sr(),[n,r]=ri(),[s,a]=v.useState(!1),i=n.get("ids")?.split(",").map(Number).filter(h=>!isNaN(h)&&h>0)??[],{data:l,error:c}=Xx(e??""),{Link:u}=bn(),{data:d}=HIe(e??"",t??""),{data:f}=Hbe(e??"",t??"",i[0]??0,l?.version),{data:p}=Hbe(e??"",t??"",i[1]??0,l?.version);return c&&ws(c)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})}):c&&Ss(c)?o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})}):!e||!t||i.length<2?o.jsx(ds,{children:o.jsx(Sy,{children:o.jsx("div",{className:"text-neutral4 py-8 text-center",children:o.jsx("p",{children:"Select at least two versions to compare."})})})}):o.jsxs(ds,{children:[o.jsx(Ry,{owner:"dataset-item-versions-compare",children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}/items/${t}`,variant:"outline",children:[o.jsx(Ac,{}),"Back to Item"]})}),o.jsx("div",{className:"h-full overflow-hidden px-[3vw] pb-4",children:o.jsxs("div",{className:X("grid gap-6 max-w-[140rem] mx-auto grid-rows-[auto_1fr] h-full",{"grid-rows-[auto_auto_1fr]":s}),children:[o.jsxs(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(Xw,{}),"Compare Dataset Item Versions"]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:["Comparing ",i.length," versions of"," ",o.jsx(Fa,{to:`/datasets/${e}/items/${t}`,className:"text-info1 hover:underline",children:t})]})})]}),o.jsx(ha.Column,{children:o.jsx(Mr,{children:o.jsx(ce,{variant:"primary",onClick:()=>a(h=>!h),children:s?o.jsxs(o.Fragment,{children:[o.jsx(uxe,{})," Default View"]}):o.jsxs(o.Fragment,{children:[o.jsx(VZt,{})," Diff View"]})})})})]}),o.jsx(ay,{className:"grid-cols-[1fr_3vw_1fr]",children:i.map((h,m)=>o.jsxs(v.Fragment,{children:[o.jsx(Bcs,{datasetId:e,itemId:t,datasetVersion:h,latestVersion:l?.version,allVersions:d??[],versionNumbers:i,Link:u,idx:m,showContent:!s,onVersionChange:g=>{const y=[...i];y[m]=g,r({ids:y.join(",")})}}),m===0&&o.jsx("div",{className:X("bg-surface5 w-[3px] shrink-0 mx-[1.5vw]")})]},h))}),s&&f&&p&&o.jsx(mTe,{codeA:NJe(f),codeB:NJe(p)})]})})]})}function Bcs({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}=Hbe(e,t,n,r),p=new Set(a.filter((g,y)=>y!==l)),h=s.map(g=>{const y=typeof g.updatedAt=="string"?new Date(g.updatedAt):g.updatedAt;return{value:String(g.datasetVersion),label:o.jsxs(o.Fragment,{children:[o.jsxs("b",{children:["v. ",g.datasetVersion]})," - ",rr(y,"MMM d, yyyy h:mm a"),g.isLatest?o.jsx(ea,{color:"blue",size:"small",children:"Latest"}):null]}),disabled:p.has(g.datasetVersion)}}),m=d?{id:d.id,datasetId:e,datasetVersion:d.datasetVersion,input:d.input,groundTruth:d.groundTruth,metadata:d.metadata,createdAt:d.createdAt,updatedAt:d.updatedAt}:null;return o.jsxs(Qr,{children:[o.jsxs(Qr.Toolbar,{className:"grid grid-cols-[auto_1fr] gap-4",children:[o.jsx(m_,{className:"h-6 w-6 opacity-50"}),o.jsxs(ma,{name:`compare-version-${l}`,value:String(n),onValueChange:g=>u(Number(g)),children:[o.jsx(va,{"aria-label":"Version",className:"w-full",children:o.jsx(ga,{placeholder:"Select version"})}),o.jsx(ya,{children:h.map(g=>o.jsx(Rr,{value:g.value,disabled:g.disabled,children:g.label},g.value))})]})]}),c&&o.jsx(Qr.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(QIe,{item:m,Link:i})})]})}function Ucs(){const{datasetId:e}=Sr(),[t]=ri(),n=t.get("ids")?.split(",").map(Number).filter(g=>!isNaN(g)&&g>0)??[],r=Ws(),{data:s,error:a}=Xx(e??""),i=P1(e??"",void 0,n[0]??null),l=P1(e??"",void 0,n[1]??null),c=v.useMemo(()=>i.data??[],[i.data]),u=v.useMemo(()=>l.data??[],[l.data]),d=v.useMemo(()=>{const g=new Map;for(const y of[...c,...u])g.has(y.id)||g.set(y.id,{id:y.id,createdAt:new Date(y.createdAt)});return[...g.values()].sort((y,b)=>b.createdAt.getTime()-y.createdAt.getTime())},[c,u]),f=v.useMemo(()=>new Map(c.map(g=>[g.id,g])),[c]),p=v.useMemo(()=>new Map(u.map(g=>[g.id,g])),[u]);if(a&&ws(a))return o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})})});if(a&&Ss(a))return o.jsx(ds,{children:o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"datasets"})})});if(!e||n.length<2)return o.jsx(ds,{children:o.jsx(Sy,{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=(g,y,b)=>{r(`/datasets/${e}/items/${g}/versions?ids=${y?.datasetVersion??""},${b?.datasetVersion??""}`)},m=(g,y)=>{r(`/datasets/${e}/versions?ids=${g},${y}`,{replace:!0})};return o.jsx(ds,{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(ha,{children:[o.jsxs(ha.Column,{children:[o.jsxs(ha.Title,{children:[o.jsx(PQt,{})," Compare Dataset Versions"]}),o.jsx(ha.Description,{children:o.jsxs(Oo,{children:[o.jsx(m_,{})," Comparing ",n.length," versions of"," ",s?.name||e?.slice(0,8)]})})]}),o.jsx(ha.Column,{children:o.jsxs(ce,{as:Fa,to:`/datasets/${e}`,children:[o.jsx(Ac,{}),"Back to Dataset"]})})]}),o.jsx(ay,{children:o.jsxs(Qr,{children:[o.jsx(kcs,{datasetId:e,versionA:String(n[0]),versionB:String(n[1]),onVersionChange:m}),o.jsx(Ecs,{datasetId:e,versionA:n[0],versionB:n[1],allItems:d,itemsAMap:f,itemsBMap:p,onItemClick:h})]})})]})})})}function Wbe({children:e,className:t}){return o.jsx("div",{className:X("flex flex-wrap gap-8",t),children:e})}function qcs(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 Vcs({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,g=qcs(n);return o.jsxs(o.Fragment,{children:[o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:"Total Scorers"}),i?o.jsx(Jr.Loading,{}):f!=null?o.jsxs(o.Fragment,{children:[o.jsx(Jr.Value,{children:String(f)}),o.jsx(Jr.NoChange,{message:"Static count"})]}):o.jsx(Jr.NoData,{})]}),o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:"Total Datasets"}),l?o.jsx(Jr.Loading,{}):p!=null?o.jsxs(o.Fragment,{children:[o.jsx(Jr.Value,{children:String(p)}),o.jsx(Jr.NoChange,{message:"Static count"})]}):o.jsx(Jr.NoData,{})]}),o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:"Avg Score"}),u?o.jsx(Jr.Loading,{}):r!=null?o.jsxs(o.Fragment,{children:[o.jsx(Jr.Value,{children:String(r)}),m?o.jsx(Jr.Change,{changePct:m.changePct,prevValue:m.prevValue}):o.jsx(Jr.NoChange,{})]}):o.jsx(Jr.NoData,{})]}),o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:"Total Experiments"}),c?o.jsx(Jr.Loading,{}):h!=null?o.jsxs(o.Fragment,{children:[o.jsx(Jr.Value,{children:String(h)}),g?o.jsx(Jr.Change,{changePct:g.changePct,prevValue:g.prevValue}):o.jsx(Jr.NoChange,{})]}):o.jsx(Jr.NoData,{})]}),o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:"Needs Review"}),d?o.jsx(Jr.Loading,{}):a!=null?o.jsxs(o.Fragment,{children:[o.jsx(Jr.Value,{children:String(a)}),a>0?o.jsx(Jr.NoChange,{message:"items pending review"}):o.jsx(Jr.NoChange,{message:"All caught up"})]}):o.jsx(Jr.NoData,{})]})]})}const IJe="minmax(9rem,1fr) 1fr auto auto auto auto auto auto auto";function Hcs(e){return e?(typeof e=="string"?new Date(e):e).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"—"}const Wcs={completed:"success",running:"warning",failed:"error",pending:"neutral"};function Zcs({experiments:e,datasets:t,reviewByExperiment:n,isLoading:r,search:s="",statusFilter:a="all",datasetFilter:i="all"}){const{paths:l,Link:c}=bn(),u=v.useMemo(()=>{const p=new Map;return t?.forEach(h=>p.set(h.id,h.name)),p},[t]),d=v.useMemo(()=>[...e].sort((p,h)=>{const m=p.createdAt?new Date(p.createdAt).getTime():0;return(h.createdAt?new Date(h.createdAt).getTime():0)-m}),[e]),f=v.useMemo(()=>{const p=s.toLowerCase();return d.filter(h=>{const m=h.datasetId?u.get(h.datasetId)??"":"",g=!p||h.id.toLowerCase().includes(p)||(h.name??"").toLowerCase().includes(p)||m.toLowerCase().includes(p)||(h.targetId??"").toLowerCase().includes(p),y=a==="all"||h.status===a,b=i==="all"||h.datasetId===i;return g&&y&&b})},[d,s,u,a,i]);return r?o.jsx(il,{columns:IJe}):o.jsxs(ge,{columns:IJe,variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Experiment"}),o.jsx(ge.TopCell,{children:"Dataset"}),o.jsx(ge.TopCell,{children:"Target"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{className:"text-center",children:"Items"}),o.jsx(ge.TopCell,{className:"text-center",children:"Succeeded"}),o.jsx(ge.TopCell,{className:"text-center",children:"Failed"}),o.jsx(ge.TopCell,{className:"text-center",children:"Review"}),o.jsx(ge.TopCell,{children:"Date"})]}),f.map(p=>{const h=p.datasetId?u.get(p.datasetId)??nS(p.datasetId)??p.datasetId:"—",m=p.status??"pending",g=p.succeededCount??0,y=p.failedCount??0,b=p.totalItems??0,x=b>0?Math.round(g/b*100):0;return o.jsxs(ge.RowLink,{to:l.experimentLink(p.id),LinkComponent:c,children:[o.jsx(ge.Cell,{children:o.jsx(OBt,{experiment:p})}),o.jsx(ge.TextCell,{children:h}),o.jsx(ge.Cell,{children:o.jsxs("span",{className:"truncate",children:[p.targetType," ",p.targetId]})}),o.jsx(ge.Cell,{children:o.jsx(bg,{variant:Wcs[m]??"neutral",withDot:!0,children:m})}),o.jsx(ge.TextCell,{className:"text-center",children:b}),o.jsx(ge.TextCell,{className:"text-center",children:o.jsxs("span",{className:g>0?"text-accent1":"",children:[g," (",x,"%)"]})}),o.jsx(ge.TextCell,{className:"text-center",children:o.jsx("span",{className:y>0?"text-accent2":"",children:y})}),o.jsx(ge.Cell,{className:"text-center",children:(()=>{const S=n?.get(p.id);if(!S)return o.jsx("span",{className:"text-neutral2",children:"—"});const k=S.needsReview+S.complete;return k===0?o.jsx("span",{className:"text-neutral2",children:"—"}):S.needsReview>0?o.jsxs(ea,{size:"small",color:"yellow",children:[S.needsReview," pending"]}):o.jsxs(ea,{size:"small",color:"green",children:[S.complete,"/",k," reviewed"]})})()}),o.jsx(ge.TextCell,{children:Hcs(p.createdAt)})]},p.id)})]})}const Gcs=[{value:"all",label:"All statuses"},{value:"completed",label:"Completed"},{value:"running",label:"Running"},{value:"failed",label:"Failed"},{value:"pending",label:"Pending"}];function Qcs(e){return[{value:"all",label:"All datasets"},...(e??[]).map(t=>({value:t.id,label:t.name}))]}const kz={completed:"#22c55e",running:"#facc15",pending:"#fb923c",failed:"#f87171"},Ycs=[{label:"Completed",color:kz.completed},{label:"Running",color:kz.running},{label:"Pending",color:kz.pending},{label:"Failed",color:kz.failed}];function Kcs({experiments:e,datasets:t,isLoading:n,isError:r}){const{data:s,maxVal:a}=v.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(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Experiments by Dataset",description:"Experiment status breakdown per dataset."}),i&&o.jsx(Wt.Summary,{value:String(e?.length??0),label:"Total experiments"})]}),n?o.jsx(Wt.Loading,{}):r?o.jsx(Wt.Error,{message:"Failed to load experiments data"}):o.jsx(Wt.Content,{children:i?o.jsx(TN,{data:s,segments:Ycs,maxVal:a,fmt:l=>String(l)}):o.jsx(Wt.NoData,{message:"No experiments have been run yet"})})]})}const Xcs=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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.jsx("div",{className:"flex flex-col items-center gap-2",children:o.jsxs(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/datasets/running-experiments",target:"_blank",rel:"noopener noreferrer",children:["Experiments Documentation ",o.jsx(_a,{})]})})})});function Jcs({search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:i,onReset:l,hasActiveFilters:c}){return o.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[o.jsx(Lf,{label:"Search experiments",placeholder:"Filter by experiment, dataset, or target",value:e,onSearch:t}),o.jsxs(Mr,{children:[o.jsx(Cc,{label:"Status",labelIsHidden:!0,name:"filter-status",options:[...Gcs],value:n,onValueChange:r,className:"whitespace-nowrap"}),o.jsx(Cc,{label:"Dataset",labelIsHidden:!0,name:"filter-dataset",options:i,value:s,onValueChange:a,className:"whitespace-nowrap"}),l&&c&&o.jsxs(ce,{onClick:l,size:"sm",variant:"default",children:[o.jsx(fs,{className:"size-3"})," Reset"]})]})]})}function eus(){const[e,t]=v.useState("all"),[n,r]=v.useState({}),{data:s,isLoading:a,error:i}=ah(),{data:l,isLoading:c,error:u}=zg(),{data:d,isLoading:f,error:p}=rQ(),{data:h,isLoading:m,isError:g,error:y}=CJr(n),{data:b,isLoading:x,isError:S,error:k}=XIe(),C=l?.datasets,_=d?.experiments,E=v.useMemo(()=>Ics(b),[b]),T=i||u||p||y||k;return T&&ws(T)?o.jsx(cr,{children:o.jsx(Zs,{})}):T&&Ss(T)?o.jsx(cr,{children:o.jsx($s,{resource:"evaluation"})}):T?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load evaluation data",message:T.message})}):o.jsxs(Bt,{width:"wide",height:"full",children:[o.jsx(Bt.TopArea,{children:o.jsx(Bt.Row,{children:o.jsx(Bt.Column,{children:o.jsx(A3,{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(Wbe,{children:o.jsx(Vcs,{scorers:s,datasets:C,experiments:_,avgScore:h?.avgScore??null,prevAvgScore:h?.prevAvgScore??null,totalNeedsReview:E.needsReview,isLoadingScorers:a,isLoadingDatasets:c,isLoadingExperiments:f,isLoadingScores:m,isLoadingReview:x})}),o.jsx(MXr,{summaryData:h?.summaryData??[],overTimeData:h?.overTimeData??[],scorerNames:h?.scorerNames??[],avgScore:h?.avgScore??null,isLoading:m,isError:g}),o.jsxs("div",{className:"grid grid-cols-1 gap-6 lg:grid-cols-2",children:[o.jsx(Aos,{experiments:_,isLoading:f,isError:!!p}),o.jsx(Kcs,{experiments:_,datasets:C,isLoading:f,isError:!!p})]}),o.jsx(jcs,{reviewSummary:b,experiments:_,datasets:C,isLoading:x,isError:!!S})]})]})}function tus(){const[e,t]=v.useState(""),[n,r]=v.useState("all"),[s,a]=v.useState("all"),{data:i,isLoading:l,error:c}=zg(),{data:u,isLoading:d,error:f}=rQ(),{data:p}=XIe(),h=v.useMemo(()=>i?.datasets??[],[i?.datasets]),m=v.useMemo(()=>u?.experiments??[],[u?.experiments]),g=v.useMemo(()=>Qcs(h),[h]),y=v.useMemo(()=>jBt(p),[p]),b=l||d,x=f||c;if(x&&ws(x))return o.jsx(cr,{children:o.jsx(Zs,{})});if(f&&Ss(f))return o.jsx(cr,{children:o.jsx($s,{resource:"experiments"})});if(c&&Ss(c))return o.jsx(cr,{children:o.jsx($s,{resource:"datasets"})});if(x)return o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load experiments",message:x.message})});if(m.length===0&&!b)return o.jsx(cr,{children:o.jsx(Xcs,{})});const S=n!=="all"||s!=="all"||e!=="",k=()=>{t(""),r("all"),a("all")};return o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx(Jcs,{search:e,onSearchChange:t,statusFilter:n,onStatusFilterChange:r,datasetFilter:s,onDatasetFilterChange:a,datasetOptions:g,onReset:k,hasActiveFilters:S})}),o.jsx(Zcs,{experiments:m,datasets:h,reviewByExperiment:y,isLoading:b,search:e,statusFilter:n,datasetFilter:s})]})}function Oz({children:e}){return o.jsxs(Bt,{height:"full",children:[o.jsx("div",{}),o.jsx(Bt.MainArea,{isCentered:!0,children:e})]})}function nus(){const{experimentId:e}=Sr(),{data:t,isLoading:n}=rQ(),s=t?.experiments?.find(h=>h.id===e)?.datasetId??"",{data:a,isLoading:i,error:l}=Aq(s,e??""),{data:c,isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p}=zG({datasetId:s,experimentId:e??"",experimentStatus:a?.status});return!e||n||i?null:l&&ws(l)?o.jsx(Oz,{children:o.jsx(Zs,{})}):l&&Ss(l)?o.jsx(Oz,{children:o.jsx($s,{resource:"datasets"})}):l&&KCe(l)||!n&&!s||!i&&!l&&!a?o.jsx(Oz,{children:o.jsx(Lr,{iconSlot:o.jsx(cxe,{}),titleSlot:"Experiment not found",descriptionSlot:`No experiment with id "${e}".`,actionSlot:o.jsxs(ce,{as:Fa,to:"/experiments",children:[o.jsx(Ac,{}),"Back to Experiments"]})})}):l?o.jsx(Oz,{children:o.jsx(Vi,{title:"Failed to load experiment",message:l instanceof Error?l.message:"An unexpected error occurred. Please try again."})}):o.jsxs(Bt,{height:"full",children:[o.jsx(NBt,{experiment:a}),o.jsx(Bt.MainArea,{children:o.jsx(TBt,{experimentId:e,datasetId:s,experimentStatus:a.status,results:c??[],isLoading:u,setEndOfListElement:d,isFetchingNextPage:f,hasNextPage:p})})]})}function rus({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 IBt({connections:e,isAdmin:t,disconnectPending:n,onDisconnect:r}){return o.jsx("ul",{className:"space-y-1",children:e.map(s=>o.jsx(rus,{connection:s,isAdmin:t,disconnectPending:n,onDisconnect:()=>r(s.connectionId)},s.connectionId))})}function sus({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(IBt,{connections:a,isAdmin:t,disconnectPending:n,onDisconnect:r})]},s))})}function aus({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(sus,{groups:r,isAdmin:s,disconnectPending:l,onDisconnect:u}):o.jsx(IBt,{connections:n,isAdmin:s,disconnectPending:l,onDisconnect:u}),c?o.jsx("p",{className:"text-red-600",children:String(c)}):null]})}function ius({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:g}){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:g,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 AJe=e=>e.authorId?.trim()||"shared",ous=(e,t)=>{if(!t||new Set(e.map(AJe)).size<=1)return null;const r=new Map;for(const a of e){const i=AJe(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},lus=["*","tool-providers:*","tool-providers:admin"];function cus(){const{data:e}=Cm();return e?.permissions?.some(t=>lus.includes(t))??!1}function uus(){const[e,t]=v.useState(""),[n,r]=v.useState(""),[s,a]=v.useState(""),i=RI(),l=uZ(e||null),c=X$t(e||null,n||null),u=K$t(),d=G$t(),f=cus(),p=i.data?.providers??[],h=l.data?.data??[],m=v.useMemo(()=>c.data?.items??[],[c.data?.items]),g=v.useMemo(()=>ous(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(ius,{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(aus,{providerId:e,toolkit:n,connections:m,groupedByAuthor:g,isAdmin:f,isLoading:c.isLoading,error:c.error,disconnectPending:d.isPending,disconnectError:d.error,onDisconnect:x})]})}function dus({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(Xh,{className:"h-10 w-10"}),o.jsx("h1",{className:"text-neutral6 text-xl font-semibold",children:e})]}),t,n,r]})})}function ABt({redirectUri:e,onSuccess:t,initialMode:n="signin",errorMessage:r}){const{data:s,isLoading:a}=oc(),{mutate:i,isPending:l,error:c}=rNr(),{mutate:u,isPending:d,error:f}=aNr(),{mutate:p,isPending:h}=g2t(),[m,g]=v.useState(n),[y,b]=v.useState(""),[x,S]=v.useState(""),[k,C]=v.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:_}=s,E=_.type==="sso"||_.type==="both",T=_.type==="credentials"||_.type==="both",N=_.sso,I=_.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=UG("/")},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}})},z=()=>{g(A?"signup":"signin")},U=_.description?o.jsxs("div",{className:"border-border1 bg-surface1 flex items-start gap-2.5 rounded-md border p-3",children:[o.jsx(Cf,{className:"text-neutral4 mt-0.5 h-4 w-4 shrink-0"}),o.jsx("p",{className:"text-neutral3 text-sm",children:_.description})]}):null,q=r?o.jsx("div",{className:"rounded-md bg-red-500/10 p-3 text-sm text-red-400",children:r}):null;return o.jsxs(dus,{title:A?"Sign in to Mastra Studio":"Create your account",description:U,errorBanner:q,children:[T&&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(_n,{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(_n,{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(_n,{id:"password",type:"password",value:k,onChange:M=>C(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(ce,{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:z,className:"text-neutral6 hover:underline",children:A?"Sign up":"Sign in"})]})]}),E&&T&&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"})})]}),E&&N&&o.jsxs(ce,{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 fus(){const[e]=ri(),t=Ws(),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(ABt,{redirectUri:n,onSuccess:i,initialMode:s,errorMessage:a})}function pus({collapsed:e,children:t}){return o.jsx("section",{className:X("flex flex-col overflow-hidden rounded-xl border border-border1 bg-surface2",e?"h-auto":"h-full"),children:t})}function hus({onClick:e,tooltip:t="Close panel",className:n}){return o.jsx(ce,{size:"md",onClick:e,"aria-label":"Close Panel",tooltip:t,className:n,children:o.jsx(Gu,{})})}function mus(){return oI({settings:{fontFamily:"var(--font-mono)",fontSize:"0.75rem",lineHighlight:"transparent",gutterBackground:"transparent",gutterForeground:"#939393",background:"transparent"},styles:[{tag:[pe.className,pe.propertyName]}]})}function gus(){const e=It.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=Bg.define([{tag:[pe.comment,pe.bracket],color:"var(--neutral2)"},{tag:[pe.string,pe.meta,pe.regexp],color:"var(--accent1)"},{tag:[pe.atom,pe.bool,pe.special(pe.variableName)],color:"var(--accent6)"},{tag:[pe.keyword,pe.operator,pe.tagName],color:"var(--accent2)"},{tag:[pe.function(pe.propertyName),pe.propertyName],color:"var(--accent5)"},{tag:[pe.definition(pe.variableName),pe.function(pe.variableName),pe.className,pe.attributeName],color:"var(--accent3)"},{tag:[pe.variableName,pe.number],color:"var(--accent5)"},{tag:[pe.name,pe.quote],color:"var(--accent1)"}]);return[e,G1(t)]}const vus=()=>{const e=L_().resolvedTheme==="dark";return v.useMemo(()=>e?mus():gus(),[e])};function yus({codeStr:e="",title:t,icon:n,simplified:r=!1,className:s}){const a=vus(),[i,l]=v.useState(!1),c=v.useMemo(()=>{try{const f=JSON.parse(e);return Zbe(f||"")}catch{return!1}},[e]),u=i?e?.replace(/\\n/g,`
617
617
  `):e,d=r||i;return!e||e==="null"?null:o.jsxs("div",{className:X("flex flex-col gap-2",s),children:[o.jsxs("div",{className:"flex items-center justify-between",children:[o.jsxs("div",{className:X("flex items-center gap-1.5 text-ui-xs tracking-widest text-neutral2 uppercase","[&>svg]:size-3.5"),children:[n,t]}),o.jsxs(Mr,{children:[o.jsx(Pa,{content:e||"No content",size:"sm"}),c&&o.jsx(ce,{size:"sm","aria-label":i?"Show escaped newlines":"Show multiline text",onClick:()=>l(f=>!f),children:i?o.jsx(E$,{}):o.jsx(h7,{})})]})]}),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(Yu,{extensions:[Aj(),It.lineWrapping],theme:a,value:e,editable:!1})})]})}function Zbe(e){if(typeof e=="string"){const t=e.indexOf(`
618
- `);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Zbe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Zbe(t))}return!1}function bus({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function xus({className:e,children:t}){return o.jsx("div",{className:X("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function wus({className:e,children:t}){return o.jsx("h3",{className:X("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function Sus({className:e,children:t}){return o.jsx("dl",{className:X("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function kus({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function Ous({className:e,children:t}){return o.jsx("dd",{className:X("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function _us({className:e,children:t}){return o.jsx("dt",{className:X("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const Cus=Object.assign(Sus,{Key:kus,Value:Ous,Header:_us});function Eus({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(Jt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function Tus({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const zi=Object.assign(pus,{Header:xus,Heading:wus,CloseButton:hus,LoadingData:Eus,NoData:Tus,Content:bus,KeyValueList:Cus,CodeSection:yus}),up=zi.KeyValueList;function jus(e){return e instanceof Date?e:new Date(e)}function Nus({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=v.useState(!1),d=i??c,f=l??u,p=jus(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(zi,{collapsed:d,children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Log ",o.jsx("b",{children:rr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[l&&o.jsx(ce,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(GV,{}):o.jsx(Gwe,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(ce,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(ZV,{})}),o.jsx(ce,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(YD,{})})]}),o.jsx(zi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(zi.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:X("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(m7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Pa,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(m7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Pa,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(up,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Entity Type"}),o.jsx(up.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Entity Name"}),o.jsx(up.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Service"}),o.jsx(up.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Environment"}),o.jsx(up.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Source"}),o.jsx(up.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([g,y])=>o.jsxs(v.Fragment,{children:[o.jsx(up.Key,{children:g}),o.jsx(up.Value,{children:String(y)})]},g))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(zi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function Ius({error:e,resource:t,errorTitle:n}){if(ws(e))return o.jsx(Zs,{});if(Ss(e))return o.jsx($s,{resource:t});if(s4(e))return o.jsx(Lr,{iconSlot:o.jsx(g7,{}),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(r4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(g7,{}),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(Vi,{title:n,message:r??"Unknown error"})}function Aus({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:X("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:X("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 Rus={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 Pus({level:e}){const t=Rus[e];return o.jsx(jo,{height:"compact",children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function $us({entityType:e,className:t}){const n=X("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(qo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(Ju,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Ld,{className:n,"aria-hidden":!0});default:return null}}function Mus({entityType:e,entityName:t}){const n=e??"";return o.jsxs(jo,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx($us,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function Dus({message:e}){return o.jsx(jo,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function Lus({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(jo,{height:"compact",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(BEe,{children:t})}const Zl=Object.assign(p4,{Top:vZ,TopCell:rC,TopCellWithTooltip:yZ,TopCellSmart:FMt,RowWrapper:HEe,RowButton:h4,RowLink:LMt,Spacer:WEe,NoMatch:gZ,DateCell:UEe,TimeCell:qEe,LevelCell:Pus,EntityCell:Mus,MessageCell:Dus,DataCell:Lus,NextPageLoading:mZ}),RJe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",Fus=36,zus=8;function Bus({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=uBt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>Fus,overscan:zus}),d=v.useRef(t);if(v.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(il,{columns:RJe});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(Zl,{columns:RJe,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:h}),f.map(g=>{const y=e[g.index];if(!y)return null;const b=a.get(y);if(!b)return null;const x=b===i;return o.jsxs(Zl.RowButton,{ref:u.measureElement,"data-index":g.index,onClick:()=>l(y),featured:x,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(Zl.DateCell,{timestamp:y.timestamp}),o.jsx(Zl.TimeCell,{timestamp:y.timestamp}),o.jsx(Zl.LevelCell,{level:y.level}),o.jsx(Zl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Zl.MessageCell,{message:y.message}),o.jsx(Zl.DataCell,{data:y.data})]},b)}),o.jsx(Zl.Spacer,{height:m})]}),o.jsx(Zl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function Uus({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=>qus(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(NIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(TIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function qus(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 Vus={"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"},Zae="MMM d, yyyy HH:mm",Gae="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Hus({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${Vus[e]}`,description:Gae}:t&&n?{title:`No logs between ${rr(t,Zae)} and ${rr(n,Zae)}`,description:Gae}:t?{title:`No logs since ${rr(t,Zae)}`,description:Gae}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Wus=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Hus({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(g7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Qwe,{})]})})})},Zus=20,Gus=1e4;function Qus(e,t,n){if(e?.pagination?.hasMore)return n+1}function Yus(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 Kus(e){return r4(e.state.error,"logs")||s4(e.state.error)?!1:Gus}const Xus=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=q_(),s=U1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Zus},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Qus,select:Yus,retry:!1,refetchInterval:Kus}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return v.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}},_z={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},RBt=[{label:"Agent",entityType:_z.AGENT},{label:"Workflow",entityType:_z.WORKFLOW},{label:"Scorer",entityType:_z.SCORER},{label:"Ingest",entityType:_z.INGEST}],Jus=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],qx="rootEntityType",Qb="datePreset",Yb="dateFrom",Kb="dateTo",eds=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),jl={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"},dL=Object.keys(jl),JIe=new Set(["tags"]),eAe="mastra:logs:saved-filters";function tds(e,t=eAe){const n=ids(e),r=e.get(Qb);r&&n.set(Qb,r);const s=e.get(Yb);s&&n.set(Yb,s);const a=e.get(Kb);a&&n.set(Kb,a);try{localStorage.setItem(t,n.toString())}catch{}}function nds(e=eAe){try{localStorage.removeItem(e)}catch{}}function PJe(e=eAe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function rds(e){if(e.has(Qb)||e.has(Yb)||e.has(Kb)||e.has(qx))return!0;for(const t of dL)if(e.has(jl[t]))return!0;return!1}function sds({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:RBt.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:Jus.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 ads(e){const t=[],n=new Map([[qx,"rootEntityType"]]);for(const s of dL)n.set(jl[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),JIe.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 ids(e){const t=new URLSearchParams,n=e.get(qx);n&&t.set(qx,n);for(const r of dL){const s=jl[r];if(JIe.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 ods(e,t){e.delete(qx);for(const n of dL)e.delete(jl[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(qx,n.value);continue}const r=jl[n.fieldId];if(r){if(JIe.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 lds({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 cds(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 uds="Filters setting for Logs saved",dds="Filters setting for Logs cleared up";function fds(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>PJe(r)!==null),c=v.useCallback(()=>{tds(e,r),l(!0);const f=s?.saved??uds;f!==!1&&De.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{nds(r),l(!1);const f=s?.cleared??dds;f!==!1&&De.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,rds(e)))return;const f=PJe(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,g]of f)h.append(m,g);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function pds(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 hds(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,pds(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function mds(e,t,n,r){const s=v.useMemo(()=>hds(e),[e]),a=v.useMemo(()=>{const h=new Map;for(const[m,g]of e.entries()){const y=s.get(g);y&&h.set(y,{log:g,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=v.useCallback(h=>s.get(h),[s]),d=v.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 Gbe="logId",Qbe="traceId",Ybe="spanId",aP=1440*60*1e3,gds={"last-24h":aP,"last-3d":3*aP,"last-7d":7*aP,"last-14d":14*aP,"last-30d":30*aP};function Cz(e){e.delete(Gbe),e.delete(Qbe),e.delete(Ybe)}function vds(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const C=e.get(Qb);return C&&eds.has(C)?C:"last-24h"},[e]),a=e.get(Yb),i=e.get(Kb),l=v.useMemo(()=>{if(s==="custom"){if(!a)return;const _=new Date(a);return Number.isNaN(_.getTime())?void 0:_}if(s==="all")return;const C=gds[s];return C?new Date(Date.now()-C):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const C=new Date(i);return Number.isNaN(C.getTime())?void 0:C},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(Gbe),f=e.get(Qbe),p=e.get(Ybe),h=v.useMemo(()=>RBt.find(C=>C.entityType===e.get(qx)),[e]),m=v.useMemo(()=>ads(e),[e]),g=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);for(const[T,N]of Object.entries(C)){const I=T==="logId"?Gbe:T==="traceId"?Qbe:Ybe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);return ods(E,C),Cz(E),E},{replace:!0})},[t]),b=y,x=v.useCallback((C,_)=>{if(u.current!=="custom")return;const E=_==="from"?Yb:Kb;t(T=>{const N=new URLSearchParams(T);return C?N.set(E,C.toISOString()):N.delete(E),Cz(N),N},{replace:!0})},[t]),S=v.useCallback(C=>{u.current=C,t(_=>{const E=new URLSearchParams(_);return C==="last-24h"?(E.delete(Qb),E.delete(Yb),E.delete(Kb)):C==="custom"?E.set(Qb,"custom"):(E.set(Qb,C),E.delete(Yb),E.delete(Kb)),Cz(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(C=>{const _=new URLSearchParams(C);_.delete(qx);for(const E of dL)_.delete(jl[E]);return _.delete(Qb),_.delete(Yb),_.delete(Kb),Cz(_),_},{replace:!0}),r?.()},[t,r]);return v.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:g,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,x,S,k,y])}const Sb=zi.KeyValueList;function yds({spanId:e,span:t,isLoading:n,onClose:r}){const s=AIe(t?.startedAt,t?.endedAt);return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading span..."}):t?o.jsxs(zi.Content,{children:[o.jsxs(Sb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Type"}),o.jsx(Sb.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Started"}),o.jsx(Sb.Value,{children:rr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Ended"}),o.jsx(Sb.Value,{children:rr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Duration"}),o.jsx(Sb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(zi.CodeSection,{title:"Input",icon:o.jsx(Rhe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(zi.CodeSection,{title:"Output",icon:o.jsx(Phe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(zi.CodeSection,{title:"Metadata",icon:o.jsx(Sw,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(zi.CodeSection,{title:"Attributes",icon:o.jsx(Sw,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(zi.NoData,{children:"Span not found."})]})}function bds({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=v.useMemo(()=>$Ie(t??[]),[t]),[l,c]=v.useState([]);v.useEffect(()=>{i.length>0&&c(PIe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(zi.NoData,{children:"No spans found for this trace."}):o.jsx(zi.Content,{children:o.jsx(oBt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function xds(){const[e,t]=ri(),n=vds(e,t),r=fds(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=UIe(),{data:d=[],isPending:f}=FIe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=zIe(),{data:m=[],isPending:g}=BIe(),y=v.useMemo(()=>sds({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:g,environments:h}}),[c,d,m,p,u,f,g,h]),b=v.useMemo(()=>lds({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:C,hasNextPage:_,setEndOfListElement:E}=Xus({filters:b}),{logIdMap:T,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=mds(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=qIe(n.featuredTraceId??null),{data:F,isLoading:H}=uL(n.featuredTraceId??"",n.featuredSpanId??""),z=v.useCallback(()=>n.applyFilterTokens(cds(y,n.filterTokens)),[y,n]),U=v.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),q=v.useCallback(K=>n.handleFeaturedChange({traceId:K,spanId:null}),[n]),M=v.useCallback((K,ne)=>n.handleFeaturedChange({traceId:K,spanId:ne}),[n]),G=v.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),V=v.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=v.useCallback(K=>n.handleFeaturedChange({spanId:K??null}),[n]),B=o.jsxs(Bt.TopArea,{children:[o.jsx(Bt.Row,{children:o.jsxs(Bt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(A3,{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(IIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(Uus,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:z,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Bt,{width:"wide",height:"full",children:[B,o.jsx(Bt.MainArea,{isCentered:!0,children:o.jsx(Ius,{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(Bt,{width:"wide",height:"full",children:[B,o.jsx(Bt.MainArea,{isCentered:!0,children:o.jsx(Wus,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Bt,{width:"wide",height:"full",children:[B,o.jsx(Aus,{logCollapsed:i,listSlot:o.jsx(Bus,{logs:x,isLoading:S,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E,logIdMap:T,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(Nus,{log:N,onClose:U,onTraceClick:q,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(bds,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(yds,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:V}):null})]})}function wds({server:e}){const{paths:t,Link:n}=bn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=M8t(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=Hh(e.name,50);return o.jsxs(ge.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(ge.NameCell,{children:f}),o.jsx(ge.DescriptionCell,{children:a}),o.jsx(ge.TextCell,{className:"text-center",children:u||""}),o.jsx(ge.TextCell,{className:"text-center",children:c||""}),o.jsx(ge.TextCell,{className:"text-center",children:d||""})]})}function Sds({mcpServers:e,isLoading:t,search:n=""}){const r=v.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(il,{columns:"auto 1fr auto auto auto"}):o.jsxs(ge,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"URL"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Tools",short:o.jsx(Ld,{}),tooltip:"Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Workflows",short:o.jsx(Ju,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(ge.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(wds,{server:s},s.id))]})}const kds=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(_a,{})]})})}),Ods=()=>{const{data:e=[],isLoading:t,error:n}=RG(),[r,s]=v.useState("");return n&&ws(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"MCP servers"})}):n?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(cr,{children:o.jsx(kds,{})}):o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Lf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(Sds,{mcpServers:e,isLoading:t,search:r})]})},_ds=(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 Cds({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=bn(),i=v.useMemo(()=>_ds(e,t),[e,t]),l=v.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(il,{columns:"auto 1fr auto"}):o.jsxs(ge,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"Description"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(ge.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=Hh(c.id,50),d=Hh(c.description??"",200),f=c.agents.length;return o.jsxs(ge.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(ge.NameCell,{children:u}),o.jsx(ge.DescriptionCell,{children:d}),o.jsx(ge.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const Eds=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(_a,{})]})})}),Tds=()=>{const e=We();return Dn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new k_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw De.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},jds=({toolId:e})=>{const{canExecute:t}=Wo(),n=t("tools"),{data:r={}}=Em(),s=v.useMemo(()=>{for(const g of Object.values(r))if(g.tools){const y=Object.values(g.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=mjr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=Tds(),{requestContext:p}=ps();v.useEffect(()=>{if(l){const g=l instanceof Error?l.message:"Failed to load tool";De.error(`Error loading tool: ${g}`)}},[l]);const h=async(g,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:g,requestContext:b})},m=c?.inputSchema?um(Ox(c?.inputSchema)):vs({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(kt,{className:"mb-4 h-8 w-48"}),o.jsx(kt,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(aIe,{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(ye,{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(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function Nds({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}=II(),{data:p={},isLoading:h,isError:m,error:g}=Em(),{navigate:y,paths:b}=bn();v.useEffect(()=>{if(d){const C=f instanceof Error?f.message:"Failed to load tools";De.error(`Error loading tools: ${C}`)}},[d,f]),v.useEffect(()=>{if(m){const C=g instanceof Error?g.message:"Failed to load agents";De.error(`Error loading agents: ${C}`)}},[m,g]);const x=new Map;Object.values(p).forEach(C=>{C.tools&&Object.values(C.tools).forEach(_=>{x.has(_.id)||x.set(_.id,_)})}),Object.values(c).forEach(C=>{x.has(C.id)||x.set(C.id,C)});const S=Array.from(x.values()).map(C=>({label:C.id,value:C.id})),k=C=>{t?t(C):C&&C!==e&&y(b.toolLink(C))};return o.jsx(Ll,{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 Ids=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=v.useState({sseUrl:"",httpStreamUrl:""});if(v.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(Sy,{children:o.jsx(ye,{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(Sy,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ye,{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(on,{icon:o.jsx(sBt,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(on,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ye,{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(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(Ads,{server:t})})]})},Ads=({server:e})=>{const{data:t={},isLoading:n}=M8t(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(qe,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(fC,{})}),o.jsx(ye,{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(Pds,{tool:a,serverId:e.id},s)})})]})};function Rds(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 Pds=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=bn(),a=l9t[e.toolType||"tool"],i=Rds(e._meta);return o.jsxs(zf,{onClick:()=>n.current?.click(),children:[o.jsx(Y$t,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Uf,{children:[o.jsx(Bf,{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(on,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(eh,{children:e.description})]})]})},$ds=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=RG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(Ids,{isLoading:n,server:r})})};function Mds(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 Dds=({toolId:e,serverId:t})=>{const{canExecute:n}=Wo(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=XNe(t,e),{mutateAsync:c,isPending:u,data:d}=EYr(t,e),f=a?Mds(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=v.useCallback(async(y,b)=>await c(b),[c]);v.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";De.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(kt,{className:"mb-4 h-8 w-48"}),o.jsx(kt,{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(ye,{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(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let g;try{g=um(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),De.error("Failed to process tool input schema."),g=vs({})}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($8t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(aIe,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},Lds=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=XNe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(Dds,{toolId:t,serverId:e})})},PBt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],jN="rootEntityType",NN={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"},sQ=Object.keys(NN),tAe="mastra:metrics:saved-filters";function Fds(e){const t=Vds(e);try{localStorage.setItem(tAe,t.toString())}catch{}}function zds(){try{localStorage.removeItem(tAe)}catch{}}function $Bt(){try{const e=localStorage.getItem(tAe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function Bds(e){if(e.has(jN))return!0;for(const t of sQ)if(e.has(NN[t]))return!0;return!1}function Uds({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:PBt.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 qds(e){const t=[],n=new Map([[jN,"rootEntityType"]]);for(const s of sQ)n.set(NN[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 Vds(e){const t=new URLSearchParams,n=e.getAll(jN);for(const r of n)t.append(jN,r);for(const r of sQ){const s=NN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Hds(e,t){e.delete(jN);for(const n of sQ)e.delete(NN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?jN:NN[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 Wds="Any";function $Je(e){const t=e.trim();return t===""||t===Wds}const Zds=new Set(PBt.map(e=>e.entityType));function MJe(e){const t=e.trim();return Zds.has(t)?t:void 0}function Gds(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=>!$Je(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?MJe(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if($Je(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=MJe(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const MBt=[{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"}],Qds=new Set(MBt.map(e=>e.value));function Yds(e){return typeof e=="string"&&(Qds.has(e)||e==="custom")}const DBt=v.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function aQ(){return v.useContext(DBt)}function Kds(e,t){return e!=="custom"?MBt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${rr(t.from,"MMM d, yyyy")} – ${rr(t.to,"MMM d, yyyy")}`:rr(t.from,"MMM d, yyyy"):"Custom range"}function Xds({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=v.useMemo(()=>JSON.stringify(n),[n]),d=v.useMemo(()=>n,[u]),f=v.useMemo(()=>Gds(d),[d]),p=v.useMemo(()=>JSON.stringify(f),[f]),h=Kds(t,a),m=v.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(DBt.Provider,{value:m,children:e})}const Jds=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function efs(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 tfs(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 nfs(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=aQ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(A3,{preset:efs(e),onPresetChange:i=>{const l=tfs(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:Jds})}const Kbe=1440*60*1e3,rfs={"24h":Kbe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function sfs(e,t,n){if(e!=="custom"){const r=rfs[e]??Kbe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Kbe),end:t?.to??new Date(n)}}function Im(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=aQ(),s=v.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=v.useMemo(()=>sfs(e,t,i),[e,t,i]),c=v.useMemo(()=>({timestamp:l,...n}),[l,r]),u=v.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function LBt(){const e=We(),{filters:t,filterKey:n}=Im();return yt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function fL({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(ijn,{})})}function afs({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(zjn,{})})}const ifs=[{dataKey:"p50",label:"p50",color:Fp.blue,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p50,0)/e.length)}`:"0",suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:Fp.yellow,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p95,0)/e.length)}`:"0",suffix:"avg ms"})}];function ofs(e){return e==="agents"||e==="workflows"||e==="tools"}function Qae({data:e,onPointClick:t}){return e.length===0?o.jsx(Wt.NoData,{message:"No latency data yet"}):o.jsx(Nq,{data:e,series:ifs,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function lfs({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]=v.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),g=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=g.length>0?`${Math.round(g.reduce((b,x)=>b+x,0)/g.length)}ms`:"—";return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Wt.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Wt.Actions,{children:h}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load latency data"}):o.jsx(Wt.Content,{children:m?o.jsxs(pc,{value:p,onValueChange:b=>{ofs(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(jr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(jr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Kr,{value:"agents",children:o.jsx(Qae,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Kr,{value:"workflows",children:o.jsx(Qae,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Kr,{value:"tools",children:o.jsx(Qae,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Wt.NoData,{message:"No latency data yet"})})]})}function cfs(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 ufs(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 FBt(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=cfs(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function zBt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function DJe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Nw,"branches"),FBt(a,Iw,Aw,Rw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Bx,i),r.status&&a.set(Ux,r.status),$o(a,Tl.entityName,r.entityName??n.entityName),$o(a,Tl.threadId,r.threadId??n.threadId),$o(a,Tl.resourceId,r.resourceId??n.resourceId),$o(a,Tl.entityId,n.entityId),$o(a,Tl.runId,n.runId),$o(a,Tl.sessionId,n.sessionId),$o(a,Tl.requestId,n.requestId),$o(a,Tl.userId,n.userId),$o(a,Tl.organizationId,n.organizationId),$o(a,Tl.experimentId,n.experimentId),$o(a,Tl.serviceName,n.serviceName),$o(a,Tl.environment,n.environment),zBt(a,Tl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function dfs({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;FBt(a,Qb,Yb,Kb,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(qx,i),$o(a,jl.entityName,r.entityName??n.entityName),$o(a,jl.threadId,r.threadId??n.threadId),$o(a,jl.resourceId,r.resourceId??n.resourceId),$o(a,jl.runId,n.runId),$o(a,jl.sessionId,n.sessionId),$o(a,jl.requestId,n.requestId),$o(a,jl.userId,n.userId),$o(a,jl.organizationId,n.organizationId),$o(a,jl.experimentId,n.experimentId),$o(a,jl.serviceName,n.serviceName),$o(a,jl.environment,n.environment),zBt(a,jl.tags,n.tags),r.status==="error"&&a.append(jl.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function YI(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=aQ(),a=v.useCallback((c={})=>DJe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>dfs({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=ufs(u,d);return DJe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const BBt="1h";async function Yae(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:BBt,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 ffs(){const e=We(),{filters:t,filterKey:n}=Im();return yt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Yae(e,"mastra_agent_duration_ms",t),Yae(e,"mastra_workflow_duration_ms",t),Yae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:BBt}}})}const LJe={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function pfs(){const{data:e,isLoading:t,isError:n}=ffs(),{getTracesHref:r,getBucketTracesHref:s}=YI(),{Link:a}=bn(),i=Ws();return o.jsx(lfs,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:LJe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(fL,{href:r({rootEntityType:LJe[l]}),LinkComponent:a})})}function hfs(e){return e==="threads"||e==="resources"}function Kae(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function mfs({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=typeof s=="function"?s(i):s;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Wt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Wt.Summary,{value:h.toLocaleString(),label:"Total threads"}),g?o.jsx(Wt.Actions,{children:g}):null]}),m.isLoading?o.jsx(Wt.Loading,{}):m.isError?o.jsx(Wt.Error,{message:"Failed to load memory data"}):o.jsx(Wt.Content,{children:o.jsxs(pc,{defaultTab:"threads",value:i,onValueChange:y=>{hfs(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"threads",children:"Threads"}),o.jsx(jr,{value:"resources",children:"Resources"})]}),o.jsx(Kr,{value:"threads",children:d?o.jsxs(ge,{columns:"auto auto auto auto auto",...Ube,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Kae(y.threadId)}),o.jsx(ge.NumberCell,{children:y.resourceId?Kae(y.resourceId):"—"}),o.jsx(ge.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?Pl(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?em(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Wt.NoData,{message:"No thread activity yet"})}),o.jsx(Kr,{value:"resources",children:f?o.jsxs(ge,{columns:"auto auto auto auto",...Ube,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Kae(y.resourceId)}),o.jsx(ge.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?Pl(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?em(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Wt.NoData,{message:"No resource activity yet"})})]})})]})}const Xae=20;function gfs(){const e=We(),{filters:t,filterKey:n}=Im();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:Xae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Xae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Xae})]),l=new Map,c=d=>QI(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 Jae=20;function vfs(){const e=We(),{filters:t,filterKey:n}=Im();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:Jae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Jae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Jae})]),l=new Map,c=d=>QI(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 yfs(){const e=gfs(),t=vfs(),{getTracesHref:n}=YI(),{Link:r}=bn();return o.jsx(mfs,{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 pL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:e}),o.jsx(Jr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Jr.Error,{}):s?o.jsx(Jr.Loading,{}):i?r!=null?o.jsx(Jr.Change,{changePct:r,prevValue:n}):o.jsx(Jr.NoChange,{}):o.jsx(Jr.NoData,{})]})}function bfs(){const e=We(),{filters:t,filterKey:n}=Im();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 xfs(){const e=We(),{filters:t,filterKey:n}=Im();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 wfs(){const e=We(),{filters:t,filterKey:n}=Im();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 Sfs(){const e=We(),{filters:t,filterKey:n}=Im();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 kfs(){const{data:e,isLoading:t,isError:n}=LBt();return o.jsx(pL,{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 Ofs(){const{data:e,isLoading:t,isError:n}=wfs();return o.jsx(pL,{label:"Total Model Cost",value:e?.cost!=null?em(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?em(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function _fs(){const{data:e,isLoading:t,isError:n}=Sfs();return o.jsx(pL,{label:"Total Tokens",value:e?.value!=null?Pl(e.value):null,prevValue:e?.previousValue!=null?Pl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Cfs(){const{data:e,isLoading:t,isError:n}=xfs();return o.jsx(pL,{label:"Total Threads",value:e?.value!=null?Pl(e.value):null,prevValue:e?.previousValue!=null?Pl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Efs(){const{data:e,isLoading:t,isError:n}=bfs();return o.jsx(pL,{label:"Total Resources",value:e?.value!=null?Pl(e.value):null,prevValue:e?.previousValue!=null?Pl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Tfs({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=>jfs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(NIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(TIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function jfs(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 Nfs({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.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?em(l):"—":c.size===1?u=l>0?em(l,[...c][0]):"—":u="Mixed",o.jsx(Wt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Wt.Actions,{children:s}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load model usage data"}):o.jsx(Wt.Content,{children:i?o.jsxs(ge,{columns:"auto auto auto auto auto auto",...Ube,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Model"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(ge.NumberCell,{children:l.input}),o.jsx(ge.NumberCell,{children:l.output}),o.jsx(ge.NumberCell,{children:l.cacheRead}),o.jsx(ge.NumberCell,{children:l.cacheWrite}),o.jsx(ge.NumberCell,{highlight:!0,children:l.cost!=null?em(l.cost,l.costUnit):"—"})]});return c?o.jsx(ge.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(ge.RowStatic,{children:u},l.model)})]}):o.jsx(Wt.NoData,{message:"No model usage data yet"})})]})}function Ifs(){const e=We(),{filters:t,filterKey:n}=Im();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=>QI(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:Pl(f.input),output:Pl(f.output),cacheRead:Pl(f.cacheRead),cacheWrite:Pl(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function Afs(){const{data:e,isLoading:t,isError:n}=Ifs(),{getTracesHref:r}=YI(),{Link:s}=bn();return o.jsx(Nfs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:lu.AGENT}),actions:o.jsx(fL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function Rfs(e){return e==="tokens"||e==="cost"}function Pfs({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&g>0;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Wt.Summary,{value:em(g,m),label:"Total cost"}):o.jsx(Wt.Summary,{value:Pl(d),label:"Total tokens"})),u&&s?o.jsx(Wt.Actions,{children:s}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load token usage data"}):o.jsx(Wt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:i,onValueChange:b=>{Rfs(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Kr,{value:"tokens",children:o.jsx(TN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Fp.blueDark},{label:"Output",color:Fp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:Pl})}),o.jsx(Kr,{value:"cost",children:y?o.jsx(TN,{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:Fp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>em(b,m)}):o.jsx(Wt.NoData,{message:"No cost data yet"})})]}):o.jsx(Wt.NoData,{message:"No token usage data yet"})})]})}function $fs(){const e=We(),{filters:t,filterKey:n}=Im();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=>QI(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 Mfs(){const{data:e,isLoading:t,isError:n}=$fs(),{getTracesHref:r}=YI(),{Link:s}=bn();return o.jsx(Pfs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:lu.AGENT,entityName:a.name}),actions:o.jsx(fL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function Xbe(e,t=Pl){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const Dfs=[{dataKey:"input",label:"Input tokens",color:Fp.blue,aggregate:Xbe("input")},{dataKey:"output",label:"Output tokens",color:Fp.yellow,aggregate:Xbe("output")}];function Lfs(e){return e==="tokens"||e==="cost"}function Ffs({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=v.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,C)=>k+C.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),g=m?[...h][0]??null:null,y=m?f.reduce((k,C)=>k+(C.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:Fp.purple,aggregate:Xbe("cost",k=>em(k,g))}];return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Wt.Summary,{value:em(y,g),label:"Total cost"}):o.jsx(Wt.Summary,{value:Pl(d),label:"Total tokens"})),u&&s?o.jsx(Wt.Actions,{children:s}):null]}),n?o.jsx(Wt.Loading,{}):r?o.jsx(Wt.Error,{message:"Failed to load token usage timeline"}):o.jsx(Wt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:a,onValueChange:k=>{Lfs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Kr,{value:"tokens",children:o.jsx(Nq,{data:c,series:Dfs})}),o.jsx(Kr,{value:"cost",children:b?o.jsx(Nq,{data:p,series:S}):o.jsx(Wt.NoData,{message:"No cost data yet"})})]}):o.jsx(Wt.NoData,{message:"No token usage data yet"})})]})}function zfs(e){return e==="24h"?"1h":"1d"}function Bfs(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 FJe(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 Ufs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function qfs(){const e=We(),{datePreset:t,filters:n,filterKey:r}=Im(),s=zfs(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 FJe(l,a.series[0],"input"),FJe(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:Bfs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:Ufs(u)}}),interval:s}}})}function Vfs(){const{data:e,isLoading:t,isError:n}=qfs(),{getTracesHref:r}=YI(),{Link:s}=bn();return o.jsx(Ffs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(fL,{href:r(),LinkComponent:s})})}function eie({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(TN,{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:Fp.blueDark},{label:"Errors",color:Fp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:Pl})}function Hfs({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=v.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,g)=>m+g.completed+g.errors,0):0,p=m=>r?g=>r(m,g):void 0,h=m=>s?g=>s(m,g):void 0;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Wt.Summary,{value:Pl(f),label:"Total runs"}),u?o.jsx(Wt.Actions,{children:u}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load trace volume data"}):o.jsx(Wt.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(jr,{value:"agents",children:"Agents"}),o.jsx(jr,{value:"workflows",children:"Workflows"}),o.jsx(jr,{value:"tools",children:"Tools"})]}),o.jsx(Kr,{value:"agents",children:e.agentData.length>0?o.jsx(eie,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Wt.NoData,{message:"No agent data yet"})}),o.jsx(Kr,{value:"workflows",children:e.workflowData.length>0?o.jsx(eie,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Wt.NoData,{message:"No workflow data yet"})}),o.jsx(Kr,{value:"tools",children:e.toolData.length>0?o.jsx(eie,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Wt.NoData,{message:"No tool data yet"})})]}):o.jsx(Wt.NoData,{message:"No trace volume data yet"})})]})}async function tie(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=QI(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 Wfs(){const e=We(),{filters:t,filterKey:n}=Im();return yt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([tie(e,"mastra_agent_duration_ms",t),tie(e,"mastra_workflow_duration_ms",t),tie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Ez={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function Zfs(){const{data:e,isLoading:t,isError:n}=Wfs(),{getTracesHref:r,getLogsHref:s}=YI(),{Link:a}=bn();return o.jsx(Hfs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Ez[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Ez[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(fL,{href:r({rootEntityType:Ez[i]}),LinkComponent:a}),o.jsx(afs,{href:s({rootEntityType:Ez[i],status:"error"}),LinkComponent:a})]})})}const nie="period",Tz="dateFrom",jz="dateTo";function Gfs(){const[e,t]=ri(),n=e.get(nie),r=Yds(n)?n:"24h",s=v.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(Tz)),p=d(e.get(jz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>qds(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(nie):p.set(nie,d),d!=="custom"&&(p.delete(Tz),p.delete(jz)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Tz,d.from.toISOString()):p.delete(Tz),d?.to?p.set(jz,d.to.toISOString()):p.delete(jz),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Hds(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,Bds(e)))return;const d=$Bt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Xds,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(Qfs,{})})}function Qfs(){const[e]=ri(),{error:t,isLoading:n}=LBt(),{filterTokens:r,setFilterTokens:s}=aQ(),[a,i]=v.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=fBt(),{data:d,isLoading:f}=UIe(),{data:p,isLoading:h}=FIe(),{data:m,isLoading:g}=BIe(),{data:y,isLoading:b}=zIe(),x=v.useMemo(()=>Uds({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:g,environments:b}}),[d,p,m,y,f,h,g,b]),[S,k]=v.useState(()=>$Bt()!==null),C=v.useCallback(()=>{Fds(e),k(!0),De.success("Filters setting for Metrics saved")},[e]),_=v.useCallback(()=>{zds(),k(!1),De.success("Filters setting for Metrics cleared up")},[]),E=v.useCallback(()=>{s([])},[s]),T=v.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&&ws(t)?o.jsx(cr,{children:o.jsx(Zs,{})}):t&&Ss(t)?o.jsx(cr,{children:o.jsx($s,{resource:"metrics"})}):t?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Bt,{width:"wide",height:"full",children:[o.jsxs(Bt.TopArea,{children:[o.jsx(Bt.Row,{children:o.jsxs(Bt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(nfs,{}),o.jsx(IIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(Tfs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:T,onRemoveAll:E,onSave:C,onRemoveSaved:S?_:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Sn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Sn.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(Wbe,{children:[o.jsx(kfs,{}),o.jsx(Ofs,{}),o.jsx(_fs,{}),o.jsx(Cfs,{}),o.jsx(Efs,{})]}),o.jsxs(Wbe,{children:[o.jsx(Afs,{}),o.jsx(Mfs,{}),o.jsx(Vfs,{}),o.jsx(yfs,{}),o.jsx(Zfs,{}),o.jsx(pfs,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(_a,{})]})})})]})}const Yfs=50;function Kfs(){const{paths:e}=bn(),{isCmsAvailable:t}=sS(),[n,r]=v.useState(""),[s,a]=v.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=u9t({page:s,perPage:Yfs}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=v.useCallback(()=>{u||a(g=>g+1)},[u]),h=v.useCallback(()=>{u||a(g=>Math.max(0,g-1))},[u]),m=v.useCallback(g=>{r(g),a(0)},[]);return c&&ws(c)?o.jsx(cr,{children:o.jsx(Zs,{})}):c&&Ss(c)?o.jsx(cr,{children:o.jsx($s,{resource:"prompt blocks"})}):c?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(cr,{children:o.jsx(Pes,{})}):o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsxs(Bt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(ce,{as:Fa,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Wr,{}),"Create Prompt"]})]})}),o.jsx(Res,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Xfs(){return o.jsx(Bt,{width:"narrow",children:o.jsx(Bt.MainArea,{children:o.jsx(fKr,{children:o.jsx(xbe,{})})})})}const Jfs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:uZt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:got,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:_a,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:cj,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:Oot,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:vot,href:"https://mastra.ai/contact?ref=studio",external:!0}];function eps(){return o.jsx(Bt,{width:"narrow",children:o.jsx(Bt.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:Jfs.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(_a,{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 tps(){const{data:e={},isLoading:t,error:n}=ah(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&ws(n))return o.jsx(cr,{children:o.jsx(Zs,{})});if(n&&Ss(n))return o.jsx(cr,{children:o.jsx($s,{resource:"scorers"})});if(n)return o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(cr,{children:o.jsx(BXr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx(qXr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(zXr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function nps(){const{scorerId:e}=Sr(),[t,n]=ri(),r=t.get("scoreId")??void 0,[s,a]=v.useState(r),[i,l]=v.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=vXr(e),{data:d={},isLoading:f,error:p}=Em(),{isLoading:h,error:m}=qy(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k}=gXr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),C=v.useMemo(()=>c?.agentIds?.filter(q=>d[q]).map(q=>({value:q,label:d[q].name,type:"AGENT"}))||[],[c?.agentIds,d]),_=v.useMemo(()=>c?.workflowIds?.map(q=>({value:q,label:q,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=v.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...C,..._],[C,_]),T=t.get("entity")??"all",N=E.find(q=>q.value===T);N&&N.value!==i?.value&&l(N),v.useEffect(()=>{if(u){const q=u instanceof Error?u.message:"Failed to load scorer";De.error(`Error loading scorer: ${q}`)}},[u]),v.useEffect(()=>{if(p){const q=p instanceof Error?p.message:"Failed to load agents";De.error(`Error loading agents: ${q}`)}},[p]),v.useEffect(()=>{if(m){const q=m instanceof Error?m.message:"Failed to load workflows";De.error(`Error loading workflows: ${q}`)}},[m]);const I=q=>{q?.value&&n(M=>{const G=new URLSearchParams(M);return G.set("entity",q.value),G})};v.useEffect(()=>{const q=t.get("scoreId")??void 0;if(q===s)return;if(!q){a(void 0);return}g.find(G=>G.id===q)&&a(q)},[t,g]);const A=v.useCallback(q=>{a(q||void 0),n(M=>{const G=new URLSearchParams(M);return q?G.set("scoreId",q):G.delete("scoreId"),G})},[n]);if(!c)return null;const R=ws(u)||ws(p)||ws(m),L=u&&Ss(u),D=!R&&!L&&(u||p||m),F=!y&&g.length===0,H=i?.value!=="all",z=c?.scorer?.source==="stored"?o.jsx(Ry,{owner:"scorer-detail",children:o.jsxs(ce,{variant:"default",as:Fa,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(sm,{})," Edit"]})}):null;if(R||L||D||F&&!H){const q=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Bt,{width:"wide",height:"full",children:[z,o.jsx(Bt.MainArea,{isCentered:!0,children:R?o.jsx(Zs,{}):L?o.jsx($s,{resource:"scorers"}):D?o.jsx(Vi,{title:"Failed to load scorer",message:q}):o.jsx(cXr,{})})]})}return o.jsxs(Bt,{width:"wide",children:[z,o.jsx(Bt.TopArea,{children:o.jsx(uXr,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(q=>{const M=new URLSearchParams(q);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(lXr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function rps({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:X("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Ft,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-neutral3 text-sm",children:t})]}),s]})}const UBt=[{value:"dark",label:"Dark",Icon:qGt},{value:"light",label:"Light",Icon:tYt},{value:"system",label:"System",Icon:Iot}],sps=e=>UBt.some(t=>t.value===e);function aps({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 ips=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=KV(),{theme:r,setTheme:s}=L_();return o.jsx(Bt,{width:"narrow",children:o.jsxs(Bt.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(tbe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(rps,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ma,{value:r,onValueChange:a=>{sps(a)&&s(a)},children:[o.jsx(va,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ga,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ya,{children:UBt.map(a=>o.jsx(Rr,{value:a.value,children:o.jsx(aps,{option:a})},a.value))})]})})}),o.jsx(tbe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(ZMt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function ops(){const[e]=ri(),t=Ws(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(ABt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const qBt=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 lps(e){return e.replace(/\/$/,"").split("/").pop()}function iQ({children:e,className:t}){return o.jsx("div",{className:X("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function cps({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:X("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:X("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:X("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:X("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:X("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:X("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:X("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(qo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Ld,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(Aot,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(FN,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(fC,{})," ",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:X("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(qBt,{})," ",lps(a.githubUrl)]})})]},a.slug)})})}function ups({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:X("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:X("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(pN,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Cc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Cc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ce,{onClick:c,children:["Reset ",o.jsx(fs,{})]})]})}function dps(){const{data:e,isLoading:t}=Her(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=v.useState("all"),[l,c]=v.useState("all"),[u,d]=v.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)},g=()=>{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(ds,{children:[o.jsx(u1e,{children:o.jsxs(zvt,{children:[o.jsx(qe,{children:o.jsx(Qv,{})}),"Templates"]})}),o.jsxs("div",{className:X("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(ups,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?g:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(cps,{templates:y,linkComponent:Fa,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const fps="1.58.0-alpha.7";function pps({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(Td,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(FZt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(iQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:X("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 hps({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(iQ,{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:X("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(Rot,{})]}),o.jsx(Cc,{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:X("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(Jt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(v.Fragment,{children:[o.jsx(_O,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(_O,{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(z8t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(ce,{className:X("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(Jt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(gm,{})]})})]})})}function mps({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:X("grid mt-8 items-center"),children:o.jsxs("div",{className:X("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(Qv,{}),o.jsx("h2",{className:X({"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:X("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:X("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(Hx,{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(pxe,{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(qBt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(tIe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function gps(e){switch(e){case"running":return o.jsx(Jt,{});case"success":return o.jsx(kx,{});case"failed":return o.jsx(Gu,{});default:return null}}function vps({stepId:e,step:t,isActive:n,position:r}){const s=a=>a.charAt(0).toUpperCase()+a.slice(1).replace(/-/g," ");return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3",xs.all,{"border border-dashed border-neutral2 bg-surface3":n}),children:[o.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:X("flex min-w-6 justify-end text-ui-md",xs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:[r,"."]}),o.jsxs("div",{children:[o.jsx("h4",{className:X("text-ui-md",xs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:s(e)}),t.description&&o.jsx("p",{className:"text-ui-md text-neutral2 -mt-0.5",children:t.description})]})]}),o.jsx("div",{className:X("flex size-[1.75rem] items-center justify-center self-center rounded-full",xs.all,{"border border-neutral2 border-dashed":t.status==="pending","[&>svg]:text-white [&>svg]:w-4 [&>svg]:h-4":t.status!=="running","w-[1.75rem] h-[1.75rem]":t.status==="running","bg-accent1Dark shadow-glow-accent1":t.status==="success","bg-accent2Dark shadow-glow-accent2":t.status==="failed","scale-110":t.status==="success"||t.status==="failed"}),children:gps(t.status)})]})}function yps({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(vps,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function bps({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:X("relative flex h-8 items-center justify-end",xs.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:X("absolute right-0 z-10 flex size-[2rem] translate-x-[50%] items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3",xs.all,{"border border-neutral2 border-dashed":r.status==="pending","[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]":r.status!=="running","bg-accent1Dark text-white shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-white shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Jt,{}):s+1})},r.id))}),o.jsxs("div",{className:X("text-center text-xs text-neutral3",xs.colors),children:[n," of ",t," steps completed"]})]})}function xps({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=g=>g==="input"||g.endsWith(".input")||g.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(g)||/[0-9a-f]{8,}/.test(g)?!1:r?.allSteps?g in r.allSteps:!0,f=Object.entries(c).filter(([g,y])=>d(g)),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(([g,y])=>({id:g,status:y?.status,description:y?.description,title:g.charAt(0).toUpperCase()+g.slice(1).replace(/-/g," "),isActive:i?.id===g}));return o.jsxs(iQ,{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(bps,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:X("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(JGt,{}),l||"Something went wrong"]}),u&&o.jsx(yps,{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(Jt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function wps({name:e,installedEntities:t}){return o.jsxs(iQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(Rot,{}),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(tIe,{data:t})]})}function Sps(){const{templateSlug:e}=Sr(),[t,n]=ri(),[r,s]=v.useState(""),[a,i]=v.useState(""),[l,c]=v.useState(""),[u,d]=v.useState({}),[f,p]=v.useState([]),[h,m]=v.useState(null),[g,y]=v.useState(!1),[b,x]=v.useState(""),[S,k]=v.useState(!1),[C,_]=v.useState(!1),[E,T]=v.useState([]),{data:N,isLoading:I}=Wer({repoOrSlug:e,owner:"mastra-ai"}),R=fps?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Zer({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=Ger(),{mutateAsync:z,isPending:U}=Qer(),{mutateAsync:q}=Yer(),{streamInstall:M,streamResult:G,isStreaming:V}=Xer(F),{observeInstall:$,streamResult:B,isStreaming:Z}=Jer(F);v.useEffect(()=>{const re=t.get("runId");re&&!g&&!h&&!V&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:re}),x(re),q({runId:re}).then(le=>{const ue=le.snapshot;if(ue?.status==="success"&&ue?.result?.success)y(!0);else if(ue?.result?.success===!1)if(ue?.result?.validationResults&&!ue?.result?.validationResults?.valid&&ue?.result?.validationResults?.remainingErrors>0){const{remainingErrors:me,errors:be}=ue.result.validationResults,xe=`Template installation completed but ${me} validation issue${me>1?"s":""} remain unresolved.`;m(xe),T(be||[])}else{const me=ue?.result?.message||ue?.result?.error||"Template installation failed";m(typeof me=="string"?me:String(me))}}).catch(le=>{console.error("❌ Failed to fetch run details:",le),m("Failed to retrieve installation status after reload")}))},[t,g,h,V,Z,q]),v.useEffect(()=>{const re=t.get("runId"),le=t.get("resume"),ue=t.get("provider");if(re&&le==="true"&&ue&&!V&&!Z&&!S&&!C&&F){x(re),k(!0);try{q({runId:re}).then(oe=>{if(oe.snapshot?.status==="running")return $.mutateAsync({runId:re})}).then(()=>{n(oe=>{const me=new URLSearchParams(oe);return me.delete("resume"),me})}).catch(oe=>{console.error("❌ Failed to resume template installation:",oe),oe.message?.includes("404")||oe.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(oe){console.error("❌ Auto-resume failed with error:",oe),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,V,Z,S,C,F,q,$,n]);const K=[{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(re=>re).join(", "):"n/a",icon:o.jsx(Ld,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(re=>re).join(", "):"n/a",icon:o.jsx(qo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(re=>re).join(", "):"n/a",icon:o.jsx(FN,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Pv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(LN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(re=>re.value!=="n/a");v.useEffect(()=>{L&&d(L)},[L]),v.useEffect(()=>{const re=G||B;re?.phase==="error"&&re?.error&&m(typeof re.error=="string"?re.error:String(re.error))},[G?.phase,G?.error,B?.phase,B?.error]);const J=re=>{s(re)},ae=async re=>(i(re.provider),c(re.modelId),{message:"Model updated successfully"}),fe=async()=>{const re=Object.entries(u).reduce((le,[ue,oe])=>(oe===""&&le.push(ue),le),[]);if(re.length>0){p(re);return}if(N){m(null),y(!1),x(""),_(!0);try{const ue={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:oe}=await z({});x(oe),n(me=>{const be=new URLSearchParams(me);return be.set("runId",oe),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:ue,selectedModel:{provider:a,modelId:l},runId:oe})}catch(le){_(!1),m(le?.message||"Template installation failed"),console.error("Template installation failed",le)}}},Y=re=>{const{name:le,value:ue}=re.target;ue.trim()===""?p(oe=>[...oe,le]):p(oe=>oe.filter(me=>me!==le)),d(oe=>({...oe,[le]:ue}))};return o.jsx(ds,{children:o.jsx("div",{className:X("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(mps,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(V||Z)&&o.jsx(xps,{name:N.title,streamResult:Z?B:G,runId:b,workflowInfo:F}),g&&o.jsx(wps,{name:N.title,installedEntities:ee,linkComponent:Fa}),h&&o.jsx(pps,{errorMsg:h,validationErrors:E.length>0?E:G?.validationResults?.errors||B?.validationResults?.errors}),!V&&!Z&&!g&&!h&&o.jsx(hps,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:fe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:U,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const kps=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(KJr,{toolId:e,agentId:t})})},Ops=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(jds,{toolId:e})})};function _ps(){const{traceId:e}=Sr(),[t,n]=ri(),r=Ws(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=v.useState(s??null),[d,f]=v.useState(),[p,h]=v.useState(i),[m,g]=v.useState(0),[y,b]=v.useState(!1),{data:x,isLoading:S,error:k}=qIe(e),C=v.useMemo(()=>x?.spans??[],[x?.spans]),_=v.useMemo(()=>C.find(ae=>ae.parentSpanId==null),[C]),{data:E,isLoading:T}=uL(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=ah(),{data:A,isLoading:R}=a9t({traceId:e,spanId:c??void 0,page:m}),[L,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:F,isLoading:H}=xBt({traceId:e,page:L});v.useEffect(()=>{if(l&&A?.scores&&!d){const ae=A.scores.find(fe=>fe.id===l);ae&&f(ae)}},[l,A?.scores,d]);const z=v.useCallback(ae=>{const fe=new URLSearchParams(t);for(const[Y,re]of Object.entries(ae))re===null||re===""?fe.delete(Y):fe.set(Y,re);n(fe,{replace:!0})},[t,n]),U=v.useCallback(ae=>{const fe=ae??null,Y=fe===c;u(fe),Y||(f(void 0),h("details"),z({spanId:fe,tab:null,scoreId:null}))},[c,z]),q=v.useCallback(()=>{u(null),f(void 0),h("details"),z({spanId:null,tab:null,scoreId:null})},[z]),M=v.useCallback(ae=>{u(ae),f(void 0),h("details"),z({spanId:ae,tab:null,scoreId:null})},[z]),{handlePreviousSpan:G,handleNextSpan:V}=VIe(C,c,M),$=v.useCallback(ae=>{const fe=ae;h(fe),f(void 0),z({tab:fe==="details"?null:fe,scoreId:null})},[z]),B=v.useCallback(ae=>{f(ae),z({scoreId:ae.id})},[z]),Z=v.useCallback(()=>{f(void 0),z({scoreId:null})},[z]),K=v.useCallback(()=>{r("/traces")},[r]),ne=v.useCallback(()=>{h("scoring"),_&&c!==_.spanId?(u(_.spanId),f(void 0),z({spanId:_.spanId,tab:"scoring",scoreId:null})):z({tab:"scoring"})},[_,c,z]),ee=_?o.jsx(Ry,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(ce,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:ne,children:[o.jsx(AWt,{}),"Evaluate"]}),o.jsxs(ce,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(Ed,{}),"Save"]})]})}):null,J=_?o.jsx(Bt.Row,{children:o.jsx(Bt.Column,{children:o.jsx(rBt,{rootSpan:_,numOfCol:3})})}):null;return k?o.jsxs(Bt,{height:"full",children:[ee,J&&o.jsx(Bt.TopArea,{children:J}),o.jsx(Bt.MainArea,{isCentered:!0,children:o.jsx(lBt,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Bt,{height:"full",className:"grid-rows-[auto_minmax(0,1fr)] content-normal",children:[ee,J&&o.jsx(Bt.TopArea,{children:J}),o.jsx(mBt,{rootSpanId:_?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:X("mt-4 grid min-h-0 items-stretch gap-4 overflow-hidden",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(MIe,{traceId:e,spans:C,isLoading:S,onClose:K,onSpanSelect:U,onEvaluateTrace:ne,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:X("grid h-full max-h-full min-h-0 gap-4 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(RIe,{traceId:e,spanId:c,span:E?.span,isLoading:T,onClose:q,onPrevious:G,onNext:V,activeTab:p,onTabChange:$,feedbackTabBadge:F?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(vBt,{feedbackData:F,onPageChange:D,isLoadingFeedbackData:H}),scoringTabBadge:A?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:fe,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(bBt,{traceId:fe,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===lu.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===lu.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(yBt,{scoresData:A,onPageChange:g,isLoadingScoresData:R,onScoreSelect:B})]})}),d&&o.jsx(eIe,{score:d,onClose:Z})]})]})]})}function Cps(){const{data:e,isLoading:t,error:n}=qy(),[r,s]=v.useState("");return n&&ws(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"workflows"})}):n?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(cr,{children:o.jsx(N7r,{})}):o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsxs(Bt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(ce,{as:Fa,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(vD,{}),"Schedules"]})]})}),o.jsx(j7r,{workflows:e||{},isLoading:t,search:r})]})}const Eps={active:"bg-accent1",paused:"bg-accent3"},Tps={active:"text-accent1",paused:"text-accent3"},VBt=({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 ${Eps[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${Tps[e]}`,children:e})]}),sj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),P2=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 HBt({status:e}){const{icon:t,color:n}=jps(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 jps(e){switch(e){case"success":return{icon:o.jsx(da,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(fs,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Jt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(zq,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Rf,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(lj,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const zJe="auto auto auto auto 1fr";function Nps(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 Ips(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 Aps=3e4,Rps=5*6e4;function Pps({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=bn();return t?o.jsx(il,{columns:zJe}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ge,{columns:zJe,className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Run"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Started"}),o.jsx(ge.TopCell,{children:"Duration"}),o.jsx(ge.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=Ips(u),f=`Scheduled ${sj(c.scheduledFireAt)} — published ${sj(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>Aps&&m<=Rps,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),x=o.jsx("span",{className:b?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(ge.Cell,{height:"compact",children:x}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(Td,{size:14}),"publish failed"]}):c.run?o.jsx(HBt,{status:c.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),h?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(Td,{size:14})})}),o.jsx(Rn,{children:h})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:P2(c.actualFireAt)}),g?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(Td,{size:14})})}),o.jsxs(Rn,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:c.run?o.jsx("span",{children:Nps(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(ge.Cell,{height:"compact",children:" "})]});return b?o.jsx(ge.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(ge.RowStatic,{children:S},y)}),o.jsx(ge.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const $ps=e=>{const t=We();return yt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},BJe=25,Mps=e=>{const t=We(),{inView:n,setRef:r}=q_(),s=U1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:BJe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<BJe))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 v.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},Dps=e=>{const t=We(),n=Br();return Dn({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"]}),De.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{De.error(r.message)}})};function Nz({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function Lps(){const{scheduleId:e}=Sr(),{paths:t}=bn(),{data:n,error:r}=$ps(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=Mps(e),d=Dps(e);if(r&&ws(r))return o.jsx(cr,{children:o.jsx(Zs,{})});if(r&&Ss(r))return o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})});if(r)return o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx(Bt.Row,{className:"justify-end",children:o.jsxs(Bt.Column,{className:"flex justify-end gap-2",children:[o.jsxs(ce,{as:Fa,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Ac,{}),"Back to schedules"]}),f?o.jsx(ce,{as:Fa,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(ce,{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(Vq,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(Ef,{}),"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(Nz,{label:p?"Agent":"Workflow",children:f?o.jsx(Fa,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(Fa,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(Nz,{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(Nz,{label:"Status",children:o.jsx(VBt,{status:n.status})}),o.jsx(Nz,{label:"Next fire",children:o.jsx("span",{title:sj(n.nextFireAt),children:P2(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ye,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Vi,{title:"Failed to load trigger history",message:i.message}):o.jsx(Pps,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const UJe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function Fps({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=bn(),a=v.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||(l.workflowId??l.agentId??"").toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(il,{columns:UJe}):o.jsxs(ge,{columns:UJe,variant:"striped",className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Target"}),o.jsx(ge.TopCell,{children:"Schedule ID"}),o.jsx(ge.TopCell,{children:"Cron"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Next fire"}),o.jsx(ge.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(ge.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(ge.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(ge.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(ge.NameCell,{children:i.workflowId??i.agentId}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:i.id,children:i.id})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx(VBt,{status:i.status})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:sj(i.nextFireAt),children:P2(i.nextFireAt)})}),o.jsx(ge.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(HBt,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:sj(i.lastFireAt),children:i.lastFireAt?P2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:sj(i.lastFireAt),children:P2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function zps({workflowId:e}={}){const{data:t,isLoading:n,error:r}=l1e(e?{workflowId:e}:{}),[s,a]=v.useState("");return r?o.jsx(Vi,{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(Lf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(Fps,{schedules:t??[],isLoading:n,search:s})})]})}function Bps(){const[e]=ri(),t=e.get("workflowId")??void 0,{error:n}=l1e(t?{workflowId:t}:{});return n&&ws(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})}):o.jsx(Bt,{children:o.jsx("div",{className:"h-full",children:o.jsx(zps,{workflowId:t})})})}function Ups({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=Lke({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=hOt(r),[d]=mOt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=R3t({edges:d,workflowName:n,stepGraph:e});return v.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(pOt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(jTe,{position:"bottom-left"}),o.jsx(vOt,{variant:ty.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Jt,{})})})}function qps(){const{stepDetail:e,closeStepDetail:t}=HH();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(e9,{className:"h-4 w-4",style:{color:Nu.map}}),e.type==="nested-graph"&&o.jsx(Ju,{className:"h-4 w-4",style:{color:Nu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ye,{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(ye,{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(fs,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(I2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(Dke,{children:o.jsx(Ups,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function Vps(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Hps(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 Wps({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(ye,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(qe,{children:o.jsx(zq,{})}),"Step suspended"]}),o.jsx(on,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?um(Ox(i.resumeSchema)):sf(fr(),hf());return o.jsx(Zps,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function Zps({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=v.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ye,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(HGt,{})}),"The step is asking"]}),o.jsxs(Af,{open:a,onOpenChange:i,children:[o.jsxs($d,{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(qe,{children:o.jsx(aa,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Hps(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:Vps(e.suspendPayload)})]}),o.jsx(Md,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Hr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(GGt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(IB,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(Ef,{}),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 Gps(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(Ul),{runId:a}=Sr(),i=OOt(e,r??""),l=oXn(),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(Wps,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Qps=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"})]}),Yps=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"})]}),Kps=e=>e.includes("."),Xps=e=>e==="input"||e.endsWith(".input"),Jps=1;function ehs(e){return`${Number((e/1e3).toPrecision(3))}s`}function ths(e,t){const n=Object.entries(e).filter(([i])=>!Xps(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,Jps);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Kps(i)}})}const nhs=({status:e})=>o.jsxs(qe,{children:[e==="success"&&o.jsx(Qps,{className:"text-accent1"}),e==="failed"&&o.jsx(Yps,{className:"text-accent2"}),e==="suspended"&&o.jsx(zq,{className:"text-accent3"}),e==="waiting"&&o.jsx(Zfe,{className:"text-accent5"}),e==="skipped"&&o.jsx(Zfe,{className:"text-icon3"}),e==="running"&&o.jsx(ca,{className:"text-accent6 animate-spin"})]}),rhs={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function WBt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const qJe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},shs=e=>{const t=e;return O3t({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},ahs=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=shs(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:X("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(nhs,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(QQt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(pq,{indicators:c,className:"shrink-0"})}),o.jsx(ye,{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:WBt(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 ${rhs[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(ZQt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:ehs(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function ihs(){const{steps:e}=w4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=sH(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);g1e(f,{enabled:!l});const p=ths(e,a),h=p.some(m=>m.isRunning);return v.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),v.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(ye,{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(ka,{className:X("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,g)=>o.jsx(ahs,{row:m,index:g,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:qJe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:qJe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(COt,{data:u.data,title:`${WBt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const ohs=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=HH();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(B3t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(Gps,{}),o.jsx(ihs,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(qps,{})})]})},VJe=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=j3(e);return r&&ws(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})}):r&&Ss(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"workflows"})}):o.jsx(nOe,{children:o.jsx(ohs,{workflowId:e,workflow:t??void 0,isLoading:n})})};function lhs(e,t){if(e==null)return{};var n,r,s=N1t(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 Jbe(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 chs(e){if(Array.isArray(e))return Jbe(e)}function uhs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function dhs(e,t){if(e){if(typeof e=="string")return Jbe(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)?Jbe(e,t):void 0}}function fhs(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
618
+ `);return t!==-1&&t!==e.length-1}else{if(Array.isArray(e))return e.some(t=>Zbe(t));if(e&&typeof e=="object")return Object.values(e).some(t=>Zbe(t))}return!1}function bus({children:e}){return o.jsx("div",{className:"flex-1 overflow-y-auto p-4",children:e})}function xus({className:e,children:t}){return o.jsx("div",{className:X("mx-4 flex items-center justify-between gap-2 border-b border-border1 py-3",e),children:t})}function wus({className:e,children:t}){return o.jsx("h3",{className:X("flex gap-2 text-ui-md text-neutral3 [&>b]:font-normal [&>b]:text-neutral2",e),children:t})}function Sus({className:e,children:t}){return o.jsx("dl",{className:X("grid grid-cols-[auto_1fr] gap-x-4 gap-y-1.5",e),children:t})}function kus({className:e,children:t}){return o.jsx("dt",{className:X("shrink-0 py-0.5 text-ui-smd text-neutral2",e),children:t})}function Ous({className:e,children:t}){return o.jsx("dd",{className:X("min-w-0 truncate py-0.5 text-ui-smd text-neutral3",e),children:t})}function _us({className:e,children:t}){return o.jsx("dt",{className:X("col-span-2 py-3 text-ui-sm tracking-widest text-neutral2 uppercase",e),children:t})}const Cus=Object.assign(Sus,{Key:kus,Value:Ous,Header:_us});function Eus({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(Jt,{size:"sm",variant:"pulse",className:"text-neutral3"})," ",e??"Loading..."]})}function Tus({children:e}){return o.jsx("p",{className:"text-ui-sm text-neutral2 px-4 py-6",children:e??"No data found."})}const zi=Object.assign(pus,{Header:xus,Heading:wus,CloseButton:hus,LoadingData:Eus,NoData:Tus,Content:bus,KeyValueList:Cus,CodeSection:yus}),up=zi.KeyValueList;function jus(e){return e instanceof Date?e:new Date(e)}function Nus({log:e,onClose:t,onTraceClick:n,onSpanClick:r,onPrevious:s,onNext:a,collapsed:i,onCollapsedChange:l}){const[c,u]=v.useState(!1),d=i??c,f=l??u,p=jus(e.timestamp),h=e.traceId,m=e.spanId;return o.jsxs(zi,{collapsed:d,children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Log ",o.jsx("b",{children:rr(p,"MMM dd, HH:mm:ss.SSS")})]}),o.jsxs(Mr,{className:"ml-auto shrink-0",children:[l&&o.jsx(ce,{size:"md",tooltip:d?"Expand panel":"Collapse panel",onClick:()=>f(!d),children:d?o.jsx(GV,{}):o.jsx(Gwe,{})}),o.jsxs(Mr,{spacing:"close",children:[o.jsx(ce,{size:"md",tooltip:"Previous log",onClick:s,disabled:!s,children:o.jsx(ZV,{})}),o.jsx(ce,{size:"md",tooltip:"Next log",onClick:a,disabled:!a,children:o.jsx(YD,{})})]}),o.jsx(zi.CloseButton,{onClick:t})]})]}),!d&&o.jsxs(zi.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:X("my-8 grid gap-2","[&>button]:justify-between [&>button]:overflow-hidden"),children:[h&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",onClick:()=>n?.(h),children:[o.jsx(m7,{}),o.jsx("span",{children:"Trace"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",h]})]}),o.jsx(Pa,{content:h,size:"md",tooltip:"Copy Trace ID to clipboard"})]}),m&&o.jsxs(Mr,{spacing:"close",className:"w-full min-w-0",children:[o.jsxs(ce,{size:"md",className:"min-w-0 flex-1 overflow-hidden",disabled:!h||!r,onClick:()=>h&&r?.(h,m),children:[o.jsx(m7,{}),o.jsx("span",{children:"Span"}),o.jsxs("span",{className:"text-ui-sm text-neutral2 ml-auto min-w-0 truncate",children:["# ",m]})]}),o.jsx(Pa,{content:m,size:"md",tooltip:"Copy Span ID to clipboard"})]})]}),o.jsxs(up,{className:"mb-6",children:[e.entityType&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Entity Type"}),o.jsx(up.Value,{children:e.entityType})]}),e.entityName&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Entity Name"}),o.jsx(up.Value,{children:e.entityName})]}),e.serviceName&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Service"}),o.jsx(up.Value,{children:e.serviceName})]}),e.environment&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Environment"}),o.jsx(up.Value,{children:e.environment})]}),e.source&&o.jsxs(o.Fragment,{children:[o.jsx(up.Key,{children:"Source"}),o.jsx(up.Value,{children:e.source})]}),e.metadata&&Object.keys(e.metadata).length>0&&o.jsx(o.Fragment,{children:Object.entries(e.metadata).map(([g,y])=>o.jsxs(v.Fragment,{children:[o.jsx(up.Key,{children:g}),o.jsx(up.Value,{children:String(y)})]},g))})]}),e.data&&Object.keys(e.data).length>0&&o.jsx(zi.CodeSection,{title:"Data",codeStr:JSON.stringify(e.data,null,2),className:"mt-6"})]})]})}function Ius({error:e,resource:t,errorTitle:n}){if(ws(e))return o.jsx(Zs,{});if(Ss(e))return o.jsx($s,{resource:t});if(s4(e))return o.jsx(Lr,{iconSlot:o.jsx(g7,{}),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(r4(e,"logs"))return o.jsx(Lr,{iconSlot:o.jsx(g7,{}),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(Vi,{title:n,message:r??"Unknown error"})}function Aus({listSlot:e,logPanelSlot:t,tracePanelSlot:n,spanPanelSlot:r,logCollapsed:s}){const a=!!t;return o.jsxs("div",{className:X("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:X("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 Rus={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 Pus({level:e}){const t=Rus[e];return o.jsx(jo,{height:"compact",children:o.jsx("span",{className:"text-ui-sm font-semibold uppercase",style:{color:t.color},children:t.label})})}function $us({entityType:e,className:t}){const n=X("size-3.5 shrink-0 text-neutral2",t);switch(e.toLowerCase()){case"agent":return o.jsx(qo,{className:n,"aria-hidden":!0});case"workflow":case"workflow_run":return o.jsx(Ju,{className:n,"aria-hidden":!0});case"tool":return o.jsx(Ld,{className:n,"aria-hidden":!0});default:return null}}function Mus({entityType:e,entityName:t}){const n=e??"";return o.jsxs(jo,{height:"compact",className:"flex min-w-0 items-center gap-2",children:[o.jsx($us,{entityType:n}),t?o.jsx("span",{className:"text-ui-smd min-w-0 truncate",children:t}):"-"]})}function Dus({message:e}){return o.jsx(jo,{height:"compact",className:"text-ui-smd text-neutral4 min-w-0 truncate font-mono",children:e})}function Lus({data:e}){if(!e||Object.keys(e).length===0)return o.jsx(jo,{height:"compact",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(BEe,{children:t})}const Zl=Object.assign(p4,{Top:vZ,TopCell:rC,TopCellWithTooltip:yZ,TopCellSmart:FMt,RowWrapper:HEe,RowButton:h4,RowLink:LMt,Spacer:WEe,NoMatch:gZ,DateCell:UEe,TimeCell:qEe,LevelCell:Pus,EntityCell:Mus,MessageCell:Dus,DataCell:Lus,NextPageLoading:mZ}),RJe="6rem 9rem 5rem 10rem minmax(8rem,1fr) minmax(8rem,1fr)",Fus=36,zus=8;function Bus({logs:e,isLoading:t,isFetchingNextPage:n,hasNextPage:r,setEndOfListElement:s,logIdMap:a,featuredLogId:i,onLogClick:l}){const c=v.useRef(null),u=uBt({count:e.length,getScrollElement:()=>c.current,estimateSize:()=>Fus,overscan:zus}),d=v.useRef(t);if(v.useEffect(()=>{d.current&&!t&&c.current?.dispatchEvent(new Event("scroll")),d.current=t},[t]),t)return o.jsx(il,{columns:RJe});const f=u.getVirtualItems(),p=u.getTotalSize(),h=f[0]?.start??0,m=f.length>0?Math.max(0,p-(f[f.length-1]?.end??0)):0;return o.jsxs(Zl,{columns:RJe,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:h}),f.map(g=>{const y=e[g.index];if(!y)return null;const b=a.get(y);if(!b)return null;const x=b===i;return o.jsxs(Zl.RowButton,{ref:u.measureElement,"data-index":g.index,onClick:()=>l(y),featured:x,variant:y.level==="error"||y.level==="fatal"?"error":"default",children:[o.jsx(Zl.DateCell,{timestamp:y.timestamp}),o.jsx(Zl.TimeCell,{timestamp:y.timestamp}),o.jsx(Zl.LevelCell,{level:y.level}),o.jsx(Zl.EntityCell,{entityType:y.entityType,entityName:y.entityName}),o.jsx(Zl.MessageCell,{message:y.message}),o.jsx(Zl.DataCell,{data:y.data})]},b)}),o.jsx(Zl.Spacer,{height:m})]}),o.jsx(Zl.NextPageLoading,{isLoading:n,hasMore:r,setEndOfListElement:s})]})}function Uus({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=>qus(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] items-start gap-3"),children:[o.jsx(NIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(TIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function qus(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 Vus={"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"},Zae="MMM d, yyyy HH:mm",Gae="Pick a wider range or lower the logging level — verbose entries (debug, info) may be filtered out.";function Hus({datePreset:e,dateFrom:t,dateTo:n}){return e&&e!=="all"&&e!=="custom"?{title:`No logs for ${Vus[e]}`,description:Gae}:t&&n?{title:`No logs between ${rr(t,Zae)} and ${rr(n,Zae)}`,description:Gae}:t?{title:`No logs since ${rr(t,Zae)}`,description:Gae}:{title:"No logs yet",description:"Logs will appear here once agents, workflows, or tools are executed."}}const Wus=({datePreset:e,dateFrom:t,dateTo:n}={})=>{const{title:r,description:s}=Hus({datePreset:e,dateFrom:t,dateTo:n});return o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(g7,{}),titleSlot:r,descriptionSlot:s,actionSlot:o.jsxs(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/en/docs/observability/logging",target:"_blank",rel:"noopener noreferrer",children:["Logging Documentation ",o.jsx(Qwe,{})]})})})},Zus=20,Gus=1e4;function Qus(e,t,n){if(e?.pagination?.hasMore)return n+1}function Yus(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 Kus(e){return r4(e.state.error,"logs")||s4(e.state.error)?!1:Gus}const Xus=({filters:e}={})=>{const t=We(),{inView:n,setRef:r}=q_(),s=U1({queryKey:["logs",e],queryFn:({pageParam:p})=>t.listLogsVNext({pagination:{page:p,perPage:Zus},filters:e,orderBy:{field:"timestamp",direction:"DESC"}}),initialPageParam:0,getNextPageParam:Qus,select:Yus,retry:!1,refetchInterval:Kus}),{hasNextPage:a,isFetchingNextPage:i,fetchNextPage:l,data:c,isLoading:u,isError:d,error:f}=s;return v.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}},_z={AGENT:"agent",WORKFLOW:"workflow_run",SCORER:"scorer",INGEST:"rag_ingestion"},RBt=[{label:"Agent",entityType:_z.AGENT},{label:"Workflow",entityType:_z.WORKFLOW},{label:"Scorer",entityType:_z.SCORER},{label:"Ingest",entityType:_z.INGEST}],Jus=[{label:"Debug",value:"debug"},{label:"Info",value:"info"},{label:"Warn",value:"warn"},{label:"Error",value:"error"},{label:"Fatal",value:"fatal"}],qx="rootEntityType",Qb="datePreset",Yb="dateFrom",Kb="dateTo",eds=new Set(["all","last-24h","last-3d","last-7d","last-14d","last-30d","custom"]),jl={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"},dL=Object.keys(jl),JIe=new Set(["tags"]),eAe="mastra:logs:saved-filters";function tds(e,t=eAe){const n=ids(e),r=e.get(Qb);r&&n.set(Qb,r);const s=e.get(Yb);s&&n.set(Yb,s);const a=e.get(Kb);a&&n.set(Kb,a);try{localStorage.setItem(t,n.toString())}catch{}}function nds(e=eAe){try{localStorage.removeItem(e)}catch{}}function PJe(e=eAe){try{const t=localStorage.getItem(e);if(!t)return null;const n=new URLSearchParams(t);return n.toString()?n:null}catch{return null}}function rds(e){if(e.has(Qb)||e.has(Yb)||e.has(Kb)||e.has(qx))return!0;for(const t of dL)if(e.has(jl[t]))return!0;return!1}function sds({availableTags:e,availableRootEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:RBt.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:Jus.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 ads(e){const t=[],n=new Map([[qx,"rootEntityType"]]);for(const s of dL)n.set(jl[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),JIe.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 ids(e){const t=new URLSearchParams,n=e.get(qx);n&&t.set(qx,n);for(const r of dL){const s=jl[r];if(JIe.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 ods(e,t){e.delete(qx);for(const n of dL)e.delete(jl[n]);for(const n of t){if(n.fieldId==="rootEntityType"&&typeof n.value=="string"){e.set(qx,n.value);continue}const r=jl[n.fieldId];if(r){if(JIe.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 lds({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 cds(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 uds="Filters setting for Logs saved",dds="Filters setting for Logs cleared up";function fds(e,t,n){const{storageKey:r,messages:s,skipHydration:a}={},[i,l]=v.useState(()=>PJe(r)!==null),c=v.useCallback(()=>{tds(e,r),l(!0);const f=s?.saved??uds;f!==!1&&De.success(f)},[e,r,s?.saved]),u=v.useCallback(()=>{nds(r),l(!1);const f=s?.cleared??dds;f!==!1&&De.success(f)},[r,s?.cleared]),d=v.useRef(!1);return v.useEffect(()=>{if(a||d.current||(d.current=!0,rds(e)))return;const f=PJe(r);f&&t(p=>{const h=new URLSearchParams(p);for(const[m,g]of f)h.append(m,g);return h},{replace:!0})},[]),{hasSavedFilters:i,handleSave:c,handleRemoveSaved:u}}function pds(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 hds(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,pds(`${r}${n.message??""}${n.data?JSON.stringify(n.data):""}`))}return t}function mds(e,t,n,r){const s=v.useMemo(()=>hds(e),[e]),a=v.useMemo(()=>{const h=new Map;for(const[m,g]of e.entries()){const y=s.get(g);y&&h.set(y,{log:g,idx:m})}return h},[e,s]),l=(t?a.get(t):void 0)?.idx??-1,c=l>=0?e[l]??null:null,u=v.useCallback(h=>s.get(h),[s]),d=v.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 Gbe="logId",Qbe="traceId",Ybe="spanId",aP=1440*60*1e3,gds={"last-24h":aP,"last-3d":3*aP,"last-7d":7*aP,"last-14d":14*aP,"last-30d":30*aP};function Cz(e){e.delete(Gbe),e.delete(Qbe),e.delete(Ybe)}function vds(e,t,n){const{onRemoveAll:r}={},s=v.useMemo(()=>{const C=e.get(Qb);return C&&eds.has(C)?C:"last-24h"},[e]),a=e.get(Yb),i=e.get(Kb),l=v.useMemo(()=>{if(s==="custom"){if(!a)return;const _=new Date(a);return Number.isNaN(_.getTime())?void 0:_}if(s==="all")return;const C=gds[s];return C?new Date(Date.now()-C):void 0},[s,a]),c=v.useMemo(()=>{if(s!=="custom"||!i)return;const C=new Date(i);return Number.isNaN(C.getTime())?void 0:C},[s,i]),u=v.useRef(s);u.current=s;const d=e.get(Gbe),f=e.get(Qbe),p=e.get(Ybe),h=v.useMemo(()=>RBt.find(C=>C.entityType===e.get(qx)),[e]),m=v.useMemo(()=>ads(e),[e]),g=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);for(const[T,N]of Object.entries(C)){const I=T==="logId"?Gbe:T==="traceId"?Qbe:Ybe;N?E.set(I,N):E.delete(I)}return E},{replace:!0})},[t]),y=v.useCallback(C=>{t(_=>{const E=new URLSearchParams(_);return ods(E,C),Cz(E),E},{replace:!0})},[t]),b=y,x=v.useCallback((C,_)=>{if(u.current!=="custom")return;const E=_==="from"?Yb:Kb;t(T=>{const N=new URLSearchParams(T);return C?N.set(E,C.toISOString()):N.delete(E),Cz(N),N},{replace:!0})},[t]),S=v.useCallback(C=>{u.current=C,t(_=>{const E=new URLSearchParams(_);return C==="last-24h"?(E.delete(Qb),E.delete(Yb),E.delete(Kb)):C==="custom"?E.set(Qb,"custom"):(E.set(Qb,C),E.delete(Yb),E.delete(Kb)),Cz(E),E},{replace:!0})},[t]),k=v.useCallback(()=>{t(C=>{const _=new URLSearchParams(C);_.delete(qx);for(const E of dL)_.delete(jl[E]);return _.delete(Qb),_.delete(Yb),_.delete(Kb),Cz(_),_},{replace:!0}),r?.()},[t,r]);return v.useMemo(()=>({searchParams:e,setSearchParams:t,datePreset:s,selectedDateFrom:l,selectedDateTo:c,datePresetRef:u,featuredLogId:d,featuredTraceId:f,featuredSpanId:p,selectedEntityOption:h,filterTokens:m,handleFeaturedChange:g,handleFilterTokensChange:b,handleDateChange:x,handleDatePresetChange:S,handleRemoveAll:k,applyFilterTokens:y}),[e,t,s,l,c,u,d,f,p,h,m,g,b,x,S,k,y])}const Sb=zi.KeyValueList;function yds({spanId:e,span:t,isLoading:n,onClose:r}){const s=AIe(t?.startedAt,t?.endedAt);return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Span ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading span..."}):t?o.jsxs(zi.Content,{children:[o.jsxs(Sb,{children:[t.spanType&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Type"}),o.jsx(Sb.Value,{children:t.spanType})]}),t.startedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Started"}),o.jsx(Sb.Value,{children:rr(new Date(t.startedAt),"MMM dd, HH:mm:ss.SSS")})]}),t.endedAt&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Ended"}),o.jsx(Sb.Value,{children:rr(new Date(t.endedAt),"MMM dd, HH:mm:ss.SSS")})]}),s&&o.jsxs(o.Fragment,{children:[o.jsx(Sb.Key,{children:"Duration"}),o.jsx(Sb.Value,{children:s})]})]}),o.jsx("br",{}),o.jsx(zi.CodeSection,{title:"Input",icon:o.jsx(Rhe,{}),codeStr:JSON.stringify(t.input??null,null,2)}),o.jsx(zi.CodeSection,{title:"Output",icon:o.jsx(Phe,{}),codeStr:JSON.stringify(t.output??null,null,2)}),o.jsx(zi.CodeSection,{title:"Metadata",icon:o.jsx(Sw,{}),codeStr:JSON.stringify(t.metadata??null,null,2)}),o.jsx(zi.CodeSection,{title:"Attributes",icon:o.jsx(Sw,{}),codeStr:JSON.stringify(t.attributes??null,null,2)})]}):o.jsx(zi.NoData,{children:"Span not found."})]})}function bds({traceId:e,spans:t,isLoading:n,onClose:r,onSpanSelect:s,selectedSpanId:a}){const i=v.useMemo(()=>$Ie(t??[]),[t]),[l,c]=v.useState([]);v.useEffect(()=>{i.length>0&&c(PIe(i))},[i]);const u=d=>{s?.(a===d?void 0:d)};return o.jsxs(zi,{children:[o.jsxs(zi.Header,{children:[o.jsxs(zi.Heading,{children:["Trace ",o.jsxs("b",{children:["# ",e]})]}),o.jsx(zi.CloseButton,{onClick:r})]}),n?o.jsx(zi.LoadingData,{children:"Loading trace..."}):i.length===0?o.jsx(zi.NoData,{children:"No spans found for this trace."}):o.jsx(zi.Content,{children:o.jsx(oBt,{hierarchicalSpans:i,onSpanClick:u,selectedSpanId:a??void 0,expandedSpanIds:l,setExpandedSpanIds:c})})]})}function xds(){const[e,t]=ri(),n=vds(e,t),r=fds(e,t),[s,a]=v.useState(),[i,l]=v.useState(!1),{data:c=[],isPending:u}=UIe(),{data:d=[],isPending:f}=FIe({entityType:n.selectedEntityOption?.entityType,rootOnly:!0}),{data:p=[],isPending:h}=zIe(),{data:m=[],isPending:g}=BIe(),y=v.useMemo(()=>sds({availableTags:c,availableRootEntityNames:d,availableServiceNames:m,availableEnvironments:p,loading:{tags:u,entityNames:f,serviceNames:g,environments:h}}),[c,d,m,p,u,f,g,h]),b=v.useMemo(()=>lds({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:C,hasNextPage:_,setEndOfListElement:E}=Xus({filters:b}),{logIdMap:T,featuredLog:N,handleLogClick:I,handlePreviousLog:A,handleNextLog:R}=mds(x,n.featuredLogId,n.handleFeaturedChange,n.featuredTraceId),{data:L,isLoading:D}=qIe(n.featuredTraceId??null),{data:F,isLoading:H}=uL(n.featuredTraceId??"",n.featuredSpanId??""),z=v.useCallback(()=>n.applyFilterTokens(cds(y,n.filterTokens)),[y,n]),U=v.useCallback(()=>n.handleFeaturedChange({logId:null}),[n]),q=v.useCallback(K=>n.handleFeaturedChange({traceId:K,spanId:null}),[n]),M=v.useCallback((K,ne)=>n.handleFeaturedChange({traceId:K,spanId:ne}),[n]),G=v.useCallback(()=>{n.handleFeaturedChange({traceId:null,spanId:null}),l(!1)},[n]),V=v.useCallback(()=>n.handleFeaturedChange({spanId:null}),[n]),$=v.useCallback(K=>n.handleFeaturedChange({spanId:K??null}),[n]),B=o.jsxs(Bt.TopArea,{children:[o.jsx(Bt.Row,{children:o.jsxs(Bt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(A3,{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(IIe,{fields:y,tokens:n.filterTokens,onTokensChange:n.handleFilterTokensChange,disabled:S,onStartTextFilter:a})]})}),o.jsx(Uus,{isLoading:S,filterFields:y,filterTokens:n.filterTokens,onFilterTokensChange:n.handleFilterTokensChange,onClear:z,onRemoveAll:n.handleRemoveAll,onSave:r.handleSave,onRemoveSaved:r.hasSavedFilters?r.handleRemoveSaved:void 0,autoFocusFilterFieldId:s})]});if(k)return o.jsxs(Bt,{width:"wide",height:"full",children:[B,o.jsx(Bt.MainArea,{isCentered:!0,children:o.jsx(Ius,{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(Bt,{width:"wide",height:"full",children:[B,o.jsx(Bt.MainArea,{isCentered:!0,children:o.jsx(Wus,{datePreset:n.datePreset,dateFrom:n.selectedDateFrom,dateTo:n.selectedDateTo})})]}):o.jsxs(Bt,{width:"wide",height:"full",children:[B,o.jsx(Aus,{logCollapsed:i,listSlot:o.jsx(Bus,{logs:x,isLoading:S,isFetchingNextPage:C,hasNextPage:_,setEndOfListElement:E,logIdMap:T,featuredLogId:n.featuredLogId,onLogClick:I}),logPanelSlot:N?o.jsx(Nus,{log:N,onClose:U,onTraceClick:q,onSpanClick:M,onPrevious:A,onNext:R,collapsed:i,onCollapsedChange:l}):null,tracePanelSlot:n.featuredTraceId?o.jsx(bds,{traceId:n.featuredTraceId,spans:L?.spans,isLoading:D,onClose:G,onSpanSelect:$,selectedSpanId:n.featuredSpanId}):null,spanPanelSlot:n.featuredTraceId&&n.featuredSpanId?o.jsx(yds,{spanId:n.featuredSpanId,span:F?.span,isLoading:H,onClose:V}):null})]})}function wds({server:e}){const{paths:t,Link:n}=bn(),s=We().options.baseUrl,a=s?`${s}/api/mcp/${e.id}/sse`:"",{data:i}=M8t(e),l=Object.values(i||{}),c=l.length,u=l.filter(p=>p.toolType==="agent").length,d=l.filter(p=>p.toolType==="workflow").length,f=Hh(e.name,50);return o.jsxs(ge.RowLink,{to:t.mcpServerLink(e.id),LinkComponent:n,children:[o.jsx(ge.NameCell,{children:f}),o.jsx(ge.DescriptionCell,{children:a}),o.jsx(ge.TextCell,{className:"text-center",children:u||""}),o.jsx(ge.TextCell,{className:"text-center",children:c||""}),o.jsx(ge.TextCell,{className:"text-center",children:d||""})]})}function Sds({mcpServers:e,isLoading:t,search:n=""}){const r=v.useMemo(()=>{const s=n.toLowerCase();return e.filter(a=>a.name?.toLowerCase().includes(s)||a.id?.toLowerCase().includes(s))},[e,n]);return t?o.jsx(il,{columns:"auto 1fr auto auto auto"}):o.jsxs(ge,{columns:"auto 1fr auto auto auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"URL"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Agent Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Tools",short:o.jsx(Ld,{}),tooltip:"Tools",className:"text-center"}),o.jsx(ge.TopCellSmart,{long:"Workflows",short:o.jsx(Ju,{}),tooltip:"Workflow Tools",className:"text-center"})]}),r.length===0&&n?o.jsx(ge.NoMatch,{message:"No MCP Servers match your search"}):null,r.map(s=>o.jsx(wds,{server:s},s.id))]})}const kds=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/tools-mcp/mcp-overview",target:"_blank",rel:"noopener noreferrer",children:["MCP Documentation ",o.jsx(_a,{})]})})}),Ods=()=>{const{data:e=[],isLoading:t,error:n}=RG(),[r,s]=v.useState("");return n&&ws(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"MCP servers"})}):n?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load MCP servers",message:n.message})}):e.length===0&&!t?o.jsx(cr,{children:o.jsx(kds,{})}):o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx("div",{className:"max-w-120",children:o.jsx(Lf,{onSearch:s,label:"Filter MCP servers",placeholder:"Filter by name"})})}),o.jsx(Sds,{mcpServers:e,isLoading:t,search:r})]})},_ds=(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 Cds({tools:e,agents:t,isLoading:n,search:r=""}){const{paths:s,Link:a}=bn(),i=v.useMemo(()=>_ds(e,t),[e,t]),l=v.useMemo(()=>i.filter(c=>c.id.toLowerCase().includes(r.toLowerCase())),[i,r]);return n?o.jsx(il,{columns:"auto 1fr auto"}):o.jsxs(ge,{columns:"auto 1fr auto",variant:"striped",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Name"}),o.jsx(ge.TopCell,{children:"Description"}),o.jsx(ge.TopCellSmart,{long:"Agents",short:o.jsx(qo,{}),tooltip:"Attached Agents",className:"text-center"})]}),l.length===0&&r?o.jsx(ge.NoMatch,{message:"No Tools match your search"}):null,l.map(c=>{const u=Hh(c.id,50),d=Hh(c.description??"",200),f=c.agents.length;return o.jsxs(ge.RowLink,{to:s.toolLink(c.id),LinkComponent:a,children:[o.jsx(ge.NameCell,{children:u}),o.jsx(ge.DescriptionCell,{children:d}),o.jsx(ge.TextCell,{className:"text-center",children:f||""})]},c.id)})]})}const Eds=()=>o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/agents/using-tools-and-mcp",target:"_blank",rel:"noopener noreferrer",children:["Tools Documentation ",o.jsx(_a,{})]})})}),Tds=()=>{const e=We();return Dn({mutationFn:async({toolId:t,input:n,requestContext:r})=>{const s=new k_;Object.entries(r??{}).forEach(([a,i])=>{s.set(a,i)});try{return await e.getTool(t).execute({data:n,requestContext:s})}catch(a){throw De.error("Error executing dev tool"),console.error("Error executing dev tool:",a),a}}})},jds=({toolId:e})=>{const{canExecute:t}=Wo(),n=t("tools"),{data:r={}}=Em(),s=v.useMemo(()=>{for(const g of Object.values(r))if(g.tools){const y=Object.values(g.tools).find(b=>b.id===e);if(y)return y}return null},[r,e]),{data:a,isLoading:i,error:l}=mjr(e,{enabled:!s}),c=s||a,{mutateAsync:u,isPending:d,data:f}=Tds(),{requestContext:p}=ps();v.useEffect(()=>{if(l){const g=l instanceof Error?l.message:"Failed to load tool";De.error(`Error loading tool: ${g}`)}},[l]);const h=async(g,y)=>{if(!c)return;const b={...p??{},...y??{}};return u({toolId:c.id,input:g,requestContext:b})},m=c?.inputSchema?um(Ox(c?.inputSchema)):vs({});return i?o.jsxs("div",{className:"p-6",children:[o.jsx(kt,{className:"mb-4 h-8 w-48"}),o.jsx(kt,{className:"h-32 w-full"})]}):l?null:c?n?o.jsx(aIe,{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(ye,{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(ye,{variant:"header-md",className:"text-neutral3",children:"Tool not found"})})};function Nds({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}=II(),{data:p={},isLoading:h,isError:m,error:g}=Em(),{navigate:y,paths:b}=bn();v.useEffect(()=>{if(d){const C=f instanceof Error?f.message:"Failed to load tools";De.error(`Error loading tools: ${C}`)}},[d,f]),v.useEffect(()=>{if(m){const C=g instanceof Error?g.message:"Failed to load agents";De.error(`Error loading agents: ${C}`)}},[m,g]);const x=new Map;Object.values(p).forEach(C=>{C.tools&&Object.values(C.tools).forEach(_=>{x.has(_.id)||x.set(_.id,_)})}),Object.values(c).forEach(C=>{x.has(C.id)||x.set(C.id,C)});const S=Array.from(x.values()).map(C=>({label:C.id,value:C.id})),k=C=>{t?t(C):C&&C!==e&&y(b.toolLink(C))};return o.jsx(Ll,{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 Ids=({isLoading:e,server:t})=>{const[{sseUrl:n,httpStreamUrl:r},s]=v.useState({sseUrl:"",httpStreamUrl:""});if(v.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(Sy,{children:o.jsx(ye,{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(Sy,{isDivided:!0,children:[o.jsxs("div",{className:"mx-auto w-full max-w-2xl px-8 py-12",children:[o.jsx(ye,{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(on,{icon:o.jsx(sBt,{className:"text-neutral6"}),className:"text-neutral4! rounded-r-sm",children:"Version"}),o.jsx(on,{className:"text-neutral4! rounded-l-sm",children:t.version_detail.version})]}),o.jsx(ye,{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(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"HTTP"}),children:"Regular HTTP Endpoint"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:r}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy HTTP Stream URL",content:r})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"SSE"}),children:"Server-Sent Events"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:n}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy SSE URL",content:n})})]})]}),o.jsxs("div",{className:"border-border1 bg-surface3 rounded-lg border p-4",children:[o.jsx(on,{icon:o.jsx("span",{className:"text-accent1 mr-1 w-6 font-mono font-medium",children:"CLI"}),children:"Command Line"}),o.jsx(ye,{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(ye,{className:"bg-surface4 rounded-lg px-2 py-1",children:a}),o.jsx("div",{className:"pt-1",children:o.jsx(Pa,{tooltip:"Copy Command Line Config",content:a})})]})]})]})]}),o.jsx("div",{className:"border-border1 h-full overflow-y-scroll border-l",children:o.jsx(Ads,{server:t})})]})},Ads=({server:e})=>{const{data:t={},isLoading:n}=M8t(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(qe,{size:"lg",className:"bg-surface4 rounded-md p-1",children:o.jsx(fC,{})}),o.jsx(ye,{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(Pds,{tool:a,serverId:e.id},s)})})]})};function Rds(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 Pds=({tool:e,serverId:t})=>{const n=v.useRef(null),{Link:r,paths:s}=bn(),a=l9t[e.toolType||"tool"],i=Rds(e._meta);return o.jsxs(zf,{onClick:()=>n.current?.click(),children:[o.jsx(Y$t,{children:o.jsx(a,{className:"group-hover/entity:text-accent6"})}),o.jsxs(Uf,{children:[o.jsx(Bf,{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(on,{className:"py-0 text-[10px]",children:"App"})]})}),o.jsx(eh,{children:e.description})]})]})},$ds=()=>{const{serverId:e}=Sr(),{data:t=[],isLoading:n}=RG(),r=t.find(s=>s.id===e);return o.jsx("div",{className:"h-full w-full overflow-hidden",children:o.jsx(Ids,{isLoading:n,server:r})})};function Mds(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 Dds=({toolId:e,serverId:t})=>{const{canExecute:n}=Wo(),r=n("tools"),s=We(),{data:a,isLoading:i,error:l}=XNe(t,e),{mutateAsync:c,isPending:u,data:d}=EYr(t,e),f=a?Mds(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=v.useCallback(async(y,b)=>await c(b),[c]);v.useEffect(()=>{if(l){const y=l instanceof Error?l.message:"Failed to load tool";De.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(kt,{className:"mb-4 h-8 w-48"}),o.jsx(kt,{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(ye,{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(ye,{variant:"ui-sm",className:"text-neutral3",children:"You don't have permission to execute tools."})});let g;try{g=um(a.inputSchema)}catch(y){console.error("Error processing input schema:",y),De.error("Failed to process tool input schema."),g=vs({})}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($8t,{html:p,toolName:a.name??a.id,onToolCall:h})}),o.jsx(aIe,{executionResult:d,isExecutingTool:u,zodInputSchema:g,handleExecuteTool:m,toolDescription:a.description||"",toolId:a.id})]})},Lds=()=>{const{serverId:e,toolId:t}=Sr(),{data:n,isLoading:r}=XNe(e,t);return r||!n?null:o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(Dds,{toolId:t,serverId:e})})},PBt=[{label:"Agent",entityType:"agent"},{label:"Workflow",entityType:"workflow_run"},{label:"Scorer",entityType:"scorer"},{label:"Ingest",entityType:"rag_ingestion"}],jN="rootEntityType",NN={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"},sQ=Object.keys(NN),tAe="mastra:metrics:saved-filters";function Fds(e){const t=Vds(e);try{localStorage.setItem(tAe,t.toString())}catch{}}function zds(){try{localStorage.removeItem(tAe)}catch{}}function $Bt(){try{const e=localStorage.getItem(tAe);if(!e)return null;const t=new URLSearchParams(e);return t.toString()?t:null}catch{return null}}function Bds(e){if(e.has(jN))return!0;for(const t of sQ)if(e.has(NN[t]))return!0;return!1}function Uds({availableTags:e,availableEntityNames:t,availableServiceNames:n,availableEnvironments:r,loading:s}){const a=[{id:"rootEntityType",label:"Primitive Type",kind:"pick-multi",searchable:!1,options:PBt.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 qds(e){const t=[],n=new Map([[jN,"rootEntityType"]]);for(const s of sQ)n.set(NN[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 Vds(e){const t=new URLSearchParams,n=e.getAll(jN);for(const r of n)t.append(jN,r);for(const r of sQ){const s=NN[r],a=e.getAll(s);for(const i of a)t.append(s,i)}return t}function Hds(e,t){e.delete(jN);for(const n of sQ)e.delete(NN[n]);for(const n of t){const r=n.fieldId==="rootEntityType"?jN:NN[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 Wds="Any";function $Je(e){const t=e.trim();return t===""||t===Wds}const Zds=new Set(PBt.map(e=>e.entityType));function MJe(e){const t=e.trim();return Zds.has(t)?t:void 0}function Gds(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=>!$Je(a));if(s.length===0)continue;if(r==="tags")t.tags=s;else if(r==="rootEntityType"){const a=s[0],i=a!==void 0?MJe(a):void 0;i&&(t.rootEntityType=i)}else t[r]=s[0]}else if(typeof n.value=="string"){if($Je(n.value))continue;const s=n.value.trim();if(r==="rootEntityType"){const a=MJe(s);a&&(t.rootEntityType=a)}else t[r]=s}}return t}const MBt=[{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"}],Qds=new Set(MBt.map(e=>e.value));function Yds(e){return typeof e=="string"&&(Qds.has(e)||e==="custom")}const DBt=v.createContext({datePreset:"24h",setDatePreset:()=>{},customRange:void 0,setCustomRange:()=>{},dateRangeLabel:"Last 24 hours",filterTokens:[],setFilterTokens:()=>{},dimensionalFilter:{},dimensionalFilterKey:"{}",tracesBasePath:void 0,logsBasePath:void 0});function aQ(){return v.useContext(DBt)}function Kds(e,t){return e!=="custom"?MBt.find(n=>n.value===e)?.label??e:t?.from?t.to?`${rr(t.from,"MMM d, yyyy")} – ${rr(t.to,"MMM d, yyyy")}`:rr(t.from,"MMM d, yyyy"):"Custom range"}function Xds({children:e,preset:t,filterTokens:n,onPresetChange:r,onFilterTokensChange:s,customRange:a,onCustomRangeChange:i,tracesBasePath:l,logsBasePath:c}){const u=v.useMemo(()=>JSON.stringify(n),[n]),d=v.useMemo(()=>n,[u]),f=v.useMemo(()=>Gds(d),[d]),p=v.useMemo(()=>JSON.stringify(f),[f]),h=Kds(t,a),m=v.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(DBt.Provider,{value:m,children:e})}const Jds=["last-24h","last-3d","last-7d","last-14d","last-30d","custom"];function efs(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 tfs(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 nfs(){const{datePreset:e,setDatePreset:t,customRange:n,setCustomRange:r}=aQ(),s=v.useRef(e);s.current=e;const a=v.useRef(n);return a.current=n,o.jsx(A3,{preset:efs(e),onPresetChange:i=>{const l=tfs(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:Jds})}const Kbe=1440*60*1e3,rfs={"24h":Kbe,"3d":4320*60*1e3,"7d":10080*60*1e3,"14d":336*60*60*1e3,"30d":720*60*60*1e3};function sfs(e,t,n){if(e!=="custom"){const r=rfs[e]??Kbe;return{start:new Date(n-r),end:new Date(n)}}return{start:t?.from??new Date(n-Kbe),end:t?.to??new Date(n)}}function Im(){const{datePreset:e,customRange:t,dimensionalFilter:n,dimensionalFilterKey:r}=aQ(),s=v.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=v.useMemo(()=>sfs(e,t,i),[e,t,i]),c=v.useMemo(()=>({timestamp:l,...n}),[l,r]),u=v.useMemo(()=>`${a}|${r}`,[a,r]);return{datePreset:e,customRange:t,timestamp:l,filters:c,dimensionalFilter:n,filterKey:u}}function LBt(){const e=We(),{filters:t,filterKey:n}=Im();return yt({queryKey:["metrics","agent-runs-kpi",n],queryFn:()=>e.getMetricAggregate({name:["mastra_agent_duration_ms"],aggregation:"count",filters:t,comparePeriod:"previous_period"})})}function fL({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View in Traces","aria-label":"View in Traces",children:o.jsx(ijn,{})})}function afs({href:e,LinkComponent:t="a"}){return o.jsx(ce,{as:t,href:e,variant:"ghost",size:"icon-md",tooltip:"View errors in Logs","aria-label":"View errors in Logs",children:o.jsx(zjn,{})})}const ifs=[{dataKey:"p50",label:"p50",color:Fp.blue,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p50,0)/e.length)}`:"0",suffix:"avg ms"})},{dataKey:"p95",label:"p95",color:Fp.yellow,aggregate:e=>({value:e.length>0?`${Math.round(e.reduce((t,n)=>t+n.p95,0)/e.length)}`:"0",suffix:"avg ms"})}];function ofs(e){return e==="agents"||e==="workflows"||e==="tools"}function Qae({data:e,onPointClick:t}){return e.length===0?o.jsx(Wt.NoData,{message:"No latency data yet"}):o.jsx(Nq,{data:e,series:ifs,onPointClick:t?n=>{const r=n;typeof r?.tsMs=="number"&&Number.isFinite(r.tsMs)&&t(r)}:void 0})}function lfs({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]=v.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),g=e?Object.values(e).filter(Array.isArray).flat().map(b=>b.p50).filter(b=>typeof b=="number"):[],y=g.length>0?`${Math.round(g.reduce((b,x)=>b+x,0)/g.length)}ms`:"—";return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Latency",description:"Hourly p50 and p95 latency."}),m&&o.jsx(Wt.Summary,{value:y,label:"Avg p50"}),h?o.jsx(Wt.Actions,{children:h}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load latency data"}):o.jsx(Wt.Content,{children:m?o.jsxs(pc,{value:p,onValueChange:b=>{ofs(b)&&c[b]&&f(b)},defaultTab:u,className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"agents",disabled:!a,disabledTooltip:"No agent latency data for this period",children:"Agents"}),o.jsx(jr,{value:"workflows",disabled:!i,disabledTooltip:"No workflow latency data for this period",children:"Workflows"}),o.jsx(jr,{value:"tools",disabled:!l,disabledTooltip:"No tool latency data for this period",children:"Tools"})]}),o.jsx(Kr,{value:"agents",children:o.jsx(Qae,{data:e.agentData,onPointClick:r?b=>r("agents",b):void 0})}),o.jsx(Kr,{value:"workflows",children:o.jsx(Qae,{data:e.workflowData,onPointClick:r?b=>r("workflows",b):void 0})}),o.jsx(Kr,{value:"tools",children:o.jsx(Qae,{data:e.toolData,onPointClick:r?b=>r("tools",b):void 0})})]}):o.jsx(Wt.NoData,{message:"No latency data yet"})})]})}function cfs(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 ufs(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 FBt(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=cfs(s);l&&e.set(t,l)}function $o(e,t,n){typeof n=="string"&&n.length>0&&e.set(t,n)}function zBt(e,t,n){if(!(!Array.isArray(n)||n.length===0))for(const r of n)r&&e.append(t,r)}function DJe({preset:e,customRange:t,dashboardFilter:n,scope:r,tracesBasePath:s="/traces"}){const a=new URLSearchParams;a.set(Nw,"branches"),FBt(a,Iw,Aw,Rw,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(Bx,i),r.status&&a.set(Ux,r.status),$o(a,Tl.entityName,r.entityName??n.entityName),$o(a,Tl.threadId,r.threadId??n.threadId),$o(a,Tl.resourceId,r.resourceId??n.resourceId),$o(a,Tl.entityId,n.entityId),$o(a,Tl.runId,n.runId),$o(a,Tl.sessionId,n.sessionId),$o(a,Tl.requestId,n.requestId),$o(a,Tl.userId,n.userId),$o(a,Tl.organizationId,n.organizationId),$o(a,Tl.experimentId,n.experimentId),$o(a,Tl.serviceName,n.serviceName),$o(a,Tl.environment,n.environment),zBt(a,Tl.tags,n.tags);const l=a.toString();return l?`${s}?${l}`:s}function dfs({preset:e,customRange:t,dashboardFilter:n,scope:r,logsBasePath:s="/logs"}){const a=new URLSearchParams;FBt(a,Qb,Yb,Kb,e,t,r.window);const i=r.rootEntityType??n.rootEntityType;i&&a.set(qx,i),$o(a,jl.entityName,r.entityName??n.entityName),$o(a,jl.threadId,r.threadId??n.threadId),$o(a,jl.resourceId,r.resourceId??n.resourceId),$o(a,jl.runId,n.runId),$o(a,jl.sessionId,n.sessionId),$o(a,jl.requestId,n.requestId),$o(a,jl.userId,n.userId),$o(a,jl.organizationId,n.organizationId),$o(a,jl.experimentId,n.experimentId),$o(a,jl.serviceName,n.serviceName),$o(a,jl.environment,n.environment),zBt(a,jl.tags,n.tags),r.status==="error"&&a.append(jl.level,"error");const l=a.toString();return l?`${s}?${l}`:s}function YI(){const{datePreset:e,customRange:t,dimensionalFilter:n,tracesBasePath:r,logsBasePath:s}=aQ(),a=v.useCallback((c={})=>DJe({preset:e,customRange:t,dashboardFilter:n,scope:c,tracesBasePath:r}),[e,t,n,r]),i=v.useCallback((c={})=>dfs({preset:e,customRange:t,dashboardFilter:n,scope:c,logsBasePath:s}),[e,t,n,s]),l=v.useCallback((c,u,d)=>{const f=ufs(u,d);return DJe({preset:e,customRange:t,dashboardFilter:n,scope:{...c,window:f},tracesBasePath:r})},[e,t,n,r]);return{getTracesHref:a,getLogsHref:i,getBucketTracesHref:l}}const BBt="1h";async function Yae(e,t,n){const r=await e.getMetricPercentiles({name:t,percentiles:[.5,.95],interval:BBt,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 ffs(){const e=We(),{filters:t,filterKey:n}=Im();return yt({queryKey:["metrics","latency",n],queryFn:async()=>{const[r,s,a]=await Promise.all([Yae(e,"mastra_agent_duration_ms",t),Yae(e,"mastra_workflow_duration_ms",t),Yae(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a,interval:BBt}}})}const LJe={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function pfs(){const{data:e,isLoading:t,isError:n}=ffs(),{getTracesHref:r,getBucketTracesHref:s}=YI(),{Link:a}=bn(),i=Ws();return o.jsx(lfs,{data:e,isLoading:t,isError:n,onPointClick:(l,c)=>{Number.isFinite(c.tsMs)&&i(s({rootEntityType:LJe[l]},c.tsMs,"1h"))},actions:l=>o.jsx(fL,{href:r({rootEntityType:LJe[l]}),LinkComponent:a})})}function hfs(e){return e==="threads"||e==="resources"}function Kae(e){return e.length<=12?e:`${e.slice(0,6)}…${e.slice(-4)}`}function mfs({threads:e,resources:t,getThreadRowHref:n,getResourceRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=typeof s=="function"?s(i):s;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Memory",description:"Resource and Thread consumption"}),i==="threads"&&d&&o.jsx(Wt.Summary,{value:p.toLocaleString(),label:"Total runs"}),i==="resources"&&f&&o.jsx(Wt.Summary,{value:h.toLocaleString(),label:"Total threads"}),g?o.jsx(Wt.Actions,{children:g}):null]}),m.isLoading?o.jsx(Wt.Loading,{}):m.isError?o.jsx(Wt.Error,{message:"Failed to load memory data"}):o.jsx(Wt.Content,{children:o.jsxs(pc,{defaultTab:"threads",value:i,onValueChange:y=>{hfs(y)&&l(y)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"threads",children:"Threads"}),o.jsx(jr,{value:"resources",children:"Resources"})]}),o.jsx(Kr,{value:"threads",children:d?o.jsxs(ge,{columns:"auto auto auto auto auto",...Ube,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Thread ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Runs"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),c.map(y=>{const b=n?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Kae(y.threadId)}),o.jsx(ge.NumberCell,{children:y.resourceId?Kae(y.resourceId):"—"}),o.jsx(ge.NumberCell,{highlight:!0,children:y.runs.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?Pl(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?em(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Wt.NoData,{message:"No thread activity yet"})}),o.jsx(Kr,{value:"resources",children:f?o.jsxs(ge,{columns:"auto auto auto auto",...Ube,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Resource ID"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Threads"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Tokens"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),u.map(y=>{const b=r?.(y),x=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:Kae(y.resourceId)}),o.jsx(ge.NumberCell,{highlight:!0,children:y.threadCount.toLocaleString()}),o.jsx(ge.NumberCell,{children:y.tokens>0?Pl(y.tokens):"—"}),o.jsx(ge.NumberCell,{children:y.cost!=null?em(y.cost,y.costUnit):"—"})]});return b?o.jsx(ge.RowLink,{to:b,LinkComponent:a,children:x},y.key):o.jsx(ge.RowStatic,{children:x},y.key)})]}):o.jsx(Wt.NoData,{message:"No resource activity yet"})})]})})]})}const Xae=20;function gfs(){const e=We(),{filters:t,filterKey:n}=Im();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:Xae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Xae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Xae})]),l=new Map,c=d=>QI(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 Jae=20;function vfs(){const e=We(),{filters:t,filterKey:n}=Im();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:Jae}),e.getMetricBreakdown({...r,name:["mastra_model_total_input_tokens"],aggregation:"sum",limit:Jae}),e.getMetricBreakdown({...r,name:["mastra_model_total_output_tokens"],aggregation:"sum",limit:Jae})]),l=new Map,c=d=>QI(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 yfs(){const e=gfs(),t=vfs(),{getTracesHref:n}=YI(),{Link:r}=bn();return o.jsx(mfs,{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 pL({label:e,value:t,prevValue:n,changePct:r,isLoading:s,isError:a}){const i=t!=null;return o.jsxs(Jr,{children:[o.jsx(Jr.Label,{children:e}),o.jsx(Jr.Value,{className:i?void 0:"invisible",children:i?t:"—"}),a?o.jsx(Jr.Error,{}):s?o.jsx(Jr.Loading,{}):i?r!=null?o.jsx(Jr.Change,{changePct:r,prevValue:n}):o.jsx(Jr.NoChange,{}):o.jsx(Jr.NoData,{})]})}function bfs(){const e=We(),{filters:t,filterKey:n}=Im();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 xfs(){const e=We(),{filters:t,filterKey:n}=Im();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 wfs(){const e=We(),{filters:t,filterKey:n}=Im();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 Sfs(){const e=We(),{filters:t,filterKey:n}=Im();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 kfs(){const{data:e,isLoading:t,isError:n}=LBt();return o.jsx(pL,{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 Ofs(){const{data:e,isLoading:t,isError:n}=wfs();return o.jsx(pL,{label:"Total Model Cost",value:e?.cost!=null?em(e.cost,e.costUnit):null,prevValue:e?.previousCost!=null?em(e.previousCost,e.costUnit):void 0,changePct:e?.costChangePercent??null,isLoading:t,isError:n})}function _fs(){const{data:e,isLoading:t,isError:n}=Sfs();return o.jsx(pL,{label:"Total Tokens",value:e?.value!=null?Pl(e.value):null,prevValue:e?.previousValue!=null?Pl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Cfs(){const{data:e,isLoading:t,isError:n}=xfs();return o.jsx(pL,{label:"Total Threads",value:e?.value!=null?Pl(e.value):null,prevValue:e?.previousValue!=null?Pl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Efs(){const{data:e,isLoading:t,isError:n}=bfs();return o.jsx(pL,{label:"Total Resources",value:e?.value!=null?Pl(e.value):null,prevValue:e?.previousValue!=null?Pl(e.previousValue):void 0,changePct:e?.changePercent??null,isLoading:t,isError:n})}function Tfs({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=>jfs(f,a));return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-3 items-start"),children:[o.jsx(NIe,{fields:a,tokens:i,onTokensChange:l,disabled:s,autoFocusFieldId:c}),u&&o.jsx(TIe,{disabled:s,onClear:d?e:void 0,onRemoveAll:t,onSave:n,onRemoveSaved:r})]})}function jfs(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 Nfs({rows:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const i=!!e&&e.length>0;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.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?em(l):"—":c.size===1?u=l>0?em(l,[...c][0]):"—":u="Mixed",o.jsx(Wt.Summary,{value:u,label:"Total cost"})})(),s?o.jsx(Wt.Actions,{children:s}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load model usage data"}):o.jsx(Wt.Content,{children:i?o.jsxs(ge,{columns:"auto auto auto auto auto auto",...Ube,children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{sticky:"start",children:"Model"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Input"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Output"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Read"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cache Write"}),o.jsx(ge.TopCell,{className:"justify-end text-right",children:"Cost"})]}),e.map(l=>{const c=r?.(l),u=o.jsxs(o.Fragment,{children:[o.jsx(ge.RowHeaderCell,{height:"compact",className:"text-ui-sm",children:l.model}),o.jsx(ge.NumberCell,{children:l.input}),o.jsx(ge.NumberCell,{children:l.output}),o.jsx(ge.NumberCell,{children:l.cacheRead}),o.jsx(ge.NumberCell,{children:l.cacheWrite}),o.jsx(ge.NumberCell,{highlight:!0,children:l.cost!=null?em(l.cost,l.costUnit):"—"})]});return c?o.jsx(ge.RowLink,{to:c,LinkComponent:a,children:u},l.model):o.jsx(ge.RowStatic,{children:u},l.model)})]}):o.jsx(Wt.NoData,{message:"No model usage data yet"})})]})}function Ifs(){const e=We(),{filters:t,filterKey:n}=Im();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=>QI(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:Pl(f.input),output:Pl(f.output),cacheRead:Pl(f.cacheRead),cacheWrite:Pl(f.cacheWrite),cost:f.cost,costUnit:f.costUnit})).sort((d,f)=>d.model.localeCompare(f.model))}})}function Afs(){const{data:e,isLoading:t,isError:n}=Ifs(),{getTracesHref:r}=YI(),{Link:s}=bn();return o.jsx(Nfs,{rows:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:()=>r({rootEntityType:lu.AGENT}),actions:o.jsx(fL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function Rfs(e){return e==="tokens"||e==="cost"}function Pfs({data:e,isLoading:t,isError:n,getRowHref:r,actions:s,LinkComponent:a}){const[i,l]=v.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,g=h?f.reduce((b,x)=>b+(x.cost??0),0):0,y=h&&g>0;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Token Usage by Agent",description:"Token consumption grouped by agent."}),u&&(i==="cost"&&y?o.jsx(Wt.Summary,{value:em(g,m),label:"Total cost"}):o.jsx(Wt.Summary,{value:Pl(d),label:"Total tokens"})),u&&s?o.jsx(Wt.Actions,{children:s}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load token usage data"}):o.jsx(Wt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:i,onValueChange:b=>{Rfs(b)&&l(b)},className:"grid h-full grid-rows-[auto_1fr] overflow-y-auto",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Kr,{value:"tokens",children:o.jsx(TN,{LinkComponent:a,data:c.map(b=>({name:b.name,values:[b.input,b.output],href:r?.(b)})),segments:[{label:"Input",color:Fp.blueDark},{label:"Output",color:Fp.blue}],maxVal:Math.max(...c.map(b=>b.input+b.output)),fmt:Pl})}),o.jsx(Kr,{value:"cost",children:y?o.jsx(TN,{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:Fp.purple}],maxVal:Math.max(...f.map(b=>b.cost??0)),fmt:b=>em(b,m)}):o.jsx(Wt.NoData,{message:"No cost data yet"})})]}):o.jsx(Wt.NoData,{message:"No token usage data yet"})})]})}function $fs(){const e=We(),{filters:t,filterKey:n}=Im();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=>QI(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 Mfs(){const{data:e,isLoading:t,isError:n}=$fs(),{getTracesHref:r}=YI(),{Link:s}=bn();return o.jsx(Pfs,{data:e,isLoading:t,isError:n,LinkComponent:s,getRowHref:a=>r({rootEntityType:lu.AGENT,entityName:a.name}),actions:o.jsx(fL,{href:r({rootEntityType:lu.AGENT}),LinkComponent:s})})}function Xbe(e,t=Pl){return n=>({value:t(n.reduce((r,s)=>r+(typeof s[e]=="number"?s[e]:0),0))})}const Dfs=[{dataKey:"input",label:"Input tokens",color:Fp.blue,aggregate:Xbe("input")},{dataKey:"output",label:"Output tokens",color:Fp.yellow,aggregate:Xbe("output")}];function Lfs(e){return e==="tokens"||e==="cost"}function Ffs({data:e,interval:t="1d",isLoading:n,isError:r,actions:s}){const[a,i]=v.useState("tokens"),l=e??[],c=l.map(k=>({...k})),u=l.length>0,d=l.reduce((k,C)=>k+C.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),g=m?[...h][0]??null:null,y=m?f.reduce((k,C)=>k+(C.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:Fp.purple,aggregate:Xbe("cost",k=>em(k,g))}];return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Token usage over time",description:x}),u&&(a==="cost"&&b?o.jsx(Wt.Summary,{value:em(y,g),label:"Total cost"}):o.jsx(Wt.Summary,{value:Pl(d),label:"Total tokens"})),u&&s?o.jsx(Wt.Actions,{children:s}):null]}),n?o.jsx(Wt.Loading,{}):r?o.jsx(Wt.Error,{message:"Failed to load token usage timeline"}):o.jsx(Wt.Content,{children:u?o.jsxs(pc,{defaultTab:"tokens",value:a,onValueChange:k=>{Lfs(k)&&i(k)},className:"overflow-visible",children:[o.jsxs(fc,{children:[o.jsx(jr,{value:"tokens",children:"Tokens"}),o.jsx(jr,{value:"cost",children:"Cost"})]}),o.jsx(Kr,{value:"tokens",children:o.jsx(Nq,{data:c,series:Dfs})}),o.jsx(Kr,{value:"cost",children:b?o.jsx(Nq,{data:p,series:S}):o.jsx(Wt.NoData,{message:"No cost data yet"})})]}):o.jsx(Wt.NoData,{message:"No token usage data yet"})})]})}function zfs(e){return e==="24h"?"1h":"1d"}function Bfs(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 FJe(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 Ufs(e){return e.cost==null||e.hasUnknownCostUnit||e.costUnits.size!==1?null:[...e.costUnits][0]??null}function qfs(){const e=We(),{datePreset:t,filters:n,filterKey:r}=Im(),s=zfs(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 FJe(l,a.series[0],"input"),FJe(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:Bfs(d,s),tsMs:u.tsMs,input:u.input,output:u.output,total:u.input+u.output,cost:u.cost,costUnit:Ufs(u)}}),interval:s}}})}function Vfs(){const{data:e,isLoading:t,isError:n}=qfs(),{getTracesHref:r}=YI(),{Link:s}=bn();return o.jsx(Ffs,{data:e?.data,interval:e?.interval,isLoading:t,isError:n,actions:o.jsx(fL,{href:r(),LinkComponent:s})})}function eie({data:e,rowHrefs:t,errorHrefs:n,LinkComponent:r}){return o.jsx(TN,{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:Fp.blueDark},{label:"Errors",color:Fp.pink}],maxVal:Math.max(...e.map(s=>s.completed+s.errors)),fmt:Pl})}function Hfs({data:e,isLoading:t,isError:n,getRowHref:r,getErrorSegmentHref:s,actions:a,LinkComponent:i}){const[l,c]=v.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,g)=>m+g.completed+g.errors,0):0,p=m=>r?g=>r(m,g):void 0,h=m=>s?g=>s(m,g):void 0;return o.jsxs(Wt,{children:[o.jsxs(Wt.TopBar,{children:[o.jsx(Wt.TitleAndDescription,{title:"Trace Volume",description:"Runs and call counts."}),d&&o.jsx(Wt.Summary,{value:Pl(f),label:"Total runs"}),u?o.jsx(Wt.Actions,{children:u}):null]}),t?o.jsx(Wt.Loading,{}):n?o.jsx(Wt.Error,{message:"Failed to load trace volume data"}):o.jsx(Wt.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(jr,{value:"agents",children:"Agents"}),o.jsx(jr,{value:"workflows",children:"Workflows"}),o.jsx(jr,{value:"tools",children:"Tools"})]}),o.jsx(Kr,{value:"agents",children:e.agentData.length>0?o.jsx(eie,{data:e.agentData,rowHrefs:p("agents"),errorHrefs:h("agents"),LinkComponent:i}):o.jsx(Wt.NoData,{message:"No agent data yet"})}),o.jsx(Kr,{value:"workflows",children:e.workflowData.length>0?o.jsx(eie,{data:e.workflowData,rowHrefs:p("workflows"),errorHrefs:h("workflows"),LinkComponent:i}):o.jsx(Wt.NoData,{message:"No workflow data yet"})}),o.jsx(Kr,{value:"tools",children:e.toolData.length>0?o.jsx(eie,{data:e.toolData,rowHrefs:p("tools"),errorHrefs:h("tools"),LinkComponent:i}):o.jsx(Wt.NoData,{message:"No tool data yet"})})]}):o.jsx(Wt.NoData,{message:"No trace volume data yet"})})]})}async function tie(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=QI(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 Wfs(){const e=We(),{filters:t,filterKey:n}=Im();return yt({queryKey:["metrics","trace-volume",n],queryFn:async()=>{const[r,s,a]=await Promise.all([tie(e,"mastra_agent_duration_ms",t),tie(e,"mastra_workflow_duration_ms",t),tie(e,"mastra_tool_duration_ms",t)]);return{agentData:r,workflowData:s,toolData:a}}})}const Ez={agents:lu.AGENT,workflows:lu.WORKFLOW_RUN,tools:lu.TOOL};function Zfs(){const{data:e,isLoading:t,isError:n}=Wfs(),{getTracesHref:r,getLogsHref:s}=YI(),{Link:a}=bn();return o.jsx(Hfs,{data:e,isLoading:t,isError:n,LinkComponent:a,getRowHref:(i,l)=>r({rootEntityType:Ez[i],entityName:l.name}),getErrorSegmentHref:(i,l)=>l.errors>0?s({rootEntityType:Ez[i],entityName:l.name,status:"error"}):void 0,actions:i=>o.jsxs(o.Fragment,{children:[o.jsx(fL,{href:r({rootEntityType:Ez[i]}),LinkComponent:a}),o.jsx(afs,{href:s({rootEntityType:Ez[i],status:"error"}),LinkComponent:a})]})})}const nie="period",Tz="dateFrom",jz="dateTo";function Gfs(){const[e,t]=ri(),n=e.get(nie),r=Yds(n)?n:"24h",s=v.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(Tz)),p=d(e.get(jz));if(!(!f&&!p))return{from:f,to:p}},[r,e.toString()]),a=v.useMemo(()=>qds(e),[e.toString()]),i=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d==="24h"?p.delete(nie):p.set(nie,d),d!=="custom"&&(p.delete(Tz),p.delete(jz)),p},{replace:!0})},[t]),l=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return d?.from?p.set(Tz,d.from.toISOString()):p.delete(Tz),d?.to?p.set(jz,d.to.toISOString()):p.delete(jz),p},{replace:!0})},[t]),c=v.useCallback(d=>{t(f=>{const p=new URLSearchParams(f);return Hds(p,d),p},{replace:!0})},[t]),u=v.useRef(!1);return v.useEffect(()=>{if(u.current||(u.current=!0,Bds(e)))return;const d=$Bt();d&&t(f=>{const p=new URLSearchParams(f);for(const[h,m]of d)p.append(h,m);return p},{replace:!0})},[]),o.jsx(Xds,{preset:r,filterTokens:a,onPresetChange:i,onFilterTokensChange:c,customRange:s,onCustomRangeChange:l,children:o.jsx(Qfs,{})})}function Qfs(){const[e]=ri(),{error:t,isLoading:n}=LBt(),{filterTokens:r,setFilterTokens:s}=aQ(),[a,i]=v.useState(),{supportsMetrics:l,isInMemory:c,isLoading:u}=fBt(),{data:d,isLoading:f}=UIe(),{data:p,isLoading:h}=FIe(),{data:m,isLoading:g}=BIe(),{data:y,isLoading:b}=zIe(),x=v.useMemo(()=>Uds({availableTags:d??[],availableEntityNames:p??[],availableServiceNames:m??[],availableEnvironments:y??[],loading:{tags:f,entityNames:h,serviceNames:g,environments:b}}),[d,p,m,y,f,h,g,b]),[S,k]=v.useState(()=>$Bt()!==null),C=v.useCallback(()=>{Fds(e),k(!0),De.success("Filters setting for Metrics saved")},[e]),_=v.useCallback(()=>{zds(),k(!1),De.success("Filters setting for Metrics cleared up")},[]),E=v.useCallback(()=>{s([])},[s]),T=v.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&&ws(t)?o.jsx(cr,{children:o.jsx(Zs,{})}):t&&Ss(t)?o.jsx(cr,{children:o.jsx($s,{resource:"metrics"})}):t?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load metrics",message:t.message})}):o.jsxs(Bt,{width:"wide",height:"full",children:[o.jsxs(Bt.TopArea,{children:[o.jsx(Bt.Row,{children:o.jsxs(Bt.Column,{className:"flex flex-wrap items-start justify-start gap-2",children:[o.jsx(nfs,{}),o.jsx(IIe,{fields:x,tokens:r,onTokensChange:s,disabled:n,onStartTextFilter:i})]})}),o.jsx(Tfs,{isLoading:n,filterFields:x,filterTokens:r,onFilterTokensChange:s,onClear:T,onRemoveAll:E,onSave:C,onRemoveSaved:S?_:void 0,autoFocusFilterFieldId:a})]}),u?null:l?o.jsxs("div",{className:"grid content-start gap-8 pb-10",children:[c&&o.jsx(Sn,{variant:"info",title:"Metrics are not persisted",children:o.jsx(Sn.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(Wbe,{children:[o.jsx(kfs,{}),o.jsx(Ofs,{}),o.jsx(_fs,{}),o.jsx(Cfs,{}),o.jsx(Efs,{})]}),o.jsxs(Wbe,{children:[o.jsx(Afs,{}),o.jsx(Mfs,{}),o.jsx(Vfs,{}),o.jsx(yfs,{}),o.jsx(Zfs,{}),o.jsx(pfs,{})]})]}):o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Lr,{iconSlot:o.jsx(Rf,{}),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(ce,{variant:"ghost",as:"a",href:"https://mastra.ai/docs/observability/metrics/overview",target:"_blank",rel:"noopener noreferrer",children:["Metrics Documentation ",o.jsx(_a,{})]})})})]})}const Yfs=50;function Kfs(){const{paths:e}=bn(),{isCmsAvailable:t}=sS(),[n,r]=v.useState(""),[s,a]=v.useState(0),{data:i,isLoading:l,error:c,isPlaceholderData:u}=u9t({page:s,perPage:Yfs}),d=i?.promptBlocks??[],f=i?.hasMore??!1,p=v.useCallback(()=>{u||a(g=>g+1)},[u]),h=v.useCallback(()=>{u||a(g=>Math.max(0,g-1))},[u]),m=v.useCallback(g=>{r(g),a(0)},[]);return c&&ws(c)?o.jsx(cr,{children:o.jsx(Zs,{})}):c&&Ss(c)?o.jsx(cr,{children:o.jsx($s,{resource:"prompt blocks"})}):c?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load prompt blocks",message:c.message})}):d.length===0&&!l&&s===0?o.jsx(cr,{children:o.jsx(Pes,{})}):o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsxs(Bt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:m,label:"Filter prompts",placeholder:"Filter by name or description"})}),t&&o.jsxs(ce,{as:Fa,to:e.cmsPromptBlockCreateLink(),variant:"primary",className:"shrink-0",children:[o.jsx(Wr,{}),"Create Prompt"]})]})}),o.jsx(Res,{promptBlocks:d,isLoading:l,search:n,currentPage:s,hasMore:f,onNextPage:p,onPrevPage:h})]})}function Xfs(){return o.jsx(Bt,{width:"narrow",children:o.jsx(Bt.MainArea,{children:o.jsx(fKr,{children:o.jsx(xbe,{})})})})}const Jfs=[{title:"Mastra APIs",description:"Explore and test the available REST API endpoints with the interactive Swagger UI.",icon:uZt,href:"/swagger-ui",external:!1},{title:"Documentation",description:"Read the official Mastra documentation for guides, references, and tutorials.",icon:got,href:"https://mastra.ai/en/docs",external:!0},{title:"Github",description:"Browse the source code, report issues, and contribute to the Mastra project.",icon:_a,href:"https://github.com/mastra-ai/mastra",external:!0},{title:"Community",description:"Join the Mastra Discord community for help, discussion, and collaboration.",icon:cj,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:Oot,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:vot,href:"https://mastra.ai/contact?ref=studio",external:!0}];function eps(){return o.jsx(Bt,{width:"narrow",children:o.jsx(Bt.MainArea,{children:o.jsx("div",{className:"grid max-w-3xl grid-cols-1 gap-4 sm:grid-cols-2",children:Jfs.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(_a,{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 tps(){const{data:e={},isLoading:t,error:n}=ah(),[r,s]=v.useState(""),[a,i]=v.useState("all");if(n&&ws(n))return o.jsx(cr,{children:o.jsx(Zs,{})});if(n&&Ss(n))return o.jsx(cr,{children:o.jsx($s,{resource:"scorers"})});if(n)return o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load scorers",message:n.message})});if(Object.keys(e).length===0&&!t)return o.jsx(cr,{children:o.jsx(BXr,{})});const l=a!=="all"||r!=="",c=()=>{s(""),i("all")};return o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx(qXr,{search:r,onSearchChange:s,sourceFilter:a,onSourceFilterChange:i,onReset:c,hasActiveFilters:l})}),o.jsx(zXr,{scorers:e,isLoading:t,search:r,sourceFilter:a})]})}function nps(){const{scorerId:e}=Sr(),[t,n]=ri(),r=t.get("scoreId")??void 0,[s,a]=v.useState(r),[i,l]=v.useState({value:"all",label:"All Entities",type:"ALL"}),{scorer:c,error:u}=vXr(e),{data:d={},isLoading:f,error:p}=Em(),{isLoading:h,error:m}=qy(),{data:g=[],isLoading:y,error:b,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k}=gXr({scorerId:e,entityId:i?.value==="all"?void 0:i?.value,entityType:i?.type==="ALL"?void 0:i?.type}),C=v.useMemo(()=>c?.agentIds?.filter(q=>d[q]).map(q=>({value:q,label:d[q].name,type:"AGENT"}))||[],[c?.agentIds,d]),_=v.useMemo(()=>c?.workflowIds?.map(q=>({value:q,label:q,type:"WORKFLOW"}))||[],[c?.workflowIds]),E=v.useMemo(()=>[{value:"all",label:"All Entities",type:"ALL"},...C,..._],[C,_]),T=t.get("entity")??"all",N=E.find(q=>q.value===T);N&&N.value!==i?.value&&l(N),v.useEffect(()=>{if(u){const q=u instanceof Error?u.message:"Failed to load scorer";De.error(`Error loading scorer: ${q}`)}},[u]),v.useEffect(()=>{if(p){const q=p instanceof Error?p.message:"Failed to load agents";De.error(`Error loading agents: ${q}`)}},[p]),v.useEffect(()=>{if(m){const q=m instanceof Error?m.message:"Failed to load workflows";De.error(`Error loading workflows: ${q}`)}},[m]);const I=q=>{q?.value&&n(M=>{const G=new URLSearchParams(M);return G.set("entity",q.value),G})};v.useEffect(()=>{const q=t.get("scoreId")??void 0;if(q===s)return;if(!q){a(void 0);return}g.find(G=>G.id===q)&&a(q)},[t,g]);const A=v.useCallback(q=>{a(q||void 0),n(M=>{const G=new URLSearchParams(M);return q?G.set("scoreId",q):G.delete("scoreId"),G})},[n]);if(!c)return null;const R=ws(u)||ws(p)||ws(m),L=u&&Ss(u),D=!R&&!L&&(u||p||m),F=!y&&g.length===0,H=i?.value!=="all",z=c?.scorer?.source==="stored"?o.jsx(Ry,{owner:"scorer-detail",children:o.jsxs(ce,{variant:"default",as:Fa,to:`/cms/scorers/${e}/edit`,size:"sm",children:[o.jsx(sm,{})," Edit"]})}):null;if(R||L||D||F&&!H){const q=(u instanceof Error?u.message:void 0)??(p instanceof Error?p.message:void 0)??(m instanceof Error?m.message:void 0)??"An unexpected error occurred";return o.jsxs(Bt,{width:"wide",height:"full",children:[z,o.jsx(Bt.MainArea,{isCentered:!0,children:R?o.jsx(Zs,{}):L?o.jsx($s,{resource:"scorers"}):D?o.jsx(Vi,{title:"Failed to load scorer",message:q}):o.jsx(cXr,{})})]})}return o.jsxs(Bt,{width:"wide",children:[z,o.jsx(Bt.TopArea,{children:o.jsx(uXr,{selectedEntity:i,entityOptions:E,onEntityChange:I,onReset:()=>{n(q=>{const M=new URLSearchParams(q);return M.set("entity","all"),M})},isLoading:y||f||h})}),o.jsx(lXr,{scores:g,isLoading:y,selectedScoreId:s,isFetchingNextPage:x,hasNextPage:S,setEndOfListElement:k,onScoreClick:A,errorMsg:b?.message})]})}function rps({label:e,description:t,htmlFor:n,className:r,children:s}){return o.jsxs("div",{className:X("flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between",r),"data-slot":"settings-row",children:[o.jsxs("div",{children:[n?o.jsx(Ft,{htmlFor:n,className:"text-sm font-medium",children:e}):o.jsx("p",{className:"text-sm font-medium",children:e}),t&&o.jsx("p",{className:"text-neutral3 text-sm",children:t})]}),s]})}const UBt=[{value:"dark",label:"Dark",Icon:qGt},{value:"light",label:"Light",Icon:tYt},{value:"system",label:"System",Icon:Iot}],sps=e=>UBt.some(t=>t.value===e);function aps({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 ips=()=>{const{baseUrl:e,headers:t,apiPrefix:n}=KV(),{theme:r,setTheme:s}=L_();return o.jsx(Bt,{width:"narrow",children:o.jsxs(Bt.MainArea,{className:"mt-6 flex flex-col gap-5",children:[o.jsx(tbe,{title:"Theme",description:"Customize the appearance of the studio.",children:o.jsx(rps,{label:"Theme mode",htmlFor:"theme",children:o.jsxs(ma,{value:r,onValueChange:a=>{sps(a)&&s(a)},children:[o.jsx(va,{id:"theme",className:"w-full sm:w-48",children:o.jsx(ga,{className:"inline-flex max-w-full min-w-0 items-center"})}),o.jsx(ya,{children:UBt.map(a=>o.jsx(Rr,{value:a.value,children:o.jsx(aps,{option:a})},a.value))})]})})}),o.jsx(tbe,{title:"Mastra Connection",description:"Configure the Mastra instance URL, API prefix, and request headers used by the studio.",children:o.jsx(ZMt,{initialConfig:{baseUrl:e,headers:t,apiPrefix:n}})})]})})};function ops(){const[e]=ri(),t=Ws(),n=e.get("redirect")||"/",r=()=>{n.startsWith("http")?window.location.href=n:t(n,{replace:!0})};return o.jsx(ABt,{redirectUri:n,onSuccess:r,initialMode:"signup"})}const qBt=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 lps(e){return e.replace(/\/$/,"").split("/").pop()}function iQ({children:e,className:t}){return o.jsx("div",{className:X("border border-border1 rounded-lg mt-12 py-8 lg:min-h-[25rem] transition-height px-4 lg:px-12",t),children:e})}function cps({templates:e,linkComponent:t,className:n,isLoading:r}){const s=t||"a";return r?o.jsx("div",{className:X("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:X("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:X("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:X("grid [&:hover_p]:text-neutral5",{"grid-cols-[8rem_1fr] lg:grid-cols-[12rem_1fr]":a.imageURL}),children:[a.imageURL&&o.jsx("div",{className:X("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:X("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:X("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(qo,{})," ",a.agents.length]}),a?.tools&&a.tools.length>0&&o.jsxs("li",{children:[o.jsx(Ld,{})," ",a.tools.length]}),a?.networks&&a.networks.length>0&&o.jsxs("li",{children:[o.jsx(Aot,{})," ",a.networks.length]}),a?.workflows&&a.workflows.length>0&&o.jsxs("li",{children:[o.jsx(FN,{})," ",a.workflows.length]}),a?.mcp&&a.mcp.length>0&&o.jsxs("li",{children:[o.jsx(fC,{})," ",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:X("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(qBt,{})," ",lps(a.githubUrl)]})})]},a.slug)})})}function ups({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:X("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:X("flex flex-wrap mx-auto sticky top-0 gap-4 bg-surface2 py-8",u),children:[o.jsx(pN,{name:"search-templates",label:"Search templates",labelIsHidden:!0,value:i,onChange:f=>l?.(f.target.value),placeholder:"Search Template"}),o.jsx(Cc,{label:"Filter by tag",labelIsHidden:!0,name:"filter-tag",value:t,onValueChange:s,options:e}),o.jsx(Cc,{label:"Filter by provider",labelIsHidden:!0,name:"filter-provider",value:r,onValueChange:a,options:n}),c&&o.jsxs(ce,{onClick:c,children:["Reset ",o.jsx(fs,{})]})]})}function dps(){const{data:e,isLoading:t}=Her(),{templates:n,tags:r,providers:s}=e??{templates:[],tags:[],providers:[]},[a,i]=v.useState("all"),[l,c]=v.useState("all"),[u,d]=v.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)},g=()=>{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(ds,{children:[o.jsx(u1e,{children:o.jsxs(zvt,{children:[o.jsx(qe,{children:o.jsx(Qv,{})}),"Templates"]})}),o.jsxs("div",{className:X("overflow-y-auto w-full h-full px-8 pb-12 z-10"),children:[o.jsx(ups,{selectedTag:a,onTagChange:x=>h(x,"tag"),tagOptions:f,selectedProvider:l,onProviderChange:x=>h(x,"provider"),providerOptions:p,searchTerm:u,onSearchChange:m,onReset:b?g:void 0,className:"max-w-[80rem]",isLoading:t}),o.jsx(cps,{templates:y,linkComponent:Fa,className:"mx-auto max-w-[80rem]",isLoading:t})]})]})}const fps="1.58.0-alpha.8";function pps({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(Td,{className:"text-yellow-500"}),title:"Template Installed with Warnings"}:{icon:o.jsx(FZt,{}),title:"Template Installation Failed"},{icon:l,title:c}=i();return o.jsxs(iQ,{className:"text-neutral3 mb-8 content-center space-y-4",children:[o.jsxs("div",{className:X("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 hps({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(iQ,{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:X("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(Rot,{})]}),o.jsx(Cc,{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:X("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(Jt,{})," Loading variables..."]}):Object.entries(r).map(([p,h])=>o.jsxs(v.Fragment,{children:[o.jsx(_O,{name:`env-${p}`,labelIsHidden:!0,label:"Key",value:p,disabled:!0,className:"w-full"}),o.jsx(_O,{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(z8t,{defaultProvider:u||"",defaultModel:d||"",updateModel:f||(()=>Promise.resolve({message:"Updated"})),closeEditor:()=>{},autoSave:!0,selectProviderPlaceholder:"Provider"})]})]}),t&&!l&&o.jsx(ce,{className:X("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(Jt,{className:"h-4 w-4"})," Installing..."]}):o.jsxs(o.Fragment,{children:["Install ",o.jsx(gm,{})]})})]})})}function mps({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:X("grid mt-8 items-center"),children:o.jsxs("div",{className:X("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(Qv,{}),o.jsx("h2",{className:X({"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:X("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:X("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(Hx,{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(pxe,{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(qBt,{}),n?.split("/")?.pop()]})]}),s&&o.jsx(tIe,{data:s,labelsAreHidden:!0,isLoading:r})]})]})}function gps(e){switch(e){case"running":return o.jsx(Jt,{});case"success":return o.jsx(kx,{});case"failed":return o.jsx(Gu,{});default:return null}}function vps({stepId:e,step:t,isActive:n,position:r}){const s=a=>a.charAt(0).toUpperCase()+a.slice(1).replace(/-/g," ");return o.jsxs("div",{className:X("grid grid-cols-[1fr_auto] gap-6 rounded-lg px-4 py-3",xs.all,{"border border-dashed border-neutral2 bg-surface3":n}),children:[o.jsxs("div",{className:"grid grid-cols-[auto_1fr] gap-2",children:[o.jsxs("span",{className:X("flex min-w-6 justify-end text-ui-md",xs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:[r,"."]}),o.jsxs("div",{children:[o.jsx("h4",{className:X("text-ui-md",xs.colors,{"text-neutral5":n||t.status==="success","text-neutral3":!n&&t.status!=="success"}),children:s(e)}),t.description&&o.jsx("p",{className:"text-ui-md text-neutral2 -mt-0.5",children:t.description})]})]}),o.jsx("div",{className:X("flex size-[1.75rem] items-center justify-center self-center rounded-full",xs.all,{"border border-neutral2 border-dashed":t.status==="pending","[&>svg]:text-white [&>svg]:w-4 [&>svg]:h-4":t.status!=="running","w-[1.75rem] h-[1.75rem]":t.status==="running","bg-accent1Dark shadow-glow-accent1":t.status==="success","bg-accent2Dark shadow-glow-accent2":t.status==="failed","scale-110":t.status==="success"||t.status==="failed"}),children:gps(t.status)})]})}function yps({currentStep:e,steps:t=[],className:n}){return o.jsx("div",{className:X(n),children:t.map((r,s)=>o.jsx(vps,{stepId:r.id,step:r,isActive:e?.id===r.id,position:s+1},r.id))})}function bps({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:X("relative flex h-8 items-center justify-end",xs.colors,{"bg-accent1Dark":r.status==="success"&&e?.[s-1]?.status==="success"}),children:o.jsx("div",{className:X("absolute right-0 z-10 flex size-[2rem] translate-x-[50%] items-center justify-center self-center rounded-full bg-surface3 text-ui-sm font-bold text-neutral3",xs.all,{"border border-neutral2 border-dashed":r.status==="pending","[&>svg]:text-surface1 [&>svg]:w-[1.1rem] [&>svg]:h-[1.1rem]":r.status!=="running","bg-accent1Dark text-white shadow-glow-accent1 scale-110":r.status==="success","bg-accent2Dark text-white shadow-glow-accent2 scale-110":r.status==="failed"}),children:r.status==="running"?o.jsx(Jt,{}):s+1})},r.id))}),o.jsxs("div",{className:X("text-center text-xs text-neutral3",xs.colors),children:[n," of ",t," steps completed"]})]})}function xps({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=g=>g==="input"||g.endsWith(".input")||g.startsWith("Mapping_")&&/[0-9a-f]{8}/.test(g)||/[0-9a-f]{8,}/.test(g)?!1:r?.allSteps?g in r.allSteps:!0,f=Object.entries(c).filter(([g,y])=>d(g)),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(([g,y])=>({id:g,status:y?.status,description:y?.description,title:g.charAt(0).toUpperCase()+g.slice(1).replace(/-/g," "),isActive:i?.id===g}));return o.jsxs(iQ,{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(bps,{steps:m})}),l&&s==="error"&&o.jsxs("div",{className:X("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(JGt,{}),l||"Something went wrong"]}),u&&o.jsx(yps,{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(Jt,{}),o.jsx("p",{children:"This may take some time..."})]})]})}function wps({name:e,installedEntities:t}){return o.jsxs(iQ,{className:X("grid items-center justify-items-center gap-4 content-center","[&>svg]:w-8 [&>svg]:h-8"),children:[o.jsx(Rot,{}),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(tIe,{data:t})]})}function Sps(){const{templateSlug:e}=Sr(),[t,n]=ri(),[r,s]=v.useState(""),[a,i]=v.useState(""),[l,c]=v.useState(""),[u,d]=v.useState({}),[f,p]=v.useState([]),[h,m]=v.useState(null),[g,y]=v.useState(!1),[b,x]=v.useState(""),[S,k]=v.useState(!1),[C,_]=v.useState(!1),[E,T]=v.useState([]),{data:N,isLoading:I}=Wer({repoOrSlug:e,owner:"mastra-ai"}),R=fps?.includes("beta")??!1?"beta":"main",{data:L,isLoading:D}=Zer({repo:N?.githubUrl?new URL(N.githubUrl).pathname.split("/")[2]:`template-${e}`,owner:"mastra-ai",branch:R}),{data:F,isLoading:H}=Ger(),{mutateAsync:z,isPending:U}=Qer(),{mutateAsync:q}=Yer(),{streamInstall:M,streamResult:G,isStreaming:V}=Xer(F),{observeInstall:$,streamResult:B,isStreaming:Z}=Jer(F);v.useEffect(()=>{const re=t.get("runId");re&&!g&&!h&&!V&&!Z&&(console.info("🔄 Checking completed run after hot reload:",{runId:re}),x(re),q({runId:re}).then(le=>{const ue=le.snapshot;if(ue?.status==="success"&&ue?.result?.success)y(!0);else if(ue?.result?.success===!1)if(ue?.result?.validationResults&&!ue?.result?.validationResults?.valid&&ue?.result?.validationResults?.remainingErrors>0){const{remainingErrors:me,errors:be}=ue.result.validationResults,xe=`Template installation completed but ${me} validation issue${me>1?"s":""} remain unresolved.`;m(xe),T(be||[])}else{const me=ue?.result?.message||ue?.result?.error||"Template installation failed";m(typeof me=="string"?me:String(me))}}).catch(le=>{console.error("❌ Failed to fetch run details:",le),m("Failed to retrieve installation status after reload")}))},[t,g,h,V,Z,q]),v.useEffect(()=>{const re=t.get("runId"),le=t.get("resume"),ue=t.get("provider");if(re&&le==="true"&&ue&&!V&&!Z&&!S&&!C&&F){x(re),k(!0);try{q({runId:re}).then(oe=>{if(oe.snapshot?.status==="running")return $.mutateAsync({runId:re})}).then(()=>{n(oe=>{const me=new URLSearchParams(oe);return me.delete("resume"),me})}).catch(oe=>{console.error("❌ Failed to resume template installation:",oe),oe.message?.includes("404")||oe.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(oe){console.error("❌ Auto-resume failed with error:",oe),m("Failed to resume template installation. Please refresh and try again.")}}},[t,e,V,Z,S,C,F,q,$,n]);const K=[{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(re=>re).join(", "):"n/a",icon:o.jsx(Ld,{})},{key:"agents",label:"Agents",value:N?.agents?.length?N.agents.map(re=>re).join(", "):"n/a",icon:o.jsx(qo,{})},{key:"workflows",label:"Workflows",value:N?.workflows?.length?N.workflows.map(re=>re).join(", "):"n/a",icon:o.jsx(FN,{})},{key:"providers",label:"Providers",value:N?.supportedProviders?.length?N.supportedProviders.join(", "):"n/a",icon:o.jsx(Pv,{})},{key:"tags",label:"Tags",value:N?.tags?.length?N.tags.join(", "):"n/a",icon:o.jsx(LN,{})}],ee=[{...ne[0]},{...ne[1]},{...ne[2]}].filter(re=>re.value!=="n/a");v.useEffect(()=>{L&&d(L)},[L]),v.useEffect(()=>{const re=G||B;re?.phase==="error"&&re?.error&&m(typeof re.error=="string"?re.error:String(re.error))},[G?.phase,G?.error,B?.phase,B?.error]);const J=re=>{s(re)},ae=async re=>(i(re.provider),c(re.modelId),{message:"Model updated successfully"}),fe=async()=>{const re=Object.entries(u).reduce((le,[ue,oe])=>(oe===""&&le.push(ue),le),[]);if(re.length>0){p(re);return}if(N){m(null),y(!1),x(""),_(!0);try{const ue={repo:N.githubUrl||`https://github.com/mastra-ai/template-${N.slug}`,ref:R,slug:N.slug,variables:u},{runId:oe}=await z({});x(oe),n(me=>{const be=new URLSearchParams(me);return be.set("runId",oe),be.set("resume","true"),be.set("provider",r||"openai"),be}),await M.mutateAsync({inputData:ue,selectedModel:{provider:a,modelId:l},runId:oe})}catch(le){_(!1),m(le?.message||"Template installation failed"),console.error("Template installation failed",le)}}},Y=re=>{const{name:le,value:ue}=re.target;ue.trim()===""?p(oe=>[...oe,le]):p(oe=>oe.filter(me=>me!==le)),d(oe=>({...oe,[le]:ue}))};return o.jsx(ds,{children:o.jsx("div",{className:X("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(mps,{isLoading:I,title:N?.title,description:N?.longDescription,imageURL:N?.imageURL,githubUrl:N?.githubUrl,infoData:ne,templateSlug:e}),N&&o.jsxs(o.Fragment,{children:[(V||Z)&&o.jsx(xps,{name:N.title,streamResult:Z?B:G,runId:b,workflowInfo:F}),g&&o.jsx(wps,{name:N.title,installedEntities:ee,linkComponent:Fa}),h&&o.jsx(pps,{errorMsg:h,validationErrors:E.length>0?E:G?.validationResults?.errors||B?.validationResults?.errors}),!V&&!Z&&!g&&!h&&o.jsx(hps,{providerOptions:K,selectedProvider:r,onProviderChange:J,variables:u,setVariables:d,errors:f,setErrors:p,handleInstallTemplate:fe,handleVariableChange:Y,isLoadingEnvVars:D||H,isInstalling:U,defaultModelProvider:a,defaultModelId:l,onModelUpdate:ae})]})]})})})}const kps=()=>{const{toolId:e,agentId:t}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-auto",children:o.jsx(KJr,{toolId:e,agentId:t})})},Ops=()=>{const{toolId:e}=Sr();return o.jsx("div",{className:"h-full w-full overflow-y-hidden",children:o.jsx(jds,{toolId:e})})};function _ps(){const{traceId:e}=Sr(),[t,n]=ri(),r=Ws(),s=t.get("spanId")||void 0,a=t.get("tab"),i=a==="scoring"?"scoring":a==="feedback"?"feedback":"details",l=t.get("scoreId")||void 0,[c,u]=v.useState(s??null),[d,f]=v.useState(),[p,h]=v.useState(i),[m,g]=v.useState(0),[y,b]=v.useState(!1),{data:x,isLoading:S,error:k}=qIe(e),C=v.useMemo(()=>x?.spans??[],[x?.spans]),_=v.useMemo(()=>C.find(ae=>ae.parentSpanId==null),[C]),{data:E,isLoading:T}=uL(e,c??"");v.useEffect(()=>g(0),[e,c]);const{data:N,isLoading:I}=ah(),{data:A,isLoading:R}=a9t({traceId:e,spanId:c??void 0,page:m}),[L,D]=v.useState(0);v.useEffect(()=>D(0),[e,c]);const{data:F,isLoading:H}=xBt({traceId:e,page:L});v.useEffect(()=>{if(l&&A?.scores&&!d){const ae=A.scores.find(fe=>fe.id===l);ae&&f(ae)}},[l,A?.scores,d]);const z=v.useCallback(ae=>{const fe=new URLSearchParams(t);for(const[Y,re]of Object.entries(ae))re===null||re===""?fe.delete(Y):fe.set(Y,re);n(fe,{replace:!0})},[t,n]),U=v.useCallback(ae=>{const fe=ae??null,Y=fe===c;u(fe),Y||(f(void 0),h("details"),z({spanId:fe,tab:null,scoreId:null}))},[c,z]),q=v.useCallback(()=>{u(null),f(void 0),h("details"),z({spanId:null,tab:null,scoreId:null})},[z]),M=v.useCallback(ae=>{u(ae),f(void 0),h("details"),z({spanId:ae,tab:null,scoreId:null})},[z]),{handlePreviousSpan:G,handleNextSpan:V}=VIe(C,c,M),$=v.useCallback(ae=>{const fe=ae;h(fe),f(void 0),z({tab:fe==="details"?null:fe,scoreId:null})},[z]),B=v.useCallback(ae=>{f(ae),z({scoreId:ae.id})},[z]),Z=v.useCallback(()=>{f(void 0),z({scoreId:null})},[z]),K=v.useCallback(()=>{r("/traces")},[r]),ne=v.useCallback(()=>{h("scoring"),_&&c!==_.spanId?(u(_.spanId),f(void 0),z({spanId:_.spanId,tab:"scoring",scoreId:null})):z({tab:"scoring"})},[_,c,z]),ee=_?o.jsx(Ry,{owner:"trace-detail",children:o.jsxs(Mr,{children:[o.jsxs(ce,{tooltip:"Evaluate Trace","aria-label":"Evaluate Trace",onClick:ne,children:[o.jsx(AWt,{}),"Evaluate"]}),o.jsxs(ce,{tooltip:"Save as Dataset Item","aria-label":"Save as Dataset Item",onClick:()=>b(!0),children:[o.jsx(Ed,{}),"Save"]})]})}):null,J=_?o.jsx(Bt.Row,{children:o.jsx(Bt.Column,{children:o.jsx(rBt,{rootSpan:_,numOfCol:3})})}):null;return k?o.jsxs(Bt,{height:"full",children:[ee,J&&o.jsx(Bt.TopArea,{children:J}),o.jsx(Bt.MainArea,{isCentered:!0,children:o.jsx(lBt,{error:k,resource:"traces",errorTitle:"Failed to load trace"})})]}):o.jsxs(Bt,{height:"full",className:"grid-rows-[auto_minmax(0,1fr)] content-normal",children:[ee,J&&o.jsx(Bt.TopArea,{children:J}),o.jsx(mBt,{rootSpanId:_?.spanId,traceId:e,isOpen:y,onClose:()=>b(!1)}),o.jsxs("div",{className:X("mt-4 grid min-h-0 items-stretch gap-4 overflow-hidden",c?"grid-cols-[2fr_3fr]":"grid-cols-[1fr]"),children:[o.jsx(MIe,{traceId:e,spans:C,isLoading:S,onClose:K,onSpanSelect:U,onEvaluateTrace:ne,initialSpanId:c,placement:"trace-page",timelineChartWidth:c?"default":"wide"}),c&&!S&&o.jsxs("div",{className:X("grid h-full max-h-full min-h-0 gap-4 overflow-auto",d?"grid-rows-[1fr_1fr]":"grid-rows-[1fr]"),children:[o.jsx(RIe,{traceId:e,spanId:c,span:E?.span,isLoading:T,onClose:q,onPrevious:G,onNext:V,activeTab:p,onTabChange:$,feedbackTabBadge:F?.pagination?.total??void 0,feedbackTabSlot:()=>o.jsx(vBt,{feedbackData:F,onPageChange:D,isLoadingFeedbackData:H}),scoringTabBadge:A?.pagination?.total??void 0,scoringTabSlot:({span:ae,traceId:fe,spanId:Y})=>o.jsxs("div",{className:"grid gap-6",children:[o.jsx(bBt,{traceId:fe,isTopLevelSpan:!ae.parentSpanId,spanId:Y,entityType:ae.attributes?.agentId||ae.entityType===lu.AGENT?"Agent":ae.attributes?.workflowId||ae.entityType===lu.WORKFLOW_RUN?"Workflow":void 0,scorers:N,isLoadingScorers:I}),o.jsx(yBt,{scoresData:A,onPageChange:g,isLoadingScoresData:R,onScoreSelect:B})]})}),d&&o.jsx(eIe,{score:d,onClose:Z})]})]})]})}function Cps(){const{data:e,isLoading:t,error:n}=qy(),[r,s]=v.useState("");return n&&ws(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"workflows"})}):n?o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load workflows",message:n.message})}):Object.keys(e||{}).length===0&&!t?o.jsx(cr,{children:o.jsx(N7r,{})}):o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsxs(Bt.Row,{align:"center",stack:"responsive",children:[o.jsx("div",{className:"max-w-120 flex-1",children:o.jsx(Lf,{onSearch:s,label:"Filter workflows",placeholder:"Filter by name or description"})}),o.jsxs(ce,{as:Fa,to:"/workflows/schedules",variant:"primary",className:"shrink-0",children:[o.jsx(vD,{}),"Schedules"]})]})}),o.jsx(j7r,{workflows:e||{},isLoading:t,search:r})]})}const Eps={active:"bg-accent1",paused:"bg-accent3"},Tps={active:"text-accent1",paused:"text-accent3"},VBt=({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 ${Eps[e]}`,"aria-hidden":!0}),o.jsx("span",{className:`text-ui-sm ${Tps[e]}`,children:e})]}),sj=e=>!e||e<=0?"—":new Date(e).toLocaleString(),P2=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 HBt({status:e}){const{icon:t,color:n}=jps(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 jps(e){switch(e){case"success":return{icon:o.jsx(da,{size:14}),color:"text-accent1"};case"failed":return{icon:o.jsx(fs,{size:14}),color:"text-accent2"};case"running":return{icon:o.jsx(Jt,{}),color:"text-neutral3"};case"suspended":return{icon:o.jsx(zq,{size:14}),color:"text-accent3"};case"canceled":return{icon:o.jsx(Rf,{size:14}),color:"text-neutral3"};case"pending":case"waiting":return{icon:o.jsx(lj,{size:14}),color:"text-neutral3"};default:return{icon:null,color:"text-neutral3"}}}const zJe="auto auto auto auto 1fr";function Nps(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 Ips(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 Aps=3e4,Rps=5*6e4;function Pps({triggers:e,isLoading:t,workflowId:n,hasNextPage:r,isFetchingNextPage:s,setEndOfListElement:a}){const{Link:i,paths:l}=bn();return t?o.jsx(il,{columns:zJe}):e.length===0?o.jsx(ye,{variant:"ui-md",className:"text-neutral4 p-4",children:"No trigger history yet."}):o.jsxs(ge,{columns:zJe,className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Run"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Started"}),o.jsx(ge.TopCell,{children:"Duration"}),o.jsx(ge.TopCell,{children:" "})]}),e.map(c=>{const u=c.actualFireAt-c.scheduledFireAt,d=Ips(u),f=`Scheduled ${sj(c.scheduledFireAt)} — published ${sj(c.actualFireAt)} (drift ${d})`,p=c.outcome==="failed",h=p?c.error:c.run?.error,m=Math.abs(u),g=!p&&m>Aps&&m<=Rps,y=`${c.scheduleId}-${c.runId}-${c.actualFireAt}`,b=!!(n&&c.runId&&!p),x=o.jsx("span",{className:b?"text-accent1 text-ui-sm font-mono whitespace-nowrap":"text-neutral3 text-ui-sm font-mono whitespace-nowrap",children:c.runId}),S=o.jsxs(o.Fragment,{children:[o.jsx(ge.Cell,{height:"compact",children:x}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2",children:[p?o.jsxs("span",{className:"text-ui-sm text-accent2 inline-flex items-center gap-1.5 whitespace-nowrap",children:[o.jsx(Td,{size:14}),"publish failed"]}):c.run?o.jsx(HBt,{status:c.run.status}):o.jsx("span",{className:"text-ui-sm text-neutral3 inline-flex items-center gap-1.5 whitespace-nowrap",children:"pending"}),h?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent2 inline-flex",children:o.jsx(Td,{size:14})})}),o.jsx(Rn,{children:h})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("span",{title:f,children:P2(c.actualFireAt)}),g?o.jsxs(Pn,{children:[o.jsx(An,{asChild:!0,children:o.jsx("span",{className:"text-accent3 inline-flex",children:o.jsx(Td,{size:14})})}),o.jsxs(Rn,{children:["Published ",d," after the scheduled fire time"]})]}):null]})}),o.jsx(ge.Cell,{height:"compact",children:c.run?o.jsx("span",{children:Nps(c.run.durationMs)}):o.jsx("span",{className:"text-neutral4",children:"—"})}),o.jsx(ge.Cell,{height:"compact",children:" "})]});return b?o.jsx(ge.RowLink,{to:l.workflowRunLink(n,c.runId),LinkComponent:i,children:S},y):o.jsx(ge.RowStatic,{children:S},y)}),o.jsx(ge.NextPageLoading,{isLoading:s,hasMore:r,setEndOfListElement:a})]})}const $ps=e=>{const t=We();return yt({queryKey:["schedule",e],enabled:!!e,queryFn:async()=>{if(!e)throw new Error("scheduleId is required");return t.getSchedule(e)}})},BJe=25,Mps=e=>{const t=We(),{inView:n,setRef:r}=q_(),s=U1({queryKey:["schedule-triggers",e],enabled:!!e,initialPageParam:void 0,queryFn:async({pageParam:u})=>e?t.listScheduleTriggers(e,{limit:BJe,toActualFireAt:u}):{triggers:[]},getNextPageParam:u=>{if(!(!u?.triggers?.length||u.triggers.length<BJe))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 v.useEffect(()=>{n&&i&&!l&&c()},[n,i,l,c]),{...s,data:a,setEndOfListElement:r}},Dps=e=>{const t=We(),n=Br();return Dn({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"]}),De.success(s==="pause"?"Schedule paused":"Schedule resumed")},onError:r=>{De.error(r.message)}})};function Nz({label:e,children:t}){return o.jsxs("div",{className:"flex flex-col gap-1",children:[o.jsx(ye,{variant:"ui-xs",className:"text-neutral4 tracking-wide uppercase",children:e}),o.jsx("div",{className:"text-ui-md",children:t})]})}function Lps(){const{scheduleId:e}=Sr(),{paths:t}=bn(),{data:n,error:r}=$ps(e),{data:s,isLoading:a,error:i,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u}=Mps(e),d=Dps(e);if(r&&ws(r))return o.jsx(cr,{children:o.jsx(Zs,{})});if(r&&Ss(r))return o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})});if(r)return o.jsx(cr,{children:o.jsx(Vi,{title:"Failed to load schedule",message:r.message})});const f=n?.workflowId,p=n?.agentId;return o.jsxs(Bt,{children:[o.jsx(Bt.TopArea,{children:o.jsx(Bt.Row,{className:"justify-end",children:o.jsxs(Bt.Column,{className:"flex justify-end gap-2",children:[o.jsxs(ce,{as:Fa,to:t.schedulesLink(),variant:"ghost",children:[o.jsx(Ac,{}),"Back to schedules"]}),f?o.jsx(ce,{as:Fa,to:t.workflowLink(f),variant:"ghost",children:"Open workflow"}):null,n?o.jsx(ce,{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(Vq,{}),"Pause"]}):o.jsxs(o.Fragment,{children:[o.jsx(Ef,{}),"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(Nz,{label:p?"Agent":"Workflow",children:f?o.jsx(Fa,{to:t.workflowLink(f),className:"text-accent1 hover:underline",children:f}):p?o.jsx(Fa,{to:t.agentLink(p),className:"text-accent1 hover:underline",children:p}):"—"}),o.jsxs(Nz,{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(Nz,{label:"Status",children:o.jsx(VBt,{status:n.status})}),o.jsx(Nz,{label:"Next fire",children:o.jsx("span",{title:sj(n.nextFireAt),children:P2(n.nextFireAt)})})]}),o.jsxs("div",{className:"overflow-y-auto","data-testid":"schedule-triggers-panel",children:[o.jsx(ye,{variant:"ui-md",className:"mb-3",children:"Trigger history"}),i?o.jsx(Vi,{title:"Failed to load trigger history",message:i.message}):o.jsx(Pps,{triggers:s??[],isLoading:a,workflowId:f,hasNextPage:l,isFetchingNextPage:c,setEndOfListElement:u})]})]}):null]})}const UJe="minmax(0, 1.2fr) minmax(0, 1.4fr) minmax(0, 1fr) auto auto auto";function Fps({schedules:e,isLoading:t,search:n=""}){const{paths:r,Link:s}=bn(),a=v.useMemo(()=>{const i=n.toLowerCase();return i?e.filter(l=>l.id.toLowerCase().includes(i)||(l.workflowId??l.agentId??"").toLowerCase().includes(i)):e},[e,n]);return t?o.jsx(il,{columns:UJe}):o.jsxs(ge,{columns:UJe,variant:"striped",className:"min-w-0",children:[o.jsxs(ge.Top,{children:[o.jsx(ge.TopCell,{children:"Target"}),o.jsx(ge.TopCell,{children:"Schedule ID"}),o.jsx(ge.TopCell,{children:"Cron"}),o.jsx(ge.TopCell,{children:"Status"}),o.jsx(ge.TopCell,{children:"Next fire"}),o.jsx(ge.TopCell,{children:"Last run"})]}),a.length===0&&n?o.jsx(ge.NoMatch,{message:"No schedules match your search"}):null,a.length===0&&!n?o.jsx(ge.NoMatch,{message:"No schedules configured"}):null,a.map(i=>o.jsxs(ge.RowLink,{to:r.scheduleLink(i.id),LinkComponent:s,children:[o.jsx(ge.NameCell,{children:i.workflowId??i.agentId}),o.jsx(ge.Cell,{height:"compact",className:"min-w-0",children:o.jsx("span",{className:"text-ui-smd text-neutral3 block truncate font-mono",title:i.id,children:i.id})}),o.jsx(ge.Cell,{height:"compact",children:o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx("code",{className:"text-ui-sm font-mono",children:i.cron}),i.timezone?o.jsx("span",{className:"text-neutral4 text-ui-xs",children:i.timezone}):null]})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx(VBt,{status:i.status})}),o.jsx(ge.Cell,{height:"compact",children:o.jsx("span",{className:"whitespace-nowrap",title:sj(i.nextFireAt),children:P2(i.nextFireAt)})}),o.jsx(ge.Cell,{height:"compact",children:i.lastRun?o.jsxs("span",{className:"inline-flex items-center gap-2 whitespace-nowrap",children:[o.jsx(HBt,{status:i.lastRun.status}),o.jsx("span",{className:"text-neutral4 text-ui-sm",title:sj(i.lastFireAt),children:i.lastFireAt?P2(i.lastFireAt):""})]}):i.lastFireAt?o.jsx("span",{className:"whitespace-nowrap",title:sj(i.lastFireAt),children:P2(i.lastFireAt)}):o.jsx("span",{className:"text-neutral4",children:"Never"})})]},i.id))]})}function zps({workflowId:e}={}){const{data:t,isLoading:n,error:r}=l1e(e?{workflowId:e}:{}),[s,a]=v.useState("");return r?o.jsx(Vi,{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(Lf,{onSearch:a,label:"Filter schedules",placeholder:"Filter by id or workflow"})}),o.jsx("div",{className:"overflow-y-auto",children:o.jsx(Fps,{schedules:t??[],isLoading:n,search:s})})]})}function Bps(){const[e]=ri(),t=e.get("workflowId")??void 0,{error:n}=l1e(t?{workflowId:t}:{});return n&&ws(n)?o.jsx(cr,{children:o.jsx(Zs,{})}):n&&Ss(n)?o.jsx(cr,{children:o.jsx($s,{resource:"schedules"})}):o.jsx(Bt,{children:o.jsx("div",{className:"h-full",children:o.jsx(zps,{workflowId:t})})})}function Ups({stepGraph:e,open:t,workflowName:n}){const{nodes:r,edges:s}=Lke({stepGraph:e}),[a,i]=v.useState(!1),[l,c,u]=hOt(r),[d]=mOt(s),{edgeTypes:f,nodeTypes:p,styledEdges:h}=R3t({edges:d,workflowName:n,stepGraph:e});return v.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(pOt,{nodes:l,edges:h,edgeTypes:f,fitView:!0,fitViewOptions:{maxZoom:1},minZoom:.01,maxZoom:1,nodeTypes:p,onNodesChange:u,children:[o.jsx(jTe,{position:"bottom-left"}),o.jsx(vOt,{variant:ty.Lines,gap:12,size:.5})]}):o.jsx("div",{className:"flex h-full w-full items-center justify-center",children:o.jsx(Jt,{})})})}function qps(){const{stepDetail:e,closeStepDetail:t}=HH();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(e9,{className:"h-4 w-4",style:{color:Nu.map}}),e.type==="nested-graph"&&o.jsx(Ju,{className:"h-4 w-4",style:{color:Nu.workflow}}),o.jsxs("div",{className:"flex flex-col",children:[o.jsx(ye,{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(ye,{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(fs,{className:"text-neutral3 h-4 w-4"})})]}),o.jsxs("div",{className:"flex-1 overflow-auto",children:[e.type==="map-config"&&e.mapConfig&&o.jsx(I2,{data:e.mapConfig}),e.type==="nested-graph"&&e.nestedGraph&&o.jsx("div",{className:"h-full min-h-[400px]",children:o.jsx(Dke,{children:o.jsx(Ups,{stepGraph:e.nestedGraph.stepGraph,open:!0,workflowName:e.nestedGraph.fullStep})},`nested-graph-${e.nestedGraph.fullStep}`)})]})]}):null}function Vps(e){const t=new Blob([JSON.stringify(e??null)]).size;return t<1024?`${t} B`:`${(t/1024).toFixed(1)} KB`}function Hps(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 Wps({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(ye,{as:"p",variant:"ui-md",className:"text-neutral6 flex items-center gap-2 font-semibold",children:[o.jsx(qe,{children:o.jsx(zq,{})}),"Step suspended"]}),o.jsx(on,{variant:"warning",children:"Needs input"})]}),e.map((s,a)=>{const i=t.allSteps[s.stepId];if(!i||i.isWorkflow)return null;const l=i?.resumeSchema?um(Ox(i.resumeSchema)):sf(fr(),hf());return o.jsx(Zps,{step:s,stepSchema:l,description:i.description,isStreaming:n,onResume:r},`${s.runId}-${s.stepId}-${a}`)})]})}function Zps({step:e,stepSchema:t,description:n,isStreaming:r,onResume:s}){const[a,i]=v.useState(!1);return o.jsxs("div",{className:"space-y-5",children:[o.jsxs("div",{className:"space-y-2",children:[o.jsx(ye,{as:"p",variant:"ui-md",className:"text-neutral6 truncate font-medium",children:e.stepId}),n&&o.jsx(ye,{as:"p",variant:"ui-sm",className:"text-neutral3",children:n})]}),e.suspendPayload&&o.jsxs("div",{className:"space-y-2",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(HGt,{})}),"The step is asking"]}),o.jsxs(Af,{open:a,onOpenChange:i,children:[o.jsxs($d,{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(qe,{children:o.jsx(aa,{className:X("transition-transform text-neutral3",{"transform rotate-90":a})})}),o.jsx(ye,{as:"span",variant:"ui-md",className:"text-neutral6 truncate",children:Hps(e.suspendPayload,e.stepId)})]}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 shrink-0",children:Vps(e.suspendPayload)})]}),o.jsx(Md,{children:o.jsx("div",{"data-testid":"suspended-payload",className:"pt-2",children:o.jsx(Hr,{data:e.suspendPayload,className:"w-full overflow-x-auto p-2",showCopyButton:!1})})})]})]}),o.jsxs("div",{className:"space-y-3",children:[o.jsxs(ye,{as:"p",variant:"ui-sm",className:"text-neutral3 flex items-center gap-2",children:[o.jsx(qe,{children:o.jsx(GGt,{})}),"Your response"]}),o.jsx("div",{className:"-mx-5",children:o.jsx(IB,{schema:t,isSubmitLoading:r,submitButtonLabel:"Resume",submitButtonIcon:o.jsx(Ef,{}),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 Gps(){const{result:e,runSnapshot:t,workflow:n,runId:r,isStreamingWorkflow:s}=v.useContext(Ul),{runId:a}=Sr(),i=OOt(e,r??""),l=oXn(),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(Wps,{suspendedSteps:i,workflow:n,isStreaming:s,onResume:l})},r)}const Qps=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"})]}),Yps=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"})]}),Kps=e=>e.includes("."),Xps=e=>e==="input"||e.endsWith(".input"),Jps=1;function ehs(e){return`${Number((e/1e3).toPrecision(3))}s`}function ths(e,t){const n=Object.entries(e).filter(([i])=>!Xps(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,Jps);return{stepId:i,step:l,status:l.status,offsetPct:f,widthPct:p,durationMs:d,isRunning:c,isNestedEntry:Kps(i)}})}const nhs=({status:e})=>o.jsxs(qe,{children:[e==="success"&&o.jsx(Qps,{className:"text-accent1"}),e==="failed"&&o.jsx(Yps,{className:"text-accent2"}),e==="suspended"&&o.jsx(zq,{className:"text-accent3"}),e==="waiting"&&o.jsx(Zfe,{className:"text-accent5"}),e==="skipped"&&o.jsx(Zfe,{className:"text-icon3"}),e==="running"&&o.jsx(ca,{className:"text-accent6 animate-spin"})]}),rhs={success:"bg-accent1",failed:"bg-accent2",suspended:"bg-accent3",waiting:"bg-accent5",skipped:"bg-border1",running:"bg-accent6"};function WBt(e){return e.split(/[-_.\s]+/).filter(Boolean).map(t=>t.charAt(0).toUpperCase()+t.slice(1)).join(" ")}const qJe=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{value:e},shs=e=>{const t=e;return O3t({duration:t.duration,date:t.date,isForEach:t.isForEach,mapConfig:t.mapConfig,canSuspend:t.canSuspend,isParallel:t.isParallel,stepGraph:t.stepGraph})},ahs=({row:e,index:t,isSelected:n,isHovered:r,onSelectStep:s,onHoverStep:a,onOpenInput:i,onOpenOutput:l})=>{const c=shs(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:X("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(nhs,{status:e.status})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(QQt,{})})}),o.jsx("div",{className:"flex overflow-hidden",children:o.jsx(pq,{indicators:c,className:"shrink-0"})}),o.jsx(ye,{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:WBt(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 ${rhs[e.status]}`,style:{left:`${e.offsetPct}%`,width:`${e.widthPct}%`}})}),o.jsx("div",{className:"flex justify-center",children:o.jsx(ce,{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(ZQt,{})})}),o.jsx(ye,{as:"span",variant:"ui-sm",className:"text-neutral3 w-20 justify-self-end text-right tabular-nums",children:ehs(e.durationMs)})]},`timeline-item-${e.stepId}-${t}`)};function ihs(){const{steps:e}=w4(),{selectedStepId:t,hoverStepId:n,setSelectedStepId:r,setHoverStepId:s}=sH(),[a,i]=v.useState(()=>Date.now()),[l,c]=v.useState(!1),[u,d]=v.useState(null),f=v.useRef(null);g1e(f,{enabled:!l});const p=ths(e,a),h=p.some(m=>m.isRunning);return v.useEffect(()=>{if(!h)return;const m=setInterval(()=>i(Date.now()),100);return()=>clearInterval(m)},[h]),v.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(ye,{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(ka,{className:X("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,g)=>o.jsx(ahs,{row:m,index:g,isSelected:t===m.stepId,isHovered:n===m.stepId,onSelectStep:r,onHoverStep:s,onOpenInput:y=>d({type:"input",stepId:y.stepId,data:qJe(y.step.input)}),onOpenOutput:y=>d({type:"output",stepId:y.stepId,data:qJe(y.step.output)})},`timeline-item-${m.stepId}-${g}`))})]})}),o.jsx(vr,{open:!!u,onOpenChange:m=>!m&&d(null),children:u&&o.jsx(COt,{data:u.data,title:`${WBt(u.stepId)} ${u.type==="input"?"input":"output"}`})})]})}const ohs=({workflowId:e,workflow:t,isLoading:n})=>{const{stepDetail:r}=HH();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(B3t,{workflowId:e,workflow:t,isLoading:n}),o.jsx(Gps,{}),o.jsx(ihs,{})]})}),r&&o.jsx("div",{className:"border-border1 min-h-0 w-[420px] overflow-hidden border-l",children:o.jsx(qps,{})})]})},VJe=()=>{const{workflowId:e}=Sr(),{data:t,isLoading:n,error:r}=j3(e);return r&&ws(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx(Zs,{})}):r&&Ss(r)?o.jsx("div",{className:"flex h-full items-center justify-center",children:o.jsx($s,{resource:"workflows"})}):o.jsx(nOe,{children:o.jsx(ohs,{workflowId:e,workflow:t??void 0,isLoading:n})})};function lhs(e,t){if(e==null)return{};var n,r,s=N1t(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 Jbe(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 chs(e){if(Array.isArray(e))return Jbe(e)}function uhs(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function dhs(e,t){if(e){if(typeof e=="string")return Jbe(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)?Jbe(e,t):void 0}}function fhs(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
619
619
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function exe(e){return chs(e)||uhs(e)||dhs(e)||fhs()}function pD(e){"@babel/helpers - typeof";return pD=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},pD(e)}function phs(e,t){if(pD(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(pD(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function hhs(e){var t=phs(e,"string");return pD(t)=="symbol"?t:t+""}function ZBt(e,t,n){return(t=hhs(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function HJe(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 yT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?HJe(Object(n),!0).forEach(function(r){ZBt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):HJe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function mhs(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 rie={};function ghs(e){if(e.length===0||e.length===1)return e;var t=e.join(".");return rie[t]||(rie[t]=mhs(e)),rie[t]}function vhs(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=ghs(r);return s.reduce(function(a,i){return yT(yT({},a),n[i])},t)}function WJe(e){return e.join(" ")}function yhs(e,t){var n=0;return function(r){return n+=1,r.map(function(s,a){return GBt({node:s,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(a)})})}}function GBt(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=yhs(n,a),p;if(!a)p=yT(yT({},l),{},{className:WJe(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"]:[],g=l.className&&m.concat(l.className.filter(function(b){return!h.includes(b)}));p=yT(yT({},l),{},{className:WJe(g)||void 0,style:vhs(l.className,Object.assign({},l.style,s),n)})}var y=f(t.children);return Fe.createElement(u,zO({key:i},p),y)}}const bhs=(function(e,t){var n=e.listLanguages();return n.indexOf(t)!==-1});var xhs=["language","children","style","customStyle","codeTagProps","useInlineStyles","showLineNumbers","showInlineLineNumbers","startingLineNumber","lineNumberContainerStyle","lineNumberStyle","wrapLines","wrapLongLines","lineProps","renderer","PreTag","CodeTag","code","astGenerator"];function ZJe(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 Pw(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZJe(Object(n),!0).forEach(function(r){ZBt(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZJe(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}var whs=/\n/g;function Shs(e){return e.match(whs)}function khs(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,`
620
620
  `))})}function Ohs(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)},khs({lines:t.replace(/\n$/,"").split(`
621
621
  `),style:i,startingLineNumber:l}))}function _hs(e){return"".concat(e.toString().length,".25em")}function QBt(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 YBt(e,t,n){var r={display:"inline-block",minWidth:_hs(n),paddingRight:"1em",textAlign:"right",userSelect:"none"},s=typeof e=="function"?e(t):e,a=Pw(Pw({},r),s);return a}function Y8(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?Pw({},typeof l=="function"?l(n):l):{};if(m.className=m.className?[].concat(exe(m.className.trim().split(/\s+/)),exe(u)):u,n&&a){var g=YBt(r,n,s);t.unshift(QBt(n,g))}return f&d&&(m.style=Pw({display:"flex"},m.style)),{type:"element",tagName:"span",properties:m,children:t}}function KBt(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(Y8({children:[s],className:exe(new Set(t))}));else if(s.children){var a=t.concat(s.properties.className);KBt(s.children,a).forEach(function(i){return n.push(i)})}}return n}function Chs(e,t,n,r,s,a,i,l,c){var u,d=KBt(e.value),f=[],p=-1,h=0;function m(C,_){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return Y8({children:C,lineNumber:_,lineNumberStyle:l,largestLineNumber:i,showInlineLineNumbers:s,lineProps:n,className:E,showLineNumbers:r,wrapLongLines:c,wrapLines:t})}function g(C,_){if(r&&_&&s){var E=YBt(l,_,i);C.unshift(QBt(_,E))}return C}function y(C,_){var E=arguments.length>2&&arguments[2]!==void 0?arguments[2]:[];return t||E.length>0?m(C,_,E):g(C,_)}for(var b=function(){var _=d[h],E=_.children[0].value,T=Shs(E);if(T){var N=E.split(`