autotel-devtools 23.0.0 → 23.1.0

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.
@@ -28,12 +28,12 @@ var AutotelDevtools=(function(e){Object.defineProperty(e,Symbol.toStringTag,{val
28
28
  ${z(u).count===1?`call`:`calls`}`)},[()=>K(Q(`inline-block w-2 h-2 rounded-sm`,z(t).dot))]),H(e,n)};W(le,e=>{z(u)&&e(E)}),D(re),D(t),R(()=>{J(se,`width`,z(s).width),J(se,`height`,z(s).height),J(se,`viewBox`,`0 0 ${z(s).width} ${z(s).height}`)}),B(`focusin`,ie,()=>P(x,!0)),B(`focusout`,ie,()=>P(x,!1)),H(e,t)};W(w,e=>{!z(a)||!z(s)||z(s).nodes.length===0?e(T):e(ee,-1)}),H(e,C),at()}na([`focusin`,`focusout`,`click`,`keydown`]);var DP=(e,t=p,n=p)=>{var r=kP(),i=F(r),a=F(i,!0);D(i);var o=L(i,2),s=F(o,!0);D(o),D(r),R(()=>{U(a,t()),U(s,n())}),H(e,r)},OP=(e,t=p,n=p,r=p)=>{var i=da(),a=I(i),o=e=>{var i=AP(),a=F(i),o=F(a,!0);D(a);var s=L(a,2),c=F(s,!0);D(s),D(i),R(e=>{J(i,`title`,e),U(o,t()),U(c,n())},[()=>`View ${t().toLowerCase()} in the ${r()} tab`]),B(`click`,i,()=>Mu(r())),H(e,i)},s=e=>{DP(e,t,n)};W(a,e=>{n()>0?e(o):e(s,-1)}),H(e,i)},kP=V(`<div><div class="text-[11px] uppercase tracking-wide text-fg-subtle"> </div> <div class="text-sm text-fg"> </div></div>`),AP=V(`<button type="button" class="group/stat text-left rounded -m-1 p-1 hover:bg-hover transition-colors"><div class="text-[11px] uppercase tracking-wide text-fg-subtle"> </div> <div class="text-sm text-accent group-hover/stat:underline"> </div></button>`),jP=V(`<div class="border border-line rounded-md p-3 bg-surface"><div class="flex items-start justify-between gap-2 mb-2"><div><div class="text-sm font-medium text-fg"> </div> <div class="text-xs text-fg-subtle uppercase tracking-wide"> </div></div> <span> </span></div> <div class="grid grid-cols-2 gap-2 text-xs text-fg-muted sm:grid-cols-5"><!> <!> <!> <!> <!></div></div>`),MP=V(`<option> </option>`),NP=V(`<div class="text-center text-fg-subtle text-sm py-12">No resources derived yet. Send traces or logs with resource metadata.</div>`),PP=V(`<div class="space-y-2"></div>`),FP=V(`<div class="flex flex-col h-full p-4"><div class="flex flex-col gap-3 mb-4 pb-3 border-b border-line"><div class="flex items-center justify-between gap-2"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> </h3></div> <div class="flex flex-wrap gap-2"><input type="search" placeholder="Filter resources" class="px-3 py-2 text-xs border border-line rounded-md min-w-[180px]"/> <select class="px-3 py-2 text-xs border border-line rounded-md bg-surface"><option>All types</option><!></select></div></div> <div class="flex-1 overflow-auto"><!></div></div>`);function IP(e,t){it(t,!0);let n=(e,t=p)=>{var n=jP(),r=F(n),a=F(r),o=F(a),s=F(o,!0);D(o);var c=L(o,2),l=F(c,!0);D(c),D(a);var u=L(a,2),d=F(u,!0);D(u),D(r);var f=L(r,2),m=F(f);DP(m,()=>`Requests`,()=>t().requestCount);var h=L(m,2);OP(h,()=>`Errors`,()=>t().errorCount,()=>`errors`);var g=L(h,2);OP(g,()=>`Traces`,()=>t().traceCount,()=>`traces`);var _=L(g,2);OP(_,()=>`Logs`,()=>t().logCount,()=>`logs`);var v=L(_,2);{let e=M(()=>t().lastSeen?od(t().lastSeen):`n/a`);DP(v,()=>`Last Seen`,()=>z(e))}D(f),D(n),R(e=>{U(s,t().name),U(l,t().type),q(u,1,e),U(d,t().health)},[()=>K(Q(`px-2 py-1 rounded border text-[11px] font-medium capitalize`,i(t().health)))]),H(e,n)},r=[`service`,`database`,`cache`,`messaging`,`external`,`unknown`];function i(e){switch(e){case`healthy`:return`bg-success-bg text-success border-success-border`;case`degraded`:return`bg-warning-bg text-warning border-warning-border`;case`unhealthy`:return`bg-danger-bg text-danger border-danger-border`;default:return`bg-subtle text-fg-muted border-line`}}let a=M(()=>eu.value),o=N(``),s=N(`all`),c=M(()=>{let e=z(o).trim().toLowerCase();return z(a).filter(t=>(z(s)===`all`||t.type===z(s))&&I_(e,[t.name]))});var l=FP(),u=F(l),d=F(u),f=F(d),m=F(f);lp(m,{size:16});var h=L(m);D(f),D(d);var g=L(d,2),_=F(g);Co(_);var v=L(_,2),y=F(v);y.value=y.__value=`all`,G(L(y),16,()=>r,e=>e,(e,t)=>{var n=MP(),r=F(n,!0);D(n);var i={};R(()=>{U(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),H(e,n)}),D(v);var b;uo(v),D(g),D(u);var x=L(u,2),S=F(x),C=e=>{H(e,NP())},w=e=>{var t=PP();G(t,21,()=>z(c),e=>e.name,(e,t)=>{n(e,()=>z(t))}),D(t),H(e,t)};W(S,e=>{z(c).length===0?e(C):e(w,-1)}),D(x),D(l),R(()=>{U(h,` Resources (${z(a).length??``})`),wo(_,z(o)),b!==(b=z(s))&&(v.value=(v.__value=z(s))??``,lo(v,z(s)))}),B(`input`,_,e=>P(o,e.currentTarget.value,!0)),B(`change`,v,e=>P(s,e.currentTarget.value,!0)),H(e,l),at()}na([`click`,`input`,`change`]);var LP=200,RP=70,zP=20;function BP(e,t){return _s(e,t)}function VP(e){let t=e.attributes||{};return t[`db.system`]||t[`db.name`]||t[`db.statement`]?`database`:t[`messaging.system`]||t[`messaging.destination`]||t[`messaging.url`]?`messaging`:t[`rpc.system`]||t[`rpc.service`]||t[`peer.service`]?`external`:`service`}function HP(e,t){if(e.length===0)return 0;let n=Math.ceil(t/100*e.length)-1;return e[Math.max(0,n)]}function UP(e){let t=new Map,n=new Map;for(let r of e){let e=new Map;for(let t of r.spans)e.set(t.spanId,t);for(let i of r.spans){let a=BP(i,r.service),o=t.get(a);o||(o={id:a,name:a,requestCount:0,errorCount:0,avgLatency:0,minLatency:1/0,maxLatency:0,spanKinds:new Set,nodeType:`service`},t.set(a,o)),o.requestCount++,i.status.code===`ERROR`&&o.errorCount++,o.avgLatency=(o.avgLatency*(o.requestCount-1)+i.duration)/o.requestCount,o.minLatency=Math.min(o.minLatency,i.duration),o.maxLatency=Math.max(o.maxLatency,i.duration),o.spanKinds.add(i.kind);let s=VP(i),c=String(i.attributes?.[`service.name`]||r.service||a);if(s!==`service`&&a!==c&&(o.nodeType=s),i.kind===`CLIENT`){let e=r.spans.find(e=>e.parentSpanId===i.spanId&&e.kind===`SERVER`),o=String(i.attributes?.[`service.name`]||r.service||a),s=(e?BP(e,r.service):void 0)||fs(i.attributes,`peer.service`,`http.host`,`db.system`,`net.peer.name`,`rpc.service`,`messaging.system`)||`external`;if(t.has(o)||t.set(o,{id:o,name:o,requestCount:0,errorCount:0,avgLatency:0,minLatency:1/0,maxLatency:0,spanKinds:new Set,nodeType:`service`}),o!==s){let e=`${o}->${s}`,r=n.get(e);if(!r)if(r={id:e,source:o,target:s,requestCount:0,errorCount:0,avgLatency:0,p50Latency:0,p99Latency:0,latencies:[]},n.set(e,r),!t.has(s))t.set(s,{id:s,name:s,requestCount:0,errorCount:0,avgLatency:0,minLatency:1/0,maxLatency:0,spanKinds:new Set,nodeType:VP(i)});else{let e=t.get(s),n=VP(i);n!==`service`&&(e.nodeType=n)}r.requestCount++,i.status.code===`ERROR`&&r.errorCount++,r.avgLatency=(r.avgLatency*(r.requestCount-1)+i.duration)/r.requestCount,r.latencies.push(i.duration);let a=[...r.latencies].sort((e,t)=>e-t);r.p50Latency=HP(a,50),r.p99Latency=HP(a,99)}}if(i.kind!==`SERVER`||!i.parentSpanId)continue;let l=e.get(i.parentSpanId);if(!l||l.kind!==`CLIENT`)continue;let u=BP(l,r.service);if(u===a)continue;let d=`${u}->${a}`;n.has(d)||n.set(d,{id:d,source:u,target:a,requestCount:1,errorCount:+(i.status.code===`ERROR`),avgLatency:i.duration,p50Latency:i.duration,p99Latency:i.duration,latencies:[i.duration]})}}return{nodes:[...t.values()].map(e=>({...e,minLatency:e.minLatency===1/0?0:e.minLatency})),connections:[...n.values()]}}function WP(e,t){let n=new Map;if(e.length===0)return n;if(e.length===1)return n.set(e[0].id,{x:180,y:92}),n;let r=e.map(e=>e.id),i=new Map,a=new Map;for(let e of r)i.set(e,[]),a.set(e,[]);for(let e of t)i.has(e.source)&&i.get(e.source).push(e.target),a.has(e.target)&&a.get(e.target).push(e.source);let o=new Map,s=r.filter(e=>(a.get(e)?.length??0)===0),c=s.length>0?s:r,l=[...c];for(let e of c)o.set(e,0);for(;l.length>0;){let e=l.shift(),t=o.get(e)??0;for(let n of i.get(e)??[])(o.get(n)??-1)<=t&&(o.set(n,t+1),l.push(n))}for(let e of r)o.has(e)||o.set(e,0);let u=Math.max(...Array.from(o.values())),d=Array.from({length:u+1},()=>[]);for(let e of r)d[o.get(e)].push(e);for(let e=0;e<2;e++)for(let e=1;e<=u;e++){let t=d[e-1],n=new Map;t.forEach((e,t)=>n.set(e,t)),d[e].sort((e,t)=>{let r=a.get(e)??[],i=a.get(t)??[];return(r.length>0?r.reduce((e,t)=>e+(n.get(t)??0),0)/r.length:999)-(i.length>0?i.reduce((e,t)=>e+(n.get(t)??0),0)/i.length:999)})}let f=Math.max(...d.map(e=>e.length)),p=Math.max(f*122-RP,52);for(let e=0;e<=u;e++){let t=d[e],r=(p-(t.length*122-RP))/2,i=e*LP+140/2+zP;t.forEach((e,t)=>{n.set(e,{x:i-140/2,y:r+t*122+zP})})}return n}function GP(e,t,n){return Math.min(n,Math.max(t,e))}function KP(e,t,n,r,i){let a=GP(t,r,i);if(a===e.scale)return e;let o=(n.x-e.translate.x)/e.scale,s=(n.y-e.translate.y)/e.scale;return{scale:a,translate:{x:n.x-o*a,y:n.y-s*a}}}function qP(e,t,n,r,i,a){let o=e.maxX-e.minX,s=e.maxY-e.minY,c=t-r*2,l=n-r*2,u=GP(Math.min(o>0?c/o:a,s>0?l/s:a),i,a);return{scale:u,translate:{x:(t-o*u)/2-e.minX*u,y:(n-s*u)/2-e.minY*u}}}function JP(e){let{viewWidth:t,viewHeight:n,svg:r,contentBounds:i,minScale:a=.2,maxScale:o=3,zoomStep:s=1.2,fitPadding:c=24}=e,l=N(1),u=N(yr({x:0,y:0})),d=N(!1),f={x:0,y:0,tx:0,ty:0},p=(e,i)=>{let a=r();if(!a)return{x:e,y:i};let o=a.getBoundingClientRect(),s=o.width>0?t()/o.width:1,c=o.height>0?n()/o.height:1;return{x:(e-o.left)*s,y:(i-o.top)*c}},m=e=>{P(l,e.scale,!0),P(u,e.translate,!0)},h=(e,t)=>m(KP({scale:z(l),translate:z(u)},e,t,a,o)),g=()=>{P(l,1),P(u,{x:0,y:0},!0)},_=e=>{if(!e.ctrlKey&&!e.metaKey)return;e.preventDefault();let t=p(e.clientX,e.clientY),n=e.deltaY<0?s:1/s;h(z(l)*n,t)},v=e=>{e.button===0&&(e.target?.closest(`[data-node]`)||(P(d,!0),f={x:e.clientX,y:e.clientY,tx:z(u).x,ty:z(u).y},r()?.setPointerCapture?.(e.pointerId)))},y=e=>{let i=r();if(!z(d)||!i)return;let a=i.getBoundingClientRect(),o=a.width>0?t()/a.width:1,s=a.height>0?n()/a.height:1;P(u,{x:f.tx+(e.clientX-f.x)*o,y:f.ty+(e.clientY-f.y)*s},!0)},b=e=>{z(d)&&(P(d,!1),r()?.releasePointerCapture?.(e.pointerId))},x=()=>({x:t()/2,y:n()/2});return{get scale(){return z(l)},get translate(){return z(u)},get isPanning(){return z(d)},onWheel:_,onPointerDown:v,onPointerMove:y,onPointerEnd:b,zoomIn:()=>h(z(l)*s,x()),zoomOut:()=>h(z(l)/s,x()),fit:()=>{let e=i();if(!e){g();return}m(qP(e,t(),n(),c,a,o))},reset:g}}var YP=(e,t=p,n=p,r)=>{let i=pn(()=>g(r?.(),!1));var a=XP(),o=F(a),s=F(o,!0);D(o);var c=L(o,2),l=F(c,!0);D(c),D(a),R(e=>{U(s,t()),q(c,1,e),U(l,n())},[()=>K(Q(`font-medium`,z(i)?`text-danger`:`text-fg`))]),H(e,a)},XP=V(`<div class="flex justify-between text-xs"><span class="text-fg-subtle"> </span> <span> </span></div>`),ZP=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle p-8"><!> <p class="text-sm text-center">No traces available to build service map. <br/> Traces will appear here as they are captured.</p></div>`),QP=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle p-8"><!> <p class="text-sm text-center">No services detected in traces. <br/> Service information is extracted from span attributes.</p></div>`),$P=V(`<span class="text-xs text-fg-subtle flex-shrink-0">No service matches</span>`),eF=ua(`<g><path fill="none" stroke-linecap="round"></path><text text-anchor="middle"> </text></g>`),tF=ua(`<rect fill="none" class="stroke-accent"></rect>`),nF=ua(`<rect></rect><path></path><ellipse></ellipse>`,1),rF=ua(`<polygon></polygon>`),iF=ua(`<rect></rect>`),aF=ua(`<rect fill="#64748b"></rect>`),oF=ua(`<tspan fill="#dc2626" class="font-semibold"> </tspan>`),sF=ua(`<g role="button" tabindex="0"><!><g filter="url(#nodeShadow)"><!></g><!><text text-anchor="middle" class="text-[11px] font-semibold" fill="#1f2937"> </text><text text-anchor="middle" class="text-[10px]" fill="#475569"> <!></text></g>`),cF=V(`<div class="space-y-3 pr-8"><!> <!> <!> <!> <!> <!></div>`),lF=V(`<span class="text-danger"> </span>`),uF=V(`<div class="text-xs p-2 bg-surface rounded border border-line"><div class="flex items-center gap-1 text-fg-muted"><span class="font-medium"> </span> <!></div> <div class="flex items-center gap-2 mt-1 text-fg-subtle"><span> </span> <!> <span> </span></div></div>`),dF=V(`<div class="mt-4 pt-4 border-t border-line"><div class="group flex items-center justify-between mb-2"><h5 class="text-xs font-medium text-fg-muted">Connections</h5> <!></div> <div class="space-y-2"></div></div>`),fF=V(`<div class="w-64 border-l border-line bg-subtle overflow-auto"><div class="p-4"><div class="flex items-center justify-between mb-4"><div class="group flex items-center gap-1 min-w-0"><h4 class="font-semibold text-fg truncate"> </h4> <!></div> <button class="text-fg-subtle hover:text-fg-muted">×</button></div> <!> <!></div></div>`),pF=V(`<div class="flex flex-col h-full"><div class="px-4 py-3 border-b border-line flex items-center justify-between"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> </h3> <div class="text-xs text-fg-subtle"> </div></div> <div class="px-4 py-2 border-b border-line flex items-center gap-2"><!> <!></div> <div class="flex-1 overflow-hidden flex"><div class="relative flex-1 overflow-auto p-4"><svg role="application" aria-label="Service map. Drag to pan, ctrl or cmd and scroll to zoom."><defs><marker id="arrowhead" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto"><polygon points="0 0, 10 3.5, 0 7" fill="#94a3b8"></polygon></marker><marker id="arrowhead-error" markerWidth="10" markerHeight="7" refX="9" refY="3.5" orient="auto"><polygon points="0 0, 10 3.5, 0 7" fill="#ef4444"></polygon></marker><filter id="nodeShadow" x="-20%" y="-20%" width="140%" height="140%"><feDropShadow dx="0" dy="1" stdDeviation="2" flood-color="#0f172a" flood-opacity="0.14"></feDropShadow></filter></defs><g><!><!></g></svg> <div class="absolute bottom-3 right-3 flex flex-col gap-1 rounded-md border border-line bg-surface p-1 shadow-sm"><button type="button" class="flex h-7 w-7 items-center justify-center rounded text-fg-muted hover:bg-hover hover:text-fg focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent transition-colors" title="Zoom in" aria-label="Zoom in"><!></button> <button type="button" class="flex h-7 w-7 items-center justify-center rounded text-fg-muted hover:bg-hover hover:text-fg focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent transition-colors" title="Zoom out" aria-label="Zoom out"><!></button> <button type="button" class="flex h-7 w-7 items-center justify-center rounded text-fg-muted hover:bg-hover hover:text-fg focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent transition-colors" title="Fit to content" aria-label="Fit to content"><!></button> <button type="button" class="flex h-7 w-7 items-center justify-center rounded text-fg-muted hover:bg-hover hover:text-fg focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent transition-colors" title="Reset to 1:1" aria-label="Reset zoom to 1:1"><!></button></div></div> <!></div> <div class="flex items-center gap-4 px-4 py-2 border-t border-line bg-subtle text-xs"><div class="flex items-center gap-1"><div class="w-4 h-4 rounded-full border-2 border-accent bg-surface"></div> <span class="text-fg-muted">Healthy</span></div> <div class="flex items-center gap-1"><div class="w-4 h-4 rounded-full border-2 border-danger-border bg-surface"></div> <span class="text-fg-muted">Has Errors</span></div> <div class="flex items-center gap-1"><div class="w-6 h-0.5 bg-fg-subtle"></div> <span class="text-fg-muted">Connection</span></div></div></div>`);function mF(e,t){it(t,!0);let n=M(()=>vl.value),r=N(null),i=N(null),a=N(``),o=M(()=>UP(z(n))),s=M(()=>z(o).nodes),c=M(()=>z(o).connections),l=M(()=>z(a).length>0);function u(e){return I_(z(a).toLowerCase(),[e.name])}let d=M(()=>z(s).filter(u)),f=M(()=>new Set(z(d).map(e=>e.id))),p=M(()=>z(d).length>0),m=M(()=>WP(z(s),z(c))),h=M(()=>{let e=400;for(let[,t]of z(m))t.x+140+20>e&&(e=t.x+140+20);return e}),g=M(()=>{let e=300;for(let[,t]of z(m))t.y+52+20>e&&(e=t.y+52+20);return e}),_=N(null),v=JP({viewWidth:()=>z(h),viewHeight:()=>z(g),svg:()=>z(_),contentBounds:()=>{let e=1/0,t=1/0,n=-1/0,r=-1/0;for(let[,i]of z(m))e=Math.min(e,i.x),t=Math.min(t,i.y),n=Math.max(n,i.x+140),r=Math.max(r,i.y+52);return Number.isFinite(e)?{minX:e,minY:t,maxX:n,maxY:r}:null}}),y=M(()=>z(r)?z(s).find(e=>e.id===z(r))??null:null);function b(e,t){if(e.key===`Enter`||e.key===` `){e.preventDefault(),P(r,z(r)===t?null:t,!0);return}e.key===`Escape`&&z(r)&&(e.stopPropagation(),P(r,null))}let x=M(()=>z(r)?z(c).filter(e=>e.source===z(r)||e.target===z(r)):[]),S=M(()=>z(x).length>0?JSON.stringify(z(x).map(e=>({source:e.source,target:e.target,requests:e.requestCount,errors:e.errorCount,avgLatency:ad(e.avgLatency)})),null,2):``),C=M(()=>{if(!z(y))return``;let e=z(y);return JSON.stringify({service:e.name,requests:e.requestCount,errors:e.errorCount,errorRate:`${(e.errorCount/e.requestCount*100).toFixed(1)}%`,avgLatency:ad(e.avgLatency),minLatency:ad(e.minLatency),maxLatency:ad(e.maxLatency),connections:z(x).map(e=>({source:e.source,target:e.target,requests:e.requestCount,errors:e.errorCount,avgLatency:ad(e.avgLatency)}))},null,2)});var w=da(),T=I(w),ee=e=>{var t=ZP();Yf(F(t),{size:48,class:`mb-4 opacity-50`}),Ke(2),D(t),H(e,t)},te=e=>{var t=QP();Ch(F(t),{size:48,class:`mb-4 opacity-50`}),Ke(2),D(t),H(e,t)},ne=e=>{var t=pF(),n=F(t),o=F(n),u=F(o);Yf(u,{size:16});var w=L(u);D(o);var T=L(o,2),ee=F(T);D(T),D(n);var te=L(n,2),ne=F(te);F_(ne,{placeholder:`Find a service by name…`,ariaLabel:`Find a service by name`,get value(){return z(a)},set value(e){P(a,e,!0)}});var re=L(ne,2),ie=e=>{H(e,$P())};W(re,e=>{z(l)&&!z(p)&&e(ie)}),D(te);var ae=L(te,2),oe=F(ae),se=F(oe);co(se,`min-height: 300px;`);var ce=L(F(se)),le=F(ce);G(le,17,()=>z(c),e=>e.id,(e,t)=>{let n=M(()=>z(m).get(z(t).source)),i=M(()=>z(m).get(z(t).target));var a=da(),o=I(a),s=e=>{let a=M(()=>z(r)===z(t).source||z(r)===z(t).target),o=M(()=>z(t).errorCount>0),s=M(()=>z(n).x+140),c=M(()=>z(n).y+52/2),l=M(()=>z(i).x),u=M(()=>z(i).y+52/2),d=M(()=>Math.abs(z(l)-z(s))*.5),f=M(()=>z(t).requestCount>0?z(t).errorCount/z(t).requestCount*100:0),p=M(()=>z(o)?`${z(t).requestCount}× · ${z(f).toFixed(0)}% err · ${ad(z(t).p50Latency)}`:`${z(t).requestCount}× · ${ad(z(t).p50Latency)}`);var m=eF(),h=F(m),g=L(h),_=F(g,!0);D(g),D(m),R(e=>{J(h,`d`,`M${z(s)},${z(c)} C${z(s)+z(d)},${z(c)} ${z(l)-z(d)},${z(u)} ${z(l)},${z(u)}`),J(h,`stroke`,z(o)?`#ef4444`:`#94a3b8`),J(h,`stroke-width`,z(o)||z(a)?2.5:1.5),J(h,`stroke-dasharray`,z(o)?`6 4`:void 0),J(h,`stroke-opacity`,z(r)&&!z(a)?.2:1),J(h,`marker-end`,`url(#${z(o)?`arrowhead-error`:`arrowhead`})`),J(g,`x`,(z(s)+z(l))/2),J(g,`y`,(z(c)+z(u))/2-6),q(g,0,e),J(g,`opacity`,z(r)&&!z(a)?.25:1),U(_,z(p))},[()=>K(Q(`at-edge-label text-[10px]`,z(o)?`fill-danger font-medium`:`fill-fg-subtle`))]),H(e,m)};W(o,e=>{z(n)&&z(i)&&e(s)}),H(e,a)}),G(L(le),17,()=>z(s),e=>e.id,(e,t)=>{let n=M(()=>z(m).get(z(t).id));var a=da(),o=I(a),s=e=>{let a=M(()=>z(r)===z(t).id),o=M(()=>z(i)===z(t).id),s=M(()=>z(t).errorCount>0),c=M(()=>z(f).has(z(t).id)),u=M(()=>z(l)&&!z(c)),d=M(()=>pg(z(t).id)),p=M(()=>z(d).fill),m=M(()=>z(s)?`#ef4444`:z(d).stroke),h=M(()=>z(a)||z(s)?2.5:z(o)?2:1.5);var g=sF(),_=F(g),v=e=>{var t=tF();J(t,`x`,-3),J(t,`y`,-3),J(t,`rx`,11),J(t,`stroke-width`,2.5),R(()=>{J(t,`width`,146),J(t,`height`,58)}),H(e,t)};W(_,e=>{z(l)&&z(c)&&e(v)});var y=L(_),S=F(y),C=e=>{var t=nF(),n=I(t);J(n,`x`,2),J(n,`y`,6);var r=L(n),i=L(r);J(i,`cy`,6),J(i,`ry`,6),R(()=>{J(n,`width`,136),J(n,`height`,40),J(n,`fill`,z(p)),J(r,`d`,`M2,46 A${140/2-2},6 0 0,0 138,46 L138,6 A${140/2-2},6 0 0,1 2,6 Z`),J(r,`fill`,z(p)),J(r,`stroke`,z(m)),J(r,`stroke-width`,z(h)),J(i,`cx`,140/2),J(i,`rx`,140/2-2),J(i,`fill`,z(p)),J(i,`stroke`,z(m)),J(i,`stroke-width`,z(h))}),H(e,t)},w=e=>{var t=rF();R(()=>{J(t,`points`,`${140/2},2 138,${52/4} 138,${156/4} ${140/2},50 2,${156/4} 2,${52/4}`),J(t,`fill`,z(p)),J(t,`stroke`,z(m)),J(t,`stroke-width`,z(h))}),H(e,t)},T=e=>{var t=iF();J(t,`x`,2),J(t,`y`,2),J(t,`rx`,8),R(()=>{J(t,`width`,136),J(t,`height`,48),J(t,`fill`,z(p)),J(t,`stroke`,z(m)),J(t,`stroke-width`,z(h))}),H(e,t)};W(S,e=>{z(t).nodeType===`database`?e(C):z(t).nodeType===`messaging`?e(w,1):e(T,-1)}),D(y);var ee=L(y),te=e=>{var t=aF();J(t,`x`,0),J(t,`y`,0),J(t,`rx`,8),J(t,`opacity`,.4),R(()=>{J(t,`width`,140),J(t,`height`,52)}),H(e,t)},ne=M(()=>z(r)&&!z(a)&&!z(x).some(e=>e.source===z(t).id||e.target===z(t).id));W(ee,e=>{z(ne)&&e(te)});var re=L(ee),ie=F(re,!0);D(re);var ae=L(re),oe=F(ae),se=L(oe),ce=e=>{var n=oF(),r=F(n);D(n),R(()=>U(r,` · ${z(t).errorCount??``} err`)),H(e,n)};W(se,e=>{z(s)&&e(ce)}),D(ae),D(g),R((e,r)=>{J(g,`data-node`,z(t).id),J(g,`transform`,`translate(${z(n).x}, ${z(n).y})`),q(g,0,e),J(g,`aria-label`,z(t).name),J(re,`x`,140/2),J(re,`y`,52/2-3),U(ie,r),J(ae,`x`,140/2),J(ae,`y`,38),U(oe,`${z(t).requestCount??``} span${z(t).requestCount===1?``:`s`} `)},[()=>K(Q(`cursor-pointer`,z(u)&&`opacity-30`)),()=>z(t).name.length>16?z(t).name.slice(0,14)+`…`:z(t).name]),B(`click`,g,()=>P(r,z(a)?null:z(t).id,!0)),B(`keydown`,g,e=>b(e,z(t).id)),ta(`mouseenter`,g,()=>P(i,z(t).id,!0)),ta(`mouseleave`,g,()=>P(i,null)),H(e,g)};W(o,e=>{z(n)&&e(s)}),H(e,a)}),D(ce),D(se),Uo(se,e=>P(_,e),()=>z(_));var E=L(se,2),ue=F(E);sh(F(ue),{size:14}),D(ue);var de=L(ue,2);zm(F(de),{size:14}),D(de);var fe=L(de,2);_h(F(fe),{size:14}),D(fe);var pe=L(fe,2);ph(F(pe),{size:14}),D(pe),D(E),D(oe);var me=L(oe,2),he=e=>{var t=fF(),n=F(t),i=F(n),a=F(i),o=F(a),s=F(o,!0);D(o),X_(L(o,2),{get value(){return z(y).name},label:`Copy service name`,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`}),D(a);var c=L(a,2);D(i);var l=L(i,2);M_(l,{get content(){return z(C)},children:(e,t)=>{var n=cF(),r=F(n);{let e=M(()=>z(y).requestCount.toString());YP(r,()=>`Requests`,()=>z(e))}var i=L(r,2);{let e=M(()=>z(y).errorCount.toString());YP(i,()=>`Errors`,()=>z(e),()=>z(y).errorCount>0)}var a=L(i,2);{let e=M(()=>`${(z(y).errorCount/z(y).requestCount*100).toFixed(1)}%`);YP(a,()=>`Error Rate`,()=>z(e),()=>z(y).errorCount>0)}var o=L(a,2);{let e=M(()=>ad(z(y).avgLatency));YP(o,()=>`Avg Latency`,()=>z(e))}var s=L(o,2);{let e=M(()=>ad(z(y).minLatency));YP(s,()=>`Min Latency`,()=>z(e))}var c=L(s,2);{let e=M(()=>ad(z(y).maxLatency));YP(c,()=>`Max Latency`,()=>z(e))}D(n),H(e,n)},$$slots:{default:!0}});var u=L(l,2),d=e=>{var t=dF(),n=F(t);X_(L(F(n),2),{get value(){return z(S)},label:`Copy connections`,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`}),D(n);var i=L(n,2);G(i,21,()=>z(x),e=>e.id,(e,t)=>{var n=uF(),i=F(n),a=F(i),o=F(a,!0);D(a);var s=L(a,2),c=e=>{tp(e,{size:10})},l=e=>{tp(e,{size:10,class:`rotate-180`})};W(s,e=>{z(t).source===z(r)?e(c):e(l,-1)}),D(i);var u=L(i,2),d=F(u),f=F(d);D(d);var p=L(d,2),m=e=>{var n=lF(),r=F(n);D(n),R(()=>U(r,`${z(t).errorCount??``} err`)),H(e,n)};W(p,e=>{z(t).errorCount>0&&e(m)});var h=L(p,2),g=F(h,!0);D(h),D(u),D(n),R(e=>{U(o,z(t).source===z(r)?z(t).target:z(t).source),U(f,`${z(t).requestCount??``} req`),U(g,e)},[()=>ad(z(t).avgLatency)]),H(e,n)}),D(i),D(t),H(e,t)};W(u,e=>{z(x).length>0&&e(d)}),D(n),D(t),R(()=>U(s,z(y).name)),B(`click`,c,()=>P(r,null)),H(e,t)};W(me,e=>{z(y)&&e(he)}),D(ae),Ke(2),D(t),R(e=>{U(w,` Service Map (${(z(l)?`${z(d).length} of ${z(s).length}`:z(s).length)??``} services)`),U(ee,`${z(c).length??``} connections`),J(se,`viewBox`,`0 0 ${z(h)} ${z(g)}`),q(se,0,e),J(ce,`transform`,`translate(${v.translate.x}, ${v.translate.y}) scale(${v.scale})`)},[()=>K(Q(`w-full h-full`,v.isPanning?`cursor-grabbing`:`cursor-grab`))]),ta(`wheel`,se,function(...e){v.onWheel?.apply(this,e)}),B(`pointerdown`,se,function(...e){v.onPointerDown?.apply(this,e)}),B(`pointermove`,se,function(...e){v.onPointerMove?.apply(this,e)}),B(`pointerup`,se,function(...e){v.onPointerEnd?.apply(this,e)}),ta(`pointercancel`,se,function(...e){v.onPointerEnd?.apply(this,e)}),ta(`pointerleave`,se,function(...e){v.onPointerEnd?.apply(this,e)}),B(`click`,ue,function(...e){v.zoomIn?.apply(this,e)}),B(`click`,de,function(...e){v.zoomOut?.apply(this,e)}),B(`click`,fe,function(...e){v.fit?.apply(this,e)}),B(`click`,pe,function(...e){v.reset?.apply(this,e)}),H(e,t)};W(T,e=>{z(n).length===0?e(ee):z(s).length===0?e(te,1):e(ne,-1)}),H(e,w),at()}na([`pointerdown`,`pointermove`,`pointerup`,`click`,`keydown`]);async function hF(e,t=``){let n=t?`?q=${encodeURIComponent(t)}`:``;return vF(`${e.baseUrl}/api/metrics${n}`,{method:`GET`,signal:e.signal},e,e=>e.metrics??[])}async function gF(e,t){let n={name:e.name};return e.window&&(n.window=e.window),n.maxPoints=e.maxPoints??1500,vF(`${t.baseUrl}/api/query/metrics`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(n),signal:t.signal},t,e=>e.series??[])}async function _F(e,t){return vF(`${t.baseUrl}/api/metrics?name=${encodeURIComponent(e)}`,{method:`DELETE`,signal:t.signal},t,e=>e.deletedSeries??0)}async function vF(e,t,n,r){let i;try{i=await n.fetch(e,t)}catch(e){return yF(e)?{status:`aborted`}:{status:`error`,message:e instanceof Error?`Network error: ${e.message}`:`Network error`}}if(i.status===403)return{status:`error`,message:`Forbidden: the devtools server rejected this origin. Open the viewer from the same machine.`};let a;try{a=await i.json()}catch{return{status:`error`,message:`Unexpected response from ${n.baseUrl} (not JSON)`}}return i.ok?{status:`ok`,data:r(a)}:{status:`error`,message:`Server error: ${a.error??i.statusText}`}}function yF(e){return typeof e==`object`&&!!e&&`name`in e&&e.name===`AbortError`}function bF(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function xF(e,t){return e==null||t==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function SF(e){let t,n,r;e.length===2?(t=e===bF||e===xF?e:CF,n=e,r=e):(t=bF,n=(t,n)=>bF(e(t),n),r=(t,n)=>e(t)-n);function i(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<0?i=t+1:a=t}while(i<a)}return i}function a(e,r,i=0,a=e.length){if(i<a){if(t(r,r)!==0)return a;do{let t=i+a>>>1;n(e[t],r)<=0?i=t+1:a=t}while(i<a)}return i}function o(e,t,n=0,a=e.length){let o=i(e,t,n,a-1);return o>n&&r(e[o-1],t)>-r(e[o],t)?o-1:o}return{left:i,center:o,right:a}}function CF(){return 0}function wF(e){return e===null?NaN:+e}var TF=SF(bF),EF=TF.right;TF.left,SF(wF).center;var DF=Math.sqrt(50),OF=Math.sqrt(10),kF=Math.sqrt(2);function AF(e,t,n){let r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),a=r/10**i,o=a>=DF?10:a>=OF?5:a>=kF?2:1,s,c,l;return i<0?(l=10**-i/o,s=Math.round(e*l),c=Math.round(t*l),s/l<e&&++s,c/l>t&&--c,l=-l):(l=10**i*o,s=Math.round(e/l),c=Math.round(t/l),s*l<e&&++s,c*l>t&&--c),c<s&&.5<=n&&n<2?AF(e,t,n*2):[s,c,l]}function jF(e,t,n){if(t=+t,e=+e,n=+n,!(n>0))return[];if(e===t)return[e];let r=t<e,[i,a,o]=r?AF(t,e,n):AF(e,t,n);if(!(a>=i))return[];let s=a-i+1,c=Array(s);if(r)if(o<0)for(let e=0;e<s;++e)c[e]=(a-e)/-o;else for(let e=0;e<s;++e)c[e]=(a-e)*o;else if(o<0)for(let e=0;e<s;++e)c[e]=(i+e)/-o;else for(let e=0;e<s;++e)c[e]=(i+e)*o;return c}function MF(e,t,n){return t=+t,e=+e,n=+n,AF(e,t,n)[2]}function NF(e,t,n){t=+t,e=+e,n=+n;let r=t<e,i=r?MF(t,e,n):MF(e,t,n);return(r?-1:1)*(i<0?1/-i:i)}function PF(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function FF(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function IF(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function LF(){}var RF=.7,zF=1/RF,BF=`\\s*([+-]?\\d+)\\s*`,VF=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,HF=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,UF=/^#([0-9a-f]{3,8})$/,WF=RegExp(`^rgb\\(${BF},${BF},${BF}\\)$`),GF=RegExp(`^rgb\\(${HF},${HF},${HF}\\)$`),KF=RegExp(`^rgba\\(${BF},${BF},${BF},${VF}\\)$`),qF=RegExp(`^rgba\\(${HF},${HF},${HF},${VF}\\)$`),JF=RegExp(`^hsl\\(${VF},${HF},${HF}\\)$`),YF=RegExp(`^hsla\\(${VF},${HF},${HF},${VF}\\)$`),XF={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};FF(LF,tI,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:ZF,formatHex:ZF,formatHex8:QF,formatHsl:$F,formatRgb:eI,toString:eI});function ZF(){return this.rgb().formatHex()}function QF(){return this.rgb().formatHex8()}function $F(){return mI(this).formatHsl()}function eI(){return this.rgb().formatRgb()}function tI(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=UF.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?nI(t):n===3?new oI(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?rI(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?rI(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=WF.exec(e))?new oI(t[1],t[2],t[3],1):(t=GF.exec(e))?new oI(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=KF.exec(e))?rI(t[1],t[2],t[3],t[4]):(t=qF.exec(e))?rI(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=JF.exec(e))?pI(t[1],t[2]/100,t[3]/100,1):(t=YF.exec(e))?pI(t[1],t[2]/100,t[3]/100,t[4]):XF.hasOwnProperty(e)?nI(XF[e]):e===`transparent`?new oI(NaN,NaN,NaN,0):null}function nI(e){return new oI(e>>16&255,e>>8&255,e&255,1)}function rI(e,t,n,r){return r<=0&&(e=t=n=NaN),new oI(e,t,n,r)}function iI(e){return e instanceof LF||(e=tI(e)),e?(e=e.rgb(),new oI(e.r,e.g,e.b,e.opacity)):new oI}function aI(e,t,n,r){return arguments.length===1?iI(e):new oI(e,t,n,r??1)}function oI(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}FF(oI,aI,IF(LF,{brighter(e){return e=e==null?zF:zF**+e,new oI(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?RF:RF**+e,new oI(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new oI(dI(this.r),dI(this.g),dI(this.b),uI(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:sI,formatHex:sI,formatHex8:cI,formatRgb:lI,toString:lI}));function sI(){return`#${fI(this.r)}${fI(this.g)}${fI(this.b)}`}function cI(){return`#${fI(this.r)}${fI(this.g)}${fI(this.b)}${fI((isNaN(this.opacity)?1:this.opacity)*255)}`}function lI(){let e=uI(this.opacity);return`${e===1?`rgb(`:`rgba(`}${dI(this.r)}, ${dI(this.g)}, ${dI(this.b)}${e===1?`)`:`, ${e})`}`}function uI(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function dI(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function fI(e){return e=dI(e),(e<16?`0`:``)+e.toString(16)}function pI(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new gI(e,t,n,r)}function mI(e){if(e instanceof gI)return new gI(e.h,e.s,e.l,e.opacity);if(e instanceof LF||(e=tI(e)),!e)return new gI;if(e instanceof gI)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new gI(o,s,c,e.opacity)}function hI(e,t,n,r){return arguments.length===1?mI(e):new gI(e,t,n,r??1)}function gI(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}FF(gI,hI,IF(LF,{brighter(e){return e=e==null?zF:zF**+e,new gI(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?RF:RF**+e,new gI(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,i=2*n-r;return new oI(yI(e>=240?e-240:e+120,i,r),yI(e,i,r),yI(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new gI(_I(this.h),vI(this.s),vI(this.l),uI(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(){let e=uI(this.opacity);return`${e===1?`hsl(`:`hsla(`}${_I(this.h)}, ${vI(this.s)*100}%, ${vI(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function _I(e){return e=(e||0)%360,e<0?e+360:e}function vI(e){return Math.max(0,Math.min(1,e||0))}function yI(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var bI=e=>()=>e;function xI(e,t){return function(n){return e+n*t}}function SI(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function CI(e){return(e=+e)==1?wI:function(t,n){return n-t?SI(t,n,e):bI(isNaN(t)?n:t)}}function wI(e,t){var n=t-e;return n?xI(e,n):bI(isNaN(e)?t:e)}var TI=(function e(t){var n=CI(t);function r(e,t){var r=n((e=aI(e)).r,(t=aI(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=wI(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function EI(e,t){t||(t=[]);var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function DI(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function OI(e,t){var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o;for(o=0;o<r;++o)i[o]=LI(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function kI(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function AI(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function jI(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=LI(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var MI=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,NI=new RegExp(MI.source,`g`);function PI(e){return function(){return e}}function FI(e){return function(t){return e(t)+``}}function II(e,t){var n=MI.lastIndex=NI.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=MI.exec(e))&&(i=NI.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:AI(r,i)})),n=NI.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?FI(c[0].x):PI(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function LI(e,t){var n=typeof t,r;return t==null||n===`boolean`?bI(t):(n===`number`?AI:n===`string`?(r=tI(t))?(t=r,TI):II:t instanceof tI?TI:t instanceof Date?kI:DI(t)?EI:Array.isArray(t)?OI:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?jI:AI)(e,t)}function RI(e,t){return e=+e,t=+t,function(n){return Math.round(e*(1-n)+t*n)}}function zI(e){return function(){return e}}function BI(e){return+e}var VI=[0,1];function HI(e){return e}function UI(e,t){return(t-=e=+e)?function(n){return(n-e)/t}:zI(isNaN(t)?NaN:.5)}function WI(e,t){var n;return e>t&&(n=e,e=t,t=n),function(n){return Math.max(e,Math.min(t,n))}}function GI(e,t,n){var r=e[0],i=e[1],a=t[0],o=t[1];return i<r?(r=UI(i,r),a=n(o,a)):(r=UI(r,i),a=n(a,o)),function(e){return a(r(e))}}function KI(e,t,n){var r=Math.min(e.length,t.length)-1,i=Array(r),a=Array(r),o=-1;for(e[r]<e[0]&&(e=e.slice().reverse(),t=t.slice().reverse());++o<r;)i[o]=UI(e[o],e[o+1]),a[o]=n(t[o],t[o+1]);return function(t){var n=EF(e,t,1,r)-1;return a[n](i[n](t))}}function qI(e,t){return t.domain(e.domain()).range(e.range()).interpolate(e.interpolate()).clamp(e.clamp()).unknown(e.unknown())}function JI(){var e=VI,t=VI,n=LI,r,i,a,o=HI,s,c,l;function u(){var n=Math.min(e.length,t.length);return o!==HI&&(o=WI(e[0],e[n-1])),s=n>2?KI:GI,c=l=null,d}function d(i){return i==null||isNaN(i=+i)?a:(c||(c=s(e.map(r),t,n)))(r(o(i)))}return d.invert=function(n){return o(i((l||(l=s(t,e.map(r),AI)))(n)))},d.domain=function(t){return arguments.length?(e=Array.from(t,BI),u()):e.slice()},d.range=function(e){return arguments.length?(t=Array.from(e),u()):t.slice()},d.rangeRound=function(e){return t=Array.from(e),n=RI,u()},d.clamp=function(e){return arguments.length?(o=e?!0:HI,u()):o!==HI},d.interpolate=function(e){return arguments.length?(n=e,u()):n},d.unknown=function(e){return arguments.length?(a=e,d):a},function(e,t){return r=e,i=t,u()}}function YI(){return JI()(HI,HI)}function XI(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString(`en`).replace(/,/g,``):e.toString(10)}function ZI(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf(`e`))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function QI(e){return e=ZI(Math.abs(e)),e?e[1]:NaN}function $I(e,t){return function(n,r){for(var i=n.length,a=[],o=0,s=e[0],c=0;i>0&&s>0&&(c+s+1>r&&(s=Math.max(1,r-c)),a.push(n.substring(i-=s,i+s)),!((c+=s+1)>r));)s=e[o=(o+1)%e.length];return a.reverse().join(t)}}function eL(e){return function(t){return t.replace(/[0-9]/g,function(t){return e[+t]})}}var tL=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function nL(e){if(!(t=tL.exec(e)))throw Error(`invalid format: `+e);var t;return new rL({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}nL.prototype=rL.prototype;function rL(e){this.fill=e.fill===void 0?` `:e.fill+``,this.align=e.align===void 0?`>`:e.align+``,this.sign=e.sign===void 0?`-`:e.sign+``,this.symbol=e.symbol===void 0?``:e.symbol+``,this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?``:e.type+``}rL.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?`0`:``)+(this.width===void 0?``:Math.max(1,this.width|0))+(this.comma?`,`:``)+(this.precision===void 0?``:`.`+Math.max(0,this.precision|0))+(this.trim?`~`:``)+this.type};function iL(e){out:for(var t=e.length,n=1,r=-1,i;n<t;++n)switch(e[n]){case`.`:r=i=n;break;case`0`:r===0&&(r=n),i=n;break;default:if(!+e[n])break out;r>0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var aL;function oL(e,t){var n=ZI(e,t);if(!n)return e+``;var r=n[0],i=n[1],a=i-(aL=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return a===o?r:a>o?r+Array(a-o+1).join(`0`):a>0?r.slice(0,a)+`.`+r.slice(a):`0.`+Array(1-a).join(`0`)+ZI(e,Math.max(0,t+a-1))[0]}function sL(e,t){var n=ZI(e,t);if(!n)return e+``;var r=n[0],i=n[1];return i<0?`0.`+Array(-i).join(`0`)+r:r.length>i+1?r.slice(0,i+1)+`.`+r.slice(i+1):r+Array(i-r.length+2).join(`0`)}var cL={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+``,d:XI,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>sL(e*100,t),r:sL,s:oL,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function lL(e){return e}var uL=Array.prototype.map,dL=[`y`,`z`,`a`,`f`,`p`,`n`,`µ`,`m`,``,`k`,`M`,`G`,`T`,`P`,`E`,`Z`,`Y`];function fL(e){var t=e.grouping===void 0||e.thousands===void 0?lL:$I(uL.call(e.grouping,Number),e.thousands+``),n=e.currency===void 0?``:e.currency[0]+``,r=e.currency===void 0?``:e.currency[1]+``,i=e.decimal===void 0?`.`:e.decimal+``,a=e.numerals===void 0?lL:eL(uL.call(e.numerals,String)),o=e.percent===void 0?`%`:e.percent+``,s=e.minus===void 0?`−`:e.minus+``,c=e.nan===void 0?`NaN`:e.nan+``;function l(e){e=nL(e);var l=e.fill,u=e.align,d=e.sign,f=e.symbol,p=e.zero,m=e.width,h=e.comma,g=e.precision,_=e.trim,v=e.type;v===`n`?(h=!0,v=`g`):cL[v]||(g===void 0&&(g=12),_=!0,v=`g`),(p||l===`0`&&u===`=`)&&(p=!0,l=`0`,u=`=`);var y=f===`$`?n:f===`#`&&/[boxX]/.test(v)?`0`+v.toLowerCase():``,b=f===`$`?r:/[%p]/.test(v)?o:``,x=cL[v],S=/[defgprs%]/.test(v);g=g===void 0?6:/[gprs]/.test(v)?Math.max(1,Math.min(21,g)):Math.max(0,Math.min(20,g));function C(e){var n=y,r=b,o,f,C;if(v===`c`)r=x(e)+r,e=``;else{e=+e;var w=e<0||1/e<0;if(e=isNaN(e)?c:x(Math.abs(e),g),_&&(e=iL(e)),w&&+e==0&&d!==`+`&&(w=!1),n=(w?d===`(`?d:s:d===`-`||d===`(`?``:d)+n,r=(v===`s`?dL[8+aL/3]:``)+r+(w&&d===`(`?`)`:``),S){for(o=-1,f=e.length;++o<f;)if(C=e.charCodeAt(o),48>C||C>57){r=(C===46?i+e.slice(o+1):e.slice(o))+r,e=e.slice(0,o);break}}}h&&!p&&(e=t(e,1/0));var T=n.length+e.length+r.length,ee=T<m?Array(m-T+1).join(l):``;switch(h&&p&&(e=t(ee+e,ee.length?m-r.length:1/0),ee=``),u){case`<`:e=n+e+r+ee;break;case`=`:e=n+ee+e+r;break;case`^`:e=ee.slice(0,T=ee.length>>1)+n+e+r+ee.slice(T);break;default:e=ee+n+e+r;break}return a(e)}return C.toString=function(){return e+``},C}function u(e,t){var n=l((e=nL(e),e.type=`f`,e)),r=Math.max(-8,Math.min(8,Math.floor(QI(t)/3)))*3,i=10**-r,a=dL[8+r/3];return function(e){return n(i*e)+a}}return{format:l,formatPrefix:u}}var pL,mL,hL;gL({thousands:`,`,grouping:[3],currency:[`$`,``]});function gL(e){return pL=fL(e),mL=pL.format,hL=pL.formatPrefix,pL}function _L(e){return Math.max(0,-QI(Math.abs(e)))}function vL(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(QI(t)/3)))*3-QI(Math.abs(e)))}function yL(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,QI(t)-QI(e))+1}function bL(e,t,n,r){var i=NF(e,t,n),a;switch(r=nL(r??`,f`),r.type){case`s`:var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(a=vL(i,o))&&(r.precision=a),hL(r,o);case``:case`e`:case`g`:case`p`:case`r`:r.precision==null&&!isNaN(a=yL(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=a-(r.type===`e`));break;case`f`:case`%`:r.precision==null&&!isNaN(a=_L(i))&&(r.precision=a-(r.type===`%`)*2);break}return mL(r)}function xL(e){var t=e.domain;return e.ticks=function(e){var n=t();return jF(n[0],n[n.length-1],e??10)},e.tickFormat=function(e,n){var r=t();return bL(r[0],r[r.length-1],e??10,n)},e.nice=function(n){n??(n=10);var r=t(),i=0,a=r.length-1,o=r[i],s=r[a],c,l,u=10;for(s<o&&(l=o,o=s,s=l,l=i,i=a,a=l);u-->0;){if(l=MF(o,s,n),l===c)return r[i]=o,r[a]=s,t(r);if(l>0)o=Math.floor(o/l)*l,s=Math.ceil(s/l)*l;else if(l<0)o=Math.ceil(o*l)/l,s=Math.floor(s*l)/l;else break;c=l}return e},e}function SL(){var e=YI();return e.copy=function(){return qI(e,SL())},PF.apply(e,arguments),xL(e)}function CL(e){return function(){return e}}var wL=Math.PI,TL=2*wL,EL=1e-6,DL=TL-EL;function OL(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function kL(e){let t=Math.floor(e);if(!(t>=0))throw Error(`invalid digits: ${e}`);if(t>15)return OL;let n=10**t;return function(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=Math.round(arguments[t]*n)/n+e[t]}}var AL=class{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._=``,this._append=e==null?OL:kL(e)}moveTo(e,t){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,t){this._append`L${this._x1=+e},${this._y1=+t}`}quadraticCurveTo(e,t,n,r){this._append`Q${+e},${+t},${this._x1=+n},${this._y1=+r}`}bezierCurveTo(e,t,n,r,i,a){this._append`C${+e},${+t},${+n},${+r},${this._x1=+i},${this._y1=+a}`}arcTo(e,t,n,r,i){if(e=+e,t=+t,n=+n,r=+r,i=+i,i<0)throw Error(`negative radius: ${i}`);let a=this._x1,o=this._y1,s=n-e,c=r-t,l=a-e,u=o-t,d=l*l+u*u;if(this._x1===null)this._append`M${this._x1=e},${this._y1=t}`;else if(d>EL)if(!(Math.abs(u*s-c*l)>EL)||!i)this._append`L${this._x1=e},${this._y1=t}`;else{let f=n-a,p=r-o,m=s*s+c*c,h=f*f+p*p,g=Math.sqrt(m),_=Math.sqrt(d),v=i*Math.tan((wL-Math.acos((m+d-h)/(2*g*_)))/2),y=v/_,b=v/g;Math.abs(y-1)>EL&&this._append`L${e+y*l},${t+y*u}`,this._append`A${i},${i},0,0,${+(u*f>l*p)},${this._x1=e+b*s},${this._y1=t+b*c}`}}arc(e,t,n,r,i,a){if(e=+e,t=+t,n=+n,a=!!a,n<0)throw Error(`negative radius: ${n}`);let o=n*Math.cos(r),s=n*Math.sin(r),c=e+o,l=t+s,u=1^a,d=a?r-i:i-r;this._x1===null?this._append`M${c},${l}`:(Math.abs(this._x1-c)>EL||Math.abs(this._y1-l)>EL)&&this._append`L${c},${l}`,n&&(d<0&&(d=d%TL+TL),d>DL?this._append`A${n},${n},0,1,${u},${e-o},${t-s}A${n},${n},0,1,${u},${this._x1=c},${this._y1=l}`:d>EL&&this._append`A${n},${n},0,${+(d>=wL)},${u},${this._x1=e+n*Math.cos(i)},${this._y1=t+n*Math.sin(i)}`)}rect(e,t,n,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+t}h${n=+n}v${+r}h${-n}Z`}toString(){return this._}};function jL(){return new AL}jL.prototype=AL.prototype;function ML(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{let e=Math.floor(n);if(!(e>=0))throw RangeError(`invalid digits: ${n}`);t=e}return e},()=>new AL(t)}Array.prototype.slice;function NL(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function PL(e){this._context=e}PL.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function FL(e){return new PL(e)}function IL(e){return e[0]}function LL(e){return e[1]}function RL(e,t){var n=CL(!0),r=null,i=FL,a=null,o=ML(s);e=typeof e==`function`?e:e===void 0?IL:CL(e),t=typeof t==`function`?t:t===void 0?LL:CL(t);function s(s){var c,l=(s=NL(s)).length,u,d=!1,f;for(r??(a=i(f=o())),c=0;c<=l;++c)!(c<l&&n(u=s[c],c,s))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(u,c,s),+t(u,c,s));if(f)return a=null,f+``||null}return s.x=function(t){return arguments.length?(e=typeof t==`function`?t:CL(+t),s):e},s.y=function(e){return arguments.length?(t=typeof e==`function`?e:CL(+e),s):t},s.defined=function(e){return arguments.length?(n=typeof e==`function`?e:CL(!!e),s):n},s.curve=function(e){return arguments.length?(i=e,r!=null&&(a=i(r)),s):i},s.context=function(e){return arguments.length?(e==null?r=a=null:a=i(r=e),s):r},s}function zL(e,t,n){var r=null,i=CL(!0),a=null,o=FL,s=null,c=ML(l);e=typeof e==`function`?e:e===void 0?IL:CL(+e),t=typeof t==`function`?t:CL(t===void 0?0:+t),n=typeof n==`function`?n:n===void 0?LL:CL(+n);function l(l){var u,d,f,p=(l=NL(l)).length,m,h=!1,g,_=Array(p),v=Array(p);for(a??(s=o(g=c())),u=0;u<=p;++u){if(!(u<p&&i(m=l[u],u,l))===h)if(h=!h)d=u,s.areaStart(),s.lineStart();else{for(s.lineEnd(),s.lineStart(),f=u-1;f>=d;--f)s.point(_[f],v[f]);s.lineEnd(),s.areaEnd()}h&&(_[u]=+e(m,u,l),v[u]=+t(m,u,l),s.point(r?+r(m,u,l):_[u],n?+n(m,u,l):v[u]))}if(g)return s=null,g+``||null}function u(){return RL().defined(i).curve(o).context(a)}return l.x=function(t){return arguments.length?(e=typeof t==`function`?t:CL(+t),r=null,l):e},l.x0=function(t){return arguments.length?(e=typeof t==`function`?t:CL(+t),l):e},l.x1=function(e){return arguments.length?(r=e==null?null:typeof e==`function`?e:CL(+e),l):r},l.y=function(e){return arguments.length?(t=typeof e==`function`?e:CL(+e),n=null,l):t},l.y0=function(e){return arguments.length?(t=typeof e==`function`?e:CL(+e),l):t},l.y1=function(e){return arguments.length?(n=e==null?null:typeof e==`function`?e:CL(+e),l):n},l.lineX0=l.lineY0=function(){return u().x(e).y(t)},l.lineY1=function(){return u().x(e).y(n)},l.lineX1=function(){return u().x(r).y(t)},l.defined=function(e){return arguments.length?(i=typeof e==`function`?e:CL(!!e),l):i},l.curve=function(e){return arguments.length?(o=e,a!=null&&(s=o(a)),l):o},l.context=function(e){return arguments.length?(e==null?a=s=null:s=o(a=e),l):a},l}var BL=ua(`<svg role="img"><path fill="none" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"></path></svg>`),VL=V(`<span>—</span>`);function HL(e,t){it(t,!0);let n=Z(t,`width`,3,80),r=Z(t,`height`,3,20),i=Z(t,`color`,3,`var(--color-accent)`),a=M(()=>t.points.map(e=>e.value??0)),o=M(()=>{if(t.points.length<2)return null;let e=SL().domain([t.points[0].timestamp,t.points[t.points.length-1].timestamp]).range([1,n()-1]),i=Math.min(...z(a)),o=Math.max(...z(a)),s=SL().domain(i===o?[i-1,o+1]:[i,o]).range([r()-1,1]);return RL().x(t=>e(t.timestamp)).y(e=>s(e.value??0))(t.points)});var s=da(),c=I(s),l=e=>{var a=BL(),s=F(a);D(a),R(e=>{J(a,`width`,n()),J(a,`height`,r()),J(a,`viewBox`,`0 0 ${n()??``} ${r()??``}`),J(a,`aria-label`,t.ariaLabel??`Sparkline, ${t.points.length} points`),q(a,0,e),J(s,`d`,z(o)),J(s,`stroke`,i())},[()=>K(Q(`overflow-visible`,t.class))]),H(e,a)},u=e=>{var i=VL();R(e=>{q(i,1,e),co(i,`width:${n()??``}px;height:${r()??``}px`)},[()=>K(Q(`text-[10px] text-fg-subtle`,t.class))]),H(e,i)};W(c,e=>{z(o)?e(l):e(u,-1)}),H(e,s),at()}function UL(e,t){if(t===void 0)return e;if(t===`cumulative`&&e.length<2)return[];let n=[],r=+(t===`cumulative`);for(let i=r;i<e.length;i++){let r=e[i-1],a=r?.value??0,o=e[i].value??0,s=o;t===`cumulative`&&o>=a&&(s=o-a);let c=e[i].startTimestamp??r?.timestamp,l=c===void 0?0:(e[i].timestamp-c)/1e3;n.push({...e[i],value:l>0?s/l:s})}return n}function WL(e,t,n){if(e.length!==t.length+1)return;let r=e.reduce((e,t)=>e+t,0);if(r===0)return;let i=n*r,a=0;for(let n=0;n<e.length;n++){let r=e[n];if(a+r>=i){let e=n===0?0:t[n-1],o=n<t.length?t[n]:t[t.length-1];if(r===0)return o;let s=(i-a)/r;return e+(o-e)*s}a+=r}return t[t.length-1]}function GL(e,t){return e.length===t.length+1?t.length===0?[{label:`all`,count:e[0],from:-1/0,to:1/0}]:e.map((e,n)=>{let r=n===0?-1/0:t[n-1],i=n<t.length?t[n]:1/0;return{label:n===0?`≤${QL(t[0])}`:n===t.length?`>${QL(t[t.length-1])}`:`${QL(t[n-1])}–${QL(t[n])}`,count:e,from:r,to:i}}):[]}function KL(e){if(e.bucketCounts&&e.explicitBounds)return GL(e.bucketCounts,e.explicitBounds);if(e.scale===void 0)return[];let t=2**2**-e.scale,n=[];if(qL(n,e.negative,t,!0),e.zeroCount!==void 0){let t=e.zeroThreshold??0;n.push({label:t>0?`−${QL(t)}–${QL(t)}`:`0`,count:e.zeroCount,from:-t,to:t})}return qL(n,e.positive,t,!1),n.sort((e,t)=>e.from-t.from)}function qL(e,t,n,r){if(t)for(let i=0;i<t.bucketCounts.length;i++){let a=t.offset+i,o=n**a,s=n**(a+1),c=r?-s:o,l=r?-o:s;e.push({label:`${QL(c)}–${QL(l)}`,count:t.bucketCounts[i],from:c,to:l})}}function JL(e,t){if(e.bucketCounts&&e.explicitBounds)return WL(e.bucketCounts,e.explicitBounds,t);let n=KL(e),r=n.reduce((e,t)=>e+t.count,0);if(r===0)return;let i=t*r,a=0;for(let e of n){if(a+e.count>=i)return e.count===0?e.to:e.from+(i-a)/e.count*(e.to-e.from);a+=e.count}return n[n.length-1]?.to}function YL(e,t){if(e.length===0)return;let n=e.map(e=>e.value??0);switch(t){case`sum`:return n.reduce((e,t)=>e+t,0);case`avg`:return n.reduce((e,t)=>e+t,0)/n.length;case`min`:return Math.min(...n);case`max`:return Math.max(...n);case`last`:return n[n.length-1];case`count`:return e.length}}function XL(e,t,n){if(!Number.isFinite(e)||!Number.isFinite(t)||e===t)return[e];let r=(t-e)/Math.max(1,n),i=10**Math.floor(Math.log10(r)),a=r/i,o=(a<=1?1:a<=2?2:a<=5?5:10)*i,s=Math.floor(e/o)*o,c=Math.ceil(t/o)*o,l=[],u=Math.round((c-s)/o);for(let e=0;e<=u;e++)l.push(s+e*o);return l}function ZL(e,t){if(e.length<=t||t<3)return e;let n=Math.max(1,Math.floor((t-2)/2)),r=e.length/n,i=new Map;i.set(0,e[0]),i.set(e.length-1,e[e.length-1]);for(let t=0;t<n;t++){let n=Math.floor(t*r),a=Math.min(e.length,Math.floor((t+1)*r));if(n>=a)continue;let o=n,s=n;for(let t=n;t<a;t++){let n=e[t].value??0;n<(e[o].value??0)&&(o=t),n>(e[s].value??0)&&(s=t)}i.set(o,e[o]),i.set(s,e[s])}return[...i.entries()].sort((e,t)=>e[0]-t[0]).map(([,e])=>e)}function QL(e){return Number.isFinite(e)?Math.abs(e)>=1e3?e.toLocaleString(void 0,{maximumFractionDigits:0}):String(Math.round(e*100)/100):`∞`}function $L(e){if(e.length===0)return[];let t=[...new Set(e.flatMap(e=>e.map(e=>e.timestamp)))].sort((e,t)=>e-t),n=e.map(e=>new Map(e.map(e=>[e.timestamp,e.value??0]))),r=new Map(t.map(e=>[e,0]));return n.map(e=>t.map(t=>{let n=r.get(t)??0,i=e.get(t)??0,a=n+Math.max(0,i);return r.set(t,a),{timestamp:t,y0:n,y1:a}}))}function eR(e,t){return t.map(t=>({quantile:t,points:e.flatMap(e=>{let n=JL(e,t);return n===void 0?[]:[{timestamp:e.timestamp,value:n}]})}))}function tR(e){let t=e.filter(e=>KL(e).length>0);if(t.length===0)return{columns:[],rows:[],max:0};let n=t[0],r=KL(n),i=r.map(e=>({label:e.label,from:e.from,to:e.to}));if(i.length===0)return{columns:[],rows:[],max:0};let a=t.filter(e=>KL(e).length===r.length&&KL(e).every((e,t)=>e.label===r[t].label)),o=Math.max(0,...a.flatMap(e=>KL(e).map(e=>e.count)));return{columns:a.slice().sort((e,t)=>e.timestamp-t.timestamp).map(e=>({timestamp:e.timestamp,cells:KL(e).map(({count:e})=>({count:e,intensity:o>0?e/o:0}))})),rows:i,max:o}}var nR=V(`<div>No data in this window</div>`),rR=ua(`<line x1="0" stroke="var(--color-line-subtle)" stroke-width="1"></line><text x="-6" text-anchor="end" dominant-baseline="middle" class="fill-[var(--color-fg-subtle)] text-[10px]"> </text>`,1),iR=ua(`<text text-anchor="middle" class="fill-[var(--color-fg-subtle)] text-[10px]"> </text>`),aR=ua(`<path opacity="0.75" stroke="var(--color-surface)" stroke-width="0.5" data-testid="stack-band"></path>`),oR=ua(`<path opacity="0.15"></path>`),sR=ua(`<path fill="none" stroke-width="1.5" stroke-linejoin="round"></path>`),cR=ua(`<circle r="2.5"></circle>`),lR=ua(`<!><!>`,1),uR=ua(`<circle r="3.5" fill="var(--color-warning)" stroke="var(--color-surface)" stroke-width="1" role="button" tabindex="0" class="cursor-pointer"></circle>`),dR=ua(`<svg role="img"><g><!><!><!><!></g></svg>`);function fR(e,t){it(t,!0);let n=Z(t,`width`,3,640),r=Z(t,`height`,3,220),i=Z(t,`area`,3,!1),a=Z(t,`stacked`,3,!1),o={top:8,right:12,bottom:22,left:44},s=M(()=>Math.max(1,n()-o.left-o.right)),c=M(()=>Math.max(1,r()-o.top-o.bottom)),l=M(()=>t.series.map(e=>({...e,points:ZL(e.points,400)}))),u=M(()=>z(l).filter(e=>!t.isolated?.size||t.isolated.has(e.seriesId))),d=M(()=>a()?$L(z(u).map(e=>e.points)):null),f=M(()=>{let e=z(u).flatMap(e=>e.points);if(e.length===0)return null;let t=e.map(e=>e.timestamp),n=z(d)?z(d).flatMap(e=>e.map(e=>e.y1)):e.map(e=>e.value??0),r=Math.min(...t),i=Math.max(...t),a=Math.min(0,...n),o=Math.max(...n);return{minTime:r,maxTime:i===r?r+1:i,minValue:a,maxValue:o===a?a+1:o}}),p=M(()=>z(f)?SL().domain([z(f).minTime,z(f).maxTime]).range([0,z(s)]):null),m=M(()=>z(f)?SL().domain([z(f).minValue,z(f).maxValue]).range([z(c),0]):null),h=M(()=>z(f)?XL(z(f).minValue,z(f).maxValue,4):[]),g=M(()=>z(f)?XL(z(f).minTime,z(f).maxTime,4):[]);function _(e){return!z(p)||!z(m)||e.length===0||e.length===1?null:RL().x(e=>z(p)(e.timestamp)).y(e=>z(m)(e.value??0))(e)}function v(e){return!z(p)||!z(m)||e.length<2?null:zL().x(e=>z(p)(e.timestamp)).y0(z(m)(Math.max(0,z(f)?.minValue??0))).y1(e=>z(m)(e.value??0))(e)}function y(e){return pg(e.seriesId).stroke}function b(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function x(e){return Math.abs(e)>=1e3?e.toLocaleString(void 0,{maximumFractionDigits:0}):String(Math.round(e*1e3)/1e3)}function S(e){return!z(p)||!z(m)||e.length<2?null:zL().x(e=>z(p)(e.timestamp)).y0(e=>z(m)(e.y0)).y1(e=>z(m)(e.y1))(e)}let C=M(()=>!z(p)||!z(m)?[]:z(u).flatMap(e=>e.points.flatMap(t=>(t.exemplars??[]).filter(e=>e.traceId).map(n=>({key:`${e.seriesId}:${n.timestamp}:${n.traceId}`,x:z(p)(n.timestamp||t.timestamp),y:z(m)(n.value),traceId:n.traceId,spanId:n.spanId,value:n.value})))));var w=da(),T=I(w),ee=e=>{var n=nR();R(e=>{q(n,1,e),co(n,`height:${r()??``}px`)},[()=>K(Q(`flex items-center justify-center text-xs text-fg-subtle border border-line rounded`,t.class))]),H(e,n)},te=e=>{var a=dR(),l=F(a),f=F(l);G(f,16,()=>z(h),e=>e,(e,t)=>{let n=M(()=>z(m)?z(m)(t):0);var r=da(),i=I(r),a=e=>{var r=rR(),i=I(r),a=L(i),o=F(a,!0);D(a),R(e=>{J(i,`x2`,z(s)),J(i,`y1`,z(n)),J(i,`y2`,z(n)),J(a,`y`,z(n)),U(o,e)},[()=>x(t)]),H(e,r)};W(i,e=>{z(n)>=0&&z(n)<=z(c)&&e(a)}),H(e,r)});var w=L(f);G(w,16,()=>z(g),e=>e,(e,t)=>{let n=M(()=>z(p)?z(p)(t):0);var r=da(),i=I(r),a=e=>{var r=iR(),i=F(r,!0);D(r),R(e=>{J(r,`x`,z(n)),J(r,`y`,z(c)+14),U(i,e)},[()=>b(t)]),H(e,r)};W(i,e=>{z(n)>=0&&z(n)<=z(s)&&e(a)}),H(e,r)});var T=L(w),ee=e=>{var t=da();G(I(t),19,()=>z(u),e=>e.seriesId,(e,t,n)=>{let r=M(()=>S(z(d)[z(n)]));var i=da(),a=I(i),o=e=>{var n=aR();R(e=>{J(n,`d`,z(r)),J(n,`fill`,e)},[()=>y(z(t))]),H(e,n)};W(a,e=>{z(r)&&e(o)}),H(e,i)}),H(e,t)},te=e=>{var t=da();G(I(t),17,()=>z(u),e=>e.seriesId,(e,t)=>{let n=M(()=>_(z(t).points));var r=lR(),a=I(r),o=e=>{let n=M(()=>v(z(t).points));var r=da(),i=I(r),a=e=>{var r=oR();R(e=>{J(r,`d`,z(n)),J(r,`fill`,e)},[()=>y(z(t))]),H(e,r)};W(i,e=>{z(n)&&e(a)}),H(e,r)};W(a,e=>{i()&&e(o)});var s=L(a),c=e=>{var r=sR();R(e=>{J(r,`d`,z(n)),J(r,`stroke`,e)},[()=>y(z(t))]),H(e,r)},l=e=>{var n=cR();R((e,t,r)=>{J(n,`cx`,e),J(n,`cy`,t),J(n,`fill`,r)},[()=>z(p)?z(p)(z(t).points[0].timestamp):0,()=>z(m)?z(m)(z(t).points[0].value??0):0,()=>y(z(t))]),H(e,n)};W(s,e=>{z(n)?e(c):z(t).points.length===1&&e(l,1)}),H(e,r)}),H(e,t)};W(T,e=>{z(d)?e(ee):e(te,-1)}),G(L(T),17,()=>z(C),e=>e.key,(e,n)=>{var r=uR();R(e=>{J(r,`cx`,z(n).x),J(r,`cy`,z(n).y),J(r,`aria-label`,`Open trace ${z(n).traceId??``} (${e??``})`)},[()=>x(z(n).value)]),B(`click`,r,()=>t.onExemplar?.(z(n).traceId,z(n).spanId)),B(`keydown`,r,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t.onExemplar?.(z(n).traceId,z(n).spanId))}),H(e,r)}),D(l),D(a),R(e=>{J(a,`width`,n()),J(a,`height`,r()),J(a,`viewBox`,`0 0 ${n()??``} ${r()??``}`),J(a,`aria-label`,`Time series chart, ${z(u).length??``} series`),q(a,0,e),J(l,`transform`,`translate(${o.left??``},${o.top??``})`)},[()=>K(Q(`overflow-visible`,t.class))]),H(e,a)};W(T,e=>{z(f)?e(te,-1):e(ee)}),H(e,w),at()}na([`click`,`keydown`]);var pR=V(`<div>No bucket data on this point</div>`),mR=V(`<div class="flex-1 flex flex-col items-center justify-end h-full gap-1"><span class="text-[10px] text-fg-subtle tabular-nums"> </span> <div class="w-full rounded-t bg-accent/70 hover:bg-accent transition-colors"></div> <span class="text-[10px] text-fg-subtle truncate w-full text-center"> </span></div>`),hR=V(`<span><span class="text-fg-subtle"> </span> <span class="font-mono text-fg"> </span></span>`),gR=V(`<span class="ml-auto"><span class="text-fg-subtle">count</span> <span class="font-mono text-fg"> </span></span>`),_R=V(`<div><div class="flex items-end gap-1" role="img"></div> <div class="flex items-center gap-4 text-[11px] text-fg-muted border-t border-line pt-2"><!> <!></div></div>`);function vR(e,t){it(t,!0);let n=Z(t,`height`,3,160),r=M(()=>KL(t.point)),i=M(()=>Math.max(1,...z(r).map(e=>e.count))),a=M(()=>z(r).reduce((e,t)=>e+t.count,0)),o=M(()=>[.5,.9,.99].map(e=>({label:`p${e*100}`,value:JL(t.point,e)})));function s(e){if(e===void 0)return`—`;let n=Math.round(e*100)/100;return t.unit?`${n}${t.unit}`:String(n)}function c(e){return z(a)===0?`0%`:`${Math.round(e/z(a)*100)}%`}var l=da(),u=I(l),d=e=>{var r=pR();R(e=>{q(r,1,e),co(r,`height:${n()??``}px`)},[()=>K(Q(`flex items-center justify-center text-xs text-fg-subtle border border-line rounded`,t.class))]),H(e,r)},f=e=>{var l=_R(),u=F(l);G(u,21,()=>z(r),e=>e.label,(e,t)=>{var n=mR(),r=F(n),a=F(r,!0);D(r);var o=L(r,2),s=L(o,2),l=F(s,!0);D(s),D(n),R(e=>{U(a,z(t).count),co(o,`height:${z(t).count/z(i)*100}%`),J(o,`title`,`${z(t).label??``}: ${z(t).count??``} (${e??``})`),U(l,z(t).label)},[()=>c(z(t).count)]),H(e,n)}),D(u);var d=L(u,2),f=F(d);G(f,17,()=>z(o),e=>e.label,(e,t)=>{var n=hR(),r=F(n),i=F(r,!0);D(r);var a=L(r,2),o=F(a,!0);D(a),D(n),R(e=>{U(i,z(t).label),U(o,e)},[()=>s(z(t).value)]),H(e,n)});var p=L(f,2),m=e=>{var n=gR(),r=L(F(n),2),i=F(r,!0);D(r),D(n),R(()=>U(i,t.point.count)),H(e,n)};W(p,e=>{t.point.count!==void 0&&e(m)}),D(d),D(l),R(e=>{q(l,1,e),co(u,`height:${n()??``}px`),J(u,`aria-label`,`Histogram, ${z(r).length??``} buckets, ${z(a)??``} observations`)},[()=>K(Q(`flex flex-col gap-2`,t.class))]),H(e,l)};W(u,e=>{z(r).length===0?e(d):e(f,-1)}),H(e,l),at()}var yR=V(`<div>No bucketed data in this window</div>`),bR=V(`<span class="ml-0.5"> </span>`),xR=V(`<div class="text-[10px] text-fg-subtle flex items-center justify-end"> <!></div>`),SR=V(`<button type="button" class="w-full rounded-[1px] focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-accent"></button>`),CR=V(`<div class="flex-1 min-w-[8px] flex flex-col gap-px"></div>`),wR=V(`<div><div class="flex" role="img"><div class="shrink-0 pr-2 text-right"></div> <div class="flex-1 min-w-0 overflow-x-auto"><div class="flex gap-px h-full"></div></div></div> <div class="flex items-center gap-2 text-[10px] text-fg-subtle pl-2"><span> </span> <span class="flex-1 border-t border-line-subtle"></span> <span> </span> <span class="ml-2"> </span></div></div>`);function TR(e,t){it(t,!0);let n=Z(t,`rowHeight`,3,22),r=M(()=>tR(t.points));function i(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function a(e){return e===0?`background: var(--color-subtle)`:`background: color-mix(in oklch, var(--color-accent) ${(.12+e*.88)*100}%, transparent)`}var o=da(),s=I(o),c=e=>{var n=yR();R(e=>q(n,1,e),[()=>K(Q(`flex items-center justify-center text-xs text-fg-subtle border border-line rounded p-6`,t.class))]),H(e,n)},l=e=>{var o=wR(),s=F(o),c=F(s);G(c,21,()=>[...z(r).rows].reverse(),e=>e.label,(e,r)=>{var i=xR(),a=F(i,!0),o=L(a),s=e=>{var n=bR(),r=F(n,!0);D(n),R(()=>U(r,t.unit)),H(e,n)};W(o,e=>{t.unit&&e(s)}),D(i),R(()=>{co(i,`height:${n()??``}px`),U(a,z(r).label)}),H(e,i)}),D(c);var l=L(c,2),u=F(l);G(u,21,()=>z(r).columns,e=>e.timestamp,(e,o)=>{var s=CR();G(s,21,()=>[...z(o).cells].reverse(),Aa,(e,s,c)=>{let l=M(()=>z(o).cells.length-1-c);var u=SR();R((e,i,a)=>{co(u,`height:${n()??``}px; ${e??``}`),J(u,`title`,`${z(r).rows[z(l)].label??``}${t.unit??``??``} at ${i??``}: ${z(s).count??``}`),J(u,`aria-label`,`${z(r).rows[z(l)].label??``} at ${a??``}: ${z(s).count??``} observations`)},[()=>a(z(s).intensity),()=>i(z(o).timestamp),()=>i(z(o).timestamp)]),B(`click`,u,()=>t.onCell?.(z(o).timestamp,z(l))),H(e,u)}),D(s),H(e,s)}),D(u),D(l),D(s);var d=L(s,2),f=F(d),p=F(f,!0);D(f);var m=L(f,4),h=F(m,!0);D(m);var g=L(m,2),_=F(g);D(g),D(d),D(o),R((e,t,n)=>{q(o,1,e),J(s,`aria-label`,`Distribution heatmap, ${z(r).rows.length??``} buckets over ${z(r).columns.length??``} intervals, busiest cell ${z(r).max??``}`),U(p,t),U(h,n),U(_,`busiest ${z(r).max??``}`)},[()=>K(Q(`flex flex-col gap-1`,t.class)),()=>i(z(r).columns[0].timestamp),()=>i(z(r).columns[z(r).columns.length-1].timestamp)]),H(e,o)};W(s,e=>{z(r).columns.length===0?e(c):e(l,-1)}),H(e,o),at()}na([`click`]);var ER=V(`<div>No bucketed data in this window</div>`),DR=ua(`<line x1="0" stroke="var(--color-line-subtle)"></line><text x="-6" text-anchor="end" dominant-baseline="middle" class="fill-[var(--color-fg-subtle)] text-[10px]"> </text>`,1),OR=ua(`<text text-anchor="middle" class="fill-[var(--color-fg-subtle)] text-[10px]"> </text>`),kR=ua(`<path fill="var(--color-accent)"></path>`),AR=ua(`<path fill="none" stroke="var(--color-accent)" stroke-width="1.25"></path>`),jR=V(`<span><span class="text-fg-subtle"> </span> <span class="font-mono text-fg ml-1"> </span></span>`),MR=V(`<div><svg role="img" class="overflow-visible"><g><!><!><!><!></g></svg> <div class="flex items-center gap-4 text-[11px] border-t border-line pt-2"></div></div>`);function NR(e,t){it(t,!0);let n=Z(t,`quantiles`,19,()=>[.5,.9,.99]),r=Z(t,`width`,3,640),i=Z(t,`height`,3,220),a={top:8,right:12,bottom:22,left:48},o=M(()=>Math.max(1,r()-a.left-a.right)),s=M(()=>Math.max(1,i()-a.top-a.bottom)),c=M(()=>[...n()].sort((e,t)=>e-t)),l=M(()=>eR(t.points,z(c))),u=M(()=>{let e=z(l).flatMap(e=>e.points);if(e.length===0)return null;let t=e.map(e=>e.timestamp),n=e.map(e=>e.value),r=Math.min(...t),i=Math.max(...t),a=Math.max(...n);return{minTime:r,maxTime:i===r?r+1:i,maxValue:a===0?1:a}}),d=M(()=>z(u)?SL().domain([z(u).minTime,z(u).maxTime]).range([0,z(o)]):null),f=M(()=>z(u)?SL().domain([0,z(u).maxValue]).range([z(s),0]):null),p=M(()=>z(u)?XL(0,z(u).maxValue,4):[]),m=M(()=>z(u)?XL(z(u).minTime,z(u).maxTime,4):[]);function h(e){return!z(d)||!z(f)||e.points.length<2?null:zL().x(e=>z(d)(e.timestamp)).y0(z(s)).y1(e=>z(f)(e.value))(e.points)}function g(e){return!z(d)||!z(f)||e.points.length<2?null:RL().x(e=>z(d)(e.timestamp)).y(e=>z(f)(e.value))(e.points)}function _(e){return .3-e*.08}function v(e){return`p${Math.round(e*100)}`}function y(e){return new Date(e).toLocaleTimeString(void 0,{hour:`2-digit`,minute:`2-digit`})}function b(e){let n=Math.round(e*10)/10;return t.unit?`${n}${t.unit}`:String(n)}let x=M(()=>z(l).map(e=>({quantile:e.quantile,value:e.points[e.points.length-1]?.value})));var S=da(),C=I(S),w=e=>{var n=ER();R(e=>{q(n,1,e),co(n,`height:${i()??``}px`)},[()=>K(Q(`flex items-center justify-center text-xs text-fg-subtle border border-line rounded`,t.class))]),H(e,n)},T=e=>{var n=MR(),u=F(n),S=F(u),C=F(S);G(C,16,()=>z(p),e=>e,(e,t)=>{let n=M(()=>z(f)?z(f)(t):0);var r=da(),i=I(r),a=e=>{var r=DR(),i=I(r),a=L(i),s=F(a,!0);D(a),R(e=>{J(i,`x2`,z(o)),J(i,`y1`,z(n)),J(i,`y2`,z(n)),J(a,`y`,z(n)),U(s,e)},[()=>b(t)]),H(e,r)};W(i,e=>{z(n)>=0&&z(n)<=z(s)&&e(a)}),H(e,r)});var w=L(C);G(w,16,()=>z(m),e=>e,(e,t)=>{let n=M(()=>z(d)?z(d)(t):0);var r=da(),i=I(r),a=e=>{var r=OR(),i=F(r,!0);D(r),R(e=>{J(r,`x`,z(n)),J(r,`y`,z(s)+14),U(i,e)},[()=>y(t)]),H(e,r)};W(i,e=>{z(n)>=0&&z(n)<=z(o)&&e(a)}),H(e,r)});var T=L(w);G(T,19,()=>[...z(l)].reverse(),e=>e.quantile,(e,t,n)=>{let r=M(()=>h(z(t)));var i=da(),a=I(i),o=e=>{var i=kR();R((e,t)=>{J(i,`d`,z(r)),J(i,`opacity`,e),J(i,`data-testid`,`band-${t??``}`)},[()=>_(z(l).length-1-z(n)),()=>v(z(t).quantile)]),H(e,i)};W(a,e=>{z(r)&&e(o)}),H(e,i)}),G(L(T),17,()=>z(l),e=>e.quantile,(e,t)=>{let n=M(()=>g(z(t)));var r=da(),i=I(r),a=e=>{var r=AR();R(e=>{J(r,`d`,z(n)),J(r,`data-testid`,`line-${e??``}`)},[()=>v(z(t).quantile)]),H(e,r)};W(i,e=>{z(n)&&e(a)}),H(e,r)}),D(S),D(u);var ee=L(u,2);G(ee,21,()=>z(x),e=>e.quantile,(e,t)=>{var n=jR(),r=F(n),i=F(r,!0);D(r);var a=L(r,2),o=F(a,!0);D(a),D(n),R((e,t)=>{U(i,e),U(o,t)},[()=>v(z(t).quantile),()=>z(t).value===void 0?`—`:b(z(t).value)]),H(e,n)}),D(ee),D(n),R((e,t)=>{q(n,1,e),J(u,`width`,r()),J(u,`height`,i()),J(u,`viewBox`,`0 0 ${r()??``} ${i()??``}`),J(u,`aria-label`,`Percentile bands: ${t??``}`),J(S,`transform`,`translate(${a.left??``},${a.top??``})`)},[()=>K(Q(`flex flex-col gap-2`,t.class)),()=>z(c).map(v).join(`, `)]),H(e,n)};W(C,e=>{z(u)?e(T,-1):e(w)}),H(e,S),at()}var PR=V(`<button type="button"><!> </button>`),FR=V(`<div class="flex rounded border border-line overflow-hidden" role="group" aria-label="Chart type"></div>`),IR=V(`<option> </option>`),LR=V(`<label class="flex items-center gap-1.5 text-[11px] text-fg-muted cursor-pointer" title="Show cumulative or delta counter change per second"><input type="checkbox" class="w-3 h-3 rounded border-line"/> Rate</label>`),RR=V(`<label class="flex items-center gap-1.5 text-[11px] text-fg-muted cursor-pointer" title="Stack the series so each sits on the sum of those below"><input type="checkbox" class="w-3 h-3 rounded border-line"/> <!> Stack</label>`),zR=V(`<label class="flex items-center gap-1 text-[11px] text-fg-muted"><span class="text-fg-subtle">Summarise</span> <select aria-label="Summary statistic" class="rounded border border-line bg-surface px-1.5 py-1 text-[11px] text-fg"></select></label> <!> <!>`,1),BR=V(`<div><!> <!></div>`);function VR(e,t){it(t,!0);let n=M(()=>t.kind===`histogram`||t.kind===`exponentialHistogram`),r=M(()=>t.kind!==`gauge`),i=M(()=>t.kind===`sum`),a=[{id:`timeseries`,label:`Time series`,icon:Vh},{id:`percentiles`,label:`Percentiles`,icon:hp},{id:`heatmap`,label:`Heatmap`,icon:hm}],o=M(()=>z(n)?a:a.filter(e=>e.id===`timeseries`)),s=[{id:`sum`,label:`Sum`},{id:`avg`,label:`Avg`},{id:`min`,label:`Min`},{id:`max`,label:`Max`},{id:`last`,label:`Last`},{id:`count`,label:`Count`}];var c=BR(),l=F(c),u=e=>{var n=FR();G(n,21,()=>z(o),e=>e.id,(e,n)=>{let r=M(()=>z(n).icon);var i=PR(),a=F(i);Ba(a,()=>z(r),(e,t)=>{t(e,{size:11})});var o=L(a);D(i),R(e=>{J(i,`aria-pressed`,t.mode===z(n).id),J(i,`title`,z(n).label),q(i,1,e),U(o,` ${z(n).label??``}`)},[()=>K(Q(`flex items-center gap-1 px-2 py-1 text-[11px] transition-colors`,`focus-visible:outline-none focus-visible:bg-hover`,t.mode===z(n).id?`bg-selected text-fg font-medium`:`text-fg-muted hover:bg-hover`))]),B(`click`,i,()=>t.onMode(z(n).id)),H(e,i)}),D(n),H(e,n)};W(l,e=>{z(o).length>1&&e(u)});var d=L(l,2),f=e=>{var n=zR(),a=I(n),o=L(F(a),2);G(o,21,()=>s,e=>e.id,(e,t)=>{var n=IR(),r=F(n,!0);D(n);var i={};R(()=>{U(r,z(t).label),i!==(i=z(t).id)&&(n.value=(n.__value=z(t).id)??``)}),H(e,n)}),D(o);var c;uo(o),D(a);var l=L(a,2),u=e=>{var n=LR(),r=F(n);Co(r),Ke(),D(n),R(()=>To(r,t.rate)),B(`change`,r,e=>t.onRate(e.currentTarget.checked)),H(e,n)};W(l,e=>{z(i)&&e(u)});var d=L(l,2),f=e=>{var n=RR(),r=F(n);Co(r),Cm(L(r,2),{size:11}),Ke(),D(n),R(()=>To(r,t.stacked)),B(`change`,r,e=>t.onStacked(e.currentTarget.checked)),H(e,n)};W(d,e=>{z(r)&&e(f)}),R(()=>{c!==(c=t.aggregate)&&(o.value=(o.__value=t.aggregate)??``,lo(o,t.aggregate))}),B(`change`,o,e=>t.onAggregate(e.currentTarget.value)),H(e,n)};W(d,e=>{t.mode===`timeseries`&&e(f)}),D(c),R(e=>q(c,1,e),[()=>K(Q(`flex items-center gap-3 flex-wrap`,t.class))]),H(e,c),at()}na([`click`,`change`]);var HR=V(`<button type="button" title="Delete this metric stream" aria-label="Delete selected metric" class="p-1.5 hover:bg-danger-bg rounded transition-colors text-fg-subtle hover:text-danger"><!></button>`),UR=V(`<div role="alert" class="m-4 rounded border border-danger-border bg-danger-bg px-3 py-2 text-xs text-danger"> </div>`),WR=V(`<div class="flex-1 flex items-center justify-center text-sm text-fg-subtle">No metrics received yet. Point an OTLP exporter at this server.</div>`),GR=V(`<span> </span>`),KR=V(`<button type="button" role="option"><div class="flex items-center justify-between gap-2"><span class="text-xs font-medium text-fg truncate"> </span> <!></div> <div class="mt-0.5 flex items-center gap-2 text-[10px] text-fg-subtle"><span class="uppercase tracking-wide"> </span> <!> <span> </span></div></button>`),qR=V(`<div class="p-3 text-xs text-fg-subtle">No metric matches that filter.</div>`),JR=V(`<div class="text-sm text-fg-subtle">Select a metric.</div>`),YR=V(`<p class="text-xs text-fg-muted mt-0.5"> </p>`),XR=V(`<div class="text-xs text-fg-subtle">No data for this metric in the selected window.</div>`),ZR=V(`<button type="button"><span class="w-2.5 h-2.5 rounded-sm shrink-0"></span> <span class="truncate text-fg-muted font-mono"> </span> <span class="ml-auto font-mono text-fg tabular-nums"> </span></button>`),QR=V(`<div class="mt-3 border-t border-line pt-2 space-y-1" role="group" aria-label="Series"></div>`),$R=V(`<div class="mb-3"><h4 class="text-sm font-semibold text-fg"> </h4> <!></div> <!> <!> <!>`,1),ez=V(`<div class="flex-1 flex min-h-0"><div class="w-72 shrink-0 border-r border-line flex flex-col min-h-0"><div class="p-2 border-b border-line"><!></div> <div class="flex-1 overflow-auto" role="listbox" aria-label="Metrics"><!> <!></div></div> <div class="flex-1 min-w-0 overflow-auto p-4"><!></div></div>`),tz=V(`<div class="flex flex-col h-full"><div class="flex items-center justify-between px-4 py-2 border-b border-line gap-2"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg shrink-0"><!> Metrics</h3> <!> <div class="flex items-center gap-1"><!> <button type="button" title="Refresh" aria-label="Refresh metrics" class="p-1.5 hover:bg-hover rounded transition-colors text-fg-subtle"><!></button></div></div> <!> <!></div>`);function nz(e,t){it(t,!0);function n(){let e=pl.value;return(e?$o(e):null)??globalThis.location.origin}let r=N(yr([])),i=N(null),a=N(yr([])),o=N(null),s=N(!1),c=N(``),l=M(()=>ml.value),u=N(yr(new Set)),d=N(`timeseries`),f=N(`sum`),p=N(!1),m=N(!0),h=()=>({fetch:globalThis.fetch.bind(globalThis),baseUrl:n()});async function g(e=z(c)){let t=await hF(h(),e);t.status===`ok`?(P(r,t.data,!0),P(o,null),!z(i)&&z(r).length>0&&v(z(r)[0].name)):t.status===`error`&&P(o,t.message,!0)}async function _(e){P(s,!0);let t=await gF({name:e,window:Ms(Es(ml.value,Date.now()))},h());t.status!==`aborted`&&(P(s,!1),t.status===`ok`?(P(a,t.data,!0),P(o,null)):P(o,t.message,!0))}function v(e){P(i,e,!0),P(u,new Set,!0),P(d,`timeseries`),P(f,`sum`),P(p,!1),_(e)}function y(){g(),z(i)&&_(z(i))}function b(e){ml.value=e,z(i)&&_(z(i))}function x(e,t){Nu(e),Wc(e,t),Mu(`traces`)}function S(e){let t=new Set(z(u));t.has(e)?t.delete(e):t.add(e),P(u,t,!0)}async function C(){if(!z(i)||!globalThis.confirm(`Delete every stored series for “${z(i)}”?`))return;let e=await _F(z(i),h());if(e.status!==`ok`){e.status===`error`&&P(o,e.message,!0);return}P(i,null),P(a,[],!0),await g(``)}zr(()=>{let e=z(c),t=setTimeout(()=>void g(e),200);return()=>clearTimeout(t)});let w=M(()=>z(r).find(e=>e.name===z(i))),T=M(()=>z(w)?.kind===`histogram`||z(w)?.kind===`exponentialHistogram`),ee=M(()=>z(a).map(e=>({...e,points:z(m)?UL(e.points,e.temporality):e.points}))),te=M(()=>z(a).flatMap(e=>e.points).sort((e,t)=>e.timestamp-t.timestamp)),ne=M(()=>z(r)),re=M(()=>z(a).map(e=>({id:e.seriesId,color:pg(e.seriesId).stroke,label:ie(e),value:YL(z(m)?UL(e.points,e.temporality):e.points,e.kind===`gauge`?`last`:z(f))})));function ie(e){let t=Object.entries(e.attributes),n=Object.entries(e.resource??{}).filter(([e])=>e!==`service.name`);return[...t,...n].map(([e,t])=>`${e}=${String(t)}`).join(` `)||e.service}function ae(e,t){return e===void 0?`—`:`${(Math.round(e*100)/100).toLocaleString(void 0,{maximumFractionDigits:2})}${t&&t!==`1`?` ${t}`:``}${z(m)&&z(w)?.kind===`sum`?`/s`:``}`}var oe=tz(),se=F(oe),ce=F(se);_p(F(ce),{size:16}),Ke(),D(ce);var le=L(ce,2);gA(le,{get selection(){return z(l)},onChange:b});var E=L(le,2),ue=F(E),de=e=>{var t=HR();zh(F(t),{size:14}),D(t),B(`click`,t,C),H(e,t)};W(ue,e=>{z(i)&&e(de)});var fe=L(ue,2),pe=F(fe);{let e=M(()=>z(s)?`animate-spin`:``);dh(pe,{size:14,get class(){return z(e)}})}D(fe),D(E),D(se);var me=L(se,2),he=e=>{var t=UR(),n=F(t,!0);D(t),R(()=>U(n,z(o))),H(e,t)};W(me,e=>{z(o)&&e(he)});var ge=L(me,2),_e=e=>{H(e,WR())},ve=e=>{var t=ez(),n=F(t),r=F(n);F_(F(r),{get value(){return z(c)},onValue:e=>P(c,e,!0),placeholder:`Filter metrics…`,ariaLabel:`Filter metrics`}),D(r);var o=L(r,2),s=F(o);G(s,17,()=>z(ne),e=>e.name+e.kind,(e,t)=>{var n=KR(),r=F(n),o=F(r),s=F(o,!0);D(o);var c=L(o,2),l=e=>{{let n=M(()=>z(m)?UL(z(a)[0].points,z(a)[0].temporality):z(a)[0].points);HL(e,{get points(){return z(n)},width:48,height:14,get ariaLabel(){return`${z(t).name??``} trend`}})}};W(c,e=>{z(t).name===z(i)&&z(a).length>0&&e(l)}),D(r);var u=L(r,2),d=F(u),f=F(d,!0);D(d);var p=L(d,2),h=e=>{var n=GR(),r=F(n,!0);D(n),R(()=>U(r,z(t).unit)),H(e,n)};W(p,e=>{z(t).unit&&z(t).unit!==`1`&&e(h)});var g=L(p,2),_=F(g);D(g),D(u),D(n),R(e=>{J(n,`aria-selected`,z(t).name===z(i)),q(n,1,e),U(s,z(t).name),U(f,z(t).kind),U(_,`${z(t).seriesCount??``}
29
29
  series`)},[()=>K(Q(`w-full text-left px-3 py-2 border-b border-line-subtle hover:bg-hover`,`focus-visible:outline-none focus-visible:bg-hover`,z(t).name===z(i)&&`bg-selected`))]),B(`click`,n,()=>v(z(t).name)),H(e,n)});var l=L(s,2),h=e=>{H(e,qR())};W(l,e=>{z(ne).length===0&&e(h)}),D(o),D(n);var g=L(n,2),_=F(g),y=e=>{H(e,JR())},b=e=>{var t=$R(),n=I(t),r=F(n),i=F(r,!0);D(r);var o=L(r,2),s=e=>{var t=YR(),n=F(t,!0);D(t),R(()=>U(n,z(w).description)),H(e,t)};W(o,e=>{z(w).description&&e(s)}),D(n);var c=L(n,2);VR(c,{get kind(){return z(w).kind},get mode(){return z(d)},onMode:e=>P(d,e,!0),get aggregate(){return z(f)},onAggregate:e=>P(f,e,!0),get stacked(){return z(p)},onStacked:e=>P(p,e,!0),get rate(){return z(m)},onRate:e=>P(m,e,!0),class:`mb-3`});var l=L(c,2),h=e=>{H(e,XR())},g=e=>{TR(e,{get points(){return z(te)},get unit(){return z(w).unit}})},_=e=>{NR(e,{get points(){return z(te)},get unit(){return z(w).unit}})},v=e=>{vR(e,{get point(){return z(te)[z(te).length-1]},get unit(){return z(w).unit}})},y=e=>{{let t=M(()=>z(ee).length===1&&!z(p));fR(e,{get series(){return z(ee)},get isolated(){return z(u)},get stacked(){return z(p)},get area(){return z(t)},onExemplar:x})}};W(l,e=>{z(a).length===0?e(h):z(d)===`heatmap`?e(g,1):z(d)===`percentiles`?e(_,2):z(T)?e(v,3):e(y,-1)});var b=L(l,2),C=e=>{var t=QR();G(t,21,()=>z(re),e=>e.id,(e,t)=>{var n=ZR(),r=F(n),i=L(r,2),a=F(i,!0);D(i);var o=L(i,2),s=F(o,!0);D(o),D(n),R((e,i,o)=>{J(n,`aria-pressed`,e),q(n,1,i),co(r,`background:${z(t).color??``}`),U(a,z(t).label),U(s,o)},[()=>z(u).has(z(t).id),()=>K(Q(`w-full flex items-center gap-2 px-1 py-0.5 rounded text-[11px] hover:bg-hover`,`focus-visible:outline-none focus-visible:bg-hover`,z(u).size>0&&!z(u).has(z(t).id)&&`opacity-40`)),()=>ae(z(t).value,z(w).unit)]),B(`click`,n,()=>S(z(t).id)),H(e,n)}),D(t),H(e,t)};W(b,e=>{z(a).length>0&&z(d)===`timeseries`&&e(C)}),R(()=>U(i,z(w).name)),H(e,t)};W(_,e=>{z(w)?e(b,-1):e(y)}),D(g),D(t),H(e,t)};W(ge,e=>{z(r).length===0?e(_e):e(ve,-1)}),D(oe),B(`click`,fe,y),H(e,oe),at()}na([`click`]);function rz(e){let t=e.severityNumber,n=(e.severityText??``).toUpperCase();return n===`ERROR`||t!==void 0&&t>=17?`error`:n===`WARN`||n===`WARNING`||t!==void 0&&t>=13?`warn`:`info`}function iz(e){if(typeof e==`string`)return e;try{return JSON.stringify(e)}catch{return String(e)}}function az(e){try{return JSON.stringify({body:e.body,severity:e.severityText??null,severityNumber:e.severityNumber??null,timestamp:e.timestamp,traceId:e.traceId??null,attributes:e.attributes??{}},null,2)}catch{return iz(e.body)}}function oz(e,t,n){if(n!==`all`){let t=rz(e);if(n===`error`&&t!==`error`||n===`warn`&&t!==`warn`&&t!==`error`||n===`info`&&t!==`info`)return!1}return I_(t.toLowerCase(),[iz(e.body),e.severityText,e.resourceName,e.traceId])}function sz(e){let t=rz(e);return t===`error`?`text-danger`:t===`warn`?`text-warning`:`text-fg-subtle`}function cz(e){let t=rz(e);return t===`error`?`bg-danger`:t===`warn`?`bg-warning`:`bg-line`}function lz(e){let t=new Date(e),n=e=>String(e).padStart(2,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}function uz(e){try{return JSON.stringify(e.attributes??{},null,2)}catch{return`{}`}}var dz=V(`<span class="flex-shrink-0 text-fg-subtle truncate max-w-[10rem]"> </span>`),fz=V(`<button type="button" title="Go to trace" aria-label="Go to trace" class="flex-shrink-0 inline-flex items-center justify-center p-1 rounded text-fg-subtle hover:text-fg hover:bg-hover opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity"><!></button>`),pz=V(`<div class="font-mono text-xs break-words whitespace-pre-wrap pr-6"> </div>`),mz=V(`<pre class="font-mono text-[11px] text-fg-muted whitespace-pre-wrap break-words pr-6"> </pre>`),hz=V(`<div class="flex items-center gap-1"><button type="button" class="inline-flex items-center gap-1 text-xs text-fg-muted hover:underline"><!> Go to trace</button> <!></div>`),gz=V(`<div class="pl-3 pr-2 pb-2 space-y-2"><!> <!> <!></div>`),_z=V(`<div class="group relative flex flex-col border-b border-line-subtle hover:bg-hover"><span aria-hidden="true"></span> <div class="flex items-center gap-2 pl-3 pr-2 py-1 text-xs"><button type="button" class="flex flex-1 items-center gap-2 min-w-0 text-left"><span class="font-mono tabular-nums text-fg-subtle flex-shrink-0"> </span> <span> </span> <span class="font-mono text-fg truncate min-w-0 flex-1"> </span> <!></button> <!> <!></div> <!></div>`),vz=V(`<button class="px-2 py-1 text-xs rounded text-fg-subtle hover:bg-hover transition-colors" title="Drop buffered logs received while paused">Drop buffer</button>`),yz=V(`<div class="text-center text-fg-subtle text-sm py-12">Loading logs…</div>`),bz=V(`<div class="text-center text-fg-subtle text-sm py-12">No logs yet. Send logs via AutotelLogExporter or POST /ingest/logs.</div>`),xz=V(`<div class="text-center text-fg-subtle text-sm py-12">No logs match the current filter.</div>`),Sz=V(`<div class="px-4 py-3 text-center text-xs text-fg-subtle"> </div>`),Cz=V(`<!> <!>`,1),wz=V(`<div class="flex flex-col h-full"><div class="px-4 py-3 border-b border-line flex items-center justify-between gap-2"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> </h3> <div class="flex items-center gap-1"><button><!> </button> <!></div></div> <div class="px-4 py-2 border-b border-line flex items-center gap-2"><!> <!> <!> <select class="text-xs border border-line rounded px-1.5 py-1 bg-surface text-fg-muted"><option>All</option><option>Errors</option><option>Warn+</option><option>Info</option></select></div> <div class="flex-1 overflow-auto space-y-0"><!></div></div>`);function Tz(e,t){it(t,!0);let n=(e,t=p)=>{let n=M(()=>iz(t().body)),r=M(()=>sz(t())),i=M(()=>cz(t())),a=M(()=>z(c).has(t().id));var o=_z(),s=F(o),u=L(s,2),d=F(u),f=F(d),m=F(f,!0);D(f);var h=L(f,2),g=F(h,!0);D(h);var _=L(h,2),v=F(_,!0);D(_);var b=L(_,2),x=e=>{var n=dz(),r=F(n,!0);D(n),R(()=>U(r,t().resourceName)),H(e,n)};W(b,e=>{t().resourceName&&e(x)}),D(d);var S=L(d,2),C=e=>{var n=fz();Dm(F(n),{size:12}),D(n),B(`click`,n,()=>y(t())),H(e,n)};W(S,e=>{t().traceId&&e(C)});var w=L(S,2);{let e=M(()=>az(t()));X_(w,{get value(){return z(e)},label:`Copy log as JSON`,class:`flex-shrink-0 opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`})}D(u);var T=L(u,2),ee=e=>{var r=gz(),i=F(r);M_(i,{get content(){return z(n)},children:(e,t)=>{var r=pz(),i=F(r,!0);D(r),R(()=>U(i,z(n))),H(e,r)},$$slots:{default:!0}});var a=L(i,2),o=e=>{{let n=M(()=>uz(t()));M_(e,{get content(){return z(n)},children:(e,n)=>{var r=mz(),i=F(r,!0);D(r),R(e=>U(i,e),[()=>uz(t())]),H(e,r)},$$slots:{default:!0}})}},s=M(()=>t().attributes&&Object.keys(t().attributes).length>0);W(a,e=>{z(s)&&e(o)});var c=L(a,2),l=e=>{var n=hz(),r=F(n);Dm(F(r),{size:12}),Ke(),D(r),X_(L(r,2),{get value(){return t().traceId},label:`Copy trace ID`}),D(n),B(`click`,r,()=>y(t())),H(e,n)};W(c,e=>{t().traceId&&e(l)}),D(r),H(e,r)};W(T,e=>{z(a)&&e(ee)}),D(o),R((e,r,i)=>{q(s,1,e),J(d,`aria-expanded`,z(a)),J(d,`title`,z(a)?`Collapse log`:`Expand log`),U(m,r),q(h,1,i),U(g,t().severityText??`LOG`),U(v,z(n))},[()=>K(Q(`absolute inset-y-0 left-0 w-0.5`,z(i))),()=>lz(t().timestamp),()=>K(Q(`flex-shrink-0 font-medium uppercase tracking-wide text-[10px]`,z(r)))]),B(`click`,d,()=>l(t().id)),H(e,o)},r=M(()=>ql.value),i=M(()=>wl.value),a=M(()=>Ol.value),o=N(``),s=N(`all`),c=N(yr(new Set));function l(e){let t=new Set(z(c));t.has(e)?t.delete(e):t.add(e),P(c,t,!0)}let u=IA({client:{fetch:globalThis.fetch.bind(globalThis),baseUrl:()=>(pl.value?$o(pl.value):null)??globalThis.location.origin}});zr(()=>()=>u.dispose());let d=N(null),f=N(yr([]));zr(()=>{let e=(pl.value?$o(pl.value):null)??globalThis.location.origin;e!==z(d)&&(P(d,e,!0),yA(`logs`,{fetch:globalThis.fetch.bind(globalThis),baseUrl:e}).then(e=>P(f,e,!0)),u.refresh())});let m=N(0);zr(()=>{let e=z(r).length;e>z(m)&&u.arrived(e-z(m)),P(m,e,!0)});let h=M(()=>u.results.value),g=M(()=>{let e=u.ready.value&&u.failure.value===null,t=z(r);return e&&(t=z(o).length>0?z(h):_(z(h),z(r))),t.filter(t=>oz(t,e?``:z(o),z(s)))});function _(e,t){let n=new Set(e.map(e=>e.id));return[...e,...t.filter(e=>!n.has(e.id))]}let v=M(()=>z(o).length>0||z(s)!==`all`);function y(e){e.traceId&&(Nu(e.traceId),Mu(`traces`))}var b=wz(),x=F(b),S=F(x),C=F(S);tm(C,{size:16});var w=L(C);D(S);var T=L(S,2),ee=F(T),te=F(ee),ne=e=>{rh(e,{size:12})},re=e=>{$m(e,{size:12})};W(te,e=>{z(i)?e(ne):e(re,-1)});var ie=L(te);D(ee);var ae=L(ee,2),oe=e=>{var t=vz();B(`click`,t,function(...e){Ou?.apply(this,e)}),H(e,t)};W(ae,e=>{z(i)&&z(a)>0&&e(oe)}),D(T),D(x);var se=L(x,2),ce=F(se);kb(ce,{get value(){return u.text.value},onInput:e=>{u.setText(e),P(o,e,!0)},onSubmit:()=>u.submit(),get serverErrors(){return u.errors.value},get fields(){return z(f)},placeholder:`Filter — e.g. severity_number >= 17 AND service = api`,class:`flex-1`});var le=L(ce,2);gA(le,{get selection(){return u.window.value},onChange:e=>u.setWindow(e)});var E=L(le,2);vA(E,{get count(){return u.pending},get live(){return u.live},onResume:()=>{P(o,``),u.resume()}});var ue=L(E,2),de=F(ue);de.value=de.__value=`all`;var fe=L(de);fe.value=fe.__value=`error`;var pe=L(fe);pe.value=pe.__value=`warn`;var me=L(pe);me.value=me.__value=`info`,D(ue);var he;uo(ue),D(se);var ge=L(se,2),_e=F(ge),ve=e=>{H(e,yz())},ye=e=>{H(e,bz())},be=e=>{H(e,xz())},xe=e=>{var t=Cz(),r=I(t);G(r,17,()=>z(g),e=>e.id,(e,t)=>{n(e,()=>z(t))});var i=L(r,2),a=e=>{var t=Sz(),n=F(t,!0);D(t),Qa(t,(e,t)=>LA?.(e,t),()=>({onReach:()=>u.loadMore(),disabled:u.loading.value})),R(()=>U(n,u.loading.value?`Loading…`:`Scroll for more`)),H(e,t)};W(i,e=>{u.nextCursor.value&&e(a)}),H(e,t)};W(_e,e=>{u.loading.value&&!u.ready.value&&z(r).length===0?e(ve):z(g).length===0&&!z(v)?e(ye,1):z(g).length===0?e(be,2):e(xe,-1)}),D(ge),D(b),R(e=>{U(w,` Logs (${z(g).length??``})`),q(ee,1,e),J(ee,`title`,z(i)?`Resume live tail`:`Pause live tail`),U(ie,` ${z(i)?`Resume${z(a)>0?` (+${z(a)})`:``}`:`Pause`}`),he!==(he=z(s))&&(ue.value=(ue.__value=z(s))??``,lo(ue,z(s)))},[()=>K(Q(`flex items-center gap-1 px-2 py-1 text-xs rounded transition-colors`,z(i)?`bg-warning-bg text-warning hover:bg-warning-bg`:`hover:bg-hover text-fg-muted`))]),B(`click`,ee,function(...e){Du?.apply(this,e)}),B(`change`,ue,e=>P(s,e.currentTarget.value,!0)),H(e,b),at()}na([`click`,`change`]);var Ez=V(`<p class="p-3 text-xs text-fg-muted">No stack frames on this error.</p>`),Dz=V(`<button type="button"><span class="font-mono text-xs text-fg"> </span> <span class="font-mono text-[11px] text-fg-subtle"> </span></button>`),Oz=V(`<div class="flex flex-col items-start gap-0.5 px-3 py-2"><span class="flex items-center gap-2"><span class="font-mono text-xs text-fg-muted"> </span> <span class="rounded bg-subtle px-1.5 py-0.5 text-[10px] text-fg-subtle"> </span></span> <span class="font-mono text-[11px] text-fg-muted"> </span></div>`),kz=V(`<li><!></li>`),Az=V(`<ol class="divide-y divide-line-subtle"></ol>`);function jz(e,t){it(t,!0);let n=Z(t,`selected`,3,null),r={dependency:`node_modules`,native:`runtime`};function i(e){return`${e.file}:${e.line}:${e.column}`}function a(e){return n()!==null&&n().file===e.file&&n().line===e.line&&n().column===e.column}var o=da(),s=I(o),c=e=>{H(e,Ez())},l=e=>{var n=Az();G(n,21,()=>t.frames,Aa,(e,n)=>{let o=M(()=>z(n).kind===`app`?null:r[z(n).kind]);var s=kz(),c=F(s),l=e=>{var r=Dz(),o=F(r),s=F(o,!0);D(o);var c=L(o,2),l=F(c,!0);D(c),D(r),R((e,t)=>{q(r,1,e),U(s,z(n).function??`(anonymous)`),U(l,t)},[()=>K(Q(`flex w-full flex-col items-start gap-0.5 px-3 py-2 text-left transition-colors hover:bg-hover`,a(z(n))&&`bg-subtle border-l-2 border-accent`)),()=>i(z(n))]),B(`click`,r,()=>t.onselect?.(z(n))),H(e,r)},u=e=>{var t=Oz(),r=F(t),a=F(r),s=F(a,!0);D(a);var c=L(a,2),l=F(c,!0);D(c),D(r);var u=L(r,2),d=F(u,!0);D(u),D(t),R(e=>{U(s,z(n).function??`(anonymous)`),U(l,z(o)),U(d,e)},[()=>i(z(n))]),H(e,t)};W(c,e=>{z(n).kind===`app`?e(l):e(u,-1)}),D(s),H(e,s)}),D(n),H(e,n)};W(s,e=>{t.frames.length===0?e(c):e(l,-1)}),H(e,o),at()}na([`click`]);var Mz=V(`<p class="p-3 text-xs text-fg-muted">This file could not be read. It may be outside the project, or generated
30
30
  rather than written.</p>`),Nz=V(`<button type="button" class="rounded px-1.5 py-0.5 text-[11px] text-accent hover:bg-hover">Open in editor</button>`),Pz=V(`<li><span class="w-8 shrink-0 select-none text-right text-fg-subtle"> </span> <span class="whitespace-pre"> </span></li>`),Fz=V(`<div class="flex flex-col"><div class="flex items-center justify-between border-b border-line px-3 py-1.5"><span class="font-mono text-[11px] text-fg-subtle"> </span> <!></div> <ol class="overflow-x-auto py-1"></ol></div>`);function Iz(e,t){it(t,!0);var n=da(),r=I(n),i=e=>{H(e,Mz())},a=e=>{var n=Fz(),r=F(n),i=F(r),a=F(i);D(i);var o=L(i,2),s=e=>{var n=Nz();B(`click`,n,()=>t.onopen?.(t.window)),H(e,n)};W(o,e=>{t.onopen&&e(s)}),D(r);var c=L(r,2);G(c,21,()=>t.window.lines,Aa,(e,n,r)=>{let i=M(()=>t.window.startLine+r),a=M(()=>z(i)===t.window.line);var o=Pz(),s=F(o),c=F(s,!0);D(s);var l=L(s,2),u=F(l,!0);D(l),D(o),R(e=>{J(o,`aria-current`,z(a)?`true`:void 0),q(o,1,e),U(c,z(i)),U(u,z(n))},[()=>K(Q(`flex gap-3 px-3 font-mono text-[11px] leading-5`,z(a)?`bg-danger-bg text-fg`:`text-fg-muted`))]),H(e,o)}),D(c),D(n),R(()=>U(a,`${t.window.file??``}:${t.window.line??``}`)),H(e,n)};W(r,e=>{t.window===null?e(i):e(a,-1)}),H(e,n),at()}na([`click`]);function Lz(e){return e.startsWith(`node:`)||e.startsWith(`[`)||e.startsWith(`<`)?`native`:/(^|[/\\])node_modules([/\\]|$)/.test(e)?`dependency`:`app`}var Rz=/^\s*at\s+(?:async\s+)?(.+?)\s+\((.+?):(\d+):(\d+)\)$/,zz=/^\s*at\s+(?:async\s+)?(.+?):(\d+):(\d+)$/;function Bz(e){if(!e.startsWith(`file://`))return e;try{let t=decodeURIComponent(new URL(e).pathname);return/^\/[A-Za-z]:/.test(t)?t.slice(1):t}catch{return e}}function Vz(e){let t=[];for(let n of e.split(`
31
- `)){let e=Rz.exec(n);if(e){let n=Bz(e[2]);t.push({function:e[1],file:n,line:Number(e[3]),column:Number(e[4]),kind:Lz(n)});continue}let r=zz.exec(n);if(r){let e=Bz(r[1]);t.push({file:e,line:Number(r[2]),column:Number(r[3]),kind:Lz(e)})}}return t}var Hz=V(`<div class="overflow-hidden rounded border border-line"><!></div>`),Uz=V(`<div class="flex flex-col gap-2"><div class="overflow-hidden rounded border border-line"><!></div> <!></div>`);function Wz(e,t){it(t,!0);let n=Z(t,`context`,3,4),r=M(()=>Vz(t.stackTrace)),i=N(null),a=N(null),o=N(!1),s=0;async function c(e){P(i,e,!0),P(o,!1);let r=++s,c=await t.loadSource(e,n());r===s&&(P(a,c,!0),P(o,!0))}var l=da(),u=I(l),d=e=>{var t=Uz(),n=F(t);jz(F(n),{get frames(){return z(r)},get selected(){return z(i)},onselect:c}),D(n);var s=L(n,2),l=e=>{var t=Hz();Iz(F(t),{get window(){return z(a)}}),D(t),H(e,t)};W(s,e=>{z(o)&&e(l)}),D(t),H(e,t)};W(u,e=>{z(r).length>0&&e(d)}),H(e,l),at()}function Gz(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}var Kz=V(`<span class="px-1.5 py-0.5 text-xs font-medium bg-hover text-fg-muted rounded"> </span>`),qz=V(`<pre class="text-xs font-mono bg-code text-fg p-2 rounded overflow-x-auto whitespace-pre-wrap"> </pre>`),Jz=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Stack Trace</h5> <!> <details class="mt-2"><summary class="cursor-pointer text-[11px] text-fg-subtle hover:text-fg">Raw stack</summary> <!></details></div>`),Yz=V(`<span class="px-2 py-0.5 text-xs font-mono bg-hover text-fg-muted rounded"> </span>`),Xz=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Affected Operations</h5> <div class="flex flex-wrap gap-1"></div></div>`),Zz=V(`<div class="group flex items-center gap-1"><button class="flex items-center gap-1 text-xs text-fg-muted hover:text-fg font-mono"><!> <!></button> <!></div>`),Qz=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Recent Traces</h5> <div class="space-y-1"></div></div>`),$z=V(`<div class="flex gap-2"><span class="text-fg-subtle"> </span> <span class="font-mono text-fg-muted"> </span></div>`),eB=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Context</h5> <div class="text-xs space-y-0.5"></div></div>`),tB=V(`<div class="border-t border-line p-3 bg-subtle space-y-3"><!> <!> <!> <!> <div class="text-xs text-fg-subtle pt-2 border-t border-line"><div class="flex gap-4"><span> </span> <span> </span></div></div></div>`),nB=V(`<div role="option"><button class="w-full p-3 flex items-start gap-3 hover:bg-subtle transition-colors text-left"><div class="mt-0.5"><!></div> <div class="flex-1 min-w-0"><div class="flex items-center gap-2 mb-1"><span class="text-sm font-semibold text-danger"> </span> <span class="px-1.5 py-0.5 text-xs font-medium bg-danger-bg text-danger rounded"> </span> <!></div> <div class="group flex items-start gap-1 mb-2"><p class="text-sm text-fg-muted truncate"> </p> <!></div> <div class="flex items-center gap-4 text-xs text-fg-subtle"><span class="flex items-center gap-1"><!> </span> <span class="flex items-center gap-1"><!> </span></div></div></button> <!></div>`),rB=V(`<span class="text-xs font-normal text-fg-muted"> </span>`),iB=V(`<span class="ml-1 px-2 py-0.5 text-xs font-medium bg-danger-bg text-danger rounded-full"> </span>`),aB=V(`<div class="flex gap-4 mb-4 p-3 bg-subtle rounded-md border border-line"><div class="text-sm"><span class="text-fg-muted">Groups:</span> <span class="font-semibold text-fg"> </span></div> <div class="text-sm"><span class="text-fg-muted">Total:</span> <span class="font-semibold text-fg"> </span></div> <div class="text-sm"><span class="text-fg-muted">Last hour:</span> <span class="font-semibold text-danger"> </span></div></div>`),oB=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle py-12"><!> <p class="text-sm">No errors captured</p> <p class="text-xs text-fg-subtle mt-1">Errors from failed traces will appear here</p></div>`),sB=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle py-12"><!> <p class="text-sm">No matching errors</p> <p class="text-xs text-fg-subtle mt-1">No error groups match the current filter</p></div>`),cB=V(`<div class="flex flex-col h-full p-4"><div class="flex items-center justify-between mb-4 pb-3 border-b border-line"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> Errors <!> <!></h3> <div class="flex items-center gap-2"><select class="text-xs border border-line rounded px-2 py-1 bg-surface text-fg-muted"><option>Most Recent</option><option>Most Frequent</option></select></div></div> <!> <!> <div role="listbox" tabindex="0" aria-label="Error groups" class="flex-1 overflow-auto space-y-2 focus:outline-none"><!></div></div>`);function lB(e,t){it(t,!0);let n=(e,t=p,n=p,r=p,i=p)=>{let a=M(()=>Date.now()-t().firstSeen),o=M(()=>Date.now()-t().lastSeen);var s=nB(),c=F(s),l=F(c),u=F(l),d=e=>{xp(e,{size:16,class:`text-fg-subtle`})},f=e=>{Tp(e,{size:16,class:`text-fg-subtle`})};W(u,e=>{n()?e(d):e(f,-1)}),D(l);var v=L(l,2),y=F(v),b=F(y),x=F(b,!0);D(b);var S=L(b,2),C=F(S);D(S);var w=L(S,2),T=e=>{var n=Kz(),r=F(n,!0);D(n),R(()=>U(r,t().service)),H(e,n)};W(w,e=>{t().service&&e(T)}),D(y);var ee=L(y,2),te=F(ee),ne=F(te,!0);D(te);var re=L(te,2);{let e=M(()=>`${t().type}: ${t().message}`);X_(re,{get value(){return z(e)},label:`Copy error message`,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`})}D(ee);var ie=L(ee,2),ae=F(ie),oe=F(ae);jp(oe,{size:12});var se=L(oe);D(ae);var ce=L(ae,2),le=F(ce);jp(le,{size:12});var E=L(le);D(ce),D(ie),D(v),D(c);var ue=L(c,2),de=e=>{var n=tB(),r=F(n),i=e=>{var n=Jz(),r=L(F(n),2);Wz(r,{get stackTrace(){return t().stackTrace},get loadSource(){return rs}});var i=L(r,2);M_(L(F(i),2),{get content(){return t().stackTrace},children:(e,n)=>{var r=qz(),i=F(r,!0);D(r),R(()=>U(i,t().stackTrace)),H(e,r)},$$slots:{default:!0}}),D(i),D(n),H(e,n)};W(r,e=>{t().stackTrace&&e(i)});var a=L(r,2),o=e=>{var n=Xz(),r=L(F(n),2);G(r,21,()=>t().affectedSpans,Aa,(e,t)=>{var n=Yz(),r=F(n,!0);D(n),R(()=>U(r,z(t))),H(e,n)}),D(r),D(n),H(e,n)};W(a,e=>{t().affectedSpans.length>0&&e(o)});var s=L(a,2),c=e=>{var n=Qz(),r=L(F(n),2);G(r,20,()=>t().affectedTraces.slice(0,5),e=>e,(e,t)=>{var n=Zz(),r=F(n),i=F(r);ym(i,{size:10});var a=L(i);qp(L(a),{size:10}),D(r),X_(L(r,2),{get value(){return t},label:`Copy trace ID`,size:10,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`}),D(n),R(e=>U(a,` ${e??``}... `),[()=>t.slice(0,16)]),B(`click`,r,()=>g(t)),H(e,n)}),D(r),D(n),H(e,n)};W(s,e=>{t().affectedTraces.length>0&&e(c)});var l=L(s,2),u=e=>{var n=eB(),r=L(F(n),2);G(r,21,()=>Object.entries(t().attributes),([e,t])=>e,(e,t)=>{var n=M(()=>_(z(t),2));let r=()=>z(n)[0],i=()=>z(n)[1];var a=$z(),o=F(a),s=F(o);D(o);var c=L(o,2),l=F(c,!0);D(c),D(a),R(e=>{U(s,`${r()??``}:`),U(l,e)},[()=>String(i())]),H(e,a)}),D(r),D(n),H(e,n)},d=M(()=>t().attributes&&Object.keys(t().attributes).length>0);W(l,e=>{z(d)&&e(u)});var f=L(l,2),p=F(f),m=F(p),h=F(m);D(m);var v=L(m,2),y=F(v);D(v),D(p),D(f),D(n),R((e,t)=>{U(h,`First seen: ${e??``}`),U(y,`Last seen: ${t??``}`)},[()=>od(t().firstSeen),()=>od(t().lastSeen)]),H(e,n)};W(ue,e=>{n()&&e(de)}),D(s),R((e,n)=>{J(s,`aria-selected`,i()),J(s,`data-row-index`,r()),q(s,1,`border border-line rounded-md bg-surface overflow-hidden${i()?` ring-1 ring-inset ring-accent bg-accent/10`:``}`),U(x,t().type),U(C,`${t().count??``}x`),U(ne,t().message),U(se,` First: ${e??``}`),U(E,` Last: ${n??``}`)},[()=>Gz(z(a)),()=>Gz(z(o))]),B(`click`,c,()=>{m.cursor=r(),h(t().fingerprint)}),H(e,s)};function r(e,t){return I_(t.toLowerCase(),[e.type,e.message,...e.affectedTraces])}let i=N(`recent`),a=N(null),o=N(``),s=N(void 0),c=M(()=>z(i)===`recent`?au.value:ou.value),l=M(()=>z(c).filter(e=>r(e,z(o)))),u=M(()=>z(o).length>0),d=M(()=>su.value),f=M(()=>cu.value),m=VA({count:()=>z(l).length,onActivate:e=>{let t=z(l)[e];t&&h(t.fingerprint)},scrollToIndex:e=>z(s)?.querySelector(`[data-row-index="${e}"]`)?.scrollIntoView({block:`nearest`})});function h(e){P(a,z(a)===e?null:e,!0)}function g(e){Nu(e),Mu(`traces`)}var v=cB(),y=F(v),b=F(y),x=F(b);Uh(x,{size:16,class:`text-danger`});var S=L(x,2),C=e=>{var t=rB(),n=F(t);D(t),R(()=>U(n,`(${z(l).length??``} of ${z(c).length??``})`)),H(e,t)};W(S,e=>{z(u)&&e(C)});var w=L(S,2),T=e=>{var t=iB(),n=F(t,!0);D(t),R(()=>U(n,z(d))),H(e,t)};W(w,e=>{z(d)>0&&e(T)}),D(b);var ee=L(b,2),te=F(ee),ne=F(te);ne.value=ne.__value=`recent`;var re=L(ne);re.value=re.__value=`frequent`,D(te);var ie;uo(te),D(ee),D(y);var ae=L(y,2),oe=e=>{F_(e,{class:`mb-4`,inputClass:`border-line bg-subtle text-fg focus:border-line focus:ring-1 focus:ring-accent`,placeholder:`Filter by type, message, trace id…`,ariaLabel:`Filter errors`,get value(){return z(o)},set value(e){P(o,e,!0)}})};W(ae,e=>{z(c).length>0&&e(oe)});var se=L(ae,2),ce=e=>{var t=aB(),n=F(t),r=L(F(n),2),i=F(r,!0);D(r),D(n);var a=L(n,2),o=L(F(a),2),s=F(o,!0);D(o),D(a);var p=L(a,2),m=L(F(p),2),h=F(m,!0);D(m),D(p),D(t),R(()=>{U(i,z(u)?`${z(l).length} of ${z(c).length}`:z(c).length),U(s,z(d)),U(h,z(f))}),H(e,t)};W(se,e=>{z(d)>0&&e(ce)});var le=L(se,2),E=F(le),ue=e=>{var t=oB();Uh(F(t),{size:32,class:`mb-2 text-fg-subtle`}),Ke(4),D(t),H(e,t)},de=e=>{var t=sB();xh(F(t),{size:32,class:`mb-2 text-fg-subtle`}),Ke(4),D(t),H(e,t)},fe=e=>{var t=da();G(I(t),19,()=>z(l),e=>e.fingerprint,(e,t,r)=>{n(e,()=>z(t),()=>z(a)===z(t).fingerprint,()=>z(r),()=>m.cursor===z(r))}),H(e,t)};W(E,e=>{z(c).length===0?e(ue):z(l).length===0?e(de,1):e(fe,-1)}),D(le),Uo(le,e=>P(s,e),()=>z(s)),D(v),R(()=>{ie!==(ie=z(i))&&(te.value=(te.__value=z(i))??``,lo(te,z(i)))}),B(`change`,te,e=>P(i,e.target.value,!0)),B(`keydown`,le,function(...e){m.onKeyDown?.apply(this,e)}),H(e,v),at()}na([`click`,`change`,`keydown`]);var uB={info:0,warning:1,error:2,critical:3};function dB(e,t=`info`){return typeof e==`string`&&e in uB?e:t}function fB(e,t){return uB[e]>=uB[t]}var pB={marker:`autotel.security`,forceKeep:`autotel.security.force_keep`,event:`security.event`,category:`security.category`,outcome:`security.outcome`,severity:`security.severity`,actorId:`security.actor_id`,targetType:`security.target_type`,targetId:`security.target_id`,tenantId:`security.tenant_id`,reason:`security.reason`,droppedKeys:`security.dropped_keys`,suspiciousRequest:`security.suspicious_request`,signal:`security.signal`};function mB(e){return typeof e==`string`&&e.length>0?e:void 0}function hB(e,t){let n=e.attributes??{},r=mB(n[pB.event]),i=n[pB.suspiciousRequest]===!0;return!r&&!i?null:{traceId:e.traceId,spanId:e.spanId,spanName:e.name,service:t,timestamp:e.startTime,event:r,category:mB(n[pB.category]),outcome:mB(n[pB.outcome]),severity:dB(n[pB.severity],i?`warning`:`info`),reason:mB(n[pB.reason]),suspicious:i,signal:mB(n[pB.signal])}}function gB(e){let t=[];for(let n of e)for(let e of n.spans){let r=hB(e,n.service);r&&t.push(r)}return t.sort((e,t)=>t.timestamp-e.timestamp)}function _B(e){let t={info:0,warning:0,error:0,critical:0};for(let n of e)t[n.severity]+=1;return t}function vB(e,t){return fB(e.severity,t)}function yB(e){switch(e){case`critical`:return`bg-red-100 text-red-700`;case`error`:return`bg-orange-100 text-orange-700`;case`warning`:return`bg-amber-100 text-amber-700`;default:return`bg-hover text-fg-muted`}}var bB=V(`<span class="ml-1 px-2 py-0.5 text-xs font-medium bg-red-100 text-red-700 rounded-full"> </span>`),xB=V(`<div class="flex gap-4 mb-4 p-3 bg-subtle rounded-md border border-line"><div class="text-sm"><span class="text-fg-muted">Critical:</span> <span class="font-semibold text-red-600"> </span></div> <div class="text-sm"><span class="text-fg-muted">Error:</span> <span class="font-semibold text-orange-600"> </span></div> <div class="text-sm"><span class="text-fg-muted">Warning:</span> <span class="font-semibold text-amber-600"> </span></div> <div class="text-sm"><span class="text-fg-muted">Info:</span> <span class="font-semibold text-fg"> </span></div></div>`),SB=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle py-12"><!> <p class="text-sm">No security events captured</p> <p class="text-xs text-fg-subtle mt-1">Spans with security.* attributes (autotel-audit) will appear here</p></div>`),CB=V(`<span class="px-1.5 py-0.5 text-xs font-medium bg-hover text-fg-muted rounded"> </span>`),wB=V(`<span class="text-fg-subtle"> </span>`),TB=V(`<div class="border border-line rounded-md bg-surface p-3"><div class="flex items-center gap-2 mb-1"><!> <span class="text-sm font-semibold text-fg"> </span> <span> </span> <!> <!> <!></div> <p class="text-xs text-fg-muted truncate mb-2 font-mono"> <!></p> <div class="flex items-center gap-4 text-xs text-fg-subtle"><span> </span> <button class="flex items-center gap-1 text-fg-muted hover:text-fg font-mono"><!> <!></button></div></div>`),EB=V(`<div class="flex flex-col h-full p-4"><div class="flex items-center justify-between mb-4 pb-3 border-b border-line"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> Security <!></h3> <select class="text-xs border border-line rounded px-2 py-1 bg-surface text-fg-muted"><option>All severities</option><option>Warning+</option><option>Error+</option><option>Critical only</option></select></div> <!> <div class="flex-1 overflow-auto space-y-2"><!></div></div>`);function DB(e,t){it(t,!0);let n=N(`info`),r=M(()=>gB(vl.value)),i=M(()=>_B(z(r))),a=M(()=>z(r).filter(e=>vB(e,z(n))));function o(e,t){Nu(e,t),Mu(`traces`)}function s(e){return e.event?e.event:e.signal?`probe: ${e.signal}`:`suspicious request`}var c=EB(),l=F(c),u=F(l),d=F(u);Dh(d,{size:16,class:`text-red-500`});var f=L(d,2),p=e=>{var t=bB(),n=F(t,!0);D(t),R(()=>U(n,z(r).length)),H(e,t)};W(f,e=>{z(r).length>0&&e(p)}),D(u);var m=L(u,2),h=F(m);h.value=h.__value=`info`;var g=L(h);g.value=g.__value=`warning`;var _=L(g);_.value=_.__value=`error`;var v=L(_);v.value=v.__value=`critical`,D(m);var y;uo(m),D(l);var b=L(l,2),x=e=>{var t=xB(),n=F(t),r=L(F(n),2),a=F(r,!0);D(r),D(n);var o=L(n,2),s=L(F(o),2),c=F(s,!0);D(s),D(o);var l=L(o,2),u=L(F(l),2),d=F(u,!0);D(u),D(l);var f=L(l,2),p=L(F(f),2),m=F(p,!0);D(p),D(f),D(t),R(()=>{U(a,z(i).critical),U(c,z(i).error),U(d,z(i).warning),U(m,z(i).info)}),H(e,t)};W(b,e=>{z(r).length>0&&e(x)});var S=L(b,2),C=F(S),w=e=>{var t=SB();Dh(F(t),{size:32,class:`mb-2 text-fg-subtle`}),Ke(4),D(t),H(e,t)},T=e=>{var t=da();G(I(t),17,()=>z(a),e=>e.traceId+e.spanId,(e,t)=>{var n=TB(),r=F(n),i=F(r),a=e=>{lh(e,{size:14,class:`text-amber-500`})};W(i,e=>{z(t).suspicious&&e(a)});var c=L(i,2),l=F(c,!0);D(c);var u=L(c,2),d=F(u,!0);D(u);var f=L(u,2),p=e=>{var n=CB(),r=F(n,!0);D(n),R(()=>U(r,z(t).category)),H(e,n)};W(f,e=>{z(t).category&&e(p)});var m=L(f,2),h=e=>{var n=CB(),r=F(n,!0);D(n),R(()=>U(r,z(t).outcome)),H(e,n)};W(m,e=>{z(t).outcome&&e(h)});var g=L(m,2),_=e=>{var n=CB(),r=F(n,!0);D(n),R(()=>U(r,z(t).service)),H(e,n)};W(g,e=>{z(t).service&&e(_)}),D(r);var v=L(r,2),y=F(v),b=L(y),x=e=>{var n=wB(),r=F(n);D(n),R(()=>U(r,`— ${z(t).reason??``}`)),H(e,n)};W(b,e=>{z(t).reason&&e(x)}),D(v);var S=L(v,2),C=F(S),w=F(C,!0);D(C);var T=L(C,2),ee=F(T);ym(ee,{size:10});var te=L(ee);qp(L(te),{size:10}),D(T),D(S),D(n),R((e,n,r,i)=>{U(l,e),q(u,1,n),U(d,z(t).severity),U(y,`${z(t).spanName??``} `),U(w,r),U(te,` ${i??``}... `)},[()=>s(z(t)),()=>`px-1.5 py-0.5 text-xs font-medium rounded `+yB(z(t).severity),()=>od(z(t).timestamp),()=>z(t).traceId.slice(0,16)]),B(`click`,T,()=>o(z(t).traceId,z(t).spanId)),H(e,n)}),H(e,t)};W(C,e=>{z(a).length===0?e(w):e(T,-1)}),D(S),D(c),R(()=>{y!==(y=z(n))&&(m.value=(m.__value=z(n))??``,lo(m,z(n)))}),B(`change`,m,e=>P(n,e.target.value,!0)),H(e,c),at()}na([`change`,`click`]);async function OB(e,t){let n;try{n=await t.fetch(`${t.baseUrl}/api/analysis/compare`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t.signal})}catch(e){return e?.name===`AbortError`?{status:`aborted`}:{status:`error`,message:e instanceof Error?`Network error: ${e.message}`:`Network error`}}let r;try{r=await n.json()}catch{return{status:`error`,message:`Unexpected response (not JSON)`}}let i=r;if(n.status===501)return{status:`unavailable`,message:i.message??`Comparison is unavailable on this server.`};if(n.status===400)return{status:`invalid`,message:i.message??i.error??`Invalid query`};if(!n.ok)return{status:`error`,message:i.error??n.statusText};let a=i.outlierCount??0,o=i.baselineCount??0;return a===0||o===0?{status:`empty`,outlierCount:a,baselineCount:o}:{status:`ok`,differences:i.differences??[],outlierCount:a,baselineCount:o}}var kB=V(`<!> Mark now`,1),AB=V(`<!> Comparing since mark`,1),jB=V(`<label class="mb-1 block text-[11px] text-fg-muted">Investigating <input placeholder="duration > 500" class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 font-mono text-xs text-fg focus:border-accent focus:outline-none"/></label>`),MB=V(`<p class="mb-1 text-[11px] text-fg-subtle">Comparing spans since the mark against those before it, within the
32
- current time window.</p>`),NB=V(`<p class="text-xs text-fg-subtle">Describe the spans you are investigating, or mark a moment and compare
31
+ `)){let e=Rz.exec(n);if(e){let n=Bz(e[2]);t.push({function:e[1],file:n,line:Number(e[3]),column:Number(e[4]),kind:Lz(n)});continue}let r=zz.exec(n);if(r){let e=Bz(r[1]);t.push({file:e,line:Number(r[2]),column:Number(r[3]),kind:Lz(e)})}}return t}var Hz=V(`<div class="overflow-hidden rounded border border-line"><!></div>`),Uz=V(`<div class="flex flex-col gap-2"><div class="overflow-hidden rounded border border-line"><!></div> <!></div>`);function Wz(e,t){it(t,!0);let n=Z(t,`context`,3,4),r=M(()=>Vz(t.stackTrace)),i=N(null),a=N(null),o=N(!1),s=0;async function c(e){P(i,e,!0),P(o,!1);let r=++s,c=await t.loadSource(e,n());r===s&&(P(a,c,!0),P(o,!0))}var l=da(),u=I(l),d=e=>{var t=Uz(),n=F(t);jz(F(n),{get frames(){return z(r)},get selected(){return z(i)},onselect:c}),D(n);var s=L(n,2),l=e=>{var t=Hz();Iz(F(t),{get window(){return z(a)}}),D(t),H(e,t)};W(s,e=>{z(o)&&e(l)}),D(t),H(e,t)};W(u,e=>{z(r).length>0&&e(d)}),H(e,l),at()}function Gz(e){let t=Math.floor(e/1e3);if(t<60)return`${t}s ago`;let n=Math.floor(t/60);if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}var Kz=V(`<span class="px-1.5 py-0.5 text-xs font-medium bg-hover text-fg-muted rounded"> </span>`),qz=V(`<pre class="text-xs font-mono bg-code text-fg p-2 rounded overflow-x-auto whitespace-pre-wrap"> </pre>`),Jz=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Stack Trace</h5> <!> <details class="mt-2"><summary class="cursor-pointer text-[11px] text-fg-subtle hover:text-fg">Raw stack</summary> <!></details></div>`),Yz=V(`<span class="px-2 py-0.5 text-xs font-mono bg-hover text-fg-muted rounded"> </span>`),Xz=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Affected Operations</h5> <div class="flex flex-wrap gap-1"></div></div>`),Zz=V(`<div class="group flex items-center gap-1"><button class="flex items-center gap-1 text-xs text-fg-muted hover:text-fg font-mono"><!> <!></button> <!></div>`),Qz=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Recent Traces</h5> <div class="space-y-1"></div></div>`),$z=V(`<div class="flex gap-2"><span class="text-fg-subtle"> </span> <span class="font-mono text-fg-muted"> </span></div>`),eB=V(`<div><h5 class="text-xs font-semibold text-fg-muted mb-1.5">Context</h5> <div class="text-xs space-y-0.5"></div></div>`),tB=V(`<div class="border-t border-line p-3 bg-subtle space-y-3"><!> <!> <!> <!> <div class="text-xs text-fg-subtle pt-2 border-t border-line"><div class="flex gap-4"><span> </span> <span> </span></div></div></div>`),nB=V(`<div role="option"><button class="w-full p-3 flex items-start gap-3 hover:bg-subtle transition-colors text-left"><div class="mt-0.5"><!></div> <div class="flex-1 min-w-0"><div class="flex items-center gap-2 mb-1"><span class="text-sm font-semibold text-danger"> </span> <span class="px-1.5 py-0.5 text-xs font-medium bg-danger-bg text-danger rounded"> </span> <!></div> <div class="group flex items-start gap-1 mb-2"><p class="text-sm text-fg-muted truncate"> </p> <!></div> <div class="flex items-center gap-4 text-xs text-fg-subtle"><span class="flex items-center gap-1"><!> </span> <span class="flex items-center gap-1"><!> </span></div></div></button> <!></div>`),rB=V(`<span class="text-xs font-normal text-fg-muted"> </span>`),iB=V(`<span class="ml-1 px-2 py-0.5 text-xs font-medium bg-danger-bg text-danger rounded-full"> </span>`),aB=V(`<div class="flex gap-4 mb-4 p-3 bg-subtle rounded-md border border-line"><div class="text-sm"><span class="text-fg-muted">Groups:</span> <span class="font-semibold text-fg"> </span></div> <div class="text-sm"><span class="text-fg-muted">Total:</span> <span class="font-semibold text-fg"> </span></div> <div class="text-sm"><span class="text-fg-muted">Last hour:</span> <span class="font-semibold text-danger"> </span></div></div>`),oB=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle py-12"><!> <p class="text-sm">No errors captured</p> <p class="text-xs text-fg-subtle mt-1">Errors from failed traces will appear here</p></div>`),sB=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle py-12"><!> <p class="text-sm">No matching errors</p> <p class="text-xs text-fg-subtle mt-1">No error groups match the current filter</p></div>`),cB=V(`<div class="flex flex-col h-full p-4"><div class="flex items-center justify-between mb-4 pb-3 border-b border-line"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> Errors <!> <!></h3> <div class="flex items-center gap-2"><select class="text-xs border border-line rounded px-2 py-1 bg-surface text-fg-muted"><option>Most Recent</option><option>Most Frequent</option></select></div></div> <!> <!> <div role="listbox" tabindex="0" aria-label="Error groups" class="flex-1 overflow-auto space-y-2 focus:outline-none"><!></div></div>`);function lB(e,t){it(t,!0);let n=(e,t=p,n=p,r=p,i=p)=>{let a=M(()=>Date.now()-t().firstSeen),o=M(()=>Date.now()-t().lastSeen);var s=nB(),c=F(s),l=F(c),u=F(l),d=e=>{xp(e,{size:16,class:`text-fg-subtle`})},f=e=>{Tp(e,{size:16,class:`text-fg-subtle`})};W(u,e=>{n()?e(d):e(f,-1)}),D(l);var v=L(l,2),y=F(v),b=F(y),x=F(b,!0);D(b);var S=L(b,2),C=F(S);D(S);var w=L(S,2),T=e=>{var n=Kz(),r=F(n,!0);D(n),R(()=>U(r,t().service)),H(e,n)};W(w,e=>{t().service&&e(T)}),D(y);var ee=L(y,2),te=F(ee),ne=F(te,!0);D(te);var re=L(te,2);{let e=M(()=>`${t().type}: ${t().message}`);X_(re,{get value(){return z(e)},label:`Copy error message`,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`})}D(ee);var ie=L(ee,2),ae=F(ie),oe=F(ae);jp(oe,{size:12});var se=L(oe);D(ae);var ce=L(ae,2),le=F(ce);jp(le,{size:12});var E=L(le);D(ce),D(ie),D(v),D(c);var ue=L(c,2),de=e=>{var n=tB(),r=F(n),i=e=>{var n=Jz(),r=L(F(n),2);Wz(r,{get stackTrace(){return t().stackTrace},get loadSource(){return rs}});var i=L(r,2);M_(L(F(i),2),{get content(){return t().stackTrace},children:(e,n)=>{var r=qz(),i=F(r,!0);D(r),R(()=>U(i,t().stackTrace)),H(e,r)},$$slots:{default:!0}}),D(i),D(n),H(e,n)};W(r,e=>{t().stackTrace&&e(i)});var a=L(r,2),o=e=>{var n=Xz(),r=L(F(n),2);G(r,21,()=>t().affectedSpans,Aa,(e,t)=>{var n=Yz(),r=F(n,!0);D(n),R(()=>U(r,z(t))),H(e,n)}),D(r),D(n),H(e,n)};W(a,e=>{t().affectedSpans.length>0&&e(o)});var s=L(a,2),c=e=>{var n=Qz(),r=L(F(n),2);G(r,20,()=>t().affectedTraces.slice(0,5),e=>e,(e,t)=>{var n=Zz(),r=F(n),i=F(r);ym(i,{size:10});var a=L(i);qp(L(a),{size:10}),D(r),X_(L(r,2),{get value(){return t},label:`Copy trace ID`,size:10,class:`opacity-0 group-hover:opacity-100 focus-visible:opacity-100 transition-opacity`}),D(n),R(e=>U(a,` ${e??``}... `),[()=>t.slice(0,16)]),B(`click`,r,()=>g(t)),H(e,n)}),D(r),D(n),H(e,n)};W(s,e=>{t().affectedTraces.length>0&&e(c)});var l=L(s,2),u=e=>{var n=eB(),r=L(F(n),2);G(r,21,()=>Object.entries(t().attributes),([e,t])=>e,(e,t)=>{var n=M(()=>_(z(t),2));let r=()=>z(n)[0],i=()=>z(n)[1];var a=$z(),o=F(a),s=F(o);D(o);var c=L(o,2),l=F(c,!0);D(c),D(a),R(e=>{U(s,`${r()??``}:`),U(l,e)},[()=>String(i())]),H(e,a)}),D(r),D(n),H(e,n)},d=M(()=>t().attributes&&Object.keys(t().attributes).length>0);W(l,e=>{z(d)&&e(u)});var f=L(l,2),p=F(f),m=F(p),h=F(m);D(m);var v=L(m,2),y=F(v);D(v),D(p),D(f),D(n),R((e,t)=>{U(h,`First seen: ${e??``}`),U(y,`Last seen: ${t??``}`)},[()=>od(t().firstSeen),()=>od(t().lastSeen)]),H(e,n)};W(ue,e=>{n()&&e(de)}),D(s),R((e,n)=>{J(s,`aria-selected`,i()),J(s,`data-row-index`,r()),q(s,1,`border border-line rounded-md bg-surface overflow-hidden${i()?` ring-1 ring-inset ring-accent bg-accent/10`:``}`),U(x,t().type),U(C,`${t().count??``}x`),U(ne,t().message),U(se,` First: ${e??``}`),U(E,` Last: ${n??``}`)},[()=>Gz(z(a)),()=>Gz(z(o))]),B(`click`,c,()=>{m.cursor=r(),h(t().fingerprint)}),H(e,s)};function r(e,t){return I_(t.toLowerCase(),[e.type,e.message,...e.affectedTraces])}let i=N(`recent`),a=N(null),o=N(``),s=N(void 0),c=M(()=>z(i)===`recent`?au.value:ou.value),l=M(()=>z(c).filter(e=>r(e,z(o)))),u=M(()=>z(o).length>0),d=M(()=>su.value),f=M(()=>cu.value),m=VA({count:()=>z(l).length,onActivate:e=>{let t=z(l)[e];t&&h(t.fingerprint)},scrollToIndex:e=>z(s)?.querySelector(`[data-row-index="${e}"]`)?.scrollIntoView({block:`nearest`})});function h(e){P(a,z(a)===e?null:e,!0)}function g(e){Nu(e),Mu(`traces`)}var v=cB(),y=F(v),b=F(y),x=F(b);Uh(x,{size:16,class:`text-danger`});var S=L(x,2),C=e=>{var t=rB(),n=F(t);D(t),R(()=>U(n,`(${z(l).length??``} of ${z(c).length??``})`)),H(e,t)};W(S,e=>{z(u)&&e(C)});var w=L(S,2),T=e=>{var t=iB(),n=F(t,!0);D(t),R(()=>U(n,z(d))),H(e,t)};W(w,e=>{z(d)>0&&e(T)}),D(b);var ee=L(b,2),te=F(ee),ne=F(te);ne.value=ne.__value=`recent`;var re=L(ne);re.value=re.__value=`frequent`,D(te);var ie;uo(te),D(ee),D(y);var ae=L(y,2),oe=e=>{F_(e,{class:`mb-4`,inputClass:`border-line bg-subtle text-fg focus:border-line focus:ring-1 focus:ring-accent`,placeholder:`Filter by type, message, trace id…`,ariaLabel:`Filter errors`,get value(){return z(o)},set value(e){P(o,e,!0)}})};W(ae,e=>{z(c).length>0&&e(oe)});var se=L(ae,2),ce=e=>{var t=aB(),n=F(t),r=L(F(n),2),i=F(r,!0);D(r),D(n);var a=L(n,2),o=L(F(a),2),s=F(o,!0);D(o),D(a);var p=L(a,2),m=L(F(p),2),h=F(m,!0);D(m),D(p),D(t),R(()=>{U(i,z(u)?`${z(l).length} of ${z(c).length}`:z(c).length),U(s,z(d)),U(h,z(f))}),H(e,t)};W(se,e=>{z(d)>0&&e(ce)});var le=L(se,2),E=F(le),ue=e=>{var t=oB();Uh(F(t),{size:32,class:`mb-2 text-fg-subtle`}),Ke(4),D(t),H(e,t)},de=e=>{var t=sB();xh(F(t),{size:32,class:`mb-2 text-fg-subtle`}),Ke(4),D(t),H(e,t)},fe=e=>{var t=da();G(I(t),19,()=>z(l),e=>e.fingerprint,(e,t,r)=>{n(e,()=>z(t),()=>z(a)===z(t).fingerprint,()=>z(r),()=>m.cursor===z(r))}),H(e,t)};W(E,e=>{z(c).length===0?e(ue):z(l).length===0?e(de,1):e(fe,-1)}),D(le),Uo(le,e=>P(s,e),()=>z(s)),D(v),R(()=>{ie!==(ie=z(i))&&(te.value=(te.__value=z(i))??``,lo(te,z(i)))}),B(`change`,te,e=>P(i,e.target.value,!0)),B(`keydown`,le,function(...e){m.onKeyDown?.apply(this,e)}),H(e,v),at()}na([`click`,`change`,`keydown`]);var uB={info:0,warning:1,error:2,critical:3};function dB(e,t=`info`){return typeof e==`string`&&e in uB?e:t}function fB(e,t){return uB[e]>=uB[t]}var pB={marker:`autotel.security`,forceKeep:`autotel.security.force_keep`,event:`security.event`,category:`security.category`,outcome:`security.outcome`,severity:`security.severity`,actorId:`security.actor_id`,targetType:`security.target_type`,targetId:`security.target_id`,tenantId:`security.tenant_id`,reason:`security.reason`,droppedKeys:`security.dropped_keys`,suspiciousRequest:`security.suspicious_request`,signal:`security.signal`};function mB(e){return typeof e==`string`&&e.length>0?e:void 0}function hB(e,t){let n=e.attributes??{},r=mB(n[pB.event]),i=n[pB.suspiciousRequest]===!0;return!r&&!i?null:{traceId:e.traceId,spanId:e.spanId,spanName:e.name,service:t,timestamp:e.startTime,event:r,category:mB(n[pB.category]),outcome:mB(n[pB.outcome]),severity:dB(n[pB.severity],i?`warning`:`info`),reason:mB(n[pB.reason]),suspicious:i,signal:mB(n[pB.signal])}}function gB(e){let t=[];for(let n of e)for(let e of n.spans){let r=hB(e,n.service);r&&t.push(r)}return t.sort((e,t)=>t.timestamp-e.timestamp)}function _B(e){let t={info:0,warning:0,error:0,critical:0};for(let n of e)t[n.severity]+=1;return t}function vB(e,t){return fB(e.severity,t)}function yB(e){switch(e){case`critical`:return`bg-red-100 text-red-700`;case`error`:return`bg-orange-100 text-orange-700`;case`warning`:return`bg-amber-100 text-amber-700`;default:return`bg-hover text-fg-muted`}}var bB=V(`<span class="ml-1 px-2 py-0.5 text-xs font-medium bg-red-100 text-red-700 rounded-full"> </span>`),xB=V(`<div class="flex gap-4 mb-4 p-3 bg-subtle rounded-md border border-line"><div class="text-sm"><span class="text-fg-muted">Critical:</span> <span class="font-semibold text-red-600"> </span></div> <div class="text-sm"><span class="text-fg-muted">Error:</span> <span class="font-semibold text-orange-600"> </span></div> <div class="text-sm"><span class="text-fg-muted">Warning:</span> <span class="font-semibold text-amber-600"> </span></div> <div class="text-sm"><span class="text-fg-muted">Info:</span> <span class="font-semibold text-fg"> </span></div></div>`),SB=V(`<div class="flex flex-col items-center justify-center h-full text-fg-subtle py-12"><!> <p class="text-sm">No security events captured</p> <p class="text-xs text-fg-subtle mt-1">Spans with security.* attributes (autotel-audit) will appear here</p></div>`),CB=V(`<span class="px-1.5 py-0.5 text-xs font-medium bg-hover text-fg-muted rounded"> </span>`),wB=V(`<span class="text-fg-subtle"> </span>`),TB=V(`<div class="border border-line rounded-md bg-surface p-3"><div class="flex items-center gap-2 mb-1"><!> <span class="text-sm font-semibold text-fg"> </span> <span> </span> <!> <!> <!></div> <p class="text-xs text-fg-muted truncate mb-2 font-mono"> <!></p> <div class="flex items-center gap-4 text-xs text-fg-subtle"><span> </span> <button class="flex items-center gap-1 text-fg-muted hover:text-fg font-mono"><!> <!></button></div></div>`),EB=V(`<div class="flex flex-col h-full p-4"><div class="flex items-center justify-between mb-4 pb-3 border-b border-line"><h3 class="text-sm font-semibold flex items-center gap-2 text-fg"><!> Security <!></h3> <select class="text-xs border border-line rounded px-2 py-1 bg-surface text-fg-muted"><option>All severities</option><option>Warning+</option><option>Error+</option><option>Critical only</option></select></div> <!> <div class="flex-1 overflow-auto space-y-2"><!></div></div>`);function DB(e,t){it(t,!0);let n=N(`info`),r=M(()=>gB(vl.value)),i=M(()=>_B(z(r))),a=M(()=>z(r).filter(e=>vB(e,z(n))));function o(e,t){Nu(e,t),Mu(`traces`)}function s(e){return e.event?e.event:e.signal?`probe: ${e.signal}`:`suspicious request`}var c=EB(),l=F(c),u=F(l),d=F(u);Dh(d,{size:16,class:`text-red-500`});var f=L(d,2),p=e=>{var t=bB(),n=F(t,!0);D(t),R(()=>U(n,z(r).length)),H(e,t)};W(f,e=>{z(r).length>0&&e(p)}),D(u);var m=L(u,2),h=F(m);h.value=h.__value=`info`;var g=L(h);g.value=g.__value=`warning`;var _=L(g);_.value=_.__value=`error`;var v=L(_);v.value=v.__value=`critical`,D(m);var y;uo(m),D(l);var b=L(l,2),x=e=>{var t=xB(),n=F(t),r=L(F(n),2),a=F(r,!0);D(r),D(n);var o=L(n,2),s=L(F(o),2),c=F(s,!0);D(s),D(o);var l=L(o,2),u=L(F(l),2),d=F(u,!0);D(u),D(l);var f=L(l,2),p=L(F(f),2),m=F(p,!0);D(p),D(f),D(t),R(()=>{U(a,z(i).critical),U(c,z(i).error),U(d,z(i).warning),U(m,z(i).info)}),H(e,t)};W(b,e=>{z(r).length>0&&e(x)});var S=L(b,2),C=F(S),w=e=>{var t=SB();Dh(F(t),{size:32,class:`mb-2 text-fg-subtle`}),Ke(4),D(t),H(e,t)},T=e=>{var t=da();G(I(t),17,()=>z(a),e=>e.traceId+e.spanId,(e,t)=>{var n=TB(),r=F(n),i=F(r),a=e=>{lh(e,{size:14,class:`text-amber-500`})};W(i,e=>{z(t).suspicious&&e(a)});var c=L(i,2),l=F(c,!0);D(c);var u=L(c,2),d=F(u,!0);D(u);var f=L(u,2),p=e=>{var n=CB(),r=F(n,!0);D(n),R(()=>U(r,z(t).category)),H(e,n)};W(f,e=>{z(t).category&&e(p)});var m=L(f,2),h=e=>{var n=CB(),r=F(n,!0);D(n),R(()=>U(r,z(t).outcome)),H(e,n)};W(m,e=>{z(t).outcome&&e(h)});var g=L(m,2),_=e=>{var n=CB(),r=F(n,!0);D(n),R(()=>U(r,z(t).service)),H(e,n)};W(g,e=>{z(t).service&&e(_)}),D(r);var v=L(r,2),y=F(v),b=L(y),x=e=>{var n=wB(),r=F(n);D(n),R(()=>U(r,`— ${z(t).reason??``}`)),H(e,n)};W(b,e=>{z(t).reason&&e(x)}),D(v);var S=L(v,2),C=F(S),w=F(C,!0);D(C);var T=L(C,2),ee=F(T);ym(ee,{size:10});var te=L(ee);qp(L(te),{size:10}),D(T),D(S),D(n),R((e,n,r,i)=>{U(l,e),q(u,1,n),U(d,z(t).severity),U(y,`${z(t).spanName??``} `),U(w,r),U(te,` ${i??``}... `)},[()=>s(z(t)),()=>`px-1.5 py-0.5 text-xs font-medium rounded `+yB(z(t).severity),()=>od(z(t).timestamp),()=>z(t).traceId.slice(0,16)]),B(`click`,T,()=>o(z(t).traceId,z(t).spanId)),H(e,n)}),H(e,t)};W(C,e=>{z(a).length===0?e(w):e(T,-1)}),D(S),D(c),R(()=>{y!==(y=z(n))&&(m.value=(m.__value=z(n))??``,lo(m,z(n)))}),B(`change`,m,e=>P(n,e.target.value,!0)),H(e,c),at()}na([`change`,`click`]);async function OB(e,t){let n;try{n=await t.fetch(`${t.baseUrl}/api/analysis/compare`,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(e),signal:t.signal})}catch(e){return e?.name===`AbortError`?{status:`aborted`}:{status:`error`,message:e instanceof Error?`Network error: ${e.message}`:`Network error`}}let r;try{r=await n.json()}catch{return{status:`error`,message:`Unexpected response (not JSON)`}}let i=r;if(n.status===501)return{status:`unavailable`,message:i.message??`Comparison is unavailable on this server.`};if(n.status===400)return{status:`invalid`,message:i.message??i.error??`Invalid query`};if(!n.ok)return{status:`error`,message:i.error??n.statusText};let a=i.outlierCount??0,o=i.baselineCount??0;return a===0||o===0?{status:`empty`,outlierCount:a,baselineCount:o}:{status:`ok`,differences:i.differences??[],outlierCount:a,baselineCount:o}}var kB=V(`<!> Mark now`,1),AB=V(`<!> Comparing since mark`,1),jB=V(`<option> </option>`),MB=V(`<div class="mb-2 grid grid-cols-2 gap-2"><label class="block text-[11px] text-fg-muted">Arm <select class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 text-xs text-fg focus:border-accent focus:outline-none"></select></label> <label class="block text-[11px] text-fg-muted">Against <select class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 text-xs text-fg focus:border-accent focus:outline-none"><option>Every other arm</option><!></select></label></div>`),NB=V(`<label class="mb-2 block text-[11px] text-fg-muted">Experiment <select class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 text-xs text-fg focus:border-accent focus:outline-none"><option>Compare by query instead</option><!></select></label> <!>`,1),PB=V(`<label class="mb-1 block text-[11px] text-fg-muted">Investigating <input placeholder="duration > 500" class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 font-mono text-xs text-fg focus:border-accent focus:outline-none"/></label>`),FB=V(`<p class="mb-1 text-[11px] text-fg-subtle">Comparing spans since the mark against those before it, within the
32
+ current time window.</p>`),IB=V(`<p class="text-xs text-fg-subtle">Describe the spans you are investigating, or mark a moment and compare
33
33
  what came after it. The result ranks the attributes that tell the two
34
- groups apart.</p>`),PB=V(`<p class="text-xs text-danger"> </p>`),FB=V(`<p class="text-xs text-fg-muted"> </p>`),IB=V(`<tr class="border-t border-line-subtle"><td class="py-1 pr-2 font-mono"> <span class="text-fg-subtle">=</span> </td><td class="py-1 pr-2 tabular-nums"> </td><td class="py-1 pr-2 tabular-nums text-fg-muted"> </td></tr>`),LB=V(`<p class="mb-2 text-[11px] text-fg-subtle"> </p> <table class="w-full text-left text-xs"><thead class="text-[11px] uppercase tracking-wide text-fg-muted"><tr><th class="py-1 pr-2 font-medium">Attribute</th><th class="py-1 pr-2 font-medium">These</th><th class="py-1 pr-2 font-medium">Those</th></tr></thead><tbody></tbody></table>`,1),RB=V(`<div class="flex h-full flex-col overflow-hidden"><div class="border-b border-line px-4 py-3"><div class="mb-2 flex items-center gap-2"><button type="button"><!></button> <button type="button" class="flex items-center gap-1 rounded bg-accent px-2 py-1 text-xs text-white hover:opacity-90 disabled:opacity-40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent"><!> </button></div> <!> <label class="block text-[11px] text-fg-muted"> <input placeholder="everything else" class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 font-mono text-xs text-fg focus:border-accent focus:outline-none"/></label></div> <div class="flex-1 overflow-auto px-4 py-3"><!></div></div>`);function zB(e,t){it(t,!0);let n=N(`duration > 500`),r=N(``),i=N(null),a=N(!1),o=N(null),s=e=>`${Math.round(e*100)}%`;function c(){if(z(i)===null)return{outlier:{query:z(n)},baseline:{query:z(r)}};let e=Es(ml.value,Date.now());return{outlier:{query:z(r),window:{start:z(i),end:Date.now()}},baseline:{query:z(r),window:{start:e?.start??0,end:z(i)}}}}async function l(){let e=pl.value,t=e===null?null:$o(e);if(t===null){P(o,{status:`error`,message:`The telemetry receiver is not connected.`},!0);return}P(a,!0);try{P(o,await OB(c(),{fetch:globalThis.fetch.bind(globalThis),baseUrl:t}),!0)}finally{P(a,!1)}}var u=RB(),d=F(u),f=F(d),p=F(f),m=F(p),h=e=>{var t=kB();rm(I(t),{size:12}),Ke(),H(e,t)},g=e=>{var t=AB();tg(I(t),{size:12}),Ke(),H(e,t)};W(m,e=>{z(i)===null?e(h):e(g,-1)}),D(p);var _=L(p,2),v=F(_);rh(v,{size:12});var y=L(v);D(_),D(f);var b=L(f,2),x=e=>{var t=jB(),r=L(F(t));Co(r),D(t),Mo(r,()=>z(n),e=>P(n,e)),H(e,t)},S=e=>{H(e,MB())};W(b,e=>{z(i)===null?e(x):e(S,-1)});var C=L(b,2),w=F(C),T=L(w);Co(T),D(C),D(d);var ee=L(d,2),te=F(ee),ne=e=>{H(e,NB())},re=e=>{var t=PB(),n=F(t,!0);D(t),R(()=>U(n,z(o).message)),H(e,t)},ie=e=>{var t=FB(),n=F(t);D(t),R(()=>U(n,`Nothing to compare: ${z(o).outlierCount??``} against ${z(o).baselineCount??``}
35
- spans. A share of zero events says nothing about either group.`)),H(e,t)},ae=e=>{var t=da(),n=I(t),r=e=>{var t=FB(),n=F(t);D(t),R(()=>U(n,`No attribute separates these ${z(o).outlierCount??``} spans from the
36
- ${z(o).baselineCount??``} they were compared with.`)),H(e,t)},i=e=>{var t=LB(),n=I(t),r=F(n);D(n);var i=L(n,2),a=L(F(i));G(a,21,()=>z(o).differences,e=>`${e.field}=${e.value}`,(e,t)=>{var n=IB(),r=F(n),i=F(r,!0),a=L(i,2,!0);D(r);var o=L(r),c=F(o,!0);D(o);var l=L(o),u=F(l,!0);D(l),D(n),R((e,n)=>{U(i,z(t).field),U(a,z(t).value),U(c,e),U(u,n)},[()=>s(z(t).outlierFraction),()=>s(z(t).baselineFraction)]),H(e,n)}),D(a),D(i),R(()=>U(r,`${z(o).outlierCount??``} spans against ${z(o).baselineCount??``}. A
37
- hypothesis to check against individual traces, not a conclusion.`)),H(e,t)};W(n,e=>{z(o).differences.length===0?e(r):e(i,-1)}),H(e,t)};W(te,e=>{z(o)?z(o).status===`unavailable`||z(o).status===`invalid`||z(o).status===`error`?e(re,1):z(o).status===`empty`?e(ie,2):z(o).status===`ok`&&e(ae,3):e(ne)}),D(ee),D(u),R(e=>{q(p,1,e),_.disabled=z(a),U(y,` ${z(a)?`Comparing…`:`Compare`}`),U(w,`${z(i)===null?`Compared with`:`Restricted to`} `)},[()=>K(Q(`flex items-center gap-1 rounded px-2 py-1 text-xs`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,z(i)===null?`border border-line text-fg-muted hover:text-fg`:`bg-accent text-white`))]),B(`click`,p,()=>P(i,z(i)===null?Date.now():null,!0)),B(`click`,_,l),Mo(T,()=>z(r),e=>P(r,e)),H(e,u),at()}na([`click`]);var BB=V(`<span class="text-xs text-fg"> </span>`),VB=V(`<span class="text-xs text-fg-muted">Instrumentation coverage</span>`),HB=V(`<p class="text-xs text-fg-subtle">Loading…</p>`),UB=V(`<div class="flex items-start gap-2 text-xs text-fg-muted"><!> <p> </p></div>`),WB=V(`<p class="text-xs text-danger"> </p>`),GB=V(`<p class="text-xs text-fg-muted">The map records no entry points.</p>`),KB=V(`<span class="mr-1 inline-block h-1.5 w-1.5 rounded-full bg-danger" aria-label="never seen"></span>`),qB=V(`<tr class="border-t border-line-subtle"><td class="py-1 pr-2 font-mono"><!> </td><td> </td><td class="py-1"><a class="text-fg-subtle hover:text-accent hover:underline"> </a></td></tr>`),JB=V(`<table class="w-full text-left text-xs"><thead class="text-[11px] uppercase tracking-wide text-fg-muted"><tr><th class="py-1 pr-2 font-medium">Entry point</th><th class="py-1 pr-2 font-medium">Spans</th><th class="py-1 font-medium">Source</th></tr></thead><tbody></tbody></table>`),YB=V(`<div class="flex h-full flex-col overflow-hidden"><div class="flex items-center justify-between border-b border-line px-4 py-3"><div><!></div> <button type="button" class="flex items-center gap-1 rounded border border-line px-2 py-1 text-xs text-fg-muted hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent"><!> Refresh</button></div> <div class="flex-1 overflow-auto px-4 py-3"><!></div></div>`);function XB(e,t){it(t,!0);let n=N(yr({status:`idle`}));async function r(){P(n,{status:`loading`},!0);try{let e=pl.value,t=e===null?null:$o(e);if(t===null){P(n,{status:`error`,message:`The telemetry receiver is not connected.`},!0);return}let r=await fetch(`${t}/api/coverage`),i=await r.json();r.status===404?P(n,{status:`missing`,message:i.message??`No map found.`},!0):r.ok?P(n,{status:`ok`,...i},!0):P(n,{status:`error`,message:i.message??r.statusText},!0)}catch(e){P(n,{status:`error`,message:e instanceof Error?e.message:`Request failed`},!0)}}zr(()=>{r()});let i=e=>`vscode://file/${e.file}${e.handler?.line?`:${e.handler.line}`:``}`;var a=YB(),o=F(a),s=F(o),c=F(s),l=e=>{var t=BB(),r=F(t);D(t),R(()=>U(r,`${z(n).total-z(n).seenCount} of ${z(n).total??``} entry points have emitted
38
- nothing`)),H(e,t)},u=e=>{H(e,VB())};W(c,e=>{z(n).status===`ok`?e(l):e(u,-1)}),D(s);var d=L(s,2);dh(F(d),{size:12}),Ke(),D(d),D(o);var f=L(o,2),p=F(f),m=e=>{H(e,HB())},h=e=>{var t=UB(),r=F(t);$p(r,{size:14,class:`mt-0.5 shrink-0`});var i=L(r,2),a=F(i,!0);D(i),D(t),R(()=>U(a,z(n).message)),H(e,t)},g=e=>{var t=WB(),r=F(t,!0);D(t),R(()=>U(r,z(n).message)),H(e,t)},_=e=>{H(e,GB())},v=e=>{var t=JB(),r=L(F(t));G(r,21,()=>z(n).entries,e=>`${e.method??``} ${e.path}`,(e,t)=>{var n=qB(),r=F(n),a=F(r),o=e=>{H(e,KB())};W(a,e=>{z(t).seen||e(o)});var s=L(a);D(r);var c=L(r),l=F(c,!0);D(c);var u=L(c),d=F(u),f=F(d,!0);D(d),D(u),D(n),R(e=>{U(s,` ${z(t).method?`${z(t).method} `:``}${z(t).path??``}`),q(c,1,K(z(t).seen?`py-1 pr-2 tabular-nums text-fg-muted`:`py-1 pr-2 text-danger`)),U(l,z(t).seen?z(t).spanCount:`none`),J(d,`href`,e),U(f,z(t).file)},[()=>i(z(t))]),H(e,n)}),D(r),D(t),H(e,t)};W(p,e=>{z(n).status===`loading`||z(n).status===`idle`?e(m):z(n).status===`missing`?e(h,1):z(n).status===`error`?e(g,2):z(n).entries.length===0?e(_,3):e(v,-1)}),D(f),D(a),B(`click`,d,r),H(e,a),at()}na([`click`]);var ZB={traces:tj,agents:jj,genai:NN,flow:EP,resources:IP,"service-map":mF,metrics:nz,logs:Tz,errors:lB,security:DB,compare:zB,coverage:XB},QB=[{id:`traces`,label:`Traces`,icon:Vp},{id:`agents`,label:`Agents`,icon:sp},{id:`genai`,label:`GenAI`,icon:jh},{id:`flow`,label:`Flow`,icon:Zh},{id:`resources`,label:`Resources`,icon:lp},{id:`service-map`,label:`Service Map`,icon:Gm},{id:`metrics`,label:`Metrics`,icon:_p},{id:`logs`,label:`Logs`,icon:tm},{id:`errors`,label:`Errors`,icon:Uh},{id:`security`,label:`Security`,icon:Dh},{id:`compare`,label:`Compare`,icon:pm},{id:`coverage`,label:`Coverage`,icon:hh}].filter(e=>ZB[e.id]!==void 0),$B=QB.map(e=>e.id),eV=16,tV=48;function nV(e){let{isVertical:t,dock:n,axisSize:r,setSize:i,resetSize:a}=e,o=N(!1);return{get resizing(){return z(o)},onPointerDown:e=>{e.stopPropagation();let a=t(),s=a?`vertical`:`horizontal`,c=a?e.clientY:e.clientX,l=r(),u=n()===`bottom`||n()===`right`?-1:1;gy(e,{cursor:a?`ns-resize`:`ew-resize`,onStart:()=>P(o,!0),onMove:e=>{let t=a?e.clientY:e.clientX;i(s,l+(t-c)*u)},onEnd:()=>P(o,!1)})},onKeyDown:e=>{let a=t()?`vertical`:`horizontal`,o=e.shiftKey?tV:eV,s=t()?{ArrowUp:n()===`bottom`?o:-o,ArrowDown:n()===`bottom`?-o:o}:{ArrowLeft:n()===`right`?o:-o,ArrowRight:n()===`right`?-o:o};e.key in s&&(e.preventDefault(),i(a,r()+s[e.key]))},onDblClick:()=>a(t()?`vertical`:`horizontal`)}}function rV(e,t,n,r){let i={left:e,right:n-e,top:t,bottom:r-t};return Object.keys(i).reduce((e,t)=>i[t]<i[e]?t:e)}function iV(e){let{dock:t,pipActive:n,onDock:r}=e,i=N(!1),a=N(null);return{get dragging(){return z(i)},get dropTarget(){return z(a)},onHeaderPointerDown:e=>{e.button===0&&(e.target.closest(`button`)||n()||gy(e,{cursor:`grabbing`,onStart:()=>{P(i,!0),P(a,t(),!0)},onMove:e=>{P(a,rV(e.clientX,e.clientY,window.innerWidth,window.innerHeight),!0)},onEnd:()=>{P(i,!1),z(a)&&z(a)!==t()&&r(z(a)),P(a,null)}}))}}}function aV(e,t){it(t,!0);let n=M(()=>Bc.value),r=M(()=>ZB[z(n)]??ZB.traces);var i=da(),a=I(i),o=e=>{var t=da();Ba(I(t),()=>z(r),(e,t)=>{t(e,{})}),H(e,t)};W(a,e=>{z(r)&&e(o)}),H(e,i),at()}var oV=V(`<span class="absolute inset-0 rounded-full bg-success opacity-75 animate-ping" aria-hidden="true"></span>`),sV=V(`<span class="text-xs font-mono tabular-nums text-fg-subtle" title="Telemetry ingest rate"> </span>`),cV=V(`<span class="text-xs font-mono tabular-nums text-fg-subtle" title="Telemetry store usage and retention cap"> </span>`),lV=V(`<span> </span> <!> <!>`,1),uV=V(`<div role="status"><span class="relative inline-flex w-2 h-2 shrink-0"><!> <span aria-hidden="true"></span></span> <!></div>`);function dV(e,t){it(t,!0);let n=Z(t,`compact`,3,!1),r=M(()=>fl.value),i=M(()=>z(r)===`connected`?{dot:`bg-success`,label:`Connected`,text:`text-success`}:z(r)===`connecting`?{dot:`bg-warning animate-pulse`,label:`Connecting…`,text:`text-warning`}:{dot:`bg-danger`,label:`Disconnected`,text:`text-fg-subtle`}),a=M(()=>yl.value),o=N(!1);zr(()=>{if(z(a),z(a)===0)return;P(o,!0);let e=setTimeout(()=>P(o,!1),900);return()=>clearTimeout(e)});let s=N(0);zr(()=>{if(n())return;let e=()=>{P(s,Math.round(Cl(5e3).total),!0)};e();let t=setInterval(e,1e3);return()=>clearInterval(t)});let c=M(()=>!n()&&z(r)===`connected`&&z(s)>0),l=N(null);zr(()=>{if(n()||z(r)!==`connected`)return;let e=!0,t=async()=>{let t=pl.value,n=(t?$o(t):null)??globalThis.location?.origin;if(n)try{let t=await fetch(`${n}/api/stats`);t.ok&&e&&P(l,await t.json(),!0)}catch{}};t();let i=setInterval(t,3e4);return()=>{e=!1,clearInterval(i)}});function u(e){return e<1024**2?`${Math.round(e/1024)} KB`:e<1024**3?`${(e/1024**2).toFixed(1)} MB`:`${(e/1024**3).toFixed(1)} GB`}var d=uV(),f=F(d),p=F(f),m=e=>{H(e,oV())};W(p,e=>{z(o)&&z(r)===`connected`&&e(m)});var h=L(p,2);D(f);var g=L(f,2),_=e=>{var t=lV(),n=I(t),r=F(n,!0);D(n);var a=L(n,2),o=e=>{var t=sV(),n=F(t);D(t),R(()=>U(n,`· ${z(s)??``}/s`)),H(e,t)};W(a,e=>{z(c)&&e(o)});var d=L(a,2),f=e=>{var t=cV(),n=F(t);D(t),R((e,t)=>U(n,`· ${e??``} / ${t??``}`),[()=>u(z(l).bytesUsed),()=>u(z(l).maxBytes)]),H(e,t)};W(d,e=>{z(l)&&e(f)}),R(e=>{q(n,1,e),U(r,z(i).label)},[()=>K(Q(`text-xs font-medium`,z(i).text))]),H(e,t)};W(g,e=>{n()||e(_)}),D(d),R((e,t)=>{q(d,1,e),J(d,`aria-label`,`OTLP receiver: ${z(i).label}`),J(d,`title`,`OTLP receiver: ${z(i).label}${z(s)>0?` · ${z(s)}/s`:``}`),q(h,1,t)},[()=>K(Q(`flex items-center gap-1.5`,!n()&&`px-3 py-2`)),()=>K(Q(`relative inline-block w-2 h-2 rounded-full`,z(i).dot))]),H(e,d),at()}var fV=V(`<kbd class="inline-block px-1.5 py-0.5 font-mono text-xs font-semibold bg-hover border border-line rounded text-fg mr-1 last:mr-0 shadow-[0_1px_0_#d4d4d8]"> </kbd>`),pV=V(`<tr class="border-b border-line-subtle last:border-b-0"><td class="py-2.5 px-4 whitespace-nowrap align-middle w-[1%]"></td><td class="py-2.5 pr-4 pl-1 text-sm text-fg-muted align-middle"> </td></tr>`),mV=V(`<div class="fixed inset-0 z-[1000] flex items-center justify-center" role="dialog" aria-modal="true" aria-label="Keyboard shortcuts"><button type="button" aria-label="Close" class="absolute inset-0 bg-black/55 backdrop-blur-[2px] at-backdrop-in"></button> <div tabindex="-1" class="at-modal-in relative z-[1] bg-surface border border-line rounded-lg shadow-xl w-[480px] max-w-[90vw] max-h-[80vh] flex flex-col overflow-hidden outline-none"><div class="flex items-center justify-between px-4 py-3 border-b border-line bg-subtle flex-shrink-0"><span class="text-sm font-semibold text-fg">Keyboard Shortcuts</span> <button class="inline-flex items-center justify-center w-7 h-7 p-0 bg-transparent border border-line rounded cursor-pointer text-sm text-fg-subtle hover:bg-danger-bg hover:border-danger-border hover:text-danger transition-colors" title="Close (Esc)"><!></button></div> <div class="overflow-y-auto py-2"><table class="w-full border-collapse"><tbody></tbody></table></div></div></div>`);function hV(e,t){it(t,!0);let n=N(void 0);zr(()=>{let e=e=>{e.key===`Escape`&&(e.stopPropagation(),t.onClose())},r=z(n);return r&&(r.addEventListener(`keydown`,e),r.focus()),window.addEventListener(`keydown`,e),()=>{r&&r.removeEventListener(`keydown`,e),window.removeEventListener(`keydown`,e)}});var r=mV(),i=F(r),a=L(i,2),o=F(a),s=L(F(o),2);tg(F(s),{size:14}),D(s),D(o);var c=L(o,2),l=F(c),u=F(l);G(u,21,()=>t.shortcuts,Aa,(e,t)=>{var n=pV(),r=F(n);G(r,21,()=>z(t).keys,Aa,(e,t)=>{var n=fV(),r=F(n,!0);D(n),R(()=>U(r,z(t)===`CmdOrCtrl`?yg?`⌘`:`Ctrl`:z(t)===`AltOrOpt`?yg?`⌥`:`Alt`:z(t))),H(e,n)}),D(r);var i=L(r),a=F(i,!0);D(i),D(n),R(()=>U(a,z(t).description)),H(e,n)}),D(u),D(l),D(c),D(a),Uo(a,e=>P(n,e),()=>z(n)),D(r),B(`click`,i,function(...e){t.onClose?.apply(this,e)}),B(`click`,s,function(...e){t.onClose?.apply(this,e)}),H(e,r),at()}na([`click`]);var gV=V(`<div role="separator" aria-label="Resize panel" tabindex="0" title="Drag to resize · double-click to reset"><div></div> <div></div></div>`),_V=V(`<span class="text-fg-subtle/60 flex-shrink-0 pl-0.5" aria-hidden="true"><!></span>`),vV=V(`<span> </span>`),yV=V(`<button><!> <span> </span> <!></button>`),bV=V(`<button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors" title="Dock position (click to cycle: bottom → right → left) — or drag the header to an edge" aria-label="Change dock position"><!></button>`),xV=V(`<button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors"><!></button>`),SV=V(`<button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors" title="Close (Esc)" aria-label="Close devtools"><!></button>`),CV=V(`<span class="px-2.5 py-1 rounded-md bg-accent text-white text-xs font-semibold shadow-lg"> </span>`),wV=V(`<div><!></div>`),TV=V(`<div class="fixed inset-0 z-[1001] pointer-events-none" aria-hidden="true"></div>`),EV=V(`<section aria-label="Autotel devtools"><!> <header><!> <div class="flex items-center gap-2 flex-shrink-0 pr-1 mr-0.5"><!> <span class="text-xs font-semibold tracking-tight text-fg hidden sm:inline">autotel</span></div> <nav class="flex items-center gap-0.5 overflow-x-auto min-w-0 flex-1 at-no-scrollbar" aria-label="Devtools sections"></nav> <div class="flex items-center gap-1 flex-shrink-0 pl-1"><!> <button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors" title="Keyboard shortcuts (?)" aria-label="Keyboard shortcuts"><!></button> <!> <!> <!></div></header> <div class="flex-1 min-h-0 overflow-hidden"><!></div> <!></section> <!>`,1);function DV(e,t){it(t,!0);let n=N(void 0),r=M(()=>Fc.value),i=M(()=>Bc.value),a=M(()=>Rc.value??`bottom`),o=M(()=>il.value),s=M(()=>zc.value),c=og(),l=M(()=>z(a)===`bottom`||z(a)===`top`),u=M(()=>z(l)?z(o).vertical:z(o).horizontal),d=M(()=>al(z(l)?`vertical`:`horizontal`)),f=M(()=>su.value),p=M(()=>nu.value),m=M(()=>ru.value),h=M(()=>({genai:z(p)>0?z(p):void 0,flow:z(m)>0?z(m):void 0,errors:z(f)>0?z(f):void 0})),g=M(()=>QB.map(e=>({...e,badge:z(h)[e.id]}))),_=nV({isVertical:()=>z(l),dock:()=>z(a),axisSize:()=>z(u),setSize:ol,resetSize:sl}),v=iV({dock:()=>z(a),pipActive:()=>z(s),onDock:Lu});async function y(){if(z(s)){ug(()=>zc.value=!1);return}let e=z(n)?.getRootNode(),t=e instanceof ShadowRoot?e.host:null;t&&await lg(t,()=>zc.value=!1,{width:760,height:600})&&(zc.value=!0)}let b=globalThis.window!==void 0&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;function x(e,{dock:t}){if(b||z(s))return{duration:0};let n=t===`left`||t===`right`?`X`:`Y`,r=t===`bottom`||t===`right`?1:-1;return{duration:240,easing:ig,css:(e,t)=>`transform: translate${n}(${t*r*100}%)`}}let S=[`traces`,`genai`,`flow`,`service-map`,`metrics`,`logs`,`errors`],C=M(()=>$c.value);function w(){return Vc.value?gg:Bc.value===`traces`?hg:mg}zr(()=>{let e=z(n)?.getRootNode(),t=e instanceof ShadowRoot||e instanceof Document?e:window,r=e=>{let t=e;if(t.key===`Escape`){if($c.value){tl();return}if(_g())return;if(zc.value){ug(()=>zc.value=!1);return}ju();return}if(t.key===`?`&&!_g()){t.preventDefault(),nl(w());return}if(!$c.value&&!_g()&&t.key>=`1`&&t.key<=`7`){let e=Number.parseInt(t.key,10)-1;e<S.length&&Mu(S[e])}};return t.addEventListener(`keydown`,r),()=>t.removeEventListener(`keydown`,r)});let T=M(()=>z(s)?`inset-0`:{bottom:`left-0 right-0 bottom-0`,top:`left-0 right-0 top-0`,right:`top-0 bottom-0 right-0`,left:`top-0 bottom-0 left-0`}[z(a)]),ee=M(()=>z(s)?``:{bottom:`border-t`,top:`border-b`,right:`border-l`,left:`border-r`}[z(a)]),te=M(()=>({bottom:`-top-1 left-0 right-0 h-2 cursor-ns-resize`,top:`-bottom-1 left-0 right-0 h-2 cursor-ns-resize`,right:`-left-1 top-0 bottom-0 w-2 cursor-ew-resize`,left:`-right-1 top-0 bottom-0 w-2 cursor-ew-resize`})[z(a)]),ne=M(()=>({bottom:`inset-x-0 top-1 h-px`,top:`inset-x-0 bottom-1 h-px`,right:`inset-y-0 left-1 w-px`,left:`inset-y-0 right-1 w-px`})[z(a)]),re=M(()=>z(s)?``:z(l)?`height: ${z(u)}px;`:`width: ${z(u)}px;`),ie=M(()=>z(s)?``:{bottom:`box-shadow: 0 -12px 32px -14px var(--at-shadow), 0 -2px 6px -4px var(--at-shadow);`,top:`box-shadow: 0 12px 32px -14px var(--at-shadow), 0 2px 6px -4px var(--at-shadow);`,right:`box-shadow: -12px 0 32px -14px var(--at-shadow), -2px 0 6px -4px var(--at-shadow);`,left:`box-shadow: 12px 0 32px -14px var(--at-shadow), 2px 0 6px -4px var(--at-shadow);`}[z(a)]),ae=M(()=>z(a)===`right`?Zm:z(a)===`left`?Ym:qm),oe=[{edge:`bottom`,pos:`left-0 right-0 bottom-0 h-24`,label:`Dock bottom`},{edge:`top`,pos:`left-0 right-0 top-0 h-24`,label:`Dock top`},{edge:`left`,pos:`top-0 bottom-0 left-0 w-44`,label:`Dock left`},{edge:`right`,pos:`top-0 bottom-0 right-0 w-44`,label:`Dock right`}];var se=da(),ce=I(se),le=e=>{var t=EV(),r=I(t),o=F(r),f=e=>{var t=gV(),n=F(t),r=L(n,2);D(t),R((e,i,a,o)=>{J(t,`aria-orientation`,z(l)?`horizontal`:`vertical`),J(t,`aria-valuenow`,e),J(t,`aria-valuemin`,z(d).min),J(t,`aria-valuemax`,z(d).max),q(t,1,i),q(n,1,a),q(r,1,o)},[()=>Math.round(z(u)),()=>K(Q(`absolute z-20 group touch-none select-none outline-none`,z(te))),()=>K(Q(`absolute bg-line-subtle transition-colors duration-150`,`group-hover:bg-accent group-focus-visible:bg-accent`,_.resizing&&`!bg-accent`,z(ne))),()=>K(Q(`absolute rounded-full bg-line transition-colors duration-150`,`group-hover:bg-accent group-focus-visible:bg-accent`,_.resizing&&`!bg-accent`,z(l)?`left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2 w-9 h-1`:`top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2 h-9 w-1`))]),B(`pointerdown`,t,function(...e){_.onPointerDown?.apply(this,e)}),B(`keydown`,t,function(...e){_.onKeyDown?.apply(this,e)}),B(`dblclick`,t,function(...e){_.onDblClick?.apply(this,e)}),H(e,t)};W(o,e=>{z(s)||e(f)});var p=L(o,2),m=F(p),h=e=>{var t=_V();_m(F(t),{size:14}),D(t),H(e,t)};W(m,e=>{z(s)||e(h)});var b=L(m,2);id(F(b),{width:18,height:18}),Ke(2),D(b);var S=L(b,2);G(S,21,()=>z(g),e=>e.id,(e,t)=>{let n=M(()=>z(t).icon),r=M(()=>z(i)===z(t).id);var a=yV(),o=F(a);{let e=M(()=>z(t).id===`errors`&&z(t).badge?`text-danger`:void 0);Ba(o,()=>z(n),(t,n)=>{n(t,{size:14,get class(){return z(e)}})})}var s=L(o,2),c=F(s,!0);D(s);var l=L(s,2),u=e=>{var n=vV(),r=F(n,!0);D(n),R(e=>{q(n,1,e),U(r,z(t).badge>99?`99+`:z(t).badge)},[()=>K(Q(`px-1.5 py-px text-[10px] font-semibold rounded-full`,z(t).id===`errors`?`bg-danger-bg text-danger`:`bg-accent/15 text-fg-muted`))]),H(e,n)};W(l,e=>{z(t).badge&&e(u)}),D(a),R(e=>{J(a,`aria-current`,z(r)?`page`:void 0),q(a,1,e),U(c,z(t).label)},[()=>K(Q(`flex items-center gap-1.5 px-2.5 h-8 rounded-md flex-shrink-0`,`text-xs transition-colors cursor-pointer`,z(r)?`bg-accent/12 text-fg font-semibold ring-1 ring-inset ring-accent/20`:`text-fg-subtle font-medium hover:text-fg hover:bg-subtle`))]),B(`click`,a,()=>Mu(z(t).id)),H(e,a)}),D(S);var se=L(S,2);{let e=e=>{let t=M(()=>z(ae));var n=da();Ba(I(n),()=>z(t),(e,t)=>{t(e,{size:15})}),H(e,n)};var ce=F(se);dV(ce,{compact:!0});var le=L(ce,2);kp(F(le),{size:15}),D(le);var E=L(le,2),ue=t=>{var n=bV(),r=F(n);e(r),D(n),B(`click`,n,function(...e){Ru?.apply(this,e)}),H(t,n)};W(E,e=>{z(s)||e(ue)});var de=L(E,2),fe=e=>{var t=xV(),n=F(t),r=e=>{Lm(e,{size:15})},i=e=>{th(e,{size:15})};W(n,e=>{z(s)?e(r):e(i,-1)}),D(t),R(()=>{J(t,`title`,z(s)?`Return to docked panel`:`Pop out to a separate window`),J(t,`aria-label`,z(s)?`Return to docked panel`:`Pop out to window`)}),B(`click`,t,y),H(e,t)};W(de,e=>{c&&e(fe)});var pe=L(de,2),me=e=>{var t=SV();tg(F(t),{size:16}),D(t),B(`click`,t,function(...e){ju?.apply(this,e)}),H(e,t)};W(pe,e=>{z(s)||e(me)}),D(se),B(`click`,le,()=>nl(w()))}D(p);var he=L(p,2);aV(F(he),{}),D(he);var ge=L(he,2),_e=e=>{hV(e,{get shortcuts(){return z(C)},get onClose(){return tl}})};W(ge,e=>{z(C)&&e(_e)}),D(r),Uo(r,e=>P(n,e),()=>z(n));var ve=L(r,2),ye=e=>{var t=TV();G(t,21,()=>oe,e=>e.edge,(e,t)=>{let n=M(()=>v.dropTarget===z(t).edge);var r=wV(),i=F(r),a=e=>{var n=CV(),r=F(n,!0);D(n),R(()=>U(r,z(t).label)),H(e,n)};W(i,e=>{z(n)&&e(a)}),D(r),R(e=>q(r,1,e),[()=>K(Q(`absolute flex items-center justify-center transition-colors duration-100`,z(t).pos,z(n)?`bg-accent/15 ring-2 ring-inset ring-accent`:`bg-accent/5`))]),H(e,r)}),D(t),H(e,t)};W(ve,e=>{v.dragging&&e(ye)}),R((e,t)=>{q(r,1,e),co(r,`${z(re)} ${z(ie)}`),q(p,1,t)},[()=>K(Q(`fixed z-[1000] flex flex-col`,`bg-surface text-fg`,z(T),z(ee),`border-line`)),()=>K(Q(`flex items-center gap-1 pl-2 pr-2 h-11 flex-shrink-0`,`border-b border-line bg-surface`,z(s)?``:`cursor-grab active:cursor-grabbing`))]),B(`pointerdown`,p,function(...e){v.onHeaderPointerDown?.apply(this,e)}),Ya(3,r,()=>x,()=>({dock:z(a)})),H(e,t)};W(ce,e=>{z(r)&&e(le)}),H(e,se),at()}na([`pointerdown`,`keydown`,`dblclick`,`click`]);var OV=V(`<button><!> </button>`),kV=V(`<nav></nav>`);function AV(e,t){it(t,!0);let n=Z(t,`orientation`,3,`horizontal`),r=M(()=>Bc.value);var i=kV();G(i,21,()=>QB,({id:e,label:t,icon:n})=>e,(e,t)=>{let n=()=>z(t).id,i=()=>z(t).label,a=()=>z(t).icon;var o=OV(),s=F(o);Ba(s,a,(e,t)=>{t(e,{size:14})});var c=L(s);D(o),R(e=>{q(o,1,e),U(c,` ${i()??``}`)},[()=>K(Q(`flex items-center gap-2 px-3 py-2 text-xs font-medium rounded transition-colors whitespace-nowrap`,z(r)===n()?`bg-accent text-white`:`text-fg-subtle hover:bg-hover hover:text-fg`))]),B(`click`,o,()=>Mu(n())),H(e,o)}),D(i),R(e=>q(i,1,e),[()=>K(Q(`flex gap-1 p-1`,n()===`vertical`?`flex-col w-48 border-r border-line`:`border-b border-line overflow-x-auto`))]),H(e,i),at()}na([`click`]);var jV=V(`<!> <span class="font-medium">Snapshot mode</span> <span class="text-warning">— live updates paused.</span> <button class="ml-auto inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-warning-bg transition-colors" title="Exit snapshot and clear data"><!> Exit</button>`,1),MV=V(`<span class="text-fg-subtle"> </span> <button class="ml-auto inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-hover transition-colors disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent"><!> Download snapshot</button> <button class="inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-hover transition-colors" title="Load a snapshot file"><!> Load snapshot</button> <button class="inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-hover hover:text-danger transition-colors" title="Clear all captured data — traces, logs, metrics and errors"><!> Clear</button>`,1),NV=V(`<span class="text-danger truncate"> </span>`),PV=V(`<span class="text-warning truncate"> </span>`),FV=V(`<div><!> <input type="file" accept="application/json,.json" class="hidden"/> <!> <!></div>`);function IV(e,t){it(t,!0);let n=N(void 0),r=N(null),i=N(null),a=M(()=>kl.value),o=M(()=>[{n:cl.value.length,one:`trace`,many:`traces`},{n:dl.value.length,one:`log`,many:`logs`},{n:ul.value.length,one:`error`,many:`errors`}].filter(e=>e.n>0).map(e=>`${e.n} ${e.n===1?e.one:e.many}`)),s=M(()=>z(o).length===0),c=()=>{P(r,null),P(i,null),Ky({traces:cl.value,logs:dl.value,errors:ul.value})},l=()=>{z(n)?.click()},u=()=>{P(r,null),P(i,null),Bu()},d=async e=>{P(r,null),P(i,null);let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n)return;let a=await Yy(n);if(!a.success||!a.snapshot){P(r,a.errors.join(`; `)||`Failed to load snapshot`,!0);return}a.warnings.length>0&&P(i,a.warnings.join(`; `),!0),ku(a.snapshot)};var f=FV(),p=F(f),m=e=>{var t=jV(),n=I(t);pp(n,{size:12});var r=L(n,6);tg(F(r),{size:12}),Ke(),D(r),B(`click`,r,function(...e){Au?.apply(this,e)}),H(e,t)},h=e=>{var t=MV(),n=I(t),r=F(n,!0);D(n);var i=L(n,2);pp(F(i),{size:12}),Ke(),D(i);var a=L(i,2);Gh(F(a),{size:12}),Ke(),D(a);var d=L(a,2);zh(F(d),{size:12}),Ke(),D(d),R(e=>{U(r,e),i.disabled=z(s),J(i,`title`,z(s)?`Nothing captured yet`:`Download a snapshot of traces, logs, errors and metrics`)},[()=>z(s)?`No data captured`:z(o).join(` · `)]),B(`click`,i,c),B(`click`,a,l),B(`click`,d,u),H(e,t)};W(p,e=>{z(a)?e(m):e(h,-1)});var g=L(p,2);Uo(g,e=>P(n,e),()=>z(n));var _=L(g,2),v=e=>{var t=NV(),n=F(t,!0);D(t),R(()=>{J(t,`title`,z(r)),U(n,z(r))}),H(e,t)};W(_,e=>{z(r)&&e(v)});var y=L(_,2),b=e=>{var t=PV(),n=F(t,!0);D(t),R(()=>{J(t,`title`,z(i)),U(n,z(i))}),H(e,t)};W(y,e=>{z(i)&&!z(r)&&e(b)}),D(f),R(e=>q(f,1,e),[()=>K(Q(`border-b border-line px-3 py-1.5 text-xs flex items-center gap-2`,z(a)?`bg-warning-bg text-warning`:`bg-subtle text-fg-muted`))]),B(`change`,g,d),H(e,f),at()}na([`click`,`change`]);var LV=V(`<div class="flex h-screen w-screen bg-surface text-fg"><div class="hidden md:flex flex-col border-r border-line"><!> <div class="mt-auto p-2 border-t border-line flex flex-col gap-1"><!> <button class="flex items-center gap-2 px-3 py-2 text-xs text-fg-subtle hover:bg-hover hover:text-fg rounded transition-colors"><!> </button> <button class="flex items-center gap-2 px-3 py-2 text-xs text-fg-subtle hover:bg-hover hover:text-fg rounded transition-colors" title="Keyboard shortcuts (?)"><!> Shortcuts</button></div></div> <div class="flex-1 flex flex-col min-w-0"><!> <div class="md:hidden"><!></div> <div class="flex-1 overflow-hidden"><!></div></div> <!></div>`);function RV(e,t){it(t,!0);function n(){return Vc.value?gg:Bc.value===`traces`?hg:mg}let r=M(()=>Gc.value),i=M(()=>$c.value);zr(()=>{Gc.value=Kc()});let a=N(void 0);zr(()=>{let e=null,t=z(a)?.getRootNode();t instanceof ShadowRoot?e=t.host:globalThis.document!==void 0&&(e=document.documentElement),e&&e.setAttribute(`data-theme`,z(r))}),zr(()=>{let e=e=>{if(e.key===`?`&&!_g()){e.preventDefault(),nl(n());return}if(!$c.value&&!_g()&&e.key>=`1`&&e.key<=`9`){let t=parseInt(e.key,10)-1;t<$B.length&&Mu($B[t])}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)});let o=M(()=>z(r)===`dark`?`Dark`:z(r)===`light`?`Light`:`System`);var s=LV(),c=F(s),l=F(c);AV(l,{orientation:`vertical`});var u=L(l,2),d=F(u);dV(d,{});var f=L(d,2),p=F(f),m=e=>{Um(e,{size:14})},h=e=>{Nh(e,{size:14})},g=e=>{Vm(e,{size:14})};W(p,e=>{z(r)===`dark`?e(m):z(r)===`light`?e(h,1):e(g,-1)});var _=L(p);D(f);var v=L(f,2);kp(F(v),{size:14}),Ke(),D(v),D(u),D(c);var y=L(c,2),b=F(y);IV(b,{});var x=L(b,2);AV(F(x),{orientation:`horizontal`}),D(x);var S=L(x,2);aV(F(S),{}),D(S),D(y);var C=L(y,2),w=e=>{hV(e,{get shortcuts(){return z(i)},get onClose(){return tl}})};W(C,e=>{z(i)&&e(w)}),D(s),Uo(s,e=>P(a,e),()=>z(a)),R(()=>{J(f,`title`,`Theme: ${z(o)} (click to cycle)`),U(_,` ${z(o)??``}`)}),B(`click`,f,function(...e){Jc?.apply(this,e)}),B(`click`,v,()=>el(n())),H(e,s),at()}na([`click`]);var zV=250,BV=5e3;function VV(e={}){let t=e.now??(()=>Date.now()),n=e.debounceMs??zV,r=e.limit??BV,i=0,a=null,o=null,s=!1;function c(){let t=pl.value,n=e.baseUrl??(t?$o(t):null)??globalThis.location?.origin??``;return{fetch:e.fetch??globalThis.fetch.bind(globalThis),baseUrl:n}}async function l(){if(s)return;let e=++i;a?.abort();let n=new AbortController;a=n;let o={query:``,window:Ms(Es(ml.value,t())),limit:r},l={...c(),signal:n.signal},[u,d]=await Promise.all([HV(o,l),wA(o,l)]);e!==i||s||(u.status===`ok`?(hl.value=u.traces,_l.value=`ready`):u.status===`error`&&(_l.value=`unavailable`),d.status===`ok`&&(gl.value=d.errors))}function u(){if(!s){if(o&&clearTimeout(o),n<=0){l();return}o=setTimeout(()=>{o=null,l()},n)}}return{refresh:l,invalidate:u,dispose(){s=!0,o&&clearTimeout(o),a?.abort()}}}async function HV(e,t){let n=[],r=new Set,i;do{let a=await xA({...e,cursor:i},t);if(a.status!==`ok`)return a;if(n.push(...a.traces),i=a.nextCursor??void 0,i&&r.has(i))return{status:`error`,message:`The trace query returned a repeated pagination cursor.`};i&&r.add(i)}while(i);return{status:`ok`,traces:n,nextCursor:null}}var UV=`data-autotel-portal`;function WV(e){let t=e.querySelector(`[${UV}]`);if(t)return t;let n=document.createElement(`div`);return n.setAttribute(UV,``),n.style.position=`absolute`,n.style.top=`0`,n.style.left=`0`,n.style.zIndex=`2147483000`,e.appendChild(n),n}var GV=V(`<!> <!>`,1),KV=V(`<div class="contents"><!></div>`);function qV(e,t){it(t,!0);function n(e){Mu(e.tab??`traces`),Nl.value=e.q??``,Pl.value=e.status??`all`,Fl.value=e.minDuration??0,ml.value=e.window??Cs,Ml.value=e.sort??Zu,zl.value=e.genaiQuery??``,e.traceId&&Wc(e.traceId,e.spanId)}zr(()=>{pl.value=t.wsUrl});let r=VV();zr(()=>(r.refresh(),()=>r.dispose())),zr(()=>{ml.value,cl.value.length,r.invalidate()});let i=N(void 0),a=N(void 0);zr(()=>{if(!z(i))return;let e=z(i).getRootNode();P(a,WV(e instanceof ShadowRoot?e:document.body),!0)}),zr(()=>{t.deepLink&&n(t.deepLink)}),zr(()=>{let e=Uc.value;e&&cl.value.some(t=>t.traceId===e.traceId)&&(Nu(e.traceId,e.spanId??null),Mu(`traces`),Uc.value=null)});let o=null;zr(()=>{if(t.mode!==`fullpage`)return;let e={tab:Bc.value,traceId:Vc.value??void 0,spanId:Hc.value??void 0,q:Nl.value||void 0,status:Pl.value,minDuration:Fl.value,window:ml.value,sort:Ml.value,genaiQuery:zl.value||void 0};if(Uc.value)return;let n=ed(e);if(n===location.hash)return;let r=td(o,e);o=e;let i=`${location.pathname}${location.search}${n}`;r===`push`?history.pushState(history.state,``,i):history.replaceState(history.state,``,i)}),zr(()=>{if(t.mode!==`fullpage`)return;let e=()=>{let e=$u(location.hash);o=e,n(e)};return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)}),zr(()=>{Wu(),ns($o(t.wsUrl));let e=new Qo(t.wsUrl);fl.value=`connecting`;let n=e.onStatusChange(e=>{fl.value=e}),r=e.onMessage(Tu);return e.connect(),()=>{r(),n(),e.disconnect()}});var s=KV();uE(F(s),{get defaultPortalTo(){return z(a)},children:(e,n)=>{var r=da(),i=I(r),a=e=>{RV(e,{})},o=e=>{var t=GV(),n=I(t);Vf(n,{}),DV(L(n,2),{}),H(e,t)};W(i,e=>{t.mode===`fullpage`?e(a):e(o,-1)}),H(e,r)},$$slots:{default:!0}}),D(s),Uo(s,e=>P(i,e),()=>z(i)),H(e,s),at()}function JV(e,t){let n=ha(qV,{target:e,props:t});return()=>{ya(n)}}var YV=`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
39
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-outline-style:solid}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--color-red-100:#ffe2e2;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-orange-100:#ffedd5;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-orange-600:#f05100;--color-orange-700:#c53c00;--color-amber-100:#fef3c6;--color-amber-500:#f99c00;--color-amber-600:#dd7400;--color-amber-700:#b75000;--color-yellow-100:#fef9c2;--color-yellow-500:#edb200;--color-yellow-600:#cd8900;--color-green-100:#dcfce7;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-teal-500:#00baa7;--color-teal-600:#009588;--color-cyan-100:#cefafe;--color-cyan-500:#00b7d7;--color-cyan-600:#0092b5;--color-sky-500:#00a5ef;--color-sky-600:#0084cc;--color-blue-100:#dbeafe;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-violet-100:#ede9fe;--color-violet-500:#8d54ff;--color-violet-600:#7f22fe;--color-violet-700:#7008e7;--color-purple-100:#f3e8ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-purple-600:#9810fa;--color-fuchsia-500:#e12afb;--color-fuchsia-600:#c600db;--color-rose-500:#ff2357;--color-rose-600:#e70044;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-900:#101828;--color-stone-500:#79716b;--color-stone-600:#57534d;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface:var(--at-surface);--color-subtle:var(--at-muted);--color-hover:var(--at-surface-hover);--color-code:var(--at-code);--color-fg:var(--at-text-primary);--color-fg-muted:var(--at-text-secondary);--color-fg-subtle:var(--at-text-muted);--color-line:var(--at-border);--color-line-subtle:var(--at-border-light);--color-accent:var(--at-accent);--color-danger:var(--at-error-text);--color-danger-bg:var(--at-error-bg);--color-danger-border:var(--at-error-border);--color-success:var(--at-ok-text);--color-success-bg:var(--at-ok-bg);--color-success-border:var(--at-ok-border);--color-warning:var(--at-warn-text);--color-warning-bg:var(--at-warn-bg);--color-warning-border:var(--at-warn-border);--color-selected:var(--at-selected-bg)}@supports (color:color(display-p3 0 0 0)){:root,:host{--color-red-100:color(display-p3 .980386 .889727 .887779);--color-red-400:color(display-p3 .933534 .431676 .423491);--color-red-500:color(display-p3 .903738 .262579 .253307);--color-red-600:color(display-p3 .830323 .140383 .133196);--color-red-700:color(display-p3 .692737 .116232 .104679);--color-orange-100:color(display-p3 .988762 .931393 .843273);--color-orange-400:color(display-p3 .950192 .561807 .211017);--color-orange-500:color(display-p3 .946589 .449788 .0757345);--color-orange-600:color(display-p3 .887467 .341665 .0219962);--color-orange-700:color(display-p3 .729844 .257256 .0511062);--color-amber-100:color(display-p3 .989391 .954583 .796328);--color-amber-500:color(display-p3 .93994 .620584 .0585367);--color-amber-600:color(display-p3 .827144 .467166 .0336006);--color-amber-700:color(display-p3 .67989 .32771 .0520514);--color-yellow-100:color(display-p3 .993436 .977463 .782913);--color-yellow-500:color(display-p3 .903651 .703062 .0745389);--color-yellow-600:color(display-p3 .776342 .542492 .041709);--color-green-100:color(display-p3 .885269 .984329 .910368);--color-green-400:color(display-p3 .399536 .862346 .49324);--color-green-500:color(display-p3 .308734 .774754 .374307);--color-green-600:color(display-p3 .243882 .640824 .294808);--color-emerald-500:color(display-p3 .267113 .726847 .508397);--color-emerald-600:color(display-p3 .206557 .589057 .413962);--color-teal-500:color(display-p3 .266569 .721518 .655462);--color-teal-600:color(display-p3 .207114 .579584 .53668);--color-cyan-100:color(display-p3 .843085 .97553 .992573);--color-cyan-500:color(display-p3 .246703 .710032 .841444);--color-cyan-600:color(display-p3 .193249 .564651 .707197);--color-sky-500:color(display-p3 .219113 .639027 .931479);--color-sky-600:color(display-p3 .162505 .509376 .796082);--color-blue-100:color(display-p3 .869214 .915931 .989622);--color-blue-400:color(display-p3 .397443 .62813 .992116);--color-blue-500:color(display-p3 .266422 .491219 .988624);--color-blue-600:color(display-p3 .174493 .358974 .950247);--color-indigo-500:color(display-p3 .380374 .372235 .971707);--color-indigo-600:color(display-p3 .297656 .227891 .929242);--color-violet-100:color(display-p3 .926222 .913546 .990178);--color-violet-500:color(display-p3 .523372 .329605 .990884);--color-violet-600:color(display-p3 .459951 .162666 .957985);--color-violet-700:color(display-p3 .40161 .0841901 .871151);--color-purple-100:color(display-p3 .945034 .910569 .992972);--color-purple-400:color(display-p3 .719919 .492497 .995173);--color-purple-500:color(display-p3 .629519 .30089 .990817);--color-purple-600:color(display-p3 .546729 .130167 .94439);--color-fuchsia-500:color(display-p3 .81268 .241966 .951571);--color-fuchsia-600:color(display-p3 .716587 .083681 .841036);--color-rose-500:color(display-p3 .921824 .240748 .355666);--color-rose-600:color(display-p3 .848792 .102011 .269259);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-100:color(display-p3 .953567 .956796 .964321);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-gray-900:color(display-p3 .070423 .0928982 .151928);--color-stone-500:color(display-p3 .467445 .443064 .42264);--color-stone-600:color(display-p3 .339543 .325291 .304619)}}@supports (color:lab(0% 0 0)){:root,:host{--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-orange-100:lab(94.7127% 3.58394 14.3151);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-orange-700:lab(46.4615% 57.7275 70.8507);--color-amber-100:lab(95.916% -1.21653 23.111);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-yellow-600:lab(62.7799% 22.4197 86.1544);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-teal-600:lab(55.0223% -41.0774 -3.90277);--color-cyan-100:lab(95.3146% -13.8285 -6.84732);--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-cyan-600:lab(55.1767% -26.7496 -30.5139);--color-sky-500:lab(63.3038% -18.433 -51.0407);--color-sky-600:lab(51.7754% -11.4712 -49.8349);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-violet-100:lab(93.0838% 4.35197 -9.88284);--color-violet-500:lab(49.9355% 55.1776 -81.8963);--color-violet-600:lab(41.088% 68.9966 -91.995);--color-violet-700:lab(35.2783% 67.9912 -88.793);--color-purple-100:lab(93.3333% 6.97437 -9.83434);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-fuchsia-500:lab(56.4256% 83.132 -64.639);--color-fuchsia-600:lab(47.5131% 83.4271 -63.0363);--color-rose-500:lab(56.101% 79.4328 31.4532);--color-rose-600:lab(49.1882% 81.577 36.0311);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-900:lab(8.11897% .811279 -12.254);--color-stone-500:lab(48.1164% 2.35701 4.26852);--color-stone-600:lab(35.5168% 1.08604 4.07829)}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.top-\\[7px\\]{top:7px}.top-\\[9px\\]{top:9px}.top-\\[calc\\(100\\%-2px\\)\\]{top:calc(100% - 2px)}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-1{right:var(--spacing)}.right-1\\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.bottom-0{bottom:0}.bottom-0\\.5{bottom:calc(var(--spacing) * .5)}.bottom-1{bottom:var(--spacing)}.bottom-3{bottom:calc(var(--spacing) * 3)}.-left-1{left:calc(var(--spacing) * -1)}.-left-1\\.5{left:calc(var(--spacing) * -1.5)}.-left-px{left:-1px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.z-\\[1000\\]{z-index:1000}.z-\\[1001\\]{z-index:1001}.z-\\[1100\\]{z-index:1100}.z-\\[1200\\]{z-index:1200}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-4{margin:calc(var(--spacing) * 4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline-start:auto;margin-inline-end:auto}.my-1{margin-block:var(--spacing)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-1\\/2{height:50%}.h-2{height:calc(var(--spacing) * 2)}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-24{height:calc(var(--spacing) * 24)}.h-\\[300px\\]{height:300px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\\[60vh\\]{max-height:60vh}.max-h-\\[80vh\\]{max-height:80vh}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[240px\\]{max-height:240px}.min-h-0{min-height:0}.min-h-\\[120px\\]{min-height:120px}.w-0\\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\\[1\\%\\]{width:1%}.w-\\[80px\\]{width:80px}.w-\\[200px\\]{width:200px}.w-\\[480px\\]{width:480px}.w-\\[min\\(560px\\,92vw\\)\\]{width:min(560px,92vw)}.w-\\[min\\(700px\\,92vw\\)\\]{width:min(700px,92vw)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[10rem\\]{max-width:10rem}.max-w-\\[14rem\\]{max-width:14rem}.max-w-\\[16rem\\]{max-width:16rem}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[420px\\]{max-width:420px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\\[8px\\]{min-width:8px}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[180px\\]{min-width:180px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[80px_1fr\\]{grid-template-columns:80px 1fr}.grid-cols-\\[100px_1fr\\]{grid-template-columns:100px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-px{gap:1px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:0;margin-block-end:0}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--color-line)}:where(.divide-line-subtle>:not(:last-child)){border-color:var(--color-line-subtle)}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent,.border-accent\\/30{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.border-accent\\/30{border-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.border-accent\\/40{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-amber-500\\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-amber-500\\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-blue-500\\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-cyan-500\\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab, red, red)){.border-cyan-500\\/30{border-color:color-mix(in oklab, var(--color-cyan-500) 30%, transparent)}}.border-danger-border{border-color:var(--color-danger-border)}.border-danger\\/30{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.border-danger\\/30{border-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.border-emerald-500\\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-fuchsia-500\\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab, red, red)){.border-fuchsia-500\\/30{border-color:color-mix(in oklab, var(--color-fuchsia-500) 30%, transparent)}}.border-green-500\\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-indigo-500\\/30{border-color:#625fff4d}@supports (color:color-mix(in lab, red, red)){.border-indigo-500\\/30{border-color:color-mix(in oklab, var(--color-indigo-500) 30%, transparent)}}.border-line{border-color:var(--color-line)}.border-line-subtle{border-color:var(--color-line-subtle)}.border-line\\/50{border-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.border-line\\/50{border-color:color-mix(in oklab, var(--color-line) 50%, transparent)}}.border-line\\/60{border-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.border-line\\/60{border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.border-orange-500\\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.border-orange-500\\/30{border-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.border-purple-500\\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\\/30{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.border-red-500\\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-stone-500\\/30{border-color:#79716b4d}@supports (color:color-mix(in lab, red, red)){.border-stone-500\\/30{border-color:color-mix(in oklab, var(--color-stone-500) 30%, transparent)}}.border-success-border{border-color:var(--color-success-border)}.border-violet-500\\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-500\\/30{border-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.border-warning-border{border-color:var(--color-warning-border)}.border-white{border-color:var(--color-white)}.border-l-warning{border-left-color:var(--color-warning)}.\\!bg-accent{background-color:var(--color-accent)!important}.bg-accent,.bg-accent\\/5{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/5{background-color:color-mix(in oklab, var(--color-accent) 5%, transparent)}}.bg-accent\\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\\/12{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/12{background-color:color-mix(in oklab, var(--color-accent) 12%, transparent)}}.bg-accent\\/15{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-accent\\/70{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/70{background-color:color-mix(in oklab, var(--color-accent) 70%, transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-black\\/55{background-color:#0000008c}@supports (color:color-mix(in lab, red, red)){.bg-black\\/55{background-color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.bg-black\\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-code{background-color:var(--color-code)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-500\\/15{background-color:#00b7d726}@supports (color:color-mix(in lab, red, red)){.bg-cyan-500\\/15{background-color:color-mix(in oklab, var(--color-cyan-500) 15%, transparent)}}.bg-danger{background-color:var(--color-danger)}.bg-danger-bg,.bg-danger-bg\\/40{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.bg-danger-bg\\/40{background-color:color-mix(in oklab, var(--color-danger-bg) 40%, transparent)}}.bg-danger\\/5{background-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.bg-danger\\/5{background-color:color-mix(in oklab, var(--color-danger) 5%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-fg-subtle{background-color:var(--color-fg-subtle)}.bg-fuchsia-500\\/15{background-color:#e12afb26}@supports (color:color-mix(in lab, red, red)){.bg-fuchsia-500\\/15{background-color:color-mix(in oklab, var(--color-fuchsia-500) 15%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/15{background-color:#00c75826}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/15{background-color:color-mix(in oklab, var(--color-green-500) 15%, transparent)}}.bg-hover{background-color:var(--color-hover)}.bg-indigo-500\\/15{background-color:#625fff26}@supports (color:color-mix(in lab, red, red)){.bg-indigo-500\\/15{background-color:color-mix(in oklab, var(--color-indigo-500) 15%, transparent)}}.bg-line{background-color:var(--color-line)}.bg-line-subtle{background-color:var(--color-line-subtle)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\\/15{background-color:color-mix(in oklab, var(--color-orange-500) 15%, transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\\/15{background-color:color-mix(in oklab, var(--color-purple-500) 15%, transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-rose-500{background-color:var(--color-rose-500)}.bg-selected{background-color:var(--color-selected)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-stone-500\\/15{background-color:#79716b26}@supports (color:color-mix(in lab, red, red)){.bg-stone-500\\/15{background-color:color-mix(in oklab, var(--color-stone-500) 15%, transparent)}}.bg-subtle,.bg-subtle\\/40{background-color:var(--color-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-subtle\\/40{background-color:color-mix(in oklab, var(--color-subtle) 40%, transparent)}}.bg-subtle\\/50{background-color:var(--color-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-subtle\\/50{background-color:color-mix(in oklab, var(--color-subtle) 50%, transparent)}}.bg-subtle\\/60{background-color:var(--color-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-subtle\\/60{background-color:color-mix(in oklab, var(--color-subtle) 60%, transparent)}}.bg-success{background-color:var(--color-success)}.bg-success-bg{background-color:var(--color-success-bg)}.bg-surface{background-color:var(--color-surface)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-transparent{background-color:#0000}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-violet-500\\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/15{background-color:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.bg-warning{background-color:var(--color-warning)}.bg-warning-bg{background-color:var(--color-warning-bg)}.bg-warning\\/5{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\\/5{background-color:color-mix(in oklab, var(--color-warning) 5%, transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.fill-\\[var\\(--color-fg-subtle\\)\\]{fill:var(--color-fg-subtle)}.fill-amber-500\\/15{fill:#f99c0026}@supports (color:color-mix(in lab, red, red)){.fill-amber-500\\/15{fill:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.fill-amber-600{fill:var(--color-amber-600)}.fill-blue-500\\/15{fill:#3080ff26}@supports (color:color-mix(in lab, red, red)){.fill-blue-500\\/15{fill:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.fill-blue-600{fill:var(--color-blue-600)}.fill-danger{fill:var(--color-danger)}.fill-emerald-500\\/15{fill:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.fill-emerald-500\\/15{fill:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.fill-emerald-600{fill:var(--color-emerald-600)}.fill-fg-muted{fill:var(--color-fg-muted)}.fill-fg-subtle{fill:var(--color-fg-subtle)}.fill-red-500{fill:var(--color-red-500)}.fill-rose-500\\/15{fill:#ff235726}@supports (color:color-mix(in lab, red, red)){.fill-rose-500\\/15{fill:color-mix(in oklab, var(--color-rose-500) 15%, transparent)}}.fill-rose-600{fill:var(--color-rose-600)}.fill-sky-500\\/15{fill:#00a5ef26}@supports (color:color-mix(in lab, red, red)){.fill-sky-500\\/15{fill:color-mix(in oklab, var(--color-sky-500) 15%, transparent)}}.fill-sky-600{fill:var(--color-sky-600)}.fill-teal-500\\/15{fill:#00baa726}@supports (color:color-mix(in lab, red, red)){.fill-teal-500\\/15{fill:color-mix(in oklab, var(--color-teal-500) 15%, transparent)}}.fill-teal-600{fill:var(--color-teal-600)}.fill-violet-500\\/15{fill:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.fill-violet-500\\/15{fill:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.fill-violet-600{fill:var(--color-violet-600)}.fill-warning{fill:var(--color-warning)}.fill-white{fill:var(--color-white)}.stroke-accent{stroke:var(--color-accent)}.stroke-amber-500\\/60{stroke:#f99c0099}@supports (color:color-mix(in lab, red, red)){.stroke-amber-500\\/60{stroke:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.stroke-blue-500\\/60{stroke:#3080ff99}@supports (color:color-mix(in lab, red, red)){.stroke-blue-500\\/60{stroke:color-mix(in oklab, var(--color-blue-500) 60%, transparent)}}.stroke-emerald-500\\/60{stroke:#00bb7f99}@supports (color:color-mix(in lab, red, red)){.stroke-emerald-500\\/60{stroke:color-mix(in oklab, var(--color-emerald-500) 60%, transparent)}}.stroke-fg-subtle{stroke:var(--color-fg-subtle)}.stroke-red-500{stroke:var(--color-red-500)}.stroke-rose-500\\/60{stroke:#ff235799}@supports (color:color-mix(in lab, red, red)){.stroke-rose-500\\/60{stroke:color-mix(in oklab, var(--color-rose-500) 60%, transparent)}}.stroke-sky-500\\/60{stroke:#00a5ef99}@supports (color:color-mix(in lab, red, red)){.stroke-sky-500\\/60{stroke:color-mix(in oklab, var(--color-sky-500) 60%, transparent)}}.stroke-teal-500\\/60{stroke:#00baa799}@supports (color:color-mix(in lab, red, red)){.stroke-teal-500\\/60{stroke:color-mix(in oklab, var(--color-teal-500) 60%, transparent)}}.stroke-violet-500\\/60{stroke:#8d54ff99}@supports (color:color-mix(in lab, red, red)){.stroke-violet-500\\/60{stroke:color-mix(in oklab, var(--color-violet-500) 60%, transparent)}}.stroke-\\[2\\.5px\\]{stroke-width:2.5px}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-px{padding-block-start:1px;padding-block-end:1px}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent,.text-accent\\/80{color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.text-accent\\/80{color:color-mix(in oklab, var(--color-accent) 80%, transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-cyan-500{color:var(--color-cyan-500)}.text-cyan-600{color:var(--color-cyan-600)}.text-danger{color:var(--color-danger)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-fg{color:var(--color-fg)}.text-fg-muted,.text-fg-muted\\/70{color:var(--color-fg-muted)}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\\/70{color:color-mix(in oklab, var(--color-fg-muted) 70%, transparent)}}.text-fg-muted\\/80{color:var(--color-fg-muted)}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\\/80{color:color-mix(in oklab, var(--color-fg-muted) 80%, transparent)}}.text-fg-subtle,.text-fg-subtle\\/60{color:var(--color-fg-subtle)}@supports (color:color-mix(in lab, red, red)){.text-fg-subtle\\/60{color:color-mix(in oklab, var(--color-fg-subtle) 60%, transparent)}}.text-fuchsia-500{color:var(--color-fuchsia-500)}.text-fuchsia-600{color:var(--color-fuchsia-600)}.text-gray-50{color:var(--color-gray-50)}.text-gray-100{color:var(--color-gray-100)}.text-gray-500{color:var(--color-gray-500)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-line{color:var(--color-line)}.text-line-subtle{color:var(--color-line-subtle)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-stone-600{color:var(--color-stone-600)}.text-success{color:var(--color-success)}.text-surface{color:var(--color-surface)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-600\\/70{color:#7f22feb3}@supports (color:color-mix(in lab, red, red)){.text-violet-600\\/70{color:color-mix(in oklab, var(--color-violet-600) 70%, transparent)}}.text-violet-700{color:var(--color-violet-700)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_1px_0_\\#d4d4d8\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#d4d4d8);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-accent,.ring-accent\\/20{--tw-ring-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ring-accent\\/20{--tw-ring-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.ring-danger{--tw-ring-color:var(--color-danger)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.row-virtual{content-visibility:auto;contain-intrinsic-size:auto 32px}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:bg-accent:is(:where(.group):hover *){background-color:var(--color-accent)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\/stat\\:underline:is(:where(.group\\/stat):hover *){text-decoration-line:underline}}.group-focus-visible\\:bg-accent:is(:where(.group):focus-visible *){background-color:var(--color-accent)}.last\\:mr-0:last-child{margin-right:0}.last\\:mb-0:last-child{margin-bottom:0}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-danger-border:hover{border-color:var(--color-danger-border)}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/5:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/5:hover{background-color:color-mix(in oklab, var(--color-accent) 5%, transparent)}}.hover\\:bg-accent\\/10:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/10:hover{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.hover\\:bg-accent\\/15:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/15:hover{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.hover\\:bg-accent\\/20:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/20:hover{background-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.hover\\:bg-accent\\/90:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/90:hover{background-color:color-mix(in oklab, var(--color-accent) 90%, transparent)}}.hover\\:bg-blue-400:hover{background-color:var(--color-blue-400)}.hover\\:bg-danger-bg:hover,.hover\\:bg-danger-bg\\/60:hover{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger-bg\\/60:hover{background-color:color-mix(in oklab, var(--color-danger-bg) 60%, transparent)}}.hover\\:bg-danger-bg\\/70:hover{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger-bg\\/70:hover{background-color:color-mix(in oklab, var(--color-danger-bg) 70%, transparent)}}.hover\\:bg-danger-bg\\/80:hover{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger-bg\\/80:hover{background-color:color-mix(in oklab, var(--color-danger-bg) 80%, transparent)}}.hover\\:bg-emerald-500\\/25:hover{background-color:#00bb7f40}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-emerald-500\\/25:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 25%, transparent)}}.hover\\:bg-gray-400:hover{background-color:var(--color-gray-400)}.hover\\:bg-green-400:hover{background-color:var(--color-green-400)}.hover\\:bg-hover:hover,.hover\\:bg-hover\\/50:hover{background-color:var(--color-hover)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-hover\\/50:hover{background-color:color-mix(in oklab, var(--color-hover) 50%, transparent)}}.hover\\:bg-orange-400:hover{background-color:var(--color-orange-400)}.hover\\:bg-purple-400:hover{background-color:var(--color-purple-400)}.hover\\:bg-red-400:hover{background-color:var(--color-red-400)}.hover\\:bg-red-500\\/25:hover{background-color:#fb2c3640}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-red-500\\/25:hover{background-color:color-mix(in oklab, var(--color-red-500) 25%, transparent)}}.hover\\:bg-subtle:hover{background-color:var(--color-subtle)}.hover\\:bg-violet-500\\/25:hover{background-color:#8d54ff40}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-violet-500\\/25:hover{background-color:color-mix(in oklab, var(--color-violet-500) 25%, transparent)}}.hover\\:bg-warning-bg:hover,.hover\\:bg-warning-bg\\/80:hover{background-color:var(--color-warning-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-warning-bg\\/80:hover{background-color:color-mix(in oklab, var(--color-warning-bg) 80%, transparent)}}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-fg:hover{color:var(--color-fg)}.hover\\:text-fg-muted:hover{color:var(--color-fg-muted)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.focus\\:border-line:focus{border-color:var(--color-line)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.focus\\:ring-danger:focus{--tw-ring-color:var(--color-danger)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:bg-hover:focus-visible{background-color:var(--color-hover)}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-accent:focus-visible{outline-color:var(--color-accent)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}@media (min-width:40rem){.sm\\:inline{display:inline}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:48rem){.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width>=28rem){.\\@md\\:block{display:block}.\\@md\\:flex{display:flex}.\\@md\\:hidden{display:none}.\\@md\\:w-72{width:calc(var(--spacing) * 72)}.\\@md\\:shrink-0{flex-shrink:0}.\\@md\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}}}*{box-sizing:border-box}:host,:root{--at-surface:#fcfdfe;--at-surface-hover:#f5f6f9;--at-muted:#f2f5f8;--at-code:#f3f6fa;--at-text-primary:#1a1f29;--at-text-secondary:#515864;--at-text-muted:#868d97;--at-border:#dfe1e5;--at-border-light:#eef0f3;--at-shadow:#171f2e1a;--at-accent:#3177dc;--at-error-bg:#ffecea;--at-error-text:#cc2827;--at-error-border:#f8a49d;--at-ok-bg:#e0fae4;--at-ok-text:#0e8c41;--at-ok-border:#89da9b;--at-warn-bg:#fff0d1;--at-warn-text:#a16500;--at-warn-border:#e5c379;--at-highlight-bg:#fff6d1;--at-selected-bg:#e9f3ff;--at-scrollbar-thumb:#ced1d6;--at-scrollbar-thumb-hover:#999fa8}@supports (color:color(display-p3 0 0 0)){:host,:root{--at-surface:color(display-p3 .989609 .992382 .997175);--at-surface-hover:color(display-p3 .960878 .966392 .975929);--at-muted:color(display-p3 .951795 .958673 .970576);--at-code:color(display-p3 .955784 .964045 .978342);--at-text-primary:color(display-p3 .106201 .12247 .157281);--at-text-secondary:color(display-p3 .323937 .346032 .388256);--at-text-muted:color(display-p3 .528711 .550898 .589512);--at-border:color(display-p3 .875378 .883503 .897566);--at-border-light:color(display-p3 .934839 .941694 .953557);--at-shadow:color(display-p3 .0979137 .121845 .174352/.1);--at-accent:color(display-p3 .266557 .461859 .837181);--at-error-bg:color(display-p3 1.00853 .923821 .911661);--at-error-text:color(display-p3 .7372 .221951 .191652);--at-error-border:color(display-p3 .924106 .659231 .626897);--at-ok-bg:color(display-p3 .896905 .977035 .900254);--at-ok-text:color(display-p3 .247857 .539374 .286752);--at-ok-border:color(display-p3 .609805 .847347 .627399);--at-warn-bg:color(display-p3 .997819 .943515 .816698);--at-warn-text:color(display-p3 .607081 .403503 .0845266);--at-warn-border:color(display-p3 .876737 .768181 .515098);--at-highlight-bg:color(display-p3 .994932 .96424 .830533);--at-selected-bg:color(display-p3 .910207 .951093 1.02232);--at-scrollbar-thumb:color(display-p3 .80912 .819793 .838278);--at-scrollbar-thumb-hover:color(display-p3 .60332 .622263 .655172)}}@supports (color:lab(0% 0 0)){:host,:root{--at-surface:lab(99.2988% -.132054 -.745118);--at-surface-hover:lab(96.9735% -.261605 -1.48877);--at-muted:lab(96.2747% -.325292 -1.86008);--at-code:lab(96.736% -.388592 -2.23104);--at-text-primary:lab(11.741% -.349499 -7.30943);--at-text-secondary:lab(37.2801% -.862852 -7.73156);--at-text-muted:lab(58.1854% -1.04666 -6.62941);--at-border:lab(89.5439% -.387847 -2.23061);--at-border-light:lab(94.7667% -.325233 -1.86);--at-shadow:lab(11.6682% -.113927 -10.842/.1);--at-accent:lab(49.8997% 5.63273 -59.1615);--at-error-bg:lab(95.0829% 9.19622 4.96011);--at-error-text:lab(45.8049% 62.9533 44.1);--at-error-border:lab(75.8489% 31.0226 17.1029);--at-ok-bg:lab(95.8936% -11.84 7.56052);--at-ok-text:lab(50.824% -45.5785 30.3918);--at-ok-border:lab(80.6679% -35.8792 23.2774);--at-warn-bg:lab(95.5261% 2.02972 19.535);--at-warn-text:lab(48.6413% 21.7782 63.415);--at-warn-border:lab(80.5062% 5.88706 41.41);--at-highlight-bg:lab(96.7959% -.972748 19.4827);--at-selected-bg:lab(95.2674% -1.71572 -11.035);--at-scrollbar-thumb:lab(83.7382% -.510752 -2.97043);--at-scrollbar-thumb-hover:lab(65.1562% -.902712 -5.53997)}}:host([data-theme=dark]),:root[data-theme=dark]{--at-surface:#151b25;--at-surface-hover:#1d2431;--at-muted:#191f2b;--at-code:#1b222d;--at-text-primary:#dfe5ed;--at-text-secondary:#9ca5b3;--at-text-muted:#727b88;--at-border:#2e3643;--at-border-light:#232934;--at-shadow:#00000073;--at-accent:#63a6ff;--at-error-bg:#742e2940;--at-error-text:#ff7f73;--at-error-border:#cf413a;--at-ok-bg:#39794933;--at-ok-text:#6ed889;--at-ok-border:#2e9e52;--at-warn-bg:#7e5d1d38;--at-warn-text:#f1bf5b;--at-warn-border:#b07b00;--at-highlight-bg:#b8a4571f;--at-selected-bg:#6087c22e;--at-scrollbar-thumb:#3d434d;--at-scrollbar-thumb-hover:#565e6c}@supports (color:color(display-p3 0 0 0)){:host([data-theme=dark]),:root[data-theme=dark]{--at-surface:color(display-p3 .0866362 .104012 .141551);--at-surface-hover:color(display-p3 .119527 .140938 .187194);--at-muted:color(display-p3 .10291 .122282 .164135);--at-code:color(display-p3 .112011 .131618 .173879);--at-text-primary:color(display-p3 .880198 .897517 .925177);--at-text-secondary:color(display-p3 .618009 .647763 .695453);--at-text-muted:color(display-p3 .454817 .481202 .527256);--at-border:color(display-p3 .187231 .209329 .256415);--at-border-light:color(display-p3 .14159 .16023 .200008);--at-shadow:color(display-p3 0 0 0/.45);--at-accent:color(display-p3 .445537 .644287 .978823);--at-error-bg:color(display-p3 .422373 .197971 .171651/.25);--at-error-text:color(display-p3 .938127 .52257 .468553);--at-error-border:color(display-p3 .751519 .297873 .256966);--at-ok-bg:color(display-p3 .287508 .467968 .304198/.2);--at-ok-text:color(display-p3 .538207 .838899 .565385);--at-ok-border:color(display-p3 .319936 .612208 .354223);--at-warn-bg:color(display-p3 .474062 .369044 .161788/.22);--at-warn-text:color(display-p3 .915105 .755059 .421563);--at-warn-border:color(display-p3 .660566 .489104 .15495);--at-highlight-bg:color(display-p3 .708898 .646062 .385093/.12);--at-selected-bg:color(display-p3 .407909 .526271 .742584/.18);--at-scrollbar-thumb:color(display-p3 .241934 .260441 .299404);--at-scrollbar-thumb-hover:color(display-p3 .342885 .367416 .419047)}}@supports (color:lab(0% 0 0)){:host([data-theme=dark]),:root[data-theme=dark]{--at-surface:lab(9.40435% -.26536 -8.00193);--at-surface-hover:lab(14.0233% -.313595 -9.45683);--at-muted:lab(11.7138% -.289485 -8.72938);--at-code:lab(12.8756% -.320837 -8.73908);--at-text-primary:lab(90.6923% -.891328 -4.41389);--at-text-secondary:lab(67.4629% -1.51783 -8.03232);--at-text-muted:lab(51.2096% -1.21292 -8.07107);--at-border:lab(22.1597% -.497714 -9.15806);--at-border-light:lab(16.373% -.418156 -8.05204);--at-shadow:lab(0% 0 0/.45);--at-accent:lab(66.6499% -1.4444 -52.3046);--at-error-bg:lab(29.4384% 31.1218 19.7271/.25);--at-error-text:lab(68.3188% 49.5998 30.86);--at-error-border:lab(49.5145% 56.3761 37.3383);--at-ok-bg:lab(45.5916% -30.0637 19.6786/.2);--at-ok-text:lab(78.7102% -45.0683 29.4705);--at-ok-border:lab(57.7987% -45.4011 30.0617);--at-warn-bg:lab(42.0282% 9.23485 40.2236/.22);--at-warn-text:lab(80.4197% 11.1201 56.0991);--at-warn-border:lab(55.853% 15.6735 62.0226);--at-highlight-bg:lab(67.9375% .259876 42.1122/.12);--at-selected-bg:lab(55.3782% -1.45972 -35.4324/.18);--at-scrollbar-thumb:lab(27.992% -.544697 -7.38333);--at-scrollbar-thumb-hover:lab(39.5702% -.685155 -9.23098)}}@media (prefers-color-scheme:dark){:host([data-theme=system]),:root[data-theme=system]{--at-surface:#151b25;--at-surface-hover:#1d2431;--at-muted:#191f2b;--at-code:#1b222d;--at-text-primary:#dfe5ed;--at-text-secondary:#9ca5b3;--at-text-muted:#727b88;--at-border:#2e3643;--at-border-light:#232934;--at-shadow:#00000073;--at-accent:#63a6ff;--at-error-bg:#742e2940;--at-error-text:#ff7f73;--at-error-border:#cf413a;--at-ok-bg:#39794933;--at-ok-text:#6ed889;--at-ok-border:#2e9e52;--at-highlight-bg:#b8a4571f;--at-selected-bg:#6087c22e;--at-scrollbar-thumb:#3d434d;--at-scrollbar-thumb-hover:#565e6c}@supports (color:color(display-p3 0 0 0)){:host([data-theme=system]),:root[data-theme=system]{--at-surface:color(display-p3 .0866362 .104012 .141551);--at-surface-hover:color(display-p3 .119527 .140938 .187194);--at-muted:color(display-p3 .10291 .122282 .164135);--at-code:color(display-p3 .112011 .131618 .173879);--at-text-primary:color(display-p3 .880198 .897517 .925177);--at-text-secondary:color(display-p3 .618009 .647763 .695453);--at-text-muted:color(display-p3 .454817 .481202 .527256);--at-border:color(display-p3 .187231 .209329 .256415);--at-border-light:color(display-p3 .14159 .16023 .200008);--at-shadow:color(display-p3 0 0 0/.45);--at-accent:color(display-p3 .445537 .644287 .978823);--at-error-bg:color(display-p3 .422373 .197971 .171651/.25);--at-error-text:color(display-p3 .938127 .52257 .468553);--at-error-border:color(display-p3 .751519 .297873 .256966);--at-ok-bg:color(display-p3 .287508 .467968 .304198/.2);--at-ok-text:color(display-p3 .538207 .838899 .565385);--at-ok-border:color(display-p3 .319936 .612208 .354223);--at-highlight-bg:color(display-p3 .708898 .646062 .385093/.12);--at-selected-bg:color(display-p3 .407909 .526271 .742584/.18);--at-scrollbar-thumb:color(display-p3 .241934 .260441 .299404);--at-scrollbar-thumb-hover:color(display-p3 .342885 .367416 .419047)}}@supports (color:lab(0% 0 0)){:host([data-theme=system]),:root[data-theme=system]{--at-surface:lab(9.40435% -.26536 -8.00193);--at-surface-hover:lab(14.0233% -.313595 -9.45683);--at-muted:lab(11.7138% -.289485 -8.72938);--at-code:lab(12.8756% -.320837 -8.73908);--at-text-primary:lab(90.6923% -.891328 -4.41389);--at-text-secondary:lab(67.4629% -1.51783 -8.03232);--at-text-muted:lab(51.2096% -1.21292 -8.07107);--at-border:lab(22.1597% -.497714 -9.15806);--at-border-light:lab(16.373% -.418156 -8.05204);--at-shadow:lab(0% 0 0/.45);--at-accent:lab(66.6499% -1.4444 -52.3046);--at-error-bg:lab(29.4384% 31.1218 19.7271/.25);--at-error-text:lab(68.3188% 49.5998 30.86);--at-error-border:lab(49.5145% 56.3761 37.3383);--at-ok-bg:lab(45.5916% -30.0637 19.6786/.2);--at-ok-text:lab(78.7102% -45.0683 29.4705);--at-ok-border:lab(57.7987% -45.4011 30.0617);--at-highlight-bg:lab(67.9375% .259876 42.1122/.12);--at-selected-bg:lab(55.3782% -1.45972 -35.4324/.18);--at-scrollbar-thumb:lab(27.992% -.544697 -7.38333);--at-scrollbar-thumb-hover:lab(39.5702% -.685155 -9.23098)}}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--at-scrollbar-thumb,#d4d4d8);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--at-scrollbar-thumb-hover,#a1a1aa)}.waterfall-row:hover .waterfall-bar{filter:brightness(1.1)}.waterfall-bar{transition:all .15s ease-out}.trace-list-container{container-type:inline-size}.trace-grid{grid-template-columns:20px 104px minmax(0,1fr) 84px 52px 88px 60px 16px;align-items:center;gap:.75rem;display:grid}@container (width<=640px){.trace-grid{grid-template-columns:20px 92px minmax(0,1fr) 80px 58px 16px}.trace-col-spans,.trace-col-time{display:none}}@keyframes at-modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes at-fade-in{0%{opacity:0}to{opacity:1}}.at-modal-in{animation:.17s cubic-bezier(.22,1,.36,1) at-modal-in}.at-backdrop-in{animation:.17s ease-out at-fade-in}.at-wrap-anywhere{overflow-wrap:anywhere;word-break:normal}.at-no-scrollbar{scrollbar-width:none}.at-no-scrollbar::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.at-modal-in,.at-backdrop-in{animation:none}}.at-edge-label{paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round}:where(a,button,[role=button],input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--at-accent);outline-offset:2px}:where([data-focus-inset]):focus-visible{outline-offset:-2px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}`,XV=class extends HTMLElement{constructor(...e){super(...e),x(this,`cleanup`,null)}connectedCallback(){let e=this.attachShadow({mode:`open`}),t=document.createElement(`link`);t.rel=`stylesheet`,t.href=`https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap`,e.appendChild(t);let n=document.createElement(`style`);n.textContent=YV,e.appendChild(n);let r=this.getAttribute(`mode`)||`widget`,i=this.getAttribute(`ws-url`)||this.deriveWsUrl();this.cleanup=JV(e,{mode:r,wsUrl:i})}disconnectedCallback(){this.cleanup?.(),this.cleanup=null}deriveWsUrl(){return`ws://${location.host}/ws`}};x(XV,`observedAttributes`,[`mode`,`ws-url`]);function ZV(){customElements.get(`autotel-devtools`)||customElements.define(`autotel-devtools`,XV)}var QV=document.currentScript;function $V(){let e=$u(location.hash);return Object.keys(e).length>0?e:void 0}function eH(){let e=$V();if(!QV?.src)return{mode:`widget`,wsUrl:`ws://${location.host}/ws`,deepLink:e};let t=new URL(QV.src),n=t.searchParams;return{mode:n.get(`mode`)||`widget`,wsUrl:n.get(`ws`)||`ws://${t.host}/ws`,deepLink:e}}function tH(){if(ZV(),document.querySelector(`autotel-devtools`))return;let{mode:e,wsUrl:t,deepLink:n}=eH(),r=document.createElement(`div`);r.id=`autotel-devtools-root`,document.body.appendChild(r);let i=r.attachShadow({mode:`open`}),a=document.createElement(`style`);a.textContent=YV,i.appendChild(a),JV(i,{mode:e,wsUrl:t,deepLink:n})}return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,tH):tH(),e.mountWidget=JV,e.registerElement=ZV,e})({});
34
+ groups apart.</p>`),LB=V(`<p class="text-xs text-danger"> </p>`),RB=V(`<p class="text-xs text-fg-muted"> </p>`),zB=V(`<tr class="border-t border-line-subtle"><td class="py-1 pr-2 font-mono"> <span class="text-fg-subtle">=</span> </td><td class="py-1 pr-2 tabular-nums"> </td><td class="py-1 pr-2 tabular-nums text-fg-muted"> </td></tr>`),BB=V(`<p class="mb-2 text-[11px] text-fg-subtle"> </p> <table class="w-full text-left text-xs"><thead class="text-[11px] uppercase tracking-wide text-fg-muted"><tr><th class="py-1 pr-2 font-medium">Attribute</th><th class="py-1 pr-2 font-medium">These</th><th class="py-1 pr-2 font-medium">Those</th></tr></thead><tbody></tbody></table>`,1),VB=V(`<div class="flex h-full flex-col overflow-hidden"><div class="border-b border-line px-4 py-3"><div class="mb-2 flex items-center gap-2"><button type="button"><!></button> <button type="button" class="flex items-center gap-1 rounded bg-accent px-2 py-1 text-xs text-white hover:opacity-90 disabled:opacity-40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent"><!> </button></div> <!> <!> <label class="block text-[11px] text-fg-muted"> <input placeholder="everything else" class="mt-0.5 w-full rounded border border-line bg-subtle px-2 py-1 font-mono text-xs text-fg focus:border-accent focus:outline-none"/></label></div> <div class="flex-1 overflow-auto px-4 py-3"><!></div></div>`);function HB(e,t){it(t,!0);let n=N(`duration > 500`),r=N(``),i=N(yr([])),a=N(``),o=N(``),s=N(``),c=e=>z(i).find(t=>t.name===e)?.arms??[];function l(){let e=pl.value;return e===null?null:$o(e)}let u=e=>`"${e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}"`;async function d(){let e=l();if(e!==null)try{let t=await fetch(`${e}/api/query/attributes?key=experiment.name&pair=experiment.variant`);if(!t.ok)return;let n=await t.json(),r=new Map;for(let e of n.pairs??[]){let t=String(e.value),n=String(e.paired);if(t===``||n===``)continue;let i=r.get(t)??[];i.includes(n)||i.push(n),r.set(t,i)}P(i,[...r].map(([e,t])=>({name:e,arms:t})),!0)}catch{}}zr(()=>{d()});function f(e){P(a,e,!0);let t=c(e);P(o,t[0]??``,!0),P(s,t[1]??``,!0),e!==``&&P(h,null),m()}function p(e){P(o,e,!0),z(s)===e&&P(s,``),m()}function m(){if(z(a)===``||z(o)===``)return;let e=`experiment.name = ${u(z(a))}`;P(n,`${e} AND experiment.variant = ${u(z(o))}`),P(r,z(s)===``?`${e} AND experiment.variant != ${u(z(o))}`:`${e} AND experiment.variant = ${u(z(s))}`,!0)}let h=N(null),g=N(!1),_=N(null),v=e=>`${Math.round(e*100)}%`;function y(){let e=Es(ml.value,Date.now());if(z(h)===null){let t=Ms(e);return{outlier:{query:z(n),window:t},baseline:{query:z(r),window:t}}}return{outlier:{query:z(r),window:{start:z(h),end:Date.now()}},baseline:{query:z(r),window:{start:e?.start??0,end:z(h)}}}}async function b(){let e=pl.value,t=e===null?null:$o(e);if(t===null){P(_,{status:`error`,message:`The telemetry receiver is not connected.`},!0);return}P(g,!0);try{P(_,await OB({...y(),ignoreFields:z(a)===``?void 0:[`experiment.name`,`experiment.variant`]},{fetch:globalThis.fetch.bind(globalThis),baseUrl:t}),!0)}finally{P(g,!1)}}var x=VB(),S=F(x),C=F(S),w=F(C),T=F(w),ee=e=>{var t=kB();rm(I(t),{size:12}),Ke(),H(e,t)},te=e=>{var t=AB();tg(I(t),{size:12}),Ke(),H(e,t)};W(T,e=>{z(h)===null?e(ee):e(te,-1)}),D(w);var ne=L(w,2),re=F(ne);rh(re,{size:12});var ie=L(re);D(ne),D(C);var ae=L(C,2),oe=e=>{var t=NB(),n=I(t),r=L(F(n)),l=F(r);l.value=l.__value=``,G(L(l),17,()=>z(i),e=>e.name,(e,t)=>{var n=jB(),r=F(n,!0);D(n);var i={};R(()=>{U(r,z(t).name),i!==(i=z(t).name)&&(n.value=(n.__value=z(t).name)??``)}),H(e,n)}),D(r);var u;uo(r),D(n);var d=L(n,2),h=e=>{var t=MB(),n=F(t),r=L(F(n));G(r,20,()=>c(z(a)),e=>e,(e,t)=>{var n=jB(),r=F(n,!0);D(n);var i={};R(()=>{U(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),H(e,n)}),D(r);var i;uo(r),D(n);var l=L(n,2),u=L(F(l)),d=F(u);d.value=d.__value=``,G(L(d),16,()=>c(z(a)).filter(e=>e!==z(o)),e=>e,(e,t)=>{var n=jB(),r=F(n,!0);D(n);var i={};R(()=>{U(r,t),i!==(i=t)&&(n.value=(n.__value=t)??``)}),H(e,n)}),D(u);var f;uo(u),D(l),D(t),R(()=>{i!==(i=z(o))&&(r.value=(r.__value=z(o))??``,lo(r,z(o))),f!==(f=z(s))&&(u.value=(u.__value=z(s))??``,lo(u,z(s)))}),B(`change`,r,e=>p(e.currentTarget.value)),B(`change`,u,e=>{P(s,e.currentTarget.value,!0),m()}),H(e,t)};W(d,e=>{z(a)!==``&&e(h)}),R(()=>{u!==(u=z(a))&&(r.value=(r.__value=z(a))??``,lo(r,z(a)))}),B(`change`,r,e=>f(e.currentTarget.value)),H(e,t)};W(ae,e=>{z(i).length>0&&e(oe)});var se=L(ae,2),ce=e=>{var t=PB(),r=L(F(t));Co(r),D(t),Mo(r,()=>z(n),e=>P(n,e)),H(e,t)},le=e=>{H(e,FB())};W(se,e=>{z(h)===null?e(ce):e(le,-1)});var E=L(se,2),ue=F(E),de=L(ue);Co(de),D(E),D(S);var fe=L(S,2),pe=F(fe),me=e=>{H(e,IB())},he=e=>{var t=LB(),n=F(t,!0);D(t),R(()=>U(n,z(_).message)),H(e,t)},ge=e=>{var t=RB(),n=F(t);D(t),R(()=>U(n,`Nothing to compare: ${z(_).outlierCount??``} against ${z(_).baselineCount??``}
35
+ spans. A share of zero events says nothing about either group.`)),H(e,t)},_e=e=>{var t=da(),n=I(t),r=e=>{var t=RB(),n=F(t);D(t),R(()=>U(n,`No attribute separates these ${z(_).outlierCount??``} spans from the
36
+ ${z(_).baselineCount??``} they were compared with.`)),H(e,t)},i=e=>{var t=BB(),n=I(t),r=F(n);D(n);var i=L(n,2),a=L(F(i));G(a,21,()=>z(_).differences,e=>`${e.field}=${e.value}`,(e,t)=>{var n=zB(),r=F(n),i=F(r,!0),a=L(i,2,!0);D(r);var o=L(r),s=F(o,!0);D(o);var c=L(o),l=F(c,!0);D(c),D(n),R((e,n)=>{U(i,z(t).field),U(a,z(t).value),U(s,e),U(l,n)},[()=>v(z(t).outlierFraction),()=>v(z(t).baselineFraction)]),H(e,n)}),D(a),D(i),R(()=>U(r,`${z(_).outlierCount??``} spans against ${z(_).baselineCount??``}. A
37
+ hypothesis to check against individual traces, not a conclusion.`)),H(e,t)};W(n,e=>{z(_).differences.length===0?e(r):e(i,-1)}),H(e,t)};W(pe,e=>{z(_)?z(_).status===`unavailable`||z(_).status===`invalid`||z(_).status===`error`?e(he,1):z(_).status===`empty`?e(ge,2):z(_).status===`ok`&&e(_e,3):e(me)}),D(fe),D(x),R(e=>{q(w,1,e),ne.disabled=z(g),U(ie,` ${z(g)?`Comparing…`:`Compare`}`),U(ue,`${z(h)===null?`Compared with`:`Restricted to`} `)},[()=>K(Q(`flex items-center gap-1 rounded px-2 py-1 text-xs`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent`,z(h)===null?`border border-line text-fg-muted hover:text-fg`:`bg-accent text-white`))]),B(`click`,w,()=>P(h,z(h)===null?Date.now():null,!0)),B(`click`,ne,b),Mo(de,()=>z(r),e=>P(r,e)),H(e,x),at()}na([`click`,`change`]);var UB=V(`<span class="text-xs text-fg"> </span>`),WB=V(`<span class="text-xs text-fg-muted">Instrumentation coverage</span>`),GB=V(`<p class="text-xs text-fg-subtle">Loading…</p>`),KB=V(`<div class="flex items-start gap-2 text-xs text-fg-muted"><!> <p> </p></div>`),qB=V(`<p class="text-xs text-danger"> </p>`),JB=V(`<p class="text-xs text-fg-muted">The map records no entry points.</p>`),YB=V(`<span class="mr-1 inline-block h-1.5 w-1.5 rounded-full bg-danger" aria-label="never seen"></span>`),XB=V(`<tr class="border-t border-line-subtle"><td class="py-1 pr-2 font-mono"><!> </td><td> </td><td class="py-1"><a class="text-fg-subtle hover:text-accent hover:underline"> </a></td></tr>`),ZB=V(`<table class="w-full text-left text-xs"><thead class="text-[11px] uppercase tracking-wide text-fg-muted"><tr><th class="py-1 pr-2 font-medium">Entry point</th><th class="py-1 pr-2 font-medium">Spans</th><th class="py-1 font-medium">Source</th></tr></thead><tbody></tbody></table>`),QB=V(`<div class="flex h-full flex-col overflow-hidden"><div class="flex items-center justify-between border-b border-line px-4 py-3"><div><!></div> <button type="button" class="flex items-center gap-1 rounded border border-line px-2 py-1 text-xs text-fg-muted hover:text-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent"><!> Refresh</button></div> <div class="flex-1 overflow-auto px-4 py-3"><!></div></div>`);function $B(e,t){it(t,!0);let n=N(yr({status:`idle`}));async function r(){P(n,{status:`loading`},!0);try{let e=pl.value,t=e===null?null:$o(e);if(t===null){P(n,{status:`error`,message:`The telemetry receiver is not connected.`},!0);return}let r=await fetch(`${t}/api/coverage`),i=await r.json();r.status===404?P(n,{status:`missing`,message:i.message??`No map found.`},!0):r.ok?P(n,{status:`ok`,...i},!0):P(n,{status:`error`,message:i.message??r.statusText},!0)}catch(e){P(n,{status:`error`,message:e instanceof Error?e.message:`Request failed`},!0)}}zr(()=>{r()});let i=e=>`vscode://file/${e.file}${e.handler?.line?`:${e.handler.line}`:``}`;var a=QB(),o=F(a),s=F(o),c=F(s),l=e=>{var t=UB(),r=F(t);D(t),R(()=>U(r,`${z(n).total-z(n).seenCount} of ${z(n).total??``} entry points have emitted
38
+ nothing`)),H(e,t)},u=e=>{H(e,WB())};W(c,e=>{z(n).status===`ok`?e(l):e(u,-1)}),D(s);var d=L(s,2);dh(F(d),{size:12}),Ke(),D(d),D(o);var f=L(o,2),p=F(f),m=e=>{H(e,GB())},h=e=>{var t=KB(),r=F(t);$p(r,{size:14,class:`mt-0.5 shrink-0`});var i=L(r,2),a=F(i,!0);D(i),D(t),R(()=>U(a,z(n).message)),H(e,t)},g=e=>{var t=qB(),r=F(t,!0);D(t),R(()=>U(r,z(n).message)),H(e,t)},_=e=>{H(e,JB())},v=e=>{var t=ZB(),r=L(F(t));G(r,21,()=>z(n).entries,e=>`${e.method??``} ${e.path}`,(e,t)=>{var n=XB(),r=F(n),a=F(r),o=e=>{H(e,YB())};W(a,e=>{z(t).seen||e(o)});var s=L(a);D(r);var c=L(r),l=F(c,!0);D(c);var u=L(c),d=F(u),f=F(d,!0);D(d),D(u),D(n),R(e=>{U(s,` ${z(t).method?`${z(t).method} `:``}${z(t).path??``}`),q(c,1,K(z(t).seen?`py-1 pr-2 tabular-nums text-fg-muted`:`py-1 pr-2 text-danger`)),U(l,z(t).seen?z(t).spanCount:`none`),J(d,`href`,e),U(f,z(t).file)},[()=>i(z(t))]),H(e,n)}),D(r),D(t),H(e,t)};W(p,e=>{z(n).status===`loading`||z(n).status===`idle`?e(m):z(n).status===`missing`?e(h,1):z(n).status===`error`?e(g,2):z(n).entries.length===0?e(_,3):e(v,-1)}),D(f),D(a),B(`click`,d,r),H(e,a),at()}na([`click`]);var eV={traces:tj,agents:jj,genai:NN,flow:EP,resources:IP,"service-map":mF,metrics:nz,logs:Tz,errors:lB,security:DB,compare:HB,coverage:$B},tV=[{id:`traces`,label:`Traces`,icon:Vp},{id:`agents`,label:`Agents`,icon:sp},{id:`genai`,label:`GenAI`,icon:jh},{id:`flow`,label:`Flow`,icon:Zh},{id:`resources`,label:`Resources`,icon:lp},{id:`service-map`,label:`Service Map`,icon:Gm},{id:`metrics`,label:`Metrics`,icon:_p},{id:`logs`,label:`Logs`,icon:tm},{id:`errors`,label:`Errors`,icon:Uh},{id:`security`,label:`Security`,icon:Dh},{id:`compare`,label:`Compare`,icon:pm},{id:`coverage`,label:`Coverage`,icon:hh}].filter(e=>eV[e.id]!==void 0),nV=tV.map(e=>e.id),rV=16,iV=48;function aV(e){let{isVertical:t,dock:n,axisSize:r,setSize:i,resetSize:a}=e,o=N(!1);return{get resizing(){return z(o)},onPointerDown:e=>{e.stopPropagation();let a=t(),s=a?`vertical`:`horizontal`,c=a?e.clientY:e.clientX,l=r(),u=n()===`bottom`||n()===`right`?-1:1;gy(e,{cursor:a?`ns-resize`:`ew-resize`,onStart:()=>P(o,!0),onMove:e=>{let t=a?e.clientY:e.clientX;i(s,l+(t-c)*u)},onEnd:()=>P(o,!1)})},onKeyDown:e=>{let a=t()?`vertical`:`horizontal`,o=e.shiftKey?iV:rV,s=t()?{ArrowUp:n()===`bottom`?o:-o,ArrowDown:n()===`bottom`?-o:o}:{ArrowLeft:n()===`right`?o:-o,ArrowRight:n()===`right`?-o:o};e.key in s&&(e.preventDefault(),i(a,r()+s[e.key]))},onDblClick:()=>a(t()?`vertical`:`horizontal`)}}function oV(e,t,n,r){let i={left:e,right:n-e,top:t,bottom:r-t};return Object.keys(i).reduce((e,t)=>i[t]<i[e]?t:e)}function sV(e){let{dock:t,pipActive:n,onDock:r}=e,i=N(!1),a=N(null);return{get dragging(){return z(i)},get dropTarget(){return z(a)},onHeaderPointerDown:e=>{e.button===0&&(e.target.closest(`button`)||n()||gy(e,{cursor:`grabbing`,onStart:()=>{P(i,!0),P(a,t(),!0)},onMove:e=>{P(a,oV(e.clientX,e.clientY,window.innerWidth,window.innerHeight),!0)},onEnd:()=>{P(i,!1),z(a)&&z(a)!==t()&&r(z(a)),P(a,null)}}))}}}function cV(e,t){it(t,!0);let n=M(()=>Bc.value),r=M(()=>eV[z(n)]??eV.traces);var i=da(),a=I(i),o=e=>{var t=da();Ba(I(t),()=>z(r),(e,t)=>{t(e,{})}),H(e,t)};W(a,e=>{z(r)&&e(o)}),H(e,i),at()}var lV=V(`<span class="absolute inset-0 rounded-full bg-success opacity-75 animate-ping" aria-hidden="true"></span>`),uV=V(`<span class="text-xs font-mono tabular-nums text-fg-subtle" title="Telemetry ingest rate"> </span>`),dV=V(`<span class="text-xs font-mono tabular-nums text-fg-subtle" title="Telemetry store usage and retention cap"> </span>`),fV=V(`<span> </span> <!> <!>`,1),pV=V(`<div role="status"><span class="relative inline-flex w-2 h-2 shrink-0"><!> <span aria-hidden="true"></span></span> <!></div>`);function mV(e,t){it(t,!0);let n=Z(t,`compact`,3,!1),r=M(()=>fl.value),i=M(()=>z(r)===`connected`?{dot:`bg-success`,label:`Connected`,text:`text-success`}:z(r)===`connecting`?{dot:`bg-warning animate-pulse`,label:`Connecting…`,text:`text-warning`}:{dot:`bg-danger`,label:`Disconnected`,text:`text-fg-subtle`}),a=M(()=>yl.value),o=N(!1);zr(()=>{if(z(a),z(a)===0)return;P(o,!0);let e=setTimeout(()=>P(o,!1),900);return()=>clearTimeout(e)});let s=N(0);zr(()=>{if(n())return;let e=()=>{P(s,Math.round(Cl(5e3).total),!0)};e();let t=setInterval(e,1e3);return()=>clearInterval(t)});let c=M(()=>!n()&&z(r)===`connected`&&z(s)>0),l=N(null);zr(()=>{if(n()||z(r)!==`connected`)return;let e=!0,t=async()=>{let t=pl.value,n=(t?$o(t):null)??globalThis.location?.origin;if(n)try{let t=await fetch(`${n}/api/stats`);t.ok&&e&&P(l,await t.json(),!0)}catch{}};t();let i=setInterval(t,3e4);return()=>{e=!1,clearInterval(i)}});function u(e){return e<1024**2?`${Math.round(e/1024)} KB`:e<1024**3?`${(e/1024**2).toFixed(1)} MB`:`${(e/1024**3).toFixed(1)} GB`}var d=pV(),f=F(d),p=F(f),m=e=>{H(e,lV())};W(p,e=>{z(o)&&z(r)===`connected`&&e(m)});var h=L(p,2);D(f);var g=L(f,2),_=e=>{var t=fV(),n=I(t),r=F(n,!0);D(n);var a=L(n,2),o=e=>{var t=uV(),n=F(t);D(t),R(()=>U(n,`· ${z(s)??``}/s`)),H(e,t)};W(a,e=>{z(c)&&e(o)});var d=L(a,2),f=e=>{var t=dV(),n=F(t);D(t),R((e,t)=>U(n,`· ${e??``} / ${t??``}`),[()=>u(z(l).bytesUsed),()=>u(z(l).maxBytes)]),H(e,t)};W(d,e=>{z(l)&&e(f)}),R(e=>{q(n,1,e),U(r,z(i).label)},[()=>K(Q(`text-xs font-medium`,z(i).text))]),H(e,t)};W(g,e=>{n()||e(_)}),D(d),R((e,t)=>{q(d,1,e),J(d,`aria-label`,`OTLP receiver: ${z(i).label}`),J(d,`title`,`OTLP receiver: ${z(i).label}${z(s)>0?` · ${z(s)}/s`:``}`),q(h,1,t)},[()=>K(Q(`flex items-center gap-1.5`,!n()&&`px-3 py-2`)),()=>K(Q(`relative inline-block w-2 h-2 rounded-full`,z(i).dot))]),H(e,d),at()}var hV=V(`<kbd class="inline-block px-1.5 py-0.5 font-mono text-xs font-semibold bg-hover border border-line rounded text-fg mr-1 last:mr-0 shadow-[0_1px_0_#d4d4d8]"> </kbd>`),gV=V(`<tr class="border-b border-line-subtle last:border-b-0"><td class="py-2.5 px-4 whitespace-nowrap align-middle w-[1%]"></td><td class="py-2.5 pr-4 pl-1 text-sm text-fg-muted align-middle"> </td></tr>`),_V=V(`<div class="fixed inset-0 z-[1000] flex items-center justify-center" role="dialog" aria-modal="true" aria-label="Keyboard shortcuts"><button type="button" aria-label="Close" class="absolute inset-0 bg-black/55 backdrop-blur-[2px] at-backdrop-in"></button> <div tabindex="-1" class="at-modal-in relative z-[1] bg-surface border border-line rounded-lg shadow-xl w-[480px] max-w-[90vw] max-h-[80vh] flex flex-col overflow-hidden outline-none"><div class="flex items-center justify-between px-4 py-3 border-b border-line bg-subtle flex-shrink-0"><span class="text-sm font-semibold text-fg">Keyboard Shortcuts</span> <button class="inline-flex items-center justify-center w-7 h-7 p-0 bg-transparent border border-line rounded cursor-pointer text-sm text-fg-subtle hover:bg-danger-bg hover:border-danger-border hover:text-danger transition-colors" title="Close (Esc)"><!></button></div> <div class="overflow-y-auto py-2"><table class="w-full border-collapse"><tbody></tbody></table></div></div></div>`);function vV(e,t){it(t,!0);let n=N(void 0);zr(()=>{let e=e=>{e.key===`Escape`&&(e.stopPropagation(),t.onClose())},r=z(n);return r&&(r.addEventListener(`keydown`,e),r.focus()),window.addEventListener(`keydown`,e),()=>{r&&r.removeEventListener(`keydown`,e),window.removeEventListener(`keydown`,e)}});var r=_V(),i=F(r),a=L(i,2),o=F(a),s=L(F(o),2);tg(F(s),{size:14}),D(s),D(o);var c=L(o,2),l=F(c),u=F(l);G(u,21,()=>t.shortcuts,Aa,(e,t)=>{var n=gV(),r=F(n);G(r,21,()=>z(t).keys,Aa,(e,t)=>{var n=hV(),r=F(n,!0);D(n),R(()=>U(r,z(t)===`CmdOrCtrl`?yg?`⌘`:`Ctrl`:z(t)===`AltOrOpt`?yg?`⌥`:`Alt`:z(t))),H(e,n)}),D(r);var i=L(r),a=F(i,!0);D(i),D(n),R(()=>U(a,z(t).description)),H(e,n)}),D(u),D(l),D(c),D(a),Uo(a,e=>P(n,e),()=>z(n)),D(r),B(`click`,i,function(...e){t.onClose?.apply(this,e)}),B(`click`,s,function(...e){t.onClose?.apply(this,e)}),H(e,r),at()}na([`click`]);var yV=V(`<div role="separator" aria-label="Resize panel" tabindex="0" title="Drag to resize · double-click to reset"><div></div> <div></div></div>`),bV=V(`<span class="text-fg-subtle/60 flex-shrink-0 pl-0.5" aria-hidden="true"><!></span>`),xV=V(`<span> </span>`),SV=V(`<button><!> <span> </span> <!></button>`),CV=V(`<button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors" title="Dock position (click to cycle: bottom → right → left) — or drag the header to an edge" aria-label="Change dock position"><!></button>`),wV=V(`<button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors"><!></button>`),TV=V(`<button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors" title="Close (Esc)" aria-label="Close devtools"><!></button>`),EV=V(`<span class="px-2.5 py-1 rounded-md bg-accent text-white text-xs font-semibold shadow-lg"> </span>`),DV=V(`<div><!></div>`),OV=V(`<div class="fixed inset-0 z-[1001] pointer-events-none" aria-hidden="true"></div>`),kV=V(`<section aria-label="Autotel devtools"><!> <header><!> <div class="flex items-center gap-2 flex-shrink-0 pr-1 mr-0.5"><!> <span class="text-xs font-semibold tracking-tight text-fg hidden sm:inline">autotel</span></div> <nav class="flex items-center gap-0.5 overflow-x-auto min-w-0 flex-1 at-no-scrollbar" aria-label="Devtools sections"></nav> <div class="flex items-center gap-1 flex-shrink-0 pl-1"><!> <button class="p-1.5 rounded-md text-fg-subtle hover:text-fg hover:bg-subtle transition-colors" title="Keyboard shortcuts (?)" aria-label="Keyboard shortcuts"><!></button> <!> <!> <!></div></header> <div class="flex-1 min-h-0 overflow-hidden"><!></div> <!></section> <!>`,1);function AV(e,t){it(t,!0);let n=N(void 0),r=M(()=>Fc.value),i=M(()=>Bc.value),a=M(()=>Rc.value??`bottom`),o=M(()=>il.value),s=M(()=>zc.value),c=og(),l=M(()=>z(a)===`bottom`||z(a)===`top`),u=M(()=>z(l)?z(o).vertical:z(o).horizontal),d=M(()=>al(z(l)?`vertical`:`horizontal`)),f=M(()=>su.value),p=M(()=>nu.value),m=M(()=>ru.value),h=M(()=>({genai:z(p)>0?z(p):void 0,flow:z(m)>0?z(m):void 0,errors:z(f)>0?z(f):void 0})),g=M(()=>tV.map(e=>({...e,badge:z(h)[e.id]}))),_=aV({isVertical:()=>z(l),dock:()=>z(a),axisSize:()=>z(u),setSize:ol,resetSize:sl}),v=sV({dock:()=>z(a),pipActive:()=>z(s),onDock:Lu});async function y(){if(z(s)){ug(()=>zc.value=!1);return}let e=z(n)?.getRootNode(),t=e instanceof ShadowRoot?e.host:null;t&&await lg(t,()=>zc.value=!1,{width:760,height:600})&&(zc.value=!0)}let b=globalThis.window!==void 0&&typeof window.matchMedia==`function`&&window.matchMedia(`(prefers-reduced-motion: reduce)`).matches;function x(e,{dock:t}){if(b||z(s))return{duration:0};let n=t===`left`||t===`right`?`X`:`Y`,r=t===`bottom`||t===`right`?1:-1;return{duration:240,easing:ig,css:(e,t)=>`transform: translate${n}(${t*r*100}%)`}}let S=[`traces`,`genai`,`flow`,`service-map`,`metrics`,`logs`,`errors`],C=M(()=>$c.value);function w(){return Vc.value?gg:Bc.value===`traces`?hg:mg}zr(()=>{let e=z(n)?.getRootNode(),t=e instanceof ShadowRoot||e instanceof Document?e:window,r=e=>{let t=e;if(t.key===`Escape`){if($c.value){tl();return}if(_g())return;if(zc.value){ug(()=>zc.value=!1);return}ju();return}if(t.key===`?`&&!_g()){t.preventDefault(),nl(w());return}if(!$c.value&&!_g()&&t.key>=`1`&&t.key<=`7`){let e=Number.parseInt(t.key,10)-1;e<S.length&&Mu(S[e])}};return t.addEventListener(`keydown`,r),()=>t.removeEventListener(`keydown`,r)});let T=M(()=>z(s)?`inset-0`:{bottom:`left-0 right-0 bottom-0`,top:`left-0 right-0 top-0`,right:`top-0 bottom-0 right-0`,left:`top-0 bottom-0 left-0`}[z(a)]),ee=M(()=>z(s)?``:{bottom:`border-t`,top:`border-b`,right:`border-l`,left:`border-r`}[z(a)]),te=M(()=>({bottom:`-top-1 left-0 right-0 h-2 cursor-ns-resize`,top:`-bottom-1 left-0 right-0 h-2 cursor-ns-resize`,right:`-left-1 top-0 bottom-0 w-2 cursor-ew-resize`,left:`-right-1 top-0 bottom-0 w-2 cursor-ew-resize`})[z(a)]),ne=M(()=>({bottom:`inset-x-0 top-1 h-px`,top:`inset-x-0 bottom-1 h-px`,right:`inset-y-0 left-1 w-px`,left:`inset-y-0 right-1 w-px`})[z(a)]),re=M(()=>z(s)?``:z(l)?`height: ${z(u)}px;`:`width: ${z(u)}px;`),ie=M(()=>z(s)?``:{bottom:`box-shadow: 0 -12px 32px -14px var(--at-shadow), 0 -2px 6px -4px var(--at-shadow);`,top:`box-shadow: 0 12px 32px -14px var(--at-shadow), 0 2px 6px -4px var(--at-shadow);`,right:`box-shadow: -12px 0 32px -14px var(--at-shadow), -2px 0 6px -4px var(--at-shadow);`,left:`box-shadow: 12px 0 32px -14px var(--at-shadow), 2px 0 6px -4px var(--at-shadow);`}[z(a)]),ae=M(()=>z(a)===`right`?Zm:z(a)===`left`?Ym:qm),oe=[{edge:`bottom`,pos:`left-0 right-0 bottom-0 h-24`,label:`Dock bottom`},{edge:`top`,pos:`left-0 right-0 top-0 h-24`,label:`Dock top`},{edge:`left`,pos:`top-0 bottom-0 left-0 w-44`,label:`Dock left`},{edge:`right`,pos:`top-0 bottom-0 right-0 w-44`,label:`Dock right`}];var se=da(),ce=I(se),le=e=>{var t=kV(),r=I(t),o=F(r),f=e=>{var t=yV(),n=F(t),r=L(n,2);D(t),R((e,i,a,o)=>{J(t,`aria-orientation`,z(l)?`horizontal`:`vertical`),J(t,`aria-valuenow`,e),J(t,`aria-valuemin`,z(d).min),J(t,`aria-valuemax`,z(d).max),q(t,1,i),q(n,1,a),q(r,1,o)},[()=>Math.round(z(u)),()=>K(Q(`absolute z-20 group touch-none select-none outline-none`,z(te))),()=>K(Q(`absolute bg-line-subtle transition-colors duration-150`,`group-hover:bg-accent group-focus-visible:bg-accent`,_.resizing&&`!bg-accent`,z(ne))),()=>K(Q(`absolute rounded-full bg-line transition-colors duration-150`,`group-hover:bg-accent group-focus-visible:bg-accent`,_.resizing&&`!bg-accent`,z(l)?`left-1/2 -translate-x-1/2 top-1/2 -translate-y-1/2 w-9 h-1`:`top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2 h-9 w-1`))]),B(`pointerdown`,t,function(...e){_.onPointerDown?.apply(this,e)}),B(`keydown`,t,function(...e){_.onKeyDown?.apply(this,e)}),B(`dblclick`,t,function(...e){_.onDblClick?.apply(this,e)}),H(e,t)};W(o,e=>{z(s)||e(f)});var p=L(o,2),m=F(p),h=e=>{var t=bV();_m(F(t),{size:14}),D(t),H(e,t)};W(m,e=>{z(s)||e(h)});var b=L(m,2);id(F(b),{width:18,height:18}),Ke(2),D(b);var S=L(b,2);G(S,21,()=>z(g),e=>e.id,(e,t)=>{let n=M(()=>z(t).icon),r=M(()=>z(i)===z(t).id);var a=SV(),o=F(a);{let e=M(()=>z(t).id===`errors`&&z(t).badge?`text-danger`:void 0);Ba(o,()=>z(n),(t,n)=>{n(t,{size:14,get class(){return z(e)}})})}var s=L(o,2),c=F(s,!0);D(s);var l=L(s,2),u=e=>{var n=xV(),r=F(n,!0);D(n),R(e=>{q(n,1,e),U(r,z(t).badge>99?`99+`:z(t).badge)},[()=>K(Q(`px-1.5 py-px text-[10px] font-semibold rounded-full`,z(t).id===`errors`?`bg-danger-bg text-danger`:`bg-accent/15 text-fg-muted`))]),H(e,n)};W(l,e=>{z(t).badge&&e(u)}),D(a),R(e=>{J(a,`aria-current`,z(r)?`page`:void 0),q(a,1,e),U(c,z(t).label)},[()=>K(Q(`flex items-center gap-1.5 px-2.5 h-8 rounded-md flex-shrink-0`,`text-xs transition-colors cursor-pointer`,z(r)?`bg-accent/12 text-fg font-semibold ring-1 ring-inset ring-accent/20`:`text-fg-subtle font-medium hover:text-fg hover:bg-subtle`))]),B(`click`,a,()=>Mu(z(t).id)),H(e,a)}),D(S);var se=L(S,2);{let e=e=>{let t=M(()=>z(ae));var n=da();Ba(I(n),()=>z(t),(e,t)=>{t(e,{size:15})}),H(e,n)};var ce=F(se);mV(ce,{compact:!0});var le=L(ce,2);kp(F(le),{size:15}),D(le);var E=L(le,2),ue=t=>{var n=CV(),r=F(n);e(r),D(n),B(`click`,n,function(...e){Ru?.apply(this,e)}),H(t,n)};W(E,e=>{z(s)||e(ue)});var de=L(E,2),fe=e=>{var t=wV(),n=F(t),r=e=>{Lm(e,{size:15})},i=e=>{th(e,{size:15})};W(n,e=>{z(s)?e(r):e(i,-1)}),D(t),R(()=>{J(t,`title`,z(s)?`Return to docked panel`:`Pop out to a separate window`),J(t,`aria-label`,z(s)?`Return to docked panel`:`Pop out to window`)}),B(`click`,t,y),H(e,t)};W(de,e=>{c&&e(fe)});var pe=L(de,2),me=e=>{var t=TV();tg(F(t),{size:16}),D(t),B(`click`,t,function(...e){ju?.apply(this,e)}),H(e,t)};W(pe,e=>{z(s)||e(me)}),D(se),B(`click`,le,()=>nl(w()))}D(p);var he=L(p,2);cV(F(he),{}),D(he);var ge=L(he,2),_e=e=>{vV(e,{get shortcuts(){return z(C)},get onClose(){return tl}})};W(ge,e=>{z(C)&&e(_e)}),D(r),Uo(r,e=>P(n,e),()=>z(n));var ve=L(r,2),ye=e=>{var t=OV();G(t,21,()=>oe,e=>e.edge,(e,t)=>{let n=M(()=>v.dropTarget===z(t).edge);var r=DV(),i=F(r),a=e=>{var n=EV(),r=F(n,!0);D(n),R(()=>U(r,z(t).label)),H(e,n)};W(i,e=>{z(n)&&e(a)}),D(r),R(e=>q(r,1,e),[()=>K(Q(`absolute flex items-center justify-center transition-colors duration-100`,z(t).pos,z(n)?`bg-accent/15 ring-2 ring-inset ring-accent`:`bg-accent/5`))]),H(e,r)}),D(t),H(e,t)};W(ve,e=>{v.dragging&&e(ye)}),R((e,t)=>{q(r,1,e),co(r,`${z(re)} ${z(ie)}`),q(p,1,t)},[()=>K(Q(`fixed z-[1000] flex flex-col`,`bg-surface text-fg`,z(T),z(ee),`border-line`)),()=>K(Q(`flex items-center gap-1 pl-2 pr-2 h-11 flex-shrink-0`,`border-b border-line bg-surface`,z(s)?``:`cursor-grab active:cursor-grabbing`))]),B(`pointerdown`,p,function(...e){v.onHeaderPointerDown?.apply(this,e)}),Ya(3,r,()=>x,()=>({dock:z(a)})),H(e,t)};W(ce,e=>{z(r)&&e(le)}),H(e,se),at()}na([`pointerdown`,`keydown`,`dblclick`,`click`]);var jV=V(`<button><!> </button>`),MV=V(`<nav></nav>`);function NV(e,t){it(t,!0);let n=Z(t,`orientation`,3,`horizontal`),r=M(()=>Bc.value);var i=MV();G(i,21,()=>tV,({id:e,label:t,icon:n})=>e,(e,t)=>{let n=()=>z(t).id,i=()=>z(t).label,a=()=>z(t).icon;var o=jV(),s=F(o);Ba(s,a,(e,t)=>{t(e,{size:14})});var c=L(s);D(o),R(e=>{q(o,1,e),U(c,` ${i()??``}`)},[()=>K(Q(`flex items-center gap-2 px-3 py-2 text-xs font-medium rounded transition-colors whitespace-nowrap`,z(r)===n()?`bg-accent text-white`:`text-fg-subtle hover:bg-hover hover:text-fg`))]),B(`click`,o,()=>Mu(n())),H(e,o)}),D(i),R(e=>q(i,1,e),[()=>K(Q(`flex gap-1 p-1`,n()===`vertical`?`flex-col w-48 border-r border-line`:`border-b border-line overflow-x-auto`))]),H(e,i),at()}na([`click`]);var PV=V(`<!> <span class="font-medium">Snapshot mode</span> <span class="text-warning">— live updates paused.</span> <button class="ml-auto inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-warning-bg transition-colors" title="Exit snapshot and clear data"><!> Exit</button>`,1),FV=V(`<span class="text-fg-subtle"> </span> <button class="ml-auto inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-hover transition-colors disabled:opacity-40 disabled:cursor-not-allowed disabled:hover:bg-transparent"><!> Download snapshot</button> <button class="inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-hover transition-colors" title="Load a snapshot file"><!> Load snapshot</button> <button class="inline-flex items-center gap-1 px-2 py-0.5 rounded hover:bg-hover hover:text-danger transition-colors" title="Clear all captured data — traces, logs, metrics and errors"><!> Clear</button>`,1),IV=V(`<span class="text-danger truncate"> </span>`),LV=V(`<span class="text-warning truncate"> </span>`),RV=V(`<div><!> <input type="file" accept="application/json,.json" class="hidden"/> <!> <!></div>`);function zV(e,t){it(t,!0);let n=N(void 0),r=N(null),i=N(null),a=M(()=>kl.value),o=M(()=>[{n:cl.value.length,one:`trace`,many:`traces`},{n:dl.value.length,one:`log`,many:`logs`},{n:ul.value.length,one:`error`,many:`errors`}].filter(e=>e.n>0).map(e=>`${e.n} ${e.n===1?e.one:e.many}`)),s=M(()=>z(o).length===0),c=()=>{P(r,null),P(i,null),Ky({traces:cl.value,logs:dl.value,errors:ul.value})},l=()=>{z(n)?.click()},u=()=>{P(r,null),P(i,null),Bu()},d=async e=>{P(r,null),P(i,null);let t=e.currentTarget,n=t.files?.[0];if(t.value=``,!n)return;let a=await Yy(n);if(!a.success||!a.snapshot){P(r,a.errors.join(`; `)||`Failed to load snapshot`,!0);return}a.warnings.length>0&&P(i,a.warnings.join(`; `),!0),ku(a.snapshot)};var f=RV(),p=F(f),m=e=>{var t=PV(),n=I(t);pp(n,{size:12});var r=L(n,6);tg(F(r),{size:12}),Ke(),D(r),B(`click`,r,function(...e){Au?.apply(this,e)}),H(e,t)},h=e=>{var t=FV(),n=I(t),r=F(n,!0);D(n);var i=L(n,2);pp(F(i),{size:12}),Ke(),D(i);var a=L(i,2);Gh(F(a),{size:12}),Ke(),D(a);var d=L(a,2);zh(F(d),{size:12}),Ke(),D(d),R(e=>{U(r,e),i.disabled=z(s),J(i,`title`,z(s)?`Nothing captured yet`:`Download a snapshot of traces, logs, errors and metrics`)},[()=>z(s)?`No data captured`:z(o).join(` · `)]),B(`click`,i,c),B(`click`,a,l),B(`click`,d,u),H(e,t)};W(p,e=>{z(a)?e(m):e(h,-1)});var g=L(p,2);Uo(g,e=>P(n,e),()=>z(n));var _=L(g,2),v=e=>{var t=IV(),n=F(t,!0);D(t),R(()=>{J(t,`title`,z(r)),U(n,z(r))}),H(e,t)};W(_,e=>{z(r)&&e(v)});var y=L(_,2),b=e=>{var t=LV(),n=F(t,!0);D(t),R(()=>{J(t,`title`,z(i)),U(n,z(i))}),H(e,t)};W(y,e=>{z(i)&&!z(r)&&e(b)}),D(f),R(e=>q(f,1,e),[()=>K(Q(`border-b border-line px-3 py-1.5 text-xs flex items-center gap-2`,z(a)?`bg-warning-bg text-warning`:`bg-subtle text-fg-muted`))]),B(`change`,g,d),H(e,f),at()}na([`click`,`change`]);var BV=V(`<div class="flex h-screen w-screen bg-surface text-fg"><div class="hidden md:flex flex-col border-r border-line"><!> <div class="mt-auto p-2 border-t border-line flex flex-col gap-1"><!> <button class="flex items-center gap-2 px-3 py-2 text-xs text-fg-subtle hover:bg-hover hover:text-fg rounded transition-colors"><!> </button> <button class="flex items-center gap-2 px-3 py-2 text-xs text-fg-subtle hover:bg-hover hover:text-fg rounded transition-colors" title="Keyboard shortcuts (?)"><!> Shortcuts</button></div></div> <div class="flex-1 flex flex-col min-w-0"><!> <div class="md:hidden"><!></div> <div class="flex-1 overflow-hidden"><!></div></div> <!></div>`);function VV(e,t){it(t,!0);function n(){return Vc.value?gg:Bc.value===`traces`?hg:mg}let r=M(()=>Gc.value),i=M(()=>$c.value);zr(()=>{Gc.value=Kc()});let a=N(void 0);zr(()=>{let e=null,t=z(a)?.getRootNode();t instanceof ShadowRoot?e=t.host:globalThis.document!==void 0&&(e=document.documentElement),e&&e.setAttribute(`data-theme`,z(r))}),zr(()=>{let e=e=>{if(e.key===`?`&&!_g()){e.preventDefault(),nl(n());return}if(!$c.value&&!_g()&&e.key>=`1`&&e.key<=`9`){let t=parseInt(e.key,10)-1;t<nV.length&&Mu(nV[t])}};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)});let o=M(()=>z(r)===`dark`?`Dark`:z(r)===`light`?`Light`:`System`);var s=BV(),c=F(s),l=F(c);NV(l,{orientation:`vertical`});var u=L(l,2),d=F(u);mV(d,{});var f=L(d,2),p=F(f),m=e=>{Um(e,{size:14})},h=e=>{Nh(e,{size:14})},g=e=>{Vm(e,{size:14})};W(p,e=>{z(r)===`dark`?e(m):z(r)===`light`?e(h,1):e(g,-1)});var _=L(p);D(f);var v=L(f,2);kp(F(v),{size:14}),Ke(),D(v),D(u),D(c);var y=L(c,2),b=F(y);zV(b,{});var x=L(b,2);NV(F(x),{orientation:`horizontal`}),D(x);var S=L(x,2);cV(F(S),{}),D(S),D(y);var C=L(y,2),w=e=>{vV(e,{get shortcuts(){return z(i)},get onClose(){return tl}})};W(C,e=>{z(i)&&e(w)}),D(s),Uo(s,e=>P(a,e),()=>z(a)),R(()=>{J(f,`title`,`Theme: ${z(o)} (click to cycle)`),U(_,` ${z(o)??``}`)}),B(`click`,f,function(...e){Jc?.apply(this,e)}),B(`click`,v,()=>el(n())),H(e,s),at()}na([`click`]);var HV=250,UV=5e3;function WV(e={}){let t=e.now??(()=>Date.now()),n=e.debounceMs??HV,r=e.limit??UV,i=0,a=null,o=null,s=!1;function c(){let t=pl.value,n=e.baseUrl??(t?$o(t):null)??globalThis.location?.origin??``;return{fetch:e.fetch??globalThis.fetch.bind(globalThis),baseUrl:n}}async function l(){if(s)return;let e=++i;a?.abort();let n=new AbortController;a=n;let o={query:``,window:Ms(Es(ml.value,t())),limit:r},l={...c(),signal:n.signal},[u,d]=await Promise.all([GV(o,l),wA(o,l)]);e!==i||s||(u.status===`ok`?(hl.value=u.traces,_l.value=`ready`):u.status===`error`&&(_l.value=`unavailable`),d.status===`ok`&&(gl.value=d.errors))}function u(){if(!s){if(o&&clearTimeout(o),n<=0){l();return}o=setTimeout(()=>{o=null,l()},n)}}return{refresh:l,invalidate:u,dispose(){s=!0,o&&clearTimeout(o),a?.abort()}}}async function GV(e,t){let n=[],r=new Set,i;do{let a=await xA({...e,cursor:i},t);if(a.status!==`ok`)return a;if(n.push(...a.traces),i=a.nextCursor??void 0,i&&r.has(i))return{status:`error`,message:`The trace query returned a repeated pagination cursor.`};i&&r.add(i)}while(i);return{status:`ok`,traces:n,nextCursor:null}}var KV=`data-autotel-portal`;function qV(e){let t=e.querySelector(`[${KV}]`);if(t)return t;let n=document.createElement(`div`);return n.setAttribute(KV,``),n.style.position=`absolute`,n.style.top=`0`,n.style.left=`0`,n.style.zIndex=`2147483000`,e.appendChild(n),n}var JV=V(`<!> <!>`,1),YV=V(`<div class="contents"><!></div>`);function XV(e,t){it(t,!0);function n(e){Mu(e.tab??`traces`),Nl.value=e.q??``,Pl.value=e.status??`all`,Fl.value=e.minDuration??0,ml.value=e.window??Cs,Ml.value=e.sort??Zu,zl.value=e.genaiQuery??``,e.traceId&&Wc(e.traceId,e.spanId)}zr(()=>{pl.value=t.wsUrl});let r=WV();zr(()=>(r.refresh(),()=>r.dispose())),zr(()=>{ml.value,cl.value.length,r.invalidate()});let i=N(void 0),a=N(void 0);zr(()=>{if(!z(i))return;let e=z(i).getRootNode();P(a,qV(e instanceof ShadowRoot?e:document.body),!0)}),zr(()=>{t.deepLink&&n(t.deepLink)}),zr(()=>{let e=Uc.value;e&&cl.value.some(t=>t.traceId===e.traceId)&&(Nu(e.traceId,e.spanId??null),Mu(`traces`),Uc.value=null)});let o=null;zr(()=>{if(t.mode!==`fullpage`)return;let e={tab:Bc.value,traceId:Vc.value??void 0,spanId:Hc.value??void 0,q:Nl.value||void 0,status:Pl.value,minDuration:Fl.value,window:ml.value,sort:Ml.value,genaiQuery:zl.value||void 0};if(Uc.value)return;let n=ed(e);if(n===location.hash)return;let r=td(o,e);o=e;let i=`${location.pathname}${location.search}${n}`;r===`push`?history.pushState(history.state,``,i):history.replaceState(history.state,``,i)}),zr(()=>{if(t.mode!==`fullpage`)return;let e=()=>{let e=$u(location.hash);o=e,n(e)};return window.addEventListener(`hashchange`,e),()=>window.removeEventListener(`hashchange`,e)}),zr(()=>{Wu(),ns($o(t.wsUrl));let e=new Qo(t.wsUrl);fl.value=`connecting`;let n=e.onStatusChange(e=>{fl.value=e}),r=e.onMessage(Tu);return e.connect(),()=>{r(),n(),e.disconnect()}});var s=YV();uE(F(s),{get defaultPortalTo(){return z(a)},children:(e,n)=>{var r=da(),i=I(r),a=e=>{VV(e,{})},o=e=>{var t=JV(),n=I(t);Vf(n,{}),AV(L(n,2),{}),H(e,t)};W(i,e=>{t.mode===`fullpage`?e(a):e(o,-1)}),H(e,r)},$$slots:{default:!0}}),D(s),Uo(s,e=>P(i,e),()=>z(i)),H(e,s),at()}function ZV(e,t){let n=ha(XV,{target:e,props:t});return()=>{ya(n)}}var QV=`/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
39
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-outline-style:solid}::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Hanken Grotesk", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "SF Mono", monospace;--color-red-100:#ffe2e2;--color-red-400:#ff6568;--color-red-500:#fb2c36;--color-red-600:#e40014;--color-red-700:#bf000f;--color-orange-100:#ffedd5;--color-orange-400:#ff8b1a;--color-orange-500:#fe6e00;--color-orange-600:#f05100;--color-orange-700:#c53c00;--color-amber-100:#fef3c6;--color-amber-500:#f99c00;--color-amber-600:#dd7400;--color-amber-700:#b75000;--color-yellow-100:#fef9c2;--color-yellow-500:#edb200;--color-yellow-600:#cd8900;--color-green-100:#dcfce7;--color-green-400:#05df72;--color-green-500:#00c758;--color-green-600:#00a544;--color-emerald-500:#00bb7f;--color-emerald-600:#009767;--color-teal-500:#00baa7;--color-teal-600:#009588;--color-cyan-100:#cefafe;--color-cyan-500:#00b7d7;--color-cyan-600:#0092b5;--color-sky-500:#00a5ef;--color-sky-600:#0084cc;--color-blue-100:#dbeafe;--color-blue-400:#54a2ff;--color-blue-500:#3080ff;--color-blue-600:#155dfc;--color-indigo-500:#625fff;--color-indigo-600:#4f39f6;--color-violet-100:#ede9fe;--color-violet-500:#8d54ff;--color-violet-600:#7f22fe;--color-violet-700:#7008e7;--color-purple-100:#f3e8ff;--color-purple-400:#c07eff;--color-purple-500:#ac4bff;--color-purple-600:#9810fa;--color-fuchsia-500:#e12afb;--color-fuchsia-600:#c600db;--color-rose-500:#ff2357;--color-rose-600:#e70044;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-400:#99a1af;--color-gray-500:#6a7282;--color-gray-900:#101828;--color-stone-500:#79716b;--color-stone-600:#57534d;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--leading-snug:1.375;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface:var(--at-surface);--color-subtle:var(--at-muted);--color-hover:var(--at-surface-hover);--color-code:var(--at-code);--color-fg:var(--at-text-primary);--color-fg-muted:var(--at-text-secondary);--color-fg-subtle:var(--at-text-muted);--color-line:var(--at-border);--color-line-subtle:var(--at-border-light);--color-accent:var(--at-accent);--color-danger:var(--at-error-text);--color-danger-bg:var(--at-error-bg);--color-danger-border:var(--at-error-border);--color-success:var(--at-ok-text);--color-success-bg:var(--at-ok-bg);--color-success-border:var(--at-ok-border);--color-warning:var(--at-warn-text);--color-warning-bg:var(--at-warn-bg);--color-warning-border:var(--at-warn-border);--color-selected:var(--at-selected-bg)}@supports (color:color(display-p3 0 0 0)){:root,:host{--color-red-100:color(display-p3 .980386 .889727 .887779);--color-red-400:color(display-p3 .933534 .431676 .423491);--color-red-500:color(display-p3 .903738 .262579 .253307);--color-red-600:color(display-p3 .830323 .140383 .133196);--color-red-700:color(display-p3 .692737 .116232 .104679);--color-orange-100:color(display-p3 .988762 .931393 .843273);--color-orange-400:color(display-p3 .950192 .561807 .211017);--color-orange-500:color(display-p3 .946589 .449788 .0757345);--color-orange-600:color(display-p3 .887467 .341665 .0219962);--color-orange-700:color(display-p3 .729844 .257256 .0511062);--color-amber-100:color(display-p3 .989391 .954583 .796328);--color-amber-500:color(display-p3 .93994 .620584 .0585367);--color-amber-600:color(display-p3 .827144 .467166 .0336006);--color-amber-700:color(display-p3 .67989 .32771 .0520514);--color-yellow-100:color(display-p3 .993436 .977463 .782913);--color-yellow-500:color(display-p3 .903651 .703062 .0745389);--color-yellow-600:color(display-p3 .776342 .542492 .041709);--color-green-100:color(display-p3 .885269 .984329 .910368);--color-green-400:color(display-p3 .399536 .862346 .49324);--color-green-500:color(display-p3 .308734 .774754 .374307);--color-green-600:color(display-p3 .243882 .640824 .294808);--color-emerald-500:color(display-p3 .267113 .726847 .508397);--color-emerald-600:color(display-p3 .206557 .589057 .413962);--color-teal-500:color(display-p3 .266569 .721518 .655462);--color-teal-600:color(display-p3 .207114 .579584 .53668);--color-cyan-100:color(display-p3 .843085 .97553 .992573);--color-cyan-500:color(display-p3 .246703 .710032 .841444);--color-cyan-600:color(display-p3 .193249 .564651 .707197);--color-sky-500:color(display-p3 .219113 .639027 .931479);--color-sky-600:color(display-p3 .162505 .509376 .796082);--color-blue-100:color(display-p3 .869214 .915931 .989622);--color-blue-400:color(display-p3 .397443 .62813 .992116);--color-blue-500:color(display-p3 .266422 .491219 .988624);--color-blue-600:color(display-p3 .174493 .358974 .950247);--color-indigo-500:color(display-p3 .380374 .372235 .971707);--color-indigo-600:color(display-p3 .297656 .227891 .929242);--color-violet-100:color(display-p3 .926222 .913546 .990178);--color-violet-500:color(display-p3 .523372 .329605 .990884);--color-violet-600:color(display-p3 .459951 .162666 .957985);--color-violet-700:color(display-p3 .40161 .0841901 .871151);--color-purple-100:color(display-p3 .945034 .910569 .992972);--color-purple-400:color(display-p3 .719919 .492497 .995173);--color-purple-500:color(display-p3 .629519 .30089 .990817);--color-purple-600:color(display-p3 .546729 .130167 .94439);--color-fuchsia-500:color(display-p3 .81268 .241966 .951571);--color-fuchsia-600:color(display-p3 .716587 .083681 .841036);--color-rose-500:color(display-p3 .921824 .240748 .355666);--color-rose-600:color(display-p3 .848792 .102011 .269259);--color-gray-50:color(display-p3 .977213 .98084 .985102);--color-gray-100:color(display-p3 .953567 .956796 .964321);--color-gray-400:color(display-p3 .605734 .630385 .680158);--color-gray-500:color(display-p3 .421287 .446085 .504784);--color-gray-900:color(display-p3 .070423 .0928982 .151928);--color-stone-500:color(display-p3 .467445 .443064 .42264);--color-stone-600:color(display-p3 .339543 .325291 .304619)}}@supports (color:lab(0% 0 0)){:root,:host{--color-red-100:lab(92.243% 10.2865 3.83865);--color-red-400:lab(63.7053% 60.745 31.3109);--color-red-500:lab(55.4814% 75.0732 48.8528);--color-red-600:lab(48.4493% 77.4328 61.5452);--color-red-700:lab(40.4273% 67.2623 53.7441);--color-orange-100:lab(94.7127% 3.58394 14.3151);--color-orange-400:lab(70.0429% 42.5156 75.8207);--color-orange-500:lab(64.272% 57.1788 90.3583);--color-orange-600:lab(57.1026% 64.2584 89.8886);--color-orange-700:lab(46.4615% 57.7275 70.8507);--color-amber-100:lab(95.916% -1.21653 23.111);--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-amber-600:lab(60.3514% 40.5624 87.1228);--color-amber-700:lab(47.2709% 42.9082 69.2966);--color-yellow-100:lab(97.3564% -4.51407 27.344);--color-yellow-500:lab(76.3898% 14.5258 98.4589);--color-yellow-600:lab(62.7799% 22.4197 86.1544);--color-green-100:lab(96.1861% -13.8464 6.52365);--color-green-400:lab(78.503% -64.9265 39.7492);--color-green-500:lab(70.5521% -66.5147 45.8073);--color-green-600:lab(59.0978% -58.6621 41.2579);--color-emerald-500:lab(66.9756% -58.27 19.5419);--color-emerald-600:lab(55.0481% -49.9246 15.93);--color-teal-500:lab(67.3859% -49.0983 -2.63511);--color-teal-600:lab(55.0223% -41.0774 -3.90277);--color-cyan-100:lab(95.3146% -13.8285 -6.84732);--color-cyan-500:lab(67.805% -35.3952 -30.2018);--color-cyan-600:lab(55.1767% -26.7496 -30.5139);--color-sky-500:lab(63.3038% -18.433 -51.0407);--color-sky-600:lab(51.7754% -11.4712 -49.8349);--color-blue-100:lab(92.0301% -2.24757 -11.6453);--color-blue-400:lab(65.0361% -1.42065 -56.9802);--color-blue-500:lab(54.1736% 13.3369 -74.6839);--color-blue-600:lab(44.0605% 29.0279 -86.0352);--color-indigo-500:lab(48.295% 38.3129 -81.9673);--color-indigo-600:lab(38.4009% 52.6132 -92.3857);--color-violet-100:lab(93.0838% 4.35197 -9.88284);--color-violet-500:lab(49.9355% 55.1776 -81.8963);--color-violet-600:lab(41.088% 68.9966 -91.995);--color-violet-700:lab(35.2783% 67.9912 -88.793);--color-purple-100:lab(93.3333% 6.97437 -9.83434);--color-purple-400:lab(63.6946% 47.6127 -59.2066);--color-purple-500:lab(52.0183% 66.11 -78.2316);--color-purple-600:lab(43.0295% 75.21 -86.5669);--color-fuchsia-500:lab(56.4256% 83.132 -64.639);--color-fuchsia-600:lab(47.5131% 83.4271 -63.0363);--color-rose-500:lab(56.101% 79.4328 31.4532);--color-rose-600:lab(49.1882% 81.577 36.0311);--color-gray-50:lab(98.2596% -.247031 -.706708);--color-gray-100:lab(96.1596% -.0823438 -1.13575);--color-gray-400:lab(65.9269% -.832707 -8.17473);--color-gray-500:lab(47.7841% -.393182 -10.0268);--color-gray-900:lab(8.11897% .811279 -12.254);--color-stone-500:lab(48.1164% 2.35701 4.26852);--color-stone-600:lab(35.5168% 1.08604 4.07829)}}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::-webkit-file-upload-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::-webkit-file-upload-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:-webkit-any([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:-webkit-any([multiple],[size])) optgroup option{padding-inline-start:20px}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::-webkit-file-upload-button{margin-inline-end:4px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-year-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-month-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-day-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-hour-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-minute-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-second-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-millisecond-field{padding-block-start:0;padding-block-end:0}::-webkit-datetime-edit-meridiem-field{padding-block-start:0;padding-block-end:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button{-webkit-appearance:button;appearance:button}input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::-webkit-file-upload-button{-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{top:0;bottom:0;left:0;right:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-top-1{top:calc(var(--spacing) * -1)}.top-0{top:0}.top-0\\.5{top:calc(var(--spacing) * .5)}.top-1{top:var(--spacing)}.top-1\\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-3{top:calc(var(--spacing) * 3)}.top-10{top:calc(var(--spacing) * 10)}.top-\\[7px\\]{top:7px}.top-\\[9px\\]{top:9px}.top-\\[calc\\(100\\%-2px\\)\\]{top:calc(100% - 2px)}.top-full{top:100%}.-right-1{right:calc(var(--spacing) * -1)}.-right-1\\.5{right:calc(var(--spacing) * -1.5)}.right-0{right:0}.right-1{right:var(--spacing)}.right-1\\.5{right:calc(var(--spacing) * 1.5)}.right-2{right:calc(var(--spacing) * 2)}.right-3{right:calc(var(--spacing) * 3)}.-bottom-1{bottom:calc(var(--spacing) * -1)}.bottom-0{bottom:0}.bottom-0\\.5{bottom:calc(var(--spacing) * .5)}.bottom-1{bottom:var(--spacing)}.bottom-3{bottom:calc(var(--spacing) * 3)}.-left-1{left:calc(var(--spacing) * -1)}.-left-1\\.5{left:calc(var(--spacing) * -1.5)}.-left-px{left:-1px}.left-0{left:0}.left-1{left:var(--spacing)}.left-1\\/2{left:50%}.left-2{left:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.z-\\[1\\]{z-index:1}.z-\\[1000\\]{z-index:1000}.z-\\[1001\\]{z-index:1001}.z-\\[1100\\]{z-index:1100}.z-\\[1200\\]{z-index:1200}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-1{margin:calc(var(--spacing) * -1)}.m-4{margin:calc(var(--spacing) * 4)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline-start:auto;margin-inline-end:auto}.my-1{margin-block:var(--spacing)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mr-0\\.5{margin-right:calc(var(--spacing) * .5)}.mr-1{margin-right:var(--spacing)}.mr-1\\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-0\\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-0\\.5{margin-left:calc(var(--spacing) * .5)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-0\\.5{height:calc(var(--spacing) * .5)}.h-1{height:var(--spacing)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-1\\/2{height:50%}.h-2{height:calc(var(--spacing) * 2)}.h-2\\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-24{height:calc(var(--spacing) * 24)}.h-\\[300px\\]{height:300px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-\\[60vh\\]{max-height:60vh}.max-h-\\[80vh\\]{max-height:80vh}.max-h-\\[85vh\\]{max-height:85vh}.max-h-\\[160px\\]{max-height:160px}.max-h-\\[200px\\]{max-height:200px}.max-h-\\[240px\\]{max-height:240px}.min-h-0{min-height:0}.min-h-\\[120px\\]{min-height:120px}.w-0\\.5{width:calc(var(--spacing) * .5)}.w-1{width:var(--spacing)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-2\\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-14{width:calc(var(--spacing) * 14)}.w-24{width:calc(var(--spacing) * 24)}.w-44{width:calc(var(--spacing) * 44)}.w-48{width:calc(var(--spacing) * 48)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-80{width:calc(var(--spacing) * 80)}.w-\\[1\\%\\]{width:1%}.w-\\[80px\\]{width:80px}.w-\\[200px\\]{width:200px}.w-\\[480px\\]{width:480px}.w-\\[min\\(560px\\,92vw\\)\\]{width:min(560px,92vw)}.w-\\[min\\(700px\\,92vw\\)\\]{width:min(700px,92vw)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.w-screen{width:100vw}.max-w-2xl{max-width:var(--container-2xl)}.max-w-\\[10rem\\]{max-width:10rem}.max-w-\\[14rem\\]{max-width:14rem}.max-w-\\[16rem\\]{max-width:16rem}.max-w-\\[90vw\\]{max-width:90vw}.max-w-\\[200px\\]{max-width:200px}.max-w-\\[420px\\]{max-width:420px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:0}.min-w-\\[8px\\]{min-width:8px}.min-w-\\[16px\\]{min-width:16px}.min-w-\\[180px\\]{min-width:180px}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-125{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-90{rotate:-90deg}.rotate-90{rotate:90deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-ew-resize{cursor:ew-resize}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\\[80px_1fr\\]{grid-template-columns:80px 1fr}.grid-cols-\\[100px_1fr\\]{grid-template-columns:100px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-px{gap:1px}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:0;margin-block-end:0}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-line>:not(:last-child)){border-color:var(--color-line)}:where(.divide-line-subtle>:not(:last-child)){border-color:var(--color-line-subtle)}.self-stretch{align-self:stretch}.justify-self-end{justify-self:flex-end}.justify-self-start{justify-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[1px\\]{border-radius:1px}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-accent,.border-accent\\/30{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.border-accent\\/30{border-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.border-accent\\/40{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.border-accent\\/40{border-color:color-mix(in oklab, var(--color-accent) 40%, transparent)}}.border-amber-500\\/20{border-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.border-amber-500\\/20{border-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.border-amber-500\\/30{border-color:#f99c004d}@supports (color:color-mix(in lab, red, red)){.border-amber-500\\/30{border-color:color-mix(in oklab, var(--color-amber-500) 30%, transparent)}}.border-blue-500\\/30{border-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/30{border-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.border-cyan-500\\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab, red, red)){.border-cyan-500\\/30{border-color:color-mix(in oklab, var(--color-cyan-500) 30%, transparent)}}.border-danger-border{border-color:var(--color-danger-border)}.border-danger\\/30{border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.border-danger\\/30{border-color:color-mix(in oklab, var(--color-danger) 30%, transparent)}}.border-emerald-500\\/30{border-color:#00bb7f4d}@supports (color:color-mix(in lab, red, red)){.border-emerald-500\\/30{border-color:color-mix(in oklab, var(--color-emerald-500) 30%, transparent)}}.border-fuchsia-500\\/30{border-color:#e12afb4d}@supports (color:color-mix(in lab, red, red)){.border-fuchsia-500\\/30{border-color:color-mix(in oklab, var(--color-fuchsia-500) 30%, transparent)}}.border-green-500\\/30{border-color:#00c7584d}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/30{border-color:color-mix(in oklab, var(--color-green-500) 30%, transparent)}}.border-indigo-500\\/30{border-color:#625fff4d}@supports (color:color-mix(in lab, red, red)){.border-indigo-500\\/30{border-color:color-mix(in oklab, var(--color-indigo-500) 30%, transparent)}}.border-line{border-color:var(--color-line)}.border-line-subtle{border-color:var(--color-line-subtle)}.border-line\\/50{border-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.border-line\\/50{border-color:color-mix(in oklab, var(--color-line) 50%, transparent)}}.border-line\\/60{border-color:var(--color-line)}@supports (color:color-mix(in lab, red, red)){.border-line\\/60{border-color:color-mix(in oklab, var(--color-line) 60%, transparent)}}.border-orange-500\\/30{border-color:#fe6e004d}@supports (color:color-mix(in lab, red, red)){.border-orange-500\\/30{border-color:color-mix(in oklab, var(--color-orange-500) 30%, transparent)}}.border-purple-500\\/30{border-color:#ac4bff4d}@supports (color:color-mix(in lab, red, red)){.border-purple-500\\/30{border-color:color-mix(in oklab, var(--color-purple-500) 30%, transparent)}}.border-red-500\\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-stone-500\\/30{border-color:#79716b4d}@supports (color:color-mix(in lab, red, red)){.border-stone-500\\/30{border-color:color-mix(in oklab, var(--color-stone-500) 30%, transparent)}}.border-success-border{border-color:var(--color-success-border)}.border-violet-500\\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-500\\/30{border-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.border-warning-border{border-color:var(--color-warning-border)}.border-white{border-color:var(--color-white)}.border-l-warning{border-left-color:var(--color-warning)}.\\!bg-accent{background-color:var(--color-accent)!important}.bg-accent,.bg-accent\\/5{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/5{background-color:color-mix(in oklab, var(--color-accent) 5%, transparent)}}.bg-accent\\/10{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-accent\\/12{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/12{background-color:color-mix(in oklab, var(--color-accent) 12%, transparent)}}.bg-accent\\/15{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/15{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.bg-accent\\/70{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/70{background-color:color-mix(in oklab, var(--color-accent) 70%, transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-amber-500\\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-amber-500\\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-black\\/55{background-color:#0000008c}@supports (color:color-mix(in lab, red, red)){.bg-black\\/55{background-color:color-mix(in oklab, var(--color-black) 55%, transparent)}}.bg-black\\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-code{background-color:var(--color-code)}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-cyan-500\\/15{background-color:#00b7d726}@supports (color:color-mix(in lab, red, red)){.bg-cyan-500\\/15{background-color:color-mix(in oklab, var(--color-cyan-500) 15%, transparent)}}.bg-danger{background-color:var(--color-danger)}.bg-danger-bg,.bg-danger-bg\\/40{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.bg-danger-bg\\/40{background-color:color-mix(in oklab, var(--color-danger-bg) 40%, transparent)}}.bg-danger\\/5{background-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.bg-danger\\/5{background-color:color-mix(in oklab, var(--color-danger) 5%, transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-emerald-500\\/10{background-color:#00bb7f1a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/10{background-color:color-mix(in oklab, var(--color-emerald-500) 10%, transparent)}}.bg-emerald-500\\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-fg-subtle{background-color:var(--color-fg-subtle)}.bg-fuchsia-500\\/15{background-color:#e12afb26}@supports (color:color-mix(in lab, red, red)){.bg-fuchsia-500\\/15{background-color:color-mix(in oklab, var(--color-fuchsia-500) 15%, transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-400{background-color:var(--color-gray-400)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/15{background-color:#00c75826}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/15{background-color:color-mix(in oklab, var(--color-green-500) 15%, transparent)}}.bg-hover{background-color:var(--color-hover)}.bg-indigo-500\\/15{background-color:#625fff26}@supports (color:color-mix(in lab, red, red)){.bg-indigo-500\\/15{background-color:color-mix(in oklab, var(--color-indigo-500) 15%, transparent)}}.bg-line{background-color:var(--color-line)}.bg-line-subtle{background-color:var(--color-line-subtle)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-orange-400{background-color:var(--color-orange-400)}.bg-orange-500{background-color:var(--color-orange-500)}.bg-orange-500\\/15{background-color:#fe6e0026}@supports (color:color-mix(in lab, red, red)){.bg-orange-500\\/15{background-color:color-mix(in oklab, var(--color-orange-500) 15%, transparent)}}.bg-purple-100{background-color:var(--color-purple-100)}.bg-purple-400{background-color:var(--color-purple-400)}.bg-purple-500{background-color:var(--color-purple-500)}.bg-purple-500\\/15{background-color:#ac4bff26}@supports (color:color-mix(in lab, red, red)){.bg-purple-500\\/15{background-color:color-mix(in oklab, var(--color-purple-500) 15%, transparent)}}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-rose-500{background-color:var(--color-rose-500)}.bg-selected{background-color:var(--color-selected)}.bg-sky-500{background-color:var(--color-sky-500)}.bg-stone-500\\/15{background-color:#79716b26}@supports (color:color-mix(in lab, red, red)){.bg-stone-500\\/15{background-color:color-mix(in oklab, var(--color-stone-500) 15%, transparent)}}.bg-subtle,.bg-subtle\\/40{background-color:var(--color-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-subtle\\/40{background-color:color-mix(in oklab, var(--color-subtle) 40%, transparent)}}.bg-subtle\\/50{background-color:var(--color-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-subtle\\/50{background-color:color-mix(in oklab, var(--color-subtle) 50%, transparent)}}.bg-subtle\\/60{background-color:var(--color-subtle)}@supports (color:color-mix(in lab, red, red)){.bg-subtle\\/60{background-color:color-mix(in oklab, var(--color-subtle) 60%, transparent)}}.bg-success{background-color:var(--color-success)}.bg-success-bg{background-color:var(--color-success-bg)}.bg-surface{background-color:var(--color-surface)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-transparent{background-color:#0000}.bg-violet-100{background-color:var(--color-violet-100)}.bg-violet-500{background-color:var(--color-violet-500)}.bg-violet-500\\/10{background-color:#8d54ff1a}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/10{background-color:color-mix(in oklab, var(--color-violet-500) 10%, transparent)}}.bg-violet-500\\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/15{background-color:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.bg-warning{background-color:var(--color-warning)}.bg-warning-bg{background-color:var(--color-warning-bg)}.bg-warning\\/5{background-color:var(--color-warning)}@supports (color:color-mix(in lab, red, red)){.bg-warning\\/5{background-color:color-mix(in oklab, var(--color-warning) 5%, transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.fill-\\[var\\(--color-fg-subtle\\)\\]{fill:var(--color-fg-subtle)}.fill-amber-500\\/15{fill:#f99c0026}@supports (color:color-mix(in lab, red, red)){.fill-amber-500\\/15{fill:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.fill-amber-600{fill:var(--color-amber-600)}.fill-blue-500\\/15{fill:#3080ff26}@supports (color:color-mix(in lab, red, red)){.fill-blue-500\\/15{fill:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.fill-blue-600{fill:var(--color-blue-600)}.fill-danger{fill:var(--color-danger)}.fill-emerald-500\\/15{fill:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.fill-emerald-500\\/15{fill:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.fill-emerald-600{fill:var(--color-emerald-600)}.fill-fg-muted{fill:var(--color-fg-muted)}.fill-fg-subtle{fill:var(--color-fg-subtle)}.fill-red-500{fill:var(--color-red-500)}.fill-rose-500\\/15{fill:#ff235726}@supports (color:color-mix(in lab, red, red)){.fill-rose-500\\/15{fill:color-mix(in oklab, var(--color-rose-500) 15%, transparent)}}.fill-rose-600{fill:var(--color-rose-600)}.fill-sky-500\\/15{fill:#00a5ef26}@supports (color:color-mix(in lab, red, red)){.fill-sky-500\\/15{fill:color-mix(in oklab, var(--color-sky-500) 15%, transparent)}}.fill-sky-600{fill:var(--color-sky-600)}.fill-teal-500\\/15{fill:#00baa726}@supports (color:color-mix(in lab, red, red)){.fill-teal-500\\/15{fill:color-mix(in oklab, var(--color-teal-500) 15%, transparent)}}.fill-teal-600{fill:var(--color-teal-600)}.fill-violet-500\\/15{fill:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.fill-violet-500\\/15{fill:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.fill-violet-600{fill:var(--color-violet-600)}.fill-warning{fill:var(--color-warning)}.fill-white{fill:var(--color-white)}.stroke-accent{stroke:var(--color-accent)}.stroke-amber-500\\/60{stroke:#f99c0099}@supports (color:color-mix(in lab, red, red)){.stroke-amber-500\\/60{stroke:color-mix(in oklab, var(--color-amber-500) 60%, transparent)}}.stroke-blue-500\\/60{stroke:#3080ff99}@supports (color:color-mix(in lab, red, red)){.stroke-blue-500\\/60{stroke:color-mix(in oklab, var(--color-blue-500) 60%, transparent)}}.stroke-emerald-500\\/60{stroke:#00bb7f99}@supports (color:color-mix(in lab, red, red)){.stroke-emerald-500\\/60{stroke:color-mix(in oklab, var(--color-emerald-500) 60%, transparent)}}.stroke-fg-subtle{stroke:var(--color-fg-subtle)}.stroke-red-500{stroke:var(--color-red-500)}.stroke-rose-500\\/60{stroke:#ff235799}@supports (color:color-mix(in lab, red, red)){.stroke-rose-500\\/60{stroke:color-mix(in oklab, var(--color-rose-500) 60%, transparent)}}.stroke-sky-500\\/60{stroke:#00a5ef99}@supports (color:color-mix(in lab, red, red)){.stroke-sky-500\\/60{stroke:color-mix(in oklab, var(--color-sky-500) 60%, transparent)}}.stroke-teal-500\\/60{stroke:#00baa799}@supports (color:color-mix(in lab, red, red)){.stroke-teal-500\\/60{stroke:color-mix(in oklab, var(--color-teal-500) 60%, transparent)}}.stroke-violet-500\\/60{stroke:#8d54ff99}@supports (color:color-mix(in lab, red, red)){.stroke-violet-500\\/60{stroke:color-mix(in oklab, var(--color-violet-500) 60%, transparent)}}.stroke-\\[2\\.5px\\]{stroke-width:2.5px}.p-0{padding:0}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-0\\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-px{padding-block-start:1px;padding-block-end:1px}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-1\\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:var(--spacing)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-1{padding-bottom:var(--spacing)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-0\\.5{padding-left:calc(var(--spacing) * .5)}.pl-1{padding-left:var(--spacing)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-7{padding-left:calc(var(--spacing) * 7)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent,.text-accent\\/80{color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.text-accent\\/80{color:color-mix(in oklab, var(--color-accent) 80%, transparent)}}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-700{color:var(--color-amber-700)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-cyan-500{color:var(--color-cyan-500)}.text-cyan-600{color:var(--color-cyan-600)}.text-danger{color:var(--color-danger)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-fg{color:var(--color-fg)}.text-fg-muted,.text-fg-muted\\/70{color:var(--color-fg-muted)}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\\/70{color:color-mix(in oklab, var(--color-fg-muted) 70%, transparent)}}.text-fg-muted\\/80{color:var(--color-fg-muted)}@supports (color:color-mix(in lab, red, red)){.text-fg-muted\\/80{color:color-mix(in oklab, var(--color-fg-muted) 80%, transparent)}}.text-fg-subtle,.text-fg-subtle\\/60{color:var(--color-fg-subtle)}@supports (color:color-mix(in lab, red, red)){.text-fg-subtle\\/60{color:color-mix(in oklab, var(--color-fg-subtle) 60%, transparent)}}.text-fuchsia-500{color:var(--color-fuchsia-500)}.text-fuchsia-600{color:var(--color-fuchsia-600)}.text-gray-50{color:var(--color-gray-50)}.text-gray-100{color:var(--color-gray-100)}.text-gray-500{color:var(--color-gray-500)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-indigo-500{color:var(--color-indigo-500)}.text-indigo-600{color:var(--color-indigo-600)}.text-line{color:var(--color-line)}.text-line-subtle{color:var(--color-line-subtle)}.text-orange-600{color:var(--color-orange-600)}.text-orange-700{color:var(--color-orange-700)}.text-purple-500{color:var(--color-purple-500)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-stone-600{color:var(--color-stone-600)}.text-success{color:var(--color-success)}.text-surface{color:var(--color-surface)}.text-violet-500{color:var(--color-violet-500)}.text-violet-600{color:var(--color-violet-600)}.text-violet-600\\/70{color:#7f22feb3}@supports (color:color-mix(in lab, red, red)){.text-violet-600\\/70{color:color-mix(in oklab, var(--color-violet-600) 70%, transparent)}}.text-violet-700{color:var(--color-violet-700)}.text-warning{color:var(--color-warning)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\\[0_1px_0_\\#d4d4d8\\]{--tw-shadow:0 1px 0 var(--tw-shadow-color,#d4d4d8);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring,.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-accent,.ring-accent\\/20{--tw-ring-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.ring-accent\\/20{--tw-ring-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.ring-danger{--tw-ring-color:var(--color-danger)}.ring-offset-1{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.outline-none{--tw-outline-style:none;outline-style:none}.row-virtual{content-visibility:auto;contain-intrinsic-size:auto 32px}.select-none{-webkit-user-select:none;user-select:none}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.group-hover\\:bg-accent:is(:where(.group):hover *){background-color:var(--color-accent)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}.group-hover\\/stat\\:underline:is(:where(.group\\/stat):hover *){text-decoration-line:underline}}.group-focus-visible\\:bg-accent:is(:where(.group):focus-visible *){background-color:var(--color-accent)}.last\\:mr-0:last-child{margin-right:0}.last\\:mb-0:last-child{margin-bottom:0}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:scale-125:hover{--tw-scale-x:125%;--tw-scale-y:125%;--tw-scale-z:125%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:border-danger-border:hover{border-color:var(--color-danger-border)}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/5:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/5:hover{background-color:color-mix(in oklab, var(--color-accent) 5%, transparent)}}.hover\\:bg-accent\\/10:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/10:hover{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.hover\\:bg-accent\\/15:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/15:hover{background-color:color-mix(in oklab, var(--color-accent) 15%, transparent)}}.hover\\:bg-accent\\/20:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/20:hover{background-color:color-mix(in oklab, var(--color-accent) 20%, transparent)}}.hover\\:bg-accent\\/90:hover{background-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/90:hover{background-color:color-mix(in oklab, var(--color-accent) 90%, transparent)}}.hover\\:bg-blue-400:hover{background-color:var(--color-blue-400)}.hover\\:bg-danger-bg:hover,.hover\\:bg-danger-bg\\/60:hover{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger-bg\\/60:hover{background-color:color-mix(in oklab, var(--color-danger-bg) 60%, transparent)}}.hover\\:bg-danger-bg\\/70:hover{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger-bg\\/70:hover{background-color:color-mix(in oklab, var(--color-danger-bg) 70%, transparent)}}.hover\\:bg-danger-bg\\/80:hover{background-color:var(--color-danger-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger-bg\\/80:hover{background-color:color-mix(in oklab, var(--color-danger-bg) 80%, transparent)}}.hover\\:bg-emerald-500\\/25:hover{background-color:#00bb7f40}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-emerald-500\\/25:hover{background-color:color-mix(in oklab, var(--color-emerald-500) 25%, transparent)}}.hover\\:bg-gray-400:hover{background-color:var(--color-gray-400)}.hover\\:bg-green-400:hover{background-color:var(--color-green-400)}.hover\\:bg-hover:hover,.hover\\:bg-hover\\/50:hover{background-color:var(--color-hover)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-hover\\/50:hover{background-color:color-mix(in oklab, var(--color-hover) 50%, transparent)}}.hover\\:bg-orange-400:hover{background-color:var(--color-orange-400)}.hover\\:bg-purple-400:hover{background-color:var(--color-purple-400)}.hover\\:bg-red-400:hover{background-color:var(--color-red-400)}.hover\\:bg-red-500\\/25:hover{background-color:#fb2c3640}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-red-500\\/25:hover{background-color:color-mix(in oklab, var(--color-red-500) 25%, transparent)}}.hover\\:bg-subtle:hover{background-color:var(--color-subtle)}.hover\\:bg-violet-500\\/25:hover{background-color:#8d54ff40}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-violet-500\\/25:hover{background-color:color-mix(in oklab, var(--color-violet-500) 25%, transparent)}}.hover\\:bg-warning-bg:hover,.hover\\:bg-warning-bg\\/80:hover{background-color:var(--color-warning-bg)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-warning-bg\\/80:hover{background-color:color-mix(in oklab, var(--color-warning-bg) 80%, transparent)}}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-fg:hover{color:var(--color-fg)}.hover\\:text-fg-muted:hover{color:var(--color-fg-muted)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}.hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.focus\\:border-line:focus{border-color:var(--color-line)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\\:ring-accent:focus{--tw-ring-color:var(--color-accent)}.focus\\:ring-danger:focus{--tw-ring-color:var(--color-danger)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:bg-hover:focus-visible{background-color:var(--color-hover)}.focus-visible\\:opacity-100:focus-visible{opacity:1}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-accent:focus-visible{--tw-ring-color:var(--color-accent)}.focus-visible\\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\\:outline-accent:focus-visible{outline-color:var(--color-accent)}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:cursor-grabbing:active{cursor:grabbing}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-30:disabled{opacity:.3}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}@media (hover:hover){.disabled\\:hover\\:bg-transparent:disabled:hover{background-color:#0000}}@media (min-width:40rem){.sm\\:inline{display:inline}.sm\\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:48rem){.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width>=28rem){.\\@md\\:block{display:block}.\\@md\\:flex{display:flex}.\\@md\\:hidden{display:none}.\\@md\\:w-72{width:calc(var(--spacing) * 72)}.\\@md\\:shrink-0{flex-shrink:0}.\\@md\\:border-r{border-right-style:var(--tw-border-style);border-right-width:1px}}}*{box-sizing:border-box}:host,:root{--at-surface:#fcfdfe;--at-surface-hover:#f5f6f9;--at-muted:#f2f5f8;--at-code:#f3f6fa;--at-text-primary:#1a1f29;--at-text-secondary:#515864;--at-text-muted:#868d97;--at-border:#dfe1e5;--at-border-light:#eef0f3;--at-shadow:#171f2e1a;--at-accent:#3177dc;--at-error-bg:#ffecea;--at-error-text:#cc2827;--at-error-border:#f8a49d;--at-ok-bg:#e0fae4;--at-ok-text:#0e8c41;--at-ok-border:#89da9b;--at-warn-bg:#fff0d1;--at-warn-text:#a16500;--at-warn-border:#e5c379;--at-highlight-bg:#fff6d1;--at-selected-bg:#e9f3ff;--at-scrollbar-thumb:#ced1d6;--at-scrollbar-thumb-hover:#999fa8}@supports (color:color(display-p3 0 0 0)){:host,:root{--at-surface:color(display-p3 .989609 .992382 .997175);--at-surface-hover:color(display-p3 .960878 .966392 .975929);--at-muted:color(display-p3 .951795 .958673 .970576);--at-code:color(display-p3 .955784 .964045 .978342);--at-text-primary:color(display-p3 .106201 .12247 .157281);--at-text-secondary:color(display-p3 .323937 .346032 .388256);--at-text-muted:color(display-p3 .528711 .550898 .589512);--at-border:color(display-p3 .875378 .883503 .897566);--at-border-light:color(display-p3 .934839 .941694 .953557);--at-shadow:color(display-p3 .0979137 .121845 .174352/.1);--at-accent:color(display-p3 .266557 .461859 .837181);--at-error-bg:color(display-p3 1.00853 .923821 .911661);--at-error-text:color(display-p3 .7372 .221951 .191652);--at-error-border:color(display-p3 .924106 .659231 .626897);--at-ok-bg:color(display-p3 .896905 .977035 .900254);--at-ok-text:color(display-p3 .247857 .539374 .286752);--at-ok-border:color(display-p3 .609805 .847347 .627399);--at-warn-bg:color(display-p3 .997819 .943515 .816698);--at-warn-text:color(display-p3 .607081 .403503 .0845266);--at-warn-border:color(display-p3 .876737 .768181 .515098);--at-highlight-bg:color(display-p3 .994932 .96424 .830533);--at-selected-bg:color(display-p3 .910207 .951093 1.02232);--at-scrollbar-thumb:color(display-p3 .80912 .819793 .838278);--at-scrollbar-thumb-hover:color(display-p3 .60332 .622263 .655172)}}@supports (color:lab(0% 0 0)){:host,:root{--at-surface:lab(99.2988% -.132054 -.745118);--at-surface-hover:lab(96.9735% -.261605 -1.48877);--at-muted:lab(96.2747% -.325292 -1.86008);--at-code:lab(96.736% -.388592 -2.23104);--at-text-primary:lab(11.741% -.349499 -7.30943);--at-text-secondary:lab(37.2801% -.862852 -7.73156);--at-text-muted:lab(58.1854% -1.04666 -6.62941);--at-border:lab(89.5439% -.387847 -2.23061);--at-border-light:lab(94.7667% -.325233 -1.86);--at-shadow:lab(11.6682% -.113927 -10.842/.1);--at-accent:lab(49.8997% 5.63273 -59.1615);--at-error-bg:lab(95.0829% 9.19622 4.96011);--at-error-text:lab(45.8049% 62.9533 44.1);--at-error-border:lab(75.8489% 31.0226 17.1029);--at-ok-bg:lab(95.8936% -11.84 7.56052);--at-ok-text:lab(50.824% -45.5785 30.3918);--at-ok-border:lab(80.6679% -35.8792 23.2774);--at-warn-bg:lab(95.5261% 2.02972 19.535);--at-warn-text:lab(48.6413% 21.7782 63.415);--at-warn-border:lab(80.5062% 5.88706 41.41);--at-highlight-bg:lab(96.7959% -.972748 19.4827);--at-selected-bg:lab(95.2674% -1.71572 -11.035);--at-scrollbar-thumb:lab(83.7382% -.510752 -2.97043);--at-scrollbar-thumb-hover:lab(65.1562% -.902712 -5.53997)}}:host([data-theme=dark]),:root[data-theme=dark]{--at-surface:#151b25;--at-surface-hover:#1d2431;--at-muted:#191f2b;--at-code:#1b222d;--at-text-primary:#dfe5ed;--at-text-secondary:#9ca5b3;--at-text-muted:#727b88;--at-border:#2e3643;--at-border-light:#232934;--at-shadow:#00000073;--at-accent:#63a6ff;--at-error-bg:#742e2940;--at-error-text:#ff7f73;--at-error-border:#cf413a;--at-ok-bg:#39794933;--at-ok-text:#6ed889;--at-ok-border:#2e9e52;--at-warn-bg:#7e5d1d38;--at-warn-text:#f1bf5b;--at-warn-border:#b07b00;--at-highlight-bg:#b8a4571f;--at-selected-bg:#6087c22e;--at-scrollbar-thumb:#3d434d;--at-scrollbar-thumb-hover:#565e6c}@supports (color:color(display-p3 0 0 0)){:host([data-theme=dark]),:root[data-theme=dark]{--at-surface:color(display-p3 .0866362 .104012 .141551);--at-surface-hover:color(display-p3 .119527 .140938 .187194);--at-muted:color(display-p3 .10291 .122282 .164135);--at-code:color(display-p3 .112011 .131618 .173879);--at-text-primary:color(display-p3 .880198 .897517 .925177);--at-text-secondary:color(display-p3 .618009 .647763 .695453);--at-text-muted:color(display-p3 .454817 .481202 .527256);--at-border:color(display-p3 .187231 .209329 .256415);--at-border-light:color(display-p3 .14159 .16023 .200008);--at-shadow:color(display-p3 0 0 0/.45);--at-accent:color(display-p3 .445537 .644287 .978823);--at-error-bg:color(display-p3 .422373 .197971 .171651/.25);--at-error-text:color(display-p3 .938127 .52257 .468553);--at-error-border:color(display-p3 .751519 .297873 .256966);--at-ok-bg:color(display-p3 .287508 .467968 .304198/.2);--at-ok-text:color(display-p3 .538207 .838899 .565385);--at-ok-border:color(display-p3 .319936 .612208 .354223);--at-warn-bg:color(display-p3 .474062 .369044 .161788/.22);--at-warn-text:color(display-p3 .915105 .755059 .421563);--at-warn-border:color(display-p3 .660566 .489104 .15495);--at-highlight-bg:color(display-p3 .708898 .646062 .385093/.12);--at-selected-bg:color(display-p3 .407909 .526271 .742584/.18);--at-scrollbar-thumb:color(display-p3 .241934 .260441 .299404);--at-scrollbar-thumb-hover:color(display-p3 .342885 .367416 .419047)}}@supports (color:lab(0% 0 0)){:host([data-theme=dark]),:root[data-theme=dark]{--at-surface:lab(9.40435% -.26536 -8.00193);--at-surface-hover:lab(14.0233% -.313595 -9.45683);--at-muted:lab(11.7138% -.289485 -8.72938);--at-code:lab(12.8756% -.320837 -8.73908);--at-text-primary:lab(90.6923% -.891328 -4.41389);--at-text-secondary:lab(67.4629% -1.51783 -8.03232);--at-text-muted:lab(51.2096% -1.21292 -8.07107);--at-border:lab(22.1597% -.497714 -9.15806);--at-border-light:lab(16.373% -.418156 -8.05204);--at-shadow:lab(0% 0 0/.45);--at-accent:lab(66.6499% -1.4444 -52.3046);--at-error-bg:lab(29.4384% 31.1218 19.7271/.25);--at-error-text:lab(68.3188% 49.5998 30.86);--at-error-border:lab(49.5145% 56.3761 37.3383);--at-ok-bg:lab(45.5916% -30.0637 19.6786/.2);--at-ok-text:lab(78.7102% -45.0683 29.4705);--at-ok-border:lab(57.7987% -45.4011 30.0617);--at-warn-bg:lab(42.0282% 9.23485 40.2236/.22);--at-warn-text:lab(80.4197% 11.1201 56.0991);--at-warn-border:lab(55.853% 15.6735 62.0226);--at-highlight-bg:lab(67.9375% .259876 42.1122/.12);--at-selected-bg:lab(55.3782% -1.45972 -35.4324/.18);--at-scrollbar-thumb:lab(27.992% -.544697 -7.38333);--at-scrollbar-thumb-hover:lab(39.5702% -.685155 -9.23098)}}@media (prefers-color-scheme:dark){:host([data-theme=system]),:root[data-theme=system]{--at-surface:#151b25;--at-surface-hover:#1d2431;--at-muted:#191f2b;--at-code:#1b222d;--at-text-primary:#dfe5ed;--at-text-secondary:#9ca5b3;--at-text-muted:#727b88;--at-border:#2e3643;--at-border-light:#232934;--at-shadow:#00000073;--at-accent:#63a6ff;--at-error-bg:#742e2940;--at-error-text:#ff7f73;--at-error-border:#cf413a;--at-ok-bg:#39794933;--at-ok-text:#6ed889;--at-ok-border:#2e9e52;--at-highlight-bg:#b8a4571f;--at-selected-bg:#6087c22e;--at-scrollbar-thumb:#3d434d;--at-scrollbar-thumb-hover:#565e6c}@supports (color:color(display-p3 0 0 0)){:host([data-theme=system]),:root[data-theme=system]{--at-surface:color(display-p3 .0866362 .104012 .141551);--at-surface-hover:color(display-p3 .119527 .140938 .187194);--at-muted:color(display-p3 .10291 .122282 .164135);--at-code:color(display-p3 .112011 .131618 .173879);--at-text-primary:color(display-p3 .880198 .897517 .925177);--at-text-secondary:color(display-p3 .618009 .647763 .695453);--at-text-muted:color(display-p3 .454817 .481202 .527256);--at-border:color(display-p3 .187231 .209329 .256415);--at-border-light:color(display-p3 .14159 .16023 .200008);--at-shadow:color(display-p3 0 0 0/.45);--at-accent:color(display-p3 .445537 .644287 .978823);--at-error-bg:color(display-p3 .422373 .197971 .171651/.25);--at-error-text:color(display-p3 .938127 .52257 .468553);--at-error-border:color(display-p3 .751519 .297873 .256966);--at-ok-bg:color(display-p3 .287508 .467968 .304198/.2);--at-ok-text:color(display-p3 .538207 .838899 .565385);--at-ok-border:color(display-p3 .319936 .612208 .354223);--at-highlight-bg:color(display-p3 .708898 .646062 .385093/.12);--at-selected-bg:color(display-p3 .407909 .526271 .742584/.18);--at-scrollbar-thumb:color(display-p3 .241934 .260441 .299404);--at-scrollbar-thumb-hover:color(display-p3 .342885 .367416 .419047)}}@supports (color:lab(0% 0 0)){:host([data-theme=system]),:root[data-theme=system]{--at-surface:lab(9.40435% -.26536 -8.00193);--at-surface-hover:lab(14.0233% -.313595 -9.45683);--at-muted:lab(11.7138% -.289485 -8.72938);--at-code:lab(12.8756% -.320837 -8.73908);--at-text-primary:lab(90.6923% -.891328 -4.41389);--at-text-secondary:lab(67.4629% -1.51783 -8.03232);--at-text-muted:lab(51.2096% -1.21292 -8.07107);--at-border:lab(22.1597% -.497714 -9.15806);--at-border-light:lab(16.373% -.418156 -8.05204);--at-shadow:lab(0% 0 0/.45);--at-accent:lab(66.6499% -1.4444 -52.3046);--at-error-bg:lab(29.4384% 31.1218 19.7271/.25);--at-error-text:lab(68.3188% 49.5998 30.86);--at-error-border:lab(49.5145% 56.3761 37.3383);--at-ok-bg:lab(45.5916% -30.0637 19.6786/.2);--at-ok-text:lab(78.7102% -45.0683 29.4705);--at-ok-border:lab(57.7987% -45.4011 30.0617);--at-highlight-bg:lab(67.9375% .259876 42.1122/.12);--at-selected-bg:lab(55.3782% -1.45972 -35.4324/.18);--at-scrollbar-thumb:lab(27.992% -.544697 -7.38333);--at-scrollbar-thumb-hover:lab(39.5702% -.685155 -9.23098)}}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--at-scrollbar-thumb,#d4d4d8);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--at-scrollbar-thumb-hover,#a1a1aa)}.waterfall-row:hover .waterfall-bar{filter:brightness(1.1)}.waterfall-bar{transition:all .15s ease-out}.trace-list-container{container-type:inline-size}.trace-grid{grid-template-columns:20px 104px minmax(0,1fr) 84px 52px 88px 60px 16px;align-items:center;gap:.75rem;display:grid}@container (width<=640px){.trace-grid{grid-template-columns:20px 92px minmax(0,1fr) 80px 58px 16px}.trace-col-spans,.trace-col-time{display:none}}@keyframes at-modal-in{0%{opacity:0;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes at-fade-in{0%{opacity:0}to{opacity:1}}.at-modal-in{animation:.17s cubic-bezier(.22,1,.36,1) at-modal-in}.at-backdrop-in{animation:.17s ease-out at-fade-in}.at-wrap-anywhere{overflow-wrap:anywhere;word-break:normal}.at-no-scrollbar{scrollbar-width:none}.at-no-scrollbar::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.at-modal-in,.at-backdrop-in{animation:none}}.at-edge-label{paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round}:where(a,button,[role=button],input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:2px solid var(--at-accent);outline-offset:2px}:where([data-focus-inset]):focus-visible{outline-offset:-2px}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}`,$V=class extends HTMLElement{constructor(...e){super(...e),x(this,`cleanup`,null)}connectedCallback(){let e=this.attachShadow({mode:`open`}),t=document.createElement(`link`);t.rel=`stylesheet`,t.href=`https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:ital,wght@0,400;0,500;0,600;1,400&display=swap`,e.appendChild(t);let n=document.createElement(`style`);n.textContent=QV,e.appendChild(n);let r=this.getAttribute(`mode`)||`widget`,i=this.getAttribute(`ws-url`)||this.deriveWsUrl();this.cleanup=ZV(e,{mode:r,wsUrl:i})}disconnectedCallback(){this.cleanup?.(),this.cleanup=null}deriveWsUrl(){return`ws://${location.host}/ws`}};x($V,`observedAttributes`,[`mode`,`ws-url`]);function eH(){customElements.get(`autotel-devtools`)||customElements.define(`autotel-devtools`,$V)}var tH=document.currentScript;function nH(){let e=$u(location.hash);return Object.keys(e).length>0?e:void 0}function rH(){let e=nH();if(!tH?.src)return{mode:`widget`,wsUrl:`ws://${location.host}/ws`,deepLink:e};let t=new URL(tH.src),n=t.searchParams;return{mode:n.get(`mode`)||`widget`,wsUrl:n.get(`ws`)||`ws://${t.host}/ws`,deepLink:e}}function iH(){if(eH(),document.querySelector(`autotel-devtools`))return;let{mode:e,wsUrl:t,deepLink:n}=rH(),r=document.createElement(`div`);r.id=`autotel-devtools-root`,document.body.appendChild(r);let i=r.attachShadow({mode:`open`}),a=document.createElement(`style`);a.textContent=QV,i.appendChild(a),ZV(i,{mode:e,wsUrl:t,deepLink:n})}return document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,iH):iH(),e.mountWidget=ZV,e.registerElement=eH,e})({});