sh3-server 0.16.1 → 0.17.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.
@@ -0,0 +1,21 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/tauri-backend-C24Wzcc_.js","assets/index-YGsF1N98.js","assets/core-DsojzR6k.js"])))=>i.map(i=>d[i]);
2
+ (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const a of s)if(a.type==="childList")for(const l of a.addedNodes)l.tagName==="LINK"&&l.rel==="modulepreload"&&r(l)}).observe(document,{childList:!0,subtree:!0});function n(s){const a={};return s.integrity&&(a.integrity=s.integrity),s.referrerPolicy&&(a.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?a.credentials="include":s.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function r(s){if(s.ep)return;s.ep=!0;const a=n(s);fetch(s.href,a)}})();const Hp="modulepreload",Kp=function(e){return"/"+e},kc={},ri=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),o=l?.nonce||l?.getAttribute("nonce");s=Promise.allSettled(n.map(c=>{if(c=Kp(c),c in kc)return;kc[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":Hp,u||(f.as="script"),f.crossOrigin="",f.href=c,o&&f.setAttribute("nonce",o),document.head.appendChild(f),u)return new Promise((h,b)=>{f.addEventListener("load",h),f.addEventListener("error",()=>b(new Error(`Unable to preload CSS for ${c}`)))})}))}function a(l){const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=l,window.dispatchEvent(o),!o.defaultPrevented)throw l}return s.then(l=>{for(const o of l||[])o.status==="rejected"&&a(o.reason);return t().catch(a)})},Wp=1,Yp=2,Xu=4,Gp=8,Xp=16,Jp=1,Ju=4,Zp=8,Qp=16,$p=1,em=2,tm=4,nl=1,Zu=2,nm=4,rm=8,si="[",ai="[!",xc="[?",ii="]",nr={},De=Symbol(),Ct=Symbol("filename"),_r=Symbol("hmr"),Qu="http://www.w3.org/1999/xhtml",Fs="http://www.w3.org/2000/svg",rl="http://www.w3.org/1998/Math/MathML",$u="@attach",ed=!1;var Jr=Array.isArray,sm=Array.prototype.indexOf,Dr=Array.prototype.includes,oi=Array.from,Pa=Object.keys,rr=Object.defineProperty,rn=Object.getOwnPropertyDescriptor,td=Object.getOwnPropertyDescriptors,nd=Object.prototype,am=Array.prototype,li=Object.getPrototypeOf,Sc=Object.isExtensible,im=Object.prototype.hasOwnProperty;function wr(e){return typeof e=="function"}const Tt=()=>{};function Ec(e){return typeof e?.then=="function"}function om(e){return e()}function uo(e){for(var t=0;t<e.length;t++)e[t]()}function rd(){var e,t,n=new Promise((r,s)=>{e=r,t=s});return{promise:n,resolve:e,reject:t}}function lm(e,t,n=!1){return e===void 0?n?t():t:e}function sd(e,t){if(Array.isArray(e))return e;if(t===void 0||!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}function cm(e,t){var n={};for(var r in e)t.includes(r)||(n[r]=e[r]);for(var s of Object.getOwnPropertySymbols(e))Object.propertyIsEnumerable.call(e,s)&&!t.includes(s)&&(n[s]=e[s]);return n}const et=2,sr=4,Us=8,sl=1<<24,sn=16,on=32,Tn=64,fo=128,Ht=512,Ye=1024,$e=2048,ln=4096,dt=8192,yt=16384,Ln=32768,vo=1<<25,cn=65536,Es=1<<17,ad=1<<18,Fn=1<<19,id=1<<20,mn=1<<25,ar=65536,ho=1<<21,Or=1<<22,Nn=1<<23,ot=Symbol("$state"),ci=Symbol("legacy props"),um=Symbol(""),dm=Symbol("proxy path"),fm=Symbol("hmr anchor"),vn=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},hr=!!globalThis.document?.contentType&&globalThis.document.contentType.includes("xml"),od=1,Hs=3,Mn=8,ld=11;function cd(e){throw new Error("https://svelte.dev/e/experimental_async_required")}function vm(){throw new Error("https://svelte.dev/e/invalid_default_snippet")}function Ic(){throw new Error("https://svelte.dev/e/invalid_snippet_arguments")}function Zr(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function hm(){throw new Error("https://svelte.dev/e/missing_context")}function pm(){throw new Error("https://svelte.dev/e/snippet_without_render_tag")}function mm(e){throw new Error("https://svelte.dev/e/store_invalid_shape")}function bm(){throw new Error("https://svelte.dev/e/svelte_element_invalid_this_value")}function gm(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function ym(e,t){throw new Error("https://svelte.dev/e/component_api_changed")}function _m(e,t){throw new Error("https://svelte.dev/e/component_api_invalid_new")}function wm(e,t,n){throw new Error("https://svelte.dev/e/each_key_duplicate")}function km(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function xm(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Sm(e){throw new Error("https://svelte.dev/e/effect_orphan")}function Em(){throw new Error("https://svelte.dev/e/effect_pending_outside_reaction")}function Im(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Am(){throw new Error("https://svelte.dev/e/fork_discarded")}function Cm(){throw new Error("https://svelte.dev/e/fork_timing")}function Tm(){throw new Error("https://svelte.dev/e/get_abort_signal_outside_reaction")}function Rm(){throw new Error("https://svelte.dev/e/hydration_failed")}function ud(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Pm(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Lm(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Mm(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function zm(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function jm(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function Dm(e,t){console.warn("https://svelte.dev/e/assignment_value_stale")}function Om(e,t){console.warn("https://svelte.dev/e/binding_property_non_reactive")}function Nm(e){console.warn("https://svelte.dev/e/console_log_state")}function qm(){console.warn("https://svelte.dev/e/derived_inert")}function Bm(e,t){console.warn("https://svelte.dev/e/event_handler_invalid")}function Vm(e){console.warn("https://svelte.dev/e/hydratable_missing_but_expected")}function Ks(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function Fm(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_binding")}function Um(e,t,n,r){console.warn("https://svelte.dev/e/ownership_invalid_mutation")}function Hm(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function dd(e){console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function Km(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let oe=!1;function Pe(e){oe=e}let he;function Ce(e){if(e===null)throw Ks(),nr;return he=e}function vt(){return Ce(Mt(he))}function v(e){if(oe){if(Mt(he)!==null)throw Ks(),nr;he=e}}function Wm(e){oe&&(he=e.content)}function Pt(e=1){if(oe){for(var t=e,n=he;t--;)n=Mt(n);he=n}}function ir(e=!0){for(var t=0,n=he;;){if(n.nodeType===Mn){var r=n.data;if(r===ii){if(t===0)return n;t-=1}else(r===si||r===ai||r[0]==="["&&!isNaN(Number(r.slice(1))))&&(t+=1)}var s=Mt(n);e&&n.remove(),n=s}}function al(e){if(!e||e.nodeType!==Mn)throw Ks(),nr;return e.data}function fd(e){return e===this.v}function vd(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function hd(e){return!vd(e,this.v)}let Ym=!1;function Gm(e){console.warn("https://svelte.dev/e/dynamic_void_element_content")}const Xm=[];function or(e,t=!1,n=!1){return ba(e,new Map,"",Xm,null,n)}function ba(e,t,n,r,s=null,a=!1){if(typeof e=="object"&&e!==null){var l=t.get(e);if(l!==void 0)return l;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(Jr(e)){var o=Array(e.length);t.set(e,o),s!==null&&t.set(s,o);for(var c=0;c<e.length;c+=1){var u=e[c];c in e&&(o[c]=ba(u,t,n,r,null,a))}return o}if(li(e)===nd){o={},t.set(e,o),s!==null&&t.set(s,o);for(var d of Object.keys(e))o[d]=ba(e[d],t,n,r,null,a);return o}if(e instanceof Date)return structuredClone(e);if(typeof e.toJSON=="function"&&!a)return ba(e.toJSON(),t,n,r,e)}if(e instanceof EventTarget)return e;try{return structuredClone(e)}catch{return e}}let br=null;function pd(e,t){const n=e.v;if(n===De)return;const r=Jm(e),s=_e,a=e.wv>s.wv||s.wv===0,l=a?"color: CornflowerBlue; font-weight: bold":"color: grey; font-weight: normal";if(console.groupCollapsed(e.label?`%c${r}%c ${e.label}`:`%c${r}%c`,l,a?"font-weight: normal":l,typeof n=="object"&&n!==null&&ot in n?or(n,!0):n),r==="$derived"){const c=new Set(e.deps);for(const u of c)pd(u)}if(e.created&&console.log(e.created),a&&e.updated)for(const c of e.updated.values())c.error&&console.log(c.error);if(t)for(var o of t.traces)console.log(o);console.groupEnd()}function Jm(e){return e.f&(et|Or)?"$derived":e.label?.startsWith("$")?"store":"$state"}function Zm(e,t){var n=br;try{br={entries:new Map,reaction:_e};var r=performance.now(),s=t(),a=(performance.now()-r).toFixed(2),l=we(e);if(!Js())console.log(`${l} %cran outside of an effect (${a}ms)`,"color: grey");else if(br.entries.size===0)console.log(`${l} %cno reactive dependencies (${a}ms)`,"color: grey");else{console.group(`${l} %c(${a}ms)`,"color: grey");var o=br.entries;we(()=>{for(const[c,u]of o)pd(c,u)}),br=null,console.groupEnd()}return s}finally{br=n}}function Qm(e,t){return e.label=t,md(e.v,t),e}function md(e,t){return e?.[dm]?.(t),e}function $m(e){const t=new Error,n=eb();return n.length===0?null:(n.unshift(`
3
+ `),rr(t,"stack",{value:n.join(`
4
+ `)}),rr(t,"name",{value:e}),t)}function eb(){const e=Error.stackTraceLimit;Error.stackTraceLimit=1/0;const t=new Error().stack;if(Error.stackTraceLimit=e,!t)return[];const n=t.split(`
5
+ `),r=[];for(let s=0;s<n.length;s++){const a=n[s],l=a.replaceAll("\\","/");if(a.trim()!=="Error"){if(a.includes("validate_each_keys"))return[];l.includes("svelte/src/internal")||l.includes("node_modules/.vite")||r.push(a)}}return r}let Ae=null;function Nr(e){Ae=e}let ga=null;function tb(e,t,n,r,s,a){const l=ga;ga={type:t,file:n[Ct],line:r,column:s,parent:l,...a};try{return e()}finally{ga=l}}let il=null;function Ac(e){il=e}function nb(){const e={};return[()=>(bd(e)||hm(),ol(e)),t=>ll(e,t)]}function ol(e){return ui().get(e)}function ll(e,t){return ui().set(e,t),t}function bd(e){return ui().has(e)}function rb(){return ui()}function se(e,t=!1,n){Ae={p:Ae,i:!1,c:null,e:null,s:e,x:null,r:pe,l:null}}function ae(e){var t=Ae,n=t.e;if(n!==null){t.e=null;for(var r of n)Kd(r)}return e!==void 0&&(t.x=e),t.i=!0,Ae=t.p,e??{}}function gd(){return!0}function ui(e){return Ae===null&&Zr(),Ae.c??=new Map(sb(Ae)||void 0)}function sb(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}let Gn=[];function yd(){var e=Gn;Gn=[],uo(e)}function ft(e){if(Gn.length===0&&!Rr){var t=Gn;queueMicrotask(()=>{t===Gn&&yd()})}Gn.push(e)}function ab(){for(;Gn.length>0;)yd()}function _d(e){var t=pe;if(t===null)return _e.f|=Nn,e;if(!(t.f&Ln)&&!(t.f&sr))throw e;bn(e,t)}function bn(e,t){for(;t!==null;){if(t.f&fo){if(!(t.f&Ln))throw e;try{t.b.error(e);return}catch(n){e=n}}t=t.parent}throw e}const ib=-7169;function Ne(e,t){e.f=e.f&ib|t}function cl(e){e.f&Ht||e.deps===null?Ne(e,Ye):Ne(e,ln)}function wd(e){if(e!==null)for(const t of e)!(t.f&et)||!(t.f&ar)||(t.f^=ar,wd(t.deps))}function kd(e,t,n){e.f&$e?t.add(e):e.f&ln&&n.add(e),wd(e.deps),Ne(e,Ye)}function xd(e,t,n){if(e==null)return t(void 0),Tt;const r=we(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}function ob(e){let t;return xd(e,n=>t=n)(),t}let po=!1,vs=!1,mo=Symbol();function lb(e,t,n){const r=n[t]??={store:null,source:vi(void 0),unsubscribe:Tt};if(r.store!==e&&!(mo in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=Tt;else{var s=!0;r.unsubscribe=xd(e,a=>{s?r.source.v=a:E(r.source,a)}),s=!1}return e&&mo in n?ob(e):i(r.source)}function cb(e,t,n){let r=n[t];return r&&r.store!==e&&(r.unsubscribe(),r.unsubscribe=Tt),e}function Sd(e,t){return di(e,t),t}function ub(e,t){var n=e[t];n.store!==null&&Sd(n.store,n.source.v)}function db(){const e={};function t(){jt(()=>{for(var n in e)e[n].unsubscribe();rr(e,mo,{enumerable:!1,value:!0})})}return[e,t]}function di(e,t){po=!0;try{e.set(t)}finally{po=!1}}function fb(e,t,n){return di(e,n),t}function vb(e,t,n=1){return di(e,t+n),t}function hb(e,t,n=1){const r=t+n;return di(e,r),r}function pb(){vs=!0}function Ed(e){var t=vs;try{return vs=!1,[e(),vs]}finally{vs=t}}const Sn=new Set;let be=null,ut=null,bo=null,Rr=!1,Hi=!1,Er=null,ya=null;var Cc=0;let mb=1;class Yt{id=mb++;current=new Map;previous=new Map;#e=new Set;#t=new Set;#n=new Set;#s=new Map;#r=new Map;#i=null;#a=[];#o=[];#l=new Set;#u=new Set;#c=new Map;#f=new Set;is_fork=!1;#h=!1;#v=new Set;#d(){return this.is_fork||this.#r.size>0}#g(){for(const r of this.#v)for(const s of r.#r.keys()){for(var t=!1,n=s;n.parent!==null;){if(this.#c.has(n)){t=!0;break}n=n.parent}if(!t)return!0}return!1}skip_effect(t){this.#c.has(t)||this.#c.set(t,{d:[],m:[]}),this.#f.delete(t)}unskip_effect(t,n=r=>this.schedule(r)){var r=this.#c.get(t);if(r){this.#c.delete(t);for(var s of r.d)Ne(s,$e),n(s);for(s of r.m)Ne(s,ln),n(s)}this.#f.add(t)}#p(){if(Cc++>1e3&&(Sn.delete(this),bb()),!this.#d()){for(const o of this.#l)this.#u.delete(o),Ne(o,$e),this.schedule(o);for(const o of this.#u)Ne(o,ln),this.schedule(o)}const t=this.#a;this.#a=[],this.apply();var n=Er=[],r=[],s=ya=[];for(const o of t)try{this.#b(o,n,r)}catch(c){throw Td(o),c}if(be=null,s.length>0){var a=Yt.ensure();for(const o of s)a.schedule(o)}if(Er=null,ya=null,this.#d()||this.#g()){this.#m(r),this.#m(n);for(const[o,c]of this.#c)Cd(o,c)}else{this.#s.size===0&&Sn.delete(this),this.#l.clear(),this.#u.clear();for(const o of this.#e)o(this);this.#e.clear(),Tc(r),Tc(n),this.#i?.resolve()}var l=be;if(this.#a.length>0){const o=l??=this;o.#a.push(...this.#a.filter(c=>!o.#a.includes(c)))}l!==null&&(Sn.add(l),l.#p())}#b(t,n,r){t.f^=Ye;for(var s=t.first;s!==null;){var a=s.f,l=(a&(on|Tn))!==0,o=l&&(a&Ye)!==0,c=o||(a&dt)!==0||this.#c.has(s);if(!c&&s.fn!==null){l?s.f^=Ye:a&sr?n.push(s):es(s)&&(a&sn&&this.#u.add(s),cr(s));var u=s.first;if(u!==null){s=u;continue}}for(;s!==null;){var d=s.next;if(d!==null){s=d;break}s=s.parent}}}#m(t){for(var n=0;n<t.length;n+=1)kd(t[n],this.#l,this.#u)}capture(t,n,r=!1){t.v!==De&&!this.previous.has(t)&&this.previous.set(t,t.v),t.f&Nn||(this.current.set(t,[n,r]),ut?.set(t,n)),this.is_fork||(t.v=n)}activate(){be=this}deactivate(){be=null,ut=null}flush(){try{Hi=!0,be=this,this.#p()}finally{Cc=0,bo=null,Er=null,ya=null,Hi=!1,be=null,ut=null,Qn.clear()}}discard(){for(const t of this.#t)t(this);this.#t.clear(),this.#n.clear(),Sn.delete(this)}register_created_effect(t){this.#o.push(t)}#y(){for(const d of Sn){var t=d.id<this.id,n=[];for(const[f,[h,b]]of this.current){if(d.current.has(f)){var r=d.current.get(f)[0];if(t&&h!==r)d.current.set(f,[h,b]);else continue}n.push(f)}var s=[...d.current.keys()].filter(f=>!this.current.has(f));if(s.length===0)t&&d.discard();else if(n.length>0){if(t)for(const f of this.#f)d.unskip_effect(f,h=>{h.f&(sn|Or)?d.schedule(h):d.#m([h])});d.activate();var a=new Set,l=new Map;for(var o of n)Id(o,s,a,l);l=new Map;var c=[...d.current.keys()].filter(f=>this.current.has(f)?this.current.get(f)[0]!==f:!0);for(const f of this.#o)!(f.f&(yt|dt|Es))&&ul(f,c,l)&&(f.f&(Or|sn)?(Ne(f,$e),d.schedule(f)):d.#l.add(f));if(d.#a.length>0){d.apply();for(var u of d.#a)d.#b(u,[],[]);d.#a=[]}d.deactivate()}}for(const d of Sn)d.#v.has(this)&&(d.#v.delete(this),d.#v.size===0&&!d.#d()&&(d.activate(),d.#p()))}increment(t,n){let r=this.#s.get(n)??0;if(this.#s.set(n,r+1),t){let s=this.#r.get(n)??0;this.#r.set(n,s+1)}}decrement(t,n,r){let s=this.#s.get(n)??0;if(s===1?this.#s.delete(n):this.#s.set(n,s-1),t){let a=this.#r.get(n)??0;a===1?this.#r.delete(n):this.#r.set(n,a-1)}this.#h||r||(this.#h=!0,ft(()=>{this.#h=!1,this.flush()}))}transfer_effects(t,n){for(const r of t)this.#l.add(r);for(const r of n)this.#u.add(r);t.clear(),n.clear()}oncommit(t){this.#e.add(t)}ondiscard(t){this.#t.add(t)}on_fork_commit(t){this.#n.add(t)}run_fork_commit_callbacks(){for(const t of this.#n)t(this);this.#n.clear()}settled(){return(this.#i??=rd()).promise}static ensure(){if(be===null){const t=be=new Yt;Hi||(Sn.add(be),Rr||ft(()=>{be===t&&t.flush()}))}return be}apply(){{ut=null;return}}schedule(t){if(bo=t,t.b?.is_pending&&t.f&(sr|Us|sl)&&!(t.f&Ln)){t.b.defer_effect(t);return}for(var n=t;n.parent!==null;){n=n.parent;var r=n.f;if(Er!==null&&n===pe&&(_e===null||!(_e.f&et))&&!po)return;if(r&(Tn|on)){if(!(r&Ye))return;n.f^=Ye}}this.#a.push(n)}}function qn(e){var t=Rr;Rr=!0;try{var n;for(e&&(be!==null&&!be.is_fork&&be.flush(),n=e());;){if(ab(),be===null)return n;be.flush()}}finally{Rr=t}}function bb(){try{Im()}catch(e){bn(e,bo)}}let En=null;function Tc(e){var t=e.length;if(t!==0){for(var n=0;n<t;){var r=e[n++];if(!(r.f&(yt|dt))&&es(r)&&(En=new Set,cr(r),r.deps===null&&r.first===null&&r.nodes===null&&r.teardown===null&&r.ac===null&&Zd(r),En?.size>0)){Qn.clear();for(const s of En){if(s.f&(yt|dt))continue;const a=[s];let l=s.parent;for(;l!==null;)En.has(l)&&(En.delete(l),a.push(l)),l=l.parent;for(let o=a.length-1;o>=0;o--){const c=a[o];c.f&(yt|dt)||cr(c)}}En.clear()}}En=null}}function Id(e,t,n,r){if(!n.has(e)&&(n.add(e),e.reactions!==null))for(const s of e.reactions){const a=s.f;a&et?Id(s,t,n,r):a&(Or|sn)&&!(a&$e)&&ul(s,t,r)&&(Ne(s,$e),dl(s))}}function Ad(e,t){if(e.reactions!==null)for(const n of e.reactions){const r=n.f;r&et?Ad(n,t):r&Es&&(Ne(n,$e),t.add(n))}}function ul(e,t,n){const r=n.get(e);if(r!==void 0)return r;if(e.deps!==null)for(const s of e.deps){if(Dr.call(t,s))return!0;if(s.f&et&&ul(s,t,n))return n.set(s,!0),!0}return n.set(e,!1),!1}function dl(e){be.schedule(e)}let La=[];function gb(){qn(()=>{const e=La;La=[];for(const t of e)qr(t)})}function yb(e){var t=kt(0),n=!0,r=void 0;return i(t),Yd(()=>{if(n){var s=ut;try{ut=null,r=e()}finally{ut=s}return}La.length===0&&ft(gb),La.push(t)}),n=!1,r}function Cd(e,t){if(!(e.f&on&&e.f&Ye)){e.f&$e?t.d.push(e):e.f&ln&&t.m.push(e),Ne(e,Ye);for(var n=e.first;n!==null;)Cd(n,t),n=n.next}}function Td(e){Ne(e,Ye);for(var t=e.first;t!==null;)Td(t),t=t.next}function _b(e){cd(),be!==null&&Cm();var t=Yt.ensure();t.is_fork=!0,ut=new Map;var n=!1,r=t.settled();return qn(e),{commit:async()=>{if(n){await r;return}Sn.has(t)||Am(),n=!0,t.is_fork=!1;for(var[s,[a]]of t.current)s.v=a,s.wv=za();t.activate(),t.run_fork_commit_callbacks(),t.deactivate(),qn(()=>{var l=new Set;for(var o of t.current.keys())Ad(o,l);Pb(l),Dd()}),t.flush(),await r},discard:()=>{for(var s of t.current.keys())s.wv=za();!n&&Sn.has(t)&&t.discard()}}}function wb(e){let t=0,n=kt(0),r;return()=>{Js()&&(i(n),Ue(()=>(t===0&&(r=we(()=>e(()=>hn(n)))),t+=1,()=>{ft(()=>{t-=1,t===0&&(r?.(),r=void 0,hn(n))})})))}}var kb=cn|Fn;function Rd(e,t,n,r){new xb(e,t,n,r)}class xb{parent;is_pending=!1;transform_error;#e;#t=oe?he:null;#n;#s;#r;#i=null;#a=null;#o=null;#l=null;#u=0;#c=0;#f=!1;#h=new Set;#v=new Set;#d=null;#g=wb(()=>(this.#d=kt(this.#u),()=>{this.#d=null}));constructor(t,n,r,s){this.#e=t,this.#n=n,this.#s=a=>{var l=pe;l.b=this,l.f|=fo,r(a)},this.parent=pe.b,this.transform_error=s??this.parent?.transform_error??(a=>a),this.#r=kn(()=>{if(oe){const a=this.#t;vt();const l=a.data===ai;if(a.data.startsWith(xc)){const c=JSON.parse(a.data.slice(xc.length));this.#b(c)}else l?this.#m():this.#p()}else this.#y()},kb),oe&&(this.#e=he)}#p(){try{this.#i=ct(()=>this.#s(this.#e))}catch(t){this.error(t)}}#b(t){const n=this.#n.failed;n&&(this.#o=ct(()=>{n(this.#e,()=>t,()=>()=>{})}))}#m(){const t=this.#n.pending;t&&(this.is_pending=!0,this.#a=ct(()=>t(this.#e)),ft(()=>{var n=this.#l=document.createDocumentFragment(),r=rt();n.append(r),this.#i=this.#w(()=>ct(()=>this.#s(r))),this.#c===0&&(this.#e.before(n),this.#l=null,$n(this.#a,()=>{this.#a=null}),this.#_(be))}))}#y(){try{if(this.is_pending=this.has_pending_snippet(),this.#c=0,this.#u=0,this.#i=ct(()=>{this.#s(this.#e)}),this.#c>0){var t=this.#l=document.createDocumentFragment();_l(this.#i,t);const n=this.#n.pending;this.#a=ct(()=>n(this.#e))}else this.#_(be)}catch(n){this.error(n)}}#_(t){this.is_pending=!1,t.transfer_effects(this.#h,this.#v)}defer_effect(t){kd(t,this.#h,this.#v)}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!this.#n.pending}#w(t){var n=pe,r=_e,s=Ae;lt(this.#r),xt(this.#r),Nr(this.#r.ctx);try{return Yt.ensure(),t()}catch(a){return _d(a),null}finally{lt(n),xt(r),Nr(s)}}#k(t,n){if(!this.has_pending_snippet()){this.parent&&this.parent.#k(t,n);return}this.#c+=t,this.#c===0&&(this.#_(n),this.#a&&$n(this.#a,()=>{this.#a=null}),this.#l&&(this.#e.before(this.#l),this.#l=null))}update_pending_count(t,n){this.#k(t,n),this.#u+=t,!(!this.#d||this.#f)&&(this.#f=!0,ft(()=>{this.#f=!1,this.#d&&yn(this.#d,this.#u)}))}get_effect_pending(){return this.#g(),i(this.#d)}error(t){if(!this.#n.onerror&&!this.#n.failed)throw t;be?.is_fork?(this.#i&&be.skip_effect(this.#i),this.#a&&be.skip_effect(this.#a),this.#o&&be.skip_effect(this.#o),be.on_fork_commit(()=>{this.#x(t)})):this.#x(t)}#x(t){this.#i&&(Je(this.#i),this.#i=null),this.#a&&(Je(this.#a),this.#a=null),this.#o&&(Je(this.#o),this.#o=null),oe&&(Ce(this.#t),Pt(),Ce(ir()));var n=this.#n.onerror;let r=this.#n.failed;var s=!1,a=!1;const l=()=>{if(s){Km();return}s=!0,a&&jm(),this.#o!==null&&$n(this.#o,()=>{this.#o=null}),this.#w(()=>{this.#y()})},o=c=>{try{a=!0,n?.(c,l),a=!1}catch(u){bn(u,this.#r&&this.#r.parent)}r&&(this.#o=this.#w(()=>{try{return ct(()=>{var u=pe;u.b=this,u.f|=fo,r(this.#e,()=>c,()=>l)})}catch(u){return bn(u,this.#r.parent),null}}))};ft(()=>{var c;try{c=this.transform_error(t)}catch(u){bn(u,this.#r&&this.#r.parent);return}c!==null&&typeof c=="object"&&typeof c.then=="function"?c.then(o,u=>bn(u,this.#r&&this.#r.parent)):o(c)})}}function Sb(){pe===null&&Em();var e=pe.b;return e===null?0:e.get_effect_pending()}function Ws(e,t,n,r){const s=Gs;var a=e.filter(h=>!h.settled);if(n.length===0&&a.length===0){r(t.map(s));return}var l=pe,o=fi(),c=a.length===1?a[0].promise:a.length>1?Promise.all(a.map(h=>h.promise)):null;function u(h){o();try{r(h)}catch(b){l.f&yt||bn(b,l)}lr()}if(n.length===0){c.then(()=>u(t.map(s)));return}var d=Ys();function f(){Promise.all(n.map(h=>Ld(h))).then(h=>u([...t.map(s),...h])).catch(h=>bn(h,l)).finally(()=>d())}c?c.then(()=>{o(),f(),lr()}):f()}function Pd(e,t){Ws(e,[],[],t)}function fi(){var e=pe,t=_e,n=Ae,r=be;return function(a=!0){lt(e),xt(t),Nr(n),a&&!(e.f&yt)&&(r?.activate(),r?.apply())}}async function Eb(e){var t=fi(),n=await e;return()=>(t(),n)}async function go(e){var t=ys;queueMicrotask(()=>{ys===t&&_a(null)});var n=await e;return()=>(_a(t),queueMicrotask(()=>{ys===t&&_a(null)}),n)}async function*Ib(e){const t=e[Symbol.asyncIterator]?.()??e[Symbol.iterator]?.();if(t===void 0)throw new TypeError("value is not async iterable");let n=!1;try{for(;;){const{done:s,value:a}=(await go(t.next()))();if(s){n=!0;break}var r=ys;yield a,_a(r)}}finally{if(!n&&t.return!==void 0)return(await go(t.return()))().value}}function lr(e=!0){lt(null),xt(null),Nr(null),e&&be?.deactivate()}function Ab(e){const t=fi(),n=Ys();var r=pe,s=null;const a=u=>{s={error:u},wo(r)||bn(u,r)};var l=Promise.resolve(e[0]()).catch(a),o={promise:l,settled:!1},c=[o];l.finally(()=>{o.settled=!0,lr()});for(const u of e.slice(1)){l=l.then(()=>{if(t(),s)throw s.error;if(wo(r))throw vn;return u()}).catch(a);const d={promise:l,settled:!1};c.push(d),l.finally(()=>{d.settled=!0,lr()})}return l.then(()=>Promise.resolve()).finally(()=>n()),c}function Cb(e){return Promise.all(e.map(t=>t.promise))}function Ys(){var e=pe,t=e.b,n=be,r=t.is_rendered();return t.update_pending_count(1,n),n.increment(r,e),(s=!1)=>{t.update_pending_count(-1,n),n.decrement(r,e,s)}}let ys=null;function _a(e){ys=e}function Gs(e){var t=et|$e;return pe!==null&&(pe.f|=Fn),{ctx:Ae,deps:null,effects:null,equals:fd,f:t,fn:e,reactions:null,rv:0,v:De,wv:0,parent:pe,ac:null}}function Ld(e,t,n){let r=pe;r===null&&gm();var s=void 0,a=kt(De),l=!_e,o=new Map;return Fb(()=>{var c=pe,u=rd();s=u.promise;try{Promise.resolve(e()).then(u.resolve,u.reject).finally(lr)}catch(b){u.reject(b),lr()}var d=be;if(l){if(c.f&Ln)var f=Ys();if(r.b.is_rendered())o.get(d)?.reject(vn),o.delete(d);else{for(const b of o.values())b.reject(vn);o.clear()}o.set(d,u)}const h=(b,x=void 0)=>{if(f){var y=x===vn;f(y)}if(!(x===vn||c.f&yt)){if(d.activate(),x)a.f|=Nn,yn(a,x);else{a.f&Nn&&(a.f^=Nn),yn(a,b);for(const[g,S]of o){if(o.delete(g),g===d)break;S.reject(vn)}}d.deactivate()}};u.promise.then(h,b=>h(null,b||"unknown"))}),jt(()=>{for(const c of o.values())c.reject(vn)}),new Promise(c=>{function u(d){function f(){d===s?c(a):u(s)}d.then(f,f)}u(s)})}function U(e){const t=Gs(e);return ef(t),t}function fl(e){const t=Gs(e);return t.equals=hd,t}function Tb(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;n<t.length;n+=1)Je(t[n])}}function vl(e){var t,n=pe,r=e.parent;if(!Rn&&r!==null&&r.f&(yt|dt))return qm(),e.v;lt(r);try{e.f&=~ar,Tb(e),t=rf(e)}finally{lt(n)}return t}function Md(e){var t=vl(e);if(!e.equals(t)&&(e.wv=za(),(!be?.is_fork||e.deps===null)&&(be!==null?be.capture(e,t,!0):e.v=t,e.deps===null))){Ne(e,Ye);return}Rn||(ut!==null?(Js()||be?.is_fork)&&ut.set(e,t):cl(e))}function Rb(e){if(e.effects!==null)for(const t of e.effects)(t.teardown||t.ac)&&(t.teardown?.(),t.ac?.abort(vn),t.teardown=Tt,t.ac=null,Is(t,0),gl(t))}function zd(e){if(e.effects!==null)for(const t of e.effects)t.teardown&&cr(t)}let Ma=new Set;const Qn=new Map;function Pb(e){Ma=e}let jd=!1;function kt(e,t){var n={f:0,v:e,reactions:null,equals:fd,rv:0,wv:0};return n}function H(e,t){const n=kt(e);return ef(n),n}function vi(e,t=!1,n=!0){const r=kt(e);return t||(r.equals=hd),r}function Lb(e,t){return E(e,we(()=>i(e))),t}function E(e,t,n=!1){_e!==null&&(!nn||_e.f&Es)&&gd()&&_e.f&(et|sn|Or|Es)&&(Kt===null||!Dr.call(Kt,e))&&zm();let r=n?le(t):t;return yn(e,r,ya)}function yn(e,t,n=null){if(!e.equals(t)){Qn.set(e,Rn?t:e.v);var r=Yt.ensure();if(r.capture(e,t),e.f&et){const s=e;e.f&$e&&vl(s),ut===null&&cl(s)}e.wv=za(),Od(e,$e,n),pe!==null&&pe.f&Ye&&!(pe.f&(on|Tn))&&(Vt===null?Yb([e]):Vt.push(e)),!r.is_fork&&Ma.size>0&&!jd&&Dd()}return t}function Dd(){jd=!1;for(const e of Ma)e.f&Ye&&Ne(e,ln),es(e)&&cr(e);Ma.clear()}function qr(e,t=1){var n=i(e),r=t===1?n++:n--;return E(e,n),r}function Mb(e,t=1){var n=i(e);return E(e,t===1?++n:--n)}function hn(e){E(e,e.v+1)}function Od(e,t,n){var r=e.reactions;if(r!==null)for(var s=r.length,a=0;a<s;a++){var l=r[a],o=l.f,c=(o&$e)===0;if(c&&Ne(l,t),o&et){var u=l;ut?.delete(u),o&ar||(o&Ht&&(l.f|=ar),Od(u,ln,n))}else if(c){var d=l;o&sn&&En!==null&&En.add(d),n!==null?n.push(d):dl(d)}}}function le(e){if(typeof e!="object"||e===null||ot in e)return e;const t=li(e);if(t!==nd&&t!==am)return e;var n=new Map,r=Jr(e),s=H(0),a=In,l=o=>{if(In===a)return o();var c=_e,u=In;xt(null),Lc(a);var d=o();return xt(c),Lc(u),d};return r&&n.set("length",H(e.length)),new Proxy(e,{defineProperty(o,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Lm();var d=n.get(c);return d===void 0?l(()=>{var f=H(u.value);return n.set(c,f),f}):E(d,u.value,!0),!0},deleteProperty(o,c){var u=n.get(c);if(u===void 0){if(c in o){const d=l(()=>H(De));n.set(c,d),hn(s)}}else E(u,De),hn(s);return!0},get(o,c,u){if(c===ot)return e;var d=n.get(c),f=c in o;if(d===void 0&&(!f||rn(o,c)?.writable)&&(d=l(()=>{var b=le(f?o[c]:De),x=H(b);return x}),n.set(c,d)),d!==void 0){var h=i(d);return h===De?void 0:h}return Reflect.get(o,c,u)},getOwnPropertyDescriptor(o,c){var u=Reflect.getOwnPropertyDescriptor(o,c);if(u&&"value"in u){var d=n.get(c);d&&(u.value=i(d))}else if(u===void 0){var f=n.get(c),h=f?.v;if(f!==void 0&&h!==De)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return u},has(o,c){if(c===ot)return!0;var u=n.get(c),d=u!==void 0&&u.v!==De||Reflect.has(o,c);if(u!==void 0||pe!==null&&(!d||rn(o,c)?.writable)){u===void 0&&(u=l(()=>{var h=d?le(o[c]):De,b=H(h);return b}),n.set(c,u));var f=i(u);if(f===De)return!1}return d},set(o,c,u,d){var f=n.get(c),h=c in o;if(r&&c==="length")for(var b=u;b<f.v;b+=1){var x=n.get(b+"");x!==void 0?E(x,De):b in o&&(x=l(()=>H(De)),n.set(b+"",x))}if(f===void 0)(!h||rn(o,c)?.writable)&&(f=l(()=>H(void 0)),E(f,le(u)),n.set(c,f));else{h=f.v!==De;var y=l(()=>le(u));E(f,y)}var g=Reflect.getOwnPropertyDescriptor(o,c);if(g?.set&&g.set.call(d,u),!h){if(r&&typeof c=="string"){var S=n.get("length"),_=Number(c);Number.isInteger(_)&&_>=S.v&&E(S,_+1)}hn(s)}return!0},ownKeys(o){i(s);var c=Reflect.ownKeys(o).filter(f=>{var h=n.get(f);return h===void 0||h.v!==De});for(var[u,d]of n)d.v!==De&&!(u in o)&&c.push(u);return c},setPrototypeOf(){Mm()}})}function Br(e){try{if(e!==null&&typeof e=="object"&&ot in e)return e[ot]}catch{}return e}function Nd(e,t){return Object.is(Br(e),Br(t))}function zb(e,t,n=!0){try{e===t!=(Br(e)===Br(t))&&dd(n?"===":"!==")}catch{}return e===t===n}function jb(e,t,n=!0){return e==t!=(Br(e)==Br(t))&&dd(),e==t===n}var yo,qd,hl,Bd,Vd;function _o(){if(yo===void 0){yo=window,qd=document,hl=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Bd=rn(t,"firstChild").get,Vd=rn(t,"nextSibling").get,Sc(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Sc(n)&&(n.__t=void 0)}}function rt(e=""){return document.createTextNode(e)}function Oe(e){return Bd.call(e)}function Mt(e){return Vd.call(e)}function p(e,t){if(!oe)return Oe(e);var n=Oe(he);if(n===null)n=he.appendChild(rt());else if(t&&n.nodeType!==Hs){var r=rt();return n?.before(r),Ce(r),r}return t&&hi(n),Ce(n),n}function ue(e,t=!1){if(!oe){var n=Oe(e);return n instanceof Comment&&n.data===""?Mt(n):n}if(t){if(he?.nodeType!==Hs){var r=rt();return he?.before(r),Ce(r),r}hi(he)}return he}function w(e,t=1,n=!1){let r=oe?he:e;for(var s;t--;)s=r,r=Mt(r);if(!oe)return r;if(n){if(r?.nodeType!==Hs){var a=rt();return r===null?s?.after(a):r.before(a),Ce(a),a}hi(r)}return Ce(r),r}function pl(e){e.textContent=""}function Fd(){return!1}function Un(e,t,n){let r=n?{is:n}:void 0;return document.createElementNS(t??Qu,e,r)}function Db(){return document.createDocumentFragment()}function Ud(e=""){return document.createComment(e)}function Ob(e,t,n=""){if(t.startsWith("xlink:")){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n);return}return e.setAttribute(t,n)}function hi(e){if(e.nodeValue.length<65536)return;let t=e.nextSibling;for(;t!==null&&t.nodeType===Hs;)t.remove(),e.nodeValue+=t.nodeValue,t=e.nextSibling}function Qr(e,t){if(t){const n=document.body;e.autofocus=!0,ft(()=>{document.activeElement===n&&e.focus()})}}function ml(e){oe&&Oe(e)!==null&&pl(e)}let Rc=!1;function Hd(){Rc||(Rc=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function Et(e,t,n,r=!0){r&&n();for(var s of t)e.addEventListener(s,n);jt(()=>{for(var a of t)e.removeEventListener(a,n)})}function Hn(e){var t=_e,n=pe;xt(null),lt(null);try{return e()}finally{xt(t),lt(n)}}function Xs(e,t,n,r=n){e.addEventListener(t,()=>Hn(n));const s=e.__on_r;s?e.__on_r=()=>{s(),r(!0)}:e.__on_r=()=>r(!0),Hd()}function bl(e){pe===null&&(_e===null&&Sm(),xm()),Rn&&km()}function Nb(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function It(e,t){var n=pe;n!==null&&n.f&dt&&(e|=dt);var r={ctx:Ae,deps:null,nodes:null,f:e|$e|Ht,first:null,fn:t,last:null,next:null,parent:n,b:n&&n.b,prev:null,teardown:null,wv:0,ac:null};be?.register_created_effect(r);var s=r;if(e&sr)Er!==null?Er.push(r):Yt.ensure().schedule(r);else if(t!==null){try{cr(r)}catch(l){throw Je(r),l}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&Fn)&&(s=s.first,e&sn&&e&cn&&s!==null&&(s.f|=cn))}if(s!==null&&(s.parent=n,n!==null&&Nb(s,n),_e!==null&&_e.f&et&&!(e&Tn))){var a=_e;(a.effects??=[]).push(s)}return r}function Js(){return _e!==null&&!nn}function jt(e){const t=It(Us,null);return Ne(t,Ye),t.teardown=e,t}function xe(e){bl();var t=pe.f,n=!_e&&(t&on)!==0&&(t&Ln)===0;if(n){var r=Ae;(r.e??=[]).push(e)}else return Kd(e)}function Kd(e){return It(sr|id,e)}function Wd(e){return bl(),It(Us|id,e)}function Yd(e){return It(Es,e)}function $r(e){Yt.ensure();const t=It(Tn|Fn,e);return()=>{Je(t)}}function qb(e){Yt.ensure();const t=It(Tn|Fn,e);return(n={})=>new Promise(r=>{n.outro?$n(t,()=>{Je(t),r(void 0)}):(Je(t),r(void 0))})}function zt(e){return It(sr,e)}function Bb(e,t){var n=Ae,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=Ue(()=>{if(e(),!r.ran){r.ran=!0;var s=pe;try{lt(s.parent),we(t)}finally{lt(s)}}})}function Vb(){var e=Ae;Ue(()=>{for(var t of e.l.$){t.deps();var n=t.effect;n.f&Ye&&n.deps!==null&&Ne(n,ln),es(n)&&cr(n),t.ran=!1}})}function Fb(e){return It(Or|Fn,e)}function Ue(e,t=0){return It(Us|t,e)}function N(e,t=[],n=[],r=[]){Ws(r,t,n,s=>{It(Us,()=>e(...s.map(i)))})}function Ub(e,t=[],n=[],r=[]){if(n.length>0||r.length>0)var s=Ys();Ws(r,t,n,a=>{It(sr,()=>e(...a.map(i))),s&&s()})}function kn(e,t=0){var n=It(sn|t,e);return n}function Gd(e,t=0){var n=It(sl|t,e);return n}function ct(e){return It(on|Fn,e)}function Xd(e){var t=e.teardown;if(t!==null){const n=Rn,r=_e;Pc(!0),xt(null);try{t.call(null)}finally{Pc(n),xt(r)}}}function gl(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const s=n.ac;s!==null&&Hn(()=>{s.abort(vn)});var r=n.next;n.f&Tn?n.parent=null:Je(n,t),n=r}}function Hb(e){for(var t=e.first;t!==null;){var n=t.next;t.f&on||Je(t),t=n}}function Je(e,t=!0){var n=!1;(t||e.f&ad)&&e.nodes!==null&&e.nodes.end!==null&&(Jd(e.nodes.start,e.nodes.end),n=!0),Ne(e,vo),gl(e,t&&!n),Is(e,0);var r=e.nodes&&e.nodes.t;if(r!==null)for(const a of r)a.stop();Xd(e),e.f^=vo,e.f|=yt;var s=e.parent;s!==null&&s.first!==null&&Zd(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=e.b=null}function Jd(e,t){for(;e!==null;){var n=e===t?null:Mt(e);e.remove(),e=n}}function Zd(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function $n(e,t,n=!0){var r=[];Qd(e,r,!0);var s=()=>{n&&Je(e),t&&t()},a=r.length;if(a>0){var l=()=>--a||s();for(var o of r)o.out(l)}else s()}function Qd(e,t,n){if(!(e.f&dt)){e.f^=dt;var r=e.nodes&&e.nodes.t;if(r!==null)for(const o of r)(o.is_global||n)&&t.push(o);for(var s=e.first;s!==null;){var a=s.next;if(!(s.f&Tn)){var l=(s.f&cn)!==0||(s.f&on)!==0&&(e.f&sn)!==0;Qd(s,t,l?n:!1)}s=a}}}function yl(e){$d(e,!0)}function $d(e,t){if(e.f&dt){e.f^=dt,e.f&Ye||(Ne(e,$e),Yt.ensure().schedule(e));for(var n=e.first;n!==null;){var r=n.next,s=(n.f&cn)!==0||(n.f&on)!==0;$d(n,s?t:!1),n=r}var a=e.nodes&&e.nodes.t;if(a!==null)for(const l of a)(l.is_global||t)&&l.in()}}function wo(e=pe){return(e.f&yt)!==0}function _l(e,t){if(e.nodes)for(var n=e.nodes.start,r=e.nodes.end;n!==null;){var s=n===r?null:Mt(n);t.append(n),n=s}}let kr=null;function Kb(e){var t=kr;try{if(kr=new Set,we(e),t!==null)for(var n of kr)t.add(n);return kr}finally{kr=t}}function Wb(e){for(var t of Kb(e))yn(t,t.v)}let wa=!1,Rn=!1;function Pc(e){Rn=e}let _e=null,nn=!1;function xt(e){_e=e}let pe=null;function lt(e){pe=e}let Kt=null;function ef(e){_e!==null&&(Kt===null?Kt=[e]:Kt.push(e))}let mt=null,At=0,Vt=null;function Yb(e){Vt=e}let tf=1,Xn=0,In=Xn;function Lc(e){In=e}function za(){return++tf}function es(e){var t=e.f;if(t&$e)return!0;if(t&et&&(e.f&=~ar),t&ln){for(var n=e.deps,r=n.length,s=0;s<r;s++){var a=n[s];if(es(a)&&Md(a),a.wv>e.wv)return!0}t&Ht&&ut===null&&Ne(e,Ye)}return!1}function nf(e,t,n=!0){var r=e.reactions;if(r!==null&&!(Kt!==null&&Dr.call(Kt,e)))for(var s=0;s<r.length;s++){var a=r[s];a.f&et?nf(a,t,!1):t===a&&(n?Ne(a,$e):a.f&Ye&&Ne(a,ln),dl(a))}}function rf(e){var t=mt,n=At,r=Vt,s=_e,a=Kt,l=Ae,o=nn,c=In,u=e.f;mt=null,At=0,Vt=null,_e=u&(on|Tn)?null:e,Kt=null,Nr(e.ctx),nn=!1,In=++Xn,e.ac!==null&&(Hn(()=>{e.ac.abort(vn)}),e.ac=null);try{e.f|=ho;var d=e.fn,f=d();e.f|=Ln;var h=e.deps,b=be?.is_fork;if(mt!==null){var x;if(b||Is(e,At),h!==null&&At>0)for(h.length=At+mt.length,x=0;x<mt.length;x++)h[At+x]=mt[x];else e.deps=h=mt;if(Js()&&e.f&Ht)for(x=At;x<h.length;x++)(h[x].reactions??=[]).push(e)}else!b&&h!==null&&At<h.length&&(Is(e,At),h.length=At);if(gd()&&Vt!==null&&!nn&&h!==null&&!(e.f&(et|ln|$e)))for(x=0;x<Vt.length;x++)nf(Vt[x],e);if(s!==null&&s!==e){if(Xn++,s.deps!==null)for(let y=0;y<n;y+=1)s.deps[y].rv=Xn;if(t!==null)for(const y of t)y.rv=Xn;Vt!==null&&(r===null?r=Vt:r.push(...Vt))}return e.f&Nn&&(e.f^=Nn),f}catch(y){return _d(y)}finally{e.f^=ho,mt=t,At=n,Vt=r,_e=s,Kt=a,Nr(l),nn=o,In=c}}function Gb(e,t){let n=t.reactions;if(n!==null){var r=sm.call(n,e);if(r!==-1){var s=n.length-1;s===0?n=t.reactions=null:(n[r]=n[s],n.pop())}}if(n===null&&t.f&et&&(mt===null||!Dr.call(mt,t))){var a=t;a.f&Ht&&(a.f^=Ht,a.f&=~ar),a.v!==De&&cl(a),Rb(a),Is(a,0)}}function Is(e,t){var n=e.deps;if(n!==null)for(var r=t;r<n.length;r++)Gb(e,n[r])}function cr(e){var t=e.f;if(!(t&yt)){Ne(e,Ye);var n=pe,r=wa;pe=e,wa=!0;try{t&(sn|sl)?Hb(e):gl(e),Xd(e);var s=rf(e);e.teardown=typeof s=="function"?s:null,e.wv=tf;var a;ed&&Ym&&e.f&$e&&e.deps}finally{wa=r,pe=n}}}async function Zs(){await Promise.resolve(),qn()}function Xb(){return Yt.ensure().settled()}function i(e){var t=e.f,n=(t&et)!==0;if(kr?.add(e),_e!==null&&!nn){var r=pe!==null&&(pe.f&yt)!==0;if(!r&&(Kt===null||!Dr.call(Kt,e))){var s=_e.deps;if(_e.f&ho)e.rv<Xn&&(e.rv=Xn,mt===null&&s!==null&&s[At]===e?At++:mt===null?mt=[e]:mt.push(e));else{(_e.deps??=[]).push(e);var a=e.reactions;a===null?e.reactions=[_e]:Dr.call(a,_e)||a.push(_e)}}}if(Rn&&Qn.has(e))return Qn.get(e);if(n){var l=e;if(Rn){var o=l.v;return(!(l.f&Ye)&&l.reactions!==null||af(l))&&(o=vl(l)),Qn.set(l,o),o}var c=(l.f&Ht)===0&&!nn&&_e!==null&&(wa||(_e.f&Ht)!==0),u=(l.f&Ln)===0;es(l)&&(c&&(l.f|=Ht),Md(l)),c&&!u&&(zd(l),sf(l))}if(ut?.has(e))return ut.get(e);if(e.f&Nn)throw e.v;return e.v}function sf(e){if(e.f|=Ht,e.deps!==null)for(const t of e.deps)(t.reactions??=[]).push(e),t.f&et&&!(t.f&Ht)&&(zd(t),sf(t))}function af(e){if(e.v===De)return!0;if(e.deps===null)return!1;for(const t of e.deps)if(Qn.has(t)||t.f&et&&af(t))return!0;return!1}function Jb(e){return e&&i(e)}function we(e){var t=nn;try{return nn=!0,e()}finally{nn=t}}function wl(e){if(!(typeof e!="object"||!e||e instanceof EventTarget)){if(ot in e)ja(e);else if(!Array.isArray(e))for(let t in e){const n=e[t];typeof n=="object"&&n&&ot in n&&ja(n)}}}function ja(e,t=new Set){if(typeof e=="object"&&e!==null&&!(e instanceof EventTarget)&&!t.has(e)){t.add(e),e instanceof Date&&e.getTime();for(let r in e)try{ja(e[r],t)}catch{}const n=li(e);if(n!==Object.prototype&&n!==Array.prototype&&n!==Map.prototype&&n!==Set.prototype&&n!==Date.prototype){const r=td(n);for(let s in r){const a=r[s].get;if(a)try{a.call(e)}catch{}}}}}function Zb(e,t){if(cd(),oe){const n=window.__svelte?.h;if(n?.has(e))return n.get(e);Vm()}return t()}const hs=Symbol("events"),of=new Set,ko=new Set;function Qb(e){if(!oe)return;e.removeAttribute("onload"),e.removeAttribute("onerror");const t=e.__e;t!==void 0&&(e.__e=void 0,queueMicrotask(()=>{e.isConnected&&e.dispatchEvent(t)}))}function lf(e,t,n,r={}){function s(a){if(r.capture||xo.call(t,a),!a.cancelBubble)return Hn(()=>n?.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?ft(()=>{t.addEventListener(e,s,r)}):t.addEventListener(e,s,r),s}function ze(e,t,n,r,s){var a={capture:r,passive:s},l=lf(e,t,n,a);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&jt(()=>{t.removeEventListener(e,l,a)})}function F(e,t,n){(t[hs]??={})[e]=n}function ce(e){for(var t=0;t<e.length;t++)of.add(e[t]);for(var n of ko)n(e)}let Mc=null;function xo(e){var t=this,n=t.ownerDocument,r=e.type,s=e.composedPath?.()||[],a=s[0]||e.target;Mc=e;var l=0,o=Mc===e&&e[hs];if(o){var c=s.indexOf(o);if(c!==-1&&(t===document||t===window)){e[hs]=t;return}var u=s.indexOf(t);if(u===-1)return;c<=u&&(l=c)}if(a=s[l]||e.target,a!==t){rr(e,"currentTarget",{configurable:!0,get(){return a||n}});var d=_e,f=pe;xt(null),lt(null);try{for(var h,b=[];a!==null;){var x=a.assignedSlot||a.parentNode||a.host||null;try{var y=a[hs]?.[r];y!=null&&(!a.disabled||e.target===a)&&y.call(a,e)}catch(g){h?b.push(g):h=g}if(e.cancelBubble||x===t||x===null)break;a=x}if(h){for(let g of b)queueMicrotask(()=>{throw g});throw h}}finally{e[hs]=t,delete e.currentTarget,xt(d),lt(f)}}}function $b(e,t,n,r,s,a=!1,l=!1){let o,c;try{o=e()}catch(u){c=u}if(typeof o!="function"&&(a||o!=null||c)){const u=r?.[Ct];s?`${u}${s[0]}${s[1]}`:`${u}`;const d=n[0]?.eventPhase<Event.BUBBLING_PHASE?"capture":"";if(n[0]?.type+d,Bm(),c)throw c}o?.apply(t,n)}const eg=globalThis?.window?.trustedTypes&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:e=>e});function cf(e){return eg?.createHTML(e)??e}function kl(e){var t=Un("template");return t.innerHTML=cf(e.replaceAll("<!>","<!---->")),t.content}const tg=hr?"template":"TEMPLATE",ng=hr?"script":"SCRIPT";function Ze(e,t){var n=pe;n.nodes===null&&(n.nodes={start:e,end:t,a:null,t:null})}function A(e,t){var n=(t&nl)!==0,r=(t&Zu)!==0,s,a=!e.startsWith("<!>");return()=>{if(oe)return Ze(he,null),he;s===void 0&&(s=kl(a?e:"<!>"+e),n||(s=Oe(s)));var l=r||hl?document.importNode(s,!0):s.cloneNode(!0);if(n){var o=Oe(l),c=l.lastChild;Ze(o,c)}else Ze(l,l);return l}}function uf(e,t,n="svg"){var r=!e.startsWith("<!>"),s=(t&nl)!==0,a=`<${n}>${r?e:"<!>"+e}</${n}>`,l;return()=>{if(oe)return Ze(he,null),he;if(!l){var o=kl(a),c=Oe(o);if(s)for(l=document.createDocumentFragment();Oe(c);)l.appendChild(Oe(c));else l=Oe(c)}var u=l.cloneNode(!0);if(s){var d=Oe(u),f=u.lastChild;Ze(d,f)}else Ze(u,u);return u}}function xl(e,t){return uf(e,t,"svg")}function rg(e,t){return uf(e,t,"math")}function df(e,t){var n=Db();for(var r of e){if(typeof r=="string"){n.append(rt(r));continue}if(r===void 0||r[0][0]==="/"){n.append(Ud(r?r[0].slice(3):""));continue}const[o,c,...u]=r,d=o==="svg"?Fs:o==="math"?rl:t;var s=Un(o,d,c?.is);for(var a in c)Ob(s,a,c[a]);if(u.length>0){var l=s.nodeName===tg?s.content:s;l.append(df(u,s.nodeName==="foreignObject"?void 0:d))}n.append(s)}return n}function sg(e,t){var n=(t&nl)!==0,r=(t&Zu)!==0,s;return()=>{if(oe)return Ze(he,null),he;if(s===void 0){const c=t&nm?Fs:t&rm?rl:void 0;s=df(e,c),n||(s=Oe(s))}var a=r||hl?document.importNode(s,!0):s.cloneNode(!0);if(n){var l=Oe(a),o=a.lastChild;Ze(l,o)}else Ze(a,a);return a}}function ag(e){return()=>ig(e())}function ig(e){if(oe)return e;const t=e.nodeType===ld,n=e.nodeName===ng?[e]:e.querySelectorAll("script"),r=pe;for(const a of n){const l=Un("script");for(var s of a.attributes)l.setAttribute(s.name,s.value);l.textContent=a.textContent,(t?e.firstChild===a:e===a)&&(r.nodes.start=l),(t?e.lastChild===a:e===a)&&(r.nodes.end=l),a.replaceWith(l)}return e}function an(e=""){if(!oe){var t=rt(e+"");return Ze(t,t),t}var n=he;return n.nodeType!==Hs?(n.before(n=rt()),Ce(n)):hi(n),Ze(n,n),n}function Me(){if(oe)return Ze(he,null),he;var e=document.createDocumentFragment(),t=document.createComment(""),n=rt();return e.append(t,n),Ze(t,n),e}function k(e,t){if(oe){var n=pe;(!(n.f&Ln)||n.nodes.end===null)&&(n.nodes.end=he),vt();return}e!==null&&e.before(t)}function og(){if(oe&&he&&he.nodeType===Mn&&he.textContent?.startsWith("$")){const e=he.textContent.substring(1);return vt(),e}return(window.__svelte??={}).uid??=1,`c${window.__svelte.uid++}`}const lg=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"];function cg(e){return lg.includes(e)||e.toLowerCase()==="!doctype"}function ug(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const dg=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function fg(e){return dg.includes(e)}const vg={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject",novalidate:"noValidate",allowfullscreen:"allowFullscreen",disablepictureinpicture:"disablePictureInPicture",disableremoteplayback:"disableRemotePlayback"};function hg(e){return e=e.toLowerCase(),vg[e]??e}const pg=["touchstart","touchmove"];function mg(e){return pg.includes(e)}const bg=["textarea","script","style","title"];function gg(e){return bg.includes(e)}function ff(e){return e?.replace(/\//g,"/​")}let Da=!0;function Ir(e){Da=e}function j(e,t){var n=t==null?"":typeof t=="object"?`${t}`:t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=`${n}`)}function Fe(e,t){return hf(e,t)}function vf(e,t){_o(),t.intro=t.intro??!1;const n=t.target,r=oe,s=he;try{for(var a=Oe(n);a&&(a.nodeType!==Mn||a.data!==si);)a=Mt(a);if(!a)throw nr;Pe(!0),Ce(a);const l=hf(e,{...t,anchor:a});return Pe(!1),l}catch(l){if(l instanceof Error&&l.message.split(`
6
+ `).some(o=>o.startsWith("https://svelte.dev/e/")))throw l;return l!==nr&&console.warn("Failed to hydrate: ",l),t.recover===!1&&Rm(),_o(),pl(n),Pe(!1),Fe(e,t)}finally{Pe(r),Ce(s)}}const da=new Map;function hf(e,{target:t,anchor:n,props:r={},events:s,context:a,intro:l=!0,transformError:o}){_o();var c=void 0,u=qb(()=>{var d=n??t.appendChild(rt());Rd(d,{pending:()=>{}},b=>{se({});var x=Ae;if(a&&(x.c=a),s&&(r.$$events=s),oe&&Ze(b,null),Da=l,c=e(b,r)||{},Da=!0,oe&&(pe.nodes.end=he,he===null||he.nodeType!==Mn||he.data!==ii))throw Ks(),nr;ae()},o);var f=new Set,h=b=>{for(var x=0;x<b.length;x++){var y=b[x];if(!f.has(y)){f.add(y);var g=mg(y);for(const m of[t,document]){var S=da.get(m);S===void 0&&(S=new Map,da.set(m,S));var _=S.get(y);_===void 0?(m.addEventListener(y,xo,{passive:g}),S.set(y,1)):S.set(y,_+1)}}}};return h(oi(of)),ko.add(h),()=>{for(var b of f)for(const g of[t,document]){var x=da.get(g),y=x.get(b);--y==0?(g.removeEventListener(b,xo),x.delete(b),x.size===0&&da.delete(g)):x.set(b,y)}ko.delete(h),d!==n&&d.parentNode?.removeChild(d)}});return So.set(c,u),c}let So=new WeakMap;function Qe(e,t){const n=So.get(e);return n?(So.delete(e),n(t)):Promise.resolve()}function yg(e){const t=e();t&&cg(t)&&Gm()}function _g(e){const t=e();t&&!(typeof t=="string")&&bm()}function wg(e,t){e!=null&&typeof e.subscribe!="function"&&mm()}function pf(e){return e.toString=()=>(pm(),""),e}class ts{anchor;#e=new Map;#t=new Map;#n=new Map;#s=new Set;#r=!0;constructor(t,n=!0){this.anchor=t,this.#r=n}#i=t=>{if(this.#e.has(t)){var n=this.#e.get(t),r=this.#t.get(n);if(r)yl(r),this.#s.delete(n);else{var s=this.#n.get(n);s&&(this.#t.set(n,s.effect),this.#n.delete(n),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),r=s.effect)}for(const[a,l]of this.#e){if(this.#e.delete(a),a===t)break;const o=this.#n.get(l);o&&(Je(o.effect),this.#n.delete(l))}for(const[a,l]of this.#t){if(a===n||this.#s.has(a))continue;const o=()=>{if(Array.from(this.#e.values()).includes(a)){var u=document.createDocumentFragment();_l(l,u),u.append(rt()),this.#n.set(a,{effect:l,fragment:u})}else Je(l);this.#s.delete(a),this.#t.delete(a)};this.#r||!r?(this.#s.add(a),$n(l,o,!1)):o()}}};#a=t=>{this.#e.delete(t);const n=Array.from(this.#e.values());for(const[r,s]of this.#n)n.includes(r)||(Je(s.effect),this.#n.delete(r))};ensure(t,n){var r=be,s=Fd();if(n&&!this.#t.has(t)&&!this.#n.has(t))if(s){var a=document.createDocumentFragment(),l=rt();a.append(l),this.#n.set(t,{effect:ct(()=>n(l)),fragment:a})}else this.#t.set(t,ct(()=>n(this.anchor)));if(this.#e.set(r,t),s){for(const[o,c]of this.#t)o===t?r.unskip_effect(c):r.skip_effect(c);for(const[o,c]of this.#n)o===t?r.unskip_effect(c.effect):r.skip_effect(c.effect);r.oncommit(this.#i),r.ondiscard(this.#a)}else oe&&(this.anchor=he),this.#i(r)}}function Gt(e,t,...n){var r=new ts(e);kn(()=>{const s=t()??null;r.ensure(s,s&&(a=>s(a,...n)))},cn)}function kg(e,t){const n=(r,...s)=>{var a=il;Ac(e);try{return t(r,...s)}finally{Ac(a)}};return pf(n),n}function xg(e){return(t,...n)=>{var r=e(...n),s;if(oe)s=he,vt();else{var a=r.render().trim(),l=kl(a);s=Oe(l),t.before(s)}const o=r.setup?.(s);Ze(s,s),typeof o=="function"&&jt(o)}}function Sg(){return _e===null&&Tm(),(_e.ac??=new AbortController).signal}function Sl(e){Ae===null&&Zr(),xe(()=>{const t=we(e);if(typeof t=="function")return t})}function El(e){Ae===null&&Zr(),Sl(()=>()=>we(e))}function Eg(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function Ig(){const e=Ae;return e===null&&Zr(),(t,n,r)=>{const s=e.s.$$events?.[t];if(s){const a=Jr(s)?s.slice():[s],l=Eg(t,n,r);for(const o of a)o.call(e.x,l);return!l.defaultPrevented}return!0}}function Ag(e){Ae===null&&Zr(),Ae.l===null&&ud(),mf(Ae).b.push(e)}function Cg(e){Ae===null&&Zr(),Ae.l===null&&ud(),mf(Ae).a.push(e)}function mf(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const bf=Object.freeze(Object.defineProperty({__proto__:null,afterUpdate:Cg,beforeUpdate:Ag,createContext:nb,createEventDispatcher:Ig,createRawSnippet:xg,flushSync:qn,fork:_b,getAbortSignal:Sg,getAllContexts:rb,getContext:ol,hasContext:bd,hydratable:Zb,hydrate:vf,mount:Fe,onDestroy:El,onMount:Sl,setContext:ll,settled:Xb,tick:Zs,unmount:Qe,untrack:we},Symbol.toStringTag,{value:"Module"}));function Tg(){return Symbol($u)}function gf(e,t,n,r){return e!==t&&typeof t=="object"&&ot in t&&Dm(n,ff(r)),e}function Rg(e,t,n,r,s){return gf(n==="="?e[t]=r:n==="&&="?e[t]&&=r():n==="||="?e[t]||=r():n==="??="?e[t]??=r():null,we(()=>e[t]),t,s)}async function Pg(e,t,n,r,s){return gf(n==="="?e[t]=await r:n==="&&="?e[t]&&=await r():n==="||="?e[t]||=await r():n==="??="?e[t]??=await r():null,we(()=>e[t]),t,s)}var zc=new Map;function Lg(e){var t=zc.get(e);if(t){for(const n of t)n.remove();zc.delete(e)}}function Mg(e,t,n){return(...r)=>{const s=e(...r);var a=oe?s:s.nodeType===ld?s.firstChild:s;return yf(a,t,n),s}}function zg(e,t,n){e.__svelte_meta={parent:ga,loc:{file:t,line:n[0],column:n[1]}},n[2]&&yf(e.firstChild,t,n[2])}function yf(e,t,n){for(var r=0,s=0;e&&r<n.length;){if(oe&&e.nodeType===Mn){var a=e;a.data[0]===si?s+=1:a.data[0]===ii&&(s-=1)}s===0&&e.nodeType===od&&zg(e,t,n[r++]),e=e.nextSibling}}function jg(e){const t=kt(e);function n(r,s){let a={},l={},o,c=!1,u=r;return kn(()=>{if(a!==(a=i(t))){if(o){for(var d in l)delete l[d];Je(o)}o=ct(()=>{u=u[fm]??u,c&&Ir(!1);var f=new.target?new a(u,s):a(u,s);f&&Object.defineProperties(l,Object.getOwnPropertyDescriptors(f)),c&&Ir(!0)}),pe.nodes=o.nodes}},cn),c=!0,oe&&(u=he),l}return n[Ct]=e[Ct],n[_r]={fn:e,current:t,update:r=>{E(n[_r].current,r[_r].fn),r[_r].current=n[_r].current}},n}function Dg(e){const t=Ae?.function,n=Ae?.p?.function;return{mutation:(r,s,a,l,o)=>{const c=s[0];if(jc(e,c)||!n)return a;let u=e;for(let f=0;f<s.length-1;f++)if(u=u[s[f]],!u?.[ot])return a;const d=ff(`${t[Ct]}:${l}:${o}`);return Um(c,d,r,n[Ct]),a},binding:(r,s,a)=>{!jc(e,r)&&n&&a()?.[ot]&&Fm(t[Ct],r,s[Ct],n[Ct])}}}function jc(e,t){const n=ot in e||ci in e;return!!rn(e,t)?.set||n&&t in e||!(t in e)}function Og(e){e&&_m(e[Ct]??"a component",e.name)}function Ng(){const e=Ae?.function;function t(n){ym(n,e[Ct])}return{$destroy:()=>t("$destroy()"),$on:()=>t("$on(...)"),$set:()=>t("$set(...)")}}function qg(e,t,n=!1){bl();let r=!0,s=De;Yd(()=>{try{var a=e()}catch(o){s=o;return}var l=or(a,!0,!0);we(()=>{if(n){if(t(...l),!r){const o=$m("$inspect(...)");o&&(console.groupCollapsed("stack trace"),console.log(o),console.groupEnd())}}else t(r?"init":"update",...l)}),r=!1}),Ue(()=>{try{e()}catch{}s!==De&&(console.error(s),s=De)})}function Bg(e,t=[],n=[],r){var s=oe,a=null;if(s&&(vt(),a=ir(!1)),n.length===0&&t.every(c=>c.settled)){r(e),s&&Ce(a);return}const l=Ys();if(s){var o=he;Ce(a)}Ws(t,[],n,c=>{s&&(Pe(!0),Ce(o));try{for(const u of c)i(u);r(e,...c)}finally{s&&Pe(!1),l()}})}function Vg(e,...t){(typeof e!="object"||!(e instanceof Node))&&Ic();for(let n of t)typeof n!="function"&&Ic()}const Dc=0,Oc=1,Fg=2;function Ug(e,t,n,r,s){oe&&vt();var a=De,l=kt(a),o=kt(a),c=new ts(e);kn(()=>{var u=be;u.deactivate();var d=t();u.activate();var f=!1;let h=oe&&Ec(d)===(e.data===ai);if(h&&(Ce(ir()),Pe(!1)),Ec(d)){var b=fi(),x=!1;const y=g=>{if(!f){x=!0,b(!1),Yt.ensure(),oe&&Pe(!1);try{g()}finally{lr(!1),Rr||qn()}}};d.then(g=>{y(()=>{yn(l,g),c.ensure(Oc,r&&(S=>r(S,l)))})},g=>{y(()=>{if(yn(o,g),c.ensure(Fg,s&&(S=>s(S,o))),!s)throw o.v})}),oe?c.ensure(Dc,n):ft(()=>{x||y(()=>{c.ensure(Dc,n)})})}else yn(l,d),c.ensure(Oc,r&&(y=>r(y,l)));return h&&Pe(!0),()=>{f=!0}})}function K(e,t,n=!1){var r;oe&&(r=he,vt());var s=new ts(e),a=n?cn:0;function l(o,c){if(oe){var u=al(r);if(o!==parseInt(u.substring(1))){var d=ir();Ce(d),s.anchor=d,Pe(!1),s.ensure(o,c),Pe(!0);return}}s.ensure(o,c)}kn(()=>{var o=!1;t((c,u=0)=>{o=!0,l(u,c)}),o||l(-1,null)},a)}const Hg=Symbol("NaN");function Kg(e,t,n){oe&&vt();var r=new ts(e);kn(()=>{var s=t();s!==s&&(s=Hg),r.ensure(s,n)})}function Wg(e,t){oe&&Ce(Oe(e)),Ue(()=>{var n=t();for(var r in n){var s=n[r];s?e.style.setProperty(r,s):e.style.removeProperty(r)}})}function ht(e,t){return t}function Yg(e,t,n){for(var r=[],s=t.length,a,l=t.length,o=0;o<s;o++){let f=t[o];$n(f,()=>{if(a){if(a.pending.delete(f),a.done.add(f),a.pending.size===0){var h=e.outrogroups;Eo(e,oi(a.done)),h.delete(a),h.size===0&&(e.outrogroups=null)}}else l-=1},!1)}if(l===0){var c=r.length===0&&n!==null;if(c){var u=n,d=u.parentNode;pl(d),d.append(u),e.items.clear()}Eo(e,t,!c)}else a={pending:new Set(t),done:new Set},(e.outrogroups??=new Set).add(a)}function Eo(e,t,n=!0){var r;if(e.pending.size>0){r=new Set;for(const l of e.pending.values())for(const o of l)r.add(e.items.get(o).e)}for(var s=0;s<t.length;s++){var a=t[s];if(r?.has(a)){a.f|=mn;const l=document.createDocumentFragment();_l(a,l)}else Je(t[s],n)}}var Nc;function ve(e,t,n,r,s,a=null){var l=e,o=new Map,c=(t&Xu)!==0;if(c){var u=e;l=oe?Ce(Oe(u)):u.appendChild(rt())}oe&&vt();var d=null,f=fl(()=>{var m=n();return Jr(m)?m:m==null?[]:oi(m)}),h,b=new Map,x=!0;function y(m){_.effect.f&yt||(_.pending.delete(m),_.fallback=d,Gg(_,h,l,t,r),d!==null&&(h.length===0?d.f&mn?(d.f^=mn,ps(d,null,l)):yl(d):$n(d,()=>{d=null})))}function g(m){_.pending.delete(m)}var S=kn(()=>{h=i(f);var m=h.length;let I=!1;if(oe){var R=al(l)===ai;R!==(m===0)&&(l=ir(),Ce(l),Pe(!1),I=!0)}for(var P=new Set,T=be,z=Fd(),L=0;L<m;L+=1){oe&&he.nodeType===Mn&&he.data===ii&&(l=he,I=!0,Pe(!1));var D=h[L],C=r(D,L),O=x?null:o.get(C);O?(O.v&&yn(O.v,D),O.i&&yn(O.i,L),z&&T.unskip_effect(O.e)):(O=Xg(o,x?l:Nc??=rt(),D,C,L,s,t,n),x||(O.e.f|=mn),o.set(C,O)),P.add(C)}if(m===0&&a&&!d&&(x?d=ct(()=>a(l)):(d=ct(()=>a(Nc??=rt())),d.f|=mn)),m>P.size&&wm(),oe&&m>0&&Ce(ir()),!x)if(b.set(T,P),z){for(const[B,M]of o)P.has(B)||T.skip_effect(M.e);T.oncommit(y),T.ondiscard(g)}else y(T);I&&Pe(!0),i(f)}),_={effect:S,items:o,pending:b,outrogroups:null,fallback:d};x=!1,oe&&(l=he)}function us(e){for(;e!==null&&!(e.f&on);)e=e.next;return e}function Gg(e,t,n,r,s){var a=(r&Gp)!==0,l=t.length,o=e.items,c=us(e.effect.first),u,d=null,f,h=[],b=[],x,y,g,S;if(a)for(S=0;S<l;S+=1)x=t[S],y=s(x,S),g=o.get(y).e,g.f&mn||(g.nodes?.a?.measure(),(f??=new Set).add(g));for(S=0;S<l;S+=1){if(x=t[S],y=s(x,S),g=o.get(y).e,e.outrogroups!==null)for(const D of e.outrogroups)D.pending.delete(g),D.done.delete(g);if(g.f&dt&&(yl(g),a&&(g.nodes?.a?.unfix(),(f??=new Set).delete(g))),g.f&mn)if(g.f^=mn,g===c)ps(g,null,n);else{var _=d?d.next:c;g===e.effect.last&&(e.effect.last=g.prev),g.prev&&(g.prev.next=g.next),g.next&&(g.next.prev=g.prev),jn(e,d,g),jn(e,g,_),ps(g,_,n),d=g,h=[],b=[],c=us(d.next);continue}if(g!==c){if(u!==void 0&&u.has(g)){if(h.length<b.length){var m=b[0],I;d=m.prev;var R=h[0],P=h[h.length-1];for(I=0;I<h.length;I+=1)ps(h[I],m,n);for(I=0;I<b.length;I+=1)u.delete(b[I]);jn(e,R.prev,P.next),jn(e,d,R),jn(e,P,m),c=m,d=P,S-=1,h=[],b=[]}else u.delete(g),ps(g,c,n),jn(e,g.prev,g.next),jn(e,g,d===null?e.effect.first:d.next),jn(e,d,g),d=g;continue}for(h=[],b=[];c!==null&&c!==g;)(u??=new Set).add(c),b.push(c),c=us(c.next);if(c===null)continue}g.f&mn||h.push(g),d=g,c=us(g.next)}if(e.outrogroups!==null){for(const D of e.outrogroups)D.pending.size===0&&(Eo(e,oi(D.done)),e.outrogroups?.delete(D));e.outrogroups.size===0&&(e.outrogroups=null)}if(c!==null||u!==void 0){var T=[];if(u!==void 0)for(g of u)g.f&dt||T.push(g);for(;c!==null;)!(c.f&dt)&&c!==e.fallback&&T.push(c),c=us(c.next);var z=T.length;if(z>0){var L=r&Xu&&l===0?n:null;if(a){for(S=0;S<z;S+=1)T[S].nodes?.a?.measure();for(S=0;S<z;S+=1)T[S].nodes?.a?.fix()}Yg(e,T,L)}}a&&ft(()=>{if(f!==void 0)for(g of f)g.nodes?.a?.apply()})}function Xg(e,t,n,r,s,a,l,o){var c=l&Wp?l&Xp?kt(n):vi(n,!1,!1):null,u=l&Yp?kt(s):null;return{v:c,i:u,e:ct(()=>(a(t,c??n,u??s,o),()=>{e.delete(r)}))}}function ps(e,t,n){if(e.nodes)for(var r=e.nodes.start,s=e.nodes.end,a=t&&!(t.f&mn)?t.nodes.start:n;r!==null;){var l=Mt(r);if(a.before(r),r===s)return;r=l}}function jn(e,t,n){t===null?e.effect.first=n:t.next=n,n===null?e.effect.last=t:n.prev=t}function Jg(e,t,n=!1,r=!1,s=!1,a=!1){var l=e,o="";if(n){var c=e;oe&&(l=Ce(Oe(c)))}N(()=>{var u=pe;if(o===(o=t()??"")){oe&&vt();return}if(n&&!oe){u.nodes=null,c.innerHTML=o,o!==""&&Ze(Oe(c),c.lastChild);return}if(u.nodes!==null&&(Jd(u.nodes.start,u.nodes.end),u.nodes=null),o!==""){if(oe){he.data;for(var d=vt(),f=d;d!==null&&(d.nodeType!==Mn||d.data!=="");)f=d,d=Mt(d);if(d===null)throw Ks(),nr;Ze(he,f),l=Ce(d);return}var h=r?Fs:s?rl:void 0,b=Un(r?"svg":s?"math":"template",h);b.innerHTML=o;var x=r||s?b:b.content;if(Ze(Oe(x),x.lastChild),r||s)for(;Oe(x);)l.before(Oe(x));else l.before(x)}})}function Zg(e,t,n,r,s){oe&&vt();var a=t.$$slots?.[n],l=!1;a===!0&&(a=t[n==="default"?"children":n],l=!0),a===void 0?s!==null&&s(e):a(e,l?()=>r:r)}function Qg(e){const t={};e.children&&(t.default=!0);for(const n in e.$$slots)t[n]=!0;return t}function Qs(e,t,n){var r;oe&&(r=he,vt());var s=new ts(e);kn(()=>{var a=t()??null;if(oe){var l=al(r),o=l===si,c=a!==null;if(o!==c){var u=ir();Ce(u),s.anchor=u,Pe(!1),s.ensure(a,a&&(d=>n(d,a))),Pe(!0);return}}s.ensure(a,a&&(d=>n(d,a)))},cn)}const $g=()=>performance.now(),pn={tick:e=>requestAnimationFrame(e),now:()=>$g(),tasks:new Set};function _f(){const e=pn.now();pn.tasks.forEach(t=>{t.c(e)||(pn.tasks.delete(t),t.f())}),pn.tasks.size!==0&&pn.tick(_f)}function ey(e){let t;return pn.tasks.size===0&&pn.tick(_f),{promise:new Promise(n=>{pn.tasks.add(t={c:e,f:n})}),abort(){pn.tasks.delete(t)}}}function Oa(e,t){Hn(()=>{e.dispatchEvent(new CustomEvent(t))})}function ty(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(n=>n[0].toUpperCase()+n.slice(1)).join("")}function qc(e){const t={},n=e.split(";");for(const r of n){const[s,a]=r.split(":");if(!s||a===void 0)break;const l=ty(s.trim());t[l]=a.trim()}return t}const ny=e=>e;let wf=null;function Bc(e){wf=e}function ry(e,t,n){var r=wf??pe,s=r.nodes,a,l,o,c=null;s.a??={element:e,measure(){a=this.element.getBoundingClientRect()},apply(){if(o?.abort(),l=this.element.getBoundingClientRect(),a.left!==l.left||a.right!==l.right||a.top!==l.top||a.bottom!==l.bottom){const u=t()(this.element,{from:a,to:l},n?.());o=Na(this.element,u,void 0,1,()=>{o?.abort(),o=void 0})}},fix(){if(!e.getAnimations().length){var{position:u,width:d,height:f}=getComputedStyle(e);if(u!=="absolute"&&u!=="fixed"){var h=e.style;c={position:h.position,width:h.width,height:h.height,transform:h.transform},h.position="absolute",h.width=d,h.height=f;var b=e.getBoundingClientRect();if(a.left!==b.left||a.top!==b.top){var x=`translate(${a.left-b.left}px, ${a.top-b.top}px)`;h.transform=h.transform?`${h.transform} ${x}`:x}}}},unfix(){if(c){var u=e.style;u.position=c.position,u.width=c.width,u.height=c.height,u.transform=c.transform}}},s.a.element=e}function sy(e,t,n,r){var s=(e&$p)!==0,a=(e&em)!==0,l=s&&a,o=(e&tm)!==0,c=l?"both":s?"in":"out",u,d=t.inert,f=t.style.overflow,h,b;function x(){return Hn(()=>u??=n()(t,r?.()??{},{direction:c}))}var y={is_global:o,in(){if(t.inert=d,!s){b?.abort(),b?.reset?.();return}a||h?.abort(),h=Na(t,x(),b,1,()=>{Oa(t,"introend"),h?.abort(),h=u=void 0,t.style.overflow=f})},out(m){if(!a){m?.(),u=void 0;return}t.inert=!0,b=Na(t,x(),h,0,()=>{Oa(t,"outroend"),m?.()})},stop:()=>{h?.abort(),b?.abort()}},g=pe;if((g.nodes.t??=[]).push(y),s&&Da){var S=o;if(!S){for(var _=g.parent;_&&_.f&cn;)for(;(_=_.parent)&&!(_.f&sn););S=!_||(_.f&Ln)!==0}S&&zt(()=>{we(()=>y.in())})}}function Na(e,t,n,r,s){var a=r===1;if(wr(t)){var l,o=!1;return ft(()=>{if(!o){var g=t({direction:a?"in":"out"});l=Na(e,g,n,r,s)}}),{abort:()=>{o=!0,l?.abort()},deactivate:()=>l.deactivate(),reset:()=>l.reset(),t:()=>l.t()}}if(n?.deactivate(),!t?.duration&&!t?.delay)return Oa(e,a?"introstart":"outrostart"),s(),{abort:Tt,deactivate:Tt,reset:Tt,t:()=>r};const{delay:c=0,css:u,tick:d,easing:f=ny}=t;var h=[];if(a&&n===void 0&&(d&&d(0,1),u)){var b=qc(u(0,1));h.push(b,b)}var x=()=>1-r,y=e.animate(h,{duration:c,fill:"forwards"});return y.onfinish=()=>{y.cancel(),Oa(e,a?"introstart":"outrostart");var g=n?.t()??1-r;n?.abort();var S=r-g,_=t.duration*Math.abs(S),m=[];if(_>0){var I=!1;if(u)for(var R=Math.ceil(_/16.666666666666668),P=0;P<=R;P+=1){var T=g+S*f(P/R),z=qc(u(T,1-T));m.push(z),I||=z.overflow==="hidden"}I&&(e.style.overflow="hidden"),x=()=>{var L=y.currentTime;return g+S*f(L/_)},d&&ey(()=>{if(y.playState!=="running")return!1;var L=x();return d(L,1-L),!0})}y=e.animate(m,{duration:_,fill:"forwards"}),y.onfinish=()=>{x=()=>r,d?.(r,1-r),s()}},{abort:()=>{y&&(y.cancel(),y.effect=null,y.onfinish=Tt)},deactivate:()=>{s=Tt},reset:()=>{r===0&&d?.(1,0)},t:()=>x()}}function ay(e,t,n,r,s,a){let l=oe;oe&&vt();var o=null;oe&&he.nodeType===od&&(o=he,vt());var c=oe?he:e,u=pe,d=new ts(c,!1);kn(()=>{const f=t()||null;var h=s?s():n||f==="svg"?Fs:void 0;if(f===null){d.ensure(null,null),Ir(!0);return}return d.ensure(f,b=>{if(f){if(o=oe?o:Un(f,h),Ze(o,o),r){oe&&gg(f)&&o.append(document.createComment(""));var x=oe?Oe(o):o.appendChild(rt());oe&&(x===null?Pe(!1):Ce(x)),Bc(u),r(o,x),Bc(null)}pe.nodes.end=o,b.before(o)}oe&&Ce(b)}),Ir(!0),()=>{f&&Ir(!1)}},cn),jt(()=>{Ir(!0)}),l&&(Pe(!0),Ce(c))}function iy(e,t){let n=null,r=oe;var s;if(oe){n=he;for(var a=Oe(document.head);a!==null&&(a.nodeType!==Mn||a.data!==e);)a=Mt(a);if(a===null)Pe(!1);else{var l=Mt(a);a.remove(),Ce(l)}}oe||(s=document.head.appendChild(rt()));try{kn(()=>t(s),ad|Fn)}finally{r&&(Pe(!0),Ce(n))}}function oy(e,t){zt(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const s=Un("style");s.id=t.hash,s.textContent=t.code,r.appendChild(s)}})}function kf(e,t,n){zt(()=>{var r=we(()=>t(e,n?.())||{});if(n&&r?.update){var s=!1,a={};Ue(()=>{var l=n();wl(l),s&&vd(a,l)&&(a=l,r.update(l))}),s=!0}if(r?.destroy)return()=>r.destroy()})}function Il(e,t){var n=void 0,r;Gd(()=>{n!==(n=t())&&(r&&(Je(r),r=null),n&&(r=ct(()=>{zt(()=>n(e))})))})}const ly=/[&"<]/g;function cy(e,t){const n=String(e??""),r=ly;r.lastIndex=0;let s="",a=0;for(;r.test(n);){const l=r.lastIndex-1,o=n[l];s+=n.substring(a,l)+(o==="&"?"&amp;":o==='"'?"&quot;":"&lt;"),a=l+1}return s+n.substring(a)}function xf(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(n=xf(e[t]))&&(r&&(r+=" "),r+=n)}else for(n in e)e[n]&&(r&&(r+=" "),r+=n);return r}function uy(){for(var e,t,n=0,r="",s=arguments.length;n<s;n++)(e=arguments[n])&&(t=xf(e))&&(r&&(r+=" "),r+=t);return r}const Vc={translate:new Map([[!0,"yes"],[!1,"no"]])};function dy(e,t,n=!1){if(e==="hidden"&&t!=="until-found"&&(n=!0),t==null||!t&&n)return"";const r=im.call(Vc,e)&&Vc[e].get(t)||t,s=n?'=""':`="${cy(r)}"`;return` ${e}${s}`}function Sf(e){return typeof e=="object"?uy(e):e??""}const Fc=[...`
7
+ \r\f \v\uFEFF`];function fy(e,t,n){var r=e==null?"":""+e;if(t&&(r=r?r+" "+t:t),n){for(var s of Object.keys(n))if(n[s])r=r?r+" "+s:s;else if(r.length)for(var a=s.length,l=0;(l=r.indexOf(s,l))>=0;){var o=l+a;(l===0||Fc.includes(r[l-1]))&&(o===r.length||Fc.includes(r[o]))?r=(l===0?"":r.substring(0,l))+r.substring(o+1):l=o}}return r===""?null:r}function Uc(e,t=!1){var n=t?" !important;":";",r="";for(var s of Object.keys(e)){var a=e[s];a!=null&&a!==""&&(r+=" "+s+": "+a+n)}return r}function Ki(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function vy(e,t){if(t){var n="",r,s;if(Array.isArray(t)?(r=t[0],s=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var a=!1,l=0,o=!1,c=[];r&&c.push(...Object.keys(r).map(Ki)),s&&c.push(...Object.keys(s).map(Ki));var u=0,d=-1;const y=e.length;for(var f=0;f<y;f++){var h=e[f];if(o?h==="/"&&e[f-1]==="*"&&(o=!1):a?a===h&&(a=!1):h==="/"&&e[f+1]==="*"?o=!0:h==='"'||h==="'"?a=h:h==="("?l++:h===")"&&l--,!o&&a===!1&&l===0){if(h===":"&&d===-1)d=f;else if(h===";"||f===y-1){if(d!==-1){var b=Ki(e.substring(u,d).trim());if(!c.includes(b)){h!==";"&&f++;var x=e.substring(u,f).trim();n+=" "+x+";"}}u=f+1,d=-1}}}}return r&&(n+=Uc(r)),s&&(n+=Uc(s,!0)),n=n.trim(),n===""?null:n}return e==null?null:String(e)}function de(e,t,n,r,s,a){var l=e.__className;if(oe||l!==n||l===void 0){var o=fy(n,r,a);(!oe||o!==e.getAttribute("class"))&&(o==null?e.removeAttribute("class"):t?e.className=o:e.setAttribute("class",o)),e.__className=n}else if(a&&s!==a)for(var c in a){var u=!!a[c];(s==null||u!==!!s[c])&&e.classList.toggle(c,u)}return a}function Wi(e,t={},n,r){for(var s in n){var a=n[s];t[s]!==a&&(n[s]==null?e.style.removeProperty(s):e.style.setProperty(s,a,r))}}function Ge(e,t,n,r){var s=e.__style;if(oe||s!==t){var a=vy(t,r);(!oe||a!==e.getAttribute("style"))&&(a==null?e.removeAttribute("style"):e.style.cssText=a),e.__style=t}else r&&(Array.isArray(r)?(Wi(e,n?.[0],r[0]),Wi(e,n?.[1],r[1],"important")):Wi(e,n,r));return r}function As(e,t,n=!1){if(e.multiple){if(t==null)return;if(!Jr(t))return Hm();for(var r of e.options)r.selected=t.includes(_s(r));return}for(r of e.options){var s=_s(r);if(Nd(s,t)){r.selected=!0;return}}(!n||t!==void 0)&&(e.selectedIndex=-1)}function Al(e){var t=new MutationObserver(()=>{As(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),jt(()=>{t.disconnect()})}function Cs(e,t,n=t){var r=new WeakSet,s=!0;Xs(e,"change",a=>{var l=a?"[selected]":":checked",o;if(e.multiple)o=[].map.call(e.querySelectorAll(l),_s);else{var c=e.querySelector(l)??e.querySelector("option:not([disabled])");o=c&&_s(c)}n(o),e.__value=o,be!==null&&r.add(be)}),zt(()=>{var a=t();if(e===document.activeElement){var l=be;if(r.has(l))return}if(As(e,a,s),s&&a===void 0){var o=e.querySelector(":checked");o!==null&&(a=_s(o),n(a))}e.__value=a,s=!1}),Al(e)}function _s(e){return"__value"in e?e.__value:e.value}const xr=Symbol("class"),Sr=Symbol("style"),Ef=Symbol("is custom element"),If=Symbol("is html"),hy=hr?"link":"LINK",py=hr?"input":"INPUT",my=hr?"option":"OPTION",by=hr?"select":"SELECT",gy=hr?"progress":"PROGRESS";function ye(e){if(oe){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;ne(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var s=e.checked;ne(e,"checked",null),e.checked=s}}};e.__on_r=n,ft(n),Hd()}}function Ts(e,t){var n=pi(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!==gy)||(e.value=t??"")}function Cl(e,t){var n=pi(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function Tl(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function yy(e,t){const n=e.checked;e.defaultChecked=t,e.checked=n}function _y(e,t){const n=e.value;e.defaultValue=t,e.value=n}function ne(e,t,n,r){var s=pi(e);oe&&(s[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName===hy)||s[t]!==(s[t]=n)&&(t==="loading"&&(e[um]=n),n==null?e.removeAttribute(t):typeof n!="string"&&Rl(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function wy(e,t,n){e.setAttributeNS("http://www.w3.org/1999/xlink",t,n)}function ky(e,t,n){var r=_e,s=pe;let a=oe;oe&&Pe(!1),xt(null),lt(null);try{t!=="style"&&(Io.has(e.getAttribute("is")||e.nodeName)||!customElements||customElements.get(e.getAttribute("is")||e.nodeName.toLowerCase())?Rl(e).includes(t):n&&typeof n=="object")?e[t]=n:ne(e,t,n==null?n:String(n))}finally{xt(r),lt(s),a&&Pe(!0)}}function xy(e,t,n,r,s=!1,a=!1){if(oe&&s&&e.nodeName===py){var l=e,o=l.type==="checkbox"?"defaultChecked":"defaultValue";o in n||ye(l)}var c=pi(e),u=c[Ef],d=!c[If];let f=oe&&u;f&&Pe(!1);var h=t||{},b=e.nodeName===my;for(var x in t)x in n||(n[x]=null);n.class?n.class=Sf(n.class):(r||n[xr])&&(n.class=null),n[Sr]&&(n.style??=null);var y=Rl(e);for(const P in n){let T=n[P];if(b&&P==="value"&&T==null){e.value=e.__value="",h[P]=T;continue}if(P==="class"){var g=e.namespaceURI==="http://www.w3.org/1999/xhtml";de(e,g,T,r,t?.[xr],n[xr]),h[P]=T,h[xr]=n[xr];continue}if(P==="style"){Ge(e,T,t?.[Sr],n[Sr]),h[P]=T,h[Sr]=n[Sr];continue}var S=h[P];if(!(T===S&&!(T===void 0&&e.hasAttribute(P)))){h[P]=T;var _=P[0]+P[1];if(_!=="$$")if(_==="on"){const z={},L="$$"+P;let D=P.slice(2);var m=fg(D);if(ug(D)&&(D=D.slice(0,-7),z.capture=!0),!m&&S){if(T!=null)continue;e.removeEventListener(D,h[L],z),h[L]=null}if(m)F(D,e,T),ce([D]);else if(T!=null){let C=function(O){h[P].call(this,O)};h[L]=lf(D,e,C,z)}}else if(P==="style")ne(e,P,T);else if(P==="autofocus")Qr(e,!!T);else if(!u&&(P==="__value"||P==="value"&&T!=null))e.value=e.__value=T;else if(P==="selected"&&b)Tl(e,T);else{var I=P;d||(I=hg(I));var R=I==="defaultValue"||I==="defaultChecked";if(T==null&&!u&&!R)if(c[P]=null,I==="value"||I==="checked"){let z=e;const L=t===void 0;if(I==="value"){let D=z.defaultValue;z.removeAttribute(I),z.defaultValue=D,z.value=z.__value=L?D:null}else{let D=z.defaultChecked;z.removeAttribute(I),z.defaultChecked=D,z.checked=L?D:!1}}else e.removeAttribute(P);else R||y.includes(I)&&(u||typeof T!="string")?(e[I]=T,I in c&&(c[I]=De)):typeof T!="function"&&ne(e,I,T)}}}return f&&Pe(!0),h}function Sy(e,t,n=[],r=[],s=[],a,l=!1,o=!1){Ws(s,n,r,c=>{var u=void 0,d={},f=e.nodeName===by,h=!1;if(Gd(()=>{var x=t(...c.map(i)),y=xy(e,u,x,a,l,o);h&&f&&"value"in x&&As(e,x.value);for(let S of Object.getOwnPropertySymbols(d))x[S]||Je(d[S]);for(let S of Object.getOwnPropertySymbols(x)){var g=x[S];S.description===$u&&(!u||g!==u[S])&&(d[S]&&Je(d[S]),d[S]=ct(()=>Il(e,()=>g))),y[S]=g}u=y}),f){var b=e;zt(()=>{As(b,u.value,!0),Al(b)})}h=!0})}function pi(e){return e.__attributes??={[Ef]:e.nodeName.includes("-"),[If]:e.namespaceURI===Qu}}var Io=new Map;function Rl(e){var t=e.getAttribute("is")||e.nodeName,n=Io.get(t);if(n)return n;Io.set(t,n=[]);for(var r,s=e,a=Element.prototype;a!==s;){r=td(s);for(var l in r)r[l].set&&n.push(l);s=li(s)}return n}let Yi=null;function Af(){if(Yi===null){var e=Un("select");e.innerHTML=cf("<option><span>t</span></option>"),Yi=e.firstChild?.firstChild?.nodeType===1}return Yi}function Ey(e,t){Af()&&Il(e,()=>()=>{const n=e.closest("select");if(!n)return;const r=new MutationObserver(s=>{var a=!1;for(const l of s){if(l.target===e)return;a||=!!l.target.parentElement?.closest("option")?.selected}a&&(e.replaceWith(e=e.cloneNode(!0)),t(e))});return r.observe(n,{childList:!0,characterData:!0,subtree:!0}),()=>{r.disconnect()}})}function Iy(e,t){var n=oe;Af()||(Pe(!1),e.textContent="",e.append(Ud("")));try{t()}finally{n&&(oe?v(e):(Pe(!0),Ce(e)))}}function Ay(e){Et(document,["focusin","focusout"],t=>{t&&t.type==="focusout"&&t.relatedTarget||e(document.activeElement)})}function Ie(e,t,n=t){var r=new WeakSet;Xs(e,"input",async s=>{var a=s?e.defaultValue:e.value;if(a=Xi(e)?Ji(a):a,n(a),be!==null&&r.add(be),await Zs(),a!==(a=t())){var l=e.selectionStart,o=e.selectionEnd,c=e.value.length;if(e.value=a??"",o!==null){var u=e.value.length;l===o&&o===c&&u>c?(e.selectionStart=u,e.selectionEnd=u):(e.selectionStart=l,e.selectionEnd=Math.min(o,u))}}}),(oe&&e.defaultValue!==e.value||we(t)==null&&e.value)&&(n(Xi(e)?Ji(e.value):e.value),be!==null&&r.add(be)),Ue(()=>{var s=t();if(e===document.activeElement){var a=be;if(r.has(a))return}Xi(e)&&s===Ji(e.value)||e.type==="date"&&!s&&!e.value||s!==e.value&&(e.value=s??"")})}const Gi=new Set;function Cy(e,t,n,r,s=r){var a=n.getAttribute("type")==="checkbox",l=e;let o=!1;if(t!==null)for(var c of t)l=l[c]??=[];l.push(n),Xs(n,"change",()=>{var u=n.__value;a&&(u=Hc(l,u,n.checked)),s(u)},()=>s(a?[]:null)),Ue(()=>{var u=r();if(oe&&n.defaultChecked!==n.checked){o=!0;return}a?(u=u||[],n.checked=u.includes(n.__value)):n.checked=Nd(n.__value,u)}),jt(()=>{var u=l.indexOf(n);u!==-1&&l.splice(u,1)}),Gi.has(l)||(Gi.add(l),ft(()=>{l.sort((u,d)=>u.compareDocumentPosition(d)===4?-1:1),Gi.delete(l)})),ft(()=>{if(o){var u;if(a)u=Hc(l,u,n.checked);else{var d=l.find(f=>f.checked);u=d?.__value}s(u)}})}function ws(e,t,n=t){Xs(e,"change",r=>{var s=r?e.defaultChecked:e.checked;n(s)}),(oe&&e.defaultChecked!==e.checked||we(t)==null)&&n(e.checked),Ue(()=>{var r=t();e.checked=!!r})}function Hc(e,t,n){for(var r=new Set,s=0;s<e.length;s+=1)e[s].checked&&r.add(e[s].__value);return n||r.delete(t),Array.from(r)}function Xi(e){var t=e.type;return t==="number"||t==="range"}function Ji(e){return e===""?null:+e}function Ty(e,t,n=t){Xs(e,"change",()=>{n(e.files)}),oe&&e.files&&n(e.files),Ue(()=>{e.files=t()})}function Pl(e){for(var t=[],n=0;n<e.length;n+=1)t.push({start:e.start(n),end:e.end(n)});return t}function Ry(e,t,n=t){var r,s,a=()=>{cancelAnimationFrame(r),e.paused||(r=requestAnimationFrame(a));var l=e.currentTime;s!==l&&n(s=l)};r=requestAnimationFrame(a),e.addEventListener("timeupdate",a),Ue(()=>{var l=Number(t());s!==l&&!isNaN(l)&&(e.currentTime=s=l)}),jt(()=>{cancelAnimationFrame(r),e.removeEventListener("timeupdate",a)})}function Py(e,t){var n;Et(e,["loadedmetadata","progress","timeupdate","seeking"],()=>{var r=e.buffered;(!n||n.length!==r.length||n.some((s,a)=>r.start(a)!==s.start||r.end(a)!==s.end))&&(n=Pl(r),t(n))})}function Ly(e,t){Et(e,["loadedmetadata"],()=>t(Pl(e.seekable)))}function My(e,t){Et(e,["timeupdate"],()=>t(Pl(e.played)))}function zy(e,t){Et(e,["seeking","seeked"],()=>t(e.seeking))}function jy(e,t){Et(e,["timeupdate","ended"],()=>t(e.ended))}function Dy(e,t){Et(e,["loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","emptied"],()=>t(e.readyState))}function Oy(e,t,n=t){zt(()=>{var r=Number(t());r!==e.playbackRate&&!isNaN(r)&&(e.playbackRate=r)}),zt(()=>{Et(e,["ratechange"],()=>{n(e.playbackRate)})})}function Ny(e,t,n=t){var r=t(),s=()=>{r!==e.paused&&n(r=e.paused)};Et(e,["play","pause","canplay"],s,r==null),zt(()=>{(r=!!t())!==e.paused&&(r?e.pause():e.play().catch(a=>{throw n(r=!0),a}))})}function qy(e,t,n=t){var r=()=>{n(e.volume)};t()==null&&r(),Et(e,["volumechange"],r,!1),Ue(()=>{var s=Number(t());s!==e.volume&&!isNaN(s)&&(e.volume=s)})}function By(e,t,n=t){var r=()=>{n(e.muted)};t()==null&&r(),Et(e,["volumechange"],r,!1),Ue(()=>{var s=!!t();e.muted!==s&&(e.muted=s)})}function Vy(e){Et(window,["online","offline"],()=>{e(navigator.onLine)})}function Fy(e,t,n){var r=rn(e,t);r&&r.set&&(e[t]=n,jt(()=>{e[t]=null}))}class $s{#e=new WeakMap;#t;#n;static entries=new WeakMap;constructor(t){this.#n=t}observe(t,n){var r=this.#e.get(t)||new Set;return r.add(n),this.#e.set(t,r),this.#s().observe(t,this.#n),()=>{var s=this.#e.get(t);s.delete(n),s.size===0&&(this.#e.delete(t),this.#t.unobserve(t))}}#s(){return this.#t??(this.#t=new ResizeObserver(t=>{for(var n of t){$s.entries.set(n.target,n);for(var r of this.#e.get(n.target)||[])r(n)}}))}}var Uy=new $s({box:"content-box"}),Cf=new $s({box:"border-box"}),Hy=new $s({box:"device-pixel-content-box"});function Ky(e,t,n){var r=t==="contentRect"||t==="contentBoxSize"?Uy:t==="borderBoxSize"?Cf:Hy,s=r.observe(e,a=>n(a[t]));jt(s)}function Wy(e,t,n){var r=Cf.observe(e,()=>n(e[t]));zt(()=>(we(()=>n(e[t])),r))}function Kc(e,t){return e===t||e?.[ot]===t}function qe(e={},t,n,r){var s=Ae.r,a=pe;return zt(()=>{var l,o;return Ue(()=>{l=o,o=r?.()||[],we(()=>{e!==n(...o)&&(t(e,...o),l&&Kc(n(...l),e)&&t(null,...l))})}),()=>{let c=a;for(;c!==s&&c.parent!==null&&c.parent.f&vo;)c=c.parent;const u=()=>{o&&Kc(n(...o),e)&&t(null,...o)},d=c.teardown;c.teardown=()=>{u(),d?.()}}}),e}function Yy(e,t,n,r=n){t.addEventListener("input",()=>{r(t[e])}),Ue(()=>{var s=n();if(t[e]!==s)if(s==null){var a=t[e];r(a)}else t[e]=s+""})}function Gy(e,t,n,r,s){var a=()=>{r(n[e])};n.addEventListener(t,a),s?Ue(()=>{n[e]=s()}):a(),(n===document.body||n===window||n===document)&&jt(()=>{n.removeEventListener(t,a)})}function Xy(e,t){Et(e,["focus","blur"],()=>{t(e===document.activeElement)})}function Jy(e,t,n=t){var r=e==="x",s=()=>Hn(()=>{a=!0,clearTimeout(l),l=setTimeout(o,100),n(window[r?"scrollX":"scrollY"])});addEventListener("scroll",s,{passive:!0});var a=!1,l,o=()=>{a=!1},c=!0;Ue(()=>{var u=t();c?c=!1:!a&&u!=null&&(a=!0,clearTimeout(l),r?scrollTo(u,window.scrollY):scrollTo(window.scrollX,u),l=setTimeout(o,100))}),zt(s),jt(()=>{removeEventListener("scroll",s)})}function Zy(e,t){Et(window,["resize"],()=>Hn(()=>t(window[e])))}function Qy(e){return function(...t){var n=t[0];n.isTrusted&&e?.apply(this,t)}}function $y(e){return function(...t){var n=t[0];n.target===this&&e?.apply(this,t)}}function e_(e){return function(...t){var n=t[0];return n.stopPropagation(),e?.apply(this,t)}}function t_(e){var t=!1;return function(...n){if(!t)return t=!0,e?.apply(this,n)}}function n_(e){return function(...t){var n=t[0];return n.stopImmediatePropagation(),e?.apply(this,t)}}function r_(e){return function(...t){var n=t[0];return n.preventDefault(),e?.apply(this,t)}}function s_(e=!1){const t=Ae,n=t.l.u;if(!n)return;let r=()=>wl(t.s);if(e){let s=0,a={};const l=Gs(()=>{let o=!1;const c=t.s;for(const u in c)c[u]!==a[u]&&(a[u]=c[u],o=!0);return o&&s++,s});r=()=>i(l)}n.b.length&&Wd(()=>{Wc(t,r),uo(n.b)}),xe(()=>{const s=we(()=>n.m.map(om));return()=>{for(const a of s)typeof a=="function"&&a()}}),n.a.length&&xe(()=>{Wc(t,r),uo(n.a)})}function Wc(e,t){if(e.l.s)for(const n of e.l.s)i(n);t()}function a_(e){var t=kt(0);return function(){return arguments.length===1?(E(t,i(t)+1),arguments[0]):(i(t),e())}}function i_(e,t){var n=e.$$events?.[t.type],r=Jr(n)?n.slice():n==null?[]:[n];for(var s of r)s.call(this,t)}function o_(e,t,n){e.$$events||={},e.$$events[t]||=[],e.$$events[t].push(n)}function l_(e){for(var t in e)t in this&&(this[t]=e[t])}function c_(e,t=1){const n=e();return e(n+t),n}function u_(e,t=1){const n=e()+t;return e(n),n}const d_={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function f_(e,t,n){return new Proxy({props:e,exclude:t},d_)}const v_={get(e,t){if(!e.exclude.includes(t))return i(e.version),t in e.special?e.special[t]():e.props[t]},set(e,t,n){if(!(t in e.special)){var r=pe;try{lt(e.parent_effect),e.special[t]=$({get[t](){return e.props[t]}},t,Ju)}finally{lt(r)}}return e.special[t](n),qr(e.version),!0},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},deleteProperty(e,t){return e.exclude.includes(t)||(e.exclude.push(t),qr(e.version)),!0},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function h_(e,t){return new Proxy({props:e,exclude:t,special:{},version:kt(0),parent_effect:pe},v_)}const p_={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(wr(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let s=e.props[r];wr(s)&&(s=s());const a=rn(s,t);if(a&&a.set)return a.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(wr(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r){const s=rn(r,t);return s&&!s.configurable&&(s.configurable=!0),s}}},has(e,t){if(t===ot||t===ci)return!1;for(let n of e.props)if(wr(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if(wr(n)&&(n=n()),!!n){for(const r in n)t.includes(r)||t.push(r);for(const r of Object.getOwnPropertySymbols(n))t.includes(r)||t.push(r)}return t}};function ea(...e){return new Proxy({props:e},p_)}function $(e,t,n,r){var s=(n&Zp)!==0,a=(n&Qp)!==0,l=r,o=!0,c=()=>(o&&(o=!1,l=a?we(r):r),l);let u;if(s){var d=ot in e||ci in e;u=rn(e,t)?.set??(d&&t in e?_=>e[t]=_:void 0)}var f,h=!1;s?[f,h]=Ed(()=>e[t]):f=e[t],f===void 0&&r!==void 0&&(f=c(),u&&(Pm(),u(f)));var b;if(b=()=>{var _=e[t];return _===void 0?c():(o=!0,_)},!(n&Ju))return b;if(u){var x=e.$$legacy;return function(_,m){return arguments.length>0?((!m||x||h)&&u(m?b():_),_):b()}}var y=!1,g=(n&Jp?Gs:fl)(()=>(y=!1,b()));s&&i(g);var S=pe;return function(_,m){if(arguments.length>0){const I=m?i(g):s?le(_):_;return E(g,I),y=!0,l!==void 0&&(l=I),_}return Rn&&y||S.f&yt?g.v:i(g)}}function m_(e,t,n,r,s,a){Pd(t,()=>{var l=!1;il?.[Ct],Ue(()=>{if(!l){var[o,c]=Ed(n);if(!c){var u=r(),d=!1,f=Ue(()=>{d||o[u]});d=!0,f.deps===null&&(Om(),l=!0)}}})})}function b_(e){return new g_(e)}class g_{#e;#t;constructor(t){var n=new Map,r=(a,l)=>{var o=vi(l,!1,!1);return n.set(a,o),o};const s=new Proxy({...t.props||{},$$events:{}},{get(a,l){return i(n.get(l)??r(l,Reflect.get(a,l)))},has(a,l){return l===ci?!0:(i(n.get(l)??r(l,Reflect.get(a,l))),Reflect.has(a,l))},set(a,l,o){return E(n.get(l)??r(l,o),o),Reflect.set(a,l,o)}});this.#t=(t.hydrate?vf:Fe)(t.component,{target:t.target,anchor:t.anchor,props:s,context:t.context,intro:t.intro??!1,recover:t.recover,transformError:t.transformError}),(!t?.props?.$$host||t.sync===!1)&&qn(),this.#e=s.$$events;for(const a of Object.keys(this.#t))a==="$set"||a==="$destroy"||a==="$on"||rr(this,a,{get(){return this.#t[a]},set(l){this.#t[a]=l},enumerable:!0});this.#t.$set=a=>{Object.assign(s,a)},this.#t.$destroy=()=>{Qe(this.#t)}}$set(t){this.#t.$set(t)}$on(t,n){this.#e[t]=this.#e[t]||[];const r=(...s)=>n.call(this,...s);return this.#e[t].push(r),()=>{this.#e[t]=this.#e[t].filter(s=>s!==r)}}$destroy(){this.#t.$destroy()}}let Tf;typeof HTMLElement=="function"&&(Tf=class extends HTMLElement{$$ctor;$$s;$$c;$$cn=!1;$$d={};$$r=!1;$$p_d={};$$l={};$$l_u=new Map;$$me;$$shadowRoot=null;constructor(e,t,n){super(),this.$$ctor=e,this.$$s=t,n&&(this.$$shadowRoot=this.attachShadow(n))}addEventListener(e,t,n){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(t),this.$$c){const r=this.$$c.$on(e,t);this.$$l_u.set(t,r)}super.addEventListener(e,t,n)}removeEventListener(e,t,n){if(super.removeEventListener(e,t,n),this.$$c){const r=this.$$l_u.get(t);r&&(r(),this.$$l_u.delete(t))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(r){return s=>{const a=Un("slot");r!=="default"&&(a.name=r),k(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;const t={},n=y_(this);for(const r of this.$$s)r in n&&(r==="default"&&!this.$$d.children?(this.$$d.children=e(r),t.default=!0):t[r]=e(r));for(const r of this.attributes){const s=this.$$g_p(r.name);s in this.$$d||(this.$$d[s]=ka(s,r.value,this.$$p_d,"toProp"))}for(const r in this.$$p_d)!(r in this.$$d)&&this[r]!==void 0&&(this.$$d[r]=this[r],delete this[r]);this.$$c=b_({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:t,$$host:this}}),this.$$me=$r(()=>{Ue(()=>{this.$$r=!0;for(const r of Pa(this.$$c)){if(!this.$$p_d[r]?.reflect)continue;this.$$d[r]=this.$$c[r];const s=ka(r,this.$$d[r],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[r].attribute||r):this.setAttribute(this.$$p_d[r].attribute||r,s)}this.$$r=!1})});for(const r in this.$$l)for(const s of this.$$l[r]){const a=this.$$c.$on(r,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,t,n){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ka(e,n,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return Pa(this.$$p_d).find(t=>this.$$p_d[t].attribute===e||!this.$$p_d[t].attribute&&t.toLowerCase()===e)||e}});function ka(e,t,n,r){const s=n[e]?.type;if(t=s==="Boolean"&&typeof t!="boolean"?t!=null:t,!r||!n[e])return t;if(r==="toAttribute")switch(s){case"Object":case"Array":return t==null?null:JSON.stringify(t);case"Boolean":return t?"":null;case"Number":return t??null;default:return t}else switch(s){case"Object":case"Array":return t&&JSON.parse(t);case"Boolean":return t;case"Number":return t!=null?+t:t;default:return t}}function y_(e){const t={};return e.childNodes.forEach(n=>{t[n.slot||"default"]=!0}),t}function __(e,t,n,r,s,a){let l=class extends Tf{constructor(){super(e,n,s),this.$$p_d=t}static get observedAttributes(){return Pa(t).map(o=>(t[o].attribute||o).toLowerCase())}};return Pa(t).forEach(o=>{rr(l.prototype,o,{get(){return this.$$c&&o in this.$$c?this.$$c[o]:this.$$d[o]},set(c){c=ka(o,c,t),this.$$d[o]=c;var u=this.$$c;if(u){var d=rn(u,o)?.get;d?u[o]=c:u.$set({[o]:c})}}})}),r.forEach(o=>{rr(l.prototype,o,{get(){return this.$$c?.[o]}})}),a&&(l=a(l)),e.element=l,l}function w_(e,...t){return we(()=>{try{let n=!1;const r=[];for(const s of t)s&&typeof s=="object"&&ot in s?(r.push(or(s,!0)),n=!0):r.push(s);n&&(Nm(e),console.log("%c[snapshot]","color: grey",...r))}catch{}}),t}const Rf=Object.freeze(Object.defineProperty({__proto__:null,CLASS:xr,FILENAME:Ct,HMR:_r,NAMESPACE_SVG:Fs,STYLE:Sr,aborted:wo,action:kf,get active_effect(){return pe},add_legacy_event_listener:o_,add_locations:Mg,add_svelte_meta:tb,animation:ry,append:k,append_styles:oy,apply:$b,assign:Rg,assign_async:Pg,async:Bg,async_derived:Ld,attach:Il,attachment:Tg,attr:dy,attribute_effect:Sy,autofocus:Qr,await:Ug,bind_active_element:Ay,bind_buffered:Py,bind_checked:ws,bind_content_editable:Yy,bind_current_time:Ry,bind_element_size:Wy,bind_ended:jy,bind_files:Ty,bind_focused:Xy,bind_group:Cy,bind_muted:By,bind_online:Vy,bind_paused:Ny,bind_playback_rate:Oy,bind_played:My,bind_prop:Fy,bind_property:Gy,bind_ready_state:Dy,bind_resize_observer:Ky,bind_seekable:Ly,bind_seeking:zy,bind_select_value:Cs,bind_this:qe,bind_value:Ie,bind_volume:qy,bind_window_scroll:Jy,bind_window_size:Zy,boundary:Rd,bubble_event:i_,check_target:Og,child:p,cleanup_styles:Lg,clsx:Sf,comment:Me,component:Qs,create_custom_element:__,create_ownership_validator:Dg,css_props:Wg,customizable_select:Iy,deep_read:ja,deep_read_state:wl,deferred_template_effect:Ub,delegate:ce,delegated:F,derived:U,derived_safe_equal:fl,get document(){return qd},each:ve,eager:yb,effect:zt,effect_root:$r,effect_tracking:Js,element:ay,equals:jb,event:ze,exclude_from_object:cm,fallback:lm,first_child:ue,flush:qn,for_await_track_reactivity_loss:Ib,from_html:A,from_mathml:rg,from_svg:xl,from_tree:sg,get:i,head:iy,hmr:jg,html:Jg,hydrate_template:Wm,if:K,index:ht,init:s_,init_select:Al,inspect:qg,invalid_default_snippet:vm,invalidate_inner_signals:Wb,invalidate_store:ub,invoke_error_boundary:bn,key:Kg,legacy_api:Ng,legacy_pre_effect:Bb,legacy_pre_effect_reset:Vb,legacy_rest_props:h_,log_if_contains_state:w_,mark_store_binding:pb,mutable_source:vi,mutate:Lb,next:Pt,noop:Tt,once:t_,pending:Sb,pop:ae,preventDefault:r_,prevent_snippet_stringification:pf,prop:$,props_id:og,proxy:le,push:se,raf:pn,reactive_import:a_,remove_input_defaults:ye,remove_textarea_child:ml,render_effect:Ue,replay_events:Qb,reset:v,rest_props:f_,run:Ab,run_after_blockers:Pd,safe_get:Jb,sanitize_slots:Qg,save:Eb,select_option:As,selectedcontent:Ey,self:$y,set:E,set_attribute:ne,set_checked:Cl,set_class:de,set_custom_element_data:ky,set_default_checked:yy,set_default_value:_y,set_selected:Tl,set_style:Ge,set_text:j,set_value:Ts,set_xlink_attribute:wy,setup_stores:db,sibling:w,slot:Zg,snapshot:or,snippet:Gt,spread_props:ea,state:H,stopImmediatePropagation:n_,stopPropagation:e_,store_get:lb,store_mutate:fb,store_set:Sd,store_unsub:cb,strict_equals:zb,tag:Qm,tag_proxy:md,template_effect:N,text:an,tick:Zs,to_array:sd,trace:Zm,track_reactivity_loss:go,transition:sy,trusted:Qy,untrack:we,update:qr,update_legacy_props:l_,update_pre:Mb,update_pre_prop:u_,update_pre_store:hb,update_prop:c_,update_store:vb,user_effect:xe,user_pre_effect:Wd,validate_binding:m_,validate_dynamic_element_tag:_g,validate_snippet_args:Vg,validate_store:wg,validate_void_dynamic_element:yg,wait:Cb,get window(){return yo},with_script:ag,wrap_snippet:kg},Symbol.toStringTag,{value:"Module"}));class Ao{#e=new Map;read(t){return this.#e.get(t)}write(t,n){this.#e.set(t,n)}delete(t){this.#e.delete(t)}list(){return[...this.#e.keys()]}}class Yc{#e;constructor(t){this.#e=t}read(t){if(typeof localStorage>"u")return;const n=localStorage.getItem(this.#e+t);if(n!=null)try{return JSON.parse(n)}catch{return}}write(t,n){if(!(typeof localStorage>"u"))try{localStorage.setItem(this.#e+t,JSON.stringify(n))}catch{}}delete(t){typeof localStorage>"u"||localStorage.removeItem(this.#e+t)}list(){if(typeof localStorage>"u")return[];const t=[];for(let n=0;n<localStorage.length;n++){const r=localStorage.key(n);r&&r.startsWith(this.#e)&&t.push(r.slice(this.#e.length))}return t}}const k_=["workspace","user"],Rs="state:manage",un={ephemeral:new Ao,session:new Ao,workspace:new Yc("sh3:workspace:"),user:new Yc("sh3:user:")},Zi=new Map;let Qi=!1;function x_(e,t,n){Zi.set(`${e}:${t}`,{zone:e,shardId:t,value:n}),!Qi&&(Qi=!0,queueMicrotask(()=>{Qi=!1;for(const{zone:r,shardId:s,value:a}of Zi.values())un[r].write(s,a);Zi.clear()}))}function mi(e,t){const n={};for(const r of Object.keys(t)){const s=t[r],l=un[r].read(e),o={...s,...l??{}},c=le(o);n[r]=c,k_.includes(r)&&$r(()=>{let u=!0;xe(()=>{const d=or(c);if(u){u=!1;return}x_(r,e,d)})})}return n}function $i(e,t){un[e]=t}function S_(e,t){return un[e].read(t)}function Co(e,t){un[e].delete(t)}const E_="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(E_);const I_=["a[href]","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])",'[tabindex]:not([tabindex="-1"])'].join(",");function A_(e){const t=document.activeElement;function n(){return Array.from(e.querySelectorAll(I_))}function r(s){if(s.key!=="Tab")return;const a=n();if(a.length===0){s.preventDefault();return}const l=a[0],o=a[a.length-1],c=document.activeElement;s.shiftKey&&(c===l||!e.contains(c))?(s.preventDefault(),o.focus()):!s.shiftKey&&(c===o||!e.contains(c))&&(s.preventDefault(),l.focus())}return e.addEventListener("keydown",r),queueMicrotask(()=>{(n()[0]??e).focus()}),()=>{e.removeEventListener("keydown",r),t&&document.contains(t)&&t.focus()}}var C_=A('<div class="modal-frame svelte-2tcvcm" role="presentation"><div class="modal-box svelte-2tcvcm" role="dialog" aria-modal="true" tabindex="-1"><!></div></div>');function T_(e,t){se(t,!0);let n;xe(()=>{if(n)return A_(n)});function r(o){t.onBackdropClick&&o.target===o.currentTarget&&t.onBackdropClick()}var s=C_(),a=p(s),l=p(a);Qs(l,()=>t.Content,(o,c)=>{c(o,ea(()=>t.contentProps,{get close(){return t.close}}))}),v(a),qe(a,o=>n=o,()=>n),v(s),N(()=>Ge(a,t.boxStyle)),F("click",s,r),k(e,s),ae()}ce(["click"]);const Ll={};function R_(e,t){Ll[e]=t}function P_(e){delete Ll[e]}function bi(e){const t=Ll[e];if(!t)throw new Error(`Overlay layer "${e}" root is not registered — Sh3.svelte must mount before opening overlays on this layer.`);return t}const Bn=le(new Map),it=le({id:null}),Vr=le({id:null});function L_(){return Vr.id}function Ps(e){Bn.set(e.manifest.id,e)}function ns(){return Array.from(Bn.values()).map(e=>e.manifest)}function Ml(){const e=it.id;return e?Bn.get(e)?.manifest??null:null}function _n(e){return Bn.get(e)}const ks=[],Pr=[];let Ls=null;function M_(e){Ls=e}function z_(e){if(!it.id)throw new Error("pushNavEntry requires an active app");const t=Symbol("nav-entry");return Pr.push({id:t,label:e.label,onPop:e.onPop}),{remove(){const n=Pr.findIndex(r=>r.id===t);n>=0&&Pr.splice(n,1)}}}function Pf(e){const t=Symbol("dismissable");return ks.push({id:t,dismiss:e}),{unregister(){const n=ks.findIndex(r=>r.id===t);n>=0&&ks.splice(n,1)}}}function Lf(){Pr.length=0}function j_(){if(ks.length>0){ks.pop().dismiss();return}if(Pr.length>0){Pr.pop().onPop();return}it.id&&Ls&&Ls.returnToHome()}function D_(){it.id||Vr.id&&Ls&&Ls.launchApp(Vr.id)}const Lt=[];let qa=!1,qt=null;const O_=.5;function Mf(){const e=bi("modal");if(Lt.length===0){qt&&(qt.remove(),qt=null);return}qt||(qt=document.createElement("div"),qt.className="sh3-modal-backdrop",qt.style.position="absolute",qt.style.inset="0",qt.style.pointerEvents="auto",qt.style.transition="background-color 120ms ease",qt.style.background=`rgba(0, 0, 0, ${O_})`);const t=Lt[Lt.length-1].host;e.insertBefore(qt,t)}function zf(e){e.key==="Escape"&&Lt.length!==0&&(e.stopPropagation(),e.preventDefault(),Lt[Lt.length-1].handle.close())}function N_(){qa||(qa=!0,document.addEventListener("keydown",zf,!0))}function q_(){Lt.length>0||qa&&(qa=!1,document.removeEventListener("keydown",zf,!0))}function jf(e){const t=Lt.indexOf(e);t<0||(Lt.splice(t,1),Qe(e.frame),e.host.remove(),Mf(),q_())}function B_(e,t,n){const r=bi("modal"),s=document.createElement("div");s.className="sh3-modal-host",s.dataset.sh3OverlayHost="modal",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="auto",r.appendChild(s);const a={},l={close:()=>jf(a)},o=Pf(()=>l.close()),c=l.close;l.close=()=>{o.unregister(),c()};const u=Fe(T_,{target:s,props:{Content:e,contentProps:t??{},close:l.close,boxStyle:n?.boxStyle,onBackdropClick:n?.dismissOnBackdrop?l.close:void 0}});return a.host=s,a.frame=u,a.handle=l,Lt.push(a),Mf(),N_(),l}function V_(){for(;Lt.length>0;)jf(Lt[Lt.length-1])}const Zt={open:B_,closeAll:V_};var F_=A('<div class="popup-frame svelte-mp81cl" role="menu" tabindex="-1"><!></div>');function U_(e,t){se(t,!0);let n,r=H(-9999),s=H(-9999);xe(()=>{if(!n)return;const o=n.getBoundingClientRect(),c=4,u=window.innerWidth,d=window.innerHeight;let f=t.anchorRect.bottom+c,h=t.anchorRect.left;if(h+o.width>u-c&&(h=Math.max(c,u-o.width-c)),f+o.height>d-c){const b=t.anchorRect.top-o.height-c;f=b>=c?b:Math.max(c,d-o.height-c)}E(r,f,!0),E(s,h,!0)});var a=F_(),l=p(a);Qs(l,()=>t.Content,(o,c)=>{c(o,ea(()=>t.contentProps,{get close(){return t.close}}))}),v(a),qe(a,o=>n=o,()=>n),N(()=>Ge(a,`top: ${i(r)??""}px; left: ${i(s)??""}px;`)),k(e,a),ae()}function H_(e){return e instanceof HTMLElement?e.getBoundingClientRect():new DOMRect(e.x,e.y,0,0)}let Wt=null;function Df(e){if(!Wt)return;const t=e.target;t&&Wt.host.contains(t)||Wt.handle.close()}function Of(e){Wt&&e.key==="Escape"&&(e.stopPropagation(),e.preventDefault(),Wt.handle.close())}function K_(){document.addEventListener("pointerdown",Df,!0),document.addEventListener("keydown",Of,!0)}function W_(){document.removeEventListener("pointerdown",Df,!0),document.removeEventListener("keydown",Of,!0)}function To(e){Wt===e&&(Wt=null,W_(),Qe(e.frame),e.host.remove())}function Y_(e,t,n){Wt&&To(Wt);const r=bi("popup"),s=document.createElement("div");s.className="sh3-popup-host",s.dataset.sh3OverlayHost="popup",s.style.position="absolute",s.style.inset="0",s.style.pointerEvents="none",r.appendChild(s);const a=H_(t.anchor),l={},o={close:()=>To(l)},c=Pf(()=>o.close()),u=o.close;o.close=()=>{c.unregister(),u()};const d=Fe(U_,{target:s,props:{Content:e,contentProps:n??{},anchorRect:a,close:o.close}});return l.host=s,l.frame=d,l.handle=o,Wt=l,queueMicrotask(K_),o}function G_(){Wt&&To(Wt)}const Ro={show:Y_,close:G_};var X_=A('<div role="status" aria-live="polite"><span class="toast-level svelte-12gwnj0"> </span> <span class="toast-message svelte-12gwnj0"> </span></div>');function J_(e,t){var n=X_(),r=p(n),s=p(r,!0);v(r);var a=w(r,2),l=p(a,!0);v(a),v(n),N(()=>{de(n,1,`toast toast-${t.level??""}`,"svelte-12gwnj0"),j(s,t.level),j(l,t.message)}),F("click",n,function(...o){t.close?.apply(this,o)}),k(e,n)}ce(["click"]);const Ba=new Set;let pt=null;function Z_(){if(pt&&pt.isConnected)return pt;const e=bi("toast");return pt=document.createElement("div"),pt.className="sh3-toast-stack",pt.style.position="absolute",pt.style.right="16px",pt.style.bottom="16px",pt.style.display="flex",pt.style.flexDirection="column-reverse",pt.style.gap="6px",pt.style.pointerEvents="none",e.appendChild(pt),pt}function Po(e){Ba.has(e)&&(Ba.delete(e),e.timer!==null&&(clearTimeout(e.timer),e.timer=null),Qe(e.instance),e.host.remove())}function Q_(e,t={}){const n=t.level??"info",r=t.duration??3e3,s=Z_(),a=document.createElement("div");a.className="sh3-toast-host",s.appendChild(a);const l={},o={close:()=>Po(l)},c=Fe(J_,{target:a,props:{message:e,level:n,close:o.close}});return l.host=a,l.instance=c,l.handle=o,l.timer=Number.isFinite(r)&&r>0?setTimeout(()=>Po(l),r):null,Ba.add(l),o}function $_(){for(const e of[...Ba])Po(e)}const gn={notify:Q_,clear:$_},Gc={w:120,h:80};function zl(e){if(e.type==="slot")return{...Gc};if(e.type==="tabs")return{...Gc};const t=e.children.map(zl);return e.direction==="horizontal"?{w:t.reduce((n,r)=>n+r.w,0),h:t.reduce((n,r)=>Math.max(n,r.h),0)}:{w:t.reduce((n,r)=>Math.max(n,r.w),0),h:t.reduce((n,r)=>n+r.h,0)}}const Xc=32,Jc={x:48,y:48};function Nf(e,t){if(e.length===0)return{...Jc};const n=e[e.length-1],r={x:n.position.x+Xc,y:n.position.y+Xc};return r.x+120>t.w||r.y+32>t.h?{...Jc}:r}let Zc=0;function qf(){return Zc+=1,`float-${Date.now().toString(36)}-${Zc.toString(36)}`}function Bf(e){return e.type==="slot"?e.viewId==null:e.type==="tabs"?e.tabs.every(t=>t.viewId==null):e.children.every(Bf)}function ew(e){return e.closest("[data-sh3-overlay-host]")}class tw extends Map{#e=new Map;#t=H(0);#n=H(0);#s=In||-1;constructor(t){if(super(),t){for(var[n,r]of t)super.set(n,r);this.#n.v=super.size}}#r(t){return In===this.#s?H(t):kt(t)}has(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#r(0),n.set(t,r);else return i(this.#t),!1;return i(r),!0}forEach(t,n){this.#i(),super.forEach(t,n)}get(t){var n=this.#e,r=n.get(t);if(r===void 0)if(super.has(t))r=this.#r(0),n.set(t,r);else{i(this.#t);return}return i(r),super.get(t)}set(t,n){var r=this.#e,s=r.get(t),a=super.get(t),l=super.set(t,n),o=this.#t;if(s===void 0)s=this.#r(0),r.set(t,s),E(this.#n,super.size),hn(o);else if(a!==n){hn(s);var c=o.reactions===null?null:new Set(o.reactions),u=c===null||!s.reactions?.every(d=>c.has(d));u&&hn(o)}return l}delete(t){var n=this.#e,r=n.get(t),s=super.delete(t);return r!==void 0&&(n.delete(t),E(r,-1)),s&&(E(this.#n,super.size),hn(this.#t)),s}clear(){if(super.size!==0){super.clear();var t=this.#e;E(this.#n,0);for(var n of t.values())E(n,-1);hn(this.#t),t.clear()}}#i(){i(this.#t);var t=this.#e;if(this.#n.v!==t.size){for(var n of super.keys())if(!t.has(n)){var r=this.#r(0);t.set(n,r)}}for([,r]of this.#e)i(r)}keys(){return i(this.#t),super.keys()}values(){return this.#i(),super.values()}entries(){return this.#i(),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return i(this.#n),super.size}}const Lo=new tw;function Ms(e,t){t?Lo.set(e,!0):Lo.delete(e)}function nw(e){return Lo.get(e)??!1}let rw=[],jl=null,ta=()=>({w:1600,h:900});function sw(e,t){jl=e,ta=t}function aw(){jl=null,ta=()=>({w:1600,h:900})}function pr(){return jl??rw}const Dl=new Map;function iw(e){return Dl.get(e)}const An=new Map;let Qc=0;function ow(e){return Qc+=1,`float:${e}:${Qc}`}const lw={w:600,h:400};function cw(e,t){return{w:Math.max(e.w,t.w),h:Math.max(e.h,t.h)}}function uw(e,t={}){const n=pr(),r=qf(),s=ow(e);let a;if(t.dismissable){const d={type:"slot",slotId:s,viewId:e};t.meta&&(d.meta=t.meta),a=d}else{const d=t.title??e,f={slotId:s,viewId:e,label:d};t.meta&&(f.meta=t.meta),a={type:"tabs",tabs:[f],activeTab:0}}const l=zl(a),o=t.size??cw(lw,l),c=t.position??Nf(n,ta()),u={id:r,content:a,position:c,size:o,title:t.title};if(t.dismissable&&(u.dismissable=!0),t.dismissable&&t.anchor){const d=ew(t.anchor);d&&Dl.set(r,d)}return n.push(u),r}function dw(e){const t=pr(),n=qf(),r=e.position??Nf(t,ta()),s={id:n,content:e.content,position:r,size:e.size,title:e.title};return t.push(s),n}function fw(e){const t=pr(),n=t.findIndex(r=>r.id===e);n<0||(t.splice(n,1),Dl.delete(e),An.delete(e),Ms(e,!1))}function vw(){return pr().slice()}function Vf(e){const t=pr(),n=t.findIndex(s=>s.id===e);if(n<0||n===t.length-1)return;const[r]=t.splice(n,1);t.push(r)}function Ff(e){if(An.has(e))return;const t=pr().find(r=>r.id===e);if(!t)return;An.set(e,{position:{x:t.position.x,y:t.position.y},size:{w:t.size.w,h:t.size.h}}),Ms(e,!0);const n=ta();t.position.x=0,t.position.y=0,t.size.w=n.w,t.size.h=n.h,Vf(e)}function Uf(e){const t=An.get(e);if(!t)return;const n=pr().find(r=>r.id===e);if(!n){An.delete(e),Ms(e,!1);return}n.position.x=t.position.x,n.position.y=t.position.y,n.size.w=t.size.w,n.size.h=t.size.h,An.delete(e),Ms(e,!1)}function hw(e){An.has(e)?Uf(e):Ff(e)}function pw(e){An.has(e)&&(An.delete(e),Ms(e,!1))}function mw(e){return nw(e)}const Te={open:uw,openWithContent:dw,close:fw,list:vw,focus:Vf,maximize:Ff,restore:Uf,toggleMaximize:hw,unmaximize:pw,isMaximized:mw};let Va=null;function bw(e){Va=e}function gw(){Va=null}function Ol(){if(!Va)throw new Error("presetManager: no app attached — bind an AppLayoutBlob first");return Va}function yw(){return Object.keys(Ol().presets)}function _w(){return Ol().activePreset}function ww(e){const t=Ol();if(!(e in t.presets))throw new Error(`presetManager.switch: unknown preset "${e}"`);t.activePreset=e}const kw={list:yw,active:_w,switch:ww},Ar=new Map,xa=new Map,Mo=new Set,Fr=new Map;function $c(e){const t=xa.get(e);if(t)for(const n of t)n();for(const n of Mo)n(e)}function xw(e,t){let n=Fr.get(e);n||(n=new Set,Fr.set(e,n)),n.add(t)}function Sw(e,t){const n=Fr.get(e);n&&(n.delete(t),n.size===0&&Fr.delete(e))}function Hf(e,t,n){const r=Symbol();let s=Ar.get(e);s||(s=new Map,Ar.set(e,s)),s.set(r,t),$c(e);const a=n?.scope?.slotId;let l=!1;const o=()=>{if(l)return;l=!0,a&&Sw(a,o);const c=Ar.get(e);c&&c.delete(r)&&(c.size===0&&Ar.delete(e),$c(e))};return a&&xw(a,o),o}function mr(e){const t=Ar.get(e);return t?Array.from(t.values()):[]}function Ew(){return Array.from(Ar.keys())}function gi(e,t){let n=xa.get(e);n||(n=new Set,xa.set(e,n)),n.add(t);let r=!1;return()=>{r||(r=!0,n.delete(t),n.size===0&&xa.delete(e))}}function Iw(e){Mo.add(e);let t=!1;return()=>{t||(t=!0,Mo.delete(e))}}function Aw(e){const t=Fr.get(e);if(!t)return;const n=Array.from(t);for(const r of n)r();Fr.delete(e)}const Cw=Object.freeze([".md",".txt",".json",".guml",".css",".js",".ts",".tsx",".jsx",".html",".svg",".csv",".yaml",".yml",".xml",".log",".ini",".toml"]);function Tw(e){return e.kind?e.kind:e.extension&&Cw.includes(e.extension.toLowerCase())?"text":"binary"}const Sa=[];function eu(e){return Sa.push(e),()=>{const t=Sa.indexOf(e);t>=0&&Sa.splice(t,1)}}function Rw(e,t=[]){return[...Sa,...t].filter(r=>{try{return r.appliesTo(e)}catch{return!1}}).sort((r,s)=>(s.priority??0)-(r.priority??0))[0]??null}var Pw=A("<span> </span>"),Lw=A('<div class="sh3-conflict-text-dual svelte-iwgja4"><div role="button" tabindex="0"><header class="sh3-conflict-text-head svelte-iwgja4"> </header> <pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre></div> <div role="button" tabindex="0"><header class="sh3-conflict-text-head svelte-iwgja4"> </header> <pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre></div></div> <details class="sh3-conflict-text-diff svelte-iwgja4"><summary> </summary> <pre class="svelte-iwgja4"><code></code></pre></details>',1),Mw=A("<option> </option>"),zw=A("<button> </button>"),jw=A('<pre class="sh3-conflict-text-body svelte-iwgja4"><code> </code></pre>'),Dw=A('<div class="sh3-conflict-text-tabs svelte-iwgja4"><div class="sh3-conflict-text-picker svelte-iwgja4"><label>Reference: <select class="svelte-iwgja4"></select></label></div> <div class="sh3-conflict-text-tablist svelte-iwgja4"></div> <!></div>'),Ow=A('<div class="sh3-conflict-text svelte-iwgja4"><!></div>');function Nw(e,t){se(t,!0);let n=H("");xe(()=>{(!i(n)||!t.item.branches.find(b=>b.origin===i(n)))&&E(n,t.item.branches[0]?.origin??"local",!0)});const r=U(()=>t.item.branches.length===2),s=U(()=>i(r)?t.item.branches[0]:t.item.branches.find(b=>b.origin===i(n))??t.item.branches[0]),a=U(()=>i(r)?t.item.branches[1]:t.item.branches.find(b=>b.origin===t.selectedOrigin)??t.item.branches[1]??t.item.branches[0]);function l(b,x){const y=(b??"").split(/\r?\n/),g=(x??"").split(/\r?\n/),S=[],_=Math.max(y.length,g.length);for(let m=0;m<_;m++){const I=y[m],R=g[m];I===R?typeof I=="string"&&S.push({kind:"same",text:I}):(typeof I=="string"&&S.push({kind:"left",text:I}),typeof R=="string"&&S.push({kind:"right",text:R}))}return S}const o=U(()=>!i(s)||!i(a)?[]:l(i(s).content??"",i(a).content??"")),c=U(()=>i(o).filter(b=>b.kind!=="same").length);var u=Ow(),d=p(u);{var f=b=>{var x=Lw(),y=ue(x),g=p(y);let S;var _=p(g),m=p(_);v(_);var I=w(_,2),R=p(I),P=p(R,!0);v(R),v(I),v(g);var T=w(g,2);let z;var L=p(T),D=p(L);v(L);var C=w(L,2),O=p(C),B=p(O,!0);v(O),v(C),v(T),v(y);var M=w(y,2),V=p(M),Z=p(V);v(V);var G=w(V,2),Q=p(G);ve(Q,21,()=>i(o),ht,(J,ee)=>{var Y=Pw(),q=p(Y);v(Y),N(()=>{de(Y,1,`diff-${i(ee).kind}`,"svelte-iwgja4"),j(q,`${i(ee).kind==="same"?" ":i(ee).kind==="left"?"- ":"+ "}${i(ee).text??""}
8
+ `)}),k(J,Y)}),v(Q),v(G),v(M),N(()=>{S=de(g,1,"sh3-conflict-text-pane svelte-iwgja4",null,S,{selected:i(s).origin===t.selectedOrigin}),j(m,`${i(s).origin??""} · v${i(s).version??""}`),j(P,i(s).content??""),z=de(T,1,"sh3-conflict-text-pane svelte-iwgja4",null,z,{selected:i(a).origin===t.selectedOrigin}),j(D,`${i(a).origin??""} · v${i(a).version??""}`),j(B,i(a).content??""),j(Z,`Line diff (${i(c)??""} difference${i(c)===1?"":"s"})`)}),F("click",g,()=>t.onSelect(i(s).origin)),F("keydown",g,J=>{(J.key==="Enter"||J.key===" ")&&t.onSelect(i(s).origin)}),F("click",T,()=>t.onSelect(i(a).origin)),F("keydown",T,J=>{(J.key==="Enter"||J.key===" ")&&t.onSelect(i(a).origin)}),k(b,x)},h=b=>{var x=Dw(),y=p(x),g=p(y),S=w(p(g));ve(S,21,()=>t.item.branches,R=>R.origin,(R,P)=>{var T=Mw(),z=p(T,!0);v(T);var L={};N(()=>{j(z,i(P).origin),L!==(L=i(P).origin)&&(T.value=(T.__value=i(P).origin)??"")}),k(R,T)}),v(S),v(g),v(y);var _=w(y,2);ve(_,21,()=>t.item.branches,R=>R.origin,(R,P)=>{var T=zw();let z;var L=p(T);v(T),N(()=>{z=de(T,1,"sh3-conflict-text-tab svelte-iwgja4",null,z,{selected:i(P).origin===t.selectedOrigin}),j(L,`${i(P).origin??""} · v${i(P).version??""}`)}),F("click",T,()=>t.onSelect(i(P).origin)),k(R,T)}),v(_);var m=w(_,2);{var I=R=>{var P=jw(),T=p(P),z=p(T,!0);v(T),v(P),N(()=>j(z,i(a).content??"")),k(R,P)};K(m,R=>{i(a)&&R(I)})}v(x),Cs(S,()=>i(n),R=>E(n,R)),k(b,x)};K(d,b=>{i(r)&&i(s)&&i(a)?b(f):b(h,-1)})}v(u),k(e,u),ae()}ce(["click","keydown"]);var qw=A("· <code> </code>",1),Bw=A('<li class="sh3-conflict-meta-li svelte-1nz3djn"><button type="button"><div class="sh3-conflict-meta-origin svelte-1nz3djn"> </div> <div class="sh3-conflict-meta-detail svelte-1nz3djn"> <!></div></button></li>'),Vw=A('<div class="sh3-conflict-meta svelte-1nz3djn"><div class="sh3-conflict-meta-note svelte-1nz3djn">No preview available for this content. Pick the branch you want to keep.</div> <ul class="sh3-conflict-meta-list svelte-1nz3djn"></ul></div>');function Fw(e,t){se(t,!0);function n(l){return typeof l!="number"?"—":l<1024?`${l} B`:l<1024*1024?`${(l/1024).toFixed(1)} KiB`:`${(l/(1024*1024)).toFixed(2)} MiB`}function r(l){const o=Date.now()-l;return o<6e4?"just now":o<36e5?`${Math.floor(o/6e4)}m ago`:o<864e5?`${Math.floor(o/36e5)}h ago`:new Date(l).toLocaleString()}var s=Vw(),a=w(p(s),2);ve(a,21,()=>t.item.branches,l=>l.origin,(l,o)=>{var c=Bw(),u=p(c);let d;var f=p(u),h=p(f,!0);v(f);var b=w(f,2),x=p(b),y=w(x);{var g=S=>{var _=qw(),m=w(ue(_)),I=p(m,!0);v(m),N(()=>j(I,i(o).hashPreview)),k(S,_)};K(y,S=>{i(o).hashPreview&&S(g)})}v(b),v(u),v(c),N((S,_)=>{d=de(u,1,"sh3-conflict-meta-row svelte-1nz3djn",null,d,{selected:i(o).origin===t.selectedOrigin}),j(h,i(o).origin),j(x,`v${i(o).version??""} · ${S??""} · ${_??""} `)},[()=>r(i(o).at),()=>n(i(o).sizeBytes)]),F("click",u,()=>t.onSelect(i(o).origin)),k(l,c)}),v(a),v(s),k(e,s),ae()}ce(["click"]);const Uw=1048576;function Hw(e){return typeof e=="number"&&e>Uw}const Kw={id:"sh3-core.text",priority:1,appliesTo:e=>Tw(e)!=="text"?!1:!e.branches.some(t=>Hw(t.sizeBytes)),mount(e,t){const n=Fe(Nw,{target:e,props:t});return()=>{Qe(n)}}},Ww={id:"sh3-core.meta",priority:0,appliesTo:()=>!0,mount(e,t){const n=Fe(Fw,{target:e,props:t});return()=>{Qe(n)}}};let tu=!1;function Yw(){tu||(tu=!0,eu(Kw),eu(Ww))}var Gw=A('<div class="sh3-conflict-prompt svelte-1jvtzud"><h3 class="sh3-conflict-prompt-title svelte-1jvtzud"> </h3> <p class="sh3-conflict-prompt-intro svelte-1jvtzud">Pick one option for the whole batch, or resolve each conflict individually.</p> <div class="sh3-conflict-prompt-actions svelte-1jvtzud"><button type="button" class="sh3-conflict-prompt-primary svelte-1jvtzud">Overwrite with most recent</button> <button type="button" class="sh3-conflict-prompt-secondary svelte-1jvtzud">Resolve individually</button> <button type="button" class="sh3-conflict-prompt-cancel svelte-1jvtzud">Cancel</button></div></div>');function Xw(e,t){var n=Gw(),r=p(n),s=p(r);v(r);var a=w(r,4),l=p(a);Qr(l,!0);var o=w(l,2),c=w(o,2);v(a),v(n),N(()=>j(s,`${t.count??""} conflict${t.count===1?"":"s"} to resolve`)),F("click",l,function(...u){t.onOverwriteMostRecent?.apply(this,u)}),F("click",o,function(...u){t.onResolveIndividually?.apply(this,u)}),F("click",c,function(...u){t.onCancel?.apply(this,u)}),k(e,n)}ce(["click"]);var Jw=A('<span class="sh3-conflict-detail-counter svelte-pw8iv6"> </span>'),Zw=A('<button type="button"><span><!></span> <span class="sh3-conflict-detail-rail-label svelte-pw8iv6"> </span></button>'),Qw=A('<aside class="sh3-conflict-detail-rail svelte-pw8iv6"></aside>'),$w=A('<label class="sh3-conflict-detail-branch svelte-pw8iv6"><input type="radio"/> <span> </span></label>'),e1=A('<div class="sh3-conflict-detail-branches svelte-pw8iv6"></div> <div class="sh3-conflict-detail-renderer svelte-pw8iv6"></div>',1),t1=A('<div class="sh3-conflict-detail svelte-pw8iv6"><header class="sh3-conflict-detail-head svelte-pw8iv6"><h3 class="svelte-pw8iv6"> </h3> <!></header> <div class="sh3-conflict-detail-body svelte-pw8iv6"><!> <section class="sh3-conflict-detail-main svelte-pw8iv6"><!></section></div> <footer class="sh3-conflict-detail-foot svelte-pw8iv6"><div class="sh3-conflict-detail-nav svelte-pw8iv6"><button type="button" class="svelte-pw8iv6">← Prev</button> <button type="button" class="svelte-pw8iv6"> </button> <button type="button" class="svelte-pw8iv6">Next →</button></div> <div class="sh3-conflict-detail-actions svelte-pw8iv6"><button type="button" class="sh3-conflict-detail-cancel svelte-pw8iv6">Cancel</button> <button type="button" class="sh3-conflict-detail-done svelte-pw8iv6">Done</button></div></footer></div>');function n1(e,t){se(t,!0);const n=U(()=>t.items[t.currentIndex]),r=U(()=>i(n)?t.selections[i(n).id]??i(n).branches[0]?.origin??"":""),s=U(()=>i(n)?Rw(i(n),t.contributed):null);let a=H(void 0),l=null;xe(()=>{if(i(n),i(s),i(r),l&&(l(),l=null),!i(a)||!i(n)||!i(s))return;const V={item:i(n),selectedOrigin:i(r),onSelect:Z=>t.onSelect(i(n).id,Z)};return l=i(s).mount(i(a),V),()=>{l&&(l(),l=null)}});function o(){t.currentIndex>0&&t.onNavigate(t.currentIndex-1)}function c(){t.currentIndex<t.items.length-1&&t.onNavigate(t.currentIndex+1)}const u=U(()=>t.items.map(V=>t.skipped[V.id]?"skipped":t.selections[V.id]?"resolved":"pending"));var d=t1(),f=p(d),h=p(f),b=p(h,!0);v(h);var x=w(h,2);{var y=V=>{var Z=Jw(),G=p(Z);v(Z),N(()=>j(G,`${t.currentIndex+1} / ${t.items.length??""}`)),k(V,Z)};K(x,V=>{t.items.length>1&&V(y)})}v(f);var g=w(f,2),S=p(g);{var _=V=>{var Z=Qw();ve(Z,23,()=>t.items,G=>G.id,(G,Q,J)=>{var ee=Zw();let Y;var q=p(ee),W=p(q);{var ie=Se=>{var tt=an("✓");k(Se,tt)},X=Se=>{var tt=an("⟶");k(Se,tt)},fe=Se=>{var tt=an("·");k(Se,tt)};K(W,Se=>{i(u)[i(J)]==="resolved"?Se(ie):i(u)[i(J)]==="skipped"?Se(X,1):Se(fe,-1)})}v(q);var me=w(q,2),je=p(me,!0);v(me),v(ee),N(()=>{Y=de(ee,1,"sh3-conflict-detail-rail-item svelte-pw8iv6",null,Y,{selected:i(J)===t.currentIndex}),de(q,1,`sh3-conflict-detail-rail-state ${i(u)[i(J)]??""}`,"svelte-pw8iv6"),j(je,i(Q).label)}),F("click",ee,()=>t.onNavigate(i(J))),k(G,ee)}),v(Z),k(V,Z)};K(S,V=>{t.items.length>1&&V(_)})}var m=w(S,2),I=p(m);{var R=V=>{var Z=e1(),G=ue(Z);ve(G,21,()=>i(n).branches,J=>J.origin,(J,ee)=>{var Y=$w(),q=p(Y);ye(q);var W=w(q,2),ie=p(W);v(W),v(Y),N(()=>{ne(q,"name",`branch-${i(n).id??""}`),Ts(q,i(ee).origin),Cl(q,i(r)===i(ee).origin),j(ie,`${i(ee).origin??""} · v${i(ee).version??""}`)}),F("change",q,()=>t.onSelect(i(n).id,i(ee).origin)),k(J,Y)}),v(G);var Q=w(G,2);qe(Q,J=>E(a,J),()=>i(a)),k(V,Z)};K(I,V=>{i(n)&&V(R)})}v(m),v(g);var P=w(g,2),T=p(P),z=p(T),L=w(z,2),D=p(L,!0);v(L);var C=w(L,2);v(T);var O=w(T,2),B=p(O),M=w(B,2);v(O),v(P),v(d),N(()=>{j(b,t.title),z.disabled=t.currentIndex===0,j(D,i(n)&&t.skipped[i(n).id]?"Unskip":"Skip"),C.disabled=t.currentIndex>=t.items.length-1}),F("click",z,o),F("click",L,()=>i(n)&&t.onToggleSkip(i(n).id)),F("click",C,c),F("click",B,function(...V){t.onCancel?.apply(this,V)}),F("click",M,function(...V){t.onDone?.apply(this,V)}),k(e,d),ae()}ce(["click","change"]);function Kf(e,t){return t.at-e.at}function r1(e,t){if(e.length===0)return null;try{return[...e].sort(t)[0]}catch(n){return console.warn("[sh3-core] mostRecentBy comparator threw; falling back to default",n),[...e].sort(Kf)[0]}}function s1(e,t){se(t,!0);const n=t.items.length>=2||t.requirePrompt;let r=H(le(n?"prompt":"detail")),s=H(le(Object.fromEntries(t.items.map(m=>{const I=r1(m.branches,t.mostRecentBy)?.origin??m.branches[0]?.origin??"";return[m.id,I]})))),a=H(le({})),l=H(0),o=!1;El(()=>{o||(o=!0,t.onCancel())});function c(){if(o)return;o=!0;const m=[],I=[];for(const R of t.items){if(i(a)[R.id]){I.push(R.id);continue}const P=i(s)[R.id],T=R.branches.find(z=>z.origin===P);T&&m.push({itemId:R.id,chosen:T,meta:R.meta})}t.onResolve(m,I),t.close()}function u(){o||(o=!0,t.onCancel(),t.close())}function d(){c()}function f(){E(r,"detail")}function h(m,I){if(E(s,{...i(s),[m]:I},!0),i(a)[m]){const R={...i(a)};delete R[m],E(a,R,!0)}}function b(m){E(a,{...i(a),[m]:!i(a)[m]},!0)}function x(m){E(l,m,!0)}var y=Me(),g=ue(y);{var S=m=>{Xw(m,{get count(){return t.items.length},onOverwriteMostRecent:d,onResolveIndividually:f,onCancel:u})},_=m=>{n1(m,{get items(){return t.items},get selections(){return i(s)},get skipped(){return i(a)},get currentIndex(){return i(l)},get title(){return t.title},get contributed(){return t.contributed},onSelect:h,onNavigate:x,onToggleSkip:b,onDone:c,onCancel:u})};K(g,m=>{i(r)==="prompt"?m(S):m(_,-1)})}k(e,y),ae()}const Wf="sh3-core.conflictRenderer";class Yf extends Error{constructor(t){super(t),this.name="ConflictPermissionError"}}class a1 extends Error{constructor(){super("Caller shard deactivated while conflict session was active"),this.name="ConflictSessionOrphanedError"}}function i1(){try{return mr(Wf)}catch{return[]}}function Gf(e,t={}){return Yw(),e.length===0?Promise.resolve({status:"resolved",choices:[],skipped:[]}):new Promise(n=>{const r=t.title??(e.length===1?"Resolve conflict":"Resolve conflicts"),s=t.mostRecentBy??Kf,a=t.requirePrompt??!1,l=i1();let o=!1;const d={items:e,title:r,mostRecentBy:s,requirePrompt:a,contributed:l,onResolve:(f,h)=>{o||(o=!0,n({status:"resolved",choices:f,skipped:h}))},onCancel:()=>{o||(o=!0,n({status:"cancelled"}))}};Zt.open(s1,d,{boxStyle:"max-width: none; min-width: 360px; padding: 0;"})})}function o1(e){const t=e.documents({format:"text"});return{status:n=>t.status(n),readBranch:(n,r)=>t.readBranch(n,r),resolveConflict:(n,r)=>t.resolveConflict(n,r)}}function l1(e,t){const n=e.browse;if(!n?.statusFrom||!n?.readBranchFrom||!n?.resolveConflictFrom)throw new Yf(`Cross-shard resolveDocuments requires documents:browse + documents:read + documents:write (shardId=${t})`);return{status:r=>n.statusFrom(t,r),readBranch:(r,s)=>n.readBranchFrom(t,r,s),resolveConflict:(r,s)=>n.resolveConflictFrom(t,r,s)}}function c1(e){const t=e.lastIndexOf(".");if(t<0)return;const n=e.lastIndexOf("/");if(!(t<n))return e.slice(t)}async function u1(e,t,n={}){const r=e.shardId,s=t.shardId===r?o1(e):l1(e,t.shardId),a=[];for(const d of t.paths){const f=await s.status(d);f&&f.syncState==="conflict"&&f.branches&&f.branches.length>0&&a.push({path:d,status:f})}if(a.length===0)return{status:"resolved",resolved:[],failed:[],skipped:[]};const l=[];for(const{path:d,status:f}of a){const h=c1(d),b=[];for(const x of f.branches??[]){const y=await s.readBranch(d,x.origin).catch(()=>null);b.push({origin:x.origin,version:x.version,at:x.at,content:y??void 0,sizeBytes:y?new TextEncoder().encode(y).length:void 0})}l.push({id:d,label:d,extension:h,branches:b,meta:{shardId:t.shardId,path:d,docVersion:f.version}})}const o=await Gf(l,n);if(o.status==="cancelled")return{status:"cancelled"};const c=[],u=[];for(const d of o.choices)try{await s.resolveConflict(d.itemId,{origin:d.chosen.origin});const f=await s.status(d.itemId).catch(()=>null);c.push({path:d.itemId,chosen:d.chosen,appliedVersion:f?.version??-1})}catch(f){u.push({path:d.itemId,error:f instanceof Error?f.message:String(f)})}return{status:"resolved",resolved:c,failed:u,skipped:o.skipped}}const d1={resolve:Gf,resolveDocuments:u1},Xf="sh3.color-picker",f1={id:"sh3.color-picker.native",priority:0,open:({initial:e})=>new Promise(t=>{const n=document.createElement("input");n.type="color",e&&/^#[0-9a-f]{6}$/i.test(e)&&(n.value=e);let r=!1;const s=a=>{r||(r=!0,n.remove(),t(a))};n.addEventListener("change",()=>s(n.value)),n.addEventListener("cancel",()=>s(null)),n.style.position="fixed",n.style.left="-9999px",document.body.appendChild(n),n.click()})};function v1(e={}){return[...mr(Xf),f1].sort((r,s)=>(s.priority??0)-(r.priority??0))[0].open(e)}const h1={pick:v1};let Jn=null;function p1(e){Jn=e}async function Lr(e){return Jn?{...Jn.bindings[e]??{}}:{}}async function nu(e,t,n){if(!Jn)return;const r={...Jn.bindings[e]??{}};n===void 0?delete r[t]:r[t]=n,Jn.bindings={...Jn.bindings,[e]:r}}const Nl="sh3.actions",eo=new Set;function m1(e,t){if(typeof e.run!="function"&&e.submenu!==!0)return console.warn(`[sh3] Action "${e.id}" registered by "${t}" has no \`run\` and is not a submenu parent (\`submenu: true\`). Registration ignored.`),()=>{};eo.has(e.id)&&console.warn(`[sh3] Duplicate action id "${e.id}" registered by "${t}". First registration wins; second registration still stored but shortcut conflicts may occur.`),eo.add(e.id);const r=Hf(Nl,{action:e,ownerShardId:t});let s=!1;return()=>{s||(s=!0,r(),eo.delete(e.id))}}function Xe(){return mr(Nl)}function b1(e){return gi(Nl,e)}function Dt(e){return typeof e.label=="function"?e.label():e.label}const g1=["Ctrl","Alt","Shift","Meta"],ru={control:"Ctrl",ctrl:"Ctrl",alt:"Alt",option:"Alt",shift:"Shift",meta:"Meta",cmd:"Meta",command:"Meta",super:"Meta",win:"Meta"},y1=new Set(["Control","Alt","Shift","Meta"]);function Jf(e){return e.length===1?e.toUpperCase():e}function ql(e){if(!e)throw new Error("Empty shortcut");const t=e.split("+");if(t.some(l=>l.trim()===""))throw new Error(`Malformed shortcut: "${e}"`);const n=t.map(l=>l.trim());if(n.length===0)throw new Error(`Malformed shortcut: "${e}"`);const r=new Set;let s;for(const l of n){const o=l.toLowerCase();if(o in ru)r.add(ru[o]);else{if(s!==void 0)throw new Error(`Multiple keys in shortcut: "${e}"`);s=Jf(l)}}if(s===void 0)throw new Error(`No key in shortcut: "${e}"`);return[...g1.filter(l=>r.has(l)),s].join("+")}function Zf(e,t){if(!e.toLowerCase().includes("mod"))return e;const n=e.split("+").map(r=>r.toLowerCase()==="mod"?t==="mac"?"Meta":"Ctrl":r);return ql(n.join("+"))}function _1(e){if(y1.has(e.key))return"";const t=[];e.ctrlKey&&t.push("Ctrl"),e.altKey&&t.push("Alt"),e.shiftKey&&t.push("Shift"),e.metaKey&&t.push("Meta");const n=Jf(e.key);return[...t,n].join("+")}function w1(){return typeof navigator>"u"?"other":/Mac|iPhone|iPad|iPod/i.test(navigator.platform)?"mac":"other"}function na(e,t,n="other"){if(e.id in t){const r=t[e.id];return r===null?null:ql(r)}return e.defaultShortcut?Zf(e.defaultShortcut,n):null}function k1(e,t,n="other"){if(e.id in t){const r=t[e.id];return r===null?{shortcut:null,source:"disabled"}:{shortcut:ql(r),source:"user"}}return e.defaultShortcut?{shortcut:Zf(e.defaultShortcut,n),source:"default"}:{shortcut:null,source:"none"}}function yi(e){return e==="home"?"home":e==="app"?"app":typeof e=="string"&&e.startsWith("view:")?"view":typeof e=="string"&&e.startsWith("focus:")?"focus":"element"}function Bl(e){return Array.isArray(e)?e:[e]}function Qf(e){return e==="home"||e==="app"?null:typeof e=="string"?e:e.element}function ra(e,t,n){const r=Bl(e),s={};for(const a of r){const l=yi(a);(s[l]??=[]).push(a)}for(const a of _i){const l=s[a];if(l){for(const o of l)if(zs(o,t,n))return o}}return null}function x1(e,t){return typeof e=="string"||typeof t=="string"?e===t:e.element===t.element}function $f(e){return typeof e=="string"?e:`element:${e.element}`}function S1(e){if(e==="home"||e==="app")return e;if(e.startsWith("view:"))return e.slice(5).length>0?e:null;if(e.startsWith("focus:"))return e.slice(6).length>0?e:null;if(e.startsWith("element:")){const t=e.slice(8);return t.length>0?{element:t}:null}return null}const _i=["element","focus","view","app","home"];function zs(e,t,n){if(e==="home")return t.activeAppId===null;if(e==="app")return t.activeAppId===null||!n?!1:t.activeAppRequiredShards.has(n)||t.autostartShards.has(n);if(typeof e=="string"){if(e.startsWith("view:"))return t.mountedViewIds.has(e.slice(5));if(e.startsWith("focus:"))return t.focusedViewId===e.slice(6)}return typeof e=="object"&&"element"in e?t.selection!==null&&t.selection.type===e.element:!1}function E1(e,t){const n={element:new Map,focus:new Map,view:new Map,app:new Map,home:new Map};for(const r of e){const s=na(r.action,t.bindings,t.platform);if(s)for(const a of Bl(r.action.scope)){if(!zs(a,t,r.ownerShardId))continue;const l=yi(a),o=n[l].get(s);if(o&&o!==r.action.id){console.warn(`[sh3] Shortcut "${s}" in tier "${l}" is bound to both "${o}" and "${r.action.id}"; first-registered wins. Users can rebind to resolve.`);continue}n[l].set(s,r.action.id)}}return n}function I1(e){if(!(e instanceof Element))return!1;const t=e.tagName;if(t==="INPUT"||t==="TEXTAREA")return!0;const n=e.contentEditable;if(n==="true"||n==="plaintext-only")return!0;const r=e.getAttribute("contenteditable");return r==="true"||r===""||r==="plaintext-only"}function A1(e){return e instanceof Element?e.closest("[data-sh3-passthrough-modifiers]")!==null:!1}function C1(e){return/(?:^|\+)(?:Ctrl|Alt|Meta)\+/.test(e)}function T1(e){const t=E1(e.entries,e.state),n=new Map(e.entries.map(r=>[r.action.id,r]));for(const r of _i){const s=t[r].get(e.shortcut);if(!s)continue;const a=n.get(s);if(a)return I1(e.target)&&!a.action.allowInInputs&&!(A1(e.target)&&C1(e.shortcut))?null:(e.runAction(s,{action:{id:a.action.id,label:Dt(a.action)},appId:e.state.activeAppId,viewId:e.state.focusedViewId??void 0,selection:e.state.selection??void 0,invokedVia:"keyboard",dispatch:e.dispatch??(()=>{})}),s)}return null}function R1(e){const t=e.action.disabled;return typeof t=="function"?!!t():!!t}function P1(e){const t=e.action.scope;return Array.isArray(t)?t[0]:t}function Vl(e,t){const n={element:[],focus:[],view:[],app:[],home:[]},r=[],s=new Set;for(const a of e){if(s.has(a.action.id))continue;s.add(a.action.id);const{shortcut:l,source:o}=k1(a.action,t.bindings,t.platform),c=ra(a.action.scope,t,a.ownerShardId),u=typeof a.action.run=="function",d=c!==null&&u&&!R1(a),f=d?c:P1(a),h={id:a.action.id,label:Dt(a.action),effectiveShortcut:l,bindingSource:o,scope:f,scopeBadge:Qf(f),group:a.action.group,icon:a.action.icon,ownerShardId:a.ownerShardId,paletteItem:a.action.paletteItem!==!1,contextItem:a.action.contextItem!==!1,submenu:a.action.submenu,submenuOf:a.action.submenuOf,active:d};d?n[yi(c)].push(h):r.push(h)}return[..._i.flatMap(a=>n[a]),...r]}function L1(e,t){return Vl(e,t).filter(n=>n.active)}let en=H(null);function sa(){return i(en)}function wi(e){return{get(){return i(en)},set(t){E(en,{type:t.type,ref:t.ref,ownerShardId:e},!0)},clear(){if(i(en)){if(i(en).ownerShardId!==e){console.warn(`[sh3] Shard "${e}" tried to clear selection owned by "${i(en).ownerShardId}". Ignoring.`);return}E(en,null)}}}}function ev(e){i(en)&&i(en).ownerShardId===e&&E(en,null)}function M1(){E(en,null)}const Fa=new Map,Fl=new Map,tv=new Set;function z1(e){tv.add(e)}function j1(e,t,n){if(Fa.has(e))throw new Error(`View "${e}" is already registered`);Fa.set(e,t),n!==void 0&&Fl.set(e,n);for(const r of tv)r(e,t)}function nv(e){return Fa.get(e)}function su(e){return Fl.get(e)}function rv(e){Fa.delete(e),Fl.delete(e)}const Ur=new Map;function D1(e,t,n){if(Ur.has(e))throw new Error(`Verb "${e}" is already registered`);Ur.set(e,{verb:t,shardId:n})}function Ua(e){return Ur.get(e)?.verb}function sv(e){Ur.delete(e)}function Ul(){return Array.from(Ur.values()).map(e=>e.verb).sort((e,t)=>e.name.localeCompare(t.name))}function av(){return Array.from(Ur.values()).map(e=>({...e}))}function Hr(e,t){const n=(r,s)=>{if(r.type==="tabs"){const a=r.tabs.findIndex(l=>l.slotId===t);if(a>=0)return{tabsNode:r,tabsPath:s,tabIndex:a,entry:r.tabs[a]}}else if(r.type==="split")for(let a=0;a<r.children.length;a++){const l=n(r.children[a],[...s,a]);if(l)return l}return null};return n(e,[])}function Hl(e,t){if(zo(e.docked,t))return{kind:"docked"};for(const n of e.floats)if(zo(n.content,t))return{kind:"float",floatId:n.id};return null}function zo(e,t){if(e.type==="slot")return e.slotId===t;if(e.type==="tabs")return e.tabs.some(n=>n.slotId===t);for(const n of e.children)if(zo(n,t))return!0;return!1}function ki(e,t){const n=Hr(e,t);if(!n)return null;const{tabsNode:r,tabIndex:s,entry:a}=n;return r.tabs.splice(s,1),r.tabs.length===0?r.activeTab=0:s<r.activeTab?r.activeTab-=1:r.activeTab>=r.tabs.length&&(r.activeTab=r.tabs.length-1),a}function O1(e,t,n){const r=Math.max(0,Math.min(n,e.tabs.length));e.tabs.splice(r,0,t),e.activeTab=r}function N1(e,t,n){const r=e.tabs.slice(),[s]=r.splice(t,1),a=Math.max(0,Math.min(n,r.length));r.splice(a,0,s),e.tabs=r,e.activeTab=a}function au(e,t,n){const r=n==="left"||n==="right"?"horizontal":"vertical",s={type:"tabs",activeTab:0,tabs:[t]};return{type:"split",direction:r,sizes:[1,1],children:n==="left"||n==="top"?[s,e]:[e,s]}}function q1(e){if(e.type==="tabs")return{...e,tabs:[...e.tabs]};if(e.type==="split"){const t={...e,children:[...e.children],sizes:[...e.sizes]};return e.pinned&&(t.pinned=[...e.pinned]),e.collapsed&&(t.collapsed=[...e.collapsed]),t}return{...e}}function iv(e,t,n,r){const s=Kr(e,t);if(!s||ov(e,t))return;if(t.length===0){const u=q1(s),d=au(u,n,r),f=e;delete f.tabs,delete f.activeTab,delete f.slotId,delete f.viewId,delete f.direction,delete f.sizes,delete f.pinned,delete f.collapsed,delete f.children,Object.assign(f,d);return}const a=au(s,n,r),l=t.slice(0,-1),o=t[t.length-1],c=Kr(e,l);!c||c.type!=="split"||(c.children[o]=a)}function Kr(e,t){let n=e;for(const r of t){if(n.type!=="split"||r<0||r>=n.children.length)return null;n=n.children[r]}return n}function ov(e,t){if(t.length===0)return!1;const n=Kr(e,t.slice(0,-1));return!n||n.type!=="split"?!1:n.fixed?.[t[t.length-1]]===!0}function Cr(e){let t=!0;for(;t;)t=lv(e,null,0)}function lv(e,t,n){if(e.type==="split"){let r=!1;for(let s=0;s<e.children.length;s++)lv(e.children[s],e,s)&&(r=!0);for(let s=e.children.length-1;s>=0;s--){const a=e.children[s];a.type==="tabs"&&a.tabs.length===0&&!a.persistent&&!e.fixed?.[s]&&(e.children.splice(s,1),e.sizes.splice(s,1),e.pinned&&e.pinned.splice(s,1),e.collapsed&&e.collapsed.splice(s,1),e.fixed&&e.fixed.splice(s,1),r=!0)}if(e.children.length<=1&&t)return e.children.length===1?t.children[n]=e.children[0]:(t.children.splice(n,1),t.sizes.splice(n,1),t.pinned&&t.pinned.splice(n,1),t.collapsed&&t.collapsed.splice(n,1)),!0;if(e.children.length===1&&!t){const s=e.children[0],a=e;return delete a.direction,delete a.sizes,delete a.pinned,delete a.collapsed,delete a.children,Object.assign(a,s),!0}return r}return e.type==="tabs",!1}const Cn=new Map,Ea=new Set;function B1(e,t){for(const[n,r]of Cn.entries()){if(r.viewId!==e||r.handle!==void 0)continue;const s={slotId:n,viewId:e,label:r.label,meta:r.meta,setDirty(a){xi[n]=a},location(){return Hl(Ot(),n)}};queueMicrotask(()=>{if(Cn.has(n)&&r.handle===void 0&&(r.handle=t.mount(r.host,s),(r.handle?.closable||n.startsWith("float:"))&&(Si[n]=!0),r.handle?.onResize)){const a=r.handle.onResize.bind(r.handle);r.resizeObserver=new ResizeObserver(l=>{for(const o of l){const c=o.contentRect;a(Math.round(c.width),Math.round(c.height))}}),r.resizeObserver.observe(r.host)}})}}z1(B1);const xi=le({}),Si=le({});function V1(e,t,n,r){const s=document.createElement("div");s.className="slot-host",s.dataset.slotId=e,t&&(s.setAttribute("data-sh3-view",t),s.setAttribute("data-sh3-scope",$f(`focus:${t}`))),s.style.position="absolute",s.style.inset="0",s.style.minWidth="0",s.style.minHeight="0";let a=!1;const l={host:s,handle:void 0,viewId:t,label:n,meta:r,refcount:0,resizeObserver:void 0,cancelPendingMount:()=>{a=!0}};return queueMicrotask(()=>{if(a)return;const o=t?nv(t):void 0,c={slotId:e,viewId:t??"",label:n,meta:r,setDirty(u){xi[e]=u},location(){return Hl(Ot(),e)}};if(l.handle=o?.mount(s,c),(l.handle?.closable||e.startsWith("float:"))&&(Si[e]=!0),l.handle?.onResize){const u=l.handle.onResize.bind(l.handle);l.resizeObserver=new ResizeObserver(d=>{for(const f of d){const h=f.contentRect;u(Math.round(h.width),Math.round(h.height))}}),l.resizeObserver.observe(s)}}),l}function Kl(e,t,n,r){Ea.delete(e);let s=Cn.get(e);return s?s.viewId!==t&&(console.warn(`[sh3] acquireSlotHost("${e}") called with viewId "${t}" but existing pooled entry has viewId "${s.viewId}". Attribute synced; view handle unchanged.`),s.viewId=t,t?(s.host.setAttribute("data-sh3-view",t),s.host.setAttribute("data-sh3-scope",$f(`focus:${t}`))):(s.host.removeAttribute("data-sh3-view"),s.host.removeAttribute("data-sh3-scope"))):(s=V1(e,t,n,r),Cn.set(e,s)),s.refcount++,s.host}function Wl(e,t){const n=Cn.get(e);if(n){if(n.refcount--,n.refcount>0){t&&n.host.parentNode===t&&n.host.remove();return}Ea.add(e),queueMicrotask(()=>{if(!Ea.has(e))return;Ea.delete(e);const r=Cn.get(e);!r||r.refcount>0||(r.resizeObserver?.disconnect(),Aw(e),r.handle?.unmount(),r.cancelPendingMount(),r.host.remove(),Cn.delete(e),delete xi[e],delete Si[e])})}}function to(e){const t=Cn.get(e);if(t)return{host:t.host,refcount:t.refcount}}function cv(e){const t=jo.get(e);return t||Cn.get(e)?.handle}function F1(e){return xi[e]??!1}function U1(e){return jo.has(e)?!!jo.get(e).closable:Si[e]??!1}const jo=new Map;function uv(e){if(!e||typeof e!="object")return!1;const t=e.type;return t==="split"||t==="tabs"||t==="slot"}function H1(e){if(!e||typeof e!="object")return!1;const t=e;return uv(t.docked)&&Array.isArray(t.floats)}function K1(e){return{docked:e,floats:[]}}function W1(e){const t={};if(e.tree&&(t.default=e.tree),e.variants)for(const n of Object.keys(e.variants))t[n]=e.variants[n];if(!t.default)throw new Error(`LayoutPreset "${e.name}" must provide either 'tree' or 'variants.default'`);return{name:e.name,variants:t}}function Y1(e,t){return t==="compact"&&e.variants.compact?e.variants.compact:e.variants.default}function dv(e){if(Array.isArray(e))return e.map(W1);if(H1(e))return[{name:"default",variants:{default:e}}];if(uv(e))return[{name:"default",variants:{default:K1(e)}}];throw new Error("normalizeInitialLayout: input is not a LayoutNode, LayoutTree, or LayoutPreset[]")}function G1(e){return e.coarsePointer&&e.noHover||e.width<720||e.coarsePointer&&e.dpr>=2&&e.width<1100?"compact":"desktop"}let ms=H(null);const bs=new Set;function fv(){if(typeof window>"u")return{class:"desktop",width:1920,height:1080,coarsePointer:!1,noHover:!1,dpr:1};const e=window.innerWidth,t=window.innerHeight,n=window.matchMedia("(pointer: coarse)").matches,r=window.matchMedia("(hover: none)").matches,s=window.devicePixelRatio;return{class:i(ms)??G1({width:e,coarsePointer:n,noHover:r,dpr:s}),width:e,height:t,coarsePointer:n,noHover:r,dpr:s}}let Ha=H(le(fv()));function gs(){const e=fv(),t=i(Ha).class;if(E(Ha,e,!0),e.class!==t)for(const n of bs)n(e)}typeof window<"u"&&(window.addEventListener("resize",gs),window.matchMedia("(pointer: coarse)").addEventListener("change",gs),window.matchMedia("(hover: none)").addEventListener("change",gs),typeof screen<"u"&&screen.orientation&&screen.orientation.addEventListener("change",gs));const Tr={get current(){return i(Ha)},subscribe(e){return bs.add(e),()=>{bs.delete(e)}},override(e){if(i(ms)!==e){E(ms,e,!0),gs();for(const t of bs)t(i(Ha))}},get pinned(){return i(ms)},__reset(){E(ms,null),bs.clear()}};function iu(e){const t=[],n=r=>{if(r.type==="slot"){t.push({slotId:r.slotId,viewId:r.viewId,label:r.viewId||r.slotId,meta:r.meta});return}if(r.type==="tabs"){for(const s of r.tabs)t.push({slotId:s.slotId,viewId:s.viewId,label:s.label,meta:s.meta});return}for(const s of r.children)n(s)};return n(e),t}function Yl(e){const t=iu(e.docked);for(const n of e.floats)t.push(...iu(n.content));return t}function vv(){return{left:{open:!1,activeSlotId:null},right:{open:!1,activeSlotId:null},top:{open:!1,activeSlotId:null}}}const $t=le(vv());let Ka=null;function fa(){Ka&&Ka($t)}const Rt={get state(){return $t},open(e){$t[e].open=!0,fa()},close(e){$t[e].open=!1,fa()},toggle(e){$t[e].open=!$t[e].open,fa()},activate(e,t){$t[e].activeSlotId=t,fa()},__setWriteThrough(e){Ka=e},__hydrate(e){for(const t of["left","right","top"])$t[t].open=e[t].open,$t[t].activeSlotId=e[t].activeSlotId},__reset(){Ka=null;const e=vv();for(const t of["left","right","top"])$t[t].open=e[t].open,$t[t].activeSlotId=e[t].activeSlotId}};Co("workspace","__shell__");const X1={type:"slot",slotId:"sh3core.home",viewId:"sh3core:home"},Do=le({docked:X1,floats:[]});let We=H(null),aa=H("home");function J1(e){if(!e||typeof e!="object")return null;const t=e;if(t.presets&&typeof t.presets=="object"&&typeof t.activePreset=="string")return t;if(t.root&&typeof t.layoutVersion=="number"){const n={docked:t.root,floats:[]};return{layoutVersion:t.layoutVersion,activePreset:"default",presets:{default:{default:n}}}}return null}function Z1(e){const t=e.presets[e.activePreset];if(!t)throw new Error(`AppLayoutBlob active preset "${e.activePreset}" not found in presets map`);return t.default}function Q1(e){if(i(We))throw new Error(`Layout manager cannot attach app "${e.manifest.id}": app "${i(We).appId}" is still attached`);const t=`__sh3core__:app:${e.manifest.id}`,n=dv(e.initialLayout);if(n.length===0)throw new Error(`App "${e.manifest.id}" normalized to zero presets`);const r={layoutVersion:e.manifest.layoutVersion,activePreset:n[0].name,presets:Object.fromEntries(n.map(c=>[c.name,{...c.variants}]))},s=S_("workspace",t),a=J1(s);(a&&a.layoutVersion!==e.manifest.layoutVersion||s&&!a)&&Co("workspace",t);const o=mi(t,{workspace:r}).workspace;E(We,{appId:e.manifest.id,proxy:o,heldSlotIds:[]},!0),bw(o),$1(o)}function $1(e){const t=e.activePreset,n=()=>(e.drawers||(e.drawers={}),e.drawers[t]||(e.drawers[t]={}),e.drawers[t].compact||(e.drawers[t].compact={left:{open:!1,activeSlotId:null},right:{open:!1,activeSlotId:null},top:{open:!1,activeSlotId:null}}),e.drawers),r=n();Rt.__hydrate(r[t].compact),Rt.__setWriteThrough(s=>{const a=n();a[t].compact={left:{...s.left},right:{...s.right},top:{...s.top}}})}function ek(){if(!i(We))throw new Error("acquireAppSlotHolds: no app attached");if(i(We).heldSlotIds.length>0)return;const e=Z1(i(We).proxy),t=Yl(e);for(const{slotId:n,viewId:r,label:s,meta:a}of t)Kl(n,r,s,a),i(We).heldSlotIds.push(n)}function tk(){if(!i(We))throw new Error("resetActivePresetToDefault: no app attached");const e=_n(i(We).appId);if(!e)throw new Error(`resetActivePresetToDefault: attached app "${i(We).appId}" not in registry`);const t=dv(e.initialLayout),n=i(We).proxy,r=n.activePreset;let s=t.find(o=>o.name===r);s||(s=t[0],n.activePreset=s.name);for(const o of i(We).heldSlotIds)Wl(o);i(We).heldSlotIds=[];const a=structuredClone(s.variants.default);n.presets[n.activePreset].default=a;const l=Yl(a);for(const{slotId:o,viewId:c,label:u,meta:d}of l)Kl(o,c,u,d),i(We).heldSlotIds.push(o)}function hv(){if(i(We)){gw(),Rt.__setWriteThrough(null),Rt.__hydrate({left:{open:!1,activeSlotId:null},right:{open:!1,activeSlotId:null},top:{open:!1,activeSlotId:null}});for(const e of i(We).heldSlotIds)Wl(e);E(We,null)}}function pv(){E(aa,"home")}function ou(){if(!i(We))throw new Error("Cannot switchToApp: no app is attached");E(aa,"app")}const Ia=U(()=>{if(i(aa)==="app"&&i(We)){const e=i(We).proxy,t=e.activePreset,n=e.presets[t];if(!n)throw new Error(`AppLayoutBlob active preset "${t}" not found in presets map`);return Y1({variants:n},Tr.current.class)}return Do});function Ot(){return i(Ia)}function mv(){return i(aa)}const Xt={get root(){return i(Ia).docked},get tree(){return i(Ia)},get floats(){return i(Ia).floats}};function nk(e){Do.docked=e,Do.floats=[],E(aa,"home")}let bv=H(null),gv=H(le(new Set)),Aa=H(le(new Set)),yv=H(le(new Set)),_v=H(null),wv=H(le({}));const rk=w1(),Oo=new Set;function rs(){for(const e of Oo)try{e()}catch(t){console.error("[sh3] onActiveChange listener threw",t)}}function sk(e){return Oo.add(e),()=>{Oo.delete(e)}}function ak(){rs()}function Wa(e,t){E(bv,e,!0),E(gv,new Set(t),!0),rs()}function ik(){const e=Yl(Xt.tree),t=new Set;for(const n of e)n.viewId!==null&&t.add(n.viewId);E(yv,t,!0),rs()}function kv(e){E(_v,e,!0),rs()}function js(e){E(wv,{...e},!0),rs()}function _t(){return{activeAppId:i(bv),activeAppRequiredShards:i(gv),autostartShards:i(Aa),mountedViewIds:i(yv),focusedViewId:i(_v),selection:sa(),bindings:i(wv),platform:rk}}function xv(e){i(Aa).has(e)||(E(Aa,new Set([...i(Aa),e]),!0),rs())}var ok=A('<div class="sh3-ctx-sep svelte-1667pfa" role="separator"></div>'),lk=A('<span class="sh3-ctx-chevron svelte-1667pfa">▸</span>'),ck=A('<span class="sh3-ctx-shortcut svelte-1667pfa"> </span>'),uk=A('<button role="menuitem"><span class="sh3-ctx-check svelte-1667pfa"> </span> <span class="sh3-ctx-label svelte-1667pfa"> </span> <!></button>'),dk=A("<!> <!>",1),fk=A('<div class="sh3-context-menu svelte-1667pfa" role="menu" tabindex="0"></div>');function Ya(e,t){se(t,!0);const n=U(()=>t.sections.flatMap(c=>c.items));let r=H(0);function s(c,u){if(i(n).length===0)return 0;let d=c;for(let f=0;f<i(n).length;f++)if(d=(d+u+i(n).length)%i(n).length,!i(n)[d].disabled)return d;return c}function a(c){if(c.key==="ArrowDown")E(r,s(i(r),1),!0),c.preventDefault();else if(c.key==="ArrowUp")E(r,s(i(r),-1),!0),c.preventDefault();else if(c.key==="Enter"){const u=i(n)[i(r)];u&&!u.disabled&&(t.onInvoke(u.id),u.submenu||t.onDismiss()),c.preventDefault()}else if(c.key==="Escape")t.onDismiss(),c.preventDefault();else if(c.key.length===1){const u=c.key.toLowerCase(),d=(i(r)+1)%i(n).length;for(let f=0;f<i(n).length;f++){const h=(d+f)%i(n).length,b=i(n)[h];if(!b.disabled&&b.label.toLowerCase().startsWith(u)){E(r,h);break}}}}function l(c){c.disabled||(t.onInvoke(c.id),c.submenu||t.onDismiss())}var o=fk();Qr(o,!0),ve(o,23,()=>t.sections,c=>c.id,(c,u,d)=>{var f=dk(),h=ue(f);{var b=y=>{var g=ok();k(y,g)};K(h,y=>{i(d)>0&&y(b)})}var x=w(h,2);ve(x,17,()=>i(u).items,y=>y.id,(y,g)=>{const S=U(()=>i(n).indexOf(i(g)));var _=uk();let m;var I=p(_),R=p(I,!0);v(I);var P=w(I,2),T=p(P,!0);v(P);var z=w(P,2);{var L=C=>{var O=lk();k(C,O)},D=C=>{var O=ck(),B=p(O,!0);v(O),N(()=>j(B,i(g).shortcut)),k(C,O)};K(z,C=>{i(g).submenu?C(L):i(g).shortcut&&C(D,1)})}v(_),N(()=>{m=de(_,1,"sh3-ctx-item svelte-1667pfa",null,m,{"sh3-ctx-active":i(S)===i(r),"sh3-ctx-disabled":i(g).disabled}),ne(_,"aria-disabled",i(g).disabled||void 0),j(R,i(g).checked?"✓":""),j(T,i(g).label)}),ze("pointerenter",_,()=>{i(g).disabled||E(r,i(S),!0)}),F("click",_,()=>l(i(g))),k(y,_)}),k(c,f)}),v(o),F("keydown",o,a),k(e,o),ae()}ce(["keydown","click"]);function Sv(e,t){se(t,!0);const n=U(()=>t.model.tiers.map(r=>({id:`tier:${r.tier}`,items:r.items.map(s=>({...s,icon:void 0}))})));Ya(e,{get sections(){return i(n)},get onInvoke(){return t.onInvoke},get onDismiss(){return t.onClose}}),ae()}function lu(e){return e===void 0?!1:typeof e=="function"?!!e():!!e}function Ev(e,t){return{id:e.action.id,label:Dt(e.action),shortcut:na(e.action,t.bindings,t.platform),group:e.action.group??"",icon:e.action.icon,checked:lu(e.action.checked),disabled:lu(e.action.disabled),submenu:e.action.submenu===!0}}function Iv(e,t,n,r){return Bl(e.scope).some(a=>x1(a,n))?n==="app"||n==="home"||typeof n=="object"&&"element"in n?zs(n,r,t):!0:!1}function Av(e,t,n){const r={element:[],focus:[],view:[],app:[],home:[]},s=new Set;for(const a of e){if(!a.action.contextItem||a.action.submenuOf!==void 0||s.has(a.action.id)||!Iv(a.action,a.ownerShardId,n,t))continue;const l=ra(a.action.scope,t,a.ownerShardId)??n;s.add(a.action.id),r[yi(l)].push(Ev(a,t))}return{tiers:_i.map(a=>({tier:a,items:r[a]})).filter(a=>a.items.length>0)}}function vk(e,t,n,r){const s=[],a=new Set;for(const l of e)l.action.submenuOf===n&&(a.has(l.action.id)||Iv(l.action,l.ownerShardId,r,t)&&(a.add(l.action.id),s.push(Ev(l,t))));return s}function hk(e,t){if(!t)return 0;const n=e.toLowerCase(),r=t.toLowerCase();let s=0,a=0,l=0,o=0,c=-2;for(;s<n.length&&a<r.length;){if(n[s]===r[a]){const u=s===0?5:0,d=s===c+1?++o:o=1;l+=1+u+d,c=s,a++}else o=0;s++}return a===r.length?l:null}function pk(e,t,n){const r=[];for(const a of e){if(t===""&&a.submenuOf!==void 0)continue;const l=hk(a.label,t);l!==null&&r.push({...a,score:l})}const s=new Map;return n.forEach((a,l)=>s.set(a,n.length-l)),r.sort((a,l)=>{if(a.score!==l.score)return l.score-a.score;const o=s.get(a.id)??0;return(s.get(l.id)??0)-o}),r}var mk=A('<span class="sh3-palette-badge svelte-1qdcgk6"> </span>'),bk=A('<span class="sh3-palette-shortcut svelte-1qdcgk6"> </span>'),gk=A('<button role="option"><span class="sh3-palette-label svelte-1qdcgk6"> </span> <!> <!></button>'),yk=A('<div class="sh3-palette svelte-1qdcgk6" role="dialog" aria-label="Command palette" aria-modal="true" tabindex="-1"><input class="sh3-palette-input hell-base-input svelte-1qdcgk6" placeholder="Command…"/> <div class="sh3-palette-list svelte-1qdcgk6" role="listbox"></div></div>');function _k(e,t){se(t,!0);let n=$(t,"prefill",3,""),r=H(le(n())),s=H(0);const a=U(()=>pk(t.candidates,i(r),t.recency));xe(()=>{i(s)>=i(a).length&&E(s,0)});function l(d){d.key==="ArrowDown"?(E(s,Math.min(i(s)+1,Math.max(0,i(a).length-1)),!0),d.preventDefault()):d.key==="ArrowUp"?(E(s,Math.max(i(s)-1,0),!0),d.preventDefault()):d.key==="Enter"?(i(a)[i(s)]&&(t.onInvoke(i(a)[i(s)].id),t.onClose()),d.preventDefault()):d.key==="Escape"&&(t.onClose(),d.preventDefault())}var o=yk(),c=p(o);ye(c),Qr(c,!0);var u=w(c,2);ve(u,23,()=>i(a),d=>d.id,(d,f,h)=>{var b=gk();let x;var y=p(b),g=p(y,!0);v(y);var S=w(y,2);{var _=R=>{var P=mk(),T=p(P);v(P),N(()=>j(T,`[${i(f).scopeBadge??""}]`)),k(R,P)};K(S,R=>{i(f).scopeBadge&&R(_)})}var m=w(S,2);{var I=R=>{var P=bk(),T=p(P,!0);v(P),N(()=>j(T,i(f).shortcut)),k(R,P)};K(m,R=>{i(f).shortcut&&R(I)})}v(b),N(()=>{x=de(b,1,"sh3-palette-item svelte-1qdcgk6",null,x,{"sh3-palette-active":i(h)===i(s)}),ne(b,"aria-selected",i(h)===i(s)),j(g,i(f).label)}),ze("pointerenter",b,()=>E(s,i(h),!0)),F("click",b,()=>{t.onInvoke(i(f).id),t.onClose()}),k(d,b)}),v(u),v(o),F("keydown",o,l),Ie(c,()=>i(r),d=>E(r,d)),k(e,o),ae()}ce(["keydown","click"]);function wk(e){return e===void 0?!1:typeof e=="function"?!!e():!!e}function kk(e,t,n={}){const r=[],s=new Set,a=n.filter?.submenuOf;for(const l of e){if(l.action.paletteItem===!1||wk(l.action.disabled)||a!==void 0&&l.action.submenuOf!==a||s.has(l.action.id))continue;const o=ra(l.action.scope,t,l.ownerShardId);o&&(s.add(l.action.id),r.push({id:l.action.id,label:Dt(l.action),shortcut:na(l.action,t.bindings,t.platform),scopeBadge:Qf(o),submenu:l.action.submenu===!0,submenuOf:a!==void 0?void 0:l.action.submenuOf}))}return r}let cu=!1;function Gl(e){return e?e.closest("[data-sh3-view]")?.getAttribute("data-sh3-view")??null:null}function Cv(e){if(e.explicit!==void 0)return e.explicit;const t=e.event?.target;if(t instanceof Element){let n=t.closest("[data-sh3-scope]");for(;n;){const s=S1(n.getAttribute("data-sh3-scope")??"");if(s&&!(typeof s=="object"&&"element"in s&&!zs(s,e.state)))return s;const a=n.parentElement;n=a?a.closest("[data-sh3-scope]"):null}const r=Gl(t);if(r)return`focus:${r}`}return e.state.activeAppId?"app":"home"}function xk(e,t){const n=Xe().find(r=>r.action.id===e);if(!(!n||typeof n.action.run!="function"))try{n.action.run(t)}catch(r){console.error(`[sh3] action "${e}" threw:`,r)}}function Tv(e,t){const n=Xe(),r=n.find(o=>o.action.id===e);if(!r)return Promise.reject(new Error(`action "${e}" not registered`));const s=_t(),a=Vl(n,s).find(o=>o.id===e);if(!a||!a.active)return r.action.submenu===!0&&typeof r.action.run!="function"?Promise.reject(new Error(`action "${e}" is a submenu parent — list children with listActions({ submenuOf: "${e}" })`)):Promise.reject(new Error(`action "${e}" is not active in current scope`));const l=r.action.run;try{const o=l({action:{id:r.action.id,label:Dt(r.action)},appId:s.activeAppId,viewId:s.focusedViewId??void 0,selection:s.selection??void 0,invokedVia:"programmatic",dispatch:ss});return Promise.resolve(o).then(()=>{})}catch(o){return Promise.reject(o)}}function ss(e){Tv(e).catch(t=>{console.error(`[sh3] ctx.dispatch("${e}"):`,t)})}function Sk(e){const t=Gl(e.target);kv(t)}function Ek(e){queueMicrotask(()=>{const t=Gl(document.activeElement);kv(t)})}function Ik(e){return e instanceof Element?e.closest('[data-sh3-context-menu="native"]')!==null:!1}function Rv(e,t,n,r){const s=document.querySelector(".sh3-popup-host");if(!s)return;const a=document.createElement("div");a.className="sh3-popup-submenu",a.style.position="absolute",a.style.pointerEvents="auto";const o=(s.querySelector(".sh3-ctx-active")??s).getBoundingClientRect();a.style.left=`${o.right+2}px`,a.style.top=`${o.top}px`,s.appendChild(a);const c=vk(Xe(),t,e,r);Fe(Ya,{target:a,props:{sections:[{id:`submenu:${e}`,items:c}],onInvoke:u=>{const d=Xe().find(f=>f.action.id===u);if(!(!d||typeof d.action.run!="function")){try{d.action.run({action:{id:u,label:Dt(d.action)},appId:t.activeAppId,viewId:t.focusedViewId??void 0,selection:t.selection??void 0,invokedVia:"context-menu",dispatch:ss})}catch(f){console.error(`[sh3] context-menu submenu action "${u}" threw:`,f)}n.close()}},onDismiss:()=>n.close()}})}function Ak(e){if(Ik(e.target))return;const t=Xe(),n=_t(),r=Cv({event:e,state:n}),s=Av(t,n,r);if(s.tiers.length===0)return;e.preventDefault();const a=St.popup.show(Sv,{anchor:{x:e.clientX,y:e.clientY}},{model:s,onInvoke:l=>{const o=Xe().find(c=>c.action.id===l);if(o){if(o.action.submenu===!0){Rv(l,n,a,r);return}if(typeof o.action.run=="function")try{o.action.run({action:{id:l,label:Dt(o.action)},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"context-menu",dispatch:ss})}catch(c){console.error(`[sh3] context-menu action "${l}" threw:`,c)}}},onClose:()=>a.close()})}function Ck(e){const t=_1(e);if(!t)return;const n=Xe(),r=_t();T1({target:e.target,shortcut:t,state:r,entries:n,runAction:xk,dispatch:ss})&&e.preventDefault()}function uu(){cu||(cu=!0,document.addEventListener("keydown",Ck),document.addEventListener("focusin",Sk),document.addEventListener("focusout",Ek),document.addEventListener("contextmenu",Ak))}function Pv(e){const t=Xe(),n=_t(),r=Cv({explicit:e.scope,state:n}),s=Av(t,n,r);if(s.tiers.length===0)return;const a=St.popup.show(Sv,{anchor:{x:e.x,y:e.y}},{model:s,onInvoke:l=>{const o=Xe().find(c=>c.action.id===l);if(o){if(o.action.submenu===!0){Rv(l,n,a,r);return}if(typeof o.action.run=="function")try{o.action.run({action:{id:l,label:Dt(o.action)},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"context-menu",dispatch:ss})}catch(c){console.error(`[sh3] context-menu action "${l}" threw:`,c)}}},onClose:()=>a.close()})}const Tk=20;let No=[];function Rk(e){No=[e,...No.filter(t=>t!==e)].slice(0,Tk)}function Ei(e){const t=Xe(),n=_t(),r=kk(t,n,{filter:e?.filter}),s=typeof document<"u"&&document.activeElement instanceof HTMLElement?document.activeElement:null,a=St.modal.open(_k,{candidates:r,recency:No,prefill:e?.prefill??"",onInvoke:l=>{const o=Xe().find(c=>c.action.id===l);if(o){if(Rk(l),o.action.submenu===!0&&typeof o.action.run!="function"){a.close(),Ei({filter:{submenuOf:l}});return}if(typeof o.action.run=="function")try{o.action.run({action:{id:l,label:Dt(o.action)},appId:n.activeAppId,viewId:n.focusedViewId??void 0,selection:n.selection??void 0,invokedVia:"palette",dispatch:ss})}catch(c){console.error(`[sh3] palette action "${l}" threw:`,c)}}},onClose:()=>a.close()},{dismissOnBackdrop:!0});if(s){const l=a.close;a.close=()=>{l(),queueMicrotask(()=>{(document.activeElement===document.body||document.activeElement===null)&&s.focus()})}}}const Zn=[];let Pk=0;function Lk(){return`term-${++Pk}`}function Mk(e){Zn.push(e);let t=!1;return()=>{if(t)return;t=!0;const n=Zn.indexOf(e);n!==-1&&Zn.splice(n,1)}}function zk(){if(Zn.length===0)return{ok:!1,error:"no-terminal"};if(Zn.length===1)return{ok:!0,handle:Zn[0]};let e=null,t=0;for(const n of Zn){const r=n.getFocusStamp();r>0&&r>=t&&(e=n,t=r)}return e===null?{ok:!1,error:"ambiguous"}:{ok:!0,handle:e}}const du={"no-terminal":"no terminal open",ambiguous:"multiple terminals open; focus one first","no-active-context":"dispatchToTerminal is not available in this context"};function Xl(e){return e.headless?()=>({ok:!1,error:"no-active-context",message:du["no-active-context"]}):t=>{const n=zk();return n.ok?(n.handle.dispatch(t),{ok:!0,terminalId:n.handle.id}):{ok:!1,error:n.error,message:du[n.error]}}}const jk={async rebind(e,t,n){await nu(e,t,n),_t().activeAppId===e&&js(await Lr(e))},async resetBinding(e,t){await nu(e,t,void 0),_t().activeAppId===e&&js(await Lr(e))},async bindingsFor(e){const t=await Lr(e),n={};for(const[r,s]of Object.entries(t))s!==null&&(n[r]=s);return n},openContextMenu:Pv,openPalette:Ei,listActive(){return L1(Xe(),_t())},onActiveChange(e){const t=sk(e),n=b1(()=>{ak()});return()=>{t(),n()}}},St={state:mi,modal:Zt,popup:Ro,toast:gn,float:Te,presets:kw,conflicts:d1,color:h1,actions:jk,dispatchToTerminal:Xl({headless:!1}),viewport:{get current(){return Tr.current},subscribe:e=>Tr.subscribe(e),override:e=>Tr.override(e),get pinned(){return Tr.pinned}},drawers:{get state(){return Rt.state},open:e=>{va("open"),Rt.open(e)},close:e=>{va("close"),Rt.close(e)},toggle:e=>{va("toggle"),Rt.toggle(e)},activate:(e,t)=>{va("activate"),Rt.activate(e,t)}}};function va(e){const t=Tr.current.class;if(t!=="compact")throw new Error(`Sh3.drawers.${e}: viewport class is "${t}"; drawers exist only on compact`)}function Dk(e){return un[e].list()}function Ok(e,t){return un[e].read(t)}function Nk(e,t){un[e].delete(t)}function qk(e){for(const t of un[e].list())un[e].delete(t)}function qo(){return{list:Dk,peek:Ok,clear:Nk,clearAll:qk}}function gr(e,t,n){return`${e}/${t}/${n}`}function Bk(e,t){return`${e}/${t}/`}const Vk="sh3-documents",Bt="docs",Fk=2;class Uk{#e=null;#t(){return this.#e||(this.#e=new Promise((t,n)=>{const r=indexedDB.open(Vk,Fk);r.onupgradeneeded=()=>{const s=r.result;s.objectStoreNames.contains(Bt)||s.createObjectStore(Bt)},r.onsuccess=()=>t(r.result),r.onerror=()=>n(r.error)})),this.#e}async#n(t,n){const r=await this.#t();return new Promise((s,a)=>{const o=r.transaction(Bt,t).objectStore(Bt),c=n(o);c.onsuccess=()=>s(c.result),c.onerror=()=>a(c.error)})}async read(t,n,r){const s=gr(t,n,r),a=await this.#n("readonly",l=>l.get(s));return a?a.content:null}async write(t,n,r,s){const a=gr(t,n,r),l=typeof s=="string"?new Blob([s]).size:s.byteLength,o={content:s,size:l,lastModified:Date.now()};await this.#n("readwrite",c=>c.put(o,a))}async delete(t,n,r){const s=gr(t,n,r);await this.#n("readwrite",a=>a.delete(s))}async rename(t,n,r,s){const a=gr(t,n,r),l=gr(t,n,s),o=await this.#t();return new Promise((c,u)=>{let d=!1;const f=o.transaction(Bt,"readwrite"),h=f.objectStore(Bt),b=h.get(a);b.onsuccess=()=>{const x=b.result;if(!x){d=!0,f.abort(),u(new Error(`Document not found at ${r}`));return}const y=h.getKey(l);y.onsuccess=()=>{if(y.result!==void 0){d=!0,f.abort(),u(new Error(`Document already exists at ${s}`));return}const g={...x,lastModified:Date.now()};h.put(g,l),h.delete(a)},y.onerror=()=>u(y.error)},b.onerror=()=>u(b.error),f.oncomplete=()=>c(),f.onerror=()=>{d||u(f.error)},f.onabort=()=>{}})}async list(t,n){const r=Bk(t,n),s=await this.#t();return new Promise((a,l)=>{const c=s.transaction(Bt,"readonly").objectStore(Bt),u=IDBKeyRange.bound(r,r+"￿",!1,!1),d=c.openCursor(u),f=[];d.onsuccess=()=>{const h=d.result;if(h){const b=h.value;f.push({path:h.key.slice(r.length),size:b.size,lastModified:b.lastModified}),h.continue()}else a(f)},d.onerror=()=>l(d.error)})}async exists(t,n,r){const s=gr(t,n,r);return await this.#n("readonly",l=>l.getKey(s))!==void 0}async listAllShards(t){const n=`${t}/`,r=await this.#t();return new Promise((s,a)=>{const o=r.transaction(Bt,"readonly").objectStore(Bt),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=o.openKeyCursor(c),d=new Set;u.onsuccess=()=>{const f=u.result;if(f){const h=f.key.slice(n.length),b=h.indexOf("/");b>=0&&d.add(h.slice(0,b)),f.continue()}else s([...d])},u.onerror=()=>a(u.error)})}async listAllDocuments(t){const n=`${t}/`,r=await this.#t();return new Promise((s,a)=>{const o=r.transaction(Bt,"readonly").objectStore(Bt),c=IDBKeyRange.bound(n,n+"￿",!1,!1),u=o.openCursor(c),d=[];u.onsuccess=()=>{const f=u.result;if(f){const h=f.key.slice(n.length),b=h.indexOf("/");if(b>=0){const x=f.value;d.push({shardId:h.slice(0,b),path:h.slice(b+1),size:x.size,lastModified:x.lastModified})}f.continue()}else s(d)},u.onerror=()=>a(u.error)})}}const Hk="local";let Jl=Hk,Lv=new Uk;function Mv(){return Jl}function no(){return Jl}function fu(){return Lv}function ha(e){Jl=e}function Kk(e){Lv=e}const ur=le({activeProjectId:null});function zv(e){if(ur.activeProjectId===e)return;const t=it.id;ur.activeProjectId=e,Vr.id=null,t&&Zl(t)}const jv=mi("__sh3core__:last-app",{user:{id:null}});function Wk(){return jv.user.id}function Ds(e){jv.user.id=e}function Yk(){Ds(null)}const Bo=new Map;function Gk(){return ur.activeProjectId??Mv()}function pa(e,t){let n=Bo.get(e);if(!n){const r=_n(e),s=Gk();n={scopeId:s,state:a=>mi(`__app__:${e}:scope:${s}`,a),zones:r?.manifest.permissions?.includes(Rs)?qo():void 0},Bo.set(e,n)}return n}async function Pn(e,t={}){const n=_n(e);if(!n)throw new Error(`Cannot launch app "${e}": not registered`);if(it.id&&it.id!==e)Zl(it.id,t.skipSwitchToHome);else if(it.id===e){for(const r of n.manifest.requiredShards){const s=Jt.get(r),a=Z0(r);s&&a&&s.resume?.(a)}n.resume?.(pa(e)),ou(),n.onAppReady?.(pa(e)),t.skipLastApp||Ds(e),Vr.id=e,Wa(e,new Set(n.manifest.requiredShards??[])),Lr(e).then(js);return}for(const r of n.manifest.requiredShards)if(!Jt.has(r))throw new Error(`App "${e}" requires shard "${r}" which is not registered`);Q1(n);try{for(const r of n.manifest.requiredShards)await Za(r,{phase:"launch"})}catch(r){hv();try{gn.notify(`Couldn't launch "${n.manifest.label??e}": ${r instanceof Error?r.message:String(r)}`,{level:"error",duration:6e3})}catch{}throw r}ek(),n.activate?.(pa(e)),it.id=e,Wa(e,new Set(n.manifest.requiredShards??[])),Lr(e).then(js),ou(),n.onAppReady?.(pa(e)),t.skipLastApp||Ds(e),Vr.id=e}function Zl(e,t=!1){if(it.id!==e)return;const n=_n(e);if(n){n.deactivate?.(),t||pv(),hv();for(const r of n.manifest.requiredShards){const s=Jt.get(r);s&&(s.autostart||Li(r))}it.id=null,Wa(null,new Set),M1(),Lf(),Lr("sh3.home").then(js),Bo.delete(e)}}function Ql(e){Bn.has(e)&&(it.id===e&&(Zl(e),Ds(null)),Bn.delete(e))}async function ia(){const e=it.id?_n(it.id):null;if(e){for(const t of e.manifest.requiredShards){const n=Jt.get(t);if(n?.suspend&&await n.suspend()===!1)return!1}if(e.suspend&&await e.suspend()===!1)return!1}return Lf(),pv(),Wa(null,new Set),Ds(null),!0}function Dv(){return{root:Ot(),source:mv()}}function Xk(e){const t=Ot().docked,n=ec(t);if(!n)throw new Error("spliceIntoActiveLayout: no tabs group found in the active layout; phase 8 only supports splicing into an existing tab group.");n.tabs.push(e),n.activeTab=n.tabs.length-1}function Jk(e){const t=Ot();return Ai(t.docked,n=>n.slotId===e)?!0:Ov(t,n=>n.slotId===e)}function Ii(e){const t=Ot();return Ai(t.docked,n=>n.viewId===e)?!0:Ov(t,n=>n.viewId===e)}function Ai(e,t){if(e.type==="tabs"){const n=e.tabs.findIndex(t);return n>=0?(e.activeTab=n,!0):!1}if(e.type==="split"){for(const n of e.children)if(Ai(n,t))return!0}return!1}function Ov(e,t){for(const n of e.floats)if(Ai(n.content,t))return Te.focus(n.id),!0;return!1}function Zk(e,t){return Nv(e,t,!0)}function Qk(e,t){return Nv(e,t,!1)}function Nv(e,t,n){const r=Ot().docked,s=Kr(r,e);if(!s||s.type!=="split")return!1;const a=s;return t<0||t>=a.children.length?!1:(a.collapsed||(a.collapsed=a.children.map(()=>!1)),a.collapsed[t]=n,!0)}async function $l(e){const t=Ot(),n=t.docked;if(!Hr(n,e))return $k(t,e);const a=cv(e)?.closable;return!a||typeof a=="object"&&(!await a.canClose()||!Hr(n,e))?!1:(ki(n,e),Cr(n),!0)}async function $k(e,t){for(const n of e.floats){if(!Hr(n.content,t))continue;const a=cv(t)?.closable;if(typeof a=="object"&&(!await a.canClose()||!Hr(n.content,t)))return!1;ki(n.content,t);const l=n.content.type==="tabs"?n.content:null;return(!l||l.tabs.length===0)&&Te.close(n.id),!0}return!1}function qv(e){const t=Ot(),n=Hr(t.docked,e);if(!n)return null;const r=n.entry,s=r.viewId;if(!s)return null;const a=r.label,l=r.meta;return ki(t.docked,e),Cr(t.docked),Te.open(s,{title:a,meta:l})}function Bv(e){const n=Ot().floats.find(o=>o.id===e);if(!n)return!1;const r=n.content,s=r.type==="tabs"?r:null;if(!s||s.tabs.length===0)return Te.close(e),!1;const a=s.tabs[s.activeTab??0]??s.tabs[0],l=tc({slotId:a.slotId,viewId:a.viewId,label:a.label,meta:a.meta});return l&&Te.close(e),l}function ec(e){if(e.type==="tabs")return e;if(e.type==="split")for(const t of e.children){const n=ec(t);if(n)return n}return null}function Vv(e,t=[]){if(e.type==="slot")return e.viewId!==null?t:null;if(e.type==="split")for(let n=0;n<e.children.length;n++){const r=Vv(e.children[n],[...t,n]);if(r)return r}return null}function tc(e){const t=Ot().docked;if(Ii(e.viewId??""))return!0;const n=ec(t);if(n)return n.tabs.push(e),n.activeTab=n.tabs.length-1,!0;const r=Vv(t);return r?(iv(t,r,e,"right"),!0):!1}function Fv(e){return Hl(Ot(),e)}let as=H(null),wn=H(null),is=H(!1),Ci="",Vo=null;function vu(e,t){Ci=e,Vo=t.auth,E(as,t.user,!0),E(wn,t.session,!0),E(is,!t.session&&!t.user,!0)}async function Uv(e,t){try{const n=await fetch(`${Ci}/api/auth/login`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:e,password:t})});if(!n.ok)return{ok:!1,error:(await n.json().catch(()=>({}))).error||"Login failed"};const r=await n.json();return E(as,r.user,!0),E(wn,r.session,!0),E(is,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function e0(e,t,n){try{const r=await fetch(`${Ci}/api/auth/register`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:e,password:t,displayName:n})});if(!r.ok)return{ok:!1,error:(await r.json().catch(()=>({}))).error||"Registration failed"};const s=await r.json();return E(as,s.user,!0),E(wn,s.session,!0),E(is,!1),{ok:!0}}catch{return{ok:!1,error:"Network error"}}}async function t0(){try{await fetch(`${Ci}/api/auth/logout`,{method:"POST",credentials:"include"})}catch{}if(Vo?.required&&!Vo.guestAllowed){window.location.reload();return}E(as,null),E(wn,null),E(is,!0)}function n0(){E(as,{id:"local",username:"local",displayName:"Local Owner",role:"admin",createdAt:"",updatedAt:""},!0),E(wn,{token:"local",userId:"local",role:"admin",expiresAt:1/0},!0),E(is,!1)}function r0(){return i(wn)?.token==="local"}function wt(){return i(wn)?.role==="admin"}function Fo(){return i(wn)!==null}function Hv(){return i(is)}function Wr(){return i(as)}function Ti(){return i(wn)?`Bearer ${i(wn).token}`:null}const s0=2e3;let Uo=0;function a0(){return`e${++Uo}`}function i0(e){if(e.length<2||e.charCodeAt(0)!==101)return NaN;const t=Number(e.slice(1));return Number.isInteger(t)?t:NaN}class o0{#e;get entries(){return i(this.#e)}set entries(t){E(this.#e,t,!0)}constructor(t=s0){this.#e=H(le([])),this.cap=t}push(t){const n=this.entries[this.entries.length-1];if(n&&n.kind==="text"&&t.kind==="text"&&n.stream===t.stream){n.chunks.push(...t.chunks);return}const r={...t,id:a0()};this.entries.push(r),this.entries.length>this.cap&&this.entries.splice(0,this.entries.length-this.cap)}clear(){this.entries.length=0}restore(t){let n=0;for(const r of t){const s=i0(r.id);Number.isFinite(s)&&s>n&&(n=s)}n>Uo&&(Uo=n),this.entries.splice(0,this.entries.length,...t)}}const hu=[1e3,2e3,5e3,1e4];class Kv{#e;get connected(){return i(this.#e)}set connected(t){E(this.#e,t,!0)}#t;get cwd(){return i(this.#t)}set cwd(t){E(this.#t,t,!0)}#n;get tenantRoot(){return i(this.#n)}set tenantRoot(t){E(this.#n,t,!0)}#s;get env(){return i(this.#s)}set env(t){E(this.#s,t,!0)}#r;get historyByMode(){return i(this.#r)}set historyByMode(t){E(this.#r,t,!0)}#i;get lastSeq(){return i(this.#i)}set lastSeq(t){E(this.#i,t,!0)}constructor(t){this.url=t,this.ws=null,this.handlers=new Set,this.pendingHistoryLogs=[],this.backoffIndex=0,this.closed=!1,this.#e=H(!1),this.#t=H(""),this.#n=H(""),this.#s=H(le({})),this.#r=H(le({})),this.#i=H(0)}connect(){if(!this.closed){try{this.ws=new WebSocket(this.url)}catch{this.scheduleReconnect();return}this.ws.addEventListener("open",()=>{this.backoffIndex=0,this.connected=!0;const t=this.lastSeq>0?{t:"hello",replayFrom:this.lastSeq}:{t:"hello"};this.sendRaw(t);for(const n of this.pendingHistoryLogs)this.sendRaw(n);this.pendingHistoryLogs=[]}),this.ws.addEventListener("message",t=>{let n;try{n=JSON.parse(t.data)}catch{return}n.t==="event"&&typeof n.event.seq=="number"&&(this.lastSeq=n.event.seq),n.t==="welcome"&&(this.cwd=n.cwd,this.tenantRoot=n.tenantRoot,this.env=n.env,this.lastSeq=n.seq),n.t==="cwd"&&(this.cwd=n.cwd),n.t==="history-bundle"&&(this.historyByMode=n.byMode);for(const r of this.handlers)r(n)}),this.ws.addEventListener("close",()=>{this.connected=!1,this.ws=null,this.scheduleReconnect()}),this.ws.addEventListener("error",()=>{})}}scheduleReconnect(){if(this.closed)return;const t=hu[Math.min(this.backoffIndex,hu.length-1)];this.backoffIndex++,setTimeout(()=>this.connect(),t)}send(t){if(t.t==="history-log"&&!this.connected){this.pendingHistoryLogs.push(t);return}this.sendRaw(t)}sendRaw(t){!this.ws||this.ws.readyState!==WebSocket.OPEN||this.ws.send(JSON.stringify(t))}onMessage(t){return this.handlers.add(t),()=>this.handlers.delete(t)}close(){this.closed=!0,this.ws?.close(),this.ws=null}}class Wv{constructor(t=""){this.base=t}async list(t){return(await(await this.#e("/api/fs/list",t)).json()).entries}async stat(t){return await(await this.#e("/api/fs/stat",t)).json()}async read(t){return await(await this.#e("/api/fs/read",t)).text()}async#e(t,n){const r=`${this.base}${t}?path=${encodeURIComponent(n)}`,s=await fetch(r,{credentials:"include"});if(!s.ok){let a=`HTTP ${s.status}`;try{const l=await s.json();l.error&&(a=l.error)}catch{}throw new Error(a)}return s}}function l0(e){const t=Ua(e);if(!t)return null;const r=av().find(s=>s.verb===t);return r?{verb:r.verb,shardId:r.shardId}:null}async function Yv(e,t,n,r){if(!dr.has(e))throw new Error(`unknown shard: ${e}`);const s=Ua(t);if(!s)throw new Error(`unknown verb: ${t}`);if(!s.programmatic)throw new Error(`verb "${t}" is not programmatic`);const a=[],l=u0(a),o=await c0({sinkScrollback:l,opts:r});return{result:await s.run(o,n),scrollback:a}}async function c0(e){const t={sh3:rc({callerKind:"verb"}),scrollback:e.sinkScrollback,session:d0(),cwd:"/",fs:new Wv,async dispatch(n){const r=n.trim();if(!r)return;const s=r.indexOf(" "),a=s===-1?r:r.slice(0,s),l=s===-1?"":r.slice(s+1),o=l.length?l.split(/\s+/):[],c=l0(a);if(!c)throw new Error(`dispatch: unknown verb "${a}"`);const u={...t,structuredArgs:void 0};await c.verb.run(u,o)},structuredArgs:e.opts?.structured,signal:e.opts?.signal};return t}function u0(e){let t=0;return{entries:e,push(r){const s={...r,id:`runverb-${++t}`};e.push(s)},clear(){e.length=0}}}function d0(){return new Kv("")}const Os="sh3.controllable-field",Ho="sh3.walker";function nc(){return mr(Os)}function Gv(e){for(const t of nc())if(t.owner.shardId===e.shardId&&(t.owner.slotId??void 0)===(e.slotId??void 0)&&t.descriptor.fieldId===e.fieldId)return t}function f0(e){return e.shape==="readonly"?!0:e.shape==="imperative"?typeof e.set!="function":!1}function v0(e){if(e.shape==="element"||e.shape==="imperative"||e.shape==="readonly")return e.element}function h0(e){const t=e.descriptor,n={shardId:e.owner.shardId,fieldId:t.fieldId,label:t.label,kind:t.kind,description:t.description,enumValues:t.enumValues,readonly:f0(t),source:"contributed"};e.owner.slotId!==void 0&&(n.slotId=e.owner.slotId);const r=v0(t);return r!==void 0&&(n.element=r),n}function p0(e={}){const t=[];for(const n of nc())e.shardId!==void 0&&n.owner.shardId!==e.shardId||e.slotId!==void 0&&n.owner.slotId!==e.slotId||e.kind!==void 0&&n.descriptor.kind!==e.kind||t.push(h0(n));return t}function m0(e){return e.get()}function b0(e){const t=e.element;return t instanceof HTMLInputElement&&t.type==="checkbox"?t.checked:t.value}function g0(e){const t=Gv(e);if(!t)throw new Error(`unknown field: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);const n=t.descriptor;return n.shape==="element"?b0(n):m0(n)}function Xv(e,t){e instanceof HTMLInputElement&&e.type==="checkbox"?e.checked=!!t:e.value=String(t),e.dispatchEvent(new Event("input",{bubbles:!0})),e.dispatchEvent(new Event("change",{bubbles:!0}))}async function y0(e,t){const n=Gv(e);if(!n)throw new Error(`unknown field: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);const r=n.descriptor;if(r.shape==="readonly")throw new Error(`field is read-only: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);if(r.shape==="imperative"){if(typeof r.set!="function")throw new Error(`field is read-only: ${e.shardId}::${e.slotId??""}::${e.fieldId}`);await r.set(t);return}Xv(r.element,t)}const _0=new Set(["submit","button","reset","file","hidden"]);function w0(e){return e.type==="number"?"number":e.type==="checkbox"?"boolean":"string"}function k0(e){return Array.from(e.options).map(t=>t.value)}function pu(e){return e.toLowerCase().trim().replace(/[^a-z0-9.\-_ ]/g,"").replace(/\s+/g,"-").replace(/^-+|-+$/g,"")}function Jv(e){if(e.id){const n=e.ownerDocument.querySelector(`label[for="${CSS.escape(e.id)}"]`);if(n&&n.textContent)return n.textContent}let t=e.parentElement;for(;t;){if(t.tagName==="LABEL"&&t.textContent)return t.textContent;t=t.parentElement}return null}function x0(e,t){const n=e.getAttribute("data-sh3-field");if(n&&n.length>0)return n;const r=e.name;if(r)return r;const s=Jv(e);if(s){const l=pu(s);if(l.length>0)return l}if(e.id)return e.id;const a=e.placeholder;if(a){const l=pu(a);if(l.length>0)return l}return`field-${t}`}function S0(e){return Jv(e)?.trim()??e.placeholder??null}function E0(e){return e.hasAttribute("data-sh3-field")?!0:e instanceof HTMLInputElement?!_0.has(e.type):e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement}function ro(e,t){const n=new Set;for(const l of nc()){const o=l.descriptor;o.shape==="element"&&n.add(o.element)}const r=t.querySelectorAll("input, textarea, select, [data-sh3-field]"),s=[];let a=0;for(const l of Array.from(r)){if(!E0(l)||n.has(l))continue;let o="string",c;if(l instanceof HTMLInputElement)o=w0(l);else if(l instanceof HTMLSelectElement)o="enum",c=k0(l);else if(l.hasAttribute("data-sh3-field")){const f=l.getAttribute("data-sh3-field-kind");f&&["string","number","integer","boolean","enum","json"].includes(f)&&(o=f)}const u=x0(l,a);/^field-\d+$/.test(u)&&(a+=1);const d={shardId:Ho,slotId:e,fieldId:u,label:S0(l)??u,kind:o,readonly:!1,source:"walker",element:l};c!==void 0&&(d.enumValues=c),s.push(d)}return s}const Ri=new Set;let ma=null,so=null,mu=null,ao=!1;function I0(){if(ma&&ma.isConnected)return ma;const e=document.createElement("div");return e.className="sh3-decoration-layer",e.style.cssText="position: fixed; inset: 0; pointer-events: none;",document.body.appendChild(e),ma=e,so||(so=()=>Ko(),window.addEventListener("resize",so)),mu||(mu=gi(Os,()=>{const t=new Set;for(const n of mr(Os))t.add(Ga({shardId:n.owner.shardId,slotId:n.owner.slotId,fieldId:n.descriptor.fieldId}));for(const n of Array.from(Ri))t.has(Ga(n.addr))||Zv(n)})),e}function Ga(e){return`${e.shardId}::${e.slotId??""}::${e.fieldId}`}function A0(e){for(const t of mr(Os))if(t.owner.shardId===e.shardId&&(t.owner.slotId??void 0)===(e.slotId??void 0)&&t.descriptor.fieldId===e.fieldId)return t}function C0(e){const t=e.descriptor;if(t.shape==="element"||t.shape==="imperative"||t.shape==="readonly")return t.element}function T0(e){let t=e.parentElement;for(;t;){const n=getComputedStyle(t);if(/auto|scroll/.test(n.overflowY)||/auto|scroll/.test(n.overflowX))return t;t=t.parentElement}return window}function R0(e){if(e.disposed)return;const t=e.target.getBoundingClientRect();e.wrapper.style.left=`${t.left}px`,e.wrapper.style.top=`${t.top}px`,e.wrapper.style.width=`${t.width}px`,e.wrapper.style.height=`${t.height}px`,e.handle?.update?.(t)}function Ko(){ao||(ao=!0,requestAnimationFrame(()=>{ao=!1;for(const e of Ri)R0(e)}))}function Zv(e){if(!e.disposed){e.disposed=!0,Ri.delete(e),e.resizeObserver.disconnect(),e.scrollAncestor===window?window.removeEventListener("scroll",e.scrollListener,!0):e.scrollAncestor.removeEventListener("scroll",e.scrollListener);try{e.handle?.dispose?.()}catch(t){console.error("[sh3] decoration dispose threw",t)}e.wrapper.parentElement&&e.wrapper.parentElement.removeChild(e.wrapper)}}function P0(e,t){const n=A0(e);if(!n)throw new Error(`unknown field: ${Ga(e)}`);const r=C0(n);if(!r)throw new Error(`field has no element to anchor to: ${Ga(e)}`);const s=I0(),a=r.getBoundingClientRect(),l=t({element:r,rect:a});let o,c=null;l instanceof HTMLElement?o=l:(o=l.element,c=l);const u=document.createElement("div");u.className="sh3-decoration",u.style.cssText=`position: absolute; left: ${a.left}px; top: ${a.top}px; width: ${a.width}px; height: ${a.height}px; pointer-events: none;`,u.appendChild(o),s.appendChild(u);const d=T0(r),f={addr:e,element:o,wrapper:u,target:r,handle:c,resizeObserver:new ResizeObserver(()=>Ko()),scrollAncestor:d,scrollListener:()=>Ko(),disposed:!1};return f.resizeObserver.observe(r),d===window?window.addEventListener("scroll",f.scrollListener,!0):d.addEventListener("scroll",f.scrollListener),Ri.add(f),()=>Zv(f)}const bu=["ephemeral","session","workspace","user"];function Qv(e){return e.type==="tabs"?e.tabs.filter(t=>t.viewId!==null):e.type==="split"?e.children.flatMap(Qv):e.viewId!==null?[{slotId:e.slotId,viewId:e.viewId,label:e.viewId}]:[]}function rc(e){e?.callerKind,e?.callerShardId;const t=e?.zones;function n(){try{const{root:o}=Dv();return Qv(o.docked).map(c=>({slotId:c.slotId,viewId:c.viewId??"",label:c.label}))}catch{return[]}}function r(o){if(!o.slotId)throw new Error(`walker field requires slotId: ${o.shardId}::::${o.fieldId}`);const c=to(o.slotId);if(!c?.host)throw new Error(`unknown field: ${o.shardId}::${o.slotId}::${o.fieldId}`);const u=ro(o.slotId,c.host).find(d=>d.fieldId===o.fieldId);if(!u||!u.element)throw new Error(`unknown field: ${o.shardId}::${o.slotId}::${o.fieldId}`);return u}function s(o){const u=r(o).element;return u instanceof HTMLInputElement&&u.type==="checkbox"?u.checked:u instanceof HTMLInputElement||u instanceof HTMLTextAreaElement||u instanceof HTMLSelectElement?u.value:u.textContent??""}function a(o,c){const d=r(o).element;if(d instanceof HTMLInputElement||d instanceof HTMLTextAreaElement||d instanceof HTMLSelectElement){Xv(d,c);return}throw new Error(`walker field "${o.fieldId}" is a [data-sh3-field] custom element; the framework cannot write into it. Use an explicit imperative registration with set().`)}const l={list(o){const c=p0({slotId:o?.slotId,shardId:o?.shardId,kind:o?.kind}),u=o?.walker??"off";if(u==="off")return c;const d=o?.slotId?[o.slotId]:Array.from(new Set(c.map(h=>h.slotId).filter(h=>!!h)));let f=c;for(const h of d){const b=to(h);if(!b?.host)continue;const x=c.some(y=>y.slotId===h);u==="fallback"&&x||(f=f.concat(ro(h,b.host)))}return o?.kind&&(f=f.filter(h=>h.kind===o.kind)),f},get(o){return o.shardId===Ho?s(o):g0(o)},async set(o,c){if(o.shardId===Ho){a(o,c);return}return y0(o,c)},walk(o){const c=to(o);if(!c?.host)throw new Error(`unknown slot: ${o}`);return ro(o,c.host)},onChange(o){return gi(Os,o)},attachDecoration(o,c){return P0(o,c)}};return{listApps(){return ns().map(o=>({id:o.id,label:o.label}))},getActiveApp(){const o=Ml();return o?{id:o.id,label:o.label}:null},launchApp(o){Pn(o)},listShards(){return Array.from(Jt.values()).map(o=>({id:o.manifest.id,label:o.manifest.label,version:o.manifest.version}))},listViewsInCurrentLayout(){return n()},openViewInCurrentLayout(o){try{if(Ii(o))return{ok:!0};const c=Ns().find(u=>u.viewId===o);if(c){const u=`standalone:${o}:${Date.now()}`;return tc({slotId:u,viewId:o,label:c.label})?{ok:!0}:{ok:!1,error:`could not dock "${o}" — no available slot`}}return{ok:!1,error:`view "${o}" not found in current layout`}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}},listStandaloneViews(){return Ns()},popoutSlot(o){try{const c=qv(o);return c?{ok:!0,floatId:c}:{ok:!1,error:`slot "${o}" not found in docked tree`}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}},dockFloat(o){try{return Bv(o)?{ok:!0}:{ok:!1,error:`float "${o}" not found or has no dockable content`}}catch(c){return{ok:!1,error:c instanceof Error?c.message:String(c)}}},locateSlot(o){try{return Fv(o)}catch{return null}},listFloats(){return Te.list().map(o=>{const c=o.content.type==="tabs"?o.content:null,u=c?c.tabs[c.activeTab??0]??c.tabs[0]:null;return{floatId:o.id,viewId:u?.viewId??null,label:o.title??u?.label??o.id}})},closeSlot(o){return $l(o),{ok:!0}},listZones(o){if(!t)return[];const c=new Map;for(const u of bu)for(const d of t.list(u)){if(o&&d!==o)continue;let f=c.get(d);f||(f=new Set,c.set(d,f)),f.add(u)}return Array.from(c.entries()).map(([u,d])=>({shardId:u,zones:Array.from(d)}))},readZone(o,c){return!t||!bu.includes(c)?null:t.peek(c,o)??null},whoAmI(){return{userId:Wr()?.id??"guest",admin:wt()}},setMode(o){return!1},listModes(){return[]},getMode(){return{id:"sh3",label:"sh3"}},dispatchToTerminal:Xl({headless:!0}),listVerbs(o){const c=o?.programmaticOnly===!0,u=av().map(({verb:d,shardId:f})=>({shardId:f,name:d.name,summary:d.summary,programmatic:d.programmatic,schema:d.schema}));return c?u.filter(d=>d.programmatic===!0):u},async runVerb(o,c,u,d){return Yv(o,c,u,d)},listActions(o){let u=Vl(Xe(),_t());if(o?.submenuOf!==void 0){const d=o.submenuOf;u=u.filter(f=>f.submenuOf===d)}return o?.activeOnly&&(u=u.filter(d=>d.active)),u},runAction(o,c){return Tv(o)},listViews(){return n()},fields:l}}function L0(e){return rc({callerKind:"verb",zones:e})}class M0{#e;#t;constructor(t,n){this.#e=t.replace(/\/$/,""),this.#t=n}async read(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,a=await fetch(s,{credentials:"include"});if(a.status===404)return null;if(!a.ok)throw new Error(`Document read failed: ${a.status}`);return(a.headers.get("content-type")??"").includes("application/octet-stream")?a.arrayBuffer():a.text()}async write(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}`,l={...this.#n(),"Content-Type":typeof s=="string"?"text/plain":"application/octet-stream"},o=await fetch(a,{method:"PUT",headers:l,body:s,credentials:"include"});if(!o.ok)throw new Error(`Document write failed: ${o.status}`)}async delete(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`,a=await fetch(s,{method:"DELETE",headers:this.#n(),credentials:"include"});if(!a.ok)throw new Error(`Document delete failed: ${a.status}`)}async list(t,n){const r=`${this.#e}/api/docs/${t}/${n}`,s=await fetch(r,{credentials:"include"});if(!s.ok)throw new Error(`Document list failed: ${s.status}`);return s.json()}async exists(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}`;return(await fetch(s,{method:"HEAD",credentials:"include"})).ok}async listAllShards(t){const n=`${this.#e}/api/docs/${t}/_shards`,r=await fetch(n,{credentials:"include"});if(!r.ok)throw new Error(`listAllShards failed: ${r.status}`);return r.json()}async listAllDocuments(t){const n=`${this.#e}/api/docs/${t}/_all`,r=await fetch(n,{credentials:"include"});if(!r.ok)throw new Error(`listAllDocuments failed: ${r.status}`);return r.json()}async readMeta(t,n,r){const s=`${this.#e}/api/docs/${t}/${n}/${r}?meta=1`,a=await fetch(s,{credentials:"include"});if(!a.ok)throw new Error(`readMeta failed: ${a.status}`);const l=await a.json();return l.exists?l:null}async resolve(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}/resolve`,l=typeof s=="string"?{choice:s}:{choice:s.origin},o=await fetch(a,{method:"POST",credentials:"include",headers:{...this.#n(),"Content-Type":"application/json"},body:JSON.stringify(l)});if(!o.ok)throw new Error(`resolve failed: ${o.status}`)}async readBranch(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}/branch?origin=${encodeURIComponent(s)}`,l=await fetch(a,{credentials:"include"});if(l.status===404)return null;if(!l.ok)throw new Error(`readBranch failed: ${l.status}`);return l.text()}async rename(t,n,r,s){const a=`${this.#e}/api/docs/${t}/${n}/${r}/rename`,l={...this.#n(),"Content-Type":"application/json"},o=await fetch(a,{method:"POST",headers:l,body:JSON.stringify({to:s}),credentials:"include"});if(o.status===404)throw new Error(`Document not found at ${r}`);if(o.status===409)throw new Error(`Document already exists at ${s}`);if(!o.ok)throw new Error(`Document rename failed: ${o.status}`)}#n(){return this.#t?{Authorization:`Bearer ${this.#t}`}:{}}}class z0{#e=new Set;subscribe(t){return this.#e.add(t),()=>{this.#e.delete(t)}}emit(t){for(const n of this.#e)try{n(t)}catch(r){console.error("SH3: document change listener threw",r)}}}const Dn=new z0,j0=1e3;function D0(e,t,n,r){const s=new Set,a=new Set;function l(u){return!r.extensions||r.extensions.length===0?!0:r.extensions.some(d=>u.endsWith(d))}function o(u,d){Dn.emit({type:u,path:d,tenantId:e,shardId:t})}const c={async list(){const u=await n.list(e,t);return!r.extensions||r.extensions.length===0?u:u.filter(d=>l(d.path))},async read(u){const d=await n.read(e,t,u);return d===null?null:typeof d=="string"?d:new TextDecoder().decode(d)},async write(u,d){const f=await n.exists(e,t,u);await n.write(e,t,u,d),o(f?"update":"create",u)},async delete(u){const d=await n.exists(e,t,u);await n.delete(e,t,u),d&&o("delete",u)},async rename(u,d){if(!l(d))throw new Error(`Cannot rename to ${d}: violates handle extensions filter`);for(const f of s)if(f.path===u)throw new Error(`Cannot rename: active autosave on ${u}; flush and dispose first`);await n.rename(e,t,u,d),Dn.emit({type:"rename",path:d,oldPath:u,tenantId:e,shardId:t})},async exists(u){return n.exists(e,t,u)},async status(u){if(!n.readMeta)throw new Error("Backend does not support status()");return n.readMeta(e,t,u)},async resolveConflict(u,d){if(!n.resolve)throw new Error("Backend does not support resolveConflict()");if(typeof d!="string"&&!(typeof d=="object"&&"origin"in d))throw new Error("choice must be a string or { origin } object");return n.resolve(e,t,u,d)},async readBranch(u,d){if(!n.readBranch)throw new Error("Backend does not support readBranch()");return n.readBranch(e,t,u,d)},watch(u){const d=Dn.subscribe(f=>{f.tenantId===e&&f.shardId===t&&l(f.path)&&u(f)});return a.add(d),()=>{d(),a.delete(d)}},autosave(u,d){const f=new O0(c,u,d?.debounceMs??j0);return s.add(f),f},async dispose(){const u=[...s].map(d=>d.dispose());await Promise.all(u),s.clear();for(const d of a)d();a.clear()}};return c}class O0{#e;#t;#n;#s=null;#r=null;#i=!1;#a=!1;constructor(t,n,r){this.#e=t,this.#t=n,this.#n=r}get dirty(){return this.#i}get path(){return this.#t}update(t){this.#a||(this.#s=t,this.#i=!0,this.#o())}async flush(){if(this.#l(),this.#s!==null){const t=this.#s;this.#s=null,this.#i=!1,await this.#e.write(this.#t,t)}}async dispose(){this.#a||(this.#a=!0,await this.flush())}#o(){this.#l(),this.#r=setTimeout(()=>{this.#r=null,this.flush()},this.#n)}#l(){this.#r!==null&&(clearTimeout(this.#r),this.#r=null)}}const N0="sync:peer",q0="sync:policy";let os="";function $v(e){os=e}async function B0(e){const t=await fetch(`${os}/api/env-state/${encodeURIComponent(e)}`);return t.ok?await t.json():(console.warn(`[sh3] Failed to fetch env state for "${e}": HTTP ${t.status}`),{})}async function V0(e,t){if(!wt())throw new Error("Cannot update env state: not elevated to admin");const n=Ti(),r={"Content-Type":"application/json"};n&&(r.Authorization=n);const s=await fetch(`${os}/api/env-state/${encodeURIComponent(e)}`,{method:"PUT",headers:r,body:JSON.stringify(t)});if(!s.ok){const a=await s.json().catch(()=>({}));throw new Error(`Env state update failed: HTTP ${s.status} — ${a.error??"unknown"}`)}}async function sc(e,t,n){if(!wt())throw new Error("Cannot install: not elevated to admin");const r=Ti(),s=new FormData;s.append("manifest",new Blob([JSON.stringify(e)],{type:"application/json"}),"manifest.json"),s.append("client",new Blob([t],{type:"application/javascript"}),"client.js"),n!==void 0&&s.append("server",new Blob([n],{type:"application/javascript"}),"server.js");const a={};r&&(a.Authorization=r);const l=await fetch(`${os}/api/packages/install`,{method:"POST",headers:a,body:s});if(!l.ok){let o={};try{o=await l.json()}catch{}return{ok:!1,error:typeof o.error=="string"?o.error:`HTTP ${l.status}`,code:typeof o.code=="string"?o.code:void 0,missing:Array.isArray(o.missing)?o.missing:void 0}}return{ok:!0}}async function F0(e){if(!wt())throw new Error("Cannot uninstall: not elevated to admin");const t=Ti(),n={"Content-Type":"application/json"};t&&(n.Authorization=t);const r=await fetch(`${os}/api/packages/uninstall`,{method:"POST",headers:n,body:JSON.stringify({id:e})});if(!r.ok){const s=await r.json().catch(()=>({}));throw new Error(`Uninstall failed: HTTP ${r.status} — ${s.error??"unknown"}`)}}async function U0(){const e=await fetch(`${os}/api/packages`);return e.ok?await e.json():[]}const eh="documents:browse",th="documents:read",nh="documents:write";function H0(e,t,n={canRead:!1,canWrite:!1}){const r={listDocuments:()=>t.listAllDocuments(e),listShards:()=>t.listAllShards(e),watchDocuments:s=>Dn.subscribe(a=>{a.tenantId===e&&s(a)})};return n.canRead&&(r.readFrom=(s,a)=>t.read(e,s,a),r.statusFrom=async(s,a)=>t.readMeta?t.readMeta(e,s,a):null,r.readBranchFrom=async(s,a,l)=>t.readBranch?t.readBranch(e,s,a,l):null),n.canWrite&&(r.writeTo=async(s,a,l)=>{const o=await t.exists(e,s,a);await t.write(e,s,a,l),Dn.emit({type:o?"update":"create",path:a,tenantId:e,shardId:s})},r.resolveConflictFrom=async(s,a,l)=>{if(!t.resolve)throw new Error("Backend does not support resolveConflict");await t.resolve(e,s,a,l),Dn.emit({type:"update",path:a,tenantId:e,shardId:s})},r.renameFrom=async(s,a,l,o)=>{if(o?.newShardId!==void 0)throw new Error("Cross-shard move is not yet supported (ADR-018 amendment 2026-04-27)");await t.rename(e,s,a,l),Dn.emit({type:"rename",path:l,oldPath:a,tenantId:e,shardId:s})},r.deleteFrom=async(s,a)=>{const l=await t.exists(e,s,a);await t.delete(e,s,a),l&&Dn.emit({type:"delete",path:a,tenantId:e,shardId:s})}),r}const rh="keys:mint";class sh extends Error{constructor(t){super(`Shard may not mint a key with scope '${t}' — not declared in manifest.`),this.name="ScopeEscalationError"}}class ah extends Error{constructor(){super("User denied key creation."),this.name="ConsentDeniedError"}}const Wo=new Map;let xs=null;function ih(e){return xs=e,()=>{xs===e&&(xs=null)}}async function K0(e,t){if(!xs)throw new Error("No consent listener registered — the sh3 must mount ConsentDialog.");const n=`c_${Math.random().toString(36).slice(2)}${Date.now()}`;return new Promise(r=>{Wo.set(n,{resolve:r}),xs({...t,shardId:e,requestId:n})})}function Yo(e,t){const n=Wo.get(e);n&&(Wo.delete(e),n.resolve(t))}const Xa=new Map,Ca=new Map,W0=5e3;function Y0(e,t){let n=Ca.get(e);n||(n=new Set,Ca.set(e,n)),n.add(t),setTimeout(()=>{n.delete(t),n.size===0&&Ca.delete(e)},W0)}function G0(e,t){return Ca.get(e)?.has(t)??!1}function ac(e,t){const n=Xa.get(e)??new Set;return n.add(t),Xa.set(e,n),()=>{n.delete(t)}}function oh(e,t){if(!e||G0(e,t))return;Y0(e,t);const n=Xa.get(e);if(n)for(const s of n)s(t);const r=Xa.get("*");if(r)for(const s of r)s(t)}function X0(){if(typeof EventSource>"u")return()=>{};const e=new EventSource("/api/keys/events",{withCredentials:!0});return e.onmessage=t=>{try{const n=JSON.parse(t.data);oh(n.shardId,n.id)}catch{}},()=>e.close()}function J0(e){const{shardId:t,shardPermissions:n}=e,r=s=>{for(const a of s)if(!n.includes(a)&&!n.includes("admin:*"))throw new sh(a)};return{async mint(s){if(r(s.scopes),!await K0(t,s))throw new ah;const l=await fetch("/api/keys/consent",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({shardId:t,...s})});if(!l.ok)throw new Error(`Consent ticket failed: ${l.status}`);const{ticket:o}=await l.json(),c=await fetch("/api/keys",{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({ticket:o})});if(!c.ok)throw new Error(`Mint failed: ${c.status}`);return c.json()},async list(){const s=await fetch("/api/keys",{credentials:"include"});if(!s.ok)throw new Error(`List failed: ${s.status}`);return(await s.json()).filter(l=>l.mintedByShardId===t)},async revoke(s){const a=await fetch(`/api/keys/${encodeURIComponent(s)}`,{method:"DELETE",credentials:"include"});if(!a.ok&&a.status!==404)throw new Error(`Revoke failed: ${a.status}`);oh(t,s)}}}const Jt=le(new Map),Mr=new Map,dr=le(new Map),Ja=le(new Map);function Pi(e){const t=e.manifest.id;Jt.has(t)&&dr.has(t)&&Li(t),Jt.set(t,e),Ja.delete(t)}async function Za(e,t){const n=Jt.get(e);if(!n)throw new Error(`Cannot activate shard "${e}": not registered`);if(Mr.has(e))return;const r={shard:n,ctx:void 0,viewIds:new Set,verbNames:new Set,cleanupFns:[]},s=le({proxy:null,defaults:null}),a={register(o,c,u){let d=c;if(o==="sh3.controllable-field"){const h={shardId:e};u?.scope?.slotId!==void 0&&(h.slotId=u.scope.slotId),d={owner:h,descriptor:c}}const f=Hf(o,d,u);return r.cleanupFns.push(async()=>f()),f},list(o){return mr(o)},listPoints(){return Ew()},onChange(o,c){const u=gi(o,c);return r.cleanupFns.push(async()=>u()),u},onAnyChange(o){const c=Iw(o);return r.cleanupFns.push(async()=>c()),c}},l={state:o=>St.state(e,o),registerView:(o,c)=>{j1(o,c,n.manifest.id),r.viewIds.add(o)},registerVerb:o=>{const c=e==="shell"?o.name:`${e}:${o.name}`;D1(c,{...o,name:c},e),r.verbNames.add(c)},documents:o=>{const c=D0(no(),e,fu(),o);return r.cleanupFns.push(()=>c.dispose()),c},env(o){return s.proxy?(console.warn(`[sh3] Shard "${e}" called ctx.env() more than once; extra calls are ignored.`),s.proxy):(s.defaults=o,s.proxy={...o},s.proxy)},async envUpdate(o){if(!s.proxy||!s.defaults)throw new Error(`Shard "${e}" called envUpdate() without declaring env state`);const c=or(s.proxy);Object.assign(s.proxy,o);try{const u=or(s.proxy);await V0(e,u)}catch(u){throw Object.assign(s.proxy,c),u}},get isAdmin(){return wt()},get tenantId(){return no()},zones:n.manifest.permissions?.includes(Rs)?qo():void 0,browse:n.manifest.permissions?.includes(eh)?H0(no(),fu(),{canRead:n.manifest.permissions.includes(th),canWrite:n.manifest.permissions.includes(nh)}):void 0,keys:n.manifest.permissions?.includes(rh)?J0({shardId:e,shardPermissions:n.manifest.permissions??[]}):void 0,contributions:a,actions:{register(o){const c=m1(o,e);return r.cleanupFns.push(async()=>c()),c},selection:wi(e),openContextMenu(o){Pv(o)},openPalette(o){Ei(o)}},sh3:rc({callerKind:"shard",callerShardId:e,zones:n.manifest.permissions?.includes(Rs)?qo():void 0})};if(r.ctx=l,n.onKeyRevoked){const o=ac(e,async c=>{try{await n.onKeyRevoked(c)}catch(u){console.error(`[sh3] onKeyRevoked failed in "${e}":`,u)}});r.cleanupFns.push(async()=>o())}Mr.set(e,r),dr.set(e,n);try{await n.activate(l);for(const o of n.manifest.views)if(!r.viewIds.has(o.id))throw new Error(`Shard "${e}" declared view "${o.id}" in its manifest but registered no factory for it.`);if(s.proxy&&s.defaults)try{const o=await B0(e),c=Object.assign({},s.defaults,o);Object.assign(s.proxy,c)}catch(o){console.warn(`[sh3] Failed to hydrate env state for shard "${e}":`,o instanceof Error?o.message:o)}}catch(o){for(const c of r.cleanupFns)try{c()}catch{}for(const c of r.verbNames)sv(c);for(const c of r.viewIds)rv(c);throw ev(e),Mr.delete(e),dr.delete(e),Ja.set(e,{id:e,error:o,phase:t?.phase??"launch",timestamp:Date.now()}),console.error(`[sh3] Shard "${e}" failed to activate:`,o),o}Ja.delete(e),n.autostart?.(l)}function Li(e){const t=Mr.get(e);if(t){t.shard.deactivate?.();for(const n of t.cleanupFns)n();for(const n of t.verbNames)sv(n);for(const n of t.viewIds)rv(n);ev(e),Mr.delete(e),dr.delete(e)}}function Z0(e){return Mr.get(e)?.ctx}function Ns(){const e=[];for(const t of dr.values())for(const n of t.manifest.views)n.standalone&&e.push({shardId:t.manifest.id,viewId:n.id,label:n.label});return e}function Q0(e){return btoa(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function $0(e){let t;try{const r=e.replace(/-/g,"+").replace(/_/g,"/");t=atob(r)}catch(r){throw new Error(`Invalid satellite payload encoding: ${r.message}`)}let n;try{n=JSON.parse(t)}catch(r){throw new Error(`Invalid satellite payload JSON: ${r.message}`)}return ex(n)}function ex(e){if(!e||typeof e!="object")throw new Error("Satellite payload must be an object");const t=e;if(t.kind==="float"){if(!t.content||typeof t.content!="object")throw new Error("Float payload missing content");if(!t.size||typeof t.size!="object")throw new Error("Float payload missing size");if(!Array.isArray(t.activateShards))throw new Error("Float payload missing activateShards");return t}if(t.kind==="app"){if(typeof t.appId!="string")throw new Error("App payload missing appId");if(!Array.isArray(t.activateShards))throw new Error("App payload missing activateShards");return t}throw new Error(`Unknown satellite payload kind: ${String(t.kind)}`)}function tx(){return typeof globalThis.__TAURI_INTERNALS__<"u"}let gu=0;function nx(){return gu+=1,`sh3-satellite-${Date.now()}-${gu}`}async function Mi(e,t={}){if(!tx())return console.warn("[sh3] sh3.window.spawn called outside Tauri — no-op"),"";const{invoke:n}=await ri(async()=>{const{invoke:c}=await import("./core-DsojzR6k.js");return{invoke:c}},[]),r=Q0(e),s=nx(),a=t.title??(e.kind==="float"?e.title??"SH3":`SH3 — ${e.appId}`),l=t.width??(e.kind==="float"?e.size.w:1024),o=t.height??(e.kind==="float"?e.size.h:768);return n("sh3_spawn_satellite",{payload:r,label:s,title:a,width:l,height:o})}class bt extends Error{constructor(t,n){super(`Registry validation error at ${t}: ${n}`),this.name="RegistryValidationError",this.path=t}}function lh(e){if(!e||typeof e!="object"||Array.isArray(e))throw new bt("$","expected an object");const t=e;if(t.version!==1)throw new bt("$.version",`expected 1, got ${JSON.stringify(t.version)}`);if(!Array.isArray(t.packages))throw new bt("$.packages","expected an array");return{version:1,packages:t.packages.map((r,s)=>rx(r,`$.packages[${s}]`))}}function rx(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new bt(t,"expected an object");const n=e;tn(n,"id",t),ix(n,"type",["shard","app","combo"],t),tn(n,"label",t),tn(n,"description",t);const r=`${t}.author`;if(!n.author||typeof n.author!="object"||Array.isArray(n.author))throw new bt(r,"expected an object");const s=n.author;if(typeof s.name!="string"||s.name.length===0)throw new bt(`${r}.name`,"expected a non-empty string");if(!Array.isArray(n.versions)||n.versions.length===0)throw new bt(`${t}.versions`,"expected a non-empty array");const a=n.versions.map((l,o)=>sx(l,`${t}.versions[${o}]`));return{id:n.id,type:n.type,label:n.label,description:n.description,author:{name:s.name},icon:typeof n.icon=="string"?n.icon:void 0,versions:a}}function sx(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new bt(t,"expected an object");const n=e;tn(n,"version",t),tn(n,"contractVersion",t);const r="bundleUrl"in n&&n.bundleUrl!==void 0,s="integrity"in n&&n.integrity!==void 0;if(r&&tn(n,"bundleUrl",t),s&&tn(n,"integrity",t),r!==s)throw new bt(t,"bundleUrl and integrity must be provided together");const a="serverBundleUrl"in n&&n.serverBundleUrl!==void 0;if(a&&tn(n,"serverBundleUrl",t),"serverIntegrity"in n&&n.serverIntegrity!==void 0&&tn(n,"serverIntegrity",t),!r&&!a)throw new bt(t,"expected at least one of bundleUrl+integrity or serverBundleUrl");let l;if(n.requires!==void 0){if(!Array.isArray(n.requires))throw new bt(`${t}.requires`,"expected an array");l=n.requires.map((o,c)=>ax(o,`${t}.requires[${c}]`))}return{version:n.version,contractVersion:n.contractVersion,bundleUrl:typeof n.bundleUrl=="string"?n.bundleUrl:void 0,integrity:typeof n.integrity=="string"?n.integrity:void 0,serverBundleUrl:typeof n.serverBundleUrl=="string"?n.serverBundleUrl:void 0,serverIntegrity:typeof n.serverIntegrity=="string"?n.serverIntegrity:void 0,requires:l}}function ax(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new bt(t,"expected an object");const n=e;return tn(n,"id",t),tn(n,"versionRange",t),{id:n.id,versionRange:n.versionRange}}function tn(e,t,n){const r=e[t];if(typeof r!="string"||r.length===0)throw new bt(`${n}.${t}`,"expected a non-empty string")}function ix(e,t,n,r){if(!n.includes(e[t]))throw new bt(`${r}.${t}`,`expected one of: ${n.join(", ")}`)}const yu=["sha256","sha384","sha512"];function ox(e){const t=e.indexOf("-");if(t===-1)throw new Error(`Invalid SRI format: ${e}`);const n=e.slice(0,t),r=e.slice(t+1);if(!yu.includes(n))throw new Error(`Unsupported SRI algorithm: ${n}. Supported: ${yu.join(", ")}`);if(!r)throw new Error(`Empty hash in SRI: ${e}`);return{algorithm:n,hash:r}}function lx(e){return`SHA-${e.slice(3)}`}function cx(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.length;r++)n+=String.fromCharCode(t[r]);return btoa(n)}async function ic(e,t){const{algorithm:n,hash:r}=ox(t),s=lx(n),a=await crypto.subtle.digest(s,e),l=cx(a);if(l!==r)throw new Error(`Integrity check failed for ${n}. Expected: ${r}, got: ${l}`)}async function ch(e){const t=new Set,n=[];for(const r of e){let s;try{const l=await fetch(r);if(!l.ok){console.warn(`[sh3] Registry fetch failed for ${r}: HTTP ${l.status}`);continue}s=await l.json()}catch(l){console.warn(`[sh3] Registry ${r}: ${l instanceof Error?l.message:String(l)}`);continue}let a;try{a=lh(s)}catch(l){console.warn(`[sh3] Registry ${r} failed validation: ${l instanceof Error?l.message:String(l)}`);continue}for(const l of a.packages)t.has(l.id)||(t.add(l.id),n.push({entry:l,latest:l.versions[0],sourceRegistry:r}))}return n}async function zi(e,t){if(!e.bundleUrl||!e.integrity)throw new Error("fetchBundle called on a version with no client bundle");let n=e.bundleUrl;t&&!/^https?:\/\//i.test(n)&&(n=new URL(n,t).href);const r=await fetch(n);if(!r.ok)throw new Error(`Bundle fetch failed: HTTP ${r.status} ${r.statusText} from ${n}`);const s=await r.arrayBuffer();return await ic(s,e.integrity),s}async function oc(e,t){if(!e.serverBundleUrl)throw new Error("fetchServerBundle called on a version with no serverBundleUrl");let n=e.serverBundleUrl;t&&!/^https?:\/\//i.test(n)&&(n=new URL(n,t).href);const r=await fetch(n);if(!r.ok)throw new Error(`Server bundle fetch failed: HTTP ${r.status} ${r.statusText} from ${n}`);const s=await r.arrayBuffer();return e.serverIntegrity?await ic(s,e.serverIntegrity):console.warn(`[sh3] Server bundle at ${n} has no serverIntegrity declared — skipping SRI check. This will become an error once the formal registry spec (ADR-015) lands.`),s}function ji(e,t){return{id:e.entry.id,type:e.entry.type,version:t.version,contractVersion:t.contractVersion,sourceRegistry:e.sourceRegistry,integrity:t.integrity,requires:t.requires,hasServerBundle:!!t.serverBundleUrl,serverIntegrity:t.serverIntegrity}}const Ss="sh3.shell.mode";function ux(e,t){return e.contributions.register(Ss,t)}const dn="0.17.2",lc="sh3:user:__sh3core__:theme";let qs=[];function dx(e){const t=Object.keys(e);for(const n of qs)t.includes(n)||document.documentElement.style.removeProperty(`--${n}`);for(const[n,r]of Object.entries(e))document.documentElement.style.setProperty(`--${n}`,r);qs=t;try{localStorage.setItem(lc,JSON.stringify(e))}catch{}}function fx(){for(const e of qs)document.documentElement.style.removeProperty(`--${e}`);qs=[];try{localStorage.removeItem(lc)}catch{}}function uh(){try{const e=localStorage.getItem(lc);if(!e)return{};const t=JSON.parse(e);return typeof t=="object"&&t!==null&&!Array.isArray(t)?t:{}}catch{return{}}}function vx(){const e=uh();if(Object.keys(e).length!==0){for(const[t,n]of Object.entries(e))document.documentElement.style.setProperty(`--${t}`,n);qs=Object.keys(e)}}const Vn="/assets/icons-2eVU8BA9.svg",dh=Symbol("sh3.icon-sprite");function hx(e){ll(dh,e)}function fh(){return ol(dh)}var px=xl('<svg class="sh3-btn__spinner svelte-t4hi97" aria-hidden="true" viewBox="0 0 16 16"><circle cx="8" cy="8" r="6" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-dasharray="30 10"></circle></svg>'),mx=xl('<svg class="sh3-btn__icon svelte-t4hi97" aria-hidden="true"><use></use></svg>'),bx=A('<span class="sh3-btn__label svelte-t4hi97"><!></span>'),gx=A("<button><!> <!></button>");function yx(e,t){se(t,!0);let n=$(t,"variant",3,"default"),r=$(t,"disabled",3,!1),s=$(t,"type",3,"button");const a=fh();function l(m){return m.includes("/")||m.endsWith(".svg")}const o=U(()=>t.icon?l(t.icon)?t.icon:`${t.sprite??a??Vn}#${t.icon}`:void 0);let c=H(!1);const u=U(()=>t.loading??i(c)),d=U(()=>n()==="icon"||!!t.icon&&!t.children);async function f(m){if(!t.onclick)return;const I=t.onclick(m);if(I&&typeof I.then=="function"){E(c,!0);try{await I}finally{E(c,!1)}}}var h=gx();let b;var x=p(h);{var y=m=>{var I=px();k(m,I)},g=m=>{var I=mx(),R=p(I);v(I),N(()=>ne(R,"href",i(o))),k(m,I)};K(x,m=>{i(u)?m(y):i(o)&&m(g,1)})}var S=w(x,2);{var _=m=>{var I=bx(),R=p(I);Gt(R,()=>t.children),v(I),k(m,I)};K(S,m=>{t.children&&m(_)})}v(h),N(()=>{ne(h,"type",s()),b=de(h,1,`sh3-btn sh3-btn--${n()??""}`,"svelte-t4hi97",b,{"sh3-btn--icon-only":i(d)}),h.disabled=r()||i(u),ne(h,"aria-busy",i(u)||void 0),ne(h,"title",t.title),ne(h,"aria-label",t.ariaLabel??(i(d)?t.title:void 0))}),F("click",h,f),k(e,h),ae()}ce(["click"]);var _x=A('<span class="sh3-collapsible__title svelte-lvydsb"> </span>'),wx=A('<div class="sh3-collapsible__body svelte-lvydsb"><!></div>'),kx=A('<div><button class="sh3-collapsible__head svelte-lvydsb" type="button"><svg class="sh3-collapsible__caret svelte-lvydsb" aria-hidden="true" viewBox="0 0 16 16"><path d="M5 3l6 5-6 5" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg> <!></button> <!></div>');function xx(e,t){se(t,!0);let n=$(t,"open",15,!1);function r(){n(!n()),t.onopenchange?.(n())}var s=kx();let a;var l=p(s),o=w(p(l),2);{var c=h=>{var b=Me(),x=ue(b);Gt(x,()=>t.header),k(h,b)},u=h=>{var b=_x(),x=p(b,!0);v(b),N(()=>j(x,t.title)),k(h,b)};K(o,h=>{t.header?h(c):t.title&&h(u,1)})}v(l);var d=w(l,2);{var f=h=>{var b=wx(),x=p(b);Gt(x,()=>t.children),v(b),k(h,b)};K(d,h=>{n()&&h(f)})}v(s),N(()=>{a=de(s,1,"sh3-collapsible svelte-lvydsb",null,a,{"sh3-collapsible--open":n()}),ne(l,"aria-expanded",n())}),F("click",l,r),k(e,s),ae()}ce(["click"]);var Sx=A('<span aria-hidden="true">*</span>'),Ex=A('<span class="sh3-field__label svelte-m4dkl"> <!></span>'),Ix=A('<span class="sh3-field__affix svelte-m4dkl"><!></span>'),Ax=A('<span class="sh3-field__affix svelte-m4dkl"><!></span>'),Cx=A("<span> </span>"),Tx=A('<label><!> <span class="sh3-field__row svelte-m4dkl"><!> <input class="sh3-field__input svelte-m4dkl"/> <!></span> <!></label>');function Rx(e,t){se(t,!0);let n=$(t,"value",15,""),r=$(t,"type",3,"text"),s=$(t,"disabled",3,!1),a=$(t,"invalid",3,!1),l=$(t,"size",3,"md"),o=$(t,"required",3,!1);const c=U(()=>a()&&!!t.error),u=U(()=>i(c)?t.error:t.helper);var d=Tx();let f;var h=p(d);{var b=P=>{var T=Ex(),z=p(T,!0),L=w(z);{var D=C=>{var O=Sx();k(C,O)};K(L,C=>{o()&&C(D)})}v(T),N(()=>j(z,t.label)),k(P,T)};K(h,P=>{t.label&&P(b)})}var x=w(h,2),y=p(x);{var g=P=>{var T=Ix(),z=p(T);Gt(z,()=>t.prefix),v(T),k(P,T)};K(y,P=>{t.prefix&&P(g)})}var S=w(y,2);ye(S);var _=w(S,2);{var m=P=>{var T=Ax(),z=p(T);Gt(z,()=>t.suffix),v(T),k(P,T)};K(_,P=>{t.suffix&&P(m)})}v(x);var I=w(x,2);{var R=P=>{var T=Cx();let z;var L=p(T,!0);v(T),N(()=>{z=de(T,1,"sh3-field__helper svelte-m4dkl",null,z,{"sh3-field__helper--error":i(c)}),j(L,i(u))}),k(P,T)};K(I,P=>{i(u)&&P(R)})}v(d),N(()=>{f=de(d,1,"sh3-field svelte-m4dkl",null,f,{"sh3-field--invalid":a(),"sh3-field--sm":l()==="sm"}),ne(S,"type",r()),ne(S,"placeholder",t.placeholder),S.disabled=s(),S.required=o(),ne(S,"autocomplete",t.autocomplete),ne(S,"aria-invalid",a()||void 0)}),F("input",S,()=>t.oninput?.(n())),ze("blur",S,()=>t.onchange?.(n())),Ie(S,n),k(e,d),ae()}ce(["input"]);var Px=A('<span aria-hidden="true">*</span>'),Lx=A('<span class="sh3-textarea__label svelte-668c6r"> <!></span>'),Mx=A("<span> </span>"),zx=A('<label><!> <textarea class="sh3-textarea__input svelte-668c6r"></textarea> <!></label>');function jx(e,t){se(t,!0);let n=$(t,"value",15,""),r=$(t,"disabled",3,!1),s=$(t,"invalid",3,!1),a=$(t,"size",3,"md"),l=$(t,"required",3,!1),o=$(t,"rows",3,3),c=$(t,"resize",3,"vertical");const u=U(()=>s()&&!!t.error),d=U(()=>i(u)?t.error:t.helper);var f=zx();let h;var b=p(f);{var x=m=>{var I=Lx(),R=p(I,!0),P=w(R);{var T=z=>{var L=Px();k(z,L)};K(P,z=>{l()&&z(T)})}v(I),N(()=>j(R,t.label)),k(m,I)};K(b,m=>{t.label&&m(x)})}var y=w(b,2);ml(y);let g;var S=w(y,2);{var _=m=>{var I=Mx();let R;var P=p(I,!0);v(I),N(()=>{R=de(I,1,"sh3-textarea__helper svelte-668c6r",null,R,{"sh3-textarea__helper--error":i(u)}),j(P,i(d))}),k(m,I)};K(S,m=>{i(d)&&m(_)})}v(f),N(()=>{h=de(f,1,"sh3-textarea svelte-668c6r",null,h,{"sh3-textarea--invalid":s(),"sh3-textarea--sm":a()==="sm"}),ne(y,"placeholder",t.placeholder),y.disabled=r(),y.required=l(),ne(y,"rows",o()),ne(y,"aria-invalid",s()||void 0),g=Ge(y,"",g,{resize:c()})}),F("input",y,()=>t.oninput?.(n())),ze("blur",y,()=>t.onchange?.(n())),Ie(y,n),k(e,f),ae()}ce(["input"]);function Dx(e,t,n){let r=e;return t!==void 0&&r<t&&(r=t),n!==void 0&&r>n&&(r=n),r}function Ox(e,t){const n=t.min??0,r=Math.round((e-n)/t.step);return n+r*t.step}var Nx=A('<span class="sh3-num__label svelte-1qa0x3m"> </span>'),qx=A('<span class="sh3-num__affix svelte-1qa0x3m"><!></span>'),Bx=A('<span class="sh3-num__affix svelte-1qa0x3m"><!></span>'),Vx=A('<label><!> <span class="sh3-num__row svelte-1qa0x3m"><!> <input class="sh3-num__input svelte-1qa0x3m" type="number"/> <!> <span class="sh3-num__steppers svelte-1qa0x3m"><button type="button" aria-label="Increase" class="svelte-1qa0x3m">▲</button> <button type="button" aria-label="Decrease" class="svelte-1qa0x3m">▼</button></span></span></label>');function Fx(e,t){se(t,!0);let n=$(t,"value",15,0),r=$(t,"step",3,1),s=$(t,"disabled",3,!1),a=$(t,"invalid",3,!1),l=$(t,"size",3,"md");function o(C){if(Number.isNaN(C))return;let O=Dx(Ox(C,{min:t.min,step:r()}),t.min,t.max);t.precision!==void 0&&(O=Number(O.toFixed(t.precision))),n(O)}function c(C){o(n()+C*r()),t.oninput?.(n())}let u=null,d=null,f=!1;function h(C){s()||(f=!0,c(C),u=setTimeout(()=>{let O=0;d=setInterval(()=>{c(C),O+=60,O>1500&&d&&(clearInterval(d),d=setInterval(()=>c(C),20))},60)},350))}function b(){u&&(clearTimeout(u),u=null),d&&(clearInterval(d),d=null),f&&(f=!1,t.onchange?.(n()))}var x=Vx();let y;var g=p(x);{var S=C=>{var O=Nx(),B=p(O,!0);v(O),N(()=>j(B,t.label)),k(C,O)};K(g,C=>{t.label&&C(S)})}var _=w(g,2),m=p(_);{var I=C=>{var O=qx(),B=p(O);Gt(B,()=>t.prefix),v(O),k(C,O)};K(m,C=>{t.prefix&&C(I)})}var R=w(m,2);ye(R);var P=w(R,2);{var T=C=>{var O=Bx(),B=p(O);Gt(B,()=>t.suffix),v(O),k(C,O)};K(P,C=>{t.suffix&&C(T)})}var z=w(P,2),L=p(z),D=w(L,2);v(z),v(_),v(x),N(()=>{y=de(x,1,"sh3-num svelte-1qa0x3m",null,y,{"sh3-num--invalid":a(),"sh3-num--sm":l()==="sm"}),ne(R,"min",t.min),ne(R,"max",t.max),ne(R,"step",r()),R.disabled=s(),ne(R,"aria-invalid",a()||void 0),Ts(R,n()),L.disabled=s(),D.disabled=s()}),F("input",R,C=>{const O=C.currentTarget.valueAsNumber;Number.isNaN(O)||(n(O),t.oninput?.(O))}),ze("blur",R,()=>{o(n()),t.onchange?.(n())}),F("pointerdown",L,()=>h(1)),F("pointerup",L,b),ze("pointerleave",L,b),F("pointerdown",D,()=>h(-1)),F("pointerup",D,b),ze("pointerleave",D,b),k(e,x),ae()}ce(["input","pointerdown","pointerup"]);function Di(e){return e.filter(t=>!t.disabled)}function Ux(e,t){const n=Di(e);if(n.length===0)return t;const r=n.findIndex(a=>a.value===t);return n[(r+1+n.length)%n.length].value}function Hx(e,t){const n=Di(e);if(n.length===0)return t;const r=n.findIndex(a=>a.value===t);return n[(r-1+n.length)%n.length].value}function Kx(e){return Di(e)[0]?.value}function Wx(e){const t=Di(e);return t[t.length-1]?.value}var Yx=A('<button type="button" role="radio"> </button>'),Gx=A('<div role="radiogroup" tabindex="-1"></div>');function vh(e,t){se(t,!0);let n=$(t,"value",31,()=>le(t.options[0]?.value??"")),r=$(t,"size",3,"md"),s=$(t,"disabled",3,!1);function a(u){n(u),t.onchange?.(u)}function l(u){if(s())return;let d;switch(u.key){case"ArrowRight":case"ArrowDown":d=Ux(t.options,n());break;case"ArrowLeft":case"ArrowUp":d=Hx(t.options,n());break;case"Home":d=Kx(t.options);break;case"End":d=Wx(t.options);break;default:return}u.preventDefault(),d!==void 0&&a(d)}var o=Gx();let c;ve(o,21,()=>t.options,ht,(u,d)=>{var f=Yx();let h;var b=p(f,!0);v(f),N(()=>{ne(f,"aria-checked",n()===i(d).value),ne(f,"tabindex",n()===i(d).value?0:-1),f.disabled=s()||i(d).disabled,h=de(f,1,"svelte-17xsko9",null,h,{"sh3-seg__btn--active":n()===i(d).value}),j(b,i(d).label)}),F("click",f,()=>{!i(d).disabled&&!s()&&a(i(d).value)}),k(u,f)}),v(o),N(()=>c=de(o,1,"sh3-seg svelte-17xsko9",null,c,{"sh3-seg--sm":r()==="sm"})),F("keydown",o,l),k(e,o),ae()}ce(["keydown","click"]);function Xx(e,t){return e===t?"":t}function Jx(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}var Zx=A('<button type="button"><!></button>'),Qx=A('<div role="group"></div>');function $x(e,t){se(t,!0);let n=$(t,"multiple",3,!1),r=$(t,"value",31,()=>le(n()?[]:t.options[0]?.value??"")),s=$(t,"disabled",3,!1),a=$(t,"size",3,"md");function l(d){return n()&&Array.isArray(r())?r().includes(d):r()===d}function o(d){if(!s()){if(n()){const f=Array.isArray(r())?r():[];r(Jx(f,d))}else r(Xx(typeof r()=="string"?r():"",d));t.onchange?.(r())}}var c=Qx();let u;ve(c,21,()=>t.options,ht,(d,f)=>{var h=Zx();let b;var x=p(h);Gt(x,()=>i(f).icon),v(h),N((y,g)=>{ne(h,"title",i(f).tooltip),ne(h,"aria-label",i(f).tooltip),ne(h,"aria-pressed",y),h.disabled=s(),b=de(h,1,"svelte-13knxr5",null,b,g)},[()=>l(i(f).value),()=>({"sh3-itg__btn--active":l(i(f).value)})]),F("click",h,()=>o(i(f).value)),k(d,h)}),v(c),N(()=>u=de(c,1,"sh3-itg svelte-13knxr5",null,u,{"sh3-itg--sm":a()==="sm"})),k(e,c),ae()}ce(["click"]);function Qa(e,t,n){return n===t?0:(e-t)/(n-t)*100}var eS=A('<span class="sh3-slider__tick svelte-13va6lu"></span>'),tS=A('<output class="sh3-slider__value svelte-13va6lu"> </output>'),nS=A('<div><div class="sh3-slider__track svelte-13va6lu"><div class="sh3-slider__fill svelte-13va6lu"></div> <!></div> <input type="range" class="sh3-slider__native svelte-13va6lu"/> <!></div>');function hh(e,t){se(t,!0);let n=$(t,"value",15,0),r=$(t,"min",3,0),s=$(t,"max",3,100),a=$(t,"step",3,1),l=$(t,"showValue",3,!1),o=$(t,"disabled",3,!1),c=$(t,"invalid",3,!1),u=$(t,"size",3,"md"),d=$(t,"orientation",3,"horizontal");const f=U(()=>Qa(n(),r(),s()));var h=nS();let b;var x=p(h),y=p(x);let g;var S=w(y,2);{var _=P=>{var T=Me(),z=ue(T);ve(z,17,()=>t.ticks,ht,(L,D)=>{var C=eS();let O;N(B=>O=Ge(C,"",O,B),[()=>({"--tick-pct":`${Qa(i(D),r(),s())??""}%`})]),k(L,C)}),k(P,T)};K(S,P=>{t.ticks&&P(_)})}v(x);var m=w(x,2);ye(m);var I=w(m,2);{var R=P=>{var T=tS();let z;var L=p(T,!0);v(T),N(()=>{z=Ge(T,"",z,{"--pct":`${i(f)??""}%`}),j(L,n())}),k(P,T)};K(I,P=>{l()&&P(R)})}v(h),N(()=>{b=de(h,1,`sh3-slider sh3-slider--${d()??""}`,"svelte-13va6lu",b,{"sh3-slider--sm":u()==="sm","sh3-slider--invalid":c()}),g=Ge(y,"",g,{"--pct":`${i(f)??""}%`}),ne(m,"min",r()),ne(m,"max",s()),ne(m,"step",a()),m.disabled=o(),ne(m,"aria-invalid",c()||void 0)}),F("input",m,()=>t.oninput?.(n())),F("change",m,()=>t.onchange?.(n())),Ie(m,n),k(e,h),ae()}ce(["input","change"]);function _u(e,t,n){const[r,s]=e;return t==="low"?[Math.min(n,s),s]:[r,Math.max(n,r)]}var rS=A('<div><div class="sh3-range__track svelte-rdbrc5"><div class="sh3-range__fill svelte-rdbrc5"></div></div> <input type="range" class="sh3-range__native sh3-range__native--low svelte-rdbrc5"/> <input type="range" class="sh3-range__native sh3-range__native--high svelte-rdbrc5"/></div>');function sS(e,t){se(t,!0);let n=$(t,"value",31,()=>le([0,100])),r=$(t,"min",3,0),s=$(t,"max",3,100),a=$(t,"step",3,1),l=$(t,"disabled",3,!1),o=$(t,"invalid",3,!1),c=$(t,"size",3,"md");const u=U(()=>Qa(n()[0],r(),s())),d=U(()=>Qa(n()[1],r(),s()));function f(I){n(_u(n(),"low",I)),t.oninput?.(n())}function h(I){n(_u(n(),"high",I)),t.oninput?.(n())}var b=rS();let x;var y=p(b),g=p(y);let S;v(y);var _=w(y,2);ye(_);var m=w(_,2);ye(m),v(b),N(()=>{x=de(b,1,"sh3-range svelte-rdbrc5",null,x,{"sh3-range--sm":c()==="sm","sh3-range--invalid":o()}),S=Ge(g,"",S,{"--lo":`${i(u)??""}%`,"--hi":`${i(d)??""}%`}),ne(_,"min",r()),ne(_,"max",s()),ne(_,"step",a()),_.disabled=l(),Ts(_,n()[0]),ne(m,"min",r()),ne(m,"max",s()),ne(m,"step",a()),m.disabled=l(),Ts(m,n()[1])}),F("input",_,I=>f(parseFloat(I.currentTarget.value))),F("change",_,()=>t.onchange?.(n())),F("input",m,I=>h(parseFloat(I.currentTarget.value))),F("change",m,()=>t.onchange?.(n())),k(e,b),ae()}ce(["input","change"]);var aS=A('<div class="sh3-sg__channel svelte-1lqyi0d"><span class="sh3-sg__label svelte-1lqyi0d"> </span> <!></div>'),iS=A("<div></div>");function oS(e,t){se(t,!0);let n=$(t,"orientation",3,"horizontal"),r=$(t,"values",31,()=>le({})),s=$(t,"showValues",3,!1),a=$(t,"disabled",3,!1),l=$(t,"size",3,"md");var o=iS();ve(o,21,()=>t.channels,c=>c.id,(c,u)=>{var d=aS(),f=p(d),h=p(f,!0);v(f);var b=w(f,2),x=()=>r()[i(u).id]??0,y=g=>r({...r(),[i(u).id]:g});{let g=U(()=>i(u).min??0),S=U(()=>i(u).max??100),_=U(()=>i(u).step??1);hh(b,{get orientation(){return n()},get min(){return i(g)},get max(){return i(S)},get step(){return i(_)},get disabled(){return a()},get size(){return l()},get showValue(){return s()},get value(){return x()},set value(m){y(m)},oninput:()=>t.oninput?.(r()),onchange:()=>t.onchange?.(r())})}v(d),N(()=>j(h,i(u).label)),k(c,d)}),v(o),N(()=>de(o,1,`sh3-sg sh3-sg--${n()??""}`,"svelte-1lqyi0d")),k(e,o),ae()}var lS=A('<span class="sh3-swatch__label svelte-6ri2j2"> </span>'),cS=A('<label><!> <button type="button" class="sh3-swatch__btn svelte-6ri2j2"><span class="sh3-swatch__dot svelte-6ri2j2"></span><span class="sh3-swatch__hex svelte-6ri2j2"> </span></button></label>');function ph(e,t){se(t,!0);let n=$(t,"value",15,"#000000"),r=$(t,"disabled",3,!1),s=$(t,"size",3,"md"),a;async function l(){if(r())return;const y=await St.color.pick({initial:n(),anchor:a});y!=null&&(n(y),t.onchange?.(y))}var o=cS();let c;var u=p(o);{var d=y=>{var g=lS(),S=p(g,!0);v(g),N(()=>j(S,t.label)),k(y,g)};K(u,y=>{t.label&&y(d)})}var f=w(u,2);let h;var b=w(p(f)),x=p(b,!0);v(b),v(f),qe(f,y=>a=y,()=>a),v(o),N(()=>{c=de(o,1,"sh3-swatch svelte-6ri2j2",null,c,{"sh3-swatch--sm":s()==="sm"}),f.disabled=r(),ne(f,"aria-label",`${t.label??"Color"??""} (current ${n()??""})`),h=Ge(f,"",h,{"--swatch-color":n()}),j(x,n())}),F("click",f,l),k(e,o),ae()}ce(["click"]);function uS(e,t){return!e||e.length===0?t?[]:null:t?Array.from(e):e[0]}function dS(e){return e===null?"":Array.isArray(e)?e.length===0?"":e.length===1?e[0].name:`${e.length} files`:e.name}var fS=A('<label><input class="sh3-fp__native svelte-24jk95" type="file"/> <span class="sh3-fp__btn svelte-24jk95" tabindex="-1"> </span> <span class="sh3-fp__name svelte-24jk95"> </span></label>');function vS(e,t){se(t,!0);let n=$(t,"value",15,null),r=$(t,"multiple",3,!1),s=$(t,"disabled",3,!1),a=$(t,"invalid",3,!1),l=$(t,"size",3,"md"),o=$(t,"buttonLabel",3,"Choose file...");function c(S){const _=S.currentTarget;n(uS(_.files,r())),t.onchange?.(n())}const u=U(()=>dS(n()));var d=fS();let f;var h=p(d),b=w(h,2),x=p(b,!0);v(b);var y=w(b,2),g=p(y,!0);v(y),v(d),N(()=>{f=de(d,1,"sh3-fp svelte-24jk95",null,f,{"sh3-fp--sm":l()==="sm","sh3-fp--invalid":a()}),ne(h,"accept",t.accept),h.multiple=r(),h.disabled=s(),j(x,o()),j(g,i(u)||"no file")}),F("change",h,c),k(e,d),ae()}ce(["change"]);const hS=8;function pS(e){return e.length>=hS}function mS(e,t){if(!t)return e.slice();const n=t.toLowerCase();return e.filter(r=>r.label.toLowerCase().includes(n))}function bS(e,t,n){if(!t)return-1;const r=t.toLowerCase(),s=e.length;for(let a=1;a<=s;a++){const l=(n+a)%s;if(!e[l].disabled&&e[l].label.toLowerCase().startsWith(r))return l}return-1}function gS(e,t,n){return n&&Array.isArray(t)?t.map(r=>e.find(s=>s.value===r)?.label??"").filter(Boolean).join(", "):typeof t=="string"&&t?e.find(r=>r.value===t)?.label??"":""}function yS(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}var _S=A('<input class="sh3-listbox__search svelte-1tyxvrs" type="search" placeholder="Filter…"/>'),wS=A('<span aria-hidden="true"></span>'),kS=A('<div role="option" tabindex="-1"><!> <span class="sh3-listbox__label"> </span></div>'),xS=A('<div class="sh3-listbox__empty svelte-1tyxvrs">No matches</div>'),SS=A('<div class="sh3-listbox svelte-1tyxvrs" role="listbox" tabindex="-1"><!> <div class="sh3-listbox__list svelte-1tyxvrs"><!> <!></div></div>');function ES(e,t){se(t,!0);const n=U(()=>t.getValue());function r(){t.onClose?.(),t.close()}const s=U(()=>pS(t.options));function a(){if(t.multiple)return 0;const z=typeof i(n)=="string"?i(n):"",L=t.options.findIndex(D=>D.value===z&&!D.disabled);return L>=0?L:0}let l=H(""),o=H(le(a())),c=H(void 0),u=H(void 0),d="",f=null;const h=U(()=>mS(t.options,i(l)));xe(()=>{i(o)>=i(h).length&&E(o,0),b()});async function b(){if(await Zs(),!i(c))return;i(c).querySelector(`[data-idx="${i(o)}"]`)?.scrollIntoView({block:"nearest"})}function x(z){return t.multiple&&Array.isArray(i(n))?i(n).includes(z.value):i(n)===z.value}function y(z){const L=i(h)[z];!L||L.disabled||(t.onSelect(L.value),t.multiple||r())}function g(z){if(i(h).length!==0)switch(z.key){case"ArrowDown":z.preventDefault(),E(o,(i(o)+1)%i(h).length);break;case"ArrowUp":z.preventDefault(),E(o,(i(o)-1+i(h).length)%i(h).length);break;case"Home":z.preventDefault(),E(o,0);break;case"End":z.preventDefault(),E(o,i(h).length-1);break;case"Enter":z.preventDefault(),y(i(o));break;case" ":case"Space":z.preventDefault(),y(i(o));break;case"Escape":z.preventDefault(),r();break;default:if(i(s)&&document.activeElement===i(u)||z.key.length!==1||z.metaKey||z.ctrlKey||z.altKey)return;d+=z.key,f&&clearTimeout(f),f=setTimeout(()=>{d=""},500);const L=bS(i(h),d,i(o));L>=0&&E(o,L,!0)}}var S=SS(),_=p(S);{var m=z=>{var L=_S();ye(L),qe(L,D=>E(u,D),()=>i(u)),Ie(L,()=>i(l),D=>E(l,D)),k(z,L)};K(_,z=>{i(s)&&z(m)})}var I=w(_,2),R=p(I);ve(R,17,()=>i(h),ht,(z,L,D)=>{var C=kS();ne(C,"data-idx",D);let O;var B=p(C);{var M=G=>{var Q=wS();let J;N(ee=>J=de(Q,1,"sh3-listbox__check svelte-1tyxvrs",null,J,ee),[()=>({"sh3-listbox__check--on":x(i(L))})]),k(G,Q)};K(B,G=>{t.multiple&&G(M)})}var V=w(B,2),Z=p(V,!0);v(V),v(C),N((G,Q)=>{ne(C,"aria-selected",G),ne(C,"aria-disabled",i(L).disabled),O=de(C,1,"svelte-1tyxvrs",null,O,Q),j(Z,i(L).label)},[()=>x(i(L)),()=>({"sh3-listbox__opt--active":D===i(o),"sh3-listbox__opt--selected":x(i(L))})]),F("click",C,()=>y(D)),ze("mouseenter",C,()=>E(o,D,!0)),k(z,C)});var P=w(R,2);{var T=z=>{var L=xS();k(z,L)};K(P,z=>{i(h).length===0&&z(T)})}v(I),qe(I,z=>E(c,z),()=>i(c)),v(S),N(()=>ne(S,"aria-multiselectable",t.multiple)),F("keydown",S,g),k(e,S),ae()}ce(["keydown","click"]);var IS=A('<span class="sh3-select__label svelte-1q3zxph"> </span>'),AS=A("<option> </option>"),CS=A('<label><!> <button type="button" class="sh3-select__btn svelte-1q3zxph" aria-haspopup="listbox"><span> </span> <span class="sh3-select__chevron svelte-1q3zxph" aria-hidden="true">▾</span></button> <select class="sh3-select__native svelte-1q3zxph" aria-hidden="true"></select></label>');function TS(e,t){se(t,!0);let n=$(t,"multiple",3,!1),r=$(t,"value",31,()=>le(n()?[]:"")),s=$(t,"placeholder",3,"Select…"),a=$(t,"disabled",3,!1),l=$(t,"invalid",3,!1),o=$(t,"size",3,"md"),c=H(void 0),u=H(void 0),d=H(!1);const f=U(()=>gS(t.options,r(),n()));function h(){E(d,!1),i(c)?.focus()}async function b(){if(a()||i(d)||!i(c))return;E(d,!0);const L=St.popup.show(ES,{anchor:i(c)},{options:t.options,getValue:()=>r(),multiple:n(),onSelect:O=>{if(n()){const B=Array.isArray(r())?r():[];r(yS(B,O))}else r(O);t.onchange?.(r())},onClose:h}),D=L.close;L.close=()=>{D(),h()},await Zs(),document.querySelector(".sh3-listbox")?.focus()}function x(L){if(!(a()||i(d)))switch(L.key){case"ArrowDown":case"ArrowUp":case"Enter":case" ":L.preventDefault(),b();break}}function y(){i(u)&&(n()?r(Array.from(i(u).selectedOptions).map(L=>L.value)):r(i(u).value),t.onchange?.(r()))}var g=CS();let S;var _=p(g);{var m=L=>{var D=IS(),C=p(D,!0);v(D),N(()=>j(C,t.label)),k(L,D)};K(_,L=>{t.label&&L(m)})}var I=w(_,2),R=p(I);let P;var T=p(R,!0);v(R),Pt(2),v(I),qe(I,L=>E(c,L),()=>i(c));var z=w(I,2);ne(z,"tabindex",-1),ve(z,21,()=>t.options,ht,(L,D)=>{var C=AS(),O=p(C,!0);v(C);var B={};N(M=>{Tl(C,M),j(O,i(D).label),B!==(B=i(D).value)&&(C.value=(C.__value=i(D).value)??"")},[()=>n()?Array.isArray(r())&&r().includes(i(D).value):r()===i(D).value]),k(L,C)}),v(z),qe(z,L=>E(u,L),()=>i(u)),v(g),N(()=>{S=de(g,1,"sh3-select svelte-1q3zxph",null,S,{"sh3-select--invalid":l(),"sh3-select--sm":o()==="sm"}),I.disabled=a(),ne(I,"aria-expanded",i(d)),P=de(R,1,"sh3-select__display svelte-1q3zxph",null,P,{"sh3-select__display--placeholder":!i(f)}),j(T,i(f)||s()),z.multiple=n(),z.disabled=a()}),F("click",I,b),F("keydown",I,x),F("change",z,y),k(e,g),ae()}ce(["click","keydown","change"]);function RS(e,t){if(!t)return e;const n=t.toLowerCase();return e.filter(r=>!!(r.label.toLowerCase().includes(n)||r.id.toLowerCase().includes(n)||r.sublabel&&r.sublabel.toLowerCase().includes(n)))}function PS(e,t){return e.includes(t)?e.filter(n=>n!==t):[...e,t]}var LS=A('<input type="search" class="sh3-picker__search svelte-1rlwvrb" placeholder="Filter…"/>'),MS=A('<p class="sh3-picker__status svelte-1rlwvrb">Loading…</p>'),zS=A('<button type="button" class="sh3-picker__retry svelte-1rlwvrb">Retry</button>'),jS=A('<p class="sh3-picker__status sh3-picker__status--error svelte-1rlwvrb"> </p> <!>',1),DS=A('<p class="sh3-picker__status svelte-1rlwvrb"> </p>'),OS=A('<span class="sh3-picker__row-sub svelte-1rlwvrb"> </span>'),NS=A('<label class="sh3-picker__row svelte-1rlwvrb"><input type="checkbox"/> <span class="sh3-picker__row-text svelte-1rlwvrb"><span class="sh3-picker__row-label svelte-1rlwvrb"> </span> <!></span></label>'),qS=A('<div><!> <div class="sh3-picker__list svelte-1rlwvrb"><!></div> <p class="sh3-picker__footer svelte-1rlwvrb"> </p></div>');function mh(e,t){se(t,!0);let n=$(t,"value",31,()=>le([])),r=$(t,"loading",3,!1),s=$(t,"error",3,null),a=$(t,"emptyText",3,"No items."),l=$(t,"searchThreshold",3,8),o=$(t,"disabled",3,!1),c=$(t,"size",3,"md"),u=H("");const d=U(()=>t.items.length>=l()),f=U(()=>RS(t.items,i(u))),h=U(()=>t.items.length),b=U(()=>n().length);function x(C){if(o())return;const O=PS(n(),C);n(O),t.onchange?.(O)}var y=qS();let g;var S=p(y);{var _=C=>{var O=LS();ye(O),N(()=>O.disabled=o()),Ie(O,()=>i(u),B=>E(u,B)),k(C,O)};K(S,C=>{i(d)&&C(_)})}var m=w(S,2),I=p(m);{var R=C=>{var O=MS();k(C,O)},P=C=>{var O=jS(),B=ue(O),M=p(B,!0);v(B);var V=w(B,2);{var Z=G=>{var Q=zS();F("click",Q,()=>t.onRetry?.()),k(G,Q)};K(V,G=>{t.onRetry&&G(Z)})}N(()=>j(M,s())),k(C,O)},T=C=>{var O=DS(),B=p(O,!0);v(O),N(()=>j(B,a())),k(C,O)},z=C=>{var O=Me(),B=ue(O);ve(B,17,()=>i(f),M=>M.id,(M,V)=>{var Z=NS(),G=p(Z);ye(G);var Q=w(G,2),J=p(Q),ee=p(J,!0);v(J);var Y=w(J,2);{var q=W=>{var ie=OS(),X=p(ie,!0);v(ie),N(()=>j(X,i(V).sublabel)),k(W,ie)};K(Y,W=>{i(V).sublabel&&W(q)})}v(Q),v(Z),N(W=>{Cl(G,W),G.disabled=o(),j(ee,i(V).label)},[()=>n().includes(i(V).id)]),F("change",G,()=>x(i(V).id)),k(M,Z)}),k(C,O)};K(I,C=>{r()?C(R):s()?C(P,1):t.items.length===0?C(T,2):C(z,-1)})}v(m);var L=w(m,2),D=p(L);v(L),v(y),N(()=>{g=de(y,1,"sh3-picker svelte-1rlwvrb",null,g,{"sh3-picker--sm":c()==="sm","sh3-picker--disabled":o()}),j(D,`${i(b)??""} of ${i(h)??""} selected`)}),k(e,y),ae()}ce(["click","change"]);function bh(e,t){se(t,!0);const n=new Set(["sh3-admin-app","sh3-store-app"]);let r=$(t,"value",31,()=>le([])),s=$(t,"disabled",3,!1),a=$(t,"size",3,"md");const l=U(()=>ns().filter(c=>!n.has(c.id)&&!c.admin).map(c=>({id:c.id,label:c.label,sublabel:c.id})).sort((c,u)=>c.label.localeCompare(u.label)));function o(c){r(c),t.onchange?.(c)}mh(e,{get items(){return i(l)},get value(){return r()},onchange:o,get disabled(){return s()},get size(){return a()},emptyText:"No apps installed."}),ae()}const Ft=le({users:[],loading:!1,error:null});let ds=null;function wu(){return ds||(Ft.loading=!0,Ft.error=null,ds=(async()=>{try{const e=await fetch("/api/admin/users",{credentials:"include"});if(!e.ok){Ft.error=`GET /api/admin/users failed: ${e.status}`;return}Ft.users=await e.json()}catch(e){Ft.error=e.message}finally{Ft.loading=!1,ds=null}})(),ds)}function gh(e,t){se(t,!0);let n=$(t,"value",31,()=>le([])),r=$(t,"disabled",3,!1),s=$(t,"size",3,"md");Ft.users.length===0&&!Ft.loading&&!Ft.error&&wu();const a=U(()=>Ft.users.map(o=>({id:o.id,label:o.displayName||o.username,sublabel:o.username})));function l(o){n(o),t.onchange?.(o)}mh(e,{get items(){return i(a)},get value(){return n()},onchange:l,get loading(){return Ft.loading},get error(){return Ft.error},onRetry:()=>void wu(),emptyText:"No users found.",get disabled(){return r()},get size(){return s()}}),ae()}const BS=/^[a-zA-Z0-9.\-_]+$/,VS=/^[a-zA-Z0-9.\-_]*$/;function $a(e,t){if(e.length===0)throw new Error(`fieldAddress: ${t} is empty`);if(!BS.test(e))throw new Error(`fieldAddress: invalid ${t} "${e}" (must match [a-zA-Z0-9.\\-_]+)`)}function yh(e){if(!VS.test(e))throw new Error(`fieldAddress: invalid slotId "${e}"`)}function FS(e){return $a(e.shardId,"shardId"),$a(e.fieldId,"fieldId"),e.slotId!==void 0&&yh(e.slotId),`${e.shardId}::${e.slotId??""}::${e.fieldId}`}function US(e){const t=e.split("::");if(t.length!==3)throw new Error(`fieldAddress: malformed "${e}" (expected three ::-separated parts)`);const[n,r,s]=t;$a(n,"shardId"),$a(s,"fieldId"),yh(r);const a={shardId:n,fieldId:s};return r.length>0&&(a.slotId=r),a}const HS={hotInstall:typeof Blob<"u"&&typeof URL.createObjectURL=="function"},_h=["__sh3core__","shell","sh3-store","sh3-admin"],wh=Object.freeze(Object.defineProperty({__proto__:null,AppPicker:bh,Button:yx,COLOR_PICKER_POINT:Xf,CONFLICT_RENDERER_POINT:Wf,Collapsible:xx,ColorSwatch:ph,ConflictPermissionError:Yf,ConflictSessionOrphanedError:a1,ConsentDeniedError:ah,FRAMEWORK_SHARD_IDS:_h,Field:Rx,FilePicker:vS,IconToggleGroup:$x,NumberInput:Fx,PERMISSION_DOCUMENTS_BROWSE:eh,PERMISSION_DOCUMENTS_READ:th,PERMISSION_DOCUMENTS_WRITE:nh,PERMISSION_KEYS_MINT:rh,PERMISSION_STATE_MANAGE:Rs,PERMISSION_SYNC_PEER:N0,PERMISSION_SYNC_POLICY:q0,RangeSlider:sS,SHELL_MODE_CONTRIBUTION_POINT:Ss,ScopeEscalationError:sh,Segmented:vh,Select:TS,Slider:hh,SliderGroup:oS,Textarea:jx,UserPicker:gh,VERSION:dn,activeShards:dr,buildPackageMeta:ji,capabilities:HS,clearTokenOverrides:fx,closeTab:$l,collapseChild:Zk,dockFloat:Bv,dockIntoActiveLayout:tc,erroredShards:Ja,expandChild:Qk,fetchBundle:zi,fetchRegistries:ch,fieldAddressFromString:US,fieldAddressToString:FS,focusTab:Jk,focusView:Ii,getActiveApp:Ml,getAuthHeader:Ti,getIconSprite:fh,getTokenOverrides:uh,getUser:Wr,inspectActiveLayout:Dv,isAdmin:wt,isAuthenticated:Fo,isGuest:Hv,launchApp:Pn,listRegisteredApps:ns,listVerbs:Ul,locateSlot:Fv,popoutView:qv,provideIcons:hx,pushNavEntry:z_,registerConsentListener:ih,registerShellMode:ux,registeredShards:Jt,resolveConsent:Yo,returnToHome:ia,runVerbProgrammatic:Yv,setTokenOverrides:dx,sh3:St,spawnSatellite:Mi,spliceIntoActiveLayout:Xk,subscribeKeyRevocation:ac,unregisterApp:Ql,validateRegistryIndex:lh},Symbol.toStringTag,{value:"Module"})),KS="/assets/SH3-BG5NVpSD.png",WS="https://cdn.jsdelivr.net/npm/p5@1.11.13/lib/p5.min.js";let fs=null;function YS(){return fs||(fs=new Promise((e,t)=>{const n=window.p5;if(n){e(n);return}const r=document.createElement("script");r.src=WS,r.async=!0,r.onload=()=>e(window.p5),r.onerror=s=>{fs=null,t(s)},document.head.appendChild(r)}),fs)}var GS=A('<h1 class="sh3-title-fallback svelte-foqg2v">SH3</h1>'),XS=A('<div class="sh3-title svelte-foqg2v"></div>');function JS(e,t){se(t,!0);const n="`.-':;,^\"~=+<>*?!/\\|()[]{}x1ltzrcvunsXYUJCLQ0OZmwqpdbkhao*#MW&8%B@$",r=64,s=Math.floor(64/(442/193)),a=8,l=7,o=80,c=r*a,u=s*l,d=o/u;let f=H(void 0),h=null,b=H(!1);const x=()=>m=>{const R=getComputedStyle(document.documentElement).getPropertyValue("--sh3-accent").trim();let P,T,z=!1;m.setup=()=>{m.createCanvas(c,u),m.noSmooth(),m.noStroke(),m.textAlign(m.CENTER,m.CENTER),m.textFont("monospace"),m.textSize(10),m.textStyle(m.BOLD),T=m.loadImage(KS,()=>{P=m.createGraphics(r,s),P.pixelDensity(1),P.image(T,0,0,r,s),P.loadPixels(),z=!0},()=>{E(b,!0)})},m.draw=()=>{if(!z)return;const L=m.millis()*.001;let D;m.clear(),m.background(0,0),m.fill(R);for(let C=0;C<s;C++)for(let O=0;O<r;O++){const B=(C*r+O)*4;if(P.pixels[B]<64){if(D=m.noise(O/r*2,C/s*2,L*.15),D>.33)continue;m.text(n[Math.floor(D*n.length*.25)],(O+.5)*a,(C+.5)*l);continue}D=m.noise(O/r*4,C/s*4,L*.5),m.text(n[Math.floor(D*n.length)],(O+.5)*a,(C+.5)*l)}}};xe(()=>{if(i(b))return;let m=!1;return YS().then(I=>{if(!(m||!i(f)))try{h=new I(x(),i(f))}catch(R){console.error("[Sh3Title] p5 sketch failed to start",R),E(b,!0)}}).catch(I=>{console.error("[Sh3Title] failed to load p5 from CDN",I),E(b,!0)}),()=>{m=!0,h&&(h.remove(),h=null)}});var y=Me(),g=ue(y);{var S=m=>{var I=GS();k(m,I)},_=m=>{var I=XS();Ge(I,"",{},{width:"216.7195767195767px",height:"80px","--sh3-title-scale":d}),qe(I,R=>E(f,R),()=>i(f)),k(m,I)};K(g,m=>{i(b)?m(S):m(_,-1)})}k(e,y),ae()}async function yr(e,t){const n=await fetch(e,{credentials:"include",...t});if(!n.ok)throw new Error(`${t?.method??"GET"} ${e} failed: ${n.status}`);return n.json()}const Ta={async list(){return(await yr("/api/projects",{method:"GET"})).projects},async listAll(){return(await yr("/api/projects/all",{method:"GET"})).projects},async get(e){return yr(`/api/projects/${encodeURIComponent(e)}`,{method:"GET"})},async create(e){return yr("/api/projects",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)})},async update(e,t){return yr(`/api/projects/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"content-type":"application/json"},body:JSON.stringify(t)})},async delete(e,t){const n=t?.wipeData?"?wipeData=1":"";await yr(`/api/projects/${encodeURIComponent(e)}${n}`,{method:"DELETE"})}};var ZS=A(`<div class="delete-project-dialog svelte-6j13aq"><div class="delete-project-dialog__title svelte-6j13aq"> </div> <div class="delete-project-dialog__body svelte-6j13aq">The project record will be removed and any members will lose access.
9
+ Documents already written under the project's namespace remain on disk
10
+ unless you tick the option below.</div> <label class="delete-project-dialog__opt svelte-6j13aq"><input type="checkbox" class="svelte-6j13aq"/> <span>Also delete project files <code class="delete-project-dialog__path svelte-6j13aq"> </code></span></label> <div class="delete-project-dialog__actions svelte-6j13aq"><button type="button" class="delete-project-dialog__btn svelte-6j13aq" data-delete-project-cancel="">Cancel</button> <button type="button" class="delete-project-dialog__btn delete-project-dialog__btn--danger svelte-6j13aq" data-delete-project-confirm="">Delete</button></div></div>`);function QS(e,t){se(t,!0);let n=H(void 0),r=H(!1),s=H(!1);xe(()=>{i(n)?.focus()});async function a(){if(!i(r)){E(r,!0);try{await t.onConfirm({wipeData:i(s)})}finally{t.close()}}}function l(){i(r)||(t.onCancel?.(),t.close())}var o=ZS(),c=p(o),u=p(c);v(c);var d=w(c,4),f=p(d);ye(f);var h=w(f,2),b=w(p(h)),x=p(b);v(b),v(h),v(d);var y=w(d,2),g=p(y);qe(g,_=>E(n,_),()=>i(n));var S=w(g,2);v(y),v(o),N(()=>{j(u,`Delete project '${t.projectName??""}'?`),f.disabled=i(r),j(x,`<dataDir>/docs/${t.projectId??""}/`),g.disabled=i(r),S.disabled=i(r)}),ws(f,()=>i(s),_=>E(s,_)),F("click",g,l),F("click",S,a),k(e,o),ae()}ce(["click"]);var $S=A('<p class="project-id svelte-1oy3640">ID: <code class="svelte-1oy3640"> </code></p>'),e3=A('<span class="hint svelte-1oy3640">Your id: <code class="svelte-1oy3640"> </code> </span>'),t3=A('<p class="error svelte-1oy3640"> </p>'),n3=A('<button type="button" class="danger svelte-1oy3640">Delete</button>'),r3=A('<div class="project-manage svelte-1oy3640"><div class="body svelte-1oy3640"><h2 class="svelte-1oy3640"> </h2> <!> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">Name</span> <input type="text" placeholder="Acme Website" class="svelte-1oy3640"/></label> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">Description</span> <textarea class="svelte-1oy3640"></textarea></label> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">Members</span> <!> <!></label> <label class="field svelte-1oy3640"><span class="svelte-1oy3640">App allowlist</span> <!></label> <!></div> <div class="actions svelte-1oy3640"><button type="button" class="primary svelte-1oy3640"> </button> <button type="button" class="svelte-1oy3640">Cancel</button> <!></div></div>');function s3(e,t){se(t,!0);let n=$(t,"project",3,null);const r=U(()=>n()!==null),s=U(Wr);let a=H(le(we(()=>n()?.name??""))),l=H(le(we(()=>n()?.description??""))),o=H(le(we(()=>{if(n())return[...n().members];const Y=Wr()?.id;return Y?[Y]:[]}))),c=H(le(we(()=>n()?[...n().appAllowlist]:[]))),u=H(!1),d=H(null);async function f(){if(!i(a).trim()){E(d,"Name is required");return}E(u,!0),E(d,null);const Y={name:i(a).trim(),description:i(l).trim()||void 0,members:i(o),appAllowlist:i(c)};try{i(r)&&n()?await Ta.update(n().id,Y):await Ta.create(Y),await ei(),t.onClose()}catch(q){E(d,q.message,!0)}finally{E(u,!1)}}function h(){if(!i(r)||!n())return;const Y=n();Zt.open(QS,{projectName:Y.name,projectId:Y.id,onConfirm:async({wipeData:q})=>{E(u,!0),E(d,null);try{await Ta.delete(Y.id,{wipeData:q}),await ei(),t.onClose()}catch(W){E(d,W.message,!0)}finally{E(u,!1)}}})}var b=r3(),x=p(b),y=p(x),g=p(y,!0);v(y);var S=w(y,2);{var _=Y=>{var q=$S(),W=w(p(q)),ie=p(W,!0);v(W),v(q),N(()=>j(ie,n().id)),k(Y,q)};K(S,Y=>{i(r)&&Y(_)})}var m=w(S,2),I=w(p(m),2);ye(I),v(m);var R=w(m,2),P=w(p(R),2);ml(P),ne(P,"rows",2),v(R);var T=w(R,2),z=w(p(T),2);gh(z,{get disabled(){return i(u)},get value(){return i(o)},set value(Y){E(o,Y,!0)}});var L=w(z,2);{var D=Y=>{var q=e3(),W=w(p(q)),ie=p(W,!0);v(W);var X=w(W);v(q),N(()=>{j(ie,i(s).id),j(X,` (${i(s).username??i(s).displayName??""})`)}),k(Y,q)};K(L,Y=>{i(s)&&Y(D)})}v(T);var C=w(T,2),O=w(p(C),2);bh(O,{get disabled(){return i(u)},get value(){return i(c)},set value(Y){E(c,Y,!0)}}),v(C);var B=w(C,2);{var M=Y=>{var q=t3(),W=p(q,!0);v(q),N(()=>j(W,i(d))),k(Y,q)};K(B,Y=>{i(d)&&Y(M)})}v(x);var V=w(x,2),Z=p(V),G=p(Z,!0);v(Z);var Q=w(Z,2),J=w(Q,2);{var ee=Y=>{var q=n3();N(()=>q.disabled=i(u)),F("click",q,h),k(Y,q)};K(J,Y=>{i(r)&&Y(ee)})}v(V),v(b),N(()=>{j(g,i(r)?`Edit ${n().name}`:"Create Project"),I.disabled=i(u),P.disabled=i(u),Z.disabled=i(u),j(G,i(r)?"Save":"Create"),Q.disabled=i(u)}),Ie(I,()=>i(a),Y=>E(a,Y)),Ie(P,()=>i(l),Y=>E(l,Y)),F("click",Z,f),F("click",Q,function(...Y){t.onClose?.apply(this,Y)}),k(e,b),ae()}ce(["click"]);const Ut=le({projects:[],loading:!1,error:null});async function ei(){Ut.loading=!0,Ut.error=null;try{Ut.projects=await Ta.list()}catch(e){Ut.error=e.message}finally{Ut.loading=!1}}const Go="projects:manage";let Xo=null;function a3(){const e=Xo;return Xo=null,e}function Jo(e){Xo=e,Te.open(Go,{title:e?`Edit ${e.name}`:"Create Project",size:{w:560,h:620},dismissable:!0})}const kh={manifest:{id:"__projects__",label:"Projects",version:dn,views:[{id:Go,label:"Project Manager"}]},activate(e){ei(),typeof document<"u"&&document.addEventListener("visibilitychange",()=>{document.visibilityState==="visible"&&ei()});const t={mount(r,s){const a=a3(),l=Te.list(),o=l.length>0?l[l.length-1].id:null,u=Fe(s3,{target:r,props:{project:a,onClose:()=>{o&&Te.close(o)}}});return{unmount(){Qe(u)}}}};e.registerView(Go,t),e.actions.register({id:"sh3.project.create",label:"Create Project…",scope:["home","app"],paletteItem:!0,disabled:()=>!wt(),run:()=>{wt()&&Jo(null)}}),e.actions.register({id:"sh3.project.manage",label:"Manage Project…",scope:["home","app"],submenu:!0,paletteItem:!0,disabled:()=>!wt()});const n=new Map;$r(()=>{xe(()=>{const r=new Set;for(const s of Ut.projects){if(r.add(s.id),n.has(s.id))continue;const a=e.actions.register({id:`sh3.project.manage:${s.id}`,label:s.name,scope:["home","app"],submenuOf:"sh3.project.manage",run:()=>{const l=Ut.projects.find(o=>o.id===s.id);l&&Jo(l)}});n.set(s.id,a)}for(const s of[...n.keys()])r.has(s)||(n.get(s)(),n.delete(s))})})},autostart(){}};var i3=A('<button type="button" class="project-card-edit svelte-yosqc3" aria-label="Edit project" title="Edit project">⚙</button>'),o3=A('<div class="project-card-wrap svelte-yosqc3"><button type="button"><span class="project-name svelte-yosqc3"> </span> <span class="project-meta svelte-yosqc3"> </span></button> <!></div>'),l3=A('<section class="projects-section svelte-yosqc3"><h2 class="projects-heading svelte-yosqc3">Projects</h2> <div class="projects-grid svelte-yosqc3"></div></section>');function c3(e,t){se(t,!0);const n=U(()=>Ut.projects.length>0),r=U(()=>ur.activeProjectId),s=U(wt);function a(d){zv(i(r)===d?null:d)}function l(d,f){f.stopPropagation();const h=Ut.projects.find(b=>b.id===d)??null;h&&Jo(h)}var o=Me(),c=ue(o);{var u=d=>{var f=l3(),h=w(p(f),2);ve(h,21,()=>Ut.projects,b=>b.id,(b,x)=>{var y=o3(),g=p(y);let S;var _=p(g),m=p(_,!0);v(_);var I=w(_,2),R=p(I);v(I),v(g);var P=w(g,2);{var T=z=>{var L=i3();F("click",L,D=>l(i(x).id,D)),k(z,L)};K(P,z=>{i(s)&&z(T)})}v(y),N(()=>{S=de(g,1,"project-card svelte-yosqc3",null,S,{active:i(r)===i(x).id}),ne(g,"title",i(x).description??`${i(x).members.length} member${i(x).members.length===1?"":"s"}`),j(m,i(x).name),j(R,`${i(x).members.length??""} member${i(x).members.length===1?"":"s"}`)}),F("click",g,()=>a(i(x).id)),k(b,y)}),v(h),v(f),k(d,f)};K(c,d=>{i(n)&&d(u)})}k(e,o),ae()}ce(["click"]);let gt=null;function u3(e){gt=e}function d3(){gt=null}function fr(){return gt?.user.layouts??[]}function f3(e){gt&&(gt.user.layouts=[...gt.user.layouts,e])}function xh(e,t){if(!gt)return;const n=gt.user.layouts.findIndex(s=>s.id===e);if(n<0)return;const r=[...gt.user.layouts];r[n]={...r[n],...t},gt.user.layouts=r}function v3(e){gt&&(gt.user.layouts=gt.user.layouts.filter(t=>t.id!==e))}function h3(){gt={ephemeral:{},session:{},workspace:{},user:{layouts:[]}}}h3();function Oi(e,t){if(e.type==="slot")return e.viewId===null||!t(e.viewId)?null:e;if(e.type==="tabs"){const s=[];let a=!1,l=0;for(let o=0;o<e.tabs.length;o++){const c=e.tabs[o];c.viewId!==null&&t(c.viewId)&&(o===e.activeTab&&(a=!0,l=s.length),s.push(c))}return s.length===0?null:{type:"tabs",tabs:s,activeTab:a?l:0}}const n=[],r=[];for(let s=0;s<e.children.length;s++){const a=Oi(e.children[s],t);a!==null&&(n.push(a),r.push(e.sizes[s]??1))}return n.length===0?null:n.length===1?n[0]:{type:"split",direction:e.direction,sizes:r,children:n}}function Sh(e){return JSON.parse(JSON.stringify(e))}function p3(e,t){const n=Te.list().find(s=>s.id===e);if(!n)return null;const r=Oi(n.content,t);return r===null?null:{size:{w:n.size.w,h:n.size.h},content:Sh(r)}}function Eh(e,t,n){const r=Oi(e.content,t);return r===null?(n(`Saved layout "${e.name}" has no available standalone views`,"warn"),""):Te.openWithContent({content:Sh(r),size:{w:e.size.w,h:e.size.h},title:e.name})}var m3=A('<button type="button" data-sh3-scope="element:saved-layout"><span class="saved-layout-card-square svelte-1ncltuf"><svg class="saved-layout-card-icon svelte-1ncltuf"><use></use></svg></span> <span class="saved-layout-card-label svelte-1ncltuf"> </span></button>'),b3=A('<section class="saved-layouts-section svelte-1ncltuf"><h2 class="saved-layouts-heading svelte-1ncltuf">Saved Layouts</h2> <div class="saved-layouts-grid svelte-1ncltuf"></div></section>');function g3(e,t){se(t,!0);const n=U(fr),r=wi("__layouts__");function s(f){return Ns().some(h=>h.viewId===f)}function a(f,h){gn.notify(f,{level:h})}function l(f){const h=fr().find(b=>b.id===f);h&&Eh(h,s,a)}function o(f,h){f.preventDefault(),r.set({type:"saved-layout",ref:{layoutId:h}}),St.actions.openContextMenu({x:f.clientX,y:f.clientY,scope:{element:"saved-layout"}})}var c=Me(),u=ue(c);{var d=f=>{var h=b3(),b=w(p(h),2);ve(b,21,()=>i(n),x=>x.id,(x,y)=>{var g=m3();let S,_;var m=p(g),I=p(m),R=p(I);v(I),v(m);var P=w(m,2),T=p(P,!0);v(P),v(g),N(()=>{S=de(g,1,"saved-layout-card svelte-1ncltuf",null,S,{"saved-layout-card--tinted":i(y).appearance?.color}),ne(g,"data-saved-layout-id",i(y).id),_=Ge(g,"",_,{"--card-color":i(y).appearance?.color??"transparent"}),ne(R,"href",`${Vn}#${i(y).appearance?.icon??"eye"??""}`),j(T,i(y).name)}),F("click",g,()=>l(i(y).id)),F("contextmenu",g,z=>o(z,i(y).id)),k(x,g)}),v(b),v(h),k(f,h)};K(u,f=>{i(n).length>0&&f(d)})}k(e,c),ae()}ce(["click","contextmenu"]);const ku=["activity","align-horizontal-justify-center","align-horizontal-justify-end","align-horizontal-justify-start","app-window","archive","archive-restore","axis-3d","box","brick-wall","bug","building-2","cable","calendar","camera","check","chevron-down","chevron-right","circle-check","circle-dot","circle-minus","circle-x","clipboard","clipboard-paste","clock","compass","component","copy","cpu","crop","crosshair","crown","dollar-sign","download","droplet","eraser","euro","external-link","eye","eye-off","file","file-archive","file-diff","file-plus","file-text","flame","flip-horizontal-2","flip-vertical-2","folder","folder-open","folder-plus","folder-tree","gallery-vertical-end","gamepad-2","gauge","gem","git-branch","git-commit-horizontal","git-merge","globe","grid-2x2","grid-3x3","group","hard-drive","heart","history","house","image","info","joystick","key","layers","layout-dashboard","layout-grid","layout-list","layout-panel-left","layout-panel-top","layout-template","lightbulb","link","list-ordered","list-tree","lock","log-out","magnet","mail","map","maximize","minimize","moon","mouse-pointer","move","move-3d","music","navigation","network","notebook-pen","palette","pause","pencil","pipette","play","plus","pointer","pound-sterling","receipt","redo-2","refresh-cw","rocket","rotate-3d","rotate-ccw","rotate-cw","ruler","save","scissors","scroll-text","search","send","server","settings","shield","skull","sliders-horizontal","snowflake","sparkles","square","square-terminal","star","sun","sword","table-properties","target","texture","timer","trash-2","triangle-alert","type","undo-2","ungroup","unity","upload","user","users","video","volume-2","wand-sparkles","wind","x","zap","zoom-in","zoom-out"];var y3=A('<span class="sh3-icon-picker__label svelte-h9dluc"> </span>'),_3=A('<button type="button"><svg viewBox="0 0 24 24" class="svelte-h9dluc"><use></use></svg></button>'),w3=A('<div><!> <input type="search" placeholder="Search icons…" aria-label="Filter icons" class="svelte-h9dluc"/> <div class="sh3-icon-picker__grid svelte-h9dluc"><button type="button" aria-label="No icon">×</button> <!></div></div>');function k3(e,t){se(t,!0);let n=$(t,"value",15,void 0),r=$(t,"disabled",3,!1),s=H("");const a=U(()=>i(s).trim()===""?ku:ku.filter(g=>g.includes(i(s).trim().toLowerCase())));function l(g){r()||(n(g),t.onchange?.(g))}var o=w3();let c;var u=p(o);{var d=g=>{var S=y3(),_=p(S,!0);v(S),N(()=>j(_,t.label)),k(g,S)};K(u,g=>{t.label&&g(d)})}var f=w(u,2);ye(f);var h=w(f,2),b=p(h);let x;var y=w(b,2);ve(y,16,()=>i(a),g=>g,(g,S)=>{var _=_3();let m;var I=p(_),R=p(I);v(I),v(_),N(()=>{m=de(_,1,"sh3-icon-picker__tile svelte-h9dluc",null,m,{"sh3-icon-picker__tile--selected":n()===S}),ne(_,"aria-label",S),ne(_,"title",S),_.disabled=r(),ne(R,"href",`${Vn}#${S??""}`)}),F("click",_,()=>l(S)),k(g,_)}),v(h),v(o),N(()=>{c=de(o,1,"sh3-icon-picker svelte-h9dluc",null,c,{"sh3-icon-picker--disabled":r()}),f.disabled=r(),x=de(b,1,"sh3-icon-picker__tile sh3-icon-picker__tile--none svelte-h9dluc",null,x,{"sh3-icon-picker__tile--selected":n()===void 0}),b.disabled=r()}),Ie(f,()=>i(s),g=>E(s,g)),F("click",b,()=>l(void 0)),k(e,o),ae()}ce(["click"]);var x3=A('<em class="svelte-1v8d4f6">(empty = default)</em>'),S3=A('<button type="button" class="link svelte-1v8d4f6">Change icon</button>'),E3=A('<!> <button type="button" class="link link--align-right svelte-1v8d4f6">Hide picker</button>',1),I3=A('<div class="app-appearance svelte-1v8d4f6"><h2 class="svelte-1v8d4f6"> </h2> <div class="preview svelte-1v8d4f6"><div><span class="preview-card-square svelte-1v8d4f6"><svg class="preview-card-icon svelte-1v8d4f6"><use></use></svg></span> <span class="preview-card-label svelte-1v8d4f6"> </span></div></div> <label class="row svelte-1v8d4f6"><span class="svelte-1v8d4f6">Name <!></span> <input type="text" class="name-input svelte-1v8d4f6"/></label> <div class="row svelte-1v8d4f6"><span class="svelte-1v8d4f6">Icon</span> <!></div> <label class="row svelte-1v8d4f6"><span class="svelte-1v8d4f6">Color</span> <!></label> <div class="actions svelte-1v8d4f6"><button type="button" class="primary svelte-1v8d4f6">Save</button> <button type="button" data-role="reset" class="svelte-1v8d4f6">Reset</button> <button type="button" class="svelte-1v8d4f6">Cancel</button></div></div>');function Ih(e,t){se(t,!0);const n=we(()=>t.initialAppearance);let r=H(le(n?.icon)),s=H(le(n?.color)),a=H(le(we(()=>t.entityLabel))),l=H(n?.icon!==void 0);const o=U(()=>i(a).trim()),c=U(()=>t.requireLabel&&i(o)===""),u=U(()=>i(o)===""?t.entityLabel:i(o)),d=U(()=>i(r)??t.defaultIcon),f=U(()=>n!==void 0);function h(){i(c)||(t.onSave({label:i(o),icon:i(r),color:i(s)}),t.close())}function b(){t.onReset(),t.close()}var x=I3(),y=p(x),g=p(y);v(y);var S=w(y,2),_=p(S);let m,I;var R=p(_),P=p(R),T=p(P);v(P),v(R);var z=w(R,2),L=p(z,!0);v(z),v(_),v(S);var D=w(S,2),C=p(D),O=w(p(C));{var B=X=>{var fe=x3();k(X,fe)};K(O,X=>{t.requireLabel||X(B)})}v(C);var M=w(C,2);ye(M),v(D);var V=w(D,2),Z=w(p(V),2);{var G=X=>{var fe=S3();F("click",fe,()=>E(l,!0)),k(X,fe)},Q=X=>{var fe=E3(),me=ue(fe);k3(me,{get value(){return i(r)},set value(Se){E(r,Se,!0)}});var je=w(me,2);F("click",je,()=>E(l,!1)),k(X,fe)};K(Z,X=>{i(l)?X(Q,-1):X(G)})}v(V);var J=w(V,2),ee=w(p(J),2);{let X=U(()=>i(s)??"#888888");ph(ee,{get value(){return i(X)},onchange:fe=>E(s,fe,!0)})}v(J);var Y=w(J,2),q=p(Y),W=w(q,2),ie=w(W,2);v(Y),v(x),N(()=>{j(g,`Customize ${t.entityLabel??""}`),m=de(_,1,"preview-card svelte-1v8d4f6",null,m,{"preview-card--tinted":i(s)!==void 0}),I=Ge(_,"",I,{"--card-color":i(s)??"transparent"}),ne(T,"href",`${Vn}#${i(d)??""}`),j(L,i(u)),ne(M,"placeholder",t.entityLabel),q.disabled=i(c),W.disabled=!i(f)}),Ie(M,()=>i(a),X=>E(a,X)),F("click",q,h),F("click",W,b),F("click",ie,()=>t.close()),k(e,x),ae()}ce(["click"]);let er=null;function A3(e){er=e}function C3(){er=null}function Ah(e){return e.icon===void 0&&e.color===void 0&&e.label===void 0}function Zo(e){const t=er?.user.overrides;if(!t)return;const n=t[e];if(n&&!Ah(n))return n}function xu(e,t){if(!er)return;const r={...er.user.overrides};t===void 0||Ah(t)?delete r[e]:r[e]=t,er.user.overrides=r}function T3(){er={ephemeral:{},session:{},workspace:{},user:{overrides:{}}}}T3();function R3(){const e=sa();return!e||e.type!=="app"?null:e.ref}function P3(e){const t=R3();if(!t)return;const n=ns().find(o=>o.id===t.appId),r=n?.label??t.appId,s=n?.icon??"box",a=Zo(t.appId),l={entityLabel:a?.label??r,initialAppearance:a,defaultIcon:s,requireLabel:!1,onSave:o=>{xu(t.appId,{label:o.label===""?void 0:o.label,icon:o.icon,color:o.color})},onReset:()=>xu(t.appId,void 0)};Zt.open(Ih,l)}const Ch={manifest:{id:"__app-appearance__",label:"App Appearance",version:dn,views:[]},activate(e){const t=e.state({user:{overrides:{}}});A3(t);const n={id:"app.customize",label:"Customize…",scope:{element:"app"},contextItem:!0,group:"appearance",run:P3};e.actions.register(n)},autostart(){},deactivate(){C3()}};var L3=A('<button type="button" data-sh3-scope="element:app"><span class="sh3-home-card-square svelte-11gxeaw"><svg class="sh3-home-card-icon svelte-11gxeaw"><use></use></svg></span> <span class="sh3-home-card-label svelte-11gxeaw"> </span></button>'),M3=A('<section class="sh3-home-section svelte-11gxeaw"><h2 class="sh3-home-section-title svelte-11gxeaw">Apps</h2> <div class="sh3-home-grid svelte-11gxeaw"></div></section>'),z3=A('<button type="button" data-sh3-scope="element:app"><span class="sh3-home-card-square svelte-11gxeaw"><svg class="sh3-home-card-icon svelte-11gxeaw"><use></use></svg></span> <span class="sh3-home-card-label svelte-11gxeaw"> </span></button>'),j3=A('<section class="sh3-home-section svelte-11gxeaw"><h2 class="sh3-home-section-title svelte-11gxeaw">Admin</h2> <div class="sh3-home-grid svelte-11gxeaw"></div></section>'),D3=A('<p class="sh3-home-empty svelte-11gxeaw"><!></p>'),O3=A('<div class="sh3-home svelte-11gxeaw"><header class="sh3-home-header svelte-11gxeaw"><div class="sh3-home-title-row svelte-11gxeaw"><!> <span class="sh3-home-version svelte-11gxeaw"> </span> <span class="sh3-home-alpha svelte-11gxeaw">alpha</span></div> <div class="sh3-home-credit svelte-11gxeaw">Art: by <a href="https://www.andbc.co/" target="_blank" rel="noopener noreferrer" class="svelte-11gxeaw">andbc</a></div></header> <div class="sh3-home-filter svelte-11gxeaw"><input type="search" placeholder="Filter apps…" aria-label="Filter apps by name" class="sh3-home-filter-input svelte-11gxeaw"/></div> <!> <!> <!> <!> <!></div>');function N3(e,t){se(t,!0);const n=wi("__sh3core__");function r(B,M){B.preventDefault(),n.set({type:"app",ref:{appId:M}}),St.actions.openContextMenu({x:B.clientX,y:B.clientY,scope:{element:"app"}})}let s=H("");const a=U(ns),l=U(wt),o=U(()=>ur.activeProjectId?Ut.projects.find(B=>B.id===ur.activeProjectId)??null:null);function c(B,M){if(!M)return!0;const V=M.toLowerCase();return B.label.toLowerCase().includes(V)||B.id.toLowerCase().includes(V)}function u(B){return i(o)?i(o).appAllowlist.includes(B):!0}const d=U(()=>i(a).filter(B=>!B.admin&&c(B,i(s))&&u(B.id))),f=U(()=>i(a).filter(B=>B.admin&&c(B,i(s)))),h=U(()=>i(d).length+(i(l)?i(f).length:0));var b=O3(),x=p(b),y=p(x),g=p(y);JS(g,{});var S=w(g,2),_=p(S);v(S),Pt(2),v(y),Pt(2),v(x);var m=w(x,2),I=p(m);ye(I),v(m);var R=w(m,2);c3(R,{});var P=w(R,2);g3(P,{});var T=w(P,2);{var z=B=>{var M=M3(),V=w(p(M),2);ve(V,21,()=>i(d),Z=>Z.id,(Z,G)=>{const Q=U(()=>Zo(i(G).id));var J=L3();let ee,Y;var q=p(J),W=p(q),ie=p(W);v(W),v(q);var X=w(q,2),fe=p(X,!0);v(X),v(J),N(()=>{ee=de(J,1,"sh3-home-card svelte-11gxeaw",null,ee,{"sh3-home-card--tinted":i(Q)?.color}),Y=Ge(J,"",Y,{"--card-color":i(Q)?.color??"transparent"}),ne(ie,"href",`${Vn}#${i(Q)?.icon??i(G).icon??"box"??""}`),j(fe,i(Q)?.label??i(G).label)}),F("click",J,()=>Pn(i(G).id)),F("contextmenu",J,me=>r(me,i(G).id)),k(Z,J)}),v(V),v(M),k(B,M)};K(T,B=>{i(d).length>0&&B(z)})}var L=w(T,2);{var D=B=>{var M=j3(),V=w(p(M),2);ve(V,21,()=>i(f),Z=>Z.id,(Z,G)=>{const Q=U(()=>Zo(i(G).id));var J=z3();let ee,Y;var q=p(J),W=p(q),ie=p(W);v(W),v(q);var X=w(q,2),fe=p(X,!0);v(X),v(J),N(()=>{ee=de(J,1,"sh3-home-card svelte-11gxeaw",null,ee,{"sh3-home-card--tinted":i(Q)?.color}),Y=Ge(J,"",Y,{"--card-color":i(Q)?.color??"transparent"}),ne(ie,"href",`${Vn}#${i(Q)?.icon??i(G).icon??"box"??""}`),j(fe,i(Q)?.label??i(G).label)}),F("click",J,()=>Pn(i(G).id)),F("contextmenu",J,me=>r(me,i(G).id)),k(Z,J)}),v(V),v(M),k(B,M)};K(L,B=>{i(l)&&i(f).length>0&&B(D)})}var C=w(L,2);{var O=B=>{var M=D3(),V=p(M);{var Z=Q=>{var J=an("No apps registered.");k(Q,J)},G=Q=>{var J=an();N(()=>j(J,`No apps match “${i(s)??""}”.`)),k(Q,J)};K(V,Q=>{i(a).length===0?Q(Z):Q(G,-1)})}v(M),k(B,M)};K(C,B=>{i(h)===0&&B(O)})}v(b),N(()=>j(_,`v${dn}`)),Ie(I,()=>i(s),B=>E(s,B)),k(e,b),ae()}ce(["click","contextmenu"]);var q3=A('<p class="keys-peers-muted svelte-1s56qq">Loading...</p>'),B3=A('<p class="keys-peers-error svelte-1s56qq"> </p>'),V3=A('<p class="keys-peers-muted svelte-1s56qq">No keys yet. Shards will ask your permission before creating one.</p>'),F3=A('<button type="button" class="keys-peers-btn-danger svelte-1s56qq">Confirm</button> <button type="button" class="keys-peers-btn-secondary svelte-1s56qq">Cancel</button>',1),U3=A('<button type="button" class="keys-peers-btn-danger svelte-1s56qq">Revoke</button>'),H3=A('<li class="keys-peers-item svelte-1s56qq"><div class="keys-peers-info svelte-1s56qq"><span class="keys-peers-label svelte-1s56qq"> </span> <span class="keys-peers-meta svelte-1s56qq"> </span> <span class="keys-peers-meta svelte-1s56qq"> </span> <span class="keys-peers-meta svelte-1s56qq"> </span></div> <div class="keys-peers-actions svelte-1s56qq"><!></div></li>'),K3=A('<ul class="keys-peers-list svelte-1s56qq"></ul>'),W3=A('<div class="keys-peers svelte-1s56qq"><div class="keys-peers-header svelte-1s56qq"><h2 class="svelte-1s56qq">Keys &amp; Peers</h2></div> <!></div>');function Y3(e,t){se(t,!0);let n=H(le([])),r=H(null),s=H(!0),a=H(null);async function l(){E(r,null),E(s,!0);try{const y=await fetch("/api/keys",{credentials:"include"});if(!y.ok)throw new Error(`HTTP ${y.status}`);E(n,await y.json(),!0)}catch(y){E(r,y instanceof Error?y.message:String(y),!0)}finally{E(s,!1)}}async function o(y){E(a,null);const g=await fetch(`/api/keys/${encodeURIComponent(y)}`,{method:"DELETE",credentials:"include"});(g.ok||g.status===404)&&E(n,i(n).filter(S=>S.id!==y),!0)}function c(y){return new Date(y).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}xe(()=>{l()}),xe(()=>ac("*",()=>{l()}));var u=W3(),d=w(p(u),2);{var f=y=>{var g=q3();k(y,g)},h=y=>{var g=B3(),S=p(g);v(g),N(()=>j(S,`Failed to load: ${i(r)??""}`)),k(y,g)},b=y=>{var g=V3();k(y,g)},x=y=>{var g=K3();ve(g,21,()=>i(n),S=>S.id,(S,_)=>{var m=H3(),I=p(m),R=p(I),P=p(R,!0);v(R);var T=w(R,2),z=p(T);v(T);var L=w(T,2),D=p(L);v(L);var C=w(L,2),O=p(C);v(C),v(I);var B=w(I,2),M=p(B);{var V=G=>{var Q=F3(),J=ue(Q),ee=w(J,2);F("click",J,()=>o(i(_).id)),F("click",ee,()=>{E(a,null)}),k(G,Q)},Z=G=>{var Q=U3();F("click",Q,()=>{E(a,i(_).id,!0)}),k(G,Q)};K(M,G=>{i(a)===i(_).id?G(V):G(Z,-1)})}v(B),v(m),N((G,Q,J)=>{j(P,i(_).label),j(z,`Minted by: ${i(_).mintedByShardId??"system"??""}${i(_).peerRole||i(_).peerId?` · Peer: ${i(_).peerRole??"—"}${i(_).peerId?` (${i(_).peerId})`:""}`:""}`),j(D,`Scopes: ${G??""}`),j(O,`Created: ${Q??""} · Expires: ${J??""}`)},[()=>i(_).scopes.join(", "),()=>c(i(_).createdAt),()=>i(_).expiresAt?c(i(_).expiresAt):"never"]),k(S,m)}),v(g),k(y,g)};K(d,y=>{i(s)?y(f):i(r)?y(h,1):i(n).length===0?y(b,2):y(x,-1)})}v(u),k(e,u),ae()}ce(["click"]);var G3=A('<div class="confirm-dialog svelte-1k1962w"><div class="confirm-dialog-title svelte-1k1962w"> </div> <div class="confirm-dialog-body svelte-1k1962w"> </div> <div class="confirm-dialog-actions svelte-1k1962w"><button type="button" class="confirm-dialog-btn confirm-dialog-btn-cancel svelte-1k1962w" data-confirm-dialog-cancel=""> </button> <button type="button" data-confirm-dialog-confirm=""> </button></div></div>');function Th(e,t){se(t,!0);let n=$(t,"confirmLabel",3,"Confirm"),r=$(t,"cancelLabel",3,"Cancel"),s=$(t,"confirmTone",3,"default"),a=H(void 0),l=H(!1);xe(()=>{i(a)?.focus()});async function o(){if(!i(l)){E(l,!0);try{await t.onConfirm()}finally{t.close()}}}function c(){i(l)||(t.onCancel?.(),t.close())}var u=G3(),d=p(u),f=p(d,!0);v(d);var h=w(d,2),b=p(h,!0);v(h);var x=w(h,2),y=p(x),g=p(y,!0);v(y),qe(y,I=>E(a,I),()=>i(a));var S=w(y,2);let _;var m=p(S,!0);v(S),v(x),v(u),N(()=>{j(f,t.title),j(b,t.body),y.disabled=i(l),j(g,r()),_=de(S,1,"confirm-dialog-btn svelte-1k1962w",null,_,{"confirm-dialog-btn-danger":s()==="danger","confirm-dialog-btn-default":s()==="default"}),S.disabled=i(l),j(m,n())}),F("click",y,c),F("click",S,o),k(e,u),ae()}ce(["click"]);const Su=new Set(["await","break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","let","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","yield"]);function io(e,t){const n=Object.keys(t),r=n.filter(l=>!Su.has(l)),s=n.filter(l=>Su.has(l)),a=[`const __m__ = globalThis.${e};`];r.length>0&&a.push(`export const { ${r.join(", ")} } = __m__;`);for(const l of s)a.push(`const __r_${l}__ = __m__['${l}']; export { __r_${l}__ as ${l} };`);return a.push("export default __m__.default;"),URL.createObjectURL(new Blob([a.join(`
11
+ `)],{type:"application/javascript"}))}const cc=globalThis;cc.__sh3__=wh;cc.__sh3_svelte__=bf;cc.__sh3_svelte_internal_client__=Rf;const uc={"sh3-core":io("__sh3__",wh),svelte:io("__sh3_svelte__",bf),"svelte/internal/client":io("__sh3_svelte_internal_client__",Rf)};uc["svelte/internal/disclose-version"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));uc["sh3-core/tokens.css"]=URL.createObjectURL(new Blob([""],{type:"application/javascript"}));const X3=/(?:from|import)\s*(['"])(sh3-core(?:\/[^'"]*)?|svelte(?:\/[^'"]*)?)\1/g;function J3(e){return e.replace(X3,(t,n,r)=>{const s=uc[r];return s?`${t.startsWith("from")?"from":"import"} '${s}'`:t})}async function oa(e){const t=new TextDecoder().decode(e),n=J3(t),r=new Blob([n],{type:"application/javascript"}),s=URL.createObjectURL(r);try{const a=await import(s),l={shards:[],apps:[]};for(const o of Object.values(a)){if(!o||typeof o!="object"||!("manifest"in o))continue;const c=o;Z3(c)?l.shards.push(c):Q3(c)&&l.apps.push(c)}if(l.shards.length===0&&l.apps.length===0)throw new Error('Bundle has no exports with a "manifest" property — expected at least one shard or app');return l}finally{URL.revokeObjectURL(s)}}function Z3(e){return"activate"in e&&typeof e.activate=="function"&&Array.isArray(e.manifest.views)}function Q3(e){return"initialLayout"in e&&Array.isArray(e.manifest.requiredShards)}const $3="sh3-packages",eE=1,Bs="bundles",Yr="meta";function la(){return new Promise((e,t)=>{const n=indexedDB.open($3,eE);n.onupgradeneeded=()=>{const r=n.result;r.objectStoreNames.contains(Bs)||r.createObjectStore(Bs),r.objectStoreNames.contains(Yr)||r.createObjectStore(Yr)},n.onsuccess=()=>e(n.result),n.onerror=()=>t(n.error)})}function vr(e,t,n,r){return new Promise((s,a)=>{const o=e.transaction(t,n).objectStore(t),c=r(o);c.onsuccess=()=>s(c.result),c.onerror=()=>a(c.error)})}async function Rh(e,t,n){const r=await la();await vr(r,Bs,"readwrite",s=>s.put(t,e)),await vr(r,Yr,"readwrite",s=>s.put(n,e)),r.close()}async function Ph(e){const t=await la(),n=await vr(t,Bs,"readonly",r=>r.get(e));return t.close(),n??null}async function tE(e){const t=await la(),n=await vr(t,Yr,"readonly",r=>r.get(e));return t.close(),n??null}async function Lh(){const e=await la(),t=await vr(e,Yr,"readonly",n=>n.getAll());return e.close(),t??[]}async function nE(e){const t=await la();await vr(t,Bs,"readwrite",n=>n.delete(e)),await vr(t,Yr,"readwrite",n=>n.delete(e)),t.close()}function dc(e,t){for(const n of e.shards)n.manifest={...n.manifest,version:t.version},Pi(n);for(const n of e.apps)n.manifest={...n.manifest,version:t.version},Ps(n)}const rE={"state:manage":{title:"Manage sh3 state zones",description:"Read and write state zones belonging to other shards."},"documents:browse":{title:"Browse tenant documents",description:"Observe all documents stored by the current tenant."},"documents:read":{title:"Read tenant documents",description:"Read the content of any document in the current tenant, across all shards. Required for backup connectors that need to pull document bodies (not just metadata) out of other shards."},"documents:write":{title:"Write tenant documents",description:"Create and overwrite documents in any shard's namespace within the current tenant. Required for restore-class connectors that re-import documents back into their owning shards."},"documents:sync":{title:"Sync documents with peers",description:"Participate in cross-peer document synchronization."},"sync:peer":{title:"Act as a sync peer",description:"Exchange document updates with remote peers."},"sync:policy":{title:"Define sync policy",description:"Configure which documents sync and with whom."},"keys:mint":{title:"Mint API keys",description:"Issue long-lived access tokens for this sh3."}};function oo(e){return rE[e]??{title:e,description:"Unknown permission."}}function fc(e){const t=new Set;for(const n of e.shards)for(const r of n.manifest.permissions??[])t.add(r);for(const n of e.apps)for(const r of n.manifest.permissions??[])t.add(r);return[...t]}async function vc(e,t,n){if(!t.integrity)return{success:!1,hotLoaded:!1,error:"Missing integrity hash — refusing to install unverified bundle"};try{await ic(e,t.integrity)}catch(l){return{success:!1,hotLoaded:!1,error:`Integrity check failed: ${l instanceof Error?l.message:String(l)}`}}let r;if(n?.loaded)r=n.loaded;else try{r=await oa(e)}catch(l){return{success:!1,hotLoaded:!1,error:`Failed to load bundle: ${l instanceof Error?l.message:String(l)}`}}if(t.type==="shard"&&r.shards.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "shard" but bundle contains no valid shard`};if(t.type==="app"&&r.apps.length===0)return{success:!1,hotLoaded:!1,error:`Package "${t.id}" declared type "app" but bundle contains no valid app`};const s={id:t.id,type:t.type,version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion,installedAt:new Date().toISOString(),permissions:fc(r)};try{await Rh(t.id,e,s)}catch(l){return{success:!1,hotLoaded:!1,error:`Failed to persist package: ${l instanceof Error?l.message:String(l)}`}}if(t.type==="shard"||t.type==="combo")try{Li(t.id)}catch{}(t.type==="app"||t.type==="combo")&&Ql(t.id);let a=!0;try{dc(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion})}catch(l){console.warn(`[sh3] Package "${t.id}" installed but registration failed (will retry on next boot):`,l instanceof Error?l.message:l),a=!1}return{success:!0,package:s,hotLoaded:a}}async function sE(e){try{Li(e)}catch{}Ql(e),await nE(e)}async function aE(){return Lh()}async function Mh(){let e;try{e=await Lh()}catch(t){console.warn("[sh3] Failed to read installed packages from storage:",t instanceof Error?t.message:t);return}for(const t of e)try{const n=await Ph(t.id);if(!n){console.warn(`[sh3] No bundle found for installed package "${t.id}", skipping`);continue}const r=await oa(n);dc(r,{version:t.version,sourceRegistry:t.sourceRegistry,contractVersion:t.contractVersion}),r.shards.length===0&&r.apps.length===0&&console.warn(`[sh3] Package "${t.id}" contains no valid shards or apps, skipping`)}catch(n){console.warn(`[sh3] Failed to load installed package "${t.id}":`,n instanceof Error?n.message:n)}}const Eu={version:1};var iE=A('<span class="perm-modal-author svelte-1ipp1r6"> </span>'),oE=A('<p class="perm-modal-empty svelte-1ipp1r6">This package requires no special permissions.</p>'),lE=A('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),cE=A('<p class="perm-modal-intro svelte-1ipp1r6">This package requests the following permissions:</p> <ul class="perm-modal-list svelte-1ipp1r6"></ul>',1),uE=A('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),dE=A('<p class="perm-modal-intro svelte-1ipp1r6">New permissions in this update:</p> <ul class="perm-modal-list perm-modal-added svelte-1ipp1r6"></ul>',1),fE=A('<li class="perm-modal-item svelte-1ipp1r6"><div class="perm-modal-item-title svelte-1ipp1r6"> </div> <div class="perm-modal-item-desc svelte-1ipp1r6"> </div></li>'),vE=A('<p class="perm-modal-intro svelte-1ipp1r6">Permissions no longer requested:</p> <ul class="perm-modal-list perm-modal-removed svelte-1ipp1r6"></ul>',1),hE=A("<!> <!>",1),pE=A('<div class="perm-modal-backdrop svelte-1ipp1r6" role="dialog" aria-modal="true" tabindex="-1"><div class="perm-modal-panel svelte-1ipp1r6" role="document"><header class="perm-modal-header svelte-1ipp1r6"><h3 class="svelte-1ipp1r6"> </h3> <div class="perm-modal-subtitle svelte-1ipp1r6"><!> <!></div></header> <div class="perm-modal-body svelte-1ipp1r6"><!></div> <footer class="perm-modal-footer svelte-1ipp1r6"><button class="perm-modal-cancel svelte-1ipp1r6">Cancel</button> <button class="perm-modal-confirm svelte-1ipp1r6"> </button></footer></div></div>');function Qo(e,t){se(t,!0);const n=$(t,"permissions",19,()=>[]),r=$(t,"added",19,()=>[]),s=$(t,"removed",19,()=>[]),a=U(()=>t.mode==="install"?"Install":"Update");var l=pE(),o=p(l),c=p(o),u=p(c),d=p(u);v(u);var f=w(u,2),h=p(f);{var b=L=>{var D=an();N(()=>j(D,`${t.fromVersion??""} → ${t.pkg.version??""}`)),k(L,D)},x=L=>{var D=an();N(()=>j(D,`v${t.pkg.version??""}`)),k(L,D)};K(h,L=>{t.mode==="update"&&t.fromVersion?L(b):L(x,-1)})}var y=w(h,2);{var g=L=>{var D=iE(),C=p(D);v(D),N(()=>j(C,`by ${t.pkg.author??""}`)),k(L,D)};K(y,L=>{t.pkg.author&&L(g)})}v(f),v(c);var S=w(c,2),_=p(S);{var m=L=>{var D=Me(),C=ue(D);{var O=M=>{var V=oE();k(M,V)},B=M=>{var V=cE(),Z=w(ue(V),2);ve(Z,20,n,G=>G,(G,Q)=>{const J=U(()=>oo(Q));var ee=lE(),Y=p(ee),q=p(Y,!0);v(Y);var W=w(Y,2),ie=p(W,!0);v(W),v(ee),N(()=>{j(q,i(J).title),j(ie,i(J).description)}),k(G,ee)}),v(Z),k(M,V)};K(C,M=>{n().length===0?M(O):M(B,-1)})}k(L,D)},I=L=>{var D=hE(),C=ue(D);{var O=V=>{var Z=dE(),G=w(ue(Z),2);ve(G,20,r,Q=>Q,(Q,J)=>{const ee=U(()=>oo(J));var Y=uE(),q=p(Y),W=p(q,!0);v(q);var ie=w(q,2),X=p(ie,!0);v(ie),v(Y),N(()=>{j(W,i(ee).title),j(X,i(ee).description)}),k(Q,Y)}),v(G),k(V,Z)};K(C,V=>{r().length>0&&V(O)})}var B=w(C,2);{var M=V=>{var Z=vE(),G=w(ue(Z),2);ve(G,20,s,Q=>Q,(Q,J)=>{const ee=U(()=>oo(J));var Y=fE(),q=p(Y),W=p(q,!0);v(q);var ie=w(q,2),X=p(ie,!0);v(ie),v(Y),N(()=>{j(W,i(ee).title),j(X,i(ee).description)}),k(Q,Y)}),v(G),k(V,Z)};K(B,V=>{s().length>0&&V(M)})}k(L,D)};K(_,L=>{t.mode==="install"?L(m):L(I,-1)})}v(S);var R=w(S,2),P=p(R),T=w(P,2),z=p(T,!0);v(T),v(R),v(o),v(l),N(()=>{ne(l,"aria-label",`${i(a)??""} ${t.pkg.label??""}`),j(d,`${i(a)??""} ${t.pkg.label??""}`),j(z,i(a))}),F("click",l,function(...L){t.onCancel?.apply(this,L)}),F("keydown",l,L=>{L.key==="Escape"&&t.onCancel()}),F("click",o,L=>L.stopPropagation()),F("click",P,function(...L){t.onCancel?.apply(this,L)}),F("click",T,function(...L){t.onConfirm?.apply(this,L)}),k(e,l),ae()}ce(["click","keydown"]);function hc(e){return e==="shard"?"shard":"app"}function mE(e){return hc(e)==="shard"?"Shard":"App"}function bE(e,t){return t==="all"?!0:hc(e)===t}var gE=A('<div class="store-registry-entry svelte-1aafzt0"><span class="store-registry-url svelte-1aafzt0"> </span> <button class="store-registry-remove svelte-1aafzt0">Remove</button></div>'),yE=A('<div class="store-registries svelte-1aafzt0"></div>'),_E=A('<form class="store-add-registry svelte-1aafzt0"><input class="store-registry-input svelte-1aafzt0" type="url" placeholder="Registry URL (e.g. https://sh3.example.com/registry.json)"/> <button type="submit" class="store-add-btn svelte-1aafzt0">Add</button></form>'),wE=A('<div class="store-error svelte-1aafzt0"> </div>'),kE=A('<div class="store-error svelte-1aafzt0"> </div>'),xE=A('<img alt="" class="store-icon-img svelte-1aafzt0"/>'),SE=A('<span class="store-icon-placeholder svelte-1aafzt0"> </span>'),EE=A('<div class="store-card-warning svelte-1aafzt0"> </div>'),IE=A('<button class="store-update-btn svelte-1aafzt0"> </button>'),AE=A('<span class="store-installed-label svelte-1aafzt0">Installed</span>'),CE=A('<span class="store-card-missing svelte-1aafzt0"> </span>'),TE=A('<div class="store-install-wrap svelte-1aafzt0"><button class="store-install-btn svelte-1aafzt0"> </button> <!></div>'),RE=A('<div class="store-card svelte-1aafzt0"><div class="store-card-header svelte-1aafzt0"><div class="store-card-icon svelte-1aafzt0"><!></div> <div class="store-card-title svelte-1aafzt0"><span class="store-card-label svelte-1aafzt0"> </span> <span> </span> <span class="store-card-version svelte-1aafzt0"> </span></div></div> <p class="store-card-desc svelte-1aafzt0"> </p> <div class="store-card-author svelte-1aafzt0"> </div> <!> <div class="store-card-actions svelte-1aafzt0"><!></div></div>'),PE=A("No packages found. <!>",1),LE=A('<div class="store-empty svelte-1aafzt0"><!></div>'),ME=A('<div class="store-view svelte-1aafzt0"><header class="store-header svelte-1aafzt0"><h2 class="svelte-1aafzt0">Package Store</h2> <div class="store-controls svelte-1aafzt0"><input class="store-search svelte-1aafzt0" type="text" placeholder="Search packages..."/> <select class="store-filter svelte-1aafzt0"><option>All</option><option>Shards</option><option>Apps</option></select> <button class="store-refresh svelte-1aafzt0"> </button></div></header> <!> <!> <!> <!> <div class="store-grid svelte-1aafzt0"></div> <!></div> <!> <!>',1);function zE(e,t){se(t,!0);let n=H(""),r=H("all"),s=H(le(new Set)),a=H(le(new Set)),l=H(null),o=H(""),c=H(null),u=H(null);const d=nt;async function f(){const re=i(o).trim();if(re&&!d.env.registries.includes(re))try{await d.addRegistry(re),E(o,""),d.refreshCatalog(),d.refreshInstalled()}catch(te){E(l,te instanceof Error?te.message:String(te),!0)}}async function h(re){try{await d.removeRegistry(re),d.refreshCatalog()}catch(te){E(l,te instanceof Error?te.message:String(te),!0)}}const b=U(()=>{const re=i(n).toLowerCase().trim();return d.state.ephemeral.catalog.filter(te=>bE(te.entry.type,i(r))?re?te.entry.id.toLowerCase().includes(re)||te.entry.label.toLowerCase().includes(re)||te.entry.description.toLowerCase().includes(re):!0:!1)});function x(re){return d.state.ephemeral.installed.some(te=>te.id===re)}function y(re){return String(re.latest.contractVersion)!==String(Eu.version)}function g(re){return re in d.state.ephemeral.updatable}function S(re){return d.state.ephemeral.installed.find(te=>te.id===re)?.version??""}function _(re,te){const Ee=re.latest.requires?.map(ge=>ge.id)??[];if(Ee.length===0)return[];const Re=new Set(_h);for(const ge of te)(ge.type==="shard"||ge.type==="combo")&&Re.add(ge.id);return Ee.filter(ge=>!Re.has(ge))}async function m(re){if(!i(a).has(re)){E(a,new Set([...i(a),re]),!0),E(l,null);try{await d.updatePackage(re,(te,Ee)=>new Promise(Re=>{const ge=d.state.ephemeral.updatable[re],Le=d.state.ephemeral.installed.find(He=>He.id===re);if(!ge||!Le){Re(!0);return}E(u,{pkg:ge,fromVersion:Le.version,added:te,removed:Ee,resolve:Re},!0)}))}catch(te){E(l,te instanceof Error?te.message:String(te),!0)}finally{const te=new Set(i(a));te.delete(re),E(a,te,!0)}}}function I(){const re=i(u);re&&(E(u,null),re.resolve(!0))}function R(){const re=i(u);re&&(E(u,null),re.resolve(!1))}async function P(re){const te=re.entry.id;if(!i(s).has(te)){E(s,new Set([...i(s),te]),!0),E(l,null);try{const Ee=await zi(re.latest,re.sourceRegistry),Re=ji(re,re.latest),ge=await oa(Ee),Le=fc(ge);let He;re.latest.serverBundleUrl&&(He=await oc(re.latest,re.sourceRegistry)),E(c,{pkg:re,permissions:Le,loaded:ge,bundle:Ee,meta:Re,serverBundle:He},!0)}catch(Ee){E(l,Ee instanceof Error?Ee.message:String(Ee),!0);const Re=new Set(i(s));Re.delete(te),E(s,Re,!0)}}}async function T(){const re=i(c);if(!re)return;E(c,null);const{pkg:te,loaded:Ee,bundle:Re,meta:ge,serverBundle:Le}=re,He=te.entry.id;try{const Ke={id:ge.id,type:ge.type,label:te.entry.label,version:ge.version,contractVersion:ge.contractVersion,sourceRegistry:ge.sourceRegistry,requiredShards:te.latest.requires?.map(at=>at.id)??[],installedAt:new Date().toISOString()},xn=await sc(Ke,Re,Le);if(!xn.ok){E(l,xn.error??"Server install failed",!0);return}const fn=await vc(Re,ge,{loaded:Ee});fn.success||console.warn(`[sh3-store] Server install ok but local hot-load failed: ${fn.error}`),await d.refreshInstalled()}catch(Ke){E(l,Ke instanceof Error?Ke.message:String(Ke),!0)}finally{const Ke=new Set(i(s));Ke.delete(He),E(s,Ke,!0)}}function z(){if(!i(c))return;const re=i(c).pkg.entry.id;E(c,null);const te=new Set(i(s));te.delete(re),E(s,te,!0)}function L(){d.refreshCatalog(),d.refreshInstalled()}var D=ME(),C=ue(D),O=p(C),B=w(p(O),2),M=p(B);ye(M);var V=w(M,2),Z=p(V);Z.value=Z.__value="all";var G=w(Z);G.value=G.__value="shard";var Q=w(G);Q.value=Q.__value="app",v(V);var J=w(V,2),ee=p(J,!0);v(J),v(B),v(O);var Y=w(O,2);{var q=re=>{var te=yE();ve(te,21,()=>d.env.registries,ht,(Ee,Re)=>{var ge=gE(),Le=p(ge),He=p(Le,!0);v(Le);var Ke=w(Le,2);v(ge),N(()=>j(He,i(Re))),F("click",Ke,()=>h(i(Re))),k(Ee,ge)}),v(te),k(re,te)};K(Y,re=>{d.isAdmin&&d.env.registries.length>0&&re(q)})}var W=w(Y,2);{var ie=re=>{var te=_E(),Ee=p(te);ye(Ee);var Re=w(Ee,2);v(te),N(ge=>Re.disabled=ge,[()=>!i(o).trim()]),ze("submit",te,ge=>{ge.preventDefault(),f()}),Ie(Ee,()=>i(o),ge=>E(o,ge)),k(re,te)};K(W,re=>{d.isAdmin&&re(ie)})}var X=w(W,2);{var fe=re=>{var te=wE(),Ee=p(te,!0);v(te),N(()=>j(Ee,d.state.ephemeral.error)),k(re,te)};K(X,re=>{d.state.ephemeral.error&&re(fe)})}var me=w(X,2);{var je=re=>{var te=kE(),Ee=p(te,!0);v(te),N(()=>j(Ee,i(l))),k(re,te)};K(me,re=>{i(l)&&re(je)})}var Se=w(me,2);ve(Se,21,()=>i(b),re=>re.entry.id,(re,te)=>{const Ee=U(()=>x(i(te).entry.id)),Re=U(()=>y(i(te))),ge=U(()=>i(s).has(i(te).entry.id)),Le=U(()=>g(i(te).entry.id)),He=U(()=>i(a).has(i(te).entry.id)),Ke=U(()=>_(i(te),d.state.ephemeral.installed)),xn=U(()=>hc(i(te).entry.type));var fn=RE(),at=p(fn),Qt=p(at),Ni=p(Qt);{var Cp=Be=>{var Ve=xE();N(()=>ne(Ve,"src",i(te).entry.icon)),k(Be,Ve)},Tp=Be=>{var Ve=SE(),Nt=p(Ve,!0);v(Ve),N(()=>j(Nt,i(te).entry.type==="shard"?"S":"A")),k(Be,Ve)};K(Ni,Be=>{i(te).entry.icon?Be(Cp):Be(Tp,-1)})}v(Qt);var bc=w(Qt,2),qi=p(bc),Rp=p(qi,!0);v(qi);var ua=w(qi,2);let gc;var Pp=p(ua,!0);v(ua);var yc=w(ua,2),Lp=p(yc,!0);v(yc),v(bc),v(at);var Bi=w(at,2),Mp=p(Bi,!0);v(Bi);var Vi=w(Bi,2),zp=p(Vi,!0);v(Vi);var _c=w(Vi,2);{var jp=Be=>{var Ve=EE(),Nt=p(Ve);v(Ve),N(()=>j(Nt,`Contract mismatch: package targets v${i(te).latest.contractVersion??""}, running v${Eu.version}`)),k(Be,Ve)};K(_c,Be=>{i(Re)&&Be(jp)})}var wc=w(_c,2),Dp=p(wc);{var Op=Be=>{var Ve=IE(),Nt=p(Ve,!0);v(Ve),N(Fi=>{Ve.disabled=i(He),j(Nt,Fi)},[()=>i(He)?"Updating...":`Update ${S(i(te).entry.id)} -> ${i(te).latest.version}`]),F("click",Ve,()=>m(i(te).entry.id)),k(Be,Ve)},Np=Be=>{var Ve=AE();k(Be,Ve)},qp=Be=>{var Ve=TE(),Nt=p(Ve),Fi=p(Nt,!0);v(Nt);var Bp=w(Nt,2);{var Vp=cs=>{var Ui=CE(),Fp=p(Ui);v(Ui),N(Up=>j(Fp,`requires: ${Up??""}`),[()=>i(Ke).join(", ")]),k(cs,Ui)};K(Bp,cs=>{i(Ke).length>0&&cs(Vp)})}v(Ve),N(cs=>{Nt.disabled=i(ge)||i(Ke).length>0,ne(Nt,"title",cs),j(Fi,i(ge)?"Installing...":"Install")},[()=>i(Ke).length>0?`Missing required shards: ${i(Ke).join(", ")}`:void 0]),F("click",Nt,()=>P(i(te))),k(Be,Ve)};K(Dp,Be=>{i(Ee)&&i(Le)?Be(Op):i(Ee)?Be(Np,1):Be(qp,-1)})}v(wc),v(fn),N(Be=>{j(Rp,i(te).entry.label),gc=de(ua,1,"store-card-badge svelte-1aafzt0",null,gc,{"badge-shard":i(xn)==="shard","badge-app":i(xn)==="app"}),j(Pp,Be),j(Lp,i(te).latest.version),j(Mp,i(te).entry.description),j(zp,i(te).entry.author.name)},[()=>mE(i(te).entry.type)]),k(re,fn)}),v(Se);var tt=w(Se,2);{var st=re=>{var te=LE(),Ee=p(te);{var Re=Le=>{var He=PE(),Ke=w(ue(He));{var xn=at=>{var Qt=an("Add a registry URL above to get started.");k(at,Qt)},fn=at=>{var Qt=an("No registries configured.");k(at,Qt)};K(Ke,at=>{d.isAdmin?at(xn):at(fn,-1)})}k(Le,He)},ge=Le=>{var He=an("No packages match the current filter.");k(Le,He)};K(Ee,Le=>{d.env.registries.length===0?Le(Re):Le(ge,-1)})}v(te),k(re,te)};K(tt,re=>{!d.state.ephemeral.loading&&i(b).length===0&&re(st)})}v(C);var Kn=w(C,2);{var Wn=re=>{{let te=U(()=>({label:i(c).pkg.entry.label,version:i(c).pkg.latest.version,author:i(c).pkg.entry.author.name}));Qo(re,{mode:"install",get pkg(){return i(te)},get permissions(){return i(c).permissions},onConfirm:T,onCancel:z})}};K(Kn,re=>{i(c)&&re(Wn)})}var Yn=w(Kn,2);{var ls=re=>{{let te=U(()=>({label:i(u).pkg.entry.label,version:i(u).pkg.latest.version,author:i(u).pkg.entry.author.name}));Qo(re,{mode:"update",get pkg(){return i(te)},get fromVersion(){return i(u).fromVersion},get added(){return i(u).added},get removed(){return i(u).removed},onConfirm:I,onCancel:R})}};K(Yn,re=>{i(u)&&re(ls)})}N(()=>{J.disabled=d.state.ephemeral.loading,j(ee,d.state.ephemeral.loading?"Loading...":"Refresh")}),Ie(M,()=>i(n),re=>E(n,re)),Cs(V,()=>i(r),re=>E(r,re)),F("click",J,L),k(e,D),ae()}ce(["click"]);function zh(e){return nt.state.ephemeral.catalog.find(t=>t.entry.id===e)}function Vs(e){return nt.state.ephemeral.installed.find(t=>t.id===e)}const jE={name:"install",summary:"Install a package by id from the catalog.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:install <package-id>",level:"warn",ts:Date.now()});return}const r=Vs(n);if(r){e.scrollback.push({kind:"status",text:`${n} is already installed (v${r.version})`,level:"warn",ts:Date.now()});return}const s=zh(n);if(!s){e.scrollback.push({kind:"status",text:`package "${n}" not found in catalog — try refreshing the store`,level:"error",ts:Date.now()});return}e.scrollback.push({kind:"status",text:`installing ${n} v${s.latest.version}...`,level:"info",ts:Date.now()});try{const a=await zi(s.latest,s.sourceRegistry),l=ji(s,s.latest);let o;s.latest.serverBundleUrl&&(o=await oc(s.latest,s.sourceRegistry));const c={id:l.id,type:l.type,label:s.entry.label,version:l.version,contractVersion:l.contractVersion,sourceRegistry:l.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:s.latest.requires?.map(f=>f.id)??[]},u=await sc(c,a,o);if(!u.ok){let f=`install failed: ${u.error??"server error"}`;u.code==="missing-shards"&&u.missing&&(f=`install failed: missing required shard(s): ${u.missing.map(b=>b.id).join(", ")}`),e.scrollback.push({kind:"status",text:f,level:"error",ts:Date.now()});return}const d=await vc(a,l);d.success||e.scrollback.push({kind:"status",text:`server ok but local hot-load failed: ${d.error}`,level:"warn",ts:Date.now()}),await nt.refreshInstalled(),e.scrollback.push({kind:"status",text:`installed ${n} v${s.latest.version}`,level:"info",ts:Date.now()})}catch(a){e.scrollback.push({kind:"status",text:`install failed: ${a instanceof Error?a.message:String(a)}`,level:"error",ts:Date.now()})}}},DE={name:"uninstall",summary:"Uninstall an installed package by id.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:uninstall <package-id>",level:"warn",ts:Date.now()});return}if(!Vs(n)){e.scrollback.push({kind:"status",text:`package "${n}" is not installed`,level:"error",ts:Date.now()});return}e.scrollback.push({kind:"status",text:`uninstalling ${n}...`,level:"info",ts:Date.now()});try{await nt.uninstallPackage(n),e.scrollback.push({kind:"status",text:`uninstalled ${n}`,level:"info",ts:Date.now()})}catch(s){e.scrollback.push({kind:"status",text:`uninstall failed: ${s instanceof Error?s.message:String(s)}`,level:"error",ts:Date.now()})}}},OE={name:"update",summary:"Update an installed package (sh3-store:update <id> [version]). When version is omitted, bumps to latest; with a version, installs that exact version (downgrade or same-version reinstall allowed).",programmatic:!0,async run(e,t){const n=t[0],r=t[1];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:update <package-id> [version]",level:"warn",ts:Date.now()});return}const s=Vs(n);if(!s){e.scrollback.push({kind:"status",text:`package "${n}" is not installed`,level:"error",ts:Date.now()});return}const a=s.version,l=r&&r===a?"reinstalling":r?`updating ${n} from v${a} to v${r}`:`updating ${n} from v${a} to latest`;e.scrollback.push({kind:"status",text:l.startsWith("reinstalling")?`reinstalling ${n} v${r}…`:`${l}…`,level:"info",ts:Date.now()});const o=async(c,u)=>(e.scrollback.push({kind:"status",text:`permission change required (added: ${c.join(", ")||"none"}; removed: ${u.join(", ")||"none"}) — open the store and use the Update button to review and apply.`,level:"warn",ts:Date.now()}),!1);try{await nt.updatePackage(n,o,r);const c=r??Vs(n)?.version??"?";e.scrollback.push({kind:"status",text:r&&r===a?`reinstalled ${n} v${c}`:`updated ${n} v${c}`,level:"info",ts:Date.now()})}catch(c){e.scrollback.push({kind:"status",text:`update failed: ${c instanceof Error?c.message:String(c)}`,level:"error",ts:Date.now()})}}},NE={name:"appinfo",summary:"Show info about a package (installed status, version, catalog details).",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: sh3-store:appinfo <package-id>",level:"warn",ts:Date.now()});return}const r=Vs(n),s=zh(n);if(!r&&!s){e.scrollback.push({kind:"status",text:`package "${n}" not found in catalog or installed list`,level:"error",ts:Date.now()});return}const a=[];a.push(`--- ${n} ---`),r?(a.push(" installed: yes"),a.push(` version: ${r.version}`),a.push(` type: ${r.type}`),a.push(` contract: v${r.contractVersion}`),a.push(` source: ${r.sourceRegistry}`),r.installedAt&&a.push(` installed: ${r.installedAt}`)):a.push(" installed: no"),s?(a.push(" catalog: yes"),a.push(` latest: ${s.latest.version}`),a.push(` label: ${s.entry.label}`),a.push(` author: ${s.entry.author.name}`),a.push(` desc: ${s.entry.description}`)):a.push(" catalog: no (not in any configured registry)"),e.scrollback.push({kind:"text",stream:"stdout",chunks:[a.join(`
12
+ `)+`
13
+ `],ts:Date.now()})}};function qE(e,t){const n=e.split(".").map(a=>parseInt(a,10)||0),r=t.split(".").map(a=>parseInt(a,10)||0),s=Math.max(n.length,r.length);for(let a=0;a<s;a++){const l=n[a]??0,o=r[a]??0;if(l>o)return!0;if(l<o)return!1}return!1}function BE(e,t){if(t===void 0)return e.latest;const n=e.entry.versions.find(r=>r.version===t);if(!n)throw new Error(`version ${t} not in catalog for ${e.entry.id}`);return n}function VE(e,t){const n=new Set(e),r=new Set(t);return{added:t.filter(s=>!n.has(s)),removed:e.filter(s=>!r.has(s))}}let nt;const jh={manifest:{id:"sh3-store",label:"Package Store",version:dn,views:[{id:"sh3-store:browse",label:"Store"}]},activate(e){const t=e.env({registries:[]}),n=e.state({ephemeral:{catalog:[],installed:[],updatable:{},loading:!1,error:null}});function r(){const f={};for(const h of n.ephemeral.installed){const b=n.ephemeral.catalog.find(x=>x.entry.id===h.id);b&&qE(b.latest.version,h.version)&&(f[h.id]=b)}n.ephemeral.updatable=f}async function s(){n.ephemeral.loading=!0,n.ephemeral.error=null;try{const f=await ch(t.registries);n.ephemeral.catalog=f,r()}catch(f){n.ephemeral.error=f instanceof Error?f.message:String(f)}finally{n.ephemeral.loading=!1}}async function a(){try{const f=await U0();n.ephemeral.installed=f.map(h=>({id:h.id,type:h.type,version:h.version,sourceRegistry:h.sourceRegistry??"",contractVersion:h.contractVersion??"",installedAt:h.installedAt??"",permissions:[]})),r()}catch(f){console.warn("[sh3-store] Failed to list installed packages:",f instanceof Error?f.message:f);try{const h=await aE();n.ephemeral.installed=h,r()}catch{}}}async function l(f){const h=[...t.registries];h.includes(f)||(h.push(f),await e.envUpdate({registries:h}))}async function o(f){const h=t.registries.filter(b=>b!==f);await e.envUpdate({registries:h})}async function c(f,h,b){let x;if(b===void 0?x=n.ephemeral.updatable[f]:x=n.ephemeral.catalog.find(M=>M.entry.id===f),!x)return;const y=n.ephemeral.installed.find(M=>M.id===f);if(!y)return;const g=BE(x,b),S=await zi(g,x.sourceRegistry);let _;g.serverBundleUrl&&(_=await oc(g,x.sourceRegistry));const m=ji(x,g),I=await oa(S),R=fc(I);let P=[];try{const M=await tE(f);M?.permissions&&(P=M.permissions)}catch{}const{added:T,removed:z}=VE(P,R);if((T.length>0||z.length>0)&&h&&!await h(T,z))return;const L=await Ph(f),D={...y,permissions:P},C={id:m.id,type:m.type,label:x.entry.label,version:m.version,contractVersion:m.contractVersion,sourceRegistry:m.sourceRegistry,installedAt:new Date().toISOString(),requiredShards:g.requires?.map(M=>M.id)??[]},O=await sc(C,S,_);if(!O.ok){let M=O.error??"Server update failed";throw O.code==="missing-shards"&&O.missing&&(M=`missing required shard(s): ${O.missing.map(Z=>Z.id).join(", ")}`),new Error(M)}const B=await vc(S,m,{loaded:I});if(!B.success){if(L)try{await Rh(f,L,D)}catch(M){console.warn(`[sh3-store] Rollback failed for "${f}":`,M instanceof Error?M.message:M)}throw new Error(B.error??"Local install failed during update")}await a()}async function u(f){await F0(f),await sE(f),await a()}nt={env:t,state:n,get isAdmin(){return e.isAdmin},refreshCatalog:s,refreshInstalled:a,updatePackage:c,uninstallPackage:u,addRegistry:l,removeRegistry:o};const d={mount(f,h){const b=Fe(zE,{target:f});return{unmount(){Qe(b)}}}};e.registerView("sh3-store:browse",d),e.registerVerb(jE),e.registerVerb(DE),e.registerVerb(NE),e.registerVerb(OE),a()},autostart(){nt.refreshCatalog()}};function FE(e,t,n,r){return new Promise(s=>{const a={mode:"update",pkg:{label:e.label,version:t},fromVersion:e.version,added:n,removed:r,onConfirm:()=>{l.close(),s(!0)},onCancel:()=>{l.close(),s(!1)}},l=Zt.open(Qo,a)})}var UE=A('<p class="error svelte-1tiy4hy"> </p>'),HE=A('<div class="app-update-modal svelte-1tiy4hy"><h2 class="svelte-1tiy4hy">Update available</h2> <p class="svelte-1tiy4hy"><strong> </strong> can be updated from <code class="svelte-1tiy4hy"> </code> to <code class="svelte-1tiy4hy"> </code>.</p> <p class="hint svelte-1tiy4hy">Package id: <code class="svelte-1tiy4hy"> </code></p> <!> <div class="actions svelte-1tiy4hy"><button type="button" class="primary svelte-1tiy4hy"> </button> <button type="button" class="svelte-1tiy4hy">Cancel</button></div></div>');function KE(e,t){se(t,!0);let n=H(!1),r=H(null);async function s(){if(!i(n)){E(n,!0),E(r,null);try{await t.onConfirm(),t.close()}catch(P){E(r,P.message,!0)}finally{E(n,!1)}}}var a=HE(),l=w(p(a),2),o=p(l),c=p(o,!0);v(o);var u=w(o,2),d=p(u);v(u);var f=w(u,2),h=p(f);v(f),Pt(),v(l);var b=w(l,2),x=w(p(b)),y=p(x,!0);v(x),v(b);var g=w(b,2);{var S=P=>{var T=UE(),z=p(T,!0);v(T),N(()=>j(z,i(r))),k(P,T)};K(g,P=>{i(r)&&P(S)})}var _=w(g,2),m=p(_),I=p(m,!0);v(m);var R=w(m,2);v(_),v(a),N(()=>{j(c,t.appLabel),j(d,`v${t.fromVersion??""}`),j(h,`v${t.toVersion??""}`),j(y,t.appId),m.disabled=i(n),j(I,i(n)?"Updating…":"Update"),R.disabled=i(n)}),F("click",m,s),F("click",R,function(...P){t.close?.apply(this,P)}),k(e,a),ae()}ce(["click"]);var WE=A('<p class="error svelte-86mxbl"> </p>'),YE=A(`<div class="uninstall-dialog svelte-86mxbl"><h2 class="svelte-86mxbl"> </h2> <p class="hint svelte-86mxbl">Package id: <code class="svelte-86mxbl"> </code> · current version: <code class="svelte-86mxbl"> </code></p> <p class="svelte-86mxbl">The package will be removed from this server. App data stored in your
14
+ browser will remain until you clear it manually.</p> <!> <div class="actions svelte-86mxbl"><button type="button" class="danger svelte-86mxbl"> </button> <button type="button" class="svelte-86mxbl">Cancel</button></div></div>`);function GE(e,t){se(t,!0);let n=H(!1),r=H(null);async function s(){if(!i(n)){E(n,!0),E(r,null);try{await t.onConfirm(),t.close()}catch(m){E(r,m.message,!0)}finally{E(n,!1)}}}var a=YE(),l=p(a),o=p(l);v(l);var c=w(l,2),u=w(p(c)),d=p(u,!0);v(u);var f=w(u,2),h=p(f);v(f),v(c);var b=w(c,4);{var x=m=>{var I=WE(),R=p(I,!0);v(I),N(()=>j(R,i(r))),k(m,I)};K(b,m=>{i(r)&&m(x)})}var y=w(b,2),g=p(y),S=p(g,!0);v(g);var _=w(g,2);v(y),v(a),N(()=>{j(o,`Uninstall ${t.appLabel??""}?`),j(d,t.appId),j(h,`v${t.version??""}`),g.disabled=i(n),j(S,i(n)?"Uninstalling…":"Uninstall"),_.disabled=i(n)}),F("click",g,s),F("click",_,function(...m){t.close?.apply(this,m)}),k(e,a),ae()}ce(["click"]);var XE=A('<span class="badge built-in svelte-1w44jyn">built-in</span>'),JE=A('<section class="description svelte-1w44jyn"><span class="label svelte-1w44jyn">Description</span> <p class="svelte-1w44jyn"> </p></section>'),ZE=A('<p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Author</span> <span> </span></p>'),QE=A('<li><code class="svelte-1w44jyn"> </code></li>'),$E=A('<section class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Required shards</span> <ul class="chips svelte-1w44jyn"></ul></section>'),eI=A('<li><code class="svelte-1w44jyn"> </code></li>'),tI=A('<section class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Permissions</span> <ul class="chips svelte-1w44jyn"></ul></section>'),nI=A('<p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Installed</span><span> </span></p>'),rI=A('<section class="installed svelte-1w44jyn"><p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Source registry</span><code class="svelte-1w44jyn"> </code></p> <!> <p class="row svelte-1w44jyn"><span class="label svelte-1w44jyn">Contract</span><code class="svelte-1w44jyn"> </code></p></section>'),sI=A('<div class="app-info-modal svelte-1w44jyn"><header class="svelte-1w44jyn"><h2 class="svelte-1w44jyn"> </h2> <code class="id svelte-1w44jyn"> </code></header> <p class="version svelte-1w44jyn"><span class="label svelte-1w44jyn">Version</span> <code class="svelte-1w44jyn"> </code> <!></p> <!> <!> <!> <!> <!> <div class="actions svelte-1w44jyn"><button type="button" class="svelte-1w44jyn">Close</button></div></div>');function aI(e,t){se(t,!0);let n=U(()=>{if(!t.installed)return null;const D=new Date(t.installed.installedAt);return isNaN(D.getTime())?t.installed.installedAt:D.toLocaleString()});var r=sI(),s=p(r),a=p(s),l=p(a,!0);v(a);var o=w(a,2),c=p(o,!0);v(o),v(s);var u=w(s,2),d=w(p(u),2),f=p(d);v(d);var h=w(d,2);{var b=D=>{var C=XE();k(D,C)};K(h,D=>{t.installed||D(b)})}v(u);var x=w(u,2);{var y=D=>{var C=JE(),O=w(p(C),2),B=p(O,!0);v(O),v(C),N(()=>j(B,t.catalogEntry.description)),k(D,C)};K(x,D=>{t.catalogEntry?.description&&D(y)})}var g=w(x,2);{var S=D=>{var C=ZE(),O=w(p(C),2),B=p(O,!0);v(O),v(C),N(()=>j(B,t.catalogEntry.author.name)),k(D,C)};K(g,D=>{t.catalogEntry?.author?.name&&D(S)})}var _=w(g,2);{var m=D=>{var C=$E(),O=w(p(C),2);ve(O,21,()=>t.manifest.requiredShards,ht,(B,M)=>{var V=QE(),Z=p(V),G=p(Z,!0);v(Z),v(V),N(()=>j(G,i(M))),k(B,V)}),v(O),v(C),k(D,C)};K(_,D=>{t.manifest.requiredShards.length>0&&D(m)})}var I=w(_,2);{var R=D=>{var C=tI(),O=w(p(C),2);ve(O,21,()=>t.manifest.permissions,ht,(B,M)=>{var V=eI(),Z=p(V),G=p(Z,!0);v(Z),v(V),N(()=>j(G,i(M))),k(B,V)}),v(O),v(C),k(D,C)};K(I,D=>{t.manifest.permissions&&t.manifest.permissions.length>0&&D(R)})}var P=w(I,2);{var T=D=>{var C=rI(),O=p(C),B=w(p(O)),M=p(B,!0);v(B),v(O);var V=w(O,2);{var Z=ee=>{var Y=nI(),q=w(p(Y)),W=p(q,!0);v(q),v(Y),N(()=>j(W,i(n))),k(ee,Y)};K(V,ee=>{i(n)&&ee(Z)})}var G=w(V,2),Q=w(p(G)),J=p(Q);v(Q),v(G),v(C),N(()=>{j(M,t.installed.sourceRegistry),j(J,`v${t.installed.contractVersion??""}`)}),k(D,C)};K(P,D=>{t.installed&&D(T)})}var z=w(P,2),L=p(z);v(z),v(r),N(()=>{j(l,t.manifest.label),j(c,t.manifest.id),j(f,`v${t.manifest.version??""}`)}),F("click",L,function(...D){t.close?.apply(this,D)}),k(e,r),ae()}ce(["click"]);const Iu=typeof globalThis.__TAURI_INTERNALS__<"u";function iI(e){return!e.admin||e.builtin}function Au(e){return e.admin?e.builtin?" · built-in":"":" · admin only"}function On(){const e=sa();return!e||e.type!=="app"?null:e.ref}function ca(e){return ns().find(t=>t.id===e)}function oI(e){return!nt.state.ephemeral.installed.some(t=>t.id===e)}function lo(e){return{admin:wt(),builtin:oI(e)}}function lI(e){const t=On();if(!t)return;const n=ca(t.appId);if(!n)return;const r=nt.state.ephemeral.installed.find(l=>l.id===t.appId)??null,s=nt.state.ephemeral.catalog.find(l=>l.entry.id===t.appId)?.entry??null,a={manifest:n,installed:r,catalogEntry:s};Zt.open(aI,a)}async function cI(e){const t=On();if(!t)return;const{appId:n}=t,r=gn.notify("Checking for updates…",{duration:1/0});try{await nt.refreshCatalog()}finally{r.close()}const s=nt.state.ephemeral.updatable[n],a=nt.state.ephemeral.installed.find(c=>c.id===n),l=ca(n)?.label??n;if(!s||!a){gn.notify(`${l} is up to date`,{level:"info",duration:2500});return}const o={appId:n,appLabel:l,fromVersion:a.version,toVersion:s.latest.version,onConfirm:async()=>{try{await nt.updatePackage(n,(c,u)=>FE({label:a.id,version:a.version},s.latest.version,c,u)),gn.notify(`Updated to v${s.latest.version}`,{level:"success"})}catch(c){throw gn.notify(`Update failed: ${c.message}`,{level:"error",duration:5e3}),c}}};Zt.open(KE,o)}function uI(e){const t=On();if(!t)return;const n=ca(t.appId);n&&Mi({kind:"app",appId:t.appId,activateShards:n.requiredShards??[]})}async function dI(e){const t=Ml();if(!t)return;const n=t.id,r=t.requiredShards??[];await ia(),Mi({kind:"app",appId:n,activateShards:r})}function fI(e){const t=On();if(!t)return;const{appId:n}=t,r=nt.state.ephemeral.installed.find(l=>l.id===n);if(!r)return;const s=ca(n)?.label??n,a={appId:n,appLabel:s,version:r.version,onConfirm:async()=>{try{await nt.uninstallPackage(n),gn.notify(`Uninstalled ${s}`,{level:"success"})}catch(l){throw gn.notify(`Uninstall failed: ${l.message}`,{level:"error",duration:5e3}),l}}};Zt.open(GE,a)}function vI(e){const t=()=>{const o=On();if(!o)return"Info…";const c=ca(o.appId);return c?`Info — ${c.label} v${c.version}`:`Info — ${o.appId}`},n=()=>{const o=On();return o?`Check for updates${Au(lo(o.appId))}`:"Check for updates"},r=()=>{const o=On();return o?`Uninstall…${Au(lo(o.appId))}`:"Uninstall…"},s=()=>{const o=On();return o?iI(lo(o.appId)):!0},l=[{id:"app.info",label:t,scope:{element:"app"},contextItem:!0,group:"info",run:lI},{id:"app.checkUpdate",label:n,scope:{element:"app"},contextItem:!0,group:"update",disabled:s,run:cI},{id:"app.uninstall",label:r,scope:{element:"app"},contextItem:!0,group:"uninstall",disabled:s,run:fI},{id:"app.popout",label:"Open in standalone view",scope:{element:"app"},contextItem:!0,paletteItem:!1,group:"window",disabled:()=>!Iu,run:uI},{id:"app.popoutCurrent",label:"Pop out current app",scope:"app",contextItem:!1,paletteItem:!0,disabled:()=>!Iu||it.id==null,run:dI}].map(o=>e.actions.register(o));return()=>l.forEach(o=>o())}function hI(){return{id:"sh3.float.toggleMaximize",label:"Toggle Float Maximize",scope:["home","app"],paletteItem:!0,contextItem:!1,defaultShortcut:"Ctrl+Shift+M",disabled:()=>Te.list().length===0,run(){const e=Te.list().at(-1);e&&Te.toggleMaximize(e.id)}}}const Dh={manifest:{id:"__sh3core__",label:"SH3 Core",version:dn,views:[{id:"sh3core:home",label:"Home"},{id:"sh3:keys-and-peers",label:"Keys & Peers"}]},activate(e){const t=e.state({user:{bindings:{}}});p1(t.user),e.actions.register({id:"sh3.palette.open",label:"Command Palette…",scope:["home","app"],defaultShortcut:"Mod+K",contextItem:!1,paletteItem:!1,run(a){Ei()}}),e.actions.register(hI()),e.actions.register({id:"sh3.app.reset-layout",label:"Reset Current Layout",scope:["app"],paletteItem:!0,contextItem:!1,run(){Zt.open(Th,{title:"Reset layout?",body:"This discards the current arrangement of the active preset and rebuilds it from the app default. Floats will be removed.",confirmLabel:"Reset",confirmTone:"danger",onConfirm:()=>tk()})}});const n={mount(a,l){const o=Fe(N3,{target:a});return{unmount(){Qe(o)}}}},r={mount(a,l){const o=Fe(Y3,{target:a});return{unmount(){Qe(o)}}}};e.registerView("sh3core:home",n),e.registerView("sh3:keys-and-peers",r),vI(e),e.actions.register({id:"sh3.app.launch",label:"Launch app",scope:["home","app"],submenu:!0,paletteItem:!0});const s=new Map;$r(()=>{xe(()=>{const a=new Set;for(const[l,o]of Bn){if(a.add(l),s.has(l))continue;const c=e.actions.register({id:`sh3.app.launch:${l}`,label:o.manifest.label,scope:["home","app"],submenuOf:"sh3.app.launch",run(){Pn(l)}});s.set(l,c)}for(const l of[...s.keys()])a.has(l)||(s.get(l)(),s.delete(l))})})},autostart(){}},pI={id:"shell",label:"Sh3",version:dn,views:[{id:"shell:terminal",label:"Sh3",standalone:!0}],permissions:[Rs]};class mI{#e;get history(){return i(this.#e)}set history(t){E(this.#e,t,!0)}#t;get locked(){return i(this.#t)}set locked(t){E(this.#t,t,!0)}constructor(t){this.#e=H(le([])),this.#t=H(!1),this.modeId=t,this.scrollback=new o0}}let tr=null;function bI(e){tr=e}function gI(){tr=null}function Cu(e){return tr?.workspace.buffers[e]}function yI(e,t){tr&&(tr.workspace.buffers={...tr.workspace.buffers,[e]:t})}function _I(){tr={ephemeral:{},session:{},workspace:{buffers:{}},user:{}}}_I();const wI=200;class kI{constructor(){this.timers=new Map}hydrate(t){const n=Cu(t.modeId);if(!n)return;const r=[];for(const s of n.entries)r.push(this.toLive(s));t.scrollback.restore(r),t.history=[...n.history]}flush(t,n){const r=this.timers.get(t.modeId);r&&clearTimeout(r);const s=setTimeout(()=>{this.timers.delete(t.modeId),this.write(t,n)},wI);this.timers.set(t.modeId,s)}forceFlush(t,n){const r=this.timers.get(t.modeId);r&&(clearTimeout(r),this.timers.delete(t.modeId)),this.write(t,n)}readLastSeq(t){return Cu(t)?.lastSeq}write(t,n){const s={entries:t.scrollback.entries.slice(-500).map(a=>this.toPersisted(a)),history:[...t.history],...n!==void 0?{lastSeq:n}:{}};yI(t.modeId,s)}toPersisted(t){if(t.kind==="rich"){const n=t.componentKey;if(!n)return{id:t.id,kind:"status",text:"<rich entry: not restorable (no componentKey)>",level:"info",ts:t.ts};try{const r=JSON.stringify(t.props);return{id:t.id,kind:"rich",componentKey:n,props:JSON.parse(r),ts:t.ts}}catch{return{id:t.id,kind:"status",text:`<rich entry: ${n} not restorable>`,level:"info",ts:t.ts}}}return t.kind==="prompt"?{id:t.id,kind:"prompt",cwd:t.cwd,line:t.line,ts:t.ts}:t.kind==="text"?{id:t.id,kind:"text",stream:t.stream,chunks:[...t.chunks],ts:t.ts}:{id:t.id,kind:"status",text:t.text,level:t.level,ts:t.ts}}toLive(t){return t.kind==="rich"?{id:t.id,kind:"rich",componentKey:t.componentKey,component:void 0,props:t.props,ts:t.ts}:t.kind==="prompt"?{id:t.id,kind:"prompt",cwd:t.cwd,line:t.line,ts:t.ts}:t.kind==="text"?{id:t.id,kind:"text",stream:t.stream,chunks:[...t.chunks],ts:t.ts}:{id:t.id,kind:"status",text:t.text,level:t.level,ts:t.ts}}}function xI(e,t){for(const n of t)switch(n.kind){case"prompt":e.scrollback.push({kind:"prompt",cwd:n.cwd,line:n.line,ts:n.ts}),e.locked=!0;break;case"stdout":e.scrollback.push({kind:"text",stream:"stdout",chunks:[n.data],ts:n.ts});break;case"stderr":e.scrollback.push({kind:"text",stream:"stderr",chunks:[n.data],ts:n.ts});break;case"exit":(n.signal||n.code!==null&&n.code!==0)&&e.scrollback.push({kind:"status",text:n.signal?`shell: process exited (${n.signal})`:`shell: process exited (${n.code})`,level:"error",ts:n.ts}),e.locked=!1;break;case"status":e.scrollback.push({kind:"status",text:n.text,level:n.level,ts:n.ts});break}}function SI(e,t){if(!e||!t)return e;if(e===t)return"~";if(e.length>t.length&&e.startsWith(t)){const n=e.charAt(t.length);if(n==="/"||n==="\\")return`~/${e.slice(t.length+1).replace(/\\/g,"/")}`}return e}function EI(e){const{scrollTop:t,scrollHeight:n,clientHeight:r,threshold:s}=e;return n-t-r<=s}var II=A("<pre> </pre>");function AI(e,t){se(t,!0);const n=/\x1b\[[0-9;?]*[ -/]*[@-~]/g,r=U(()=>t.chunks.join("").replace(n,""));var s=II();let a;var l=p(s,!0);v(s),N(()=>{a=de(s,1,"shell-text svelte-ypr8s",null,a,{stderr:t.stream==="stderr"}),j(l,i(r))}),k(e,s),ae()}var CI=A('<div class="shell-prompt svelte-u0gb59"><span class="shell-prompt-cwd svelte-u0gb59"> </span> <span class="shell-prompt-arrow svelte-u0gb59">❯</span> <span class="shell-prompt-line svelte-u0gb59"> </span></div>');function TI(e,t){var n=CI(),r=p(n),s=p(r,!0);v(r);var a=w(r,4),l=p(a,!0);v(a),v(n),N(()=>{j(s,t.cwd),j(l,t.line)}),k(e,n)}var RI=A("<div> </div>");function Tu(e,t){var n=RI();let r;var s=p(n,!0);v(n),N(()=>{r=de(n,1,"shell-status svelte-nfxdpt",null,r,{info:t.level==="info",warn:t.level==="warn",error:t.level==="error"}),j(s,t.text)}),k(e,n)}var PI=A('<div class="shell-rich svelte-1rnhl05"><!></div>');function LI(e,t){var n=PI(),r=p(n);Qs(r,()=>t.component,(s,a)=>{a(s,ea(()=>t.componentProps))}),v(n),k(e,n)}const $o=new Map;function zn(e,t){const n=$o.get(e);if(n&&n!==t){console.warn(`[shell-shard/rich-registry] duplicate registration for key "${e}" — keeping first`);return}$o.set(e,t)}function MI(e){return $o.get(e)??null}var zI=A('<div class="shell-scrollback svelte-isy3jt"><div class="content"></div></div>');function jI(e,t){se(t,!0);let n=H(null),r=H(null),s=!1;const a=4;function l(){i(n)&&EI({scrollTop:i(n).scrollTop,scrollHeight:i(n).scrollHeight,clientHeight:i(n).clientHeight,threshold:a})&&(s=!1)}xe(()=>{if(!i(n))return;const u=()=>{s=!0};return i(n).addEventListener("wheel",u,{passive:!0}),i(n).addEventListener("touchstart",u,{passive:!0}),i(n).addEventListener("keydown",u),()=>{i(n)?.removeEventListener("wheel",u),i(n)?.removeEventListener("touchstart",u),i(n)?.removeEventListener("keydown",u)}}),xe(()=>{if(!i(r)||!i(n))return;const u=new ResizeObserver(()=>{i(n)&&!s&&(i(n).scrollTop=i(n).scrollHeight)});return u.observe(i(r)),()=>u.disconnect()});var o=zI(),c=p(o);ve(c,21,()=>t.scrollback.entries,u=>u.id,(u,d)=>{var f=Me(),h=ue(f);{var b=S=>{AI(S,{get stream(){return i(d).stream},get chunks(){return i(d).chunks}})},x=S=>{{let _=U(()=>t.showPromptCwd?i(d).cwd:"");TI(S,{get cwd(){return i(_)},get line(){return i(d).line}})}},y=S=>{Tu(S,{get text(){return i(d).text},get level(){return i(d).level}})},g=S=>{const _=U(()=>i(d).component??(i(d).componentKey?MI(i(d).componentKey):null));var m=Me(),I=ue(m);{var R=T=>{LI(T,{get component(){return i(_)},get componentProps(){return i(d).props}})},P=T=>{{let z=U(()=>`<rich entry: ${i(d).componentKey??"unknown"} not registered>`);Tu(T,{get text(){return i(z)},level:"info"})}};K(I,T=>{i(_)?T(R):T(P,-1)})}k(S,m)};K(h,S=>{i(d).kind==="text"?S(b):i(d).kind==="prompt"?S(x,1):i(d).kind==="status"?S(y,2):i(d).kind==="rich"&&S(g,3)})}k(u,f)}),v(c),qe(c,u=>E(r,u),()=>i(r)),v(o),qe(o,u=>E(n,u),()=>i(n)),ze("scroll",o,l),k(e,o),ae()}var DI=A('<span class="sh3-cmdline__prefix svelte-ngn09j"><!></span>'),OI=A('<div data-sh3-passthrough-modifiers=""><!> <input type="text" class="sh3-cmdline__decoy svelte-ngn09j" tabindex="-1" aria-hidden="true"/> <input type="password" class="sh3-cmdline__decoy svelte-ngn09j" tabindex="-1" aria-hidden="true"/> <input type="search" spellcheck="false" autocomplete="off" autocapitalize="off" aria-autocomplete="none" data-1p-ignore="" data-lpignore="true" class="sh3-cmdline__input svelte-ngn09j"/></div>');function NI(e,t){se(t,!0);let n=$(t,"value",15,""),r=$(t,"disabled",3,!1),s=H(null);function a(h){return h.selectionStart!==null&&h.selectionEnd!==null&&h.selectionStart!==h.selectionEnd}function l(h){(h.ctrlKey||h.metaKey)&&!h.altKey&&h.key==="c"&&i(s)&&a(i(s))||t.onkeydown?.(h)}xe(()=>{!r()&&i(s)&&i(s).focus()});var o=OI();let c;var u=p(o);{var d=h=>{var b=DI(),x=p(b);Gt(x,()=>t.prefix),v(b),k(h,b)};K(u,h=>{t.prefix&&h(d)})}var f=w(u,6);ye(f),qe(f,h=>E(s,h),()=>i(s)),v(o),N(()=>{c=de(o,1,"sh3-cmdline svelte-ngn09j",null,c,{"sh3-cmdline--disabled":r()}),ne(f,"name",t.name),f.disabled=r()}),F("keydown",f,l),ze("focus",f,function(...h){t.onfocus?.apply(this,h)}),Ie(f,n),k(e,o),ae()}ce(["keydown"]);var qI=A('<span class="shell-input-cwd svelte-1dfv2gk"> </span>'),BI=A('<!> <span class="shell-input-arrow svelte-1dfv2gk">❯</span>',1),VI=A('<div class="shell-input-row svelte-1dfv2gk"><!></div>');function FI(e,t){se(t,!0);let n=$(t,"showCwd",3,!0),r=H(""),s=H(null),a=H("");function l(){if(t.locked)return;const h=i(r);h.trim()&&(E(r,""),E(s,null),t.onSubmit(h))}function o(){t.history.length!==0&&(i(s)===null?(E(a,i(r),!0),E(s,t.history.length-1)):i(s)>0&&qr(s,-1),E(r,t.history[i(s)]??"",!0))}function c(){i(s)!==null&&(i(s)<t.history.length-1?(qr(s),E(r,t.history[i(s)],!0)):(E(s,null),E(r,i(a),!0)))}function u(h){if(t.locked){if(h.ctrlKey&&h.key==="c"){h.preventDefault(),t.session.send({t:"signal",sig:"SIGINT"});return}if(h.ctrlKey&&h.key==="d"){h.preventDefault(),t.session.send({t:"signal",sig:"EOF"});return}h.preventDefault();return}h.key==="Enter"?(h.preventDefault(),l()):h.key==="ArrowUp"?(h.preventDefault(),o()):h.key==="ArrowDown"?(h.preventDefault(),c()):h.ctrlKey&&h.key==="c"?(h.preventDefault(),E(r,""),E(s,null)):h.ctrlKey&&h.key==="l"&&(h.preventDefault(),E(r,"clear"),l())}var d=VI(),f=p(d);NI(f,{get disabled(){return t.locked},name:"shell-cmdline",onkeydown:u,onfocus:()=>t.onFocus?.(),get value(){return i(r)},set value(b){E(r,b,!0)},prefix:b=>{var x=BI(),y=ue(x);{var g=S=>{var _=qI(),m=p(_,!0);v(_),N(()=>j(m,t.cwd)),k(S,_)};K(y,S=>{n()&&S(g)})}Pt(2),k(b,x)},$$slots:{prefix:!0}}),v(d),k(e,d),ae()}class UI{list(){return Ul()}get(t){return Ua(t)}resolve(t,n={}){const r=t.trim();if(!r)return{kind:"forward",line:t};if(r.startsWith("$ "))return{kind:"forward",line:r.slice(2)};if(r==="$")return{kind:"forward",line:""};const s=r.indexOf(" "),a=s===-1?r:r.slice(0,s),l=s===-1?"":r.slice(s+1),o=Ua(a);if(!o)return{kind:"forward",line:t};if(n.globalOnly&&!o.globalVerb)return{kind:"forward",line:t};const c=l.length?l.split(/\s+/):[];return{kind:"local",verb:o,args:c,line:t}}}class HI{#e=new Map;register(t){this.#e.set(t.id,t)}get(t){return this.#e.get(t)}list(t){const n=[];for(const r of this.#e.values())r.requiresRole&&r.requiresRole!==t||n.push(r);return n}}const KI={id:"bash",label:"Bash",requiresRole:"admin",transport:"ws",autoRelocate:!1,showCwd:!0},WI={id:"sh3",label:"SH3",transport:"none",autoRelocate:!0,showCwd:!1};function YI(e){e.register(KI),e.register(WI)}function Oh(e){return`sh3.shell.lastMode.${e}`}function Nh(e){try{return globalThis.localStorage?.getItem(Oh(e))??null}catch{return null}}function Ru(e,t){try{globalThis.localStorage?.setItem(Oh(e),t)}catch{}}function GI(e,t,n){const r=Nh(t);if(r){const a=e.get(r);if(a&&(!a.requiresRole||a.requiresRole===n))return a}const s=n==="admin"?"bash":"sh3";return e.get(s)}function Ra(e,t){return e.entries.find(n=>n.kind==="rich"&&n.id===t)}function XI(e,t){return{update(n){const r=Ra(e,t);r&&Object.assign(r.props,n)}}}function Pu(e){return e.entries[e.entries.length-1].id}function Lu(e){const t=e.scrollback;return{text(n,r){t.push({kind:"text",stream:n,chunks:[r],ts:Date.now()})},status(n,r){t.push({kind:"status",text:r,level:n,ts:Date.now()})},rich(n,r){return t.push({kind:"rich",component:n,props:{...r},ts:Date.now()}),XI(t,Pu(t))},stream(n,r){t.push({kind:"rich",component:n,props:{...r,__streamState:"streaming"},ts:Date.now()});const s=Pu(t);return{append(a){const l=Ra(t,s);l&&Object.assign(l.props,a)},complete(){const a=Ra(t,s);a&&(a.props.__streamState="complete")},error(a){const l=Ra(t,s);l&&(l.props.__streamState="error"),t.push({kind:"status",text:`mode: ${a?.message??String(a)}`,level:"error",ts:Date.now()})}}},busy(n){const r=e.busy(n);let s=!1;return{clear(){s||(s=!0,r())}}},invoke(n,r){return e.invoke(n,r)}}}function JI(e){let t=null;async function n(s,a){const l=e.mode();if(s===l.id)throw new Error(`invoke: cannot invoke own mode '${s}'`);if(s==="sh3"){const u=e.resolver.resolve(a,{globalOnly:!1});if(u.kind==="forward"){const d=a.trim().split(/\s+/)[0]??"";throw new Error(`invoke: unknown sh3 verb '${d}'`)}await u.verb.run({sh3:e.sh3,scrollback:e.buffer().scrollback,session:e.session,cwd:e.cwd(),dispatch:r,fs:e.fs},u.args);return}if(s==="bash"){if(e.role()!=="admin")throw new Error("invoke: 'bash' requires admin role");e.session.send({t:"submit",line:a,mode:"bash"});return}const o=e.customMode?.(s)??null;if(!o)throw new Error(`invoke: unknown mode '${s}'`);if(o.requiresRole&&o.requiresRole!==e.role())throw new Error(`invoke: mode '${s}' requires ${o.requiresRole} role`);if(o.runsOn==="server")throw new Error("invoke: server-side modes are not yet supported");const c=Lu({scrollback:e.buffer().scrollback,busy:e.busy,invoke:n});await o.dispatch({line:a,cwd:e.cwd(),signal:t?.signal??new AbortController().signal},c)}async function r(s){t?.abort();const a=new AbortController;t=a;const l=e.mode();if(e.buffer().history.push(s),l.transport==="none"&&s.trimStart().startsWith("$ ")){e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:s,ts:Date.now()}),e.buffer().scrollback.push({kind:"status",text:"shell: server shell not available in user mode",level:"error",ts:Date.now()});return}const o=e.resolver.resolve(s,{globalOnly:l.id!=="sh3"});if(o.kind==="local"){e.session.send({t:"history-log",line:s,mode:l.id}),e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:s,ts:Date.now()});try{await o.verb.run({sh3:e.sh3,scrollback:e.buffer().scrollback,session:e.session,cwd:e.cwd(),dispatch:r,fs:e.fs},o.args)}catch(u){e.buffer().scrollback.push({kind:"status",text:`shell: verb ${o.verb.name} threw — ${u.message}`,level:"error",ts:Date.now()})}return}if(l.transport==="ws"){e.session.send({t:"submit",line:o.line,mode:l.id});return}if(l.transport==="custom"){e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:o.line,ts:Date.now()});const u=e.customMode?.(l.id)??null;if(!u){e.buffer().scrollback.push({kind:"status",text:`mode '${l.id}' is no longer available`,level:"error",ts:Date.now()});return}if(u.runsOn==="server"){e.buffer().scrollback.push({kind:"status",text:"server-side modes are not yet supported (planned for a future release)",level:"error",ts:Date.now()});return}const d=Lu({scrollback:e.buffer().scrollback,busy:e.busy,invoke:n}),f=e.busy();try{await u.dispatch({line:o.line,cwd:e.cwd(),signal:a.signal},d)}catch(h){h?.name==="AbortError"?e.buffer().scrollback.push({kind:"status",text:"mode dispatch aborted",level:"info",ts:Date.now()}):e.buffer().scrollback.push({kind:"status",text:`mode '${l.id}' threw — ${h?.message??String(h)}`,level:"error",ts:Date.now()})}finally{f()}return}const c=o.line.split(/\s+/)[0]??"";e.buffer().scrollback.push({kind:"prompt",cwd:e.cwd(),line:o.line,ts:Date.now()}),e.buffer().scrollback.push({kind:"status",text:`unknown verb: ${c}`,level:"error",ts:Date.now()})}return{dispatch:r,cancel:()=>t?.abort()}}async function ZI(e,t){if(!e.modeAutoRelocate)return{kind:"noop"};if(e.focusLocked)return{kind:"noop"};if(e.focusedShardId===null)return{kind:"noop"};if(e.focusedShardId===e.currentShardId)return{kind:"noop"};const n=e.focusedShardId;try{if((await t.stat(n)).kind!=="dir")return{kind:"noop"}}catch{return{kind:"noop"}}return{kind:"relocate",path:n}}var QI=A('<div class="toolbar svelte-gnowwz"><div class="toolbar-slots svelte-gnowwz"></div></div>');function $I(e,t){se(t,!0);let n=$(t,"slotProps",19,()=>({})),r=U(()=>t.registry.list(t.ctx));var s=QI(),a=p(s);ve(a,21,()=>i(r),l=>l.id,(l,o)=>{const c=U(()=>i(o).component);var u=Me(),d=ue(u);Qs(d,()=>i(c),(f,h)=>{h(f,ea(()=>n()[i(o).id]??{}))}),k(l,u)}),v(a),v(s),k(e,s),ae()}class e2{#e=[];register(t){this.#e=this.#e.filter(n=>n.id!==t.id).concat(t)}list(t){return this.#e.filter(n=>n.visible(t)).sort((n,r)=>n.order-r.order)}}var t2=A('<span class="mode-label svelte-1i4cqlj"> </span>');function n2(e,t){se(t,!0);let n=U(()=>t.modes.map(o=>({value:o.id,label:o.label})));var r=Me(),s=ue(r);{var a=o=>{vh(o,{get options(){return i(n)},get value(){return t.mode.id},size:"sm",onchange:c=>t.onSelect(c)})},l=o=>{var c=t2(),u=p(c,!0);v(c),N(()=>j(u,t.mode.label)),k(o,c)};K(s,o=>{t.modes.length>=2?o(a):t.modes.length===1&&o(l,1)})}k(e,r),ae()}var r2=A('<button class="focus-lock-btn svelte-1q6gbap"> </button>');function s2(e,t){var n=r2(),r=p(n,!0);v(n),N(()=>{ne(n,"title",t.locked?"Unlock focus":"Lock focus"),j(r,t.locked?"🔒":"🔓")}),F("click",n,function(...s){t.onToggle?.apply(this,s)}),k(e,n)}ce(["click"]);var a2=A('<span class="target-shard svelte-1nn2m6x" title="Target shard"> </span>');function i2(e,t){var n=a2(),r=p(n);v(n),N(()=>j(r,`→ ${t.target??"—"??""}`)),k(e,n)}var o2=A('<span class="label"> </span>'),l2=A('<div class="busy svelte-7wyurd" role="status" aria-live="polite"><span class="spinner svelte-7wyurd" aria-hidden="true"></span> <!></div>');function c2(e,t){var n=Me(),r=ue(n);{var s=a=>{var l=l2(),o=w(p(l),2);{var c=u=>{var d=o2(),f=p(d,!0);v(d),N(()=>j(f,t.label)),k(u,d)};K(o,u=>{t.label&&u(c)})}v(l),k(a,l)};K(r,a=>{t.active&&a(s)})}k(e,n)}var u2=A('<div class="shell-terminal svelte-13komre"><!> <!> <!></div>');function d2(e,t){se(t,!0);const n=we(()=>new kI),r=new Map;function s(q){let W=r.get(q);return W||(W=new mI(q),n.hydrate(W),r.set(q,W)),W}const a=new UI,l=new Wv,o=new HI;YI(o);let c=H(le(we(()=>t.contributions.list(Ss))));xe(()=>{const q=t.contributions.onChange(Ss,()=>{E(c,t.contributions.list(Ss),!0)});return()=>q()});function u(q){return{id:q.id,label:q.label,requiresRole:q.requiresRole,transport:"custom",autoRelocate:q.autoRelocate??!1,showCwd:q.showCwd??!1}}let d=U(()=>[...o.list(t.role),...i(c).filter(q=>!q.requiresRole||q.requiresRole===t.role).map(u)]),f=H(le(we(()=>{const q=Nh(t.userId);if(q){const ie=[...o.list(t.role),...i(c).filter(X=>!X.requiresRole||X.requiresRole===t.role).map(u)].find(X=>X.id===q);if(ie)return ie}return GI(o,t.userId,t.role)}))),h=H(0);function b(){E(h,performance.now(),!0)}const x=we(()=>Lk()),y=U(()=>s(i(f).id));xe(()=>{for(const[q,W]of Object.entries(_.historyByMode)){const ie=s(q);ie.history.length<W.length&&(ie.history=[...W])}}),xe(()=>{i(y).scrollback.entries.length,i(y).history.length,i(y).modeId==="bash"?n.flush(i(y),_.lastSeq):n.flush(i(y))});function g(q){const W=i(d).find(ie=>ie.id===q);W&&(W.requiresRole&&W.requiresRole!==t.role||(L(),E(f,W,!0),Ru(t.userId,q)))}xe(()=>{if(!i(d).find(q=>q.id===i(f).id)){const q=i(d).find(W=>W.id==="sh3")??i(d)[0];if(q){const W=i(f).id;E(f,q,!0),Ru(t.userId,q.id),s(q.id).scrollback.push({kind:"status",text:`mode '${W}' is no longer available — switched to '${q.id}'`,level:"warn",ts:Date.now()})}}});const S=we(()=>({...t.shell,setMode:q=>{const W=i(d).find(ie=>ie.id===q);return!W||W.requiresRole&&W.requiresRole!==t.role?!1:(g(q),!0)},listModes:()=>i(d).map(q=>({id:q.id,label:q.label})),getMode:()=>({id:i(f).id,label:i(f).label}),dispatchToTerminal:Xl({headless:!1})})),_=we(()=>new Kv(t.wsUrl));let m=0,I=H(le(new Map));function R(q){const W=++m;i(I).set(W,q),E(I,new Map(i(I)),!0);let ie=!1;return()=>{ie||(ie=!0,i(I).delete(W),E(I,new Map(i(I)),!0))}}let P=U(()=>i(I).size>0),T=U(()=>{if(i(I).size===0)return null;let q;for(const W of i(I).values())q=W;return q??null});const{dispatch:z,cancel:L}=we(()=>JI({mode:()=>i(f),role:()=>t.role,resolver:a,buffer:()=>i(y),session:_,sh3:S,fs:l,cwd:()=>_.cwd,busy:R,customMode:q=>i(c).find(W=>W.id===q)??null}));let D=H(!1),C=H(null);const O=new e2;O.register({id:"busy",order:5,visible:()=>!0,component:c2}),O.register({id:"mode",order:10,visible:()=>!0,component:n2}),O.register({id:"focus-lock",order:20,visible:q=>q.mode.id==="sh3",component:s2}),O.register({id:"target-shard",order:30,visible:q=>q.mode.id==="sh3",component:i2});function B(q){if(q.type==="tabs")return q.tabs[q.activeTab]?.viewId??null;if(q.type==="split"){for(const W of q.children){const ie=B(W);if(ie!==null)return ie}return null}return q.viewId??null}function M(){try{const q=Ot(),W=B(q.docked);if(!W)return null;const ie=W.indexOf(":");return ie>=0?W.slice(0,ie):W}catch{return null}}xe(()=>{const q=M(),W=i(f).autoRelocate,ie=i(D);(async()=>{const X=await ZI({modeAutoRelocate:W,focusLocked:ie,focusedShardId:q,currentShardId:"shell"},l);X.kind==="relocate"&&X.path!==void 0&&(_.cwd=X.path),q&&q!=="shell"?E(C,q,!0):q||E(C,null)})()});function V(q){if(q.t==="replay"){xI(s("bash"),q.events);return}if(q.t!=="event")return;const W=q.event,ie=s("bash");switch(W.kind){case"prompt":ie.scrollback.push({kind:"prompt",cwd:W.cwd,line:W.line,ts:W.ts}),ie.locked=!0;break;case"stdout":ie.scrollback.push({kind:"text",stream:"stdout",chunks:[W.data],ts:W.ts});break;case"stderr":ie.scrollback.push({kind:"text",stream:"stderr",chunks:[W.data],ts:W.ts});break;case"exit":(W.signal||W.code!==null&&W.code!==0)&&ie.scrollback.push({kind:"status",text:W.signal?`shell: process exited (${W.signal})`:`shell: process exited (${W.code})`,level:"error",ts:W.ts}),ie.locked=!1;break;case"status":ie.scrollback.push({kind:"status",text:W.text,level:W.level,ts:W.ts});break}}let Z=null,G=null;Sl(()=>{Z=_.onMessage(V),s("bash");const q=n.readLastSeq("bash");q!==void 0&&(_.lastSeq=q),_.connect(),G=Mk({id:x,dispatch:z,getFocusStamp:()=>i(h),getMode:()=>i(f)})}),El(()=>{Z?.(),_.close(),G?.()});var Q=u2(),J=p(Q);{let q=U(()=>({mode:i(f),role:t.role})),W=U(()=>({busy:{active:i(P),label:i(T)},mode:{mode:i(f),modes:i(d),onSelect:g},"focus-lock":{locked:i(D),onToggle:()=>E(D,!i(D))},"target-shard":{target:i(C)}}));$I(J,{get registry(){return O},get ctx(){return i(q)},get slotProps(){return i(W)}})}var ee=w(J,2);{let q=U(()=>i(f).showCwd||!1);jI(ee,{get showPromptCwd(){return i(q)},get scrollback(){return i(y).scrollback}})}var Y=w(ee,2);{let q=U(()=>SI(_.cwd,_.tenantRoot)),W=U(()=>i(f).showCwd!==!1);FI(Y,{get cwd(){return i(q)},get showCwd(){return i(W)},get locked(){return i(y).locked},get history(){return i(y).history},get session(){return _},get onSubmit(){return z},onFocus:b})}v(Q),k(e,Q),ae()}var f2=A('<tr><td class="svelte-m248jy"><button type="button" class="svelte-m248jy"> </button></td><td class="svelte-m248jy"> </td></tr>'),v2=A('<div class="shell-rich-help svelte-m248jy"><table class="svelte-m248jy"><thead><tr><th class="svelte-m248jy">Name</th><th class="svelte-m248jy">Summary</th></tr></thead><tbody></tbody></table></div>');function qh(e,t){se(t,!0);var n=v2(),r=p(n),s=w(p(r));ve(s,21,()=>t.data.rows,a=>a.name,(a,l)=>{var o=f2(),c=p(o),u=p(c),d=p(u,!0);v(u),v(c);var f=w(c),h=p(f,!0);v(f),v(o),N(()=>{j(d,i(l).name),j(h,i(l).summary)}),F("click",u,()=>t.data.onClickName(i(l).name)),k(a,o)}),v(s),v(r),v(n),k(e,n),ae()}ce(["click"]);const Bh="help-table";zn(Bh,qh);function h2(){return{name:"help",summary:"List verbs or show detail for one.",globalVerb:!0,async run(e){const t=e.sh3.getMode().id==="sh3",n=Ul().filter(r=>t||r.globalVerb===!0).map(r=>({name:r.name,summary:r.summary}));e.scrollback.push({kind:"rich",componentKey:Bh,component:qh,props:{data:{rows:n,onClickName:r=>e.dispatch(r)}},ts:Date.now()})}}}const p2={name:"clear",summary:"Clear the scrollback (local only — other views are unaffected).",globalVerb:!0,async run(e){e.scrollback.clear()}},m2={name:"mode",summary:"List or switch shell modes. Usage: mode | mode <id>",globalVerb:!0,async run(e,t){const n=Date.now();if(t.length===0){const l=e.sh3.listModes().map(o=>` ${o.id.padEnd(12)} ${o.label}`);e.scrollback.push({kind:"text",stream:"stdout",chunks:[["Available modes:",...l].join(`
15
+ `)+`
16
+ `],ts:n});return}const r=t[0];e.sh3.setMode(r)||e.scrollback.push({kind:"status",text:`mode: unknown or restricted mode '${r}'`,level:"error",ts:n})}};var b2=A('<li class="svelte-o8m437"><button type="button" class="svelte-o8m437"> </button></li>'),g2=A('<div class="shell-rich-history svelte-o8m437"><ol class="svelte-o8m437"></ol></div>');function Vh(e,t){se(t,!0);var n=g2(),r=p(n);ve(r,21,()=>t.data.lines,ht,(s,a)=>{var l=b2(),o=p(l),c=p(o,!0);v(o),v(l),N(()=>j(c,i(a))),F("click",o,()=>t.data.onClickLine(i(a))),k(s,l)}),v(r),v(n),k(e,n),ae()}ce(["click"]);const Fh="history-list";zn(Fh,Vh);const y2={name:"history",summary:"Show the last N history lines. Default 50.",async run(e,t){const n=t[0]?Math.max(1,parseInt(t[0],10)||50):50,r=e.sh3.getMode().id,a=(e.session.historyByMode[r]??[]).slice(-n);e.scrollback.push({kind:"rich",componentKey:Fh,component:Vh,props:{data:{lines:a,onClickLine:l=>e.dispatch(l)}},ts:Date.now()})}};var _2=A('<tr><td class="svelte-1u5krjz"><button type="button" class="svelte-1u5krjz"> </button></td><td class="svelte-1u5krjz"> </td></tr>'),w2=A('<div class="shell-rich-apps svelte-1u5krjz"><table class="svelte-1u5krjz"><thead><tr><th class="svelte-1u5krjz">ID</th><th class="svelte-1u5krjz">Label</th></tr></thead><tbody></tbody></table></div>');function Uh(e,t){se(t,!0);var n=w2(),r=p(n),s=w(p(r));ve(s,21,()=>t.data.apps,a=>a.id,(a,l)=>{var o=_2(),c=p(o),u=p(c),d=p(u,!0);v(u),v(c);var f=w(c),h=p(f,!0);v(f),v(o),N(()=>{j(d,i(l).id),j(h,i(l).label)}),F("click",u,()=>t.data.onClickApp(i(l).id)),k(a,o)}),v(s),v(r),v(n),k(e,n),ae()}ce(["click"]);var k2=A('<div class="shell-rich-appcard svelte-npcp8i"><h3 class="svelte-npcp8i"> </h3> <p class="svelte-npcp8i"><strong>ID:</strong> </p> <p class="svelte-npcp8i"><strong>Shards:</strong> </p></div>');function Hh(e,t){se(t,!0);var n=k2(),r=p(n),s=p(r,!0);v(r);var a=w(r,2),l=w(p(a));v(a);var o=w(a,2),c=w(p(o));v(o),v(n),N(u=>{j(s,t.data.label),j(l,` ${t.data.id??""}`),j(c,` ${u??""}`)},[()=>t.data.shards.join(", ")]),k(e,n),ae()}const Kh="apps-table",Wh="app-card";zn(Kh,Uh);zn(Wh,Hh);const x2={name:"apps",summary:"List installed apps. Click a row to launch.",programmatic:!0,async run(e){const t=e.sh3.listApps();e.scrollback.push({kind:"rich",componentKey:Kh,component:Uh,props:{data:{apps:t,onClickApp:n=>{e.sh3.launchApp(n),e.scrollback.push({kind:"status",text:`shell: launched app ${n}`,level:"info",ts:Date.now()})}}},ts:Date.now()})}},S2={name:"app",summary:"Show the currently active app.",programmatic:!0,async run(e){const t=e.sh3.getActiveApp();if(!t){e.scrollback.push({kind:"status",text:"shell: no active app",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"rich",componentKey:Wh,component:Hh,props:{data:{id:t.id,label:t.label,shards:[]}},ts:Date.now()})}};var E2=A('<tr><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td><td class="svelte-sc3ux4"> </td></tr>'),I2=A('<div class="shell-rich-shards svelte-sc3ux4"><table class="svelte-sc3ux4"><thead><tr><th class="svelte-sc3ux4">ID</th><th class="svelte-sc3ux4">Label</th><th class="svelte-sc3ux4">Version</th></tr></thead><tbody></tbody></table></div>');function Yh(e,t){se(t,!0);var n=I2(),r=p(n),s=w(p(r));ve(s,21,()=>t.data.shards,a=>a.id,(a,l)=>{var o=E2(),c=p(o),u=p(c,!0);v(c);var d=w(c),f=p(d,!0);v(d);var h=w(d),b=p(h,!0);v(h),v(o),N(()=>{j(u,i(l).id),j(f,i(l).label),j(b,i(l).version)}),k(a,o)}),v(s),v(r),v(n),k(e,n),ae()}const Gh="shards-table";zn(Gh,Yh);const A2={name:"shards",summary:"List active shards.",programmatic:!0,async run(e){const t=e.sh3.listShards();e.scrollback.push({kind:"rich",componentKey:Gh,component:Yh,props:{data:{shards:t}},ts:Date.now()})}};var C2=A('<tr><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"> </td><td class="svelte-15elbr1"><button type="button" class="svelte-15elbr1">Close</button></td></tr>'),T2=A('<div class="shell-rich-views svelte-15elbr1"><table class="svelte-15elbr1"><thead><tr><th class="svelte-15elbr1">Slot ID</th><th class="svelte-15elbr1">View ID</th><th class="svelte-15elbr1">Label</th><th class="svelte-15elbr1">Action</th></tr></thead><tbody></tbody></table></div>');function Xh(e,t){se(t,!0);var n=T2(),r=p(n),s=w(p(r));ve(s,21,()=>t.data.views,a=>a.slotId,(a,l)=>{var o=C2(),c=p(o),u=p(c,!0);v(c);var d=w(c),f=p(d,!0);v(d);var h=w(d),b=p(h,!0);v(h);var x=w(h),y=p(x);v(x),v(o),N(()=>{j(u,i(l).slotId),j(f,i(l).viewId),j(b,i(l).label)}),F("click",y,()=>t.data.onClose(i(l).slotId)),k(a,o)}),v(s),v(r),v(n),k(e,n),ae()}ce(["click"]);const Jh="views-table";zn(Jh,Xh);const R2={name:"views",summary:"List views currently mounted. Pass --standalone to list summonable views instead.",programmatic:!0,async run(e,t){if(t.includes("--standalone")){const r=e.sh3.listStandaloneViews();if(r.length===0){e.scrollback.push({kind:"status",text:"shell: no standalone views are currently available.",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"status",text:r.map(s=>` ${s.viewId.padEnd(32)} ${s.label}`).join(`
17
+ `),level:"info",ts:Date.now()});return}const n=e.sh3.listViewsInCurrentLayout();e.scrollback.push({kind:"rich",componentKey:Jh,component:Xh,props:{data:{views:n,onClose:r=>{const s=e.sh3.closeSlot(r);s.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${s.error??"unknown"}`,level:"error",ts:Date.now()})}}},ts:Date.now()})}},P2={name:"open",summary:"Open a view from any active shard into the current layout.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: open <viewId>",level:"warn",ts:Date.now()});return}const r=e.sh3.openViewInCurrentLayout(n);r.ok?e.scrollback.push({kind:"status",text:`shell: opened ${n}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: open failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},L2={name:"popout",summary:"Pop a docked view out into a float by slot id.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: popout <slotId>",level:"warn",ts:Date.now()});return}const r=e.sh3.popoutSlot(n);r.ok?e.scrollback.push({kind:"status",text:`shell: popped out ${n} → ${r.floatId}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: popout failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},M2={name:"dock",summary:"Dock a float back into the current layout by float id. Run with no args to list floats.",programmatic:!0,async run(e,t){const n=t[0];if(!n){const s=e.sh3.listFloats();if(s.length===0){e.scrollback.push({kind:"status",text:"shell: no active floats.",level:"info",ts:Date.now()});return}e.scrollback.push({kind:"status",text:s.map(a=>` ${a.floatId.padEnd(24)} ${a.viewId??"-"} ${a.label}`).join(`
18
+ `),level:"info",ts:Date.now()});return}const r=e.sh3.dockFloat(n);r.ok?e.scrollback.push({kind:"status",text:`shell: docked ${n}`,level:"info",ts:Date.now()}):e.scrollback.push({kind:"status",text:`shell: dock failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}},z2={name:"close",summary:"Close a view by slot id.",programmatic:!0,async run(e,t){const n=t[0];if(!n){e.scrollback.push({kind:"status",text:"usage: close <slotId>",level:"warn",ts:Date.now()});return}const r=e.sh3.closeSlot(n);r.ok||e.scrollback.push({kind:"status",text:`shell: close failed — ${r.error??"unknown"}`,level:"error",ts:Date.now()})}};var j2=A('<tr><td class="svelte-1w7onag"> </td><td class="svelte-1w7onag"> </td></tr>'),D2=A('<div class="shell-rich-zones svelte-1w7onag"><table class="svelte-1w7onag"><thead><tr><th class="svelte-1w7onag">Shard ID</th><th class="svelte-1w7onag">Zones</th></tr></thead><tbody></tbody></table></div>');function Zh(e,t){se(t,!0);var n=D2(),r=p(n),s=w(p(r));ve(s,21,()=>t.data.rows,a=>a.shardId,(a,l)=>{var o=j2(),c=p(o),u=p(c,!0);v(c);var d=w(c),f=p(d,!0);v(d),v(o),N(h=>{j(u,i(l).shardId),j(f,h)},[()=>i(l).zones.join(", ")]),k(a,o)}),v(s),v(r),v(n),k(e,n),ae()}var O2=A('<div class="shell-rich-zonetree svelte-13iiyr1"><pre class="svelte-13iiyr1"> </pre></div>');function Qh(e,t){se(t,!0);var n=O2(),r=p(n),s=p(r,!0);v(r),v(n),N(a=>j(s,a),[()=>JSON.stringify(t.data.value,null,2)]),k(e,n),ae()}const $h="zones-table",ep="zone-tree";zn($h,Zh);zn(ep,Qh);const N2={name:"zones",summary:"List zones for the current user (optionally scoped to a shard).",programmatic:!0,async run(e,t){const n=e.sh3.listZones(t[0]);e.scrollback.push({kind:"rich",componentKey:$h,component:Zh,props:{data:{rows:n}},ts:Date.now()})}},q2={name:"zone",summary:"Dump the contents of a zone as a collapsible JSON tree.",programmatic:!0,async run(e,t){const[n,r]=t;if(!n||!r){e.scrollback.push({kind:"status",text:"usage: zone <shardId> <zoneName>",level:"warn",ts:Date.now()});return}const s=e.sh3.readZone(n,r);e.scrollback.push({kind:"rich",componentKey:ep,component:Qh,props:{data:{value:s}},ts:Date.now()})}};var B2=A('<tr><td class="svelte-1ox8vog"> </td><td class="svelte-1ox8vog"> </td></tr>'),V2=A('<div class="shell-rich-env svelte-1ox8vog"><table class="svelte-1ox8vog"><thead><tr><th class="svelte-1ox8vog">Key</th><th class="svelte-1ox8vog">Value</th></tr></thead><tbody></tbody></table></div>');function tp(e,t){se(t,!0);var n=V2(),r=p(n),s=w(p(r));ve(s,21,()=>Object.entries(t.data.env),([a,l])=>a,(a,l)=>{var o=U(()=>sd(i(l),2));let c=()=>i(o)[0],u=()=>i(o)[1];var d=B2(),f=p(d),h=p(f,!0);v(f);var b=w(f),x=p(b,!0);v(b),v(d),N(()=>{j(h,c()),j(x,u())}),k(a,d)}),v(s),v(r),v(n),k(e,n),ae()}const np="env-table";zn(np,tp);const F2={name:"env",summary:"Show the session environment.",async run(e){const t=e.session.env;e.scrollback.push({kind:"rich",componentKey:np,component:tp,props:{data:{env:t}},ts:Date.now()})}};async function U2(){try{const{TauriStoreBackend:e}=await ri(async()=>{const{TauriStoreBackend:r}=await import("./tauri-backend-C24Wzcc_.js");return{TauriStoreBackend:r}},__vite__mapDeps([0,1,2])),t=new e("workspace"),n=new e("user");return await Promise.all([t.init(),n.init()]),{backends:{workspace:t,user:n},localOwner:!0}}catch{return{backends:null,localOwner:ed}}}async function H2(){try{const{LazyStore:e}=await ri(async()=>{const{LazyStore:r}=await import("./index-YGsF1N98.js");return{LazyStore:r}},__vite__mapDeps([1,2])),t=new e("workspace.json",{defaults:{},autoSave:!0}),n=new e("user.json",{defaults:{},autoSave:!0});await t.clear(),await n.clear()}catch{}if(typeof localStorage<"u"){const e=[];for(let t=0;t<localStorage.length;t++){const n=localStorage.key(t);n&&n.startsWith("sh3:")&&e.push(n)}for(const t of e)localStorage.removeItem(t)}typeof indexedDB<"u"&&await new Promise(e=>{const t=indexedDB.deleteDatabase("sh3-packages");t.onsuccess=()=>e(),t.onerror=()=>e(),t.onblocked=()=>e()})}const K2={name:"reset",summary:"Wipe SH3 state and reload (preserves documents). Requires --confirm.",async run(e,t){if(!t.includes("--confirm")){e.scrollback.push({kind:"status",text:"reset: erases the package registry, all zone state (including Tauri stores), and theme overrides, then reloads. Documents are preserved. Re-run as `reset --confirm` to proceed.",level:"warn",ts:Date.now()});return}e.scrollback.push({kind:"status",text:"reset: wiping data…",level:"info",ts:Date.now()}),await H2(),location.reload()}};function W2(e){e.registerVerb(h2()),e.registerVerb(p2),e.registerVerb(m2),e.registerVerb(y2),e.registerVerb(x2),e.registerVerb(S2),e.registerVerb(A2),e.registerVerb(R2),e.registerVerb(P2),e.registerVerb(z2),e.registerVerb(L2),e.registerVerb(M2),e.registerVerb(N2),e.registerVerb(q2),e.registerVerb(F2),e.registerVerb(K2)}const rp={manifest:pI,activate(e){W2(e);const t=L0(e.zones),n=e.state({workspace:{buffers:{}}});bI(n),e.actions.register({id:"shell.terminal.toggle",label:"Open Terminal",scope:["home","app"],defaultShortcut:"²",allowInInputs:!1,run(){Ii("shell:terminal")||Te.open("shell:terminal",{title:"Sh3"})}});const r={mount(s,a){const l=typeof location<"u"&&location.protocol==="https:"?"wss":"ws",o=typeof location<"u"?location.host:"localhost",c=`${l}://${o}/api/shell/session`,d=Wr()?.id??"guest",f=wt()?"admin":"user",h=Fe(d2,{target:s,props:{shell:t,wsUrl:c,userId:d,role:f,contributions:e.contributions}});return{unmount(){Qe(h)},closable:!0}}};e.registerView("shell:terminal",r)},autostart(){},deactivate(){gI()}};var Y2=A('<p class="error svelte-1w8uhw5">The source float was closed.</p>'),G2=A('<p class="error svelte-1w8uhw5">No standalone views in this float.</p>'),X2=A('<li class="svelte-1w8uhw5"> <span class="muted svelte-1w8uhw5"> </span></li>'),J2=A('<div class="preview svelte-1w8uhw5"><div class="preview-label svelte-1w8uhw5"> </div> <ul class="preview-list svelte-1w8uhw5"></ul></div>'),Z2=A('<div class="layout-save svelte-1w8uhw5"><h2 class="svelte-1w8uhw5">Save layout as…</h2> <label class="row svelte-1w8uhw5"><span class="svelte-1w8uhw5">Name</span> <input type="text" class="name-input svelte-1w8uhw5" placeholder="Layout name"/></label> <!> <div class="actions svelte-1w8uhw5"><button type="button" class="primary svelte-1w8uhw5">Save</button> <button type="button" class="svelte-1w8uhw5">Cancel</button></div></div>');function Q2(e,t){se(t,!0);const n=we(()=>Te.list().find(R=>R.id===t.floatId)?.content??null),r=U(()=>n?Oi(n,t.isStandalone):null),s=U(()=>i(r)?u(i(r)):[]),a=U(()=>n===null),l=U(()=>!i(a)&&i(r)===null);let o=H(le(we(()=>t.defaultName)));const c=U(()=>i(o).trim()===""||i(a)||i(l));function u(R){if(R.type==="slot")return R.viewId?[R.viewId]:[];if(R.type==="tabs"){const P=[];for(const T of R.tabs)T.viewId&&P.push(T.viewId);return P}return R.children.flatMap(u)}function d(){i(c)||(t.onConfirm(i(o).trim()),t.close())}var f=Z2(),h=w(p(f),2),b=w(p(h),2);ye(b),v(h);var x=w(h,2);{var y=R=>{var P=Y2();k(R,P)},g=R=>{var P=G2();k(R,P)},S=R=>{var P=J2(),T=p(P),z=p(T);v(T);var L=w(T,2);ve(L,21,()=>i(s),ht,(D,C)=>{var O=X2(),B=p(O),M=w(B),V=p(M);v(M),v(O),N(Z=>{j(B,`${Z??""} `),j(V,`(${i(C)??""})`)},[()=>t.resolveLabel(i(C))]),k(D,O)}),v(L),v(P),N(()=>j(z,`Captured views (${i(s).length??""}):`)),k(R,P)};K(x,R=>{i(a)?R(y):i(l)?R(g,1):R(S,-1)})}var _=w(x,2),m=p(_),I=w(m,2);v(_),v(f),N(()=>m.disabled=i(c)),Ie(b,()=>i(o),R=>E(o,R)),F("click",m,d),F("click",I,()=>t.close()),k(e,f),ae()}ce(["click"]);function $2(){const e=sa();return!e||e.type!=="float-header"?null:e.ref}function pc(e){return Ns().some(t=>t.viewId===e)}function eA(e){return Ns().find(t=>t.viewId===e)?.label??e}function tA(){return`sl-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}function nA(e,t){const n=p3(e,pc);if(n===null)return null;const r={id:tA(),name:t,createdAt:Date.now(),size:n.size,content:n.content};return f3(r),r}function sp(){const e=sa();return!e||e.type!=="saved-layout"?null:e.ref}function rA(e,t){const n=t.icon===void 0&&t.color===void 0?void 0:{icon:t.icon,color:t.color};xh(e,{name:t.label,appearance:n})}function sA(e){xh(e,{appearance:void 0})}function aA(e){const t=sp();if(!t)return;const n=fr().find(s=>s.id===t.layoutId);if(!n)return;const r={entityLabel:n.name,initialAppearance:n.appearance,defaultIcon:"eye",requireLabel:!0,onSave:s=>rA(t.layoutId,s),onReset:()=>sA(t.layoutId)};Zt.open(Ih,r)}function iA(e){v3(e)}function oA(e){const t=sp();if(!t)return;const n=fr().find(r=>r.id===t.layoutId);n&&Zt.open(Th,{title:`Delete saved layout "${n.name}"?`,body:"This cannot be undone.",confirmLabel:"Delete",confirmTone:"danger",onConfirm:()=>iA(t.layoutId)})}function lA(e){const t=$2();if(!t)return;const n={floatId:t.floatId,isStandalone:pc,resolveLabel:eA,defaultName:`Layout ${fr().length+1}`,onConfirm:r=>{nA(t.floatId,r)}};Zt.open(Q2,n)}const ap={manifest:{id:"__layouts__",label:"Saved Layouts",version:dn,views:[]},activate(e){const t=e.state({user:{layouts:[]}});u3(t);const n=(l,o)=>{gn.notify(l,{level:o})},r={id:"sh3.layout.save",label:"Save layout as…",scope:{element:"float-header"},contextItem:!0,paletteItem:!1,run:lA};e.actions.register(r),e.actions.register({id:"sh3.layout.open",label:"Open saved layout",scope:["home","app"],submenu:!0,paletteItem:!0}),e.actions.register({id:"sh3.layout.customize",label:"Customize…",scope:{element:"saved-layout"},contextItem:!0,group:"appearance",run:aA}),e.actions.register({id:"sh3.layout.delete",label:"Delete",scope:{element:"saved-layout"},contextItem:!0,run:oA});const s=new Map,a=new Map;$r(()=>{xe(()=>{const l=fr(),o=new Set;for(const c of l){o.add(c.id);const u=s.get(c.id);if(u&&a.get(c.id)===c.name)continue;u&&(u(),s.delete(c.id),a.delete(c.id));const d=e.actions.register({id:`sh3.layout.open:${c.id}`,label:c.name,scope:["home","app"],submenuOf:"sh3.layout.open",run:()=>{const f=fr().find(h=>h.id===c.id);f&&Eh(f,pc,n)}});s.set(c.id,d),a.set(c.id,c.name)}for(const c of[...s.keys()])o.has(c)||(s.get(c)(),s.delete(c),a.delete(c))})})},autostart(){},deactivate(){d3()}},ip={manifest:{id:"sh3-store-app",label:"Package Store",version:dn,requiredShards:["sh3-store"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"store.browse",viewId:"sh3-store:browse",label:"Browse"}]}};var cA=A('<div class="admin-error svelte-4q792t"> </div>'),uA=A('<form class="admin-create-form svelte-4q792t"><input class="admin-input svelte-4q792t" type="text" placeholder="Username"/> <input class="admin-input svelte-4q792t" type="text" placeholder="Display name"/> <input class="admin-input svelte-4q792t" type="password" placeholder="Password"/> <select class="admin-input svelte-4q792t"><option>User</option><option>Admin</option></select> <button type="submit" class="admin-btn svelte-4q792t">Create</button> <!></form>'),dA=A('<p class="admin-muted svelte-4q792t">Loading...</p>'),fA=A('<p class="admin-error svelte-4q792t"> </p>'),vA=A('<form class="admin-edit-form svelte-4q792t"><input class="admin-input svelte-4q792t" type="text"/> <input class="admin-input svelte-4q792t" type="password" placeholder="New password (leave empty to keep)"/> <select class="admin-input svelte-4q792t"><option>User</option><option>Admin</option></select> <div class="admin-edit-actions svelte-4q792t"><button type="submit" class="admin-btn svelte-4q792t">Save</button> <button type="button" class="admin-btn-secondary svelte-4q792t">Cancel</button></div></form>'),hA=A('<div class="admin-user-info svelte-4q792t"><span class="admin-user-name svelte-4q792t"> </span> <span class="admin-user-meta svelte-4q792t"> </span></div> <div class="admin-user-actions svelte-4q792t"><button type="button" class="admin-btn-secondary svelte-4q792t">Edit</button> <button type="button" class="admin-btn-danger svelte-4q792t">Delete</button></div>',1),pA=A('<li class="admin-user-item svelte-4q792t"><!></li>'),mA=A('<ul class="admin-user-list svelte-4q792t"></ul>'),bA=A('<div class="admin-users svelte-4q792t"><div class="admin-users-header svelte-4q792t"><h2 class="svelte-4q792t">Users</h2> <button type="button" class="admin-btn svelte-4q792t"> </button></div> <!> <!></div>');function gA(e,t){se(t,!0);let n=H(le([])),r=H(!0),s=H(null),a=H(!1),l=H(""),o=H(""),c=H(""),u=H("user"),d=H(null),f=H(null),h=H(""),b=H("user"),x=H("");async function y(){E(r,!0),E(s,null);try{const M=await fetch("/api/admin/users",{credentials:"include"});if(!M.ok)throw new Error("Failed to fetch users");E(n,await M.json(),!0)}catch(M){E(s,M instanceof Error?M.message:"Failed to load users",!0)}finally{E(r,!1)}}async function g(){E(d,null);try{const M=await fetch("/api/admin/users",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({username:i(l),displayName:i(o)||i(l),password:i(c),role:i(u)})});if(!M.ok){const V=await M.json().catch(()=>({}));E(d,V.error||"Failed to create user",!0);return}E(l,""),E(o,""),E(c,""),E(u,"user"),E(a,!1),await y()}catch{E(d,"Network error")}}function S(M){E(f,M.id,!0),E(h,M.displayName,!0),E(b,M.role,!0),E(x,"")}async function _(){if(!i(f))return;const M={displayName:i(h),role:i(b)};i(x).trim()&&(M.password=i(x));try{if(!(await fetch(`/api/admin/users/${i(f)}`,{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(M)})).ok)return;E(f,null),await y()}catch{}}async function m(M){try{await fetch(`/api/admin/users/${M}`,{method:"DELETE",credentials:"include"}),await y()}catch{}}y();var I=bA(),R=p(I),P=w(p(R),2),T=p(P,!0);v(P),v(R);var z=w(R,2);{var L=M=>{var V=uA(),Z=p(V);ye(Z);var G=w(Z,2);ye(G);var Q=w(G,2);ye(Q);var J=w(Q,2),ee=p(J);ee.value=ee.__value="user";var Y=w(ee);Y.value=Y.__value="admin",v(J);var q=w(J,2),W=w(q,2);{var ie=X=>{var fe=cA(),me=p(fe,!0);v(fe),N(()=>j(me,i(d))),k(X,fe)};K(W,X=>{i(d)&&X(ie)})}v(V),N(X=>q.disabled=X,[()=>!i(l).trim()||!i(c).trim()]),ze("submit",V,X=>{X.preventDefault(),g()}),Ie(Z,()=>i(l),X=>E(l,X)),Ie(G,()=>i(o),X=>E(o,X)),Ie(Q,()=>i(c),X=>E(c,X)),Cs(J,()=>i(u),X=>E(u,X)),k(M,V)};K(z,M=>{i(a)&&M(L)})}var D=w(z,2);{var C=M=>{var V=dA();k(M,V)},O=M=>{var V=fA(),Z=p(V,!0);v(V),N(()=>j(Z,i(s))),k(M,V)},B=M=>{var V=mA();ve(V,21,()=>i(n),Z=>Z.id,(Z,G)=>{var Q=pA(),J=p(Q);{var ee=q=>{var W=vA(),ie=p(W);ye(ie);var X=w(ie,2);ye(X);var fe=w(X,2),me=p(fe);me.value=me.__value="user";var je=w(me);je.value=je.__value="admin",v(fe);var Se=w(fe,2),tt=w(p(Se),2);v(Se),v(W),ze("submit",W,st=>{st.preventDefault(),_()}),Ie(ie,()=>i(h),st=>E(h,st)),Ie(X,()=>i(x),st=>E(x,st)),Cs(fe,()=>i(b),st=>E(b,st)),F("click",tt,()=>{E(f,null)}),k(q,W)},Y=q=>{var W=hA(),ie=ue(W),X=p(ie),fe=p(X,!0);v(X);var me=w(X,2),je=p(me);v(me),v(ie);var Se=w(ie,2),tt=p(Se),st=w(tt,2);v(Se),N(()=>{j(fe,i(G).displayName),j(je,`${i(G).username??""} · ${i(G).role??""}`)}),F("click",tt,()=>S(i(G))),F("click",st,()=>m(i(G).id)),k(q,W)};K(J,q=>{i(f)===i(G).id?q(ee):q(Y,-1)})}v(Q),k(Z,Q)}),v(V),k(M,V)};K(D,M=>{i(r)?M(C):i(s)?M(O,1):M(B,-1)})}v(I),N(()=>j(T,i(a)?"Cancel":"New user")),F("click",P,()=>{E(a,!i(a))}),k(e,I),ae()}ce(["click"]);var yA=A('<p class="admin-muted svelte-1hsgdb4">Loading...</p>'),_A=A('<div class="admin-error svelte-1hsgdb4"> </div>'),wA=A('<div class="admin-auth-fields svelte-1hsgdb4"><label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Require sign-in</span> <span class="admin-hint svelte-1hsgdb4">When enabled, unauthenticated visitors see a sign-in wall.</span></label> <label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Allow guest browsing</span> <span class="admin-hint svelte-1hsgdb4">When sign-in is required, guests can still browse with session-only data.</span></label> <label class="admin-toggle svelte-1hsgdb4"><input type="checkbox" class="svelte-1hsgdb4"/> <span>Self-registration</span> <span class="admin-hint svelte-1hsgdb4">Visitors can create their own accounts from the sign-in screen.</span></label> <label class="admin-field svelte-1hsgdb4"><span class="svelte-1hsgdb4">Session lifetime (hours)</span> <input type="number" class="admin-input admin-input-sm svelte-1hsgdb4" min="1" max="8760"/></label> <button type="button" class="admin-btn svelte-1hsgdb4"> </button></div> <!>',1),kA=A('<div class="admin-auth svelte-1hsgdb4"><h2 class="svelte-1hsgdb4">Auth Settings</h2> <!></div>');function xA(e,t){se(t,!0);let n=H(null),r=H(!0),s=H(!1),a=H(null);async function l(){E(r,!0);try{const h=await fetch("/api/admin/settings",{credentials:"include"});if(!h.ok)throw new Error("Failed to fetch settings");E(n,await h.json(),!0)}catch(h){E(a,h instanceof Error?h.message:"Failed to load settings",!0)}finally{E(r,!1)}}async function o(){if(i(n)){E(s,!0),E(a,null);try{const h=await fetch("/api/admin/settings",{method:"PUT",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify(i(n))});if(!h.ok)throw new Error("Failed to save settings");E(n,await h.json(),!0)}catch(h){E(a,h instanceof Error?h.message:"Failed to save",!0)}finally{E(s,!1)}}}l();var c=kA(),u=w(p(c),2);{var d=h=>{var b=yA();k(h,b)},f=h=>{var b=wA(),x=ue(b),y=p(x),g=p(y);ye(g),Pt(4),v(y);var S=w(y,2),_=p(S);ye(_),Pt(4),v(S);var m=w(S,2),I=p(m);ye(I),Pt(4),v(m);var R=w(m,2),P=w(p(R),2);ye(P),v(R);var T=w(R,2),z=p(T,!0);v(T),v(x);var L=w(x,2);{var D=C=>{var O=_A(),B=p(O,!0);v(O),N(()=>j(B,i(a))),k(C,O)};K(L,C=>{i(a)&&C(D)})}N(()=>{T.disabled=i(s),j(z,i(s)?"Saving...":"Save")}),ws(g,()=>i(n).auth.required,C=>i(n).auth.required=C),ws(_,()=>i(n).auth.guestAllowed,C=>i(n).auth.guestAllowed=C),ws(I,()=>i(n).auth.selfRegistration,C=>i(n).auth.selfRegistration=C),Ie(P,()=>i(n).auth.sessionTTL,C=>i(n).auth.sessionTTL=C),F("click",T,o),k(h,b)};K(u,h=>{i(r)?h(d):i(n)&&h(f,1)})}v(c),k(e,c),ae()}ce(["click"]);var SA=A('<button type="button"> </button>'),EA=A('<div class="admin-error svelte-1gkiloq"> </div>'),IA=A('<div class="admin-error svelte-1gkiloq"> </div>'),AA=A(`<div class="admin-system svelte-1gkiloq"><h2 class="svelte-1gkiloq">System</h2> <div class="admin-system-info svelte-1gkiloq"><div class="admin-system-row svelte-1gkiloq"><span class="admin-system-label svelte-1gkiloq">Server version</span> <span> </span></div></div> <section class="admin-system-section svelte-1gkiloq"><h3 class="svelte-1gkiloq">Package bundle cache</h3> <p class="admin-system-hint svelte-1gkiloq">Controls the <code>Cache-Control</code> header on <code>/packages/:id/client.js</code>.
19
+ Set to <strong>0</strong> during development so drop-in bundle replacements take effect on F5.
20
+ Use a long value in production.</p> <input type="range" min="0" max="31536000" step="1" class="svelte-1gkiloq"/> <div class="admin-system-readout svelte-1gkiloq"><code> </code> </div> <div class="admin-system-snaps svelte-1gkiloq"></div> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn svelte-1gkiloq"> </button> <button type="button" class="admin-btn-ghost svelte-1gkiloq">Reset</button> <!></div></section> <section class="admin-system-section svelte-1gkiloq"><h3 class="svelte-1gkiloq">Server control</h3> <div class="admin-system-actions svelte-1gkiloq"><button type="button" class="admin-btn-danger svelte-1gkiloq"> </button> <!></div></section></div>`);function CA(e,t){se(t,!0);const n=[{value:0,label:"Off (no-store)"},{value:5,label:"5s (dev)"},{value:60,label:"1 min"},{value:3600,label:"1 hour"},{value:86400,label:"1 day"},{value:31536e3,label:"1 year"}];let r=H("..."),s=H(!1),a=H(null),l=H(31536e3),o=H(31536e3),c=H(!1),u=H(null);const d=U(()=>i(l)!==i(o)),f=U(()=>h(i(l)));function h(X){return X===0?"0 seconds (off — browsers never cache)":X<60?`${X} seconds`:X<3600?`${Math.round(X/60)} minutes`:X<86400?`${Math.round(X/3600)} hours`:X<31536e3?`${Math.round(X/86400)} days`:`${Math.round(X/31536e3)} years`}async function b(){try{const X=await fetch("/api/version");if(X.ok){const fe=await X.json();E(r,fe.version,!0)}}catch{}}async function x(){try{const X=await fetch("/api/admin/settings",{credentials:"include"});if(X.ok){const me=(await X.json()).packages?.cacheMaxAge??31536e3;E(l,me,!0),E(o,me,!0)}}catch{}}async function y(){E(c,!0),E(u,null);try{const X=await fetch("/api/admin/settings",{method:"PUT",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({packages:{cacheMaxAge:i(l)}})});if(X.ok){const fe=await X.json();E(o,fe.packages?.cacheMaxAge??i(l),!0),E(l,i(o),!0)}else{const fe=await X.json().catch(()=>({}));E(u,fe.error||"Save failed",!0)}}catch{E(u,"Network error")}finally{E(c,!1)}}async function g(){E(s,!0),E(a,null);try{const X=await fetch("/api/admin/restart",{method:"POST",credentials:"include"});if(!X.ok){const fe=await X.json().catch(()=>({}));E(a,fe.error||"Restart failed",!0),E(s,!1)}}catch{E(a,"Network error"),E(s,!1)}}b(),x();var S=AA(),_=w(p(S),2),m=p(_),I=w(p(m),2),R=p(I,!0);v(I),v(m),v(_);var P=w(_,2),T=w(p(P),4);ye(T);var z=w(T,2),L=p(z),D=p(L,!0);v(L);var C=w(L);v(z);var O=w(z,2);ve(O,21,()=>n,X=>X.value,(X,fe)=>{var me=SA();let je;var Se=p(me,!0);v(me),N(()=>{je=de(me,1,"admin-snap svelte-1gkiloq",null,je,{active:i(l)===i(fe).value}),me.disabled=i(c),j(Se,i(fe).label)}),F("click",me,()=>E(l,i(fe).value,!0)),k(X,me)}),v(O);var B=w(O,2),M=p(B),V=p(M,!0);v(M);var Z=w(M,2),G=w(Z,2);{var Q=X=>{var fe=EA(),me=p(fe,!0);v(fe),N(()=>j(me,i(u))),k(X,fe)};K(G,X=>{i(u)&&X(Q)})}v(B),v(P);var J=w(P,2),ee=w(p(J),2),Y=p(ee),q=p(Y,!0);v(Y);var W=w(Y,2);{var ie=X=>{var fe=IA(),me=p(fe,!0);v(fe),N(()=>j(me,i(a))),k(X,fe)};K(W,X=>{i(a)&&X(ie)})}v(ee),v(J),v(S),N(()=>{j(R,i(r)),T.disabled=i(c),j(D,i(l)),j(C,` — ${i(f)??""}`),M.disabled=!i(d)||i(c),j(V,i(c)?"Saving...":"Save"),Z.disabled=!i(d)||i(c),Y.disabled=i(s),j(q,i(s)?"Restarting...":"Restart server")}),Ie(T,()=>i(l),X=>E(l,X)),F("click",M,y),F("click",Z,()=>E(l,i(o),!0)),F("click",Y,g),k(e,S),ae()}ce(["click"]);var TA=A(`<div class="admin-key-created"><div class="admin-key-created-label">New key — copy now, it won't be shown again:</div> <code class="admin-key-value svelte-1afg5z5"> </code> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Dismiss</button></div>`),RA=A('<div class="admin-error svelte-1afg5z5"> </div>'),PA=A('<form class="admin-create-form svelte-1afg5z5"><input class="admin-input svelte-1afg5z5" type="text" placeholder="Key label"/> <button type="submit" class="admin-btn svelte-1afg5z5">Create</button> <!></form>'),LA=A('<p class="admin-muted svelte-1afg5z5">Loading...</p>'),MA=A('<p class="admin-error svelte-1afg5z5"> </p>'),zA=A('<p class="admin-muted svelte-1afg5z5">No API keys. Create one to enable external access.</p>'),jA=A('<button type="button" class="admin-btn-danger svelte-1afg5z5">Confirm</button> <button type="button" class="admin-btn-secondary svelte-1afg5z5">Cancel</button>',1),DA=A('<button type="button" class="admin-btn-danger svelte-1afg5z5">Revoke</button>'),OA=A('<li class="admin-key-item svelte-1afg5z5"><div class="admin-key-info svelte-1afg5z5"><span class="admin-key-label svelte-1afg5z5"> </span> <span class="admin-key-meta svelte-1afg5z5"> </span></div> <div class="admin-key-actions svelte-1afg5z5"><!></div></li>'),NA=A('<ul class="admin-key-list svelte-1afg5z5"></ul>'),qA=A('<div class="admin-keys svelte-1afg5z5"><div class="admin-keys-header svelte-1afg5z5"><h2 class="svelte-1afg5z5">API Keys</h2> <button type="button" class="admin-btn svelte-1afg5z5"> </button></div> <!> <!> <!></div>');function BA(e,t){se(t,!0);let n=H(le([])),r=H(!0),s=H(null),a=H(!1),l=H(""),o=H(null),c=H(null),u=H(null);async function d(){E(r,!0),E(s,null);try{const C=await fetch("/api/admin/keys",{credentials:"include"});if(!C.ok)throw new Error("Failed to fetch keys");E(n,await C.json(),!0)}catch(C){E(s,C instanceof Error?C.message:"Failed to load keys",!0)}finally{E(r,!1)}}async function f(){E(o,null);try{const C=await fetch("/api/admin/keys",{method:"POST",headers:{"Content-Type":"application/json"},credentials:"include",body:JSON.stringify({label:i(l)})});if(!C.ok){const B=await C.json().catch(()=>({}));E(o,B.error||"Failed to create key",!0);return}const O=await C.json();E(c,{id:O.id,key:O.key},!0),E(l,""),E(a,!1),await d()}catch{E(o,"Network error")}}async function h(C){E(u,null);try{await fetch(`/api/admin/keys/${C}`,{method:"DELETE",credentials:"include"}),i(c)?.id===C&&E(c,null),await d()}catch{}}function b(C){return new Date(C).toLocaleDateString(void 0,{year:"numeric",month:"short",day:"numeric"})}d();var x=qA(),y=p(x),g=w(p(y),2),S=p(g,!0);v(g),v(y);var _=w(y,2);{var m=C=>{var O=TA(),B=w(p(O),2),M=p(B,!0);v(B);var V=w(B,2);v(O),N(()=>j(M,i(c).key)),F("click",V,()=>{E(c,null)}),k(C,O)};K(_,C=>{i(c)&&C(m)})}var I=w(_,2);{var R=C=>{var O=PA(),B=p(O);ye(B);var M=w(B,2),V=w(M,2);{var Z=G=>{var Q=RA(),J=p(Q,!0);v(Q),N(()=>j(J,i(o))),k(G,Q)};K(V,G=>{i(o)&&G(Z)})}v(O),N(G=>M.disabled=G,[()=>!i(l).trim()]),ze("submit",O,G=>{G.preventDefault(),f()}),Ie(B,()=>i(l),G=>E(l,G)),k(C,O)};K(I,C=>{i(a)&&C(R)})}var P=w(I,2);{var T=C=>{var O=LA();k(C,O)},z=C=>{var O=MA(),B=p(O,!0);v(O),N(()=>j(B,i(s))),k(C,O)},L=C=>{var O=zA();k(C,O)},D=C=>{var O=NA();ve(O,21,()=>i(n),B=>B.id,(B,M)=>{var V=OA(),Z=p(V),G=p(Z),Q=p(G,!0);v(G);var J=w(G,2),ee=p(J);v(J),v(Z);var Y=w(Z,2),q=p(Y);{var W=X=>{var fe=jA(),me=ue(fe),je=w(me,2);F("click",me,()=>h(i(M).id)),F("click",je,()=>{E(u,null)}),k(X,fe)},ie=X=>{var fe=DA();F("click",fe,()=>{E(u,i(M).id,!0)}),k(X,fe)};K(q,X=>{i(u)===i(M).id?X(W):X(ie,-1)})}v(Y),v(V),N(X=>{j(Q,i(M).label),j(ee,`${i(M).id??""} · ${X??""}`)},[()=>b(i(M).createdAt)]),k(B,V)}),v(O),k(C,O)};K(P,C=>{i(r)?C(T):i(s)?C(z,1):i(n).length===0?C(L,2):C(D,-1)})}v(x),N(()=>j(S,i(a)?"Cancel":"New key")),F("click",g,()=>{E(a,!i(a))}),k(e,x),ae()}ce(["click"]);const op={manifest:{id:"sh3-admin",label:"Admin",version:dn,views:[{id:"sh3-admin:users",label:"Users"},{id:"sh3-admin:auth",label:"Auth Settings"},{id:"sh3-admin:system",label:"System"},{id:"sh3-admin:keys",label:"API Keys"}]},activate(e){const t={mount(a,l){const o=Fe(gA,{target:a});return{unmount(){Qe(o)}}}},n={mount(a,l){const o=Fe(xA,{target:a});return{unmount(){Qe(o)}}}},r={mount(a,l){const o=Fe(CA,{target:a});return{unmount(){Qe(o)}}}},s={mount(a,l){const o=Fe(BA,{target:a});return{unmount(){Qe(o)}}}};e.registerView("sh3-admin:users",t),e.registerView("sh3-admin:auth",n),e.registerView("sh3-admin:system",r),e.registerView("sh3-admin:keys",s)}},lp={manifest:{id:"sh3-admin-app",label:"Admin",version:dn,requiredShards:["sh3-admin"],layoutVersion:1,admin:!0},initialLayout:{type:"tabs",activeTab:0,tabs:[{slotId:"admin.users",viewId:"sh3-admin:users",label:"Users"},{slotId:"admin.auth",viewId:"sh3-admin:auth",label:"Auth"},{slotId:"admin.system",viewId:"sh3-admin:system",label:"System"},{slotId:"admin.keys",viewId:"sh3-admin:keys",label:"Keys"}]}},Mu="sh3:migrations:shell-rename:done",zu="__shell__:",VA="__sh3core__:",ju="sh3:user:__shell__:theme",Du="sh3:user:__sh3core__:theme";function FA(e,t){if(t.getItem(Mu))return;const n=t.getItem(ju);n!==null&&t.getItem(Du)===null&&(t.setItem(Du,n),t.removeItem(ju));for(const r of e.keys()){if(!r.startsWith(zu))continue;const s=VA+r.slice(zu.length),a=e.read(r);e.write(s,a),e.delete(r)}t.setItem(Mu,"1")}const Ou="sh3:migrations:mode-id-rename:done",UA="sh3.shell.lastMode.",Nu={dev:"bash",user:"sh3"};function HA(e){if(typeof e._keys=="function")return e._keys();const t=e;if(typeof t.length=="number"&&typeof t.key=="function"){const n=[];for(let r=0;r<t.length;r++){const s=t.key(r);s!==null&&n.push(s)}return n}return[]}function KA(e){if(!e.getItem(Ou)){for(const t of HA(e)){if(!t.startsWith(UA))continue;const n=e.getItem(t);n&&Object.prototype.hasOwnProperty.call(Nu,n)&&e.setItem(t,Nu[n])}e.setItem(Ou,"1")}}let qu=!1,Bu=null;function WA(){qu||(qu=!0,Bu=e=>{const t=e.state?.sh3;t==="anchor"?(j_(),history.forward()):t==="forward-bumper"&&(D_(),history.back())},window.addEventListener("popstate",Bu),history.replaceState({sh3:"anchor"},""),history.pushState({sh3:"main"},""),history.pushState({sh3:"forward-bumper"},""),history.back())}function Vu(e){Pi(e)}function YA(){const e=un.workspace;return{keys:()=>e.list(),read:t=>e.read(t),write:(t,n)=>e.write(t,n),delete:t=>e.delete(t)}}async function GA(e){if(typeof globalThis.localStorage<"u"){FA(YA(),globalThis.localStorage),KA(globalThis.localStorage);const{migrateLegacyWorkspaceKeys:a}=await ri(async()=>{const{migrateLegacyWorkspaceKeys:l}=await import("./workspace-rekey-DRgvbNY-.js");return{migrateLegacyWorkspaceKeys:l}},[]);a(Mv())}const t=new Set(e?.excludeShards),n=[Dh,rp,jh,op,kh,Ch,ap];for(const a of n)t.has(a.manifest.id)||Pi(a);const r=[ip,lp];for(const a of r)Ps(a);await Mh();for(const[a,l]of Jt)if(l.autostart){xv(a);try{await Za(a,{phase:"autostart"})}catch{}}const s=Wk();if(s&&Bn.has(s))try{await Pn(s)}catch(a){console.error(`[sh3] Auto-launch of "${s}" failed:`,a),Yk()}M_({returnToHome:ia,launchApp:Pn}),typeof window<"u"&&typeof history<"u"&&WA()}async function XA(e){const t=[Dh,rp,jh,op,kh,Ch,ap];for(const s of t)Pi(s);const n=[ip,lp];for(const s of n)Ps(s);await Mh();const r=new Set;for(const[s,a]of Jt)if(a.autostart){xv(s);try{await Za(s,{phase:"autostart"}),r.add(s)}catch{}}for(const s of e.activateShardIds)if(!r.has(s))if(Jt.has(s))try{await Za(s,{phase:"satellite"})}catch(a){console.error(`[sh3] satellite activation of "${s}" failed:`,a)}else console.warn(`[sh3] satellite requested shard "${s}" but it is not registered`)}var JA=A('<button type="button" aria-label="Expand pane"><span class="collapse-icon"> </span></button>'),ZA=A('<button type="button" aria-label="Collapse pane"><span class="collapse-icon"> </span></button>'),QA=A('<!> <div class="pane-content svelte-1adl4o1"><!></div>',1),$A=A('<div role="separator"></div>'),eC=A("<div><!></div> <!>",1),tC=A("<div></div>");function nC(e,t){se(t,!0);const n=40,r=28;let s;const a=S=>t.pinned?.[S]??"fr",l=S=>t.collapsed?.[S]??!1,o=S=>t.fixed?.[S]??!1,c=S=>o(S)||o(S+1);function u(S){if(o(S))return!1;const _=S>0?!o(S-1):!1,m=S<t.count-1?!o(S+1):!1;return _||m}function d(S){return l(S)?`0 0 ${r}px`:a(S)==="px"?`0 0 ${Math.max(n,t.sizes[S])}px`:`${Math.max(1e-4,t.sizes[S])} 1 0`}let f=H(null);function h(S,_){if(l(_)||l(_+1)||c(_))return;S.preventDefault(),S.target.setPointerCapture(S.pointerId);const m=s.getBoundingClientRect(),I=t.direction==="horizontal"?m.width:m.height;let R=0,P=0;for(let T=0;T<t.sizes.length;T++)a(T)==="fr"?R+=t.sizes[T]:P+=Math.max(n,t.sizes[T]);E(f,{handleIndex:_,startClient:t.direction==="horizontal"?S.clientX:S.clientY,startSizes:t.sizes.slice(),containerPx:I,totalFr:R,frAvailPx:Math.max(1,I-P)},!0)}function b(S){if(!i(f))return;const m=(t.direction==="horizontal"?S.clientX:S.clientY)-i(f).startClient,I=i(f).handleIndex,R=I+1,P=a(I),T=a(R),z=i(f).totalFr/i(f).frAvailPx;if(P==="fr"&&T==="fr"){const L=n*z,D=m*z,C=i(f).startSizes[R]-L,O=-(i(f).startSizes[I]-L),B=Math.min(Math.max(D,O),C);t.onResize?.(I,i(f).startSizes[I]+B),t.onResize?.(R,i(f).startSizes[R]-B)}else if(P==="px"&&T==="fr"){const L=i(f).frAvailPx-n,D=n-i(f).startSizes[I];t.onResize?.(I,i(f).startSizes[I]+Math.min(Math.max(m,D),L))}else if(P==="fr"&&T==="px"){const L=i(f).startSizes[R]-n,D=-(i(f).frAvailPx-n);t.onResize?.(R,i(f).startSizes[R]-Math.min(Math.max(m,D),L))}else{const L=i(f).startSizes[R]-n,D=-(i(f).startSizes[I]-n),C=Math.min(Math.max(m,D),L);t.onResize?.(I,i(f).startSizes[I]+C),t.onResize?.(R,i(f).startSizes[R]-C)}}function x(S){i(f)&&(S.target.releasePointerCapture(S.pointerId),E(f,null))}var y=tC();let g;ve(y,21,()=>Array(t.count),ht,(S,_,m)=>{var I=eC(),R=ue(I);let P;var T=p(R);{var z=B=>{var M=JA();let V;var Z=p(M),G=p(Z,!0);v(Z),v(M),N(()=>{V=de(M,1,"collapse-header svelte-1adl4o1",null,V,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),j(G,t.direction==="horizontal"?"▸":"▾")}),F("click",M,()=>t.onCollapseToggle?.(m,!1)),k(B,M)},L=U(()=>l(m)),D=B=>{var M=QA(),V=ue(M);{var Z=ee=>{var Y=ZA();let q;ne(Y,"data-testid",`collapse-toggle-${m}`);var W=p(Y),ie=p(W,!0);v(W),v(Y),N(()=>{q=de(Y,1,"collapse-header expanded svelte-1adl4o1",null,q,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"}),j(ie,t.direction==="horizontal"?"◂":"▴")}),F("click",Y,()=>t.onCollapseToggle?.(m,!0)),k(ee,Y)},G=U(()=>t.onCollapseToggle&&u(m));K(V,ee=>{i(G)&&ee(Z)})}var Q=w(V,2),J=p(Q);Gt(J,()=>t.pane,()=>m),v(Q),k(B,M)};K(T,B=>{i(L)?B(z):B(D,-1)})}v(R);var C=w(R,2);{var O=B=>{var M=$A();let V;ne(M,"data-testid",`splitter-handle-${m}`),N(Z=>{V=de(M,1,"splitter-handle svelte-1adl4o1",null,V,Z),ne(M,"aria-orientation",t.direction==="horizontal"?"vertical":"horizontal")},[()=>({dragging:i(f)?.handleIndex===m,disabled:l(m)||l(m+1),frozen:c(m)})]),F("pointerdown",M,Z=>h(Z,m)),F("pointermove",M,b),F("pointerup",M,x),ze("pointercancel",M,x),F("dblclick",M,()=>{c(m)||!u(m)&&!l(m)||t.onCollapseToggle?.(m,!l(m))}),k(B,M)};K(C,B=>{m<t.count-1&&B(O)})}N((B,M)=>{P=de(R,1,"splitter-pane svelte-1adl4o1",null,P,B),Ge(R,`flex: ${M??""};`)},[()=>({collapsed:l(m)}),()=>d(m)]),k(S,I)}),v(y),qe(y,S=>s=S,()=>s),N(()=>g=de(y,1,"splitter svelte-1adl4o1",null,g,{horizontal:t.direction==="horizontal",vertical:t.direction==="vertical"})),k(e,y),ae()}ce(["click","pointerdown","pointermove","pointerup","dblclick"]);function rC(e,t,n){if(!n)return null;const r=n.getBoundingClientRect(),s=t.filter(o=>!!o);if(s.length===0)return{left:4,top:2,height:r.height-4};const a=Math.max(0,Math.min(e,s.length));let l;return a===s.length?l=s[s.length-1].getBoundingClientRect().right:l=s[a].getBoundingClientRect().left,{left:l-r.left-1,top:2,height:r.height-4}}var sC=A('<span class="tab-dirty svelte-1kxcyhf" title="Unsaved changes"></span>'),aC=A('<span class="tab-icon svelte-1kxcyhf"> </span>'),iC=A('<span class="tab-close svelte-1kxcyhf" role="button" tabindex="-1" title="Close">&#x2715;</span>'),oC=A('<button type="button" role="tab"><!> <!> <span class="tab-label svelte-1kxcyhf"> </span> <!></button>'),lC=A('<div class="drop-indicator svelte-1kxcyhf"></div>'),cC=A("<div><!></div>"),uC=A('<div class="tabbed-panel svelte-1kxcyhf"><div class="tab-strip svelte-1kxcyhf" role="tablist" tabindex="-1"><!> <!></div> <div class="tab-body svelte-1kxcyhf" role="tabpanel"></div></div>');function dC(e,t){se(t,!0);function n(g){t.clickGuard?.()||t.onActiveChange?.(g)}function r(g,S){S.stopPropagation(),t.onClose?.(g)}let s=H(void 0);const a=le([]);let l=H(null);function o(g,S){if(!t.dragController)return;const _=a[g];_&&t.dragController.onPointerDown(g,S,_)}function c(g){if(!t.dragController||!t.dragController.isDragging||!i(s))return;const S=i(s).getBoundingClientRect(),_=a.filter(m=>!!m).map(m=>m.getBoundingClientRect());E(l,t.dragController.onStripHover(S,g.clientX,g.clientY,_),!0)}function u(){t.dragController&&(E(l,null),t.dragController.onStripLeave())}var d=uC(),f=p(d),h=p(f);ve(h,17,()=>t.labels,ht,(g,S,_)=>{var m=oC();let I;var R=p(m);{var P=B=>{var M=sC();k(B,M)};K(R,B=>{t.dirty?.[_]&&B(P)})}var T=w(R,2);{var z=B=>{var M=aC(),V=p(M,!0);v(M),N(()=>j(V,t.icons[_])),k(B,M)};K(T,B=>{t.icons?.[_]&&B(z)})}var L=w(T,2),D=p(L,!0);v(L);var C=w(L,2);{var O=B=>{var M=iC();N(()=>ne(M,"data-testid",t.tabIds?.[_]?`tab-close-${t.tabIds[_]}`:void 0)),F("click",M,V=>r(_,V)),F("keydown",M,V=>{(V.key==="Enter"||V.key===" ")&&r(_,V)}),k(B,M)};K(C,B=>{t.closable?.[_]&&B(O)})}v(m),qe(m,(B,M)=>a[M]=B,B=>a?.[B],()=>[_]),N(()=>{I=de(m,1,"tab svelte-1kxcyhf",null,I,{active:t.activeTab===_}),ne(m,"aria-selected",t.activeTab===_),j(D,i(S))}),F("click",m,()=>n(_)),F("pointerdown",m,B=>o(_,B)),ze("auxclick",m,B=>{B.button===1&&t.closable?.[_]&&r(_,B)}),k(g,m)});var b=w(h,2);{var x=g=>{const S=U(()=>rC(i(l),a,i(s)));var _=Me(),m=ue(_);{var I=R=>{var P=lC();N(()=>Ge(P,`left: ${i(S).left??""}px; height: ${i(S).height??""}px; top: ${i(S).top??""}px;`)),k(R,P)};K(m,R=>{i(S)&&R(I)})}k(g,_)};K(b,g=>{i(l)!==null&&t.dragController?.isDragging&&g(x)})}v(f),qe(f,g=>E(s,g),()=>i(s));var y=w(f,2);ve(y,21,()=>t.labels,ht,(g,S,_)=>{var m=cC();let I;var R=p(m);Gt(R,()=>t.body,()=>_),v(m),N(()=>I=de(m,1,"tab-body-pane svelte-1kxcyhf",null,I,{active:t.activeTab===_})),k(g,m)}),v(y),v(d),F("pointermove",f,c),ze("pointerleave",f,u),k(e,d),ae()}ce(["pointermove","click","pointerdown","keydown"]);var fC=A('no factory for <code class="svelte-1czj0s8"> </code>',1),vC=A("<em>empty slot</em>"),hC=A('<div class="slot-placeholder svelte-1czj0s8"><div class="slot-id svelte-1czj0s8"> </div> <div class="slot-meta svelte-1czj0s8"><!></div> <div class="slot-dims svelte-1czj0s8"> </div></div>'),pC=A('<div class="slot svelte-1czj0s8"><!></div>');function el(e,t){se(t,!0);let n=$(t,"label",3,""),r=H(void 0),s=H(0),a=H(0);const l=U(()=>t.node.viewId?!!nv(t.node.viewId):!1);xe(()=>{if(!i(r))return;const d=t.node.slotId,f=i(r),h=Kl(d,t.node.viewId,n()||t.node.viewId||d,t.meta);f.appendChild(h);const b=new ResizeObserver(x=>{for(const y of x){const g=y.contentRect;E(s,Math.round(g.width),!0),E(a,Math.round(g.height),!0)}});return b.observe(f),()=>{b.disconnect(),Wl(d,f)}});var o=pC(),c=p(o);{var u=d=>{var f=hC(),h=p(f),b=p(h,!0);v(h);var x=w(h,2),y=p(x);{var g=I=>{var R=fC(),P=w(ue(R)),T=p(P,!0);v(P),N(()=>j(T,t.node.viewId)),k(I,R)},S=I=>{var R=vC();k(I,R)};K(y,I=>{t.node.viewId?I(g):I(S,-1)})}v(x);var _=w(x,2),m=p(_);v(_),v(f),N(()=>{j(b,t.node.slotId),j(m,`${i(s)??""} × ${i(a)??""}`)}),k(d,f)};K(c,d=>{i(l)||d(u)})}v(o),qe(o,d=>E(r,d),()=>i(r)),N(()=>{ne(o,"data-slot-id",t.node.slotId),ne(o,"data-view-id",t.node.viewId??"")}),k(e,o),ae()}const ke=le({phase:"idle",source:null,pointerX:0,pointerY:0,target:null});let cp=0;function mC(){return performance.now()<cp}const Fu=4;let up=0,dp=0;function bC(e,t,n,r,s){if(ke.phase!=="idle")return;const a=s.getBoundingClientRect();ke.phase="pending",ke.source={slotId:e,entry:t,sourceRoot:n,startRect:a,offsetX:r.clientX-a.left,offsetY:r.clientY-a.top},ke.pointerX=r.clientX,ke.pointerY=r.clientY,ke.target=null,up=r.clientX,dp=r.clientY,gC()}function gC(){window.addEventListener("pointermove",fp,!0),window.addEventListener("pointerup",vp,!0),window.addEventListener("pointercancel",hp,!0),document.body.style.userSelect="none",document.body.dataset.dragging=""}function yC(){window.removeEventListener("pointermove",fp,!0),window.removeEventListener("pointerup",vp,!0),window.removeEventListener("pointercancel",hp,!0),document.body.style.userSelect="",delete document.body.dataset.dragging}function fp(e){if(ke.pointerX=e.clientX,ke.pointerY=e.clientY,ke.phase==="pending"){const t=e.clientX-up,n=e.clientY-dp;t*t+n*n>=Fu*Fu&&(ke.phase="dragging")}}function vp(e){ke.phase==="dragging"&&(_C(),cp=performance.now()+50),pp()}function hp(e){pp()}function Uu(e){const t=Xt.tree;if(e.kind==="docked")return t.docked;const n=t.floats.find(r=>r.id===e.floatId);return n?n.content:null}function Hu(e){if(e.kind!=="float")return;const t=Xt.tree,n=t.floats.findIndex(r=>r.id===e.floatId);n<0||Bf(t.floats[n].content)&&t.floats.splice(n,1)}function _C(){const{source:e,target:t}=ke;if(!e||!t)return;const n=Uu(e.sourceRoot),r=Uu(t.root);if(!n||!r)return;if(t.kind==="strip"){const a=t.tabsNode.tabs.findIndex(l=>l.slotId===e.slotId);if(a>=0){N1(t.tabsNode,a,t.insertIndex),Cr(n),r!==n&&Cr(r),Hu(e.sourceRoot);return}}const s=ki(n,e.slotId);s&&(t.kind==="strip"?O1(t.tabsNode,s,t.insertIndex):iv(r,t.path,s,t.side),Cr(n),r!==n&&Cr(r),Hu(e.sourceRoot))}function pp(){ke.phase="idle",ke.source=null,ke.target=null,yC()}function tl(e){ke.phase==="dragging"&&(ke.target=e)}function zr(e){ke.phase==="dragging"&&ke.target&&(e&&!e(ke.target)||(ke.target=null))}var wC=A("<div></div>"),kC=A('<div class="quad-target quad-left svelte-re71zu" data-testid="drop-zone-left"></div> <div class="quad-target quad-right svelte-re71zu" data-testid="drop-zone-right"></div> <div class="quad-target quad-top svelte-re71zu" data-testid="drop-zone-top"></div> <div class="quad-target quad-bottom svelte-re71zu" data-testid="drop-zone-bottom"></div>',1),xC=A("<!> <!>",1),SC=A("<div><!></div>");function Ku(e,t){se(t,!0);let n=H(void 0),r=H(null);const s=U(()=>ke.phase==="dragging"),a=U(()=>{let b;return t.rootRef.kind==="docked"?b=Xt.root:b=Xt.tree.floats.find(y=>y.id===t.rootRef.floatId)?.content??null,b?ov(b,t.path):!1});function l(b,x,y){const g=y.left+y.width/2,S=y.top+y.height/2,_=b-g,m=x-S,I=_/y.width,R=m/y.height;return Math.abs(I)>Math.abs(R)?I<0?"left":"right":R<0?"top":"bottom"}function o(b){if(!i(n))return;if(i(a)){i(r)!==null&&(E(r,null),zr(g=>g.kind==="split"&&g.path.join("/")===t.path.join("/")));return}const x=i(n).getBoundingClientRect();if(b.clientX<x.left||b.clientX>x.right||b.clientY<x.top||b.clientY>x.bottom){i(r)!==null&&(E(r,null),zr(g=>g.kind==="split"&&g.path.join("/")===t.path.join("/")));return}const y=l(b.clientX,b.clientY,x);if(y!==i(r)){E(r,y,!0);const g={kind:"split",root:t.rootRef,path:[...t.path],side:y};tl(g)}}function c(){i(r)!==null&&(E(r,null),zr(b=>b.kind==="split"&&b.path.join("/")===t.path.join("/")))}var u=SC();let d;var f=p(u);{var h=b=>{var x=xC(),y=ue(x);{var g=m=>{var I=wC();N(()=>de(I,1,`quad-highlight quad-${i(r)??""}`,"svelte-re71zu")),k(m,I)};K(y,m=>{i(r)&&m(g)})}var S=w(y,2);{var _=m=>{var I=kC();Pt(6),k(m,I)};K(S,m=>{i(s)&&m(_)})}k(b,x)};K(f,b=>{i(a)||b(h)})}v(u),qe(u,b=>E(n,b),()=>i(n)),N(()=>d=de(u,1,"slot-drop-zone svelte-re71zu",null,d,{active:i(s),locked:i(a)})),F("pointermove",u,o),ze("pointerleave",u,c),k(e,u),ae()}ce(["pointermove"]);var EC=A('<div class="tab-slot-wrapper svelte-1gw9g38"><!> <!></div>'),IC=A('<div class="empty-tabs-custom svelte-1gw9g38"></div>'),AC=A('<div class="empty-tabs-default svelte-1gw9g38"><div class="empty-tabs-drop svelte-1gw9g38"></div></div>'),CC=A('<div class="empty-tabs-placeholder svelte-1gw9g38"><!></div>'),TC=A('<div class="leaf-slot-wrapper svelte-1gw9g38"><!> <!></div>');function Gr(e,t){se(t,!0);let n=$(t,"path",19,()=>[]),r=$(t,"rootRef",19,()=>({kind:"docked"}));const s=U(()=>{if(t.rootOverride!==void 0)return Kr(t.rootOverride,n());let _;return r().kind==="docked"?_=Xt.root:_=Xt.tree.floats.find(I=>I.id===r().floatId)?.content??null,_?Kr(_,n()):null});function a(_){return{get isDragging(){return ke.phase==="dragging"},onPointerDown(m,I,R){const P=_.tabs[m];P&&bC(P.slotId,P,r(),I,R)},onStripHover(m,I,R,P){if(R<m.top||R>m.bottom)return zr(L=>L.kind==="strip"&&L.tabsNode===_),null;let T=P.length;for(let L=0;L<P.length;L++){const D=P[L],C=D.left+D.width/2;if(I<C){T=L;break}}const z=ke.source;if(z){const L=_.tabs.findIndex(D=>D.slotId===z.slotId);L>=0&&L<T&&(T-=1)}return tl({kind:"strip",root:r(),tabsNode:_,insertIndex:T}),T},onStripLeave(){zr(m=>m.kind==="strip"&&m.tabsNode===_)}}}function l(_){return _.type==="split"?_:null}function o(_){return _.type==="tabs"?_:null}function c(_){return _.type==="slot"?_:null}function u(_){return _.map(m=>U1(m.slotId)||void 0)}function d(_){return _.map(m=>F1(m.slotId)||void 0)}function f(_,m){const I=_[m];I&&$l(I.slotId)}function h(_,m){m(_)}function b(_,m){ke.phase==="dragging"&&tl({kind:"strip",root:r(),tabsNode:m,insertIndex:0})}function x(){zr(_=>_.kind==="strip"&&_.insertIndex===0)}var y=Me(),g=ue(y);{var S=_=>{var m=Me(),I=ue(m);{var R=z=>{const L=(C,O=Tt)=>{{let B=U(()=>[...n(),O()]);Gr(C,{get rootRef(){return r()},get path(){return i(B)}})}},D=U(()=>l(i(s)));nC(z,{get direction(){return i(D).direction},get sizes(){return i(D).sizes},get pinned(){return i(D).pinned},get collapsed(){return i(D).collapsed},get fixed(){return i(D).fixed},get count(){return i(D).children.length},get pane(){return L},onResize:(C,O)=>i(D).sizes[C]=O,onCollapseToggle:(C,O)=>{i(D).collapsed||(i(D).collapsed=i(D).children.map(()=>!1)),i(D).collapsed[C]=O}})},P=z=>{const L=U(()=>o(i(s)));var D=Me(),C=ue(D);{var O=M=>{const V=(G,Q=Tt)=>{const J=U(()=>i(L)?.tabs[Q()]);var ee=Me(),Y=ue(ee);{var q=W=>{var ie=EC(),X=p(ie);{let me=U(()=>({type:"slot",slotId:i(J).slotId,viewId:i(J).viewId}));el(X,{get node(){return i(me)},get label(){return i(J).label},get meta(){return i(J).meta}})}var fe=w(X,2);Ku(fe,{get rootRef(){return r()},get path(){return n()}}),v(ie),k(W,ie)};K(Y,W=>{i(J)&&W(q)})}k(G,ee)},Z=U(()=>a(i(L)));{let G=U(()=>i(L).tabs.map(q=>q.label)),Q=U(()=>i(L).tabs.map(q=>q.icon)),J=U(()=>u(i(L).tabs)),ee=U(()=>d(i(L).tabs)),Y=U(()=>i(L).tabs.map(q=>q.slotId));dC(M,{get labels(){return i(G)},get icons(){return i(Q)},get activeTab(){return i(L).activeTab},onActiveChange:q=>i(L).activeTab=q,get body(){return V},get dragController(){return i(Z)},get clickGuard(){return mC},get closable(){return i(J)},get dirty(){return i(ee)},onClose:q=>f(i(L).tabs,q),get tabIds(){return i(Y)}})}},B=M=>{var V=CC(),Z=p(V);{var G=J=>{var ee=IC();kf(ee,(Y,q)=>h?.(Y,q),()=>i(L).emptyRenderer),k(J,ee)},Q=J=>{var ee=AC(),Y=p(ee);v(ee),F("pointermove",Y,q=>b(q,i(L))),ze("pointerleave",Y,x),k(J,ee)};K(Z,J=>{i(L).emptyRenderer?J(G):J(Q,-1)})}v(V),k(M,V)};K(C,M=>{i(L)&&i(L).tabs.length>0?M(O):i(L)?.persistent&&M(B,1)})}k(z,D)},T=z=>{const L=U(()=>c(i(s)));var D=TC(),C=p(D);el(C,{get node(){return i(L)},get meta(){return i(L).meta}});var O=w(C,2);Ku(O,{get rootRef(){return r()},get path(){return n()}}),v(D),k(z,D)};K(I,z=>{i(s).type==="split"?z(R):i(s).type==="tabs"?z(P,1):z(T,-1)})}k(_,m)};K(g,_=>{i(s)&&_(S)})}k(e,y),ae()}ce(["pointermove"]);var RC=A('<span class="drag-preview-icon svelte-133fiip"> </span>'),PC=A('<div class="drag-preview svelte-133fiip"><!> <span class="drag-preview-label svelte-133fiip"> </span></div>');function LC(e,t){se(t,!0);const n=U(()=>ke.phase==="dragging"&&!!ke.source),r=U(()=>ke.source?ke.pointerX-ke.source.offsetX:0),s=U(()=>ke.source?ke.pointerY-ke.source.offsetY:0),a=U(()=>ke.source?.startRect.width??0),l=U(()=>ke.source?.startRect.height??0),o=U(()=>ke.source?.entry.label??""),c=U(()=>ke.source?.entry.icon);var u=Me(),d=ue(u);{var f=h=>{var b=PC(),x=p(b);{var y=_=>{var m=RC(),I=p(m,!0);v(m),N(()=>j(I,i(c))),k(_,m)};K(x,_=>{i(c)&&_(y)})}var g=w(x,2),S=p(g,!0);v(g),v(b),N(()=>{Ge(b,`left: ${i(r)??""}px; top: ${i(s)??""}px; width: ${i(a)??""}px; height: ${i(l)??""}px;`),j(S,i(o))}),k(h,b)};K(d,h=>{i(n)&&h(f)})}k(e,u),ae()}const jr=new Map;let ti=!1;function mp(e){if(jr.size===0)return;const t=e.target;if(!t)return;const n=Array.from(jr.keys());for(const r of n){const s=jr.get(r);s&&(s.contains(t)||Te.close(r))}}function MC(){ti||typeof document>"u"||(document.addEventListener("pointerdown",mp,!0),ti=!0)}function zC(){ti&&(jr.size>0||(document.removeEventListener("pointerdown",mp,!0),ti=!1))}function jC(e,t){jr.set(e,t),MC()}function DC(e){jr.delete(e),zC()}function OC(e){const t=new Set;return bp(e,t),[...t]}function bp(e,t){switch(e.type){case"slot":{if(e.viewId!==null){const n=su(e.viewId);n&&t.add(n)}return}case"tabs":{for(const n of e.tabs)if(n.viewId!==null){const r=su(n.viewId);r&&t.add(r)}return}case"split":{for(const n of e.children)bp(n,t);return}}}var NC=A('<button class="sh3-float-popout svelte-1p734al" aria-label="Open in own window" title="Open in own window">⧉</button>'),qC=A('<header class="sh3-float-header svelte-1p734al" data-sh3-scope="element:float-header"><span class="sh3-float-title svelte-1p734al"> </span> <span class="sh3-float-header-actions svelte-1p734al"><!> <button class="sh3-float-maximize svelte-1p734al"> </button> <button class="sh3-float-close svelte-1p734al" aria-label="Close float">×</button></span></header>'),BC=A('<div class="sh3-float-frame svelte-1p734al" data-sh3-overlay-host="float" role="dialog" tabindex="-1"><!> <div class="sh3-float-body svelte-1p734al"><!></div> <div class="sh3-float-resize-grip svelte-1p734al" role="presentation" aria-hidden="true"></div></div>');function VC(e,t){se(t,!0);const n=typeof globalThis.__TAURI_INTERNALS__<"u",r=wi("__layouts__");function s(M){M.preventDefault(),r.set({type:"float-header",ref:{floatId:a().id}}),St.actions.openContextMenu({x:M.clientX,y:M.clientY,scope:{element:"float-header"}})}let a=$(t,"entry",15),l=H(!1),o={x:0,y:0},c=H(!1),u={pointer:{x:0,y:0},size:{w:0,h:0},min:{w:0,h:0}},d=H(void 0);const f=U(()=>Te.isMaximized(a().id));xe(()=>{if(a().dismissable&&i(d))return jC(a().id,i(d)),()=>DC(a().id)}),xe(()=>{if(!i(d))return;const M=iw(a().id);if(M)return M.appendChild(i(d)),()=>{i(d)?.parentNode===M&&i(d).remove()}});function h(M){if(M.button!==0||M.target.closest(".sh3-float-close")||M.target.closest(".sh3-float-maximize")||M.target.closest(".sh3-float-popout"))return;M.currentTarget.setPointerCapture?.(M.pointerId),E(l,!0),o={x:M.clientX-a().position.x,y:M.clientY-a().position.y},Te.focus(a().id)}function b(M){i(l)&&(Te.unmaximize(a().id),a(a().position.x=M.clientX-o.x,!0),a(a().position.y=M.clientY-o.y,!0))}function x(M){if(!i(l))return;E(l,!1);const V=M.currentTarget;V.hasPointerCapture?.(M.pointerId)&&V.releasePointerCapture(M.pointerId)}function y(M){M.target.closest(".sh3-float-close")||M.target.closest(".sh3-float-maximize")||M.target.closest(".sh3-float-popout")||Te.toggleMaximize(a().id)}function g(M){if(M.button!==0)return;M.stopPropagation(),M.currentTarget.setPointerCapture?.(M.pointerId),E(c,!0),u={pointer:{x:M.clientX,y:M.clientY},size:{w:a().size.w,h:a().size.h},min:zl(a().content)},Te.focus(a().id)}function S(M){if(!i(c))return;Te.unmaximize(a().id);const V=M.clientX-u.pointer.x,Z=M.clientY-u.pointer.y;a(a().size.w=Math.max(u.min.w,u.size.w+V),!0),a(a().size.h=Math.max(u.min.h,u.size.h+Z),!0)}function _(M){if(!i(c))return;E(c,!1);const V=M.currentTarget;V.hasPointerCapture?.(M.pointerId)&&V.releasePointerCapture(M.pointerId)}function m(){Te.focus(a().id)}function I(M){M.stopPropagation(),Te.toggleMaximize(a().id)}function R(M){M.stopPropagation(),Te.close(a().id)}async function P(M){M.stopPropagation();try{await Mi({kind:"float",content:a().content,title:a().title,size:{w:a().size.w,h:a().size.h},activateShards:OC(a().content)}),Te.close(a().id)}catch(V){St.toast.notify(`Pop-out failed: ${V.message}`,{level:"error",duration:5e3})}}var T=BC();let z;var L=p(T);{var D=M=>{var V=qC(),Z=p(V),G=p(Z,!0);v(Z);var Q=w(Z,2),J=p(Q);{var ee=ie=>{var X=NC();F("click",X,P),k(ie,X)};K(J,ie=>{n&&ie(ee)})}var Y=w(J,2),q=p(Y,!0);v(Y);var W=w(Y,2);v(Q),v(V),N(()=>{ne(V,"data-float-id",a().id),j(G,a().title),ne(Y,"aria-label",i(f)?"Restore float":"Maximize float"),ne(Y,"aria-pressed",i(f)),j(q,i(f)?"🗗":"🗖")}),F("pointerdown",V,h),F("pointermove",V,b),F("pointerup",V,x),ze("pointercancel",V,x),F("dblclick",V,y),F("contextmenu",V,s),F("click",Y,I),F("click",W,R),k(M,V)};K(L,M=>{a().title&&M(D)})}var C=w(L,2),O=p(C);{let M=U(()=>({kind:"float",floatId:a().id}));Gr(O,{get rootRef(){return i(M)},path:[]})}v(C);var B=w(C,2);v(T),qe(T,M=>E(d,M),()=>i(d)),N(()=>{ne(T,"aria-label",a().title??"Float panel"),z=Ge(T,"",z,{left:`${a().position.x??""}px`,top:`${a().position.y??""}px`,width:`${a().size.w??""}px`,height:`${a().size.h??""}px`})}),F("click",T,m),F("pointerdown",B,g),F("pointermove",B,S),F("pointerup",B,_),ze("pointercancel",B,_),k(e,T),ae()}ce(["click","pointerdown","pointermove","pointerup","dblclick","contextmenu"]);var FC=A('<div class="sh3-float-layer svelte-1rzcset"></div>');function UC(e,t){se(t,!0);const n=U(()=>Xt.floats);var r=FC();ve(r,23,()=>i(n),s=>s.id,(s,a,l)=>{VC(s,{get entry(){return i(n)[i(l)]},set entry(o){i(n)[i(l)]=o}})}),v(r),k(e,r),ae()}var HC=A('<div class="sh3-overlay-root svelte-4ykdm7"><!></div>'),KC=A('<div class="sh3-overlays svelte-4ykdm7" aria-hidden="true"></div>');function gp(e,t){se(t,!0);const n=[{layer:"drawers",name:"drawers",zToken:"--sh3-z-layer-drawers"},{layer:1,name:"floating",zToken:"--sh3-z-layer-1"},{layer:2,name:"drag-preview",zToken:"--sh3-z-layer-2"},{layer:3,name:"popup",zToken:"--sh3-z-layer-3"},{layer:4,name:"modal",zToken:"--sh3-z-layer-4"},{layer:5,name:"toast",zToken:"--sh3-z-layer-5"},{layer:6,name:"command",zToken:"--sh3-z-layer-6"}],r=le({});xe(()=>{for(const{name:a}of n){const l=r[a];l&&R_(a,l)}return()=>{for(const{name:a}of n)P_(a)}}),xe(()=>{const a=Xt.tree;return sw(a.floats,()=>({w:window.innerWidth,h:window.innerHeight})),()=>aw()});var s=KC();ve(s,21,()=>n,({layer:a,name:l,zToken:o})=>a,(a,l)=>{let o=()=>i(l).layer,c=()=>i(l).name,u=()=>i(l).zToken;var d=HC(),f=p(d);{var h=x=>{UC(x,{})},b=x=>{LC(x,{})};K(f,x=>{c()==="floating"?x(h):c()==="drag-preview"&&x(b,1)})}v(d),qe(d,(x,y)=>r[y]=x,x=>r?.[x],()=>[c()]),N(()=>{ne(d,"data-sh3-overlay",c()),ne(d,"data-sh3-layer",o()),Ge(d,`z-index: var(${u()??""});`)}),k(a,d)}),v(s),k(e,s),ae()}var WC=A('<div class="guest-signin-error svelte-pymkh"> </div>'),YC=A('<div class="guest-signin-overlay svelte-pymkh" role="dialog"><div class="guest-signin-card svelte-pymkh"><form class="guest-signin-form svelte-pymkh"><input class="guest-signin-input svelte-pymkh" type="text" placeholder="Username" autocomplete="username"/> <input class="guest-signin-input svelte-pymkh" type="password" placeholder="Password" autocomplete="current-password"/> <div class="guest-signin-actions svelte-pymkh"><button type="submit" class="guest-signin-btn svelte-pymkh"> </button> <button type="button" class="guest-signin-cancel svelte-pymkh">Cancel</button></div></form> <!></div></div>'),GC=A('<div class="guest-banner svelte-pymkh"><span class="guest-banner-text">Browsing as guest. Sign in to save your work.</span> <button type="button" class="guest-banner-action svelte-pymkh">Sign in</button></div> <!>',1),XC=A('<div class="guest-banner-slot"><!></div>');function JC(e,t){se(t,!0);let n=H(!1),r=H(""),s=H(""),a=H(null),l=H(!1);async function o(){if(!i(r).trim()||!i(s).trim()||i(l))return;E(l,!0),E(a,null);const h=await Uv(i(r).trim(),i(s).trim());E(l,!1),h.ok?E(n,!1):E(a,h.error,!0)}var c=XC(),u=p(c);{var d=h=>{var b=GC(),x=ue(b),y=w(p(x),2);v(x);var g=w(x,2);{var S=_=>{var m=YC(),I=p(m),R=p(I),P=p(R);ye(P);var T=w(P,2);ye(T);var z=w(T,2),L=p(z),D=p(L,!0);v(L);var C=w(L,2);v(z),v(R);var O=w(R,2);{var B=M=>{var V=WC(),Z=p(V,!0);v(V),N(()=>j(Z,i(a))),k(M,V)};K(O,M=>{i(a)&&M(B)})}v(I),v(m),N(M=>{P.disabled=i(l),T.disabled=i(l),L.disabled=M,j(D,i(l)?"Signing in...":"Sign in")},[()=>i(l)||!i(r).trim()||!i(s).trim()]),ze("submit",R,M=>{M.preventDefault(),o()}),Ie(P,()=>i(r),M=>E(r,M)),Ie(T,()=>i(s),M=>E(s,M)),F("click",C,()=>{E(n,!1),E(a,null)}),k(_,m)};K(g,_=>{i(n)&&_(S)})}F("click",y,()=>{E(n,!0)}),k(h,b)},f=U(()=>Hv());K(u,h=>{i(f)&&h(d)})}v(c),k(e,c),ae()}ce(["click"]);var ZC=A('<code class="sh3-consent-scope svelte-14me5sj"> </code>'),QC=A('<dt class="svelte-14me5sj">Peer</dt> <dd class="svelte-14me5sj"> </dd>',1),$C=A('<dt class="svelte-14me5sj">Expires in</dt> <dd class="svelte-14me5sj"> </dd>',1),eT=A('<div class="sh3-consent-backdrop svelte-14me5sj" role="dialog" aria-modal="true" aria-label="Key creation consent"><div class="sh3-consent-card svelte-14me5sj"><h2 class="sh3-consent-title svelte-14me5sj"><span class="svelte-14me5sj"> </span> wants to create a key</h2> <dl class="sh3-consent-fields svelte-14me5sj"><dt class="svelte-14me5sj">Label</dt> <dd class="svelte-14me5sj"> </dd> <dt class="svelte-14me5sj">Scopes</dt> <dd class="sh3-consent-scopes svelte-14me5sj"></dd> <!> <!></dl> <div class="sh3-consent-actions svelte-14me5sj"><button type="button" class="sh3-consent-deny svelte-14me5sj">Deny</button> <button type="button" class="sh3-consent-approve svelte-14me5sj">Approve</button></div></div></div>');function tT(e,t){se(t,!0);let n=H(null);xe(()=>ih(u=>{E(n,u,!0)}));function r(){i(n)&&(Yo(i(n).requestId,!0),E(n,null))}function s(){i(n)&&(Yo(i(n).requestId,!1),E(n,null))}var a=Me(),l=ue(a);{var o=c=>{var u=eT(),d=p(u),f=p(d),h=p(f),b=p(h,!0);v(h),Pt(),v(f);var x=w(f,2),y=w(p(x),2),g=p(y,!0);v(y);var S=w(y,4);ve(S,20,()=>i(n).scopes,L=>L,(L,D)=>{var C=ZC(),O=p(C,!0);v(C),N(()=>j(O,D)),k(L,C)}),v(S);var _=w(S,2);{var m=L=>{var D=QC(),C=w(ue(D),2),O=p(C);v(C),N(()=>j(O,`${i(n).peerRole??"—"??""}${i(n).peerId?` · ${i(n).peerId}`:""}`)),k(L,D)};K(_,L=>{(i(n).peerRole||i(n).peerId)&&L(m)})}var I=w(_,2);{var R=L=>{var D=$C(),C=w(ue(D),2),O=p(C);v(C),N(B=>j(O,`${B??""}s`),[()=>Math.round(i(n).expiresIn/1e3)]),k(L,D)};K(I,L=>{i(n).expiresIn&&L(R)})}v(x);var P=w(x,2),T=p(P);Qr(T,!0);var z=w(T,2);v(P),v(d),v(u),N(()=>{j(b,i(n).shardId),j(g,i(n).label)}),F("click",T,s),F("click",z,r),k(c,u)};K(l,c=>{i(n)&&c(o)})}k(e,a),ae()}ce(["click"]);var nT=A('<span class="sh3-brand svelte-18lk809">SH3</span>'),rT=A('<span class="sh3-brand sh3-brand-app svelte-18lk809"> </span>'),sT=A('<span class="sh3-brand svelte-18lk809">SH3</span> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button>',1),aT=A('<button type="button" class="sh3-brand sh3-brand-clickable svelte-18lk809" title="Exit project">SH3</button> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <span class="sh3-brand-project svelte-18lk809"> </span>',1),iT=A('<span class="sh3-brand sh3-brand-project svelte-18lk809"> </span> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <span class="sh3-brand sh3-brand-app svelte-18lk809"> </span>',1),oT=A('<button type="button" class="sh3-brand sh3-brand-clickable svelte-18lk809" title="Exit project">SH3</button> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button> <span class="sh3-brand-sep svelte-18lk809" aria-hidden="true">›</span> <button type="button" class="sh3-brand-crumb svelte-18lk809"> </button>',1),lT=A('<div class="sh3-brand-slot svelte-18lk809"><!></div>');function yp(e,t){se(t,!0);const n=U(()=>_t().activeAppId),r=U(L_),s=U(()=>ur.activeProjectId),a=U(()=>i(n)?_n(i(n))?.manifest.label??i(n):null),l=U(()=>i(r)?_n(i(r))?.manifest.label??i(r):null),o=U(()=>i(s)?Ut.projects.find(I=>I.id===i(s))?.name??i(s):null),c=U(()=>i(s)?i(n)?"project-app":i(r)?"project-breadcrumb":"project-home":i(n)?"app":i(r)?"breadcrumb":"brand");function u(){i(r)&&Pn(i(r))}function d(){zv(null)}function f(){i(n)&&ia()}var h=lT(),b=p(h);{var x=I=>{var R=nT();k(I,R)},y=I=>{var R=rT(),P=p(R,!0);v(R),N(()=>j(P,i(a))),k(I,R)},g=I=>{var R=sT(),P=w(ue(R),4),T=p(P,!0);v(P),N(()=>j(T,i(l))),F("click",P,u),k(I,R)},S=I=>{var R=aT(),P=ue(R),T=w(P,4),z=p(T,!0);v(T),N(()=>j(z,i(o))),F("click",P,d),k(I,R)},_=I=>{var R=iT(),P=ue(R),T=p(P,!0);v(P);var z=w(P,4),L=p(z,!0);v(z),N(()=>{j(T,i(o)),j(L,i(a))}),k(I,R)},m=I=>{var R=oT(),P=ue(R),T=w(P,4),z=p(T,!0);v(T);var L=w(T,4),D=p(L,!0);v(L),N(()=>{j(z,i(o)),j(D,i(l))}),F("click",P,d),F("click",T,f),F("click",L,u),k(I,R)};K(b,I=>{i(c)==="brand"?I(x):i(c)==="app"?I(y,1):i(c)==="breadcrumb"?I(g,2):i(c)==="project-home"?I(S,3):i(c)==="project-app"?I(_,4):i(c)==="project-breadcrumb"&&I(m,5)})}v(h),k(e,h),ae()}ce(["click"]);const cT=Object.freeze([{id:"file",label:"File"},{id:"edit",label:"Edit"},{id:"view",label:"View"},{id:"window",label:"Window"},{id:"help",label:"Help"}]);function ni(e){return e===void 0?!1:typeof e=="function"?!!e():!!e}function _p(e,t){if(e==null)return[];if(t==null)return cT.slice();const n=t.map((r,s)=>({c:r,i:s}));return n.sort((r,s)=>{const a=r.c.order,l=s.c.order;return a!=null&&l!=null?a-l||r.i-s.i:a!=null?-1:l!=null?1:r.i-s.i}),n.map(r=>r.c)}function wp(e,t,n){const r=[],s=new Set;for(const a of e)a.action.menuItem!==n||a.action.submenuOf!==void 0||s.has(a.action.id)||!ra(a.action.scope,t,a.ownerShardId)||(s.add(a.action.id),r.push({id:a.action.id,label:Dt(a.action),shortcut:na(a.action,t.bindings,t.platform),group:a.action.group??"",icon:a.action.icon,checked:ni(a.action.checked),disabled:ni(a.action.disabled),submenu:a.action.submenu===!0}));return r}function kp(e,t,n){const r=[],s=new Set;for(const a of e)a.action.submenuOf!==n||s.has(a.action.id)||!ra(a.action.scope,t,a.ownerShardId)||(s.add(a.action.id),r.push({id:a.action.id,label:Dt(a.action),shortcut:na(a.action,t.bindings,t.platform),group:a.action.group??"",icon:a.action.icon,checked:ni(a.action.checked),disabled:ni(a.action.disabled),submenu:a.action.submenu===!0}));return r}var uT=A('<span class="sh3-menubar-icon svelte-bke3dt"></span>'),dT=A('<span class="sh3-menubar-icon svelte-bke3dt"></span>'),fT=A('<button type="button" class="sh3-menubar-button svelte-bke3dt"><!> <span class="sh3-menubar-label"> </span> <!></button>');function vT(e,t){se(t,!0);let n=H(void 0);function r(y){const g=new Map,S=[];for(const _ of y){const m=_.group||"";g.has(m)||(g.set(m,[]),S.push(m)),g.get(m).push(_)}return S.map(_=>({id:`group:${_||"_default"}`,items:g.get(_)}))}function s(y,g,S){const _=Xe().find(m=>m.action.id===y);if(!(!_||typeof _.action.run!="function")){try{_.action.run({action:{id:y,label:Dt(_.action)},appId:g.activeAppId,viewId:g.focusedViewId??void 0,selection:g.selection??void 0,invokedVia:"palette",dispatch:()=>{}})}catch(m){console.error(`[sh3] menu-bar action "${y}" threw:`,m)}S.close()}}function a(y,g,S){const _=document.querySelector(".sh3-popup-host");if(!_)return;const m=document.createElement("div");m.className="sh3-popup-submenu",m.style.position="absolute",m.style.pointerEvents="auto";const R=(_.querySelector(".sh3-ctx-active")??_).getBoundingClientRect();m.style.left=`${R.right+2}px`,m.style.top=`${R.top}px`,_.appendChild(m);const P=kp(Xe(),g,y),T=Fe(Ya,{target:m,props:{sections:r(P),onInvoke:z=>s(z,g,S),onDismiss:()=>{Qe(T),m.remove()}}})}function l(){if(!i(n))return;const y=_t(),g=Ro.show(Ya,{anchor:i(n),placement:"bottom-start"},{sections:r(t.items),onInvoke:S=>{const _=Xe().find(m=>m.action.id===S);if(_){if(_.action.submenu===!0){a(S,y,g);return}s(S,y,g)}},onDismiss:()=>Ro.close()})}const o=U(()=>t.container.iconPosition??"before");var c=fT(),u=p(c);{var d=y=>{var g=uT();N(()=>ne(g,"data-icon",t.container.icon)),k(y,g)};K(u,y=>{t.container.icon&&i(o)==="before"&&y(d)})}var f=w(u,2),h=p(f,!0);v(f);var b=w(f,2);{var x=y=>{var g=dT();N(()=>ne(g,"data-icon",t.container.icon)),k(y,g)};K(b,y=>{t.container.icon&&i(o)==="after"&&y(x)})}v(c),qe(c,y=>E(n,y),()=>i(n)),N(()=>j(h,t.container.label)),F("click",c,l),k(e,c),ae()}ce(["click"]);var hT=A('<div class="sh3-menubar svelte-7gc0wa" role="menubar"></div>');function xp(e,t){se(t,!0);const n=U(_t),r=U(()=>i(n).activeAppId),s=U(()=>{if(i(r))return _n(i(r))?.manifest.menus}),a=U(()=>_p(i(r),i(s))),l=U(()=>{const c=[],u=Xe();for(const d of i(a)){const f=wp(u,i(n),d.id);f.length>0&&c.push({container:d,items:f})}return c});var o=hT();ve(o,21,()=>i(l),({container:c,items:u})=>c.id,(c,u)=>{let d=()=>i(u).container,f=()=>i(u).items;vT(c,{get container(){return d()},get items(){return f()}})}),v(o),k(e,o),ae()}const pT={type:"slot",slotId:"__sh3core__:compact:empty",viewId:null,role:"body"};function Xr(e){return e??"body"}function Sp(e){return e.type==="slot"?[{slotId:e.slotId,viewId:e.viewId,label:e.slotId,role:Xr(e.role)}]:e.type==="tabs"?e.tabs.map(t=>({slotId:t.slotId,viewId:t.viewId,label:t.label,icon:t.icon,role:Xr(t.role)})):e.children.flatMap(Sp)}function Wu(e){return Sp(e).some(t=>t.role==="body")}function Ep(e){if(e.type==="slot")return Xr(e.role)==="body"?e:null;if(e.type==="tabs"){const n=e.tabs.filter(r=>Xr(r.role)==="body");return n.length===0?null:n.length===e.tabs.length?e:{type:"tabs",activeTab:Math.min(e.activeTab,n.length-1),tabs:n}}const t=[];for(let n=0;n<e.children.length;n++){const r=Ep(e.children[n]);r&&t.push({child:r,size:e.sizes[n]})}return t.length===0?null:t.length===1?t[0].child:{type:"split",direction:e.direction,sizes:t.map(n=>n.size),children:t.map(n=>n.child)}}function Yu(e){return e==="inspector"?"right":"left"}function mT(e){const t={left:[],right:[],top:[]};function n(r,s){if(r.type==="slot"){const a=Xr(r.role);if(a==="body")return;const l=s??Yu(a);t[l].push({slotId:r.slotId,viewId:r.viewId,label:r.slotId,role:a});return}if(r.type==="tabs"){for(const a of r.tabs){const l=Xr(a.role);if(l==="body")continue;const o=s??Yu(l);t[o].push({slotId:a.slotId,viewId:a.viewId,label:a.label,icon:a.icon,role:l})}return}if(r.direction==="horizontal")for(let a=0;a<r.children.length;a++){const l=r.children[a];let o=s;s===null&&!Wu(l)&&(a===0?o="left":a===r.children.length-1&&(o="right")),n(l,o)}else for(let a=0;a<r.children.length;a++){const l=r.children[a];let o=s;s===null&&a===0&&!Wu(l)&&(o="top"),n(l,o)}}return n(e,null),t}function co(e){return e.length===0?null:{slots:e.map(t=>({slotId:t.slotId,viewId:t.viewId,label:t.label,icon:t.icon,role:t.role}))}}function Ip(e){const n=Ep(e)??pT,r=mT(e);return{bodyRoot:n,drawers:{left:co(r.left),right:co(r.right),top:co(r.top)}}}var bT=A('<span class="shortcut svelte-vkxo1d"> </span>'),gT=A('<button class="item child svelte-vkxo1d"><span class="label svelte-vkxo1d"> </span> <!></button>'),yT=A('<div class="subitems svelte-vkxo1d"></div>'),_T=A('<button class="item submenu svelte-vkxo1d"><span>▸</span> <span class="label svelte-vkxo1d"> </span></button> <!>',1),wT=A('<span class="shortcut svelte-vkxo1d"> </span>'),kT=A('<button class="item svelte-vkxo1d"><span class="label svelte-vkxo1d"> </span> <!></button>'),xT=A('<div class="items svelte-vkxo1d"></div>'),ST=A('<button class="container svelte-vkxo1d"><span>▸</span> <span class="label svelte-vkxo1d"> </span></button> <!>',1),ET=A('<div class="backdrop svelte-vkxo1d" role="presentation"></div> <div class="sheet svelte-vkxo1d" role="dialog" aria-label="Menu" data-sh3-region="menu-sheet"><div class="scroll svelte-vkxo1d"></div> <button class="cancel svelte-vkxo1d">Cancel</button></div>',1);function IT(e,t){se(t,!0);const n=U(_t),r=U(()=>i(n).activeAppId),s=U(()=>{if(i(r))return _n(i(r))?.manifest.menus}),a=U(()=>_p(i(r),i(s))),l=U(()=>{const y=[],g=Xe();for(const S of i(a)){const _=wp(g,i(n),S.id);_.length>0&&y.push({containerId:S.id,label:S.label,items:_})}return y});let o=H(le(new Set)),c=H(le(new Set));function u(y){const g=new Set(i(o));g.has(y)?g.delete(y):g.add(y),E(o,g,!0)}function d(y){const g=new Set(i(c));g.has(y)?g.delete(y):g.add(y),E(c,g,!0)}function f(y){const g=Xe().find(S=>S.action.id===y);if(!(!g||typeof g.action.run!="function")){try{g.action.run({action:{id:y,label:Dt(g.action)},appId:i(n).activeAppId,viewId:i(n).focusedViewId??void 0,selection:i(n).selection??void 0,invokedVia:"palette",dispatch:()=>{}})}catch(S){console.error(`[sh3] menu-sheet action "${y}" threw:`,S)}t.onClose()}}var h=Me(),b=ue(h);{var x=y=>{var g=ET(),S=ue(g),_=w(S,2),m=p(_);ve(m,21,()=>i(l),({containerId:R,label:P,items:T})=>R,(R,P)=>{let T=()=>i(P).containerId,z=()=>i(P).label,L=()=>i(P).items;var D=ST(),C=ue(D),O=p(C);let B;var M=w(O,2),V=p(M,!0);v(M),v(C);var Z=w(C,2);{var G=J=>{var ee=xT();ve(ee,21,L,Y=>Y.id,(Y,q)=>{var W=Me(),ie=ue(W);{var X=me=>{var je=_T(),Se=ue(je),tt=p(Se);let st;var Kn=w(tt,2),Wn=p(Kn,!0);v(Kn),v(Se);var Yn=w(Se,2);{var ls=te=>{var Ee=yT();ve(Ee,21,()=>kp(Xe(),i(n),i(q).id),Re=>Re.id,(Re,ge)=>{var Le=gT(),He=p(Le),Ke=p(He,!0);v(He);var xn=w(He,2);{var fn=at=>{var Qt=bT(),Ni=p(Qt,!0);v(Qt),N(()=>j(Ni,i(ge).shortcut)),k(at,Qt)};K(xn,at=>{i(ge).shortcut&&at(fn)})}v(Le),N(()=>{Le.disabled=i(ge).disabled,j(Ke,i(ge).label)}),F("click",Le,()=>f(i(ge).id)),k(Re,Le)}),v(Ee),k(te,Ee)},re=U(()=>i(c).has(i(q).id));K(Yn,te=>{i(re)&&te(ls)})}N((te,Ee)=>{ne(Se,"aria-expanded",te),Se.disabled=i(q).disabled,st=de(tt,1,"caret svelte-vkxo1d",null,st,Ee),j(Wn,i(q).label)},[()=>i(c).has(i(q).id),()=>({open:i(c).has(i(q).id)})]),F("click",Se,()=>d(i(q).id)),k(me,je)},fe=me=>{var je=kT(),Se=p(je),tt=p(Se,!0);v(Se);var st=w(Se,2);{var Kn=Wn=>{var Yn=wT(),ls=p(Yn,!0);v(Yn),N(()=>j(ls,i(q).shortcut)),k(Wn,Yn)};K(st,Wn=>{i(q).shortcut&&Wn(Kn)})}v(je),N(()=>{je.disabled=i(q).disabled,j(tt,i(q).label)}),F("click",je,()=>f(i(q).id)),k(me,je)};K(ie,me=>{i(q).submenu?me(X):me(fe,-1)})}k(Y,W)}),v(ee),k(J,ee)},Q=U(()=>i(o).has(T()));K(Z,J=>{i(Q)&&J(G)})}N((J,ee)=>{ne(C,"aria-expanded",J),B=de(O,1,"caret svelte-vkxo1d",null,B,ee),j(V,z())},[()=>i(o).has(T()),()=>({open:i(o).has(T())})]),F("click",C,()=>u(T())),k(R,D)}),v(m);var I=w(m,2);v(_),F("click",S,function(...R){t.onClose?.apply(this,R)}),F("keydown",S,R=>{R.key==="Escape"&&t.onClose()}),F("click",I,function(...R){t.onClose?.apply(this,R)}),k(y,g)};K(b,y=>{t.open&&y(x)})}k(e,h),ae()}ce(["click","keydown"]);var AT=A('<button aria-label="Toggle left drawer" data-sh3-anchor="left" class="svelte-q1hcw0">≡</button>'),CT=A('<button aria-label="Toggle right drawer" data-sh3-anchor="right" class="svelte-q1hcw0">▣</button>'),TT=A('<button aria-label="Toggle top drawer" data-sh3-anchor="top" class="svelte-q1hcw0">⫶</button>'),RT=A('<header class="sh3-compact-chrome svelte-q1hcw0" data-sh3-region="compact-chrome"><div class="leading svelte-q1hcw0"><!> <!> <!></div> <div class="title svelte-q1hcw0"> </div> <div class="trailing svelte-q1hcw0"><button aria-label="Open command palette" class="svelte-q1hcw0">⌘</button> <button aria-label="Open menu" class="svelte-q1hcw0">⋯</button></div></header> <!>',1);function PT(e,t){se(t,!0);const n=U(()=>Ip(Xt.root)),r=U(_t),s=U(()=>{const T=i(r).activeAppId;return T?_n(T)?.manifest.label??T:"SH3"});let a=H(!1);function l(T){St.drawers.toggle(T)}function o(){St.actions.openPalette()}var c=RT(),u=ue(c),d=p(u),f=p(d);{var h=T=>{var z=AT();F("click",z,()=>l("left")),k(T,z)};K(f,T=>{i(n).drawers.left&&T(h)})}var b=w(f,2);{var x=T=>{var z=CT();F("click",z,()=>l("right")),k(T,z)};K(b,T=>{i(n).drawers.right&&T(x)})}var y=w(b,2);{var g=T=>{var z=TT();F("click",z,()=>l("top")),k(T,z)};K(y,T=>{i(n).drawers.top&&T(g)})}v(d);var S=w(d,2),_=p(S,!0);v(S);var m=w(S,2),I=p(m),R=w(I,2);v(m),v(u);var P=w(u,2);IT(P,{get open(){return i(a)},onClose:()=>E(a,!1)}),N(()=>j(_,i(s))),F("click",I,o),F("click",R,()=>E(a,!0)),k(e,c),ae()}ce(["click"]);var LT=A('<button role="tab"> </button>'),MT=A('<div class="tab-strip svelte-8dp9bg" role="tablist"></div>'),zT=A('<div class="drawer-backdrop svelte-8dp9bg" role="presentation"></div> <div data-sh3-region="drawer"><header class="svelte-8dp9bg"><span class="title svelte-8dp9bg"> </span> <button class="close svelte-8dp9bg" aria-label="Close drawer">×</button></header> <!> <div class="body svelte-8dp9bg"><!></div></div>',1);function jT(e,t){se(t,!0);const n=U(()=>t.spec.slots.find(o=>o.slotId===t.activeSlotId)??t.spec.slots[0]),r=U(()=>({type:"slot",slotId:i(n).slotId,viewId:i(n).viewId,role:i(n).role}));var s=Me(),a=ue(s);{var l=o=>{var c=zT(),u=ue(c),d=w(u,2),f=p(d),h=p(f),b=p(h,!0);v(h);var x=w(h,2);v(f);var y=w(f,2);{var g=m=>{var I=MT();ve(I,21,()=>t.spec.slots,R=>R.slotId,(R,P)=>{var T=LT();let z;var L=p(T,!0);v(T),N(()=>{ne(T,"aria-selected",i(P).slotId===i(n).slotId),z=de(T,1,"svelte-8dp9bg",null,z,{active:i(P).slotId===i(n).slotId}),j(L,i(P).label)}),F("click",T,()=>t.onActivate(i(P).slotId)),k(R,T)}),v(I),k(m,I)};K(y,m=>{t.spec.slots.length>1&&m(g)})}var S=w(y,2),_=p(S);el(_,{get node(){return i(r)},get label(){return i(n).label}}),v(S),v(d),N(()=>{de(d,1,`drawer drawer-${t.anchor??""}`,"svelte-8dp9bg"),ne(d,"data-sh3-anchor",t.anchor),j(b,i(n).label)}),F("click",u,function(...m){t.onClose?.apply(this,m)}),F("keydown",u,m=>{m.key==="Escape"&&t.onClose()}),F("click",x,function(...m){t.onClose?.apply(this,m)}),k(o,c)};K(a,o=>{t.open&&o(l)})}k(e,s),ae()}ce(["click","keydown"]);var DT=A('<div class="compact-body svelte-1sc410j" data-sh3-region="compact-body"><!></div> <!>',1);function OT(e,t){se(t,!0);const n=U(()=>Ip(Xt.root)),r=["left","right","top"];var s=DT(),a=ue(s),l=p(a);Gr(l,{get rootOverride(){return i(n).bodyRoot}}),v(a);var o=w(a,2);ve(o,16,()=>r,c=>c,(c,u)=>{const d=U(()=>i(n).drawers[u]);var f=Me(),h=ue(f);{var b=x=>{jT(x,{get anchor(){return u},get spec(){return i(d)},get open(){return Rt.state[u].open},get activeSlotId(){return Rt.state[u].activeSlotId},onClose:()=>Rt.close(u),onActivate:y=>Rt.activate(u,y)})};K(h,x=>{i(d)&&x(b)})}k(c,f)}),k(e,s),ae()}var NT=A('<button type="button" class="sh3-tabbar-signout svelte-1amm732" title="Sign out"><svg class="sh3-tabbar-signout-icon svelte-1amm732" aria-hidden="true"><use></use></svg></button>'),qT=A('<div class="sh3-tabbar-user svelte-1amm732"><span class="sh3-tabbar-user-name svelte-1amm732"> </span> <span class="sh3-tabbar-tag svelte-1amm732"> </span> <!></div>'),BT=A('<header class="sh3-tabbar svelte-1amm732" data-sh3-region="tabbar"><button type="button" class="sh3-tabbar-home-button svelte-1amm732" title="Home"><svg class="sh3-tabbar-home-icon svelte-1amm732" aria-hidden="true"><use></use></svg></button> <!> <!> <!></header>'),VT=A('<div class="sh3 svelte-1amm732"><!> <!> <main class="sh3-content svelte-1amm732" data-sh3-region="content" data-sh3-layer="0"><!></main> <footer class="sh3-statusbar svelte-1amm732" data-sh3-region="statusbar"></footer> <!> <!></div>');function FT(e,t){se(t,!0);const n=U(Fo),r=U(Wr),s=U(wt),a=U(()=>mv()==="home"),l=U(()=>St.viewport.current.class);xe(()=>{Xt.tree,ik()}),xe(()=>Fo()?X0():void 0);var o=VT(),c=p(o);{var u=_=>{var m=BT(),I=p(m),R=p(I),P=p(R);v(R),v(I);var T=w(I,2);yp(T,{});var z=w(T,2);xp(z,{});var L=w(z,2);{var D=C=>{var O=qT(),B=p(O),M=p(B,!0);v(B);var V=w(B,2),Z=p(V,!0);v(V);var G=w(V,2);{var Q=ee=>{var Y=NT(),q=p(Y),W=p(q);v(q),v(Y),N(()=>ne(W,"href",`${Vn}#log-out`)),F("click",Y,()=>t0()),k(ee,Y)},J=U(()=>!r0());K(G,ee=>{i(J)&&ee(Q)})}v(O),N(()=>{j(M,i(r).displayName),j(Z,i(s)?"admin":"user")}),k(C,O)};K(L,C=>{i(n)&&i(r)&&C(D)})}v(m),N(()=>{I.disabled=i(a),ne(P,"href",`${Vn}#house`)}),F("click",I,()=>ia()),k(_,m)},d=_=>{PT(_,{})};K(c,_=>{i(l)==="desktop"?_(u):_(d,-1)})}var f=w(c,2);JC(f,{});var h=w(f,2),b=p(h);{var x=_=>{Gr(_,{})},y=_=>{OT(_,{})};K(b,_=>{i(l)==="desktop"?_(x):_(y,-1)})}v(h);var g=w(h,4);gp(g,{});var S=w(g,2);tT(S,{}),v(o),N(()=>ne(o,"data-sh3-viewport",i(l))),k(e,o),ae()}ce(["click"]);var UT=A('<button type="button" class="signin-link svelte-lh4k15">Create an account</button>'),HT=A('<form class="signin-form svelte-lh4k15"><input class="signin-input svelte-lh4k15" type="text" placeholder="Username" autocomplete="username"/> <input class="signin-input svelte-lh4k15" type="password" placeholder="Password" autocomplete="current-password"/> <button type="submit" class="signin-btn svelte-lh4k15"> </button></form> <!>',1),KT=A('<form class="signin-form svelte-lh4k15"><input class="signin-input svelte-lh4k15" type="text" placeholder="Username" autocomplete="username"/> <input class="signin-input svelte-lh4k15" type="text" placeholder="Display name (optional)"/> <input class="signin-input svelte-lh4k15" type="password" placeholder="Password" autocomplete="new-password"/> <button type="submit" class="signin-btn svelte-lh4k15"> </button></form> <button type="button" class="signin-link svelte-lh4k15">Back to sign in</button>',1),WT=A('<div class="signin-error svelte-lh4k15"> </div>'),YT=A('<div class="signin-wall svelte-lh4k15"><div class="signin-card svelte-lh4k15"><h1 class="signin-brand svelte-lh4k15">SH3</h1> <!> <!></div></div>');function GT(e,t){se(t,!0);let n=H("login"),r=H(""),s=H(""),a=H(""),l=H(null),o=H(!1);async function c(){if(!i(r).trim()||!i(s).trim()||i(o))return;E(o,!0),E(l,null);const _=await Uv(i(r).trim(),i(s).trim());E(o,!1),_.ok?t.onSuccess():E(l,_.error,!0)}async function u(){if(!i(r).trim()||!i(s).trim()||i(o))return;E(o,!0),E(l,null);const _=await e0(i(r).trim(),i(s).trim(),i(a).trim()||void 0);E(o,!1),_.ok?t.onSuccess():E(l,_.error,!0)}function d(_){E(n,_,!0),E(l,null)}var f=YT(),h=p(f),b=w(p(h),2);{var x=_=>{var m=HT(),I=ue(m),R=p(I);ye(R);var P=w(R,2);ye(P);var T=w(P,2),z=p(T,!0);v(T),v(I);var L=w(I,2);{var D=C=>{var O=UT();F("click",O,()=>d("register")),k(C,O)};K(L,C=>{t.selfRegistration&&C(D)})}N(C=>{R.disabled=i(o),P.disabled=i(o),T.disabled=C,j(z,i(o)?"Signing in...":"Sign in")},[()=>i(o)||!i(r).trim()||!i(s).trim()]),ze("submit",I,C=>{C.preventDefault(),c()}),Ie(R,()=>i(r),C=>E(r,C)),Ie(P,()=>i(s),C=>E(s,C)),k(_,m)},y=_=>{var m=KT(),I=ue(m),R=p(I);ye(R);var P=w(R,2);ye(P);var T=w(P,2);ye(T);var z=w(T,2),L=p(z,!0);v(z),v(I);var D=w(I,2);N(C=>{R.disabled=i(o),P.disabled=i(o),T.disabled=i(o),z.disabled=C,j(L,i(o)?"Creating...":"Create account")},[()=>i(o)||!i(r).trim()||!i(s).trim()]),ze("submit",I,C=>{C.preventDefault(),u()}),Ie(R,()=>i(r),C=>E(r,C)),Ie(P,()=>i(a),C=>E(a,C)),Ie(T,()=>i(s),C=>E(s,C)),F("click",D,()=>d("login")),k(_,m)};K(b,_=>{i(n)==="login"?_(x):_(y,-1)})}var g=w(b,2);{var S=_=>{var m=WT(),I=p(m,!0);v(m),N(()=>j(I,i(l))),k(_,m)};K(g,_=>{i(l)&&_(S)})}v(h),v(f),k(e,f),ae()}ce(["click"]);function XT(){if(typeof window>"u")return null;const e=new URLSearchParams(window.location.search);if(e.get("mode")!=="satellite")return null;const t=e.get("payload");if(!t)return{error:"Satellite mode requires payload param"};try{return{payload:$0(t)}}catch(n){return{error:n.message}}}function JT(e){return e.kind==="float"?{docked:e.content,floats:[]}:{docked:{type:"slot",slotId:"satellite:root",viewId:null},floats:[]}}var ZT=A('<header class="sh3-satellite-tabbar svelte-191z0e1" data-sh3-region="tabbar"><!> <!> <div class="sh3-satellite-floats-slot svelte-191z0e1" aria-hidden="true"></div></header> <main class="sh3-satellite-content svelte-191z0e1" data-sh3-region="content" data-sh3-layer="0"><!></main>',1),QT=A("<div><!> <!></div>");function $T(e,t){se(t,!0),xe(()=>{if(t.payload.kind==="float")nk(JT(t.payload).docked);else if(t.payload.kind==="app"){const c=t.payload.appId;queueMicrotask(()=>{Pn(c,{skipLastApp:!0,skipSwitchToHome:!0})})}});var n=QT();let r;var s=p(n);{var a=c=>{var u=ZT(),d=ue(u),f=p(d);yp(f,{});var h=w(f,2);xp(h,{}),Pt(2),v(d);var b=w(d,2),x=p(b);Gr(x,{}),v(b),k(c,u)},l=c=>{Gr(c,{})};K(s,c=>{t.payload.kind==="app"?c(a):c(l,-1)})}var o=w(s,2);gp(o,{}),v(n),N(()=>r=de(n,1,"sh3-satellite-root svelte-191z0e1",null,r,{"sh3-satellite-app":t.payload.kind==="app"})),k(e,n),ae()}async function eR(e){const t=e?.serverUrl??"",n=await U2();n.backends&&($i("workspace",n.backends.workspace),$i("user",n.backends.user)),n.localOwner&&n0(),$v(t),vx();const r=typeof e?.target=="string"?document.querySelector(e.target):e?.target??document.getElementById("app");if(!r)throw new Error("SH3: mount target not found");const s=XT();if(s){if("error"in s){r.textContent=`Invalid satellite payload: ${s.error}`;return}if($i("workspace",new Ao),n.localOwner&&ha("local"),e?.shards)for(const o of e.shards)Vu(o);if(e?.apps)for(const o of e.apps)Ps(o);await Gu(e?.discoveredPackages),await XA({activateShardIds:s.payload.kind==="app"?[]:s.payload.activateShards}),uu(),Fe($T,{target:r,props:{payload:s.payload}});return}let a=null;if(!n.localOwner)try{const o=await fetch(`${t}/api/boot`,{credentials:"include"});o.ok&&(a=await o.json())}catch{}if(n.localOwner)ha("local");else if(a){vu(t,a),ha(a.tenantId);const{auth:o,session:c}=a;if(!c&&o.required&&!o.guestAllowed){await tR(r,a);const u=await fetch(`${t}/api/boot`,{credentials:"include"});u.ok&&(a=await u.json(),vu(t,a),ha(a.tenantId))}}if(await Gu(e?.discoveredPackages),e?.shards)for(const o of e.shards)Vu(o);if(e?.apps)for(const o of e.apps)Ps(o);const l={};e?.excludeShards&&(l.excludeShards=e.excludeShards),await GA(l),uu(),Fe(FT,{target:r})}async function Gu(e){if(e?.length)for(const t of e)try{const n=await fetch(t.bundleUrl);if(!n.ok){console.warn(`[sh3] Failed to fetch discovered package "${t.id}": HTTP ${n.status}`);continue}const r=await n.arrayBuffer(),s=await oa(r);dc(s,{version:t.version,sourceRegistry:t.sourceRegistry??"",contractVersion:t.contractVersion??""}),console.log(`[sh3] Loaded discovered package: ${t.id}`)}catch(n){console.warn(`[sh3] Failed to load discovered package "${t.id}":`,n)}}function tR(e,t){return new Promise(n=>{const r=Fe(GT,{target:e,props:{selfRegistration:t.auth.selfRegistration,onSuccess:()=>{Qe(r),n()}}})})}const mc=window.location.origin;$v(mc);Kk(new M0(mc));let Ap=[];try{const e=await fetch("/api/packages");e.ok&&(Ap=await e.json())}catch{}await eR({discoveredPackages:Ap,serverUrl:mc});
21
+ //# sourceMappingURL=index-gLLDkQ7R.js.map