-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
178 lines (142 loc) · 157 KB
/
index.html
File metadata and controls
178 lines (142 loc) · 157 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!doctype html>
<html lang="en">
<head>
<meta name="author" value="npub16jdfqgazrkapk0yrqm9rdxlnys7ck39c7zmdzxtxqlmmpxg04r0sd733sv" />
<meta name="relays" value="wss://nostr.coinfund.app, wss://relay.verified-nostr.com, wss://nos.lol, wss://relay.damus.io, wss://relay.mostr.pub" />
<meta name="top-notes" value="2" /> <!-- Use a even value, zero to disable -->
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="robots" content="max-image-preview:large" />
<meta name="generator" content="Trust Me Bro | Blog powered by Nostr" />
<link rel="icon" href="TMB-icon.png" sizes="32x32" />
<link rel="icon" href="TMB-icon.png" sizes="192x192" />
<link rel="apple-touch-icon" href="TMB-icon.png" />
<link rel="canonical" href="https://trustmebro.blog" id="canonical-link" />
<meta name="msapplication-TileImage" content="TMB-icon.png" />
<meta property="og:locale" content="en_US" />
<meta property="og:site_name" content="Trust Me Bro | Blog powered by Nostr" />
<meta property="og:title" content="Commentary around Privacy, Security, & Anonymity in the dystopian age." id="dynamic-og-title" />
<meta property="og:url" content="" id="dynamic-og-url" />
<meta property="og:type" content="article" />
<meta property="og:description" content="Highlighting businesses & services "trust me bro" security & privacy." />
<meta property="og:image" content="https://trustmebro.blog/TMB-og.jpg" id="dynamic-og-image" />
<meta property="og:image:url" content="https://trustmebro.blog/TMB-og.jpg" id="dynamic-og-image-url" />
<meta property="og:image:secure_url" content="https://trustmebro.blog/TMB-og.jpg" id="dynamic-og-image-secure-url" />
<meta property="article:publisher" content="https://www.facebook.com/CoinFund" />
<meta name="twitter:title" content="Commentary around Privacy, Security, & Anonymity in the dystopian age." />
<meta name="twitter:url" content="" />
<meta name="twitter:description" content="Highlighting businesses & services "trust me bro" security & privacy." />
<meta name="twitter:image" content="https://trustmebro.blog/TMB-og.jpg" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:site" content="@Spl0itable" />
<title></title>
<script type="module" crossorigin>var yt=Object.defineProperty;var vt=(r,e,t)=>e in r?yt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var V=(r,e,t)=>(vt(r,typeof e!="symbol"?e+"":e,t),t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const a of i)if(a.type==="childList")for(const c of a.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function t(i){const a={};return i.integrity&&(a.integrity=i.integrity),i.referrerPolicy&&(a.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?a.credentials="include":i.crossOrigin==="anonymous"?a.credentials="omit":a.credentials="same-origin",a}function n(i){if(i.ep)return;i.ep=!0;const a=t(i);fetch(i.href,a)}})();function ae(){}function $n(r){return r()}function nn(){return Object.create(null)}function Ye(r){r.forEach($n)}function Tn(r){return typeof r=="function"}function or(r,e){return r!=r?e==e:r!==e||r&&typeof r=="object"||typeof r=="function"}let Qe;function je(r,e){return r===e?!0:(Qe||(Qe=document.createElement("a")),Qe.href=e,r===Qe.href)}function kt(r){return Object.keys(r).length===0}function H(r,e){r.appendChild(e)}function G(r,e,t){r.insertBefore(e,t||null)}function F(r){r.parentNode&&r.parentNode.removeChild(r)}function zn(r,e){for(let t=0;t<r.length;t+=1)r[t]&&r[t].d(e)}function R(r){return document.createElement(r)}function Et(r){return document.createElementNS("http://www.w3.org/2000/svg",r)}function Z(r){return document.createTextNode(r)}function W(){return Z(" ")}function cr(){return Z("")}function q(r,e,t){t==null?r.removeAttribute(e):r.getAttribute(e)!==t&&r.setAttribute(e,t)}function Je(r,e,t){const n=e.toLowerCase();n in r?r[n]=typeof r[n]=="boolean"&&t===""?!0:t:e in r?r[e]=typeof r[e]=="boolean"&&t===""?!0:t:q(r,e,t)}function St(r){return Array.from(r.childNodes)}function ie(r,e){e=""+e,r.data!==e&&(r.data=e)}function Mn(r,e,t,n){t==null?r.style.removeProperty(e):r.style.setProperty(e,t,"")}class At{constructor(e=!1){V(this,"is_svg",!1);V(this,"e");V(this,"n");V(this,"t");V(this,"a");this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,n=null){this.e||(this.is_svg?this.e=Et(t.nodeName):this.e=R(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(n)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;t<this.n.length;t+=1)G(this.t,this.n[t],e)}p(e){this.d(),this.h(e),this.i(this.a)}d(){this.n.forEach(F)}}let Ke;function We(r){Ke=r}function In(){if(!Ke)throw new Error("Function called outside component initialization");return Ke}function Or(r){In().$$.on_mount.push(r)}function Pt(r){In().$$.on_destroy.push(r)}const Ie=[],tn=[];let He=[];const dn=[],Bt=Promise.resolve();let Pr=!1;function Ct(){Pr||(Pr=!0,Bt.then(Hn))}function Br(r){He.push(r)}const wr=new Set;let ze=0;function Hn(){if(ze!==0)return;const r=Ke;do{try{for(;ze<Ie.length;){const e=Ie[ze];ze++,We(e),Lt(e.$$)}}catch(e){throw Ie.length=0,ze=0,e}for(We(null),Ie.length=0,ze=0;tn.length;)tn.pop()();for(let e=0;e<He.length;e+=1){const t=He[e];wr.has(t)||(wr.add(t),t())}He.length=0}while(Ie.length);for(;dn.length;)dn.pop()();Pr=!1,wr.clear(),We(r)}function Lt(r){if(r.fragment!==null){r.update(),Ye(r.before_update);const e=r.dirty;r.dirty=[-1],r.fragment&&r.fragment.p(r.ctx,e),r.after_update.forEach(Br)}}function jt(r){const e=[],t=[];He.forEach(n=>r.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),He=e}const er=new Set;let Ce;function Nn(){Ce={r:0,c:[],p:Ce}}function On(){Ce.r||Ye(Ce.c),Ce=Ce.p}function Ee(r,e){r&&r.i&&(er.delete(r),r.i(e))}function Ne(r,e,t,n){if(r&&r.o){if(er.has(r))return;er.add(r),Ce.c.push(()=>{er.delete(r),n&&(t&&r.d(1),n())}),r.o(e)}else n&&n()}function rr(r){return(r==null?void 0:r.length)!==void 0?r:Array.from(r)}function Rn(r){r&&r.c()}function Rr(r,e,t){const{fragment:n,after_update:i}=r.$$;n&&n.m(e,t),Br(()=>{const a=r.$$.on_mount.map($n).filter(Tn);r.$$.on_destroy?r.$$.on_destroy.push(...a):Ye(a),r.$$.on_mount=[]}),i.forEach(Br)}function Ur(r,e){const t=r.$$;t.fragment!==null&&(jt(t.after_update),Ye(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function $t(r,e){r.$$.dirty[0]===-1&&(Ie.push(r),Ct(),r.$$.dirty.fill(0)),r.$$.dirty[e/31|0]|=1<<e%31}function qr(r,e,t,n,i,a,c=null,h=[-1]){const p=Ke;We(r);const b=r.$$={fragment:null,ctx:[],props:a,update:ae,not_equal:i,bound:nn(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(e.context||(p?p.$$.context:[])),callbacks:nn(),dirty:h,skip_bound:!1,root:e.target||p.$$.root};c&&c(b.root);let v=!1;if(b.ctx=t?t(r,e.props||{},(_,k,...C)=>{const $=C.length?C[0]:k;return b.ctx&&i(b.ctx[_],b.ctx[_]=$)&&(!b.skip_bound&&b.bound[_]&&b.bound[_]($),v&&$t(r,_)),k}):[],b.update(),v=!0,Ye(b.before_update),b.fragment=n?n(b.ctx):!1,e.target){if(e.hydrate){const _=St(e.target);b.fragment&&b.fragment.l(_),_.forEach(F)}else b.fragment&&b.fragment.c();e.intro&&Ee(r.$$.fragment),Rr(r,e.target,e.anchor),Hn()}We(p)}class Vr{constructor(){V(this,"$$");V(this,"$$set")}$destroy(){Ur(this,1),this.$destroy=ae}$on(e,t){if(!Tn(t))return ae;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const i=n.indexOf(t);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!kt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Tt="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Tt);/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Un=r=>r instanceof Uint8Array,br=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),he=(r,e)=>r<<32-e|r>>>e,zt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!zt)throw new Error("Non little-endian hardware is not supported");const Mt=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function ce(r){if(!Un(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=Mt[r[t]];return e}function qn(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){const i=n*2,a=r.slice(i,i+2),c=Number.parseInt(a,16);if(Number.isNaN(c)||c<0)throw new Error("Invalid byte sequence");t[n]=c}return t}function It(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Vn(r){if(typeof r=="string"&&(r=It(r)),!Un(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}let Ht=class{clone(){return this._cloneInto()}};function Dn(r){const e=n=>r().update(Vn(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}/*! scure-base - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Ue(r){if(!Number.isSafeInteger(r))throw new Error(`Wrong integer: ${r}`)}function me(...r){const e=(i,a)=>c=>i(a(c)),t=Array.from(r).reverse().reduce((i,a)=>i?e(i,a.encode):a.encode,void 0),n=r.reduce((i,a)=>i?e(i,a.decode):a.decode,void 0);return{encode:t,decode:n}}function we(r){return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("alphabet.encode input should be an array of numbers");return e.map(t=>{if(Ue(t),t<0||t>=r.length)throw new Error(`Digit index outside alphabet: ${t} (alphabet: ${r.length})`);return r[t]})},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("alphabet.decode input should be array of strings");return e.map(t=>{if(typeof t!="string")throw new Error(`alphabet.decode: not string element=${t}`);const n=r.indexOf(t);if(n===-1)throw new Error(`Unknown letter: "${t}". Allowed: ${r}`);return n})}}}function be(r=""){if(typeof r!="string")throw new Error("join separator should be string");return{encode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="string")throw new Error("join.encode input should be array of strings");for(let t of e)if(typeof t!="string")throw new Error(`join.encode: non-string input=${t}`);return e.join(r)},decode:e=>{if(typeof e!="string")throw new Error("join.decode input should be string");return e.split(r)}}}function fr(r,e="="){if(Ue(r),typeof e!="string")throw new Error("padding chr should be string");return{encode(t){if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("padding.encode input should be array of strings");for(let n of t)if(typeof n!="string")throw new Error(`padding.encode: non-string input=${n}`);for(;t.length*r%8;)t.push(e);return t},decode(t){if(!Array.isArray(t)||t.length&&typeof t[0]!="string")throw new Error("padding.encode input should be array of strings");for(let i of t)if(typeof i!="string")throw new Error(`padding.decode: non-string input=${i}`);let n=t.length;if(n*r%8)throw new Error("Invalid padding: string should have whole number of bytes");for(;n>0&&t[n-1]===e;n--)if(!((n-1)*r%8))throw new Error("Invalid padding: string has too much padding");return t.slice(0,n)}}}function Fn(r){if(typeof r!="function")throw new Error("normalize fn should be function");return{encode:e=>e,decode:e=>r(e)}}function un(r,e,t){if(e<2)throw new Error(`convertRadix: wrong from=${e}, base cannot be less than 2`);if(t<2)throw new Error(`convertRadix: wrong to=${t}, base cannot be less than 2`);if(!Array.isArray(r))throw new Error("convertRadix: data should be array");if(!r.length)return[];let n=0;const i=[],a=Array.from(r);for(a.forEach(c=>{if(Ue(c),c<0||c>=e)throw new Error(`Wrong integer: ${c}`)});;){let c=0,h=!0;for(let p=n;p<a.length;p++){const b=a[p],v=e*c+b;if(!Number.isSafeInteger(v)||e*c/e!==c||v-b!==e*c)throw new Error("convertRadix: carry overflow");if(c=v%t,a[p]=Math.floor(v/t),!Number.isSafeInteger(a[p])||a[p]*t+c!==v)throw new Error("convertRadix: carry overflow");if(h)a[p]?h=!1:n=p;else continue}if(i.push(c),h)break}for(let c=0;c<r.length-1&&r[c]===0;c++)i.push(0);return i.reverse()}const Gn=(r,e)=>e?Gn(e,r%e):r,nr=(r,e)=>r+(e-Gn(r,e));function Cr(r,e,t,n){if(!Array.isArray(r))throw new Error("convertRadix2: data should be array");if(e<=0||e>32)throw new Error(`convertRadix2: wrong from=${e}`);if(t<=0||t>32)throw new Error(`convertRadix2: wrong to=${t}`);if(nr(e,t)>32)throw new Error(`convertRadix2: carry overflow from=${e} to=${t} carryBits=${nr(e,t)}`);let i=0,a=0;const c=2**t-1,h=[];for(const p of r){if(Ue(p),p>=2**e)throw new Error(`convertRadix2: invalid data word=${p} from=${e}`);if(i=i<<e|p,a+e>32)throw new Error(`convertRadix2: carry overflow pos=${a} from=${e}`);for(a+=e;a>=t;a-=t)h.push((i>>a-t&c)>>>0);i&=2**a-1}if(i=i<<t-a&c,!n&&a>=e)throw new Error("Excess padding");if(!n&&i)throw new Error(`Non-zero padding: ${i}`);return n&&a>0&&h.push(i>>>0),h}function Nt(r){return Ue(r),{encode:e=>{if(!(e instanceof Uint8Array))throw new Error("radix.encode input should be Uint8Array");return un(Array.from(e),2**8,r)},decode:e=>{if(!Array.isArray(e)||e.length&&typeof e[0]!="number")throw new Error("radix.decode input should be array of strings");return Uint8Array.from(un(e,r,2**8))}}}function Ae(r,e=!1){if(Ue(r),r<=0||r>32)throw new Error("radix2: bits should be in (0..32]");if(nr(8,r)>32||nr(r,8)>32)throw new Error("radix2: carry overflow");return{encode:t=>{if(!(t instanceof Uint8Array))throw new Error("radix2.encode input should be Uint8Array");return Cr(Array.from(t),8,r,!e)},decode:t=>{if(!Array.isArray(t)||t.length&&typeof t[0]!="number")throw new Error("radix2.decode input should be array of strings");return Uint8Array.from(Cr(t,r,8,e))}}}function sn(r){if(typeof r!="function")throw new Error("unsafeWrapper fn should be function");return function(...e){try{return r.apply(null,e)}catch{}}}const Ot=me(Ae(4),we("0123456789ABCDEF"),be("")),Rt=me(Ae(5),we("ABCDEFGHIJKLMNOPQRSTUVWXYZ234567"),fr(5),be(""));me(Ae(5),we("0123456789ABCDEFGHIJKLMNOPQRSTUV"),fr(5),be(""));me(Ae(5),we("0123456789ABCDEFGHJKMNPQRSTVWXYZ"),be(""),Fn(r=>r.toUpperCase().replace(/O/g,"0").replace(/[IL]/g,"1")));const Ut=me(Ae(6),we("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"),fr(6),be("")),qt=me(Ae(6),we("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"),fr(6),be("")),Dr=r=>me(Nt(58),we(r),be("")),Lr=Dr("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");Dr("123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ");Dr("rpshnaf39wBUDNEGHJKLM4PQRST7VWXYZ2bcdeCg65jkm8oFqi1tuvAxyz");const an=[0,2,3,5,6,7,9,10,11],Vt={encode(r){let e="";for(let t=0;t<r.length;t+=8){const n=r.subarray(t,t+8);e+=Lr.encode(n).padStart(an[n.length],"1")}return e},decode(r){let e=[];for(let t=0;t<r.length;t+=11){const n=r.slice(t,t+11),i=an.indexOf(n.length),a=Lr.decode(n);for(let c=0;c<a.length-i;c++)if(a[c]!==0)throw new Error("base58xmr: wrong padding");e=e.concat(Array.from(a.slice(a.length-i)))}return Uint8Array.from(e)}},jr=me(we("qpzry9x8gf2tvdw0s3jn54khce6mua7l"),be("")),on=[996825010,642813549,513874426,1027748829,705979059];function Ve(r){const e=r>>25;let t=(r&33554431)<<5;for(let n=0;n<on.length;n++)(e>>n&1)===1&&(t^=on[n]);return t}function cn(r,e,t=1){const n=r.length;let i=1;for(let a=0;a<n;a++){const c=r.charCodeAt(a);if(c<33||c>126)throw new Error(`Invalid prefix (${r})`);i=Ve(i)^c>>5}i=Ve(i);for(let a=0;a<n;a++)i=Ve(i)^r.charCodeAt(a)&31;for(let a of e)i=Ve(i)^a;for(let a=0;a<6;a++)i=Ve(i);return i^=t,jr.encode(Cr([i%2**30],30,5,!1))}function Wn(r){const e=r==="bech32"?1:734539939,t=Ae(5),n=t.decode,i=t.encode,a=sn(n);function c(v,_,k=90){if(typeof v!="string")throw new Error(`bech32.encode prefix should be string, not ${typeof v}`);if(!Array.isArray(_)||_.length&&typeof _[0]!="number")throw new Error(`bech32.encode words should be array of numbers, not ${typeof _}`);const C=v.length+7+_.length;if(k!==!1&&C>k)throw new TypeError(`Length ${C} exceeds limit ${k}`);return v=v.toLowerCase(),`${v}1${jr.encode(_)}${cn(v,_,e)}`}function h(v,_=90){if(typeof v!="string")throw new Error(`bech32.decode input should be string, not ${typeof v}`);if(v.length<8||_!==!1&&v.length>_)throw new TypeError(`Wrong string length: ${v.length} (${v}). Expected (8..${_})`);const k=v.toLowerCase();if(v!==k&&v!==v.toUpperCase())throw new Error("String must be lowercase or uppercase");v=k;const C=v.lastIndexOf("1");if(C===0||C===-1)throw new Error('Letter "1" must be present between prefix and data only');const $=v.slice(0,C),A=v.slice(C+1);if(A.length<6)throw new Error("Data must be at least 6 characters long");const S=jr.decode(A).slice(0,-6),L=cn($,S,e);if(!A.endsWith(L))throw new Error(`Invalid checksum in ${v}: expected "${L}"`);return{prefix:$,words:S}}const p=sn(h);function b(v){const{prefix:_,words:k}=h(v,!1);return{prefix:_,words:k,bytes:n(k)}}return{encode:c,decode:h,decodeToBytes:b,decodeUnsafe:p,fromWords:n,fromWordsUnsafe:a,toWords:i}}const tr=Wn("bech32");Wn("bech32m");const Dt={encode:r=>new TextDecoder().decode(r),decode:r=>new TextEncoder().encode(r)},Ft=me(Ae(4),we("0123456789abcdef"),be(""),Fn(r=>{if(typeof r!="string"||r.length%2)throw new TypeError(`hex.decode: expected string, got ${typeof r} with length ${r.length}`);return r.toLowerCase()})),Gt={utf8:Dt,hex:Ft,base16:Ot,base32:Rt,base64:Ut,base64url:qt,base58:Lr,base58xmr:Vt};`${Object.keys(Gt).join(", ")}`;var De=new TextDecoder("utf-8");new TextEncoder;var Kn=5e3;function Wt(r){var i,a,c,h,p,b,v,_;let{prefix:e,words:t}=tr.decode(r,Kn),n=new Uint8Array(tr.fromWords(t));switch(e){case"nprofile":{let k=Xe(n);if(!((i=k[0])!=null&&i[0]))throw new Error("missing TLV 0 for nprofile");if(k[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");return{type:"nprofile",data:{pubkey:ce(k[0][0]),relays:k[1]?k[1].map(C=>De.decode(C)):[]}}}case"nevent":{let k=Xe(n);if(!((a=k[0])!=null&&a[0]))throw new Error("missing TLV 0 for nevent");if(k[0][0].length!==32)throw new Error("TLV 0 should be 32 bytes");if(k[2]&&k[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(k[3]&&k[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"nevent",data:{id:ce(k[0][0]),relays:k[1]?k[1].map(C=>De.decode(C)):[],author:(c=k[2])!=null&&c[0]?ce(k[2][0]):void 0,kind:(h=k[3])!=null&&h[0]?parseInt(ce(k[3][0]),16):void 0}}}case"naddr":{let k=Xe(n);if(!((p=k[0])!=null&&p[0]))throw new Error("missing TLV 0 for naddr");if(!((b=k[2])!=null&&b[0]))throw new Error("missing TLV 2 for naddr");if(k[2][0].length!==32)throw new Error("TLV 2 should be 32 bytes");if(!((v=k[3])!=null&&v[0]))throw new Error("missing TLV 3 for naddr");if(k[3][0].length!==4)throw new Error("TLV 3 should be 4 bytes");return{type:"naddr",data:{identifier:De.decode(k[0][0]),pubkey:ce(k[2][0]),kind:parseInt(ce(k[3][0]),16),relays:k[1]?k[1].map(C=>De.decode(C)):[]}}}case"nrelay":{let k=Xe(n);if(!((_=k[0])!=null&&_[0]))throw new Error("missing TLV 0 for nrelay");return{type:"nrelay",data:De.decode(k[0][0])}}case"nsec":return{type:e,data:n};case"npub":case"note":return{type:e,data:ce(n)};default:throw new Error(`unknown prefix ${e}`)}}function Xe(r){let e={},t=r;for(;t.length>0;){let n=t[0],i=t[1],a=t.slice(2,2+i);if(t=t.slice(2+i),a.length<i)throw new Error(`not enough data to read on TLV ${n}`);e[n]=e[n]||[],e[n].push(a)}return e}function Zn(r){return Yn("npub",qn(r))}function Kt(r){return Yn("note",qn(r))}function Zt(r,e){let t=tr.toWords(e);return tr.encode(r,t,Kn)}function Yn(r,e){return Zt(r,e)}const Fr=()=>{var h;const r=document.querySelector('meta[name="author"]'),e=document.querySelector('meta[name="relays"]'),t=document.querySelector('meta[name="top-notes"]');if(!r||!e||!t)throw new Error("Missing meta tags for configuration");const n=r.getAttribute("value");let i;if(n)try{const{type:p,data:b}=Wt(n);i=b}catch(p){console.error("Failed to decode npub:",p),i=""}const a=(h=e.getAttribute("value"))==null?void 0:h.split(",").map(p=>p.trim()),c=t.getAttribute("value")||0;return{publicKey:i,relays:a,topNotes:c}},Me=[];function Yt(r,e=ae){let t;const n=new Set;function i(h){if(or(r,h)&&(r=h,t)){const p=!Me.length;for(const b of n)b[1](),Me.push(b,r);if(p){for(let b=0;b<Me.length;b+=2)Me[b][0](Me[b+1]);Me.length=0}}}function a(h){i(h(r))}function c(h,p=ae){const b=[h,p];return n.add(b),n.size===1&&(t=e(i,a)||ae),h(r),()=>{n.delete(b),n.size===0&&t&&(t(),t=null)}}return{set:i,update:a,subscribe:c}}const dr=Yt("");function fn(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function xn(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function xt(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");fn(r.outputLen),fn(r.blockLen)}function ur(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Qt(r,e){xn(r);const t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const _r=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;/*! noble-hashes - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Qn=r=>r instanceof Uint8Array,yr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),pe=(r,e)=>r<<32-e|r>>>e,Jt=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Jt)throw new Error("Non little-endian hardware is not supported");function Xt(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Gr(r){if(typeof r=="string"&&(r=Xt(r)),!Qn(r))throw new Error(`expected Uint8Array, got ${typeof r}`);return r}function ed(...r){const e=new Uint8Array(r.reduce((n,i)=>n+i.length,0));let t=0;return r.forEach(n=>{if(!Qn(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}class Jn{clone(){return this._cloneInto()}}function rd(r){const e=n=>r().update(Gr(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Xn(r=32){if(_r&&typeof _r.getRandomValues=="function")return _r.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function nd(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);const i=BigInt(32),a=BigInt(4294967295),c=Number(t>>i&a),h=Number(t&a),p=n?4:0,b=n?0:4;r.setUint32(e+p,c,n),r.setUint32(e+b,h,n)}let td=class extends Jn{constructor(e,t,n,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=yr(this.buffer)}update(e){ur(this);const{view:t,buffer:n,blockLen:i}=this;e=Gr(e);const a=e.length;for(let c=0;c<a;){const h=Math.min(i-this.pos,a-c);if(h===i){const p=yr(e);for(;i<=a-c;c+=i)this.process(p,c);continue}n.set(e.subarray(c,c+h),this.pos),this.pos+=h,c+=h,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){ur(this),Qt(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:i,isLE:a}=this;let{pos:c}=this;t[c++]=128,this.buffer.subarray(c).fill(0),this.padOffset>i-c&&(this.process(n,0),c=0);for(let _=c;_<i;_++)t[_]=0;nd(n,i-8,BigInt(this.length*8),a),this.process(n,0);const h=yr(e),p=this.outputLen;if(p%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const b=p/4,v=this.get();if(b>v.length)throw new Error("_sha2: outputLen bigger than state");for(let _=0;_<b;_++)h.setUint32(4*_,v[_],a)}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:i,finished:a,destroyed:c,pos:h}=this;return e.length=i,e.pos=h,e.finished=a,e.destroyed=c,i%t&&e.buffer.set(n),e}};const dd=(r,e,t)=>r&e^~r&t,ud=(r,e,t)=>r&e^r&t^e&t,sd=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]),ye=new Uint32Array(64);let id=class extends td{constructor(){super(64,32,8,!1),this.A=_e[0]|0,this.B=_e[1]|0,this.C=_e[2]|0,this.D=_e[3]|0,this.E=_e[4]|0,this.F=_e[5]|0,this.G=_e[6]|0,this.H=_e[7]|0}get(){const{A:e,B:t,C:n,D:i,E:a,F:c,G:h,H:p}=this;return[e,t,n,i,a,c,h,p]}set(e,t,n,i,a,c,h,p){this.A=e|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=a|0,this.F=c|0,this.G=h|0,this.H=p|0}process(e,t){for(let _=0;_<16;_++,t+=4)ye[_]=e.getUint32(t,!1);for(let _=16;_<64;_++){const k=ye[_-15],C=ye[_-2],$=pe(k,7)^pe(k,18)^k>>>3,A=pe(C,17)^pe(C,19)^C>>>10;ye[_]=A+ye[_-7]+$+ye[_-16]|0}let{A:n,B:i,C:a,D:c,E:h,F:p,G:b,H:v}=this;for(let _=0;_<64;_++){const k=pe(h,6)^pe(h,11)^pe(h,25),C=v+k+dd(h,p,b)+sd[_]+ye[_]|0,A=(pe(n,2)^pe(n,13)^pe(n,22))+ud(n,i,a)|0;v=b,b=p,p=h,h=c+C|0,c=a,a=i,i=n,n=C+A|0}n=n+this.A|0,i=i+this.B|0,a=a+this.C|0,c=c+this.D|0,h=h+this.E|0,p=p+this.F|0,b=b+this.G|0,v=v+this.H|0,this.set(n,i,a,c,h,p,b,v)}roundClean(){ye.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};const $r=rd(()=>new id);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const et=BigInt(0),lr=BigInt(1),ad=BigInt(2),hr=r=>r instanceof Uint8Array,od=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function Oe(r){if(!hr(r))throw new Error("Uint8Array expected");let e="";for(let t=0;t<r.length;t++)e+=od[r[t]];return e}function rt(r){const e=r.toString(16);return e.length&1?`0${e}`:e}function Wr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}function Re(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);const e=r.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);const t=new Uint8Array(e/2);for(let n=0;n<t.length;n++){const i=n*2,a=r.slice(i,i+2),c=Number.parseInt(a,16);if(Number.isNaN(c)||c<0)throw new Error("Invalid byte sequence");t[n]=c}return t}function de(r){return Wr(Oe(r))}function Kr(r){if(!hr(r))throw new Error("Uint8Array expected");return Wr(Oe(Uint8Array.from(r).reverse()))}function Se(r,e){return Re(r.toString(16).padStart(e*2,"0"))}function Zr(r,e){return Se(r,e).reverse()}function cd(r){return Re(rt(r))}function ne(r,e,t){let n;if(typeof e=="string")try{n=Re(e)}catch(a){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${a}`)}else if(hr(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);const i=n.length;if(typeof t=="number"&&i!==t)throw new Error(`${r} expected ${t} bytes, got ${i}`);return n}function $e(...r){const e=new Uint8Array(r.reduce((n,i)=>n+i.length,0));let t=0;return r.forEach(n=>{if(!hr(n))throw new Error("Uint8Array expected");e.set(n,t),t+=n.length}),e}function fd(r,e){if(r.length!==e.length)return!1;for(let t=0;t<r.length;t++)if(r[t]!==e[t])return!1;return!0}function ld(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function hd(r){let e;for(e=0;r>et;r>>=lr,e+=1);return e}function pd(r,e){return r>>BigInt(e)&lr}const gd=(r,e,t)=>r|(t?lr:et)<<BigInt(e),Yr=r=>(ad<<BigInt(r-1))-lr,vr=r=>new Uint8Array(r),ln=r=>Uint8Array.from(r);function nt(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=vr(r),i=vr(r),a=0;const c=()=>{n.fill(1),i.fill(0),a=0},h=(..._)=>t(i,n,..._),p=(_=vr())=>{i=h(ln([0]),_),n=h(),_.length!==0&&(i=h(ln([1]),_),n=h())},b=()=>{if(a++>=1e3)throw new Error("drbg: tried 1000 values");let _=0;const k=[];for(;_<e;){n=h();const C=n.slice();k.push(C),_+=n.length}return $e(...k)};return(_,k)=>{c(),p(_);let C;for(;!(C=k(b()));)p();return c(),C}}const md={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||r instanceof Uint8Array,isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function xe(r,e,t={}){const n=(i,a,c)=>{const h=md[a];if(typeof h!="function")throw new Error(`Invalid validator "${a}", expected function`);const p=r[i];if(!(c&&p===void 0)&&!h(p,r))throw new Error(`Invalid param ${String(i)}=${p} (${typeof p}), expected ${a}`)};for(const[i,a]of Object.entries(e))n(i,a,!1);for(const[i,a]of Object.entries(t))n(i,a,!0);return r}const wd=Object.freeze(Object.defineProperty({__proto__:null,bitGet:pd,bitLen:hd,bitMask:Yr,bitSet:gd,bytesToHex:Oe,bytesToNumberBE:de,bytesToNumberLE:Kr,concatBytes:$e,createHmacDrbg:nt,ensureBytes:ne,equalBytes:fd,hexToBytes:Re,hexToNumber:Wr,numberToBytesBE:Se,numberToBytesLE:Zr,numberToHexUnpadded:rt,numberToVarBytesBE:cd,utf8ToBytes:ld,validateObject:xe},Symbol.toStringTag,{value:"Module"}));/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const X=BigInt(0),Q=BigInt(1),Be=BigInt(2),bd=BigInt(3),Tr=BigInt(4),hn=BigInt(5),pn=BigInt(8);BigInt(9);BigInt(16);function re(r,e){const t=r%e;return t>=X?t:e+t}function _d(r,e,t){if(t<=X||e<X)throw new Error("Expected power/modulo > 0");if(t===Q)return X;let n=Q;for(;e>X;)e&Q&&(n=n*r%t),r=r*r%t,e>>=Q;return n}function ue(r,e,t){let n=r;for(;e-- >X;)n*=n,n%=t;return n}function zr(r,e){if(r===X||e<=X)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=re(r,e),n=e,i=X,a=Q;for(;t!==X;){const h=n/t,p=n%t,b=i-a*h;n=t,t=p,i=a,a=b}if(n!==Q)throw new Error("invert: does not exist");return re(i,e)}function yd(r){const e=(r-Q)/Be;let t,n,i;for(t=r-Q,n=0;t%Be===X;t/=Be,n++);for(i=Be;i<r&&_d(i,e,r)!==r-Q;i++);if(n===1){const c=(r+Q)/Tr;return function(p,b){const v=p.pow(b,c);if(!p.eql(p.sqr(v),b))throw new Error("Cannot find square root");return v}}const a=(t+Q)/Be;return function(h,p){if(h.pow(p,e)===h.neg(h.ONE))throw new Error("Cannot find square root");let b=n,v=h.pow(h.mul(h.ONE,i),t),_=h.pow(p,a),k=h.pow(p,t);for(;!h.eql(k,h.ONE);){if(h.eql(k,h.ZERO))return h.ZERO;let C=1;for(let A=h.sqr(k);C<b&&!h.eql(A,h.ONE);C++)A=h.sqr(A);const $=h.pow(v,Q<<BigInt(b-C-1));v=h.sqr($),_=h.mul(_,$),k=h.mul(k,v),b=C}return _}}function vd(r){if(r%Tr===bd){const e=(r+Q)/Tr;return function(n,i){const a=n.pow(i,e);if(!n.eql(n.sqr(a),i))throw new Error("Cannot find square root");return a}}if(r%pn===hn){const e=(r-hn)/pn;return function(n,i){const a=n.mul(i,Be),c=n.pow(a,e),h=n.mul(i,c),p=n.mul(n.mul(h,Be),c),b=n.mul(h,n.sub(p,n.ONE));if(!n.eql(n.sqr(b),i))throw new Error("Cannot find square root");return b}}return yd(r)}const kd=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ed(r){const e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=kd.reduce((n,i)=>(n[i]="function",n),e);return xe(r,t)}function Sd(r,e,t){if(t<X)throw new Error("Expected power > 0");if(t===X)return r.ONE;if(t===Q)return e;let n=r.ONE,i=e;for(;t>X;)t&Q&&(n=r.mul(n,i)),i=r.sqr(i),t>>=Q;return n}function Ad(r,e){const t=new Array(e.length),n=e.reduce((a,c,h)=>r.is0(c)?a:(t[h]=a,r.mul(a,c)),r.ONE),i=r.inv(n);return e.reduceRight((a,c,h)=>r.is0(c)?a:(t[h]=r.mul(a,t[h]),r.mul(a,c)),i),t}function tt(r,e){const t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function Pd(r,e,t=!1,n={}){if(r<=X)throw new Error(`Expected Field ORDER > 0, got ${r}`);const{nBitLength:i,nByteLength:a}=tt(r,e);if(a>2048)throw new Error("Field lengths over 2048 bytes are not supported");const c=vd(r),h=Object.freeze({ORDER:r,BITS:i,BYTES:a,MASK:Yr(i),ZERO:X,ONE:Q,create:p=>re(p,r),isValid:p=>{if(typeof p!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof p}`);return X<=p&&p<r},is0:p=>p===X,isOdd:p=>(p&Q)===Q,neg:p=>re(-p,r),eql:(p,b)=>p===b,sqr:p=>re(p*p,r),add:(p,b)=>re(p+b,r),sub:(p,b)=>re(p-b,r),mul:(p,b)=>re(p*b,r),pow:(p,b)=>Sd(h,p,b),div:(p,b)=>re(p*zr(b,r),r),sqrN:p=>p*p,addN:(p,b)=>p+b,subN:(p,b)=>p-b,mulN:(p,b)=>p*b,inv:p=>zr(p,r),sqrt:n.sqrt||(p=>c(h,p)),invertBatch:p=>Ad(h,p),cmov:(p,b,v)=>v?b:p,toBytes:p=>t?Zr(p,a):Se(p,a),fromBytes:p=>{if(p.length!==a)throw new Error(`Fp.fromBytes: expected ${a}, got ${p.length}`);return t?Kr(p):de(p)}});return Object.freeze(h)}function dt(r){if(typeof r!="bigint")throw new Error("field order must be bigint");const e=r.toString(2).length;return Math.ceil(e/8)}function ut(r){const e=dt(r);return e+Math.ceil(e/2)}function Bd(r,e,t=!1){const n=r.length,i=dt(e),a=ut(e);if(n<16||n<a||n>1024)throw new Error(`expected ${a}-1024 bytes of input, got ${n}`);const c=t?de(r):Kr(r),h=re(c,e-Q)+Q;return t?Zr(h,i):Se(h,i)}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const Cd=BigInt(0),kr=BigInt(1);function Ld(r,e){const t=(i,a)=>{const c=a.negate();return i?c:a},n=i=>{const a=Math.ceil(e/i)+1,c=2**(i-1);return{windows:a,windowSize:c}};return{constTimeNegate:t,unsafeLadder(i,a){let c=r.ZERO,h=i;for(;a>Cd;)a&kr&&(c=c.add(h)),h=h.double(),a>>=kr;return c},precomputeWindow(i,a){const{windows:c,windowSize:h}=n(a),p=[];let b=i,v=b;for(let _=0;_<c;_++){v=b,p.push(v);for(let k=1;k<h;k++)v=v.add(b),p.push(v);b=v.double()}return p},wNAF(i,a,c){const{windows:h,windowSize:p}=n(i);let b=r.ZERO,v=r.BASE;const _=BigInt(2**i-1),k=2**i,C=BigInt(i);for(let $=0;$<h;$++){const A=$*p;let S=Number(c&_);c>>=C,S>p&&(S-=k,c+=kr);const L=A,z=A+Math.abs(S)-1,N=$%2!==0,d=S<0;S===0?v=v.add(t(N,a[L])):b=b.add(t(d,a[z]))}return{p:b,f:v}},wNAFCached(i,a,c,h){const p=i._WINDOW_SIZE||1;let b=a.get(i);return b||(b=this.precomputeWindow(i,p),p!==1&&a.set(i,h(b))),this.wNAF(p,b,c)}}}function st(r){return Ed(r.Fp),xe(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...tt(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function jd(r){const e=st(r);xe(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});const{endo:t,Fp:n,a:i}=e;if(t){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof t!="object"||typeof t.beta!="bigint"||typeof t.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}const{bytesToNumberBE:$d,hexToBytes:Td}=wd,Le={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(r){const{Err:e}=Le;if(r.length<2||r[0]!==2)throw new e("Invalid signature integer tag");const t=r[1],n=r.subarray(2,t+2);if(!t||n.length!==t)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:$d(n),l:r.subarray(t+2)}},toSig(r){const{Err:e}=Le,t=typeof r=="string"?Td(r):r;if(!(t instanceof Uint8Array))throw new Error("ui8a expected");let n=t.length;if(n<2||t[0]!=48)throw new e("Invalid signature tag");if(t[1]!==n-2)throw new e("Invalid signature: incorrect length");const{d:i,l:a}=Le._parseInt(t.subarray(2)),{d:c,l:h}=Le._parseInt(a);if(h.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:c}},hexFromSig(r){const e=b=>Number.parseInt(b[0],16)&8?"00"+b:b,t=b=>{const v=b.toString(16);return v.length&1?`0${v}`:v},n=e(t(r.s)),i=e(t(r.r)),a=n.length/2,c=i.length/2,h=t(a),p=t(c);return`30${t(c+a+4)}02${p}${i}02${h}${n}`}},ge=BigInt(0),se=BigInt(1);BigInt(2);const gn=BigInt(3);BigInt(4);function zd(r){const e=jd(r),{Fp:t}=e,n=e.toBytes||(($,A,S)=>{const L=A.toAffine();return $e(Uint8Array.from([4]),t.toBytes(L.x),t.toBytes(L.y))}),i=e.fromBytes||($=>{const A=$.subarray(1),S=t.fromBytes(A.subarray(0,t.BYTES)),L=t.fromBytes(A.subarray(t.BYTES,2*t.BYTES));return{x:S,y:L}});function a($){const{a:A,b:S}=e,L=t.sqr($),z=t.mul(L,$);return t.add(t.add(z,t.mul($,A)),S)}if(!t.eql(t.sqr(e.Gy),a(e.Gx)))throw new Error("bad generator point: equation left != right");function c($){return typeof $=="bigint"&&ge<$&&$<e.n}function h($){if(!c($))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function p($){const{allowedPrivateKeyLengths:A,nByteLength:S,wrapPrivateKey:L,n:z}=e;if(A&&typeof $!="bigint"){if($ instanceof Uint8Array&&($=Oe($)),typeof $!="string"||!A.includes($.length))throw new Error("Invalid key");$=$.padStart(S*2,"0")}let N;try{N=typeof $=="bigint"?$:de(ne("private key",$,S))}catch{throw new Error(`private key must be ${S} bytes, hex or bigint, not ${typeof $}`)}return L&&(N=re(N,z)),h(N),N}const b=new Map;function v($){if(!($ instanceof _))throw new Error("ProjectivePoint expected")}class _{constructor(A,S,L){if(this.px=A,this.py=S,this.pz=L,A==null||!t.isValid(A))throw new Error("x required");if(S==null||!t.isValid(S))throw new Error("y required");if(L==null||!t.isValid(L))throw new Error("z required")}static fromAffine(A){const{x:S,y:L}=A||{};if(!A||!t.isValid(S)||!t.isValid(L))throw new Error("invalid affine point");if(A instanceof _)throw new Error("projective point not allowed");const z=N=>t.eql(N,t.ZERO);return z(S)&&z(L)?_.ZERO:new _(S,L,t.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(A){const S=t.invertBatch(A.map(L=>L.pz));return A.map((L,z)=>L.toAffine(S[z])).map(_.fromAffine)}static fromHex(A){const S=_.fromAffine(i(ne("pointHex",A)));return S.assertValidity(),S}static fromPrivateKey(A){return _.BASE.multiply(p(A))}_setWindowSize(A){this._WINDOW_SIZE=A,b.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!t.is0(this.py))return;throw new Error("bad point: ZERO")}const{x:A,y:S}=this.toAffine();if(!t.isValid(A)||!t.isValid(S))throw new Error("bad point: x or y not FE");const L=t.sqr(S),z=a(A);if(!t.eql(L,z))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){const{y:A}=this.toAffine();if(t.isOdd)return!t.isOdd(A);throw new Error("Field doesn't support isOdd")}equals(A){v(A);const{px:S,py:L,pz:z}=this,{px:N,py:d,pz:s}=A,u=t.eql(t.mul(S,s),t.mul(N,z)),o=t.eql(t.mul(L,s),t.mul(d,z));return u&&o}negate(){return new _(this.px,t.neg(this.py),this.pz)}double(){const{a:A,b:S}=e,L=t.mul(S,gn),{px:z,py:N,pz:d}=this;let s=t.ZERO,u=t.ZERO,o=t.ZERO,g=t.mul(z,z),m=t.mul(N,N),l=t.mul(d,d),w=t.mul(z,N);return w=t.add(w,w),o=t.mul(z,d),o=t.add(o,o),s=t.mul(A,o),u=t.mul(L,l),u=t.add(s,u),s=t.sub(m,u),u=t.add(m,u),u=t.mul(s,u),s=t.mul(w,s),o=t.mul(L,o),l=t.mul(A,l),w=t.sub(g,l),w=t.mul(A,w),w=t.add(w,o),o=t.add(g,g),g=t.add(o,g),g=t.add(g,l),g=t.mul(g,w),u=t.add(u,g),l=t.mul(N,d),l=t.add(l,l),g=t.mul(l,w),s=t.sub(s,g),o=t.mul(l,m),o=t.add(o,o),o=t.add(o,o),new _(s,u,o)}add(A){v(A);const{px:S,py:L,pz:z}=this,{px:N,py:d,pz:s}=A;let u=t.ZERO,o=t.ZERO,g=t.ZERO;const m=e.a,l=t.mul(e.b,gn);let w=t.mul(S,N),B=t.mul(L,d),P=t.mul(z,s),j=t.add(S,L),y=t.add(N,d);j=t.mul(j,y),y=t.add(w,B),j=t.sub(j,y),y=t.add(S,z);let f=t.add(N,s);return y=t.mul(y,f),f=t.add(w,P),y=t.sub(y,f),f=t.add(L,z),u=t.add(d,s),f=t.mul(f,u),u=t.add(B,P),f=t.sub(f,u),g=t.mul(m,y),u=t.mul(l,P),g=t.add(u,g),u=t.sub(B,g),g=t.add(B,g),o=t.mul(u,g),B=t.add(w,w),B=t.add(B,w),P=t.mul(m,P),y=t.mul(l,y),B=t.add(B,P),P=t.sub(w,P),P=t.mul(m,P),y=t.add(y,P),w=t.mul(B,y),o=t.add(o,w),w=t.mul(f,y),u=t.mul(j,u),u=t.sub(u,w),w=t.mul(j,B),g=t.mul(f,g),g=t.add(g,w),new _(u,o,g)}subtract(A){return this.add(A.negate())}is0(){return this.equals(_.ZERO)}wNAF(A){return C.wNAFCached(this,b,A,S=>{const L=t.invertBatch(S.map(z=>z.pz));return S.map((z,N)=>z.toAffine(L[N])).map(_.fromAffine)})}multiplyUnsafe(A){const S=_.ZERO;if(A===ge)return S;if(h(A),A===se)return this;const{endo:L}=e;if(!L)return C.unsafeLadder(this,A);let{k1neg:z,k1:N,k2neg:d,k2:s}=L.splitScalar(A),u=S,o=S,g=this;for(;N>ge||s>ge;)N&se&&(u=u.add(g)),s&se&&(o=o.add(g)),g=g.double(),N>>=se,s>>=se;return z&&(u=u.negate()),d&&(o=o.negate()),o=new _(t.mul(o.px,L.beta),o.py,o.pz),u.add(o)}multiply(A){h(A);let S=A,L,z;const{endo:N}=e;if(N){const{k1neg:d,k1:s,k2neg:u,k2:o}=N.splitScalar(S);let{p:g,f:m}=this.wNAF(s),{p:l,f:w}=this.wNAF(o);g=C.constTimeNegate(d,g),l=C.constTimeNegate(u,l),l=new _(t.mul(l.px,N.beta),l.py,l.pz),L=g.add(l),z=m.add(w)}else{const{p:d,f:s}=this.wNAF(S);L=d,z=s}return _.normalizeZ([L,z])[0]}multiplyAndAddUnsafe(A,S,L){const z=_.BASE,N=(s,u)=>u===ge||u===se||!s.equals(z)?s.multiplyUnsafe(u):s.multiply(u),d=N(this,S).add(N(A,L));return d.is0()?void 0:d}toAffine(A){const{px:S,py:L,pz:z}=this,N=this.is0();A==null&&(A=N?t.ONE:t.inv(z));const d=t.mul(S,A),s=t.mul(L,A),u=t.mul(z,A);if(N)return{x:t.ZERO,y:t.ZERO};if(!t.eql(u,t.ONE))throw new Error("invZ was invalid");return{x:d,y:s}}isTorsionFree(){const{h:A,isTorsionFree:S}=e;if(A===se)return!0;if(S)return S(_,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){const{h:A,clearCofactor:S}=e;return A===se?this:S?S(_,this):this.multiplyUnsafe(e.h)}toRawBytes(A=!0){return this.assertValidity(),n(_,this,A)}toHex(A=!0){return Oe(this.toRawBytes(A))}}_.BASE=new _(e.Gx,e.Gy,t.ONE),_.ZERO=new _(t.ZERO,t.ONE,t.ZERO);const k=e.nBitLength,C=Ld(_,e.endo?Math.ceil(k/2):k);return{CURVE:e,ProjectivePoint:_,normPrivateKeyToScalar:p,weierstrassEquation:a,isWithinCurveOrder:c}}function Md(r){const e=st(r);return xe(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Id(r){const e=Md(r),{Fp:t,n}=e,i=t.BYTES+1,a=2*t.BYTES+1;function c(y){return ge<y&&y<t.ORDER}function h(y){return re(y,n)}function p(y){return zr(y,n)}const{ProjectivePoint:b,normPrivateKeyToScalar:v,weierstrassEquation:_,isWithinCurveOrder:k}=zd({...e,toBytes(y,f,E){const T=f.toAffine(),M=t.toBytes(T.x),O=$e;return E?O(Uint8Array.from([f.hasEvenY()?2:3]),M):O(Uint8Array.from([4]),M,t.toBytes(T.y))},fromBytes(y){const f=y.length,E=y[0],T=y.subarray(1);if(f===i&&(E===2||E===3)){const M=de(T);if(!c(M))throw new Error("Point is not on curve");const O=_(M);let I=t.sqrt(O);const U=(I&se)===se;return(E&1)===1!==U&&(I=t.neg(I)),{x:M,y:I}}else if(f===a&&E===4){const M=t.fromBytes(T.subarray(0,t.BYTES)),O=t.fromBytes(T.subarray(t.BYTES,2*t.BYTES));return{x:M,y:O}}else throw new Error(`Point of length ${f} was invalid. Expected ${i} compressed bytes or ${a} uncompressed bytes`)}}),C=y=>Oe(Se(y,e.nByteLength));function $(y){const f=n>>se;return y>f}function A(y){return $(y)?h(-y):y}const S=(y,f,E)=>de(y.slice(f,E));class L{constructor(f,E,T){this.r=f,this.s=E,this.recovery=T,this.assertValidity()}static fromCompact(f){const E=e.nByteLength;return f=ne("compactSignature",f,E*2),new L(S(f,0,E),S(f,E,2*E))}static fromDER(f){const{r:E,s:T}=Le.toSig(ne("DER",f));return new L(E,T)}assertValidity(){if(!k(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!k(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(f){return new L(this.r,this.s,f)}recoverPublicKey(f){const{r:E,s:T,recovery:M}=this,O=o(ne("msgHash",f));if(M==null||![0,1,2,3].includes(M))throw new Error("recovery id invalid");const I=M===2||M===3?E+e.n:E;if(I>=t.ORDER)throw new Error("recovery id 2 or 3 invalid");const U=M&1?"03":"02",D=b.fromHex(U+C(I)),J=p(I),K=h(-O*J),x=h(T*J),Y=b.BASE.multiplyAndAddUnsafe(D,K,x);if(!Y)throw new Error("point at infinify");return Y.assertValidity(),Y}hasHighS(){return $(this.s)}normalizeS(){return this.hasHighS()?new L(this.r,h(-this.s),this.recovery):this}toDERRawBytes(){return Re(this.toDERHex())}toDERHex(){return Le.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Re(this.toCompactHex())}toCompactHex(){return C(this.r)+C(this.s)}}const z={isValidPrivateKey(y){try{return v(y),!0}catch{return!1}},normPrivateKeyToScalar:v,randomPrivateKey:()=>{const y=ut(e.n);return Bd(e.randomBytes(y),e.n)},precompute(y=8,f=b.BASE){return f._setWindowSize(y),f.multiply(BigInt(3)),f}};function N(y,f=!0){return b.fromPrivateKey(y).toRawBytes(f)}function d(y){const f=y instanceof Uint8Array,E=typeof y=="string",T=(f||E)&&y.length;return f?T===i||T===a:E?T===2*i||T===2*a:y instanceof b}function s(y,f,E=!0){if(d(y))throw new Error("first arg must be private key");if(!d(f))throw new Error("second arg must be public key");return b.fromHex(f).multiply(v(y)).toRawBytes(E)}const u=e.bits2int||function(y){const f=de(y),E=y.length*8-e.nBitLength;return E>0?f>>BigInt(E):f},o=e.bits2int_modN||function(y){return h(u(y))},g=Yr(e.nBitLength);function m(y){if(typeof y!="bigint")throw new Error("bigint expected");if(!(ge<=y&&y<g))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Se(y,e.nByteLength)}function l(y,f,E=w){if(["recovered","canonical"].some(oe=>oe in E))throw new Error("sign() legacy options not supported");const{hash:T,randomBytes:M}=e;let{lowS:O,prehash:I,extraEntropy:U}=E;O==null&&(O=!0),y=ne("msgHash",y),I&&(y=ne("prehashed msgHash",T(y)));const D=o(y),J=v(f),K=[m(J),m(D)];if(U!=null){const oe=U===!0?M(t.BYTES):U;K.push(ne("extraEntropy",oe))}const x=$e(...K),Y=D;function ee(oe){const fe=u(oe);if(!k(fe))return;const qe=p(fe),le=b.BASE.multiply(fe).toAffine(),te=h(le.x);if(te===ge)return;const Te=h(qe*h(Y+te*J));if(Te===ge)return;let en=(le.x===te?0:2)|Number(le.y&se),rn=Te;return O&&$(Te)&&(rn=A(Te),en^=1),new L(te,rn,en)}return{seed:x,k2sig:ee}}const w={lowS:e.lowS,prehash:!1},B={lowS:e.lowS,prehash:!1};function P(y,f,E=w){const{seed:T,k2sig:M}=l(y,f,E),O=e;return nt(O.hash.outputLen,O.nByteLength,O.hmac)(T,M)}b.BASE._setWindowSize(8);function j(y,f,E,T=B){var le;const M=y;if(f=ne("msgHash",f),E=ne("publicKey",E),"strict"in T)throw new Error("options.strict was renamed to lowS");const{lowS:O,prehash:I}=T;let U,D;try{if(typeof M=="string"||M instanceof Uint8Array)try{U=L.fromDER(M)}catch(te){if(!(te instanceof Le.Err))throw te;U=L.fromCompact(M)}else if(typeof M=="object"&&typeof M.r=="bigint"&&typeof M.s=="bigint"){const{r:te,s:Te}=M;U=new L(te,Te)}else throw new Error("PARSE");D=b.fromHex(E)}catch(te){if(te.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(O&&U.hasHighS())return!1;I&&(f=e.hash(f));const{r:J,s:K}=U,x=o(f),Y=p(K),ee=h(x*Y),oe=h(J*Y),fe=(le=b.BASE.multiplyAndAddUnsafe(D,ee,oe))==null?void 0:le.toAffine();return fe?h(fe.x)===J:!1}return{CURVE:e,getPublicKey:N,getSharedSecret:s,sign:P,verify:j,ProjectivePoint:b,Signature:L,utils:z}}class it extends Jn{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,xt(e);const n=Gr(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;const i=this.blockLen,a=new Uint8Array(i);a.set(n.length>i?e.create().update(n).digest():n);for(let c=0;c<a.length;c++)a[c]^=54;this.iHash.update(a),this.oHash=e.create();for(let c=0;c<a.length;c++)a[c]^=106;this.oHash.update(a),a.fill(0)}update(e){return ur(this),this.iHash.update(e),this}digestInto(e){ur(this),xn(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:i,destroyed:a,blockLen:c,outputLen:h}=this;return e=e,e.finished=i,e.destroyed=a,e.blockLen=c,e.outputLen=h,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}}const at=(r,e,t)=>new it(r,e).update(t).digest();at.create=(r,e)=>new it(r,e);/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */function Hd(r){return{hash:r,hmac:(e,...t)=>at(r,e,ed(...t)),randomBytes:Xn}}function Nd(r,e){const t=n=>Id({...r,...Hd(n)});return Object.freeze({...t(e),create:t})}/*! noble-curves - MIT License (c) 2022 Paul Miller (paulmillr.com) */const pr=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sr=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),ot=BigInt(1),ir=BigInt(2),mn=(r,e)=>(r+e/ir)/e;function ct(r){const e=pr,t=BigInt(3),n=BigInt(6),i=BigInt(11),a=BigInt(22),c=BigInt(23),h=BigInt(44),p=BigInt(88),b=r*r*r%e,v=b*b*r%e,_=ue(v,t,e)*v%e,k=ue(_,t,e)*v%e,C=ue(k,ir,e)*b%e,$=ue(C,i,e)*C%e,A=ue($,a,e)*$%e,S=ue(A,h,e)*A%e,L=ue(S,p,e)*S%e,z=ue(L,h,e)*A%e,N=ue(z,t,e)*v%e,d=ue(N,c,e)*$%e,s=ue(d,n,e)*b%e,u=ue(s,ir,e);if(!Mr.eql(Mr.sqr(u),r))throw new Error("Cannot find square root");return u}const Mr=Pd(pr,void 0,void 0,{sqrt:ct}),xr=Nd({a:BigInt(0),b:BigInt(7),Fp:Mr,n:sr,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{const e=sr,t=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ot*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),a=t,c=BigInt("0x100000000000000000000000000000000"),h=mn(a*r,e),p=mn(-n*r,e);let b=re(r-h*t-p*i,e),v=re(-h*n-p*a,e);const _=b>c,k=v>c;if(_&&(b=e-b),k&&(v=e-v),b>c||v>c)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:_,k1:b,k2neg:k,k2:v}}}},$r),gr=BigInt(0),ft=r=>typeof r=="bigint"&&gr<r&&r<pr,Od=r=>typeof r=="bigint"&&gr<r&&r<sr,wn={};function ar(r,...e){let t=wn[r];if(t===void 0){const n=$r(Uint8Array.from(r,i=>i.charCodeAt(0)));t=$e(n,n),wn[r]=t}return $r($e(t,...e))}const Qr=r=>r.toRawBytes(!0).slice(1),Ir=r=>Se(r,32),Er=r=>re(r,pr),Ze=r=>re(r,sr),Jr=xr.ProjectivePoint,Rd=(r,e,t)=>Jr.BASE.multiplyAndAddUnsafe(r,e,t);function Hr(r){let e=xr.utils.normPrivateKeyToScalar(r),t=Jr.fromPrivateKey(e);return{scalar:t.hasEvenY()?e:Ze(-e),bytes:Qr(t)}}function lt(r){if(!ft(r))throw new Error("bad x: need 0 < x < p");const e=Er(r*r),t=Er(e*r+BigInt(7));let n=ct(t);n%ir!==gr&&(n=Er(-n));const i=new Jr(r,n,ot);return i.assertValidity(),i}function ht(...r){return Ze(de(ar("BIP0340/challenge",...r)))}function Ud(r){return Hr(r).bytes}function qd(r,e,t=Xn(32)){const n=ne("message",r),{bytes:i,scalar:a}=Hr(e),c=ne("auxRand",t,32),h=Ir(a^de(ar("BIP0340/aux",c))),p=ar("BIP0340/nonce",h,i,n),b=Ze(de(p));if(b===gr)throw new Error("sign failed: k is zero");const{bytes:v,scalar:_}=Hr(b),k=ht(v,i,n),C=new Uint8Array(64);if(C.set(v,0),C.set(Ir(Ze(_+k*a)),32),!pt(C,n,i))throw new Error("sign: Invalid signature produced");return C}function pt(r,e,t){const n=ne("signature",r,64),i=ne("message",e),a=ne("publicKey",t,32);try{const c=lt(de(a)),h=de(n.subarray(0,32));if(!ft(h))return!1;const p=de(n.subarray(32,64));if(!Od(p))return!1;const b=ht(Ir(h),Qr(c),i),v=Rd(c,p,Ze(-b));return!(!v||!v.hasEvenY()||v.toAffine().x!==h)}catch{return!1}}const Fe={getPublicKey:Ud,sign:qd,verify:pt,utils:{randomPrivateKey:xr.utils.randomPrivateKey,lift_x:lt,pointToBytes:Qr,numberToBytesBE:Se,bytesToNumberBE:de,taggedHash:ar,mod:re}};function Nr(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`Wrong positive integer: ${r}`)}function Vd(r){if(typeof r!="boolean")throw new Error(`Expected boolean, not ${r}`)}function gt(r,...e){if(!(r instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(r.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${r.length}`)}function Dd(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Nr(r.outputLen),Nr(r.blockLen)}function Fd(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function Gd(r,e){gt(r);const t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}const Sr={number:Nr,bool:Vd,bytes:gt,hash:Dd,exists:Fd,output:Gd};function Wd(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);const i=BigInt(32),a=BigInt(4294967295),c=Number(t>>i&a),h=Number(t&a),p=n?4:0,b=n?0:4;r.setUint32(e+p,c,n),r.setUint32(e+b,h,n)}class Kd extends Ht{constructor(e,t,n,i){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=br(this.buffer)}update(e){Sr.exists(this);const{view:t,buffer:n,blockLen:i}=this;e=Vn(e);const a=e.length;for(let c=0;c<a;){const h=Math.min(i-this.pos,a-c);if(h===i){const p=br(e);for(;i<=a-c;c+=i)this.process(p,c);continue}n.set(e.subarray(c,c+h),this.pos),this.pos+=h,c+=h,this.pos===i&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Sr.exists(this),Sr.output(e,this),this.finished=!0;const{buffer:t,view:n,blockLen:i,isLE:a}=this;let{pos:c}=this;t[c++]=128,this.buffer.subarray(c).fill(0),this.padOffset>i-c&&(this.process(n,0),c=0);for(let _=c;_<i;_++)t[_]=0;Wd(n,i-8,BigInt(this.length*8),a),this.process(n,0);const h=br(e),p=this.outputLen;if(p%4)throw new Error("_sha2: outputLen should be aligned to 32bit");const b=p/4,v=this.get();if(b>v.length)throw new Error("_sha2: outputLen bigger than state");for(let _=0;_<b;_++)h.setUint32(4*_,v[_],a)}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:i,finished:a,destroyed:c,pos:h}=this;return e.length=i,e.pos=h,e.finished=a,e.destroyed=c,i%t&&e.buffer.set(n),e}}const Zd=(r,e,t)=>r&e^~r&t,Yd=(r,e,t)=>r&e^r&t^e&t,xd=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]),ve=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ke=new Uint32Array(64);class mt extends Kd{constructor(){super(64,32,8,!1),this.A=ve[0]|0,this.B=ve[1]|0,this.C=ve[2]|0,this.D=ve[3]|0,this.E=ve[4]|0,this.F=ve[5]|0,this.G=ve[6]|0,this.H=ve[7]|0}get(){const{A:e,B:t,C:n,D:i,E:a,F:c,G:h,H:p}=this;return[e,t,n,i,a,c,h,p]}set(e,t,n,i,a,c,h,p){this.A=e|0,this.B=t|0,this.C=n|0,this.D=i|0,this.E=a|0,this.F=c|0,this.G=h|0,this.H=p|0}process(e,t){for(let _=0;_<16;_++,t+=4)ke[_]=e.getUint32(t,!1);for(let _=16;_<64;_++){const k=ke[_-15],C=ke[_-2],$=he(k,7)^he(k,18)^k>>>3,A=he(C,17)^he(C,19)^C>>>10;ke[_]=A+ke[_-7]+$+ke[_-16]|0}let{A:n,B:i,C:a,D:c,E:h,F:p,G:b,H:v}=this;for(let _=0;_<64;_++){const k=he(h,6)^he(h,11)^he(h,25),C=v+k+Zd(h,p,b)+xd[_]+ke[_]|0,A=(he(n,2)^he(n,13)^he(n,22))+Yd(n,i,a)|0;v=b,b=p,p=h,h=c+C|0,c=a,a=i,i=n,n=C+A|0}n=n+this.A|0,i=i+this.B|0,a=a+this.C|0,c=c+this.D|0,h=h+this.E|0,p=p+this.F|0,b=b+this.G|0,v=v+this.H|0,this.set(n,i,a,c,h,p,b,v)}roundClean(){ke.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}}class Qd extends mt{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 Jd=Dn(()=>new mt);Dn(()=>new Qd);var Pe=Symbol("verified"),Xd=r=>r instanceof Object;function eu(r){if(!Xd(r)||typeof r.kind!="number"||typeof r.content!="string"||typeof r.created_at!="number"||typeof r.pubkey!="string"||!r.pubkey.match(/^[a-f0-9]{64}$/)||!Array.isArray(r.tags))return!1;for(let e=0;e<r.tags.length;e++){let t=r.tags[e];if(!Array.isArray(t))return!1;for(let n=0;n<t.length;n++)if(typeof t[n]=="object")return!1}return!0}new TextDecoder("utf-8");var ru=new TextEncoder;function Ge(r){r.indexOf("://")===-1&&(r="wss://"+r);let e=new URL(r);return e.pathname=e.pathname.replace(/\/+/g,"/"),e.pathname.endsWith("/")&&(e.pathname=e.pathname.slice(0,-1)),(e.port==="80"&&e.protocol==="ws:"||e.port==="443"&&e.protocol==="wss:")&&(e.port=""),e.searchParams.sort(),e.hash="",e.toString()}var nu=class{constructor(r){V(this,"value");V(this,"next",null);V(this,"prev",null);this.value=r}},tu=class{constructor(){V(this,"first");V(this,"last");this.first=null,this.last=null}enqueue(r){const e=new nu(r);return this.last?this.last===this.first?(this.last=e,this.last.prev=this.first,this.first.next=e):(e.prev=this.last,this.last.next=e,this.last=e):(this.first=e,this.last=e),!0}dequeue(){if(!this.first)return null;if(this.first===this.last){const e=this.first;return this.first=null,this.last=null,e.value}const r=this.first;return this.first=r.next,r.value}},du=class{generateSecretKey(){return Fe.utils.randomPrivateKey()}getPublicKey(r){return ce(Fe.getPublicKey(r))}finalizeEvent(r,e){const t=r;return t.pubkey=ce(Fe.getPublicKey(e)),t.id=Ar(t),t.sig=ce(Fe.sign(Ar(t),e)),t[Pe]=!0,t}verifyEvent(r){if(typeof r[Pe]=="boolean")return r[Pe];const e=Ar(r);if(e!==r.id)return r[Pe]=!1,!1;try{const t=Fe.verify(r.sig,e,r.pubkey);return r[Pe]=t,t}catch{return r[Pe]=!1,!1}}};function uu(r){if(!eu(r))throw new Error("can't serialize event with wrong or missing properties");return JSON.stringify([0,r.pubkey,r.created_at,r.kind,r.tags,r.content])}function Ar(r){let e=Jd(ru.encode(uu(r)));return ce(e)}var mr=new du;mr.generateSecretKey;mr.getPublicKey;mr.finalizeEvent;var su=mr.verifyEvent,iu=22242;function au(r,e){if(r.ids&&r.ids.indexOf(e.id)===-1&&!r.ids.some(t=>e.id.startsWith(t))||r.kinds&&r.kinds.indexOf(e.kind)===-1||r.authors&&r.authors.indexOf(e.pubkey)===-1&&!r.authors.some(t=>e.pubkey.startsWith(t)))return!1;for(let t in r)if(t[0]==="#"){let n=t.slice(1),i=r[`#${n}`];if(i&&!e.tags.find(([a,c])=>a===t.slice(1)&&i.indexOf(c)!==-1))return!1}return!(r.since&&e.created_at<r.since||r.until&&e.created_at>r.until)}function ou(r,e){for(let t=0;t<r.length;t++)if(au(r[t],e))return!0;return!1}function cu(r,e){let t=e.length+3,n=r.indexOf(`"${e}":`)+t,i=r.slice(n).indexOf('"')+n+1;return r.slice(i,i+64)}function fu(r){let e=r.slice(0,22).indexOf('"EVENT"');if(e===-1)return null;let t=r.slice(e+7+1).indexOf('"');if(t===-1)return null;let n=e+7+1+t,i=r.slice(n+1,80).indexOf('"');if(i===-1)return null;let a=n+1+i;return r.slice(n+1,a)}function lu(r,e){return{kind:iu,created_at:Math.floor(Date.now()/1e3),tags:[["relay",r],["challenge",e]],content:""}}async function hu(){return new Promise(r=>{const e=new MessageChannel,t=()=>{e.port1.removeEventListener("message",t),r()};e.port1.addEventListener("message",t),e.port2.postMessage(0),e.port1.start()})}var pu=r=>(r[Pe]=!0,!0),wt;try{wt=WebSocket}catch{}var bt=class{constructor(r,e){V(this,"url");V(this,"_connected",!1);V(this,"onclose",null);V(this,"onnotice",r=>console.debug(`NOTICE from ${this.url}: ${r}`));V(this,"_onauth",null);V(this,"baseEoseTimeout",4400);V(this,"connectionTimeout",4400);V(this,"openSubs",new Map);V(this,"connectionTimeoutHandle");V(this,"connectionPromise");V(this,"openCountRequests",new Map);V(this,"openEventPublishes",new Map);V(this,"ws");V(this,"incomingMessageQueue",new tu);V(this,"queueRunning",!1);V(this,"challenge");V(this,"serial",0);V(this,"verifyEvent");this.url=Ge(r),this.verifyEvent=e.verifyEvent}static async connect(r,e){const t=new bt(r,e);return await t.connect(),t}closeAllSubscriptions(r){for(let[e,t]of this.openSubs)t.close(r);this.openSubs.clear();for(let[e,t]of this.openEventPublishes)t.reject(new Error(r));this.openEventPublishes.clear();for(let[e,t]of this.openCountRequests)t.reject(new Error(r));this.openCountRequests.clear()}get connected(){return this._connected}async connect(){return this.connectionPromise?this.connectionPromise:(this.challenge=void 0,this.connectionPromise=new Promise((r,e)=>{this.connectionTimeoutHandle=setTimeout(()=>{var t;e("connection timed out"),this.connectionPromise=void 0,(t=this.onclose)==null||t.call(this),this.closeAllSubscriptions("relay connection timed out")},this.connectionTimeout);try{this.ws=new wt(this.url)}catch(t){e(t);return}this.ws.onopen=()=>{clearTimeout(this.connectionTimeoutHandle),this._connected=!0,r()},this.ws.onerror=t=>{var n;e(t.message),this._connected&&(this._connected=!1,this.connectionPromise=void 0,(n=this.onclose)==null||n.call(this),this.closeAllSubscriptions("relay connection errored"))},this.ws.onclose=async()=>{var t;this._connected&&(this._connected=!1,this.connectionPromise=void 0,(t=this.onclose)==null||t.call(this),this.closeAllSubscriptions("relay connection closed"))},this.ws.onmessage=this._onmessage.bind(this)}),this.connectionPromise)}async runQueue(){for(this.queueRunning=!0;this.handleNext()!==!1;)await hu();this.queueRunning=!1}handleNext(){var t,n,i;const r=this.incomingMessageQueue.dequeue();if(!r)return!1;const e=fu(r);if(e){const a=this.openSubs.get(e);if(!a)return;const c=cu(r,"id"),h=(t=a.alreadyHaveEvent)==null?void 0:t.call(a,c);if((n=a.receivedEvent)==null||n.call(a,this,c),h)return}try{let a=JSON.parse(r);switch(a[0]){case"EVENT":{const c=this.openSubs.get(a[1]),h=a[2];this.verifyEvent(h)&&ou(c.filters,h)&&c.onevent(h);return}case"COUNT":{const c=a[1],h=a[2],p=this.openCountRequests.get(c);p&&(p.resolve(h.count),this.openCountRequests.delete(c));return}case"EOSE":{const c=this.openSubs.get(a[1]);if(!c)return;c.receivedEose();return}case"OK":{const c=a[1],h=a[2],p=a[3],b=this.openEventPublishes.get(c);h?b.resolve(p):b.reject(new Error(p)),this.openEventPublishes.delete(c);return}case"CLOSED":{const c=a[1],h=this.openSubs.get(c);if(!h)return;h.closed=!0,h.close(a[2]);return}case"NOTICE":this.onnotice(a[1]);return;case"AUTH":{this.challenge=a[1],(i=this._onauth)==null||i.call(this,a[1]);return}}}catch{return}}async send(r){if(!this.connectionPromise)throw new Error("sending on closed connection");this.connectionPromise.then(()=>{var e;(e=this.ws)==null||e.send(r)})}async auth(r){if(!this.challenge)throw new Error("can't perform auth, no challenge was received");const e=await r(lu(this.url,this.challenge)),t=new Promise((n,i)=>{this.openEventPublishes.set(e.id,{resolve:n,reject:i})});return this.send('["AUTH",'+JSON.stringify(e)+"]"),t}async publish(r){const e=new Promise((t,n)=>{this.openEventPublishes.set(r.id,{resolve:t,reject:n})});return this.send('["EVENT",'+JSON.stringify(r)+"]"),e}async count(r,e){this.serial++;const t=(e==null?void 0:e.id)||"count:"+this.serial,n=new Promise((i,a)=>{this.openCountRequests.set(t,{resolve:i,reject:a})});return this.send('["COUNT","'+t+'",'+JSON.stringify(r).substring(1)),n}subscribe(r,e){const t=this.prepareSubscription(r,e);return t.fire(),t}prepareSubscription(r,e){this.serial++;const t=e.id||"sub:"+this.serial,n=new gu(this,t,r,e);return this.openSubs.set(t,n),n}close(){var r;this.closeAllSubscriptions("relay connection closed by us"),this._connected=!1,(r=this.ws)==null||r.close()}_onmessage(r){this.incomingMessageQueue.enqueue(r.data),this.queueRunning||this.runQueue()}},gu=class{constructor(r,e,t,n){V(this,"relay");V(this,"id");V(this,"closed",!1);V(this,"eosed",!1);V(this,"filters");V(this,"alreadyHaveEvent");V(this,"receivedEvent");V(this,"onevent");V(this,"oneose");V(this,"onclose");V(this,"eoseTimeout");V(this,"eoseTimeoutHandle");this.relay=r,this.filters=t,this.id=e,this.alreadyHaveEvent=n.alreadyHaveEvent,this.receivedEvent=n.receivedEvent,this.eoseTimeout=n.eoseTimeout||r.baseEoseTimeout,this.oneose=n.oneose,this.onclose=n.onclose,this.onevent=n.onevent||(i=>{console.warn(`onevent() callback not defined for subscription '${this.id}' in relay ${this.relay.url}. event received:`,i)})}fire(){this.relay.send('["REQ","'+this.id+'",'+JSON.stringify(this.filters).substring(1)),this.eoseTimeoutHandle=setTimeout(this.receivedEose.bind(this),this.eoseTimeout)}receivedEose(){var r;this.eosed||(clearTimeout(this.eoseTimeoutHandle),this.eosed=!0,(r=this.oneose)==null||r.call(this))}close(r="closed by caller"){var e;!this.closed&&this.relay.connected&&(this.relay.send('["CLOSE",'+JSON.stringify(this.id)+"]"),this.closed=!0),this.relay.openSubs.delete(this.id),(e=this.onclose)==null||e.call(this,r)}},mu=class{constructor(r){V(this,"relays",new Map);V(this,"seenOn",new Map);V(this,"trackRelays",!1);V(this,"verifyEvent");V(this,"trustedRelayURLs",new Set);this.verifyEvent=r.verifyEvent}async ensureRelay(r,e){r=Ge(r);let t=this.relays.get(r);return t||(t=new bt(r,{verifyEvent:this.trustedRelayURLs.has(r)?pu:this.verifyEvent}),e!=null&&e.connectionTimeout&&(t.connectionTimeout=e.connectionTimeout),this.relays.set(r,t)),await t.connect(),t}close(r){r.map(Ge).forEach(e=>{var t;(t=this.relays.get(e))==null||t.close()})}subscribeMany(r,e,t){return this.subscribeManyMap(Object.fromEntries(r.map(n=>[n,e])),t)}subscribeManyMap(r,e){this.trackRelays&&(e.receivedEvent=(_,k)=>{let C=this.seenOn.get(k);C||(C=new Set,this.seenOn.set(k,C)),C.add(_)});const t=new Set,n=[],i=Object.keys(r).length,a=[];let c=_=>{var k;a[_]=!0,a.filter(C=>C).length===i&&((k=e.oneose)==null||k.call(e),c=()=>{})};const h=[];let p=(_,k)=>{var C;c(_),h[_]=k,h.filter($=>$).length===i&&((C=e.onclose)==null||C.call(e,h),p=()=>{})};const b=_=>{var C;if((C=e.alreadyHaveEvent)!=null&&C.call(e,_))return!0;const k=t.has(_);return t.add(_),k},v=Promise.all(Object.entries(r).map(async(_,k,C)=>{if(C.indexOf(_)!==k){p(k,"duplicate url");return}let[$,A]=_;$=Ge($);let S;try{S=await this.ensureRelay($,{connectionTimeout:e.maxWait?Math.max(e.maxWait*.8,e.maxWait-1e3):void 0})}catch(z){p(k,(z==null?void 0:z.message)||String(z));return}let L=S.subscribe(A,{...e,oneose:()=>c(k),onclose:z=>p(k,z),alreadyHaveEvent:b,eoseTimeout:e.maxWait});n.push(L)}));return{async close(){await v,n.forEach(_=>{_.close()})}}}subscribeManyEose(r,e,t){const n=this.subscribeMany(r,e,{...t,oneose(){n.close()}});return n}async querySync(r,e,t){return new Promise(async n=>{const i=[];this.subscribeManyEose(r,[e],{...t,onevent(a){i.push(a)},onclose(a){n(i)}})})}async get(r,e,t){e.limit=1;const n=await this.querySync(r,e,t);return n.sort((i,a)=>a.created_at-i.created_at),n[0]||null}publish(r,e){return r.map(Ge).map(async(t,n,i)=>i.indexOf(t)!==n?Promise.reject("duplicate url"):(await this.ensureRelay(t)).publish(e))}},Xr=class extends mu{constructor(){super({verifyEvent:su})}};function bn(r,e,t){const n=r.slice();return n[9]=e[t],n}function _n(r,e,t){const n=r.slice();return n[9]=e[t],n}function wu(r){let e;return{c(){e=R("div"),e.innerHTML='<img src="TMB-icon.png" alt="Loading icon" class="loading-icon"/> <p>Loading...</p>',q(e,"class","loading-container")},m(t,n){G(t,e,n)},p:ae,d(t){t&&F(e)}}}function bu(r){let e,t,n=r[3].length>0&&yn(r),i=r[2]&&En(r);return{c(){n&&n.c(),e=W(),i&&i.c(),t=cr()},m(a,c){n&&n.m(a,c),G(a,e,c),i&&i.m(a,c),G(a,t,c)},p(a,c){a[3].length>0?n?n.p(a,c):(n=yn(a),n.c(),n.m(e.parentNode,e)):n&&(n.d(1),n=null),a[2]?i?i.p(a,c):(i=En(a),i.c(),i.m(t.parentNode,t)):i&&(i.d(1),i=null)},d(a){a&&(F(e),F(t)),n&&n.d(a),i&&i.d(a)}}}function yn(r){let e,t=rr(r[3]),n=[];for(let i=0;i<t.length;i+=1)n[i]=kn(_n(r,t,i));return{c(){e=R("div");for(let i=0;i<n.length;i+=1)n[i].c();q(e,"class","top-notes")},m(i,a){G(i,e,a);for(let c=0;c<n.length;c+=1)n[c]&&n[c].m(e,null)},p(i,a){if(a&8){t=rr(i[3]);let c;for(c=0;c<t.length;c+=1){const h=_n(i,t,c);n[c]?n[c].p(h,a):(n[c]=kn(h),n[c].c(),n[c].m(e,null))}for(;c<n.length;c+=1)n[c].d(1);n.length=t.length}},d(i){i&&F(e),zn(n,i)}}}function vn(r){let e,t=r[9].summary+"",n;return{c(){e=R("div"),n=Z(t),q(e,"class","summary")},m(i,a){G(i,e,a),H(e,n)},p(i,a){a&8&&t!==(t=i[9].summary+"")&&ie(n,t)},d(i){i&&F(e)}}}function kn(r){let e,t,n,i,a,c,h=r[9].title+"",p,b,v,_,k,C=new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"long",year:"numeric"}).format(new Date(r[9].created_at*1e3))+"",$,A,S=r[9].summary&&vn(r);return{c(){e=R("div"),t=R("a"),n=R("img"),a=W(),c=R("div"),p=Z(h),v=W(),S&&S.c(),_=W(),k=R("div"),$=Z(C),A=W(),je(n.src,i=r[9].image)||q(n,"src",i),q(c,"class","title"),q(t,"href",b=`#${r[9].id}`),q(k,"class","date"),q(e,"class","note")},m(L,z){G(L,e,z),H(e,t),H(t,n),H(t,a),H(t,c),H(c,p),H(e,v),S&&S.m(e,null),H(e,_),H(e,k),H(k,$),H(e,A)},p(L,z){z&8&&!je(n.src,i=L[9].image)&&q(n,"src",i),z&8&&h!==(h=L[9].title+"")&&ie(p,h),z&8&&b!==(b=`#${L[9].id}`)&&q(t,"href",b),L[9].summary?S?S.p(L,z):(S=vn(L),S.c(),S.m(e,_)):S&&(S.d(1),S=null),z&8&&C!==(C=new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"long",year:"numeric"}).format(new Date(L[9].created_at*1e3))+"")&&ie($,C)},d(L){L&&F(e),S&&S.d()}}}function En(r){let e,t,n=rr(r[2]),i=[];for(let a=0;a<n.length;a+=1)i[a]=An(bn(r,n,a));return{c(){e=R("div"),t=R("ul");for(let a=0;a<i.length;a+=1)i[a].c();q(e,"class","listing-notes")},m(a,c){G(a,e,c),H(e,t);for(let h=0;h<i.length;h+=1)i[h]&&i[h].m(t,null)},p(a,c){if(c&4){n=rr(a[2]);let h;for(h=0;h<n.length;h+=1){const p=bn(a,n,h);i[h]?i[h].p(p,c):(i[h]=An(p),i[h].c(),i[h].m(t,null))}for(;h<i.length;h+=1)i[h].d(1);i.length=n.length}},d(a){a&&F(e),zn(i,a)}}}function Sn(r){let e,t=r[9].summary+"",n;return{c(){e=R("div"),n=Z(t),q(e,"class","summary")},m(i,a){G(i,e,a),H(e,n)},p(i,a){a&4&&t!==(t=i[9].summary+"")&&ie(n,t)},d(i){i&&F(e)}}}function An(r){let e,t,n=r[9].title+"",i,a,c,h,p,b=new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"long",year:"numeric"}).format(new Date(r[9].created_at*1e3))+"",v,_,k=r[9].summary&&Sn(r);return{c(){e=R("li"),t=R("a"),i=Z(n),c=W(),k&&k.c(),h=W(),p=R("div"),v=Z(b),_=W(),q(t,"href",a=`#${r[9].id}`),q(p,"class","date")},m(C,$){G(C,e,$),H(e,t),H(t,i),H(e,c),k&&k.m(e,null),H(e,h),H(e,p),H(p,v),H(e,_)},p(C,$){$&4&&n!==(n=C[9].title+"")&&ie(i,n),$&4&&a!==(a=`#${C[9].id}`)&&q(t,"href",a),C[9].summary?k?k.p(C,$):(k=Sn(C),k.c(),k.m(e,h)):k&&(k.d(1),k=null),$&4&&b!==(b=new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"long",year:"numeric"}).format(new Date(C[9].created_at*1e3))+"")&&ie(v,b)},d(C){C&&F(e),k&&k.d()}}}function _u(r){let e,t,n,i,a,c,h,p,b,v,_,k,C,$;function A(z,N){return z[0].length>0?bu:wu}let S=A(r),L=S(r);return{c(){e=R("div"),t=R("div"),n=Z("Follow on "),i=R("a"),a=Z("Nostr"),h=R("br"),p=R("br"),b=W(),v=R("h1"),v.innerHTML=`<div class="picture-container"><img src="TMB-icon.png"/></div>
Trust Me Bro`,_=W(),k=R("div"),k.textContent=`Commentary around Privacy, Security, & Anonymity in the dystopian age.
Highlighting businesses & services with "trust me bro" security & privacy.`,C=W(),L.c(),$=cr(),q(i,"href",c="https://njump.me/"+r[1]),q(t,"class","external-link"),q(e,"class","header home"),q(k,"class","about")},m(z,N){G(z,e,N),H(e,t),H(t,n),H(t,i),H(i,a),H(t,h),H(t,p),H(e,b),H(e,v),G(z,_,N),G(z,k,N),G(z,C,N),L.m(z,N),G(z,$,N)},p(z,[N]){N&2&&c!==(c="https://njump.me/"+z[1])&&q(i,"href",c),S===(S=A(z))&&L?L.p(z,N):(L.d(1),L=S(z),L&&(L.c(),L.m($.parentNode,$)))},i:ae,o:ae,d(z){z&&(F(e),F(_),F(k),F(C),F($)),L.d(z)}}}function Pn(r){var e,t,n;return{id:r.id,created_at:r.created_at,title:((e=r==null?void 0:r.tags.find(([i])=>i==="title"))==null?void 0:e[1])||"No title",image:((t=r==null?void 0:r.tags.find(([i])=>i==="image"))==null?void 0:t[1])||void 0,summary:((n=r==null?void 0:r.tags.find(([i])=>i==="summary"))==null?void 0:n[1])||void 0}}function yu(r,e,t){let n,i,a=[],c=new Set,h="",p=0,{profile:b}=e;return Or(async()=>{const{publicKey:v,relays:_,topNotes:k}=Fr(),C=JSON.parse(b.content);C.name,C.picture,t(1,h=Zn(v)),t(5,p=k),dr.set("Trust Me Bro | Blog powered by Nostr");let A=new Xr().subscribeMany(_,[{kinds:[30023],authors:[v],limit:20}],{onevent(S){console.log("Received event:",S),c.has(S.id)||(t(0,a=[...a,S]),c.add(S.id)),a.sort((L,z)=>z.created_at-L.created_at)},oneose(){console.log("No subscribers left. Closing subscription."),A.close()}})}),r.$$set=v=>{"profile"in v&&t(4,b=v.profile)},r.$$.update=()=>{r.$$.dirty&33&&t(3,n=p>0?a.slice(0,p).map(Pn):[]),r.$$.dirty&33&&t(2,i=a.slice(p).map(Pn))},dr.subscribe(v=>{document.title=v}),[a,h,i,n,b,p]}class vu extends Vr{constructor(e){super(),qr(this,e,yu,_u,or,{profile:4})}}var ku=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Eu(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}var _t={exports:{}};(function(r){(function(){function e(d){var s={omitExtraWLInCodeBlocks:{defaultValue:!1,describe:"Omit the default extra whiteline added to code blocks",type:"boolean"},noHeaderId:{defaultValue:!1,describe:"Turn on/off generated header id",type:"boolean"},prefixHeaderId:{defaultValue:!1,describe:"Add a prefix to the generated header ids. Passing a string will prefix that string to the header id. Setting to true will add a generic 'section-' prefix",type:"string"},rawPrefixHeaderId:{defaultValue:!1,describe:'Setting this option to true will prevent showdown from modifying the prefix. This might result in malformed IDs (if, for instance, the " char is used in the prefix)',type:"boolean"},ghCompatibleHeaderId:{defaultValue:!1,describe:"Generate header ids compatible with github style (spaces are replaced with dashes, a bunch of non alphanumeric chars are removed)",type:"boolean"},rawHeaderId:{defaultValue:!1,describe:`Remove only spaces, ' and " from generated header ids (including prefixes), replacing them with dashes (-). WARNING: This might result in malformed ids`,type:"boolean"},headerLevelStart:{defaultValue:!1,describe:"The header blocks level start",type:"integer"},parseImgDimensions:{defaultValue:!1,describe:"Turn on/off image dimension parsing",type:"boolean"},simplifiedAutoLink:{defaultValue:!1,describe:"Turn on/off GFM autolink style",type:"boolean"},excludeTrailingPunctuationFromURLs:{defaultValue:!1,describe:"Excludes trailing punctuation from links generated with autoLinking",type:"boolean"},literalMidWordUnderscores:{defaultValue:!1,describe:"Parse midword underscores as literal underscores",type:"boolean"},literalMidWordAsterisks:{defaultValue:!1,describe:"Parse midword asterisks as literal asterisks",type:"boolean"},strikethrough:{defaultValue:!1,describe:"Turn on/off strikethrough support",type:"boolean"},tables:{defaultValue:!1,describe:"Turn on/off tables support",type:"boolean"},tablesHeaderId:{defaultValue:!1,describe:"Add an id to table headers",type:"boolean"},ghCodeBlocks:{defaultValue:!0,describe:"Turn on/off GFM fenced code blocks support",type:"boolean"},tasklists:{defaultValue:!1,describe:"Turn on/off GFM tasklist support",type:"boolean"},smoothLivePreview:{defaultValue:!1,describe:"Prevents weird effects in live previews due to incomplete input",type:"boolean"},smartIndentationFix:{defaultValue:!1,describe:"Tries to smartly fix indentation in es6 strings",type:"boolean"},disableForced4SpacesIndentedSublists:{defaultValue:!1,describe:"Disables the requirement of indenting nested sublists by 4 spaces",type:"boolean"},simpleLineBreaks:{defaultValue:!1,describe:"Parses simple line breaks as <br> (GFM Style)",type:"boolean"},requireSpaceBeforeHeadingText:{defaultValue:!1,describe:"Makes adding a space between `#` and the header text mandatory (GFM Style)",type:"boolean"},ghMentions:{defaultValue:!1,describe:"Enables github @mentions",type:"boolean"},ghMentionsLink:{defaultValue:"https://github.com/{u}",describe:"Changes the link generated by @mentions. Only applies if ghMentions option is enabled.",type:"string"},encodeEmails:{defaultValue:!0,describe:"Encode e-mail addresses through the use of Character Entities, transforming ASCII e-mail addresses into its equivalent decimal entities",type:"boolean"},openLinksInNewWindow:{defaultValue:!1,describe:"Open all links in new windows",type:"boolean"},backslashEscapesHTMLTags:{defaultValue:!1,describe:"Support for HTML Tag escaping. ex: <div>foo</div>",type:"boolean"},emoji:{defaultValue:!1,describe:"Enable emoji support. Ex: `this is a :smile: emoji`",type:"boolean"},underline:{defaultValue:!1,describe:"Enable support for underline. Syntax is double or triple underscores: `__underline word__`. With this option enabled, underscores no longer parses into `<em>` and `<strong>`",type:"boolean"},ellipsis:{defaultValue:!0,describe:"Replaces three dots with the ellipsis unicode character",type:"boolean"},completeHTMLDocument:{defaultValue:!1,describe:"Outputs a complete html document, including `<html>`, `<head>` and `<body>` tags",type:"boolean"},metadata:{defaultValue:!1,describe:"Enable support for document metadata (defined at the top of the document between `«««` and `»»»` or between `---` and `---`).",type:"boolean"},splitAdjacentBlockquotes:{defaultValue:!1,describe:"Split adjacent blockquote blocks",type:"boolean"}};if(d===!1)return JSON.parse(JSON.stringify(s));var u={};for(var o in s)s.hasOwnProperty(o)&&(u[o]=s[o].defaultValue);return u}function t(){var d=e(!0),s={};for(var u in d)d.hasOwnProperty(u)&&(s[u]=!0);return s}var n={},i={},a={},c=e(!0),h="vanilla",p={github:{omitExtraWLInCodeBlocks:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,disableForced4SpacesIndentedSublists:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghCompatibleHeaderId:!0,ghMentions:!0,backslashEscapesHTMLTags:!0,emoji:!0,splitAdjacentBlockquotes:!0},original:{noHeaderId:!0,ghCodeBlocks:!1},ghost:{omitExtraWLInCodeBlocks:!0,parseImgDimensions:!0,simplifiedAutoLink:!0,excludeTrailingPunctuationFromURLs:!0,literalMidWordUnderscores:!0,strikethrough:!0,tables:!0,tablesHeaderId:!0,ghCodeBlocks:!0,tasklists:!0,smoothLivePreview:!0,simpleLineBreaks:!0,requireSpaceBeforeHeadingText:!0,ghMentions:!1,encodeEmails:!0},vanilla:e(!0),allOn:t()};n.helper={},n.extensions={},n.setOption=function(d,s){return c[d]=s,this},n.getOption=function(d){return c[d]},n.getOptions=function(){return c},n.resetOptions=function(){c=e(!0)},n.setFlavor=function(d){if(!p.hasOwnProperty(d))throw Error(d+" flavor was not found");n.resetOptions();var s=p[d];h=d;for(var u in s)s.hasOwnProperty(u)&&(c[u]=s[u])},n.getFlavor=function(){return h},n.getFlavorOptions=function(d){if(p.hasOwnProperty(d))return p[d]},n.getDefaultOptions=function(d){return e(d)},n.subParser=function(d,s){if(n.helper.isString(d))if(typeof s<"u")i[d]=s;else{if(i.hasOwnProperty(d))return i[d];throw Error("SubParser named "+d+" not registered!")}},n.extension=function(d,s){if(!n.helper.isString(d))throw Error("Extension 'name' must be a string");if(d=n.helper.stdExtName(d),n.helper.isUndefined(s)){if(!a.hasOwnProperty(d))throw Error("Extension named "+d+" is not registered!");return a[d]}else{typeof s=="function"&&(s=s()),n.helper.isArray(s)||(s=[s]);var u=b(s,d);if(u.valid)a[d]=s;else throw Error(u.error)}},n.getAllExtensions=function(){return a},n.removeExtension=function(d){delete a[d]},n.resetExtensions=function(){a={}};function b(d,s){var u=s?"Error in "+s+" extension->":"Error in unnamed extension",o={valid:!0,error:""};n.helper.isArray(d)||(d=[d]);for(var g=0;g<d.length;++g){var m=u+" sub-extension "+g+": ",l=d[g];if(typeof l!="object")return o.valid=!1,o.error=m+"must be an object, but "+typeof l+" given",o;if(!n.helper.isString(l.type))return o.valid=!1,o.error=m+'property "type" must be a string, but '+typeof l.type+" given",o;var w=l.type=l.type.toLowerCase();if(w==="language"&&(w=l.type="lang"),w==="html"&&(w=l.type="output"),w!=="lang"&&w!=="output"&&w!=="listener")return o.valid=!1,o.error=m+"type "+w+' is not recognized. Valid values: "lang/language", "output/html" or "listener"',o;if(w==="listener"){if(n.helper.isUndefined(l.listeners))return o.valid=!1,o.error=m+'. Extensions of type "listener" must have a property called "listeners"',o}else if(n.helper.isUndefined(l.filter)&&n.helper.isUndefined(l.regex))return o.valid=!1,o.error=m+w+' extensions must define either a "regex" property or a "filter" method',o;if(l.listeners){if(typeof l.listeners!="object")return o.valid=!1,o.error=m+'"listeners" property must be an object but '+typeof l.listeners+" given",o;for(var B in l.listeners)if(l.listeners.hasOwnProperty(B)&&typeof l.listeners[B]!="function")return o.valid=!1,o.error=m+'"listeners" property must be an hash of [event name]: [callback]. listeners.'+B+" must be a function but "+typeof l.listeners[B]+" given",o}if(l.filter){if(typeof l.filter!="function")return o.valid=!1,o.error=m+'"filter" must be a function, but '+typeof l.filter+" given",o}else if(l.regex){if(n.helper.isString(l.regex)&&(l.regex=new RegExp(l.regex,"g")),!(l.regex instanceof RegExp))return o.valid=!1,o.error=m+'"regex" property must either be a string or a RegExp object, but '+typeof l.regex+" given",o;if(n.helper.isUndefined(l.replace))return o.valid=!1,o.error=m+'"regex" extensions must implement a replace string or function',o}}return o}n.validateExtension=function(d){var s=b(d,null);return s.valid?!0:(console.warn(s.error),!1)},n.hasOwnProperty("helper")||(n.helper={}),n.helper.isString=function(d){return typeof d=="string"||d instanceof String},n.helper.isFunction=function(d){var s={};return d&&s.toString.call(d)==="[object Function]"},n.helper.isArray=function(d){return Array.isArray(d)},n.helper.isUndefined=function(d){return typeof d>"u"},n.helper.forEach=function(d,s){if(n.helper.isUndefined(d))throw new Error("obj param is required");if(n.helper.isUndefined(s))throw new Error("callback param is required");if(!n.helper.isFunction(s))throw new Error("callback param must be a function/closure");if(typeof d.forEach=="function")d.forEach(s);else if(n.helper.isArray(d))for(var u=0;u<d.length;u++)s(d[u],u,d);else if(typeof d=="object")for(var o in d)d.hasOwnProperty(o)&&s(d[o],o,d);else throw new Error("obj does not seem to be an array or an iterable object")},n.helper.stdExtName=function(d){return d.replace(/[_?*+\/\\.^-]/g,"").replace(/\s/g,"").toLowerCase()};function v(d,s){var u=s.charCodeAt(0);return"¨E"+u+"E"}n.helper.escapeCharactersCallback=v,n.helper.escapeCharacters=function(d,s,u){var o="(["+s.replace(/([\[\]\\])/g,"\\$1")+"])";u&&(o="\\\\"+o);var g=new RegExp(o,"g");return d=d.replace(g,v),d},n.helper.unescapeHTMLEntities=function(d){return d.replace(/"/g,'"').replace(/</g,"<").replace(/>/g,">").replace(/&/g,"&")};var _=function(d,s,u,o){var g=o||"",m=g.indexOf("g")>-1,l=new RegExp(s+"|"+u,"g"+g.replace(/g/g,"")),w=new RegExp(s,g.replace(/g/g,"")),B=[],P,j,y,f,E;do for(P=0;y=l.exec(d);)if(w.test(y[0]))P++||(j=l.lastIndex,f=j-y[0].length);else if(P&&!--P){E=y.index+y[0].length;var T={left:{start:f,end:j},match:{start:j,end:y.index},right:{start:y.index,end:E},wholeMatch:{start:f,end:E}};if(B.push(T),!m)return B}while(P&&(l.lastIndex=j));return B};n.helper.matchRecursiveRegExp=function(d,s,u,o){for(var g=_(d,s,u,o),m=[],l=0;l<g.length;++l)m.push([d.slice(g[l].wholeMatch.start,g[l].wholeMatch.end),d.slice(g[l].match.start,g[l].match.end),d.slice(g[l].left.start,g[l].left.end),d.slice(g[l].right.start,g[l].right.end)]);return m},n.helper.replaceRecursiveRegExp=function(d,s,u,o,g){if(!n.helper.isFunction(s)){var m=s;s=function(){return m}}var l=_(d,u,o,g),w=d,B=l.length;if(B>0){var P=[];l[0].wholeMatch.start!==0&&P.push(d.slice(0,l[0].wholeMatch.start));for(var j=0;j<B;++j)P.push(s(d.slice(l[j].wholeMatch.start,l[j].wholeMatch.end),d.slice(l[j].match.start,l[j].match.end),d.slice(l[j].left.start,l[j].left.end),d.slice(l[j].right.start,l[j].right.end))),j<B-1&&P.push(d.slice(l[j].wholeMatch.end,l[j+1].wholeMatch.start));l[B-1].wholeMatch.end<d.length&&P.push(d.slice(l[B-1].wholeMatch.end)),w=P.join("")}return w},n.helper.regexIndexOf=function(d,s,u){if(!n.helper.isString(d))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";if(!(s instanceof RegExp))throw"InvalidArgumentError: second parameter of showdown.helper.regexIndexOf function must be an instance of RegExp";var o=d.substring(u||0).search(s);return o>=0?o+(u||0):o},n.helper.splitAtIndex=function(d,s){if(!n.helper.isString(d))throw"InvalidArgumentError: first parameter of showdown.helper.regexIndexOf function must be a string";return[d.substring(0,s),d.substring(s)]},n.helper.encodeEmailAddress=function(d){var s=[function(u){return"&#"+u.charCodeAt(0)+";"},function(u){return"&#x"+u.charCodeAt(0).toString(16)+";"},function(u){return u}];return d=d.replace(/./g,function(u){if(u==="@")u=s[Math.floor(Math.random()*2)](u);else{var o=Math.random();u=o>.9?s[2](u):o>.45?s[1](u):s[0](u)}return u}),d},n.helper.padEnd=function(s,u,o){return u=u>>0,o=String(o||" "),s.length>u?String(s):(u=u-s.length,u>o.length&&(o+=o.repeat(u/o.length)),String(s)+o.slice(0,u))},typeof console>"u"&&(console={warn:function(d){alert(d)},log:function(d){alert(d)},error:function(d){throw d}}),n.helper.regexes={asteriskDashAndColon:/([*_:~])/g},n.helper.emojis={"+1":"👍","-1":"👎",100:"💯",1234:"🔢","1st_place_medal":"🥇","2nd_place_medal":"🥈","3rd_place_medal":"🥉","8ball":"🎱",a:"🅰️",ab:"🆎",abc:"🔤",abcd:"🔡",accept:"🉑",aerial_tramway:"🚡",airplane:"✈️",alarm_clock:"⏰",alembic:"⚗️",alien:"👽",ambulance:"🚑",amphora:"🏺",anchor:"⚓️",angel:"👼",anger:"💢",angry:"😠",anguished:"😧",ant:"🐜",apple:"🍎",aquarius:"♒️",aries:"♈️",arrow_backward:"◀️",arrow_double_down:"⏬",arrow_double_up:"⏫",arrow_down:"⬇️",arrow_down_small:"🔽",arrow_forward:"▶️",arrow_heading_down:"⤵️",arrow_heading_up:"⤴️",arrow_left:"⬅️",arrow_lower_left:"↙️",arrow_lower_right:"↘️",arrow_right:"➡️",arrow_right_hook:"↪️",arrow_up:"⬆️",arrow_up_down:"↕️",arrow_up_small:"🔼",arrow_upper_left:"↖️",arrow_upper_right:"↗️",arrows_clockwise:"🔃",arrows_counterclockwise:"🔄",art:"🎨",articulated_lorry:"🚛",artificial_satellite:"🛰",astonished:"😲",athletic_shoe:"👟",atm:"🏧",atom_symbol:"⚛️",avocado:"🥑",b:"🅱️",baby:"👶",baby_bottle:"🍼",baby_chick:"🐤",baby_symbol:"🚼",back:"🔙",bacon:"🥓",badminton:"🏸",baggage_claim:"🛄",baguette_bread:"🥖",balance_scale:"⚖️",balloon:"🎈",ballot_box:"🗳",ballot_box_with_check:"☑️",bamboo:"🎍",banana:"🍌",bangbang:"‼️",bank:"🏦",bar_chart:"📊",barber:"💈",baseball:"⚾️",basketball:"🏀",basketball_man:"⛹️",basketball_woman:"⛹️‍♀️",bat:"🦇",bath:"🛀",bathtub:"🛁",battery:"🔋",beach_umbrella:"🏖",bear:"🐻",bed:"🛏",bee:"🐝",beer:"🍺",beers:"🍻",beetle:"🐞",beginner:"🔰",bell:"🔔",bellhop_bell:"🛎",bento:"🍱",biking_man:"🚴",bike:"🚲",biking_woman:"🚴‍♀️",bikini:"👙",biohazard:"☣️",bird:"🐦",birthday:"🎂",black_circle:"⚫️",black_flag:"🏴",black_heart:"🖤",black_joker:"🃏",black_large_square:"⬛️",black_medium_small_square:"◾️",black_medium_square:"◼️",black_nib:"✒️",black_small_square:"▪️",black_square_button:"🔲",blonde_man:"👱",blonde_woman:"👱‍♀️",blossom:"🌼",blowfish:"🐡",blue_book:"📘",blue_car:"🚙",blue_heart:"💙",blush:"😊",boar:"🐗",boat:"⛵️",bomb:"💣",book:"📖",bookmark:"🔖",bookmark_tabs:"📑",books:"📚",boom:"💥",boot:"👢",bouquet:"💐",bowing_man:"🙇",bow_and_arrow:"🏹",bowing_woman:"🙇‍♀️",bowling:"🎳",boxing_glove:"🥊",boy:"👦",bread:"🍞",bride_with_veil:"👰",bridge_at_night:"🌉",briefcase:"💼",broken_heart:"💔",bug:"🐛",building_construction:"🏗",bulb:"💡",bullettrain_front:"🚅",bullettrain_side:"🚄",burrito:"🌯",bus:"🚌",business_suit_levitating:"🕴",busstop:"🚏",bust_in_silhouette:"👤",busts_in_silhouette:"👥",butterfly:"🦋",cactus:"🌵",cake:"🍰",calendar:"📆",call_me_hand:"🤙",calling:"📲",camel:"🐫",camera:"📷",camera_flash:"📸",camping:"🏕",cancer:"♋️",candle:"🕯",candy:"🍬",canoe:"🛶",capital_abcd:"🔠",capricorn:"♑️",car:"🚗",card_file_box:"🗃",card_index:"📇",card_index_dividers:"🗂",carousel_horse:"🎠",carrot:"🥕",cat:"🐱",cat2:"🐈",cd:"💿",chains:"⛓",champagne:"🍾",chart:"💹",chart_with_downwards_trend:"📉",chart_with_upwards_trend:"📈",checkered_flag:"🏁",cheese:"🧀",cherries:"🍒",cherry_blossom:"🌸",chestnut:"🌰",chicken:"🐔",children_crossing:"🚸",chipmunk:"🐿",chocolate_bar:"🍫",christmas_tree:"🎄",church:"⛪️",cinema:"🎦",circus_tent:"🎪",city_sunrise:"🌇",city_sunset:"🌆",cityscape:"🏙",cl:"🆑",clamp:"🗜",clap:"👏",clapper:"🎬",classical_building:"🏛",clinking_glasses:"🥂",clipboard:"📋",clock1:"🕐",clock10:"🕙",clock1030:"🕥",clock11:"🕚",clock1130:"🕦",clock12:"🕛",clock1230:"🕧",clock130:"🕜",clock2:"🕑",clock230:"🕝",clock3:"🕒",clock330:"🕞",clock4:"🕓",clock430:"🕟",clock5:"🕔",clock530:"🕠",clock6:"🕕",clock630:"🕡",clock7:"🕖",clock730:"🕢",clock8:"🕗",clock830:"🕣",clock9:"🕘",clock930:"🕤",closed_book:"📕",closed_lock_with_key:"🔐",closed_umbrella:"🌂",cloud:"☁️",cloud_with_lightning:"🌩",cloud_with_lightning_and_rain:"⛈",cloud_with_rain:"🌧",cloud_with_snow:"🌨",clown_face:"🤡",clubs:"♣️",cocktail:"🍸",coffee:"☕️",coffin:"⚰️",cold_sweat:"😰",comet:"☄️",computer:"💻",computer_mouse:"🖱",confetti_ball:"🎊",confounded:"😖",confused:"😕",congratulations:"㊗️",construction:"🚧",construction_worker_man:"👷",construction_worker_woman:"👷‍♀️",control_knobs:"🎛",convenience_store:"🏪",cookie:"🍪",cool:"🆒",policeman:"👮",copyright:"©️",corn:"🌽",couch_and_lamp:"🛋",couple:"👫",couple_with_heart_woman_man:"💑",couple_with_heart_man_man:"👨‍❤️‍👨",couple_with_heart_woman_woman:"👩‍❤️‍👩",couplekiss_man_man:"👨‍❤️‍💋‍👨",couplekiss_man_woman:"💏",couplekiss_woman_woman:"👩‍❤️‍💋‍👩",cow:"🐮",cow2:"🐄",cowboy_hat_face:"🤠",crab:"🦀",crayon:"🖍",credit_card:"💳",crescent_moon:"🌙",cricket:"🏏",crocodile:"🐊",croissant:"🥐",crossed_fingers:"🤞",crossed_flags:"🎌",crossed_swords:"⚔️",crown:"👑",cry:"😢",crying_cat_face:"😿",crystal_ball:"🔮",cucumber:"🥒",cupid:"💘",curly_loop:"➰",currency_exchange:"💱",curry:"🍛",custard:"🍮",customs:"🛃",cyclone:"🌀",dagger:"🗡",dancer:"💃",dancing_women:"👯",dancing_men:"👯‍♂️",dango:"🍡",dark_sunglasses:"🕶",dart:"🎯",dash:"💨",date:"📅",deciduous_tree:"🌳",deer:"🦌",department_store:"🏬",derelict_house:"🏚",desert:"🏜",desert_island:"🏝",desktop_computer:"🖥",male_detective:"🕵️",diamond_shape_with_a_dot_inside:"💠",diamonds:"♦️",disappointed:"😞",disappointed_relieved:"😥",dizzy:"💫",dizzy_face:"😵",do_not_litter:"🚯",dog:"🐶",dog2:"🐕",dollar:"💵",dolls:"🎎",dolphin:"🐬",door:"🚪",doughnut:"🍩",dove:"🕊",dragon:"🐉",dragon_face:"🐲",dress:"👗",dromedary_camel:"🐪",drooling_face:"🤤",droplet:"💧",drum:"🥁",duck:"🦆",dvd:"📀","e-mail":"📧",eagle:"🦅",ear:"👂",ear_of_rice:"🌾",earth_africa:"🌍",earth_americas:"🌎",earth_asia:"🌏",egg:"🥚",eggplant:"🍆",eight_pointed_black_star:"✴️",eight_spoked_asterisk:"✳️",electric_plug:"🔌",elephant:"🐘",email:"✉️",end:"🔚",envelope_with_arrow:"📩",euro:"💶",european_castle:"🏰",european_post_office:"🏤",evergreen_tree:"🌲",exclamation:"❗️",expressionless:"😑",eye:"👁",eye_speech_bubble:"👁‍🗨",eyeglasses:"👓",eyes:"👀",face_with_head_bandage:"🤕",face_with_thermometer:"🤒",fist_oncoming:"👊",factory:"🏭",fallen_leaf:"🍂",family_man_woman_boy:"👪",family_man_boy:"👨‍👦",family_man_boy_boy:"👨‍👦‍👦",family_man_girl:"👨‍👧",family_man_girl_boy:"👨‍👧‍👦",family_man_girl_girl:"👨‍👧‍👧",family_man_man_boy:"👨‍👨‍👦",family_man_man_boy_boy:"👨‍👨‍👦‍👦",family_man_man_girl:"👨‍👨‍👧",family_man_man_girl_boy:"👨‍👨‍👧‍👦",family_man_man_girl_girl:"👨‍👨‍👧‍👧",family_man_woman_boy_boy:"👨‍👩‍👦‍👦",family_man_woman_girl:"👨‍👩‍👧",family_man_woman_girl_boy:"👨‍👩‍👧‍👦",family_man_woman_girl_girl:"👨‍👩‍👧‍👧",family_woman_boy:"👩‍👦",family_woman_boy_boy:"👩‍👦‍👦",family_woman_girl:"👩‍👧",family_woman_girl_boy:"👩‍👧‍👦",family_woman_girl_girl:"👩‍👧‍👧",family_woman_woman_boy:"👩‍👩‍👦",family_woman_woman_boy_boy:"👩‍👩‍👦‍👦",family_woman_woman_girl:"👩‍👩‍👧",family_woman_woman_girl_boy:"👩‍👩‍👧‍👦",family_woman_woman_girl_girl:"👩‍👩‍👧‍👧",fast_forward:"⏩",fax:"📠",fearful:"😨",feet:"🐾",female_detective:"🕵️‍♀️",ferris_wheel:"🎡",ferry:"⛴",field_hockey:"🏑",file_cabinet:"🗄",file_folder:"📁",film_projector:"📽",film_strip:"🎞",fire:"🔥",fire_engine:"🚒",fireworks:"🎆",first_quarter_moon:"🌓",first_quarter_moon_with_face:"🌛",fish:"🐟",fish_cake:"🍥",fishing_pole_and_fish:"🎣",fist_raised:"✊",fist_left:"🤛",fist_right:"🤜",flags:"🎏",flashlight:"🔦",fleur_de_lis:"⚜️",flight_arrival:"🛬",flight_departure:"🛫",floppy_disk:"💾",flower_playing_cards:"🎴",flushed:"😳",fog:"🌫",foggy:"🌁",football:"🏈",footprints:"👣",fork_and_knife:"🍴",fountain:"⛲️",fountain_pen:"🖋",four_leaf_clover:"🍀",fox_face:"🦊",framed_picture:"🖼",free:"🆓",fried_egg:"🍳",fried_shrimp:"🍤",fries:"🍟",frog:"🐸",frowning:"😦",frowning_face:"☹️",frowning_man:"🙍‍♂️",frowning_woman:"🙍",middle_finger:"🖕",fuelpump:"⛽️",full_moon:"🌕",full_moon_with_face:"🌝",funeral_urn:"⚱️",game_die:"🎲",gear:"⚙️",gem:"💎",gemini:"♊️",ghost:"👻",gift:"🎁",gift_heart:"💝",girl:"👧",globe_with_meridians:"🌐",goal_net:"🥅",goat:"🐐",golf:"⛳️",golfing_man:"🏌️",golfing_woman:"🏌️‍♀️",gorilla:"🦍",grapes:"🍇",green_apple:"🍏",green_book:"📗",green_heart:"💚",green_salad:"🥗",grey_exclamation:"❕",grey_question:"❔",grimacing:"😬",grin:"😁",grinning:"😀",guardsman:"💂",guardswoman:"💂‍♀️",guitar:"🎸",gun:"🔫",haircut_woman:"💇",haircut_man:"💇‍♂️",hamburger:"🍔",hammer:"🔨",hammer_and_pick:"⚒",hammer_and_wrench:"🛠",hamster:"🐹",hand:"✋",handbag:"👜",handshake:"🤝",hankey:"💩",hatched_chick:"🐥",hatching_chick:"🐣",headphones:"🎧",hear_no_evil:"🙉",heart:"❤️",heart_decoration:"💟",heart_eyes:"😍",heart_eyes_cat:"😻",heartbeat:"💓",heartpulse:"💗",hearts:"♥️",heavy_check_mark:"✔️",heavy_division_sign:"➗",heavy_dollar_sign:"💲",heavy_heart_exclamation:"❣️",heavy_minus_sign:"➖",heavy_multiplication_x:"✖️",heavy_plus_sign:"➕",helicopter:"🚁",herb:"🌿",hibiscus:"🌺",high_brightness:"🔆",high_heel:"👠",hocho:"🔪",hole:"🕳",honey_pot:"🍯",horse:"🐴",horse_racing:"🏇",hospital:"🏥",hot_pepper:"🌶",hotdog:"🌭",hotel:"🏨",hotsprings:"♨️",hourglass:"⌛️",hourglass_flowing_sand:"⏳",house:"🏠",house_with_garden:"🏡",houses:"🏘",hugs:"🤗",hushed:"😯",ice_cream:"🍨",ice_hockey:"🏒",ice_skate:"⛸",icecream:"🍦",id:"🆔",ideograph_advantage:"🉐",imp:"👿",inbox_tray:"📥",incoming_envelope:"📨",tipping_hand_woman:"💁",information_source:"ℹ️",innocent:"😇",interrobang:"⁉️",iphone:"📱",izakaya_lantern:"🏮",jack_o_lantern:"🎃",japan:"🗾",japanese_castle:"🏯",japanese_goblin:"👺",japanese_ogre:"👹",jeans:"👖",joy:"😂",joy_cat:"😹",joystick:"🕹",kaaba:"🕋",key:"🔑",keyboard:"⌨️",keycap_ten:"🔟",kick_scooter:"🛴",kimono:"👘",kiss:"💋",kissing:"😗",kissing_cat:"😽",kissing_closed_eyes:"😚",kissing_heart:"😘",kissing_smiling_eyes:"😙",kiwi_fruit:"🥝",koala:"🐨",koko:"🈁",label:"🏷",large_blue_circle:"🔵",large_blue_diamond:"🔷",large_orange_diamond:"🔶",last_quarter_moon:"🌗",last_quarter_moon_with_face:"🌜",latin_cross:"✝️",laughing:"😆",leaves:"🍃",ledger:"📒",left_luggage:"🛅",left_right_arrow:"↔️",leftwards_arrow_with_hook:"↩️",lemon:"🍋",leo:"♌️",leopard:"🐆",level_slider:"🎚",libra:"♎️",light_rail:"🚈",link:"🔗",lion:"🦁",lips:"👄",lipstick:"💄",lizard:"🦎",lock:"🔒",lock_with_ink_pen:"🔏",lollipop:"🍭",loop:"➿",loud_sound:"🔊",loudspeaker:"📢",love_hotel:"🏩",love_letter:"💌",low_brightness:"🔅",lying_face:"🤥",m:"Ⓜ️",mag:"🔍",mag_right:"🔎",mahjong:"🀄️",mailbox:"📫",mailbox_closed:"📪",mailbox_with_mail:"📬",mailbox_with_no_mail:"📭",man:"👨",man_artist:"👨‍🎨",man_astronaut:"👨‍🚀",man_cartwheeling:"🤸‍♂️",man_cook:"👨‍🍳",man_dancing:"🕺",man_facepalming:"🤦‍♂️",man_factory_worker:"👨‍🏭",man_farmer:"👨‍🌾",man_firefighter:"👨‍🚒",man_health_worker:"👨‍⚕️",man_in_tuxedo:"🤵",man_judge:"👨‍⚖️",man_juggling:"🤹‍♂️",man_mechanic:"👨‍🔧",man_office_worker:"👨‍💼",man_pilot:"👨‍✈️",man_playing_handball:"🤾‍♂️",man_playing_water_polo:"🤽‍♂️",man_scientist:"👨‍🔬",man_shrugging:"🤷‍♂️",man_singer:"👨‍🎤",man_student:"👨‍🎓",man_teacher:"👨‍🏫",man_technologist:"👨‍💻",man_with_gua_pi_mao:"👲",man_with_turban:"👳",tangerine:"🍊",mans_shoe:"👞",mantelpiece_clock:"🕰",maple_leaf:"🍁",martial_arts_uniform:"🥋",mask:"😷",massage_woman:"💆",massage_man:"💆‍♂️",meat_on_bone:"🍖",medal_military:"🎖",medal_sports:"🏅",mega:"📣",melon:"🍈",memo:"📝",men_wrestling:"🤼‍♂️",menorah:"🕎",mens:"🚹",metal:"🤘",metro:"🚇",microphone:"🎤",microscope:"🔬",milk_glass:"🥛",milky_way:"🌌",minibus:"🚐",minidisc:"💽",mobile_phone_off:"📴",money_mouth_face:"🤑",money_with_wings:"💸",moneybag:"💰",monkey:"🐒",monkey_face:"🐵",monorail:"🚝",moon:"🌔",mortar_board:"🎓",mosque:"🕌",motor_boat:"🛥",motor_scooter:"🛵",motorcycle:"🏍",motorway:"🛣",mount_fuji:"🗻",mountain:"⛰",mountain_biking_man:"🚵",mountain_biking_woman:"🚵‍♀️",mountain_cableway:"🚠",mountain_railway:"🚞",mountain_snow:"🏔",mouse:"🐭",mouse2:"🐁",movie_camera:"🎥",moyai:"🗿",mrs_claus:"🤶",muscle:"💪",mushroom:"🍄",musical_keyboard:"🎹",musical_note:"🎵",musical_score:"🎼",mute:"🔇",nail_care:"💅",name_badge:"📛",national_park:"🏞",nauseated_face:"🤢",necktie:"👔",negative_squared_cross_mark:"❎",nerd_face:"🤓",neutral_face:"😐",new:"🆕",new_moon:"🌑",new_moon_with_face:"🌚",newspaper:"📰",newspaper_roll:"🗞",next_track_button:"⏭",ng:"🆖",no_good_man:"🙅‍♂️",no_good_woman:"🙅",night_with_stars:"🌃",no_bell:"🔕",no_bicycles:"🚳",no_entry:"⛔️",no_entry_sign:"🚫",no_mobile_phones:"📵",no_mouth:"😶",no_pedestrians:"🚷",no_smoking:"🚭","non-potable_water":"🚱",nose:"👃",notebook:"📓",notebook_with_decorative_cover:"📔",notes:"🎶",nut_and_bolt:"🔩",o:"⭕️",o2:"🅾️",ocean:"🌊",octopus:"🐙",oden:"🍢",office:"🏢",oil_drum:"🛢",ok:"🆗",ok_hand:"👌",ok_man:"🙆‍♂️",ok_woman:"🙆",old_key:"🗝",older_man:"👴",older_woman:"👵",om:"🕉",on:"🔛",oncoming_automobile:"🚘",oncoming_bus:"🚍",oncoming_police_car:"🚔",oncoming_taxi:"🚖",open_file_folder:"📂",open_hands:"👐",open_mouth:"😮",open_umbrella:"☂️",ophiuchus:"⛎",orange_book:"📙",orthodox_cross:"☦️",outbox_tray:"📤",owl:"🦉",ox:"🐂",package:"📦",page_facing_up:"📄",page_with_curl:"📃",pager:"📟",paintbrush:"🖌",palm_tree:"🌴",pancakes:"🥞",panda_face:"🐼",paperclip:"📎",paperclips:"🖇",parasol_on_ground:"⛱",parking:"🅿️",part_alternation_mark:"〽️",partly_sunny:"⛅️",passenger_ship:"🛳",passport_control:"🛂",pause_button:"⏸",peace_symbol:"☮️",peach:"🍑",peanuts:"🥜",pear:"🍐",pen:"🖊",pencil2:"✏️",penguin:"🐧",pensive:"😔",performing_arts:"🎭",persevere:"😣",person_fencing:"🤺",pouting_woman:"🙎",phone:"☎️",pick:"⛏",pig:"🐷",pig2:"🐖",pig_nose:"🐽",pill:"💊",pineapple:"🍍",ping_pong:"🏓",pisces:"♓️",pizza:"🍕",place_of_worship:"🛐",plate_with_cutlery:"🍽",play_or_pause_button:"⏯",point_down:"👇",point_left:"👈",point_right:"👉",point_up:"☝️",point_up_2:"👆",police_car:"🚓",policewoman:"👮‍♀️",poodle:"🐩",popcorn:"🍿",post_office:"🏣",postal_horn:"📯",postbox:"📮",potable_water:"🚰",potato:"🥔",pouch:"👝",poultry_leg:"🍗",pound:"💷",rage:"😡",pouting_cat:"😾",pouting_man:"🙎‍♂️",pray:"🙏",prayer_beads:"📿",pregnant_woman:"🤰",previous_track_button:"⏮",prince:"🤴",princess:"👸",printer:"🖨",purple_heart:"💜",purse:"👛",pushpin:"📌",put_litter_in_its_place:"🚮",question:"❓",rabbit:"🐰",rabbit2:"🐇",racehorse:"🐎",racing_car:"🏎",radio:"📻",radio_button:"🔘",radioactive:"☢️",railway_car:"🚃",railway_track:"🛤",rainbow:"🌈",rainbow_flag:"🏳️‍🌈",raised_back_of_hand:"🤚",raised_hand_with_fingers_splayed:"🖐",raised_hands:"🙌",raising_hand_woman:"🙋",raising_hand_man:"🙋‍♂️",ram:"🐏",ramen:"🍜",rat:"🐀",record_button:"⏺",recycle:"♻️",red_circle:"🔴",registered:"®️",relaxed:"☺️",relieved:"😌",reminder_ribbon:"🎗",repeat:"🔁",repeat_one:"🔂",rescue_worker_helmet:"⛑",restroom:"🚻",revolving_hearts:"💞",rewind:"⏪",rhinoceros:"🦏",ribbon:"🎀",rice:"🍚",rice_ball:"🍙",rice_cracker:"🍘",rice_scene:"🎑",right_anger_bubble:"🗯",ring:"💍",robot:"🤖",rocket:"🚀",rofl:"🤣",roll_eyes:"🙄",roller_coaster:"🎢",rooster:"🐓",rose:"🌹",rosette:"🏵",rotating_light:"🚨",round_pushpin:"📍",rowing_man:"🚣",rowing_woman:"🚣‍♀️",rugby_football:"🏉",running_man:"🏃",running_shirt_with_sash:"🎽",running_woman:"🏃‍♀️",sa:"🈂️",sagittarius:"♐️",sake:"🍶",sandal:"👡",santa:"🎅",satellite:"📡",saxophone:"🎷",school:"🏫",school_satchel:"🎒",scissors:"✂️",scorpion:"🦂",scorpius:"♏️",scream:"😱",scream_cat:"🙀",scroll:"📜",seat:"💺",secret:"㊙️",see_no_evil:"🙈",seedling:"🌱",selfie:"🤳",shallow_pan_of_food:"🥘",shamrock:"☘️",shark:"🦈",shaved_ice:"🍧",sheep:"🐑",shell:"🐚",shield:"🛡",shinto_shrine:"⛩",ship:"🚢",shirt:"👕",shopping:"🛍",shopping_cart:"🛒",shower:"🚿",shrimp:"🦐",signal_strength:"📶",six_pointed_star:"🔯",ski:"🎿",skier:"⛷",skull:"💀",skull_and_crossbones:"☠️",sleeping:"😴",sleeping_bed:"🛌",sleepy:"😪",slightly_frowning_face:"🙁",slightly_smiling_face:"🙂",slot_machine:"🎰",small_airplane:"🛩",small_blue_diamond:"🔹",small_orange_diamond:"🔸",small_red_triangle:"🔺",small_red_triangle_down:"🔻",smile:"😄",smile_cat:"😸",smiley:"😃",smiley_cat:"😺",smiling_imp:"😈",smirk:"😏",smirk_cat:"😼",smoking:"🚬",snail:"🐌",snake:"🐍",sneezing_face:"🤧",snowboarder:"🏂",snowflake:"❄️",snowman:"⛄️",snowman_with_snow:"☃️",sob:"😭",soccer:"⚽️",soon:"🔜",sos:"🆘",sound:"🔉",space_invader:"👾",spades:"♠️",spaghetti:"🍝",sparkle:"❇️",sparkler:"🎇",sparkles:"✨",sparkling_heart:"💖",speak_no_evil:"🙊",speaker:"🔈",speaking_head:"🗣",speech_balloon:"💬",speedboat:"🚤",spider:"🕷",spider_web:"🕸",spiral_calendar:"🗓",spiral_notepad:"🗒",spoon:"🥄",squid:"🦑",stadium:"🏟",star:"⭐️",star2:"🌟",star_and_crescent:"☪️",star_of_david:"✡️",stars:"🌠",station:"🚉",statue_of_liberty:"🗽",steam_locomotive:"🚂",stew:"🍲",stop_button:"⏹",stop_sign:"🛑",stopwatch:"⏱",straight_ruler:"📏",strawberry:"🍓",stuck_out_tongue:"😛",stuck_out_tongue_closed_eyes:"😝",stuck_out_tongue_winking_eye:"😜",studio_microphone:"🎙",stuffed_flatbread:"🥙",sun_behind_large_cloud:"🌥",sun_behind_rain_cloud:"🌦",sun_behind_small_cloud:"🌤",sun_with_face:"🌞",sunflower:"🌻",sunglasses:"😎",sunny:"☀️",sunrise:"🌅",sunrise_over_mountains:"🌄",surfing_man:"🏄",surfing_woman:"🏄‍♀️",sushi:"🍣",suspension_railway:"🚟",sweat:"😓",sweat_drops:"💦",sweat_smile:"😅",sweet_potato:"🍠",swimming_man:"🏊",swimming_woman:"🏊‍♀️",symbols:"🔣",synagogue:"🕍",syringe:"💉",taco:"🌮",tada:"🎉",tanabata_tree:"🎋",taurus:"♉️",taxi:"🚕",tea:"🍵",telephone_receiver:"📞",telescope:"🔭",tennis:"🎾",tent:"⛺️",thermometer:"🌡",thinking:"🤔",thought_balloon:"💭",ticket:"🎫",tickets:"🎟",tiger:"🐯",tiger2:"🐅",timer_clock:"⏲",tipping_hand_man:"💁‍♂️",tired_face:"😫",tm:"™️",toilet:"🚽",tokyo_tower:"🗼",tomato:"🍅",tongue:"👅",top:"🔝",tophat:"🎩",tornado:"🌪",trackball:"🖲",tractor:"🚜",traffic_light:"🚥",train:"🚋",train2:"🚆",tram:"🚊",triangular_flag_on_post:"🚩",triangular_ruler:"📐",trident:"🔱",triumph:"😤",trolleybus:"🚎",trophy:"🏆",tropical_drink:"🍹",tropical_fish:"🐠",truck:"🚚",trumpet:"🎺",tulip:"🌷",tumbler_glass:"🥃",turkey:"🦃",turtle:"🐢",tv:"📺",twisted_rightwards_arrows:"🔀",two_hearts:"💕",two_men_holding_hands:"👬",two_women_holding_hands:"👭",u5272:"🈹",u5408:"🈴",u55b6:"🈺",u6307:"🈯️",u6708:"🈷️",u6709:"🈶",u6e80:"🈵",u7121:"🈚️",u7533:"🈸",u7981:"🈲",u7a7a:"🈳",umbrella:"☔️",unamused:"😒",underage:"🔞",unicorn:"🦄",unlock:"🔓",up:"🆙",upside_down_face:"🙃",v:"✌️",vertical_traffic_light:"🚦",vhs:"📼",vibration_mode:"📳",video_camera:"📹",video_game:"🎮",violin:"🎻",virgo:"♍️",volcano:"🌋",volleyball:"🏐",vs:"🆚",vulcan_salute:"🖖",walking_man:"🚶",walking_woman:"🚶‍♀️",waning_crescent_moon:"🌘",waning_gibbous_moon:"🌖",warning:"⚠️",wastebasket:"🗑",watch:"⌚️",water_buffalo:"🐃",watermelon:"🍉",wave:"👋",wavy_dash:"〰️",waxing_crescent_moon:"🌒",wc:"🚾",weary:"😩",wedding:"💒",weight_lifting_man:"🏋️",weight_lifting_woman:"🏋️‍♀️",whale:"🐳",whale2:"🐋",wheel_of_dharma:"☸️",wheelchair:"♿️",white_check_mark:"✅",white_circle:"⚪️",white_flag:"🏳️",white_flower:"💮",white_large_square:"⬜️",white_medium_small_square:"◽️",white_medium_square:"◻️",white_small_square:"▫️",white_square_button:"🔳",wilted_flower:"🥀",wind_chime:"🎐",wind_face:"🌬",wine_glass:"🍷",wink:"😉",wolf:"🐺",woman:"👩",woman_artist:"👩‍🎨",woman_astronaut:"👩‍🚀",woman_cartwheeling:"🤸‍♀️",woman_cook:"👩‍🍳",woman_facepalming:"🤦‍♀️",woman_factory_worker:"👩‍🏭",woman_farmer:"👩‍🌾",woman_firefighter:"👩‍🚒",woman_health_worker:"👩‍⚕️",woman_judge:"👩‍⚖️",woman_juggling:"🤹‍♀️",woman_mechanic:"👩‍🔧",woman_office_worker:"👩‍💼",woman_pilot:"👩‍✈️",woman_playing_handball:"🤾‍♀️",woman_playing_water_polo:"🤽‍♀️",woman_scientist:"👩‍🔬",woman_shrugging:"🤷‍♀️",woman_singer:"👩‍🎤",woman_student:"👩‍🎓",woman_teacher:"👩‍🏫",woman_technologist:"👩‍💻",woman_with_turban:"👳‍♀️",womans_clothes:"👚",womans_hat:"👒",women_wrestling:"🤼‍♀️",womens:"🚺",world_map:"🗺",worried:"😟",wrench:"🔧",writing_hand:"✍️",x:"❌",yellow_heart:"💛",yen:"💴",yin_yang:"☯️",yum:"😋",zap:"⚡️",zipper_mouth_face:"🤐",zzz:"💤",octocat:'<img alt=":octocat:" height="20" width="20" align="absmiddle" src="https://assets-cdn.github.com/images/icons/emoji/octocat.png">',showdown:`<span style="font-family: 'Anonymous Pro', monospace; text-decoration: underline; text-decoration-style: dashed; text-decoration-color: #3e8b8a;text-underline-position: under;">S</span>`},n.Converter=function(d){var s={},u=[],o=[],g={},m=h,l={parsed:{},raw:"",format:""};w();function w(){d=d||{};for(var f in c)c.hasOwnProperty(f)&&(s[f]=c[f]);if(typeof d=="object")for(var E in d)d.hasOwnProperty(E)&&(s[E]=d[E]);else throw Error("Converter expects the passed parameter to be an object, but "+typeof d+" was passed instead.");s.extensions&&n.helper.forEach(s.extensions,B)}function B(f,E){if(E=E||null,n.helper.isString(f))if(f=n.helper.stdExtName(f),E=f,n.extensions[f]){console.warn("DEPRECATION WARNING: "+f+" is an old extension that uses a deprecated loading method.Please inform the developer that the extension should be updated!"),P(n.extensions[f],f);return}else if(!n.helper.isUndefined(a[f]))f=a[f];else throw Error('Extension "'+f+'" could not be loaded. It was either not found or is not a valid extension.');typeof f=="function"&&(f=f()),n.helper.isArray(f)||(f=[f]);var T=b(f,E);if(!T.valid)throw Error(T.error);for(var M=0;M<f.length;++M){switch(f[M].type){case"lang":u.push(f[M]);break;case"output":o.push(f[M]);break}if(f[M].hasOwnProperty("listeners"))for(var O in f[M].listeners)f[M].listeners.hasOwnProperty(O)&&j(O,f[M].listeners[O])}}function P(f,E){typeof f=="function"&&(f=f(new n.Converter)),n.helper.isArray(f)||(f=[f]);var T=b(f,E);if(!T.valid)throw Error(T.error);for(var M=0;M<f.length;++M)switch(f[M].type){case"lang":u.push(f[M]);break;case"output":o.push(f[M]);break;default:throw Error("Extension loader error: Type unrecognized!!!")}}function j(f,E){if(!n.helper.isString(f))throw Error("Invalid argument in converter.listen() method: name must be a string, but "+typeof f+" given");if(typeof E!="function")throw Error("Invalid argument in converter.listen() method: callback must be a function, but "+typeof E+" given");g.hasOwnProperty(f)||(g[f]=[]),g[f].push(E)}function y(f){var E=f.match(/^\s*/)[0].length,T=new RegExp("^\\s{0,"+E+"}","gm");return f.replace(T,"")}this._dispatch=function(E,T,M,O){if(g.hasOwnProperty(E))for(var I=0;I<g[E].length;++I){var U=g[E][I](E,T,this,M,O);U&&typeof U<"u"&&(T=U)}return T},this.listen=function(f,E){return j(f,E),this},this.makeHtml=function(f){if(!f)return f;var E={gHtmlBlocks:[],gHtmlMdBlocks:[],gHtmlSpans:[],gUrls:{},gTitles:{},gDimensions:{},gListLevel:0,hashLinkCounts:{},langExtensions:u,outputModifiers:o,converter:this,ghCodeBlocks:[],metadata:{parsed:{},raw:"",format:""}};return f=f.replace(/¨/g,"¨T"),f=f.replace(/\$/g,"¨D"),f=f.replace(/\r\n/g,`
`),f=f.replace(/\r/g,`
`),f=f.replace(/\u00A0/g," "),s.smartIndentationFix&&(f=y(f)),f=`
`+f+`
`,f=n.subParser("detab")(f,s,E),f=f.replace(/^[ \t]+$/mg,""),n.helper.forEach(u,function(T){f=n.subParser("runExtension")(T,f,s,E)}),f=n.subParser("metadata")(f,s,E),f=n.subParser("hashPreCodeTags")(f,s,E),f=n.subParser("githubCodeBlocks")(f,s,E),f=n.subParser("hashHTMLBlocks")(f,s,E),f=n.subParser("hashCodeTags")(f,s,E),f=n.subParser("stripLinkDefinitions")(f,s,E),f=n.subParser("blockGamut")(f,s,E),f=n.subParser("unhashHTMLSpans")(f,s,E),f=n.subParser("unescapeSpecialChars")(f,s,E),f=f.replace(/¨D/g,"$$"),f=f.replace(/¨T/g,"¨"),f=n.subParser("completeHTMLDocument")(f,s,E),n.helper.forEach(o,function(T){f=n.subParser("runExtension")(T,f,s,E)}),l=E.metadata,f},this.makeMarkdown=this.makeMd=function(f,E){if(f=f.replace(/\r\n/g,`
`),f=f.replace(/\r/g,`
`),f=f.replace(/>[ \t]+</,">¨NBSP;<"),!E)if(window&&window.document)E=window.document;else throw new Error("HTMLParser is undefined. If in a webworker or nodejs environment, you need to provide a WHATWG DOM and HTML such as JSDOM");var T=E.createElement("div");T.innerHTML=f;var M={preList:J(T)};D(T);for(var O=T.childNodes,I="",U=0;U<O.length;U++)I+=n.subParser("makeMarkdown.node")(O[U],M);function D(K){for(var x=0;x<K.childNodes.length;++x){var Y=K.childNodes[x];Y.nodeType===3?!/\S/.test(Y.nodeValue)&&!/^[ ]+$/.test(Y.nodeValue)?(K.removeChild(Y),--x):(Y.nodeValue=Y.nodeValue.split(`
`).join(" "),Y.nodeValue=Y.nodeValue.replace(/(\s)+/g,"$1")):Y.nodeType===1&&D(Y)}}function J(K){for(var x=K.querySelectorAll("pre"),Y=[],ee=0;ee<x.length;++ee)if(x[ee].childElementCount===1&&x[ee].firstChild.tagName.toLowerCase()==="code"){var oe=x[ee].firstChild.innerHTML.trim(),fe=x[ee].firstChild.getAttribute("data-language")||"";if(fe==="")for(var qe=x[ee].firstChild.className.split(" "),le=0;le<qe.length;++le){var te=qe[le].match(/^language-(.+)$/);if(te!==null){fe=te[1];break}}oe=n.helper.unescapeHTMLEntities(oe),Y.push(oe),x[ee].outerHTML='<precode language="'+fe+'" precodenum="'+ee.toString()+'"></precode>'}else Y.push(x[ee].innerHTML),x[ee].innerHTML="",x[ee].setAttribute("prenum",ee.toString());return Y}return I},this.setOption=function(f,E){s[f]=E},this.getOption=function(f){return s[f]},this.getOptions=function(){return s},this.addExtension=function(f,E){E=E||null,B(f,E)},this.useExtension=function(f){B(f)},this.setFlavor=function(f){if(!p.hasOwnProperty(f))throw Error(f+" flavor was not found");var E=p[f];m=f;for(var T in E)E.hasOwnProperty(T)&&(s[T]=E[T])},this.getFlavor=function(){return m},this.removeExtension=function(f){n.helper.isArray(f)||(f=[f]);for(var E=0;E<f.length;++E){for(var T=f[E],M=0;M<u.length;++M)u[M]===T&&u.splice(M,1);for(var O=0;O<o.length;++O)o[O]===T&&o.splice(O,1)}},this.getAllExtensions=function(){return{language:u,output:o}},this.getMetadata=function(f){return f?l.raw:l.parsed},this.getMetadataFormat=function(){return l.format},this._setMetadataPair=function(f,E){l.parsed[f]=E},this._setMetadataFormat=function(f){l.format=f},this._setMetadataRaw=function(f){l.raw=f}},n.subParser("anchors",function(d,s,u){d=u.converter._dispatch("anchors.before",d,s,u);var o=function(g,m,l,w,B,P,j){if(n.helper.isUndefined(j)&&(j=""),l=l.toLowerCase(),g.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)>-1)w="";else if(!w)if(l||(l=m.toLowerCase().replace(/ ?\n/g," ")),w="#"+l,!n.helper.isUndefined(u.gUrls[l]))w=u.gUrls[l],n.helper.isUndefined(u.gTitles[l])||(j=u.gTitles[l]);else return g;w=w.replace(n.helper.regexes.asteriskDashAndColon,n.helper.escapeCharactersCallback);var y='<a href="'+w+'"';return j!==""&&j!==null&&(j=j.replace(/"/g,"""),j=j.replace(n.helper.regexes.asteriskDashAndColon,n.helper.escapeCharactersCallback),y+=' title="'+j+'"'),s.openLinksInNewWindow&&!/^#/.test(w)&&(y+=' rel="noopener noreferrer" target="¨E95Eblank"'),y+=">"+m+"</a>",y};return d=d.replace(/\[((?:\[[^\]]*]|[^\[\]])*)] ?(?:\n *)?\[(.*?)]()()()()/g,o),d=d.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<([^>]*)>(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,o),d=d.replace(/\[((?:\[[^\]]*]|[^\[\]])*)]()[ \t]*\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?:[ \t]*((["'])([^"]*?)\5))?[ \t]?\)/g,o),d=d.replace(/\[([^\[\]]+)]()()()()()/g,o),s.ghMentions&&(d=d.replace(/(^|\s)(\\)?(@([a-z\d]+(?:[a-z\d.-]+?[a-z\d]+)*))/gmi,function(g,m,l,w,B){if(l==="\\")return m+w;if(!n.helper.isString(s.ghMentionsLink))throw new Error("ghMentionsLink option must be a string");var P=s.ghMentionsLink.replace(/\{u}/g,B),j="";return s.openLinksInNewWindow&&(j=' rel="noopener noreferrer" target="¨E95Eblank"'),m+'<a href="'+P+'"'+j+">"+w+"</a>"})),d=u.converter._dispatch("anchors.after",d,s,u),d});var k=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+?\.[^'">\s]+?)()(\1)?(?=\s|$)(?!["<>])/gi,C=/([*~_]+|\b)(((https?|ftp|dict):\/\/|www\.)[^'">\s]+\.[^'">\s]+?)([.!?,()\[\]])?(\1)?(?=\s|$)(?!["<>])/gi,$=/()<(((https?|ftp|dict):\/\/|www\.)[^'">\s]+)()>()/gi,A=/(^|\s)(?:mailto:)?([A-Za-z0-9!#$%&'*+-/=?^_`{|}~.]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)(?=$|\s)/gmi,S=/<()(?:mailto:)?([-.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]+)>/gi,L=function(d){return function(s,u,o,g,m,l,w){o=o.replace(n.helper.regexes.asteriskDashAndColon,n.helper.escapeCharactersCallback);var B=o,P="",j="",y=u||"",f=w||"";return/^www\./i.test(o)&&(o=o.replace(/^www\./i,"http://www.")),d.excludeTrailingPunctuationFromURLs&&l&&(P=l),d.openLinksInNewWindow&&(j=' rel="noopener noreferrer" target="¨E95Eblank"'),y+'<a href="'+o+'"'+j+">"+B+"</a>"+P+f}},z=function(d,s){return function(u,o,g){var m="mailto:";return o=o||"",g=n.subParser("unescapeSpecialChars")(g,d,s),d.encodeEmails?(m=n.helper.encodeEmailAddress(m+g),g=n.helper.encodeEmailAddress(g)):m=m+g,o+'<a href="'+m+'">'+g+"</a>"}};n.subParser("autoLinks",function(d,s,u){return d=u.converter._dispatch("autoLinks.before",d,s,u),d=d.replace($,L(s)),d=d.replace(S,z(s,u)),d=u.converter._dispatch("autoLinks.after",d,s,u),d}),n.subParser("simplifiedAutoLinks",function(d,s,u){return s.simplifiedAutoLink&&(d=u.converter._dispatch("simplifiedAutoLinks.before",d,s,u),s.excludeTrailingPunctuationFromURLs?d=d.replace(C,L(s)):d=d.replace(k,L(s)),d=d.replace(A,z(s,u)),d=u.converter._dispatch("simplifiedAutoLinks.after",d,s,u)),d}),n.subParser("blockGamut",function(d,s,u){return d=u.converter._dispatch("blockGamut.before",d,s,u),d=n.subParser("blockQuotes")(d,s,u),d=n.subParser("headers")(d,s,u),d=n.subParser("horizontalRule")(d,s,u),d=n.subParser("lists")(d,s,u),d=n.subParser("codeBlocks")(d,s,u),d=n.subParser("tables")(d,s,u),d=n.subParser("hashHTMLBlocks")(d,s,u),d=n.subParser("paragraphs")(d,s,u),d=u.converter._dispatch("blockGamut.after",d,s,u),d}),n.subParser("blockQuotes",function(d,s,u){d=u.converter._dispatch("blockQuotes.before",d,s,u),d=d+`
`;var o=/(^ {0,3}>[ \t]?.+\n(.+\n)*\n*)+/gm;return s.splitAdjacentBlockquotes&&(o=/^ {0,3}>[\s\S]*?(?:\n\n)/gm),d=d.replace(o,function(g){return g=g.replace(/^[ \t]*>[ \t]?/gm,""),g=g.replace(/¨0/g,""),g=g.replace(/^[ \t]+$/gm,""),g=n.subParser("githubCodeBlocks")(g,s,u),g=n.subParser("blockGamut")(g,s,u),g=g.replace(/(^|\n)/g,"$1 "),g=g.replace(/(\s*<pre>[^\r]+?<\/pre>)/gm,function(m,l){var w=l;return w=w.replace(/^ /mg,"¨0"),w=w.replace(/¨0/g,""),w}),n.subParser("hashBlock")(`<blockquote>
`+g+`
</blockquote>`,s,u)}),d=u.converter._dispatch("blockQuotes.after",d,s,u),d}),n.subParser("codeBlocks",function(d,s,u){d=u.converter._dispatch("codeBlocks.before",d,s,u),d+="¨0";var o=/(?:\n\n|^)((?:(?:[ ]{4}|\t).*\n+)+)(\n*[ ]{0,3}[^ \t\n]|(?=¨0))/g;return d=d.replace(o,function(g,m,l){var w=m,B=l,P=`
`;return w=n.subParser("outdent")(w,s,u),w=n.subParser("encodeCode")(w,s,u),w=n.subParser("detab")(w,s,u),w=w.replace(/^\n+/g,""),w=w.replace(/\n+$/g,""),s.omitExtraWLInCodeBlocks&&(P=""),w="<pre><code>"+w+P+"</code></pre>",n.subParser("hashBlock")(w,s,u)+B}),d=d.replace(/¨0/,""),d=u.converter._dispatch("codeBlocks.after",d,s,u),d}),n.subParser("codeSpans",function(d,s,u){return d=u.converter._dispatch("codeSpans.before",d,s,u),typeof d>"u"&&(d=""),d=d.replace(/(^|[^\\])(`+)([^\r]*?[^`])\2(?!`)/gm,function(o,g,m,l){var w=l;return w=w.replace(/^([ \t]*)/g,""),w=w.replace(/[ \t]*$/g,""),w=n.subParser("encodeCode")(w,s,u),w=g+"<code>"+w+"</code>",w=n.subParser("hashHTMLSpans")(w,s,u),w}),d=u.converter._dispatch("codeSpans.after",d,s,u),d}),n.subParser("completeHTMLDocument",function(d,s,u){if(!s.completeHTMLDocument)return d;d=u.converter._dispatch("completeHTMLDocument.before",d,s,u);var o="html",g=`<!DOCTYPE HTML>
`,m="",l=`<meta charset="utf-8">
`,w="",B="";typeof u.metadata.parsed.doctype<"u"&&(g="<!DOCTYPE "+u.metadata.parsed.doctype+`>
`,o=u.metadata.parsed.doctype.toString().toLowerCase(),(o==="html"||o==="html5")&&(l='<meta charset="utf-8">'));for(var P in u.metadata.parsed)if(u.metadata.parsed.hasOwnProperty(P))switch(P.toLowerCase()){case"doctype":break;case"title":m="<title>"+u.metadata.parsed.title+`</title>
`;break;case"charset":o==="html"||o==="html5"?l='<meta charset="'+u.metadata.parsed.charset+`">
`:l='<meta name="charset" content="'+u.metadata.parsed.charset+`">
`;break;case"language":case"lang":w=' lang="'+u.metadata.parsed[P]+'"',B+='<meta name="'+P+'" content="'+u.metadata.parsed[P]+`">
`;break;default:B+='<meta name="'+P+'" content="'+u.metadata.parsed[P]+`">
`}return d=g+"<html"+w+`>
<head>
`+m+l+B+`</head>
<body>
`+d.trim()+`
</body>
</html>`,d=u.converter._dispatch("completeHTMLDocument.after",d,s,u),d}),n.subParser("detab",function(d,s,u){return d=u.converter._dispatch("detab.before",d,s,u),d=d.replace(/\t(?=\t)/g," "),d=d.replace(/\t/g,"¨A¨B"),d=d.replace(/¨B(.+?)¨A/g,function(o,g){for(var m=g,l=4-m.length%4,w=0;w<l;w++)m+=" ";return m}),d=d.replace(/¨A/g," "),d=d.replace(/¨B/g,""),d=u.converter._dispatch("detab.after",d,s,u),d}),n.subParser("ellipsis",function(d,s,u){return s.ellipsis&&(d=u.converter._dispatch("ellipsis.before",d,s,u),d=d.replace(/\.\.\./g,"…"),d=u.converter._dispatch("ellipsis.after",d,s,u)),d}),n.subParser("emoji",function(d,s,u){if(!s.emoji)return d;d=u.converter._dispatch("emoji.before",d,s,u);var o=/:([\S]+?):/g;return d=d.replace(o,function(g,m){return n.helper.emojis.hasOwnProperty(m)?n.helper.emojis[m]:g}),d=u.converter._dispatch("emoji.after",d,s,u),d}),n.subParser("encodeAmpsAndAngles",function(d,s,u){return d=u.converter._dispatch("encodeAmpsAndAngles.before",d,s,u),d=d.replace(/&(?!#?[xX]?(?:[0-9a-fA-F]+|\w+);)/g,"&"),d=d.replace(/<(?![a-z\/?$!])/gi,"<"),d=d.replace(/</g,"<"),d=d.replace(/>/g,">"),d=u.converter._dispatch("encodeAmpsAndAngles.after",d,s,u),d}),n.subParser("encodeBackslashEscapes",function(d,s,u){return d=u.converter._dispatch("encodeBackslashEscapes.before",d,s,u),d=d.replace(/\\(\\)/g,n.helper.escapeCharactersCallback),d=d.replace(/\\([`*_{}\[\]()>#+.!~=|:-])/g,n.helper.escapeCharactersCallback),d=u.converter._dispatch("encodeBackslashEscapes.after",d,s,u),d}),n.subParser("encodeCode",function(d,s,u){return d=u.converter._dispatch("encodeCode.before",d,s,u),d=d.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/([*_{}\[\]\\=~-])/g,n.helper.escapeCharactersCallback),d=u.converter._dispatch("encodeCode.after",d,s,u),d}),n.subParser("escapeSpecialCharsWithinTagAttributes",function(d,s,u){d=u.converter._dispatch("escapeSpecialCharsWithinTagAttributes.before",d,s,u);var o=/<\/?[a-z\d_:-]+(?:[\s]+[\s\S]+?)?>/gi,g=/<!(--(?:(?:[^>-]|-[^>])(?:[^-]|-[^-])*)--)>/gi;return d=d.replace(o,function(m){return m.replace(/(.)<\/?code>(?=.)/g,"$1`").replace(/([\\`*_~=|])/g,n.helper.escapeCharactersCallback)}),d=d.replace(g,function(m){return m.replace(/([\\`*_~=|])/g,n.helper.escapeCharactersCallback)}),d=u.converter._dispatch("escapeSpecialCharsWithinTagAttributes.after",d,s,u),d}),n.subParser("githubCodeBlocks",function(d,s,u){return s.ghCodeBlocks?(d=u.converter._dispatch("githubCodeBlocks.before",d,s,u),d+="¨0",d=d.replace(/(?:^|\n)(?: {0,3})(```+|~~~+)(?: *)([^\s`~]*)\n([\s\S]*?)\n(?: {0,3})\1/g,function(o,g,m,l){var w=s.omitExtraWLInCodeBlocks?"":`
`;return l=n.subParser("encodeCode")(l,s,u),l=n.subParser("detab")(l,s,u),l=l.replace(/^\n+/g,""),l=l.replace(/\n+$/g,""),l="<pre><code"+(m?' class="'+m+" language-"+m+'"':"")+">"+l+w+"</code></pre>",l=n.subParser("hashBlock")(l,s,u),`
¨G`+(u.ghCodeBlocks.push({text:o,codeblock:l})-1)+`G
`}),d=d.replace(/¨0/,""),u.converter._dispatch("githubCodeBlocks.after",d,s,u)):d}),n.subParser("hashBlock",function(d,s,u){return d=u.converter._dispatch("hashBlock.before",d,s,u),d=d.replace(/(^\n+|\n+$)/g,""),d=`
¨K`+(u.gHtmlBlocks.push(d)-1)+`K
`,d=u.converter._dispatch("hashBlock.after",d,s,u),d}),n.subParser("hashCodeTags",function(d,s,u){d=u.converter._dispatch("hashCodeTags.before",d,s,u);var o=function(g,m,l,w){var B=l+n.subParser("encodeCode")(m,s,u)+w;return"¨C"+(u.gHtmlSpans.push(B)-1)+"C"};return d=n.helper.replaceRecursiveRegExp(d,o,"<code\\b[^>]*>","</code>","gim"),d=u.converter._dispatch("hashCodeTags.after",d,s,u),d}),n.subParser("hashElement",function(d,s,u){return function(o,g){var m=g;return m=m.replace(/\n\n/g,`
`),m=m.replace(/^\n/,""),m=m.replace(/\n+$/g,""),m=`
¨K`+(u.gHtmlBlocks.push(m)-1)+`K
`,m}}),n.subParser("hashHTMLBlocks",function(d,s,u){d=u.converter._dispatch("hashHTMLBlocks.before",d,s,u);var o=["pre","div","h1","h2","h3","h4","h5","h6","blockquote","table","dl","ol","ul","script","noscript","form","fieldset","iframe","math","style","section","header","footer","nav","article","aside","address","audio","canvas","figure","hgroup","output","video","p"],g=function(f,E,T,M){var O=f;return T.search(/\bmarkdown\b/)!==-1&&(O=T+u.converter.makeHtml(E)+M),`
¨K`+(u.gHtmlBlocks.push(O)-1)+`K
`};s.backslashEscapesHTMLTags&&(d=d.replace(/\\<(\/?[^>]+?)>/g,function(f,E){return"<"+E+">"}));for(var m=0;m<o.length;++m)for(var l,w=new RegExp("^ {0,3}(<"+o[m]+"\\b[^>]*>)","im"),B="<"+o[m]+"\\b[^>]*>",P="</"+o[m]+">";(l=n.helper.regexIndexOf(d,w))!==-1;){var j=n.helper.splitAtIndex(d,l),y=n.helper.replaceRecursiveRegExp(j[1],g,B,P,"im");if(y===j[1])break;d=j[0].concat(y)}return d=d.replace(/(\n {0,3}(<(hr)\b([^<>])*?\/?>)[ \t]*(?=\n{2,}))/g,n.subParser("hashElement")(d,s,u)),d=n.helper.replaceRecursiveRegExp(d,function(f){return`
¨K`+(u.gHtmlBlocks.push(f)-1)+`K
`},"^ {0,3}<!--","-->","gm"),d=d.replace(/(?:\n\n)( {0,3}(?:<([?%])[^\r]*?\2>)[ \t]*(?=\n{2,}))/g,n.subParser("hashElement")(d,s,u)),d=u.converter._dispatch("hashHTMLBlocks.after",d,s,u),d}),n.subParser("hashHTMLSpans",function(d,s,u){d=u.converter._dispatch("hashHTMLSpans.before",d,s,u);function o(g){return"¨C"+(u.gHtmlSpans.push(g)-1)+"C"}return d=d.replace(/<[^>]+?\/>/gi,function(g){return o(g)}),d=d.replace(/<([^>]+?)>[\s\S]*?<\/\1>/g,function(g){return o(g)}),d=d.replace(/<([^>]+?)\s[^>]+?>[\s\S]*?<\/\1>/g,function(g){return o(g)}),d=d.replace(/<[^>]+?>/gi,function(g){return o(g)}),d=u.converter._dispatch("hashHTMLSpans.after",d,s,u),d}),n.subParser("unhashHTMLSpans",function(d,s,u){d=u.converter._dispatch("unhashHTMLSpans.before",d,s,u);for(var o=0;o<u.gHtmlSpans.length;++o){for(var g=u.gHtmlSpans[o],m=0;/¨C(\d+)C/.test(g);){var l=RegExp.$1;if(g=g.replace("¨C"+l+"C",u.gHtmlSpans[l]),m===10){console.error("maximum nesting of 10 spans reached!!!");break}++m}d=d.replace("¨C"+o+"C",g)}return d=u.converter._dispatch("unhashHTMLSpans.after",d,s,u),d}),n.subParser("hashPreCodeTags",function(d,s,u){d=u.converter._dispatch("hashPreCodeTags.before",d,s,u);var o=function(g,m,l,w){var B=l+n.subParser("encodeCode")(m,s,u)+w;return`
¨G`+(u.ghCodeBlocks.push({text:g,codeblock:B})-1)+`G
`};return d=n.helper.replaceRecursiveRegExp(d,o,"^ {0,3}<pre\\b[^>]*>\\s*<code\\b[^>]*>","^ {0,3}</code>\\s*</pre>","gim"),d=u.converter._dispatch("hashPreCodeTags.after",d,s,u),d}),n.subParser("headers",function(d,s,u){d=u.converter._dispatch("headers.before",d,s,u);var o=isNaN(parseInt(s.headerLevelStart))?1:parseInt(s.headerLevelStart),g=s.smoothLivePreview?/^(.+)[ \t]*\n={2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n=+[ \t]*\n+/gm,m=s.smoothLivePreview?/^(.+)[ \t]*\n-{2,}[ \t]*\n+/gm:/^(.+)[ \t]*\n-+[ \t]*\n+/gm;d=d.replace(g,function(B,P){var j=n.subParser("spanGamut")(P,s,u),y=s.noHeaderId?"":' id="'+w(P)+'"',f=o,E="<h"+f+y+">"+j+"</h"+f+">";return n.subParser("hashBlock")(E,s,u)}),d=d.replace(m,function(B,P){var j=n.subParser("spanGamut")(P,s,u),y=s.noHeaderId?"":' id="'+w(P)+'"',f=o+1,E="<h"+f+y+">"+j+"</h"+f+">";return n.subParser("hashBlock")(E,s,u)});var l=s.requireSpaceBeforeHeadingText?/^(#{1,6})[ \t]+(.+?)[ \t]*#*\n+/gm:/^(#{1,6})[ \t]*(.+?)[ \t]*#*\n+/gm;d=d.replace(l,function(B,P,j){var y=j;s.customizedHeaderId&&(y=j.replace(/\s?\{([^{]+?)}\s*$/,""));var f=n.subParser("spanGamut")(y,s,u),E=s.noHeaderId?"":' id="'+w(j)+'"',T=o-1+P.length,M="<h"+T+E+">"+f+"</h"+T+">";return n.subParser("hashBlock")(M,s,u)});function w(B){var P,j;if(s.customizedHeaderId){var y=B.match(/\{([^{]+?)}\s*$/);y&&y[1]&&(B=y[1])}return P=B,n.helper.isString(s.prefixHeaderId)?j=s.prefixHeaderId:s.prefixHeaderId===!0?j="section-":j="",s.rawPrefixHeaderId||(P=j+P),s.ghCompatibleHeaderId?P=P.replace(/ /g,"-").replace(/&/g,"").replace(/¨T/g,"").replace(/¨D/g,"").replace(/[&+$,\/:;=?@"#{}|^¨~\[\]`\\*)(%.!'<>]/g,"").toLowerCase():s.rawHeaderId?P=P.replace(/ /g,"-").replace(/&/g,"&").replace(/¨T/g,"¨").replace(/¨D/g,"$").replace(/["']/g,"-").toLowerCase():P=P.replace(/[^\w]/g,"").toLowerCase(),s.rawPrefixHeaderId&&(P=j+P),u.hashLinkCounts[P]?P=P+"-"+u.hashLinkCounts[P]++:u.hashLinkCounts[P]=1,P}return d=u.converter._dispatch("headers.after",d,s,u),d}),n.subParser("horizontalRule",function(d,s,u){d=u.converter._dispatch("horizontalRule.before",d,s,u);var o=n.subParser("hashBlock")("<hr />",s,u);return d=d.replace(/^ {0,2}( ?-){3,}[ \t]*$/gm,o),d=d.replace(/^ {0,2}( ?\*){3,}[ \t]*$/gm,o),d=d.replace(/^ {0,2}( ?_){3,}[ \t]*$/gm,o),d=u.converter._dispatch("horizontalRule.after",d,s,u),d}),n.subParser("images",function(d,s,u){d=u.converter._dispatch("images.before",d,s,u);var o=/!\[([^\]]*?)][ \t]*()\([ \t]?<?([\S]+?(?:\([\S]*?\)[\S]*?)?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,g=/!\[([^\]]*?)][ \t]*()\([ \t]?<([^>]*)>(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(?:(["'])([^"]*?)\6))?[ \t]?\)/g,m=/!\[([^\]]*?)][ \t]*()\([ \t]?<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*(?:(["'])([^"]*?)\6)?[ \t]?\)/g,l=/!\[([^\]]*?)] ?(?:\n *)?\[([\s\S]*?)]()()()()()/g,w=/!\[([^\[\]]+)]()()()()()/g;function B(j,y,f,E,T,M,O,I){return E=E.replace(/\s/g,""),P(j,y,f,E,T,M,O,I)}function P(j,y,f,E,T,M,O,I){var U=u.gUrls,D=u.gTitles,J=u.gDimensions;if(f=f.toLowerCase(),I||(I=""),j.search(/\(<?\s*>? ?(['"].*['"])?\)$/m)>-1)E="";else if(E===""||E===null)if((f===""||f===null)&&(f=y.toLowerCase().replace(/ ?\n/g," ")),E="#"+f,!n.helper.isUndefined(U[f]))E=U[f],n.helper.isUndefined(D[f])||(I=D[f]),n.helper.isUndefined(J[f])||(T=J[f].width,M=J[f].height);else return j;y=y.replace(/"/g,""").replace(n.helper.regexes.asteriskDashAndColon,n.helper.escapeCharactersCallback),E=E.replace(n.helper.regexes.asteriskDashAndColon,n.helper.escapeCharactersCallback);var K='<img src="'+E+'" alt="'+y+'"';return I&&n.helper.isString(I)&&(I=I.replace(/"/g,""").replace(n.helper.regexes.asteriskDashAndColon,n.helper.escapeCharactersCallback),K+=' title="'+I+'"'),T&&M&&(T=T==="*"?"auto":T,M=M==="*"?"auto":M,K+=' width="'+T+'"',K+=' height="'+M+'"'),K+=" />",K}return d=d.replace(l,P),d=d.replace(m,B),d=d.replace(g,P),d=d.replace(o,P),d=d.replace(w,P),d=u.converter._dispatch("images.after",d,s,u),d}),n.subParser("italicsAndBold",function(d,s,u){d=u.converter._dispatch("italicsAndBold.before",d,s,u);function o(g,m,l){return m+g+l}return s.literalMidWordUnderscores?(d=d.replace(/\b___(\S[\s\S]*?)___\b/g,function(g,m){return o(m,"<strong><em>","</em></strong>")}),d=d.replace(/\b__(\S[\s\S]*?)__\b/g,function(g,m){return o(m,"<strong>","</strong>")}),d=d.replace(/\b_(\S[\s\S]*?)_\b/g,function(g,m){return o(m,"<em>","</em>")})):(d=d.replace(/___(\S[\s\S]*?)___/g,function(g,m){return/\S$/.test(m)?o(m,"<strong><em>","</em></strong>"):g}),d=d.replace(/__(\S[\s\S]*?)__/g,function(g,m){return/\S$/.test(m)?o(m,"<strong>","</strong>"):g}),d=d.replace(/_([^\s_][\s\S]*?)_/g,function(g,m){return/\S$/.test(m)?o(m,"<em>","</em>"):g})),s.literalMidWordAsterisks?(d=d.replace(/([^*]|^)\B\*\*\*(\S[\s\S]*?)\*\*\*\B(?!\*)/g,function(g,m,l){return o(l,m+"<strong><em>","</em></strong>")}),d=d.replace(/([^*]|^)\B\*\*(\S[\s\S]*?)\*\*\B(?!\*)/g,function(g,m,l){return o(l,m+"<strong>","</strong>")}),d=d.replace(/([^*]|^)\B\*(\S[\s\S]*?)\*\B(?!\*)/g,function(g,m,l){return o(l,m+"<em>","</em>")})):(d=d.replace(/\*\*\*(\S[\s\S]*?)\*\*\*/g,function(g,m){return/\S$/.test(m)?o(m,"<strong><em>","</em></strong>"):g}),d=d.replace(/\*\*(\S[\s\S]*?)\*\*/g,function(g,m){return/\S$/.test(m)?o(m,"<strong>","</strong>"):g}),d=d.replace(/\*([^\s*][\s\S]*?)\*/g,function(g,m){return/\S$/.test(m)?o(m,"<em>","</em>"):g})),d=u.converter._dispatch("italicsAndBold.after",d,s,u),d}),n.subParser("lists",function(d,s,u){function o(l,w){u.gListLevel++,l=l.replace(/\n{2,}$/,`
`),l+="¨0";var B=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0| {0,3}([*+-]|\d+[.])[ \t]+))/gm,P=/\n[ \t]*\n(?!¨0)/.test(l);return s.disableForced4SpacesIndentedSublists&&(B=/(\n)?(^ {0,3})([*+-]|\d+[.])[ \t]+((\[(x|X| )?])?[ \t]*[^\r]+?(\n{1,2}))(?=\n*(¨0|\2([*+-]|\d+[.])[ \t]+))/gm),l=l.replace(B,function(j,y,f,E,T,M,O){O=O&&O.trim()!=="";var I=n.subParser("outdent")(T,s,u),U="";return M&&s.tasklists&&(U=' class="task-list-item" style="list-style-type: none;"',I=I.replace(/^[ \t]*\[(x|X| )?]/m,function(){var D='<input type="checkbox" disabled style="margin: 0px 0.35em 0.25em -1.6em; vertical-align: middle;"';return O&&(D+=" checked"),D+=">",D})),I=I.replace(/^([-*+]|\d\.)[ \t]+[\S\n ]*/g,function(D){return"¨A"+D}),y||I.search(/\n{2,}/)>-1?(I=n.subParser("githubCodeBlocks")(I,s,u),I=n.subParser("blockGamut")(I,s,u)):(I=n.subParser("lists")(I,s,u),I=I.replace(/\n$/,""),I=n.subParser("hashHTMLBlocks")(I,s,u),I=I.replace(/\n\n+/g,`
`),P?I=n.subParser("paragraphs")(I,s,u):I=n.subParser("spanGamut")(I,s,u)),I=I.replace("¨A",""),I="<li"+U+">"+I+`</li>
`,I}),l=l.replace(/¨0/g,""),u.gListLevel--,w&&(l=l.replace(/\s+$/,"")),l}function g(l,w){if(w==="ol"){var B=l.match(/^ *(\d+)\./);if(B&&B[1]!=="1")return' start="'+B[1]+'"'}return""}function m(l,w,B){var P=s.disableForced4SpacesIndentedSublists?/^ ?\d+\.[ \t]/gm:/^ {0,3}\d+\.[ \t]/gm,j=s.disableForced4SpacesIndentedSublists?/^ ?[*+-][ \t]/gm:/^ {0,3}[*+-][ \t]/gm,y=w==="ul"?P:j,f="";if(l.search(y)!==-1)(function T(M){var O=M.search(y),I=g(l,w);O!==-1?(f+=`
<`+w+I+`>
`+o(M.slice(0,O),!!B)+"</"+w+`>
`,w=w==="ul"?"ol":"ul",y=w==="ul"?P:j,T(M.slice(O))):f+=`
<`+w+I+`>
`+o(M,!!B)+"</"+w+`>
`})(l);else{var E=g(l,w);f=`
<`+w+E+`>
`+o(l,!!B)+"</"+w+`>
`}return f}return d=u.converter._dispatch("lists.before",d,s,u),d+="¨0",u.gListLevel?d=d.replace(/^(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(l,w,B){var P=B.search(/[*+-]/g)>-1?"ul":"ol";return m(w,P,!0)}):d=d.replace(/(\n\n|^\n?)(( {0,3}([*+-]|\d+[.])[ \t]+)[^\r]+?(¨0|\n{2,}(?=\S)(?![ \t]*(?:[*+-]|\d+[.])[ \t]+)))/gm,function(l,w,B,P){var j=P.search(/[*+-]/g)>-1?"ul":"ol";return m(B,j,!1)}),d=d.replace(/¨0/,""),d=u.converter._dispatch("lists.after",d,s,u),d}),n.subParser("metadata",function(d,s,u){if(!s.metadata)return d;d=u.converter._dispatch("metadata.before",d,s,u);function o(g){u.metadata.raw=g,g=g.replace(/&/g,"&").replace(/"/g,"""),g=g.replace(/\n {4}/g," "),g.replace(/^([\S ]+): +([\s\S]+?)$/gm,function(m,l,w){return u.metadata.parsed[l]=w,""})}return d=d.replace(/^\s*«««+(\S*?)\n([\s\S]+?)\n»»»+\n/,function(g,m,l){return o(l),"¨M"}),d=d.replace(/^\s*---+(\S*?)\n([\s\S]+?)\n---+\n/,function(g,m,l){return m&&(u.metadata.format=m),o(l),"¨M"}),d=d.replace(/¨M/g,""),d=u.converter._dispatch("metadata.after",d,s,u),d}),n.subParser("outdent",function(d,s,u){return d=u.converter._dispatch("outdent.before",d,s,u),d=d.replace(/^(\t|[ ]{1,4})/gm,"¨0"),d=d.replace(/¨0/g,""),d=u.converter._dispatch("outdent.after",d,s,u),d}),n.subParser("paragraphs",function(d,s,u){d=u.converter._dispatch("paragraphs.before",d,s,u),d=d.replace(/^\n+/g,""),d=d.replace(/\n+$/g,"");for(var o=d.split(/\n{2,}/g),g=[],m=o.length,l=0;l<m;l++){var w=o[l];w.search(/¨(K|G)(\d+)\1/g)>=0?g.push(w):w.search(/\S/)>=0&&(w=n.subParser("spanGamut")(w,s,u),w=w.replace(/^([ \t]*)/g,"<p>"),w+="</p>",g.push(w))}for(m=g.length,l=0;l<m;l++){for(var B="",P=g[l],j=!1;/¨(K|G)(\d+)\1/.test(P);){var y=RegExp.$1,f=RegExp.$2;y==="K"?B=u.gHtmlBlocks[f]:j?B=n.subParser("encodeCode")(u.ghCodeBlocks[f].text,s,u):B=u.ghCodeBlocks[f].codeblock,B=B.replace(/\$/g,"$$$$"),P=P.replace(/(\n\n)?¨(K|G)\d+\2(\n\n)?/,B),/^<pre\b[^>]*>\s*<code\b[^>]*>/.test(P)&&(j=!0)}g[l]=P}return d=g.join(`
`),d=d.replace(/^\n+/g,""),d=d.replace(/\n+$/g,""),u.converter._dispatch("paragraphs.after",d,s,u)}),n.subParser("runExtension",function(d,s,u,o){if(d.filter)s=d.filter(s,o.converter,u);else if(d.regex){var g=d.regex;g instanceof RegExp||(g=new RegExp(g,"g")),s=s.replace(g,d.replace)}return s}),n.subParser("spanGamut",function(d,s,u){return d=u.converter._dispatch("spanGamut.before",d,s,u),d=n.subParser("codeSpans")(d,s,u),d=n.subParser("escapeSpecialCharsWithinTagAttributes")(d,s,u),d=n.subParser("encodeBackslashEscapes")(d,s,u),d=n.subParser("images")(d,s,u),d=n.subParser("anchors")(d,s,u),d=n.subParser("autoLinks")(d,s,u),d=n.subParser("simplifiedAutoLinks")(d,s,u),d=n.subParser("emoji")(d,s,u),d=n.subParser("underline")(d,s,u),d=n.subParser("italicsAndBold")(d,s,u),d=n.subParser("strikethrough")(d,s,u),d=n.subParser("ellipsis")(d,s,u),d=n.subParser("hashHTMLSpans")(d,s,u),d=n.subParser("encodeAmpsAndAngles")(d,s,u),s.simpleLineBreaks?/\n\n¨K/.test(d)||(d=d.replace(/\n+/g,`<br />
`)):d=d.replace(/ +\n/g,`<br />
`),d=u.converter._dispatch("spanGamut.after",d,s,u),d}),n.subParser("strikethrough",function(d,s,u){function o(g){return s.simplifiedAutoLink&&(g=n.subParser("simplifiedAutoLinks")(g,s,u)),"<del>"+g+"</del>"}return s.strikethrough&&(d=u.converter._dispatch("strikethrough.before",d,s,u),d=d.replace(/(?:~){2}([\s\S]+?)(?:~){2}/g,function(g,m){return o(m)}),d=u.converter._dispatch("strikethrough.after",d,s,u)),d}),n.subParser("stripLinkDefinitions",function(d,s,u){var o=/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?([^>\s]+)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n+|(?=¨0))/gm,g=/^ {0,3}\[([^\]]+)]:[ \t]*\n?[ \t]*<?(data:.+?\/.+?;base64,[A-Za-z0-9+/=\n]+?)>?(?: =([*\d]+[A-Za-z%]{0,4})x([*\d]+[A-Za-z%]{0,4}))?[ \t]*\n?[ \t]*(?:(\n*)["|'(](.+?)["|')][ \t]*)?(?:\n\n|(?=¨0)|(?=\n\[))/gm;d+="¨0";var m=function(l,w,B,P,j,y,f){return w=w.toLowerCase(),d.toLowerCase().split(w).length-1<2?l:(B.match(/^data:.+?\/.+?;base64,/)?u.gUrls[w]=B.replace(/\s/g,""):u.gUrls[w]=n.subParser("encodeAmpsAndAngles")(B,s,u),y?y+f:(f&&(u.gTitles[w]=f.replace(/"|'/g,""")),s.parseImgDimensions&&P&&j&&(u.gDimensions[w]={width:P,height:j}),""))};return d=d.replace(g,m),d=d.replace(o,m),d=d.replace(/¨0/,""),d}),n.subParser("tables",function(d,s,u){if(!s.tables)return d;var o=/^ {0,3}\|?.+\|.+\n {0,3}\|?[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*:?[ \t]*(?:[-=]){2,}[\s\S]+?(?:\n\n|¨0)/gm,g=/^ {0,3}\|.+\|[ \t]*\n {0,3}\|[ \t]*:?[ \t]*(?:[-=]){2,}[ \t]*:?[ \t]*\|[ \t]*\n( {0,3}\|.+\|[ \t]*\n)*(?:\n|¨0)/gm;function m(j){return/^:[ \t]*--*$/.test(j)?' style="text-align:left;"':/^--*[ \t]*:[ \t]*$/.test(j)?' style="text-align:right;"':/^:[ \t]*--*[ \t]*:$/.test(j)?' style="text-align:center;"':""}function l(j,y){var f="";return j=j.trim(),(s.tablesHeaderId||s.tableHeaderId)&&(f=' id="'+j.replace(/ /g,"_").toLowerCase()+'"'),j=n.subParser("spanGamut")(j,s,u),"<th"+f+y+">"+j+`</th>
`}function w(j,y){var f=n.subParser("spanGamut")(j,s,u);return"<td"+y+">"+f+`</td>
`}function B(j,y){for(var f=`<table>
<thead>
<tr>
`,E=j.length,T=0;T<E;++T)f+=j[T];for(f+=`</tr>
</thead>
<tbody>
`,T=0;T<y.length;++T){f+=`<tr>
`;for(var M=0;M<E;++M)f+=y[T][M];f+=`</tr>
`}return f+=`</tbody>
</table>
`,f}function P(j){var y,f=j.split(`
`);for(y=0;y<f.length;++y)/^ {0,3}\|/.test(f[y])&&(f[y]=f[y].replace(/^ {0,3}\|/,"")),/\|[ \t]*$/.test(f[y])&&(f[y]=f[y].replace(/\|[ \t]*$/,"")),f[y]=n.subParser("codeSpans")(f[y],s,u);var E=f[0].split("|").map(function(K){return K.trim()}),T=f[1].split("|").map(function(K){return K.trim()}),M=[],O=[],I=[],U=[];for(f.shift(),f.shift(),y=0;y<f.length;++y)f[y].trim()!==""&&M.push(f[y].split("|").map(function(K){return K.trim()}));if(E.length<T.length)return j;for(y=0;y<T.length;++y)I.push(m(T[y]));for(y=0;y<E.length;++y)n.helper.isUndefined(I[y])&&(I[y]=""),O.push(l(E[y],I[y]));for(y=0;y<M.length;++y){for(var D=[],J=0;J<O.length;++J)n.helper.isUndefined(M[y][J]),D.push(w(M[y][J],I[J]));U.push(D)}return B(O,U)}return d=u.converter._dispatch("tables.before",d,s,u),d=d.replace(/\\(\|)/g,n.helper.escapeCharactersCallback),d=d.replace(o,P),d=d.replace(g,P),d=u.converter._dispatch("tables.after",d,s,u),d}),n.subParser("underline",function(d,s,u){return s.underline&&(d=u.converter._dispatch("underline.before",d,s,u),s.literalMidWordUnderscores?(d=d.replace(/\b___(\S[\s\S]*?)___\b/g,function(o,g){return"<u>"+g+"</u>"}),d=d.replace(/\b__(\S[\s\S]*?)__\b/g,function(o,g){return"<u>"+g+"</u>"})):(d=d.replace(/___(\S[\s\S]*?)___/g,function(o,g){return/\S$/.test(g)?"<u>"+g+"</u>":o}),d=d.replace(/__(\S[\s\S]*?)__/g,function(o,g){return/\S$/.test(g)?"<u>"+g+"</u>":o})),d=d.replace(/(_)/g,n.helper.escapeCharactersCallback),d=u.converter._dispatch("underline.after",d,s,u)),d}),n.subParser("unescapeSpecialChars",function(d,s,u){return d=u.converter._dispatch("unescapeSpecialChars.before",d,s,u),d=d.replace(/¨E(\d+)E/g,function(o,g){var m=parseInt(g);return String.fromCharCode(m)}),d=u.converter._dispatch("unescapeSpecialChars.after",d,s,u),d}),n.subParser("makeMarkdown.blockquote",function(d,s){var u="";if(d.hasChildNodes())for(var o=d.childNodes,g=o.length,m=0;m<g;++m){var l=n.subParser("makeMarkdown.node")(o[m],s);l!==""&&(u+=l)}return u=u.trim(),u="> "+u.split(`
`).join(`
> `),u}),n.subParser("makeMarkdown.codeBlock",function(d,s){var u=d.getAttribute("language"),o=d.getAttribute("precodenum");return"```"+u+`
`+s.preList[o]+"\n```"}),n.subParser("makeMarkdown.codeSpan",function(d){return"`"+d.innerHTML+"`"}),n.subParser("makeMarkdown.emphasis",function(d,s){var u="";if(d.hasChildNodes()){u+="*";for(var o=d.childNodes,g=o.length,m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s);u+="*"}return u}),n.subParser("makeMarkdown.header",function(d,s,u){var o=new Array(u+1).join("#"),g="";if(d.hasChildNodes()){g=o+" ";for(var m=d.childNodes,l=m.length,w=0;w<l;++w)g+=n.subParser("makeMarkdown.node")(m[w],s)}return g}),n.subParser("makeMarkdown.hr",function(){return"---"}),n.subParser("makeMarkdown.image",function(d){var s="";return d.hasAttribute("src")&&(s+="+">",d.hasAttribute("width")&&d.hasAttribute("height")&&(s+=" ="+d.getAttribute("width")+"x"+d.getAttribute("height")),d.hasAttribute("title")&&(s+=' "'+d.getAttribute("title")+'"'),s+=")"),s}),n.subParser("makeMarkdown.links",function(d,s){var u="";if(d.hasChildNodes()&&d.hasAttribute("href")){var o=d.childNodes,g=o.length;u="[";for(var m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s);u+="](",u+="<"+d.getAttribute("href")+">",d.hasAttribute("title")&&(u+=' "'+d.getAttribute("title")+'"'),u+=")"}return u}),n.subParser("makeMarkdown.list",function(d,s,u){var o="";if(!d.hasChildNodes())return"";for(var g=d.childNodes,m=g.length,l=d.getAttribute("start")||1,w=0;w<m;++w)if(!(typeof g[w].tagName>"u"||g[w].tagName.toLowerCase()!=="li")){var B="";u==="ol"?B=l.toString()+". ":B="- ",o+=B+n.subParser("makeMarkdown.listItem")(g[w],s),++l}return o+=`
<!-- -->
`,o.trim()}),n.subParser("makeMarkdown.listItem",function(d,s){for(var u="",o=d.childNodes,g=o.length,m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s);return/\n$/.test(u)?u=u.split(`
`).join(`
`).replace(/^ {4}$/gm,"").replace(/\n\n+/g,`
`):u+=`
`,u}),n.subParser("makeMarkdown.node",function(d,s,u){u=u||!1;var o="";if(d.nodeType===3)return n.subParser("makeMarkdown.txt")(d,s);if(d.nodeType===8)return"<!--"+d.data+`-->
`;if(d.nodeType!==1)return"";var g=d.tagName.toLowerCase();switch(g){case"h1":u||(o=n.subParser("makeMarkdown.header")(d,s,1)+`
`);break;case"h2":u||(o=n.subParser("makeMarkdown.header")(d,s,2)+`
`);break;case"h3":u||(o=n.subParser("makeMarkdown.header")(d,s,3)+`
`);break;case"h4":u||(o=n.subParser("makeMarkdown.header")(d,s,4)+`
`);break;case"h5":u||(o=n.subParser("makeMarkdown.header")(d,s,5)+`
`);break;case"h6":u||(o=n.subParser("makeMarkdown.header")(d,s,6)+`
`);break;case"p":u||(o=n.subParser("makeMarkdown.paragraph")(d,s)+`
`);break;case"blockquote":u||(o=n.subParser("makeMarkdown.blockquote")(d,s)+`
`);break;case"hr":u||(o=n.subParser("makeMarkdown.hr")(d,s)+`
`);break;case"ol":u||(o=n.subParser("makeMarkdown.list")(d,s,"ol")+`
`);break;case"ul":u||(o=n.subParser("makeMarkdown.list")(d,s,"ul")+`
`);break;case"precode":u||(o=n.subParser("makeMarkdown.codeBlock")(d,s)+`
`);break;case"pre":u||(o=n.subParser("makeMarkdown.pre")(d,s)+`
`);break;case"table":u||(o=n.subParser("makeMarkdown.table")(d,s)+`
`);break;case"code":o=n.subParser("makeMarkdown.codeSpan")(d,s);break;case"em":case"i":o=n.subParser("makeMarkdown.emphasis")(d,s);break;case"strong":case"b":o=n.subParser("makeMarkdown.strong")(d,s);break;case"del":o=n.subParser("makeMarkdown.strikethrough")(d,s);break;case"a":o=n.subParser("makeMarkdown.links")(d,s);break;case"img":o=n.subParser("makeMarkdown.image")(d,s);break;default:o=d.outerHTML+`
`}return o}),n.subParser("makeMarkdown.paragraph",function(d,s){var u="";if(d.hasChildNodes())for(var o=d.childNodes,g=o.length,m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s);return u=u.trim(),u}),n.subParser("makeMarkdown.pre",function(d,s){var u=d.getAttribute("prenum");return"<pre>"+s.preList[u]+"</pre>"}),n.subParser("makeMarkdown.strikethrough",function(d,s){var u="";if(d.hasChildNodes()){u+="~~";for(var o=d.childNodes,g=o.length,m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s);u+="~~"}return u}),n.subParser("makeMarkdown.strong",function(d,s){var u="";if(d.hasChildNodes()){u+="**";for(var o=d.childNodes,g=o.length,m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s);u+="**"}return u}),n.subParser("makeMarkdown.table",function(d,s){var u="",o=[[],[]],g=d.querySelectorAll("thead>tr>th"),m=d.querySelectorAll("tbody>tr"),l,w;for(l=0;l<g.length;++l){var B=n.subParser("makeMarkdown.tableCell")(g[l],s),P="---";if(g[l].hasAttribute("style")){var j=g[l].getAttribute("style").toLowerCase().replace(/\s/g,"");switch(j){case"text-align:left;":P=":---";break;case"text-align:right;":P="---:";break;case"text-align:center;":P=":---:";break}}o[0][l]=B.trim(),o[1][l]=P}for(l=0;l<m.length;++l){var y=o.push([])-1,f=m[l].getElementsByTagName("td");for(w=0;w<g.length;++w){var E=" ";typeof f[w]<"u"&&(E=n.subParser("makeMarkdown.tableCell")(f[w],s)),o[y].push(E)}}var T=3;for(l=0;l<o.length;++l)for(w=0;w<o[l].length;++w){var M=o[l][w].length;M>T&&(T=M)}for(l=0;l<o.length;++l){for(w=0;w<o[l].length;++w)l===1?o[l][w].slice(-1)===":"?o[l][w]=n.helper.padEnd(o[l][w].slice(-1),T-1,"-")+":":o[l][w]=n.helper.padEnd(o[l][w],T,"-"):o[l][w]=n.helper.padEnd(o[l][w],T);u+="| "+o[l].join(" | ")+` |
`}return u.trim()}),n.subParser("makeMarkdown.tableCell",function(d,s){var u="";if(!d.hasChildNodes())return"";for(var o=d.childNodes,g=o.length,m=0;m<g;++m)u+=n.subParser("makeMarkdown.node")(o[m],s,!0);return u.trim()}),n.subParser("makeMarkdown.txt",function(d){var s=d.nodeValue;return s=s.replace(/ +/g," "),s=s.replace(/¨NBSP;/g," "),s=n.helper.unescapeHTMLEntities(s),s=s.replace(/([*_~|`])/g,"\\$1"),s=s.replace(/^(\s*)>/g,"\\$1>"),s=s.replace(/^#/gm,"\\#"),s=s.replace(/^(\s*)([-=]{3,})(\s*)$/,"$1\\$2$3"),s=s.replace(/^( {0,3}\d+)\./gm,"$1\\."),s=s.replace(/^( {0,3})([+-])/gm,"$1\\$2"),s=s.replace(/]([\s]*)\(/g,"\\]$1\\("),s=s.replace(/^ {0,3}\[([\S \t]*?)]:/gm,"\\[$1]:"),s});var N=this;r.exports?r.exports=n:N.showdown=n}).call(ku)})(_t);var Su=_t.exports;const Au=Eu(Su);function Pu(r){let e;return{c(){e=R("div"),e.innerHTML='<img src="TMB-icon.png" alt="Loading icon" class="loading-icon"/> <p>Loading...</p>',q(e,"class","loading-container"),Mn(e,"margin-top","5rem")},m(t,n){G(t,e,n)},p:ae,d(t){t&&F(e)}}}function Bu(r){let e,t,n=new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(r[0].created_at*1e3))+"",i,a,c,h,p,b,v,_,k,C,$,A,S,L,z,N,d,s,u,o,g,m,l,w,B,P,j,y,f,E,T,M,O,I=r[2]&&Bn(r);return{c(){e=R("div"),t=R("div"),i=Z(n),a=W(),c=R("h1"),h=Z(r[1]),p=W(),I&&I.c(),b=W(),v=R("div"),_=new At(!1),k=W(),C=R("br"),$=R("br"),A=W(),S=R("h2"),S.textContent="About the author",L=W(),z=R("div"),N=R("div"),d=R("a"),s=R("img"),g=W(),m=R("div"),l=R("a"),w=R("strong"),B=R("h3"),P=Z(r[5]),y=W(),f=Z(r[7]),E=W(),T=R("h2"),T.textContent="Comments",M=W(),O=R("zap-threads"),q(t,"class","date"),_.a=k,je(s.src,u=r[6])||q(s,"src",u),q(s,"alt","Author picture"),q(d,"href",o="https://njump.me/"+r[8]),q(N,"class","picture-container"),q(l,"href",j="https://njump.me/"+r[8]),q(m,"class","about"),q(z,"class","author-info"),q(v,"class","content"),q(e,"class","note_wrapper"),Je(O,"anchor",r[4]),Je(O,"relays","wss://relay.damus.io,wss://relay.nostr.band,wss://nostr.coinfund.app,wss://nos.lol,wss://relay.mostr.pub"),Je(O,"disable","replyAnonymously")},m(U,D){G(U,e,D),H(e,t),H(t,i),H(e,a),H(e,c),H(c,h),H(e,p),I&&I.m(e,null),H(e,b),H(e,v),_.m(r[3],v),H(v,k),H(v,C),H(v,$),H(v,A),H(v,S),H(v,L),H(v,z),H(z,N),H(N,d),H(d,s),H(z,g),H(z,m),H(m,l),H(l,w),H(w,B),H(B,P),H(m,y),H(m,f),G(U,E,D),G(U,T,D),G(U,M,D),G(U,O,D)},p(U,D){D&1&&n!==(n=new Intl.DateTimeFormat("en-US",{day:"2-digit",month:"long",year:"numeric",hour:"2-digit",minute:"2-digit"}).format(new Date(U[0].created_at*1e3))+"")&&ie(i,n),D&2&&ie(h,U[1]),U[2]?I?I.p(U,D):(I=Bn(U),I.c(),I.m(e,b)):I&&(I.d(1),I=null),D&8&&_.p(U[3]),D&64&&!je(s.src,u=U[6])&&q(s,"src",u),D&256&&o!==(o="https://njump.me/"+U[8])&&q(d,"href",o),D&32&&ie(P,U[5]),D&256&&j!==(j="https://njump.me/"+U[8])&&q(l,"href",j),D&128&&ie(f,U[7]),D&16&&Je(O,"anchor",U[4])},d(U){U&&(F(e),F(E),F(T),F(M),F(O)),I&&I.d()}}}function Bn(r){let e,t;return{c(){e=R("img"),q(e,"class","note-banner"),je(e.src,t=r[2])||q(e,"src",t)},m(n,i){G(n,e,i)},p(n,i){i&4&&!je(e.src,t=n[2])&&q(e,"src",t)},d(n){n&&F(e)}}}function Cu(r){let e,t,n,i,a=r[4].slice(0,9)+"..."+r[4].slice(-5),c,h,p,b,v,_,k;function C(S,L){return L&1&&(_=null),_==null&&(_=Object.keys(S[0]).length>0),_?Bu:Pu}let $=C(r,-1),A=$(r);return{c(){e=R("div"),t=R("div"),n=Z("Note: "),i=R("a"),c=Z(a),p=W(),b=R("a"),b.innerHTML='<div class="picture-container"><img src="TMB-icon.png"/></div> <span>Trust Me Bro</span>',v=W(),A.c(),k=cr(),q(i,"href",h="https://njump.me/"+r[4]),q(t,"class","external-link"),q(b,"href","#"),q(e,"class","header note")},m(S,L){G(S,e,L),H(e,t),H(t,n),H(t,i),H(i,c),H(e,p),H(e,b),G(S,v,L),A.m(S,L),G(S,k,L)},p(S,[L]){L&16&&a!==(a=S[4].slice(0,9)+"..."+S[4].slice(-5))&&ie(c,a),L&16&&h!==(h="https://njump.me/"+S[4])&&q(i,"href",h),$===($=C(S,L))&&A?A.p(S,L):(A.d(1),A=$(S),A&&(A.c(),A.m(k.parentNode,k)))},i:ae,o:ae,d(S){S&&(F(e),F(v),F(k)),A.d(S)}}}function Lu(r,e,t){let n={},i="",a="",c="",h="",p="",b="",v="",_="",{id:k}=e,{profile:C}=e;return Or(async()=>{const{publicKey:$,relays:A}=Fr(),S=JSON.parse(C.content);t(5,p=S.name||null),t(6,b=S.picture||null),t(7,v=S.about||null),t(8,_=Zn($)),t(4,h=Kt(k));let z=new Xr().subscribeMany(A,[{authors:[$],ids:[k]}],{onevent(N){var m,l;console.log("Received event:",N),t(0,n=N),t(1,i=((m=N==null?void 0:N.tags.find(([w])=>w==="title"))==null?void 0:m[1])||"No title"),t(2,a=((l=N==null?void 0:N.tags.find(([w])=>w==="image"))==null?void 0:l[1])||void 0),dr.set(i);let d=n.content.replace("# "+i,"");const s=/(^|\s|\n|\()(nevent1\w+|note1\w+|npub1\w+|nprofile1\w+)(?=\s|\n|\)|$)/gm;d=d.replace(s,(w,B,P)=>(P.slice(0,24),`${B}nostr:${P}`));const u=/(^|\s|\n)nostr:(nevent1\w+|note1\w+|npub1\w+|nprofile1\w+)(?=\s|\n|$)/gm;d=d.replace(u,(w,B,P)=>{const j=P.slice(0,24);return`${B}[${j}...](nostr:${P})`});const o=/\(nostr:([a-zA-Z0-9]+)\)/g;d=d.replace(o,(w,B)=>`(https://njump.me/${B})`);let g=new Au.Converter;t(3,c=g.makeHtml(d))},oneose(){console.log("No subscribers left. Closing subscription."),z.close()}})}),r.$$set=$=>{"id"in $&&t(9,k=$.id),"profile"in $&&t(10,C=$.profile)},dr.subscribe($=>{document.title=$}),[n,i,a,c,h,p,b,v,_,k,C]}class ju extends Vr{constructor(e){super(),qr(this,e,Lu,Cu,or,{id:9,profile:10})}}function Cn(r){let e;return{c(){e=R("div"),e.innerHTML=`<h1>Oracolo</h1> <h2>Missing config!</h2>
You need to set (at least) the <strong>author meta tag</strong> by updating this html file! Open it with an editor, look at the first lines and personalize them.`,q(e,"class","unfinished-setup")},m(t,n){G(t,e,n)},d(t){t&&F(e)}}}function Ln(r){let e,t,n,i;const a=[Tu,$u],c=[];function h(p,b){return p[0]===""?0:1}return e=h(r),t=c[e]=a[e](r),{c(){t.c(),n=cr()},m(p,b){c[e].m(p,b),G(p,n,b),i=!0},p(p,b){let v=e;e=h(p),e===v?c[e].p(p,b):(Nn(),Ne(c[v],1,1,()=>{c[v]=null}),On(),t=c[e],t?t.p(p,b):(t=c[e]=a[e](p),t.c()),Ee(t,1),t.m(n.parentNode,n))},i(p){i||(Ee(t),i=!0)},o(p){Ne(t),i=!1},d(p){p&&F(n),c[e].d(p)}}}function $u(r){let e,t;return e=new ju({props:{id:r[0],profile:r[1]}}),{c(){Rn(e.$$.fragment)},m(n,i){Rr(e,n,i),t=!0},p(n,i){const a={};i&1&&(a.id=n[0]),i&2&&(a.profile=n[1]),e.$set(a)},i(n){t||(Ee(e.$$.fragment,n),t=!0)},o(n){Ne(e.$$.fragment,n),t=!1},d(n){Ur(e,n)}}}function Tu(r){let e,t;return e=new vu({props:{profile:r[1]}}),{c(){Rn(e.$$.fragment)},m(n,i){Rr(e,n,i),t=!0},p(n,i){const a={};i&2&&(a.profile=n[1]),e.$set(a)},i(n){t||(Ee(e.$$.fragment,n),t=!0)},o(n){Ne(e.$$.fragment,n),t=!1},d(n){Ur(e,n)}}}function jn(r){let e,t=r[3].join(", ")+"",n;return{c(){e=Z("Nostr relays used to retrieve blog posts: "),n=Z(t)},m(i,a){G(i,e,a),G(i,n,a)},p(i,a){a&8&&t!==(t=i[3].join(", ")+"")&&ie(n,t)},d(i){i&&(F(e),F(n))}}}function zu(r){let e,t=r[1]&&Object.keys(r[1]).length>0,n,i,a,c,h=new Date().getFullYear()+"",p,b,v,_,k,C,$,A,S,L,z,N,d,s,u,o,g,m=r[2]===""&&Cn(),l=t&&Ln(r),w=r[3]&&jn(r);return{c(){m&&m.c(),e=W(),l&&l.c(),n=W(),i=R("div"),a=R("p"),c=Z("© "),p=Z(h),b=Z(" All rights reserved • Follow on "),v=R("a"),v.textContent="Nostr",_=R("br"),k=R("br"),C=Z("Trust Me Bro blog is powered by "),$=R("a"),$.textContent="Nostr",A=Z(" and based on the "),S=R("a"),S.textContent="Oracolo",L=Z(" framework"),z=R("br"),N=R("br"),d=W(),w&&w.c(),s=W(),u=R("script"),u.innerHTML="",q(v,"href","https://njump.me/npub16jdfqgazrkapk0yrqm9rdxlnys7ck39c7zmdzxtxqlmmpxg04r0sd733sv"),Mn(v,"text-decoration","underline"),q($,"href","https://njump.me"),q(S,"href","https://github.com/dtonon/oracolo"),q(u,"type","text/javascript"),je(u.src,o="https://unpkg.com/zapthreads/dist/zapthreads.iife.js")||q(u,"src",o),q(i,"class","footer")},m(B,P){m&&m.m(B,P),G(B,e,P),l&&l.m(B,P),G(B,n,P),G(B,i,P),H(i,a),H(a,c),H(a,p),H(a,b),H(a,v),H(i,_),H(i,k),H(i,C),H(i,$),H(i,A),H(i,S),H(i,L),H(i,z),H(i,N),H(i,d),w&&w.m(i,null),H(i,s),H(i,u),g=!0},p(B,[P]){B[2]===""?m||(m=Cn(),m.c(),m.m(e.parentNode,e)):m&&(m.d(1),m=null),P&2&&(t=B[1]&&Object.keys(B[1]).length>0),t?l?(l.p(B,P),P&2&&Ee(l,1)):(l=Ln(B),l.c(),Ee(l,1),l.m(n.parentNode,n)):l&&(Nn(),Ne(l,1,1,()=>{l=null}),On()),B[3]?w?w.p(B,P):(w=jn(B),w.c(),w.m(i,s)):w&&(w.d(1),w=null)},i(B){g||(Ee(l),g=!0)},o(B){Ne(l),g=!1},d(B){B&&(F(e),F(n),F(i)),m&&m.d(B),l&&l.d(B),w&&w.d()}}}function Mu(r,e,t){let n="",i,a,c;const h=()=>{const p=window.location.hash.substr(1);p!==n&&t(0,n=p)};return Or(async()=>{const{publicKey:p,relays:b}=Fr();t(2,a=p),t(3,c=b),h(),window.addEventListener("hashchange",h);let _=new Xr().subscribeMany(b,[{kinds:[0],authors:[p],limit:1}],{onevent(k){t(1,i=k);const C=JSON.parse(i.content);C.name,C.picture},oneose(){_.close()}})}),Pt(()=>{window.removeEventListener("hashchange",h)}),[n,i,a,c]}class Iu extends Vr{constructor(e){super(),qr(this,e,Mu,zu,or,{})}}new Iu({target:document.getElementById("app")});
</script>
<style rel="stylesheet" crossorigin>html{font-size:20px}@media only screen and (max-width: 768px){html{font-size:18px}}body{margin:0;padding:0}#app{box-sizing:border-box;width:80%;max-width:700px;margin:2rem auto;font-family:Arial,Helvetica,sans-serif;color:#242424}@media only screen and (max-width: 768px){#app{width:100%;padding:0 1rem;max-width:unset}}a,a:visited{color:#242424}ol,ul{padding-left:1rem;margin:0}ol li,ul li{margin-bottom:1rem}blockquote{margin:0;padding-left:1rem;border-left:8px solid #ebebeb}code{overflow:scroll;display:block;padding:1rem .5rem;font-size:.8rem;background-color:#f6f6f6}.unfinished-setup{width:80%;margin:0 auto;text-align:center}.header.home h1{font-size:3rem}@media only screen and (max-width: 768px){.header.home h1{font-size:2rem}}.header .external-link{text-align:right;margin-top:-1rem;font-size:.8em;color:#cbcbcb}@media only screen and (max-width: 768px){.header .external-link{margin-bottom:1rem}}.header .external-link a{text-decoration:underline;color:#cbcbcb}.header .picture-container{position:relative;display:inline-block;width:5.5rem;height:5.5rem;overflow:hidden;border-radius:50%;margin-bottom:-1.5rem}.header .picture-container img{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%);clip-path:circle(50%)}.header.note .picture-container{width:1.5rem;height:1.5rem;margin-bottom:-.4rem}.header a{text-decoration:none}.header a span{text-decoration:underline}.externalLink{display:block;text-align:right;margin-top:-1rem;font-size:.8em;color:#cbcbcb}.externalLink a{color:#cbcbcb}.about{margin-bottom:2rem;padding-bottom:1rem}.top-notes{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;width:100%;margin-bottom:2rem;padding-bottom:1rem;border-bottom:8px solid #f5f5f5}@media only screen and (max-width: 768px){.top-notes{display:block}}@media only screen and (max-width: 768px){.top-notes{padding-bottom:0rem}}.top-notes .note{flex:1 1 calc(50% - 2rem);box-sizing:border-box}@media only screen and (max-width: 768px){.top-notes .note{margin-bottom:2rem}}.top-notes .note a{text-decoration:none}.top-notes .note img{width:100%;height:200px;object-fit:cover;margin-bottom:.5rem;border-radius:4px}.top-notes .note .title{display:block;margin-bottom:.4rem;font-size:1.1rem;font-weight:bolder}.top-notes .note .summary{margin-bottom:.4rem;font-size:.9rem}.top-notes .note .date{font-size:.8rem;color:#a9a9a9}.listing-notes ul{list-style-type:none;padding:0;margin:0}.listing-notes ul li{margin-bottom:1rem}.listing-notes ul li a{display:block;margin-bottom:.4rem;font-size:1.1rem}.listing-notes ul li .summary{margin-bottom:.4rem}.listing-notes ul li .date{font-size:.8rem;color:#a9a9a9}h1{font-size:2rem;line-height:.9;margin-top:0}@media only screen and (max-width: 768px){h1{font-size:1.6rem}}.note_wrapper{margin-top:2rem;overflow-wrap:break-word}.note_wrapper h1,.note_wrapper h2,.note_wrapper h3{margin-top:1.4rem;margin-bottom:.6rem}.note_wrapper h1:first-of-type{margin-top:0rem}.note_wrapper .content{margin-top:1.5rem}.note_wrapper p{line-height:1.3rem;margin-top:0rem}.note_wrapper .date{display:block;margin-bottom:.5rem;font-size:.8rem;color:#a9a9a9}.note_wrapper img{display:block;margin:2rem auto;max-width:100%;border-radius:4px}.note_wrapper img.note-banner{margin:1rem auto 0}.footer{margin-top:4rem;padding-top:2rem;margin-bottom:2rem;border-top:8px solid #ebebeb;font-size:.8rem;text-align:center;color:#cbcbcb}.footer a{color:#cbcbcb}.author-info{display:flex;align-items:center;margin-bottom:2rem;padding-bottom:1rem}@media only screen and (max-width: 768px){.author-info{flex-direction:column;align-items:flex-start}}.author-info .picture-container{flex-shrink:0;margin-right:1rem;max-width:150px}@media only screen and (max-width: 768px){.author-info .picture-container{margin-bottom:1rem;margin-right:0}}.author-info .about{flex-grow:1}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:200px}.loading-icon{opacity:.25;width:150px;height:150px;animation:spin 2s linear infinite;filter:grayscale(100%)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
</style>
</head>
<body>
<div id="app">
<center><button data-npub="npub16jdfqgazrkapk0yrqm9rdxlnys7ck39c7zmdzxtxqlmmpxg04r0sd733sv">
Zap Me ⚡️
</button></center>
</div>
<script src="https://cdn.jsdelivr.net/npm/nostr-zap@0.22.0"></script>
</body>
</html>