nuxt-devtools-observatory 0.1.30 → 0.1.31

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.
Files changed (39) hide show
  1. package/README.md +63 -4
  2. package/client/.env +2 -1
  3. package/client/.env.example +2 -1
  4. package/client/dist/assets/index-BuMXDBO9.js +17 -0
  5. package/client/dist/assets/{index-BmGW_M3W.css → index-CwcspZ6w.css} +1 -1
  6. package/client/dist/index.html +2 -2
  7. package/client/src/App.vue +4 -0
  8. package/client/src/components/Flamegraph.vue +443 -0
  9. package/client/src/components/SpanInspector.vue +446 -0
  10. package/client/src/components/TraceFilter.vue +344 -0
  11. package/client/src/components/WaterfallView.vue +443 -0
  12. package/client/src/composables/useTraceFilter.ts +164 -0
  13. package/client/src/stores/observatory.ts +5 -1
  14. package/client/src/views/TraceViewer.vue +599 -0
  15. package/client/src/views/TransitionTimeline.vue +1 -6
  16. package/dist/module.d.mts +5 -0
  17. package/dist/module.json +1 -1
  18. package/dist/module.mjs +30 -44
  19. package/dist/runtime/composables/render-registry.js +66 -110
  20. package/dist/runtime/composables/transition-registry.js +103 -28
  21. package/dist/runtime/instrumentation/asyncData.d.ts +9 -0
  22. package/dist/runtime/instrumentation/asyncData.js +49 -0
  23. package/dist/runtime/instrumentation/component.d.ts +2 -0
  24. package/dist/runtime/instrumentation/component.js +126 -0
  25. package/dist/runtime/instrumentation/fetch.d.ts +2 -0
  26. package/dist/runtime/instrumentation/fetch.js +89 -0
  27. package/dist/runtime/instrumentation/route.d.ts +6 -0
  28. package/dist/runtime/instrumentation/route.js +41 -0
  29. package/dist/runtime/plugin.js +38 -2
  30. package/dist/runtime/tracing/context.d.ts +9 -0
  31. package/dist/runtime/tracing/context.js +15 -0
  32. package/dist/runtime/tracing/trace.d.ts +25 -0
  33. package/dist/runtime/tracing/trace.js +0 -0
  34. package/dist/runtime/tracing/traceStore.d.ts +39 -0
  35. package/dist/runtime/tracing/traceStore.js +101 -0
  36. package/dist/runtime/tracing/tracing.d.ts +27 -0
  37. package/dist/runtime/tracing/tracing.js +48 -0
  38. package/package.json +1 -1
  39. package/client/dist/assets/index-BCaKoHBH.js +0 -17
package/README.md CHANGED
@@ -2,13 +2,14 @@
2
2
 
3
3
  # Nuxt DevTools Observatory
4
4
 
5
- Nuxt DevTools module providing five missing observability features:
5
+ Nuxt DevTools module providing six missing observability features:
6
6
 
7
7
  - **useFetch Dashboard** — central view of all async data calls, cache keys, waterfall timeline
8
8
  - **provide/inject Graph** — interactive tree showing the full injection topology, value inspection, scope labels, shadow detection, and missing-provider warnings
9
9
  - **Composable Tracker** — live view of active composables, reactive state, change history, leak detection, inline value editing, and reverse lookup
10
10
  - **Render Heatmap** — component tree colour-coded by render frequency and duration, with per-render timeline, route filtering, and persistent-component accuracy fixes
11
11
  - **Transition Tracker** — live timeline of every `<Transition>` lifecycle event with phase, duration, and cancellation state
12
+ - **Trace Viewer** — per-route span traces capturing component mount order, real render durations, fetch timing, composable setup, and navigation events in a unified Flamegraph and Waterfall view
12
13
 
13
14
  ## Documentation website
14
15
 
@@ -40,7 +41,8 @@ Options set in `nuxt.config.ts` take precedence over environment variables.
40
41
  - `provideInjectGraph` (boolean) — Enable provide/inject graph
41
42
  - `composableTracker` (boolean) — Enable composable tracker
42
43
  - `renderHeatmap` (boolean) — Enable render heatmap
43
- - `transitionTracker` (boolean) — Enable transition tracker
44
+ - `transitionTracker` (boolean) — Enable transition tracker (set via `OBSERVATORY_TRANSITION_TRACKER`)
45
+ - `traceViewer` (boolean) — Enable trace viewer tab with per-route Flamegraph and Waterfall (set via `OBSERVATORY_TRACE_VIEWER`)
44
46
  - `composableNavigationMode` (string, 'route' | 'session') — Composable tracker mode: 'route' clears entries on page navigation (default), 'session' persists entries across navigation for historical inspection (`OBSERVATORY_COMPOSABLE_NAVIGATION_MODE`)
45
47
  - `heatmapThresholdCount` (number) — Highlight components with N+ renders in heatmap
46
48
  - `heatmapThresholdTime` (number) — Highlight components with render time above this (ms)
