anygate 0.5.6 → 0.5.8

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,6 @@
1
+ var kl=Object.defineProperty;var Ds=t=>{throw TypeError(t)};var Sl=(t,e,r)=>e in t?kl(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var We=(t,e,r)=>Sl(t,typeof e!="symbol"?e+"":e,r),Ga=(t,e,r)=>e.has(t)||Ds("Cannot "+r);var x=(t,e,r)=>(Ga(t,e,"read from private field"),r?r.call(t):e.get(t)),oe=(t,e,r)=>e.has(t)?Ds("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),le=(t,e,r,a)=>(Ga(t,e,"write to private field"),a?a.call(t,r):e.set(t,r),r),me=(t,e,r)=>(Ga(t,e,"access private method"),r);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))a(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const i of l.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&a(i)}).observe(document,{childList:!0,subtree:!0});function r(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function a(s){if(s.ep)return;s.ep=!0;const l=r(s);fetch(s.href,l)}})();const on=!1;var ws=Array.isArray,Pl=Array.prototype.indexOf,Ia=Array.prototype.includes,qa=Array.from,Ml=Object.defineProperty,$r=Object.getOwnPropertyDescriptor,vn=Object.getOwnPropertyDescriptors,El=Object.prototype,zl=Array.prototype,bs=Object.getPrototypeOf,js=Object.isExtensible;const dn=()=>{};function Al(t){return t()}function es(t){for(var e=0;e<t.length;e++)t[e]()}function cn(){var t,e,r=new Promise((a,s)=>{t=a,e=s});return{promise:r,resolve:t,reject:e}}const De=2,Br=4,ga=8,un=1<<24,xt=16,_t=32,Kt=64,ts=128,pt=512,Le=1024,Fe=2048,St=4096,Je=8192,it=16384,Vr=32768,rs=1<<25,kr=65536,Oa=1<<17,Tl=1<<18,Yr=1<<19,fn=1<<20,Ct=1<<25,Sr=65536,$a=1<<21,Lr=1<<22,nr=1<<23,Ut=Symbol("$state"),Cl=Symbol("legacy props"),Il=Symbol(""),Pa=Symbol("attributes"),as=Symbol("class"),ss=Symbol("style"),ta=Symbol("text"),Ma=Symbol("form reset"),ma=new class extends Error{constructor(){super(...arguments);We(this,"name","StaleReactionError");We(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var sn;const Ol=!!((sn=globalThis.document)!=null&&sn.contentType)&&globalThis.document.contentType.includes("xml");function $l(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Ll(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Fl(t,e,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function Nl(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Rl(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Dl(t){throw new Error("https://svelte.dev/e/effect_orphan")}function jl(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function ql(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Hl(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Bl(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Ul(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Gl(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Kl=1,Wl=2,hn=4,Vl=8,Yl=16,Jl=1,Xl=2,Zl=4,Ql=8,ei=16,ti=1,ri=2,$e=Symbol("uninitialized"),pn="http://www.w3.org/1999/xhtml",ai="http://www.w3.org/2000/svg",si="http://www.w3.org/1998/Math/MathML";function ni(){console.warn("https://svelte.dev/e/derived_inert")}function li(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function ii(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function _n(t){return t===this.v}function oi(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function gn(t){return!oi(t,this.v)}let Jr=!1,vi=!1;function di(){Jr=!0}let Ee=null;function Ur(t){Ee=t}function he(t,e=!1,r){Ee={p:Ee,i:!1,c:null,e:null,s:t,x:null,r:ve,l:Jr&&!e?{s:null,u:null,$:[]}:null}}function pe(t){var e=Ee,r=e.e;if(r!==null){e.e=null;for(var a of r)Dn(a)}return e.i=!0,Ee=e.p,{}}function ya(){return!Jr||Ee!==null&&Ee.l===null}let dr=[];function mn(){var t=dr;dr=[],es(t)}function lr(t){if(dr.length===0&&!ia){var e=dr;queueMicrotask(()=>{e===dr&&mn()})}dr.push(t)}function ci(){for(;dr.length>0;)mn()}function yn(t){var e=ve;if(e===null)return ce.f|=nr,t;if((e.f&Vr)===0&&(e.f&Br)===0)throw t;tr(t,e)}function tr(t,e){if(!(e!==null&&(e.f&it)!==0)){for(;e!==null;){if((e.f&ts)!==0){if((e.f&Vr)===0)throw t;try{e.b.error(t);return}catch(r){t=r}}e=e.parent}throw t}}const ui=-7169;function Te(t,e){t.f=t.f&ui|e}function xs(t){(t.f&pt)!==0||t.deps===null?Te(t,Le):Te(t,St)}function wn(t){if(t!==null)for(const e of t)(e.f&De)===0||(e.f&Sr)===0||(e.f^=Sr,wn(e.deps))}function bn(t,e,r){(t.f&Fe)!==0?e.add(t):(t.f&St)!==0&&r.add(t),wn(t.deps),Te(t,Le)}let xa=!1;function fi(t){var e=xa;try{return xa=!1,[t(),xa]}finally{xa=e}}let qs=!1;function hi(){qs||(qs=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const r of t.target.elements)(e=r[Ma])==null||e.call(r)})},{capture:!0}))}function Xr(t){var e=ce,r=ve;gt(null),Lt(null);try{return t()}finally{gt(e),Lt(r)}}function xn(t,e,r,a=r){t.addEventListener(e,()=>Xr(r));const s=t[Ma];s?t[Ma]=()=>{s(),a(!0)}:t[Ma]=()=>a(!0),hi()}function pi(t){let e=0,r=Mr(0),a;return()=>{Es()&&(n(r),As(()=>(e===0&&(a=Zr(()=>t(()=>oa(r)))),e+=1,()=>{lr(()=>{e-=1,e===0&&(a==null||a(),a=void 0,oa(r))})})))}}var _i=kr|Yr;function gi(t,e,r,a){new mi(t,e,r,a)}var ct,ys,ut,fr,Ze,ft,Ve,nt,jt,hr,Qt,Fr,ua,fa,qt,Ra,ze,yi,wi,bi,ns,Ea,za,ls,is;class mi{constructor(e,r,a,s){oe(this,ze);We(this,"parent");We(this,"is_pending",!1);We(this,"transform_error");oe(this,ct);oe(this,ys,null);oe(this,ut);oe(this,fr);oe(this,Ze);oe(this,ft,null);oe(this,Ve,null);oe(this,nt,null);oe(this,jt,null);oe(this,hr,0);oe(this,Qt,0);oe(this,Fr,!1);oe(this,ua,new Set);oe(this,fa,new Set);oe(this,qt,null);oe(this,Ra,pi(()=>(le(this,qt,Mr(x(this,hr))),()=>{le(this,qt,null)})));var l;le(this,ct,e),le(this,ut,r),le(this,fr,i=>{var v=ve;v.b=this,v.f|=ts,a(i)}),this.parent=ve.b,this.transform_error=s??((l=this.parent)==null?void 0:l.transform_error)??(i=>i),le(this,Ze,Ha(()=>{me(this,ze,ns).call(this)},_i))}defer_effect(e){bn(e,x(this,ua),x(this,fa))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!x(this,ut).pending}update_pending_count(e,r){me(this,ze,ls).call(this,e,r),le(this,hr,x(this,hr)+e),!(!x(this,qt)||x(this,Fr))&&(le(this,Fr,!0),lr(()=>{le(this,Fr,!1),x(this,qt)&&Kr(x(this,qt),x(this,hr))}))}get_effect_pending(){return x(this,Ra).call(this),n(x(this,qt))}error(e){if(!x(this,ut).onerror&&!x(this,ut).failed)throw e;te!=null&&te.is_fork?(x(this,ft)&&te.skip_effect(x(this,ft)),x(this,Ve)&&te.skip_effect(x(this,Ve)),x(this,nt)&&te.skip_effect(x(this,nt)),te.oncommit(()=>{me(this,ze,is).call(this,e)})):me(this,ze,is).call(this,e)}}ct=new WeakMap,ys=new WeakMap,ut=new WeakMap,fr=new WeakMap,Ze=new WeakMap,ft=new WeakMap,Ve=new WeakMap,nt=new WeakMap,jt=new WeakMap,hr=new WeakMap,Qt=new WeakMap,Fr=new WeakMap,ua=new WeakMap,fa=new WeakMap,qt=new WeakMap,Ra=new WeakMap,ze=new WeakSet,yi=function(){try{le(this,ft,ht(()=>x(this,fr).call(this,x(this,ct))))}catch(e){this.error(e)}},wi=function(e){const r=x(this,ut).failed;r&&le(this,nt,ht(()=>{r(x(this,ct),()=>e,()=>()=>{})}))},bi=function(){const e=x(this,ut).pending;e&&(this.is_pending=!0,le(this,Ve,ht(()=>e(x(this,ct)))),lr(()=>{var r=le(this,jt,document.createDocumentFragment()),a=Gt();r.append(a),le(this,ft,me(this,ze,za).call(this,()=>ht(()=>x(this,fr).call(this,a)))),x(this,Qt)===0&&(x(this,ct).before(r),le(this,jt,null),yr(x(this,Ve),()=>{le(this,Ve,null)}),me(this,ze,Ea).call(this,te))}))},ns=function(){try{if(this.is_pending=this.has_pending_snippet(),le(this,Qt,0),le(this,hr,0),le(this,ft,ht(()=>{x(this,fr).call(this,x(this,ct))})),x(this,Qt)>0){var e=le(this,jt,document.createDocumentFragment());Cs(x(this,ft),e);const r=x(this,ut).pending;le(this,Ve,ht(()=>r(x(this,ct))))}else me(this,ze,Ea).call(this,te)}catch(r){this.error(r)}},Ea=function(e){this.is_pending=!1,e.transfer_effects(x(this,ua),x(this,fa))},za=function(e){var r=ve,a=ce,s=Ee;Lt(x(this,Ze)),gt(x(this,Ze)),Ur(x(this,Ze).ctx);try{return Pr.ensure(),e()}catch(l){return yn(l),null}finally{Lt(r),gt(a),Ur(s)}},ls=function(e,r){var a;if(!this.has_pending_snippet()){this.parent&&me(a=this.parent,ze,ls).call(a,e,r);return}le(this,Qt,x(this,Qt)+e),x(this,Qt)===0&&(me(this,ze,Ea).call(this,r),x(this,Ve)&&yr(x(this,Ve),()=>{le(this,Ve,null)}),x(this,jt)&&(x(this,ct).before(x(this,jt)),le(this,jt,null)))},is=function(e){x(this,ft)&&(tt(x(this,ft)),le(this,ft,null)),x(this,Ve)&&(tt(x(this,Ve)),le(this,Ve,null)),x(this,nt)&&(tt(x(this,nt)),le(this,nt,null));var r=x(this,ut).onerror;let a=x(this,ut).failed;var s=!1,l=!1;const i=()=>{if(s){ii();return}s=!0,l&&Gl(),x(this,nt)!==null&&yr(x(this,nt),()=>{le(this,nt,null)}),me(this,ze,za).call(this,()=>{me(this,ze,ns).call(this)})},v=o=>{try{l=!0,r==null||r(o,i),l=!1}catch(d){tr(d,x(this,Ze)&&x(this,Ze).parent)}a&&le(this,nt,me(this,ze,za).call(this,()=>{try{return ht(()=>{var d=ve;d.b=this,d.f|=ts,a(x(this,ct),()=>o,()=>i)})}catch(d){return tr(d,x(this,Ze).parent),null}}))};lr(()=>{var o;try{o=this.transform_error(e)}catch(d){tr(d,x(this,Ze)&&x(this,Ze).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(v,d=>tr(d,x(this,Ze)&&x(this,Ze).parent)):v(o)})};function xi(t,e,r,a){const s=ya()?Gr:ks;var l=t.filter(g=>!g.settled),i=e.map(s);if(r.length===0&&l.length===0){a(i);return}var v=ve,o=ki(),d=l.length===1?l[0].promise:l.length>1?Promise.all(l.map(g=>g.promise)):null;function h(g){if((v.f&it)===0){o();try{a([...i,...g])}catch(m){tr(m,v)}La()}}var _=kn();if(r.length===0){d.then(()=>h([])).finally(_);return}function f(){Promise.all(r.map(g=>Si(g))).then(h).catch(g=>tr(g,v)).finally(_)}d?d.then(()=>{o(),f(),La()}):f()}function ki(){var t=ve,e=ce,r=Ee,a=te;return function(l=!0){Lt(t),gt(e),Ur(r),l&&(t.f&it)===0&&(a==null||a.activate(),a==null||a.apply())}}function La(t=!0){Lt(null),gt(null),Ur(null),t&&(te==null||te.deactivate())}function kn(){var t=ve,e=t.b,r=te,a=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,r),r.increment(a,t),()=>{e==null||e.update_pending_count(-1,r),r.decrement(a,t)}}function Gr(t){var e=De|Fe;return ve!==null&&(ve.f|=Yr),{ctx:Ee,deps:null,effects:null,equals:_n,f:e,fn:t,reactions:null,rv:0,v:$e,wv:0,parent:ve,ac:null}}const ra=Symbol("obsolete");function Si(t,e,r){let a=ve;a===null&&Ll();var s=void 0,l=Mr($e),i=!ce,v=new Set;return Di(()=>{var g,m;var o=ve,d=cn();s=d.promise;try{Promise.resolve(t()).then(d.resolve,y=>{y!==ma&&d.reject(y)}).finally(La)}catch(y){d.reject(y),La()}var h=te;if(i){if((o.f&Vr)!==0)var _=kn();if((g=a.b)!=null&&g.is_rendered())(m=h.async_deriveds.get(o))==null||m.reject(ra);else for(const y of v.values())y.reject(ra);v.add(d),h.async_deriveds.set(o,d)}const f=(y,w=void 0)=>{_==null||_(),v.delete(d),w!==ra&&(h.activate(),w?(l.f|=nr,Kr(l,w)):((l.f&nr)!==0&&(l.f^=nr),Kr(l,y)),h.deactivate())};d.promise.then(f,y=>f(null,y||"unknown"))}),zs(()=>{for(const o of v)o.reject(ra)}),new Promise(o=>{function d(h){function _(){h===s?o(l):d(s)}h.then(_,_)}d(s)})}function Y(t){const e=Gr(t);return Kn(e),e}function ks(t){const e=Gr(t);return e.equals=gn,e}function Pi(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r<e.length;r+=1)tt(e[r])}}function Ss(t){var e,r=ve,a=t.parent;if(!Wt&&a!==null&&t.v!==$e&&(a.f&(it|Je))!==0)return ni(),t.v;Lt(a);try{t.f&=~Sr,Pi(t),e=Jn(t)}finally{Lt(r)}return e}function Sn(t){var e=Ss(t);if(!t.equals(e)&&(t.wv=Vn(),(!(te!=null&&te.is_fork)||t.deps===null)&&(te!==null?(te.capture(t,e,!0),la==null||la.capture(t,e,!0)):t.v=e,t.deps===null))){Te(t,Le);return}Wt||(He!==null?(Es()||te!=null&&te.is_fork)&&He.set(t,e):xs(t))}function Mi(t){var e;if(t.effects!==null)for(const r of t.effects)(r.teardown||r.ac)&&((e=r.teardown)==null||e.call(r),r.ac!==null&&Xr(()=>{r.ac.abort(ma),r.ac=null}),r.fn!==null&&(r.teardown=dn),ca(r,0),Ts(r))}function Pn(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&e.fn!==null&&Wr(e)}let Ka=null,Cr=null,te=null,la=null,He=null,os=null,ia=!1,Wa=!1,Or=null,Aa=null;var Hs=0;let Ei=1;var Nr,er,pr,Rr,Dr,jr,Ht,qr,Qe,ha,Bt,yt,At,Hr,_r,xe,vs,aa,ds,Mn,En,Ir,zi,sa;const Da=class Da{constructor(){oe(this,xe);We(this,"id",Ei++);oe(this,Nr,!1);We(this,"linked",!0);oe(this,er,null);oe(this,pr,null);We(this,"async_deriveds",new Map);We(this,"current",new Map);We(this,"previous",new Map);oe(this,Rr,new Set);oe(this,Dr,new Set);oe(this,jr,0);oe(this,Ht,new Map);oe(this,qr,null);oe(this,Qe,[]);oe(this,ha,[]);oe(this,Bt,new Set);oe(this,yt,new Set);oe(this,At,new Map);oe(this,Hr,new Set);We(this,"is_fork",!1);oe(this,_r,!1);Cr===null?Ka=Cr=this:(le(Cr,pr,this),le(this,er,Cr)),Cr=this}skip_effect(e){x(this,At).has(e)||x(this,At).set(e,{d:[],m:[]}),x(this,Hr).delete(e)}unskip_effect(e,r=a=>this.schedule(a)){var a=x(this,At).get(e);if(a){x(this,At).delete(e);for(var s of a.d)Te(s,Fe),r(s);for(s of a.m)Te(s,St),r(s)}x(this,Hr).add(e)}capture(e,r,a=!1){e.v!==$e&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&nr)===0&&(this.current.set(e,[r,a]),He==null||He.set(e,r)),this.is_fork||(e.v=r)}activate(){te=this}deactivate(){te=null,He=null}flush(){try{Wa=!0,te=this,me(this,xe,aa).call(this)}finally{Hs=0,os=null,Or=null,Aa=null,Wa=!1,te=null,He=null,mr.clear()}}discard(){var e;for(const r of x(this,Dr))r(this);x(this,Dr).clear();for(const r of this.async_deriveds.values())r.reject(ra);me(this,xe,sa).call(this),(e=x(this,qr))==null||e.resolve()}register_created_effect(e){x(this,ha).push(e)}increment(e,r){if(le(this,jr,x(this,jr)+1),e){let a=x(this,Ht).get(r)??0;x(this,Ht).set(r,a+1)}}decrement(e,r){if(le(this,jr,x(this,jr)-1),e){let a=x(this,Ht).get(r)??0;a===1?x(this,Ht).delete(r):x(this,Ht).set(r,a-1)}x(this,_r)||(le(this,_r,!0),lr(()=>{le(this,_r,!1),this.linked&&this.flush()}))}transfer_effects(e,r){for(const a of e)x(this,Bt).add(a);for(const a of r)x(this,yt).add(a);e.clear(),r.clear()}oncommit(e){x(this,Rr).add(e)}ondiscard(e){x(this,Dr).add(e)}settled(){return(x(this,qr)??le(this,qr,cn())).promise}static ensure(){if(te===null){const e=te=new Da;!Wa&&!ia&&lr(()=>{x(e,Nr)||e.flush()})}return te}apply(){{He=null;return}}schedule(e){var s;if(os=e,(s=e.b)!=null&&s.is_pending&&(e.f&(Br|ga|un))!==0&&(e.f&Vr)===0){e.b.defer_effect(e);return}for(var r=e;r.parent!==null;){r=r.parent;var a=r.f;if(Or!==null&&r===ve&&(ce===null||(ce.f&De)===0))return;if((a&(Kt|_t))!==0){if((a&Le)===0)return;r.f^=Le}}x(this,Qe).push(r)}};Nr=new WeakMap,er=new WeakMap,pr=new WeakMap,Rr=new WeakMap,Dr=new WeakMap,jr=new WeakMap,Ht=new WeakMap,qr=new WeakMap,Qe=new WeakMap,ha=new WeakMap,Bt=new WeakMap,yt=new WeakMap,At=new WeakMap,Hr=new WeakMap,_r=new WeakMap,xe=new WeakSet,vs=function(){if(this.is_fork)return!0;for(const a of x(this,Ht).keys()){for(var e=a,r=!1;e.parent!==null;){if(x(this,At).has(e)){r=!0;break}e=e.parent}if(!r)return!0}return!1},aa=function(){var o,d,h,_;le(this,Nr,!0),Hs++>1e3&&(me(this,xe,sa).call(this),Ti());for(const f of x(this,Bt))x(this,yt).delete(f),Te(f,Fe),this.schedule(f);for(const f of x(this,yt))Te(f,St),this.schedule(f);const e=x(this,Qe);le(this,Qe,[]),this.apply();var r=Or=[],a=[],s=Aa=[];for(const f of e)try{me(this,xe,ds).call(this,f,r,a)}catch(g){throw Tn(f),me(this,xe,vs).call(this)||this.discard(),g}if(te=null,s.length>0){var l=Da.ensure();for(const f of s)l.schedule(f)}if(Or=null,Aa=null,me(this,xe,vs).call(this)){me(this,xe,Ir).call(this,a),me(this,xe,Ir).call(this,r);for(const[f,g]of x(this,At))An(f,g);s.length>0&&me(o=te,xe,aa).call(o);return}const i=me(this,xe,Mn).call(this);if(i){me(this,xe,Ir).call(this,a),me(this,xe,Ir).call(this,r),me(d=i,xe,En).call(d,this);return}x(this,Bt).clear(),x(this,yt).clear();for(const f of x(this,Rr))f(this);x(this,Rr).clear(),la=this,Bs(a),Bs(r),la=null,(h=x(this,qr))==null||h.resolve();var v=te;if(x(this,jr)===0&&(x(this,Qe).length===0||v!==null)&&me(this,xe,sa).call(this),x(this,Qe).length>0)if(v!==null){const f=v;x(f,Qe).push(...x(this,Qe).filter(g=>!x(f,Qe).includes(g)))}else v=this;v!==null&&me(_=v,xe,aa).call(_)},ds=function(e,r,a){e.f^=Le;for(var s=e.first;s!==null;){var l=s.f,i=(l&(_t|Kt))!==0,v=i&&(l&Le)!==0,o=v||(l&Je)!==0||x(this,At).has(s);if(!o&&s.fn!==null){i?s.f^=Le:(l&Br)!==0?r.push(s):ba(s)&&((l&xt)!==0&&x(this,yt).add(s),Wr(s));var d=s.first;if(d!==null){s=d;continue}}for(;s!==null;){var h=s.next;if(h!==null){s=h;break}s=s.parent}}},Mn=function(){for(var e=x(this,er);e!==null;){if(!e.is_fork){for(const[r,[,a]]of this.current)if(e.current.has(r)&&!a)return e}e=x(e,er)}return null},En=function(e){var a;for(const[s,l]of e.current)!this.previous.has(s)&&e.previous.has(s)&&this.previous.set(s,e.previous.get(s)),this.current.set(s,l);for(const[s,l]of e.async_deriveds){const i=this.async_deriveds.get(s);i&&l.promise.then(i.resolve).catch(i.reject)}e.async_deriveds.clear(),this.transfer_effects(x(e,Bt),x(e,yt));const r=s=>{var l=s.reactions;if(l!==null&&!((s.f&De)!==0&&(s.f&(Fe|St))===0))for(const o of l){var i=o.f;if((i&De)!==0)r(o);else{var v=o;i&(Lr|xt)&&!this.async_deriveds.has(v)&&(x(this,yt).delete(v),Te(v,Fe),this.schedule(v))}}};for(const s of this.current.keys())r(s);this.oncommit(()=>e.discard()),me(a=e,xe,sa).call(a),te=this,me(this,xe,aa).call(this)},Ir=function(e){for(var r=0;r<e.length;r+=1)bn(e[r],x(this,Bt),x(this,yt))},zi=function(){var _;for(let f=Ka;f!==null;f=x(f,pr)){var e=f.id<this.id,r=[];for(const[g,[m,y]]of this.current){if(f.current.has(g)){var a=f.current.get(g)[0];if(e&&m!==a)f.current.set(g,[m,y]);else continue}r.push(g)}if(e)for(const[g,m]of this.async_deriveds){const y=f.async_deriveds.get(g);y&&m.promise.then(y.resolve).catch(y.reject)}var s=[...f.current.keys()].filter(g=>!f.current.get(g)[1]);if(!(!x(f,Nr)||s.length===0)){var l=s.filter(g=>!this.current.has(g));if(l.length===0)e&&f.discard();else if(r.length>0){if(e)for(const g of x(this,Hr))f.unskip_effect(g,m=>{var y;(m.f&(xt|Lr))!==0?f.schedule(m):me(y=f,xe,Ir).call(y,[m])});f.activate();var i=new Set,v=new Map;for(var o of r)zn(o,l,i,v);v=new Map;var d=[...f.current].filter(([g,m])=>{const y=this.current.get(g);return y?y[0]!==m[0]||y[1]!==m[1]:!0}).map(([g])=>g);if(d.length>0)for(const g of x(this,ha))(g.f&(it|Je|Oa))===0&&Ps(g,d,v)&&((g.f&(Lr|xt))!==0?(Te(g,Fe),f.schedule(g)):x(f,Bt).add(g));if(x(f,Qe).length>0&&!x(f,_r)){f.apply();for(var h of x(f,Qe))me(_=f,xe,ds).call(_,h,[],[]);le(f,Qe,[])}f.deactivate()}}}},sa=function(){if(this.linked){var e=x(this,er),r=x(this,pr);e===null?Ka=r:le(e,pr,r),r===null?Cr=e:le(r,er,e),this.linked=!1}};let Pr=Da;function Ai(t){var e=ia;ia=!0;try{for(var r;;){if(ci(),te===null)return r;te.flush()}}finally{ia=e}}function Ti(){try{jl()}catch(t){tr(t,os)}}let mt=null;function Bs(t){var e=t.length;if(e!==0){for(var r=0;r<e;){var a=t[r++];if((a.f&(it|Je))===0&&ba(a)&&(mt=new Set,Wr(a),a.deps===null&&a.first===null&&a.nodes===null&&a.teardown===null&&a.ac===null&&Bn(a),(mt==null?void 0:mt.size)>0)){mr.clear();for(const s of mt){if((s.f&(it|Je))!==0)continue;const l=[s];let i=s.parent;for(;i!==null;)mt.has(i)&&(mt.delete(i),l.push(i)),i=i.parent;for(let v=l.length-1;v>=0;v--){const o=l[v];(o.f&(it|Je))===0&&Wr(o)}}mt.clear()}}mt=null}}function zn(t,e,r,a){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const s of t.reactions){const l=s.f;(l&De)!==0?zn(s,e,r,a):(l&(Lr|xt))!==0&&(l&Fe)===0&&Ps(s,e,a)&&(Te(s,Fe),Ms(s))}}function Ps(t,e,r){const a=r.get(t);if(a!==void 0)return a;if(t.deps!==null)for(const s of t.deps){if(Ia.call(e,s))return!0;if((s.f&De)!==0&&Ps(s,e,r))return r.set(s,!0),!0}return r.set(t,!1),!1}function Ms(t){te.schedule(t)}function An(t,e){if(!((t.f&_t)!==0&&(t.f&Le)!==0)){(t.f&Fe)!==0?e.d.push(t):(t.f&St)!==0&&e.m.push(t),Te(t,Le);for(var r=t.first;r!==null;)An(r,e),r=r.next}}function Tn(t){Te(t,Le);for(var e=t.first;e!==null;)Tn(e),e=e.next}let Fa=new Set;const mr=new Map;let Cn=!1;function Mr(t,e){var r={f:0,v:t,reactions:null,equals:_n,rv:0,wv:0};return r}function ee(t,e){const r=Mr(t);return Kn(r),r}function Ci(t,e=!1,r=!0){var s;const a=Mr(t);return e||(a.equals=gn),Jr&&r&&Ee!==null&&Ee.l!==null&&((s=Ee.l).s??(s.s=[])).push(a),a}function C(t,e,r=!1){ce!==null&&(!kt||(ce.f&Oa)!==0)&&ya()&&(ce.f&(De|xt|Lr|Oa))!==0&&(Ot===null||!Ot.has(t))&&Ul();let a=r?Ne(e):e;return Kr(t,a,Aa)}function Kr(t,e,r=null){if(!t.equals(e)){mr.set(t,Wt?e:t.v);var a=Pr.ensure();if(a.capture(t,e),(t.f&De)!==0){const s=t;(t.f&Fe)!==0&&Ss(s),He===null&&xs(s)}t.wv=Vn(),In(t,Fe,r),ya()&&ve!==null&&(ve.f&Le)!==0&&(ve.f&(_t|Kt))===0&&(dt===null?qi([t]):dt.push(t)),!a.is_fork&&Fa.size>0&&!Cn&&Ii()}return e}function Ii(){Cn=!1;for(const t of Fa){(t.f&Le)!==0&&Te(t,St);let e;try{e=ba(t)}catch{e=!0}e&&Wr(t)}Fa.clear()}function oa(t){C(t,t.v+1)}function In(t,e,r){var a=t.reactions;if(a!==null)for(var s=ya(),l=a.length,i=0;i<l;i++){var v=a[i],o=v.f;if(!(!s&&v===ve)){var d=(o&Fe)===0;if(d&&Te(v,e),(o&Oa)!==0)Fa.add(v);else if((o&De)!==0){var h=v;He==null||He.delete(h),(o&Sr)===0&&(o&pt&&(ve===null||(ve.f&$a)===0)&&(v.f|=Sr),In(h,St,r))}else if(d){var _=v;(o&xt)!==0&&mt!==null&&mt.add(_),r!==null?r.push(_):Ms(_)}}}}function Ne(t){if(typeof t!="object"||t===null||Ut in t)return t;const e=bs(t);if(e!==El&&e!==zl)return t;var r=new Map,a=ws(t),s=ee(0),l=wr,i=v=>{if(wr===l)return v();var o=ce,d=wr;gt(null),Ks(l);var h=v();return gt(o),Ks(d),h};return a&&r.set("length",ee(t.length)),new Proxy(t,{defineProperty(v,o,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&Hl();var h=r.get(o);return h===void 0?i(()=>{var _=ee(d.value);return r.set(o,_),_}):C(h,d.value,!0),!0},deleteProperty(v,o){var d=r.get(o);if(d===void 0){if(o in v){const h=i(()=>ee($e));r.set(o,h),oa(s)}}else C(d,$e),oa(s);return!0},get(v,o,d){var g;if(o===Ut)return t;var h=r.get(o),_=o in v;if(h===void 0&&(!_||(g=$r(v,o))!=null&&g.writable)&&(h=i(()=>{var m=Ne(_?v[o]:$e),y=ee(m);return y}),r.set(o,h)),h!==void 0){var f=n(h);return f===$e?void 0:f}return Reflect.get(v,o,d)},getOwnPropertyDescriptor(v,o){var d=Reflect.getOwnPropertyDescriptor(v,o);if(d&&"value"in d){var h=r.get(o);h&&(d.value=n(h))}else if(d===void 0){var _=r.get(o),f=_==null?void 0:_.v;if(_!==void 0&&f!==$e)return{enumerable:!0,configurable:!0,value:f,writable:!0}}return d},has(v,o){var f;if(o===Ut)return!0;var d=r.get(o),h=d!==void 0&&d.v!==$e||Reflect.has(v,o);if(d!==void 0||ve!==null&&(!h||(f=$r(v,o))!=null&&f.writable)){d===void 0&&(d=i(()=>{var g=h?Ne(v[o]):$e,m=ee(g);return m}),r.set(o,d));var _=n(d);if(_===$e)return!1}return h},set(v,o,d,h){var M;var _=r.get(o),f=o in v;if(a&&o==="length")for(var g=d;g<_.v;g+=1){var m=r.get(g+"");m!==void 0?C(m,$e):g in v&&(m=i(()=>ee($e)),r.set(g+"",m))}if(_===void 0)(!f||(M=$r(v,o))!=null&&M.writable)&&(_=i(()=>ee(void 0)),C(_,Ne(d)),r.set(o,_));else{f=_.v!==$e;var y=i(()=>Ne(d));C(_,y)}var w=Reflect.getOwnPropertyDescriptor(v,o);if(w!=null&&w.set&&w.set.call(h,d),!f){if(a&&typeof o=="string"){var L=r.get("length"),N=Number(o);Number.isInteger(N)&&N>=L.v&&C(L,N+1)}oa(s)}return!0},ownKeys(v){n(s);var o=Reflect.ownKeys(v).filter(_=>{var f=r.get(_);return f===void 0||f.v!==$e});for(var[d,h]of r)h.v!==$e&&!(d in v)&&o.push(d);return o},setPrototypeOf(){Bl()}})}function Us(t){try{if(t!==null&&typeof t=="object"&&Ut in t)return t[Ut]}catch{}return t}function Oi(t,e){return Object.is(Us(t),Us(e))}var cs,On,$n,Ln;function $i(){if(cs===void 0){cs=window,On=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;$n=$r(e,"firstChild").get,Ln=$r(e,"nextSibling").get,js(t)&&(t[as]=void 0,t[Pa]=null,t[ss]=void 0,t.__e=void 0),js(r)&&(r[ta]=void 0)}}function Gt(t=""){return document.createTextNode(t)}function It(t){return $n.call(t)}function wa(t){return Ln.call(t)}function c(t,e){return It(t)}function Q(t,e=!1){{var r=It(t);return r instanceof Comment&&r.data===""?wa(r):r}}function u(t,e=1,r=!1){let a=t;for(;e--;)a=wa(a);return a}function Li(t){t.textContent=""}function Fn(){return!1}function Nn(t,e,r){return e==null||e===pn?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(e,t,{is:r}):document.createElementNS(e,t)}function Rn(t){ve===null&&(ce===null&&Dl(),Rl()),Wt&&Nl()}function Fi(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function Ft(t,e){var r=ve;r!==null&&(r.f&Je)!==0&&(t|=Je);var a={ctx:Ee,deps:null,nodes:null,f:t|Fe|pt,first:null,fn:e,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};te==null||te.register_created_effect(a);var s=a;if((t&Br)!==0)Or!==null?Or.push(a):Pr.ensure().schedule(a);else if(e!==null){try{Wr(a)}catch(i){throw tt(a),i}s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&(s.f&Yr)===0&&(s=s.first,(t&xt)!==0&&(t&kr)!==0&&s!==null&&(s.f|=kr))}if(s!==null&&(s.parent=r,r!==null&&Fi(s,r),ce!==null&&(ce.f&De)!==0&&(t&Kt)===0)){var l=ce;(l.effects??(l.effects=[])).push(s)}return a}function Es(){return ce!==null&&!kt}function zs(t){const e=Ft(ga,null);return Te(e,Le),e.teardown=t,e}function $t(t){Rn();var e=ve.f,r=!ce&&(e&_t)!==0&&Ee!==null&&!Ee.i;if(r){var a=Ee;(a.e??(a.e=[])).push(t)}else return Dn(t)}function Dn(t){return Ft(Br|fn,t)}function Ni(t){return Rn(),Ft(ga|fn,t)}function Ri(t){Pr.ensure();const e=Ft(Kt|Yr,t);return(r={})=>new Promise(a=>{r.outro?yr(e,()=>{tt(e),a(void 0)}):(tt(e),a(void 0))})}function jn(t){return Ft(Br,t)}function Di(t){return Ft(Lr|Yr,t)}function As(t,e=0){return Ft(ga|e,t)}function $(t,e=[],r=[],a=[]){xi(a,e,r,s=>{Ft(ga,()=>{t(...s.map(n))})})}function Ha(t,e=0){var r=Ft(xt|e,t);return r}function ht(t){return Ft(_t|Yr,t)}function qn(t){var e=t.teardown;if(e!==null){const r=Wt,a=ce;Gs(!0),gt(null);try{e.call(null)}finally{Gs(r),gt(a)}}}function Ts(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const s=r.ac;s!==null&&Xr(()=>{s.abort(ma)});var a=r.next;(r.f&Kt)!==0?r.parent=null:tt(r,e),r=a}}function ji(t){for(var e=t.first;e!==null;){var r=e.next;(e.f&_t)===0&&tt(e),e=r}}function tt(t,e=!0){var r=!1;(e||(t.f&Tl)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Hn(t.nodes.start,t.nodes.end),r=!0),t.f|=rs,Ts(t,e&&!r),ca(t,0);var a=t.nodes&&t.nodes.t;if(a!==null)for(const l of a)l.stop();qn(t),t.f^=rs,t.f|=it;var s=t.parent;s!==null&&s.first!==null&&Bn(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Hn(t,e){for(;t!==null;){var r=t===e?null:wa(t);t.remove(),t=r}}function Bn(t){var e=t.parent,r=t.prev,a=t.next;r!==null&&(r.next=a),a!==null&&(a.prev=r),e!==null&&(e.first===t&&(e.first=a),e.last===t&&(e.last=r))}function yr(t,e,r=!0){var a=[];Un(t,a,!0);var s=()=>{r&&tt(t),e&&e()},l=a.length;if(l>0){var i=()=>--l||s();for(var v of a)v.out(i)}else s()}function Un(t,e,r){if((t.f&Je)===0){t.f^=Je;var a=t.nodes&&t.nodes.t;if(a!==null)for(const v of a)(v.is_global||r)&&e.push(v);for(var s=t.first;s!==null;){var l=s.next;if((s.f&Kt)===0){var i=(s.f&kr)!==0||(s.f&_t)!==0&&(t.f&xt)!==0;Un(s,e,i?r:!1)}s=l}}}function Na(t){Gn(t,!0)}function Gn(t,e){if((t.f&Je)!==0){t.f^=Je,(t.f&Le)===0&&(Te(t,Fe),Pr.ensure().schedule(t));for(var r=t.first;r!==null;){var a=r.next,s=(r.f&kr)!==0||(r.f&_t)!==0;Gn(r,s?e:!1),r=a}var l=t.nodes&&t.nodes.t;if(l!==null)for(const i of l)(i.is_global||e)&&i.in()}}function Cs(t,e){if(t.nodes)for(var r=t.nodes.start,a=t.nodes.end;r!==null;){var s=r===a?null:wa(r);e.append(r),r=s}}let Ta=!1,Wt=!1;function Gs(t){Wt=t}let ce=null,kt=!1;function gt(t){ce=t}let ve=null;function Lt(t){ve=t}let Ot=null;function Kn(t){ce!==null&&(Ot??(Ot=new Set)).add(t)}let et=null,st=0,dt=null;function qi(t){dt=t}let Wn=1,cr=0,wr=cr;function Ks(t){wr=t}function Vn(){return++Wn}function ba(t){var e=t.f;if((e&Fe)!==0)return!0;if(e&De&&(t.f&=~Sr),(e&St)!==0){for(var r=t.deps,a=r.length,s=0;s<a;s++){var l=r[s];if(ba(l)&&Sn(l),l.wv>t.wv)return!0}(e&pt)!==0&&He===null&&Te(t,Le)}return!1}function Yn(t,e,r=!0){var a=t.reactions;if(a!==null&&!(Ot!==null&&Ot.has(t)))for(var s=0;s<a.length;s++){var l=a[s];(l.f&De)!==0?Yn(l,e,!1):e===l&&(r?Te(l,Fe):(l.f&Le)!==0&&Te(l,St),Ms(l))}}function Jn(t){var y;var e=et,r=st,a=dt,s=ce,l=Ot,i=Ee,v=kt,o=wr,d=t.f;et=null,st=0,dt=null,ce=(d&(_t|Kt))===0?t:null,Ot=null,Ur(t.ctx),kt=!1,wr=++cr,t.ac!==null&&(Xr(()=>{t.ac.abort(ma)}),t.ac=null);try{t.f|=$a;var h=t.fn,_=h();t.f|=Vr;var f=t.deps,g=te==null?void 0:te.is_fork;if(et!==null){var m;if(g||ca(t,st),f!==null&&st>0)for(f.length=st+et.length,m=0;m<et.length;m++)f[st+m]=et[m];else t.deps=f=et;if(Es()&&(t.f&pt)!==0)for(m=st;m<f.length;m++)((y=f[m]).reactions??(y.reactions=[])).push(t)}else!g&&f!==null&&st<f.length&&(ca(t,st),f.length=st);if(ya()&&dt!==null&&!kt&&f!==null&&(t.f&(De|St|Fe))===0)for(m=0;m<dt.length;m++)Yn(dt[m],t);if(s!==null&&s!==t){if(cr++,s.deps!==null)for(let w=0;w<r;w+=1)s.deps[w].rv=cr;if(e!==null)for(const w of e)w.rv=cr;dt!==null&&(a===null?a=dt:a.push(...dt))}return(t.f&nr)!==0&&(t.f^=nr),_}catch(w){return yn(w)}finally{t.f^=$a,et=e,st=r,dt=a,ce=s,Ot=l,Ur(i),kt=v,wr=o}}function Hi(t,e){let r=e.reactions;if(r!==null){var a=Pl.call(r,t);if(a!==-1){var s=r.length-1;s===0?r=e.reactions=null:(r[a]=r[s],r.pop())}}if(r===null&&(e.f&De)!==0&&(et===null||!Ia.call(et,e))){var l=e;(l.f&pt)!==0&&(l.f^=pt,l.f&=~Sr),l.v!==$e&&xs(l),l.ac!==null&&Xr(()=>{l.ac.abort(ma),l.ac=null}),Mi(l),ca(l,0)}}function ca(t,e){var r=t.deps;if(r!==null)for(var a=e;a<r.length;a++)Hi(t,r[a])}function Wr(t){var e=t.f;if((e&it)===0){Te(t,Le);var r=ve,a=Ta;ve=t,Ta=(e&(_t|Kt))===0;try{(e&(xt|un))!==0?ji(t):Ts(t),qn(t);var s=Jn(t);t.teardown=typeof s=="function"?s:null,t.wv=Wn;var l;on&&vi&&(t.f&Fe)!==0&&t.deps}finally{Ta=a,ve=r}}}async function Bi(){await Promise.resolve(),Ai()}function n(t){var e=t.f,r=(e&De)!==0;if(ce!==null&&!kt){var a=ve!==null&&(ve.f&it)!==0;if(!a&&(Ot===null||!Ot.has(t))){var s=ce.deps;if((ce.f&$a)!==0)t.rv<cr&&(t.rv=cr,et===null&&s!==null&&s[st]===t?st++:et===null?et=[t]:et.push(t));else{ce.deps??(ce.deps=[]),Ia.call(ce.deps,t)||ce.deps.push(t);var l=t.reactions;l===null?t.reactions=[ce]:Ia.call(l,ce)||l.push(ce)}}}if(Wt&&mr.has(t))return mr.get(t);if(r){var i=t;if(Wt){var v=i.v;return((i.f&Le)===0&&i.reactions!==null||Zn(i))&&(v=Ss(i)),mr.set(i,v),v}var o=(i.f&pt)===0&&!kt&&ce!==null&&(Ta||(ce.f&pt)!==0),d=(i.f&Vr)===0;ba(i)&&(o&&(i.f|=pt),Sn(i)),o&&!d&&(Pn(i),Xn(i))}if(He!=null&&He.has(t))return He.get(t);if((t.f&nr)!==0)throw t.v;return t.v}function Xn(t){if(t.f|=pt,t.deps!==null)for(const e of t.deps)(e.reactions??(e.reactions=[])).push(t),(e.f&De)!==0&&(e.f&pt)===0&&(Pn(e),Xn(e))}function Zn(t){if(t.v===$e)return!0;if(t.deps===null)return!1;for(const e of t.deps)if(mr.has(e)||(e.f&De)!==0&&Zn(e))return!0;return!1}function Zr(t){var e=kt;try{return kt=!0,t()}finally{kt=e}}function Ui(t){if(!(typeof t!="object"||!t||t instanceof EventTarget)){if(Ut in t)us(t);else if(!Array.isArray(t))for(let e in t){const r=t[e];typeof r=="object"&&r&&Ut in r&&us(r)}}}function us(t,e=new Set){if(typeof t=="object"&&t!==null&&!(t instanceof EventTarget)&&!e.has(t)){e.add(t),t instanceof Date&&t.getTime();for(let a in t)try{us(t[a],e)}catch{}const r=bs(t);if(r!==Object.prototype&&r!==Array.prototype&&r!==Map.prototype&&r!==Set.prototype&&r!==Date.prototype){const a=vn(r);for(let s in a){const l=a[s].get;if(l)try{l.call(t)}catch{}}}}}const Gi=["touchstart","touchmove"];function Ki(t){return Gi.includes(t)}const ur=Symbol("events"),Qn=new Set,fs=new Set;function Wi(t,e,r,a={}){function s(l){if(a.capture||hs.call(e,l),!l.cancelBubble)return Xr(()=>r==null?void 0:r.call(this,l))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?lr(()=>{e.addEventListener(t,s,a)}):e.addEventListener(t,s,a),s}function Ca(t,e,r,a,s){var l={capture:a,passive:s},i=Wi(t,e,r,l);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&zs(()=>{e.removeEventListener(t,i,l)})}function ne(t,e,r){(e[ur]??(e[ur]={}))[t]=r}function Oe(t){for(var e=0;e<t.length;e++)Qn.add(t[e]);for(var r of fs)r(t)}let Ws=null;function hs(t){var y,w;var e=this,r=e.ownerDocument,a=t.type,s=((y=t.composedPath)==null?void 0:y.call(t))||[],l=s[0]||t.target;Ws=t;var i=0,v=Ws===t&&t[ur];if(v){var o=s.indexOf(v);if(o!==-1&&(e===document||e===window)){t[ur]=e;return}var d=s.indexOf(e);if(d===-1)return;o<=d&&(i=o)}if(l=s[i]||t.target,l!==e){Ml(t,"currentTarget",{configurable:!0,get(){return l||r}});var h=ce,_=ve;gt(null),Lt(null);try{for(var f,g=[];l!==null&&l!==e;){try{var m=(w=l[ur])==null?void 0:w[a];m!=null&&(!l.disabled||t.target===l)&&m.call(l,t)}catch(L){f?g.push(L):f=L}if(t.cancelBubble)break;i++,l=i<s.length?s[i]:null}if(f){for(let L of g)queueMicrotask(()=>{throw L});throw f}}finally{t[ur]=e,delete t.currentTarget,gt(h),Lt(_)}}}var nn;const Va=((nn=globalThis==null?void 0:globalThis.window)==null?void 0:nn.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Vi(t){return(Va==null?void 0:Va.createHTML(t))??t}function el(t){var e=Nn("template");return e.innerHTML=Vi(t.replaceAll("<!>","<!---->")),e.content}function Er(t,e){var r=ve;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function k(t,e){var r=(e&ti)!==0,a=(e&ri)!==0,s,l=!t.startsWith("<!>");return()=>{s===void 0&&(s=el(l?t:"<!>"+t),r||(s=It(s)));var i=a||On?document.importNode(s,!0):s.cloneNode(!0);if(r){var v=It(i),o=i.lastChild;Er(v,o)}else Er(i,i);return i}}function Yi(t,e,r="svg"){var a=!t.startsWith("<!>"),s=`<${r}>${a?t:"<!>"+t}</${r}>`,l;return()=>{if(!l){var i=el(s),v=It(i);l=It(v)}var o=l.cloneNode(!0);return Er(o,o),o}}function Is(t,e){return Yi(t,e,"svg")}function X(t=""){{var e=Gt(t+"");return Er(e,e),e}}function rt(){var t=document.createDocumentFragment(),e=document.createComment(""),r=Gt();return t.append(e,r),Er(e,r),t}function p(t,e){t!==null&&t.before(e)}function A(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t[ta]??(t[ta]=t.nodeValue))&&(t[ta]=r,t.nodeValue=`${r}`)}function Ji(t,e){return Xi(t,e)}const ka=new Map;function Xi(t,{target:e,anchor:r,props:a={},events:s,context:l,intro:i=!0,transformError:v}){$i();var o=void 0,d=Ri(()=>{var h=r??e.appendChild(Gt());gi(h,{pending:()=>{}},g=>{he({});var m=Ee;l&&(m.c=l),s&&(a.$$events=s),o=t(g,a)||{},pe()},v);var _=new Set,f=g=>{for(var m=0;m<g.length;m++){var y=g[m];if(!_.has(y)){_.add(y);var w=Ki(y);for(const M of[e,document]){var L=ka.get(M);L===void 0&&(L=new Map,ka.set(M,L));var N=L.get(y);N===void 0?(M.addEventListener(y,hs,{passive:w}),L.set(y,1)):L.set(y,N+1)}}}};return f(qa(Qn)),fs.add(f),()=>{var w;for(var g of _)for(const L of[e,document]){var m=ka.get(L),y=m.get(g);--y==0?(L.removeEventListener(g,hs),m.delete(g),m.size===0&&ka.delete(L)):m.set(g,y)}fs.delete(f),h!==r&&((w=h.parentNode)==null||w.removeChild(h))}});return Zi.set(o,d),o}let Zi=new WeakMap;var wt,Tt,lt,gr,pa,_a,ja;class tl{constructor(e,r=!0){We(this,"anchor");oe(this,wt,new Map);oe(this,Tt,new Map);oe(this,lt,new Map);oe(this,gr,new Set);oe(this,pa,!0);oe(this,_a,e=>{if(x(this,wt).has(e)){var r=x(this,wt).get(e),a=x(this,Tt).get(r);if(a)Na(a),x(this,gr).delete(r);else{var s=x(this,lt).get(r);s&&(Na(s.effect),x(this,Tt).set(r,s.effect),x(this,lt).delete(r),s.fragment.lastChild.remove(),this.anchor.before(s.fragment),a=s.effect)}for(const[l,i]of x(this,wt)){if(x(this,wt).delete(l),l===e)break;const v=x(this,lt).get(i);v&&(tt(v.effect),x(this,lt).delete(i))}for(const[l,i]of x(this,Tt)){if(l===r||x(this,gr).has(l))continue;const v=()=>{if(Array.from(x(this,wt).values()).includes(l)){var d=document.createDocumentFragment();Cs(i,d),d.append(Gt()),x(this,lt).set(l,{effect:i,fragment:d})}else tt(i);x(this,gr).delete(l),x(this,Tt).delete(l)};x(this,pa)||!a?(x(this,gr).add(l),yr(i,v,!1)):v()}}});oe(this,ja,e=>{x(this,wt).delete(e);const r=Array.from(x(this,wt).values());for(const[a,s]of x(this,lt))r.includes(a)||(tt(s.effect),x(this,lt).delete(a))});this.anchor=e,le(this,pa,r)}ensure(e,r){var a=te,s=Fn();if(r&&!x(this,Tt).has(e)&&!x(this,lt).has(e))if(s){var l=document.createDocumentFragment(),i=Gt();l.append(i),x(this,lt).set(e,{effect:ht(()=>r(i)),fragment:l})}else x(this,Tt).set(e,ht(()=>r(this.anchor)));if(x(this,wt).set(a,e),s){for(const[v,o]of x(this,Tt))v===e?a.unskip_effect(o):a.skip_effect(o);for(const[v,o]of x(this,lt))v===e?a.unskip_effect(o.effect):a.skip_effect(o.effect);a.oncommit(x(this,_a)),a.ondiscard(x(this,ja))}else x(this,_a).call(this,a)}}wt=new WeakMap,Tt=new WeakMap,lt=new WeakMap,gr=new WeakMap,pa=new WeakMap,_a=new WeakMap,ja=new WeakMap;function B(t,e,r=!1){var a=new tl(t),s=r?kr:0;function l(i,v){a.ensure(i,v)}Ha(()=>{var i=!1;e((v,o=0)=>{i=!0,l(o,v)}),i||l(-1,null)},s)}function br(t,e){return e}function Qi(t,e,r){for(var a=[],s=e.length,l,i=e.length,v=0;v<s;v++){let _=e[v];yr(_,()=>{if(l){if(l.pending.delete(_),l.done.add(_),l.pending.size===0){var f=t.outrogroups;ps(t,qa(l.done)),f.delete(l),f.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var o=a.length===0&&r!==null;if(o){var d=r,h=d.parentNode;Li(h),h.append(d),t.items.clear()}ps(t,e,!o)}else l={pending:new Set(e),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(l)}function ps(t,e,r=!0){var a;if(t.pending.size>0){a=new Set;for(const i of t.pending.values())for(const v of i)a.add(t.items.get(v).e)}for(var s=0;s<e.length;s++){var l=e[s];if(a!=null&&a.has(l)){l.f|=Ct;const i=document.createDocumentFragment();Cs(l,i)}else tt(e[s],r)}}var Vs;function Se(t,e,r,a,s,l=null){var i=t,v=new Map,o=(e&hn)!==0;if(o){var d=t;i=d.appendChild(Gt())}var h=null,_=ks(()=>{var M=r();return ws(M)?M:M==null?[]:qa(M)}),f,g=new Map,m=!0;function y(M){(N.effect.f&it)===0&&(N.pending.delete(M),N.fallback=h,eo(N,f,i,e,a),h!==null&&(f.length===0?(h.f&Ct)===0?Na(h):(h.f^=Ct,na(h,null,i)):yr(h,()=>{h=null})))}function w(M){N.pending.delete(M)}var L=Ha(()=>{f=n(_);for(var M=f.length,F=new Set,D=te,V=Fn(),E=0;E<M;E+=1){var U=f[E],K=a(U,E),I=m?null:v.get(K);I?(I.v&&Kr(I.v,U),I.i&&Kr(I.i,E),V&&D.unskip_effect(I.e)):(I=to(v,m?i:Vs??(Vs=Gt()),U,K,E,s,e,r),m||(I.e.f|=Ct),v.set(K,I)),F.add(K)}if(M===0&&l&&!h&&(m?h=ht(()=>l(i)):(h=ht(()=>l(Vs??(Vs=Gt()))),h.f|=Ct)),M>F.size&&Fl(),!m)if(g.set(D,F),V){for(const[P,z]of v)F.has(P)||D.skip_effect(z.e);D.oncommit(y),D.ondiscard(w)}else y(D);n(_)}),N={effect:L,items:v,pending:g,outrogroups:null,fallback:h};m=!1}function Qr(t){for(;t!==null&&(t.f&_t)===0;)t=t.next;return t}function eo(t,e,r,a,s){var I,P,z,b,q,S,T,H,j;var l=(a&Vl)!==0,i=e.length,v=t.items,o=Qr(t.effect.first),d,h=null,_,f=[],g=[],m,y,w,L;if(l)for(L=0;L<i;L+=1)m=e[L],y=s(m,L),w=v.get(y).e,(w.f&Ct)===0&&((P=(I=w.nodes)==null?void 0:I.a)==null||P.measure(),(_??(_=new Set)).add(w));for(L=0;L<i;L+=1){if(m=e[L],y=s(m,L),w=v.get(y).e,t.outrogroups!==null)for(const O of t.outrogroups)O.pending.delete(w),O.done.delete(w);if((w.f&Je)!==0&&(Na(w),l&&((b=(z=w.nodes)==null?void 0:z.a)==null||b.unfix(),(_??(_=new Set)).delete(w))),(w.f&Ct)!==0)if(w.f^=Ct,w===o)na(w,null,r);else{var N=h?h.next:o;w===t.effect.last&&(t.effect.last=w.prev),w.prev&&(w.prev.next=w.next),w.next&&(w.next.prev=w.prev),Jt(t,h,w),Jt(t,w,N),na(w,N,r),h=w,f=[],g=[],o=Qr(h.next);continue}if(w!==o){if(d!==void 0&&d.has(w)){if(f.length<g.length){var M=g[0],F;h=M.prev;var D=f[0],V=f[f.length-1];for(F=0;F<f.length;F+=1)na(f[F],M,r);for(F=0;F<g.length;F+=1)d.delete(g[F]);Jt(t,D.prev,V.next),Jt(t,h,D),Jt(t,V,M),o=M,h=V,L-=1,f=[],g=[]}else d.delete(w),na(w,o,r),Jt(t,w.prev,w.next),Jt(t,w,h===null?t.effect.first:h.next),Jt(t,h,w),h=w;continue}for(f=[],g=[];o!==null&&o!==w;)(d??(d=new Set)).add(o),g.push(o),o=Qr(o.next);if(o===null)continue}(w.f&Ct)===0&&f.push(w),h=w,o=Qr(w.next)}if(t.outrogroups!==null){for(const O of t.outrogroups)O.pending.size===0&&(ps(t,qa(O.done)),(q=t.outrogroups)==null||q.delete(O));t.outrogroups.size===0&&(t.outrogroups=null)}if(o!==null||d!==void 0){var E=[];if(d!==void 0)for(w of d)(w.f&Je)===0&&E.push(w);for(;o!==null;)(o.f&Je)===0&&o!==t.fallback&&E.push(o),o=Qr(o.next);var U=E.length;if(U>0){var K=(a&hn)!==0&&i===0?r:null;if(l){for(L=0;L<U;L+=1)(T=(S=E[L].nodes)==null?void 0:S.a)==null||T.measure();for(L=0;L<U;L+=1)(j=(H=E[L].nodes)==null?void 0:H.a)==null||j.fix()}Qi(t,E,K)}}l&&lr(()=>{var O,R;if(_!==void 0)for(w of _)(R=(O=w.nodes)==null?void 0:O.a)==null||R.apply()})}function to(t,e,r,a,s,l,i,v){var o=(i&Kl)!==0?(i&Yl)===0?Ci(r,!1,!1):Mr(r):null,d=(i&Wl)!==0?Mr(s):null;return{v:o,i:d,e:ht(()=>(l(e,o??r,d??s,v),()=>{t.delete(a)}))}}function na(t,e,r){if(t.nodes)for(var a=t.nodes.start,s=t.nodes.end,l=e&&(e.f&Ct)===0?e.nodes.start:r;a!==null;){var i=wa(a);if(l.before(a),a===s)return;a=i}}function Jt(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function ro(t,e,r=!1,a=!1,s=!1,l=!1){var i=t,v="";if(r)var o=t;$(()=>{var d=ve;if(v!==(v=e()??"")){if(r){d.nodes=null,o.innerHTML=v,v!==""&&Er(It(o),o.lastChild);return}if(d.nodes!==null&&(Hn(d.nodes.start,d.nodes.end),d.nodes=null),v!==""){var h=a?ai:s?si:void 0,_=Nn(a?"svg":s?"math":"template",h);_.innerHTML=v;var f=a||s?_:_.content;if(Er(It(f),f.lastChild),a||s)for(;It(f);)i.before(It(f));else i.before(f)}}})}function Ar(t,e,...r){var a=new tl(t);Ha(()=>{const s=e()??null;a.ensure(s,s&&(l=>s(l,...r)))},kr)}const Ys=[...`
2
+ \r\f \v\uFEFF`];function ao(t,e,r){var a=t==null?"":""+t;if(e&&(a=a?a+" "+e:e),r){for(var s of Object.keys(r))if(r[s])a=a?a+" "+s:s;else if(a.length)for(var l=s.length,i=0;(i=a.indexOf(s,i))>=0;){var v=i+l;(i===0||Ys.includes(a[i-1]))&&(v===a.length||Ys.includes(a[v]))?a=(i===0?"":a.substring(0,i))+a.substring(v+1):i=v}}return a===""?null:a}function so(t,e){return t==null?null:String(t)}function Ie(t,e,r,a,s,l){var i=t[as];if(i!==r||i===void 0){var v=ao(r,a,l);v==null?t.removeAttribute("class"):t.className=v,t[as]=r}else if(l&&s!==l)for(var o in l){var d=!!l[o];(s==null||d!==!!s[o])&&t.classList.toggle(o,d)}return l}function ot(t,e,r,a){var s=t[ss];if(s!==e){var l=so(e);l==null?t.removeAttribute("style"):t.style.cssText=l,t[ss]=e}return a}function Dt(t,e,r=!1){if(t.multiple){if(e==null)return;if(!ws(e))return li();for(var a of t.options)a.selected=e.includes(va(a));return}for(a of t.options){var s=va(a);if(Oi(s,e)){a.selected=!0;return}}(!r||e!==void 0)&&(t.selectedIndex=-1)}function Xt(t){var e=new MutationObserver(()=>{Dt(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),zs(()=>{e.disconnect()})}function no(t,e,r=e){var a=new WeakSet,s=!0;xn(t,"change",l=>{var i=l?"[selected]":":checked",v;if(t.multiple)v=[].map.call(t.querySelectorAll(i),va);else{var o=t.querySelector(i)??t.querySelector("option:not([disabled])");v=o&&va(o)}r(v),t.__value=v,te!==null&&a.add(te)}),jn(()=>{var l=e();if(t===document.activeElement){var i=te;if(a.has(i))return}if(Dt(t,l,s),s&&l===void 0){var v=t.querySelector(":checked");v!==null&&(l=va(v),r(l))}t.__value=l,s=!1}),Xt(t)}function va(t){return"__value"in t?t.__value:t.value}const lo=Symbol("is custom element"),io=Symbol("is html"),oo=Ol?"progress":"PROGRESS";function Os(t,e){var r=rl(t);r.value===(r.value=e??void 0)||t.value===e&&(e!==0||t.nodeName!==oo)||(t.value=e??"")}function we(t,e,r,a){var s=rl(t);s[e]!==(s[e]=r)&&(e==="loading"&&(t[Il]=r),r==null?t.removeAttribute(e):typeof r!="string"&&vo(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function rl(t){return t[Pa]??(t[Pa]={[lo]:t.nodeName.includes("-"),[io]:t.namespaceURI===pn})}var Js=new Map;function vo(t){var e=t.getAttribute("is")||t.nodeName,r=Js.get(e);if(r)return r;Js.set(e,r=[]);for(var a,s=t,l=Element.prototype;l!==s;){a=vn(s);for(var i in a)a[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);s=bs(s)}return r}function Ba(t,e,r=e){var a=new WeakSet;xn(t,"input",async s=>{var l=s?t.defaultValue:t.value;if(l=Ya(t)?Ja(l):l,r(l),te!==null&&a.add(te),await Bi(),l!==(l=e())){var i=t.selectionStart,v=t.selectionEnd,o=t.value.length;if(t.value=l??"",v!==null){var d=t.value.length;i===v&&v===o&&d>o?(t.selectionStart=d,t.selectionEnd=d):(t.selectionStart=i,t.selectionEnd=Math.min(v,d))}}}),Zr(e)==null&&t.value&&(r(Ya(t)?Ja(t.value):t.value),te!==null&&a.add(te)),As(()=>{var s=e();if(t===document.activeElement){var l=te;if(a.has(l))return}Ya(t)&&s===Ja(t.value)||t.type==="date"&&!s&&!t.value||s!==t.value&&(t.value=s??"")})}function Ya(t){var e=t.type;return e==="number"||e==="range"}function Ja(t){return t===""?null:+t}function Xa(t,e){return t===e||(t==null?void 0:t[Ut])===e}function al(t={},e,r,a){var s=Ee.r,l=ve;return jn(()=>{var i,v;return As(()=>{i=v,v=[],Zr(()=>{Xa(r(...v),t)||(e(t,...v),i&&Xa(r(...i),t)&&e(null,...i))})}),()=>{let o=l;for(;o!==s&&o.parent!==null&&o.parent.f&rs;)o=o.parent;const d=()=>{v&&Xa(r(...v),t)&&e(null,...v)},h=o.teardown;o.teardown=()=>{d(),h==null||h()}}}),t}function $s(t=!1){const e=Ee,r=e.l.u;if(!r)return;let a=()=>Ui(e.s);if(t){let s=0,l={};const i=Gr(()=>{let v=!1;const o=e.s;for(const d in o)o[d]!==l[d]&&(l[d]=o[d],v=!0);return v&&s++,s});a=()=>n(i)}r.b.length&&Ni(()=>{Xs(e,a),es(r.b)}),$t(()=>{const s=Zr(()=>r.m.map(Al));return()=>{for(const l of s)typeof l=="function"&&l()}}),r.a.length&&$t(()=>{Xs(e,a),es(r.a)})}function Xs(t,e){if(t.l.s)for(const r of t.l.s)n(r);e()}function ue(t,e,r,a){var F;var s=!Jr||(r&Xl)!==0,l=(r&Ql)!==0,i=(r&ei)!==0,v=a,o=!0,d=void 0,h=()=>i&&s?(d??(d=Gr(a)),n(d)):(o&&(o=!1,v=i?Zr(a):a),v);let _;if(l){var f=Ut in t||Cl in t;_=((F=$r(t,e))==null?void 0:F.set)??(f&&e in t?D=>t[e]=D:void 0)}var g,m=!1;l?[g,m]=fi(()=>t[e]):g=t[e],g===void 0&&a!==void 0&&(g=h(),_&&(s&&ql(),_(g)));var y;if(s?y=()=>{var D=t[e];return D===void 0?h():(o=!0,D)}:y=()=>{var D=t[e];return D!==void 0&&(v=void 0),D===void 0?v:D},s&&(r&Zl)===0)return y;if(_){var w=t.$$legacy;return(function(D,V){return arguments.length>0?((!s||!V||w||m)&&_(V?y():D),D):y()})}var L=!1,N=((r&Jl)!==0?Gr:ks)(()=>(L=!1,y()));l&&n(N);var M=ve;return(function(D,V){if(arguments.length>0){const E=V?n(N):s&&l?Ne(D):D;return C(N,E),L=!0,v!==void 0&&(v=E),D}return Wt&&L||(M.f&it)!==0?N.v:n(N)})}function sl(t){Ee===null&&$l(),Jr&&Ee.l!==null?co(Ee).m.push(t):$t(()=>{const e=Zr(t);if(typeof e=="function")return e})}function co(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}const uo="5";var ln;typeof window<"u"&&((ln=window.__svelte??(window.__svelte={})).v??(ln.v=new Set)).add(uo);const fo=["dashboard","providers","models","apps","server","tester","settings"];function nl(){const t=typeof window<"u"?window.location.hash.replace(/^#\/?/,""):"";return fo.includes(t)?t:"dashboard"}const bt=Ne({route:nl()});function vr(t){typeof window<"u"&&(window.location.hash=`/${t}`)}function ho(){const t=()=>{bt.route=nl()};window.addEventListener("hashchange",t),t()}const Pt=Ne({toasts:[],commandOpen:!1,loadingRoutes:new Set});let po=0;function ge(t,e="info",r=4e3){const a=++po,s={id:a,message:t,kind:e};Pt.toasts=[...Pt.toasts,s],s.timeout=setTimeout(()=>_s(a),r)}function _s(t){const e=Pt.toasts.find(r=>r.id===t);e!=null&&e.timeout&&clearTimeout(e.timeout),Pt.toasts=Pt.toasts.filter(r=>r.id!==t)}function Za(){Pt.commandOpen=!0}function _o(){Pt.commandOpen=!1}function go(){Pt.commandOpen=!Pt.commandOpen}class Zs extends Error{constructor(r,a,s){super(r);We(this,"hint");We(this,"status");this.name="ApiError",this.status=a,this.hint=s}}async function ll(t,e,r,a){const s={method:t,headers:{}};r!==void 0&&(s.headers["Content-Type"]="application/json",s.body=JSON.stringify(r));let l;try{l=await fetch(e,s)}catch(o){throw new Zs(`Network error: ${String(o)}`,0)}const i=await l.text(),v=i?JSON.parse(i):void 0;if(!l.ok){const o=v;throw new Zs((o==null?void 0:o.error)??`Request failed (${l.status})`,l.status,o==null?void 0:o.hint)}return v}function Tr(t,e){return ll("GET",t,void 0)}function at(t,e,r){return ll("POST",t,e)}const il="anygate-presets",ol="anygate-recent-folders";function mo(t){const r=(t==null?void 0:t.status)===404;return{ok:r,keychain:{available:!1,note:r?"Health check needs a newer anygate":"Unable to reach backend"},conflictingEnvVars:[],port17645Available:!0,providerReachability:[]}}function yo(){try{const t=localStorage.getItem(il);return t?JSON.parse(t):[]}catch{return[]}}function wo(t){try{localStorage.setItem(il,JSON.stringify(t))}catch{}}function vl(){try{const t=localStorage.getItem(ol);return t?JSON.parse(t):[]}catch{return[]}}function bo(t){const e=vl().filter(a=>a!==t);e.unshift(t);const r=e.slice(0,10);try{localStorage.setItem(ol,JSON.stringify(r))}catch{}return r}function xo(t){const{provider:e,modelId:r,contextWindow:a}=t,s=[];return s.push({key:"ANTHROPIC_BASE_URL",value:"http://127.0.0.1:<proxy-port>"}),e&&r&&(s.push({key:"ANTHROPIC_MODEL",value:`${e.id}__${r}`}),s.push({key:"CLAUDE_CODE_MAX_CONTEXT_TOKENS",value:String(a??2e5)})),s.push({key:"ANTHROPIC_AUTH_TOKEN",value:"<proxy-local-token>",masked:!0}),s.push({key:"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY",value:"1"}),{env:s,command:e&&r?`anygate ${e.id} --model ${r}`:"anygate <provider>"}}function Ls(){return Tr("/api/config")}function dl(t){return at("/api/config",t)}function ko(){return Tr("/api/models")}function So(t){return at("/api/models/test",t)}function Po(t,e){return at("/api/keys",{providerId:t,key:e})}function Mo(t){return at("/api/providers/refresh",{providerId:t})}function Eo(){return at("/api/providers/refresh-all")}function zo(){return Tr("/api/providers/templates")}function Ao(t,e,r){return at("/api/providers/add",{templateId:t,key:e,baseUrl:r})}function To(t){return at("/api/providers/add-custom",t)}function Co(t){return at("/api/providers/delete",{providerId:t})}function Io(t){return at("/api/providers/oauth/start",{providerId:t})}function Oo(t){return Tr(`/api/providers/oauth/status?sessionId=${encodeURIComponent(t)}`)}function $o(){return Tr("/api/apps")}function Lo(t,e){return at("/api/apps/path",{appId:t,path:e})}function Fo(t){return at("/api/apps/launch",t)}function No(){return at("/api/apps/browse-folder")}function Ro(){return Tr("/api/server/status")}function Do(t){return at("/api/server/start",t)}function jo(){return at("/api/server/stop")}async function qo(){try{return await Tr("/api/health")}catch(t){return mo(t)}}function Ho(){return Promise.resolve(yo())}function cl(t){return wo(t),Promise.resolve({ok:!0})}async function Bo(){const t=await Ls();return JSON.stringify({version:1,favoriteModels:t.favoriteModels,antigravityCliFavoriteModels:t.antigravityCliFavoriteModels},null,2)}async function Uo(t){const e=JSON.parse(t);if(!Array.isArray(e.favoriteModels)&&!Array.isArray(e.antigravityCliFavoriteModels))throw new Error("Invalid config file: missing favoriteModels");await dl({favoriteModels:e.favoriteModels??[],antigravityCliFavoriteModels:e.antigravityCliFavoriteModels??[]})}function Go(t){return xo(t)}function Ko(t){if(t.format)return t.format;const e=t.id.toLowerCase();return e.startsWith("claude")||e.includes("anthropic")?"anthropic":e.startsWith("gpt")||e.includes("openai")||e.startsWith("gemini")?"unsupported":"openai"}function ul(t){if(typeof t.reasoning=="boolean")return t.reasoning;const e=t.id.toLowerCase();return/(opus|sonnet|o1|o3|o4|gpt-5|deepseek-r(1|2)|qwen3?-(plus|max|pro)|claude-(3-7|4))/.test(e)}function Wo(t){if(Array.isArray(t.supportedParameters))return t.supportedParameters;const e=["tools","system"];return ul(t)&&e.push("reasoning_effort"),t.isFree||e.push("streaming"),e}function Vo(t){return{...t,format:Ko(t),reasoning:ul(t),supportedParameters:Wo(t)}}function Yo(t){const e=new Set,r=t.models.filter(a=>e.has(a.id)?!1:(e.add(a.id),!0));return{...t,enrichedModels:r.map(Vo)}}const Me=Ne({list:[],loading:!1,error:null});async function Fs(t){Me.loading=!0,Me.error=null;try{const e=await ko();Me.list=e.providers.map(Yo)}catch(e){Me.error=e instanceof Error?e.message:String(e)}finally{Me.loading=!1}}async function fl(t){try{const e=await Mo(t);if(!e.ok){ge(e.error?String(e.error):"Refresh failed","error");return}await Fs(),ge(`Refreshed ${t} (${e.count??0} models)`,"success")}catch(e){ge(e instanceof Error?e.message:String(e),"error")}}async function Sa(){try{const t=await Eo();await Fs(),ge(`Refreshed all · ${t.total} models`,"success")}catch(t){ge(t instanceof Error?t.message:String(t),"error")}}const Jo=20,Xo=6,fe=Ne({general:[],agy:[],loading:!1,error:null});async function hl(){fe.loading=!0;try{const t=await Ls();fe.general=t.favoriteModels??[],fe.agy=t.antigravityCliFavoriteModels??[]}catch(t){fe.error=t instanceof Error?t.message:String(t)}finally{fe.loading=!1}}async function Ns(){await dl({favoriteModels:fe.general,antigravityCliFavoriteModels:fe.agy})}function pl(t,e,r=!1){return(r?fe.agy:fe.general).some(s=>s.providerId===t&&s.modelId===e)}async function _l(t,e=!1){const r=e?fe.agy:fe.general,a=e?Xo:Jo;return pl(t.providerId,t.modelId,e)?!0:r.length>=a?(ge(`Favorite limit reached (${a})`,"error"),!1):(e?fe.agy=[...fe.agy,t]:fe.general=[...fe.general,t],await Ns(),!0)}async function gs(t,e,r=!1){r?fe.agy=fe.agy.filter(a=>!(a.providerId===t&&a.modelId===e)):fe.general=fe.general.filter(a=>!(a.providerId===t&&a.modelId===e)),await Ns()}async function Zo(t,e=!1){e?fe.agy=t:fe.general=t,await Ns()}const Qo=Object.freeze(Object.defineProperty({__proto__:null,addFavorite:_l,favorites:fe,isFavorite:pl,loadFavorites:hl,removeFavorite:gs,reorder:Zo},Symbol.toStringTag,{value:"Module"})),Ge=Ne({list:[],recentFolders:[],loading:!1,error:null});async function ev(){Ge.loading=!0;try{const t=await $o();Ge.list=t.apps,Ge.recentFolders=t.recentLaunchFolders??vl()}catch(t){Ge.error=t instanceof Error?t.message:String(t)}finally{Ge.loading=!1}}async function tv(t,e){const r=await Lo(t,e);r.ok&&(Ge.list=r.apps,ge(e?"Path saved":"Path cleared","success"))}async function Qa(t){try{const e=await Fo(t);t.cwd&&(Ge.recentFolders=bo(t.cwd)),ge(`Launched ${t.appId}`,"success")}catch(e){ge(e instanceof Error?e.message:String(e),"error")}}async function Qs(){const t=await No();return t.ok&&!t.canceled&&t.path?t.path:null}const rr=Ne({loaded:null,tier:"zen",defaultFolder:null,anygateHome:null,logPaths:{},loading:!1});async function rv(){var t,e;rr.loading=!0;try{rr.loaded=await Ls(),rr.anygateHome=((e=(t=globalThis.process)==null?void 0:t.env)==null?void 0:e.ANYGATE_HOME)??null}catch{}finally{rr.loading=!1}}function av(t){rr.tier=t}const Mt=Ne({list:[],loading:!1});async function gl(){Mt.loading=!0;try{Mt.list=await Ho()}finally{Mt.loading=!1}}async function sv(t){const e=t.id??`preset-${Date.now()}`,r=Mt.list.findIndex(l=>l.id===e),a=[...Mt.list],s={...t,id:e};r>=0?a[r]=s:a.push(s),Mt.list=a,await cl(a),ge("Preset saved","success")}async function nv(t){Mt.list=Mt.list.filter(e=>e.id!==t),await cl(Mt.list)}di();var lv=k('<button><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="svelte-6dohdz"><path></path></svg> <span> </span></button>'),iv=k('<aside class="sidebar svelte-6dohdz"><div class="brand svelte-6dohdz"><div class="monogram svelte-6dohdz">a</div> <div class="brand-meta"><div class="brand-name svelte-6dohdz">anygate</div> <div class="brand-byline svelte-6dohdz">ramananbuilds</div></div></div> <div class="version-row svelte-6dohdz"><span class="version svelte-6dohdz"> </span> <span class="health-dot svelte-6dohdz" title="Health check available"></span></div> <nav class="nav svelte-6dohdz" aria-label="Sections"></nav></aside>');function ov(t,e){he(e,!1);const r=[{id:"dashboard",label:"Dashboard",icon:"M3 12l9-9 9 9M5 10v10h5v-6h4v6h5V10"},{id:"providers",label:"Providers & Keys",icon:"M3 11h18v11H3zM7 11V7a5 5 0 0 1 10 0v4"},{id:"models",label:"Models",icon:"M4 6h16M4 12h16M4 18h16"},{id:"apps",label:"Apps & Launch",icon:"M2 3h20v14H2zM8 21h8M12 17v4"},{id:"server",label:"Server",icon:"M12 2v6M6 8a8 8 0 1 0 12 0"},{id:"tester",label:"Model Tester",icon:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16M12 12l5-3"},{id:"settings",label:"Settings",icon:"M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8M3 12h2M19 12h2"}],a="0.5.8";$s();var s=iv(),l=u(c(s),2),i=c(l),v=c(i),o=u(l,2);Se(o,5,()=>r,d=>d.id,(d,h)=>{var _=lv();let f;var g=c(_),m=c(g),y=u(g,2),w=c(y);$(()=>{f=Ie(_,1,"nav-item svelte-6dohdz",null,f,{active:bt.route===n(h).id}),we(_,"aria-current",bt.route===n(h).id?"page":void 0),we(m,"d",n(h).icon),A(w,n(h).label)}),ne("click",_,()=>vr(n(h).id)),p(d,_)}),$(()=>A(v,`v${a}`)),p(t,s),pe()}Oe(["click"]);function vv(){return typeof localStorage>"u"?"dark":localStorage.getItem("anygate-theme")==="light"?"light":"dark"}const ar=Ne({value:vv()});function ml(t){typeof document>"u"||document.documentElement.setAttribute("data-theme",t)}typeof document<"u"&&ml(ar.value);function yl(){ar.value=ar.value==="dark"?"light":"dark",typeof localStorage<"u"&&localStorage.setItem("anygate-theme",ar.value),ml(ar.value)}var dv=k("<span><!></span>");function Ce(t,e){let r=ue(e,"tone",3,"neutral");var a=dv(),s=c(a);Ar(s,()=>e.children),$(()=>Ie(a,1,`badge ${r()??""}`,"svelte-7j44kq")),p(t,a)}var cv=k("<button><!></button>");function _e(t,e){let r=ue(e,"variant",3,"primary"),a=ue(e,"size",3,"md"),s=ue(e,"disabled",3,!1),l=ue(e,"type",3,"button");var i=cv(),v=c(i);Ar(v,()=>e.children),$(()=>{we(i,"type",l()),Ie(i,1,`btn ${r()??""} ${a()??""}`,"svelte-8a1c4v"),i.disabled=s()}),ne("click",i,function(...o){var d;(d=e.onclick)==null||d.apply(this,o)}),p(t,i)}Oe(["click"]);var uv=k("<div><!></div>");function Ae(t,e){let r=ue(e,"padding",3,"18px"),a=ue(e,"hover",3,!1),s=ue(e,"class",3,"");var l=uv();let i;var v=c(l);Ar(v,()=>e.children),$(()=>{i=Ie(l,1,`card glass ${s()??""}`,"svelte-it2i29",i,{hover:a()}),ot(l,`padding:${r()??""}`),we(l,"role",e.onclick?"button":void 0)}),ne("click",l,function(...o){var d;(d=e.onclick)==null||d.apply(this,o)}),p(t,l)}Oe(["click"]);var fv=k('<div class="drawer-head svelte-1cuwqu"> </div>'),hv=k('<div class="backdrop svelte-1cuwqu" role="presentation"><div role="dialog" aria-modal="true" tabindex="-1"><!> <div class="drawer-body svelte-1cuwqu"><!></div></div></div>');function pv(t,e){let r=ue(e,"title",3,""),a=ue(e,"side",3,"right");var s=rt(),l=Q(s);{var i=v=>{var o=hv(),d=c(o),h=c(d);{var _=m=>{var y=fv(),w=c(y);$(()=>A(w,r())),p(m,y)};B(h,m=>{r()&&m(_)})}var f=u(h,2),g=c(f);Ar(g,()=>e.children),$(()=>Ie(d,1,`drawer glass ${a()??""}`,"svelte-1cuwqu")),ne("click",o,function(...m){var y;(y=e.onclose)==null||y.apply(this,m)}),ne("click",d,m=>m.stopPropagation()),ne("keydown",d,m=>m.stopPropagation()),p(v,o)};B(l,v=>{e.open&&v(i)})}p(t,s)}Oe(["click","keydown"]);var _v=k('<div class="sub svelte-16dv2jh"><!></div>'),gv=k('<div class="empty svelte-16dv2jh"><svg width="34" height="34" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"><path></path></svg> <div class="title svelte-16dv2jh"> </div> <!></div>');function zr(t,e){let r=ue(e,"title",3,"Nothing here yet"),a=ue(e,"icon",3,"M4 4h16v16H4z");var s=gv(),l=c(s),i=c(l),v=u(l,2),o=c(v),d=u(v,2);{var h=_=>{var f=_v(),g=c(f);Ar(g,()=>e.children),p(_,f)};B(d,_=>{e.children&&_(h)})}$(()=>{we(i,"d",a()),A(o,r())}),p(t,s)}var mv=k("<span> </span>"),yv=k('<button class="icon-btn svelte-w50x32"><!> <!></button>');function wl(t,e){let r=ue(e,"label",3,""),a=ue(e,"disabled",3,!1),s=ue(e,"title",3,"");var l=yv(),i=c(l);{var v=d=>{var h=mv(),_=c(h);$(()=>A(_,r())),p(d,h)};B(i,d=>{r()&&d(v)})}var o=u(i,2);Ar(o,()=>e.children??dn),$(()=>{l.disabled=a(),we(l,"title",s()),we(l,"aria-label",s()||r())}),ne("click",l,function(...d){var h;(h=e.onclick)==null||h.apply(this,d)}),p(t,l)}Oe(["click"]);var wv=k('<input class="input svelte-1xuvd1z"/>');function Zt(t,e){he(e,!0);let r=ue(e,"value",15,""),a=ue(e,"placeholder",3,""),s=ue(e,"type",3,"text"),l=ue(e,"id",3,"");var i=wv();$(()=>{we(i,"id",l()),we(i,"type",s()),we(i,"placeholder",a()),Os(i,r())}),ne("input",i,v=>{var o;r(v.currentTarget.value),(o=e.oninput)==null||o.call(e,r())}),ne("keydown",i,function(...v){var o;(o=e.onkeydown)==null||o.apply(this,v)}),p(t,i),pe()}Oe(["input","keydown"]);var bv=k('<div class="modal-head svelte-1qk8a2o"> </div>'),xv=k('<div class="backdrop svelte-1qk8a2o" role="presentation"><div class="modal glass svelte-1qk8a2o" role="dialog" aria-modal="true" tabindex="-1"><!> <div class="modal-body"><!></div> <button class="modal-x svelte-1qk8a2o" aria-label="Close">×</button></div></div>');function xr(t,e){let r=ue(e,"title",3,"");var a=rt(),s=Q(a);{var l=i=>{var v=xv(),o=c(v),d=c(o);{var h=m=>{var y=bv(),w=c(y);$(()=>A(w,r())),p(m,y)};B(d,m=>{r()&&m(h)})}var _=u(d,2),f=c(_);Ar(f,()=>e.children);var g=u(_,2);ne("click",v,function(...m){var y;(y=e.onclose)==null||y.apply(this,m)}),ne("click",o,m=>m.stopPropagation()),ne("keydown",o,m=>m.stopPropagation()),ne("click",g,function(...m){var y;(y=e.onclose)==null||y.apply(this,m)}),p(i,v)};B(s,i=>{e.open&&i(l)})}p(t,a)}Oe(["click","keydown"]);var kv=k("<option> </option>"),Sv=k('<select class="select svelte-13vr5hb"></select>');function sr(t,e){he(e,!0);let r=ue(e,"value",15,""),a=ue(e,"id",3,""),s=ue(e,"disabled",3,!1);function l(o){var d;r(o.currentTarget.value),(d=e.onchange)==null||d.call(e,r())}var i=Sv();Se(i,21,()=>e.options,o=>o.value,(o,d)=>{var h=kv(),_=c(h),f={};$(()=>{A(_,n(d).label),f!==(f=n(d).value)&&(h.value=(h.__value=n(d).value)??"")}),p(o,h)});var v;Xt(i),$(()=>{we(i,"id",a()),i.disabled=s(),v!==(v=r())&&(i.value=(i.__value=r())??"",Dt(i,r()))}),ne("change",i,l),p(t,i),pe()}Oe(["change"]);var Pv=k('<span class="spinner inline svelte-18351lc"></span>'),Mv=k('<span class="lbl"> </span>'),Ev=k('<div class="spinner-wrap svelte-18351lc" role="status"><span class="spinner svelte-18351lc"></span> <!></div>');function ir(t,e){let r=ue(e,"size",3,18),a=ue(e,"label",3,""),s=ue(e,"inline",3,!1);var l=rt(),i=Q(l);{var v=d=>{var h=Pv();$(()=>ot(h,`width:${r()??""}px;height:${r()??""}px`)),p(d,h)},o=d=>{var h=Ev(),_=c(h),f=u(_,2);{var g=m=>{var y=Mv(),w=c(y);$(()=>A(w,a())),p(m,y)};B(f,m=>{a()&&m(g)})}$(()=>{we(h,"aria-label",a()||"Loading"),ot(_,`width:${r()??""}px;height:${r()??""}px`)}),p(d,h)};B(i,d=>{s()?d(v):d(o,-1)})}p(t,l)}var zv=k('<button role="tab"> </button>'),Av=k('<div class="tabs svelte-9oumej" role="tablist"></div>');function bl(t,e){he(e,!0);let r=ue(e,"active",15,"");var a=Av();Se(a,21,()=>e.tabs,s=>s.id,(s,l)=>{var i=zv();let v;var o=c(i);$(()=>{v=Ie(i,1,"tab svelte-9oumej",null,v,{active:r()===n(l).id}),we(i,"aria-selected",r()===n(l).id),A(o,n(l).label)}),ne("click",i,()=>{var d;r(n(l).id),(d=e.onchange)==null||d.call(e,n(l).id)}),p(s,i)}),p(t,a),pe()}Oe(["click"]);var Tv=k('<span class="lbl svelte-km5m9b"> </span>'),Cv=k('<label class="toggle-wrap svelte-km5m9b"><button type="button" role="switch"><span class="knob svelte-km5m9b"></span></button> <!></label>');function ea(t,e){he(e,!0);let r=ue(e,"checked",11,!1),a=ue(e,"label",3,"");var s=Cv(),l=c(s);let i;var v=u(l,2);{var o=d=>{var h=Tv(),_=c(h);$(()=>A(_,a())),p(d,h)};B(v,d=>{a()&&d(o)})}$(()=>{we(l,"aria-label",a()||"toggle"),we(l,"aria-checked",r()),i=Ie(l,1,"toggle svelte-km5m9b",null,i,{on:r()})}),ne("click",l,()=>{var d;return(d=e.onchange)==null?void 0:d.call(e,!r())}),p(t,s),pe()}Oe(["click"]);var Iv=Is('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"></path></svg>'),Ov=Is('<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.8A9 9 0 1 1 11.2 3 7 7 0 0 0 21 12.8z"></path></svg>'),$v=k('<header class="topbar glass svelte-y7n507"><div class="title svelte-y7n507"><h1 class="svelte-y7n507"> </h1></div> <div class="actions svelte-y7n507"><button class="cmdk svelte-y7n507" title="Command palette (⌘K)"><span class="kbd svelte-y7n507">⌘K</span> Search</button> <!></div></header>');function Lv(t,e){he(e,!0);const r={dashboard:"Dashboard",providers:"Providers & Keys",models:"Models",apps:"Apps & Launch",server:"Server Gateway",tester:"Model Tester",settings:"Settings"},a=Y(()=>r[bt.route]??"anygate");var s=$v(),l=c(s),i=c(l),v=c(i),o=u(l,2),d=c(o),h=u(d,2);{let _=Y(()=>ar.value==="dark"?"Switch to light":"Switch to dark");wl(h,{get title(){return n(_)},get onclick(){return yl},children:(f,g)=>{var m=rt(),y=Q(m);{var w=N=>{var M=Iv();p(N,M)},L=N=>{var M=Ov();p(N,M)};B(y,N=>{ar.value==="dark"?N(w):N(L,-1)})}p(f,m)},$$slots:{default:!0}})}$(()=>A(v,n(a))),ne("click",d,function(..._){Za==null||Za.apply(this,_)}),p(t,s),pe()}Oe(["click"]);var Fv=k('<div role="button" tabindex="0"><span class="dot svelte-1kymlcg"></span> <span class="msg"> </span></div>'),Nv=k('<div class="toaster svelte-1kymlcg" aria-live="polite"></div>');function Rv(t,e){he(e,!1);function r(s,l){(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),_s(l))}$s();var a=Nv();Se(a,5,()=>Pt.toasts,s=>s.id,(s,l)=>{var i=Fv(),v=u(c(i),2),o=c(v);$(()=>{Ie(i,1,`toast ${n(l).kind??""}`,"svelte-1kymlcg"),A(o,n(l).message)}),ne("click",i,()=>_s(n(l).id)),ne("keydown",i,d=>r(d,n(l).id)),p(s,i)}),p(t,a),pe()}Oe(["click","keydown"]);const Ye=Ne({status:null,loading:!1,starting:!1,error:null});let da=null;async function ms(){try{Ye.status=await Ro(),Ye.error=null}catch(t){Ye.error=t instanceof Error?t.message:String(t)}}function Dv(t=5e3){da||(ms(),da=setInterval(()=>{ms()},t))}function jv(){da&&(clearInterval(da),da=null)}async function qv(t){Ye.starting=!0;try{const e=await Do(t);return e.ok&&e.status?(Ye.status=e.status,ge("Server gateway started","success"),!0):(ge(e.error??"Failed to start server","error"),!1)}catch(e){return ge(e instanceof Error?e.message:String(e),"error"),!1}finally{Ye.starting=!1}}async function Hv(){try{await jo(),await ms(),ge("Server gateway stopped","info")}catch(t){ge(t instanceof Error?t.message:String(t),"error")}}var Bv=k('<button class="opt svelte-wh9uu8"><span class="lbl svelte-wh9uu8"> </span> <span class="hint svelte-wh9uu8"> </span></button>'),Uv=k('<div class="none svelte-wh9uu8">No matches</div>'),Gv=k('<div class="backdrop svelte-wh9uu8" role="presentation"><div class="palette glass svelte-wh9uu8" role="dialog" aria-modal="true" tabindex="-1"><input class="q svelte-wh9uu8" placeholder="Search providers, models, apps…"/> <div class="list svelte-wh9uu8"><!> <!></div></div></div>');function Kv(t,e){he(e,!0);let r=ue(e,"query",15,""),a;$t(()=>{a==null||a.focus()});const s=[{id:"dashboard",route:"dashboard",label:"Dashboard",hint:"Overview & quick launch"},{id:"providers",route:"providers",label:"Providers & Keys",hint:"Manage API keys & OAuth"},{id:"models",route:"models",label:"Models",hint:"Browse & favorite models"},{id:"apps",route:"apps",label:"Apps & Launch",hint:"Launch Claude, Codex, Gemini"},{id:"server",route:"server",label:"Server Gateway",hint:"Start the local API server"},{id:"settings",route:"settings",label:"Settings",hint:"Theme, presets, import/export"}],l=Y(()=>s.filter(y=>y.label.toLowerCase().includes(r().toLowerCase())||y.hint.toLowerCase().includes(r().toLowerCase())));function i(y){vr(y.route),e.onclose()}function v(y){y.key==="Escape"&&e.onclose()}var o=Gv();Ca("keydown",cs,v);var d=c(o),h=c(d);al(h,y=>a=y,()=>a);var _=u(h,2),f=c(_);Se(f,17,()=>n(l),y=>y.id,(y,w)=>{var L=Bv(),N=c(L),M=c(N),F=u(N,2),D=c(F);$(()=>{A(M,n(w).label),A(D,n(w).hint)}),ne("click",L,()=>i(n(w))),p(y,L)});var g=u(f,2);{var m=y=>{var w=Uv();p(y,w)};B(g,y=>{n(l).length===0&&y(m)})}ne("click",o,function(...y){var w;(w=e.onclose)==null||w.apply(this,y)}),ne("click",d,y=>y.stopPropagation()),ne("keydown",d,y=>y.stopPropagation()),Ba(h,r),p(t,o),pe()}Oe(["click","keydown"]);async function Wv(t){const e=await fetch(`/api/analytics?range=${t}`,{headers:{Accept:"application/json"}});if(!e.ok)throw new Error(`analytics ${e.status}`);return await e.json()}const be=Ne({report:null,range:"all",loading:!1,error:null,hasData:!1});async function en(t=be.range){be.range=t,be.loading=!0,be.error=null;try{const e=await Wv(t);be.report=e,be.hasData=e.totalTokens>0||e.messages>0}catch(e){be.report=null,be.hasData=!1,be.error=e instanceof Error?`Couldn't reach the analytics backend (${e.message}). Run \`anygate ui\` and reload.`:"Couldn’t reach the analytics backend. Run `anygate ui` and reload."}finally{be.loading=!1}}const qe=Ne({report:null,available:!1,loading:!1,error:null});async function tn(){var t,e;qe.loading=!0;try{const r=await qo();qe.report=r,qe.available=r.ok||!!((t=r.keychain)!=null&&t.available)||(((e=r.conflictingEnvVars)==null?void 0:e.length)??0)>0}catch(r){qe.error=r instanceof Error?r.message:String(r),qe.available=!1}finally{qe.loading=!1}}var Vv=k('<div class="note svelte-lftxrq">Health check needs a newer anygate. Showing degraded diagnostics until the backend implements <code class="svelte-lftxrq">/api/health</code>.</div>'),Yv=k('<div class="note svelte-lftxrq"> </div>'),Jv=k('<div class="checks svelte-lftxrq"><div class="check svelte-lftxrq"><span class="k svelte-lftxrq">Keychain / credential store</span> <span class="v svelte-lftxrq"> </span></div> <div class="check svelte-lftxrq"><span class="k svelte-lftxrq">Port 17645</span> <span class="v svelte-lftxrq"> </span></div> <div class="check svelte-lftxrq"><span class="k svelte-lftxrq">Conflicting env vars</span> <span class="v svelte-lftxrq"> </span></div></div> <!>',1),Xv=k('<div class="panel svelte-lftxrq"><div class="row svelte-lftxrq"><h3 class="svelte-lftxrq">Connection Health</h3> <!></div> <!> <!> <div class="actions svelte-lftxrq"><!></div></div>');function Zv(t,e){he(e,!0);let r=ee(!1);$t(()=>{n(r)||(tn(),C(r,!0))});var a=Xv(),s=c(a),l=u(c(s),2);{var i=y=>{ir(y,{inline:!0,size:16})},v=y=>{Ce(y,{tone:"success",children:(w,L)=>{var N=X("OK");p(w,N)},$$slots:{default:!0}})},o=y=>{Ce(y,{tone:"warning",children:(w,L)=>{var N=X("Limited");p(w,N)},$$slots:{default:!0}})};B(l,y=>{qe.loading?y(i):qe.available?y(v,1):y(o,-1)})}var d=u(s,2);{var h=y=>{var w=Vv();p(y,w)};B(d,y=>{!qe.available&&!qe.loading&&y(h)})}var _=u(d,2);{var f=y=>{var w=Jv(),L=Q(w),N=c(L),M=u(c(N),2),F=c(M),D=u(N,2),V=u(c(D),2),E=c(V),U=u(D,2),K=u(c(U),2),I=c(K),P=u(L,2);{var z=b=>{var q=Yv(),S=c(q);$(()=>A(S,qe.report.note)),p(b,q)};B(P,b=>{qe.report.note&&b(z)})}$(b=>{var q;A(F,(q=qe.report.keychain)!=null&&q.available?"Available":"Unavailable"),A(E,qe.report.port17645Available?"Free":"In use"),A(I,b)},[()=>{var b;return(b=qe.report.conflictingEnvVars)!=null&&b.length?qe.report.conflictingEnvVars.join(", "):"None"}]),p(y,w)};B(_,y=>{qe.report&&y(f)})}var g=u(_,2),m=c(g);_e(m,{size:"sm",variant:"ghost",onclick:()=>tn(),children:(y,w)=>{var L=X("Re-check");p(y,L)},$$slots:{default:!0}}),p(t,a),pe()}var Qv=k("<button> </button>"),ed=k('<div class="seg svelte-1yfbpb7" role="group" aria-label="Time range"></div>');function td(t,e){he(e,!0);let r=ue(e,"value",15,"all");const a=[{id:"all",label:"All"},{id:"30d",label:"30d"},{id:"7d",label:"7d"}];var s=ed();Se(s,21,()=>a,l=>l.id,(l,i)=>{var v=Qv();let o;var d=c(v);$(()=>{o=Ie(v,1,"opt svelte-1yfbpb7",null,o,{active:r()===n(i).id}),we(v,"aria-pressed",r()===n(i).id),A(d,n(i).label)}),ne("click",v,()=>{var h;r(n(i).id),(h=e.onchange)==null||h.call(e,n(i).id)}),p(l,v)}),p(t,s),pe()}Oe(["click"]);var rd=k('<span class="sub svelte-14oot77"> </span>'),ad=k('<div class="stat svelte-14oot77"><span class="lbl svelte-14oot77"> </span> <span class="num svelte-14oot77"> </span> <!></div>');function sd(t,e){var r=ad(),a=c(r),s=c(a),l=u(a,2),i=c(l),v=u(l,2);{var o=d=>{var h=rd(),_=c(h);$(()=>A(_,e.sub)),p(d,h)};B(v,d=>{e.sub&&d(o)})}$(()=>{A(s,e.label),we(l,"title",e.value),A(i,e.value)}),p(t,r)}var nd=k('<div class="grid svelte-9jn9wt"></div>');function ld(t,e){he(e,!0);function r(i){return i>=1e9?`${(i/1e9).toFixed(1)}B`:i>=1e6?`${(i/1e6).toFixed(1)}M`:i>=1e3?`${(i/1e3).toFixed(1)}k`:String(i)}function a(i){const v=i<12;return`${i%12===0?12:i%12} ${v?"AM":"PM"}`}const s=Y(()=>[{label:"Sessions",value:r(e.report.sessions)},{label:"Messages",value:r(e.report.messages)},{label:"Total tokens",value:r(e.report.totalTokens)},{label:"Active days",value:String(e.report.activeDays)},{label:"Current streak",value:`${e.report.currentStreakDays}d`},{label:"Longest streak",value:`${e.report.longestStreakDays}d`},{label:"Peak hour",value:a(e.report.peakHour)},{label:"Favorite model",value:e.report.favoriteModel}]);var l=nd();Se(l,21,()=>n(s),i=>i.label,(i,v)=>{Ae(i,{padding:"18px",children:(o,d)=>{sd(o,{get label(){return n(v).label},get value(){return n(v).value}})},$$slots:{default:!0}})}),p(t,l),pe()}var id=k("<span> </span>"),od=k('<div class="cell svelte-1ryzkww"></div>'),vd=k('<div class="cell empty svelte-1ryzkww"></div>'),dd=k('<div class="col svelte-1ryzkww"></div>'),cd=k('<span class="key svelte-1ryzkww"></span>'),ud=k('<div class="heat svelte-1ryzkww"><div class="months svelte-1ryzkww"></div> <div class="weeks svelte-1ryzkww"></div> <div class="legend svelte-1ryzkww"><span>Less</span> <!> <span>More</span></div></div>');function fd(t,e){he(e,!0);const r=Y(()=>{if(e.days.length===0)return[];const f=new Date(e.days[0].date+"T00:00:00").getDay(),g=[...Array(f).fill(null),...e.days],m=[];for(let y=0;y<g.length;y+=7)m.push(g.slice(y,y+7));return m}),a=Y(()=>{const _=[];let f=-1;return e.days.forEach((g,m)=>{const y=m+(n(r).length?new Date(e.days[0].date+"T00:00:00").getDay():0),w=Math.floor(y/7),L=new Date(g.date+"T00:00:00").getMonth();L!==f&&(_.push({col:w,label:new Date(g.date+"T00:00:00").toLocaleString("en",{month:"short"})}),f=L)}),_}),s=_=>_>=1e9?`${(_/1e9).toFixed(1)}B`:_>=1e6?`${(_/1e6).toFixed(1)}M`:_>=1e3?`${(_/1e3).toFixed(1)}k`:String(_),l=_=>{switch(_){case 0:return"var(--bg)";case 1:return"color-mix(in srgb, var(--accent) 22%, transparent)";case 2:return"color-mix(in srgb, var(--accent) 45%, transparent)";case 3:return"color-mix(in srgb, var(--accent) 70%, transparent)";default:return"var(--accent)"}};var i=ud(),v=c(i);Se(v,21,()=>n(r),br,(_,f,g)=>{const m=Y(()=>n(a).find(N=>N.col===g));var y=id();let w;var L=c(y);$(()=>{w=Ie(y,1,"month svelte-1ryzkww",null,w,{has:!!n(m)}),A(L,n(m)?n(m).label:"")}),p(_,y)});var o=u(v,2);Se(o,21,()=>n(r),br,(_,f)=>{var g=dd();Se(g,21,()=>n(f),br,(m,y)=>{var w=rt(),L=Q(w);{var N=F=>{var D=od();$((V,E)=>{ot(D,`background:${V??""}`),we(D,"title",E)},[()=>l(n(y).intensity),()=>`${n(y).date} · ${s(n(y).count)} tokens`]),p(F,D)},M=F=>{var D=vd();p(F,D)};B(L,F=>{n(y)?F(N):F(M,-1)})}p(m,w)}),p(_,g)});var d=u(o,2),h=u(c(d),2);Se(h,16,()=>[0,1,2,3,4],_=>_,(_,f)=>{var g=cd();$(m=>ot(g,`background:${m??""}`),[()=>l(f)]),p(_,g)}),p(t,i),pe()}var hd=k("<span> </span>"),pd=k('<div class="gridline svelte-1ozbyr9"></div>'),_d=k('<div class="bar-col svelte-1ozbyr9"><div class="bar-area svelte-1ozbyr9"><div></div></div> <div class="xlabel svelte-1ozbyr9"><!></div></div>'),gd=k('<div class="scroll-hint svelte-1ozbyr9">→ scroll left for older days</div>'),md=k('<div class="chart svelte-1ozbyr9"><div class="yaxis svelte-1ozbyr9" aria-hidden="true"></div> <div class="scroll svelte-1ozbyr9"><div class="bars svelte-1ozbyr9"><div class="gridlines svelte-1ozbyr9"></div> <!></div> <!></div></div>');function yd(t,e){he(e,!0);const r=Y(()=>Math.max(1,...e.data.map(M=>M.tokens)));function a(M){if(M<=0)return 1;const F=Math.floor(Math.log10(M)),D=Math.pow(10,F),V=M/D;let E;return V<=1?E=1:V<=2?E=2:V<=5?E=5:E=10,E*D}const s=Y(()=>a(n(r))),l=Y(()=>Array.from({length:5},(M,F)=>n(s)*(1-F/4)));function i(M){return M>=1e9?`${(M/1e9).toFixed(1)}B`:M>=1e6?`${(M/1e6).toFixed(0)}M`:M>=1e3?`${(M/1e3).toFixed(0)}k`:String(M)}function v(M){return new Date(M+"T00:00:00").toLocaleString("en",{month:"short"})}function o(M){if(M===0)return!0;const F=new Date(e.data[M-1].date+"T00:00:00").getMonth(),D=new Date(e.data[M].date+"T00:00:00").getMonth();return F!==D}let d=ee(null);const h=Y(()=>n(d)?n(d).scrollWidth-n(d).clientWidth>8:!1);$t(()=>{e.data;const M=n(d);M&&M.scrollWidth>M.clientWidth&&(M.scrollLeft=M.scrollWidth)});var _=md(),f=c(_);Se(f,20,()=>n(l),M=>M,(M,F)=>{var D=hd(),V=c(D);$(E=>A(V,E),[()=>i(F)]),p(M,D)});var g=u(f,2),m=c(g),y=c(m);Se(y,20,()=>n(l),M=>M,(M,F)=>{var D=pd();p(M,D)});var w=u(y,2);Se(w,19,()=>e.data,M=>M.date,(M,F,D)=>{var V=_d(),E=c(V),U=c(E);let K;var I=u(E,2),P=c(I);{var z=q=>{var S=X();$(T=>A(S,T),[()=>v(n(F).date)]),p(q,S)},b=Y(()=>o(n(D)));B(P,q=>{n(b)&&q(z)})}$(q=>{we(V,"title",q),K=Ie(U,1,"bar svelte-1ozbyr9",null,K,{active:n(F).tokens>0}),ot(U,`height:${n(F).tokens/n(s)*100}%`)},[()=>`${n(F).date} · ${i(n(F).tokens)} tokens`]),p(M,V)});var L=u(m,2);{var N=M=>{var F=gd();p(M,F)};B(L,M=>{n(h)&&M(N)})}al(g,M=>C(d,M),()=>n(d)),p(t,_),pe()}var wd=k("<span> </span>"),bd=k('<span class="app-badge svelte-1ca0tub"> </span>'),xd=k('<div class="row svelte-1ca0tub"><span class="dot svelte-1ca0tub"></span> <div class="id svelte-1ca0tub"><div class="name svelte-1ca0tub"> </div> <div class="meta svelte-1ca0tub"><!></div></div> <div class="nums svelte-1ca0tub"><span class="in svelte-1ca0tub"> </span> <span class="out svelte-1ca0tub"> </span></div> <div class="share svelte-1ca0tub"><div class="track svelte-1ca0tub"><div class="fill svelte-1ca0tub"></div></div> <span class="pct svelte-1ca0tub"> </span></div></div>'),kd=k('<div class="list svelte-1ca0tub"></div>');function Sd(t,e){he(e,!0);function r(i){return i>=1e9?`${(i/1e9).toFixed(1)}B`:i>=1e6?`${(i/1e6).toFixed(1)}M`:i>=1e3?`${(i/1e3).toFixed(0)}k`:String(i)}function a(i){const v=i.map(f=>f.share*100),o=v.map(f=>Math.floor(f));let d=100-o.reduce((f,g)=>f+g,0);const h=v.map((f,g)=>({i:g,frac:f-Math.floor(f)})).sort((f,g)=>g.frac-f.frac),_=o.slice();for(let f=0;f<h.length&&d>0;f++)_[h[f].i]+=1,d--;return _}const s=Y(()=>a(e.models));var l=kd();Se(l,23,()=>e.models,i=>i.provider+i.model,(i,v,o)=>{var d=xd(),h=c(d),_=u(h,2),f=c(_),g=c(f),m=u(f,2),y=c(m);{var w=z=>{var b=rt(),q=Q(b);Se(q,16,()=>n(v).apps,S=>S,(S,T)=>{var H=wd();let j;var O=c(H);$(R=>{j=Ie(H,1,"app-badge svelte-1ca0tub",null,j,R),A(O,T)},[()=>({agy:T.toLowerCase()==="antigravity"})]),p(S,H)}),p(z,b)},L=z=>{var b=bd(),q=c(b);$(()=>A(q,n(v).app)),p(z,b)};B(y,z=>{var b;(b=n(v).apps)!=null&&b.length?z(w):z(L,-1)})}var N=u(_,2),M=c(N),F=c(M),D=u(M,2),V=c(D),E=u(N,2),U=c(E),K=c(U),I=u(U,2),P=c(I);$((z,b)=>{ot(h,`background:${n(v).color??""}`),we(f,"title",`${n(v).provider??""}: ${n(v).model??""}`),A(g,`${n(v).provider??""}: ${n(v).model??""}`),A(F,`↓ ${z??""}`),A(V,`↑ ${b??""}`),ot(K,`width:${n(s)[n(o)]??""}%; background:${n(v).color??""}`),A(P,`${n(s)[n(o)]??""}%`)},[()=>r(n(v).inputTokens),()=>r(n(v).outputTokens)]),p(i,d)}),p(t,l),pe()}var Pd=k('<span class="offline svelte-1thed0a">Offline</span>'),Md=k('<span class="empty svelte-1thed0a" title="No usage recorded yet — use anygate with a provider to populate real stats">No data yet</span>'),Ed=k('<div class="loading svelte-1thed0a"><!></div>'),zd=k('<div class="notice svelte-1thed0a"><p class="notice-title svelte-1thed0a">Can’t load real analytics</p> <p class="notice-body svelte-1thed0a"> </p></div>'),Ad=k('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Activity</h3><span class="hint svelte-1thed0a"> </span></div> <!>',1),Td=k('<div class="section svelte-1thed0a"><!></div> <!>',1),Cd=k('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Token volume</h3><span class="hint svelte-1thed0a">Total tokens per day</span></div> <!>',1),Id=k('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Model breakdown</h3><span class="hint svelte-1thed0a">Share of total usage</span></div> <!>',1),Od=k("<!> <!>",1),$d=k('<p class="muted svelte-1thed0a">No apps detected. Add a provider first.</p>'),Ld=k('<p class="launch-note svelte-1thed0a">Open your agents with anygate models pre-wired, or send your whole favorites catalog into the app switcher.</p> <div class="quick svelte-1thed0a"></div>',1),Fd=k('<div class="sec-head svelte-1thed0a"><h3 class="svelte-1thed0a">Apps &amp; Launch</h3></div> <!>',1),Nd=k('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Providers</span></div>'),Rd=k('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Models</span></div>'),Dd=k('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Favorites</span></div>'),jd=k('<div class="stat svelte-1thed0a"><span class="num svelte-1thed0a"> </span><span class="lbl svelte-1thed0a">Apps ready</span> <!></div>'),qd=k('<div class="dash svelte-1thed0a"><div class="head svelte-1thed0a"><div class="title svelte-1thed0a"><div class="title-row svelte-1thed0a"><h2 class="svelte-1thed0a">Dashboard</h2> <!> <!></div> <p class="svelte-1thed0a"> </p></div> <!></div> <!> <!> <div class="cols mt svelte-1thed0a"><!> <!></div> <div class="grid mt svelte-1thed0a"><!> <!> <!> <!></div></div>');function Hd(t,e){he(e,!0),ue(e,"showSampleBadge",3,!0);let r=ee("overview");const a=Y(()=>Me.list.reduce((S,T)=>S+T.enrichedModels.length,0)),s=Y(()=>Me.list.length),l=Y(()=>Ge.list.filter(S=>S.installed));function i(S){en(S)}$t(()=>{en(be.range)});var v=qd(),o=c(v),d=c(o),h=c(d),_=u(c(h),2);{var f=S=>{var T=Pd();$(()=>we(T,"title",be.error)),p(S,T)};B(_,S=>{be.error&&S(f)})}var g=u(_,2);{var m=S=>{var T=Md();p(S,T)};B(g,S=>{!be.error&&!be.hasData&&S(m)})}var y=u(h,2),w=c(y),L=u(d,2);td(L,{get value(){return be.range},onchange:i});var N=u(o,2);bl(N,{tabs:[{id:"overview",label:"Overview"},{id:"models",label:"Models"}],get active(){return n(r)},set active(S){C(r,S,!0)}});var M=u(N,2);{var F=S=>{var T=Ed(),H=c(T);ir(H,{label:"Loading analytics…"}),p(S,T)},D=S=>{var T=zd(),H=u(c(T),2),j=c(H);$(()=>A(j,be.error)),p(S,T)},V=S=>{var T=rt(),H=Q(T);{var j=R=>{var J=Td(),W=Q(J),G=c(W);ld(G,{get report(){return be.report}});var Z=u(W,2);Ae(Z,{padding:"20px",class:"mt",children:(re,de)=>{var ae=Ad(),ie=Q(ae),ke=u(c(ie)),se=c(ke),ye=u(ie,2);fd(ye,{get days(){return be.report.heatmap}}),$(()=>A(se,`Daily activity over ${(be.range==="all"?"the last year":be.range)??""}`)),p(re,ae)},$$slots:{default:!0}}),p(R,J)},O=R=>{var J=Od(),W=Q(J);Ae(W,{padding:"20px",class:"mt",children:(Z,re)=>{var de=Cd(),ae=u(Q(de),2);yd(ae,{get data(){return be.report.dailyTokens}}),p(Z,de)},$$slots:{default:!0}});var G=u(W,2);Ae(G,{padding:"20px",class:"mt",children:(Z,re)=>{var de=Id(),ae=u(Q(de),2);Sd(ae,{get models(){return be.report.models}}),p(Z,de)},$$slots:{default:!0}}),p(R,J)};B(H,R=>{n(r)==="overview"?R(j):R(O,-1)})}p(S,T)};B(M,S=>{be.loading&&!be.report?S(F):be.error?S(D,1):be.report&&S(V,2)})}var E=u(M,2),U=c(E);Ae(U,{padding:"20px",children:(S,T)=>{var H=Fd(),j=u(Q(H),2);{var O=W=>{ir(W,{label:"Loading apps…"})},R=W=>{var G=$d();p(W,G)},J=W=>{var G=Ld(),Z=u(Q(G),2);Se(Z,21,()=>n(l),re=>re.id,(re,de)=>{_e(re,{variant:"subtle",onclick:()=>vr("apps"),children:(ae,ie)=>{var ke=X();$(()=>A(ke,n(de).name)),p(ae,ke)},$$slots:{default:!0}})}),p(W,G)};B(j,W=>{Ge.loading?W(O):n(l).length===0?W(R,1):W(J,-1)})}p(S,H)},$$slots:{default:!0}});var K=u(U,2);Zv(K,{});var I=u(E,2),P=c(I);Ae(P,{hover:!0,padding:"18px",onclick:()=>vr("providers"),children:(S,T)=>{var H=Nd(),j=c(H),O=c(j);$(()=>A(O,n(s))),p(S,H)},$$slots:{default:!0}});var z=u(P,2);Ae(z,{hover:!0,padding:"18px",onclick:()=>vr("models"),children:(S,T)=>{var H=Rd(),j=c(H),O=c(j);$(()=>A(O,n(a))),p(S,H)},$$slots:{default:!0}});var b=u(z,2);Ae(b,{hover:!0,padding:"18px",onclick:()=>vr("models"),children:(S,T)=>{var H=Dd(),j=c(H),O=c(j);$(()=>A(O,fe.general.length+fe.agy.length)),p(S,H)},$$slots:{default:!0}});var q=u(b,2);Ae(q,{hover:!0,padding:"18px",onclick:()=>vr("apps"),children:(S,T)=>{var H=jd(),j=c(H),O=c(j),R=u(j,3);{var J=W=>{Ce(W,{tone:"success",children:(G,Z)=>{var re=X("server on");p(G,re)},$$slots:{default:!0}})};B(R,W=>{var G;(G=Ye.status)!=null&&G.running&&W(J)})}$(()=>A(O,n(l).length)),p(S,H)},$$slots:{default:!0}}),$(()=>A(w,`Usage analytics for your local gateway · ${(be.range==="all"?"all time":be.range)??""}`)),p(t,v),pe()}const rn={anthropic:["#d97757","#b3543a"],openai:["#10a37f","#0d8268"],google:["#4285f4","#34a853"],gemini:["#4285f4","#a855f7"],xai:["#ae1fym","#1a1a1a"],openrouter:["#f1553a","#c43e26"],deepseek:["#4d6bfe","#3457d5"],ollama:["#e6e6e6","#b0b0b0"],kilocode:["#7c5cff","#5b3fd6"],mistral:["#fa520f","#d23c00"],meta:["#0668e1","#0a4fb0"],qwen:["#615ced","#4633c4"],default:["#e0a44a","#b5822f"]},Bd={anthropic:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 2a1 1 0 0 1 1 1v3.2l6.5-3.75a1 1 0 0 1 1.5.87V11l3.5-2.02a1 1 0 0 1 1 1.73L21.5 13l3.5 2.02a1 1 0 0 1-1 1.73L20 14.98V22a1 1 0 0 1-1.5.87L12 19.12V23a1 1 0 0 1-2 0v-3.88L3.5 22.87A1 1 0 0 1 2 22v-7.02L-1.5 17a1 1 0 0 1-1-1.73L2.5 13l-3.5-2.02a1 1 0 0 1 1-1.73L4 9.98V2a1 1 0 0 1 1.5-.87L12 4.8V3a1 1 0 0 1 1-1z" transform="translate(1 1)"/></svg>',openai:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M22 12a4 4 0 0 0-.7-2.3l.1-.1a3.7 3.7 0 0 0-5.2-5.2l-.1.1A4 4 0 0 0 12 2l-.1.1A3.7 3.7 0 0 0 7.1 4.7l-.1-.1a3.7 3.7 0 0 0-5.2 5.2l.1.1A4 4 0 0 0 2 12l-.1.1A3.7 3.7 0 0 0 4.7 16.9l.1-.1A4 4 0 0 0 12 22l.1-.1A3.7 3.7 0 0 0 16.9 19.3l.1.1a3.7 3.7 0 0 0 5.2-5.2l-.1-.1A4 4 0 0 0 22 12zM12 18.5a6.5 6.5 0 1 1 0-13 6.5 6.5 0 0 1 0 13z"/></svg>',google:'<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 11v3.6h5.1a4.4 4.4 0 0 1-1.9 2.9l3 2.3c1.7-1.6 2.8-4 2.8-6.9 0-.7-.1-1.3-.2-1.9zM6.5 13.5a4.5 4.5 0 0 1 0-3l-3-2.3a8 8 0 0 0 0 7.6zM12 6.2c1.5 0 2.8.5 3.8 1.5l2.9-2.9A8 8 0 0 0 3.5 8.7l3 2.3A4.5 4.5 0 0 1 12 6.2z"/></svg>'};function Ud(t){const e=t.toLowerCase();return{svg:Bd[e],gradient:rn[e]??rn.default}}var Gd=k('<span class="svg svelte-1va9fof"></span>'),Kd=k('<span class="mono svelte-1va9fof"> </span>'),Wd=k('<span class="logo svelte-1va9fof"><!></span>');function Rs(t,e){he(e,!0);let r=ue(e,"size",3,34);const a=Y(()=>Ud(e.id)),s=Y(()=>e.id.slice(0,1).toUpperCase());var l=Wd(),i=c(l);{var v=d=>{var h=Gd();ro(h,()=>n(a).svg,!0),$(()=>ot(h,`width:${r()*.55}px;height:${r()*.55}px`)),p(d,h)},o=d=>{var h=Kd(),_=c(h);$(()=>{ot(h,`font-size:${r()*.42}px`),A(_,n(s))}),p(d,h)};B(i,d=>{n(a).svg?d(v):d(o,-1)})}$(()=>ot(l,`width:${r()??""}px;height:${r()??""}px;background:linear-gradient(135deg,${n(a).gradient[0]??""},${n(a).gradient[1]??""});`)),p(t,l),pe()}var Vd=k('<span class="chip svelte-1p75598"> </span>'),Yd=k('<span class="chip more svelte-1p75598"> </span>'),Jd=k('<span class="chip empty svelte-1p75598">no models yet</span>'),Xd=k('<a class="keylink svelte-1p75598" target="_blank" rel="noopener noreferrer">Get key →</a>'),Zd=k("<!> <!>",1),Qd=Is('<svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6"></path></svg>'),ec=k('<div class="card svelte-1p75598"><div class="head svelte-1p75598"><!> <div class="meta svelte-1p75598"><div class="name svelte-1p75598"> </div> <div class="sub svelte-1p75598"> <span class="id svelte-1p75598"> </span></div></div> <div class="status"><!></div></div> <div class="models svelte-1p75598"><!> <!> <!></div> <div class="actions svelte-1p75598"><!> <!></div></div>');function tc(t,e){he(e,!0);var r=ec(),a=c(r),s=c(a);Rs(s,{get id(){return e.provider.id}});var l=u(s,2),i=c(l),v=c(i),o=u(i,2),d=c(o),h=u(d),_=c(h),f=u(l,2),g=c(f);{var m=b=>{Ce(b,{tone:"success",children:(q,S)=>{var T=X();$(()=>A(T,e.provider.freeAccess?"Free access":"Key set")),p(q,T)},$$slots:{default:!0}})},y=b=>{Ce(b,{tone:"accent",children:(q,S)=>{var T=X("OAuth");p(q,T)},$$slots:{default:!0}})},w=b=>{Ce(b,{tone:"warning",children:(q,S)=>{var T=X("No key");p(q,T)},$$slots:{default:!0}})};B(g,b=>{e.provider.hasKey||e.provider.freeAccess?b(m):e.provider.authType==="oauth"?b(y,1):b(w,-1)})}var L=u(a,2),N=c(L);Se(N,17,()=>e.provider.enrichedModels.slice(0,5),b=>b.id,(b,q)=>{var S=Vd(),T=c(S);$(()=>{we(S,"title",n(q).id),A(T,n(q).name??n(q).id)}),p(b,S)});var M=u(N,2);{var F=b=>{var q=Yd(),S=c(q);$(()=>A(S,`+${e.provider.enrichedModels.length-5}`)),p(b,q)};B(M,b=>{e.provider.enrichedModels.length>5&&b(F)})}var D=u(M,2);{var V=b=>{var q=Jd();p(b,q)};B(D,b=>{e.provider.enrichedModels.length===0&&b(V)})}var E=u(L,2),U=c(E);{var K=b=>{_e(b,{size:"sm",variant:"subtle",onclick:()=>e.onOAuth(e.provider),children:(q,S)=>{var T=X("Sign in");p(q,T)},$$slots:{default:!0}})},I=b=>{var q=Zd(),S=Q(q);_e(S,{size:"sm",variant:"primary",onclick:()=>e.onAddKey(e.provider),children:(j,O)=>{var R=X("Add key");p(j,R)},$$slots:{default:!0}});var T=u(S,2);{var H=j=>{var O=Xd();$(()=>we(O,"href",e.provider.signupUrl)),p(j,O)};B(T,j=>{e.provider.signupUrl&&j(H)})}p(b,q)},P=b=>{_e(b,{size:"sm",variant:"ghost",onclick:()=>fl(e.provider.id),children:(q,S)=>{var T=X("Refresh");p(q,T)},$$slots:{default:!0}})};B(U,b=>{e.provider.authType==="oauth"?b(K):!e.provider.hasKey&&!e.provider.freeAccess?b(I,1):b(P,-1)})}var z=u(U,2);wl(z,{title:"Delete provider",onclick:()=>e.onDelete(e.provider),children:(b,q)=>{var S=Qd();p(b,S)},$$slots:{default:!0}}),$(()=>{A(v,e.provider.name),A(d,`${e.provider.modelCount??""} models · `),A(_,e.provider.id)}),p(t,r),pe()}var rc=k('<p style="color:var(--text-3)">Loading templates…</p>'),ac=k("<option> </option>"),sc=k('<a class="hint-link svelte-263z8" target="_blank" rel="noopener noreferrer">Get an API key →</a>'),nc=k('<span class="lbl svelte-263z8" style="margin-top:14px">API key</span> <!> <!>',1),lc=k('<span class="lbl svelte-263z8" style="margin-top:14px"> </span> <!>',1),ic=k('<span class="lbl svelte-263z8" style="margin-top:14px">Display name</span> <!> <span class="lbl svelte-263z8" style="margin-top:14px">Base URL</span> <!> <span class="lbl svelte-263z8" style="margin-top:14px">API key <span style="color:var(--text-3)">(optional)</span></span> <!>',1),oc=k('<span class="lbl svelte-263z8">Provider</span> <select class="sel svelte-263z8"><option>Select a provider…</option><!></select> <!> <!> <!> <div class="row svelte-263z8" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1);function vc(t,e){he(e,!0);let r=ee(Ne([])),a=ee(!1),s=ee(null),l=ee(""),i=ee(""),v=ee(""),o=ee(!1);async function d(){C(a,!0);try{C(r,(await zo()).templates,!0)}catch(m){ge(String(m),"error")}C(a,!1)}$t(()=>{e.open&&(d(),C(s,null),C(l,""),C(i,""),C(v,""))});const h=Y(()=>n(r).find(m=>m.id===n(s))),_=Y(()=>n(s)==="__custom_openai__"),f=Y(()=>n(s)==="__custom_anthropic__");async function g(){if(n(s)){C(o,!0);try{let m;n(_)||n(f)?m=await To({kind:n(_)?"openai":"anthropic",displayName:n(v),baseUrl:n(i),apiKey:n(l)}):m=await Ao(n(s),n(l)||void 0,n(i)||void 0),m.ok?(ge(`Added ${m.name??n(s)}`,"success"),e.onadded(),e.onclose()):ge(m.error??"Failed to add provider","error")}catch(m){ge(m instanceof Error?m.message:String(m),"error")}C(o,!1)}}xr(t,{get open(){return e.open},title:"Add provider",get onclose(){return e.onclose},children:(m,y)=>{var w=rt(),L=Q(w);{var N=F=>{var D=rc();p(F,D)},M=F=>{var D=oc(),V=u(Q(D),2),E=c(V);E.value=(E.__value=null)??"";var U=u(E);Se(U,17,()=>n(r),j=>j.id,(j,O)=>{var R=ac(),J=c(R),W={};$(()=>{A(J,`${n(O).name??""}${n(O).anonymousFreeModels?" (free)":""}${n(O).subscriptionRisk?" ⚠":""}`),W!==(W=n(O).id)&&(R.value=(R.__value=n(O).id)??"")}),p(j,R)});var K=u(V,2);{var I=j=>{var O=nc(),R=u(Q(O),2);{let G=Y(()=>n(h).apiKeyOptional?"optional":"Paste your key");Zt(R,{get placeholder(){return n(G)},get value(){return n(l)},set value(Z){C(l,Z,!0)}})}var J=u(R,2);{var W=G=>{var Z=sc();$(()=>we(Z,"href",n(h).signupUrl)),p(G,Z)};B(J,G=>{n(h).signupUrl&&G(W)})}p(j,O)};B(K,j=>{n(h)&&n(h).authType==="api"&&!n(h).apiKeyOptional&&!n(_)&&!n(f)&&j(I)})}var P=u(K,2);{var z=j=>{var O=lc(),R=Q(O),J=c(R),W=u(R,2);{let G=Y(()=>n(h).defaultBaseUrl??"https://");Zt(W,{get placeholder(){return n(G)},get value(){return n(i)},set value(Z){C(i,Z,!0)}})}$(()=>A(J,n(h).urlPrompt)),p(j,O)};B(P,j=>{var O;(O=n(h))!=null&&O.urlPrompt&&j(z)})}var b=u(P,2);{var q=j=>{var O=ic(),R=u(Q(O),2);Zt(R,{placeholder:"My endpoint",get value(){return n(v)},set value(G){C(v,G,!0)}});var J=u(R,4);Zt(J,{placeholder:"https://",get value(){return n(i)},set value(G){C(i,G,!0)}});var W=u(J,4);Zt(W,{get value(){return n(l)},set value(G){C(l,G,!0)}}),p(j,O)};B(b,j=>{(n(_)||n(f))&&j(q)})}var S=u(b,2),T=c(S);_e(T,{variant:"ghost",get onclick(){return e.onclose},children:(j,O)=>{var R=X("Cancel");p(j,R)},$$slots:{default:!0}});var H=u(T,2);{let j=Y(()=>!n(s)||n(o));_e(H,{get disabled(){return n(j)},onclick:g,children:(O,R)=>{var J=X();$(()=>A(J,n(o)?"Adding…":"Add provider")),p(O,J)},$$slots:{default:!0}})}no(V,()=>n(s),j=>C(s,j)),p(F,D)};B(L,F=>{n(a)?F(N):F(M,-1)})}p(m,w)},$$slots:{default:!0}}),pe()}var dc=k('<p style="color:var(--text-2);font-size:13.5px;line-height:1.6">Remove <strong style="color:var(--text-1)"> </strong> </p> <div class="row" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1);function cc(t,e){he(e,!0);{let r=Y(()=>!!e.provider);xr(t,{get open(){return n(r)},title:"Delete provider",get onclose(){return e.onclose},children:(a,s)=>{var l=dc(),i=Q(l),v=u(c(i)),o=c(v),d=u(v),h=u(i,2),_=c(h);_e(_,{variant:"ghost",get onclick(){return e.onclose},children:(g,m)=>{var y=X("Cancel");p(g,y)},$$slots:{default:!0}});var f=u(_,2);_e(f,{variant:"danger",onclick:()=>e.provider&&e.onconfirm(e.provider),children:(g,m)=>{var y=X("Delete");p(g,y)},$$slots:{default:!0}}),$(()=>{var g,m;A(o,(g=e.provider)==null?void 0:g.name),A(d,` and all ${((m=e.provider)==null?void 0:m.modelCount)??0??""} of its models from anygate? This clears stored credentials.`)}),p(a,l)},$$slots:{default:!0}})}pe()}var uc=k('<div class="grid svelte-1sgc4qo"></div>'),fc=k('<p class="code svelte-1sgc4qo">Enter code: <strong> </strong></p>'),hc=k('<div class="backdrop svelte-1sgc4qo" role="presentation"><div class="modal glass svelte-1sgc4qo" role="dialog" tabindex="-1"><h3 class="svelte-1sgc4qo"> </h3> <!> <!> <p class="note svelte-1sgc4qo">This window will close automatically once authentication completes.</p> <!></div></div>'),pc=k('<div class="page"><div class="head svelte-1sgc4qo"><div><h2 class="svelte-1sgc4qo">Providers & Keys</h2> <p class="sub svelte-1sgc4qo">Connect model providers via API key or OAuth. Refresh to pull the latest model list.</p></div> <div class="acts svelte-1sgc4qo"><!> <!></div></div> <!></div> <!> <!> <!>',1);function _c(t,e){he(e,!0);let r=ee(!1),a=ee(null),s=ee(null),l=ee(""),i=ee(""),v=ee(null);async function o(I){try{const P=await Co(I.id);P.ok?ge(`Deleted ${I.name}`,"success"):ge(P.error?String(P.error):"Delete failed","error")}catch(P){ge(P instanceof Error?P.message:String(P),"error")}C(a,null),await Sa()}async function d(I){const P=prompt(`API key for ${I.name}:`);if(P)try{(await Po(I.id,P)).ok?(ge("Key saved","success"),await fl(I.id)):ge("Save failed","error")}catch(z){ge(z instanceof Error?z.message:String(z),"error")}}async function h(I){C(s,I,!0);try{const P=await Io(I.id);C(l,P.authUrl??P.url,!0),C(i,P.userCode??"",!0),P.sessionId&&C(v,setInterval(async()=>{const z=await Oo(P.sessionId);z.status!=="pending"&&(n(v)&&clearInterval(n(v)),z.status==="done"?(ge(`${I.name} connected`,"success"),C(s,null),await Sa()):ge(z.error??"OAuth failed","error"))},2e3),!0),P.pkce&&n(l)&&window.open(n(l),"_blank")}catch(P){ge(P instanceof Error?P.message:String(P),"error")}}var _=pc(),f=Q(_),g=c(f),m=u(c(g),2),y=c(m);_e(y,{variant:"ghost",onclick:()=>Sa(),children:(I,P)=>{var z=X("Refresh all");p(I,z)},$$slots:{default:!0}});var w=u(y,2);_e(w,{onclick:()=>C(r,!0),children:(I,P)=>{var z=X("+ Add provider");p(I,z)},$$slots:{default:!0}});var L=u(g,2);{var N=I=>{ir(I,{label:"Loading providers…"})},M=I=>{zr(I,{title:"Could not load providers",icon:"M12 8v5M12 17h.01",children:(P,z)=>{var b=X();$(()=>A(b,Me.error)),p(P,b)},$$slots:{default:!0}})},F=I=>{zr(I,{title:"No providers yet",icon:"M12 11h8M4 11h4M4 19h16",children:(P,z)=>{var b=X("Add a provider to start browsing models.");p(P,b)},$$slots:{default:!0}})},D=I=>{var P=uc();Se(P,21,()=>Me.list,z=>z.id,(z,b)=>{tc(z,{get provider(){return n(b)},onAddKey:d,onDelete:q=>C(a,q,!0),onOAuth:h})}),p(I,P)};B(L,I=>{Me.loading?I(N):Me.error?I(M,1):Me.list.length===0?I(F,2):I(D,-1)})}var V=u(f,2);vc(V,{get open(){return n(r)},onclose:()=>C(r,!1),onadded:()=>Sa()});var E=u(V,2);cc(E,{get provider(){return n(a)},onclose:()=>C(a,null),onconfirm:o});var U=u(E,2);{var K=I=>{var P=hc(),z=c(P),b=c(z),q=c(b),S=u(b,2);{var T=R=>{var J=fc(),W=u(c(J)),G=c(W);$(()=>A(G,n(i))),p(R,J)};B(S,R=>{n(i)&&R(T)})}var H=u(S,2);{var j=R=>{_e(R,{onclick:()=>window.open(n(l),"_blank"),children:(J,W)=>{var G=X("Open sign-in page");p(J,G)},$$slots:{default:!0}})};B(H,R=>{n(l)&&R(j)})}var O=u(H,4);_e(O,{variant:"ghost",onclick:()=>C(s,null),children:(R,J)=>{var W=X("Close");p(R,W)},$$slots:{default:!0}}),$(()=>A(q,`Sign in to ${n(s).name??""}`)),ne("click",P,()=>C(s,null)),ne("keydown",P,R=>{R.key==="Escape"&&C(s,null)}),ne("click",z,R=>R.stopPropagation()),ne("keydown",z,R=>R.stopPropagation()),p(I,P)};B(U,I=>{n(s)&&I(K)})}p(t,_),pe()}Oe(["click","keydown"]);const gc="modulepreload",mc=function(t){return"/"+t},an={},yc=function(e,r,a){let s=Promise.resolve();if(r&&r.length>0){let i=function(d){return Promise.all(d.map(h=>Promise.resolve(h).then(_=>({status:"fulfilled",value:_}),_=>({status:"rejected",reason:_}))))};document.getElementsByTagName("link");const v=document.querySelector("meta[property=csp-nonce]"),o=(v==null?void 0:v.nonce)||(v==null?void 0:v.getAttribute("nonce"));s=i(r.map(d=>{if(d=mc(d),d in an)return;an[d]=!0;const h=d.endsWith(".css"),_=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${d}"]${_}`))return;const f=document.createElement("link");if(f.rel=h?"stylesheet":gc,h||(f.as="script"),f.crossOrigin="",f.href=d,o&&f.setAttribute("nonce",o),document.head.appendChild(f),h)return new Promise((g,m)=>{f.addEventListener("load",g),f.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${d}`)))})}))}function l(i){const v=new Event("vite:preloadError",{cancelable:!0});if(v.payload=i,window.dispatchEvent(v),!v.defaultPrevented)throw i}return s.then(i=>{for(const v of i||[])v.status==="rejected"&&l(v.reason);return e().catch(l)})};var wc=k('<span class="group svelte-xohxs0"><!> <!> <!> <!> <!></span>');function xl(t,e){he(e,!0);var r=wc(),a=c(r);{var s=g=>{Ce(g,{tone:"success",children:(m,y)=>{var w=X("Free");p(m,w)},$$slots:{default:!0}})};B(a,g=>{e.model.isFree&&g(s)})}var l=u(a,2);{var i=g=>{Ce(g,{tone:"warning",children:(m,y)=>{var w=X();$(()=>A(w,e.model.freeLabel)),p(m,w)},$$slots:{default:!0}})};B(l,g=>{e.model.freeLabel&&!e.model.isFree&&g(i)})}var v=u(l,2);{let g=Y(()=>e.model.format==="anthropic"?"accent":e.model.format==="unsupported"?"error":"neutral");Ce(v,{get tone(){return n(g)},children:(m,y)=>{var w=X();$(()=>A(w,e.model.format)),p(m,w)},$$slots:{default:!0}})}var o=u(v,2);{var d=g=>{Ce(g,{tone:"accent",children:(m,y)=>{var w=X("vision");p(m,w)},$$slots:{default:!0}})},h=Y(()=>{var g;return(g=e.model.inputTypes)==null?void 0:g.includes("image")});B(o,g=>{n(h)&&g(d)})}var _=u(o,2);{var f=g=>{Ce(g,{tone:"accent",children:(m,y)=>{var w=X("reasoning");p(m,w)},$$slots:{default:!0}})};B(_,g=>{e.model.reasoning&&g(f)})}p(t,r),pe()}var bc=k("<button> </button>"),xc=k('<div><div class="info svelte-19h4ccs"><div class="name svelte-19h4ccs"> <span class="pid svelte-19h4ccs"> </span></div> <div class="meta svelte-19h4ccs"> </div></div> <div class="tags svelte-19h4ccs"><!></div> <!></div>');function kc(t,e){he(e,!0);let r=ue(e,"favorited",3,!1);function a(N){return N?`${(N/1e3).toFixed(0)}k`:"—"}function s(N){if(!N||typeof N!="object")return"—";const M=N,F=[];return M.input!=null&&F.push(`$${M.input}/M in`),M.output!=null&&F.push(`$${M.output}/M out`),F.join(" · ")||"—"}var l=xc();let i;var v=c(l),o=c(v),d=c(o),h=u(d),_=c(h),f=u(o,2),g=c(f),m=u(v,2),y=c(m);xl(y,{get model(){return e.model}});var w=u(m,2);{var L=N=>{var M=bc();let F;var D=c(M);$(()=>{F=Ie(M,1,"star svelte-19h4ccs",null,F,{on:r()}),we(M,"title",r()?"Remove favorite":"Add favorite"),we(M,"aria-label",r()?"Remove favorite":"Add favorite"),A(D,r()?"★":"☆")}),ne("click",M,V=>{V.stopPropagation(),e.onToggleFav()}),p(N,M)};B(w,N=>{e.onToggleFav&&N(L)})}$((N,M)=>{i=Ie(l,1,"row svelte-19h4ccs",null,i,{clickable:!!e.onOpen}),we(l,"role",e.onOpen?"button":void 0),we(l,"tabindex",e.onOpen?0:void 0),A(d,e.model.name??e.model.id),A(_,`· ${e.providerId??""}`),A(g,`ctx ${N??""} · ${M??""}`)},[()=>a(e.model.contextWindow),()=>s(e.model.cost)]),ne("click",l,()=>{var N;return(N=e.onOpen)==null?void 0:N.call(e)}),ne("keydown",l,N=>{e.onOpen&&(N.key==="Enter"||N.key===" ")&&(N.preventDefault(),e.onOpen())}),p(t,l),pe()}Oe(["click","keydown"]);var Sc=k("<option> </option>"),Pc=k('<div class="filters svelte-1y45iff"><input class="q svelte-1y45iff" placeholder="Search models…"/> <select class="s svelte-1y45iff"><option>All providers</option><!></select> <select class="s svelte-1y45iff"><option>Any format</option><option>anthropic</option><option>openai</option><option>unsupported</option></select> <select class="s svelte-1y45iff"><option>Free & paid</option><option>Free only</option><option>Paid only</option></select> <select class="s svelte-1y45iff"><option>Any reasoning</option><option>Reasoning</option><option>No reasoning</option></select> <select class="s svelte-1y45iff"><option>Any vision</option><option>Vision</option><option>No vision</option></select> <select class="s svelte-1y45iff"><option>Sort: context</option><option>Sort: cost</option><option>Sort: name</option></select></div>');function Mc(t,e){he(e,!0);let r=ue(e,"value",15);function a(R,J){var W;r({...r(),[R]:J}),(W=e.onchange)==null||W.call(e,r())}var s=Pc(),l=c(s),i=u(l,2),v=c(i);v.value=v.__value="";var o=u(v);Se(o,17,()=>e.providers,br,(R,J)=>{var W=Sc(),G=c(W),Z={};$(()=>{A(G,n(J).name),Z!==(Z=n(J).id)&&(W.value=(W.__value=n(J).id)??"")}),p(R,W)});var d;Xt(i);var h=u(i,2),_=c(h);_.value=_.__value="";var f=u(_);f.value=f.__value="anthropic";var g=u(f);g.value=g.__value="openai";var m=u(g);m.value=m.__value="unsupported";var y;Xt(h);var w=u(h,2),L=c(w);L.value=L.__value="";var N=u(L);N.value=N.__value="free";var M=u(N);M.value=M.__value="paid";var F;Xt(w);var D=u(w,2),V=c(D);V.value=V.__value="";var E=u(V);E.value=E.__value="yes";var U=u(E);U.value=U.__value="no";var K;Xt(D);var I=u(D,2),P=c(I);P.value=P.__value="";var z=u(P);z.value=z.__value="yes";var b=u(z);b.value=b.__value="no";var q;Xt(I);var S=u(I,2),T=c(S);T.value=T.__value="ctx";var H=u(T);H.value=H.__value="cost";var j=u(H);j.value=j.__value="name";var O;Xt(S),$(()=>{Os(l,r().query),d!==(d=r().provider)&&(i.value=(i.__value=r().provider)??"",Dt(i,r().provider)),y!==(y=r().format)&&(h.value=(h.__value=r().format)??"",Dt(h,r().format)),F!==(F=r().free)&&(w.value=(w.__value=r().free)??"",Dt(w,r().free)),K!==(K=r().reasoning)&&(D.value=(D.__value=r().reasoning)??"",Dt(D,r().reasoning)),q!==(q=r().vision)&&(I.value=(I.__value=r().vision)??"",Dt(I,r().vision)),O!==(O=r().sort)&&(S.value=(S.__value=r().sort)??"",Dt(S,r().sort))}),ne("input",l,R=>a("query",R.currentTarget.value)),ne("change",i,R=>a("provider",R.currentTarget.value)),ne("change",h,R=>a("format",R.currentTarget.value)),ne("change",w,R=>a("free",R.currentTarget.value)),ne("change",D,R=>a("reasoning",R.currentTarget.value)),ne("change",I,R=>a("vision",R.currentTarget.value)),ne("change",S,R=>a("sort",R.currentTarget.value)),p(t,s),pe()}Oe(["input","change"]);var Ec=k('<div><div class="h svelte-1efx48s">Source backend</div><div class="v svelte-1efx48s"> </div></div>'),zc=k('<div class="stack svelte-1efx48s"><div><div class="h svelte-1efx48s">Name</div> <div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Model ID</div> <code class="v mono svelte-1efx48s"> </code></div> <div><div class="h svelte-1efx48s">Provider</div> <div class="v svelte-1efx48s"> <span class="sub svelte-1efx48s"> </span></div></div> <div class="grid svelte-1efx48s"><div><div class="h svelte-1efx48s">Context window</div><div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Free</div><div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Format</div><div class="v svelte-1efx48s"><!></div></div> <div><div class="h svelte-1efx48s">Reasoning</div><div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Image input</div><div class="v svelte-1efx48s"> </div></div></div> <div><div class="h svelte-1efx48s">Cost</div> <div class="v svelte-1efx48s"> </div></div> <div><div class="h svelte-1efx48s">Supported parameters</div> <div class="v chips svelte-1efx48s"></div></div> <!></div>');function Ac(t,e){he(e,!0);function r(a){if(!a||typeof a!="object")return"Not published";const s=a;return[s.input!=null?`$${s.input} / 1M input`:null,s.output!=null?`$${s.output} / 1M output`:null].filter(Boolean).join(" · ")||"Not published"}pv(t,{get open(){return e.open},title:"Model details",get onclose(){return e.onclose},children:(a,s)=>{var l=rt(),i=Q(l);{var v=o=>{var d=zc(),h=c(d),_=u(c(h),2),f=c(_),g=u(h,2),m=u(c(g),2),y=c(m),w=u(g,2),L=u(c(w),2),N=c(L),M=u(N),F=c(M),D=u(w,2),V=c(D),E=u(c(V)),U=c(E),K=u(V,2),I=u(c(K)),P=c(I),z=u(K,2),b=u(c(z)),q=c(b);xl(q,{get model(){return e.model}});var S=u(z,2),T=u(c(S)),H=c(T),j=u(S,2),O=u(c(j)),R=c(O),J=u(D,2),W=u(c(J),2),G=c(W),Z=u(J,2),re=u(c(Z),2);Se(re,21,()=>e.model.supportedParameters??[],br,(ie,ke)=>{Ce(ie,{tone:"neutral",children:(se,ye)=>{var je=X();$(()=>A(je,n(ke))),p(se,je)},$$slots:{default:!0}})});var de=u(Z,2);{var ae=ie=>{var ke=Ec(),se=u(c(ke)),ye=c(se);$(()=>A(ye,e.model.sourceBackend)),p(ie,ke)};B(de,ie=>{e.model.sourceBackend&&ie(ae)})}$((ie,ke,se)=>{A(f,e.model.name??e.model.id),A(y,e.model.id),A(N,`${e.providerName??""} `),A(F,`(${e.providerId??""})`),A(U,ie),A(P,e.model.isFree?"Yes":e.model.freeLabel??"No"),A(H,e.model.reasoning?"Supported":"No"),A(R,ke),A(G,se)},[()=>e.model.contextWindow?e.model.contextWindow.toLocaleString()+" tokens":"—",()=>{var ie;return(ie=e.model.inputTypes)!=null&&ie.includes("image")?"Supported":"No"},()=>r(e.model.cost)]),p(o,d)};B(i,o=>{e.model&&o(v)})}p(a,l)},$$slots:{default:!0}}),pe()}var Tc=k('<div class="item svelte-drwign" role="listitem" draggable="true"><span class="handle svelte-drwign" title="Drag to reorder">⠿⠿⠿</span> <span class="idx svelte-drwign"> </span> <!> <div class="meta svelte-drwign"><div class="name svelte-drwign"> </div> <div class="sub svelte-drwign"> </div></div> <button class="x svelte-drwign" title="Remove">×</button></div>');function Cc(t,e){he(e,!0);var r=Tc(),a=u(c(r),2),s=c(a),l=u(a,2);Rs(l,{get id(){return e.fav.providerId},size:28});var i=u(l,2),v=c(i),o=c(v),d=u(v,2),h=c(d),_=u(i,2);$(()=>{A(s,e.index+1),A(o,e.fav.model),A(h,e.fav.providerName)}),Ca("dragstart",r,function(...f){var g;(g=e.ondragstart)==null||g.apply(this,f)}),Ca("dragover",r,f=>f.preventDefault()),Ca("drop",r,function(...f){var g;(g=e.ondrop)==null||g.apply(this,f)}),ne("click",_,function(...f){var g;(g=e.onremove)==null||g.apply(this,f)}),p(t,r),pe()}Oe(["click"]);var Ic=k('<div class="list svelte-156gwh2"><!> <div class="cap svelte-156gwh2"> </div></div>');function Oc(t,e){he(e,!0);let r=ee(null);function a(_,f){var g;C(r,_,!0),(g=f.dataTransfer)==null||g.setData("text/plain",String(_))}function s(_){if(n(r)===null||n(r)===_)return;const f=[...e.items],[g]=f.splice(n(r),1);f.splice(_,0,g),C(r,null),e.onreorder(f)}var l=Ic(),i=c(l);{var v=_=>{zr(_,{title:"No favorites yet",icon:"M12 5v14M5 12h14",children:(f,g)=>{var m=X("Star models from the Models tab to build your quick-launch list.");p(f,m)},$$slots:{default:!0}})},o=_=>{var f=rt(),g=Q(f);Se(g,19,()=>e.items,m=>m.providerId+"/"+m.modelId,(m,y,w)=>{Cc(m,{get fav(){return n(y)},get index(){return n(w)},onremove:()=>e.onremove(n(y)),ondragstart:L=>a(n(w),L),ondrop:()=>s(n(w))})}),p(_,f)};B(i,_=>{e.items.length===0?_(v):_(o,-1)})}var d=u(i,2),h=c(d);$(()=>A(h,`${e.items.length??""} / ${e.max??""} used`)),p(t,l),pe()}var $c=k('<div class="meter svelte-19jc277"><div class="top svelte-19jc277"><span> </span><span class="n svelte-19jc277"> </span></div> <div class="track svelte-19jc277"><div></div></div></div>');function Lc(t,e){let r=ue(e,"label",3,"");const a=Y(()=>Math.min(100,Math.round(e.used/e.max*100))),s=Y(()=>e.used>=e.max);var l=$c(),i=c(l),v=c(i),o=c(v),d=u(v),h=c(d),_=u(i,2),f=c(_);let g;$(()=>{A(o,r()),A(h,`${e.used??""}/${e.max??""}`),g=Ie(f,1,"fill svelte-19jc277",null,g,{full:n(s)}),ot(f,`width:${n(a)??""}%`)}),p(t,l)}var Fc=k('<div class="fav-head svelte-p8xmpw"><h3 class="svelte-p8xmpw">Favorites</h3> <!></div> <!> <div style="margin-top:14px"><!></div>',1),Nc=k('<div class="page"><div class="head svelte-p8xmpw"><h2 class="svelte-p8xmpw">Models</h2> <p class="sub svelte-p8xmpw">Browse every model anygate can route. Star any model to add it to your favorites.</p></div> <div class="layout svelte-p8xmpw"><div class="main-col"><!> <!></div> <aside class="fav-col"><!></aside></div></div> <!>',1);function Rc(t,e){he(e,!0);let r=ee(Ne({provider:"",format:"",free:"",reasoning:"",vision:"",query:"",sort:"ctx"})),a=ee(null),s=ee("general");const l=Y(()=>Me.list.flatMap(E=>E.enrichedModels.map(U=>({model:U,providerId:E.id,providerName:E.name}))));function i(E){if(!E||typeof E!="object")return 0;const U=E;return(U.input??0)+(U.output??0)}const v=Y(()=>n(l).filter(E=>{var U,K;return(!n(r).provider||E.providerId===n(r).provider)&&(!n(r).format||E.model.format===n(r).format)&&(!n(r).free||(n(r).free==="free"?E.model.isFree:!E.model.isFree))&&(!n(r).reasoning||(n(r).reasoning==="yes"?E.model.reasoning:!E.model.reasoning))&&(!n(r).vision||(n(r).vision==="yes"?(U=E.model.inputTypes)==null?void 0:U.includes("image"):!((K=E.model.inputTypes)!=null&&K.includes("image"))))&&(!n(r).query||(E.model.name??E.model.id).toLowerCase().includes(n(r).query.toLowerCase())||E.model.id.toLowerCase().includes(n(r).query.toLowerCase()))}).sort((E,U)=>n(r).sort==="name"?(E.model.name??E.model.id).localeCompare(U.model.name??U.model.id):n(r).sort==="cost"?i(E.model.cost)-i(U.model.cost):(U.model.contextWindow??0)-(E.model.contextWindow??0)));function o(E,U){return(n(s)==="agy"?fe.agy:fe.general).some(I=>I.providerId===E&&I.modelId===U)}async function d(E){const U=E.model;if(o(E.providerId,U.id))await gs(E.providerId,U.id,n(s)==="agy");else{const K={providerId:E.providerId,providerName:E.providerName,model:U.id,modelId:U.id,contextWindow:U.contextWindow,cost:U.cost};await _l(K,n(s)==="agy")}}async function h(E){n(s)==="agy"?fe.agy=E:fe.general=E,await yc(()=>Promise.resolve().then(()=>Qo),void 0).then(U=>U.reorder(E,n(s)==="agy"))}var _=Nc(),f=Q(_),g=u(c(f),2),m=c(g),y=c(m);{let E=Y(()=>Me.list.map(U=>({id:U.id,name:U.name})));Mc(y,{get providers(){return n(E)},get value(){return n(r)},set value(U){C(r,U,!0)}})}var w=u(y,2);{var L=E=>{ir(E,{label:"Loading models…"})},N=E=>{zr(E,{title:"No models match",icon:"M4 6h16M4 12h16M4 18h16",children:(U,K)=>{var I=X("Adjust filters or connect more providers.");p(U,I)},$$slots:{default:!0}})},M=E=>{Ae(E,{padding:"6px",children:(U,K)=>{var I=rt(),P=Q(I);Se(P,17,()=>n(v),z=>z.providerId+"/"+z.model.id,(z,b)=>{{let q=Y(()=>o(n(b).providerId,n(b).model.id));kc(z,{get model(){return n(b).model},get providerId(){return n(b).providerId},get favorited(){return n(q)},onToggleFav:()=>d(n(b)),onOpen:()=>C(a,n(b),!0)})}}),p(U,I)},$$slots:{default:!0}})};B(w,E=>{Me.loading?E(L):n(v).length===0?E(N,1):E(M,-1)})}var F=u(m,2),D=c(F);Ae(D,{padding:"18px",children:(E,U)=>{var K=Fc(),I=Q(K),P=u(c(I),2);{let S=Y(()=>n(s)==="agy"?fe.agy.length:fe.general.length),T=Y(()=>n(s)==="agy"?6:20),H=Y(()=>n(s)==="agy"?"AGY":"General");Lc(P,{get used(){return n(S)},get max(){return n(T)},get label(){return n(H)}})}var z=u(I,2);bl(z,{tabs:[{id:"general",label:"General (20)"},{id:"agy",label:"AGY (6)"}],get active(){return n(s)},set active(S){C(s,S,!0)}});var b=u(z,2),q=c(b);{let S=Y(()=>n(s)==="agy"?fe.agy:fe.general),T=Y(()=>n(s)==="agy"?6:20);Oc(q,{get items(){return n(S)},get max(){return n(T)},onreorder:h,onremove:H=>gs(H.providerId,H.modelId,n(s)==="agy")})}p(E,K)},$$slots:{default:!0}});var V=u(f,2);{let E=Y(()=>!!n(a)),U=Y(()=>{var P;return((P=n(a))==null?void 0:P.model)??null}),K=Y(()=>{var P;return((P=n(a))==null?void 0:P.providerId)??""}),I=Y(()=>{var P;return((P=n(a))==null?void 0:P.providerName)??""});Ac(V,{get open(){return n(E)},get model(){return n(U)},get providerId(){return n(K)},get providerName(){return n(I)},onclose:()=>C(a,null)})}p(t,_),pe()}var Dc=k('<div class="path svelte-1gp522a"> </div>'),jc=k('<div class="favs svelte-1gp522a"><span class="star svelte-1gp522a">★</span> <span> </span></div>'),qc=k('<a class="install-link svelte-1gp522a" target="_blank" rel="noopener noreferrer"> </a>'),Hc=k('<code class="cmd svelte-1gp522a"> </code> <button class="copy svelte-1gp522a" type="button">Copy</button>',1),Bc=k('<div class="install svelte-1gp522a"><!></div>'),Uc=k('<div class="card svelte-1gp522a"><div class="head svelte-1gp522a"><div><!></div> <div class="meta svelte-1gp522a"><div class="name svelte-1gp522a"> </div> <div class="sub svelte-1gp522a"> </div></div> <!></div> <!> <!> <!> <div class="actions svelte-1gp522a"><!> <!></div></div>');function Gc(t,e){he(e,!0);let r=ue(e,"favCount",3,0);var a=Uc(),s=c(a),l=c(s);let i;var v=c(l);Rs(v,{get id(){return e.app.id},size:38});var o=u(l,2),d=c(o),h=c(d),_=u(d,2),f=c(_),g=u(o,2);{var m=K=>{Ce(K,{tone:"success",children:(I,P)=>{var z=X("Installed");p(I,z)},$$slots:{default:!0}})},y=K=>{Ce(K,{tone:"warning",children:(I,P)=>{var z=X("Not installed");p(I,z)},$$slots:{default:!0}})};B(g,K=>{e.app.installed?K(m):K(y,-1)})}var w=u(s,2);{var L=K=>{var I=Dc(),P=c(I);$(()=>{we(I,"title",e.app.path),A(P,e.app.path)}),p(K,I)};B(w,K=>{e.app.path&&K(L)})}var N=u(w,2);{var M=K=>{var I=jc(),P=u(c(I),2),z=c(P);$(()=>A(z,`${r()??""} favorite${r()===1?"":"s"} ready`)),p(K,I)};B(N,K=>{r()>0&&K(M)})}var F=u(N,2);{var D=K=>{var I=Bc(),P=c(I);{var z=q=>{var S=qc(),T=c(S);$(()=>{we(S,"href",e.app.installUrl),A(T,`Get ${e.app.name??""} →`)}),p(q,S)},b=q=>{var S=Hc(),T=Q(S),H=c(T),j=u(T,2);$(()=>A(H,e.app.installHint)),ne("click",j,()=>{var O;return(O=navigator.clipboard)==null?void 0:O.writeText(e.app.installHint??"")}),p(q,S)};B(P,q=>{e.app.installUrl?q(z):e.app.installHint&&q(b,1)})}p(K,I)};B(F,K=>{e.app.installed||K(D)})}var V=u(F,2),E=c(V);_e(E,{size:"sm",variant:"ghost",onclick:()=>e.onsetpath(e.app),children:(K,I)=>{var P=X("Path");p(K,P)},$$slots:{default:!0}});var U=u(E,2);{let K=Y(()=>!e.app.installed);_e(U,{size:"sm",variant:"primary",get disabled(){return n(K)},onclick:()=>e.onlaunch(e.app),children:(I,P)=>{var z=X();$(()=>A(z,r()>0?"Launch with favorites":"Launch")),p(I,z)},$$slots:{default:!0}})}$(()=>{i=Ie(l,1,"logo svelte-1gp522a",null,i,{dim:!e.app.installed}),A(h,e.app.name),A(f,e.app.type==="cli"?"CLI":"Desktop app")}),p(t,a),pe()}Oe(["click"]);var Kc=k('<div class="grid svelte-ishglm"></div>'),Wc=k('<div class="opts svelte-ishglm"><span class="lbl svelte-ishglm">Provider</span> <!> <span class="lbl svelte-ishglm">Model</span> <!></div>'),Vc=k('<div class="hintbox svelte-ishglm"><!> <span>Opens the app with every favorite routed through one anygate gateway — switch live from the in-app model menu.</span></div>'),Yc=k('<button class="recent svelte-ishglm"> </button>'),Jc=k('<div class="recents svelte-ishglm"></div>'),Xc=k('<div class="modes svelte-ishglm"><button><span class="mode-ico svelte-ishglm">★</span> <span class="mode-body svelte-ishglm"><span class="mode-title svelte-ishglm">All favorites</span> <span class="mode-desc svelte-ishglm"> </span></span></button> <button><span class="mode-ico svelte-ishglm">◉</span> <span class="mode-body svelte-ishglm"><span class="mode-title svelte-ishglm">One model</span> <span class="mode-desc svelte-ishglm">Launch with a single pre-selected model</span></span></button> <button><span class="mode-ico svelte-ishglm">⤢</span> <span class="mode-body svelte-ishglm"><span class="mode-title svelte-ishglm">Just open</span> <span class="mode-desc svelte-ishglm">Launch the app with no model pre-set</span></span></button></div> <!> <div class="opts svelte-ishglm" style="margin-top:16px"><span class="lbl svelte-ishglm">Launch folder</span> <div class="folder svelte-ishglm"><!> <!></div> <!></div> <div class="row svelte-ishglm" style="margin-top:22px;justify-content:flex-end;gap:8px"><!> <!></div>',1),Zc=k('<span class="lbl svelte-ishglm">Executable path</span> <div class="folder svelte-ishglm"><!> <!></div> <div class="row svelte-ishglm" style="margin-top:20px;justify-content:flex-end;gap:8px"><!> <!></div>',1),Qc=k(`<div class="page"><div class="head svelte-ishglm"><div><h2 class="svelte-ishglm">Apps & Launch</h2> <p class="sub svelte-ishglm">Open Claude, Codex, Gemini, or Antigravity with your anygate models pre-wired. Pick a launch folder per app, or send your whole favorites catalog into the app's model switcher.</p></div></div> <!></div> <!> <!>`,1);function eu(t,e){he(e,!0);let r=ee(null),a=ee("favorites"),s=ee(""),l=ee(""),i=ee(""),v=ee(null),o=ee("");const d=Y(()=>Ge.list.find(z=>z.id===n(r))),h=Y(()=>n(d)&&(n(d).id==="antigravity"||n(d).id==="agy"||n(d).id==="antigravity-ide")?fe.agy.length:fe.general.length),_=Y(()=>{var z;return n(s)?(((z=Me.list.find(b=>b.id===n(s)))==null?void 0:z.enrichedModels)??[]).map(b=>({value:b.id,label:b.name??b.id})):[]});async function f(z){C(r,z.id,!0),C(a,n(h)>0?"favorites":"specific",!0),C(s,""),C(l,""),C(i,"");const b=Ge.recentFolders;C(i,b[0]??"",!0)}async function g(){n(r)&&(n(a)==="favorites"?await Qa({appId:n(r),favoritesCatalog:!0,cwd:n(i)||void 0}):n(a)==="specific"?await Qa({appId:n(r),providerId:n(s)||void 0,modelId:n(l)||void 0,cwd:n(i)||void 0}):await Qa({appId:n(r),cwd:n(i)||void 0}),C(r,null))}async function m(z){C(v,z,!0),C(o,z.path??"",!0)}async function y(){n(v)&&(await tv(n(v).id,n(o).trim()||null),C(v,null))}async function w(){const z=await Qs();z&&C(i,z,!0)}async function L(){const z=await Qs();z&&C(o,z,!0)}var N=Qc(),M=Q(N),F=u(c(M),2);{var D=z=>{ir(z,{label:"Detecting installed apps…"})},V=z=>{zr(z,{title:"No apps found",icon:"M2 3h20v14H2z",children:(b,q)=>{var S=X("anygate couldn't detect supported apps on this system.");p(b,S)},$$slots:{default:!0}})},E=z=>{var b=Kc();Se(b,21,()=>Ge.list,q=>q.id,(q,S)=>{{let T=Y(()=>n(S).id==="antigravity"||n(S).id==="agy"||n(S).id==="antigravity-ide"?fe.agy.length:fe.general.length);Gc(q,{get app(){return n(S)},get favCount(){return n(T)},onlaunch:f,onsetpath:m})}}),p(z,b)};B(F,z=>{Ge.loading?z(D):Ge.list.length===0?z(V,1):z(E,-1)})}var U=u(M,2);{var K=z=>{{let b=Y(()=>!!n(d)),q=Y(()=>`Launch ${n(d).name}`);xr(z,{get open(){return n(b)},get title(){return n(q)},onclose:()=>C(r,null),children:(S,T)=>{var H=Xc(),j=Q(H),O=c(j);let R;var J=u(c(O),2),W=u(c(J),2),G=c(W),Z=u(O,2);let re;var de=u(Z,2);let ae;var ie=u(j,2);{var ke=Pe=>{var Re=Wc(),Ke=u(c(Re),2);{let Xe=Y(()=>[{value:"",label:"All"},...Me.list.map(Ue=>({value:Ue.id,label:Ue.name}))]);sr(Ke,{get options(){return n(Xe)},get value(){return n(s)},set value(Ue){C(s,Ue,!0)}})}var Be=u(Ke,4);{let Xe=Y(()=>!n(s)),Ue=Y(()=>n(s)?[{value:"",label:"All"},...n(_)]:[{value:"",label:"— pick a provider first —"}]);sr(Be,{get disabled(){return n(Xe)},get options(){return n(Ue)},get value(){return n(l)},set value(Ua){C(l,Ua,!0)}})}p(Pe,Re)},se=Pe=>{var Re=Vc(),Ke=c(Re);Ce(Ke,{tone:"success",children:(Be,Xe)=>{var Ue=X();$(()=>A(Ue,`${n(h)??""} favorites`)),p(Be,Ue)},$$slots:{default:!0}}),p(Pe,Re)};B(ie,Pe=>{n(a)==="specific"?Pe(ke):n(a)==="favorites"&&Pe(se,1)})}var ye=u(ie,2),je=u(c(ye),2),Nt=c(je);Zt(Nt,{placeholder:"Path or browse…",get value(){return n(i)},set value(Pe){C(i,Pe,!0)}});var or=u(Nt,2);_e(or,{size:"sm",variant:"ghost",onclick:w,children:(Pe,Re)=>{var Ke=X("Browse");p(Pe,Ke)},$$slots:{default:!0}});var Vt=u(je,2);{var Yt=Pe=>{var Re=Jc();Se(Re,21,()=>Ge.recentFolders.filter(Ke=>Ke!==n(i)).slice(0,4),br,(Ke,Be)=>{var Xe=Yc(),Ue=c(Xe);$(()=>A(Ue,n(Be))),ne("click",Xe,()=>C(i,n(Be),!0)),p(Ke,Xe)}),p(Pe,Re)},vt=Y(()=>Ge.recentFolders.filter(Pe=>Pe!==n(i)).length);B(Vt,Pe=>{n(vt)&&Pe(Yt)})}var Et=u(ye,2),Rt=c(Et);_e(Rt,{variant:"ghost",onclick:()=>C(r,null),children:(Pe,Re)=>{var Ke=X("Cancel");p(Pe,Ke)},$$slots:{default:!0}});var zt=u(Rt,2);{let Pe=Y(()=>!n(d).installed||n(a)==="specific"&&!!n(s)&&!n(l));_e(zt,{get disabled(){return n(Pe)},onclick:g,children:(Re,Ke)=>{var Be=X("Launch");p(Re,Be)},$$slots:{default:!0}})}$(()=>{R=Ie(O,1,"mode svelte-ishglm",null,R,{active:n(a)==="favorites"}),O.disabled=n(h)===0,A(G,n(h)>0?`${n(h)} models into the app switcher`:"No favorites saved yet"),re=Ie(Z,1,"mode svelte-ishglm",null,re,{active:n(a)==="specific"}),ae=Ie(de,1,"mode svelte-ishglm",null,ae,{active:n(a)==="open"})}),ne("click",O,()=>C(a,"favorites")),ne("click",Z,()=>C(a,"specific")),ne("click",de,()=>C(a,"open")),p(S,H)},$$slots:{default:!0}})}};B(U,z=>{n(d)&&z(K)})}var I=u(U,2);{var P=z=>{{let b=Y(()=>!!n(v)),q=Y(()=>`Set path → ${n(v).name}`);xr(z,{get open(){return n(b)},get title(){return n(q)},onclose:()=>C(v,null),children:(S,T)=>{var H=Zc(),j=u(Q(H),2),O=c(j);Zt(O,{placeholder:"/path/to/executable",get value(){return n(o)},set value(Z){C(o,Z,!0)}});var R=u(O,2);_e(R,{size:"sm",variant:"ghost",onclick:L,children:(Z,re)=>{var de=X("Browse");p(Z,de)},$$slots:{default:!0}});var J=u(j,2),W=c(J);_e(W,{variant:"ghost",onclick:()=>C(v,null),children:(Z,re)=>{var de=X("Cancel");p(Z,de)},$$slots:{default:!0}});var G=u(W,2);_e(G,{onclick:y,children:(Z,re)=>{var de=X("Save");p(Z,de)},$$slots:{default:!0}}),p(S,H)},$$slots:{default:!0}})}};B(I,z=>{n(v)&&z(P)})}p(t,N),pe()}Oe(["click"]);var tu=k("<!> <!>",1);function ru(t,e){he(e,!0);var r=rt(),a=Q(r);{var s=i=>{var v=tu(),o=Q(v);Ce(o,{tone:"success",children:(_,f)=>{var g=X();$(()=>A(g,`Running · ${e.status.listenMode==="network"?"Network":"Local"}`)),p(_,g)},$$slots:{default:!0}});var d=u(o,2);{var h=_=>{Ce(_,{tone:"neutral",children:(f,g)=>{var m=X();$(()=>A(m,`${e.status.models.length??""} models`)),p(f,m)},$$slots:{default:!0}})};B(d,_=>{e.status.models&&_(h)})}p(i,v)},l=i=>{Ce(i,{tone:"neutral",children:(v,o)=>{var d=X("Stopped");p(v,d)},$$slots:{default:!0}})};B(a,i=>{var v;(v=e.status)!=null&&v.running?i(s):i(l,-1)})}p(t,r),pe()}var au=k('<div class="url svelte-swldy1"><span class="lbl svelte-swldy1"> </span><code class="svelte-swldy1"> </code></div>'),su=k('<!> <div class="url svelte-swldy1"><span class="lbl svelte-swldy1">Key</span><code class="svelte-swldy1"> </code></div>',1),nu=k('<div class="summary svelte-swldy1"> </div>'),lu=k('<div class="urls svelte-swldy1"><div class="url svelte-swldy1"><span class="lbl svelte-swldy1">Anthropic</span><code class="svelte-swldy1"> </code></div> <div class="url svelte-swldy1"><span class="lbl svelte-swldy1">OpenAI</span><code class="svelte-swldy1"> </code></div> <!></div> <!>',1),iu=k('<span class="lbl svelte-swldy1">Server password</span> <input class="inp svelte-swldy1" placeholder="required for network"/> <!>',1),ou=k('<div class="opts svelte-swldy1"><!> <!> <!> <!> <!></div>'),vu=k('<div class="panel svelte-swldy1"><div class="row svelte-swldy1"><div><h3 class="svelte-swldy1">Server Gateway</h3> <p class="desc svelte-swldy1">Expose your anygate models over a local OpenAI/Anthropic-compatible endpoint.</p></div> <!></div> <!> <div class="actions svelte-swldy1"><!></div></div>');function du(t,e){he(e,!0);let r=ee(!1),a=ee(!1),s=ee(!1),l=ee("local"),i=ee(""),v=ee(!0);const o=Y(()=>Ye.status);function d(){n(o)&&(C(r,n(o).saved.favoritesOnly,!0),C(a,n(o).saved.freeModelsOnly,!0),C(s,n(o).saved.maskGatewayIds,!0),C(l,n(o).saved.listenMode,!0))}$t(()=>{n(o)&&d()});async function h(){var F,D,V;if((F=n(o))!=null&&F.running){await Hv();return}n(l)==="network"&&!n(i).trim()&&C(i,Math.random().toString(36).slice(2,12),!0),!await qv({favoritesOnly:n(r),freeModelsOnly:n(a),exposedProviders:null,maskGatewayIds:n(s),listenMode:n(l),passwordMode:"new",password:n(i),savePassword:n(v)})&&((D=Ye.error)!=null&&D.includes("No providers"))&&((V=e.onneedsmodels)==null||V.call(e))}var _=vu(),f=c(_),g=u(c(f),2);ru(g,{get status(){return n(o)}});var m=u(f,2);{var y=M=>{var F=lu(),D=Q(F),V=c(D),E=u(c(V)),U=c(E),K=u(V,2),I=u(c(K)),P=c(I),z=u(K,2);{var b=T=>{var H=su(),j=Q(H);Se(j,17,()=>n(o).networkUrls,br,(W,G)=>{var Z=au(),re=c(Z),de=c(re),ae=u(re),ie=c(ae);$(()=>{A(de,n(G).name),A(ie,n(G).anthropicUrl)}),p(W,Z)});var O=u(j,2),R=u(c(O)),J=c(R);$(()=>A(J,n(o).apiKey)),p(T,H)};B(z,T=>{n(o).listenMode==="network"&&n(o).networkUrls&&T(b)})}var q=u(D,2);{var S=T=>{var H=nu(),j=c(H);$(()=>A(j,n(o).providerSummary)),p(T,H)};B(q,T=>{n(o).providerSummary&&T(S)})}$(()=>{A(U,n(o).anthropicUrl),A(P,n(o).openaiUrl)}),p(M,F)},w=M=>{var F=ou(),D=c(F);ea(D,{label:"Favorites only",get checked(){return n(r)},set checked(P){C(r,P,!0)}});var V=u(D,2);ea(V,{label:"Free models only",get checked(){return n(a)},set checked(P){C(a,P,!0)}});var E=u(V,2);ea(E,{label:"Mask gateway IDs",get checked(){return n(s)},set checked(P){C(s,P,!0)}});var U=u(E,2);{let P=Y(()=>n(l)==="network");ea(U,{get checked(){return n(P)},onchange:z=>C(l,z?"network":"local",!0),label:"Network mode"})}var K=u(U,2);{var I=P=>{var z=iu(),b=u(Q(z),2),q=u(b,2);ea(q,{label:"Save password",get checked(){return n(v)},set checked(S){C(v,S,!0)}}),Ba(b,()=>n(i),S=>C(i,S)),p(P,z)};B(K,P=>{n(l)==="network"&&P(I)})}p(M,F)};B(m,M=>{var F;(F=n(o))!=null&&F.running?M(y):M(w,-1)})}var L=u(m,2),N=c(L);{let M=Y(()=>{var F;return(F=n(o))!=null&&F.running?"danger":"primary"});_e(N,{get variant(){return n(M)},get disabled(){return Ye.starting},onclick:h,children:(F,D)=>{var V=X();$(()=>{var E;return A(V,Ye.starting?"Working…":(E=n(o))!=null&&E.running?"Stop server":"Start server")}),p(F,V)},$$slots:{default:!0}})}p(t,_),pe()}var cu=k('<p style="color:var(--error);font-size:13px"> </p>'),uu=k('<div class="page"><div class="head svelte-124gvcr"><h2 class="svelte-124gvcr">Server Gateway</h2> <p class="sub svelte-124gvcr">Run a local OpenAI / Anthropic-compatible server exposing your anygate models to any tool.</p></div> <!> <!></div>');function fu(t,e){he(e,!1),sl(()=>(Dv(),()=>jv())),$s();var r=uu(),a=u(c(r),2);{var s=o=>{ir(o,{label:"Reading server status…"})},l=o=>{du(o,{onneedsmodels:()=>location.hash="#/providers"})};B(a,o=>{Ye.loading&&!Ye.status?o(s):o(l,-1)})}var i=u(a,2);{var v=o=>{Ae(o,{padding:"16px",children:(d,h)=>{var _=cu(),f=c(_);$(()=>A(f,Ye.error)),p(d,_)},$$slots:{default:!0}})};B(i,o=>{Ye.error&&o(v)})}p(t,r),pe()}var hu=k('<div class="muted svelte-hss3zz">Loading providers…</div>'),pu=k('<div class="muted svelte-hss3zz">No providers configured.</div>'),_u=k('<div class="muted svelte-hss3zz">Select a provider first.</div>'),gu=k('<div class="muted svelte-hss3zz">This provider has no directly-testable (OpenAI/Anthropic) models.</div>'),mu=k("<!> Testing…",1),yu=k('<h3 class="panel-title svelte-hss3zz">Test configuration</h3> <label class="field svelte-hss3zz"><span class="field-label svelte-hss3zz">Provider</span> <!></label> <label class="field svelte-hss3zz"><span class="field-label svelte-hss3zz">Model</span> <!></label> <label class="field svelte-hss3zz"><span class="field-label svelte-hss3zz">Prompt</span> <textarea class="prompt svelte-hss3zz" rows="3" placeholder="What to send to the model…" id="tester-prompt"></textarea></label> <div class="run svelte-hss3zz"><!></div>',1),wu=k('<div class="live-pulse svelte-hss3zz"></div> <p class="live-text svelte-hss3zz">Probing <strong class="svelte-hss3zz"> </strong>…</p> <p class="muted svelte-hss3zz">Connecting to upstream endpoint.</p>',1),bu=k('<div class="sample svelte-hss3zz"><span class="sample-label svelte-hss3zz">Sample response</span> <pre class="sample-body svelte-hss3zz"> </pre></div>'),xu=k('<div class="result-head svelte-hss3zz"><span class="status-dot ok svelte-hss3zz"></span> <span class="status-text ok svelte-hss3zz">Endpoint responds</span> <!></div> <div class="metrics svelte-hss3zz"><div class="metric gauge svelte-hss3zz"><svg viewBox="0 0 120 120" class="gauge-svg svelte-hss3zz"><circle class="gauge-bg svelte-hss3zz" cx="60" cy="60" r="52"></circle><circle class="gauge-fg svelte-hss3zz" cx="60" cy="60" r="52"></circle></svg> <div class="gauge-center svelte-hss3zz"><span class="gauge-value svelte-hss3zz"> </span> <span class="gauge-unit svelte-hss3zz">ms TTFT</span></div> <span class="metric-label svelte-hss3zz">Time to first token</span></div> <div class="metric svelte-hss3zz"><span class="metric-value mono svelte-hss3zz"> </span> <span class="metric-label svelte-hss3zz">Connect</span></div> <div class="metric svelte-hss3zz"><span class="metric-value mono svelte-hss3zz"> </span> <span class="metric-label svelte-hss3zz">Total round-trip</span></div> <div class="metric svelte-hss3zz"><span class="metric-value mono svelte-hss3zz"> </span> <span class="metric-label svelte-hss3zz">Tokens / sec</span></div> <div class="metric svelte-hss3zz"><span class="metric-value mono svelte-hss3zz"> </span> <span class="metric-label svelte-hss3zz">Streamed chunks</span></div> <div class="metric svelte-hss3zz"><span> </span> <span class="metric-label svelte-hss3zz">Stream stability</span></div></div> <!>',1),ku=k('<p class="fail-hint svelte-hss3zz"> </p>'),Su=k('<div class="mini-metrics svelte-hss3zz"><span class="svelte-hss3zz"> </span> <span class="svelte-hss3zz"> </span></div>'),Pu=k('<div class="result-head svelte-hss3zz"><span class="status-dot no svelte-hss3zz"></span> <span class="status-text no svelte-hss3zz">Endpoint did not respond correctly</span></div> <p class="fail-error svelte-hss3zz"> </p> <!> <!>',1),Mu=k('<div class="result-head svelte-hss3zz"><span class="status-dot no svelte-hss3zz"></span> <span class="status-text no svelte-hss3zz">Request error</span></div> <p class="fail-error svelte-hss3zz"> </p>',1),Eu=k('Select a provider + model and hit <strong class="svelte-hss3zz">Run test</strong> to measure live latency.',1),zu=k(`<div class="page svelte-hss3zz"><div class="head svelte-hss3zz"><div class="svelte-hss3zz"><h2 class="svelte-hss3zz">Model Tester</h2> <p class="sub svelte-hss3zz">Pick a provider and model, then fire a live request at its real endpoint.
3
+ Measures connection time, time-to-first-token, and total latency.</p></div> <!></div> <div class="grid svelte-hss3zz"><!> <div class="results svelte-hss3zz"><!></div></div></div>`);function Au(t,e){he(e,!0);let r=ee(""),a=ee(""),s=ee("Reply with a single word: pong"),l=ee(!1),i=ee(null),v=ee(null);const o=Y(()=>Me.list.filter(b=>{var q;return(((q=b.enrichedModels)==null?void 0:q.length)??0)>0}).map(b=>({value:b.id,label:b.name}))),d=Y(()=>Me.list.find(b=>b.id===n(r)));function h(b){return b.format==="anthropic"||b.format==="openai"}const _=Y(()=>{var b;return(((b=n(d))==null?void 0:b.enrichedModels)??[]).filter(h)}),f=Y(()=>n(_).map(b=>({value:b.id,label:`${b.name??b.id}${b.contextWindow?` · ${Math.round(b.contextWindow/1e3)}k`:""}`})));$t(()=>{n(r)&&n(d)&&n(_).some(q=>q.id===n(a))||C(a,"")});const g=Y(()=>!!n(r)&&!!n(a)&&!n(l));async function m(){if(n(g)){C(l,!0),C(i,null),C(v,null);try{const b=await So({providerId:n(r),modelId:n(a),prompt:n(s)});C(i,b,!0),b.ok?ge(`Test passed · ${b.ttftMs}ms TTFT`,"success"):ge(b.error??"Test failed","error")}catch(b){C(v,b instanceof Error?b.message:String(b),!0),ge("Network error","error")}finally{C(l,!1)}}}function y(b){return b==null?"—":b<1e3?`${b} ms`:`${(b/1e3).toFixed(2)} s`}const w=Y(()=>n(i)&&n(i).ttftMs!==null?Math.max(0,Math.min(100,100-n(i).ttftMs/3e3*100)):0);var L=zu(),N=c(L),M=u(c(N),2);Ce(M,{children:(b,q)=>{var S=X("server-side · live");p(b,S)},$$slots:{default:!0}});var F=u(N,2),D=c(F);Ae(D,{padding:"22px",class:"panel",children:(b,q)=>{var S=yu(),T=u(Q(S),2),H=u(c(T),2);{var j=se=>{var ye=hu();p(se,ye)},O=se=>{var ye=pu();p(se,ye)},R=se=>{sr(se,{get options(){return n(o)},get disabled(){return n(l)},id:"tester-provider",get value(){return n(r)},set value(ye){C(r,ye,!0)}})};B(H,se=>{Me.loading?se(j):n(o).length===0?se(O,1):se(R,-1)})}var J=u(T,2),W=u(c(J),2);{var G=se=>{var ye=_u();p(se,ye)},Z=se=>{var ye=gu();p(se,ye)},re=se=>{sr(se,{get options(){return n(f)},get disabled(){return n(l)},id:"tester-model",get value(){return n(a)},set value(ye){C(a,ye,!0)}})};B(W,se=>{n(r)?n(f).length===0?se(Z,1):se(re,-1):se(G)})}var de=u(J,2),ae=u(c(de),2),ie=u(de,2),ke=c(ie);{let se=Y(()=>!n(g));_e(ke,{variant:"primary",size:"lg",get disabled(){return n(se)},onclick:m,children:(ye,je)=>{var Nt=rt(),or=Q(Nt);{var Vt=vt=>{var Et=mu(),Rt=Q(Et);ir(Rt,{label:""}),p(vt,Et)},Yt=vt=>{var Et=X("Run test");p(vt,Et)};B(or,vt=>{n(l)?vt(Vt):vt(Yt,-1)})}p(ye,Nt)},$$slots:{default:!0}})}$(()=>ae.disabled=n(l)),Ba(ae,()=>n(s),se=>C(s,se)),p(b,S)},$$slots:{default:!0}});var V=u(D,2),E=c(V);{var U=b=>{Ae(b,{padding:"28px",class:"result-card live",children:(q,S)=>{var T=wu(),H=u(Q(T),2),j=u(c(H)),O=c(j);$(()=>A(O,n(a))),p(q,T)},$$slots:{default:!0}})},K=b=>{Ae(b,{padding:"24px",class:"result-card pass",children:(q,S)=>{var T=xu(),H=Q(T),j=u(c(H),4);Ce(j,{children:(Be,Xe)=>{var Ue=X();$(()=>A(Ue,n(i).format)),p(Be,Ue)},$$slots:{default:!0}});var O=u(H,2),R=c(O),J=c(R),W=u(c(J)),G=u(J,2),Z=c(G),re=c(Z),de=u(R,2),ae=c(de),ie=c(ae),ke=u(de,2),se=c(ke),ye=c(se),je=u(ke,2),Nt=c(je),or=c(Nt),Vt=u(je,2),Yt=c(Vt),vt=c(Yt),Et=u(Vt,2),Rt=c(Et);let zt;var Pe=c(Rt),Re=u(O,2);{var Ke=Be=>{var Xe=bu(),Ue=u(c(Xe),2),Ua=c(Ue);$(()=>A(Ua,n(i).sample)),p(Be,Xe)};B(Re,Be=>{n(i).sample&&Be(Ke)})}$((Be,Xe)=>{ot(W,`stroke-dashoffset: ${329.9-329.9*n(w)/100}`),A(re,n(i).ttftMs??"—"),A(ie,Be),A(ye,Xe),A(or,n(i).tokensPerSec??"—"),A(vt,n(i).tokens),zt=Ie(Rt,1,"metric-value mono svelte-hss3zz",null,zt,{warn:n(i).streamStability==="intermittent"}),A(Pe,n(i).streamStability)},[()=>y(n(i).connectMs),()=>y(n(i).totalMs)]),p(q,T)},$$slots:{default:!0}})},I=b=>{Ae(b,{padding:"24px",class:"result-card fail",children:(q,S)=>{var T=Pu(),H=u(Q(T),2),j=c(H),O=u(H,2);{var R=G=>{var Z=ku(),re=c(Z);$(()=>A(re,`↳ ${n(i).errorHint??""}`)),p(G,Z)};B(O,G=>{n(i).errorHint&&G(R)})}var J=u(O,2);{var W=G=>{var Z=Su(),re=c(Z),de=c(re),ae=u(re,2),ie=c(ae);$((ke,se)=>{A(de,`connect ${ke??""}`),A(ie,`total ${se??""}`)},[()=>y(n(i).connectMs),()=>y(n(i).totalMs)]),p(G,Z)};B(J,G=>{n(i).connectMs!==null&&G(W)})}$(()=>A(j,n(i).error)),p(q,T)},$$slots:{default:!0}})},P=b=>{Ae(b,{padding:"24px",class:"result-card fail",children:(q,S)=>{var T=Mu(),H=u(Q(T),2),j=c(H);$(()=>A(j,n(v))),p(q,T)},$$slots:{default:!0}})},z=b=>{zr(b,{title:"No test run yet",icon:"M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16M12 12l5-3",children:(q,S)=>{var T=Eu();p(q,T)},$$slots:{default:!0}})};B(E,b=>{n(l)?b(U):n(i)&&n(i).ok?b(K,1):n(i)&&!n(i).ok?b(I,2):n(v)?b(P,3):b(z,-1)})}p(t,L),pe()}var Tu=k('<h3 class="svelte-15j4tnx">Appearance</h3> <div class="line svelte-15j4tnx"><span>Theme</span> <!></div>',1),Cu=k('<div class="kv svelte-15j4tnx"><span>ANYGATE_HOME</span><code class="svelte-15j4tnx"> </code></div>'),Iu=k('<h3 class="svelte-15j4tnx">Subscription tier</h3> <div class="line svelte-15j4tnx"><span>Backend selection for wizards</span> <!></div> <!>',1),Ou=k('<h3 class="svelte-15j4tnx">Config backup</h3> <p class="muted svelte-15j4tnx">Export favorites to a portable JSON file and re-import on another machine.</p> <div class="acts svelte-15j4tnx"><!> <!></div>',1),$u=k('<div class="preset svelte-15j4tnx"><div class="pmeta"><span class="pname svelte-15j4tnx"> </span> <span class="psub svelte-15j4tnx"> </span></div> <div class="pacts svelte-15j4tnx"><!> <!></div></div> <pre class="dryrun svelte-15j4tnx"> </pre>',1),Lu=k('<div class="sec-head svelte-15j4tnx"><h3 class="svelte-15j4tnx">Launch presets</h3><!></div> <!>',1),Fu=k('<textarea class="ta svelte-15j4tnx" readonly=""></textarea> <div class="row svelte-15j4tnx" style="margin-top:14px;justify-content:flex-end;gap:8px"><!> <!></div>',1),Nu=k('<p class="muted svelte-15j4tnx">Paste an anygate config JSON (from Export favorites).</p> <textarea class="ta svelte-15j4tnx" placeholder="Paste JSON here"></textarea> <div class="row svelte-15j4tnx" style="margin-top:14px;justify-content:flex-end;gap:8px"><!> <!></div>',1),Ru=k('<span class="lbl svelte-15j4tnx" style="margin-top:12px">Model</span> <!>',1),Du=k('<span class="lbl svelte-15j4tnx">Label</span> <!> <span class="lbl svelte-15j4tnx" style="margin-top:12px">App</span> <!> <span class="lbl svelte-15j4tnx" style="margin-top:12px">Provider</span> <!> <!> <div class="row svelte-15j4tnx" style="margin-top:18px;justify-content:flex-end;gap:8px"><!> <!></div>',1),ju=k('<div class="page"><div class="head svelte-15j4tnx"><h2 class="svelte-15j4tnx">Settings</h2><p class="sub svelte-15j4tnx">Theme, subscription tier, launch presets, and portable config backup.</p></div> <div class="cols svelte-15j4tnx"><div class="stack svelte-15j4tnx"><!> <!> <!></div> <div class="stack svelte-15j4tnx"><!></div></div></div> <!> <!> <!>',1);function qu(t,e){he(e,!0);let r=ee(!1),a=ee(""),s=ee(!1),l=ee("");const i=[{value:"free",label:"Free"},{value:"zen",label:"Zen"},{value:"go",label:"Go"},{value:"both",label:"Both"}];function v(){Bo().then(S=>{C(a,S,!0),C(r,!0)}).catch(S=>ge(String(S),"error"))}async function o(){try{await Uo(n(l)),ge("Config imported","success"),C(s,!1),await gl()}catch(S){ge(S instanceof Error?S.message:String(S),"error")}}function d(){const S=new Blob([n(a)],{type:"application/json"}),T=document.createElement("a");T.href=URL.createObjectURL(S),T.download="anygate-config.json",T.click()}let h=ee(!1),_=ee(""),f=ee(""),g=ee(""),m=ee("");function y(S){const T=Me.list.find(O=>O.id===S.providerId),H=T==null?void 0:T.enrichedModels.find(O=>O.id===S.modelId);return!T||!H?"—":Go({provider:T,modelId:H.id,contextWindow:H.contextWindow}).env.map(O=>`${O.key}=${O.masked?"•••":O.value}`).join(`
4
+ `)}var w=ju(),L=Q(w),N=u(c(L),2),M=c(N),F=c(M);Ae(F,{padding:"20px",children:(S,T)=>{var H=Tu(),j=u(Q(H),2),O=u(c(j),2);_e(O,{size:"sm",variant:"ghost",get onclick(){return yl},children:(R,J)=>{var W=X();$(()=>A(W,`${ar.value==="dark"?"Dark":"Light"} · toggle`)),p(R,W)},$$slots:{default:!0}}),p(S,H)},$$slots:{default:!0}});var D=u(F,2);Ae(D,{padding:"20px",children:(S,T)=>{var H=Iu(),j=u(Q(H),2),O=u(c(j),2);sr(O,{get value(){return rr.tier},get options(){return i},onchange:W=>av(W)});var R=u(j,2);{var J=W=>{var G=Cu(),Z=u(c(G)),re=c(Z);$(()=>A(re,rr.anygateHome)),p(W,G)};B(R,W=>{rr.anygateHome&&W(J)})}p(S,H)},$$slots:{default:!0}});var V=u(D,2);Ae(V,{padding:"20px",children:(S,T)=>{var H=Ou(),j=u(Q(H),4),O=c(j);_e(O,{size:"sm",variant:"subtle",onclick:v,children:(J,W)=>{var G=X("Export favorites");p(J,G)},$$slots:{default:!0}});var R=u(O,2);_e(R,{size:"sm",variant:"ghost",onclick:()=>C(s,!0),children:(J,W)=>{var G=X("Import");p(J,G)},$$slots:{default:!0}}),p(S,H)},$$slots:{default:!0}});var E=u(M,2),U=c(E);Ae(U,{padding:"20px",children:(S,T)=>{var H=Lu(),j=Q(H),O=u(c(j));_e(O,{size:"sm",onclick:()=>{C(h,!0),C(_,""),C(f,""),C(g,""),C(m,"")},children:(G,Z)=>{var re=X("New");p(G,re)},$$slots:{default:!0}});var R=u(j,2);{var J=G=>{zr(G,{title:"No presets",icon:"M12 5v14M5 12h14",children:(Z,re)=>{var de=X("Save an app + provider + model combo for one-click launch.");p(Z,de)},$$slots:{default:!0}})},W=G=>{var Z=rt(),re=Q(Z);Se(re,17,()=>Mt.list,de=>de.id,(de,ae)=>{var ie=$u(),ke=Q(ie),se=c(ke),ye=c(se),je=c(ye),Nt=u(ye,2),or=c(Nt),Vt=u(se,2),Yt=c(Vt);_e(Yt,{size:"sm",variant:"ghost",onclick:()=>navigator.clipboard.writeText(y(n(ae))),children:(zt,Pe)=>{var Re=X("Dry run");p(zt,Re)},$$slots:{default:!0}});var vt=u(Yt,2);_e(vt,{size:"sm",variant:"ghost",onclick:()=>nv(n(ae).id),children:(zt,Pe)=>{var Re=X("Delete");p(zt,Re)},$$slots:{default:!0}});var Et=u(ke,2),Rt=c(Et);$(zt=>{A(je,n(ae).label??n(ae).appId),A(or,`${n(ae).providerId??""}${n(ae).modelId?" · "+n(ae).modelId:""}${n(ae).folder?" · "+n(ae).folder:""}`),A(Rt,zt)},[()=>y(n(ae))]),p(de,ie)}),p(G,Z)};B(R,G=>{Mt.list.length===0?G(J):G(W,-1)})}p(S,H)},$$slots:{default:!0}});var K=u(L,2);{var I=S=>{xr(S,{get open(){return n(r)},title:"Export favorites",onclose:()=>C(r,!1),children:(T,H)=>{var j=Fu(),O=Q(j),R=u(O,2),J=c(R);_e(J,{variant:"ghost",onclick:()=>C(r,!1),children:(G,Z)=>{var re=X("Close");p(G,re)},$$slots:{default:!0}});var W=u(J,2);_e(W,{onclick:d,children:(G,Z)=>{var re=X("Download");p(G,re)},$$slots:{default:!0}}),$(()=>Os(O,n(a))),p(T,j)},$$slots:{default:!0}})};B(K,S=>{n(r)&&S(I)})}var P=u(K,2);{var z=S=>{xr(S,{get open(){return n(s)},title:"Import config",onclose:()=>C(s,!1),children:(T,H)=>{var j=Nu(),O=u(Q(j),2),R=u(O,2),J=c(R);_e(J,{variant:"ghost",onclick:()=>C(s,!1),children:(G,Z)=>{var re=X("Cancel");p(G,re)},$$slots:{default:!0}});var W=u(J,2);_e(W,{onclick:o,children:(G,Z)=>{var re=X("Import");p(G,re)},$$slots:{default:!0}}),Ba(O,()=>n(l),G=>C(l,G)),p(T,j)},$$slots:{default:!0}})};B(P,S=>{n(s)&&S(z)})}var b=u(P,2);{var q=S=>{xr(S,{get open(){return n(h)},title:"New preset",onclose:()=>C(h,!1),children:(T,H)=>{var j=Du(),O=u(Q(j),2);Zt(O,{placeholder:"My daily setup",get value(){return n(m)},set value(ae){C(m,ae,!0)}});var R=u(O,4);{let ae=Y(()=>[{value:"",label:"—"},...Me.list.length?[{value:"claude",label:"Claude"},{value:"codex",label:"Codex"},{value:"antigravity",label:"Antigravity"}]:[]]);sr(R,{get options(){return n(ae)},get value(){return n(_)},set value(ie){C(_,ie,!0)}})}var J=u(R,4);{let ae=Y(()=>[{value:"",label:"—"},...Me.list.map(ie=>({value:ie.id,label:ie.name}))]);sr(J,{get options(){return n(ae)},get value(){return n(f)},set value(ie){C(f,ie,!0)}})}var W=u(J,2);{var G=ae=>{var ie=Ru(),ke=u(Q(ie),2);{let se=Y(()=>{var ye;return[{value:"",label:"—"},...(((ye=Me.list.find(je=>je.id===n(f)))==null?void 0:ye.enrichedModels)??[]).map(je=>({value:je.id,label:je.name??je.id}))]});sr(ke,{get options(){return n(se)},get value(){return n(g)},set value(ye){C(g,ye,!0)}})}p(ae,ie)};B(W,ae=>{n(f)&&ae(G)})}var Z=u(W,2),re=c(Z);_e(re,{variant:"ghost",onclick:()=>C(h,!1),children:(ae,ie)=>{var ke=X("Cancel");p(ae,ke)},$$slots:{default:!0}});var de=u(re,2);{let ae=Y(()=>!n(_)||!n(m));_e(de,{get disabled(){return n(ae)},onclick:async()=>{await sv({appId:n(_),providerId:n(f)||void 0,modelId:n(g)||void 0,label:n(m)}),C(h,!1)},children:(ie,ke)=>{var se=X("Save");p(ie,se)},$$slots:{default:!0}})}p(T,j)},$$slots:{default:!0}})};B(b,S=>{n(h)&&S(q)})}p(t,w),pe()}var Hu=k('<div class="app-shell svelte-1n46o8q"><!> <div class="main svelte-1n46o8q"><!> <main class="content svelte-1n46o8q"><!> <!> <!> <!> <!> <!> <!></main></div></div> <!> <!>',1);function Bu(t,e){he(e,!0);let r="";function a(P){(P.metaKey||P.ctrlKey)&&P.key.toLowerCase()==="k"&&(P.preventDefault(),go())}sl(()=>(ho(),window.addEventListener("keydown",a),Fs(),hl(),ev(),rv(),gl(),()=>window.removeEventListener("keydown",a)));var s=Hu(),l=Q(s),i=c(l);ov(i,{});var v=u(i,2),o=c(v);Lv(o,{});var d=u(o,2),h=c(d);{var _=P=>{Hd(P,{})};B(h,P=>{bt.route==="dashboard"&&P(_)})}var f=u(h,2);{var g=P=>{_c(P,{})};B(f,P=>{bt.route==="providers"&&P(g)})}var m=u(f,2);{var y=P=>{Rc(P,{})};B(m,P=>{bt.route==="models"&&P(y)})}var w=u(m,2);{var L=P=>{eu(P,{})};B(w,P=>{bt.route==="apps"&&P(L)})}var N=u(w,2);{var M=P=>{fu(P,{})};B(N,P=>{bt.route==="server"&&P(M)})}var F=u(N,2);{var D=P=>{Au(P,{})};B(F,P=>{bt.route==="tester"&&P(D)})}var V=u(F,2);{var E=P=>{qu(P,{})};B(V,P=>{bt.route==="settings"&&P(E)})}var U=u(l,2);Rv(U,{});var K=u(U,2);{var I=P=>{Kv(P,{query:r,get onclose(){return _o}})};B(K,P=>{Pt.commandOpen&&P(I)})}p(t,s),pe()}try{Ji(Bu,{target:document.getElementById("app")})}catch(t){console.error("Runtime error during mount:",t);const e=document.getElementById("app"),r=t instanceof Error?t.stack||t.message:String(t);e&&(e.innerHTML=`<pre style="color:#ff8a8a;background:#161616;padding:24px;margin:0;white-space:pre-wrap;font:13px ui-monospace,monospace;max-height:100vh;overflow:auto">MOUNT ERROR:
5
+
6
+ ${r.replace(/[<>&]/g,a=>({"<":"&lt;",">":"&gt;","&":"&amp;"})[a])}</pre>`)}
@@ -0,0 +1 @@
1
+ /*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-xs:.125rem;--radius-sm:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.text-end{text-align:end}.text-start{text-align:start}.lowercase{text-transform:lowercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:oklch(18% .006 70);--sidebar-bg:oklch(15.5% .006 70);--surface:oklch(21% .006 70);--surface-2:oklch(25% .006 70);--surface-hover:oklch(27% .007 70);--border:oklch(30% .006 70);--border-bright:oklch(42% .008 70);--border-glow:oklch(75% .16 65/.3);--glass-bg:oklch(100% 0 0/.04);--glass-bg-strong:oklch(100% 0 0/.07);--glass-border:oklch(100% 0 0/.08);--glass-blur:12px;--accent:oklch(75% .16 65);--accent-dim:oklch(62% .13 60);--accent-muted:oklch(75% .16 65/.12);--accent-glow:oklch(75% .16 65/.15);--accent-2:oklch(72% .14 55);--text-1:oklch(96% .005 80);--text-2:oklch(72% .01 75);--text-3:oklch(52% .01 75);--success:oklch(74% .16 150);--success-bg:oklch(74% .16 150/.1);--error:oklch(66% .2 25);--error-bg:oklch(66% .2 25/.1);--warning:oklch(80% .16 85);--ease:cubic-bezier(.16, 1, .3, 1);--dur-xs:.1s;--dur-sm:.16s;--dur-md:.24s;--dur-lg:.38s;--sidebar-w:248px;--radius:12px;--radius-sm:9px;--radius-xs:6px;--font-body:"Inter", system-ui, -apple-system, sans-serif;--font-display:"Outfit", "Inter", system-ui, sans-serif}html[data-theme=light]{--bg:oklch(96% .004 75);--sidebar-bg:oklch(93% .005 75);--surface:oklch(100% 0 0);--surface-2:oklch(95% .004 75);--surface-hover:oklch(92% .005 75);--border:oklch(86% .006 75);--border-bright:oklch(72% .008 75);--glass-bg:oklch(20% .02 70/.04);--glass-bg-strong:oklch(20% .02 70/.06);--glass-border:oklch(20% .02 70/.08);--text-1:oklch(22% .02 60);--text-2:oklch(42% .015 60);--text-3:oklch(58% .012 60)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-1);background:radial-gradient(ellipse 120% 80% at 50% -20%,oklch(26% .008 70/.6) 0%,transparent 55%),var(--bg);-webkit-font-smoothing:antialiased;min-height:100dvh;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-xs)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(var(--glass-blur))}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.sidebar.svelte-6dohdz{background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:18px 14px;position:sticky;top:0;height:100dvh;overflow-y:auto;overflow-x:hidden}.sidebar.svelte-6dohdz:after{content:"";position:absolute;top:0;right:0;width:1px;height:100%;background:linear-gradient(to bottom,var(--accent-dim),transparent 60%);opacity:.4}.brand.svelte-6dohdz{display:flex;align-items:center;gap:11px;padding:4px 6px 14px}.monogram.svelte-6dohdz{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-family:var(--font-display);font-weight:800;font-size:19px;color:var(--accent);background:var(--glass-bg-strong);border:1px solid var(--glass-border)}.brand-name.svelte-6dohdz{font-family:var(--font-display);font-weight:700;font-size:16px;color:var(--text-1)}.brand-byline.svelte-6dohdz{font-size:11px;color:var(--text-3)}.version-row.svelte-6dohdz{display:flex;align-items:center;justify-content:space-between;padding:0 6px 14px}.version.svelte-6dohdz{font-size:12px;color:var(--text-3)}.health-dot.svelte-6dohdz{width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 8px var(--success)}.nav.svelte-6dohdz{display:flex;flex-direction:column;gap:3px;margin-top:4px}.nav-item.svelte-6dohdz{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--radius-sm);color:var(--text-2);font-size:13.5px;font-weight:500;text-align:left;width:100%;transition:background var(--dur-sm) var(--ease),color var(--dur-sm) var(--ease)}.nav-item.svelte-6dohdz:hover{background:var(--surface-hover);color:var(--text-1)}.nav-item.active.svelte-6dohdz{background:var(--accent-muted);color:var(--accent)}.nav-item.svelte-6dohdz svg:where(.svelte-6dohdz){flex-shrink:0}.badge.svelte-7j44kq{display:inline-flex;align-items:center;padding:2px 9px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.5;white-space:nowrap}.neutral.svelte-7j44kq{background:var(--glass-bg-strong);color:var(--text-2);border:1px solid var(--glass-border)}.success.svelte-7j44kq{background:var(--success-bg);color:var(--success)}.error.svelte-7j44kq{background:var(--error-bg);color:var(--error)}.warning.svelte-7j44kq{background:color-mix(in oklch,var(--warning) 14%,transparent);color:var(--warning)}.accent.svelte-7j44kq{background:var(--accent-muted);color:var(--accent)}.btn.svelte-8a1c4v{display:inline-flex;align-items:center;gap:7px;border-radius:var(--radius-sm);font-weight:600;font-size:13.5px;cursor:pointer;border:1px solid transparent;transition:background var(--dur-sm) var(--ease),border-color var(--dur-sm) var(--ease),transform var(--dur-xs) var(--ease),opacity var(--dur-sm);-webkit-user-select:none;user-select:none}.btn.svelte-8a1c4v:active{transform:translateY(1px)}.btn.svelte-8a1c4v:disabled{opacity:.5;cursor:not-allowed}.md.svelte-8a1c4v{padding:9px 15px}.sm.svelte-8a1c4v{padding:6px 11px;font-size:12.5px}.lg.svelte-8a1c4v{padding:12px 20px;font-size:15px}.primary.svelte-8a1c4v{background:var(--accent);color:#211201}.primary.svelte-8a1c4v:hover:not(:disabled){background:var(--accent-dim)}.ghost.svelte-8a1c4v{background:transparent;border-color:var(--border-bright);color:var(--text-1)}.ghost.svelte-8a1c4v:hover:not(:disabled){background:var(--surface-hover)}.subtle.svelte-8a1c4v{background:var(--glass-bg-strong);border-color:var(--glass-border);color:var(--text-1)}.subtle.svelte-8a1c4v:hover:not(:disabled){background:var(--surface-hover)}.danger.svelte-8a1c4v{background:var(--error-bg);border-color:var(--error);color:var(--error)}.danger.svelte-8a1c4v:hover:not(:disabled){background:color-mix(in oklch,var(--error) 18%,transparent)}.card.svelte-it2i29{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--dur-sm) var(--ease),transform var(--dur-sm) var(--ease)}.card.hover.svelte-it2i29:hover{border-color:var(--border-bright);transform:translateY(-1px)}.backdrop.svelte-1cuwqu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#05030280;display:flex;justify-content:flex-end;animation:svelte-1cuwqu-fade var(--dur-sm) var(--ease)}.drawer.svelte-1cuwqu{width:420px;max-width:92vw;height:100%;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;animation:svelte-1cuwqu-slide var(--dur-md) var(--ease)}.drawer.left.svelte-1cuwqu{margin-right:auto;border-left:none;border-right:1px solid var(--border)}.drawer-head.svelte-1cuwqu{padding:18px 20px;font-family:var(--font-display);font-weight:700;font-size:16px;border-bottom:1px solid var(--border)}.drawer-body.svelte-1cuwqu{padding:20px;overflow-y:auto}@keyframes svelte-1cuwqu-fade{0%{opacity:0}to{opacity:1}}@keyframes svelte-1cuwqu-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.empty.svelte-16dv2jh{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;color:var(--text-3);text-align:center}.title.svelte-16dv2jh{font-weight:600;color:var(--text-2);font-size:14px}.sub.svelte-16dv2jh{font-size:13px;max-width:320px;line-height:1.5}.icon-btn.svelte-w50x32{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text-2);cursor:pointer;transition:background var(--dur-sm) var(--ease),color var(--dur-sm) var(--ease)}.icon-btn.svelte-w50x32:hover:not(:disabled){background:var(--surface-hover);color:var(--text-1)}.icon-btn.svelte-w50x32:disabled{opacity:.4;cursor:not-allowed}.input.svelte-1xuvd1z{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13.5px;font-family:var(--font-body);transition:border-color var(--dur-sm) var(--ease),background var(--dur-sm) var(--ease)}.input.svelte-1xuvd1z:focus{outline:none;border-color:var(--accent);background:var(--surface-2)}.input.svelte-1xuvd1z::placeholder{color:var(--text-3)}.backdrop.svelte-1qk8a2o{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#05030299;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;animation:svelte-1qk8a2o-fade var(--dur-sm) var(--ease)}.modal.svelte-1qk8a2o{position:relative;min-width:320px;max-width:520px;width:90vw;border-radius:var(--radius);padding:22px;background:var(--surface)}.modal-head.svelte-1qk8a2o{font-family:var(--font-display);font-size:16px;font-weight:700;margin-bottom:14px;color:var(--text-1)}.modal-x.svelte-1qk8a2o{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--text-3);font-size:22px;line-height:1;cursor:pointer}.modal-x.svelte-1qk8a2o:hover{color:var(--text-1)}@keyframes svelte-1qk8a2o-fade{0%{opacity:0}to{opacity:1}}.select.svelte-13vr5hb{padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13.5px;font-family:var(--font-body);cursor:pointer}.select.svelte-13vr5hb:focus{outline:none;border-color:var(--accent)}.spinner-wrap.svelte-18351lc{display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:13px;padding:8px 0}.spinner.svelte-18351lc{display:inline-block;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:svelte-18351lc-spin .7s linear infinite}@keyframes svelte-18351lc-spin{to{transform:rotate(360deg)}}.tabs.svelte-9oumej{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.tab.svelte-9oumej{padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text-2);background:transparent;border:none;cursor:pointer;transition:background var(--dur-sm) var(--ease),color var(--dur-sm) var(--ease)}.tab.svelte-9oumej:hover{color:var(--text-1)}.tab.active.svelte-9oumej{background:var(--accent-muted);color:var(--accent)}.toggle-wrap.svelte-km5m9b{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.toggle.svelte-km5m9b{width:38px;height:21px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border);position:relative;transition:background var(--dur-sm) var(--ease)}.toggle.on.svelte-km5m9b{background:var(--accent);border-color:var(--accent)}.knob.svelte-km5m9b{position:absolute;top:2px;left:2px;width:15px;height:15px;border-radius:50%;background:var(--text-1);transition:transform var(--dur-sm) var(--ease)}.toggle.on.svelte-km5m9b .knob:where(.svelte-km5m9b){transform:translate(17px);background:#211201}.lbl.svelte-km5m9b{font-size:13px;color:var(--text-2)}.topbar.svelte-y7n507{display:flex;align-items:center;justify-content:space-between;padding:14px 26px;border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:20}.title.svelte-y7n507 h1:where(.svelte-y7n507){font-family:var(--font-display);font-size:19px;font-weight:700;color:var(--text-1)}.actions.svelte-y7n507{display:flex;align-items:center;gap:10px}.cmdk.svelte-y7n507{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);color:var(--text-2);font-size:13px;cursor:pointer;transition:border-color var(--dur-sm) var(--ease),color var(--dur-sm) var(--ease)}.cmdk.svelte-y7n507:hover{border-color:var(--border-bright);color:var(--text-1)}.kbd.svelte-y7n507{font-size:11px;padding:1px 6px;border-radius:4px;background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.toaster.svelte-1kymlcg{position:fixed;bottom:20px;right:20px;z-index:80;display:flex;flex-direction:column;gap:8px;max-width:360px}.toast.svelte-1kymlcg{display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:var(--radius-sm);background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 28px #06030080;font-size:13px;color:var(--text-1);cursor:pointer;animation:svelte-1kymlcg-pop var(--dur-sm) var(--ease)}.dot.svelte-1kymlcg{width:7px;height:7px;border-radius:50%;flex-shrink:0}.success.svelte-1kymlcg .dot:where(.svelte-1kymlcg){background:var(--success)}.error.svelte-1kymlcg .dot:where(.svelte-1kymlcg){background:var(--error)}.info.svelte-1kymlcg .dot:where(.svelte-1kymlcg){background:var(--accent)}@keyframes svelte-1kymlcg-pop{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.backdrop.svelte-wh9uu8{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;background:#0503028c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:flex-start;justify-content:center;padding-top:14vh}.palette.svelte-wh9uu8{width:540px;max-width:92vw;border-radius:var(--radius);padding:12px;background:var(--surface)}.q.svelte-wh9uu8{width:100%;padding:12px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:14px}.q.svelte-wh9uu8:focus{outline:none;border-color:var(--accent)}.list.svelte-wh9uu8{margin-top:8px;display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow-y:auto}.opt.svelte-wh9uu8{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 13px;border-radius:var(--radius-sm);background:none;border:none;cursor:pointer;text-align:left}.opt.svelte-wh9uu8:hover{background:var(--surface-hover)}.lbl.svelte-wh9uu8{font-size:14px;font-weight:500;color:var(--text-1)}.hint.svelte-wh9uu8{font-size:12px;color:var(--text-3)}.none.svelte-wh9uu8{padding:14px;color:var(--text-3);font-size:13px;text-align:center}.panel.svelte-lftxrq{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.row.svelte-lftxrq{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}h3.svelte-lftxrq{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-1)}.note.svelte-lftxrq{font-size:12.5px;color:var(--text-3);background:var(--surface-2);padding:9px 12px;border-radius:var(--radius-sm);margin-bottom:12px}.note.svelte-lftxrq code:where(.svelte-lftxrq){font-family:ui-monospace,monospace;color:var(--accent)}.checks.svelte-lftxrq{display:flex;flex-direction:column;gap:9px}.check.svelte-lftxrq{display:flex;justify-content:space-between;font-size:13px}.k.svelte-lftxrq{color:var(--text-2)}.v.svelte-lftxrq{color:var(--text-1);font-family:ui-monospace,monospace;font-size:12px}.actions.svelte-lftxrq{margin-top:14px}.seg.svelte-1yfbpb7{display:inline-flex;gap:2px;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm)}.opt.svelte-1yfbpb7{padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;color:var(--text-2);background:transparent;border:none;cursor:pointer;transition:background var(--dur-sm) var(--ease),color var(--dur-sm) var(--ease)}.opt.svelte-1yfbpb7:hover{color:var(--text-1)}.opt.active.svelte-1yfbpb7{background:var(--accent-muted);color:var(--accent)}.stat.svelte-14oot77{display:flex;flex-direction:column;gap:3px}.lbl.svelte-14oot77{font-size:12px;color:var(--text-3);letter-spacing:.01em}.num.svelte-14oot77{font-family:var(--font-display);font-size:26px;font-weight:800;color:var(--text-1);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.sub.svelte-14oot77{font-size:11.5px;color:var(--text-3)}.grid.svelte-9jn9wt{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}@media(max-width:920px){.grid.svelte-9jn9wt{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.grid.svelte-9jn9wt{grid-template-columns:1fr}}.heat.svelte-1ryzkww{overflow-x:auto;padding-bottom:4px}.months.svelte-1ryzkww{display:flex;gap:4px;margin-bottom:6px;min-width:max-content}.month.svelte-1ryzkww{font-size:10.5px;color:var(--text-3);flex:0 0 13px;width:13px;line-height:1;white-space:nowrap;overflow:visible}.month.svelte-1ryzkww:not(.has){visibility:hidden}.weeks.svelte-1ryzkww{display:flex;gap:4px;min-width:max-content}.col.svelte-1ryzkww{display:flex;flex-direction:column;gap:4px}.cell.svelte-1ryzkww{width:13px;height:13px;border-radius:3px;transition:transform var(--dur-xs) var(--ease)}.cell.svelte-1ryzkww:not(.empty){border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 25%,transparent)}.cell.svelte-1ryzkww:not(.empty):hover{transform:scale(1.18);border-color:var(--border-bright)}.cell.empty.svelte-1ryzkww{background:var(--bg);border:1px solid color-mix(in srgb,var(--border) 30%,transparent)}.legend.svelte-1ryzkww{display:flex;align-items:center;gap:5px;margin-top:14px;font-size:11.5px;color:var(--text-3)}.key.svelte-1ryzkww{width:12px;height:12px;border-radius:3px;border:1px solid var(--border)}.chart.svelte-1ozbyr9{display:flex;gap:10px;align-items:stretch}.scroll.svelte-1ozbyr9{flex:1;overflow-x:auto;padding-bottom:2px;position:relative}.bars.svelte-1ozbyr9{position:relative;display:flex;align-items:stretch;gap:3px;min-width:max-content;height:270px}.gridlines.svelte-1ozbyr9{position:absolute;top:0;right:0;bottom:20px;left:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.gridline.svelte-1ozbyr9{height:1px;background:var(--border, #ddd);opacity:.5}.bar-col.svelte-1ozbyr9{position:relative;flex:1 0 11px;min-width:9px;display:flex;flex-direction:column}.bar-area.svelte-1ozbyr9{flex:1;display:flex;align-items:flex-end}.bar.svelte-1ozbyr9{width:100%;border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--accent),var(--accent-dim));opacity:.85;transition:opacity var(--dur-sm) var(--ease),transform var(--dur-sm) var(--ease);min-height:2px}.bar-col.svelte-1ozbyr9:hover .bar:where(.svelte-1ozbyr9){opacity:1;transform:scaleY(1.02)}.bar.active.svelte-1ozbyr9{opacity:1;background:linear-gradient(180deg,var(--accent),var(--accent-dim));box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent)}.scroll-hint.svelte-1ozbyr9{position:absolute;top:4px;left:8px;font-size:10.5px;color:var(--text-3);background:color-mix(in srgb,var(--bg-1) 80%,transparent);padding:2px 8px;border-radius:999px;pointer-events:none;opacity:.85}.xlabel.svelte-1ozbyr9{height:16px;flex:none;font-size:10.5px;color:var(--text-3);white-space:nowrap;text-align:center;line-height:16px}.yaxis.svelte-1ozbyr9{display:flex;flex-direction:column;justify-content:space-between;font-size:10.5px;color:var(--text-3);height:270px;padding-bottom:16px;text-align:right;min-width:34px;flex:none}.list.svelte-1ca0tub{display:flex;flex-direction:column;gap:12px}.row.svelte-1ca0tub{display:grid;grid-template-columns:12px 1fr auto 160px;align-items:center;gap:12px}.dot.svelte-1ca0tub{width:10px;height:10px;border-radius:50%;flex:none}.id.svelte-1ca0tub{min-width:0}.name.svelte-1ca0tub{font-size:13.5px;font-weight:600;color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meta.svelte-1ca0tub{font-size:11.5px;color:var(--text-3);text-transform:capitalize;display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}.app-badge.svelte-1ca0tub{font-size:10px;font-weight:600;letter-spacing:.02em;text-transform:capitalize;color:var(--text-2);background:color-mix(in srgb,var(--text-3) 16%,transparent);border:1px solid color-mix(in srgb,var(--text-3) 30%,transparent);padding:1px 7px;border-radius:999px;line-height:1.5}.app-badge.agy.svelte-1ca0tub{color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.nums.svelte-1ca0tub{display:flex;gap:12px;font-family:ui-monospace,monospace;font-size:12px;color:var(--text-2)}.in.svelte-1ca0tub{color:var(--text-2)}.out.svelte-1ca0tub{color:var(--text-3)}.share.svelte-1ca0tub{display:flex;align-items:center;gap:8px}.track.svelte-1ca0tub{flex:1;height:6px;background:var(--surface-2);border-radius:4px;overflow:hidden}.fill.svelte-1ca0tub{height:100%;border-radius:4px}.pct.svelte-1ca0tub{font-size:12px;font-weight:600;color:var(--text-1);min-width:34px;text-align:right}@media(max-width:640px){.row.svelte-1ca0tub{grid-template-columns:12px 1fr auto}.share.svelte-1ca0tub{display:none}}.head.svelte-1thed0a{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;flex-wrap:wrap}.title.svelte-1thed0a h2:where(.svelte-1thed0a){font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-1)}.title-row.svelte-1thed0a{display:flex;align-items:center;gap:10px}.offline.svelte-1thed0a{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#e5484d;background:color-mix(in srgb,#e5484d 14%,transparent);border:1px solid color-mix(in srgb,#e5484d 40%,transparent);padding:2px 8px;border-radius:999px}.empty.svelte-1thed0a{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);background:color-mix(in srgb,var(--text-3) 14%,transparent);border:1px solid var(--border);padding:2px 8px;border-radius:999px}.title.svelte-1thed0a p:where(.svelte-1thed0a){color:var(--text-3);font-size:13px;margin-top:6px;text-transform:capitalize}.notice.svelte-1thed0a{margin-top:28px;padding:16px 20px;border:1px solid color-mix(in srgb,#e5484d 40%,transparent);background:color-mix(in srgb,#e5484d 8%,transparent);border-radius:12px}.notice-title.svelte-1thed0a{font-family:var(--font-display);font-size:14px;font-weight:700;color:#e5484d;margin:0 0 4px}.notice-body.svelte-1thed0a{font-size:13px;color:var(--text-2);margin:0}.section.svelte-1thed0a,.mt{margin-top:28px}.dash.svelte-1thed0a{display:flow-root}.sec-head.svelte-1thed0a{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.sec-head.svelte-1thed0a h3:where(.svelte-1thed0a){font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-1)}.hint.svelte-1thed0a{font-size:12px;color:var(--text-3)}.cols.svelte-1thed0a{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quick.svelte-1thed0a{display:flex;flex-wrap:wrap;gap:8px}.launch-note.svelte-1thed0a{font-size:13px;color:var(--text-2);margin:0 0 12px}.muted.svelte-1thed0a{color:var(--text-3);font-size:13px}.grid.svelte-1thed0a{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat.svelte-1thed0a{display:flex;flex-direction:column;gap:2px}.num.svelte-1thed0a{font-family:var(--font-display);font-size:28px;font-weight:800;color:var(--text-1)}.lbl.svelte-1thed0a{font-size:12.5px;color:var(--text-3)}.loading.svelte-1thed0a{margin-top:28px;display:flex;justify-content:center}@media(max-width:920px){.cols.svelte-1thed0a{grid-template-columns:1fr}.grid.svelte-1thed0a{grid-template-columns:repeat(2,1fr)}}.logo.svelte-1va9fof{display:inline-grid;place-items:center;border-radius:9px;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px #06030059}.svg.svelte-1va9fof svg{width:100%;height:100%;color:#fff}.mono.svelte-1va9fof{font-family:var(--font-display);font-weight:800;color:#fff}.card.svelte-1p75598{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:12px;transition:border-color var(--dur-sm) var(--ease)}.card.svelte-1p75598:hover{border-color:var(--border-bright)}.head.svelte-1p75598{display:flex;align-items:center;gap:12px}.meta.svelte-1p75598{flex:1;min-width:0}.name.svelte-1p75598{font-weight:600;font-size:14.5px;color:var(--text-1)}.sub.svelte-1p75598{font-size:12px;color:var(--text-3)}.id.svelte-1p75598{font-family:var(--font-body);opacity:.8}.models.svelte-1p75598{display:flex;flex-wrap:wrap;gap:6px}.chip.svelte-1p75598{font-size:11.5px;padding:3px 9px;border-radius:7px;background:var(--glass-bg-strong);border:1px solid var(--glass-border);color:var(--text-2);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip.more.svelte-1p75598{color:var(--accent)}.chip.empty.svelte-1p75598{color:var(--text-3);font-style:italic}.actions.svelte-1p75598{display:flex;align-items:center;gap:8px}.keylink.svelte-1p75598{font-size:12px;font-weight:600;color:var(--accent);text-decoration:none;white-space:nowrap}.keylink.svelte-1p75598:hover{text-decoration:underline}.lbl.svelte-263z8{display:block;font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:6px}.sel.svelte-263z8{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13.5px}.row.svelte-263z8{display:flex}.hint-link.svelte-263z8{display:inline-block;margin-top:7px;font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none}.hint-link.svelte-263z8:hover{text-decoration:underline}.head.svelte-1sgc4qo{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}h2.svelte-1sgc4qo{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-1)}.sub.svelte-1sgc4qo{font-size:13px;color:var(--text-3);margin-top:4px;max-width:460px}.acts.svelte-1sgc4qo{display:flex;gap:8px}.grid.svelte-1sgc4qo{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:14px}.backdrop.svelte-1sgc4qo{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#05030299;display:grid;place-items:center}.modal.svelte-1sgc4qo{width:420px;max-width:90vw;padding:22px;border-radius:var(--radius);background:var(--surface);display:flex;flex-direction:column;gap:12px}.modal.svelte-1sgc4qo h3:where(.svelte-1sgc4qo){font-family:var(--font-display);font-size:16px}.code.svelte-1sgc4qo{font-size:13px;color:var(--text-2)}.note.svelte-1sgc4qo{font-size:12px;color:var(--text-3)}.group.svelte-xohxs0{display:inline-flex;gap:5px;flex-wrap:wrap}.row.svelte-19h4ccs{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);border:1px solid transparent;transition:background var(--dur-sm) var(--ease),border-color var(--dur-sm) var(--ease)}.row.clickable.svelte-19h4ccs{cursor:pointer}.row.clickable.svelte-19h4ccs:hover{background:var(--surface-hover);border-color:var(--border)}.info.svelte-19h4ccs{flex:1;min-width:0}.name.svelte-19h4ccs{font-weight:500;font-size:13.5px;color:var(--text-1)}.pid.svelte-19h4ccs{color:var(--text-3);font-weight:400;margin-left:6px;font-size:12px}.meta.svelte-19h4ccs{font-size:12px;color:var(--text-3);margin-top:2px}.tags.svelte-19h4ccs{flex-shrink:0}.star.svelte-19h4ccs{background:none;border:none;font-size:17px;color:var(--text-3);cursor:pointer;transition:color var(--dur-sm) var(--ease)}.star.on.svelte-19h4ccs,.star.svelte-19h4ccs:hover{color:var(--accent)}.filters.svelte-1y45iff{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.q.svelte-1y45iff{flex:1;min-width:180px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13.5px}.q.svelte-1y45iff:focus{outline:none;border-color:var(--accent)}.s.svelte-1y45iff{padding:9px 11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13px;cursor:pointer}.s.svelte-1y45iff:focus{outline:none;border-color:var(--accent)}.stack.svelte-1efx48s{display:flex;flex-direction:column;gap:16px}.grid.svelte-1efx48s{display:grid;grid-template-columns:1fr 1fr;gap:14px}.h.svelte-1efx48s{font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);margin-bottom:4px}.v.svelte-1efx48s{font-size:13.5px;color:var(--text-1)}.v.mono.svelte-1efx48s{font-family:ui-monospace,monospace;font-size:12.5px;background:var(--surface-2);padding:4px 8px;border-radius:6px;display:inline-block;word-break:break-all}.sub.svelte-1efx48s{color:var(--text-3)}.chips.svelte-1efx48s{display:flex;flex-wrap:wrap;gap:5px}.item.svelte-drwign{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:grab;transition:border-color var(--dur-sm) var(--ease),background var(--dur-sm) var(--ease)}.item.svelte-drwign:hover{border-color:var(--border-bright)}.item.svelte-drwign:active{cursor:grabbing}.handle.svelte-drwign{color:var(--text-3);font-size:13px;letter-spacing:-2px}.idx.svelte-drwign{font-size:12px;color:var(--text-3);width:16px;text-align:center}.meta.svelte-drwign{flex:1;min-width:0}.name.svelte-drwign{font-size:13px;font-weight:500;color:var(--text-1)}.sub.svelte-drwign{font-size:11.5px;color:var(--text-3)}.x.svelte-drwign{background:none;border:none;color:var(--text-3);font-size:18px;cursor:pointer;line-height:1}.x.svelte-drwign:hover{color:var(--error)}.list.svelte-156gwh2{display:flex;flex-direction:column;gap:7px}.cap.svelte-156gwh2{font-size:12px;color:var(--text-3);text-align:right;margin-top:2px}.meter.svelte-19jc277{font-size:12px;color:var(--text-2)}.top.svelte-19jc277{display:flex;justify-content:space-between;margin-bottom:5px}.n.svelte-19jc277{color:var(--text-3)}.track.svelte-19jc277{height:6px;border-radius:999px;background:var(--surface-2);overflow:hidden}.fill.svelte-19jc277{height:100%;border-radius:999px;background:var(--accent);transition:width var(--dur-md) var(--ease)}.fill.full.svelte-19jc277{background:var(--warning)}.head.svelte-p8xmpw{margin-bottom:18px}h2.svelte-p8xmpw{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-1)}.sub.svelte-p8xmpw{font-size:13px;color:var(--text-3);margin-top:4px}.layout.svelte-p8xmpw{display:grid;grid-template-columns:1fr 360px;gap:18px;align-items:start}.fav-head.svelte-p8xmpw{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}h3.svelte-p8xmpw{font-family:var(--font-display);font-size:15px;font-weight:700}@media(max-width:920px){.layout.svelte-p8xmpw{grid-template-columns:1fr}}.card.svelte-1gp522a{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:border-color var(--dur-sm) var(--ease),transform var(--dur-sm) var(--ease),box-shadow var(--dur-sm) var(--ease)}.card.svelte-1gp522a:before{content:"";position:absolute;inset:0 0 auto 0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-glow),transparent);opacity:0;transition:opacity var(--dur-md) var(--ease)}.card.svelte-1gp522a:hover{border-color:var(--border-bright);transform:translateY(-2px);box-shadow:0 12px 30px -16px var(--accent-glow)}.card.svelte-1gp522a:hover:before{opacity:1}.head.svelte-1gp522a{display:flex;align-items:center;gap:12px}.logo.svelte-1gp522a{display:flex;align-items:center;justify-content:center;width:46px;height:46px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm)}.logo.dim.svelte-1gp522a{opacity:.5}.meta.svelte-1gp522a{flex:1}.name.svelte-1gp522a{font-weight:600;font-size:15px;color:var(--text-1)}.sub.svelte-1gp522a{font-size:12px;color:var(--text-3)}.path.svelte-1gp522a{font-size:11.5px;color:var(--text-3);background:var(--surface-2);padding:5px 9px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.favs.svelte-1gp522a{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-2);padding:7px 10px;background:var(--accent-muted);border:1px solid var(--border-glow);border-radius:var(--radius-xs)}.star.svelte-1gp522a{color:var(--accent);font-size:13px}.install.svelte-1gp522a{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cmd.svelte-1gp522a{font-family:var(--font-mono, ui-monospace, monospace);font-size:11.5px;color:var(--text-2);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:5px 9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.copy.svelte-1gp522a{font-size:11px;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;padding:2px 4px}.copy.svelte-1gp522a:hover{text-decoration:underline}.install-link.svelte-1gp522a{font-size:12.5px;font-weight:600;color:var(--accent);text-decoration:none}.install-link.svelte-1gp522a:hover{text-decoration:underline}.actions.svelte-1gp522a{display:flex;gap:8px;justify-content:flex-end;margin-top:auto}.head.svelte-ishglm{margin-bottom:20px}.head.svelte-ishglm h2:where(.svelte-ishglm){font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-1)}.sub.svelte-ishglm{font-size:13px;color:var(--text-3);margin-top:6px;max-width:560px;line-height:1.55}.grid.svelte-ishglm{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.modes.svelte-ishglm{display:flex;flex-direction:column;gap:8px}.mode.svelte-ishglm{display:flex;align-items:center;gap:12px;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px 14px;cursor:pointer;transition:border-color var(--dur-sm) var(--ease),background var(--dur-sm) var(--ease),transform var(--dur-xs) var(--ease);color:var(--text-1);font-family:inherit}.mode.svelte-ishglm:hover:not(:disabled){border-color:var(--border-bright);background:var(--surface-hover)}.mode.svelte-ishglm:active:not(:disabled){transform:scale(.99)}.mode.svelte-ishglm:disabled{opacity:.45;cursor:not-allowed}.mode.active.svelte-ishglm{border-color:var(--accent);background:var(--accent-muted);box-shadow:0 0 0 1px var(--accent-glow),0 4px 18px -8px var(--accent-glow)}.mode-ico.svelte-ishglm{font-size:18px;color:var(--accent);width:22px;text-align:center;flex-shrink:0}.mode.active.svelte-ishglm .mode-ico:where(.svelte-ishglm){filter:drop-shadow(0 0 6px var(--accent-glow))}.mode-body.svelte-ishglm{display:flex;flex-direction:column;gap:1px}.mode-title.svelte-ishglm{font-size:13.5px;font-weight:650;color:var(--text-1)}.mode-desc.svelte-ishglm{font-size:11.5px;color:var(--text-3)}.hintbox.svelte-ishglm{display:flex;align-items:center;gap:10px;margin-top:14px;padding:11px 13px;background:var(--accent-muted);border:1px solid var(--border-glow);border-radius:var(--radius-sm);font-size:12.5px;color:var(--text-2);line-height:1.5}.opts.svelte-ishglm{display:flex;flex-direction:column;gap:8px;align-items:stretch}.lbl.svelte-ishglm{font-size:12.5px;font-weight:600;color:var(--text-2);margin-top:4px}.folder.svelte-ishglm{display:flex;gap:8px}.recents.svelte-ishglm{display:flex;flex-direction:column;gap:4px}.recent.svelte-ishglm{text-align:left;font-size:11.5px;color:var(--text-3);background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:5px 9px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur-xs) var(--ease)}.recent.svelte-ishglm:hover{color:var(--text-1);border-color:var(--border-bright)}.row.svelte-ishglm{display:flex}.panel.svelte-swldy1{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.row.svelte-swldy1{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}h3.svelte-swldy1{font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--text-1)}.desc.svelte-swldy1{font-size:13px;color:var(--text-3);margin-top:4px;max-width:460px}.urls.svelte-swldy1{margin-top:16px;display:flex;flex-direction:column;gap:8px}.url.svelte-swldy1{display:flex;gap:10px;align-items:center}.lbl.svelte-swldy1{font-size:11px;text-transform:uppercase;color:var(--text-3);width:70px;flex-shrink:0}code.svelte-swldy1{font-family:ui-monospace,monospace;font-size:12px;background:var(--surface-2);padding:4px 9px;border-radius:6px;color:var(--accent);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary.svelte-swldy1{margin-top:12px;font-size:12.5px;color:var(--text-2);background:var(--surface-2);padding:9px 12px;border-radius:var(--radius-sm)}.opts.svelte-swldy1{margin-top:16px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}.lbl.svelte-swldy1{font-size:12.5px;font-weight:600;color:var(--text-2)}.inp.svelte-swldy1{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13.5px}.inp.svelte-swldy1:focus{outline:none;border-color:var(--accent)}.actions.svelte-swldy1{margin-top:18px}.head.svelte-124gvcr{margin-bottom:18px}h2.svelte-124gvcr{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-1)}.sub.svelte-124gvcr{font-size:13px;color:var(--text-3);margin-top:4px;max-width:480px}.page.svelte-hss3zz{max-width:1080px}.head.svelte-hss3zz{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}h2.svelte-hss3zz{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-1)}.sub.svelte-hss3zz{font-size:13px;color:var(--text-3);margin-top:4px;max-width:640px;line-height:1.55}.grid.svelte-hss3zz{display:grid;grid-template-columns:360px 1fr;gap:18px;align-items:start}@media(max-width:880px){.grid.svelte-hss3zz{grid-template-columns:1fr}}.panel{display:flex;flex-direction:column;gap:16px}.panel-title.svelte-hss3zz{font-family:var(--font-display);font-size:15px;font-weight:700;color:var(--text-1)}.field.svelte-hss3zz{display:flex;flex-direction:column;gap:7px}.field-label.svelte-hss3zz{font-size:12px;font-weight:600;color:var(--text-2);letter-spacing:.02em;text-transform:uppercase}.muted.svelte-hss3zz{font-size:13px;color:var(--text-3);padding:9px 0}.prompt.svelte-hss3zz{width:100%;resize:vertical;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-size:13.5px;font-family:var(--font-body);line-height:1.5;transition:border-color var(--dur-sm) var(--ease),background var(--dur-sm) var(--ease)}.prompt.svelte-hss3zz:focus{outline:none;border-color:var(--accent);background:var(--surface-2)}.run{margin-top:4px;justify-content:center}.results.svelte-hss3zz{min-height:260px}.result-card{position:relative;overflow:hidden}.result-card.pass{border-color:color-mix(in oklch,var(--success) 35%,var(--border))}.result-card.fail{border-color:color-mix(in oklch,var(--error) 40%,var(--border))}.result-head.svelte-hss3zz{display:flex;align-items:center;gap:9px;margin-bottom:18px}.status-dot.svelte-hss3zz{width:9px;height:9px;border-radius:50%}.status-dot.ok.svelte-hss3zz{background:var(--success);box-shadow:0 0 10px var(--success)}.status-dot.no.svelte-hss3zz{background:var(--error);box-shadow:0 0 10px var(--error)}.status-text.svelte-hss3zz{font-weight:600;font-size:14px}.status-text.ok.svelte-hss3zz{color:var(--success)}.status-text.no.svelte-hss3zz{color:var(--error)}.metrics.svelte-hss3zz{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:560px){.metrics.svelte-hss3zz{grid-template-columns:repeat(2,1fr)}}.metric.svelte-hss3zz{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;display:flex;flex-direction:column;gap:4px}.metric-value.svelte-hss3zz{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-1)}.metric-value.mono.svelte-hss3zz{font-family:ui-monospace,Fira Code,SF Mono,Menlo,monospace}.metric-value.warn.svelte-hss3zz{color:var(--warning)}.metric-label.svelte-hss3zz{font-size:11.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.gauge.svelte-hss3zz{grid-row:span 1;align-items:center;text-align:center;position:relative;background:transparent;border:none;padding:0}.gauge-svg.svelte-hss3zz{width:120px;height:120px;transform:rotate(-90deg)}.gauge-bg.svelte-hss3zz{fill:none;stroke:var(--surface-2);stroke-width:10}.gauge-fg.svelte-hss3zz{fill:none;stroke:var(--accent);stroke-width:10;stroke-linecap:round;stroke-dasharray:329.9;stroke-dashoffset:329.9;transition:stroke-dashoffset var(--dur-lg) var(--ease);filter:drop-shadow(0 0 6px var(--accent-glow))}.gauge-center.svelte-hss3zz{position:absolute;top:50%;left:50%;transform:translate(-50%,-64%);display:flex;flex-direction:column;align-items:center}.gauge-value.svelte-hss3zz{font-family:ui-monospace,Fira Code,monospace;font-size:26px;font-weight:700;color:var(--text-1)}.gauge-unit.svelte-hss3zz{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em}.sample.svelte-hss3zz{margin-top:18px}.sample-label.svelte-hss3zz{font-size:11.5px;color:var(--text-3);text-transform:uppercase;letter-spacing:.03em}.sample-body.svelte-hss3zz{margin-top:6px;padding:12px;border-radius:var(--radius-sm);background:var(--bg);border:1px solid var(--border);font-family:ui-monospace,Fira Code,monospace;font-size:12.5px;color:var(--text-2);white-space:pre-wrap;word-break:break-word;max-height:160px;overflow-y:auto}.fail-error.svelte-hss3zz{font-size:14px;color:var(--text-1);font-weight:500}.fail-hint.svelte-hss3zz{font-size:12.5px;color:var(--text-3);margin-top:6px;line-height:1.5}.mini-metrics.svelte-hss3zz{display:flex;gap:14px;margin-top:14px;font-family:ui-monospace,monospace;font-size:12px;color:var(--text-2)}.live-pulse.svelte-hss3zz{width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent-glow);animation:svelte-hss3zz-pulse 1.4s infinite;margin-bottom:14px}.live-text.svelte-hss3zz{font-size:15px;font-weight:600;color:var(--text-1)}@keyframes svelte-hss3zz-pulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 14px transparent}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.live-pulse.svelte-hss3zz{animation:none}.gauge-fg.svelte-hss3zz{transition:none}}.head.svelte-15j4tnx{margin-bottom:18px}h2.svelte-15j4tnx{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--text-1)}.sub.svelte-15j4tnx{font-size:13px;color:var(--text-3);margin-top:4px}h3.svelte-15j4tnx{font-family:var(--font-display);font-size:15px;font-weight:700;margin-bottom:12px}.cols.svelte-15j4tnx{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.stack.svelte-15j4tnx{display:flex;flex-direction:column;gap:14px}.line.svelte-15j4tnx{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--text-2);gap:12px}.kv.svelte-15j4tnx{display:flex;gap:10px;margin-top:12px;font-size:12px}.kv.svelte-15j4tnx code:where(.svelte-15j4tnx){font-family:ui-monospace,monospace;color:var(--accent);background:var(--surface-2);padding:3px 7px;border-radius:5px}.muted.svelte-15j4tnx{font-size:12.5px;color:var(--text-3);margin-bottom:14px;line-height:1.5}.acts.svelte-15j4tnx{display:flex;gap:8px}.sec-head.svelte-15j4tnx{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.preset.svelte-15j4tnx{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border)}.pname.svelte-15j4tnx{font-size:13.5px;font-weight:600;color:var(--text-1);display:block}.psub.svelte-15j4tnx{font-size:11.5px;color:var(--text-3)}.pacts.svelte-15j4tnx{display:flex;gap:6px}.dryrun.svelte-15j4tnx{font-family:ui-monospace,monospace;font-size:11px;color:var(--text-2);background:var(--surface-2);padding:8px 10px;border-radius:6px;white-space:pre-wrap;margin-bottom:10px}.ta.svelte-15j4tnx{width:100%;min-height:160px;padding:10px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-1);font-family:ui-monospace,monospace;font-size:12px;resize:vertical}.ta.svelte-15j4tnx:focus{outline:none;border-color:var(--accent)}.lbl.svelte-15j4tnx{display:block;font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:6px}.row.svelte-15j4tnx{display:flex}@media(max-width:920px){.cols.svelte-15j4tnx{grid-template-columns:1fr}}.app-shell.svelte-1n46o8q{display:grid;grid-template-columns:var(--sidebar-w) 1fr;min-height:100dvh}.main.svelte-1n46o8q{display:flex;flex-direction:column;min-width:0}.content.svelte-1n46o8q{padding:26px 30px 60px;max-width:1180px;width:100%}@media(max-width:760px){.app-shell.svelte-1n46o8q{grid-template-columns:1fr}.content.svelte-1n46o8q{padding:18px 16px 50px}}
@@ -9,8 +9,8 @@
9
9
  <link rel="preconnect" href="https://fonts.googleapis.com" />
10
10
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
11
11
  <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Outfit:wght@500;600;700;800&display=swap" rel="stylesheet" />
12
- <script type="module" crossorigin src="/assets/index-Ck-e8hv_.js"></script>
13
- <link rel="stylesheet" crossorigin href="/assets/index-CfL9bOYD.css">
12
+ <script type="module" crossorigin src="/assets/index-3Jrdu_6p.js"></script>
13
+ <link rel="stylesheet" crossorigin href="/assets/index-DtRr0Wrk.css">
14
14
  </head>
15
15
  <body>
16
16
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "anygate",
3
- "version": "0.5.6",
3
+ "version": "0.5.8",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },