script.jsvar mn=(e,t)=>{if(!(e instanceof HTMLDivElement))throw new TypeError(`"${t}" must be HTMLDivElememt but actual is "${e}"`)};var fn=(e,t)=>{if(!(e instanceof HTMLTextAreaElement))throw new TypeError(`"${t}" must be HTMLTextAreaElement but actual is "${e}"`)};var yr=()=>ia(document.getElementsByClassName("lines").item(0),"div.lines");var et=()=>{let e=document.getElementById("text-input");if(e)return fn(e,"textarea#text-input"),e};var ia=(e,t)=>{if(e)return mn(e,t),e};var Er=()=>{let e=yr();if(!e)throw Error("div.lines is not found.");let t=Object.keys(e).find(r=>r.startsWith("__reactFiber"));if(!t)throw Error('div.lines must has the property whose name starts with "__reactFiber"');return e[t].return.stateNode.props.lines};function Rr(e,t={}){let{signal:r,persistent:n=!0}=t;return r?.aborted?Promise.reject(r.reason):new Promise((o,s)=>{let a=()=>{clearTimeout(c),s(r?.reason)},c=setTimeout(()=>{r?.removeEventListener("abort",a),o()},e);if(r?.addEventListener("abort",a,{once:!0}),n===!1)try{Deno.unrefTimer(c)}catch(l){if(!(l instanceof ReferenceError))throw l;console.error("`persistent` option is only available in Deno")}})}var gn=async e=>{let t=et();if(!t)throw Error("#text-input is not ditected.");t.focus(),t.value=e;let r=new InputEvent("input",{bubbles:!0});t.dispatchEvent(r),await Rr(1)};var vt=e=>[...e].map((t,r)=>t===" "?"_":!fa.includes(t)||r===e.length-1&&da.includes(t)?encodeURIComponent(t):t).join(""),fa='@$&+=:;",',da=':;",';var Nt=async(e,t)=>{let r=await globalThis.caches.keys();for(let n of r.sort().reverse()){let s=await(await caches.open(n)).match(e,t);if(s)return s}},Ot=async(e,t)=>{let r=t.clone();return await(await caches.open(ga(new Date))).put(e,r)},ga=e=>`api-${e.getFullYear()}-${`${e.getMonth()+1}`.padStart(2,"0")}-${`${e.getDate()}`.padStart(2,"0")}`;var xa=e=>typeof e=="object"&&e!==null,ya=e=>xa(e)?(e.name===void 0||typeof e.name=="string")&&typeof e.message=="string":!1,hn=e=>{try{let t=typeof e=="string"?JSON.parse(e):e;return ya(t)?t:!1}catch(t){if(t instanceof SyntaxError)return!1;throw t}};var xn=!1;scrapbox.addListener("lines:changed",()=>xn=!1);scrapbox.addListener("layout:changed",()=>xn=!1);var yn=(e,t)=>{if(!(e instanceof HTMLDivElement))throw new TypeError(`"${t}" must be HTMLDivElememt but actual is "${e}"`)};var En=(e,t)=>{if(!(e instanceof HTMLTextAreaElement))throw new TypeError(`"${t}" must be HTMLTextAreaElement but actual is "${e}"`)};var tt=()=>{let e=document.getElementById("text-input");if(e)return En(e,"textarea#text-input"),e};var Rn=()=>Ea(document.getElementsByClassName("status-bar")?.[0],"div.status-bar"),Ea=(e,t)=>{if(e)return yn(e,t),e};var wn=()=>{let e=Rn();if(!e)throw new Error("div.status-bar can't be found");let t=document.createElement("div");return e.append(t),{render:(...r)=>{t.textContent="";let n=Tn(...r);n&&t.append(n)},dispose:()=>t.remove()}},Tn=(...e)=>{let t=e.flatMap(n=>{switch(n.type){case"spinner":return[Na()];case"check-circle":return[Oa()];case"exclamation-triangle":return[Pa()];case"text":return[Pt(n.text)];case"group":{let o=Tn(...n.items);return o?[o]:[]}}});if(t.length===0)return;if(t.length===1)return t[0];let r=document.createElement("span");return r.classList.add("item-group"),r.append(...t),r},Pt=e=>{let t=document.createElement("span");return t.classList.add("item"),t.append(e),t},Na=()=>{let e=document.createElement("i");return e.classList.add("fa","fa-spinner"),Pt(e)},Oa=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-check-circle"),Pt(e)},Pa=()=>{let e=document.createElement("i");return e.classList.add("fas","fa-exclamation-triangle"),Pt(e)};var Ie=e=>[...e].map((t,r)=>t===" "?"_":!Ca.includes(t)||r===e.length-1&&Aa.includes(t)?encodeURIComponent(t):t).join(""),Ca='@$&+=:;",',Aa=':;",';var Ln=e=>{if(e===0)return;let t={};return e&1&&(t.capture=!0),e&2&&(t.once=!0),e&4&&(t.passive=!0),t};var Ma=new Map;scrapbox.on("layout:changed",()=>{let e=tt();if(e)for(let[t,r]of Ma)for(let[n,o]of r)for(let s of o)e.addEventListener(t,n,Ln(s))});var ve=e=>typeof e=="string";var br=(e,...t)=>{let r=e;for(let n of t){let o=r instanceof Promise?r.then(s=>ve(s)?s:n(s)):n(r);if(ve(o))return o;r=o instanceof URL?new URL(o):o.then(s=>ve(s)?s:new URL(s))}return r instanceof Promise?r.then(n=>`${n}`):`${e}`};var rt=e=>e.ok?void 0:{name:"HTTPError",message:`${e.status} ${e.statusText}`,response:e};var kn=e=>{if(!window.GM_fetch)return;let t=window.GM_fetch;return(async()=>{let r=await t(`https://cdn.syndication.twimg.com/tweet-result?id=${e}&token=x`),n=rt(r);return n?{ok:!1,value:n}:{ok:!0,value:await r.json()}})()};var Ct=e=>{let{fetch:t=globalThis.fetch,...r}=e;return{fetch:t,...r}},vn=e=>typeof e=="object"&&e!==null;var dt=class e extends Error{name="UnexpectedResponseError";status;statusText;body;path;constructor(t){super(`${t.status} ${t.statusText} when fetching ${t.path.toString()}`),this.status=t.status,this.statusText=t.statusText,this.body=t.body,this.path=t.path,Error.captureStackTrace&&Error.captureStackTrace(this,e)}};var At=async e=>{let t=await e.text();if(e.ok)return{ok:!0,value:t};if(e.status===400)return{ok:!1,value:{name:"BadRequestError",message:t}};try{let r=JSON.parse(t);if(!vn(r)||typeof r.message!="string")throw new dt({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)});switch(e.status){case 401:return{ok:!1,value:{name:"UnauthorizedError",message:r.message}};case 403:return{ok:!1,value:{name:"NotPrivilegeError",message:r.message}};case 404:return{ok:!1,value:{name:"NotFoundError",message:r.message}};case 422:return{ok:!1,value:{name:"InvalidParameterError",message:r.message}};case 429:return{ok:!1,value:{name:"RateLimitError",message:r.message}};default:throw new dt({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)})}}catch(r){throw r instanceof SyntaxError?new dt({status:e.status,statusText:e.statusText,body:t,path:new URL(e.url)}):r}};var Nn=async(e,t)=>{let{title:r,description:n,metadataIsPublic:o,collectionId:s,refererURL:a,accessToken:i,created:c,app:l,fetch:u}=Ct(t),m=new FormData;m.append("imagedata",e),m.append("access_token",i),a&&m.append("referer_url",a.toString()),l!==void 0&&m.append("app",l),r!==void 0&&m.append("title",r),n!=null&&m.append("desc",n),s&&m.append("collection_id",s),o&&m.append("metadata_is_public","true"),c!==void 0&&m.append("created_at",`${c}`);let T=await u("https://upload.gyazo.com/api/upload",{method:"POST",mode:"cors",credentials:"omit",body:m}),O=await At(T);return O.ok?{ok:!0,value:JSON.parse(O.value)}:O};var B=e=>{let{fetch:t=globalThis.fetch,hostName:r="scrapbox.io",...n}=e;return{fetch:t,hostName:r,...n}};var Ne=class e extends Error{constructor(r){super(`${r.status} ${r.statusText} when fetching ${r.url}`);this.response=r;Error.captureStackTrace&&Error.captureStackTrace(this,e)}name="UnexpectedResponseError"},X=async e=>{let t=e.clone(),r=await t.text(),n=hn(r);if(!n)throw new Ne(t);return{ok:!1,value:n}};var On=async e=>{let{sid:t,hostName:r,fetch:n}=B(e??{}),o=new Request(`https://${r}/api/users/me`,t?{headers:{Cookie:z(t)}}:void 0),s=await n(o);if(!s.ok)throw new Ne(s);return await s.json()};var z=e=>`connect.sid=${e}`,Oe=async e=>globalThis._csrf?globalThis._csrf:(await On(e)).csrfToken;var Pn=(e,t,r)=>{let{sid:n,hostName:o,followRename:s,projects:a}=B(r??{}),i=new URLSearchParams;i.append("followRename",`${s??!0}`);for(let l of a??[])i.append("projects",l);let c=`https://${o}/api/pages/${e}/${Ie(t)}?${i.toString()}`;return new Request(c,n?{headers:{Cookie:z(n)}}:void 0)},Cn=async e=>e.ok?{ok:!0,value:await e.json()}:e.status===414?{ok:!1,value:{name:"TooLongURIError",message:"project ids may be too much."}}:X(e),wr=async(e,t,r)=>{let{fetch:n}=B(r??{}),o=Pn(e,t,r),s=await n(o);return await Cn(s)};wr.toRequest=Pn;wr.fromResponse=Cn;var An=(e,t)=>{let{sid:r,hostName:n,sort:o,limit:s,skip:a}=B(t??{}),i=new URLSearchParams;o!==void 0&&i.append("sort",o),s!==void 0&&i.append("limit",`${s}`),a!==void 0&&i.append("skip",`${a}`);let c=`https://${n}/api/pages/${e}?${i.toString()}`;return new Request(c,r?{headers:{Cookie:z(r)}}:void 0)},Sn=async e=>e.ok?{ok:!0,value:await e.json()}:X(e),Mn=async(e,t)=>{let{fetch:r}=B(t??{}),n=await r(An(e,t));return await Sn(n)};Mn.toRequest=An;Mn.fromResponse=Sn;var _n=(e,t,r,n)=>{let{sid:o,hostName:s}=B(n??{}),a=`https://${s}/api/table/${e}/${Ie(t)}/${encodeURIComponent(r)}.csv`;return new Request(a,o?{headers:{Cookie:z(o)}}:void 0)},Un=async e=>e.ok?{ok:!0,value:await e.text()}:e.status===404?{ok:!1,value:{name:"NotFoundError",message:"Table not found."}}:X(e),In=async(e,t,r,n)=>{let{fetch:o}=B(n??{}),s=_n(e,t,r,n),a=await o(s);return await Un(a)};In.toRequest=_n;In.fromResponse=Un;var Fn=(e,t)=>{let{sid:r,hostName:n}=B(t??{});return new Request(`https://${n}/api/projects/${e}`,r?{headers:{Cookie:z(r)}}:void 0)},$n=async e=>e.ok?{ok:!0,value:await e.json()}:X(e),St=async(e,t)=>{let{fetch:r}=B(t??{}),n=Fn(e,t),o=await r(n);return $n(o)};St.toRequest=Fn;St.fromResponse=$n;var Dn=(e,t)=>{let{sid:r,hostName:n}=B(t??{}),o=new URLSearchParams;for(let s of e)o.append("ids",s);return new Request(`https://${n}/api/projects?${o.toString()}`,r?{headers:{Cookie:z(r)}}:void 0)},jn=async e=>e.ok?{ok:!0,value:await e.json()}:X(e),Bn=async(e,t)=>{let{fetch:r}=B(t??{}),n=await r(Dn(e,t));return jn(n)};Bn.toRequest=Dn;Bn.fromResponse=jn;var Hn=async(e,t)=>{let{sid:r,hostName:n,fetch:o,csrf:s}=B(t??{}),a=new Request(`https://${n}/api/embed-text/url?url=${encodeURIComponent(e.toString())}`,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":s??await Oe(t),...r?{Cookie:z(r)}:{}},body:JSON.stringify({timeout:3e3})}),i=await o(a);if(!i.ok)return i.status===422?{ok:!1,value:{name:"InvalidURLError",message:(await i.json()).message}}:X(i);let{title:c}=await i.json();return{ok:!0,value:c}};var Wn=async(e,t)=>{let{sid:r,hostName:n,fetch:o,csrf:s}=B(t??{}),a=new Request(`https://${n}/api/embed-text/twitter?url=${encodeURIComponent(e.toString())}`,{method:"POST",headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":s??await Oe(t),...r?{Cookie:z(r)}:{}},body:JSON.stringify({timeout:3e3})}),i=await o(a);return i.ok?{ok:!0,value:await i.json()}:i.status===422?{ok:!1,value:{name:"InvalidURLError",message:(await i.json()).message}}:X(i)};var Gn=async e=>{let{sid:t,hostName:r,gyazoTeamsName:n}=B(e??{}),o=new Request(`https://${r}/api/login/gyazo/oauth-upload/token${n?`?gyazoTeamsName=${n}`:""}`,t?{headers:{Cookie:z(t)}}:void 0),s=await fetch(o);if(!s.ok)return X(s);let{token:a}=await s.json();return{ok:!0,value:a}};var Vn=(e,t,r,n)=>{let{sid:o,hostName:s}=B(n??{}),a=`https://${s}/api/code/${e}/${Ie(t)}/${Ie(r)}`;return new Request(a,o?{headers:{Cookie:z(o)}}:void 0)},Kn=async e=>e.ok?{ok:!0,value:await e.text()}:e.status===404&&e.headers.get("Content-Type")?.includes?.("text/plain")?{ok:!1,value:{name:"NotFoundError",message:"Code block is not found"}}:X(e),qn=async(e,t,r,n)=>{let{fetch:o}=B(n??{}),s=Vn(e,t,r,n),a=await o(s);return await Kn(a)};qn.toRequest=Vn;qn.fromResponse=Kn;var zn=new TextEncoder().encode("0123456789abcdef");function Jn(e){let t=new Uint8Array(e.length*2);for(let r=0;r<t.length;r++){let n=e[r];t[r*2]=zn[n>>4],t[r*2+1]=zn[n&15]}return t}var Yn="md5: `data` is invalid type",Ke=64,gt=class{#s;#r;#t;#e;#o;#a;#n;#l;constructor(){this.#s=1732584193,this.#r=4023233417,this.#t=2562383102,this.#e=271733878,this.#o=new Uint8Array(Ke),this.#a=0,this.#n=0,this.#l=0}#p(t){let r=this.#n;r+=t,r>4294967295&&(this.#l+=1),this.#n=r>>>0}#m(t){let r=this.#s,n=this.#r,o=this.#t,s=this.#e,a=R=>t[R]|t[R+1]<<8|t[R+2]<<16|t[R+3]<<24,i=(R,L)=>R<<L|R>>>32-L,c=a(0),l=a(4),u=a(8),m=a(12),T=a(16),O=a(20),j=a(24),V=a(28),C=a(32),G=a(36),q=a(40),y=a(44),h=a(48),d=a(52),f=a(56),b=a(60);r=n+i(((o^s)&n^s)+r+c+3614090360,7),s=r+i(((n^o)&r^o)+s+l+3905402710,12),o=s+i(((r^n)&s^n)+o+u+606105819,17),n=o+i(((s^r)&o^r)+n+m+3250441966,22),r=n+i(((o^s)&n^s)+r+T+4118548399,7),s=r+i(((n^o)&r^o)+s+O+1200080426,12),o=s+i(((r^n)&s^n)+o+j+2821735955,17),n=o+i(((s^r)&o^r)+n+V+4249261313,22),r=n+i(((o^s)&n^s)+r+C+1770035416,7),s=r+i(((n^o)&r^o)+s+G+2336552879,12),o=s+i(((r^n)&s^n)+o+q+4294925233,17),n=o+i(((s^r)&o^r)+n+y+2304563134,22),r=n+i(((o^s)&n^s)+r+h+1804603682,7),s=r+i(((n^o)&r^o)+s+d+4254626195,12),o=s+i(((r^n)&s^n)+o+f+2792965006,17),n=o+i(((s^r)&o^r)+n+b+1236535329,22),r=n+i(((n^o)&s^o)+r+l+4129170786,5),s=r+i(((r^n)&o^n)+s+j+3225465664,9),o=s+i(((s^r)&n^r)+o+y+643717713,14),n=o+i(((o^s)&r^s)+n+c+3921069994,20),r=n+i(((n^o)&s^o)+r+O+3593408605,5),s=r+i(((r^n)&o^n)+s+q+38016083,9),o=s+i(((s^r)&n^r)+o+b+3634488961,14),n=o+i(((o^s)&r^s)+n+T+3889429448,20),r=n+i(((n^o)&s^o)+r+G+568446438,5),s=r+i(((r^n)&o^n)+s+f+3275163606,9),o=s+i(((s^r)&n^r)+o+m+4107603335,14),n=o+i(((o^s)&r^s)+n+C+1163531501,20),r=n+i(((n^o)&s^o)+r+d+2850285829,5),s=r+i(((r^n)&o^n)+s+u+4243563512,9),o=s+i(((s^r)&n^r)+o+V+1735328473,14),n=o+i(((o^s)&r^s)+n+h+2368359562,20),r=n+i((n^o^s)+r+O+4294588738,4),s=r+i((r^n^o)+s+C+2272392833,11),o=s+i((s^r^n)+o+y+1839030562,16),n=o+i((o^s^r)+n+f+4259657740,23),r=n+i((n^o^s)+r+l+2763975236,4),s=r+i((r^n^o)+s+T+1272893353,11),o=s+i((s^r^n)+o+V+4139469664,16),n=o+i((o^s^r)+n+q+3200236656,23),r=n+i((n^o^s)+r+d+681279174,4),s=r+i((r^n^o)+s+c+3936430074,11),o=s+i((s^r^n)+o+m+3572445317,16),n=o+i((o^s^r)+n+j+76029189,23),r=n+i((n^o^s)+r+G+3654602809,4),s=r+i((r^n^o)+s+h+3873151461,11),o=s+i((s^r^n)+o+b+530742520,16),n=o+i((o^s^r)+n+u+3299628645,23),r=n+i((o^(n|~s))+r+c+4096336452,6),s=r+i((n^(r|~o))+s+V+1126891415,10),o=s+i((r^(s|~n))+o+f+2878612391,15),n=o+i((s^(o|~r))+n+O+4237533241,21),r=n+i((o^(n|~s))+r+h+1700485571,6),s=r+i((n^(r|~o))+s+m+2399980690,10),o=s+i((r^(s|~n))+o+q+4293915773,15),n=o+i((s^(o|~r))+n+l+2240044497,21),r=n+i((o^(n|~s))+r+C+1873313359,6),s=r+i((n^(r|~o))+s+b+4264355552,10),o=s+i((r^(s|~n))+o+j+2734768916,15),n=o+i((s^(o|~r))+n+d+1309151649,21),r=n+i((o^(n|~s))+r+T+4149444226,6),s=r+i((n^(r|~o))+s+y+3174756917,10),o=s+i((r^(s|~n))+o+u+718787259,15),n=o+i((s^(o|~r))+n+G+3951481745,21),this.#s=this.#s+r>>>0,this.#r=this.#r+n>>>0,this.#t=this.#t+o>>>0,this.#e=this.#e+s>>>0}update(t){let r;if(typeof t=="string")r=new TextEncoder().encode(t);else if(typeof t=="object")if(t instanceof ArrayBuffer||ArrayBuffer.isView(t))r=new Uint8Array(t);else throw new TypeError(Yn);else throw new TypeError(Yn);let n=this.#a,o=Ke-n;if(r.length<o)this.#o.set(r,n),n+=r.length;else{this.#o.set(r.slice(0,o),n),this.#m(this.#o);let s=o;for(;s+Ke<=r.length;)this.#m(r.slice(s,s+Ke)),s+=Ke;this.#o.fill(0).set(r.slice(s),0),n=r.length-s}return this.#a=n,this.#p(r.length),this}digest(){let t=Ke-this.#a;t<9&&(t+=Ke);let r=new Uint8Array(t);r[0]=128;let n=this.#n<<3,o=this.#l<<3|this.#n>>>29;r[r.length-8]=n&255,r[r.length-7]=n>>>8&255,r[r.length-6]=n>>>16&255,r[r.length-5]=n>>>24&255,r[r.length-4]=o&255,r[r.length-3]=o>>>8&255,r[r.length-2]=o>>>16&255,r[r.length-1]=o>>>24&255,this.update(r.buffer);let s=new ArrayBuffer(16),a=new DataView(s);return a.setUint32(0,this.#s,!0),a.setUint32(4,this.#r,!0),a.setUint32(8,this.#t,!0),a.setUint32(12,this.#e,!0),s}toString(t="hex"){let r=this.digest();switch(t){case"hex":return new TextDecoder().decode(Jn(new Uint8Array(r)));case"base64":{let n=new Uint8Array(r),o="";for(let s=0;s<n.length;++s)o+=String.fromCharCode(n[s]);return btoa(o)}default:throw new Error("md5: invalid format")}}};var Xn=async(e,t,r)=>{let n=new gt().update(await e.arrayBuffer()).toString(),o=await Ua(e,t,n,r);if(!o.ok)return o;if("embedUrl"in o.value)return{ok:!0,value:o.value};let s=await Ia(o.value.signedUrl,e,r);return s.ok?Fa(t,o.value.fileId,n,r):s},Ua=async(e,t,r,n)=>{let{sid:o,hostName:s,fetch:a,csrf:i}=B(n??{}),c={md5:r,size:e.size,contentType:e.type,name:e.name},l=i??await Oe(),u=new Request(`https://${s}/api/gcs/${t}/upload-request`,{method:"POST",body:JSON.stringify(c),headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":l,...o?{Cookie:z(o)}:{}}}),m=await a(u);return m.ok?{ok:!0,value:await m.json()}:X(m)},Ia=async(e,t,r)=>{let{sid:n,fetch:o}=B(r??{}),s=await o(e,{method:"PUT",body:t,headers:{"Content-Type":t.type,...n?{Cookie:z(n)}:{}}});if(!s.ok){if(s.headers.get("Content-Type")?.includes?.("/xml"))return{ok:!1,value:{name:"GCSError",message:await s.text()}};throw new Ne(s)}return{ok:!0,value:void 0}},Fa=async(e,t,r,n)=>{let{sid:o,hostName:s,fetch:a,csrf:i}=B(n??{}),c=i??await Oe(),l=new Request(`https://${s}/api/gcs/${e}/verify`,{method:"POST",body:JSON.stringify({md5:r,fileId:t}),headers:{"Content-Type":"application/json;charset=utf-8","X-CSRF-TOKEN":c,...o?{Cookie:z(o)}:{}}}),u=await a(l);if(!u.ok){try{if(u.status===404)return{ok:!1,value:{name:"NotFoundError",message:(await u.json()).message}}}catch{throw new Ne(u)}throw new Ne(u)}return{ok:!0,value:await u.json()}};var Qn=(e,t)=>{let r=new FormData;return r.append("data",e),r.append("metadata",JSON.stringify({app:"Gyazo",title:e.name})),GM_fetch(`https://gif.gyazo.com/${t?.teams?"teams":"gif"}/upload`,{method:"POST",body:r,credentials:"include",headers:{Origin:"https://gyazo.com","sec-fetch-site":"same-site"},referrer:"https://gyazo.com/"})};var Mt="",Zn=!1,_t=new Map,eo=async(e,t,r,n)=>{let o=_t.get(e.href);if(o)return o;if(e.hostname==="video.twimg.com"||`${e}`.endsWith(".svg")){let c=await GM_fetch(e);if(!c.ok)return;let l=c.headers.get("content-type")?.split?.(";")?.[0]??`${e}`.endsWith(".mp4")?"video/mp4":"video/webm",u=new File([await c.blob()],n||`${t}`,{type:l});if(l==="video/mp4"){let O=await Qn(u);if(O.ok){let j=new URL(await O.text());return _t.set(e.href,j),j}}let m=await Xn(u,r);if(!m.ok)throw Error(m.value.name);let T=new URL(m.value.embedUrl);return _t.set(e.href,T),T}if(e.hostname!=="pbs.twimg.com"||!e.pathname.startsWith("/media"))return;if(Zn){if(!Mt)return}else{let c=await Gn();if(Zn=!0,!c.ok){alert("You haven't logged in Gyazo yet, so you can only upload images to scrapbox.io.");return}if(Mt=c.value||"",!Mt){alert("You haven't connect Gyazo to scrapbox.io yet.");return}}let s=await GM_fetch(e);if(!s.ok)return;let a=await Nn(await s.blob(),{accessToken:Mt,refererURL:t,description:n});if(!a.ok)throw Error(a.value.name);let i=new URL(a.value.permalink_url);return _t.set(e.href,i),i};var $a={"<":"<",">":">","&":"&",""":'"',"'":"'","`":"`"},Tr=e=>e.replace(/&(lt|gt|amp|quot|#x27|#x60);/g,t=>$a[t]);var nt=e=>{let t={name:e.user.name,screenName:e.user.screen_name},r=new Date(e.created_at),n=[...e.entities.hashtags.map(a=>({type:"hashtag",...a})),...e.entities.symbols.map(a=>({type:"symbol",...a})),...e.entities.user_mentions.map(a=>({type:"mention",name:a.name,screenName:a.screen_name,indices:a.indices})),...e.entities.urls.map(a=>{let i={type:"url",indices:a.indices,url:new URL(a.expanded_url)};if(e.card&&e.card?.url===a.url){let{description:c,title:l}=e.card.binding_values,u="STRING";c?.type===u&&(i.description=c.string_value),l?.type===u&&(i.title=l.string_value)}return i}),...e.entities.media?.map?.(a=>({type:"media",indices:a.indices,media:e.mediaDetails?.flatMap?.(i=>i.url===a.url?[{type:i.type,url:new URL(i.video_info?.variants?.sort?.((c,l)=>(l.bitrate??0)-(c.bitrate??0))?.[0].url??i.media_url_https)}]:[])??[]}))??[]].sort((a,i)=>a.indices[0]-i.indices[0]),o=[];{let a=0,i=e.text;for(let{indices:c,...l}of n){let u=[...i].slice(0,c[0]-a).join("");o.push({type:"plain",text:Tr(u)}),o.push(l),i=[...i].slice(c[1]-a).join(""),a=c[1]}i&&o.push({type:"plain",text:Tr(i)})}let s={id:e.id_str,content:o,author:t,posted:r,replyCount:"reply_count"in e?e.reply_count:e.conversation_count};return e.self_thread&&(s.rootId=e.self_thread.id_str),e.in_reply_to_status_id_str&&(s.replyId=e.in_reply_to_status_id_str),e.parent&&(s.replyTo=nt(e.parent)),e.quoted_tweet&&(s.quote=nt(e.quoted_tweet)),s};var Da=["landing","product","enterprise","pricing","try-enterprise","contact","terms","privacy","jp-commercial-act","support","case","features","business","auth","login","logout","oauth2","_","api","app.html","assets","file","files","billing","billings","config","feed","index","io","new","opensearch","project","projects","search","setting","settings","setup-profile","slide","socket.io","stream","user","users"],Ut=(e=scrapbox.Project.name,t=location.host)=>r=>{if(r.host!==t)return r;let[,n,o]=r.pathname.match(/^\/([\w\d][\w\d-]{0,22}[\w\d])(?:\/?|\/(.+))$/)??[];return!n||Da.includes(n)?r:o?n===e?`[${decodeURIComponent(o)}]`:`[/${n}/${decodeURIComponent(o)}]`:`[/${n}]`};var to=(e=ja)=>t=>{let[,r]=t.href.match(/^https:\/\/(?:(?:www\.|mobile\.|m\.)?twitter|x)\.com\/[\w\d_]+\/(?:status|statuses)\/(\d+)/)??[];return r?(async()=>{let n=await(kn(r)??Wn(t.href));if(!n.ok)throw n.value;return e("images"in n.value?{...n.value,id:r}:n.value,t)})():t},ja=async e=>{if("images"in e)return Pe(e);let{quote:t,replyTo:r,...n}=nt(e);return[...r?[...(await Pe(r)).split(`
`).map(o=>` > ${o}`),...r.quote?(await Pe(r.quote)).split(`
`).map(o=>` > ${o}`):[]]:[],...(await Pe(n)).split(`
`).map(o=>`> ${o}`),...t?(await Pe(t)).split(`
`).map(o=>`> > ${o}`):[]].join(`
`)},Pe=async e=>{let t=new URL(`https://twitter.com/${"author"in e?e.author.screenName:e.screenName}/status/${e.id}`);if("images"in e)return[`> [@${kr(e.screenName)} ${t.origin}${t.pathname}]`,...e.description?.split?.(`
`)?.map?.(o=>`> ${kr(o)}`)??["> [/ no description provided]"],...e.images.length>0?[`> ${e.images.map(o=>`[${o}]`)}`]:[]].join(`
`);let r=e.content,n=e.author.screenName;return[`[@${kr(n)} ${t}]`,...(await Promise.all(r.map(async o=>{switch(o.type){case"plain":return o.text;case"hashtag":return` #${o.text} `;case"symbol":return` #$${o.text} `;case"mention":return`[@${o.screenName} https://twitter.com/${o.screenName}]`;case"media":{let s=[],a=1;for(;a<o.media.length;a+=2)s.push(`[${await Lr(o.media[a-1],t)}] [${await Lr(o.media[a],t)}]`);return a===o.media.length&&s.push(`[${await Lr(o.media[a-1],t)}]`),`
${s.join(`
`)}
`}case"url":return`${Ut()(o.url)} `}}))).join("").split(`
`)].join(`
`)},It="",Ba=async()=>{if(It)return It;let e=await St(scrapbox.Project.name);if(!e.ok)throw new Error(e.value.name);return It=e.value.id,It},Lr=async(e,t)=>await eo(e.url,t,await Ba(),"")??e.url,kr=e=>e.replace(/\b/gm,"").replace(/[\s\r\n\u2028\u2029]+/gm," ").replace(/\s*[[\]`]\s*/g," ").trim();var ro=e=>{if(!window.GM_fetch)return;let t=window.GM_fetch;return(async()=>{let r=await t(`https://t.co/${e}`),n=rt(r);return n?{ok:!1,value:n}:{ok:!0,value:new DOMParser().parseFromString(await r.text(),"text/html").title}})()};var no=e=>{if(["bit.ly","amzn.to","amzn.asia","goo.gl","s.nikkei.com","apple.co","nico.ms","w.wiki"].includes(e.hostname)&&window.GM_fetch)return window.GM_fetch(e).then(r=>r.ok?new URL(r.url):e);if(e.hostname!=="t.co")return e;let t=ro(e.pathname.slice(1));return t?(async()=>{let r=await t;if(!r.ok)throw r.value;try{return new URL(r.value)}catch(n){if(n instanceof TypeError)return e;throw n}})():e};var oo=e=>{if(!e.pathname.startsWith("/wiki/"))return e;if(!/^\w+\.wikipedia\.org$/.test(e.hostname)){let[,o]=e.hostname.match(/^(\w+)\.m\.wikipedia\.org$/)??[];if(!o)return e;e.hostname=`${o}.wikipedia.org`}let t=decodeURIComponent(e.pathname.slice(6)),r=e.hash?decodeURIComponent(e.hash.slice(1)):"",n=`${e.origin}/wiki/${t}`;return r?`[${r} | ${t} - Wikipedia ${n}#${r}]`:`[${t} - Wikipedia ${n}]`};var so=e=>{if(e.hostname!=="www.wikiwand.com")return e;let[,t,r]=e.pathname.match(/^\/([^\/]+)\/([^\/]+)/)??[];return!t||!r||(e.hostname=`${t}.wikipedia.org`,e.pathname=`/wiki/${r}`,e.hash=e.hash.startsWith("#/")?`#${e.hash.slice(2)}`:e.hash),e};var vr=e=>{if(!e.hostname.startsWith("www.google."))return e;let t=e.searchParams.get("url");return t?new URL(decodeURIComponent(t)):e};var io=/charset=([^;]+)/,ao=e=>{if(!window.GM_fetch)return;let t=window.GM_fetch;return(async()=>{let r=await t(`${e}`),n=rt(r);if(n)return{ok:!1,value:n};let o=r.headers.get("content-type")?.match?.(io)?.[1]??await Ha(r.clone());return{ok:!0,value:new TextDecoder(o).decode(await r.arrayBuffer())}})()},Ha=async e=>{let t=new DOMParser().parseFromString(await e.text(),"text/html");return t.querySelector("meta[charset]")?.getAttribute?.("charset")??t.querySelector('meta[http-equiv="content-type"]')?.getAttribute?.("content")?.match?.(io)?.[1]??"utf-8"};var co=(e=Wa)=>async t=>e(await Ga(t),t),Wa=(e,t)=>{let r=(ve(e)?e:e.title).replace(/\s/g," ").replaceAll("[","[").replaceAll("]","]");return r?`[${t.hash?`${decodeURIComponent(t.hash.slice(1))} | `:""}${r} ${t}]`:`${t}`},Ga=async e=>{let t=ao(e);if(!t){let n=await Hn(e);if(!n.ok)throw n.value;return n.value}let r=await t;if(!r.ok)throw r.value;return new DOMParser().parseFromString(r.value,"text/html")};var lo=e=>{if(!/^(?:www\.)?amazon(?:\.co|com)?\.(?:au|br|ca|fr|de|in|it|jp|mx|nl|sg|es|tr|ae|uk|cn)$/.test(e.hostname))return e;let[,t]=e.pathname.match(/\/dp\/([\w\d]+)/)??e.pathname.match(/\/gp\/product\/([\w\d]+)/)??e.pathname.match(/\/exec\/obidos\/asin\/([\w\d]+)/)??e.pathname.match(/\/o\/ASIN\/([\w\d]+)/)??[];return t&&(e.hash="",e.search="",e.pathname=`/dp/${t}`),e};var po=e=>{if(!/(?:[0-9a-z-]\.)?gyazo\.com/.test(e.hostname))return e;let[,t]=e.pathname.match(/^\/([0-9a-f]{32})(?:\/raw)?$/)??[];return t?`[https://gyazo.com/${t}]`:e};var uo=(e,...t)=>{if(e instanceof URL)return br(new URL(e),...t);let r=0,n=0,o=0,s=!1,a=e.split(/(https?:\/\/\S+)/g).map(u=>{if(!/^https?:\/\/\S+$/.test(u))return u;r++;try{let m=br(new URL(u),...t);return ve(m)?(n++,m):(s=!0,[m,u])}catch(m){return console.error(m),o++,u}});if(!s)return a.join("");let{render:i,dispose:c}=wn(),l=()=>i({type:"spinner"},{type:"text",text:`URL: ${n}/${r} converted, ${o} failed`});return l(),Promise.all(a.map(async u=>{if(ve(u))return u;try{let m=await u[0];return n++,m}catch(m){return console.error(m),o++,u[1]}finally{l()}})).then(u=>(i({type:"check-circle"},{type:"text",text:`URL: ${n}/${r} converted, ${o} failed`}),u.join(""))).finally(()=>{setTimeout(c,1e3)})};var mo=async e=>{if("images"in e)return Pe(e);let{quote:t,...r}=nt(e);return[...t?(await Pe(t)).split(`
`).map(n=>`> ${n}`):[],...(await Pe(r)).split(`
`).map(n=>`> ${n}`)].join(`
`)};var Va=[vr,no,vr,so,lo,Ut(),po,to(mo),oo,e=>{if(e.hostname==="raw.githubusercontent.com")return`[https://code2svg.vercel.app/svg/${e.origin}${e.pathname}#.svg ${e}]`;if(e.hostname!=="github.com")return e;let[t,r,n]=e.pathname.match(/^\/([^\\]+)\/([^\\]+)\/blob\/(.+)$/)?.slice?.(1)??[];if(!t||!r||!n)return e;let[,o,s]=e.hash.match(/L(\d+)-L(\d+)/)??e.hash.match(/L(\d+)/)??[];return`[https://code2svg.vercel.app/svg/${o&&s?`L${o}-${s}/`:o?`L${o}/`:""}https://raw.githubusercontent.com/${t}/${r}/${n}#.svg ${e}]`},co()];scrapbox.PopupMenu.addButton({title:e=>/https?:\/\/\S+/.test(e)?"URL":"",onClick:e=>{let t=uo(e,...Va);if(typeof t=="string")return e===t?void 0:t;t.then(r=>{if(e!==r)return gn(r)})}});scrapbox.PopupMenu.addButton({title:"",onClick:e=>{let t=e.split(/\n/).map(r=>r.replace(/\[([^\[!"#%&'()\*\+,\-\.\/\{\|\}<>_~][^\[\]]*)\]/g,"$1")).join(`
`);if(e!=t)return t}});scrapbox.PopupMenu.addButton({title:"`[]`",onClick:e=>{let t=e.split(/\n/).map(r=>r.replace(/\[([^\[!"#%&'()\*\+,\-\.\/\{\|\}<>_~][^\[\]]*)\]/g,"`[$1]`")).join(`
`);if(e!=t)return t}});scrapbox.PopupMenu.addButton({title:"$",onClick:e=>`[$ ${e}]`});scrapbox.PopupMenu.addButton({title:"LaTeX→Scb",onClick:e=>e.replace(/\$(.+?)\$/g,"[$ $1 ]").replace(/\\\((.+?)\\\)/g,"[$ $1 ]").replace(/\$\$(.+?)\$\$/gs,(t,r)=>"[$ "+r.replace(/\n/g," ").replace(/\s*>/g,"")+" ]").replace(/\\\[(.+?)\\\]/gs,(t,r)=>"[$ "+r.replace(/\n/g," ").replace(/\s*>/g,"")+" ]")});function Ka(e){let t=/[,&;]|and|\n/gi,r=new RegExp("[\\d†\\*]|(\\s[a-z])+(\\s*$)|ORCID|View ORCID Profile|Author links open overlay panel|https?:\\/\\/\\S+","gi"),n=s=>s.toLowerCase().split(" ").map(a=>a.charAt(0).toUpperCase()+a.slice(1)).join(" ");return e.replace(t,",").split(",").map(s=>s.replace(r,"").trim()).filter(s=>s.length>1).map(s=>`[${n(s)}]`).join(", ")}scrapbox.PopupMenu.addButton({title:"link authors",onClick:Ka});scrapbox.PopupMenu.addButton({title:"md→cs",onClick:e=>(e=e.split(/\n/).map(t=>t.replace(/^[\*\-\+] /g," ")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/[\*\-\+] /g,"")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/ {4}/g," ")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^([0-9]+\. )/g," $1")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/\*{2}([^*]+)\*{2}/g,"[* $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/\_{2}([^_]+)\_{2}/g,"[* $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/\~\~(\~+|[^~]+)\~\~/g,"[- $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^# (.*)/g,"[******* $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^#{2} (.*)/g,"[****** $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^#{3} (.*)/g,"[***** $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^#{4} (.*)/g,"[**** $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^#{5} (.*)/g,"[*** $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^#{6} (.*)/g,"[** $1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/!?\[\]\((https?:\/\/[\w/:%#\$&\?\(\)~\.=\+\-]+)\)/g,"[$1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/!\[([^\]]+)\]\((https?:\/\/[\w/:%#\$&\?\(\)~\.=\+\-]+)\)/g,"[$1 $2]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/\[([^\]]+)\]\((https?:\/\/[\w/:%#\$&\?\(\)~\.=\+\-]+)\)/g,"[$1 $2]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/<(https?:\/\/[\w/:%#\$&\?\(\)~\.=\+\-]+)>/g,"[$1]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/^([\*|\-|\_]){3,}/g,"[/icons/hr.icon]")).join(`
`),e=e.split(/\n/).map(t=>t.replace(/\\([\\|`|\*|_|\{|\}|\[|\]|\(|\)|#|\+|\-|\.|\!])/g,"$1")).join(`
`),e)});scrapbox.TimeStamp.removeAllFormats();scrapbox.TimeStamp.addFormat("YYYY/M/D");scrapbox.TimeStamp.addFormat("[[]YYYY/M/D[]]");scrapbox.TimeStamp.addFormat("YYYY/M/D HH:mm:ss");var fo=e=>{{let r=e.match(/^([^(]+)\(([^)]+)\)$/);if(r)return{fileName:r[1],lang:r[2]}}let t=e.split(".").pop();return t===void 0?{fileName:e,lang:e}:{fileName:e,lang:t}};var qa=(e,t)=>(e.type==="codeBlock"||e.type==="table")&&t.indent>(e.rows[0]?.indent??0),go=(e,t)=>{let r=e[e.length-1];return r!==void 0&&qa(r,t)?(r.rows.push(t),e):(e.push({type:/^\s*code:/.test(t.text)?"codeBlock":/^\s*table:/.test(t.text)?"table":"line",rows:[t]}),e)},ho=(e,t)=>{if(t.hasTitle??!0){let[r,...n]=e;return r===void 0?[]:[{type:"title",rows:[r]},...n.reduce(go,[])]}return e.reduce(go,[])};var xo=e=>e.split(`
`).map(t=>({indent:/^\s+/.exec(t)?.[0]?.length??0,text:t}));var yo=e=>{let{rows:[t,...r]}=e,{indent:n=0,text:o=""}=t??{},s=o.replace(/^\s*code:/,"");return{indent:n,type:"codeBlock",fileName:s,content:r.map(a=>a.text.substring(n+1)).join(`
`)}};var F=(e,{parseOnNested:t,parseOnQuoted:r,patterns:n})=>(o,s,a)=>{if(!t&&s.nested)return a?.()??[];if(!r&&s.quoted)return a?.()??[];for(let i of n){let c=i.exec(o);if(c===null)continue;let l=o.substring(0,c.index),u=o.substring(c.index+(c[0]?.length??0)),m=e(c[0]??"",s);return[...ce(l,s),...m,...ce(u,s)]}return a?.()??[]};var H=e=>[{type:"plain",raw:e,text:e}],Eo=F(H,{parseOnNested:!0,parseOnQuoted:!0,patterns:[/^()(.*)()$/]});var za=/\[\s+\]/,Ja=(e,t)=>t.context==="table"?H(e,t):[{type:"blank",raw:e,text:e.substring(1,e.length-1)}],Ro=F(Ja,{parseOnNested:!1,parseOnQuoted:!0,patterns:[za]});var Ya=/`.*?`/,Xa=(e,t)=>t.context==="table"?H(e,t):[{type:"code",raw:e,text:e.substring(1,e.length-1)}],bo=F(Xa,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Ya]});var Qa=/^[$%] .+$/,Za=(e,t)=>{if(t.context==="table")return H(e,t);let r=e[0]??"",n=e.substring(2);return[{type:"commandLine",raw:e,symbol:r,text:n}]},wo=F(Za,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Qa]});var ec=/\[[!"#%&'()*+,\-./{|}<>_~]+ (?:\[[^[\]]+\]|[^\]])+\]/,tc=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.indexOf(" "),n=e.substring(1,r),o=e.substring(r+1,e.length-1),s=new Set(n);if(s.has("*")){let a=n.split("*").length-1;s.delete("*"),s.add(`*-${Math.min(a,10)}`)}return[{type:"decoration",raw:e,rawDecos:n,decos:Array.from(s),nodes:ce(o,{...t,nested:!0})}]},To=F(tc,{parseOnNested:!1,parseOnQuoted:!0,patterns:[ec]});var rc=/\[https?:\/\/[^\s\]]+\s+[^\]]*[^\s]\]/,nc=/\[[^[\]]*[^\s]\s+https?:\/\/[^\s\]]+\]/,oc=/\[https?:\/\/[^\s\]]+\]/,sc=/https?:\/\/[^\s]+/,ic=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.startsWith("[")&&e.endsWith("]")?e.substring(1,e.length-1):e,n=/^https?:\/\/[^\s\]]/.test(r),o=(n?/^https?:\/\/[^\s\]]+/:/https?:\/\/[^\s\]]+$/).exec(r);if(o?.[0]===void 0)return[];let s=n?r.substring(o[0].length):r.substring(0,o.index-1);return[{type:"link",raw:e,pathType:"absolute",href:o[0],content:s.trim()}]},Lo=F(ic,{parseOnNested:!0,parseOnQuoted:!0,patterns:[rc,nc,oc,sc]});var ac=/\[\$ .+? \]/,cc=/\[\$ [^\]]+\]/,lc=(e,t)=>t.context==="table"?H(e,t):[{type:"formula",raw:e,formula:e.substring(3,e.length-(e.endsWith(" ]")?2:1))}],ko=F(lc,{parseOnNested:!1,parseOnQuoted:!0,patterns:[ac,cc]});var vo=/\[([^\]]*[^\s])\s+([NS]\d+(?:\.\d+)?,[EW]\d+(?:\.\d+)?(?:,Z\d+)?)\]/,No=/\[([NS]\d+(?:\.\d+)?,[EW]\d+(?:\.\d+)?(?:,Z\d+)?)(?:\s+([^\]]*[^\s]))?\]/,pc=e=>{let[t="",r="",n=""]=e.split(","),o=Number.parseFloat(t.replace(/^N/,"").replace(/^S/,"-")),s=Number.parseFloat(r.replace(/^E/,"").replace(/^W/,"-")),a=/^Z\d+$/.test(n)?Number.parseInt(n.replace(/^Z/,""),10):14;return{latitude:o,longitude:s,zoom:a}},uc=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.match(vo)??e.match(No);if(r===null)return[];let n=e.startsWith("[N")||e.startsWith("[S"),[,o="",s=""]=n?r:[r[0],r[2],r[1]],{latitude:a,longitude:i,zoom:c}=pc(o),l=s!==""?`https://www.google.com/maps/place/${encodeURIComponent(s)}/@${a},${i},${c}z`:`https://www.google.com/maps/@${a},${i},${c}z`;return[{type:"googleMap",raw:e,latitude:a,longitude:i,zoom:c,place:s,url:l}]},Oo=F(uc,{parseOnNested:!1,parseOnQuoted:!0,patterns:[vo,No]});var mc=/(?:^|\s)#\S+/,fc=(e,t)=>{if(t.context==="table")return H(e,t);if(e.startsWith("#"))return[{type:"hashTag",raw:e,href:e.substring(1)}];let r=e.substring(0,1),n=e.substring(1);return[...H(r,t),{type:"hashTag",raw:n,href:n.substring(1)}]},Po=F(fc,{parseOnNested:!0,parseOnQuoted:!0,patterns:[mc]});var dc=/^\? .+$/,gc=(e,t)=>t.context==="table"?H(e,t):[{type:"helpfeel",raw:e,text:e.substring(2)}],Co=F(gc,{parseOnNested:!1,parseOnQuoted:!1,patterns:[dc]});var hc=/\[[^[\]]*\.icon(?:\*[1-9]\d*)?\]/,xc=e=>{let t=e.substring(1,e.length-1),r=t.lastIndexOf(".icon"),n=t.substring(0,r),o=n.startsWith("/")?"root":"relative",s=t.substring(r+5,t.length),a=s.startsWith("*")?Number.parseInt(s.substring(1),10):1;return new Array(a).fill({}).map(()=>({path:n,pathType:o,type:"icon",raw:e}))},Ao=F(xc,{parseOnNested:!0,parseOnQuoted:!0,patterns:[hc]});var yc=/\[https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)(?:\?[^\]\s]+)?(?:\s+https?:\/\/[^\s\]]+)?\]/i,Ec=/\[https?:\/\/[^\s\]]+\s+https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)(?:\?[^\]\s]+)?\]/i,Rc=/\[https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}(?:\/raw)?(?:\s+https?:\/\/[^\s\]]+)?\]/,bc=/\[https?:\/\/[^\s\]]+\s+https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}(?:\/raw)?\]/,wc=e=>/^https?:\/\/[^\s\]]+\.(png|jpe?g|gif|svg|webp)(\?[^\]\s]+)?$/i.test(e)||Tc(e),Tc=e=>/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}(\/raw)?$/.test(e),Lc=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.search(/\s/),n=r!==-1?e.substring(1,r):e.substring(1,e.length-1),o=r!==-1?e.substring(r,e.length-1).replace(/^\s+/,""):"",[s,a]=wc(o)?[o,n]:[n,o];return[{type:"image",raw:e,src:/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}$/.test(s)?`${s}/thumb/1000`:s,link:a}]},So=F(Lc,{parseOnNested:!0,parseOnQuoted:!0,patterns:[yc,Ec,Rc,bc]});var kc=/\[\/?[^[\]]+\]/,vc=e=>{let t=e.substring(1,e.length-1);return[{type:"link",raw:e,pathType:t.startsWith("/")?"root":"relative",href:t,content:""}]},Mo=F(vc,{parseOnNested:!0,parseOnQuoted:!0,patterns:[kc]});var Nc=/^[0-9]+\. .*$/,Oc=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.indexOf(" "),n=e.substring(0,r-1),o=Number.parseInt(n,10),s=e.substring(r+1,e.length);return[{type:"numberList",raw:e,rawNumber:n,number:o,nodes:ce(s,{...t,nested:!1})}]},_o=F(Oc,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Nc]});var Pc=/^>.*$/,Cc=(e,t)=>t.context==="table"?H(e,t):[{type:"quote",raw:e,nodes:ce(e.substring(1),{...t,quoted:!0})}],Uo=F(Cc,{parseOnNested:!1,parseOnQuoted:!1,patterns:[Pc]});var Ac=/\[\[[^[\]]*\.icon(?:\*\d+)?\]\]/,Sc=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.substring(2,e.length-2),n=r.lastIndexOf(".icon"),o=r.substring(0,n),s=o.startsWith("/")?"root":"relative",a=r.substring(n+5,r.length),i=a.startsWith("*")?Number.parseInt(a.substring(1),10):1;return new Array(i).fill({}).map(()=>({path:o,pathType:s,type:"strongIcon",raw:e}))},Io=F(Sc,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Ac]});var Mc=/\[\[https?:\/\/[^\s\]]+\.(?:png|jpe?g|gif|svg|webp)\]\]/i,_c=/\[\[https?:\/\/(?:[0-9a-z-]+\.)?gyazo\.com\/[0-9a-f]{32}\]\]/,Uc=(e,t)=>{if(t.context==="table")return H(e,t);let r=e.substring(2,e.length-2),n=/^https?:\/\/([0-9a-z-]\.)?gyazo\.com\/[0-9a-f]{32}$/.test(r);return[{type:"strongImage",raw:e,src:n?`${r}/thumb/1000`:r}]},Fo=F(Uc,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Mc,_c]});var Ic=/\[\[(?:[^[]|\[[^[]).*?\]*\]\]/,Fc=(e,t)=>t.context==="table"?H(e,t):[{type:"strong",raw:e,nodes:ce(e.substring(2,e.length-2),{...t,nested:!0})}],$o=F(Fc,{parseOnNested:!1,parseOnQuoted:!0,patterns:[Ic]});var $c=(e,t,r)=>e===""?[]:r?.()??[],Dc=(...e)=>(t,r)=>e.reduceRight((n,o)=>()=>o(t,r,n),()=>Eo(t,r))(),ce=Dc($c,Uo,Co,_o,bo,wo,ko,Ro,To,Fo,Io,$o,So,Lo,Ao,Oo,Mo,Po);var Do=e=>{let{indent:t,text:r}=e.rows[0];return{indent:t,type:"line",nodes:ce(r.substring(t),{nested:!1,quoted:!1,context:"line"})}};var jo=e=>{let{rows:[t,...r]}=e,{indent:n=0,text:o=""}=t??{},s=o.replace(/^\s*table:/,"");return{indent:n,type:"table",fileName:s,cells:r.map(a=>a.text.substring(n+1)).map(a=>a.split(" ").map(i=>ce(i,{nested:!1,quoted:!1,context:"table"})))}};var Bo=e=>({type:"title",text:e.rows[0].text});var Ho=e=>{switch(e.type){case"title":return Bo(e);case"codeBlock":return yo(e);case"table":return jo(e);case"line":return Do(e)}};var Nr=(e,t)=>{let r=xo(e);return ho(r,{hasTitle:t?.hasTitle??!0}).map(Ho)};var Wo=(e,t,r)=>{if(r.length===0)return[];let n=r.map(i=>i.text).join(`
`),o=Nr(n,{hasTitle:!0}),s=new Map,a=0;for(let i of o)switch(i.type){case"title":case"line":{a++;break}case"table":a+=i.cells.length+1;break;case"codeBlock":{let{fileName:c,lang:l}=fo(i.fileName),u=s.get(c);s.set(c,{path:u?.path??`https://scrapbox.io/api/code/${e}/${vt(t)}/${vt(c)}`,lang:u?.lang??l,startIds:[...u?.startIds??[],r[a].id]}),a+=i.content.split(`
`).length+1;break}}return s.values()};function Pr(e){let t=n=>{if(n===null)r.write8(0);else if(typeof n=="boolean")r.write8(1),r.write8(+n);else if(typeof n=="number")r.write8(2),r.write32(n|0);else if(typeof n=="string")r.write8(3),r.write(ye(n));else if(n instanceof Uint8Array)r.write8(4),r.write(n);else if(n instanceof Array){r.write8(5),r.write32(n.length);for(let o of n)t(o)}else{let o=Object.keys(n);r.write8(6),r.write32(o.length);for(let s of o)r.write(ye(s)),t(n[s])}},r=new Ft;return r.write32(0),r.write32(e.id<<1|+!e.isRequest),t(e.value),Or(r.buf,r.len-4,0),r.buf.subarray(0,r.len)}function Go(e){let t=()=>{switch(r.read8()){case 0:return null;case 1:return!!r.read8();case 2:return r.read32();case 3:return ot(r.read());case 4:return r.read();case 5:{let a=r.read32(),i=[];for(let c=0;c<a;c++)i.push(t());return i}case 6:{let a=r.read32(),i={};for(let c=0;c<a;c++)i[ot(r.read())]=t();return i}default:throw new Error("Invalid packet")}},r=new Ft(e),n=r.read32(),o=(n&1)===0;n>>>=1;let s=t();if(r.ptr!==e.length)throw new Error("Invalid packet");return{id:n,isRequest:o,value:s}}var Ft=class{constructor(t=new Uint8Array(1024)){this.buf=t}len=0;ptr=0;_write(t){if(this.len+t>this.buf.length){let r=new Uint8Array((this.len+t)*2);r.set(this.buf),this.buf=r}return this.len+=t,this.len-t}write8(t){let r=this._write(1);this.buf[r]=t}write32(t){let r=this._write(4);Or(this.buf,t,r)}write(t){let r=this._write(4+t.length);Or(this.buf,t.length,r),this.buf.set(t,r+4)}_read(t){if(this.ptr+t>this.buf.length)throw new Error("Invalid packet");return this.ptr+=t,this.ptr-t}read8(){return this.buf[this._read(1)]}read32(){return Cr(this.buf,this._read(4))}read(){let t=this.read32(),r=new Uint8Array(t),n=this._read(r.length);return r.set(this.buf.subarray(n,n+t)),r}},ye,ot,Vo;if(typeof TextEncoder<"u"&&typeof TextDecoder<"u"){let e=new TextEncoder,t=new TextDecoder;ye=r=>e.encode(r),ot=r=>t.decode(r),Vo='new TextEncoder().encode("")'}else throw new Error("No UTF-8 codec found");if(!(ye("")instanceof Uint8Array))throw new Error(`Invariant violation: "${Vo} instanceof Uint8Array" is incorrectly false
This indicates that your JavaScript environment is broken. You cannot use
esbuild in this environment because esbuild relies on this invariant. This
is not a problem with esbuild. You need to fix your environment instead.
`);function Cr(e,t){return e[t++]|e[t++]<<8|e[t++]<<16|e[t++]<<24}function Or(e,t,r){e[r++]=t,e[r++]=t>>8,e[r++]=t>>16,e[r++]=t>>24}var ht="0.23.0";var ne=JSON.stringify,Ko="warning",qo="silent";function zo(e){if(ie(e,"target"),e.indexOf(",")>=0)throw new Error(`Invalid target: ${e}`);return e}var jt=()=>null,Q=e=>typeof e=="boolean"?null:"a boolean",w=e=>typeof e=="string"?null:"a string",Bt=e=>e instanceof RegExp?null:"a RegExp object",ze=e=>typeof e=="number"&&e===(e|0)?null:"an integer",Xo=e=>typeof e=="function"?null:"a function",ee=e=>Array.isArray(e)?null:"an array",de=e=>typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"an object",Bc=e=>typeof e=="object"&&e!==null?null:"an array or an object",Hc=e=>e instanceof WebAssembly.Module?null:"a WebAssembly.Module",Jo=e=>typeof e=="object"&&!Array.isArray(e)?null:"an object or null",Qo=e=>typeof e=="string"||typeof e=="boolean"?null:"a string or a boolean",Wc=e=>typeof e=="string"||typeof e=="object"&&e!==null&&!Array.isArray(e)?null:"a string or an object",Gc=e=>typeof e=="string"||Array.isArray(e)?null:"a string or an array",Zo=e=>typeof e=="string"||e instanceof Uint8Array?null:"a string or a Uint8Array",Vc=e=>typeof e=="string"||e instanceof URL?null:"a string or a URL";function p(e,t,r,n){let o=e[r];if(t[r+""]=!0,o===void 0)return;let s=n(o);if(s!==null)throw new Error(`${ne(r)} must be ${s}`);return o}function oe(e,t,r){for(let n in e)if(!(n in t))throw new Error(`Invalid option ${r}: ${ne(n)}`)}function es(e){let t=Object.create(null),r=p(e,t,"wasmModule",Hc),n=p(e,t,"workerURL",Vc);return oe(e,t,"in initialize() call"),{wasmModule:r,workerURL:n}}function ts(e){let t;if(e!==void 0){t=Object.create(null);for(let r in e){let n=e[r];if(typeof n=="string"||n===!1)t[r]=n;else throw new Error(`Expected ${ne(r)} in mangle cache to map to either a string or false`)}}return t}function Ht(e,t,r,n,o){let s=p(t,r,"color",Q),a=p(t,r,"logLevel",w),i=p(t,r,"logLimit",ze);s!==void 0?e.push(`--color=${s}`):n&&e.push("--color=true"),e.push(`--log-level=${a||o}`),e.push(`--log-limit=${i||0}`)}function ie(e,t,r){if(typeof e!="string")throw new Error(`Expected value for ${t}${r!==void 0?" "+ne(r):""} to be a string, got ${typeof e} instead`);return e}function rs(e,t,r){let n=p(t,r,"legalComments",w),o=p(t,r,"sourceRoot",w),s=p(t,r,"sourcesContent",Q),a=p(t,r,"target",Gc),i=p(t,r,"format",w),c=p(t,r,"globalName",w),l=p(t,r,"mangleProps",Bt),u=p(t,r,"reserveProps",Bt),m=p(t,r,"mangleQuoted",Q),T=p(t,r,"minify",Q),O=p(t,r,"minifySyntax",Q),j=p(t,r,"minifyWhitespace",Q),V=p(t,r,"minifyIdentifiers",Q),C=p(t,r,"lineLimit",ze),G=p(t,r,"drop",ee),q=p(t,r,"dropLabels",ee),y=p(t,r,"charset",w),h=p(t,r,"treeShaking",Q),d=p(t,r,"ignoreAnnotations",Q),f=p(t,r,"jsx",w),b=p(t,r,"jsxFactory",w),R=p(t,r,"jsxFragment",w),L=p(t,r,"jsxImportSource",w),v=p(t,r,"jsxDev",Q),g=p(t,r,"jsxSideEffects",Q),x=p(t,r,"define",de),k=p(t,r,"logOverride",de),M=p(t,r,"supported",de),U=p(t,r,"pure",ee),S=p(t,r,"keepNames",Q),P=p(t,r,"platform",w),_=p(t,r,"tsconfigRaw",Wc);if(n&&e.push(`--legal-comments=${n}`),o!==void 0&&e.push(`--source-root=${o}`),s!==void 0&&e.push(`--sources-content=${s}`),a&&(Array.isArray(a)?e.push(`--target=${Array.from(a).map(zo).join(",")}`):e.push(`--target=${zo(a)}`)),i&&e.push(`--format=${i}`),c&&e.push(`--global-name=${c}`),P&&e.push(`--platform=${P}`),_&&e.push(`--tsconfig-raw=${typeof _=="string"?_:JSON.stringify(_)}`),T&&e.push("--minify"),O&&e.push("--minify-syntax"),j&&e.push("--minify-whitespace"),V&&e.push("--minify-identifiers"),C&&e.push(`--line-limit=${C}`),y&&e.push(`--charset=${y}`),h!==void 0&&e.push(`--tree-shaking=${h}`),d&&e.push("--ignore-annotations"),G)for(let N of G)e.push(`--drop:${ie(N,"drop")}`);if(q&&e.push(`--drop-labels=${Array.from(q).map(N=>ie(N,"dropLabels")).join(",")}`),l&&e.push(`--mangle-props=${l.source}`),u&&e.push(`--reserve-props=${u.source}`),m!==void 0&&e.push(`--mangle-quoted=${m}`),f&&e.push(`--jsx=${f}`),b&&e.push(`--jsx-factory=${b}`),R&&e.push(`--jsx-fragment=${R}`),L&&e.push(`--jsx-import-source=${L}`),v&&e.push("--jsx-dev"),g&&e.push("--jsx-side-effects"),x)for(let N in x){if(N.indexOf("=")>=0)throw new Error(`Invalid define: ${N}`);e.push(`--define:${N}=${ie(x[N],"define",N)}`)}if(k)for(let N in k){if(N.indexOf("=")>=0)throw new Error(`Invalid log override: ${N}`);e.push(`--log-override:${N}=${ie(k[N],"log override",N)}`)}if(M)for(let N in M){if(N.indexOf("=")>=0)throw new Error(`Invalid supported: ${N}`);let A=M[N];if(typeof A!="boolean")throw new Error(`Expected value for supported ${ne(N)} to be a boolean, got ${typeof A} instead`);e.push(`--supported:${N}=${A}`)}if(U)for(let N of U)e.push(`--pure:${ie(N,"pure")}`);S&&e.push("--keep-names")}function Kc(e,t,r,n,o){let s=[],a=[],i=Object.create(null),c=null,l=null;Ht(s,t,i,r,n),rs(s,t,i);let u=p(t,i,"sourcemap",Qo),m=p(t,i,"bundle",Q),T=p(t,i,"splitting",Q),O=p(t,i,"preserveSymlinks",Q),j=p(t,i,"metafile",Q),V=p(t,i,"outfile",w),C=p(t,i,"outdir",w),G=p(t,i,"outbase",w),q=p(t,i,"tsconfig",w),y=p(t,i,"resolveExtensions",ee),h=p(t,i,"nodePaths",ee),d=p(t,i,"mainFields",ee),f=p(t,i,"conditions",ee),b=p(t,i,"external",ee),R=p(t,i,"packages",w),L=p(t,i,"alias",de),v=p(t,i,"loader",de),g=p(t,i,"outExtension",de),x=p(t,i,"publicPath",w),k=p(t,i,"entryNames",w),M=p(t,i,"chunkNames",w),U=p(t,i,"assetNames",w),S=p(t,i,"inject",ee),P=p(t,i,"banner",de),_=p(t,i,"footer",de),N=p(t,i,"entryPoints",Bc),A=p(t,i,"absWorkingDir",w),I=p(t,i,"stdin",de),W=p(t,i,"write",Q)??o,D=p(t,i,"allowOverwrite",Q),me=p(t,i,"mangleCache",de);if(i.plugins=!0,oe(t,i,`in ${e}() call`),u&&s.push(`--sourcemap${u===!0?"":`=${u}`}`),m&&s.push("--bundle"),D&&s.push("--allow-overwrite"),T&&s.push("--splitting"),O&&s.push("--preserve-symlinks"),j&&s.push("--metafile"),V&&s.push(`--outfile=${V}`),C&&s.push(`--outdir=${C}`),G&&s.push(`--outbase=${G}`),q&&s.push(`--tsconfig=${q}`),R&&s.push(`--packages=${R}`),y){let E=[];for(let Y of y){if(ie(Y,"resolve extension"),Y.indexOf(",")>=0)throw new Error(`Invalid resolve extension: ${Y}`);E.push(Y)}s.push(`--resolve-extensions=${E.join(",")}`)}if(x&&s.push(`--public-path=${x}`),k&&s.push(`--entry-names=${k}`),M&&s.push(`--chunk-names=${M}`),U&&s.push(`--asset-names=${U}`),d){let E=[];for(let Y of d){if(ie(Y,"main field"),Y.indexOf(",")>=0)throw new Error(`Invalid main field: ${Y}`);E.push(Y)}s.push(`--main-fields=${E.join(",")}`)}if(f){let E=[];for(let Y of f){if(ie(Y,"condition"),Y.indexOf(",")>=0)throw new Error(`Invalid condition: ${Y}`);E.push(Y)}s.push(`--conditions=${E.join(",")}`)}if(b)for(let E of b)s.push(`--external:${ie(E,"external")}`);if(L)for(let E in L){if(E.indexOf("=")>=0)throw new Error(`Invalid package name in alias: ${E}`);s.push(`--alias:${E}=${ie(L[E],"alias",E)}`)}if(P)for(let E in P){if(E.indexOf("=")>=0)throw new Error(`Invalid banner file type: ${E}`);s.push(`--banner:${E}=${ie(P[E],"banner",E)}`)}if(_)for(let E in _){if(E.indexOf("=")>=0)throw new Error(`Invalid footer file type: ${E}`);s.push(`--footer:${E}=${ie(_[E],"footer",E)}`)}if(S)for(let E of S)s.push(`--inject:${ie(E,"inject")}`);if(v)for(let E in v){if(E.indexOf("=")>=0)throw new Error(`Invalid loader extension: ${E}`);s.push(`--loader:${E}=${ie(v[E],"loader",E)}`)}if(g)for(let E in g){if(E.indexOf("=")>=0)throw new Error(`Invalid out extension: ${E}`);s.push(`--out-extension:${E}=${ie(g[E],"out extension",E)}`)}if(N)if(Array.isArray(N))for(let E=0,Y=N.length;E<Y;E++){let fe=N[E];if(typeof fe=="object"&&fe!==null){let Le=Object.create(null),ke=p(fe,Le,"in",w),Re=p(fe,Le,"out",w);if(oe(fe,Le,"in entry point at index "+E),ke===void 0)throw new Error('Missing property "in" for entry point at index '+E);if(Re===void 0)throw new Error('Missing property "out" for entry point at index '+E);a.push([Re,ke])}else a.push(["",ie(fe,"entry point at index "+E)])}else for(let E in N)a.push([E,ie(N[E],"entry point",E)]);if(I){let E=Object.create(null),Y=p(I,E,"contents",Zo),fe=p(I,E,"resolveDir",w),Le=p(I,E,"sourcefile",w),ke=p(I,E,"loader",w);oe(I,E,'in "stdin" object'),Le&&s.push(`--sourcefile=${Le}`),ke&&s.push(`--loader=${ke}`),fe&&(l=fe),typeof Y=="string"?c=ye(Y):Y instanceof Uint8Array&&(c=Y)}let Z=[];if(h)for(let E of h)E+="",Z.push(E);return{entries:a,flags:s,write:W,stdinContents:c,stdinResolveDir:l,absWorkingDir:A,nodePaths:Z,mangleCache:ts(me)}}function qc(e,t,r,n){let o=[],s=Object.create(null);Ht(o,t,s,r,n),rs(o,t,s);let a=p(t,s,"sourcemap",Qo),i=p(t,s,"sourcefile",w),c=p(t,s,"loader",w),l=p(t,s,"banner",w),u=p(t,s,"footer",w),m=p(t,s,"mangleCache",de);return oe(t,s,`in ${e}() call`),a&&o.push(`--sourcemap=${a===!0?"external":a}`),i&&o.push(`--sourcefile=${i}`),c&&o.push(`--loader=${c}`),l&&o.push(`--banner=${l}`),u&&o.push(`--footer=${u}`),{flags:o,mangleCache:ts(m)}}function ns(e){let t={},r={didClose:!1,reason:""},n={},o=0,s=0,a=new Uint8Array(16*1024),i=0,c=y=>{let h=i+y.length;if(h>a.length){let f=new Uint8Array(h*2);f.set(a),a=f}a.set(y,i),i+=y.length;let d=0;for(;d+4<=i;){let f=Cr(a,d);if(d+4+f>i)break;d+=4,j(a.subarray(d,d+f)),d+=f}d>0&&(a.copyWithin(0,d,i),i-=d)},l=y=>{r.didClose=!0,y&&(r.reason=": "+(y.message||y));let h="The service was stopped"+r.reason;for(let d in n)n[d](h,null);n={}},u=(y,h,d)=>{if(r.didClose)return d("The service is no longer running"+r.reason,null);let f=o++;n[f]=(b,R)=>{try{d(b,R)}finally{y&&y.unref()}},y&&y.ref(),e.writeToStdin(Pr({id:f,isRequest:!0,value:h}))},m=(y,h)=>{if(r.didClose)throw new Error("The service is no longer running"+r.reason);e.writeToStdin(Pr({id:y,isRequest:!1,value:h}))},T=async(y,h)=>{try{if(h.command==="ping"){m(y,{});return}if(typeof h.key=="number"){let d=t[h.key];if(!d)return;let f=d[h.command];if(f){await f(y,h);return}}throw new Error("Invalid command: "+h.command)}catch(d){let f=[qe(d,e,null,void 0,"")];try{m(y,{errors:f})}catch{}}},O=!0,j=y=>{if(O){O=!1;let d=String.fromCharCode(...y);if(d!==ht)throw new Error(`Cannot start service: Host version "${ht}" does not match binary version ${ne(d)}`);return}let h=Go(y);if(h.isRequest)T(h.id,h.value);else{let d=n[h.id];delete n[h.id],h.value.error?d(h.value.error,{}):d(null,h.value)}};return{readFromStdout:c,afterClose:l,service:{buildOrContext:({callName:y,refs:h,options:d,isTTY:f,defaultWD:b,callback:R})=>{let L=0,v=s++,g={},x={ref(){++L===1&&h&&h.ref()},unref(){--L===0&&(delete t[v],h&&h.unref())}};t[v]=g,x.ref(),zc(y,v,u,m,x,e,g,d,f,b,(k,M)=>{try{R(k,M)}finally{x.unref()}})},transform:({callName:y,refs:h,input:d,options:f,isTTY:b,fs:R,callback:L})=>{let v=os(),g=x=>{try{if(typeof d!="string"&&!(d instanceof Uint8Array))throw new Error('The input to "transform" must be a string or a Uint8Array');let{flags:k,mangleCache:M}=qc(y,f,b,qo),U={command:"transform",flags:k,inputFS:x!==null,input:x!==null?ye(x):typeof d=="string"?ye(d):d};M&&(U.mangleCache=M),u(h,U,(S,P)=>{if(S)return L(new Error(S),null);let _=st(P.errors,v),N=st(P.warnings,v),A=1,I=()=>{if(--A===0){let W={warnings:N,code:P.code,map:P.map,mangleCache:void 0,legalComments:void 0};"legalComments"in P&&(W.legalComments=P?.legalComments),P.mangleCache&&(W.mangleCache=P?.mangleCache),L(null,W)}};if(_.length>0)return L(xt("Transform failed",_,N),null);P.codeFS&&(A++,R.readFile(P.code,(W,D)=>{W!==null?L(W,null):(P.code=D,I())})),P.mapFS&&(A++,R.readFile(P.map,(W,D)=>{W!==null?L(W,null):(P.map=D,I())})),I()})}catch(k){let M=[];try{Ht(M,f,{},b,qo)}catch{}let U=qe(k,e,v,void 0,"");u(h,{command:"error",flags:M,error:U},()=>{U.detail=v.load(U.detail),L(xt("Transform failed",[U],[]),null)})}};if((typeof d=="string"||d instanceof Uint8Array)&&d.length>1024*1024){let x=g;g=()=>R.writeFile(d,x)}g(null)},formatMessages:({callName:y,refs:h,messages:d,options:f,callback:b})=>{if(!f)throw new Error(`Missing second argument in ${y}() call`);let R={},L=p(f,R,"kind",w),v=p(f,R,"color",Q),g=p(f,R,"terminalWidth",ze);if(oe(f,R,`in ${y}() call`),L===void 0)throw new Error(`Missing "kind" in ${y}() call`);if(L!=="error"&&L!=="warning")throw new Error(`Expected "kind" to be "error" or "warning" in ${y}() call`);let x={command:"format-msgs",messages:Ce(d,"messages",null,"",g),isWarning:L==="warning"};v!==void 0&&(x.color=v),g!==void 0&&(x.terminalWidth=g),u(h,x,(k,M)=>{if(k)return b(new Error(k),null);b(null,M.messages)})},analyzeMetafile:({callName:y,refs:h,metafile:d,options:f,callback:b})=>{f===void 0&&(f={});let R={},L=p(f,R,"color",Q),v=p(f,R,"verbose",Q);oe(f,R,`in ${y}() call`);let g={command:"analyze-metafile",metafile:d};L!==void 0&&(g.color=L),v!==void 0&&(g.verbose=v),u(h,g,(x,k)=>{if(x)return b(new Error(x),null);b(null,k.result)})}}}}function zc(e,t,r,n,o,s,a,i,c,l,u){let m=os(),T=e==="context",O=(C,G)=>{let q=[];try{Ht(q,i,{},c,Ko)}catch{}let y=qe(C,s,m,void 0,G);r(o,{command:"error",flags:q,error:y},()=>{y.detail=m.load(y.detail),u(xt(T?"Context failed":"Build failed",[y],[]),null)})},j;if(typeof i=="object"){let C=i.plugins;if(C!==void 0){if(!Array.isArray(C))return O(new Error('"plugins" must be an array'),"");j=C}}if(j&&j.length>0){if(s.isSync)return O(new Error("Cannot use plugins in synchronous API calls"),"");Jc(t,r,n,o,s,a,i,j,m).then(C=>{if(!C.ok)return O(C.error,C.pluginName);try{V(C.requestPlugins,C.runOnEndCallbacks,C.scheduleOnDisposeCallbacks)}catch(G){O(G,"")}},C=>O(C,""));return}try{V(null,(C,G)=>G([],[]),()=>{})}catch(C){O(C,"")}function V(C,G,q){let y=s.hasFS,{entries:h,flags:d,write:f,stdinContents:b,stdinResolveDir:R,absWorkingDir:L,nodePaths:v,mangleCache:g}=Kc(e,i,c,Ko,y);if(f&&!s.hasFS)throw new Error('The "write" option is unavailable in this environment');let x={command:"build",key:t,entries:h,flags:d,write:f,stdinContents:b,stdinResolveDir:R,absWorkingDir:L||l,nodePaths:v,context:T};C&&(x.plugins=C),g&&(x.mangleCache=g);let k=(S,P)=>{let _={errors:st(S.errors,m),warnings:st(S.warnings,m),outputFiles:void 0,metafile:void 0,mangleCache:void 0},N=_.errors.slice(),A=_.warnings.slice();S.outputFiles&&(_.outputFiles=S.outputFiles.map(Xc)),S.metafile&&(_.metafile=JSON.parse(S.metafile)),S.mangleCache&&(_.mangleCache=S.mangleCache),S.writeToStdout!==void 0&&console.log(ot(S.writeToStdout).replace(/\n$/,"")),G(_,(I,W)=>{if(N.length>0||I.length>0){let D=xt("Build failed",N.concat(I),A.concat(W));return P(D,null,I,W)}P(null,_,I,W)})},M,U;T&&(a["on-end"]=(S,P)=>new Promise(_=>{k(P,(N,A,I,W)=>{let D={errors:I,warnings:W};U&&U(N,A),M=void 0,U=void 0,n(S,D),_()})})),r(o,x,(S,P)=>{if(S)return u(new Error(S),null);if(!T)return k(P,(A,I)=>(q(),u(A,I)));if(P.errors.length>0)return u(xt("Context failed",P.errors,P.warnings),null);let _=!1,N={rebuild:()=>(M||(M=new Promise((A,I)=>{let W;U=(me,Z)=>{W||(W=()=>me?I(me):A(Z))};let D=()=>{r(o,{command:"rebuild",key:t},(Z,E)=>{Z?I(new Error(Z)):W?W():D()})};D()})),M),watch:(A={})=>new Promise((I,W)=>{if(!s.hasFS)throw new Error('Cannot use the "watch" API in this environment');oe(A,{},"in watch() call"),r(o,{command:"watch",key:t},Z=>{Z?W(new Error(Z)):I(void 0)})}),serve:(A={})=>new Promise((I,W)=>{if(!s.hasFS)throw new Error('Cannot use the "serve" API in this environment');let D={},me=p(A,D,"port",ze),Z=p(A,D,"host",w),E=p(A,D,"servedir",w),Y=p(A,D,"keyfile",w),fe=p(A,D,"certfile",w),Le=p(A,D,"fallback",w),ke=p(A,D,"onRequest",Xo);oe(A,D,"in serve() call");let Re={command:"serve",key:t,onRequest:!!ke};me!==void 0&&(Re.port=me),Z!==void 0&&(Re.host=Z),E!==void 0&&(Re.servedir=E),Y!==void 0&&(Re.keyfile=Y),fe!==void 0&&(Re.certfile=fe),Le!==void 0&&(Re.fallback=Le),r(o,Re,(un,na)=>{if(un)return W(new Error(un));ke&&(a["serve-request"]=(oa,sa)=>{ke(sa.args),n(oa,{})}),I(na)})}),cancel:()=>new Promise(A=>{if(_)return A();r(o,{command:"cancel",key:t},()=>{A()})}),dispose:()=>new Promise(A=>{if(_)return A();_=!0,r(o,{command:"dispose",key:t},()=>{A(),q(),o.unref()})})};o.ref(),u(null,N)})}}var Jc=async(e,t,r,n,o,s,a,i,c)=>{let l=[],u=[],m={},T={},O=[],j=0,V=0,C=[],G=!1;i=[...i];for(let h of i){let d={};if(typeof h!="object")throw new Error(`Plugin at index ${V} must be an object`);let f=p(h,d,"name",w);if(typeof f!="string"||f==="")throw new Error(`Plugin at index ${V} is missing a name`);try{let b=p(h,d,"setup",Xo);if(typeof b!="function")throw new Error("Plugin is missing a setup function");oe(h,d,`on plugin ${ne(f)}`);let R={name:f,onStart:!1,onEnd:!1,onResolve:[],onLoad:[]};V++;let v=b({initialOptions:a,resolve:(g,x={})=>{if(!G)throw new Error('Cannot call "resolve" before plugin setup has completed');if(typeof g!="string")throw new Error("The path to resolve must be a string");let k=Object.create(null),M=p(x,k,"pluginName",w),U=p(x,k,"importer",w),S=p(x,k,"namespace",w),P=p(x,k,"resolveDir",w),_=p(x,k,"kind",w),N=p(x,k,"pluginData",jt),A=p(x,k,"with",de);return oe(x,k,"in resolve() call"),new Promise((I,W)=>{let D={command:"resolve",path:g,key:e,pluginName:f};if(M!=null&&(D.pluginName=M),U!=null&&(D.importer=U),S!=null&&(D.namespace=S),P!=null&&(D.resolveDir=P),_!=null)D.kind=_;else throw new Error('Must specify "kind" when calling "resolve"');N!=null&&(D.pluginData=c.store(N)),A!=null&&(D.with=Yc(A,"with")),t(n,D,(me,Z)=>{me!==null?W(new Error(me)):I({errors:st(Z.errors,c),warnings:st(Z.warnings,c),path:Z.path,external:Z.external,sideEffects:Z.sideEffects,namespace:Z.namespace,suffix:Z.suffix,pluginData:c.load(Z.pluginData)})})})},onStart(g){let x='This error came from the "onStart" callback registered here:',k=$t(new Error(x),o,"onStart");l.push({name:f,callback:g,note:k}),R.onStart=!0},onEnd(g){let x='This error came from the "onEnd" callback registered here:',k=$t(new Error(x),o,"onEnd");u.push({name:f,callback:g,note:k}),R.onEnd=!0},onResolve(g,x){let k='This error came from the "onResolve" callback registered here:',M=$t(new Error(k),o,"onResolve"),U={},S=p(g,U,"filter",Bt),P=p(g,U,"namespace",w);if(oe(g,U,`in onResolve() call for plugin ${ne(f)}`),S==null)throw new Error("onResolve() call is missing a filter");let _=j++;m[_]={name:f,callback:x,note:M},R.onResolve.push({id:_,filter:S.source,namespace:P||""})},onLoad(g,x){let k='This error came from the "onLoad" callback registered here:',M=$t(new Error(k),o,"onLoad"),U={},S=p(g,U,"filter",Bt),P=p(g,U,"namespace",w);if(oe(g,U,`in onLoad() call for plugin ${ne(f)}`),S==null)throw new Error("onLoad() call is missing a filter");let _=j++;T[_]={name:f,callback:x,note:M},R.onLoad.push({id:_,filter:S.source,namespace:P||""})},onDispose(g){O.push(g)},esbuild:o.esbuild});v&&await v,C.push(R)}catch(b){return{ok:!1,error:b,pluginName:f}}}s["on-start"]=async(h,d)=>{let f={errors:[],warnings:[]};await Promise.all(l.map(async({name:b,callback:R,note:L})=>{try{let v=await R();if(v!=null){if(typeof v!="object")throw new Error(`Expected onStart() callback in plugin ${ne(b)} to return an object`);let g={},x=p(v,g,"errors",ee),k=p(v,g,"warnings",ee);oe(v,g,`from onStart() callback in plugin ${ne(b)}`),x!=null&&f.errors.push(...Ce(x,"errors",c,b,void 0)),k!=null&&f.warnings.push(...Ce(k,"warnings",c,b,void 0))}}catch(v){f.errors.push(qe(v,o,c,L&&L(),b))}})),r(h,f)},s["on-resolve"]=async(h,d)=>{let f={},b="",R,L;for(let v of d.ids)try{({name:b,callback:R,note:L}=m[v]);let g=await R({path:d.path,importer:d.importer,namespace:d.namespace,resolveDir:d.resolveDir,kind:d.kind,pluginData:c.load(d.pluginData),with:d.with});if(g!=null){if(typeof g!="object")throw new Error(`Expected onResolve() callback in plugin ${ne(b)} to return an object`);let x={},k=p(g,x,"pluginName",w),M=p(g,x,"path",w),U=p(g,x,"namespace",w),S=p(g,x,"suffix",w),P=p(g,x,"external",Q),_=p(g,x,"sideEffects",Q),N=p(g,x,"pluginData",jt),A=p(g,x,"errors",ee),I=p(g,x,"warnings",ee),W=p(g,x,"watchFiles",ee),D=p(g,x,"watchDirs",ee);oe(g,x,`from onResolve() callback in plugin ${ne(b)}`),f.id=v,k!=null&&(f.pluginName=k),M!=null&&(f.path=M),U!=null&&(f.namespace=U),S!=null&&(f.suffix=S),P!=null&&(f.external=P),_!=null&&(f.sideEffects=_),N!=null&&(f.pluginData=c.store(N)),A!=null&&(f.errors=Ce(A,"errors",c,b,void 0)),I!=null&&(f.warnings=Ce(I,"warnings",c,b,void 0)),W!=null&&(f.watchFiles=Dt(W,"watchFiles")),D!=null&&(f.watchDirs=Dt(D,"watchDirs"));break}}catch(g){f={id:v,errors:[qe(g,o,c,L&&L(),b)]};break}r(h,f)},s["on-load"]=async(h,d)=>{let f={},b="",R,L;for(let v of d.ids)try{({name:b,callback:R,note:L}=T[v]);let g=await R({path:d.path,namespace:d.namespace,suffix:d.suffix,pluginData:c.load(d.pluginData),with:d.with});if(g!=null){if(typeof g!="object")throw new Error(`Expected onLoad() callback in plugin ${ne(b)} to return an object`);let x={},k=p(g,x,"pluginName",w),M=p(g,x,"contents",Zo),U=p(g,x,"resolveDir",w),S=p(g,x,"pluginData",jt),P=p(g,x,"loader",w),_=p(g,x,"errors",ee),N=p(g,x,"warnings",ee),A=p(g,x,"watchFiles",ee),I=p(g,x,"watchDirs",ee);oe(g,x,`from onLoad() callback in plugin ${ne(b)}`),f.id=v,k!=null&&(f.pluginName=k),M instanceof Uint8Array?f.contents=M:M!=null&&(f.contents=ye(M)),U!=null&&(f.resolveDir=U),S!=null&&(f.pluginData=c.store(S)),P!=null&&(f.loader=P),_!=null&&(f.errors=Ce(_,"errors",c,b,void 0)),N!=null&&(f.warnings=Ce(N,"warnings",c,b,void 0)),A!=null&&(f.watchFiles=Dt(A,"watchFiles")),I!=null&&(f.watchDirs=Dt(I,"watchDirs"));break}}catch(g){f={id:v,errors:[qe(g,o,c,L&&L(),b)]};break}r(h,f)};let q=(h,d)=>d([],[]);u.length>0&&(q=(h,d)=>{(async()=>{let f=[],b=[];for(let{name:R,callback:L,note:v}of u){let g,x;try{let k=await L(h);if(k!=null){if(typeof k!="object")throw new Error(`Expected onEnd() callback in plugin ${ne(R)} to return an object`);let M={},U=p(k,M,"errors",ee),S=p(k,M,"warnings",ee);oe(k,M,`from onEnd() callback in plugin ${ne(R)}`),U!=null&&(g=Ce(U,"errors",c,R,void 0)),S!=null&&(x=Ce(S,"warnings",c,R,void 0))}}catch(k){g=[qe(k,o,c,v&&v(),R)]}if(g){f.push(...g);try{h.errors.push(...g)}catch{}}if(x){b.push(...x);try{h.warnings.push(...x)}catch{}}}d(f,b)})()});let y=()=>{for(let h of O)setTimeout(()=>h(),0)};return G=!0,{ok:!0,requestPlugins:C,runOnEndCallbacks:q,scheduleOnDisposeCallbacks:y}};function os(){let e=new Map,t=0;return{load(r){return e.get(r)},store(r){if(r===void 0)return-1;let n=t++;return e.set(n,r),n}}}function $t(e,t,r){let n,o=!1;return()=>{if(o)return n;o=!0;try{let s=(e.stack+"").split(`
`);s.splice(1,1);let a=ss(t,s,r);if(a)return n={text:e.message,location:a},n}catch{}}}function qe(e,t,r,n,o){let s="Internal error",a=null;try{s=(e&&e.message||e)+""}catch{}try{a=ss(t,(e.stack+"").split(`
`),"")}catch{}return{id:"",pluginName:o,text:s,location:a,notes:n?[n]:[],detail:r?r.store(e):-1}}function ss(e,t,r){let n=" at ";if(e.readFileSync&&!t[0].startsWith(n)&&t[1].startsWith(n))for(let o=1;o<t.length;o++){let s=t[o];if(s.startsWith(n))for(s=s.slice(n.length);;){let a=/^(?:new |async )?\S+ \((.*)\)$/.exec(s);if(a){s=a[1];continue}if(a=/^eval at \S+ \((.*)\)(?:, \S+:\d+:\d+)?$/.exec(s),a){s=a[1];continue}if(a=/^(\S+):(\d+):(\d+)$/.exec(s),a){let i;try{i=e.readFileSync(a[1],"utf8")}catch{break}let c=i.split(/\r\n|\r|\n|\u2028|\u2029/)[+a[2]-1]||"",l=+a[3]-1,u=c.slice(l,l+r.length)===r?r.length:0;return{file:a[1],namespace:"file",line:+a[2],column:ye(c.slice(0,l)).length,length:ye(c.slice(l,l+u)).length,lineText:c+`
`+t.slice(1).join(`
`),suggestion:""}}break}}return null}function xt(e,t,r){let n=5;e+=t.length<1?"":` with ${t.length} error${t.length<2?"":"s"}:`+t.slice(0,n+1).map((s,a)=>{if(a===n)return`
...`;if(!s.location)return`
error: ${s.text}`;let{file:i,line:c,column:l}=s.location,u=s.pluginName?`[plugin: ${s.pluginName}] `:"";return`
${i}:${c}:${l}: ERROR: ${u}${s.text}`}).join("");let o=new Error(e);for(let[s,a]of[["errors",t],["warnings",r]])Object.defineProperty(o,s,{configurable:!0,enumerable:!0,get:()=>a,set:i=>Object.defineProperty(o,s,{configurable:!0,enumerable:!0,value:i})});return o}function st(e,t){for(let r of e)r.detail=t.load(r.detail);return e}function Yo(e,t,r){if(e==null)return null;let n={},o=p(e,n,"file",w),s=p(e,n,"namespace",w),a=p(e,n,"line",ze),i=p(e,n,"column",ze),c=p(e,n,"length",ze),l=p(e,n,"lineText",w),u=p(e,n,"suggestion",w);if(oe(e,n,t),l){let m=l.slice(0,(i&&i>0?i:0)+(c&&c>0?c:0)+(r&&r>0?r:80));!/[\x7F-\uFFFF]/.test(m)&&!/\n/.test(l)&&(l=m)}return{file:o||"",namespace:s||"",line:a||0,column:i||0,length:c||0,lineText:l||"",suggestion:u||""}}function Ce(e,t,r,n,o){let s=[],a=0;for(let i of e){let c={},l=p(i,c,"id",w),u=p(i,c,"pluginName",w),m=p(i,c,"text",w),T=p(i,c,"location",Jo),O=p(i,c,"notes",ee),j=p(i,c,"detail",jt),V=`in element ${a} of "${t}"`;oe(i,c,V);let C=[];if(O)for(let G of O){let q={},y=p(G,q,"text",w),h=p(G,q,"location",Jo);oe(G,q,V),C.push({text:y||"",location:Yo(h,V,o)})}s.push({id:l||"",pluginName:u||n,text:m||"",location:Yo(T,V,o),notes:C,detail:r?r.store(j):-1}),a++}return s}function Dt(e,t){let r=[];for(let n of e){if(typeof n!="string")throw new Error(`${ne(t)} must be an array of strings`);r.push(n)}return r}function Yc(e,t){let r=Object.create(null);for(let n in e){let o=e[n];if(typeof o!="string")throw new Error(`key ${ne(n)} in object ${ne(t)} must be a string`);r[n]=o}return r}function Xc({path:e,contents:t,hash:r}){let n=null;return{path:e,contents:t,hash:r,get text(){let o=this.contents;return(n===null||o!==t)&&(t=o,n=ot(o)),n}}}var as=ht,Gt=e=>Vt().build(e),cs=(e,t)=>Vt().transform(e,t),ls=(e,t)=>Vt().formatMessages(e,t),ps=(e,t)=>Vt().analyzeMetafile(e,t);var Je,is,Wt,Vt=()=>{if(Wt)return Wt;throw Je?new Error('You need to wait for the promise returned from "initialize" to be resolved before calling this'):new Error('You need to call "initialize" before calling this')},Kt=e=>{e=es(e||{});let t=e.wasmModule,r=e.workerURL;if(!t)throw new Error('Must provide the "wasmModule" option');if(Je)throw new Error('Cannot call "initialize" more than once');return Je=Zc(t,r),Je.catch(()=>{Je=void 0}),Je},Zc=async(e,t)=>{let r=new Worker(t.toString(),{type:"module"}),n,o,s=new Promise((c,l)=>{n=c,o=l});r.onmessage=({data:c})=>{r.onmessage=({data:l})=>a(l),c?o(c):n()},r.postMessage(e);let{readFromStdout:a,service:i}=ns({writeToStdin(c){r.postMessage(c)},isSync:!1,hasFS:!1,esbuild:{build:Gt,transform:cs,formatMessages:ls,analyzeMetafile:ps,version:as,initialize:Kt}});await s,is=()=>{r.terminate(),Je=void 0,is=void 0,Wt=void 0},Wt={build:c=>new Promise((l,u)=>i.buildOrContext({callName:"build",refs:null,options:c,isTTY:!1,defaultWD:"/",callback:(m,T)=>m?u(m):l(T)})),transform:(c,l)=>new Promise((u,m)=>i.transform({callName:"transform",refs:null,input:c,options:l||{},isTTY:!1,fs:{readFile(T,O){O(new Error("Internal error"),null)},writeFile(T,O){O(null)}},callback:(T,O)=>T?m(T):u(O)})),formatMessages:(c,l)=>new Promise((u,m)=>i.formatMessages({callName:"formatMessages",refs:null,messages:c,options:l,callback:(T,O)=>T?m(T):u(O)})),analyzeMetafile:(c,l)=>new Promise((u,m)=>i.analyzeMetafile({callName:"analyzeMetafile",refs:null,metafile:typeof c=="string"?c:JSON.stringify(c),options:l,callback:(T,O)=>T?m(T):u(O)}))}};self.Deno||(self.Deno={build:{os:"linux"},errors:{AlreadyExists:Error},env:{get:()=>{}},permissions:{query:()=>Promise.resolve("denied")},cwd:()=>location.href});function ae(e){if(typeof e!="string")throw new TypeError(`Path must be a string. Received ${JSON.stringify(e)}`)}function be(e){return e===47||e===92}function Ae(e){return e>=97&&e<=122||e>=65&&e<=90}function Jt(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError("Must be a file URL.");return e}function us(e){e=Jt(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=`\\\\${e.hostname}${t}`),t}function Sr(e){ae(e);let t=e.length;if(t===0)return!1;let r=e.charCodeAt(0);return be(r)?!0:!!(Ae(r)&&t>2&&e.charCodeAt(1)===58&&be(e.charCodeAt(2)))}var Yt=class extends Error{constructor(t){super(t),this.name="AssertionError"}};function Xt(e,t=""){if(!e)throw new Yt(t)}var ml={" ":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D"," ":"%20"};function Qt(e){return e.replaceAll(/[\s]/g,t=>ml[t]??t)}function ds(e){if(!Sr(e))throw new TypeError("Must be an absolute path.");let[,t,r]=e.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/),n=new URL("file:///");if(n.pathname=Qt(r.replace(/%/g,"%25")),t!==void 0&&t!=="localhost"&&(n.hostname=t,!n.hostname))throw new TypeError("Invalid hostname.");return n}function Se(e){return e===47}function hs(e){return e=Jt(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function _r(e){return ae(e),e.length>0&&Se(e.charCodeAt(0))}function ys(e){if(!_r(e))throw new TypeError("Must be an absolute path.");let t=new URL("file:///");return t.pathname=Qt(e.replace(/%/g,"%25").replace(/\\/g,"%5C")),t}var Ll=(()=>{let{Deno:e}=globalThis;if(typeof e?.build?.os=="string")return e.build.os;let{navigator:t}=globalThis;return t?.appVersion?.includes?.("Win")?"windows":"linux"})(),re=Ll==="windows";var it=re?"\\":"/";function Zt(e){return re?us(e):hs(e)}function Et(e){return re?ds(e):ys(e)}function er(e){return typeof e=="object"&&e!==null&&e.constructor===Object}function tr(e){let t={},r=Object.keys(e).sort((n,o)=>o.length-n.length);for(let n of r)t[n]=e[n];return t}function Es(e){return er(e)&&(e.imports!==void 0?Ur(e.imports):!0)&&(e.scopes!==void 0?Ir(e.scopes):!0)}function Ur(e){return er(e)}function Ir(e){return er(e)&&Object.values(e).every(t=>Fr(t))}function Fr(e){return er(e)}function rr(e){try{return new URL(e),!0}catch{return!1}}function bs(e,t){let r={};for(let[n,o]of Object.entries(e)){let s=vl(n,t);if(s===null)continue;if(typeof o!="string"){console.warn("addresses need to be strings."),r[s]=null;continue}let a=$r(o,t);if(a===null){console.warn("the address was invalid."),r[s]=null;continue}if(n.endsWith("/")&&!we(a).endsWith("/")){console.warn("an invalid address was given for the specifier key specifierKey; since specifierKey ended in a slash, the address needs to as well."),r[s]=null;continue}r[s]=we(a)}return tr(r)}function we(e){return e.href}function kl(e,t){let r={};for(let[o,s]of Object.entries(e)){if(!Fr(s))throw new TypeError("the value of the scope with prefix scopePrefix needs to be an object.");let a;try{a=new URL(o,t)}catch{console.warn("the scope prefix URL was not parseable.");continue}let i=we(a);r[i]=bs(s,t)}let n={};for(let o of Object.keys(r))n[o]=tr(r[o]);return tr(n)}function vl(e,t){if(!e.length)return console.warn("specifier key cannot be an empty string."),null;let r=$r(e,t);return r!==null?we(r):e}function $r(e,t){if(t&&(e.startsWith("/")||e.startsWith("./")||e.startsWith("../")))try{return new URL(e,t)}catch{return null}try{return new URL(e)}catch{return null}}var Nl=["ftp","file","http","https","ws","wss"];function Ol(e){return Nl.some(t=>we(e).startsWith(t))}function Rs(e,t,r){for(let[n,o]of Object.entries(r))if(n===e){if(o===null)throw new TypeError("resolution of specifierKey was blocked by a null entry.");if(!rr(o))throw new TypeError("resolutionResult must be an URL.");return o}else if(n.endsWith("/")&&e.startsWith(n)&&(t===null||Ol(t))){if(o===null)throw new TypeError("resolution of specifierKey was blocked by a null entry.");if(!rr(o))throw new TypeError("resolutionResult must be an URL.");let s=e.slice(n.length);if(!o.endsWith("/"))throw new TypeError('resolutionResult does not end with "/"');try{let a=new URL(s,o);if(!rr(a))throw new TypeError("url must be an URL.");if(!we(a).startsWith(o))throw new TypeError("resolution of normalizedSpecifier was blocked due to it backtracking above its prefix specifierKey.");return we(a)}catch{throw new TypeError("resolution of normalizedSpecifier was blocked since the afterPrefix portion could not be URL-parsed relative to the resolutionResult mapped to by the specifierKey prefix.")}}return null}function Dr(e,t){let r={};if(!Es(e))throw new TypeError("the top-level value needs to be a JSON object.");let{imports:n,scopes:o}=e;if(n!==void 0){if(!Ur(n))throw new TypeError('"imports" top-level key needs to be an object.');r=bs(n,t)}let s={};if(o!==void 0){if(!Ir(o))throw new TypeError('"scopes" top-level key needs to be an object.');s=kl(o,t)}return Object.keys(e).find(a=>a!=="imports"&&a!=="scopes")&&console.warn("an invalid top-level key was present in the import map."),{imports:r,scopes:s}}function ws(e,{imports:t={},scopes:r={}},n){let o=we(n),s=$r(e,n),a=s!==null?we(s):e;for(let[c,l]of Object.entries(r))if(c===o||c.endsWith("/")&&o.startsWith(c)){let u=Rs(a,s,l);if(u!==null)return u}let i=Rs(a,s,t);if(i!==null)return i;if(s!==null)return we(s);throw new TypeError("specifier was a bare specifier, but was not remapped to anything by importMap.")}function Ls(e,{allowTrailingComma:t=!0}={}){if(new.target)throw new TypeError("parse is not a constructor");return new jr(e,{allowTrailingComma:t}).parse()}var Ts=globalThis.JSON.parse,jr=class{#s=new Set(` \r
`);#r=new Set([..."[]{}:,/",...this.#s]);#t;#e;#o;#a;constructor(t,r){this.#t=`${t}`,this.#e=this.#t.length,this.#o=this.#l(),this.#a=r}parse(){let t=this.#n(),r=this.#p(t),{done:n,value:o}=this.#o.next();if(!n)throw new SyntaxError($e(o));return r}#n(){let{done:t,value:r}=this.#o.next();if(t)throw new SyntaxError("Unexpected end of JSONC input");return r}*#l(){for(let t=0;t<this.#e;t++)if(!this.#s.has(this.#t[t])){if(this.#t[t]==="/"&&this.#t[t+1]==="*"){t+=2;let r=!1;for(;t<this.#e;t++)if(this.#t[t]==="*"&&this.#t[t+1]==="/"){r=!0;break}if(!r)throw new SyntaxError("Unexpected end of JSONC input");t++;continue}if(this.#t[t]==="/"&&this.#t[t+1]==="/"){for(t+=2;t<this.#e&&!(this.#t[t]===`
`||this.#t[t]==="\r");t++);continue}switch(this.#t[t]){case"{":yield{type:"BeginObject",position:t};break;case"}":yield{type:"EndObject",position:t};break;case"[":yield{type:"BeginArray",position:t};break;case"]":yield{type:"EndArray",position:t};break;case":":yield{type:"NameSeparator",position:t};break;case",":yield{type:"ValueSeparator",position:t};break;case'"':{let r=t,n=!1;for(t++;t<this.#e&&!(this.#t[t]==='"'&&!n);t++)n=this.#t[t]==="\\"&&!n;yield{type:"String",sourceText:this.#t.substring(r,t+1),position:r};break}default:{let r=t;for(;t<this.#e&&!this.#r.has(this.#t[t]);t++);t--,yield{type:"NullOrTrueOrFalseOrNumber",sourceText:this.#t.substring(r,t+1),position:r}}}}}#p(t){switch(t.type){case"BeginObject":return this.#m();case"BeginArray":return this.#i();case"NullOrTrueOrFalseOrNumber":return this.#h(t);case"String":return this.#g(t);default:throw new SyntaxError($e(t))}}#m(){let t={};for(let r=!0;;r=!1){let n=this.#n();if((r||this.#a.allowTrailingComma)&&n.type==="EndObject")return t;if(n.type!=="String")throw new SyntaxError($e(n));let o=this.#g(n),s=this.#n();if(s.type!=="NameSeparator")throw new SyntaxError($e(s));let a=this.#n();Object.defineProperty(t,o,{value:this.#p(a),writable:!0,enumerable:!0,configurable:!0});let i=this.#n();if(i.type==="EndObject")return t;if(i.type!=="ValueSeparator")throw new SyntaxError($e(i))}}#i(){let t=[];for(let r=!0;;r=!1){let n=this.#n();if((r||this.#a.allowTrailingComma)&&n.type==="EndArray")return t;t.push(this.#p(n));let o=this.#n();if(o.type==="EndArray")return t;if(o.type!=="ValueSeparator")throw new SyntaxError($e(o))}}#g(t){let r;try{r=Ts(t.sourceText)}catch{throw new SyntaxError($e(t))}return Xt(typeof r=="string"),r}#h(t){if(t.sourceText==="null")return null;if(t.sourceText==="true")return!0;if(t.sourceText==="false")return!1;let r;try{r=Ts(t.sourceText)}catch{throw new SyntaxError($e(t))}return Xt(typeof r=="number"),r}};function $e({type:e,sourceText:t,position:r}){let n="";switch(e){case"BeginObject":n="{";break;case"EndObject":n="}";break;case"BeginArray":n="[";break;case"EndArray":n="]";break;case"NameSeparator":n=":";break;case"ValueSeparator":n=",";break;case"NullOrTrueOrFalseOrNumber":case"String":n=30<t.length?`${t.slice(0,30)}...`:t;break;default:throw new Error("unreachable")}return`Unexpected token ${n} in JSONC at position ${r}`}function or(e){if(e.protocol==="file:")return{path:Zt(e),namespace:"file"};let t=e.protocol.slice(0,-1);return{path:e.href.slice(t.length+1),namespace:t}}async function Br(e){let t=await Deno.readTextFile(e),r=Ls(t);if(typeof r!="object"||r===null||Array.isArray(r))throw new Error(`Deno config at ${e} must be an object`);if("imports"in r&&(typeof r.imports!="object"||r.imports===null||Array.isArray(r.imports)))throw new Error(`Deno config at ${e} has invalid "imports" key`);if("scopes"in r&&(typeof r.scopes!="object"||r.scopes===null||Array.isArray(r.scopes)))throw new Error(`Deno config at ${e} has invalid "scopes" key`);if("lock"in r&&typeof r.lock!="boolean"&&typeof r.lock!="string")throw new Error(`Deno config at ${e} has invalid "lock" key`);if("importMap"in r&&typeof r.importMap!="string")throw new Error(`Deno config at ${e} has invalid "importMap" key`);return r}function ks(e){if(e.imports!==void 0){let t=[];for(let[r,n]of Object.entries(e.imports))if(t.push([r,n]),!r.endsWith("/")&&n&&(n.startsWith("jsr:")||n.startsWith("npm:"))&&!e.imports[r+"/"]){let o=r+"/",s=n.slice(0,4)+"/"+n.slice(n[4]==="/"?5:4)+"/";t.push([o,s])}e.imports=Object.fromEntries(t)}}var Cl=`${it}node_modules${it}`,Al=`${it}node_modules`;function nr(e){return e.includes(Cl)||e.endsWith(Al)}function Hr(e){return(e.namespace===""||e.namespace==="file")&&(nr(e.resolveDir)||nr(e.path)||nr(e.importer))}function Wr(e={}){return{name:"deno-resolver",setup(t){let r=null,n=(t.initialOptions.external??[]).map(o=>new RegExp("^"+o.replace(/[-/\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*")+"$"));t.onStart(async function(){let s;if(e.importMapURL===void 0&&e.configPath!==void 0){let a=await Br(e.configPath);if(a.imports!==void 0||a.scopes!==void 0){let i={imports:a.imports,scopes:a.scopes};ks(i),r=Dr(i,Et(e.configPath))}else a.importMap!==void 0&&(s=new URL(a.importMap,Et(e.configPath)).href)}else e.importMapURL!==void 0&&(s=e.importMapURL);if(s){let a=await fetch(s),i=await a.json();r=Dr(i,new URL(a.url))}}),t.onResolve({filter:/.*/},async function(s){if(Hr(s))return;let a;if(s.importer!==""){if(s.namespace==="")throw new Error("[assert] namespace is empty");a=new URL(`${s.namespace}:${s.importer}`)}else if(s.resolveDir!=="")a=new URL(`${Et(s.resolveDir).href}/`);else return;let i;if(r!==null){let m=ws(s.path,r,new URL(a));i=new URL(m)}else i=new URL(s.path,a);for(let m of n)if(m.test(i.href))return{path:i.href,external:!0};let{path:c,namespace:l}=or(i);return await t.resolve(c,{namespace:l,kind:s.kind})})}}}var lO=new TextEncoder;var Sl=[],Ml=[],Gr="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567";for(let e=0,t=Gr.length;e<t;++e)Sl[e]=Gr[e],Ml[Gr.charCodeAt(e)]=e;var CO=Deno.env.get("DENO_REGISTRY_URL")??"https://jsr.io";var Bl=await Deno.permissions.query({name:"run"}).then(e=>e.state!=="granted")?"portable":"native";var vs=Wr;function le(e){return e.val}var Ns=" must not return ",Hl="`transformer`",Wl="`recoverer`",Gl="`defaultValue`",at=Hl+Ns,Me="called with ",ct=Gl+" must not be ",lt=Wl+Ns;var Vl="`Ok`",Os="`Err`",Ps=Me+Os,Cs=Me+Vl,Kl="Carrying `E` in "+Os+" instead of throwing it directly. See `.cause`",Vr="an instance of `Error` of the current realm.",QO="The thrown value is not "+Vr,ZO="The contained E should be "+Vr,ql="This `.cause` is not "+Vr;function se(e){return e.ok}function K(e){return{ok:!0,val:e,err:null}}function te(e){return!e.ok}function $(e){return{ok:!1,val:null,err:e}}function pe(e){return As(e,Ps)}function De(e){return Ss(e,Cs)}function As(e,t){if(te(e))throw new TypeError(t);return e.val}function Ss(e,t){if(se(e))throw new TypeError(t);return e.err}async function Ye(e,t){if(te(e))return e;let r=le(e),n=await t(r);return K(n)}var sr="`null`",sC=at+sr,Yl=Me+sr,iC=ct+sr,aC=lt+sr;var ir="`undefined`",mC=at+ir,Xl=Me+ir,fC=ct+ir,dC=lt+ir;var ar="`null` or `undefined`",pt=at+ar,Zl=Me+ar,Kr=ct+ar,cr=lt+ar;function Ee(e){return e!=null}function qr(e,t){if(Ee(e))return K(e);let r=t();return $(r)}var _s=e=>!!(ep.includes(e.hostname)||e.hostname.endsWith(".openai.azure.com")),ep=["i.gyazo.com","t.gyazo.com","scrapbox.io","api.openai.com","*.openai.azure.com","maps.googleapis.com","upload.gyazo.com","storage.googleapis.com","sentry.io"];function Be(e){if(typeof e!="string")throw new TypeError(`Path must be a string, received "${JSON.stringify(e)}"`)}function Xe(e){return e===47}function Us(e){Be(e);let t=-1,r=0,n=-1,o=!0,s=0;for(let a=e.length-1;a>=0;--a){let i=e.charCodeAt(a);if(Xe(i)){if(!o){r=a+1;break}continue}n===-1&&(o=!1,n=a+1),i===46?t===-1?t=a:s!==1&&(s=1):t!==-1&&(s=-1)}return t===-1||n===-1||s===0||s===1&&t===n-1&&t===r+1?"":e.slice(t,n)}function Is(e,t){if(t.length>=e.length)return e;let r=e.length-t.length;for(let n=t.length-1;n>=0;--n)if(e.charCodeAt(r+n)!==t.charCodeAt(n))return e;return e.slice(0,-t.length)}function Fs(e,t,r=0){let n=!1,o=e.length;for(let s=e.length-1;s>=r;--s)if(t(e.charCodeAt(s))){if(n){r=s+1;break}}else n||(n=!0,o=s+1);return e.slice(r,o)}function $s(e,t){if(Be(e),e.length===0)return e;if(typeof t!="string")throw new TypeError(`Suffix must be a string, received "${JSON.stringify(t)}"`)}function Ds(e,t){if(e.length<=1)return e;let r=e.length;for(let n=e.length-1;n>0&&t(e.charCodeAt(n));n--)r=n;return e.slice(0,r)}function js(e,t=""){$s(e,t);let r=Fs(e,Xe),n=Ds(r,Xe);return t?Is(n,t):n}var lr=globalThis.Deno?.build.os==="windows"||globalThis.navigator?.platform?.startsWith("Win")||globalThis.process?.platform?.startsWith("win")||!1;function pr(e){if(e=e instanceof URL?e:new URL(e),e.protocol!=="file:")throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);return e}function Bs(e){return e=pr(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}function Hs(e){e=pr(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return e.hostname!==""&&(t=`\\\\${e.hostname}${t}`),t}function Ws(e){return lr?Hs(e):Bs(e)}var rp={" ":"%09","\n":"%0A","\v":"%0B","\f":"%0C","\r":"%0D"," ":"%20"};function ur(e){return e.replaceAll(/[\s]/g,t=>rp[t]??t)}function Gs(e){return Be(e),e.length>0&&Xe(e.charCodeAt(0))}function Vs(e){if(!Gs(e))throw new TypeError(`Path must be absolute: received "${e}"`);let t=new URL("file:///");return t.pathname=ur(e.replace(/%/g,"%25").replace(/\\/g,"%5C")),t}function Jr(e){return e===47||e===92}function Ks(e){return e>=97&&e<=122||e>=65&&e<=90}function qs(e){Be(e);let t=e.length;if(t===0)return!1;let r=e.charCodeAt(0);return Jr(r)?!0:!!(Ks(r)&&t>2&&e.charCodeAt(1)===58&&Jr(e.charCodeAt(2)))}function zs(e){if(!qs(e))throw new TypeError(`Path must be absolute: received "${e}"`);let[,t,r]=e.match(/^(?:[/\\]{2}([^/\\]+)(?=[/\\](?:[^/\\]|$)))?(.*)/),n=new URL("file:///");if(n.pathname=ur(r.replace(/%/g,"%25")),t!==void 0&&t!=="localhost"&&(n.hostname=t,!n.hostname))throw new TypeError(`Invalid hostname: "${n.hostname}"`);return n}function Js(e){return lr?zs(e):Vs(e)}var Ys=e=>{if(e.protocol==="file:")return{path:Ws(e),namespace:"file"};let t=e.protocol.slice(0,-1);return{path:e.href.slice(t.length+1),namespace:t}},Yr=e=>e.namespace==="file"?Js(e.path):new URL(`${e.namespace}:${e.path}`);var Xs=(e,t)=>{let r=qr(lp(e),()=>({name:"NotFoundError",message:"Source map URL is not found"}));if(te(r))return r;let{url:n,start:o,end:s}=pe(r);return URL.canParse(n,t)?K({url:new URL(n,t),start:o,end:s}):$({name:"InvalidURLError",message:`Invalid URL: ${n}`})},lp=e=>{for(let t of e.matchAll(/\/([*/])[#@] *sourceMappingURL=/g)){let r=t.index+t[0].length,n=e.length,o=r;for(;o<n&&e.charCodeAt(o)>32;)o++;if(o!==r&&(t[1]==="/"||e.indexOf("*/",o)>0))return{url:e.slice(r,o),start:r,end:o}}};var pp=["base64","binary","copy","css","dataurl","default","empty","file","js","json","jsx","local-css","text","ts","tsx"],Qs=e=>pp.includes(e),Zs=e=>/^js|^ts|css$/.test(e),ei=e=>{let t=e.url,r=js(t);if(Qs(r))return r;if(r==="mjs")return"js";let n=new URL(t);n.search="",n.hash="";let o=Us(n.href).slice(1);if(Qs(o))return o;if(o==="mjs")return"js";let a=(e.headers.get("Content-Type")??"text/plain").split(";")[0]?.trim?.()??"text/plain";return up(a)},up=e=>{let t=e.split("/")[1]??"plain";if(/(?:^plain$|^xml|^svg|^x?html)/.test(t))return"text";if(t.startsWith("json"))return"json";switch(t){case"javascript":return"js";case"typescript":return"ts";case"css":return"css";default:return"text"}};function mr(e,t){if(isNaN(e)||isNaN(t))throw new Error("Cannot compare against non-numbers");return e===t?0:e<t?-1:1}function ni(e=[],t=[]){return e.length&&!t.length?-1:!e.length&&t.length?1:0}function Qr(e=[],t=[]){let r=Math.max(e.length,t.length);for(let n=0;n<r;n++){let o=e[n],s=t[n];if(o===void 0&&s===void 0)return 0;if(s===void 0)return 1;if(o===void 0)return-1;if(typeof o=="string"&&typeof s=="number")return 1;if(typeof o=="number"&&typeof s=="string"||o<s)return-1;if(o>s)return 1}return 0}var ut="0|[1-9]\\d*",mp="\\d*[a-zA-Z-][a-zA-Z0-9-]*",fp=`(?<major>${ut})\\.(?<minor>${ut})\\.(?<patch>${ut})`,ti=`(?:${ut}|${mp})`,oi=`(?:-(?<prerelease>${ti}(?:\\.${ti})*))`,ri="[0-9A-Za-z-]+",si=`(?:\\+(?<buildmetadata>${ri}(?:\\.${ri})*))`,ii=`v?${fp}${oi}?${si}?`,ai=new RegExp(`^${ii}$`),ci="(?:<|>)?=?",dp="x|X|\\*",Xr=`${ut}|${dp}`,fr=`[v=\\s]*(?<major>${Xr})(?:\\.(?<minor>${Xr})(?:\\.(?<patch>${Xr})${oi}?${si}?)?)?`,li=new RegExp(`^(?<operator>~>?|\\^|${ci})\\s*${fr}$`),pi=new RegExp(`^(?<operator>${ci})\\s*(${ii})$|^$`);function Zr(e){return typeof e=="number"&&!Number.isNaN(e)&&(!Number.isFinite(e)||0<=e&&e<=Number.MAX_SAFE_INTEGER)}var en=256;var gp=new RegExp(`^${ut}$`);function ue(e){return e.split(".").filter(Boolean).map(t=>{if(gp.test(t)){let r=Number(t);if(Zr(r))return r}return t})}function Te(e){return e.split(".").filter(Boolean)}function He(e,t){let r=Number(e);if(!Zr(r))throw new TypeError(t);return r}function Qe(e){return Number.isNaN(e.major)&&Number.isNaN(e.minor)&&Number.isNaN(e.patch)&&(e.prerelease===void 0||e.prerelease.length===0)&&(e.build===void 0||e.build.length===0)}function he(e,t){return e===t?0:mr(e.major,t.major)||mr(e.minor,t.minor)||mr(e.patch,t.patch)||ni(e.prerelease,t.prerelease)||Qr(e.prerelease,t.prerelease)}function tn(e){return e.toFixed(0)}function Ze(e){let t=tn(e.major),r=tn(e.minor),n=tn(e.patch),o=e.prerelease?.join(".")??"",s=e.build?.join(".")??"";return[[`${t}.${r}.${n}`,o].filter(c=>c).join("-"),s].filter(c=>c).join("+")}function hp(e,t){if(Qe(t))return!0;let r=he(e,t);switch(t.operator){case"=":case void 0:return r===0;case"!=":return r!==0;case">":return r>0;case"<":return r<0;case">=":return r>=0;case"<=":return r<=0}}function dr(e,t){for(let r of t)if(!hp(e,r))return!1;if(e.prerelease&&e.prerelease.length>0){for(let r of t){if(Qe(r))continue;let{major:n,minor:o,patch:s,prerelease:a}=r;if(a&&a.length>0&&e.major===n&&e.minor===o&&e.patch===s)return!0}return!1}return!0}function gr(e,t){return t.some(r=>dr(e,r))}var hr={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},mt={operator:void 0,...hr};function ui(e,t){return he(e,t)>0}function Rt(e,t){let r;for(let n of e)gr(n,t)&&(r=r&&ui(r,n)?r:n);return r}function xp(e){let r=e.match(pi)?.groups;if(!r)return null;let{operator:n,prerelease:o,buildmetadata:s}=r,a=r.major?{major:He(r.major,`Cannot parse comparator ${e}: invalid major version`),minor:He(r.minor,`Cannot parse comparator ${e}: invalid minor version`),patch:He(r.patch,`Cannot parse comparator ${e}: invalid patch version`),prerelease:o?ue(o):[],build:s?Te(s):[]}:hr;return{operator:n||void 0,...a}}function J(e){return!e||e.toLowerCase()==="x"||e==="*"}function yp(e){if(!J(e.major))return J(e.minor)?{operator:">=",major:+e.major,minor:0,patch:0,prerelease:[],build:[]}:J(e.patch)?{operator:">=",major:+e.major,minor:+e.minor,patch:0,prerelease:[],build:[]}:{operator:">=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:e.prerelease?ue(e.prerelease):[],build:[]}}function Ep(e){if(!J(e.major))return J(e.minor)?{operator:"<",major:+e.major+1,minor:0,patch:0,prerelease:[],build:[]}:J(e.patch)?{operator:"<",major:+e.major,minor:+e.minor+1,patch:0,prerelease:[],build:[]}:e.prerelease?{operator:"<=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:ue(e.prerelease),build:[]}:{operator:"<=",major:+e.major,minor:+e.minor,patch:+e.patch,prerelease:e.prerelease?ue(e.prerelease):[],build:[]}}function Rp(e){let t=e.match(new RegExp(`^${fr}`)),r=t?.groups;if(!r)return;let n=t[0].length,o=e.slice(n).match(/^\s+-\s+/);if(!o)return;let s=o[0].length,i=e.slice(n+s).match(new RegExp(`^${fr}\\s*$`))?.groups;if(!i)return;let c=yp(r),l=Ep(i);return[c,l].filter(Boolean)}function bp(e){let t=J(e.major),r=J(e.minor),n=J(e.patch),o=+e.major,s=+e.minor,a=+e.patch;if(t)return[mt];if(r)return[{operator:">=",major:o,minor:0,patch:0},{operator:"<",major:o+1,minor:0,patch:0}];if(n)return o===0?[{operator:">=",major:o,minor:s,patch:0},{operator:"<",major:o,minor:s+1,patch:0}]:[{operator:">=",major:o,minor:s,patch:0},{operator:"<",major:o+1,minor:0,patch:0}];let i=ue(e.prerelease??"");return o===0?s===0?[{operator:">=",major:o,minor:s,patch:a,prerelease:i},{operator:"<",major:o,minor:s,patch:a+1}]:[{operator:">=",major:o,minor:s,patch:a,prerelease:i},{operator:"<",major:o,minor:s+1,patch:0}]:[{operator:">=",major:o,minor:s,patch:a,prerelease:i},{operator:"<",major:o+1,minor:0,patch:0}]}function wp(e){let t=J(e.major),r=J(e.minor),n=J(e.patch),o=+e.major,s=+e.minor,a=+e.patch;if(t)return[mt];if(r)return[{operator:">=",major:o,minor:0,patch:0},{operator:"<",major:o+1,minor:0,patch:0}];if(n)return[{operator:">=",major:o,minor:s,patch:0},{operator:"<",major:o,minor:s+1,patch:0}];let i=ue(e.prerelease??"");return[{operator:">=",major:o,minor:s,patch:a,prerelease:i},{operator:"<",major:o,minor:s+1,patch:0}]}function Tp(e){let t=J(e.major),r=J(e.minor),n=J(e.patch),o=+e.major,s=+e.minor,a=+e.patch;if(t)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return n?[{operator:"<",major:o,minor:0,patch:0}]:[{operator:"<",major:o,minor:s,patch:0}];if(n)return[{operator:"<",major:o,minor:s,patch:0}];let i=ue(e.prerelease??""),c=Te(e.build??"");return[{operator:"<",major:o,minor:s,patch:a,prerelease:i,build:c}]}function Lp(e){let t=J(e.minor),r=J(e.patch),n=+e.major,o=+e.minor,s=+e.patch;if(t)return r?[{operator:"<",major:n+1,minor:0,patch:0}]:[{operator:"<",major:n,minor:o+1,patch:0}];if(r)return[{operator:"<",major:n,minor:o+1,patch:0}];let a=ue(e.prerelease??""),i=Te(e.build??"");return[{operator:"<=",major:n,minor:o,patch:s,prerelease:a,build:i}]}function kp(e){let t=J(e.major),r=J(e.minor),n=J(e.patch),o=+e.major,s=+e.minor,a=+e.patch;if(t)return[{operator:"<",major:0,minor:0,patch:0}];if(r)return[{operator:">=",major:o+1,minor:0,patch:0}];if(n)return[{operator:">=",major:o,minor:s+1,patch:0}];let i=ue(e.prerelease??""),c=Te(e.build??"");return[{operator:">",major:o,minor:s,patch:a,prerelease:i,build:c}]}function vp(e){let t=J(e.major),r=J(e.minor),n=J(e.patch),o=+e.major,s=+e.minor,a=+e.patch;if(t)return[mt];if(r)return n?[{operator:">=",major:o,minor:0,patch:0}]:[{operator:">=",major:o,minor:s,patch:0}];if(n)return[{operator:">=",major:o,minor:s,patch:0}];let i=ue(e.prerelease??""),c=Te(e.build??"");return[{operator:">=",major:o,minor:s,patch:a,prerelease:i,build:c}]}function Np(e){let t=J(e.major),r=J(e.minor),n=J(e.patch),o=+e.major,s=+e.minor,a=+e.patch;if(t)return[mt];if(r)return[{operator:">=",major:o,minor:0,patch:0},{operator:"<",major:o+1,minor:0,patch:0}];if(n)return[{operator:">=",major:o,minor:s,patch:0},{operator:"<",major:o,minor:s+1,patch:0}];let i=ue(e.prerelease??""),c=Te(e.build??"");return[{operator:void 0,major:o,minor:s,patch:a,prerelease:i,build:c}]}function Op(e){let t=e.match(li)?.groups;if(!t)return xp(e);switch(t.operator){case"^":return bp(t);case"~":case"~>":return wp(t);case"<":return Tp(t);case"<=":return Lp(t);case">":return kp(t);case">=":return vp(t);case"=":case"":return Np(t);default:throw new Error(`Cannot parse version range: '${t.operator}' is not a valid operator`)}}function Pp(e){return e.split(/\s+/).flatMap(Op)}function mi(e){let t=e.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map(r=>Rp(r)||Pp(r));if(t.some(r=>r.includes(null)))throw new TypeError(`Cannot parse version range: range "${e}" is invalid`);return t}function rn(e){if(typeof e!="string")throw new TypeError(`Cannot parse version as version must be a string: received ${typeof e}`);if(e.length>en)throw new TypeError(`Cannot parse version as version length is too long: length is ${e.length}, max length is ${en}`);e=e.trim();let t=e.match(ai)?.groups;if(!t)throw new TypeError(`Cannot parse version: ${e}`);let r=He(t.major,`Cannot parse version ${e}: invalid major version`),n=He(t.minor,`Cannot parse version ${e}: invalid minor version`),o=He(t.patch,`Cannot parse version ${e}: invalid patch version`),s=t.prerelease?ue(t.prerelease):[],a=t.buildmetadata?Te(t.buildmetadata):[];return{major:r,minor:n,patch:o,prerelease:s,build:a}}function nn(e){try{return mi(e)}catch{return}}function on(e){try{return rn(e)}catch{return}}var bt={operator:void 0,major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]};var We=async e=>{try{let t=await fetch(e);return t.ok?K([t,!1]):$({name:"HTTPError",message:`${t.status} ${t.statusText}`,response:t})}catch(t){if(t instanceof TypeError)return $({name:"NetworkError",message:t.message,request:e});if(t instanceof DOMException)return $({name:"AbortError",message:t.message,request:e});throw t}};var sn="https://jsr.io",fi=async(e,t)=>{let r=await(t?.fetch??We)(new Request(`${t?.endpoint??sn}/${e}/meta.json`),t?.cacheFirst);return Ye(r,([n])=>n.json())};var di=async(e,t,r)=>{let n=await(r?.fetch??We)(new Request(`${r?.endpoint??sn}/${e}/${t}_meta.json`),r?.cacheFirst);return Ye(n,([o])=>o.json())};var gi=async(e,t)=>{let r=await(t?.fetch??We)(new Request(`${t?.endpoint??"https://registry.npmjs.org"}/${e}`),t?.cacheFirst);return Ye(r,([n])=>n.json())};var yi=(e,t)=>({name:"InvalidPackageVersionError",message:`No version of ${e.name} satisfies "${e.tag??"*"}" (available: ${t.slice(0,10).join(", ")}${t.length>10?`, ... (${t.length-10} more versions)`:""})`,packageName:e.name,range:e.range,tag:e.tag,entryPoint:e.entryPoint,availableVersions:t}),xr=(e,t)=>({name:"InvalidEntryPointError",message:`${e.entryPoint} is not a valid entry point for ${e.name}@${e.tag??"*"} (available: ${t.join(", ")})`,packageName:e.name,range:e.range,tag:e.tag,entryPoint:e.entryPoint,availableEntryPoints:t}),Ei=async(e,t)=>{if(t?.resolvedVersions){let c=new Map(t.resolvedVersions.get(e.name)??[]),l=Rt([...c.keys()],e.range);if(l){let u=c.get(l)??wt,m=u[e.entryPoint];return typeof m!="string"&&console.log(m),m?K(hi(e.name,Ze(l),m)):$(xr(e,Object.keys(u)))}}let r=await gi(e.name,t);if(te(r))return r;let n=pe(r),o=new Map(Object.entries(n.versions).flatMap(([c,{exports:l}])=>{let u=on(c);return u?[[u,l??wt]]:[]})),s=Rt([...o.keys()],e.range);if(!s)return $(yi(e,Object.keys(n.versions)));let a={...wt};for(let c of Object.keys(o.get(s)??wt))a[c]=c;let i=a[e.entryPoint];return i?(t?.resolvedVersions?.set(e.name,[...t.resolvedVersions.get(e.name)??[],[s,a]]),K(hi(e.name,Ze(s),i))):$(xr(e,Object.keys(a)))},hi=(e,t,r)=>new URL(r,`https://esm.sh/${e}@${t}/`),Ri=async(e,t)=>{if(t?.resolvedVersions){let i=new Map(t.resolvedVersions.get(e.name)??[]),c=Rt([...i.keys()],e.range);if(c){let l=i.get(c)??wt,u=l[e.entryPoint];return u?K(xi(e.name,Ze(c),u)):$(xr(e,Object.keys(l)))}}let r=await Cp(e,t);if(te(r))return r;let n=pe(r),o=await di(e.name,Ze(n),t);if(te(o))return o;let s=pe(o).exports,a=s[e.entryPoint];return a?(t?.resolvedVersions?.set(e.name,[...t.resolvedVersions.get(e.name)??[],[n,s]]),K(xi(e.name,Ze(n),a))):$(xr(e,Object.keys(pe(o).exports)))},xi=(e,t,r)=>new URL(r,`https://jsr.io/${e}/${t}/`),Cp=async(e,t)=>{let r=await fi(e.name,t);if(te(r))return r;let n=pe(r),o=Object.keys(n.versions).flatMap(a=>{let i=on(a);return i?[i]:[]}),s=Rt(o,e.range);return s?K(s):$(yi(e,Object.keys(n.versions)))},wt={".":"./"};var Ap=e=>({name:"OnlyScopeProvidedError",specifier:e}),bi=e=>({name:"PackageNotFoundError",specifier:e}),wi=e=>{if(e.protocol!=="npm:")return $({name:"NotNpmProtocolError",specifier:e});let t=e.pathname,r=t[0]==="/"?1:0,n,o;if(t[r]==="@"){let m=t.indexOf("/",r);if(m===-1)return $(Ap(e));n=t.indexOf("/",m+1),o=t.indexOf("@",m+1)}else n=t.indexOf("/",r),o=t.indexOf("@",r);if(n===-1&&(n=t.length),o===-1&&(o=t.length),o=Math.min(o,n),r===o)return $(bi(e));let s=t.slice(r,o),a=decodeURIComponent(t.slice(o+1,n)),i=a?nn(a)??[[bt]]:[[bt]],c=t.slice(n+1),l=c?`./${c}`:".",u={name:s,range:i,entryPoint:l};return a&&(u.tag=a),K(u)},Ti=e=>{if(e.protocol!=="jsr:")return $({name:"NotJsrProtocolError",specifier:e});let t=e.pathname,r=t[0]==="/"?1:0;if(t[r]!=="@")return $({name:"ScopeNotFoundError",specifier:e});let n=t.indexOf("/",r);if(n===-1)return $(bi(e));let o=t.indexOf("/",n+1),s=t.indexOf("@",n+1);o===-1&&(o=t.length),s===-1&&(s=t.length),s=Math.min(s,o);let a=t.slice(r,s),i=decodeURIComponent(t.slice(s+1,o)),c=i?nn(i)??[[bt]]:[[bt]],l=t.slice(o+1),u=l?`./${l}`:".",m={name:a,range:c,entryPoint:u};return i&&(m.tag=i),K(m)};var Li=e=>new Promise((t,r)=>{let n=new FileReader;n.addEventListener("load",()=>{let o=n.result,s=o.indexOf(";");o.startsWith("; charset=utf-8",s)?t(`${o.slice(0,s)}${o.slice(s+15)}`):t(o)}),n.addEventListener("error",()=>r(n.error)),n.readAsDataURL(e)});var Ni=e=>{let t=new Map,r=async n=>{let o=n.namespace==="npm",s=(o?wi:Ti)(Yr(n));if(te(s)){let i=De(s);return{errors:[{text:i.name,detail:i}]}}let a=await(o?Ei:Ri)(pe(s),{resolvedVersions:t,...e});if(te(a)){let i=De(a);return{errors:[{text:`${i.name} ${i.message}`,detail:i}]}}return Ys(pe(a))};return{name:"remote-loader",setup({onLoad:n,onResolve:o,initialOptions:s}){for(let a of[...ki,...vi])o({filter:/.*/,namespace:a.slice(0,-1)},Sp);o({filter:/.*/,namespace:"npm"},r),o({filter:/.*/,namespace:"jsr"},r);for(let a of ki)n({filter:/.*/,namespace:a.slice(0,-1)},i=>Mp(Yr(i),{...e,sourcemap:s.sourcemap!==!1&&s.sourcemap!==void 0}));for(let a of vi)n({filter:/.*/,namespace:a.slice(0,-1)},()=>{throw new Error(`${a} import is not supported yet.`)})}}},Sp=e=>({path:e.path,namespace:e.namespace}),ki=["http:","https:","data:"],vi=["node:"],Mp=async(e,t)=>{let r=t.reload?t.reload===!0?!1:!t.reload.some(l=>l.test(e)):!0,n=t.fetch??We,o=await n(new Request(e),r);if(te(o))return{errors:[{text:`[${De(o).message}] Failed to fetch ${e}`,detail:De(o)}]};let[s,a]=pe(o),i=ei(s);t.onProgress?.({path:e,done:s.clone().blob().then(l=>({size:l.size,loader:i,isCache:a}))});let c=await s.blob();if(t.sourcemap&&Zs(i)){let l=await c.text(),u=Xs(l,e);if(se(u)){let{url:m,start:T,end:O}=pe(u);if(m.protocol!=="data:"){let j=await n(new Request(m),r);if(te(j))return{contents:l,loader:i,warnings:[{text:`[${De(j).message}] Failed to fetch the source map URL`,notes:[{text:`Source map URL: ${m}`},{text:`Original URL: ${e}`}],detail:De(j)}]};let V=await pe(j)[0].blob().then(Li);return{contents:l.slice(0,T)+V+l.slice(O),loader:i}}}}return{contents:new Uint8Array(await c.arrayBuffer()),loader:i}};var kt=class{type=3;name="";prefix="";value="";suffix="";modifier=3;constructor(e,t,r,n,o,s){this.type=e,this.name=t,this.prefix=r,this.value=n,this.suffix=o,this.modifier=s}hasCustomName(){return this.name!==""&&typeof this.name!="number"}},_p=/[$_\p{ID_Start}]/u,Up=/[$_\u200C\u200D\p{ID_Continue}]/u,cn=".*";function Ip(e,t){return(t?/^[\x00-\xFF]*$/:/^[\x00-\x7F]*$/).test(e)}function Ci(e,t=!1){let r=[],n=0;for(;n<e.length;){let o=e[n],s=function(a){if(!t)throw new TypeError(a);r.push({type:"INVALID_CHAR",index:n,value:e[n++]})};if(o==="*"){r.push({type:"ASTERISK",index:n,value:e[n++]});continue}if(o==="+"||o==="?"){r.push({type:"OTHER_MODIFIER",index:n,value:e[n++]});continue}if(o==="\\"){r.push({type:"ESCAPED_CHAR",index:n++,value:e[n++]});continue}if(o==="{"){r.push({type:"OPEN",index:n,value:e[n++]});continue}if(o==="}"){r.push({type:"CLOSE",index:n,value:e[n++]});continue}if(o===":"){let a="",i=n+1;for(;i<e.length;){let c=e.substr(i,1);if(i===n+1&&_p.test(c)||i!==n+1&&Up.test(c)){a+=e[i++];continue}break}if(!a){s(`Missing parameter name at ${n}`);continue}r.push({type:"NAME",index:n,value:a}),n=i;continue}if(o==="("){let a=1,i="",c=n+1,l=!1;if(e[c]==="?"){s(`Pattern cannot start with "?" at ${c}`);continue}for(;c<e.length;){if(!Ip(e[c],!1)){s(`Invalid character '${e[c]}' at ${c}.`),l=!0;break}if(e[c]==="\\"){i+=e[c++]+e[c++];continue}if(e[c]===")"){if(a--,a===0){c++;break}}else if(e[c]==="("&&(a++,e[c+1]!=="?")){s(`Capturing groups are not allowed at ${c}`),l=!0;break}i+=e[c++]}if(l)continue;if(a){s(`Unbalanced pattern at ${n}`);continue}if(!i){s(`Missing pattern at ${n}`);continue}r.push({type:"REGEX",index:n,value:i}),n=c;continue}r.push({type:"CHAR",index:n,value:e[n++]})}return r.push({type:"END",index:n,value:""}),r}function Ai(e,t={}){let r=Ci(e);t.delimiter??="/#?",t.prefixes??="./";let n=`[^${xe(t.delimiter)}]+?`,o=[],s=0,a=0,i="",c=new Set,l=y=>{if(a<r.length&&r[a].type===y)return r[a++].value},u=()=>l("OTHER_MODIFIER")??l("ASTERISK"),m=y=>{let h=l(y);if(h!==void 0)return h;let{type:d,index:f}=r[a];throw new TypeError(`Unexpected ${d} at ${f}, expected ${y}`)},T=()=>{let y="",h;for(;h=l("CHAR")??l("ESCAPED_CHAR");)y+=h;return y},O=y=>y,j=t.encodePart||O,V="",C=y=>{V+=y},G=()=>{V.length&&(o.push(new kt(3,"","",j(V),"",3)),V="")},q=(y,h,d,f,b)=>{let R=3;switch(b){case"?":R=1;break;case"*":R=0;break;case"+":R=2;break}if(!h&&!d&&R===3){C(y);return}if(G(),!h&&!d){if(!y)return;o.push(new kt(3,"","",j(y),"",R));return}let L;d?d==="*"?L=cn:L=d:L=n;let v=2;L===n?(v=1,L=""):L===cn&&(v=0,L="");let g;if(h?g=h:d&&(g=s++),c.has(g))throw new TypeError(`Duplicate name '${g}'.`);c.add(g),o.push(new kt(v,g,j(y),L,j(f),R))};for(;a<r.length;){let y=l("CHAR"),h=l("NAME"),d=l("REGEX");if(!h&&!d&&(d=l("ASTERISK")),h||d){let b=y??"";t.prefixes.indexOf(b)===-1&&(C(b),b=""),G();let R=u();q(b,h,d,"",R);continue}let f=y??l("ESCAPED_CHAR");if(f){C(f);continue}if(l("OPEN")){let b=T(),R=l("NAME"),L=l("REGEX");!R&&!L&&(L=l("ASTERISK"));let v=T();m("CLOSE");let g=u();q(b,R,L,v,g);continue}G(),m("END")}return o}function xe(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function Oi(e){return e&&e.ignoreCase?"ui":"u"}function Fp(e,t,r){return Si(Ai(e,r),t,r)}function ft(e){switch(e){case 0:return"*";case 1:return"?";case 2:return"+";case 3:return""}}function Si(e,t,r={}){r.delimiter??="/#?",r.prefixes??="./",r.sensitive??=!1,r.strict??=!1,r.end??=!0,r.start??=!0,r.endsWith="";let n=r.start?"^":"";for(let i of e){if(i.type===3){i.modifier===3?n+=xe(i.value):n+=`(?:${xe(i.value)})${ft(i.modifier)}`;continue}t&&t.push(i.name);let c=`[^${xe(r.delimiter)}]+?`,l=i.value;if(i.type===1?l=c:i.type===0&&(l=cn),!i.prefix.length&&!i.suffix.length){i.modifier===3||i.modifier===1?n+=`(${l})${ft(i.modifier)}`:n+=`((?:${l})${ft(i.modifier)})`;continue}if(i.modifier===3||i.modifier===1){n+=`(?:${xe(i.prefix)}(${l})${xe(i.suffix)})`,n+=ft(i.modifier);continue}n+=`(?:${xe(i.prefix)}`,n+=`((?:${l})(?:`,n+=xe(i.suffix),n+=xe(i.prefix),n+=`(?:${l}))*)${xe(i.suffix)})`,i.modifier===0&&(n+="?")}let o=`[${xe(r.endsWith)}]|$`,s=`[${xe(r.delimiter)}]`;if(r.end)return r.strict||(n+=`${s}?`),r.endsWith.length?n+=`(?=${o})`:n+="$",new RegExp(n,Oi(r));r.strict||(n+=`(?:${s}(?=${o}))?`);let a=!1;if(e.length){let i=e[e.length-1];i.type===3&&i.modifier===3&&(a=r.delimiter.indexOf(i)>-1)}return a||(n+=`(?=${s}|${o})`),new RegExp(n,Oi(r))}var Ve={delimiter:"",prefixes:"",sensitive:!0,strict:!0},$p={delimiter:".",prefixes:"",sensitive:!0,strict:!0},Dp={delimiter:"/",prefixes:"/",sensitive:!0,strict:!0};function jp(e,t){return e.length?e[0]==="/"?!0:!t||e.length<2?!1:(e[0]=="\\"||e[0]=="{")&&e[1]=="/":!1}function Mi(e,t){return e.startsWith(t)?e.substring(t.length,e.length):e}function Bp(e,t){return e.endsWith(t)?e.substr(0,e.length-t.length):e}function _i(e){return!e||e.length<2?!1:e[0]==="["||(e[0]==="\\"||e[0]==="{")&&e[1]==="["}var Ui=["ftp","file","http","https","ws","wss"];function Ii(e){if(!e)return!0;for(let t of Ui)if(e.test(t))return!0;return!1}function Hp(e,t){if(e=Mi(e,"#"),t||e==="")return e;let r=new URL("https://example.com");return r.hash=e,r.hash?r.hash.substring(1,r.hash.length):""}function Wp(e,t){if(e=Mi(e,"?"),t||e==="")return e;let r=new URL("https://example.com");return r.search=e,r.search?r.search.substring(1,r.search.length):""}function Gp(e,t){return t||e===""?e:_i(e)?Di(e):$i(e)}function Vp(e,t){if(t||e==="")return e;let r=new URL("https://example.com");return r.password=e,r.password}function Kp(e,t){if(t||e==="")return e;let r=new URL("https://example.com");return r.username=e,r.username}function qp(e,t,r){if(r||e==="")return e;if(t&&!Ui.includes(t))return new URL(`${t}:${e}`).pathname;let n=e[0]=="/";return e=new URL(n?e:"/-"+e,"https://example.com").pathname,n||(e=e.substring(2,e.length)),e}function zp(e,t,r){return Fi(t)===e&&(e=""),r||e===""?e:ji(e)}function Jp(e,t){return e=Bp(e,":"),t||e===""?e:ln(e)}function Fi(e){switch(e){case"ws":case"http":return"80";case"wws":case"https":return"443";case"ftp":return"21";default:return""}}function ln(e){if(e==="")return e;if(/^[-+.A-Za-z0-9]*$/.test(e))return e.toLowerCase();throw new TypeError(`Invalid protocol '${e}'.`)}function Yp(e){if(e==="")return e;let t=new URL("https://example.com");return t.username=e,t.username}function Xp(e){if(e==="")return e;let t=new URL("https://example.com");return t.password=e,t.password}function $i(e){if(e==="")return e;if(/[\t\n\r #%/:<>?@[\]^\\|]/g.test(e))throw new TypeError(`Invalid hostname '${e}'`);let t=new URL("https://example.com");return t.hostname=e,t.hostname}function Di(e){if(e==="")return e;if(/[^0-9a-fA-F[\]:]/g.test(e))throw new TypeError(`Invalid IPv6 hostname '${e}'`);return e.toLowerCase()}function ji(e){if(e===""||/^[0-9]*$/.test(e)&&parseInt(e)<=65535)return e;throw new TypeError(`Invalid port '${e}'.`)}function Qp(e){if(e==="")return e;let t=new URL("https://example.com");return t.pathname=e[0]!=="/"?"/-"+e:e,e[0]!=="/"?t.pathname.substring(2,t.pathname.length):t.pathname}function Zp(e){return e===""?e:new URL(`data:${e}`).pathname}function eu(e){if(e==="")return e;let t=new URL("https://example.com");return t.search=e,t.search.substring(1,t.search.length)}function tu(e){if(e==="")return e;let t=new URL("https://example.com");return t.hash=e,t.hash.substring(1,t.hash.length)}var ru=class{#s;#r=[];#t={};#e=0;#o=1;#a=0;#n=0;#l=0;#p=0;#m=!1;constructor(e){this.#s=e}get result(){return this.#t}parse(){for(this.#r=Ci(this.#s,!0);this.#e<this.#r.length;this.#e+=this.#o){if(this.#o=1,this.#r[this.#e].type==="END"){if(this.#n===0){this.#h(),this.#f()?this.#i(9,1):this.#d()?this.#i(8,1):this.#i(7,0);continue}else if(this.#n===2){this.#x(5);continue}this.#i(10,0);break}if(this.#l>0)if(this.#v())this.#l-=1;else continue;if(this.#k()){this.#l+=1;continue}switch(this.#n){case 0:this.#b()&&this.#x(1);break;case 1:if(this.#b()){this.#P();let e=7,t=1;this.#w()?(e=2,t=3):this.#m&&(e=2),this.#i(e,t)}break;case 2:this.#E()?this.#x(3):(this.#R()||this.#d()||this.#f())&&this.#x(5);break;case 3:this.#T()?this.#i(4,1):this.#E()&&this.#i(5,1);break;case 4:this.#E()&&this.#i(5,1);break;case 5:this.#N()?this.#p+=1:this.#O()&&(this.#p-=1),this.#L()&&!this.#p?this.#i(6,1):this.#R()?this.#i(7,0):this.#d()?this.#i(8,1):this.#f()&&this.#i(9,1);break;case 6:this.#R()?this.#i(7,0):this.#d()?this.#i(8,1):this.#f()&&this.#i(9,1);break;case 7:this.#d()?this.#i(8,1):this.#f()&&this.#i(9,1);break;case 8:this.#f()&&this.#i(9,1);break;case 9:break;case 10:break}}this.#t.hostname!==void 0&&this.#t.port===void 0&&(this.#t.port="")}#i(e,t){switch(this.#n){case 0:break;case 1:this.#t.protocol=this.#u();break;case 2:break;case 3:this.#t.username=this.#u();break;case 4:this.#t.password=this.#u();break;case 5:this.#t.hostname=this.#u();break;case 6:this.#t.port=this.#u();break;case 7:this.#t.pathname=this.#u();break;case 8:this.#t.search=this.#u();break;case 9:this.#t.hash=this.#u();break;case 10:break}this.#n!==0&&e!==10&&([1,2,3,4].includes(this.#n)&&[6,7,8,9].includes(e)&&(this.#t.hostname??=""),[1,2,3,4,5,6].includes(this.#n)&&[8,9].includes(e)&&(this.#t.pathname??=this.#m?"/":""),[1,2,3,4,5,6,7].includes(this.#n)&&e===9&&(this.#t.search??="")),this.#g(e,t)}#g(e,t){this.#n=e,this.#a=this.#e+t,this.#e+=t,this.#o=0}#h(){this.#e=this.#a,this.#o=0}#x(e){this.#h(),this.#n=e}#y(e){return e<0&&(e=this.#r.length-e),e<this.#r.length?this.#r[e]:this.#r[this.#r.length-1]}#c(e,t){let r=this.#y(e);return r.value===t&&(r.type==="CHAR"||r.type==="ESCAPED_CHAR"||r.type==="INVALID_CHAR")}#b(){return this.#c(this.#e,":")}#w(){return this.#c(this.#e+1,"/")&&this.#c(this.#e+2,"/")}#E(){return this.#c(this.#e,"@")}#T(){return this.#c(this.#e,":")}#L(){return this.#c(this.#e,":")}#R(){return this.#c(this.#e,"/")}#d(){if(this.#c(this.#e,"?"))return!0;if(this.#r[this.#e].value!=="?")return!1;let e=this.#y(this.#e-1);return e.type!=="NAME"&&e.type!=="REGEX"&&e.type!=="CLOSE"&&e.type!=="ASTERISK"}#f(){return this.#c(this.#e,"#")}#k(){return this.#r[this.#e].type=="OPEN"}#v(){return this.#r[this.#e].type=="CLOSE"}#N(){return this.#c(this.#e,"[")}#O(){return this.#c(this.#e,"]")}#u(){let e=this.#r[this.#e],t=this.#y(this.#a).index;return this.#s.substring(t,e.index)}#P(){let e={};Object.assign(e,Ve),e.encodePart=ln;let t=Fp(this.#u(),void 0,e);this.#m=Ii(t)}},an=["protocol","username","password","hostname","port","pathname","search","hash"],Ge="*";function Pi(e,t){if(typeof e!="string")throw new TypeError("parameter 1 is not of type 'string'.");let r=new URL(e,t);return{protocol:r.protocol.substring(0,r.protocol.length-1),username:r.username,password:r.password,hostname:r.hostname,port:r.port,pathname:r.pathname,search:r.search!==""?r.search.substring(1,r.search.length):void 0,hash:r.hash!==""?r.hash.substring(1,r.hash.length):void 0}}function Ue(e,t){return t?Lt(e):e}function Tt(e,t,r){let n;if(typeof t.baseURL=="string")try{n=new URL(t.baseURL),t.protocol===void 0&&(e.protocol=Ue(n.protocol.substring(0,n.protocol.length-1),r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&(e.username=Ue(n.username,r)),!r&&t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.username===void 0&&t.password===void 0&&(e.password=Ue(n.password,r)),t.protocol===void 0&&t.hostname===void 0&&(e.hostname=Ue(n.hostname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&(e.port=Ue(n.port,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&(e.pathname=Ue(n.pathname,r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&(e.search=Ue(n.search.substring(1,n.search.length),r)),t.protocol===void 0&&t.hostname===void 0&&t.port===void 0&&t.pathname===void 0&&t.search===void 0&&t.hash===void 0&&(e.hash=Ue(n.hash.substring(1,n.hash.length),r))}catch{throw new TypeError(`invalid baseURL '${t.baseURL}'.`)}if(typeof t.protocol=="string"&&(e.protocol=Jp(t.protocol,r)),typeof t.username=="string"&&(e.username=Kp(t.username,r)),typeof t.password=="string"&&(e.password=Vp(t.password,r)),typeof t.hostname=="string"&&(e.hostname=Gp(t.hostname,r)),typeof t.port=="string"&&(e.port=zp(t.port,e.protocol,r)),typeof t.pathname=="string"){if(e.pathname=t.pathname,n&&!jp(e.pathname,r)){let o=n.pathname.lastIndexOf("/");o>=0&&(e.pathname=Ue(n.pathname.substring(0,o+1),r)+e.pathname)}e.pathname=qp(e.pathname,e.protocol,r)}return typeof t.search=="string"&&(e.search=Wp(t.search,r)),typeof t.hash=="string"&&(e.hash=Hp(t.hash,r)),e}function Lt(e){return e.replace(/([+*?:{}()\\])/g,"\\$1")}function nu(e){return e.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function ou(e,t){t.delimiter??="/#?",t.prefixes??="./",t.sensitive??=!1,t.strict??=!1,t.end??=!0,t.start??=!0,t.endsWith="";let r=".*",n=`[^${nu(t.delimiter)}]+?`,o=/[$_\u200C\u200D\p{ID_Continue}]/u,s="";for(let a=0;a<e.length;++a){let i=e[a];if(i.type===3){if(i.modifier===3){s+=Lt(i.value);continue}s+=`{${Lt(i.value)}}${ft(i.modifier)}`;continue}let c=i.hasCustomName(),l=!!i.suffix.length||!!i.prefix.length&&(i.prefix.length!==1||!t.prefixes.includes(i.prefix)),u=a>0?e[a-1]:null,m=a<e.length-1?e[a+1]:null;if(!l&&c&&i.type===1&&i.modifier===3&&m&&!m.prefix.length&&!m.suffix.length)if(m.type===3){let T=m.value.length>0?m.value[0]:"";l=o.test(T)}else l=!m.hasCustomName();if(!l&&!i.prefix.length&&u&&u.type===3){let T=u.value[u.value.length-1];l=t.prefixes.includes(T)}l&&(s+="{"),s+=Lt(i.prefix),c&&(s+=`:${i.name}`),i.type===2?s+=`(${i.value})`:i.type===1?c||(s+=`(${n})`):i.type===0&&(!c&&(!u||u.type===3||u.modifier!==3||l||i.prefix!=="")?s+="*":s+=`(${r})`),i.type===1&&c&&i.suffix.length&&o.test(i.suffix[0])&&(s+="\\"),s+=Lt(i.suffix),l&&(s+="}"),i.modifier!==3&&(s+=ft(i.modifier))}return s}var Bi=class{#s;#r={};#t={};#e={};#o={};#a=!1;constructor(e={},t,r){try{let n;if(typeof t=="string"?n=t:r=t,typeof e=="string"){let i=new ru(e);if(i.parse(),e=i.result,n===void 0&&typeof e.protocol!="string")throw new TypeError("A base URL must be provided for a relative constructor string.");e.baseURL=n}else{if(!e||typeof e!="object")throw new TypeError("parameter 1 is not of type 'string' and cannot convert to dictionary.");if(n)throw new TypeError("parameter 1 is not of type 'string'.")}typeof r>"u"&&(r={ignoreCase:!1});let o={ignoreCase:r.ignoreCase===!0},s={pathname:Ge,protocol:Ge,username:Ge,password:Ge,hostname:Ge,port:Ge,search:Ge,hash:Ge};this.#s=Tt(s,e,!0),Fi(this.#s.protocol)===this.#s.port&&(this.#s.port="");let a;for(a of an){if(!(a in this.#s))continue;let i={},c=this.#s[a];switch(this.#t[a]=[],a){case"protocol":Object.assign(i,Ve),i.encodePart=ln;break;case"username":Object.assign(i,Ve),i.encodePart=Yp;break;case"password":Object.assign(i,Ve),i.encodePart=Xp;break;case"hostname":Object.assign(i,$p),_i(c)?i.encodePart=Di:i.encodePart=$i;break;case"port":Object.assign(i,Ve),i.encodePart=ji;break;case"pathname":Ii(this.#r.protocol)?(Object.assign(i,Dp,o),i.encodePart=Qp):(Object.assign(i,Ve,o),i.encodePart=Zp);break;case"search":Object.assign(i,Ve,o),i.encodePart=eu;break;case"hash":Object.assign(i,Ve,o),i.encodePart=tu;break}try{this.#o[a]=Ai(c,i),this.#r[a]=Si(this.#o[a],this.#t[a],i),this.#e[a]=ou(this.#o[a],i),this.#a=this.#a||this.#o[a].some(l=>l.type===2)}catch{throw new TypeError(`invalid ${a} pattern '${this.#s[a]}'.`)}}}catch(n){throw new TypeError(`Failed to construct 'URLPattern': ${n.message}`)}}test(e={},t){let r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof e!="string"&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return!1;try{typeof e=="object"?r=Tt(r,e,!1):r=Tt(r,Pi(e,t),!1)}catch{return!1}let n;for(n of an)if(!this.#r[n].exec(r[n]))return!1;return!0}exec(e={},t){let r={pathname:"",protocol:"",username:"",password:"",hostname:"",port:"",search:"",hash:""};if(typeof e!="string"&&t)throw new TypeError("parameter 1 is not of type 'string'.");if(typeof e>"u")return;try{typeof e=="object"?r=Tt(r,e,!1):r=Tt(r,Pi(e,t),!1)}catch{return null}let n={};t?n.inputs=[e,t]:n.inputs=[e];let o;for(o of an){let s=this.#r[o].exec(r[o]);if(!s)return null;let a={};for(let[i,c]of this.#t[o].entries())if(typeof c=="string"||typeof c=="number"){let l=s[i+1];a[c]=l}n[o]={input:r[o]??"",groups:a}}return n}static compareComponent(e,t,r){let n=(i,c)=>{for(let l of["type","modifier","prefix","value","suffix"]){if(i[l]<c[l])return-1;if(i[l]!==c[l])return 1}return 0},o=new kt(3,"","","","",3),s=new kt(0,"","","","",3),a=(i,c)=>{let l=0;for(;l<Math.min(i.length,c.length);++l){let u=n(i[l],c[l]);if(u)return u}return i.length===c.length?0:n(i[l]??o,c[l]??o)};return!t.#e[e]&&!r.#e[e]?0:t.#e[e]&&!r.#e[e]?a(t.#o[e],[s]):!t.#e[e]&&r.#e[e]?a([s],r.#o[e]):a(t.#o[e],r.#o[e])}get protocol(){return this.#e.protocol}get username(){return this.#e.username}get password(){return this.#e.password}get hostname(){return this.#e.hostname}get port(){return this.#e.port}get pathname(){return this.#e.pathname}get search(){return this.#e.search}get hash(){return this.#e.hash}get hasRegExpGroups(){return this.#a}};globalThis.URLPattern||(globalThis.URLPattern=Bi);var Hi,Wi=async(e,t)=>(Hi??=Kt({wasmModule:e,workerURL:t}),await Hi,async r=>{let{outputFiles:n}=await Gt({entryPoints:[r],format:"esm",bundle:!0,minify:!0,charset:"utf8",plugins:[vs(),Ni({fetch:su,reload:[new URLPattern({hostname:location.hostname}),new URLPattern({hostname:"scrapbox.io"})]})],write:!1});return{contents:n[0].text}}),su=async(e,t)=>{let r=_s(new URL(e.url))||!GM_fetch?globalThis.fetch:GM_fetch;if(t){let n=await pn(e);if(n)return n}try{let n=await r(e);return n.ok?(r===GM_fetch&&!e.url.startsWith("data:")&&await Ot(e,n),K([n,!1])):await pn(e)??$({name:"HTTPError",message:`${n.status} ${n.statusText}`,response:n})}catch(n){let o=await pn(e);if(o)return o;if(n instanceof TypeError)return $({name:"NetworkError",message:n.message,request:e});if(n instanceof DOMException)return $({name:"AbortError",message:n.message,request:e});throw n}},pn=async e=>{if(e.url.startsWith("data:"))return;let t=await Nt(e);if(t)return t.url||Object.defineProperty(t,"url",{value:e.url}),K([t,!0])};var Gi=e=>["ts","js","tsx","jsx","mjs","javascript","typescript"].includes(e);var Vi=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-check-circle-fill"),e.style.color="hsl(133, 46.1%, 47.3%)",e},Ki=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-cross-circle"),e.style.color="hsl(1.7, 64.5%, 58%)",e},qi=()=>{let e=document.createElement("i");return e.classList.add("i","fa","fa-spinner"),e},zi=()=>{let e=document.createElement("i");return e.classList.add("kamon","kamon-play"),e};var Ji=()=>{let e;return{show:(n,{x:o,y:s})=>{e=iu(),e.append(au(n)),e.style.visibility="hidden",document.body.append(e);let{height:a}=e.getBoundingClientRect();e.style.top=`${s-a}px`,e.style.left=`${o}px`,e.style.removeProperty("visibility")},hide:async()=>{e?.classList?.remove?.("in"),await new Promise(n=>setTimeout(n,150)),e?.remove?.()}}},iu=()=>{let e=document.createElement("div");return e.setAttribute("role","tooltip"),e.classList.add("fade","in","tooltip","top"),e},au=e=>{let t=document.createElement("pre");return t.classList.add("tooltip-inner"),t.style.textAlign="unset",t.style.maxWidth="70vw",t.style.margin="unset",t.innerText=e,t};var Yi=()=>{let e=document.createElement("a");e.classList.add("tool-btn"),e.type="button",e.setAttribute("aria-haspopup","true");let t=!1,{show:r,hide:n}=Ji();return{component:e,setStatus:async(s,a)=>{switch(e.textContent="",await n(),s){case"loading":e.append(qi());break;case"pass":e.append(Vi());break;case"fail":e.append(Ki());break;case"none":break}a!==void 0&&s!=="none"?(e.style.removeProperty("pointer-events"),e.onclick=async()=>{if(t)await n();else{let{top:i,left:c}=e.getBoundingClientRect();r(a,{y:i+globalThis.scrollY,x:c})}t=!t}):e.style.pointerEvents="none"}}};var Xi=e=>{let t=document.createElement("a");return t.classList.add("tool-btn"),t.type="button",t.setAttribute("aria-haspopup","true"),t.append(zi()),t.addEventListener("click",e),t};var Qi=e=>{let{component:t,setStatus:r}=Yi(),n=document.createElement("div");return n.style.position="absolute",n.style.left="-2em",n.style.zIndex="1",n.style.display="flex",n.style.flexFlow="column",n.append(Xi(e),t),{menu:n,setStatus:r}};function Zi(e){return new Promise(t=>setTimeout(t,e))}function ea(e,t){let{trailing:r=!1,interval:n=0}=t??{},o,s=!1,a=l=>{o?.resolve?.({executed:!1}),o=l},i=()=>{let{...l}=o;return o=void 0,l},c=async()=>{if(s||!o)return;s=!0,n>0&&await Zi(n);let{parameters:l,resolve:u,reject:m}=i();try{let T=await e(...l);s=!1,u({result:T,executed:!0})}catch(T){s=!1,m(T)}finally{r?await c():(a(),await Promise.resolve())}};return(...l)=>new Promise((u,m)=>{a({parameters:l,resolve:u,reject:m}),c()})}var ta,ra=async(e,t)=>{let r=[],o=ea(async()=>{r.forEach(({menu:a,setStatus:i})=>{i("none"),a.remove()});let s=Wo(scrapbox.Project.name,scrapbox.Page.title??"",Er());for(let a of s){let i=a.lang.toLowerCase();if(Gi(i))for(let c of a.startIds){let l=document.getElementById(`L${c}`),{menu:u,setStatus:m}=Qi(async()=>{await m("loading");try{ta??=await Wi(e,t);let{contents:T}=await ta(a.path);console.debug("execute:",T),await Function(`return (async()=>{${T}})()`)(),await m("pass")}catch(T){console.error(T),await m("fail",`${T}`)}});r.push({menu:u,setStatus:m}),l?.insertBefore?.(u,l?.firstElementChild)}}await Promise.resolve()},{interval:100,trailing:!0});return await o(),scrapbox.addListener("lines:changed",o),()=>{scrapbox.removeListener("lines:changed",o),r.forEach(({menu:s,setStatus:a})=>{a("none"),s.remove()})}};var cu="https://scrapbox.io/files/6730bb5886d646fa1d630a2a.wasm",lu="https://scrapbox.io/api/code/yosider-scripts/esbuild-wasm-no-blob-min/worker.js";(async()=>{let e=new Request(cu),t=await Nt(e)||await pu(e);await ra(await WebAssembly.compileStreaming(t),lu)})();async function pu(e){let t=await fetch(e);return await Ot(e,t),t}
/** @license
* esbuild-wasm@v0.21.5
*
* MIT License
*
* Copyright (c) 2020 Evan Wallace
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/