@@ -68,6 +70,7 @@ export default defineNuxtConfig({
68
70
  composableTracker: true, // Enable composable tracker
69
71
  renderHeatmap: true, // Enable render heatmap
70
72
  transitionTracker: true, // Enable transition tracker
73
+ traceViewer: true, // Enable trace viewer
71
74
  composableNavigationMode: 'route', // 'route' clears entries on navigation (default), 'session' persists across navigation
72
75
  heatmapThresholdCount: 5, // Highlight components with 5+ renders
73
76
  heatmapThresholdTime: 1600, // Highlight components with render time above this (ms)
@@ -85,7 +88,7 @@ export default defineNuxtConfig({
85
88
  })
86
89
  ```
87
90
 
88
- Open the Nuxt DevTools panel — five new tabs will appear.
91
+ Open the Nuxt DevTools panel — six new tabs will appear.
89
92
 
90
93
  The DevTools client SPA is served same-origin via the Nuxt dev server at `/__observatory/`.
91
94
 
@@ -227,6 +230,55 @@ The panel provides:
227
230
  - The route filter shows components active on a route but cannot hide persistent
228
231
  components (they appear on every route by definition)
229
232
 
233
+ ### Trace Viewer
234
+
235
+ [![Trace Viewer](https://github.com/victorlmneves/nuxt-devtools-observatory/blob/main/docs/screenshots/trace-viewer.png)](https://github.com/victorlmneves/nuxt-devtools-observatory/blob/main/docs/screenshots/trace-viewer.png)
236
+
237
+ The Trace Viewer automatically collects per-route traces that span the full lifecycle of
238
+ each page visit. Every significant event is recorded as a typed span and grouped into a
239
+ single `TraceEntry` per navigation, so you can see everything that happened — in order —
240
+ after a route change.
241
+
242
+ **Span types collected:**
243
+
244
+ | Type | Emitted by | What it measures |
245
+ | ------------ | --------------------------------- | ---------------------------------------------------- |
246
+ | `navigation` | `router.afterEach` hook | Route change from → to, duration |
247
+ | `component` | Vue mixin lifecycle hooks | Exact `mounted` / `updated` hook cost |
248
+ | `render` | `beforeMount` → `mounted` bracket | Real DOM-patching time per component mount/update |
249
+ | `fetch` | `useFetch` / `useAsyncData` shim | Network request start, server/client origin, latency |
250
+ | `composable` | `__trackComposable` shim | Setup phase of every tracked `useXxx()` call |
251
+ | `transition` | `<Transition>` wrapper | Full enter/leave lifecycle phase |
252
+
253
+ **Render span tracking:**
254
+ Real render time is measured by storing `performance.now()` in a `WeakMap<ComponentPublicInstance, number>` inside `beforeMount` / `beforeUpdate`, then reading it back in the corresponding `mounted` / `updated` hooks. This produces a `type: 'render'` span whose duration is the actual DOM-patching cost, separately from the `component:mounted` hook span (which only measures the hook body itself).
255
+
256
+ **Trace anchoring:**
257
+ Each `TraceEntry` is anchored to the `startTime` of its first span, so bar positions in the timeline are always relative to the first event in the trace rather than the time the trace object was created.
258
+
259
+ The panel provides:
260
+
261
+ - **Trace list** — every captured route visit shown with name, total duration, and span count; click to open
262
+ - **Flamegraph tab** — collapsible span tree with horizontal duration bars, depth-based indentation, parent–child nesting, and a selected-span highlight (purple tint)
263
+ - **Waterfall tab** — spans grouped by type with a shared horizontal timeline, group headers, and status badges
264
+ - **Span inspector** — clicking any span opens a detail panel showing type, status, duration, start offset, and all metadata fields
265
+ - **Filter panel** — filter by span type and free-text search across span names and metadata
266
+ - **Duration labels** — spans narrower than 5 % of the timeline render their label outside the bar for readability
267
+ - **In-progress traces** — active traces show `~Xms` (computed from the latest span end offset) rather than a hard "in progress" label
268
+
269
+ **What it tells you:**
270
+
271
+ - Mount order and render cost of every component on the route
272
+ - Whether render time is dominated by the component `setup()` / lifecycle hooks or by actual DOM patching
273
+ - Which `useFetch` calls are in the critical path and how long each took
274
+ - Whether composable setup is adding meaningful latency
275
+ - Which components are slow to mount and might benefit from `<Suspense>` or lazy loading
276
+
277
+ **Known gaps:**
278
+
279
+ - SSR spans are not yet captured — only client-side navigation traces are collected
280
+ - Re-render counts are tracked by Render Heatmap; the Trace Viewer records individual render events but does not aggregate them
281
+
230
282
  ### Transition Tracker
231
283
 
232
284
  [![Transition Tracker](https://github.com/victorlmneves/nuxt-devtools-observatory/blob/main/docs/screenshots/transition-tracker.png)](https://github.com/victorlmneves/nuxt-devtools-observatory/blob/main/docs/screenshots/transition-tracker.png)
@@ -277,6 +329,12 @@ const result = useMyComposable()
277
329
  - [ ] Reverse lookup by object identity rather than key name only
278
330
  - [ ] Deep search inside nested `reactive` object properties
279
331
 
332
+ ### Trace Viewer
333
+
334
+ - [ ] SSR span collection (server-side navigation and composable setup)
335
+ - [ ] Cross-trace comparison view
336
+ - [ ] Export traces as JSON
337
+
280
338
  ## Development
281
339
 
282
340
  ```bash
@@ -341,7 +399,8 @@ client/
341
399
  ├── ProvideInjectGraph.vue ← provide/inject tab UI
342
400
  ├── ComposableTracker.vue ← Composable tab UI
343
401
  ├── RenderHeatmap.vue ← Heatmap tab UI
344
- └── TransitionTimeline.vue ← Transition tracker tab UI
402
+ ├── TransitionTimeline.vue ← Transition tracker tab UI
403
+ └── TraceViewer.vue ← Trace viewer tab UI (Flamegraph + Waterfall + Inspector)
345
404
 
346
405
  playground/
347
406
  ├── app.vue ← Demo app shell used during local development
package/client/.env CHANGED
@@ -1,9 +1,10 @@
1
- # Observatory registry/configurable limits
1
+ # VITE_Observatory registry/configurable limits
2
2
  VITE_OBSERVATORY_FETCH_DASHBOARD=true
3
3
  VITE_OBSERVATORY_PROVIDE_INJECT_GRAPH=true
4
4
  VITE_OBSERVATORY_COMPOSABLE_TRACKER=true
5
5
  VITE_OBSERVATORY_RENDER_HEATMAP=true
6
6
  VITE_OBSERVATORY_TRANSITION_TRACKER=true
7
+ VITE_OBSERVATORY_TRACE_VIEWER=true
7
8
  VITE_OBSERVATORY_MAX_FETCH_ENTRIES=200
8
9
  VITE_OBSERVATORY_MAX_PAYLOAD_BYTES=10000
9
10
  VITE_OBSERVATORY_MAX_TRANSITIONS=500
@@ -1,9 +1,10 @@
1
- # Observatory registry/configurable limits
1
+ # VITE_Observatory registry/configurable limits
2
2
  VITE_OBSERVATORY_FETCH_DASHBOARD=true
3
3
  VITE_OBSERVATORY_PROVIDE_INJECT_GRAPH=true
4
4
  VITE_OBSERVATORY_COMPOSABLE_TRACKER=true
5
5
  VITE_OBSERVATORY_RENDER_HEATMAP=true
6
6
  VITE_OBSERVATORY_TRANSITION_TRACKER=true
7
+ VITE_OBSERVATORY_TRACE_VIEWER=true
7
8
  VITE_OBSERVATORY_MAX_FETCH_ENTRIES=200
8
9
  VITE_OBSERVATORY_MAX_PAYLOAD_BYTES=10000
9
10
  VITE_OBSERVATORY_MAX_TRANSITIONS=500
@@ -0,0 +1,17 @@
1
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const l of r.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&n(l)}).observe(document,{childList:!0,subtree:!0});function s(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(o){if(o.ep)return;o.ep=!0;const r=s(o);fetch(o.href,r)}})();/**
2
+ * @vue/shared v3.5.30
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function Wn(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const we={},ts=[],pt=()=>{},Zo=()=>!1,tn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Kn=e=>e.startsWith("onUpdate:"),Fe=Object.assign,zn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},vr=Object.prototype.hasOwnProperty,be=(e,t)=>vr.call(e,t),ce=Array.isArray,ss=e=>Ms(e)==="[object Map]",sn=e=>Ms(e)==="[object Set]",fo=e=>Ms(e)==="[object Date]",he=e=>typeof e=="function",Ee=e=>typeof e=="string",ht=e=>typeof e=="symbol",$e=e=>e!==null&&typeof e=="object",ei=e=>($e(e)||he(e))&&he(e.then)&&he(e.catch),ti=Object.prototype.toString,Ms=e=>ti.call(e),gr=e=>Ms(e).slice(8,-1),si=e=>Ms(e)==="[object Object]",qn=e=>Ee(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ps=Wn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),nn=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},br=/-\w/g,tt=nn(e=>e.replace(br,t=>t.slice(1).toUpperCase())),yr=/\B([A-Z])/g,zt=nn(e=>e.replace(yr,"-$1").toLowerCase()),ni=nn(e=>e.charAt(0).toUpperCase()+e.slice(1)),vn=nn(e=>e?`on${ni(e)}`:""),ft=(e,t)=>!Object.is(e,t),Ds=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},oi=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},on=e=>{const t=parseFloat(e);return isNaN(t)?e:t},$r=e=>{const t=Ee(e)?Number(e):NaN;return isNaN(t)?e:t};let po;const rn=()=>po||(po=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Se(e){if(ce(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],o=Ee(n)?Cr(n):Se(n);if(o)for(const r in o)t[r]=o[r]}return t}else if(Ee(e)||$e(e))return e}const kr=/;(?![^(]*\))/g,wr=/:([^]+)/,xr=/\/\*[^]*?\*\//g;function Cr(e){const t={};return e.replace(xr,"").split(kr).forEach(s=>{if(s){const n=s.split(wr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function se(e){let t="";if(Ee(e))t=e;else if(ce(e))for(let s=0;s<e.length;s++){const n=se(e[s]);n&&(t+=n+" ")}else if($e(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Sr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Tr=Wn(Sr);function ii(e){return!!e||e===""}function Mr(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=Es(e[n],t[n]);return s}function Es(e,t){if(e===t)return!0;let s=fo(e),n=fo(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=ht(e),n=ht(t),s||n)return e===t;if(s=ce(e),n=ce(t),s||n)return s&&n?Mr(e,t):!1;if(s=$e(e),n=$e(t),s||n){if(!s||!n)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const l in e){const a=e.hasOwnProperty(l),c=t.hasOwnProperty(l);if(a&&!c||!a&&c||!Es(e[l],t[l]))return!1}}return String(e)===String(t)}function Er(e,t){return e.findIndex(s=>Es(s,t))}const ri=e=>!!(e&&e.__v_isRef===!0),p=e=>Ee(e)?e:e==null?"":ce(e)||$e(e)&&(e.toString===ti||!he(e.toString))?ri(e)?p(e.value):JSON.stringify(e,li,2):String(e),li=(e,t)=>ri(t)?li(e,t.value):ss(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,o],r)=>(s[gn(n,r)+" =>"]=o,s),{})}:sn(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>gn(s))}:ht(t)?gn(t):$e(t)&&!ce(t)&&!si(t)?String(t):t,gn=(e,t="")=>{var s;return ht(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
6
+ * @vue/reactivity v3.5.30
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let Ke;class Ir{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.__v_skip=!0,this.parent=Ke,!t&&Ke&&(this.index=(Ke.scopes||(Ke.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=Ke;try{return Ke=this,t()}finally{Ke=s}}}on(){++this._on===1&&(this.prevScope=Ke,Ke=this)}off(){this._on>0&&--this._on===0&&(Ke=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function Or(){return Ke}let Ce;const bn=new WeakSet;class ai{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,Ke&&Ke.active&&Ke.effects.push(this)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,bn.has(this)&&(bn.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||ui(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,ho(this),di(this);const t=Ce,s=st;Ce=this,st=!0;try{return this.fn()}finally{fi(this),Ce=t,st=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Xn(t);this.deps=this.depsTail=void 0,ho(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?bn.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Mn(this)&&this.run()}get dirty(){return Mn(this)}}let ci=0,hs,_s;function ui(e,t=!1){if(e.flags|=8,t){e.next=_s,_s=e;return}e.next=hs,hs=e}function Jn(){ci++}function Gn(){if(--ci>0)return;if(_s){let t=_s;for(_s=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;hs;){let t=hs;for(hs=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function di(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function fi(e){let t,s=e.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),Xn(n),Fr(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}e.deps=t,e.depsTail=s}function Mn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(pi(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function pi(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===ys)||(e.globalVersion=ys,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Mn(e))))return;e.flags|=2;const t=e.dep,s=Ce,n=st;Ce=e,st=!0;try{di(e);const o=e.fn(e._value);(t.version===0||ft(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Ce=s,st=n,fi(e),e.flags&=-3}}function Xn(e,t=!1){const{dep:s,prevSub:n,nextSub:o}=e;if(n&&(n.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)Xn(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Fr(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let st=!0;const hi=[];function kt(){hi.push(st),st=!1}function wt(){const e=hi.pop();st=e===void 0?!0:e}function ho(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Ce;Ce=void 0;try{t()}finally{Ce=s}}}let ys=0;class Ar{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Yn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!Ce||!st||Ce===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Ce)s=this.activeLink=new Ar(Ce,this),Ce.deps?(s.prevDep=Ce.depsTail,Ce.depsTail.nextDep=s,Ce.depsTail=s):Ce.deps=Ce.depsTail=s,_i(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=Ce.depsTail,s.nextDep=void 0,Ce.depsTail.nextDep=s,Ce.depsTail=s,Ce.deps===s&&(Ce.deps=n)}return s}trigger(t){this.version++,ys++,this.notify(t)}notify(t){Jn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Gn()}}}function _i(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)_i(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const En=new WeakMap,Bt=Symbol(""),In=Symbol(""),$s=Symbol("");function Le(e,t,s){if(st&&Ce){let n=En.get(e);n||En.set(e,n=new Map);let o=n.get(s);o||(n.set(s,o=new Yn),o.map=n,o.key=s),o.track()}}function yt(e,t,s,n,o,r){const l=En.get(e);if(!l){ys++;return}const a=c=>{c&&c.trigger()};if(Jn(),t==="clear")l.forEach(a);else{const c=ce(e),_=c&&qn(s);if(c&&s==="length"){const u=Number(n);l.forEach((m,w)=>{(w==="length"||w===$s||!ht(w)&&w>=u)&&a(m)})}else switch((s!==void 0||l.has(void 0))&&a(l.get(s)),_&&a(l.get($s)),t){case"add":c?_&&a(l.get("length")):(a(l.get(Bt)),ss(e)&&a(l.get(In)));break;case"delete":c||(a(l.get(Bt)),ss(e)&&a(l.get(In)));break;case"set":ss(e)&&a(l.get(Bt));break}}Gn()}function Jt(e){const t=ve(e);return t===e?t:(Le(t,"iterate",$s),Qe(e)?t:t.map(nt))}function ln(e){return Le(e=ve(e),"iterate",$s),e}function ut(e,t){return xt(e)?rs(Wt(e)?nt(t):t):nt(t)}const Nr={__proto__:null,[Symbol.iterator](){return yn(this,Symbol.iterator,e=>ut(this,e))},concat(...e){return Jt(this).concat(...e.map(t=>ce(t)?Jt(t):t))},entries(){return yn(this,"entries",e=>(e[1]=ut(this,e[1]),e))},every(e,t){return _t(this,"every",e,t,void 0,arguments)},filter(e,t){return _t(this,"filter",e,t,s=>s.map(n=>ut(this,n)),arguments)},find(e,t){return _t(this,"find",e,t,s=>ut(this,s),arguments)},findIndex(e,t){return _t(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return _t(this,"findLast",e,t,s=>ut(this,s),arguments)},findLastIndex(e,t){return _t(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return _t(this,"forEach",e,t,void 0,arguments)},includes(...e){return $n(this,"includes",e)},indexOf(...e){return $n(this,"indexOf",e)},join(e){return Jt(this).join(e)},lastIndexOf(...e){return $n(this,"lastIndexOf",e)},map(e,t){return _t(this,"map",e,t,void 0,arguments)},pop(){return as(this,"pop")},push(...e){return as(this,"push",e)},reduce(e,...t){return _o(this,"reduce",e,t)},reduceRight(e,...t){return _o(this,"reduceRight",e,t)},shift(){return as(this,"shift")},some(e,t){return _t(this,"some",e,t,void 0,arguments)},splice(...e){return as(this,"splice",e)},toReversed(){return Jt(this).toReversed()},toSorted(e){return Jt(this).toSorted(e)},toSpliced(...e){return Jt(this).toSpliced(...e)},unshift(...e){return as(this,"unshift",e)},values(){return yn(this,"values",e=>ut(this,e))}};function yn(e,t,s){const n=ln(e),o=n[t]();return n!==e&&!Qe(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=s(r.value)),r}),o}const Lr=Array.prototype;function _t(e,t,s,n,o,r){const l=ln(e),a=l!==e&&!Qe(e),c=l[t];if(c!==Lr[t]){const m=c.apply(e,r);return a?nt(m):m}let _=s;l!==e&&(a?_=function(m,w){return s.call(this,ut(e,m),w,e)}:s.length>2&&(_=function(m,w){return s.call(this,m,w,e)}));const u=c.call(l,_,n);return a&&o?o(u):u}function _o(e,t,s,n){const o=ln(e),r=o!==e&&!Qe(e);let l=s,a=!1;o!==e&&(r?(a=n.length===0,l=function(_,u,m){return a&&(a=!1,_=ut(e,_)),s.call(this,_,ut(e,u),m,e)}):s.length>3&&(l=function(_,u,m){return s.call(this,_,u,m,e)}));const c=o[t](l,...n);return a?ut(e,c):c}function $n(e,t,s){const n=ve(e);Le(n,"iterate",$s);const o=n[t](...s);return(o===-1||o===!1)&&to(s[0])?(s[0]=ve(s[0]),n[t](...s)):o}function as(e,t,s=[]){kt(),Jn();const n=ve(e)[t].apply(e,s);return Gn(),wt(),n}const Dr=Wn("__proto__,__v_isRef,__isVue"),mi=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(ht));function Pr(e){ht(e)||(e=String(e));const t=ve(this);return Le(t,"has",e),t.hasOwnProperty(e)}class vi{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(o?r?qr:$i:r?yi:bi).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const l=ce(t);if(!o){let c;if(l&&(c=Nr[s]))return c;if(s==="hasOwnProperty")return Pr}const a=Reflect.get(t,s,De(t)?t:n);if((ht(s)?mi.has(s):Dr(s))||(o||Le(t,"get",s),r))return a;if(De(a)){const c=l&&qn(s)?a:a.value;return o&&$e(c)?Fn(c):c}return $e(a)?o?Fn(a):Zn(a):a}}class gi extends vi{constructor(t=!1){super(!1,t)}set(t,s,n,o){let r=t[s];const l=ce(t)&&qn(s);if(!this._isShallow){const _=xt(r);if(!Qe(n)&&!xt(n)&&(r=ve(r),n=ve(n)),!l&&De(r)&&!De(n))return _||(r.value=n),!0}const a=l?Number(s)<t.length:be(t,s),c=Reflect.set(t,s,n,De(t)?t:o);return t===ve(o)&&(a?ft(n,r)&&yt(t,"set",s,n):yt(t,"add",s,n)),c}deleteProperty(t,s){const n=be(t,s);t[s];const o=Reflect.deleteProperty(t,s);return o&&n&&yt(t,"delete",s,void 0),o}has(t,s){const n=Reflect.has(t,s);return(!ht(s)||!mi.has(s))&&Le(t,"has",s),n}ownKeys(t){return Le(t,"iterate",ce(t)?"length":Bt),Reflect.ownKeys(t)}}class Rr extends vi{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const jr=new gi,Hr=new Rr,Vr=new gi(!0);const On=e=>e,As=e=>Reflect.getPrototypeOf(e);function Ur(e,t,s){return function(...n){const o=this.__v_raw,r=ve(o),l=ss(r),a=e==="entries"||e===Symbol.iterator&&l,c=e==="keys"&&l,_=o[e](...n),u=s?On:t?rs:nt;return!t&&Le(r,"iterate",c?In:Bt),Fe(Object.create(_),{next(){const{value:m,done:w}=_.next();return w?{value:m,done:w}:{value:a?[u(m[0]),u(m[1])]:u(m),done:w}}})}}function Ns(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Br(e,t){const s={get(o){const r=this.__v_raw,l=ve(r),a=ve(o);e||(ft(o,a)&&Le(l,"get",o),Le(l,"get",a));const{has:c}=As(l),_=t?On:e?rs:nt;if(c.call(l,o))return _(r.get(o));if(c.call(l,a))return _(r.get(a));r!==l&&r.get(o)},get size(){const o=this.__v_raw;return!e&&Le(ve(o),"iterate",Bt),o.size},has(o){const r=this.__v_raw,l=ve(r),a=ve(o);return e||(ft(o,a)&&Le(l,"has",o),Le(l,"has",a)),o===a?r.has(o):r.has(o)||r.has(a)},forEach(o,r){const l=this,a=l.__v_raw,c=ve(a),_=t?On:e?rs:nt;return!e&&Le(c,"iterate",Bt),a.forEach((u,m)=>o.call(r,_(u),_(m),l))}};return Fe(s,e?{add:Ns("add"),set:Ns("set"),delete:Ns("delete"),clear:Ns("clear")}:{add(o){const r=ve(this),l=As(r),a=ve(o),c=!t&&!Qe(o)&&!xt(o)?a:o;return l.has.call(r,c)||ft(o,c)&&l.has.call(r,o)||ft(a,c)&&l.has.call(r,a)||(r.add(c),yt(r,"add",c,c)),this},set(o,r){!t&&!Qe(r)&&!xt(r)&&(r=ve(r));const l=ve(this),{has:a,get:c}=As(l);let _=a.call(l,o);_||(o=ve(o),_=a.call(l,o));const u=c.call(l,o);return l.set(o,r),_?ft(r,u)&&yt(l,"set",o,r):yt(l,"add",o,r),this},delete(o){const r=ve(this),{has:l,get:a}=As(r);let c=l.call(r,o);c||(o=ve(o),c=l.call(r,o)),a&&a.call(r,o);const _=r.delete(o);return c&&yt(r,"delete",o,void 0),_},clear(){const o=ve(this),r=o.size!==0,l=o.clear();return r&&yt(o,"clear",void 0,void 0),l}}),["keys","values","entries",Symbol.iterator].forEach(o=>{s[o]=Ur(o,e,t)}),s}function Qn(e,t){const s=Br(e,t);return(n,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?n:Reflect.get(be(s,o)&&o in n?s:n,o,r)}const Wr={get:Qn(!1,!1)},Kr={get:Qn(!1,!0)},zr={get:Qn(!0,!1)};const bi=new WeakMap,yi=new WeakMap,$i=new WeakMap,qr=new WeakMap;function Jr(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gr(e){return e.__v_skip||!Object.isExtensible(e)?0:Jr(gr(e))}function Zn(e){return xt(e)?e:eo(e,!1,jr,Wr,bi)}function Xr(e){return eo(e,!1,Vr,Kr,yi)}function Fn(e){return eo(e,!0,Hr,zr,$i)}function eo(e,t,s,n,o){if(!$e(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const r=Gr(e);if(r===0)return e;const l=o.get(e);if(l)return l;const a=new Proxy(e,r===2?n:s);return o.set(e,a),a}function Wt(e){return xt(e)?Wt(e.__v_raw):!!(e&&e.__v_isReactive)}function xt(e){return!!(e&&e.__v_isReadonly)}function Qe(e){return!!(e&&e.__v_isShallow)}function to(e){return e?!!e.__v_raw:!1}function ve(e){const t=e&&e.__v_raw;return t?ve(t):e}function Yr(e){return!be(e,"__v_skip")&&Object.isExtensible(e)&&oi(e,"__v_skip",!0),e}const nt=e=>$e(e)?Zn(e):e,rs=e=>$e(e)?Fn(e):e;function De(e){return e?e.__v_isRef===!0:!1}function ae(e){return ki(e,!1)}function Qr(e){return ki(e,!0)}function ki(e,t){return De(e)?e:new Zr(e,t)}class Zr{constructor(t,s){this.dep=new Yn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:ve(t),this._value=s?t:nt(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Qe(t)||xt(t);t=n?t:ve(t),ft(t,s)&&(this._rawValue=t,this._value=n?t:nt(t),this.dep.trigger())}}function el(e){e.dep&&e.dep.trigger()}function xe(e){return De(e)?e.value:e}const tl={get:(e,t,s)=>t==="__v_raw"?e:xe(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const o=e[t];return De(o)&&!De(s)?(o.value=s,!0):Reflect.set(e,t,s,n)}};function wi(e){return Wt(e)?e:new Proxy(e,tl)}class sl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Yn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ys-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ce!==this)return ui(this,!0),!0}get value(){const t=this.dep.track();return pi(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function nl(e,t,s=!1){let n,o;return he(e)?n=e:(n=e.get,o=e.set),new sl(n,o,s)}const Ls={},Bs=new WeakMap;let Rt;function ol(e,t=!1,s=Rt){if(s){let n=Bs.get(s);n||Bs.set(s,n=[]),n.push(e)}}function il(e,t,s=we){const{immediate:n,deep:o,once:r,scheduler:l,augmentJob:a,call:c}=s,_=T=>o?T:Qe(T)||o===!1||o===0?$t(T,1):$t(T);let u,m,w,$,C=!1,f=!1;if(De(e)?(m=()=>e.value,C=Qe(e)):Wt(e)?(m=()=>_(e),C=!0):ce(e)?(f=!0,C=e.some(T=>Wt(T)||Qe(T)),m=()=>e.map(T=>{if(De(T))return T.value;if(Wt(T))return _(T);if(he(T))return c?c(T,2):T()})):he(e)?t?m=c?()=>c(e,2):e:m=()=>{if(w){kt();try{w()}finally{wt()}}const T=Rt;Rt=u;try{return c?c(e,3,[$]):e($)}finally{Rt=T}}:m=pt,t&&o){const T=m,W=o===!0?1/0:o;m=()=>$t(T(),W)}const h=Or(),N=()=>{u.stop(),h&&h.active&&zn(h.effects,u)};if(r&&t){const T=t;t=(...W)=>{T(...W),N()}}let R=f?new Array(e.length).fill(Ls):Ls;const F=T=>{if(!(!(u.flags&1)||!u.dirty&&!T))if(t){const W=u.run();if(o||C||(f?W.some((L,K)=>ft(L,R[K])):ft(W,R))){w&&w();const L=Rt;Rt=u;try{const K=[W,R===Ls?void 0:f&&R[0]===Ls?[]:R,$];R=W,c?c(t,3,K):t(...K)}finally{Rt=L}}}else u.run()};return a&&a(F),u=new ai(m),u.scheduler=l?()=>l(F,!1):F,$=T=>ol(T,!1,u),w=u.onStop=()=>{const T=Bs.get(u);if(T){if(c)c(T,4);else for(const W of T)W();Bs.delete(u)}},t?n?F(!0):R=u.run():l?l(F.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function $t(e,t=1/0,s){if(t<=0||!$e(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,De(e))$t(e.value,t,s);else if(ce(e))for(let n=0;n<e.length;n++)$t(e[n],t,s);else if(sn(e)||ss(e))e.forEach(n=>{$t(n,t,s)});else if(si(e)){for(const n in e)$t(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&$t(e[n],t,s)}return e}/**
10
+ * @vue/runtime-core v3.5.30
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function Is(e,t,s,n){try{return n?e(...n):e()}catch(o){an(o,t,s)}}function ot(e,t,s,n){if(he(e)){const o=Is(e,t,s,n);return o&&ei(o)&&o.catch(r=>{an(r,t,s)}),o}if(ce(e)){const o=[];for(let r=0;r<e.length;r++)o.push(ot(e[r],t,s,n));return o}}function an(e,t,s,n=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:l}=t&&t.appContext.config||we;if(t){let a=t.parent;const c=t.proxy,_=`https://vuejs.org/error-reference/#runtime-${s}`;for(;a;){const u=a.ec;if(u){for(let m=0;m<u.length;m++)if(u[m](e,c,_)===!1)return}a=a.parent}if(r){kt(),Is(r,null,10,[e,c,_]),wt();return}}rl(e,s,o,n,l)}function rl(e,t,s,n=!0,o=!1){if(o)throw e;console.error(e)}const je=[];let at=-1;const ns=[];let It=null,es=0;const xi=Promise.resolve();let Ws=null;function Ci(e){const t=Ws||xi;return e?t.then(this?e.bind(this):e):t}function ll(e){let t=at+1,s=je.length;for(;t<s;){const n=t+s>>>1,o=je[n],r=ks(o);r<e||r===e&&o.flags&2?t=n+1:s=n}return t}function so(e){if(!(e.flags&1)){const t=ks(e),s=je[je.length-1];!s||!(e.flags&2)&&t>=ks(s)?je.push(e):je.splice(ll(t),0,e),e.flags|=1,Si()}}function Si(){Ws||(Ws=xi.then(Mi))}function al(e){ce(e)?ns.push(...e):It&&e.id===-1?It.splice(es+1,0,e):e.flags&1||(ns.push(e),e.flags|=1),Si()}function mo(e,t,s=at+1){for(;s<je.length;s++){const n=je[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;je.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Ti(e){if(ns.length){const t=[...new Set(ns)].sort((s,n)=>ks(s)-ks(n));if(ns.length=0,It){It.push(...t);return}for(It=t,es=0;es<It.length;es++){const s=It[es];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}It=null,es=0}}const ks=e=>e.id==null?e.flags&2?-1:1/0:e.id;function Mi(e){try{for(at=0;at<je.length;at++){const t=je[at];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Is(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;at<je.length;at++){const t=je[at];t&&(t.flags&=-2)}at=-1,je.length=0,Ti(),Ws=null,(je.length||ns.length)&&Mi()}}let Ye=null,Ei=null;function Ks(e){const t=Ye;return Ye=e,Ei=e&&e.type.__scopeId||null,t}function ws(e,t=Ye,s){if(!t||e._n)return e;const n=(...o)=>{n._d&&Js(-1);const r=Ks(t);let l;try{l=e(...o)}finally{Ks(r),n._d&&Js(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}function Kt(e,t){if(Ye===null)return e;const s=pn(Ye),n=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,l,a,c=we]=t[o];r&&(he(r)&&(r={mounted:r,updated:r}),r.deep&&$t(l),n.push({dir:r,instance:s,value:l,oldValue:void 0,arg:a,modifiers:c}))}return e}function Nt(e,t,s,n){const o=e.dirs,r=t&&t.dirs;for(let l=0;l<o.length;l++){const a=o[l];r&&(a.oldValue=r[l].value);let c=a.dir[n];c&&(kt(),ot(c,s,8,[e.el,a,e,t]),wt())}}function cl(e,t){if(Ve){let s=Ve.provides;const n=Ve.parent&&Ve.parent.provides;n===s&&(s=Ve.provides=Object.create(n)),s[e]=t}}function Ps(e,t,s=!1){const n=lr();if(n||os){let o=os?os._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return s&&he(t)?t.call(n&&n.proxy):t}}const ul=Symbol.for("v-scx"),dl=()=>Ps(ul);function Ot(e,t,s){return Ii(e,t,s)}function Ii(e,t,s=we){const{immediate:n,deep:o,flush:r,once:l}=s,a=Fe({},s),c=t&&n||!t&&r!=="post";let _;if(Ss){if(r==="sync"){const $=dl();_=$.__watcherHandles||($.__watcherHandles=[])}else if(!c){const $=()=>{};return $.stop=pt,$.resume=pt,$.pause=pt,$}}const u=Ve;a.call=($,C,f)=>ot($,u,C,f);let m=!1;r==="post"?a.scheduler=$=>{We($,u&&u.suspense)}:r!=="sync"&&(m=!0,a.scheduler=($,C)=>{C?$():so($)}),a.augmentJob=$=>{t&&($.flags|=4),m&&($.flags|=2,u&&($.id=u.uid,$.i=u))};const w=il(e,t,a);return Ss&&(_?_.push(w):c&&w()),w}function fl(e,t,s){const n=this.proxy,o=Ee(e)?e.includes(".")?Oi(n,e):()=>n[e]:e.bind(n,n);let r;he(t)?r=t:(r=t.handler,s=t);const l=Os(this),a=Ii(o,r.bind(n),s);return l(),a}function Oi(e,t){const s=t.split(".");return()=>{let n=e;for(let o=0;o<s.length&&n;o++)n=n[s[o]];return n}}const pl=Symbol("_vte"),Fi=e=>e.__isTeleport,ct=Symbol("_leaveCb"),cs=Symbol("_enterCb");function hl(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Hi(()=>{e.isMounted=!0}),no(()=>{e.isUnmounting=!0}),e}const Xe=[Function,Array],Ai={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Xe,onEnter:Xe,onAfterEnter:Xe,onEnterCancelled:Xe,onBeforeLeave:Xe,onLeave:Xe,onAfterLeave:Xe,onLeaveCancelled:Xe,onBeforeAppear:Xe,onAppear:Xe,onAfterAppear:Xe,onAppearCancelled:Xe},Ni=e=>{const t=e.subTree;return t.component?Ni(t.component):t},_l={name:"BaseTransition",props:Ai,setup(e,{slots:t}){const s=lr(),n=hl();return()=>{const o=t.default&&Pi(t.default(),!0);if(!o||!o.length)return;const r=Li(o),l=ve(e),{mode:a}=l;if(n.isLeaving)return kn(r);const c=vo(r);if(!c)return kn(r);let _=An(c,l,n,s,m=>_=m);c.type!==He&&xs(c,_);let u=s.subTree&&vo(s.subTree);if(u&&u.type!==He&&!Ht(u,c)&&Ni(s).type!==He){let m=An(u,l,n,s);if(xs(u,m),a==="out-in"&&c.type!==He)return n.isLeaving=!0,m.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete m.afterLeave,u=void 0},kn(r);a==="in-out"&&c.type!==He?m.delayLeave=(w,$,C)=>{const f=Di(n,u);f[String(u.key)]=u,w[ct]=()=>{$(),w[ct]=void 0,delete _.delayedLeave,u=void 0},_.delayedLeave=()=>{C(),delete _.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return r}}};function Li(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==He){t=s;break}}return t}const ml=_l;function Di(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function An(e,t,s,n,o){const{appear:r,mode:l,persisted:a=!1,onBeforeEnter:c,onEnter:_,onAfterEnter:u,onEnterCancelled:m,onBeforeLeave:w,onLeave:$,onAfterLeave:C,onLeaveCancelled:f,onBeforeAppear:h,onAppear:N,onAfterAppear:R,onAppearCancelled:F}=t,T=String(e.key),W=Di(s,e),L=(Y,ee)=>{Y&&ot(Y,n,9,ee)},K=(Y,ee)=>{const B=ee[1];L(Y,ee),ce(Y)?Y.every(V=>V.length<=1)&&B():Y.length<=1&&B()},J={mode:l,persisted:a,beforeEnter(Y){let ee=c;if(!s.isMounted)if(r)ee=h||c;else return;Y[ct]&&Y[ct](!0);const B=W[T];B&&Ht(e,B)&&B.el[ct]&&B.el[ct](),L(ee,[Y])},enter(Y){if(W[T]===e)return;let ee=_,B=u,V=m;if(!s.isMounted)if(r)ee=N||_,B=R||u,V=F||m;else return;let S=!1;Y[cs]=I=>{S||(S=!0,I?L(V,[Y]):L(B,[Y]),J.delayedLeave&&J.delayedLeave(),Y[cs]=void 0)};const A=Y[cs].bind(null,!1);ee?K(ee,[Y,A]):A()},leave(Y,ee){const B=String(e.key);if(Y[cs]&&Y[cs](!0),s.isUnmounting)return ee();L(w,[Y]);let V=!1;Y[ct]=A=>{V||(V=!0,ee(),A?L(f,[Y]):L(C,[Y]),Y[ct]=void 0,W[B]===e&&delete W[B])};const S=Y[ct].bind(null,!1);W[B]=e,$?K($,[Y,S]):S()},clone(Y){const ee=An(Y,t,s,n,o);return o&&o(ee),ee}};return J}function kn(e){if(cn(e))return e=Ft(e),e.children=null,e}function vo(e){if(!cn(e))return Fi(e.type)&&e.children?Li(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&he(s.default))return s.default()}}function xs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,xs(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Pi(e,t=!1,s){let n=[],o=0;for(let r=0;r<e.length;r++){let l=e[r];const a=s==null?l.key:String(s)+String(l.key!=null?l.key:r);l.type===pe?(l.patchFlag&128&&o++,n=n.concat(Pi(l.children,t,a))):(t||l.type!==He)&&n.push(a!=null?Ft(l,{key:a}):l)}if(o>1)for(let r=0;r<n.length;r++)n[r].patchFlag=-2;return n}function Ze(e,t){return he(e)?Fe({name:e.name},t,{setup:e}):e}function Ri(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function go(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const zs=new WeakMap;function ms(e,t,s,n,o=!1){if(ce(e)){e.forEach((f,h)=>ms(f,t&&(ce(t)?t[h]:t),s,n,o));return}if(vs(n)&&!o){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&ms(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?pn(n.component):n.el,l=o?null:r,{i:a,r:c}=e,_=t&&t.r,u=a.refs===we?a.refs={}:a.refs,m=a.setupState,w=ve(m),$=m===we?Zo:f=>go(u,f)?!1:be(w,f),C=(f,h)=>!(h&&go(u,h));if(_!=null&&_!==c){if(bo(t),Ee(_))u[_]=null,$(_)&&(m[_]=null);else if(De(_)){const f=t;C(_,f.k)&&(_.value=null),f.k&&(u[f.k]=null)}}if(he(c))Is(c,a,12,[l,u]);else{const f=Ee(c),h=De(c);if(f||h){const N=()=>{if(e.f){const R=f?$(c)?m[c]:u[c]:C()||!e.k?c.value:u[e.k];if(o)ce(R)&&zn(R,r);else if(ce(R))R.includes(r)||R.push(r);else if(f)u[c]=[r],$(c)&&(m[c]=u[c]);else{const F=[r];C(c,e.k)&&(c.value=F),e.k&&(u[e.k]=F)}}else f?(u[c]=l,$(c)&&(m[c]=l)):h&&(C(c,e.k)&&(c.value=l),e.k&&(u[e.k]=l))};if(l){const R=()=>{N(),zs.delete(e)};R.id=-1,zs.set(e,R),We(R,s)}else bo(e),N()}}}function bo(e){const t=zs.get(e);t&&(t.flags|=8,zs.delete(e))}rn().requestIdleCallback;rn().cancelIdleCallback;const vs=e=>!!e.type.__asyncLoader,cn=e=>e.type.__isKeepAlive;function vl(e,t){ji(e,"a",t)}function gl(e,t){ji(e,"da",t)}function ji(e,t,s=Ve){const n=e.__wdc||(e.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(un(t,n,s),s){let o=s.parent;for(;o&&o.parent;)cn(o.parent.vnode)&&bl(n,t,s,o),o=o.parent}}function bl(e,t,s,n){const o=un(t,e,n,!0);Vi(()=>{zn(n[t],o)},s)}function un(e,t,s=Ve,n=!1){if(s){const o=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...l)=>{kt();const a=Os(s),c=ot(t,s,e,l);return a(),wt(),c});return n?o.unshift(r):o.push(r),r}}const Ct=e=>(t,s=Ve)=>{(!Ss||e==="sp")&&un(e,(...n)=>t(...n),s)},yl=Ct("bm"),Hi=Ct("m"),$l=Ct("bu"),kl=Ct("u"),no=Ct("bum"),Vi=Ct("um"),wl=Ct("sp"),xl=Ct("rtg"),Cl=Ct("rtc");function Sl(e,t=Ve){un("ec",e,t)}const Tl=Symbol.for("v-ndc");function ye(e,t,s,n){let o;const r=s,l=ce(e);if(l||Ee(e)){const a=l&&Wt(e);let c=!1,_=!1;a&&(c=!Qe(e),_=xt(e),e=ln(e)),o=new Array(e.length);for(let u=0,m=e.length;u<m;u++)o[u]=t(c?_?rs(nt(e[u])):nt(e[u]):e[u],u,void 0,r)}else if(typeof e=="number"){o=new Array(e);for(let a=0;a<e;a++)o[a]=t(a+1,a,void 0,r)}else if($e(e))if(e[Symbol.iterator])o=Array.from(e,(a,c)=>t(a,c,void 0,r));else{const a=Object.keys(e);o=new Array(a.length);for(let c=0,_=a.length;c<_;c++){const u=a[c];o[c]=t(e[u],u,c,r)}}else o=[];return o}const Nn=e=>e?ar(e)?pn(e):Nn(e.parent):null,gs=Fe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Nn(e.parent),$root:e=>Nn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Bi(e),$forceUpdate:e=>e.f||(e.f=()=>{so(e.update)}),$nextTick:e=>e.n||(e.n=Ci.bind(e.proxy)),$watch:e=>fl.bind(e)}),wn=(e,t)=>e!==we&&!e.__isScriptSetup&&be(e,t),Ml={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:r,accessCache:l,type:a,appContext:c}=e;if(t[0]!=="$"){const w=l[t];if(w!==void 0)switch(w){case 1:return n[t];case 2:return o[t];case 4:return s[t];case 3:return r[t]}else{if(wn(n,t))return l[t]=1,n[t];if(o!==we&&be(o,t))return l[t]=2,o[t];if(be(r,t))return l[t]=3,r[t];if(s!==we&&be(s,t))return l[t]=4,s[t];Ln&&(l[t]=0)}}const _=gs[t];let u,m;if(_)return t==="$attrs"&&Le(e.attrs,"get",""),_(e);if((u=a.__cssModules)&&(u=u[t]))return u;if(s!==we&&be(s,t))return l[t]=4,s[t];if(m=c.config.globalProperties,be(m,t))return m[t]},set({_:e},t,s){const{data:n,setupState:o,ctx:r}=e;return wn(o,t)?(o[t]=s,!0):n!==we&&be(n,t)?(n[t]=s,!0):be(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:o,props:r,type:l}},a){let c;return!!(s[a]||e!==we&&a[0]!=="$"&&be(e,a)||wn(t,a)||be(r,a)||be(n,a)||be(gs,a)||be(o.config.globalProperties,a)||(c=l.__cssModules)&&c[a])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:be(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function yo(e){return ce(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Ln=!0;function El(e){const t=Bi(e),s=e.proxy,n=e.ctx;Ln=!1,t.beforeCreate&&$o(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:l,watch:a,provide:c,inject:_,created:u,beforeMount:m,mounted:w,beforeUpdate:$,updated:C,activated:f,deactivated:h,beforeDestroy:N,beforeUnmount:R,destroyed:F,unmounted:T,render:W,renderTracked:L,renderTriggered:K,errorCaptured:J,serverPrefetch:Y,expose:ee,inheritAttrs:B,components:V,directives:S,filters:A}=t;if(_&&Il(_,n,null),l)for(const E in l){const O=l[E];he(O)&&(n[E]=O.bind(s))}if(o){const E=o.call(s,s);$e(E)&&(e.data=Zn(E))}if(Ln=!0,r)for(const E in r){const O=r[E],z=he(O)?O.bind(s,s):he(O.get)?O.get.bind(s,s):pt,Q=!he(O)&&he(O.set)?O.set.bind(s):pt,de=le({get:z,set:Q});Object.defineProperty(n,E,{enumerable:!0,configurable:!0,get:()=>de.value,set:_e=>de.value=_e})}if(a)for(const E in a)Ui(a[E],n,s,E);if(c){const E=he(c)?c.call(s):c;Reflect.ownKeys(E).forEach(O=>{cl(O,E[O])})}u&&$o(u,e,"c");function M(E,O){ce(O)?O.forEach(z=>E(z.bind(s))):O&&E(O.bind(s))}if(M(yl,m),M(Hi,w),M($l,$),M(kl,C),M(vl,f),M(gl,h),M(Sl,J),M(Cl,L),M(xl,K),M(no,R),M(Vi,T),M(wl,Y),ce(ee))if(ee.length){const E=e.exposed||(e.exposed={});ee.forEach(O=>{Object.defineProperty(E,O,{get:()=>s[O],set:z=>s[O]=z,enumerable:!0})})}else e.exposed||(e.exposed={});W&&e.render===pt&&(e.render=W),B!=null&&(e.inheritAttrs=B),V&&(e.components=V),S&&(e.directives=S),Y&&Ri(e)}function Il(e,t,s=pt){ce(e)&&(e=Dn(e));for(const n in e){const o=e[n];let r;$e(o)?"default"in o?r=Ps(o.from||n,o.default,!0):r=Ps(o.from||n):r=Ps(o),De(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:l=>r.value=l}):t[n]=r}}function $o(e,t,s){ot(ce(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ui(e,t,s,n){let o=n.includes(".")?Oi(s,n):()=>s[n];if(Ee(e)){const r=t[e];he(r)&&Ot(o,r)}else if(he(e))Ot(o,e.bind(s));else if($e(e))if(ce(e))e.forEach(r=>Ui(r,t,s,n));else{const r=he(e.handler)?e.handler.bind(s):t[e.handler];he(r)&&Ot(o,r,e)}}function Bi(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:l}}=e.appContext,a=r.get(t);let c;return a?c=a:!o.length&&!s&&!n?c=t:(c={},o.length&&o.forEach(_=>qs(c,_,l,!0)),qs(c,t,l)),$e(t)&&r.set(t,c),c}function qs(e,t,s,n=!1){const{mixins:o,extends:r}=t;r&&qs(e,r,s,!0),o&&o.forEach(l=>qs(e,l,s,!0));for(const l in t)if(!(n&&l==="expose")){const a=Ol[l]||s&&s[l];e[l]=a?a(e[l],t[l]):t[l]}return e}const Ol={data:ko,props:wo,emits:wo,methods:fs,computed:fs,beforeCreate:Re,created:Re,beforeMount:Re,mounted:Re,beforeUpdate:Re,updated:Re,beforeDestroy:Re,beforeUnmount:Re,destroyed:Re,unmounted:Re,activated:Re,deactivated:Re,errorCaptured:Re,serverPrefetch:Re,components:fs,directives:fs,watch:Al,provide:ko,inject:Fl};function ko(e,t){return t?e?function(){return Fe(he(e)?e.call(this,this):e,he(t)?t.call(this,this):t)}:t:e}function Fl(e,t){return fs(Dn(e),Dn(t))}function Dn(e){if(ce(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function Re(e,t){return e?[...new Set([].concat(e,t))]:t}function fs(e,t){return e?Fe(Object.create(null),e,t):t}function wo(e,t){return e?ce(e)&&ce(t)?[...new Set([...e,...t])]:Fe(Object.create(null),yo(e),yo(t??{})):t}function Al(e,t){if(!e)return t;if(!t)return e;const s=Fe(Object.create(null),e);for(const n in t)s[n]=Re(e[n],t[n]);return s}function Wi(){return{app:null,config:{isNativeTag:Zo,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Nl=0;function Ll(e,t){return function(n,o=null){he(n)||(n=Fe({},n)),o!=null&&!$e(o)&&(o=null);const r=Wi(),l=new WeakSet,a=[];let c=!1;const _=r.app={_uid:Nl++,_component:n,_props:o,_container:null,_context:r,_instance:null,version:pa,get config(){return r.config},set config(u){},use(u,...m){return l.has(u)||(u&&he(u.install)?(l.add(u),u.install(_,...m)):he(u)&&(l.add(u),u(_,...m))),_},mixin(u){return r.mixins.includes(u)||r.mixins.push(u),_},component(u,m){return m?(r.components[u]=m,_):r.components[u]},directive(u,m){return m?(r.directives[u]=m,_):r.directives[u]},mount(u,m,w){if(!c){const $=_._ceVNode||Me(n,o);return $.appContext=r,w===!0?w="svg":w===!1&&(w=void 0),e($,u,w),c=!0,_._container=u,u.__vue_app__=_,pn($.component)}},onUnmount(u){a.push(u)},unmount(){c&&(ot(a,_._instance,16),e(null,_._container),delete _._container.__vue_app__)},provide(u,m){return r.provides[u]=m,_},runWithContext(u){const m=os;os=_;try{return u()}finally{os=m}}};return _}}let os=null;const Dl=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${tt(t)}Modifiers`]||e[`${zt(t)}Modifiers`];function Pl(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||we;let o=s;const r=t.startsWith("update:"),l=r&&Dl(n,t.slice(7));l&&(l.trim&&(o=s.map(u=>Ee(u)?u.trim():u)),l.number&&(o=s.map(on)));let a,c=n[a=vn(t)]||n[a=vn(tt(t))];!c&&r&&(c=n[a=vn(zt(t))]),c&&ot(c,e,6,o);const _=n[a+"Once"];if(_){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,ot(_,e,6,o)}}const Rl=new WeakMap;function Ki(e,t,s=!1){const n=s?Rl:t.emitsCache,o=n.get(e);if(o!==void 0)return o;const r=e.emits;let l={},a=!1;if(!he(e)){const c=_=>{const u=Ki(_,t,!0);u&&(a=!0,Fe(l,u))};!s&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!r&&!a?($e(e)&&n.set(e,null),null):(ce(r)?r.forEach(c=>l[c]=null):Fe(l,r),$e(e)&&n.set(e,l),l)}function dn(e,t){return!e||!tn(t)?!1:(t=t.slice(2).replace(/Once$/,""),be(e,t[0].toLowerCase()+t.slice(1))||be(e,zt(t))||be(e,t))}function xo(e){const{type:t,vnode:s,proxy:n,withProxy:o,propsOptions:[r],slots:l,attrs:a,emit:c,render:_,renderCache:u,props:m,data:w,setupState:$,ctx:C,inheritAttrs:f}=e,h=Ks(e);let N,R;try{if(s.shapeFlag&4){const T=o||n,W=T;N=dt(_.call(W,T,u,m,$,w,C)),R=a}else{const T=t;N=dt(T.length>1?T(m,{attrs:a,slots:l,emit:c}):T(m,null)),R=t.props?a:jl(a)}}catch(T){bs.length=0,an(T,e,1),N=Me(He)}let F=N;if(R&&f!==!1){const T=Object.keys(R),{shapeFlag:W}=F;T.length&&W&7&&(r&&T.some(Kn)&&(R=Hl(R,r)),F=Ft(F,R,!1,!0))}return s.dirs&&(F=Ft(F,null,!1,!0),F.dirs=F.dirs?F.dirs.concat(s.dirs):s.dirs),s.transition&&xs(F,s.transition),N=F,Ks(h),N}const jl=e=>{let t;for(const s in e)(s==="class"||s==="style"||tn(s))&&((t||(t={}))[s]=e[s]);return t},Hl=(e,t)=>{const s={};for(const n in e)(!Kn(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Vl(e,t,s){const{props:n,children:o,component:r}=e,{props:l,children:a,patchFlag:c}=t,_=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?Co(n,l,_):!!l;if(c&8){const u=t.dynamicProps;for(let m=0;m<u.length;m++){const w=u[m];if(zi(l,n,w)&&!dn(_,w))return!0}}}else return(o||a)&&(!a||!a.$stable)?!0:n===l?!1:n?l?Co(n,l,_):!0:!!l;return!1}function Co(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let o=0;o<n.length;o++){const r=n[o];if(zi(t,e,r)&&!dn(s,r))return!0}return!1}function zi(e,t,s){const n=e[s],o=t[s];return s==="style"&&$e(n)&&$e(o)?!Es(n,o):n!==o}function Ul({vnode:e,parent:t},s){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n===e)(e=t.vnode).el=s,t=t.parent;else break}}const qi={},Ji=()=>Object.create(qi),Gi=e=>Object.getPrototypeOf(e)===qi;function Bl(e,t,s,n=!1){const o={},r=Ji();e.propsDefaults=Object.create(null),Xi(e,t,o,r);for(const l in e.propsOptions[0])l in o||(o[l]=void 0);s?e.props=n?o:Xr(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function Wl(e,t,s,n){const{props:o,attrs:r,vnode:{patchFlag:l}}=e,a=ve(o),[c]=e.propsOptions;let _=!1;if((n||l>0)&&!(l&16)){if(l&8){const u=e.vnode.dynamicProps;for(let m=0;m<u.length;m++){let w=u[m];if(dn(e.emitsOptions,w))continue;const $=t[w];if(c)if(be(r,w))$!==r[w]&&(r[w]=$,_=!0);else{const C=tt(w);o[C]=Pn(c,a,C,$,e,!1)}else $!==r[w]&&(r[w]=$,_=!0)}}}else{Xi(e,t,o,r)&&(_=!0);let u;for(const m in a)(!t||!be(t,m)&&((u=zt(m))===m||!be(t,u)))&&(c?s&&(s[m]!==void 0||s[u]!==void 0)&&(o[m]=Pn(c,a,m,void 0,e,!0)):delete o[m]);if(r!==a)for(const m in r)(!t||!be(t,m))&&(delete r[m],_=!0)}_&&yt(e.attrs,"set","")}function Xi(e,t,s,n){const[o,r]=e.propsOptions;let l=!1,a;if(t)for(let c in t){if(ps(c))continue;const _=t[c];let u;o&&be(o,u=tt(c))?!r||!r.includes(u)?s[u]=_:(a||(a={}))[u]=_:dn(e.emitsOptions,c)||(!(c in n)||_!==n[c])&&(n[c]=_,l=!0)}if(r){const c=ve(s),_=a||we;for(let u=0;u<r.length;u++){const m=r[u];s[m]=Pn(o,c,m,_[m],e,!be(_,m))}}return l}function Pn(e,t,s,n,o,r){const l=e[s];if(l!=null){const a=be(l,"default");if(a&&n===void 0){const c=l.default;if(l.type!==Function&&!l.skipFactory&&he(c)){const{propsDefaults:_}=o;if(s in _)n=_[s];else{const u=Os(o);n=_[s]=c.call(null,t),u()}}else n=c;o.ce&&o.ce._setProp(s,n)}l[0]&&(r&&!a?n=!1:l[1]&&(n===""||n===zt(s))&&(n=!0))}return n}const Kl=new WeakMap;function Yi(e,t,s=!1){const n=s?Kl:t.propsCache,o=n.get(e);if(o)return o;const r=e.props,l={},a=[];let c=!1;if(!he(e)){const u=m=>{c=!0;const[w,$]=Yi(m,t,!0);Fe(l,w),$&&a.push(...$)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!r&&!c)return $e(e)&&n.set(e,ts),ts;if(ce(r))for(let u=0;u<r.length;u++){const m=tt(r[u]);So(m)&&(l[m]=we)}else if(r)for(const u in r){const m=tt(u);if(So(m)){const w=r[u],$=l[m]=ce(w)||he(w)?{type:w}:Fe({},w),C=$.type;let f=!1,h=!0;if(ce(C))for(let N=0;N<C.length;++N){const R=C[N],F=he(R)&&R.name;if(F==="Boolean"){f=!0;break}else F==="String"&&(h=!1)}else f=he(C)&&C.name==="Boolean";$[0]=f,$[1]=h,(f||be($,"default"))&&a.push(m)}}const _=[l,a];return $e(e)&&n.set(e,_),_}function So(e){return e[0]!=="$"&&!ps(e)}const oo=e=>e==="_"||e==="_ctx"||e==="$stable",io=e=>ce(e)?e.map(dt):[dt(e)],zl=(e,t,s)=>{if(t._n)return t;const n=ws((...o)=>io(t(...o)),s);return n._c=!1,n},Qi=(e,t,s)=>{const n=e._ctx;for(const o in e){if(oo(o))continue;const r=e[o];if(he(r))t[o]=zl(o,r,n);else if(r!=null){const l=io(r);t[o]=()=>l}}},Zi=(e,t)=>{const s=io(t);e.slots.default=()=>s},er=(e,t,s)=>{for(const n in t)(s||!oo(n))&&(e[n]=t[n])},ql=(e,t,s)=>{const n=e.slots=Ji();if(e.vnode.shapeFlag&32){const o=t._;o?(er(n,t,s),s&&oi(n,"_",o,!0)):Qi(t,n)}else t&&Zi(e,t)},Jl=(e,t,s)=>{const{vnode:n,slots:o}=e;let r=!0,l=we;if(n.shapeFlag&32){const a=t._;a?s&&a===1?r=!1:er(o,t,s):(r=!t.$stable,Qi(t,o)),l=t}else t&&(Zi(e,t),l={default:1});if(r)for(const a in o)!oo(a)&&l[a]==null&&delete o[a]},We=Zl;function Gl(e){return Xl(e)}function Xl(e,t){const s=rn();s.__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:l,createText:a,createComment:c,setText:_,setElementText:u,parentNode:m,nextSibling:w,setScopeId:$=pt,insertStaticContent:C}=e,f=(d,v,k,U=null,P=null,j=null,X=void 0,G=null,q=!!v.dynamicChildren)=>{if(d===v)return;d&&!Ht(d,v)&&(U=Ie(d),_e(d,P,j,!0),d=null),v.patchFlag===-2&&(q=!1,v.dynamicChildren=null);const{type:H,ref:re,shapeFlag:Z}=v;switch(H){case fn:h(d,v,k,U);break;case He:N(d,v,k,U);break;case Rs:d==null&&R(v,k,U,X);break;case pe:V(d,v,k,U,P,j,X,G,q);break;default:Z&1?W(d,v,k,U,P,j,X,G,q):Z&6?S(d,v,k,U,P,j,X,G,q):(Z&64||Z&128)&&H.process(d,v,k,U,P,j,X,G,q,St)}re!=null&&P?ms(re,d&&d.ref,j,v||d,!v):re==null&&d&&d.ref!=null&&ms(d.ref,null,j,d,!0)},h=(d,v,k,U)=>{if(d==null)n(v.el=a(v.children),k,U);else{const P=v.el=d.el;v.children!==d.children&&_(P,v.children)}},N=(d,v,k,U)=>{d==null?n(v.el=c(v.children||""),k,U):v.el=d.el},R=(d,v,k,U)=>{[d.el,d.anchor]=C(d.children,v,k,U,d.el,d.anchor)},F=({el:d,anchor:v},k,U)=>{let P;for(;d&&d!==v;)P=w(d),n(d,k,U),d=P;n(v,k,U)},T=({el:d,anchor:v})=>{let k;for(;d&&d!==v;)k=w(d),o(d),d=k;o(v)},W=(d,v,k,U,P,j,X,G,q)=>{if(v.type==="svg"?X="svg":v.type==="math"&&(X="mathml"),d==null)L(v,k,U,P,j,X,G,q);else{const H=d.el&&d.el._isVueCE?d.el:null;try{H&&H._beginPatch(),Y(d,v,P,j,X,G,q)}finally{H&&H._endPatch()}}},L=(d,v,k,U,P,j,X,G)=>{let q,H;const{props:re,shapeFlag:Z,transition:ie,dirs:ue}=d;if(q=d.el=l(d.type,j,re&&re.is,re),Z&8?u(q,d.children):Z&16&&J(d.children,q,null,U,P,xn(d,j),X,G),ue&&Nt(d,null,U,"created"),K(q,d,d.scopeId,X,U),re){for(const ke in re)ke!=="value"&&!ps(ke)&&r(q,ke,null,re[ke],j,U);"value"in re&&r(q,"value",null,re.value,j),(H=re.onVnodeBeforeMount)&&lt(H,U,d)}ue&&Nt(d,null,U,"beforeMount");const me=Yl(P,ie);me&&ie.beforeEnter(q),n(q,v,k),((H=re&&re.onVnodeMounted)||me||ue)&&We(()=>{H&&lt(H,U,d),me&&ie.enter(q),ue&&Nt(d,null,U,"mounted")},P)},K=(d,v,k,U,P)=>{if(k&&$(d,k),U)for(let j=0;j<U.length;j++)$(d,U[j]);if(P){let j=P.subTree;if(v===j||or(j.type)&&(j.ssContent===v||j.ssFallback===v)){const X=P.vnode;K(d,X,X.scopeId,X.slotScopeIds,P.parent)}}},J=(d,v,k,U,P,j,X,G,q=0)=>{for(let H=q;H<d.length;H++){const re=d[H]=G?bt(d[H]):dt(d[H]);f(null,re,v,k,U,P,j,X,G)}},Y=(d,v,k,U,P,j,X)=>{const G=v.el=d.el;let{patchFlag:q,dynamicChildren:H,dirs:re}=v;q|=d.patchFlag&16;const Z=d.props||we,ie=v.props||we;let ue;if(k&&Lt(k,!1),(ue=ie.onVnodeBeforeUpdate)&&lt(ue,k,v,d),re&&Nt(v,d,k,"beforeUpdate"),k&&Lt(k,!0),(Z.innerHTML&&ie.innerHTML==null||Z.textContent&&ie.textContent==null)&&u(G,""),H?ee(d.dynamicChildren,H,G,k,U,xn(v,P),j):X||O(d,v,G,null,k,U,xn(v,P),j,!1),q>0){if(q&16)B(G,Z,ie,k,P);else if(q&2&&Z.class!==ie.class&&r(G,"class",null,ie.class,P),q&4&&r(G,"style",Z.style,ie.style,P),q&8){const me=v.dynamicProps;for(let ke=0;ke<me.length;ke++){const g=me[ke],b=Z[g],D=ie[g];(D!==b||g==="value")&&r(G,g,b,D,P,k)}}q&1&&d.children!==v.children&&u(G,v.children)}else!X&&H==null&&B(G,Z,ie,k,P);((ue=ie.onVnodeUpdated)||re)&&We(()=>{ue&&lt(ue,k,v,d),re&&Nt(v,d,k,"updated")},U)},ee=(d,v,k,U,P,j,X)=>{for(let G=0;G<v.length;G++){const q=d[G],H=v[G],re=q.el&&(q.type===pe||!Ht(q,H)||q.shapeFlag&198)?m(q.el):k;f(q,H,re,null,U,P,j,X,!0)}},B=(d,v,k,U,P)=>{if(v!==k){if(v!==we)for(const j in v)!ps(j)&&!(j in k)&&r(d,j,v[j],null,P,U);for(const j in k){if(ps(j))continue;const X=k[j],G=v[j];X!==G&&j!=="value"&&r(d,j,G,X,P,U)}"value"in k&&r(d,"value",v.value,k.value,P)}},V=(d,v,k,U,P,j,X,G,q)=>{const H=v.el=d?d.el:a(""),re=v.anchor=d?d.anchor:a("");let{patchFlag:Z,dynamicChildren:ie,slotScopeIds:ue}=v;ue&&(G=G?G.concat(ue):ue),d==null?(n(H,k,U),n(re,k,U),J(v.children||[],k,re,P,j,X,G,q)):Z>0&&Z&64&&ie&&d.dynamicChildren&&d.dynamicChildren.length===ie.length?(ee(d.dynamicChildren,ie,k,P,j,X,G),(v.key!=null||P&&v===P.subTree)&&tr(d,v,!0)):O(d,v,k,re,P,j,X,G,q)},S=(d,v,k,U,P,j,X,G,q)=>{v.slotScopeIds=G,d==null?v.shapeFlag&512?P.ctx.activate(v,k,U,X,q):A(v,k,U,P,j,X,q):I(d,v,q)},A=(d,v,k,U,P,j,X)=>{const G=d.component=la(d,U,P);if(cn(d)&&(G.ctx.renderer=St),aa(G,!1,X),G.asyncDep){if(P&&P.registerDep(G,M,X),!d.el){const q=G.subTree=Me(He);N(null,q,v,k),d.placeholder=q.el}}else M(G,d,v,k,P,j,X)},I=(d,v,k)=>{const U=v.component=d.component;if(Vl(d,v,k))if(U.asyncDep&&!U.asyncResolved){E(U,v,k);return}else U.next=v,U.update();else v.el=d.el,U.vnode=v},M=(d,v,k,U,P,j,X)=>{const G=()=>{if(d.isMounted){let{next:Z,bu:ie,u:ue,parent:me,vnode:ke}=d;{const ne=sr(d);if(ne){Z&&(Z.el=ke.el,E(d,Z,X)),ne.asyncDep.then(()=>{We(()=>{d.isUnmounted||H()},P)});return}}let g=Z,b;Lt(d,!1),Z?(Z.el=ke.el,E(d,Z,X)):Z=ke,ie&&Ds(ie),(b=Z.props&&Z.props.onVnodeBeforeUpdate)&&lt(b,me,Z,ke),Lt(d,!0);const D=xo(d),fe=d.subTree;d.subTree=D,f(fe,D,m(fe.el),Ie(fe),d,P,j),Z.el=D.el,g===null&&Ul(d,D.el),ue&&We(ue,P),(b=Z.props&&Z.props.onVnodeUpdated)&&We(()=>lt(b,me,Z,ke),P)}else{let Z;const{el:ie,props:ue}=v,{bm:me,m:ke,parent:g,root:b,type:D}=d,fe=vs(v);Lt(d,!1),me&&Ds(me),!fe&&(Z=ue&&ue.onVnodeBeforeMount)&&lt(Z,g,v),Lt(d,!0);{b.ce&&b.ce._hasShadowRoot()&&b.ce._injectChildStyle(D,d.parent?d.parent.type:void 0);const ne=d.subTree=xo(d);f(null,ne,k,U,d,P,j),v.el=ne.el}if(ke&&We(ke,P),!fe&&(Z=ue&&ue.onVnodeMounted)){const ne=v;We(()=>lt(Z,g,ne),P)}(v.shapeFlag&256||g&&vs(g.vnode)&&g.vnode.shapeFlag&256)&&d.a&&We(d.a,P),d.isMounted=!0,v=k=U=null}};d.scope.on();const q=d.effect=new ai(G);d.scope.off();const H=d.update=q.run.bind(q),re=d.job=q.runIfDirty.bind(q);re.i=d,re.id=d.uid,q.scheduler=()=>so(re),Lt(d,!0),H()},E=(d,v,k)=>{v.component=d;const U=d.vnode.props;d.vnode=v,d.next=null,Wl(d,v.props,U,k),Jl(d,v.children,k),kt(),mo(d),wt()},O=(d,v,k,U,P,j,X,G,q=!1)=>{const H=d&&d.children,re=d?d.shapeFlag:0,Z=v.children,{patchFlag:ie,shapeFlag:ue}=v;if(ie>0){if(ie&128){Q(H,Z,k,U,P,j,X,G,q);return}else if(ie&256){z(H,Z,k,U,P,j,X,G,q);return}}ue&8?(re&16&&Pe(H,P,j),Z!==H&&u(k,Z)):re&16?ue&16?Q(H,Z,k,U,P,j,X,G,q):Pe(H,P,j,!0):(re&8&&u(k,""),ue&16&&J(Z,k,U,P,j,X,G,q))},z=(d,v,k,U,P,j,X,G,q)=>{d=d||ts,v=v||ts;const H=d.length,re=v.length,Z=Math.min(H,re);let ie;for(ie=0;ie<Z;ie++){const ue=v[ie]=q?bt(v[ie]):dt(v[ie]);f(d[ie],ue,k,null,P,j,X,G,q)}H>re?Pe(d,P,j,!0,!1,Z):J(v,k,U,P,j,X,G,q,Z)},Q=(d,v,k,U,P,j,X,G,q)=>{let H=0;const re=v.length;let Z=d.length-1,ie=re-1;for(;H<=Z&&H<=ie;){const ue=d[H],me=v[H]=q?bt(v[H]):dt(v[H]);if(Ht(ue,me))f(ue,me,k,null,P,j,X,G,q);else break;H++}for(;H<=Z&&H<=ie;){const ue=d[Z],me=v[ie]=q?bt(v[ie]):dt(v[ie]);if(Ht(ue,me))f(ue,me,k,null,P,j,X,G,q);else break;Z--,ie--}if(H>Z){if(H<=ie){const ue=ie+1,me=ue<re?v[ue].el:U;for(;H<=ie;)f(null,v[H]=q?bt(v[H]):dt(v[H]),k,me,P,j,X,G,q),H++}}else if(H>ie)for(;H<=Z;)_e(d[H],P,j,!0),H++;else{const ue=H,me=H,ke=new Map;for(H=me;H<=ie;H++){const Te=v[H]=q?bt(v[H]):dt(v[H]);Te.key!=null&&ke.set(Te.key,H)}let g,b=0;const D=ie-me+1;let fe=!1,ne=0;const oe=new Array(D);for(H=0;H<D;H++)oe[H]=0;for(H=ue;H<=Z;H++){const Te=d[H];if(b>=D){_e(Te,P,j,!0);continue}let Ge;if(Te.key!=null)Ge=ke.get(Te.key);else for(g=me;g<=ie;g++)if(oe[g-me]===0&&Ht(Te,v[g])){Ge=g;break}Ge===void 0?_e(Te,P,j,!0):(oe[Ge-me]=H+1,Ge>=ne?ne=Ge:fe=!0,f(Te,v[Ge],k,null,P,j,X,G,q),b++)}const Ae=fe?Ql(oe):ts;for(g=Ae.length-1,H=D-1;H>=0;H--){const Te=me+H,Ge=v[Te],Fs=v[Te+1],Tt=Te+1<re?Fs.el||nr(Fs):U;oe[H]===0?f(null,Ge,k,Tt,P,j,X,G,q):fe&&(g<0||H!==Ae[g]?de(Ge,k,Tt,2):g--)}}},de=(d,v,k,U,P=null)=>{const{el:j,type:X,transition:G,children:q,shapeFlag:H}=d;if(H&6){de(d.component.subTree,v,k,U);return}if(H&128){d.suspense.move(v,k,U);return}if(H&64){X.move(d,v,k,St);return}if(X===pe){n(j,v,k);for(let Z=0;Z<q.length;Z++)de(q[Z],v,k,U);n(d.anchor,v,k);return}if(X===Rs){F(d,v,k);return}if(U!==2&&H&1&&G)if(U===0)G.beforeEnter(j),n(j,v,k),We(()=>G.enter(j),P);else{const{leave:Z,delayLeave:ie,afterLeave:ue}=G,me=()=>{d.ctx.isUnmounted?o(j):n(j,v,k)},ke=()=>{j._isLeaving&&j[ct](!0),Z(j,()=>{me(),ue&&ue()})};ie?ie(j,me,ke):ke()}else n(j,v,k)},_e=(d,v,k,U=!1,P=!1)=>{const{type:j,props:X,ref:G,children:q,dynamicChildren:H,shapeFlag:re,patchFlag:Z,dirs:ie,cacheIndex:ue}=d;if(Z===-2&&(P=!1),G!=null&&(kt(),ms(G,null,k,d,!0),wt()),ue!=null&&(v.renderCache[ue]=void 0),re&256){v.ctx.deactivate(d);return}const me=re&1&&ie,ke=!vs(d);let g;if(ke&&(g=X&&X.onVnodeBeforeUnmount)&&lt(g,v,d),re&6)ze(d.component,k,U);else{if(re&128){d.suspense.unmount(k,U);return}me&&Nt(d,null,v,"beforeUnmount"),re&64?d.type.remove(d,v,k,St,U):H&&!H.hasOnce&&(j!==pe||Z>0&&Z&64)?Pe(H,v,k,!1,!0):(j===pe&&Z&384||!P&&re&16)&&Pe(q,v,k),U&&Ue(d)}(ke&&(g=X&&X.onVnodeUnmounted)||me)&&We(()=>{g&&lt(g,v,d),me&&Nt(d,null,v,"unmounted")},k)},Ue=d=>{const{type:v,el:k,anchor:U,transition:P}=d;if(v===pe){rt(k,U);return}if(v===Rs){T(d);return}const j=()=>{o(k),P&&!P.persisted&&P.afterLeave&&P.afterLeave()};if(d.shapeFlag&1&&P&&!P.persisted){const{leave:X,delayLeave:G}=P,q=()=>X(k,j);G?G(d.el,j,q):q()}else j()},rt=(d,v)=>{let k;for(;d!==v;)k=w(d),o(d),d=k;o(v)},ze=(d,v,k)=>{const{bum:U,scope:P,job:j,subTree:X,um:G,m:q,a:H}=d;To(q),To(H),U&&Ds(U),P.stop(),j&&(j.flags|=8,_e(X,d,v,k)),G&&We(G,v),We(()=>{d.isUnmounted=!0},v)},Pe=(d,v,k,U=!1,P=!1,j=0)=>{for(let X=j;X<d.length;X++)_e(d[X],v,k,U,P)},Ie=d=>{if(d.shapeFlag&6)return Ie(d.component.subTree);if(d.shapeFlag&128)return d.suspense.next();const v=w(d.anchor||d.el),k=v&&v[pl];return k?w(k):v};let et=!1;const qe=(d,v,k)=>{let U;d==null?v._vnode&&(_e(v._vnode,null,null,!0),U=v._vnode.component):f(v._vnode||null,d,v,null,null,null,k),v._vnode=d,et||(et=!0,mo(U),Ti(),et=!1)},St={p:f,um:_e,m:de,r:Ue,mt:A,mc:J,pc:O,pbc:ee,n:Ie,o:e};return{render:qe,hydrate:void 0,createApp:Ll(qe)}}function xn({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function Lt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Yl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function tr(e,t,s=!1){const n=e.children,o=t.children;if(ce(n)&&ce(o))for(let r=0;r<n.length;r++){const l=n[r];let a=o[r];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=o[r]=bt(o[r]),a.el=l.el),!s&&a.patchFlag!==-2&&tr(l,a)),a.type===fn&&(a.patchFlag===-1&&(a=o[r]=bt(a)),a.el=l.el),a.type===He&&!a.el&&(a.el=l.el)}}function Ql(e){const t=e.slice(),s=[0];let n,o,r,l,a;const c=e.length;for(n=0;n<c;n++){const _=e[n];if(_!==0){if(o=s[s.length-1],e[o]<_){t[n]=o,s.push(n);continue}for(r=0,l=s.length-1;r<l;)a=r+l>>1,e[s[a]]<_?r=a+1:l=a;_<e[s[r]]&&(r>0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,l=s[r-1];r-- >0;)s[r]=l,l=t[l];return s}function sr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:sr(t)}function To(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function nr(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?nr(t.subTree):null}const or=e=>e.__isSuspense;function Zl(e,t){t&&t.pendingBranch?ce(e)?t.effects.push(...e):t.effects.push(e):al(e)}const pe=Symbol.for("v-fgt"),fn=Symbol.for("v-txt"),He=Symbol.for("v-cmt"),Rs=Symbol.for("v-stc"),bs=[];let Je=null;function y(e=!1){bs.push(Je=e?null:[])}function ea(){bs.pop(),Je=bs[bs.length-1]||null}let Cs=1;function Js(e,t=!1){Cs+=e,e<0&&Je&&t&&(Je.hasOnce=!0)}function ir(e){return e.dynamicChildren=Cs>0?Je||ts:null,ea(),Cs>0&&Je&&Je.push(e),e}function x(e,t,s,n,o,r){return ir(i(e,t,s,n,o,r,!0))}function gt(e,t,s,n,o){return ir(Me(e,t,s,n,o,!0))}function Gs(e){return e?e.__v_isVNode===!0:!1}function Ht(e,t){return e.type===t.type&&e.key===t.key}const rr=({key:e})=>e??null,js=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?Ee(e)||De(e)||he(e)?{i:Ye,r:e,k:t,f:!!s}:e:null);function i(e,t=null,s=null,n=0,o=null,r=e===pe?0:1,l=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&rr(t),ref:t&&js(t),scopeId:Ei,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:Ye};return a?(ro(c,s),r&128&&e.normalize(c)):s&&(c.shapeFlag|=Ee(s)?8:16),Cs>0&&!l&&Je&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&Je.push(c),c}const Me=ta;function ta(e,t=null,s=null,n=0,o=null,r=!1){if((!e||e===Tl)&&(e=He),Gs(e)){const a=Ft(e,t,!0);return s&&ro(a,s),Cs>0&&!r&&Je&&(a.shapeFlag&6?Je[Je.indexOf(e)]=a:Je.push(a)),a.patchFlag=-2,a}if(fa(e)&&(e=e.__vccOpts),t){t=sa(t);let{class:a,style:c}=t;a&&!Ee(a)&&(t.class=se(a)),$e(c)&&(to(c)&&!ce(c)&&(c=Fe({},c)),t.style=Se(c))}const l=Ee(e)?1:or(e)?128:Fi(e)?64:$e(e)?4:he(e)?2:0;return i(e,t,s,n,o,l,r,!0)}function sa(e){return e?to(e)||Gi(e)?Fe({},e):e:null}function Ft(e,t,s=!1,n=!1){const{props:o,ref:r,patchFlag:l,children:a,transition:c}=e,_=t?oa(o||{},t):o,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:_,key:_&&rr(_),ref:t&&t.ref?s&&r?ce(r)?r.concat(js(t)):[r,js(t)]:js(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==pe?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ft(e.ssContent),ssFallback:e.ssFallback&&Ft(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&n&&xs(u,c.clone(u)),u}function Oe(e=" ",t=0){return Me(fn,null,e,t)}function na(e,t){const s=Me(Rs,null,e);return s.staticCount=t,s}function te(e="",t=!1){return t?(y(),gt(He,null,e)):Me(He,null,e)}function dt(e){return e==null||typeof e=="boolean"?Me(He):ce(e)?Me(pe,null,e.slice()):Gs(e)?bt(e):Me(fn,null,String(e))}function bt(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ft(e)}function ro(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ce(t))s=16;else if(typeof t=="object")if(n&65){const o=t.default;o&&(o._c&&(o._d=!1),ro(e,o()),o._c&&(o._d=!0));return}else{s=32;const o=t._;!o&&!Gi(t)?t._ctx=Ye:o===3&&Ye&&(Ye.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else he(t)?(t={default:t,_ctx:Ye},s=32):(t=String(t),n&64?(s=16,t=[Oe(t)]):s=8);e.children=t,e.shapeFlag|=s}function oa(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const o in n)if(o==="class")t.class!==n.class&&(t.class=se([t.class,n.class]));else if(o==="style")t.style=Se([t.style,n.style]);else if(tn(o)){const r=t[o],l=n[o];l&&r!==l&&!(ce(r)&&r.includes(l))&&(t[o]=r?[].concat(r,l):l)}else o!==""&&(t[o]=n[o])}return t}function lt(e,t,s,n=null){ot(e,t,7,[s,n])}const ia=Wi();let ra=0;function la(e,t,s){const n=e.type,o=(t?t.appContext:e.appContext)||ia,r={uid:ra++,vnode:e,type:n,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Ir(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Yi(n,o),emitsOptions:Ki(n,o),emit:null,emitted:null,propsDefaults:we,inheritAttrs:n.inheritAttrs,ctx:we,data:we,props:we,attrs:we,slots:we,refs:we,setupState:we,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Pl.bind(null,r),e.ce&&e.ce(r),r}let Ve=null;const lr=()=>Ve||Ye;let Xs,Rn;{const e=rn(),t=(s,n)=>{let o;return(o=e[s])||(o=e[s]=[]),o.push(n),r=>{o.length>1?o.forEach(l=>l(r)):o[0](r)}};Xs=t("__VUE_INSTANCE_SETTERS__",s=>Ve=s),Rn=t("__VUE_SSR_SETTERS__",s=>Ss=s)}const Os=e=>{const t=Ve;return Xs(e),e.scope.on(),()=>{e.scope.off(),Xs(t)}},Mo=()=>{Ve&&Ve.scope.off(),Xs(null)};function ar(e){return e.vnode.shapeFlag&4}let Ss=!1;function aa(e,t=!1,s=!1){t&&Rn(t);const{props:n,children:o}=e.vnode,r=ar(e);Bl(e,n,r,t),ql(e,o,s||t);const l=r?ca(e,t):void 0;return t&&Rn(!1),l}function ca(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ml);const{setup:n}=s;if(n){kt();const o=e.setupContext=n.length>1?da(e):null,r=Os(e),l=Is(n,e,0,[e.props,o]),a=ei(l);if(wt(),r(),(a||e.sp)&&!vs(e)&&Ri(e),a){if(l.then(Mo,Mo),t)return l.then(c=>{Eo(e,c)}).catch(c=>{an(c,e,0)});e.asyncDep=l}else Eo(e,l)}else cr(e)}function Eo(e,t,s){he(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:$e(t)&&(e.setupState=wi(t)),cr(e)}function cr(e,t,s){const n=e.type;e.render||(e.render=n.render||pt);{const o=Os(e);kt();try{El(e)}finally{wt(),o()}}}const ua={get(e,t){return Le(e,"get",""),e[t]}};function da(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,ua),slots:e.slots,emit:e.emit,expose:t}}function pn(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(wi(Yr(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in gs)return gs[s](e)},has(t,s){return s in t||s in gs}})):e.proxy}function fa(e){return he(e)&&"__vccOpts"in e}const le=(e,t)=>nl(e,t,Ss);function Ne(e,t,s){try{Js(-1);const n=arguments.length;return n===2?$e(t)&&!ce(t)?Gs(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Gs(s)&&(s=[s]),Me(e,t,s))}finally{Js(1)}}const pa="3.5.30";/**
14
+ * @vue/runtime-dom v3.5.30
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let jn;const Io=typeof window<"u"&&window.trustedTypes;if(Io)try{jn=Io.createPolicy("vue",{createHTML:e=>e})}catch{}const ur=jn?e=>jn.createHTML(e):e=>e,ha="http://www.w3.org/2000/svg",_a="http://www.w3.org/1998/Math/MathML",vt=typeof document<"u"?document:null,Oo=vt&&vt.createElement("template"),ma={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const o=t==="svg"?vt.createElementNS(ha,e):t==="mathml"?vt.createElementNS(_a,e):s?vt.createElement(e,{is:s}):vt.createElement(e);return e==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:e=>vt.createTextNode(e),createComment:e=>vt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>vt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,o,r){const l=s?s.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),s),!(o===r||!(o=o.nextSibling)););else{Oo.innerHTML=ur(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const a=Oo.content;if(n==="svg"||n==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,s)}return[l?l.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Mt="transition",us="animation",Ts=Symbol("_vtc"),dr={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},va=Fe({},Ai,dr),ga=e=>(e.displayName="Transition",e.props=va,e),Ys=ga((e,{slots:t})=>Ne(ml,ba(e),t)),Dt=(e,t=[])=>{ce(e)?e.forEach(s=>s(...t)):e&&e(...t)},Fo=e=>e?ce(e)?e.some(t=>t.length>1):e.length>1:!1;function ba(e){const t={};for(const V in e)V in dr||(t[V]=e[V]);if(e.css===!1)return t;const{name:s="v",type:n,duration:o,enterFromClass:r=`${s}-enter-from`,enterActiveClass:l=`${s}-enter-active`,enterToClass:a=`${s}-enter-to`,appearFromClass:c=r,appearActiveClass:_=l,appearToClass:u=a,leaveFromClass:m=`${s}-leave-from`,leaveActiveClass:w=`${s}-leave-active`,leaveToClass:$=`${s}-leave-to`}=e,C=ya(o),f=C&&C[0],h=C&&C[1],{onBeforeEnter:N,onEnter:R,onEnterCancelled:F,onLeave:T,onLeaveCancelled:W,onBeforeAppear:L=N,onAppear:K=R,onAppearCancelled:J=F}=t,Y=(V,S,A,I)=>{V._enterCancelled=I,Pt(V,S?u:a),Pt(V,S?_:l),A&&A()},ee=(V,S)=>{V._isLeaving=!1,Pt(V,m),Pt(V,$),Pt(V,w),S&&S()},B=V=>(S,A)=>{const I=V?K:R,M=()=>Y(S,V,A);Dt(I,[S,M]),Ao(()=>{Pt(S,V?c:r),mt(S,V?u:a),Fo(I)||No(S,n,f,M)})};return Fe(t,{onBeforeEnter(V){Dt(N,[V]),mt(V,r),mt(V,l)},onBeforeAppear(V){Dt(L,[V]),mt(V,c),mt(V,_)},onEnter:B(!1),onAppear:B(!0),onLeave(V,S){V._isLeaving=!0;const A=()=>ee(V,S);mt(V,m),V._enterCancelled?(mt(V,w),Po(V)):(Po(V),mt(V,w)),Ao(()=>{V._isLeaving&&(Pt(V,m),mt(V,$),Fo(T)||No(V,n,h,A))}),Dt(T,[V,A])},onEnterCancelled(V){Y(V,!1,void 0,!0),Dt(F,[V])},onAppearCancelled(V){Y(V,!0,void 0,!0),Dt(J,[V])},onLeaveCancelled(V){ee(V),Dt(W,[V])}})}function ya(e){if(e==null)return null;if($e(e))return[Cn(e.enter),Cn(e.leave)];{const t=Cn(e);return[t,t]}}function Cn(e){return $r(e)}function mt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Ts]||(e[Ts]=new Set)).add(t)}function Pt(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Ts];s&&(s.delete(t),s.size||(e[Ts]=void 0))}function Ao(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let $a=0;function No(e,t,s,n){const o=e._endId=++$a,r=()=>{o===e._endId&&n()};if(s!=null)return setTimeout(r,s);const{type:l,timeout:a,propCount:c}=ka(e,t);if(!l)return n();const _=l+"end";let u=0;const m=()=>{e.removeEventListener(_,w),r()},w=$=>{$.target===e&&++u>=c&&m()};setTimeout(()=>{u<c&&m()},a+1),e.addEventListener(_,w)}function ka(e,t){const s=window.getComputedStyle(e),n=C=>(s[C]||"").split(", "),o=n(`${Mt}Delay`),r=n(`${Mt}Duration`),l=Lo(o,r),a=n(`${us}Delay`),c=n(`${us}Duration`),_=Lo(a,c);let u=null,m=0,w=0;t===Mt?l>0&&(u=Mt,m=l,w=r.length):t===us?_>0&&(u=us,m=_,w=c.length):(m=Math.max(l,_),u=m>0?l>_?Mt:us:null,w=u?u===Mt?r.length:c.length:0);const $=u===Mt&&/\b(?:transform|all)(?:,|$)/.test(n(`${Mt}Property`).toString());return{type:u,timeout:m,propCount:w,hasTransform:$}}function Lo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>Do(s)+Do(e[n])))}function Do(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Po(e){return(e?e.ownerDocument:document).body.offsetHeight}function wa(e,t,s){const n=e[Ts];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Ro=Symbol("_vod"),xa=Symbol("_vsh"),Ca=Symbol(""),Sa=/(?:^|;)\s*display\s*:/;function Ta(e,t,s){const n=e.style,o=Ee(s);let r=!1;if(s&&!o){if(t)if(Ee(t))for(const l of t.split(";")){const a=l.slice(0,l.indexOf(":")).trim();s[a]==null&&Hs(n,a,"")}else for(const l in t)s[l]==null&&Hs(n,l,"");for(const l in s)l==="display"&&(r=!0),Hs(n,l,s[l])}else if(o){if(t!==s){const l=n[Ca];l&&(s+=";"+l),n.cssText=s,r=Sa.test(s)}}else t&&e.removeAttribute("style");Ro in e&&(e[Ro]=r?n.display:"",e[xa]&&(n.display="none"))}const jo=/\s*!important$/;function Hs(e,t,s){if(ce(s))s.forEach(n=>Hs(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Ma(e,t);jo.test(s)?e.setProperty(zt(n),s.replace(jo,""),"important"):e[n]=s}}const Ho=["Webkit","Moz","ms"],Sn={};function Ma(e,t){const s=Sn[t];if(s)return s;let n=tt(t);if(n!=="filter"&&n in e)return Sn[t]=n;n=ni(n);for(let o=0;o<Ho.length;o++){const r=Ho[o]+n;if(r in e)return Sn[t]=r}return t}const Vo="http://www.w3.org/1999/xlink";function Uo(e,t,s,n,o,r=Tr(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(Vo,t.slice(6,t.length)):e.setAttributeNS(Vo,t,s):s==null||r&&!ii(s)?e.removeAttribute(t):e.setAttribute(t,r?"":ht(s)?String(s):s)}function Bo(e,t,s,n,o){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?ur(s):s);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const a=r==="OPTION"?e.getAttribute("value")||"":e.value,c=s==null?e.type==="checkbox"?"on":"":String(s);(a!==c||!("_value"in e))&&(e.value=c),s==null&&e.removeAttribute(t),e._value=s;return}let l=!1;if(s===""||s==null){const a=typeof e[t];a==="boolean"?s=ii(s):s==null&&a==="string"?(s="",l=!0):a==="number"&&(s=0,l=!0)}try{e[t]=s}catch{}l&&e.removeAttribute(o||t)}function Vt(e,t,s,n){e.addEventListener(t,s,n)}function Ea(e,t,s,n){e.removeEventListener(t,s,n)}const Wo=Symbol("_vei");function Ia(e,t,s,n,o=null){const r=e[Wo]||(e[Wo]={}),l=r[t];if(n&&l)l.value=n;else{const[a,c]=Oa(t);if(n){const _=r[t]=Na(n,o);Vt(e,a,_,c)}else l&&(Ea(e,a,l,c),r[t]=void 0)}}const Ko=/(?:Once|Passive|Capture)$/;function Oa(e){let t;if(Ko.test(e)){t={};let n;for(;n=e.match(Ko);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):zt(e.slice(2)),t]}let Tn=0;const Fa=Promise.resolve(),Aa=()=>Tn||(Fa.then(()=>Tn=0),Tn=Date.now());function Na(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;ot(La(n,s.value),t,5,[n])};return s.value=e,s.attached=Aa(),s}function La(e,t){if(ce(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>o=>!o._stopped&&n&&n(o))}else return t}const zo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Da=(e,t,s,n,o,r)=>{const l=o==="svg";t==="class"?wa(e,n,l):t==="style"?Ta(e,s,n):tn(t)?Kn(t)||Ia(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Pa(e,t,n,l))?(Bo(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Uo(e,t,n,l,r,t!=="value")):e._isVueCE&&(Ra(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!Ee(n)))?Bo(e,tt(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Uo(e,t,n,l))};function Pa(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&zo(t)&&he(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return zo(t)&&Ee(s)?!1:t in e}function Ra(e,t){const s=e._def.props;if(!s)return!1;const n=tt(t);return Array.isArray(s)?s.some(o=>tt(o)===n):Object.keys(s).some(o=>tt(o)===n)}const Qs=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ce(t)?s=>Ds(t,s):t};function ja(e){e.target.composing=!0}function qo(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const is=Symbol("_assign");function Jo(e,t,s){return t&&(e=e.trim()),s&&(e=on(e)),e}const ls={created(e,{modifiers:{lazy:t,trim:s,number:n}},o){e[is]=Qs(o);const r=n||o.props&&o.props.type==="number";Vt(e,t?"change":"input",l=>{l.target.composing||e[is](Jo(e.value,s,r))}),(s||r)&&Vt(e,"change",()=>{e.value=Jo(e.value,s,r)}),t||(Vt(e,"compositionstart",ja),Vt(e,"compositionend",qo),Vt(e,"change",qo))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:o,number:r}},l){if(e[is]=Qs(l),e.composing)return;const a=(r||e.type==="number")&&!/^0\d/.test(e.value)?on(e.value):e.value,c=t??"";a!==c&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||o&&e.value.trim()===c)||(e.value=c))}},Ha={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const o=sn(t);Vt(e,"change",()=>{const r=Array.prototype.filter.call(e.options,l=>l.selected).map(l=>s?on(Zs(l)):Zs(l));e[is](e.multiple?o?new Set(r):r:r[0]),e._assigning=!0,Ci(()=>{e._assigning=!1})}),e[is]=Qs(n)},mounted(e,{value:t}){Go(e,t)},beforeUpdate(e,t,s){e[is]=Qs(s)},updated(e,{value:t}){e._assigning||Go(e,t)}};function Go(e,t){const s=e.multiple,n=ce(t);if(!(s&&!n&&!sn(t))){for(let o=0,r=e.options.length;o<r;o++){const l=e.options[o],a=Zs(l);if(s)if(n){const c=typeof a;c==="string"||c==="number"?l.selected=t.some(_=>String(_)===String(a)):l.selected=Er(t,a)>-1}else l.selected=t.has(a);else if(Es(Zs(l),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Zs(e){return"_value"in e?e._value:e.value}const Va=["ctrl","shift","alt","meta"],Ua={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Va.some(s=>e[`${s}Key`]&&!t.includes(s))},Gt=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((o,...r)=>{for(let l=0;l<t.length;l++){const a=Ua[t[l]];if(a&&a(o,t))return}return e(o,...r)}))},Ba=Fe({patchProp:Da},ma);let Xo;function Wa(){return Xo||(Xo=Gl(Ba))}const Ka=((...e)=>{const t=Wa().createApp(...e),{mount:s}=t;return t.mount=n=>{const o=qa(n);if(!o)return;const r=t._component;!he(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const l=s(o,!1,za(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),l},t});function za(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function qa(e){return Ee(e)?document.querySelector(e):e}let jt;const ds=[];function fr(e){if(ds.push(e),!(typeof window>"u"))return window.__NUXT_DEVTOOLS__&&ds.forEach(t=>t(window.__NUXT_DEVTOOLS__)),Object.defineProperty(window,"__NUXT_DEVTOOLS__",{set(t){t&&ds.forEach(s=>s(t))},get(){return jt.value},configurable:!0}),()=>{ds.splice(ds.indexOf(e),1)}}function pr(){jt||(jt=Qr(),fr(t));function e(){jt&&el(jt)}function t(s){jt.value=s,s.host&&s.host.hooks.hook("host:update:reactivity",e)}return jt}const Hn=ae([]),hr=ae({provides:[],injects:[]}),en=ae([]),Vn=ae([]),Un=ae([]),Bn=ae([]),_r=ae(!1),Ut=ae({}),Ja=typeof window<"u"&&new URLSearchParams(window.location.search).has("debugRpc");let Yo=!1,ge=null,Qo=!1,Vs=null,Et=null;function At(...e){Ja&&console.info("[observatory][rpc][iframe]",...e)}function Xt(e){return e?e.map(t=>({...t})):[]}function Ga(e){return e?e.map(t=>({...t})):[]}function Us(e){var s;Hn.value=Xt(e.fetch),hr.value=e.provideInject?{provides:Xt(e.provideInject.provides),injects:Xt(e.provideInject.injects)}:{provides:[],injects:[]},en.value=Xt(e.composables),Vn.value=Ga(e.renders),Un.value=Xt(e.transitions),Bn.value=Xt(e.traces),Ut.value=e.features||{};const t=(s=Ut.value)==null?void 0:s.composableNavigationMode;Et&&t!==Et&&(Ut.value={...Ut.value||{},composableNavigationMode:Et},ge==null||ge.setComposableMode(Et).then(()=>ge==null?void 0:ge.requestSnapshot()).catch(n=>{At("setComposableMode reconcile failed",n)})),Et&&t===Et&&(Et=null),_r.value=!0,Qo||(Qo=!0,At("first snapshot received",{fetch:Hn.value.length,composables:en.value.length,renders:Vn.value.length,transitions:Un.value.length,traces:Bn.value.length}))}function Xa(){if(Yo)return;Yo=!0,typeof window<"u"&&window.addEventListener("message",s=>{s.data&&s.data.type==="observatory:snapshot"&&Us(s.data.data)});const e=pr(),t=()=>{if(!(!e.value||ge)){if(ge=e.value.devtools.extendClientRpc("observatory",{onSnapshot(s){Us(s)}}),At("RPC connected"),Vs){const s=Vs;Vs=null,ge.setComposableMode(s).catch(n=>{At("setComposableMode failed (queued)",n)})}ge.getSnapshot().then(s=>{s&&Us(s)}).catch(()=>{}),ge.requestSnapshot().catch(()=>{})}};t(),fr(()=>{t()})}function Ya(){en.value=[],ge==null||ge.clearComposables().then(()=>ge==null?void 0:ge.requestSnapshot()).catch(e=>{At("clearComposables failed",e)})}function Qa(e){if(Et=e,Ut.value={...Ut.value||{},composableNavigationMode:e},!ge){Vs=e,At("setComposableMode queued",e);return}ge.setComposableMode(e).then(()=>ge==null?void 0:ge.requestSnapshot()).catch(t=>{At("setComposableMode failed",t)})}function Za(e,t,s){ge==null||ge.editComposableValue(e,t,s).catch(n=>{At("editComposableValue failed",n)})}function lo(e){var s,n;if(!e||e==="unknown")return;const t=(n=(s=pr().value)==null?void 0:s.devtools)==null?void 0:n.rpc;t!=null&&t.openInEditor&&t.openInEditor(e)}function qt(){return Xa(),{fetch:Hn,provideInject:hr,composables:en,renders:Vn,transitions:Un,traces:Bn,features:Ut,connected:_r,refresh:()=>{ge==null||ge.getSnapshot().then(t=>{t&&Us(t)}).catch(()=>{}),ge==null||ge.requestSnapshot().catch(()=>{})},clearComposables:Ya}}function hn(e,t){const s=t&&Number(localStorage.getItem(t))||e,n=ae(Math.max(160,Math.min(600,s)));let o=!1,r=0,l=0;function a(u){if(!o)return;const m=r-u.clientX;n.value=Math.max(160,Math.min(600,l+m)),t&&localStorage.setItem(t,String(n.value))}function c(){o&&(o=!1,document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c),document.body.style.cursor="",document.body.style.userSelect="")}function _(u){u.preventDefault(),o=!0,r=u.clientX,l=n.value,document.addEventListener("mousemove",a),document.addEventListener("mouseup",c),document.body.style.cursor="col-resize",document.body.style.userSelect="none"}return no(()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",c),document.body.style.cursor="",document.body.style.userSelect=""}),{paneWidth:n,onHandleMouseDown:_}}const ec={class:"fetch-dashboard tracker-view"},tc={class:"fetch-dashboard__stats tracker-stats-row"},sc={class:"stat-card"},nc={class:"stat-val"},oc={class:"stat-card"},ic={class:"stat-val stat-val--ok"},rc={class:"stat-card"},lc={class:"stat-val stat-val--pending"},ac={class:"stat-card"},cc={class:"stat-val stat-val--error"},uc={class:"fetch-dashboard__toolbar tracker-toolbar"},dc={class:"fetch-dashboard__split tracker-split"},fc={class:"fetch-dashboard__table tracker-table-wrap"},pc={class:"data-table"},hc=["onClick"],_c={class:"fetch-dashboard__key mono tracker-mono-secondary"},mc=["title"],vc={class:"muted text-sm"},gc={class:"mono text-sm"},bc={class:"fetch-dashboard__bar-track tracker-progress-bar"},yc={key:0},$c={colspan:"7",class:"tracker-empty-cell"},kc={class:"fetch-dashboard__detail-header"},wc={class:"fetch-dashboard__detail-title mono bold"},xc={class:"flex gap-2"},Cc={class:"fetch-dashboard__meta-grid"},Sc={class:"muted text-sm"},Tc={class:"fetch-dashboard__meta-value mono text-sm"},Mc={class:"fetch-dashboard__payload-box"},Ec={class:"mono text-sm muted"},Ic={key:2,class:"tracker-detail-empty"},Oc={class:"fetch-dashboard__waterfall"},Fc={class:"fetch-dashboard__waterfall-header"},Ac={key:0,class:"fetch-dashboard__waterfall-body"},Nc={class:"fetch-dashboard__waterfall-key mono muted text-sm"},Lc={class:"fetch-dashboard__waterfall-track"},Dc={class:"fetch-dashboard__waterfall-time mono muted text-sm"},Pc=Ze({__name:"FetchDashboard",setup(e){const{fetch:t,connected:s}=qt(),{paneWidth:n,onHandleMouseDown:o}=hn(280,"observatory:fetch:detailWidth"),r=ae("all"),l=ae(""),a=ae(null),c=ae(!0),_=le(()=>{const L=[...t.value].sort((J,Y)=>J.startTime-Y.startTime),K=L.length>0?L[0].startTime:0;return L.map(J=>({...J,startOffset:Math.max(0,J.startTime-K)}))}),u=le(()=>_.value.find(L=>L.id===a.value)??null),m=le(()=>({ok:_.value.filter(L=>L.status==="ok"||L.status==="cached").length,pending:_.value.filter(L=>L.status==="pending").length,error:_.value.filter(L=>L.status==="error").length})),w=le(()=>_.value.filter(L=>{if(r.value!=="all"&&L.status!==r.value)return!1;const K=l.value.toLowerCase();return!(K&&!L.key.toLowerCase().includes(K)&&!L.url.toLowerCase().includes(K))})),$=le(()=>{if(!u.value)return[];const L=u.value;return[["url",L.url],["status",L.status],["origin",L.origin],["duration",L.ms!=null?`${L.ms}ms`:"—"],["size",L.size?W(L.size):"—"],["cached",L.cached?"yes":"no"]]}),C=le(()=>{if(!u.value)return"";const L=u.value.payload;if(L===void 0)return"(no payload captured yet)";try{return JSON.stringify(L,null,2)}catch{return String(L)}});function f(L){return{ok:"badge-ok",error:"badge-err",pending:"badge-warn",cached:"badge-gray"}[L]??"badge-gray"}function h(L){return{ok:"var(--teal)",error:"var(--red)",pending:"var(--amber)",cached:"var(--border)"}[L]??"var(--border)"}function N(L){const K=_.value.filter(Y=>Y.ms!=null).map(Y=>Y.ms),J=K.length>0?Math.max(...K,1):1;return L.ms!=null?Math.max(4,Math.round(L.ms/J*100)):4}function R(){const L=_.value.filter(J=>J.ms!=null);return L.length>0?Math.max(...L.map(J=>J.startOffset+J.ms),1):1}function F(L){const K=R();return Math.min(98,Math.round(L.startOffset/K*100))}function T(L){if(L.ms==null)return 2;const K=R(),J=F(L);return Math.min(100-J,Math.max(2,Math.round(L.ms/K*100)))}function W(L){return L<1024?`${L}B`:`${(L/1024).toFixed(1)}KB`}return(L,K)=>(y(),x("div",ec,[i("div",tc,[i("div",sc,[K[8]||(K[8]=i("div",{class:"stat-label"},"total",-1)),i("div",nc,p(_.value.length),1)]),i("div",oc,[K[9]||(K[9]=i("div",{class:"stat-label"},"success",-1)),i("div",ic,p(m.value.ok),1)]),i("div",rc,[K[10]||(K[10]=i("div",{class:"stat-label"},"pending",-1)),i("div",lc,p(m.value.pending),1)]),i("div",ac,[K[11]||(K[11]=i("div",{class:"stat-label"},"error",-1)),i("div",cc,p(m.value.error),1)])]),i("div",uc,[i("button",{class:se({active:r.value==="all"}),onClick:K[0]||(K[0]=J=>r.value="all")},"all",2),i("button",{class:se({"danger-active":r.value==="error"}),onClick:K[1]||(K[1]=J=>r.value="error")},"errors",2),i("button",{class:se({active:r.value==="pending"}),onClick:K[2]||(K[2]=J=>r.value="pending")},"pending",2),i("button",{class:se({active:r.value==="cached"}),onClick:K[3]||(K[3]=J=>r.value="cached")},"cached",2),Kt(i("input",{"onUpdate:modelValue":K[4]||(K[4]=J=>l.value=J),type:"search",class:"fetch-dashboard__search tracker-toolbar__spacer",placeholder:"search key or url…"},null,512),[[ls,l.value]])]),i("div",dc,[i("div",fc,[i("table",pc,[K[12]||(K[12]=i("thead",null,[i("tr",null,[i("th",null,"key"),i("th",null,"url"),i("th",null,"status"),i("th",null,"origin"),i("th",null,"size"),i("th",null,"time"),i("th",{class:"fetch-dashboard__bar-column"},"bar")])],-1)),i("tbody",null,[(y(!0),x(pe,null,ye(w.value,J=>{var Y;return y(),x("tr",{key:J.id,class:se({selected:((Y=u.value)==null?void 0:Y.id)===J.id}),onClick:ee=>a.value=J.id},[i("td",null,[i("span",_c,p(J.key),1)]),i("td",null,[i("span",{class:"fetch-dashboard__url mono tracker-mono-secondary tracker-truncate",title:J.url},p(J.url),9,mc)]),i("td",null,[i("span",{class:se(["badge",f(J.status)])},p(J.status),3)]),i("td",null,[i("span",{class:se(["badge",J.origin==="ssr"?"badge-info":"badge-gray"])},p(J.origin),3)]),i("td",vc,p(J.size?W(J.size):"—"),1),i("td",gc,p(J.ms!=null?`${J.ms}ms`:"—"),1),i("td",null,[i("div",bc,[i("div",{class:"fetch-dashboard__bar-fill tracker-progress-bar__fill",style:Se({width:`${N(J)}%`,background:h(J.status)})},null,4)])])],10,hc)}),128)),w.value.length?te("",!0):(y(),x("tr",yc,[i("td",$c,p(xe(s)?"No fetches recorded yet.":"Waiting for connection to the Nuxt app…"),1)]))])])]),u.value?(y(),x("div",{key:0,class:"tracker-resize-handle",onMousedown:K[5]||(K[5]=(...J)=>xe(o)&&xe(o)(...J))},null,32)):te("",!0),u.value?(y(),x("div",{key:1,class:"fetch-dashboard__detail tracker-detail-panel",style:Se({width:xe(n)+"px"})},[i("div",kc,[i("span",wc,p(u.value.key),1),i("div",xc,[i("button",{onClick:K[6]||(K[6]=J=>a.value=null)},"×")])]),i("div",Cc,[(y(!0),x(pe,null,ye($.value,([J,Y])=>(y(),x(pe,{key:J},[i("span",Sc,p(J),1),i("span",Tc,p(Y),1)],64))),128))]),K[13]||(K[13]=i("div",{class:"tracker-section-label fetch-dashboard__section-label"},"payload",-1)),i("pre",Mc,p(C.value),1),K[14]||(K[14]=i("div",{class:"tracker-section-label fetch-dashboard__section-label fetch-dashboard__section-label--source"},"source",-1)),i("div",Ec,p(u.value.file)+":"+p(u.value.line),1)],4)):(y(),x("div",Ic,"select a call to inspect"))]),i("div",Oc,[i("div",Fc,[K[15]||(K[15]=i("div",{class:"tracker-section-label fetch-dashboard__waterfall-label"},"waterfall",-1)),i("button",{class:se({active:c.value}),onClick:K[7]||(K[7]=J=>c.value=!c.value)},p(c.value?"hide":"show"),3)]),c.value?(y(),x("div",Ac,[(y(!0),x(pe,null,ye(_.value,J=>(y(),x("div",{key:J.id,class:"fetch-dashboard__waterfall-row"},[i("span",Nc,p(J.key),1),i("div",Lc,[i("div",{class:"fetch-dashboard__waterfall-bar",style:Se({left:`${F(J)}%`,width:`${Math.max(2,T(J))}%`,background:h(J.status)})},null,4)]),i("span",Dc,p(J.ms!=null?`${J.ms}ms`:"—"),1)]))),128))])):te("",!0)])]))}}),it=(e,t)=>{const s=e.__vccOpts||e;for(const[n,o]of t)s[n]=o;return s},Rc=it(Pc,[["__scopeId","data-v-2d842102"]]),jc={class:"provide-graph tracker-view"},Hc={class:"provide-graph__toolbar tracker-toolbar"},Vc=["onClick"],Uc={class:"provide-graph__split tracker-split"},Bc={class:"provide-graph__graph-area"},Wc={key:0,class:"provide-graph__canvas-stage"},Kc=["width","height","viewBox"],zc=["d"],qc=["onClick"],Jc={class:"mono provide-graph__node-label"},Gc={key:0,class:"badge badge-ok badge-xs"},Xc={key:1,class:"badge badge-err badge-xs"},Yc={key:1,class:"provide-graph__graph-empty"},Qc={class:"provide-graph__detail-header"},Zc={class:"provide-graph__detail-title mono bold"},eu={key:0,class:"detail-section"},tu={class:"tracker-section-label provide-graph__section-label"},su={class:"detail-list"},nu={class:"row-main"},ou={class:"mono text-sm row-key"},iu=["title"],ru=["onClick"],lu={key:0,class:"row-warning"},au={key:1,class:"row-consumers"},cu={key:0,class:"muted text-sm"},uu={key:2,class:"provide-graph__compact-muted muted text-sm"},du={key:3,class:"value-box"},fu={class:"tracker-section-label provide-graph__section-label"},pu={class:"detail-list"},hu={class:"mono text-sm row-key"},_u={key:0,class:"badge badge-ok"},mu={key:1,class:"badge badge-err"},vu=["title"],gu={key:2,class:"provide-graph__empty-detail muted text-sm"},bu={key:2,class:"tracker-detail-empty"},Yt=140,Qt=32,yu=72,Zt=18,$u=Ze({__name:"ProvideInjectGraph",setup(e){const{provideInject:t,connected:s}=qt(),{paneWidth:n,onHandleMouseDown:o}=hn(280,"observatory:provide:detailWidth");function r(S){return S.injects.some(A=>!A.ok)?"var(--red)":S.type==="both"?"var(--blue)":S.type==="provider"?"var(--teal)":"var(--text3)"}function l(S,A){return A==="all"?!0:A==="warn"?S.injects.some(I=>!I.ok):A==="shadow"?S.provides.some(I=>I.isShadowing):S.provides.some(I=>I.key===A)||S.injects.some(I=>I.key===A)}function a(S,A){if(!A)return!0;const I=A.toLowerCase();return S.label.toLowerCase().includes(I)||S.componentName.toLowerCase().includes(I)||S.provides.some(M=>M.key.toLowerCase().includes(I))||S.injects.some(M=>M.key.toLowerCase().includes(I))}function c(S){let A=0;const I=[S];for(;I.length;){const M=I.pop();M.children.length===0?A++:I.push(...M.children)}return A}function _(S){if(typeof S=="string")return S;try{return JSON.stringify(S)}catch{return String(S)}}function u(S){return typeof S=="object"&&S!==null}function m(S){if(S===null)return"null";if(Array.isArray(S))return`Array(${S.length})`;if(typeof S=="object"){const A=Object.keys(S);return A.length?`{ ${A.join(", ")} }`:"{}"}return _(S)}function w(S){if(!u(S))return _(S);try{return JSON.stringify(S,null,2)}catch{return _(S)}}function $(S,A,I){return`${S}:${A}:${I}`}function C(S){return S.split("/").pop()??S}function f(S){lo(S)}function h(S){return String(S.componentUid)}const N=le(()=>{const S=new Map,A=new Map;function I(z){const Q=h(z),de=S.get(Q);if(de)return de;const _e={id:Q,label:C(z.componentFile),componentName:z.componentName??C(z.componentFile),componentFile:z.componentFile,type:"consumer",provides:[],injects:[],children:[]};return S.set(Q,_e),A.set(Q,z.parentUid!==void 0?String(z.parentUid):null),_e}const M=new Map;for(const z of t.value.injects){const Q=M.get(z.key)??[];Q.push(z),M.set(z.key,Q)}const E=new Map;for(const z of t.value.provides)E.set(z.componentUid,z.componentName);for(const z of t.value.injects)E.set(z.componentUid,z.componentName);for(const z of t.value.provides){const Q=I(z),de=M.get(z.key)??[];Q.provides.push({key:z.key,val:m(z.valueSnapshot),raw:z.valueSnapshot,reactive:z.isReactive,complex:u(z.valueSnapshot),scope:z.scope??"component",isShadowing:z.isShadowing??!1,consumerUids:de.map(_e=>_e.componentUid),consumerNames:de.map(_e=>_e.componentName)})}for(const z of t.value.injects)I(z).injects.push({key:z.key,from:z.resolvedFromFile??null,fromName:z.resolvedFromUid!==void 0?E.get(z.resolvedFromUid)??null:null,ok:z.resolved});for(const z of S.values())z.injects.some(Q=>!Q.ok)?z.type="error":z.provides.length&&z.injects.length?z.type="both":z.provides.length?z.type="provider":z.type="consumer";const O=[];for(const[z,Q]of S.entries()){const de=A.get(z),_e=de?S.get(de):void 0;_e?_e.children.push(Q):O.push(Q)}return O}),R=ae("all"),F=ae(""),T=ae(null),W=ae(new Set);Ot(T,()=>{W.value=new Set});function L(S){const A=new Set(W.value);A.has(S)?A.delete(S):A.add(S),W.value=A}const K=le(()=>{const S=new Set,A=[...N.value];for(;A.length;){const I=A.pop();I.provides.forEach(M=>S.add(M.key)),I.injects.forEach(M=>S.add(M.key)),A.push(...I.children)}return[...S]}),J=le(()=>{function S(A){const I=[],M=[A];for(;M.length;){const O=M.pop();I.push(O);for(let z=O.children.length-1;z>=0;z--)M.push(O.children[z])}const E=new Map;for(let O=I.length-1;O>=0;O--){const z=I[O],Q=z.children.map(_e=>E.get(_e)??null).filter(_e=>_e!==null);!(l(z,R.value)&&a(z,F.value))&&!Q.length?E.set(z,null):E.set(z,{...z,children:Q})}return E.get(A)??null}return N.value.map(S).filter(Boolean)});Ot([J,T],([S,A])=>{if(!A)return;const I=new Set,M=[...S];for(;M.length;){const E=M.pop();I.add(E.id),M.push(...E.children)}I.has(A.id)||(T.value=null)});const Y=le(()=>{const S=[],A=Zt;let I=A;for(const M of J.value){const E=[{node:M,depth:0,slotLeft:I,parentId:null}];for(;E.length;){const{node:z,depth:Q,slotLeft:de,parentId:_e}=E.pop(),rt=c(z)*(Yt+Zt)-Zt;S.push({data:z,parentId:_e,x:Math.round(de+rt/2),y:Math.round(A+Q*(Qt+yu)+Qt/2)});let ze=de;const Pe=[];for(const Ie of z.children){const et=c(Ie);Pe.push({node:Ie,depth:Q+1,slotLeft:ze,parentId:z.id}),ze+=et*(Yt+Zt)}for(let Ie=Pe.length-1;Ie>=0;Ie--)E.push(Pe[Ie])}const O=c(M);I+=O*(Yt+Zt)+Zt*2}return S}),ee=le(()=>Y.value.reduce((S,A)=>Math.max(S,A.x+Yt/2+20),520)),B=le(()=>Y.value.reduce((S,A)=>Math.max(S,A.y+Qt/2+20),200)),V=le(()=>{const S=new Map(Y.value.map(A=>[A.data.id,A]));return Y.value.filter(A=>A.parentId!==null).map(A=>{const I=S.get(A.parentId);return{id:`${I.data.id}--${A.data.id}`,x1:I.x,y1:I.y+Qt/2,x2:A.x,y2:A.y-Qt/2}})});return(S,A)=>(y(),x("div",jc,[i("div",Hc,[i("button",{class:se({active:R.value==="all"}),onClick:A[0]||(A[0]=I=>R.value="all")},"all keys",2),(y(!0),x(pe,null,ye(K.value,I=>(y(),x("button",{key:I,class:se(["provide-graph__key-filter mono",{active:R.value===I}]),onClick:M=>R.value=I},p(I),11,Vc))),128)),i("button",{class:se(["provide-graph__toolbar-spacer",{"danger-active":R.value==="shadow"}]),onClick:A[1]||(A[1]=I=>R.value=R.value==="shadow"?"all":"shadow")}," shadowed ",2),i("button",{class:se({"danger-active":R.value==="warn"}),onClick:A[2]||(A[2]=I=>R.value=R.value==="warn"?"all":"warn")}," warnings ",2),Kt(i("input",{"onUpdate:modelValue":A[3]||(A[3]=I=>F.value=I),type:"search",class:"provide-graph__search",placeholder:"search component or key…"},null,512),[[ls,F.value]])]),i("div",Uc,[i("div",Bc,[A[7]||(A[7]=na('<div class="provide-graph__legend" data-v-f19461a8><span class="provide-graph__legend-dot provide-graph__legend-dot--provides" data-v-f19461a8></span><span data-v-f19461a8>provides</span><span class="provide-graph__legend-dot provide-graph__legend-dot--both" data-v-f19461a8></span><span data-v-f19461a8>both</span><span class="provide-graph__legend-dot provide-graph__legend-dot--injects" data-v-f19461a8></span><span data-v-f19461a8>injects</span><span class="provide-graph__legend-dot provide-graph__legend-dot--missing" data-v-f19461a8></span><span data-v-f19461a8>missing provider</span></div>',1)),Y.value.length?(y(),x("div",Wc,[i("div",{class:"provide-graph__canvas-wrap",style:Se({width:`${ee.value}px`,height:`${B.value}px`})},[(y(),x("svg",{class:"provide-graph__edges-svg",width:ee.value,height:B.value,viewBox:`0 0 ${ee.value} ${B.value}`},[(y(!0),x(pe,null,ye(V.value,I=>(y(),x("path",{key:I.id,d:`M ${I.x1},${I.y1} C ${I.x1},${(I.y1+I.y2)/2} ${I.x2},${(I.y1+I.y2)/2} ${I.x2},${I.y2}`,class:"provide-graph__edge",fill:"none"},null,8,zc))),128))],8,Kc)),(y(!0),x(pe,null,ye(Y.value,I=>{var M;return y(),x("div",{key:I.data.id,class:se(["provide-graph__node",{"provide-graph__node--selected":((M=T.value)==null?void 0:M.id)===I.data.id}]),style:Se({left:`${I.x-Yt/2}px`,top:`${I.y-Qt/2}px`,width:`${Yt}px`,"--node-color":r(I.data)}),onClick:E=>T.value=I.data},[i("span",{class:"provide-graph__node-dot",style:Se({background:r(I.data)})},null,4),i("span",Jc,p(I.data.label),1),I.data.provides.length?(y(),x("span",Gc," +"+p(I.data.provides.length),1)):te("",!0),I.data.injects.some(E=>!E.ok)?(y(),x("span",Xc,"!")):te("",!0)],14,qc)}),128))],4)])):(y(),x("div",Yc,p(xe(s)?"No components match the current provide/inject filter.":"Waiting for connection to the Nuxt app…"),1))]),T.value?(y(),x("div",{key:0,class:"tracker-resize-handle",onMousedown:A[4]||(A[4]=(...I)=>xe(o)&&xe(o)(...I))},null,32)):te("",!0),T.value?(y(),x("div",{key:1,class:"provide-graph__detail tracker-detail-panel",style:Se({width:xe(n)+"px"})},[i("div",Qc,[i("span",Zc,p(T.value.label),1),T.value.componentFile&&T.value.componentFile!=="unknown"?(y(),x("button",{key:0,class:"jump-btn",title:"Open in editor",onClick:A[5]||(A[5]=I=>f(T.value.componentFile))}," open ↗ ")):te("",!0),i("button",{onClick:A[6]||(A[6]=I=>T.value=null)},"×")]),T.value.provides.length?(y(),x("div",eu,[i("div",tu,"provides ("+p(T.value.provides.length)+")",1),i("div",su,[(y(!0),x(pe,null,ye(T.value.provides,(I,M)=>(y(),x("div",{key:$(T.value.id,I.key,M),class:"provide-row"},[i("div",nu,[i("span",ou,p(I.key),1),i("span",{class:"mono text-sm muted row-value-preview",title:I.val},p(I.val),9,iu),i("span",{class:se(["badge scope-badge",`scope-${I.scope}`])},p(I.scope),3),i("span",{class:se(["badge",I.reactive?"badge-ok":"badge-gray"])},p(I.reactive?"reactive":"static"),3),I.complex?(y(),x("button",{key:0,class:"row-toggle mono",onClick:E=>L($(T.value.id,I.key,M))},p(W.value.has($(T.value.id,I.key,M))?"hide":"view"),9,ru)):te("",!0)]),I.isShadowing?(y(),x("div",lu,"shadows a parent provide with the same key")):te("",!0),I.consumerNames.length?(y(),x("div",au,[A[8]||(A[8]=i("span",{class:"muted text-sm"},"used by:",-1)),(y(!0),x(pe,null,ye(I.consumerNames,E=>(y(),x("span",{key:E,class:"consumer-chip mono"},p(E),1))),128)),I.consumerNames.length?te("",!0):(y(),x("span",cu,"no consumers"))])):(y(),x("div",uu,"no consumers detected")),I.complex&&W.value.has($(T.value.id,I.key,M))?(y(),x("pre",du,p(w(I.raw)),1)):te("",!0)]))),128))])])):te("",!0),T.value.injects.length?(y(),x("div",{key:1,class:"detail-section",style:Se({marginTop:T.value.provides.length?"10px":"0"})},[i("div",fu,"injects ("+p(T.value.injects.length)+")",1),i("div",pu,[(y(!0),x(pe,null,ye(T.value.injects,I=>(y(),x("div",{key:I.key,class:se(["inject-row",{"inject-miss":!I.ok}])},[i("span",hu,p(I.key),1),I.ok?(y(),x("span",_u,"resolved")):(y(),x("span",mu,"no provider")),i("span",{class:se(["mono text-sm row-from",I.fromName?"":"muted"]),title:I.from??"undefined"},p(I.fromName??I.from??"undefined"),11,vu)],2))),128))])],4)):te("",!0),!T.value.provides.length&&!T.value.injects.length?(y(),x("div",gu," no provide/inject in this component ")):te("",!0)],4)):(y(),x("div",bu,p(xe(s)?"Click a node to inspect.":"Waiting for connection to the Nuxt app…"),1))])]))}}),ku=it($u,[["__scopeId","data-v-f19461a8"]]),wu={class:"composable-tracker tracker-view"},xu={class:"composable-tracker__stats tracker-stats-row"},Cu={class:"stat-card"},Su={class:"stat-val"},Tu={class:"stat-card"},Mu={class:"stat-val stat-val--active"},Eu={class:"stat-card"},Iu={class:"stat-val stat-val--error"},Ou={class:"stat-card"},Fu={class:"stat-val"},Au={class:"composable-tracker__toolbar tracker-toolbar"},Nu=["title"],Lu={class:"composable-tracker__list"},Du=["onClick"],Pu={class:"composable-tracker__card-header"},Ru={class:"composable-tracker__identity"},ju={class:"composable-tracker__name mono"},Hu={class:"composable-tracker__file muted mono"},Vu={class:"composable-tracker__meta"},Uu={key:0,class:"badge badge-warn"},Bu={key:1,class:"badge badge-warn"},Wu={key:2,class:"badge badge-err"},Ku={key:3,class:"badge badge-ok"},zu={key:4,class:"badge badge-gray"},qu={key:0,class:"composable-tracker__refs-preview"},Ju=["title"],Gu={class:"composable-tracker__ref-chip-key"},Xu={class:"composable-tracker__ref-chip-val"},Yu={key:0,class:"composable-tracker__ref-chip-shared-dot",title:"global"},Qu={key:0,class:"muted text-sm"},Zu={key:0,class:"composable-tracker__leak-banner"},ed={key:1,class:"composable-tracker__global-banner"},td={key:2,class:"composable-tracker__compact-muted muted text-sm"},sd=["title","onClick"],nd={class:"composable-tracker__ref-row-actions"},od=["title","onClick"],id={key:1,class:"badge badge-amber text-xs"},rd=["onClick"],ld={class:"composable-tracker__section-label composable-tracker__section-label--spaced tracker-section-label"},ad={class:"composable-tracker__section-label-meta muted"},cd={class:"composable-tracker__history-list"},ud={class:"composable-tracker__history-time mono muted"},dd={class:"composable-tracker__history-key mono"},fd={class:"composable-tracker__history-val mono"},pd={key:0,class:"composable-tracker__compact-muted muted text-sm"},hd={class:"composable-tracker__context-label muted text-sm"},_d={class:"composable-tracker__lifecycle-row"},md={class:"composable-tracker__context-value mono text-sm"},vd={class:"composable-tracker__lifecycle-row"},gd={class:"composable-tracker__context-value composable-tracker__context-value--muted mono text-sm muted"},bd={class:"composable-tracker__lifecycle-row"},yd={class:"composable-tracker__context-value composable-tracker__context-value--row composable-tracker__context-value--muted mono text-sm muted"},$d=["onClick"],kd={class:"composable-tracker__lifecycle-row"},wd={class:"composable-tracker__context-value composable-tracker__context-value--muted mono text-sm muted"},xd={class:"composable-tracker__lifecycle-row"},Cd={class:"composable-tracker__context-value mono text-sm"},Sd={class:"composable-tracker__lifecycle-row"},Td={class:"composable-tracker__context-value mono text-sm"},Md={key:0,class:"composable-tracker__empty muted text-sm"},Ed={key:0,class:"composable-tracker__lookup-panel"},Id={class:"composable-tracker__lookup-header"},Od={class:"mono text-sm"},Fd={class:"muted text-sm"},Ad={key:0,class:"composable-tracker__lookup-empty muted text-sm"},Nd={class:"mono text-sm"},Ld={class:"muted text-sm"},Dd={class:"composable-tracker__lookup-route muted text-sm"},Pd={class:"composable-tracker__edit-dialog"},Rd={class:"composable-tracker__edit-dialog-header"},jd={class:"mono"},Hd={key:0,class:"composable-tracker__edit-error text-sm"},Vd={class:"composable-tracker__edit-actions"},Ud=Ze({__name:"ComposableTracker",setup(e){const{composables:t,connected:s,features:n,clearComposables:o}=qt(),r=le(()=>{var M;return((M=n.value)==null?void 0:M.composableNavigationMode)==="session"?"session":"route"});function l(){const M=r.value==="route"?"session":"route";Qa(M)}function a(){o()}function c(M){if(M===null)return"null";if(M===void 0)return"undefined";if(typeof M=="string")return`"${M}"`;if(typeof M=="object")try{const E=JSON.stringify(M);return E.length>80?E.slice(0,80)+"…":E}catch{return String(M)}return String(M)}function _(M){if(M===null)return"null";if(M===void 0)return"undefined";if(typeof M=="string")return`"${M}"`;if(typeof M=="object")try{return JSON.stringify(M,null,2)}catch{return String(M)}return String(M)}function u(M){return M.split("/").pop()??M}function m(M){lo(M)}const w=ae("all"),$=ae(""),C=ae(null),f=le(()=>t.value),h=le(()=>({mounted:f.value.filter(M=>M.status==="mounted").length,leaks:f.value.filter(M=>M.leak).length})),N=le(()=>{const E=[...f.value].reverse().filter(Q=>{if(w.value==="leak"&&!Q.leak||w.value==="mounted"&&Q.status!=="mounted"||w.value==="unmounted"&&Q.status!=="unmounted")return!1;const de=$.value.toLowerCase();if(de){const _e=Q.name.toLowerCase().includes(de),Ue=Q.componentFile.toLowerCase().includes(de),rt=Object.keys(Q.refs).some(Pe=>Pe.toLowerCase().includes(de)),ze=Object.values(Q.refs).some(Pe=>{try{return String(JSON.stringify(Pe.value)).toLowerCase().includes(de)}catch{return!1}});if(!_e&&!Ue&&!rt&&!ze)return!1}return!0}),O=[],z=[];for(const Q of E)Q.isLayoutComposable?O.push(Q):z.push(Q);return[...O,...z]});function R(M){return[{label:"onMounted",ok:M.lifecycle.hasOnMounted,status:M.lifecycle.hasOnMounted?"registered":"not used"},{label:"onUnmounted",ok:M.lifecycle.hasOnUnmounted,status:M.lifecycle.hasOnUnmounted?"registered":"missing"},{label:"watchers cleaned",ok:M.lifecycle.watchersCleaned,status:M.lifecycle.watchersCleaned?"all stopped":"NOT stopped"},{label:"intervals cleared",ok:M.lifecycle.intervalsCleaned,status:M.lifecycle.intervalsCleaned?"all cleared":"NOT cleared"}]}function F(M){return M==="computed"?"badge-info":M==="reactive"?"badge-purple":"badge-gray"}const T=ae(new Set);function W(M,E){return`${M}:${E}`}function L(M){if(M==null||typeof M!="object")return!1;try{return JSON.stringify(M).length>60}catch{return!1}}function K(M,E){return T.value.has(W(M,E))}function J(M,E){const O=W(M,E),z=new Set(T.value);z.has(O)?z.delete(O):z.add(O),T.value=z}const Y=ae(null),ee=le(()=>{if(!Y.value)return[];const M=Y.value;return f.value.filter(E=>M in E.refs)});function B(M){Y.value=Y.value===M?null:M}const V=ae(null),S=ae("");function A(M,E,O){S.value="",V.value={id:M,key:E,rawValue:JSON.stringify(O,null,2)}}function I(){if(!V.value)return;let M;try{M=JSON.parse(V.value.rawValue),S.value=""}catch(E){S.value=`Invalid JSON: ${E.message}`;return}Za(V.value.id,V.value.key,M),V.value=null}return(M,E)=>(y(),x("div",wu,[i("div",xu,[i("div",Cu,[E[11]||(E[11]=i("div",{class:"stat-label"},"total",-1)),i("div",Su,p(f.value.length),1)]),i("div",Tu,[E[12]||(E[12]=i("div",{class:"stat-label"},"mounted",-1)),i("div",Mu,p(h.value.mounted),1)]),i("div",Eu,[E[13]||(E[13]=i("div",{class:"stat-label"},"leaks",-1)),i("div",Iu,p(h.value.leaks),1)]),i("div",Ou,[E[14]||(E[14]=i("div",{class:"stat-label"},"instances",-1)),i("div",Fu,p(f.value.length),1)])]),i("div",Au,[i("button",{class:se({active:w.value==="all"}),onClick:E[0]||(E[0]=O=>w.value="all")},"all",2),i("button",{class:se({active:w.value==="mounted"}),onClick:E[1]||(E[1]=O=>w.value="mounted")},"mounted",2),i("button",{class:se({"danger-active":w.value==="leak"}),onClick:E[2]||(E[2]=O=>w.value="leak")},"leaks only",2),i("button",{class:se({active:w.value==="unmounted"}),onClick:E[3]||(E[3]=O=>w.value="unmounted")},"unmounted",2),i("button",{class:"composable-tracker__mode-btn",title:`switch to ${r.value==="route"?"session":"route"} mode`,onClick:l}," mode: "+p(r.value),9,Nu),E[15]||(E[15]=i("span",{class:"tracker-toolbar__spacer"},null,-1)),Kt(i("input",{"onUpdate:modelValue":E[4]||(E[4]=O=>$.value=O),class:"composable-tracker__search",type:"search",placeholder:"search name, file, or ref…"},null,512),[[ls,$.value]]),r.value==="session"?(y(),x("button",{key:0,class:"composable-tracker__clear-btn",title:"Clear session history",onClick:a}," clear session ")):te("",!0)]),i("div",Lu,[(y(!0),x(pe,null,ye(N.value,O=>{var z;return y(),x("div",{key:O.id,class:se(["composable-tracker__card",{"composable-tracker__card--leak":O.leak,"composable-tracker__card--expanded":C.value===O.id}]),onClick:Q=>C.value=C.value===O.id?null:O.id},[i("div",Pu,[i("div",Ru,[i("span",ju,p(O.name),1),i("span",Hu,p(u(O.componentFile)),1)]),i("div",Vu,[O.watcherCount>0&&!O.leak?(y(),x("span",Uu,p(O.watcherCount)+"w",1)):te("",!0),O.intervalCount>0&&!O.leak?(y(),x("span",Bu,p(O.intervalCount)+"t",1)):te("",!0),O.leak?(y(),x("span",Wu,"leak")):O.status==="mounted"?(y(),x("span",Ku,"mounted")):(y(),x("span",zu,"unmounted"))])]),Object.keys(O.refs).length?(y(),x("div",qu,[(y(!0),x(pe,null,ye(Object.entries(O.refs).slice(0,3),([Q,de])=>{var _e,Ue,rt;return y(),x("span",{key:Q,class:se(["composable-tracker__ref-chip",{"composable-tracker__ref-chip--reactive":de.type==="reactive","composable-tracker__ref-chip--computed":de.type==="computed","composable-tracker__ref-chip--shared":(_e=O.sharedKeys)==null?void 0:_e.includes(Q)}]),title:(Ue=O.sharedKeys)!=null&&Ue.includes(Q)?"shared global state":""},[i("span",Gu,p(Q),1),i("span",Xu,p(c(de.value)),1),(rt=O.sharedKeys)!=null&&rt.includes(Q)?(y(),x("span",Yu)):te("",!0)],10,Ju)}),128)),Object.keys(O.refs).length>3?(y(),x("span",Qu," +"+p(Object.keys(O.refs).length-3)+" more ",1)):te("",!0)])):te("",!0),C.value===O.id?(y(),x("div",{key:1,class:"composable-tracker__detail",onClick:E[5]||(E[5]=Gt(()=>{},["stop"]))},[O.leak?(y(),x("div",Zu,p(O.leakReason),1)):te("",!0),(z=O.sharedKeys)!=null&&z.length?(y(),x("div",ed,[E[17]||(E[17]=i("span",{class:"composable-tracker__global-dot"},null,-1)),i("span",null,[E[16]||(E[16]=i("strong",null,"global state",-1)),Oe(" — "+p(O.sharedKeys.join(", "))+" "+p(O.sharedKeys.length===1?"is":"are")+" shared across all instances of "+p(O.name),1)])])):te("",!0),E[25]||(E[25]=i("div",{class:"composable-tracker__section-label tracker-section-label"},"reactive state",-1)),Object.keys(O.refs).length?te("",!0):(y(),x("div",td," no tracked state returned ")),(y(!0),x(pe,null,ye(Object.entries(O.refs),([Q,de])=>{var _e;return y(),x("div",{key:Q,class:"composable-tracker__ref-row"},[i("span",{class:"composable-tracker__ref-key composable-tracker__ref-key--clickable mono text-sm",title:`click to see all instances exposing '${Q}'`,onClick:Gt(Ue=>B(Q),["stop"])},p(Q),9,sd),i("span",{class:se(["composable-tracker__ref-val mono text-sm",{"composable-tracker__ref-val--full":L(de.value)&&K(O.id,Q),"composable-tracker__ref-val--collapsed":L(de.value)&&!K(O.id,Q)}])},p(L(de.value)&&!K(O.id,Q)?c(de.value):_(de.value)),3),i("div",nd,[L(de.value)?(y(),x("button",{key:0,class:"composable-tracker__expand-btn",title:K(O.id,Q)?"Collapse":"Expand",onClick:Gt(Ue=>J(O.id,Q),["stop"])},p(K(O.id,Q)?"▲":"▼"),9,od)):te("",!0),i("span",{class:se(["badge text-xs",F(de.type)])},p(de.type),3),(_e=O.sharedKeys)!=null&&_e.includes(Q)?(y(),x("span",id,"global")):te("",!0),de.type==="ref"?(y(),x("button",{key:2,class:"composable-tracker__edit-btn",title:"Edit value",onClick:Gt(Ue=>A(O.id,Q,de.value),["stop"])}," edit ",8,rd)):te("",!0)])])}),128)),O.history&&O.history.length?(y(),x(pe,{key:3},[i("div",ld,[E[18]||(E[18]=Oe(" change history ",-1)),i("span",ad,"("+p(O.history.length)+" events)",1)]),i("div",cd,[(y(!0),x(pe,null,ye([...O.history].reverse().slice(0,20),(Q,de)=>(y(),x("div",{key:de,class:"composable-tracker__history-row"},[i("span",ud,"+"+p((Q.t/1e3).toFixed(2))+"s",1),i("span",dd,p(Q.key),1),i("span",fd,p(c(Q.value)),1)]))),128)),O.history.length>20?(y(),x("div",pd," … "+p(O.history.length-20)+" earlier events ",1)):te("",!0)])],64)):te("",!0),E[26]||(E[26]=i("div",{class:"composable-tracker__section-label composable-tracker__section-label--spaced tracker-section-label"}," lifecycle ",-1)),(y(!0),x(pe,null,ye(R(O),Q=>(y(),x("div",{key:Q.label,class:"composable-tracker__lifecycle-row"},[i("span",{class:se(["composable-tracker__lifecycle-dot",Q.ok?"composable-tracker__lifecycle-dot--ok":"composable-tracker__lifecycle-dot--error"])},null,2),i("span",hd,p(Q.label),1),i("span",{class:se(["composable-tracker__lifecycle-status text-sm",Q.ok?"composable-tracker__lifecycle-status--ok":"composable-tracker__lifecycle-status--error"])},p(Q.status),3)]))),128)),E[27]||(E[27]=i("div",{class:"composable-tracker__section-label composable-tracker__section-label--spaced tracker-section-label"}," context ",-1)),i("div",_d,[E[19]||(E[19]=i("span",{class:"composable-tracker__context-label muted text-sm"},"component",-1)),i("span",md,p(u(O.componentFile)),1)]),i("div",vd,[E[20]||(E[20]=i("span",{class:"composable-tracker__context-label muted text-sm"},"uid",-1)),i("span",gd,p(O.componentUid),1)]),i("div",bd,[E[21]||(E[21]=i("span",{class:"composable-tracker__context-label muted text-sm"},"defined in",-1)),i("span",yd,[Oe(p(O.file)+":"+p(O.line)+" ",1),i("button",{class:"composable-tracker__jump-btn",title:"Open in editor",onClick:Gt(Q=>m(O.file),["stop"])}," open ↗ ",8,$d)])]),i("div",kd,[E[22]||(E[22]=i("span",{class:"composable-tracker__context-label muted text-sm"},"route",-1)),i("span",wd,p(O.route),1)]),i("div",xd,[E[23]||(E[23]=i("span",{class:"composable-tracker__context-label muted text-sm"},"watchers",-1)),i("span",Cd,p(O.watcherCount),1)]),i("div",Sd,[E[24]||(E[24]=i("span",{class:"composable-tracker__context-label muted text-sm"},"intervals",-1)),i("span",Td,p(O.intervalCount),1)])])):te("",!0)],10,Du)}),128)),N.value.length?te("",!0):(y(),x("div",Md,p(xe(s)?"No composables recorded yet.":"Waiting for connection to the Nuxt app…"),1))]),Me(Ys,{name:"slide"},{default:ws(()=>[Y.value?(y(),x("div",Ed,[i("div",Id,[i("span",Od,p(Y.value),1),i("span",Fd,"— "+p(ee.value.length)+" instance"+p(ee.value.length!==1?"s":""),1),i("button",{class:"composable-tracker__clear-btn composable-tracker__lookup-close",onClick:E[6]||(E[6]=O=>Y.value=null)},"✕")]),ee.value.length?te("",!0):(y(),x("div",Ad," No mounted instances expose this key. ")),(y(!0),x(pe,null,ye(ee.value,O=>(y(),x("div",{key:O.id,class:"composable-tracker__lookup-row"},[i("span",Nd,p(O.name),1),i("span",Ld,p(u(O.componentFile)),1),i("span",Dd,p(O.route),1)]))),128))])):te("",!0)]),_:1}),Me(Ys,{name:"fade"},{default:ws(()=>[V.value?(y(),x("div",{key:0,class:"composable-tracker__edit-overlay",onClick:E[10]||(E[10]=Gt(O=>V.value=null,["self"]))},[i("div",Pd,[i("div",Rd,[E[28]||(E[28]=Oe(" edit ",-1)),i("span",jd,p(V.value.key),1),i("button",{class:"composable-tracker__clear-btn composable-tracker__dialog-close",onClick:E[7]||(E[7]=O=>V.value=null)},"✕")]),E[29]||(E[29]=i("p",{class:"composable-tracker__edit-help muted text-sm"},[Oe(" Value applied immediately to the live ref. Only "),i("span",{class:"mono"},"ref"),Oe(" values are writable. ")],-1)),Kt(i("textarea",{"onUpdate:modelValue":E[8]||(E[8]=O=>V.value.rawValue=O),class:"composable-tracker__edit-textarea",rows:"6",spellcheck:"false"},null,512),[[ls,V.value.rawValue]]),S.value?(y(),x("div",Hd,p(S.value),1)):te("",!0),i("div",Vd,[i("button",{onClick:I},"apply"),i("button",{class:"composable-tracker__clear-btn",onClick:E[9]||(E[9]=O=>V.value=null)},"cancel")])])])):te("",!0)]),_:1})]))}}),Bd=it(Ud,[["__scopeId","data-v-30451db2"]]),Wd={class:"render-heatmap tracker-view"},Kd={class:"render-heatmap__controls tracker-toolbar"},zd={class:"render-heatmap__mode-group"},qd={class:"render-heatmap__threshold-group"},Jd=["min","max","step"],Gd={class:"mono text-sm"},Xd=["value"],Yd={class:"render-heatmap__stats tracker-stats-row"},Qd={class:"stat-card"},Zd={class:"stat-val"},ef={class:"stat-card"},tf={class:"stat-val"},sf={class:"stat-card"},nf={class:"stat-val stat-val--error"},of={class:"stat-card"},rf={class:"stat-val"},lf={class:"render-heatmap__inspector"},af={class:"render-heatmap__roots-panel"},cf=["onClick"],uf={class:"render-heatmap__root-copy"},df={class:"render-heatmap__root-label mono"},ff={class:"render-heatmap__root-sub muted mono"},pf={class:"render-heatmap__root-meta mono"},hf={key:0,class:"render-heatmap__detail-empty"},_f={class:"render-heatmap__tree-panel"},mf={class:"render-heatmap__tree-toolbar"},vf=["value"],gf={class:"render-heatmap__tree-frame"},bf={class:"render-heatmap__tree-canvas tree-canvas"},yf={key:0,class:"render-heatmap__detail-empty"},$f={class:"render-heatmap__detail-header"},kf={class:"render-heatmap__detail-title mono bold"},wf={class:"render-heatmap__detail-pill-row"},xf={class:"render-heatmap__detail-pill mono"},Cf={class:"render-heatmap__detail-pill render-heatmap__detail-pill--muted mono muted"},Sf={key:0,class:"render-heatmap__detail-pill mono"},Tf={key:1,class:"render-heatmap__detail-pill render-heatmap__detail-pill--persistent mono"},Mf={key:2,class:"render-heatmap__detail-pill render-heatmap__detail-pill--hydrated mono"},Ef={class:"render-heatmap__detail-pill mono"},If={class:"render-heatmap__meta-grid"},Of={class:"mono text-sm"},Ff={class:"mono text-sm"},Af={class:"render-heatmap__file-row mono text-sm muted"},Nf={class:"mono text-sm"},Lf={class:"mono text-sm"},Df={class:"mono text-sm"},Pf={class:"render-heatmap__meta-grid"},Rf={class:"mono text-sm"},jf={class:"mono text-sm"},Hf={class:"mono text-sm"},Vf={class:"mono text-sm"},Uf={class:"mono text-sm"},Bf={class:"mono text-sm"},Wf={class:"mono text-sm"},Kf={key:0,class:"muted text-sm"},zf={class:"tracker-section-label render-heatmap__section-label render-heatmap__section-label--timeline"},qf={class:"render-heatmap__section-label-meta muted"},Jf={key:1,class:"muted text-sm"},Gf={key:2,class:"render-heatmap__timeline-list"},Xf={class:"render-heatmap__timeline-time mono muted"},Yf={class:"render-heatmap__timeline-dur mono"},Qf={key:0,class:"render-heatmap__timeline-trigger mono muted"},Zf={class:"render-heatmap__timeline-route mono muted"},ep={key:0,class:"render-heatmap__compact-muted muted text-sm"},tp={key:1,class:"render-heatmap__detail-empty"},sp=Ze({__name:"RenderHeatmap",setup(e){const t=Ze({name:"TreeNode",props:{node:Object,mode:String,threshold:Number,selected:String,expandedIds:Object},emits:["select","toggle"],setup(g,{emit:b}){function D(oe){return g.mode==="count"?oe.rerenders+oe.mountCount:oe.avgMs}function fe(oe){return D(oe)>=g.threshold}function ne(oe){return{selected:g.selected===oe.id,hot:fe(oe)}}return()=>{var ao,co,uo;const oe=g.node,Ae=((ao=g.expandedIds)==null?void 0:ao.has(oe.id))??!1,Te=oe.children.length>0,Ge=g.mode==="count"?`${oe.rerenders+oe.mountCount}`:`${oe.avgMs.toFixed(1)}ms`,Fs=g.mode==="count"?"renders":"avg",Tt=[],mr=(co=oe.element)==null?void 0:co.toLowerCase();if(oe.element&&oe.element!==oe.label&&!["div","span","p"].includes(mr??"")&&Tt.push(oe.element),oe.file!=="unknown"){const Be=((uo=oe.file.split("/").pop())==null?void 0:uo.replace(/\.vue$/i,""))??oe.file;Be!==oe.label&&!Tt.includes(Be)&&Tt.push(Be)}return Ne("div",{class:"tree-node"},[Ne("div",{class:["tree-row",ne(oe)],style:{"--tree-depth":String(oe.depth)},onClick:Be=>{Be.stopPropagation(),b("select",oe)}},[Ne("span",{class:"tree-rail","aria-hidden":"true"}),Ne("button",{class:["tree-toggle",{empty:!Te}],disabled:!Te,onClick:Be=>{Be.stopPropagation(),Te&&b("toggle",oe.id)}},Te?Ae?"⌄":"›":""),Ne("div",{class:"tree-copy"},[Ne("span",{class:"tree-name mono",title:oe.label},oe.label),Tt.length?Ne("div",{class:"tree-badges"},Tt.slice(0,1).map(Be=>Ne("span",{class:"tree-badge mono",title:Be},Be))):null]),Ne("div",{class:"tree-metrics mono"},[oe.isPersistent?Ne("span",{class:"tree-persistent-pill",title:"Layout / persistent component — survives navigation"},"persistent"):null,oe.isHydrationMount?Ne("span",{class:"tree-hydration-pill",title:"First mount was SSR hydration — not a user-triggered render"},"hydrated"):null,Ne("span",{class:"tree-metric-pill"},`${Ge} ${Fs}`),oe.file&&oe.file!=="unknown"?Ne("button",{class:"tree-jump-btn",title:`Open ${oe.file} in editor`,onClick:Be=>{Be.stopPropagation(),ie(oe.file)}},"↗"):null])]),Ae&&Te?Ne("div",{class:"tree-children"},oe.children.map(Be=>Ne(t,{node:Be,mode:g.mode,threshold:g.threshold,selected:g.selected,expandedIds:g.expandedIds,onSelect:mn=>b("select",mn),onToggle:mn=>b("toggle",mn)}))):null])}}}),{renders:s,connected:n}=qt(),{paneWidth:o,onHandleMouseDown:r}=hn(280,"observatory:heatmap:detailWidth"),l=ae("count"),a=ae(""),c="3",_="1600",u=ae(Number(c)),m=ae(Number(_)),w=le({get:()=>l.value==="count"?u.value:m.value,set:g=>{l.value==="count"?u.value=g:m.value=g}}),$=ae(!1),C=ae(!1),f=ae(""),h=ae(null),N=ae(null),R=ae(new Set),F=ae([]),T=ae(!1);function W(g){var D;if(g.name&&g.name!=="unknown"&&!/^Component#\d+$/.test(g.name))return g.name;if(g.element)return g.element;const b=(D=g.file.split("/").pop())==null?void 0:D.replace(/\.vue$/i,"");return b&&b!=="unknown"?b:g.name&&g.name!=="unknown"?g.name:`Component#${g.uid}`}function L(g){return`${g.type}: ${g.key}`}function K(g){const b=new Map;for(const ne of g)b.set(String(ne.uid),{id:String(ne.uid),label:W(ne),file:ne.file,element:ne.element,depth:0,path:[],rerenders:ne.rerenders??0,mountCount:ne.mountCount??1,avgMs:ne.avgMs,triggers:ne.triggers.map(L),timeline:ne.timeline??[],children:[],parentId:ne.parentUid!==void 0?String(ne.parentUid):void 0,isPersistent:!!ne.isPersistent,isHydrationMount:!!ne.isHydrationMount,route:ne.route??"/"});const D=[];for(const ne of g){const oe=b.get(String(ne.uid));if(!oe)continue;const Ae=ne.parentUid!==void 0?b.get(String(ne.parentUid)):void 0;Ae?(oe.parentLabel=Ae.label,Ae.children.push(oe)):D.push(oe)}function fe(ne,oe=[],Ae=0){ne.depth=Ae,ne.path=[...oe,ne.label],ne.children.forEach(Te=>fe(Te,ne.path,Ae+1))}return D.forEach(ne=>fe(ne)),D}function J(g){const b=[];function D(fe){b.push(fe),fe.children.forEach(D)}return g.forEach(D),b}function Y(g){return 1+g.children.reduce((b,D)=>b+Y(D),0)}function ee(g,b=new Set){return b.add(g.id),g.children.forEach(D=>ee(D,b)),b}function B(g,b,D=[]){const fe=[...D,g.id];if(g.id===b)return fe;for(const ne of g.children){const oe=B(ne,b,fe);if(oe)return oe}return null}function V(g){if(M(g))return g;for(const b of g.children){const D=V(b);if(D)return D}return null}function S(g){if(!g)return new Set;const b=new Set;function D(fe){fe.children.length>0&&(b.add(fe.id),fe.children.forEach(D))}return D(g),b}function A(g,b){const D=S(g);if(!g||!b)return D;function fe(ne){const oe=ne.children.some(Te=>fe(Te)),Ae=E(ne,b);return oe&&D.add(ne.id),Ae||oe}return fe(g),D}function I(g){return l.value==="count"?g.rerenders+g.mountCount:g.avgMs}function M(g){return I(g)>=w.value}function E(g,b){if(!b)return!0;const D=b.toLowerCase();return g.label.toLowerCase().includes(D)||g.file.toLowerCase().includes(D)||g.path.some(fe=>fe.toLowerCase().includes(D))||g.triggers.some(fe=>fe.toLowerCase().includes(D))}function O(g,b){return b?E(g,b)||g.children.some(D=>O(D,b)):!0}function z(g){return M(g)||g.children.some(b=>z(b))}function Q(g){return!a.value||g.route===a.value?!0:g.timeline.some(b=>b.route===a.value)}function de(g){return Q(g)||g.children.some(b=>de(b))}function _e(g,b){const D=O(g,b),fe=!$.value||z(g),ne=!a.value||de(g);return D&&fe&&ne}function Ue(g,b){const D=g.children.map(Ae=>Ue(Ae,b)).filter(Ae=>Ae!==null),fe=!b||E(g,b)||D.length>0,ne=!$.value||M(g)||D.length>0,oe=!a.value||Q(g)||D.length>0;return!fe||!ne||!oe?null:{...g,children:D}}const rt=le(()=>C.value?F.value:s.value),ze=le(()=>K(rt.value)),Pe=le(()=>new Map(ze.value.map(g=>[g.id,g]))),Ie=le(()=>J(ze.value)),et=le(()=>{const g=f.value.trim();return ze.value.filter(b=>_e(b,g))}),qe=le(()=>N.value?et.value.find(g=>g.id===N.value)??Pe.value.get(N.value)??null:et.value[0]??ze.value[0]??null),St=le(()=>{const g=f.value.trim();return qe.value?Ue(qe.value,g):null}),_n=le(()=>St.value?[St.value]:[]),d=le(()=>et.value.map((g,b)=>({id:g.id,label:`App ${b+1}`,meta:`${Y(g)} nodes`,root:g}))),v=le(()=>{const g=new Set;for(const b of Ie.value){b.route&&g.add(b.route);for(const D of b.timeline)D.route&&g.add(D.route)}return[...g].sort()}),k=le(()=>Ie.value.find(g=>g.id===h.value)??null),U=le(()=>Ie.value.reduce((g,b)=>g+b.rerenders+b.mountCount,0)),P=le(()=>Ie.value.filter(g=>M(g)).length),j=le(()=>{const g=Ie.value.filter(b=>b.avgMs>0);return g.length?(g.reduce((b,D)=>b+D.avgMs,0)/g.length).toFixed(1):"0.0"});Ot(ze,g=>{if(!g.length){N.value=null,h.value=null,R.value=new Set,T.value=!1;return}const b=new Set(g.map(ne=>ne.id));(!N.value||!b.has(N.value))&&(N.value=g[0].id),h.value&&!Ie.value.some(ne=>ne.id===h.value)&&(h.value=null);const D=new Set(Ie.value.map(ne=>ne.id)),fe=new Set([...R.value].filter(ne=>D.has(ne)));if(!T.value){R.value=S(qe.value),T.value=!0;return}!f.value.trim()&&h.value&&qe.value&&(B(qe.value,h.value)??[]).forEach(oe=>fe.add(oe)),R.value=fe},{immediate:!0}),Ot(f,g=>{if(!qe.value)return;const b=g.trim();if(b){R.value=A(qe.value,b);return}if(h.value){const D=B(qe.value,h.value);R.value=D?new Set(D):S(qe.value);return}R.value=S(qe.value)}),Ot([$,w,l,et],()=>{if(!$.value)return;const g=et.value[0]??null;if(!g){h.value=null;return}const b=V(g);if(!b){h.value=null;return}N.value=g.id,h.value!==b.id&&(h.value=b.id),R.value=new Set(B(g,b.id)??[g.id])});function X(g){h.value=g.id;const b=ze.value.find(D=>ee(D).has(g.id));b&&(N.value=b.id,R.value=new Set(B(b,g.id)??[b.id]))}function G(g){const b=new Set(R.value);b.has(g)?b.delete(g):b.add(g),R.value=b}function q(g){N.value=g.id,R.value=S(g),T.value=!0}function H(g){const b=g.target;f.value=(b==null?void 0:b.value)??""}function re(){if(C.value){C.value=!1,F.value=[];return}F.value=JSON.parse(JSON.stringify(s.value)),C.value=!0}function Z(g){var b;return((b=g.split("/").pop())==null?void 0:b.replace(/\.vue$/i,""))??g}function ie(g){lo(g)}function ue(g){return g.path.join(" / ")}function me(g){return g<1?"<1ms":`${g.toFixed(1)}ms`}function ke(g){return`+${(g/1e3).toFixed(2)}s`}return(g,b)=>(y(),x("div",Wd,[i("div",Kd,[i("div",zd,[i("button",{class:se({active:l.value==="count"}),onClick:b[0]||(b[0]=D=>l.value="count")},"render count",2),i("button",{class:se({active:l.value==="time"}),onClick:b[1]||(b[1]=D=>l.value="time")},"render time",2)]),i("div",qd,[b[8]||(b[8]=i("span",{class:"muted text-sm"},"threshold",-1)),Kt(i("input",{"onUpdate:modelValue":b[2]||(b[2]=D=>w.value=D),type:"range",min:l.value==="count"?2:4,max:l.value==="count"?20:100,step:l.value==="count"?1:4,class:"render-heatmap__threshold-range"},null,8,Jd),[[ls,w.value,void 0,{number:!0}]]),i("span",Gd,p(w.value)+p(l.value==="count"?"+ renders":"ms+"),1)]),i("button",{class:se({active:$.value}),onClick:b[3]||(b[3]=D=>$.value=!$.value)},"hot only",2),Kt(i("select",{"onUpdate:modelValue":b[4]||(b[4]=D=>a.value=D),class:"route-select mono text-sm",title:"Filter by route"},[b[9]||(b[9]=i("option",{value:""},"all routes",-1)),(y(!0),x(pe,null,ye(v.value,D=>(y(),x("option",{key:D,value:D},p(D),9,Xd))),128))],512),[[Ha,a.value]]),i("button",{class:se([{active:C.value},"render-heatmap__freeze tracker-toolbar__spacer"]),onClick:re},p(C.value?"unfreeze":"freeze snapshot"),3)]),i("div",Yd,[i("div",Qd,[b[10]||(b[10]=i("div",{class:"stat-label"},"components",-1)),i("div",Zd,p(Ie.value.length),1)]),i("div",ef,[b[11]||(b[11]=i("div",{class:"stat-label"},"total renders",-1)),i("div",tf,p(U.value),1)]),i("div",sf,[b[12]||(b[12]=i("div",{class:"stat-label"},"hot",-1)),i("div",nf,p(P.value),1)]),i("div",of,[b[13]||(b[13]=i("div",{class:"stat-label"},"avg time",-1)),i("div",rf,p(j.value)+"ms",1)])]),i("div",lf,[i("aside",af,[b[14]||(b[14]=i("div",{class:"render-heatmap__panel-title tracker-section-label"},"apps",-1)),(y(!0),x(pe,null,ye(d.value,D=>(y(),x("button",{key:D.id,class:se(["render-heatmap__root-item",{active:N.value===D.id}]),onClick:fe=>q(D.root)},[i("div",uf,[i("span",df,p(D.label),1),i("span",ff,p(D.root.label),1)]),i("span",pf,p(D.meta),1)],10,cf))),128)),d.value.length?te("",!0):(y(),x("div",hf,"no apps match"))]),i("section",_f,[i("div",mf,[i("input",{value:f.value,class:"render-heatmap__search-input mono",placeholder:"Find components...",onInput:H},null,40,vf)]),i("div",gf,[i("div",bf,[(y(!0),x(pe,null,ye(_n.value,D=>{var fe;return y(),gt(xe(t),{key:D.id,node:D,mode:l.value,threshold:w.value,selected:(fe=k.value)==null?void 0:fe.id,"expanded-ids":R.value,onSelect:X,onToggle:G},null,8,["node","mode","threshold","selected","expanded-ids"])}),128))]),_n.value.length?te("",!0):(y(),x("div",yf,p(xe(n)?"No render activity recorded yet.":"Waiting for connection to the Nuxt app…"),1))])]),i("div",{class:"tracker-resize-handle",onMousedown:b[5]||(b[5]=(...D)=>xe(r)&&xe(r)(...D))},null,32),i("aside",{class:"render-heatmap__detail-panel tracker-detail-panel",style:Se({width:xe(o)+"px"})},[k.value?(y(),x(pe,{key:0},[i("div",$f,[i("span",kf,p(k.value.label),1),i("button",{onClick:b[6]||(b[6]=D=>h.value=null)},"×")]),i("div",wf,[i("span",xf,p(k.value.rerenders+k.value.mountCount)+" render"+p(k.value.rerenders+k.value.mountCount!==1?"s":""),1),i("span",Cf,p(k.value.mountCount)+" mount"+p(k.value.mountCount!==1?"s":""),1),k.value.rerenders?(y(),x("span",Sf,p(k.value.rerenders)+" re-render"+p(k.value.rerenders!==1?"s":""),1)):te("",!0),k.value.isPersistent?(y(),x("span",Tf," persistent ")):te("",!0),k.value.isHydrationMount?(y(),x("span",Mf," hydrated ")):te("",!0),i("span",Ef,p(k.value.avgMs.toFixed(1))+"ms avg",1),i("span",{class:se(["render-heatmap__detail-pill mono",{"render-heatmap__detail-pill--hot":M(k.value)}])},p(M(k.value)?"hot":"cool"),3)]),b[30]||(b[30]=i("div",{class:"tracker-section-label render-heatmap__section-label"},"identity",-1)),i("div",If,[b[15]||(b[15]=i("span",{class:"muted text-sm"},"label",-1)),i("span",Of,p(k.value.label),1),b[16]||(b[16]=i("span",{class:"muted text-sm"},"path",-1)),i("span",Ff,p(ue(k.value)),1),b[17]||(b[17]=i("span",{class:"muted text-sm"},"file",-1)),i("span",Af,[Oe(p(k.value.file)+" ",1),k.value.file&&k.value.file!=="unknown"?(y(),x("button",{key:0,class:"jump-btn",title:"Open in editor",onClick:b[7]||(b[7]=D=>ie(k.value.file))}," open ↗ ")):te("",!0)]),b[18]||(b[18]=i("span",{class:"muted text-sm"},"file name",-1)),i("span",Nf,p(Z(k.value.file)),1),b[19]||(b[19]=i("span",{class:"muted text-sm"},"parent",-1)),i("span",Lf,p(k.value.parentLabel??"none"),1),b[20]||(b[20]=i("span",{class:"muted text-sm"},"children",-1)),i("span",Df,p(k.value.children.length),1)]),b[31]||(b[31]=i("div",{class:"tracker-section-label render-heatmap__section-label"},"rendering",-1)),i("div",Pf,[b[21]||(b[21]=i("span",{class:"muted text-sm"},"total renders",-1)),i("span",Rf,p(k.value.rerenders+k.value.mountCount),1),b[22]||(b[22]=i("span",{class:"muted text-sm"},"re-renders",-1)),i("span",jf,p(k.value.rerenders),1),b[23]||(b[23]=i("span",{class:"muted text-sm"},"mounts",-1)),i("span",Hf,p(k.value.mountCount),1),b[24]||(b[24]=i("span",{class:"muted text-sm"},"persistent",-1)),i("span",{class:se(["mono text-sm",{"render-heatmap__persistent-value":k.value.isPersistent}])},p(k.value.isPersistent?"yes — survives navigation":"no"),3),b[25]||(b[25]=i("span",{class:"muted text-sm"},"hydration mount",-1)),i("span",Vf,p(k.value.isHydrationMount?"yes — SSR hydrated":"no"),1),b[26]||(b[26]=i("span",{class:"muted text-sm"},"avg render time",-1)),i("span",Uf,p(k.value.avgMs.toFixed(1))+"ms",1),b[27]||(b[27]=i("span",{class:"muted text-sm"},"threshold",-1)),i("span",Bf,p(w.value)+p(l.value==="count"?"+ renders":"ms+"),1),b[28]||(b[28]=i("span",{class:"muted text-sm"},"mode",-1)),i("span",Wf,p(l.value==="count"?"re-render count":"render time"),1)]),b[32]||(b[32]=i("div",{class:"tracker-section-label render-heatmap__section-label"},"triggers",-1)),(y(!0),x(pe,null,ye(k.value.triggers,D=>(y(),x("div",{key:D,class:"render-heatmap__trigger-item mono text-sm"},p(D),1))),128)),k.value.triggers.length?te("",!0):(y(),x("div",Kf,"no triggers recorded")),i("div",zf,[b[29]||(b[29]=Oe(" render timeline ",-1)),i("span",qf,"("+p(k.value.timeline.length)+")",1)]),k.value.timeline.length?(y(),x("div",Gf,[(y(!0),x(pe,null,ye([...k.value.timeline].reverse().slice(0,30),(D,fe)=>(y(),x("div",{key:fe,class:"render-heatmap__timeline-row"},[i("span",{class:se(["render-heatmap__timeline-kind mono",D.kind])},p(D.kind),3),i("span",Xf,p(ke(D.t)),1),i("span",Yf,p(me(D.durationMs)),1),D.triggerKey?(y(),x("span",Qf,p(D.triggerKey),1)):te("",!0),i("span",Zf,p(D.route),1)]))),128)),k.value.timeline.length>30?(y(),x("div",ep," … "+p(k.value.timeline.length-30)+" earlier events ",1)):te("",!0)])):(y(),x("div",Jf,"no timeline events yet"))],64)):(y(),x("div",tp,"click a component to inspect"))],4)])]))}}),np=it(sp,[["__scopeId","data-v-3dd8b492"]]),op={class:"transition-timeline tracker-view"},ip={class:"transition-timeline__stats tracker-stats-row"},rp={class:"stat-card"},lp={class:"stat-val"},ap={class:"stat-card"},cp={class:"stat-val stat-val--active"},up={class:"stat-card"},dp={class:"stat-val stat-val--error"},fp={class:"stat-card"},pp={class:"stat-val"},hp={class:"transition-timeline__toolbar tracker-toolbar"},_p={class:"transition-timeline__filters"},mp={class:"transition-timeline__content tracker-split"},vp={class:"transition-timeline__table tracker-table-wrap"},gp={class:"data-table"},bp=["onClick"],yp={class:"transition-timeline__name mono"},$p={class:"transition-timeline__duration mono"},kp={class:"transition-timeline__component muted"},wp={class:"transition-timeline__bar-cell"},xp={class:"transition-timeline__bar-track"},Cp={key:0},Sp={colspan:"6",class:"tracker-empty-cell"},Tp={class:"transition-timeline__detail-header"},Mp={class:"transition-timeline__detail-title"},Ep={class:"transition-timeline__detail-section"},Ip={class:"transition-timeline__detail-row"},Op={class:"transition-timeline__detail-row"},Fp={class:"transition-timeline__detail-row"},Ap={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},Np={key:0,class:"transition-timeline__detail-row"},Lp={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},Dp={class:"transition-timeline__detail-section"},Pp={class:"transition-timeline__detail-row"},Rp={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},jp={class:"transition-timeline__detail-row"},Hp={class:"transition-timeline__detail-val transition-timeline__detail-val--mono mono"},Vp={class:"transition-timeline__detail-row"},Up={class:"transition-timeline__detail-val transition-timeline__detail-val--mono transition-timeline__detail-val--strong mono"},Bp={class:"transition-timeline__detail-section"},Wp={class:"transition-timeline__detail-row"},Kp={class:"transition-timeline__detail-row"},zp={key:0,class:"transition-timeline__notice transition-timeline__notice--cancelled"},qp={key:1,class:"transition-timeline__notice transition-timeline__notice--active"},Jp=Ze({__name:"TransitionTimeline",setup(e){const{transitions:t,connected:s}=qt(),{paneWidth:n,onHandleMouseDown:o}=hn(260,"observatory:transitions:detailWidth"),r=ae("all"),l=ae(""),a=ae(null),c=le(()=>{let f=[...t.value];if(l.value){const h=l.value.toLowerCase();f=f.filter(N=>N.transitionName.toLowerCase().includes(h)||N.parentComponent.toLowerCase().includes(h))}return r.value==="cancelled"?f=f.filter(h=>h.cancelled||h.phase==="interrupted"):r.value==="active"?f=f.filter(h=>h.phase==="entering"||h.phase==="leaving"):r.value==="completed"&&(f=f.filter(h=>h.phase==="entered"||h.phase==="left")),f.sort((h,N)=>h.startTime-N.startTime)}),_=le(()=>({total:t.value.length,active:t.value.filter(f=>f.phase==="entering"||f.phase==="leaving").length,cancelled:t.value.filter(f=>f.cancelled||f.phase==="interrupted").length,avgMs:(()=>{const f=t.value.filter(h=>h.durationMs!==void 0);return f.length?Math.round(f.reduce((h,N)=>h+(N.durationMs??0),0)/f.length):0})()})),u=le(()=>{const f=c.value;if(!f.length)return[];const h=f.reduce((F,T)=>Math.min(F,T.startTime),f[0].startTime),N=f.reduce((F,T)=>Math.max(F,T.endTime??T.startTime+400),0),R=Math.max(N-h,1);return f.map(F=>({left:(F.startTime-h)/R*100,width:((F.endTime??F.startTime+80)-F.startTime)/R*100}))});function m(f){return f==="entering"||f==="leaving"?"#7f77dd":f==="entered"?"#1d9e75":f==="left"?"#378add":f==="enter-cancelled"||f==="leave-cancelled"?"#e24b4a":f==="interrupted"?"#e09a3a":"#888"}function w(f){return f==="entering"||f==="leaving"?"badge-purple":f==="entered"||f==="left"?"badge-ok":f.includes("cancelled")?"badge-err":f==="interrupted"?"badge-warn":"badge-gray"}function $(f){return f.appear?"✦ appear":f.direction==="enter"?"→ enter":"← leave"}function C(f){return f.appear?"var(--amber)":f.direction==="enter"?"var(--teal)":"var(--blue)"}return(f,h)=>(y(),x("div",op,[i("div",ip,[i("div",rp,[i("div",lp,p(_.value.total),1),h[7]||(h[7]=i("div",{class:"stat-label"},"total",-1))]),i("div",ap,[i("div",cp,p(_.value.active),1),h[8]||(h[8]=i("div",{class:"stat-label"},"active",-1))]),i("div",up,[i("div",dp,p(_.value.cancelled),1),h[9]||(h[9]=i("div",{class:"stat-label"},"cancelled",-1))]),i("div",fp,[i("div",pp,[Oe(p(_.value.avgMs)+" ",1),h[10]||(h[10]=i("span",{class:"stat-unit"},"ms",-1))]),h[11]||(h[11]=i("div",{class:"stat-label"},"avg duration",-1))])]),i("div",hp,[Kt(i("input",{"onUpdate:modelValue":h[0]||(h[0]=N=>l.value=N),type:"search",placeholder:"filter by name or component…",class:"transition-timeline__search"},null,512),[[ls,l.value]]),i("div",_p,[i("button",{class:se({active:r.value==="all"}),onClick:h[1]||(h[1]=N=>r.value="all")},"All",2),i("button",{class:se({active:r.value==="active"}),onClick:h[2]||(h[2]=N=>r.value="active")},"Active",2),i("button",{class:se({active:r.value==="completed"}),onClick:h[3]||(h[3]=N=>r.value="completed")},"Completed",2),i("button",{class:se({active:r.value==="cancelled","danger-active":r.value==="cancelled"}),onClick:h[4]||(h[4]=N=>r.value="cancelled")}," Cancelled ",2)])]),i("div",mp,[i("div",vp,[i("table",gp,[h[12]||(h[12]=i("thead",null,[i("tr",null,[i("th",{class:"transition-timeline__col-name"},"NAME"),i("th",{class:"transition-timeline__col-dir"},"DIR"),i("th",{class:"transition-timeline__col-phase"},"PHASE"),i("th",{class:"transition-timeline__col-duration"},"DURATION"),i("th",null,"COMPONENT"),i("th",null,"TIMELINE")])],-1)),i("tbody",null,[(y(!0),x(pe,null,ye(c.value,(N,R)=>{var F,T,W;return y(),x("tr",{key:N.id,class:se({selected:((F=a.value)==null?void 0:F.id)===N.id}),onClick:L=>{var K;return a.value=((K=a.value)==null?void 0:K.id)===N.id?null:N}},[i("td",null,[i("span",yp,p(N.transitionName),1)]),i("td",null,[i("span",{class:"transition-timeline__direction mono",style:Se({color:C(N)})},p($(N)),5)]),i("td",null,[i("span",{class:se(["badge",w(N.phase)])},p(N.phase),3)]),i("td",$p,p(N.durationMs!==void 0?N.durationMs+"ms":"—"),1),i("td",kp,p(N.parentComponent),1),i("td",wp,[i("div",xp,[i("div",{class:"transition-timeline__bar-fill",style:Se({left:((T=u.value[R])==null?void 0:T.left)+"%",width:Math.max(((W=u.value[R])==null?void 0:W.width)??1,1)+"%",background:m(N.phase),opacity:N.phase==="entering"||N.phase==="leaving"?"0.55":"1"})},null,4)])])],10,bp)}),128)),c.value.length?te("",!0):(y(),x("tr",Cp,[i("td",Sp,p(xe(s)?"No transitions recorded yet — trigger one on the page.":"Waiting for connection to the Nuxt app…"),1)]))])])]),Me(Ys,{name:"panel-slide"},{default:ws(()=>[a.value?(y(),x("div",{key:0,class:"tracker-resize-handle",onMousedown:h[5]||(h[5]=(...N)=>xe(o)&&xe(o)(...N))},null,32)):te("",!0)]),_:1}),Me(Ys,{name:"panel-slide"},{default:ws(()=>[a.value?(y(),x("aside",{key:0,class:"transition-timeline__detail",style:Se({width:xe(n)+"px"})},[i("div",Tp,[i("span",Mp,p(a.value.transitionName),1),i("button",{class:"transition-timeline__close-btn",onClick:h[6]||(h[6]=N=>a.value=null)},"✕")]),i("div",Ep,[i("div",Ip,[h[13]||(h[13]=i("span",{class:"transition-timeline__detail-key"},"Direction",-1)),i("span",{class:"transition-timeline__detail-val",style:Se({color:C(a.value)})},p($(a.value)),5)]),i("div",Op,[h[14]||(h[14]=i("span",{class:"transition-timeline__detail-key"},"Phase",-1)),i("span",{class:se(["badge",w(a.value.phase)])},p(a.value.phase),3)]),i("div",Fp,[h[15]||(h[15]=i("span",{class:"transition-timeline__detail-key"},"Component",-1)),i("span",Ap,p(a.value.parentComponent),1)]),a.value.mode?(y(),x("div",Np,[h[16]||(h[16]=i("span",{class:"transition-timeline__detail-key"},"Mode",-1)),i("span",Lp,p(a.value.mode),1)])):te("",!0)]),i("div",Dp,[h[20]||(h[20]=i("div",{class:"tracker-section-label transition-timeline__section-title"},"Timing",-1)),i("div",Pp,[h[17]||(h[17]=i("span",{class:"transition-timeline__detail-key"},"Start",-1)),i("span",Rp,p(a.value.startTime.toFixed(2))+"ms ",1)]),i("div",jp,[h[18]||(h[18]=i("span",{class:"transition-timeline__detail-key"},"End",-1)),i("span",Hp,p(a.value.endTime!==void 0?a.value.endTime.toFixed(2)+"ms":"—"),1)]),i("div",Vp,[h[19]||(h[19]=i("span",{class:"transition-timeline__detail-key"},"Duration",-1)),i("span",Up,p(a.value.durationMs!==void 0?a.value.durationMs+"ms":a.value.phase==="interrupted"?"interrupted":"in progress"),1)])]),i("div",Bp,[h[23]||(h[23]=i("div",{class:"tracker-section-label transition-timeline__section-title"},"Flags",-1)),i("div",Wp,[h[21]||(h[21]=i("span",{class:"transition-timeline__detail-key"},"Appear",-1)),i("span",{class:"transition-timeline__detail-val",style:Se({color:a.value.appear?"var(--amber)":"var(--text3)"})},p(a.value.appear?"yes":"no"),5)]),i("div",Kp,[h[22]||(h[22]=i("span",{class:"transition-timeline__detail-key"},"Cancelled",-1)),i("span",{class:"transition-timeline__detail-val",style:Se({color:a.value.cancelled?"var(--red)":"var(--text3)"})},p(a.value.cancelled?"yes":"no"),5)])]),a.value.cancelled?(y(),x("div",zp,[...h[24]||(h[24]=[Oe(" This transition was cancelled mid-flight. The element may be stuck in a partial animation state if the interruption was not handled with ",-1),i("code",null,"onEnterCancelled",-1),Oe(" / ",-1),i("code",null,"onLeaveCancelled",-1),Oe(" . ",-1)])])):te("",!0),a.value.phase==="entering"||a.value.phase==="leaving"?(y(),x("div",qp,[...h[25]||(h[25]=[Oe(" Transition is currently in progress. If it stays in this state longer than expected, the ",-1),i("code",null,"done()",-1),Oe(" callback may not be getting called (JS-mode transition stall). ",-1)])])):te("",!0)],4)):te("",!0)]),_:1})])]))}}),Gp=it(Jp,[["__scopeId","data-v-0bb51bcf"]]),Xp={class:"flamegraph"},Yp={class:"flamegraph__timeline-header"},Qp={class:"flamegraph__time-label"},Zp={class:"flamegraph__time-label"},eh={class:"flamegraph__rows"},th=["onClick"],sh=["onClick"],nh={class:"flamegraph__span-name"},oh={class:"flamegraph__span-type"},ih={class:"flamegraph__bar-container"},rh=["title","onClick"],lh={key:0,class:"flamegraph__bar-label"},ah={key:0,class:"flamegraph__empty"},ch=Ze({__name:"Flamegraph",props:{trace:{},selectedSpanId:{}},emits:["select-span"],setup(e,{emit:t}){const s=e,n=t,o=ae(new Set);function r(F){o.value.has(F)?o.value.delete(F):o.value.add(F)}function l(F,T=void 0,W=0){return F.filter(L=>L.parentSpanId===T).map(L=>({...L,children:l(F,L.id,W+1),level:W}))}const a=le(()=>l(s.trace.spans,void 0,0)),c=le(()=>{if(s.trace.durationMs&&s.trace.durationMs>0)return s.trace.durationMs;if(s.trace.endTime&&s.trace.endTime>s.trace.startTime)return s.trace.endTime-s.trace.startTime;let F=0;for(const T of s.trace.spans){const L=(T.endTime??T.startTime+(T.durationMs??0))-s.trace.startTime;L>F&&(F=L)}return F>0?F*1.1:1});function _(F){const T=s.trace.startTime,W=(F.startTime-T)/c.value*100,L=(F.durationMs||0)/c.value*100;return{left:`${Math.min(100,Math.max(0,W))}%`,width:`${Math.max(.5,Math.min(100-Math.max(0,W),L))}%`}}function u(F){return(F.durationMs||0)/c.value*100<5}function m(F){return F?F<1?`${(F*1e3).toFixed(1)}μs`:F<1e3?`${F.toFixed(1)}ms`:`${(F/1e3).toFixed(2)}s`:"0ms"}function w(F){return typeof F=="string"&&F.length>0?F:void 0}function $(F){return typeof F=="number"?F:void 0}function C(F){const T=F.metadata??{},W=w(T.lifecycle),L=w(T.componentName),K=$(T.uid),J=w(T.route)??w(T.path),Y=w(T.method),ee=w(T.url);return L&&W?K!==void 0?`${L}.${W} #${K}`:`${L}.${W}`:L?K!==void 0?`${L} #${K}`:L:Y&&ee?`${Y} ${ee}`:ee||(J?`${F.name} (${J})`:F.name)}function f(F){const T=F.metadata??{},W=C(F),L=F.status,K=m(F.durationMs),J=w(T.route)??w(T.path);return J?`${W} - ${K} (${L}) [${J}]`:`${W} - ${K} (${L})`}function h(F){return{fetch:"bg-blue-500",composable:"bg-purple-500",component:"bg-green-500",navigation:"bg-yellow-500",render:"bg-orange-500",transition:"bg-pink-500"}[F]||"bg-gray-500"}function N(F){const T=[F];if(o.value.has(F.id)&&F.children.length>0)for(const W of F.children)T.push(...N(W));return T}const R=le(()=>{const F=[];for(const T of a.value)for(const W of N(T)){const L=W.level+(W.parentSpanId?1:0);F.push({node:W,displayDepth:L})}return F});return(F,T)=>(y(),x("div",Xp,[i("div",Yp,[T[0]||(T[0]=i("div",{class:"flamegraph__time-label"},"0ms",-1)),i("div",Qp,p(m(c.value/2)),1),i("div",Zp,p(m(c.value)),1)]),i("div",eh,[(y(!0),x(pe,null,ye(R.value,({node:W,displayDepth:L})=>(y(),x("div",{key:W.id,class:se([{"flamegraph__row--selected":W.id===s.selectedSpanId},"flamegraph__row"])},[i("div",{class:"flamegraph__label",style:Se({paddingLeft:`calc(8px + ${L*16}px)`})},[W.children.length>0?(y(),x("button",{key:0,class:se({"flamegraph__expand-btn":!0,"flamegraph__expand-btn--expanded":o.value.has(W.id)}),onClick:K=>r(W.id)}," ▶ ",10,th)):te("",!0),i("button",{class:"flamegraph__node-button",onClick:K=>n("select-span",W)},[i("span",nh,p(C(W)),1),i("span",oh,p(W.type),1)],8,sh)],4),i("div",ih,[i("div",{class:se(["flamegraph__bar",h(W.type)]),style:Se(_(W)),title:f(W),onClick:K=>n("select-span",W)},[u(W)?te("",!0):(y(),x("span",lh,p(m(W.durationMs)),1))],14,rh),u(W)?(y(),x("span",{key:0,class:"flamegraph__bar-label-outside",style:Se({left:_(W).left})},p(m(W.durationMs)),5)):te("",!0)])],2))),128)),R.value.length===0?(y(),x("div",ah,"No spans in this trace")):te("",!0)])]))}}),uh=it(ch,[["__scopeId","data-v-92b8fa3d"]]),dh={class:"waterfall"},fh={class:"waterfall__timeline-header"},ph={class:"waterfall__timeline-col"},hh={class:"waterfall__time-markers"},_h={class:"waterfall__time-marker"},mh={class:"waterfall__time-marker"},vh={class:"waterfall__time-marker"},gh={class:"waterfall__time-marker"},bh={class:"waterfall__groups"},yh={class:"waterfall__group-header"},$h={class:"waterfall__group-type"},kh={class:"waterfall__group-count"},wh={class:"waterfall__group-spans"},xh={class:"waterfall__span-label"},Ch=["title"],Sh={class:"waterfall__span-bar-container"},Th=["title"],Mh={key:0,class:"waterfall__bar-duration"},Eh={key:0,class:"waterfall__empty"},Ih=Ze({__name:"WaterfallView",props:{trace:{}},setup(e){const t=e,s=le(()=>{const $={};for(const C of t.trace.spans)$[C.type]||($[C.type]=[]),$[C.type].push(C);return Object.entries($).map(([C,f])=>({type:C,spans:f.sort((h,N)=>h.startTime-N.startTime)})).sort((C,f)=>{const h={navigation:0,fetch:1,composable:2,component:3,render:4,transition:5};return(h[C.type]??999)-(h[f.type]??999)})}),n=le(()=>{if(t.trace.durationMs&&t.trace.durationMs>0)return t.trace.durationMs;if(t.trace.endTime&&t.trace.endTime>t.trace.startTime)return t.trace.endTime-t.trace.startTime;let $=0;for(const C of t.trace.spans){const h=(C.endTime??C.startTime+(C.durationMs??0))-t.trace.startTime;h>$&&($=h)}return $||1});function o($){const C=($.startTime-t.trace.startTime)/n.value*100;return Math.min(100,Math.max(0,C))}function r($){const C=o($),f=($.durationMs||0)/n.value*100;return Math.max(2,Math.min(100-C,f))}function l($){return($.durationMs||0)/n.value*100<5}function a($){return $?$<1?`${($*1e3).toFixed(1)}μs`:$<1e3?`${$.toFixed(1)}ms`:`${($/1e3).toFixed(2)}s`:"0ms"}function c($){return{fetch:"bg-blue-500",composable:"bg-purple-500",component:"bg-green-500",navigation:"bg-yellow-500",render:"bg-orange-500",transition:"bg-pink-500"}[$]||"bg-gray-500"}function _($){return{ok:"border-green-400",error:"border-red-400",cancelled:"border-gray-400",active:"border-yellow-400"}[$]||"border-gray-400"}function u($){return typeof $=="string"?$:""}function m($){const C=$.metadata;if(!C)return $.name;const f=u(C.componentName),h=u(C.lifecycle),N=C.uid!==void 0?String(C.uid):"",R=u(C.method),F=u(C.url),T=u(C.route)||u(C.path);return f&&h?N?`${f}.${h} #${N}`:`${f}.${h}`:f?N?`${f} #${N}`:f:R&&F?`${R} ${F}`:F||(T?`${$.name} (${T})`:$.name)}function w($){const C=m($),f=a($.durationMs),h=$.metadata,N=h?u(h.route)||u(h.path):"";let R=`${C} — ${f} (${$.status})`;return N&&!C.includes(N)&&(R+=` [${N}]`),R}return($,C)=>(y(),x("div",dh,[i("div",fh,[C[1]||(C[1]=i("div",{class:"waterfall__type-col"},"Type",-1)),i("div",ph,[i("div",hh,[C[0]||(C[0]=i("div",{class:"waterfall__time-marker"},"0ms",-1)),i("div",_h,p(a(n.value/4)),1),i("div",mh,p(a(n.value/2)),1),i("div",vh,p(a(n.value*3/4)),1),i("div",gh,p(a(n.value)),1)])])]),i("div",bh,[(y(!0),x(pe,null,ye(s.value,f=>(y(),x("div",{key:f.type,class:"waterfall__group"},[i("div",yh,[i("span",$h,[i("span",{class:se(["waterfall__color-dot",c(f.type)])},null,2),Oe(" "+p(f.type),1)]),i("span",kh,p(f.spans.length),1)]),i("div",wh,[(y(!0),x(pe,null,ye(f.spans,h=>(y(),x("div",{key:h.id,class:"waterfall__span-row"},[i("div",xh,[i("span",{title:w(h)},p(m(h)),9,Ch)]),i("div",Sh,[i("div",{class:se(["waterfall__span-bar",[c(h.type),_(h.status)]]),style:Se({left:`${o(h)}%`,width:`${Math.max(1,r(h))}%`}),title:w(h)},[l(h)?te("",!0):(y(),x("span",Mh,p(a(h.durationMs)),1))],14,Th),l(h)?(y(),x("span",{key:0,class:"waterfall__bar-duration-outside",style:Se({left:`calc(${o(h)}% + 4px)`})},p(a(h.durationMs)),5)):te("",!0)])]))),128))])]))),128)),s.value.length===0?(y(),x("div",Eh,"No spans in this trace")):te("",!0)])]))}}),Oh=it(Ih,[["__scopeId","data-v-f38f1095"]]),Fh={class:"span-inspector"},Ah={key:0,class:"span-inspector__empty"},Nh={key:1,class:"span-inspector__content"},Lh={class:"span-inspector__header"},Dh={class:"span-inspector__title"},Ph={class:"span-inspector__section"},Rh={class:"span-inspector__property-grid"},jh={class:"span-inspector__property"},Hh={class:"span-inspector__value mono"},Vh={class:"span-inspector__property"},Uh={class:"span-inspector__value mono"},Bh={class:"span-inspector__property"},Wh={class:"span-inspector__value mono"},Kh={class:"span-inspector__section"},zh={class:"span-inspector__property-grid"},qh={class:"span-inspector__property"},Jh={class:"span-inspector__value mono text-xs"},Gh={class:"span-inspector__property"},Xh={class:"span-inspector__value mono"},Yh={class:"span-inspector__property"},Qh={class:"span-inspector__value mono text-xs"},Zh={key:0,class:"span-inspector__section"},e_={key:1,class:"span-inspector__section"},t_={class:"span-inspector__section-title"},s_={class:"span-inspector__child-list"},n_=["onClick"],o_={class:"span-inspector__child-name"},i_={class:"span-inspector__child-duration"},r_={key:2,class:"span-inspector__section"},l_={class:"span-inspector__metadata"},a_={class:"span-inspector__metadata-key"},c_={class:"span-inspector__metadata-value"},u_={key:0,class:"span-inspector__code"},d_={key:1,class:"span-inspector__code"},f_=Ze({__name:"SpanInspector",props:{trace:{},span:{}},emits:["select-span"],setup(e,{emit:t}){const s=e,n=t,o=le(()=>!s.span||!s.span.parentSpanId?null:s.trace.spans.find(m=>m.id===s.span.parentSpanId)),r=le(()=>s.span?s.trace.spans.filter(m=>m.parentSpanId===s.span.id).sort((m,w)=>m.startTime-w.startTime):[]);function l(m){return m?m<1?`${(m*1e3).toFixed(1)}μs`:m<1e3?`${m.toFixed(1)}ms`:`${(m/1e3).toFixed(2)}s`:"0ms"}function a(m){const w=m-s.trace.startTime;return Math.abs(w)<1?`+${(w*1e3).toFixed(1)}μs`:Math.abs(w)<1e3?`+${w.toFixed(3)}ms`:`+${(w/1e3).toFixed(3)}s`}function c(m){return m.endTime!==void 0?m.endTime:m.durationMs!==void 0?m.startTime+m.durationMs:m.startTime}function _(m){return{ok:"#22c55e",error:"#ef4444",cancelled:"#6b7280",active:"#eab308"}[m]||"#6b7280"}function u(m){return{fetch:"bg-blue-500",composable:"bg-purple-500",component:"bg-green-500",navigation:"bg-yellow-500",render:"bg-orange-500",transition:"bg-pink-500"}[m]||"bg-gray-500"}return(m,w)=>(y(),x("div",Fh,[e.span?(y(),x("div",Nh,[i("div",Lh,[i("div",Dh,[i("span",{class:se([u(e.span.type),"span-inspector__type-badge"])},null,2),Oe(" "+p(e.span.name),1)]),i("div",{class:"span-inspector__status",style:Se({color:_(e.span.status)})},p(e.span.status),5)]),i("div",Ph,[w[5]||(w[5]=i("div",{class:"span-inspector__section-title"},"Timing",-1)),i("div",Rh,[i("div",jh,[w[2]||(w[2]=i("span",{class:"span-inspector__label"},"Duration",-1)),i("span",Hh,p(l(e.span.durationMs)),1)]),i("div",Vh,[w[3]||(w[3]=i("span",{class:"span-inspector__label"},"Start Time",-1)),i("span",Uh,p(a(e.span.startTime)),1)]),i("div",Bh,[w[4]||(w[4]=i("span",{class:"span-inspector__label"},"End Time",-1)),i("span",Wh,p(a(c(e.span))),1)])])]),i("div",Kh,[w[9]||(w[9]=i("div",{class:"span-inspector__section-title"},"Properties",-1)),i("div",zh,[i("div",qh,[w[6]||(w[6]=i("span",{class:"span-inspector__label"},"ID",-1)),i("span",Jh,p(e.span.id),1)]),i("div",Gh,[w[7]||(w[7]=i("span",{class:"span-inspector__label"},"Type",-1)),i("span",Xh,p(e.span.type),1)]),i("div",Yh,[w[8]||(w[8]=i("span",{class:"span-inspector__label"},"Trace ID",-1)),i("span",Qh,p(e.span.traceId),1)])])]),o.value?(y(),x("div",Zh,[w[10]||(w[10]=i("div",{class:"span-inspector__section-title"},"Parent Span",-1)),i("div",{class:"span-inspector__link",onClick:w[0]||(w[0]=$=>n("select-span",o.value))},[i("span",{class:se([u(o.value.type),"span-inspector__link-badge"])},null,2),Oe(" "+p(o.value.name),1)])])):te("",!0),r.value.length>0?(y(),x("div",e_,[i("div",t_,"Child Spans ("+p(r.value.length)+")",1),i("div",s_,[(y(!0),x(pe,null,ye(r.value,$=>(y(),x("div",{key:$.id,class:"span-inspector__child-item",onClick:C=>n("select-span",$)},[i("span",{class:se([u($.type),"span-inspector__child-badge"])},null,2),i("span",o_,p($.name),1),i("span",i_,p(l($.durationMs)),1)],8,n_))),128))])])):te("",!0),e.span.metadata&&Object.keys(e.span.metadata).length>0?(y(),x("div",r_,[w[11]||(w[11]=i("div",{class:"span-inspector__section-title"},"Metadata",-1)),i("div",l_,[(y(!0),x(pe,null,ye(e.span.metadata,($,C)=>(y(),x("div",{key:C,class:"span-inspector__metadata-item"},[i("span",a_,p(C)+":",1),i("span",c_,[typeof $=="object"?(y(),x("code",u_,p(JSON.stringify($,null,2)),1)):(y(),x("span",d_,p($),1))])]))),128))])])):te("",!0)])):(y(),x("div",Ah,[...w[1]||(w[1]=[i("div",{class:"span-inspector__empty-icon"},"📊",-1),i("p",null,"Select a span to view details",-1)])]))]))}}),p_=it(f_,[["__scopeId","data-v-294b5334"]]);function h_(e){const t=new Set;for(const s of e)for(const n of s.spans)t.add(n.type);return Array.from(t).sort()}function __(){const e=ae(""),t=ae(new Set),s=ae(0),n=ae(1/0),o=ae("");function r($,C){if(!C)return!0;const f=C.toLowerCase();if($.name.toLowerCase().includes(f))return!0;for(const h of $.spans)if(h.name.toLowerCase().includes(f))return!0;for(const h of $.spans)if(h.metadata){for(const N of Object.values(h.metadata))if(typeof N=="string"&&N.toLowerCase().includes(f))return!0}return!1}function l($,C){if(C.size===0)return!0;for(const f of $.spans)if(C.has(f.type))return!0;return!1}function a($,C,f){const h=C>0||f<1/0;return $.durationMs===void 0?!h:$.durationMs>=C&&$.durationMs<=f}function c($,C){var f,h,N;if(!C||(f=$.metadata)!=null&&f.route&&typeof $.metadata.route=="string"&&$.metadata.route.toLowerCase().includes(C.toLowerCase()))return!0;for(const R of $.spans)if((h=R.metadata)!=null&&h.route&&String(R.metadata.route).toLowerCase().includes(C.toLowerCase())||(N=R.metadata)!=null&&N.path&&String(R.metadata.path).toLowerCase().includes(C.toLowerCase()))return!0;return!1}function _($){return $.filter(C=>r(C,e.value)&&l(C,t.value)&&a(C,s.value,n.value)&&c(C,o.value))}function u($){t.value.has($)?t.value.delete($):t.value.add($)}function m(){e.value="",t.value.clear(),s.value=0,n.value=1/0,o.value=""}const w=le(()=>e.value.length>0||t.value.size>0||s.value>0||n.value<1/0||o.value.length>0);return{searchQuery:e,selectedSpanTypes:t,minDuration:s,maxDuration:n,routeFilter:o,filterTraces:_,toggleSpanType:u,clearFilters:m,hasActiveFilters:w}}const m_={class:"trace-filter"},v_={class:"trace-filter__section"},g_=["value"],b_={key:0,class:"trace-filter__section"},y_={class:"trace-filter__type-filters"},$_=["title","onClick"],k_={class:"trace-filter__section"},w_={class:"trace-filter__duration-inputs"},x_=["value"],C_=["value","min","max"],S_=["value","max"],T_={class:"trace-filter__section"},M_=["value"],E_=Ze({__name:"TraceFilter",props:{traces:{},searchQuery:{},selectedSpanTypes:{},minDuration:{},maxDuration:{},routeFilter:{},hasActiveFilters:{type:Boolean}},emits:["update:search","update:types","update:min-duration","update:max-duration","update:route","clear-filters"],setup(e,{emit:t}){const s=e,n=t,o=le(()=>h_(s.traces)),r=le(()=>{let C=0;for(const f of s.traces)f.durationMs&&f.durationMs>C&&(C=f.durationMs);return Math.ceil(C/10)*10||1e3});function l(C){n("update:search",C)}function a(C){return C.target.value}function c(C){const f=new Set(s.selectedSpanTypes);f.has(C)?f.delete(C):f.add(C),n("update:types",f)}function _(C){const f=Math.max(0,parseInt(C)||0);n("update:min-duration",f)}function u(C){const f=Math.max(0,parseInt(C)||1/0);n("update:max-duration",f)}function m(C){n("update:route",C)}function w(){n("clear-filters")}function $(C){return{fetch:"#3b82f6",composable:"#a855f7",component:"#22c55e",navigation:"#eab308",render:"#f97316",transition:"#ec4899"}[C]||"#6b7280"}return(C,f)=>(y(),x("div",m_,[i("div",v_,[f[5]||(f[5]=i("label",{class:"trace-filter__label"},"Search",-1)),i("input",{value:s.searchQuery,type:"text",class:"trace-filter__search-input",placeholder:"Search traces, spans, endpoints…",onInput:f[0]||(f[0]=h=>l(a(h)))},null,40,g_)]),o.value.length>0?(y(),x("div",b_,[f[6]||(f[6]=i("label",{class:"trace-filter__label"},"Span Type",-1)),i("div",y_,[(y(!0),x(pe,null,ye(o.value,h=>(y(),x("button",{key:h,class:se([{"trace-filter__type-badge--selected":s.selectedSpanTypes.has(h)},"trace-filter__type-badge"]),title:`Filter by ${h} spans`,onClick:N=>c(h)},[i("span",{class:"trace-filter__type-dot",style:Se({backgroundColor:$(h)})},null,4),Oe(" "+p(h),1)],10,$_))),128))])])):te("",!0),i("div",k_,[f[8]||(f[8]=i("label",{class:"trace-filter__label"},"Duration (ms)",-1)),i("div",w_,[i("input",{value:s.minDuration,type:"number",min:"0",class:"trace-filter__duration-input",placeholder:"Min",onInput:f[1]||(f[1]=h=>_(a(h)))},null,40,x_),f[7]||(f[7]=i("span",{class:"trace-filter__duration-separator"},"–",-1)),i("input",{value:s.maxDuration===1/0?"":s.maxDuration,type:"number",min:s.minDuration,max:r.value,class:"trace-filter__duration-input",placeholder:"Max",onInput:f[2]||(f[2]=h=>u(a(h)))},null,40,C_)]),r.value?(y(),x("input",{key:0,value:s.maxDuration===1/0?r.value:s.maxDuration,type:"range",min:0,max:r.value,class:"trace-filter__duration-slider",onInput:f[3]||(f[3]=h=>u(a(h)))},null,40,S_)):te("",!0)]),i("div",T_,[f[9]||(f[9]=i("label",{class:"trace-filter__label"},"Route",-1)),i("input",{value:s.routeFilter,type:"text",class:"trace-filter__search-input",placeholder:"Filter by route…",onInput:f[4]||(f[4]=h=>m(a(h)))},null,40,M_)]),s.hasActiveFilters?(y(),x("button",{key:1,class:"trace-filter__clear-btn",onClick:w},"Clear Filters")):te("",!0)]))}}),I_=it(E_,[["__scopeId","data-v-0794692e"]]),O_={class:"trace-viewer tracker-view"},F_={class:"trace-viewer__header tracker-toolbar"},A_={class:"trace-viewer__header-actions"},N_={class:"trace-viewer__count muted text-sm"},L_={class:"trace-viewer__container"},D_={class:"trace-viewer__list"},P_={class:"trace-viewer__table-wrap tracker-table-wrap"},R_={class:"data-table"},j_=["onClick"],H_={class:"mono"},V_={class:"mono"},U_={class:"mono"},B_={key:0},W_={colspan:"3",class:"tracker-empty-cell"},K_={key:0,class:"trace-viewer__detail"},z_={class:"trace-viewer__detail-content"},q_={class:"trace-viewer__tabs"},J_={class:"trace-viewer__visualization"},G_={key:0,class:"trace-viewer__overview"},X_={class:"trace-viewer__overview-header"},Y_={class:"trace-viewer__overview-value"},Q_={class:"trace-viewer__overview-value"},Z_={class:"trace-viewer__overview-value"},em={class:"trace-viewer__overview-value"},tm={class:"trace-viewer__span-list"},sm=["onClick"],nm={class:"trace-viewer__span-name"},om={class:"trace-viewer__span-meta"},im={class:"trace-viewer__span-type"},rm={class:"trace-viewer__span-duration"},lm={key:1,class:"trace-viewer__flamegraph"},am={key:2,class:"trace-viewer__waterfall"},cm={class:"trace-viewer__inspector"},um=Ze({__name:"TraceViewer",setup(e){const{traces:t,connected:s}=qt(),n=ae(null),o=ae(void 0),r=ae("overview"),l=ae(!1),{searchQuery:a,selectedSpanTypes:c,minDuration:_,maxDuration:u,routeFilter:m,filterTraces:w,clearFilters:$,hasActiveFilters:C}=__(),f=le(()=>[...t.value].sort((ee,B)=>B.startTime-ee.startTime)),h=le(()=>w(f.value)),N=le(()=>C.value?`Showing ${h.value.length} of ${f.value.length} traces`:`${f.value.length} traces`),R=le(()=>n.value?h.value.find(ee=>ee.id===n.value):h.value[0]);function F(ee){if(!ee.spans.length)return;let B=0;for(const V of ee.spans){const A=(V.endTime??V.startTime+(V.durationMs??0))-ee.startTime;A>B&&(B=A)}return B>0?B:void 0}function T(ee,B){if(ee!==void 0)return`${Math.round(ee*10)/10}ms`;if(B){const V=F(B);if(V!==void 0)return`~${Math.round(V*10)/10}ms`}return"active"}function W(ee){return typeof ee=="string"?ee:""}function L(ee){const B=ee.metadata;if(!B)return ee.name;const V=W(B.componentName),S=W(B.lifecycle),A=B.uid!==void 0?String(B.uid):"",I=W(B.method),M=W(B.url),E=W(B.route)||W(B.path);return V&&S?A?`${V}.${S} #${A}`:`${V}.${S}`:V?A?`${V} #${A}`:V:I&&M?`${I} ${M}`:M||(E?`${ee.name} (${E})`:ee.name)}function K(ee){n.value=ee.id,o.value=void 0}function J(){$(),o.value=void 0}function Y(ee){c.value=ee}return(ee,B)=>{var V;return y(),x("div",O_,[i("div",F_,[B[10]||(B[10]=i("div",{class:"trace-viewer__title"},"Trace Viewer",-1)),i("div",A_,[i("div",N_,p(N.value),1),i("button",{class:se([{"trace-viewer__filter-btn--active":l.value},"trace-viewer__filter-btn"]),title:"Toggle filters",onClick:B[0]||(B[0]=S=>l.value=!l.value)}," 🔍 ",2)])]),l.value?(y(),gt(I_,{key:0,traces:f.value,"search-query":xe(a),"selected-span-types":xe(c),"min-duration":xe(_),"max-duration":xe(u),"route-filter":xe(m),"has-active-filters":xe(C),"onUpdate:search":B[1]||(B[1]=S=>a.value=S),"onUpdate:types":Y,"onUpdate:minDuration":B[2]||(B[2]=S=>_.value=S),"onUpdate:maxDuration":B[3]||(B[3]=S=>u.value=S),"onUpdate:route":B[4]||(B[4]=S=>m.value=S),onClearFilters:J},null,8,["traces","search-query","selected-span-types","min-duration","max-duration","route-filter","has-active-filters"])):te("",!0),i("div",L_,[i("div",D_,[B[12]||(B[12]=i("div",{class:"trace-viewer__list-header"},[i("span",{class:"trace-viewer__list-title"},"Traces")],-1)),i("div",P_,[i("table",R_,[B[11]||(B[11]=i("thead",null,[i("tr",null,[i("th",null,"Trace Name"),i("th",null,"Duration"),i("th",null,"Spans")])],-1)),i("tbody",null,[(y(!0),x(pe,null,ye(h.value,S=>{var A;return y(),x("tr",{key:S.id,class:se([{"trace-viewer__trace-row--selected":((A=R.value)==null?void 0:A.id)===S.id},"trace-viewer__trace-row"]),onClick:I=>K(S)},[i("td",H_,p(S.name),1),i("td",V_,p(T(S.durationMs,S)),1),i("td",U_,p(S.spans.length),1)],10,j_)}),128)),h.value.length?te("",!0):(y(),x("tr",B_,[i("td",W_,p(f.value.length===0?xe(s)?"No traces recorded yet.":"Waiting for connection to the Nuxt app…":"No traces match applied filters."),1)]))])])])]),R.value?(y(),x("div",K_,[i("div",z_,[i("div",q_,[i("button",{class:se([{"trace-viewer__tab--active":r.value==="overview"},"trace-viewer__tab"]),onClick:B[5]||(B[5]=S=>r.value="overview")}," Overview ",2),i("button",{class:se([{"trace-viewer__tab--active":r.value==="flamegraph"},"trace-viewer__tab"]),onClick:B[6]||(B[6]=S=>r.value="flamegraph")}," Flamegraph ",2),i("button",{class:se([{"trace-viewer__tab--active":r.value==="waterfall"},"trace-viewer__tab"]),onClick:B[7]||(B[7]=S=>r.value="waterfall")}," Waterfall ",2)]),i("div",J_,[r.value==="overview"?(y(),x("div",G_,[i("div",X_,[i("div",null,[B[13]||(B[13]=i("div",{class:"trace-viewer__overview-label"},"Trace",-1)),i("div",Y_,p(R.value.name),1)]),i("div",null,[B[14]||(B[14]=i("div",{class:"trace-viewer__overview-label"},"Duration",-1)),i("div",Q_,p(T(R.value.durationMs,R.value)),1)]),i("div",null,[B[15]||(B[15]=i("div",{class:"trace-viewer__overview-label"},"Spans",-1)),i("div",Z_,p(R.value.spans.length),1)]),i("div",null,[B[16]||(B[16]=i("div",{class:"trace-viewer__overview-label"},"Status",-1)),i("div",em,p(R.value.status),1)])]),i("div",tm,[(y(!0),x(pe,null,ye(R.value.spans,S=>{var A;return y(),x("div",{key:S.id,class:se([{"trace-viewer__span-item--selected":((A=o.value)==null?void 0:A.id)===S.id},"trace-viewer__span-item"]),onClick:I=>o.value=S},[i("div",nm,p(L(S)),1),i("div",om,[i("span",im,p(S.type),1),i("span",rm,p(T(S.durationMs)),1)])],10,sm)}),128))])])):te("",!0),r.value==="flamegraph"?(y(),x("div",lm,[Me(uh,{trace:R.value,"selected-span-id":(V=o.value)==null?void 0:V.id,onSelectSpan:B[8]||(B[8]=S=>o.value=S)},null,8,["trace","selected-span-id"])])):te("",!0),r.value==="waterfall"?(y(),x("div",am,[Me(Oh,{trace:R.value},null,8,["trace"])])):te("",!0)])]),i("div",cm,[Me(p_,{trace:R.value,span:o.value,onSelectSpan:B[9]||(B[9]=S=>o.value=S)},null,8,["trace","span"])])])):te("",!0)])])}}}),dm=it(um,[["__scopeId","data-v-3b3a6483"]]),fm={id:"app-root"},pm={class:"tabbar"},hm=["onClick"],_m={class:"tab-icon"},mm={class:"tab-content"},vm=Ze({__name:"App",setup(e){const t={fetch:"fetch",provide:"provide",composables:"composable",heatmap:"heatmap",transitions:"transitions",traces:"traces"},s=window.location.pathname.split("/").filter(Boolean).pop()??"",n=ae(t[s]??"fetch"),{features:o}=qt(),r=le(()=>{const l=o.value||{};return[l.fetchDashboard&&{id:"fetch",label:"useFetch",icon:"⬡"},l.provideInjectGraph&&{id:"provide",label:"provide/inject",icon:"⬡"},l.composableTracker&&{id:"composable",label:"Composables",icon:"⬡"},l.renderHeatmap&&{id:"heatmap",label:"Heatmap",icon:"⬡"},l.transitionTracker&&{id:"transitions",label:"Transitions",icon:"⬡"},l.traceViewer&&{id:"traces",label:"Traces",icon:"⬡"}].filter(a=>!!a)});return(l,a)=>(y(),x("div",fm,[i("nav",pm,[a[0]||(a[0]=i("div",{class:"tabbar-brand"},"observatory",-1)),(y(!0),x(pe,null,ye(r.value,c=>(y(),x("button",{key:c.id,class:se(["tab-btn",{active:n.value===c.id}]),onClick:_=>n.value=c.id},[i("span",_m,p(c.icon),1),Oe(" "+p(c.label),1)],10,hm))),128))]),i("main",mm,[n.value==="fetch"?(y(),gt(Rc,{key:0})):n.value==="provide"?(y(),gt(ku,{key:1})):n.value==="composable"?(y(),gt(Bd,{key:2})):n.value==="heatmap"?(y(),gt(np,{key:3})):n.value==="transitions"?(y(),gt(Gp,{key:4})):n.value==="traces"?(y(),gt(dm,{key:5})):te("",!0)])]))}}),gm=it(vm,[["__scopeId","data-v-fa5d152b"]]);Ka(gm).mount("#app");