You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
14 lines
103 KiB
14 lines
103 KiB
var app=function(){"use strict";function e(){}function t(e){return e()}function n(){return Object.create(null)}function r(e){e.forEach(t)}function s(e){return"function"==typeof e}function o(e,t){return e!=e?t==t:e!==t||e&&"object"==typeof e||"function"==typeof e}function i(t,n,r){t.$$.on_destroy.push(function(t,...n){if(null==t){for(const e of n)e(void 0);return e}const r=t.subscribe(...n);return r.unsubscribe?()=>r.unsubscribe():r}(n,r))}function l(e,t,n){return e.set(n),t}const a="undefined"!=typeof window?window:"undefined"!=typeof globalThis?globalThis:global;function c(e,t){e.appendChild(t)}function u(e,t,n){e.insertBefore(t,n||null)}function d(e){e.parentNode&&e.parentNode.removeChild(e)}function f(e,t){for(let n=0;n<e.length;n+=1)e[n]&&e[n].d(t)}function h(e){return document.createElement(e)}function p(e){return document.createTextNode(e)}function g(){return p(" ")}function y(){return p("")}function b(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}function m(e){return function(t){return t.stopPropagation(),e.call(this,t)}}function w(e,t,n){null==n?e.removeAttribute(t):e.getAttribute(t)!==n&&e.setAttribute(t,n)}function v(e,t){t=""+t,e.data!==t&&(e.data=t)}function E(e,t){e.value=null==t?"":t}function x(e,t,n,r){null==n?e.style.removeProperty(t):e.style.setProperty(t,n,"")}function _(e,t,n){for(let n=0;n<e.options.length;n+=1){const r=e.options[n];if(r.__value===t)return void(r.selected=!0)}n&&void 0===t||(e.selectedIndex=-1)}function $(e){const t=e.querySelector(":checked");return t&&t.__value}function k(e,t,n){e.classList.toggle(t,!!n)}let A;function B(e){A=e}function I(){if(!A)throw new Error("Function called outside component initialization");return A}function S(e){I().$$.on_mount.push(e)}function C(){const e=I();return(t,n,{cancelable:r=!1}={})=>{const s=e.$$.callbacks[t];if(s){const o=function(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}(t,n,{cancelable:r});return s.slice().forEach(t=>{t.call(e,o)}),!o.defaultPrevented}return!0}}function L(e,t){const n=e.$$.callbacks[t.type];n&&n.slice().forEach(e=>e.call(this,t))}const N=[],U=[];let O=[];const T=[],R=Promise.resolve();let P=!1;function D(e){O.push(e)}const q=new Set;let H=0;function j(){if(0!==H)return;const e=A;do{try{for(;H<N.length;){const e=N[H];H++,B(e),F(e.$$)}}catch(e){throw N.length=0,H=0,e}for(B(null),N.length=0,H=0;U.length;)U.pop()();for(let e=0;e<O.length;e+=1){const t=O[e];q.has(t)||(q.add(t),t())}O.length=0}while(N.length);for(;T.length;)T.pop()();P=!1,q.clear(),B(e)}function F(e){if(null!==e.fragment){e.update(),r(e.before_update);const t=e.dirty;e.dirty=[-1],e.fragment&&e.fragment.p(e.ctx,t),e.after_update.forEach(D)}}const V=new Set;let z;function K(){z={r:0,c:[],p:z}}function M(){z.r||r(z.c),z=z.p}function Z(e,t){e&&e.i&&(V.delete(e),e.i(t))}function W(e,t,n,r){if(e&&e.o){if(V.has(e))return;V.add(e),z.c.push(()=>{V.delete(e),r&&(n&&e.d(1),r())}),e.o(t)}else r&&r()}function G(e){return void 0!==e?.length?e:Array.from(e)}function Y(e){e&&e.c()}function J(e,n,o){const{fragment:i,after_update:l}=e.$$;i&&i.m(n,o),D(()=>{const n=e.$$.on_mount.map(t).filter(s);e.$$.on_destroy?e.$$.on_destroy.push(...n):r(n),e.$$.on_mount=[]}),l.forEach(D)}function Q(e,t){const n=e.$$;null!==n.fragment&&(!function(e){const t=[],n=[];O.forEach(r=>-1===e.indexOf(r)?t.push(r):n.push(r)),n.forEach(e=>e()),O=t}(n.after_update),r(n.on_destroy),n.fragment&&n.fragment.d(t),n.on_destroy=n.fragment=null,n.ctx=[])}function X(e,t){-1===e.$$.dirty[0]&&(N.push(e),P||(P=!0,R.then(j)),e.$$.dirty.fill(0)),e.$$.dirty[t/31|0]|=1<<t%31}function ee(t,s,o,i,l,a,c=null,u=[-1]){const f=A;B(t);const h=t.$$={fragment:null,ctx:[],props:a,update:e,not_equal:l,bound:n(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(s.context||(f?f.$$.context:[])),callbacks:n(),dirty:u,skip_bound:!1,root:s.target||f.$$.root};c&&c(h.root);let p=!1;if(h.ctx=o?o(t,s.props||{},(e,n,...r)=>{const s=r.length?r[0]:n;return h.ctx&&l(h.ctx[e],h.ctx[e]=s)&&(!h.skip_bound&&h.bound[e]&&h.bound[e](s),p&&X(t,e)),n}):[],h.update(),p=!0,r(h.before_update),h.fragment=!!i&&i(h.ctx),s.target){if(s.hydrate){const e=function(e){return Array.from(e.childNodes)}(s.target);h.fragment&&h.fragment.l(e),e.forEach(d)}else h.fragment&&h.fragment.c();s.intro&&Z(t.$$.fragment),J(t,s.target,s.anchor),j()}B(f)}class te{$$=void 0;$$set=void 0;$destroy(){Q(this,1),this.$destroy=e}$on(t,n){if(!s(n))return e;const r=this.$$.callbacks[t]||(this.$$.callbacks[t]=[]);return r.push(n),()=>{const e=r.indexOf(n);-1!==e&&r.splice(e,1)}}$set(e){var t;this.$$set&&(t=e,0!==Object.keys(t).length)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}function ne(t){let n,r,s;return{c(){n=h("button"),n.textContent="Login",w(n,"class","login-header-btn svelte-1bc06ax")},m(e,o){u(e,n,o),r||(s=b(n,"click",t[9]),r=!0)},p:e,d(e){e&&d(n),r=!1,s()}}}function re(e){let t,n,s,o,i,l,a,f,y,m,E,x,_,$,A=oe(e[2])+"";return{c(){t=h("nav"),n=h("button"),n.textContent="Dashboard",s=g(),o=h("button"),o.textContent="Config",i=g(),l=h("button"),l.textContent="Update",a=g(),f=h("div"),y=h("span"),m=p(A),E=g(),x=h("button"),x.textContent="Logout",w(n,"class","nav-btn svelte-1bc06ax"),k(n,"active","dashboard"===e[0]),w(o,"class","nav-btn svelte-1bc06ax"),k(o,"active","config"===e[0]),w(l,"class","nav-btn svelte-1bc06ax"),k(l,"active","update"===e[0]),w(t,"class","svelte-1bc06ax"),w(y,"class","pubkey svelte-1bc06ax"),w(x,"class","logout-btn svelte-1bc06ax"),w(f,"class","user-section svelte-1bc06ax")},m(r,d){u(r,t,d),c(t,n),c(t,s),c(t,o),c(t,i),c(t,l),u(r,a,d),u(r,f,d),c(f,y),c(y,m),c(f,E),c(f,x),_||($=[b(n,"click",e[5]),b(o,"click",e[6]),b(l,"click",e[7]),b(x,"click",e[8])],_=!0)},p(e,t){1&t&&k(n,"active","dashboard"===e[0]),1&t&&k(o,"active","config"===e[0]),1&t&&k(l,"active","update"===e[0]),4&t&&A!==(A=oe(e[2])+"")&&v(m,A)},d(e){e&&(d(t),d(a),d(f)),_=!1,r($)}}}function se(t){let n,r,s,o;function i(e,t){return e[1]?re:ne}let l=i(t),a=l(t);return{c(){n=h("header"),r=h("div"),s=h("h1"),s.textContent="ORLY Launcher",o=g(),a.c(),w(s,"class","svelte-1bc06ax"),w(r,"class","header-content svelte-1bc06ax"),w(n,"class","svelte-1bc06ax")},m(e,t){u(e,n,t),c(n,r),c(r,s),c(r,o),a.m(r,null)},p(e,[t]){l===(l=i(e))&&a?a.p(e,t):(a.d(1),a=l(e),a&&(a.c(),a.m(r,null)))},i:e,o:e,d(e){e&&d(n),a.d()}}}function oe(e){return e?e.slice(0,8)+"..."+e.slice(-4):""}function ie(e,t,n){const r=C();let{currentPage:s="dashboard"}=t,{isLoggedIn:o=!1}=t,{userPubkey:i=""}=t;function l(e){r("navigate",e)}return e.$$set=e=>{"currentPage"in e&&n(0,s=e.currentPage),"isLoggedIn"in e&&n(1,o=e.isLoggedIn),"userPubkey"in e&&n(2,i=e.userPubkey)},[s,o,i,r,l,()=>l("dashboard"),()=>l("config"),()=>l("update"),()=>r("logout"),()=>r("login")]}"undefined"!=typeof window&&(window.__svelte||(window.__svelte={v:new Set})).v.add("4");class le extends te{constructor(e){super(),ee(this,e,ie,se,o,{currentPage:0,isLoggedIn:1,userPubkey:2})}}function ae(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function ce(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function ue(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}const de="object"==typeof globalThis&&"crypto"in globalThis?globalThis.crypto:void 0,fe=e=>e instanceof Uint8Array,he=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),pe=(e,t)=>e<<32-t|e>>>t; |
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");function ge(e){if("string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),!fe(e))throw new Error("expected Uint8Array, got "+typeof e);return e}let ye=class{clone(){return this._cloneInto()}};function be(e){const t=t=>e().update(ge(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function me(e=32){if(de&&"function"==typeof de.getRandomValues)return de.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}let we=class extends ye{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=he(this.buffer)}update(e){ue(this);const{view:t,buffer:n,blockLen:r}=this,s=(e=ge(e)).length;for(let o=0;o<s;){const i=Math.min(r-this.pos,s-o);if(i===r){const t=he(e);for(;r<=s-o;o+=r)this.process(t,o);continue}n.set(e.subarray(o,o+i),this.pos),this.pos+=i,o+=i,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ue(this),function(e,t){ce(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:s}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;e<r;e++)t[e]=0;!function(e,t,n,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),l=Number(n&o),a=r?4:0,c=r?0:4;e.setUint32(t+a,i,r),e.setUint32(t+c,l,r)}(n,r-8,BigInt(8*this.length),s),this.process(n,0);const i=he(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const a=l/4,c=this.get();if(a>c.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<a;e++)i.setUint32(4*e,c[e],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:s,destroyed:o,pos:i}=this;return e.length=r,e.pos=i,e.finished=s,e.destroyed=o,r%t&&e.buffer.set(n),e}};const ve=(e,t,n)=>e&t^~e&n,Ee=(e,t,n)=>e&t^e&n^t&n,xe=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),_e=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),$e=new Uint32Array(64);let ke=class extends we{constructor(){super(64,32,8,!1),this.A=0|_e[0],this.B=0|_e[1],this.C=0|_e[2],this.D=0|_e[3],this.E=0|_e[4],this.F=0|_e[5],this.G=0|_e[6],this.H=0|_e[7]}get(){const{A:e,B:t,C:n,D:r,E:s,F:o,G:i,H:l}=this;return[e,t,n,r,s,o,i,l]}set(e,t,n,r,s,o,i,l){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|s,this.F=0|o,this.G=0|i,this.H=0|l}process(e,t){for(let n=0;n<16;n++,t+=4)$e[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=$e[e-15],n=$e[e-2],r=pe(t,7)^pe(t,18)^t>>>3,s=pe(n,17)^pe(n,19)^n>>>10;$e[e]=s+$e[e-7]+r+$e[e-16]|0}let{A:n,B:r,C:s,D:o,E:i,F:l,G:a,H:c}=this;for(let e=0;e<64;e++){const t=c+(pe(i,6)^pe(i,11)^pe(i,25))+ve(i,l,a)+xe[e]+$e[e]|0,u=(pe(n,2)^pe(n,13)^pe(n,22))+Ee(n,r,s)|0;c=a,a=l,l=i,i=o+t|0,o=s,s=r,r=n,n=t+u|0}n=n+this.A|0,r=r+this.B|0,s=s+this.C|0,o=o+this.D|0,i=i+this.E|0,l=l+this.F|0,a=a+this.G|0,c=c+this.H|0,this.set(n,r,s,o,i,l,a,c)}roundClean(){$e.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const Ae=be(()=>new ke); |
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */BigInt(0);const Be=BigInt(1),Ie=BigInt(2),Se=e=>e instanceof Uint8Array,Ce=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Le(e){if(!Se(e))throw new Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=Ce[e[n]];return t}function Ne(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);return BigInt(""===e?"0":`0x${e}`)}function Ue(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(t/2);for(let t=0;t<n.length;t++){const r=2*t,s=e.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");n[t]=o}return n}function Oe(e){return Ne(Le(e))}function Te(e){if(!Se(e))throw new Error("Uint8Array expected");return Ne(Le(Uint8Array.from(e).reverse()))}function Re(e,t){return Ue(e.toString(16).padStart(2*t,"0"))}function Pe(e,t){return Re(e,t).reverse()}function De(e,t,n){let r;if("string"==typeof t)try{r=Ue(t)}catch(n){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${n}`)}else{if(!Se(t))throw new Error(`${e} must be hex string or Uint8Array`);r=Uint8Array.from(t)}const s=r.length;if("number"==typeof n&&s!==n)throw new Error(`${e} expected ${n} bytes, got ${s}`);return r}function qe(...e){const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let n=0;return e.forEach(e=>{if(!Se(e))throw new Error("Uint8Array expected");t.set(e,n),n+=e.length}),t}const He=e=>(Ie<<BigInt(e-1))-Be,je=e=>new Uint8Array(e),Fe=e=>Uint8Array.from(e);function Ve(e,t,n){if("number"!=typeof e||e<2)throw new Error("hashLen must be a number");if("number"!=typeof t||t<2)throw new Error("qByteLen must be a number");if("function"!=typeof n)throw new Error("hmacFn must be a function");let r=je(e),s=je(e),o=0;const i=()=>{r.fill(1),s.fill(0),o=0},l=(...e)=>n(s,r,...e),a=(e=je())=>{s=l(Fe([0]),e),r=l(),0!==e.length&&(s=l(Fe([1]),e),r=l())},c=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let e=0;const n=[];for(;e<t;){r=l();const t=r.slice();n.push(t),e+=r.length}return qe(...n)};return(e,t)=>{let n;for(i(),a(e);!(n=t(c()));)a();return i(),n}}const ze={bigint:e=>"bigint"==typeof e,function:e=>"function"==typeof e,boolean:e=>"boolean"==typeof e,string:e=>"string"==typeof e,stringOrUint8Array:e=>"string"==typeof e||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>"function"==typeof e&&Number.isSafeInteger(e.outputLen)};function Ke(e,t,n={}){const r=(t,n,r)=>{const s=ze[n];if("function"!=typeof s)throw new Error(`Invalid validator "${n}", expected function`);const o=e[t];if(!(r&&void 0===o||s(o,e)))throw new Error(`Invalid param ${String(t)}=${o} (${typeof o}), expected ${n}`)};for(const[e,n]of Object.entries(t))r(e,n,!1);for(const[e,t]of Object.entries(n))r(e,t,!0);return e}var Me=Object.freeze({__proto__:null,bitMask:He,bytesToHex:Le,bytesToNumberBE:Oe,bytesToNumberLE:Te,concatBytes:qe,createHmacDrbg:Ve,ensureBytes:De,hexToBytes:Ue,hexToNumber:Ne,numberToBytesBE:Re,numberToBytesLE:Pe,validateObject:Ke}); |
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Ze=BigInt(0),We=BigInt(1),Ge=BigInt(2),Ye=BigInt(3),Je=BigInt(4),Qe=BigInt(5),Xe=BigInt(8);function et(e,t){const n=e%t;return n>=Ze?n:t+n}function tt(e,t,n){if(n<=Ze||t<Ze)throw new Error("Expected power/modulo > 0");if(n===We)return Ze;let r=We;for(;t>Ze;)t&We&&(r=r*e%n),e=e*e%n,t>>=We;return r}function nt(e,t,n){let r=e;for(;t-- >Ze;)r*=r,r%=n;return r}function rt(e,t){if(e===Ze||t<=Ze)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let n=et(e,t),r=t,s=Ze,o=We;for(;n!==Ze;){const e=r%n,t=s-o*(r/n);r=n,n=e,s=o,o=t}if(r!==We)throw new Error("invert: does not exist");return et(s,t)}function st(e){if(e%Je===Ye){const t=(e+We)/Je;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error("Cannot find square root");return r}}if(e%Xe===Qe){const t=(e-Qe)/Xe;return function(e,n){const r=e.mul(n,Ge),s=e.pow(r,t),o=e.mul(n,s),i=e.mul(e.mul(o,Ge),s),l=e.mul(o,e.sub(i,e.ONE));if(!e.eql(e.sqr(l),n))throw new Error("Cannot find square root");return l}}return function(e){const t=(e-We)/Ge;let n,r,s;for(n=e-We,r=0;n%Ge===Ze;n/=Ge,r++);for(s=Ge;s<e&&tt(s,t,e)!==e-We;s++);if(1===r){const t=(e+We)/Je;return function(e,n){const r=e.pow(n,t);if(!e.eql(e.sqr(r),n))throw new Error("Cannot find square root");return r}}const o=(n+We)/Ge;return function(e,i){if(e.pow(i,t)===e.neg(e.ONE))throw new Error("Cannot find square root");let l=r,a=e.pow(e.mul(e.ONE,s),n),c=e.pow(i,o),u=e.pow(i,n);for(;!e.eql(u,e.ONE);){if(e.eql(u,e.ZERO))return e.ZERO;let t=1;for(let n=e.sqr(u);t<l&&!e.eql(n,e.ONE);t++)n=e.sqr(n);const n=e.pow(a,We<<BigInt(l-t-1));a=e.sqr(n),c=e.mul(c,n),u=e.mul(u,a),l=t}return c}}(e)}BigInt(9),BigInt(16);const ot=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function it(e,t){const n=void 0!==t?t:e.toString(2).length;return{nBitLength:n,nByteLength:Math.ceil(n/8)}}function lt(e){if("bigint"!=typeof e)throw new Error("field order must be bigint");const t=e.toString(2).length;return Math.ceil(t/8)}function at(e){const t=lt(e);return t+Math.ceil(t/2)} |
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */ |
|
const ct=BigInt(0),ut=BigInt(1);function dt(e){return Ke(e.Fp,ot.reduce((e,t)=>(e[t]="function",e),{ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"})),Ke(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...it(e.n,e.nBitLength),...e,p:e.Fp.ORDER})} |
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const{bytesToNumberBE:ft,hexToBytes:ht}=Me,pt={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(e){const{Err:t}=pt;if(e.length<2||2!==e[0])throw new t("Invalid signature integer tag");const n=e[1],r=e.subarray(2,n+2);if(!n||r.length!==n)throw new t("Invalid signature integer: wrong length");if(128&r[0])throw new t("Invalid signature integer: negative");if(0===r[0]&&!(128&r[1]))throw new t("Invalid signature integer: unnecessary leading zero");return{d:ft(r),l:e.subarray(n+2)}},toSig(e){const{Err:t}=pt,n="string"==typeof e?ht(e):e;if(!(n instanceof Uint8Array))throw new Error("ui8a expected");let r=n.length;if(r<2||48!=n[0])throw new t("Invalid signature tag");if(n[1]!==r-2)throw new t("Invalid signature: incorrect length");const{d:s,l:o}=pt._parseInt(n.subarray(2)),{d:i,l:l}=pt._parseInt(o);if(l.length)throw new t("Invalid signature: left bytes after parsing");return{r:s,s:i}},hexFromSig(e){const t=e=>8&Number.parseInt(e[0],16)?"00"+e:e,n=e=>{const t=e.toString(16);return 1&t.length?`0${t}`:t},r=t(n(e.s)),s=t(n(e.r)),o=r.length/2,i=s.length/2,l=n(o),a=n(i);return`30${n(i+o+4)}02${a}${s}02${l}${r}`}},gt=BigInt(0),yt=BigInt(1);BigInt(2);const bt=BigInt(3);function mt(e){const t=function(e){const t=dt(e);Ke(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:n,Fp:r,a:s}=t;if(n){if(!r.eql(s,r.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if("object"!=typeof n||"bigint"!=typeof n.beta||"function"!=typeof n.splitScalar)throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}(e),{Fp:n}=t,r=t.toBytes||((e,t,r)=>{const s=t.toAffine();return qe(Uint8Array.from([4]),n.toBytes(s.x),n.toBytes(s.y))}),s=t.fromBytes||(e=>{const t=e.subarray(1);return{x:n.fromBytes(t.subarray(0,n.BYTES)),y:n.fromBytes(t.subarray(n.BYTES,2*n.BYTES))}});function o(e){const{a:r,b:s}=t,o=n.sqr(e),i=n.mul(o,e);return n.add(n.add(i,n.mul(e,r)),s)}if(!n.eql(n.sqr(t.Gy),o(t.Gx)))throw new Error("bad generator point: equation left != right");function i(e){return"bigint"==typeof e&><e&&e<t.n}function l(e){if(!i(e))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function a(e){const{allowedPrivateKeyLengths:n,nByteLength:r,wrapPrivateKey:s,n:o}=t;if(n&&"bigint"!=typeof e){if(e instanceof Uint8Array&&(e=Le(e)),"string"!=typeof e||!n.includes(e.length))throw new Error("Invalid key");e=e.padStart(2*r,"0")}let i;try{i="bigint"==typeof e?e:Oe(De("private key",e,r))}catch(t){throw new Error(`private key must be ${r} bytes, hex or bigint, not ${typeof e}`)}return s&&(i=et(i,o)),l(i),i}const c=new Map;function u(e){if(!(e instanceof d))throw new Error("ProjectivePoint expected")}class d{constructor(e,t,r){if(this.px=e,this.py=t,this.pz=r,null==e||!n.isValid(e))throw new Error("x required");if(null==t||!n.isValid(t))throw new Error("y required");if(null==r||!n.isValid(r))throw new Error("z required")}static fromAffine(e){const{x:t,y:r}=e||{};if(!e||!n.isValid(t)||!n.isValid(r))throw new Error("invalid affine point");if(e instanceof d)throw new Error("projective point not allowed");const s=e=>n.eql(e,n.ZERO);return s(t)&&s(r)?d.ZERO:new d(t,r,n.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(e){const t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)}static fromHex(e){const t=d.fromAffine(s(De("pointHex",e)));return t.assertValidity(),t}static fromPrivateKey(e){return d.BASE.multiply(a(e))}_setWindowSize(e){this._WINDOW_SIZE=e,c.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!n.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:e,y:r}=this.toAffine();if(!n.isValid(e)||!n.isValid(r))throw new Error("bad point: x or y not FE");const s=n.sqr(r),i=o(e);if(!n.eql(s,i))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:e}=this.toAffine();if(n.isOdd)return!n.isOdd(e);throw new Error("Field doesn't support isOdd")}equals(e){u(e);const{px:t,py:r,pz:s}=this,{px:o,py:i,pz:l}=e,a=n.eql(n.mul(t,l),n.mul(o,s)),c=n.eql(n.mul(r,l),n.mul(i,s));return a&&c}negate(){return new d(this.px,n.neg(this.py),this.pz)}double(){const{a:e,b:r}=t,s=n.mul(r,bt),{px:o,py:i,pz:l}=this;let a=n.ZERO,c=n.ZERO,u=n.ZERO,f=n.mul(o,o),h=n.mul(i,i),p=n.mul(l,l),g=n.mul(o,i);return g=n.add(g,g),u=n.mul(o,l),u=n.add(u,u),a=n.mul(e,u),c=n.mul(s,p),c=n.add(a,c),a=n.sub(h,c),c=n.add(h,c),c=n.mul(a,c),a=n.mul(g,a),u=n.mul(s,u),p=n.mul(e,p),g=n.sub(f,p),g=n.mul(e,g),g=n.add(g,u),u=n.add(f,f),f=n.add(u,f),f=n.add(f,p),f=n.mul(f,g),c=n.add(c,f),p=n.mul(i,l),p=n.add(p,p),f=n.mul(p,g),a=n.sub(a,f),u=n.mul(p,h),u=n.add(u,u),u=n.add(u,u),new d(a,c,u)}add(e){u(e);const{px:r,py:s,pz:o}=this,{px:i,py:l,pz:a}=e;let c=n.ZERO,f=n.ZERO,h=n.ZERO;const p=t.a,g=n.mul(t.b,bt);let y=n.mul(r,i),b=n.mul(s,l),m=n.mul(o,a),w=n.add(r,s),v=n.add(i,l);w=n.mul(w,v),v=n.add(y,b),w=n.sub(w,v),v=n.add(r,o);let E=n.add(i,a);return v=n.mul(v,E),E=n.add(y,m),v=n.sub(v,E),E=n.add(s,o),c=n.add(l,a),E=n.mul(E,c),c=n.add(b,m),E=n.sub(E,c),h=n.mul(p,v),c=n.mul(g,m),h=n.add(c,h),c=n.sub(b,h),h=n.add(b,h),f=n.mul(c,h),b=n.add(y,y),b=n.add(b,y),m=n.mul(p,m),v=n.mul(g,v),b=n.add(b,m),m=n.sub(y,m),m=n.mul(p,m),v=n.add(v,m),y=n.mul(b,v),f=n.add(f,y),y=n.mul(E,v),c=n.mul(w,c),c=n.sub(c,y),y=n.mul(w,b),h=n.mul(E,h),h=n.add(h,y),new d(c,f,h)}subtract(e){return this.add(e.negate())}is0(){return this.equals(d.ZERO)}wNAF(e){return h.wNAFCached(this,c,e,e=>{const t=n.invertBatch(e.map(e=>e.pz));return e.map((e,n)=>e.toAffine(t[n])).map(d.fromAffine)})}multiplyUnsafe(e){const r=d.ZERO;if(e===gt)return r;if(l(e),e===yt)return this;const{endo:s}=t;if(!s)return h.unsafeLadder(this,e);let{k1neg:o,k1:i,k2neg:a,k2:c}=s.splitScalar(e),u=r,f=r,p=this;for(;i>gt||c>gt;)i&yt&&(u=u.add(p)),c&yt&&(f=f.add(p)),p=p.double(),i>>=yt,c>>=yt;return o&&(u=u.negate()),a&&(f=f.negate()),f=new d(n.mul(f.px,s.beta),f.py,f.pz),u.add(f)}multiply(e){l(e);let r,s,o=e;const{endo:i}=t;if(i){const{k1neg:e,k1:t,k2neg:l,k2:a}=i.splitScalar(o);let{p:c,f:u}=this.wNAF(t),{p:f,f:p}=this.wNAF(a);c=h.constTimeNegate(e,c),f=h.constTimeNegate(l,f),f=new d(n.mul(f.px,i.beta),f.py,f.pz),r=c.add(f),s=u.add(p)}else{const{p:e,f:t}=this.wNAF(o);r=e,s=t}return d.normalizeZ([r,s])[0]}multiplyAndAddUnsafe(e,t,n){const r=d.BASE,s=(e,t)=>t!==gt&&t!==yt&&e.equals(r)?e.multiply(t):e.multiplyUnsafe(t),o=s(this,t).add(s(e,n));return o.is0()?void 0:o}toAffine(e){const{px:t,py:r,pz:s}=this,o=this.is0();null==e&&(e=o?n.ONE:n.inv(s));const i=n.mul(t,e),l=n.mul(r,e),a=n.mul(s,e);if(o)return{x:n.ZERO,y:n.ZERO};if(!n.eql(a,n.ONE))throw new Error("invZ was invalid");return{x:i,y:l}}isTorsionFree(){const{h:e,isTorsionFree:n}=t;if(e===yt)return!0;if(n)return n(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:e,clearCofactor:n}=t;return e===yt?this:n?n(d,this):this.multiplyUnsafe(t.h)}toRawBytes(e=!0){return this.assertValidity(),r(d,this,e)}toHex(e=!0){return Le(this.toRawBytes(e))}}d.BASE=new d(t.Gx,t.Gy,n.ONE),d.ZERO=new d(n.ZERO,n.ONE,n.ZERO);const f=t.nBitLength,h=function(e,t){const n=(e,t)=>{const n=t.negate();return e?n:t},r=e=>({windows:Math.ceil(t/e)+1,windowSize:2**(e-1)});return{constTimeNegate:n,unsafeLadder(t,n){let r=e.ZERO,s=t;for(;n>ct;)n&ut&&(r=r.add(s)),s=s.double(),n>>=ut;return r},precomputeWindow(e,t){const{windows:n,windowSize:s}=r(t),o=[];let i=e,l=i;for(let e=0;e<n;e++){l=i,o.push(l);for(let e=1;e<s;e++)l=l.add(i),o.push(l);i=l.double()}return o},wNAF(t,s,o){const{windows:i,windowSize:l}=r(t);let a=e.ZERO,c=e.BASE;const u=BigInt(2**t-1),d=2**t,f=BigInt(t);for(let e=0;e<i;e++){const t=e*l;let r=Number(o&u);o>>=f,r>l&&(r-=d,o+=ut);const i=t,h=t+Math.abs(r)-1,p=e%2!=0,g=r<0;0===r?c=c.add(n(p,s[i])):a=a.add(n(g,s[h]))}return{p:a,f:c}},wNAFCached(e,t,n,r){const s=e._WINDOW_SIZE||1;let o=t.get(e);return o||(o=this.precomputeWindow(e,s),1!==s&&t.set(e,r(o))),this.wNAF(s,o,n)}}}(d,t.endo?Math.ceil(f/2):f);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:o,isWithinCurveOrder:i}}function wt(e){const t=function(e){const t=dt(e);return Ke(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}(e),{Fp:n,n:r}=t,s=n.BYTES+1,o=2*n.BYTES+1;function i(e){return et(e,r)}function l(e){return rt(e,r)}const{ProjectivePoint:a,normPrivateKeyToScalar:c,weierstrassEquation:u,isWithinCurveOrder:d}=mt({...t,toBytes(e,t,r){const s=t.toAffine(),o=n.toBytes(s.x),i=qe;return r?i(Uint8Array.from([t.hasEvenY()?2:3]),o):i(Uint8Array.from([4]),o,n.toBytes(s.y))},fromBytes(e){const t=e.length,r=e[0],i=e.subarray(1);if(t!==s||2!==r&&3!==r){if(t===o&&4===r){return{x:n.fromBytes(i.subarray(0,n.BYTES)),y:n.fromBytes(i.subarray(n.BYTES,2*n.BYTES))}}throw new Error(`Point of length ${t} was invalid. Expected ${s} compressed bytes or ${o} uncompressed bytes`)}{const e=Oe(i);if(!(gt<(l=e)&&l<n.ORDER))throw new Error("Point is not on curve");const t=u(e);let s=n.sqrt(t);return!(1&~r)!==((s&yt)===yt)&&(s=n.neg(s)),{x:e,y:s}}var l}}),f=e=>Le(Re(e,t.nByteLength));function h(e){return e>r>>yt}const p=(e,t,n)=>Oe(e.slice(t,n));class g{constructor(e,t,n){this.r=e,this.s=t,this.recovery=n,this.assertValidity()}static fromCompact(e){const n=t.nByteLength;return e=De("compactSignature",e,2*n),new g(p(e,0,n),p(e,n,2*n))}static fromDER(e){const{r:t,s:n}=pt.toSig(De("DER",e));return new g(t,n)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(e){return new g(this.r,this.s,e)}recoverPublicKey(e){const{r:r,s:s,recovery:o}=this,c=w(De("msgHash",e));if(null==o||![0,1,2,3].includes(o))throw new Error("recovery id invalid");const u=2===o||3===o?r+t.n:r;if(u>=n.ORDER)throw new Error("recovery id 2 or 3 invalid");const d=1&o?"03":"02",h=a.fromHex(d+f(u)),p=l(u),g=i(-c*p),y=i(s*p),b=a.BASE.multiplyAndAddUnsafe(h,g,y);if(!b)throw new Error("point at infinify");return b.assertValidity(),b}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,i(-this.s),this.recovery):this}toDERRawBytes(){return Ue(this.toDERHex())}toDERHex(){return pt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Ue(this.toCompactHex())}toCompactHex(){return f(this.r)+f(this.s)}}const y={isValidPrivateKey(e){try{return c(e),!0}catch(e){return!1}},normPrivateKeyToScalar:c,randomPrivateKey:()=>{const e=at(t.n);return function(e,t,n=!1){const r=e.length,s=lt(t),o=at(t);if(r<16||r<o||r>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${r}`);const i=et(n?Oe(e):Te(e),t-We)+We;return n?Pe(i,s):Re(i,s)}(t.randomBytes(e),t.n)},precompute:(e=8,t=a.BASE)=>(t._setWindowSize(e),t.multiply(BigInt(3)),t)};function b(e){const t=e instanceof Uint8Array,n="string"==typeof e,r=(t||n)&&e.length;return t?r===s||r===o:n?r===2*s||r===2*o:e instanceof a}const m=t.bits2int||function(e){const n=Oe(e),r=8*e.length-t.nBitLength;return r>0?n>>BigInt(r):n},w=t.bits2int_modN||function(e){return i(m(e))},v=He(t.nBitLength);function E(e){if("bigint"!=typeof e)throw new Error("bigint expected");if(!(gt<=e&&e<v))throw new Error(`bigint expected < 2^${t.nBitLength}`);return Re(e,t.nByteLength)}function x(e,r,s=_){if(["recovered","canonical"].some(e=>e in s))throw new Error("sign() legacy options not supported");const{hash:o,randomBytes:u}=t;let{lowS:f,prehash:p,extraEntropy:y}=s;null==f&&(f=!0),e=De("msgHash",e),p&&(e=De("prehashed msgHash",o(e)));const b=w(e),v=c(r),x=[E(v),E(b)];if(null!=y){const e=!0===y?u(n.BYTES):y;x.push(De("extraEntropy",e))}const $=qe(...x),k=b;return{seed:$,k2sig:function(e){const t=m(e);if(!d(t))return;const n=l(t),r=a.BASE.multiply(t).toAffine(),s=i(r.x);if(s===gt)return;const o=i(n*i(k+s*v));if(o===gt)return;let c=(r.x===s?0:2)|Number(r.y&yt),u=o;return f&&h(o)&&(u=function(e){return h(e)?i(-e):e}(o),c^=1),new g(s,u,c)}}}const _={lowS:t.lowS,prehash:!1},$={lowS:t.lowS,prehash:!1};return a.BASE._setWindowSize(8),{CURVE:t,getPublicKey:function(e,t=!0){return a.fromPrivateKey(e).toRawBytes(t)},getSharedSecret:function(e,t,n=!0){if(b(e))throw new Error("first arg must be private key");if(!b(t))throw new Error("second arg must be public key");return a.fromHex(t).multiply(c(e)).toRawBytes(n)},sign:function(e,n,r=_){const{seed:s,k2sig:o}=x(e,n,r),i=t;return Ve(i.hash.outputLen,i.nByteLength,i.hmac)(s,o)},verify:function(e,n,r,s=$){const o=e;if(n=De("msgHash",n),r=De("publicKey",r),"strict"in s)throw new Error("options.strict was renamed to lowS");const{lowS:c,prehash:u}=s;let d,f;try{if("string"==typeof o||o instanceof Uint8Array)try{d=g.fromDER(o)}catch(e){if(!(e instanceof pt.Err))throw e;d=g.fromCompact(o)}else{if("object"!=typeof o||"bigint"!=typeof o.r||"bigint"!=typeof o.s)throw new Error("PARSE");{const{r:e,s:t}=o;d=new g(e,t)}}f=a.fromHex(r)}catch(e){if("PARSE"===e.message)throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(c&&d.hasHighS())return!1;u&&(n=t.hash(n));const{r:h,s:p}=d,y=w(n),b=l(p),m=i(y*b),v=i(h*b),E=a.BASE.multiplyAndAddUnsafe(f,m,v)?.toAffine();return!!E&&i(E.x)===h},ProjectivePoint:a,Signature:g,utils:y}}BigInt(4);class vt extends ye{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");ae(e.outputLen),ae(e.blockLen)}(e);const n=ge(t);if(this.iHash=e.create(),"function"!=typeof this.iHash.update)throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const r=this.blockLen,s=new Uint8Array(r);s.set(n.length>r?e.create().update(n).digest():n);for(let e=0;e<s.length;e++)s[e]^=54;this.iHash.update(s),this.oHash=e.create();for(let e=0;e<s.length;e++)s[e]^=106;this.oHash.update(s),s.fill(0)}update(e){return ue(this),this.iHash.update(e),this}digestInto(e){ue(this),ce(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){const e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));const{oHash:t,iHash:n,finished:r,destroyed:s,blockLen:o,outputLen:i}=this;return e.finished=r,e.destroyed=s,e.blockLen=o,e.outputLen=i,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const Et=(e,t,n)=>new vt(e,t).update(n).digest(); |
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */ |
|
function xt(e){return{hash:e,hmac:(t,...n)=>Et(e,t,function(...e){const t=new Uint8Array(e.reduce((e,t)=>e+t.length,0));let n=0;return e.forEach(e=>{if(!fe(e))throw new Error("Uint8Array expected");t.set(e,n),n+=e.length}),t}(...n)),randomBytes:me}}Et.create=(e,t)=>new vt(e,t); |
|
/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */ |
|
const _t=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),$t=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),kt=BigInt(1),At=BigInt(2),Bt=(e,t)=>(e+t/At)/t;function It(e){const t=_t,n=BigInt(3),r=BigInt(6),s=BigInt(11),o=BigInt(22),i=BigInt(23),l=BigInt(44),a=BigInt(88),c=e*e*e%t,u=c*c*e%t,d=nt(u,n,t)*u%t,f=nt(d,n,t)*u%t,h=nt(f,At,t)*c%t,p=nt(h,s,t)*h%t,g=nt(p,o,t)*p%t,y=nt(g,l,t)*g%t,b=nt(y,a,t)*y%t,m=nt(b,l,t)*g%t,w=nt(m,n,t)*u%t,v=nt(w,i,t)*p%t,E=nt(v,r,t)*c%t,x=nt(E,At,t);if(!St.eql(St.sqr(x),e))throw new Error("Cannot find square root");return x}const St=function(e,t,n=!1,r={}){if(e<=Ze)throw new Error(`Expected Field ORDER > 0, got ${e}`);const{nBitLength:s,nByteLength:o}=it(e,t);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");const i=st(e),l=Object.freeze({ORDER:e,BITS:s,BYTES:o,MASK:He(s),ZERO:Ze,ONE:We,create:t=>et(t,e),isValid:t=>{if("bigint"!=typeof t)throw new Error("Invalid field element: expected bigint, got "+typeof t);return Ze<=t&&t<e},is0:e=>e===Ze,isOdd:e=>(e&We)===We,neg:t=>et(-t,e),eql:(e,t)=>e===t,sqr:t=>et(t*t,e),add:(t,n)=>et(t+n,e),sub:(t,n)=>et(t-n,e),mul:(t,n)=>et(t*n,e),pow:(e,t)=>function(e,t,n){if(n<Ze)throw new Error("Expected power > 0");if(n===Ze)return e.ONE;if(n===We)return t;let r=e.ONE,s=t;for(;n>Ze;)n&We&&(r=e.mul(r,s)),s=e.sqr(s),n>>=We;return r}(l,e,t),div:(t,n)=>et(t*rt(n,e),e),sqrN:e=>e*e,addN:(e,t)=>e+t,subN:(e,t)=>e-t,mulN:(e,t)=>e*t,inv:t=>rt(t,e),sqrt:r.sqrt||(e=>i(l,e)),invertBatch:e=>function(e,t){const n=new Array(t.length),r=t.reduce((t,r,s)=>e.is0(r)?t:(n[s]=t,e.mul(t,r)),e.ONE),s=e.inv(r);return t.reduceRight((t,r,s)=>e.is0(r)?t:(n[s]=e.mul(t,n[s]),e.mul(t,r)),s),n}(l,e),cmov:(e,t,n)=>n?t:e,toBytes:e=>n?Pe(e,o):Re(e,o),fromBytes:e=>{if(e.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${e.length}`);return n?Te(e):Oe(e)}});return Object.freeze(l)}(_t,void 0,void 0,{sqrt:It}),Ct=function(e,t){const n=t=>wt({...e,...xt(t)});return Object.freeze({...n(t),create:n})}({a:BigInt(0),b:BigInt(7),Fp:St,n:$t,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{const t=$t,n=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),r=-kt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),s=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=n,i=BigInt("0x100000000000000000000000000000000"),l=Bt(o*e,t),a=Bt(-r*e,t);let c=et(e-l*n-a*s,t),u=et(-l*r-a*o,t);const d=c>i,f=u>i;if(d&&(c=t-c),f&&(u=t-u),c>i||u>i)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:d,k1:c,k2neg:f,k2:u}}}},Ae),Lt=BigInt(0),Nt=e=>"bigint"==typeof e&&Lt<e&&e<_t,Ut={};function Ot(e,...t){let n=Ut[e];if(void 0===n){const t=Ae(Uint8Array.from(e,e=>e.charCodeAt(0)));n=qe(t,t),Ut[e]=n}return Ae(qe(n,...t))}const Tt=e=>e.toRawBytes(!0).slice(1),Rt=e=>Re(e,32),Pt=e=>et(e,_t),Dt=e=>et(e,$t),qt=Ct.ProjectivePoint;function Ht(e){let t=Ct.utils.normPrivateKeyToScalar(e),n=qt.fromPrivateKey(t);return{scalar:n.hasEvenY()?t:Dt(-t),bytes:Tt(n)}}function jt(e){if(!Nt(e))throw new Error("bad x: need 0 < x < p");const t=Pt(e*e);let n=It(Pt(t*e+BigInt(7)));n%At!==Lt&&(n=Pt(-n));const r=new qt(e,n,kt);return r.assertValidity(),r}function Ft(...e){return Dt(Oe(Ot("BIP0340/challenge",...e)))}function Vt(e){return Ht(e).bytes}function zt(e,t,n=me(32)){const r=De("message",e),{bytes:s,scalar:o}=Ht(t),i=De("auxRand",n,32),l=Rt(o^Oe(Ot("BIP0340/aux",i))),a=Ot("BIP0340/nonce",l,s,r),c=Dt(Oe(a));if(c===Lt)throw new Error("sign failed: k is zero");const{bytes:u,scalar:d}=Ht(c),f=Ft(u,s,r),h=new Uint8Array(64);if(h.set(u,0),h.set(Rt(Dt(d+f*o)),32),!Kt(h,r,s))throw new Error("sign: Invalid signature produced");return h}function Kt(e,t,n){const r=De("signature",e,64),s=De("message",t),o=De("publicKey",n,32);try{const e=jt(Oe(o)),t=Oe(r.subarray(0,32));if(!Nt(t))return!1;const n=Oe(r.subarray(32,64));if(!("bigint"==typeof(c=n)&&Lt<c&&c<$t))return!1;const u=Ft(Rt(t),Tt(e),s),d=(i=e,l=n,a=Dt(-u),qt.BASE.multiplyAndAddUnsafe(i,l,a));return!(!d||!d.hasEvenY()||d.toAffine().x!==t)}catch(e){return!1}var i,l,a,c}const Mt=(()=>({getPublicKey:Vt,sign:zt,verify:Kt,utils:{randomPrivateKey:Ct.utils.randomPrivateKey,lift_x:jt,pointToBytes:Tt,numberToBytesBE:Re,bytesToNumberBE:Oe,taggedHash:Ot,mod:et}}))(),Zt=e=>e instanceof Uint8Array,Wt=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Gt=(e,t)=>e<<32-t|e>>>t; |
|
/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */if(!(68===new Uint8Array(new Uint32Array([287454020]).buffer)[0]))throw new Error("Non little-endian hardware is not supported");const Yt=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Jt(e){if(!Zt(e))throw new Error("Uint8Array expected");let t="";for(let n=0;n<e.length;n++)t+=Yt[e[n]];return t}function Qt(e){if("string"==typeof e&&(e=function(e){if("string"!=typeof e)throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array((new TextEncoder).encode(e))}(e)),!Zt(e))throw new Error("expected Uint8Array, got "+typeof e);return e}class Xt{clone(){return this._cloneInto()}}function en(e){const t=t=>e().update(Qt(t)).digest(),n=e();return t.outputLen=n.outputLen,t.blockLen=n.blockLen,t.create=()=>e(),t}function tn(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function nn(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}const rn={number:tn,bool:function(e){if("boolean"!=typeof e)throw new Error(`Expected boolean, not ${e}`)},bytes:nn,hash:function(e){if("function"!=typeof e||"function"!=typeof e.create)throw new Error("Hash should be wrapped by utils.wrapConstructor");tn(e.outputLen),tn(e.blockLen)},exists:function(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")},output:function(e,t){nn(e);const n=t.outputLen;if(e.length<n)throw new Error(`digestInto() expects output buffer of length at least ${n}`)}};class sn extends Xt{constructor(e,t,n,r){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=r,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Wt(this.buffer)}update(e){rn.exists(this);const{view:t,buffer:n,blockLen:r}=this,s=(e=Qt(e)).length;for(let o=0;o<s;){const i=Math.min(r-this.pos,s-o);if(i===r){const t=Wt(e);for(;r<=s-o;o+=r)this.process(t,o);continue}n.set(e.subarray(o,o+i),this.pos),this.pos+=i,o+=i,this.pos===r&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){rn.exists(this),rn.output(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:r,isLE:s}=this;let{pos:o}=this;t[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>r-o&&(this.process(n,0),o=0);for(let e=o;e<r;e++)t[e]=0;!function(e,t,n,r){if("function"==typeof e.setBigUint64)return e.setBigUint64(t,n,r);const s=BigInt(32),o=BigInt(4294967295),i=Number(n>>s&o),l=Number(n&o),a=r?4:0,c=r?0:4;e.setUint32(t+a,i,r),e.setUint32(t+c,l,r)}(n,r-8,BigInt(8*this.length),s),this.process(n,0);const i=Wt(e),l=this.outputLen;if(l%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const a=l/4,c=this.get();if(a>c.length)throw new Error("_sha2: outputLen bigger than state");for(let e=0;e<a;e++)i.setUint32(4*e,c[e],s)}digest(){const{buffer:e,outputLen:t}=this;this.digestInto(e);const n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());const{blockLen:t,buffer:n,length:r,finished:s,destroyed:o,pos:i}=this;return e.length=r,e.pos=i,e.finished=s,e.destroyed=o,r%t&&e.buffer.set(n),e}}const on=(e,t,n)=>e&t^~e&n,ln=(e,t,n)=>e&t^e&n^t&n,an=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),cn=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),un=new Uint32Array(64);class dn extends sn{constructor(){super(64,32,8,!1),this.A=0|cn[0],this.B=0|cn[1],this.C=0|cn[2],this.D=0|cn[3],this.E=0|cn[4],this.F=0|cn[5],this.G=0|cn[6],this.H=0|cn[7]}get(){const{A:e,B:t,C:n,D:r,E:s,F:o,G:i,H:l}=this;return[e,t,n,r,s,o,i,l]}set(e,t,n,r,s,o,i,l){this.A=0|e,this.B=0|t,this.C=0|n,this.D=0|r,this.E=0|s,this.F=0|o,this.G=0|i,this.H=0|l}process(e,t){for(let n=0;n<16;n++,t+=4)un[n]=e.getUint32(t,!1);for(let e=16;e<64;e++){const t=un[e-15],n=un[e-2],r=Gt(t,7)^Gt(t,18)^t>>>3,s=Gt(n,17)^Gt(n,19)^n>>>10;un[e]=s+un[e-7]+r+un[e-16]|0}let{A:n,B:r,C:s,D:o,E:i,F:l,G:a,H:c}=this;for(let e=0;e<64;e++){const t=c+(Gt(i,6)^Gt(i,11)^Gt(i,25))+on(i,l,a)+an[e]+un[e]|0,u=(Gt(n,2)^Gt(n,13)^Gt(n,22))+ln(n,r,s)|0;c=a,a=l,l=i,i=o+t|0,o=s,s=r,r=n,n=t+u|0}n=n+this.A|0,r=r+this.B|0,s=s+this.C|0,o=o+this.D|0,i=i+this.E|0,l=l+this.F|0,a=a+this.G|0,c=c+this.H|0,this.set(n,r,s,o,i,l,a,c)}roundClean(){un.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class fn extends dn{constructor(){super(),this.A=-1056596264,this.B=914150663,this.C=812702999,this.D=-150054599,this.E=-4191439,this.F=1750603025,this.G=1694076839,this.H=-1090891868,this.outputLen=28}}const hn=en(()=>new dn);en(()=>new fn);var pn=Symbol("verified");function gn(e){if(!(e instanceof Object))return!1;if("number"!=typeof e.kind)return!1;if("string"!=typeof e.content)return!1;if("number"!=typeof e.created_at)return!1;if("string"!=typeof e.pubkey)return!1;if(!e.pubkey.match(/^[a-f0-9]{64}$/))return!1;if(!Array.isArray(e.tags))return!1;for(let t=0;t<e.tags.length;t++){let n=e.tags[t];if(!Array.isArray(n))return!1;for(let e=0;e<n.length;e++)if("string"!=typeof n[e])return!1}return!0}new TextDecoder("utf-8");var yn=new TextEncoder;function bn(e){return Jt(hn(yn.encode(function(e){if(!gn(e))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,e.pubkey,e.created_at,e.kind,e.tags,e.content])}(e))))}var mn=new class{generateSecretKey(){return Mt.utils.randomPrivateKey()}getPublicKey(e){return Jt(Mt.getPublicKey(e))}finalizeEvent(e,t){const n=e;return n.pubkey=Jt(Mt.getPublicKey(t)),n.id=bn(n),n.sig=Jt(Mt.sign(bn(n),t)),n[pn]=!0,n}verifyEvent(e){if("boolean"==typeof e[pn])return e[pn];const t=bn(e);if(t!==e.id)return e[pn]=!1,!1;try{const n=Mt.verify(e.sig,t,e.pubkey);return e[pn]=n,n}catch(t){return e[pn]=!1,!1}}},wn=mn.generateSecretKey,vn=mn.getPublicKey,En=mn.finalizeEvent; |
|
/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */ |
|
function xn(e){if(!Number.isSafeInteger(e))throw new Error(`Wrong integer: ${e}`)}function _n(...e){const t=(e,t)=>n=>e(t(n)),n=Array.from(e).reverse().reduce((e,n)=>e?t(e,n.encode):n.encode,void 0),r=e.reduce((e,n)=>e?t(e,n.decode):n.decode,void 0);return{encode:n,decode:r}}function $n(e){return{encode:t=>{if(!Array.isArray(t)||t.length&&"number"!=typeof t[0])throw new Error("alphabet.encode input should be an array of numbers");return t.map(t=>{if(xn(t),t<0||t>=e.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${e.length})`);return e[t]})},decode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("alphabet.decode input should be array of strings");return t.map(t=>{if("string"!=typeof t)throw new Error(`alphabet.decode: not string element=${t}`);const n=e.indexOf(t);if(-1===n)throw new Error(`Unknown letter: "${t}". Allowed: ${e}`);return n})}}}function kn(e=""){if("string"!=typeof e)throw new Error("join separator should be string");return{encode:t=>{if(!Array.isArray(t)||t.length&&"string"!=typeof t[0])throw new Error("join.encode input should be array of strings");for(let e of t)if("string"!=typeof e)throw new Error(`join.encode: non-string input=${e}`);return t.join(e)},decode:t=>{if("string"!=typeof t)throw new Error("join.decode input should be string");return t.split(e)}}}function An(e,t="="){if(xn(e),"string"!=typeof t)throw new Error("padding chr should be string");return{encode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let e of n)if("string"!=typeof e)throw new Error(`padding.encode: non-string input=${e}`);for(;n.length*e%8;)n.push(t);return n},decode(n){if(!Array.isArray(n)||n.length&&"string"!=typeof n[0])throw new Error("padding.encode input should be array of strings");for(let e of n)if("string"!=typeof e)throw new Error(`padding.decode: non-string input=${e}`);let r=n.length;if(r*e%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;r>0&&n[r-1]===t;r--)if(!((r-1)*e%8))throw new Error("Invalid padding: string has too much padding");return n.slice(0,r)}}}function Bn(e){if("function"!=typeof e)throw new Error("normalize fn should be function");return{encode:e=>e,decode:t=>e(t)}}function In(e,t,n){if(t<2)throw new Error(`convertRadix: wrong from=${t}, base cannot be less than 2`);if(n<2)throw new Error(`convertRadix: wrong to=${n}, base cannot be less than 2`);if(!Array.isArray(e))throw new Error("convertRadix: data should be array");if(!e.length)return[];let r=0;const s=[],o=Array.from(e);for(o.forEach(e=>{if(xn(e),e<0||e>=t)throw new Error(`Wrong integer: ${e}`)});;){let e=0,i=!0;for(let s=r;s<o.length;s++){const l=o[s],a=t*e+l;if(!Number.isSafeInteger(a)||t*e/t!==e||a-l!==t*e)throw new Error("convertRadix: carry overflow");if(e=a%n,o[s]=Math.floor(a/n),!Number.isSafeInteger(o[s])||o[s]*n+e!==a)throw new Error("convertRadix: carry overflow");i&&(o[s]?i=!1:r=s)}if(s.push(e),i)break}for(let t=0;t<e.length-1&&0===e[t];t++)s.push(0);return s.reverse()}mn.verifyEvent;const Sn=(e,t)=>t?Sn(t,e%t):e,Cn=(e,t)=>e+(t-Sn(e,t));function Ln(e,t,n,r){if(!Array.isArray(e))throw new Error("convertRadix2: data should be array");if(t<=0||t>32)throw new Error(`convertRadix2: wrong from=${t}`);if(n<=0||n>32)throw new Error(`convertRadix2: wrong to=${n}`);if(Cn(t,n)>32)throw new Error(`convertRadix2: carry overflow from=${t} to=${n} carryBits=${Cn(t,n)}`);let s=0,o=0;const i=2**n-1,l=[];for(const r of e){if(xn(r),r>=2**t)throw new Error(`convertRadix2: invalid data word=${r} from=${t}`);if(s=s<<t|r,o+t>32)throw new Error(`convertRadix2: carry overflow pos=${o} from=${t}`);for(o+=t;o>=n;o-=n)l.push((s>>o-n&i)>>>0);s&=2**o-1}if(s=s<<n-o&i,!r&&o>=t)throw new Error("Excess padding");if(!r&&s)throw new Error(`Non-zero padding: ${s}`);return r&&o>0&&l.push(s>>>0),l}function Nn(e,t=!1){if(xn(e),e<=0||e>32)throw new Error("radix2: bits should be in (0..32]");if(Cn(8,e)>32||Cn(e,8)>32)throw new Error("radix2: carry overflow");return{encode:n=>{if(!(n instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return Ln(Array.from(n),8,e,!t)},decode:n=>{if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(Ln(n,e,8,t))}}}function Un(e){if("function"!=typeof e)throw new Error("unsafeWrapper fn should be function");return function(...t){try{return e.apply(null,t)}catch(e){}}}const On=_n(Nn(4),$n("0123456789ABCDEF"),kn("")),Tn=_n(Nn(5),$n("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),An(5),kn(""));_n(Nn(5),$n("0123456789ABCDEFGHIJKLMNOPQRSTUV"),An(5),kn("")),_n(Nn(5),$n("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),kn(""),Bn(e=>e.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const Rn=_n(Nn(6),$n("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),An(6),kn("")),Pn=_n(Nn(6),$n("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),An(6),kn("")),Dn=e=>{return _n((xn(t=58),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return In(Array.from(e),256,t)},decode:e=>{if(!Array.isArray(e)||e.length&&"number"!=typeof e[0])throw new Error("radix.decode input should be array of strings");return Uint8Array.from(In(e,t,256))}}),$n(e),kn(""));var t},qn=Dn("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");Dn("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"),Dn("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const Hn=[0,2,3,5,6,7,9,10,11],jn={encode(e){let t="";for(let n=0;n<e.length;n+=8){const r=e.subarray(n,n+8);t+=qn.encode(r).padStart(Hn[r.length],"1")}return t},decode(e){let t=[];for(let n=0;n<e.length;n+=11){const r=e.slice(n,n+11),s=Hn.indexOf(r.length),o=qn.decode(r);for(let e=0;e<o.length-s;e++)if(0!==o[e])throw new Error("base58xmr: wrong padding");t=t.concat(Array.from(o.slice(o.length-s)))}return Uint8Array.from(t)}},Fn=_n($n("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),kn("")),Vn=[996825010,642813549,513874426,1027748829,705979059];function zn(e){const t=e>>25;let n=(33554431&e)<<5;for(let e=0;e<Vn.length;e++)1==(t>>e&1)&&(n^=Vn[e]);return n}function Kn(e,t,n=1){const r=e.length;let s=1;for(let t=0;t<r;t++){const n=e.charCodeAt(t);if(n<33||n>126)throw new Error(`Invalid prefix (${e})`);s=zn(s)^n>>5}s=zn(s);for(let t=0;t<r;t++)s=zn(s)^31&e.charCodeAt(t);for(let e of t)s=zn(s)^e;for(let e=0;e<6;e++)s=zn(s);return s^=n,Fn.encode(Ln([s%2**30],30,5,!1))}function Mn(e){const t="bech32"===e?1:734539939,n=Nn(5),r=n.decode,s=n.encode,o=Un(r);function i(e,n=90){if("string"!=typeof e)throw new Error("bech32.decode input should be string, not "+typeof e);if(e.length<8||!1!==n&&e.length>n)throw new TypeError(`Wrong string length: ${e.length} (${e}). Expected (8..${n})`);const r=e.toLowerCase();if(e!==r&&e!==e.toUpperCase())throw new Error("String must be lowercase or uppercase");const s=(e=r).lastIndexOf("1");if(0===s||-1===s)throw new Error('Letter "1" must be present between prefix and data only');const o=e.slice(0,s),i=e.slice(s+1);if(i.length<6)throw new Error("Data must be at least 6 characters long");const l=Fn.decode(i).slice(0,-6),a=Kn(o,l,t);if(!i.endsWith(a))throw new Error(`Invalid checksum in ${e}: expected "${a}"`);return{prefix:o,words:l}}return{encode:function(e,n,r=90){if("string"!=typeof e)throw new Error("bech32.encode prefix should be string, not "+typeof e);if(!Array.isArray(n)||n.length&&"number"!=typeof n[0])throw new Error("bech32.encode words should be array of numbers, not "+typeof n);const s=e.length+7+n.length;if(!1!==r&&s>r)throw new TypeError(`Length ${s} exceeds limit ${r}`);return`${e=e.toLowerCase()}1${Fn.encode(n)}${Kn(e,n,t)}`},decode:i,decodeToBytes:function(e){const{prefix:t,words:n}=i(e,!1);return{prefix:t,words:n,bytes:r(n)}},decodeUnsafe:Un(i),fromWords:r,fromWordsUnsafe:o,toWords:s}}const Zn=Mn("bech32");Mn("bech32m");const Wn={utf8:{encode:e=>(new TextDecoder).decode(e),decode:e=>(new TextEncoder).encode(e)},hex:_n(Nn(4),$n("0123456789abcdef"),kn(""),Bn(e=>{if("string"!=typeof e||e.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof e} with length ${e.length}`);return e.toLowerCase()})),base16:On,base32:Tn,base64:Rn,base64url:Pn,base58:qn,base58xmr:jn};Object.keys(Wn).join(", ");var Gn=new TextDecoder("utf-8");new TextEncoder;function Yn(e){let t={},n=e;for(;n.length>0;){let e=n[0],r=n[1],s=n.slice(2,2+r);if(n=n.slice(2+r),s.length<r)throw new Error(`not enough data to read on TLV ${e}`);t[e]=t[e]||[],t[e].push(s)}return t}function Jn(e){return Qn("npub",function(e){if("string"!=typeof e)throw new Error("hex string expected, got "+typeof e);const t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);const n=new Uint8Array(t/2);for(let t=0;t<n.length;t++){const r=2*t,s=e.slice(r,r+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");n[t]=o}return n}(e))}function Qn(e,t){return function(e,t){let n=Zn.toWords(t);return Zn.encode(e,n,5e3)}(e,t)}const{window:Xn}=a;function er(e){let t,n,s,o,i,l,a,f,p,y,v,E,x,_,$,A,B,I;function S(e,t){return"extension"===e[2]?nr:tr}let C=S(e),L=C(e),N=e[5]&&sr(e),U=e[6]&&or(e);return{c(){t=h("div"),n=h("div"),s=h("div"),o=h("h2"),o.textContent="Login to Launcher Admin",i=g(),l=h("button"),l.textContent="×",a=g(),f=h("div"),p=h("div"),y=h("button"),y.textContent="Extension",v=g(),E=h("button"),E.textContent="Nsec",x=g(),_=h("div"),L.c(),$=g(),N&&N.c(),A=g(),U&&U.c(),w(o,"class","svelte-rhbu32"),w(l,"class","close-btn svelte-rhbu32"),w(s,"class","modal-header svelte-rhbu32"),w(y,"class","tab-btn svelte-rhbu32"),k(y,"active","extension"===e[2]),w(E,"class","tab-btn svelte-rhbu32"),k(E,"active","nsec"===e[2]),w(p,"class","tabs svelte-rhbu32"),w(_,"class","tab-content svelte-rhbu32"),w(f,"class","tab-container svelte-rhbu32"),w(n,"class","modal svelte-rhbu32"),k(n,"dark-theme",e[1]),w(t,"class","modal-overlay svelte-rhbu32"),w(t,"role","button"),w(t,"tabindex","0")},m(r,d){u(r,t,d),c(t,n),c(n,s),c(s,o),c(s,i),c(s,l),c(n,a),c(n,f),c(f,p),c(p,y),c(p,v),c(p,E),c(f,x),c(f,_),L.m(_,null),c(_,$),N&&N.m(_,null),c(_,A),U&&U.m(_,null),B||(I=[b(l,"click",e[8]),b(y,"click",e[16]),b(E,"click",e[17]),b(n,"click",m(e[14])),b(n,"keydown",m(e[15])),b(t,"click",e[8]),b(t,"keydown",e[19])],B=!0)},p(e,t){4&t&&k(y,"active","extension"===e[2]),4&t&&k(E,"active","nsec"===e[2]),C===(C=S(e))&&L?L.p(e,t):(L.d(1),L=C(e),L&&(L.c(),L.m(_,$))),e[5]?N?N.p(e,t):(N=sr(e),N.c(),N.m(_,A)):N&&(N.d(1),N=null),e[6]?U?U.p(e,t):(U=or(e),U.c(),U.m(_,null)):U&&(U.d(1),U=null),2&t&&k(n,"dark-theme",e[1])},d(e){e&&d(t),L.d(),N&&N.d(),U&&U.d(),B=!1,r(I)}}}function tr(e){let t,n,s,o,i,l,a,f,y,m,x,_,$,k,A=e[4]?"Logging in...":"Login with Nsec",B=e[7]&&rr(e);return{c(){t=h("div"),n=h("p"),n.textContent="Enter your nsec or generate a new key pair.",s=g(),o=h("button"),i=p("Generate New Key"),l=g(),B&&B.c(),a=g(),f=h("input"),y=g(),m=h("button"),x=p(A),w(n,"class","svelte-rhbu32"),w(o,"class","generate-btn svelte-rhbu32"),o.disabled=e[4],w(f,"type","password"),w(f,"placeholder","nsec1..."),f.disabled=e[4],w(f,"class","nsec-input svelte-rhbu32"),w(m,"class","login-btn svelte-rhbu32"),m.disabled=_=e[4]||!e[3].trim(),w(t,"class","nsec-login svelte-rhbu32")},m(r,d){u(r,t,d),c(t,n),c(t,s),c(t,o),c(o,i),c(t,l),B&&B.m(t,null),c(t,a),c(t,f),E(f,e[3]),c(t,y),c(t,m),c(m,x),$||(k=[b(o,"click",e[10]),b(f,"input",e[18]),b(m,"click",e[12])],$=!0)},p(e,n){16&n&&(o.disabled=e[4]),e[7]?B?B.p(e,n):(B=rr(e),B.c(),B.m(t,a)):B&&(B.d(1),B=null),16&n&&(f.disabled=e[4]),8&n&&f.value!==e[3]&&E(f,e[3]),16&n&&A!==(A=e[4]?"Logging in...":"Login with Nsec")&&v(x,A),24&n&&_!==(_=e[4]||!e[3].trim())&&(m.disabled=_)},d(e){e&&d(t),B&&B.d(),$=!1,r(k)}}}function nr(e){let t,n,r,s,o,i,l,a=e[4]?"Connecting...":"Login with Extension";return{c(){t=h("div"),n=h("p"),n.textContent="Login using a NIP-07 browser extension like nos2x or Alby.",r=g(),s=h("button"),o=p(a),w(n,"class","svelte-rhbu32"),w(s,"class","login-btn svelte-rhbu32"),s.disabled=e[4],w(t,"class","extension-login svelte-rhbu32")},m(a,d){u(a,t,d),c(t,n),c(t,r),c(t,s),c(s,o),i||(l=b(s,"click",e[11]),i=!0)},p(e,t){16&t&&a!==(a=e[4]?"Connecting...":"Login with Extension")&&v(o,a),16&t&&(s.disabled=e[4])},d(e){e&&d(t),i=!1,l()}}}function rr(e){let t,n,r,s,o;return{c(){t=h("div"),n=h("label"),n.textContent="Your new public key (npub):",r=g(),s=h("code"),o=p(e[7]),w(n,"class","svelte-rhbu32"),w(s,"class","svelte-rhbu32"),w(t,"class","generated-info svelte-rhbu32")},m(e,i){u(e,t,i),c(t,n),c(t,r),c(t,s),c(s,o)},p(e,t){128&t&&v(o,e[7])},d(e){e&&d(t)}}}function sr(e){let t,n;return{c(){t=h("div"),n=p(e[5]),w(t,"class","message error-message svelte-rhbu32")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t&&v(n,e[5])},d(e){e&&d(t)}}}function or(e){let t,n;return{c(){t=h("div"),n=p(e[6]),w(t,"class","message success-message svelte-rhbu32")},m(e,r){u(e,t,r),c(t,n)},p(e,t){64&t&&v(n,e[6])},d(e){e&&d(t)}}}function ir(t){let n,r,s,o=t[0]&&er(t);return{c(){o&&o.c(),n=y()},m(e,i){o&&o.m(e,i),u(e,n,i),r||(s=b(Xn,"keydown",t[13]),r=!0)},p(e,[t]){e[0]?o?o.p(e,t):(o=er(e),o.c(),o.m(n.parentNode,n)):o&&(o.d(1),o=null)},i:e,o:e,d(e){e&&d(n),o&&o.d(e),r=!1,s()}}}function lr(e,t,n){const r=C();let{showModal:s=!1}=t,{isDarkTheme:o=!1}=t,i="extension",l="",a=!1,c="",u="",d="",f="";function h(){n(0,s=!1),n(3,l=""),n(5,c=""),n(6,u=""),d="",n(7,f=""),r("close")}function p(e){n(2,i=e),n(5,c=""),n(6,u=""),d="",n(7,f="")}async function g(){n(4,a=!0),n(5,c=""),n(6,u="");try{if(!l.trim())throw new Error("Please enter your nsec");const e=l.trim();let t;try{t=function(e){let{prefix:t,words:n}=Zn.decode(e,5e3),r=new Uint8Array(Zn.fromWords(n));switch(t){case"nprofile":{let e=Yn(r);if(!e[0]?.[0])throw new Error("missing TLV 0 for nprofile");if(32!==e[0][0].length)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:Jt(e[0][0]),relays:e[1]?e[1].map(e=>Gn.decode(e)):[]}}}case"nevent":{let e=Yn(r);if(!e[0]?.[0])throw new Error("missing TLV 0 for nevent");if(32!==e[0][0].length)throw new Error("TLV 0 should be 32 bytes");if(e[2]&&32!==e[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(e[3]&&4!==e[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:Jt(e[0][0]),relays:e[1]?e[1].map(e=>Gn.decode(e)):[],author:e[2]?.[0]?Jt(e[2][0]):void 0,kind:e[3]?.[0]?parseInt(Jt(e[3][0]),16):void 0}}}case"naddr":{let e=Yn(r);if(!e[0]?.[0])throw new Error("missing TLV 0 for naddr");if(!e[2]?.[0])throw new Error("missing TLV 2 for naddr");if(32!==e[2][0].length)throw new Error("TLV 2 should be 32 bytes");if(!e[3]?.[0])throw new Error("missing TLV 3 for naddr");if(4!==e[3][0].length)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:Gn.decode(e[0][0]),pubkey:Jt(e[2][0]),kind:parseInt(Jt(e[3][0]),16),relays:e[1]?e[1].map(e=>Gn.decode(e)):[]}}}case"nsec":return{type:t,data:r};case"npub":case"note":return{type:t,data:Jt(r)};default:throw new Error(`unknown prefix ${t}`)}}(e)}catch{throw new Error("Invalid nsec format")}if("nsec"!==t.type)throw new Error("Please enter an nsec (private key)");const s=t.data,o=vn(s),i={getPublicKey:async()=>o,signEvent:async e=>En(e,s)};n(6,u="Successfully logged in!"),r("login",{method:"nsec",pubkey:o,privateKey:e,signer:i}),setTimeout(h,500)}catch(e){n(5,c=e.message)}finally{n(4,a=!1)}}return e.$$set=e=>{"showModal"in e&&n(0,s=e.showModal),"isDarkTheme"in e&&n(1,o=e.isDarkTheme)},[s,o,i,l,a,c,u,f,h,p,async function(){n(5,c=""),n(6,u="");try{const e=wn(),t=Qn("nsec",e),r=Jn(vn(e));d=t,n(7,f=r),n(3,l=t),n(6,u="New key generated!")}catch(e){n(5,c="Failed to generate key: "+e.message)}},async function(){n(4,a=!0),n(5,c=""),n(6,u="");try{if(!window.nostr)throw new Error("No Nostr extension found. Please install nos2x or Alby.");const e=await window.nostr.getPublicKey();e&&(n(6,u="Successfully logged in with extension!"),r("login",{method:"extension",pubkey:e,signer:window.nostr}),setTimeout(h,500))}catch(e){n(5,c=e.message)}finally{n(4,a=!1)}},g,function(e){"Escape"===e.key&&h(),"Enter"===e.key&&"nsec"===i&&g()},function(t){L.call(this,e,t)},function(t){L.call(this,e,t)},()=>p("extension"),()=>p("nsec"),function(){l=this.value,n(3,l)},e=>"Escape"===e.key&&h()]}class ar extends te{constructor(e){super(),ee(this,e,lr,ir,o,{showModal:0,isDarkTheme:1})}}const cr=[];function ur(t,n=e){let r;const s=new Set;function i(e){if(o(t,e)&&(t=e,r)){const e=!cr.length;for(const e of s)e[1](),cr.push(e,t);if(e){for(let e=0;e<cr.length;e+=2)cr[e][0](cr[e+1]);cr.length=0}}}function l(e){i(e(t))}return{set:i,update:l,subscribe:function(o,a=e){const c=[o,a];return s.add(c),1===s.size&&(r=n(i,l)||e),o(t),()=>{s.delete(c),0===s.size&&r&&(r(),r=null)}}}}const dr=ur(!1),fr=ur(""),hr=ur(null),pr=ur(""),gr=ur(null),yr=ur(null),br=ur(null),mr=ur(!1),wr=ur("");async function vr(e,t={},n,r){const s=`${window.location.origin}${e}`,o=t.method||"GET",i=await async function(e,t,n,r){if(!e||!t)return null;try{const t={kind:27235,created_at:Math.floor(Date.now()/1e3),tags:[["u",r],["method",n.toUpperCase()]],content:""},s=await e.signEvent(t),o=JSON.stringify(s);return btoa(o).replace(/\+/g,"-").replace(/\//g,"_")}catch(e){return console.error("createNIP98Auth error:",e),null}}(n,r,o,s),l={...t.headers};return i&&(l.Authorization=`Nostr ${i}`),fetch(s,{...t,headers:l})}async function Er(e,t){const n=await vr("/api/restart",{method:"POST"},e,t);if(!n.ok)throw new Error(`Restart failed: ${n.statusText}`);return n.json()}function xr(e){let t,n,r,s,o,i=e[0].pid+"";return{c(){t=h("div"),n=h("span"),n.textContent="PID:",r=g(),s=h("span"),o=p(i),w(n,"class","label svelte-xh5u5u"),w(s,"class","value svelte-xh5u5u"),w(t,"class","detail-row svelte-xh5u5u")},m(e,i){u(e,t,i),c(t,n),c(t,r),c(t,s),c(s,o)},p(e,t){1&t&&i!==(i=e[0].pid+"")&&v(o,i)},d(e){e&&d(t)}}}function _r(e){let t,n,r,s,o,i=e[0].restarts+"";return{c(){t=h("div"),n=h("span"),n.textContent="Restarts:",r=g(),s=h("span"),o=p(i),w(n,"class","label svelte-xh5u5u"),w(s,"class","value warning svelte-xh5u5u"),w(t,"class","detail-row svelte-xh5u5u")},m(e,i){u(e,t,i),c(t,n),c(t,r),c(t,s),c(s,o)},p(e,t){1&t&&i!==(i=e[0].restarts+"")&&v(o,i)},d(e){e&&d(t)}}}function $r(t){let n,r,s,o,i,l,a,f,y,b,m,E,_,$,k,A,B,I,S,C,L,N,U=Ar(t[0].status)+"",O=t[0].name+"",T=t[0].status+"",R=t[0].binary+"",P=t[0].pid>0&&xr(t),D=t[0].restarts>0&&_r(t);return{c(){n=h("div"),r=h("div"),s=h("span"),o=p(U),i=g(),l=h("span"),a=p(O),f=g(),y=h("div"),b=h("div"),m=h("span"),m.textContent="Status:",E=g(),_=h("span"),$=p(T),k=g(),P&&P.c(),A=g(),B=h("div"),I=h("span"),I.textContent="Binary:",S=g(),C=h("span"),L=p(R),N=g(),D&&D.c(),w(s,"class","status-indicator svelte-xh5u5u"),x(s,"color",kr(t[0].status)),w(l,"class","process-name svelte-xh5u5u"),w(r,"class","process-header svelte-xh5u5u"),w(m,"class","label svelte-xh5u5u"),w(_,"class","value svelte-xh5u5u"),x(_,"color",kr(t[0].status)),w(b,"class","detail-row svelte-xh5u5u"),w(I,"class","label svelte-xh5u5u"),w(C,"class","value binary svelte-xh5u5u"),w(B,"class","detail-row svelte-xh5u5u"),w(y,"class","process-details svelte-xh5u5u"),w(n,"class","process-card svelte-xh5u5u")},m(e,t){u(e,n,t),c(n,r),c(r,s),c(s,o),c(r,i),c(r,l),c(l,a),c(n,f),c(n,y),c(y,b),c(b,m),c(b,E),c(b,_),c(_,$),c(y,k),P&&P.m(y,null),c(y,A),c(y,B),c(B,I),c(B,S),c(B,C),c(C,L),c(y,N),D&&D.m(y,null)},p(e,[t]){1&t&&U!==(U=Ar(e[0].status)+"")&&v(o,U),1&t&&x(s,"color",kr(e[0].status)),1&t&&O!==(O=e[0].name+"")&&v(a,O),1&t&&T!==(T=e[0].status+"")&&v($,T),1&t&&x(_,"color",kr(e[0].status)),e[0].pid>0?P?P.p(e,t):(P=xr(e),P.c(),P.m(y,A)):P&&(P.d(1),P=null),1&t&&R!==(R=e[0].binary+"")&&v(L,R),e[0].restarts>0?D?D.p(e,t):(D=_r(e),D.c(),D.m(y,null)):D&&(D.d(1),D=null)},i:e,o:e,d(e){e&&d(n),P&&P.d(),D&&D.d()}}}function kr(e){switch(e){case"running":return"var(--success)";case"stopped":default:return"var(--muted-color)";case"crashed":return"var(--error)"}}function Ar(e){switch(e){case"running":return"●";case"stopped":return"○";case"crashed":return"✗";default:return"?"}}function Br(e,t,n){let{process:r}=t;return e.$$set=e=>{"process"in e&&n(0,r=e.process)},[r]}class Ir extends te{constructor(e){super(),ee(this,e,Br,$r,o,{process:0})}}function Sr(e,t,n){const r=e.slice();return r[8]=t[n],r}function Cr(e){let t,n;return{c(){t=h("div"),n=p(e[1]),w(t,"class","error-banner svelte-17dya06")},m(e,r){u(e,t,r),c(t,n)},p(e,t){2&t&&v(n,e[1])},d(e){e&&d(t)}}}function Lr(t){let n;return{c(){n=h("div"),n.textContent="Loading status...",w(n,"class","loading svelte-17dya06")},m(e,t){u(e,n,t)},p:e,i:e,o:e,d(e){e&&d(n)}}}function Nr(e){let t,n,r,s,o,i,l,a,y,b,m,E,x,_,$,k,A,B,I,S,C,L,N,U=e[2].version+"",O=e[2].uptime+"",T=(e[2].processes?.length||0)+"",R=G(e[2].processes||[]),P=[];for(let t=0;t<R.length;t+=1)P[t]=Ur(Sr(e,R,t));const D=e=>W(P[e],1,1,()=>{P[e]=null});return{c(){t=h("div"),n=h("div"),r=h("span"),r.textContent="Version",s=g(),o=h("span"),i=p(U),l=g(),a=h("div"),y=h("span"),y.textContent="Uptime",b=g(),m=h("span"),E=p(O),x=g(),_=h("div"),$=h("span"),$.textContent="Processes",k=g(),A=h("span"),B=p(T),I=g(),S=h("h3"),S.textContent="Managed Processes",C=g(),L=h("div");for(let e=0;e<P.length;e+=1)P[e].c();w(r,"class","label svelte-17dya06"),w(o,"class","value svelte-17dya06"),w(n,"class","summary-card svelte-17dya06"),w(y,"class","label svelte-17dya06"),w(m,"class","value svelte-17dya06"),w(a,"class","summary-card svelte-17dya06"),w($,"class","label svelte-17dya06"),w(A,"class","value svelte-17dya06"),w(_,"class","summary-card svelte-17dya06"),w(t,"class","status-summary svelte-17dya06"),w(S,"class","svelte-17dya06"),w(L,"class","processes-grid svelte-17dya06")},m(e,d){u(e,t,d),c(t,n),c(n,r),c(n,s),c(n,o),c(o,i),c(t,l),c(t,a),c(a,y),c(a,b),c(a,m),c(m,E),c(t,x),c(t,_),c(_,$),c(_,k),c(_,A),c(A,B),u(e,I,d),u(e,S,d),u(e,C,d),u(e,L,d);for(let e=0;e<P.length;e+=1)P[e]&&P[e].m(L,null);N=!0},p(e,t){if((!N||4&t)&&U!==(U=e[2].version+"")&&v(i,U),(!N||4&t)&&O!==(O=e[2].uptime+"")&&v(E,O),(!N||4&t)&&T!==(T=(e[2].processes?.length||0)+"")&&v(B,T),4&t){let n;for(R=G(e[2].processes||[]),n=0;n<R.length;n+=1){const r=Sr(e,R,n);P[n]?(P[n].p(r,t),Z(P[n],1)):(P[n]=Ur(r),P[n].c(),Z(P[n],1),P[n].m(L,null))}for(K(),n=R.length;n<P.length;n+=1)D(n);M()}},i(e){if(!N){for(let e=0;e<R.length;e+=1)Z(P[e]);N=!0}},o(e){P=P.filter(Boolean);for(let e=0;e<P.length;e+=1)W(P[e]);N=!1},d(e){e&&(d(t),d(I),d(S),d(C),d(L)),f(P,e)}}}function Ur(e){let t,n;return t=new Ir({props:{process:e[8]}}),{c(){Y(t.$$.fragment)},m(e,r){J(t,e,r),n=!0},p(e,n){const r={};4&n&&(r.process=e[8]),t.$set(r)},i(e){n||(Z(t.$$.fragment,e),n=!0)},o(e){W(t.$$.fragment,e),n=!1},d(e){Q(t,e)}}}function Or(e){let t,n,s,o,i,l,a,f,y,m,v,E,x,_,$,k,A,B=e[1]&&Cr(e);const I=[Nr,Lr],S=[];function C(e,t){return e[2]?0:e[1]?-1:1}return~(x=C(e))&&(_=S[x]=I[x](e)),{c(){t=h("div"),n=h("div"),s=h("h2"),s.textContent="Dashboard",o=g(),i=h("div"),l=h("button"),a=p("Refresh"),f=g(),y=h("button"),m=p("Restart All"),v=g(),B&&B.c(),E=g(),_&&_.c(),w(s,"class","svelte-17dya06"),w(l,"class","refresh-btn svelte-17dya06"),l.disabled=e[0],w(y,"class","restart-btn svelte-17dya06"),y.disabled=e[0],w(i,"class","actions svelte-17dya06"),w(n,"class","page-header svelte-17dya06"),w(t,"class","dashboard svelte-17dya06")},m(r,d){u(r,t,d),c(t,n),c(n,s),c(n,o),c(n,i),c(i,l),c(l,a),c(i,f),c(i,y),c(y,m),c(t,v),B&&B.m(t,null),c(t,E),~x&&S[x].m(t,null),$=!0,k||(A=[b(l,"click",e[3]),b(y,"click",e[4])],k=!0)},p(e,[n]){(!$||1&n)&&(l.disabled=e[0]),(!$||1&n)&&(y.disabled=e[0]),e[1]?B?B.p(e,n):(B=Cr(e),B.c(),B.m(t,E)):B&&(B.d(1),B=null);let r=x;x=C(e),x===r?~x&&S[x].p(e,n):(_&&(K(),W(S[r],1,1,()=>{S[r]=null}),M()),~x?(_=S[x],_?_.p(e,n):(_=S[x]=I[x](e),_.c()),Z(_,1),_.m(t,null)):_=null)},i(e){$||(Z(_),$=!0)},o(e){W(_),$=!1},d(e){e&&d(t),B&&B.d(),~x&&S[x].d(),k=!1,r(A)}}}function Tr(e,t,n){let r,s,o,a,c,u;var d;async function f(){try{l(gr,c=await async function(e,t){const n=await vr("/api/status",{},e,t);if(!n.ok)throw new Error(`Failed to fetch status: ${n.statusText}`);return n.json()}(a,o),c),l(wr,s="",s)}catch(e){l(wr,s=e.message,s)}}return i(e,mr,e=>n(0,r=e)),i(e,wr,e=>n(1,s=e)),i(e,fr,e=>n(6,o=e)),i(e,hr,e=>n(7,a=e)),i(e,gr,e=>n(2,c=e)),S(async()=>{await f(),u=setInterval(f,5e3)}),d=()=>{u&&clearInterval(u)},I().$$.on_destroy.push(d),[r,s,c,f,async function(){if(confirm("Are you sure you want to restart all services?")){l(mr,r=!0,r);try{await Er(a,o),setTimeout(f,2e3)}catch(e){l(wr,s=e.message,s)}finally{l(mr,r=!1,r)}}}]}class Rr extends te{constructor(e){super(),ee(this,e,Tr,Or,o,{})}}function Pr(e,t,n){const r=e.slice();return r[33]=t[n],r[35]=n,r}function Dr(e){let t,n,s,o,i,l,a,f;return{c(){t=h("button"),n=p("Refresh"),s=g(),o=h("button"),i=p("Edit"),w(t,"class","refresh-btn svelte-my2rpu"),t.disabled=e[6],w(o,"class","edit-btn svelte-my2rpu"),o.disabled=l=e[6]||!e[5]},m(r,l){u(r,t,l),c(t,n),u(r,s,l),u(r,o,l),c(o,i),a||(f=[b(t,"click",e[8]),b(o,"click",e[9])],a=!0)},p(e,n){64&n[0]&&(t.disabled=e[6]),96&n[0]&&l!==(l=e[6]||!e[5])&&(o.disabled=l)},d(e){e&&(d(t),d(s),d(o)),a=!1,r(f)}}}function qr(e){let t,n,s,o,i,l,a,f=e[4]?"Saving...":"Save";return{c(){t=h("button"),n=p("Cancel"),s=g(),o=h("button"),i=p(f),w(t,"class","cancel-btn svelte-my2rpu"),t.disabled=e[4],w(o,"class","save-btn svelte-my2rpu"),o.disabled=e[4]},m(r,d){u(r,t,d),c(t,n),u(r,s,d),u(r,o,d),c(o,i),l||(a=[b(t,"click",e[10]),b(o,"click",e[11])],l=!0)},p(e,n){16&n[0]&&(t.disabled=e[4]),16&n[0]&&f!==(f=e[4]?"Saving...":"Save")&&v(i,f),16&n[0]&&(o.disabled=e[4])},d(e){e&&(d(t),d(s),d(o)),l=!1,r(a)}}}function Hr(e){let t,n;return{c(){t=h("div"),n=p(e[7]),w(t,"class","error-banner svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){128&t[0]&&v(n,e[7])},d(e){e&&d(t)}}}function jr(e){let t,n,r,s=e[3]&&e[2].includes("Restart required"),o=s&&Fr(e);return{c(){t=h("div"),n=p(e[2]),r=g(),o&&o.c(),w(t,"class","message-banner svelte-my2rpu"),k(t,"success",e[3]),k(t,"error",!e[3])},m(e,s){u(e,t,s),c(t,n),c(t,r),o&&o.m(t,null)},p(e,r){4&r[0]&&v(n,e[2]),12&r[0]&&(s=e[3]&&e[2].includes("Restart required")),s?o?o.p(e,r):(o=Fr(e),o.c(),o.m(t,null)):o&&(o.d(1),o=null),8&r[0]&&k(t,"success",e[3]),8&r[0]&&k(t,"error",!e[3])},d(e){e&&d(t),o&&o.d()}}}function Fr(t){let n,r,s;return{c(){n=h("button"),n.textContent="Restart Now",w(n,"class","restart-btn-inline svelte-my2rpu")},m(e,o){u(e,n,o),r||(s=b(n,"click",t[12]),r=!0)},p:e,d(e){e&&d(n),r=!1,s()}}}function Vr(t){let n;return{c(){n=h("div"),n.textContent="Loading configuration...",w(n,"class","loading svelte-my2rpu")},m(e,t){u(e,n,t)},p:e,d(e){e&&d(n)}}}function zr(e){let t,n,r,s,o,i,l,a,b,m,v,E,x,_,$,k,A,B,I,S,C,L,N,U,O,T,R,P,D,q,H,j,F,V,z,K,M,Z,W,Y,J,Q,X,ee,te,ne,re,se,oe,ie,le,ae,ce,ue,de,fe,he,pe,ge,ye,be,me,we,ve,Ee,xe,_e,$e,ke,Ae,Be,Ie,Se,Ce,Le,Ne,Ue,Oe,Te,Re,Pe,De,qe,He,je,Fe,Ve,ze;function Ke(e,t){return e[0]?Mr:Kr}let Me=Ke(e),Ze=Me(e);function We(e,t){return e[0]?Wr:Zr}let Ge=We(e),Ye=Ge(e);function Je(e,t){return e[0]?Yr:Gr}let Qe=Je(e),Xe=Qe(e);function et(e,t){return e[0]?Qr:Jr}let tt=et(e),nt=tt(e);function rt(e,t){return e[0]?es:Xr}let st=rt(e),ot=st(e);function it(e,t){return e[0]?ns:ts}let lt=it(e),at=lt(e);function ct(e,t){return e[0]?ss:rs}let ut=ct(e),dt=ut(e);function ft(e,t){return e[0]?is:os}let ht=ft(e),pt=ht(e);function gt(e,t){return e[0]?as:ls}let yt=gt(e),bt=yt(e);function mt(e,t){return e[0]?us:cs}let wt=mt(e),vt=wt(e);function Et(e,t){return e[0]?fs:ds}let xt=Et(e),_t=xt(e);function $t(e,t){return e[0]?ps:hs}let kt=$t(e),At=kt(e);function Bt(e,t){return e[0]?ys:gs}let It=Bt(e),St=It(e);function Ct(e,t){return e[0]?ms:bs}let Lt=Ct(e),Nt=Lt(e);function Ut(e,t){return e[0]?vs:ws}let Ot=Ut(e),Tt=Ot(e),Rt=e[0]&&Es(e),Pt=G((e[0]?e[1].admin_owners:e[5].admin_owners)||[]),Dt=[];for(let t=0;t<Pt.length;t+=1)Dt[t]=$s(Pr(e,Pt,t));let qt=null;Pt.length||(qt=xs());let Ht=!e[0]&&ks(e);return{c(){t=h("div"),n=h("section"),r=h("h3"),r.textContent="Database",s=g(),o=h("div"),i=h("div"),l=h("label"),l.textContent="Backend",a=g(),Ze.c(),b=g(),m=h("div"),v=h("label"),v.textContent="Binary",E=g(),Ye.c(),x=g(),_=h("div"),$=h("label"),$.textContent="Listen Address",k=g(),Xe.c(),A=g(),B=h("div"),I=h("label"),I.textContent="Data Directory",S=g(),nt.c(),C=g(),L=h("section"),N=h("h3"),N.textContent="ACL",U=g(),O=h("div"),T=h("div"),R=h("label"),R.textContent="Enabled",P=g(),ot.c(),D=g(),q=h("div"),H=h("label"),H.textContent="Mode",j=g(),at.c(),F=g(),V=h("div"),z=h("label"),z.textContent="Binary",K=g(),dt.c(),M=g(),Z=h("div"),W=h("label"),W.textContent="Listen Address",Y=g(),pt.c(),J=g(),Q=h("section"),X=h("h3"),X.textContent="Relay",ee=g(),te=h("div"),ne=h("div"),re=h("label"),re.textContent="Binary",se=g(),bt.c(),oe=g(),ie=h("div"),le=h("label"),le.textContent="Log Level",ae=g(),vt.c(),ce=g(),ue=h("section"),de=h("h3"),de.textContent="Sync Services",fe=g(),he=h("div"),pe=h("div"),ge=h("label"),ge.textContent="Distributed Sync",ye=g(),_t.c(),be=g(),me=h("div"),we=h("label"),we.textContent="Cluster Sync",ve=g(),At.c(),Ee=g(),xe=h("div"),_e=h("label"),_e.textContent="Relay Group",$e=g(),St.c(),ke=g(),Ae=h("div"),Be=h("label"),Be.textContent="Negentropy",Ie=g(),Nt.c(),Se=g(),Ce=h("section"),Le=h("h3"),Le.textContent="Admin",Ne=g(),Ue=h("div"),Oe=h("div"),Te=h("label"),Te.textContent="Binary Directory",Re=g(),Tt.c(),Pe=g(),De=h("div"),qe=h("label"),He=p("Admin Owners\n "),Rt&&Rt.c(),je=g(),Fe=h("div");for(let e=0;e<Dt.length;e+=1)Dt[e].c();qt&&qt.c(),Ve=g(),Ht&&Ht.c(),ze=y(),w(r,"class","svelte-my2rpu"),w(l,"class","label svelte-my2rpu"),w(i,"class","config-item svelte-my2rpu"),w(v,"class","label svelte-my2rpu"),w(m,"class","config-item svelte-my2rpu"),w($,"class","label svelte-my2rpu"),w(_,"class","config-item svelte-my2rpu"),w(I,"class","label svelte-my2rpu"),w(B,"class","config-item svelte-my2rpu"),w(o,"class","config-grid svelte-my2rpu"),w(n,"class","config-section svelte-my2rpu"),w(N,"class","svelte-my2rpu"),w(R,"class","label svelte-my2rpu"),w(T,"class","config-item svelte-my2rpu"),w(H,"class","label svelte-my2rpu"),w(q,"class","config-item svelte-my2rpu"),w(z,"class","label svelte-my2rpu"),w(V,"class","config-item svelte-my2rpu"),w(W,"class","label svelte-my2rpu"),w(Z,"class","config-item svelte-my2rpu"),w(O,"class","config-grid svelte-my2rpu"),w(L,"class","config-section svelte-my2rpu"),w(X,"class","svelte-my2rpu"),w(re,"class","label svelte-my2rpu"),w(ne,"class","config-item svelte-my2rpu"),w(le,"class","label svelte-my2rpu"),w(ie,"class","config-item svelte-my2rpu"),w(te,"class","config-grid svelte-my2rpu"),w(Q,"class","config-section svelte-my2rpu"),w(de,"class","svelte-my2rpu"),w(ge,"class","label svelte-my2rpu"),w(pe,"class","config-item svelte-my2rpu"),w(we,"class","label svelte-my2rpu"),w(me,"class","config-item svelte-my2rpu"),w(_e,"class","label svelte-my2rpu"),w(xe,"class","config-item svelte-my2rpu"),w(Be,"class","label svelte-my2rpu"),w(Ae,"class","config-item svelte-my2rpu"),w(he,"class","config-grid svelte-my2rpu"),w(ue,"class","config-section svelte-my2rpu"),w(Le,"class","svelte-my2rpu"),w(Te,"class","label svelte-my2rpu"),w(Oe,"class","config-item svelte-my2rpu"),w(qe,"class","label svelte-my2rpu"),w(Fe,"class","owners-list svelte-my2rpu"),w(De,"class","config-item full-width svelte-my2rpu"),w(Ue,"class","config-grid svelte-my2rpu"),w(Ce,"class","config-section svelte-my2rpu"),w(t,"class","config-sections svelte-my2rpu")},m(e,d){u(e,t,d),c(t,n),c(n,r),c(n,s),c(n,o),c(o,i),c(i,l),c(i,a),Ze.m(i,null),c(o,b),c(o,m),c(m,v),c(m,E),Ye.m(m,null),c(o,x),c(o,_),c(_,$),c(_,k),Xe.m(_,null),c(o,A),c(o,B),c(B,I),c(B,S),nt.m(B,null),c(t,C),c(t,L),c(L,N),c(L,U),c(L,O),c(O,T),c(T,R),c(T,P),ot.m(T,null),c(O,D),c(O,q),c(q,H),c(q,j),at.m(q,null),c(O,F),c(O,V),c(V,z),c(V,K),dt.m(V,null),c(O,M),c(O,Z),c(Z,W),c(Z,Y),pt.m(Z,null),c(t,J),c(t,Q),c(Q,X),c(Q,ee),c(Q,te),c(te,ne),c(ne,re),c(ne,se),bt.m(ne,null),c(te,oe),c(te,ie),c(ie,le),c(ie,ae),vt.m(ie,null),c(t,ce),c(t,ue),c(ue,de),c(ue,fe),c(ue,he),c(he,pe),c(pe,ge),c(pe,ye),_t.m(pe,null),c(he,be),c(he,me),c(me,we),c(me,ve),At.m(me,null),c(he,Ee),c(he,xe),c(xe,_e),c(xe,$e),St.m(xe,null),c(he,ke),c(he,Ae),c(Ae,Be),c(Ae,Ie),Nt.m(Ae,null),c(t,Se),c(t,Ce),c(Ce,Le),c(Ce,Ne),c(Ce,Ue),c(Ue,Oe),c(Oe,Te),c(Oe,Re),Tt.m(Oe,null),c(Ue,Pe),c(Ue,De),c(De,qe),c(qe,He),Rt&&Rt.m(qe,null),c(De,je),c(De,Fe);for(let e=0;e<Dt.length;e+=1)Dt[e]&&Dt[e].m(Fe,null);qt&&qt.m(Fe,null),u(e,Ve,d),Ht&&Ht.m(e,d),u(e,ze,d)},p(e,t){if(Me===(Me=Ke(e))&&Ze?Ze.p(e,t):(Ze.d(1),Ze=Me(e),Ze&&(Ze.c(),Ze.m(i,null))),Ge===(Ge=We(e))&&Ye?Ye.p(e,t):(Ye.d(1),Ye=Ge(e),Ye&&(Ye.c(),Ye.m(m,null))),Qe===(Qe=Je(e))&&Xe?Xe.p(e,t):(Xe.d(1),Xe=Qe(e),Xe&&(Xe.c(),Xe.m(_,null))),tt===(tt=et(e))&&nt?nt.p(e,t):(nt.d(1),nt=tt(e),nt&&(nt.c(),nt.m(B,null))),st===(st=rt(e))&&ot?ot.p(e,t):(ot.d(1),ot=st(e),ot&&(ot.c(),ot.m(T,null))),lt===(lt=it(e))&&at?at.p(e,t):(at.d(1),at=lt(e),at&&(at.c(),at.m(q,null))),ut===(ut=ct(e))&&dt?dt.p(e,t):(dt.d(1),dt=ut(e),dt&&(dt.c(),dt.m(V,null))),ht===(ht=ft(e))&&pt?pt.p(e,t):(pt.d(1),pt=ht(e),pt&&(pt.c(),pt.m(Z,null))),yt===(yt=gt(e))&&bt?bt.p(e,t):(bt.d(1),bt=yt(e),bt&&(bt.c(),bt.m(ne,null))),wt===(wt=mt(e))&&vt?vt.p(e,t):(vt.d(1),vt=wt(e),vt&&(vt.c(),vt.m(ie,null))),xt===(xt=Et(e))&&_t?_t.p(e,t):(_t.d(1),_t=xt(e),_t&&(_t.c(),_t.m(pe,null))),kt===(kt=$t(e))&&At?At.p(e,t):(At.d(1),At=kt(e),At&&(At.c(),At.m(me,null))),It===(It=Bt(e))&&St?St.p(e,t):(St.d(1),St=It(e),St&&(St.c(),St.m(xe,null))),Lt===(Lt=Ct(e))&&Nt?Nt.p(e,t):(Nt.d(1),Nt=Lt(e),Nt&&(Nt.c(),Nt.m(Ae,null))),Ot===(Ot=Ut(e))&&Tt?Tt.p(e,t):(Tt.d(1),Tt=Ot(e),Tt&&(Tt.c(),Tt.m(Oe,null))),e[0]?Rt?Rt.p(e,t):(Rt=Es(e),Rt.c(),Rt.m(qe,null)):Rt&&(Rt.d(1),Rt=null),16419&t[0]){let n;for(Pt=G((e[0]?e[1].admin_owners:e[5].admin_owners)||[]),n=0;n<Pt.length;n+=1){const r=Pr(e,Pt,n);Dt[n]?Dt[n].p(r,t):(Dt[n]=$s(r),Dt[n].c(),Dt[n].m(Fe,null))}for(;n<Dt.length;n+=1)Dt[n].d(1);Dt.length=Pt.length,!Pt.length&&qt?qt.p(e,t):Pt.length?qt&&(qt.d(1),qt=null):(qt=xs(),qt.c(),qt.m(Fe,null))}e[0]?Ht&&(Ht.d(1),Ht=null):Ht?Ht.p(e,t):(Ht=ks(e),Ht.c(),Ht.m(ze.parentNode,ze))},d(e){e&&(d(t),d(Ve),d(ze)),Ze.d(),Ye.d(),Xe.d(),nt.d(),ot.d(),at.d(),dt.d(),pt.d(),bt.d(),vt.d(),_t.d(),At.d(),St.d(),Nt.d(),Tt.d(),Rt&&Rt.d(),f(Dt,e),qt&&qt.d(),Ht&&Ht.d(e)}}}function Kr(e){let t,n,r=e[5].db_backend+"";return{c(){t=h("span"),n=p(r),w(t,"class","value svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].db_backend+"")&&v(n,r)},d(e){e&&d(t)}}}function Mr(e){let t,n,r,s,o;return{c(){t=h("select"),n=h("option"),n.textContent="Badger",r=h("option"),r.textContent="Neo4j",n.__value="badger",E(n,n.__value),r.__value="neo4j",E(r,r.__value),w(t,"class","svelte-my2rpu"),void 0===e[1].db_backend&&D(()=>e[15].call(t))},m(i,l){u(i,t,l),c(t,n),c(t,r),_(t,e[1].db_backend,!0),s||(o=b(t,"change",e[15]),s=!0)},p(e,n){2&n[0]&&_(t,e[1].db_backend)},d(e){e&&d(t),s=!1,o()}}}function Zr(e){let t,n,r=e[5].db_binary+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].db_binary+"")&&v(n,r)},d(e){e&&d(t)}}}function Wr(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"placeholder","orly-db-badger"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].db_binary),n||(r=b(t,"input",e[16]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].db_binary&&E(t,e[1].db_binary)},d(e){e&&d(t),n=!1,r()}}}function Gr(e){let t,n,r=e[5].db_listen+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].db_listen+"")&&v(n,r)},d(e){e&&d(t)}}}function Yr(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"placeholder","127.0.0.1:50051"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].db_listen),n||(r=b(t,"input",e[17]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].db_listen&&E(t,e[1].db_listen)},d(e){e&&d(t),n=!1,r()}}}function Jr(e){let t,n,r=e[5].data_dir+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].data_dir+"")&&v(n,r)},d(e){e&&d(t)}}}function Qr(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].data_dir),n||(r=b(t,"input",e[18]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].data_dir&&E(t,e[1].data_dir)},d(e){e&&d(t),n=!1,r()}}}function Xr(e){let t,n,r=e[5].acl_enabled?"Yes":"No";return{c(){t=h("span"),n=p(r),w(t,"class","value bool svelte-my2rpu"),k(t,"enabled",e[5].acl_enabled)},m(e,r){u(e,t,r),c(t,n)},p(e,s){32&s[0]&&r!==(r=e[5].acl_enabled?"Yes":"No")&&v(n,r),32&s[0]&&k(t,"enabled",e[5].acl_enabled)},d(e){e&&d(t)}}}function es(e){let t,n,r,s,o,i,l,a=e[1].acl_enabled?"Enabled":"Disabled";return{c(){t=h("label"),n=h("input"),r=g(),s=h("span"),o=p(a),w(n,"type","checkbox"),w(n,"class","svelte-my2rpu"),w(t,"class","toggle svelte-my2rpu")},m(a,d){u(a,t,d),c(t,n),n.checked=e[1].acl_enabled,c(t,r),c(t,s),c(s,o),i||(l=b(n,"change",e[19]),i=!0)},p(e,t){2&t[0]&&(n.checked=e[1].acl_enabled),2&t[0]&&a!==(a=e[1].acl_enabled?"Enabled":"Disabled")&&v(o,a)},d(e){e&&d(t),i=!1,l()}}}function ts(e){let t,n,r=e[5].acl_mode+"";return{c(){t=h("span"),n=p(r),w(t,"class","value svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].acl_mode+"")&&v(n,r)},d(e){e&&d(t)}}}function ns(e){let t,n,r,s,o,i;return{c(){t=h("select"),n=h("option"),n.textContent="Follows",r=h("option"),r.textContent="Managed",s=h("option"),s.textContent="Curation",n.__value="follows",E(n,n.__value),r.__value="managed",E(r,r.__value),s.__value="curation",E(s,s.__value),w(t,"class","svelte-my2rpu"),void 0===e[1].acl_mode&&D(()=>e[20].call(t))},m(l,a){u(l,t,a),c(t,n),c(t,r),c(t,s),_(t,e[1].acl_mode,!0),o||(i=b(t,"change",e[20]),o=!0)},p(e,n){2&n[0]&&_(t,e[1].acl_mode)},d(e){e&&d(t),o=!1,i()}}}function rs(e){let t,n,r=e[5].acl_binary+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].acl_binary+"")&&v(n,r)},d(e){e&&d(t)}}}function ss(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].acl_binary),n||(r=b(t,"input",e[21]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].acl_binary&&E(t,e[1].acl_binary)},d(e){e&&d(t),n=!1,r()}}}function os(e){let t,n,r=e[5].acl_listen+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].acl_listen+"")&&v(n,r)},d(e){e&&d(t)}}}function is(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"placeholder","127.0.0.1:50052"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].acl_listen),n||(r=b(t,"input",e[22]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].acl_listen&&E(t,e[1].acl_listen)},d(e){e&&d(t),n=!1,r()}}}function ls(e){let t,n,r=e[5].relay_binary+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].relay_binary+"")&&v(n,r)},d(e){e&&d(t)}}}function as(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"placeholder","orly"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].relay_binary),n||(r=b(t,"input",e[23]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].relay_binary&&E(t,e[1].relay_binary)},d(e){e&&d(t),n=!1,r()}}}function cs(e){let t,n,r=e[5].log_level+"";return{c(){t=h("span"),n=p(r),w(t,"class","value svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].log_level+"")&&v(n,r)},d(e){e&&d(t)}}}function us(e){let t,n,r,s,o,i,l,a;return{c(){t=h("select"),n=h("option"),n.textContent="Trace",r=h("option"),r.textContent="Debug",s=h("option"),s.textContent="Info",o=h("option"),o.textContent="Warn",i=h("option"),i.textContent="Error",n.__value="trace",E(n,n.__value),r.__value="debug",E(r,r.__value),s.__value="info",E(s,s.__value),o.__value="warn",E(o,o.__value),i.__value="error",E(i,i.__value),w(t,"class","svelte-my2rpu"),void 0===e[1].log_level&&D(()=>e[24].call(t))},m(d,f){u(d,t,f),c(t,n),c(t,r),c(t,s),c(t,o),c(t,i),_(t,e[1].log_level,!0),l||(a=b(t,"change",e[24]),l=!0)},p(e,n){2&n[0]&&_(t,e[1].log_level)},d(e){e&&d(t),l=!1,a()}}}function ds(e){let t,n,r=e[5].distributed_sync_enabled?"Enabled":"Disabled";return{c(){t=h("span"),n=p(r),w(t,"class","value bool svelte-my2rpu"),k(t,"enabled",e[5].distributed_sync_enabled)},m(e,r){u(e,t,r),c(t,n)},p(e,s){32&s[0]&&r!==(r=e[5].distributed_sync_enabled?"Enabled":"Disabled")&&v(n,r),32&s[0]&&k(t,"enabled",e[5].distributed_sync_enabled)},d(e){e&&d(t)}}}function fs(e){let t,n,r,s,o,i,l,a=e[1].distributed_sync_enabled?"Enabled":"Disabled";return{c(){t=h("label"),n=h("input"),r=g(),s=h("span"),o=p(a),w(n,"type","checkbox"),w(n,"class","svelte-my2rpu"),w(t,"class","toggle svelte-my2rpu")},m(a,d){u(a,t,d),c(t,n),n.checked=e[1].distributed_sync_enabled,c(t,r),c(t,s),c(s,o),i||(l=b(n,"change",e[25]),i=!0)},p(e,t){2&t[0]&&(n.checked=e[1].distributed_sync_enabled),2&t[0]&&a!==(a=e[1].distributed_sync_enabled?"Enabled":"Disabled")&&v(o,a)},d(e){e&&d(t),i=!1,l()}}}function hs(e){let t,n,r=e[5].cluster_sync_enabled?"Enabled":"Disabled";return{c(){t=h("span"),n=p(r),w(t,"class","value bool svelte-my2rpu"),k(t,"enabled",e[5].cluster_sync_enabled)},m(e,r){u(e,t,r),c(t,n)},p(e,s){32&s[0]&&r!==(r=e[5].cluster_sync_enabled?"Enabled":"Disabled")&&v(n,r),32&s[0]&&k(t,"enabled",e[5].cluster_sync_enabled)},d(e){e&&d(t)}}}function ps(e){let t,n,r,s,o,i,l,a=e[1].cluster_sync_enabled?"Enabled":"Disabled";return{c(){t=h("label"),n=h("input"),r=g(),s=h("span"),o=p(a),w(n,"type","checkbox"),w(n,"class","svelte-my2rpu"),w(t,"class","toggle svelte-my2rpu")},m(a,d){u(a,t,d),c(t,n),n.checked=e[1].cluster_sync_enabled,c(t,r),c(t,s),c(s,o),i||(l=b(n,"change",e[26]),i=!0)},p(e,t){2&t[0]&&(n.checked=e[1].cluster_sync_enabled),2&t[0]&&a!==(a=e[1].cluster_sync_enabled?"Enabled":"Disabled")&&v(o,a)},d(e){e&&d(t),i=!1,l()}}}function gs(e){let t,n,r=e[5].relay_group_enabled?"Enabled":"Disabled";return{c(){t=h("span"),n=p(r),w(t,"class","value bool svelte-my2rpu"),k(t,"enabled",e[5].relay_group_enabled)},m(e,r){u(e,t,r),c(t,n)},p(e,s){32&s[0]&&r!==(r=e[5].relay_group_enabled?"Enabled":"Disabled")&&v(n,r),32&s[0]&&k(t,"enabled",e[5].relay_group_enabled)},d(e){e&&d(t)}}}function ys(e){let t,n,r,s,o,i,l,a=e[1].relay_group_enabled?"Enabled":"Disabled";return{c(){t=h("label"),n=h("input"),r=g(),s=h("span"),o=p(a),w(n,"type","checkbox"),w(n,"class","svelte-my2rpu"),w(t,"class","toggle svelte-my2rpu")},m(a,d){u(a,t,d),c(t,n),n.checked=e[1].relay_group_enabled,c(t,r),c(t,s),c(s,o),i||(l=b(n,"change",e[27]),i=!0)},p(e,t){2&t[0]&&(n.checked=e[1].relay_group_enabled),2&t[0]&&a!==(a=e[1].relay_group_enabled?"Enabled":"Disabled")&&v(o,a)},d(e){e&&d(t),i=!1,l()}}}function bs(e){let t,n,r=e[5].negentropy_enabled?"Enabled":"Disabled";return{c(){t=h("span"),n=p(r),w(t,"class","value bool svelte-my2rpu"),k(t,"enabled",e[5].negentropy_enabled)},m(e,r){u(e,t,r),c(t,n)},p(e,s){32&s[0]&&r!==(r=e[5].negentropy_enabled?"Enabled":"Disabled")&&v(n,r),32&s[0]&&k(t,"enabled",e[5].negentropy_enabled)},d(e){e&&d(t)}}}function ms(e){let t,n,r,s,o,i,l,a=e[1].negentropy_enabled?"Enabled":"Disabled";return{c(){t=h("label"),n=h("input"),r=g(),s=h("span"),o=p(a),w(n,"type","checkbox"),w(n,"class","svelte-my2rpu"),w(t,"class","toggle svelte-my2rpu")},m(a,d){u(a,t,d),c(t,n),n.checked=e[1].negentropy_enabled,c(t,r),c(t,s),c(s,o),i||(l=b(n,"change",e[28]),i=!0)},p(e,t){2&t[0]&&(n.checked=e[1].negentropy_enabled),2&t[0]&&a!==(a=e[1].negentropy_enabled?"Enabled":"Disabled")&&v(o,a)},d(e){e&&d(t),i=!1,l()}}}function ws(e){let t,n,r=e[5].bin_dir+"";return{c(){t=h("span"),n=p(r),w(t,"class","value mono svelte-my2rpu")},m(e,r){u(e,t,r),c(t,n)},p(e,t){32&t[0]&&r!==(r=e[5].bin_dir+"")&&v(n,r)},d(e){e&&d(t)}}}function vs(e){let t,n,r;return{c(){t=h("input"),w(t,"type","text"),w(t,"class","svelte-my2rpu")},m(s,o){u(s,t,o),E(t,e[1].bin_dir),n||(r=b(t,"input",e[29]),n=!0)},p(e,n){2&n[0]&&t.value!==e[1].bin_dir&&E(t,e[1].bin_dir)},d(e){e&&d(t),n=!1,r()}}}function Es(t){let n,r,s;return{c(){n=h("button"),n.textContent="+ Add",w(n,"class","add-owner-btn svelte-my2rpu")},m(e,o){u(e,n,o),r||(s=b(n,"click",t[13]),r=!0)},p:e,d(e){e&&d(n),r=!1,s()}}}function xs(t){let n;return{c(){n=h("span"),n.textContent="No owners configured",w(n,"class","no-owners svelte-my2rpu")},m(e,t){u(e,n,t)},p:e,d(e){e&&d(n)}}}function _s(e){let t,n,r;function s(){return e[30](e[35])}return{c(){t=h("button"),t.textContent="x",w(t,"class","remove-owner-btn svelte-my2rpu")},m(e,o){u(e,t,o),n||(r=b(t,"click",s),n=!0)},p(t,n){e=t},d(e){e&&d(t),n=!1,r()}}}function $s(e){let t,n,r,s,o,i=e[33]+"",l=e[0]&&_s(e);return{c(){t=h("div"),n=h("code"),r=p(i),s=g(),l&&l.c(),o=g(),w(n,"class","owner svelte-my2rpu"),w(t,"class","owner-item svelte-my2rpu")},m(e,i){u(e,t,i),c(t,n),c(n,r),c(t,s),l&&l.m(t,null),c(t,o)},p(e,n){35&n[0]&&i!==(i=e[33]+"")&&v(r,i),e[0]?l?l.p(e,n):(l=_s(e),l.c(),l.m(t,o)):l&&(l.d(1),l=null)},d(e){e&&d(t),l&&l.d()}}}function ks(e){let t,n,r,s,o,i,l,a=e[5].bin_dir?.replace(/\/bin$/,"")+"";return{c(){t=h("div"),n=h("p"),r=p("Configuration is saved to "),s=h("code"),o=p(a),i=p("/launcher.json"),l=p(". Environment variables override file settings."),w(s,"class","svelte-my2rpu"),w(n,"class","svelte-my2rpu"),w(t,"class","config-note svelte-my2rpu")},m(e,a){u(e,t,a),c(t,n),c(n,r),c(n,s),c(s,o),c(s,i),c(n,l)},p(e,t){32&t[0]&&a!==(a=e[5].bin_dir?.replace(/\/bin$/,"")+"")&&v(o,a)},d(e){e&&d(t)}}}function As(t){let n,r,s,o,i,l,a,f;function p(e,t){return e[0]?qr:Dr}let y=p(t),b=y(t),m=t[7]&&Hr(t),v=t[2]&&jr(t);function E(e,t){return e[5]?zr:e[7]?void 0:Vr}let x=E(t),_=x&&x(t);return{c(){n=h("div"),r=h("div"),s=h("h2"),s.textContent="Configuration",o=g(),i=h("div"),b.c(),l=g(),m&&m.c(),a=g(),v&&v.c(),f=g(),_&&_.c(),w(s,"class","svelte-my2rpu"),w(i,"class","header-buttons svelte-my2rpu"),w(r,"class","page-header svelte-my2rpu"),w(n,"class","config-page svelte-my2rpu")},m(e,t){u(e,n,t),c(n,r),c(r,s),c(r,o),c(r,i),b.m(i,null),c(n,l),m&&m.m(n,null),c(n,a),v&&v.m(n,null),c(n,f),_&&_.m(n,null)},p(e,t){y===(y=p(e))&&b?b.p(e,t):(b.d(1),b=y(e),b&&(b.c(),b.m(i,null))),e[7]?m?m.p(e,t):(m=Hr(e),m.c(),m.m(n,a)):m&&(m.d(1),m=null),e[2]?v?v.p(e,t):(v=jr(e),v.c(),v.m(n,f)):v&&(v.d(1),v=null),x===(x=E(e))&&_?_.p(e,t):(_&&_.d(1),_=x&&x(e),_&&(_.c(),_.m(n,null)))},i:e,o:e,d(e){e&&d(n),b.d(),m&&m.d(),v&&v.d(),_&&_.d()}}}function Bs(e,t,n){let r,s,o,a,c;i(e,fr,e=>n(31,r=e)),i(e,hr,e=>n(32,s=e)),i(e,yr,e=>n(5,o=e)),i(e,mr,e=>n(6,a=e)),i(e,wr,e=>n(7,c=e));let u=!1,d={},f="",h=!1,p=!1;async function g(){l(mr,a=!0,a);try{l(yr,o=await async function(e,t){const n=await vr("/api/config",{},e,t);if(!n.ok)throw new Error(`Failed to fetch config: ${n.statusText}`);return n.json()}(s,r),o),n(1,d=JSON.parse(JSON.stringify(o))),l(wr,c="",c)}catch(e){l(wr,c=e.message,c)}finally{l(mr,a=!1,a)}}function y(e){n(1,d.admin_owners=d.admin_owners.filter((t,n)=>n!==e),d)}S(async()=>{await g()});return[u,d,f,h,p,o,a,c,g,function(){n(1,d=JSON.parse(JSON.stringify(o))),n(0,u=!0),n(2,f="")},function(){n(1,d=JSON.parse(JSON.stringify(o))),n(0,u=!1),n(2,f="")},async function(){n(4,p=!0),n(2,f="");try{const e=await async function(e,t,n){const r=await vr("/api/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)},e,t);if(!r.ok){const e=await r.json().catch(()=>({}));throw new Error(e.message||`Save failed: ${r.statusText}`)}return r.json()}(s,r,d);n(3,h=e.success),n(2,f=e.message),e.success&&(l(yr,o={...d},o),n(0,u=!1))}catch(e){n(3,h=!1),n(2,f=e.message)}finally{n(4,p=!1)}},async function(){if(confirm("Restart all services? This will briefly interrupt the relay."))try{await Er(s,r),n(2,f="Restart initiated. Services are restarting..."),n(3,h=!0)}catch(e){n(2,f=e.message),n(3,h=!1)}},function(){const e=prompt("Enter hex pubkey for new admin owner:");e&&e.match(/^[0-9a-fA-F]{64}$/)?n(1,d.admin_owners=[...d.admin_owners||[],e.toLowerCase()],d):e&&alert("Invalid pubkey. Must be 64 hex characters.")},y,function(){d.db_backend=$(this),n(1,d)},function(){d.db_binary=this.value,n(1,d)},function(){d.db_listen=this.value,n(1,d)},function(){d.data_dir=this.value,n(1,d)},function(){d.acl_enabled=this.checked,n(1,d)},function(){d.acl_mode=$(this),n(1,d)},function(){d.acl_binary=this.value,n(1,d)},function(){d.acl_listen=this.value,n(1,d)},function(){d.relay_binary=this.value,n(1,d)},function(){d.log_level=$(this),n(1,d)},function(){d.distributed_sync_enabled=this.checked,n(1,d)},function(){d.cluster_sync_enabled=this.checked,n(1,d)},function(){d.relay_group_enabled=this.checked,n(1,d)},function(){d.negentropy_enabled=this.checked,n(1,d)},function(){d.bin_dir=this.value,n(1,d)},e=>y(e)]}class Is extends te{constructor(e){super(),ee(this,e,Bs,As,o,{},null,[-1,-1])}}function Ss(e,t,n){const r=e.slice();return r[15]=t[n],r}function Cs(e,t,n){const r=e.slice();return r[18]=t[n],r[19]=t,r[20]=n,r}function Ls(e){let t,n;return{c(){t=h("div"),n=p(e[4]),w(t,"class","error-banner svelte-1ig49gt")},m(e,r){u(e,t,r),c(t,n)},p(e,t){16&t&&v(n,e[4])},d(e){e&&d(t)}}}function Ns(e){let t,n,r,s=e[2].message+"",o=e[2].downloaded_files?.length&&Us(e);return{c(){t=h("div"),n=p(s),r=g(),o&&o.c(),w(t,"class","success-banner svelte-1ig49gt")},m(e,s){u(e,t,s),c(t,n),c(t,r),o&&o.m(t,null)},p(e,r){4&r&&s!==(s=e[2].message+"")&&v(n,s),e[2].downloaded_files?.length?o?o.p(e,r):(o=Us(e),o.c(),o.m(t,null)):o&&(o.d(1),o=null)},d(e){e&&d(t),o&&o.d()}}}function Us(e){let t,n,r,s=e[2].downloaded_files.join(", ")+"";return{c(){t=h("br"),n=p("Downloaded: "),r=p(s)},m(e,s){u(e,t,s),u(e,n,s),u(e,r,s)},p(e,t){4&t&&s!==(s=e[2].downloaded_files.join(", ")+"")&&v(r,s)},d(e){e&&(d(t),d(n),d(r))}}}function Os(e){let t,n,r,s,o,i,l,a,f=e[18]+"";function y(){e[10].call(o,e[18])}return{c(){t=h("div"),n=h("span"),r=p(f),s=g(),o=h("input"),i=g(),w(n,"class","binary-name svelte-1ig49gt"),w(o,"type","text"),w(o,"placeholder","https://..."),o.disabled=e[3],w(o,"class","svelte-1ig49gt"),w(t,"class","url-input svelte-1ig49gt")},m(d,f){u(d,t,f),c(t,n),c(n,r),c(t,s),c(t,o),E(o,e[1][e[18]]),c(t,i),l||(a=b(o,"input",y),l=!0)},p(t,n){e=t,2&n&&f!==(f=e[18]+"")&&v(r,f),8&n&&(o.disabled=e[3]),2&n&&o.value!==e[1][e[18]]&&E(o,e[1][e[18]])},d(e){e&&d(t),l=!1,a()}}}function Ts(e){let t,n,r,s,o,i,l,a=G(e[5].available_versions),p=[];for(let t=0;t<a.length;t+=1)p[t]=Ps(Ss(e,a,t));return{c(){t=h("div"),n=h("h3"),n.textContent="Installed Versions",r=g(),s=h("table"),o=h("thead"),o.innerHTML='<tr><th class="svelte-1ig49gt">Version</th> <th class="svelte-1ig49gt">Installed</th> <th class="svelte-1ig49gt">Binaries</th> <th class="svelte-1ig49gt">Status</th></tr>',i=g(),l=h("tbody");for(let e=0;e<p.length;e+=1)p[e].c();w(n,"class","svelte-1ig49gt"),w(s,"class","svelte-1ig49gt"),w(t,"class","versions-list svelte-1ig49gt")},m(e,a){u(e,t,a),c(t,n),c(t,r),c(t,s),c(s,o),c(s,i),c(s,l);for(let e=0;e<p.length;e+=1)p[e]&&p[e].m(l,null)},p(e,t){if(32&t){let n;for(a=G(e[5].available_versions),n=0;n<a.length;n+=1){const r=Ss(e,a,n);p[n]?p[n].p(r,t):(p[n]=Ps(r),p[n].c(),p[n].m(l,null))}for(;n<p.length;n+=1)p[n].d(1);p.length=a.length}},d(e){e&&d(t),f(p,e)}}}function Rs(e){let t;return{c(){t=h("span"),t.textContent="Current",w(t,"class","current-badge svelte-1ig49gt")},m(e,n){u(e,t,n)},d(e){e&&d(t)}}}function Ps(e){let t,n,r,s,o,i,l,a,f,y,b,m,E,x=e[15].version+"",_=new Date(e[15].installed_at).toLocaleString()+"",$=(e[15].binaries?.length||0)+"",A=e[15].is_current&&Rs();return{c(){t=h("tr"),n=h("td"),r=p(x),s=g(),o=h("td"),i=p(_),l=g(),a=h("td"),f=p($),y=p(" files"),b=g(),m=h("td"),A&&A.c(),E=g(),w(n,"class","version-cell svelte-1ig49gt"),w(o,"class","svelte-1ig49gt"),w(a,"class","svelte-1ig49gt"),w(m,"class","svelte-1ig49gt"),w(t,"class","svelte-1ig49gt"),k(t,"current",e[15].is_current)},m(e,d){u(e,t,d),c(t,n),c(n,r),c(t,s),c(t,o),c(o,i),c(t,l),c(t,a),c(a,f),c(a,y),c(t,b),c(t,m),A&&A.m(m,null),c(t,E)},p(e,n){32&n&&x!==(x=e[15].version+"")&&v(r,x),32&n&&_!==(_=new Date(e[15].installed_at).toLocaleString()+"")&&v(i,_),32&n&&$!==($=(e[15].binaries?.length||0)+"")&&v(f,$),e[15].is_current?A||(A=Rs(),A.c(),A.m(m,null)):A&&(A.d(1),A=null),32&n&&k(t,"current",e[15].is_current)},d(e){e&&d(t),A&&A.d()}}}function Ds(t){let n,s,o,i,l,a,y,m,x,_,$,k,A,B,I,S,C,L,N,U,O,T,R,P,D,q,H,j,F,V,z,K,M,Z,W,Y,J,Q=(t[5]?.current_version||"unknown")+"",X=t[3]?"Updating...":"Download & Install",ee=t[4]&&Ls(t),te=t[2]?.success&&Ns(t),ne=G(Object.keys(t[1])),re=[];for(let e=0;e<ne.length;e+=1)re[e]=Os(Cs(t,ne,e));let se=t[5]?.available_versions?.length&&Ts(t);return{c(){n=h("div"),s=h("div"),s.innerHTML='<h2 class="svelte-1ig49gt">Update Binaries</h2>',o=g(),ee&&ee.c(),i=g(),te&&te.c(),l=g(),a=h("div"),y=h("h3"),y.textContent="Current Version",m=g(),x=h("div"),_=h("span"),$=p(Q),k=g(),A=h("button"),B=p("Rollback"),S=g(),C=h("div"),L=h("h3"),L.textContent="Install New Version",N=g(),U=h("div"),O=h("label"),O.textContent="Version",T=g(),R=h("input"),P=g(),D=h("div"),q=h("div"),H=h("label"),H.textContent="Binary URLs",j=g(),F=h("button"),V=p("Fill from Release"),z=g();for(let e=0;e<re.length;e+=1)re[e].c();K=g(),M=h("button"),Z=p(X),W=g(),se&&se.c(),w(s,"class","page-header svelte-1ig49gt"),w(y,"class","svelte-1ig49gt"),w(_,"class","version svelte-1ig49gt"),w(A,"class","rollback-btn svelte-1ig49gt"),A.disabled=I=t[3]||(t[5]?.available_versions?.length||0)<2,w(x,"class","version-info svelte-1ig49gt"),w(a,"class","current-version svelte-1ig49gt"),w(L,"class","svelte-1ig49gt"),w(O,"for","version"),w(O,"class","svelte-1ig49gt"),w(R,"type","text"),w(R,"id","version"),w(R,"placeholder","v0.55.11"),R.disabled=t[3],w(R,"class","svelte-1ig49gt"),w(U,"class","form-group svelte-1ig49gt"),w(H,"class","svelte-1ig49gt"),w(F,"class","helper-btn svelte-1ig49gt"),F.disabled=t[3],w(q,"class","url-header svelte-1ig49gt"),w(D,"class","form-group svelte-1ig49gt"),w(M,"class","update-btn svelte-1ig49gt"),M.disabled=t[3],w(C,"class","update-form svelte-1ig49gt"),w(n,"class","update-page svelte-1ig49gt")},m(e,r){u(e,n,r),c(n,s),c(n,o),ee&&ee.m(n,null),c(n,i),te&&te.m(n,null),c(n,l),c(n,a),c(a,y),c(a,m),c(a,x),c(x,_),c(_,$),c(x,k),c(x,A),c(A,B),c(n,S),c(n,C),c(C,L),c(C,N),c(C,U),c(U,O),c(U,T),c(U,R),E(R,t[0]),c(C,P),c(C,D),c(D,q),c(q,H),c(q,j),c(q,F),c(F,V),c(D,z);for(let e=0;e<re.length;e+=1)re[e]&&re[e].m(D,null);c(C,K),c(C,M),c(M,Z),c(n,W),se&&se.m(n,null),Y||(J=[b(A,"click",t[7]),b(R,"input",t[9]),b(F,"click",t[8]),b(M,"click",t[6])],Y=!0)},p(e,[t]){if(e[4]?ee?ee.p(e,t):(ee=Ls(e),ee.c(),ee.m(n,i)):ee&&(ee.d(1),ee=null),e[2]?.success?te?te.p(e,t):(te=Ns(e),te.c(),te.m(n,l)):te&&(te.d(1),te=null),32&t&&Q!==(Q=(e[5]?.current_version||"unknown")+"")&&v($,Q),40&t&&I!==(I=e[3]||(e[5]?.available_versions?.length||0)<2)&&(A.disabled=I),8&t&&(R.disabled=e[3]),1&t&&R.value!==e[0]&&E(R,e[0]),8&t&&(F.disabled=e[3]),10&t){let n;for(ne=G(Object.keys(e[1])),n=0;n<ne.length;n+=1){const r=Cs(e,ne,n);re[n]?re[n].p(r,t):(re[n]=Os(r),re[n].c(),re[n].m(D,null))}for(;n<re.length;n+=1)re[n].d(1);re.length=ne.length}8&t&&X!==(X=e[3]?"Updating...":"Download & Install")&&v(Z,X),8&t&&(M.disabled=e[3]),e[5]?.available_versions?.length?se?se.p(e,t):(se=Ts(e),se.c(),se.m(n,null)):se&&(se.d(1),se=null)},i:e,o:e,d(e){e&&d(n),ee&&ee.d(),te&&te.d(),f(re,e),se&&se.d(),Y=!1,r(J)}}}function qs(e,t,n){let r,s,o,a,c;i(e,wr,e=>n(4,r=e)),i(e,fr,e=>n(11,s=e)),i(e,hr,e=>n(12,o=e)),i(e,mr,e=>n(13,a=e)),i(e,br,e=>n(5,c=e));let u="",d={orly:"","orly-db-badger":"","orly-acl-follows":"","orly-launcher":""},f=null,h=!1;async function p(){l(mr,a=!0,a);try{l(br,c=await async function(e,t){const n=await vr("/api/binaries",{},e,t);if(!n.ok)throw new Error(`Failed to fetch binaries: ${n.statusText}`);return n.json()}(o,s),c),l(wr,r="",r)}catch(e){l(wr,r=e.message,r)}finally{l(mr,a=!1,a)}}return S(async()=>{await p()}),[u,d,f,h,r,c,async function(){const e={};for(const[t,n]of Object.entries(d))n.trim()&&(e[t]=n.trim());if(u.trim())if(0!==Object.keys(e).length){n(3,h=!0),n(2,f=null),l(wr,r="",r);try{n(2,f=await async function(e,t,n,r){const s=await vr("/api/update",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({version:n,urls:r})},e,t);if(!s.ok){const e=await s.json();throw new Error(e.message||`Update failed: ${s.statusText}`)}return s.json()}(o,s,u.trim(),e)),await p()}catch(e){l(wr,r=e.message,r)}finally{n(3,h=!1)}}else l(wr,r="At least one binary URL is required",r);else l(wr,r="Version is required",r)},async function(){if(confirm("Are you sure you want to rollback to the previous version?")){n(3,h=!0),l(wr,r="",r);try{const e=await async function(e,t){const n=await vr("/api/rollback",{method:"POST"},e,t);if(!n.ok){const e=await n.json();throw new Error(e.message||`Rollback failed: ${n.statusText}`)}return n.json()}(o,s);n(2,f={success:!0,message:`Rolled back from ${e.previous_version} to ${e.current_version}. Restart services to apply.`}),await p()}catch(e){l(wr,r=e.message,r)}finally{n(3,h=!1)}}},function(){let e=prompt("Enter release URL (e.g., https://git.mleku.dev/mleku/next.orly.dev/releases/tag/v0.56.0):");if(!e)return;let t=e.replace(/\/$/,"");if(t.includes("/releases/tag/"))t=t.replace("/releases/tag/","/releases/download/");else if(!t.includes("/releases/download/")){const e=u.trim()||"v0.56.0";t=t.replace(/\/$/,"")+"/releases/download/"+e}const r=prompt("Enter architecture (amd64 or arm64):","amd64");if(!r)return;const s=t.split("/"),o=s[s.length-1],i=o.replace("v","");n(1,d.orly=`${t}/orly-${i}-linux-${r}`,d),n(1,d["orly-db-badger"]=`${t}/orly-db-badger-${i}-linux-${r}`,d),n(1,d["orly-acl-follows"]=`${t}/orly-acl-follows-${i}-linux-${r}`,d),n(1,d["orly-launcher"]=`${t}/orly-launcher-${i}-linux-${r}`,d),u.trim()||n(0,u=o)},function(){u=this.value,n(0,u)},function(e){d[e]=this.value,n(1,d)}]}class Hs extends te{constructor(e){super(),ee(this,e,qs,Ds,o,{})}}function js(t){let n,r;return n=new Hs({}),{c(){Y(n.$$.fragment)},m(e,t){J(n,e,t),r=!0},p:e,i(e){r||(Z(n.$$.fragment,e),r=!0)},o(e){W(n.$$.fragment,e),r=!1},d(e){Q(n,e)}}}function Fs(t){let n,r;return n=new Is({}),{c(){Y(n.$$.fragment)},m(e,t){J(n,e,t),r=!0},p:e,i(e){r||(Z(n.$$.fragment,e),r=!0)},o(e){W(n.$$.fragment,e),r=!1},d(e){Q(n,e)}}}function Vs(t){let n,r;return n=new Rr({}),{c(){Y(n.$$.fragment)},m(e,t){J(n,e,t),r=!0},p:e,i(e){r||(Z(n.$$.fragment,e),r=!0)},o(e){W(n.$$.fragment,e),r=!1},d(e){Q(n,e)}}}function zs(t){let n,r,s,o,i,l,a,f;return{c(){n=h("div"),r=h("h2"),r.textContent="ORLY Launcher Admin",s=g(),o=h("p"),o.textContent="Please login to manage the relay services.",i=g(),l=h("button"),l.textContent="Login with Nostr",w(r,"class","svelte-4k9oqz"),w(o,"class","svelte-4k9oqz"),w(l,"class","login-btn svelte-4k9oqz"),w(n,"class","login-prompt svelte-4k9oqz")},m(e,d){u(e,n,d),c(n,r),c(n,s),c(n,o),c(n,i),c(n,l),a||(f=b(l,"click",t[10]),a=!0)},p:e,i:e,o:e,d(e){e&&d(n),a=!1,f()}}}function Ks(e){let t,n,r,s,o,i,l,a,f,p;n=new le({props:{currentPage:e[0],isLoggedIn:e[4],userPubkey:e[3]}}),n.$on("navigate",e[8]),n.$on("login",e[9]),n.$on("logout",e[6]);const y=[zs,Vs,Fs,js],b=[];function m(e,t){return e[4]?"dashboard"===e[0]?1:"config"===e[0]?2:"update"===e[0]?3:-1:0}function v(t){e[11](t)}~(o=m(e))&&(i=b[o]=y[o](e));let E={isDarkTheme:e[2]};return void 0!==e[1]&&(E.showModal=e[1]),a=new ar({props:E}),U.push(()=>function(e,t,n){const r=e.$$.props[t];void 0!==r&&(e.$$.bound[r]=n,n(e.$$.ctx[r]))}(a,"showModal",v)),a.$on("login",e[5]),a.$on("close",e[12]),{c(){t=h("main"),Y(n.$$.fragment),r=g(),s=h("div"),i&&i.c(),l=g(),Y(a.$$.fragment),w(s,"class","content svelte-4k9oqz"),w(t,"class","svelte-4k9oqz"),k(t,"dark-theme",e[2])},m(e,i){u(e,t,i),J(n,t,null),c(t,r),c(t,s),~o&&b[o].m(s,null),c(t,l),J(a,t,null),p=!0},p(e,[r]){const l={};1&r&&(l.currentPage=e[0]),16&r&&(l.isLoggedIn=e[4]),8&r&&(l.userPubkey=e[3]),n.$set(l);let c=o;o=m(e),o===c?~o&&b[o].p(e,r):(i&&(K(),W(b[c],1,1,()=>{b[c]=null}),M()),~o?(i=b[o],i?i.p(e,r):(i=b[o]=y[o](e),i.c()),Z(i,1),i.m(s,null)):i=null);const u={};var d;4&r&&(u.isDarkTheme=e[2]),!f&&2&r&&(f=!0,u.showModal=e[1],d=()=>f=!1,T.push(d)),a.$set(u),(!p||4&r)&&k(t,"dark-theme",e[2])},i(e){p||(Z(n.$$.fragment,e),Z(i),Z(a.$$.fragment,e),p=!0)},o(e){W(n.$$.fragment,e),W(i),W(a.$$.fragment,e),p=!1},d(e){e&&d(t),Q(n),~o&&b[o].d(),Q(a)}}}function Ms(e,t,n){let r,s,o,a;i(e,pr,e=>n(13,r=e)),i(e,hr,e=>n(14,s=e)),i(e,fr,e=>n(3,o=e)),i(e,dr,e=>n(4,a=e));let c="dashboard",u=!1,d=!1;function f(e){n(0,c=e)}S(()=>{const e=localStorage.getItem("launcher_auth_method"),t=localStorage.getItem("launcher_pubkey");"extension"===e&&t&&window.nostr&&window.nostr.getPublicKey().then(e=>{e===t&&(l(dr,a=!0,a),l(fr,o=e,o),l(hr,s=window.nostr,s),l(pr,r="extension",r))}).catch(()=>{localStorage.removeItem("launcher_auth_method"),localStorage.removeItem("launcher_pubkey")}),n(2,d=window.matchMedia("(prefers-color-scheme: dark)").matches)});return[c,u,d,o,a,function(e){const{method:t,pubkey:i,signer:c,privateKey:d}=e.detail;l(dr,a=!0,a),l(fr,o=i,o),l(hr,s=c,s),l(pr,r=t,r),localStorage.setItem("launcher_auth_method",t),localStorage.setItem("launcher_pubkey",i),n(1,u=!1)},function(){l(dr,a=!1,a),l(fr,o="",o),l(hr,s=null,s),l(pr,r="",r),localStorage.removeItem("launcher_auth_method"),localStorage.removeItem("launcher_pubkey"),localStorage.removeItem("launcher_privkey_encrypted")},f,e=>f(e.detail),()=>n(1,u=!0),()=>n(1,u=!0),function(e){u=e,n(1,u)},()=>n(1,u=!1)]}return new class extends te{constructor(e){super(),ee(this,e,Ms,Ks,o,{})}}({target:document.body})}();
|
|
|