smart-home-engine 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-CXWNuhmR.js","assets/monaco-langs-BW2J83t5.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-BnfCWkGv.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var xA=Object.defineProperty;var eL=o=>{throw TypeError(o)};var kA=(o,e,t)=>e in o?xA(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var pn=(o,e,t)=>kA(o,typeof e!="symbol"?e+"":e,t),mw=(o,e,t)=>e.has(o)||eL("Cannot "+t);var re=(o,e,t)=>(mw(o,e,"read from private field"),t?t.call(o):e.get(o)),sn=(o,e,t)=>e.has(o)?eL("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),on=(o,e,t,i)=>(mw(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),Bn=(o,e,t)=>(mw(o,e,"access private method"),t);import{_ as SE,m as CE,l as Gt,A as _o,C as be,I as jn,D as n_,a as os,g as xE,M as Nt,b as Ci,E as ra,c as O,r as In,d as Dr,e as C,f as LA,h as Hn,R as an,S as mi,i as Ys,j as Er,k as mn,n as qi,o as de,p as je,K as ds,q as $t,s as ut,t as ms,u as U,v as Qi,O as Oa,w as gs,P as Yt,x as vw,y as s_,z as kE,B as hl,F as aa,G as mS,H as Ms,U as En,J as lf,L as Jt,N as vl,Q as IA,T as uo,V as vS,W as DA,X as LE,$ as jt,Y as yn,Z as _n,a0 as Kn,a1 as Ai,a2 as $o,a3 as lp,a4 as ct,a5 as km,a6 as EA,a7 as TA,a8 as _s,a9 as PA,aa as la,ab as mo,ac as ni,ad as IE,ae as zn,af as MA,ag as NA,ah as fo,ai as Wf,aj as us,ak as fy,al as oo,am as Hc,an as jx,ao as gy,ap as Es,aq as cf,ar as Ts,as as py,at as _y,au as RA,av as o_,aw as Bf,ax as El,ay as AA,az as zf,aA as OA,aB as $x,aC as FA,aD as HA,aE as tL,aF as ss,aG as fl,aH as ro,aI as zi,aJ as ll,aK as WA,aL as Ba,aM as zo,aN as Cs,aO as ca,aP as Ux,aQ as vs,aR as ts,aS as Jm,aT as Bi,aU as DE,aV as BA,aW as qx,aX as my,aY as Gx,aZ as Kx,a_ as md,a$ as zA,b0 as Zx,b1 as VA,b2 as Xx,b3 as Tl,b4 as Pl,b5 as df,b6 as cp,b7 as Do,b8 as r_,b9 as Qm,ba as bw,bb as Nn,bc as Yx,bd as a_,be as vy,bf as jA,bg as EE,bh as dp,bi as uf,bj as up,bk as l_,bl as by,bm as vn,bn as Wc,bo as c_,bp as $A,bq as UA,br as Jx,bs as qA,bt as ev,bu as rr,bv as Qx,bw as hf,bx as Ml,by as Vf,bz as Ji,bA as ff,bB as TE,bC as d_,bD as GA,bE as vd,bF as Ot,bG as iL,bH as Lm,bI as PE,bJ as Mr,bK as ta,bL as An,bM as gf,bN as wr,bO as pf,bP as Gn,bQ as hp,bR as Ru,bS,bT as ME,bU as NE,bV as RE,bW as e0,bX as So,bY as kn,bZ as u_,b_ as AE,b$ as gl,c0 as yy,c1 as KA,c2 as yh,c3 as nL,c4 as h_,c5 as OE,c6 as wh,c7 as ZA,c8 as gr,c9 as wy,ca as XA,cb as vo,cc as da,cd as f_,ce as fp,cf as FE,cg as nr,ch as g_,ci as Sy,cj as YA,ck as JA,cl as QA,cm as jf,cn as za,co as xs,cp as eO,cq as t0,cr as tO,cs as iO,ct as sL,cu as nO,cv as p_,cw as bl,cx as yS,cy as pu,cz as yl,cA as sO,cB as Fa,cC as Sr,cD as Oo,cE as oL,cF as Qs,cG as __,cH as Ec,cI as Va,cJ as oO,cK as ua,cL as gp,cM as Cy,cN as HE,cO as rO,cP as aO,cQ as i0,cR as lO,cS as pp,cT as cO,cU as ic,cV as _p,cW as rL,cX as dO,cY as uO,cZ as Ua,c_ as hO,c$ as n0,d0 as WE,d1 as BE,d2 as zE,d3 as VE,d4 as fO,d5 as gO,d6 as jE,d7 as $E,d8 as pO,d9 as s0,da as _O,db as mO,dc as Xn,dd as vO,de as o0,df as bO,dg as Sh,dh as aL,di as yO,dj as wO,dk as SO,dl as CO,dm as xO,dn as kO,dp as _f,dq as xy,dr as wS,ds as LO,dt as IO,du as lL,dv as SS,dw as DO,dx as cL,dy as yw,dz as EO,dA as UE,dB as TO,dC as qE,dD as CS,dE as PO,dF as MO,dG as NO,dH as GE,dI as KE,dJ as RO,dK as tv,dL as ZE,dM as ky,dN as AO,dO as OO,dP as Tc,dQ as r0,dR as FO,dS as dL,dT as uL,dU as HO,dV as Ch,dW as XE,dX as WO,dY as BO,dZ as zO,d_ as VO,d$ as YE,e0 as JE,e1 as QE,e2 as eT,e3 as jO,e4 as Ha,e5 as hL,e6 as $O,e7 as m_,e8 as UO,e9 as Cg,ea as tT,eb as fL,ec as mp,ed as iT,ee as iv,ef as qO,eg as nT,eh as GO,ei as sT,ej as KO,ek as ZO,el as oT,em as rT,en as wl,eo as Ly,ep as XO,eq as aT,er as Vo,es as bd,et as lT,eu as YO,ev as JO,ew as cT,ex as dT,ey as QO,ez as uT,eA as hT,eB as vp,eC as e2,eD as t2,eE as i2,eF as n2,eG as hg,eH as gL,eI as s2,eJ as o2,eK as r2,eL as nv,eM as Bs,eN as a2,eO as xS,eP as Au,eQ as l2,eR as al,eS as c2,eT as d2,eU as fT,eV as u2,eW as Vg,eX as h2,eY as f2,eZ as g2,e_ as p2,e$ as pL,f0 as _L,f1 as mL,f2 as Ou,f3 as a0,f4 as gT,f5 as kS,f6 as Im,f7 as pT,f8 as sv,f9 as _2,fa as m2,fb as v2,fc as b2,fd as l0,fe as _T,ff as y2,fg as ov,fh as mT,fi as vT,fj as w2,fk as S2,fl as C2,fm as x2,fn as k2,fo as L2,fp as I2,fq as D2,fr as bT,fs as E2,ft as rv,fu as yT,fv as T2,fw as wT,fx as P2,fy as ST,fz as CT,fA as M2,fB as vL,fC as xT,fD as bL,fE as N2,fF as ww,fG as yL,fH as R2,fI as A2,fJ as O2,fK as Ea,fL as Pc,fM as F2,fN as wL,fO as Dm,fP as H2,fQ as cl,fR as Iy,fS as LS,fT as W2,fU as kT,fV as LT,fW as eo,fX as SL,fY as G_,fZ as c0,f_ as B2,f$ as z2,g0 as V2,g1 as j2,g2 as $2,g3 as U2,g4 as q2,g5 as G2,g6 as CL,g7 as K2,g8 as Z2,g9 as X2,ga as mf,gb as jg,gc as IT,gd as Y2,ge as d0,gf as Em,gg as K_,gh as Sw,gi as J2,gj as Q2,gk as DT,gl as eF,gm as u0,gn as tF,go as iF,gp as ET,gq as Dy,gr as nF,gs as av,gt as h0,gu as f0,gv as g0,gw as TT,gx as PT,gy as MT,gz as NT,gA as RT,gB as AT,gC as OT,gD as xL,gE as FT,gF as Yu,gG as sF,gH as oF,gI as rF,gJ as aF,gK as HT,gL as lF,gM as cF,gN as kL,gO as IS,gP as cc,gQ as dF,gR as uF,gS as hF,gT as fF,gU as gF,gV as pF,gW as LL,gX as p0,gY as DS,gZ as _F,g_ as ES,g$ as mF,h0 as vF,h1 as bF,h2 as yF,h3 as _0,h4 as WT,h5 as IL,h6 as DL,h7 as wF,h8 as SF,h9 as CF,ha as EL,hb as Cw,hc as xF,hd as kF,he as LF,hf as xw,hg as BT,hh as zT,hi as VT,hj as jT,hk as Sl,hl as $T,hm as m0,hn as TL,ho as IF,hp as UT,hq as DF,hr as EF,hs as Ey,ht as Ty,hu as Fu,hv as Py,hw as v_,hx as TF,hy as My,hz as PF,hA as MF,hB as NF,hC as qT,hD as fg,hE as RF,hF as AF,hG as OF,hH as FF,hI as b_,hJ as HF,hK as GT,hL as KT,hM as ZT,hN as TS,hO as WF,hP as BF,hQ as zF,hR as VF,hS as jF,hT as PS,hU as $F,hV as UF,hW as qF,hX as GF,hY as KF,hZ as ZF,h_ as XF,h$ as YF,i0 as XT,i1 as JF,i2 as QF,i3 as e3,i4 as PL,i5 as t3,i6 as i3,i7 as nd,i8 as dr,i9 as n3,ia as s3}from"./monaco-langs-BW2J83t5.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const n of document.querySelectorAll('link[rel="modulepreload"]'))i(n);new MutationObserver(n=>{for(const s of n)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&i(r)}).observe(document,{childList:!0,subtree:!0});function t(n){const s={};return n.integrity&&(s.integrity=n.integrity),n.referrerPolicy&&(s.referrerPolicy=n.referrerPolicy),n.crossOrigin==="use-credentials"?s.credentials="include":n.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(n){if(n.ep)return;n.ep=!0;const s=t(n);fetch(n.href,s)}})();const YT=!1;var v0=Array.isArray,o3=Array.prototype.indexOf,lv=Array.prototype.includes,Ny=Array.from,r3=Object.defineProperty,Hh=Object.getOwnPropertyDescriptor,a3=Object.getOwnPropertyDescriptors,l3=Object.prototype,c3=Array.prototype,JT=Object.getPrototypeOf,ML=Object.isExtensible;const Ry=()=>{};function d3(o){for(var e=0;e<o.length;e++)o[e]()}function QT(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function u3(o,e,t=!1){return o===void 0?t?e():e:o}function NL(o,e){if(Array.isArray(o))return o;if(!(Symbol.iterator in o))return Array.from(o);const t=[];for(const i of o)if(t.push(i),t.length===e)break;return t}const no=2,vf=4,Ay=8,eP=1<<24,ia=16,oa=32,Mc=64,MS=128,Lr=512,zs=1024,qs=2048,ja=4096,xo=8192,Ir=16384,$f=32768,NS=1<<25,bf=65536,cv=1<<17,h3=1<<18,Uf=1<<19,f3=1<<20,Na=1<<25,_u=65536,dv=1<<21,Wh=1<<22,dc=1<<23,yd=Symbol("$state"),g3=Symbol("legacy props"),p3=Symbol(""),Tm=Symbol("attributes"),RS=Symbol("class"),AS=Symbol("style"),xg=Symbol("text"),Pm=Symbol("form reset"),Oy=new class extends Error{constructor(){super(...arguments);pn(this,"name","StaleReactionError");pn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var bE;const _3=!!((bE=globalThis.document)!=null&&bE.contentType)&&globalThis.document.contentType.includes("xml");function tP(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function m3(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function v3(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function b3(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function y3(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function w3(o){throw new Error("https://svelte.dev/e/effect_orphan")}function S3(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function C3(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function x3(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function k3(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function L3(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function I3(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const D3=1,E3=2,iP=4,T3=8,P3=16,M3=1,N3=4,R3=8,A3=16,O3=1,F3=2,Ws=Symbol("uninitialized"),nP="http://www.w3.org/1999/xhtml",H3="http://www.w3.org/2000/svg",W3="http://www.w3.org/1998/Math/MathML";function B3(){console.warn("https://svelte.dev/e/derived_inert")}function z3(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function V3(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function sP(o){return o===this.v}function j3(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function oP(o){return!j3(o,this.v)}let $3=!1,io=null;function yf(o){io=o}function Ns(o,e=!1,t){io={p:io,i:!1,c:null,e:null,s:o,x:null,r:Ln,l:null}}function Rs(o){var e=io,t=e.e;if(t!==null){e.e=null;for(var i of t)IP(i)}return o!==void 0&&(e.x=o),e.i=!0,io=e.p,o??{}}function rP(){return!0}let ld=[];function aP(){var o=ld;ld=[],d3(o)}function uc(o){if(ld.length===0&&!Ug){var e=ld;queueMicrotask(()=>{e===ld&&aP()})}ld.push(o)}function U3(){for(;ld.length>0;)aP()}function lP(o){var e=Ln;if(e===null)return xn.f|=dc,o;if((e.f&$f)===0&&(e.f&vf)===0)throw o;nc(o,e)}function nc(o,e){for(;e!==null;){if((e.f&MS)!==0){if((e.f&$f)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const q3=-7169;function ws(o,e){o.f=o.f&q3|e}function b0(o){(o.f&Lr)!==0||o.deps===null?ws(o,zs):ws(o,ja)}function cP(o){if(o!==null)for(const e of o)(e.f&no)===0||(e.f&_u)===0||(e.f^=_u,cP(e.deps))}function dP(o,e,t){(o.f&qs)!==0?e.add(o):(o.f&ja)!==0&&t.add(o),cP(o.deps),ws(o,zs)}let Z_=!1;function G3(o){var e=Z_;try{return Z_=!1,[o(),Z_]}finally{Z_=e}}let kw=null,Ju=null,Hi=null,$g=null,Js=null,OS=null,Ug=!1,Lw=!1,xh=null,Mm=null;var RL=0;let K3=1;var jh,Ql,hd,$h,Uh,qh,nl,Gh,No,Yp,sl,qr,ka,Kh,fd,Yn,FS,kg,HS,uP,hP,gh,Z3,Lg;const yb=class yb{constructor(){sn(this,Yn);pn(this,"id",K3++);sn(this,jh,!1);pn(this,"linked",!0);sn(this,Ql,null);sn(this,hd,null);pn(this,"async_deriveds",new Map);pn(this,"current",new Map);pn(this,"previous",new Map);sn(this,$h,new Set);sn(this,Uh,new Set);sn(this,qh,0);sn(this,nl,new Map);sn(this,Gh,null);sn(this,No,[]);sn(this,Yp,[]);sn(this,sl,new Set);sn(this,qr,new Set);sn(this,ka,new Map);sn(this,Kh,new Set);pn(this,"is_fork",!1);sn(this,fd,!1);Ju===null?kw=Ju=this:(on(Ju,hd,this),on(this,Ql,Ju)),Ju=this}skip_effect(e){re(this,ka).has(e)||re(this,ka).set(e,{d:[],m:[]}),re(this,Kh).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=re(this,ka).get(e);if(i){re(this,ka).delete(e);for(var n of i.d)ws(n,qs),t(n);for(n of i.m)ws(n,ja),t(n)}re(this,Kh).add(e)}capture(e,t,i=!1){e.v!==Ws&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&dc)===0&&(this.current.set(e,[t,i]),Js==null||Js.set(e,t)),this.is_fork||(e.v=t)}activate(){Hi=this}deactivate(){Hi=null,Js=null}flush(){try{Lw=!0,Hi=this,Bn(this,Yn,kg).call(this)}finally{RL=0,OS=null,xh=null,Mm=null,Lw=!1,Hi=null,Js=null,wd.clear()}}discard(){var e;for(const t of re(this,Uh))t(this);re(this,Uh).clear(),Bn(this,Yn,Lg).call(this),(e=re(this,Gh))==null||e.resolve()}register_created_effect(e){re(this,Yp).push(e)}increment(e,t){if(on(this,qh,re(this,qh)+1),e){let i=re(this,nl).get(t)??0;re(this,nl).set(t,i+1)}}decrement(e,t){if(on(this,qh,re(this,qh)-1),e){let i=re(this,nl).get(t)??0;i===1?re(this,nl).delete(t):re(this,nl).set(t,i-1)}re(this,fd)||(on(this,fd,!0),uc(()=>{on(this,fd,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)re(this,sl).add(i);for(const i of t)re(this,qr).add(i);e.clear(),t.clear()}oncommit(e){re(this,$h).add(e)}ondiscard(e){re(this,Uh).add(e)}settled(){return(re(this,Gh)??on(this,Gh,QT())).promise}static ensure(){if(Hi===null){const e=Hi=new yb;!Lw&&!Ug&&uc(()=>{re(e,jh)||e.flush()})}return Hi}apply(){{Js=null;return}}schedule(e){var n;if(OS=e,(n=e.b)!=null&&n.is_pending&&(e.f&(vf|Ay|eP))!==0&&(e.f&$f)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if(xh!==null&&t===Ln&&(xn===null||(xn.f&no)===0))return;if((i&(Mc|oa))!==0){if((i&zs)===0)return;t.f^=zs}}re(this,No).push(t)}};jh=new WeakMap,Ql=new WeakMap,hd=new WeakMap,$h=new WeakMap,Uh=new WeakMap,qh=new WeakMap,nl=new WeakMap,Gh=new WeakMap,No=new WeakMap,Yp=new WeakMap,sl=new WeakMap,qr=new WeakMap,ka=new WeakMap,Kh=new WeakMap,fd=new WeakMap,Yn=new WeakSet,FS=function(){if(this.is_fork)return!0;for(const i of re(this,nl).keys()){for(var e=i,t=!1;e.parent!==null;){if(re(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},kg=function(){var c,u,f,g;on(this,jh,!0),RL++>1e3&&(Bn(this,Yn,Lg).call(this),Y3());for(const p of re(this,sl))re(this,qr).delete(p),ws(p,qs),this.schedule(p);for(const p of re(this,qr))ws(p,ja),this.schedule(p);const e=re(this,No);on(this,No,[]),this.apply();var t=xh=[],i=[],n=Mm=[];for(const p of e)try{Bn(this,Yn,HS).call(this,p,t,i)}catch(w){throw pP(p),Bn(this,Yn,FS).call(this)||this.discard(),w}if(Hi=null,n.length>0){var s=yb.ensure();for(const p of n)s.schedule(p)}if(xh=null,Mm=null,Bn(this,Yn,FS).call(this)){Bn(this,Yn,gh).call(this,i),Bn(this,Yn,gh).call(this,t);for(const[p,w]of re(this,ka))gP(p,w);n.length>0&&Bn(c=Hi,Yn,kg).call(c);return}const r=Bn(this,Yn,uP).call(this);if(r){Bn(this,Yn,gh).call(this,i),Bn(this,Yn,gh).call(this,t),Bn(u=r,Yn,hP).call(u,this);return}re(this,sl).clear(),re(this,qr).clear();for(const p of re(this,$h))p(this);re(this,$h).clear(),$g=this,AL(i),AL(t),$g=null,(f=re(this,Gh))==null||f.resolve();var a=Hi;if(re(this,qh)===0&&(re(this,No).length===0||a!==null)&&Bn(this,Yn,Lg).call(this),re(this,No).length>0)if(a!==null){const p=a;re(p,No).push(...re(this,No).filter(w=>!re(p,No).includes(w)))}else a=this;a!==null&&Bn(g=a,Yn,kg).call(g)},HS=function(e,t,i){e.f^=zs;for(var n=e.first;n!==null;){var s=n.f,r=(s&(oa|Mc))!==0,a=r&&(s&zs)!==0,c=a||(s&xo)!==0||re(this,ka).has(n);if(!c&&n.fn!==null){r?n.f^=zs:(s&vf)!==0?t.push(n):w_(n)&&((s&ia)!==0&&re(this,qr).add(n),Sf(n));var u=n.first;if(u!==null){n=u;continue}}for(;n!==null;){var f=n.next;if(f!==null){n=f;break}n=n.parent}}},uP=function(){for(var e=re(this,Ql);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=re(e,Ql)}return null},hP=function(e){var i;for(const[n,s]of e.current)!this.previous.has(n)&&e.previous.has(n)&&this.previous.set(n,e.previous.get(n)),this.current.set(n,s);for(const[n,s]of e.async_deriveds){const r=this.async_deriveds.get(n);r&&s.promise.then(r.resolve).catch(r.reject)}this.transfer_effects(re(e,sl),re(e,qr));const t=n=>{var s=n.reactions;if(s!==null)for(const c of s){var r=c.f;if((r&no)!==0)t(c);else{var a=c;r&(Wh|ia)&&!this.async_deriveds.has(a)&&(re(this,qr).delete(a),ws(a,qs),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),Bn(i=e,Yn,Lg).call(i),Hi=this,Bn(this,Yn,kg).call(this)},gh=function(e){for(var t=0;t<e.length;t+=1)dP(e[t],re(this,sl),re(this,qr))},Z3=function(){var f;for(let g=kw;g!==null;g=re(g,hd)){var e=g.id<this.id,t=[];for(const[p,[w,m]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&w!==i)g.current.set(p,[w,m]);else continue}t.push(p)}if(e)for(const[p,w]of this.async_deriveds){const m=g.async_deriveds.get(p);m&&w.promise.then(m.resolve).catch(m.reject)}if(re(g,jh)){var n=[...g.current.keys()].filter(p=>!g.current.get(p)[1]&&!this.current.has(p));if(n.length===0)e&&g.discard();else if(t.length>0){if(e)for(const p of re(this,Kh))g.unskip_effect(p,w=>{var m;(w.f&(ia|Wh))!==0?g.schedule(w):Bn(m=g,Yn,gh).call(m,[w])});g.activate();var s=new Set,r=new Map;for(var a of t)fP(a,n,s,r);r=new Map;var c=[...g.current].filter(([p,w])=>{const m=this.current.get(p);return m?m[0]!==w[0]||m[1]!==w[1]:!0}).map(([p])=>p);if(c.length>0)for(const p of re(this,Yp))(p.f&(Ir|xo|cv))===0&&y0(p,c,r)&&((p.f&(Wh|ia))!==0?(ws(p,qs),g.schedule(p)):re(g,sl).add(p));if(re(g,No).length>0&&!re(g,fd)){g.apply();for(var u of re(g,No))Bn(f=g,Yn,HS).call(f,u,[],[]);on(g,No,[])}g.deactivate()}}}},Lg=function(){if(this.linked){var e=re(this,Ql),t=re(this,hd);e===null?kw=t:on(e,hd,t),t===null?Ju=e:on(t,Ql,e),this.linked=!1}};let mu=yb;function X3(o){var e=Ug;Ug=!0;try{for(var t;;){if(U3(),Hi===null)return t;Hi.flush()}}finally{Ug=e}}function Y3(){try{S3()}catch(o){nc(o,OS)}}let jr=null;function AL(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Ir|xo))===0&&w_(i)&&(jr=new Set,Sf(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&TP(i),(jr==null?void 0:jr.size)>0)){wd.clear();for(const n of jr){if((n.f&(Ir|xo))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)jr.has(r)&&(jr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const c=s[a];(c.f&(Ir|xo))===0&&Sf(c)}}jr.clear()}}jr=null}}function fP(o,e,t,i){if(!t.has(o)&&(t.add(o),o.reactions!==null))for(const n of o.reactions){const s=n.f;(s&no)!==0?fP(n,e,t,i):(s&(Wh|ia))!==0&&(s&qs)===0&&y0(n,e,i)&&(ws(n,qs),w0(n))}}function y0(o,e,t){const i=t.get(o);if(i!==void 0)return i;if(o.deps!==null)for(const n of o.deps){if(lv.call(e,n))return!0;if((n.f&no)!==0&&y0(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function w0(o){Hi.schedule(o)}function gP(o,e){if(!((o.f&oa)!==0&&(o.f&zs)!==0)){(o.f&qs)!==0?e.d.push(o):(o.f&ja)!==0&&e.m.push(o),ws(o,zs);for(var t=o.first;t!==null;)gP(t,e),t=t.next}}function pP(o){ws(o,zs);for(var e=o.first;e!==null;)pP(e),e=e.next}function J3(o){let e=0,t=vu(0),i;return()=>{k0()&&(d(t),Hy(()=>(e===0&&(i=Rl(()=>o(()=>qg(t)))),e+=1,()=>{uc(()=>{e-=1,e===0&&(i==null||i(),i=void 0,qg(t))})})))}}var Q3=bf|Uf;function eH(o,e,t,i){new tH(o,e,t,i)}var _r,Vx,mr,gd,Ro,vr,yo,Qo,ol,pd,ec,Zh,Jp,Qp,rl,wb,Ss,iH,nH,sH,WS,Nm,Rm,BS,zS;class tH{constructor(e,t,i,n){sn(this,Ss);pn(this,"parent");pn(this,"is_pending",!1);pn(this,"transform_error");sn(this,_r);sn(this,Vx,null);sn(this,mr);sn(this,gd);sn(this,Ro);sn(this,vr,null);sn(this,yo,null);sn(this,Qo,null);sn(this,ol,null);sn(this,pd,0);sn(this,ec,0);sn(this,Zh,!1);sn(this,Jp,new Set);sn(this,Qp,new Set);sn(this,rl,null);sn(this,wb,J3(()=>(on(this,rl,vu(re(this,pd))),()=>{on(this,rl,null)})));var s;on(this,_r,e),on(this,mr,t),on(this,gd,r=>{var a=Ln;a.b=this,a.f|=MS,i(r)}),this.parent=Ln.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),on(this,Ro,D0(()=>{Bn(this,Ss,WS).call(this)},Q3))}defer_effect(e){dP(e,re(this,Jp),re(this,Qp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!re(this,mr).pending}update_pending_count(e,t){Bn(this,Ss,BS).call(this,e,t),on(this,pd,re(this,pd)+e),!(!re(this,rl)||re(this,Zh))&&(on(this,Zh,!0),uc(()=>{on(this,Zh,!1),re(this,rl)&&wf(re(this,rl),re(this,pd))}))}get_effect_pending(){return re(this,wb).call(this),d(re(this,rl))}error(e){if(!re(this,mr).onerror&&!re(this,mr).failed)throw e;Hi!=null&&Hi.is_fork?(re(this,vr)&&Hi.skip_effect(re(this,vr)),re(this,yo)&&Hi.skip_effect(re(this,yo)),re(this,Qo)&&Hi.skip_effect(re(this,Qo)),Hi.oncommit(()=>{Bn(this,Ss,zS).call(this,e)})):Bn(this,Ss,zS).call(this,e)}}_r=new WeakMap,Vx=new WeakMap,mr=new WeakMap,gd=new WeakMap,Ro=new WeakMap,vr=new WeakMap,yo=new WeakMap,Qo=new WeakMap,ol=new WeakMap,pd=new WeakMap,ec=new WeakMap,Zh=new WeakMap,Jp=new WeakMap,Qp=new WeakMap,rl=new WeakMap,wb=new WeakMap,Ss=new WeakSet,iH=function(){try{on(this,vr,br(()=>re(this,gd).call(this,re(this,_r))))}catch(e){this.error(e)}},nH=function(e){const t=re(this,mr).failed;t&&on(this,Qo,br(()=>{t(re(this,_r),()=>e,()=>()=>{})}))},sH=function(){const e=re(this,mr).pending;e&&(this.is_pending=!0,on(this,yo,br(()=>e(re(this,_r)))),uc(()=>{var t=on(this,ol,document.createDocumentFragment()),i=pl();t.append(i),on(this,vr,Bn(this,Ss,Rm).call(this,()=>br(()=>re(this,gd).call(this,i)))),re(this,ec)===0&&(re(this,_r).before(t),on(this,ol,null),Cd(re(this,yo),()=>{on(this,yo,null)}),Bn(this,Ss,Nm).call(this,Hi))}))},WS=function(){try{if(this.is_pending=this.has_pending_snippet(),on(this,ec,0),on(this,pd,0),on(this,vr,br(()=>{re(this,gd).call(this,re(this,_r))})),re(this,ec)>0){var e=on(this,ol,document.createDocumentFragment());T0(re(this,vr),e);const t=re(this,mr).pending;on(this,yo,br(()=>t(re(this,_r))))}else Bn(this,Ss,Nm).call(this,Hi)}catch(t){this.error(t)}},Nm=function(e){this.is_pending=!1,e.transfer_effects(re(this,Jp),re(this,Qp))},Rm=function(e){var t=Ln,i=xn,n=io;$a(re(this,Ro)),Tr(re(this,Ro)),yf(re(this,Ro).ctx);try{return mu.ensure(),e()}catch(s){return lP(s),null}finally{$a(t),Tr(i),yf(n)}},BS=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&Bn(i=this.parent,Ss,BS).call(i,e,t);return}on(this,ec,re(this,ec)+e),re(this,ec)===0&&(Bn(this,Ss,Nm).call(this,t),re(this,yo)&&Cd(re(this,yo),()=>{on(this,yo,null)}),re(this,ol)&&(re(this,_r).before(re(this,ol)),on(this,ol,null)))},zS=function(e){re(this,vr)&&(jo(re(this,vr)),on(this,vr,null)),re(this,yo)&&(jo(re(this,yo)),on(this,yo,null)),re(this,Qo)&&(jo(re(this,Qo)),on(this,Qo,null));var t=re(this,mr).onerror;let i=re(this,mr).failed;var n=!1,s=!1;const r=()=>{if(n){V3();return}n=!0,s&&I3(),re(this,Qo)!==null&&Cd(re(this,Qo),()=>{on(this,Qo,null)}),Bn(this,Ss,Rm).call(this,()=>{Bn(this,Ss,WS).call(this)})},a=c=>{try{s=!0,t==null||t(c,r),s=!1}catch(u){nc(u,re(this,Ro)&&re(this,Ro).parent)}i&&on(this,Qo,Bn(this,Ss,Rm).call(this,()=>{try{return br(()=>{var u=Ln;u.b=this,u.f|=MS,i(re(this,_r),()=>c,()=>r)})}catch(u){return nc(u,re(this,Ro).parent),null}}))};uc(()=>{var c;try{c=this.transform_error(e)}catch(u){nc(u,re(this,Ro)&&re(this,Ro).parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(a,u=>nc(u,re(this,Ro)&&re(this,Ro).parent)):a(c)})};function oH(o,e,t,i){const n=bp;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Ln,a=rH(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Ir)===0){a();try{i(p)}catch(w){nc(w,r)}uv()}}var f=_P();if(t.length===0){c.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>aH(p))).then(p=>u([...e.map(n),...p])).catch(p=>nc(p,r)).finally(f)}c?c.then(()=>{a(),g(),uv()}):g()}function rH(){var o=Ln,e=xn,t=io,i=Hi;return function(s=!0){$a(o),Tr(e),yf(t),s&&(o.f&Ir)===0&&(i==null||i.activate(),i==null||i.apply())}}function uv(o=!0){$a(null),Tr(null),yf(null),o&&(Hi==null||Hi.deactivate())}function _P(){var o=Ln,e=o.b,t=Hi,i=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,t),t.increment(i,o),()=>{e==null||e.update_pending_count(-1,t),t.decrement(i,o)}}function bp(o){var e=no|qs;return Ln!==null&&(Ln.f|=Uf),{ctx:io,deps:null,effects:null,equals:sP,f:e,fn:o,reactions:null,rv:0,v:Ws,wv:0,parent:Ln,ac:null}}const X_=Symbol("obsolete");function aH(o,e,t){let i=Ln;i===null&&m3();var n=void 0,s=vu(Ws),r=!xn,a=new Set;return bH(()=>{var w,m;var c=Ln,u=QT();n=u.promise;try{Promise.resolve(o()).then(u.resolve,x=>{x!==Oy&&u.reject(x)}).finally(uv)}catch(x){u.reject(x),uv()}var f=Hi;if(r){if((c.f&$f)!==0)var g=_P();if((w=i.b)!=null&&w.is_rendered())(m=f.async_deriveds.get(c))==null||m.reject(X_);else for(const x of a.values())x.reject(X_);a.add(u),f.async_deriveds.set(c,u)}const p=(x,k=void 0)=>{g==null||g(),a.delete(u),k!==X_&&(f.activate(),k?(s.f|=dc,wf(s,k)):((s.f&dc)!==0&&(s.f^=dc),wf(s,x)),f.deactivate())};u.promise.then(p,x=>p(null,x||"unknown"))}),L0(()=>{for(const c of a)c.reject(X_)}),new Promise(c=>{function u(f){function g(){f===n?c(s):u(n)}f.then(g,g)}u(n)})}function wt(o){const e=bp(o);return NP(e),e}function S0(o){const e=bp(o);return e.equals=oP,e}function lH(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)jo(e[t])}}function C0(o){var e,t=Ln,i=o.parent;if(!Cl&&i!==null&&o.v!==Ws&&(i.f&(Ir|xo))!==0)return B3(),o.v;$a(i);try{o.f&=~_u,lH(o),e=FP(o)}finally{$a(t)}return e}function mP(o){var e=C0(o);if(!o.equals(e)&&(o.wv=AP(),(!(Hi!=null&&Hi.is_fork)||o.deps===null)&&(Hi!==null?(Hi.capture(o,e,!0),$g==null||$g.capture(o,e,!0)):o.v=e,o.deps===null))){ws(o,zs);return}Cl||(Js!==null?(k0()||Hi!=null&&Hi.is_fork)&&Js.set(o,e):b0(o))}function cH(o){var e,t;if(o.effects!==null)for(const i of o.effects)(i.teardown||i.ac)&&((e=i.teardown)==null||e.call(i),(t=i.ac)==null||t.abort(Oy),i.fn!==null&&(i.teardown=Ry),i.ac=null,yp(i,0),E0(i))}function vP(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&Sf(e)}let hv=new Set;const wd=new Map;let bP=!1;function vu(o,e){var t={f:0,v:o,reactions:null,equals:sP,rv:0,wv:0};return t}function M(o,e){const t=vu(o);return NP(t),t}function dH(o,e=!1,t=!0){const i=vu(o);return e||(i.equals=oP),i}function y(o,e,t=!1){xn!==null&&(!na||(xn.f&cv)!==0)&&rP()&&(xn.f&(no|ia|Wh|cv))!==0&&(Wa===null||!Wa.has(o))&&L3();let i=t?yi(e):e;return wf(o,i,Mm)}function wf(o,e,t=null){if(!o.equals(e)){wd.set(o,Cl?e:o.v);var i=mu.ensure();if(i.capture(o,e),(o.f&no)!==0){const n=o;(o.f&qs)!==0&&C0(n),Js===null&&b0(n)}o.wv=AP(),yP(o,qs,t),Ln!==null&&(Ln.f&zs)!==0&&(Ln.f&(oa|Mc))===0&&(pr===null?wH([o]):pr.push(o)),!i.is_fork&&hv.size>0&&!bP&&uH()}return e}function uH(){bP=!1;for(const o of hv){(o.f&zs)!==0&&ws(o,ja);let e;try{e=w_(o)}catch{e=!0}e&&Sf(o)}hv.clear()}function OL(o,e=1){var t=d(o),i=e===1?t++:t--;return y(o,t),i}function qg(o){y(o,o.v+1)}function yP(o,e,t){var i=o.reactions;if(i!==null)for(var n=i.length,s=0;s<n;s++){var r=i[s],a=r.f,c=(a&qs)===0;if(c&&ws(r,e),(a&cv)!==0)hv.add(r);else if((a&no)!==0){var u=r;Js==null||Js.delete(u),(a&_u)===0&&(a&Lr&&(Ln===null||(Ln.f&dv)===0)&&(r.f|=_u),yP(u,ja,t))}else if(c){var f=r;(a&ia)!==0&&jr!==null&&jr.add(f),t!==null?t.push(f):w0(f)}}}function yi(o){if(typeof o!="object"||o===null||yd in o)return o;const e=JT(o);if(e!==l3&&e!==c3)return o;var t=new Map,i=v0(o),n=M(0),s=xd,r=a=>{if(xd===s)return a();var c=xn,u=xd;Tr(null),BL(s);var f=a();return Tr(c),BL(u),f};return i&&t.set("length",M(o.length)),new Proxy(o,{defineProperty(a,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&x3();var f=t.get(c);return f===void 0?r(()=>{var g=M(u.value);return t.set(c,g),g}):y(f,u.value,!0),!0},deleteProperty(a,c){var u=t.get(c);if(u===void 0){if(c in a){const f=r(()=>M(Ws));t.set(c,f),qg(n)}}else y(u,Ws),qg(n);return!0},get(a,c,u){var w;if(c===yd)return o;var f=t.get(c),g=c in a;if(f===void 0&&(!g||(w=Hh(a,c))!=null&&w.writable)&&(f=r(()=>{var m=yi(g?a[c]:Ws),x=M(m);return x}),t.set(c,f)),f!==void 0){var p=d(f);return p===Ws?void 0:p}return Reflect.get(a,c,u)},getOwnPropertyDescriptor(a,c){var u=Reflect.getOwnPropertyDescriptor(a,c);if(u&&"value"in u){var f=t.get(c);f&&(u.value=d(f))}else if(u===void 0){var g=t.get(c),p=g==null?void 0:g.v;if(g!==void 0&&p!==Ws)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,c){var p;if(c===yd)return!0;var u=t.get(c),f=u!==void 0&&u.v!==Ws||Reflect.has(a,c);if(u!==void 0||Ln!==null&&(!f||(p=Hh(a,c))!=null&&p.writable)){u===void 0&&(u=r(()=>{var w=f?yi(a[c]):Ws,m=M(w);return m}),t.set(c,u));var g=d(u);if(g===Ws)return!1}return f},set(a,c,u,f){var A;var g=t.get(c),p=c in a;if(i&&c==="length")for(var w=u;w<g.v;w+=1){var m=t.get(w+"");m!==void 0?y(m,Ws):w in a&&(m=r(()=>M(Ws)),t.set(w+"",m))}if(g===void 0)(!p||(A=Hh(a,c))!=null&&A.writable)&&(g=r(()=>M(void 0)),y(g,yi(u)),t.set(c,g));else{p=g.v!==Ws;var x=r(()=>yi(u));y(g,x)}var k=Reflect.getOwnPropertyDescriptor(a,c);if(k!=null&&k.set&&k.set.call(f,u),!p){if(i&&typeof c=="string"){var D=t.get("length"),P=Number(c);Number.isInteger(P)&&P>=D.v&&y(D,P+1)}qg(n)}return!0},ownKeys(a){d(n);var c=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Ws});for(var[u,f]of t)f.v!==Ws&&!(u in a)&&c.push(u);return c},setPrototypeOf(){k3()}})}function FL(o){try{if(o!==null&&typeof o=="object"&&yd in o)return o[yd]}catch{}return o}function hH(o,e){return Object.is(FL(o),FL(e))}var Sd,wP,SP,CP,xP;function fH(){if(Sd===void 0){Sd=window,wP=document,SP=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;CP=Hh(e,"firstChild").get,xP=Hh(e,"nextSibling").get,ML(o)&&(o[RS]=void 0,o[Tm]=null,o[AS]=void 0,o.__e=void 0),ML(t)&&(t[xg]=void 0)}}function pl(o=""){return document.createTextNode(o)}function Ra(o){return CP.call(o)}function y_(o){return xP.call(o)}function v(o,e){return Ra(o)}function Dt(o,e=!1){{var t=Ra(o);return t instanceof Comment&&t.data===""?y_(t):t}}function b(o,e=1,t=!1){let i=o;for(;e--;)i=y_(i);return i}function gH(o){o.textContent=""}function kP(){return!1}function LP(o,e,t){return e==null||e===nP?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let HL=!1;function pH(){HL||(HL=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Pm])==null||e.call(t)})},{capture:!0}))}function Fy(o){var e=xn,t=Ln;Tr(null),$a(null);try{return o()}finally{Tr(e),$a(t)}}function x0(o,e,t,i=t){o.addEventListener(e,()=>Fy(t));const n=o[Pm];n?o[Pm]=()=>{n(),i(!0)}:o[Pm]=()=>i(!0),pH()}function _H(o){Ln===null&&(xn===null&&w3(),y3()),Cl&&b3()}function mH(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Nl(o,e){var t=Ln;t!==null&&(t.f&xo)!==0&&(o|=xo);var i={ctx:io,deps:null,nodes:null,f:o|qs|Lr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};Hi==null||Hi.register_created_effect(i);var n=i;if((o&vf)!==0)xh!==null?xh.push(i):mu.ensure().schedule(i);else if(e!==null){try{Sf(i)}catch(r){throw jo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Uf)===0&&(n=n.first,(o&ia)!==0&&(o&bf)!==0&&n!==null&&(n.f|=bf))}if(n!==null&&(n.parent=t,t!==null&&mH(n,t),xn!==null&&(xn.f&no)!==0&&(o&Mc)===0)){var s=xn;(s.effects??(s.effects=[])).push(n)}return i}function k0(){return xn!==null&&!na}function L0(o){const e=Nl(Ay,null);return ws(e,zs),e.teardown=o,e}function $n(o){_H();var e=Ln.f,t=!xn&&(e&oa)!==0&&io!==null&&!io.i;if(t){var i=io;(i.e??(i.e=[])).push(o)}else return IP(o)}function IP(o){return Nl(vf|f3,o)}function vH(o){mu.ensure();const e=Nl(Mc|Uf,o);return(t={})=>new Promise(i=>{t.outro?Cd(e,()=>{jo(e),i(void 0)}):(jo(e),i(void 0))})}function I0(o){return Nl(vf,o)}function bH(o){return Nl(Wh|Uf,o)}function Hy(o,e=0){return Nl(Ay|e,o)}function V(o,e=[],t=[],i=[]){oH(i,e,t,n=>{Nl(Ay,()=>o(...n.map(d)))})}function D0(o,e=0){var t=Nl(ia|e,o);return t}function br(o){return Nl(oa|Uf,o)}function DP(o){var e=o.teardown;if(e!==null){const t=Cl,i=xn;WL(!0),Tr(null);try{e.call(null)}finally{WL(t),Tr(i)}}}function E0(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&Fy(()=>{n.abort(Oy)});var i=t.next;(t.f&Mc)!==0?t.parent=null:jo(t,e),t=i}}function yH(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&oa)===0&&jo(e),e=t}}function jo(o,e=!0){var t=!1;(e||(o.f&h3)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(EP(o.nodes.start,o.nodes.end),t=!0),ws(o,NS),E0(o,e&&!t),yp(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();DP(o),o.f^=NS,o.f|=Ir;var n=o.parent;n!==null&&n.first!==null&&TP(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function EP(o,e){for(;o!==null;){var t=o===e?null:y_(o);o.remove(),o=t}}function TP(o){var e=o.parent,t=o.prev,i=o.next;t!==null&&(t.next=i),i!==null&&(i.prev=t),e!==null&&(e.first===o&&(e.first=i),e.last===o&&(e.last=t))}function Cd(o,e,t=!0){var i=[];PP(o,i,!0);var n=()=>{t&&jo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function PP(o,e,t){if((o.f&xo)===0){o.f^=xo;var i=o.nodes&&o.nodes.t;if(i!==null)for(const a of i)(a.is_global||t)&&e.push(a);for(var n=o.first;n!==null;){var s=n.next;if((n.f&Mc)===0){var r=(n.f&bf)!==0||(n.f&oa)!==0&&(o.f&ia)!==0;PP(n,e,r?t:!1)}n=s}}}function fv(o){MP(o,!0)}function MP(o,e){if((o.f&xo)!==0){o.f^=xo,(o.f&zs)===0&&(ws(o,qs),mu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&bf)!==0||(t.f&oa)!==0;MP(t,n?e:!1),t=i}var s=o.nodes&&o.nodes.t;if(s!==null)for(const r of s)(r.is_global||e)&&r.in()}}function T0(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:y_(t);e.append(t),t=n}}let Am=!1,Cl=!1;function WL(o){Cl=o}let xn=null,na=!1;function Tr(o){xn=o}let Ln=null;function $a(o){Ln=o}let Wa=null;function NP(o){xn!==null&&(Wa??(Wa=new Set)).add(o)}let Ao=null,Yo=0,pr=null;function wH(o){pr=o}let RP=1,cd=0,xd=cd;function BL(o){xd=o}function AP(){return++RP}function w_(o){var e=o.f;if((e&qs)!==0)return!0;if(e&no&&(o.f&=~_u),(e&ja)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(w_(s)&&mP(s),s.wv>o.wv)return!0}(e&Lr)!==0&&Js===null&&ws(o,zs)}return!1}function OP(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Wa!==null&&Wa.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&no)!==0?OP(s,e,!1):e===s&&(t?ws(s,qs):(s.f&zs)!==0&&ws(s,ja),w0(s))}}function FP(o){var x;var e=Ao,t=Yo,i=pr,n=xn,s=Wa,r=io,a=na,c=xd,u=o.f;Ao=null,Yo=0,pr=null,xn=(u&(oa|Mc))===0?o:null,Wa=null,yf(o.ctx),na=!1,xd=++cd,o.ac!==null&&(Fy(()=>{o.ac.abort(Oy)}),o.ac=null);try{o.f|=dv;var f=o.fn,g=f();o.f|=$f;var p=o.deps,w=Hi==null?void 0:Hi.is_fork;if(Ao!==null){var m;if(w||yp(o,Yo),p!==null&&Yo>0)for(p.length=Yo+Ao.length,m=0;m<Ao.length;m++)p[Yo+m]=Ao[m];else o.deps=p=Ao;if(k0()&&(o.f&Lr)!==0)for(m=Yo;m<p.length;m++)((x=p[m]).reactions??(x.reactions=[])).push(o)}else!w&&p!==null&&Yo<p.length&&(yp(o,Yo),p.length=Yo);if(rP()&&pr!==null&&!na&&p!==null&&(o.f&(no|ja|qs))===0)for(m=0;m<pr.length;m++)OP(pr[m],o);if(n!==null&&n!==o){if(cd++,n.deps!==null)for(let k=0;k<t;k+=1)n.deps[k].rv=cd;if(e!==null)for(const k of e)k.rv=cd;pr!==null&&(i===null?i=pr:i.push(...pr))}return(o.f&dc)!==0&&(o.f^=dc),g}catch(k){return lP(k)}finally{o.f^=dv,Ao=e,Yo=t,pr=i,xn=n,Wa=s,yf(r),na=a,xd=c}}function SH(o,e){let t=e.reactions;if(t!==null){var i=o3.call(t,o);if(i!==-1){var n=t.length-1;n===0?t=e.reactions=null:(t[i]=t[n],t.pop())}}if(t===null&&(e.f&no)!==0&&(Ao===null||!lv.call(Ao,e))){var s=e;(s.f&Lr)!==0&&(s.f^=Lr,s.f&=~_u),s.v!==Ws&&b0(s),cH(s),yp(s,0)}}function yp(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)SH(o,t[i])}function Sf(o){var e=o.f;if((e&Ir)===0){ws(o,zs);var t=Ln,i=Am;Ln=o,Am=!0;try{(e&(ia|eP))!==0?yH(o):E0(o),DP(o);var n=FP(o);o.teardown=typeof n=="function"?n:null,o.wv=RP;var s;YT&&$3&&(o.f&qs)!==0&&o.deps}finally{Am=i,Ln=t}}}async function Om(){await Promise.resolve(),X3()}function d(o){var e=o.f,t=(e&no)!==0;if(xn!==null&&!na){var i=Ln!==null&&(Ln.f&Ir)!==0;if(!i&&(Wa===null||!Wa.has(o))){var n=xn.deps;if((xn.f&dv)!==0)o.rv<cd&&(o.rv=cd,Ao===null&&n!==null&&n[Yo]===o?Yo++:Ao===null?Ao=[o]:Ao.push(o));else{xn.deps??(xn.deps=[]),lv.call(xn.deps,o)||xn.deps.push(o);var s=o.reactions;s===null?o.reactions=[xn]:lv.call(s,xn)||s.push(xn)}}}if(Cl&&wd.has(o))return wd.get(o);if(t){var r=o;if(Cl){var a=r.v;return((r.f&zs)===0&&r.reactions!==null||WP(r))&&(a=C0(r)),wd.set(r,a),a}var c=(r.f&Lr)===0&&!na&&xn!==null&&(Am||(xn.f&Lr)!==0),u=(r.f&$f)===0;w_(r)&&(c&&(r.f|=Lr),mP(r)),c&&!u&&(vP(r),HP(r))}if(Js!=null&&Js.has(o))return Js.get(o);if((o.f&dc)!==0)throw o.v;return o.v}function HP(o){if(o.f|=Lr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&no)!==0&&(e.f&Lr)===0&&(vP(e),HP(e))}function WP(o){if(o.v===Ws)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(wd.has(e)||(e.f&no)!==0&&WP(e))return!0;return!1}function Rl(o){var e=na;try{return na=!0,o()}finally{na=e}}const CH=["touchstart","touchmove"];function xH(o){return CH.includes(o)}const dd=Symbol("events"),BP=new Set,VS=new Set;function kH(o,e,t,i={}){function n(s){if(i.capture||jS.call(e,s),!s.cancelBubble)return Fy(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?uc(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function cs(o,e,t,i,n){var s={capture:i,passive:n},r=kH(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&L0(()=>{e.removeEventListener(o,r,s)})}function G(o,e,t){(e[dd]??(e[dd]={}))[o]=t}function Ks(o){for(var e=0;e<o.length;e++)BP.add(o[e]);for(var t of VS)t(o)}let zL=null;function jS(o){var x,k;var e=this,t=e.ownerDocument,i=o.type,n=((x=o.composedPath)==null?void 0:x.call(o))||[],s=n[0]||o.target;zL=o;var r=0,a=zL===o&&o[dd];if(a){var c=n.indexOf(a);if(c!==-1&&(e===document||e===window)){o[dd]=e;return}var u=n.indexOf(e);if(u===-1)return;c<=u&&(r=c)}if(s=n[r]||o.target,s!==e){r3(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=xn,g=Ln;Tr(null),$a(null);try{for(var p,w=[];s!==null&&s!==e;){try{var m=(k=s[dd])==null?void 0:k[i];m!=null&&(!s.disabled||o.target===s)&&m.call(s,o)}catch(D){p?w.push(D):p=D}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let D of w)queueMicrotask(()=>{throw D});throw p}}finally{o[dd]=e,delete o.currentTarget,Tr(f),$a(g)}}}var yE;const Iw=((yE=globalThis==null?void 0:globalThis.window)==null?void 0:yE.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function LH(o){return(Iw==null?void 0:Iw.createHTML(o))??o}function zP(o){var e=LP("template");return e.innerHTML=LH(o.replaceAll("<!>","<!---->")),e.content}function bu(o,e){var t=Ln;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function T(o,e){var t=(e&O3)!==0,i=(e&F3)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=zP(s?o:"<!>"+o),t||(n=Ra(n)));var r=i||SP?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Ra(r),c=r.lastChild;bu(a,c)}else bu(r,r);return r}}function IH(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=zP(n),a=Ra(r);s=Ra(a)}var c=s.cloneNode(!0);return bu(c,c),c}}function VP(o,e){return IH(o,e,"svg")}function sa(o=""){{var e=pl(o+"");return bu(e,e),e}}function Vs(){var o=document.createDocumentFragment(),e=document.createComment(""),t=pl();return o.append(e,t),bu(e,t),o}function E(o,e){o!==null&&o.before(e)}function F(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[xg]??(o[xg]=o.nodeValue))&&(o[xg]=t,o.nodeValue=`${t}`)}function DH(o,e){return EH(o,e)}const Y_=new Map;function EH(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){fH();var c=void 0,u=vH(()=>{var f=t??e.appendChild(pl());eH(f,{pending:()=>{}},w=>{Ns({});var m=io;s&&(m.c=s),n&&(i.$$events=n),c=o(w,i)||{},Rs()},a);var g=new Set,p=w=>{for(var m=0;m<w.length;m++){var x=w[m];if(!g.has(x)){g.add(x);var k=xH(x);for(const A of[e,document]){var D=Y_.get(A);D===void 0&&(D=new Map,Y_.set(A,D));var P=D.get(x);P===void 0?(A.addEventListener(x,jS,{passive:k}),D.set(x,1)):D.set(x,P+1)}}}};return p(Ny(BP)),VS.add(p),()=>{var k;for(var w of g)for(const D of[e,document]){var m=Y_.get(D),x=m.get(w);--x==0?(D.removeEventListener(w,jS),m.delete(w),m.size===0&&Y_.delete(D)):m.set(w,x)}VS.delete(p),f!==t&&((k=f.parentNode)==null||k.removeChild(f))}});return TH.set(c,u),c}let TH=new WeakMap;var Gr,La,er,_d,e_,t_,Sb;class PH{constructor(e,t=!0){pn(this,"anchor");sn(this,Gr,new Map);sn(this,La,new Map);sn(this,er,new Map);sn(this,_d,new Set);sn(this,e_,!0);sn(this,t_,e=>{if(re(this,Gr).has(e)){var t=re(this,Gr).get(e),i=re(this,La).get(t);if(i)fv(i),re(this,_d).delete(t);else{var n=re(this,er).get(t);n&&(fv(n.effect),re(this,La).set(t,n.effect),re(this,er).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of re(this,Gr)){if(re(this,Gr).delete(s),s===e)break;const a=re(this,er).get(r);a&&(jo(a.effect),re(this,er).delete(r))}for(const[s,r]of re(this,La)){if(s===t||re(this,_d).has(s))continue;const a=()=>{if(Array.from(re(this,Gr).values()).includes(s)){var u=document.createDocumentFragment();T0(r,u),u.append(pl()),re(this,er).set(s,{effect:r,fragment:u})}else jo(r);re(this,_d).delete(s),re(this,La).delete(s)};re(this,e_)||!i?(re(this,_d).add(s),Cd(r,a,!1)):a()}}});sn(this,Sb,e=>{re(this,Gr).delete(e);const t=Array.from(re(this,Gr).values());for(const[i,n]of re(this,er))t.includes(i)||(jo(n.effect),re(this,er).delete(i))});this.anchor=e,on(this,e_,t)}ensure(e,t){var i=Hi,n=kP();if(t&&!re(this,La).has(e)&&!re(this,er).has(e))if(n){var s=document.createDocumentFragment(),r=pl();s.append(r),re(this,er).set(e,{effect:br(()=>t(r)),fragment:s})}else re(this,La).set(e,br(()=>t(this.anchor)));if(re(this,Gr).set(i,e),n){for(const[a,c]of re(this,La))a===e?i.unskip_effect(c):i.skip_effect(c);for(const[a,c]of re(this,er))a===e?i.unskip_effect(c.effect):i.skip_effect(c.effect);i.oncommit(re(this,t_)),i.ondiscard(re(this,Sb))}else re(this,t_).call(this,i)}}Gr=new WeakMap,La=new WeakMap,er=new WeakMap,_d=new WeakMap,e_=new WeakMap,t_=new WeakMap,Sb=new WeakMap;function W(o,e,t=!1){var i=new PH(o),n=t?bf:0;function s(r,a){i.ensure(r,a)}D0(()=>{var r=!1;e((a,c=0)=>{r=!0,s(c,a)}),r||s(-1,null)},n)}function rn(o,e){return e}function MH(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Cd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;$S(o,Ny(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var c=i.length===0&&t!==null;if(c){var u=t,f=u.parentNode;gH(f),f.append(u),o.items.clear()}$S(o,e,!c)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function $S(o,e,t=!0){var i;if(o.pending.size>0){i=new Set;for(const r of o.pending.values())for(const a of r)i.add(o.items.get(a).e)}for(var n=0;n<e.length;n++){var s=e[n];if(i!=null&&i.has(s)){s.f|=Na;const r=document.createDocumentFragment();T0(s,r)}else jo(e[n],t)}}var VL;function pi(o,e,t,i,n,s=null){var r=o,a=new Map,c=(e&iP)!==0;if(c){var u=o;r=u.appendChild(pl())}var f=null,g=S0(()=>{var A=t();return v0(A)?A:A==null?[]:Ny(A)}),p,w=new Map,m=!0;function x(A){(P.effect.f&Ir)===0&&(P.pending.delete(A),P.fallback=f,NH(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Na)===0?fv(f):(f.f^=Na,Ig(f,null,r)):Cd(f,()=>{f=null})))}function k(A){P.pending.delete(A)}var D=D0(()=>{p=d(g);for(var A=p.length,j=new Set,H=Hi,te=kP(),J=0;J<A;J+=1){var le=p[J],we=i(le,J),We=m?null:a.get(we);We?(We.v&&wf(We.v,le),We.i&&wf(We.i,J),te&&H.unskip_effect(We.e)):(We=RH(a,m?r:VL??(VL=pl()),le,we,J,n,e,t),m||(We.e.f|=Na),a.set(we,We)),j.add(we)}if(A===0&&s&&!f&&(m?f=br(()=>s(r)):(f=br(()=>s(VL??(VL=pl()))),f.f|=Na)),A>j.size&&v3(),!m)if(w.set(H,j),te){for(const[ue,et]of a)j.has(ue)||H.skip_effect(et.e);H.oncommit(x),H.ondiscard(k)}else x(H);d(g)}),P={effect:D,items:a,pending:w,outrogroups:null,fallback:f};m=!1}function gg(o){for(;o!==null&&(o.f&oa)===0;)o=o.next;return o}function NH(o,e,t,i,n){var We,ue,et,rt,me,lt,ft,Pt,Ne;var s=(i&T3)!==0,r=e.length,a=o.items,c=gg(o.effect.first),u,f=null,g,p=[],w=[],m,x,k,D;if(s)for(D=0;D<r;D+=1)m=e[D],x=n(m,D),k=a.get(x).e,(k.f&Na)===0&&((ue=(We=k.nodes)==null?void 0:We.a)==null||ue.measure(),(g??(g=new Set)).add(k));for(D=0;D<r;D+=1){if(m=e[D],x=n(m,D),k=a.get(x).e,o.outrogroups!==null)for(const Lt of o.outrogroups)Lt.pending.delete(k),Lt.done.delete(k);if((k.f&xo)!==0&&(fv(k),s&&((rt=(et=k.nodes)==null?void 0:et.a)==null||rt.unfix(),(g??(g=new Set)).delete(k))),(k.f&Na)!==0)if(k.f^=Na,k===c)Ig(k,null,t);else{var P=f?f.next:c;k===o.effect.last&&(o.effect.last=k.prev),k.prev&&(k.prev.next=k.next),k.next&&(k.next.prev=k.prev),Bl(o,f,k),Bl(o,k,P),Ig(k,P,t),f=k,p=[],w=[],c=gg(f.next);continue}if(k!==c){if(u!==void 0&&u.has(k)){if(p.length<w.length){var A=w[0],j;f=A.prev;var H=p[0],te=p[p.length-1];for(j=0;j<p.length;j+=1)Ig(p[j],A,t);for(j=0;j<w.length;j+=1)u.delete(w[j]);Bl(o,H.prev,te.next),Bl(o,f,H),Bl(o,te,A),c=A,f=te,D-=1,p=[],w=[]}else u.delete(k),Ig(k,c,t),Bl(o,k.prev,k.next),Bl(o,k,f===null?o.effect.first:f.next),Bl(o,f,k),f=k;continue}for(p=[],w=[];c!==null&&c!==k;)(u??(u=new Set)).add(c),w.push(c),c=gg(c.next);if(c===null)continue}(k.f&Na)===0&&p.push(k),f=k,c=gg(k.next)}if(o.outrogroups!==null){for(const Lt of o.outrogroups)Lt.pending.size===0&&($S(o,Ny(Lt.done)),(me=o.outrogroups)==null||me.delete(Lt));o.outrogroups.size===0&&(o.outrogroups=null)}if(c!==null||u!==void 0){var J=[];if(u!==void 0)for(k of u)(k.f&xo)===0&&J.push(k);for(;c!==null;)(c.f&xo)===0&&c!==o.fallback&&J.push(c),c=gg(c.next);var le=J.length;if(le>0){var we=(i&iP)!==0&&r===0?t:null;if(s){for(D=0;D<le;D+=1)(ft=(lt=J[D].nodes)==null?void 0:lt.a)==null||ft.measure();for(D=0;D<le;D+=1)(Ne=(Pt=J[D].nodes)==null?void 0:Pt.a)==null||Ne.fix()}MH(o,J,we)}}s&&uc(()=>{var Lt,Oe;if(g!==void 0)for(k of g)(Oe=(Lt=k.nodes)==null?void 0:Lt.a)==null||Oe.apply()})}function RH(o,e,t,i,n,s,r,a){var c=(r&D3)!==0?(r&P3)===0?dH(t,!1,!1):vu(t):null,u=(r&E3)!==0?vu(n):null;return{v:c,i:u,e:br(()=>(s(e,c??t,u??n,a),()=>{o.delete(i)}))}}function Ig(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Na)===0?e.nodes.start:t;i!==null;){var r=y_(i);if(s.before(i),i===n)return;i=r}}function Bl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function sc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var c=o;V(()=>{var u=Ln;if(a!==(a=e()??"")){if(t){u.nodes=null,c.innerHTML=a,a!==""&&bu(Ra(c),c.lastChild);return}if(u.nodes!==null&&(EP(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?H3:n?W3:void 0,g=LP(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(bu(Ra(p),p.lastChild),i||n)for(;Ra(p);)r.before(Ra(p));else r.before(p)}}})}function jP(o){var e,t,i="";if(typeof o=="string"||typeof o=="number")i+=o;else if(typeof o=="object")if(Array.isArray(o)){var n=o.length;for(e=0;e<n;e++)o[e]&&(t=jP(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function AH(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=jP(o))&&(i&&(i+=" "),i+=e);return i}function J_(o){return typeof o=="object"?AH(o):o??""}const jL=[...`
|
|
3
3
|
\r\f \v\uFEFF`];function OH(o,e,t){var i=o==null?"":""+o;if(e&&(i=i?i+" "+e:e),t){for(var n of Object.keys(t))if(t[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,r=0;(r=i.indexOf(n,r))>=0;){var a=r+s;(r===0||jL.includes(i[r-1]))&&(a===i.length||jL.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function $L(o,e=!1){var t=e?" !important;":";",i="";for(var n of Object.keys(o)){var s=o[n];s!=null&&s!==""&&(i+=" "+n+": "+s+t)}return i}function Dw(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function FH(o,e){if(e){var t="",i,n;if(Array.isArray(e)?(i=e[0],n=e[1]):i=e,o){o=String(o).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,r=0,a=!1,c=[];i&&c.push(...Object.keys(i).map(Dw)),n&&c.push(...Object.keys(n).map(Dw));var u=0,f=-1;const x=o.length;for(var g=0;g<x;g++){var p=o[g];if(a?p==="/"&&o[g-1]==="*"&&(a=!1):s?s===p&&(s=!1):p==="/"&&o[g+1]==="*"?a=!0:p==='"'||p==="'"?s=p:p==="("?r++:p===")"&&r--,!a&&s===!1&&r===0){if(p===":"&&f===-1)f=g;else if(p===";"||g===x-1){if(f!==-1){var w=Dw(o.substring(u,f).trim());if(!c.includes(w)){p!==";"&&g++;var m=o.substring(u,g).trim();t+=" "+m+";"}}u=g+1,f=-1}}}}return i&&(t+=$L(i)),n&&(t+=$L(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function At(o,e,t,i,n,s){var r=o[RS];if(r!==t||r===void 0){var a=OH(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[RS]=t}else if(s&&n!==s)for(var c in s){var u=!!s[c];(n==null||u!==!!n[c])&&o.classList.toggle(c,u)}return s}function Ew(o,e={},t,i){for(var n in t){var s=t[n];e[n]!==s&&(t[n]==null?o.style.removeProperty(n):o.style.setProperty(n,s,i))}}function Fo(o,e,t,i){var n=o[AS];if(n!==e){var s=FH(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[AS]=e}else i&&(Array.isArray(i)?(Ew(o,t==null?void 0:t[0],i[0]),Ew(o,t==null?void 0:t[1],i[1],"important")):Ew(o,t,i));return i}function $P(o,e,t=!1){if(o.multiple){if(e==null)return;if(!v0(e))return z3();for(var i of o.options)i.selected=e.includes(Gg(i));return}for(i of o.options){var n=Gg(i);if(hH(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function HH(o){var e=new MutationObserver(()=>{$P(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),L0(()=>{e.disconnect()})}function Ho(o,e,t=e){var i=new WeakSet,n=!0;x0(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),Gg);else{var c=o.querySelector(r)??o.querySelector("option:not([disabled])");a=c&&Gg(c)}t(a),o.__value=a,Hi!==null&&i.add(Hi)}),I0(()=>{var s=e();if(o===document.activeElement){var r=Hi;if(i.has(r))return}if($P(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=Gg(a),t(s))}o.__value=s,n=!1}),HH(o)}function Gg(o){return"__value"in o?o.__value:o.value}const WH=Symbol("is custom element"),BH=Symbol("is html"),zH=_3?"progress":"PROGRESS";function UL(o,e){var t=P0(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==zH)||(o.value=e??"")}function Dg(o,e){var t=P0(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function Fi(o,e,t,i){var n=P0(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[p3]=t),t==null?o.removeAttribute(e):typeof t!="string"&&VH(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function P0(o){return o[Tm]??(o[Tm]={[WH]:o.nodeName.includes("-"),[BH]:o.namespaceURI===nP})}var qL=new Map;function VH(o){var e=o.getAttribute("is")||o.nodeName,t=qL.get(e);if(t)return t;qL.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=a3(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=JT(n)}return t}function Xt(o,e,t=e){var i=new WeakSet;x0(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=Tw(o)?Pw(s):s,t(s),Hi!==null&&i.add(Hi),await Om(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,c=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===c&&u>c?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Rl(e)==null&&o.value&&(t(Tw(o)?Pw(o.value):o.value),Hi!==null&&i.add(Hi)),Hy(()=>{var n=e();if(o===document.activeElement){var s=Hi;if(i.has(s))return}Tw(o)&&n===Pw(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function Is(o,e,t=e){x0(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Rl(e)==null&&t(o.checked),Hy(()=>{var i=e();o.checked=!!i})}function Tw(o){var e=o.type;return e==="number"||e==="range"}function Pw(o){return o===""?null:+o}var tc,Xh,i_,Cb,UP;const xb=class xb{constructor(e){sn(this,Cb);sn(this,tc,new WeakMap);sn(this,Xh);sn(this,i_);on(this,i_,e)}observe(e,t){var i=re(this,tc).get(e)||new Set;return i.add(t),re(this,tc).set(e,i),Bn(this,Cb,UP).call(this).observe(e,re(this,i_)),()=>{var n=re(this,tc).get(e);n.delete(t),n.size===0&&(re(this,tc).delete(e),re(this,Xh).unobserve(e))}}};tc=new WeakMap,Xh=new WeakMap,i_=new WeakMap,Cb=new WeakSet,UP=function(){return re(this,Xh)??on(this,Xh,new ResizeObserver(e=>{for(var t of e){xb.entries.set(t.target,t);for(var i of re(this,tc).get(t.target)||[])i(t)}}))},pn(xb,"entries",new WeakMap);let US=xb;var jH=new US({box:"border-box"});function $H(o,e,t){var i=jH.observe(o,()=>t(o[e]));I0(()=>(Rl(()=>t(o[e])),i))}function Mw(o,e){return o===e||(o==null?void 0:o[yd])===e}function Ds(o={},e,t,i){var n=io.r,s=Ln;return I0(()=>{var r,a;return Hy(()=>{r=a,a=[],Rl(()=>{Mw(t(...a),o)||(e(o,...a),r&&Mw(t(...r),o)&&e(null,...r))})}),()=>{let c=s;for(;c!==n&&c.parent!==null&&c.parent.f&NS;)c=c.parent;const u=()=>{a&&Mw(t(...a),o)&&e(null,...a)},f=c.teardown;c.teardown=()=>{u(),f==null||f()}}}),o}function Cf(o,e,t,i){var j;var n=!0,s=(t&R3)!==0,r=(t&A3)!==0,a=i,c=!0,u=void 0,f=()=>r&&n?(u??(u=bp(i)),d(u)):(c&&(c=!1,a=r?Rl(i):i),a);let g;if(s){var p=yd in o||g3 in o;g=((j=Hh(o,e))==null?void 0:j.set)??(p&&e in o?H=>o[e]=H:void 0)}var w,m=!1;s?[w,m]=G3(()=>o[e]):w=o[e],w===void 0&&i!==void 0&&(w=f(),g&&(C3(),g(w)));var x;if(x=()=>{var H=o[e];return H===void 0?f():(c=!0,H)},(t&N3)===0)return x;if(g){var k=o.$$legacy;return(function(H,te){return arguments.length>0?((!te||k||m)&&g(te?x():H),H):x()})}var D=!1,P=((t&M3)!==0?bp:S0)(()=>(D=!1,x()));s&&d(P);var A=Ln;return(function(H,te){if(arguments.length>0){const J=te?d(P):s?yi(H):H;return y(P,J),D=!0,a!==void 0&&(a=J),H}return Cl&&D||(A.f&Ir)!==0?P.v:d(P)})}function ao(o){io===null&&tP(),$n(()=>{const e=Rl(o);if(typeof e=="function")return e})}function Wy(o){io===null&&tP(),ao(()=>()=>Rl(o))}const UH="5";var wE;typeof window<"u"&&((wE=window.__svelte??(window.__svelte={})).v??(wE.v=new Set)).add(UH);/*!-----------------------------------------------------------------------------
|
|
4
4
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -10,7 +10,7 @@ var xA=Object.defineProperty;var eL=o=>{throw TypeError(o)};var kA=(o,e,t)=>e in
|
|
|
10
10
|
* Version: 0.52.2(404545bded1df6ffa41ea0af4e8ddb219018c6c1)
|
|
11
11
|
* Released under the MIT license
|
|
12
12
|
* https://github.com/microsoft/monaco-editor/blob/main/LICENSE.txt
|
|
13
|
-
*-----------------------------------------------------------------------------*/var iW=Object.defineProperty,nW=Object.getOwnPropertyDescriptor,sW=Object.getOwnPropertyNames,oW=Object.prototype.hasOwnProperty,rW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of sW(e))!oW.call(o,n)&&n!==t&&iW(o,n,{get:()=>e[n],enumerable:!(i=nW(e,n))||i.enumerable});return o},aW=(o,e,t)=>(rW(o,e,"default"),t),lW="5.4.5",xf={};aW(xf,CE);var KP=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(KP||{}),ZP=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(ZP||{}),XP=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(XP||{}),YP=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(YP||{}),JP=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(JP||{}),QP=class{constructor(o,e,t,i,n){this._onDidChange=new xf.Emitter,this._onDidExtraLibsChange=new xf.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},cW=lW,eM={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},tM=new QP({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),iM=new QP({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),dW=()=>By().then(o=>o.getTypeScriptWorker()),uW=()=>By().then(o=>o.getJavaScriptWorker());xf.languages.typescript={ModuleKind:KP,JsxEmit:ZP,NewLineKind:XP,ScriptTarget:YP,ModuleResolutionKind:JP,typescriptVersion:cW,typescriptDefaults:tM,javascriptDefaults:iM,getTypeScriptWorker:dW,getJavaScriptWorker:uW};function By(){return SE(()=>import("./tsMode-BcbP1HsB.js"),__vite__mapDeps([3,1,2]))}xf.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(tM)));xf.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(iM)));class hW extends _o{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Gt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Ci.map,toggled:be.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:be.has("isInDiffEditor"),menu:{when:be.has("isInDiffEditor"),id:Nt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class nM extends _o{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Gt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class sM extends _o{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Gt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const C_=Gt("diffEditor","Diff Editor");class fW extends ra{constructor(){super({id:"diffEditor.switchSide",title:Gt("switchSide","Switch Side"),icon:Ci.arrowSwap,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,i){const n=qf(e);if(n instanceof n_){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class gW extends ra{constructor(){super({id:"diffEditor.exitCompareMove",title:Gt("exitCompareMove","Exit Compare Move"),icon:Ci.close,precondition:O.comparingMovedCode,f1:!1,category:C_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.exitCompareMove()}}class pW extends ra{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Gt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Ci.fold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.collapseAllUnchangedRegions()}}class _W extends ra{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Gt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Ci.unfold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.showAllUnchangedRegions()}}class qS extends _o{constructor(){super({id:"diffEditor.revert",title:Gt("revert","Revert"),f1:!1,category:C_})}run(e,t){const i=mW(e,t.originalUri,t.modifiedUri);i instanceof n_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const oM=Gt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends _o{constructor(){super({id:kb.id,title:Gt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerNext()}};kb.id="editor.action.accessibleDiffViewer.next";let wp=kb;const Lb=class Lb extends _o{constructor(){super({id:Lb.id,title:Gt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerPrev()}};Lb.id="editor.action.accessibleDiffViewer.prev";let gv=Lb;function mW(o,e,t){return o.get(os).listDiffEditors().find(s=>{var c,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function qf(o){const t=o.get(os).listDiffEditors(),i=xE();if(i)for(const n of t){const s=n.getContainerDomNode();if(vW(s,i))return n}return null}function vW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}In(hW);In(nM);In(sM);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new sM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:be.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:be.has("isInDiffEditor")},order:11,group:"1_diff",when:be.and(O.diffEditorRenderSideBySideInlineBreakpointReached,be.has("isInDiffEditor"))});Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new nM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Ci.move,toggled:LA.create("config.diffEditor.experimental.showMoves",!0),precondition:be.has("isInDiffEditor")},order:10,group:"1_diff",when:be.has("isInDiffEditor")});In(qS);for(const o of[{icon:Ci.arrowRight,key:O.diffEditorInlineMode.toNegated()},{icon:Ci.discard,key:O.diffEditorInlineMode}])Dr.appendMenuItem(Nt.DiffEditorHunkToolbar,{command:{id:new qS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Dr.appendMenuItem(Nt.DiffEditorSelectionToolbar,{command:{id:new qS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"});In(fW);In(gW);In(pW);In(_W);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:wp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:be.has("isInDiffEditor")},order:10,group:"2_diff",when:be.and(O.accessibleDiffViewerVisible.negate(),be.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",wp.id);In(wp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);In(gv);var bW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yW=function(o,e){return function(t,i){e(t,i,o)}},GS;const zy=new an("selectionAnchorSet",!1);var Dd;let Nc=(Dd=class{static get(e){return e.getContribution(GS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=zy.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(mi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ys().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Er(C("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(mi.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},GS=Dd,Dd.ID="editor.contrib.selectionAnchorController",Dd);Nc=GS=bW([yW(1,mn)],Nc);class wW extends je{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.setSelectionAnchor()}}class SW extends je{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:zy})}async run(e,t){var i;(i=Nc.get(t))==null||i.goToSelectionAnchor()}}class CW extends je{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.selectFromAnchorToCursor()}}class xW extends je{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.cancelSelectionAnchor()}}qi(Nc.ID,Nc,4);de(wW);de(SW);de(CW);de(xW);const kW=$t("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class LW extends je{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.jumpToBracket()}}class IW extends je{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Gt("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=yu.get(t))==null||s.selectToBracket(n)}}class DW extends je{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.removeBrackets(this.id)}}class EW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends ut{static get(e){return e.getContribution(Kl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new ms(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const c=e.bracketPairs.findNextBracket(n);c&&c.range&&(r=c.range.getStartPosition())}}return r?new mi(r.lineNumber,r.column,r.lineNumber,r.column):new mi(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(U.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),c=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=c,c=g}}a&&c&&i.push(new mi(a.lineNumber,a.column,c.lineNumber,c.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const w=e[g];w.isEmpty()&&(s[r++]=w.getStartPosition())}s.length>1&&s.sort(Yt.compare);const a=[];let c=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const w=s[g];for(;u<f&&n[u].position.isBefore(w);)u++;if(u<f&&n[u].position.equals(w))a[c++]=n[u];else{let m=t.bracketPairs.matchBracket(w,20),x=Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!m&&this._matchBrackets==="always"&&(m=t.bracketPairs.findEnclosingBrackets(w,20),x=Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new EW(w,m,x)}}this._lastBracketsData=a,this._lastVersionId=i}};Kl.ID="editor.contrib.bracketMatchingController",Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Qi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:gs(kW),position:Oa.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Qi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let yu=Kl;qi(yu.ID,yu,1);de(IW);de(LW);de(DW);Dr.appendMenuItem(Nt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class TW{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new U(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,s,i,s),a)}else{const r=new U(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new mi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new mi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class rM extends je{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new TW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class PW extends rM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:O.writable})}}class MW extends rM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:O.writable})}}de(PW);de(MW);class NW extends je{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,c=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&u===2))continue;const f=c===u?r.getPosition():vw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=vw.leftPosition(i,f),p=vw.leftPosition(i,g),w=i.getValueInRange(U.fromPositions(p,g)),m=i.getValueInRange(U.fromPositions(g,f)),x=U.fromPositions(p,f);n.push(new s_(x,m+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}de(NW);const Vy=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function M0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function RW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class aM{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return hl.some(this,([i,n])=>n.asFile())&&t.push("files"),cM(pv(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return pv(e)}}function pv(o){return o.toLowerCase()}function lM(o,e){return cM(pv(o),e.map(pv))}function cM(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const jy=Object.freeze({create:o=>kE(o.map(e=>e.toString())).join(`\r
|
|
13
|
+
*-----------------------------------------------------------------------------*/var iW=Object.defineProperty,nW=Object.getOwnPropertyDescriptor,sW=Object.getOwnPropertyNames,oW=Object.prototype.hasOwnProperty,rW=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of sW(e))!oW.call(o,n)&&n!==t&&iW(o,n,{get:()=>e[n],enumerable:!(i=nW(e,n))||i.enumerable});return o},aW=(o,e,t)=>(rW(o,e,"default"),t),lW="5.4.5",xf={};aW(xf,CE);var KP=(o=>(o[o.None=0]="None",o[o.CommonJS=1]="CommonJS",o[o.AMD=2]="AMD",o[o.UMD=3]="UMD",o[o.System=4]="System",o[o.ES2015=5]="ES2015",o[o.ESNext=99]="ESNext",o))(KP||{}),ZP=(o=>(o[o.None=0]="None",o[o.Preserve=1]="Preserve",o[o.React=2]="React",o[o.ReactNative=3]="ReactNative",o[o.ReactJSX=4]="ReactJSX",o[o.ReactJSXDev=5]="ReactJSXDev",o))(ZP||{}),XP=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(XP||{}),YP=(o=>(o[o.ES3=0]="ES3",o[o.ES5=1]="ES5",o[o.ES2015=2]="ES2015",o[o.ES2016=3]="ES2016",o[o.ES2017=4]="ES2017",o[o.ES2018=5]="ES2018",o[o.ES2019=6]="ES2019",o[o.ES2020=7]="ES2020",o[o.ESNext=99]="ESNext",o[o.JSON=100]="JSON",o[o.Latest=99]="Latest",o))(YP||{}),JP=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(JP||{}),QP=class{constructor(o,e,t,i,n){this._onDidChange=new xf.Emitter,this._onDidExtraLibsChange=new xf.Emitter,this._extraLibs=Object.create(null),this._removedExtraLibs=Object.create(null),this._eagerModelSync=!1,this.setCompilerOptions(o),this.setDiagnosticsOptions(e),this.setWorkerOptions(t),this.setInlayHintsOptions(i),this.setModeConfiguration(n),this._onDidExtraLibsChangeTimeout=-1}get onDidChange(){return this._onDidChange.event}get onDidExtraLibsChange(){return this._onDidExtraLibsChange.event}get modeConfiguration(){return this._modeConfiguration}get workerOptions(){return this._workerOptions}get inlayHintsOptions(){return this._inlayHintsOptions}getExtraLibs(){return this._extraLibs}addExtraLib(o,e){let t;if(typeof e>"u"?t=`ts:extralib-${Math.random().toString(36).substring(2,15)}`:t=e,this._extraLibs[t]&&this._extraLibs[t].content===o)return{dispose:()=>{}};let i=1;return this._removedExtraLibs[t]&&(i=this._removedExtraLibs[t]+1),this._extraLibs[t]&&(i=this._extraLibs[t].version+1),this._extraLibs[t]={content:o,version:i},this._fireOnDidExtraLibsChangeSoon(),{dispose:()=>{let n=this._extraLibs[t];n&&n.version===i&&(delete this._extraLibs[t],this._removedExtraLibs[t]=i,this._fireOnDidExtraLibsChangeSoon())}}}setExtraLibs(o){for(const e in this._extraLibs)this._removedExtraLibs[e]=this._extraLibs[e].version;if(this._extraLibs=Object.create(null),o&&o.length>0)for(const e of o){const t=e.filePath||`ts:extralib-${Math.random().toString(36).substring(2,15)}`,i=e.content;let n=1;this._removedExtraLibs[t]&&(n=this._removedExtraLibs[t]+1),this._extraLibs[t]={content:i,version:n}}this._fireOnDidExtraLibsChangeSoon()}_fireOnDidExtraLibsChangeSoon(){this._onDidExtraLibsChangeTimeout===-1&&(this._onDidExtraLibsChangeTimeout=window.setTimeout(()=>{this._onDidExtraLibsChangeTimeout=-1,this._onDidExtraLibsChange.fire(void 0)},0))}getCompilerOptions(){return this._compilerOptions}setCompilerOptions(o){this._compilerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}getDiagnosticsOptions(){return this._diagnosticsOptions}setDiagnosticsOptions(o){this._diagnosticsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setWorkerOptions(o){this._workerOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setInlayHintsOptions(o){this._inlayHintsOptions=o||Object.create(null),this._onDidChange.fire(void 0)}setMaximumWorkerIdleTime(o){}setEagerModelSync(o){this._eagerModelSync=o}getEagerModelSync(){return this._eagerModelSync}setModeConfiguration(o){this._modeConfiguration=o||Object.create(null),this._onDidChange.fire(void 0)}},cW=lW,eM={completionItems:!0,hovers:!0,documentSymbols:!0,definitions:!0,references:!0,documentHighlights:!0,rename:!0,diagnostics:!0,documentRangeFormattingEdits:!0,signatureHelp:!0,onTypeFormattingEdits:!0,codeActions:!0,inlayHints:!0},tM=new QP({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),iM=new QP({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},eM),dW=()=>By().then(o=>o.getTypeScriptWorker()),uW=()=>By().then(o=>o.getJavaScriptWorker());xf.languages.typescript={ModuleKind:KP,JsxEmit:ZP,NewLineKind:XP,ScriptTarget:YP,ModuleResolutionKind:JP,typescriptVersion:cW,typescriptDefaults:tM,javascriptDefaults:iM,getTypeScriptWorker:dW,getJavaScriptWorker:uW};function By(){return SE(()=>import("./tsMode-BnfCWkGv.js"),__vite__mapDeps([3,1,2]))}xf.languages.onLanguage("typescript",()=>By().then(o=>o.setupTypeScript(tM)));xf.languages.onLanguage("javascript",()=>By().then(o=>o.setupJavaScript(iM)));class hW extends _o{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Gt("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Ci.map,toggled:be.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:be.has("isInDiffEditor"),menu:{when:be.has("isInDiffEditor"),id:Nt.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class nM extends _o{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Gt("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class sM extends _o{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Gt("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:be.has("isInDiffEditor")})}run(e,...t){const i=e.get(jn),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const C_=Gt("diffEditor","Diff Editor");class fW extends ra{constructor(){super({id:"diffEditor.switchSide",title:Gt("switchSide","Switch Side"),icon:Ci.arrowSwap,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,i){const n=qf(e);if(n instanceof n_){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class gW extends ra{constructor(){super({id:"diffEditor.exitCompareMove",title:Gt("exitCompareMove","Exit Compare Move"),icon:Ci.close,precondition:O.comparingMovedCode,f1:!1,category:C_,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.exitCompareMove()}}class pW extends ra{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Gt("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Ci.fold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.collapseAllUnchangedRegions()}}class _W extends ra{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Gt("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Ci.unfold,precondition:be.has("isInDiffEditor"),f1:!0,category:C_})}runEditorCommand(e,t,...i){const n=qf(e);n instanceof n_&&n.showAllUnchangedRegions()}}class qS extends _o{constructor(){super({id:"diffEditor.revert",title:Gt("revert","Revert"),f1:!1,category:C_})}run(e,t){const i=mW(e,t.originalUri,t.modifiedUri);i instanceof n_&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const oM=Gt("accessibleDiffViewer","Accessible Diff Viewer"),kb=class kb extends _o{constructor(){super({id:kb.id,title:Gt("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerNext()}};kb.id="editor.action.accessibleDiffViewer.next";let wp=kb;const Lb=class Lb extends _o{constructor(){super({id:Lb.id,title:Gt("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:oM,precondition:be.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=qf(e);t==null||t.accessibleDiffViewerPrev()}};Lb.id="editor.action.accessibleDiffViewer.prev";let gv=Lb;function mW(o,e,t){return o.get(os).listDiffEditors().find(s=>{var c,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((c=r.getModel())==null?void 0:c.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function qf(o){const t=o.get(os).listDiffEditors(),i=xE();if(i)for(const n of t){const s=n.getContainerDomNode();if(vW(s,i))return n}return null}function vW(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}In(hW);In(nM);In(sM);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new sM().desc.id,title:C("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:be.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:be.has("isInDiffEditor")},order:11,group:"1_diff",when:be.and(O.diffEditorRenderSideBySideInlineBreakpointReached,be.has("isInDiffEditor"))});Dr.appendMenuItem(Nt.EditorTitle,{command:{id:new nM().desc.id,title:C("showMoves","Show Moved Code Blocks"),icon:Ci.move,toggled:LA.create("config.diffEditor.experimental.showMoves",!0),precondition:be.has("isInDiffEditor")},order:10,group:"1_diff",when:be.has("isInDiffEditor")});In(qS);for(const o of[{icon:Ci.arrowRight,key:O.diffEditorInlineMode.toNegated()},{icon:Ci.discard,key:O.diffEditorInlineMode}])Dr.appendMenuItem(Nt.DiffEditorHunkToolbar,{command:{id:new qS().desc.id,title:C("revertHunk","Revert Block"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Dr.appendMenuItem(Nt.DiffEditorSelectionToolbar,{command:{id:new qS().desc.id,title:C("revertSelection","Revert Selection"),icon:o.icon},when:be.and(O.diffEditorModifiedWritable,o.key),order:5,group:"primary"});In(fW);In(gW);In(pW);In(_W);Dr.appendMenuItem(Nt.EditorTitle,{command:{id:wp.id,title:C("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:be.has("isInDiffEditor")},order:10,group:"2_diff",when:be.and(O.accessibleDiffViewerVisible.negate(),be.has("isInDiffEditor"))});Hn.registerCommandAlias("editor.action.diffReview.next",wp.id);In(wp);Hn.registerCommandAlias("editor.action.diffReview.prev",gv.id);In(gv);var bW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},yW=function(o,e){return function(t,i){e(t,i,o)}},GS;const zy=new an("selectionAnchorSet",!1);var Dd;let Nc=(Dd=class{static get(e){return e.getContribution(GS.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=zy.bindTo(t),this.modelChangeListener=e.onDidChangeModel(()=>this.selectionAnchorSetContextKey.reset())}setSelectionAnchor(){if(this.editor.hasModel()){const e=this.editor.getPosition();this.editor.changeDecorations(t=>{this.decorationId&&t.removeDecoration(this.decorationId),this.decorationId=t.addDecoration(mi.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new Ys().appendText(C("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Er(C("anchorSet","Anchor set at {0}:{1}",e.lineNumber,e.column))}}goToSelectionAnchor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);e&&this.editor.setPosition(e.getStartPosition())}}selectFromAnchorToCursor(){if(this.editor.hasModel()&&this.decorationId){const e=this.editor.getModel().getDecorationRange(this.decorationId);if(e){const t=this.editor.getPosition();this.editor.setSelection(mi.fromPositions(e.getStartPosition(),t)),this.cancelSelectionAnchor()}}}cancelSelectionAnchor(){if(this.decorationId){const e=this.decorationId;this.editor.changeDecorations(t=>{t.removeDecoration(e),this.decorationId=void 0}),this.selectionAnchorSetContextKey.set(!1)}}dispose(){this.cancelSelectionAnchor(),this.modelChangeListener.dispose()}},GS=Dd,Dd.ID="editor.contrib.selectionAnchorController",Dd);Nc=GS=bW([yW(1,mn)],Nc);class wW extends je{constructor(){super({id:"editor.action.setSelectionAnchor",label:C("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2080),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.setSelectionAnchor()}}class SW extends je{constructor(){super({id:"editor.action.goToSelectionAnchor",label:C("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:zy})}async run(e,t){var i;(i=Nc.get(t))==null||i.goToSelectionAnchor()}}class CW extends je{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:C("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:ds(2089,2089),weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.selectFromAnchorToCursor()}}class xW extends je{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:C("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:zy,kbOpts:{kbExpr:O.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=Nc.get(t))==null||i.cancelSelectionAnchor()}}qi(Nc.ID,Nc,4);de(wW);de(SW);de(CW);de(xW);const kW=$t("editorOverviewRuler.bracketMatchForeground","#A0A0A0",C("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class LW extends je{constructor(){super({id:"editor.action.jumpToBracket",label:C("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.jumpToBracket()}}class IW extends je{constructor(){super({id:"editor.action.selectToBracket",label:C("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Gt("smartSelect.selectToBracketDescription","Select the text inside and including the brackets or curly braces"),args:[{name:"args",schema:{type:"object",properties:{selectBrackets:{type:"boolean",default:!0}}}}]}})}run(e,t,i){var s;let n=!0;i&&i.selectBrackets===!1&&(n=!1),(s=yu.get(t))==null||s.selectToBracket(n)}}class DW extends je{constructor(){super({id:"editor.action.removeBrackets",label:C("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:O.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=yu.get(t))==null||i.removeBrackets(this.id)}}class EW{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const Kl=class Kl extends ut{static get(e){return e.getContribution(Kl.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new ms(()=>this._updateBrackets(),50)),this._matchBrackets=this._editor.getOption(72),this._updateBracketsSoon.schedule(),this._register(e.onDidChangeCursorPosition(t=>{this._matchBrackets!=="never"&&this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelContent(t=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModel(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeModelLanguageConfiguration(t=>{this._lastBracketsData=[],this._updateBracketsSoon.schedule()})),this._register(e.onDidChangeConfiguration(t=>{t.hasChanged(72)&&(this._matchBrackets=this._editor.getOption(72),this._decorations.clear(),this._lastBracketsData=[],this._lastVersionId=0,this._updateBracketsSoon.schedule())})),this._register(e.onDidBlurEditorWidget(()=>{this._updateBracketsSoon.schedule()})),this._register(e.onDidFocusEditorWidget(()=>{this._updateBracketsSoon.schedule()}))}jumpToBracket(){if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getSelections().map(i=>{const n=i.getStartPosition(),s=e.bracketPairs.matchBracket(n);let r=null;if(s)s[0].containsPosition(n)&&!s[1].containsPosition(n)?r=s[1].getStartPosition():s[1].containsPosition(n)&&(r=s[0].getStartPosition());else{const a=e.bracketPairs.findEnclosingBrackets(n);if(a)r=a[1].getStartPosition();else{const c=e.bracketPairs.findNextBracket(n);c&&c.range&&(r=c.range.getStartPosition())}}return r?new mi(r.lineNumber,r.column,r.lineNumber,r.column):new mi(n.lineNumber,n.column,n.lineNumber,n.column)});this._editor.setSelections(t),this._editor.revealRange(t[0])}selectToBracket(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=[];this._editor.getSelections().forEach(n=>{const s=n.getStartPosition();let r=t.bracketPairs.matchBracket(s);if(!r&&(r=t.bracketPairs.findEnclosingBrackets(s),!r)){const u=t.bracketPairs.findNextBracket(s);u&&u.range&&(r=t.bracketPairs.matchBracket(u.range.getStartPosition()))}let a=null,c=null;if(r){r.sort(U.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),c=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=c,c=g}}a&&c&&i.push(new mi(a.lineNumber,a.column,c.lineNumber,c.column))}),i.length>0&&(this._editor.setSelections(i),this._editor.revealRange(i[0]))}removeBrackets(e){if(!this._editor.hasModel())return;const t=this._editor.getModel();this._editor.getSelections().forEach(i=>{const n=i.getPosition();let s=t.bracketPairs.matchBracket(n);s||(s=t.bracketPairs.findEnclosingBrackets(n)),s&&(this._editor.pushUndoStop(),this._editor.executeEdits(e,[{range:s[0],text:""},{range:s[1],text:""}]),this._editor.pushUndoStop())})}_updateBrackets(){if(this._matchBrackets==="never")return;this._recomputeBrackets();const e=[];let t=0;for(const i of this._lastBracketsData){const n=i.brackets;n&&(e[t++]={range:n[0],options:i.options},e[t++]={range:n[1],options:i.options})}this._decorations.set(e)}_recomputeBrackets(){if(!this._editor.hasModel()||!this._editor.hasWidgetFocus()){this._lastBracketsData=[],this._lastVersionId=0;return}const e=this._editor.getSelections();if(e.length>100){this._lastBracketsData=[],this._lastVersionId=0;return}const t=this._editor.getModel(),i=t.getVersionId();let n=[];this._lastVersionId===i&&(n=this._lastBracketsData);const s=[];let r=0;for(let g=0,p=e.length;g<p;g++){const w=e[g];w.isEmpty()&&(s[r++]=w.getStartPosition())}s.length>1&&s.sort(Yt.compare);const a=[];let c=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const w=s[g];for(;u<f&&n[u].position.isBefore(w);)u++;if(u<f&&n[u].position.equals(w))a[c++]=n[u];else{let m=t.bracketPairs.matchBracket(w,20),x=Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!m&&this._matchBrackets==="always"&&(m=t.bracketPairs.findEnclosingBrackets(w,20),x=Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[c++]=new EW(w,m,x)}}this._lastBracketsData=a,this._lastVersionId=i}};Kl.ID="editor.contrib.bracketMatchingController",Kl._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=Qi.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:gs(kW),position:Oa.Center}}),Kl._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=Qi.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let yu=Kl;qi(yu.ID,yu,1);de(IW);de(LW);de(DW);Dr.appendMenuItem(Nt.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:C({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class TW{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,s=this._selection.endColumn;if(!(this._isMovingLeft&&n===1)&&!(!this._isMovingLeft&&s===e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new U(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,s,i,s),a)}else{const r=new U(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new U(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new mi(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new mi(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class rM extends je{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getSelections();for(const s of n)i.push(new TW(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class PW extends rM{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:C("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:O.writable})}}class MW extends rM{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:C("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:O.writable})}}de(PW);de(MW);class NW extends je{constructor(){super({id:"editor.action.transposeLetters",label:C("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:O.writable,kbOpts:{kbExpr:O.textInputFocus,primary:0,mac:{primary:306},weight:100}})}run(e,t){if(!t.hasModel())return;const i=t.getModel(),n=[],s=t.getSelections();for(const r of s){if(!r.isEmpty())continue;const a=r.startLineNumber,c=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(c===1||c===2&&u===2))continue;const f=c===u?r.getPosition():vw.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=vw.leftPosition(i,f),p=vw.leftPosition(i,g),w=i.getValueInRange(U.fromPositions(p,g)),m=i.getValueInRange(U.fromPositions(g,f)),x=U.fromPositions(p,f);n.push(new s_(x,m+w))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}de(NW);const Vy=(function(){if(typeof crypto=="object"&&typeof crypto.randomUUID=="function")return crypto.randomUUID.bind(crypto);let o;typeof crypto=="object"&&typeof crypto.getRandomValues=="function"?o=crypto.getRandomValues.bind(crypto):o=function(i){for(let n=0;n<i.length;n++)i[n]=Math.floor(Math.random()*256);return i};const e=new Uint8Array(16),t=[];for(let i=0;i<256;i++)t.push(i.toString(16).padStart(2,"0"));return function(){o(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let n=0,s="";return s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+="-",s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s+=t[e[n++]],s}})();function M0(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function RW(o,e,t){const i={id:Vy(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class aM{constructor(){this._entries=new Map}get size(){let e=0;for(const t of this._entries)e++;return e}has(e){return this._entries.has(this.toKey(e))}matches(e){const t=[...this._entries.keys()];return hl.some(this,([i,n])=>n.asFile())&&t.push("files"),cM(pv(e),t)}get(e){var t;return(t=this._entries.get(this.toKey(e)))==null?void 0:t[0]}append(e,t){const i=this._entries.get(e);i?i.push(t):this._entries.set(this.toKey(e),[t])}replace(e,t){this._entries.set(this.toKey(e),[t])}delete(e){this._entries.delete(this.toKey(e))}*[Symbol.iterator](){for(const[e,t]of this._entries)for(const i of t)yield[e,i]}toKey(e){return pv(e)}}function pv(o){return o.toLowerCase()}function lM(o,e){return cM(pv(o),e.map(pv))}function cM(o,e){if(o==="*/*")return e.length>0;if(e.includes(o))return!0;const t=o.match(/^([a-z]+)\/([a-z]+|\*)$/i);if(!t)return!1;const[i,n,s]=t;return s==="*"?e.some(r=>r.startsWith(n+"/")):!1}const jy=Object.freeze({create:o=>kE(o.map(e=>e.toString())).join(`\r
|
|
14
14
|
`),split:o=>o.split(`\r
|
|
15
15
|
`),parse:o=>jy.split(o).filter(e=>!e.startsWith("#"))}),wa=class wa{constructor(e){this.value=e}equals(e){return this.value===e.value}contains(e){return this.equals(e)||this.value===""||e.value.startsWith(this.value+wa.sep)}intersects(e){return this.contains(e)||e.contains(this)}append(...e){return new wa((this.value?[this.value,...e]:e).join(wa.sep))}};wa.sep=".",wa.None=new wa("@@none@@"),wa.Empty=new wa("");let Vn=wa;const GL={EDITORS:"CodeEditors",FILES:"CodeFiles"};class AW{}const OW={DragAndDropContribution:"workbench.contributions.dragAndDrop"};aa.add(OW.DragAndDropContribution,new AW);const sp=class sp{constructor(){}static getInstance(){return sp.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};sp.INSTANCE=new sp;let KS=sp;function dM(o){const e=new aM;for(const t of o.items){const i=t.type;if(t.kind==="string"){const n=new Promise(s=>t.getAsString(s));e.append(i,M0(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,FW(n))}}return e}function FW(o){const e=o.path?En.parse(o.path):void 0;return RW(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const HW=Object.freeze([GL.EDITORS,GL.FILES,mS.RESOURCES,mS.INTERNAL_URI_LIST]);function uM(o,e=!1){const t=dM(o),i=t.get(mS.INTERNAL_URI_LIST);if(i)t.replace(Ms.uriList,i);else if(e||!t.has(Ms.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(En.file(a).toString()):n.push(En.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Ms.uriList,M0(jy.create(n)))}for(const n of HW)t.delete(n);return t}var N0=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Sp=function(o,e){return function(t,i){e(t,i,o)}};class R0{async provideDocumentPasteEdits(e,t,i,n,s){const r=await this.getEdit(i,s);if(r)return{edits:[{insertText:r.insertText,title:r.title,kind:r.kind,handledMimeType:r.handledMimeType,yieldTo:r.yieldTo}],dispose(){}}}async provideDocumentDropEdits(e,t,i,n){const s=await this.getEdit(i,n);if(s)return{edits:[{insertText:s.insertText,title:s.title,kind:s.kind,handledMimeType:s.handledMimeType,yieldTo:s.yieldTo}],dispose(){}}}}const op=class op extends R0{constructor(){super(...arguments),this.kind=op.kind,this.dropMimeTypes=[Ms.text],this.pasteMimeTypes=[Ms.text]}async getEdit(e,t){const i=e.get(Ms.text);if(!i||e.has(Ms.uriList))return;const n=await i.asString();return{handledMimeType:Ms.text,title:C("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};op.id="text",op.kind=new Vn("text.plain");let wu=op;class hM extends R0{constructor(){super(...arguments),this.kind=new Vn("uri.absolute"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await fM(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:c})=>a.scheme===uo.file?a.fsPath:(n++,c)).join(" ");let r;return n>0?r=i.length>1?C("defaultDropProvider.uriList.uris","Insert Uris"):C("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?C("defaultDropProvider.uriList.paths","Insert Paths"):C("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Ms.uriList,insertText:s,title:r,kind:this.kind}}}let _v=class extends R0{constructor(e){super(),this._workspaceContextService=e,this.kind=new Vn("uri.relative"),this.dropMimeTypes=[Ms.uriList],this.pasteMimeTypes=[Ms.uriList]}async getEdit(e,t){const i=await fM(e);if(!i.length||t.isCancellationRequested)return;const n=vl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?IA(r.uri,s):void 0}));if(n.length)return{handledMimeType:Ms.uriList,insertText:n.join(" "),title:i.length>1?C("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):C("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};_v=N0([Sp(0,lf)],_v);class WW{constructor(){this.kind=new Vn("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Ms.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var c;if(n.triggerKind!==vS.PasteAs&&!((c=n.only)!=null&&c.contains(this.kind)))return;const r=i.get("text/html"),a=await(r==null?void 0:r.asString());if(!(!a||s.isCancellationRequested))return{dispose(){},edits:[{insertText:a,yieldTo:this._yieldTo,title:C("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function fM(o){const e=o.get(Ms.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of jy.parse(t))try{i.push({uri:En.parse(n),originalText:n})}catch{}return i}let ZS=class extends ut{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new wu)),this._register(e.documentDropEditProvider.register("*",new hM)),this._register(e.documentDropEditProvider.register("*",new _v(t)))}};ZS=N0([Sp(0,Jt),Sp(1,lf)],ZS);let XS=class extends ut{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new wu)),this._register(e.documentPasteEditProvider.register("*",new hM)),this._register(e.documentPasteEditProvider.register("*",new _v(t))),this._register(e.documentPasteEditProvider.register("*",new WW))}};XS=N0([Sp(0,Jt),Sp(1,lf)],XS);const ur=class ur{constructor(){this.value="",this.pos=0}static isDigitCharacter(e){return e>=48&&e<=57}static isVariableCharacter(e){return e===95||e>=97&&e<=122||e>=65&&e<=90}text(e){this.value=e,this.pos=0}tokenText(e){return this.value.substr(e.pos,e.len)}next(){if(this.pos>=this.value.length)return{type:14,pos:this.pos,len:0};const e=this.pos;let t=0,i=this.value.charCodeAt(e),n;if(n=ur._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(ur.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(ur.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(ur.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(ur.isVariableCharacter(i)||ur.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}n=10;do t+=1,i=this.value.charCodeAt(e+t);while(!isNaN(i)&&typeof ur._table[i]>"u"&&!ur.isDigitCharacter(i)&&!ur.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};ur._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let YS=ur;class Gf{constructor(){this._children=[]}appendChild(e){return e instanceof Co&&this._children[this._children.length-1]instanceof Co?this._children[this._children.length-1].value+=e.value:(e.parent=this,this._children.push(e)),this}replace(e,t){const{parent:i}=e,n=i.children.indexOf(e),s=i.children.slice(0);s.splice(n,1,...t),i._children=s,(function r(a,c){for(const u of a)u.parent=c,r(u.children,u)})(t,i)}get children(){return this._children}get rightMostDescendant(){return this._children.length>0?this._children[this._children.length-1].rightMostDescendant:this}get snippet(){let e=this;for(;;){if(!e)return;if(e instanceof x_)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Co=class gM extends Gf{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new gM(this.value)}};class pM extends Gf{}class sr extends pM{static compareByIndex(e,t){return e.index===t.index?0:e.isFinalTabstop?1:t.isFinalTabstop||e.index<t.index?-1:e.index>t.index?1:0}constructor(e){super(),this.index=e}get isFinalTabstop(){return this.index===0}get choice(){return this._children.length===1&&this._children[0]instanceof Kf?this._children[0]:void 0}clone(){const e=new sr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class Kf extends Gf{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Co&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new Kf;return this.options.forEach(e.appendChild,e),e}}class A0 extends Gf{constructor(){super(...arguments),this.regexp=new RegExp("")}resolve(e){const t=this;let i=!1,n=e.replace(this.regexp,function(){return i=!0,t._replace(Array.prototype.slice.call(arguments,0,-2))});return!i&&this._children.some(s=>s instanceof Kr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Kr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new A0;return e.regexp=new RegExp(this.regexp.source,(this.regexp.ignoreCase?"i":"")+(this.regexp.global?"g":"")),e._children=this.children.map(t=>t.clone()),e}}class Kr extends Gf{constructor(e,t,i,n){super(),this.index=e,this.shorthandName=t,this.ifValue=i,this.elseValue=n}resolve(e){return this.shorthandName==="upcase"?e?e.toLocaleUpperCase():"":this.shorthandName==="downcase"?e?e.toLocaleLowerCase():"":this.shorthandName==="capitalize"?e?e[0].toLocaleUpperCase()+e.substr(1):"":this.shorthandName==="pascalcase"?e?this._toPascalCase(e):"":this.shorthandName==="camelcase"?e?this._toCamelCase(e):"":e&&typeof this.ifValue=="string"?this.ifValue:!e&&typeof this.elseValue=="string"?this.elseValue:e||""}_toPascalCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map(i=>i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}_toCamelCase(e){const t=e.match(/[a-z0-9]+/gi);return t?t.map((i,n)=>n===0?i.charAt(0).toLowerCase()+i.substr(1):i.charAt(0).toUpperCase()+i.substr(1)).join(""):e}clone(){return new Kr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class Cp extends pM{constructor(e){super(),this.name=e}resolve(e){let t=e.resolve(this);return this.transform&&(t=this.transform.resolve(t||"")),t!==void 0?(this._children=[new Co(t)],!0):!1}clone(){const e=new Cp(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function KL(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class x_ extends Gf{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof sr&&(e.push(i),t=!t||t.index<i.index?i:t),!0}),this._placeholders={all:e,last:t}}return this._placeholders}get placeholders(){const{all:e}=this.placeholderInfo;return e}offset(e){let t=0,i=!1;return this.walk(n=>n===e?(i=!0,!1):(t+=n.len(),!0)),i?t:-1}fullLen(e){let t=0;return KL([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof sr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof Cp&&t.resolve(e)&&(this._placeholders=void 0),!0)),this}appendChild(e){return this._placeholders=void 0,super.appendChild(e)}replace(e,t){return this._placeholders=void 0,super.replace(e,t)}clone(){const e=new x_;return this._children=this.children.map(t=>t.clone()),e}walk(e){KL(this.children,e)}}class Su{constructor(){this._scanner=new YS,this._token={type:14,pos:0,len:0}}static escape(e){return e.replace(/\$|}|\\/g,"\\$&")}static guessNeedsClipboard(e){return/\${?CLIPBOARD/.test(e)}parse(e,t,i){const n=new x_;return this.parseFragment(e,n),this.ensureFinalTabstop(n,i??!1,t??!1),n}parseFragment(e,t){const i=t.children.length;for(this._scanner.text(e),this._token=this._scanner.next();this._parse(t););const n=new Map,s=[];t.walk(c=>(c instanceof sr&&(c.isFinalTabstop?n.set(0,void 0):!n.has(c.index)&&c.children.length>0?n.set(c.index,c.children):s.push(c)),!0));const r=(c,u)=>{const f=n.get(c.index);if(!f)return;const g=new sr(c.index);g.transform=c.transform;for(const p of f){const w=p.clone();g.appendChild(w),w instanceof sr&&n.has(w.index)&&!u.has(w.index)&&(u.add(w.index),r(w,u),u.delete(w.index))}t.replace(c,[g])},a=new Set;for(const c of s)r(c,a);return t.children.slice(i)}ensureFinalTabstop(e,t,i){(t||i&&e.placeholders.length>0)&&(e.placeholders.find(s=>s.index===0)||e.appendChild(new sr(0)))}_accept(e,t){if(e===void 0||this._token.type===e){const i=t?this._scanner.tokenText(this._token):!0;return this._token=this._scanner.next(),i}return!1}_backTo(e){return this._scanner.pos=e.pos+e.len,this._token=e,!1}_until(e){const t=this._token;for(;this._token.type!==e;){if(this._token.type===14)return!1;if(this._token.type===5){const n=this._scanner.next();if(n.type!==0&&n.type!==4&&n.type!==5)return!1}this._token=this._scanner.next()}const i=this._scanner.value.substring(t.pos,this._token.pos).replace(/\\(\$|}|\\)/g,"$1");return this._token=this._scanner.next(),i}_parse(e){return this._parseEscaped(e)||this._parseTabstopOrVariableName(e)||this._parseComplexPlaceholder(e)||this._parseComplexVariable(e)||this._parseAnything(e)}_parseEscaped(e){let t;return(t=this._accept(5,!0))?(t=this._accept(0,!0)||this._accept(4,!0)||this._accept(5,!0)||t,e.appendChild(new Co(t)),!0):!1}_parseTabstopOrVariableName(e){let t;const i=this._token;return this._accept(0)&&(t=this._accept(9,!0)||this._accept(8,!0))?(e.appendChild(/^\d+$/.test(t)?new sr(Number(t)):new Cp(t)),!0):this._backTo(i)}_parseComplexPlaceholder(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(8,!0))))return this._backTo(i);const s=new sr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Co("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new Kf;for(;;){if(this._parseChoiceElement(r)){if(this._accept(2))continue;if(this._accept(7)&&(s.appendChild(r),this._accept(4)))return e.appendChild(s),!0}return this._backTo(i),!1}}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseChoiceElement(e){const t=this._token,i=[];for(;!(this._token.type===2||this._token.type===7);){let n;if((n=this._accept(5,!0))?n=this._accept(2,!0)||this._accept(7,!0)||this._accept(5,!0)||n:n=this._accept(void 0,!0),!n)return this._backTo(t),!1;i.push(n)}return i.length===0?(this._backTo(t),!1):(e.appendChild(new Co(i.join(""))),!0)}_parseComplexVariable(e){let t;const i=this._token;if(!(this._accept(0)&&this._accept(3)&&(t=this._accept(9,!0))))return this._backTo(i);const s=new Cp(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Co("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else return this._accept(6)?this._parseTransform(s)?(e.appendChild(s),!0):(this._backTo(i),!1):this._accept(4)?(e.appendChild(s),!0):this._backTo(i)}_parseTransform(e){const t=new A0;let i="",n="";for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(6,!0)||s,i+=s;continue}if(this._token.type!==14){i+=this._accept(void 0,!0);continue}return!1}for(;!this._accept(6);){let s;if(s=this._accept(5,!0)){s=this._accept(5,!0)||this._accept(6,!0)||s,t.appendChild(new Co(s));continue}if(!(this._parseFormatString(t)||this._parseAnything(t)))return!1}for(;!this._accept(4);){if(this._token.type!==14){n+=this._accept(void 0,!0);continue}return!1}try{t.regexp=new RegExp(i,n)}catch{return!1}return e.transform=t,!0}_parseFormatString(e){const t=this._token;if(!this._accept(0))return!1;let i=!1;this._accept(3)&&(i=!0);const n=this._accept(8,!0);if(n)if(i){if(this._accept(4))return e.appendChild(new Kr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Kr(Number(n))),!0;else return this._backTo(t),!1;if(this._accept(6)){const s=this._accept(9,!0);return!s||!this._accept(4)?(this._backTo(t),!1):(e.appendChild(new Kr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,void 0,s)),!0}else if(this._accept(13)){const s=this._until(1);if(s){const r=this._until(4);if(r)return e.appendChild(new Kr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Kr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Co(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function _M(o,e,t){var i,n;return(typeof t.insertText=="string"?t.insertText==="":t.insertText.snippet==="")?{edits:((i=t.additionalEdit)==null?void 0:i.edits)??[]}:{edits:[...e.map(s=>new DA(o,{range:s,text:typeof t.insertText=="string"?Su.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function mM(o){function e(r,a){return"mimeType"in r?r.mimeType===a.handledMimeType:!!a.kind&&r.kind.contains(a.kind)}const t=new Map;for(const r of o)for(const a of r.yieldTo??[])for(const c of o)if(c!==r&&e(a,c)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(c)}if(!t.size)return Array.from(o);const i=new Set,n=[];function s(r){if(!r.length)return[];const a=r[0];if(n.includes(a))return console.warn("Yield to cycle detected",a),r;if(i.has(a))return s(r.slice(1));let c=[];const u=t.get(a);return u&&(n.push(a),c=s(u),n.pop()),i.add(a),[...c,a,...s(r.slice(1))]}return s(Array.from(o))}var BW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},zW=function(o,e){return function(t,i){e(t,i,o)}};const VW=Qi.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:LE,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Ib=class Ib extends ut{constructor(e,t,i,n,s){super(),this.typeId=e,this.editor=t,this.range=i,this.delegate=s,this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this.create(n),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this)}create(e){this.domNode=jt(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=jt("span.icon");this.domNode.append(t),t.classList.add(...yn.asClassNameArray(Ci.loading),"codicon-modifier-spin");const i=()=>{const n=this.editor.getOption(67);this.domNode.style.height=`${n}px`,this.domNode.style.width=`${Math.ceil(.8*n)}px`};i(),this._register(this.editor.onDidChangeConfiguration(n=>{(n.hasChanged(52)||n.hasChanged(67))&&i()})),this._register(_n(this.domNode,Kn.CLICK,n=>{this.delegate.cancel()}))}getId(){return Ib.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:{lineNumber:this.range.startLineNumber,column:this.range.startColumn},preference:[0]}}dispose(){super.dispose(),this.editor.removeContentWidget(this)}};Ib.baseId="editor.widget.inlineProgressWidget";let JS=Ib,mv=class extends ut{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new $o),this._currentWidget=this._register(new $o),this._operationIdPool=0,this._currentDecorations=t.createDecorationsCollection()}dispose(){super.dispose(),this._currentDecorations.clear()}async showWhile(e,t,i,n,s){const r=this._operationIdPool++;this._currentOperation=r,this.clear(),this._showPromise.value=lp(()=>{const a=U.fromPositions(e);this._currentDecorations.set([{range:a,options:VW}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(JS,this.id,this._editor,a,t,n))},s??this._showDelay);try{return await i}finally{this._currentOperation===r&&(this.clear(),this._currentOperation=void 0)}}clear(){this._showPromise.clear(),this._currentDecorations.clear(),this._currentWidget.clear()}};mv=BW([zW(2,Ai)],mv);var jW=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},ZL=function(o,e){return function(t,i){e(t,i,o)}},Fm,fc;let ko=(fc=class{static get(e){return e.getContribution(Fm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new $o,this._messageListeners=new ct,this._mouseOverMessage=!1,this._editor=e,this._visible=Fm.MESSAGE_VISIBLE.bindTo(t)}dispose(){var e;(e=this._message)==null||e.dispose(),this._messageListeners.dispose(),this._messageWidget.dispose(),this._visible.reset()}showMessage(e,t){Er(km(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=km(e)?EA(e,{actionHandler:{callback:n=>{this.closeMessage(),TA(this._openerService,n,km(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new XL(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(_s.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&PA(xE(),this._messageWidget.value.getDomNode())||this.closeMessage()})),this._messageListeners.add(this._editor.onDidChangeCursorPosition(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidDispose(()=>this.closeMessage())),this._messageListeners.add(this._editor.onDidChangeModel(()=>this.closeMessage())),this._messageListeners.add(_n(this._messageWidget.value.getDomNode(),Kn.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(_n(this._messageWidget.value.getDomNode(),Kn.MOUSE_LEAVE,()=>this._mouseOverMessage=!1,!0));let i;this._messageListeners.add(this._editor.onMouseMove(n=>{n.target.position&&(i?i.containsPosition(n.target.position)||this.closeMessage():i=new U(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(XL.fadeOut(this._messageWidget.value))}},Fm=fc,fc.ID="editor.contrib.messageController",fc.MESSAGE_VISIBLE=new an("messageVisible",!1,C("messageVisible","Whether the editor is currently showing an inline message")),fc);ko=Fm=jW([ZL(1,mn),ZL(2,la)],ko);const $W=mo.bindToContribution(ko.get);ni(new $W({id:"leaveEditorMessage",precondition:ko.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let XL=class{static fadeOut(e){const t=()=>{e.dispose(),clearTimeout(i),e.getDomNode().removeEventListener("animationend",t)},i=setTimeout(t,110);return e.getDomNode().addEventListener("animationend",t),e.getDomNode().classList.add("fadeOut"),{dispose:t}}constructor(e,{lineNumber:t,column:i},n){this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._editor=e,this._editor.revealLinesInCenterIfOutsideViewport(t,t,0),this._position={lineNumber:t,column:i},this._domNode=document.createElement("div"),this._domNode.classList.add("monaco-editor-overlaymessage"),this._domNode.style.marginLeft="-6px";const s=document.createElement("div");s.classList.add("anchor","top"),this._domNode.appendChild(s);const r=document.createElement("div");typeof n=="string"?(r.classList.add("message"),r.textContent=n):(n.classList.add("message"),r.appendChild(n)),this._domNode.appendChild(r);const a=document.createElement("div");a.classList.add("anchor","below"),this._domNode.appendChild(a),this._editor.addContentWidget(this),this._domNode.classList.add("fadeIn")}dispose(){this._editor.removeContentWidget(this)}getId(){return"messageoverlay"}getDomNode(){return this._domNode}getPosition(){return{position:this._position,preference:[1,2],positionAffinity:1}}afterRender(e){this._domNode.classList.toggle("below",e===2)}};qi(ko.ID,ko,4);function Nw(o,e){return e&&(o.stack||o.stacktrace)?C("stackTrace.format","{0}: {1}",JL(o),YL(o.stack)||YL(o.stacktrace)):JL(o)}function YL(o){return Array.isArray(o)?o.join(`
|
|
16
16
|
`):o}function JL(o){return o.code==="ERR_UNC_HOST_NOT_ALLOWED"?`${o.message}. Please update the 'security.allowedUNCHosts' setting if you want to allow this host.`:typeof o.code=="string"&&typeof o.errno=="number"&&typeof o.syscall=="string"?C("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function vv(o=null,e=!1){if(!o)return C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=vl(o),i=vv(t[0],e);return t.length>1?C("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(IE(o))return o;if(o.detail){const t=o.detail;if(t.error)return Nw(t.error,e);if(t.exception)return Nw(t.exception,e)}return o.stack?Nw(o,e):o.message?o.message:C("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var vM=function(o,e,t,i){var n=arguments.length,s=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,r;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(o,e,t,i);else for(var a=o.length-1;a>=0;a--)(r=o[a])&&(s=(n<3?r(s):n>3?r(e,t,s):r(e,t))||s);return n>3&&s&&Object.defineProperty(e,t,s),s},Bh=function(o,e){return function(t,i){e(t,i,o)}},QS,Ed;let eC=(Ed=class extends ut{constructor(e,t,i,n,s,r,a,c,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=c,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(zn(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(zn((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(_s.runAndSubscribe(f.onDidUpdateKeybindings,()=>{this._updateButtonTitle()}))}_updateButtonTitle(){var t;const e=(t=this._keybindingService.lookupKeybinding(this.showCommand.id))==null?void 0:t.getLabel();this.button.element.title=this.showCommand.label+(e?` (${e})`:"")}create(){this.domNode=jt(".post-edit-widget"),this.button=this._register(new MA(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(_n(this.domNode,Kn.CLICK,()=>this.showSelector()))}getId(){return QS.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=fo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>NA({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},QS=Ed,Ed.baseId="editor.widget.postEditWidget",Ed);eC=QS=vM([Bh(7,Wf),Bh(8,mn),Bh(9,us)],eC);let bv=class extends ut{constructor(e,t,i,n,s,r,a){super(),this._id=e,this._editor=t,this._visibleContext=i,this._showCommand=n,this._instantiationService=s,this._bulkEditService=r,this._notificationService=a,this._currentWidget=this._register(new $o),this._register(_s.any(t.onDidChangeModel,t.onDidChangeModelContent)(()=>this.clear()))}async applyEditAndShowIfNeeded(e,t,i,n,s){const r=this._editor.getModel();if(!r||!e.length)return;const a=t.allEdits.at(t.activeEditIndex);if(!a)return;const c=async k=>{const D=this._editor.getModel();D&&(await D.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:k,allEdits:t.allEdits},i,n,s))},u=(k,D)=>{Hc(k)||(this._notificationService.error(D),i&&this.show(e[0],t,c))};let f;try{f=await n(a,s)}catch(k){return u(k,C("resolveError",`Error resolving edit '{0}':
|
|
@@ -227,4 +227,4 @@ declare const she: {
|
|
|
227
227
|
`).trim())}}return ee}function Ft(z){return z.filter!==void 0||z.map!==void 0||z.reduce!==void 0}function oi(z){const ee=[];return z.filter!==void 0&&ee.push("filter"),z.map!==void 0&&ee.push("map"),z.reduce!==void 0&&ee.push("reduce"),`Apply ${ee.join(" + ")}`}const Bt=15;function Et(z){return z.split(`
|
|
228
228
|
`).length>Bt}function Rt(z){const ee=new Set(d(p));ee.has(z)?ee.delete(z):ee.add(z),y(p,ee,!0)}function Ct(z,ee){if(di(ee))try{return pb.highlight(z,{language:"javascript"}).value}catch{}return z.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function vi(z){return Un.parse(z)}function di(z){return!z||z==="js"||z==="javascript"}function Li(z){navigator.clipboard.writeText(z).catch(()=>{})}async function Ni(){if(y(w,!0),!(d(m)||d(x))){y(x,!0),y(k,"");try{y(m,await Mx(d(g)||d(u).model),!0)}catch(z){y(k,z.message,!0)}y(x,!1)}}function Oi(z){return z>=1e9?`${(z/1e9).toFixed(1)} GB`:z>=1e6?`${(z/1e6).toFixed(0)} MB`:`${z} B`}function Wi(z){const ee=z.match(/\.([^.]+)$/);return ee?ee[1].toUpperCase():"?"}function Si(z){switch(z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"↓";case"JSON":case"JSONC":return"{}";default:return z}}function ri(z){y(J,d(J).filter((ee,Ue)=>Ue!==z),!0)}function _i(){We.click()}async function ki(z){if(!(!z||z.length===0))for(const ee of Array.from(z)){const Ue=await ee.text();y(J,[...d(J),{name:ee.name,content:Ue}],!0)}}function Vi(z){const ee=z.target;ki(ee.files),ee.value=""}function Ri(z){var ee;z.preventDefault(),y(we,!1),ki(((ee=z.dataTransfer)==null?void 0:ee.files)??null)}function Mi(z){var ee;(ee=z.dataTransfer)!=null&&ee.types.includes("Files")&&(z.preventDefault(),y(we,!0))}function mt(){y(we,!1)}async function Mt(){const z=d(r).trim();if(!(!z||d(a))){y(r,""),y(c,""),y(a,!0),y(n,[...d(n),{role:"user",content:z}],!0),D=new AbortController,y(ue,[],!0);try{await VR({messages:d(n),currentView:d(Ne),context:d(lt),modelOverride:d(g)||void 0,extraFiles:d(J).length>0?d(J):void 0},ee=>{y(s,(d(s)??"")+ee)},D.signal,ee=>{y(ue,[...d(ue),ee],!0)}),y(n,[...d(n),{role:"assistant",content:d(s)??"",toolEvents:d(ue).length>0?[...d(ue)]:void 0}],!0),y(ue,[],!0)}catch(ee){if(ee.name==="AbortError"){const Ue=d(s);Ue!=null&&Ue.trim()&&y(n,[...d(n),{role:"assistant",content:Ue+`
|
|
229
229
|
|
|
230
|
-
*[stopped]*`,toolEvents:d(ue).length>0?[...d(ue)]:void 0}],!0)}else y(c,ee.message,!0)}finally{D=null,y(s,null),y(ue,[],!0),y(a,!1)}}}function hi(){D==null||D.abort()}function Ti(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Mt())}function Xi(){y(n,[],!0),y(c,"")}const ji=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function Tn(z){y(r,z,!0),rt==null||rt.focus()}var Fe=HZ(),ei=Dt(Fe),ui=v(ei),Pi=b(v(ui),2);{var $e=z=>{var ee=iZ(),Ue=v(ee);{var Ye=ve=>{var vt=sa();V(()=>F(vt,`${d(u).provider??""} · ${(d(g)||d(u).model)??""}`)),E(ve,vt)},ge=ve=>{var vt=sa("Not configured");E(ve,vt)};W(Ue,ve=>{d(ft)?ve(Ye):ve(ge,-1)})}V(()=>Fi(ee,"title",`Provider: ${d(u).provider??""}`)),E(z,ee)};W(Pi,z=>{d(u)&&z($e)})}var Ut=b(Pi,2);{var fi=z=>{var ee=nZ();G("click",ee,Xi),E(z,ee)};W(Ut,z=>{d(n).length>0&&z(fi)})}var Ii=b(ui,2),qe=v(Ii);{var he=z=>{var ee=sZ();E(z,ee)},K=z=>{var ee=aZ(),Ue=v(ee),Ye=v(Ue);{var ge=Ei=>{var Te=oZ(),Ge=b(Dt(Te)),Wt=v(Ge);V(()=>F(Wt,t().id)),E(Ei,Te)},ve=Ei=>{var Te=sa("No view selected. Ask a general sheDB view question.");E(Ei,Te)};W(Ye,Ei=>{t()?Ei(ge):Ei(ve,-1)})}var vt=b(Ue,2);pi(vt,17,()=>ji,rn,(Ei,Te)=>{var Ge=rZ(),Wt=v(Ge);V(()=>F(Wt,d(Te))),G("click",Ge,()=>Tn(d(Te))),E(Ei,Ge)}),E(z,ee)};W(qe,z=>{d(ft)?d(n).length===0&&d(s)===null&&z(K,1):z(he)})}var ae=b(qe,2);pi(ae,17,()=>d(n),rn,(z,ee,Ue)=>{var Ye=fZ(),ge=v(Ye);{var ve=Ei=>{var Te=lZ(),Ge=v(Te);V(()=>F(Ge,d(ee).content)),E(Ei,Te)},vt=Ei=>{const Te=wt(()=>Oe(d(ee).content)),Ge=wt(()=>nt(d(Te)));var Wt=hZ(),Je=Dt(Wt);{var bt=Ae=>{var De=cE();pi(De,21,()=>d(ee).toolEvents,rn,(zt,kt)=>{var Ke=Vs(),Vt=Dt(Ke);{var tt=He=>{var Be=aE(),ze=b(v(Be)),Tt=v(ze);V(ye=>F(Tt,ye),[()=>d(kt).name.replace(/_/g," ")]),E(He,Be)},Ee=He=>{var Be=lE(),ze=b(v(Be)),Tt=v(ze);V(ye=>F(Tt,ye),[()=>d(kt).name.replace(/_/g," ")]),E(He,Be)};W(Vt,He=>{d(kt).type==="tool_call"?He(tt):He(Ee,-1)})}E(zt,Ke)}),E(Ae,De)};W(Je,Ae=>{var De;(De=d(ee).toolEvents)!=null&&De.length&&Ae(bt)})}var Kt=b(Je,2),q=v(Kt);pi(q,17,()=>d(Te),rn,(Ae,De,zt)=>{var kt=Vs(),Ke=Dt(kt);{var Vt=Ee=>{var He=dE();sc(He,()=>vi(d(De).text),!0),E(Ee,He)},tt=Ee=>{const He=wt(()=>`${Ue}:${zt}`),Be=wt(()=>Et(d(De).text)),ze=wt(()=>d(p).has(d(He))),Tt=wt(()=>d(De).lang==="filter");var ye=dZ(),it=v(ye),pt=v(it),_t=v(pt),Ze=b(pt,2),qt=v(Ze),ii=b(it,2);let cn;var en=v(ii),Dn=v(en);sc(Dn,()=>Ct(d(De).text,d(De).lang??""),!0);var Jn=b(en,2);{var Gi=gi=>{var bn=cZ(),ln=v(bn);V(()=>F(ln,d(ze)?"▲ collapse":"▼ expand")),G("click",bn,()=>Rt(d(He))),E(gi,bn)};W(Jn,gi=>{d(Be)&&gi(Gi)})}V(()=>{F(_t,d(Tt)?"filter":d(De).lang),cn=At(ii,1,"code-body svelte-1twuiul",null,cn,{collapsed:d(Be)&&!d(ze)})}),G("click",qt,()=>Li(d(De).text)),E(Ee,ye)};W(Ke,Ee=>{d(De).type==="text"?Ee(Vt):Ee(tt,-1)})}E(Ae,kt)});var ne=b(q,2);{var Ve=Ae=>{var De=uZ(),zt=v(De),kt=v(zt);V(Ke=>F(kt,Ke),[()=>oi(d(Ge))]),G("click",zt,()=>e.onApplyView(d(Ge))),E(Ae,De)},Qe=wt(()=>Ft(d(Ge))&&e.onApplyView);W(ne,Ae=>{d(Qe)&&Ae(Ve)})}E(Ei,Wt)};W(ge,Ei=>{d(ee).role==="user"?Ei(ve):Ei(vt,-1)})}V(()=>At(Ye,1,`message ${d(ee).role??""}`,"svelte-1twuiul")),E(z,Ye)});var xe=b(ae,2);{var Pe=z=>{var ee=cE();pi(ee,21,()=>d(ue),rn,(Ue,Ye)=>{var ge=Vs(),ve=Dt(ge);{var vt=Te=>{var Ge=aE(),Wt=b(v(Ge)),Je=v(Wt);V(bt=>F(Je,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)},Ei=Te=>{var Ge=lE(),Wt=b(v(Ge)),Je=v(Wt);V(bt=>F(Je,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)};W(ve,Te=>{d(Ye).type==="tool_call"?Te(vt):Te(Ei,-1)})}E(Ue,ge)}),E(z,ee)};W(xe,z=>{d(ue).length>0&&z(Pe)})}var ot=b(xe,2);{var R=z=>{var ee=gZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye);V(()=>F(ge,A[d(P)])),E(z,ee)};W(ot,z=>{d(a)&&d(s)===null&&d(ue).length===0&&z(R)})}var Q=b(ot,2);{var Y=z=>{var ee=_Z(),Ue=v(ee);pi(Ue,21,()=>Se(d(s)),rn,(Ye,ge)=>{var ve=Vs(),vt=Dt(ve);{var Ei=Ge=>{var Wt=dE();sc(Wt,()=>vi(d(ge).text),!0),E(Ge,Wt)},Te=Ge=>{var Wt=pZ(),Je=v(Wt),bt=v(Je),Kt=v(bt),q=b(Je,2),ne=v(q);sc(ne,()=>Ct(d(ge).text,d(ge).lang??""),!0),V(()=>F(Kt,d(ge).lang)),E(Ge,Wt)};W(vt,Ge=>{d(ge).type==="text"?Ge(Ei):Ge(Te,-1)})}E(Ye,ve)}),E(z,ee)};W(Q,z=>{d(s)!==null&&z(Y)})}Ds(Ii,z=>me=z,()=>me);var fe=b(Ii,2);{var _e=z=>{var ee=mZ(),Ue=v(ee);V(()=>F(Ue,d(c))),E(z,ee)};W(fe,z=>{d(c)&&z(_e)})}var $=b(fe,2),Z=v($),ie=v(Z),Ce=b(Z,2),gt=v(Ce),Re=b(Ce,2),Ie=v(Re),st=b(Re,2),It=v(st),St=b($,2),si=v(St);{var ti=z=>{var ee=vZ();let Ue;var Ye=b(v(ee),2),ge=v(Ye),ve=b(Ye,2),vt=v(ve);V(()=>{Ue=At(ee,1,"file-chip svelte-1twuiul",null,Ue,{inactive:!d(le)}),F(ge,t().id),Fi(ve,"title",d(le)?"Remove from context":"Re-add to context"),F(vt,d(le)?"×":"+")}),G("click",ve,()=>y(le,!d(le))),E(z,ee)};W(si,z=>{t()&&z(ti)})}var se=b(si,2);pi(se,17,()=>d(J),rn,(z,ee,Ue)=>{const Ye=wt(()=>Wi(d(ee).name));var ge=bZ(),ve=v(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei),Ge=b(Ei,2);V((Wt,Je)=>{At(ve,1,`badge badge-${Wt??""}`,"svelte-1twuiul"),F(vt,Je),F(Te,d(ee).name)},[()=>d(Ye).toLowerCase(),()=>Si(d(Ye))]),G("click",Ge,()=>ri(Ue)),E(z,ge)});var Le=b(se,2),at=b(Le,2);Ds(at,z=>We=z,()=>We);var xt=b(St,2);let ht;var Xe=v(xt);let Ht;var ai=v(Xe);Ds(ai,z=>rt=z,()=>rt);var bi=b(Xe,2);{var Di=z=>{var ee=yZ();G("click",ee,hi),E(z,ee)},fn=z=>{var ee=wZ();V(Ue=>ee.disabled=Ue,[()=>!d(r).trim()||!d(ft)]),G("click",ee,Mt),E(z,ee)};W(bi,z=>{d(a)?z(Di):z(fn,-1)})}var Cn=b(xt,2);{var un=z=>{var ee=LZ(),Ue=v(ee),Ye=v(Ue),ge=b(Ue,2);{var ve=Ge=>{var Wt=CZ();pi(Wt,21,()=>d(f),rn,(Je,bt)=>{var Kt=SZ(),q=v(Kt),ne={};V(()=>{F(q,d(bt)),ne!==(ne=d(bt))&&(Kt.value=(Kt.__value=d(bt))??"")}),E(Je,Kt)}),V(()=>Wt.disabled=d(a)),Ho(Wt,()=>d(g),Je=>y(g,Je)),E(Ge,Wt)},vt=Ge=>{var Wt=xZ(),Je=v(Wt);V(()=>F(Je,d(g)||d(u).model)),E(Ge,Wt)};W(ge,Ge=>{d(f).length>0?Ge(ve):Ge(vt,-1)})}var Ei=b(ge,2);{var Te=Ge=>{var Wt=kZ();G("click",Wt,Ni),E(Ge,Wt)};W(Ei,Ge=>{d(u).provider==="ollama"&&Ge(Te)})}V(()=>F(Ye,d(u).provider)),E(z,ee)};W(Cn,z=>{d(ft)&&d(u)&&z(un)})}var xi=b(ei,2);{var gn=z=>{var ee=FZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye),ve=v(ge),vt=b(ge,2),Ei=b(Ye,2),Te=v(Ei);{var Ge=bt=>{var Kt=IZ();E(bt,Kt)},Wt=bt=>{var Kt=DZ(),q=v(Kt);V(()=>F(q,d(k))),E(bt,Kt)},Je=bt=>{var Kt=OZ(),q=v(Kt);{var ne=Ee=>{var He=EZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).version)),E(Ee,He)};W(q,Ee=>{d(m).version&&Ee(ne)})}var Ve=b(q,2);{var Qe=Ee=>{var He=TZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.family)),E(Ee,He)};W(Ve,Ee=>{var He;(He=d(m).details)!=null&&He.family&&Ee(Qe)})}var Ae=b(Ve,2);{var De=Ee=>{var He=PZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.parameter_size)),E(Ee,He)};W(Ae,Ee=>{var He;(He=d(m).details)!=null&&He.parameter_size&&Ee(De)})}var zt=b(Ae,2);{var kt=Ee=>{var He=MZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.quantization_level)),E(Ee,He)};W(zt,Ee=>{var He;(He=d(m).details)!=null&&He.quantization_level&&Ee(kt)})}var Ke=b(zt,2);{var Vt=Ee=>{var He=RZ(),Be=b(Dt(He),2);pi(Be,21,()=>d(m).running,rn,(ze,Tt)=>{var ye=NZ(),it=v(ye);V(pt=>F(it,`${d(Tt).name??""} · ${pt??""} VRAM`),[()=>Oi(d(Tt).size_vram)]),E(ze,ye)}),E(Ee,He)},tt=Ee=>{var He=AZ();E(Ee,He)};W(Ke,Ee=>{d(m).running&&d(m).running.length>0?Ee(Vt):d(m).running!==null&&Ee(tt,1)})}E(bt,Kt)};W(Te,bt=>{d(x)?bt(Ge):d(k)?bt(Wt,1):d(m)&&bt(Je,2)})}V(()=>{var bt;return F(ve,`Ollama · ${(d(g)||((bt=d(u))==null?void 0:bt.model))??""}`)}),G("click",ee,()=>y(w,!1)),G("click",Ue,bt=>bt.stopPropagation()),G("click",vt,()=>y(w,!1)),E(z,ee)};W(xi,z=>{d(w)&&z(gn)})}V(z=>{F(It,z),ht=At(xt,1,"input-row svelte-1twuiul",null,ht,{"drag-over":d(we)}),Ht=At(Xe,1,"textarea-wrap svelte-1twuiul",null,Ht,{loading:d(a)}),Fi(ai,"placeholder",d(ft)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ai.disabled=d(a)||!d(ft)},[()=>Oi(d(Pt))]),Is(ie,()=>d(j),z=>y(j,z)),Is(gt,()=>d(H),z=>y(H,z)),Is(Ie,()=>d(te),z=>y(te,z)),G("click",Le,_i),G("change",at,Vi),cs("dragover",xt,Mi),cs("dragleave",xt,mt),cs("drop",xt,Ri),G("keydown",ai,Ti),Xt(ai,()=>d(r),z=>y(r,z)),E(o,Fe),Rs()}Ks(["click","change","keydown"]);var BZ=T('<div class="me svelte-1pxdb1"></div>');function gS(o,e){Ns(e,!0);let t=Cf(e,"value",15,""),i=Cf(e,"language",3,"javascript"),n,s,r=!1;ao(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=dr.create(n,{value:t(),language:i(),theme:"vs-dark",minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', monospace",automaticLayout:!0,wordWrap:"on",lineNumbers:"on",renderLineHighlight:"none",overviewRulerLanes:0,scrollbar:{verticalScrollbarSize:6,horizontalScrollbarSize:6},...c}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Wy(()=>s==null?void 0:s.dispose()),$n(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=BZ();Ds(a,c=>n=c,()=>n),E(o,a),Rs()}var zZ=T('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document — call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),VZ=T('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),uE=T('<div class="form-error svelte-rrt0o"> </div>'),jZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),hE=T("<li> </li>"),fE=T('<div class="error-bar svelte-rrt0o"> </div>'),gE=T('<div class="loading svelte-rrt0o">Loading…</div>'),$Z=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),UZ=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),qZ=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),GZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),KZ=T('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),ZZ=T('<span class="badge-error svelte-rrt0o">error</span>'),XZ=T('<span class="badge-ok svelte-rrt0o"> </span>'),YZ=T('<pre class="result-error svelte-rrt0o"> </pre>'),JZ=T('<pre class="result-json svelte-rrt0o"> </pre>'),QZ=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),eX=T('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document · call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),tX=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),iX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),nX=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),sX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function oX(o,e){Ns(e,!0);const t=he=>{var K=zZ(),ae=Dt(K);Ds(Jf(ae,{}),xe=>Si=xe,()=>Si),E(he,K)};let i=M(yi([])),n=M(null),s=M("{}"),r=M(!1),a=M(null);const c="she-db-selected-view";let u=M(yi([])),f=M(yi(localStorage.getItem(c))),g=M("#"),p=M("// emit(this.someProperty)"),w=M(""),m=M(""),x=M(!1),k=M(!1),D=M(null),P=M(!1),A=M(null),j=M("she/db/view/");const H="she-db-panel";let te=M(yi(localStorage.getItem(H)??"docs")),J=M(""),le=M(!1),we=M(null),We=M(""),ue=M(!1),et=M(null);const rt="she-db-sidebar-width";let me=M(yi(parseInt(localStorage.getItem(rt)??"220",10))),lt=!1,ft=0,Pt=0;const Ne="she-db-chat-width",Lt="she-db-chat-open";let Oe=M(localStorage.getItem(Lt)==="true"),Se=M(yi(parseInt(localStorage.getItem(Ne)??"320",10))),nt=!1,Ft=0,oi=0;const Bt=wt(()=>d(f)?{id:d(f),filter:d(g),map:d(p),reduce:d(w)}:null);function Et(he){he.filter!==void 0&&y(g,he.filter,!0),he.map!==void 0&&y(p,he.map,!0),he.reduce!==void 0&&y(w,he.reduce,!0)}$n(()=>{localStorage.setItem(Lt,String(d(Oe)))}),$n(()=>{localStorage.setItem(H,d(te))}),$n(()=>{d(f)?localStorage.setItem(c,d(f)):localStorage.removeItem(c)});function Rt(he){lt=!0,ft=he.clientX,Pt=d(me),he.preventDefault()}function Ct(he){lt&&y(me,Math.max(140,Math.min(500,Pt+he.clientX-ft)),!0),nt&&y(Se,Math.max(240,Math.min(600,oi-(he.clientX-Ft))),!0)}function vi(){lt&&(lt=!1,localStorage.setItem(rt,String(d(me)))),nt&&(nt=!1,localStorage.setItem(Ne,String(d(Se))))}function di(he){nt=!0,Ft=he.clientX,oi=d(Se),he.preventDefault()}async function Li(){try{y(i,await RR(),!0)}catch{}}async function Ni(){try{y(u,await AR(),!0)}catch{}}async function Oi(he){y(n,he,!0),y(a,null),y(r,!0);try{const K=await C7(he);y(s,JSON.stringify(K,null,2),!0)}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}finally{y(r,!1)}}async function Wi(){if(d(n)){y(a,null);try{const he=JSON.parse(d(s));await AD(d(n),he)}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}}let Si;async function ri(){if(d(n)&&await Si.show(`Delete document "${d(n)}"?`,{confirm:"Delete",danger:!0}))try{await x7(d(n)),y(n,null),y(s,"{}")}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}async function _i(){const he=d(J).trim();if(he){y(we,null);try{await AD(he,{}),y(le,!1),y(J,""),await Oi(he)}catch(K){y(we,K instanceof Error?K.message:String(K),!0)}}}async function ki(he){y(f,he,!0),y(A,null),y(P,!0),y(D,null);try{const K=await k7(he);y(g,K.filter??"",!0),y(p,K.map,!0),y(w,K.reduce??"",!0),y(m,K.description??"",!0),y(x,K.mqttpub??!1,!0),y(k,K.retain??!1,!0),y(D,await hS(he).catch(()=>null),!0)}catch(K){y(A,K instanceof Error?K.message:String(K),!0)}finally{y(P,!1)}}async function Vi(){if(d(f)){y(A,null);try{const he={map:d(p)};d(g).trim()&&(he.filter=d(g).trim()),d(w).trim()&&(he.reduce=d(w).trim()),d(m).trim()&&(he.description=d(m).trim()),d(x)&&(he.mqttpub=!0),d(k)&&(he.retain=!0),await OD(d(f),he)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}}async function Ri(){if(d(f))try{y(D,await hS(d(f)),!0)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function Mi(){if(d(f)&&await Si.show(`Delete view "${d(f)}"?`,{confirm:"Delete",danger:!0}))try{await L7(d(f)),y(f,null),y(g,""),y(p,"// emit(this.someProperty)"),y(w,""),y(m,""),y(x,!1),y(k,!1),y(D,null)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function mt(){if(!d(We).trim())return;const he=d(We).trim();y(et,null);try{await OD(he,{map:"// emit(this.someProperty)"}),y(ue,!1),y(We,""),await Ni(),await ki(he)}catch(K){y(et,K instanceof Error?K.message:String(K),!0)}}let Mt=M(""),hi=M(""),Ti=wt(()=>[...d(i)].filter(he=>!d(Mt)||he.toLowerCase().includes(d(Mt).toLowerCase())).sort()),Xi=wt(()=>[...d(u)].filter(he=>!d(hi)||he.toLowerCase().includes(d(hi).toLowerCase())).sort());ao(()=>{Li(),Ni().then(()=>{d(f)&&d(u).includes(d(f))?ki(d(f)):y(f,null)}),Dl().then(Pe=>{const ot=Pe.dbPrefix||"she/db/",R=ot.endsWith("/")?ot:ot+"/";y(j,R+"view/")}).catch(()=>{});const he=kr("db:ids",Pe=>{y(i,Pe.ids??[],!0)}),K=kr("db:viewIds",Pe=>{y(u,Pe.ids??[],!0)}),ae=kr("db:change",async Pe=>{const ot=Pe.id;d(n)===ot&&(Pe.doc===null?(y(n,null),y(s,"{}")):y(s,JSON.stringify(Pe.doc,null,2),!0))}),xe=kr("db:viewUpdate",async Pe=>{const ot=Pe.id;d(f)===ot&&y(D,await hS(ot).catch(()=>null),!0)});return()=>{he(),K(),ae(),xe()}});var ji=sX(),Tn=v(ji),Fe=v(Tn);let ei;var ui=b(Fe,2);let Pi;var $e=b(ui,2);{var Ut=he=>{var K=VZ();let ae;V(()=>{ae=At(K,1,"ai-toggle svelte-rrt0o",null,ae,{"ai-open":d(Oe)}),Fi(K,"title",d(Oe)?"Close AI assistant":"Open AI assistant")}),G("click",K,()=>y(Oe,!d(Oe))),E(he,K)};W($e,he=>{d(te)==="views"&&he(Ut)})}var fi=b(Tn,2);{var Ii=he=>{var K=qZ(),ae=v(K);let xe;var Pe=v(ae),ot=v(Pe),R=b(Pe,2);{var Q=Re=>{var Ie=jZ(),st=Dt(Ie),It=v(st),St=b(It,2),si=b(st,2);{var ti=se=>{var Le=uE(),at=v(Le);V(()=>F(at,d(we))),E(se,Le)};W(si,se=>{d(we)&&se(ti)})}G("keydown",It,se=>se.key==="Enter"&&_i()),Xt(It,()=>d(J),se=>y(J,se)),G("click",St,_i),E(Re,Ie)};W(R,Re=>{d(le)&&Re(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);pi(_e,20,()=>d(Ti),Re=>Re,(Re,Ie)=>{var st=hE();let It;var St=v(st);V(()=>{It=At(st,1,"flat-item svelte-rrt0o",null,It,{"active-item":d(n)===Ie}),F(St,Ie)}),G("click",st,()=>Oi(Ie)),E(Re,st)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Ce=Re=>{var Ie=UZ(),st=Dt(Ie),It=v(st),St=v(It),si=b(It,2),ti=b(si,2),se=b(st,2);{var Le=Xe=>{var Ht=fE(),ai=v(Ht);V(()=>F(ai,d(a))),E(Xe,Ht)};W(se,Xe=>{d(a)&&Xe(Le)})}var at=b(se,2);{var xt=Xe=>{var Ht=gE();E(Xe,Ht)},ht=Xe=>{var Ht=$Z(),ai=v(Ht);gS(ai,{language:"json",get value(){return d(s)},set value(bi){y(s,bi,!0)}}),E(Xe,Ht)};W(at,Xe=>{d(r)?Xe(xt):Xe(ht,-1)})}V(()=>F(St,d(n))),G("click",si,Wi),G("click",ti,ri),E(Re,Ie)},gt=Re=>{t(Re)};W(ie,Re=>{d(n)?Re(Ce):Re(gt,-1)})}V(()=>xe=Fo(ae,"",xe,{width:`${d(me)??""}px`})),G("click",ot,()=>{y(le,!d(le)),y(we,null)}),Xt(fe,()=>d(Mt),Re=>y(Mt,Re)),G("mousedown",$,Rt),E(he,K)},qe=he=>{var K=nX(),ae=v(K);let xe;var Pe=v(ae),ot=v(Pe),R=b(Pe,2);{var Q=st=>{var It=GZ(),St=Dt(It),si=v(St),ti=b(si,2),se=b(St,2);{var Le=at=>{var xt=uE(),ht=v(xt);V(()=>F(ht,d(et))),E(at,xt)};W(se,at=>{d(et)&&at(Le)})}G("keydown",si,at=>at.key==="Enter"&&mt()),Xt(si,()=>d(We),at=>y(We,at)),G("click",ti,mt),E(st,It)};W(R,st=>{d(ue)&&st(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);pi(_e,20,()=>d(Xi),st=>st,(st,It)=>{var St=hE();let si;var ti=v(St);V(()=>{si=At(St,1,"flat-item svelte-rrt0o",null,si,{"active-item":d(f)===It}),F(ti,It)}),G("click",St,()=>ki(It)),E(st,St)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Ce=st=>{var It=tX(),St=Dt(It),si=v(St),ti=v(si),se=b(si,2),Le=b(se,2),at=b(Le,2),xt=b(St,2);{var ht=bi=>{var Di=fE(),fn=v(Di);V(()=>F(fn,d(A))),E(bi,Di)};W(xt,bi=>{d(A)&&bi(ht)})}var Xe=b(xt,2);{var Ht=bi=>{var Di=gE();E(bi,Di)},ai=bi=>{var Di=eX(),fn=v(Di),Cn=b(v(fn),2),un=v(Cn),xi=b(fn,2),gn=b(v(xi),2),z=v(gn),ee=b(xi,2),Ue=b(v(ee),2),Ye=v(Ue);gS(Ye,{language:"javascript",get value(){return d(p)},set value(Qe){y(p,Qe,!0)}});var ge=b(ee,2),ve=b(v(ge),2),vt=v(ve);gS(vt,{language:"javascript",get value(){return d(w)},set value(Qe){y(w,Qe,!0)}});var Ei=b(ge,2),Te=v(Ei),Ge=v(Te),Wt=b(Ge,4),Je=b(v(Wt)),bt=v(Je),Kt=b(Te,2);{var q=Qe=>{var Ae=KZ(),De=v(Ae);Is(De,()=>d(k),zt=>y(k,zt)),E(Qe,Ae)};W(Kt,Qe=>{d(x)&&Qe(q)})}var ne=b(Ei,2);{var Ve=Qe=>{var Ae=QZ(),De=v(Ae),zt=b(v(De));{var kt=He=>{var Be=ZZ();E(He,Be)},Ke=He=>{var Be=XZ(),ze=v(Be);V(()=>F(ze,`${d(D).length??0??""} items · rev ${d(D)._rev??""}`)),E(He,Be)};W(zt,He=>{d(D).error?He(kt):He(Ke,-1)})}var Vt=b(De,2);{var tt=He=>{var Be=YZ(),ze=v(Be);V(()=>F(ze,d(D).error)),E(He,Be)},Ee=He=>{var Be=JZ(),ze=v(Be);V(Tt=>F(ze,Tt),[()=>JSON.stringify(d(D).result,null,2)]),E(He,Be)};W(Vt,He=>{d(D).error?He(tt):He(Ee,-1)})}E(Qe,Ae)};W(ne,Qe=>{d(D)&&Qe(Ve)})}V(()=>F(bt,`${d(j)??""}${d(f)??""} on every update`)),Xt(un,()=>d(m),Qe=>y(m,Qe)),Xt(z,()=>d(g),Qe=>y(g,Qe)),Is(Ge,()=>d(x),Qe=>y(x,Qe)),E(bi,Di)};W(Xe,bi=>{d(P)?bi(Ht):bi(ai,-1)})}V(()=>F(ti,d(f))),G("click",se,Vi),G("click",Le,Ri),G("click",at,Mi),E(st,It)},gt=st=>{t(st)};W(ie,st=>{d(f)?st(Ce):st(gt,-1)})}var Re=b(Z,2);{var Ie=st=>{var It=iX(),St=Dt(It),si=b(St,2);let ti;var se=v(si);WZ(se,{get currentView(){return d(Bt)},onApplyView:Et}),V(()=>ti=Fo(si,"",ti,{width:`${d(Se)??""}px`})),G("mousedown",St,di),E(st,It)};W(Re,st=>{d(Oe)&&st(Ie)})}V(()=>xe=Fo(ae,"",xe,{width:`${d(me)??""}px`})),G("click",ot,()=>{y(ue,!d(ue)),y(et,null)}),Xt(fe,()=>d(hi),st=>y(hi,st)),G("mousedown",$,Rt),E(he,K)};W(fi,he=>{d(te)==="docs"?he(Ii):he(qe,-1)})}V(()=>{ei=At(Fe,1,"svelte-rrt0o",null,ei,{active:d(te)==="docs"}),Pi=At(ui,1,"svelte-rrt0o",null,Pi,{active:d(te)==="views"})}),G("mousemove",ji,Ct),G("mouseup",ji,vi),cs("mouseleave",ji,vi),G("click",Fe,()=>y(te,"docs")),G("click",ui,()=>y(te,"views")),E(o,ji),Rs()}Ks(["mousemove","mouseup","click","keydown","mousedown"]);var rX=T('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),aX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),pE=T('<p class="err svelte-1ua3isv"> </p>'),lX=T('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),cX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),dX=T('<span class="device-name svelte-1ua3isv"> </span>'),uX=T('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),hX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),fX=T('<p class="info svelte-1ua3isv">Loading…</p>'),gX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),pX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),_X=T('<span class="attr-id svelte-1ua3isv"> </span>'),mX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),vX=T('<div class="attr-actions svelte-1ua3isv"></div>'),bX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),yX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),wX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),SX=T("<!> <!>",1),CX=T('<span class="cmd-list svelte-1ua3isv"></span>'),xX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),kX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),LX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),IX=T('<th class="svelte-1ua3isv"> </th>'),DX=T('<td class="svelte-1ua3isv"> </td>'),EX=T('<tr class="svelte-1ua3isv"></tr>'),TX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),PX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),MX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),NX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),RX=T('<span class="attr-val svelte-1ua3isv"> </span>'),AX=T('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),OX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),FX=T('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),HX=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),WX=T('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),BX=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),zX=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),VX=T('<span class="stream-badge svelte-1ua3isv"> </span>'),jX=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),pS=T(' <span class="e-sub svelte-1ua3isv"> </span>',1),$X=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),UX=T('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),qX=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),GX=T('<div class="stream-body svelte-1ua3isv"><!></div>'),KX=T('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div>',1);function ZX(o,e){Ns(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(K,ae,xe,Pe,ot){try{await H7(K,ae,xe,Pe,ot)}catch(R){console.error("matter command failed",R)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(K,ae){const xe=n[K];return ae.map(Pe=>{const ot=typeof Pe=="number"?Pe:Number(Pe);return{id:ot,name:(xe==null?void 0:xe[ot])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},c={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(K){return"0x"+K.toString(16).toUpperCase().padStart(4,"0")}let f=M(yi([])),g=yi(new Map);function p(K){if(K==null)return"—";if(typeof K=="boolean"||typeof K=="number")return String(K);if(typeof K=="string")return K.length>50?K.slice(0,47)+"…":K;const ae=JSON.stringify(K);return ae.length>60?ae.slice(0,57)+"…":ae}function w(K){return K==null?"—":typeof K=="boolean"||typeof K=="number"?String(K):typeof K=="string"?K:JSON.stringify(K)}function m(K){return K!==null&&typeof K=="object"&&!Array.isArray(K)}function x(K){return Array.isArray(K)&&K.length>0&&K.every(m)}function k(K,ae){return!!(ae==="attributeList"||Array.isArray(K)&&K.length===0||m(K)&&Object.keys(K).length===0)}function D(K){return new Date(K).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,j=32;let H=0,te=M(yi([])),J=M(!0),le=M(180),we=wt(()=>{const K=Math.max(1,Math.floor((d(le)-j)/A)+1);return d(te).slice(0,K)});function We(K){K.preventDefault();const ae=K.clientY,xe=d(le);function Pe(R){y(le,Math.max(60,Math.min(600,xe+ae-R.clientY)),!0)}function ot(){document.removeEventListener("mousemove",Pe),document.removeEventListener("mouseup",ot)}document.addEventListener("mousemove",Pe),document.addEventListener("mouseup",ot)}let ue=M(null),et=M(!1),rt=M(null),me=M(!1),lt=M("passcode"),ft=M(""),Pt=M(""),Ne=M(""),Lt=M(!1),Oe=M(null),Se=M("");const nt="she:matter:selectedNodeId";async function Ft(){try{y(f,await FR(),!0);for(const K of d(f))Xm(K.nodeId).then(ae=>{g.set(K.nodeId,ae)}).catch(()=>{});if(d(f).length>0&&!d(ue)){const K=localStorage.getItem(nt),ae=K&&d(f).find(xe=>xe.nodeId===K)?K:d(f)[0].nodeId;oi(ae)}}catch{y(f,[],!0)}}async function oi(K){y(et,!0),y(rt,null);try{y(ue,await Xm(K),!0),g.set(K,d(ue)),localStorage.setItem(nt,K)}catch(ae){y(rt,ae instanceof Error?ae.message:String(ae),!0)}finally{y(et,!1)}}let Bt;async function Et(K){var ae;if(await Bt.show(`Unpair device ${K}?`,{confirm:"Unpair",danger:!0}))try{await F7(K),((ae=d(ue))==null?void 0:ae.nodeId)===K&&y(ue,null),await Ft()}catch(xe){y(rt,xe instanceof Error?xe.message:String(xe),!0)}}async function Rt(){y(Lt,!0),y(Oe,null);try{let K;d(lt)==="passcode"?(K={passcode:Number(d(ft))},d(Pt)&&(K={...K,discriminator:Number(d(Pt))})):K={pairingCode:d(Ne).trim()},d(Se).trim()&&(K={...K,discoveryAddress:d(Se).trim()}),await O7(K),y(me,!1),y(ft,""),y(Pt,""),y(Ne,""),y(Se,""),await Ft()}catch(K){y(Oe,K instanceof Error?K.message:String(K),!0)}finally{y(Lt,!1)}}ao(()=>{Ft()});const Ct=kr("matter:deviceList",K=>{if(!Array.isArray(K.devices))return;const ae=K.devices;for(const xe of ae)g.has(xe.nodeId)||Xm(xe.nodeId).then(Pe=>{g.set(xe.nodeId,Pe)}).catch(()=>{});y(f,ae,!0)}),vi=kr("matter:deviceStatus",K=>{if(K.nodeId===void 0)return;const ae=String(K.nodeId),xe=!!K.online;y(f,d(f).map(Pe=>Pe.nodeId===ae?{...Pe,online:xe}:Pe),!0),y(te,[{id:H++,kind:"status",nodeId:ae,online:xe,ts:Date.now()},...d(te).slice(0,P-1)],!0)}),di=kr("matter:attr",K=>{const ae=String(K.nodeId),xe=K.endpointId,Pe=String(K.clusterName),ot=String(K.attrName),R=K.value;if(d(ue)&&d(ue).nodeId===ae){const Y=d(ue).endpoints.find(_e=>_e.endpointId===xe),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[ot]=R)}const Q=g.get(ae);if(Q){const Y=Q.endpoints.find(_e=>_e.endpointId===xe),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[ot]=R)}y(te,[{id:H++,kind:"attr",nodeId:ae,endpointId:xe,clusterName:Pe,attrName:ot,value:R,ts:K.ts??Date.now()},...d(te).slice(0,P-1)],!0)});Wy(()=>{Ct(),vi(),di()});var Li=KX(),Ni=Dt(Li);Ds(Jf(Ni,{}),K=>Bt=K,()=>Bt);var Oi=b(Ni,2),Wi=v(Oi),Si=v(Wi),ri=v(Si),_i=b(v(ri),2),ki=b(ri,2);{var Vi=K=>{var ae=lX(),xe=v(ae),Pe=v(xe);let ot;var R=b(Pe,2);let Q;var Y=b(xe,2);{var fe=Ie=>{var st=rX(),It=Dt(st),St=b(v(It)),si=b(It,2),ti=b(v(si));Xt(St,()=>d(ft),se=>y(ft,se)),Xt(ti,()=>d(Pt),se=>y(Pt,se)),E(Ie,st)},_e=Ie=>{var st=aX(),It=b(v(st));Xt(It,()=>d(Ne),St=>y(Ne,St)),E(Ie,st)};W(Y,Ie=>{d(lt)==="passcode"?Ie(fe):Ie(_e,-1)})}var $=b(Y,2),Z=b(v($)),ie=b($,2);{var Ce=Ie=>{var st=pE(),It=v(st);V(()=>F(It,d(Oe))),E(Ie,st)};W(ie,Ie=>{d(Oe)&&Ie(Ce)})}var gt=b(ie,2),Re=v(gt);V(()=>{ot=At(Pe,1,"svelte-1ua3isv",null,ot,{active:d(lt)==="passcode"}),Q=At(R,1,"svelte-1ua3isv",null,Q,{active:d(lt)==="pairingCode"}),gt.disabled=d(Lt),F(Re,d(Lt)?"Commissioning…":"Commission")}),G("click",Pe,()=>y(lt,"passcode")),G("click",R,()=>y(lt,"pairingCode")),Xt(Z,()=>d(Se),Ie=>y(Se,Ie)),G("click",gt,Rt),E(K,ae)};W(ki,K=>{d(me)&&K(Vi)})}var Ri=b(ki,2),Mi=v(Ri);pi(Mi,17,()=>d(f),K=>K.nodeId,(K,ae)=>{var xe=uX();let Pe;var ot=v(xe),R=v(ot);let Q;var Y=b(R,2),fe=v(Y);{var _e=ie=>{var Ce=cX(),gt=Dt(Ce),Re=v(gt),Ie=b(gt,2),st=v(Ie);V(()=>{F(Re,d(ae).name),F(st,`#${d(ae).nodeId??""}`)}),E(ie,Ce)},$=ie=>{var Ce=dX(),gt=v(Ce);V(()=>F(gt,`Node ${d(ae).nodeId??""}`)),E(ie,Ce)};W(fe,ie=>{d(ae).name?ie(_e):ie($,-1)})}var Z=b(ot,2);V(()=>{var ie;Pe=At(xe,1,"svelte-1ua3isv",null,Pe,{selected:((ie=d(ue))==null?void 0:ie.nodeId)===d(ae).nodeId}),Q=At(R,1,"status-dot svelte-1ua3isv",null,Q,{online:d(ae).online})}),G("click",ot,()=>oi(d(ae).nodeId)),G("click",Z,()=>Et(d(ae).nodeId)),E(K,xe)});var mt=b(Mi,2);{var Mt=K=>{var ae=hX();E(K,ae)};W(mt,K=>{d(f).length===0&&K(Mt)})}var hi=b(Si,2),Ti=v(hi);{var Xi=K=>{var ae=fX();E(K,ae)},ji=K=>{var ae=pE(),xe=v(ae);V(()=>F(xe,d(rt))),E(K,ae)},Tn=K=>{var ae=BX(),xe=Dt(ae),Pe=v(xe),ot=v(Pe),R=b(Pe,2);{var Q=$=>{var Z=gX(),ie=v(Z);V(()=>F(ie,d(ue).subtitle)),E($,Z)};W(R,$=>{d(ue).subtitle&&$(Q)})}var Y=b(R,2),fe=v(Y),_e=b(xe,2);pi(_e,17,()=>d(ue).endpoints,$=>$.endpointId,($,Z)=>{var ie=WX(),Ce=v(ie),gt=v(Ce),Re=b(gt),Ie=v(Re),st=b(Re,2);pi(st,21,()=>d(Z).clusters,rn,(ti,se)=>{var Le=pX(),at=v(Le);V(()=>F(at,d(se).name)),E(ti,Le)});var It=b(Ce,2);{var St=ti=>{var se=FX(),Le=b(v(se));pi(Le,21,()=>d(Z).clusters,rn,(at,xt)=>{var ht=OX(),Xe=Dt(ht),Ht=v(Xe),ai=v(Ht),bi=b(Xe,2);pi(bi,17,()=>Object.entries(d(xt).attrs),rn,(Di,fn)=>{var Cn=wt(()=>NL(d(fn),2));let un=()=>d(Cn)[0],xi=()=>d(Cn)[1];var gn=Vs(),z=Dt(gn);{var ee=Ye=>{const ge=wt(()=>{var Be;return(Be=t[d(xt).name])==null?void 0:Be[un()]}),ve=wt(()=>(un()==="acceptedCommandList"||un()==="generatedCommandList")&&Array.isArray(xi())),vt=wt(()=>{var Be;return((Be=c[d(xt).name])==null?void 0:Be[un()])??a[un()]});var Ei=AX(),Te=v(Ei),Ge=v(Te),Wt=v(Ge),Je=b(Ge);{var bt=Be=>{var ze=_X(),Tt=v(ze);V(ye=>F(Tt,`(${ye??""})`),[()=>u(d(vt))]),E(Be,ze)};W(Je,Be=>{d(vt)!==void 0&&Be(bt)})}var Kt=b(Te),q=v(Kt);{var ne=Be=>{var ze=vX();pi(ze,21,()=>d(ge),rn,(Tt,ye)=>{var it=mX(),pt=v(it);V(()=>F(pt,d(ye).label)),G("click",it,()=>i(d(ue).nodeId,d(Z).endpointId,d(xt).name,d(ye).command,d(ye).args)),E(Tt,it)}),E(Be,ze)};W(q,Be=>{d(ge)&&Be(ne)})}var Ve=b(Kt),Qe=v(Ve);{var Ae=Be=>{var ze=CX();pi(ze,21,()=>s(d(xt).name,xi()),rn,(Tt,ye,it)=>{var pt=SX(),_t=Dt(pt);{var Ze=en=>{var Dn=bX();E(en,Dn)};W(_t,en=>{it>0&&en(Ze)})}var qt=b(_t,2);{var ii=en=>{var Dn=yX(),Jn=Dt(Dn),Gi=v(Jn),gi=b(Jn),bn=v(gi);V(()=>{F(Gi,d(ye).name),F(bn,`(${d(ye).id??""})`)}),E(en,Dn)},cn=en=>{var Dn=wX(),Jn=v(Dn);V(()=>F(Jn,d(ye).id)),E(en,Dn)};W(qt,en=>{d(ye).name?en(ii):en(cn,-1)})}E(Tt,pt)}),E(Be,ze)},De=Be=>{var ze=LX(),Tt=b(v(ze));pi(Tt,21,xi,rn,(ye,it)=>{const pt=wt(()=>d(it)),_t=wt(()=>d(pt).deviceType),Ze=wt(()=>r[d(_t)]);var qt=kX(),ii=v(qt),cn=v(ii);{var en=gi=>{var bn=xX(),ln=Dt(bn),rs=b(ln),co=v(rs);V(qo=>{F(ln,`${d(Ze)??""} `),F(co,`(${qo??""})`)},[()=>u(d(_t))]),E(gi,bn)},Dn=gi=>{var bn=sa();V(ln=>F(bn,ln),[()=>u(d(_t))]),E(gi,bn)};W(cn,gi=>{d(Ze)?gi(en):gi(Dn,-1)})}var Jn=b(ii),Gi=v(Jn);V(gi=>F(Gi,gi),[()=>w(d(pt).revision)]),E(ye,qt)}),E(Be,ze)},zt=wt(()=>un()==="deviceTypeList"&&Array.isArray(xi())),kt=Be=>{const ze=wt(()=>[...new Set(xi().flatMap(_t=>Object.keys(_t)))]);var Tt=TX(),ye=v(Tt),it=v(ye);pi(it,21,()=>d(ze),rn,(_t,Ze)=>{var qt=IX(),ii=v(qt);V(()=>F(ii,d(Ze))),E(_t,qt)});var pt=b(ye);pi(pt,21,xi,rn,(_t,Ze)=>{var qt=EX();pi(qt,21,()=>d(ze),rn,(ii,cn)=>{var en=DX(),Dn=v(en);V(Jn=>F(Dn,Jn),[()=>w(d(Ze)[d(cn)])]),E(ii,en)}),E(_t,qt)}),E(Be,Tt)},Ke=wt(()=>x(xi())),Vt=Be=>{var ze=MX(),Tt=v(ze);pi(Tt,21,()=>Object.entries(xi()),rn,(ye,it)=>{var pt=wt(()=>NL(d(it),2));let _t=()=>d(pt)[0],Ze=()=>d(pt)[1];var qt=PX(),ii=v(qt),cn=v(ii),en=b(ii),Dn=v(en);V(Jn=>{F(cn,_t()),F(Dn,Jn)},[()=>w(Ze())]),E(ye,qt)}),E(Be,ze)},tt=wt(()=>m(xi())),Ee=Be=>{var ze=NX(),Tt=v(ze);V(()=>{Fi(ze,"href",xi()),F(Tt,xi())}),E(Be,ze)},He=Be=>{var ze=RX(),Tt=v(ze);V(ye=>F(Tt,ye),[()=>w(xi())]),E(Be,ze)};W(Qe,Be=>{d(ve)?Be(Ae):d(zt)?Be(De,1):d(Ke)?Be(kt,2):d(tt)?Be(Vt,3):(un()==="productUrl"||un()==="productURL")&&typeof xi()=="string"?Be(Ee,4):Be(He,-1)})}V(()=>{Fi(Te,"title",un()),F(Wt,un())}),E(Ye,Ei)},Ue=wt(()=>!k(xi(),un()));W(z,Ye=>{d(Ue)&&Ye(ee)})}E(Di,gn)}),V(()=>F(ai,d(xt).name)),E(at,ht)}),E(ti,se)},si=ti=>{var se=HX();E(ti,se)};W(It,ti=>{d(Z).clusters.length>0?ti(St):ti(si,-1)})}V(()=>{F(gt,`${d(Z).name??`Endpoint ${d(Z).endpointId}`??""} `),F(Ie,`ep${d(Z).endpointId??""}`)}),E($,ie)}),V(()=>{F(ot,d(ue).name??`Node ${d(ue).nodeId}`),F(fe,`Node ID: ${d(ue).nodeId??""}`)}),E(K,ae)},Fe=K=>{var ae=zX();E(K,ae)};W(Ti,K=>{d(et)?K(Xi):d(rt)?K(ji,1):d(ue)?K(Tn,2):K(Fe,-1)})}var ei=b(Wi,2),ui=v(ei),Pi=b(ui,2),$e=b(v(Pi),2);{var Ut=K=>{var ae=VX(),xe=v(ae);V(()=>F(xe,d(te).length)),E(K,ae)};W($e,K=>{!d(J)&&d(te).length>0&&K(Ut)})}var fi=b($e,2),Ii=v(fi),qe=b(Pi,2);{var he=K=>{var ae=GX(),xe=v(ae);{var Pe=R=>{var Q=jX();E(R,Q)},ot=R=>{var Q=Vs(),Y=Dt(Q);pi(Y,17,()=>d(we),fe=>fe.id,(fe,_e)=>{const $=wt(()=>{var St,si;return((St=g.get(d(_e).nodeId))==null?void 0:St.name)??((si=d(f).find(ti=>ti.nodeId===d(_e).nodeId))==null?void 0:si.name)??null}),Z=wt(()=>{var St,si;return d(_e).endpointId!==void 0?((si=(St=g.get(d(_e).nodeId))==null?void 0:St.endpoints.find(ti=>ti.endpointId===d(_e).endpointId))==null?void 0:si.name)??null:null}),ie=wt(()=>d(_e).attrName??d(_e).clusterName);var Ce=qX(),gt=v(Ce),Re=v(gt),Ie=b(gt,2);{var st=St=>{var si=$X(),ti=b(Dt(si),2),se=v(ti),Le=b(se);{var at=Ht=>{var ai=pS(),bi=b(Dt(ai)),Di=v(bi);V(()=>F(Di,`(#${d(_e).nodeId??""})`)),E(Ht,ai)};W(Le,Ht=>{d($)&&Ht(at)})}var xt=b(ti,2);let ht;var Xe=v(xt);V(()=>{F(se,d($)??`#${d(_e).nodeId}`),ht=At(xt,1,"e-val svelte-1ua3isv",null,ht,{"e-online":d(_e).online,"e-offline":!d(_e).online}),F(Xe,d(_e).online?"online":"offline")}),E(St,si)},It=St=>{var si=UX(),ti=b(Dt(si),2),se=v(ti),Le=b(se);{var at=xi=>{var gn=pS(),z=b(Dt(gn)),ee=v(z);V(()=>F(ee,`(#${d(_e).nodeId??""})`)),E(xi,gn)};W(Le,xi=>{d($)&&xi(at)})}var xt=b(ti,2),ht=v(xt),Xe=b(ht);{var Ht=xi=>{var gn=pS(),z=b(Dt(gn)),ee=v(z);V(()=>F(ee,`(ep ${d(_e).endpointId??""})`)),E(xi,gn)};W(Xe,xi=>{d(Z)&&xi(Ht)})}var ai=b(xt,2),bi=v(ai),Di=b(ai,2),fn=v(Di),Cn=b(Di,2),un=v(Cn);V(xi=>{F(se,d($)??`#${d(_e).nodeId}`),F(ht,d(Z)??`ep${d(_e).endpointId}`),F(bi,d(_e).clusterName),F(fn,d(ie)),F(un,xi)},[()=>p(d(_e).value)]),E(St,si)};W(Ie,St=>{d(_e).kind==="status"?St(st):St(It,-1)})}V(St=>F(Re,St),[()=>D(d(_e).ts)]),E(fe,Ce)}),E(R,Q)};W(xe,R=>{d(we).length===0?R(Pe):R(ot,-1)})}E(K,ae)};W(qe,K=>{d(J)&&K(he)})}V(()=>{Fo(ei,d(J)?`height: ${d(le)}px;`:""),F(Ii,d(J)?"▾":"▸")}),G("click",_i,()=>y(me,!d(me))),G("mousedown",ui,We),G("click",fi,()=>{y(J,!d(J))}),E(o,Li),Rs()}Ks(["click","mousedown"]);var XX=T("<button>›</button>"),YX=T('<span class="chev-ph svelte-1vejtrc"></span>'),JX=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),QX=T('<div class="tc svelte-1vejtrc"></div>'),eY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),tY=T("<option></option>"),iY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),nY=T('<span class="pub-err svelte-1vejtrc"> </span>'),sY=T('<div class="info svelte-1vejtrc">Loading…</div>'),oY=T('<div class="info err svelte-1vejtrc"> </div>'),rY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),aY=T('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),lY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),cY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),dY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),uY=T('<span class="stream-badge"> </span>'),hY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),fY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),gY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),pY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),_Y=T('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),mY=T('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),vY=T('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),bY=T('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function yY(o,e){Ns(e,!0);const t=(se,Le=Ry)=>{const at=wt(()=>d(g).has(Le().path)),xt=wt(()=>d(a)>=0&&Le().children.size>0),ht=wt(()=>d(a)>=0&&Le().isLeaf&&!n.has(Le().path));var Xe=eY(),Ht=v(Xe);let ai;var bi=v(Ht);{var Di=Ye=>{var ge=XX();let ve;V(()=>{ve=At(ge,1,"chev svelte-1vejtrc",null,ve,{open:d(at)}),Fi(ge,"aria-label",d(at)?"Collapse":"Expand")}),G("click",ge,()=>p(Le().path)),E(Ye,ge)},fn=Ye=>{var ge=YX();E(Ye,ge)};W(bi,Ye=>{d(xt)?Ye(Di):Ye(fn,-1)})}var Cn=b(bi,2),un=v(Cn),xi=b(Cn,2);{var gn=Ye=>{var ge=JX(),ve=Dt(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei);V((Ge,Wt,Je)=>{Fi(ve,"title",Ge),F(vt,Wt),F(Te,Je)},[()=>{var Ge;return Oi((Ge=ri(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return Oi((Ge=ri(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return((Ge=ri(Le().path))==null?void 0:Ge.ts)!=null?Wi(ri(Le().path).ts):""}]),E(Ye,ge)},z=wt(()=>Le().isLeaf&&i.has(Le().path));W(xi,Ye=>{d(z)&&Ye(gn)})}var ee=b(Ht,2);{var Ue=Ye=>{var ge=QX();pi(ge,21,()=>[...Le().children.values()].sort((ve,vt)=>ve.seg.localeCompare(vt.seg)),ve=>ve.path,(ve,vt)=>{t(ve,()=>d(vt))}),E(Ye,ge)};W(ee,Ye=>{d(xt)&&d(at)&&Ye(Ue)})}V(()=>{ai=At(Ht,1,"tr svelte-1vejtrc",null,ai,{stale:d(ht)}),F(un,Le().seg)}),G("click",Ht,()=>{y(et,Le().path+"/#")}),G("contextmenu",Ht,Ye=>{Ye.preventDefault(),y(Se,{x:Ye.clientX,y:Ye.clientY,topic:Le().path},!0)}),E(se,Xe)},i=new Map,n=new Set,s=new Set;let r=null,a=M(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const se of s)f(se);s.clear(),OL(a)}))}const u=new Map;function f(se){const Le=se.split("/");let at=u,xt="";for(let ht=0;ht<Le.length;ht++){const Xe=Le[ht];xt=ht===0?Xe:`${xt}/${Xe}`,at.has(Xe)||at.set(Xe,{seg:Xe,path:xt,children:new Map,isLeaf:!1});const Ht=at.get(Xe);ht===Le.length-1&&(Ht.isLeaf=!0),at=Ht.children}}let g=M(yi(new Set));function p(se){const Le=new Set(d(g));Le.has(se)?Le.delete(se):Le.add(se),y(g,Le,!0)}let w=M("");const m=24,x=5;let k=M(0),D=M(300),P=wt(()=>{if(d(a),!d(w))return[];const se=d(w).toLowerCase().split(/\s+/).filter(Boolean),Le=[];for(const[at,xt]of i){const ht=at.toLowerCase();se.every(Xe=>ht.includes(Xe))&&Le.push({topic:at,...xt})}return Le.sort((at,xt)=>at.topic.localeCompare(xt.topic))}),A=wt(()=>{const se=d(P).length,Le=Math.max(0,Math.floor(d(k)/m)-x),at=Math.min(se,Math.ceil((d(k)+d(D))/m)+x);return{start:Le,end:at,totalH:se*m,top:Le*m}});const j=1e3,H=200,te=20,J=36;let le=0,we=M(yi([])),We=M(yi([])),ue=M(!0),et=M("#"),rt=M(200);$n(()=>{const se=d(et).trim(),Le=Rl(()=>d(we)),at=!se||se==="#"?Le.slice(0,H):Le.filter(xt=>me(se,xt.topic)).slice(0,H);if(se&&se!=="#"){const xt=new Set(at.map(Xe=>Xe.topic)),ht=[];for(const[Xe,Ht]of i)xt.has(Xe)||me(se,Xe)&&ht.push({id:-(ht.length+1),topic:Xe,val:Ht.val,ts:Ht.ts,retained:!0});ht.sort((Xe,Ht)=>Xe.topic.localeCompare(Ht.topic)),y(We,[...at,...ht],!0)}else y(We,at,!0)});function me(se,Le){if(se==="#")return!0;const at=se.split("/"),xt=Le.split("/");for(let ht=0;ht<at.length;ht++){if(at[ht]==="#")return!0;if(ht>=xt.length||at[ht]!=="+"&&at[ht]!==xt[ht])return!1}return at.length===xt.length}function lt(se){se.preventDefault();const Le=se.clientY,at=d(rt);function xt(Xe){y(rt,Math.max(60,Math.min(800,at+Le-Xe.clientY)),!0)}function ht(){document.removeEventListener("mousemove",xt),document.removeEventListener("mouseup",ht)}document.addEventListener("mousemove",xt),document.addEventListener("mouseup",ht)}let ft=wt(()=>{const se=Math.max(1,Math.floor((d(rt)-J)/te)+1);return d(We).slice(0,se)}),Pt=M(!0),Ne=M(null);async function Lt(){y(Pt,!0),y(Ne,null);try{const se=await HR();for(const Le of se)i.set(Le.topic,{val:Le.val,ts:Le.ts}),f(Le.topic)}catch(se){y(Ne,se instanceof Error?se.message:String(se),!0)}finally{y(Pt,!1),OL(a)}}const Oe=kr("mqtt",se=>{const{topic:Le,val:at,ts:xt}=se;i.set(Le,{val:at,ts:xt}),n.add(Le),s.add(Le),c();const ht={id:le++,topic:Le,val:at,ts:xt};y(we,[ht,...d(we).slice(0,j-1)],!0);const Xe=d(et).trim();(!Xe||Xe==="#"||me(Xe,Le))&&y(We,[ht,...d(We).filter(Ht=>!(Ht.retained&&Ht.topic===Le)).slice(0,H-1)],!0)});let Se=M(null),nt=M(null);async function Ft(se,Le){const at=[se];if(Le){const xt=se+"/";for(const ht of i.keys())ht.startsWith(xt)&&at.push(ht)}for(const xt of at)await HD(xt,"",!0,0)}let oi=wt(()=>(d(a),[...i.keys()].sort())),Bt=M(""),Et=M(""),Rt=M(!1),Ct=M(0),vi=M(!1),di=M(null),Li=M(!1);async function Ni(){if(d(Bt)){y(vi,!0),y(di,null),y(Li,!1);try{await HD(d(Bt),d(Et),d(Rt),d(Ct)),y(Li,!0),setTimeout(()=>{y(Li,!1)},2e3)}catch(se){y(di,se instanceof Error?se.message:String(se),!0)}finally{y(vi,!1)}}}function Oi(se){return se==null?"":typeof se=="object"?JSON.stringify(se):String(se)}function Wi(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Si(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ri(se){return d(a),i.get(se)}let _i=wt(()=>(d(a),[...u.values()].sort((se,Le)=>se.seg.localeCompare(Le.seg)))),ki=wt(()=>(d(a),i.size));ao(Lt),Wy(()=>{Oe(),r!==null&&cancelAnimationFrame(r)});var Vi=bY(),Ri=b(v(Vi),2),Mi=v(Ri),mt=v(Mi),Mt=b(mt,2);pi(Mt,20,()=>d(oi),se=>se,(se,Le)=>{var at=tY(),xt={};V(()=>{xt!==(xt=Le)&&(at.value=(at.__value=Le)??"")}),E(se,at)});var hi=b(Mt,2),Ti=b(hi,2),Xi=v(Ti),ji=b(Ti,2),Tn=v(ji);Tn.value=Tn.__value=0;var Fe=b(Tn);Fe.value=Fe.__value=1;var ei=b(Fe);ei.value=ei.__value=2;var ui=b(ji,2),Pi=b(ui,2);{var $e=se=>{var Le=iY();E(se,Le)};W(Pi,se=>{d(Li)&&se($e)})}var Ut=b(Pi,2);{var fi=se=>{var Le=nY(),at=v(Le);V(()=>F(at,d(di))),E(se,Le)};W(Ut,se=>{d(di)&&se(fi)})}var Ii=b(Mi,2),qe=v(Ii),he=b(qe,2),K=v(he);{var ae=se=>{var Le=sa();V(()=>F(Le,`${d(P).length??""} /`)),E(se,Le)};W(K,se=>{d(w)&&se(ae)})}var xe=b(K),Pe=b(Ii,2);{var ot=se=>{var Le=sY();E(se,Le)},R=se=>{var Le=oY(),at=v(Le);V(()=>F(at,d(Ne))),E(se,Le)},Q=se=>{var Le=Vs(),at=Dt(Le);{var xt=Xe=>{var Ht=rY();E(Xe,Ht)},ht=Xe=>{var Ht=lY(),ai=v(Ht),bi=v(ai);pi(bi,21,()=>d(P).slice(d(A).start,d(A).end),Di=>Di.topic,(Di,fn)=>{var Cn=aY(),un=v(Cn),xi=v(un),gn=b(un,2),z=v(gn),ee=b(gn,2),Ue=v(ee);V((Ye,ge,ve)=>{F(xi,d(fn).topic),Fi(gn,"title",Ye),F(z,ge),F(Ue,ve)},[()=>Oi(d(fn).val),()=>Oi(d(fn).val),()=>Wi(d(fn).ts)]),E(Di,Cn)}),V(()=>{Fo(ai,`height: ${d(A).totalH??""}px; position: relative;`),Fo(bi,`top: ${d(A).top??""}px;`)}),cs("scroll",Ht,Di=>{y(k,Di.currentTarget.scrollTop,!0)}),$H(Ht,"clientHeight",Di=>y(D,Di)),E(Xe,Ht)};W(at,Xe=>{d(P).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)},Y=se=>{var Le=dY(),at=v(Le);{var xt=Xe=>{var Ht=cY();E(Xe,Ht)},ht=Xe=>{var Ht=Vs(),ai=Dt(Ht);pi(ai,17,()=>d(_i),bi=>bi.path,(bi,Di)=>{t(bi,()=>d(Di))}),E(Xe,Ht)};W(at,Xe=>{d(_i).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)};W(Pe,se=>{d(Pt)?se(ot):d(Ne)?se(R,1):d(w)?se(Q,2):se(Y,-1)})}var fe=b(Ri,2),_e=v(fe),$=b(_e,2),Z=v($),ie=b(Z,2);{var Ce=se=>{var Le=uY(),at=v(Le);V(()=>F(at,d(We).length)),E(se,Le)};W(ie,se=>{!d(ue)&&d(We).length>0&&se(Ce)})}var gt=b(ie,2),Re=v(gt),Ie=b($,2);{var st=se=>{var Le=pY(),at=v(Le);{var xt=Xe=>{var Ht=hY();E(Xe,Ht)},ht=Xe=>{var Ht=Vs(),ai=Dt(Ht);pi(ai,17,()=>d(ft),bi=>bi.id,(bi,Di)=>{var fn=gY();let Cn;var un=v(fn),xi=v(un),gn=b(un,2);{var z=ve=>{var vt=fY();E(ve,vt)};W(gn,ve=>{d(Di).retained&&ve(z)})}var ee=b(gn,2),Ue=v(ee),Ye=b(ee,2),ge=v(Ye);V((ve,vt,Ei)=>{Cn=At(fn,1,"sr svelte-1vejtrc",null,Cn,{retained:d(Di).retained}),F(xi,ve),F(Ue,d(Di).topic),Fi(Ye,"title",vt),F(ge,Ei)},[()=>Si(d(Di).ts),()=>Oi(d(Di).val),()=>Oi(d(Di).val)]),E(bi,fn)}),E(Xe,Ht)};W(at,Xe=>{d(ft).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)};W(Ie,se=>{d(ue)&&se(st)})}var It=b(fe,2);{var St=se=>{var Le=_Y(),at=Dt(Le),xt=b(at,2);let ht;var Xe=v(xt),Ht=b(Xe,2);V(()=>ht=Fo(xt,"",ht,{left:`${d(Se).x??""}px`,top:`${d(Se).y??""}px`})),G("click",at,()=>y(Se,null)),G("contextmenu",at,ai=>{ai.preventDefault(),y(Se,null)}),G("click",Xe,()=>{navigator.clipboard.writeText(d(Se).topic),y(Se,null)}),G("click",Ht,()=>{const ai=d(Se).topic,bi=ai+"/",Di=[...i.keys()].some(fn=>fn.startsWith(bi));y(nt,{topic:ai,hasChildren:Di,recursive:!1},!0),y(Se,null)}),E(se,Le)};W(It,se=>{d(Se)&&se(St)})}var si=b(It,2);{var ti=se=>{var Le=vY(),at=Dt(Le),xt=b(at,2),ht=b(v(xt),2),Xe=v(ht),Ht=b(v(Xe)),ai=v(Ht),bi=b(Xe,2);{var Di=xi=>{var gn=mY(),z=v(gn);Is(z,()=>d(nt).recursive,ee=>d(nt).recursive=ee),E(xi,gn)};W(bi,xi=>{d(nt).hasChildren&&xi(Di)})}var fn=b(ht,2),Cn=v(fn),un=b(Cn,2);V(()=>F(ai,d(nt).topic)),G("click",at,()=>y(nt,null)),G("click",Cn,()=>y(nt,null)),G("click",un,()=>{const{topic:xi,recursive:gn}=d(nt);y(nt,null),Ft(xi,gn)}),E(se,Le)};W(si,se=>{d(nt)&&se(ti)})}V(()=>{ui.disabled=d(vi)||!d(Bt),F(xe,` ${d(ki)??""}`),Fo(fe,d(ue)?`height: ${d(rt)}px;`:""),F(Re,d(ue)?"▾":"▸")}),Xt(mt,()=>d(Bt),se=>y(Bt,se)),Xt(hi,()=>d(Et),se=>y(Et,se)),Is(Xi,()=>d(Rt),se=>y(Rt,se)),Ho(ji,()=>d(Ct),se=>y(Ct,se)),G("click",ui,Ni),Xt(qe,()=>d(w),se=>y(w,se)),G("mousedown",_e,lt),Xt(Z,()=>d(et),se=>y(et,se)),G("click",gt,()=>{y(ue,!d(ue))}),E(o,Vi),Rs()}Ks(["click","contextmenu","mousedown"]);var wY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),SY=T('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),CY=T('<div class="err svelte-twakcj"> </div>'),xY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),kY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),LY=T('<p class="empty svelte-twakcj">No match.</p>'),IY=T("<span> </span>"),DY=VP('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="8" cy="8" r="6" stroke-dasharray="18" stroke-dashoffset="4"></circle></svg>'),EY=VP('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg>'),TY=T('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),PY=T('<span class="result-author svelte-twakcj"> </span>'),MY=T('<span class="result-date svelte-twakcj"> </span>'),NY=T('<span class="result-desc svelte-twakcj"> </span>'),RY=T('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),AY=T('<div class="results-list svelte-twakcj"></div>'),OY=T('<pre class="npm-output svelte-twakcj"> </pre>'),FY=T(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),HY=T('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function WY(o,e){Ns(e,!0);let t=M(yi([])),i=M(""),n=M(yi({})),s=M(yi([])),r=M(!1),a=M(""),c=M(yi([])),u=M(!1),f=M(!1),g=M(!1),p=M(""),w=M(""),m=yi({});const x=wt(()=>d(i).trim()?d(t).filter(Fe=>Fe.name.toLowerCase().includes(d(i).toLowerCase())):d(t)),k=wt(()=>Object.keys(d(n)).filter(Fe=>!d(s).includes(Fe)).length);ao(async()=>{await Promise.all([D(),P(),A()])});async function D(){try{y(t,await I7(),!0),y(p,"")}catch(Fe){y(p,Fe.message,!0)}}async function P(){try{y(n,await OR(),!0)}catch{}}async function A(){try{const Fe=await Dl();y(s,Array.isArray(Fe.pinnedPackages)?Fe.pinnedPackages:[],!0)}catch{}}async function j(Fe){const ei=d(s).includes(Fe)?d(s).filter(ui=>ui!==Fe):[...d(s),Fe];y(s,ei,!0);try{const ui=await Dl();await Zp({...ui,pinnedPackages:ei})}catch{}}async function H(){y(r,!0);try{y(n,await M7(),!0)}catch{}finally{y(r,!1)}}async function te(){const Fe=d(a).trim();if(!Fe){y(c,[],!0);return}y(g,!0),y(p,"");try{y(c,await D7(Fe),!0)}catch(ei){y(p,ei.message,!0)}finally{y(g,!1)}}function J(Fe){if(!Fe)return"";try{return new Date(Fe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function le(Fe,ei){m[Fe]=!0,y(p,""),y(w,"");try{const ui=await E7(Fe,ei);y(w,ui.stdout||ui.stderr||"Done.",!0),y(u,!0),await D()}catch(ui){y(p,ui.message,!0)}finally{m[Fe]=!1}}async function we(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const ei=await T7(Fe);y(w,ei.stdout||ei.stderr||"Done.",!0),y(u,!0);const ui={...d(n)};delete ui[Fe],y(n,ui,!0),await D()}catch(ei){y(p,ei.message,!0)}finally{m[Fe]=!1}}async function We(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const ei=await P7(Fe);y(w,ei.stdout||ei.stderr||"Done.",!0),y(u,!0);const ui={...d(n)};delete ui[Fe],y(n,ui,!0),await D()}catch(ei){y(p,ei.message,!0)}finally{m[Fe]=!1}}let ue;async function et(){if(await ue.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){y(f,!0);try{await NR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var rt=HY(),me=Dt(rt);Ds(Jf(me,{}),Fe=>ue=Fe,()=>ue);var lt=b(me,2),ft=v(lt);{var Pt=Fe=>{var ei=wY();E(Fe,ei)},Ne=Fe=>{var ei=SY(),ui=b(v(ei));G("click",ui,et),E(Fe,ei)};W(ft,Fe=>{d(f)?Fe(Pt):d(u)&&Fe(Ne,1)})}var Lt=b(ft,2);{var Oe=Fe=>{var ei=CY(),ui=v(ei);V(()=>F(ui,d(p))),E(Fe,ei)};W(Lt,Fe=>{d(p)&&Fe(Oe)})}var Se=b(Lt,2),nt=v(Se),Ft=v(nt),oi=b(v(Ft),2),Bt=v(oi),Et=b(oi,2);{var Rt=Fe=>{var ei=xY(),ui=v(ei);V(()=>F(ui,`${d(k)??""} outdated`)),E(Fe,ei)};W(Et,Fe=>{d(k)>0&&Fe(Rt)})}var Ct=b(Et,2),vi=v(Ct);let di;var Li=b(Ft,2),Ni=v(Li),Oi=b(Li,2),Wi=v(Oi);{var Si=Fe=>{var ei=kY();E(Fe,ei)},ri=Fe=>{var ei=LY();E(Fe,ei)},_i=Fe=>{var ei=Vs(),ui=Dt(ei);pi(ui,17,()=>d(x),Pi=>Pi.name,(Pi,$e)=>{var Ut=TY();let fi;var Ii=v(Ut),qe=v(Ii),he=v(qe),K=b(qe,2),ae=v(K),xe=b(K,2);{var Pe=Ce=>{var gt=IY();let Re;var Ie=v(gt);V(st=>{Re=At(gt,1,"dep-latest svelte-twakcj",null,Re,st),F(Ie,`→ v${d(n)[d($e).name].latest??""}`)},[()=>({"dep-latest--pinned":d(s).includes(d($e).name)})]),E(Ce,gt)};W(xe,Ce=>{d(n)[d($e).name]&&Ce(Pe)})}var ot=b(Ii,2),R=v(ot);let Q;var Y=b(R,2);let fe;var _e=v(Y);{var $=Ce=>{var gt=DY();E(Ce,gt)},Z=Ce=>{var gt=EY();E(Ce,gt)};W(_e,Ce=>{m[d($e).name]?Ce($):Ce(Z,-1)})}var ie=b(Y,2);V((Ce,gt,Re)=>{fi=At(Ut,1,"dep-row svelte-twakcj",null,fi,{"dep-busy":!!m[d($e).name]}),Fi(qe,"href",d($e).url??`https://www.npmjs.com/package/${d($e).name}`),F(he,d($e).name),F(ae,d($e).installedVersion??d($e).version),Q=At(R,1,"icon-btn svelte-twakcj",null,Q,Ce),Fi(R,"title",gt),fe=At(Y,1,"icon-btn svelte-twakcj",null,fe,Re),Y.disabled=!!m[d($e).name],Fi(Y,"title",d(n)[d($e).name]?`Update to v${d(n)[d($e).name].latest}`:"Update to latest"),ie.disabled=!!m[d($e).name]},[()=>({"icon-btn--pinned":d(s).includes(d($e).name)}),()=>d(s).includes(d($e).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!d(n)[d($e).name]&&!d(s).includes(d($e).name)})]),G("click",R,()=>j(d($e).name)),G("click",Y,()=>We(d($e).name)),G("click",ie,()=>we(d($e).name)),E(Pi,Ut)}),E(Fe,ei)};W(Wi,Fe=>{d(t).length===0?Fe(Si):d(x).length===0?Fe(ri,1):Fe(_i,-1)})}var ki=b(nt,2),Vi=b(v(ki),2),Ri=v(Vi),Mi=b(Ri,2),mt=v(Mi),Mt=b(Vi,2);{var hi=Fe=>{var ei=AY();pi(ei,21,()=>d(c),ui=>ui.name,(ui,Pi)=>{var $e=RY(),Ut=v($e),fi=v(Ut),Ii=v(fi),qe=b(fi,2),he=v(qe),K=b(qe,2);{var ae=fe=>{var _e=PY(),$=v(_e);V(()=>F($,d(Pi).author)),E(fe,_e)};W(K,fe=>{d(Pi).author&&fe(ae)})}var xe=b(K,2);{var Pe=fe=>{var _e=MY(),$=v(_e);V(Z=>{Fi(_e,"title",d(Pi).date),F($,Z)},[()=>J(d(Pi).date)]),E(fe,_e)};W(xe,fe=>{d(Pi).date&&fe(Pe)})}var ot=b(xe,2);{var R=fe=>{var _e=NY(),$=v(_e);V(()=>F($,d(Pi).description)),E(fe,_e)};W(ot,fe=>{d(Pi).description&&fe(R)})}var Q=b(Ut,2),Y=v(Q);V(()=>{Fi(fi,"href",d(Pi).url??`https://www.npmjs.com/package/${d(Pi).name}`),F(Ii,d(Pi).name),F(he,d(Pi).version),Q.disabled=!!m[d(Pi).name],F(Y,m[d(Pi).name]?"Installing…":"Install")}),G("click",Q,()=>le(d(Pi).name)),E(ui,$e)}),E(Fe,ei)};W(Mt,Fe=>{d(c).length>0&&Fe(hi)})}var Ti=b(Mt,2);{var Xi=Fe=>{var ei=OY(),ui=v(ei);V(()=>F(ui,d(w))),E(Fe,ei)};W(Ti,Fe=>{d(w)&&Fe(Xi)})}var ji=b(Ti,2);{var Tn=Fe=>{var ei=FY();E(Fe,ei)};W(ji,Fe=>{!d(c).length&&!d(w)&&Fe(Tn)})}V(()=>{F(Bt,d(t).length),Ct.disabled=d(r),di=At(vi,0,"svelte-twakcj",null,di,{spinning:d(r)}),Mi.disabled=d(g),F(mt,d(g)?"Searching…":"Search")}),G("click",Ct,H),Xt(Ni,()=>d(i),Fe=>y(i,Fe)),G("keydown",Ri,Fe=>Fe.key==="Enter"&&te()),Xt(Ri,()=>d(a),Fe=>y(a,Fe)),G("click",Mi,te),E(o,rt),Rs()}Ks(["click","keydown"]);var Ul=T('<div class="err svelte-3itf14"> </div>'),BY=T('<div class="empty svelte-3itf14">No users found.</div>'),_E=T('<span class="tag svelte-3itf14"> </span>'),mE=T('<span class="tag tag--group svelte-3itf14"> </span>'),zY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),VY=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),jY=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),$Y=T('<div class="empty svelte-3itf14">No roles found.</div>'),UY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),qY=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),GY=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),KY=T('<div class="empty svelte-3itf14">No groups found.</div>'),ZY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),XY=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),YY=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),JY=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),QY=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),eJ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),tJ=T('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),iJ=T('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),nJ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),sJ=T("<option> </option>"),oJ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),rJ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),aJ=T('<div class="users-page svelte-3itf14"><div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!> <!>',1);function lJ(o,e){Ns(e,!0);let t=M(yi([])),i=M(yi([])),n=M(yi([])),s=M(""),r=M(""),a=M(""),c=M("users"),u=M(!1),f=M(""),g=M(""),p=M(!1),w=M(""),m=M(!1),x=M(!1),k=M(""),D=M(""),P=M(""),A=M(!1),j=M(!1),H=M(""),te=M(""),J=M(!1),le=M(null),we=M(!1),We=M("publishClientSend"),ue=M(""),et=M(!0),rt=M(""),me=M(!1),lt=M(""),ft=M(""),Pt=M(!1);const Ne=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Lt(){var qe,he,K;try{const[ae,xe,Pe]=await Promise.allSettled([j7(),G7(),J7()]);ae.status==="fulfilled"?(y(t,ae.value.users,!0),y(s,"")):y(s,((qe=ae.reason)==null?void 0:qe.message)??"Failed to load users",!0),xe.status==="fulfilled"?(y(i,xe.value.roles,!0),y(r,"")):y(r,((he=xe.reason)==null?void 0:he.message)??"Failed to load roles",!0),Pe.status==="fulfilled"?(y(n,Pe.value.groups,!0),y(a,"")):y(a,((K=Pe.reason)==null?void 0:K.message)??"Failed to load groups",!0)}catch{}}ao(()=>{Lt()});async function Oe(){y(w,""),y(m,!0);try{await $7(d(f),d(g)),y(f,""),y(g,""),y(u,!1),await Lt()}catch(qe){y(w,qe.message??"Failed to create user",!0)}finally{y(m,!1)}}async function Se(qe){if(confirm(`Delete user "${qe}"?`))try{await U7(qe),await Lt()}catch(he){y(s,he.message,!0)}}async function nt(qe){y(k,qe,!0),y(D,""),y(P,""),y(x,!0)}async function Ft(){y(P,""),y(A,!0);try{await q7(d(k),d(D)),y(x,!1)}catch(qe){y(P,qe.message,!0)}finally{y(A,!1)}}async function oi(){y(te,""),y(J,!0);try{await K7(d(H)),y(H,""),y(j,!1),await Lt()}catch(qe){y(te,qe.message??"Failed to create role",!0)}finally{y(J,!1)}}async function Bt(qe){var he;if(confirm(`Delete role "${qe}"?`))try{await Z7(qe),((he=d(le))==null?void 0:he.rolename)===qe&&(y(le,null),y(we,!1)),await Lt()}catch(K){y(r,K.message,!0)}}function Et(qe){y(le,qe,!0),y(we,!0),y(We,"publishClientSend"),y(ue,""),y(et,!0),y(rt,"")}async function Rt(){if(d(le)){y(rt,"");try{await X7(d(le).rolename,{acltype:d(We),topic:d(ue),allow:d(et)}),y(ue,""),await Lt(),y(le,d(i).find(qe=>qe.rolename===d(le).rolename)??d(le),!0)}catch(qe){y(rt,qe.message,!0)}}}async function Ct(qe,he,K){try{await Y7(qe,he,K),await Lt(),y(le,d(i).find(ae=>ae.rolename===qe)??d(le),!0)}catch(ae){y(rt,ae.message,!0)}}async function vi(){y(ft,""),y(Pt,!0);try{await Q7(d(lt)),y(lt,""),y(me,!1),await Lt()}catch(qe){y(ft,qe.message??"Failed to create group",!0)}finally{y(Pt,!1)}}async function di(qe){if(confirm(`Delete group "${qe}"?`))try{await eq(qe),await Lt()}catch(he){y(a,he.message,!0)}}var Li=aJ(),Ni=Dt(Li),Oi=v(Ni),Wi=v(Oi);let Si;var ri=b(Wi,2);let _i;var ki=b(ri,2);let Vi;var Ri=b(ki,2),Mi=b(Oi,2);{var mt=qe=>{var he=jY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(s))),E(Y,fe)};W(xe,Y=>{d(s)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=BY();E(Y,fe)},Q=Y=>{var fe=VY(),_e=b(v(fe));pi(_e,21,()=>d(t),rn,($,Z)=>{var ie=zY(),Ce=v(ie),gt=v(Ce),Re=b(Ce);pi(Re,21,()=>d(Z).roles??[],rn,(si,ti)=>{var se=_E(),Le=v(se);V(()=>F(Le,d(ti).rolename)),E(si,se)});var Ie=b(Re);pi(Ie,21,()=>d(Z).groups??[],rn,(si,ti)=>{var se=mE(),Le=v(se);V(()=>F(Le,d(ti).groupname)),E(si,se)});var st=b(Ie),It=v(st),St=b(It,2);V(()=>F(gt,d(Z).username)),G("click",It,()=>nt(d(Z).username)),G("click",St,()=>Se(d(Z).username)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(t).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(u,!0),y(w,"")}),E(qe,he)};W(Mi,qe=>{d(c)==="users"&&qe(mt)})}var Mt=b(Mi,2);{var hi=qe=>{var he=GY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(r))),E(Y,fe)};W(xe,Y=>{d(r)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=$Y();E(Y,fe)},Q=Y=>{var fe=qY(),_e=b(v(fe));pi(_e,21,()=>d(i),rn,($,Z)=>{var ie=UY(),Ce=v(ie),gt=v(Ce),Re=b(Ce),Ie=v(Re),st=b(Re),It=v(st),St=b(It,2);V(()=>{var si;F(gt,d(Z).rolename),F(Ie,((si=d(Z).acls)==null?void 0:si.length)??0)}),G("click",It,()=>Et(d(Z))),G("click",St,()=>Bt(d(Z).rolename)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(i).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(j,!0),y(te,""),y(H,"")}),E(qe,he)};W(Mt,qe=>{d(c)==="roles"&&qe(hi)})}var Ti=b(Mt,2);{var Xi=qe=>{var he=YY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(a))),E(Y,fe)};W(xe,Y=>{d(a)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=KY();E(Y,fe)},Q=Y=>{var fe=XY(),_e=b(v(fe));pi(_e,21,()=>d(n),rn,($,Z)=>{var ie=ZY(),Ce=v(ie),gt=v(Ce),Re=b(Ce);pi(Re,21,()=>d(Z).clients??[],rn,(St,si)=>{var ti=_E(),se=v(ti);V(()=>F(se,d(si).username)),E(St,ti)});var Ie=b(Re);pi(Ie,21,()=>d(Z).roles??[],rn,(St,si)=>{var ti=mE(),se=v(ti);V(()=>F(se,d(si).rolename)),E(St,ti)});var st=b(Ie),It=v(st);V(()=>F(gt,d(Z).groupname)),G("click",It,()=>di(d(Z).groupname)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(n).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(me,!0),y(ft,""),y(lt,"")}),E(qe,he)};W(Ti,qe=>{d(c)==="groups"&&qe(Xi)})}var ji=b(Ni,2);{var Tn=qe=>{var he=JY(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2),ot=b(v(Pe)),R=v(ot),Q=b(R,2),Y=v(Q),fe=b(Pe,2);{var _e=gt=>{var Re=Ul(),Ie=v(Re);V(()=>F(Ie,d(w))),E(gt,Re)};W(fe,gt=>{d(w)&>(_e)})}var $=b(fe,2),Z=v($),ie=b(Z,2),Ce=v(ie);V(()=>{Fi(R,"type",d(p)?"text":"password"),F(Y,d(p)?"Hide":"Show"),ie.disabled=d(m)||!d(f)||!d(g),F(Ce,d(m)?"Creating…":"Create")}),Xt(xe,()=>d(f),gt=>y(f,gt)),Xt(R,()=>d(g),gt=>y(g,gt)),G("click",Q,()=>y(p,!d(p))),G("click",Z,()=>y(u,!1)),G("click",ie,Oe),E(qe,he)};W(ji,qe=>{d(u)&&qe(Tn)})}var Fe=b(ji,2);{var ei=qe=>{var he=QY(),K=v(he),ae=v(K),xe=b(v(ae)),Pe=v(xe),ot=b(ae,2),R=b(v(ot)),Q=b(ot,2);{var Y=ie=>{var Ce=Ul(),gt=v(Ce);V(()=>F(gt,d(P))),E(ie,Ce)};W(Q,ie=>{d(P)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{F(Pe,d(k)),$.disabled=d(A)||!d(D),F(Z,d(A)?"Saving…":"Set password")}),Xt(R,()=>d(D),ie=>y(D,ie)),G("click",_e,()=>y(x,!1)),G("click",$,Ft),E(qe,he)};W(Fe,qe=>{d(x)&&qe(ei)})}var ui=b(Fe,2);{var Pi=qe=>{var he=eJ(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2);{var ot=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(te))),E(_e,$)};W(Pe,_e=>{d(te)&&_e(ot)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(J)||!d(H),F(fe,d(J)?"Creating…":"Create")}),Xt(xe,()=>d(H),_e=>y(H,_e)),G("click",Q,()=>y(j,!1)),G("click",Y,oi),E(qe,he)};W(ui,qe=>{d(j)&&qe(Pi)})}var $e=b(ui,2);{var Ut=qe=>{var he=oJ(),K=v(he),ae=v(K),xe=b(v(ae)),Pe=v(xe),ot=b(ae,2);{var R=st=>{var It=iJ(),St=b(v(It));pi(St,21,()=>d(le).acls??[],rn,(si,ti)=>{var se=tJ(),Le=v(se),at=v(Le),xt=b(Le),ht=v(xt),Xe=b(xt),Ht=v(Xe),ai=b(Xe),bi=v(ai);V(()=>{F(at,d(ti).acltype),F(ht,d(ti).topic),F(Ht,d(ti).allow?"✓":"✗")}),G("click",bi,()=>Ct(d(le).rolename,d(ti).acltype,d(ti).topic)),E(si,se)}),E(st,It)},Q=st=>{var It=nJ();E(st,It)};W(ot,st=>{var It;(((It=d(le).acls)==null?void 0:It.length)??0)>0?st(R):st(Q,-1)})}var Y=b(ot,2),fe=v(Y);pi(fe,21,()=>Ne,rn,(st,It)=>{var St=sJ(),si=v(St),ti={};V(()=>{F(si,d(It)),ti!==(ti=d(It))&&(St.value=(St.__value=d(It))??"")}),E(st,St)});var _e=b(fe,2),$=b(_e,2),Z=v($),ie=b($,2),Ce=b(Y,2);{var gt=st=>{var It=Ul(),St=v(It);V(()=>F(St,d(rt))),E(st,It)};W(Ce,st=>{d(rt)&&st(gt)})}var Re=b(Ce,2),Ie=v(Re);V(()=>{F(Pe,d(le).rolename),ie.disabled=!d(ue)}),Ho(fe,()=>d(We),st=>y(We,st)),Xt(_e,()=>d(ue),st=>y(ue,st)),Is(Z,()=>d(et),st=>y(et,st)),G("click",ie,Rt),G("click",Ie,()=>y(we,!1)),E(qe,he)};W($e,qe=>{d(we)&&d(le)&&qe(Ut)})}var fi=b($e,2);{var Ii=qe=>{var he=rJ(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2);{var ot=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(ft))),E(_e,$)};W(Pe,_e=>{d(ft)&&_e(ot)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(Pt)||!d(lt),F(fe,d(Pt)?"Creating…":"Create")}),Xt(xe,()=>d(lt),_e=>y(lt,_e)),G("click",Q,()=>y(me,!1)),G("click",Y,vi),E(qe,he)};W(fi,qe=>{d(me)&&qe(Ii)})}V(()=>{Si=At(Wi,1,"svelte-3itf14",null,Si,{active:d(c)==="users"}),_i=At(ri,1,"svelte-3itf14",null,_i,{active:d(c)==="roles"}),Vi=At(ki,1,"svelte-3itf14",null,Vi,{active:d(c)==="groups"})}),G("click",Wi,()=>y(c,"users")),G("click",ri,()=>y(c,"roles")),G("click",ki,()=>y(c,"groups")),G("click",Ri,Lt),E(o,Li),Rs()}Ks(["click"]);var vE=T('<div class="err svelte-9i68x"> </div>'),cJ=T('<div class="ok svelte-9i68x">Saved.</div>'),dJ=T('<div class="reload-msg svelte-9i68x"> </div>'),uJ=T('<div class="loading svelte-9i68x">Loading…</div>'),hJ=T('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Use cert CN as username (use_identity_as_username)</label></div></div>'),fJ=T('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label></div> <div class="tls-toggle-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox"/> TLS</label></div> <!></div>'),gJ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),pJ=T('<div class="cards svelte-9i68x"><!> <!></div>'),_J=T('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function mJ(o,e){Ns(e,!0);let t=M(null),i=M(""),n=M(!1),s=M(""),r=M(!1),a=M(!1),c=M(""),u=M(yi([])),f=M(null);ao(()=>{g()});async function g(){try{y(t,await W7(),!0),y(u,JSON.parse(JSON.stringify(d(t).listeners)),!0),y(f,d(t).checksum,!0),y(i,"")}catch(Se){y(i,Se.message??"Failed to load broker config",!0)}}function p(){y(u,[...d(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(Se){y(u,d(u).filter((nt,Ft)=>Ft!==Se),!0)}async function m(){if(d(t)){y(n,!0),y(s,""),y(r,!1);try{await B7({listeners:d(u),managed:d(t).managed,passthrough:d(t).passthrough,checksum:d(f)}),y(r,!0),setTimeout(()=>y(r,!1),3e3),await g()}catch(Se){y(s,Se.message??"Save failed",!0)}finally{y(n,!1)}}}async function x(){y(a,!0),y(c,"");try{const Se=await z7();y(c,Se.stderr||Se.stdout||"Reloaded",!0)}catch(Se){y(c,"Error: "+(Se.message??"reload failed"))}finally{y(a,!1)}}function k(Se){var nt,Ft,oi,Bt;return!!((nt=Se.tls)!=null&&nt.certfile||(Ft=Se.tls)!=null&&Ft.keyfile||(oi=Se.tls)!=null&&oi.capath||(Bt=Se.tls)!=null&&Bt.cafile)}function D(Se,nt){nt||(Se.tls={}),y(u,[...d(u)],!0)}var P=_J(),A=v(P),j=b(v(A),2),H=v(j),te=b(H,2),J=v(te),le=b(te,2),we=v(le),We=b(A,2);{var ue=Se=>{var nt=vE(),Ft=v(nt);V(()=>F(Ft,d(i))),E(Se,nt)};W(We,Se=>{d(i)&&Se(ue)})}var et=b(We,2);{var rt=Se=>{var nt=vE(),Ft=v(nt);V(()=>F(Ft,d(s))),E(Se,nt)};W(et,Se=>{d(s)&&Se(rt)})}var me=b(et,2);{var lt=Se=>{var nt=cJ();E(Se,nt)};W(me,Se=>{d(r)&&Se(lt)})}var ft=b(me,2);{var Pt=Se=>{var nt=dJ(),Ft=v(nt);V(()=>F(Ft,d(c))),E(Se,nt)};W(ft,Se=>{d(c)&&Se(Pt)})}var Ne=b(ft,2);{var Lt=Se=>{var nt=uJ();E(Se,nt)},Oe=Se=>{var nt=pJ(),Ft=v(nt);pi(Ft,17,()=>d(u),rn,(Et,Rt,Ct)=>{var vi=fJ(),di=v(vi),Li=v(di),Ni=v(Li),Oi=b(Li,2),Wi=b(di,2),Si=v(Wi),ri=b(v(Si)),_i=b(Si,2),ki=b(v(_i)),Vi=v(ki);Vi.value=Vi.__value="mqtt";var Ri=b(Vi);Ri.value=Ri.__value="websockets";var Mi=b(_i,2),mt=b(v(Mi)),Mt=b(Wi,2),hi=v(Mt),Ti=v(hi),Xi=b(Mt,2);{var ji=Fe=>{var ei=hJ(),ui=v(ei),Pi=v(ui),$e=b(v(Pi)),Ut=b(Pi,2),fi=b(v(Ut)),Ii=b(ui,2),qe=v(Ii),he=b(v(qe)),K=b(qe,2),ae=b(v(K)),xe=b(Ii,2),Pe=v(xe),ot=b(v(Pe)),R=b(Pe,2),Q=b(v(R)),Y=v(Q);Y.value=Y.__value="";var fe=b(Y);fe.value=fe.__value="tlsv1.3";var _e=b(fe);_e.value=_e.__value="tlsv1.2";var $=b(xe,2),Z=v($),ie=v(Z),Ce=b(Z,2),gt=v(Ce);Xt($e,()=>d(Rt).tls.certfile,Re=>d(Rt).tls.certfile=Re),Xt(fi,()=>d(Rt).tls.keyfile,Re=>d(Rt).tls.keyfile=Re),Xt(he,()=>d(Rt).tls.cafile,Re=>d(Rt).tls.cafile=Re),Xt(ae,()=>d(Rt).tls.capath,Re=>d(Rt).tls.capath=Re),Xt(ot,()=>d(Rt).tls.crlfile,Re=>d(Rt).tls.crlfile=Re),Ho(Q,()=>d(Rt).tls.tls_version,Re=>d(Rt).tls.tls_version=Re),Is(ie,()=>d(Rt).tls.require_certificate,Re=>d(Rt).tls.require_certificate=Re),Is(gt,()=>d(Rt).tls.use_identity_as_username,Re=>d(Rt).tls.use_identity_as_username=Re),E(Fe,ei)},Tn=wt(()=>k(d(Rt)));W(Xi,Fe=>{d(Tn)&&Fe(ji)})}V(Fe=>{F(Ni,`Port ${d(Rt).port??""}`),Dg(Ti,Fe)},[()=>k(d(Rt))]),G("click",Oi,()=>w(Ct)),Xt(ri,()=>d(Rt).port,Fe=>d(Rt).port=Fe),Ho(ki,()=>d(Rt).protocol,Fe=>d(Rt).protocol=Fe),Xt(mt,()=>d(Rt).bindAddress,Fe=>d(Rt).bindAddress=Fe),G("change",Ti,Fe=>D(d(Rt),Fe.target.checked)),E(Et,vi)});var oi=b(Ft,2);{var Bt=Et=>{var Rt=gJ();E(Et,Rt)};W(oi,Et=>{d(u).length===0&&Et(Bt)})}E(Se,nt)};W(Ne,Se=>{d(t)===null&&!d(i)?Se(Lt):Se(Oe,-1)})}V(()=>{te.disabled=d(n),F(J,d(n)?"Saving…":"Save"),le.disabled=d(a),F(we,d(a)?"Reloading…":"Apply & Reload")}),G("click",H,p),G("click",te,m),G("click",le,x),E(o,P),Rs()}Ks(["click","change"]);var fh=T('<div class="err svelte-9auejo"> </div>'),vJ=T('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl> <div class="card-actions svelte-9auejo"><a class="btn-download svelte-9auejo" download="ca.crt">Download ca.crt</a></div></div>'),bJ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),yJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Local Certificate Authority</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),wJ=T('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),SJ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),CJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),xJ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),kJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),LJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),IJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates (capath)</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div>'),DJ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),EJ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),TJ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),PJ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),MJ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),NJ=T('<a class="btn-dl svelte-9auejo">.p12</a> <a class="btn-dl svelte-9auejo">.crt</a> <a class="btn-dl svelte-9auejo">.key</a> <button class="danger svelte-9auejo">Revoke</button>',1),RJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td class="svelte-9auejo"> </td><td> </td><td class="svelte-9auejo"><!></td><td class="actions svelte-9auejo"><!></td></tr>'),AJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Serial</th><th class="svelte-9auejo">Issued</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo">Status</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),OJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Issued Client Certificates</h3> <button class="svelte-9auejo">+ Issue cert</button></div> <!></div>'),FJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Local CA</h3> <label class="svelte-9auejo">Common Name<input class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),HJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Server cert generated</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Cert path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Key path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd></dl> <p class="hint svelte-9auejo">Update your Listeners config to use these paths, then Apply & Reload.</p></div>'),WJ=T('<button class="btn-primary svelte-9auejo"> </button>'),BJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Server Certificate</h3> <label class="svelte-9auejo">Common Name (hostname)<input placeholder="mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">SANs (comma-separated IPs/hostnames)<input placeholder="192.168.1.10, mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),zJ=T('<label class="svelte-9auejo">Common Name (device ID)<input placeholder="esp32-bedroom" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),VJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate issued for <strong> </strong></p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Serial</dt><dd class="mono svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">PKCS#12 passphrase</dt> <dd class="svelte-9auejo"><code class="passphrase svelte-9auejo"> </code> <small>(shown once — save it now)</small></dd></dl> <div class="download-row svelte-9auejo"><a class="btn-dl svelte-9auejo">Download .p12</a> <a class="btn-dl svelte-9auejo">Download .crt</a> <a class="btn-dl svelte-9auejo">Download .key</a> <a class="btn-dl svelte-9auejo" download="ca.crt">Download CA</a></div></div> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button></div>',1),jJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Issue Client Certificate</h3> <!></div></div>'),$J=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add Trusted CA Certificate</h3> <label class="svelte-9auejo">PEM certificate <textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),UJ=T('<div class="certs-page svelte-9auejo"><div class="panel-tabs svelte-9auejo"><button>Local CA</button> <button>Server Cert</button> <button>Trusted CAs</button> <button>Client Certs</button> <button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!>',1);function qJ(o,e){Ns(e,!0);let t=M("ca"),i=M(null),n=M(null),s=M(yi([])),r=M(yi([])),a=M(""),c=M(!1),u=M("she-broker-ca"),f=M(365),g=M(!1),p=M(""),w=M(!1),m=M(""),x=M(""),k=M(365),D=M(!1),P=M(""),A=M(null),j=M(!1),H=M(""),te=M(365),J=M(!1),le=M(""),we=M(null),We=M(!1),ue=M(""),et=M(!1),rt=M(""),me=M("");async function lt(){try{const[$e,Ut,fi,Ii]=await Promise.allSettled([tq(),nq(),oq(),lq()]);$e.status==="fulfilled"&&y(i,$e.value.ca,!0),Ut.status==="fulfilled"&&y(n,Ut.value.server,!0),fi.status==="fulfilled"&&y(s,fi.value.certs,!0),Ii.status==="fulfilled"&&y(r,Ii.value.certs,!0),y(a,"")}catch($e){y(a,$e.message,!0)}}ao(()=>{lt()});async function ft(){y(p,""),y(g,!0);try{await iq({cn:d(u),days:d(f)}),y(c,!1),await lt()}catch($e){y(p,$e.message,!0)}finally{y(g,!1)}}async function Pt(){y(P,""),y(D,!0),y(A,null);try{const $e=d(x).split(",").map(fi=>fi.trim()).filter(Boolean),Ut=await sq({cn:d(m),san:$e,days:d(k)});y(A,Ut,!0),await lt()}catch($e){y(P,$e.message,!0)}finally{y(D,!1)}}async function Ne(){y(le,""),y(J,!0),y(we,null);try{const $e=await rq({cn:d(H),days:d(te)});y(we,$e,!0),y(H,""),await lt()}catch($e){y(le,$e.message,!0)}finally{y(J,!1)}}async function Lt($e){if(confirm(`Revoke certificate for "${$e.cn}" (serial ${$e.serial})?`))try{await aq($e.serial),await lt()}catch(Ut){y(me,Ut.message,!0)}}async function Oe(){y(rt,""),y(et,!0);try{await cq(d(ue)),y(ue,""),y(We,!1),await lt()}catch($e){y(rt,$e.message,!0)}finally{y(et,!1)}}async function Se($e){if(confirm("Remove this trusted CA cert?"))try{await dq($e),await lt()}catch(Ut){y(me,Ut.message,!0)}}function nt($e){const Ut=new Date($e).getTime()-Date.now();return Ut<0?"expired":Ut<30*864e5?"expiring":""}function Ft($e){return new Date($e).toLocaleDateString()}var oi=UJ(),Bt=Dt(oi),Et=v(Bt),Rt=v(Et);let Ct;var vi=b(Rt,2);let di;var Li=b(vi,2);let Ni;var Oi=b(Li,2);let Wi;var Si=b(Oi,2),ri=b(Et,2);{var _i=$e=>{var Ut=fh(),fi=v(Ut);V(()=>F(fi,d(a))),E($e,Ut)};W(ri,$e=>{d(a)&&$e(_i)})}var ki=b(ri,2);{var Vi=$e=>{var Ut=fh(),fi=v(Ut);V(()=>F(fi,d(me))),E($e,Ut)};W(ki,$e=>{d(me)&&$e(Vi)})}var Ri=b(ki,2);{var Mi=$e=>{var Ut=yJ(),fi=v(Ut),Ii=b(v(fi),2),qe=v(Ii),he=b(fi,2);{var K=xe=>{var Pe=vJ(),ot=v(Pe),R=b(v(ot)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(ot,2),ie=v(Z);V((Ce,gt,Re)=>{F(Q,d(i).cn),F(fe,d(i).fingerprint),At(_e,1,Ce,"svelte-9auejo"),F($,gt),Fi(ie,"href",`data:application/x-pem-file;charset=utf-8,${Re??""}`)},[()=>J_(nt(d(i).expires)),()=>Ft(d(i).expires),()=>encodeURIComponent(d(i).crt)]),E(xe,Pe)},ae=xe=>{var Pe=bJ();E(xe,Pe)};W(he,xe=>{d(i)?xe(K):xe(ae,-1)})}V(()=>F(qe,d(i)?"Regenerate CA":"Generate CA")),G("click",Ii,()=>{y(c,!0),y(p,"")}),E($e,Ut)},mt=$e=>{var Ut=CJ(),fi=v(Ut),Ii=b(v(fi),2),qe=v(Ii),he=b(fi,2);{var K=xe=>{var Pe=wJ(),ot=v(Pe),R=b(v(ot)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e);V((Z,ie)=>{F(Q,d(n).cn),F(fe,d(n).fingerprint),At(_e,1,Z,"svelte-9auejo"),F($,ie)},[()=>J_(nt(d(n).expires)),()=>Ft(d(n).expires)]),E(xe,Pe)},ae=xe=>{var Pe=SJ();E(xe,Pe)};W(he,xe=>{d(n)?xe(K):xe(ae,-1)})}V(()=>F(qe,d(n)?"Regenerate":"Generate server cert")),G("click",Ii,()=>{y(w,!0),y(P,""),y(A,null)}),E($e,Ut)},Mt=$e=>{var Ut=IJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);{var he=ae=>{var xe=xJ();E(ae,xe)},K=ae=>{var xe=LJ(),Pe=b(v(xe));pi(Pe,21,()=>d(r),rn,(ot,R)=>{var Q=kJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Ce=b(Z),gt=v(Ce);V((Re,Ie,st)=>{F(fe,d(R).cn),F($,`${Re??""}…`),At(Z,1,Ie,"svelte-9auejo"),F(ie,st)},[()=>d(R).fingerprint.slice(0,29),()=>J_(nt(d(R).expires)),()=>Ft(d(R).expires)]),G("click",gt,()=>Se(d(R).fingerprint)),E(ot,Q)}),E(ae,xe)};W(qe,ae=>{d(r).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(We,!0),y(rt,""),y(ue,"")}),E($e,Ut)},hi=$e=>{var Ut=OJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);{var he=ae=>{var xe=DJ();E(ae,xe)},K=ae=>{var xe=AJ(),Pe=b(v(xe));pi(Pe,21,()=>d(s),rn,(ot,R)=>{var Q=RJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Ce=b(Z),gt=v(Ce),Re=b(Ce),Ie=v(Re);{var st=ht=>{var Xe=EJ();E(ht,Xe)},It=ht=>{var Xe=TJ();E(ht,Xe)},St=wt(()=>nt(d(R).expires)==="expired"),si=ht=>{var Xe=PJ();E(ht,Xe)},ti=wt(()=>nt(d(R).expires)==="expiring"),se=ht=>{var Xe=MJ();E(ht,Xe)};W(Ie,ht=>{d(R).revoked?ht(st):d(St)?ht(It,1):d(ti)?ht(si,2):ht(se,-1)})}var Le=b(Re),at=v(Le);{var xt=ht=>{var Xe=NJ(),Ht=Dt(Xe),ai=b(Ht,2),bi=b(ai,2),Di=b(bi,2);V((fn,Cn,un)=>{Fi(Ht,"href",fn),Fi(Ht,"download",`${d(R).cn??""}.p12`),Fi(ai,"href",Cn),Fi(ai,"download",`${d(R).cn??""}.crt`),Fi(bi,"href",un),Fi(bi,"download",`${d(R).cn??""}.key`)},[()=>Qc(d(R).serial,"p12"),()=>Qc(d(R).serial,"crt"),()=>Qc(d(R).serial,"key")]),G("click",Di,()=>Lt(d(R))),E(ht,Xe)};W(at,ht=>{d(R).revoked||ht(xt)})}V((ht,Xe,Ht)=>{F(fe,d(R).cn),F($,d(R).serial),F(ie,ht),At(Ce,1,Xe,"svelte-9auejo"),F(gt,Ht)},[()=>new Date(d(R).issued).toLocaleDateString(),()=>J_(d(R).revoked?"":nt(d(R).expires)),()=>Ft(d(R).expires)]),E(ot,Q)}),E(ae,xe)};W(qe,ae=>{d(s).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(j,!0),y(le,""),y(we,null),y(H,""),y(te,365)}),E($e,Ut)};W(Ri,$e=>{d(t)==="ca"?$e(Mi):d(t)==="server"?$e(mt,1):d(t)==="trusted"?$e(Mt,2):d(t)==="clients"&&$e(hi,3)})}var Ti=b(Bt,2);{var Xi=$e=>{var Ut=FJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2);{var xe=Y=>{var fe=fh(),_e=v(fe);V(()=>F(_e,d(p))),E(Y,fe)};W(ae,Y=>{d(p)&&Y(xe)})}var Pe=b(ae,2),ot=v(Pe),R=b(ot,2),Q=v(R);V(()=>{R.disabled=d(g)||!d(u),F(Q,d(g)?"Generating…":"Generate")}),Xt(qe,()=>d(u),Y=>y(u,Y)),Xt(K,()=>d(f),Y=>y(f,Y)),G("click",ot,()=>y(c,!1)),G("click",R,ft),E($e,Ut)};W(Ti,$e=>{d(c)&&$e(Xi)})}var ji=b(Ti,2);{var Tn=$e=>{var Ut=BJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2),xe=b(v(ae)),Pe=b(ae,2);{var ot=Z=>{var ie=fh(),Ce=v(ie);V(()=>F(Ce,d(P))),E(Z,ie)};W(Pe,Z=>{d(P)&&Z(ot)})}var R=b(Pe,2);{var Q=Z=>{var ie=HJ(),Ce=b(v(ie),2),gt=b(v(Ce)),Re=v(gt),Ie=b(gt,3),st=v(Ie),It=b(Ie,3),St=v(It);V(()=>{F(Re,d(A).certPath),F(st,d(A).keyPath),F(St,d(A).fingerprint)}),E(Z,ie)};W(R,Z=>{d(A)&&Z(Q)})}var Y=b(R,2),fe=v(Y),_e=b(fe,2);{var $=Z=>{var ie=WJ(),Ce=v(ie);V(()=>{ie.disabled=d(D)||!d(m),F(Ce,d(D)?"Generating…":"Generate")}),G("click",ie,Pt),E(Z,ie)};W(_e,Z=>{d(A)||Z($)})}Xt(qe,()=>d(m),Z=>y(m,Z)),Xt(K,()=>d(x),Z=>y(x,Z)),Xt(xe,()=>d(k),Z=>y(k,Z)),G("click",fe,()=>y(w,!1)),E($e,Ut)};W(ji,$e=>{d(w)&&$e(Tn)})}var Fe=b(ji,2);{var ei=$e=>{var Ut=jJ(),fi=v(Ut),Ii=b(v(fi),2);{var qe=K=>{var ae=zJ(),xe=Dt(ae),Pe=b(v(xe)),ot=b(xe,2),R=b(v(ot)),Q=b(ot,2);{var Y=ie=>{var Ce=fh(),gt=v(Ce);V(()=>F(gt,d(le))),E(ie,Ce)};W(Q,ie=>{d(le)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{$.disabled=d(J)||!d(H),F(Z,d(J)?"Issuing…":"Issue")}),Xt(Pe,()=>d(H),ie=>y(H,ie)),Xt(R,()=>d(te),ie=>y(te,ie)),G("click",_e,()=>y(j,!1)),G("click",$,Ne),E(K,ae)},he=K=>{var ae=VJ(),xe=Dt(ae),Pe=v(xe),ot=b(v(Pe)),R=v(ot),Q=b(Pe,2),Y=b(v(Q)),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(_e,3),ie=v(Z),Ce=b(Z,4),gt=v(Ce),Re=v(gt),Ie=b(Q,2),st=v(Ie),It=b(st,2),St=b(It,2),si=b(St,2),ti=b(xe,2),se=v(ti);V((Le,at,xt,ht,Xe)=>{F(R,d(we).cn),F(fe,d(we).serial),F($,d(we).fingerprint),F(ie,Le),F(Re,d(we).passphrase),Fi(st,"href",at),Fi(st,"download",`${d(we).cn??""}.p12`),Fi(It,"href",xt),Fi(It,"download",`${d(we).cn??""}.crt`),Fi(St,"href",ht),Fi(St,"download",`${d(we).cn??""}.key`),Fi(si,"href",Xe)},[()=>Ft(d(we).expires),()=>Qc(d(we).serial,"p12"),()=>Qc(d(we).serial,"crt"),()=>Qc(d(we).serial,"key"),()=>Qc(d(we).serial,"ca")]),G("click",se,()=>y(j,!1)),E(K,ae)};W(Ii,K=>{d(we)?K(he,-1):K(qe)})}E($e,Ut)};W(Fe,$e=>{d(j)&&$e(ei)})}var ui=b(Fe,2);{var Pi=$e=>{var Ut=$J(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2);{var K=R=>{var Q=fh(),Y=v(Q);V(()=>F(Y,d(rt))),E(R,Q)};W(he,R=>{d(rt)&&R(K)})}var ae=b(he,2),xe=v(ae),Pe=b(xe,2),ot=v(Pe);V(()=>{Pe.disabled=d(et)||!d(ue),F(ot,d(et)?"Adding…":"Add")}),Xt(qe,()=>d(ue),R=>y(ue,R)),G("click",xe,()=>y(We,!1)),G("click",Pe,Oe),E($e,Ut)};W(ui,$e=>{d(We)&&$e(Pi)})}V(()=>{Ct=At(Rt,1,"svelte-9auejo",null,Ct,{active:d(t)==="ca"}),di=At(vi,1,"svelte-9auejo",null,di,{active:d(t)==="server"}),Ni=At(Li,1,"svelte-9auejo",null,Ni,{active:d(t)==="trusted"}),Wi=At(Oi,1,"svelte-9auejo",null,Wi,{active:d(t)==="clients"})}),G("click",Rt,()=>y(t,"ca")),G("click",vi,()=>y(t,"server")),G("click",Li,()=>y(t,"trusted")),G("click",Oi,()=>y(t,"clients")),G("click",Si,lt),E(o,oi),Rs()}Ks(["click"]);var _S=T('<div class="err svelte-17yczfe"> </div>'),GJ=T('<div class="ok svelte-17yczfe">Saved.</div>'),KJ=T('<label class="svelte-17yczfe">Public key (copy and install on the broker host) <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),ZJ=T('<label class="svelte-17yczfe">Install command (run on your local machine) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),XJ=T("<span> </span>"),YJ=T(`<div class="ssh-page svelte-17yczfe"><!> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH / Remote Mode</h3> <p class="hint svelte-17yczfe">SSH is used only for file operations (mosquitto.conf, certificates). User/ACL management works without SSH as long as she is connected to the broker's MQTT port.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host <input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port <input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user <input class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key) <input class="svelte-17yczfe"/></label></div> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH Keypair</h3> <p class="hint svelte-17yczfe">Generate a dedicated Ed25519 keypair for she to authenticate to the broker host. The private key is stored at <code class="svelte-17yczfe"> </code>.</p> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div> <!> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test SSH Connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div></div>`);function JJ(o,e){Ns(e,!0);let t=M(yi({})),i=M(""),n=M(!1),s=M(!1),r=M(""),a=M("~/.she/ssh/broker_id_ed25519"),c=M(""),u=M(!1),f=M(""),g=M(!1),p=M(""),w=M(yi({}));ao(async()=>{try{const[mt,Mt]=await Promise.all([Dl(),jR()]);y(w,mt,!0),Mt.sshKeyDefault&&y(a,Mt.sshKeyDefault,!0);const hi=d(w).broker??{};y(t,hi.ssh??{},!0),d(t).port||(d(t).port=22),d(t).user||(d(t).user="she"),d(t).identityFile||(d(t).identityFile=d(a))}catch(mt){y(i,mt.message,!0)}});async function m(){y(n,!0),y(r,""),y(s,!1);try{const mt=d(w).broker??{},Mt={...d(w),broker:{...mt,ssh:d(t)}};await Zp(Mt),y(s,!0),setTimeout(()=>y(s,!1),3e3)}catch(mt){y(r,mt.message,!0)}finally{y(n,!1)}}async function x(){y(u,!0),y(f,"");try{const mt=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Mt=await mt.json();if(!mt.ok)throw new Error(Mt.error??mt.statusText);y(c,Mt.publicKey,!0)}catch(mt){y(f,mt.message,!0)}finally{y(u,!1)}}async function k(){y(g,!0),y(p,"");try{const mt=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Mt=await mt.json();if(!mt.ok)throw new Error(Mt.error??mt.statusText);y(p,Mt.ok?"✓ Connection successful":"✗ "+(Mt.error??"Failed"),!0)}catch(mt){y(p,"✗ "+mt.message)}finally{y(g,!1)}}function D(mt){navigator.clipboard.writeText(mt).catch(()=>{})}const P=wt(()=>d(t).identityFile&&d(t).user&&d(t).host?`ssh-copy-id -i ${d(t).identityFile}.pub ${d(t).user}@${d(t).host}`:"");var A=YJ(),j=v(A);{var H=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(i))),E(mt,Mt)};W(j,mt=>{d(i)&&mt(H)})}var te=b(j,2),J=b(v(te),4),le=v(J),we=b(v(le)),We=b(le,2),ue=b(v(We)),et=b(We,2),rt=b(v(et)),me=b(et,2),lt=b(v(me)),ft=b(J,2);{var Pt=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(r))),E(mt,Mt)};W(ft,mt=>{d(r)&&mt(Pt)})}var Ne=b(ft,2);{var Lt=mt=>{var Mt=GJ();E(mt,Mt)};W(Ne,mt=>{d(s)&&mt(Lt)})}var Oe=b(Ne,2),Se=v(Oe),nt=v(Se),Ft=b(te,2),oi=b(v(Ft),2),Bt=b(v(oi)),Et=v(Bt),Rt=b(oi,2),Ct=v(Rt),vi=v(Ct),di=b(Rt,2);{var Li=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(f))),E(mt,Mt)};W(di,mt=>{d(f)&&mt(Li)})}var Ni=b(di,2);{var Oi=mt=>{var Mt=KJ(),hi=b(v(Mt)),Ti=v(hi),Xi=b(Ti,2);V(()=>UL(Ti,d(c))),G("click",Xi,()=>D(d(c))),E(mt,Mt)};W(Ni,mt=>{d(c)&&mt(Oi)})}var Wi=b(Ni,2);{var Si=mt=>{var Mt=ZJ(),hi=b(v(Mt)),Ti=v(hi),Xi=b(Ti,2);V(()=>UL(Ti,d(P))),G("click",Xi,()=>D(d(P))),E(mt,Mt)};W(Wi,mt=>{d(P)&&mt(Si)})}var ri=b(Ft,2),_i=b(v(ri),2),ki=v(_i),Vi=v(ki),Ri=b(ki,2);{var Mi=mt=>{var Mt=XJ();let hi;var Ti=v(Mt);V(Xi=>{hi=At(Mt,1,"test-result svelte-17yczfe",null,hi,Xi),F(Ti,d(p))},[()=>({ok:d(p).startsWith("✓"),fail:d(p).startsWith("✗")})]),E(mt,Mt)};W(Ri,mt=>{d(p)&&mt(Mi)})}V(()=>{Fi(lt,"placeholder",d(a)),Se.disabled=d(n),F(nt,d(n)?"Saving…":"Save"),F(Et,d(t).identityFile||d(a)),Ct.disabled=d(u),F(vi,d(u)?"Generating…":"Generate keypair"),ki.disabled=d(g)||!d(t).host,F(Vi,d(g)?"Testing…":"Test SSH connection")}),Xt(we,()=>d(t).host,mt=>d(t).host=mt),Xt(ue,()=>d(t).port,mt=>d(t).port=mt),Xt(rt,()=>d(t).user,mt=>d(t).user=mt),Xt(lt,()=>d(t).identityFile,mt=>d(t).identityFile=mt),G("click",Se,m),G("click",Ct,x),G("click",ki,k),E(o,A),Rs()}Ks(["click"]);var QJ=T('<div class="err svelte-d31be1"> </div>'),eQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">Requires <code class="svelte-d31be1">mosquitto_ctrl</code> to be installed on this machine (comes with <code class="svelte-d31be1">mosquitto-clients</code>).</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),tQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),iQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),nQ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),sQ=T(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-danger svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),oQ=T('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),rQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),aQ=T('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function lQ(o,e){Ns(e,!0);let t=M("intro"),i=M(""),n=M(!1),s=M("she-admin"),r=M(""),a=M("/etc/mosquitto"),c=M(null),u=M(!1),f=M(!1),g=M("she-admin"),p=M(""),w=M(!1);async function m(){y(n,!0),y(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?y(t,"done"):y(t,"config")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function x(){y(n,!0),y(i,"");try{const me=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:d(s),adminPassword:d(r)||void 0,configDir:d(a)})}),lt=await me.json();if(!me.ok||!lt.ok)throw new Error(lt.error??"Bootstrap failed");y(c,lt,!0);const ft=await Dl(),Pt=ft.broker??{};await Zp({...ft,broker:{...Pt,dynsec:{adminUsername:lt.adminUsername,adminPassword:lt.adminPassword}}}),y(t,"restart")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function k(){y(f,!0),y(i,"");try{await V7(),await new Promise(me=>setTimeout(me,2e3)),y(u,!0),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(f,!1)}}async function D(){y(w,!0),y(i,"");try{const me=await Dl(),lt=me.broker??{};await Zp({...me,broker:{...lt,dynsec:{adminUsername:d(g),adminPassword:d(p)}}}),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(w,!1)}}var P=aQ(),A=v(P),j=b(v(A),2),H=b(A,2);{var te=me=>{var lt=QJ(),ft=v(lt);V(()=>F(ft,d(i))),E(me,lt)};W(H,me=>{d(i)&&me(te)})}var J=b(H,2);{var le=me=>{var lt=eQ(),ft=b(v(lt),6),Pt=v(ft);V(()=>Pt.disabled=d(n)),G("click",Pt,()=>{y(t,"probe"),m()}),E(me,lt)},we=me=>{var lt=tQ(),ft=v(lt),Pt=v(ft);V(()=>F(Pt,d(n)?"Probing dynsec…":"Checking dynsec status…")),E(me,lt)},We=me=>{var lt=iQ(),ft=b(v(lt),2),Pt=b(v(ft)),Ne=b(ft,2),Lt=b(v(Ne)),Oe=b(Ne,2),Se=b(v(Oe)),nt=b(Oe,2),Ft=v(nt),oi=v(Ft);V(()=>{Ft.disabled=d(n)||!d(s),F(oi,d(n)?"Bootstrapping…":"Bootstrap dynsec")}),Xt(Pt,()=>d(s),Bt=>y(s,Bt)),Xt(Lt,()=>d(r),Bt=>y(r,Bt)),Xt(Se,()=>d(a),Bt=>y(a,Bt)),G("click",Ft,x),E(me,lt)},ue=me=>{var lt=sQ(),ft=b(v(lt),2),Pt=b(v(ft),3),Ne=v(Pt),Lt=b(ft,4),Oe=v(Lt),Se=v(Oe),nt=b(Oe,2),Ft=b(Lt,2);{var oi=Bt=>{var Et=nQ();E(Bt,Et)};W(Ft,Bt=>{d(f)&&Bt(oi)})}V(()=>{F(Ne,d(c).confFilePath),Oe.disabled=d(f),F(Se,d(f)?"Restarting…":"Restart mosquitto now")}),G("click",Oe,k),G("click",nt,()=>{y(t,"done")}),E(me,lt)},et=me=>{var lt=oQ(),ft=b(v(lt),4),Pt=v(ft);G("click",Pt,function(...Ne){var Lt;(Lt=e.onDone)==null||Lt.apply(this,Ne)}),E(me,lt)},rt=me=>{var lt=rQ(),ft=b(v(lt),2),Pt=b(v(ft)),Ne=b(ft,2),Lt=b(v(Ne)),Oe=b(Ne,2),Se=v(Oe),nt=b(Se,2),Ft=v(nt);V(()=>{nt.disabled=d(w)||!d(g)||!d(p),F(Ft,d(w)?"Saving…":"Save credentials")}),Xt(Pt,()=>d(g),oi=>y(g,oi)),Xt(Lt,()=>d(p),oi=>y(p,oi)),G("click",Se,()=>y(t,"intro")),G("click",nt,D),E(me,lt)};W(J,me=>{d(t)==="intro"?me(le):d(t)==="probe"?me(we,1):d(t)==="config"?me(We,2):d(t)==="restart"&&d(c)?me(ue,3):d(t)==="done"?me(et,4):d(t)==="manual"&&me(rt,5)})}G("click",j,()=>y(t,"manual")),E(o,P),Rs()}Ks(["click"]);var cQ=T('<div class="loading svelte-zeztkb">Loading…</div>'),dQ=T('<div class="error-banner svelte-zeztkb"> </div>'),uQ=T('<div class="status-badge ok svelte-zeztkb">Connected</div>'),hQ=T('<div class="status-badge err svelte-zeztkb">Disconnected</div>'),fQ=T('<button class="wizard-btn svelte-zeztkb">Run Setup Wizard</button>'),gQ=T('<div class="status-badge warn svelte-zeztkb">Not configured</div> <p class="hint svelte-zeztkb">Set <code class="svelte-zeztkb">broker.dynsec.adminUsername</code> and <code class="svelte-zeztkb">broker.dynsec.adminPassword</code> in Config to enable dynsec management.</p> <!>',1),pQ=T('<div class="status-grid svelte-zeztkb"><div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Dynamic Security</h3> <!></div> <div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Broker</h3> <dl class="svelte-zeztkb"><dt class="svelte-zeztkb">Version</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Uptime</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients connected</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients total</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages received</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages sent</dt> <dd class="svelte-zeztkb"> </dd></dl></div></div>'),_Q=T('<div class="tab-content svelte-zeztkb" style="padding-top:0"><!></div>'),mQ=T('<div class="tab-content svelte-zeztkb"><!></div> <!>',1),vQ=T('<div class="broker-page svelte-zeztkb"><div class="sub-nav svelte-zeztkb"><button>Status</button> <button>Users & Roles</button> <button>Listeners</button> <button>Certificates</button> <button>SSH / Remote</button></div> <!></div>');function bQ(o,e){Ns(e,!0);let t=M(!1),i=M("status"),n=M(null),s=M(""),r=M(!0);async function a(){try{y(n,await jR(),!0),y(s,"")}catch(ue){y(s,ue.message??"Failed to load broker status",!0)}finally{y(r,!1)}}ao(()=>{a();const ue=setInterval(a,1e4);return()=>clearInterval(ue)});function c(ue){var rt;if(!((rt=d(n))!=null&&rt.sys))return"—";const et=d(n).sys[ue];return et?String(et.val??"—"):"—"}var u=vQ(),f=v(u),g=v(f);let p;var w=b(g,2);let m;var x=b(w,2);let k;var D=b(x,2);let P;var A=b(D,2);let j;var H=b(f,2);{var te=ue=>{var et=mQ(),rt=Dt(et),me=v(rt);{var lt=Oe=>{var Se=cQ();E(Oe,Se)},ft=Oe=>{var Se=dQ(),nt=v(Se);V(()=>F(nt,d(s))),E(Oe,Se)},Pt=Oe=>{var Se=pQ(),nt=v(Se),Ft=b(v(nt),2);{var oi=Ri=>{var Mi=Vs(),mt=Dt(Mi);{var Mt=Ti=>{var Xi=uQ();E(Ti,Xi)},hi=Ti=>{var Xi=hQ();E(Ti,Xi)};W(mt,Ti=>{d(n).dynsec.connected?Ti(Mt):Ti(hi,-1)})}E(Ri,Mi)},Bt=Ri=>{var Mi=gQ(),mt=b(Dt(Mi),4);{var Mt=hi=>{var Ti=fQ();G("click",Ti,()=>y(t,!0)),E(hi,Ti)};W(mt,hi=>{d(t)||hi(Mt)})}E(Ri,Mi)};W(Ft,Ri=>{d(n).dynsec.configured?Ri(oi):Ri(Bt,-1)})}var Et=b(nt,2),Rt=b(v(Et),2),Ct=b(v(Rt),2),vi=v(Ct),di=b(Ct,4),Li=v(di),Ni=b(di,4),Oi=v(Ni),Wi=b(Ni,4),Si=v(Wi),ri=b(Wi,4),_i=v(ri),ki=b(ri,4),Vi=v(ki);V((Ri,Mi,mt,Mt,hi,Ti)=>{F(vi,Ri),F(Li,Mi),F(Oi,mt),F(Si,Mt),F(_i,hi),F(Vi,Ti)},[()=>c("$SYS/broker/version"),()=>c("$SYS/broker/uptime"),()=>c("$SYS/broker/clients/connected"),()=>c("$SYS/broker/clients/total"),()=>c("$SYS/broker/messages/received"),()=>c("$SYS/broker/messages/sent")]),E(Oe,Se)};W(me,Oe=>{d(r)?Oe(lt):d(s)?Oe(ft,1):d(n)&&Oe(Pt,2)})}var Ne=b(rt,2);{var Lt=Oe=>{var Se=_Q(),nt=v(Se);lQ(nt,{onDone:()=>{y(t,!1),a()}}),E(Oe,Se)};W(Ne,Oe=>{d(t)&&d(n)&&!d(n).dynsec.configured&&Oe(Lt)})}E(ue,et)},J=ue=>{lJ(ue,{})},le=ue=>{mJ(ue,{})},we=ue=>{qJ(ue,{})},We=ue=>{JJ(ue,{})};W(H,ue=>{d(i)==="status"?ue(te):d(i)==="users"?ue(J,1):d(i)==="listeners"?ue(le,2):d(i)==="certs"?ue(we,3):d(i)==="ssh"&&ue(We,4)})}V(()=>{p=At(g,1,"svelte-zeztkb",null,p,{active:d(i)==="status"}),m=At(w,1,"svelte-zeztkb",null,m,{active:d(i)==="users"}),k=At(x,1,"svelte-zeztkb",null,k,{active:d(i)==="listeners"}),P=At(D,1,"svelte-zeztkb",null,P,{active:d(i)==="certs"}),j=At(A,1,"svelte-zeztkb",null,j,{active:d(i)==="ssh"})}),G("click",g,()=>y(i,"status")),G("click",w,()=>y(i,"users")),G("click",x,()=>y(i,"listeners")),G("click",D,()=>y(i,"certs")),G("click",A,()=>y(i,"ssh")),E(o,u),Rs()}Ks(["click"]);var yQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),wQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),SQ=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),CQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),xQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),kQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),LQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),IQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),DQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),EQ=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),TQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),PQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),MQ=T('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),NQ=T('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),RQ=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),AQ=T('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),OQ=T('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),FQ=T('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),HQ=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),WQ=T('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),BQ=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zQ=T('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),VQ=T('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><rect x="1" y="2" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><rect x="1" y="8" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><line x1="4" y1="4" x2="4" y2="4" class="svelte-1n46o8q"></line><circle cx="4" cy="4" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle><circle cx="4" cy="10" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle></svg> Broker</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),jQ=T('<div class="login-error svelte-1n46o8q"> </div>'),$Q=T('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),UQ=T('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),qQ=T('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),GQ=T("<!> <!> <!> <!>",1);function KQ(o,e){Ns(e,!0);const t=["scripts","mqtt","matter","broker","db","logs","config","packages"];function i(){const Ct=location.hash.slice(1);return t.includes(Ct)?Ct:"scripts"}let n=M(yi(i())),s=M(null),r=M(!1),a=M(!1),c=M(!1),u=M(!1),f=M("none"),g=M(""),p=M(!1),w=M(""),m=M(""),x=M(!1),k=M(!1);c7(()=>{y(p,!0)});async function D(){y(m,""),y(x,!0);try{await h7(d(w)),y(w,""),y(p,!1)}catch(Ct){y(m,Ct.message??"Login failed",!0)}finally{y(x,!1)}}async function P(){if(d(f)==="proxy"&&d(g)){window.location.href=d(g);return}await f7(),y(p,!0)}let A=M(null),j=M(!1),H=M(!1),te=M(!1),J=M(!1),le=M(yi([])),we=M(0),We=M(yi([]));const ue=wt(()=>d(We).filter(Ct=>Ct.online).length),et=wt(()=>d(We).length===0?"none":d(ue)===d(We).length?"all":d(ue)>0?"some":"offline");let rt=M(!1),me=M(!1);async function lt(){if(!await d(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;y(j,!0);let Ct;try{Ct=(await Wg()).startedAt}catch{}try{await NR()}catch{}const vi=Date.now()+6e4;for(;Date.now()<vi;){await new Promise(di=>setTimeout(di,250));try{const di=await Wg();if(Ct===void 0||di.startedAt!==Ct){location.reload();return}}catch{}}location.reload()}async function ft(){y(c,!0);try{const Ct=await b7();d(s)&&y(s,{...d(s),latestVersion:Ct.latestVersion??void 0},!0)}catch{}finally{y(c,!1)}}async function Pt(){var di,Li;if(!await d(A).show(`Update to v${(di=d(s))==null?void 0:di.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;y(a,!1),y(u,!0);const Ct=(Li=d(s))==null?void 0:Li.startedAt;try{await v7()}catch{}const vi=Date.now()+18e4;for(;Date.now()<vi;){await new Promise(Ni=>setTimeout(Ni,1e3));try{const Ni=await Wg();if(Ct===void 0||Ni.startedAt!==Ct){location.reload();return}}catch{y(u,!1),y(j,!0)}}location.reload()}function Ne(Ct){y(n,Ct,!0),location.hash=Ct}ao(async()=>{location.hash||(location.hash=d(n));const Ct=()=>{y(n,i(),!0)};window.addEventListener("hashchange",Ct);try{const ri=await u7();y(f,ri.mode,!0),y(g,ri.proxyLogoutUrl??"",!0),d(f)==="password"&&(await fetch("/she/scripts")).status===401&&y(p,!0)}catch{}y(k,!0);async function vi(){try{y(s,await Wg(),!0)}catch{}try{const[ri,_i]=await Promise.all([OR(),Dl()]);y(le,Array.isArray(_i.pinnedPackages)?_i.pinnedPackages:[],!0),y(we,Object.keys(ri).filter(ki=>!d(le).includes(ki)).length,!0)}catch{}}vi();const di=setInterval(vi,5e3),Li=kr("mqtt:status",ri=>{ri.connected===!1?(y(J,!0),y(H,!1),y(te,!1)):(y(J,!1),y(H,ri.ready===!1),y(te,ri.ready===!0))}),Ni=kr("matter:deviceList",ri=>{Array.isArray(ri.devices)&&y(We,ri.devices.map(_i=>({nodeId:String(_i.nodeId),online:!!_i.online})),!0)}),Oi=kr("matter:deviceStatus",ri=>{if(ri.nodeId===void 0)return;const _i=String(ri.nodeId),ki=!!ri.online;y(We,d(We).map(Vi=>Vi.nodeId===_i?{...Vi,online:ki}:Vi),!0)}),Wi=$R();y(rt,Wi.some(ri=>ri.level==="error"),!0),y(me,!d(rt)&&Wi.some(ri=>ri.level==="warn"),!0);const Si=kk(ri=>{ri.level==="error"?(y(rt,!0),y(me,!1)):ri.level==="warn"&&!d(rt)&&y(me,!0)});return()=>{window.removeEventListener("hashchange",Ct),clearInterval(di),Li(),Ni(),Oi(),Si()}});var Lt=GQ();cs("click",wP,()=>{d(r)&&y(r,!1),d(a)&&y(a,!1)});var Oe=Dt(Lt);{var Se=Ct=>{var vi=VQ(),di=v(vi),Li=b(v(di),2);let Ni;var Oi=b(Li,2);let Wi;var Si=b(v(Oi),2);{var ri=ge=>{var ve=yQ();V(()=>Fi(ve,"title",`${d(we)??""} package update${d(we)===1?"":"s"} available`)),E(ge,ve)};W(Si,ge=>{d(we)>0&&ge(ri)})}var _i=b(Oi,2);let ki;var Vi=b(v(_i),2);{var Ri=ge=>{var ve=wQ();E(ge,ve)},Mi=ge=>{var ve=SQ();E(ge,ve)},mt=ge=>{var ve=CQ();E(ge,ve)};W(Vi,ge=>{d(J)?ge(Ri):d(H)?ge(Mi,1):d(te)&&ge(mt,2)})}var Mt=b(_i,2);let hi;var Ti=b(v(Mt),2);{var Xi=ge=>{var ve=xQ();E(ge,ve)},ji=ge=>{var ve=kQ();E(ge,ve)},Tn=ge=>{var ve=LQ();E(ge,ve)};W(Ti,ge=>{d(et)==="all"?ge(Xi):d(et)==="some"?ge(ji,1):d(et)==="offline"&&ge(Tn,2)})}var Fe=b(Mt,2);let ei;var ui=b(Fe,2);let Pi;var $e=b(ui,2);let Ut;var fi=b(v($e),2);{var Ii=ge=>{var ve=IQ();E(ge,ve)},qe=ge=>{var ve=DQ();E(ge,ve)};W(fi,ge=>{d(rt)?ge(Ii):d(me)&&ge(qe,1)})}var he=b($e,4),K=b(v(he),2),ae=v(K),xe=v(ae);xe.nodeValue="v1.1.1 ";var Pe=b(xe);{var ot=ge=>{var ve=EQ();E(ge,ve)};W(Pe,ge=>{var ve,vt;(ve=d(s))!=null&&ve.latestVersion&&!((vt=d(s))!=null&&vt.docker)&&ge(ot)})}var R=b(ae,2);{var Q=ge=>{var ve=NQ(),vt=v(ve),Ei=b(v(vt));Ei.textContent="v1.1.1";var Te=b(Ei,2);{var Ge=Ae=>{var De=TQ(),zt=b(Dt(De)),kt=v(zt);V(()=>F(kt,`v${d(s).latestVersion??""}`)),E(Ae,De)},Wt=Ae=>{var De=PQ();E(Ae,De)};W(Te,Ae=>{var De;(De=d(s))!=null&&De.latestVersion?Ae(Ge):Ae(Wt,-1)})}var Je=b(vt,2),bt=v(Je);{var Kt=Ae=>{var De=MQ(),zt=b(v(De));V(()=>F(zt,` Update to v${d(s).latestVersion??""}`)),G("click",De,Pt),E(Ae,De)};W(bt,Ae=>{var De;(De=d(s))!=null&&De.latestVersion&&Ae(Kt)})}var q=b(bt,2),ne=v(q);let Ve;var Qe=b(ne);V(()=>{q.disabled=d(c),Ve=At(ne,0,"svelte-1n46o8q",null,Ve,{spinning:d(c)}),F(Qe,` ${d(c)?"Checking…":"Check for updates"}`)}),G("click",ve,Ae=>Ae.stopPropagation()),G("click",q,ft),E(ge,ve)};W(R,ge=>{var ve;d(a)&&!((ve=d(s))!=null&&ve.docker)&&ge(Q)})}var Y=b(K,2),fe=v(Y),_e=b(fe,2);{var $=ge=>{var ve=BQ(),vt=v(ve);{var Ei=bt=>{var Kt=FQ(),q=v(Kt);{var ne=pt=>{const _t=wt(()=>Math.floor((Date.now()-d(s).startedAt)/1e3)),Ze=wt(()=>Math.floor(d(_t)/86400)),qt=wt(()=>Math.floor(d(_t)%86400/3600)),ii=wt(()=>Math.floor(d(_t)%3600/60));var cn=RQ(),en=b(Dt(cn)),Dn=v(en);V(()=>F(Dn,`${d(Ze)>0?d(Ze)+"d ":""}${d(qt)>0||d(Ze)>0?d(qt)+"h ":""}${d(ii)??""}m`)),E(pt,cn)};W(q,pt=>{d(s).startedAt&&pt(ne)})}var Ve=b(q,3),Qe=v(Ve),Ae=b(Ve,3),De=v(Ae),zt=b(Ae,3),kt=v(zt),Ke=b(zt,2);{var Vt=pt=>{var _t=AQ(),Ze=b(Dt(_t)),qt=v(Ze),ii=b(Ze,3),cn=v(ii);V(()=>{F(qt,d(s).matterNodes??0),F(cn,d(s).matterEndpoints??0)}),E(pt,_t)};W(Ke,pt=>{d(s).matterEnabled&&pt(Vt)})}var tt=b(Ke,2);{var Ee=pt=>{var _t=OQ(),Ze=b(Dt(_t)),qt=v(Ze),ii=b(Ze,3),cn=v(ii);V(()=>{F(qt,d(s).dbDocs??"—"),F(cn,d(s).dbViews??"—")}),E(pt,_t)};W(tt,pt=>{d(s).dbEnabled&&pt(Ee)})}var He=b(tt,3),Be=v(He),ze=b(He,3),Tt=v(ze),ye=b(ze,3),it=v(ye);V(()=>{F(Qe,d(s).scripts),F(De,d(s).topics),F(kt,d(s).mqttMsgPerSec??"—"),F(Be,d(s).handlers??"—"),F(Tt,d(s).memMb!=null?d(s).memMb+" MB":"—"),F(it,d(s).cpuPercent!=null?d(s).cpuPercent+" %":"—")}),E(bt,Kt)},Te=bt=>{var Kt=HQ();E(bt,Kt)};W(vt,bt=>{d(s)?bt(Ei):bt(Te,-1)})}var Ge=b(vt,2),Wt=v(Ge);{var Je=bt=>{var Kt=WQ();G("click",Kt,()=>{y(r,!1),lt()}),E(bt,Kt)};W(Wt,bt=>{var Kt;(Kt=d(s))!=null&&Kt.docker||bt(Je)})}G("click",ve,bt=>bt.stopPropagation()),E(ge,ve)};W(_e,ge=>{d(r)&&ge($)})}var Z=b(Y,2);let ie;var Ce=b(Z,2);{var gt=ge=>{var ve=zQ();G("click",ve,P),E(ge,ve)};W(Ce,ge=>{d(f)==="password"&&ge(gt)})}var Re=b(di,2),Ie=v(Re);Ds(Jf(Ie,{}),ge=>y(A,ge,!0),()=>d(A));var st=b(Ie,2);let It;var St=v(st);{let ge=wt(()=>d(n)==="scripts");hK(St,{get active(){return d(ge)}})}var si=b(st,2);let ti;var se=v(si);WY(se,{});var Le=b(si,2);let at;var xt=v(Le);yY(xt,{});var ht=b(Le,2);let Xe;var Ht=v(ht);ZX(Ht,{});var ai=b(ht,2);let bi;var Di=v(ai);bQ(Di,{});var fn=b(ai,2);let Cn;var un=v(fn);oX(un,{});var xi=b(fn,2);let gn;var z=v(xi);YK(z,{});var ee=b(xi,2);let Ue;var Ye=v(ee);tZ(Ye,{}),V(()=>{Ni=At(Li,1,"svelte-1n46o8q",null,Ni,{active:d(n)==="scripts"}),Wi=At(Oi,1,"svelte-1n46o8q",null,Wi,{active:d(n)==="packages"}),ki=At(_i,1,"svelte-1n46o8q",null,ki,{active:d(n)==="mqtt"}),hi=At(Mt,1,"svelte-1n46o8q",null,hi,{active:d(n)==="matter"}),ei=At(Fe,1,"svelte-1n46o8q",null,ei,{active:d(n)==="broker"}),Pi=At(ui,1,"svelte-1n46o8q",null,Pi,{active:d(n)==="db"}),Ut=At($e,1,"svelte-1n46o8q",null,Ut,{active:d(n)==="logs"}),ie=At(Z,1,"nav-settings svelte-1n46o8q",null,ie,{active:d(n)==="config"}),It=At(st,1,"page-wrap svelte-1n46o8q",null,It,{hidden:d(n)!=="scripts"}),ti=At(si,1,"page-wrap svelte-1n46o8q",null,ti,{hidden:d(n)!=="packages"}),at=At(Le,1,"page-wrap svelte-1n46o8q",null,at,{hidden:d(n)!=="mqtt"}),Xe=At(ht,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:d(n)!=="matter"}),bi=At(ai,1,"page-wrap svelte-1n46o8q",null,bi,{hidden:d(n)!=="broker"}),Cn=At(fn,1,"page-wrap svelte-1n46o8q",null,Cn,{hidden:d(n)!=="db"}),gn=At(xi,1,"page-wrap svelte-1n46o8q",null,gn,{hidden:d(n)!=="config"}),Ue=At(ee,1,"page-wrap svelte-1n46o8q",null,Ue,{hidden:d(n)!=="logs"})}),G("click",Li,()=>Ne("scripts")),G("click",Oi,()=>Ne("packages")),G("click",_i,()=>Ne("mqtt")),G("click",Mt,()=>Ne("matter")),G("click",Fe,()=>Ne("broker")),G("click",ui,()=>Ne("db")),G("click",$e,()=>{Ne("logs"),y(rt,!1),y(me,!1)}),G("click",ae,ge=>{ge.stopPropagation(),y(a,!d(a)),y(r,!1)}),G("click",fe,ge=>{ge.stopPropagation(),y(r,!d(r)),y(a,!1)}),G("click",Z,()=>Ne("config")),E(Ct,vi)};W(Oe,Ct=>{d(k)&&!d(p)&&Ct(Se)})}var nt=b(Oe,2);{var Ft=Ct=>{var vi=$Q(),di=v(vi),Li=b(v(di),4),Ni=b(v(Li),2),Oi=b(Li,2);{var Wi=_i=>{var ki=jQ(),Vi=v(ki);V(()=>F(Vi,d(m))),E(_i,ki)};W(Oi,_i=>{d(m)&&_i(Wi)})}var Si=b(Oi,2),ri=v(Si);V(()=>{Ni.disabled=d(x),Si.disabled=d(x)||!d(w),F(ri,d(x)?"Signing in…":"Sign in")}),cs("submit",di,_i=>{_i.preventDefault(),D()}),Xt(Ni,()=>d(w),_i=>y(w,_i)),E(Ct,vi)};W(nt,Ct=>{d(p)&&Ct(Ft)})}var oi=b(nt,2);{var Bt=Ct=>{var vi=UQ();E(Ct,vi)};W(oi,Ct=>{d(j)&&Ct(Bt)})}var Et=b(oi,2);{var Rt=Ct=>{var vi=qQ();E(Ct,vi)};W(Et,Ct=>{d(u)&&Ct(Rt)})}E(o,Lt),Rs()}Ks(["click"]);DH(KQ,{target:document.getElementById("app")});export{tM as t};
|
|
230
|
+
*[stopped]*`,toolEvents:d(ue).length>0?[...d(ue)]:void 0}],!0)}else y(c,ee.message,!0)}finally{D=null,y(s,null),y(ue,[],!0),y(a,!1)}}}function hi(){D==null||D.abort()}function Ti(z){z.key==="Enter"&&!z.shiftKey&&(z.preventDefault(),Mt())}function Xi(){y(n,[],!0),y(c,"")}const ji=["Write a view to list all document IDs","Write a view to sum a numeric property across all documents","Write a view that filters to a specific prefix and emits a field","Write a reduce that returns the maximum value","Explain how the current view works"];function Tn(z){y(r,z,!0),rt==null||rt.focus()}var Fe=HZ(),ei=Dt(Fe),ui=v(ei),Pi=b(v(ui),2);{var $e=z=>{var ee=iZ(),Ue=v(ee);{var Ye=ve=>{var vt=sa();V(()=>F(vt,`${d(u).provider??""} · ${(d(g)||d(u).model)??""}`)),E(ve,vt)},ge=ve=>{var vt=sa("Not configured");E(ve,vt)};W(Ue,ve=>{d(ft)?ve(Ye):ve(ge,-1)})}V(()=>Fi(ee,"title",`Provider: ${d(u).provider??""}`)),E(z,ee)};W(Pi,z=>{d(u)&&z($e)})}var Ut=b(Pi,2);{var fi=z=>{var ee=nZ();G("click",ee,Xi),E(z,ee)};W(Ut,z=>{d(n).length>0&&z(fi)})}var Ii=b(ui,2),qe=v(Ii);{var he=z=>{var ee=sZ();E(z,ee)},K=z=>{var ee=aZ(),Ue=v(ee),Ye=v(Ue);{var ge=Ei=>{var Te=oZ(),Ge=b(Dt(Te)),Wt=v(Ge);V(()=>F(Wt,t().id)),E(Ei,Te)},ve=Ei=>{var Te=sa("No view selected. Ask a general sheDB view question.");E(Ei,Te)};W(Ye,Ei=>{t()?Ei(ge):Ei(ve,-1)})}var vt=b(Ue,2);pi(vt,17,()=>ji,rn,(Ei,Te)=>{var Ge=rZ(),Wt=v(Ge);V(()=>F(Wt,d(Te))),G("click",Ge,()=>Tn(d(Te))),E(Ei,Ge)}),E(z,ee)};W(qe,z=>{d(ft)?d(n).length===0&&d(s)===null&&z(K,1):z(he)})}var ae=b(qe,2);pi(ae,17,()=>d(n),rn,(z,ee,Ue)=>{var Ye=fZ(),ge=v(Ye);{var ve=Ei=>{var Te=lZ(),Ge=v(Te);V(()=>F(Ge,d(ee).content)),E(Ei,Te)},vt=Ei=>{const Te=wt(()=>Oe(d(ee).content)),Ge=wt(()=>nt(d(Te)));var Wt=hZ(),Je=Dt(Wt);{var bt=Ae=>{var De=cE();pi(De,21,()=>d(ee).toolEvents,rn,(zt,kt)=>{var Ke=Vs(),Vt=Dt(Ke);{var tt=He=>{var Be=aE(),ze=b(v(Be)),Tt=v(ze);V(ye=>F(Tt,ye),[()=>d(kt).name.replace(/_/g," ")]),E(He,Be)},Ee=He=>{var Be=lE(),ze=b(v(Be)),Tt=v(ze);V(ye=>F(Tt,ye),[()=>d(kt).name.replace(/_/g," ")]),E(He,Be)};W(Vt,He=>{d(kt).type==="tool_call"?He(tt):He(Ee,-1)})}E(zt,Ke)}),E(Ae,De)};W(Je,Ae=>{var De;(De=d(ee).toolEvents)!=null&&De.length&&Ae(bt)})}var Kt=b(Je,2),q=v(Kt);pi(q,17,()=>d(Te),rn,(Ae,De,zt)=>{var kt=Vs(),Ke=Dt(kt);{var Vt=Ee=>{var He=dE();sc(He,()=>vi(d(De).text),!0),E(Ee,He)},tt=Ee=>{const He=wt(()=>`${Ue}:${zt}`),Be=wt(()=>Et(d(De).text)),ze=wt(()=>d(p).has(d(He))),Tt=wt(()=>d(De).lang==="filter");var ye=dZ(),it=v(ye),pt=v(it),_t=v(pt),Ze=b(pt,2),qt=v(Ze),ii=b(it,2);let cn;var en=v(ii),Dn=v(en);sc(Dn,()=>Ct(d(De).text,d(De).lang??""),!0);var Jn=b(en,2);{var Gi=gi=>{var bn=cZ(),ln=v(bn);V(()=>F(ln,d(ze)?"▲ collapse":"▼ expand")),G("click",bn,()=>Rt(d(He))),E(gi,bn)};W(Jn,gi=>{d(Be)&&gi(Gi)})}V(()=>{F(_t,d(Tt)?"filter":d(De).lang),cn=At(ii,1,"code-body svelte-1twuiul",null,cn,{collapsed:d(Be)&&!d(ze)})}),G("click",qt,()=>Li(d(De).text)),E(Ee,ye)};W(Ke,Ee=>{d(De).type==="text"?Ee(Vt):Ee(tt,-1)})}E(Ae,kt)});var ne=b(q,2);{var Ve=Ae=>{var De=uZ(),zt=v(De),kt=v(zt);V(Ke=>F(kt,Ke),[()=>oi(d(Ge))]),G("click",zt,()=>e.onApplyView(d(Ge))),E(Ae,De)},Qe=wt(()=>Ft(d(Ge))&&e.onApplyView);W(ne,Ae=>{d(Qe)&&Ae(Ve)})}E(Ei,Wt)};W(ge,Ei=>{d(ee).role==="user"?Ei(ve):Ei(vt,-1)})}V(()=>At(Ye,1,`message ${d(ee).role??""}`,"svelte-1twuiul")),E(z,Ye)});var xe=b(ae,2);{var Pe=z=>{var ee=cE();pi(ee,21,()=>d(ue),rn,(Ue,Ye)=>{var ge=Vs(),ve=Dt(ge);{var vt=Te=>{var Ge=aE(),Wt=b(v(Ge)),Je=v(Wt);V(bt=>F(Je,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)},Ei=Te=>{var Ge=lE(),Wt=b(v(Ge)),Je=v(Wt);V(bt=>F(Je,bt),[()=>d(Ye).name.replace(/_/g," ")]),E(Te,Ge)};W(ve,Te=>{d(Ye).type==="tool_call"?Te(vt):Te(Ei,-1)})}E(Ue,ge)}),E(z,ee)};W(xe,z=>{d(ue).length>0&&z(Pe)})}var ot=b(xe,2);{var R=z=>{var ee=gZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye);V(()=>F(ge,A[d(P)])),E(z,ee)};W(ot,z=>{d(a)&&d(s)===null&&d(ue).length===0&&z(R)})}var Q=b(ot,2);{var Y=z=>{var ee=_Z(),Ue=v(ee);pi(Ue,21,()=>Se(d(s)),rn,(Ye,ge)=>{var ve=Vs(),vt=Dt(ve);{var Ei=Ge=>{var Wt=dE();sc(Wt,()=>vi(d(ge).text),!0),E(Ge,Wt)},Te=Ge=>{var Wt=pZ(),Je=v(Wt),bt=v(Je),Kt=v(bt),q=b(Je,2),ne=v(q);sc(ne,()=>Ct(d(ge).text,d(ge).lang??""),!0),V(()=>F(Kt,d(ge).lang)),E(Ge,Wt)};W(vt,Ge=>{d(ge).type==="text"?Ge(Ei):Ge(Te,-1)})}E(Ye,ve)}),E(z,ee)};W(Q,z=>{d(s)!==null&&z(Y)})}Ds(Ii,z=>me=z,()=>me);var fe=b(Ii,2);{var _e=z=>{var ee=mZ(),Ue=v(ee);V(()=>F(Ue,d(c))),E(z,ee)};W(fe,z=>{d(c)&&z(_e)})}var $=b(fe,2),Z=v($),ie=v(Z),Ce=b(Z,2),gt=v(Ce),Re=b(Ce,2),Ie=v(Re),st=b(Re,2),It=v(st),St=b($,2),si=v(St);{var ti=z=>{var ee=vZ();let Ue;var Ye=b(v(ee),2),ge=v(Ye),ve=b(Ye,2),vt=v(ve);V(()=>{Ue=At(ee,1,"file-chip svelte-1twuiul",null,Ue,{inactive:!d(le)}),F(ge,t().id),Fi(ve,"title",d(le)?"Remove from context":"Re-add to context"),F(vt,d(le)?"×":"+")}),G("click",ve,()=>y(le,!d(le))),E(z,ee)};W(si,z=>{t()&&z(ti)})}var se=b(si,2);pi(se,17,()=>d(J),rn,(z,ee,Ue)=>{const Ye=wt(()=>Wi(d(ee).name));var ge=bZ(),ve=v(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei),Ge=b(Ei,2);V((Wt,Je)=>{At(ve,1,`badge badge-${Wt??""}`,"svelte-1twuiul"),F(vt,Je),F(Te,d(ee).name)},[()=>d(Ye).toLowerCase(),()=>Si(d(Ye))]),G("click",Ge,()=>ri(Ue)),E(z,ge)});var Le=b(se,2),at=b(Le,2);Ds(at,z=>We=z,()=>We);var xt=b(St,2);let ht;var Xe=v(xt);let Ht;var ai=v(Xe);Ds(ai,z=>rt=z,()=>rt);var bi=b(Xe,2);{var Di=z=>{var ee=yZ();G("click",ee,hi),E(z,ee)},fn=z=>{var ee=wZ();V(Ue=>ee.disabled=Ue,[()=>!d(r).trim()||!d(ft)]),G("click",ee,Mt),E(z,ee)};W(bi,z=>{d(a)?z(Di):z(fn,-1)})}var Cn=b(xt,2);{var un=z=>{var ee=LZ(),Ue=v(ee),Ye=v(Ue),ge=b(Ue,2);{var ve=Ge=>{var Wt=CZ();pi(Wt,21,()=>d(f),rn,(Je,bt)=>{var Kt=SZ(),q=v(Kt),ne={};V(()=>{F(q,d(bt)),ne!==(ne=d(bt))&&(Kt.value=(Kt.__value=d(bt))??"")}),E(Je,Kt)}),V(()=>Wt.disabled=d(a)),Ho(Wt,()=>d(g),Je=>y(g,Je)),E(Ge,Wt)},vt=Ge=>{var Wt=xZ(),Je=v(Wt);V(()=>F(Je,d(g)||d(u).model)),E(Ge,Wt)};W(ge,Ge=>{d(f).length>0?Ge(ve):Ge(vt,-1)})}var Ei=b(ge,2);{var Te=Ge=>{var Wt=kZ();G("click",Wt,Ni),E(Ge,Wt)};W(Ei,Ge=>{d(u).provider==="ollama"&&Ge(Te)})}V(()=>F(Ye,d(u).provider)),E(z,ee)};W(Cn,z=>{d(ft)&&d(u)&&z(un)})}var xi=b(ei,2);{var gn=z=>{var ee=FZ(),Ue=v(ee),Ye=v(Ue),ge=v(Ye),ve=v(ge),vt=b(ge,2),Ei=b(Ye,2),Te=v(Ei);{var Ge=bt=>{var Kt=IZ();E(bt,Kt)},Wt=bt=>{var Kt=DZ(),q=v(Kt);V(()=>F(q,d(k))),E(bt,Kt)},Je=bt=>{var Kt=OZ(),q=v(Kt);{var ne=Ee=>{var He=EZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).version)),E(Ee,He)};W(q,Ee=>{d(m).version&&Ee(ne)})}var Ve=b(q,2);{var Qe=Ee=>{var He=TZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.family)),E(Ee,He)};W(Ve,Ee=>{var He;(He=d(m).details)!=null&&He.family&&Ee(Qe)})}var Ae=b(Ve,2);{var De=Ee=>{var He=PZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.parameter_size)),E(Ee,He)};W(Ae,Ee=>{var He;(He=d(m).details)!=null&&He.parameter_size&&Ee(De)})}var zt=b(Ae,2);{var kt=Ee=>{var He=MZ(),Be=b(Dt(He)),ze=v(Be);V(()=>F(ze,d(m).details.quantization_level)),E(Ee,He)};W(zt,Ee=>{var He;(He=d(m).details)!=null&&He.quantization_level&&Ee(kt)})}var Ke=b(zt,2);{var Vt=Ee=>{var He=RZ(),Be=b(Dt(He),2);pi(Be,21,()=>d(m).running,rn,(ze,Tt)=>{var ye=NZ(),it=v(ye);V(pt=>F(it,`${d(Tt).name??""} · ${pt??""} VRAM`),[()=>Oi(d(Tt).size_vram)]),E(ze,ye)}),E(Ee,He)},tt=Ee=>{var He=AZ();E(Ee,He)};W(Ke,Ee=>{d(m).running&&d(m).running.length>0?Ee(Vt):d(m).running!==null&&Ee(tt,1)})}E(bt,Kt)};W(Te,bt=>{d(x)?bt(Ge):d(k)?bt(Wt,1):d(m)&&bt(Je,2)})}V(()=>{var bt;return F(ve,`Ollama · ${(d(g)||((bt=d(u))==null?void 0:bt.model))??""}`)}),G("click",ee,()=>y(w,!1)),G("click",Ue,bt=>bt.stopPropagation()),G("click",vt,()=>y(w,!1)),E(z,ee)};W(xi,z=>{d(w)&&z(gn)})}V(z=>{F(It,z),ht=At(xt,1,"input-row svelte-1twuiul",null,ht,{"drag-over":d(we)}),Ht=At(Xe,1,"textarea-wrap svelte-1twuiul",null,Ht,{loading:d(a)}),Fi(ai,"placeholder",d(ft)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ai.disabled=d(a)||!d(ft)},[()=>Oi(d(Pt))]),Is(ie,()=>d(j),z=>y(j,z)),Is(gt,()=>d(H),z=>y(H,z)),Is(Ie,()=>d(te),z=>y(te,z)),G("click",Le,_i),G("change",at,Vi),cs("dragover",xt,Mi),cs("dragleave",xt,mt),cs("drop",xt,Ri),G("keydown",ai,Ti),Xt(ai,()=>d(r),z=>y(r,z)),E(o,Fe),Rs()}Ks(["click","change","keydown"]);var BZ=T('<div class="me svelte-1pxdb1"></div>');function gS(o,e){Ns(e,!0);let t=Cf(e,"value",15,""),i=Cf(e,"language",3,"javascript"),n,s,r=!1;ao(()=>{const c=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=dr.create(n,{value:t(),language:i(),theme:"vs-dark",minimap:{enabled:!1},scrollBeyondLastLine:!1,fontSize:13,fontFamily:"'Cascadia Code', 'Fira Code', monospace",automaticLayout:!0,wordWrap:"on",lineNumbers:"on",renderLineHighlight:"none",overviewRulerLanes:0,scrollbar:{verticalScrollbarSize:6,horizontalScrollbarSize:6},...c}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Wy(()=>s==null?void 0:s.dispose()),$n(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=BZ();Ds(a,c=>n=c,()=>n),E(o,a),Rs()}var zZ=T('<!> <div class="welcome svelte-rrt0o"><div class="welcome-inner svelte-rrt0o"><div class="welcome-logo svelte-rrt0o">db</div> <p class="welcome-sub svelte-rrt0o">sheDB — embedded JSON document store with MapReduce views</p> <div class="welcome-hint svelte-rrt0o"><strong>In scripts:</strong> use <code class="svelte-rrt0o">she.db.get(id)</code>, <code class="svelte-rrt0o">she.db.set(id, doc)</code>, <code class="svelte-rrt0o">she.db.extend(id, partial)</code>, <code class="svelte-rrt0o">she.db.sub(pattern, cb)</code>.<br/> <strong>Views:</strong> <code class="svelte-rrt0o">this</code> = current document — call <code class="svelte-rrt0o">emit(value)</code> to add to result.</div> <div class="welcome-links svelte-rrt0o"><a href="https://github.com/hobbyquaker/she/blob/main/doc/db/README.md" target="_blank" rel="noopener" class="svelte-rrt0o">sheDB docs</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/db/view-examples.md" target="_blank" rel="noopener" class="svelte-rrt0o">View examples</a> <span class="svelte-rrt0o">·</span> <a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-rrt0o">GitHub</a></div></div></div>',1),VZ=T('<button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.3" stroke-linecap="round"><line x1="5.5" y1="5" x2="4" y2="2.5"></line><line x1="10.5" y1="5" x2="12" y2="2.5"></line><path d="M3 11 V7 A5 3.5 0 0 0 13 7 V11 Z" stroke-linejoin="round"></path><circle cx="6" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle><circle cx="10" cy="8.2" r="0.7" fill="currentColor" stroke="none"></circle></svg> AI</button>'),uE=T('<div class="form-error svelte-rrt0o"> </div>'),jZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),hE=T("<li> </li>"),fE=T('<div class="error-bar svelte-rrt0o"> </div>'),gE=T('<div class="loading svelte-rrt0o">Loading…</div>'),$Z=T('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),UZ=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),qZ=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ Doc</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main></div>'),GZ=T('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),KZ=T('<label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Retain <span class="section-hint svelte-rrt0o">— send as retained MQTT message</span></label>'),ZZ=T('<span class="badge-error svelte-rrt0o">error</span>'),XZ=T('<span class="badge-ok svelte-rrt0o"> </span>'),YZ=T('<pre class="result-error svelte-rrt0o"> </pre>'),JZ=T('<pre class="result-json svelte-rrt0o"> </pre>'),QZ=T('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),eX=T('<div class="view-sections svelte-rrt0o"><div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Description <span class="section-hint svelte-rrt0o">— optional, shown in sidebar</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="(optional description)"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Filter <span class="section-hint svelte-rrt0o">— MQTT wildcard, optional</span></div> <div class="section-body svelte-rrt0o"><input class="filter-input svelte-rrt0o" placeholder="#"/></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Map <span class="section-hint svelte-rrt0o">— <code>this</code> = document · call <code>emit(this)</code> to include in result</span></div> <div class="monaco-view-wrap monaco-view-wrap--map svelte-rrt0o"><!></div></div> <div class="view-section svelte-rrt0o"><div class="section-title svelte-rrt0o">Reduce <span class="section-hint svelte-rrt0o">— receives <code>result</code> array, must <code>return</code> new value (optional)</span></div> <div class="monaco-view-wrap monaco-view-wrap--reduce svelte-rrt0o"><!></div></div> <div class="view-section view-section--options svelte-rrt0o"><label class="opt-check svelte-rrt0o"><input type="checkbox" class="svelte-rrt0o"/> <span class="checkmark svelte-rrt0o"></span> Publish to MQTT <span class="section-hint svelte-rrt0o">— publish view to MQTT topic <code> </code></span></label> <!></div> <!></div>'),tX=T('<div class="editor-toolbar svelte-rrt0o"><span class="editor-title svelte-rrt0o"> </span> <button class="svelte-rrt0o">Save</button> <button title="Re-run view" class="svelte-rrt0o">Refresh</button> <button class="btn-danger svelte-rrt0o">Delete</button></div> <!> <!>',1),iX=T('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),nX=T('<div class="panel svelte-rrt0o"><aside class="sidebar svelte-rrt0o"><div class="toolbar svelte-rrt0o"><button class="svelte-rrt0o">+ View</button></div> <!> <div class="sidebar-search svelte-rrt0o"><input type="search" placeholder="Filter…" class="svelte-rrt0o"/></div> <ul class="flat-list svelte-rrt0o"></ul></aside> <div class="resize-handle svelte-rrt0o" role="separator"></div> <main class="editor-area svelte-rrt0o"><!></main> <!></div>'),sX=T('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function oX(o,e){Ns(e,!0);const t=he=>{var K=zZ(),ae=Dt(K);Ds(Jf(ae,{}),xe=>Si=xe,()=>Si),E(he,K)};let i=M(yi([])),n=M(null),s=M("{}"),r=M(!1),a=M(null);const c="she-db-selected-view";let u=M(yi([])),f=M(yi(localStorage.getItem(c))),g=M("#"),p=M("// emit(this.someProperty)"),w=M(""),m=M(""),x=M(!1),k=M(!1),D=M(null),P=M(!1),A=M(null),j=M("she/db/view/");const H="she-db-panel";let te=M(yi(localStorage.getItem(H)??"docs")),J=M(""),le=M(!1),we=M(null),We=M(""),ue=M(!1),et=M(null);const rt="she-db-sidebar-width";let me=M(yi(parseInt(localStorage.getItem(rt)??"220",10))),lt=!1,ft=0,Pt=0;const Ne="she-db-chat-width",Lt="she-db-chat-open";let Oe=M(localStorage.getItem(Lt)==="true"),Se=M(yi(parseInt(localStorage.getItem(Ne)??"320",10))),nt=!1,Ft=0,oi=0;const Bt=wt(()=>d(f)?{id:d(f),filter:d(g),map:d(p),reduce:d(w)}:null);function Et(he){he.filter!==void 0&&y(g,he.filter,!0),he.map!==void 0&&y(p,he.map,!0),he.reduce!==void 0&&y(w,he.reduce,!0)}$n(()=>{localStorage.setItem(Lt,String(d(Oe)))}),$n(()=>{localStorage.setItem(H,d(te))}),$n(()=>{d(f)?localStorage.setItem(c,d(f)):localStorage.removeItem(c)});function Rt(he){lt=!0,ft=he.clientX,Pt=d(me),he.preventDefault()}function Ct(he){lt&&y(me,Math.max(140,Math.min(500,Pt+he.clientX-ft)),!0),nt&&y(Se,Math.max(240,Math.min(600,oi-(he.clientX-Ft))),!0)}function vi(){lt&&(lt=!1,localStorage.setItem(rt,String(d(me)))),nt&&(nt=!1,localStorage.setItem(Ne,String(d(Se))))}function di(he){nt=!0,Ft=he.clientX,oi=d(Se),he.preventDefault()}async function Li(){try{y(i,await RR(),!0)}catch{}}async function Ni(){try{y(u,await AR(),!0)}catch{}}async function Oi(he){y(n,he,!0),y(a,null),y(r,!0);try{const K=await C7(he);y(s,JSON.stringify(K,null,2),!0)}catch(K){y(a,K instanceof Error?K.message:String(K),!0)}finally{y(r,!1)}}async function Wi(){if(d(n)){y(a,null);try{const he=JSON.parse(d(s));await AD(d(n),he)}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}}let Si;async function ri(){if(d(n)&&await Si.show(`Delete document "${d(n)}"?`,{confirm:"Delete",danger:!0}))try{await x7(d(n)),y(n,null),y(s,"{}")}catch(he){y(a,he instanceof Error?he.message:String(he),!0)}}async function _i(){const he=d(J).trim();if(he){y(we,null);try{await AD(he,{}),y(le,!1),y(J,""),await Oi(he)}catch(K){y(we,K instanceof Error?K.message:String(K),!0)}}}async function ki(he){y(f,he,!0),y(A,null),y(P,!0),y(D,null);try{const K=await k7(he);y(g,K.filter??"",!0),y(p,K.map,!0),y(w,K.reduce??"",!0),y(m,K.description??"",!0),y(x,K.mqttpub??!1,!0),y(k,K.retain??!1,!0),y(D,await hS(he).catch(()=>null),!0)}catch(K){y(A,K instanceof Error?K.message:String(K),!0)}finally{y(P,!1)}}async function Vi(){if(d(f)){y(A,null);try{const he={map:d(p)};d(g).trim()&&(he.filter=d(g).trim()),d(w).trim()&&(he.reduce=d(w).trim()),d(m).trim()&&(he.description=d(m).trim()),d(x)&&(he.mqttpub=!0),d(k)&&(he.retain=!0),await OD(d(f),he)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}}async function Ri(){if(d(f))try{y(D,await hS(d(f)),!0)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function Mi(){if(d(f)&&await Si.show(`Delete view "${d(f)}"?`,{confirm:"Delete",danger:!0}))try{await L7(d(f)),y(f,null),y(g,""),y(p,"// emit(this.someProperty)"),y(w,""),y(m,""),y(x,!1),y(k,!1),y(D,null)}catch(he){y(A,he instanceof Error?he.message:String(he),!0)}}async function mt(){if(!d(We).trim())return;const he=d(We).trim();y(et,null);try{await OD(he,{map:"// emit(this.someProperty)"}),y(ue,!1),y(We,""),await Ni(),await ki(he)}catch(K){y(et,K instanceof Error?K.message:String(K),!0)}}let Mt=M(""),hi=M(""),Ti=wt(()=>[...d(i)].filter(he=>!d(Mt)||he.toLowerCase().includes(d(Mt).toLowerCase())).sort()),Xi=wt(()=>[...d(u)].filter(he=>!d(hi)||he.toLowerCase().includes(d(hi).toLowerCase())).sort());ao(()=>{Li(),Ni().then(()=>{d(f)&&d(u).includes(d(f))?ki(d(f)):y(f,null)}),Dl().then(Pe=>{const ot=Pe.dbPrefix||"she/db/",R=ot.endsWith("/")?ot:ot+"/";y(j,R+"view/")}).catch(()=>{});const he=kr("db:ids",Pe=>{y(i,Pe.ids??[],!0)}),K=kr("db:viewIds",Pe=>{y(u,Pe.ids??[],!0)}),ae=kr("db:change",async Pe=>{const ot=Pe.id;d(n)===ot&&(Pe.doc===null?(y(n,null),y(s,"{}")):y(s,JSON.stringify(Pe.doc,null,2),!0))}),xe=kr("db:viewUpdate",async Pe=>{const ot=Pe.id;d(f)===ot&&y(D,await hS(ot).catch(()=>null),!0)});return()=>{he(),K(),ae(),xe()}});var ji=sX(),Tn=v(ji),Fe=v(Tn);let ei;var ui=b(Fe,2);let Pi;var $e=b(ui,2);{var Ut=he=>{var K=VZ();let ae;V(()=>{ae=At(K,1,"ai-toggle svelte-rrt0o",null,ae,{"ai-open":d(Oe)}),Fi(K,"title",d(Oe)?"Close AI assistant":"Open AI assistant")}),G("click",K,()=>y(Oe,!d(Oe))),E(he,K)};W($e,he=>{d(te)==="views"&&he(Ut)})}var fi=b(Tn,2);{var Ii=he=>{var K=qZ(),ae=v(K);let xe;var Pe=v(ae),ot=v(Pe),R=b(Pe,2);{var Q=Re=>{var Ie=jZ(),st=Dt(Ie),It=v(st),St=b(It,2),si=b(st,2);{var ti=se=>{var Le=uE(),at=v(Le);V(()=>F(at,d(we))),E(se,Le)};W(si,se=>{d(we)&&se(ti)})}G("keydown",It,se=>se.key==="Enter"&&_i()),Xt(It,()=>d(J),se=>y(J,se)),G("click",St,_i),E(Re,Ie)};W(R,Re=>{d(le)&&Re(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);pi(_e,20,()=>d(Ti),Re=>Re,(Re,Ie)=>{var st=hE();let It;var St=v(st);V(()=>{It=At(st,1,"flat-item svelte-rrt0o",null,It,{"active-item":d(n)===Ie}),F(St,Ie)}),G("click",st,()=>Oi(Ie)),E(Re,st)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Ce=Re=>{var Ie=UZ(),st=Dt(Ie),It=v(st),St=v(It),si=b(It,2),ti=b(si,2),se=b(st,2);{var Le=Xe=>{var Ht=fE(),ai=v(Ht);V(()=>F(ai,d(a))),E(Xe,Ht)};W(se,Xe=>{d(a)&&Xe(Le)})}var at=b(se,2);{var xt=Xe=>{var Ht=gE();E(Xe,Ht)},ht=Xe=>{var Ht=$Z(),ai=v(Ht);gS(ai,{language:"json",get value(){return d(s)},set value(bi){y(s,bi,!0)}}),E(Xe,Ht)};W(at,Xe=>{d(r)?Xe(xt):Xe(ht,-1)})}V(()=>F(St,d(n))),G("click",si,Wi),G("click",ti,ri),E(Re,Ie)},gt=Re=>{t(Re)};W(ie,Re=>{d(n)?Re(Ce):Re(gt,-1)})}V(()=>xe=Fo(ae,"",xe,{width:`${d(me)??""}px`})),G("click",ot,()=>{y(le,!d(le)),y(we,null)}),Xt(fe,()=>d(Mt),Re=>y(Mt,Re)),G("mousedown",$,Rt),E(he,K)},qe=he=>{var K=nX(),ae=v(K);let xe;var Pe=v(ae),ot=v(Pe),R=b(Pe,2);{var Q=st=>{var It=GZ(),St=Dt(It),si=v(St),ti=b(si,2),se=b(St,2);{var Le=at=>{var xt=uE(),ht=v(xt);V(()=>F(ht,d(et))),E(at,xt)};W(se,at=>{d(et)&&at(Le)})}G("keydown",si,at=>at.key==="Enter"&&mt()),Xt(si,()=>d(We),at=>y(We,at)),G("click",ti,mt),E(st,It)};W(R,st=>{d(ue)&&st(Q)})}var Y=b(R,2),fe=v(Y),_e=b(Y,2);pi(_e,20,()=>d(Xi),st=>st,(st,It)=>{var St=hE();let si;var ti=v(St);V(()=>{si=At(St,1,"flat-item svelte-rrt0o",null,si,{"active-item":d(f)===It}),F(ti,It)}),G("click",St,()=>ki(It)),E(st,St)});var $=b(ae,2),Z=b($,2),ie=v(Z);{var Ce=st=>{var It=tX(),St=Dt(It),si=v(St),ti=v(si),se=b(si,2),Le=b(se,2),at=b(Le,2),xt=b(St,2);{var ht=bi=>{var Di=fE(),fn=v(Di);V(()=>F(fn,d(A))),E(bi,Di)};W(xt,bi=>{d(A)&&bi(ht)})}var Xe=b(xt,2);{var Ht=bi=>{var Di=gE();E(bi,Di)},ai=bi=>{var Di=eX(),fn=v(Di),Cn=b(v(fn),2),un=v(Cn),xi=b(fn,2),gn=b(v(xi),2),z=v(gn),ee=b(xi,2),Ue=b(v(ee),2),Ye=v(Ue);gS(Ye,{language:"javascript",get value(){return d(p)},set value(Qe){y(p,Qe,!0)}});var ge=b(ee,2),ve=b(v(ge),2),vt=v(ve);gS(vt,{language:"javascript",get value(){return d(w)},set value(Qe){y(w,Qe,!0)}});var Ei=b(ge,2),Te=v(Ei),Ge=v(Te),Wt=b(Ge,4),Je=b(v(Wt)),bt=v(Je),Kt=b(Te,2);{var q=Qe=>{var Ae=KZ(),De=v(Ae);Is(De,()=>d(k),zt=>y(k,zt)),E(Qe,Ae)};W(Kt,Qe=>{d(x)&&Qe(q)})}var ne=b(Ei,2);{var Ve=Qe=>{var Ae=QZ(),De=v(Ae),zt=b(v(De));{var kt=He=>{var Be=ZZ();E(He,Be)},Ke=He=>{var Be=XZ(),ze=v(Be);V(()=>F(ze,`${d(D).length??0??""} items · rev ${d(D)._rev??""}`)),E(He,Be)};W(zt,He=>{d(D).error?He(kt):He(Ke,-1)})}var Vt=b(De,2);{var tt=He=>{var Be=YZ(),ze=v(Be);V(()=>F(ze,d(D).error)),E(He,Be)},Ee=He=>{var Be=JZ(),ze=v(Be);V(Tt=>F(ze,Tt),[()=>JSON.stringify(d(D).result,null,2)]),E(He,Be)};W(Vt,He=>{d(D).error?He(tt):He(Ee,-1)})}E(Qe,Ae)};W(ne,Qe=>{d(D)&&Qe(Ve)})}V(()=>F(bt,`${d(j)??""}${d(f)??""} on every update`)),Xt(un,()=>d(m),Qe=>y(m,Qe)),Xt(z,()=>d(g),Qe=>y(g,Qe)),Is(Ge,()=>d(x),Qe=>y(x,Qe)),E(bi,Di)};W(Xe,bi=>{d(P)?bi(Ht):bi(ai,-1)})}V(()=>F(ti,d(f))),G("click",se,Vi),G("click",Le,Ri),G("click",at,Mi),E(st,It)},gt=st=>{t(st)};W(ie,st=>{d(f)?st(Ce):st(gt,-1)})}var Re=b(Z,2);{var Ie=st=>{var It=iX(),St=Dt(It),si=b(St,2);let ti;var se=v(si);WZ(se,{get currentView(){return d(Bt)},onApplyView:Et}),V(()=>ti=Fo(si,"",ti,{width:`${d(Se)??""}px`})),G("mousedown",St,di),E(st,It)};W(Re,st=>{d(Oe)&&st(Ie)})}V(()=>xe=Fo(ae,"",xe,{width:`${d(me)??""}px`})),G("click",ot,()=>{y(ue,!d(ue)),y(et,null)}),Xt(fe,()=>d(hi),st=>y(hi,st)),G("mousedown",$,Rt),E(he,K)};W(fi,he=>{d(te)==="docs"?he(Ii):he(qe,-1)})}V(()=>{ei=At(Fe,1,"svelte-rrt0o",null,ei,{active:d(te)==="docs"}),Pi=At(ui,1,"svelte-rrt0o",null,Pi,{active:d(te)==="views"})}),G("mousemove",ji,Ct),G("mouseup",ji,vi),cs("mouseleave",ji,vi),G("click",Fe,()=>y(te,"docs")),G("click",ui,()=>y(te,"views")),E(o,ji),Rs()}Ks(["mousemove","mouseup","click","keydown","mousedown"]);var rX=T('<label class="svelte-1ua3isv">Passcode <input type="number" placeholder="20202021" class="svelte-1ua3isv"/></label> <label class="svelte-1ua3isv">Discriminator (optional) <input type="number" placeholder="3840" class="svelte-1ua3isv"/></label>',1),aX=T('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label>'),pE=T('<p class="err svelte-1ua3isv"> </p>'),lX=T('<div class="wizard svelte-1ua3isv"><div class="wizard-tabs svelte-1ua3isv"><button>Passcode</button> <button>QR / Code</button></div> <!> <label class="svelte-1ua3isv">IP Address (optional, bypasses mDNS) <input type="text" placeholder="192.168.1.100 or 192.168.1.100:5540" class="svelte-1ua3isv"/></label> <!> <button class="commission-btn svelte-1ua3isv"> </button></div>'),cX=T('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),dX=T('<span class="device-name svelte-1ua3isv"> </span>'),uX=T('<li><button class="device-select-btn svelte-1ua3isv"><span></span> <span class="device-label svelte-1ua3isv"><!></span></button> <button class="unpair-btn svelte-1ua3isv" title="Unpair">✕</button></li>'),hX=T('<li class="empty svelte-1ua3isv">No paired devices</li>'),fX=T('<p class="info svelte-1ua3isv">Loading…</p>'),gX=T('<p class="device-subtitle svelte-1ua3isv"> </p>'),pX=T('<span class="ep-chip svelte-1ua3isv"> </span>'),_X=T('<span class="attr-id svelte-1ua3isv"> </span>'),mX=T('<button class="attr-action-btn svelte-1ua3isv"> </button>'),vX=T('<div class="attr-actions svelte-1ua3isv"></div>'),bX=T('<span class="cmd-sep svelte-1ua3isv">,</span>'),yX=T('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),wX=T('<span class="cmd-id svelte-1ua3isv"> </span>'),SX=T("<!> <!>",1),CX=T('<span class="cmd-list svelte-1ua3isv"></span>'),xX=T(' <span class="cmd-id svelte-1ua3isv"> </span>',1),kX=T('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),LX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"><th class="svelte-1ua3isv">deviceType</th><th class="svelte-1ua3isv">revision</th></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),IX=T('<th class="svelte-1ua3isv"> </th>'),DX=T('<td class="svelte-1ua3isv"> </td>'),EX=T('<tr class="svelte-1ua3isv"></tr>'),TX=T('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),PX=T('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),MX=T('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),NX=T('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),RX=T('<span class="attr-val svelte-1ua3isv"> </span>'),AX=T('<tr class="svelte-1ua3isv"><td class="attr-name-cell svelte-1ua3isv"><span class="attr-key svelte-1ua3isv"> </span><!></td><td class="attr-actions-cell svelte-1ua3isv"><!></td><td class="attr-val-cell svelte-1ua3isv"><!></td></tr>'),OX=T('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),FX=T('<table class="cluster-table svelte-1ua3isv"><colgroup><col class="col-attr-name svelte-1ua3isv"/><col class="col-attr-actions svelte-1ua3isv"/><col class="col-attr-val"/></colgroup><tbody class="svelte-1ua3isv"></tbody></table>'),HX=T('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),WX=T('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),BX=T('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),zX=T('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),VX=T('<span class="stream-badge svelte-1ua3isv"> </span>'),jX=T('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),pS=T(' <span class="e-sub svelte-1ua3isv"> </span>',1),$X=T('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),UX=T('<span class="e-badge e-badge-attr svelte-1ua3isv">attr</span> <span class="e-node svelte-1ua3isv"> <!></span> <span class="e-ep svelte-1ua3isv"> <!></span> <span class="e-cluster svelte-1ua3isv"> </span> <span class="e-attr svelte-1ua3isv"> </span> <span class="e-val svelte-1ua3isv"> </span>',1),qX=T('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),GX=T('<div class="stream-body svelte-1ua3isv"><!></div>'),KX=T('<!> <div class="matter-page svelte-1ua3isv"><div class="matter-main svelte-1ua3isv"><div class="sidebar svelte-1ua3isv"><div class="sidebar-header svelte-1ua3isv"><span class="sidebar-title svelte-1ua3isv">Matter Devices</span> <button class="add-btn svelte-1ua3isv" title="Commission new device">+</button></div> <!> <ul class="device-list svelte-1ua3isv"><!> <!></ul></div> <div class="detail svelte-1ua3isv"><!></div></div> <div class="stream-panel svelte-1ua3isv"><div class="stream-resize svelte-1ua3isv"></div> <div class="stream-hdr-row svelte-1ua3isv"><span class="stream-title svelte-1ua3isv">Matter Events</span> <!> <button class="stream-toggle svelte-1ua3isv" title="Toggle event feed"> </button></div> <!></div></div>',1);function ZX(o,e){Ns(e,!0);const t={onOff:{onOff:[{label:"On",command:"on"},{label:"Off",command:"off"},{label:"Toggle",command:"toggle"}]},levelControl:{currentLevel:[{label:"Step ▲",command:"stepWithOnOff",args:{stepMode:0,stepSize:25,transitionTime:5}},{label:"Step ▼",command:"stepWithOnOff",args:{stepMode:1,stepSize:25,transitionTime:5}}]},windowCovering:{currentPositionLiftPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}],currentPositionTiltPercent100ths:[{label:"Open",command:"upOrOpen"},{label:"Close",command:"downOrClose"},{label:"Stop",command:"stopMotion"}]}};async function i(K,ae,xe,Pe,ot){try{await H7(K,ae,xe,Pe,ot)}catch(R){console.error("matter command failed",R)}}const n={identify:{0:"identify",1:"triggerEffect"},groups:{0:"addGroup",1:"viewGroup",2:"getGroupMembership",3:"removeGroup",4:"removeAllGroups",5:"addGroupIfIdentifying"},scenes:{0:"addScene",1:"viewScene",2:"removeScene",3:"removeAllScenes",4:"storeScene",5:"recallScene",6:"getSceneMembership",64:"enhancedAddScene",65:"enhancedViewScene",66:"copyScene"},onOff:{0:"off",1:"on",2:"toggle",64:"offWithEffect",65:"onWithRecallGlobalScene",66:"onWithTimedOff"},levelControl:{0:"moveToLevel",1:"move",2:"step",3:"stop",4:"moveToLevelWithOnOff",5:"moveWithOnOff",6:"stepWithOnOff",7:"stopWithOnOff",8:"moveToClosestFrequency"},colorControl:{0:"moveToHue",1:"moveHue",2:"stepHue",3:"moveToSaturation",4:"moveSaturation",5:"stepSaturation",6:"moveToHueAndSaturation",7:"moveToColor",8:"moveColor",9:"stepColor",10:"moveToColorTemperature",64:"enhancedMoveToHue",65:"enhancedMoveHue",66:"enhancedStepHue",67:"enhancedMoveToHueAndSaturation",68:"colorLoopSet",71:"stopMoveStep",75:"moveColorTemperature",76:"stepColorTemperature"},thermostat:{0:"setpointRaiseLower",1:"setWeeklySchedule",2:"getWeeklySchedule",3:"clearWeeklySchedule"},doorLock:{0:"lockDoor",1:"unlockDoor",3:"unlockWithTimeout",11:"setWeekDaySchedule",12:"getWeekDaySchedule",13:"clearWeekDaySchedule",14:"setYearDaySchedule",15:"getYearDaySchedule",16:"clearYearDaySchedule",17:"setHolidaySchedule",18:"getHolidaySchedule",19:"clearHolidaySchedule",26:"setUser",27:"getUser",28:"clearUser",34:"setCredential",36:"getCredential",38:"clearCredential"},windowCovering:{0:"upOrOpen",1:"downOrClose",2:"stopMotion",4:"goToLiftValue",5:"goToLiftPercentage",7:"goToTiltValue",8:"goToTiltPercentage"},fanControl:{0:"step"}};function s(K,ae){const xe=n[K];return ae.map(Pe=>{const ot=typeof Pe=="number"?Pe:Number(Pe);return{id:ot,name:(xe==null?void 0:xe[ot])??null}})}const r={10:"Door Lock",11:"Door Lock Controller",14:"Aggregator",15:"Generic Switch",17:"On/Off Plug-In Unit",18:"Dimmable Plug-In Unit",19:"Pump",20:"On/Off Light Switch",21:"Dimmer Switch",22:"Color Dimmer Switch",23:"Control Bridge",24:"Pump Controller",256:"On/Off Light",257:"Dimmable Light",268:"Extended Color Light",269:"Color Temperature Light",262:"Light Sensor",263:"Occupancy Sensor",514:"Window Covering",515:"Window Covering Controller",768:"Heating/Cooling Unit",769:"Thermostat",770:"Temperature Sensor",771:"Pressure Sensor",772:"Flow Sensor",773:"Humidity Sensor",774:"On/Off Sensor",2112:"Air Quality Sensor"},a={generatedCommandList:65528,acceptedCommandList:65529,eventList:65530,attributeList:65531,featureMap:65532,clusterRevision:65533},c={descriptor:{deviceTypeList:0,serverList:1,clientList:2,partsList:3,tagList:4},basicInformation:{dataModelRevision:0,vendorName:1,vendorID:2,vendorId:2,productName:3,productID:4,productId:4,nodeLabel:5,location:6,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,localConfigDisabled:16,reachable:17,uniqueID:18,uniqueId:18,capabilityMinima:19,productAppearance:20,specificationVersion:21,maxPathsPerInvoke:22},bridgedDeviceBasicInformation:{vendorName:1,vendorID:2,vendorId:2,productName:3,productId:4,nodeLabel:5,hardwareVersion:7,hardwareVersionString:8,softwareVersion:9,softwareVersionString:10,manufacturingDate:11,partNumber:12,productURL:13,productUrl:13,productLabel:14,serialNumber:15,reachable:17,uniqueID:18,uniqueId:18,productAppearance:20},identify:{identifyTime:0,identifyType:1},groups:{nameSupport:0},onOff:{onOff:0,globalSceneControl:16384,onTime:16385,offWaitTime:16386,startUpOnOff:16387},levelControl:{currentLevel:0,remainingTime:1,minLevel:2,maxLevel:3,currentFrequency:4,minFrequency:5,maxFrequency:6,options:15,onOffTransitionTime:16,onLevel:17,onTransitionTime:18,offTransitionTime:19,defaultMoveRate:20,startUpCurrentLevel:16384},colorControl:{currentHue:0,currentSaturation:1,remainingTime:2,currentX:3,currentY:4,colorTemperatureMireds:7,colorMode:8,options:15,enhancedCurrentHue:16384,enhancedColorMode:16385,colorLoopActive:16386,colorLoopDirection:16387,colorLoopTime:16388,colorCapabilities:16394,colorTempPhysicalMinMireds:16395,colorTempPhysicalMaxMireds:16396,coupleColorTempToLevelMinMireds:16397,startUpColorTemperatureMireds:16400},thermostat:{localTemperature:0,outdoorTemperature:1,occupancy:2,absMinHeatSetpointLimit:3,absMaxHeatSetpointLimit:4,absMinCoolSetpointLimit:5,absMaxCoolSetpointLimit:6,piCoolingDemand:7,piHeatingDemand:8,localTemperatureCalibration:16,occupiedCoolingSetpoint:17,occupiedHeatingSetpoint:18,unoccupiedCoolingSetpoint:19,unoccupiedHeatingSetpoint:20,minHeatSetpointLimit:21,maxHeatSetpointLimit:22,minCoolSetpointLimit:23,maxCoolSetpointLimit:24,minSetpointDeadBand:25,remoteSensing:26,controlSequenceOfOperation:27,systemMode:28,thermostatRunningMode:30,startOfWeek:32,numberOfWeeklyTransitions:33,numberOfDailyTransitions:34,temperatureSetpointHold:35,temperatureSetpointHoldDuration:36,thermostatProgrammingOperationMode:37,thermostatRunningState:41,setpointChangeSource:48,setpointChangeAmount:49,setpointChangeSourceTimestamp:50,occupiedSetback:52,unoccupiedSetback:55,emergencyHeatDelta:58},windowCovering:{type:0,physicalClosedLimitLift:1,physicalClosedLimitTilt:2,currentPositionLift:3,currentPositionTilt:4,numberOfActuationsLift:5,numberOfActuationsTilt:6,configStatus:7,currentPositionLiftPercentage:8,currentPositionTiltPercentage:9,operationalStatus:10,targetPositionLiftPercent100ths:11,targetPositionTiltPercent100ths:12,endProductType:13,currentPositionLiftPercent100ths:14,currentPositionTiltPercent100ths:15,installedOpenLimitLift:16,installedClosedLimitLift:17,installedOpenLimitTilt:18,installedClosedLimitTilt:19,mode:23,safetyStatus:26},doorLock:{lockState:0,lockType:1,actuatorEnabled:2,doorState:3,numberOfTotalUsersSupported:17,numberOfPINUsersSupported:18,maxPINCodeLength:23,minPINCodeLength:24,language:33,autoRelockTime:35,soundVolume:36,operatingMode:37,supportedOperatingModes:38,wrongCodeEntryLimit:48},fanControl:{fanMode:0,fanModeSequence:1,percentSetting:2,percentCurrent:3,speedMax:4,speedSetting:5,speedCurrent:6,rockSupport:7,rockSetting:8,windSupport:9,windSetting:10,airflowDirectionSupport:11,airflowDirection:12},occupancySensing:{occupancy:0,occupancySensorType:1,occupancySensorTypeBitmap:2,holdTime:3,pirOccupiedToUnoccupiedDelay:16,pirUnoccupiedToOccupiedDelay:17},illuminanceMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,lightSensorType:4},temperatureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},pressureMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3,scaledValue:16,minScaledValue:17,maxScaledValue:18,scale:20},flowMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},relativeHumidityMeasurement:{measuredValue:0,minMeasuredValue:1,maxMeasuredValue:2,tolerance:3},powerSource:{status:0,order:1,description:2,batVoltage:11,batPercentRemaining:12,batTimeRemaining:13,batChargeLevel:14,batReplacementNeeded:15,batReplaceability:16,batPresent:17,activeBatFaults:18,batChargeState:26}};function u(K){return"0x"+K.toString(16).toUpperCase().padStart(4,"0")}let f=M(yi([])),g=yi(new Map);function p(K){if(K==null)return"—";if(typeof K=="boolean"||typeof K=="number")return String(K);if(typeof K=="string")return K.length>50?K.slice(0,47)+"…":K;const ae=JSON.stringify(K);return ae.length>60?ae.slice(0,57)+"…":ae}function w(K){return K==null?"—":typeof K=="boolean"||typeof K=="number"?String(K):typeof K=="string"?K:JSON.stringify(K)}function m(K){return K!==null&&typeof K=="object"&&!Array.isArray(K)}function x(K){return Array.isArray(K)&&K.length>0&&K.every(m)}function k(K,ae){return!!(ae==="attributeList"||Array.isArray(K)&&K.length===0||m(K)&&Object.keys(K).length===0)}function D(K){return new Date(K).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,A=20,j=32;let H=0,te=M(yi([])),J=M(!0),le=M(180),we=wt(()=>{const K=Math.max(1,Math.floor((d(le)-j)/A)+1);return d(te).slice(0,K)});function We(K){K.preventDefault();const ae=K.clientY,xe=d(le);function Pe(R){y(le,Math.max(60,Math.min(600,xe+ae-R.clientY)),!0)}function ot(){document.removeEventListener("mousemove",Pe),document.removeEventListener("mouseup",ot)}document.addEventListener("mousemove",Pe),document.addEventListener("mouseup",ot)}let ue=M(null),et=M(!1),rt=M(null),me=M(!1),lt=M("passcode"),ft=M(""),Pt=M(""),Ne=M(""),Lt=M(!1),Oe=M(null),Se=M("");const nt="she:matter:selectedNodeId";async function Ft(){try{y(f,await FR(),!0);for(const K of d(f))Xm(K.nodeId).then(ae=>{g.set(K.nodeId,ae)}).catch(()=>{});if(d(f).length>0&&!d(ue)){const K=localStorage.getItem(nt),ae=K&&d(f).find(xe=>xe.nodeId===K)?K:d(f)[0].nodeId;oi(ae)}}catch{y(f,[],!0)}}async function oi(K){y(et,!0),y(rt,null);try{y(ue,await Xm(K),!0),g.set(K,d(ue)),localStorage.setItem(nt,K)}catch(ae){y(rt,ae instanceof Error?ae.message:String(ae),!0)}finally{y(et,!1)}}let Bt;async function Et(K){var ae;if(await Bt.show(`Unpair device ${K}?`,{confirm:"Unpair",danger:!0}))try{await F7(K),((ae=d(ue))==null?void 0:ae.nodeId)===K&&y(ue,null),await Ft()}catch(xe){y(rt,xe instanceof Error?xe.message:String(xe),!0)}}async function Rt(){y(Lt,!0),y(Oe,null);try{let K;d(lt)==="passcode"?(K={passcode:Number(d(ft))},d(Pt)&&(K={...K,discriminator:Number(d(Pt))})):K={pairingCode:d(Ne).trim()},d(Se).trim()&&(K={...K,discoveryAddress:d(Se).trim()}),await O7(K),y(me,!1),y(ft,""),y(Pt,""),y(Ne,""),y(Se,""),await Ft()}catch(K){y(Oe,K instanceof Error?K.message:String(K),!0)}finally{y(Lt,!1)}}ao(()=>{Ft()});const Ct=kr("matter:deviceList",K=>{if(!Array.isArray(K.devices))return;const ae=K.devices;for(const xe of ae)g.has(xe.nodeId)||Xm(xe.nodeId).then(Pe=>{g.set(xe.nodeId,Pe)}).catch(()=>{});y(f,ae,!0)}),vi=kr("matter:deviceStatus",K=>{if(K.nodeId===void 0)return;const ae=String(K.nodeId),xe=!!K.online;y(f,d(f).map(Pe=>Pe.nodeId===ae?{...Pe,online:xe}:Pe),!0),y(te,[{id:H++,kind:"status",nodeId:ae,online:xe,ts:Date.now()},...d(te).slice(0,P-1)],!0)}),di=kr("matter:attr",K=>{const ae=String(K.nodeId),xe=K.endpointId,Pe=String(K.clusterName),ot=String(K.attrName),R=K.value;if(d(ue)&&d(ue).nodeId===ae){const Y=d(ue).endpoints.find(_e=>_e.endpointId===xe),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[ot]=R)}const Q=g.get(ae);if(Q){const Y=Q.endpoints.find(_e=>_e.endpointId===xe),fe=Y==null?void 0:Y.clusters.find(_e=>_e.name===Pe);fe&&(fe.attrs[ot]=R)}y(te,[{id:H++,kind:"attr",nodeId:ae,endpointId:xe,clusterName:Pe,attrName:ot,value:R,ts:K.ts??Date.now()},...d(te).slice(0,P-1)],!0)});Wy(()=>{Ct(),vi(),di()});var Li=KX(),Ni=Dt(Li);Ds(Jf(Ni,{}),K=>Bt=K,()=>Bt);var Oi=b(Ni,2),Wi=v(Oi),Si=v(Wi),ri=v(Si),_i=b(v(ri),2),ki=b(ri,2);{var Vi=K=>{var ae=lX(),xe=v(ae),Pe=v(xe);let ot;var R=b(Pe,2);let Q;var Y=b(xe,2);{var fe=Ie=>{var st=rX(),It=Dt(st),St=b(v(It)),si=b(It,2),ti=b(v(si));Xt(St,()=>d(ft),se=>y(ft,se)),Xt(ti,()=>d(Pt),se=>y(Pt,se)),E(Ie,st)},_e=Ie=>{var st=aX(),It=b(v(st));Xt(It,()=>d(Ne),St=>y(Ne,St)),E(Ie,st)};W(Y,Ie=>{d(lt)==="passcode"?Ie(fe):Ie(_e,-1)})}var $=b(Y,2),Z=b(v($)),ie=b($,2);{var Ce=Ie=>{var st=pE(),It=v(st);V(()=>F(It,d(Oe))),E(Ie,st)};W(ie,Ie=>{d(Oe)&&Ie(Ce)})}var gt=b(ie,2),Re=v(gt);V(()=>{ot=At(Pe,1,"svelte-1ua3isv",null,ot,{active:d(lt)==="passcode"}),Q=At(R,1,"svelte-1ua3isv",null,Q,{active:d(lt)==="pairingCode"}),gt.disabled=d(Lt),F(Re,d(Lt)?"Commissioning…":"Commission")}),G("click",Pe,()=>y(lt,"passcode")),G("click",R,()=>y(lt,"pairingCode")),Xt(Z,()=>d(Se),Ie=>y(Se,Ie)),G("click",gt,Rt),E(K,ae)};W(ki,K=>{d(me)&&K(Vi)})}var Ri=b(ki,2),Mi=v(Ri);pi(Mi,17,()=>d(f),K=>K.nodeId,(K,ae)=>{var xe=uX();let Pe;var ot=v(xe),R=v(ot);let Q;var Y=b(R,2),fe=v(Y);{var _e=ie=>{var Ce=cX(),gt=Dt(Ce),Re=v(gt),Ie=b(gt,2),st=v(Ie);V(()=>{F(Re,d(ae).name),F(st,`#${d(ae).nodeId??""}`)}),E(ie,Ce)},$=ie=>{var Ce=dX(),gt=v(Ce);V(()=>F(gt,`Node ${d(ae).nodeId??""}`)),E(ie,Ce)};W(fe,ie=>{d(ae).name?ie(_e):ie($,-1)})}var Z=b(ot,2);V(()=>{var ie;Pe=At(xe,1,"svelte-1ua3isv",null,Pe,{selected:((ie=d(ue))==null?void 0:ie.nodeId)===d(ae).nodeId}),Q=At(R,1,"status-dot svelte-1ua3isv",null,Q,{online:d(ae).online})}),G("click",ot,()=>oi(d(ae).nodeId)),G("click",Z,()=>Et(d(ae).nodeId)),E(K,xe)});var mt=b(Mi,2);{var Mt=K=>{var ae=hX();E(K,ae)};W(mt,K=>{d(f).length===0&&K(Mt)})}var hi=b(Si,2),Ti=v(hi);{var Xi=K=>{var ae=fX();E(K,ae)},ji=K=>{var ae=pE(),xe=v(ae);V(()=>F(xe,d(rt))),E(K,ae)},Tn=K=>{var ae=BX(),xe=Dt(ae),Pe=v(xe),ot=v(Pe),R=b(Pe,2);{var Q=$=>{var Z=gX(),ie=v(Z);V(()=>F(ie,d(ue).subtitle)),E($,Z)};W(R,$=>{d(ue).subtitle&&$(Q)})}var Y=b(R,2),fe=v(Y),_e=b(xe,2);pi(_e,17,()=>d(ue).endpoints,$=>$.endpointId,($,Z)=>{var ie=WX(),Ce=v(ie),gt=v(Ce),Re=b(gt),Ie=v(Re),st=b(Re,2);pi(st,21,()=>d(Z).clusters,rn,(ti,se)=>{var Le=pX(),at=v(Le);V(()=>F(at,d(se).name)),E(ti,Le)});var It=b(Ce,2);{var St=ti=>{var se=FX(),Le=b(v(se));pi(Le,21,()=>d(Z).clusters,rn,(at,xt)=>{var ht=OX(),Xe=Dt(ht),Ht=v(Xe),ai=v(Ht),bi=b(Xe,2);pi(bi,17,()=>Object.entries(d(xt).attrs),rn,(Di,fn)=>{var Cn=wt(()=>NL(d(fn),2));let un=()=>d(Cn)[0],xi=()=>d(Cn)[1];var gn=Vs(),z=Dt(gn);{var ee=Ye=>{const ge=wt(()=>{var Be;return(Be=t[d(xt).name])==null?void 0:Be[un()]}),ve=wt(()=>(un()==="acceptedCommandList"||un()==="generatedCommandList")&&Array.isArray(xi())),vt=wt(()=>{var Be;return((Be=c[d(xt).name])==null?void 0:Be[un()])??a[un()]});var Ei=AX(),Te=v(Ei),Ge=v(Te),Wt=v(Ge),Je=b(Ge);{var bt=Be=>{var ze=_X(),Tt=v(ze);V(ye=>F(Tt,`(${ye??""})`),[()=>u(d(vt))]),E(Be,ze)};W(Je,Be=>{d(vt)!==void 0&&Be(bt)})}var Kt=b(Te),q=v(Kt);{var ne=Be=>{var ze=vX();pi(ze,21,()=>d(ge),rn,(Tt,ye)=>{var it=mX(),pt=v(it);V(()=>F(pt,d(ye).label)),G("click",it,()=>i(d(ue).nodeId,d(Z).endpointId,d(xt).name,d(ye).command,d(ye).args)),E(Tt,it)}),E(Be,ze)};W(q,Be=>{d(ge)&&Be(ne)})}var Ve=b(Kt),Qe=v(Ve);{var Ae=Be=>{var ze=CX();pi(ze,21,()=>s(d(xt).name,xi()),rn,(Tt,ye,it)=>{var pt=SX(),_t=Dt(pt);{var Ze=en=>{var Dn=bX();E(en,Dn)};W(_t,en=>{it>0&&en(Ze)})}var qt=b(_t,2);{var ii=en=>{var Dn=yX(),Jn=Dt(Dn),Gi=v(Jn),gi=b(Jn),bn=v(gi);V(()=>{F(Gi,d(ye).name),F(bn,`(${d(ye).id??""})`)}),E(en,Dn)},cn=en=>{var Dn=wX(),Jn=v(Dn);V(()=>F(Jn,d(ye).id)),E(en,Dn)};W(qt,en=>{d(ye).name?en(ii):en(cn,-1)})}E(Tt,pt)}),E(Be,ze)},De=Be=>{var ze=LX(),Tt=b(v(ze));pi(Tt,21,xi,rn,(ye,it)=>{const pt=wt(()=>d(it)),_t=wt(()=>d(pt).deviceType),Ze=wt(()=>r[d(_t)]);var qt=kX(),ii=v(qt),cn=v(ii);{var en=gi=>{var bn=xX(),ln=Dt(bn),rs=b(ln),co=v(rs);V(qo=>{F(ln,`${d(Ze)??""} `),F(co,`(${qo??""})`)},[()=>u(d(_t))]),E(gi,bn)},Dn=gi=>{var bn=sa();V(ln=>F(bn,ln),[()=>u(d(_t))]),E(gi,bn)};W(cn,gi=>{d(Ze)?gi(en):gi(Dn,-1)})}var Jn=b(ii),Gi=v(Jn);V(gi=>F(Gi,gi),[()=>w(d(pt).revision)]),E(ye,qt)}),E(Be,ze)},zt=wt(()=>un()==="deviceTypeList"&&Array.isArray(xi())),kt=Be=>{const ze=wt(()=>[...new Set(xi().flatMap(_t=>Object.keys(_t)))]);var Tt=TX(),ye=v(Tt),it=v(ye);pi(it,21,()=>d(ze),rn,(_t,Ze)=>{var qt=IX(),ii=v(qt);V(()=>F(ii,d(Ze))),E(_t,qt)});var pt=b(ye);pi(pt,21,xi,rn,(_t,Ze)=>{var qt=EX();pi(qt,21,()=>d(ze),rn,(ii,cn)=>{var en=DX(),Dn=v(en);V(Jn=>F(Dn,Jn),[()=>w(d(Ze)[d(cn)])]),E(ii,en)}),E(_t,qt)}),E(Be,Tt)},Ke=wt(()=>x(xi())),Vt=Be=>{var ze=MX(),Tt=v(ze);pi(Tt,21,()=>Object.entries(xi()),rn,(ye,it)=>{var pt=wt(()=>NL(d(it),2));let _t=()=>d(pt)[0],Ze=()=>d(pt)[1];var qt=PX(),ii=v(qt),cn=v(ii),en=b(ii),Dn=v(en);V(Jn=>{F(cn,_t()),F(Dn,Jn)},[()=>w(Ze())]),E(ye,qt)}),E(Be,ze)},tt=wt(()=>m(xi())),Ee=Be=>{var ze=NX(),Tt=v(ze);V(()=>{Fi(ze,"href",xi()),F(Tt,xi())}),E(Be,ze)},He=Be=>{var ze=RX(),Tt=v(ze);V(ye=>F(Tt,ye),[()=>w(xi())]),E(Be,ze)};W(Qe,Be=>{d(ve)?Be(Ae):d(zt)?Be(De,1):d(Ke)?Be(kt,2):d(tt)?Be(Vt,3):(un()==="productUrl"||un()==="productURL")&&typeof xi()=="string"?Be(Ee,4):Be(He,-1)})}V(()=>{Fi(Te,"title",un()),F(Wt,un())}),E(Ye,Ei)},Ue=wt(()=>!k(xi(),un()));W(z,Ye=>{d(Ue)&&Ye(ee)})}E(Di,gn)}),V(()=>F(ai,d(xt).name)),E(at,ht)}),E(ti,se)},si=ti=>{var se=HX();E(ti,se)};W(It,ti=>{d(Z).clusters.length>0?ti(St):ti(si,-1)})}V(()=>{F(gt,`${d(Z).name??`Endpoint ${d(Z).endpointId}`??""} `),F(Ie,`ep${d(Z).endpointId??""}`)}),E($,ie)}),V(()=>{F(ot,d(ue).name??`Node ${d(ue).nodeId}`),F(fe,`Node ID: ${d(ue).nodeId??""}`)}),E(K,ae)},Fe=K=>{var ae=zX();E(K,ae)};W(Ti,K=>{d(et)?K(Xi):d(rt)?K(ji,1):d(ue)?K(Tn,2):K(Fe,-1)})}var ei=b(Wi,2),ui=v(ei),Pi=b(ui,2),$e=b(v(Pi),2);{var Ut=K=>{var ae=VX(),xe=v(ae);V(()=>F(xe,d(te).length)),E(K,ae)};W($e,K=>{!d(J)&&d(te).length>0&&K(Ut)})}var fi=b($e,2),Ii=v(fi),qe=b(Pi,2);{var he=K=>{var ae=GX(),xe=v(ae);{var Pe=R=>{var Q=jX();E(R,Q)},ot=R=>{var Q=Vs(),Y=Dt(Q);pi(Y,17,()=>d(we),fe=>fe.id,(fe,_e)=>{const $=wt(()=>{var St,si;return((St=g.get(d(_e).nodeId))==null?void 0:St.name)??((si=d(f).find(ti=>ti.nodeId===d(_e).nodeId))==null?void 0:si.name)??null}),Z=wt(()=>{var St,si;return d(_e).endpointId!==void 0?((si=(St=g.get(d(_e).nodeId))==null?void 0:St.endpoints.find(ti=>ti.endpointId===d(_e).endpointId))==null?void 0:si.name)??null:null}),ie=wt(()=>d(_e).attrName??d(_e).clusterName);var Ce=qX(),gt=v(Ce),Re=v(gt),Ie=b(gt,2);{var st=St=>{var si=$X(),ti=b(Dt(si),2),se=v(ti),Le=b(se);{var at=Ht=>{var ai=pS(),bi=b(Dt(ai)),Di=v(bi);V(()=>F(Di,`(#${d(_e).nodeId??""})`)),E(Ht,ai)};W(Le,Ht=>{d($)&&Ht(at)})}var xt=b(ti,2);let ht;var Xe=v(xt);V(()=>{F(se,d($)??`#${d(_e).nodeId}`),ht=At(xt,1,"e-val svelte-1ua3isv",null,ht,{"e-online":d(_e).online,"e-offline":!d(_e).online}),F(Xe,d(_e).online?"online":"offline")}),E(St,si)},It=St=>{var si=UX(),ti=b(Dt(si),2),se=v(ti),Le=b(se);{var at=xi=>{var gn=pS(),z=b(Dt(gn)),ee=v(z);V(()=>F(ee,`(#${d(_e).nodeId??""})`)),E(xi,gn)};W(Le,xi=>{d($)&&xi(at)})}var xt=b(ti,2),ht=v(xt),Xe=b(ht);{var Ht=xi=>{var gn=pS(),z=b(Dt(gn)),ee=v(z);V(()=>F(ee,`(ep ${d(_e).endpointId??""})`)),E(xi,gn)};W(Xe,xi=>{d(Z)&&xi(Ht)})}var ai=b(xt,2),bi=v(ai),Di=b(ai,2),fn=v(Di),Cn=b(Di,2),un=v(Cn);V(xi=>{F(se,d($)??`#${d(_e).nodeId}`),F(ht,d(Z)??`ep${d(_e).endpointId}`),F(bi,d(_e).clusterName),F(fn,d(ie)),F(un,xi)},[()=>p(d(_e).value)]),E(St,si)};W(Ie,St=>{d(_e).kind==="status"?St(st):St(It,-1)})}V(St=>F(Re,St),[()=>D(d(_e).ts)]),E(fe,Ce)}),E(R,Q)};W(xe,R=>{d(we).length===0?R(Pe):R(ot,-1)})}E(K,ae)};W(qe,K=>{d(J)&&K(he)})}V(()=>{Fo(ei,d(J)?`height: ${d(le)}px;`:""),F(Ii,d(J)?"▾":"▸")}),G("click",_i,()=>y(me,!d(me))),G("mousedown",ui,We),G("click",fi,()=>{y(J,!d(J))}),E(o,Li),Rs()}Ks(["click","mousedown"]);var XX=T("<button>›</button>"),YX=T('<span class="chev-ph svelte-1vejtrc"></span>'),JX=T('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),QX=T('<div class="tc svelte-1vejtrc"></div>'),eY=T('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!></div> <!></div>'),tY=T("<option></option>"),iY=T('<span class="pub-ok svelte-1vejtrc">✓</span>'),nY=T('<span class="pub-err svelte-1vejtrc"> </span>'),sY=T('<div class="info svelte-1vejtrc">Loading…</div>'),oY=T('<div class="info err svelte-1vejtrc"> </div>'),rY=T('<div class="info svelte-1vejtrc">No topics match.</div>'),aY=T('<div class="vr svelte-1vejtrc"><span class="v-topic svelte-1vejtrc"> </span> <span class="v-val svelte-1vejtrc"> </span> <span class="v-ts svelte-1vejtrc"> </span></div>'),lY=T('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),cY=T('<div class="info svelte-1vejtrc">No topics yet.</div>'),dY=T('<div class="tree-wrap svelte-1vejtrc"><!></div>'),uY=T('<span class="stream-badge"> </span>'),hY=T('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),fY=T('<span class="s-ret svelte-1vejtrc" title="retained snapshot">⊛</span>'),gY=T('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),pY=T('<div class="stream-body svelte-1vejtrc"><!></div>'),_Y=T('<div class="ctx-bd svelte-1vejtrc"></div> <div class="ctx-menu svelte-1vejtrc"><button class="svelte-1vejtrc">Copy topic</button> <button class="svelte-1vejtrc">Clear retained</button></div>',1),mY=T('<label class="modal-check svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> Recursive — also clear all child topics</label>'),vY=T('<div class="modal-bd svelte-1vejtrc"></div> <div class="modal svelte-1vejtrc"><div class="modal-title svelte-1vejtrc">Clear retained</div> <div class="modal-body svelte-1vejtrc"><p class="svelte-1vejtrc">Clear retained value for <code class="svelte-1vejtrc"> </code>?</p> <!></div> <div class="modal-footer svelte-1vejtrc"><button class="btn-cancel svelte-1vejtrc">Cancel</button> <button class="btn-confirm svelte-1vejtrc">Clear</button></div></div>',1),bY=T('<div class="page svelte-1vejtrc"><div class="toolbar svelte-1vejtrc"><h2 class="svelte-1vejtrc">MQTT</h2></div> <div class="main-group svelte-1vejtrc"><div class="pub-bar svelte-1vejtrc"><input class="pt svelte-1vejtrc" type="text" placeholder="topic" list="pub-topic-list" autocomplete="off"/> <datalist id="pub-topic-list"></datalist> <input class="pp svelte-1vejtrc" type="text" placeholder="payload"/> <label class="rl svelte-1vejtrc"><input type="checkbox" class="svelte-1vejtrc"/> <span class="checkmark svelte-1vejtrc"></span> retain</label> <select class="svelte-1vejtrc"><option>QoS 0</option><option>QoS 1</option><option>QoS 2</option></select> <button class="svelte-1vejtrc">Publish</button> <!> <!></div> <div class="tree-filter-bar svelte-1vejtrc"><input class="filter-in svelte-1vejtrc" type="search" placeholder="Filter topics…"/> <span class="count svelte-1vejtrc"><!> </span></div> <!></div> <div class="stream-panel svelte-1vejtrc"><div class="stream-resize svelte-1vejtrc"></div> <div class="stream-hdr-row svelte-1vejtrc"><input class="filter-in stream-filter-in svelte-1vejtrc" type="search" placeholder="Live stream filter (MQTT wildcard, default: #)"/> <!> <button class="stream-toggle svelte-1vejtrc" title="Toggle live stream"> </button></div> <!></div> <!> <!></div>');function yY(o,e){Ns(e,!0);const t=(se,Le=Ry)=>{const at=wt(()=>d(g).has(Le().path)),xt=wt(()=>d(a)>=0&&Le().children.size>0),ht=wt(()=>d(a)>=0&&Le().isLeaf&&!n.has(Le().path));var Xe=eY(),Ht=v(Xe);let ai;var bi=v(Ht);{var Di=Ye=>{var ge=XX();let ve;V(()=>{ve=At(ge,1,"chev svelte-1vejtrc",null,ve,{open:d(at)}),Fi(ge,"aria-label",d(at)?"Collapse":"Expand")}),G("click",ge,()=>p(Le().path)),E(Ye,ge)},fn=Ye=>{var ge=YX();E(Ye,ge)};W(bi,Ye=>{d(xt)?Ye(Di):Ye(fn,-1)})}var Cn=b(bi,2),un=v(Cn),xi=b(Cn,2);{var gn=Ye=>{var ge=JX(),ve=Dt(ge),vt=v(ve),Ei=b(ve,2),Te=v(Ei);V((Ge,Wt,Je)=>{Fi(ve,"title",Ge),F(vt,Wt),F(Te,Je)},[()=>{var Ge;return Oi((Ge=ri(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return Oi((Ge=ri(Le().path))==null?void 0:Ge.val)},()=>{var Ge;return((Ge=ri(Le().path))==null?void 0:Ge.ts)!=null?Wi(ri(Le().path).ts):""}]),E(Ye,ge)},z=wt(()=>Le().isLeaf&&i.has(Le().path));W(xi,Ye=>{d(z)&&Ye(gn)})}var ee=b(Ht,2);{var Ue=Ye=>{var ge=QX();pi(ge,21,()=>[...Le().children.values()].sort((ve,vt)=>ve.seg.localeCompare(vt.seg)),ve=>ve.path,(ve,vt)=>{t(ve,()=>d(vt))}),E(Ye,ge)};W(ee,Ye=>{d(xt)&&d(at)&&Ye(Ue)})}V(()=>{ai=At(Ht,1,"tr svelte-1vejtrc",null,ai,{stale:d(ht)}),F(un,Le().seg)}),G("click",Ht,()=>{y(et,Le().path+"/#")}),G("contextmenu",Ht,Ye=>{Ye.preventDefault(),y(Se,{x:Ye.clientX,y:Ye.clientY,topic:Le().path},!0)}),E(se,Xe)},i=new Map,n=new Set,s=new Set;let r=null,a=M(0);function c(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const se of s)f(se);s.clear(),OL(a)}))}const u=new Map;function f(se){const Le=se.split("/");let at=u,xt="";for(let ht=0;ht<Le.length;ht++){const Xe=Le[ht];xt=ht===0?Xe:`${xt}/${Xe}`,at.has(Xe)||at.set(Xe,{seg:Xe,path:xt,children:new Map,isLeaf:!1});const Ht=at.get(Xe);ht===Le.length-1&&(Ht.isLeaf=!0),at=Ht.children}}let g=M(yi(new Set));function p(se){const Le=new Set(d(g));Le.has(se)?Le.delete(se):Le.add(se),y(g,Le,!0)}let w=M("");const m=24,x=5;let k=M(0),D=M(300),P=wt(()=>{if(d(a),!d(w))return[];const se=d(w).toLowerCase().split(/\s+/).filter(Boolean),Le=[];for(const[at,xt]of i){const ht=at.toLowerCase();se.every(Xe=>ht.includes(Xe))&&Le.push({topic:at,...xt})}return Le.sort((at,xt)=>at.topic.localeCompare(xt.topic))}),A=wt(()=>{const se=d(P).length,Le=Math.max(0,Math.floor(d(k)/m)-x),at=Math.min(se,Math.ceil((d(k)+d(D))/m)+x);return{start:Le,end:at,totalH:se*m,top:Le*m}});const j=1e3,H=200,te=20,J=36;let le=0,we=M(yi([])),We=M(yi([])),ue=M(!0),et=M("#"),rt=M(200);$n(()=>{const se=d(et).trim(),Le=Rl(()=>d(we)),at=!se||se==="#"?Le.slice(0,H):Le.filter(xt=>me(se,xt.topic)).slice(0,H);if(se&&se!=="#"){const xt=new Set(at.map(Xe=>Xe.topic)),ht=[];for(const[Xe,Ht]of i)xt.has(Xe)||me(se,Xe)&&ht.push({id:-(ht.length+1),topic:Xe,val:Ht.val,ts:Ht.ts,retained:!0});ht.sort((Xe,Ht)=>Xe.topic.localeCompare(Ht.topic)),y(We,[...at,...ht],!0)}else y(We,at,!0)});function me(se,Le){if(se==="#")return!0;const at=se.split("/"),xt=Le.split("/");for(let ht=0;ht<at.length;ht++){if(at[ht]==="#")return!0;if(ht>=xt.length||at[ht]!=="+"&&at[ht]!==xt[ht])return!1}return at.length===xt.length}function lt(se){se.preventDefault();const Le=se.clientY,at=d(rt);function xt(Xe){y(rt,Math.max(60,Math.min(800,at+Le-Xe.clientY)),!0)}function ht(){document.removeEventListener("mousemove",xt),document.removeEventListener("mouseup",ht)}document.addEventListener("mousemove",xt),document.addEventListener("mouseup",ht)}let ft=wt(()=>{const se=Math.max(1,Math.floor((d(rt)-J)/te)+1);return d(We).slice(0,se)}),Pt=M(!0),Ne=M(null);async function Lt(){y(Pt,!0),y(Ne,null);try{const se=await HR();for(const Le of se)i.set(Le.topic,{val:Le.val,ts:Le.ts}),f(Le.topic)}catch(se){y(Ne,se instanceof Error?se.message:String(se),!0)}finally{y(Pt,!1),OL(a)}}const Oe=kr("mqtt",se=>{const{topic:Le,val:at,ts:xt}=se;i.set(Le,{val:at,ts:xt}),n.add(Le),s.add(Le),c();const ht={id:le++,topic:Le,val:at,ts:xt};y(we,[ht,...d(we).slice(0,j-1)],!0);const Xe=d(et).trim();(!Xe||Xe==="#"||me(Xe,Le))&&y(We,[ht,...d(We).filter(Ht=>!(Ht.retained&&Ht.topic===Le)).slice(0,H-1)],!0)});let Se=M(null),nt=M(null);async function Ft(se,Le){const at=[se];if(Le){const xt=se+"/";for(const ht of i.keys())ht.startsWith(xt)&&at.push(ht)}for(const xt of at)await HD(xt,"",!0,0)}let oi=wt(()=>(d(a),[...i.keys()].sort())),Bt=M(""),Et=M(""),Rt=M(!1),Ct=M(0),vi=M(!1),di=M(null),Li=M(!1);async function Ni(){if(d(Bt)){y(vi,!0),y(di,null),y(Li,!1);try{await HD(d(Bt),d(Et),d(Rt),d(Ct)),y(Li,!0),setTimeout(()=>{y(Li,!1)},2e3)}catch(se){y(di,se instanceof Error?se.message:String(se),!0)}finally{y(vi,!1)}}}function Oi(se){return se==null?"":typeof se=="object"?JSON.stringify(se):String(se)}function Wi(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function Si(se){return new Date(se).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function ri(se){return d(a),i.get(se)}let _i=wt(()=>(d(a),[...u.values()].sort((se,Le)=>se.seg.localeCompare(Le.seg)))),ki=wt(()=>(d(a),i.size));ao(Lt),Wy(()=>{Oe(),r!==null&&cancelAnimationFrame(r)});var Vi=bY(),Ri=b(v(Vi),2),Mi=v(Ri),mt=v(Mi),Mt=b(mt,2);pi(Mt,20,()=>d(oi),se=>se,(se,Le)=>{var at=tY(),xt={};V(()=>{xt!==(xt=Le)&&(at.value=(at.__value=Le)??"")}),E(se,at)});var hi=b(Mt,2),Ti=b(hi,2),Xi=v(Ti),ji=b(Ti,2),Tn=v(ji);Tn.value=Tn.__value=0;var Fe=b(Tn);Fe.value=Fe.__value=1;var ei=b(Fe);ei.value=ei.__value=2;var ui=b(ji,2),Pi=b(ui,2);{var $e=se=>{var Le=iY();E(se,Le)};W(Pi,se=>{d(Li)&&se($e)})}var Ut=b(Pi,2);{var fi=se=>{var Le=nY(),at=v(Le);V(()=>F(at,d(di))),E(se,Le)};W(Ut,se=>{d(di)&&se(fi)})}var Ii=b(Mi,2),qe=v(Ii),he=b(qe,2),K=v(he);{var ae=se=>{var Le=sa();V(()=>F(Le,`${d(P).length??""} /`)),E(se,Le)};W(K,se=>{d(w)&&se(ae)})}var xe=b(K),Pe=b(Ii,2);{var ot=se=>{var Le=sY();E(se,Le)},R=se=>{var Le=oY(),at=v(Le);V(()=>F(at,d(Ne))),E(se,Le)},Q=se=>{var Le=Vs(),at=Dt(Le);{var xt=Xe=>{var Ht=rY();E(Xe,Ht)},ht=Xe=>{var Ht=lY(),ai=v(Ht),bi=v(ai);pi(bi,21,()=>d(P).slice(d(A).start,d(A).end),Di=>Di.topic,(Di,fn)=>{var Cn=aY(),un=v(Cn),xi=v(un),gn=b(un,2),z=v(gn),ee=b(gn,2),Ue=v(ee);V((Ye,ge,ve)=>{F(xi,d(fn).topic),Fi(gn,"title",Ye),F(z,ge),F(Ue,ve)},[()=>Oi(d(fn).val),()=>Oi(d(fn).val),()=>Wi(d(fn).ts)]),E(Di,Cn)}),V(()=>{Fo(ai,`height: ${d(A).totalH??""}px; position: relative;`),Fo(bi,`top: ${d(A).top??""}px;`)}),cs("scroll",Ht,Di=>{y(k,Di.currentTarget.scrollTop,!0)}),$H(Ht,"clientHeight",Di=>y(D,Di)),E(Xe,Ht)};W(at,Xe=>{d(P).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)},Y=se=>{var Le=dY(),at=v(Le);{var xt=Xe=>{var Ht=cY();E(Xe,Ht)},ht=Xe=>{var Ht=Vs(),ai=Dt(Ht);pi(ai,17,()=>d(_i),bi=>bi.path,(bi,Di)=>{t(bi,()=>d(Di))}),E(Xe,Ht)};W(at,Xe=>{d(_i).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)};W(Pe,se=>{d(Pt)?se(ot):d(Ne)?se(R,1):d(w)?se(Q,2):se(Y,-1)})}var fe=b(Ri,2),_e=v(fe),$=b(_e,2),Z=v($),ie=b(Z,2);{var Ce=se=>{var Le=uY(),at=v(Le);V(()=>F(at,d(We).length)),E(se,Le)};W(ie,se=>{!d(ue)&&d(We).length>0&&se(Ce)})}var gt=b(ie,2),Re=v(gt),Ie=b($,2);{var st=se=>{var Le=pY(),at=v(Le);{var xt=Xe=>{var Ht=hY();E(Xe,Ht)},ht=Xe=>{var Ht=Vs(),ai=Dt(Ht);pi(ai,17,()=>d(ft),bi=>bi.id,(bi,Di)=>{var fn=gY();let Cn;var un=v(fn),xi=v(un),gn=b(un,2);{var z=ve=>{var vt=fY();E(ve,vt)};W(gn,ve=>{d(Di).retained&&ve(z)})}var ee=b(gn,2),Ue=v(ee),Ye=b(ee,2),ge=v(Ye);V((ve,vt,Ei)=>{Cn=At(fn,1,"sr svelte-1vejtrc",null,Cn,{retained:d(Di).retained}),F(xi,ve),F(Ue,d(Di).topic),Fi(Ye,"title",vt),F(ge,Ei)},[()=>Si(d(Di).ts),()=>Oi(d(Di).val),()=>Oi(d(Di).val)]),E(bi,fn)}),E(Xe,Ht)};W(at,Xe=>{d(ft).length===0?Xe(xt):Xe(ht,-1)})}E(se,Le)};W(Ie,se=>{d(ue)&&se(st)})}var It=b(fe,2);{var St=se=>{var Le=_Y(),at=Dt(Le),xt=b(at,2);let ht;var Xe=v(xt),Ht=b(Xe,2);V(()=>ht=Fo(xt,"",ht,{left:`${d(Se).x??""}px`,top:`${d(Se).y??""}px`})),G("click",at,()=>y(Se,null)),G("contextmenu",at,ai=>{ai.preventDefault(),y(Se,null)}),G("click",Xe,()=>{navigator.clipboard.writeText(d(Se).topic),y(Se,null)}),G("click",Ht,()=>{const ai=d(Se).topic,bi=ai+"/",Di=[...i.keys()].some(fn=>fn.startsWith(bi));y(nt,{topic:ai,hasChildren:Di,recursive:!1},!0),y(Se,null)}),E(se,Le)};W(It,se=>{d(Se)&&se(St)})}var si=b(It,2);{var ti=se=>{var Le=vY(),at=Dt(Le),xt=b(at,2),ht=b(v(xt),2),Xe=v(ht),Ht=b(v(Xe)),ai=v(Ht),bi=b(Xe,2);{var Di=xi=>{var gn=mY(),z=v(gn);Is(z,()=>d(nt).recursive,ee=>d(nt).recursive=ee),E(xi,gn)};W(bi,xi=>{d(nt).hasChildren&&xi(Di)})}var fn=b(ht,2),Cn=v(fn),un=b(Cn,2);V(()=>F(ai,d(nt).topic)),G("click",at,()=>y(nt,null)),G("click",Cn,()=>y(nt,null)),G("click",un,()=>{const{topic:xi,recursive:gn}=d(nt);y(nt,null),Ft(xi,gn)}),E(se,Le)};W(si,se=>{d(nt)&&se(ti)})}V(()=>{ui.disabled=d(vi)||!d(Bt),F(xe,` ${d(ki)??""}`),Fo(fe,d(ue)?`height: ${d(rt)}px;`:""),F(Re,d(ue)?"▾":"▸")}),Xt(mt,()=>d(Bt),se=>y(Bt,se)),Xt(hi,()=>d(Et),se=>y(Et,se)),Is(Xi,()=>d(Rt),se=>y(Rt,se)),Ho(ji,()=>d(Ct),se=>y(Ct,se)),G("click",ui,Ni),Xt(qe,()=>d(w),se=>y(w,se)),G("mousedown",_e,lt),Xt(Z,()=>d(et),se=>y(et,se)),G("click",gt,()=>{y(ue,!d(ue))}),E(o,Vi),Rs()}Ks(["click","contextmenu","mousedown"]);var wY=T('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),SY=T('<div class="restart-banner svelte-twakcj">⚠ Package changes require a daemon restart to take effect. <button class="restart-btn svelte-twakcj">Restart now</button></div>'),CY=T('<div class="err svelte-twakcj"> </div>'),xY=T('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),kY=T('<p class="empty svelte-twakcj">No packages installed.</p>'),LY=T('<p class="empty svelte-twakcj">No match.</p>'),IY=T("<span> </span>"),DY=VP('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><circle cx="8" cy="8" r="6" stroke-dasharray="18" stroke-dashoffset="4"></circle></svg>'),EY=VP('<svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg>'),TY=T('<div><div class="dep-info svelte-twakcj"><a class="dep-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="dep-ver svelte-twakcj"> </span> <!></div> <div class="dep-btns svelte-twakcj"><button><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M15 4.5l-4 4l-4 1.5l-1.5 1.5l7 7l1.5 -1.5l1.5 -4l4 -4"></path><line x1="9" y1="15" x2="4.5" y2="19.5"></line><line x1="14.5" y1="4" x2="20" y2="9.5"></line></svg></button> <button><!></button> <button class="icon-btn icon-btn--danger svelte-twakcj" title="Uninstall"><svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"><line x1="2" y1="2" x2="14" y2="14"></line><line x1="14" y1="2" x2="2" y2="14"></line></svg></button></div></div>'),PY=T('<span class="result-author svelte-twakcj"> </span>'),MY=T('<span class="result-date svelte-twakcj"> </span>'),NY=T('<span class="result-desc svelte-twakcj"> </span>'),RY=T('<div class="result-row svelte-twakcj"><div class="result-info svelte-twakcj"><a class="result-name svelte-twakcj" target="_blank" rel="noopener noreferrer"> </a> <span class="result-ver svelte-twakcj"> </span> <!> <!> <!></div> <button class="install-btn svelte-twakcj"> </button></div>'),AY=T('<div class="results-list svelte-twakcj"></div>'),OY=T('<pre class="npm-output svelte-twakcj"> </pre>'),FY=T(`<p class="hint svelte-twakcj">Install npm packages into <code class="svelte-twakcj">~/.she/</code>. Scripts can then <code class="svelte-twakcj">require('package-name')</code> directly.</p>`),HY=T('<!> <div class="pkg-shell svelte-twakcj"><!> <!> <div class="pkg-body svelte-twakcj"><div class="pkg-left svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Installed</span> <span class="pane-count svelte-twakcj"> </span> <!> <button class="icon-btn check-outdated-btn svelte-twakcj" title="Check for package updates"><svg width="12" height="12" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round"><path d="M13 8A5 5 0 1 1 10.5 3.67"></path><polyline points="10.5,1.5 10.5,4 13,4"></polyline></svg></button></div> <div class="filter-row svelte-twakcj"><input class="filter-in svelte-twakcj" type="search" placeholder="Filter…"/></div> <div class="installed-list svelte-twakcj"><!></div></div> <div class="pkg-right svelte-twakcj"><div class="pane-hdr svelte-twakcj"><span class="pane-title svelte-twakcj">Search npm</span></div> <div class="search-row svelte-twakcj"><input class="search-in svelte-twakcj" type="text" placeholder="Package name, e.g. axios, lodash…"/> <button class="search-btn svelte-twakcj"> </button></div> <!> <!> <!></div></div></div>',1);function WY(o,e){Ns(e,!0);let t=M(yi([])),i=M(""),n=M(yi({})),s=M(yi([])),r=M(!1),a=M(""),c=M(yi([])),u=M(!1),f=M(!1),g=M(!1),p=M(""),w=M(""),m=yi({});const x=wt(()=>d(i).trim()?d(t).filter(Fe=>Fe.name.toLowerCase().includes(d(i).toLowerCase())):d(t)),k=wt(()=>Object.keys(d(n)).filter(Fe=>!d(s).includes(Fe)).length);ao(async()=>{await Promise.all([D(),P(),A()])});async function D(){try{y(t,await I7(),!0),y(p,"")}catch(Fe){y(p,Fe.message,!0)}}async function P(){try{y(n,await OR(),!0)}catch{}}async function A(){try{const Fe=await Dl();y(s,Array.isArray(Fe.pinnedPackages)?Fe.pinnedPackages:[],!0)}catch{}}async function j(Fe){const ei=d(s).includes(Fe)?d(s).filter(ui=>ui!==Fe):[...d(s),Fe];y(s,ei,!0);try{const ui=await Dl();await Zp({...ui,pinnedPackages:ei})}catch{}}async function H(){y(r,!0);try{y(n,await M7(),!0)}catch{}finally{y(r,!1)}}async function te(){const Fe=d(a).trim();if(!Fe){y(c,[],!0);return}y(g,!0),y(p,"");try{y(c,await D7(Fe),!0)}catch(ei){y(p,ei.message,!0)}finally{y(g,!1)}}function J(Fe){if(!Fe)return"";try{return new Date(Fe).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function le(Fe,ei){m[Fe]=!0,y(p,""),y(w,"");try{const ui=await E7(Fe,ei);y(w,ui.stdout||ui.stderr||"Done.",!0),y(u,!0),await D()}catch(ui){y(p,ui.message,!0)}finally{m[Fe]=!1}}async function we(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const ei=await T7(Fe);y(w,ei.stdout||ei.stderr||"Done.",!0),y(u,!0);const ui={...d(n)};delete ui[Fe],y(n,ui,!0),await D()}catch(ei){y(p,ei.message,!0)}finally{m[Fe]=!1}}async function We(Fe){m[Fe]=!0,y(p,""),y(w,"");try{const ei=await P7(Fe);y(w,ei.stdout||ei.stderr||"Done.",!0),y(u,!0);const ui={...d(n)};delete ui[Fe],y(n,ui,!0),await D()}catch(ei){y(p,ei.message,!0)}finally{m[Fe]=!1}}let ue;async function et(){if(await ue.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){y(f,!0);try{await NR()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var rt=HY(),me=Dt(rt);Ds(Jf(me,{}),Fe=>ue=Fe,()=>ue);var lt=b(me,2),ft=v(lt);{var Pt=Fe=>{var ei=wY();E(Fe,ei)},Ne=Fe=>{var ei=SY(),ui=b(v(ei));G("click",ui,et),E(Fe,ei)};W(ft,Fe=>{d(f)?Fe(Pt):d(u)&&Fe(Ne,1)})}var Lt=b(ft,2);{var Oe=Fe=>{var ei=CY(),ui=v(ei);V(()=>F(ui,d(p))),E(Fe,ei)};W(Lt,Fe=>{d(p)&&Fe(Oe)})}var Se=b(Lt,2),nt=v(Se),Ft=v(nt),oi=b(v(Ft),2),Bt=v(oi),Et=b(oi,2);{var Rt=Fe=>{var ei=xY(),ui=v(ei);V(()=>F(ui,`${d(k)??""} outdated`)),E(Fe,ei)};W(Et,Fe=>{d(k)>0&&Fe(Rt)})}var Ct=b(Et,2),vi=v(Ct);let di;var Li=b(Ft,2),Ni=v(Li),Oi=b(Li,2),Wi=v(Oi);{var Si=Fe=>{var ei=kY();E(Fe,ei)},ri=Fe=>{var ei=LY();E(Fe,ei)},_i=Fe=>{var ei=Vs(),ui=Dt(ei);pi(ui,17,()=>d(x),Pi=>Pi.name,(Pi,$e)=>{var Ut=TY();let fi;var Ii=v(Ut),qe=v(Ii),he=v(qe),K=b(qe,2),ae=v(K),xe=b(K,2);{var Pe=Ce=>{var gt=IY();let Re;var Ie=v(gt);V(st=>{Re=At(gt,1,"dep-latest svelte-twakcj",null,Re,st),F(Ie,`→ v${d(n)[d($e).name].latest??""}`)},[()=>({"dep-latest--pinned":d(s).includes(d($e).name)})]),E(Ce,gt)};W(xe,Ce=>{d(n)[d($e).name]&&Ce(Pe)})}var ot=b(Ii,2),R=v(ot);let Q;var Y=b(R,2);let fe;var _e=v(Y);{var $=Ce=>{var gt=DY();E(Ce,gt)},Z=Ce=>{var gt=EY();E(Ce,gt)};W(_e,Ce=>{m[d($e).name]?Ce($):Ce(Z,-1)})}var ie=b(Y,2);V((Ce,gt,Re)=>{fi=At(Ut,1,"dep-row svelte-twakcj",null,fi,{"dep-busy":!!m[d($e).name]}),Fi(qe,"href",d($e).url??`https://www.npmjs.com/package/${d($e).name}`),F(he,d($e).name),F(ae,d($e).installedVersion??d($e).version),Q=At(R,1,"icon-btn svelte-twakcj",null,Q,Ce),Fi(R,"title",gt),fe=At(Y,1,"icon-btn svelte-twakcj",null,fe,Re),Y.disabled=!!m[d($e).name],Fi(Y,"title",d(n)[d($e).name]?`Update to v${d(n)[d($e).name].latest}`:"Update to latest"),ie.disabled=!!m[d($e).name]},[()=>({"icon-btn--pinned":d(s).includes(d($e).name)}),()=>d(s).includes(d($e).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!d(n)[d($e).name]&&!d(s).includes(d($e).name)})]),G("click",R,()=>j(d($e).name)),G("click",Y,()=>We(d($e).name)),G("click",ie,()=>we(d($e).name)),E(Pi,Ut)}),E(Fe,ei)};W(Wi,Fe=>{d(t).length===0?Fe(Si):d(x).length===0?Fe(ri,1):Fe(_i,-1)})}var ki=b(nt,2),Vi=b(v(ki),2),Ri=v(Vi),Mi=b(Ri,2),mt=v(Mi),Mt=b(Vi,2);{var hi=Fe=>{var ei=AY();pi(ei,21,()=>d(c),ui=>ui.name,(ui,Pi)=>{var $e=RY(),Ut=v($e),fi=v(Ut),Ii=v(fi),qe=b(fi,2),he=v(qe),K=b(qe,2);{var ae=fe=>{var _e=PY(),$=v(_e);V(()=>F($,d(Pi).author)),E(fe,_e)};W(K,fe=>{d(Pi).author&&fe(ae)})}var xe=b(K,2);{var Pe=fe=>{var _e=MY(),$=v(_e);V(Z=>{Fi(_e,"title",d(Pi).date),F($,Z)},[()=>J(d(Pi).date)]),E(fe,_e)};W(xe,fe=>{d(Pi).date&&fe(Pe)})}var ot=b(xe,2);{var R=fe=>{var _e=NY(),$=v(_e);V(()=>F($,d(Pi).description)),E(fe,_e)};W(ot,fe=>{d(Pi).description&&fe(R)})}var Q=b(Ut,2),Y=v(Q);V(()=>{Fi(fi,"href",d(Pi).url??`https://www.npmjs.com/package/${d(Pi).name}`),F(Ii,d(Pi).name),F(he,d(Pi).version),Q.disabled=!!m[d(Pi).name],F(Y,m[d(Pi).name]?"Installing…":"Install")}),G("click",Q,()=>le(d(Pi).name)),E(ui,$e)}),E(Fe,ei)};W(Mt,Fe=>{d(c).length>0&&Fe(hi)})}var Ti=b(Mt,2);{var Xi=Fe=>{var ei=OY(),ui=v(ei);V(()=>F(ui,d(w))),E(Fe,ei)};W(Ti,Fe=>{d(w)&&Fe(Xi)})}var ji=b(Ti,2);{var Tn=Fe=>{var ei=FY();E(Fe,ei)};W(ji,Fe=>{!d(c).length&&!d(w)&&Fe(Tn)})}V(()=>{F(Bt,d(t).length),Ct.disabled=d(r),di=At(vi,0,"svelte-twakcj",null,di,{spinning:d(r)}),Mi.disabled=d(g),F(mt,d(g)?"Searching…":"Search")}),G("click",Ct,H),Xt(Ni,()=>d(i),Fe=>y(i,Fe)),G("keydown",Ri,Fe=>Fe.key==="Enter"&&te()),Xt(Ri,()=>d(a),Fe=>y(a,Fe)),G("click",Mi,te),E(o,rt),Rs()}Ks(["click","keydown"]);var Ul=T('<div class="err svelte-3itf14"> </div>'),BY=T('<div class="empty svelte-3itf14">No users found.</div>'),_E=T('<span class="tag svelte-3itf14"> </span>'),mE=T('<span class="tag tag--group svelte-3itf14"> </span>'),zY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),VY=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Username</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14">Groups</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),jY=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Users</h3> <button class="btn-add svelte-3itf14">+ Add user</button></div> <!> <!></div>'),$Y=T('<div class="empty svelte-3itf14">No roles found.</div>'),UY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),qY=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Role</th><th class="svelte-3itf14">ACLs</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),GY=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Roles</h3> <button class="btn-add svelte-3itf14">+ Add role</button></div> <!> <!></div>'),KY=T('<div class="empty svelte-3itf14">No groups found.</div>'),ZY=T('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="tags svelte-3itf14"></td><td class="tags svelte-3itf14"></td><td class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></td></tr>'),XY=T('<table class="svelte-3itf14"><thead><tr><th class="svelte-3itf14">Group</th><th class="svelte-3itf14">Members</th><th class="svelte-3itf14">Roles</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),YY=T('<div class="panel svelte-3itf14"><div class="panel-header svelte-3itf14"><h3 class="svelte-3itf14">Groups</h3> <button class="btn-add svelte-3itf14">+ Add group</button></div> <!> <!></div>'),JY=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add user</h3> <label class="svelte-3itf14">Username<input autocomplete="off" class="svelte-3itf14"/></label> <label class="svelte-3itf14">Password <div class="pw-row svelte-3itf14"><input autocomplete="new-password" class="svelte-3itf14"/> <button class="toggle-pw svelte-3itf14"> </button></div></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),QY=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Set password for <em class="svelte-3itf14"> </em></h3> <label class="svelte-3itf14">New password <input type="password" autocomplete="new-password" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),eJ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add role</h3> <label class="svelte-3itf14">Role name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),tJ=T('<tr class="svelte-3itf14"><td class="mono small svelte-3itf14"> </td><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="svelte-3itf14"><button class="danger">✕</button></td></tr>'),iJ=T('<table class="acl-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Type</th><th class="svelte-3itf14">Topic</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14"></th></tr></thead><tbody></tbody></table>'),nJ=T('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),sJ=T("<option> </option>"),oJ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-3itf14"><h3 class="svelte-3itf14">ACLs for role <em class="svelte-3itf14"> </em></h3> <!> <div class="acl-add-row svelte-3itf14"><select class="svelte-3itf14"></select> <input placeholder="topic or pattern" class="svelte-3itf14"/> <label class="allow-toggle svelte-3itf14"><input type="checkbox" class="svelte-3itf14"/> Allow</label> <button class="svelte-3itf14">Add</button></div> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Close</button></div></div></div>'),rJ=T('<div class="modal-backdrop svelte-3itf14" role="dialog" aria-modal="true"><div class="modal svelte-3itf14"><h3 class="svelte-3itf14">Add group</h3> <label class="svelte-3itf14">Group name<input autocomplete="off" class="svelte-3itf14"/></label> <!> <div class="modal-actions svelte-3itf14"><button class="svelte-3itf14">Cancel</button> <button class="btn-primary svelte-3itf14"> </button></div></div></div>'),aJ=T('<div class="users-page svelte-3itf14"><div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!> <!>',1);function lJ(o,e){Ns(e,!0);let t=M(yi([])),i=M(yi([])),n=M(yi([])),s=M(""),r=M(""),a=M(""),c=M("users"),u=M(!1),f=M(""),g=M(""),p=M(!1),w=M(""),m=M(!1),x=M(!1),k=M(""),D=M(""),P=M(""),A=M(!1),j=M(!1),H=M(""),te=M(""),J=M(!1),le=M(null),we=M(!1),We=M("publishClientSend"),ue=M(""),et=M(!0),rt=M(""),me=M(!1),lt=M(""),ft=M(""),Pt=M(!1);const Ne=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function Lt(){var qe,he,K;try{const[ae,xe,Pe]=await Promise.allSettled([j7(),G7(),J7()]);ae.status==="fulfilled"?(y(t,ae.value.users,!0),y(s,"")):y(s,((qe=ae.reason)==null?void 0:qe.message)??"Failed to load users",!0),xe.status==="fulfilled"?(y(i,xe.value.roles,!0),y(r,"")):y(r,((he=xe.reason)==null?void 0:he.message)??"Failed to load roles",!0),Pe.status==="fulfilled"?(y(n,Pe.value.groups,!0),y(a,"")):y(a,((K=Pe.reason)==null?void 0:K.message)??"Failed to load groups",!0)}catch{}}ao(()=>{Lt()});async function Oe(){y(w,""),y(m,!0);try{await $7(d(f),d(g)),y(f,""),y(g,""),y(u,!1),await Lt()}catch(qe){y(w,qe.message??"Failed to create user",!0)}finally{y(m,!1)}}async function Se(qe){if(confirm(`Delete user "${qe}"?`))try{await U7(qe),await Lt()}catch(he){y(s,he.message,!0)}}async function nt(qe){y(k,qe,!0),y(D,""),y(P,""),y(x,!0)}async function Ft(){y(P,""),y(A,!0);try{await q7(d(k),d(D)),y(x,!1)}catch(qe){y(P,qe.message,!0)}finally{y(A,!1)}}async function oi(){y(te,""),y(J,!0);try{await K7(d(H)),y(H,""),y(j,!1),await Lt()}catch(qe){y(te,qe.message??"Failed to create role",!0)}finally{y(J,!1)}}async function Bt(qe){var he;if(confirm(`Delete role "${qe}"?`))try{await Z7(qe),((he=d(le))==null?void 0:he.rolename)===qe&&(y(le,null),y(we,!1)),await Lt()}catch(K){y(r,K.message,!0)}}function Et(qe){y(le,qe,!0),y(we,!0),y(We,"publishClientSend"),y(ue,""),y(et,!0),y(rt,"")}async function Rt(){if(d(le)){y(rt,"");try{await X7(d(le).rolename,{acltype:d(We),topic:d(ue),allow:d(et)}),y(ue,""),await Lt(),y(le,d(i).find(qe=>qe.rolename===d(le).rolename)??d(le),!0)}catch(qe){y(rt,qe.message,!0)}}}async function Ct(qe,he,K){try{await Y7(qe,he,K),await Lt(),y(le,d(i).find(ae=>ae.rolename===qe)??d(le),!0)}catch(ae){y(rt,ae.message,!0)}}async function vi(){y(ft,""),y(Pt,!0);try{await Q7(d(lt)),y(lt,""),y(me,!1),await Lt()}catch(qe){y(ft,qe.message??"Failed to create group",!0)}finally{y(Pt,!1)}}async function di(qe){if(confirm(`Delete group "${qe}"?`))try{await eq(qe),await Lt()}catch(he){y(a,he.message,!0)}}var Li=aJ(),Ni=Dt(Li),Oi=v(Ni),Wi=v(Oi);let Si;var ri=b(Wi,2);let _i;var ki=b(ri,2);let Vi;var Ri=b(ki,2),Mi=b(Oi,2);{var mt=qe=>{var he=jY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(s))),E(Y,fe)};W(xe,Y=>{d(s)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=BY();E(Y,fe)},Q=Y=>{var fe=VY(),_e=b(v(fe));pi(_e,21,()=>d(t),rn,($,Z)=>{var ie=zY(),Ce=v(ie),gt=v(Ce),Re=b(Ce);pi(Re,21,()=>d(Z).roles??[],rn,(si,ti)=>{var se=_E(),Le=v(se);V(()=>F(Le,d(ti).rolename)),E(si,se)});var Ie=b(Re);pi(Ie,21,()=>d(Z).groups??[],rn,(si,ti)=>{var se=mE(),Le=v(se);V(()=>F(Le,d(ti).groupname)),E(si,se)});var st=b(Ie),It=v(st),St=b(It,2);V(()=>F(gt,d(Z).username)),G("click",It,()=>nt(d(Z).username)),G("click",St,()=>Se(d(Z).username)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(t).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(u,!0),y(w,"")}),E(qe,he)};W(Mi,qe=>{d(c)==="users"&&qe(mt)})}var Mt=b(Mi,2);{var hi=qe=>{var he=GY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(r))),E(Y,fe)};W(xe,Y=>{d(r)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=$Y();E(Y,fe)},Q=Y=>{var fe=qY(),_e=b(v(fe));pi(_e,21,()=>d(i),rn,($,Z)=>{var ie=UY(),Ce=v(ie),gt=v(Ce),Re=b(Ce),Ie=v(Re),st=b(Re),It=v(st),St=b(It,2);V(()=>{var si;F(gt,d(Z).rolename),F(Ie,((si=d(Z).acls)==null?void 0:si.length)??0)}),G("click",It,()=>Et(d(Z))),G("click",St,()=>Bt(d(Z).rolename)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(i).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(j,!0),y(te,""),y(H,"")}),E(qe,he)};W(Mt,qe=>{d(c)==="roles"&&qe(hi)})}var Ti=b(Mt,2);{var Xi=qe=>{var he=YY(),K=v(he),ae=b(v(K),2),xe=b(K,2);{var Pe=Y=>{var fe=Ul(),_e=v(fe);V(()=>F(_e,d(a))),E(Y,fe)};W(xe,Y=>{d(a)&&Y(Pe)})}var ot=b(xe,2);{var R=Y=>{var fe=KY();E(Y,fe)},Q=Y=>{var fe=XY(),_e=b(v(fe));pi(_e,21,()=>d(n),rn,($,Z)=>{var ie=ZY(),Ce=v(ie),gt=v(Ce),Re=b(Ce);pi(Re,21,()=>d(Z).clients??[],rn,(St,si)=>{var ti=_E(),se=v(ti);V(()=>F(se,d(si).username)),E(St,ti)});var Ie=b(Re);pi(Ie,21,()=>d(Z).roles??[],rn,(St,si)=>{var ti=mE(),se=v(ti);V(()=>F(se,d(si).rolename)),E(St,ti)});var st=b(Ie),It=v(st);V(()=>F(gt,d(Z).groupname)),G("click",It,()=>di(d(Z).groupname)),E($,ie)}),E(Y,fe)};W(ot,Y=>{d(n).length===0?Y(R):Y(Q,-1)})}G("click",ae,()=>{y(me,!0),y(ft,""),y(lt,"")}),E(qe,he)};W(Ti,qe=>{d(c)==="groups"&&qe(Xi)})}var ji=b(Ni,2);{var Tn=qe=>{var he=JY(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2),ot=b(v(Pe)),R=v(ot),Q=b(R,2),Y=v(Q),fe=b(Pe,2);{var _e=gt=>{var Re=Ul(),Ie=v(Re);V(()=>F(Ie,d(w))),E(gt,Re)};W(fe,gt=>{d(w)&>(_e)})}var $=b(fe,2),Z=v($),ie=b(Z,2),Ce=v(ie);V(()=>{Fi(R,"type",d(p)?"text":"password"),F(Y,d(p)?"Hide":"Show"),ie.disabled=d(m)||!d(f)||!d(g),F(Ce,d(m)?"Creating…":"Create")}),Xt(xe,()=>d(f),gt=>y(f,gt)),Xt(R,()=>d(g),gt=>y(g,gt)),G("click",Q,()=>y(p,!d(p))),G("click",Z,()=>y(u,!1)),G("click",ie,Oe),E(qe,he)};W(ji,qe=>{d(u)&&qe(Tn)})}var Fe=b(ji,2);{var ei=qe=>{var he=QY(),K=v(he),ae=v(K),xe=b(v(ae)),Pe=v(xe),ot=b(ae,2),R=b(v(ot)),Q=b(ot,2);{var Y=ie=>{var Ce=Ul(),gt=v(Ce);V(()=>F(gt,d(P))),E(ie,Ce)};W(Q,ie=>{d(P)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{F(Pe,d(k)),$.disabled=d(A)||!d(D),F(Z,d(A)?"Saving…":"Set password")}),Xt(R,()=>d(D),ie=>y(D,ie)),G("click",_e,()=>y(x,!1)),G("click",$,Ft),E(qe,he)};W(Fe,qe=>{d(x)&&qe(ei)})}var ui=b(Fe,2);{var Pi=qe=>{var he=eJ(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2);{var ot=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(te))),E(_e,$)};W(Pe,_e=>{d(te)&&_e(ot)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(J)||!d(H),F(fe,d(J)?"Creating…":"Create")}),Xt(xe,()=>d(H),_e=>y(H,_e)),G("click",Q,()=>y(j,!1)),G("click",Y,oi),E(qe,he)};W(ui,qe=>{d(j)&&qe(Pi)})}var $e=b(ui,2);{var Ut=qe=>{var he=oJ(),K=v(he),ae=v(K),xe=b(v(ae)),Pe=v(xe),ot=b(ae,2);{var R=st=>{var It=iJ(),St=b(v(It));pi(St,21,()=>d(le).acls??[],rn,(si,ti)=>{var se=tJ(),Le=v(se),at=v(Le),xt=b(Le),ht=v(xt),Xe=b(xt),Ht=v(Xe),ai=b(Xe),bi=v(ai);V(()=>{F(at,d(ti).acltype),F(ht,d(ti).topic),F(Ht,d(ti).allow?"✓":"✗")}),G("click",bi,()=>Ct(d(le).rolename,d(ti).acltype,d(ti).topic)),E(si,se)}),E(st,It)},Q=st=>{var It=nJ();E(st,It)};W(ot,st=>{var It;(((It=d(le).acls)==null?void 0:It.length)??0)>0?st(R):st(Q,-1)})}var Y=b(ot,2),fe=v(Y);pi(fe,21,()=>Ne,rn,(st,It)=>{var St=sJ(),si=v(St),ti={};V(()=>{F(si,d(It)),ti!==(ti=d(It))&&(St.value=(St.__value=d(It))??"")}),E(st,St)});var _e=b(fe,2),$=b(_e,2),Z=v($),ie=b($,2),Ce=b(Y,2);{var gt=st=>{var It=Ul(),St=v(It);V(()=>F(St,d(rt))),E(st,It)};W(Ce,st=>{d(rt)&&st(gt)})}var Re=b(Ce,2),Ie=v(Re);V(()=>{F(Pe,d(le).rolename),ie.disabled=!d(ue)}),Ho(fe,()=>d(We),st=>y(We,st)),Xt(_e,()=>d(ue),st=>y(ue,st)),Is(Z,()=>d(et),st=>y(et,st)),G("click",ie,Rt),G("click",Ie,()=>y(we,!1)),E(qe,he)};W($e,qe=>{d(we)&&d(le)&&qe(Ut)})}var fi=b($e,2);{var Ii=qe=>{var he=rJ(),K=v(he),ae=b(v(K),2),xe=b(v(ae)),Pe=b(ae,2);{var ot=_e=>{var $=Ul(),Z=v($);V(()=>F(Z,d(ft))),E(_e,$)};W(Pe,_e=>{d(ft)&&_e(ot)})}var R=b(Pe,2),Q=v(R),Y=b(Q,2),fe=v(Y);V(()=>{Y.disabled=d(Pt)||!d(lt),F(fe,d(Pt)?"Creating…":"Create")}),Xt(xe,()=>d(lt),_e=>y(lt,_e)),G("click",Q,()=>y(me,!1)),G("click",Y,vi),E(qe,he)};W(fi,qe=>{d(me)&&qe(Ii)})}V(()=>{Si=At(Wi,1,"svelte-3itf14",null,Si,{active:d(c)==="users"}),_i=At(ri,1,"svelte-3itf14",null,_i,{active:d(c)==="roles"}),Vi=At(ki,1,"svelte-3itf14",null,Vi,{active:d(c)==="groups"})}),G("click",Wi,()=>y(c,"users")),G("click",ri,()=>y(c,"roles")),G("click",ki,()=>y(c,"groups")),G("click",Ri,Lt),E(o,Li),Rs()}Ks(["click"]);var vE=T('<div class="err svelte-9i68x"> </div>'),cJ=T('<div class="ok svelte-9i68x">Saved.</div>'),dJ=T('<div class="reload-msg svelte-9i68x"> </div>'),uJ=T('<div class="loading svelte-9i68x">Loading…</div>'),hJ=T('<div class="tls-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Certificate file (certfile) <input placeholder="/etc/mosquitto/certs/server.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Key file (keyfile) <input placeholder="/etc/mosquitto/certs/server.key" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CA file (cafile) — single CA cert <input placeholder="/etc/mosquitto/ca.crt" class="svelte-9i68x"/></label> <label class="svelte-9i68x">CA path (capath) — CA cert directory <input placeholder="/etc/mosquitto/ca-certs/" class="svelte-9i68x"/></label></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">CRL file (crlfile) <input placeholder="/etc/mosquitto/crl.pem" class="svelte-9i68x"/></label> <label class="svelte-9i68x">TLS version <select class="svelte-9i68x"><option>Default</option><option>tlsv1.3</option><option>tlsv1.2</option></select></label></div> <div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> Use cert CN as username (use_identity_as_username)</label></div></div>'),fJ=T('<div class="listener-card svelte-9i68x"><div class="card-title svelte-9i68x"><span> </span> <button class="remove-btn svelte-9i68x" title="Remove listener">✕</button></div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">Port <input type="number" min="1" max="65535" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Protocol <select class="svelte-9i68x"><option>mqtt</option><option>websockets</option></select></label> <label class="svelte-9i68x">Bind address <input placeholder="(all interfaces)" class="svelte-9i68x"/></label></div> <div class="tls-toggle-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox"/> TLS</label></div> <!></div>'),gJ=T('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),pJ=T('<div class="cards svelte-9i68x"><!> <!></div>'),_J=T('<div class="listeners-page svelte-9i68x"><div class="page-header svelte-9i68x"><h3 class="svelte-9i68x">Listeners</h3> <div class="header-actions svelte-9i68x"><button class="svelte-9i68x">+ Add listener</button> <button class="btn-save svelte-9i68x"> </button> <button class="btn-reload svelte-9i68x" title="Apply & Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function mJ(o,e){Ns(e,!0);let t=M(null),i=M(""),n=M(!1),s=M(""),r=M(!1),a=M(!1),c=M(""),u=M(yi([])),f=M(null);ao(()=>{g()});async function g(){try{y(t,await W7(),!0),y(u,JSON.parse(JSON.stringify(d(t).listeners)),!0),y(f,d(t).checksum,!0),y(i,"")}catch(Se){y(i,Se.message??"Failed to load broker config",!0)}}function p(){y(u,[...d(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0)}function w(Se){y(u,d(u).filter((nt,Ft)=>Ft!==Se),!0)}async function m(){if(d(t)){y(n,!0),y(s,""),y(r,!1);try{await B7({listeners:d(u),managed:d(t).managed,passthrough:d(t).passthrough,checksum:d(f)}),y(r,!0),setTimeout(()=>y(r,!1),3e3),await g()}catch(Se){y(s,Se.message??"Save failed",!0)}finally{y(n,!1)}}}async function x(){y(a,!0),y(c,"");try{const Se=await z7();y(c,Se.stderr||Se.stdout||"Reloaded",!0)}catch(Se){y(c,"Error: "+(Se.message??"reload failed"))}finally{y(a,!1)}}function k(Se){var nt,Ft,oi,Bt;return!!((nt=Se.tls)!=null&&nt.certfile||(Ft=Se.tls)!=null&&Ft.keyfile||(oi=Se.tls)!=null&&oi.capath||(Bt=Se.tls)!=null&&Bt.cafile)}function D(Se,nt){nt||(Se.tls={}),y(u,[...d(u)],!0)}var P=_J(),A=v(P),j=b(v(A),2),H=v(j),te=b(H,2),J=v(te),le=b(te,2),we=v(le),We=b(A,2);{var ue=Se=>{var nt=vE(),Ft=v(nt);V(()=>F(Ft,d(i))),E(Se,nt)};W(We,Se=>{d(i)&&Se(ue)})}var et=b(We,2);{var rt=Se=>{var nt=vE(),Ft=v(nt);V(()=>F(Ft,d(s))),E(Se,nt)};W(et,Se=>{d(s)&&Se(rt)})}var me=b(et,2);{var lt=Se=>{var nt=cJ();E(Se,nt)};W(me,Se=>{d(r)&&Se(lt)})}var ft=b(me,2);{var Pt=Se=>{var nt=dJ(),Ft=v(nt);V(()=>F(Ft,d(c))),E(Se,nt)};W(ft,Se=>{d(c)&&Se(Pt)})}var Ne=b(ft,2);{var Lt=Se=>{var nt=uJ();E(Se,nt)},Oe=Se=>{var nt=pJ(),Ft=v(nt);pi(Ft,17,()=>d(u),rn,(Et,Rt,Ct)=>{var vi=fJ(),di=v(vi),Li=v(di),Ni=v(Li),Oi=b(Li,2),Wi=b(di,2),Si=v(Wi),ri=b(v(Si)),_i=b(Si,2),ki=b(v(_i)),Vi=v(ki);Vi.value=Vi.__value="mqtt";var Ri=b(Vi);Ri.value=Ri.__value="websockets";var Mi=b(_i,2),mt=b(v(Mi)),Mt=b(Wi,2),hi=v(Mt),Ti=v(hi),Xi=b(Mt,2);{var ji=Fe=>{var ei=hJ(),ui=v(ei),Pi=v(ui),$e=b(v(Pi)),Ut=b(Pi,2),fi=b(v(Ut)),Ii=b(ui,2),qe=v(Ii),he=b(v(qe)),K=b(qe,2),ae=b(v(K)),xe=b(Ii,2),Pe=v(xe),ot=b(v(Pe)),R=b(Pe,2),Q=b(v(R)),Y=v(Q);Y.value=Y.__value="";var fe=b(Y);fe.value=fe.__value="tlsv1.3";var _e=b(fe);_e.value=_e.__value="tlsv1.2";var $=b(xe,2),Z=v($),ie=v(Z),Ce=b(Z,2),gt=v(Ce);Xt($e,()=>d(Rt).tls.certfile,Re=>d(Rt).tls.certfile=Re),Xt(fi,()=>d(Rt).tls.keyfile,Re=>d(Rt).tls.keyfile=Re),Xt(he,()=>d(Rt).tls.cafile,Re=>d(Rt).tls.cafile=Re),Xt(ae,()=>d(Rt).tls.capath,Re=>d(Rt).tls.capath=Re),Xt(ot,()=>d(Rt).tls.crlfile,Re=>d(Rt).tls.crlfile=Re),Ho(Q,()=>d(Rt).tls.tls_version,Re=>d(Rt).tls.tls_version=Re),Is(ie,()=>d(Rt).tls.require_certificate,Re=>d(Rt).tls.require_certificate=Re),Is(gt,()=>d(Rt).tls.use_identity_as_username,Re=>d(Rt).tls.use_identity_as_username=Re),E(Fe,ei)},Tn=wt(()=>k(d(Rt)));W(Xi,Fe=>{d(Tn)&&Fe(ji)})}V(Fe=>{F(Ni,`Port ${d(Rt).port??""}`),Dg(Ti,Fe)},[()=>k(d(Rt))]),G("click",Oi,()=>w(Ct)),Xt(ri,()=>d(Rt).port,Fe=>d(Rt).port=Fe),Ho(ki,()=>d(Rt).protocol,Fe=>d(Rt).protocol=Fe),Xt(mt,()=>d(Rt).bindAddress,Fe=>d(Rt).bindAddress=Fe),G("change",Ti,Fe=>D(d(Rt),Fe.target.checked)),E(Et,vi)});var oi=b(Ft,2);{var Bt=Et=>{var Rt=gJ();E(Et,Rt)};W(oi,Et=>{d(u).length===0&&Et(Bt)})}E(Se,nt)};W(Ne,Se=>{d(t)===null&&!d(i)?Se(Lt):Se(Oe,-1)})}V(()=>{te.disabled=d(n),F(J,d(n)?"Saving…":"Save"),le.disabled=d(a),F(we,d(a)?"Reloading…":"Apply & Reload")}),G("click",H,p),G("click",te,m),G("click",le,x),E(o,P),Rs()}Ks(["click","change"]);var fh=T('<div class="err svelte-9auejo"> </div>'),vJ=T('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl> <div class="card-actions svelte-9auejo"><a class="btn-download svelte-9auejo" download="ca.crt">Download ca.crt</a></div></div>'),bJ=T('<div class="empty svelte-9auejo">No local CA generated yet.</div>'),yJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Local Certificate Authority</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),wJ=T('<div class="info-card svelte-9auejo"><dl class="svelte-9auejo"><dt class="svelte-9auejo">CN</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint (SHA-256)</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd> </dd></dl></div>'),SJ=T('<div class="empty svelte-9auejo">No managed server certificate yet. Generate one or configure paths manually in Listeners.</div>'),CJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo"> </button></div> <!></div>'),xJ=T('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),kJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td> </td><td class="actions svelte-9auejo"><button class="danger svelte-9auejo">✕</button></td></tr>'),LJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Fingerprint</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),IJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates (capath)</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div>'),DJ=T('<div class="empty svelte-9auejo">No client certificates issued yet.</div>'),EJ=T('<span class="badge-revoked svelte-9auejo">Revoked</span>'),TJ=T('<span class="badge-expired svelte-9auejo">Expired</span>'),PJ=T('<span class="badge-expiring svelte-9auejo">Expiring soon</span>'),MJ=T('<span class="badge-ok svelte-9auejo">Valid</span>'),NJ=T('<a class="btn-dl svelte-9auejo">.p12</a> <a class="btn-dl svelte-9auejo">.crt</a> <a class="btn-dl svelte-9auejo">.key</a> <button class="danger svelte-9auejo">Revoke</button>',1),RJ=T('<tr><td class="mono svelte-9auejo"> </td><td class="mono small svelte-9auejo"> </td><td class="svelte-9auejo"> </td><td> </td><td class="svelte-9auejo"><!></td><td class="actions svelte-9auejo"><!></td></tr>'),AJ=T('<table class="svelte-9auejo"><thead><tr><th class="svelte-9auejo">CN</th><th class="svelte-9auejo">Serial</th><th class="svelte-9auejo">Issued</th><th class="svelte-9auejo">Expires</th><th class="svelte-9auejo">Status</th><th class="svelte-9auejo"></th></tr></thead><tbody></tbody></table>'),OJ=T('<div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Issued Client Certificates</h3> <button class="svelte-9auejo">+ Issue cert</button></div> <!></div>'),FJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Local CA</h3> <label class="svelte-9auejo">Common Name<input class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),HJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Server cert generated</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Cert path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Key path</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd></dl> <p class="hint svelte-9auejo">Update your Listeners config to use these paths, then Apply & Reload.</p></div>'),WJ=T('<button class="btn-primary svelte-9auejo"> </button>'),BJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate Server Certificate</h3> <label class="svelte-9auejo">Common Name (hostname)<input placeholder="mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">SANs (comma-separated IPs/hostnames)<input placeholder="192.168.1.10, mybroker.local" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div></div></div>'),zJ=T('<label class="svelte-9auejo">Common Name (device ID)<input placeholder="esp32-bedroom" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Validity (days)<input type="number" min="1" max="3650" class="svelte-9auejo"/></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),VJ=T('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate issued for <strong> </strong></p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Serial</dt><dd class="mono svelte-9auejo"> </dd> <dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd> <dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd> <dt class="svelte-9auejo">PKCS#12 passphrase</dt> <dd class="svelte-9auejo"><code class="passphrase svelte-9auejo"> </code> <small>(shown once — save it now)</small></dd></dl> <div class="download-row svelte-9auejo"><a class="btn-dl svelte-9auejo">Download .p12</a> <a class="btn-dl svelte-9auejo">Download .crt</a> <a class="btn-dl svelte-9auejo">Download .key</a> <a class="btn-dl svelte-9auejo" download="ca.crt">Download CA</a></div></div> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button></div>',1),jJ=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Issue Client Certificate</h3> <!></div></div>'),$J=T('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Add Trusted CA Certificate</h3> <label class="svelte-9auejo">PEM certificate <textarea rows="8" placeholder="-----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),UJ=T('<div class="certs-page svelte-9auejo"><div class="panel-tabs svelte-9auejo"><button>Local CA</button> <button>Server Cert</button> <button>Trusted CAs</button> <button>Client Certs</button> <button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <!></div> <!> <!> <!> <!>',1);function qJ(o,e){Ns(e,!0);let t=M("ca"),i=M(null),n=M(null),s=M(yi([])),r=M(yi([])),a=M(""),c=M(!1),u=M("she-broker-ca"),f=M(365),g=M(!1),p=M(""),w=M(!1),m=M(""),x=M(""),k=M(365),D=M(!1),P=M(""),A=M(null),j=M(!1),H=M(""),te=M(365),J=M(!1),le=M(""),we=M(null),We=M(!1),ue=M(""),et=M(!1),rt=M(""),me=M("");async function lt(){try{const[$e,Ut,fi,Ii]=await Promise.allSettled([tq(),nq(),oq(),lq()]);$e.status==="fulfilled"&&y(i,$e.value.ca,!0),Ut.status==="fulfilled"&&y(n,Ut.value.server,!0),fi.status==="fulfilled"&&y(s,fi.value.certs,!0),Ii.status==="fulfilled"&&y(r,Ii.value.certs,!0),y(a,"")}catch($e){y(a,$e.message,!0)}}ao(()=>{lt()});async function ft(){y(p,""),y(g,!0);try{await iq({cn:d(u),days:d(f)}),y(c,!1),await lt()}catch($e){y(p,$e.message,!0)}finally{y(g,!1)}}async function Pt(){y(P,""),y(D,!0),y(A,null);try{const $e=d(x).split(",").map(fi=>fi.trim()).filter(Boolean),Ut=await sq({cn:d(m),san:$e,days:d(k)});y(A,Ut,!0),await lt()}catch($e){y(P,$e.message,!0)}finally{y(D,!1)}}async function Ne(){y(le,""),y(J,!0),y(we,null);try{const $e=await rq({cn:d(H),days:d(te)});y(we,$e,!0),y(H,""),await lt()}catch($e){y(le,$e.message,!0)}finally{y(J,!1)}}async function Lt($e){if(confirm(`Revoke certificate for "${$e.cn}" (serial ${$e.serial})?`))try{await aq($e.serial),await lt()}catch(Ut){y(me,Ut.message,!0)}}async function Oe(){y(rt,""),y(et,!0);try{await cq(d(ue)),y(ue,""),y(We,!1),await lt()}catch($e){y(rt,$e.message,!0)}finally{y(et,!1)}}async function Se($e){if(confirm("Remove this trusted CA cert?"))try{await dq($e),await lt()}catch(Ut){y(me,Ut.message,!0)}}function nt($e){const Ut=new Date($e).getTime()-Date.now();return Ut<0?"expired":Ut<30*864e5?"expiring":""}function Ft($e){return new Date($e).toLocaleDateString()}var oi=UJ(),Bt=Dt(oi),Et=v(Bt),Rt=v(Et);let Ct;var vi=b(Rt,2);let di;var Li=b(vi,2);let Ni;var Oi=b(Li,2);let Wi;var Si=b(Oi,2),ri=b(Et,2);{var _i=$e=>{var Ut=fh(),fi=v(Ut);V(()=>F(fi,d(a))),E($e,Ut)};W(ri,$e=>{d(a)&&$e(_i)})}var ki=b(ri,2);{var Vi=$e=>{var Ut=fh(),fi=v(Ut);V(()=>F(fi,d(me))),E($e,Ut)};W(ki,$e=>{d(me)&&$e(Vi)})}var Ri=b(ki,2);{var Mi=$e=>{var Ut=yJ(),fi=v(Ut),Ii=b(v(fi),2),qe=v(Ii),he=b(fi,2);{var K=xe=>{var Pe=vJ(),ot=v(Pe),R=b(v(ot)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(ot,2),ie=v(Z);V((Ce,gt,Re)=>{F(Q,d(i).cn),F(fe,d(i).fingerprint),At(_e,1,Ce,"svelte-9auejo"),F($,gt),Fi(ie,"href",`data:application/x-pem-file;charset=utf-8,${Re??""}`)},[()=>J_(nt(d(i).expires)),()=>Ft(d(i).expires),()=>encodeURIComponent(d(i).crt)]),E(xe,Pe)},ae=xe=>{var Pe=bJ();E(xe,Pe)};W(he,xe=>{d(i)?xe(K):xe(ae,-1)})}V(()=>F(qe,d(i)?"Regenerate CA":"Generate CA")),G("click",Ii,()=>{y(c,!0),y(p,"")}),E($e,Ut)},mt=$e=>{var Ut=CJ(),fi=v(Ut),Ii=b(v(fi),2),qe=v(Ii),he=b(fi,2);{var K=xe=>{var Pe=wJ(),ot=v(Pe),R=b(v(ot)),Q=v(R),Y=b(R,3),fe=v(Y),_e=b(Y,3),$=v(_e);V((Z,ie)=>{F(Q,d(n).cn),F(fe,d(n).fingerprint),At(_e,1,Z,"svelte-9auejo"),F($,ie)},[()=>J_(nt(d(n).expires)),()=>Ft(d(n).expires)]),E(xe,Pe)},ae=xe=>{var Pe=SJ();E(xe,Pe)};W(he,xe=>{d(n)?xe(K):xe(ae,-1)})}V(()=>F(qe,d(n)?"Regenerate":"Generate server cert")),G("click",Ii,()=>{y(w,!0),y(P,""),y(A,null)}),E($e,Ut)},Mt=$e=>{var Ut=IJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);{var he=ae=>{var xe=xJ();E(ae,xe)},K=ae=>{var xe=LJ(),Pe=b(v(xe));pi(Pe,21,()=>d(r),rn,(ot,R)=>{var Q=kJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Ce=b(Z),gt=v(Ce);V((Re,Ie,st)=>{F(fe,d(R).cn),F($,`${Re??""}…`),At(Z,1,Ie,"svelte-9auejo"),F(ie,st)},[()=>d(R).fingerprint.slice(0,29),()=>J_(nt(d(R).expires)),()=>Ft(d(R).expires)]),G("click",gt,()=>Se(d(R).fingerprint)),E(ot,Q)}),E(ae,xe)};W(qe,ae=>{d(r).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(We,!0),y(rt,""),y(ue,"")}),E($e,Ut)},hi=$e=>{var Ut=OJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(fi,2);{var he=ae=>{var xe=DJ();E(ae,xe)},K=ae=>{var xe=AJ(),Pe=b(v(xe));pi(Pe,21,()=>d(s),rn,(ot,R)=>{var Q=RJ(),Y=v(Q),fe=v(Y),_e=b(Y),$=v(_e),Z=b(_e),ie=v(Z),Ce=b(Z),gt=v(Ce),Re=b(Ce),Ie=v(Re);{var st=ht=>{var Xe=EJ();E(ht,Xe)},It=ht=>{var Xe=TJ();E(ht,Xe)},St=wt(()=>nt(d(R).expires)==="expired"),si=ht=>{var Xe=PJ();E(ht,Xe)},ti=wt(()=>nt(d(R).expires)==="expiring"),se=ht=>{var Xe=MJ();E(ht,Xe)};W(Ie,ht=>{d(R).revoked?ht(st):d(St)?ht(It,1):d(ti)?ht(si,2):ht(se,-1)})}var Le=b(Re),at=v(Le);{var xt=ht=>{var Xe=NJ(),Ht=Dt(Xe),ai=b(Ht,2),bi=b(ai,2),Di=b(bi,2);V((fn,Cn,un)=>{Fi(Ht,"href",fn),Fi(Ht,"download",`${d(R).cn??""}.p12`),Fi(ai,"href",Cn),Fi(ai,"download",`${d(R).cn??""}.crt`),Fi(bi,"href",un),Fi(bi,"download",`${d(R).cn??""}.key`)},[()=>Qc(d(R).serial,"p12"),()=>Qc(d(R).serial,"crt"),()=>Qc(d(R).serial,"key")]),G("click",Di,()=>Lt(d(R))),E(ht,Xe)};W(at,ht=>{d(R).revoked||ht(xt)})}V((ht,Xe,Ht)=>{F(fe,d(R).cn),F($,d(R).serial),F(ie,ht),At(Ce,1,Xe,"svelte-9auejo"),F(gt,Ht)},[()=>new Date(d(R).issued).toLocaleDateString(),()=>J_(d(R).revoked?"":nt(d(R).expires)),()=>Ft(d(R).expires)]),E(ot,Q)}),E(ae,xe)};W(qe,ae=>{d(s).length===0?ae(he):ae(K,-1)})}G("click",Ii,()=>{y(j,!0),y(le,""),y(we,null),y(H,""),y(te,365)}),E($e,Ut)};W(Ri,$e=>{d(t)==="ca"?$e(Mi):d(t)==="server"?$e(mt,1):d(t)==="trusted"?$e(Mt,2):d(t)==="clients"&&$e(hi,3)})}var Ti=b(Bt,2);{var Xi=$e=>{var Ut=FJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2);{var xe=Y=>{var fe=fh(),_e=v(fe);V(()=>F(_e,d(p))),E(Y,fe)};W(ae,Y=>{d(p)&&Y(xe)})}var Pe=b(ae,2),ot=v(Pe),R=b(ot,2),Q=v(R);V(()=>{R.disabled=d(g)||!d(u),F(Q,d(g)?"Generating…":"Generate")}),Xt(qe,()=>d(u),Y=>y(u,Y)),Xt(K,()=>d(f),Y=>y(f,Y)),G("click",ot,()=>y(c,!1)),G("click",R,ft),E($e,Ut)};W(Ti,$e=>{d(c)&&$e(Xi)})}var ji=b(Ti,2);{var Tn=$e=>{var Ut=BJ(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2),K=b(v(he)),ae=b(he,2),xe=b(v(ae)),Pe=b(ae,2);{var ot=Z=>{var ie=fh(),Ce=v(ie);V(()=>F(Ce,d(P))),E(Z,ie)};W(Pe,Z=>{d(P)&&Z(ot)})}var R=b(Pe,2);{var Q=Z=>{var ie=HJ(),Ce=b(v(ie),2),gt=b(v(Ce)),Re=v(gt),Ie=b(gt,3),st=v(Ie),It=b(Ie,3),St=v(It);V(()=>{F(Re,d(A).certPath),F(st,d(A).keyPath),F(St,d(A).fingerprint)}),E(Z,ie)};W(R,Z=>{d(A)&&Z(Q)})}var Y=b(R,2),fe=v(Y),_e=b(fe,2);{var $=Z=>{var ie=WJ(),Ce=v(ie);V(()=>{ie.disabled=d(D)||!d(m),F(Ce,d(D)?"Generating…":"Generate")}),G("click",ie,Pt),E(Z,ie)};W(_e,Z=>{d(A)||Z($)})}Xt(qe,()=>d(m),Z=>y(m,Z)),Xt(K,()=>d(x),Z=>y(x,Z)),Xt(xe,()=>d(k),Z=>y(k,Z)),G("click",fe,()=>y(w,!1)),E($e,Ut)};W(ji,$e=>{d(w)&&$e(Tn)})}var Fe=b(ji,2);{var ei=$e=>{var Ut=jJ(),fi=v(Ut),Ii=b(v(fi),2);{var qe=K=>{var ae=zJ(),xe=Dt(ae),Pe=b(v(xe)),ot=b(xe,2),R=b(v(ot)),Q=b(ot,2);{var Y=ie=>{var Ce=fh(),gt=v(Ce);V(()=>F(gt,d(le))),E(ie,Ce)};W(Q,ie=>{d(le)&&ie(Y)})}var fe=b(Q,2),_e=v(fe),$=b(_e,2),Z=v($);V(()=>{$.disabled=d(J)||!d(H),F(Z,d(J)?"Issuing…":"Issue")}),Xt(Pe,()=>d(H),ie=>y(H,ie)),Xt(R,()=>d(te),ie=>y(te,ie)),G("click",_e,()=>y(j,!1)),G("click",$,Ne),E(K,ae)},he=K=>{var ae=VJ(),xe=Dt(ae),Pe=v(xe),ot=b(v(Pe)),R=v(ot),Q=b(Pe,2),Y=b(v(Q)),fe=v(Y),_e=b(Y,3),$=v(_e),Z=b(_e,3),ie=v(Z),Ce=b(Z,4),gt=v(Ce),Re=v(gt),Ie=b(Q,2),st=v(Ie),It=b(st,2),St=b(It,2),si=b(St,2),ti=b(xe,2),se=v(ti);V((Le,at,xt,ht,Xe)=>{F(R,d(we).cn),F(fe,d(we).serial),F($,d(we).fingerprint),F(ie,Le),F(Re,d(we).passphrase),Fi(st,"href",at),Fi(st,"download",`${d(we).cn??""}.p12`),Fi(It,"href",xt),Fi(It,"download",`${d(we).cn??""}.crt`),Fi(St,"href",ht),Fi(St,"download",`${d(we).cn??""}.key`),Fi(si,"href",Xe)},[()=>Ft(d(we).expires),()=>Qc(d(we).serial,"p12"),()=>Qc(d(we).serial,"crt"),()=>Qc(d(we).serial,"key"),()=>Qc(d(we).serial,"ca")]),G("click",se,()=>y(j,!1)),E(K,ae)};W(Ii,K=>{d(we)?K(he,-1):K(qe)})}E($e,Ut)};W(Fe,$e=>{d(j)&&$e(ei)})}var ui=b(Fe,2);{var Pi=$e=>{var Ut=$J(),fi=v(Ut),Ii=b(v(fi),2),qe=b(v(Ii)),he=b(Ii,2);{var K=R=>{var Q=fh(),Y=v(Q);V(()=>F(Y,d(rt))),E(R,Q)};W(he,R=>{d(rt)&&R(K)})}var ae=b(he,2),xe=v(ae),Pe=b(xe,2),ot=v(Pe);V(()=>{Pe.disabled=d(et)||!d(ue),F(ot,d(et)?"Adding…":"Add")}),Xt(qe,()=>d(ue),R=>y(ue,R)),G("click",xe,()=>y(We,!1)),G("click",Pe,Oe),E($e,Ut)};W(ui,$e=>{d(We)&&$e(Pi)})}V(()=>{Ct=At(Rt,1,"svelte-9auejo",null,Ct,{active:d(t)==="ca"}),di=At(vi,1,"svelte-9auejo",null,di,{active:d(t)==="server"}),Ni=At(Li,1,"svelte-9auejo",null,Ni,{active:d(t)==="trusted"}),Wi=At(Oi,1,"svelte-9auejo",null,Wi,{active:d(t)==="clients"})}),G("click",Rt,()=>y(t,"ca")),G("click",vi,()=>y(t,"server")),G("click",Li,()=>y(t,"trusted")),G("click",Oi,()=>y(t,"clients")),G("click",Si,lt),E(o,oi),Rs()}Ks(["click"]);var _S=T('<div class="err svelte-17yczfe"> </div>'),GJ=T('<div class="ok svelte-17yczfe">Saved.</div>'),KJ=T('<label class="svelte-17yczfe">Public key (copy and install on the broker host) <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),ZJ=T('<label class="svelte-17yczfe">Install command (run on your local machine) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),XJ=T("<span> </span>"),YJ=T(`<div class="ssh-page svelte-17yczfe"><!> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH / Remote Mode</h3> <p class="hint svelte-17yczfe">SSH is used only for file operations (mosquitto.conf, certificates). User/ACL management works without SSH as long as she is connected to the broker's MQTT port.</p> <div class="fields svelte-17yczfe"><label class="svelte-17yczfe">Host <input placeholder="192.168.1.10 or broker.local" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Port <input type="number" min="1" max="65535" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">SSH user <input placeholder="root" class="svelte-17yczfe"/></label> <label class="svelte-17yczfe">Identity file (private key) <input class="svelte-17yczfe"/></label></div> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH Keypair</h3> <p class="hint svelte-17yczfe">Generate a dedicated Ed25519 keypair for she to authenticate to the broker host. The private key is stored at <code class="svelte-17yczfe"> </code>.</p> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div> <!> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test SSH Connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div></div>`);function JJ(o,e){Ns(e,!0);let t=M(yi({})),i=M(""),n=M(!1),s=M(!1),r=M(""),a=M("~/.she/ssh/broker_id_ed25519"),c=M(""),u=M(!1),f=M(""),g=M(!1),p=M(""),w=M(yi({}));ao(async()=>{try{const[mt,Mt]=await Promise.all([Dl(),jR()]);y(w,mt,!0),Mt.sshKeyDefault&&y(a,Mt.sshKeyDefault,!0);const hi=d(w).broker??{};y(t,hi.ssh??{},!0),d(t).port||(d(t).port=22),d(t).identityFile||(d(t).identityFile=d(a))}catch(mt){y(i,mt.message,!0)}});async function m(){y(n,!0),y(r,""),y(s,!1);try{const mt=d(w).broker??{},Mt={...d(w),broker:{...mt,ssh:d(t)}};await Zp(Mt),y(s,!0),setTimeout(()=>y(s,!1),3e3)}catch(mt){y(r,mt.message,!0)}finally{y(n,!1)}}async function x(){y(u,!0),y(f,"");try{const mt=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Mt=await mt.json();if(!mt.ok)throw new Error(Mt.error??mt.statusText);y(c,Mt.publicKey,!0)}catch(mt){y(f,mt.message,!0)}finally{y(u,!1)}}async function k(){y(g,!0),y(p,"");try{const mt=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Mt=await mt.json();if(!mt.ok)throw new Error(Mt.error??mt.statusText);y(p,Mt.ok?"✓ Connection successful":"✗ "+(Mt.error??"Failed"),!0)}catch(mt){y(p,"✗ "+mt.message)}finally{y(g,!1)}}function D(mt){navigator.clipboard.writeText(mt).catch(()=>{})}const P=wt(()=>d(t).identityFile&&d(t).user&&d(t).host?`ssh-copy-id -i ${d(t).identityFile}.pub ${d(t).user}@${d(t).host}`:"");var A=YJ(),j=v(A);{var H=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(i))),E(mt,Mt)};W(j,mt=>{d(i)&&mt(H)})}var te=b(j,2),J=b(v(te),4),le=v(J),we=b(v(le)),We=b(le,2),ue=b(v(We)),et=b(We,2),rt=b(v(et)),me=b(et,2),lt=b(v(me)),ft=b(J,2);{var Pt=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(r))),E(mt,Mt)};W(ft,mt=>{d(r)&&mt(Pt)})}var Ne=b(ft,2);{var Lt=mt=>{var Mt=GJ();E(mt,Mt)};W(Ne,mt=>{d(s)&&mt(Lt)})}var Oe=b(Ne,2),Se=v(Oe),nt=v(Se),Ft=b(te,2),oi=b(v(Ft),2),Bt=b(v(oi)),Et=v(Bt),Rt=b(oi,2),Ct=v(Rt),vi=v(Ct),di=b(Rt,2);{var Li=mt=>{var Mt=_S(),hi=v(Mt);V(()=>F(hi,d(f))),E(mt,Mt)};W(di,mt=>{d(f)&&mt(Li)})}var Ni=b(di,2);{var Oi=mt=>{var Mt=KJ(),hi=b(v(Mt)),Ti=v(hi),Xi=b(Ti,2);V(()=>UL(Ti,d(c))),G("click",Xi,()=>D(d(c))),E(mt,Mt)};W(Ni,mt=>{d(c)&&mt(Oi)})}var Wi=b(Ni,2);{var Si=mt=>{var Mt=ZJ(),hi=b(v(Mt)),Ti=v(hi),Xi=b(Ti,2);V(()=>UL(Ti,d(P))),G("click",Xi,()=>D(d(P))),E(mt,Mt)};W(Wi,mt=>{d(P)&&mt(Si)})}var ri=b(Ft,2),_i=b(v(ri),2),ki=v(_i),Vi=v(ki),Ri=b(ki,2);{var Mi=mt=>{var Mt=XJ();let hi;var Ti=v(Mt);V(Xi=>{hi=At(Mt,1,"test-result svelte-17yczfe",null,hi,Xi),F(Ti,d(p))},[()=>({ok:d(p).startsWith("✓"),fail:d(p).startsWith("✗")})]),E(mt,Mt)};W(Ri,mt=>{d(p)&&mt(Mi)})}V(()=>{Fi(lt,"placeholder",d(a)),Se.disabled=d(n),F(nt,d(n)?"Saving…":"Save"),F(Et,d(t).identityFile||d(a)),Ct.disabled=d(u),F(vi,d(u)?"Generating…":"Generate keypair"),ki.disabled=d(g)||!d(t).host,F(Vi,d(g)?"Testing…":"Test SSH connection")}),Xt(we,()=>d(t).host,mt=>d(t).host=mt),Xt(ue,()=>d(t).port,mt=>d(t).port=mt),Xt(rt,()=>d(t).user,mt=>d(t).user=mt),Xt(lt,()=>d(t).identityFile,mt=>d(t).identityFile=mt),G("click",Se,m),G("click",Ct,x),G("click",ki,k),E(o,A),Rs()}Ks(["click"]);var QJ=T('<div class="err svelte-d31be1"> </div>'),eQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">This wizard will configure the <strong>Mosquitto Dynamic Security plugin</strong> for use with she. It will:</p> <ul class="svelte-d31be1"><li>Create a <code class="svelte-d31be1">she-admin</code> service account with a random strong password.</li> <li>Write <code class="svelte-d31be1">dynamic-security.json</code> to your mosquitto config directory.</li> <li>Add the <code class="svelte-d31be1">plugin</code> line to <code class="svelte-d31be1">mosquitto.conf</code>.</li> <li>Ask you to restart mosquitto to activate the plugin.</li></ul> <p class="hint svelte-d31be1">In <strong>remote mode</strong> (SSH host configured), <code class="svelte-d31be1">mosquitto_ctrl</code> is invoked on the broker host via SSH. In local mode, it must be installed on this machine. <code class="svelte-d31be1">mosquitto_ctrl</code> is part of the <code class="svelte-d31be1">mosquitto</code> package.</p> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Start</button></div></div>'),tQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),iQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">dynsec is not yet active. Configure bootstrap settings:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" placeholder="(leave blank to auto-generate)" class="svelte-d31be1"/></label> <label class="svelte-d31be1">Mosquitto config directory<input class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1"> </button></div></div>'),nQ=T('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),sQ=T(`<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec files written and credentials saved.</div> <p class="svelte-d31be1">The <code class="svelte-d31be1">plugin</code> line has been added to <code class="svelte-d31be1"> </code>.</p> <p class="svelte-d31be1">Enabling a new plugin requires a <strong>full mosquitto restart</strong> (not just SIGHUP):</p> <div class="actions svelte-d31be1"><button class="btn-danger svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),oQ=T('<div class="step svelte-d31be1"><div class="ok-banner svelte-d31be1">✓ dynsec is configured and connected.</div> <p class="svelte-d31be1">she is now managing broker users and ACLs via the Dynamic Security plugin. You can use the <strong>Users & Roles</strong> tab to add users, create roles, and define ACL rules.</p> <div class="actions svelte-d31be1"><button class="btn-primary svelte-d31be1">Done</button></div></div>'),rQ=T('<div class="step svelte-d31be1"><p class="svelte-d31be1">Enter the credentials of an existing dynsec admin account:</p> <label class="svelte-d31be1">Admin username<input class="svelte-d31be1"/></label> <label class="svelte-d31be1">Admin password<input type="password" class="svelte-d31be1"/></label> <div class="actions svelte-d31be1"><button class="svelte-d31be1">Back</button> <button class="btn-primary svelte-d31be1"> </button></div></div>'),aQ=T('<div class="wizard svelte-d31be1"><div class="wizard-header svelte-d31be1"><h3 class="svelte-d31be1">dynsec Setup Wizard</h3> <button class="skip-btn svelte-d31be1">Manual setup instead</button></div> <!> <!></div>');function lQ(o,e){Ns(e,!0);let t=M("intro"),i=M(""),n=M(!1),s=M("she-admin"),r=M(""),a=M("/etc/mosquitto"),c=M(null),u=M(!1),f=M(!1),g=M("she-admin"),p=M(""),w=M(!1);async function m(){y(n,!0),y(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?y(t,"done"):y(t,"config")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function x(){y(n,!0),y(i,"");try{const me=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:d(s),adminPassword:d(r)||void 0,configDir:d(a)})}),lt=await me.json();if(!me.ok||!lt.ok)throw new Error(lt.error??"Bootstrap failed");y(c,lt,!0);const ft=await Dl(),Pt=ft.broker??{};await Zp({...ft,broker:{...Pt,dynsec:{adminUsername:lt.adminUsername,adminPassword:lt.adminPassword}}}),y(t,"restart")}catch(me){y(i,me.message,!0)}finally{y(n,!1)}}async function k(){y(f,!0),y(i,"");try{await V7(),await new Promise(me=>setTimeout(me,2e3)),y(u,!0),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(f,!1)}}async function D(){y(w,!0),y(i,"");try{const me=await Dl(),lt=me.broker??{};await Zp({...me,broker:{...lt,dynsec:{adminUsername:d(g),adminPassword:d(p)}}}),y(t,"done")}catch(me){y(i,me.message,!0)}finally{y(w,!1)}}var P=aQ(),A=v(P),j=b(v(A),2),H=b(A,2);{var te=me=>{var lt=QJ(),ft=v(lt);V(()=>F(ft,d(i))),E(me,lt)};W(H,me=>{d(i)&&me(te)})}var J=b(H,2);{var le=me=>{var lt=eQ(),ft=b(v(lt),6),Pt=v(ft);V(()=>Pt.disabled=d(n)),G("click",Pt,()=>{y(t,"probe"),m()}),E(me,lt)},we=me=>{var lt=tQ(),ft=v(lt),Pt=v(ft);V(()=>F(Pt,d(n)?"Probing dynsec…":"Checking dynsec status…")),E(me,lt)},We=me=>{var lt=iQ(),ft=b(v(lt),2),Pt=b(v(ft)),Ne=b(ft,2),Lt=b(v(Ne)),Oe=b(Ne,2),Se=b(v(Oe)),nt=b(Oe,2),Ft=v(nt),oi=v(Ft);V(()=>{Ft.disabled=d(n)||!d(s),F(oi,d(n)?"Bootstrapping…":"Bootstrap dynsec")}),Xt(Pt,()=>d(s),Bt=>y(s,Bt)),Xt(Lt,()=>d(r),Bt=>y(r,Bt)),Xt(Se,()=>d(a),Bt=>y(a,Bt)),G("click",Ft,x),E(me,lt)},ue=me=>{var lt=sQ(),ft=b(v(lt),2),Pt=b(v(ft),3),Ne=v(Pt),Lt=b(ft,4),Oe=v(Lt),Se=v(Oe),nt=b(Oe,2),Ft=b(Lt,2);{var oi=Bt=>{var Et=nQ();E(Bt,Et)};W(Ft,Bt=>{d(f)&&Bt(oi)})}V(()=>{F(Ne,d(c).confFilePath),Oe.disabled=d(f),F(Se,d(f)?"Restarting…":"Restart mosquitto now")}),G("click",Oe,k),G("click",nt,()=>{y(t,"done")}),E(me,lt)},et=me=>{var lt=oQ(),ft=b(v(lt),4),Pt=v(ft);G("click",Pt,function(...Ne){var Lt;(Lt=e.onDone)==null||Lt.apply(this,Ne)}),E(me,lt)},rt=me=>{var lt=rQ(),ft=b(v(lt),2),Pt=b(v(ft)),Ne=b(ft,2),Lt=b(v(Ne)),Oe=b(Ne,2),Se=v(Oe),nt=b(Se,2),Ft=v(nt);V(()=>{nt.disabled=d(w)||!d(g)||!d(p),F(Ft,d(w)?"Saving…":"Save credentials")}),Xt(Pt,()=>d(g),oi=>y(g,oi)),Xt(Lt,()=>d(p),oi=>y(p,oi)),G("click",Se,()=>y(t,"intro")),G("click",nt,D),E(me,lt)};W(J,me=>{d(t)==="intro"?me(le):d(t)==="probe"?me(we,1):d(t)==="config"?me(We,2):d(t)==="restart"&&d(c)?me(ue,3):d(t)==="done"?me(et,4):d(t)==="manual"&&me(rt,5)})}G("click",j,()=>y(t,"manual")),E(o,P),Rs()}Ks(["click"]);var cQ=T('<div class="loading svelte-zeztkb">Loading…</div>'),dQ=T('<div class="error-banner svelte-zeztkb"> </div>'),uQ=T('<div class="status-badge ok svelte-zeztkb">Connected</div>'),hQ=T('<div class="status-badge err svelte-zeztkb">Disconnected</div>'),fQ=T('<button class="wizard-btn svelte-zeztkb">Run Setup Wizard</button>'),gQ=T('<div class="status-badge warn svelte-zeztkb">Not configured</div> <p class="hint svelte-zeztkb">Set <code class="svelte-zeztkb">broker.dynsec.adminUsername</code> and <code class="svelte-zeztkb">broker.dynsec.adminPassword</code> in Config to enable dynsec management.</p> <!>',1),pQ=T('<div class="status-grid svelte-zeztkb"><div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Dynamic Security</h3> <!></div> <div class="status-card svelte-zeztkb"><h3 class="svelte-zeztkb">Broker</h3> <dl class="svelte-zeztkb"><dt class="svelte-zeztkb">Version</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Uptime</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients connected</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Clients total</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages received</dt> <dd class="svelte-zeztkb"> </dd> <dt class="svelte-zeztkb">Messages sent</dt> <dd class="svelte-zeztkb"> </dd></dl></div></div>'),_Q=T('<div class="tab-content svelte-zeztkb" style="padding-top:0"><!></div>'),mQ=T('<div class="tab-content svelte-zeztkb"><!></div> <!>',1),vQ=T('<div class="broker-page svelte-zeztkb"><div class="sub-nav svelte-zeztkb"><button>Status</button> <button>Users & Roles</button> <button>Listeners</button> <button>Certificates</button> <button>SSH / Remote</button></div> <!></div>');function bQ(o,e){Ns(e,!0);let t=M(!1),i=M("status"),n=M(null),s=M(""),r=M(!0);async function a(){try{y(n,await jR(),!0),y(s,"")}catch(ue){y(s,ue.message??"Failed to load broker status",!0)}finally{y(r,!1)}}ao(()=>{a();const ue=setInterval(a,1e4);return()=>clearInterval(ue)});function c(ue){var rt;if(!((rt=d(n))!=null&&rt.sys))return"—";const et=d(n).sys[ue];return et?String(et.val??"—"):"—"}var u=vQ(),f=v(u),g=v(f);let p;var w=b(g,2);let m;var x=b(w,2);let k;var D=b(x,2);let P;var A=b(D,2);let j;var H=b(f,2);{var te=ue=>{var et=mQ(),rt=Dt(et),me=v(rt);{var lt=Oe=>{var Se=cQ();E(Oe,Se)},ft=Oe=>{var Se=dQ(),nt=v(Se);V(()=>F(nt,d(s))),E(Oe,Se)},Pt=Oe=>{var Se=pQ(),nt=v(Se),Ft=b(v(nt),2);{var oi=Ri=>{var Mi=Vs(),mt=Dt(Mi);{var Mt=Ti=>{var Xi=uQ();E(Ti,Xi)},hi=Ti=>{var Xi=hQ();E(Ti,Xi)};W(mt,Ti=>{d(n).dynsec.connected?Ti(Mt):Ti(hi,-1)})}E(Ri,Mi)},Bt=Ri=>{var Mi=gQ(),mt=b(Dt(Mi),4);{var Mt=hi=>{var Ti=fQ();G("click",Ti,()=>y(t,!0)),E(hi,Ti)};W(mt,hi=>{d(t)||hi(Mt)})}E(Ri,Mi)};W(Ft,Ri=>{d(n).dynsec.configured?Ri(oi):Ri(Bt,-1)})}var Et=b(nt,2),Rt=b(v(Et),2),Ct=b(v(Rt),2),vi=v(Ct),di=b(Ct,4),Li=v(di),Ni=b(di,4),Oi=v(Ni),Wi=b(Ni,4),Si=v(Wi),ri=b(Wi,4),_i=v(ri),ki=b(ri,4),Vi=v(ki);V((Ri,Mi,mt,Mt,hi,Ti)=>{F(vi,Ri),F(Li,Mi),F(Oi,mt),F(Si,Mt),F(_i,hi),F(Vi,Ti)},[()=>c("$SYS/broker/version"),()=>c("$SYS/broker/uptime"),()=>c("$SYS/broker/clients/connected"),()=>c("$SYS/broker/clients/total"),()=>c("$SYS/broker/messages/received"),()=>c("$SYS/broker/messages/sent")]),E(Oe,Se)};W(me,Oe=>{d(r)?Oe(lt):d(s)?Oe(ft,1):d(n)&&Oe(Pt,2)})}var Ne=b(rt,2);{var Lt=Oe=>{var Se=_Q(),nt=v(Se);lQ(nt,{onDone:()=>{y(t,!1),a()}}),E(Oe,Se)};W(Ne,Oe=>{d(t)&&d(n)&&!d(n).dynsec.configured&&Oe(Lt)})}E(ue,et)},J=ue=>{lJ(ue,{})},le=ue=>{mJ(ue,{})},we=ue=>{qJ(ue,{})},We=ue=>{JJ(ue,{})};W(H,ue=>{d(i)==="status"?ue(te):d(i)==="users"?ue(J,1):d(i)==="listeners"?ue(le,2):d(i)==="certs"?ue(we,3):d(i)==="ssh"&&ue(We,4)})}V(()=>{p=At(g,1,"svelte-zeztkb",null,p,{active:d(i)==="status"}),m=At(w,1,"svelte-zeztkb",null,m,{active:d(i)==="users"}),k=At(x,1,"svelte-zeztkb",null,k,{active:d(i)==="listeners"}),P=At(D,1,"svelte-zeztkb",null,P,{active:d(i)==="certs"}),j=At(A,1,"svelte-zeztkb",null,j,{active:d(i)==="ssh"})}),G("click",g,()=>y(i,"status")),G("click",w,()=>y(i,"users")),G("click",x,()=>y(i,"listeners")),G("click",D,()=>y(i,"certs")),G("click",A,()=>y(i,"ssh")),E(o,u),Rs()}Ks(["click"]);var yQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),wQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),SQ=T('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),CQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),xQ=T('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),kQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),LQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),IQ=T('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),DQ=T('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),EQ=T('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),TQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),PQ=T('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),MQ=T('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button>'),NQ=T('<div class="version-popup svelte-1n46o8q"><dl class="svelte-1n46o8q"><dt class="svelte-1n46o8q">Installed</dt><dd class="svelte-1n46o8q"></dd> <!></dl> <div class="version-actions svelte-1n46o8q"><!> <button class="check-btn svelte-1n46o8q" title="Check for updates now"><svg width="11" height="11" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> </button></div></div>'),RQ=T('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),AQ=T('<dt class="svelte-1n46o8q">Matter nodes</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Matter endpoints</dt><dd class="svelte-1n46o8q"> </dd>',1),OQ=T('<dt class="svelte-1n46o8q">DB docs</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">DB views</dt><dd class="svelte-1n46o8q"> </dd>',1),FQ=T('<dl class="svelte-1n46o8q"><!> <dt class="svelte-1n46o8q">Scripts</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT topics</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">MQTT msg/s</dt><dd class="svelte-1n46o8q"> </dd> <!> <!> <dt class="svelte-1n46o8q">Handlers</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">Memory</dt><dd class="svelte-1n46o8q"> </dd> <dt class="svelte-1n46o8q">CPU</dt><dd class="svelte-1n46o8q"> </dd></dl>'),HQ=T('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),WQ=T('<button class="svelte-1n46o8q"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M18.36 6.64a9 9 0 1 1-12.73 0" class="svelte-1n46o8q"></path><line x1="12" y1="2" x2="12" y2="12" class="svelte-1n46o8q"></line></svg> Restart daemon</button>'),BQ=T('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),zQ=T('<button class="nav-logout svelte-1n46o8q" title="Logout"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4" class="svelte-1n46o8q"></path><polyline points="16 17 21 12 16 7" class="svelte-1n46o8q"></polyline><line x1="21" y1="12" x2="9" y2="12" class="svelte-1n46o8q"></line></svg></button>'),VQ=T('<div class="shell svelte-1n46o8q"><nav class="svelte-1n46o8q"><span class="brand svelte-1n46o8q">she</span> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="5,3 1,8 5,13" class="svelte-1n46o8q"></polyline><polyline points="11,3 15,8 11,13" class="svelte-1n46o8q"></polyline></svg> Scripts</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" stroke-linejoin="miter" class="svelte-1n46o8q"><rect x="0.75" y="0.75" width="14.5" height="14.5" rx="1" class="svelte-1n46o8q"></rect><path d="M2,11 V5 H5 V11" class="svelte-1n46o8q"></path><path d="M6,12 V5 H9 V8 H6" class="svelte-1n46o8q"></path><path d="M10,11 V5 H15 V11" class="svelte-1n46o8q"></path><line x1="12.5" y1="5" x2="12.5" y2="11" class="svelte-1n46o8q"></line></svg> Packages <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor" stroke="none" style="vertical-align: middle" class="svelte-1n46o8q"><path fill-rule="evenodd" d="M2,0 H14 A2,2 0 0,1 16,2 V14 A2,2 0 0,1 14,16 H0 V2 A2,2 0 0,1 2,0 Z M0,16 L0,12 A4,4 0 0,1 4,16 Z M0,10.5 A5.5,5.5 0 0,1 5.5,16 L9,16 A9,9 0 0,0 0,7 Z M0,5.5 A10.5,10.5 0 0,1 10.5,16 L13.5,16 A13.5,13.5 0 0,0 0,2.5 Z" class="svelte-1n46o8q"></path></svg> MQTT <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M8,2 L8,7" class="svelte-1n46o8q"></path><path d="M6,5 L8,7.5 L10,5" class="svelte-1n46o8q"></path><path d="M2.5,14 L6,10" class="svelte-1n46o8q"></path><path d="M6.2,12.8 L6,10 L3.2,10.2" class="svelte-1n46o8q"></path><path d="M13.5,14 L10,10" class="svelte-1n46o8q"></path><path d="M9.8,12.8 L10,10 L12.8,10.2" class="svelte-1n46o8q"></path></svg> Matter <!></button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><rect x="1" y="2" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><rect x="1" y="8" width="14" height="4" rx="1" class="svelte-1n46o8q"></rect><line x1="4" y1="4" x2="4" y2="4" class="svelte-1n46o8q"></line><circle cx="4" cy="4" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle><circle cx="4" cy="10" r="0.8" fill="currentColor" stroke="none" class="svelte-1n46o8q"></circle></svg> Broker</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><ellipse cx="8" cy="4.5" rx="5" ry="1.8" class="svelte-1n46o8q"></ellipse><path d="M3,4.5 v7 a5,1.8 0,0,0 10,0 v-7" class="svelte-1n46o8q"></path><path d="M3,8 a5,1.8 0,0,0 10,0" class="svelte-1n46o8q"></path></svg> DB</button> <button><svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" class="svelte-1n46o8q"><line x1="2" y1="5" x2="14" y2="5" class="svelte-1n46o8q"></line><line x1="2" y1="8" x2="14" y2="8" class="svelte-1n46o8q"></line><line x1="2" y1="11" x2="9" y2="11" class="svelte-1n46o8q"></line></svg> Logs <!></button> <div class="nav-spacer svelte-1n46o8q"></div> <div class="nav-right svelte-1n46o8q"><a class="nav-icon svelte-1n46o8q" href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" title="GitHub"><svg width="16" height="16" viewBox="0 0 16 16" fill="currentColor" class="svelte-1n46o8q"><path d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z" class="svelte-1n46o8q"></path></svg></a> <div class="version-wrap svelte-1n46o8q"><button class="version svelte-1n46o8q"> <!></button> <!></div> <div class="stats-wrap svelte-1n46o8q"><button class="nav-icon svelte-1n46o8q" title="Daemon status"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><line x1="18" y1="20" x2="18" y2="10" class="svelte-1n46o8q"></line><line x1="12" y1="20" x2="12" y2="4" class="svelte-1n46o8q"></line><line x1="6" y1="20" x2="6" y2="14" class="svelte-1n46o8q"></line></svg></button> <!></div> <button title="Settings"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><path d="M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z" class="svelte-1n46o8q"></path><circle cx="12" cy="12" r="3" class="svelte-1n46o8q"></circle></svg></button> <!></div></nav> <main class="svelte-1n46o8q"><!> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div> <div><!></div></main></div>'),jQ=T('<div class="login-error svelte-1n46o8q"> </div>'),$Q=T('<div class="login-overlay svelte-1n46o8q"><form class="login-box svelte-1n46o8q"><div class="login-brand svelte-1n46o8q">she</div> <h2 class="svelte-1n46o8q">Sign in</h2> <div class="login-field svelte-1n46o8q"><label for="she-password" class="svelte-1n46o8q">Password</label> <input id="she-password" type="password" placeholder="Enter password" autocomplete="current-password" class="svelte-1n46o8q"/></div> <!> <button type="submit" class="login-btn svelte-1n46o8q"> </button></form></div>'),UQ=T('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Restarting smart-home-engine…</div></div>'),qQ=T('<div class="updating-overlay svelte-1n46o8q"><div class="updating-box svelte-1n46o8q"><svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-1n46o8q"><polyline points="4 4 4 10 10 10" class="svelte-1n46o8q"></polyline><path d="M4 10A9 9 0 1 0 6.5 5" class="svelte-1n46o8q"></path></svg> Updating smart-home-engine…</div></div>'),GQ=T("<!> <!> <!> <!>",1);function KQ(o,e){Ns(e,!0);const t=["scripts","mqtt","matter","broker","db","logs","config","packages"];function i(){const Ct=location.hash.slice(1);return t.includes(Ct)?Ct:"scripts"}let n=M(yi(i())),s=M(null),r=M(!1),a=M(!1),c=M(!1),u=M(!1),f=M("none"),g=M(""),p=M(!1),w=M(""),m=M(""),x=M(!1),k=M(!1);c7(()=>{y(p,!0)});async function D(){y(m,""),y(x,!0);try{await h7(d(w)),y(w,""),y(p,!1)}catch(Ct){y(m,Ct.message??"Login failed",!0)}finally{y(x,!1)}}async function P(){if(d(f)==="proxy"&&d(g)){window.location.href=d(g);return}await f7(),y(p,!0)}let A=M(null),j=M(!1),H=M(!1),te=M(!1),J=M(!1),le=M(yi([])),we=M(0),We=M(yi([]));const ue=wt(()=>d(We).filter(Ct=>Ct.online).length),et=wt(()=>d(We).length===0?"none":d(ue)===d(We).length?"all":d(ue)>0?"some":"offline");let rt=M(!1),me=M(!1);async function lt(){if(!await d(A).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;y(j,!0);let Ct;try{Ct=(await Wg()).startedAt}catch{}try{await NR()}catch{}const vi=Date.now()+6e4;for(;Date.now()<vi;){await new Promise(di=>setTimeout(di,250));try{const di=await Wg();if(Ct===void 0||di.startedAt!==Ct){location.reload();return}}catch{}}location.reload()}async function ft(){y(c,!0);try{const Ct=await b7();d(s)&&y(s,{...d(s),latestVersion:Ct.latestVersion??void 0},!0)}catch{}finally{y(c,!1)}}async function Pt(){var di,Li;if(!await d(A).show(`Update to v${(di=d(s))==null?void 0:di.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;y(a,!1),y(u,!0);const Ct=(Li=d(s))==null?void 0:Li.startedAt;try{await v7()}catch{}const vi=Date.now()+18e4;for(;Date.now()<vi;){await new Promise(Ni=>setTimeout(Ni,1e3));try{const Ni=await Wg();if(Ct===void 0||Ni.startedAt!==Ct){location.reload();return}}catch{y(u,!1),y(j,!0)}}location.reload()}function Ne(Ct){y(n,Ct,!0),location.hash=Ct}ao(async()=>{location.hash||(location.hash=d(n));const Ct=()=>{y(n,i(),!0)};window.addEventListener("hashchange",Ct);try{const ri=await u7();y(f,ri.mode,!0),y(g,ri.proxyLogoutUrl??"",!0),d(f)==="password"&&(await fetch("/she/scripts")).status===401&&y(p,!0)}catch{}y(k,!0);async function vi(){try{y(s,await Wg(),!0)}catch{}try{const[ri,_i]=await Promise.all([OR(),Dl()]);y(le,Array.isArray(_i.pinnedPackages)?_i.pinnedPackages:[],!0),y(we,Object.keys(ri).filter(ki=>!d(le).includes(ki)).length,!0)}catch{}}vi();const di=setInterval(vi,5e3),Li=kr("mqtt:status",ri=>{ri.connected===!1?(y(J,!0),y(H,!1),y(te,!1)):(y(J,!1),y(H,ri.ready===!1),y(te,ri.ready===!0))}),Ni=kr("matter:deviceList",ri=>{Array.isArray(ri.devices)&&y(We,ri.devices.map(_i=>({nodeId:String(_i.nodeId),online:!!_i.online})),!0)}),Oi=kr("matter:deviceStatus",ri=>{if(ri.nodeId===void 0)return;const _i=String(ri.nodeId),ki=!!ri.online;y(We,d(We).map(Vi=>Vi.nodeId===_i?{...Vi,online:ki}:Vi),!0)}),Wi=$R();y(rt,Wi.some(ri=>ri.level==="error"),!0),y(me,!d(rt)&&Wi.some(ri=>ri.level==="warn"),!0);const Si=kk(ri=>{ri.level==="error"?(y(rt,!0),y(me,!1)):ri.level==="warn"&&!d(rt)&&y(me,!0)});return()=>{window.removeEventListener("hashchange",Ct),clearInterval(di),Li(),Ni(),Oi(),Si()}});var Lt=GQ();cs("click",wP,()=>{d(r)&&y(r,!1),d(a)&&y(a,!1)});var Oe=Dt(Lt);{var Se=Ct=>{var vi=VQ(),di=v(vi),Li=b(v(di),2);let Ni;var Oi=b(Li,2);let Wi;var Si=b(v(Oi),2);{var ri=ge=>{var ve=yQ();V(()=>Fi(ve,"title",`${d(we)??""} package update${d(we)===1?"":"s"} available`)),E(ge,ve)};W(Si,ge=>{d(we)>0&&ge(ri)})}var _i=b(Oi,2);let ki;var Vi=b(v(_i),2);{var Ri=ge=>{var ve=wQ();E(ge,ve)},Mi=ge=>{var ve=SQ();E(ge,ve)},mt=ge=>{var ve=CQ();E(ge,ve)};W(Vi,ge=>{d(J)?ge(Ri):d(H)?ge(Mi,1):d(te)&&ge(mt,2)})}var Mt=b(_i,2);let hi;var Ti=b(v(Mt),2);{var Xi=ge=>{var ve=xQ();E(ge,ve)},ji=ge=>{var ve=kQ();E(ge,ve)},Tn=ge=>{var ve=LQ();E(ge,ve)};W(Ti,ge=>{d(et)==="all"?ge(Xi):d(et)==="some"?ge(ji,1):d(et)==="offline"&&ge(Tn,2)})}var Fe=b(Mt,2);let ei;var ui=b(Fe,2);let Pi;var $e=b(ui,2);let Ut;var fi=b(v($e),2);{var Ii=ge=>{var ve=IQ();E(ge,ve)},qe=ge=>{var ve=DQ();E(ge,ve)};W(fi,ge=>{d(rt)?ge(Ii):d(me)&&ge(qe,1)})}var he=b($e,4),K=b(v(he),2),ae=v(K),xe=v(ae);xe.nodeValue="v1.1.2 ";var Pe=b(xe);{var ot=ge=>{var ve=EQ();E(ge,ve)};W(Pe,ge=>{var ve,vt;(ve=d(s))!=null&&ve.latestVersion&&!((vt=d(s))!=null&&vt.docker)&&ge(ot)})}var R=b(ae,2);{var Q=ge=>{var ve=NQ(),vt=v(ve),Ei=b(v(vt));Ei.textContent="v1.1.2";var Te=b(Ei,2);{var Ge=Ae=>{var De=TQ(),zt=b(Dt(De)),kt=v(zt);V(()=>F(kt,`v${d(s).latestVersion??""}`)),E(Ae,De)},Wt=Ae=>{var De=PQ();E(Ae,De)};W(Te,Ae=>{var De;(De=d(s))!=null&&De.latestVersion?Ae(Ge):Ae(Wt,-1)})}var Je=b(vt,2),bt=v(Je);{var Kt=Ae=>{var De=MQ(),zt=b(v(De));V(()=>F(zt,` Update to v${d(s).latestVersion??""}`)),G("click",De,Pt),E(Ae,De)};W(bt,Ae=>{var De;(De=d(s))!=null&&De.latestVersion&&Ae(Kt)})}var q=b(bt,2),ne=v(q);let Ve;var Qe=b(ne);V(()=>{q.disabled=d(c),Ve=At(ne,0,"svelte-1n46o8q",null,Ve,{spinning:d(c)}),F(Qe,` ${d(c)?"Checking…":"Check for updates"}`)}),G("click",ve,Ae=>Ae.stopPropagation()),G("click",q,ft),E(ge,ve)};W(R,ge=>{var ve;d(a)&&!((ve=d(s))!=null&&ve.docker)&&ge(Q)})}var Y=b(K,2),fe=v(Y),_e=b(fe,2);{var $=ge=>{var ve=BQ(),vt=v(ve);{var Ei=bt=>{var Kt=FQ(),q=v(Kt);{var ne=pt=>{const _t=wt(()=>Math.floor((Date.now()-d(s).startedAt)/1e3)),Ze=wt(()=>Math.floor(d(_t)/86400)),qt=wt(()=>Math.floor(d(_t)%86400/3600)),ii=wt(()=>Math.floor(d(_t)%3600/60));var cn=RQ(),en=b(Dt(cn)),Dn=v(en);V(()=>F(Dn,`${d(Ze)>0?d(Ze)+"d ":""}${d(qt)>0||d(Ze)>0?d(qt)+"h ":""}${d(ii)??""}m`)),E(pt,cn)};W(q,pt=>{d(s).startedAt&&pt(ne)})}var Ve=b(q,3),Qe=v(Ve),Ae=b(Ve,3),De=v(Ae),zt=b(Ae,3),kt=v(zt),Ke=b(zt,2);{var Vt=pt=>{var _t=AQ(),Ze=b(Dt(_t)),qt=v(Ze),ii=b(Ze,3),cn=v(ii);V(()=>{F(qt,d(s).matterNodes??0),F(cn,d(s).matterEndpoints??0)}),E(pt,_t)};W(Ke,pt=>{d(s).matterEnabled&&pt(Vt)})}var tt=b(Ke,2);{var Ee=pt=>{var _t=OQ(),Ze=b(Dt(_t)),qt=v(Ze),ii=b(Ze,3),cn=v(ii);V(()=>{F(qt,d(s).dbDocs??"—"),F(cn,d(s).dbViews??"—")}),E(pt,_t)};W(tt,pt=>{d(s).dbEnabled&&pt(Ee)})}var He=b(tt,3),Be=v(He),ze=b(He,3),Tt=v(ze),ye=b(ze,3),it=v(ye);V(()=>{F(Qe,d(s).scripts),F(De,d(s).topics),F(kt,d(s).mqttMsgPerSec??"—"),F(Be,d(s).handlers??"—"),F(Tt,d(s).memMb!=null?d(s).memMb+" MB":"—"),F(it,d(s).cpuPercent!=null?d(s).cpuPercent+" %":"—")}),E(bt,Kt)},Te=bt=>{var Kt=HQ();E(bt,Kt)};W(vt,bt=>{d(s)?bt(Ei):bt(Te,-1)})}var Ge=b(vt,2),Wt=v(Ge);{var Je=bt=>{var Kt=WQ();G("click",Kt,()=>{y(r,!1),lt()}),E(bt,Kt)};W(Wt,bt=>{var Kt;(Kt=d(s))!=null&&Kt.docker||bt(Je)})}G("click",ve,bt=>bt.stopPropagation()),E(ge,ve)};W(_e,ge=>{d(r)&&ge($)})}var Z=b(Y,2);let ie;var Ce=b(Z,2);{var gt=ge=>{var ve=zQ();G("click",ve,P),E(ge,ve)};W(Ce,ge=>{d(f)==="password"&&ge(gt)})}var Re=b(di,2),Ie=v(Re);Ds(Jf(Ie,{}),ge=>y(A,ge,!0),()=>d(A));var st=b(Ie,2);let It;var St=v(st);{let ge=wt(()=>d(n)==="scripts");hK(St,{get active(){return d(ge)}})}var si=b(st,2);let ti;var se=v(si);WY(se,{});var Le=b(si,2);let at;var xt=v(Le);yY(xt,{});var ht=b(Le,2);let Xe;var Ht=v(ht);ZX(Ht,{});var ai=b(ht,2);let bi;var Di=v(ai);bQ(Di,{});var fn=b(ai,2);let Cn;var un=v(fn);oX(un,{});var xi=b(fn,2);let gn;var z=v(xi);YK(z,{});var ee=b(xi,2);let Ue;var Ye=v(ee);tZ(Ye,{}),V(()=>{Ni=At(Li,1,"svelte-1n46o8q",null,Ni,{active:d(n)==="scripts"}),Wi=At(Oi,1,"svelte-1n46o8q",null,Wi,{active:d(n)==="packages"}),ki=At(_i,1,"svelte-1n46o8q",null,ki,{active:d(n)==="mqtt"}),hi=At(Mt,1,"svelte-1n46o8q",null,hi,{active:d(n)==="matter"}),ei=At(Fe,1,"svelte-1n46o8q",null,ei,{active:d(n)==="broker"}),Pi=At(ui,1,"svelte-1n46o8q",null,Pi,{active:d(n)==="db"}),Ut=At($e,1,"svelte-1n46o8q",null,Ut,{active:d(n)==="logs"}),ie=At(Z,1,"nav-settings svelte-1n46o8q",null,ie,{active:d(n)==="config"}),It=At(st,1,"page-wrap svelte-1n46o8q",null,It,{hidden:d(n)!=="scripts"}),ti=At(si,1,"page-wrap svelte-1n46o8q",null,ti,{hidden:d(n)!=="packages"}),at=At(Le,1,"page-wrap svelte-1n46o8q",null,at,{hidden:d(n)!=="mqtt"}),Xe=At(ht,1,"page-wrap svelte-1n46o8q",null,Xe,{hidden:d(n)!=="matter"}),bi=At(ai,1,"page-wrap svelte-1n46o8q",null,bi,{hidden:d(n)!=="broker"}),Cn=At(fn,1,"page-wrap svelte-1n46o8q",null,Cn,{hidden:d(n)!=="db"}),gn=At(xi,1,"page-wrap svelte-1n46o8q",null,gn,{hidden:d(n)!=="config"}),Ue=At(ee,1,"page-wrap svelte-1n46o8q",null,Ue,{hidden:d(n)!=="logs"})}),G("click",Li,()=>Ne("scripts")),G("click",Oi,()=>Ne("packages")),G("click",_i,()=>Ne("mqtt")),G("click",Mt,()=>Ne("matter")),G("click",Fe,()=>Ne("broker")),G("click",ui,()=>Ne("db")),G("click",$e,()=>{Ne("logs"),y(rt,!1),y(me,!1)}),G("click",ae,ge=>{ge.stopPropagation(),y(a,!d(a)),y(r,!1)}),G("click",fe,ge=>{ge.stopPropagation(),y(r,!d(r)),y(a,!1)}),G("click",Z,()=>Ne("config")),E(Ct,vi)};W(Oe,Ct=>{d(k)&&!d(p)&&Ct(Se)})}var nt=b(Oe,2);{var Ft=Ct=>{var vi=$Q(),di=v(vi),Li=b(v(di),4),Ni=b(v(Li),2),Oi=b(Li,2);{var Wi=_i=>{var ki=jQ(),Vi=v(ki);V(()=>F(Vi,d(m))),E(_i,ki)};W(Oi,_i=>{d(m)&&_i(Wi)})}var Si=b(Oi,2),ri=v(Si);V(()=>{Ni.disabled=d(x),Si.disabled=d(x)||!d(w),F(ri,d(x)?"Signing in…":"Sign in")}),cs("submit",di,_i=>{_i.preventDefault(),D()}),Xt(Ni,()=>d(w),_i=>y(w,_i)),E(Ct,vi)};W(nt,Ct=>{d(p)&&Ct(Ft)})}var oi=b(nt,2);{var Bt=Ct=>{var vi=UQ();E(Ct,vi)};W(oi,Ct=>{d(j)&&Ct(Bt)})}var Et=b(oi,2);{var Rt=Ct=>{var vi=qQ();E(Ct,vi)};W(Et,Ct=>{d(u)&&Ct(Rt)})}E(o,Lt),Rs()}Ks(["click"]);DH(KQ,{target:document.getElementById("app")});export{tM as t};
|