smart-home-engine 1.12.1 → 1.12.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-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-CXqG4FL-.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/jsonMode-tUihOf0o.js","assets/monaco-langs-Dt8a9eeo.js","assets/monaco-langs-DyX1CsEw.css","assets/tsMode-CmjWFZn0.js"])))=>i.map(i=>d[i]);
2
2
  var $F=Object.defineProperty;var DS=o=>{throw TypeError(o)};var UF=(o,e,t)=>e in o?$F(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var kn=(o,e,t)=>UF(o,typeof e!="symbol"?e+"":e,t),Zb=(o,e,t)=>e.has(o)||DS("Cannot "+t);var ye=(o,e,t)=>(Zb(o,e,"read from private field"),t?t.call(o):e.get(o)),_n=(o,e,t)=>e.has(o)?DS("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),bn=(o,e,t,i)=>(Zb(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),es=(o,e,t)=>(Zb(o,e,"access private method"),t);import{_ as tA,m as iA,l as Di,A as Do,C as $e,I as ns,D as Cp,a as bs,g as nA,M as ri,b as Gi,E as la,c as q,r as zn,d as Rr,e as S,f as qF,h as Qn,R as Cn,S as ji,i as ao,j as Nr,k as Fn,n as dn,o as Be,p as bt,K as Ss,q as pi,s as Nt,t as Ps,u as Q,v as xn,O as Ha,w as Bs,P as Ai,x as Xb,y as Ep,z as sA,B as ml,F as ca,G as YC,H as Zs,U as Vn,J as k0,L as ki,N as yl,Q as GF,T as bo,V as QC,W as KF,X as oA,$ as gi,Y as Tn,Z as Bn,a0 as as,a1 as nn,a2 as Qo,a3 as Dg,a4 as Tt,a5 as Gx,a6 as ZF,a7 as XF,a8 as Is,a9 as YF,aa as da,ab as Ao,ac as Ii,ad as rA,ae as ts,af as QF,ag as JF,ah as yo,ai as of,aj as Ds,ak as N_,al as xo,am as qc,an as Sw,ao as O_,ap as Us,aq as B0,ar as qs,as as H_,at as W_,au as e3,av as yp,aw as rf,ax as Tl,ay as t3,az as af,aA as i3,aB as Dw,aC as n3,aD as s3,aE as AS,aF as _s,aG as vl,aH as mo,aI as an,aJ as fl,aK as o3,aL as ja,aM as Zo,aN as zs,aO as ua,aP as Aw,aQ as Ts,aR as ms,aS as Cm,aT as rn,aU as aA,aV as r3,aW as kw,aX as z_,aY as Bw,aZ as Fw,a_ as Ld,a$ as a3,b0 as Lw,b1 as l3,b2 as Iw,b3 as Ml,b4 as Rl,b5 as F0,b6 as Ag,b7 as Oo,b8 as wp,b9 as Em,ba as Yb,bb as Un,bc as Pw,bd as Sp,be as V_,bf as c3,bg as lA,bh as kg,bi as L0,bj as Bg,bk as Dp,bl as j_,bm as In,bn as Gc,bo as Ap,bp as d3,bq as u3,br as Tw,bs as h3,bt as ym,bu as fr,bv as Mw,bw as I0,bx as Nl,by as lf,bz as gn,bA as P0,bB as cA,bC as kp,bD as f3,bE as Id,bF as li,bG as kS,bH as Kx,bI as dA,bJ as Wr,bK as sa,bL as Zn,bM as T0,bN as Fr,bO as M0,bP as rs,bQ as Fg,bR as Zu,bS as JC,bT as uA,bU as hA,bV as fA,bW as Rw,bX as Io,bY as Hn,bZ as Bp,b_ as gA,b$ as _l,c0 as $_,c1 as g3,c2 as Wh,c3 as BS,c4 as Fp,c5 as pA,c6 as zh,c7 as p3,c8 as yr,c9 as U_,ca as x3,cb as ko,cc as ha,cd as Lp,ce as Lg,cf as xA,cg as cr,ch as Ip,ci as q_,cj as m3,ck as v3,cl as _3,cm as cf,cn as $a,co as Vs,cp as b3,cq as Nw,cr as C3,cs as E3,ct as FS,cu as y3,cv as Pp,cw as wl,cx as e1,cy as Bu,cz as Sl,cA as w3,cB as Wa,cC as Lr,cD as $o,cE as LS,cF as co,cG as Tp,cH as Nc,cI as Ua,cJ as S3,cK as fa,cL as Ig,cM as G_,cN as mA,cO as D3,cP as A3,cQ as Ow,cR as k3,cS as Pg,cT as B3,cU as dc,cV as Tg,cW as IS,cX as F3,cY as L3,cZ as Ka,c_ as I3,c$ as Hw,d0 as vA,d1 as _A,d2 as bA,d3 as CA,d4 as P3,d5 as T3,d6 as EA,d7 as yA,d8 as M3,d9 as Ww,da as R3,db as N3,dc as cs,dd as O3,de as zw,df as H3,dg as Vh,dh as PS,di as W3,dj as z3,dk as V3,dl as j3,dm as $3,dn as U3,dp as R0,dq as K_,dr as t1,ds as q3,dt as G3,du as TS,dv as i1,dw as K3,dx as MS,dy as Qb,dz as Z3,dA as wA,dB as X3,dC as SA,dD as n1,dE as Y3,dF as Q3,dG as J3,dH as DA,dI as AA,dJ as e4,dK as wm,dL as kA,dM as Z_,dN as t4,dO as i4,dP as Oc,dQ as Vw,dR as n4,dS as RS,dT as NS,dU as s4,dV as jh,dW as BA,dX as o4,dY as r4,dZ as a4,d_ as l4,d$ as FA,e0 as LA,e1 as IA,e2 as PA,e3 as c4,e4 as za,e5 as OS,e6 as d4,e7 as Mp,e8 as u4,e9 as Vf,ea as TA,eb as HS,ec as Mg,ed as MA,ee as Sm,ef as h4,eg as RA,eh as f4,ei as NA,ej as g4,ek as p4,el as OA,em as HA,en as Dl,eo as X_,ep as x4,eq as WA,er as Xo,es as Pd,et as zA,eu as m4,ev as v4,ew as VA,ex as jA,ey as _4,ez as $A,eA as UA,eB as Rg,eC as b4,eD as C4,eE as E4,eF as y4,eG as Lf,eH as WS,eI as w4,eJ as S4,eK as D4,eL as Dm,eM as eo,eN as A4,eO as s1,eP as Xu,eQ as k4,eR as ul,eS as B4,eT as F4,eU as qA,eV as L4,eW as og,eX as I4,eY as P4,eZ as T4,e_ as M4,e$ as zS,f0 as VS,f1 as jS,f2 as Yu,f3 as jw,f4 as GA,f5 as o1,f6 as Zx,f7 as KA,f8 as Am,f9 as R4,fa as N4,fb as O4,fc as H4,fd as $w,fe as ZA,ff as W4,fg as km,fh as XA,fi as YA,fj as z4,fk as V4,fl as j4,fm as $4,fn as U4,fo as q4,fp as G4,fq as K4,fr as QA,fs as Z4,ft as Bm,fu as JA,fv as X4,fw as ek,fx as Y4,fy as tk,fz as ik,fA as Q4,fB as $S,fC as nk,fD as US,fE as J4,fF as Jb,fG as qS,fH as eL,fI as tL,fJ as iL,fK as Ia,fL as Hc,fM as nL,fN as GS,fO as Xx,fP as sL,fQ as gl,fR as Y_,fS as r1,fT as oL,fU as sk,fV as ok,fW as uo,fX as KS,fY as fx,fZ as Uw,f_ as rL,f$ as aL,g0 as lL,g1 as cL,g2 as dL,g3 as uL,g4 as hL,g5 as fL,g6 as ZS,g7 as gL,g8 as pL,g9 as xL,ga as N0,gb as rg,gc as rk,gd as mL,ge as qw,gf as Yx,gg as gx,gh as eC,gi as vL,gj as _L,gk as ak,gl as bL,gm as Gw,gn as CL,go as EL,gp as lk,gq as Q_,gr as yL,gs as Fm,gt as Kw,gu as Zw,gv as Xw,gw as ck,gx as dk,gy as uk,gz as hk,gA as fk,gB as gk,gC as pk,gD as XS,gE as xk,gF as mh,gG as wL,gH as SL,gI as DL,gJ as AL,gK as mk,gL as kL,gM as BL,gN as YS,gO as a1,gP as mc,gQ as FL,gR as LL,gS as IL,gT as PL,gU as TL,gV as ML,gW as QS,gX as Yw,gY as l1,gZ as RL,g_ as c1,g$ as NL,h0 as OL,h1 as HL,h2 as WL,h3 as Qw,h4 as vk,h5 as JS,h6 as e8,h7 as zL,h8 as VL,h9 as jL,ha as t8,hb as tC,hc as $L,hd as UL,he as qL,hf as iC,hg as _k,hh as bk,hi as Ck,hj as Ek,hk as Al,hl as yk,hm as Jw,hn as i8,ho as GL,hp as wk,hq as KL,hr as ZL,hs as J_,ht as eb,hu as Qu,hv as tb,hw as Rp,hx as XL,hy as ib,hz as YL,hA as QL,hB as JL,hC as Sk,hD as If,hE as e7,hF as t7,hG as i7,hH as n7,hI as Np,hJ as s7,hK as Dk,hL as Ak,hM as kk,hN as d1,hO as o7,hP as r7,hQ as a7,hR as l7,hS as c7,hT as u1,hU as d7,hV as u7,hW as h7,hX as f7,hY as g7,hZ as p7,h_ as x7,h$ as m7,i0 as Bk,i1 as v7,i2 as _7,i3 as b7,i4 as n8,i5 as C7,i6 as E7,i7 as md,i8 as _r,i9 as s8,ia as y7,ib as w7,ic as S7}from"./monaco-langs-Dt8a9eeo.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 Fk=!1;var e9=Array.isArray,D7=Array.prototype.indexOf,Lm=Array.prototype.includes,nb=Array.from,A7=Object.defineProperty,o0=Object.getOwnPropertyDescriptor,k7=Object.getOwnPropertyDescriptors,B7=Object.prototype,F7=Array.prototype,Lk=Object.getPrototypeOf,o8=Object.isExtensible;const sb=()=>{};function L7(o){for(var e=0;e<o.length;e++)o[e]()}function Ik(){var o,e,t=new Promise((i,n)=>{o=i,e=n});return{promise:t,resolve:o,reject:e}}function I7(o,e,t=!1){return o===void 0?t?e():e:o}function r8(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 go=2,O0=4,ob=8,Pk=1<<24,oa=16,aa=32,Wc=64,h1=128,Tr=512,to=1024,so=2048,qa=4096,To=8192,Mr=16384,df=32768,f1=1<<25,H0=65536,Im=1<<17,P7=1<<18,uf=1<<19,T7=1<<20,Ra=1<<25,Fu=65536,Pm=1<<21,r0=1<<22,vc=1<<23,Td=Symbol("$state"),M7=Symbol("legacy props"),R7=Symbol(""),Qx=Symbol("attributes"),g1=Symbol("class"),p1=Symbol("style"),jf=Symbol("text"),Jx=Symbol("form reset"),rb=new class extends Error{constructor(){super(...arguments);kn(this,"name","StaleReactionError");kn(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Q2;const N7=!!((Q2=globalThis.document)!=null&&Q2.contentType)&&globalThis.document.contentType.includes("xml");function Tk(o){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function O7(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function H7(o,e,t){throw new Error("https://svelte.dev/e/each_key_duplicate")}function W7(o){throw new Error("https://svelte.dev/e/effect_in_teardown")}function z7(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function V7(o){throw new Error("https://svelte.dev/e/effect_orphan")}function j7(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function $7(o){throw new Error("https://svelte.dev/e/props_invalid_value")}function U7(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function q7(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function G7(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function K7(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Z7=1,X7=2,Mk=4,Y7=8,Q7=16,J7=1,eI=4,tI=8,iI=16,nI=1,sI=2,Js=Symbol("uninitialized"),Rk="http://www.w3.org/1999/xhtml",oI="http://www.w3.org/2000/svg",rI="http://www.w3.org/1998/Math/MathML";function aI(){console.warn("https://svelte.dev/e/derived_inert")}function lI(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function cI(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Nk(o){return o===this.v}function dI(o,e){return o!=o?e==e:o!==e||o!==null&&typeof o=="object"||typeof o=="function"}function Ok(o){return!dI(o,this.v)}let uI=!1,fo=null;function W0(o){fo=o}function js(o,e=!1,t){fo={p:fo,i:!1,c:null,e:null,s:o,x:null,r:Wn,l:null}}function $s(o){var e=fo,t=e.e;if(t!==null){e.e=null;for(var i of t)r6(i)}return o!==void 0&&(e.x=o),e.i=!0,fo=e.p,o??{}}function Hk(){return!0}let Ed=[];function Wk(){var o=Ed;Ed=[],L7(o)}function _c(o){if(Ed.length===0&&!lg){var e=Ed;queueMicrotask(()=>{e===Ed&&Wk()})}Ed.push(o)}function hI(){for(;Ed.length>0;)Wk()}function zk(o){var e=Wn;if(e===null)return On.f|=vc,o;if((e.f&df)===0&&(e.f&O0)===0)throw o;uc(o,e)}function uc(o,e){for(;e!==null;){if((e.f&h1)!==0){if((e.f&df)===0)throw o;try{e.b.error(o);return}catch(t){o=t}}e=e.parent}throw o}const fI=-7169;function Hs(o,e){o.f=o.f&fI|e}function t9(o){(o.f&Tr)!==0||o.deps===null?Hs(o,to):Hs(o,qa)}function Vk(o){if(o!==null)for(const e of o)(e.f&go)===0||(e.f&Fu)===0||(e.f^=Fu,Vk(e.deps))}function jk(o,e,t){(o.f&so)!==0?e.add(o):(o.f&qa)!==0&&t.add(o),Vk(o.deps),Hs(o,to)}let px=!1;function gI(o){var e=px;try{return px=!1,[o(),px]}finally{px=e}}let nC=null,vh=null,on=null,ag=null,lo=null,x1=null,lg=!1,sC=!1,$h=null,em=null;var a8=0;let pI=1;var d0,ac,Dd,u0,h0,f0,al,g0,zo,pp,ll,Zr,ka,p0,Ad,ds,m1,$f,v1,$k,Uk,Th,xI,Uf;const $v=class $v{constructor(){_n(this,ds);kn(this,"id",pI++);_n(this,d0,!1);kn(this,"linked",!0);_n(this,ac,null);_n(this,Dd,null);kn(this,"async_deriveds",new Map);kn(this,"current",new Map);kn(this,"previous",new Map);_n(this,u0,new Set);_n(this,h0,new Set);_n(this,f0,0);_n(this,al,new Map);_n(this,g0,null);_n(this,zo,[]);_n(this,pp,[]);_n(this,ll,new Set);_n(this,Zr,new Set);_n(this,ka,new Map);_n(this,p0,new Set);kn(this,"is_fork",!1);_n(this,Ad,!1);vh===null?nC=vh=this:(bn(vh,Dd,this),bn(this,ac,vh)),vh=this}skip_effect(e){ye(this,ka).has(e)||ye(this,ka).set(e,{d:[],m:[]}),ye(this,p0).delete(e)}unskip_effect(e,t=i=>this.schedule(i)){var i=ye(this,ka).get(e);if(i){ye(this,ka).delete(e);for(var n of i.d)Hs(n,so),t(n);for(n of i.m)Hs(n,qa),t(n)}ye(this,p0).add(e)}capture(e,t,i=!1){e.v!==Js&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&vc)===0&&(this.current.set(e,[t,i]),lo==null||lo.set(e,t)),this.is_fork||(e.v=t)}activate(){on=this}deactivate(){on=null,lo=null}flush(){try{sC=!0,on=this,es(this,ds,$f).call(this)}finally{a8=0,x1=null,$h=null,em=null,sC=!1,on=null,lo=null,Md.clear()}}discard(){var e;for(const t of ye(this,h0))t(this);ye(this,h0).clear(),es(this,ds,Uf).call(this),(e=ye(this,g0))==null||e.resolve()}register_created_effect(e){ye(this,pp).push(e)}increment(e,t){if(bn(this,f0,ye(this,f0)+1),e){let i=ye(this,al).get(t)??0;ye(this,al).set(t,i+1)}}decrement(e,t){if(bn(this,f0,ye(this,f0)-1),e){let i=ye(this,al).get(t)??0;i===1?ye(this,al).delete(t):ye(this,al).set(t,i-1)}ye(this,Ad)||(bn(this,Ad,!0),_c(()=>{bn(this,Ad,!1),this.linked&&this.flush()}))}transfer_effects(e,t){for(const i of e)ye(this,ll).add(i);for(const i of t)ye(this,Zr).add(i);e.clear(),t.clear()}oncommit(e){ye(this,u0).add(e)}ondiscard(e){ye(this,h0).add(e)}settled(){return(ye(this,g0)??bn(this,g0,Ik())).promise}static ensure(){if(on===null){const e=on=new $v;!sC&&!lg&&_c(()=>{ye(e,d0)||e.flush()})}return on}apply(){{lo=null;return}}schedule(e){var n;if(x1=e,(n=e.b)!=null&&n.is_pending&&(e.f&(O0|ob|Pk))!==0&&(e.f&df)===0){e.b.defer_effect(e);return}for(var t=e;t.parent!==null;){t=t.parent;var i=t.f;if($h!==null&&t===Wn&&(On===null||(On.f&go)===0))return;if((i&(Wc|aa))!==0){if((i&to)===0)return;t.f^=to}}ye(this,zo).push(t)}};d0=new WeakMap,ac=new WeakMap,Dd=new WeakMap,u0=new WeakMap,h0=new WeakMap,f0=new WeakMap,al=new WeakMap,g0=new WeakMap,zo=new WeakMap,pp=new WeakMap,ll=new WeakMap,Zr=new WeakMap,ka=new WeakMap,p0=new WeakMap,Ad=new WeakMap,ds=new WeakSet,m1=function(){if(this.is_fork)return!0;for(const i of ye(this,al).keys()){for(var e=i,t=!1;e.parent!==null;){if(ye(this,ka).has(e)){t=!0;break}e=e.parent}if(!t)return!0}return!1},$f=function(){var d,u,f,g;bn(this,d0,!0),a8++>1e3&&(es(this,ds,Uf).call(this),vI());for(const p of ye(this,ll))ye(this,Zr).delete(p),Hs(p,so),this.schedule(p);for(const p of ye(this,Zr))Hs(p,qa),this.schedule(p);const e=ye(this,zo);bn(this,zo,[]),this.apply();var t=$h=[],i=[],n=em=[];for(const p of e)try{es(this,ds,v1).call(this,p,t,i)}catch(C){throw Kk(p),es(this,ds,m1).call(this)||this.discard(),C}if(on=null,n.length>0){var s=$v.ensure();for(const p of n)s.schedule(p)}if($h=null,em=null,es(this,ds,m1).call(this)){es(this,ds,Th).call(this,i),es(this,ds,Th).call(this,t);for(const[p,C]of ye(this,ka))Gk(p,C);n.length>0&&es(d=on,ds,$f).call(d);return}const r=es(this,ds,$k).call(this);if(r){es(this,ds,Th).call(this,i),es(this,ds,Th).call(this,t),es(u=r,ds,Uk).call(u,this);return}ye(this,ll).clear(),ye(this,Zr).clear();for(const p of ye(this,u0))p(this);ye(this,u0).clear(),ag=this,l8(i),l8(t),ag=null,(f=ye(this,g0))==null||f.resolve();var a=on;if(ye(this,f0)===0&&(ye(this,zo).length===0||a!==null)&&es(this,ds,Uf).call(this),ye(this,zo).length>0)if(a!==null){const p=a;ye(p,zo).push(...ye(this,zo).filter(C=>!ye(p,zo).includes(C)))}else a=this;a!==null&&es(g=a,ds,$f).call(g)},v1=function(e,t,i){e.f^=to;for(var n=e.first;n!==null;){var s=n.f,r=(s&(aa|Wc))!==0,a=r&&(s&to)!==0,d=a||(s&To)!==0||ye(this,ka).has(n);if(!d&&n.fn!==null){r?n.f^=to:(s&O0)!==0?t.push(n):Hp(n)&&((s&oa)!==0&&ye(this,Zr).add(n),V0(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}}},$k=function(){for(var e=ye(this,ac);e!==null;){if(!e.is_fork){for(const[t,[,i]]of this.current)if(e.current.has(t)&&!i)return e}e=ye(e,ac)}return null},Uk=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(ye(e,ll),ye(e,Zr));const t=n=>{var s=n.reactions;if(s!==null)for(const d of s){var r=d.f;if((r&go)!==0)t(d);else{var a=d;r&(r0|oa)&&!this.async_deriveds.has(a)&&(ye(this,Zr).delete(a),Hs(a,so),this.schedule(a))}}};for(const n of this.current.keys())t(n);this.oncommit(()=>e.discard()),es(i=e,ds,Uf).call(i),on=this,es(this,ds,$f).call(this)},Th=function(e){for(var t=0;t<e.length;t+=1)jk(e[t],ye(this,ll),ye(this,Zr))},xI=function(){var f;for(let g=nC;g!==null;g=ye(g,Dd)){var e=g.id<this.id,t=[];for(const[p,[C,b]]of this.current){if(g.current.has(p)){var i=g.current.get(p)[0];if(e&&C!==i)g.current.set(p,[C,b]);else continue}t.push(p)}if(e)for(const[p,C]of this.async_deriveds){const b=g.async_deriveds.get(p);b&&C.promise.then(b.resolve).catch(b.reject)}if(ye(g,d0)){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 ye(this,p0))g.unskip_effect(p,C=>{var b;(C.f&(oa|r0))!==0?g.schedule(C):es(b=g,ds,Th).call(b,[C])});g.activate();var s=new Set,r=new Map;for(var a of t)qk(a,n,s,r);r=new Map;var d=[...g.current].filter(([p,C])=>{const b=this.current.get(p);return b?b[0]!==C[0]||b[1]!==C[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of ye(this,pp))(p.f&(Mr|To|Im))===0&&i9(p,d,r)&&((p.f&(r0|oa))!==0?(Hs(p,so),g.schedule(p)):ye(g,ll).add(p));if(ye(g,zo).length>0&&!ye(g,Ad)){g.apply();for(var u of ye(g,zo))es(f=g,ds,v1).call(f,u,[],[]);bn(g,zo,[])}g.deactivate()}}}},Uf=function(){if(this.linked){var e=ye(this,ac),t=ye(this,Dd);e===null?nC=t:bn(e,Dd,t),t===null?vh=e:bn(t,ac,e),this.linked=!1}};let Lu=$v;function mI(o){var e=lg;lg=!0;try{for(var t;;){if(hI(),on===null)return t;on.flush()}}finally{lg=e}}function vI(){try{j7()}catch(o){uc(o,x1)}}let qr=null;function l8(o){var e=o.length;if(e!==0){for(var t=0;t<e;){var i=o[t++];if((i.f&(Mr|To))===0&&Hp(i)&&(qr=new Set,V0(i),i.deps===null&&i.first===null&&i.nodes===null&&i.teardown===null&&i.ac===null&&c6(i),(qr==null?void 0:qr.size)>0)){Md.clear();for(const n of qr){if((n.f&(Mr|To))!==0)continue;const s=[n];let r=n.parent;for(;r!==null;)qr.has(r)&&(qr.delete(r),s.push(r)),r=r.parent;for(let a=s.length-1;a>=0;a--){const d=s[a];(d.f&(Mr|To))===0&&V0(d)}}qr.clear()}}qr=null}}function qk(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&go)!==0?qk(n,e,t,i):(s&(r0|oa))!==0&&(s&so)===0&&i9(n,e,i)&&(Hs(n,so),n9(n))}}function i9(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(Lm.call(e,n))return!0;if((n.f&go)!==0&&i9(n,e,t))return t.set(n,!0),!0}return t.set(o,!1),!1}function n9(o){on.schedule(o)}function Gk(o,e){if(!((o.f&aa)!==0&&(o.f&to)!==0)){(o.f&so)!==0?e.d.push(o):(o.f&qa)!==0&&e.m.push(o),Hs(o,to);for(var t=o.first;t!==null;)Gk(t,e),t=t.next}}function Kk(o){Hs(o,to);for(var e=o.first;e!==null;)Kk(e),e=e.next}function _I(o){let e=0,t=Iu(0),i;return()=>{a9()&&(c(t),lb(()=>(e===0&&(i=Hl(()=>o(()=>cg(t)))),e+=1,()=>{_c(()=>{e-=1,e===0&&(i==null||i(),i=void 0,cg(t))})})))}}var bI=H0|uf;function CI(o,e,t,i){new EI(o,e,t,i)}var Sr,ww,Dr,kd,Vo,Ar,Fo,or,cl,Bd,lc,x0,xp,mp,dl,Uv,Ws,yI,wI,SI,_1,tm,im,b1,C1;class EI{constructor(e,t,i,n){_n(this,Ws);kn(this,"parent");kn(this,"is_pending",!1);kn(this,"transform_error");_n(this,Sr);_n(this,ww,null);_n(this,Dr);_n(this,kd);_n(this,Vo);_n(this,Ar,null);_n(this,Fo,null);_n(this,or,null);_n(this,cl,null);_n(this,Bd,0);_n(this,lc,0);_n(this,x0,!1);_n(this,xp,new Set);_n(this,mp,new Set);_n(this,dl,null);_n(this,Uv,_I(()=>(bn(this,dl,Iu(ye(this,Bd))),()=>{bn(this,dl,null)})));var s;bn(this,Sr,e),bn(this,Dr,t),bn(this,kd,r=>{var a=Wn;a.b=this,a.f|=h1,i(r)}),this.parent=Wn.b,this.transform_error=n??((s=this.parent)==null?void 0:s.transform_error)??(r=>r),bn(this,Vo,d9(()=>{es(this,Ws,_1).call(this)},bI))}defer_effect(e){jk(e,ye(this,xp),ye(this,mp))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!ye(this,Dr).pending}update_pending_count(e,t){es(this,Ws,b1).call(this,e,t),bn(this,Bd,ye(this,Bd)+e),!(!ye(this,dl)||ye(this,x0))&&(bn(this,x0,!0),_c(()=>{bn(this,x0,!1),ye(this,dl)&&z0(ye(this,dl),ye(this,Bd))}))}get_effect_pending(){return ye(this,Uv).call(this),c(ye(this,dl))}error(e){if(!ye(this,Dr).onerror&&!ye(this,Dr).failed)throw e;on!=null&&on.is_fork?(ye(this,Ar)&&on.skip_effect(ye(this,Ar)),ye(this,Fo)&&on.skip_effect(ye(this,Fo)),ye(this,or)&&on.skip_effect(ye(this,or)),on.oncommit(()=>{es(this,Ws,C1).call(this,e)})):es(this,Ws,C1).call(this,e)}}Sr=new WeakMap,ww=new WeakMap,Dr=new WeakMap,kd=new WeakMap,Vo=new WeakMap,Ar=new WeakMap,Fo=new WeakMap,or=new WeakMap,cl=new WeakMap,Bd=new WeakMap,lc=new WeakMap,x0=new WeakMap,xp=new WeakMap,mp=new WeakMap,dl=new WeakMap,Uv=new WeakMap,Ws=new WeakSet,yI=function(){try{bn(this,Ar,kr(()=>ye(this,kd).call(this,ye(this,Sr))))}catch(e){this.error(e)}},wI=function(e){const t=ye(this,Dr).failed;t&&bn(this,or,kr(()=>{t(ye(this,Sr),()=>e,()=>()=>{})}))},SI=function(){const e=ye(this,Dr).pending;e&&(this.is_pending=!0,bn(this,Fo,kr(()=>e(ye(this,Sr)))),_c(()=>{var t=bn(this,cl,document.createDocumentFragment()),i=bl();t.append(i),bn(this,Ar,es(this,Ws,im).call(this,()=>kr(()=>ye(this,kd).call(this,i)))),ye(this,lc)===0&&(ye(this,Sr).before(t),bn(this,cl,null),Nd(ye(this,Fo),()=>{bn(this,Fo,null)}),es(this,Ws,tm).call(this,on))}))},_1=function(){try{if(this.is_pending=this.has_pending_snippet(),bn(this,lc,0),bn(this,Bd,0),bn(this,Ar,kr(()=>{ye(this,kd).call(this,ye(this,Sr))})),ye(this,lc)>0){var e=bn(this,cl,document.createDocumentFragment());h9(ye(this,Ar),e);const t=ye(this,Dr).pending;bn(this,Fo,kr(()=>t(ye(this,Sr))))}else es(this,Ws,tm).call(this,on)}catch(t){this.error(t)}},tm=function(e){this.is_pending=!1,e.transfer_effects(ye(this,xp),ye(this,mp))},im=function(e){var t=Wn,i=On,n=fo;Ga(ye(this,Vo)),Or(ye(this,Vo)),W0(ye(this,Vo).ctx);try{return Lu.ensure(),e()}catch(s){return zk(s),null}finally{Ga(t),Or(i),W0(n)}},b1=function(e,t){var i;if(!this.has_pending_snippet()){this.parent&&es(i=this.parent,Ws,b1).call(i,e,t);return}bn(this,lc,ye(this,lc)+e),ye(this,lc)===0&&(es(this,Ws,tm).call(this,t),ye(this,Fo)&&Nd(ye(this,Fo),()=>{bn(this,Fo,null)}),ye(this,cl)&&(ye(this,Sr).before(ye(this,cl)),bn(this,cl,null)))},C1=function(e){ye(this,Ar)&&(Yo(ye(this,Ar)),bn(this,Ar,null)),ye(this,Fo)&&(Yo(ye(this,Fo)),bn(this,Fo,null)),ye(this,or)&&(Yo(ye(this,or)),bn(this,or,null));var t=ye(this,Dr).onerror;let i=ye(this,Dr).failed;var n=!1,s=!1;const r=()=>{if(n){cI();return}n=!0,s&&K7(),ye(this,or)!==null&&Nd(ye(this,or),()=>{bn(this,or,null)}),es(this,Ws,im).call(this,()=>{es(this,Ws,_1).call(this)})},a=d=>{try{s=!0,t==null||t(d,r),s=!1}catch(u){uc(u,ye(this,Vo)&&ye(this,Vo).parent)}i&&bn(this,or,es(this,Ws,im).call(this,()=>{try{return kr(()=>{var u=Wn;u.b=this,u.f|=h1,i(ye(this,Sr),()=>d,()=>r)})}catch(u){return uc(u,ye(this,Vo).parent),null}}))};_c(()=>{var d;try{d=this.transform_error(e)}catch(u){uc(u,ye(this,Vo)&&ye(this,Vo).parent);return}d!==null&&typeof d=="object"&&typeof d.then=="function"?d.then(a,u=>uc(u,ye(this,Vo)&&ye(this,Vo).parent)):a(d)})};function DI(o,e,t,i){const n=Ng;var s=o.filter(p=>!p.settled);if(t.length===0&&s.length===0){i(e.map(n));return}var r=Wn,a=AI(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function u(p){if((r.f&Mr)===0){a();try{i(p)}catch(C){uc(C,r)}Tm()}}var f=Zk();if(t.length===0){d.then(()=>u(e.map(n))).finally(f);return}function g(){Promise.all(t.map(p=>kI(p))).then(p=>u([...e.map(n),...p])).catch(p=>uc(p,r)).finally(f)}d?d.then(()=>{a(),g(),Tm()}):g()}function AI(){var o=Wn,e=On,t=fo,i=on;return function(s=!0){Ga(o),Or(e),W0(t),s&&(o.f&Mr)===0&&(i==null||i.activate(),i==null||i.apply())}}function Tm(o=!0){Ga(null),Or(null),W0(null),o&&(on==null||on.deactivate())}function Zk(){var o=Wn,e=o.b,t=on,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 Ng(o){var e=go|so;return Wn!==null&&(Wn.f|=uf),{ctx:fo,deps:null,effects:null,equals:Nk,f:e,fn:o,reactions:null,rv:0,v:Js,wv:0,parent:Wn,ac:null}}const xx=Symbol("obsolete");function kI(o,e,t){let i=Wn;i===null&&O7();var n=void 0,s=Iu(Js),r=!On,a=new Set;return WI(()=>{var C,b;var d=Wn,u=Ik();n=u.promise;try{Promise.resolve(o()).then(u.resolve,y=>{y!==rb&&u.reject(y)}).finally(Tm)}catch(y){u.reject(y),Tm()}var f=on;if(r){if((d.f&df)!==0)var g=Zk();if((C=i.b)!=null&&C.is_rendered())(b=f.async_deriveds.get(d))==null||b.reject(xx);else for(const y of a.values())y.reject(xx);a.add(u),f.async_deriveds.set(d,u)}const p=(y,w=void 0)=>{g==null||g(),a.delete(u),w!==xx&&(f.activate(),w?(s.f|=vc,z0(s,w)):((s.f&vc)!==0&&(s.f^=vc),z0(s,y)),f.deactivate())};u.promise.then(p,y=>p(null,y||"unknown"))}),l9(()=>{for(const d of a)d.reject(xx)}),new Promise(d=>{function u(f){function g(){f===n?d(s):u(n)}f.then(g,g)}u(n)})}function Lt(o){const e=Ng(o);return h6(e),e}function s9(o){const e=Ng(o);return e.equals=Ok,e}function BI(o){var e=o.effects;if(e!==null){o.effects=null;for(var t=0;t<e.length;t+=1)Yo(e[t])}}function o9(o){var e,t=Wn,i=o.parent;if(!kl&&i!==null&&o.v!==Js&&(i.f&(Mr|To))!==0)return aI(),o.v;Ga(i);try{o.f&=~Fu,BI(o),e=x6(o)}finally{Ga(t)}return e}function Xk(o){var e=o9(o);if(!o.equals(e)&&(o.wv=g6(),(!(on!=null&&on.is_fork)||o.deps===null)&&(on!==null?(on.capture(o,e,!0),ag==null||ag.capture(o,e,!0)):o.v=e,o.deps===null))){Hs(o,to);return}kl||(lo!==null?(a9()||on!=null&&on.is_fork)&&lo.set(o,e):t9(o))}function FI(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(rb),i.fn!==null&&(i.teardown=sb),i.ac=null,Og(i,0),u9(i))}function Yk(o){if(o.effects!==null)for(const e of o.effects)e.teardown&&e.fn!==null&&V0(e)}let Mm=new Set;const Md=new Map;let Qk=!1;function Iu(o,e){var t={f:0,v:o,reactions:null,equals:Nk,rv:0,wv:0};return t}function F(o,e){const t=Iu(o);return h6(t),t}function LI(o,e=!1,t=!0){const i=Iu(o);return e||(i.equals=Ok),i}function m(o,e,t=!1){On!==null&&(!ra||(On.f&Im)!==0)&&Hk()&&(On.f&(go|oa|r0|Im))!==0&&(Va===null||!Va.has(o))&&G7();let i=t?Li(e):e;return z0(o,i,em)}function z0(o,e,t=null){if(!o.equals(e)){Md.set(o,kl?e:o.v);var i=Lu.ensure();if(i.capture(o,e),(o.f&go)!==0){const n=o;(o.f&so)!==0&&o9(n),lo===null&&t9(n)}o.wv=g6(),Jk(o,so,t),Wn!==null&&(Wn.f&to)!==0&&(Wn.f&(aa|Wc))===0&&(wr===null?VI([o]):wr.push(o)),!i.is_fork&&Mm.size>0&&!Qk&&II()}return e}function II(){Qk=!1;for(const o of Mm){(o.f&to)!==0&&Hs(o,qa);let e;try{e=Hp(o)}catch{e=!0}e&&V0(o)}Mm.clear()}function c8(o,e=1){var t=c(o),i=e===1?t++:t--;return m(o,t),i}function cg(o){m(o,o.v+1)}function Jk(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,d=(a&so)===0;if(d&&Hs(r,e),(a&Im)!==0)Mm.add(r);else if((a&go)!==0){var u=r;lo==null||lo.delete(u),(a&Fu)===0&&(a&Tr&&(Wn===null||(Wn.f&Pm)===0)&&(r.f|=Fu),Jk(u,qa,t))}else if(d){var f=r;(a&oa)!==0&&qr!==null&&qr.add(f),t!==null?t.push(f):n9(f)}}}function Li(o){if(typeof o!="object"||o===null||Td in o)return o;const e=Lk(o);if(e!==B7&&e!==F7)return o;var t=new Map,i=e9(o),n=F(0),s=Od,r=a=>{if(Od===s)return a();var d=On,u=Od;Or(null),f8(s);var f=a();return Or(d),f8(u),f};return i&&t.set("length",F(o.length)),new Proxy(o,{defineProperty(a,d,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&U7();var f=t.get(d);return f===void 0?r(()=>{var g=F(u.value);return t.set(d,g),g}):m(f,u.value,!0),!0},deleteProperty(a,d){var u=t.get(d);if(u===void 0){if(d in a){const f=r(()=>F(Js));t.set(d,f),cg(n)}}else m(u,Js),cg(n);return!0},get(a,d,u){var C;if(d===Td)return o;var f=t.get(d),g=d in a;if(f===void 0&&(!g||(C=o0(a,d))!=null&&C.writable)&&(f=r(()=>{var b=Li(g?a[d]:Js),y=F(b);return y}),t.set(d,f)),f!==void 0){var p=c(f);return p===Js?void 0:p}return Reflect.get(a,d,u)},getOwnPropertyDescriptor(a,d){var u=Reflect.getOwnPropertyDescriptor(a,d);if(u&&"value"in u){var f=t.get(d);f&&(u.value=c(f))}else if(u===void 0){var g=t.get(d),p=g==null?void 0:g.v;if(g!==void 0&&p!==Js)return{enumerable:!0,configurable:!0,value:p,writable:!0}}return u},has(a,d){var p;if(d===Td)return!0;var u=t.get(d),f=u!==void 0&&u.v!==Js||Reflect.has(a,d);if(u!==void 0||Wn!==null&&(!f||(p=o0(a,d))!=null&&p.writable)){u===void 0&&(u=r(()=>{var C=f?Li(a[d]):Js,b=F(C);return b}),t.set(d,u));var g=c(u);if(g===Js)return!1}return f},set(a,d,u,f){var M;var g=t.get(d),p=d in a;if(i&&d==="length")for(var C=u;C<g.v;C+=1){var b=t.get(C+"");b!==void 0?m(b,Js):C in a&&(b=r(()=>F(Js)),t.set(C+"",b))}if(g===void 0)(!p||(M=o0(a,d))!=null&&M.writable)&&(g=r(()=>F(void 0)),m(g,Li(u)),t.set(d,g));else{p=g.v!==Js;var y=r(()=>Li(u));m(g,y)}var w=Reflect.getOwnPropertyDescriptor(a,d);if(w!=null&&w.set&&w.set.call(f,u),!p){if(i&&typeof d=="string"){var A=t.get("length"),P=Number(d);Number.isInteger(P)&&P>=A.v&&m(A,P+1)}cg(n)}return!0},ownKeys(a){c(n);var d=Reflect.ownKeys(a).filter(g=>{var p=t.get(g);return p===void 0||p.v!==Js});for(var[u,f]of t)f.v!==Js&&!(u in a)&&d.push(u);return d},setPrototypeOf(){q7()}})}function d8(o){try{if(o!==null&&typeof o=="object"&&Td in o)return o[Td]}catch{}return o}function PI(o,e){return Object.is(d8(o),d8(e))}var Rd,e6,t6,i6,n6;function TI(){if(Rd===void 0){Rd=window,e6=document,t6=/Firefox/.test(navigator.userAgent);var o=Element.prototype,e=Node.prototype,t=Text.prototype;i6=o0(e,"firstChild").get,n6=o0(e,"nextSibling").get,o8(o)&&(o[g1]=void 0,o[Qx]=null,o[p1]=void 0,o.__e=void 0),o8(t)&&(t[jf]=void 0)}}function bl(o=""){return document.createTextNode(o)}function Na(o){return i6.call(o)}function Op(o){return n6.call(o)}function _(o,e){return Na(o)}function Et(o,e=!1){{var t=Na(o);return t instanceof Comment&&t.data===""?Op(t):t}}function v(o,e=1,t=!1){let i=o;for(;e--;)i=Op(i);return i}function MI(o){o.textContent=""}function s6(){return!1}function o6(o,e,t){return e==null||e===Rk?t?document.createElement(o,{is:t}):document.createElement(o):t?document.createElementNS(e,o,{is:t}):document.createElementNS(e,o)}let u8=!1;function RI(){u8||(u8=!0,document.addEventListener("reset",o=>{Promise.resolve().then(()=>{var e;if(!o.defaultPrevented)for(const t of o.target.elements)(e=t[Jx])==null||e.call(t)})},{capture:!0}))}function ab(o){var e=On,t=Wn;Or(null),Ga(null);try{return o()}finally{Or(e),Ga(t)}}function r9(o,e,t,i=t){o.addEventListener(e,()=>ab(t));const n=o[Jx];n?o[Jx]=()=>{n(),i(!0)}:o[Jx]=()=>i(!0),RI()}function NI(o){Wn===null&&(On===null&&V7(),z7()),kl&&W7()}function OI(o,e){var t=e.last;t===null?e.last=e.first=o:(t.next=o,o.prev=t,e.last=o)}function Ol(o,e){var t=Wn;t!==null&&(t.f&To)!==0&&(o|=To);var i={ctx:fo,deps:null,nodes:null,f:o|so|Tr,first:null,fn:e,last:null,next:null,parent:t,b:t&&t.b,prev:null,teardown:null,wv:0,ac:null};on==null||on.register_created_effect(i);var n=i;if((o&O0)!==0)$h!==null?$h.push(i):Lu.ensure().schedule(i);else if(e!==null){try{V0(i)}catch(r){throw Yo(i),r}n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&uf)===0&&(n=n.first,(o&oa)!==0&&(o&H0)!==0&&n!==null&&(n.f|=H0))}if(n!==null&&(n.parent=t,t!==null&&OI(n,t),On!==null&&(On.f&go)!==0&&(o&Wc)===0)){var s=On;(s.effects??(s.effects=[])).push(n)}return i}function a9(){return On!==null&&!ra}function l9(o){const e=Ol(ob,null);return Hs(e,to),e.teardown=o,e}function Kn(o){NI();var e=Wn.f,t=!On&&(e&aa)!==0&&fo!==null&&!fo.i;if(t){var i=fo;(i.e??(i.e=[])).push(o)}else return r6(o)}function r6(o){return Ol(O0|T7,o)}function HI(o){Lu.ensure();const e=Ol(Wc|uf,o);return(t={})=>new Promise(i=>{t.outro?Nd(e,()=>{Yo(e),i(void 0)}):(Yo(e),i(void 0))})}function c9(o){return Ol(O0,o)}function WI(o){return Ol(r0|uf,o)}function lb(o,e=0){return Ol(ob|e,o)}function j(o,e=[],t=[],i=[]){DI(i,e,t,n=>{Ol(ob,()=>o(...n.map(c)))})}function d9(o,e=0){var t=Ol(oa|e,o);return t}function kr(o){return Ol(aa|uf,o)}function a6(o){var e=o.teardown;if(e!==null){const t=kl,i=On;h8(!0),Or(null);try{e.call(null)}finally{h8(t),Or(i)}}}function u9(o,e=!1){var t=o.first;for(o.first=o.last=null;t!==null;){const n=t.ac;n!==null&&ab(()=>{n.abort(rb)});var i=t.next;(t.f&Wc)!==0?t.parent=null:Yo(t,e),t=i}}function zI(o){for(var e=o.first;e!==null;){var t=e.next;(e.f&aa)===0&&Yo(e),e=t}}function Yo(o,e=!0){var t=!1;(e||(o.f&P7)!==0)&&o.nodes!==null&&o.nodes.end!==null&&(l6(o.nodes.start,o.nodes.end),t=!0),Hs(o,f1),u9(o,e&&!t),Og(o,0);var i=o.nodes&&o.nodes.t;if(i!==null)for(const s of i)s.stop();a6(o),o.f^=f1,o.f|=Mr;var n=o.parent;n!==null&&n.first!==null&&c6(o),o.next=o.prev=o.teardown=o.ctx=o.deps=o.fn=o.nodes=o.ac=o.b=null}function l6(o,e){for(;o!==null;){var t=o===e?null:Op(o);o.remove(),o=t}}function c6(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 Nd(o,e,t=!0){var i=[];d6(o,i,!0);var n=()=>{t&&Yo(o),e&&e()},s=i.length;if(s>0){var r=()=>--s||n();for(var a of i)a.out(r)}else n()}function d6(o,e,t){if((o.f&To)===0){o.f^=To;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&Wc)===0){var r=(n.f&H0)!==0||(n.f&aa)!==0&&(o.f&oa)!==0;d6(n,e,r?t:!1)}n=s}}}function Rm(o){u6(o,!0)}function u6(o,e){if((o.f&To)!==0){o.f^=To,(o.f&to)===0&&(Hs(o,so),Lu.ensure().schedule(o));for(var t=o.first;t!==null;){var i=t.next,n=(t.f&H0)!==0||(t.f&aa)!==0;u6(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 h9(o,e){if(o.nodes)for(var t=o.nodes.start,i=o.nodes.end;t!==null;){var n=t===i?null:Op(t);e.append(t),t=n}}let nm=!1,kl=!1;function h8(o){kl=o}let On=null,ra=!1;function Or(o){On=o}let Wn=null;function Ga(o){Wn=o}let Va=null;function h6(o){On!==null&&(Va??(Va=new Set)).add(o)}let jo=null,nr=0,wr=null;function VI(o){wr=o}let f6=1,yd=0,Od=yd;function f8(o){Od=o}function g6(){return++f6}function Hp(o){var e=o.f;if((e&so)!==0)return!0;if(e&go&&(o.f&=~Fu),(e&qa)!==0){for(var t=o.deps,i=t.length,n=0;n<i;n++){var s=t[n];if(Hp(s)&&Xk(s),s.wv>o.wv)return!0}(e&Tr)!==0&&lo===null&&Hs(o,to)}return!1}function p6(o,e,t=!0){var i=o.reactions;if(i!==null&&!(Va!==null&&Va.has(o)))for(var n=0;n<i.length;n++){var s=i[n];(s.f&go)!==0?p6(s,e,!1):e===s&&(t?Hs(s,so):(s.f&to)!==0&&Hs(s,qa),n9(s))}}function x6(o){var y;var e=jo,t=nr,i=wr,n=On,s=Va,r=fo,a=ra,d=Od,u=o.f;jo=null,nr=0,wr=null,On=(u&(aa|Wc))===0?o:null,Va=null,W0(o.ctx),ra=!1,Od=++yd,o.ac!==null&&(ab(()=>{o.ac.abort(rb)}),o.ac=null);try{o.f|=Pm;var f=o.fn,g=f();o.f|=df;var p=o.deps,C=on==null?void 0:on.is_fork;if(jo!==null){var b;if(C||Og(o,nr),p!==null&&nr>0)for(p.length=nr+jo.length,b=0;b<jo.length;b++)p[nr+b]=jo[b];else o.deps=p=jo;if(a9()&&(o.f&Tr)!==0)for(b=nr;b<p.length;b++)((y=p[b]).reactions??(y.reactions=[])).push(o)}else!C&&p!==null&&nr<p.length&&(Og(o,nr),p.length=nr);if(Hk()&&wr!==null&&!ra&&p!==null&&(o.f&(go|qa|so))===0)for(b=0;b<wr.length;b++)p6(wr[b],o);if(n!==null&&n!==o){if(yd++,n.deps!==null)for(let w=0;w<t;w+=1)n.deps[w].rv=yd;if(e!==null)for(const w of e)w.rv=yd;wr!==null&&(i===null?i=wr:i.push(...wr))}return(o.f&vc)!==0&&(o.f^=vc),g}catch(w){return zk(w)}finally{o.f^=Pm,jo=e,nr=t,wr=i,On=n,Va=s,W0(r),ra=a,Od=d}}function jI(o,e){let t=e.reactions;if(t!==null){var i=D7.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&go)!==0&&(jo===null||!Lm.call(jo,e))){var s=e;(s.f&Tr)!==0&&(s.f^=Tr,s.f&=~Fu),s.v!==Js&&t9(s),FI(s),Og(s,0)}}function Og(o,e){var t=o.deps;if(t!==null)for(var i=e;i<t.length;i++)jI(o,t[i])}function V0(o){var e=o.f;if((e&Mr)===0){Hs(o,to);var t=Wn,i=nm;Wn=o,nm=!0;try{(e&(oa|Pk))!==0?zI(o):u9(o),a6(o);var n=x6(o);o.teardown=typeof n=="function"?n:null,o.wv=f6;var s;Fk&&uI&&(o.f&so)!==0&&o.deps}finally{nm=i,Wn=t}}}async function hl(){await Promise.resolve(),mI()}function c(o){var e=o.f,t=(e&go)!==0;if(On!==null&&!ra){var i=Wn!==null&&(Wn.f&Mr)!==0;if(!i&&(Va===null||!Va.has(o))){var n=On.deps;if((On.f&Pm)!==0)o.rv<yd&&(o.rv=yd,jo===null&&n!==null&&n[nr]===o?nr++:jo===null?jo=[o]:jo.push(o));else{On.deps??(On.deps=[]),Lm.call(On.deps,o)||On.deps.push(o);var s=o.reactions;s===null?o.reactions=[On]:Lm.call(s,On)||s.push(On)}}}if(kl&&Md.has(o))return Md.get(o);if(t){var r=o;if(kl){var a=r.v;return((r.f&to)===0&&r.reactions!==null||v6(r))&&(a=o9(r)),Md.set(r,a),a}var d=(r.f&Tr)===0&&!ra&&On!==null&&(nm||(On.f&Tr)!==0),u=(r.f&df)===0;Hp(r)&&(d&&(r.f|=Tr),Xk(r)),d&&!u&&(Yk(r),m6(r))}if(lo!=null&&lo.has(o))return lo.get(o);if((o.f&vc)!==0)throw o.v;return o.v}function m6(o){if(o.f|=Tr,o.deps!==null)for(const e of o.deps)(e.reactions??(e.reactions=[])).push(o),(e.f&go)!==0&&(e.f&Tr)===0&&(Yk(e),m6(e))}function v6(o){if(o.v===Js)return!0;if(o.deps===null)return!1;for(const e of o.deps)if(Md.has(e)||(e.f&go)!==0&&v6(e))return!0;return!1}function Hl(o){var e=ra;try{return ra=!0,o()}finally{ra=e}}const $I=["touchstart","touchmove"];function UI(o){return $I.includes(o)}const wd=Symbol("events"),_6=new Set,E1=new Set;function qI(o,e,t,i={}){function n(s){if(i.capture||y1.call(e,s),!s.cancelBubble)return ab(()=>t==null?void 0:t.call(this,s))}return o.startsWith("pointer")||o.startsWith("touch")||o==="wheel"?_c(()=>{e.addEventListener(o,n,i)}):e.addEventListener(o,n,i),n}function xs(o,e,t,i,n){var s={capture:i,passive:n},r=qI(o,e,t,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&l9(()=>{e.removeEventListener(o,r,s)})}function U(o,e,t){(e[wd]??(e[wd]={}))[o]=t}function Ys(o){for(var e=0;e<o.length;e++)_6.add(o[e]);for(var t of E1)t(o)}let g8=null;function y1(o){var y,w;var e=this,t=e.ownerDocument,i=o.type,n=((y=o.composedPath)==null?void 0:y.call(o))||[],s=n[0]||o.target;g8=o;var r=0,a=g8===o&&o[wd];if(a){var d=n.indexOf(a);if(d!==-1&&(e===document||e===window)){o[wd]=e;return}var u=n.indexOf(e);if(u===-1)return;d<=u&&(r=d)}if(s=n[r]||o.target,s!==e){A7(o,"currentTarget",{configurable:!0,get(){return s||t}});var f=On,g=Wn;Or(null),Ga(null);try{for(var p,C=[];s!==null&&s!==e;){try{var b=(w=s[wd])==null?void 0:w[i];b!=null&&(!s.disabled||o.target===s)&&b.call(s,o)}catch(A){p?C.push(A):p=A}if(o.cancelBubble)break;r++,s=r<n.length?n[r]:null}if(p){for(let A of C)queueMicrotask(()=>{throw A});throw p}}finally{o[wd]=e,delete o.currentTarget,Or(f),Ga(g)}}}var J2;const oC=((J2=globalThis==null?void 0:globalThis.window)==null?void 0:J2.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:o=>o});function GI(o){return(oC==null?void 0:oC.createHTML(o))??o}function b6(o){var e=o6("template");return e.innerHTML=GI(o.replaceAll("<!>","<!---->")),e.content}function Pu(o,e){var t=Wn;t.nodes===null&&(t.nodes={start:o,end:e,a:null,t:null})}function B(o,e){var t=(e&nI)!==0,i=(e&sI)!==0,n,s=!o.startsWith("<!>");return()=>{n===void 0&&(n=b6(s?o:"<!>"+o),t||(n=Na(n)));var r=i||t6?document.importNode(n,!0):n.cloneNode(!0);if(t){var a=Na(r),d=r.lastChild;Pu(a,d)}else Pu(r,r);return r}}function KI(o,e,t="svg"){var i=!o.startsWith("<!>"),n=`<${t}>${i?o:"<!>"+o}</${t}>`,s;return()=>{if(!s){var r=b6(n),a=Na(r);s=Na(a)}var d=s.cloneNode(!0);return Pu(d,d),d}}function C6(o,e){return KI(o,e,"svg")}function Co(o=""){{var e=bl(o+"");return Pu(e,e),e}}function ws(){var o=document.createDocumentFragment(),e=document.createComment(""),t=bl();return o.append(e,t),Pu(e,t),o}function D(o,e){o!==null&&o.before(e)}function W(o,e){var t=e==null?"":typeof e=="object"?`${e}`:e;t!==(o[jf]??(o[jf]=o.nodeValue))&&(o[jf]=t,o.nodeValue=`${t}`)}function ZI(o,e){return XI(o,e)}const mx=new Map;function XI(o,{target:e,anchor:t,props:i={},events:n,context:s,intro:r=!0,transformError:a}){TI();var d=void 0,u=HI(()=>{var f=t??e.appendChild(bl());CI(f,{pending:()=>{}},C=>{js({});var b=fo;s&&(b.c=s),n&&(i.$$events=n),d=o(C,i)||{},$s()},a);var g=new Set,p=C=>{for(var b=0;b<C.length;b++){var y=C[b];if(!g.has(y)){g.add(y);var w=UI(y);for(const M of[e,document]){var A=mx.get(M);A===void 0&&(A=new Map,mx.set(M,A));var P=A.get(y);P===void 0?(M.addEventListener(y,y1,{passive:w}),A.set(y,1)):A.set(y,P+1)}}}};return p(nb(_6)),E1.add(p),()=>{var w;for(var C of g)for(const A of[e,document]){var b=mx.get(A),y=b.get(C);--y==0?(A.removeEventListener(C,y1),b.delete(C),b.size===0&&mx.delete(A)):b.set(C,y)}E1.delete(p),f!==t&&((w=f.parentNode)==null||w.removeChild(f))}});return YI.set(d,u),d}let YI=new WeakMap;var Xr,Ba,rr,Fd,vp,_p,qv;class QI{constructor(e,t=!0){kn(this,"anchor");_n(this,Xr,new Map);_n(this,Ba,new Map);_n(this,rr,new Map);_n(this,Fd,new Set);_n(this,vp,!0);_n(this,_p,e=>{if(ye(this,Xr).has(e)){var t=ye(this,Xr).get(e),i=ye(this,Ba).get(t);if(i)Rm(i),ye(this,Fd).delete(t);else{var n=ye(this,rr).get(t);n&&(Rm(n.effect),ye(this,Ba).set(t,n.effect),ye(this,rr).delete(t),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(const[s,r]of ye(this,Xr)){if(ye(this,Xr).delete(s),s===e)break;const a=ye(this,rr).get(r);a&&(Yo(a.effect),ye(this,rr).delete(r))}for(const[s,r]of ye(this,Ba)){if(s===t||ye(this,Fd).has(s))continue;const a=()=>{if(Array.from(ye(this,Xr).values()).includes(s)){var u=document.createDocumentFragment();h9(r,u),u.append(bl()),ye(this,rr).set(s,{effect:r,fragment:u})}else Yo(r);ye(this,Fd).delete(s),ye(this,Ba).delete(s)};ye(this,vp)||!i?(ye(this,Fd).add(s),Nd(r,a,!1)):a()}}});_n(this,qv,e=>{ye(this,Xr).delete(e);const t=Array.from(ye(this,Xr).values());for(const[i,n]of ye(this,rr))t.includes(i)||(Yo(n.effect),ye(this,rr).delete(i))});this.anchor=e,bn(this,vp,t)}ensure(e,t){var i=on,n=s6();if(t&&!ye(this,Ba).has(e)&&!ye(this,rr).has(e))if(n){var s=document.createDocumentFragment(),r=bl();s.append(r),ye(this,rr).set(e,{effect:kr(()=>t(r)),fragment:s})}else ye(this,Ba).set(e,kr(()=>t(this.anchor)));if(ye(this,Xr).set(i,e),n){for(const[a,d]of ye(this,Ba))a===e?i.unskip_effect(d):i.skip_effect(d);for(const[a,d]of ye(this,rr))a===e?i.unskip_effect(d.effect):i.skip_effect(d.effect);i.oncommit(ye(this,_p)),i.ondiscard(ye(this,qv))}else ye(this,_p).call(this,i)}}Xr=new WeakMap,Ba=new WeakMap,rr=new WeakMap,Fd=new WeakMap,vp=new WeakMap,_p=new WeakMap,qv=new WeakMap;function z(o,e,t=!1){var i=new QI(o),n=t?H0:0;function s(r,a){i.ensure(r,a)}d9(()=>{var r=!1;e((a,d=0)=>{r=!0,s(d,a)}),r||s(-1,null)},n)}function Hi(o,e){return e}function JI(o,e,t){for(var i=[],n=e.length,s,r=e.length,a=0;a<n;a++){let g=e[a];Nd(g,()=>{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var p=o.outrogroups;w1(o,nb(s.done)),p.delete(s),p.size===0&&(o.outrogroups=null)}}else r-=1},!1)}if(r===0){var d=i.length===0&&t!==null;if(d){var u=t,f=u.parentNode;MI(f),f.append(u),o.items.clear()}w1(o,e,!d)}else s={pending:new Set(e),done:new Set},(o.outrogroups??(o.outrogroups=new Set)).add(s)}function w1(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|=Ra;const r=document.createDocumentFragment();h9(s,r)}else Yo(e[n],t)}}var p8;function ti(o,e,t,i,n,s=null){var r=o,a=new Map,d=(e&Mk)!==0;if(d){var u=o;r=u.appendChild(bl())}var f=null,g=s9(()=>{var M=t();return e9(M)?M:M==null?[]:nb(M)}),p,C=new Map,b=!0;function y(M){(P.effect.f&Mr)===0&&(P.pending.delete(M),P.fallback=f,eP(P,p,r,e,i),f!==null&&(p.length===0?(f.f&Ra)===0?Rm(f):(f.f^=Ra,qf(f,null,r)):Nd(f,()=>{f=null})))}function w(M){P.pending.delete(M)}var A=d9(()=>{p=c(g);for(var M=p.length,R=new Set,T=on,V=s6(),H=0;H<M;H+=1){var X=p[H],se=i(X,H),he=b?null:a.get(se);he?(he.v&&z0(he.v,X),he.i&&z0(he.i,H),V&&T.unskip_effect(he.e)):(he=tP(a,b?r:p8??(p8=bl()),X,se,H,n,e,t),b||(he.e.f|=Ra),a.set(se,he)),R.add(se)}if(M===0&&s&&!f&&(b?f=kr(()=>s(r)):(f=kr(()=>s(p8??(p8=bl()))),f.f|=Ra)),M>R.size&&H7(),!b)if(C.set(T,R),V){for(const[J,de]of a)R.has(J)||T.skip_effect(de.e);T.oncommit(y),T.ondiscard(w)}else y(T);c(g)}),P={effect:A,items:a,pending:C,outrogroups:null,fallback:f};b=!1}function Pf(o){for(;o!==null&&(o.f&aa)===0;)o=o.next;return o}function eP(o,e,t,i,n){var he,J,de,we,re,ae,De,Pe,xe;var s=(i&Y7)!==0,r=e.length,a=o.items,d=Pf(o.effect.first),u,f=null,g,p=[],C=[],b,y,w,A;if(s)for(A=0;A<r;A+=1)b=e[A],y=n(b,A),w=a.get(y).e,(w.f&Ra)===0&&((J=(he=w.nodes)==null?void 0:he.a)==null||J.measure(),(g??(g=new Set)).add(w));for(A=0;A<r;A+=1){if(b=e[A],y=n(b,A),w=a.get(y).e,o.outrogroups!==null)for(const Ve of o.outrogroups)Ve.pending.delete(w),Ve.done.delete(w);if((w.f&To)!==0&&(Rm(w),s&&((we=(de=w.nodes)==null?void 0:de.a)==null||we.unfix(),(g??(g=new Set)).delete(w))),(w.f&Ra)!==0)if(w.f^=Ra,w===d)qf(w,null,t);else{var P=f?f.next:d;w===o.effect.last&&(o.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Kl(o,f,w),Kl(o,w,P),qf(w,P,t),f=w,p=[],C=[],d=Pf(f.next);continue}if(w!==d){if(u!==void 0&&u.has(w)){if(p.length<C.length){var M=C[0],R;f=M.prev;var T=p[0],V=p[p.length-1];for(R=0;R<p.length;R+=1)qf(p[R],M,t);for(R=0;R<C.length;R+=1)u.delete(C[R]);Kl(o,T.prev,V.next),Kl(o,f,T),Kl(o,V,M),d=M,f=V,A-=1,p=[],C=[]}else u.delete(w),qf(w,d,t),Kl(o,w.prev,w.next),Kl(o,w,f===null?o.effect.first:f.next),Kl(o,f,w),f=w;continue}for(p=[],C=[];d!==null&&d!==w;)(u??(u=new Set)).add(d),C.push(d),d=Pf(d.next);if(d===null)continue}(w.f&Ra)===0&&p.push(w),f=w,d=Pf(w.next)}if(o.outrogroups!==null){for(const Ve of o.outrogroups)Ve.pending.size===0&&(w1(o,nb(Ve.done)),(re=o.outrogroups)==null||re.delete(Ve));o.outrogroups.size===0&&(o.outrogroups=null)}if(d!==null||u!==void 0){var H=[];if(u!==void 0)for(w of u)(w.f&To)===0&&H.push(w);for(;d!==null;)(d.f&To)===0&&d!==o.fallback&&H.push(d),d=Pf(d.next);var X=H.length;if(X>0){var se=(i&Mk)!==0&&r===0?t:null;if(s){for(A=0;A<X;A+=1)(De=(ae=H[A].nodes)==null?void 0:ae.a)==null||De.measure();for(A=0;A<X;A+=1)(xe=(Pe=H[A].nodes)==null?void 0:Pe.a)==null||xe.fix()}JI(o,H,se)}}s&&_c(()=>{var Ve,ze;if(g!==void 0)for(w of g)(ze=(Ve=w.nodes)==null?void 0:Ve.a)==null||ze.apply()})}function tP(o,e,t,i,n,s,r,a){var d=(r&Z7)!==0?(r&Q7)===0?LI(t,!1,!1):Iu(t):null,u=(r&X7)!==0?Iu(n):null;return{v:d,i:u,e:kr(()=>(s(e,d??t,u??n,a),()=>{o.delete(i)}))}}function qf(o,e,t){if(o.nodes)for(var i=o.nodes.start,n=o.nodes.end,s=e&&(e.f&Ra)===0?e.nodes.start:t;i!==null;){var r=Op(i);if(s.before(i),i===n)return;i=r}}function Kl(o,e,t){e===null?o.effect.first=t:e.next=t,t===null?o.effect.last=e:t.prev=e}function hc(o,e,t=!1,i=!1,n=!1,s=!1){var r=o,a="";if(t)var d=o;j(()=>{var u=Wn;if(a!==(a=e()??"")){if(t){u.nodes=null,d.innerHTML=a,a!==""&&Pu(Na(d),d.lastChild);return}if(u.nodes!==null&&(l6(u.nodes.start,u.nodes.end),u.nodes=null),a!==""){var f=i?oI:n?rI:void 0,g=o6(i?"svg":n?"math":"template",f);g.innerHTML=a;var p=i||n?g:g.content;if(Pu(Na(p),p.lastChild),i||n)for(;Na(p);)r.before(Na(p));else r.before(p)}}})}function E6(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=E6(o[e]))&&(i&&(i+=" "),i+=t)}else for(t in o)o[t]&&(i&&(i+=" "),i+=t);return i}function iP(){for(var o,e,t=0,i="",n=arguments.length;t<n;t++)(o=arguments[t])&&(e=E6(o))&&(i&&(i+=" "),i+=e);return i}function dg(o){return typeof o=="object"?iP(o):o??""}const x8=[...`
3
3
  \r\f \v\uFEFF`];function nP(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||x8.includes(i[r-1]))&&(a===i.length||x8.includes(i[a]))?i=(r===0?"":i.substring(0,r))+i.substring(a+1):r=a}}return i===""?null:i}function m8(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 rC(o){return o[0]!=="-"||o[1]!=="-"?o.toLowerCase():o}function sP(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,d=[];i&&d.push(...Object.keys(i).map(rC)),n&&d.push(...Object.keys(n).map(rC));var u=0,f=-1;const y=o.length;for(var g=0;g<y;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===y-1){if(f!==-1){var C=rC(o.substring(u,f).trim());if(!d.includes(C)){p!==";"&&g++;var b=o.substring(u,g).trim();t+=" "+b+";"}}u=g+1,f=-1}}}}return i&&(t+=m8(i)),n&&(t+=m8(n,!0)),t=t.trim(),t===""?null:t}return o==null?null:String(o)}function Ft(o,e,t,i,n,s){var r=o[g1];if(r!==t||r===void 0){var a=nP(t,i,s);a==null?o.removeAttribute("class"):e?o.className=a:o.setAttribute("class",a),o[g1]=t}else if(s&&n!==s)for(var d in s){var u=!!s[d];(n==null||u!==!!n[d])&&o.classList.toggle(d,u)}return s}function aC(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 Uo(o,e,t,i){var n=o[p1];if(n!==e){var s=sP(e,i);s==null?o.removeAttribute("style"):o.style.cssText=s,o[p1]=e}else i&&(Array.isArray(i)?(aC(o,t==null?void 0:t[0],i[0]),aC(o,t==null?void 0:t[1],i[1],"important")):aC(o,t,i));return i}function Nm(o,e,t=!1){if(o.multiple){if(e==null)return;if(!e9(e))return lI();for(var i of o.options)i.selected=e.includes(ug(i));return}for(i of o.options){var n=ug(i);if(PI(n,e)){i.selected=!0;return}}(!t||e!==void 0)&&(o.selectedIndex=-1)}function S1(o){var e=new MutationObserver(()=>{Nm(o,o.__value)});e.observe(o,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),l9(()=>{e.disconnect()})}function Fs(o,e,t=e){var i=new WeakSet,n=!0;r9(o,"change",s=>{var r=s?"[selected]":":checked",a;if(o.multiple)a=[].map.call(o.querySelectorAll(r),ug);else{var d=o.querySelector(r)??o.querySelector("option:not([disabled])");a=d&&ug(d)}t(a),o.__value=a,on!==null&&i.add(on)}),c9(()=>{var s=e();if(o===document.activeElement){var r=on;if(i.has(r))return}if(Nm(o,s,n),n&&s===void 0){var a=o.querySelector(":checked");a!==null&&(s=ug(a),t(s))}o.__value=s,n=!1}),S1(o)}function ug(o){return"__value"in o?o.__value:o.value}const oP=Symbol("is custom element"),rP=Symbol("is html"),aP=N7?"progress":"PROGRESS";function D1(o,e){var t=f9(o);t.value===(t.value=e??void 0)||o.value===e&&(e!==0||o.nodeName!==aP)||(o.value=e??"")}function Ko(o,e){var t=f9(o);t.checked!==(t.checked=e??void 0)&&(o.checked=e)}function ln(o,e,t,i){var n=f9(o);n[e]!==(n[e]=t)&&(e==="loading"&&(o[R7]=t),t==null?o.removeAttribute(e):typeof t!="string"&&lP(o).includes(e)?o[e]=t:o.setAttribute(e,t))}function f9(o){return o[Qx]??(o[Qx]={[oP]:o.nodeName.includes("-"),[rP]:o.namespaceURI===Rk})}var v8=new Map;function lP(o){var e=o.getAttribute("is")||o.nodeName,t=v8.get(e);if(t)return t;v8.set(e,t=[]);for(var i,n=o,s=Element.prototype;s!==n;){i=k7(n);for(var r in i)i[r].set&&r!=="innerHTML"&&r!=="textContent"&&r!=="innerText"&&t.push(r);n=Lk(n)}return t}function Vt(o,e,t=e){var i=new WeakSet;r9(o,"input",async n=>{var s=n?o.defaultValue:o.value;if(s=lC(o)?cC(s):s,t(s),on!==null&&i.add(on),await hl(),s!==(s=e())){var r=o.selectionStart,a=o.selectionEnd,d=o.value.length;if(o.value=s??"",a!==null){var u=o.value.length;r===a&&a===d&&u>d?(o.selectionStart=u,o.selectionEnd=u):(o.selectionStart=r,o.selectionEnd=Math.min(a,u))}}}),Hl(e)==null&&o.value&&(t(lC(o)?cC(o.value):o.value),on!==null&&i.add(on)),lb(()=>{var n=e();if(o===document.activeElement){var s=on;if(i.has(s))return}lC(o)&&n===cC(o.value)||o.type==="date"&&!n&&!o.value||n!==o.value&&(o.value=n??"")})}function ys(o,e,t=e){r9(o,"change",i=>{var n=i?o.defaultChecked:o.checked;t(n)}),Hl(e)==null&&t(o.checked),lb(()=>{var i=e();o.checked=!!i})}function lC(o){var e=o.type;return e==="number"||e==="range"}function cC(o){return o===""?null:+o}var cc,m0,bp,Gv,y6;const Kv=class Kv{constructor(e){_n(this,Gv);_n(this,cc,new WeakMap);_n(this,m0);_n(this,bp);bn(this,bp,e)}observe(e,t){var i=ye(this,cc).get(e)||new Set;return i.add(t),ye(this,cc).set(e,i),es(this,Gv,y6).call(this).observe(e,ye(this,bp)),()=>{var n=ye(this,cc).get(e);n.delete(t),n.size===0&&(ye(this,cc).delete(e),ye(this,m0).unobserve(e))}}};cc=new WeakMap,m0=new WeakMap,bp=new WeakMap,Gv=new WeakSet,y6=function(){return ye(this,m0)??bn(this,m0,new ResizeObserver(e=>{for(var t of e){Kv.entries.set(t.target,t);for(var i of ye(this,cc).get(t.target)||[])i(t)}}))},kn(Kv,"entries",new WeakMap);let A1=Kv;var cP=new A1({box:"border-box"});function dP(o,e,t){var i=cP.observe(o,()=>t(o[e]));c9(()=>(Hl(()=>t(o[e])),i))}function dC(o,e){return o===e||(o==null?void 0:o[Td])===e}function gs(o={},e,t,i){var n=fo.r,s=Wn;return c9(()=>{var r,a;return lb(()=>{r=a,a=[],Hl(()=>{dC(t(...a),o)||(e(o,...a),r&&dC(t(...r),o)&&e(null,...r))})}),()=>{let d=s;for(;d!==n&&d.parent!==null&&d.parent.f&f1;)d=d.parent;const u=()=>{a&&dC(t(...a),o)&&e(null,...a)},f=d.teardown;d.teardown=()=>{u(),f==null||f()}}}),o}function Tu(o,e,t,i){var R;var n=!0,s=(t&tI)!==0,r=(t&iI)!==0,a=i,d=!0,u=void 0,f=()=>r&&n?(u??(u=Ng(i)),c(u)):(d&&(d=!1,a=r?Hl(i):i),a);let g;if(s){var p=Td in o||M7 in o;g=((R=o0(o,e))==null?void 0:R.set)??(p&&e in o?T=>o[e]=T:void 0)}var C,b=!1;s?[C,b]=gI(()=>o[e]):C=o[e],C===void 0&&i!==void 0&&(C=f(),g&&($7(),g(C)));var y;if(y=()=>{var T=o[e];return T===void 0?f():(d=!0,T)},(t&eI)===0)return y;if(g){var w=o.$$legacy;return(function(T,V){return arguments.length>0?((!V||w||b)&&g(V?y():T),T):y()})}var A=!1,P=((t&J7)!==0?Ng:s9)(()=>(A=!1,y()));s&&c(P);var M=Wn;return(function(T,V){if(arguments.length>0){const H=V?c(P):s?Li(T):T;return m(P,H),A=!0,a!==void 0&&(a=H),T}return kl&&A||(M.f&Mr)!==0?P.v:c(P)})}function Xs(o){fo===null&&Tk(),Kn(()=>{const e=Hl(o);if(typeof e=="function")return e})}function Wp(o){fo===null&&Tk(),Xs(()=>()=>Hl(o))}const uP="5";var eA;typeof window<"u"&&((eA=window.__svelte??(window.__svelte={})).v??(eA.v=new Set)).add(uP);/*!-----------------------------------------------------------------------------
4
4
  * Copyright (c) Microsoft Corporation. All rights reserved.
@@ -10,7 +10,7 @@ var $F=Object.defineProperty;var DS=o=>{throw TypeError(o)};var UF=(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 EP=Object.defineProperty,yP=Object.getOwnPropertyDescriptor,wP=Object.getOwnPropertyNames,SP=Object.prototype.hasOwnProperty,DP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of wP(e))!SP.call(o,n)&&n!==t&&EP(o,n,{get:()=>e[n],enumerable:!(i=yP(e,n))||i.enumerable});return o},AP=(o,e,t)=>(DP(o,e,"default"),t),kP="5.4.5",j0={};AP(j0,iA);var D6=(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))(D6||{}),A6=(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))(A6||{}),k6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(k6||{}),B6=(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))(B6||{}),F6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(F6||{}),L6=class{constructor(o,e,t,i,n){this._onDidChange=new j0.Emitter,this._onDidExtraLibsChange=new j0.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)}},BP=kP,I6={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},P6=new L6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},I6),T6=new L6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},I6),FP=()=>cb().then(o=>o.getTypeScriptWorker()),LP=()=>cb().then(o=>o.getJavaScriptWorker());j0.languages.typescript={ModuleKind:D6,JsxEmit:A6,NewLineKind:k6,ScriptTarget:B6,ModuleResolutionKind:F6,typescriptVersion:BP,typescriptDefaults:P6,javascriptDefaults:T6,getTypeScriptWorker:FP,getJavaScriptWorker:LP};function cb(){return tA(()=>import("./tsMode-CXqG4FL-.js"),__vite__mapDeps([3,1,2]))}j0.languages.onLanguage("typescript",()=>cb().then(o=>o.setupTypeScript(P6)));j0.languages.onLanguage("javascript",()=>cb().then(o=>o.setupJavaScript(T6)));class IP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Di("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Gi.map,toggled:$e.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:$e.has("isInDiffEditor"),menu:{when:$e.has("isInDiffEditor"),id:ri.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class M6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Di("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:$e.has("isInDiffEditor")})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class R6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Di("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:$e.has("isInDiffEditor")})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Vp=Di("diffEditor","Diff Editor");class PP extends la{constructor(){super({id:"diffEditor.switchSide",title:Di("switchSide","Switch Side"),icon:Gi.arrowSwap,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,i){const n=hf(e);if(n instanceof Cp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class TP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:Di("exitCompareMove","Exit Compare Move"),icon:Gi.close,precondition:q.comparingMovedCode,f1:!1,category:Vp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.exitCompareMove()}}class MP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Di("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Gi.fold,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.collapseAllUnchangedRegions()}}class RP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Di("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Gi.unfold,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.showAllUnchangedRegions()}}class k1 extends Do{constructor(){super({id:"diffEditor.revert",title:Di("revert","Revert"),f1:!1,category:Vp})}run(e,t){const i=NP(e,t.originalUri,t.modifiedUri);i instanceof Cp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const N6=Di("accessibleDiffViewer","Accessible Diff Viewer"),Zv=class Zv extends Do{constructor(){super({id:Zv.id,title:Di("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:N6,precondition:$e.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=hf(e);t==null||t.accessibleDiffViewerNext()}};Zv.id="editor.action.accessibleDiffViewer.next";let Hg=Zv;const Xv=class Xv extends Do{constructor(){super({id:Xv.id,title:Di("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:N6,precondition:$e.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=hf(e);t==null||t.accessibleDiffViewerPrev()}};Xv.id="editor.action.accessibleDiffViewer.prev";let Om=Xv;function NP(o,e,t){return o.get(bs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function hf(o){const t=o.get(bs).listDiffEditors(),i=nA();if(i)for(const n of t){const s=n.getContainerDomNode();if(OP(s,i))return n}return null}function OP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}zn(IP);zn(M6);zn(R6);Rr.appendMenuItem(ri.EditorTitle,{command:{id:new R6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:$e.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:$e.has("isInDiffEditor")},order:11,group:"1_diff",when:$e.and(q.diffEditorRenderSideBySideInlineBreakpointReached,$e.has("isInDiffEditor"))});Rr.appendMenuItem(ri.EditorTitle,{command:{id:new M6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Gi.move,toggled:qF.create("config.diffEditor.experimental.showMoves",!0),precondition:$e.has("isInDiffEditor")},order:10,group:"1_diff",when:$e.has("isInDiffEditor")});zn(k1);for(const o of[{icon:Gi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Gi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ri.DiffEditorHunkToolbar,{command:{id:new k1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:$e.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ri.DiffEditorSelectionToolbar,{command:{id:new k1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:$e.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});zn(PP);zn(TP);zn(MP);zn(RP);Rr.appendMenuItem(ri.EditorTitle,{command:{id:Hg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:$e.has("isInDiffEditor")},order:10,group:"2_diff",when:$e.and(q.accessibleDiffViewerVisible.negate(),$e.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",Hg.id);zn(Hg);Qn.registerCommandAlias("editor.action.diffReview.prev",Om.id);zn(Om);var HP=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},WP=function(o,e){return function(t,i){e(t,i,o)}},B1;const db=new Cn("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(B1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=db.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(ji.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new ao().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Nr(S("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(ji.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()}},B1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=B1=HP([WP(1,Fn)],zc);class zP extends bt{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class VP extends bt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:db})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class jP extends bt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:db,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class $P extends bt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:db,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}dn(zc.ID,zc,4);Be(zP);Be(VP);Be(jP);Be($P);const UP=pi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class qP extends bt{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class GP extends bt{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Di("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=Mu.get(t))==null||s.selectToBracket(n)}}class KP extends bt{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class ZP{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ic=class ic extends Nt{static get(e){return e.getContribution(ic.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ps(()=>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 d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new ji(r.lineNumber,r.column,r.lineNumber,r.column):new ji(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,d=null;if(r){r.sort(Q.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new ji(a.lineNumber,a.column,d.lineNumber,d.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 C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(Ai.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new ZP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=xn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(UP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=xn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;dn(Mu.ID,Mu,1);Be(GP);Be(qP);Be(KP);Rr.appendMenuItem(ri.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class XP{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 Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new ji(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new ji(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class O6 extends bt{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 XP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class YP extends O6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class QP extends O6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Be(YP);Be(QP);class JP extends bt{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.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,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Xb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Xb.leftPosition(i,f),p=Xb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new Ep(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Be(JP);const ub=(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 g9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function eT(o,e,t){const i={id:ub(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class H6{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 ml.some(this,([i,n])=>n.asFile())&&t.push("files"),z6(Hm(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 Hm(e)}}function Hm(o){return o.toLowerCase()}function W6(o,e){return z6(Hm(o),e.map(Hm))}function z6(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 hb=Object.freeze({create:o=>sA(o.map(e=>e.toString())).join(`\r
13
+ *-----------------------------------------------------------------------------*/var EP=Object.defineProperty,yP=Object.getOwnPropertyDescriptor,wP=Object.getOwnPropertyNames,SP=Object.prototype.hasOwnProperty,DP=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of wP(e))!SP.call(o,n)&&n!==t&&EP(o,n,{get:()=>e[n],enumerable:!(i=yP(e,n))||i.enumerable});return o},AP=(o,e,t)=>(DP(o,e,"default"),t),kP="5.4.5",j0={};AP(j0,iA);var D6=(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))(D6||{}),A6=(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))(A6||{}),k6=(o=>(o[o.CarriageReturnLineFeed=0]="CarriageReturnLineFeed",o[o.LineFeed=1]="LineFeed",o))(k6||{}),B6=(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))(B6||{}),F6=(o=>(o[o.Classic=1]="Classic",o[o.NodeJs=2]="NodeJs",o))(F6||{}),L6=class{constructor(o,e,t,i,n){this._onDidChange=new j0.Emitter,this._onDidExtraLibsChange=new j0.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)}},BP=kP,I6={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},P6=new L6({allowNonTsExtensions:!0,target:99},{noSemanticValidation:!1,noSyntaxValidation:!1,onlyVisible:!1},{},{},I6),T6=new L6({allowNonTsExtensions:!0,allowJs:!0,target:99},{noSemanticValidation:!0,noSyntaxValidation:!1,onlyVisible:!1},{},{},I6),FP=()=>cb().then(o=>o.getTypeScriptWorker()),LP=()=>cb().then(o=>o.getJavaScriptWorker());j0.languages.typescript={ModuleKind:D6,JsxEmit:A6,NewLineKind:k6,ScriptTarget:B6,ModuleResolutionKind:F6,typescriptVersion:BP,typescriptDefaults:P6,javascriptDefaults:T6,getTypeScriptWorker:FP,getJavaScriptWorker:LP};function cb(){return tA(()=>import("./tsMode-CmjWFZn0.js"),__vite__mapDeps([3,1,2]))}j0.languages.onLanguage("typescript",()=>cb().then(o=>o.setupTypeScript(P6)));j0.languages.onLanguage("javascript",()=>cb().then(o=>o.setupJavaScript(T6)));class IP extends Do{constructor(){super({id:"diffEditor.toggleCollapseUnchangedRegions",title:Di("toggleCollapseUnchangedRegions","Toggle Collapse Unchanged Regions"),icon:Gi.map,toggled:$e.has("config.diffEditor.hideUnchangedRegions.enabled"),precondition:$e.has("isInDiffEditor"),menu:{when:$e.has("isInDiffEditor"),id:ri.EditorTitle,order:22,group:"navigation"}})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.hideUnchangedRegions.enabled");i.updateValue("diffEditor.hideUnchangedRegions.enabled",n)}}class M6 extends Do{constructor(){super({id:"diffEditor.toggleShowMovedCodeBlocks",title:Di("toggleShowMovedCodeBlocks","Toggle Show Moved Code Blocks"),precondition:$e.has("isInDiffEditor")})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.experimental.showMoves");i.updateValue("diffEditor.experimental.showMoves",n)}}class R6 extends Do{constructor(){super({id:"diffEditor.toggleUseInlineViewWhenSpaceIsLimited",title:Di("toggleUseInlineViewWhenSpaceIsLimited","Toggle Use Inline View When Space Is Limited"),precondition:$e.has("isInDiffEditor")})}run(e,...t){const i=e.get(ns),n=!i.getValue("diffEditor.useInlineViewWhenSpaceIsLimited");i.updateValue("diffEditor.useInlineViewWhenSpaceIsLimited",n)}}const Vp=Di("diffEditor","Diff Editor");class PP extends la{constructor(){super({id:"diffEditor.switchSide",title:Di("switchSide","Switch Side"),icon:Gi.arrowSwap,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,i){const n=hf(e);if(n instanceof Cp){if(i&&i.dryRun)return{destinationSelection:n.mapToOtherSide().destinationSelection};n.switchSide()}}}class TP extends la{constructor(){super({id:"diffEditor.exitCompareMove",title:Di("exitCompareMove","Exit Compare Move"),icon:Gi.close,precondition:q.comparingMovedCode,f1:!1,category:Vp,keybinding:{weight:1e4,primary:9}})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.exitCompareMove()}}class MP extends la{constructor(){super({id:"diffEditor.collapseAllUnchangedRegions",title:Di("collapseAllUnchangedRegions","Collapse All Unchanged Regions"),icon:Gi.fold,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.collapseAllUnchangedRegions()}}class RP extends la{constructor(){super({id:"diffEditor.showAllUnchangedRegions",title:Di("showAllUnchangedRegions","Show All Unchanged Regions"),icon:Gi.unfold,precondition:$e.has("isInDiffEditor"),f1:!0,category:Vp})}runEditorCommand(e,t,...i){const n=hf(e);n instanceof Cp&&n.showAllUnchangedRegions()}}class k1 extends Do{constructor(){super({id:"diffEditor.revert",title:Di("revert","Revert"),f1:!1,category:Vp})}run(e,t){const i=NP(e,t.originalUri,t.modifiedUri);i instanceof Cp&&i.revertRangeMappings(t.mapping.innerChanges??[])}}const N6=Di("accessibleDiffViewer","Accessible Diff Viewer"),Zv=class Zv extends Do{constructor(){super({id:Zv.id,title:Di("editor.action.accessibleDiffViewer.next","Go to Next Difference"),category:N6,precondition:$e.has("isInDiffEditor"),keybinding:{primary:65,weight:100},f1:!0})}run(e){const t=hf(e);t==null||t.accessibleDiffViewerNext()}};Zv.id="editor.action.accessibleDiffViewer.next";let Hg=Zv;const Xv=class Xv extends Do{constructor(){super({id:Xv.id,title:Di("editor.action.accessibleDiffViewer.prev","Go to Previous Difference"),category:N6,precondition:$e.has("isInDiffEditor"),keybinding:{primary:1089,weight:100},f1:!0})}run(e){const t=hf(e);t==null||t.accessibleDiffViewerPrev()}};Xv.id="editor.action.accessibleDiffViewer.prev";let Om=Xv;function NP(o,e,t){return o.get(bs).listDiffEditors().find(s=>{var d,u;const r=s.getModifiedEditor(),a=s.getOriginalEditor();return r&&((d=r.getModel())==null?void 0:d.uri.toString())===t.toString()&&a&&((u=a.getModel())==null?void 0:u.uri.toString())===e.toString()})||null}function hf(o){const t=o.get(bs).listDiffEditors(),i=nA();if(i)for(const n of t){const s=n.getContainerDomNode();if(OP(s,i))return n}return null}function OP(o,e){let t=e;for(;t;){if(t===o)return!0;t=t.parentElement}return!1}zn(IP);zn(M6);zn(R6);Rr.appendMenuItem(ri.EditorTitle,{command:{id:new R6().desc.id,title:S("useInlineViewWhenSpaceIsLimited","Use Inline View When Space Is Limited"),toggled:$e.has("config.diffEditor.useInlineViewWhenSpaceIsLimited"),precondition:$e.has("isInDiffEditor")},order:11,group:"1_diff",when:$e.and(q.diffEditorRenderSideBySideInlineBreakpointReached,$e.has("isInDiffEditor"))});Rr.appendMenuItem(ri.EditorTitle,{command:{id:new M6().desc.id,title:S("showMoves","Show Moved Code Blocks"),icon:Gi.move,toggled:qF.create("config.diffEditor.experimental.showMoves",!0),precondition:$e.has("isInDiffEditor")},order:10,group:"1_diff",when:$e.has("isInDiffEditor")});zn(k1);for(const o of[{icon:Gi.arrowRight,key:q.diffEditorInlineMode.toNegated()},{icon:Gi.discard,key:q.diffEditorInlineMode}])Rr.appendMenuItem(ri.DiffEditorHunkToolbar,{command:{id:new k1().desc.id,title:S("revertHunk","Revert Block"),icon:o.icon},when:$e.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"}),Rr.appendMenuItem(ri.DiffEditorSelectionToolbar,{command:{id:new k1().desc.id,title:S("revertSelection","Revert Selection"),icon:o.icon},when:$e.and(q.diffEditorModifiedWritable,o.key),order:5,group:"primary"});zn(PP);zn(TP);zn(MP);zn(RP);Rr.appendMenuItem(ri.EditorTitle,{command:{id:Hg.id,title:S("Open Accessible Diff Viewer","Open Accessible Diff Viewer"),precondition:$e.has("isInDiffEditor")},order:10,group:"2_diff",when:$e.and(q.accessibleDiffViewerVisible.negate(),$e.has("isInDiffEditor"))});Qn.registerCommandAlias("editor.action.diffReview.next",Hg.id);zn(Hg);Qn.registerCommandAlias("editor.action.diffReview.prev",Om.id);zn(Om);var HP=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},WP=function(o,e){return function(t,i){e(t,i,o)}},B1;const db=new Cn("selectionAnchorSet",!1);var Vd;let zc=(Vd=class{static get(e){return e.getContribution(B1.ID)}constructor(e,t){this.editor=e,this.selectionAnchorSetContextKey=db.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(ji.fromPositions(e,e),{description:"selection-anchor",stickiness:1,hoverMessage:new ao().appendText(S("selectionAnchor","Selection Anchor")),className:"selection-anchor"})}),this.selectionAnchorSetContextKey.set(!!this.decorationId),Nr(S("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(ji.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()}},B1=Vd,Vd.ID="editor.contrib.selectionAnchorController",Vd);zc=B1=HP([WP(1,Fn)],zc);class zP extends bt{constructor(){super({id:"editor.action.setSelectionAnchor",label:S("setSelectionAnchor","Set Selection Anchor"),alias:"Set Selection Anchor",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2080),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.setSelectionAnchor()}}class VP extends bt{constructor(){super({id:"editor.action.goToSelectionAnchor",label:S("goToSelectionAnchor","Go to Selection Anchor"),alias:"Go to Selection Anchor",precondition:db})}async run(e,t){var i;(i=zc.get(t))==null||i.goToSelectionAnchor()}}class jP extends bt{constructor(){super({id:"editor.action.selectFromAnchorToCursor",label:S("selectFromAnchorToCursor","Select from Anchor to Cursor"),alias:"Select from Anchor to Cursor",precondition:db,kbOpts:{kbExpr:q.editorTextFocus,primary:Ss(2089,2089),weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.selectFromAnchorToCursor()}}class $P extends bt{constructor(){super({id:"editor.action.cancelSelectionAnchor",label:S("cancelSelectionAnchor","Cancel Selection Anchor"),alias:"Cancel Selection Anchor",precondition:db,kbOpts:{kbExpr:q.editorTextFocus,primary:9,weight:100}})}async run(e,t){var i;(i=zc.get(t))==null||i.cancelSelectionAnchor()}}dn(zc.ID,zc,4);Be(zP);Be(VP);Be(jP);Be($P);const UP=pi("editorOverviewRuler.bracketMatchForeground","#A0A0A0",S("overviewRulerBracketMatchForeground","Overview ruler marker color for matching brackets."));class qP extends bt{constructor(){super({id:"editor.action.jumpToBracket",label:S("smartSelect.jumpBracket","Go to Bracket"),alias:"Go to Bracket",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:3165,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.jumpToBracket()}}class GP extends bt{constructor(){super({id:"editor.action.selectToBracket",label:S("smartSelect.selectToBracket","Select to Bracket"),alias:"Select to Bracket",precondition:void 0,metadata:{description:Di("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=Mu.get(t))==null||s.selectToBracket(n)}}class KP extends bt{constructor(){super({id:"editor.action.removeBrackets",label:S("smartSelect.removeBrackets","Remove Brackets"),alias:"Remove Brackets",precondition:void 0,kbOpts:{kbExpr:q.editorTextFocus,primary:2561,weight:100}})}run(e,t){var i;(i=Mu.get(t))==null||i.removeBrackets(this.id)}}class ZP{constructor(e,t,i){this.position=e,this.brackets=t,this.options=i}}const ic=class ic extends Nt{static get(e){return e.getContribution(ic.ID)}constructor(e){super(),this._editor=e,this._lastBracketsData=[],this._lastVersionId=0,this._decorations=this._editor.createDecorationsCollection(),this._updateBracketsSoon=this._register(new Ps(()=>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 d=e.bracketPairs.findNextBracket(n);d&&d.range&&(r=d.range.getStartPosition())}}return r?new ji(r.lineNumber,r.column,r.lineNumber,r.column):new ji(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,d=null;if(r){r.sort(Q.compareRangesUsingStarts);const[u,f]=r;if(a=e?u.getStartPosition():u.getEndPosition(),d=e?f.getEndPosition():f.getStartPosition(),f.containsPosition(s)){const g=a;a=d,d=g}}a&&d&&i.push(new ji(a.lineNumber,a.column,d.lineNumber,d.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 C=e[g];C.isEmpty()&&(s[r++]=C.getStartPosition())}s.length>1&&s.sort(Ai.compare);const a=[];let d=0,u=0;const f=n.length;for(let g=0,p=s.length;g<p;g++){const C=s[g];for(;u<f&&n[u].position.isBefore(C);)u++;if(u<f&&n[u].position.equals(C))a[d++]=n[u];else{let b=t.bracketPairs.matchBracket(C,20),y=ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER;!b&&this._matchBrackets==="always"&&(b=t.bracketPairs.findEnclosingBrackets(C,20),y=ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER),a[d++]=new ZP(C,b,y)}}this._lastBracketsData=a,this._lastVersionId=i}};ic.ID="editor.contrib.bracketMatchingController",ic._DECORATION_OPTIONS_WITH_OVERVIEW_RULER=xn.register({description:"bracket-match-overview",stickiness:1,className:"bracket-match",overviewRuler:{color:Bs(UP),position:Ha.Center}}),ic._DECORATION_OPTIONS_WITHOUT_OVERVIEW_RULER=xn.register({description:"bracket-match-no-overview",stickiness:1,className:"bracket-match"});let Mu=ic;dn(Mu.ID,Mu,1);Be(GP);Be(qP);Be(KP);Rr.appendMenuItem(ri.MenubarGoMenu,{group:"5_infile_nav",command:{id:"editor.action.jumpToBracket",title:S({key:"miGoToBracket",comment:["&& denotes a mnemonic"]},"Go to &&Bracket")},order:2});class XP{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 Q(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,s,i,s),a)}else{const r=new Q(i,s,i,s+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new Q(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new ji(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new ji(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class O6 extends bt{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 XP(s,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}class YP extends O6{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:S("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:q.writable})}}class QP extends O6{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:S("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:q.writable})}}Be(YP);Be(QP);class JP extends bt{constructor(){super({id:"editor.action.transposeLetters",label:S("transposeLetters.label","Transpose Letters"),alias:"Transpose Letters",precondition:q.writable,kbOpts:{kbExpr:q.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,d=r.startColumn,u=i.getLineMaxColumn(a);if(a===1&&(d===1||d===2&&u===2))continue;const f=d===u?r.getPosition():Xb.rightPosition(i,r.getPosition().lineNumber,r.getPosition().column),g=Xb.leftPosition(i,f),p=Xb.leftPosition(i,g),C=i.getValueInRange(Q.fromPositions(p,g)),b=i.getValueInRange(Q.fromPositions(g,f)),y=Q.fromPositions(p,f);n.push(new Ep(y,b+C))}n.length>0&&(t.pushUndoStop(),t.executeCommands(this.id,n),t.pushUndoStop())}}Be(JP);const ub=(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 g9(o){return{asString:async()=>o,asFile:()=>{},value:typeof o=="string"?o:void 0}}function eT(o,e,t){const i={id:ub(),name:o,uri:e,data:t};return{asString:async()=>"",asFile:()=>i,value:void 0}}class H6{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 ml.some(this,([i,n])=>n.asFile())&&t.push("files"),z6(Hm(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 Hm(e)}}function Hm(o){return o.toLowerCase()}function W6(o,e){return z6(Hm(o),e.map(Hm))}function z6(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 hb=Object.freeze({create:o=>sA(o.map(e=>e.toString())).join(`\r
14
14
  `),split:o=>o.split(`\r
15
15
  `),parse:o=>hb.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 is=wa;const _8={EDITORS:"CodeEditors",FILES:"CodeFiles"};class tT{}const iT={DragAndDropContribution:"workbench.contributions.dragAndDrop"};ca.add(iT.DragAndDropContribution,new tT);const Eg=class Eg{constructor(){}static getInstance(){return Eg.INSTANCE}hasData(e){return e&&e===this.proto}getData(e){if(this.hasData(e))return this.data}};Eg.INSTANCE=new Eg;let F1=Eg;function V6(o){const e=new H6;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,g9(n))}else if(t.kind==="file"){const n=t.getAsFile();n&&e.append(i,nT(n))}}return e}function nT(o){const e=o.path?Vn.parse(o.path):void 0;return eT(o.name,e,async()=>new Uint8Array(await o.arrayBuffer()))}const sT=Object.freeze([_8.EDITORS,_8.FILES,YC.RESOURCES,YC.INTERNAL_URI_LIST]);function j6(o,e=!1){const t=V6(o),i=t.get(YC.INTERNAL_URI_LIST);if(i)t.replace(Zs.uriList,i);else if(e||!t.has(Zs.uriList)){const n=[];for(const s of o.items){const r=s.getAsFile();if(r){const a=r.path;try{a?n.push(Vn.file(a).toString()):n.push(Vn.parse(r.name,!0).toString())}catch{}}}n.length&&t.replace(Zs.uriList,g9(hb.create(n)))}for(const n of sT)t.delete(n);return t}var p9=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},Wg=function(o,e){return function(t,i){e(t,i,o)}};class x9{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 yg=class yg extends x9{constructor(){super(...arguments),this.kind=yg.kind,this.dropMimeTypes=[Zs.text],this.pasteMimeTypes=[Zs.text]}async getEdit(e,t){const i=e.get(Zs.text);if(!i||e.has(Zs.uriList))return;const n=await i.asString();return{handledMimeType:Zs.text,title:S("text.label","Insert Plain Text"),insertText:n,kind:this.kind}}};yg.id="text",yg.kind=new is("text.plain");let Ru=yg;class $6 extends x9{constructor(){super(...arguments),this.kind=new is("uri.absolute"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await U6(e);if(!i.length||t.isCancellationRequested)return;let n=0;const s=i.map(({uri:a,originalText:d})=>a.scheme===bo.file?a.fsPath:(n++,d)).join(" ");let r;return n>0?r=i.length>1?S("defaultDropProvider.uriList.uris","Insert Uris"):S("defaultDropProvider.uriList.uri","Insert Uri"):r=i.length>1?S("defaultDropProvider.uriList.paths","Insert Paths"):S("defaultDropProvider.uriList.path","Insert Path"),{handledMimeType:Zs.uriList,insertText:s,title:r,kind:this.kind}}}let Wm=class extends x9{constructor(e){super(),this._workspaceContextService=e,this.kind=new is("uri.relative"),this.dropMimeTypes=[Zs.uriList],this.pasteMimeTypes=[Zs.uriList]}async getEdit(e,t){const i=await U6(e);if(!i.length||t.isCancellationRequested)return;const n=yl(i.map(({uri:s})=>{const r=this._workspaceContextService.getWorkspaceFolder(s);return r?GF(r.uri,s):void 0}));if(n.length)return{handledMimeType:Zs.uriList,insertText:n.join(" "),title:i.length>1?S("defaultDropProvider.uriList.relativePaths","Insert Relative Paths"):S("defaultDropProvider.uriList.relativePath","Insert Relative Path"),kind:this.kind}}};Wm=p9([Wg(0,k0)],Wm);class oT{constructor(){this.kind=new is("html"),this.pasteMimeTypes=["text/html"],this._yieldTo=[{mimeType:Zs.text}]}async provideDocumentPasteEdits(e,t,i,n,s){var d;if(n.triggerKind!==QC.PasteAs&&!((d=n.only)!=null&&d.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:S("pasteHtmlLabel","Insert HTML"),kind:this.kind}]}}}async function U6(o){const e=o.get(Zs.uriList);if(!e)return[];const t=await e.asString(),i=[];for(const n of hb.parse(t))try{i.push({uri:Vn.parse(n),originalText:n})}catch{}return i}let L1=class extends Nt{constructor(e,t){super(),this._register(e.documentDropEditProvider.register("*",new Ru)),this._register(e.documentDropEditProvider.register("*",new $6)),this._register(e.documentDropEditProvider.register("*",new Wm(t)))}};L1=p9([Wg(0,ki),Wg(1,k0)],L1);let I1=class extends Nt{constructor(e,t){super(),this._register(e.documentPasteEditProvider.register("*",new Ru)),this._register(e.documentPasteEditProvider.register("*",new $6)),this._register(e.documentPasteEditProvider.register("*",new Wm(t))),this._register(e.documentPasteEditProvider.register("*",new oT))}};I1=p9([Wg(0,ki),Wg(1,k0)],I1);const br=class br{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=br._table[i],typeof n=="number")return this.pos+=1,{type:n,pos:e,len:1};if(br.isDigitCharacter(i)){n=8;do t+=1,i=this.value.charCodeAt(e+t);while(br.isDigitCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}if(br.isVariableCharacter(i)){n=9;do i=this.value.charCodeAt(e+ ++t);while(br.isVariableCharacter(i)||br.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 br._table[i]>"u"&&!br.isDigitCharacter(i)&&!br.isVariableCharacter(i));return this.pos+=t,{type:n,pos:e,len:t}}};br._table={36:0,58:1,44:2,123:3,125:4,92:5,47:6,124:7,43:11,45:12,63:13};let P1=br;class ff{constructor(){this._children=[]}appendChild(e){return e instanceof Po&&this._children[this._children.length-1]instanceof Po?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,d){for(const u of a)u.parent=d,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 jp)return e;e=e.parent}}toString(){return this.children.reduce((e,t)=>e+t.toString(),"")}len(){return 0}}let Po=class q6 extends ff{constructor(e){super(),this.value=e}toString(){return this.value}len(){return this.value.length}clone(){return new q6(this.value)}};class G6 extends ff{}class dr extends G6{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 gf?this._children[0]:void 0}clone(){const e=new dr(this.index);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}class gf extends ff{constructor(){super(...arguments),this.options=[]}appendChild(e){return e instanceof Po&&(e.parent=this,this.options.push(e)),this}toString(){return this.options[0].value}len(){return this.options[0].len()}clone(){const e=new gf;return this.options.forEach(e.appendChild,e),e}}class m9 extends ff{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 Yr&&!!s.elseValue)&&(n=this._replace([])),n}_replace(e){let t="";for(const i of this._children)if(i instanceof Yr){let n=e[i.index]||"";n=i.resolve(n),t+=n}else t+=i.toString();return t}toString(){return""}clone(){const e=new m9;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 Yr extends ff{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 Yr(this.index,this.shorthandName,this.ifValue,this.elseValue)}}class zg extends G6{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 Po(t)],!0):!1}clone(){const e=new zg(this.name);return this.transform&&(e.transform=this.transform.clone()),e._children=this.children.map(t=>t.clone()),e}}function b8(o,e){const t=[...o];for(;t.length>0;){const i=t.shift();if(!e(i))break;t.unshift(...i.children)}}class jp extends ff{get placeholderInfo(){if(!this._placeholders){const e=[];let t;this.walk(function(i){return i instanceof dr&&(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 b8([e],i=>(t+=i.len(),!0)),t}enclosingPlaceholders(e){const t=[];let{parent:i}=e;for(;i;)i instanceof dr&&t.push(i),i=i.parent;return t}resolveVariables(e){return this.walk(t=>(t instanceof zg&&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 jp;return this._children=this.children.map(t=>t.clone()),e}walk(e){b8(this.children,e)}}class Nu{constructor(){this._scanner=new P1,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 jp;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(d=>(d instanceof dr&&(d.isFinalTabstop?n.set(0,void 0):!n.has(d.index)&&d.children.length>0?n.set(d.index,d.children):s.push(d)),!0));const r=(d,u)=>{const f=n.get(d.index);if(!f)return;const g=new dr(d.index);g.transform=d.transform;for(const p of f){const C=p.clone();g.appendChild(C),C instanceof dr&&n.has(C.index)&&!u.has(C.index)&&(u.add(C.index),r(C,u),u.delete(C.index))}t.replace(d,[g])},a=new Set;for(const d of s)r(d,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 dr(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 Po(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 dr(Number(t)):new zg(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 dr(Number(t));if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+t+":")),s.children.forEach(e.appendChild,e),!0}else if(s.index>0&&this._accept(7)){const r=new gf;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 Po(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 zg(t);if(this._accept(1))for(;;){if(this._accept(4))return e.appendChild(s),!0;if(!this._parse(s))return e.appendChild(new Po("${"+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 m9;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 Po(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 Yr(Number(n))),!0;if(!this._accept(1))return this._backTo(t),!1}else return e.appendChild(new Yr(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 Yr(Number(n),s)),!0)}else if(this._accept(11)){const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,s,void 0)),!0}else if(this._accept(12)){const s=this._until(4);if(s)return e.appendChild(new Yr(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 Yr(Number(n),void 0,s,r)),!0}}else{const s=this._until(4);if(s)return e.appendChild(new Yr(Number(n),void 0,void 0,s)),!0}return this._backTo(t),!1}_parseAnything(e){return this._token.type!==14?(e.appendChild(new Po(this._scanner.tokenText(this._token))),this._accept(void 0),!0):!1}}function K6(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 KF(o,{range:s,text:typeof t.insertText=="string"?Nu.escape(t.insertText)+"$0":t.insertText.snippet,insertAsSnippet:!0})),...((n=t.additionalEdit)==null?void 0:n.edits)??[]]}}function Z6(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 d of o)if(d!==r&&e(a,d)){let u=t.get(r);u||(u=[],t.set(r,u)),u.push(d)}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 d=[];const u=t.get(a);return u&&(n.push(a),d=s(u),n.pop()),i.add(a),[...d,a,...s(r.slice(1))]}return s(Array.from(o))}var rT=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},aT=function(o,e){return function(t,i){e(t,i,o)}};const lT=xn.register({description:"inline-progress-widget",stickiness:1,showIfCollapsed:!0,after:{content:oA,inlineClassName:"inline-editor-progress-decoration",inlineClassNameAffectsLetterSpacing:!0}}),Yv=class Yv extends Nt{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=gi(".inline-progress-widget"),this.domNode.role="button",this.domNode.title=e;const t=gi("span.icon");this.domNode.append(t),t.classList.add(...Tn.asClassNameArray(Gi.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(Bn(this.domNode,as.CLICK,n=>{this.delegate.cancel()}))}getId(){return Yv.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)}};Yv.baseId="editor.widget.inlineProgressWidget";let T1=Yv,zm=class extends Nt{constructor(e,t,i){super(),this.id=e,this._editor=t,this._instantiationService=i,this._showDelay=500,this._showPromise=this._register(new Qo),this._currentWidget=this._register(new Qo),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=Dg(()=>{const a=Q.fromPositions(e);this._currentDecorations.set([{range:a,options:lT}]).length>0&&(this._currentWidget.value=this._instantiationService.createInstance(T1,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()}};zm=rT([aT(2,nn)],zm);var cT=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},C8=function(o,e){return function(t,i){e(t,i,o)}},sm,Cc;let Mo=(Cc=class{static get(e){return e.getContribution(sm.ID)}constructor(e,t,i){this._openerService=i,this._messageWidget=new Qo,this._messageListeners=new Tt,this._mouseOverMessage=!1,this._editor=e,this._visible=sm.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){Nr(Gx(e)?e.value:e),this._visible.set(!0),this._messageWidget.clear(),this._messageListeners.clear(),this._message=Gx(e)?ZF(e,{actionHandler:{callback:n=>{this.closeMessage(),XF(this._openerService,n,Gx(e)?e.isTrusted:void 0)},disposables:this._messageListeners}}):void 0,this._messageWidget.value=new E8(this._editor,t,typeof e=="string"?e:this._message.element),this._messageListeners.add(Is.debounce(this._editor.onDidBlurEditorText,(n,s)=>s,0)(()=>{this._mouseOverMessage||this._messageWidget.value&&YF(nA(),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(Bn(this._messageWidget.value.getDomNode(),as.MOUSE_ENTER,()=>this._mouseOverMessage=!0,!0)),this._messageListeners.add(Bn(this._messageWidget.value.getDomNode(),as.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 Q(t.lineNumber-3,1,n.target.position.lineNumber+3,1))}))}closeMessage(){this._visible.reset(),this._messageListeners.clear(),this._messageWidget.value&&this._messageListeners.add(E8.fadeOut(this._messageWidget.value))}},sm=Cc,Cc.ID="editor.contrib.messageController",Cc.MESSAGE_VISIBLE=new Cn("messageVisible",!1,S("messageVisible","Whether the editor is currently showing an inline message")),Cc);Mo=sm=cT([C8(1,Fn),C8(2,da)],Mo);const dT=Ao.bindToContribution(Mo.get);Ii(new dT({id:"leaveEditorMessage",precondition:Mo.MESSAGE_VISIBLE,handler:o=>o.closeMessage(),kbOpts:{weight:130,primary:9}}));let E8=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)}};dn(Mo.ID,Mo,4);function uC(o,e){return e&&(o.stack||o.stacktrace)?S("stackTrace.format","{0}: {1}",w8(o),y8(o.stack)||y8(o.stacktrace)):w8(o)}function y8(o){return Array.isArray(o)?o.join(`
16
16
  `):o}function w8(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"?S("nodeExceptionMessage","A system error occurred ({0})",o.message):o.message||S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function Vm(o=null,e=!1){if(!o)return S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(o)){const t=yl(o),i=Vm(t[0],e);return t.length>1?S("error.moreErrors","{0} ({1} errors in total)",i,t.length):i}if(rA(o))return o;if(o.detail){const t=o.detail;if(t.error)return uC(t.error,e);if(t.exception)return uC(t.exception,e)}return o.stack?uC(o,e):o.message?o.message:S("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var X6=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},a0=function(o,e){return function(t,i){e(t,i,o)}},M1,jd;let R1=(jd=class extends Nt{constructor(e,t,i,n,s,r,a,d,u,f){super(),this.typeId=e,this.editor=t,this.showCommand=n,this.range=s,this.edits=r,this.onSelectNewEdit=a,this._contextMenuService=d,this._keybindingService=f,this.allowEditorOverflow=!0,this.suppressMouseDown=!0,this.create(),this.visibleContext=i.bindTo(u),this.visibleContext.set(!0),this._register(ts(()=>this.visibleContext.reset())),this.editor.addContentWidget(this),this.editor.layoutContentWidget(this),this._register(ts((()=>this.editor.removeContentWidget(this)))),this._register(this.editor.onDidChangeCursorPosition(g=>{s.containsPosition(g.position)||this.dispose()})),this._register(Is.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=gi(".post-edit-widget"),this.button=this._register(new QF(this.domNode,{supportIcons:!0})),this.button.label="$(insert)",this._register(Bn(this.domNode,as.CLICK,()=>this.showSelector()))}getId(){return M1.baseId+"."+this.typeId}getDomNode(){return this.domNode}getPosition(){return{position:this.range.getEndPosition(),preference:[2]}}showSelector(){this._contextMenuService.showContextMenu({getAnchor:()=>{const e=yo(this.button.element);return{x:e.left+e.width,y:e.top+e.height}},getActions:()=>this.edits.allEdits.map((e,t)=>JF({id:"",label:e.title,checked:t===this.edits.activeEditIndex,run:()=>{if(t!==this.edits.activeEditIndex)return this.onSelectNewEdit(t)}}))})}},M1=jd,jd.baseId="editor.widget.postEditWidget",jd);R1=M1=X6([a0(7,of),a0(8,Fn),a0(9,Ds)],R1);let jm=class extends Nt{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 Qo),this._register(Is.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 d=async w=>{const A=this._editor.getModel();A&&(await A.undo(),this.applyEditAndShowIfNeeded(e,{activeEditIndex:w,allEdits:t.allEdits},i,n,s))},u=(w,A)=>{qc(w)||(this._notificationService.error(A),i&&this.show(e[0],t,d))};let f;try{f=await n(a,s)}catch(w){return u(w,S("resolveError",`Error resolving edit '{0}':
@@ -149,7 +149,7 @@ $2
149
149
  `),je=[],mt=/```(\w*)\n([\s\S]*?)```/g;let Le=0,He;for(;(He=mt.exec(ce))!==null;)He.index>Le&&je.push({type:"text",text:ce.slice(Le,He.index)}),je.push({type:"code",lang:He[1]||"text",text:He[2].trimEnd()}),Le=He.index+He[0].length;const St=ce.slice(Le),gt=St.match(/```(\w*)\n([\s\S]*)$/);return gt?(gt.index>0&&je.push({type:"text",text:St.slice(0,gt.index)}),je.push({type:"code",lang:gt[1]||"text",text:gt[2]})):St&&je.push({type:"text",text:St}),je}function di(Z){navigator.clipboard.writeText(Z).catch(()=>{})}function ci(Z,ce=!1){var je;ce&&t()&&m(A,t().path,!0),(je=e.onApply)==null||je.call(e,Z)}function xi(Z){return!Z||Z==="js"||Z==="javascript"}function _i(Z){const ce=Z.match(/^\/\/ @new-file:\s*(\S+\.js)[ \t]*\n/);return ce?{filename:ce[1],code:Z.slice(ce[0].length)}:null}function Ke(Z){return Z>=1e9?`${(Z/1e9).toFixed(1)} GB`:Z>=1e6?`${(Z/1e6).toFixed(0)} MB`:Z>=1024?`${(Z/1024).toFixed(1)} kB`:`${Z} B`}async function Ee(){if(m(R,!0),!(c(T)||c(V))){m(V,!0),m(H,"");try{m(T,await gw(c(w)||c(u).model),!0)}catch(Z){m(H,Z.message,!0)}m(V,!1)}}function ii(Z){const ce=Z.match(/\.([^.]+)$/);return ce?ce[1].toUpperCase():"?"}function bi(Z){switch(Z){case"SH":case"BASH":return"$";case"MD":case"MARKDOWN":return"⇓";case"JSON":case"JSONC":return"{}";default:return Z}}function ni(Z){i(i().filter((ce,je)=>je!==Z))}function $i(){De.click()}async function Zi(Z){if(!(!Z||Z.length===0))for(const ce of Array.from(Z)){const je=await ce.text();i([...i(),{name:ce.name,content:je}])}}function wi(Z){const ce=Z.target;Zi(ce.files),ce.value=""}function yn(Z){var ce;Z.preventDefault(),m(ae,!1),Zi(((ce=Z.dataTransfer)==null?void 0:ce.files)??null)}function un(Z){var ce;(ce=Z.dataTransfer)!=null&&ce.types.includes("Files")&&(Z.preventDefault(),m(ae,!0))}function cn(){m(ae,!1)}async function fn(){try{m(C,await J$(),!0)}catch{}}async function ft(){var ce;if(c(n).length===0)return;const Z=((ce=c(n).find(je=>je.role==="user"))==null?void 0:ce.content.slice(0,80))??c(p);try{await eU(c(p),Z,c(n)),await fn()}catch{}}async function Gt(Z){try{const ce=await d2(Z);m(n,ce.messages,!0),m(p,Z,!0),m(b,!1),m(d,"")}catch{}}async function Pi(Z){try{await tU(Z),await fn(),Z===c(p)&&qi()}catch{}}function qi(){m(n,[],!0),m(d,""),m(p,g(),!0),m(b,!1)}Xs(async()=>{yt();try{const Z=await d2(c(p));m(n,Z.messages,!0)}catch{}await fn()});async function Ci(){const Z=c(r).trim();if(!Z||c(a))return;m(r,""),m(d,""),m(a,!0);const ce={role:"user",content:Z};m(n,[...c(n),ce],!0),se=new AbortController,m(Pe,[],!0);try{await _F({messages:c(n),currentScript:c(ot),context:c(ze),modelOverride:c(w)||void 0,extraFiles:i().length>0?i():void 0},je=>{m(s,(c(s)??"")+je)},se.signal,je=>{m(Pe,[...c(Pe),je],!0)}),m(n,[...c(n),{role:"assistant",content:c(s)??"",toolEvents:c(Pe).length>0?[...c(Pe)]:void 0}],!0),m(Pe,[],!0)}catch(je){if(je.name==="AbortError"){const mt=c(s);mt&&mt.trim()&&m(n,[...c(n),{role:"assistant",content:mt+`
150
150
 
151
151
  *[stopped]*`,toolEvents:c(Pe).length>0?[...c(Pe)]:void 0}],!0)}else m(d,je.message,!0)}finally{se=null,m(s,null),m(Pe,[],!0),m(a,!1),ft()}}function Wi(){se==null||se.abort()}function Vi(Z){Z.key==="Enter"&&!Z.shiftKey&&(Z.preventDefault(),Ci())}function Qi(){qi()}const Si=["Explain what this script does","Add error handling","Add a 30-minute schedule before sunrise","Write a new script that forwards MQTT topic A to topic B","Write a new script that turns lights on at sunset"];function it(Z){m(r,Z,!0),xe==null||xe.focus()}var At=PG(),Oi=Et(At),Ti=_(Oi),Bi=v(_(Ti),2);{var Ri=Z=>{var ce=Vq(),je=_(ce);{var mt=St=>{var gt=Co();j(()=>W(gt,`${c(u).provider??""} · ${(c(w)||c(u).model)??""}`)),D(St,gt)},Le=St=>{var gt=Co();j(()=>W(gt,`${c(u).provider??""} · pick a model below`)),D(St,gt)},He=St=>{var gt=Co("Not configured");D(St,gt)};z(je,St=>{c(ht)?St(mt):c(u).provider?St(Le,1):St(He,-1)})}j(()=>ln(ce,"title",`Provider: ${c(u).provider??""}`)),D(Z,ce)};z(Bi,Z=>{c(u)&&Z(Ri)})}var K=v(Bi,2);let Ae;var Xe=v(K,2);{var st=Z=>{var ce=jq();U("click",ce,Qi),D(Z,ce)};z(Xe,Z=>{c(n).length>0&&Z(st)})}var Kt=v(Ti,2);{var si=Z=>{var ce=Gq(),je=_(ce),mt=v(_(je),2),Le=v(je,2);{var He=gt=>{var Ie=$q();D(gt,Ie)},St=gt=>{var Ie=qq();ti(Ie,21,()=>c(C),pe=>pe.id,(pe,Re)=>{var Ne=Uq();let Ue;var rt=_(Ne),qe=_(rt),vt=v(rt,2);j(()=>{Ue=Ft(Ne,1,"history-item svelte-10ayso4",null,Ue,{"history-active":c(Re).id===c(p)}),ln(rt,"title",c(Re).id),W(qe,c(Re).title||c(Re).id)}),U("click",rt,()=>Gt(c(Re).id)),U("click",vt,()=>Pi(c(Re).id)),D(pe,Ne)}),D(gt,Ie)};z(Le,gt=>{c(C).length===0?gt(He):gt(St,-1)})}U("click",mt,qi),D(Z,ce)};z(Kt,Z=>{c(b)&&Z(si)})}var xt=v(Kt,2),dt=_(xt);{var Y=Z=>{var ce=Kq();D(Z,ce)},Te=Z=>{var ce=Yq(),je=_(ce),mt=_(je);{var Le=gt=>{var Ie=Zq(),pe=v(Et(Ie)),Re=_(pe);j(Ne=>W(Re,Ne),[()=>t().path.split("/").pop()]),D(gt,Ie)},He=gt=>{var Ie=Co("No script open. Ask a general she scripting question.");D(gt,Ie)};z(mt,gt=>{t()?gt(Le):gt(He,-1)})}var St=v(je,2);ti(St,17,()=>Si,Hi,(gt,Ie)=>{var pe=Xq(),Re=_(pe);j(()=>W(Re,c(Ie))),U("click",pe,()=>it(c(Ie))),D(gt,pe)}),D(Z,ce)};z(dt,Z=>{c(ve)?c(n).length===0&&c(s)===null&&Z(Te,1):Z(Y)})}var Ye=v(dt,2);ti(Ye,17,()=>c(n),Hi,(Z,ce,je)=>{var mt=rG(),Le=_(mt);{var He=gt=>{var Ie=Qq(),pe=_(Ie);j(()=>W(pe,c(ce).content)),D(gt,Ie)},St=gt=>{const Ie=Lt(()=>Ce(c(ce).content));var pe=oG(),Re=Et(pe);{var Ne=rt=>{var qe=D2();ti(qe,21,()=>c(ce).toolEvents,Hi,(vt,ge)=>{var Oe=ws(),_t=Et(Oe);{var jt=Ni=>{var Mi=w2(),Ji=v(_(Mi),2),Fi=_(Ji),ui=v(Ji,2);{var zt=Wt=>{var oi=y2(),vi=_(oi);j(tn=>W(vi,tn),[()=>Object.entries(c(ge).args).map(([tn,Xi])=>`${tn}=${JSON.stringify(Xi)}`).join(", ")]),D(Wt,oi)},kt=Lt(()=>c(ge).args&&Object.keys(c(ge).args).length>0);z(ui,Wt=>{c(kt)&&Wt(zt)})}j(Wt=>W(Fi,Wt),[()=>c(ge).name.replace(/_/g," ")]),D(Ni,Mi)},Ct=Ni=>{var Mi=S2(),Ji=v(_(Mi),2),Fi=_(Ji);j(ui=>W(Fi,ui),[()=>c(ge).name.replace(/_/g," ")]),D(Ni,Mi)};z(_t,Ni=>{c(ge).type==="tool_call"?Ni(jt):Ni(Ct,-1)})}D(vt,Oe)}),D(rt,qe)};z(Re,rt=>{var qe;(qe=c(ce).toolEvents)!=null&&qe.length&&rt(Ne)})}var Ue=v(Re,2);ti(Ue,21,()=>c(Ie),Hi,(rt,qe,vt)=>{var ge=ws(),Oe=Et(ge);{var _t=Ct=>{var Ni=A2();hc(Ni,()=>Dt(c(qe).text),!0),D(Ct,Ni)},jt=Ct=>{const Ni=Lt(()=>xi(c(qe).lang)?_i(c(qe).text):null),Mi=Lt(()=>c(Ni)?c(Ni).code:c(qe).text),Ji=Lt(()=>`${je}:${vt}`),Fi=Lt(()=>ai(c(Mi))),ui=Lt(()=>c(M).has(c(Ji)));var zt=sG(),kt=_(zt),Wt=_(kt),oi=_(Wt),vi=v(Wt,2),tn=_(vi),Xi=v(tn,2);{var Ln=Jn=>{var Ms=Jq();U("click",Ms,()=>e.onCreateFile(c(Ni).filename,c(Ni).code)),D(Jn,Ms)},Ki=Jn=>{var Ms=iG(),er=Et(Ms),zr=v(er,2);{var Xa=gr=>{var Vr=eG();D(gr,Vr)},zl=gr=>{var Vr=tG();U("click",Vr,()=>ci(c(qe).text,!0)),D(gr,Vr)};z(zr,gr=>{c(P)?gr(Xa):gr(zl,-1)})}U("click",er,()=>ci(c(qe).text)),D(Jn,Ms)},An=Lt(()=>xi(c(qe).lang)&&t());z(Xi,Jn=>{c(Ni)&&e.onCreateFile?Jn(Ln):c(An)&&Jn(Ki,1)})}var qn=v(kt,2);let Mn;var os=_(qn),zi=_(os);hc(zi,()=>nt(c(Mi),c(qe).lang??""),!0);var Gs=v(os,2);{var Nn=Jn=>{var Ms=nG(),er=_(Ms);j(()=>W(er,c(ui)?"▲ collapse":"▼ expand")),U("click",Ms,()=>Ge(c(Ji))),D(Jn,Ms)};z(Gs,Jn=>{c(Fi)&&Jn(Nn)})}j(()=>{W(oi,c(Ni)?`new: ${c(Ni).filename}`:c(qe).lang),Mn=Ft(qn,1,"code-body svelte-10ayso4",null,Mn,{collapsed:c(Fi)&&!c(ui)})}),U("click",tn,()=>di(c(Mi))),D(Ct,zt)};z(Oe,Ct=>{c(qe).type==="text"?Ct(_t):Ct(jt,-1)})}D(rt,ge)}),D(gt,pe)};z(Le,gt=>{c(ce).role==="user"?gt(He):gt(St,-1)})}j(()=>Ft(mt,1,`message ${c(ce).role??""}`,"svelte-10ayso4")),D(Z,mt)});var ke=v(Ye,2);{var It=Z=>{var ce=D2();ti(ce,21,()=>c(Pe),Hi,(je,mt)=>{var Le=ws(),He=Et(Le);{var St=Ie=>{var pe=w2(),Re=v(_(pe),2),Ne=_(Re),Ue=v(Re,2);{var rt=vt=>{var ge=y2(),Oe=_(ge);j(_t=>W(Oe,_t),[()=>Object.entries(c(mt).args).map(([_t,jt])=>`${_t}=${JSON.stringify(jt)}`).join(", ")]),D(vt,ge)},qe=Lt(()=>c(mt).args&&Object.keys(c(mt).args).length>0);z(Ue,vt=>{c(qe)&&vt(rt)})}j(vt=>W(Ne,vt),[()=>c(mt).name.replace(/_/g," ")]),D(Ie,pe)},gt=Ie=>{var pe=S2(),Re=v(_(pe),2),Ne=_(Re);j(Ue=>W(Ne,Ue),[()=>c(mt).name.replace(/_/g," ")]),D(Ie,pe)};z(He,Ie=>{c(mt).type==="tool_call"?Ie(St):Ie(gt,-1)})}D(je,Le)}),D(Z,ce)};z(ke,Z=>{c(Pe).length>0&&Z(It)})}var $t=v(ke,2);{var te=Z=>{var ce=aG(),je=_(ce),mt=_(je),Le=_(mt);j(()=>W(Le,J[c(he)])),D(Z,ce)};z($t,Z=>{c(a)&&c(s)===null&&c(Pe).length===0&&Z(te)})}var Je=v($t,2);{var Pt=Z=>{var ce=cG(),je=_(ce);ti(je,21,()=>Jt(c(s)),Hi,(mt,Le)=>{var He=ws(),St=Et(He);{var gt=pe=>{var Re=A2();hc(Re,()=>Dt(c(Le).text),!0),D(pe,Re)},Ie=pe=>{var Re=lG(),Ne=_(Re),Ue=_(Ne),rt=_(Ue),qe=v(Ne,2),vt=_(qe);hc(vt,()=>nt(c(Le).text,c(Le).lang??""),!0),j(()=>W(rt,c(Le).lang)),D(pe,Re)};z(St,pe=>{c(Le).type==="text"?pe(gt):pe(Ie,-1)})}D(mt,He)}),D(Z,ce)};z(Je,Z=>{c(s)!==null&&Z(Pt)})}gs(xt,Z=>Ve=Z,()=>Ve);var Bt=v(xt,2);{var Ot=Z=>{var ce=dG(),je=_(ce);j(()=>W(je,c(d))),D(Z,ce)};z(Bt,Z=>{c(d)&&Z(Ot)})}var Se=v(Bt,2),Qe=_(Se),Yt=_(Qe),Zt=v(Qe,2),mi=_(Zt),ei=v(Zt,2),fe=_(ei),et=v(fe);{var at=Z=>{const ce=Lt(()=>Math.min(100,Math.round(c(Mt)/4/c(T).contextLength*100)));var je=uG(),mt=_(je),Le=v(_(mt));j((He,St)=>{ln(je,"title",`~${c(ce)??""}% of ${He??""} token context window used`),ln(Le,"stroke",c(ce)>80?"var(--fg-err)":c(ce)>50?"var(--fg-warn)":"var(--fg-ok)"),ln(Le,"stroke-dasharray",`${St??""} 31.4`)},[()=>c(T).contextLength.toLocaleString(),()=>(c(ce)/100*31.4).toFixed(1)]),D(Z,je)};z(et,Z=>{var ce;(ce=c(T))!=null&&ce.contextLength&&Z(at)})}var ct=v(Se,2),Ut=_(ct);{var Ht=Z=>{const ce=Lt(()=>ii(t().path.split("/").pop()??t().path));var je=hG();let mt;var Le=_(je),He=_(Le),St=v(Le,2),gt=_(St),Ie=v(St,2),pe=_(Ie);j((Re,Ne)=>{mt=Ft(je,1,"file-chip svelte-10ayso4",null,mt,{inactive:!c(re)}),Ft(Le,1,`badge badge-${Re??""}`,"svelte-10ayso4"),W(He,Ne),W(gt,t().path),ln(Ie,"title",c(re)?"Remove from context":"Re-add to context"),W(pe,c(re)?"×":"+")},[()=>c(ce).toLowerCase(),()=>bi(c(ce))]),U("click",Ie,()=>m(re,!c(re))),D(Z,je)};z(Ut,Z=>{t()&&Z(Ht)})}var Ei=v(Ut,2);ti(Ei,17,i,Hi,(Z,ce,je)=>{const mt=Lt(()=>ii(c(ce).name));var Le=fG(),He=_(Le),St=_(He),gt=v(He,2),Ie=_(gt),pe=v(gt,2);j((Re,Ne)=>{Ft(He,1,`badge badge-${Re??""}`,"svelte-10ayso4"),W(St,Ne),W(Ie,c(ce).name)},[()=>c(mt).toLowerCase(),()=>bi(c(mt))]),U("click",pe,()=>ni(je)),D(Z,Le)});var I=v(Ei,2),N=v(I,2);gs(N,Z=>De=Z,()=>De);var $=v(ct,2);let oe;var ie=_($);let ne;var le=_(ie);gs(le,Z=>xe=Z,()=>xe);var tt=v(ie,2);{var Fe=Z=>{var ce=gG();U("click",ce,Wi),D(Z,ce)},_e=Z=>{var ce=pG();j(je=>ce.disabled=je,[()=>!c(r).trim()||!c(ht)]),U("click",ce,Ci),D(Z,ce)};z(tt,Z=>{c(a)?Z(Fe):Z(_e,-1)})}var Ze=v($,2);{var Me=Z=>{var ce=bG(),je=_(ce),mt=_(je),Le=v(je,2);{var He=pe=>{var Re=mG();ti(Re,21,()=>c(y),Hi,(Ne,Ue)=>{var rt=xG(),qe=_(rt),vt={};j(()=>{W(qe,c(Ue)),vt!==(vt=c(Ue))&&(rt.value=(rt.__value=c(Ue))??"")}),D(Ne,rt)}),j(()=>Re.disabled=c(a)),Fs(Re,()=>c(w),Ne=>m(w,Ne)),D(pe,Re)},St=pe=>{var Re=vG(),Ne=_(Re);j(()=>W(Ne,c(w)||c(u).model)),D(pe,Re)};z(Le,pe=>{c(y).length>0?pe(He):pe(St,-1)})}var gt=v(Le,2);{var Ie=pe=>{var Re=_G();U("click",Re,Ee),D(pe,Re)};z(gt,pe=>{c(u).provider==="ollama"&&pe(Ie)})}j(()=>W(mt,c(u).provider)),D(Z,ce)};z(Ze,Z=>{var ce;(ce=c(u))!=null&&ce.provider&&(c(ve)||c(y).length>0)&&Z(Me)})}var lt=v(Oi,2);{var Xt=Z=>{var ce=IG(),je=_(ce),mt=_(je),Le=_(mt),He=_(Le),St=v(Le,2),gt=v(mt,2),Ie=_(gt);{var pe=Ue=>{var rt=CG();D(Ue,rt)},Re=Ue=>{var rt=EG(),qe=_(rt);j(()=>W(qe,c(H))),D(Ue,rt)},Ne=Ue=>{var rt=LG(),qe=_(rt);{var vt=kt=>{var Wt=yG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).version)),D(kt,Wt)};z(qe,kt=>{c(T).version&&kt(vt)})}var ge=v(qe,2);{var Oe=kt=>{var Wt=wG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.family)),D(kt,Wt)};z(ge,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.family&&kt(Oe)})}var _t=v(ge,2);{var jt=kt=>{var Wt=SG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.parameter_size)),D(kt,Wt)};z(_t,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.parameter_size&&kt(jt)})}var Ct=v(_t,2);{var Ni=kt=>{var Wt=DG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.quantization_level)),D(kt,Wt)};z(Ct,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.quantization_level&&kt(Ni)})}var Mi=v(Ct,2);{var Ji=kt=>{var Wt=AG(),oi=v(Et(Wt)),vi=_(oi);j(()=>W(vi,c(T).details.format)),D(kt,Wt)};z(Mi,kt=>{var Wt;(Wt=c(T).details)!=null&&Wt.format&&kt(Ji)})}var Fi=v(Mi,2);{var ui=kt=>{var Wt=BG(),oi=v(Et(Wt),2);ti(oi,21,()=>c(T).running,Hi,(vi,tn)=>{var Xi=kG(),Ln=_(Xi);j(Ki=>W(Ln,`${c(tn).name??""} · ${Ki??""} VRAM`),[()=>Ke(c(tn).size_vram)]),D(vi,Xi)}),D(kt,Wt)},zt=kt=>{var Wt=FG();D(kt,Wt)};z(Fi,kt=>{c(T).running&&c(T).running.length>0?kt(ui):c(T).running!==null&&kt(zt,1)})}D(Ue,rt)};z(Ie,Ue=>{c(V)?Ue(pe):c(H)?Ue(Re,1):c(T)&&Ue(Ne,2)})}j(()=>{var Ue;return W(He,`Ollama · ${(c(w)||((Ue=c(u))==null?void 0:Ue.model))??""}`)}),U("click",ce,()=>m(R,!1)),U("click",je,Ue=>Ue.stopPropagation()),U("click",St,()=>m(R,!1)),D(Z,ce)};z(lt,Z=>{c(R)&&Z(Xt)})}j(Z=>{Ae=Ft(K,1,"icon-hdr-btn svelte-10ayso4",null,Ae,{active:c(b)}),W(fe,Z),oe=Ft($,1,"input-row svelte-10ayso4",null,oe,{"drag-over":c(ae)}),ne=Ft(ie,1,"textarea-wrap svelte-10ayso4",null,ne,{loading:c(a)}),ln(le,"placeholder",c(ht)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":c(ve)?"Select a model above to start chatting":"AI not configured"),le.disabled=c(a)||!c(ht)},[()=>Ke(c(Mt))]),U("click",K,()=>m(b,!c(b))),ys(Yt,()=>c(de),Z=>m(de,Z)),ys(mi,()=>c(we),Z=>m(we,Z)),U("click",I,$i),U("change",N,wi),xs("dragover",$,un),xs("dragleave",$,cn),xs("drop",$,yn),U("keydown",le,Vi),Vt(le,()=>c(r),Z=>m(r,Z)),D(o,At),$s()}Ys(["click","change","keydown"]);const MG={OnOff:["onOff","globalSceneControl","onTime","offWaitTime"],LevelControl:["currentLevel","remainingTime","minLevel","maxLevel","currentFrequency","onOffTransitionTime","onLevel"],ColorControl:["currentHue","currentSaturation","remainingTime","currentX","currentY","colorTemperatureMireds","colorMode","colorTempPhysicalMinMireds","colorTempPhysicalMaxMireds"],BasicInformation:["vendorName","vendorId","productName","productId","nodeLabel","location","softwareVersion","softwareVersionString","serialNumber"],Identify:["identifyTime","identifyType"],Groups:["nameSupport"],OccupancySensing:["occupancy","occupancySensorType"],IlluminanceMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance","lightSensorType"],TemperatureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],RelativeHumidityMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue","tolerance"],PressureMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"],Thermostat:["localTemperature","outdoorTemperature","occupiedCoolingSetpoint","occupiedHeatingSetpoint","unoccupiedCoolingSetpoint","unoccupiedHeatingSetpoint","minHeatSetpointLimit","maxHeatSetpointLimit","systemMode","thermostatRunningMode","occupancy"],DoorLock:["lockState","lockType","actuatorEnabled","doorState"],WindowCovering:["type","currentPositionLiftPercent100ths","currentPositionTiltPercent100ths","operationalStatus","targetPositionLiftPercent100ths","targetPositionTiltPercent100ths","endProductType","mode"],FanControl:["fanMode","fanModeSequence","percentSetting","percentCurrent","speedMax","speedSetting","speedCurrent"],Descriptor:["deviceTypeList","serverList","clientList","partsList"],PowerSource:["status","order","description","wiredCurrentType","wiredMaximumCurrent","batteryVoltage","batteryPercentRemaining","batChargeLevel"],Switch:["numberOfPositions","currentPosition","multiPressMax"],BooleanState:["stateValue"],FlowMeasurement:["measuredValue","minMeasuredValue","maxMeasuredValue"]},RG={OnOff:["on","off","toggle"],LevelControl:["moveToLevel","move","step","stop","moveToLevelWithOnOff","moveWithOnOff","stepWithOnOff","stopWithOnOff"],ColorControl:["moveToHue","moveHue","stepHue","moveToSaturation","moveSaturation","stepSaturation","moveToHueAndSaturation","moveToColor","moveColor","stepColor","moveToColorTemperature","moveColorTemperature","stepColorTemperature"],Identify:["identify","triggerEffect"],Groups:["addGroup","viewGroup","getGroupMembership","removeGroup","removeAllGroups","addGroupIfIdentifying"],Thermostat:["setpointRaiseLower","setWeeklySchedule","getWeeklySchedule","clearWeeklySchedule"],DoorLock:["lockDoor","unlockDoor","unlockWithTimeout"],WindowCovering:["upOrOpen","downOrClose","stopMotion","goToLiftValue","goToLiftPercentage","goToTiltValue","goToTiltPercentage"],FanControl:[]};let _w=[],bw=[],Cw=[];const jv=new Map;let HF=[];const Ew=new Map,yw=new Map;async function k2(){try{_w=(await pF()).map(e=>e.topic)}catch{}}async function B2(){try{const[o,e]=await Promise.all([hF(),fF()]);bw=o,Cw=e}catch{}}async function F2(){try{const o=await rS();HF=o.map(e=>e.nodeId),Ew.clear(),yw.clear();for(const e of o)e.name&&(Ew.set(e.nodeId,e.name),yw.set(e.name,e.nodeId));await Promise.all(o.map(async e=>{if(!jv.has(e.nodeId))try{jv.set(e.nodeId,await mm(e.nodeId))}catch{}}))}catch{}}function NG(o){const e=/(?:she\.mqtt\.(?:sub|pub|get|set|link|age|getProp|or|and|max|min|timer)|she\.(?:getValue|setValue|getProp))\s*\([^)]*?['"]([^'"]*)\s*$/,t=o.match(e);if(t)return{type:"mqtt",prefix:t[1]};const i=/she\.db\.sub\s*\([^)]*?['"]([^'"]*)\s*$/,n=o.match(i);if(n)return{type:"db",prefix:n[1],includeViews:!0};const s=/she\.db\.(?:get|set|extend|delete|prop|query)\s*\([^)]*?['"]([^'"]*)\s*$/,r=o.match(s);if(r)return{type:"db",prefix:r[1],includeViews:!1};const a=/she\.matter\.(?:sub|get|send|on)\s*\(\s*(.*)\s*$/,d=o.match(a);if(d){const u=d[1],f=OG(u),g=HG(u);if(f===0)return{type:"matter-nodeId",prefix:g};if(f===1){const p=Ih(u,0);if(p)return{type:"matter-endpointId",nodeId:p}}if(f===2){const p=Ih(u,0),C=L2(u,1)??Ih(u,1);if(p&&C!==null)return{type:"matter-cluster",nodeId:p,endpointId:C}}if(f>=3){const p=Ih(u,0),C=L2(u,1)??Ih(u,1),b=Ih(u,2),y=/she\.matter\.send\s*\(/.test(o);if(p&&C!==null&&b)return{type:"matter-attr",nodeId:p,endpointId:C,cluster:b,isSend:y}}}return null}function OG(o){let e=0,t=0,i=!1,n="";for(const s of o){if(i){s===n&&(i=!1);continue}if(s==='"'||s==="'"){i=!0,n=s;continue}if(s==="("||s==="["||s==="{"){e++;continue}if(s===")"||s==="]"||s==="}"){e--;continue}s===","&&e===0&&t++}return t}function HG(o){const e=o.match(/['"]([^'"]*)\s*$/);return e?e[1]:""}function Ih(o,e){var s;const i=(s=WF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=i.match(/^['"](.*)['"]$/);return n?n[1]:null}function L2(o,e){var s;const i=(s=WF(o)[e])==null?void 0:s.trim();if(!i)return null;const n=parseInt(i,10);return isNaN(n)?null:n}function WF(o){const e=[];let t="",i=0,n=!1,s="";for(const r of o){if(n){r===s&&(n=!1),t+=r;continue}if(r==='"'||r==="'"){n=!0,s=r,t+=r;continue}if(r==="("||r==="["||r==="{"){i++,t+=r;continue}if(r===")"||r==="]"||r==="}"){i--,t+=r;continue}if(r===","&&i===0){e.push(t),t="";continue}t+=r}return e.push(t),e}const Ku=md.CompletionItemKind;function WG(o,e){return(e?_w.filter(i=>i.startsWith(e)):_w).map(i=>({label:i,kind:Ku.Value,insertText:i,range:o,detail:"MQTT topic",sortText:"0"+i}))}function zG(o,e,t){const i=t?[...bw,...Cw]:bw;return(e?i.filter(s=>s.startsWith(e)):i).map(s=>({label:s,kind:Ku.Value,insertText:s,range:o,detail:Cw.includes(s)?"sheDB view":"sheDB document",sortText:"0"+s}))}function VG(o,e){return HF.map(t=>{const i=Ew.get(t)??t;return e&&!i.startsWith(e)&&!t.startsWith(e)?null:{label:i,kind:Ku.Value,insertText:i,range:o,detail:i!==t?`Node ID: ${t}`:"Matter node",sortText:"0"+i}}).filter(Boolean)}function zF(o){return yw.get(o)??o}function jG(o,e){if(typeof e=="number")return o.endpoints.find(i=>i.endpointId===e);const t=parseInt(e,10);return isNaN(t)?o.endpoints.find(i=>i.name===e):o.endpoints.find(i=>i.endpointId===t)}function $G(o,e){const t=jv.get(zF(e));return t?t.endpoints.map(i=>{const n=i.name??String(i.endpointId),s=i.clusters.map(r=>r.name).join(", ");return{label:n,kind:Ku.Value,insertText:n,range:o,detail:i.name?`Endpoint ${i.endpointId} — ${s}`:`Clusters: ${s}`,sortText:"0"+String(i.endpointId).padStart(4,"0")}}):[]}function UG(o,e,t){const i=jv.get(zF(e));if(!i)return[];const n=jG(i,t);return n?n.clusters.map(s=>({label:s.name,kind:Ku.Value,insertText:s.name,range:o,detail:"Matter cluster",sortText:"0"+s.name})):[]}function qG(o,e,t){return(t?RG[e]??[]:MG[e]??[]).map(n=>({label:n,kind:t?Ku.Function:Ku.Property,insertText:n,range:o,detail:t?`${e} command`:`${e} attribute`,sortText:"0"+n}))}let I2=!1;function GG(){I2||(I2=!0,k2(),B2(),F2(),setInterval(k2,15e3),setInterval(B2,1e4),setInterval(F2,6e4),md.registerCompletionItemProvider("javascript",{triggerCharacters:["'",'"',"(",","," "],provideCompletionItems(o,e){const t=o.getValueInRange({startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),i=NG(t);if(!i)return null;const n=o.getWordUntilPosition(e),s=Math.max(t.lastIndexOf("'"),t.lastIndexOf('"')),r=s>=0?s+2:n.startColumn,a={startLineNumber:e.lineNumber,endLineNumber:e.lineNumber,startColumn:r,endColumn:e.column};switch(i.type){case"mqtt":return{suggestions:WG(a,i.prefix)};case"db":return{suggestions:zG(a,i.prefix,i.includeViews)};case"matter-nodeId":return{suggestions:VG(a,i.prefix)};case"matter-endpointId":return{suggestions:$G(a,i.nodeId)};case"matter-cluster":return{suggestions:UG(a,i.nodeId,i.endpointId)};case"matter-attr":return{suggestions:qG(a,i.cluster,i.isSend)};default:return null}}}))}var KG=B('<button class="svelte-1pyfjii">New file here</button> <button class="svelte-1pyfjii">New subfolder here</button> <hr class="svelte-1pyfjii"/> <button class="svelte-1pyfjii">Rename folder…</button> <button class="danger svelte-1pyfjii">Delete folder…</button>',1),ZG=B('<button class="svelte-1pyfjii">Show git history</button>'),XG=B('<button class="svelte-1pyfjii">Open</button> <button class="svelte-1pyfjii">Rename…</button> <button class="svelte-1pyfjii">Add to AI context</button> <!> <hr class="svelte-1pyfjii"/> <button class="danger svelte-1pyfjii">Delete</button>',1),YG=B('<div class="ctx-backdrop svelte-1pyfjii" role="presentation"></div> <div class="ctx-menu svelte-1pyfjii"><!></div>',1),QG=B('<div class="lib-tip-float svelte-1pyfjii">Library directory — files here are not auto-loaded as scripts</div>'),P2=B('<span class="git-mod svelte-1pyfjii" title="Uncommitted changes">M</span>'),JG=B('<ul class="tree-children svelte-1pyfjii"></ul>'),eK=B('<li class="tree-dir svelte-1pyfjii"><div role="treeitem" tabindex="-1" draggable="true"><button>›</button> <span role="button" tabindex="0"> </span> <!> <label class="lib-label svelte-1pyfjii" title="Library directory — files here are not auto-loaded as scripts"><input type="checkbox" class="svelte-1pyfjii"/> <span class="lib-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H3V3z"></path><line x1="3" y1="12" x2="13" y2="12"></line><line x1="6" y1="3" x2="6" y2="12"></line></svg></label> <label class="dis-label svelte-1pyfjii" title="Disable — scripts in this folder will not be executed"><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label></div> <!></li>'),tK=B('<span class="dirty-dot svelte-1pyfjii">●</span>'),iK=B('<span class="run-dot svelte-1pyfjii" title="Running">●</span>'),nK=B('<span class="err-dot svelte-1pyfjii">●</span>'),sK=B('<label><input type="checkbox" class="svelte-1pyfjii"/> <span class="dis-checkmark svelte-1pyfjii"></span> <svg width="11" height="11" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" aria-hidden="true"><circle cx="8" cy="8" r="6"></circle><line x1="3.8" y1="12.2" x2="12.2" y2="3.8"></line></svg></label>'),oK=B('<span class="dis-spacer svelte-1pyfjii"></span>'),rK=B('<li draggable="true"><div class="file-row svelte-1pyfjii"><button><span> </span> <span class="fname svelte-1pyfjii"> </span> <!><!> <!> <!></button> <!></div></li>'),aK=B('<div class="err svelte-1pyfjii"> </div>'),lK=B('<button title="Case sensitive">Aa</button> <button title="Use regex">.*</button> <button title="Replace">⇄</button>',1),cK=B('<div class="search-input-row svelte-1pyfjii"><input placeholder="Replace with…" class="svelte-1pyfjii"/> <button class="svelte-1pyfjii"> </button></div>'),dK=B('<div class="search-status svelte-1pyfjii">Searching…</div>'),uK=B('<div class="search-status search-err svelte-1pyfjii"> </div>'),hK=B('<div class="search-status svelte-1pyfjii">No results.</div>'),fK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 500 matches.</div>'),gK=B('<button class="search-match-row svelte-1pyfjii"><span class="search-lnum svelte-1pyfjii"> </span> <span class="search-preview svelte-1pyfjii"> </span></button>'),pK=B('<div class="search-file-group svelte-1pyfjii"><button class="search-file-btn svelte-1pyfjii"><span class="search-fname svelte-1pyfjii"> </span> <span class="search-fcount svelte-1pyfjii"> </span></button> <!></div>'),qC=B("<!> <!>",1),xK=B('<div class="search-status svelte-1pyfjii">No files found.</div>'),mK=B('<div class="search-status search-trunc svelte-1pyfjii">Showing first 200 results.</div>'),vK=B('<button class="search-match-row search-file-result svelte-1pyfjii"><span class="search-preview svelte-1pyfjii"> </span></button>'),_K=B('<label class="replace-item svelte-1pyfjii"><input type="checkbox"/> <span class="replace-item-path svelte-1pyfjii"> </span> <span class="replace-item-n svelte-1pyfjii"> </span></label>'),bK=B('<div class="replace-confirm svelte-1pyfjii"><div class="replace-confirm-hdr svelte-1pyfjii"><span> </span> <div class="replace-confirm-btns svelte-1pyfjii"><button class="svelte-1pyfjii">Apply</button> <button class="svelte-1pyfjii">Cancel</button></div></div> <div class="replace-confirm-list svelte-1pyfjii"></div></div>'),CK=B('<div class="search-panel svelte-1pyfjii"><div class="search-mode-bar svelte-1pyfjii"><button>Text</button> <button>Files</button> <button class="search-close-btn svelte-1pyfjii" title="Close">×</button></div> <div class="search-input-row svelte-1pyfjii"><input class="svelte-1pyfjii"/> <!></div> <!> <div class="search-results svelte-1pyfjii"><!></div> <!></div>'),EK=B('<div class="history-empty svelte-1pyfjii">Loading…</div>'),yK=B('<div class="history-empty svelte-1pyfjii">No commits found.</div>'),wK=B('<button class="history-row svelte-1pyfjii"><span class="history-subject svelte-1pyfjii"> </span> <span class="history-meta svelte-1pyfjii"> </span></button>'),SK=B('<button class="history-load-more svelte-1pyfjii"> </button>'),DK=B('<div class="history-panel svelte-1pyfjii"><div class="history-resize-handle svelte-1pyfjii" role="separator"></div> <div class="history-hdr svelte-1pyfjii"><span class="history-title svelte-1pyfjii"> </span> <button class="history-close svelte-1pyfjii">✕</button></div> <div class="history-body svelte-1pyfjii"><!></div></div>'),AK=B('<span class="tab-dirty svelte-1pyfjii">●</span>'),kK=B('<div role="tab" tabindex="0"><span class="tab-label svelte-1pyfjii"> </span> <!> <button class="tab-close svelte-1pyfjii" title="Close">×</button></div>'),BK=B('<div class="tab-bar-wrap svelte-1pyfjii"><button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs left">‹</button> <div class="tab-bar svelte-1pyfjii" role="tablist"></div> <button class="tab-scroll-btn svelte-1pyfjii" aria-label="Scroll tabs right">›</button></div>'),FK=B('<li class="changes-item svelte-1pyfjii"><input type="checkbox" class="changes-check svelte-1pyfjii"/> <span class="changes-status svelte-1pyfjii"> </span> <span class="changes-file svelte-1pyfjii"> </span></li>'),LK=B('<div class="changes-err svelte-1pyfjii"> </div>'),IK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii">Uncommitted changes</div> <ul class="changes-list svelte-1pyfjii"></ul> <div class="changes-commit-row svelte-1pyfjii"><input class="changes-msg-input svelte-1pyfjii" type="text" placeholder="Commit message…"/> <button class="changes-commit-btn svelte-1pyfjii"> </button></div> <!></div>',1),PK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-changes svelte-1pyfjii"> </button> <!></div>'),TK=B('<div class="changes-backdrop svelte-1pyfjii" role="presentation"></div> <div class="changes-popup svelte-1pyfjii"><div class="changes-popup-hdr svelte-1pyfjii"> </div> <div class="changes-commit-row svelte-1pyfjii"><button class="changes-commit-btn svelte-1pyfjii">Push</button></div></div>',1),MK=B('<div class="changes-wrap svelte-1pyfjii"><button class="git-ahead svelte-1pyfjii"> </button> <!></div>'),RK=B('<span class="git-behind svelte-1pyfjii"> </span>'),NK=B('<span class="git-status svelte-1pyfjii"><span class="git-branch svelte-1pyfjii"> </span> <!> <!> <!></span>'),OK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><button class="svelte-1pyfjii">Save</button> <button class="svelte-1pyfjii">Save &amp; Commit</button></div>',1),HK=B('<button class="danger svelte-1pyfjii">Delete</button>'),WK=B(`<div class="welcome svelte-1pyfjii"><div class="welcome-inner svelte-1pyfjii"><div class="welcome-logo svelte-1pyfjii">she</div> <p class="welcome-sub svelte-1pyfjii">Smart Home Engine — a scriptable smart home automation engine</p> <div class="welcome-hint svelte-1pyfjii"><strong>Quick start:</strong> click <kbd class="svelte-1pyfjii">+ File</kbd> in the sidebar to create your first script,
152
- or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md#documentation" target="_blank" rel="noopener" class="svelte-1pyfjii">Documentation</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find &amp; Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),zK=B('<button class="svelte-1pyfjii">Always accept in this session</button>'),VK=B('<button class="svelte-1pyfjii">Disable auto-accept</button>'),jK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),$K=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),UK=B('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),qK=B('<div class="diff-container svelte-1pyfjii"></div>'),GK=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),KK=B('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),ZK=B('<span class="log-file svelte-1pyfjii"> </span>'),XK=B("<option> </option>"),YK=B('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),QK=B('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),JK=B('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),eZ=B('<div class="log-body svelte-1pyfjii"><!> <!></div>'),tZ=B('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),iZ=B('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Find in files / Find files (Ctrl+Shift+F)">&#x2315;</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <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></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function nZ(o,e){js(e,!0);let t=F(Li([])),i=F(Li({})),n=F(null),s=F(null),r=F(null),a=F(null),d=F(Li([])),u=F(null),f=F(!1),g=F(""),p=F(!1),C=F(!0),b=F(null),y=F(!1),w=F(!1),A=F(null),P=F(Li([])),M=F(!1),R=F(30),T=F(void 0),V=null,H=null,X=null,se=F(!1),he=F(""),J=F(!1),de=F(void 0),we=F(Li(new Set));const re=new Set;let ae=F(Li(new Set)),De=F(Li([])),Pe=F(!1),xe=F("text"),Ve=F(""),ze=F(!1),ve=F(!1),ht=F(!1),Mt=F(""),ot=F(Li([])),yt=F(Li([])),Ce=F(!1),Rt=F(!1),ai=F(""),Ge=F(void 0),nt=F(Li([])),Dt=F(!1),Jt=F(!1),di=null,ci=F(void 0),xi=F(!1),_i=F(!1),Ke=null;function Ee(){c(ci)&&(m(xi,c(ci).scrollLeft>0),m(_i,c(ci).scrollLeft+c(ci).clientWidth<c(ci).scrollWidth-1))}function ii(G){var ue;(ue=c(ci))==null||ue.scrollBy({left:G*200,behavior:"smooth"})}function bi(G="text"){m(Pe,!0),m(xe,G,!0),hl().then(()=>{var ue;return(ue=c(Ge))==null?void 0:ue.focus()})}function ni(){m(Pe,!1),m(Ve,""),m(ot,[],!0),m(yt,[],!0),m(Ce,!1),m(ai,""),m(ht,!1),m(Dt,!1)}function $i(){di&&clearTimeout(di),di=setTimeout(Zi,300)}async function Zi(){const G=c(Ve).trim();if(!G){m(ot,[],!0),m(yt,[],!0),m(Ce,!1),m(ai,"");return}m(Rt,!0),m(ai,"");try{if(c(xe)==="files"){const ue=await s2(G,{mode:"files"});m(yt,ue.results,!0),m(Ce,ue.truncated,!0)}else{const ue=await s2(G,{regex:c(ve),caseSensitive:c(ze)});m(ot,ue.results,!0),m(Ce,ue.truncated,!0)}}catch(ue){m(ai,ue.message||"Search failed",!0)}finally{m(Rt,!1)}}async function wi(G,ue){await St(G),At&&(At.revealLineInCenter(ue.line),At.setPosition({lineNumber:ue.line,column:ue.col}),At.focus())}function yn(G){return G.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function un(){if(!c(Ve).trim()||!c(ot).length)return;m(Jt,!0);const G=[],ue="g"+(c(ze)?"":"i");for(const ut of c(ot))try{const pt=await Wx(ut.path),We=c(ve)?new RegExp(c(Ve),ue):new RegExp(yn(c(Ve)),ue),Qt=pt.content.replace(We,c(Mt));Qt!==pt.content&&G.push({path:ut.path,checked:!0,original:pt.content,replaced:Qt,changes:ut.matches.length})}catch{}m(nt,G,!0),m(Jt,!1),m(Dt,!0)}async function cn(){for(const G of c(nt).filter(ue=>ue.checked))try{await Ql(G.path,G.replaced);const ue=c(d).find(ut=>ut.path===G.path);ue!=null&&ue.model&&(ue.model.setValue(G.replaced),ue.savedContent=G.replaced,ue.dirty=!1)}catch{}m(Dt,!1),await Zi()}function fn(G){G.ctrlKey&&G.shiftKey&&G.key==="F"&&(G.preventDefault(),c(Pe)&&c(xe)==="text"?ni():bi("text"))}Kn(()=>{c(ci)&&(Ke==null||Ke.disconnect(),Ke=new ResizeObserver(Ee),Ke.observe(c(ci)),Ee())});let ft=F("all"),Gt=F(""),Pi=F(!1);const qi=["all","debug","info","warn","error"],Ci={debug:0,info:1,warn:2,error:3};function Wi(G){if(c(ft)!=="all"&&Ci[G.level]<Ci[c(ft)])return!1;if(!c(Gt))return!0;if(c(Pi))try{return new RegExp(c(Gt),"i").test(G.msg)}catch{}return G.msg.toLowerCase().includes(c(Gt).toLowerCase())}let Vi=F(null);function Qi(G){const ue=G.currentTarget.getBoundingClientRect();m(Vi,{x:ue.left,y:ue.top},!0)}function Si(){m(Vi,null)}let it,At,Oi,Ti=!1,Bi=null,Ri=null,K=!1,Ae=!1,Xe=F(!1),st=F(null),Kt=F(!1),si=F(!1),xt=F(void 0),dt=null,Y=null,Te=null,Ye=F(Li(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),ke=F(Li(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),It=F(Li(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),$t=F(Li(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),te=!1,Je=0,Pt=0,Bt=!1,Ot=0,Se=0,Qe=!1,Yt=0,Zt=0,mi=!1,ei=0,fe=0;const et=Lt(()=>{var G;return c(u)&&c(le)?{path:c(u),content:((G=c(le).model)==null?void 0:G.getValue())??c(le).savedContent}:null}),at=Lt(()=>{var G;return new Set(((G=c(b))==null?void 0:G.changes.map(ue=>ue.file))??[])}),ct=Lt(()=>{const G=new Set;for(const ue of c(at)){const ut=ue.split("/");for(let pt=1;pt<ut.length;pt++)G.add(ut.slice(0,pt).join("/"))}return G});let Ut=F(!1),Ht=F(!1),Ei=F(""),I=F(!1),N=F(""),$=F(Li(new Set));async function oe(){var G;if(!(!c(Ei).trim()||c($).size===0)){m(I,!0),m(N,"");try{const ue=c(b).changes.filter(ut=>c($).has(ut.file)).map(ut=>ut.file);if(ue.length===c(b).changes.length?await a2(c(Ei).trim()):await r2(ue,c(Ei).trim()),c(w))try{await Vx()}catch{}m(Ei,""),await pe(),(G=c(b))!=null&&G.changes.length?m($,new Set(c(b).changes.map(ut=>ut.file)),!0):m(Ut,!1)}catch(ue){m(N,ue.message,!0)}finally{m(I,!1)}}}let ie,ne,le=Lt(()=>c(d).find(G=>G.path===c(u))??null);const tt="she-tabs",Fe="she-active-tab",_e="she-log-open",Ze="she-chat-open";let Me=Tu(e,"active",3,!0);Kn(()=>{Ae&&(localStorage.setItem(tt,JSON.stringify(c(d).map(G=>G.path))),c(u)?localStorage.setItem(Fe,c(u)):localStorage.removeItem(Fe))}),Kn(()=>{Ae&&localStorage.setItem(Ze,String(c(Xe)))}),Kn(()=>{Me()&&At&&At.layout()});const lt=`
152
+ or click an existing file to open it. Scripts run in a sandboxed VM with access to the <code class="svelte-1pyfjii">she</code> object for MQTT, scheduling, and more.</div> <div class="welcome-links svelte-1pyfjii"><a href="https://github.com/hobbyquaker/she" target="_blank" rel="noopener" class="svelte-1pyfjii">GitHub</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/doc/sandbox-api.md" target="_blank" rel="noopener" class="svelte-1pyfjii">API reference</a> <span class="svelte-1pyfjii">·</span> <a href="https://github.com/hobbyquaker/she/blob/main/README.md#Documentation" target="_blank" rel="noopener" class="svelte-1pyfjii">Documentation</a></div> <div class="welcome-shortcuts svelte-1pyfjii"><div class="welcome-shortcuts-title svelte-1pyfjii">Keyboard shortcuts</div> <div class="welcome-shortcuts-grid svelte-1pyfjii"><span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">S</kbd></span><span class="svelte-1pyfjii">Save</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">F</kbd></span><span class="svelte-1pyfjii">Find</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">H</kbd></span><span class="svelte-1pyfjii">Find &amp; Replace</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">G</kbd></span><span class="svelte-1pyfjii">Go to line</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Undo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">Shift</kbd><kbd class="svelte-1pyfjii">Z</kbd></span><span class="svelte-1pyfjii">Redo</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Ctrl</kbd><kbd class="svelte-1pyfjii">/</kbd></span><span class="svelte-1pyfjii">Toggle comment</span> <span class="keys svelte-1pyfjii"><kbd class="svelte-1pyfjii">Alt</kbd><kbd class="svelte-1pyfjii">↑ / ↓</kbd></span><span class="svelte-1pyfjii">Move line up / down</span></div></div></div></div>`),zK=B('<button class="svelte-1pyfjii">Always accept in this session</button>'),VK=B('<button class="svelte-1pyfjii">Disable auto-accept</button>'),jK=B('<div class="split-backdrop svelte-1pyfjii" role="presentation"></div> <div class="split-menu svelte-1pyfjii"><!></div>',1),$K=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Proposed changes — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><div class="split-wrap svelte-1pyfjii"><div class="split-btn accept-split svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Accept options">▾</button></div> <!></div> <button class="discard-btn svelte-1pyfjii">Discard</button></div></div> <div class="diff-container svelte-1pyfjii"></div></div>'),UK=B('<div class="history-diff-notice svelte-1pyfjii">Binary file — diff not available.</div>'),qK=B('<div class="diff-container svelte-1pyfjii"></div>'),GK=B('<div class="diff-overlay svelte-1pyfjii"><div class="diff-bar svelte-1pyfjii"><span class="diff-title svelte-1pyfjii">Commit <code> </code> → current — <em class="svelte-1pyfjii"> </em></span> <div class="diff-actions svelte-1pyfjii"><button class="discard-btn svelte-1pyfjii">Close</button></div></div> <!></div>'),KK=B('<div class="log-resize-handle svelte-1pyfjii" role="separator"></div>'),ZK=B('<span class="log-file svelte-1pyfjii"> </span>'),XK=B("<option> </option>"),YK=B('<select class="log-filter-level svelte-1pyfjii"></select> <input class="log-filter-text svelte-1pyfjii" type="search" placeholder="Filter…"/> <label class="log-filter-regex svelte-1pyfjii" title="Interpret filter as a regular expression"><input type="checkbox" class="svelte-1pyfjii"/> <span class="log-filter-checkmark svelte-1pyfjii"></span> Regex</label> <button class="log-clear svelte-1pyfjii">Clear</button>',1),QK=B('<div><span class="ts svelte-1pyfjii"> </span> <span class="lvl svelte-1pyfjii"> </span> <span class="msg svelte-1pyfjii"> </span></div>'),JK=B('<span class="log-empty svelte-1pyfjii">No log output for this script.</span>'),eZ=B('<div class="log-body svelte-1pyfjii"><!> <!></div>'),tZ=B('<div class="chat-resize-handle svelte-1pyfjii" role="separator"></div> <div class="chat-container svelte-1pyfjii"><!></div>',1),iZ=B('<!> <!> <!> <!> <div class="layout svelte-1pyfjii"><aside class="svelte-1pyfjii"><div class="toolbar svelte-1pyfjii"><button title="New script" class="svelte-1pyfjii">+ File</button> <button title="New folder" class="svelte-1pyfjii">+ Folder</button> <button title="Find in files / Find files (Ctrl+Shift+F)">&#x2315;</button> <button title="Refresh" class="refresh svelte-1pyfjii">↻</button></div> <!> <!> <ul class="tree svelte-1pyfjii"><li role="presentation"></li> <!></ul> <!></aside> <div class="sidebar-resize-handle svelte-1pyfjii" role="separator"></div> <div class="editor-area svelte-1pyfjii"><!> <div class="editor-toolbar svelte-1pyfjii"><span class="filename svelte-1pyfjii"> </span> <!> <div class="split-wrap svelte-1pyfjii"><div class="split-btn svelte-1pyfjii"><button class="split-main svelte-1pyfjii"> </button> <button class="split-arrow svelte-1pyfjii" aria-label="Save options">▾</button></div> <!></div> <!> <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></div> <div class="editor-body svelte-1pyfjii"><div class="editor-left svelte-1pyfjii"><div class="editor-stack svelte-1pyfjii"><div class="editor-container svelte-1pyfjii"></div> <!> <!> <!></div> <div><!> <div class="log-header svelte-1pyfjii"><button class="log-toggle svelte-1pyfjii"> <!></button> <!></div> <!></div></div> <!></div></div></div>',1);function nZ(o,e){js(e,!0);let t=F(Li([])),i=F(Li({})),n=F(null),s=F(null),r=F(null),a=F(null),d=F(Li([])),u=F(null),f=F(!1),g=F(""),p=F(!1),C=F(!0),b=F(null),y=F(!1),w=F(!1),A=F(null),P=F(Li([])),M=F(!1),R=F(30),T=F(void 0),V=null,H=null,X=null,se=F(!1),he=F(""),J=F(!1),de=F(void 0),we=F(Li(new Set));const re=new Set;let ae=F(Li(new Set)),De=F(Li([])),Pe=F(!1),xe=F("text"),Ve=F(""),ze=F(!1),ve=F(!1),ht=F(!1),Mt=F(""),ot=F(Li([])),yt=F(Li([])),Ce=F(!1),Rt=F(!1),ai=F(""),Ge=F(void 0),nt=F(Li([])),Dt=F(!1),Jt=F(!1),di=null,ci=F(void 0),xi=F(!1),_i=F(!1),Ke=null;function Ee(){c(ci)&&(m(xi,c(ci).scrollLeft>0),m(_i,c(ci).scrollLeft+c(ci).clientWidth<c(ci).scrollWidth-1))}function ii(G){var ue;(ue=c(ci))==null||ue.scrollBy({left:G*200,behavior:"smooth"})}function bi(G="text"){m(Pe,!0),m(xe,G,!0),hl().then(()=>{var ue;return(ue=c(Ge))==null?void 0:ue.focus()})}function ni(){m(Pe,!1),m(Ve,""),m(ot,[],!0),m(yt,[],!0),m(Ce,!1),m(ai,""),m(ht,!1),m(Dt,!1)}function $i(){di&&clearTimeout(di),di=setTimeout(Zi,300)}async function Zi(){const G=c(Ve).trim();if(!G){m(ot,[],!0),m(yt,[],!0),m(Ce,!1),m(ai,"");return}m(Rt,!0),m(ai,"");try{if(c(xe)==="files"){const ue=await s2(G,{mode:"files"});m(yt,ue.results,!0),m(Ce,ue.truncated,!0)}else{const ue=await s2(G,{regex:c(ve),caseSensitive:c(ze)});m(ot,ue.results,!0),m(Ce,ue.truncated,!0)}}catch(ue){m(ai,ue.message||"Search failed",!0)}finally{m(Rt,!1)}}async function wi(G,ue){await St(G),At&&(At.revealLineInCenter(ue.line),At.setPosition({lineNumber:ue.line,column:ue.col}),At.focus())}function yn(G){return G.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}async function un(){if(!c(Ve).trim()||!c(ot).length)return;m(Jt,!0);const G=[],ue="g"+(c(ze)?"":"i");for(const ut of c(ot))try{const pt=await Wx(ut.path),We=c(ve)?new RegExp(c(Ve),ue):new RegExp(yn(c(Ve)),ue),Qt=pt.content.replace(We,c(Mt));Qt!==pt.content&&G.push({path:ut.path,checked:!0,original:pt.content,replaced:Qt,changes:ut.matches.length})}catch{}m(nt,G,!0),m(Jt,!1),m(Dt,!0)}async function cn(){for(const G of c(nt).filter(ue=>ue.checked))try{await Ql(G.path,G.replaced);const ue=c(d).find(ut=>ut.path===G.path);ue!=null&&ue.model&&(ue.model.setValue(G.replaced),ue.savedContent=G.replaced,ue.dirty=!1)}catch{}m(Dt,!1),await Zi()}function fn(G){G.ctrlKey&&G.shiftKey&&G.key==="F"&&(G.preventDefault(),c(Pe)&&c(xe)==="text"?ni():bi("text"))}Kn(()=>{c(ci)&&(Ke==null||Ke.disconnect(),Ke=new ResizeObserver(Ee),Ke.observe(c(ci)),Ee())});let ft=F("all"),Gt=F(""),Pi=F(!1);const qi=["all","debug","info","warn","error"],Ci={debug:0,info:1,warn:2,error:3};function Wi(G){if(c(ft)!=="all"&&Ci[G.level]<Ci[c(ft)])return!1;if(!c(Gt))return!0;if(c(Pi))try{return new RegExp(c(Gt),"i").test(G.msg)}catch{}return G.msg.toLowerCase().includes(c(Gt).toLowerCase())}let Vi=F(null);function Qi(G){const ue=G.currentTarget.getBoundingClientRect();m(Vi,{x:ue.left,y:ue.top},!0)}function Si(){m(Vi,null)}let it,At,Oi,Ti=!1,Bi=null,Ri=null,K=!1,Ae=!1,Xe=F(!1),st=F(null),Kt=F(!1),si=F(!1),xt=F(void 0),dt=null,Y=null,Te=null,Ye=F(Li(parseInt(localStorage.getItem("she-scripts-sidebar-width")??"220",10))),ke=F(Li(parseInt(localStorage.getItem("she-scripts-log-height")??"130",10))),It=F(Li(parseInt(localStorage.getItem("she-scripts-chat-width")??"340",10))),$t=F(Li(parseInt(localStorage.getItem("she-scripts-history-height")??"220",10))),te=!1,Je=0,Pt=0,Bt=!1,Ot=0,Se=0,Qe=!1,Yt=0,Zt=0,mi=!1,ei=0,fe=0;const et=Lt(()=>{var G;return c(u)&&c(le)?{path:c(u),content:((G=c(le).model)==null?void 0:G.getValue())??c(le).savedContent}:null}),at=Lt(()=>{var G;return new Set(((G=c(b))==null?void 0:G.changes.map(ue=>ue.file))??[])}),ct=Lt(()=>{const G=new Set;for(const ue of c(at)){const ut=ue.split("/");for(let pt=1;pt<ut.length;pt++)G.add(ut.slice(0,pt).join("/"))}return G});let Ut=F(!1),Ht=F(!1),Ei=F(""),I=F(!1),N=F(""),$=F(Li(new Set));async function oe(){var G;if(!(!c(Ei).trim()||c($).size===0)){m(I,!0),m(N,"");try{const ue=c(b).changes.filter(ut=>c($).has(ut.file)).map(ut=>ut.file);if(ue.length===c(b).changes.length?await a2(c(Ei).trim()):await r2(ue,c(Ei).trim()),c(w))try{await Vx()}catch{}m(Ei,""),await pe(),(G=c(b))!=null&&G.changes.length?m($,new Set(c(b).changes.map(ut=>ut.file)),!0):m(Ut,!1)}catch(ue){m(N,ue.message,!0)}finally{m(I,!1)}}}let ie,ne,le=Lt(()=>c(d).find(G=>G.path===c(u))??null);const tt="she-tabs",Fe="she-active-tab",_e="she-log-open",Ze="she-chat-open";let Me=Tu(e,"active",3,!0);Kn(()=>{Ae&&(localStorage.setItem(tt,JSON.stringify(c(d).map(G=>G.path))),c(u)?localStorage.setItem(Fe,c(u)):localStorage.removeItem(Fe))}),Kn(()=>{Ae&&localStorage.setItem(Ze,String(c(Xe)))}),Kn(()=>{Me()&&At&&At.layout()});const lt=`
153
153
  declare const she: {
154
154
  log(...args: any[]): void;
155
155
  info(...args: any[]): void;
@@ -229,4 +229,4 @@ declare const she: {
229
229
 
230
230
  *[stopped]*`,toolEvents:c(J).length>0?[...c(J)]:void 0}],!0)}else m(d,N.message,!0)}finally{A=null,m(s,null),m(J,[],!0),m(a,!1)}}}function wi(){A==null||A.abort()}function yn(I){I.key==="Enter"&&!I.shiftKey&&(I.preventDefault(),Zi())}function un(){m(n,[],!0),m(d,"")}const cn=["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 fn(I){m(r,I,!0),we==null||we.focus()}var ft=MX(),Gt=Et(ft),Pi=_(Gt),qi=v(_(Pi),2);{var Ci=I=>{var N=JZ(),$=_(N);{var oe=ne=>{var le=Co();j(()=>W(le,`${c(u).provider??""} · ${(c(g)||c(u).model)??""}`)),D(ne,le)},ie=ne=>{var le=Co("Not configured");D(ne,le)};z($,ne=>{c(De)?ne(oe):ne(ie,-1)})}j(()=>ln(N,"title",`Provider: ${c(u).provider??""}`)),D(I,N)};z(qi,I=>{c(u)&&I(Ci)})}var Wi=v(qi,2);{var Vi=I=>{var N=eX();U("click",N,un),D(I,N)};z(Wi,I=>{c(n).length>0&&I(Vi)})}var Qi=v(Pi,2),Si=_(Qi);{var it=I=>{var N=tX();D(I,N)},At=I=>{var N=sX(),$=_(N),oe=_($);{var ie=tt=>{var Fe=iX(),_e=v(Et(Fe)),Ze=_(_e);j(()=>W(Ze,t().id)),D(tt,Fe)},ne=tt=>{var Fe=Co("No view selected. Ask a general sheDB view question.");D(tt,Fe)};z(oe,tt=>{t()?tt(ie):tt(ne,-1)})}var le=v($,2);ti(le,17,()=>cn,Hi,(tt,Fe)=>{var _e=nX(),Ze=_(_e);j(()=>W(Ze,c(Fe))),U("click",_e,()=>fn(c(Fe))),D(tt,_e)}),D(I,N)};z(Si,I=>{c(De)?c(n).length===0&&c(s)===null&&I(At,1):I(it)})}var Oi=v(Si,2);ti(Oi,17,()=>c(n),Hi,(I,N,$)=>{var oe=dX(),ie=_(oe);{var ne=tt=>{var Fe=oX(),_e=_(Fe);j(()=>W(_e,c(N).content)),D(tt,Fe)},le=tt=>{const Fe=Lt(()=>ze(c(N).content)),_e=Lt(()=>ht(c(Fe)));var Ze=cX(),Me=Et(Ze);{var lt=Le=>{var He=O2();ti(He,21,()=>c(N).toolEvents,Hi,(St,gt)=>{var Ie=ws(),pe=Et(Ie);{var Re=Ue=>{var rt=R2(),qe=v(_(rt)),vt=_(qe);j(ge=>W(vt,ge),[()=>c(gt).name.replace(/_/g," ")]),D(Ue,rt)},Ne=Ue=>{var rt=N2(),qe=v(_(rt)),vt=_(qe);j(ge=>W(vt,ge),[()=>c(gt).name.replace(/_/g," ")]),D(Ue,rt)};z(pe,Ue=>{c(gt).type==="tool_call"?Ue(Re):Ue(Ne,-1)})}D(St,Ie)}),D(Le,He)};z(Me,Le=>{var He;(He=c(N).toolEvents)!=null&&He.length&&Le(lt)})}var Xt=v(Me,2),Z=_(Xt);ti(Z,17,()=>c(Fe),Hi,(Le,He,St)=>{var gt=ws(),Ie=Et(gt);{var pe=Ne=>{var Ue=H2();hc(Ue,()=>Ge(c(He).text),!0),D(Ne,Ue)},Re=Ne=>{const Ue=Lt(()=>`${$}:${St}`),rt=Lt(()=>Ce(c(He).text)),qe=Lt(()=>c(p).has(c(Ue))),vt=Lt(()=>c(He).lang==="filter");var ge=aX(),Oe=_(ge),_t=_(Oe),jt=_(_t),Ct=v(_t,2),Ni=_(Ct),Mi=v(Oe,2);let Ji;var Fi=_(Mi),ui=_(Fi);hc(ui,()=>ai(c(He).text,c(He).lang??""),!0);var zt=v(Fi,2);{var kt=Wt=>{var oi=rX(),vi=_(oi);j(()=>W(vi,c(qe)?"▲ collapse":"▼ expand")),U("click",oi,()=>Rt(c(Ue))),D(Wt,oi)};z(zt,Wt=>{c(rt)&&Wt(kt)})}j(()=>{W(jt,c(vt)?"filter":c(He).lang),Ji=Ft(Mi,1,"code-body svelte-1twuiul",null,Ji,{collapsed:c(rt)&&!c(qe)})}),U("click",Ni,()=>Dt(c(He).text)),D(Ne,ge)};z(Ie,Ne=>{c(He).type==="text"?Ne(pe):Ne(Re,-1)})}D(Le,gt)});var ce=v(Z,2);{var je=Le=>{var He=lX(),St=_(He),gt=_(St);j(Ie=>W(gt,Ie),[()=>ot(c(_e))]),U("click",St,()=>e.onApplyView(c(_e))),D(Le,He)},mt=Lt(()=>Mt(c(_e))&&e.onApplyView);z(ce,Le=>{c(mt)&&Le(je)})}D(tt,Ze)};z(ie,tt=>{c(N).role==="user"?tt(ne):tt(le,-1)})}j(()=>Ft(oe,1,`message ${c(N).role??""}`,"svelte-1twuiul")),D(I,oe)});var Ti=v(Oi,2);{var Bi=I=>{var N=O2();ti(N,21,()=>c(J),Hi,($,oe)=>{var ie=ws(),ne=Et(ie);{var le=Fe=>{var _e=R2(),Ze=v(_(_e)),Me=_(Ze);j(lt=>W(Me,lt),[()=>c(oe).name.replace(/_/g," ")]),D(Fe,_e)},tt=Fe=>{var _e=N2(),Ze=v(_(_e)),Me=_(Ze);j(lt=>W(Me,lt),[()=>c(oe).name.replace(/_/g," ")]),D(Fe,_e)};z(ne,Fe=>{c(oe).type==="tool_call"?Fe(le):Fe(tt,-1)})}D($,ie)}),D(I,N)};z(Ti,I=>{c(J).length>0&&I(Bi)})}var Ri=v(Ti,2);{var K=I=>{var N=uX(),$=_(N),oe=_($),ie=_(oe);j(()=>W(ie,M[c(P)])),D(I,N)};z(Ri,I=>{c(a)&&c(s)===null&&c(J).length===0&&I(K)})}var Ae=v(Ri,2);{var Xe=I=>{var N=fX(),$=_(N);ti($,21,()=>ve(c(s)),Hi,(oe,ie)=>{var ne=ws(),le=Et(ne);{var tt=_e=>{var Ze=H2();hc(Ze,()=>Ge(c(ie).text),!0),D(_e,Ze)},Fe=_e=>{var Ze=hX(),Me=_(Ze),lt=_(Me),Xt=_(lt),Z=v(Me,2),ce=_(Z);hc(ce,()=>ai(c(ie).text,c(ie).lang??""),!0),j(()=>W(Xt,c(ie).lang)),D(_e,Ze)};z(le,_e=>{c(ie).type==="text"?_e(tt):_e(Fe,-1)})}D(oe,ne)}),D(I,N)};z(Ae,I=>{c(s)!==null&&I(Xe)})}gs(Qi,I=>re=I,()=>re);var st=v(Qi,2);{var Kt=I=>{var N=gX(),$=_(N);j(()=>W($,c(d))),D(I,N)};z(st,I=>{c(d)&&I(Kt)})}var si=v(st,2),xt=_(si),dt=_(xt),Y=v(xt,2),Te=_(Y),Ye=v(Y,2),ke=_(Ye),It=v(Ye,2),$t=_(It),te=v(si,2),Je=_(te);{var Pt=I=>{var N=pX();let $;var oe=v(_(N),2),ie=_(oe),ne=v(oe,2),le=_(ne);j(()=>{$=Ft(N,1,"file-chip svelte-1twuiul",null,$,{inactive:!c(X)}),W(ie,t().id),ln(ne,"title",c(X)?"Remove from context":"Re-add to context"),W(le,c(X)?"×":"+")}),U("click",ne,()=>m(X,!c(X))),D(I,N)};z(Je,I=>{t()&&I(Pt)})}var Bt=v(Je,2);ti(Bt,17,()=>c(H),Hi,(I,N,$)=>{const oe=Lt(()=>ci(c(N).name));var ie=xX(),ne=_(ie),le=_(ne),tt=v(ne,2),Fe=_(tt),_e=v(tt,2);j((Ze,Me)=>{Ft(ne,1,`badge badge-${Ze??""}`,"svelte-1twuiul"),W(le,Me),W(Fe,c(N).name)},[()=>c(oe).toLowerCase(),()=>xi(c(oe))]),U("click",_e,()=>_i($)),D(I,ie)});var Ot=v(Bt,2),Se=v(Ot,2);gs(Se,I=>he=I,()=>he);var Qe=v(te,2);let Yt;var Zt=_(Qe);let mi;var ei=_(Zt);gs(ei,I=>we=I,()=>we);var fe=v(Zt,2);{var et=I=>{var N=mX();U("click",N,wi),D(I,N)},at=I=>{var N=vX();j($=>N.disabled=$,[()=>!c(r).trim()||!c(De)]),U("click",N,Zi),D(I,N)};z(fe,I=>{c(a)?I(et):I(at,-1)})}var ct=v(Qe,2);{var Ut=I=>{var N=yX(),$=_(N),oe=_($),ie=v($,2);{var ne=_e=>{var Ze=bX();ti(Ze,21,()=>c(f),Hi,(Me,lt)=>{var Xt=_X(),Z=_(Xt),ce={};j(()=>{W(Z,c(lt)),ce!==(ce=c(lt))&&(Xt.value=(Xt.__value=c(lt))??"")}),D(Me,Xt)}),j(()=>Ze.disabled=c(a)),Fs(Ze,()=>c(g),Me=>m(g,Me)),D(_e,Ze)},le=_e=>{var Ze=CX(),Me=_(Ze);j(()=>W(Me,c(g)||c(u).model)),D(_e,Ze)};z(ie,_e=>{c(f).length>0?_e(ne):_e(le,-1)})}var tt=v(ie,2);{var Fe=_e=>{var Ze=EX();U("click",Ze,Jt),D(_e,Ze)};z(tt,_e=>{c(u).provider==="ollama"&&_e(Fe)})}j(()=>W(oe,c(u).provider)),D(I,N)};z(ct,I=>{c(De)&&c(u)&&I(Ut)})}var Ht=v(Gt,2);{var Ei=I=>{var N=TX(),$=_(N),oe=_($),ie=_(oe),ne=_(ie),le=v(ie,2),tt=v(oe,2),Fe=_(tt);{var _e=lt=>{var Xt=wX();D(lt,Xt)},Ze=lt=>{var Xt=SX(),Z=_(Xt);j(()=>W(Z,c(w))),D(lt,Xt)},Me=lt=>{var Xt=PX(),Z=_(Xt);{var ce=Ne=>{var Ue=DX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).version)),D(Ne,Ue)};z(Z,Ne=>{c(b).version&&Ne(ce)})}var je=v(Z,2);{var mt=Ne=>{var Ue=AX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).details.family)),D(Ne,Ue)};z(je,Ne=>{var Ue;(Ue=c(b).details)!=null&&Ue.family&&Ne(mt)})}var Le=v(je,2);{var He=Ne=>{var Ue=kX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).details.parameter_size)),D(Ne,Ue)};z(Le,Ne=>{var Ue;(Ue=c(b).details)!=null&&Ue.parameter_size&&Ne(He)})}var St=v(Le,2);{var gt=Ne=>{var Ue=BX(),rt=v(Et(Ue)),qe=_(rt);j(()=>W(qe,c(b).details.quantization_level)),D(Ne,Ue)};z(St,Ne=>{var Ue;(Ue=c(b).details)!=null&&Ue.quantization_level&&Ne(gt)})}var Ie=v(St,2);{var pe=Ne=>{var Ue=LX(),rt=v(Et(Ue),2);ti(rt,21,()=>c(b).running,Hi,(qe,vt)=>{var ge=FX(),Oe=_(ge);j(_t=>W(Oe,`${c(vt).name??""} · ${_t??""} VRAM`),[()=>di(c(vt).size_vram)]),D(qe,ge)}),D(Ne,Ue)},Re=Ne=>{var Ue=IX();D(Ne,Ue)};z(Ie,Ne=>{c(b).running&&c(b).running.length>0?Ne(pe):c(b).running!==null&&Ne(Re,1)})}D(lt,Xt)};z(Fe,lt=>{c(y)?lt(_e):c(w)?lt(Ze,1):c(b)&&lt(Me,2)})}j(()=>{var lt;return W(ne,`Ollama · ${(c(g)||((lt=c(u))==null?void 0:lt.model))??""}`)}),U("click",N,()=>m(C,!1)),U("click",$,lt=>lt.stopPropagation()),U("click",le,()=>m(C,!1)),D(I,N)};z(Ht,I=>{c(C)&&I(Ei)})}j(I=>{W($t,I),Yt=Ft(Qe,1,"input-row svelte-1twuiul",null,Yt,{"drag-over":c(se)}),mi=Ft(Zt,1,"textarea-wrap svelte-1twuiul",null,mi,{loading:c(a)}),ln(ei,"placeholder",c(De)?"Ask anything… (Enter to send, Shift+Enter for newline, drag & drop files to add context)":"AI not configured"),ei.disabled=c(a)||!c(De)},[()=>di(c(Pe))]),ys(dt,()=>c(R),I=>m(R,I)),ys(Te,()=>c(T),I=>m(T,I)),ys(ke,()=>c(V),I=>m(V,I)),U("click",Ot,Ke),U("change",Se,ii),xs("dragover",Qe,ni),xs("dragleave",Qe,$i),xs("drop",Qe,bi),U("keydown",ei,yn),Vt(ei,()=>c(r),I=>m(r,I)),D(o,ft),$s()}Ys(["click","change","keydown"]);var NX=B('<div class="me svelte-1pxdb1"></div>');function GC(o,e){js(e,!0);let t=Tu(e,"value",15,""),i=Tu(e,"language",3,"javascript"),n,s,r=!1;Xs(()=>{const d=i()==="json"?{formatOnPaste:!0,autoIndent:"full"}:{};s=_r.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},...d}),s.onDidChangeModelContent(()=>{r||t(s.getValue())})}),Wp(()=>s==null?void 0:s.dispose()),Kn(()=>{!s||s.getValue()===t()||(r=!0,s.setValue(t()),r=!1)});var a=NX();gs(a,d=>n=d,()=>n),D(o,a),$s()}var OX=B('<!> <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 &mdash; 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),HX=B('<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>'),W2=B('<div class="form-error svelte-rrt0o"> </div>'),WX=B('<div class="new-item-form svelte-rrt0o"><input placeholder="device/lamp1" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),z2=B("<li> </li>"),V2=B('<div class="error-bar svelte-rrt0o"> </div>'),j2=B('<div class="loading svelte-rrt0o">Loading…</div>'),zX=B('<div class="monaco-doc-wrap svelte-rrt0o"><!></div>'),VX=B('<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),jX=B('<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>'),$X=B('<div class="new-item-form svelte-rrt0o"><input placeholder="myView" class="svelte-rrt0o"/> <button class="svelte-rrt0o">Create</button></div> <!>',1),UX=B('<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>'),qX=B('<span class="badge-error svelte-rrt0o">error</span>'),GX=B('<span class="badge-ok svelte-rrt0o"> </span>'),KX=B('<pre class="result-error svelte-rrt0o"> </pre>'),ZX=B('<pre class="result-json svelte-rrt0o"> </pre>'),XX=B('<div class="view-result svelte-rrt0o"><div class="result-header svelte-rrt0o">Result <!></div> <!></div>'),YX=B('<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 &nbsp;·&nbsp; 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>'),QX=B('<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),JX=B('<div class="chat-resize-handle svelte-rrt0o" role="separator"></div> <div class="chat-pane svelte-rrt0o"><!></div>',1),eY=B('<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>'),tY=B('<div class="db-root svelte-rrt0o" role="presentation"><div class="panel-tabs svelte-rrt0o"><button>Documents</button> <button>Views</button> <!></div> <!></div>');function iY(o,e){js(e,!0);const t=it=>{var At=OX(),Oi=Et(At);gs(Yc(Oi,{}),Ti=>xi=Ti,()=>xi),D(it,At)};let i=F(Li([])),n=F(null),s=F("{}"),r=F(!1),a=F(null);const d="she-db-selected-view";let u=F(Li([])),f=F(Li(localStorage.getItem(d))),g=F("#"),p=F("// emit(this.someProperty)"),C=F(""),b=F(""),y=F(!1),w=F(!1),A=F(null),P=F(!1),M=F(null),R=F("she/db/view/");const T="she-db-panel";let V=F(Li(localStorage.getItem(T)??"docs")),H=F(""),X=F(!1),se=F(null),he=F(""),J=F(!1),de=F(null);const we="she-db-sidebar-width";let re=F(Li(parseInt(localStorage.getItem(we)??"220",10))),ae=!1,De=0,Pe=0;const xe="she-db-chat-width",Ve="she-db-chat-open";let ze=F(localStorage.getItem(Ve)==="true"),ve=F(Li(parseInt(localStorage.getItem(xe)??"320",10))),ht=!1,Mt=0,ot=0;const yt=Lt(()=>c(f)?{id:c(f),filter:c(g),map:c(p),reduce:c(C)}:null);function Ce(it){it.filter!==void 0&&m(g,it.filter,!0),it.map!==void 0&&m(p,it.map,!0),it.reduce!==void 0&&m(C,it.reduce,!0)}Kn(()=>{localStorage.setItem(Ve,String(c(ze)))}),Kn(()=>{localStorage.setItem(T,c(V))}),Kn(()=>{c(f)?localStorage.setItem(d,c(f)):localStorage.removeItem(d)});function Rt(it){ae=!0,De=it.clientX,Pe=c(re),it.preventDefault()}function ai(it){ae&&m(re,Math.max(140,Math.min(500,Pe+it.clientX-De)),!0),ht&&m(ve,Math.max(240,Math.min(600,ot-(it.clientX-Mt))),!0)}function Ge(){ae&&(ae=!1,localStorage.setItem(we,String(c(re)))),ht&&(ht=!1,localStorage.setItem(xe,String(c(ve))))}function nt(it){ht=!0,Mt=it.clientX,ot=c(ve),it.preventDefault()}async function Dt(){try{m(i,await hF(),!0)}catch{}}async function Jt(){try{m(u,await fF(),!0)}catch{}}async function di(it){m(n,it,!0),m(a,null),m(r,!0);try{const At=await j$(it);m(s,JSON.stringify(At,null,2),!0)}catch(At){m(a,At instanceof Error?At.message:String(At),!0)}finally{m(r,!1)}}async function ci(){if(c(n)){m(a,null);try{const it=JSON.parse(c(s));await l2(c(n),it)}catch(it){m(a,it instanceof Error?it.message:String(it),!0)}}}let xi;async function _i(){if(c(n)&&await xi.show(`Delete document "${c(n)}"?`,{confirm:"Delete",danger:!0}))try{await $$(c(n)),m(n,null),m(s,"{}")}catch(it){m(a,it instanceof Error?it.message:String(it),!0)}}async function Ke(){const it=c(H).trim();if(it){m(se,null);try{await l2(it,{}),m(X,!1),m(H,""),await di(it)}catch(At){m(se,At instanceof Error?At.message:String(At),!0)}}}async function Ee(it){m(f,it,!0),m(M,null),m(P,!0),m(A,null);try{const At=await U$(it);m(g,At.filter??"",!0),m(p,At.map,!0),m(C,At.reduce??"",!0),m(b,At.description??"",!0),m(y,At.mqttpub??!1,!0),m(w,At.retain??!1,!0),m(A,await jC(it).catch(()=>null),!0)}catch(At){m(M,At instanceof Error?At.message:String(At),!0)}finally{m(P,!1)}}async function ii(){if(c(f)){m(M,null);try{const it={map:c(p)};c(g).trim()&&(it.filter=c(g).trim()),c(C).trim()&&(it.reduce=c(C).trim()),c(b).trim()&&(it.description=c(b).trim()),c(y)&&(it.mqttpub=!0),c(w)&&(it.retain=!0),await c2(c(f),it)}catch(it){m(M,it instanceof Error?it.message:String(it),!0)}}}async function bi(){if(c(f))try{m(A,await jC(c(f)),!0)}catch(it){m(M,it instanceof Error?it.message:String(it),!0)}}async function ni(){if(c(f)&&await xi.show(`Delete view "${c(f)}"?`,{confirm:"Delete",danger:!0}))try{await q$(c(f)),m(f,null),m(g,""),m(p,"// emit(this.someProperty)"),m(C,""),m(b,""),m(y,!1),m(w,!1),m(A,null)}catch(it){m(M,it instanceof Error?it.message:String(it),!0)}}async function $i(){if(!c(he).trim())return;const it=c(he).trim();m(de,null);try{await c2(it,{map:"// emit(this.someProperty)"}),m(J,!1),m(he,""),await Jt(),await Ee(it)}catch(At){m(de,At instanceof Error?At.message:String(At),!0)}}let Zi=F(""),wi=F(""),yn=Lt(()=>[...c(i)].filter(it=>!c(Zi)||it.toLowerCase().includes(c(Zi).toLowerCase())).sort()),un=Lt(()=>[...c(u)].filter(it=>!c(wi)||it.toLowerCase().includes(c(wi).toLowerCase())).sort());Xs(()=>{Dt(),Jt().then(()=>{c(f)&&c(u).includes(c(f))?Ee(c(f)):m(f,null)}),Pl().then(Bi=>{const Ri=Bi.dbPrefix||"she/db/",K=Ri.endsWith("/")?Ri:Ri+"/";m(R,K+"view/")}).catch(()=>{});const it=ur("db:ids",Bi=>{m(i,Bi.ids??[],!0)}),At=ur("db:viewIds",Bi=>{m(u,Bi.ids??[],!0)}),Oi=ur("db:change",async Bi=>{const Ri=Bi.id;c(n)===Ri&&(Bi.doc===null?(m(n,null),m(s,"{}")):m(s,JSON.stringify(Bi.doc,null,2),!0))}),Ti=ur("db:viewUpdate",async Bi=>{const Ri=Bi.id;c(f)===Ri&&m(A,await jC(Ri).catch(()=>null),!0)});return()=>{it(),At(),Oi(),Ti()}});var cn=tY(),fn=_(cn),ft=_(fn);let Gt;var Pi=v(ft,2);let qi;var Ci=v(Pi,2);{var Wi=it=>{var At=HX();let Oi;j(()=>{Oi=Ft(At,1,"ai-toggle svelte-rrt0o",null,Oi,{"ai-open":c(ze)}),ln(At,"title",c(ze)?"Close AI assistant":"Open AI assistant")}),U("click",At,()=>m(ze,!c(ze))),D(it,At)};z(Ci,it=>{c(V)==="views"&&it(Wi)})}var Vi=v(fn,2);{var Qi=it=>{var At=jX(),Oi=_(At);let Ti;var Bi=_(Oi),Ri=_(Bi),K=v(Bi,2);{var Ae=Ye=>{var ke=WX(),It=Et(ke),$t=_(It),te=v($t,2),Je=v(It,2);{var Pt=Bt=>{var Ot=W2(),Se=_(Ot);j(()=>W(Se,c(se))),D(Bt,Ot)};z(Je,Bt=>{c(se)&&Bt(Pt)})}U("keydown",$t,Bt=>Bt.key==="Enter"&&Ke()),Vt($t,()=>c(H),Bt=>m(H,Bt)),U("click",te,Ke),D(Ye,ke)};z(K,Ye=>{c(X)&&Ye(Ae)})}var Xe=v(K,2),st=_(Xe),Kt=v(Xe,2);ti(Kt,20,()=>c(yn),Ye=>Ye,(Ye,ke)=>{var It=z2();let $t;var te=_(It);j(()=>{$t=Ft(It,1,"flat-item svelte-rrt0o",null,$t,{"active-item":c(n)===ke}),W(te,ke)}),U("click",It,()=>di(ke)),D(Ye,It)});var si=v(Oi,2),xt=v(si,2),dt=_(xt);{var Y=Ye=>{var ke=VX(),It=Et(ke),$t=_(It),te=_($t),Je=v($t,2),Pt=v(Je,2),Bt=v(It,2);{var Ot=Zt=>{var mi=V2(),ei=_(mi);j(()=>W(ei,c(a))),D(Zt,mi)};z(Bt,Zt=>{c(a)&&Zt(Ot)})}var Se=v(Bt,2);{var Qe=Zt=>{var mi=j2();D(Zt,mi)},Yt=Zt=>{var mi=zX(),ei=_(mi);GC(ei,{language:"json",get value(){return c(s)},set value(fe){m(s,fe,!0)}}),D(Zt,mi)};z(Se,Zt=>{c(r)?Zt(Qe):Zt(Yt,-1)})}j(()=>W(te,c(n))),U("click",Je,ci),U("click",Pt,_i),D(Ye,ke)},Te=Ye=>{t(Ye)};z(dt,Ye=>{c(n)?Ye(Y):Ye(Te,-1)})}j(()=>Ti=Uo(Oi,"",Ti,{width:`${c(re)??""}px`})),U("click",Ri,()=>{m(X,!c(X)),m(se,null)}),Vt(st,()=>c(Zi),Ye=>m(Zi,Ye)),U("mousedown",si,Rt),D(it,At)},Si=it=>{var At=eY(),Oi=_(At);let Ti;var Bi=_(Oi),Ri=_(Bi),K=v(Bi,2);{var Ae=It=>{var $t=$X(),te=Et($t),Je=_(te),Pt=v(Je,2),Bt=v(te,2);{var Ot=Se=>{var Qe=W2(),Yt=_(Qe);j(()=>W(Yt,c(de))),D(Se,Qe)};z(Bt,Se=>{c(de)&&Se(Ot)})}U("keydown",Je,Se=>Se.key==="Enter"&&$i()),Vt(Je,()=>c(he),Se=>m(he,Se)),U("click",Pt,$i),D(It,$t)};z(K,It=>{c(J)&&It(Ae)})}var Xe=v(K,2),st=_(Xe),Kt=v(Xe,2);ti(Kt,20,()=>c(un),It=>It,(It,$t)=>{var te=z2();let Je;var Pt=_(te);j(()=>{Je=Ft(te,1,"flat-item svelte-rrt0o",null,Je,{"active-item":c(f)===$t}),W(Pt,$t)}),U("click",te,()=>Ee($t)),D(It,te)});var si=v(Oi,2),xt=v(si,2),dt=_(xt);{var Y=It=>{var $t=QX(),te=Et($t),Je=_(te),Pt=_(Je),Bt=v(Je,2),Ot=v(Bt,2),Se=v(Ot,2),Qe=v(te,2);{var Yt=fe=>{var et=V2(),at=_(et);j(()=>W(at,c(M))),D(fe,et)};z(Qe,fe=>{c(M)&&fe(Yt)})}var Zt=v(Qe,2);{var mi=fe=>{var et=j2();D(fe,et)},ei=fe=>{var et=YX(),at=_(et),ct=v(_(at),2),Ut=_(ct),Ht=v(at,2),Ei=v(_(Ht),2),I=_(Ei),N=v(Ht,2),$=v(_(N),2),oe=_($);GC(oe,{language:"javascript",get value(){return c(p)},set value(mt){m(p,mt,!0)}});var ie=v(N,2),ne=v(_(ie),2),le=_(ne);GC(le,{language:"javascript",get value(){return c(C)},set value(mt){m(C,mt,!0)}});var tt=v(ie,2),Fe=_(tt),_e=_(Fe),Ze=v(_e,4),Me=v(_(Ze)),lt=_(Me),Xt=v(Fe,2);{var Z=mt=>{var Le=UX(),He=_(Le);ys(He,()=>c(w),St=>m(w,St)),D(mt,Le)};z(Xt,mt=>{c(y)&&mt(Z)})}var ce=v(tt,2);{var je=mt=>{var Le=XX(),He=_(Le),St=v(_(He));{var gt=Ue=>{var rt=qX();D(Ue,rt)},Ie=Ue=>{var rt=GX(),qe=_(rt);j(()=>W(qe,`${c(A).length??0??""} items · rev ${c(A)._rev??""}`)),D(Ue,rt)};z(St,Ue=>{c(A).error?Ue(gt):Ue(Ie,-1)})}var pe=v(He,2);{var Re=Ue=>{var rt=KX(),qe=_(rt);j(()=>W(qe,c(A).error)),D(Ue,rt)},Ne=Ue=>{var rt=ZX(),qe=_(rt);j(vt=>W(qe,vt),[()=>JSON.stringify(c(A).result,null,2)]),D(Ue,rt)};z(pe,Ue=>{c(A).error?Ue(Re):Ue(Ne,-1)})}D(mt,Le)};z(ce,mt=>{c(A)&&mt(je)})}j(()=>W(lt,`${c(R)??""}${c(f)??""} on every update`)),Vt(Ut,()=>c(b),mt=>m(b,mt)),Vt(I,()=>c(g),mt=>m(g,mt)),ys(_e,()=>c(y),mt=>m(y,mt)),D(fe,et)};z(Zt,fe=>{c(P)?fe(mi):fe(ei,-1)})}j(()=>W(Pt,c(f))),U("click",Bt,ii),U("click",Ot,bi),U("click",Se,ni),D(It,$t)},Te=It=>{t(It)};z(dt,It=>{c(f)?It(Y):It(Te,-1)})}var Ye=v(xt,2);{var ke=It=>{var $t=JX(),te=Et($t),Je=v(te,2);let Pt;var Bt=_(Je);RX(Bt,{get currentView(){return c(yt)},onApplyView:Ce}),j(()=>Pt=Uo(Je,"",Pt,{width:`${c(ve)??""}px`})),U("mousedown",te,nt),D(It,$t)};z(Ye,It=>{c(ze)&&It(ke)})}j(()=>Ti=Uo(Oi,"",Ti,{width:`${c(re)??""}px`})),U("click",Ri,()=>{m(J,!c(J)),m(de,null)}),Vt(st,()=>c(wi),It=>m(wi,It)),U("mousedown",si,Rt),D(it,At)};z(Vi,it=>{c(V)==="docs"?it(Qi):it(Si,-1)})}j(()=>{Gt=Ft(ft,1,"svelte-rrt0o",null,Gt,{active:c(V)==="docs"}),qi=Ft(Pi,1,"svelte-rrt0o",null,qi,{active:c(V)==="views"})}),U("mousemove",cn,ai),U("mouseup",cn,Ge),xs("mouseleave",cn,Ge),U("click",ft,()=>m(V,"docs")),U("click",Pi,()=>m(V,"views")),D(o,cn),$s()}Ys(["mousemove","mouseup","click","keydown","mousedown"]);var bm={exports:{}},nY=bm.exports,$2;function sY(){return $2||($2=1,(function(o,e){(function(i,n){o.exports=n()})(typeof self<"u"?self:nY,function(){return(function(t){var i={};function n(s){if(i[s])return i[s].exports;var r=i[s]={i:s,l:!1,exports:{}};return t[s].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=i,n.d=function(s,r,a){n.o(s,r)||Object.defineProperty(s,r,{configurable:!1,enumerable:!0,get:a})},n.n=function(s){var r=s&&s.__esModule?function(){return s.default}:function(){return s};return n.d(r,"a",r),r},n.o=function(s,r){return Object.prototype.hasOwnProperty.call(s,r)},n.p="",n(n.s=3)})([(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a,d){this.width=d,this.height=a.length/d,this.data=a}return r.createEmpty=function(a,d){return new r(new Uint8ClampedArray(a*d),a)},r.prototype.get=function(a,d){return a<0||a>=this.width||d<0||d>=this.height?!1:!!this.data[d*this.width+a]},r.prototype.set=function(a,d,u){this.data[d*this.width+a]=u?1:0},r.prototype.setRegion=function(a,d,u,f,g){for(var p=d;p<d+f;p++)for(var C=a;C<a+u;C++)this.set(C,p,!!g)},r})();i.BitMatrix=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(2);function r(d,u){return d^u}i.addOrSubtractGF=r;var a=(function(){function d(u,f,g){this.primitive=u,this.size=f,this.generatorBase=g,this.expTable=new Array(this.size),this.logTable=new Array(this.size);for(var p=1,C=0;C<this.size;C++)this.expTable[C]=p,p=p*2,p>=this.size&&(p=(p^this.primitive)&this.size-1);for(var C=0;C<this.size-1;C++)this.logTable[this.expTable[C]]=C;this.zero=new s.default(this,Uint8ClampedArray.from([0])),this.one=new s.default(this,Uint8ClampedArray.from([1]))}return d.prototype.multiply=function(u,f){return u===0||f===0?0:this.expTable[(this.logTable[u]+this.logTable[f])%(this.size-1)]},d.prototype.inverse=function(u){if(u===0)throw new Error("Can't invert 0");return this.expTable[this.size-this.logTable[u]-1]},d.prototype.buildMonomial=function(u,f){if(u<0)throw new Error("Invalid monomial degree less than 0");if(f===0)return this.zero;var g=new Uint8ClampedArray(u+1);return g[0]=f,new s.default(this,g)},d.prototype.log=function(u){if(u===0)throw new Error("Can't take log(0)");return this.logTable[u]},d.prototype.exp=function(u){return this.expTable[u]},d})();i.default=a}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=(function(){function a(d,u){if(u.length===0)throw new Error("No coefficients.");this.field=d;var f=u.length;if(f>1&&u[0]===0){for(var g=1;g<f&&u[g]===0;)g++;if(g===f)this.coefficients=d.zero.coefficients;else{this.coefficients=new Uint8ClampedArray(f-g);for(var p=0;p<this.coefficients.length;p++)this.coefficients[p]=u[g+p]}}else this.coefficients=u}return a.prototype.degree=function(){return this.coefficients.length-1},a.prototype.isZero=function(){return this.coefficients[0]===0},a.prototype.getCoefficient=function(d){return this.coefficients[this.coefficients.length-1-d]},a.prototype.addOrSubtract=function(d){var u;if(this.isZero())return d;if(d.isZero())return this;var f=this.coefficients,g=d.coefficients;f.length>g.length&&(u=[g,f],f=u[0],g=u[1]);for(var p=new Uint8ClampedArray(g.length),C=g.length-f.length,b=0;b<C;b++)p[b]=g[b];for(var b=C;b<g.length;b++)p[b]=s.addOrSubtractGF(f[b-C],g[b]);return new a(this.field,p)},a.prototype.multiply=function(d){if(d===0)return this.field.zero;if(d===1)return this;for(var u=this.coefficients.length,f=new Uint8ClampedArray(u),g=0;g<u;g++)f[g]=this.field.multiply(this.coefficients[g],d);return new a(this.field,f)},a.prototype.multiplyPoly=function(d){if(this.isZero()||d.isZero())return this.field.zero;for(var u=this.coefficients,f=u.length,g=d.coefficients,p=g.length,C=new Uint8ClampedArray(f+p-1),b=0;b<f;b++)for(var y=u[b],w=0;w<p;w++)C[b+w]=s.addOrSubtractGF(C[b+w],this.field.multiply(y,g[w]));return new a(this.field,C)},a.prototype.multiplyByMonomial=function(d,u){if(d<0)throw new Error("Invalid degree less than 0");if(u===0)return this.field.zero;for(var f=this.coefficients.length,g=new Uint8ClampedArray(f+d),p=0;p<f;p++)g[p]=this.field.multiply(this.coefficients[p],u);return new a(this.field,g)},a.prototype.evaluateAt=function(d){var u=0;if(d===0)return this.getCoefficient(0);var f=this.coefficients.length;if(d===1)return this.coefficients.forEach(function(p){u=s.addOrSubtractGF(u,p)}),u;u=this.coefficients[0];for(var g=1;g<f;g++)u=s.addOrSubtractGF(this.field.multiply(d,u),this.coefficients[g]);return u},a})();i.default=r}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(4),r=n(5),a=n(11),d=n(12);function u(p){var C=d.locate(p);if(!C)return null;for(var b=0,y=C;b<y.length;b++){var w=y[b],A=a.extract(p,w),P=r.decode(A.matrix);if(P)return{binaryData:P.bytes,data:P.text,chunks:P.chunks,version:P.version,location:{topRightCorner:A.mappingFunction(w.dimension,0),topLeftCorner:A.mappingFunction(0,0),bottomRightCorner:A.mappingFunction(w.dimension,w.dimension),bottomLeftCorner:A.mappingFunction(0,w.dimension),topRightFinderPattern:w.topRight,topLeftFinderPattern:w.topLeft,bottomLeftFinderPattern:w.bottomLeft,bottomRightAlignmentPattern:w.alignmentPattern}}}return null}var f={inversionAttempts:"attemptBoth"};function g(p,C,b,y){y===void 0&&(y={});var w=f;Object.keys(w||{}).forEach(function(H){w[H]=y[H]||w[H]});var A=w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst",P=w.inversionAttempts==="onlyInvert"||w.inversionAttempts==="invertFirst",M=s.binarize(p,C,b,A),R=M.binarized,T=M.inverted,V=u(P?T:R);return!V&&(w.inversionAttempts==="attemptBoth"||w.inversionAttempts==="invertFirst")&&(V=u(P?R:T)),V}g.default=g,i.default=g}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=8,a=24;function d(g,p,C){return g<p?p:g>C?C:g}var u=(function(){function g(p,C){this.width=p,this.data=new Uint8ClampedArray(p*C)}return g.prototype.get=function(p,C){return this.data[C*this.width+p]},g.prototype.set=function(p,C,b){this.data[C*this.width+p]=b},g})();function f(g,p,C,b){if(g.length!==p*C*4)throw new Error("Malformed data passed to binarizer.");for(var y=new u(p,C),w=0;w<p;w++)for(var A=0;A<C;A++){var P=g[(A*p+w)*4+0],M=g[(A*p+w)*4+1],R=g[(A*p+w)*4+2];y.set(w,A,.2126*P+.7152*M+.0722*R)}for(var T=Math.ceil(p/r),V=Math.ceil(C/r),H=new u(T,V),X=0;X<V;X++)for(var se=0;se<T;se++){for(var he=0,J=1/0,de=0,A=0;A<r;A++)for(var w=0;w<r;w++){var we=y.get(se*r+w,X*r+A);he+=we,J=Math.min(J,we),de=Math.max(de,we)}var re=he/Math.pow(r,2);if(de-J<=a&&(re=J/2,X>0&&se>0)){var ae=(H.get(se,X-1)+2*H.get(se-1,X)+H.get(se-1,X-1))/4;J<ae&&(re=ae)}H.set(se,X,re)}var De=s.BitMatrix.createEmpty(p,C),Pe=null;b&&(Pe=s.BitMatrix.createEmpty(p,C));for(var X=0;X<V;X++)for(var se=0;se<T;se++){for(var xe=d(se,2,T-3),Ve=d(X,2,V-3),he=0,ze=-2;ze<=2;ze++)for(var ve=-2;ve<=2;ve++)he+=H.get(xe+ze,Ve+ve);for(var ht=he/25,ze=0;ze<r;ze++)for(var ve=0;ve<r;ve++){var w=se*r+ze,A=X*r+ve,Mt=y.get(w,A);De.set(w,A,Mt<=ht),b&&Pe.set(w,A,!(Mt<=ht))}}return b?{binarized:De,inverted:Pe}:{binarized:De}}i.binarize=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0),r=n(6),a=n(9),d=n(10);function u(R,T){for(var V=R^T,H=0;V;)H++,V&=V-1;return H}function f(R,T){return T<<1|R}var g=[{bits:21522,formatInfo:{errorCorrectionLevel:1,dataMask:0}},{bits:20773,formatInfo:{errorCorrectionLevel:1,dataMask:1}},{bits:24188,formatInfo:{errorCorrectionLevel:1,dataMask:2}},{bits:23371,formatInfo:{errorCorrectionLevel:1,dataMask:3}},{bits:17913,formatInfo:{errorCorrectionLevel:1,dataMask:4}},{bits:16590,formatInfo:{errorCorrectionLevel:1,dataMask:5}},{bits:20375,formatInfo:{errorCorrectionLevel:1,dataMask:6}},{bits:19104,formatInfo:{errorCorrectionLevel:1,dataMask:7}},{bits:30660,formatInfo:{errorCorrectionLevel:0,dataMask:0}},{bits:29427,formatInfo:{errorCorrectionLevel:0,dataMask:1}},{bits:32170,formatInfo:{errorCorrectionLevel:0,dataMask:2}},{bits:30877,formatInfo:{errorCorrectionLevel:0,dataMask:3}},{bits:26159,formatInfo:{errorCorrectionLevel:0,dataMask:4}},{bits:25368,formatInfo:{errorCorrectionLevel:0,dataMask:5}},{bits:27713,formatInfo:{errorCorrectionLevel:0,dataMask:6}},{bits:26998,formatInfo:{errorCorrectionLevel:0,dataMask:7}},{bits:5769,formatInfo:{errorCorrectionLevel:3,dataMask:0}},{bits:5054,formatInfo:{errorCorrectionLevel:3,dataMask:1}},{bits:7399,formatInfo:{errorCorrectionLevel:3,dataMask:2}},{bits:6608,formatInfo:{errorCorrectionLevel:3,dataMask:3}},{bits:1890,formatInfo:{errorCorrectionLevel:3,dataMask:4}},{bits:597,formatInfo:{errorCorrectionLevel:3,dataMask:5}},{bits:3340,formatInfo:{errorCorrectionLevel:3,dataMask:6}},{bits:2107,formatInfo:{errorCorrectionLevel:3,dataMask:7}},{bits:13663,formatInfo:{errorCorrectionLevel:2,dataMask:0}},{bits:12392,formatInfo:{errorCorrectionLevel:2,dataMask:1}},{bits:16177,formatInfo:{errorCorrectionLevel:2,dataMask:2}},{bits:14854,formatInfo:{errorCorrectionLevel:2,dataMask:3}},{bits:9396,formatInfo:{errorCorrectionLevel:2,dataMask:4}},{bits:8579,formatInfo:{errorCorrectionLevel:2,dataMask:5}},{bits:11994,formatInfo:{errorCorrectionLevel:2,dataMask:6}},{bits:11245,formatInfo:{errorCorrectionLevel:2,dataMask:7}}],p=[function(R){return(R.y+R.x)%2===0},function(R){return R.y%2===0},function(R){return R.x%3===0},function(R){return(R.y+R.x)%3===0},function(R){return(Math.floor(R.y/2)+Math.floor(R.x/3))%2===0},function(R){return R.x*R.y%2+R.x*R.y%3===0},function(R){return(R.y*R.x%2+R.y*R.x%3)%2===0},function(R){return((R.y+R.x)%2+R.y*R.x%3)%2===0}];function C(R){var T=17+4*R.versionNumber,V=s.BitMatrix.createEmpty(T,T);V.setRegion(0,0,9,9,!0),V.setRegion(T-8,0,8,9,!0),V.setRegion(0,T-8,9,8,!0);for(var H=0,X=R.alignmentPatternCenters;H<X.length;H++)for(var se=X[H],he=0,J=R.alignmentPatternCenters;he<J.length;he++){var de=J[he];se===6&&de===6||se===6&&de===T-7||se===T-7&&de===6||V.setRegion(se-2,de-2,5,5,!0)}return V.setRegion(6,9,1,T-17,!0),V.setRegion(9,6,T-17,1,!0),R.versionNumber>6&&(V.setRegion(T-11,0,3,6,!0),V.setRegion(0,T-11,6,3,!0)),V}function b(R,T,V){for(var H=p[V.dataMask],X=R.height,se=C(T),he=[],J=0,de=0,we=!0,re=X-1;re>0;re-=2){re===6&&re--;for(var ae=0;ae<X;ae++)for(var De=we?X-1-ae:ae,Pe=0;Pe<2;Pe++){var xe=re-Pe;if(!se.get(xe,De)){de++;var Ve=R.get(xe,De);H({y:De,x:xe})&&(Ve=!Ve),J=f(Ve,J),de===8&&(he.push(J),de=0,J=0)}}we=!we}return he}function y(R){var T=R.height,V=Math.floor((T-17)/4);if(V<=6)return d.VERSIONS[V-1];for(var H=0,X=5;X>=0;X--)for(var se=T-9;se>=T-11;se--)H=f(R.get(se,X),H);for(var he=0,se=5;se>=0;se--)for(var X=T-9;X>=T-11;X--)he=f(R.get(se,X),he);for(var J=1/0,de,we=0,re=d.VERSIONS;we<re.length;we++){var ae=re[we];if(ae.infoBits===H||ae.infoBits===he)return ae;var De=u(H,ae.infoBits);De<J&&(de=ae,J=De),De=u(he,ae.infoBits),De<J&&(de=ae,J=De)}if(J<=3)return de}function w(R){for(var T=0,V=0;V<=8;V++)V!==6&&(T=f(R.get(V,8),T));for(var H=7;H>=0;H--)H!==6&&(T=f(R.get(8,H),T));for(var X=R.height,se=0,H=X-1;H>=X-7;H--)se=f(R.get(8,H),se);for(var V=X-8;V<X;V++)se=f(R.get(V,8),se);for(var he=1/0,J=null,de=0,we=g;de<we.length;de++){var re=we[de],ae=re.bits,De=re.formatInfo;if(ae===T||ae===se)return De;var Pe=u(T,ae);Pe<he&&(J=De,he=Pe),T!==se&&(Pe=u(se,ae),Pe<he&&(J=De,he=Pe))}return he<=3?J:null}function A(R,T,V){var H=T.errorCorrectionLevels[V],X=[],se=0;if(H.ecBlocks.forEach(function(Ve){for(var ze=0;ze<Ve.numBlocks;ze++)X.push({numDataCodewords:Ve.dataCodewordsPerBlock,codewords:[]}),se+=Ve.dataCodewordsPerBlock+H.ecCodewordsPerBlock}),R.length<se)return null;R=R.slice(0,se);for(var he=H.ecBlocks[0].dataCodewordsPerBlock,J=0;J<he;J++)for(var de=0,we=X;de<we.length;de++){var re=we[de];re.codewords.push(R.shift())}if(H.ecBlocks.length>1)for(var ae=H.ecBlocks[0].numBlocks,De=H.ecBlocks[1].numBlocks,J=0;J<De;J++)X[ae+J].codewords.push(R.shift());for(;R.length>0;)for(var Pe=0,xe=X;Pe<xe.length;Pe++){var re=xe[Pe];re.codewords.push(R.shift())}return X}function P(R){var T=y(R);if(!T)return null;var V=w(R);if(!V)return null;var H=b(R,T,V),X=A(H,T,V.errorCorrectionLevel);if(!X)return null;for(var se=X.reduce(function(Pe,xe){return Pe+xe.numDataCodewords},0),he=new Uint8ClampedArray(se),J=0,de=0,we=X;de<we.length;de++){var re=we[de],ae=a.decode(re.codewords,re.codewords.length-re.numDataCodewords);if(!ae)return null;for(var De=0;De<re.numDataCodewords;De++)he[J++]=ae[De]}try{return r.decode(he,T.versionNumber)}catch{return null}}function M(R){if(R==null)return null;var T=P(R);if(T)return T;for(var V=0;V<R.width;V++)for(var H=V+1;H<R.height;H++)R.get(V,H)!==R.get(H,V)&&(R.set(V,H,!R.get(V,H)),R.set(H,V,!R.get(H,V)));return P(R)}i.decode=M}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(7),r=n(8),a;(function(y){y.Numeric="numeric",y.Alphanumeric="alphanumeric",y.Byte="byte",y.Kanji="kanji",y.ECI="eci"})(a=i.Mode||(i.Mode={}));var d;(function(y){y[y.Terminator=0]="Terminator",y[y.Numeric=1]="Numeric",y[y.Alphanumeric=2]="Alphanumeric",y[y.Byte=4]="Byte",y[y.Kanji=8]="Kanji",y[y.ECI=7]="ECI"})(d||(d={}));function u(y,w){for(var A=[],P="",M=[10,12,14][w],R=y.readBits(M);R>=3;){var T=y.readBits(10);if(T>=1e3)throw new Error("Invalid numeric value above 999");var V=Math.floor(T/100),H=Math.floor(T/10)%10,X=T%10;A.push(48+V,48+H,48+X),P+=V.toString()+H.toString()+X.toString(),R-=3}if(R===2){var T=y.readBits(7);if(T>=100)throw new Error("Invalid numeric value above 99");var V=Math.floor(T/10),H=T%10;A.push(48+V,48+H),P+=V.toString()+H.toString()}else if(R===1){var T=y.readBits(4);if(T>=10)throw new Error("Invalid numeric value above 9");A.push(48+T),P+=T.toString()}return{bytes:A,text:P}}var f=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function g(y,w){for(var A=[],P="",M=[9,11,13][w],R=y.readBits(M);R>=2;){var T=y.readBits(11),V=Math.floor(T/45),H=T%45;A.push(f[V].charCodeAt(0),f[H].charCodeAt(0)),P+=f[V]+f[H],R-=2}if(R===1){var V=y.readBits(6);A.push(f[V].charCodeAt(0)),P+=f[V]}return{bytes:A,text:P}}function p(y,w){for(var A=[],P="",M=[8,16,16][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(8);A.push(V)}try{P+=decodeURIComponent(A.map(function(H){return"%"+("0"+H.toString(16)).substr(-2)}).join(""))}catch{}return{bytes:A,text:P}}function C(y,w){for(var A=[],P="",M=[8,10,12][w],R=y.readBits(M),T=0;T<R;T++){var V=y.readBits(13),H=Math.floor(V/192)<<8|V%192;H<7936?H+=33088:H+=49472,A.push(H>>8,H&255),P+=String.fromCharCode(r.shiftJISTable[H])}return{bytes:A,text:P}}function b(y,w){for(var A,P,M,R,T=new s.BitStream(y),V=w<=9?0:w<=26?1:2,H={text:"",bytes:[],chunks:[],version:w};T.available()>=4;){var X=T.readBits(4);if(X===d.Terminator)return H;if(X===d.ECI)T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(7)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(14)}):T.readBits(1)===0?H.chunks.push({type:a.ECI,assignmentNumber:T.readBits(21)}):H.chunks.push({type:a.ECI,assignmentNumber:-1});else if(X===d.Numeric){var se=u(T,V);H.text+=se.text,(A=H.bytes).push.apply(A,se.bytes),H.chunks.push({type:a.Numeric,text:se.text})}else if(X===d.Alphanumeric){var he=g(T,V);H.text+=he.text,(P=H.bytes).push.apply(P,he.bytes),H.chunks.push({type:a.Alphanumeric,text:he.text})}else if(X===d.Byte){var J=p(T,V);H.text+=J.text,(M=H.bytes).push.apply(M,J.bytes),H.chunks.push({type:a.Byte,bytes:J.bytes,text:J.text})}else if(X===d.Kanji){var de=C(T,V);H.text+=de.text,(R=H.bytes).push.apply(R,de.bytes),H.chunks.push({type:a.Kanji,bytes:de.bytes,text:de.text})}}if(T.available()===0||T.readBits(T.available())===0)return H}i.decode=b}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=(function(){function r(a){this.byteOffset=0,this.bitOffset=0,this.bytes=a}return r.prototype.readBits=function(a){if(a<1||a>32||a>this.available())throw new Error("Cannot read "+a.toString()+" bits");var d=0;if(this.bitOffset>0){var u=8-this.bitOffset,f=a<u?a:u,g=u-f,p=255>>8-f<<g;d=(this.bytes[this.byteOffset]&p)>>g,a-=f,this.bitOffset+=f,this.bitOffset===8&&(this.bitOffset=0,this.byteOffset++)}if(a>0){for(;a>=8;)d=d<<8|this.bytes[this.byteOffset]&255,this.byteOffset++,a-=8;if(a>0){var g=8-a,p=255>>g<<g;d=d<<a|(this.bytes[this.byteOffset]&p)>>g,this.bitOffset+=a}}return d},r.prototype.available=function(){return 8*(this.bytes.length-this.byteOffset)-this.bitOffset},r})();i.BitStream=s}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.shiftJISTable={32:32,33:33,34:34,35:35,36:36,37:37,38:38,39:39,40:40,41:41,42:42,43:43,44:44,45:45,46:46,47:47,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,58:58,59:59,60:60,61:61,62:62,63:63,64:64,65:65,66:66,67:67,68:68,69:69,70:70,71:71,72:72,73:73,74:74,75:75,76:76,77:77,78:78,79:79,80:80,81:81,82:82,83:83,84:84,85:85,86:86,87:87,88:88,89:89,90:90,91:91,92:165,93:93,94:94,95:95,96:96,97:97,98:98,99:99,100:100,101:101,102:102,103:103,104:104,105:105,106:106,107:107,108:108,109:109,110:110,111:111,112:112,113:113,114:114,115:115,116:116,117:117,118:118,119:119,120:120,121:121,122:122,123:123,124:124,125:125,126:8254,33088:12288,33089:12289,33090:12290,33091:65292,33092:65294,33093:12539,33094:65306,33095:65307,33096:65311,33097:65281,33098:12443,33099:12444,33100:180,33101:65344,33102:168,33103:65342,33104:65507,33105:65343,33106:12541,33107:12542,33108:12445,33109:12446,33110:12291,33111:20189,33112:12293,33113:12294,33114:12295,33115:12540,33116:8213,33117:8208,33118:65295,33119:92,33120:12316,33121:8214,33122:65372,33123:8230,33124:8229,33125:8216,33126:8217,33127:8220,33128:8221,33129:65288,33130:65289,33131:12308,33132:12309,33133:65339,33134:65341,33135:65371,33136:65373,33137:12296,33138:12297,33139:12298,33140:12299,33141:12300,33142:12301,33143:12302,33144:12303,33145:12304,33146:12305,33147:65291,33148:8722,33149:177,33150:215,33152:247,33153:65309,33154:8800,33155:65308,33156:65310,33157:8806,33158:8807,33159:8734,33160:8756,33161:9794,33162:9792,33163:176,33164:8242,33165:8243,33166:8451,33167:65509,33168:65284,33169:162,33170:163,33171:65285,33172:65283,33173:65286,33174:65290,33175:65312,33176:167,33177:9734,33178:9733,33179:9675,33180:9679,33181:9678,33182:9671,33183:9670,33184:9633,33185:9632,33186:9651,33187:9650,33188:9661,33189:9660,33190:8251,33191:12306,33192:8594,33193:8592,33194:8593,33195:8595,33196:12307,33208:8712,33209:8715,33210:8838,33211:8839,33212:8834,33213:8835,33214:8746,33215:8745,33224:8743,33225:8744,33226:172,33227:8658,33228:8660,33229:8704,33230:8707,33242:8736,33243:8869,33244:8978,33245:8706,33246:8711,33247:8801,33248:8786,33249:8810,33250:8811,33251:8730,33252:8765,33253:8733,33254:8757,33255:8747,33256:8748,33264:8491,33265:8240,33266:9839,33267:9837,33268:9834,33269:8224,33270:8225,33271:182,33276:9711,33359:65296,33360:65297,33361:65298,33362:65299,33363:65300,33364:65301,33365:65302,33366:65303,33367:65304,33368:65305,33376:65313,33377:65314,33378:65315,33379:65316,33380:65317,33381:65318,33382:65319,33383:65320,33384:65321,33385:65322,33386:65323,33387:65324,33388:65325,33389:65326,33390:65327,33391:65328,33392:65329,33393:65330,33394:65331,33395:65332,33396:65333,33397:65334,33398:65335,33399:65336,33400:65337,33401:65338,33409:65345,33410:65346,33411:65347,33412:65348,33413:65349,33414:65350,33415:65351,33416:65352,33417:65353,33418:65354,33419:65355,33420:65356,33421:65357,33422:65358,33423:65359,33424:65360,33425:65361,33426:65362,33427:65363,33428:65364,33429:65365,33430:65366,33431:65367,33432:65368,33433:65369,33434:65370,33439:12353,33440:12354,33441:12355,33442:12356,33443:12357,33444:12358,33445:12359,33446:12360,33447:12361,33448:12362,33449:12363,33450:12364,33451:12365,33452:12366,33453:12367,33454:12368,33455:12369,33456:12370,33457:12371,33458:12372,33459:12373,33460:12374,33461:12375,33462:12376,33463:12377,33464:12378,33465:12379,33466:12380,33467:12381,33468:12382,33469:12383,33470:12384,33471:12385,33472:12386,33473:12387,33474:12388,33475:12389,33476:12390,33477:12391,33478:12392,33479:12393,33480:12394,33481:12395,33482:12396,33483:12397,33484:12398,33485:12399,33486:12400,33487:12401,33488:12402,33489:12403,33490:12404,33491:12405,33492:12406,33493:12407,33494:12408,33495:12409,33496:12410,33497:12411,33498:12412,33499:12413,33500:12414,33501:12415,33502:12416,33503:12417,33504:12418,33505:12419,33506:12420,33507:12421,33508:12422,33509:12423,33510:12424,33511:12425,33512:12426,33513:12427,33514:12428,33515:12429,33516:12430,33517:12431,33518:12432,33519:12433,33520:12434,33521:12435,33600:12449,33601:12450,33602:12451,33603:12452,33604:12453,33605:12454,33606:12455,33607:12456,33608:12457,33609:12458,33610:12459,33611:12460,33612:12461,33613:12462,33614:12463,33615:12464,33616:12465,33617:12466,33618:12467,33619:12468,33620:12469,33621:12470,33622:12471,33623:12472,33624:12473,33625:12474,33626:12475,33627:12476,33628:12477,33629:12478,33630:12479,33631:12480,33632:12481,33633:12482,33634:12483,33635:12484,33636:12485,33637:12486,33638:12487,33639:12488,33640:12489,33641:12490,33642:12491,33643:12492,33644:12493,33645:12494,33646:12495,33647:12496,33648:12497,33649:12498,33650:12499,33651:12500,33652:12501,33653:12502,33654:12503,33655:12504,33656:12505,33657:12506,33658:12507,33659:12508,33660:12509,33661:12510,33662:12511,33664:12512,33665:12513,33666:12514,33667:12515,33668:12516,33669:12517,33670:12518,33671:12519,33672:12520,33673:12521,33674:12522,33675:12523,33676:12524,33677:12525,33678:12526,33679:12527,33680:12528,33681:12529,33682:12530,33683:12531,33684:12532,33685:12533,33686:12534,33695:913,33696:914,33697:915,33698:916,33699:917,33700:918,33701:919,33702:920,33703:921,33704:922,33705:923,33706:924,33707:925,33708:926,33709:927,33710:928,33711:929,33712:931,33713:932,33714:933,33715:934,33716:935,33717:936,33718:937,33727:945,33728:946,33729:947,33730:948,33731:949,33732:950,33733:951,33734:952,33735:953,33736:954,33737:955,33738:956,33739:957,33740:958,33741:959,33742:960,33743:961,33744:963,33745:964,33746:965,33747:966,33748:967,33749:968,33750:969,33856:1040,33857:1041,33858:1042,33859:1043,33860:1044,33861:1045,33862:1025,33863:1046,33864:1047,33865:1048,33866:1049,33867:1050,33868:1051,33869:1052,33870:1053,33871:1054,33872:1055,33873:1056,33874:1057,33875:1058,33876:1059,33877:1060,33878:1061,33879:1062,33880:1063,33881:1064,33882:1065,33883:1066,33884:1067,33885:1068,33886:1069,33887:1070,33888:1071,33904:1072,33905:1073,33906:1074,33907:1075,33908:1076,33909:1077,33910:1105,33911:1078,33912:1079,33913:1080,33914:1081,33915:1082,33916:1083,33917:1084,33918:1085,33920:1086,33921:1087,33922:1088,33923:1089,33924:1090,33925:1091,33926:1092,33927:1093,33928:1094,33929:1095,33930:1096,33931:1097,33932:1098,33933:1099,33934:1100,33935:1101,33936:1102,33937:1103,33951:9472,33952:9474,33953:9484,33954:9488,33955:9496,33956:9492,33957:9500,33958:9516,33959:9508,33960:9524,33961:9532,33962:9473,33963:9475,33964:9487,33965:9491,33966:9499,33967:9495,33968:9507,33969:9523,33970:9515,33971:9531,33972:9547,33973:9504,33974:9519,33975:9512,33976:9527,33977:9535,33978:9501,33979:9520,33980:9509,33981:9528,33982:9538,34975:20124,34976:21782,34977:23043,34978:38463,34979:21696,34980:24859,34981:25384,34982:23030,34983:36898,34984:33909,34985:33564,34986:31312,34987:24746,34988:25569,34989:28197,34990:26093,34991:33894,34992:33446,34993:39925,34994:26771,34995:22311,34996:26017,34997:25201,34998:23451,34999:22992,35e3:34427,35001:39156,35002:32098,35003:32190,35004:39822,35005:25110,35006:31903,35007:34999,35008:23433,35009:24245,35010:25353,35011:26263,35012:26696,35013:38343,35014:38797,35015:26447,35016:20197,35017:20234,35018:20301,35019:20381,35020:20553,35021:22258,35022:22839,35023:22996,35024:23041,35025:23561,35026:24799,35027:24847,35028:24944,35029:26131,35030:26885,35031:28858,35032:30031,35033:30064,35034:31227,35035:32173,35036:32239,35037:32963,35038:33806,35039:34915,35040:35586,35041:36949,35042:36986,35043:21307,35044:20117,35045:20133,35046:22495,35047:32946,35048:37057,35049:30959,35050:19968,35051:22769,35052:28322,35053:36920,35054:31282,35055:33576,35056:33419,35057:39983,35058:20801,35059:21360,35060:21693,35061:21729,35062:22240,35063:23035,35064:24341,35065:39154,35066:28139,35067:32996,35068:34093,35136:38498,35137:38512,35138:38560,35139:38907,35140:21515,35141:21491,35142:23431,35143:28879,35144:32701,35145:36802,35146:38632,35147:21359,35148:40284,35149:31418,35150:19985,35151:30867,35152:33276,35153:28198,35154:22040,35155:21764,35156:27421,35157:34074,35158:39995,35159:23013,35160:21417,35161:28006,35162:29916,35163:38287,35164:22082,35165:20113,35166:36939,35167:38642,35168:33615,35169:39180,35170:21473,35171:21942,35172:23344,35173:24433,35174:26144,35175:26355,35176:26628,35177:27704,35178:27891,35179:27945,35180:29787,35181:30408,35182:31310,35183:38964,35184:33521,35185:34907,35186:35424,35187:37613,35188:28082,35189:30123,35190:30410,35191:39365,35192:24742,35193:35585,35194:36234,35195:38322,35196:27022,35197:21421,35198:20870,35200:22290,35201:22576,35202:22852,35203:23476,35204:24310,35205:24616,35206:25513,35207:25588,35208:27839,35209:28436,35210:28814,35211:28948,35212:29017,35213:29141,35214:29503,35215:32257,35216:33398,35217:33489,35218:34199,35219:36960,35220:37467,35221:40219,35222:22633,35223:26044,35224:27738,35225:29989,35226:20985,35227:22830,35228:22885,35229:24448,35230:24540,35231:25276,35232:26106,35233:27178,35234:27431,35235:27572,35236:29579,35237:32705,35238:35158,35239:40236,35240:40206,35241:40644,35242:23713,35243:27798,35244:33659,35245:20740,35246:23627,35247:25014,35248:33222,35249:26742,35250:29281,35251:20057,35252:20474,35253:21368,35254:24681,35255:28201,35256:31311,35257:38899,35258:19979,35259:21270,35260:20206,35261:20309,35262:20285,35263:20385,35264:20339,35265:21152,35266:21487,35267:22025,35268:22799,35269:23233,35270:23478,35271:23521,35272:31185,35273:26247,35274:26524,35275:26550,35276:27468,35277:27827,35278:28779,35279:29634,35280:31117,35281:31166,35282:31292,35283:31623,35284:33457,35285:33499,35286:33540,35287:33655,35288:33775,35289:33747,35290:34662,35291:35506,35292:22057,35293:36008,35294:36838,35295:36942,35296:38686,35297:34442,35298:20420,35299:23784,35300:25105,35301:29273,35302:30011,35303:33253,35304:33469,35305:34558,35306:36032,35307:38597,35308:39187,35309:39381,35310:20171,35311:20250,35312:35299,35313:22238,35314:22602,35315:22730,35316:24315,35317:24555,35318:24618,35319:24724,35320:24674,35321:25040,35322:25106,35323:25296,35324:25913,35392:39745,35393:26214,35394:26800,35395:28023,35396:28784,35397:30028,35398:30342,35399:32117,35400:33445,35401:34809,35402:38283,35403:38542,35404:35997,35405:20977,35406:21182,35407:22806,35408:21683,35409:23475,35410:23830,35411:24936,35412:27010,35413:28079,35414:30861,35415:33995,35416:34903,35417:35442,35418:37799,35419:39608,35420:28012,35421:39336,35422:34521,35423:22435,35424:26623,35425:34510,35426:37390,35427:21123,35428:22151,35429:21508,35430:24275,35431:25313,35432:25785,35433:26684,35434:26680,35435:27579,35436:29554,35437:30906,35438:31339,35439:35226,35440:35282,35441:36203,35442:36611,35443:37101,35444:38307,35445:38548,35446:38761,35447:23398,35448:23731,35449:27005,35450:38989,35451:38990,35452:25499,35453:31520,35454:27179,35456:27263,35457:26806,35458:39949,35459:28511,35460:21106,35461:21917,35462:24688,35463:25324,35464:27963,35465:28167,35466:28369,35467:33883,35468:35088,35469:36676,35470:19988,35471:39993,35472:21494,35473:26907,35474:27194,35475:38788,35476:26666,35477:20828,35478:31427,35479:33970,35480:37340,35481:37772,35482:22107,35483:40232,35484:26658,35485:33541,35486:33841,35487:31909,35488:21e3,35489:33477,35490:29926,35491:20094,35492:20355,35493:20896,35494:23506,35495:21002,35496:21208,35497:21223,35498:24059,35499:21914,35500:22570,35501:23014,35502:23436,35503:23448,35504:23515,35505:24178,35506:24185,35507:24739,35508:24863,35509:24931,35510:25022,35511:25563,35512:25954,35513:26577,35514:26707,35515:26874,35516:27454,35517:27475,35518:27735,35519:28450,35520:28567,35521:28485,35522:29872,35523:29976,35524:30435,35525:30475,35526:31487,35527:31649,35528:31777,35529:32233,35530:32566,35531:32752,35532:32925,35533:33382,35534:33694,35535:35251,35536:35532,35537:36011,35538:36996,35539:37969,35540:38291,35541:38289,35542:38306,35543:38501,35544:38867,35545:39208,35546:33304,35547:20024,35548:21547,35549:23736,35550:24012,35551:29609,35552:30284,35553:30524,35554:23721,35555:32747,35556:36107,35557:38593,35558:38929,35559:38996,35560:39e3,35561:20225,35562:20238,35563:21361,35564:21916,35565:22120,35566:22522,35567:22855,35568:23305,35569:23492,35570:23696,35571:24076,35572:24190,35573:24524,35574:25582,35575:26426,35576:26071,35577:26082,35578:26399,35579:26827,35580:26820,35648:27231,35649:24112,35650:27589,35651:27671,35652:27773,35653:30079,35654:31048,35655:23395,35656:31232,35657:32e3,35658:24509,35659:35215,35660:35352,35661:36020,35662:36215,35663:36556,35664:36637,35665:39138,35666:39438,35667:39740,35668:20096,35669:20605,35670:20736,35671:22931,35672:23452,35673:25135,35674:25216,35675:25836,35676:27450,35677:29344,35678:30097,35679:31047,35680:32681,35681:34811,35682:35516,35683:35696,35684:25516,35685:33738,35686:38816,35687:21513,35688:21507,35689:21931,35690:26708,35691:27224,35692:35440,35693:30759,35694:26485,35695:40653,35696:21364,35697:23458,35698:33050,35699:34384,35700:36870,35701:19992,35702:20037,35703:20167,35704:20241,35705:21450,35706:21560,35707:23470,35708:24339,35709:24613,35710:25937,35712:26429,35713:27714,35714:27762,35715:27875,35716:28792,35717:29699,35718:31350,35719:31406,35720:31496,35721:32026,35722:31998,35723:32102,35724:26087,35725:29275,35726:21435,35727:23621,35728:24040,35729:25298,35730:25312,35731:25369,35732:28192,35733:34394,35734:35377,35735:36317,35736:37624,35737:28417,35738:31142,35739:39770,35740:20136,35741:20139,35742:20140,35743:20379,35744:20384,35745:20689,35746:20807,35747:31478,35748:20849,35749:20982,35750:21332,35751:21281,35752:21375,35753:21483,35754:21932,35755:22659,35756:23777,35757:24375,35758:24394,35759:24623,35760:24656,35761:24685,35762:25375,35763:25945,35764:27211,35765:27841,35766:29378,35767:29421,35768:30703,35769:33016,35770:33029,35771:33288,35772:34126,35773:37111,35774:37857,35775:38911,35776:39255,35777:39514,35778:20208,35779:20957,35780:23597,35781:26241,35782:26989,35783:23616,35784:26354,35785:26997,35786:29577,35787:26704,35788:31873,35789:20677,35790:21220,35791:22343,35792:24062,35793:37670,35794:26020,35795:27427,35796:27453,35797:29748,35798:31105,35799:31165,35800:31563,35801:32202,35802:33465,35803:33740,35804:34943,35805:35167,35806:35641,35807:36817,35808:37329,35809:21535,35810:37504,35811:20061,35812:20534,35813:21477,35814:21306,35815:29399,35816:29590,35817:30697,35818:33510,35819:36527,35820:39366,35821:39368,35822:39378,35823:20855,35824:24858,35825:34398,35826:21936,35827:31354,35828:20598,35829:23507,35830:36935,35831:38533,35832:20018,35833:27355,35834:37351,35835:23633,35836:23624,35904:25496,35905:31391,35906:27795,35907:38772,35908:36705,35909:31402,35910:29066,35911:38536,35912:31874,35913:26647,35914:32368,35915:26705,35916:37740,35917:21234,35918:21531,35919:34219,35920:35347,35921:32676,35922:36557,35923:37089,35924:21350,35925:34952,35926:31041,35927:20418,35928:20670,35929:21009,35930:20804,35931:21843,35932:22317,35933:29674,35934:22411,35935:22865,35936:24418,35937:24452,35938:24693,35939:24950,35940:24935,35941:25001,35942:25522,35943:25658,35944:25964,35945:26223,35946:26690,35947:28179,35948:30054,35949:31293,35950:31995,35951:32076,35952:32153,35953:32331,35954:32619,35955:33550,35956:33610,35957:34509,35958:35336,35959:35427,35960:35686,35961:36605,35962:38938,35963:40335,35964:33464,35965:36814,35966:39912,35968:21127,35969:25119,35970:25731,35971:28608,35972:38553,35973:26689,35974:20625,35975:27424,35976:27770,35977:28500,35978:31348,35979:32080,35980:34880,35981:35363,35982:26376,35983:20214,35984:20537,35985:20518,35986:20581,35987:20860,35988:21048,35989:21091,35990:21927,35991:22287,35992:22533,35993:23244,35994:24314,35995:25010,35996:25080,35997:25331,35998:25458,35999:26908,36e3:27177,36001:29309,36002:29356,36003:29486,36004:30740,36005:30831,36006:32121,36007:30476,36008:32937,36009:35211,36010:35609,36011:36066,36012:36562,36013:36963,36014:37749,36015:38522,36016:38997,36017:39443,36018:40568,36019:20803,36020:21407,36021:21427,36022:24187,36023:24358,36024:28187,36025:28304,36026:29572,36027:29694,36028:32067,36029:33335,36030:35328,36031:35578,36032:38480,36033:20046,36034:20491,36035:21476,36036:21628,36037:22266,36038:22993,36039:23396,36040:24049,36041:24235,36042:24359,36043:25144,36044:25925,36045:26543,36046:28246,36047:29392,36048:31946,36049:34996,36050:32929,36051:32993,36052:33776,36053:34382,36054:35463,36055:36328,36056:37431,36057:38599,36058:39015,36059:40723,36060:20116,36061:20114,36062:20237,36063:21320,36064:21577,36065:21566,36066:23087,36067:24460,36068:24481,36069:24735,36070:26791,36071:27278,36072:29786,36073:30849,36074:35486,36075:35492,36076:35703,36077:37264,36078:20062,36079:39881,36080:20132,36081:20348,36082:20399,36083:20505,36084:20502,36085:20809,36086:20844,36087:21151,36088:21177,36089:21246,36090:21402,36091:21475,36092:21521,36160:21518,36161:21897,36162:22353,36163:22434,36164:22909,36165:23380,36166:23389,36167:23439,36168:24037,36169:24039,36170:24055,36171:24184,36172:24195,36173:24218,36174:24247,36175:24344,36176:24658,36177:24908,36178:25239,36179:25304,36180:25511,36181:25915,36182:26114,36183:26179,36184:26356,36185:26477,36186:26657,36187:26775,36188:27083,36189:27743,36190:27946,36191:28009,36192:28207,36193:28317,36194:30002,36195:30343,36196:30828,36197:31295,36198:31968,36199:32005,36200:32024,36201:32094,36202:32177,36203:32789,36204:32771,36205:32943,36206:32945,36207:33108,36208:33167,36209:33322,36210:33618,36211:34892,36212:34913,36213:35611,36214:36002,36215:36092,36216:37066,36217:37237,36218:37489,36219:30783,36220:37628,36221:38308,36222:38477,36224:38917,36225:39321,36226:39640,36227:40251,36228:21083,36229:21163,36230:21495,36231:21512,36232:22741,36233:25335,36234:28640,36235:35946,36236:36703,36237:40633,36238:20811,36239:21051,36240:21578,36241:22269,36242:31296,36243:37239,36244:40288,36245:40658,36246:29508,36247:28425,36248:33136,36249:29969,36250:24573,36251:24794,36252:39592,36253:29403,36254:36796,36255:27492,36256:38915,36257:20170,36258:22256,36259:22372,36260:22718,36261:23130,36262:24680,36263:25031,36264:26127,36265:26118,36266:26681,36267:26801,36268:28151,36269:30165,36270:32058,36271:33390,36272:39746,36273:20123,36274:20304,36275:21449,36276:21766,36277:23919,36278:24038,36279:24046,36280:26619,36281:27801,36282:29811,36283:30722,36284:35408,36285:37782,36286:35039,36287:22352,36288:24231,36289:25387,36290:20661,36291:20652,36292:20877,36293:26368,36294:21705,36295:22622,36296:22971,36297:23472,36298:24425,36299:25165,36300:25505,36301:26685,36302:27507,36303:28168,36304:28797,36305:37319,36306:29312,36307:30741,36308:30758,36309:31085,36310:25998,36311:32048,36312:33756,36313:35009,36314:36617,36315:38555,36316:21092,36317:22312,36318:26448,36319:32618,36320:36001,36321:20916,36322:22338,36323:38442,36324:22586,36325:27018,36326:32948,36327:21682,36328:23822,36329:22524,36330:30869,36331:40442,36332:20316,36333:21066,36334:21643,36335:25662,36336:26152,36337:26388,36338:26613,36339:31364,36340:31574,36341:32034,36342:37679,36343:26716,36344:39853,36345:31545,36346:21273,36347:20874,36348:21047,36416:23519,36417:25334,36418:25774,36419:25830,36420:26413,36421:27578,36422:34217,36423:38609,36424:30352,36425:39894,36426:25420,36427:37638,36428:39851,36429:30399,36430:26194,36431:19977,36432:20632,36433:21442,36434:23665,36435:24808,36436:25746,36437:25955,36438:26719,36439:29158,36440:29642,36441:29987,36442:31639,36443:32386,36444:34453,36445:35715,36446:36059,36447:37240,36448:39184,36449:26028,36450:26283,36451:27531,36452:20181,36453:20180,36454:20282,36455:20351,36456:21050,36457:21496,36458:21490,36459:21987,36460:22235,36461:22763,36462:22987,36463:22985,36464:23039,36465:23376,36466:23629,36467:24066,36468:24107,36469:24535,36470:24605,36471:25351,36472:25903,36473:23388,36474:26031,36475:26045,36476:26088,36477:26525,36478:27490,36480:27515,36481:27663,36482:29509,36483:31049,36484:31169,36485:31992,36486:32025,36487:32043,36488:32930,36489:33026,36490:33267,36491:35222,36492:35422,36493:35433,36494:35430,36495:35468,36496:35566,36497:36039,36498:36060,36499:38604,36500:39164,36501:27503,36502:20107,36503:20284,36504:20365,36505:20816,36506:23383,36507:23546,36508:24904,36509:25345,36510:26178,36511:27425,36512:28363,36513:27835,36514:29246,36515:29885,36516:30164,36517:30913,36518:31034,36519:32780,36520:32819,36521:33258,36522:33940,36523:36766,36524:27728,36525:40575,36526:24335,36527:35672,36528:40235,36529:31482,36530:36600,36531:23437,36532:38635,36533:19971,36534:21489,36535:22519,36536:22833,36537:23241,36538:23460,36539:24713,36540:28287,36541:28422,36542:30142,36543:36074,36544:23455,36545:34048,36546:31712,36547:20594,36548:26612,36549:33437,36550:23649,36551:34122,36552:32286,36553:33294,36554:20889,36555:23556,36556:25448,36557:36198,36558:26012,36559:29038,36560:31038,36561:32023,36562:32773,36563:35613,36564:36554,36565:36974,36566:34503,36567:37034,36568:20511,36569:21242,36570:23610,36571:26451,36572:28796,36573:29237,36574:37196,36575:37320,36576:37675,36577:33509,36578:23490,36579:24369,36580:24825,36581:20027,36582:21462,36583:23432,36584:25163,36585:26417,36586:27530,36587:29417,36588:29664,36589:31278,36590:33131,36591:36259,36592:37202,36593:39318,36594:20754,36595:21463,36596:21610,36597:23551,36598:25480,36599:27193,36600:32172,36601:38656,36602:22234,36603:21454,36604:21608,36672:23447,36673:23601,36674:24030,36675:20462,36676:24833,36677:25342,36678:27954,36679:31168,36680:31179,36681:32066,36682:32333,36683:32722,36684:33261,36685:33311,36686:33936,36687:34886,36688:35186,36689:35728,36690:36468,36691:36655,36692:36913,36693:37195,36694:37228,36695:38598,36696:37276,36697:20160,36698:20303,36699:20805,36700:21313,36701:24467,36702:25102,36703:26580,36704:27713,36705:28171,36706:29539,36707:32294,36708:37325,36709:37507,36710:21460,36711:22809,36712:23487,36713:28113,36714:31069,36715:32302,36716:31899,36717:22654,36718:29087,36719:20986,36720:34899,36721:36848,36722:20426,36723:23803,36724:26149,36725:30636,36726:31459,36727:33308,36728:39423,36729:20934,36730:24490,36731:26092,36732:26991,36733:27529,36734:28147,36736:28310,36737:28516,36738:30462,36739:32020,36740:24033,36741:36981,36742:37255,36743:38918,36744:20966,36745:21021,36746:25152,36747:26257,36748:26329,36749:28186,36750:24246,36751:32210,36752:32626,36753:26360,36754:34223,36755:34295,36756:35576,36757:21161,36758:21465,36759:22899,36760:24207,36761:24464,36762:24661,36763:37604,36764:38500,36765:20663,36766:20767,36767:21213,36768:21280,36769:21319,36770:21484,36771:21736,36772:21830,36773:21809,36774:22039,36775:22888,36776:22974,36777:23100,36778:23477,36779:23558,36780:23567,36781:23569,36782:23578,36783:24196,36784:24202,36785:24288,36786:24432,36787:25215,36788:25220,36789:25307,36790:25484,36791:25463,36792:26119,36793:26124,36794:26157,36795:26230,36796:26494,36797:26786,36798:27167,36799:27189,36800:27836,36801:28040,36802:28169,36803:28248,36804:28988,36805:28966,36806:29031,36807:30151,36808:30465,36809:30813,36810:30977,36811:31077,36812:31216,36813:31456,36814:31505,36815:31911,36816:32057,36817:32918,36818:33750,36819:33931,36820:34121,36821:34909,36822:35059,36823:35359,36824:35388,36825:35412,36826:35443,36827:35937,36828:36062,36829:37284,36830:37478,36831:37758,36832:37912,36833:38556,36834:38808,36835:19978,36836:19976,36837:19998,36838:20055,36839:20887,36840:21104,36841:22478,36842:22580,36843:22732,36844:23330,36845:24120,36846:24773,36847:25854,36848:26465,36849:26454,36850:27972,36851:29366,36852:30067,36853:31331,36854:33976,36855:35698,36856:37304,36857:37664,36858:22065,36859:22516,36860:39166,36928:25325,36929:26893,36930:27542,36931:29165,36932:32340,36933:32887,36934:33394,36935:35302,36936:39135,36937:34645,36938:36785,36939:23611,36940:20280,36941:20449,36942:20405,36943:21767,36944:23072,36945:23517,36946:23529,36947:24515,36948:24910,36949:25391,36950:26032,36951:26187,36952:26862,36953:27035,36954:28024,36955:28145,36956:30003,36957:30137,36958:30495,36959:31070,36960:31206,36961:32051,36962:33251,36963:33455,36964:34218,36965:35242,36966:35386,36967:36523,36968:36763,36969:36914,36970:37341,36971:38663,36972:20154,36973:20161,36974:20995,36975:22645,36976:22764,36977:23563,36978:29978,36979:23613,36980:33102,36981:35338,36982:36805,36983:38499,36984:38765,36985:31525,36986:35535,36987:38920,36988:37218,36989:22259,36990:21416,36992:36887,36993:21561,36994:22402,36995:24101,36996:25512,36997:27700,36998:28810,36999:30561,37e3:31883,37001:32736,37002:34928,37003:36930,37004:37204,37005:37648,37006:37656,37007:38543,37008:29790,37009:39620,37010:23815,37011:23913,37012:25968,37013:26530,37014:36264,37015:38619,37016:25454,37017:26441,37018:26905,37019:33733,37020:38935,37021:38592,37022:35070,37023:28548,37024:25722,37025:23544,37026:19990,37027:28716,37028:30045,37029:26159,37030:20932,37031:21046,37032:21218,37033:22995,37034:24449,37035:24615,37036:25104,37037:25919,37038:25972,37039:26143,37040:26228,37041:26866,37042:26646,37043:27491,37044:28165,37045:29298,37046:29983,37047:30427,37048:31934,37049:32854,37050:22768,37051:35069,37052:35199,37053:35488,37054:35475,37055:35531,37056:36893,37057:37266,37058:38738,37059:38745,37060:25993,37061:31246,37062:33030,37063:38587,37064:24109,37065:24796,37066:25114,37067:26021,37068:26132,37069:26512,37070:30707,37071:31309,37072:31821,37073:32318,37074:33034,37075:36012,37076:36196,37077:36321,37078:36447,37079:30889,37080:20999,37081:25305,37082:25509,37083:25666,37084:25240,37085:35373,37086:31363,37087:31680,37088:35500,37089:38634,37090:32118,37091:33292,37092:34633,37093:20185,37094:20808,37095:21315,37096:21344,37097:23459,37098:23554,37099:23574,37100:24029,37101:25126,37102:25159,37103:25776,37104:26643,37105:26676,37106:27849,37107:27973,37108:27927,37109:26579,37110:28508,37111:29006,37112:29053,37113:26059,37114:31359,37115:31661,37116:32218,37184:32330,37185:32680,37186:33146,37187:33307,37188:33337,37189:34214,37190:35438,37191:36046,37192:36341,37193:36984,37194:36983,37195:37549,37196:37521,37197:38275,37198:39854,37199:21069,37200:21892,37201:28472,37202:28982,37203:20840,37204:31109,37205:32341,37206:33203,37207:31950,37208:22092,37209:22609,37210:23720,37211:25514,37212:26366,37213:26365,37214:26970,37215:29401,37216:30095,37217:30094,37218:30990,37219:31062,37220:31199,37221:31895,37222:32032,37223:32068,37224:34311,37225:35380,37226:38459,37227:36961,37228:40736,37229:20711,37230:21109,37231:21452,37232:21474,37233:20489,37234:21930,37235:22766,37236:22863,37237:29245,37238:23435,37239:23652,37240:21277,37241:24803,37242:24819,37243:25436,37244:25475,37245:25407,37246:25531,37248:25805,37249:26089,37250:26361,37251:24035,37252:27085,37253:27133,37254:28437,37255:29157,37256:20105,37257:30185,37258:30456,37259:31379,37260:31967,37261:32207,37262:32156,37263:32865,37264:33609,37265:33624,37266:33900,37267:33980,37268:34299,37269:35013,37270:36208,37271:36865,37272:36973,37273:37783,37274:38684,37275:39442,37276:20687,37277:22679,37278:24974,37279:33235,37280:34101,37281:36104,37282:36896,37283:20419,37284:20596,37285:21063,37286:21363,37287:24687,37288:25417,37289:26463,37290:28204,37291:36275,37292:36895,37293:20439,37294:23646,37295:36042,37296:26063,37297:32154,37298:21330,37299:34966,37300:20854,37301:25539,37302:23384,37303:23403,37304:23562,37305:25613,37306:26449,37307:36956,37308:20182,37309:22810,37310:22826,37311:27760,37312:35409,37313:21822,37314:22549,37315:22949,37316:24816,37317:25171,37318:26561,37319:33333,37320:26965,37321:38464,37322:39364,37323:39464,37324:20307,37325:22534,37326:23550,37327:32784,37328:23729,37329:24111,37330:24453,37331:24608,37332:24907,37333:25140,37334:26367,37335:27888,37336:28382,37337:32974,37338:33151,37339:33492,37340:34955,37341:36024,37342:36864,37343:36910,37344:38538,37345:40667,37346:39899,37347:20195,37348:21488,37349:22823,37350:31532,37351:37261,37352:38988,37353:40441,37354:28381,37355:28711,37356:21331,37357:21828,37358:23429,37359:25176,37360:25246,37361:25299,37362:27810,37363:28655,37364:29730,37365:35351,37366:37944,37367:28609,37368:35582,37369:33592,37370:20967,37371:34552,37372:21482,37440:21481,37441:20294,37442:36948,37443:36784,37444:22890,37445:33073,37446:24061,37447:31466,37448:36799,37449:26842,37450:35895,37451:29432,37452:40008,37453:27197,37454:35504,37455:20025,37456:21336,37457:22022,37458:22374,37459:25285,37460:25506,37461:26086,37462:27470,37463:28129,37464:28251,37465:28845,37466:30701,37467:31471,37468:31658,37469:32187,37470:32829,37471:32966,37472:34507,37473:35477,37474:37723,37475:22243,37476:22727,37477:24382,37478:26029,37479:26262,37480:27264,37481:27573,37482:30007,37483:35527,37484:20516,37485:30693,37486:22320,37487:24347,37488:24677,37489:26234,37490:27744,37491:30196,37492:31258,37493:32622,37494:33268,37495:34584,37496:36933,37497:39347,37498:31689,37499:30044,37500:31481,37501:31569,37502:33988,37504:36880,37505:31209,37506:31378,37507:33590,37508:23265,37509:30528,37510:20013,37511:20210,37512:23449,37513:24544,37514:25277,37515:26172,37516:26609,37517:27880,37518:34411,37519:34935,37520:35387,37521:37198,37522:37619,37523:39376,37524:27159,37525:28710,37526:29482,37527:33511,37528:33879,37529:36015,37530:19969,37531:20806,37532:20939,37533:21899,37534:23541,37535:24086,37536:24115,37537:24193,37538:24340,37539:24373,37540:24427,37541:24500,37542:25074,37543:25361,37544:26274,37545:26397,37546:28526,37547:29266,37548:30010,37549:30522,37550:32884,37551:33081,37552:33144,37553:34678,37554:35519,37555:35548,37556:36229,37557:36339,37558:37530,37559:38263,37560:38914,37561:40165,37562:21189,37563:25431,37564:30452,37565:26389,37566:27784,37567:29645,37568:36035,37569:37806,37570:38515,37571:27941,37572:22684,37573:26894,37574:27084,37575:36861,37576:37786,37577:30171,37578:36890,37579:22618,37580:26626,37581:25524,37582:27131,37583:20291,37584:28460,37585:26584,37586:36795,37587:34086,37588:32180,37589:37716,37590:26943,37591:28528,37592:22378,37593:22775,37594:23340,37595:32044,37596:29226,37597:21514,37598:37347,37599:40372,37600:20141,37601:20302,37602:20572,37603:20597,37604:21059,37605:35998,37606:21576,37607:22564,37608:23450,37609:24093,37610:24213,37611:24237,37612:24311,37613:24351,37614:24716,37615:25269,37616:25402,37617:25552,37618:26799,37619:27712,37620:30855,37621:31118,37622:31243,37623:32224,37624:33351,37625:35330,37626:35558,37627:36420,37628:36883,37696:37048,37697:37165,37698:37336,37699:40718,37700:27877,37701:25688,37702:25826,37703:25973,37704:28404,37705:30340,37706:31515,37707:36969,37708:37841,37709:28346,37710:21746,37711:24505,37712:25764,37713:36685,37714:36845,37715:37444,37716:20856,37717:22635,37718:22825,37719:23637,37720:24215,37721:28155,37722:32399,37723:29980,37724:36028,37725:36578,37726:39003,37727:28857,37728:20253,37729:27583,37730:28593,37731:3e4,37732:38651,37733:20814,37734:21520,37735:22581,37736:22615,37737:22956,37738:23648,37739:24466,37740:26007,37741:26460,37742:28193,37743:30331,37744:33759,37745:36077,37746:36884,37747:37117,37748:37709,37749:30757,37750:30778,37751:21162,37752:24230,37753:22303,37754:22900,37755:24594,37756:20498,37757:20826,37758:20908,37760:20941,37761:20992,37762:21776,37763:22612,37764:22616,37765:22871,37766:23445,37767:23798,37768:23947,37769:24764,37770:25237,37771:25645,37772:26481,37773:26691,37774:26812,37775:26847,37776:30423,37777:28120,37778:28271,37779:28059,37780:28783,37781:29128,37782:24403,37783:30168,37784:31095,37785:31561,37786:31572,37787:31570,37788:31958,37789:32113,37790:21040,37791:33891,37792:34153,37793:34276,37794:35342,37795:35588,37796:35910,37797:36367,37798:36867,37799:36879,37800:37913,37801:38518,37802:38957,37803:39472,37804:38360,37805:20685,37806:21205,37807:21516,37808:22530,37809:23566,37810:24999,37811:25758,37812:27934,37813:30643,37814:31461,37815:33012,37816:33796,37817:36947,37818:37509,37819:23776,37820:40199,37821:21311,37822:24471,37823:24499,37824:28060,37825:29305,37826:30563,37827:31167,37828:31716,37829:27602,37830:29420,37831:35501,37832:26627,37833:27233,37834:20984,37835:31361,37836:26932,37837:23626,37838:40182,37839:33515,37840:23493,37841:37193,37842:28702,37843:22136,37844:23663,37845:24775,37846:25958,37847:27788,37848:35930,37849:36929,37850:38931,37851:21585,37852:26311,37853:37389,37854:22856,37855:37027,37856:20869,37857:20045,37858:20970,37859:34201,37860:35598,37861:28760,37862:25466,37863:37707,37864:26978,37865:39348,37866:32260,37867:30071,37868:21335,37869:26976,37870:36575,37871:38627,37872:27741,37873:20108,37874:23612,37875:24336,37876:36841,37877:21250,37878:36049,37879:32905,37880:34425,37881:24319,37882:26085,37883:20083,37884:20837,37952:22914,37953:23615,37954:38894,37955:20219,37956:22922,37957:24525,37958:35469,37959:28641,37960:31152,37961:31074,37962:23527,37963:33905,37964:29483,37965:29105,37966:24180,37967:24565,37968:25467,37969:25754,37970:29123,37971:31896,37972:20035,37973:24316,37974:20043,37975:22492,37976:22178,37977:24745,37978:28611,37979:32013,37980:33021,37981:33075,37982:33215,37983:36786,37984:35223,37985:34468,37986:24052,37987:25226,37988:25773,37989:35207,37990:26487,37991:27874,37992:27966,37993:29750,37994:30772,37995:23110,37996:32629,37997:33453,37998:39340,37999:20467,38e3:24259,38001:25309,38002:25490,38003:25943,38004:26479,38005:30403,38006:29260,38007:32972,38008:32954,38009:36649,38010:37197,38011:20493,38012:22521,38013:23186,38014:26757,38016:26995,38017:29028,38018:29437,38019:36023,38020:22770,38021:36064,38022:38506,38023:36889,38024:34687,38025:31204,38026:30695,38027:33833,38028:20271,38029:21093,38030:21338,38031:25293,38032:26575,38033:27850,38034:30333,38035:31636,38036:31893,38037:33334,38038:34180,38039:36843,38040:26333,38041:28448,38042:29190,38043:32283,38044:33707,38045:39361,38046:40614,38047:20989,38048:31665,38049:30834,38050:31672,38051:32903,38052:31560,38053:27368,38054:24161,38055:32908,38056:30033,38057:30048,38058:20843,38059:37474,38060:28300,38061:30330,38062:37271,38063:39658,38064:20240,38065:32624,38066:25244,38067:31567,38068:38309,38069:40169,38070:22138,38071:22617,38072:34532,38073:38588,38074:20276,38075:21028,38076:21322,38077:21453,38078:21467,38079:24070,38080:25644,38081:26001,38082:26495,38083:27710,38084:27726,38085:29256,38086:29359,38087:29677,38088:30036,38089:32321,38090:33324,38091:34281,38092:36009,38093:31684,38094:37318,38095:29033,38096:38930,38097:39151,38098:25405,38099:26217,38100:30058,38101:30436,38102:30928,38103:34115,38104:34542,38105:21290,38106:21329,38107:21542,38108:22915,38109:24199,38110:24444,38111:24754,38112:25161,38113:25209,38114:25259,38115:26e3,38116:27604,38117:27852,38118:30130,38119:30382,38120:30865,38121:31192,38122:32203,38123:32631,38124:32933,38125:34987,38126:35513,38127:36027,38128:36991,38129:38750,38130:39131,38131:27147,38132:31800,38133:20633,38134:23614,38135:24494,38136:26503,38137:27608,38138:29749,38139:30473,38140:32654,38208:40763,38209:26570,38210:31255,38211:21305,38212:30091,38213:39661,38214:24422,38215:33181,38216:33777,38217:32920,38218:24380,38219:24517,38220:30050,38221:31558,38222:36924,38223:26727,38224:23019,38225:23195,38226:32016,38227:30334,38228:35628,38229:20469,38230:24426,38231:27161,38232:27703,38233:28418,38234:29922,38235:31080,38236:34920,38237:35413,38238:35961,38239:24287,38240:25551,38241:30149,38242:31186,38243:33495,38244:37672,38245:37618,38246:33948,38247:34541,38248:39981,38249:21697,38250:24428,38251:25996,38252:27996,38253:28693,38254:36007,38255:36051,38256:38971,38257:25935,38258:29942,38259:19981,38260:20184,38261:22496,38262:22827,38263:23142,38264:23500,38265:20904,38266:24067,38267:24220,38268:24598,38269:25206,38270:25975,38272:26023,38273:26222,38274:28014,38275:29238,38276:31526,38277:33104,38278:33178,38279:33433,38280:35676,38281:36e3,38282:36070,38283:36212,38284:38428,38285:38468,38286:20398,38287:25771,38288:27494,38289:33310,38290:33889,38291:34154,38292:37096,38293:23553,38294:26963,38295:39080,38296:33914,38297:34135,38298:20239,38299:21103,38300:24489,38301:24133,38302:26381,38303:31119,38304:33145,38305:35079,38306:35206,38307:28149,38308:24343,38309:25173,38310:27832,38311:20175,38312:29289,38313:39826,38314:20998,38315:21563,38316:22132,38317:22707,38318:24996,38319:25198,38320:28954,38321:22894,38322:31881,38323:31966,38324:32027,38325:38640,38326:25991,38327:32862,38328:19993,38329:20341,38330:20853,38331:22592,38332:24163,38333:24179,38334:24330,38335:26564,38336:20006,38337:34109,38338:38281,38339:38491,38340:31859,38341:38913,38342:20731,38343:22721,38344:30294,38345:30887,38346:21029,38347:30629,38348:34065,38349:31622,38350:20559,38351:22793,38352:29255,38353:31687,38354:32232,38355:36794,38356:36820,38357:36941,38358:20415,38359:21193,38360:23081,38361:24321,38362:38829,38363:20445,38364:33303,38365:37610,38366:22275,38367:25429,38368:27497,38369:29995,38370:35036,38371:36628,38372:31298,38373:21215,38374:22675,38375:24917,38376:25098,38377:26286,38378:27597,38379:31807,38380:33769,38381:20515,38382:20472,38383:21253,38384:21574,38385:22577,38386:22857,38387:23453,38388:23792,38389:23791,38390:23849,38391:24214,38392:25265,38393:25447,38394:25918,38395:26041,38396:26379,38464:27861,38465:27873,38466:28921,38467:30770,38468:32299,38469:32990,38470:33459,38471:33804,38472:34028,38473:34562,38474:35090,38475:35370,38476:35914,38477:37030,38478:37586,38479:39165,38480:40179,38481:40300,38482:20047,38483:20129,38484:20621,38485:21078,38486:22346,38487:22952,38488:24125,38489:24536,38490:24537,38491:25151,38492:26292,38493:26395,38494:26576,38495:26834,38496:20882,38497:32033,38498:32938,38499:33192,38500:35584,38501:35980,38502:36031,38503:37502,38504:38450,38505:21536,38506:38956,38507:21271,38508:20693,38509:21340,38510:22696,38511:25778,38512:26420,38513:29287,38514:30566,38515:31302,38516:37350,38517:21187,38518:27809,38519:27526,38520:22528,38521:24140,38522:22868,38523:26412,38524:32763,38525:20961,38526:30406,38528:25705,38529:30952,38530:39764,38531:40635,38532:22475,38533:22969,38534:26151,38535:26522,38536:27598,38537:21737,38538:27097,38539:24149,38540:33180,38541:26517,38542:39850,38543:26622,38544:40018,38545:26717,38546:20134,38547:20451,38548:21448,38549:25273,38550:26411,38551:27819,38552:36804,38553:20397,38554:32365,38555:40639,38556:19975,38557:24930,38558:28288,38559:28459,38560:34067,38561:21619,38562:26410,38563:39749,38564:24051,38565:31637,38566:23724,38567:23494,38568:34588,38569:28234,38570:34001,38571:31252,38572:33032,38573:22937,38574:31885,38575:27665,38576:30496,38577:21209,38578:22818,38579:28961,38580:29279,38581:30683,38582:38695,38583:40289,38584:26891,38585:23167,38586:23064,38587:20901,38588:21517,38589:21629,38590:26126,38591:30431,38592:36855,38593:37528,38594:40180,38595:23018,38596:29277,38597:28357,38598:20813,38599:26825,38600:32191,38601:32236,38602:38754,38603:40634,38604:25720,38605:27169,38606:33538,38607:22916,38608:23391,38609:27611,38610:29467,38611:30450,38612:32178,38613:32791,38614:33945,38615:20786,38616:26408,38617:40665,38618:30446,38619:26466,38620:21247,38621:39173,38622:23588,38623:25147,38624:31870,38625:36016,38626:21839,38627:24758,38628:32011,38629:38272,38630:21249,38631:20063,38632:20918,38633:22812,38634:29242,38635:32822,38636:37326,38637:24357,38638:30690,38639:21380,38640:24441,38641:32004,38642:34220,38643:35379,38644:36493,38645:38742,38646:26611,38647:34222,38648:37971,38649:24841,38650:24840,38651:27833,38652:30290,38720:35565,38721:36664,38722:21807,38723:20305,38724:20778,38725:21191,38726:21451,38727:23461,38728:24189,38729:24736,38730:24962,38731:25558,38732:26377,38733:26586,38734:28263,38735:28044,38736:29494,38737:29495,38738:30001,38739:31056,38740:35029,38741:35480,38742:36938,38743:37009,38744:37109,38745:38596,38746:34701,38747:22805,38748:20104,38749:20313,38750:19982,38751:35465,38752:36671,38753:38928,38754:20653,38755:24188,38756:22934,38757:23481,38758:24248,38759:25562,38760:25594,38761:25793,38762:26332,38763:26954,38764:27096,38765:27915,38766:28342,38767:29076,38768:29992,38769:31407,38770:32650,38771:32768,38772:33865,38773:33993,38774:35201,38775:35617,38776:36362,38777:36965,38778:38525,38779:39178,38780:24958,38781:25233,38782:27442,38784:27779,38785:28020,38786:32716,38787:32764,38788:28096,38789:32645,38790:34746,38791:35064,38792:26469,38793:33713,38794:38972,38795:38647,38796:27931,38797:32097,38798:33853,38799:37226,38800:20081,38801:21365,38802:23888,38803:27396,38804:28651,38805:34253,38806:34349,38807:35239,38808:21033,38809:21519,38810:23653,38811:26446,38812:26792,38813:29702,38814:29827,38815:30178,38816:35023,38817:35041,38818:37324,38819:38626,38820:38520,38821:24459,38822:29575,38823:31435,38824:33870,38825:25504,38826:30053,38827:21129,38828:27969,38829:28316,38830:29705,38831:30041,38832:30827,38833:31890,38834:38534,38835:31452,38836:40845,38837:20406,38838:24942,38839:26053,38840:34396,38841:20102,38842:20142,38843:20698,38844:20001,38845:20940,38846:23534,38847:26009,38848:26753,38849:28092,38850:29471,38851:30274,38852:30637,38853:31260,38854:31975,38855:33391,38856:35538,38857:36988,38858:37327,38859:38517,38860:38936,38861:21147,38862:32209,38863:20523,38864:21400,38865:26519,38866:28107,38867:29136,38868:29747,38869:33256,38870:36650,38871:38563,38872:40023,38873:40607,38874:29792,38875:22593,38876:28057,38877:32047,38878:39006,38879:20196,38880:20278,38881:20363,38882:20919,38883:21169,38884:23994,38885:24604,38886:29618,38887:31036,38888:33491,38889:37428,38890:38583,38891:38646,38892:38666,38893:40599,38894:40802,38895:26278,38896:27508,38897:21015,38898:21155,38899:28872,38900:35010,38901:24265,38902:24651,38903:24976,38904:28451,38905:29001,38906:31806,38907:32244,38908:32879,38976:34030,38977:36899,38978:37676,38979:21570,38980:39791,38981:27347,38982:28809,38983:36034,38984:36335,38985:38706,38986:21172,38987:23105,38988:24266,38989:24324,38990:26391,38991:27004,38992:27028,38993:28010,38994:28431,38995:29282,38996:29436,38997:31725,38998:32769,38999:32894,39e3:34635,39001:37070,39002:20845,39003:40595,39004:31108,39005:32907,39006:37682,39007:35542,39008:20525,39009:21644,39010:35441,39011:27498,39012:36036,39013:33031,39014:24785,39015:26528,39016:40434,39017:20121,39018:20120,39019:39952,39020:35435,39021:34241,39022:34152,39023:26880,39024:28286,39025:30871,39026:33109,39071:24332,39072:19984,39073:19989,39074:20010,39075:20017,39076:20022,39077:20028,39078:20031,39079:20034,39080:20054,39081:20056,39082:20098,39083:20101,39084:35947,39085:20106,39086:33298,39087:24333,39088:20110,39089:20126,39090:20127,39091:20128,39092:20130,39093:20144,39094:20147,39095:20150,39096:20174,39097:20173,39098:20164,39099:20166,39100:20162,39101:20183,39102:20190,39103:20205,39104:20191,39105:20215,39106:20233,39107:20314,39108:20272,39109:20315,39110:20317,39111:20311,39112:20295,39113:20342,39114:20360,39115:20367,39116:20376,39117:20347,39118:20329,39119:20336,39120:20369,39121:20335,39122:20358,39123:20374,39124:20760,39125:20436,39126:20447,39127:20430,39128:20440,39129:20443,39130:20433,39131:20442,39132:20432,39133:20452,39134:20453,39135:20506,39136:20520,39137:20500,39138:20522,39139:20517,39140:20485,39141:20252,39142:20470,39143:20513,39144:20521,39145:20524,39146:20478,39147:20463,39148:20497,39149:20486,39150:20547,39151:20551,39152:26371,39153:20565,39154:20560,39155:20552,39156:20570,39157:20566,39158:20588,39159:20600,39160:20608,39161:20634,39162:20613,39163:20660,39164:20658,39232:20681,39233:20682,39234:20659,39235:20674,39236:20694,39237:20702,39238:20709,39239:20717,39240:20707,39241:20718,39242:20729,39243:20725,39244:20745,39245:20737,39246:20738,39247:20758,39248:20757,39249:20756,39250:20762,39251:20769,39252:20794,39253:20791,39254:20796,39255:20795,39256:20799,39257:20800,39258:20818,39259:20812,39260:20820,39261:20834,39262:31480,39263:20841,39264:20842,39265:20846,39266:20864,39267:20866,39268:22232,39269:20876,39270:20873,39271:20879,39272:20881,39273:20883,39274:20885,39275:20886,39276:20900,39277:20902,39278:20898,39279:20905,39280:20906,39281:20907,39282:20915,39283:20913,39284:20914,39285:20912,39286:20917,39287:20925,39288:20933,39289:20937,39290:20955,39291:20960,39292:34389,39293:20969,39294:20973,39296:20976,39297:20981,39298:20990,39299:20996,39300:21003,39301:21012,39302:21006,39303:21031,39304:21034,39305:21038,39306:21043,39307:21049,39308:21071,39309:21060,39310:21067,39311:21068,39312:21086,39313:21076,39314:21098,39315:21108,39316:21097,39317:21107,39318:21119,39319:21117,39320:21133,39321:21140,39322:21138,39323:21105,39324:21128,39325:21137,39326:36776,39327:36775,39328:21164,39329:21165,39330:21180,39331:21173,39332:21185,39333:21197,39334:21207,39335:21214,39336:21219,39337:21222,39338:39149,39339:21216,39340:21235,39341:21237,39342:21240,39343:21241,39344:21254,39345:21256,39346:30008,39347:21261,39348:21264,39349:21263,39350:21269,39351:21274,39352:21283,39353:21295,39354:21297,39355:21299,39356:21304,39357:21312,39358:21318,39359:21317,39360:19991,39361:21321,39362:21325,39363:20950,39364:21342,39365:21353,39366:21358,39367:22808,39368:21371,39369:21367,39370:21378,39371:21398,39372:21408,39373:21414,39374:21413,39375:21422,39376:21424,39377:21430,39378:21443,39379:31762,39380:38617,39381:21471,39382:26364,39383:29166,39384:21486,39385:21480,39386:21485,39387:21498,39388:21505,39389:21565,39390:21568,39391:21548,39392:21549,39393:21564,39394:21550,39395:21558,39396:21545,39397:21533,39398:21582,39399:21647,39400:21621,39401:21646,39402:21599,39403:21617,39404:21623,39405:21616,39406:21650,39407:21627,39408:21632,39409:21622,39410:21636,39411:21648,39412:21638,39413:21703,39414:21666,39415:21688,39416:21669,39417:21676,39418:21700,39419:21704,39420:21672,39488:21675,39489:21698,39490:21668,39491:21694,39492:21692,39493:21720,39494:21733,39495:21734,39496:21775,39497:21780,39498:21757,39499:21742,39500:21741,39501:21754,39502:21730,39503:21817,39504:21824,39505:21859,39506:21836,39507:21806,39508:21852,39509:21829,39510:21846,39511:21847,39512:21816,39513:21811,39514:21853,39515:21913,39516:21888,39517:21679,39518:21898,39519:21919,39520:21883,39521:21886,39522:21912,39523:21918,39524:21934,39525:21884,39526:21891,39527:21929,39528:21895,39529:21928,39530:21978,39531:21957,39532:21983,39533:21956,39534:21980,39535:21988,39536:21972,39537:22036,39538:22007,39539:22038,39540:22014,39541:22013,39542:22043,39543:22009,39544:22094,39545:22096,39546:29151,39547:22068,39548:22070,39549:22066,39550:22072,39552:22123,39553:22116,39554:22063,39555:22124,39556:22122,39557:22150,39558:22144,39559:22154,39560:22176,39561:22164,39562:22159,39563:22181,39564:22190,39565:22198,39566:22196,39567:22210,39568:22204,39569:22209,39570:22211,39571:22208,39572:22216,39573:22222,39574:22225,39575:22227,39576:22231,39577:22254,39578:22265,39579:22272,39580:22271,39581:22276,39582:22281,39583:22280,39584:22283,39585:22285,39586:22291,39587:22296,39588:22294,39589:21959,39590:22300,39591:22310,39592:22327,39593:22328,39594:22350,39595:22331,39596:22336,39597:22351,39598:22377,39599:22464,39600:22408,39601:22369,39602:22399,39603:22409,39604:22419,39605:22432,39606:22451,39607:22436,39608:22442,39609:22448,39610:22467,39611:22470,39612:22484,39613:22482,39614:22483,39615:22538,39616:22486,39617:22499,39618:22539,39619:22553,39620:22557,39621:22642,39622:22561,39623:22626,39624:22603,39625:22640,39626:27584,39627:22610,39628:22589,39629:22649,39630:22661,39631:22713,39632:22687,39633:22699,39634:22714,39635:22750,39636:22715,39637:22712,39638:22702,39639:22725,39640:22739,39641:22737,39642:22743,39643:22745,39644:22744,39645:22757,39646:22748,39647:22756,39648:22751,39649:22767,39650:22778,39651:22777,39652:22779,39653:22780,39654:22781,39655:22786,39656:22794,39657:22800,39658:22811,39659:26790,39660:22821,39661:22828,39662:22829,39663:22834,39664:22840,39665:22846,39666:31442,39667:22869,39668:22864,39669:22862,39670:22874,39671:22872,39672:22882,39673:22880,39674:22887,39675:22892,39676:22889,39744:22904,39745:22913,39746:22941,39747:20318,39748:20395,39749:22947,39750:22962,39751:22982,39752:23016,39753:23004,39754:22925,39755:23001,39756:23002,39757:23077,39758:23071,39759:23057,39760:23068,39761:23049,39762:23066,39763:23104,39764:23148,39765:23113,39766:23093,39767:23094,39768:23138,39769:23146,39770:23194,39771:23228,39772:23230,39773:23243,39774:23234,39775:23229,39776:23267,39777:23255,39778:23270,39779:23273,39780:23254,39781:23290,39782:23291,39783:23308,39784:23307,39785:23318,39786:23346,39787:23248,39788:23338,39789:23350,39790:23358,39791:23363,39792:23365,39793:23360,39794:23377,39795:23381,39796:23386,39797:23387,39798:23397,39799:23401,39800:23408,39801:23411,39802:23413,39803:23416,39804:25992,39805:23418,39806:23424,39808:23427,39809:23462,39810:23480,39811:23491,39812:23495,39813:23497,39814:23508,39815:23504,39816:23524,39817:23526,39818:23522,39819:23518,39820:23525,39821:23531,39822:23536,39823:23542,39824:23539,39825:23557,39826:23559,39827:23560,39828:23565,39829:23571,39830:23584,39831:23586,39832:23592,39833:23608,39834:23609,39835:23617,39836:23622,39837:23630,39838:23635,39839:23632,39840:23631,39841:23409,39842:23660,39843:23662,39844:20066,39845:23670,39846:23673,39847:23692,39848:23697,39849:23700,39850:22939,39851:23723,39852:23739,39853:23734,39854:23740,39855:23735,39856:23749,39857:23742,39858:23751,39859:23769,39860:23785,39861:23805,39862:23802,39863:23789,39864:23948,39865:23786,39866:23819,39867:23829,39868:23831,39869:23900,39870:23839,39871:23835,39872:23825,39873:23828,39874:23842,39875:23834,39876:23833,39877:23832,39878:23884,39879:23890,39880:23886,39881:23883,39882:23916,39883:23923,39884:23926,39885:23943,39886:23940,39887:23938,39888:23970,39889:23965,39890:23980,39891:23982,39892:23997,39893:23952,39894:23991,39895:23996,39896:24009,39897:24013,39898:24019,39899:24018,39900:24022,39901:24027,39902:24043,39903:24050,39904:24053,39905:24075,39906:24090,39907:24089,39908:24081,39909:24091,39910:24118,39911:24119,39912:24132,39913:24131,39914:24128,39915:24142,39916:24151,39917:24148,39918:24159,39919:24162,39920:24164,39921:24135,39922:24181,39923:24182,39924:24186,39925:40636,39926:24191,39927:24224,39928:24257,39929:24258,39930:24264,39931:24272,39932:24271,4e4:24278,40001:24291,40002:24285,40003:24282,40004:24283,40005:24290,40006:24289,40007:24296,40008:24297,40009:24300,40010:24305,40011:24307,40012:24304,40013:24308,40014:24312,40015:24318,40016:24323,40017:24329,40018:24413,40019:24412,40020:24331,40021:24337,40022:24342,40023:24361,40024:24365,40025:24376,40026:24385,40027:24392,40028:24396,40029:24398,40030:24367,40031:24401,40032:24406,40033:24407,40034:24409,40035:24417,40036:24429,40037:24435,40038:24439,40039:24451,40040:24450,40041:24447,40042:24458,40043:24456,40044:24465,40045:24455,40046:24478,40047:24473,40048:24472,40049:24480,40050:24488,40051:24493,40052:24508,40053:24534,40054:24571,40055:24548,40056:24568,40057:24561,40058:24541,40059:24755,40060:24575,40061:24609,40062:24672,40064:24601,40065:24592,40066:24617,40067:24590,40068:24625,40069:24603,40070:24597,40071:24619,40072:24614,40073:24591,40074:24634,40075:24666,40076:24641,40077:24682,40078:24695,40079:24671,40080:24650,40081:24646,40082:24653,40083:24675,40084:24643,40085:24676,40086:24642,40087:24684,40088:24683,40089:24665,40090:24705,40091:24717,40092:24807,40093:24707,40094:24730,40095:24708,40096:24731,40097:24726,40098:24727,40099:24722,40100:24743,40101:24715,40102:24801,40103:24760,40104:24800,40105:24787,40106:24756,40107:24560,40108:24765,40109:24774,40110:24757,40111:24792,40112:24909,40113:24853,40114:24838,40115:24822,40116:24823,40117:24832,40118:24820,40119:24826,40120:24835,40121:24865,40122:24827,40123:24817,40124:24845,40125:24846,40126:24903,40127:24894,40128:24872,40129:24871,40130:24906,40131:24895,40132:24892,40133:24876,40134:24884,40135:24893,40136:24898,40137:24900,40138:24947,40139:24951,40140:24920,40141:24921,40142:24922,40143:24939,40144:24948,40145:24943,40146:24933,40147:24945,40148:24927,40149:24925,40150:24915,40151:24949,40152:24985,40153:24982,40154:24967,40155:25004,40156:24980,40157:24986,40158:24970,40159:24977,40160:25003,40161:25006,40162:25036,40163:25034,40164:25033,40165:25079,40166:25032,40167:25027,40168:25030,40169:25018,40170:25035,40171:32633,40172:25037,40173:25062,40174:25059,40175:25078,40176:25082,40177:25076,40178:25087,40179:25085,40180:25084,40181:25086,40182:25088,40183:25096,40184:25097,40185:25101,40186:25100,40187:25108,40188:25115,40256:25118,40257:25121,40258:25130,40259:25134,40260:25136,40261:25138,40262:25139,40263:25153,40264:25166,40265:25182,40266:25187,40267:25179,40268:25184,40269:25192,40270:25212,40271:25218,40272:25225,40273:25214,40274:25234,40275:25235,40276:25238,40277:25300,40278:25219,40279:25236,40280:25303,40281:25297,40282:25275,40283:25295,40284:25343,40285:25286,40286:25812,40287:25288,40288:25308,40289:25292,40290:25290,40291:25282,40292:25287,40293:25243,40294:25289,40295:25356,40296:25326,40297:25329,40298:25383,40299:25346,40300:25352,40301:25327,40302:25333,40303:25424,40304:25406,40305:25421,40306:25628,40307:25423,40308:25494,40309:25486,40310:25472,40311:25515,40312:25462,40313:25507,40314:25487,40315:25481,40316:25503,40317:25525,40318:25451,40320:25449,40321:25534,40322:25577,40323:25536,40324:25542,40325:25571,40326:25545,40327:25554,40328:25590,40329:25540,40330:25622,40331:25652,40332:25606,40333:25619,40334:25638,40335:25654,40336:25885,40337:25623,40338:25640,40339:25615,40340:25703,40341:25711,40342:25718,40343:25678,40344:25898,40345:25749,40346:25747,40347:25765,40348:25769,40349:25736,40350:25788,40351:25818,40352:25810,40353:25797,40354:25799,40355:25787,40356:25816,40357:25794,40358:25841,40359:25831,40360:33289,40361:25824,40362:25825,40363:25260,40364:25827,40365:25839,40366:25900,40367:25846,40368:25844,40369:25842,40370:25850,40371:25856,40372:25853,40373:25880,40374:25884,40375:25861,40376:25892,40377:25891,40378:25899,40379:25908,40380:25909,40381:25911,40382:25910,40383:25912,40384:30027,40385:25928,40386:25942,40387:25941,40388:25933,40389:25944,40390:25950,40391:25949,40392:25970,40393:25976,40394:25986,40395:25987,40396:35722,40397:26011,40398:26015,40399:26027,40400:26039,40401:26051,40402:26054,40403:26049,40404:26052,40405:26060,40406:26066,40407:26075,40408:26073,40409:26080,40410:26081,40411:26097,40412:26482,40413:26122,40414:26115,40415:26107,40416:26483,40417:26165,40418:26166,40419:26164,40420:26140,40421:26191,40422:26180,40423:26185,40424:26177,40425:26206,40426:26205,40427:26212,40428:26215,40429:26216,40430:26207,40431:26210,40432:26224,40433:26243,40434:26248,40435:26254,40436:26249,40437:26244,40438:26264,40439:26269,40440:26305,40441:26297,40442:26313,40443:26302,40444:26300,40512:26308,40513:26296,40514:26326,40515:26330,40516:26336,40517:26175,40518:26342,40519:26345,40520:26352,40521:26357,40522:26359,40523:26383,40524:26390,40525:26398,40526:26406,40527:26407,40528:38712,40529:26414,40530:26431,40531:26422,40532:26433,40533:26424,40534:26423,40535:26438,40536:26462,40537:26464,40538:26457,40539:26467,40540:26468,40541:26505,40542:26480,40543:26537,40544:26492,40545:26474,40546:26508,40547:26507,40548:26534,40549:26529,40550:26501,40551:26551,40552:26607,40553:26548,40554:26604,40555:26547,40556:26601,40557:26552,40558:26596,40559:26590,40560:26589,40561:26594,40562:26606,40563:26553,40564:26574,40565:26566,40566:26599,40567:27292,40568:26654,40569:26694,40570:26665,40571:26688,40572:26701,40573:26674,40574:26702,40576:26803,40577:26667,40578:26713,40579:26723,40580:26743,40581:26751,40582:26783,40583:26767,40584:26797,40585:26772,40586:26781,40587:26779,40588:26755,40589:27310,40590:26809,40591:26740,40592:26805,40593:26784,40594:26810,40595:26895,40596:26765,40597:26750,40598:26881,40599:26826,40600:26888,40601:26840,40602:26914,40603:26918,40604:26849,40605:26892,40606:26829,40607:26836,40608:26855,40609:26837,40610:26934,40611:26898,40612:26884,40613:26839,40614:26851,40615:26917,40616:26873,40617:26848,40618:26863,40619:26920,40620:26922,40621:26906,40622:26915,40623:26913,40624:26822,40625:27001,40626:26999,40627:26972,40628:27e3,40629:26987,40630:26964,40631:27006,40632:26990,40633:26937,40634:26996,40635:26941,40636:26969,40637:26928,40638:26977,40639:26974,40640:26973,40641:27009,40642:26986,40643:27058,40644:27054,40645:27088,40646:27071,40647:27073,40648:27091,40649:27070,40650:27086,40651:23528,40652:27082,40653:27101,40654:27067,40655:27075,40656:27047,40657:27182,40658:27025,40659:27040,40660:27036,40661:27029,40662:27060,40663:27102,40664:27112,40665:27138,40666:27163,40667:27135,40668:27402,40669:27129,40670:27122,40671:27111,40672:27141,40673:27057,40674:27166,40675:27117,40676:27156,40677:27115,40678:27146,40679:27154,40680:27329,40681:27171,40682:27155,40683:27204,40684:27148,40685:27250,40686:27190,40687:27256,40688:27207,40689:27234,40690:27225,40691:27238,40692:27208,40693:27192,40694:27170,40695:27280,40696:27277,40697:27296,40698:27268,40699:27298,40700:27299,40768:27287,40769:34327,40770:27323,40771:27331,40772:27330,40773:27320,40774:27315,40775:27308,40776:27358,40777:27345,40778:27359,40779:27306,40780:27354,40781:27370,40782:27387,40783:27397,40784:34326,40785:27386,40786:27410,40787:27414,40788:39729,40789:27423,40790:27448,40791:27447,40792:30428,40793:27449,40794:39150,40795:27463,40796:27459,40797:27465,40798:27472,40799:27481,40800:27476,40801:27483,40802:27487,40803:27489,40804:27512,40805:27513,40806:27519,40807:27520,40808:27524,40809:27523,40810:27533,40811:27544,40812:27541,40813:27550,40814:27556,40815:27562,40816:27563,40817:27567,40818:27570,40819:27569,40820:27571,40821:27575,40822:27580,40823:27590,40824:27595,40825:27603,40826:27615,40827:27628,40828:27627,40829:27635,40830:27631,40832:40638,40833:27656,40834:27667,40835:27668,40836:27675,40837:27684,40838:27683,40839:27742,40840:27733,40841:27746,40842:27754,40843:27778,40844:27789,40845:27802,40846:27777,40847:27803,40848:27774,40849:27752,40850:27763,40851:27794,40852:27792,40853:27844,40854:27889,40855:27859,40856:27837,40857:27863,40858:27845,40859:27869,40860:27822,40861:27825,40862:27838,40863:27834,40864:27867,40865:27887,40866:27865,40867:27882,40868:27935,40869:34893,40870:27958,40871:27947,40872:27965,40873:27960,40874:27929,40875:27957,40876:27955,40877:27922,40878:27916,40879:28003,40880:28051,40881:28004,40882:27994,40883:28025,40884:27993,40885:28046,40886:28053,40887:28644,40888:28037,40889:28153,40890:28181,40891:28170,40892:28085,40893:28103,40894:28134,40895:28088,40896:28102,40897:28140,40898:28126,40899:28108,40900:28136,40901:28114,40902:28101,40903:28154,40904:28121,40905:28132,40906:28117,40907:28138,40908:28142,40909:28205,40910:28270,40911:28206,40912:28185,40913:28274,40914:28255,40915:28222,40916:28195,40917:28267,40918:28203,40919:28278,40920:28237,40921:28191,40922:28227,40923:28218,40924:28238,40925:28196,40926:28415,40927:28189,40928:28216,40929:28290,40930:28330,40931:28312,40932:28361,40933:28343,40934:28371,40935:28349,40936:28335,40937:28356,40938:28338,40939:28372,40940:28373,40941:28303,40942:28325,40943:28354,40944:28319,40945:28481,40946:28433,40947:28748,40948:28396,40949:28408,40950:28414,40951:28479,40952:28402,40953:28465,40954:28399,40955:28466,40956:28364,161:65377,162:65378,163:65379,164:65380,165:65381,166:65382,167:65383,168:65384,169:65385,170:65386,171:65387,172:65388,173:65389,174:65390,175:65391,176:65392,177:65393,178:65394,179:65395,180:65396,181:65397,182:65398,183:65399,184:65400,185:65401,186:65402,187:65403,188:65404,189:65405,190:65406,191:65407,192:65408,193:65409,194:65410,195:65411,196:65412,197:65413,198:65414,199:65415,200:65416,201:65417,202:65418,203:65419,204:65420,205:65421,206:65422,207:65423,208:65424,209:65425,210:65426,211:65427,212:65428,213:65429,214:65430,215:65431,216:65432,217:65433,218:65434,219:65435,220:65436,221:65437,222:65438,223:65439,57408:28478,57409:28435,57410:28407,57411:28550,57412:28538,57413:28536,57414:28545,57415:28544,57416:28527,57417:28507,57418:28659,57419:28525,57420:28546,57421:28540,57422:28504,57423:28558,57424:28561,57425:28610,57426:28518,57427:28595,57428:28579,57429:28577,57430:28580,57431:28601,57432:28614,57433:28586,57434:28639,57435:28629,57436:28652,57437:28628,57438:28632,57439:28657,57440:28654,57441:28635,57442:28681,57443:28683,57444:28666,57445:28689,57446:28673,57447:28687,57448:28670,57449:28699,57450:28698,57451:28532,57452:28701,57453:28696,57454:28703,57455:28720,57456:28734,57457:28722,57458:28753,57459:28771,57460:28825,57461:28818,57462:28847,57463:28913,57464:28844,57465:28856,57466:28851,57467:28846,57468:28895,57469:28875,57470:28893,57472:28889,57473:28937,57474:28925,57475:28956,57476:28953,57477:29029,57478:29013,57479:29064,57480:29030,57481:29026,57482:29004,57483:29014,57484:29036,57485:29071,57486:29179,57487:29060,57488:29077,57489:29096,57490:29100,57491:29143,57492:29113,57493:29118,57494:29138,57495:29129,57496:29140,57497:29134,57498:29152,57499:29164,57500:29159,57501:29173,57502:29180,57503:29177,57504:29183,57505:29197,57506:29200,57507:29211,57508:29224,57509:29229,57510:29228,57511:29232,57512:29234,57513:29243,57514:29244,57515:29247,57516:29248,57517:29254,57518:29259,57519:29272,57520:29300,57521:29310,57522:29314,57523:29313,57524:29319,57525:29330,57526:29334,57527:29346,57528:29351,57529:29369,57530:29362,57531:29379,57532:29382,57533:29380,57534:29390,57535:29394,57536:29410,57537:29408,57538:29409,57539:29433,57540:29431,57541:20495,57542:29463,57543:29450,57544:29468,57545:29462,57546:29469,57547:29492,57548:29487,57549:29481,57550:29477,57551:29502,57552:29518,57553:29519,57554:40664,57555:29527,57556:29546,57557:29544,57558:29552,57559:29560,57560:29557,57561:29563,57562:29562,57563:29640,57564:29619,57565:29646,57566:29627,57567:29632,57568:29669,57569:29678,57570:29662,57571:29858,57572:29701,57573:29807,57574:29733,57575:29688,57576:29746,57577:29754,57578:29781,57579:29759,57580:29791,57581:29785,57582:29761,57583:29788,57584:29801,57585:29808,57586:29795,57587:29802,57588:29814,57589:29822,57590:29835,57591:29854,57592:29863,57593:29898,57594:29903,57595:29908,57596:29681,57664:29920,57665:29923,57666:29927,57667:29929,57668:29934,57669:29938,57670:29936,57671:29937,57672:29944,57673:29943,57674:29956,57675:29955,57676:29957,57677:29964,57678:29966,57679:29965,57680:29973,57681:29971,57682:29982,57683:29990,57684:29996,57685:30012,57686:30020,57687:30029,57688:30026,57689:30025,57690:30043,57691:30022,57692:30042,57693:30057,57694:30052,57695:30055,57696:30059,57697:30061,57698:30072,57699:30070,57700:30086,57701:30087,57702:30068,57703:30090,57704:30089,57705:30082,57706:30100,57707:30106,57708:30109,57709:30117,57710:30115,57711:30146,57712:30131,57713:30147,57714:30133,57715:30141,57716:30136,57717:30140,57718:30129,57719:30157,57720:30154,57721:30162,57722:30169,57723:30179,57724:30174,57725:30206,57726:30207,57728:30204,57729:30209,57730:30192,57731:30202,57732:30194,57733:30195,57734:30219,57735:30221,57736:30217,57737:30239,57738:30247,57739:30240,57740:30241,57741:30242,57742:30244,57743:30260,57744:30256,57745:30267,57746:30279,57747:30280,57748:30278,57749:30300,57750:30296,57751:30305,57752:30306,57753:30312,57754:30313,57755:30314,57756:30311,57757:30316,57758:30320,57759:30322,57760:30326,57761:30328,57762:30332,57763:30336,57764:30339,57765:30344,57766:30347,57767:30350,57768:30358,57769:30355,57770:30361,57771:30362,57772:30384,57773:30388,57774:30392,57775:30393,57776:30394,57777:30402,57778:30413,57779:30422,57780:30418,57781:30430,57782:30433,57783:30437,57784:30439,57785:30442,57786:34351,57787:30459,57788:30472,57789:30471,57790:30468,57791:30505,57792:30500,57793:30494,57794:30501,57795:30502,57796:30491,57797:30519,57798:30520,57799:30535,57800:30554,57801:30568,57802:30571,57803:30555,57804:30565,57805:30591,57806:30590,57807:30585,57808:30606,57809:30603,57810:30609,57811:30624,57812:30622,57813:30640,57814:30646,57815:30649,57816:30655,57817:30652,57818:30653,57819:30651,57820:30663,57821:30669,57822:30679,57823:30682,57824:30684,57825:30691,57826:30702,57827:30716,57828:30732,57829:30738,57830:31014,57831:30752,57832:31018,57833:30789,57834:30862,57835:30836,57836:30854,57837:30844,57838:30874,57839:30860,57840:30883,57841:30901,57842:30890,57843:30895,57844:30929,57845:30918,57846:30923,57847:30932,57848:30910,57849:30908,57850:30917,57851:30922,57852:30956,57920:30951,57921:30938,57922:30973,57923:30964,57924:30983,57925:30994,57926:30993,57927:31001,57928:31020,57929:31019,57930:31040,57931:31072,57932:31063,57933:31071,57934:31066,57935:31061,57936:31059,57937:31098,57938:31103,57939:31114,57940:31133,57941:31143,57942:40779,57943:31146,57944:31150,57945:31155,57946:31161,57947:31162,57948:31177,57949:31189,57950:31207,57951:31212,57952:31201,57953:31203,57954:31240,57955:31245,57956:31256,57957:31257,57958:31264,57959:31263,57960:31104,57961:31281,57962:31291,57963:31294,57964:31287,57965:31299,57966:31319,57967:31305,57968:31329,57969:31330,57970:31337,57971:40861,57972:31344,57973:31353,57974:31357,57975:31368,57976:31383,57977:31381,57978:31384,57979:31382,57980:31401,57981:31432,57982:31408,57984:31414,57985:31429,57986:31428,57987:31423,57988:36995,57989:31431,57990:31434,57991:31437,57992:31439,57993:31445,57994:31443,57995:31449,57996:31450,57997:31453,57998:31457,57999:31458,58e3:31462,58001:31469,58002:31472,58003:31490,58004:31503,58005:31498,58006:31494,58007:31539,58008:31512,58009:31513,58010:31518,58011:31541,58012:31528,58013:31542,58014:31568,58015:31610,58016:31492,58017:31565,58018:31499,58019:31564,58020:31557,58021:31605,58022:31589,58023:31604,58024:31591,58025:31600,58026:31601,58027:31596,58028:31598,58029:31645,58030:31640,58031:31647,58032:31629,58033:31644,58034:31642,58035:31627,58036:31634,58037:31631,58038:31581,58039:31641,58040:31691,58041:31681,58042:31692,58043:31695,58044:31668,58045:31686,58046:31709,58047:31721,58048:31761,58049:31764,58050:31718,58051:31717,58052:31840,58053:31744,58054:31751,58055:31763,58056:31731,58057:31735,58058:31767,58059:31757,58060:31734,58061:31779,58062:31783,58063:31786,58064:31775,58065:31799,58066:31787,58067:31805,58068:31820,58069:31811,58070:31828,58071:31823,58072:31808,58073:31824,58074:31832,58075:31839,58076:31844,58077:31830,58078:31845,58079:31852,58080:31861,58081:31875,58082:31888,58083:31908,58084:31917,58085:31906,58086:31915,58087:31905,58088:31912,58089:31923,58090:31922,58091:31921,58092:31918,58093:31929,58094:31933,58095:31936,58096:31941,58097:31938,58098:31960,58099:31954,58100:31964,58101:31970,58102:39739,58103:31983,58104:31986,58105:31988,58106:31990,58107:31994,58108:32006,58176:32002,58177:32028,58178:32021,58179:32010,58180:32069,58181:32075,58182:32046,58183:32050,58184:32063,58185:32053,58186:32070,58187:32115,58188:32086,58189:32078,58190:32114,58191:32104,58192:32110,58193:32079,58194:32099,58195:32147,58196:32137,58197:32091,58198:32143,58199:32125,58200:32155,58201:32186,58202:32174,58203:32163,58204:32181,58205:32199,58206:32189,58207:32171,58208:32317,58209:32162,58210:32175,58211:32220,58212:32184,58213:32159,58214:32176,58215:32216,58216:32221,58217:32228,58218:32222,58219:32251,58220:32242,58221:32225,58222:32261,58223:32266,58224:32291,58225:32289,58226:32274,58227:32305,58228:32287,58229:32265,58230:32267,58231:32290,58232:32326,58233:32358,58234:32315,58235:32309,58236:32313,58237:32323,58238:32311,58240:32306,58241:32314,58242:32359,58243:32349,58244:32342,58245:32350,58246:32345,58247:32346,58248:32377,58249:32362,58250:32361,58251:32380,58252:32379,58253:32387,58254:32213,58255:32381,58256:36782,58257:32383,58258:32392,58259:32393,58260:32396,58261:32402,58262:32400,58263:32403,58264:32404,58265:32406,58266:32398,58267:32411,58268:32412,58269:32568,58270:32570,58271:32581,58272:32588,58273:32589,58274:32590,58275:32592,58276:32593,58277:32597,58278:32596,58279:32600,58280:32607,58281:32608,58282:32616,58283:32617,58284:32615,58285:32632,58286:32642,58287:32646,58288:32643,58289:32648,58290:32647,58291:32652,58292:32660,58293:32670,58294:32669,58295:32666,58296:32675,58297:32687,58298:32690,58299:32697,58300:32686,58301:32694,58302:32696,58303:35697,58304:32709,58305:32710,58306:32714,58307:32725,58308:32724,58309:32737,58310:32742,58311:32745,58312:32755,58313:32761,58314:39132,58315:32774,58316:32772,58317:32779,58318:32786,58319:32792,58320:32793,58321:32796,58322:32801,58323:32808,58324:32831,58325:32827,58326:32842,58327:32838,58328:32850,58329:32856,58330:32858,58331:32863,58332:32866,58333:32872,58334:32883,58335:32882,58336:32880,58337:32886,58338:32889,58339:32893,58340:32895,58341:32900,58342:32902,58343:32901,58344:32923,58345:32915,58346:32922,58347:32941,58348:20880,58349:32940,58350:32987,58351:32997,58352:32985,58353:32989,58354:32964,58355:32986,58356:32982,58357:33033,58358:33007,58359:33009,58360:33051,58361:33065,58362:33059,58363:33071,58364:33099,58432:38539,58433:33094,58434:33086,58435:33107,58436:33105,58437:33020,58438:33137,58439:33134,58440:33125,58441:33126,58442:33140,58443:33155,58444:33160,58445:33162,58446:33152,58447:33154,58448:33184,58449:33173,58450:33188,58451:33187,58452:33119,58453:33171,58454:33193,58455:33200,58456:33205,58457:33214,58458:33208,58459:33213,58460:33216,58461:33218,58462:33210,58463:33225,58464:33229,58465:33233,58466:33241,58467:33240,58468:33224,58469:33242,58470:33247,58471:33248,58472:33255,58473:33274,58474:33275,58475:33278,58476:33281,58477:33282,58478:33285,58479:33287,58480:33290,58481:33293,58482:33296,58483:33302,58484:33321,58485:33323,58486:33336,58487:33331,58488:33344,58489:33369,58490:33368,58491:33373,58492:33370,58493:33375,58494:33380,58496:33378,58497:33384,58498:33386,58499:33387,58500:33326,58501:33393,58502:33399,58503:33400,58504:33406,58505:33421,58506:33426,58507:33451,58508:33439,58509:33467,58510:33452,58511:33505,58512:33507,58513:33503,58514:33490,58515:33524,58516:33523,58517:33530,58518:33683,58519:33539,58520:33531,58521:33529,58522:33502,58523:33542,58524:33500,58525:33545,58526:33497,58527:33589,58528:33588,58529:33558,58530:33586,58531:33585,58532:33600,58533:33593,58534:33616,58535:33605,58536:33583,58537:33579,58538:33559,58539:33560,58540:33669,58541:33690,58542:33706,58543:33695,58544:33698,58545:33686,58546:33571,58547:33678,58548:33671,58549:33674,58550:33660,58551:33717,58552:33651,58553:33653,58554:33696,58555:33673,58556:33704,58557:33780,58558:33811,58559:33771,58560:33742,58561:33789,58562:33795,58563:33752,58564:33803,58565:33729,58566:33783,58567:33799,58568:33760,58569:33778,58570:33805,58571:33826,58572:33824,58573:33725,58574:33848,58575:34054,58576:33787,58577:33901,58578:33834,58579:33852,58580:34138,58581:33924,58582:33911,58583:33899,58584:33965,58585:33902,58586:33922,58587:33897,58588:33862,58589:33836,58590:33903,58591:33913,58592:33845,58593:33994,58594:33890,58595:33977,58596:33983,58597:33951,58598:34009,58599:33997,58600:33979,58601:34010,58602:34e3,58603:33985,58604:33990,58605:34006,58606:33953,58607:34081,58608:34047,58609:34036,58610:34071,58611:34072,58612:34092,58613:34079,58614:34069,58615:34068,58616:34044,58617:34112,58618:34147,58619:34136,58620:34120,58688:34113,58689:34306,58690:34123,58691:34133,58692:34176,58693:34212,58694:34184,58695:34193,58696:34186,58697:34216,58698:34157,58699:34196,58700:34203,58701:34282,58702:34183,58703:34204,58704:34167,58705:34174,58706:34192,58707:34249,58708:34234,58709:34255,58710:34233,58711:34256,58712:34261,58713:34269,58714:34277,58715:34268,58716:34297,58717:34314,58718:34323,58719:34315,58720:34302,58721:34298,58722:34310,58723:34338,58724:34330,58725:34352,58726:34367,58727:34381,58728:20053,58729:34388,58730:34399,58731:34407,58732:34417,58733:34451,58734:34467,58735:34473,58736:34474,58737:34443,58738:34444,58739:34486,58740:34479,58741:34500,58742:34502,58743:34480,58744:34505,58745:34851,58746:34475,58747:34516,58748:34526,58749:34537,58750:34540,58752:34527,58753:34523,58754:34543,58755:34578,58756:34566,58757:34568,58758:34560,58759:34563,58760:34555,58761:34577,58762:34569,58763:34573,58764:34553,58765:34570,58766:34612,58767:34623,58768:34615,58769:34619,58770:34597,58771:34601,58772:34586,58773:34656,58774:34655,58775:34680,58776:34636,58777:34638,58778:34676,58779:34647,58780:34664,58781:34670,58782:34649,58783:34643,58784:34659,58785:34666,58786:34821,58787:34722,58788:34719,58789:34690,58790:34735,58791:34763,58792:34749,58793:34752,58794:34768,58795:38614,58796:34731,58797:34756,58798:34739,58799:34759,58800:34758,58801:34747,58802:34799,58803:34802,58804:34784,58805:34831,58806:34829,58807:34814,58808:34806,58809:34807,58810:34830,58811:34770,58812:34833,58813:34838,58814:34837,58815:34850,58816:34849,58817:34865,58818:34870,58819:34873,58820:34855,58821:34875,58822:34884,58823:34882,58824:34898,58825:34905,58826:34910,58827:34914,58828:34923,58829:34945,58830:34942,58831:34974,58832:34933,58833:34941,58834:34997,58835:34930,58836:34946,58837:34967,58838:34962,58839:34990,58840:34969,58841:34978,58842:34957,58843:34980,58844:34992,58845:35007,58846:34993,58847:35011,58848:35012,58849:35028,58850:35032,58851:35033,58852:35037,58853:35065,58854:35074,58855:35068,58856:35060,58857:35048,58858:35058,58859:35076,58860:35084,58861:35082,58862:35091,58863:35139,58864:35102,58865:35109,58866:35114,58867:35115,58868:35137,58869:35140,58870:35131,58871:35126,58872:35128,58873:35148,58874:35101,58875:35168,58876:35166,58944:35174,58945:35172,58946:35181,58947:35178,58948:35183,58949:35188,58950:35191,58951:35198,58952:35203,58953:35208,58954:35210,58955:35219,58956:35224,58957:35233,58958:35241,58959:35238,58960:35244,58961:35247,58962:35250,58963:35258,58964:35261,58965:35263,58966:35264,58967:35290,58968:35292,58969:35293,58970:35303,58971:35316,58972:35320,58973:35331,58974:35350,58975:35344,58976:35340,58977:35355,58978:35357,58979:35365,58980:35382,58981:35393,58982:35419,58983:35410,58984:35398,58985:35400,58986:35452,58987:35437,58988:35436,58989:35426,58990:35461,58991:35458,58992:35460,58993:35496,58994:35489,58995:35473,58996:35493,58997:35494,58998:35482,58999:35491,59e3:35524,59001:35533,59002:35522,59003:35546,59004:35563,59005:35571,59006:35559,59008:35556,59009:35569,59010:35604,59011:35552,59012:35554,59013:35575,59014:35550,59015:35547,59016:35596,59017:35591,59018:35610,59019:35553,59020:35606,59021:35600,59022:35607,59023:35616,59024:35635,59025:38827,59026:35622,59027:35627,59028:35646,59029:35624,59030:35649,59031:35660,59032:35663,59033:35662,59034:35657,59035:35670,59036:35675,59037:35674,59038:35691,59039:35679,59040:35692,59041:35695,59042:35700,59043:35709,59044:35712,59045:35724,59046:35726,59047:35730,59048:35731,59049:35734,59050:35737,59051:35738,59052:35898,59053:35905,59054:35903,59055:35912,59056:35916,59057:35918,59058:35920,59059:35925,59060:35938,59061:35948,59062:35960,59063:35962,59064:35970,59065:35977,59066:35973,59067:35978,59068:35981,59069:35982,59070:35988,59071:35964,59072:35992,59073:25117,59074:36013,59075:36010,59076:36029,59077:36018,59078:36019,59079:36014,59080:36022,59081:36040,59082:36033,59083:36068,59084:36067,59085:36058,59086:36093,59087:36090,59088:36091,59089:36100,59090:36101,59091:36106,59092:36103,59093:36111,59094:36109,59095:36112,59096:40782,59097:36115,59098:36045,59099:36116,59100:36118,59101:36199,59102:36205,59103:36209,59104:36211,59105:36225,59106:36249,59107:36290,59108:36286,59109:36282,59110:36303,59111:36314,59112:36310,59113:36300,59114:36315,59115:36299,59116:36330,59117:36331,59118:36319,59119:36323,59120:36348,59121:36360,59122:36361,59123:36351,59124:36381,59125:36382,59126:36368,59127:36383,59128:36418,59129:36405,59130:36400,59131:36404,59132:36426,59200:36423,59201:36425,59202:36428,59203:36432,59204:36424,59205:36441,59206:36452,59207:36448,59208:36394,59209:36451,59210:36437,59211:36470,59212:36466,59213:36476,59214:36481,59215:36487,59216:36485,59217:36484,59218:36491,59219:36490,59220:36499,59221:36497,59222:36500,59223:36505,59224:36522,59225:36513,59226:36524,59227:36528,59228:36550,59229:36529,59230:36542,59231:36549,59232:36552,59233:36555,59234:36571,59235:36579,59236:36604,59237:36603,59238:36587,59239:36606,59240:36618,59241:36613,59242:36629,59243:36626,59244:36633,59245:36627,59246:36636,59247:36639,59248:36635,59249:36620,59250:36646,59251:36659,59252:36667,59253:36665,59254:36677,59255:36674,59256:36670,59257:36684,59258:36681,59259:36678,59260:36686,59261:36695,59262:36700,59264:36706,59265:36707,59266:36708,59267:36764,59268:36767,59269:36771,59270:36781,59271:36783,59272:36791,59273:36826,59274:36837,59275:36834,59276:36842,59277:36847,59278:36999,59279:36852,59280:36869,59281:36857,59282:36858,59283:36881,59284:36885,59285:36897,59286:36877,59287:36894,59288:36886,59289:36875,59290:36903,59291:36918,59292:36917,59293:36921,59294:36856,59295:36943,59296:36944,59297:36945,59298:36946,59299:36878,59300:36937,59301:36926,59302:36950,59303:36952,59304:36958,59305:36968,59306:36975,59307:36982,59308:38568,59309:36978,59310:36994,59311:36989,59312:36993,59313:36992,59314:37002,59315:37001,59316:37007,59317:37032,59318:37039,59319:37041,59320:37045,59321:37090,59322:37092,59323:25160,59324:37083,59325:37122,59326:37138,59327:37145,59328:37170,59329:37168,59330:37194,59331:37206,59332:37208,59333:37219,59334:37221,59335:37225,59336:37235,59337:37234,59338:37259,59339:37257,59340:37250,59341:37282,59342:37291,59343:37295,59344:37290,59345:37301,59346:37300,59347:37306,59348:37312,59349:37313,59350:37321,59351:37323,59352:37328,59353:37334,59354:37343,59355:37345,59356:37339,59357:37372,59358:37365,59359:37366,59360:37406,59361:37375,59362:37396,59363:37420,59364:37397,59365:37393,59366:37470,59367:37463,59368:37445,59369:37449,59370:37476,59371:37448,59372:37525,59373:37439,59374:37451,59375:37456,59376:37532,59377:37526,59378:37523,59379:37531,59380:37466,59381:37583,59382:37561,59383:37559,59384:37609,59385:37647,59386:37626,59387:37700,59388:37678,59456:37657,59457:37666,59458:37658,59459:37667,59460:37690,59461:37685,59462:37691,59463:37724,59464:37728,59465:37756,59466:37742,59467:37718,59468:37808,59469:37804,59470:37805,59471:37780,59472:37817,59473:37846,59474:37847,59475:37864,59476:37861,59477:37848,59478:37827,59479:37853,59480:37840,59481:37832,59482:37860,59483:37914,59484:37908,59485:37907,59486:37891,59487:37895,59488:37904,59489:37942,59490:37931,59491:37941,59492:37921,59493:37946,59494:37953,59495:37970,59496:37956,59497:37979,59498:37984,59499:37986,59500:37982,59501:37994,59502:37417,59503:38e3,59504:38005,59505:38007,59506:38013,59507:37978,59508:38012,59509:38014,59510:38017,59511:38015,59512:38274,59513:38279,59514:38282,59515:38292,59516:38294,59517:38296,59518:38297,59520:38304,59521:38312,59522:38311,59523:38317,59524:38332,59525:38331,59526:38329,59527:38334,59528:38346,59529:28662,59530:38339,59531:38349,59532:38348,59533:38357,59534:38356,59535:38358,59536:38364,59537:38369,59538:38373,59539:38370,59540:38433,59541:38440,59542:38446,59543:38447,59544:38466,59545:38476,59546:38479,59547:38475,59548:38519,59549:38492,59550:38494,59551:38493,59552:38495,59553:38502,59554:38514,59555:38508,59556:38541,59557:38552,59558:38549,59559:38551,59560:38570,59561:38567,59562:38577,59563:38578,59564:38576,59565:38580,59566:38582,59567:38584,59568:38585,59569:38606,59570:38603,59571:38601,59572:38605,59573:35149,59574:38620,59575:38669,59576:38613,59577:38649,59578:38660,59579:38662,59580:38664,59581:38675,59582:38670,59583:38673,59584:38671,59585:38678,59586:38681,59587:38692,59588:38698,59589:38704,59590:38713,59591:38717,59592:38718,59593:38724,59594:38726,59595:38728,59596:38722,59597:38729,59598:38748,59599:38752,59600:38756,59601:38758,59602:38760,59603:21202,59604:38763,59605:38769,59606:38777,59607:38789,59608:38780,59609:38785,59610:38778,59611:38790,59612:38795,59613:38799,59614:38800,59615:38812,59616:38824,59617:38822,59618:38819,59619:38835,59620:38836,59621:38851,59622:38854,59623:38856,59624:38859,59625:38876,59626:38893,59627:40783,59628:38898,59629:31455,59630:38902,59631:38901,59632:38927,59633:38924,59634:38968,59635:38948,59636:38945,59637:38967,59638:38973,59639:38982,59640:38991,59641:38987,59642:39019,59643:39023,59644:39024,59712:39025,59713:39028,59714:39027,59715:39082,59716:39087,59717:39089,59718:39094,59719:39108,59720:39107,59721:39110,59722:39145,59723:39147,59724:39171,59725:39177,59726:39186,59727:39188,59728:39192,59729:39201,59730:39197,59731:39198,59732:39204,59733:39200,59734:39212,59735:39214,59736:39229,59737:39230,59738:39234,59739:39241,59740:39237,59741:39248,59742:39243,59743:39249,59744:39250,59745:39244,59746:39253,59747:39319,59748:39320,59749:39333,59750:39341,59751:39342,59752:39356,59753:39391,59754:39387,59755:39389,59756:39384,59757:39377,59758:39405,59759:39406,59760:39409,59761:39410,59762:39419,59763:39416,59764:39425,59765:39439,59766:39429,59767:39394,59768:39449,59769:39467,59770:39479,59771:39493,59772:39490,59773:39488,59774:39491,59776:39486,59777:39509,59778:39501,59779:39515,59780:39511,59781:39519,59782:39522,59783:39525,59784:39524,59785:39529,59786:39531,59787:39530,59788:39597,59789:39600,59790:39612,59791:39616,59792:39631,59793:39633,59794:39635,59795:39636,59796:39646,59797:39647,59798:39650,59799:39651,59800:39654,59801:39663,59802:39659,59803:39662,59804:39668,59805:39665,59806:39671,59807:39675,59808:39686,59809:39704,59810:39706,59811:39711,59812:39714,59813:39715,59814:39717,59815:39719,59816:39720,59817:39721,59818:39722,59819:39726,59820:39727,59821:39730,59822:39748,59823:39747,59824:39759,59825:39757,59826:39758,59827:39761,59828:39768,59829:39796,59830:39827,59831:39811,59832:39825,59833:39830,59834:39831,59835:39839,59836:39840,59837:39848,59838:39860,59839:39872,59840:39882,59841:39865,59842:39878,59843:39887,59844:39889,59845:39890,59846:39907,59847:39906,59848:39908,59849:39892,59850:39905,59851:39994,59852:39922,59853:39921,59854:39920,59855:39957,59856:39956,59857:39945,59858:39955,59859:39948,59860:39942,59861:39944,59862:39954,59863:39946,59864:39940,59865:39982,59866:39963,59867:39973,59868:39972,59869:39969,59870:39984,59871:40007,59872:39986,59873:40006,59874:39998,59875:40026,59876:40032,59877:40039,59878:40054,59879:40056,59880:40167,59881:40172,59882:40176,59883:40201,59884:40200,59885:40171,59886:40195,59887:40198,59888:40234,59889:40230,59890:40367,59891:40227,59892:40223,59893:40260,59894:40213,59895:40210,59896:40257,59897:40255,59898:40254,59899:40262,59900:40264,59968:40285,59969:40286,59970:40292,59971:40273,59972:40272,59973:40281,59974:40306,59975:40329,59976:40327,59977:40363,59978:40303,59979:40314,59980:40346,59981:40356,59982:40361,59983:40370,59984:40388,59985:40385,59986:40379,59987:40376,59988:40378,59989:40390,59990:40399,59991:40386,59992:40409,59993:40403,59994:40440,59995:40422,59996:40429,59997:40431,59998:40445,59999:40474,6e4:40475,60001:40478,60002:40565,60003:40569,60004:40573,60005:40577,60006:40584,60007:40587,60008:40588,60009:40594,60010:40597,60011:40593,60012:40605,60013:40613,60014:40617,60015:40632,60016:40618,60017:40621,60018:38753,60019:40652,60020:40654,60021:40655,60022:40656,60023:40660,60024:40668,60025:40670,60026:40669,60027:40672,60028:40677,60029:40680,60030:40687,60032:40692,60033:40694,60034:40695,60035:40697,60036:40699,60037:40700,60038:40701,60039:40711,60040:40712,60041:30391,60042:40725,60043:40737,60044:40748,60045:40766,60046:40778,60047:40786,60048:40788,60049:40803,60050:40799,60051:40800,60052:40801,60053:40806,60054:40807,60055:40812,60056:40810,60057:40823,60058:40818,60059:40822,60060:40853,60061:40860,60062:40864,60063:22575,60064:27079,60065:36953,60066:29796,60067:20956,60068:29081}}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(1),r=n(2);function a(g,p,C,b){var y;p.degree()<C.degree()&&(y=[C,p],p=y[0],C=y[1]);for(var w=p,A=C,P=g.zero,M=g.one;A.degree()>=b/2;){var R=w,T=P;if(w=A,P=M,w.isZero())return null;A=R;for(var V=g.zero,H=w.getCoefficient(w.degree()),X=g.inverse(H);A.degree()>=w.degree()&&!A.isZero();){var se=A.degree()-w.degree(),he=g.multiply(A.getCoefficient(A.degree()),X);V=V.addOrSubtract(g.buildMonomial(se,he)),A=A.addOrSubtract(w.multiplyByMonomial(se,he))}if(M=V.multiplyPoly(P).addOrSubtract(T),A.degree()>=w.degree())return null}var J=M.getCoefficient(0);if(J===0)return null;var de=g.inverse(J);return[M.multiply(de),A.multiply(de)]}function d(g,p){var C=p.degree();if(C===1)return[p.getCoefficient(1)];for(var b=new Array(C),y=0,w=1;w<g.size&&y<C;w++)p.evaluateAt(w)===0&&(b[y]=g.inverse(w),y++);return y!==C?null:b}function u(g,p,C){for(var b=C.length,y=new Array(b),w=0;w<b;w++){for(var A=g.inverse(C[w]),P=1,M=0;M<b;M++)w!==M&&(P=g.multiply(P,s.addOrSubtractGF(1,g.multiply(C[M],A))));y[w]=g.multiply(p.evaluateAt(A),g.inverse(P)),g.generatorBase!==0&&(y[w]=g.multiply(y[w],A))}return y}function f(g,p){var C=new Uint8ClampedArray(g.length);C.set(g);for(var b=new s.default(285,256,0),y=new r.default(b,C),w=new Uint8ClampedArray(p),A=!1,P=0;P<p;P++){var M=y.evaluateAt(b.exp(P+b.generatorBase));w[w.length-1-P]=M,M!==0&&(A=!0)}if(!A)return C;var R=new r.default(b,w),T=a(b,b.buildMonomial(p,1),R,p);if(T===null)return null;var V=d(b,T[0]);if(V==null)return null;for(var H=u(b,T[1],V),X=0;X<V.length;X++){var se=C.length-1-b.log(V[X]);if(se<0)return null;C[se]=s.addOrSubtractGF(C[se],H[X])}return C}i.decode=f}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0}),i.VERSIONS=[{infoBits:null,versionNumber:1,alignmentPatternCenters:[],errorCorrectionLevels:[{ecCodewordsPerBlock:7,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:13,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:13}]},{ecCodewordsPerBlock:17,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:2,alignmentPatternCenters:[6,18],errorCorrectionLevels:[{ecCodewordsPerBlock:10,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:34}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:28}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:16}]}]},{infoBits:null,versionNumber:3,alignmentPatternCenters:[6,22],errorCorrectionLevels:[{ecCodewordsPerBlock:15,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:55}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:13}]}]},{infoBits:null,versionNumber:4,alignmentPatternCenters:[6,26],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:80}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:32}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:9}]}]},{infoBits:null,versionNumber:5,alignmentPatternCenters:[6,30],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:43}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:11},{numBlocks:2,dataCodewordsPerBlock:12}]}]},{infoBits:null,versionNumber:6,alignmentPatternCenters:[6,34],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68}]},{ecCodewordsPerBlock:16,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:27}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:31892,versionNumber:7,alignmentPatternCenters:[6,22,38],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:78}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:31}]},{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:13},{numBlocks:1,dataCodewordsPerBlock:14}]}]},{infoBits:34236,versionNumber:8,alignmentPatternCenters:[6,24,42],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:97}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:38},{numBlocks:2,dataCodewordsPerBlock:39}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:18},{numBlocks:2,dataCodewordsPerBlock:19}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:14},{numBlocks:2,dataCodewordsPerBlock:15}]}]},{infoBits:39577,versionNumber:9,alignmentPatternCenters:[6,26,46],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:12},{numBlocks:4,dataCodewordsPerBlock:13}]}]},{infoBits:42195,versionNumber:10,alignmentPatternCenters:[6,28,50],errorCorrectionLevels:[{ecCodewordsPerBlock:18,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:68},{numBlocks:2,dataCodewordsPerBlock:69}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:43},{numBlocks:1,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:15},{numBlocks:2,dataCodewordsPerBlock:16}]}]},{infoBits:48118,versionNumber:11,alignmentPatternCenters:[6,30,54],errorCorrectionLevels:[{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:81}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:50},{numBlocks:4,dataCodewordsPerBlock:51}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:22},{numBlocks:4,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:12},{numBlocks:8,dataCodewordsPerBlock:13}]}]},{infoBits:51042,versionNumber:12,alignmentPatternCenters:[6,32,58],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:92},{numBlocks:2,dataCodewordsPerBlock:93}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:36},{numBlocks:2,dataCodewordsPerBlock:37}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:20},{numBlocks:6,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:14},{numBlocks:4,dataCodewordsPerBlock:15}]}]},{infoBits:55367,versionNumber:13,alignmentPatternCenters:[6,34,62],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:37},{numBlocks:1,dataCodewordsPerBlock:38}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:20},{numBlocks:4,dataCodewordsPerBlock:21}]},{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:11},{numBlocks:4,dataCodewordsPerBlock:12}]}]},{infoBits:58893,versionNumber:14,alignmentPatternCenters:[6,26,46,66],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:40},{numBlocks:5,dataCodewordsPerBlock:41}]},{ecCodewordsPerBlock:20,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:16},{numBlocks:5,dataCodewordsPerBlock:17}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:5,dataCodewordsPerBlock:13}]}]},{infoBits:63784,versionNumber:15,alignmentPatternCenters:[6,26,48,70],errorCorrectionLevels:[{ecCodewordsPerBlock:22,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:87},{numBlocks:1,dataCodewordsPerBlock:88}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:41},{numBlocks:5,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:12},{numBlocks:7,dataCodewordsPerBlock:13}]}]},{infoBits:68472,versionNumber:16,alignmentPatternCenters:[6,26,50,74],errorCorrectionLevels:[{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:98},{numBlocks:1,dataCodewordsPerBlock:99}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:19},{numBlocks:2,dataCodewordsPerBlock:20}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:70749,versionNumber:17,alignmentPatternCenters:[6,30,54,78],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:1,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:22},{numBlocks:15,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:17,dataCodewordsPerBlock:15}]}]},{infoBits:76311,versionNumber:18,alignmentPatternCenters:[6,30,56,82],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:120},{numBlocks:1,dataCodewordsPerBlock:121}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:43},{numBlocks:4,dataCodewordsPerBlock:44}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:1,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:14},{numBlocks:19,dataCodewordsPerBlock:15}]}]},{infoBits:79154,versionNumber:19,alignmentPatternCenters:[6,30,58,86],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:113},{numBlocks:4,dataCodewordsPerBlock:114}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:44},{numBlocks:11,dataCodewordsPerBlock:45}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:21},{numBlocks:4,dataCodewordsPerBlock:22}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:9,dataCodewordsPerBlock:13},{numBlocks:16,dataCodewordsPerBlock:14}]}]},{infoBits:84390,versionNumber:20,alignmentPatternCenters:[6,34,62,90],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:107},{numBlocks:5,dataCodewordsPerBlock:108}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:41},{numBlocks:13,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:5,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:15},{numBlocks:10,dataCodewordsPerBlock:16}]}]},{infoBits:87683,versionNumber:21,alignmentPatternCenters:[6,28,50,72,94],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:116},{numBlocks:4,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:42}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:16},{numBlocks:6,dataCodewordsPerBlock:17}]}]},{infoBits:92361,versionNumber:22,alignmentPatternCenters:[6,26,50,74,98],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:111},{numBlocks:7,dataCodewordsPerBlock:112}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:24,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:13}]}]},{infoBits:96236,versionNumber:23,alignmentPatternCenters:[6,30,54,74,102],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:121},{numBlocks:5,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:47},{numBlocks:14,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:16,dataCodewordsPerBlock:15},{numBlocks:14,dataCodewordsPerBlock:16}]}]},{infoBits:102084,versionNumber:24,alignmentPatternCenters:[6,28,54,80,106],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:45},{numBlocks:14,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:24},{numBlocks:16,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:30,dataCodewordsPerBlock:16},{numBlocks:2,dataCodewordsPerBlock:17}]}]},{infoBits:102881,versionNumber:25,alignmentPatternCenters:[6,32,58,84,110],errorCorrectionLevels:[{ecCodewordsPerBlock:26,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:106},{numBlocks:4,dataCodewordsPerBlock:107}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:47},{numBlocks:13,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:13,dataCodewordsPerBlock:16}]}]},{infoBits:110507,versionNumber:26,alignmentPatternCenters:[6,30,58,86,114],errorCorrectionLevels:[{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:114},{numBlocks:2,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:46},{numBlocks:4,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:28,dataCodewordsPerBlock:22},{numBlocks:6,dataCodewordsPerBlock:23}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:33,dataCodewordsPerBlock:16},{numBlocks:4,dataCodewordsPerBlock:17}]}]},{infoBits:110734,versionNumber:27,alignmentPatternCenters:[6,34,62,90,118],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:45},{numBlocks:3,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:8,dataCodewordsPerBlock:23},{numBlocks:26,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:117786,versionNumber:28,alignmentPatternCenters:[6,26,50,74,98,122],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:117},{numBlocks:10,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:3,dataCodewordsPerBlock:45},{numBlocks:23,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:24},{numBlocks:31,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:31,dataCodewordsPerBlock:16}]}]},{infoBits:119615,versionNumber:29,alignmentPatternCenters:[6,30,54,78,102,126],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:7,dataCodewordsPerBlock:116},{numBlocks:7,dataCodewordsPerBlock:117}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:21,dataCodewordsPerBlock:45},{numBlocks:7,dataCodewordsPerBlock:46}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:1,dataCodewordsPerBlock:23},{numBlocks:37,dataCodewordsPerBlock:24}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:26,dataCodewordsPerBlock:16}]}]},{infoBits:126325,versionNumber:30,alignmentPatternCenters:[6,26,52,78,104,130],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:5,dataCodewordsPerBlock:115},{numBlocks:10,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:47},{numBlocks:10,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:15,dataCodewordsPerBlock:24},{numBlocks:25,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:25,dataCodewordsPerBlock:16}]}]},{infoBits:127568,versionNumber:31,alignmentPatternCenters:[6,30,56,82,108,134],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:3,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:46},{numBlocks:29,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:24},{numBlocks:1,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:23,dataCodewordsPerBlock:15},{numBlocks:28,dataCodewordsPerBlock:16}]}]},{infoBits:133589,versionNumber:32,alignmentPatternCenters:[6,34,60,86,112,138],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:24},{numBlocks:35,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:15},{numBlocks:35,dataCodewordsPerBlock:16}]}]},{infoBits:136944,versionNumber:33,alignmentPatternCenters:[6,30,58,86,114,142],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:115},{numBlocks:1,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:21,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:24},{numBlocks:19,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:11,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:141498,versionNumber:34,alignmentPatternCenters:[6,34,62,90,118,146],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:115},{numBlocks:6,dataCodewordsPerBlock:116}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:14,dataCodewordsPerBlock:46},{numBlocks:23,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:44,dataCodewordsPerBlock:24},{numBlocks:7,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:59,dataCodewordsPerBlock:16},{numBlocks:1,dataCodewordsPerBlock:17}]}]},{infoBits:145311,versionNumber:35,alignmentPatternCenters:[6,30,54,78,102,126,150],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:121},{numBlocks:7,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:12,dataCodewordsPerBlock:47},{numBlocks:26,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:39,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:22,dataCodewordsPerBlock:15},{numBlocks:41,dataCodewordsPerBlock:16}]}]},{infoBits:150283,versionNumber:36,alignmentPatternCenters:[6,24,50,76,102,128,154],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:121},{numBlocks:14,dataCodewordsPerBlock:122}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:6,dataCodewordsPerBlock:47},{numBlocks:34,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:46,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:2,dataCodewordsPerBlock:15},{numBlocks:64,dataCodewordsPerBlock:16}]}]},{infoBits:152622,versionNumber:37,alignmentPatternCenters:[6,28,54,80,106,132,158],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:17,dataCodewordsPerBlock:122},{numBlocks:4,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:29,dataCodewordsPerBlock:46},{numBlocks:14,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:49,dataCodewordsPerBlock:24},{numBlocks:10,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:24,dataCodewordsPerBlock:15},{numBlocks:46,dataCodewordsPerBlock:16}]}]},{infoBits:158308,versionNumber:38,alignmentPatternCenters:[6,32,58,84,110,136,162],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:4,dataCodewordsPerBlock:122},{numBlocks:18,dataCodewordsPerBlock:123}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:13,dataCodewordsPerBlock:46},{numBlocks:32,dataCodewordsPerBlock:47}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:48,dataCodewordsPerBlock:24},{numBlocks:14,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:42,dataCodewordsPerBlock:15},{numBlocks:32,dataCodewordsPerBlock:16}]}]},{infoBits:161089,versionNumber:39,alignmentPatternCenters:[6,26,54,82,110,138,166],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:117},{numBlocks:4,dataCodewordsPerBlock:118}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:40,dataCodewordsPerBlock:47},{numBlocks:7,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:43,dataCodewordsPerBlock:24},{numBlocks:22,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:10,dataCodewordsPerBlock:15},{numBlocks:67,dataCodewordsPerBlock:16}]}]},{infoBits:167017,versionNumber:40,alignmentPatternCenters:[6,30,58,86,114,142,170],errorCorrectionLevels:[{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:19,dataCodewordsPerBlock:118},{numBlocks:6,dataCodewordsPerBlock:119}]},{ecCodewordsPerBlock:28,ecBlocks:[{numBlocks:18,dataCodewordsPerBlock:47},{numBlocks:31,dataCodewordsPerBlock:48}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:34,dataCodewordsPerBlock:24},{numBlocks:34,dataCodewordsPerBlock:25}]},{ecCodewordsPerBlock:30,ecBlocks:[{numBlocks:20,dataCodewordsPerBlock:15},{numBlocks:61,dataCodewordsPerBlock:16}]}]}]}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=n(0);function r(f,g,p,C){var b=f.x-g.x+p.x-C.x,y=f.y-g.y+p.y-C.y;if(b===0&&y===0)return{a11:g.x-f.x,a12:g.y-f.y,a13:0,a21:p.x-g.x,a22:p.y-g.y,a23:0,a31:f.x,a32:f.y,a33:1};var w=g.x-p.x,A=C.x-p.x,P=g.y-p.y,M=C.y-p.y,R=w*M-A*P,T=(b*M-A*y)/R,V=(w*y-b*P)/R;return{a11:g.x-f.x+T*g.x,a12:g.y-f.y+T*g.y,a13:T,a21:C.x-f.x+V*C.x,a22:C.y-f.y+V*C.y,a23:V,a31:f.x,a32:f.y,a33:1}}function a(f,g,p,C){var b=r(f,g,p,C);return{a11:b.a22*b.a33-b.a23*b.a32,a12:b.a13*b.a32-b.a12*b.a33,a13:b.a12*b.a23-b.a13*b.a22,a21:b.a23*b.a31-b.a21*b.a33,a22:b.a11*b.a33-b.a13*b.a31,a23:b.a13*b.a21-b.a11*b.a23,a31:b.a21*b.a32-b.a22*b.a31,a32:b.a12*b.a31-b.a11*b.a32,a33:b.a11*b.a22-b.a12*b.a21}}function d(f,g){return{a11:f.a11*g.a11+f.a21*g.a12+f.a31*g.a13,a12:f.a12*g.a11+f.a22*g.a12+f.a32*g.a13,a13:f.a13*g.a11+f.a23*g.a12+f.a33*g.a13,a21:f.a11*g.a21+f.a21*g.a22+f.a31*g.a23,a22:f.a12*g.a21+f.a22*g.a22+f.a32*g.a23,a23:f.a13*g.a21+f.a23*g.a22+f.a33*g.a23,a31:f.a11*g.a31+f.a21*g.a32+f.a31*g.a33,a32:f.a12*g.a31+f.a22*g.a32+f.a32*g.a33,a33:f.a13*g.a31+f.a23*g.a32+f.a33*g.a33}}function u(f,g){for(var p=a({x:3.5,y:3.5},{x:g.dimension-3.5,y:3.5},{x:g.dimension-6.5,y:g.dimension-6.5},{x:3.5,y:g.dimension-3.5}),C=r(g.topLeft,g.topRight,g.alignmentPattern,g.bottomLeft),b=d(C,p),y=s.BitMatrix.createEmpty(g.dimension,g.dimension),w=function(V,H){var X=b.a13*V+b.a23*H+b.a33;return{x:(b.a11*V+b.a21*H+b.a31)/X,y:(b.a12*V+b.a22*H+b.a32)/X}},A=0;A<g.dimension;A++)for(var P=0;P<g.dimension;P++){var M=P+.5,R=A+.5,T=w(M,R);y.set(P,A,f.get(Math.floor(T.x),Math.floor(T.y)))}return{matrix:y,mappingFunction:w}}i.extract=u}),(function(t,i,n){Object.defineProperty(i,"__esModule",{value:!0});var s=4,r=.5,a=1.5,d=function(M,R){return Math.sqrt(Math.pow(R.x-M.x,2)+Math.pow(R.y-M.y,2))};function u(M){return M.reduce(function(R,T){return R+T})}function f(M,R,T){var V,H,X,se,he=d(M,R),J=d(R,T),de=d(M,T),we,re,ae;return J>=he&&J>=de?(V=[R,M,T],we=V[0],re=V[1],ae=V[2]):de>=J&&de>=he?(H=[M,R,T],we=H[0],re=H[1],ae=H[2]):(X=[M,T,R],we=X[0],re=X[1],ae=X[2]),(ae.x-re.x)*(we.y-re.y)-(ae.y-re.y)*(we.x-re.x)<0&&(se=[ae,we],we=se[0],ae=se[1]),{bottomLeft:we,topLeft:re,topRight:ae}}function g(M,R,T,V){var H=(u(C(M,T,V,5))/7+u(C(M,R,V,5))/7+u(C(T,M,V,5))/7+u(C(R,M,V,5))/7)/4;if(H<1)throw new Error("Invalid module size");var X=Math.round(d(M,R)/H),se=Math.round(d(M,T)/H),he=Math.floor((X+se)/2)+7;switch(he%4){case 0:he++;break;case 2:he--;break}return{dimension:he,moduleSize:H}}function p(M,R,T,V){var H=[{x:Math.floor(M.x),y:Math.floor(M.y)}],X=Math.abs(R.y-M.y)>Math.abs(R.x-M.x),se,he,J,de;X?(se=Math.floor(M.y),he=Math.floor(M.x),J=Math.floor(R.y),de=Math.floor(R.x)):(se=Math.floor(M.x),he=Math.floor(M.y),J=Math.floor(R.x),de=Math.floor(R.y));for(var we=Math.abs(J-se),re=Math.abs(de-he),ae=Math.floor(-we/2),De=se<J?1:-1,Pe=he<de?1:-1,xe=!0,Ve=se,ze=he;Ve!==J+De;Ve+=De){var ve=X?ze:Ve,ht=X?Ve:ze;if(T.get(ve,ht)!==xe&&(xe=!xe,H.push({x:ve,y:ht}),H.length===V+1))break;if(ae+=re,ae>0){if(ze===de)break;ze+=Pe,ae-=we}}for(var Mt=[],ot=0;ot<V;ot++)H[ot]&&H[ot+1]?Mt.push(d(H[ot],H[ot+1])):Mt.push(0);return Mt}function C(M,R,T,V){var H,X=R.y-M.y,se=R.x-M.x,he=p(M,R,T,Math.ceil(V/2)),J=p(M,{x:M.x-se,y:M.y-X},T,Math.ceil(V/2)),de=he.shift()+J.shift()-1;return(H=J.concat(de)).concat.apply(H,he)}function b(M,R){var T=u(M)/u(R),V=0;return R.forEach(function(H,X){V+=Math.pow(M[X]-H*T,2)}),{averageSize:T,error:V}}function y(M,R,T){try{var V=C(M,{x:-1,y:M.y},T,R.length),H=C(M,{x:M.x,y:-1},T,R.length),X={x:Math.max(0,M.x-M.y)-1,y:Math.max(0,M.y-M.x)-1},se=C(M,X,T,R.length),he={x:Math.min(T.width,M.x+M.y)+1,y:Math.min(T.height,M.y+M.x)+1},J=C(M,he,T,R.length),de=b(V,R),we=b(H,R),re=b(se,R),ae=b(J,R),De=Math.sqrt(de.error*de.error+we.error*we.error+re.error*re.error+ae.error*ae.error),Pe=(de.averageSize+we.averageSize+re.averageSize+ae.averageSize)/4,xe=(Math.pow(de.averageSize-Pe,2)+Math.pow(we.averageSize-Pe,2)+Math.pow(re.averageSize-Pe,2)+Math.pow(ae.averageSize-Pe,2))/Pe;return De+xe}catch{return 1/0}}function w(M,R){for(var T=Math.round(R.x);M.get(T,Math.round(R.y));)T--;for(var V=Math.round(R.x);M.get(V,Math.round(R.y));)V++;for(var H=(T+V)/2,X=Math.round(R.y);M.get(Math.round(H),X);)X--;for(var se=Math.round(R.y);M.get(Math.round(H),se);)se++;var he=(X+se)/2;return{x:H,y:he}}function A(M){for(var R=[],T=[],V=[],H=[],X=function(ve){for(var ht=0,Mt=!1,ot=[0,0,0,0,0],yt=function(Rt){var ai=M.get(Rt,ve);if(ai===Mt)ht++;else{ot=[ot[1],ot[2],ot[3],ot[4],ht],ht=1,Mt=ai;var Ge=u(ot)/7,nt=Math.abs(ot[0]-Ge)<Ge&&Math.abs(ot[1]-Ge)<Ge&&Math.abs(ot[2]-3*Ge)<3*Ge&&Math.abs(ot[3]-Ge)<Ge&&Math.abs(ot[4]-Ge)<Ge&&!ai,Dt=u(ot.slice(-3))/3,Jt=Math.abs(ot[2]-Dt)<Dt&&Math.abs(ot[3]-Dt)<Dt&&Math.abs(ot[4]-Dt)<Dt&&ai;if(nt){var di=Rt-ot[3]-ot[4],ci=di-ot[2],xi={startX:ci,endX:di,y:ve},_i=T.filter(function(ii){return ci>=ii.bottom.startX&&ci<=ii.bottom.endX||di>=ii.bottom.startX&&ci<=ii.bottom.endX||ci<=ii.bottom.startX&&di>=ii.bottom.endX&&ot[2]/(ii.bottom.endX-ii.bottom.startX)<a&&ot[2]/(ii.bottom.endX-ii.bottom.startX)>r});_i.length>0?_i[0].bottom=xi:T.push({top:xi,bottom:xi})}if(Jt){var Ke=Rt-ot[4],Ee=Ke-ot[3],xi={startX:Ee,y:ve,endX:Ke},_i=H.filter(function(ni){return Ee>=ni.bottom.startX&&Ee<=ni.bottom.endX||Ke>=ni.bottom.startX&&Ee<=ni.bottom.endX||Ee<=ni.bottom.startX&&Ke>=ni.bottom.endX&&ot[2]/(ni.bottom.endX-ni.bottom.startX)<a&&ot[2]/(ni.bottom.endX-ni.bottom.startX)>r});_i.length>0?_i[0].bottom=xi:H.push({top:xi,bottom:xi})}}},Ce=-1;Ce<=M.width;Ce++)yt(Ce);R.push.apply(R,T.filter(function(Rt){return Rt.bottom.y!==ve&&Rt.bottom.y-Rt.top.y>=2})),T=T.filter(function(Rt){return Rt.bottom.y===ve}),V.push.apply(V,H.filter(function(Rt){return Rt.bottom.y!==ve})),H=H.filter(function(Rt){return Rt.bottom.y===ve})},se=0;se<=M.height;se++)X(se);R.push.apply(R,T.filter(function(ve){return ve.bottom.y-ve.top.y>=2})),V.push.apply(V,H);var he=R.filter(function(ve){return ve.bottom.y-ve.top.y>=2}).map(function(ve){var ht=(ve.top.startX+ve.top.endX+ve.bottom.startX+ve.bottom.endX)/4,Mt=(ve.top.y+ve.bottom.y+1)/2;if(M.get(Math.round(ht),Math.round(Mt))){var ot=[ve.top.endX-ve.top.startX,ve.bottom.endX-ve.bottom.startX,ve.bottom.y-ve.top.y+1],yt=u(ot)/ot.length,Ce=y({x:Math.round(ht),y:Math.round(Mt)},[1,1,3,1,1],M);return{score:Ce,x:ht,y:Mt,size:yt}}}).filter(function(ve){return!!ve}).sort(function(ve,ht){return ve.score-ht.score}).map(function(ve,ht,Mt){if(ht>s)return null;var ot=Mt.filter(function(Ce,Rt){return ht!==Rt}).map(function(Ce){return{x:Ce.x,y:Ce.y,score:Ce.score+Math.pow(Ce.size-ve.size,2)/ve.size,size:Ce.size}}).sort(function(Ce,Rt){return Ce.score-Rt.score});if(ot.length<2)return null;var yt=ve.score+ot[0].score+ot[1].score;return{points:[ve].concat(ot.slice(0,2)),score:yt}}).filter(function(ve){return!!ve}).sort(function(ve,ht){return ve.score-ht.score});if(he.length===0)return null;var J=f(he[0].points[0],he[0].points[1],he[0].points[2]),de=J.topRight,we=J.topLeft,re=J.bottomLeft,ae=P(M,V,de,we,re),De=[];ae&&De.push({alignmentPattern:{x:ae.alignmentPattern.x,y:ae.alignmentPattern.y},bottomLeft:{x:re.x,y:re.y},dimension:ae.dimension,topLeft:{x:we.x,y:we.y},topRight:{x:de.x,y:de.y}});var Pe=w(M,de),xe=w(M,we),Ve=w(M,re),ze=P(M,V,Pe,xe,Ve);return ze&&De.push({alignmentPattern:{x:ze.alignmentPattern.x,y:ze.alignmentPattern.y},bottomLeft:{x:Ve.x,y:Ve.y},topLeft:{x:xe.x,y:xe.y},topRight:{x:Pe.x,y:Pe.y},dimension:ze.dimension}),De.length===0?null:De}i.locate=A;function P(M,R,T,V,H){var X,se,he;try{X=g(V,T,H,M),se=X.dimension,he=X.moduleSize}catch{return null}var J={x:T.x-V.x+H.x,y:T.y-V.y+H.y},de=(d(V,H)+d(V,T))/2/he,we=1-3/de,re={x:V.x+we*(J.x-V.x),y:V.y+we*(J.y-V.y)},ae=R.map(function(Pe){var xe=(Pe.top.startX+Pe.top.endX+Pe.bottom.startX+Pe.bottom.endX)/4,Ve=(Pe.top.y+Pe.bottom.y+1)/2;if(M.get(Math.floor(xe),Math.floor(Ve))){var ze=[Pe.top.endX-Pe.top.startX,Pe.bottom.endX-Pe.bottom.startX,Pe.bottom.y-Pe.top.y+1];u(ze)/ze.length;var ve=y({x:Math.floor(xe),y:Math.floor(Ve)},[1,1,1],M),ht=ve+d({x:xe,y:Ve},re);return{x:xe,y:Ve,score:ht}}}).filter(function(Pe){return!!Pe}).sort(function(Pe,xe){return Pe.score-xe.score}),De=de>=15&&ae.length?ae[0]:re;return{alignmentPattern:De,dimension:se}}})]).default})})(bm)),bm.exports}var oY=sY();const rY=dS(oY);var aY=B('<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),lY=B('<label class="svelte-1ua3isv">Pairing Code / QR <input type="text" placeholder="MT:..." class="svelte-1ua3isv"/></label> <div class="scan-row svelte-1ua3isv"><button class="scan-btn svelte-1ua3isv" title="Scan QR code with camera"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M1 1h5v5H1V1zm1 1v3h3V2H2zm7-1h5v5h-5V1zm1 1v3h3V2h-3zM1 9h5v5H1V9zm1 1v3h3v-3H2zm7 0h2v2H9v-2zm2 0h2v2h-2v-2zm0 2h2v2h-2v-2zm-2 2h2v2H9v-2zm2 0h2v2h-2v-2z"></path></svg> Camera</button> <label class="scan-btn scan-file-btn svelte-1ua3isv" title="Decode QR from image file"><svg width="13" height="13" viewBox="0 0 16 16" fill="currentColor"><path d="M13 4H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h10a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1zM3 3a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2H3zm5 2.5a.5.5 0 0 1 .5.5v1h1a.5.5 0 0 1 0 1h-1v1a.5.5 0 0 1-1 0v-1h-1a.5.5 0 0 1 0-1h1V6a.5.5 0 0 1 .5-.5z"></path></svg> Image… <input type="file" accept="image/*" style="display:none" class="svelte-1ua3isv"/></label></div>',1),U2=B('<p class="err svelte-1ua3isv"> </p>'),cY=B('<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>'),dY=B('<span class="device-name svelte-1ua3isv"> </span> <span class="device-nodeid svelte-1ua3isv"> </span>',1),uY=B('<span class="device-name svelte-1ua3isv"> </span>'),hY=B('<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>'),fY=B('<li class="empty svelte-1ua3isv">No paired devices</li>'),gY=B('<p class="info svelte-1ua3isv">Loading…</p>'),pY=B('<p class="device-subtitle svelte-1ua3isv"> </p>'),xY=B('<span class="ep-chip svelte-1ua3isv"> </span>'),mY=B('<span class="attr-id svelte-1ua3isv"> </span>'),vY=B('<button class="attr-action-btn svelte-1ua3isv"> </button>'),_Y=B('<div class="attr-actions svelte-1ua3isv"></div>'),bY=B('<span class="cmd-sep svelte-1ua3isv">,</span>'),CY=B('<span class="cmd-name svelte-1ua3isv"> </span><span class="cmd-id svelte-1ua3isv"> </span>',1),EY=B('<span class="cmd-id svelte-1ua3isv"> </span>'),yY=B("<!> <!>",1),wY=B('<span class="cmd-list svelte-1ua3isv"></span>'),SY=B(' <span class="cmd-id svelte-1ua3isv"> </span>',1),DY=B('<tr class="svelte-1ua3isv"><td class="svelte-1ua3isv"><!></td><td class="svelte-1ua3isv"> </td></tr>'),AY=B('<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>'),kY=B('<th class="svelte-1ua3isv"> </th>'),BY=B('<td class="svelte-1ua3isv"> </td>'),FY=B('<tr class="svelte-1ua3isv"></tr>'),LY=B('<table class="attr-arr-table svelte-1ua3isv"><thead class="svelte-1ua3isv"><tr class="svelte-1ua3isv"></tr></thead><tbody class="svelte-1ua3isv"></tbody></table>'),IY=B('<tr class="svelte-1ua3isv"><td class="attr-obj-key svelte-1ua3isv"> </td><td class="attr-obj-val svelte-1ua3isv"> </td></tr>'),PY=B('<table class="attr-obj-table svelte-1ua3isv"><tbody class="svelte-1ua3isv"></tbody></table>'),TY=B('<a class="attr-link svelte-1ua3isv" target="_blank" rel="noopener noreferrer"> </a>'),MY=B('<span class="attr-val svelte-1ua3isv"> </span>'),RY=B('<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>'),NY=B('<tr class="cluster-hdr-row svelte-1ua3isv"><td colspan="3" class="cluster-hdr-cell svelte-1ua3isv"> </td></tr> <!>',1),OY=B('<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>'),HY=B('<p class="no-clusters svelte-1ua3isv">No clusters</p>'),WY=B('<details class="svelte-1ua3isv"><summary class="svelte-1ua3isv"> <span class="ep-id svelte-1ua3isv"> </span> <span class="ep-chips svelte-1ua3isv"></span></summary> <!></details>'),zY=B('<div class="detail-hdr svelte-1ua3isv"><h2 class="svelte-1ua3isv"> </h2> <!> <p class="detail-nodeid svelte-1ua3isv"> </p></div> <!>',1),VY=B('<p class="info svelte-1ua3isv">Select a device to view its endpoints.</p>'),jY=B('<span class="stream-badge svelte-1ua3isv"> </span>'),$Y=B('<span class="stream-empty svelte-1ua3isv">Waiting for events…</span>'),KC=B('&nbsp;<span class="e-sub svelte-1ua3isv"> </span>',1),UY=B('<span class="e-badge e-badge-status svelte-1ua3isv">status</span> <span class="e-node svelte-1ua3isv"> <!></span> <span> </span>',1),qY=B('<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),GY=B('<div class="er svelte-1ua3isv"><span class="e-ts svelte-1ua3isv"> </span> <!></div>'),KY=B('<div class="stream-body svelte-1ua3isv"><!></div>'),ZY=B('<p class="scan-err svelte-1ua3isv"> </p>'),XY=B('<div class="scan-preview svelte-1ua3isv"><video playsinline="" class="scan-video svelte-1ua3isv"></video> <div class="scan-reticle svelte-1ua3isv"></div></div> <p class="scan-hint svelte-1ua3isv">Point camera at the QR code on the device</p>',3),YY=B('<div class="scan-backdrop svelte-1ua3isv"></div> <div class="scan-modal svelte-1ua3isv"><div class="scan-modal-hdr svelte-1ua3isv"><span>Scan Matter QR Code</span> <button class="scan-close svelte-1ua3isv">✕</button></div> <!> <canvas style="display:none"></canvas></div>',1),QY=B('<!> <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 JY(o,e){js(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(Y,Te,Ye,ke,It){try{await sU(Y,Te,Ye,ke,It)}catch($t){console.error("matter command failed",$t)}}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(Y,Te){const Ye=n[Y];return Te.map(ke=>{const It=typeof ke=="number"?ke:Number(ke);return{id:It,name:(Ye==null?void 0:Ye[It])??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},d={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(Y){return"0x"+Y.toString(16).toUpperCase().padStart(4,"0")}let f=F(Li([])),g=Li(new Map);function p(Y){if(Y==null)return"—";if(typeof Y=="boolean"||typeof Y=="number")return String(Y);if(typeof Y=="string")return Y.length>50?Y.slice(0,47)+"…":Y;const Te=JSON.stringify(Y);return Te.length>60?Te.slice(0,57)+"…":Te}function C(Y){return Y==null?"—":typeof Y=="boolean"||typeof Y=="number"?String(Y):typeof Y=="string"?Y:JSON.stringify(Y)}function b(Y){return Y!==null&&typeof Y=="object"&&!Array.isArray(Y)}function y(Y){return Array.isArray(Y)&&Y.length>0&&Y.every(b)}function w(Y,Te){return!!(Te==="attributeList"||Array.isArray(Y)&&Y.length===0||b(Y)&&Object.keys(Y).length===0)}function A(Y){return new Date(Y).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}const P=500,M=20,R=32;let T=0,V=F(Li([])),H=F(!0),X=F(180),se=Lt(()=>{const Y=Math.max(1,Math.floor((c(X)-R)/M)+1);return c(V).slice(0,Y)});function he(Y){Y.preventDefault();const Te=Y.clientY,Ye=c(X);function ke($t){m(X,Math.max(60,Math.min(600,Ye+Te-$t.clientY)),!0)}function It(){document.removeEventListener("mousemove",ke),document.removeEventListener("mouseup",It)}document.addEventListener("mousemove",ke),document.addEventListener("mouseup",It)}let J=F(null),de=F(!1),we=F(null),re=F(!1),ae=F("passcode"),De=F(""),Pe=F(""),xe=F(""),Ve=F(!1),ze=F(null),ve=F(""),ht=F(!1),Mt=F(""),ot=F(void 0),yt=F(void 0),Ce=null,Rt=null;function ai(){Rt!==null&&(cancelAnimationFrame(Rt),Rt=null),Ce&&(Ce.getTracks().forEach(Y=>Y.stop()),Ce=null),m(ht,!1),m(Mt,"")}function Ge(Y){ai(),m(ae,"pairingCode"),m(xe,Y,!0)}function nt(){if(!c(yt))return null;const Y=c(yt).getContext("2d",{willReadFrequently:!0}),{width:Te,height:Ye}=c(yt);if(!Te||!Ye)return null;const ke=Y.getImageData(0,0,Te,Ye);return rY(ke.data,ke.width,ke.height,{inversionAttempts:"dontInvert"})}async function Dt(){if(m(ht,!0),m(Mt,""),await hl(),!c(ot)||!c(yt))return;try{Ce=await navigator.mediaDevices.getUserMedia({video:{facingMode:"environment"}}),c(ot).srcObject=Ce,await c(ot).play()}catch(Te){m(Mt,"Camera unavailable: "+(Te instanceof Error?Te.message:String(Te)));return}const Y=()=>{var Te;if(!(!c(ot)||!c(yt)||!Ce)){if(c(ot).readyState===c(ot).HAVE_ENOUGH_DATA){c(yt).width=c(ot).videoWidth,c(yt).height=c(ot).videoHeight,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage(c(ot),0,0);const ke=nt();if((Te=ke==null?void 0:ke.data)!=null&&Te.startsWith("MT:")){Ge(ke.data);return}}Rt=requestAnimationFrame(Y)}};Rt=requestAnimationFrame(Y)}function Jt(Y){var ke;const Te=(ke=Y.target.files)==null?void 0:ke[0];if(!Te)return;const Ye=new FileReader;Ye.onload=It=>{const $t=new Image;$t.onload=()=>{var Pt;if(!c(yt))return;c(yt).width=$t.width,c(yt).height=$t.height,c(yt).getContext("2d",{willReadFrequently:!0}).drawImage($t,0,0);const Je=nt();(Pt=Je==null?void 0:Je.data)!=null&&Pt.startsWith("MT:")?Ge(Je.data):m(Mt,"No Matter QR code found in image.")},$t.src=It.target.result},Ye.readAsDataURL(Te)}const di="she:matter:selectedNodeId";async function ci(){try{m(f,await rS(),!0);for(const Y of c(f))mm(Y.nodeId).then(Te=>{g.set(Y.nodeId,Te)}).catch(()=>{});if(c(f).length>0&&!c(J)){const Y=localStorage.getItem(di),Te=Y&&c(f).find(Ye=>Ye.nodeId===Y)?Y:c(f)[0].nodeId;xi(Te)}}catch{m(f,[],!0)}}async function xi(Y){m(de,!0),m(we,null);try{m(J,await mm(Y),!0),g.set(Y,c(J)),localStorage.setItem(di,Y)}catch(Te){m(we,Te instanceof Error?Te.message:String(Te),!0)}finally{m(de,!1)}}let _i;async function Ke(Y){var Te;if(await _i.show(`Unpair device ${Y}?`,{confirm:"Unpair",danger:!0}))try{await nU(Y),((Te=c(J))==null?void 0:Te.nodeId)===Y&&m(J,null),await ci()}catch(Ye){m(we,Ye instanceof Error?Ye.message:String(Ye),!0)}}async function Ee(){m(Ve,!0),m(ze,null);try{let Y;c(ae)==="passcode"?(Y={passcode:Number(c(De))},c(Pe)&&(Y={...Y,discriminator:Number(c(Pe))})):Y={pairingCode:c(xe).trim()},c(ve).trim()&&(Y={...Y,discoveryAddress:c(ve).trim()}),await iU(Y),m(re,!1),m(De,""),m(Pe,""),m(xe,""),m(ve,""),await ci()}catch(Y){m(ze,Y instanceof Error?Y.message:String(Y),!0)}finally{m(Ve,!1)}}Xs(()=>{ci()});const ii=ur("matter:deviceList",Y=>{if(!Array.isArray(Y.devices))return;const Te=Y.devices;for(const Ye of Te)g.has(Ye.nodeId)||mm(Ye.nodeId).then(ke=>{g.set(Ye.nodeId,ke)}).catch(()=>{});m(f,Te,!0)}),bi=ur("matter:deviceStatus",Y=>{if(Y.nodeId===void 0)return;const Te=String(Y.nodeId),Ye=!!Y.online;m(f,c(f).map(ke=>ke.nodeId===Te?{...ke,online:Ye}:ke),!0),m(V,[{id:T++,kind:"status",nodeId:Te,online:Ye,ts:Date.now()},...c(V).slice(0,P-1)],!0)}),ni=ur("matter:attr",Y=>{const Te=String(Y.nodeId),Ye=Y.endpointId,ke=String(Y.clusterName),It=String(Y.attrName),$t=Y.value;if(c(J)&&c(J).nodeId===Te){const Je=c(J).endpoints.find(Bt=>Bt.endpointId===Ye),Pt=Je==null?void 0:Je.clusters.find(Bt=>Bt.name===ke);Pt&&(Pt.attrs[It]=$t)}const te=g.get(Te);if(te){const Je=te.endpoints.find(Bt=>Bt.endpointId===Ye),Pt=Je==null?void 0:Je.clusters.find(Bt=>Bt.name===ke);Pt&&(Pt.attrs[It]=$t)}m(V,[{id:T++,kind:"attr",nodeId:Te,endpointId:Ye,clusterName:ke,attrName:It,value:$t,ts:Y.ts??Date.now()},...c(V).slice(0,P-1)],!0)});Wp(()=>{ii(),bi(),ni(),ai()});var $i=QY(),Zi=Et($i);gs(Yc(Zi,{}),Y=>_i=Y,()=>_i);var wi=v(Zi,2),yn=_(wi),un=_(yn),cn=_(un),fn=v(_(cn),2),ft=v(cn,2);{var Gt=Y=>{var Te=cY(),Ye=_(Te),ke=_(Ye);let It;var $t=v(ke,2);let te;var Je=v(Ye,2);{var Pt=ei=>{var fe=aY(),et=Et(fe),at=v(_(et)),ct=v(et,2),Ut=v(_(ct));Vt(at,()=>c(De),Ht=>m(De,Ht)),Vt(Ut,()=>c(Pe),Ht=>m(Pe,Ht)),D(ei,fe)},Bt=ei=>{var fe=lY(),et=Et(fe),at=v(_(et)),ct=v(et,2),Ut=_(ct),Ht=v(Ut,2),Ei=v(_(Ht),2);Vt(at,()=>c(xe),I=>m(xe,I)),U("click",Ut,Dt),U("change",Ei,Jt),D(ei,fe)};z(Je,ei=>{c(ae)==="passcode"?ei(Pt):ei(Bt,-1)})}var Ot=v(Je,2),Se=v(_(Ot)),Qe=v(Ot,2);{var Yt=ei=>{var fe=U2(),et=_(fe);j(()=>W(et,c(ze))),D(ei,fe)};z(Qe,ei=>{c(ze)&&ei(Yt)})}var Zt=v(Qe,2),mi=_(Zt);j(()=>{It=Ft(ke,1,"svelte-1ua3isv",null,It,{active:c(ae)==="passcode"}),te=Ft($t,1,"svelte-1ua3isv",null,te,{active:c(ae)==="pairingCode"}),Zt.disabled=c(Ve),W(mi,c(Ve)?"Commissioning…":"Commission")}),U("click",ke,()=>m(ae,"passcode")),U("click",$t,()=>m(ae,"pairingCode")),Vt(Se,()=>c(ve),ei=>m(ve,ei)),U("click",Zt,Ee),D(Y,Te)};z(ft,Y=>{c(re)&&Y(Gt)})}var Pi=v(ft,2),qi=_(Pi);ti(qi,17,()=>c(f),Y=>Y.nodeId,(Y,Te)=>{var Ye=hY();let ke;var It=_(Ye),$t=_(It);let te;var Je=v($t,2),Pt=_(Je);{var Bt=Qe=>{var Yt=dY(),Zt=Et(Yt),mi=_(Zt),ei=v(Zt,2),fe=_(ei);j(()=>{W(mi,c(Te).name),W(fe,`#${c(Te).nodeId??""}`)}),D(Qe,Yt)},Ot=Qe=>{var Yt=uY(),Zt=_(Yt);j(()=>W(Zt,`Node ${c(Te).nodeId??""}`)),D(Qe,Yt)};z(Pt,Qe=>{c(Te).name?Qe(Bt):Qe(Ot,-1)})}var Se=v(It,2);j(()=>{var Qe;ke=Ft(Ye,1,"svelte-1ua3isv",null,ke,{selected:((Qe=c(J))==null?void 0:Qe.nodeId)===c(Te).nodeId}),te=Ft($t,1,"status-dot svelte-1ua3isv",null,te,{online:c(Te).online})}),U("click",It,()=>xi(c(Te).nodeId)),U("click",Se,()=>Ke(c(Te).nodeId)),D(Y,Ye)});var Ci=v(qi,2);{var Wi=Y=>{var Te=fY();D(Y,Te)};z(Ci,Y=>{c(f).length===0&&Y(Wi)})}var Vi=v(un,2),Qi=_(Vi);{var Si=Y=>{var Te=gY();D(Y,Te)},it=Y=>{var Te=U2(),Ye=_(Te);j(()=>W(Ye,c(we))),D(Y,Te)},At=Y=>{var Te=zY(),Ye=Et(Te),ke=_(Ye),It=_(ke),$t=v(ke,2);{var te=Ot=>{var Se=pY(),Qe=_(Se);j(()=>W(Qe,c(J).subtitle)),D(Ot,Se)};z($t,Ot=>{c(J).subtitle&&Ot(te)})}var Je=v($t,2),Pt=_(Je),Bt=v(Ye,2);ti(Bt,17,()=>c(J).endpoints,Ot=>Ot.endpointId,(Ot,Se)=>{var Qe=WY(),Yt=_(Qe),Zt=_(Yt),mi=v(Zt),ei=_(mi),fe=v(mi,2);ti(fe,21,()=>c(Se).clusters,Hi,(Ut,Ht)=>{var Ei=xY(),I=_(Ei);j(()=>W(I,c(Ht).name)),D(Ut,Ei)});var et=v(Yt,2);{var at=Ut=>{var Ht=OY(),Ei=v(_(Ht));ti(Ei,21,()=>c(Se).clusters,Hi,(I,N)=>{var $=NY(),oe=Et($),ie=_(oe),ne=_(ie),le=v(oe,2);ti(le,17,()=>Object.entries(c(N).attrs),Hi,(tt,Fe)=>{var _e=Lt(()=>r8(c(Fe),2));let Ze=()=>c(_e)[0],Me=()=>c(_e)[1];var lt=ws(),Xt=Et(lt);{var Z=je=>{const mt=Lt(()=>{var zt;return(zt=t[c(N).name])==null?void 0:zt[Ze()]}),Le=Lt(()=>(Ze()==="acceptedCommandList"||Ze()==="generatedCommandList")&&Array.isArray(Me())),He=Lt(()=>{var zt;return((zt=d[c(N).name])==null?void 0:zt[Ze()])??a[Ze()]});var St=RY(),gt=_(St),Ie=_(gt),pe=_(Ie),Re=v(Ie);{var Ne=zt=>{var kt=mY(),Wt=_(kt);j(oi=>W(Wt,`(${oi??""})`),[()=>u(c(He))]),D(zt,kt)};z(Re,zt=>{c(He)!==void 0&&zt(Ne)})}var Ue=v(gt),rt=_(Ue);{var qe=zt=>{var kt=_Y();ti(kt,21,()=>c(mt),Hi,(Wt,oi)=>{var vi=vY(),tn=_(vi);j(()=>W(tn,c(oi).label)),U("click",vi,()=>i(c(J).nodeId,c(Se).endpointId,c(N).name,c(oi).command,c(oi).args)),D(Wt,vi)}),D(zt,kt)};z(rt,zt=>{c(mt)&&zt(qe)})}var vt=v(Ue),ge=_(vt);{var Oe=zt=>{var kt=wY();ti(kt,21,()=>s(c(N).name,Me()),Hi,(Wt,oi,vi)=>{var tn=yY(),Xi=Et(tn);{var Ln=Mn=>{var os=bY();D(Mn,os)};z(Xi,Mn=>{vi>0&&Mn(Ln)})}var Ki=v(Xi,2);{var An=Mn=>{var os=CY(),zi=Et(os),Gs=_(zi),Nn=v(zi),Jn=_(Nn);j(()=>{W(Gs,c(oi).name),W(Jn,`(${c(oi).id??""})`)}),D(Mn,os)},qn=Mn=>{var os=EY(),zi=_(os);j(()=>W(zi,c(oi).id)),D(Mn,os)};z(Ki,Mn=>{c(oi).name?Mn(An):Mn(qn,-1)})}D(Wt,tn)}),D(zt,kt)},_t=zt=>{var kt=AY(),Wt=v(_(kt));ti(Wt,21,Me,Hi,(oi,vi)=>{const tn=Lt(()=>c(vi)),Xi=Lt(()=>c(tn).deviceType),Ln=Lt(()=>r[c(Xi)]);var Ki=DY(),An=_(Ki),qn=_(An);{var Mn=Nn=>{var Jn=SY(),Ms=Et(Jn),er=v(Ms),zr=_(er);j(Xa=>{W(Ms,`${c(Ln)??""} `),W(zr,`(${Xa??""})`)},[()=>u(c(Xi))]),D(Nn,Jn)},os=Nn=>{var Jn=Co();j(Ms=>W(Jn,Ms),[()=>u(c(Xi))]),D(Nn,Jn)};z(qn,Nn=>{c(Ln)?Nn(Mn):Nn(os,-1)})}var zi=v(An),Gs=_(zi);j(Nn=>W(Gs,Nn),[()=>C(c(tn).revision)]),D(oi,Ki)}),D(zt,kt)},jt=Lt(()=>Ze()==="deviceTypeList"&&Array.isArray(Me())),Ct=zt=>{const kt=Lt(()=>[...new Set(Me().flatMap(Xi=>Object.keys(Xi)))]);var Wt=LY(),oi=_(Wt),vi=_(oi);ti(vi,21,()=>c(kt),Hi,(Xi,Ln)=>{var Ki=kY(),An=_(Ki);j(()=>W(An,c(Ln))),D(Xi,Ki)});var tn=v(oi);ti(tn,21,Me,Hi,(Xi,Ln)=>{var Ki=FY();ti(Ki,21,()=>c(kt),Hi,(An,qn)=>{var Mn=BY(),os=_(Mn);j(zi=>W(os,zi),[()=>C(c(Ln)[c(qn)])]),D(An,Mn)}),D(Xi,Ki)}),D(zt,Wt)},Ni=Lt(()=>y(Me())),Mi=zt=>{var kt=PY(),Wt=_(kt);ti(Wt,21,()=>Object.entries(Me()),Hi,(oi,vi)=>{var tn=Lt(()=>r8(c(vi),2));let Xi=()=>c(tn)[0],Ln=()=>c(tn)[1];var Ki=IY(),An=_(Ki),qn=_(An),Mn=v(An),os=_(Mn);j(zi=>{W(qn,Xi()),W(os,zi)},[()=>C(Ln())]),D(oi,Ki)}),D(zt,kt)},Ji=Lt(()=>b(Me())),Fi=zt=>{var kt=TY(),Wt=_(kt);j(()=>{ln(kt,"href",Me()),W(Wt,Me())}),D(zt,kt)},ui=zt=>{var kt=MY(),Wt=_(kt);j(oi=>W(Wt,oi),[()=>C(Me())]),D(zt,kt)};z(ge,zt=>{c(Le)?zt(Oe):c(jt)?zt(_t,1):c(Ni)?zt(Ct,2):c(Ji)?zt(Mi,3):(Ze()==="productUrl"||Ze()==="productURL")&&typeof Me()=="string"?zt(Fi,4):zt(ui,-1)})}j(()=>{ln(gt,"title",Ze()),W(pe,Ze())}),D(je,St)},ce=Lt(()=>!w(Me(),Ze()));z(Xt,je=>{c(ce)&&je(Z)})}D(tt,lt)}),j(()=>W(ne,c(N).name)),D(I,$)}),D(Ut,Ht)},ct=Ut=>{var Ht=HY();D(Ut,Ht)};z(et,Ut=>{c(Se).clusters.length>0?Ut(at):Ut(ct,-1)})}j(()=>{W(Zt,`${c(Se).name??`Endpoint ${c(Se).endpointId}`??""} `),W(ei,`ep${c(Se).endpointId??""}`)}),D(Ot,Qe)}),j(()=>{W(It,c(J).name??`Node ${c(J).nodeId}`),W(Pt,`Node ID: ${c(J).nodeId??""}`)}),D(Y,Te)},Oi=Y=>{var Te=VY();D(Y,Te)};z(Qi,Y=>{c(de)?Y(Si):c(we)?Y(it,1):c(J)?Y(At,2):Y(Oi,-1)})}var Ti=v(yn,2),Bi=_(Ti),Ri=v(Bi,2),K=v(_(Ri),2);{var Ae=Y=>{var Te=jY(),Ye=_(Te);j(()=>W(Ye,c(V).length)),D(Y,Te)};z(K,Y=>{!c(H)&&c(V).length>0&&Y(Ae)})}var Xe=v(K,2),st=_(Xe),Kt=v(Ri,2);{var si=Y=>{var Te=KY(),Ye=_(Te);{var ke=$t=>{var te=$Y();D($t,te)},It=$t=>{var te=ws(),Je=Et(te);ti(Je,17,()=>c(se),Pt=>Pt.id,(Pt,Bt)=>{const Ot=Lt(()=>{var at,ct;return((at=g.get(c(Bt).nodeId))==null?void 0:at.name)??((ct=c(f).find(Ut=>Ut.nodeId===c(Bt).nodeId))==null?void 0:ct.name)??null}),Se=Lt(()=>{var at,ct;return c(Bt).endpointId!==void 0?((ct=(at=g.get(c(Bt).nodeId))==null?void 0:at.endpoints.find(Ut=>Ut.endpointId===c(Bt).endpointId))==null?void 0:ct.name)??null:null}),Qe=Lt(()=>c(Bt).attrName??c(Bt).clusterName);var Yt=GY(),Zt=_(Yt),mi=_(Zt),ei=v(Zt,2);{var fe=at=>{var ct=UY(),Ut=v(Et(ct),2),Ht=_(Ut),Ei=v(Ht);{var I=ie=>{var ne=KC(),le=v(Et(ne)),tt=_(le);j(()=>W(tt,`(#${c(Bt).nodeId??""})`)),D(ie,ne)};z(Ei,ie=>{c(Ot)&&ie(I)})}var N=v(Ut,2);let $;var oe=_(N);j(()=>{W(Ht,c(Ot)??`#${c(Bt).nodeId}`),$=Ft(N,1,"e-val svelte-1ua3isv",null,$,{"e-online":c(Bt).online,"e-offline":!c(Bt).online}),W(oe,c(Bt).online?"online":"offline")}),D(at,ct)},et=at=>{var ct=qY(),Ut=v(Et(ct),2),Ht=_(Ut),Ei=v(Ht);{var I=Me=>{var lt=KC(),Xt=v(Et(lt)),Z=_(Xt);j(()=>W(Z,`(#${c(Bt).nodeId??""})`)),D(Me,lt)};z(Ei,Me=>{c(Ot)&&Me(I)})}var N=v(Ut,2),$=_(N),oe=v($);{var ie=Me=>{var lt=KC(),Xt=v(Et(lt)),Z=_(Xt);j(()=>W(Z,`(ep ${c(Bt).endpointId??""})`)),D(Me,lt)};z(oe,Me=>{c(Se)&&Me(ie)})}var ne=v(N,2),le=_(ne),tt=v(ne,2),Fe=_(tt),_e=v(tt,2),Ze=_(_e);j(Me=>{W(Ht,c(Ot)??`#${c(Bt).nodeId}`),W($,c(Se)??`ep${c(Bt).endpointId}`),W(le,c(Bt).clusterName),W(Fe,c(Qe)),W(Ze,Me)},[()=>p(c(Bt).value)]),D(at,ct)};z(ei,at=>{c(Bt).kind==="status"?at(fe):at(et,-1)})}j(at=>W(mi,at),[()=>A(c(Bt).ts)]),D(Pt,Yt)}),D($t,te)};z(Ye,$t=>{c(se).length===0?$t(ke):$t(It,-1)})}D(Y,Te)};z(Kt,Y=>{c(H)&&Y(si)})}var xt=v(wi,2);{var dt=Y=>{var Te=YY(),Ye=Et(Te),ke=v(Ye,2),It=_(ke),$t=v(_(It),2),te=v(It,2);{var Je=Ot=>{var Se=ZY(),Qe=_(Se);j(()=>W(Qe,c(Mt))),D(Ot,Se)},Pt=Ot=>{var Se=XY(),Qe=Et(Se),Yt=_(Qe);gs(Yt,Zt=>m(ot,Zt),()=>c(ot)),D(Ot,Se)};z(te,Ot=>{c(Mt)?Ot(Je):Ot(Pt,-1)})}var Bt=v(te,2);gs(Bt,Ot=>m(yt,Ot),()=>c(yt)),U("click",Ye,ai),U("click",$t,ai),D(Y,Te)};z(xt,Y=>{c(ht)&&Y(dt)})}j(()=>{Uo(Ti,c(H)?`height: ${c(X)}px;`:""),W(st,c(H)?"▾":"▸")}),U("click",fn,()=>m(re,!c(re))),U("mousedown",Bi,he),U("click",Xe,()=>{m(H,!c(H))}),D(o,$i),$s()}Ys(["click","change","mousedown"]);var eQ=B("<button>›</button>"),tQ=B('<span class="chev-ph svelte-1vejtrc"></span>'),iQ=B('<span class="tv svelte-1vejtrc"> </span> <span class="tt svelte-1vejtrc"> </span>',1),nQ=B("<button>🔒</button>"),sQ=B('<span class="acl-loading">Loading…</span>'),oQ=B("<span> </span>"),rQ=B('<span class="acl-dyn svelte-1vejtrc" title="per-user/client pattern — cannot evaluate statically">⚠%u/%c</span>'),aQ=B('<span class="acl-members svelte-1vejtrc"> </span>'),lQ=B('<span class="acl-group svelte-1vejtrc"> </span>'),cQ=B('<span> <strong class="svelte-1vejtrc"> </strong> <!> <!> <!></span>'),dQ=B('<div class="acl-sec svelte-1vejtrc"><span class="acl-sec-hdr svelte-1vejtrc"> </span> <!></div>'),uQ=B('<div class="acl-panel svelte-1vejtrc"><!></div>'),hQ=B('<div class="tc svelte-1vejtrc"></div>'),fQ=B('<div class="tn svelte-1vejtrc"><div><!> <span class="seg svelte-1vejtrc"> </span> <!> <!></div> <!> <!></div>'),gQ=B('<button class="acl-refresh svelte-1vejtrc" title="Refresh ACL data">↺</button>'),pQ=B('<button title="Show ACL coverage for topics"><svg width="11" height="11" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true"><rect x="3" y="7" width="10" height="8" rx="1.5"></rect><path d="M5 7V5a3 3 0 0 1 6 0v2" fill="none" stroke="currentColor" stroke-width="1.8"></path></svg> ACL<!></button> <!>',1),xQ=B("<option></option>"),mQ=B('<span class="pub-ok svelte-1vejtrc">✓</span>'),vQ=B('<span class="pub-err svelte-1vejtrc"> </span>'),_Q=B('<div class="info svelte-1vejtrc">Loading…</div>'),bQ=B('<div class="info err svelte-1vejtrc"> </div>'),CQ=B('<div class="info svelte-1vejtrc">No topics match.</div>'),EQ=B('<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>'),yQ=B('<div class="vs svelte-1vejtrc"><div><div class="vrows-abs svelte-1vejtrc"></div></div></div>'),wQ=B('<div class="info svelte-1vejtrc">No topics yet.</div>'),SQ=B('<div class="tree-wrap svelte-1vejtrc"><!></div>'),DQ=B('<span class="stream-badge"> </span>'),AQ=B('<span class="stream-empty svelte-1vejtrc">Waiting for messages…</span>'),kQ=B('<span class="s-ret svelte-1vejtrc" title="retained snapshot">&#x229B;</span>'),BQ=B('<div><span class="s-ts svelte-1vejtrc"> </span> <!> <span class="s-topic svelte-1vejtrc"> </span> <span class="s-val svelte-1vejtrc"> </span></div>'),FQ=B('<div class="stream-body svelte-1vejtrc"><!></div>'),LQ=B('<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),IQ=B('<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>'),PQ=B('<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),TQ=B('<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 MQ(o,e){js(e,!0);const t=(I,N=sb)=>{const $=Lt(()=>c(g).has(N().path)),oe=Lt(()=>c(a)>=0&&N().children.size>0),ie=Lt(()=>c(a)>=0&&N().isLeaf&&!n.has(N().path));var ne=fQ(),le=_(ne);let tt;var Fe=_(le);{var _e=Ie=>{var pe=eQ();let Re;j(()=>{Re=Ft(pe,1,"chev svelte-1vejtrc",null,Re,{open:c($)}),ln(pe,"aria-label",c($)?"Collapse":"Expand")}),U("click",pe,()=>p(N().path)),D(Ie,pe)},Ze=Ie=>{var pe=tQ();D(Ie,pe)};z(Fe,Ie=>{c(oe)?Ie(_e):Ie(Ze,-1)})}var Me=v(Fe,2),lt=_(Me),Xt=v(Me,2);{var Z=Ie=>{var pe=iQ(),Re=Et(pe),Ne=_(Re),Ue=v(Re,2),rt=_(Ue);j((qe,vt,ge)=>{ln(Re,"title",qe),W(Ne,vt),W(rt,ge)},[()=>{var qe;return di((qe=_i(N().path))==null?void 0:qe.val)},()=>{var qe;return di((qe=_i(N().path))==null?void 0:qe.val)},()=>{var qe;return((qe=_i(N().path))==null?void 0:qe.ts)!=null?ci(_i(N().path).ts):""}]),D(Ie,pe)},ce=Lt(()=>N().isLeaf&&i.has(N().path));z(Xt,Ie=>{c(ce)&&Ie(Z)})}var je=v(Xt,2);{var mt=Ie=>{const pe=Lt(()=>!!c($i)&&cn(N().path));var Re=nQ();let Ne;j(()=>{Ne=Ft(Re,1,"acl-badge svelte-1vejtrc",null,Ne,{matched:c(pe)}),ln(Re,"title",c(pe)?"Has explicit ACL — click to inspect":"No explicit ACL — click to inspect defaults")}),U("click",Re,Ue=>{Ue.stopPropagation(),ft(N().path)}),D(Ie,Re)};z(je,Ie=>{c(bi)&&N().isLeaf&&Ie(mt)})}var Le=v(le,2);{var He=Ie=>{var pe=uQ(),Re=_(pe);{var Ne=rt=>{var qe=sQ();D(rt,qe)},Ue=rt=>{var qe=ws(),vt=Et(qe);ti(vt,17,()=>[{label:"Send",section:c(wi).send},{label:"Subscribe",section:c(wi).subscribe},{label:"Receive",section:c(wi).receive}],Hi,(ge,Oe)=>{var _t=dQ(),jt=_(_t),Ct=_(jt),Ni=v(jt,2);{var Mi=Fi=>{var ui=oQ();let zt;var kt=_(ui);j(()=>{zt=Ft(ui,1,"acl-def svelte-1vejtrc",null,zt,{allow:c(Oe).section.default,deny:!c(Oe).section.default}),W(kt,`${c(Oe).section.default?"allow":"deny"} (default)`)}),D(Fi,ui)},Ji=Fi=>{var ui=ws(),zt=Et(ui);ti(zt,17,()=>c(Oe).section.roles,Hi,(kt,Wt)=>{var oi=cQ();let vi;var tn=_(oi),Xi=v(tn),Ln=_(Xi),Ki=v(Xi,2);{var An=zi=>{var Gs=rQ();D(zi,Gs)};z(Ki,zi=>{c(Wt).dynamic&&zi(An)})}var qn=v(Ki,2);{var Mn=zi=>{var Gs=aQ(),Nn=_(Gs);j(Jn=>W(Nn,Jn),[()=>c(Wt).users.join(", ")]),D(zi,Gs)};z(qn,zi=>{c(Wt).users.length>0&&zi(Mn)})}var os=v(qn,2);ti(os,17,()=>c(Wt).groups,Hi,(zi,Gs)=>{var Nn=lQ(),Jn=_(Nn);j(()=>W(Jn,c(Gs).groupname)),D(zi,Nn)}),j(()=>{vi=Ft(oi,1,"acl-role svelte-1vejtrc",null,vi,{allow:c(Wt).allow,deny:!c(Wt).allow}),W(tn,`${c(Wt).allow?"✓":"✗"} `),W(Ln,c(Wt).rolename)}),D(kt,oi)}),D(Fi,ui)};z(Ni,Fi=>{c(Oe).section.roles.length===0?Fi(Mi):Fi(Ji,-1)})}j(()=>W(Ct,c(Oe).label)),D(ge,_t)}),D(rt,qe)};z(Re,rt=>{c(yn)?rt(Ne):c(wi)&&rt(Ue,1)})}D(Ie,pe)};z(Le,Ie=>{c(bi)&&N().isLeaf&&c(Zi)===N().path&&Ie(He)})}var St=v(Le,2);{var gt=Ie=>{var pe=hQ();ti(pe,21,()=>[...N().children.values()].sort((Re,Ne)=>Re.seg.localeCompare(Ne.seg)),Re=>Re.path,(Re,Ne)=>{t(Re,()=>c(Ne))}),D(Ie,pe)};z(St,Ie=>{c(oe)&&c($)&&Ie(gt)})}j(()=>{tt=Ft(le,1,"tr svelte-1vejtrc",null,tt,{stale:c(ie)}),W(lt,N().seg)}),U("click",le,()=>{m(de,N().path+"/#")}),U("contextmenu",le,Ie=>{Ie.preventDefault(),m(ve,{x:Ie.clientX,y:Ie.clientY,topic:N().path},!0)}),D(I,ne)},i=new Map,n=new Set,s=new Set;let r=null,a=F(0);function d(){r===null&&(r=requestAnimationFrame(()=>{r=null;for(const I of s)f(I);s.clear(),c8(a)}))}const u=new Map;function f(I){const N=I.split("/");let $=u,oe="";for(let ie=0;ie<N.length;ie++){const ne=N[ie];oe=ie===0?ne:`${oe}/${ne}`,$.has(ne)||$.set(ne,{seg:ne,path:oe,children:new Map,isLeaf:!1});const le=$.get(ne);ie===N.length-1&&(le.isLeaf=!0),$=le.children}}let g=F(Li(new Set));function p(I){const N=new Set(c(g));N.has(I)?N.delete(I):N.add(I),m(g,N,!0)}let C=F("");const b=24,y=5;let w=F(0),A=F(300),P=Lt(()=>{if(c(a),!c(C))return[];const I=c(C).toLowerCase().split(/\s+/).filter(Boolean),N=[];for(const[$,oe]of i){const ie=$.toLowerCase();I.every(ne=>ie.includes(ne))&&N.push({topic:$,...oe})}return N.sort(($,oe)=>$.topic.localeCompare(oe.topic))}),M=Lt(()=>{const I=c(P).length,N=Math.max(0,Math.floor(c(w)/b)-y),$=Math.min(I,Math.ceil((c(w)+c(A))/b)+y);return{start:N,end:$,totalH:I*b,top:N*b}});const R=1e3,T=200,V=20,H=36;let X=0,se=F(Li([])),he=F(Li([])),J=F(!0),de=F("#"),we=F(200);Kn(()=>{const I=c(de).trim(),N=Hl(()=>c(se)),$=!I||I==="#"?N.slice(0,T):N.filter(oe=>re(I,oe.topic)).slice(0,T);if(I&&I!=="#"){const oe=new Set($.map(ne=>ne.topic)),ie=[];for(const[ne,le]of i)oe.has(ne)||re(I,ne)&&ie.push({id:-(ie.length+1),topic:ne,val:le.val,ts:le.ts,retained:!0});ie.sort((ne,le)=>ne.topic.localeCompare(le.topic)),m(he,[...$,...ie],!0)}else m(he,$,!0)});function re(I,N){if(I==="#")return!0;const $=I.split("/"),oe=N.split("/");for(let ie=0;ie<$.length;ie++){if($[ie]==="#")return!0;if(ie>=oe.length||$[ie]!=="+"&&$[ie]!==oe[ie])return!1}return $.length===oe.length}function ae(I){I.preventDefault();const N=I.clientY,$=c(we);function oe(ne){m(we,Math.max(60,Math.min(800,$+N-ne.clientY)),!0)}function ie(){document.removeEventListener("mousemove",oe),document.removeEventListener("mouseup",ie)}document.addEventListener("mousemove",oe),document.addEventListener("mouseup",ie)}let De=Lt(()=>{const I=Math.max(1,Math.floor((c(we)-H)/V)+1);return c(he).slice(0,I)}),Pe=F(!0),xe=F(null);async function Ve(){m(Pe,!0),m(xe,null);try{const I=await pF();for(const N of I)i.set(N.topic,{val:N.val,ts:N.ts}),f(N.topic)}catch(I){m(xe,I instanceof Error?I.message:String(I),!0)}finally{m(Pe,!1),c8(a)}}const ze=ur("mqtt",I=>{const{topic:N,val:$,ts:oe}=I;i.set(N,{val:$,ts:oe}),n.add(N),s.add(N),d();const ie={id:X++,topic:N,val:$,ts:oe};m(se,[ie,...c(se).slice(0,R-1)],!0);const ne=c(de).trim();(!ne||ne==="#"||re(ne,N))&&m(he,[ie,...c(he).filter(le=>!(le.retained&&le.topic===N)).slice(0,T-1)],!0)});let ve=F(null),ht=F(null);async function Mt(I,N){const $=[I];if(N){const oe=I+"/";for(const ie of i.keys())ie.startsWith(oe)&&$.push(ie)}for(const oe of $)await u2(oe,"",!0,0)}let ot=Lt(()=>(c(a),[...i.keys()].sort())),yt=F(""),Ce=F(""),Rt=F(!1),ai=F(0),Ge=F(!1),nt=F(null),Dt=F(!1);async function Jt(){if(c(yt)){m(Ge,!0),m(nt,null),m(Dt,!1);try{await u2(c(yt),c(Ce),c(Rt),c(ai)),m(Dt,!0),setTimeout(()=>{m(Dt,!1)},2e3)}catch(I){m(nt,I instanceof Error?I.message:String(I),!0)}finally{m(Ge,!1)}}}function di(I){return I==null?"":typeof I=="object"?JSON.stringify(I):String(I)}function ci(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function xi(I){return new Date(I).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})}function _i(I){return c(a),i.get(I)}let Ke=Lt(()=>(c(a),[...u.values()].sort((I,N)=>I.seg.localeCompare(N.seg)))),Ee=Lt(()=>(c(a),i.size)),ii=F(!1),bi=F(!1),ni=F(!1),$i=F(null),Zi=F(null),wi=F(null),yn=F(!1);function un(I,N,$){return N.includes("%u")||N.includes("%c")?"dynamic":I==="subscribeLiteral"||I==="unsubscribeLiteral"?N===$?"match":"no-match":re(N,$)?"match":"no-match"}function cn(I){if(!c($i))return!1;for(const N of c($i).roles)if(N.acls){for(const $ of N.acls)if(un($.acltype,$.topic,I)!=="no-match")return!0}return!1}async function fn(){m(ni,!0);try{const I=await EF();m($i,{roles:I.roles},!0)}catch{m($i,null),m(bi,!1)}finally{m(ni,!1)}}async function ft(I){if(c(Zi)===I){m(Zi,null),m(wi,null);return}m(Zi,I,!0),m(wi,null),m(yn,!0);try{m(wi,await BU(I),!0)}catch{m(wi,null)}finally{m(yn,!1)}}async function Gt(){c(bi)?(m(bi,!1),m(Zi,null),m(wi,null)):(m(bi,!0),m(Zi,null),m(wi,null),c($i)||await fn())}Xs(Ve),Xs(async()=>{var I;try{const N=await Lb();m(ii,!!((I=N.dynsec)!=null&&I.dynsecReady),!0)}catch{m(ii,!1)}}),Wp(()=>{ze(),r!==null&&cancelAnimationFrame(r)});var Pi=TQ(),qi=_(Pi),Ci=v(_(qi),2);{var Wi=I=>{var N=pQ(),$=Et(N);let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=Co("…");D(Fe,_e)};z(ie,Fe=>{c(ni)&&Fe(ne)})}var le=v($,2);{var tt=Fe=>{var _e=gQ();j(()=>_e.disabled=c(ni)),U("click",_e,fn),D(Fe,_e)};z(le,Fe=>{c(bi)&&Fe(tt)})}j(()=>{oe=Ft($,1,"acl-btn svelte-1vejtrc",null,oe,{active:c(bi)}),$.disabled=c(ni)}),U("click",$,Gt),D(I,N)};z(Ci,I=>{c(ii)&&I(Wi)})}var Vi=v(qi,2),Qi=_(Vi),Si=_(Qi),it=v(Si,2);ti(it,20,()=>c(ot),I=>I,(I,N)=>{var $=xQ(),oe={};j(()=>{oe!==(oe=N)&&($.value=($.__value=N)??"")}),D(I,$)});var At=v(it,2),Oi=v(At,2),Ti=_(Oi),Bi=v(Oi,2),Ri=_(Bi);Ri.value=Ri.__value=0;var K=v(Ri);K.value=K.__value=1;var Ae=v(K);Ae.value=Ae.__value=2;var Xe=v(Bi,2),st=v(Xe,2);{var Kt=I=>{var N=mQ();D(I,N)};z(st,I=>{c(Dt)&&I(Kt)})}var si=v(st,2);{var xt=I=>{var N=vQ(),$=_(N);j(()=>W($,c(nt))),D(I,N)};z(si,I=>{c(nt)&&I(xt)})}var dt=v(Qi,2),Y=_(dt),Te=v(Y,2),Ye=_(Te);{var ke=I=>{var N=Co();j(()=>W(N,`${c(P).length??""} /`)),D(I,N)};z(Ye,I=>{c(C)&&I(ke)})}var It=v(Ye),$t=v(dt,2);{var te=I=>{var N=_Q();D(I,N)},Je=I=>{var N=bQ(),$=_(N);j(()=>W($,c(xe))),D(I,N)},Pt=I=>{var N=ws(),$=Et(N);{var oe=ne=>{var le=CQ();D(ne,le)},ie=ne=>{var le=yQ(),tt=_(le),Fe=_(tt);ti(Fe,21,()=>c(P).slice(c(M).start,c(M).end),_e=>_e.topic,(_e,Ze)=>{var Me=EQ(),lt=_(Me),Xt=_(lt),Z=v(lt,2),ce=_(Z),je=v(Z,2),mt=_(je);j((Le,He,St)=>{W(Xt,c(Ze).topic),ln(Z,"title",Le),W(ce,He),W(mt,St)},[()=>di(c(Ze).val),()=>di(c(Ze).val),()=>ci(c(Ze).ts)]),D(_e,Me)}),j(()=>{Uo(tt,`height: ${c(M).totalH??""}px; position: relative;`),Uo(Fe,`top: ${c(M).top??""}px;`)}),xs("scroll",le,_e=>{m(w,_e.currentTarget.scrollTop,!0)}),dP(le,"clientHeight",_e=>m(A,_e)),D(ne,le)};z($,ne=>{c(P).length===0?ne(oe):ne(ie,-1)})}D(I,N)},Bt=I=>{var N=SQ(),$=_(N);{var oe=ne=>{var le=wQ();D(ne,le)},ie=ne=>{var le=ws(),tt=Et(le);ti(tt,17,()=>c(Ke),Fe=>Fe.path,(Fe,_e)=>{t(Fe,()=>c(_e))}),D(ne,le)};z($,ne=>{c(Ke).length===0?ne(oe):ne(ie,-1)})}D(I,N)};z($t,I=>{c(Pe)?I(te):c(xe)?I(Je,1):c(C)?I(Pt,2):I(Bt,-1)})}var Ot=v(Vi,2),Se=_(Ot),Qe=v(Se,2),Yt=_(Qe),Zt=v(Yt,2);{var mi=I=>{var N=DQ(),$=_(N);j(()=>W($,c(he).length)),D(I,N)};z(Zt,I=>{!c(J)&&c(he).length>0&&I(mi)})}var ei=v(Zt,2),fe=_(ei),et=v(Qe,2);{var at=I=>{var N=FQ(),$=_(N);{var oe=ne=>{var le=AQ();D(ne,le)},ie=ne=>{var le=ws(),tt=Et(le);ti(tt,17,()=>c(De),Fe=>Fe.id,(Fe,_e)=>{var Ze=BQ();let Me;var lt=_(Ze),Xt=_(lt),Z=v(lt,2);{var ce=St=>{var gt=kQ();D(St,gt)};z(Z,St=>{c(_e).retained&&St(ce)})}var je=v(Z,2),mt=_(je),Le=v(je,2),He=_(Le);j((St,gt,Ie)=>{Me=Ft(Ze,1,"sr svelte-1vejtrc",null,Me,{retained:c(_e).retained}),W(Xt,St),W(mt,c(_e).topic),ln(Le,"title",gt),W(He,Ie)},[()=>xi(c(_e).ts),()=>di(c(_e).val),()=>di(c(_e).val)]),D(Fe,Ze)}),D(ne,le)};z($,ne=>{c(De).length===0?ne(oe):ne(ie,-1)})}D(I,N)};z(et,I=>{c(J)&&I(at)})}var ct=v(Ot,2);{var Ut=I=>{var N=LQ(),$=Et(N),oe=v($,2);let ie;var ne=_(oe),le=v(ne,2);j(()=>ie=Uo(oe,"",ie,{left:`${c(ve).x??""}px`,top:`${c(ve).y??""}px`})),U("click",$,()=>m(ve,null)),U("contextmenu",$,tt=>{tt.preventDefault(),m(ve,null)}),U("click",ne,()=>{navigator.clipboard.writeText(c(ve).topic),m(ve,null)}),U("click",le,()=>{const tt=c(ve).topic,Fe=tt+"/",_e=[...i.keys()].some(Ze=>Ze.startsWith(Fe));m(ht,{topic:tt,hasChildren:_e,recursive:!1},!0),m(ve,null)}),D(I,N)};z(ct,I=>{c(ve)&&I(Ut)})}var Ht=v(ct,2);{var Ei=I=>{var N=PQ(),$=Et(N),oe=v($,2),ie=v(_(oe),2),ne=_(ie),le=v(_(ne)),tt=_(le),Fe=v(ne,2);{var _e=Xt=>{var Z=IQ(),ce=_(Z);ys(ce,()=>c(ht).recursive,je=>c(ht).recursive=je),D(Xt,Z)};z(Fe,Xt=>{c(ht).hasChildren&&Xt(_e)})}var Ze=v(ie,2),Me=_(Ze),lt=v(Me,2);j(()=>W(tt,c(ht).topic)),U("click",$,()=>m(ht,null)),U("click",Me,()=>m(ht,null)),U("click",lt,()=>{const{topic:Xt,recursive:Z}=c(ht);m(ht,null),Mt(Xt,Z)}),D(I,N)};z(Ht,I=>{c(ht)&&I(Ei)})}j(()=>{Xe.disabled=c(Ge)||!c(yt),W(It,` ${c(Ee)??""}`),Uo(Ot,c(J)?`height: ${c(we)}px;`:""),W(fe,c(J)?"▾":"▸")}),Vt(Si,()=>c(yt),I=>m(yt,I)),Vt(At,()=>c(Ce),I=>m(Ce,I)),ys(Ti,()=>c(Rt),I=>m(Rt,I)),Fs(Bi,()=>c(ai),I=>m(ai,I)),U("click",Xe,Jt),Vt(Y,()=>c(C),I=>m(C,I)),U("mousedown",Se,ae),Vt(Yt,()=>c(de),I=>m(de,I)),U("click",ei,()=>{m(J,!c(J))}),D(o,Pi),$s()}Ys(["click","contextmenu","mousedown"]);var RQ=B('<div class="restart-banner restart-banner--restarting svelte-twakcj">Restarting daemon…</div>'),NQ=B('<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>'),OQ=B('<div class="err svelte-twakcj"> </div>'),HQ=B('<span class="pane-count pane-count--warn svelte-twakcj"> </span>'),WQ=B('<p class="empty svelte-twakcj">No packages installed.</p>'),zQ=B('<p class="empty svelte-twakcj">No match.</p>'),VQ=B("<span> </span>"),jQ=C6('<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>'),$Q=C6('<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>'),UQ=B('<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>'),qQ=B('<span class="result-author svelte-twakcj"> </span>'),GQ=B('<span class="result-date svelte-twakcj"> </span>'),KQ=B('<span class="result-desc svelte-twakcj"> </span>'),ZQ=B('<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>'),XQ=B('<div class="results-list svelte-twakcj"></div>'),YQ=B('<pre class="npm-output svelte-twakcj"> </pre>'),QQ=B(`<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>`),JQ=B('<!> <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 eJ(o,e){js(e,!0);let t=F(Li([])),i=F(""),n=F(Li({})),s=F(Li([])),r=F(!1),a=F(""),d=F(Li([])),u=F(!1),f=F(!1),g=F(!1),p=F(""),C=F(""),b=Li({});const y=Lt(()=>c(i).trim()?c(t).filter(ft=>ft.name.toLowerCase().includes(c(i).toLowerCase())):c(t)),w=Lt(()=>Object.keys(c(n)).filter(ft=>!c(s).includes(ft)).length);Xs(async()=>{await Promise.all([A(),P(),M()])});async function A(){try{m(t,await G$(),!0),m(p,"")}catch(ft){m(p,ft.message,!0)}}async function P(){try{m(n,await gF(),!0)}catch{}}async function M(){try{const ft=await Pl();m(s,Array.isArray(ft.pinnedPackages)?ft.pinnedPackages:[],!0)}catch{}}async function R(ft){const Gt=c(s).includes(ft)?c(s).filter(Pi=>Pi!==ft):[...c(s),ft];m(s,Gt,!0);try{const Pi=await Pl();await fp({...Pi,pinnedPackages:Gt})}catch{}}async function T(){m(r,!0);try{m(n,await Q$(),!0)}catch{}finally{m(r,!1)}}async function V(){const ft=c(a).trim();if(!ft){m(d,[],!0);return}m(g,!0),m(p,"");try{m(d,await K$(ft),!0)}catch(Gt){m(p,Gt.message,!0)}finally{m(g,!1)}}function H(ft){if(!ft)return"";try{return new Date(ft).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}catch{return""}}async function X(ft,Gt){b[ft]=!0,m(p,""),m(C,"");try{const Pi=await Z$(ft,Gt);m(C,Pi.stdout||Pi.stderr||"Done.",!0),m(u,!0),await A()}catch(Pi){m(p,Pi.message,!0)}finally{b[ft]=!1}}async function se(ft){b[ft]=!0,m(p,""),m(C,"");try{const Gt=await X$(ft);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const Pi={...c(n)};delete Pi[ft],m(n,Pi,!0),await A()}catch(Gt){m(p,Gt.message,!0)}finally{b[ft]=!1}}async function he(ft){b[ft]=!0,m(p,""),m(C,"");try{const Gt=await Y$(ft);m(C,Gt.stdout||Gt.stderr||"Done.",!0),m(u,!0);const Pi={...c(n)};delete Pi[ft],m(n,Pi,!0),await A()}catch(Gt){m(p,Gt.message,!0)}finally{b[ft]=!1}}let J;async function de(){if(await J.show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"})){m(f,!0);try{await uF()}catch{}setTimeout(()=>{window.location.reload()},3e3)}}var we=JQ(),re=Et(we);gs(Yc(re,{}),ft=>J=ft,()=>J);var ae=v(re,2),De=_(ae);{var Pe=ft=>{var Gt=RQ();D(ft,Gt)},xe=ft=>{var Gt=NQ(),Pi=v(_(Gt));U("click",Pi,de),D(ft,Gt)};z(De,ft=>{c(f)?ft(Pe):c(u)&&ft(xe,1)})}var Ve=v(De,2);{var ze=ft=>{var Gt=OQ(),Pi=_(Gt);j(()=>W(Pi,c(p))),D(ft,Gt)};z(Ve,ft=>{c(p)&&ft(ze)})}var ve=v(Ve,2),ht=_(ve),Mt=_(ht),ot=v(_(Mt),2),yt=_(ot),Ce=v(ot,2);{var Rt=ft=>{var Gt=HQ(),Pi=_(Gt);j(()=>W(Pi,`${c(w)??""} outdated`)),D(ft,Gt)};z(Ce,ft=>{c(w)>0&&ft(Rt)})}var ai=v(Ce,2),Ge=_(ai);let nt;var Dt=v(Mt,2),Jt=_(Dt),di=v(Dt,2),ci=_(di);{var xi=ft=>{var Gt=WQ();D(ft,Gt)},_i=ft=>{var Gt=zQ();D(ft,Gt)},Ke=ft=>{var Gt=ws(),Pi=Et(Gt);ti(Pi,17,()=>c(y),qi=>qi.name,(qi,Ci)=>{var Wi=UQ();let Vi;var Qi=_(Wi),Si=_(Qi),it=_(Si),At=v(Si,2),Oi=_(At),Ti=v(At,2);{var Bi=Y=>{var Te=VQ();let Ye;var ke=_(Te);j(It=>{Ye=Ft(Te,1,"dep-latest svelte-twakcj",null,Ye,It),W(ke,`→ v${c(n)[c(Ci).name].latest??""}`)},[()=>({"dep-latest--pinned":c(s).includes(c(Ci).name)})]),D(Y,Te)};z(Ti,Y=>{c(n)[c(Ci).name]&&Y(Bi)})}var Ri=v(Qi,2),K=_(Ri);let Ae;var Xe=v(K,2);let st;var Kt=_(Xe);{var si=Y=>{var Te=jQ();D(Y,Te)},xt=Y=>{var Te=$Q();D(Y,Te)};z(Kt,Y=>{b[c(Ci).name]?Y(si):Y(xt,-1)})}var dt=v(Xe,2);j((Y,Te,Ye)=>{Vi=Ft(Wi,1,"dep-row svelte-twakcj",null,Vi,{"dep-busy":!!b[c(Ci).name]}),ln(Si,"href",c(Ci).url??`https://www.npmjs.com/package/${c(Ci).name}`),W(it,c(Ci).name),W(Oi,c(Ci).installedVersion??c(Ci).version),Ae=Ft(K,1,"icon-btn svelte-twakcj",null,Ae,Y),ln(K,"title",Te),st=Ft(Xe,1,"icon-btn svelte-twakcj",null,st,Ye),Xe.disabled=!!b[c(Ci).name],ln(Xe,"title",c(n)[c(Ci).name]?`Update to v${c(n)[c(Ci).name].latest}`:"Update to latest"),dt.disabled=!!b[c(Ci).name]},[()=>({"icon-btn--pinned":c(s).includes(c(Ci).name)}),()=>c(s).includes(c(Ci).name)?"Unpin package":"Pin package (suppress update dot)",()=>({"icon-btn--update":!!c(n)[c(Ci).name]&&!c(s).includes(c(Ci).name)})]),U("click",K,()=>R(c(Ci).name)),U("click",Xe,()=>he(c(Ci).name)),U("click",dt,()=>se(c(Ci).name)),D(qi,Wi)}),D(ft,Gt)};z(ci,ft=>{c(t).length===0?ft(xi):c(y).length===0?ft(_i,1):ft(Ke,-1)})}var Ee=v(ht,2),ii=v(_(Ee),2),bi=_(ii),ni=v(bi,2),$i=_(ni),Zi=v(ii,2);{var wi=ft=>{var Gt=XQ();ti(Gt,21,()=>c(d),Pi=>Pi.name,(Pi,qi)=>{var Ci=ZQ(),Wi=_(Ci),Vi=_(Wi),Qi=_(Vi),Si=v(Vi,2),it=_(Si),At=v(Si,2);{var Oi=st=>{var Kt=qQ(),si=_(Kt);j(()=>W(si,c(qi).author)),D(st,Kt)};z(At,st=>{c(qi).author&&st(Oi)})}var Ti=v(At,2);{var Bi=st=>{var Kt=GQ(),si=_(Kt);j(xt=>{ln(Kt,"title",c(qi).date),W(si,xt)},[()=>H(c(qi).date)]),D(st,Kt)};z(Ti,st=>{c(qi).date&&st(Bi)})}var Ri=v(Ti,2);{var K=st=>{var Kt=KQ(),si=_(Kt);j(()=>W(si,c(qi).description)),D(st,Kt)};z(Ri,st=>{c(qi).description&&st(K)})}var Ae=v(Wi,2),Xe=_(Ae);j(()=>{ln(Vi,"href",c(qi).url??`https://www.npmjs.com/package/${c(qi).name}`),W(Qi,c(qi).name),W(it,c(qi).version),Ae.disabled=!!b[c(qi).name],W(Xe,b[c(qi).name]?"Installing…":"Install")}),U("click",Ae,()=>X(c(qi).name)),D(Pi,Ci)}),D(ft,Gt)};z(Zi,ft=>{c(d).length>0&&ft(wi)})}var yn=v(Zi,2);{var un=ft=>{var Gt=YQ(),Pi=_(Gt);j(()=>W(Pi,c(C))),D(ft,Gt)};z(yn,ft=>{c(C)&&ft(un)})}var cn=v(yn,2);{var fn=ft=>{var Gt=QQ();D(ft,Gt)};z(cn,ft=>{!c(d).length&&!c(C)&&ft(fn)})}j(()=>{W(yt,c(t).length),ai.disabled=c(r),nt=Ft(Ge,0,"svelte-twakcj",null,nt,{spinning:c(r)}),ni.disabled=c(g),W($i,c(g)?"Searching…":"Search")}),U("click",ai,T),Vt(Jt,()=>c(i),ft=>m(i,ft)),U("keydown",bi,ft=>ft.key==="Enter"&&V()),Vt(bi,()=>c(a),ft=>m(a,ft)),U("click",ni,V),D(o,we),$s()}Ys(["click","keydown"]);var tJ=B('<div class="plugin-warning svelte-3itf14">⚠ The dynamic-security plugin is not responding. Add <code class="svelte-3itf14">plugin …/mosquitto_dynamic_security.so</code> and <code class="svelte-3itf14">plugin_opt_config_file …/dynamic-security.json</code> to your mosquitto.conf and restart mosquitto. Operations below will time out until the plugin is active.</div>'),Ca=B('<div class="err svelte-3itf14"> </div>'),iJ=B('<div class="empty svelte-3itf14">No users found.</div>'),nJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),Ph=B("<option> </option>"),$x=B('<div class="inline-err svelte-3itf14"> </div>'),q2=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— role —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),sJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove from group">×</button></span>'),oJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— group —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),rJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add to group">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Set password" class="svelte-3itf14">🔑</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),aJ=B('<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>'),lJ=B('<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>'),cJ=B('<div class="empty svelte-3itf14">No roles found.</div>'),dJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"> </td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button title="Edit ACLs" class="svelte-3itf14">Edit ACLs</button> <button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),uJ=B('<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>'),hJ=B('<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>'),fJ=B('<div class="empty svelte-3itf14">No groups found.</div>'),gJ=B('<span class="tag svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove member">×</button></span>'),pJ=B('<div class="inline-add svelte-3itf14"><select class="svelte-3itf14"><option>— user —</option><!></select> <button class="inline-confirm svelte-3itf14">Add</button> <button class="inline-cancel svelte-3itf14">×</button></div> <!>',1),xJ=B('<span class="tag tag--group svelte-3itf14"> <button class="tag-x svelte-3itf14" title="Remove role">×</button></span>'),mJ=B('<tr class="svelte-3itf14"><td class="mono svelte-3itf14"> </td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus svelte-3itf14" title="Add member">+</button></div> <!></div></td><td class="svelte-3itf14"><div class="tags-cell svelte-3itf14"><div class="tags svelte-3itf14"><!> <button class="tag-plus tag-plus--group svelte-3itf14" title="Add role">+</button></div> <!></div></td><td class="cell-actions svelte-3itf14"><div class="actions svelte-3itf14"><button class="danger svelte-3itf14" title="Delete">✕</button></div></td></tr>'),vJ=B('<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>'),_J=B('<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>'),G2=B('<div class="empty svelte-3itf14">Loading…</div>'),bJ=B('<tr><td class="mono small svelte-3itf14"> </td><td class="acl-radio svelte-3itf14"><input type="radio" value="allow"/></td><td class="acl-radio svelte-3itf14"><input type="radio" value="deny"/></td></tr>'),CJ=B('<table class="acl-defaults-table svelte-3itf14"><thead><tr><th class="svelte-3itf14">Operation</th><th class="svelte-3itf14">Allow</th><th class="svelte-3itf14">Deny</th></tr></thead><tbody></tbody></table>'),EJ=B('<div class="anon-current svelte-3itf14">Current: <span class="mono svelte-3itf14"> </span></div>'),yJ=B('<div class="anon-current muted svelte-3itf14">No anonymous group configured.</div>'),wJ=B('<div class="anon-row svelte-3itf14"><select class="svelte-3itf14"><option>— none —</option><!></select> <button class="svelte-3itf14"> </button></div> <!>',1),SJ=B('<div class="panel svelte-3itf14"><div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Default ACL Access</h3> <p class="settings-hint svelte-3itf14">Broker-wide defaults applied when no role ACL matches. Role ACLs always take precedence over these defaults.</p> <!> <!></div> <div class="settings-section svelte-3itf14"><h3 class="settings-heading svelte-3itf14">Anonymous Group</h3> <p class="settings-hint svelte-3itf14">Clients connecting without credentials are treated as members of this group. Requires <code class="svelte-3itf14">allow_anonymous true</code> in mosquitto.conf.</p> <!> <!></div></div>'),DJ=B('<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>'),AJ=B('<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>'),kJ=B('<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>'),BJ=B('<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>'),FJ=B('<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>'),LJ=B('<div class="empty svelte-3itf14">No ACL rules yet.</div>'),IJ=B('<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>'),PJ=B('<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>'),TJ=B('<div class="users-page svelte-3itf14"><!> <div class="panel-tabs svelte-3itf14"><button>Users</button> <button>Roles</button> <button>Groups</button> <button>Settings</button> <button class="reload-btn svelte-3itf14" title="Refresh">↺</button></div> <!> <!> <!> <!></div> <!> <!> <!> <!> <!> <!>',1);function MJ(o,e){js(e,!0);let t=Tu(e,"dynsecReady",3,!1),i,n=F(Li([])),s=F(Li([])),r=F(Li([])),a=F(""),d=F(""),u=F(""),f=F("users"),g=F(null),p=F(""),C=F(""),b=F(!1);const y=Lt(()=>c(g)?c(g).kind==="user-roles"?c(s).map(fe=>fe.rolename).filter(fe=>{var et,at;return!((at=(et=c(n).find(ct=>ct.username===c(g).target))==null?void 0:et.roles)!=null&&at.some(ct=>ct.rolename===fe))}):c(g).kind==="user-groups"?c(r).map(fe=>fe.groupname).filter(fe=>{var et,at;return!((at=(et=c(n).find(ct=>ct.username===c(g).target))==null?void 0:et.groups)!=null&&at.some(ct=>ct.groupname===fe))}):c(g).kind==="group-members"?c(n).map(fe=>fe.username).filter(fe=>{var et,at;return!((at=(et=c(r).find(ct=>ct.groupname===c(g).target))==null?void 0:et.clients)!=null&&at.some(ct=>ct.username===fe))}):c(s).map(fe=>fe.rolename).filter(fe=>{var et,at;return!((at=(et=c(r).find(ct=>ct.groupname===c(g).target))==null?void 0:et.roles)!=null&&at.some(ct=>ct.rolename===fe))}):[]);function w(fe,et){m(g,{kind:fe,target:et},!0),m(p,""),m(C,"")}async function A(){if(!(!c(g)||!c(p))){m(b,!0),m(C,"");try{const{kind:fe,target:et}=c(g);fe==="user-roles"?await xU(et,c(p)):fe==="user-groups"?await h2(c(p),et):fe==="group-members"?await h2(et,c(p)):await SU(et,c(p)),m(g,null),m(p,""),await wi()}catch(fe){m(C,fe.message,!0)}finally{m(b,!1)}}}async function P(fe,et){try{await mU(fe,et),await wi()}catch(at){m(a,at.message,!0)}}async function M(fe,et){try{await f2(et,fe),await wi()}catch(at){m(a,at.message,!0)}}async function R(fe,et){try{await f2(fe,et),await wi()}catch(at){m(u,at.message,!0)}}async function T(fe,et){try{await DU(fe,et),await wi()}catch(at){m(u,at.message,!0)}}let V=F(!1),H=F(""),X=F(""),se=F(!1),he=F(""),J=F(!1),de=F(!1),we=F(""),re=F(""),ae=F(""),De=F(!1),Pe=F(!1),xe=F(""),Ve=F(""),ze=F(!1),ve=F(null),ht=F(!1),Mt=F("publishClientSend"),ot=F(""),yt=F(!0),Ce=F(""),Rt=F(!1),ai=F(""),Ge=F(""),nt=F(!1),Dt=F(Li([])),Jt=F(""),di=F(!1),ci=F(null),xi=F(""),_i=F(""),Ke=F(!1),Ee=F(!1);const ii=[{acltype:"publishClientSend",label:"Publish (send)"},{acltype:"publishClientReceive",label:"Publish (receive)"},{acltype:"subscribe",label:"Subscribe"},{acltype:"unsubscribe",label:"Unsubscribe"}];async function bi(){var fe,et;m(Ee,!1),m(Jt,""),m(_i,"");try{const[at,ct]=await Promise.allSettled([AU(),FU()]);if(at.status==="fulfilled"){const Ut=Object.fromEntries(at.value.acls.map(Ht=>[Ht.acltype,Ht.allow]));m(Dt,ii.map(({acltype:Ht})=>({acltype:Ht,allow:Ut[Ht]??(Ht==="publishClientReceive"||Ht==="unsubscribe")})),!0)}else m(Jt,((fe=at.reason)==null?void 0:fe.message)??"Failed to load default ACLs",!0);ct.status==="fulfilled"?(m(ci,ct.value.group,!0),m(xi,ct.value.group??"",!0)):m(_i,((et=ct.reason)==null?void 0:et.message)??"Failed to load anonymous group",!0)}finally{m(Ee,!0)}}async function ni(fe,et){m(Dt,c(Dt).map(at=>at.acltype===fe?{...at,allow:et}:at),!0),m(di,!0),m(Jt,"");try{await kU(c(Dt))}catch(at){m(Jt,at.message,!0)}finally{m(di,!1)}}async function $i(){m(Ke,!0),m(_i,"");try{await LU(c(xi)||null),m(ci,c(xi)||null,!0)}catch(fe){m(_i,fe.message,!0)}finally{m(Ke,!1)}}const Zi=["publishClientSend","publishClientReceive","subscribeLiteral","subscribePattern","unsubscribeLiteral","unsubscribePattern"];async function wi(){var fe,et,at;try{const[ct,Ut,Ht]=await Promise.allSettled([hU(),EF(),EU()]);ct.status==="fulfilled"?(m(n,ct.value.users,!0),m(a,"")):m(a,((fe=ct.reason)==null?void 0:fe.message)??"Failed to load users",!0),Ut.status==="fulfilled"?(m(s,Ut.value.roles,!0),m(d,"")):m(d,((et=Ut.reason)==null?void 0:et.message)??"Failed to load roles",!0),Ht.status==="fulfilled"?(m(r,Ht.value.groups,!0),m(u,"")):m(u,((at=Ht.reason)==null?void 0:at.message)??"Failed to load groups",!0)}catch{}}Xs(()=>{wi()});async function yn(){m(he,""),m(J,!0);try{await fU(c(H),c(X)),m(H,""),m(X,""),m(V,!1),await wi()}catch(fe){m(he,fe.message??"Failed to create user",!0)}finally{m(J,!1)}}async function un(fe){if(await i.show(`Delete user “${fe}”?`,{confirm:"Delete",danger:!0}))try{await gU(fe),await wi()}catch(et){m(a,et.message,!0)}}async function cn(fe){m(we,fe,!0),m(re,""),m(ae,""),m(de,!0)}async function fn(){m(ae,""),m(De,!0);try{await pU(c(we),c(re)),m(de,!1)}catch(fe){m(ae,fe.message,!0)}finally{m(De,!1)}}async function ft(){m(Ve,""),m(ze,!0);try{await vU(c(xe)),m(xe,""),m(Pe,!1),await wi()}catch(fe){m(Ve,fe.message??"Failed to create role",!0)}finally{m(ze,!1)}}async function Gt(fe){var et;if(await i.show(`Delete role “${fe}”?`,{confirm:"Delete",danger:!0}))try{await _U(fe),((et=c(ve))==null?void 0:et.rolename)===fe&&(m(ve,null),m(ht,!1)),await wi()}catch(at){m(d,at.message,!0)}}function Pi(fe){m(ve,fe,!0),m(ht,!0),m(Mt,"publishClientSend"),m(ot,""),m(yt,!0),m(Ce,"")}async function qi(){if(c(ve)){m(Ce,"");try{await bU(c(ve).rolename,{acltype:c(Mt),topic:c(ot),allow:c(yt)}),m(ot,""),await wi(),m(ve,c(s).find(fe=>fe.rolename===c(ve).rolename)??c(ve),!0)}catch(fe){m(Ce,fe.message,!0)}}}async function Ci(fe,et,at){try{await CU(fe,et,at),await wi(),m(ve,c(s).find(ct=>ct.rolename===fe)??c(ve),!0)}catch(ct){m(Ce,ct.message,!0)}}async function Wi(){m(Ge,""),m(nt,!0);try{await yU(c(ai)),m(ai,""),m(Rt,!1),await wi()}catch(fe){m(Ge,fe.message??"Failed to create group",!0)}finally{m(nt,!1)}}async function Vi(fe){if(await i.show(`Delete group “${fe}”?`,{confirm:"Delete",danger:!0}))try{await wU(fe),await wi()}catch(et){m(u,et.message,!0)}}var Qi=TJ(),Si=Et(Qi),it=_(Si);{var At=fe=>{var et=tJ();D(fe,et)};z(it,fe=>{t()||fe(At)})}var Oi=v(it,2),Ti=_(Oi);let Bi;var Ri=v(Ti,2);let K;var Ae=v(Ri,2);let Xe;var st=v(Ae,2);let Kt;var si=v(st,2),xt=v(Oi,2);{var dt=fe=>{var et=lJ(),at=_(et),ct=v(_(at),2),Ut=v(at,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(a))),D($,oe)};z(Ut,$=>{c(a)&&$(Ht)})}var Ei=v(Ut,2);{var I=$=>{var oe=iJ();D($,oe)},N=$=>{var oe=aJ(),ie=v(_(oe));ti(ie,21,()=>c(n),Hi,(ne,le)=>{var tt=rJ(),Fe=_(tt),_e=_(Fe),Ze=v(Fe),Me=_(Ze),lt=_(Me),Xt=_(lt);ti(Xt,17,()=>c(le).roles??[],Hi,(qe,vt)=>{var ge=nJ(),Oe=_(ge),_t=v(Oe);j(()=>W(Oe,c(vt).rolename)),U("click",_t,()=>P(c(le).username,c(vt).rolename)),D(qe,ge)});var Z=v(Xt,2),ce=v(lt,2);{var je=qe=>{var vt=q2(),ge=Et(vt),Oe=_(ge),_t=_(Oe);_t.value=_t.__value="";var jt=v(_t);ti(jt,17,()=>c(y),Hi,(Fi,ui)=>{var zt=Ph(),kt=_(zt),Wt={};j(()=>{W(kt,c(ui)),Wt!==(Wt=c(ui))&&(zt.value=(zt.__value=c(ui))??"")}),D(Fi,zt)});var Ct=v(Oe,2),Ni=v(Ct,2),Mi=v(ge,2);{var Ji=Fi=>{var ui=$x(),zt=_(ui);j(()=>W(zt,c(C))),D(Fi,ui)};z(Mi,Fi=>{c(C)&&Fi(Ji)})}j(()=>Ct.disabled=!c(p)||c(b)),Fs(Oe,()=>c(p),Fi=>m(p,Fi)),U("click",Ct,A),U("click",Ni,()=>m(g,null)),D(qe,vt)};z(ce,qe=>{var vt;((vt=c(g))==null?void 0:vt.kind)==="user-roles"&&c(g).target===c(le).username&&qe(je)})}var mt=v(Ze),Le=_(mt),He=_(Le),St=_(He);ti(St,17,()=>c(le).groups??[],Hi,(qe,vt)=>{var ge=sJ(),Oe=_(ge),_t=v(Oe);j(()=>W(Oe,c(vt).groupname)),U("click",_t,()=>M(c(le).username,c(vt).groupname)),D(qe,ge)});var gt=v(St,2),Ie=v(He,2);{var pe=qe=>{var vt=oJ(),ge=Et(vt),Oe=_(ge),_t=_(Oe);_t.value=_t.__value="";var jt=v(_t);ti(jt,17,()=>c(y),Hi,(Fi,ui)=>{var zt=Ph(),kt=_(zt),Wt={};j(()=>{W(kt,c(ui)),Wt!==(Wt=c(ui))&&(zt.value=(zt.__value=c(ui))??"")}),D(Fi,zt)});var Ct=v(Oe,2),Ni=v(Ct,2),Mi=v(ge,2);{var Ji=Fi=>{var ui=$x(),zt=_(ui);j(()=>W(zt,c(C))),D(Fi,ui)};z(Mi,Fi=>{c(C)&&Fi(Ji)})}j(()=>Ct.disabled=!c(p)||c(b)),Fs(Oe,()=>c(p),Fi=>m(p,Fi)),U("click",Ct,A),U("click",Ni,()=>m(g,null)),D(qe,vt)};z(Ie,qe=>{var vt;((vt=c(g))==null?void 0:vt.kind)==="user-groups"&&c(g).target===c(le).username&&qe(pe)})}var Re=v(mt),Ne=_(Re),Ue=_(Ne),rt=v(Ue,2);j(()=>W(_e,c(le).username)),U("click",Z,()=>w("user-roles",c(le).username)),U("click",gt,()=>w("user-groups",c(le).username)),U("click",Ue,()=>cn(c(le).username)),U("click",rt,()=>un(c(le).username)),D(ne,tt)}),D($,oe)};z(Ei,$=>{c(n).length===0?$(I):$(N,-1)})}U("click",ct,()=>{m(V,!0),m(he,"")}),D(fe,et)};z(xt,fe=>{c(f)==="users"&&fe(dt)})}var Y=v(xt,2);{var Te=fe=>{var et=hJ(),at=_(et),ct=v(_(at),2),Ut=v(at,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(d))),D($,oe)};z(Ut,$=>{c(d)&&$(Ht)})}var Ei=v(Ut,2);{var I=$=>{var oe=cJ();D($,oe)},N=$=>{var oe=uJ(),ie=v(_(oe));ti(ie,21,()=>c(s),Hi,(ne,le)=>{var tt=dJ(),Fe=_(tt),_e=_(Fe),Ze=v(Fe),Me=_(Ze),lt=v(Ze),Xt=_(lt),Z=_(Xt),ce=v(Z,2);j(()=>{var je;W(_e,c(le).rolename),W(Me,((je=c(le).acls)==null?void 0:je.length)??0)}),U("click",Z,()=>Pi(c(le))),U("click",ce,()=>Gt(c(le).rolename)),D(ne,tt)}),D($,oe)};z(Ei,$=>{c(s).length===0?$(I):$(N,-1)})}U("click",ct,()=>{m(Pe,!0),m(Ve,""),m(xe,"")}),D(fe,et)};z(Y,fe=>{c(f)==="roles"&&fe(Te)})}var Ye=v(Y,2);{var ke=fe=>{var et=_J(),at=_(et),ct=v(_(at),2),Ut=v(at,2);{var Ht=$=>{var oe=Ca(),ie=_(oe);j(()=>W(ie,c(u))),D($,oe)};z(Ut,$=>{c(u)&&$(Ht)})}var Ei=v(Ut,2);{var I=$=>{var oe=fJ();D($,oe)},N=$=>{var oe=vJ(),ie=v(_(oe));ti(ie,21,()=>c(r),Hi,(ne,le)=>{var tt=mJ(),Fe=_(tt),_e=_(Fe),Ze=v(Fe),Me=_(Ze),lt=_(Me),Xt=_(lt);ti(Xt,17,()=>c(le).clients??[],Hi,(rt,qe)=>{var vt=gJ(),ge=_(vt),Oe=v(ge);j(()=>W(ge,c(qe).username)),U("click",Oe,()=>R(c(le).groupname,c(qe).username)),D(rt,vt)});var Z=v(Xt,2),ce=v(lt,2);{var je=rt=>{var qe=pJ(),vt=Et(qe),ge=_(vt),Oe=_(ge);Oe.value=Oe.__value="";var _t=v(Oe);ti(_t,17,()=>c(y),Hi,(Ji,Fi)=>{var ui=Ph(),zt=_(ui),kt={};j(()=>{W(zt,c(Fi)),kt!==(kt=c(Fi))&&(ui.value=(ui.__value=c(Fi))??"")}),D(Ji,ui)});var jt=v(ge,2),Ct=v(jt,2),Ni=v(vt,2);{var Mi=Ji=>{var Fi=$x(),ui=_(Fi);j(()=>W(ui,c(C))),D(Ji,Fi)};z(Ni,Ji=>{c(C)&&Ji(Mi)})}j(()=>jt.disabled=!c(p)||c(b)),Fs(ge,()=>c(p),Ji=>m(p,Ji)),U("click",jt,A),U("click",Ct,()=>m(g,null)),D(rt,qe)};z(ce,rt=>{var qe;((qe=c(g))==null?void 0:qe.kind)==="group-members"&&c(g).target===c(le).groupname&&rt(je)})}var mt=v(Ze),Le=_(mt),He=_(Le),St=_(He);ti(St,17,()=>c(le).roles??[],Hi,(rt,qe)=>{var vt=xJ(),ge=_(vt),Oe=v(ge);j(()=>W(ge,c(qe).rolename)),U("click",Oe,()=>T(c(le).groupname,c(qe).rolename)),D(rt,vt)});var gt=v(St,2),Ie=v(He,2);{var pe=rt=>{var qe=q2(),vt=Et(qe),ge=_(vt),Oe=_(ge);Oe.value=Oe.__value="";var _t=v(Oe);ti(_t,17,()=>c(y),Hi,(Ji,Fi)=>{var ui=Ph(),zt=_(ui),kt={};j(()=>{W(zt,c(Fi)),kt!==(kt=c(Fi))&&(ui.value=(ui.__value=c(Fi))??"")}),D(Ji,ui)});var jt=v(ge,2),Ct=v(jt,2),Ni=v(vt,2);{var Mi=Ji=>{var Fi=$x(),ui=_(Fi);j(()=>W(ui,c(C))),D(Ji,Fi)};z(Ni,Ji=>{c(C)&&Ji(Mi)})}j(()=>jt.disabled=!c(p)||c(b)),Fs(ge,()=>c(p),Ji=>m(p,Ji)),U("click",jt,A),U("click",Ct,()=>m(g,null)),D(rt,qe)};z(Ie,rt=>{var qe;((qe=c(g))==null?void 0:qe.kind)==="group-roles"&&c(g).target===c(le).groupname&&rt(pe)})}var Re=v(mt),Ne=_(Re),Ue=_(Ne);j(()=>W(_e,c(le).groupname)),U("click",Z,()=>w("group-members",c(le).groupname)),U("click",gt,()=>w("group-roles",c(le).groupname)),U("click",Ue,()=>Vi(c(le).groupname)),D(ne,tt)}),D($,oe)};z(Ei,$=>{c(r).length===0?$(I):$(N,-1)})}U("click",ct,()=>{m(Rt,!0),m(Ge,""),m(ai,"")}),D(fe,et)};z(Ye,fe=>{c(f)==="groups"&&fe(ke)})}var It=v(Ye,2);{var $t=fe=>{var et=SJ(),at=_(et),ct=v(_(at),4);{var Ut=tt=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(Jt))),D(tt,Fe)};z(ct,tt=>{c(Jt)&&tt(Ut)})}var Ht=v(ct,2);{var Ei=tt=>{var Fe=G2();D(tt,Fe)},I=tt=>{var Fe=CJ(),_e=v(_(Fe));ti(_e,21,()=>ii,Hi,(Ze,Me)=>{let lt=()=>c(Me).acltype,Xt=()=>c(Me).label;const Z=Lt(()=>c(Dt).find(pe=>pe.acltype===lt()));var ce=bJ();let je;var mt=_(ce),Le=_(mt),He=v(mt),St=_(He),gt=v(He),Ie=_(gt);j(()=>{var pe,Re;je=Ft(ce,1,"svelte-3itf14",null,je,{saving:c(di)}),W(Le,Xt()),ln(St,"name",lt()),Ko(St,((pe=c(Z))==null?void 0:pe.allow)===!0),ln(Ie,"name",lt()),Ko(Ie,((Re=c(Z))==null?void 0:Re.allow)===!1)}),U("change",St,()=>ni(lt(),!0)),U("change",Ie,()=>ni(lt(),!1)),D(Ze,ce)}),D(tt,Fe)};z(Ht,tt=>{c(Ee)?tt(I,-1):tt(Ei)})}var N=v(at,2),$=v(_(N),4);{var oe=tt=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(_i))),D(tt,Fe)};z($,tt=>{c(_i)&&tt(oe)})}var ie=v($,2);{var ne=tt=>{var Fe=G2();D(tt,Fe)},le=tt=>{var Fe=wJ(),_e=Et(Fe),Ze=_(_e),Me=_(Ze);Me.value=Me.__value="";var lt=v(Me);ti(lt,17,()=>c(r),Hi,(Le,He)=>{var St=Ph(),gt=_(St),Ie={};j(()=>{W(gt,c(He).groupname),Ie!==(Ie=c(He).groupname)&&(St.value=(St.__value=c(He).groupname)??"")}),D(Le,St)});var Xt=v(Ze,2),Z=_(Xt),ce=v(_e,2);{var je=Le=>{var He=EJ(),St=v(_(He)),gt=_(St);j(()=>W(gt,c(ci))),D(Le,He)},mt=Le=>{var He=yJ();D(Le,He)};z(ce,Le=>{c(ci)?Le(je):Le(mt,-1)})}j(()=>{Xt.disabled=c(Ke)||c(xi)===(c(ci)??""),W(Z,c(Ke)?"Saving…":"Save")}),Fs(Ze,()=>c(xi),Le=>m(xi,Le)),U("click",Xt,$i),D(tt,Fe)};z(ie,tt=>{c(Ee)?tt(le,-1):tt(ne)})}D(fe,et)};z(It,fe=>{c(f)==="settings"&&fe($t)})}var te=v(Si,2);{var Je=fe=>{var et=DJ(),at=_(et),ct=v(_(at),2),Ut=v(_(ct)),Ht=v(ct,2),Ei=v(_(Ht)),I=_(Ei),N=v(I,2),$=_(N),oe=v(Ht,2);{var ie=_e=>{var Ze=Ca(),Me=_(Ze);j(()=>W(Me,c(he))),D(_e,Ze)};z(oe,_e=>{c(he)&&_e(ie)})}var ne=v(oe,2),le=_(ne),tt=v(le,2),Fe=_(tt);j(()=>{ln(I,"type",c(se)?"text":"password"),W($,c(se)?"Hide":"Show"),tt.disabled=c(J)||!c(H)||!c(X),W(Fe,c(J)?"Creating…":"Create")}),Vt(Ut,()=>c(H),_e=>m(H,_e)),Vt(I,()=>c(X),_e=>m(X,_e)),U("click",N,()=>m(se,!c(se))),U("click",le,()=>m(V,!1)),U("click",tt,yn),D(fe,et)};z(te,fe=>{c(V)&&fe(Je)})}var Pt=v(te,2);{var Bt=fe=>{var et=AJ(),at=_(et),ct=_(at),Ut=v(_(ct)),Ht=_(Ut),Ei=v(ct,2),I=v(_(Ei)),N=v(Ei,2);{var $=tt=>{var Fe=Ca(),_e=_(Fe);j(()=>W(_e,c(ae))),D(tt,Fe)};z(N,tt=>{c(ae)&&tt($)})}var oe=v(N,2),ie=_(oe),ne=v(ie,2),le=_(ne);j(()=>{W(Ht,c(we)),ne.disabled=c(De)||!c(re),W(le,c(De)?"Saving…":"Set password")}),Vt(I,()=>c(re),tt=>m(re,tt)),U("click",ie,()=>m(de,!1)),U("click",ne,fn),D(fe,et)};z(Pt,fe=>{c(de)&&fe(Bt)})}var Ot=v(Pt,2);{var Se=fe=>{var et=kJ(),at=_(et),ct=v(_(at),2),Ut=v(_(ct)),Ht=v(ct,2);{var Ei=ie=>{var ne=Ca(),le=_(ne);j(()=>W(le,c(Ve))),D(ie,ne)};z(Ht,ie=>{c(Ve)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{$.disabled=c(ze)||!c(xe),W(oe,c(ze)?"Creating…":"Create")}),Vt(Ut,()=>c(xe),ie=>m(xe,ie)),U("click",N,()=>m(Pe,!1)),U("click",$,ft),D(fe,et)};z(Ot,fe=>{c(Pe)&&fe(Se)})}var Qe=v(Ot,2);{var Yt=fe=>{var et=IJ(),at=_(et),ct=_(at),Ut=v(_(ct)),Ht=_(Ut),Ei=v(ct,2);{var I=lt=>{var Xt=FJ(),Z=v(_(Xt));ti(Z,21,()=>c(ve).acls??[],Hi,(ce,je)=>{var mt=BJ(),Le=_(mt),He=_(Le),St=v(Le),gt=_(St),Ie=v(St),pe=_(Ie),Re=v(Ie),Ne=_(Re);j(()=>{W(He,c(je).acltype),W(gt,c(je).topic),W(pe,c(je).allow?"✓":"✗")}),U("click",Ne,()=>Ci(c(ve).rolename,c(je).acltype,c(je).topic)),D(ce,mt)}),D(lt,Xt)},N=lt=>{var Xt=LJ();D(lt,Xt)};z(Ei,lt=>{var Xt;(((Xt=c(ve).acls)==null?void 0:Xt.length)??0)>0?lt(I):lt(N,-1)})}var $=v(Ei,2),oe=_($);ti(oe,21,()=>Zi,Hi,(lt,Xt)=>{var Z=Ph(),ce=_(Z),je={};j(()=>{W(ce,c(Xt)),je!==(je=c(Xt))&&(Z.value=(Z.__value=c(Xt))??"")}),D(lt,Z)});var ie=v(oe,2),ne=v(ie,2),le=_(ne),tt=v(ne,2),Fe=v($,2);{var _e=lt=>{var Xt=Ca(),Z=_(Xt);j(()=>W(Z,c(Ce))),D(lt,Xt)};z(Fe,lt=>{c(Ce)&&lt(_e)})}var Ze=v(Fe,2),Me=_(Ze);j(()=>{W(Ht,c(ve).rolename),tt.disabled=!c(ot)}),Fs(oe,()=>c(Mt),lt=>m(Mt,lt)),Vt(ie,()=>c(ot),lt=>m(ot,lt)),ys(le,()=>c(yt),lt=>m(yt,lt)),U("click",tt,qi),U("click",Me,()=>m(ht,!1)),D(fe,et)};z(Qe,fe=>{c(ht)&&c(ve)&&fe(Yt)})}var Zt=v(Qe,2);{var mi=fe=>{var et=PJ(),at=_(et),ct=v(_(at),2),Ut=v(_(ct)),Ht=v(ct,2);{var Ei=ie=>{var ne=Ca(),le=_(ne);j(()=>W(le,c(Ge))),D(ie,ne)};z(Ht,ie=>{c(Ge)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{$.disabled=c(nt)||!c(ai),W(oe,c(nt)?"Creating…":"Create")}),Vt(Ut,()=>c(ai),ie=>m(ai,ie)),U("click",N,()=>m(Rt,!1)),U("click",$,Wi),D(fe,et)};z(Zt,fe=>{c(Rt)&&fe(mi)})}var ei=v(Zt,2);gs(Yc(ei,{}),fe=>i=fe,()=>i),j(()=>{Bi=Ft(Ti,1,"svelte-3itf14",null,Bi,{active:c(f)==="users"}),K=Ft(Ri,1,"svelte-3itf14",null,K,{active:c(f)==="roles"}),Xe=Ft(Ae,1,"svelte-3itf14",null,Xe,{active:c(f)==="groups"}),Kt=Ft(st,1,"svelte-3itf14",null,Kt,{active:c(f)==="settings"})}),U("click",Ti,()=>m(f,"users")),U("click",Ri,()=>m(f,"roles")),U("click",Ae,()=>m(f,"groups")),U("click",st,()=>{m(f,"settings"),c(Ee)||bi()}),U("click",si,wi),D(o,Qi),$s()}Ys(["click","change"]);var K2=B('<div class="err svelte-9i68x"> </div>'),RJ=B('<div class="ok svelte-9i68x">Saved.</div>'),NJ=B('<div class="reload-msg svelte-9i68x"> </div>'),OJ=B('<div class="loading svelte-9i68x">Loading…</div>'),HJ=B('<div class="anon-row svelte-9i68x"><span class="field-label svelte-9i68x"><code class="svelte-9i68x">allow_anonymous</code></span> <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated clients</option><option>false — require authentication</option></select></div>'),WJ=B("<option></option>"),zJ=B('<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"/> <span class="checkmark svelte-9i68x"></span> Require client certificate (require_certificate)</label> <label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert CN as username (use_identity_as_username)</label></div></div>'),VJ=B('<div class="field-row svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> Use cert Subject as username (use_subject_as_username)</label></div>'),jJ=B('<div class="advanced-section svelte-9i68x"><div class="field-row svelte-9i68x"><label class="svelte-9i68x">Mount point <input placeholder="(none)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max connections <input type="number" min="-1" placeholder="-1 (unlimited)" class="svelte-9i68x"/></label> <label class="svelte-9i68x">Max QoS <select class="svelte-9i68x"><option>default</option><option>0 — fire and forget</option><option>1 — at least once</option><option>2 — exactly once</option></select></label></div> <!></div>'),$J=B('<div class="auth-section svelte-9i68x"><div class="auth-section-title svelte-9i68x">Authentication</div> <div class="field-row svelte-9i68x"><label class="svelte-9i68x">allow_anonymous <select class="svelte-9i68x"><option>auto (broker default)</option><option>true — allow unauthenticated</option><option>false — require auth</option></select></label> <label class="svelte-9i68x">password_file <input placeholder="/etc/mosquitto/passwd" class="svelte-9i68x"/></label> <label class="svelte-9i68x">acl_file <input placeholder="/etc/mosquitto/acl" class="svelte-9i68x"/></label></div></div>'),UJ=B('<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> <label class="toggle-label tls-inline svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> TLS</label></div> <datalist></datalist> <!> <button class="advanced-btn svelte-9i68x"> </button> <!> <!></div>'),qJ=B('<div class="empty svelte-9i68x">No listeners configured. Click "+ Add listener" to create one.</div>'),GJ=B('<div class="global-settings svelte-9i68x"><label class="toggle-label svelte-9i68x"><input type="checkbox" class="svelte-9i68x"/> <span class="checkmark svelte-9i68x"></span> <span><code>per_listener_settings</code> — independent auth per listener</span> <span class="info-icon svelte-9i68x" title="Not recommended when using the dynamic-security plugin — dynsec credentials only apply to the default listener. See mosquitto documentation.">ℹ</span></label> <!></div> <div class="cards svelte-9i68x"><!> <!></div>',1),KJ=B('<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 &amp; Reload mosquitto"> </button></div></div> <!> <!> <!> <!> <!></div>');function ZJ(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(Li([])),f=F(null),g=F(!1),p=F(""),C=F(Li([])),b=F(Li(new Set));Xs(()=>{y(),rU().then(Ce=>{m(C,Ce.addresses,!0)}).catch(()=>{})});async function y(){try{m(t,await aS(),!0),m(u,JSON.parse(JSON.stringify(c(t).listeners)),!0),m(f,c(t).checksum,!0);const Ce=c(t).managed.allow_anonymous;m(p,Ce==="true"||Ce==="false"?Ce:"",!0),m(g,c(t).managed.per_listener_settings==="true"),m(i,"")}catch(Ce){m(i,Ce.message??"Failed to load broker config",!0)}}function w(){m(u,[...c(u),{port:1883,bindAddress:"",protocol:"mqtt",tls:{}}],!0),m(b,new Set(c(b)),!0)}function A(Ce){const Rt=new Set(c(b));Rt.has(Ce)?Rt.delete(Ce):Rt.add(Ce),m(b,Rt,!0)}function P(Ce){m(u,c(u).filter((Rt,ai)=>ai!==Ce),!0)}async function M(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{const Ce={...c(t).managed};c(g)?(Ce.per_listener_settings="true",delete Ce.allow_anonymous):(delete Ce.per_listener_settings,c(p)?Ce.allow_anonymous=c(p):delete Ce.allow_anonymous),await bF({listeners:c(u),managed:Ce,passthrough:c(t).passthrough,checksum:c(f)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await y()}catch(Ce){m(s,Ce.message??"Save failed",!0)}finally{m(n,!1)}}}async function R(){m(a,!0),m(d,"");try{const Ce=await CF();m(d,Ce.stderr||Ce.stdout||"Reloaded",!0)}catch(Ce){m(d,"Error: "+(Ce.message??"reload failed"))}finally{m(a,!1)}}function T(Ce){var Rt,ai,Ge,nt,Dt;return!!((Rt=Ce.tls)!=null&&Rt.enabled||(ai=Ce.tls)!=null&&ai.certfile||(Ge=Ce.tls)!=null&&Ge.keyfile||(nt=Ce.tls)!=null&&nt.capath||(Dt=Ce.tls)!=null&&Dt.cafile)}function V(Ce,Rt){Rt?Ce.tls={...Ce.tls,enabled:!0}:Ce.tls={},m(u,[...c(u)],!0)}var H=KJ(),X=_(H),se=v(_(X),2),he=_(se),J=v(he,2),de=_(J),we=v(J,2),re=_(we),ae=v(X,2);{var De=Ce=>{var Rt=K2(),ai=_(Rt);j(()=>W(ai,c(i))),D(Ce,Rt)};z(ae,Ce=>{c(i)&&Ce(De)})}var Pe=v(ae,2);{var xe=Ce=>{var Rt=K2(),ai=_(Rt);j(()=>W(ai,c(s))),D(Ce,Rt)};z(Pe,Ce=>{c(s)&&Ce(xe)})}var Ve=v(Pe,2);{var ze=Ce=>{var Rt=RJ();D(Ce,Rt)};z(Ve,Ce=>{c(r)&&Ce(ze)})}var ve=v(Ve,2);{var ht=Ce=>{var Rt=NJ(),ai=_(Rt);j(()=>W(ai,c(d))),D(Ce,Rt)};z(ve,Ce=>{c(d)&&Ce(ht)})}var Mt=v(ve,2);{var ot=Ce=>{var Rt=OJ();D(Ce,Rt)},yt=Ce=>{var Rt=GJ(),ai=Et(Rt),Ge=_(ai),nt=_(Ge),Dt=v(Ge,2);{var Jt=Ke=>{var Ee=HJ(),ii=v(_(Ee),2),bi=_(ii);bi.value=bi.__value="";var ni=v(bi);ni.value=ni.__value="true";var $i=v(ni);$i.value=$i.__value="false",Fs(ii,()=>c(p),Zi=>m(p,Zi)),D(Ke,Ee)};z(Dt,Ke=>{c(g)||Ke(Jt)})}var di=v(ai,2),ci=_(di);ti(ci,17,()=>c(u),Hi,(Ke,Ee,ii)=>{var bi=UJ(),ni=_(bi),$i=_(ni),Zi=_($i),wi=v($i,2),yn=v(ni,2),un=_(yn),cn=v(_(un)),fn=v(un,2),ft=v(_(fn)),Gt=_(ft);Gt.value=Gt.__value="mqtt";var Pi=v(Gt);Pi.value=Pi.__value="websockets";var qi=v(fn,2),Ci=v(_(qi));ln(Ci,"list",`bind-addr-list-${ii}`);var Wi=v(qi,2),Vi=_(Wi),Qi=v(yn,2);ln(Qi,"id",`bind-addr-list-${ii}`),ti(Qi,21,()=>c(C),Hi,(st,Kt)=>{var si=WJ(),xt={};j(()=>{xt!==(xt=c(Kt))&&(si.value=(si.__value=c(Kt))??"")}),D(st,si)});var Si=v(Qi,2);{var it=st=>{var Kt=zJ(),si=_(Kt),xt=_(si),dt=v(_(xt)),Y=v(xt,2),Te=v(_(Y)),Ye=v(si,2),ke=_(Ye),It=v(_(ke)),$t=v(ke,2),te=v(_($t)),Je=v(Ye,2),Pt=_(Je),Bt=v(_(Pt)),Ot=v(Pt,2),Se=v(_(Ot)),Qe=_(Se);Qe.value=Qe.__value="";var Yt=v(Qe);Yt.value=Yt.__value="tlsv1.3";var Zt=v(Yt);Zt.value=Zt.__value="tlsv1.2";var mi=v(Je,2),ei=_(mi),fe=_(ei),et=v(ei,2),at=_(et);Vt(dt,()=>c(Ee).tls.certfile,ct=>c(Ee).tls.certfile=ct),Vt(Te,()=>c(Ee).tls.keyfile,ct=>c(Ee).tls.keyfile=ct),Vt(It,()=>c(Ee).tls.cafile,ct=>c(Ee).tls.cafile=ct),Vt(te,()=>c(Ee).tls.capath,ct=>c(Ee).tls.capath=ct),Vt(Bt,()=>c(Ee).tls.crlfile,ct=>c(Ee).tls.crlfile=ct),Fs(Se,()=>c(Ee).tls.tls_version,ct=>c(Ee).tls.tls_version=ct),ys(fe,()=>c(Ee).tls.require_certificate,ct=>c(Ee).tls.require_certificate=ct),ys(at,()=>c(Ee).tls.use_identity_as_username,ct=>c(Ee).tls.use_identity_as_username=ct),D(st,Kt)},At=Lt(()=>T(c(Ee)));z(Si,st=>{c(At)&&st(it)})}var Oi=v(Si,2),Ti=_(Oi),Bi=v(Oi,2);{var Ri=st=>{var Kt=jJ(),si=_(Kt),xt=_(si),dt=v(_(xt)),Y=v(xt,2),Te=v(_(Y)),Ye=v(Y,2),ke=v(_(Ye)),It=_(ke);It.value=It.__value="";var $t=v(It);$t.value=$t.__value="0";var te=v($t);te.value=te.__value="1";var Je=v(te);Je.value=Je.__value="2";var Pt;S1(ke);var Bt=v(si,2);{var Ot=Qe=>{var Yt=VJ(),Zt=_(Yt),mi=_(Zt);ys(mi,()=>c(Ee).tls.use_subject_as_username,ei=>c(Ee).tls.use_subject_as_username=ei),D(Qe,Yt)},Se=Lt(()=>T(c(Ee)));z(Bt,Qe=>{c(Se)&&Qe(Ot)})}j(Qe=>{Pt!==(Pt=Qe)&&(ke.value=(ke.__value=Qe)??"",Nm(ke,Qe))},[()=>c(Ee).max_qos!==void 0?String(c(Ee).max_qos):""]),Vt(dt,()=>c(Ee).mount_point,Qe=>c(Ee).mount_point=Qe),Vt(Te,()=>c(Ee).max_connections,Qe=>c(Ee).max_connections=Qe),U("change",ke,Qe=>{const Yt=Qe.target.value;c(Ee).max_qos=Yt===""?void 0:Number(Yt),m(u,[...c(u)],!0)}),D(st,Kt)},K=Lt(()=>c(b).has(ii));z(Bi,st=>{c(K)&&st(Ri)})}var Ae=v(Bi,2);{var Xe=st=>{var Kt=$J(),si=v(_(Kt),2),xt=_(si),dt=v(_(xt)),Y=_(dt);Y.value=Y.__value="";var Te=v(Y);Te.value=Te.__value="true";var Ye=v(Te);Ye.value=Ye.__value="false";var ke;S1(dt);var It=v(xt,2),$t=v(_(It)),te=v(It,2),Je=v(_(te));j(()=>{ke!==(ke=c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false")&&(dt.value=dt.__value=c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false",Nm(dt,c(Ee).allow_anonymous===void 0?"":c(Ee).allow_anonymous?"true":"false"))}),U("change",dt,Pt=>{const Bt=Pt.target.value;c(Ee).allow_anonymous=Bt===""?void 0:Bt==="true",m(u,[...c(u)],!0)}),Vt($t,()=>c(Ee).password_file,Pt=>c(Ee).password_file=Pt),Vt(Je,()=>c(Ee).acl_file,Pt=>c(Ee).acl_file=Pt),D(st,Kt)};z(Ae,st=>{c(g)&&st(Xe)})}j((st,Kt)=>{W(Zi,`Port ${c(Ee).port??""}`),Ko(Vi,st),W(Ti,`${Kt??""} Advanced`)},[()=>T(c(Ee)),()=>c(b).has(ii)?"▾":"▸"]),U("click",wi,()=>P(ii)),Vt(cn,()=>c(Ee).port,st=>c(Ee).port=st),Fs(ft,()=>c(Ee).protocol,st=>c(Ee).protocol=st),Vt(Ci,()=>c(Ee).bindAddress,st=>c(Ee).bindAddress=st),U("change",Vi,st=>V(c(Ee),st.target.checked)),U("click",Oi,()=>A(ii)),D(Ke,bi)});var xi=v(ci,2);{var _i=Ke=>{var Ee=qJ();D(Ke,Ee)};z(xi,Ke=>{c(u).length===0&&Ke(_i)})}ys(nt,()=>c(g),Ke=>m(g,Ke)),D(Ce,Rt)};z(Mt,Ce=>{c(t)===null&&!c(i)?Ce(ot):Ce(yt,-1)})}j(()=>{J.disabled=c(n),W(de,c(n)?"Saving…":"Save"),we.disabled=c(a),W(re,c(a)?"Reloading…":"Apply & Reload")}),U("click",he,w),U("click",J,M),U("click",we,R),D(o,H),$s()}Ys(["click","change"]);var Z2=B('<div class="err svelte-1by6o5t"> </div>'),XJ=B('<div class="ok svelte-1by6o5t">Saved.</div>'),YJ=B('<div class="reload-msg svelte-1by6o5t"> </div>'),ZC=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> </label>'),QJ=B('<label class="check-label svelte-1by6o5t"><input type="checkbox" class="svelte-1by6o5t"/> <span class="checkmark svelte-1by6o5t"></span> <strong> </strong></label>'),JJ=B(`<div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">General</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — persist sessions &amp; retained msgs</option><option>false — no disk persistence</option></select></label> <p class="hint svelte-1by6o5t">Enable on-disk persistence of subscriptions, retained messages, and QoS 1/2 queues.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistence_location</span> <input placeholder="/var/lib/mosquitto/" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Directory where mosquitto stores its persistence data. Must be writable by the mosquitto process.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">sys_interval</span> <input type="number" placeholder="10" min="0" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Interval in seconds between <code class="svelte-1by6o5t">$SYS</code> status updates. <code class="svelte-1by6o5t">0</code> disables <code class="svelte-1by6o5t">$SYS</code> messages.</p></div></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">include_dir</span> <textarea placeholder="/etc/mosquitto/conf.d" class="svelte-1by6o5t"></textarea></label> <p class="hint svelte-1by6o5t">One path per line. Each directory will be scanned for <code class="svelte-1by6o5t">*.conf</code> files and included in order.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Logging</h4> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_dest</span> <div class="checkbox-group svelte-1by6o5t"></div> <p class="hint svelte-1by6o5t">Log destinations. Enable <code class="svelte-1by6o5t">topic</code> to stream logs to <code class="svelte-1by6o5t">$SYS/broker/log/*</code> and view them in the Logs tab. <code class="svelte-1by6o5t">none</code> disables logging entirely.</p></div> <div class="field svelte-1by6o5t"><span class="field-key svelte-1by6o5t">log_type</span> <div class="log-type-grid svelte-1by6o5t"><div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Severity</span> <!></div> <div class="log-type-group svelte-1by6o5t"><span class="log-type-group-label svelte-1by6o5t">Events</span> <!></div> <div class="log-type-group log-type-group--other svelte-1by6o5t"><!> <span class="all-hint svelte-1by6o5t">enables all types above</span></div></div> <p class="hint svelte-1by6o5t">Types of messages to log. Leave all unchecked to use the broker default.</p></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Connection limits</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_connections</span> <input placeholder="−1 (unlimited)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum simultaneous client connections. <code class="svelte-1by6o5t">-1</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_keepalive</span> <input placeholder="65535" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum keepalive value (seconds) a client may request. <code class="svelte-1by6o5t">0</code> = unlimited.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_inflight_messages</span> <input placeholder="20" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max simultaneous unacknowledged QoS 1/2 messages per client.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_queued_messages</span> <input placeholder="100" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Max messages queued for a disconnected persistent client.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Packet &amp; payload size</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">max_packet_size</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum MQTT packet size in bytes (MQTT v5 only). <code class="svelte-1by6o5t">0</code> = no limit.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">message_size_limit</span> <input placeholder="0 (no limit)" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Maximum payload size in bytes for published messages. <code class="svelte-1by6o5t">0</code> = no limit.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Sessions &amp; persistence</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">persistent_client_expiration</span> <input placeholder="e.g. 7d, 2h, 30m" class="svelte-1by6o5t"/></label> <p class="hint svelte-1by6o5t">Expire persistent sessions after this duration. Suffix: <code class="svelte-1by6o5t">d</code>/<code class="svelte-1by6o5t">h</code>/<code class="svelte-1by6o5t">m</code>/<code class="svelte-1by6o5t">s</code>. Empty = never expire.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">retain_available</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — allow retained messages</option><option>false — disable retained messages globally</option></select></label> <p class="hint svelte-1by6o5t">Disable retained messages broker-wide.</p></div></div></div> <div class="section svelte-1by6o5t"><h4 class="svelte-1by6o5t">Performance</h4> <div class="field-grid svelte-1by6o5t"><div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">set_tcp_nodelay</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — disable Nagle (lower latency)</option><option>false — enable Nagle</option></select></label> <p class="hint svelte-1by6o5t">Disable Nagle's algorithm to reduce latency at the cost of slightly more packets.</p></div> <div class="field svelte-1by6o5t"><label class="svelte-1by6o5t"><span class="svelte-1by6o5t">connection_messages</span> <select class="svelte-1by6o5t"><option>auto (broker default)</option><option>true — log connect/disconnect</option><option>false — suppress</option></select></label> <p class="hint svelte-1by6o5t">Log a message on every client connect and disconnect.</p></div></div></div>`,1),eee=B('<div class="config-page svelte-1by6o5t"><div class="page-header svelte-1by6o5t"><h3 class="svelte-1by6o5t">Global config</h3> <div class="header-actions svelte-1by6o5t"><button class="btn-save svelte-1by6o5t"> </button> <button class="btn-reload svelte-1by6o5t"> </button></div></div> <!> <!> <!> <!> <!></div>');function tee(o,e){js(e,!0);let t=F(null),i=F(""),n=F(!1),s=F(""),r=F(!1),a=F(!1),d=F(""),u=F(null),f=F(""),g=F(""),p=F(""),C=F(""),b=F(""),y=F(""),w=F(""),A=F(""),P=F(""),M=F(""),R=F(""),T=F(""),V=F(""),H=F("");const X=["file","stdout","stderr","syslog","topic","none"],se=["error","warning","notice","information","debug"],he=["connect","disconnect","subscribe","unsubscribe","publish","receive","websockets"],J=["all"];[...se,...he,...J];let de=F(Li(new Set)),we=F(Li(new Set));function re(Ke,Ee){const ii=new Set(Ke);return ii.has(Ee)?ii.delete(Ee):ii.add(Ee),ii}function ae(Ke){if(!c(t))return"";const Ee=c(t).managed[Ke];return Array.isArray(Ee)?Ee[0]:Ee??""}function De(Ke){if(!c(t))return new Set;const Ee=c(t).managed[Ke];return Ee?new Set(Array.isArray(Ee)?Ee:[Ee]):new Set}Xs(()=>Pe());async function Pe(){try{m(t,await aS(),!0),m(u,c(t).checksum,!0),m(f,ae("persistence"),!0),m(g,ae("persistence_location"),!0),m(p,ae("sys_interval"),!0);const Ke=c(t).managed.include_dir;m(C,Ke?Array.isArray(Ke)?Ke.join(`
231
231
  `):Ke:"",!0),m(b,ae("max_connections"),!0),m(y,ae("max_inflight_messages"),!0),m(w,ae("max_queued_messages"),!0),m(A,ae("max_packet_size"),!0),m(P,ae("message_size_limit"),!0),m(M,ae("max_keepalive"),!0),m(R,ae("persistent_client_expiration"),!0),m(T,ae("retain_available"),!0),m(V,ae("set_tcp_nodelay"),!0),m(H,ae("connection_messages"),!0),m(de,De("log_dest"),!0),m(we,De("log_type"),!0),m(i,"")}catch(Ke){m(i,Ke.message??"Failed to load config",!0)}}async function xe(){if(c(t)){m(n,!0),m(s,""),m(r,!1);try{let Ee=function(bi,ni){ni!==""?Ke[bi]=ni:delete Ke[bi]};const Ke={...c(t).managed};Ee("persistence",c(f)),Ee("persistence_location",c(g)),Ee("sys_interval",c(p));const ii=c(C).split(`
232
- `).map(bi=>bi.trim()).filter(Boolean);ii.length>0?Ke.include_dir=ii.length===1?ii[0]:ii:delete Ke.include_dir,Ee("max_connections",c(b)),Ee("max_inflight_messages",c(y)),Ee("max_queued_messages",c(w)),Ee("max_packet_size",c(A)),Ee("message_size_limit",c(P)),Ee("max_keepalive",c(M)),Ee("persistent_client_expiration",c(R)),Ee("retain_available",c(T)),Ee("set_tcp_nodelay",c(V)),Ee("connection_messages",c(H)),c(de).size>0?Ke.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete Ke.log_dest,c(we).size>0?Ke.log_type=c(we).size===1?[...c(we)][0]:[...c(we)]:delete Ke.log_type,await bF({listeners:c(t).listeners,managed:Ke,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ke){m(s,Ke.message??"Save failed",!0)}finally{m(n,!1)}}}async function Ve(){m(a,!0),m(d,"");try{const Ke=await CF();m(d,Ke.stderr||Ke.stdout||"Reloaded",!0)}catch(Ke){m(d,"Error: "+(Ke.message??"reload failed"))}finally{m(a,!1)}}var ze=eee(),ve=_(ze),ht=v(_(ve),2),Mt=_(ht),ot=_(Mt),yt=v(Mt,2),Ce=_(yt),Rt=v(ve,2);{var ai=Ke=>{var Ee=Z2(),ii=_(Ee);j(()=>W(ii,c(i))),D(Ke,Ee)};z(Rt,Ke=>{c(i)&&Ke(ai)})}var Ge=v(Rt,2);{var nt=Ke=>{var Ee=Z2(),ii=_(Ee);j(()=>W(ii,c(s))),D(Ke,Ee)};z(Ge,Ke=>{c(s)&&Ke(nt)})}var Dt=v(Ge,2);{var Jt=Ke=>{var Ee=XJ();D(Ke,Ee)};z(Dt,Ke=>{c(r)&&Ke(Jt)})}var di=v(Dt,2);{var ci=Ke=>{var Ee=YJ(),ii=_(Ee);j(()=>W(ii,c(d))),D(Ke,Ee)};z(di,Ke=>{c(d)&&Ke(ci)})}var xi=v(di,2);{var _i=Ke=>{var Ee=JJ(),ii=Et(Ee),bi=v(_(ii),2),ni=_(bi),$i=_(ni),Zi=v(_($i),2),wi=_(Zi);wi.value=wi.__value="";var yn=v(wi);yn.value=yn.__value="true";var un=v(yn);un.value=un.__value="false";var cn=v(ni,2),fn=_(cn),ft=v(_(fn),2),Gt=v(cn,2),Pi=_(Gt),qi=v(_(Pi),2),Ci=v(bi,2),Wi=_(Ci),Vi=v(_(Wi),2);ln(Vi,"rows",3);var Qi=v(ii,2),Si=v(_(Qi),2),it=v(_(Si),2);ti(it,21,()=>X,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(de).has(c(He))]),U("change",gt,()=>{m(de,re(c(de),c(He)),!0)}),D(Le,St)});var At=v(Si,2),Oi=v(_(At),2),Ti=_(Oi),Bi=v(_(Ti),2);ti(Bi,17,()=>se,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var Ri=v(Ti,2),K=v(_(Ri),2);ti(K,17,()=>he,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var Ae=v(Ri,2),Xe=_(Ae);ti(Xe,17,()=>J,Hi,(Le,He)=>{var St=QJ(),gt=_(St),Ie=v(gt,4),pe=_(Ie);j(Re=>{Ko(gt,Re),W(pe,c(He))},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var st=v(Qi,2),Kt=v(_(st),2),si=_(Kt),xt=_(si),dt=v(_(xt),2),Y=v(si,2),Te=_(Y),Ye=v(_(Te),2),ke=v(Y,2),It=_(ke),$t=v(_(It),2),te=v(ke,2),Je=_(te),Pt=v(_(Je),2),Bt=v(st,2),Ot=v(_(Bt),2),Se=_(Ot),Qe=_(Se),Yt=v(_(Qe),2),Zt=v(Se,2),mi=_(Zt),ei=v(_(mi),2),fe=v(Bt,2),et=v(_(fe),2),at=_(et),ct=_(at),Ut=v(_(ct),2),Ht=v(at,2),Ei=_(Ht),I=v(_(Ei),2),N=_(I);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ie=v(fe,2),ne=v(_(ie),2),le=_(ne),tt=_(le),Fe=v(_(tt),2),_e=_(Fe);_e.value=_e.__value="";var Ze=v(_e);Ze.value=Ze.__value="true";var Me=v(Ze);Me.value=Me.__value="false";var lt=v(le,2),Xt=_(lt),Z=v(_(Xt),2),ce=_(Z);ce.value=ce.__value="";var je=v(ce);je.value=je.__value="true";var mt=v(je);mt.value=mt.__value="false",Fs(Zi,()=>c(f),Le=>m(f,Le)),Vt(ft,()=>c(g),Le=>m(g,Le)),Vt(qi,()=>c(p),Le=>m(p,Le)),Vt(Vi,()=>c(C),Le=>m(C,Le)),Vt(dt,()=>c(b),Le=>m(b,Le)),Vt(Ye,()=>c(M),Le=>m(M,Le)),Vt($t,()=>c(y),Le=>m(y,Le)),Vt(Pt,()=>c(w),Le=>m(w,Le)),Vt(Yt,()=>c(A),Le=>m(A,Le)),Vt(ei,()=>c(P),Le=>m(P,Le)),Vt(Ut,()=>c(R),Le=>m(R,Le)),Fs(I,()=>c(T),Le=>m(T,Le)),Fs(Fe,()=>c(V),Le=>m(V,Le)),Fs(Z,()=>c(H),Le=>m(H,Le)),D(Ke,Ee)};z(xi,Ke=>{c(t)&&Ke(_i)})}j(()=>{Mt.disabled=c(n),W(ot,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,Ve),D(o,ze),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),iee=B('<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>'),nee=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),see=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),oee=B('<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>'),ree=B('<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>'),aee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),X2=B('<button class="btn-primary svelte-9auejo"> </button>'),lee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.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>'),cee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),dee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),uee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),hee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),fee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),gee=B('<span class="file-name mono small svelte-9auejo"> </span>'),pee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),xee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),XC=B("<option></option>"),mee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),vee=B('<label class="svelte-9auejo">CA certificate (PEM)<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>',1),_ee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),bee=B('<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> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),Cee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function Eee(o,e){js(e,!0);let t=F(null),i=F(Li([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),P=F(""),M=F(""),R=F(!1),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),de=F(""),we=F(""),re=F(!1),ae=F(!1),De=F(""),Pe=F(!1),xe=F(""),Ve=F(""),ze=F(!1),ve=F(""),ht=F(Li([])),Mt=F(Li([])),ot=F(!1),yt=F("pem"),Ce=F(""),Rt=F(!1),ai=F(""),Ge=F(""),nt=F(Li([])),Dt=F(!1),Jt=F("");async function di(){try{const[Se,Qe]=await Promise.allSettled([IU(),MU()]);Se.status==="fulfilled"&&m(t,Se.value.server,!0),Qe.status==="fulfilled"&&m(i,Qe.value.certs,!0),m(n,"")}catch(Se){m(n,Se.message,!0)}}Xs(()=>{di()});async function ci(){m(g,""),m(f,!0),m(p,null);try{const Se=c(d).split(",").map(Yt=>Yt.trim()).filter(Boolean),Qe=await PU({cn:c(a),san:Se,days:c(u)});m(p,{fingerprint:Qe.fingerprint,expires:Qe.expires},!0),await di()}catch(Se){m(g,Se.message,!0)}finally{m(f,!1)}}async function xi(){m(A,""),m(w,!0),m(P,"");try{const Se=c(y).split(",").map(Yt=>Yt.trim()).filter(Boolean),Qe=await TU({cn:c(b),san:Se});m(P,Qe.csrPem,!0)}catch(Se){m(A,Se.message,!0)}finally{m(w,!1)}}async function _i(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await $C({cert:c(M)}),m(V,!0),await di()}catch(Se){m(T,Se.message,!0)}finally{m(R,!1)}}function Ke(){navigator.clipboard.writeText(c(P)).catch(()=>{})}function Ee(Se){var Zt;const Qe=(Zt=Se.target.files)==null?void 0:Zt[0];if(!Qe)return;m(de,Qe.name,!0);const Yt=new FileReader;Yt.onload=()=>{const mi=Yt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(mi))),!0)},Yt.readAsArrayBuffer(Qe)}async function ii(){m(De,""),m(ae,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await $C({p12base64:c(J),passphrase:c(we)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await $C({cert:c(se),key:c(he)||void 0})}m(H,!1),await di()}catch(Se){m(De,Se.message,!0)}finally{m(ae,!1)}}function bi(Se){let Qe;return Yt=>{const Zt=Yt.target.value;clearTimeout(Qe),Qe=setTimeout(async()=>{if(!Zt.startsWith("/")||Zt.length<2){Se([]);return}try{Se((await OU(Zt)).suggestions)}catch{Se([])}},280)}}const ni=bi(Se=>{m(ht,Se,!0)}),$i=bi(Se=>{m(Mt,Se,!0)}),Zi=bi(Se=>{m(nt,Se,!0)});async function wi(){m(ve,""),m(ze,!0);try{await HU({certPath:c(xe),keyPath:c(Ve)}),m(Pe,!1),await di()}catch(Se){m(ve,Se.message,!0)}finally{m(ze,!1)}}async function yn(){m(ai,""),m(Rt,!0);try{await RU(c(Ce)),m(Ce,""),m(ot,!1),await di()}catch(Se){m(ai,Se.message,!0)}finally{m(Rt,!1)}}async function un(){m(Jt,""),m(Dt,!0);try{await WU(c(Ge)),m(Ge,""),m(ot,!1),await di()}catch(Se){m(Jt,Se.message,!0)}finally{m(Dt,!1)}}async function cn(Se){if(confirm("Remove this trusted CA cert?"))try{await NU(Se),await di()}catch(Qe){m(s,Qe.message,!0)}}function fn(Se){const Qe=new Date(Se).getTime()-Date.now();return Qe<0?"expired":Qe<30*864e5?"expiring":""}function ft(Se){return new Date(Se).toLocaleDateString()}var Gt=Cee(),Pi=Et(Gt),qi=_(Pi),Ci=_(qi),Wi=v(qi,2);{var Vi=Se=>{var Qe=nl(),Yt=_(Qe);j(()=>W(Yt,c(n))),D(Se,Qe)};z(Wi,Se=>{c(n)&&Se(Vi)})}var Qi=v(Wi,2);{var Si=Se=>{var Qe=nl(),Yt=_(Qe);j(()=>W(Yt,c(s))),D(Se,Qe)};z(Qi,Se=>{c(s)&&Se(Si)})}var it=v(Qi,2),At=_(it),Oi=v(_(At),2),Ti=v(Oi,2),Bi=v(Ti,2),Ri=v(Bi,2),K=v(At,2);{var Ae=Se=>{var Qe=iee(),Yt=_(Qe),Zt=v(_(Yt)),mi=_(Zt),ei=v(Zt,3),fe=_(ei),et=v(ei,3),at=_(et);j((ct,Ut)=>{W(mi,c(t).cn),W(fe,c(t).fingerprint),Ft(et,1,ct,"svelte-9auejo"),W(at,Ut)},[()=>dg(fn(c(t).expires)),()=>ft(c(t).expires)]),D(Se,Qe)},Xe=Se=>{var Qe=nee();D(Se,Qe)};z(K,Se=>{c(t)?Se(Ae):Se(Xe,-1)})}var st=v(it,2),Kt=_(st),si=v(_(Kt),2),xt=v(Kt,2);{var dt=Se=>{var Qe=see();D(Se,Qe)},Y=Se=>{var Qe=ree(),Yt=v(_(Qe));ti(Yt,21,()=>c(i),Hi,(Zt,mi)=>{var ei=oee(),fe=_(ei),et=_(fe),at=v(fe),ct=_(at),Ut=v(at),Ht=_(Ut),Ei=v(Ut),I=_(Ei);j((N,$,oe)=>{W(et,c(mi).cn),W(ct,`${N??""}…`),Ft(Ut,1,$,"svelte-9auejo"),W(Ht,oe)},[()=>c(mi).fingerprint.slice(0,29),()=>dg(fn(c(mi).expires)),()=>ft(c(mi).expires)]),U("click",I,()=>cn(c(mi).fingerprint)),D(Zt,ei)}),D(Se,Qe)};z(xt,Se=>{c(i).length===0?Se(dt):Se(Y,-1)})}var Te=v(Pi,2);{var Ye=Se=>{var Qe=lee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=v(_(Zt)),ei=v(Zt,2),fe=v(_(ei)),et=v(ei,2),at=v(_(et)),ct=v(et,2);{var Ut=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(g))),D(ie,ne)};z(ct,ie=>{c(g)&&ie(Ut)})}var Ht=v(ct,2);{var Ei=ie=>{var ne=aee(),le=v(_(ne),2),tt=v(_(le)),Fe=_(tt),_e=v(tt,2),Ze=_(_e);j(Me=>{W(Fe,c(p).fingerprint),W(Ze,Me)},[()=>ft(c(p).expires)]),D(ie,ne)};z(Ht,ie=>{c(p)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2);{var oe=ie=>{var ne=X2(),le=_(ne);j(()=>{ne.disabled=c(f),W(le,c(f)?"Generating…":"Generate")}),U("click",ne,ci),D(ie,ne)};z($,ie=>{c(p)||ie(oe)})}Vt(mi,()=>c(a),ie=>m(a,ie)),Vt(fe,()=>c(d),ie=>m(d,ie)),Vt(at,()=>c(u),ie=>m(u,ie)),U("click",N,()=>m(r,!1)),D(Se,Qe)};z(Te,Se=>{c(r)&&Se(Ye)})}var ke=v(Te,2);{var It=Se=>{var Qe=hee(),Yt=_(Qe),Zt=v(_(Yt),2);{var mi=fe=>{var et=cee(),at=Et(et),ct=v(_(at)),Ut=v(at,2),Ht=v(_(Ut)),Ei=v(Ut,4);{var I=ne=>{var le=nl(),tt=_(le);j(()=>W(tt,c(A))),D(ne,le)};z(Ei,ne=>{c(A)&&ne(I)})}var N=v(Ei,2),$=_(N),oe=v($,2),ie=_(oe);j(()=>{oe.disabled=c(w),W(ie,c(w)?"Generating…":"Generate key + CSR")}),Vt(ct,()=>c(b),ne=>m(b,ne)),Vt(Ht,()=>c(y),ne=>m(y,ne)),U("click",$,()=>m(C,!1)),U("click",oe,xi),D(fe,et)},ei=fe=>{var et=uee(),at=v(Et(et),2),ct=v(_(at)),Ut=v(at,2),Ht=_(Ut),Ei=v(Ht,2),I=v(Ut,4),N=v(_(I)),$=v(I,2);{var oe=Ze=>{var Me=nl(),lt=_(Me);j(()=>W(lt,c(T))),D(Ze,Me)};z($,Ze=>{c(T)&&Ze(oe)})}var ie=v($,2);{var ne=Ze=>{var Me=dee();D(Ze,Me)};z(ie,Ze=>{c(V)&&Ze(ne)})}var le=v(ie,2),tt=_(le),Fe=v(tt,2);{var _e=Ze=>{var Me=X2(),lt=_(Me);j(Xt=>{Me.disabled=Xt,W(lt,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,_i),D(Ze,Me)};z(Fe,Ze=>{c(V)||Ze(_e)})}j(Ze=>{D1(ct,c(P)),ln(Ei,"href",`data:application/pkcs10;charset=utf-8,${Ze??""}`)},[()=>encodeURIComponent(c(P))]),U("click",Ht,Ke),Vt(N,()=>c(M),Ze=>m(M,Ze)),U("click",tt,()=>m(C,!1)),D(fe,et)};z(Zt,fe=>{c(P)?fe(ei,-1):fe(mi)})}D(Se,Qe)};z(ke,Se=>{c(C)&&Se(It)})}var $t=v(ke,2);{var te=Se=>{var Qe=xee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=_(Zt);let ei;var fe=v(mi,2);let et;var at=v(Zt,2);{var ct=ie=>{var ne=fee(),le=Et(ne),tt=v(_(le)),Fe=v(le,2),_e=v(_(Fe));Vt(tt,()=>c(se),Ze=>m(se,Ze)),Vt(_e,()=>c(he),Ze=>m(he,Ze)),D(ie,ne)},Ut=ie=>{var ne=pee(),le=Et(ne),tt=v(_(le)),Fe=_(tt),_e=v(Fe,2);{var Ze=je=>{var mt=gee(),Le=_(mt);j(()=>W(Le,c(de))),D(je,mt)};z(_e,je=>{c(de)&&je(Ze)})}var Me=v(le,2),lt=v(_(Me)),Xt=_(lt),Z=v(Xt,2),ce=_(Z);j(()=>{ln(Xt,"type",c(re)?"text":"password"),W(ce,c(re)?"Hide":"Show")}),U("change",Fe,Ee),Vt(Xt,()=>c(we),je=>m(we,je)),U("click",Z,()=>m(re,!c(re))),D(ie,ne)};z(at,ie=>{c(X)==="pem"?ie(ct):ie(Ut,-1)})}var Ht=v(at,2);{var Ei=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(De))),D(ie,ne)};z(Ht,ie=>{c(De)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{ei=Ft(mi,1,"svelte-9auejo",null,ei,{active:c(X)==="pem"}),et=Ft(fe,1,"svelte-9auejo",null,et,{active:c(X)==="p12"}),$.disabled=c(ae),W(oe,c(ae)?"Importing…":"Import")}),U("click",mi,()=>m(X,"pem")),U("click",fe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ii),D(Se,Qe)};z($t,Se=>{c(H)&&Se(te)})}var Je=v($t,2);{var Pt=Se=>{var Qe=mee(),Yt=_(Qe),Zt=v(_(Yt),4),mi=v(_(Zt)),ei=v(mi,2);ti(ei,21,()=>c(ht),Hi,($,oe)=>{var ie=XC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var fe=v(Zt,2),et=v(_(fe)),at=v(et,2);ti(at,21,()=>c(Mt),Hi,($,oe)=>{var ie=XC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var ct=v(fe,2);{var Ut=$=>{var oe=nl(),ie=_(oe);j(()=>W(ie,c(ve))),D($,oe)};z(ct,$=>{c(ve)&&$(Ut)})}var Ht=v(ct,2),Ei=_(Ht),I=v(Ei,2),N=_(I);j($=>{I.disabled=$,W(N,c(ze)?"Installing…":"Install")},[()=>c(ze)||!c(xe).trim()||!c(Ve).trim()]),U("input",mi,ni),Vt(mi,()=>c(xe),$=>m(xe,$)),U("input",et,$i),Vt(et,()=>c(Ve),$=>m(Ve,$)),U("click",Ei,()=>m(Pe,!1)),U("click",I,wi),D(Se,Qe)};z(Je,Se=>{c(Pe)&&Se(Pt)})}var Bt=v(Je,2);{var Ot=Se=>{var Qe=bee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=_(Zt);let ei;var fe=v(mi,2);let et;var at=v(Zt,2);{var ct=Ht=>{var Ei=vee(),I=Et(Ei),N=v(_(I)),$=v(I,2);{var oe=Fe=>{var _e=nl(),Ze=_(_e);j(()=>W(Ze,c(ai))),D(Fe,_e)};z($,Fe=>{c(ai)&&Fe(oe)})}var ie=v($,2),ne=_(ie),le=v(ne,2),tt=_(le);j(Fe=>{le.disabled=Fe,W(tt,c(Rt)?"Adding…":"Add CA cert")},[()=>c(Rt)||!c(Ce).trim()]),Vt(N,()=>c(Ce),Fe=>m(Ce,Fe)),U("click",ne,()=>m(ot,!1)),U("click",le,yn),D(Ht,Ei)},Ut=Ht=>{var Ei=_ee(),I=v(Et(Ei),2),N=v(_(I)),$=v(N,2);ti($,21,()=>c(nt),Hi,(_e,Ze)=>{var Me=XC(),lt={};j(()=>{lt!==(lt=c(Ze))&&(Me.value=(Me.__value=c(Ze))??"")}),D(_e,Me)});var oe=v(I,2);{var ie=_e=>{var Ze=nl(),Me=_(Ze);j(()=>W(Me,c(Jt))),D(_e,Ze)};z(oe,_e=>{c(Jt)&&_e(ie)})}var ne=v(oe,2),le=_(ne),tt=v(le,2),Fe=_(tt);j(_e=>{tt.disabled=_e,W(Fe,c(Dt)?"Adding…":"Add CA cert")},[()=>c(Dt)||!c(Ge).trim()]),U("input",N,Zi),Vt(N,()=>c(Ge),_e=>m(Ge,_e)),U("click",le,()=>m(ot,!1)),U("click",tt,un),D(Ht,Ei)};z(at,Ht=>{c(yt)==="pem"?Ht(ct):Ht(Ut,-1)})}j(()=>{ei=Ft(mi,1,"svelte-9auejo",null,ei,{active:c(yt)==="pem"}),et=Ft(fe,1,"svelte-9auejo",null,et,{active:c(yt)==="path"})}),U("click",mi,()=>m(yt,"pem")),U("click",fe,()=>m(yt,"path")),D(Se,Qe)};z(Bt,Se=>{c(ot)&&Se(Ot)})}U("click",Ci,di),U("click",Oi,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Ti,()=>{m(C,!0),m(A,""),m(P,""),m(M,""),m(V,!1),m(T,"")}),U("click",Bi,()=>{m(H,!0),m(De,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(de,""),m(we,""),m(re,!1)}),U("click",Ri,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(Ve,""),m(ht,[],!0),m(Mt,[],!0)}),U("click",si,()=>{m(ot,!0),m(ai,""),m(Ce,""),m(yt,"pem"),m(Jt,""),m(Ge,""),m(nt,[],!0)}),D(o,Gt),$s()}Ys(["click","change","input"]);var Ux=B('<div class="err svelte-17yczfe"> </div>'),yee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),wee=B('<div class="checking svelte-17yczfe">Checking…</div>'),See=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),Dee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),Aee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),kee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Bee=B("<span> </span>"),Fee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</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> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),Lee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Iee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Pee(o,e){js(e,!0);let t=F(Li({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(Li({}));Xs(async()=>{try{const[nt,Dt,Jt]=await Promise.all([Pl(),Lb(),fetch("/she/broker/ssh/pubkey").then(ci=>ci.json()).catch(()=>({publicKey:null}))]);m(A,nt,!0),Dt.sshKeyDefault&&m(a,Dt.sshKeyDefault,!0);const di=c(A).broker??{};m(t,di.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),Jt.publicKey&&m(p,Jt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&P()}catch(nt){m(i,nt.message,!0)}});async function P(){m(f,!0),m(g,"");try{m(u,await oU(),!0)}catch(nt){m(g,nt.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const nt=c(A).broker??{},Dt=c(d)==="local"?{...c(t),host:""}:c(t),Jt={...c(A),broker:{...nt,ssh:Dt}};await fp(Jt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(nt){m(r,nt.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const nt=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await nt.json();if(!nt.ok)throw new Error(Dt.error??nt.statusText);m(p,Dt.publicKey,!0)}catch(nt){m(b,nt.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const nt=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await nt.json();if(!nt.ok)throw new Error(Dt.error??nt.statusText);m(w,Dt.ok?"✓ Connection successful":"✗ "+(Dt.error??"Failed"),!0)}catch(nt){m(w,"✗ "+nt.message)}finally{m(y,!1)}}function V(nt){navigator.clipboard.writeText(nt).catch(()=>{})}const H=Lt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Iee(),se=_(X);{var he=nt=>{var Dt=Ux(),Jt=_(Dt);j(()=>W(Jt,c(i))),D(nt,Dt)};z(se,nt=>{c(i)&&nt(he)})}var J=v(se,2),de=v(_(J),2),we=_(de);let re;var ae=v(we,2);let De;var Pe=v(de,2),xe=_(Pe),Ve=v(J,2);{var ze=nt=>{var Dt=See(),Jt=v(_(Dt),4);{var di=bi=>{var ni=Ux(),$i=_(ni);j(()=>W($i,c(g))),D(bi,ni)};z(Jt,bi=>{c(g)&&bi(di)})}var ci=v(Jt,2);{var xi=bi=>{var ni=yee(),$i=_(ni),Zi=_($i);let wi;var yn=_(Zi),un=v(Zi,4);let cn;var fn=_(un),ft=v($i,2),Gt=_(ft);let Pi;var qi=_(Gt),Ci=v(Gt,4);let Wi;var Vi=_(Ci);j(()=>{wi=Ft(Zi,1,"check-icon svelte-17yczfe",null,wi,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(yn,c(u).mosquittoCtrl?"✓":"✗"),cn=Ft(un,1,"check-note svelte-17yczfe",null,cn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(fn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Pi=Ft(Gt,1,"check-icon svelte-17yczfe",null,Pi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(qi,c(u).mosquitto?"✓":"✗"),Wi=Ft(Ci,1,"check-note svelte-17yczfe",null,Wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(Vi,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(bi,ni)},_i=bi=>{var ni=wee();D(bi,ni)};z(ci,bi=>{c(u)?bi(xi):c(f)&&bi(_i,1)})}var Ke=v(ci,2),Ee=_(Ke),ii=_(Ee);j(()=>{Ee.disabled=c(f),W(ii,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",Ee,P),D(nt,Dt)};z(Ve,nt=>{c(d)==="local"&&nt(ze)})}var ve=v(Ve,2);{var ht=nt=>{var Dt=Fee(),Jt=Et(Dt),di=v(_(Jt),4),ci=_(di),xi=v(_(ci)),_i=v(ci,2),Ke=v(_(_i)),Ee=v(_i,2),ii=v(_(Ee)),bi=v(Ee,2),ni=v(_(bi)),$i=v(Jt,2),Zi=v(_($i),2),wi=v(_(Zi)),yn=_(wi),un=v(Zi,2);{var cn=Si=>{var it=Aee(),At=Et(it),Oi=v(_(At)),Ti=_(Oi),Bi=v(Ti,2),Ri=v(At,2);{var K=Kt=>{var si=Dee(),xt=v(_(si)),dt=_(xt),Y=v(dt,2);j(()=>D1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Kt,si)};z(Ri,Kt=>{c(H)&&Kt(K)})}var Ae=v(Ri,2),Xe=_(Ae),st=_(Xe);j(()=>{D1(Ti,c(p)),Xe.disabled=c(C),W(st,c(C)?"Generating…":"Regenerate keypair")}),U("click",Bi,()=>V(c(p))),U("click",Xe,R),D(Si,it)},fn=Si=>{var it=kee(),At=_(it),Oi=_(At);j(()=>{At.disabled=c(C),W(Oi,c(C)?"Generating…":"Generate keypair")}),U("click",At,R),D(Si,it)};z(un,Si=>{c(p)?Si(cn):Si(fn,-1)})}var ft=v(un,2);{var Gt=Si=>{var it=Ux(),At=_(it);j(()=>W(At,c(b))),D(Si,it)};z(ft,Si=>{c(b)&&Si(Gt)})}var Pi=v($i,2),qi=v(_(Pi),2),Ci=_(qi),Wi=_(Ci),Vi=v(Ci,2);{var Qi=Si=>{var it=Bee();let At;var Oi=_(it);j(Ti=>{At=Ft(it,1,"test-result svelte-17yczfe",null,At,Ti),W(Oi,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Si,it)};z(Vi,Si=>{c(w)&&Si(Qi)})}j(()=>{ln(ni,"placeholder",c(a)),W(yn,c(t).identityFile||c(a)),Ci.disabled=c(y)||!c(t).host,W(Wi,c(y)?"Testing…":"Test SSH connection")}),Vt(xi,()=>c(t).host,Si=>c(t).host=Si),Vt(Ke,()=>c(t).port,Si=>c(t).port=Si),Vt(ii,()=>c(t).user,Si=>c(t).user=Si),Vt(ni,()=>c(t).identityFile,Si=>c(t).identityFile=Si),U("click",Ci,T),D(nt,Dt)};z(ve,nt=>{c(d)==="ssh"&&nt(ht)})}var Mt=v(ve,2);{var ot=nt=>{var Dt=Ux(),Jt=_(Dt);j(()=>W(Jt,c(r))),D(nt,Dt)};z(Mt,nt=>{c(r)&&nt(ot)})}var yt=v(Mt,2);{var Ce=nt=>{var Dt=Lee();D(nt,Dt)};z(yt,nt=>{c(s)&&nt(Ce)})}var Rt=v(yt,2),ai=_(Rt),Ge=_(ai);j(()=>{re=Ft(we,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),De=Ft(ae,1,"svelte-17yczfe",null,De,{active:c(d)==="ssh"}),W(xe,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),ai.disabled=c(n),W(Ge,c(n)?"Saving…":"Save")}),U("click",we,()=>{m(d,"local"),c(u)||P()}),U("click",ae,()=>m(d,"ssh")),U("click",ai,M),D(o,X),$s()}Ys(["click"]);var Tee=B("<button> </button>"),Mee=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply &amp; Reload</em>.</span>',1),Ree=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Nee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Oee=B('<div class="empty svelte-1yc29ow"><!></div>'),Hee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),Wee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function zee(o,e){js(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(Li([])),r=F(!0),a=F(Li(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await aU().catch(()=>[]),de=jU(),we=new Set,re=[...J,...de].filter(ae=>n.has(ae.level)).map(ae=>({ts:ae.ts,level:ae.level,msg:ae.msg}));re.sort((ae,De)=>ae.ts-De.ts),m(s,re.filter(ae=>{const De=`${ae.ts}\0${ae.msg}`;return we.has(De)?!1:(we.add(De),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=ur("brokerLog",ae=>{n.has(ae.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ae.ts,level:ae.level,msg:ae.msg}],!0),c(r)&&hl().then(p))}),aS().then(ae=>{const De=ae.managed.log_dest,Pe=Array.isArray(De)?De:De?[De]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Wp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const de=new Set(c(a));de.has(J)?de.delete(J):de.add(J),m(a,de,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Lt(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const de=new Date(J);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=Wee(),P=_(A),M=_(P);ti(M,20,()=>["D","I","N","W","E"],Hi,(J,de)=>{var we=Tee();let re;var ae=_(we);j(De=>{re=Ft(we,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",re,De),ln(we,"title",`Toggle ${de??""} messages`),W(ae,t[de])},[()=>({active:c(a).has(de)})]),U("click",we,()=>C(de)),D(J,we)});var R=v(M,4),T=_(R),V=v(R,2),H=v(P,2),X=_(H);{var se=J=>{var de=Oee(),we=_(de);{var re=De=>{var Pe=ws(),xe=Et(Pe);{var Ve=ht=>{var Mt=Mee();D(ht,Mt)},ze=ht=>{var Mt=Ree();D(ht,Mt)},ve=ht=>{var Mt=Nee();D(ht,Mt)};z(xe,ht=>{c(f)===!1?ht(Ve):c(f)===!0?ht(ze,1):ht(ve,-1)})}D(De,Pe)},ae=De=>{var Pe=Co("No messages match the current filter.");D(De,Pe)};z(we,De=>{c(u)?De(ae,-1):De(re)})}D(J,de)},he=J=>{var de=ws(),we=Et(de);ti(we,17,()=>c(y),re=>re.ts+re.msg,(re,ae)=>{var De=Hee(),Pe=_(De),xe=_(Pe),Ve=v(Pe,2),ze=_(Ve),ve=v(Ve,2),ht=_(ve);j(Mt=>{W(xe,Mt),Ft(Ve,1,`badge ${i[c(ae).level]??""}`,"svelte-1yc29ow"),W(ze,t[c(ae).level]),W(ht,c(ae).msg)},[()=>w(c(ae).ts)]),D(re,De)}),D(J,de)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var Vee=B('<div class="err svelte-d31be1"> </div>'),jee=B('<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>'),$ee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Uee=B('<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>'),qee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Gee=B(`<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-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),Kee=B('<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>'),Zee=B('<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>'),Xee=B('<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 Yee(o,e){js(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const re=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),ae=await re.json();if(!re.ok||!ae.ok)throw new Error(ae.error??"Bootstrap failed");m(d,ae,!0);const De=await Pl(),Pe=De.broker??{};await fp({...De,broker:{...Pe,dynsec:{adminUsername:ae.adminUsername,adminPassword:ae.adminPassword}}}),await dU().catch(()=>{}),m(t,"restart")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await lU(),await new Promise(re=>setTimeout(re,2e3)),m(u,!0),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const re=await Pl(),ae=re.broker??{};await fp({...re,broker:{...ae,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var P=Xee(),M=_(P),R=v(_(M),2),T=v(M,2);{var V=re=>{var ae=Vee(),De=_(ae);j(()=>W(De,c(i))),D(re,ae)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ae=jee(),De=v(_(ae),6),Pe=_(De);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ae)},se=re=>{var ae=$ee(),De=_(ae),Pe=_(De);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ae)},he=re=>{var ae=Uee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),Ve=v(_(xe)),ze=v(xe,2),ve=v(_(ze)),ht=v(ze,2),Mt=_(ht),ot=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(ot,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Vt(Pe,()=>c(s),yt=>m(s,yt)),Vt(Ve,()=>c(r),yt=>m(r,yt)),Vt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ae)},J=re=>{var ae=Gee(),De=v(_(ae),2),Pe=v(_(De),3),xe=_(Pe),Ve=v(De,4),ze=_(Ve),ve=_(ze),ht=v(ze,2),Mt=v(Ve,2);{var ot=yt=>{var Ce=qee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(ot)})}j(()=>{W(xe,c(d).confFilePath),ze.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",ze,w),U("click",ht,()=>{m(t,"done")}),D(re,ae)},de=re=>{var ae=Kee(),De=v(_(ae),4),Pe=_(De);U("click",Pe,function(...xe){var Ve;(Ve=e.onDone)==null||Ve.apply(this,xe)}),D(re,ae)},we=re=>{var ae=Zee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),Ve=v(_(xe)),ze=v(xe,2),ve=_(ze),ht=v(ve,2),Mt=_(ht);j(()=>{ht.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Vt(Pe,()=>c(g),ot=>m(g,ot)),Vt(Ve,()=>c(p),ot=>m(p,ot)),U("click",ve,()=>m(t,"intro")),U("click",ht,A),D(re,ae)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(de,4):c(t)==="manual"&&re(we,5)})}U("click",R,()=>m(t,"manual")),D(o,P),$s()}Ys(["click"]);var Qee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),Jee=B('<div class="error-banner svelte-zuhcpo"> </div>'),ete=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),tte=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),ite=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),nte=B('<div class="error-inline svelte-zuhcpo"> </div>'),ste=B('<button class="diag-btn svelte-zuhcpo"> </button>'),Y2=B('<p class="diag-issue svelte-zuhcpo"> </p>'),ote=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),rte=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),ate=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),lte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),cte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),dte=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),ute=B('<div style="margin-top: 20px;"><!></div>'),hte=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),fte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),gte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function pte(o,e){js(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(Li(localStorage.getItem(d)??"status"));Kn(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await Lb(),!0),m(g,"")}catch(Ge){m(g,Ge.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Ge=setInterval(C,1e4);return()=>clearInterval(Ge)});async function b(){m(r,!0),m(a,null);try{m(a,await uU(),!0)}catch(Ge){m(a,{ok:!1,dynSecPath:"",issues:[Ge.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await cU(),await C()}catch(Ge){m(s,Ge.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Ge){var Dt;if(!((Dt=c(f))!=null&&Dt.sys))return"—";const nt=c(f).sys[Ge];return nt?String(nt.val??"—"):"—"}function A(Ge){if(Ge==="—")return Ge;const nt=Ge.match(/^(\d+)/),Dt=nt?parseInt(nt[1]):NaN;if(isNaN(Dt))return Ge;const Jt=Math.floor(Dt/86400),di=Math.floor(Dt%86400/3600),ci=Math.floor(Dt%3600/60),xi=Dt%60,_i=Ke=>String(Ke).padStart(2,"0");return Jt>0?`${Jt}d ${_i(di)}:${_i(ci)}:${_i(xi)}`:`${_i(di)}:${_i(ci)}:${_i(xi)}`}function P(Ge){if(Ge==="—")return Ge;const nt=parseInt(Ge);return isNaN(nt)?Ge:nt<1024?`${nt} B`:nt<1048576?`${(nt/1024).toFixed(1)} KB`:nt<1073741824?`${(nt/1048576).toFixed(1)} MB`:`${(nt/1073741824).toFixed(1)} GB`}var M=gte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var de=v(he,2);let we;var re=v(de,2);let ae;var De=v(re,2);let Pe;var xe=v(De,2);let Ve;var ze=v(T,2);{var ve=Ge=>{var nt=fte(),Dt=_(nt);{var Jt=xi=>{var _i=Qee();D(xi,_i)},di=xi=>{var _i=Jee(),Ke=_(_i);j(()=>W(Ke,c(g))),D(xi,_i)},ci=xi=>{var _i=hte(),Ke=Et(_i),Ee=_(Ke),ii=_(Ee),bi=v(_(ii),4),ni=_(bi),$i=v(ii,2);{var Zi=Wi=>{var Vi=ete(),Qi=_(Vi);let Si;var it=v(Qi,4);let At;var Oi=_(it);{var Ti=Xe=>{var st=Co("plugin active");D(Xe,st)},Bi=Xe=>{var st=Co("connected — plugin not responding");D(Xe,st)},Ri=Xe=>{var st=Co("disconnected");D(Xe,st)};z(Oi,Xe=>{c(f).dynsec.dynsecReady?Xe(Ti):c(f).dynsec.connected?Xe(Bi,1):Xe(Ri,-1)})}var K=v(it,2),Ae=_(K);j(()=>{Si=Ft(Qi,1,"dot svelte-zuhcpo",null,Si,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),At=Ft(it,1,"conn-detail svelte-zuhcpo",null,At,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(Ae,c(n)?"…":"deactivate")}),U("click",K,y),D(Wi,Vi)},wi=Wi=>{var Vi=ite(),Qi=v(_(Vi),6);{var Si=it=>{var At=tte();U("click",At,()=>m(t,!0)),D(it,At)};z(Qi,it=>{c(t)||it(Si)})}D(Wi,Vi)};z($i,Wi=>{c(f).dynsec.configured?Wi(Zi):Wi(wi,-1)})}var yn=v($i,2);{var un=Wi=>{var Vi=nte(),Qi=_(Vi);j(()=>W(Qi,c(s))),D(Wi,Vi)};z(yn,Wi=>{c(s)&&Wi(un)})}var cn=v(Ee,2);{var fn=Wi=>{var Vi=cte(),Qi=_(Vi);{var Si=Ti=>{var Bi=ste(),Ri=_(Bi);j(()=>{Bi.disabled=c(r),W(Ri,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Bi,b),D(Ti,Bi)},it=Ti=>{var Bi=ate(),Ri=Et(Bi);let K;var Ae=_(Ri);{var Xe=xt=>{var dt=Y2(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(xt,dt)},st=xt=>{var dt=rte(),Y=Et(dt),Te=v(_(Y)),Ye=_(Te),ke=v(Y,2),It=v(_(ke)),$t=_(It),te=v(ke,2),Je=v(_(te)),Pt=_(Je),Bt=v(te,2),Ot=v(_(Bt)),Se=_(Ot),Qe=v(Bt,2);ti(Qe,17,()=>c(a).issues,Hi,(mi,ei)=>{var fe=Y2(),et=_(fe);j(()=>W(et,`⚠ ${c(ei)??""}`)),D(mi,fe)});var Yt=v(Qe,2);{var Zt=mi=>{var ei=ote();D(mi,ei)};z(Yt,mi=>{c(a).ok&&mi(Zt)})}j(()=>{W(Ye,c(a).dynSecPath),Ft(It,1,dg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W($t,c(a).adminClientExists?"✓ yes":"✗ no"),Ft(Je,1,dg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Pt,c(a).hasAdminRole?"✓ yes":"✗ no"),Ft(Ot,1,dg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Se,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(xt,dt)};z(Ae,xt=>{c(a).error?xt(Xe):xt(st,-1)})}var Kt=v(Ri,2),si=_(Kt);j(()=>{K=Ft(Ri,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Kt.disabled=c(r),W(si,c(r)?"Running…":"Re-run")}),U("click",Kt,b),D(Ti,Bi)};z(Qi,Ti=>{c(a)?Ti(it,-1):Ti(Si)})}var At=v(Qi,2);{var Oi=Ti=>{var Bi=lte();U("click",Bi,()=>m(t,!0)),D(Ti,Bi)};z(At,Ti=>{c(t)||Ti(Oi)})}D(Wi,Vi)};z(cn,Wi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Wi(fn)})}var ft=v(cn,2);{var Gt=Wi=>{var Vi=dte(),Qi=_(Vi),Si=v(_(Qi)),it=_(Si),At=v(Si,3),Oi=_(At),Ti=v(At,3),Bi=_(Ti),Ri=v(Ti,3),K=_(Ri),Ae=v(Ri,3),Xe=_(Ae),st=v(Ae,3),Kt=_(st);j((si,xt,dt,Y,Te,Ye,ke,It,$t,te,Je,Pt)=>{W(it,si),W(Oi,xt),W(Bi,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${Ye??""} rcv · ${ke??""} sent · ${It??""} stored`),W(Xe,`${$t??""} retained · ${te??""} subscriptions`),W(Kt,`${Je??""} in · ${Pt??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>P(w("$SYS/broker/bytes/received")),()=>P(w("$SYS/broker/bytes/sent"))]),D(Wi,Vi)},Pi=Lt(()=>Object.keys(c(f).sys).length>0);z(ft,Wi=>{c(Pi)&&Wi(Gt)})}var qi=v(Ke,2);{var Ci=Wi=>{var Vi=ute(),Qi=_(Vi);Yee(Qi,{onDone:()=>{m(t,!1),C()}}),D(Wi,Vi)};z(qi,Wi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Wi(Ci)})}j(()=>W(ni,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(xi,_i)};z(Dt,xi=>{c(p)?xi(Jt):c(g)?xi(di,1):c(f)&&xi(ci,2)})}D(Ge,nt)},ht=Ge=>{{let nt=Lt(()=>{var Dt;return((Dt=c(f))==null?void 0:Dt.dynsec.dynsecReady)??!1});MJ(Ge,{get dynsecReady(){return c(nt)}})}},Mt=Ge=>{tee(Ge,{})},ot=Ge=>{ZJ(Ge,{})},yt=Ge=>{Eee(Ge,{})},Ce=Ge=>{Pee(Ge,{})},Rt=Ge=>{zee(Ge,{})};z(ze,Ge=>{c(u)==="status"?Ge(ve):c(u)==="users"?Ge(ht,1):c(u)==="brokerconfig"?Ge(Mt,2):c(u)==="listeners"?Ge(ot,3):c(u)==="certs"?Ge(yt,4):c(u)==="ssh"?Ge(Ce,5):c(u)==="logs"&&Ge(Rt,6)})}var ai=v(R,2);gs(Yc(ai,{}),Ge=>i=Ge,()=>i),j(()=>{H=Ft(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=Ft(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=Ft(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),we=Ft(de,1,"svelte-zuhcpo",null,we,{active:c(u)==="listeners"}),ae=Ft(re,1,"svelte-zuhcpo",null,ae,{active:c(u)==="certs"}),Pe=Ft(De,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),Ve=Ft(xe,1,"svelte-zuhcpo",null,Ve,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",de,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",De,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var xte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),mte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),vte=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),_te=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),bte=B('<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"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),Cte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Ete=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),yte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),wte=B('<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>'),Ste=B('<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>'),Dte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Ate=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),kte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Bte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Lte=B('<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>'),Ite=B('<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>'),Pte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Tte=B('<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),Mte=B('<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),Rte=B('<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>'),Nte=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Ote=B('<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>'),Hte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Wte=B('<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>'),zte=B('<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.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>'),Vte=B('<div class="login-error svelte-1n46o8q"> </div>'),jte=B('<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>'),$te=B('<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>'),Ute=B('<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>'),qte=B("<!> <!> <!> <!>",1);function Gte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Ge=location.hash.slice(1);return t.includes(Ge)?Ge:"scripts"}let n=F(Li(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);B$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await I$(c(C)),m(C,""),m(p,!1)}catch(Ge){m(b,Ge.message??"Login failed",!0)}finally{m(y,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await P$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Li([])),se=F(0),he=F(!1),J=F(Li([]));const de=Lt(()=>c(J).filter(Ge=>Ge.online).length),we=Lt(()=>c(J).length===0?"none":c(de)===c(J).length?"all":c(de)>0?"some":"offline");let re=F(!1),ae=F(!1);async function De(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let Ge;try{Ge=(await Qh()).startedAt}catch{}try{await uF()}catch{}const nt=Date.now()+6e4;for(;Date.now()<nt;){await new Promise(Dt=>setTimeout(Dt,250));try{const Dt=await Qh();if(Ge===void 0||Dt.startedAt!==Ge){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const Ge=await H$();c(s)&&m(s,{...c(s),latestVersion:Ge.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var Dt,Jt;if(!await c(M).show(`Update to v${(Dt=c(s))==null?void 0:Dt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const Ge=(Jt=c(s))==null?void 0:Jt.startedAt;try{await O$()}catch{}const nt=Date.now()+18e4;for(;Date.now()<nt;){await new Promise(di=>setTimeout(di,1e3));try{const di=await Qh();if(Ge===void 0||di.startedAt!==Ge){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function Ve(Ge){m(n,Ge,!0),location.hash=Ge}Xs(async()=>{location.hash||(location.hash=c(n));const Ge=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Ge);try{const Ke=await L$();m(f,Ke.mode,!0),m(g,Ke.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function nt(){var Ke,Ee,ii;try{m(s,await Qh(),!0)}catch{}try{const[bi,ni]=await Promise.all([gF(),Pl()]);m(X,Array.isArray(ni.pinnedPackages)?ni.pinnedPackages:[],!0),m(se,Object.keys(bi).filter(Zi=>!c(X).includes(Zi)).length,!0);const $i=c(he);m(he,((Ke=ni.broker)==null?void 0:Ke.enabled)===!0),$i&&!c(he)&&c(n)==="security"&&Ve("scripts")}catch{}!((Ee=c(s))!=null&&Ee.matterEnabled)&&c(n)==="matter"&&Ve("scripts"),!((ii=c(s))!=null&&ii.dbEnabled)&&c(n)==="db"&&Ve("scripts")}nt();const Dt=setInterval(nt,5e3),Jt=ur("mqtt:status",Ke=>{Ke.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ke.ready===!1),m(V,Ke.ready===!0))}),di=ur("matter:deviceList",Ke=>{Array.isArray(Ke.devices)&&m(J,Ke.devices.map(Ee=>({nodeId:String(Ee.nodeId),online:!!Ee.online})),!0)}),ci=ur("matter:deviceStatus",Ke=>{if(Ke.nodeId===void 0)return;const Ee=String(Ke.nodeId),ii=!!Ke.online;m(J,c(J).map(bi=>bi.nodeId===Ee?{...bi,online:ii}:bi),!0)}),xi=yF();m(re,xi.some(Ke=>Ke.level==="error"),!0),m(ae,!c(re)&&xi.some(Ke=>Ke.level==="warn"),!0);const _i=cS(Ke=>{Ke.level==="error"?(m(re,!0),m(ae,!1)):Ke.level==="warn"&&!c(re)&&m(ae,!0)});return()=>{window.removeEventListener("hashchange",Ge),clearInterval(Dt),Jt(),di(),ci(),_i()}});var ze=qte();xs("click",e6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(ze);{var ht=Ge=>{var nt=zte(),Dt=_(nt),Jt=v(_(Dt),2);let di;var ci=v(Jt,2);let xi;var _i=v(_(ci),2);{var Ke=N=>{var $=xte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(_i,N=>{c(se)>0&&N(Ke)})}var Ee=v(ci,2);let ii;var bi=v(_(Ee),2);{var ni=N=>{var $=mte();D(N,$)},$i=N=>{var $=vte();D(N,$)},Zi=N=>{var $=_te();D(N,$)};z(bi,N=>{c(H)?N(ni):c(T)?N($i,1):c(V)&&N(Zi,2)})}var wi=v(Ee,2);{var yn=N=>{var $=bte();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>Ve("security")),D(N,$)};z(wi,N=>{c(he)&&N(yn)})}var un=v(wi,2);{var cn=N=>{var $=wte();let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=Cte();D(Fe,_e)},le=Fe=>{var _e=Ete();D(Fe,_e)},tt=Fe=>{var _e=yte();D(Fe,_e)};z(ie,Fe=>{c(we)==="all"?Fe(ne):c(we)==="some"?Fe(le,1):c(we)==="offline"&&Fe(tt,2)})}j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>Ve("matter")),D(N,$)};z(un,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(cn)})}var fn=v(un,2);{var ft=N=>{var $=Ste();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>Ve("db")),D(N,$)};z(fn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Gt=v(fn,2);let Pi;var qi=v(_(Gt),2);{var Ci=N=>{var $=Dte();D(N,$)},Wi=N=>{var $=Ate();D(N,$)};z(qi,N=>{c(re)?N(Ci):c(ae)&&N(Wi,1)})}var Vi=v(Gt,4),Qi=v(_(Vi),2),Si=_(Qi),it=_(Si);it.nodeValue="v1.12.1 ";var At=v(it);{var Oi=N=>{var $=kte();D(N,$)};z(At,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(Oi)})}var Ti=v(Si,2);{var Bi=N=>{var $=Ite(),oe=_($),ie=v(_(oe));ie.textContent="v1.12.1";var ne=v(ie,2);{var le=ce=>{var je=Bte(),mt=v(Et(je)),Le=_(mt);j(()=>W(Le,`v${c(s).latestVersion??""}`)),D(ce,je)},tt=ce=>{var je=Fte();D(ce,je)};z(ne,ce=>{var je;(je=c(s))!=null&&je.latestVersion?ce(le):ce(tt,-1)})}var Fe=v(oe,2),_e=_(Fe);{var Ze=ce=>{var je=Lte(),mt=v(_(je));j(()=>W(mt,` Update to v${c(s).latestVersion??""}`)),U("click",je,xe),D(ce,je)};z(_e,ce=>{var je;(je=c(s))!=null&&je.latestVersion&&ce(Ze)})}var Me=v(_e,2),lt=_(Me);let Xt;var Z=v(lt);j(()=>{Me.disabled=c(d),Xt=Ft(lt,0,"svelte-1n46o8q",null,Xt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,ce=>ce.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Ti,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(Bi)})}var Ri=v(Qi,2),K=_(Ri),Ae=v(K,2);{var Xe=N=>{var $=Hte(),oe=_($);{var ie=_e=>{var Ze=Rte(),Me=_(Ze);{var lt=vt=>{const ge=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),Oe=Lt(()=>Math.floor(c(ge)/86400)),_t=Lt(()=>Math.floor(c(ge)%86400/3600)),jt=Lt(()=>Math.floor(c(ge)%3600/60));var Ct=Pte(),Ni=v(Et(Ct)),Mi=_(Ni);j(()=>W(Mi,`${c(Oe)>0?c(Oe)+"d ":""}${c(_t)>0||c(Oe)>0?c(_t)+"h ":""}${c(jt)??""}m`)),D(vt,Ct)};z(Me,vt=>{c(s).startedAt&&vt(lt)})}var Xt=v(Me,3),Z=_(Xt),ce=v(Xt,3),je=_(ce),mt=v(ce,3),Le=_(mt),He=v(mt,2);{var St=vt=>{var ge=Tte(),Oe=v(Et(ge)),_t=_(Oe),jt=v(Oe,3),Ct=_(jt);j(()=>{W(_t,c(s).matterNodes??0),W(Ct,c(s).matterEndpoints??0)}),D(vt,ge)};z(He,vt=>{c(s).matterEnabled&&vt(St)})}var gt=v(He,2);{var Ie=vt=>{var ge=Mte(),Oe=v(Et(ge)),_t=_(Oe),jt=v(Oe,3),Ct=_(jt);j(()=>{W(_t,c(s).dbDocs??"—"),W(Ct,c(s).dbViews??"—")}),D(vt,ge)};z(gt,vt=>{c(s).dbEnabled&&vt(Ie)})}var pe=v(gt,3),Re=_(pe),Ne=v(pe,3),Ue=_(Ne),rt=v(Ne,3),qe=_(rt);j(()=>{W(Z,c(s).scripts),W(je,c(s).topics),W(Le,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W(Ue,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(qe,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ze)},ne=_e=>{var Ze=Nte();D(_e,Ze)};z(oe,_e=>{c(s)?_e(ie):_e(ne,-1)})}var le=v(oe,2),tt=_(le);{var Fe=_e=>{var Ze=Ote();U("click",Ze,()=>{m(r,!1),De()}),D(_e,Ze)};z(tt,_e=>{var Ze;(Ze=c(s))!=null&&Ze.docker||_e(Fe)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(Ae,N=>{c(r)&&N(Xe)})}var st=v(Ri,2);let Kt;var si=v(st,2);{var xt=N=>{var $=Wte();U("click",$,P),D(N,$)};z(si,N=>{c(f)==="password"&&N(xt)})}var dt=v(Dt,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let Ye;var ke=_(Te);{let N=Lt(()=>c(n)==="scripts");nZ(ke,{get active(){return c(N)}})}var It=v(Te,2);let $t;var te=_(It);eJ(te,{});var Je=v(It,2);let Pt;var Bt=_(Je);MQ(Bt,{});var Ot=v(Je,2);let Se;var Qe=_(Ot);JY(Qe,{});var Yt=v(Ot,2);let Zt;var mi=_(Yt);pte(mi,{});var ei=v(Yt,2);let fe;var et=_(ei);iY(et,{});var at=v(ei,2);let ct;var Ut=_(at);KZ(Ut,{});var Ht=v(at,2);let Ei;var I=_(Ht);QZ(I,{}),j(()=>{di=Ft(Jt,1,"svelte-1n46o8q",null,di,{active:c(n)==="scripts"}),xi=Ft(ci,1,"svelte-1n46o8q",null,xi,{active:c(n)==="packages"}),ii=Ft(Ee,1,"svelte-1n46o8q",null,ii,{active:c(n)==="mqtt"}),Pi=Ft(Gt,1,"svelte-1n46o8q",null,Pi,{active:c(n)==="logs"}),Kt=Ft(st,1,"nav-settings svelte-1n46o8q",null,Kt,{active:c(n)==="config"}),Ye=Ft(Te,1,"page-wrap svelte-1n46o8q",null,Ye,{hidden:c(n)!=="scripts"}),$t=Ft(It,1,"page-wrap svelte-1n46o8q",null,$t,{hidden:c(n)!=="packages"}),Pt=Ft(Je,1,"page-wrap svelte-1n46o8q",null,Pt,{hidden:c(n)!=="mqtt"}),Se=Ft(Ot,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:c(n)!=="matter"}),Zt=Ft(Yt,1,"page-wrap svelte-1n46o8q",null,Zt,{hidden:c(n)!=="security"}),fe=Ft(ei,1,"page-wrap svelte-1n46o8q",null,fe,{hidden:c(n)!=="db"}),ct=Ft(at,1,"page-wrap svelte-1n46o8q",null,ct,{hidden:c(n)!=="config"}),Ei=Ft(Ht,1,"page-wrap svelte-1n46o8q",null,Ei,{hidden:c(n)!=="logs"})}),U("click",Jt,()=>Ve("scripts")),U("click",ci,()=>Ve("packages")),U("click",Ee,()=>Ve("mqtt")),U("click",Gt,()=>{Ve("logs"),m(re,!1),m(ae,!1)}),U("click",Si,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",st,()=>Ve("config")),D(Ge,nt)};z(ve,Ge=>{c(w)&&!c(p)&&Ge(ht)})}var Mt=v(ve,2);{var ot=Ge=>{var nt=jte(),Dt=_(nt),Jt=v(_(Dt),4),di=v(_(Jt),2),ci=v(Jt,2);{var xi=Ee=>{var ii=Vte(),bi=_(ii);j(()=>W(bi,c(b))),D(Ee,ii)};z(ci,Ee=>{c(b)&&Ee(xi)})}var _i=v(ci,2),Ke=_(_i);j(()=>{di.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ke,c(y)?"Signing in…":"Sign in")}),xs("submit",Dt,Ee=>{Ee.preventDefault(),A()}),Vt(di,()=>c(C),Ee=>m(C,Ee)),D(Ge,nt)};z(Mt,Ge=>{c(p)&&Ge(ot)})}var yt=v(Mt,2);{var Ce=Ge=>{var nt=$te();D(Ge,nt)};z(yt,Ge=>{c(R)&&Ge(Ce)})}var Rt=v(yt,2);{var ai=Ge=>{var nt=Ute();D(Ge,nt)};z(Rt,Ge=>{c(u)&&Ge(ai)})}D(o,ze),$s()}Ys(["click"]);ZI(Gte,{target:document.getElementById("app")});export{P6 as t};
232
+ `).map(bi=>bi.trim()).filter(Boolean);ii.length>0?Ke.include_dir=ii.length===1?ii[0]:ii:delete Ke.include_dir,Ee("max_connections",c(b)),Ee("max_inflight_messages",c(y)),Ee("max_queued_messages",c(w)),Ee("max_packet_size",c(A)),Ee("message_size_limit",c(P)),Ee("max_keepalive",c(M)),Ee("persistent_client_expiration",c(R)),Ee("retain_available",c(T)),Ee("set_tcp_nodelay",c(V)),Ee("connection_messages",c(H)),c(de).size>0?Ke.log_dest=c(de).size===1?[...c(de)][0]:[...c(de)]:delete Ke.log_dest,c(we).size>0?Ke.log_type=c(we).size===1?[...c(we)][0]:[...c(we)]:delete Ke.log_type,await bF({listeners:c(t).listeners,managed:Ke,passthrough:c(t).passthrough,checksum:c(u)}),m(r,!0),setTimeout(()=>m(r,!1),3e3),await Pe()}catch(Ke){m(s,Ke.message??"Save failed",!0)}finally{m(n,!1)}}}async function Ve(){m(a,!0),m(d,"");try{const Ke=await CF();m(d,Ke.stderr||Ke.stdout||"Reloaded",!0)}catch(Ke){m(d,"Error: "+(Ke.message??"reload failed"))}finally{m(a,!1)}}var ze=eee(),ve=_(ze),ht=v(_(ve),2),Mt=_(ht),ot=_(Mt),yt=v(Mt,2),Ce=_(yt),Rt=v(ve,2);{var ai=Ke=>{var Ee=Z2(),ii=_(Ee);j(()=>W(ii,c(i))),D(Ke,Ee)};z(Rt,Ke=>{c(i)&&Ke(ai)})}var Ge=v(Rt,2);{var nt=Ke=>{var Ee=Z2(),ii=_(Ee);j(()=>W(ii,c(s))),D(Ke,Ee)};z(Ge,Ke=>{c(s)&&Ke(nt)})}var Dt=v(Ge,2);{var Jt=Ke=>{var Ee=XJ();D(Ke,Ee)};z(Dt,Ke=>{c(r)&&Ke(Jt)})}var di=v(Dt,2);{var ci=Ke=>{var Ee=YJ(),ii=_(Ee);j(()=>W(ii,c(d))),D(Ke,Ee)};z(di,Ke=>{c(d)&&Ke(ci)})}var xi=v(di,2);{var _i=Ke=>{var Ee=JJ(),ii=Et(Ee),bi=v(_(ii),2),ni=_(bi),$i=_(ni),Zi=v(_($i),2),wi=_(Zi);wi.value=wi.__value="";var yn=v(wi);yn.value=yn.__value="true";var un=v(yn);un.value=un.__value="false";var cn=v(ni,2),fn=_(cn),ft=v(_(fn),2),Gt=v(cn,2),Pi=_(Gt),qi=v(_(Pi),2),Ci=v(bi,2),Wi=_(Ci),Vi=v(_(Wi),2);ln(Vi,"rows",3);var Qi=v(ii,2),Si=v(_(Qi),2),it=v(_(Si),2);ti(it,21,()=>X,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(de).has(c(He))]),U("change",gt,()=>{m(de,re(c(de),c(He)),!0)}),D(Le,St)});var At=v(Si,2),Oi=v(_(At),2),Ti=_(Oi),Bi=v(_(Ti),2);ti(Bi,17,()=>se,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var Ri=v(Ti,2),K=v(_(Ri),2);ti(K,17,()=>he,Hi,(Le,He)=>{var St=ZC(),gt=_(St),Ie=v(gt,3);j(pe=>{Ko(gt,pe),W(Ie,` ${c(He)??""}`)},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var Ae=v(Ri,2),Xe=_(Ae);ti(Xe,17,()=>J,Hi,(Le,He)=>{var St=QJ(),gt=_(St),Ie=v(gt,4),pe=_(Ie);j(Re=>{Ko(gt,Re),W(pe,c(He))},[()=>c(we).has(c(He))]),U("change",gt,()=>{m(we,re(c(we),c(He)),!0)}),D(Le,St)});var st=v(Qi,2),Kt=v(_(st),2),si=_(Kt),xt=_(si),dt=v(_(xt),2),Y=v(si,2),Te=_(Y),Ye=v(_(Te),2),ke=v(Y,2),It=_(ke),$t=v(_(It),2),te=v(ke,2),Je=_(te),Pt=v(_(Je),2),Bt=v(st,2),Ot=v(_(Bt),2),Se=_(Ot),Qe=_(Se),Yt=v(_(Qe),2),Zt=v(Se,2),mi=_(Zt),ei=v(_(mi),2),fe=v(Bt,2),et=v(_(fe),2),at=_(et),ct=_(at),Ut=v(_(ct),2),Ht=v(at,2),Ei=_(Ht),I=v(_(Ei),2),N=_(I);N.value=N.__value="";var $=v(N);$.value=$.__value="true";var oe=v($);oe.value=oe.__value="false";var ie=v(fe,2),ne=v(_(ie),2),le=_(ne),tt=_(le),Fe=v(_(tt),2),_e=_(Fe);_e.value=_e.__value="";var Ze=v(_e);Ze.value=Ze.__value="true";var Me=v(Ze);Me.value=Me.__value="false";var lt=v(le,2),Xt=_(lt),Z=v(_(Xt),2),ce=_(Z);ce.value=ce.__value="";var je=v(ce);je.value=je.__value="true";var mt=v(je);mt.value=mt.__value="false",Fs(Zi,()=>c(f),Le=>m(f,Le)),Vt(ft,()=>c(g),Le=>m(g,Le)),Vt(qi,()=>c(p),Le=>m(p,Le)),Vt(Vi,()=>c(C),Le=>m(C,Le)),Vt(dt,()=>c(b),Le=>m(b,Le)),Vt(Ye,()=>c(M),Le=>m(M,Le)),Vt($t,()=>c(y),Le=>m(y,Le)),Vt(Pt,()=>c(w),Le=>m(w,Le)),Vt(Yt,()=>c(A),Le=>m(A,Le)),Vt(ei,()=>c(P),Le=>m(P,Le)),Vt(Ut,()=>c(R),Le=>m(R,Le)),Fs(I,()=>c(T),Le=>m(T,Le)),Fs(Fe,()=>c(V),Le=>m(V,Le)),Fs(Z,()=>c(H),Le=>m(H,Le)),D(Ke,Ee)};z(xi,Ke=>{c(t)&&Ke(_i)})}j(()=>{Mt.disabled=c(n),W(ot,c(n)?"Saving…":"Save"),yt.disabled=c(a),W(Ce,c(a)?"Reloading…":"Apply & Reload")}),U("click",Mt,xe),U("click",yt,Ve),D(o,ze),$s()}Ys(["click","change"]);var nl=B('<div class="err svelte-9auejo"> </div>'),iee=B('<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>'),nee=B('<div class="empty svelte-9auejo">No managed server certificate. Use one of the options above, or configure <code>certfile</code>/<code>keyfile</code> manually in the Listeners tab.</div>'),see=B('<div class="empty svelte-9auejo">No trusted CA certs. Add one to enable client certificate authentication.</div>'),oee=B('<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>'),ree=B('<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>'),aee=B('<div class="result-box svelte-9auejo"><p class="svelte-9auejo">✓ Certificate installed.</p> <dl class="svelte-9auejo"><dt class="svelte-9auejo">Fingerprint</dt><dd class="mono small svelte-9auejo"> </dd><dt class="svelte-9auejo">Expires</dt><dd class="svelte-9auejo"> </dd></dl></div>'),X2=B('<button class="btn-primary svelte-9auejo"> </button>'),lee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal svelte-9auejo"><h3 class="svelte-9auejo">Generate self-signed server certificate</h3> <label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.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>'),cee=B('<label class="svelte-9auejo">Common Name (hostname / IP)<input placeholder="e.g. mqtt.home.arpa" class="svelte-9auejo"/></label> <label class="svelte-9auejo">Subject Alternative Names (comma-separated, optional)<input placeholder="192.168.1.10, mqtt.local" class="svelte-9auejo"/></label> <p class="hint svelte-9auejo">A private key and CSR are generated on the server. Copy the CSR, have it signed by your CA, then paste the signed cert below.</p> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),dee=B('<div class="ok svelte-9auejo">✓ Certificate installed.</div>'),uee=B('<p class="hint svelte-9auejo">Key stored on server. Copy the CSR, get it signed, then paste the signed certificate to complete installation.</p> <label class="svelte-9auejo">Certificate Signing Request<textarea readonly="" rows="8" class="svelte-9auejo"></textarea></label> <div class="csr-actions svelte-9auejo"><button class="svelte-9auejo">Copy CSR</button> <a class="btn-download svelte-9auejo" download="server.csr">Download .csr</a></div> <hr class="svelte-9auejo"/> <label class="svelte-9auejo">Upload signed certificate (PEM)<textarea rows="6" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Close</button> <!></div>',1),hee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Generate key + CSR for server certificate</h3> <!></div></div>'),fee=B('<label class="svelte-9auejo">Certificate (PEM)<textarea rows="5" placeholder="-----BEGIN CERTIFICATE----- … -----END CERTIFICATE-----" class="svelte-9auejo"></textarea></label> <label class="svelte-9auejo">Private key (PEM — leave blank if key is already on disk from a prior CSR)<textarea rows="4" placeholder="-----BEGIN PRIVATE KEY----- … -----END PRIVATE KEY-----" class="svelte-9auejo"></textarea></label>',1),gee=B('<span class="file-name mono small svelte-9auejo"> </span>'),pee=B('<label class="svelte-9auejo">PKCS#12 file <div class="file-row svelte-9auejo"><input type="file" accept=".p12,.pfx" class="svelte-9auejo"/> <!></div></label> <label class="svelte-9auejo">Passphrase <div class="pw-row svelte-9auejo"><input autocomplete="off" class="svelte-9auejo"/> <button class="toggle-pw svelte-9auejo"> </button></div></label>',1),xee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Import server certificate</h3> <div class="import-mode-tabs svelte-9auejo"><button>PEM files</button> <button>PKCS#12 (.p12 / .pfx)</button></div> <!> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),XC=B("<option></option>"),mee=B('<div class="modal-backdrop svelte-9auejo" role="dialog" aria-modal="true"><div class="modal modal--wide svelte-9auejo"><h3 class="svelte-9auejo">Use existing certificate files</h3> <p class="hint svelte-9auejo">Enter absolute paths on the broker host. Tab-completion is available for paths starting with /.</p> <label class="svelte-9auejo">Certificate file path <input list="set-cert-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/fullchain.pem" class="svelte-9auejo"/> <datalist id="set-cert-path-list"></datalist></label> <label class="svelte-9auejo">Private key file path <input list="set-key-path-list" placeholder="/etc/letsencrypt/live/mqtt.example.com/privkey.pem" class="svelte-9auejo"/> <datalist id="set-key-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div></div></div>'),vee=B('<label class="svelte-9auejo">CA certificate (PEM)<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>',1),_ee=B('<p class="hint svelte-9auejo">Enter the absolute path to the CA certificate file on the broker host.</p> <label class="svelte-9auejo">CA certificate path <input list="trusted-path-list" placeholder="/etc/ssl/certs/my-ca.pem" class="svelte-9auejo"/> <datalist id="trusted-path-list"></datalist></label> <!> <div class="modal-actions svelte-9auejo"><button class="svelte-9auejo">Cancel</button> <button class="btn-primary svelte-9auejo"> </button></div>',1),bee=B('<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> <div class="import-mode-tabs svelte-9auejo"><button>Paste PEM</button> <button>From path</button></div> <!></div></div>'),Cee=B('<div class="certs-page svelte-9auejo"><div class="page-toolbar svelte-9auejo"><button class="reload-btn svelte-9auejo" title="Refresh">↺</button></div> <!> <!> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Server Certificate</h3> <button class="svelte-9auejo">Self-signed</button> <button class="svelte-9auejo">Generate CSR</button> <button class="svelte-9auejo">Import cert</button> <button class="svelte-9auejo">Use path</button></div> <!></div> <div class="section svelte-9auejo"><div class="section-header svelte-9auejo"><h3 class="svelte-9auejo">Trusted CA Certificates</h3> <button class="svelte-9auejo">+ Add CA cert</button></div> <!></div></div> <!> <!> <!> <!> <!>',1);function Eee(o,e){js(e,!0);let t=F(null),i=F(Li([])),n=F(""),s=F(""),r=F(!1),a=F(""),d=F(""),u=F(365),f=F(!1),g=F(""),p=F(null),C=F(!1),b=F(""),y=F(""),w=F(!1),A=F(""),P=F(""),M=F(""),R=F(!1),T=F(""),V=F(!1),H=F(!1),X=F("pem"),se=F(""),he=F(""),J=F(""),de=F(""),we=F(""),re=F(!1),ae=F(!1),De=F(""),Pe=F(!1),xe=F(""),Ve=F(""),ze=F(!1),ve=F(""),ht=F(Li([])),Mt=F(Li([])),ot=F(!1),yt=F("pem"),Ce=F(""),Rt=F(!1),ai=F(""),Ge=F(""),nt=F(Li([])),Dt=F(!1),Jt=F("");async function di(){try{const[Se,Qe]=await Promise.allSettled([IU(),MU()]);Se.status==="fulfilled"&&m(t,Se.value.server,!0),Qe.status==="fulfilled"&&m(i,Qe.value.certs,!0),m(n,"")}catch(Se){m(n,Se.message,!0)}}Xs(()=>{di()});async function ci(){m(g,""),m(f,!0),m(p,null);try{const Se=c(d).split(",").map(Yt=>Yt.trim()).filter(Boolean),Qe=await PU({cn:c(a),san:Se,days:c(u)});m(p,{fingerprint:Qe.fingerprint,expires:Qe.expires},!0),await di()}catch(Se){m(g,Se.message,!0)}finally{m(f,!1)}}async function xi(){m(A,""),m(w,!0),m(P,"");try{const Se=c(y).split(",").map(Yt=>Yt.trim()).filter(Boolean),Qe=await TU({cn:c(b),san:Se});m(P,Qe.csrPem,!0)}catch(Se){m(A,Se.message,!0)}finally{m(w,!1)}}async function _i(){m(T,""),m(R,!0),m(V,!1);try{if(!c(M).trim())throw new Error("Paste the signed certificate PEM");await $C({cert:c(M)}),m(V,!0),await di()}catch(Se){m(T,Se.message,!0)}finally{m(R,!1)}}function Ke(){navigator.clipboard.writeText(c(P)).catch(()=>{})}function Ee(Se){var Zt;const Qe=(Zt=Se.target.files)==null?void 0:Zt[0];if(!Qe)return;m(de,Qe.name,!0);const Yt=new FileReader;Yt.onload=()=>{const mi=Yt.result;m(J,btoa(String.fromCharCode(...new Uint8Array(mi))),!0)},Yt.readAsArrayBuffer(Qe)}async function ii(){m(De,""),m(ae,!0);try{if(c(X)==="p12"){if(!c(J))throw new Error("Select a .p12 / .pfx file");await $C({p12base64:c(J),passphrase:c(we)})}else{if(!c(se).trim())throw new Error("Certificate PEM is required");await $C({cert:c(se),key:c(he)||void 0})}m(H,!1),await di()}catch(Se){m(De,Se.message,!0)}finally{m(ae,!1)}}function bi(Se){let Qe;return Yt=>{const Zt=Yt.target.value;clearTimeout(Qe),Qe=setTimeout(async()=>{if(!Zt.startsWith("/")||Zt.length<2){Se([]);return}try{Se((await OU(Zt)).suggestions)}catch{Se([])}},280)}}const ni=bi(Se=>{m(ht,Se,!0)}),$i=bi(Se=>{m(Mt,Se,!0)}),Zi=bi(Se=>{m(nt,Se,!0)});async function wi(){m(ve,""),m(ze,!0);try{await HU({certPath:c(xe),keyPath:c(Ve)}),m(Pe,!1),await di()}catch(Se){m(ve,Se.message,!0)}finally{m(ze,!1)}}async function yn(){m(ai,""),m(Rt,!0);try{await RU(c(Ce)),m(Ce,""),m(ot,!1),await di()}catch(Se){m(ai,Se.message,!0)}finally{m(Rt,!1)}}async function un(){m(Jt,""),m(Dt,!0);try{await WU(c(Ge)),m(Ge,""),m(ot,!1),await di()}catch(Se){m(Jt,Se.message,!0)}finally{m(Dt,!1)}}async function cn(Se){if(confirm("Remove this trusted CA cert?"))try{await NU(Se),await di()}catch(Qe){m(s,Qe.message,!0)}}function fn(Se){const Qe=new Date(Se).getTime()-Date.now();return Qe<0?"expired":Qe<30*864e5?"expiring":""}function ft(Se){return new Date(Se).toLocaleDateString()}var Gt=Cee(),Pi=Et(Gt),qi=_(Pi),Ci=_(qi),Wi=v(qi,2);{var Vi=Se=>{var Qe=nl(),Yt=_(Qe);j(()=>W(Yt,c(n))),D(Se,Qe)};z(Wi,Se=>{c(n)&&Se(Vi)})}var Qi=v(Wi,2);{var Si=Se=>{var Qe=nl(),Yt=_(Qe);j(()=>W(Yt,c(s))),D(Se,Qe)};z(Qi,Se=>{c(s)&&Se(Si)})}var it=v(Qi,2),At=_(it),Oi=v(_(At),2),Ti=v(Oi,2),Bi=v(Ti,2),Ri=v(Bi,2),K=v(At,2);{var Ae=Se=>{var Qe=iee(),Yt=_(Qe),Zt=v(_(Yt)),mi=_(Zt),ei=v(Zt,3),fe=_(ei),et=v(ei,3),at=_(et);j((ct,Ut)=>{W(mi,c(t).cn),W(fe,c(t).fingerprint),Ft(et,1,ct,"svelte-9auejo"),W(at,Ut)},[()=>dg(fn(c(t).expires)),()=>ft(c(t).expires)]),D(Se,Qe)},Xe=Se=>{var Qe=nee();D(Se,Qe)};z(K,Se=>{c(t)?Se(Ae):Se(Xe,-1)})}var st=v(it,2),Kt=_(st),si=v(_(Kt),2),xt=v(Kt,2);{var dt=Se=>{var Qe=see();D(Se,Qe)},Y=Se=>{var Qe=ree(),Yt=v(_(Qe));ti(Yt,21,()=>c(i),Hi,(Zt,mi)=>{var ei=oee(),fe=_(ei),et=_(fe),at=v(fe),ct=_(at),Ut=v(at),Ht=_(Ut),Ei=v(Ut),I=_(Ei);j((N,$,oe)=>{W(et,c(mi).cn),W(ct,`${N??""}…`),Ft(Ut,1,$,"svelte-9auejo"),W(Ht,oe)},[()=>c(mi).fingerprint.slice(0,29),()=>dg(fn(c(mi).expires)),()=>ft(c(mi).expires)]),U("click",I,()=>cn(c(mi).fingerprint)),D(Zt,ei)}),D(Se,Qe)};z(xt,Se=>{c(i).length===0?Se(dt):Se(Y,-1)})}var Te=v(Pi,2);{var Ye=Se=>{var Qe=lee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=v(_(Zt)),ei=v(Zt,2),fe=v(_(ei)),et=v(ei,2),at=v(_(et)),ct=v(et,2);{var Ut=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(g))),D(ie,ne)};z(ct,ie=>{c(g)&&ie(Ut)})}var Ht=v(ct,2);{var Ei=ie=>{var ne=aee(),le=v(_(ne),2),tt=v(_(le)),Fe=_(tt),_e=v(tt,2),Ze=_(_e);j(Me=>{W(Fe,c(p).fingerprint),W(Ze,Me)},[()=>ft(c(p).expires)]),D(ie,ne)};z(Ht,ie=>{c(p)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2);{var oe=ie=>{var ne=X2(),le=_(ne);j(()=>{ne.disabled=c(f),W(le,c(f)?"Generating…":"Generate")}),U("click",ne,ci),D(ie,ne)};z($,ie=>{c(p)||ie(oe)})}Vt(mi,()=>c(a),ie=>m(a,ie)),Vt(fe,()=>c(d),ie=>m(d,ie)),Vt(at,()=>c(u),ie=>m(u,ie)),U("click",N,()=>m(r,!1)),D(Se,Qe)};z(Te,Se=>{c(r)&&Se(Ye)})}var ke=v(Te,2);{var It=Se=>{var Qe=hee(),Yt=_(Qe),Zt=v(_(Yt),2);{var mi=fe=>{var et=cee(),at=Et(et),ct=v(_(at)),Ut=v(at,2),Ht=v(_(Ut)),Ei=v(Ut,4);{var I=ne=>{var le=nl(),tt=_(le);j(()=>W(tt,c(A))),D(ne,le)};z(Ei,ne=>{c(A)&&ne(I)})}var N=v(Ei,2),$=_(N),oe=v($,2),ie=_(oe);j(()=>{oe.disabled=c(w),W(ie,c(w)?"Generating…":"Generate key + CSR")}),Vt(ct,()=>c(b),ne=>m(b,ne)),Vt(Ht,()=>c(y),ne=>m(y,ne)),U("click",$,()=>m(C,!1)),U("click",oe,xi),D(fe,et)},ei=fe=>{var et=uee(),at=v(Et(et),2),ct=v(_(at)),Ut=v(at,2),Ht=_(Ut),Ei=v(Ht,2),I=v(Ut,4),N=v(_(I)),$=v(I,2);{var oe=Ze=>{var Me=nl(),lt=_(Me);j(()=>W(lt,c(T))),D(Ze,Me)};z($,Ze=>{c(T)&&Ze(oe)})}var ie=v($,2);{var ne=Ze=>{var Me=dee();D(Ze,Me)};z(ie,Ze=>{c(V)&&Ze(ne)})}var le=v(ie,2),tt=_(le),Fe=v(tt,2);{var _e=Ze=>{var Me=X2(),lt=_(Me);j(Xt=>{Me.disabled=Xt,W(lt,c(R)?"Uploading…":"Upload signed cert")},[()=>c(R)||!c(M).trim()]),U("click",Me,_i),D(Ze,Me)};z(Fe,Ze=>{c(V)||Ze(_e)})}j(Ze=>{D1(ct,c(P)),ln(Ei,"href",`data:application/pkcs10;charset=utf-8,${Ze??""}`)},[()=>encodeURIComponent(c(P))]),U("click",Ht,Ke),Vt(N,()=>c(M),Ze=>m(M,Ze)),U("click",tt,()=>m(C,!1)),D(fe,et)};z(Zt,fe=>{c(P)?fe(ei,-1):fe(mi)})}D(Se,Qe)};z(ke,Se=>{c(C)&&Se(It)})}var $t=v(ke,2);{var te=Se=>{var Qe=xee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=_(Zt);let ei;var fe=v(mi,2);let et;var at=v(Zt,2);{var ct=ie=>{var ne=fee(),le=Et(ne),tt=v(_(le)),Fe=v(le,2),_e=v(_(Fe));Vt(tt,()=>c(se),Ze=>m(se,Ze)),Vt(_e,()=>c(he),Ze=>m(he,Ze)),D(ie,ne)},Ut=ie=>{var ne=pee(),le=Et(ne),tt=v(_(le)),Fe=_(tt),_e=v(Fe,2);{var Ze=je=>{var mt=gee(),Le=_(mt);j(()=>W(Le,c(de))),D(je,mt)};z(_e,je=>{c(de)&&je(Ze)})}var Me=v(le,2),lt=v(_(Me)),Xt=_(lt),Z=v(Xt,2),ce=_(Z);j(()=>{ln(Xt,"type",c(re)?"text":"password"),W(ce,c(re)?"Hide":"Show")}),U("change",Fe,Ee),Vt(Xt,()=>c(we),je=>m(we,je)),U("click",Z,()=>m(re,!c(re))),D(ie,ne)};z(at,ie=>{c(X)==="pem"?ie(ct):ie(Ut,-1)})}var Ht=v(at,2);{var Ei=ie=>{var ne=nl(),le=_(ne);j(()=>W(le,c(De))),D(ie,ne)};z(Ht,ie=>{c(De)&&ie(Ei)})}var I=v(Ht,2),N=_(I),$=v(N,2),oe=_($);j(()=>{ei=Ft(mi,1,"svelte-9auejo",null,ei,{active:c(X)==="pem"}),et=Ft(fe,1,"svelte-9auejo",null,et,{active:c(X)==="p12"}),$.disabled=c(ae),W(oe,c(ae)?"Importing…":"Import")}),U("click",mi,()=>m(X,"pem")),U("click",fe,()=>m(X,"p12")),U("click",N,()=>m(H,!1)),U("click",$,ii),D(Se,Qe)};z($t,Se=>{c(H)&&Se(te)})}var Je=v($t,2);{var Pt=Se=>{var Qe=mee(),Yt=_(Qe),Zt=v(_(Yt),4),mi=v(_(Zt)),ei=v(mi,2);ti(ei,21,()=>c(ht),Hi,($,oe)=>{var ie=XC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var fe=v(Zt,2),et=v(_(fe)),at=v(et,2);ti(at,21,()=>c(Mt),Hi,($,oe)=>{var ie=XC(),ne={};j(()=>{ne!==(ne=c(oe))&&(ie.value=(ie.__value=c(oe))??"")}),D($,ie)});var ct=v(fe,2);{var Ut=$=>{var oe=nl(),ie=_(oe);j(()=>W(ie,c(ve))),D($,oe)};z(ct,$=>{c(ve)&&$(Ut)})}var Ht=v(ct,2),Ei=_(Ht),I=v(Ei,2),N=_(I);j($=>{I.disabled=$,W(N,c(ze)?"Installing…":"Install")},[()=>c(ze)||!c(xe).trim()||!c(Ve).trim()]),U("input",mi,ni),Vt(mi,()=>c(xe),$=>m(xe,$)),U("input",et,$i),Vt(et,()=>c(Ve),$=>m(Ve,$)),U("click",Ei,()=>m(Pe,!1)),U("click",I,wi),D(Se,Qe)};z(Je,Se=>{c(Pe)&&Se(Pt)})}var Bt=v(Je,2);{var Ot=Se=>{var Qe=bee(),Yt=_(Qe),Zt=v(_(Yt),2),mi=_(Zt);let ei;var fe=v(mi,2);let et;var at=v(Zt,2);{var ct=Ht=>{var Ei=vee(),I=Et(Ei),N=v(_(I)),$=v(I,2);{var oe=Fe=>{var _e=nl(),Ze=_(_e);j(()=>W(Ze,c(ai))),D(Fe,_e)};z($,Fe=>{c(ai)&&Fe(oe)})}var ie=v($,2),ne=_(ie),le=v(ne,2),tt=_(le);j(Fe=>{le.disabled=Fe,W(tt,c(Rt)?"Adding…":"Add CA cert")},[()=>c(Rt)||!c(Ce).trim()]),Vt(N,()=>c(Ce),Fe=>m(Ce,Fe)),U("click",ne,()=>m(ot,!1)),U("click",le,yn),D(Ht,Ei)},Ut=Ht=>{var Ei=_ee(),I=v(Et(Ei),2),N=v(_(I)),$=v(N,2);ti($,21,()=>c(nt),Hi,(_e,Ze)=>{var Me=XC(),lt={};j(()=>{lt!==(lt=c(Ze))&&(Me.value=(Me.__value=c(Ze))??"")}),D(_e,Me)});var oe=v(I,2);{var ie=_e=>{var Ze=nl(),Me=_(Ze);j(()=>W(Me,c(Jt))),D(_e,Ze)};z(oe,_e=>{c(Jt)&&_e(ie)})}var ne=v(oe,2),le=_(ne),tt=v(le,2),Fe=_(tt);j(_e=>{tt.disabled=_e,W(Fe,c(Dt)?"Adding…":"Add CA cert")},[()=>c(Dt)||!c(Ge).trim()]),U("input",N,Zi),Vt(N,()=>c(Ge),_e=>m(Ge,_e)),U("click",le,()=>m(ot,!1)),U("click",tt,un),D(Ht,Ei)};z(at,Ht=>{c(yt)==="pem"?Ht(ct):Ht(Ut,-1)})}j(()=>{ei=Ft(mi,1,"svelte-9auejo",null,ei,{active:c(yt)==="pem"}),et=Ft(fe,1,"svelte-9auejo",null,et,{active:c(yt)==="path"})}),U("click",mi,()=>m(yt,"pem")),U("click",fe,()=>m(yt,"path")),D(Se,Qe)};z(Bt,Se=>{c(ot)&&Se(Ot)})}U("click",Ci,di),U("click",Oi,()=>{m(r,!0),m(g,""),m(p,null)}),U("click",Ti,()=>{m(C,!0),m(A,""),m(P,""),m(M,""),m(V,!1),m(T,"")}),U("click",Bi,()=>{m(H,!0),m(De,""),m(X,"pem"),m(se,""),m(he,""),m(J,""),m(de,""),m(we,""),m(re,!1)}),U("click",Ri,()=>{m(Pe,!0),m(ve,""),m(xe,""),m(Ve,""),m(ht,[],!0),m(Mt,[],!0)}),U("click",si,()=>{m(ot,!0),m(ai,""),m(Ce,""),m(yt,"pem"),m(Jt,""),m(Ge,""),m(nt,[],!0)}),D(o,Gt),$s()}Ys(["click","change","input"]);var Ux=B('<div class="err svelte-17yczfe"> </div>'),yee=B('<div class="check-list svelte-17yczfe"><div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto_ctrl</code> <span> </span></div> <div class="check-row svelte-17yczfe"><span> </span> <code class="svelte-17yczfe">mosquitto</code> <span> </span></div></div>'),wee=B('<div class="checking svelte-17yczfe">Checking…</div>'),See=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Tool availability</h3> <p class="hint svelte-17yczfe">These tools must be installed and in the PATH of the she process. They are used by the Setup Wizard and cert installation.</p> <!> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div></div>'),Dee=B('<label class="svelte-17yczfe">Install command (run locally) <div class="pubkey-row svelte-17yczfe"><input readonly="" class="svelte-17yczfe"/> <button class="copy-btn svelte-17yczfe">Copy</button></div></label>'),Aee=B('<label class="svelte-17yczfe">Public key <div class="pubkey-row svelte-17yczfe"><textarea readonly="" rows="3" class="svelte-17yczfe"></textarea> <button class="copy-btn svelte-17yczfe">Copy</button></div></label> <!> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>',1),kee=B('<div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button></div>'),Bee=B("<span> </span>"),Fee=B('<div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH connection</h3> <p class="hint svelte-17yczfe">Used for file operations: reading/writing mosquitto.conf and installing certificates on the broker host. User/ACL management always uses the MQTT port directly.</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> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">SSH keypair</h3> <p class="hint svelte-17yczfe">Dedicated Ed25519 keypair for she to authenticate to the broker host. Private key stored at <code class="svelte-17yczfe"> </code>.</p> <!> <!></div> <div class="section svelte-17yczfe"><h3 class="svelte-17yczfe">Test connection</h3> <div class="row svelte-17yczfe"><button class="svelte-17yczfe"> </button> <!></div></div>',1),Lee=B('<div class="ok svelte-17yczfe">Saved.</div>'),Iee=B('<div class="mosquitto-page svelte-17yczfe"><!> <div class="mode-bar svelte-17yczfe"><span class="mode-label svelte-17yczfe">Connection mode</span> <div class="mode-toggle svelte-17yczfe"><button>Local</button> <button>SSH / Remote</button></div> <span class="mode-desc svelte-17yczfe"> </span></div> <!> <!> <!> <!> <div class="row svelte-17yczfe"><button class="btn-primary svelte-17yczfe"> </button></div></div>');function Pee(o,e){js(e,!0);let t=F(Li({})),i=F(""),n=F(!1),s=F(!1),r=F(""),a=F("~/.she/ssh/broker_id_ed25519"),d=F("local"),u=F(null),f=F(!1),g=F(""),p=F(""),C=F(!1),b=F(""),y=F(!1),w=F(""),A=F(Li({}));Xs(async()=>{try{const[nt,Dt,Jt]=await Promise.all([Pl(),Lb(),fetch("/she/broker/ssh/pubkey").then(ci=>ci.json()).catch(()=>({publicKey:null}))]);m(A,nt,!0),Dt.sshKeyDefault&&m(a,Dt.sshKeyDefault,!0);const di=c(A).broker??{};m(t,di.ssh??{},!0),c(t).port||(c(t).port=22),c(t).identityFile||(c(t).identityFile=c(a)),Jt.publicKey&&m(p,Jt.publicKey,!0),m(d,c(t).host?"ssh":"local",!0),c(d)==="local"&&P()}catch(nt){m(i,nt.message,!0)}});async function P(){m(f,!0),m(g,"");try{m(u,await oU(),!0)}catch(nt){m(g,nt.message??"Check failed",!0)}finally{m(f,!1)}}async function M(){m(n,!0),m(r,""),m(s,!1);try{const nt=c(A).broker??{},Dt=c(d)==="local"?{...c(t),host:""}:c(t),Jt={...c(A),broker:{...nt,ssh:Dt}};await fp(Jt),m(s,!0),setTimeout(()=>m(s,!1),3e3)}catch(nt){m(r,nt.message,!0)}finally{m(n,!1)}}async function R(){m(C,!0),m(b,"");try{const nt=await fetch("/she/broker/ssh/keygen",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await nt.json();if(!nt.ok)throw new Error(Dt.error??nt.statusText);m(p,Dt.publicKey,!0)}catch(nt){m(b,nt.message,!0)}finally{m(C,!1)}}async function T(){m(y,!0),m(w,"");try{const nt=await fetch("/she/broker/ssh/test",{method:"POST",headers:{"Content-Type":"application/json"}}),Dt=await nt.json();if(!nt.ok)throw new Error(Dt.error??nt.statusText);m(w,Dt.ok?"✓ Connection successful":"✗ "+(Dt.error??"Failed"),!0)}catch(nt){m(w,"✗ "+nt.message)}finally{m(y,!1)}}function V(nt){navigator.clipboard.writeText(nt).catch(()=>{})}const H=Lt(()=>c(t).identityFile&&c(t).user&&c(t).host?`ssh-copy-id -i ${c(t).identityFile}.pub ${c(t).user}@${c(t).host}`:"");var X=Iee(),se=_(X);{var he=nt=>{var Dt=Ux(),Jt=_(Dt);j(()=>W(Jt,c(i))),D(nt,Dt)};z(se,nt=>{c(i)&&nt(he)})}var J=v(se,2),de=v(_(J),2),we=_(de);let re;var ae=v(we,2);let De;var Pe=v(de,2),xe=_(Pe),Ve=v(J,2);{var ze=nt=>{var Dt=See(),Jt=v(_(Dt),4);{var di=bi=>{var ni=Ux(),$i=_(ni);j(()=>W($i,c(g))),D(bi,ni)};z(Jt,bi=>{c(g)&&bi(di)})}var ci=v(Jt,2);{var xi=bi=>{var ni=yee(),$i=_(ni),Zi=_($i);let wi;var yn=_(Zi),un=v(Zi,4);let cn;var fn=_(un),ft=v($i,2),Gt=_(ft);let Pi;var qi=_(Gt),Ci=v(Gt,4);let Wi;var Vi=_(Ci);j(()=>{wi=Ft(Zi,1,"check-icon svelte-17yczfe",null,wi,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(yn,c(u).mosquittoCtrl?"✓":"✗"),cn=Ft(un,1,"check-note svelte-17yczfe",null,cn,{ok:c(u).mosquittoCtrl,fail:!c(u).mosquittoCtrl}),W(fn,c(u).mosquittoCtrl?"found in PATH":"not found — install the mosquitto or mosquitto-clients package"),Pi=Ft(Gt,1,"check-icon svelte-17yczfe",null,Pi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(qi,c(u).mosquitto?"✓":"✗"),Wi=Ft(Ci,1,"check-note svelte-17yczfe",null,Wi,{ok:c(u).mosquitto,fail:!c(u).mosquitto}),W(Vi,c(u).mosquitto?"found in PATH":"not found — install the mosquitto package")}),D(bi,ni)},_i=bi=>{var ni=wee();D(bi,ni)};z(ci,bi=>{c(u)?bi(xi):c(f)&&bi(_i,1)})}var Ke=v(ci,2),Ee=_(Ke),ii=_(Ee);j(()=>{Ee.disabled=c(f),W(ii,c(f)?"Checking…":c(u)?"Re-check":"Check tools")}),U("click",Ee,P),D(nt,Dt)};z(Ve,nt=>{c(d)==="local"&&nt(ze)})}var ve=v(Ve,2);{var ht=nt=>{var Dt=Fee(),Jt=Et(Dt),di=v(_(Jt),4),ci=_(di),xi=v(_(ci)),_i=v(ci,2),Ke=v(_(_i)),Ee=v(_i,2),ii=v(_(Ee)),bi=v(Ee,2),ni=v(_(bi)),$i=v(Jt,2),Zi=v(_($i),2),wi=v(_(Zi)),yn=_(wi),un=v(Zi,2);{var cn=Si=>{var it=Aee(),At=Et(it),Oi=v(_(At)),Ti=_(Oi),Bi=v(Ti,2),Ri=v(At,2);{var K=Kt=>{var si=Dee(),xt=v(_(si)),dt=_(xt),Y=v(dt,2);j(()=>D1(dt,c(H))),U("click",Y,()=>V(c(H))),D(Kt,si)};z(Ri,Kt=>{c(H)&&Kt(K)})}var Ae=v(Ri,2),Xe=_(Ae),st=_(Xe);j(()=>{D1(Ti,c(p)),Xe.disabled=c(C),W(st,c(C)?"Generating…":"Regenerate keypair")}),U("click",Bi,()=>V(c(p))),U("click",Xe,R),D(Si,it)},fn=Si=>{var it=kee(),At=_(it),Oi=_(At);j(()=>{At.disabled=c(C),W(Oi,c(C)?"Generating…":"Generate keypair")}),U("click",At,R),D(Si,it)};z(un,Si=>{c(p)?Si(cn):Si(fn,-1)})}var ft=v(un,2);{var Gt=Si=>{var it=Ux(),At=_(it);j(()=>W(At,c(b))),D(Si,it)};z(ft,Si=>{c(b)&&Si(Gt)})}var Pi=v($i,2),qi=v(_(Pi),2),Ci=_(qi),Wi=_(Ci),Vi=v(Ci,2);{var Qi=Si=>{var it=Bee();let At;var Oi=_(it);j(Ti=>{At=Ft(it,1,"test-result svelte-17yczfe",null,At,Ti),W(Oi,c(w))},[()=>({ok:c(w).startsWith("✓"),fail:c(w).startsWith("✗")})]),D(Si,it)};z(Vi,Si=>{c(w)&&Si(Qi)})}j(()=>{ln(ni,"placeholder",c(a)),W(yn,c(t).identityFile||c(a)),Ci.disabled=c(y)||!c(t).host,W(Wi,c(y)?"Testing…":"Test SSH connection")}),Vt(xi,()=>c(t).host,Si=>c(t).host=Si),Vt(Ke,()=>c(t).port,Si=>c(t).port=Si),Vt(ii,()=>c(t).user,Si=>c(t).user=Si),Vt(ni,()=>c(t).identityFile,Si=>c(t).identityFile=Si),U("click",Ci,T),D(nt,Dt)};z(ve,nt=>{c(d)==="ssh"&&nt(ht)})}var Mt=v(ve,2);{var ot=nt=>{var Dt=Ux(),Jt=_(Dt);j(()=>W(Jt,c(r))),D(nt,Dt)};z(Mt,nt=>{c(r)&&nt(ot)})}var yt=v(Mt,2);{var Ce=nt=>{var Dt=Lee();D(nt,Dt)};z(yt,nt=>{c(s)&&nt(Ce)})}var Rt=v(yt,2),ai=_(Rt),Ge=_(ai);j(()=>{re=Ft(we,1,"svelte-17yczfe",null,re,{active:c(d)==="local"}),De=Ft(ae,1,"svelte-17yczfe",null,De,{active:c(d)==="ssh"}),W(xe,c(d)==="local"?"she and mosquitto run on the same machine — local filesystem access":"mosquitto runs on a remote host — file operations go through SSH"),ai.disabled=c(n),W(Ge,c(n)?"Saving…":"Save")}),U("click",we,()=>{m(d,"local"),c(u)||P()}),U("click",ae,()=>m(d,"ssh")),U("click",ai,M),D(o,X),$s()}Ys(["click"]);var Tee=B("<button> </button>"),Mee=B('<code>log_dest topic</code> is not enabled in mosquitto.conf.<br/> <span class="hint svelte-1yc29ow">Enable it in the <strong>Config</strong> tab, then click <em>Apply &amp; Reload</em>.</span>',1),Ree=B('<code>log_dest topic</code> is configured — waiting for messages&hellip;<br/> <span class="hint svelte-1yc29ow">If nothing appears, mosquitto may need a full restart for the change to take effect.</span>',1),Nee=B('Waiting for log messages&hellip;<br/> <span class="hint svelte-1yc29ow">Make sure <code class="svelte-1yc29ow">log_dest topic</code> is set in mosquitto.conf.</span>',1),Oee=B('<div class="empty svelte-1yc29ow"><!></div>'),Hee=B('<div class="entry svelte-1yc29ow"><span class="ts svelte-1yc29ow"> </span> <span> </span> <span class="msg svelte-1yc29ow"> </span></div>'),Wee=B('<div class="logs-page svelte-1yc29ow"><div class="toolbar svelte-1yc29ow"><div class="level-filters svelte-1yc29ow"></div> <div class="spacer svelte-1yc29ow"></div> <label class="autoscroll-label svelte-1yc29ow"><input type="checkbox" class="svelte-1yc29ow"/> <span class="checkmark svelte-1yc29ow"></span> Auto-scroll</label> <button class="btn-clear svelte-1yc29ow">Clear</button></div> <div class="log-container svelte-1yc29ow"><!></div></div>');function zee(o,e){js(e,!0);const t={D:"DBG",I:"INF",N:"NTC",W:"WRN",E:"ERR"},i={D:"lvl-d",I:"lvl-i",N:"lvl-n",W:"lvl-w",E:"lvl-e"},n=new Set(["D","I","N","W","E"]);let s=F(Li([])),r=F(!0),a=F(Li(new Set(["D","I","N","W","E"]))),d=F(void 0),u=F(!1),f=F(null),g=null;Xs(async()=>{const J=await aU().catch(()=>[]),de=jU(),we=new Set,re=[...J,...de].filter(ae=>n.has(ae.level)).map(ae=>({ts:ae.ts,level:ae.level,msg:ae.msg}));re.sort((ae,De)=>ae.ts-De.ts),m(s,re.filter(ae=>{const De=`${ae.ts}\0${ae.msg}`;return we.has(De)?!1:(we.add(De),!0)}).slice(-500),!0),c(s).length>0&&(m(u,!0),hl().then(p)),g=ur("brokerLog",ae=>{n.has(ae.level)&&(m(u,!0),m(s,[...c(s).slice(-499),{ts:ae.ts,level:ae.level,msg:ae.msg}],!0),c(r)&&hl().then(p))}),aS().then(ae=>{const De=ae.managed.log_dest,Pe=Array.isArray(De)?De:De?[De]:[];m(f,Pe.includes("topic"),!0)}).catch(()=>{m(f,null)})}),Wp(()=>{g==null||g()});function p(){c(d)&&(c(d).scrollTop=c(d).scrollHeight)}function C(J){const de=new Set(c(a));de.has(J)?de.delete(J):de.add(J),m(a,de,!0)}function b(){m(s,[],!0),m(u,!1)}let y=Lt(()=>c(s).filter(J=>c(a).has(J.level)));function w(J){const de=new Date(J);return de.toTimeString().slice(0,8)+"."+String(de.getMilliseconds()).padStart(3,"0")}var A=Wee(),P=_(A),M=_(P);ti(M,20,()=>["D","I","N","W","E"],Hi,(J,de)=>{var we=Tee();let re;var ae=_(we);j(De=>{re=Ft(we,1,`lvl-btn ${i[de]??""}`,"svelte-1yc29ow",re,De),ln(we,"title",`Toggle ${de??""} messages`),W(ae,t[de])},[()=>({active:c(a).has(de)})]),U("click",we,()=>C(de)),D(J,we)});var R=v(M,4),T=_(R),V=v(R,2),H=v(P,2),X=_(H);{var se=J=>{var de=Oee(),we=_(de);{var re=De=>{var Pe=ws(),xe=Et(Pe);{var Ve=ht=>{var Mt=Mee();D(ht,Mt)},ze=ht=>{var Mt=Ree();D(ht,Mt)},ve=ht=>{var Mt=Nee();D(ht,Mt)};z(xe,ht=>{c(f)===!1?ht(Ve):c(f)===!0?ht(ze,1):ht(ve,-1)})}D(De,Pe)},ae=De=>{var Pe=Co("No messages match the current filter.");D(De,Pe)};z(we,De=>{c(u)?De(ae,-1):De(re)})}D(J,de)},he=J=>{var de=ws(),we=Et(de);ti(we,17,()=>c(y),re=>re.ts+re.msg,(re,ae)=>{var De=Hee(),Pe=_(De),xe=_(Pe),Ve=v(Pe,2),ze=_(Ve),ve=v(Ve,2),ht=_(ve);j(Mt=>{W(xe,Mt),Ft(Ve,1,`badge ${i[c(ae).level]??""}`,"svelte-1yc29ow"),W(ze,t[c(ae).level]),W(ht,c(ae).msg)},[()=>w(c(ae).ts)]),D(re,De)}),D(J,de)};z(X,J=>{c(y).length===0?J(se):J(he,-1)})}gs(H,J=>m(d,J),()=>c(d)),ys(T,()=>c(r),J=>m(r,J)),U("click",V,b),D(o,A),$s()}Ys(["click"]);var Vee=B('<div class="err svelte-d31be1"> </div>'),jee=B('<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>'),$ee=B('<div class="step svelte-d31be1"><p class="svelte-d31be1"> </p></div>'),Uee=B('<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>'),qee=B('<p class="hint svelte-d31be1">Restarting mosquitto… this may take a few seconds.</p>'),Gee=B(`<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-warn svelte-d31be1"> </button> <button class="skip-step svelte-d31be1">Skip (I'll restart manually)</button></div> <!></div>`),Kee=B('<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>'),Zee=B('<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>'),Xee=B('<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 Yee(o,e){js(e,!0);let t=F("intro"),i=F(""),n=F(!1),s=F("she-admin"),r=F(""),a=F("/etc/mosquitto"),d=F(null),u=F(!1),f=F(!1),g=F("she-admin"),p=F(""),C=F(!1);async function b(){m(n,!0),m(i,"");try{(await(await fetch("/she/broker/wizard/probe",{method:"POST",headers:{"Content-Type":"application/json"}})).json()).active?m(t,"done"):m(t,"config")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function y(){m(n,!0),m(i,"");try{const re=await fetch("/she/broker/wizard/bootstrap",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({adminUsername:c(s),adminPassword:c(r)||void 0,configDir:c(a)})}),ae=await re.json();if(!re.ok||!ae.ok)throw new Error(ae.error??"Bootstrap failed");m(d,ae,!0);const De=await Pl(),Pe=De.broker??{};await fp({...De,broker:{...Pe,dynsec:{adminUsername:ae.adminUsername,adminPassword:ae.adminPassword}}}),await dU().catch(()=>{}),m(t,"restart")}catch(re){m(i,re.message,!0)}finally{m(n,!1)}}async function w(){m(f,!0),m(i,"");try{await lU(),await new Promise(re=>setTimeout(re,2e3)),m(u,!0),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(f,!1)}}async function A(){m(C,!0),m(i,"");try{const re=await Pl(),ae=re.broker??{};await fp({...re,broker:{...ae,dynsec:{adminUsername:c(g),adminPassword:c(p)}}}),m(t,"done")}catch(re){m(i,re.message,!0)}finally{m(C,!1)}}var P=Xee(),M=_(P),R=v(_(M),2),T=v(M,2);{var V=re=>{var ae=Vee(),De=_(ae);j(()=>W(De,c(i))),D(re,ae)};z(T,re=>{c(i)&&re(V)})}var H=v(T,2);{var X=re=>{var ae=jee(),De=v(_(ae),6),Pe=_(De);j(()=>Pe.disabled=c(n)),U("click",Pe,()=>{m(t,"probe"),b()}),D(re,ae)},se=re=>{var ae=$ee(),De=_(ae),Pe=_(De);j(()=>W(Pe,c(n)?"Probing dynsec…":"Checking dynsec status…")),D(re,ae)},he=re=>{var ae=Uee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),Ve=v(_(xe)),ze=v(xe,2),ve=v(_(ze)),ht=v(ze,2),Mt=_(ht),ot=_(Mt);j(()=>{Mt.disabled=c(n)||!c(s),W(ot,c(n)?"Bootstrapping…":"Bootstrap dynsec")}),Vt(Pe,()=>c(s),yt=>m(s,yt)),Vt(Ve,()=>c(r),yt=>m(r,yt)),Vt(ve,()=>c(a),yt=>m(a,yt)),U("click",Mt,y),D(re,ae)},J=re=>{var ae=Gee(),De=v(_(ae),2),Pe=v(_(De),3),xe=_(Pe),Ve=v(De,4),ze=_(Ve),ve=_(ze),ht=v(ze,2),Mt=v(Ve,2);{var ot=yt=>{var Ce=qee();D(yt,Ce)};z(Mt,yt=>{c(f)&&yt(ot)})}j(()=>{W(xe,c(d).confFilePath),ze.disabled=c(f),W(ve,c(f)?"Restarting…":"Restart mosquitto now")}),U("click",ze,w),U("click",ht,()=>{m(t,"done")}),D(re,ae)},de=re=>{var ae=Kee(),De=v(_(ae),4),Pe=_(De);U("click",Pe,function(...xe){var Ve;(Ve=e.onDone)==null||Ve.apply(this,xe)}),D(re,ae)},we=re=>{var ae=Zee(),De=v(_(ae),2),Pe=v(_(De)),xe=v(De,2),Ve=v(_(xe)),ze=v(xe,2),ve=_(ze),ht=v(ve,2),Mt=_(ht);j(()=>{ht.disabled=c(C)||!c(g)||!c(p),W(Mt,c(C)?"Saving…":"Save credentials")}),Vt(Pe,()=>c(g),ot=>m(g,ot)),Vt(Ve,()=>c(p),ot=>m(p,ot)),U("click",ve,()=>m(t,"intro")),U("click",ht,A),D(re,ae)};z(H,re=>{c(t)==="intro"?re(X):c(t)==="probe"?re(se,1):c(t)==="config"?re(he,2):c(t)==="restart"&&c(d)?re(J,3):c(t)==="done"?re(de,4):c(t)==="manual"&&re(we,5)})}U("click",R,()=>m(t,"manual")),D(o,P),$s()}Ys(["click"]);var Qee=B('<div class="loading svelte-zuhcpo">Loading…</div>'),Jee=B('<div class="error-banner svelte-zuhcpo"> </div>'),ete=B('<div class="conn-row svelte-zuhcpo"><span></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span><!></span> <button class="btn-deactivate svelte-zuhcpo"> </button></div>'),tte=B('<button class="btn-wizard-inline svelte-zuhcpo">Setup Wizard ↗</button>'),ite=B('<div class="conn-row svelte-zuhcpo"><span class="dot dot-off svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">dynamic security</span> <span class="conn-detail muted svelte-zuhcpo">not configured</span> <!></div>'),nte=B('<div class="error-inline svelte-zuhcpo"> </div>'),ste=B('<button class="diag-btn svelte-zuhcpo"> </button>'),Y2=B('<p class="diag-issue svelte-zuhcpo"> </p>'),ote=B('<p class="diag-ok-msg svelte-zuhcpo">✓ dynamic-security.json looks correct. Verify mosquitto restarted with the plugin loaded.</p>'),rte=B('<p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">File</span><code class="svelte-zuhcpo"> </code></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Admin user exists</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">Has admin role</span><span> </span></p> <p class="diag-row svelte-zuhcpo"><span class="svelte-zuhcpo">$CONTROL publish ACL</span><span> </span></p> <!> <!>',1),ate=B('<div><!></div> <button class="diag-btn svelte-zuhcpo" style="margin-top:6px"> </button>',1),lte=B('<button class="wizard-btn svelte-zuhcpo">Run Setup Wizard</button>'),cte=B('<div class="diag-area svelte-zuhcpo"><!> <!></div>'),dte=B('<div class="stats-block svelte-zuhcpo"><dl class="svelte-zuhcpo"><dt class="svelte-zuhcpo">Version</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Uptime</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Clients</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Messages</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Topics</dt><dd class="svelte-zuhcpo"> </dd> <dt class="svelte-zuhcpo">Traffic</dt><dd class="svelte-zuhcpo"> </dd></dl></div>'),ute=B('<div style="margin-top: 20px;"><!></div>'),hte=B('<div class="status-layout svelte-zuhcpo"><div class="conn-block svelte-zuhcpo"><div class="conn-row svelte-zuhcpo"><span class="dot ok svelte-zuhcpo"></span> <span class="conn-name svelte-zuhcpo">mosquitto</span> <span class="conn-detail svelte-zuhcpo"> </span></div> <!> <!></div> <!> <!></div> <!>',1),fte=B('<div class="tab-content svelte-zuhcpo"><!></div>'),gte=B('<div class="broker-page svelte-zuhcpo"><div class="sub-nav svelte-zuhcpo"><button>Status</button> <button>Directory</button> <button>Config</button> <button>Listeners</button> <button>Certificates</button> <button>Connection</button> <button>Logs</button></div> <!></div> <!>',1);function pte(o,e){js(e,!0);let t=F(!1),i,n=F(!1),s=F(""),r=F(!1),a=F(null);const d="she-broker-tab";let u=F(Li(localStorage.getItem(d)??"status"));Kn(()=>{localStorage.setItem(d,c(u))});let f=F(null),g=F(""),p=F(!0);async function C(){try{m(f,await Lb(),!0),m(g,"")}catch(Ge){m(g,Ge.message??"Failed to load broker status",!0)}finally{m(p,!1)}}Xs(()=>{C();const Ge=setInterval(C,1e4);return()=>clearInterval(Ge)});async function b(){m(r,!0),m(a,null);try{m(a,await uU(),!0)}catch(Ge){m(a,{ok:!1,dynSecPath:"",issues:[Ge.message??"Diagnose request failed"]},!0)}finally{m(r,!1)}}async function y(){if(await i.show("Remove dynsec plugin lines from mosquitto.conf and clear credentials? You will need to restart mosquitto afterwards.",{confirm:"Deactivate",danger:!0})){m(n,!0),m(s,"");try{await cU(),await C()}catch(Ge){m(s,Ge.message??"Deactivate failed",!0)}finally{m(n,!1)}}}function w(Ge){var Dt;if(!((Dt=c(f))!=null&&Dt.sys))return"—";const nt=c(f).sys[Ge];return nt?String(nt.val??"—"):"—"}function A(Ge){if(Ge==="—")return Ge;const nt=Ge.match(/^(\d+)/),Dt=nt?parseInt(nt[1]):NaN;if(isNaN(Dt))return Ge;const Jt=Math.floor(Dt/86400),di=Math.floor(Dt%86400/3600),ci=Math.floor(Dt%3600/60),xi=Dt%60,_i=Ke=>String(Ke).padStart(2,"0");return Jt>0?`${Jt}d ${_i(di)}:${_i(ci)}:${_i(xi)}`:`${_i(di)}:${_i(ci)}:${_i(xi)}`}function P(Ge){if(Ge==="—")return Ge;const nt=parseInt(Ge);return isNaN(nt)?Ge:nt<1024?`${nt} B`:nt<1048576?`${(nt/1024).toFixed(1)} KB`:nt<1073741824?`${(nt/1048576).toFixed(1)} MB`:`${(nt/1073741824).toFixed(1)} GB`}var M=gte(),R=Et(M),T=_(R),V=_(T);let H;var X=v(V,2);let se;var he=v(X,2);let J;var de=v(he,2);let we;var re=v(de,2);let ae;var De=v(re,2);let Pe;var xe=v(De,2);let Ve;var ze=v(T,2);{var ve=Ge=>{var nt=fte(),Dt=_(nt);{var Jt=xi=>{var _i=Qee();D(xi,_i)},di=xi=>{var _i=Jee(),Ke=_(_i);j(()=>W(Ke,c(g))),D(xi,_i)},ci=xi=>{var _i=hte(),Ke=Et(_i),Ee=_(Ke),ii=_(Ee),bi=v(_(ii),4),ni=_(bi),$i=v(ii,2);{var Zi=Wi=>{var Vi=ete(),Qi=_(Vi);let Si;var it=v(Qi,4);let At;var Oi=_(it);{var Ti=Xe=>{var st=Co("plugin active");D(Xe,st)},Bi=Xe=>{var st=Co("connected — plugin not responding");D(Xe,st)},Ri=Xe=>{var st=Co("disconnected");D(Xe,st)};z(Oi,Xe=>{c(f).dynsec.dynsecReady?Xe(Ti):c(f).dynsec.connected?Xe(Bi,1):Xe(Ri,-1)})}var K=v(it,2),Ae=_(K);j(()=>{Si=Ft(Qi,1,"dot svelte-zuhcpo",null,Si,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,"dot-err":!c(f).dynsec.connected}),At=Ft(it,1,"conn-detail svelte-zuhcpo",null,At,{ok:c(f).dynsec.dynsecReady,warn:c(f).dynsec.connected&&!c(f).dynsec.dynsecReady,err:!c(f).dynsec.connected}),K.disabled=c(n),W(Ae,c(n)?"…":"deactivate")}),U("click",K,y),D(Wi,Vi)},wi=Wi=>{var Vi=ite(),Qi=v(_(Vi),6);{var Si=it=>{var At=tte();U("click",At,()=>m(t,!0)),D(it,At)};z(Qi,it=>{c(t)||it(Si)})}D(Wi,Vi)};z($i,Wi=>{c(f).dynsec.configured?Wi(Zi):Wi(wi,-1)})}var yn=v($i,2);{var un=Wi=>{var Vi=nte(),Qi=_(Vi);j(()=>W(Qi,c(s))),D(Wi,Vi)};z(yn,Wi=>{c(s)&&Wi(un)})}var cn=v(Ee,2);{var fn=Wi=>{var Vi=cte(),Qi=_(Vi);{var Si=Ti=>{var Bi=ste(),Ri=_(Bi);j(()=>{Bi.disabled=c(r),W(Ri,c(r)?"Running diagnostics…":"Run diagnostics")}),U("click",Bi,b),D(Ti,Bi)},it=Ti=>{var Bi=ate(),Ri=Et(Bi);let K;var Ae=_(Ri);{var Xe=xt=>{var dt=Y2(),Y=_(dt);j(()=>W(Y,`⚠ ${c(a).error??""}`)),D(xt,dt)},st=xt=>{var dt=rte(),Y=Et(dt),Te=v(_(Y)),Ye=_(Te),ke=v(Y,2),It=v(_(ke)),$t=_(It),te=v(ke,2),Je=v(_(te)),Pt=_(Je),Bt=v(te,2),Ot=v(_(Bt)),Se=_(Ot),Qe=v(Bt,2);ti(Qe,17,()=>c(a).issues,Hi,(mi,ei)=>{var fe=Y2(),et=_(fe);j(()=>W(et,`⚠ ${c(ei)??""}`)),D(mi,fe)});var Yt=v(Qe,2);{var Zt=mi=>{var ei=ote();D(mi,ei)};z(Yt,mi=>{c(a).ok&&mi(Zt)})}j(()=>{W(Ye,c(a).dynSecPath),Ft(It,1,dg(c(a).adminClientExists?"ok":"fail"),"svelte-zuhcpo"),W($t,c(a).adminClientExists?"✓ yes":"✗ no"),Ft(Je,1,dg(c(a).hasAdminRole?"ok":"fail"),"svelte-zuhcpo"),W(Pt,c(a).hasAdminRole?"✓ yes":"✗ no"),Ft(Ot,1,dg(c(a).hasControlSendAcl?"ok":"fail"),"svelte-zuhcpo"),W(Se,c(a).hasControlSendAcl?"✓ present":"✗ missing")}),D(xt,dt)};z(Ae,xt=>{c(a).error?xt(Xe):xt(st,-1)})}var Kt=v(Ri,2),si=_(Kt);j(()=>{K=Ft(Ri,1,"diag-card svelte-zuhcpo",null,K,{"diag-ok":c(a).ok,"diag-fail":!c(a).ok}),Kt.disabled=c(r),W(si,c(r)?"Running…":"Re-run")}),U("click",Kt,b),D(Ti,Bi)};z(Qi,Ti=>{c(a)?Ti(it,-1):Ti(Si)})}var At=v(Qi,2);{var Oi=Ti=>{var Bi=lte();U("click",Bi,()=>m(t,!0)),D(Ti,Bi)};z(At,Ti=>{c(t)||Ti(Oi)})}D(Wi,Vi)};z(cn,Wi=>{c(f).dynsec.configured&&c(f).dynsec.connected&&!c(f).dynsec.dynsecReady&&Wi(fn)})}var ft=v(cn,2);{var Gt=Wi=>{var Vi=dte(),Qi=_(Vi),Si=v(_(Qi)),it=_(Si),At=v(Si,3),Oi=_(At),Ti=v(At,3),Bi=_(Ti),Ri=v(Ti,3),K=_(Ri),Ae=v(Ri,3),Xe=_(Ae),st=v(Ae,3),Kt=_(st);j((si,xt,dt,Y,Te,Ye,ke,It,$t,te,Je,Pt)=>{W(it,si),W(Oi,xt),W(Bi,`${dt??""} connected · ${Y??""} max · ${Te??""} total`),W(K,`${Ye??""} rcv · ${ke??""} sent · ${It??""} stored`),W(Xe,`${$t??""} retained · ${te??""} subscriptions`),W(Kt,`${Je??""} in · ${Pt??""} out`)},[()=>w("$SYS/broker/version"),()=>A(w("$SYS/broker/uptime")),()=>w("$SYS/broker/clients/connected"),()=>w("$SYS/broker/clients/maximum"),()=>w("$SYS/broker/clients/total"),()=>w("$SYS/broker/messages/received"),()=>w("$SYS/broker/messages/sent"),()=>w("$SYS/broker/messages/stored"),()=>w("$SYS/broker/retained messages/count"),()=>w("$SYS/broker/subscriptions/count"),()=>P(w("$SYS/broker/bytes/received")),()=>P(w("$SYS/broker/bytes/sent"))]),D(Wi,Vi)},Pi=Lt(()=>Object.keys(c(f).sys).length>0);z(ft,Wi=>{c(Pi)&&Wi(Gt)})}var qi=v(Ke,2);{var Ci=Wi=>{var Vi=ute(),Qi=_(Vi);Yee(Qi,{onDone:()=>{m(t,!1),C()}}),D(Wi,Vi)};z(qi,Wi=>{c(t)&&(!c(f).dynsec.configured||!c(f).dynsec.dynsecReady)&&Wi(Ci)})}j(()=>W(ni,c(f).sshConfigured?`ssh — ${c(f).sshHost}`:"local")),D(xi,_i)};z(Dt,xi=>{c(p)?xi(Jt):c(g)?xi(di,1):c(f)&&xi(ci,2)})}D(Ge,nt)},ht=Ge=>{{let nt=Lt(()=>{var Dt;return((Dt=c(f))==null?void 0:Dt.dynsec.dynsecReady)??!1});MJ(Ge,{get dynsecReady(){return c(nt)}})}},Mt=Ge=>{tee(Ge,{})},ot=Ge=>{ZJ(Ge,{})},yt=Ge=>{Eee(Ge,{})},Ce=Ge=>{Pee(Ge,{})},Rt=Ge=>{zee(Ge,{})};z(ze,Ge=>{c(u)==="status"?Ge(ve):c(u)==="users"?Ge(ht,1):c(u)==="brokerconfig"?Ge(Mt,2):c(u)==="listeners"?Ge(ot,3):c(u)==="certs"?Ge(yt,4):c(u)==="ssh"?Ge(Ce,5):c(u)==="logs"&&Ge(Rt,6)})}var ai=v(R,2);gs(Yc(ai,{}),Ge=>i=Ge,()=>i),j(()=>{H=Ft(V,1,"svelte-zuhcpo",null,H,{active:c(u)==="status"}),se=Ft(X,1,"svelte-zuhcpo",null,se,{active:c(u)==="users"}),J=Ft(he,1,"svelte-zuhcpo",null,J,{active:c(u)==="brokerconfig"}),we=Ft(de,1,"svelte-zuhcpo",null,we,{active:c(u)==="listeners"}),ae=Ft(re,1,"svelte-zuhcpo",null,ae,{active:c(u)==="certs"}),Pe=Ft(De,1,"svelte-zuhcpo",null,Pe,{active:c(u)==="ssh"}),Ve=Ft(xe,1,"svelte-zuhcpo",null,Ve,{active:c(u)==="logs"})}),U("click",V,()=>m(u,"status")),U("click",X,()=>m(u,"users")),U("click",he,()=>m(u,"brokerconfig")),U("click",de,()=>m(u,"listeners")),U("click",re,()=>m(u,"certs")),U("click",De,()=>m(u,"ssh")),U("click",xe,()=>m(u,"logs")),D(o,M),$s()}Ys(["click"]);var xte=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q"></span>'),mte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="MQTT broker not connected"></span>'),vte=B('<span class="nav-dot nav-dot--warn nav-dot--blink svelte-1n46o8q" title="Waiting for retained MQTT state"></span>'),_te=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="MQTT connected"></span>'),bte=B('<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"><circle cx="8" cy="10" r="2" class="svelte-1n46o8q"></circle><path d="M5,7 A4,4 0,0,1 11,7" class="svelte-1n46o8q"></path><path d="M3,5 A6.5,6.5 0,0,1 13,5" class="svelte-1n46o8q"></path><line x1="8" y1="12" x2="8" y2="15" class="svelte-1n46o8q"></line></svg> Broker</button>'),Cte=B('<span class="nav-dot nav-dot--ok svelte-1n46o8q" title="All Matter devices online"></span>'),Ete=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Some Matter devices offline"></span>'),yte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="No Matter devices online"></span>'),wte=B('<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>'),Ste=B('<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>'),Dte=B('<span class="nav-dot nav-dot--err svelte-1n46o8q" title="Errors in recent logs"></span>'),Ate=B('<span class="nav-dot nav-dot--warn svelte-1n46o8q" title="Warnings in recent logs"></span>'),kte=B('<span class="update-dot svelte-1n46o8q" title="Update available"></span>'),Bte=B('<dt class="svelte-1n46o8q">Latest</dt><dd style="color: #f90" class="svelte-1n46o8q"> </dd>',1),Fte=B('<dt class="svelte-1n46o8q">Latest</dt><dd class="svelte-1n46o8q">up to date</dd>',1),Lte=B('<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>'),Ite=B('<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>'),Pte=B('<dt class="svelte-1n46o8q">Uptime</dt><dd class="svelte-1n46o8q"> </dd>',1),Tte=B('<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),Mte=B('<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),Rte=B('<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>'),Nte=B('<span class="stats-empty svelte-1n46o8q">Loading…</span>'),Ote=B('<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>'),Hte=B('<div class="stats-popup svelte-1n46o8q"><!> <div class="stats-actions svelte-1n46o8q"><!></div></div>'),Wte=B('<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>'),zte=B('<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.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>'),Vte=B('<div class="login-error svelte-1n46o8q"> </div>'),jte=B('<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>'),$te=B('<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>'),Ute=B('<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>'),qte=B("<!> <!> <!> <!>",1);function Gte(o,e){js(e,!0);const t=["scripts","mqtt","matter","security","db","logs","config","packages"];function i(){const Ge=location.hash.slice(1);return t.includes(Ge)?Ge:"scripts"}let n=F(Li(i())),s=F(null),r=F(!1),a=F(!1),d=F(!1),u=F(!1),f=F("none"),g=F(""),p=F(!1),C=F(""),b=F(""),y=F(!1),w=F(!1);B$(()=>{m(p,!0)});async function A(){m(b,""),m(y,!0);try{await I$(c(C)),m(C,""),m(p,!1)}catch(Ge){m(b,Ge.message??"Login failed",!0)}finally{m(y,!1)}}async function P(){if(c(f)==="proxy"&&c(g)){window.location.href=c(g);return}await P$(),m(p,!0)}let M=F(null),R=F(!1),T=F(!1),V=F(!1),H=F(!1),X=F(Li([])),se=F(0),he=F(!1),J=F(Li([]));const de=Lt(()=>c(J).filter(Ge=>Ge.online).length),we=Lt(()=>c(J).length===0?"none":c(de)===c(J).length?"all":c(de)>0?"some":"offline");let re=F(!1),ae=F(!1);async function De(){if(!await c(M).show("Restart the she daemon? The page will reload after a moment.",{confirm:"Restart"}))return;m(R,!0);let Ge;try{Ge=(await Qh()).startedAt}catch{}try{await uF()}catch{}const nt=Date.now()+6e4;for(;Date.now()<nt;){await new Promise(Dt=>setTimeout(Dt,250));try{const Dt=await Qh();if(Ge===void 0||Dt.startedAt!==Ge){location.reload();return}}catch{}}location.reload()}async function Pe(){m(d,!0);try{const Ge=await H$();c(s)&&m(s,{...c(s),latestVersion:Ge.latestVersion??void 0},!0)}catch{}finally{m(d,!1)}}async function xe(){var Dt,Jt;if(!await c(M).show(`Update to v${(Dt=c(s))==null?void 0:Dt.latestVersion}? The daemon will restart after the update completes.`,{confirm:"Update"}))return;m(a,!1),m(u,!0);const Ge=(Jt=c(s))==null?void 0:Jt.startedAt;try{await O$()}catch{}const nt=Date.now()+18e4;for(;Date.now()<nt;){await new Promise(di=>setTimeout(di,1e3));try{const di=await Qh();if(Ge===void 0||di.startedAt!==Ge){location.reload();return}}catch{m(u,!1),m(R,!0)}}location.reload()}function Ve(Ge){m(n,Ge,!0),location.hash=Ge}Xs(async()=>{location.hash||(location.hash=c(n));const Ge=()=>{m(n,i(),!0)};window.addEventListener("hashchange",Ge);try{const Ke=await L$();m(f,Ke.mode,!0),m(g,Ke.proxyLogoutUrl??"",!0),c(f)==="password"&&(await fetch("/she/scripts")).status===401&&m(p,!0)}catch{}m(w,!0);async function nt(){var Ke,Ee,ii;try{m(s,await Qh(),!0)}catch{}try{const[bi,ni]=await Promise.all([gF(),Pl()]);m(X,Array.isArray(ni.pinnedPackages)?ni.pinnedPackages:[],!0),m(se,Object.keys(bi).filter(Zi=>!c(X).includes(Zi)).length,!0);const $i=c(he);m(he,((Ke=ni.broker)==null?void 0:Ke.enabled)===!0),$i&&!c(he)&&c(n)==="security"&&Ve("scripts")}catch{}!((Ee=c(s))!=null&&Ee.matterEnabled)&&c(n)==="matter"&&Ve("scripts"),!((ii=c(s))!=null&&ii.dbEnabled)&&c(n)==="db"&&Ve("scripts")}nt();const Dt=setInterval(nt,5e3),Jt=ur("mqtt:status",Ke=>{Ke.connected===!1?(m(H,!0),m(T,!1),m(V,!1)):(m(H,!1),m(T,Ke.ready===!1),m(V,Ke.ready===!0))}),di=ur("matter:deviceList",Ke=>{Array.isArray(Ke.devices)&&m(J,Ke.devices.map(Ee=>({nodeId:String(Ee.nodeId),online:!!Ee.online})),!0)}),ci=ur("matter:deviceStatus",Ke=>{if(Ke.nodeId===void 0)return;const Ee=String(Ke.nodeId),ii=!!Ke.online;m(J,c(J).map(bi=>bi.nodeId===Ee?{...bi,online:ii}:bi),!0)}),xi=yF();m(re,xi.some(Ke=>Ke.level==="error"),!0),m(ae,!c(re)&&xi.some(Ke=>Ke.level==="warn"),!0);const _i=cS(Ke=>{Ke.level==="error"?(m(re,!0),m(ae,!1)):Ke.level==="warn"&&!c(re)&&m(ae,!0)});return()=>{window.removeEventListener("hashchange",Ge),clearInterval(Dt),Jt(),di(),ci(),_i()}});var ze=qte();xs("click",e6,()=>{c(r)&&m(r,!1),c(a)&&m(a,!1)});var ve=Et(ze);{var ht=Ge=>{var nt=zte(),Dt=_(nt),Jt=v(_(Dt),2);let di;var ci=v(Jt,2);let xi;var _i=v(_(ci),2);{var Ke=N=>{var $=xte();j(()=>ln($,"title",`${c(se)??""} package update${c(se)===1?"":"s"} available`)),D(N,$)};z(_i,N=>{c(se)>0&&N(Ke)})}var Ee=v(ci,2);let ii;var bi=v(_(Ee),2);{var ni=N=>{var $=mte();D(N,$)},$i=N=>{var $=vte();D(N,$)},Zi=N=>{var $=_te();D(N,$)};z(bi,N=>{c(H)?N(ni):c(T)?N($i,1):c(V)&&N(Zi,2)})}var wi=v(Ee,2);{var yn=N=>{var $=bte();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="security"})),U("click",$,()=>Ve("security")),D(N,$)};z(wi,N=>{c(he)&&N(yn)})}var un=v(wi,2);{var cn=N=>{var $=wte();let oe;var ie=v(_($),2);{var ne=Fe=>{var _e=Cte();D(Fe,_e)},le=Fe=>{var _e=Ete();D(Fe,_e)},tt=Fe=>{var _e=yte();D(Fe,_e)};z(ie,Fe=>{c(we)==="all"?Fe(ne):c(we)==="some"?Fe(le,1):c(we)==="offline"&&Fe(tt,2)})}j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="matter"})),U("click",$,()=>Ve("matter")),D(N,$)};z(un,N=>{var $;($=c(s))!=null&&$.matterEnabled&&N(cn)})}var fn=v(un,2);{var ft=N=>{var $=Ste();let oe;j(()=>oe=Ft($,1,"svelte-1n46o8q",null,oe,{active:c(n)==="db"})),U("click",$,()=>Ve("db")),D(N,$)};z(fn,N=>{var $;($=c(s))!=null&&$.dbEnabled&&N(ft)})}var Gt=v(fn,2);let Pi;var qi=v(_(Gt),2);{var Ci=N=>{var $=Dte();D(N,$)},Wi=N=>{var $=Ate();D(N,$)};z(qi,N=>{c(re)?N(Ci):c(ae)&&N(Wi,1)})}var Vi=v(Gt,4),Qi=v(_(Vi),2),Si=_(Qi),it=_(Si);it.nodeValue="v1.12.2 ";var At=v(it);{var Oi=N=>{var $=kte();D(N,$)};z(At,N=>{var $,oe;($=c(s))!=null&&$.latestVersion&&!((oe=c(s))!=null&&oe.docker)&&N(Oi)})}var Ti=v(Si,2);{var Bi=N=>{var $=Ite(),oe=_($),ie=v(_(oe));ie.textContent="v1.12.2";var ne=v(ie,2);{var le=ce=>{var je=Bte(),mt=v(Et(je)),Le=_(mt);j(()=>W(Le,`v${c(s).latestVersion??""}`)),D(ce,je)},tt=ce=>{var je=Fte();D(ce,je)};z(ne,ce=>{var je;(je=c(s))!=null&&je.latestVersion?ce(le):ce(tt,-1)})}var Fe=v(oe,2),_e=_(Fe);{var Ze=ce=>{var je=Lte(),mt=v(_(je));j(()=>W(mt,` Update to v${c(s).latestVersion??""}`)),U("click",je,xe),D(ce,je)};z(_e,ce=>{var je;(je=c(s))!=null&&je.latestVersion&&ce(Ze)})}var Me=v(_e,2),lt=_(Me);let Xt;var Z=v(lt);j(()=>{Me.disabled=c(d),Xt=Ft(lt,0,"svelte-1n46o8q",null,Xt,{spinning:c(d)}),W(Z,` ${c(d)?"Checking…":"Check for updates"}`)}),U("click",$,ce=>ce.stopPropagation()),U("click",Me,Pe),D(N,$)};z(Ti,N=>{var $;c(a)&&!(($=c(s))!=null&&$.docker)&&N(Bi)})}var Ri=v(Qi,2),K=_(Ri),Ae=v(K,2);{var Xe=N=>{var $=Hte(),oe=_($);{var ie=_e=>{var Ze=Rte(),Me=_(Ze);{var lt=vt=>{const ge=Lt(()=>Math.floor((Date.now()-c(s).startedAt)/1e3)),Oe=Lt(()=>Math.floor(c(ge)/86400)),_t=Lt(()=>Math.floor(c(ge)%86400/3600)),jt=Lt(()=>Math.floor(c(ge)%3600/60));var Ct=Pte(),Ni=v(Et(Ct)),Mi=_(Ni);j(()=>W(Mi,`${c(Oe)>0?c(Oe)+"d ":""}${c(_t)>0||c(Oe)>0?c(_t)+"h ":""}${c(jt)??""}m`)),D(vt,Ct)};z(Me,vt=>{c(s).startedAt&&vt(lt)})}var Xt=v(Me,3),Z=_(Xt),ce=v(Xt,3),je=_(ce),mt=v(ce,3),Le=_(mt),He=v(mt,2);{var St=vt=>{var ge=Tte(),Oe=v(Et(ge)),_t=_(Oe),jt=v(Oe,3),Ct=_(jt);j(()=>{W(_t,c(s).matterNodes??0),W(Ct,c(s).matterEndpoints??0)}),D(vt,ge)};z(He,vt=>{c(s).matterEnabled&&vt(St)})}var gt=v(He,2);{var Ie=vt=>{var ge=Mte(),Oe=v(Et(ge)),_t=_(Oe),jt=v(Oe,3),Ct=_(jt);j(()=>{W(_t,c(s).dbDocs??"—"),W(Ct,c(s).dbViews??"—")}),D(vt,ge)};z(gt,vt=>{c(s).dbEnabled&&vt(Ie)})}var pe=v(gt,3),Re=_(pe),Ne=v(pe,3),Ue=_(Ne),rt=v(Ne,3),qe=_(rt);j(()=>{W(Z,c(s).scripts),W(je,c(s).topics),W(Le,c(s).mqttMsgPerSec??"—"),W(Re,c(s).handlers??"—"),W(Ue,c(s).memMb!=null?c(s).memMb+" MB":"—"),W(qe,c(s).cpuPercent!=null?c(s).cpuPercent+" %":"—")}),D(_e,Ze)},ne=_e=>{var Ze=Nte();D(_e,Ze)};z(oe,_e=>{c(s)?_e(ie):_e(ne,-1)})}var le=v(oe,2),tt=_(le);{var Fe=_e=>{var Ze=Ote();U("click",Ze,()=>{m(r,!1),De()}),D(_e,Ze)};z(tt,_e=>{var Ze;(Ze=c(s))!=null&&Ze.docker||_e(Fe)})}U("click",$,_e=>_e.stopPropagation()),D(N,$)};z(Ae,N=>{c(r)&&N(Xe)})}var st=v(Ri,2);let Kt;var si=v(st,2);{var xt=N=>{var $=Wte();U("click",$,P),D(N,$)};z(si,N=>{c(f)==="password"&&N(xt)})}var dt=v(Dt,2),Y=_(dt);gs(Yc(Y,{}),N=>m(M,N,!0),()=>c(M));var Te=v(Y,2);let Ye;var ke=_(Te);{let N=Lt(()=>c(n)==="scripts");nZ(ke,{get active(){return c(N)}})}var It=v(Te,2);let $t;var te=_(It);eJ(te,{});var Je=v(It,2);let Pt;var Bt=_(Je);MQ(Bt,{});var Ot=v(Je,2);let Se;var Qe=_(Ot);JY(Qe,{});var Yt=v(Ot,2);let Zt;var mi=_(Yt);pte(mi,{});var ei=v(Yt,2);let fe;var et=_(ei);iY(et,{});var at=v(ei,2);let ct;var Ut=_(at);KZ(Ut,{});var Ht=v(at,2);let Ei;var I=_(Ht);QZ(I,{}),j(()=>{di=Ft(Jt,1,"svelte-1n46o8q",null,di,{active:c(n)==="scripts"}),xi=Ft(ci,1,"svelte-1n46o8q",null,xi,{active:c(n)==="packages"}),ii=Ft(Ee,1,"svelte-1n46o8q",null,ii,{active:c(n)==="mqtt"}),Pi=Ft(Gt,1,"svelte-1n46o8q",null,Pi,{active:c(n)==="logs"}),Kt=Ft(st,1,"nav-settings svelte-1n46o8q",null,Kt,{active:c(n)==="config"}),Ye=Ft(Te,1,"page-wrap svelte-1n46o8q",null,Ye,{hidden:c(n)!=="scripts"}),$t=Ft(It,1,"page-wrap svelte-1n46o8q",null,$t,{hidden:c(n)!=="packages"}),Pt=Ft(Je,1,"page-wrap svelte-1n46o8q",null,Pt,{hidden:c(n)!=="mqtt"}),Se=Ft(Ot,1,"page-wrap svelte-1n46o8q",null,Se,{hidden:c(n)!=="matter"}),Zt=Ft(Yt,1,"page-wrap svelte-1n46o8q",null,Zt,{hidden:c(n)!=="security"}),fe=Ft(ei,1,"page-wrap svelte-1n46o8q",null,fe,{hidden:c(n)!=="db"}),ct=Ft(at,1,"page-wrap svelte-1n46o8q",null,ct,{hidden:c(n)!=="config"}),Ei=Ft(Ht,1,"page-wrap svelte-1n46o8q",null,Ei,{hidden:c(n)!=="logs"})}),U("click",Jt,()=>Ve("scripts")),U("click",ci,()=>Ve("packages")),U("click",Ee,()=>Ve("mqtt")),U("click",Gt,()=>{Ve("logs"),m(re,!1),m(ae,!1)}),U("click",Si,N=>{N.stopPropagation(),m(a,!c(a)),m(r,!1)}),U("click",K,N=>{N.stopPropagation(),m(r,!c(r)),m(a,!1)}),U("click",st,()=>Ve("config")),D(Ge,nt)};z(ve,Ge=>{c(w)&&!c(p)&&Ge(ht)})}var Mt=v(ve,2);{var ot=Ge=>{var nt=jte(),Dt=_(nt),Jt=v(_(Dt),4),di=v(_(Jt),2),ci=v(Jt,2);{var xi=Ee=>{var ii=Vte(),bi=_(ii);j(()=>W(bi,c(b))),D(Ee,ii)};z(ci,Ee=>{c(b)&&Ee(xi)})}var _i=v(ci,2),Ke=_(_i);j(()=>{di.disabled=c(y),_i.disabled=c(y)||!c(C),W(Ke,c(y)?"Signing in…":"Sign in")}),xs("submit",Dt,Ee=>{Ee.preventDefault(),A()}),Vt(di,()=>c(C),Ee=>m(C,Ee)),D(Ge,nt)};z(Mt,Ge=>{c(p)&&Ge(ot)})}var yt=v(Mt,2);{var Ce=Ge=>{var nt=$te();D(Ge,nt)};z(yt,Ge=>{c(R)&&Ge(Ce)})}var Rt=v(yt,2);{var ai=Ge=>{var nt=Ute();D(Ge,nt)};z(Rt,Ge=>{c(u)&&Ge(ai)})}D(o,ze),$s()}Ys(["click"]);ZI(Gte,{target:document.getElementById("app")});export{P6 as t};