From 3b72d70913286886460a2a55bab2b846d561dbb1 Mon Sep 17 00:00:00 2001 From: Nikola Hristov Date: Sun, 21 Jul 2024 13:42:52 +0300 Subject: [PATCH] --- .astro/settings.json | 5 ++ .gitignore | 5 -- ...astro_type_script_index_0_lang.Dtd61yrY.js | 68 +++++++++++++++++++ ...o_type_script_index_0_lang.Dtd61yrY.js.map | 1 + ...o_type_script_index_1_lang.D4DYKVOQ.js.map | 1 + ...astro_type_script_index_0_lang.Oozc_hRb.js | 1 + ...o_type_script_index_0_lang.Oozc_hRb.js.map | 1 + Target/_astro/client.CMMtWkl7.js | 1 + Target/_astro/client.CMMtWkl7.js.map | 1 + Target/_astro/index.CHfFPdCe.css | 1 + Target/_astro/index.esm.CQlgJgN2.js | 1 + Target/_astro/index.esm.CQlgJgN2.js.map | 1 + Target/_astro/page.CY1iZwUD.js | 1 + Target/_astro/page.CY1iZwUD.js.map | 1 + Target/_noop-middleware.mjs.map | 1 + Target/chunks/astro/server_DwPjJgUO.mjs.map | 1 + Target/chunks/astro_C8nWLmGL.mjs.map | 1 + Target/chunks/index_Bg_iqmtW.mjs.map | 1 + Target/index.html | 1 + Target/manifest_BAqSMC3n.mjs.map | 1 + Target/pages/index.astro.mjs.map | 1 + Target/renderers.mjs.map | 1 + Target/robots.txt | 2 + Target/site.webmanifest | 10 +++ package.json | 8 ++- postcss.config.js | 3 +- 26 files changed, 110 insertions(+), 10 deletions(-) create mode 100644 .astro/settings.json create mode 100644 Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js create mode 100644 Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js.map create mode 100644 Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map create mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js create mode 100644 Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js.map create mode 100644 Target/_astro/client.CMMtWkl7.js create mode 100644 Target/_astro/client.CMMtWkl7.js.map create mode 100644 Target/_astro/index.CHfFPdCe.css create mode 100644 Target/_astro/index.esm.CQlgJgN2.js create mode 100644 Target/_astro/index.esm.CQlgJgN2.js.map create mode 100644 Target/_astro/page.CY1iZwUD.js create mode 100644 Target/_astro/page.CY1iZwUD.js.map create mode 100644 Target/_noop-middleware.mjs.map create mode 100644 Target/chunks/astro/server_DwPjJgUO.mjs.map create mode 100644 Target/chunks/astro_C8nWLmGL.mjs.map create mode 100644 Target/chunks/index_Bg_iqmtW.mjs.map create mode 100644 Target/index.html create mode 100644 Target/manifest_BAqSMC3n.mjs.map create mode 100644 Target/pages/index.astro.mjs.map create mode 100644 Target/renderers.mjs.map create mode 100644 Target/robots.txt create mode 100644 Target/site.webmanifest diff --git a/.astro/settings.json b/.astro/settings.json new file mode 100644 index 00000000..23c08a36 --- /dev/null +++ b/.astro/settings.json @@ -0,0 +1,5 @@ +{ + "_variables": { + "lastUpdateCheck": 1715187810205 + } +} diff --git a/.gitignore b/.gitignore index a3954993..3d838acb 100644 --- a/.gitignore +++ b/.gitignore @@ -7,8 +7,3 @@ yarn-error.log* # environment variables .env.production - -# macOS-specific files - -Target/ -.astro diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js new file mode 100644 index 00000000..5cea6b21 --- /dev/null +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js @@ -0,0 +1,68 @@ +const p = "modulepreload", + f = function (o) { + return "/" + o; + }, + c = {}, + h = function (l, s, E) { + let a = Promise.resolve(); + if (s && s.length > 0) { + document.getElementsByTagName("link"); + const r = document.querySelector("meta[property=csp-nonce]"), + n = r?.nonce || r?.getAttribute("nonce"); + a = Promise.all( + s.map((e) => { + if (((e = f(e)), e in c)) return; + c[e] = !0; + const i = e.endsWith(".css"), + u = i ? '[rel="stylesheet"]' : ""; + if (document.querySelector(`link[href="${e}"]${u}`)) return; + const t = document.createElement("link"); + if ( + ((t.rel = i ? "stylesheet" : p), + i || ((t.as = "script"), (t.crossOrigin = "")), + (t.href = e), + n && t.setAttribute("nonce", n), + document.head.appendChild(t), + i) + ) + return new Promise((d, m) => { + t.addEventListener("load", d), + t.addEventListener("error", () => + m( + new Error( + `Unable to preload CSS for ${e}`, + ), + ), + ); + }); + }), + ); + } + return a + .then(() => l()) + .catch((r) => { + const n = new Event("vite:preloadError", { cancelable: !0 }); + if ( + ((n.payload = r), + window.dispatchEvent(n), + !n.defaultPrevented) + ) + throw r; + }); + }; +( + await h(async () => { + const { initializeApp: o } = await import("./index.esm.CQlgJgN2.js"); + return { initializeApp: o }; + }, []) +).initializeApp({ + apiKey: "", + appId: "", + authDomain: "", + databaseURL: "", + measurementId: "", + messagingSenderId: "", + projectId: "", + storageBucket: "", +}); +//# sourceMappingURL=Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js.map diff --git a/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js.map b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js.map new file mode 100644 index 00000000..6dec75c0 --- /dev/null +++ b/Target/_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"w3BAAgB,MAAMA,EAAA,8BAAAC,CAAA,eAAO,yBAAc,uBAAAA,CAAA,QAAG,cAAc,CAC3D,OAAQ,GACR,MAAO,GACP,WAAY,GACZ,YAAa,GACb,cAAe,GACf,kBAAmB,GACnB,UAAW,GACX,cAAe,EAChB,CAAC","names":["__vitePreload","initializeApp"],"ignoreList":[],"sources":["../../Source/Script/Firebase.ts"],"sourcesContent":["export default (await import(\"firebase/app\")).initializeApp({\n\tapiKey: \"\", // TODO Replace with your API key\n\tappId: \"\", // TODO Replace with your app ID\n\tauthDomain: \"\", // TODO Replace with your auth domain\n\tdatabaseURL: \"\", // TODO Replace with your database URL\n\tmeasurementId: \"\", // TODO Replace with your measurement ID\n\tmessagingSenderId: \"\", // TODO Replace with your messaging sender ID\n\tprojectId: \"\", // TODO Replace with your project ID\n\tstorageBucket: \"\", // TODO Replace with your storage bucket\n});\n"],"file":"_astro/Base.astro_astro_type_script_index_0_lang.Dtd61yrY.js"} \ No newline at end of file diff --git a/Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map b/Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map new file mode 100644 index 00000000..cfe08d97 --- /dev/null +++ b/Target/_astro/Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Base.astro_astro_type_script_index_1_lang.D4DYKVOQ.js","sources":["../../Source/Layout/Base.astro?astro&type=script&index=1&lang.ts"],"sourcesContent":["\t\t\tdocument.documentElement.classList.remove(\"no-js\");\n\t\t\tdocument.documentElement.classList.add(\"js\");\n\t\t\n\n\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyAidmVyc2lvbiI6IDMsICJzb3VyY2VzIjogWyJEOi9EZXZlbG9wZXIvQXBwbGljYXRpb24vUGxheUZvcm0vTlBNL1N0YXJ0ZXIvU291cmNlL0xheW91dC9CYXNlLmFzdHJvIl0sICJzb3VyY2VzQ29udGVudCI6IFsiLS0tXG5pbXBvcnQgXCJAU3R5bGVzaGVldC9CYXNlLmNzc1wiO1xuXG4vLyBUT0RPIFBsYWNlIHlvdXIgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIGhlcmVcbmNvbnN0IHsgVGl0bGUgPSBcIlwiLCBEZXNjcmlwdGlvbiA9IFwiXCIgfSA9IEFzdHJvLnByb3BzO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuXHRUaXRsZT86IHN0cmluZztcblx0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbmltcG9ydCB7IEhlYWQgfSBmcm9tIFwiYXN0cm8tY2Fwb1wiO1xuaW1wb3J0IHsgVmlld1RyYW5zaXRpb25zIH0gZnJvbSBcImFzdHJvOnRyYW5zaXRpb25zXCI7XG4tLS1cblxuXHUwMDNjIWRvY3R5cGUgaHRtbFx1MDAzZVxuXHUwMDNjaHRtbCBsYW5nPVwiZW5cIiBjbGFzcz1cIm5vLWpzXCIgZGlyPVwibHRyXCJcdTAwM2Vcblx0XHUwMDNjSGVhZFx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJuby1qc1wiKTtcblx0XHRcdGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuYWRkKFwianNcIik7XG5cdFx0XHUwMDNjL3NjcmlwdFx1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIE1ldGEgLS1cdTAwM2Vcblx0XHRcdTAwM2N0aXRsZVx1MDAzZXtUaXRsZX1cdTAwM2MvdGl0bGVcdTAwM2Vcblx0XHRcdTAwM2NtZXRhIGNoYXJzZXQ9XCJ1dGYtOFwiIC9cdTAwM2Vcblx0XHRcdTAwM2NtZXRhIG5hbWU9XCJkZXNjcmlwdGlvblwiIGNvbnRlbnQ9e0Rlc2NyaXB0aW9ufSAvXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wXCIgL1x1MDAzZVxuXHRcdFx1MDAzYyEtLSBUT0RPIERlZmluZSB5b3VyIGNvbG9yIHRoZW1lIGluIGhleCBoZXJlIC0tXHUwMDNlXG5cdFx0XHUwMDNjbWV0YSBuYW1lPVwidGhlbWUtY29sb3JcIiBjb250ZW50PVwiXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cImZvcm1hdC1kZXRlY3Rpb25cIiBjb250ZW50PVwidGVsZXBob25lPW5vXCIgL1x1MDAzZVxuXHRcdFx1MDAzY21ldGEgbmFtZT1cInR3aXR0ZXI6ZG50XCIgY29udGVudD1cIm9uXCIgL1x1MDAzZVxuXG5cdFx0XHUwMDNjIS0tIExpbmtzIC0tXHUwMDNlXG5cdFx0XHUwMDNjbGlua1xuXHRcdFx0cmVsPVwicHJlY29ubmVjdFwiXG5cdFx0XHRocmVmPVwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbVwiXG5cdFx0XHRjcm9zc29yaWdpblxuXHRcdC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rIHJlbD1cInByZWNvbm5lY3RcIiBocmVmPVwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbVwiIGNyb3Nzb3JpZ2luIC9cdTAwM2Vcblx0XHRcdTAwM2NsaW5rXG5cdFx0XHRyZWw9XCJtYW5pZmVzdFwiXG5cdFx0XHRocmVmPVwiL3NpdGUud2VibWFuaWZlc3RcIlxuXHRcdFx0Y3Jvc3NvcmlnaW49XCJ1c2UtY3JlZGVudGlhbHNcIlxuXHRcdC9cdTAwM2VcblxuXHRcdFx1MDAzY3N0eWxlIGlzOmdsb2JhbFx1MDAzZVxuXHRcdFx0QGltcG9ydCBcIkBTdHlsZXNoZWV0L0dsb2JhbC5jc3NcIjtcblx0XHRcdTAwM2Mvc3R5bGVcdTAwM2VcblxuXHRcdFx1MDAzYyEtLSBGYXZpY29uIC0tXHUwMDNlXG5cdFx0XHUwMDNjVmlld1RyYW5zaXRpb25zIC9cdTAwM2Vcblx0XHUwMDNjL0hlYWRcdTAwM2Vcblx0XHUwMDNjYm9keVx1MDAzZVxuXHRcdFx1MDAzY2RpdiBjbGFzcz1cImdyb3dcIlx1MDAzZVxuXHRcdFx0XHUwMDNjc2xvdCAvXHUwMDNlXG5cdFx0XHUwMDNjL2Rpdlx1MDAzZVxuXHRcdFx1MDAzY3NjcmlwdFx1MDAzZVxuXHRcdFx0aW1wb3J0IFwiQFNjcmlwdC9GaXJlYmFzZVwiO1xuXHRcdFx1MDAzYy9zY3JpcHRcdTAwM2Vcblx0XHUwMDNjL2JvZHlcdTAwM2Vcblx1MDAzYy9odG1sXHUwMDNlIl0sICJtYXBwaW5ncyI6ICJBQW1CQSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMvQztBQUFBOyIsICJuYW1lcyI6IFtdIH0="],"names":[],"mappings":"AAmBG,SAAS,gBAAgB,UAAU,OAAO,OAAO,EACjD,SAAS,gBAAgB,UAAU,IAAI,IAAI"} \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js new file mode 100644 index 00000000..a96bfebc --- /dev/null +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js @@ -0,0 +1 @@ +const b="data-astro-transition-persist";function J(e){for(const t of document.scripts)for(const n of e.scripts)if(!n.hasAttribute("data-astro-rerun")&&(!t.src&&t.textContent===n.textContent||t.src&&t.type===n.type&&t.src===n.src)){n.dataset.astroExec="";break}}function Q(e){const t=document.documentElement,n=[...t.attributes].filter((({name:e})=>(t.removeAttribute(e),e.startsWith("data-astro-"))));[...e.documentElement.attributes,...n].forEach((({name:e,value:n})=>t.setAttribute(e,n)))}function Z(e){for(const t of Array.from(document.head.children)){const n=ne(t,e);n?n.remove():t.remove()}document.head.append(...e.head.children)}function ee(e,t){t.replaceWith(e);for(const n of t.querySelectorAll(`[${b}]`)){const t=n.getAttribute(b),o=e.querySelector(`[${b}="${t}"]`);o&&(o.replaceWith(n),"astro-island"===o.localName&&oe(n)&&(n.setAttribute("ssr",""),n.setAttribute("props",o.getAttribute("props"))))}}const te=()=>{const e=document.activeElement;if(e?.closest(`[${b}]`)){if(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement){const t=e.selectionStart,n=e.selectionEnd;return()=>R({activeElement:e,start:t,end:n})}return()=>R({activeElement:e})}return()=>R({activeElement:null})},R=({activeElement:e,start:t,end:n})=>{e&&(e.focus(),(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement)&&("number"==typeof t&&(e.selectionStart=t),"number"==typeof n&&(e.selectionEnd=n)))},ne=(e,t)=>{const n=e.getAttribute(b),o=n&&t.head.querySelector(`[${b}="${n}"]`);if(o)return o;if(e.matches("link[rel=stylesheet]")){const n=e.getAttribute("href");return t.head.querySelector(`link[rel=stylesheet][href="${n}"]`)}return null},oe=e=>{const t=e.dataset.astroTransitionPersistProps;return null==t||"false"===t},re=e=>{J(e),Q(e),Z(e);const t=te();ee(e.body,document.body),t()},ie="astro:before-preparation",se="astro:after-preparation",ae="astro:before-swap",ce="astro:after-swap",le=e=>document.dispatchEvent(new Event(e));class $ extends Event{from;to;direction;navigationType;sourceElement;info;newDocument;signal;constructor(e,t,n,o,r,i,a,s,c,l){super(e,t),this.from=n,this.to=o,this.direction=r,this.navigationType=i,this.sourceElement=a,this.info=s,this.newDocument=c,this.signal=l,Object.defineProperties(this,{from:{enumerable:!0},to:{enumerable:!0,writable:!0},direction:{enumerable:!0,writable:!0},navigationType:{enumerable:!0},sourceElement:{enumerable:!0},info:{enumerable:!0},newDocument:{enumerable:!0,writable:!0},signal:{enumerable:!0}})}}class ue extends ${formData;loader;constructor(e,t,n,o,r,i,a,s,c,l){super(ie,{cancelable:!0},e,t,n,o,r,i,a,s),this.formData=c,this.loader=l.bind(this,this),Object.defineProperties(this,{formData:{enumerable:!0},loader:{enumerable:!0,writable:!0}})}}class fe extends ${direction;viewTransition;swap;constructor(e,t){super(ae,void 0,e.from,e.to,e.direction,e.navigationType,e.sourceElement,e.info,e.newDocument,e.signal),this.direction=e.direction,this.viewTransition=t,this.swap=()=>re(this.newDocument),Object.defineProperties(this,{direction:{enumerable:!0},viewTransition:{enumerable:!0},swap:{enumerable:!0,writable:!0}})}}async function de(e,t,n,o,r,i,a,s,c){const l=new ue(e,t,n,o,r,i,window.document,a,s,c);return document.dispatchEvent(l)&&(await l.loader(),l.defaultPrevented||(le(se),"traverse"!==l.navigationType&&D({scrollX:scrollX,scrollY:scrollY}))),l}function me(e,t){const n=new fe(e,t);return document.dispatchEvent(n),n.swap(),n}const he=history.pushState.bind(history),T=history.replaceState.bind(history),D=e=>{history.state&&(history.scrollRestoration="manual",T({...history.state,...e},""))},x=!!document.startViewTransition,I=()=>!!document.querySelector('[name="astro-view-transitions-enabled"]'),q=(e,t)=>e.pathname===t.pathname&&e.search===t.search;let d,w,E;const U=e=>document.dispatchEvent(new Event(e)),B=()=>U("astro:page-load"),pe=()=>{let e=document.createElement("div");e.setAttribute("aria-live","assertive"),e.setAttribute("aria-atomic","true"),e.className="astro-route-announcer",document.body.append(e),setTimeout((()=>{let t=document.title||document.querySelector("h1")?.textContent||location.pathname;e.textContent=t}),60)},H="data-astro-transition-persist",M="data-astro-transition",P="data-astro-transition-fallback";let O,y=0;async function we(e,t){try{const n=await fetch(e,t),o=(n.headers.get("content-type")??"").split(";",1)[0].trim();return"text/html"!==o&&"application/xhtml+xml"!==o?null:{html:await n.text(),redirected:n.redirected?n.url:void 0,mediaType:o}}catch{return null}}function V(){const e=document.querySelector('[name="astro-view-transitions-fallback"]');return e?e.getAttribute("content"):"animate"}function ge(){let e=Promise.resolve();for(const t of Array.from(document.scripts)){if(""===t.dataset.astroExec)continue;const n=t.getAttribute("type");if(n&&"module"!==n&&"text/javascript"!==n)continue;const o=document.createElement("script");o.innerHTML=t.innerHTML;for(const n of t.attributes){if("src"===n.name){const t=new Promise((e=>{o.onload=o.onerror=e}));e=e.then((()=>t))}o.setAttribute(n.name,n.value)}o.dataset.astroExec="",t.replaceWith(o)}return e}history.state?(y=history.state.index,scrollTo({left:history.state.scrollX,top:history.state.scrollY})):I()&&(T({index:y,scrollX:scrollX,scrollY:scrollY},""),history.scrollRestoration="manual");const W=(e,t,n,o,r)=>{const i=q(t,e),a=document.title;document.title=o;let s=!1;if(e.href!==location.href&&!r)if("replace"===n.history){const t=history.state;T({...n.state,index:t.index,scrollX:t.scrollX,scrollY:t.scrollY},"",e.href)}else he({...n.state,index:++y,scrollX:0,scrollY:0},"",e.href);if(document.title=a,E=e,i||(scrollTo({left:0,top:0,behavior:"instant"}),s=!0),r)scrollTo(r.scrollX,r.scrollY);else{if(e.hash){history.scrollRestoration="auto";const t=history.state;location.href=e.href,history.state||(T(t,""),i&&window.dispatchEvent(new PopStateEvent("popstate")))}else s||scrollTo({left:0,top:0,behavior:"instant"});history.scrollRestoration="manual"}};function be(e){const t=[];for(const n of e.querySelectorAll("head link[rel=stylesheet]"))if(!document.querySelector(`[${H}="${n.getAttribute(H)}"], link[rel=stylesheet][href="${n.getAttribute("href")}"]`)){const e=document.createElement("link");e.setAttribute("rel","preload"),e.setAttribute("as","style"),e.setAttribute("href",n.getAttribute("href")),t.push(new Promise((t=>{["load","error"].forEach((n=>e.addEventListener(n,t))),document.head.append(e)})))}return t}async function F(e,t,n,o,r){async function i(e){const t=document.getAnimations();document.documentElement.setAttribute(P,e);const n=document.getAnimations().filter((e=>!t.includes(e)&&!function(e){const t=e.effect;return!!(t&&t instanceof KeyframeEffect&&t.target)&&"infinite"===window.getComputedStyle(t.target,t.pseudoElement).animationIterationCount}(e)));return Promise.allSettled(n.map((e=>e.finished)))}if("animate"===r&&!n.transitionSkipped&&!e.signal.aborted)try{await i("old")}catch{}const a=document.title,s=me(e,n.viewTransition);W(s.to,s.from,t,a,o),U(ce),"animate"===r&&(n.transitionSkipped||s.signal.aborted?n.viewTransitionFinished():i("new").finally((()=>n.viewTransitionFinished())))}function ye(){return d?.controller.abort(),d={controller:new AbortController}}async function j(e,t,n,o,r){const i=ye();if(!I()||location.origin!==n.origin)return i===d&&(d=void 0),void(location.href=n.href);const a=r?"traverse":"replace"===o.history?"replace":"push";if("traverse"!==a&&D({scrollX:scrollX,scrollY:scrollY}),q(t,n)&&("back"!==e&&n.hash||"back"===e&&t.hash))return W(n,t,o,document.title,r),void(i===d&&(d=void 0));const s=await de(t,n,e,a,o.sourceElement,o.info,i.controller.signal,o.formData,(async function(e){const t=e.to.href,n={signal:e.signal};if(e.formData){n.method="POST";const t=e.sourceElement instanceof HTMLFormElement?e.sourceElement:e.sourceElement instanceof HTMLElement&&"form"in e.sourceElement?e.sourceElement.form:e.sourceElement?.closest("form");n.body="application/x-www-form-urlencoded"===t?.attributes.getNamedItem("enctype")?.value?new URLSearchParams(e.formData):e.formData}const o=await we(t,n);if(null===o)return void e.preventDefault();if(o.redirected){const t=new URL(o.redirected);if(t.origin!==e.to.origin)return void e.preventDefault();e.to=t}if(O??=new DOMParser,e.newDocument=O.parseFromString(o.html,o.mediaType),e.newDocument.querySelectorAll("noscript").forEach((e=>e.remove())),!e.newDocument.querySelector('[name="astro-view-transitions-enabled"]')&&!e.formData)return void e.preventDefault();const r=be(e.newDocument);r.length&&!e.signal.aborted&&await Promise.all(r)}));if(s.defaultPrevented||s.signal.aborted)return i===d&&(d=void 0),void(s.signal.aborted||(location.href=n.href));const c=await async function(){if(w&&w.viewTransition){try{w.viewTransition.skipTransition()}catch{}try{await w.viewTransition.updateCallbackDone}catch{}}return w={transitionSkipped:!1}}();if(s.signal.aborted)i===d&&(d=void 0);else{if(document.documentElement.setAttribute(M,s.direction),x)c.viewTransition=document.startViewTransition((async()=>await F(s,o,c,r)));else{const e=(async()=>{await Promise.resolve(),await F(s,o,c,r,V())})();c.viewTransition={updateCallbackDone:e,ready:e,finished:new Promise((e=>c.viewTransitionFinished=e)),skipTransition:()=>{c.transitionSkipped=!0,document.documentElement.removeAttribute(P)}}}c.viewTransition.updateCallbackDone.finally((async()=>{await ge(),B(),pe()})),c.viewTransition.finished.finally((()=>{c.viewTransition=void 0,c===w&&(w=void 0),i===d&&(d=void 0),document.documentElement.removeAttribute(M),document.documentElement.removeAttribute(P)}));try{await c.viewTransition.updateCallbackDone}catch(e){const t=e;console.log("[astro]",t.name,t.message,t.stack)}}}async function C(e,t){await j("forward",E,new URL(e,location.href),t??{})}function ve(e){if(!I()&&e.state)return void location.reload();if(null===e.state)return;const t=history.state,n=t.index,o=n>y?"forward":"back";y=n,j(o,E,new URL(location.href),{},t)}const X=()=>{history.state&&(scrollX!==history.state.scrollX||scrollY!==history.state.scrollY)&&D({scrollX:scrollX,scrollY:scrollY})};if(x||"none"!==V())if(E=new URL(location.href),addEventListener("popstate",ve),addEventListener("load",B),"onscrollend"in window)addEventListener("scrollend",X);else{let e,t,n,o;const r=()=>o!==history.state?.index?(clearInterval(e),void(e=void 0)):t===scrollY&&n===scrollX?(clearInterval(e),e=void 0,void X()):(t=scrollY,void(n=scrollX));addEventListener("scroll",(()=>{void 0===e&&(o=history.state.index,t=scrollY,n=scrollX,e=window.setInterval(r,50))}),{passive:!0})}for(const e of document.scripts)e.dataset.astroExec="";const K=new Set,A=new WeakSet;let k,G,Y=!1;function Te(e){Y||(Y=!0,k??=e?.prefetchAll??!1,G??=e?.defaultStrategy??"hover",Ae(),Ee(),Se(),Re())}function Ae(){for(const e of["touchstart","mousedown"])document.body.addEventListener(e,(e=>{v(e.target,"tap")&&S(e.target.href,{ignoreSlowConnection:!0})}),{passive:!0})}function Ee(){let e;function t(t){const n=t.target.href;e&&clearTimeout(e),e=setTimeout((()=>{S(n)}),80)}function n(){e&&(clearTimeout(e),e=0)}document.body.addEventListener("focusin",(e=>{v(e.target,"hover")&&t(e)}),{passive:!0}),document.body.addEventListener("focusout",n,{passive:!0}),N((()=>{for(const e of document.getElementsByTagName("a"))A.has(e)||v(e,"hover")&&(A.add(e),e.addEventListener("mouseenter",t,{passive:!0}),e.addEventListener("mouseleave",n,{passive:!0}))}))}function Se(){let e;N((()=>{for(const t of document.getElementsByTagName("a"))A.has(t)||v(t,"viewport")&&(A.add(t),e??=Le(),e.observe(t))}))}function Le(){const e=new WeakMap;return new IntersectionObserver(((t,n)=>{for(const o of t){const t=o.target,r=e.get(t);o.isIntersecting?(r&&clearTimeout(r),e.set(t,setTimeout((()=>{n.unobserve(t),e.delete(t),S(t.href)}),300))):r&&(clearTimeout(r),e.delete(t))}}))}function Re(){N((()=>{for(const e of document.getElementsByTagName("a"))v(e,"load")&&S(e.href)}))}function S(e,t){if(Pe(e,t?.ignoreSlowConnection??!1))if(K.add(e),document.createElement("link").relList?.supports?.("prefetch")&&"fetch"!==t?.with){const t=document.createElement("link");t.rel="prefetch",t.setAttribute("href",e),document.head.append(t)}else fetch(e,{priority:"low"})}function Pe(e,t){if(!navigator.onLine||!t&&z())return!1;try{const t=new URL(e,location.href);return location.origin===t.origin&&(location.pathname!==t.pathname||location.search!==t.search)&&!K.has(e)}catch{}return!1}function v(e,t){if("A"!==e?.tagName)return!1;const n=e.dataset.astroPrefetch;return"false"!==n&&(!("tap"!==t||null==n&&!k||!z())||(null==n&&k||""===n?t===G:n===t))}function z(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function N(e){e();let t=!1;document.addEventListener("astro:page-load",(()=>{t?e():t=!0}))}function ke(){const e=document.querySelector('[name="astro-view-transitions-fallback"]');return e?e.getAttribute("content"):"animate"}function _(e){return void 0!==e.dataset.astroReload}(x||"none"!==ke())&&(document.addEventListener("click",(e=>{let t=e.target;if(e.composed&&(t=e.composedPath()[0]),t instanceof Element&&(t=t.closest("a, area")),!(t instanceof HTMLAnchorElement||t instanceof SVGAElement||t instanceof HTMLAreaElement))return;const n=t instanceof HTMLElement?t.target:t.target.baseVal,o=t instanceof HTMLElement?t.href:t.href.baseVal,r=new URL(o,location.href).origin;_(t)||t.hasAttribute("download")||!t.href||n&&"_self"!==n||r!==location.origin||0!==e.button||e.metaKey||e.ctrlKey||e.altKey||e.shiftKey||e.defaultPrevented||(e.preventDefault(),C(o,{history:"replace"===t.dataset.astroHistory?"replace":"auto",sourceElement:t}))})),document.addEventListener("submit",(e=>{let t=e.target;if("FORM"!==t.tagName||e.defaultPrevented||_(t))return;const n=t,o=e.submitter,r=new FormData(n,o),i="string"==typeof n.action?n.action:n.getAttribute("action"),a="string"==typeof n.method?n.method:n.getAttribute("method");let s=o?.getAttribute("formaction")??i??location.pathname;const c=o?.getAttribute("formmethod")??a??"get";if("dialog"===c||location.origin!==new URL(s,location.href).origin)return;const l={sourceElement:o??n};if("get"===c){const e=new URLSearchParams(r),t=new URL(s);t.search=e.toString(),s=t.toString()}else l.formData=r;e.preventDefault(),C(s,l)})),Te({prefetchAll:!0})); \ No newline at end of file diff --git a/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js.map b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js.map new file mode 100644 index 00000000..629b17e1 --- /dev/null +++ b/Target/_astro/ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ViewTransitions.astro_astro_type_script_index_0_lang.Oozc_hRb.js","sources":["../../../../../../node_modules/astro/dist/transitions/swap-functions.js","../../../../../../node_modules/astro/dist/transitions/events.js","../../../../../../node_modules/astro/dist/transitions/router.js"],"sourcesContent":["const PERSIST_ATTR = \"data-astro-transition-persist\";\nfunction deselectScripts(doc) {\n for (const s1 of document.scripts) {\n for (const s2 of doc.scripts) {\n if (\n // Check if the script should be rerun regardless of it being the same\n !s2.hasAttribute(\"data-astro-rerun\") && // Inline\n (!s1.src && s1.textContent === s2.textContent || // External\n s1.src && s1.type === s2.type && s1.src === s2.src)\n ) {\n s2.dataset.astroExec = \"\";\n break;\n }\n }\n }\n}\nfunction swapRootAttributes(doc) {\n const html = document.documentElement;\n const astroAttributes = [...html.attributes].filter(\n ({ name }) => (html.removeAttribute(name), name.startsWith(\"data-astro-\"))\n );\n [...doc.documentElement.attributes, ...astroAttributes].forEach(\n ({ name, value }) => html.setAttribute(name, value)\n );\n}\nfunction swapHeadElements(doc) {\n for (const el of Array.from(document.head.children)) {\n const newEl = persistedHeadElement(el, doc);\n if (newEl) {\n newEl.remove();\n } else {\n el.remove();\n }\n }\n document.head.append(...doc.head.children);\n}\nfunction swapBodyElement(newElement, oldElement) {\n oldElement.replaceWith(newElement);\n for (const el of oldElement.querySelectorAll(`[${PERSIST_ATTR}]`)) {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = newElement.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n newEl.replaceWith(el);\n if (newEl.localName === \"astro-island\" && shouldCopyProps(el)) {\n el.setAttribute(\"ssr\", \"\");\n el.setAttribute(\"props\", newEl.getAttribute(\"props\"));\n }\n }\n }\n}\nconst saveFocus = () => {\n const activeElement = document.activeElement;\n if (activeElement?.closest(`[${PERSIST_ATTR}]`)) {\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n const start = activeElement.selectionStart;\n const end = activeElement.selectionEnd;\n return () => restoreFocus({ activeElement, start, end });\n }\n return () => restoreFocus({ activeElement });\n } else {\n return () => restoreFocus({ activeElement: null });\n }\n};\nconst restoreFocus = ({ activeElement, start, end }) => {\n if (activeElement) {\n activeElement.focus();\n if (activeElement instanceof HTMLInputElement || activeElement instanceof HTMLTextAreaElement) {\n if (typeof start === \"number\") activeElement.selectionStart = start;\n if (typeof end === \"number\") activeElement.selectionEnd = end;\n }\n }\n};\nconst persistedHeadElement = (el, newDoc) => {\n const id = el.getAttribute(PERSIST_ATTR);\n const newEl = id && newDoc.head.querySelector(`[${PERSIST_ATTR}=\"${id}\"]`);\n if (newEl) {\n return newEl;\n }\n if (el.matches(\"link[rel=stylesheet]\")) {\n const href = el.getAttribute(\"href\");\n return newDoc.head.querySelector(`link[rel=stylesheet][href=\"${href}\"]`);\n }\n return null;\n};\nconst shouldCopyProps = (el) => {\n const persistProps = el.dataset.astroTransitionPersistProps;\n return persistProps == null || persistProps === \"false\";\n};\nconst swap = (doc) => {\n deselectScripts(doc);\n swapRootAttributes(doc);\n swapHeadElements(doc);\n const restoreFocusFunction = saveFocus();\n swapBodyElement(doc.body, document.body);\n restoreFocusFunction();\n};\nexport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swap,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n};\n","import { updateScrollPosition } from \"./router.js\";\nimport { swap } from \"./swap-functions.js\";\nconst TRANSITION_BEFORE_PREPARATION = \"astro:before-preparation\";\nconst TRANSITION_AFTER_PREPARATION = \"astro:after-preparation\";\nconst TRANSITION_BEFORE_SWAP = \"astro:before-swap\";\nconst TRANSITION_AFTER_SWAP = \"astro:after-swap\";\nconst TRANSITION_PAGE_LOAD = \"astro:page-load\";\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(TRANSITION_PAGE_LOAD);\nclass BeforeEvent extends Event {\n from;\n to;\n direction;\n navigationType;\n sourceElement;\n info;\n newDocument;\n signal;\n constructor(type, eventInitDict, from, to, direction, navigationType, sourceElement, info, newDocument, signal) {\n super(type, eventInitDict);\n this.from = from;\n this.to = to;\n this.direction = direction;\n this.navigationType = navigationType;\n this.sourceElement = sourceElement;\n this.info = info;\n this.newDocument = newDocument;\n this.signal = signal;\n Object.defineProperties(this, {\n from: { enumerable: true },\n to: { enumerable: true, writable: true },\n direction: { enumerable: true, writable: true },\n navigationType: { enumerable: true },\n sourceElement: { enumerable: true },\n info: { enumerable: true },\n newDocument: { enumerable: true, writable: true },\n signal: { enumerable: true }\n });\n }\n}\nconst isTransitionBeforePreparationEvent = (value) => value.type === TRANSITION_BEFORE_PREPARATION;\nclass TransitionBeforePreparationEvent extends BeforeEvent {\n formData;\n loader;\n constructor(from, to, direction, navigationType, sourceElement, info, newDocument, signal, formData, loader) {\n super(\n TRANSITION_BEFORE_PREPARATION,\n { cancelable: true },\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n newDocument,\n signal\n );\n this.formData = formData;\n this.loader = loader.bind(this, this);\n Object.defineProperties(this, {\n formData: { enumerable: true },\n loader: { enumerable: true, writable: true }\n });\n }\n}\nconst isTransitionBeforeSwapEvent = (value) => value.type === TRANSITION_BEFORE_SWAP;\nclass TransitionBeforeSwapEvent extends BeforeEvent {\n direction;\n viewTransition;\n swap;\n constructor(afterPreparation, viewTransition) {\n super(\n TRANSITION_BEFORE_SWAP,\n void 0,\n afterPreparation.from,\n afterPreparation.to,\n afterPreparation.direction,\n afterPreparation.navigationType,\n afterPreparation.sourceElement,\n afterPreparation.info,\n afterPreparation.newDocument,\n afterPreparation.signal\n );\n this.direction = afterPreparation.direction;\n this.viewTransition = viewTransition;\n this.swap = () => swap(this.newDocument);\n Object.defineProperties(this, {\n direction: { enumerable: true },\n viewTransition: { enumerable: true },\n swap: { enumerable: true, writable: true }\n });\n }\n}\nasync function doPreparation(from, to, direction, navigationType, sourceElement, info, signal, formData, defaultLoader) {\n const event = new TransitionBeforePreparationEvent(\n from,\n to,\n direction,\n navigationType,\n sourceElement,\n info,\n window.document,\n signal,\n formData,\n defaultLoader\n );\n if (document.dispatchEvent(event)) {\n await event.loader();\n if (!event.defaultPrevented) {\n triggerEvent(TRANSITION_AFTER_PREPARATION);\n if (event.navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n }\n }\n return event;\n}\nfunction doSwap(afterPreparation, viewTransition) {\n const event = new TransitionBeforeSwapEvent(afterPreparation, viewTransition);\n document.dispatchEvent(event);\n event.swap();\n return event;\n}\nexport {\n TRANSITION_AFTER_PREPARATION,\n TRANSITION_AFTER_SWAP,\n TRANSITION_BEFORE_PREPARATION,\n TRANSITION_BEFORE_SWAP,\n TRANSITION_PAGE_LOAD,\n TransitionBeforePreparationEvent,\n TransitionBeforeSwapEvent,\n doPreparation,\n doSwap,\n isTransitionBeforePreparationEvent,\n isTransitionBeforeSwapEvent,\n onPageLoad,\n triggerEvent\n};\n","import { TRANSITION_AFTER_SWAP, doPreparation, doSwap } from \"./events.js\";\nimport {\n deselectScripts,\n restoreFocus,\n saveFocus,\n swapBodyElement,\n swapHeadElements,\n swapRootAttributes\n} from \"./swap-functions.js\";\nconst inBrowser = import.meta.env.SSR === false;\nconst pushState = inBrowser && history.pushState.bind(history);\nconst replaceState = inBrowser && history.replaceState.bind(history);\nconst updateScrollPosition = (positions) => {\n if (history.state) {\n history.scrollRestoration = \"manual\";\n replaceState({ ...history.state, ...positions }, \"\");\n }\n};\nconst supportsViewTransitions = inBrowser && !!document.startViewTransition;\nconst transitionEnabledOnThisPage = () => inBrowser && !!document.querySelector('[name=\"astro-view-transitions-enabled\"]');\nconst samePage = (thisLocation, otherLocation) => thisLocation.pathname === otherLocation.pathname && thisLocation.search === otherLocation.search;\nlet mostRecentNavigation;\nlet mostRecentTransition;\nlet originalLocation;\nconst triggerEvent = (name) => document.dispatchEvent(new Event(name));\nconst onPageLoad = () => triggerEvent(\"astro:page-load\");\nconst announce = () => {\n let div = document.createElement(\"div\");\n div.setAttribute(\"aria-live\", \"assertive\");\n div.setAttribute(\"aria-atomic\", \"true\");\n div.className = \"astro-route-announcer\";\n document.body.append(div);\n setTimeout(\n () => {\n let title = document.title || document.querySelector(\"h1\")?.textContent || location.pathname;\n div.textContent = title;\n },\n // Much thought went into this magic number; the gist is that screen readers\n // need to see that the element changed and might not do so if it happens\n // too quickly.\n 60\n );\n};\nconst PERSIST_ATTR = \"data-astro-transition-persist\";\nconst DIRECTION_ATTR = \"data-astro-transition\";\nconst OLD_NEW_ATTR = \"data-astro-transition-fallback\";\nconst VITE_ID = \"data-vite-dev-id\";\nlet parser;\nlet currentHistoryIndex = 0;\nif (inBrowser) {\n if (history.state) {\n currentHistoryIndex = history.state.index;\n scrollTo({ left: history.state.scrollX, top: history.state.scrollY });\n } else if (transitionEnabledOnThisPage()) {\n replaceState({ index: currentHistoryIndex, scrollX, scrollY }, \"\");\n history.scrollRestoration = \"manual\";\n }\n}\nasync function fetchHTML(href, init) {\n try {\n const res = await fetch(href, init);\n const contentType = res.headers.get(\"content-type\") ?? \"\";\n const mediaType = contentType.split(\";\", 1)[0].trim();\n if (mediaType !== \"text/html\" && mediaType !== \"application/xhtml+xml\") {\n return null;\n }\n const html = await res.text();\n return {\n html,\n redirected: res.redirected ? res.url : void 0,\n mediaType\n };\n } catch (err) {\n return null;\n }\n}\nfunction getFallback() {\n const el = document.querySelector('[name=\"astro-view-transitions-fallback\"]');\n if (el) {\n return el.getAttribute(\"content\");\n }\n return \"animate\";\n}\nfunction runScripts() {\n let wait = Promise.resolve();\n for (const script of Array.from(document.scripts)) {\n if (script.dataset.astroExec === \"\") continue;\n const type = script.getAttribute(\"type\");\n if (type && type !== \"module\" && type !== \"text/javascript\") continue;\n const newScript = document.createElement(\"script\");\n newScript.innerHTML = script.innerHTML;\n for (const attr of script.attributes) {\n if (attr.name === \"src\") {\n const p = new Promise((r) => {\n newScript.onload = newScript.onerror = r;\n });\n wait = wait.then(() => p);\n }\n newScript.setAttribute(attr.name, attr.value);\n }\n newScript.dataset.astroExec = \"\";\n script.replaceWith(newScript);\n }\n return wait;\n}\nconst moveToLocation = (to, from, options, pageTitleForBrowserHistory, historyState) => {\n const intraPage = samePage(from, to);\n const targetPageTitle = document.title;\n document.title = pageTitleForBrowserHistory;\n let scrolledToTop = false;\n if (to.href !== location.href && !historyState) {\n if (options.history === \"replace\") {\n const current = history.state;\n replaceState(\n {\n ...options.state,\n index: current.index,\n scrollX: current.scrollX,\n scrollY: current.scrollY\n },\n \"\",\n to.href\n );\n } else {\n pushState(\n { ...options.state, index: ++currentHistoryIndex, scrollX: 0, scrollY: 0 },\n \"\",\n to.href\n );\n }\n }\n document.title = targetPageTitle;\n originalLocation = to;\n if (!intraPage) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n scrolledToTop = true;\n }\n if (historyState) {\n scrollTo(historyState.scrollX, historyState.scrollY);\n } else {\n if (to.hash) {\n history.scrollRestoration = \"auto\";\n const savedState = history.state;\n location.href = to.href;\n if (!history.state) {\n replaceState(savedState, \"\");\n if (intraPage) {\n window.dispatchEvent(new PopStateEvent(\"popstate\"));\n }\n }\n } else {\n if (!scrolledToTop) {\n scrollTo({ left: 0, top: 0, behavior: \"instant\" });\n }\n }\n history.scrollRestoration = \"manual\";\n }\n};\nfunction preloadStyleLinks(newDocument) {\n const links = [];\n for (const el of newDocument.querySelectorAll(\"head link[rel=stylesheet]\")) {\n if (!document.querySelector(\n `[${PERSIST_ATTR}=\"${el.getAttribute(\n PERSIST_ATTR\n )}\"], link[rel=stylesheet][href=\"${el.getAttribute(\"href\")}\"]`\n )) {\n const c = document.createElement(\"link\");\n c.setAttribute(\"rel\", \"preload\");\n c.setAttribute(\"as\", \"style\");\n c.setAttribute(\"href\", el.getAttribute(\"href\"));\n links.push(\n new Promise((resolve) => {\n [\"load\", \"error\"].forEach((evName) => c.addEventListener(evName, resolve));\n document.head.append(c);\n })\n );\n }\n }\n return links;\n}\nasync function updateDOM(preparationEvent, options, currentTransition, historyState, fallback) {\n async function animate(phase) {\n function isInfinite(animation) {\n const effect = animation.effect;\n if (!effect || !(effect instanceof KeyframeEffect) || !effect.target) return false;\n const style = window.getComputedStyle(effect.target, effect.pseudoElement);\n return style.animationIterationCount === \"infinite\";\n }\n const currentAnimations = document.getAnimations();\n document.documentElement.setAttribute(OLD_NEW_ATTR, phase);\n const nextAnimations = document.getAnimations();\n const newAnimations = nextAnimations.filter(\n (a) => !currentAnimations.includes(a) && !isInfinite(a)\n );\n return Promise.allSettled(newAnimations.map((a) => a.finished));\n }\n if (fallback === \"animate\" && !currentTransition.transitionSkipped && !preparationEvent.signal.aborted) {\n try {\n await animate(\"old\");\n } catch (err) {\n }\n }\n const pageTitleForBrowserHistory = document.title;\n const swapEvent = doSwap(preparationEvent, currentTransition.viewTransition);\n moveToLocation(swapEvent.to, swapEvent.from, options, pageTitleForBrowserHistory, historyState);\n triggerEvent(TRANSITION_AFTER_SWAP);\n if (fallback === \"animate\") {\n if (!currentTransition.transitionSkipped && !swapEvent.signal.aborted) {\n animate(\"new\").finally(() => currentTransition.viewTransitionFinished());\n } else {\n currentTransition.viewTransitionFinished();\n }\n }\n}\nfunction abortAndRecreateMostRecentNavigation() {\n mostRecentNavigation?.controller.abort();\n return mostRecentNavigation = {\n controller: new AbortController()\n };\n}\nasync function transition(direction, from, to, options, historyState) {\n const currentNavigation = abortAndRecreateMostRecentNavigation();\n if (!transitionEnabledOnThisPage() || location.origin !== to.origin) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n location.href = to.href;\n return;\n }\n const navigationType = historyState ? \"traverse\" : options.history === \"replace\" ? \"replace\" : \"push\";\n if (navigationType !== \"traverse\") {\n updateScrollPosition({ scrollX, scrollY });\n }\n if (samePage(from, to)) {\n if (direction !== \"back\" && to.hash || direction === \"back\" && from.hash) {\n moveToLocation(to, from, options, document.title, historyState);\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n }\n const prepEvent = await doPreparation(\n from,\n to,\n direction,\n navigationType,\n options.sourceElement,\n options.info,\n currentNavigation.controller.signal,\n options.formData,\n defaultLoader\n );\n if (prepEvent.defaultPrevented || prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n if (!prepEvent.signal.aborted) {\n location.href = to.href;\n }\n return;\n }\n async function defaultLoader(preparationEvent) {\n const href = preparationEvent.to.href;\n const init = { signal: preparationEvent.signal };\n if (preparationEvent.formData) {\n init.method = \"POST\";\n const form = preparationEvent.sourceElement instanceof HTMLFormElement ? preparationEvent.sourceElement : preparationEvent.sourceElement instanceof HTMLElement && \"form\" in preparationEvent.sourceElement ? preparationEvent.sourceElement.form : preparationEvent.sourceElement?.closest(\"form\");\n init.body = form?.attributes.getNamedItem(\"enctype\")?.value === \"application/x-www-form-urlencoded\" ? new URLSearchParams(preparationEvent.formData) : preparationEvent.formData;\n }\n const response = await fetchHTML(href, init);\n if (response === null) {\n preparationEvent.preventDefault();\n return;\n }\n if (response.redirected) {\n const redirectedTo = new URL(response.redirected);\n if (redirectedTo.origin !== preparationEvent.to.origin) {\n preparationEvent.preventDefault();\n return;\n }\n preparationEvent.to = redirectedTo;\n }\n parser ??= new DOMParser();\n preparationEvent.newDocument = parser.parseFromString(response.html, response.mediaType);\n preparationEvent.newDocument.querySelectorAll(\"noscript\").forEach((el) => el.remove());\n if (!preparationEvent.newDocument.querySelector('[name=\"astro-view-transitions-enabled\"]') && !preparationEvent.formData) {\n preparationEvent.preventDefault();\n return;\n }\n const links = preloadStyleLinks(preparationEvent.newDocument);\n links.length && !preparationEvent.signal.aborted && await Promise.all(links);\n if (import.meta.env.DEV && !preparationEvent.signal.aborted)\n await prepareForClientOnlyComponents(\n preparationEvent.newDocument,\n preparationEvent.to,\n preparationEvent.signal\n );\n }\n async function abortAndRecreateMostRecentTransition() {\n if (mostRecentTransition) {\n if (mostRecentTransition.viewTransition) {\n try {\n mostRecentTransition.viewTransition.skipTransition();\n } catch {\n }\n try {\n await mostRecentTransition.viewTransition.updateCallbackDone;\n } catch {\n }\n }\n }\n return mostRecentTransition = { transitionSkipped: false };\n }\n const currentTransition = await abortAndRecreateMostRecentTransition();\n if (prepEvent.signal.aborted) {\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n return;\n }\n document.documentElement.setAttribute(DIRECTION_ATTR, prepEvent.direction);\n if (supportsViewTransitions) {\n currentTransition.viewTransition = document.startViewTransition(\n async () => await updateDOM(prepEvent, options, currentTransition, historyState)\n );\n } else {\n const updateDone = (async () => {\n await Promise.resolve();\n await updateDOM(prepEvent, options, currentTransition, historyState, getFallback());\n })();\n currentTransition.viewTransition = {\n updateCallbackDone: updateDone,\n // this is about correct\n ready: updateDone,\n // good enough\n // Finished promise could have been done better: finished rejects iff updateDone does.\n // Our simulation always resolves, never rejects.\n finished: new Promise((r) => currentTransition.viewTransitionFinished = r),\n // see end of updateDOM\n skipTransition: () => {\n currentTransition.transitionSkipped = true;\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n }\n };\n }\n currentTransition.viewTransition.updateCallbackDone.finally(async () => {\n await runScripts();\n onPageLoad();\n announce();\n });\n currentTransition.viewTransition.finished.finally(() => {\n currentTransition.viewTransition = void 0;\n if (currentTransition === mostRecentTransition) mostRecentTransition = void 0;\n if (currentNavigation === mostRecentNavigation) mostRecentNavigation = void 0;\n document.documentElement.removeAttribute(DIRECTION_ATTR);\n document.documentElement.removeAttribute(OLD_NEW_ATTR);\n });\n try {\n await currentTransition.viewTransition.updateCallbackDone;\n } catch (e) {\n const err = e;\n console.log(\"[astro]\", err.name, err.message, err.stack);\n }\n}\nlet navigateOnServerWarned = false;\nasync function navigate(href, options) {\n if (inBrowser === false) {\n if (!navigateOnServerWarned) {\n const warning = new Error(\n \"The view transitions client API was called during a server side render. This may be unintentional as the navigate() function is expected to be called in response to user interactions. Please make sure that your usage is correct.\"\n );\n warning.name = \"Warning\";\n console.warn(warning);\n navigateOnServerWarned = true;\n }\n return;\n }\n await transition(\"forward\", originalLocation, new URL(href, location.href), options ?? {});\n}\nfunction onPopState(ev) {\n if (!transitionEnabledOnThisPage() && ev.state) {\n location.reload();\n return;\n }\n if (ev.state === null) {\n return;\n }\n const state = history.state;\n const nextIndex = state.index;\n const direction = nextIndex > currentHistoryIndex ? \"forward\" : \"back\";\n currentHistoryIndex = nextIndex;\n transition(direction, originalLocation, new URL(location.href), {}, state);\n}\nconst onScrollEnd = () => {\n if (history.state && (scrollX !== history.state.scrollX || scrollY !== history.state.scrollY)) {\n updateScrollPosition({ scrollX, scrollY });\n }\n};\nif (inBrowser) {\n if (supportsViewTransitions || getFallback() !== \"none\") {\n originalLocation = new URL(location.href);\n addEventListener(\"popstate\", onPopState);\n addEventListener(\"load\", onPageLoad);\n if (\"onscrollend\" in window) addEventListener(\"scrollend\", onScrollEnd);\n else {\n let intervalId, lastY, lastX, lastIndex;\n const scrollInterval = () => {\n if (lastIndex !== history.state?.index) {\n clearInterval(intervalId);\n intervalId = void 0;\n return;\n }\n if (lastY === scrollY && lastX === scrollX) {\n clearInterval(intervalId);\n intervalId = void 0;\n onScrollEnd();\n return;\n } else {\n lastY = scrollY, lastX = scrollX;\n }\n };\n addEventListener(\n \"scroll\",\n () => {\n if (intervalId !== void 0) return;\n lastIndex = history.state.index, lastY = scrollY, lastX = scrollX;\n intervalId = window.setInterval(scrollInterval, 50);\n },\n { passive: true }\n );\n }\n }\n for (const script of document.scripts) {\n script.dataset.astroExec = \"\";\n }\n}\nasync function prepareForClientOnlyComponents(newDocument, toLocation, signal) {\n if (newDocument.body.querySelector(`astro-island[client='only']`)) {\n const nextPage = document.createElement(\"iframe\");\n nextPage.src = toLocation.href;\n nextPage.style.display = \"none\";\n document.body.append(nextPage);\n nextPage.contentWindow.console = Object.keys(console).reduce((acc, key) => {\n acc[key] = () => {\n };\n return acc;\n }, {});\n await hydrationDone(nextPage);\n const nextHead = nextPage.contentDocument?.head;\n if (nextHead) {\n const viteIds = [...nextHead.querySelectorAll(`style[${VITE_ID}]`)].map(\n (style) => style.getAttribute(VITE_ID)\n );\n viteIds.forEach((id) => {\n const style = nextHead.querySelector(`style[${VITE_ID}=\"${id}\"]`);\n if (style && !newDocument.head.querySelector(`style[${VITE_ID}=\"${id}\"]`)) {\n newDocument.head.appendChild(style.cloneNode(true));\n }\n });\n }\n async function hydrationDone(loadingPage) {\n if (!signal.aborted) {\n await new Promise(\n (r) => loadingPage.contentWindow?.addEventListener(\"load\", r, { once: true })\n );\n }\n return new Promise(async (r) => {\n for (let count = 0; count <= 20; ++count) {\n if (signal.aborted) break;\n if (!loadingPage.contentDocument.body.querySelector(\"astro-island[ssr]\")) break;\n await new Promise((r2) => setTimeout(r2, 50));\n }\n r();\n });\n }\n }\n}\nexport {\n navigate,\n supportsViewTransitions,\n transitionEnabledOnThisPage,\n updateScrollPosition\n};\n"],"names":["PERSIST_ATTR","deselectScripts","doc","s1","s2","swapRootAttributes","html","astroAttributes","name","value","swapHeadElements","el","newEl","persistedHeadElement","swapBodyElement","newElement","oldElement","id","shouldCopyProps","saveFocus","activeElement","start","end","restoreFocus","newDoc","href","persistProps","swap","restoreFocusFunction","TRANSITION_BEFORE_PREPARATION","TRANSITION_AFTER_PREPARATION","TRANSITION_BEFORE_SWAP","TRANSITION_AFTER_SWAP","triggerEvent","BeforeEvent","type","eventInitDict","from","to","direction","navigationType","sourceElement","info","newDocument","signal","TransitionBeforePreparationEvent","formData","loader","TransitionBeforeSwapEvent","afterPreparation","viewTransition","doPreparation","defaultLoader","event","updateScrollPosition","doSwap","pushState","replaceState","positions","supportsViewTransitions","transitionEnabledOnThisPage","samePage","thisLocation","otherLocation","mostRecentNavigation","mostRecentTransition","originalLocation","onPageLoad","announce","div","title","DIRECTION_ATTR","OLD_NEW_ATTR","parser","currentHistoryIndex","fetchHTML","init","res","mediaType","getFallback","runScripts","wait","script","newScript","attr","p","r","moveToLocation","options","pageTitleForBrowserHistory","historyState","intraPage","targetPageTitle","scrolledToTop","current","savedState","preloadStyleLinks","links","c","resolve","evName","updateDOM","preparationEvent","currentTransition","fallback","animate","phase","isInfinite","animation","effect","currentAnimations","newAnimations","a","swapEvent","abortAndRecreateMostRecentNavigation","transition","currentNavigation","prepEvent","form","response","redirectedTo","abortAndRecreateMostRecentTransition","updateDone","e","err","navigate","onPopState","ev","state","nextIndex","onScrollEnd","intervalId","lastY","lastX","lastIndex","scrollInterval"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/client.CMMtWkl7.js b/Target/_astro/client.CMMtWkl7.js new file mode 100644 index 00000000..4b9db476 --- /dev/null +++ b/Target/_astro/client.CMMtWkl7.js @@ -0,0 +1 @@ +const c={context:void 0,registry:void 0};function E(e){c.context=e}function le(){return{...c.context,id:`${c.context.id}${c.context.count++}-`,count:0}}const oe=(e,t)=>e===t,m={equals:oe};let re=z;const A=1,$=2,K={owned:null,cleanups:null,context:null,owner:null};var a=null;let D,B=null,fe=null,p=null,g=null,b=null,O=0;function V(e,t){const n=p,r=a,o=0===e.length,s=void 0===t?r:t,l=o?K:{owned:null,cleanups:null,context:s?s.context:null,owner:s},u=o?e:()=>e((()=>N((()=>_(l)))));a=l,p=null;try{return F(u,!0)}finally{p=n,a=r}}function M(e,t){const n={value:e,observers:null,observerSlots:null,comparator:(t=t?Object.assign({},m,t):m).equals||void 0};return[J.bind(n),e=>("function"==typeof e&&(e=e(n.value)),Q(n,e))]}function I(e,t,n){R(X(e,t,!1,A))}function v(e,t,n){n=n?Object.assign({},m,n):m;const r=X(e,t,!0,0);return r.observers=null,r.observerSlots=null,r.comparator=n.equals||void 0,R(r),J.bind(r)}function N(e){if(null===p)return e();const t=p;p=null;try{return e()}finally{p=t}}function ue(e){return null===a||(null===a.cleanups?a.cleanups=[e]:a.cleanups.push(e)),e}function ce(){return a}function ae(e){b.push.apply(b,e),e.length=0}function G(e,t){const n=Symbol("context");return{id:n,Provider:be(n),defaultValue:e}}function de(e){return a&&a.context&&void 0!==a.context[e.id]?a.context[e.id]:e.defaultValue}function he(e){const t=v(e),n=v((()=>j(t())));return n.toArray=()=>{const e=n();return Array.isArray(e)?e:null!=e?[e]:[]},n}function pe(){return D||(D=G())}function J(){if(this.sources&&this.state)if(this.state===A)R(this);else{const e=g;g=null,F((()=>L(this)),!1),g=e}if(p){const e=this.observers?this.observers.length:0;p.sources?(p.sources.push(this),p.sourceSlots.push(e)):(p.sources=[this],p.sourceSlots=[e]),this.observers?(this.observers.push(p),this.observerSlots.push(p.sources.length-1)):(this.observers=[p],this.observerSlots=[p.sources.length-1])}return this.value}function Q(e,t,n){let r=e.value;return(!e.comparator||!e.comparator(r,t))&&(e.value=t,e.observers&&e.observers.length&&F((()=>{for(let t=0;t1e6)throw g=[],new Error}),!1)),t}function R(e){if(!e.fn)return;_(e);const t=O;ge(e,e.value,t)}function ge(e,t,n){let r;const o=a,s=p;p=a=e;try{r=e.fn(t)}catch(t){return e.pure&&(e.state=A,e.owned&&e.owned.forEach(_),e.owned=null),e.updatedAt=n+1,te(t)}finally{p=s,a=o}(!e.updatedAt||e.updatedAt<=n)&&(null!=e.updatedAt&&"observers"in e?Q(e,r):e.value=r,e.updatedAt=n)}function X(e,t,n,r=A,o){const s={fn:e,state:r,updatedAt:null,owned:null,sources:null,sourceSlots:null,cleanups:null,value:t,owner:a,context:a?a.context:null,pure:n};return null===a||a!==K&&(a.owned?a.owned.push(s):a.owned=[s]),s}function Z(e){if(0===e.state)return;if(e.state===$)return L(e);if(e.suspense&&N(e.suspense.inFallback))return e.suspense.effects.push(e);const t=[e];for(;(e=e.owner)&&(!e.updatedAt||e.updatedAt=0;n--)if((e=t[n]).state===A)R(e);else if(e.state===$){const n=g;g=null,F((()=>L(e,t[0])),!1),g=n}}function F(e,t){if(g)return e();let n=!1;t||(g=[]),b?n=!0:b=[],O++;try{const t=e();return ye(n),t}catch(e){n||(b=null),g=null,te(e)}}function ye(e){if(g&&(z(g),g=null),e)return;const t=b;b=null,t.length&&F((()=>re(t)),!1)}function z(e){for(let t=0;t=0;t--)_(e.owned[t]);e.owned=null}if(e.cleanups){for(t=e.cleanups.length-1;t>=0;t--)e.cleanups[t]();e.cleanups=null}e.state=0}function xe(e){return e instanceof Error?e:new Error("string"==typeof e?e:"Unknown error",{cause:e})}function te(e,t=a){throw xe(e)}function j(e){if("function"==typeof e&&!e.length)return j(e());if(Array.isArray(e)){const t=[];for(let n=0;nn=N((()=>(a.context={...a.context,[e]:t.value},he((()=>t.children)))))),void 0),n}}let ne=!1;function we(){ne=!0}function q(e,t){if(ne&&c.context){const n=c.context;E(le());const r=N((()=>e(t||{})));return E(n),r}return N((()=>e(t||{})))}const Ae=G();function Se(e){let t,n,r,o,s,l=0;const[u,i]=M(!1),a=pe(),f={increment:()=>{1==++l&&i(!0)},decrement:()=>{0==--l&&i(!1)},inFallback:u,effects:[],resolved:!1},d=ce();if(c.context&&c.load){const e=c.context.id+c.context.count;let t=c.load(e);if(t&&("object"!=typeof t||"success"!==t.status?r=t:c.gather(e)),r&&"$$f"!==r){const[t,l]=M(void 0,{equals:!1});o=t,r.then((()=>{if(c.done)return l();c.gather(e),E(n),l(),E()}),(e=>{s=e,l()}))}}const p=de(Ae);let h;return p&&(t=p.register(f.inFallback)),ue((()=>h&&h())),q(a.Provider,{value:f,get children(){return v((()=>{if(s)throw s;if(n=c.context,o)return o(),o=void 0;n&&"$$f"===r&&E();const l=v((()=>e.children));return v((o=>{const s=f.inFallback(),{showContent:u=!0,showFallback:c=!0}=t?t():{};return(!s||r&&"$$f"!==r)&&u?(f.resolved=!0,h&&h(),h=n=r=void 0,ae(f.effects),l()):c?h?o:V((t=>(h=t,n&&(E({id:n.id+"f",count:0}),n=void 0),e.fallback)),d):void 0}))}))}})}function Ce(e,t,n){let r=n.length,o=t.length,s=r,l=0,u=0,c=t[o-1].nextSibling,i=null;for(;lr-u){const o=t[l];for(;u{o=r,t===document?e():Ee(t,e(),t.firstChild?null:void 0,n)}),r.owner),()=>{o(),t.textContent=""}}function Ee(e,t,n,r){if(void 0!==n&&!r&&(r=[]),"function"!=typeof t)return H(e,t,r,n);I((r=>H(e,t(),r,n)),r)}function Te(e,t,n={}){c.completed=globalThis._$HY.completed,c.events=globalThis._$HY.events,c.load=e=>globalThis._$HY.r[e],c.has=e=>e in globalThis._$HY.r,c.gather=e=>Y(t,e),c.registry=new Map,c.context={id:n.renderId||"",count:0},Y(t,n.renderId);const r=se(e,t,[...t.childNodes],n);return c.context=null,r}function H(e,t,n,r,o){const s=!!c.context&&e.isConnected;if(s){!n&&(n=[...e.childNodes]);let t=[];for(let e=0;e{let o=t();for(;"function"==typeof o;)o=o();n=H(e,o,n,r)})),()=>n;if(Array.isArray(t)){const l=[],c=n&&Array.isArray(n);if(U(l,t,n,o))return I((()=>n=H(e,l,n,r,!0))),()=>n;if(s){if(!l.length)return n;if(void 0===r)return[...e.childNodes];let t=l[0],o=[t];for(;(t=t.nextSibling)!==r;)o.push(t);return n=o}if(0===l.length){if(n=C(e,n,r),u)return n}else c?0===n.length?W(e,l,r):Ce(e,n,l):(n&&C(e),W(e,l));n=l}else if(t.nodeType){if(s&&t.parentNode)return n=u?[t]:t;if(Array.isArray(n)){if(u)return n=C(e,n,r,t);C(e,n,null,t)}else null!=n&&""!==n&&e.firstChild?e.replaceChild(t,e.firstChild):e.appendChild(t);n=t}}return n}function U(e,t,n,r){let o=!1;for(let s=0,l=t.length;s=0;s--){const l=t[s];if(o!==l){const t=l.parentNode===e;r||s?t&&l.remove():t?e.replaceChild(o,l):e.insertBefore(o,n)}else r=!0}}else e.insertBefore(o,n);return[o]}function Y(e,t){const n=e.querySelectorAll("*[data-hk]");for(let e=0;e(we(),Te(...e));var Ne=e=>(t,n,r,{client:o})=>{if(!e.hasAttribute("ssr"))return;const s="only"!==o,l=s?ve:se;let u,c={};if(Object.keys(r).length>0){if("only"!==o){const t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,(t=>t===e?NodeFilter.FILTER_SKIP:"ASTRO-SLOT"===t.nodeName?NodeFilter.FILTER_ACCEPT:"ASTRO-ISLAND"===t.nodeName?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP));for(;u=t.nextNode();)c[u.getAttribute("name")||"default"]=u}for(const[e,t]of Object.entries(r))c[e]||(c[e]=document.createElement("astro-slot"),"default"!==e&&c[e].setAttribute("name",e),c[e].innerHTML=t)}const{default:i,...a}=c,f=e.dataset.solidRenderId,d=l((()=>{const e=()=>q(t,{...n,...a,children:i});return s?q(Se,{get children(){return e()}}):e()}),e,{renderId:f});e.addEventListener("astro:unmount",(()=>d()),{once:!0})};export{Ne as default}; \ No newline at end of file diff --git a/Target/_astro/client.CMMtWkl7.js.map b/Target/_astro/client.CMMtWkl7.js.map new file mode 100644 index 00000000..1b8b96cc --- /dev/null +++ b/Target/_astro/client.CMMtWkl7.js.map @@ -0,0 +1 @@ +{"version":3,"file":"client.CMMtWkl7.js","sources":["../../../../../../node_modules/solid-js/dist/solid.js","../../../../../../node_modules/solid-js/web/dist/web.js","../../../../../../node_modules/@astrojs/solid-js/dist/client.js"],"sourcesContent":["let taskIdCounter = 1,\n isCallbackScheduled = false,\n isPerformingWork = false,\n taskQueue = [],\n currentTask = null,\n shouldYieldToHost = null,\n yieldInterval = 5,\n deadline = 0,\n maxYieldInterval = 300,\n scheduleCallback = null,\n scheduledCallback = null;\nconst maxSigned31BitInt = 1073741823;\nfunction setupScheduler() {\n const channel = new MessageChannel(),\n port = channel.port2;\n scheduleCallback = () => port.postMessage(null);\n channel.port1.onmessage = () => {\n if (scheduledCallback !== null) {\n const currentTime = performance.now();\n deadline = currentTime + yieldInterval;\n const hasTimeRemaining = true;\n try {\n const hasMoreWork = scheduledCallback(hasTimeRemaining, currentTime);\n if (!hasMoreWork) {\n scheduledCallback = null;\n } else port.postMessage(null);\n } catch (error) {\n port.postMessage(null);\n throw error;\n }\n }\n };\n if (navigator && navigator.scheduling && navigator.scheduling.isInputPending) {\n const scheduling = navigator.scheduling;\n shouldYieldToHost = () => {\n const currentTime = performance.now();\n if (currentTime >= deadline) {\n if (scheduling.isInputPending()) {\n return true;\n }\n return currentTime >= maxYieldInterval;\n } else {\n return false;\n }\n };\n } else {\n shouldYieldToHost = () => performance.now() >= deadline;\n }\n}\nfunction enqueue(taskQueue, task) {\n function findIndex() {\n let m = 0;\n let n = taskQueue.length - 1;\n while (m <= n) {\n const k = (n + m) >> 1;\n const cmp = task.expirationTime - taskQueue[k].expirationTime;\n if (cmp > 0) m = k + 1;\n else if (cmp < 0) n = k - 1;\n else return k;\n }\n return m;\n }\n taskQueue.splice(findIndex(), 0, task);\n}\nfunction requestCallback(fn, options) {\n if (!scheduleCallback) setupScheduler();\n let startTime = performance.now(),\n timeout = maxSigned31BitInt;\n if (options && options.timeout) timeout = options.timeout;\n const newTask = {\n id: taskIdCounter++,\n fn,\n startTime,\n expirationTime: startTime + timeout\n };\n enqueue(taskQueue, newTask);\n if (!isCallbackScheduled && !isPerformingWork) {\n isCallbackScheduled = true;\n scheduledCallback = flushWork;\n scheduleCallback();\n }\n return newTask;\n}\nfunction cancelCallback(task) {\n task.fn = null;\n}\nfunction flushWork(hasTimeRemaining, initialTime) {\n isCallbackScheduled = false;\n isPerformingWork = true;\n try {\n return workLoop(hasTimeRemaining, initialTime);\n } finally {\n currentTask = null;\n isPerformingWork = false;\n }\n}\nfunction workLoop(hasTimeRemaining, initialTime) {\n let currentTime = initialTime;\n currentTask = taskQueue[0] || null;\n while (currentTask !== null) {\n if (currentTask.expirationTime > currentTime && (!hasTimeRemaining || shouldYieldToHost())) {\n break;\n }\n const callback = currentTask.fn;\n if (callback !== null) {\n currentTask.fn = null;\n const didUserCallbackTimeout = currentTask.expirationTime <= currentTime;\n callback(didUserCallbackTimeout);\n currentTime = performance.now();\n if (currentTask === taskQueue[0]) {\n taskQueue.shift();\n }\n } else taskQueue.shift();\n currentTask = taskQueue[0] || null;\n }\n return currentTask !== null;\n}\n\nconst sharedConfig = {\n context: undefined,\n registry: undefined\n};\nfunction setHydrateContext(context) {\n sharedConfig.context = context;\n}\nfunction nextHydrateContext() {\n return {\n ...sharedConfig.context,\n id: `${sharedConfig.context.id}${sharedConfig.context.count++}-`,\n count: 0\n };\n}\n\nconst equalFn = (a, b) => a === b;\nconst $PROXY = Symbol(\"solid-proxy\");\nconst $TRACK = Symbol(\"solid-track\");\nconst $DEVCOMP = Symbol(\"solid-dev-component\");\nconst signalOptions = {\n equals: equalFn\n};\nlet ERROR = null;\nlet runEffects = runQueue;\nconst STALE = 1;\nconst PENDING = 2;\nconst UNOWNED = {\n owned: null,\n cleanups: null,\n context: null,\n owner: null\n};\nconst NO_INIT = {};\nvar Owner = null;\nlet Transition = null;\nlet Scheduler = null;\nlet ExternalSourceConfig = null;\nlet Listener = null;\nlet Updates = null;\nlet Effects = null;\nlet ExecCount = 0;\nfunction createRoot(fn, detachedOwner) {\n const listener = Listener,\n owner = Owner,\n unowned = fn.length === 0,\n current = detachedOwner === undefined ? owner : detachedOwner,\n root = unowned\n ? UNOWNED\n : {\n owned: null,\n cleanups: null,\n context: current ? current.context : null,\n owner: current\n },\n updateFn = unowned ? fn : () => fn(() => untrack(() => cleanNode(root)));\n Owner = root;\n Listener = null;\n try {\n return runUpdates(updateFn, true);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n}\nfunction createSignal(value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const s = {\n value,\n observers: null,\n observerSlots: null,\n comparator: options.equals || undefined\n };\n const setter = value => {\n if (typeof value === \"function\") {\n if (Transition && Transition.running && Transition.sources.has(s)) value = value(s.tValue);\n else value = value(s.value);\n }\n return writeSignal(s, value);\n };\n return [readSignal.bind(s), setter];\n}\nfunction createComputed(fn, value, options) {\n const c = createComputation(fn, value, true, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);\n else updateComputation(c);\n}\nfunction createRenderEffect(fn, value, options) {\n const c = createComputation(fn, value, false, STALE);\n if (Scheduler && Transition && Transition.running) Updates.push(c);\n else updateComputation(c);\n}\nfunction createEffect(fn, value, options) {\n runEffects = runUserEffects;\n const c = createComputation(fn, value, false, STALE),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n if (!options || !options.render) c.user = true;\n Effects ? Effects.push(c) : updateComputation(c);\n}\nfunction createReaction(onInvalidate, options) {\n let fn;\n const c = createComputation(\n () => {\n fn ? fn() : untrack(onInvalidate);\n fn = undefined;\n },\n undefined,\n false,\n 0\n ),\n s = SuspenseContext && useContext(SuspenseContext);\n if (s) c.suspense = s;\n c.user = true;\n return tracking => {\n fn = tracking;\n updateComputation(c);\n };\n}\nfunction createMemo(fn, value, options) {\n options = options ? Object.assign({}, signalOptions, options) : signalOptions;\n const c = createComputation(fn, value, true, 0);\n c.observers = null;\n c.observerSlots = null;\n c.comparator = options.equals || undefined;\n if (Scheduler && Transition && Transition.running) {\n c.tState = STALE;\n Updates.push(c);\n } else updateComputation(c);\n return readSignal.bind(c);\n}\nfunction isPromise(v) {\n return v && typeof v === \"object\" && \"then\" in v;\n}\nfunction createResource(pSource, pFetcher, pOptions) {\n let source;\n let fetcher;\n let options;\n if ((arguments.length === 2 && typeof pFetcher === \"object\") || arguments.length === 1) {\n source = true;\n fetcher = pSource;\n options = pFetcher || {};\n } else {\n source = pSource;\n fetcher = pFetcher;\n options = pOptions || {};\n }\n let pr = null,\n initP = NO_INIT,\n id = null,\n loadedUnderTransition = false,\n scheduled = false,\n resolved = \"initialValue\" in options,\n dynamic = typeof source === \"function\" && createMemo(source);\n const contexts = new Set(),\n [value, setValue] = (options.storage || createSignal)(options.initialValue),\n [error, setError] = createSignal(undefined),\n [track, trigger] = createSignal(undefined, {\n equals: false\n }),\n [state, setState] = createSignal(resolved ? \"ready\" : \"unresolved\");\n if (sharedConfig.context) {\n id = `${sharedConfig.context.id}${sharedConfig.context.count++}`;\n let v;\n if (options.ssrLoadFrom === \"initial\") initP = options.initialValue;\n else if (sharedConfig.load && (v = sharedConfig.load(id))) initP = v;\n }\n function loadEnd(p, v, error, key) {\n if (pr === p) {\n pr = null;\n key !== undefined && (resolved = true);\n if ((p === initP || v === initP) && options.onHydrated)\n queueMicrotask(() =>\n options.onHydrated(key, {\n value: v\n })\n );\n initP = NO_INIT;\n if (Transition && p && loadedUnderTransition) {\n Transition.promises.delete(p);\n loadedUnderTransition = false;\n runUpdates(() => {\n Transition.running = true;\n completeLoad(v, error);\n }, false);\n } else completeLoad(v, error);\n }\n return v;\n }\n function completeLoad(v, err) {\n runUpdates(() => {\n if (err === undefined) setValue(() => v);\n setState(err !== undefined ? \"errored\" : resolved ? \"ready\" : \"unresolved\");\n setError(err);\n for (const c of contexts.keys()) c.decrement();\n contexts.clear();\n }, false);\n }\n function read() {\n const c = SuspenseContext && useContext(SuspenseContext),\n v = value(),\n err = error();\n if (err !== undefined && !pr) throw err;\n if (Listener && !Listener.user && c) {\n createComputed(() => {\n track();\n if (pr) {\n if (c.resolved && Transition && loadedUnderTransition) Transition.promises.add(pr);\n else if (!contexts.has(c)) {\n c.increment();\n contexts.add(c);\n }\n }\n });\n }\n return v;\n }\n function load(refetching = true) {\n if (refetching !== false && scheduled) return;\n scheduled = false;\n const lookup = dynamic ? dynamic() : source;\n loadedUnderTransition = Transition && Transition.running;\n if (lookup == null || lookup === false) {\n loadEnd(pr, untrack(value));\n return;\n }\n if (Transition && pr) Transition.promises.delete(pr);\n const p =\n initP !== NO_INIT\n ? initP\n : untrack(() =>\n fetcher(lookup, {\n value: value(),\n refetching\n })\n );\n if (!isPromise(p)) {\n loadEnd(pr, p, undefined, lookup);\n return p;\n }\n pr = p;\n if (\"value\" in p) {\n if (p.status === \"success\") loadEnd(pr, p.value, undefined, lookup);\n else loadEnd(pr, undefined, castError(p.value), lookup);\n return p;\n }\n scheduled = true;\n queueMicrotask(() => (scheduled = false));\n runUpdates(() => {\n setState(resolved ? \"refreshing\" : \"pending\");\n trigger();\n }, false);\n return p.then(\n v => loadEnd(p, v, undefined, lookup),\n e => loadEnd(p, undefined, castError(e), lookup)\n );\n }\n Object.defineProperties(read, {\n state: {\n get: () => state()\n },\n error: {\n get: () => error()\n },\n loading: {\n get() {\n const s = state();\n return s === \"pending\" || s === \"refreshing\";\n }\n },\n latest: {\n get() {\n if (!resolved) return read();\n const err = error();\n if (err && !pr) throw err;\n return value();\n }\n }\n });\n if (dynamic) createComputed(() => load(false));\n else load(false);\n return [\n read,\n {\n refetch: load,\n mutate: setValue\n }\n ];\n}\nfunction createDeferred(source, options) {\n let t,\n timeout = options ? options.timeoutMs : undefined;\n const node = createComputation(\n () => {\n if (!t || !t.fn)\n t = requestCallback(\n () => setDeferred(() => node.value),\n timeout !== undefined\n ? {\n timeout\n }\n : undefined\n );\n return source();\n },\n undefined,\n true\n );\n const [deferred, setDeferred] = createSignal(\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value,\n options\n );\n updateComputation(node);\n setDeferred(() =>\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value\n );\n return deferred;\n}\nfunction createSelector(source, fn = equalFn, options) {\n const subs = new Map();\n const node = createComputation(\n p => {\n const v = source();\n for (const [key, val] of subs.entries())\n if (fn(key, v) !== fn(key, p)) {\n for (const c of val.values()) {\n c.state = STALE;\n if (c.pure) Updates.push(c);\n else Effects.push(c);\n }\n }\n return v;\n },\n undefined,\n true,\n STALE\n );\n updateComputation(node);\n return key => {\n const listener = Listener;\n if (listener) {\n let l;\n if ((l = subs.get(key))) l.add(listener);\n else subs.set(key, (l = new Set([listener])));\n onCleanup(() => {\n l.delete(listener);\n !l.size && subs.delete(key);\n });\n }\n return fn(\n key,\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value\n );\n };\n}\nfunction batch(fn) {\n return runUpdates(fn, false);\n}\nfunction untrack(fn) {\n if (!ExternalSourceConfig && Listener === null) return fn();\n const listener = Listener;\n Listener = null;\n try {\n if (ExternalSourceConfig) return ExternalSourceConfig.untrack(fn);\n return fn();\n } finally {\n Listener = listener;\n }\n}\nfunction on(deps, fn, options) {\n const isArray = Array.isArray(deps);\n let prevInput;\n let defer = options && options.defer;\n return prevValue => {\n let input;\n if (isArray) {\n input = Array(deps.length);\n for (let i = 0; i < deps.length; i++) input[i] = deps[i]();\n } else input = deps();\n if (defer) {\n defer = false;\n return prevValue;\n }\n const result = untrack(() => fn(input, prevInput, prevValue));\n prevInput = input;\n return result;\n };\n}\nfunction onMount(fn) {\n createEffect(() => untrack(fn));\n}\nfunction onCleanup(fn) {\n if (Owner === null);\n else if (Owner.cleanups === null) Owner.cleanups = [fn];\n else Owner.cleanups.push(fn);\n return fn;\n}\nfunction catchError(fn, handler) {\n ERROR || (ERROR = Symbol(\"error\"));\n Owner = createComputation(undefined, undefined, true);\n Owner.context = {\n ...Owner.context,\n [ERROR]: [handler]\n };\n if (Transition && Transition.running) Transition.sources.add(Owner);\n try {\n return fn();\n } catch (err) {\n handleError(err);\n } finally {\n Owner = Owner.owner;\n }\n}\nfunction getListener() {\n return Listener;\n}\nfunction getOwner() {\n return Owner;\n}\nfunction runWithOwner(o, fn) {\n const prev = Owner;\n const prevListener = Listener;\n Owner = o;\n Listener = null;\n try {\n return runUpdates(fn, true);\n } catch (err) {\n handleError(err);\n } finally {\n Owner = prev;\n Listener = prevListener;\n }\n}\nfunction enableScheduling(scheduler = requestCallback) {\n Scheduler = scheduler;\n}\nfunction startTransition(fn) {\n if (Transition && Transition.running) {\n fn();\n return Transition.done;\n }\n const l = Listener;\n const o = Owner;\n return Promise.resolve().then(() => {\n Listener = l;\n Owner = o;\n let t;\n if (Scheduler || SuspenseContext) {\n t =\n Transition ||\n (Transition = {\n sources: new Set(),\n effects: [],\n promises: new Set(),\n disposed: new Set(),\n queue: new Set(),\n running: true\n });\n t.done || (t.done = new Promise(res => (t.resolve = res)));\n t.running = true;\n }\n runUpdates(fn, false);\n Listener = Owner = null;\n return t ? t.done : undefined;\n });\n}\nconst [transPending, setTransPending] = /*@__PURE__*/ createSignal(false);\nfunction useTransition() {\n return [transPending, startTransition];\n}\nfunction resumeEffects(e) {\n Effects.push.apply(Effects, e);\n e.length = 0;\n}\nfunction createContext(defaultValue, options) {\n const id = Symbol(\"context\");\n return {\n id,\n Provider: createProvider(id),\n defaultValue\n };\n}\nfunction useContext(context) {\n return Owner && Owner.context && Owner.context[context.id] !== undefined\n ? Owner.context[context.id]\n : context.defaultValue;\n}\nfunction children(fn) {\n const children = createMemo(fn);\n const memo = createMemo(() => resolveChildren(children()));\n memo.toArray = () => {\n const c = memo();\n return Array.isArray(c) ? c : c != null ? [c] : [];\n };\n return memo;\n}\nlet SuspenseContext;\nfunction getSuspenseContext() {\n return SuspenseContext || (SuspenseContext = createContext());\n}\nfunction enableExternalSource(factory, untrack = fn => fn()) {\n if (ExternalSourceConfig) {\n const { factory: oldFactory, untrack: oldUntrack } = ExternalSourceConfig;\n ExternalSourceConfig = {\n factory: (fn, trigger) => {\n const oldSource = oldFactory(fn, trigger);\n const source = factory(x => oldSource.track(x), trigger);\n return {\n track: x => source.track(x),\n dispose() {\n source.dispose();\n oldSource.dispose();\n }\n };\n },\n untrack: fn => oldUntrack(() => untrack(fn))\n };\n } else {\n ExternalSourceConfig = {\n factory,\n untrack\n };\n }\n}\nfunction readSignal() {\n const runningTransition = Transition && Transition.running;\n if (this.sources && (runningTransition ? this.tState : this.state)) {\n if ((runningTransition ? this.tState : this.state) === STALE) updateComputation(this);\n else {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(this), false);\n Updates = updates;\n }\n }\n if (Listener) {\n const sSlot = this.observers ? this.observers.length : 0;\n if (!Listener.sources) {\n Listener.sources = [this];\n Listener.sourceSlots = [sSlot];\n } else {\n Listener.sources.push(this);\n Listener.sourceSlots.push(sSlot);\n }\n if (!this.observers) {\n this.observers = [Listener];\n this.observerSlots = [Listener.sources.length - 1];\n } else {\n this.observers.push(Listener);\n this.observerSlots.push(Listener.sources.length - 1);\n }\n }\n if (runningTransition && Transition.sources.has(this)) return this.tValue;\n return this.value;\n}\nfunction writeSignal(node, value, isComp) {\n let current =\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value;\n if (!node.comparator || !node.comparator(current, value)) {\n if (Transition) {\n const TransitionRunning = Transition.running;\n if (TransitionRunning || (!isComp && Transition.sources.has(node))) {\n Transition.sources.add(node);\n node.tValue = value;\n }\n if (!TransitionRunning) node.value = value;\n } else node.value = value;\n if (node.observers && node.observers.length) {\n runUpdates(() => {\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n const TransitionRunning = Transition && Transition.running;\n if (TransitionRunning && Transition.disposed.has(o)) continue;\n if (TransitionRunning ? !o.tState : !o.state) {\n if (o.pure) Updates.push(o);\n else Effects.push(o);\n if (o.observers) markDownstream(o);\n }\n if (!TransitionRunning) o.state = STALE;\n else o.tState = STALE;\n }\n if (Updates.length > 10e5) {\n Updates = [];\n if (false);\n throw new Error();\n }\n }, false);\n }\n }\n return value;\n}\nfunction updateComputation(node) {\n if (!node.fn) return;\n cleanNode(node);\n const time = ExecCount;\n runComputation(\n node,\n Transition && Transition.running && Transition.sources.has(node) ? node.tValue : node.value,\n time\n );\n if (Transition && !Transition.running && Transition.sources.has(node)) {\n queueMicrotask(() => {\n runUpdates(() => {\n Transition && (Transition.running = true);\n Listener = Owner = node;\n runComputation(node, node.tValue, time);\n Listener = Owner = null;\n }, false);\n });\n }\n}\nfunction runComputation(node, value, time) {\n let nextValue;\n const owner = Owner,\n listener = Listener;\n Listener = Owner = node;\n try {\n nextValue = node.fn(value);\n } catch (err) {\n if (node.pure) {\n if (Transition && Transition.running) {\n node.tState = STALE;\n node.tOwned && node.tOwned.forEach(cleanNode);\n node.tOwned = undefined;\n } else {\n node.state = STALE;\n node.owned && node.owned.forEach(cleanNode);\n node.owned = null;\n }\n }\n node.updatedAt = time + 1;\n return handleError(err);\n } finally {\n Listener = listener;\n Owner = owner;\n }\n if (!node.updatedAt || node.updatedAt <= time) {\n if (node.updatedAt != null && \"observers\" in node) {\n writeSignal(node, nextValue, true);\n } else if (Transition && Transition.running && node.pure) {\n Transition.sources.add(node);\n node.tValue = nextValue;\n } else node.value = nextValue;\n node.updatedAt = time;\n }\n}\nfunction createComputation(fn, init, pure, state = STALE, options) {\n const c = {\n fn,\n state: state,\n updatedAt: null,\n owned: null,\n sources: null,\n sourceSlots: null,\n cleanups: null,\n value: init,\n owner: Owner,\n context: Owner ? Owner.context : null,\n pure\n };\n if (Transition && Transition.running) {\n c.state = 0;\n c.tState = state;\n }\n if (Owner === null);\n else if (Owner !== UNOWNED) {\n if (Transition && Transition.running && Owner.pure) {\n if (!Owner.tOwned) Owner.tOwned = [c];\n else Owner.tOwned.push(c);\n } else {\n if (!Owner.owned) Owner.owned = [c];\n else Owner.owned.push(c);\n }\n }\n if (ExternalSourceConfig && c.fn) {\n const [track, trigger] = createSignal(undefined, {\n equals: false\n });\n const ordinary = ExternalSourceConfig.factory(c.fn, trigger);\n onCleanup(() => ordinary.dispose());\n const triggerInTransition = () => startTransition(trigger).then(() => inTransition.dispose());\n const inTransition = ExternalSourceConfig.factory(c.fn, triggerInTransition);\n c.fn = x => {\n track();\n return Transition && Transition.running ? inTransition.track(x) : ordinary.track(x);\n };\n }\n return c;\n}\nfunction runTop(node) {\n const runningTransition = Transition && Transition.running;\n if ((runningTransition ? node.tState : node.state) === 0) return;\n if ((runningTransition ? node.tState : node.state) === PENDING) return lookUpstream(node);\n if (node.suspense && untrack(node.suspense.inFallback)) return node.suspense.effects.push(node);\n const ancestors = [node];\n while ((node = node.owner) && (!node.updatedAt || node.updatedAt < ExecCount)) {\n if (runningTransition && Transition.disposed.has(node)) return;\n if (runningTransition ? node.tState : node.state) ancestors.push(node);\n }\n for (let i = ancestors.length - 1; i >= 0; i--) {\n node = ancestors[i];\n if (runningTransition) {\n let top = node,\n prev = ancestors[i + 1];\n while ((top = top.owner) && top !== prev) {\n if (Transition.disposed.has(top)) return;\n }\n }\n if ((runningTransition ? node.tState : node.state) === STALE) {\n updateComputation(node);\n } else if ((runningTransition ? node.tState : node.state) === PENDING) {\n const updates = Updates;\n Updates = null;\n runUpdates(() => lookUpstream(node, ancestors[0]), false);\n Updates = updates;\n }\n }\n}\nfunction runUpdates(fn, init) {\n if (Updates) return fn();\n let wait = false;\n if (!init) Updates = [];\n if (Effects) wait = true;\n else Effects = [];\n ExecCount++;\n try {\n const res = fn();\n completeUpdates(wait);\n return res;\n } catch (err) {\n if (!wait) Effects = null;\n Updates = null;\n handleError(err);\n }\n}\nfunction completeUpdates(wait) {\n if (Updates) {\n if (Scheduler && Transition && Transition.running) scheduleQueue(Updates);\n else runQueue(Updates);\n Updates = null;\n }\n if (wait) return;\n let res;\n if (Transition) {\n if (!Transition.promises.size && !Transition.queue.size) {\n const sources = Transition.sources;\n const disposed = Transition.disposed;\n Effects.push.apply(Effects, Transition.effects);\n res = Transition.resolve;\n for (const e of Effects) {\n \"tState\" in e && (e.state = e.tState);\n delete e.tState;\n }\n Transition = null;\n runUpdates(() => {\n for (const d of disposed) cleanNode(d);\n for (const v of sources) {\n v.value = v.tValue;\n if (v.owned) {\n for (let i = 0, len = v.owned.length; i < len; i++) cleanNode(v.owned[i]);\n }\n if (v.tOwned) v.owned = v.tOwned;\n delete v.tValue;\n delete v.tOwned;\n v.tState = 0;\n }\n setTransPending(false);\n }, false);\n } else if (Transition.running) {\n Transition.running = false;\n Transition.effects.push.apply(Transition.effects, Effects);\n Effects = null;\n setTransPending(true);\n return;\n }\n }\n const e = Effects;\n Effects = null;\n if (e.length) runUpdates(() => runEffects(e), false);\n if (res) res();\n}\nfunction runQueue(queue) {\n for (let i = 0; i < queue.length; i++) runTop(queue[i]);\n}\nfunction scheduleQueue(queue) {\n for (let i = 0; i < queue.length; i++) {\n const item = queue[i];\n const tasks = Transition.queue;\n if (!tasks.has(item)) {\n tasks.add(item);\n Scheduler(() => {\n tasks.delete(item);\n runUpdates(() => {\n Transition.running = true;\n runTop(item);\n }, false);\n Transition && (Transition.running = false);\n });\n }\n }\n}\nfunction runUserEffects(queue) {\n let i,\n userLength = 0;\n for (i = 0; i < queue.length; i++) {\n const e = queue[i];\n if (!e.user) runTop(e);\n else queue[userLength++] = e;\n }\n if (sharedConfig.context) {\n if (sharedConfig.count) {\n sharedConfig.effects || (sharedConfig.effects = []);\n sharedConfig.effects.push(...queue.slice(0, userLength));\n return;\n } else if (sharedConfig.effects) {\n queue = [...sharedConfig.effects, ...queue];\n userLength += sharedConfig.effects.length;\n delete sharedConfig.effects;\n }\n setHydrateContext();\n }\n for (i = 0; i < userLength; i++) runTop(queue[i]);\n}\nfunction lookUpstream(node, ignore) {\n const runningTransition = Transition && Transition.running;\n if (runningTransition) node.tState = 0;\n else node.state = 0;\n for (let i = 0; i < node.sources.length; i += 1) {\n const source = node.sources[i];\n if (source.sources) {\n const state = runningTransition ? source.tState : source.state;\n if (state === STALE) {\n if (source !== ignore && (!source.updatedAt || source.updatedAt < ExecCount))\n runTop(source);\n } else if (state === PENDING) lookUpstream(source, ignore);\n }\n }\n}\nfunction markDownstream(node) {\n const runningTransition = Transition && Transition.running;\n for (let i = 0; i < node.observers.length; i += 1) {\n const o = node.observers[i];\n if (runningTransition ? !o.tState : !o.state) {\n if (runningTransition) o.tState = PENDING;\n else o.state = PENDING;\n if (o.pure) Updates.push(o);\n else Effects.push(o);\n o.observers && markDownstream(o);\n }\n }\n}\nfunction cleanNode(node) {\n let i;\n if (node.sources) {\n while (node.sources.length) {\n const source = node.sources.pop(),\n index = node.sourceSlots.pop(),\n obs = source.observers;\n if (obs && obs.length) {\n const n = obs.pop(),\n s = source.observerSlots.pop();\n if (index < obs.length) {\n n.sourceSlots[s] = index;\n obs[index] = n;\n source.observerSlots[index] = s;\n }\n }\n }\n }\n if (Transition && Transition.running && node.pure) {\n if (node.tOwned) {\n for (i = node.tOwned.length - 1; i >= 0; i--) cleanNode(node.tOwned[i]);\n delete node.tOwned;\n }\n reset(node, true);\n } else if (node.owned) {\n for (i = node.owned.length - 1; i >= 0; i--) cleanNode(node.owned[i]);\n node.owned = null;\n }\n if (node.cleanups) {\n for (i = node.cleanups.length - 1; i >= 0; i--) node.cleanups[i]();\n node.cleanups = null;\n }\n if (Transition && Transition.running) node.tState = 0;\n else node.state = 0;\n}\nfunction reset(node, top) {\n if (!top) {\n node.tState = 0;\n Transition.disposed.add(node);\n }\n if (node.owned) {\n for (let i = 0; i < node.owned.length; i++) reset(node.owned[i]);\n }\n}\nfunction castError(err) {\n if (err instanceof Error) return err;\n return new Error(typeof err === \"string\" ? err : \"Unknown error\", {\n cause: err\n });\n}\nfunction runErrors(err, fns, owner) {\n try {\n for (const f of fns) f(err);\n } catch (e) {\n handleError(e, (owner && owner.owner) || null);\n }\n}\nfunction handleError(err, owner = Owner) {\n const fns = ERROR && owner && owner.context && owner.context[ERROR];\n const error = castError(err);\n if (!fns) throw error;\n if (Effects)\n Effects.push({\n fn() {\n runErrors(error, fns, owner);\n },\n state: STALE\n });\n else runErrors(error, fns, owner);\n}\nfunction resolveChildren(children) {\n if (typeof children === \"function\" && !children.length) return resolveChildren(children());\n if (Array.isArray(children)) {\n const results = [];\n for (let i = 0; i < children.length; i++) {\n const result = resolveChildren(children[i]);\n Array.isArray(result) ? results.push.apply(results, result) : results.push(result);\n }\n return results;\n }\n return children;\n}\nfunction createProvider(id, options) {\n return function provider(props) {\n let res;\n createRenderEffect(\n () =>\n (res = untrack(() => {\n Owner.context = {\n ...Owner.context,\n [id]: props.value\n };\n return children(() => props.children);\n })),\n undefined\n );\n return res;\n };\n}\nfunction onError(fn) {\n ERROR || (ERROR = Symbol(\"error\"));\n if (Owner === null);\n else if (Owner.context === null || !Owner.context[ERROR]) {\n Owner.context = {\n ...Owner.context,\n [ERROR]: [fn]\n };\n mutateContext(Owner, ERROR, [fn]);\n } else Owner.context[ERROR].push(fn);\n}\nfunction mutateContext(o, key, value) {\n if (o.owned) {\n for (let i = 0; i < o.owned.length; i++) {\n if (o.owned[i].context === o.context) mutateContext(o.owned[i], key, value);\n if (!o.owned[i].context) {\n o.owned[i].context = o.context;\n mutateContext(o.owned[i], key, value);\n } else if (!o.owned[i].context[key]) {\n o.owned[i].context[key] = value;\n mutateContext(o.owned[i], key, value);\n }\n }\n }\n}\n\nfunction observable(input) {\n return {\n subscribe(observer) {\n if (!(observer instanceof Object) || observer == null) {\n throw new TypeError(\"Expected the observer to be an object.\");\n }\n const handler =\n typeof observer === \"function\" ? observer : observer.next && observer.next.bind(observer);\n if (!handler) {\n return {\n unsubscribe() {}\n };\n }\n const dispose = createRoot(disposer => {\n createEffect(() => {\n const v = input();\n untrack(() => handler(v));\n });\n return disposer;\n });\n if (getOwner()) onCleanup(dispose);\n return {\n unsubscribe() {\n dispose();\n }\n };\n },\n [Symbol.observable || \"@@observable\"]() {\n return this;\n }\n };\n}\nfunction from(producer) {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n if (\"subscribe\" in producer) {\n const unsub = producer.subscribe(v => set(() => v));\n onCleanup(() => (\"unsubscribe\" in unsub ? unsub.unsubscribe() : unsub()));\n } else {\n const clean = producer(set);\n onCleanup(clean);\n }\n return s;\n}\n\nconst FALLBACK = Symbol(\"fallback\");\nfunction dispose(d) {\n for (let i = 0; i < d.length; i++) d[i]();\n}\nfunction mapArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n len = 0,\n indexes = mapFn.length > 1 ? [] : null;\n onCleanup(() => dispose(disposers));\n return () => {\n let newItems = list() || [],\n i,\n j;\n newItems[$TRACK];\n return untrack(() => {\n let newLen = newItems.length,\n newIndices,\n newIndicesNext,\n temp,\n tempdisposers,\n tempIndexes,\n start,\n end,\n newEnd,\n item;\n if (newLen === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n indexes && (indexes = []);\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n } else if (len === 0) {\n mapped = new Array(newLen);\n for (j = 0; j < newLen; j++) {\n items[j] = newItems[j];\n mapped[j] = createRoot(mapper);\n }\n len = newLen;\n } else {\n temp = new Array(newLen);\n tempdisposers = new Array(newLen);\n indexes && (tempIndexes = new Array(newLen));\n for (\n start = 0, end = Math.min(len, newLen);\n start < end && items[start] === newItems[start];\n start++\n );\n for (\n end = len - 1, newEnd = newLen - 1;\n end >= start && newEnd >= start && items[end] === newItems[newEnd];\n end--, newEnd--\n ) {\n temp[newEnd] = mapped[end];\n tempdisposers[newEnd] = disposers[end];\n indexes && (tempIndexes[newEnd] = indexes[end]);\n }\n newIndices = new Map();\n newIndicesNext = new Array(newEnd + 1);\n for (j = newEnd; j >= start; j--) {\n item = newItems[j];\n i = newIndices.get(item);\n newIndicesNext[j] = i === undefined ? -1 : i;\n newIndices.set(item, j);\n }\n for (i = start; i <= end; i++) {\n item = items[i];\n j = newIndices.get(item);\n if (j !== undefined && j !== -1) {\n temp[j] = mapped[i];\n tempdisposers[j] = disposers[i];\n indexes && (tempIndexes[j] = indexes[i]);\n j = newIndicesNext[j];\n newIndices.set(item, j);\n } else disposers[i]();\n }\n for (j = start; j < newLen; j++) {\n if (j in temp) {\n mapped[j] = temp[j];\n disposers[j] = tempdisposers[j];\n if (indexes) {\n indexes[j] = tempIndexes[j];\n indexes[j](j);\n }\n } else mapped[j] = createRoot(mapper);\n }\n mapped = mapped.slice(0, (len = newLen));\n items = newItems.slice(0);\n }\n return mapped;\n });\n function mapper(disposer) {\n disposers[j] = disposer;\n if (indexes) {\n const [s, set] = createSignal(j);\n indexes[j] = set;\n return mapFn(newItems[j], s);\n }\n return mapFn(newItems[j]);\n }\n };\n}\nfunction indexArray(list, mapFn, options = {}) {\n let items = [],\n mapped = [],\n disposers = [],\n signals = [],\n len = 0,\n i;\n onCleanup(() => dispose(disposers));\n return () => {\n const newItems = list() || [];\n newItems[$TRACK];\n return untrack(() => {\n if (newItems.length === 0) {\n if (len !== 0) {\n dispose(disposers);\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n signals = [];\n }\n if (options.fallback) {\n items = [FALLBACK];\n mapped[0] = createRoot(disposer => {\n disposers[0] = disposer;\n return options.fallback();\n });\n len = 1;\n }\n return mapped;\n }\n if (items[0] === FALLBACK) {\n disposers[0]();\n disposers = [];\n items = [];\n mapped = [];\n len = 0;\n }\n for (i = 0; i < newItems.length; i++) {\n if (i < items.length && items[i] !== newItems[i]) {\n signals[i](() => newItems[i]);\n } else if (i >= items.length) {\n mapped[i] = createRoot(mapper);\n }\n }\n for (; i < items.length; i++) {\n disposers[i]();\n }\n len = signals.length = disposers.length = newItems.length;\n items = newItems.slice(0);\n return (mapped = mapped.slice(0, len));\n });\n function mapper(disposer) {\n disposers[i] = disposer;\n const [s, set] = createSignal(newItems[i]);\n signals[i] = set;\n return mapFn(s, i);\n }\n };\n}\n\nlet hydrationEnabled = false;\nfunction enableHydration() {\n hydrationEnabled = true;\n}\nfunction createComponent(Comp, props) {\n if (hydrationEnabled) {\n if (sharedConfig.context) {\n const c = sharedConfig.context;\n setHydrateContext(nextHydrateContext());\n const r = untrack(() => Comp(props || {}));\n setHydrateContext(c);\n return r;\n }\n }\n return untrack(() => Comp(props || {}));\n}\nfunction trueFn() {\n return true;\n}\nconst propTraps = {\n get(_, property, receiver) {\n if (property === $PROXY) return receiver;\n return _.get(property);\n },\n has(_, property) {\n if (property === $PROXY) return true;\n return _.has(property);\n },\n set: trueFn,\n deleteProperty: trueFn,\n getOwnPropertyDescriptor(_, property) {\n return {\n configurable: true,\n enumerable: true,\n get() {\n return _.get(property);\n },\n set: trueFn,\n deleteProperty: trueFn\n };\n },\n ownKeys(_) {\n return _.keys();\n }\n};\nfunction resolveSource(s) {\n return !(s = typeof s === \"function\" ? s() : s) ? {} : s;\n}\nfunction resolveSources() {\n for (let i = 0, length = this.length; i < length; ++i) {\n const v = this[i]();\n if (v !== undefined) return v;\n }\n}\nfunction mergeProps(...sources) {\n let proxy = false;\n for (let i = 0; i < sources.length; i++) {\n const s = sources[i];\n proxy = proxy || (!!s && $PROXY in s);\n sources[i] = typeof s === \"function\" ? ((proxy = true), createMemo(s)) : s;\n }\n if (proxy) {\n return new Proxy(\n {\n get(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n const v = resolveSource(sources[i])[property];\n if (v !== undefined) return v;\n }\n },\n has(property) {\n for (let i = sources.length - 1; i >= 0; i--) {\n if (property in resolveSource(sources[i])) return true;\n }\n return false;\n },\n keys() {\n const keys = [];\n for (let i = 0; i < sources.length; i++)\n keys.push(...Object.keys(resolveSource(sources[i])));\n return [...new Set(keys)];\n }\n },\n propTraps\n );\n }\n const sourcesMap = {};\n const defined = Object.create(null);\n for (let i = sources.length - 1; i >= 0; i--) {\n const source = sources[i];\n if (!source) continue;\n const sourceKeys = Object.getOwnPropertyNames(source);\n for (let i = sourceKeys.length - 1; i >= 0; i--) {\n const key = sourceKeys[i];\n if (key === \"__proto__\" || key === \"constructor\") continue;\n const desc = Object.getOwnPropertyDescriptor(source, key);\n if (!defined[key]) {\n defined[key] = desc.get\n ? {\n enumerable: true,\n configurable: true,\n get: resolveSources.bind((sourcesMap[key] = [desc.get.bind(source)]))\n }\n : desc.value !== undefined\n ? desc\n : undefined;\n } else {\n const sources = sourcesMap[key];\n if (sources) {\n if (desc.get) sources.push(desc.get.bind(source));\n else if (desc.value !== undefined) sources.push(() => desc.value);\n }\n }\n }\n }\n const target = {};\n const definedKeys = Object.keys(defined);\n for (let i = definedKeys.length - 1; i >= 0; i--) {\n const key = definedKeys[i],\n desc = defined[key];\n if (desc && desc.get) Object.defineProperty(target, key, desc);\n else target[key] = desc ? desc.value : undefined;\n }\n return target;\n}\nfunction splitProps(props, ...keys) {\n if ($PROXY in props) {\n const blocked = new Set(keys.length > 1 ? keys.flat() : keys[0]);\n const res = keys.map(k => {\n return new Proxy(\n {\n get(property) {\n return k.includes(property) ? props[property] : undefined;\n },\n has(property) {\n return k.includes(property) && property in props;\n },\n keys() {\n return k.filter(property => property in props);\n }\n },\n propTraps\n );\n });\n res.push(\n new Proxy(\n {\n get(property) {\n return blocked.has(property) ? undefined : props[property];\n },\n has(property) {\n return blocked.has(property) ? false : property in props;\n },\n keys() {\n return Object.keys(props).filter(k => !blocked.has(k));\n }\n },\n propTraps\n )\n );\n return res;\n }\n const otherObject = {};\n const objects = keys.map(() => ({}));\n for (const propName of Object.getOwnPropertyNames(props)) {\n const desc = Object.getOwnPropertyDescriptor(props, propName);\n const isDefaultDesc =\n !desc.get && !desc.set && desc.enumerable && desc.writable && desc.configurable;\n let blocked = false;\n let objectIndex = 0;\n for (const k of keys) {\n if (k.includes(propName)) {\n blocked = true;\n isDefaultDesc\n ? (objects[objectIndex][propName] = desc.value)\n : Object.defineProperty(objects[objectIndex], propName, desc);\n }\n ++objectIndex;\n }\n if (!blocked) {\n isDefaultDesc\n ? (otherObject[propName] = desc.value)\n : Object.defineProperty(otherObject, propName, desc);\n }\n }\n return [...objects, otherObject];\n}\nfunction lazy(fn) {\n let comp;\n let p;\n const wrap = props => {\n const ctx = sharedConfig.context;\n if (ctx) {\n const [s, set] = createSignal();\n sharedConfig.count || (sharedConfig.count = 0);\n sharedConfig.count++;\n (p || (p = fn())).then(mod => {\n setHydrateContext(ctx);\n sharedConfig.count--;\n set(() => mod.default);\n setHydrateContext();\n });\n comp = s;\n } else if (!comp) {\n const [s] = createResource(() => (p || (p = fn())).then(mod => mod.default));\n comp = s;\n }\n let Comp;\n return createMemo(\n () =>\n (Comp = comp()) &&\n untrack(() => {\n if (false);\n if (!ctx) return Comp(props);\n const c = sharedConfig.context;\n setHydrateContext(ctx);\n const r = Comp(props);\n setHydrateContext(c);\n return r;\n })\n );\n };\n wrap.preload = () => p || ((p = fn()).then(mod => (comp = () => mod.default)), p);\n return wrap;\n}\nlet counter = 0;\nfunction createUniqueId() {\n const ctx = sharedConfig.context;\n return ctx ? `${ctx.id}${ctx.count++}` : `cl-${counter++}`;\n}\n\nconst narrowedError = name => `Stale read from <${name}>.`;\nfunction For(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(mapArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Index(props) {\n const fallback = \"fallback\" in props && {\n fallback: () => props.fallback\n };\n return createMemo(indexArray(() => props.each, props.children, fallback || undefined));\n}\nfunction Show(props) {\n const keyed = props.keyed;\n const condition = createMemo(() => props.when, undefined, {\n equals: (a, b) => (keyed ? a === b : !a === !b)\n });\n return createMemo(\n () => {\n const c = condition();\n if (c) {\n const child = props.children;\n const fn = typeof child === \"function\" && child.length > 0;\n return fn\n ? untrack(() =>\n child(\n keyed\n ? c\n : () => {\n if (!untrack(condition)) throw narrowedError(\"Show\");\n return props.when;\n }\n )\n )\n : child;\n }\n return props.fallback;\n },\n undefined,\n undefined\n );\n}\nfunction Switch(props) {\n let keyed = false;\n const equals = (a, b) => (keyed ? a[1] === b[1] : !a[1] === !b[1]) && a[2] === b[2];\n const conditions = children(() => props.children),\n evalConditions = createMemo(\n () => {\n let conds = conditions();\n if (!Array.isArray(conds)) conds = [conds];\n for (let i = 0; i < conds.length; i++) {\n const c = conds[i].when;\n if (c) {\n keyed = !!conds[i].keyed;\n return [i, c, conds[i]];\n }\n }\n return [-1];\n },\n undefined,\n {\n equals\n }\n );\n return createMemo(\n () => {\n const [index, when, cond] = evalConditions();\n if (index < 0) return props.fallback;\n const c = cond.children;\n const fn = typeof c === \"function\" && c.length > 0;\n return fn\n ? untrack(() =>\n c(\n keyed\n ? when\n : () => {\n if (untrack(evalConditions)[0] !== index) throw narrowedError(\"Match\");\n return cond.when;\n }\n )\n )\n : c;\n },\n undefined,\n undefined\n );\n}\nfunction Match(props) {\n return props;\n}\nlet Errors;\nfunction resetErrorBoundaries() {\n Errors && [...Errors].forEach(fn => fn());\n}\nfunction ErrorBoundary(props) {\n let err;\n if (sharedConfig.context && sharedConfig.load)\n err = sharedConfig.load(sharedConfig.context.id + sharedConfig.context.count);\n const [errored, setErrored] = createSignal(err, undefined);\n Errors || (Errors = new Set());\n Errors.add(setErrored);\n onCleanup(() => Errors.delete(setErrored));\n return createMemo(\n () => {\n let e;\n if ((e = errored())) {\n const f = props.fallback;\n return typeof f === \"function\" && f.length ? untrack(() => f(e, () => setErrored())) : f;\n }\n return catchError(() => props.children, setErrored);\n },\n undefined,\n undefined\n );\n}\n\nconst suspenseListEquals = (a, b) =>\n a.showContent === b.showContent && a.showFallback === b.showFallback;\nconst SuspenseListContext = createContext();\nfunction SuspenseList(props) {\n let [wrapper, setWrapper] = createSignal(() => ({\n inFallback: false\n })),\n show;\n const listContext = useContext(SuspenseListContext);\n const [registry, setRegistry] = createSignal([]);\n if (listContext) {\n show = listContext.register(createMemo(() => wrapper()().inFallback));\n }\n const resolved = createMemo(\n prev => {\n const reveal = props.revealOrder,\n tail = props.tail,\n { showContent = true, showFallback = true } = show ? show() : {},\n reg = registry(),\n reverse = reveal === \"backwards\";\n if (reveal === \"together\") {\n const all = reg.every(inFallback => !inFallback());\n const res = reg.map(() => ({\n showContent: all && showContent,\n showFallback\n }));\n res.inFallback = !all;\n return res;\n }\n let stop = false;\n let inFallback = prev.inFallback;\n const res = [];\n for (let i = 0, len = reg.length; i < len; i++) {\n const n = reverse ? len - i - 1 : i,\n s = reg[n]();\n if (!stop && !s) {\n res[n] = {\n showContent,\n showFallback\n };\n } else {\n const next = !stop;\n if (next) inFallback = true;\n res[n] = {\n showContent: next,\n showFallback: !tail || (next && tail === \"collapsed\") ? showFallback : false\n };\n stop = true;\n }\n }\n if (!stop) inFallback = false;\n res.inFallback = inFallback;\n return res;\n },\n {\n inFallback: false\n }\n );\n setWrapper(() => resolved);\n return createComponent(SuspenseListContext.Provider, {\n value: {\n register: inFallback => {\n let index;\n setRegistry(registry => {\n index = registry.length;\n return [...registry, inFallback];\n });\n return createMemo(() => resolved()[index], undefined, {\n equals: suspenseListEquals\n });\n }\n },\n get children() {\n return props.children;\n }\n });\n}\nfunction Suspense(props) {\n let counter = 0,\n show,\n ctx,\n p,\n flicker,\n error;\n const [inFallback, setFallback] = createSignal(false),\n SuspenseContext = getSuspenseContext(),\n store = {\n increment: () => {\n if (++counter === 1) setFallback(true);\n },\n decrement: () => {\n if (--counter === 0) setFallback(false);\n },\n inFallback,\n effects: [],\n resolved: false\n },\n owner = getOwner();\n if (sharedConfig.context && sharedConfig.load) {\n const key = sharedConfig.context.id + sharedConfig.context.count;\n let ref = sharedConfig.load(key);\n if (ref) {\n if (typeof ref !== \"object\" || ref.status !== \"success\") p = ref;\n else sharedConfig.gather(key);\n }\n if (p && p !== \"$$f\") {\n const [s, set] = createSignal(undefined, {\n equals: false\n });\n flicker = s;\n p.then(\n () => {\n if (sharedConfig.done) return set();\n sharedConfig.gather(key);\n setHydrateContext(ctx);\n set();\n setHydrateContext();\n },\n err => {\n error = err;\n set();\n }\n );\n }\n }\n const listContext = useContext(SuspenseListContext);\n if (listContext) show = listContext.register(store.inFallback);\n let dispose;\n onCleanup(() => dispose && dispose());\n return createComponent(SuspenseContext.Provider, {\n value: store,\n get children() {\n return createMemo(() => {\n if (error) throw error;\n ctx = sharedConfig.context;\n if (flicker) {\n flicker();\n return (flicker = undefined);\n }\n if (ctx && p === \"$$f\") setHydrateContext();\n const rendered = createMemo(() => props.children);\n return createMemo(prev => {\n const inFallback = store.inFallback(),\n { showContent = true, showFallback = true } = show ? show() : {};\n if ((!inFallback || (p && p !== \"$$f\")) && showContent) {\n store.resolved = true;\n dispose && dispose();\n dispose = ctx = p = undefined;\n resumeEffects(store.effects);\n return rendered();\n }\n if (!showFallback) return;\n if (dispose) return prev;\n return createRoot(disposer => {\n dispose = disposer;\n if (ctx) {\n setHydrateContext({\n id: ctx.id + \"f\",\n count: 0\n });\n ctx = undefined;\n }\n return props.fallback;\n }, owner);\n });\n });\n }\n });\n}\n\nconst DEV = undefined;\n\nexport {\n $DEVCOMP,\n $PROXY,\n $TRACK,\n DEV,\n ErrorBoundary,\n For,\n Index,\n Match,\n Show,\n Suspense,\n SuspenseList,\n Switch,\n batch,\n cancelCallback,\n catchError,\n children,\n createComponent,\n createComputed,\n createContext,\n createDeferred,\n createEffect,\n createMemo,\n createReaction,\n createRenderEffect,\n createResource,\n createRoot,\n createSelector,\n createSignal,\n createUniqueId,\n enableExternalSource,\n enableHydration,\n enableScheduling,\n equalFn,\n from,\n getListener,\n getOwner,\n indexArray,\n lazy,\n mapArray,\n mergeProps,\n observable,\n on,\n onCleanup,\n onError,\n onMount,\n requestCallback,\n resetErrorBoundaries,\n runWithOwner,\n sharedConfig,\n splitProps,\n startTransition,\n untrack,\n useContext,\n useTransition\n};\n","import {\n createRoot,\n sharedConfig,\n createRenderEffect,\n untrack,\n enableHydration,\n getOwner,\n createEffect,\n runWithOwner,\n createMemo,\n createSignal,\n onCleanup,\n splitProps\n} from \"solid-js\";\nexport {\n ErrorBoundary,\n For,\n Index,\n Match,\n Show,\n Suspense,\n SuspenseList,\n Switch,\n createComponent,\n createRenderEffect as effect,\n getOwner,\n createMemo as memo,\n mergeProps,\n untrack\n} from \"solid-js\";\n\nconst booleans = [\n \"allowfullscreen\",\n \"async\",\n \"autofocus\",\n \"autoplay\",\n \"checked\",\n \"controls\",\n \"default\",\n \"disabled\",\n \"formnovalidate\",\n \"hidden\",\n \"indeterminate\",\n \"inert\",\n \"ismap\",\n \"loop\",\n \"multiple\",\n \"muted\",\n \"nomodule\",\n \"novalidate\",\n \"open\",\n \"playsinline\",\n \"readonly\",\n \"required\",\n \"reversed\",\n \"seamless\",\n \"selected\"\n];\nconst Properties = /*#__PURE__*/ new Set([\n \"className\",\n \"value\",\n \"readOnly\",\n \"formNoValidate\",\n \"isMap\",\n \"noModule\",\n \"playsInline\",\n ...booleans\n]);\nconst ChildProperties = /*#__PURE__*/ new Set([\n \"innerHTML\",\n \"textContent\",\n \"innerText\",\n \"children\"\n]);\nconst Aliases = /*#__PURE__*/ Object.assign(Object.create(null), {\n className: \"class\",\n htmlFor: \"for\"\n});\nconst PropAliases = /*#__PURE__*/ Object.assign(Object.create(null), {\n class: \"className\",\n formnovalidate: {\n $: \"formNoValidate\",\n BUTTON: 1,\n INPUT: 1\n },\n ismap: {\n $: \"isMap\",\n IMG: 1\n },\n nomodule: {\n $: \"noModule\",\n SCRIPT: 1\n },\n playsinline: {\n $: \"playsInline\",\n VIDEO: 1\n },\n readonly: {\n $: \"readOnly\",\n INPUT: 1,\n TEXTAREA: 1\n }\n});\nfunction getPropAlias(prop, tagName) {\n const a = PropAliases[prop];\n return typeof a === \"object\" ? (a[tagName] ? a[\"$\"] : undefined) : a;\n}\nconst DelegatedEvents = /*#__PURE__*/ new Set([\n \"beforeinput\",\n \"click\",\n \"dblclick\",\n \"contextmenu\",\n \"focusin\",\n \"focusout\",\n \"input\",\n \"keydown\",\n \"keyup\",\n \"mousedown\",\n \"mousemove\",\n \"mouseout\",\n \"mouseover\",\n \"mouseup\",\n \"pointerdown\",\n \"pointermove\",\n \"pointerout\",\n \"pointerover\",\n \"pointerup\",\n \"touchend\",\n \"touchmove\",\n \"touchstart\"\n]);\nconst SVGElements = /*#__PURE__*/ new Set([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animate\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"circle\",\n \"clipPath\",\n \"color-profile\",\n \"cursor\",\n \"defs\",\n \"desc\",\n \"ellipse\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"filter\",\n \"font\",\n \"font-face\",\n \"font-face-format\",\n \"font-face-name\",\n \"font-face-src\",\n \"font-face-uri\",\n \"foreignObject\",\n \"g\",\n \"glyph\",\n \"glyphRef\",\n \"hkern\",\n \"image\",\n \"line\",\n \"linearGradient\",\n \"marker\",\n \"mask\",\n \"metadata\",\n \"missing-glyph\",\n \"mpath\",\n \"path\",\n \"pattern\",\n \"polygon\",\n \"polyline\",\n \"radialGradient\",\n \"rect\",\n \"set\",\n \"stop\",\n \"svg\",\n \"switch\",\n \"symbol\",\n \"text\",\n \"textPath\",\n \"tref\",\n \"tspan\",\n \"use\",\n \"view\",\n \"vkern\"\n]);\nconst SVGNamespace = {\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\"\n};\nconst DOMElements = /*#__PURE__*/ new Set([\n \"html\",\n \"base\",\n \"head\",\n \"link\",\n \"meta\",\n \"style\",\n \"title\",\n \"body\",\n \"address\",\n \"article\",\n \"aside\",\n \"footer\",\n \"header\",\n \"main\",\n \"nav\",\n \"section\",\n \"body\",\n \"blockquote\",\n \"dd\",\n \"div\",\n \"dl\",\n \"dt\",\n \"figcaption\",\n \"figure\",\n \"hr\",\n \"li\",\n \"ol\",\n \"p\",\n \"pre\",\n \"ul\",\n \"a\",\n \"abbr\",\n \"b\",\n \"bdi\",\n \"bdo\",\n \"br\",\n \"cite\",\n \"code\",\n \"data\",\n \"dfn\",\n \"em\",\n \"i\",\n \"kbd\",\n \"mark\",\n \"q\",\n \"rp\",\n \"rt\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"small\",\n \"span\",\n \"strong\",\n \"sub\",\n \"sup\",\n \"time\",\n \"u\",\n \"var\",\n \"wbr\",\n \"area\",\n \"audio\",\n \"img\",\n \"map\",\n \"track\",\n \"video\",\n \"embed\",\n \"iframe\",\n \"object\",\n \"param\",\n \"picture\",\n \"portal\",\n \"source\",\n \"svg\",\n \"math\",\n \"canvas\",\n \"noscript\",\n \"script\",\n \"del\",\n \"ins\",\n \"caption\",\n \"col\",\n \"colgroup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"tr\",\n \"button\",\n \"datalist\",\n \"fieldset\",\n \"form\",\n \"input\",\n \"label\",\n \"legend\",\n \"meter\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"progress\",\n \"select\",\n \"textarea\",\n \"details\",\n \"dialog\",\n \"menu\",\n \"summary\",\n \"details\",\n \"slot\",\n \"template\",\n \"acronym\",\n \"applet\",\n \"basefont\",\n \"bgsound\",\n \"big\",\n \"blink\",\n \"center\",\n \"content\",\n \"dir\",\n \"font\",\n \"frame\",\n \"frameset\",\n \"hgroup\",\n \"image\",\n \"keygen\",\n \"marquee\",\n \"menuitem\",\n \"nobr\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"rb\",\n \"rtc\",\n \"shadow\",\n \"spacer\",\n \"strike\",\n \"tt\",\n \"xmp\",\n \"a\",\n \"abbr\",\n \"acronym\",\n \"address\",\n \"applet\",\n \"area\",\n \"article\",\n \"aside\",\n \"audio\",\n \"b\",\n \"base\",\n \"basefont\",\n \"bdi\",\n \"bdo\",\n \"bgsound\",\n \"big\",\n \"blink\",\n \"blockquote\",\n \"body\",\n \"br\",\n \"button\",\n \"canvas\",\n \"caption\",\n \"center\",\n \"cite\",\n \"code\",\n \"col\",\n \"colgroup\",\n \"content\",\n \"data\",\n \"datalist\",\n \"dd\",\n \"del\",\n \"details\",\n \"dfn\",\n \"dialog\",\n \"dir\",\n \"div\",\n \"dl\",\n \"dt\",\n \"em\",\n \"embed\",\n \"fieldset\",\n \"figcaption\",\n \"figure\",\n \"font\",\n \"footer\",\n \"form\",\n \"frame\",\n \"frameset\",\n \"head\",\n \"header\",\n \"hgroup\",\n \"hr\",\n \"html\",\n \"i\",\n \"iframe\",\n \"image\",\n \"img\",\n \"input\",\n \"ins\",\n \"kbd\",\n \"keygen\",\n \"label\",\n \"legend\",\n \"li\",\n \"link\",\n \"main\",\n \"map\",\n \"mark\",\n \"marquee\",\n \"menu\",\n \"menuitem\",\n \"meta\",\n \"meter\",\n \"nav\",\n \"nobr\",\n \"noembed\",\n \"noframes\",\n \"noscript\",\n \"object\",\n \"ol\",\n \"optgroup\",\n \"option\",\n \"output\",\n \"p\",\n \"param\",\n \"picture\",\n \"plaintext\",\n \"portal\",\n \"pre\",\n \"progress\",\n \"q\",\n \"rb\",\n \"rp\",\n \"rt\",\n \"rtc\",\n \"ruby\",\n \"s\",\n \"samp\",\n \"script\",\n \"section\",\n \"select\",\n \"shadow\",\n \"slot\",\n \"small\",\n \"source\",\n \"spacer\",\n \"span\",\n \"strike\",\n \"strong\",\n \"style\",\n \"sub\",\n \"summary\",\n \"sup\",\n \"table\",\n \"tbody\",\n \"td\",\n \"template\",\n \"textarea\",\n \"tfoot\",\n \"th\",\n \"thead\",\n \"time\",\n \"title\",\n \"tr\",\n \"track\",\n \"tt\",\n \"u\",\n \"ul\",\n \"var\",\n \"video\",\n \"wbr\",\n \"xmp\",\n \"input\",\n \"h1\",\n \"h2\",\n \"h3\",\n \"h4\",\n \"h5\",\n \"h6\"\n]);\n\nfunction reconcileArrays(parentNode, a, b) {\n let bLength = b.length,\n aEnd = a.length,\n bEnd = bLength,\n aStart = 0,\n bStart = 0,\n after = a[aEnd - 1].nextSibling,\n map = null;\n while (aStart < aEnd || bStart < bEnd) {\n if (a[aStart] === b[bStart]) {\n aStart++;\n bStart++;\n continue;\n }\n while (a[aEnd - 1] === b[bEnd - 1]) {\n aEnd--;\n bEnd--;\n }\n if (aEnd === aStart) {\n const node = bEnd < bLength ? (bStart ? b[bStart - 1].nextSibling : b[bEnd - bStart]) : after;\n while (bStart < bEnd) parentNode.insertBefore(b[bStart++], node);\n } else if (bEnd === bStart) {\n while (aStart < aEnd) {\n if (!map || !map.has(a[aStart])) a[aStart].remove();\n aStart++;\n }\n } else if (a[aStart] === b[bEnd - 1] && b[bStart] === a[aEnd - 1]) {\n const node = a[--aEnd].nextSibling;\n parentNode.insertBefore(b[bStart++], a[aStart++].nextSibling);\n parentNode.insertBefore(b[--bEnd], node);\n a[aEnd] = b[bEnd];\n } else {\n if (!map) {\n map = new Map();\n let i = bStart;\n while (i < bEnd) map.set(b[i], i++);\n }\n const index = map.get(a[aStart]);\n if (index != null) {\n if (bStart < index && index < bEnd) {\n let i = aStart,\n sequence = 1,\n t;\n while (++i < aEnd && i < bEnd) {\n if ((t = map.get(a[i])) == null || t !== index + sequence) break;\n sequence++;\n }\n if (sequence > index - bStart) {\n const node = a[aStart];\n while (bStart < index) parentNode.insertBefore(b[bStart++], node);\n } else parentNode.replaceChild(b[bStart++], a[aStart++]);\n } else aStart++;\n } else a[aStart++].remove();\n }\n }\n}\n\nconst $$EVENTS = \"_$DX_DELEGATE\";\nfunction render(code, element, init, options = {}) {\n let disposer;\n createRoot(dispose => {\n disposer = dispose;\n element === document\n ? code()\n : insert(element, code(), element.firstChild ? null : undefined, init);\n }, options.owner);\n return () => {\n disposer();\n element.textContent = \"\";\n };\n}\nfunction template(html, isCE, isSVG) {\n let node;\n const create = () => {\n const t = document.createElement(\"template\");\n t.innerHTML = html;\n return isSVG ? t.content.firstChild.firstChild : t.content.firstChild;\n };\n const fn = isCE\n ? () => untrack(() => document.importNode(node || (node = create()), true))\n : () => (node || (node = create())).cloneNode(true);\n fn.cloneNode = fn;\n return fn;\n}\nfunction delegateEvents(eventNames, document = window.document) {\n const e = document[$$EVENTS] || (document[$$EVENTS] = new Set());\n for (let i = 0, l = eventNames.length; i < l; i++) {\n const name = eventNames[i];\n if (!e.has(name)) {\n e.add(name);\n document.addEventListener(name, eventHandler);\n }\n }\n}\nfunction clearDelegatedEvents(document = window.document) {\n if (document[$$EVENTS]) {\n for (let name of document[$$EVENTS].keys()) document.removeEventListener(name, eventHandler);\n delete document[$$EVENTS];\n }\n}\nfunction setProperty(node, name, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n node[name] = value;\n}\nfunction setAttribute(node, name, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n if (value == null) node.removeAttribute(name);\n else node.setAttribute(name, value);\n}\nfunction setAttributeNS(node, namespace, name, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n if (value == null) node.removeAttributeNS(namespace, name);\n else node.setAttributeNS(namespace, name, value);\n}\nfunction className(node, value) {\n if (!!sharedConfig.context && node.isConnected) return;\n if (value == null) node.removeAttribute(\"class\");\n else node.className = value;\n}\nfunction addEventListener(node, name, handler, delegate) {\n if (delegate) {\n if (Array.isArray(handler)) {\n node[`$$${name}`] = handler[0];\n node[`$$${name}Data`] = handler[1];\n } else node[`$$${name}`] = handler;\n } else if (Array.isArray(handler)) {\n const handlerFn = handler[0];\n node.addEventListener(name, (handler[0] = e => handlerFn.call(node, handler[1], e)));\n } else node.addEventListener(name, handler);\n}\nfunction classList(node, value, prev = {}) {\n const classKeys = Object.keys(value || {}),\n prevKeys = Object.keys(prev);\n let i, len;\n for (i = 0, len = prevKeys.length; i < len; i++) {\n const key = prevKeys[i];\n if (!key || key === \"undefined\" || value[key]) continue;\n toggleClassKey(node, key, false);\n delete prev[key];\n }\n for (i = 0, len = classKeys.length; i < len; i++) {\n const key = classKeys[i],\n classValue = !!value[key];\n if (!key || key === \"undefined\" || prev[key] === classValue || !classValue) continue;\n toggleClassKey(node, key, true);\n prev[key] = classValue;\n }\n return prev;\n}\nfunction style(node, value, prev) {\n if (!value) return prev ? setAttribute(node, \"style\") : value;\n const nodeStyle = node.style;\n if (typeof value === \"string\") return (nodeStyle.cssText = value);\n typeof prev === \"string\" && (nodeStyle.cssText = prev = undefined);\n prev || (prev = {});\n value || (value = {});\n let v, s;\n for (s in prev) {\n value[s] == null && nodeStyle.removeProperty(s);\n delete prev[s];\n }\n for (s in value) {\n v = value[s];\n if (v !== prev[s]) {\n nodeStyle.setProperty(s, v);\n prev[s] = v;\n }\n }\n return prev;\n}\nfunction spread(node, props = {}, isSVG, skipChildren) {\n const prevProps = {};\n if (!skipChildren) {\n createRenderEffect(\n () => (prevProps.children = insertExpression(node, props.children, prevProps.children))\n );\n }\n createRenderEffect(() =>\n typeof props.ref === \"function\" ? use(props.ref, node) : (props.ref = node)\n );\n createRenderEffect(() => assign(node, props, isSVG, true, prevProps, true));\n return prevProps;\n}\nfunction dynamicProperty(props, key) {\n const src = props[key];\n Object.defineProperty(props, key, {\n get() {\n return src();\n },\n enumerable: true\n });\n return props;\n}\nfunction use(fn, element, arg) {\n return untrack(() => fn(element, arg));\n}\nfunction insert(parent, accessor, marker, initial) {\n if (marker !== undefined && !initial) initial = [];\n if (typeof accessor !== \"function\") return insertExpression(parent, accessor, initial, marker);\n createRenderEffect(current => insertExpression(parent, accessor(), current, marker), initial);\n}\nfunction assign(node, props, isSVG, skipChildren, prevProps = {}, skipRef = false) {\n props || (props = {});\n for (const prop in prevProps) {\n if (!(prop in props)) {\n if (prop === \"children\") continue;\n prevProps[prop] = assignProp(node, prop, null, prevProps[prop], isSVG, skipRef);\n }\n }\n for (const prop in props) {\n if (prop === \"children\") {\n if (!skipChildren) insertExpression(node, props.children);\n continue;\n }\n const value = props[prop];\n prevProps[prop] = assignProp(node, prop, value, prevProps[prop], isSVG, skipRef);\n }\n}\nfunction hydrate$1(code, element, options = {}) {\n sharedConfig.completed = globalThis._$HY.completed;\n sharedConfig.events = globalThis._$HY.events;\n sharedConfig.load = id => globalThis._$HY.r[id];\n sharedConfig.has = id => id in globalThis._$HY.r;\n sharedConfig.gather = root => gatherHydratable(element, root);\n sharedConfig.registry = new Map();\n sharedConfig.context = {\n id: options.renderId || \"\",\n count: 0\n };\n gatherHydratable(element, options.renderId);\n const dispose = render(code, element, [...element.childNodes], options);\n sharedConfig.context = null;\n return dispose;\n}\nfunction getNextElement(template) {\n let node, key;\n if (!sharedConfig.context || !(node = sharedConfig.registry.get((key = getHydrationKey())))) {\n return template();\n }\n if (sharedConfig.completed) sharedConfig.completed.add(node);\n sharedConfig.registry.delete(key);\n return node;\n}\nfunction getNextMatch(el, nodeName) {\n while (el && el.localName !== nodeName) el = el.nextSibling;\n return el;\n}\nfunction getNextMarker(start) {\n let end = start,\n count = 0,\n current = [];\n if (sharedConfig.context) {\n while (end) {\n if (end.nodeType === 8) {\n const v = end.nodeValue;\n if (v === \"$\") count++;\n else if (v === \"/\") {\n if (count === 0) return [end, current];\n count--;\n }\n }\n current.push(end);\n end = end.nextSibling;\n }\n }\n return [end, current];\n}\nfunction runHydrationEvents() {\n if (sharedConfig.events && !sharedConfig.events.queued) {\n queueMicrotask(() => {\n const { completed, events } = sharedConfig;\n events.queued = false;\n while (events.length) {\n const [el, e] = events[0];\n if (!completed.has(el)) return;\n eventHandler(e);\n events.shift();\n }\n });\n sharedConfig.events.queued = true;\n }\n}\nfunction toPropertyName(name) {\n return name.toLowerCase().replace(/-([a-z])/g, (_, w) => w.toUpperCase());\n}\nfunction toggleClassKey(node, key, value) {\n const classNames = key.trim().split(/\\s+/);\n for (let i = 0, nameLen = classNames.length; i < nameLen; i++)\n node.classList.toggle(classNames[i], value);\n}\nfunction assignProp(node, prop, value, prev, isSVG, skipRef) {\n let isCE, isProp, isChildProp, propAlias, forceProp;\n if (prop === \"style\") return style(node, value, prev);\n if (prop === \"classList\") return classList(node, value, prev);\n if (value === prev) return prev;\n if (prop === \"ref\") {\n if (!skipRef) value(node);\n } else if (prop.slice(0, 3) === \"on:\") {\n const e = prop.slice(3);\n prev && node.removeEventListener(e, prev);\n value && node.addEventListener(e, value);\n } else if (prop.slice(0, 10) === \"oncapture:\") {\n const e = prop.slice(10);\n prev && node.removeEventListener(e, prev, true);\n value && node.addEventListener(e, value, true);\n } else if (prop.slice(0, 2) === \"on\") {\n const name = prop.slice(2).toLowerCase();\n const delegate = DelegatedEvents.has(name);\n if (!delegate && prev) {\n const h = Array.isArray(prev) ? prev[0] : prev;\n node.removeEventListener(name, h);\n }\n if (delegate || value) {\n addEventListener(node, name, value, delegate);\n delegate && delegateEvents([name]);\n }\n } else if (prop.slice(0, 5) === \"attr:\") {\n setAttribute(node, prop.slice(5), value);\n } else if (\n (forceProp = prop.slice(0, 5) === \"prop:\") ||\n (isChildProp = ChildProperties.has(prop)) ||\n (!isSVG &&\n ((propAlias = getPropAlias(prop, node.tagName)) || (isProp = Properties.has(prop)))) ||\n (isCE = node.nodeName.includes(\"-\"))\n ) {\n if (forceProp) {\n prop = prop.slice(5);\n isProp = true;\n } else if (!!sharedConfig.context && node.isConnected) return value;\n if (prop === \"class\" || prop === \"className\") className(node, value);\n else if (isCE && !isProp && !isChildProp) node[toPropertyName(prop)] = value;\n else node[propAlias || prop] = value;\n } else {\n const ns = isSVG && prop.indexOf(\":\") > -1 && SVGNamespace[prop.split(\":\")[0]];\n if (ns) setAttributeNS(node, ns, prop, value);\n else setAttribute(node, Aliases[prop] || prop, value);\n }\n return value;\n}\nfunction eventHandler(e) {\n const key = `$$${e.type}`;\n let node = (e.composedPath && e.composedPath()[0]) || e.target;\n if (e.target !== node) {\n Object.defineProperty(e, \"target\", {\n configurable: true,\n value: node\n });\n }\n Object.defineProperty(e, \"currentTarget\", {\n configurable: true,\n get() {\n return node || document;\n }\n });\n if (sharedConfig.registry && !sharedConfig.done) sharedConfig.done = _$HY.done = true;\n while (node) {\n const handler = node[key];\n if (handler && !node.disabled) {\n const data = node[`${key}Data`];\n data !== undefined ? handler.call(node, data, e) : handler.call(node, e);\n if (e.cancelBubble) return;\n }\n node = node._$host || node.parentNode || node.host;\n }\n}\nfunction insertExpression(parent, value, current, marker, unwrapArray) {\n const hydrating = !!sharedConfig.context && parent.isConnected;\n if (hydrating) {\n !current && (current = [...parent.childNodes]);\n let cleaned = [];\n for (let i = 0; i < current.length; i++) {\n const node = current[i];\n if (node.nodeType === 8 && node.data.slice(0, 2) === \"!$\") node.remove();\n else cleaned.push(node);\n }\n current = cleaned;\n }\n while (typeof current === \"function\") current = current();\n if (value === current) return current;\n const t = typeof value,\n multi = marker !== undefined;\n parent = (multi && current[0] && current[0].parentNode) || parent;\n if (t === \"string\" || t === \"number\") {\n if (hydrating) return current;\n if (t === \"number\") {\n value = value.toString();\n if (value === current) return current;\n }\n if (multi) {\n let node = current[0];\n if (node && node.nodeType === 3) {\n node.data !== value && (node.data = value);\n } else node = document.createTextNode(value);\n current = cleanChildren(parent, current, marker, node);\n } else {\n if (current !== \"\" && typeof current === \"string\") {\n current = parent.firstChild.data = value;\n } else current = parent.textContent = value;\n }\n } else if (value == null || t === \"boolean\") {\n if (hydrating) return current;\n current = cleanChildren(parent, current, marker);\n } else if (t === \"function\") {\n createRenderEffect(() => {\n let v = value();\n while (typeof v === \"function\") v = v();\n current = insertExpression(parent, v, current, marker);\n });\n return () => current;\n } else if (Array.isArray(value)) {\n const array = [];\n const currentArray = current && Array.isArray(current);\n if (normalizeIncomingArray(array, value, current, unwrapArray)) {\n createRenderEffect(() => (current = insertExpression(parent, array, current, marker, true)));\n return () => current;\n }\n if (hydrating) {\n if (!array.length) return current;\n if (marker === undefined) return [...parent.childNodes];\n let node = array[0];\n let nodes = [node];\n while ((node = node.nextSibling) !== marker) nodes.push(node);\n return (current = nodes);\n }\n if (array.length === 0) {\n current = cleanChildren(parent, current, marker);\n if (multi) return current;\n } else if (currentArray) {\n if (current.length === 0) {\n appendNodes(parent, array, marker);\n } else reconcileArrays(parent, current, array);\n } else {\n current && cleanChildren(parent);\n appendNodes(parent, array);\n }\n current = array;\n } else if (value.nodeType) {\n if (hydrating && value.parentNode) return (current = multi ? [value] : value);\n if (Array.isArray(current)) {\n if (multi) return (current = cleanChildren(parent, current, marker, value));\n cleanChildren(parent, current, null, value);\n } else if (current == null || current === \"\" || !parent.firstChild) {\n parent.appendChild(value);\n } else parent.replaceChild(value, parent.firstChild);\n current = value;\n } else;\n return current;\n}\nfunction normalizeIncomingArray(normalized, array, current, unwrap) {\n let dynamic = false;\n for (let i = 0, len = array.length; i < len; i++) {\n let item = array[i],\n prev = current && current[normalized.length],\n t;\n if (item == null || item === true || item === false);\n else if ((t = typeof item) === \"object\" && item.nodeType) {\n normalized.push(item);\n } else if (Array.isArray(item)) {\n dynamic = normalizeIncomingArray(normalized, item, prev) || dynamic;\n } else if (t === \"function\") {\n if (unwrap) {\n while (typeof item === \"function\") item = item();\n dynamic =\n normalizeIncomingArray(\n normalized,\n Array.isArray(item) ? item : [item],\n Array.isArray(prev) ? prev : [prev]\n ) || dynamic;\n } else {\n normalized.push(item);\n dynamic = true;\n }\n } else {\n const value = String(item);\n if (prev && prev.nodeType === 3 && prev.data === value) normalized.push(prev);\n else normalized.push(document.createTextNode(value));\n }\n }\n return dynamic;\n}\nfunction appendNodes(parent, array, marker = null) {\n for (let i = 0, len = array.length; i < len; i++) parent.insertBefore(array[i], marker);\n}\nfunction cleanChildren(parent, current, marker, replacement) {\n if (marker === undefined) return (parent.textContent = \"\");\n const node = replacement || document.createTextNode(\"\");\n if (current.length) {\n let inserted = false;\n for (let i = current.length - 1; i >= 0; i--) {\n const el = current[i];\n if (node !== el) {\n const isParent = el.parentNode === parent;\n if (!inserted && !i)\n isParent ? parent.replaceChild(node, el) : parent.insertBefore(node, marker);\n else isParent && el.remove();\n } else inserted = true;\n }\n } else parent.insertBefore(node, marker);\n return [node];\n}\nfunction gatherHydratable(element, root) {\n const templates = element.querySelectorAll(`*[data-hk]`);\n for (let i = 0; i < templates.length; i++) {\n const node = templates[i];\n const key = node.getAttribute(\"data-hk\");\n if ((!root || key.startsWith(root)) && !sharedConfig.registry.has(key))\n sharedConfig.registry.set(key, node);\n }\n}\nfunction getHydrationKey() {\n const hydrate = sharedConfig.context;\n return `${hydrate.id}${hydrate.count++}`;\n}\nfunction NoHydration(props) {\n return sharedConfig.context ? undefined : props.children;\n}\nfunction Hydration(props) {\n return props.children;\n}\nconst voidFn = () => undefined;\nconst RequestContext = Symbol();\nfunction innerHTML(parent, content) {\n !sharedConfig.context && (parent.innerHTML = content);\n}\n\nfunction throwInBrowser(func) {\n const err = new Error(`${func.name} is not supported in the browser, returning undefined`);\n console.error(err);\n}\nfunction renderToString(fn, options) {\n throwInBrowser(renderToString);\n}\nfunction renderToStringAsync(fn, options) {\n throwInBrowser(renderToStringAsync);\n}\nfunction renderToStream(fn, options) {\n throwInBrowser(renderToStream);\n}\nfunction ssr(template, ...nodes) {}\nfunction ssrElement(name, props, children, needsId) {}\nfunction ssrClassList(value) {}\nfunction ssrStyle(value) {}\nfunction ssrAttribute(key, value) {}\nfunction ssrHydrationKey() {}\nfunction resolveSSRNode(node) {}\nfunction escape(html) {}\nfunction ssrSpread(props, isSVG, skipChildren) {}\n\nconst isServer = false;\nconst isDev = false;\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nfunction createElement(tagName, isSVG = false) {\n return isSVG ? document.createElementNS(SVG_NAMESPACE, tagName) : document.createElement(tagName);\n}\nconst hydrate = (...args) => {\n enableHydration();\n return hydrate$1(...args);\n};\nfunction Portal(props) {\n const { useShadow } = props,\n marker = document.createTextNode(\"\"),\n mount = () => props.mount || document.body,\n owner = getOwner();\n let content;\n let hydrating = !!sharedConfig.context;\n createEffect(\n () => {\n if (hydrating) getOwner().user = hydrating = false;\n content || (content = runWithOwner(owner, () => createMemo(() => props.children)));\n const el = mount();\n if (el instanceof HTMLHeadElement) {\n const [clean, setClean] = createSignal(false);\n const cleanup = () => setClean(true);\n createRoot(dispose => insert(el, () => (!clean() ? content() : dispose()), null));\n onCleanup(cleanup);\n } else {\n const container = createElement(props.isSVG ? \"g\" : \"div\", props.isSVG),\n renderRoot =\n useShadow && container.attachShadow\n ? container.attachShadow({\n mode: \"open\"\n })\n : container;\n Object.defineProperty(container, \"_$host\", {\n get() {\n return marker.parentNode;\n },\n configurable: true\n });\n insert(renderRoot, content);\n el.appendChild(container);\n props.ref && props.ref(container);\n onCleanup(() => el.removeChild(container));\n }\n },\n undefined,\n {\n render: !hydrating\n }\n );\n return marker;\n}\nfunction Dynamic(props) {\n const [p, others] = splitProps(props, [\"component\"]);\n const cached = createMemo(() => p.component);\n return createMemo(() => {\n const component = cached();\n switch (typeof component) {\n case \"function\":\n return untrack(() => component(others));\n case \"string\":\n const isSvg = SVGElements.has(component);\n const el = sharedConfig.context ? getNextElement() : createElement(component, isSvg);\n spread(el, others, isSvg);\n return el;\n }\n });\n}\n\nexport {\n Aliases,\n voidFn as Assets,\n ChildProperties,\n DOMElements,\n DelegatedEvents,\n Dynamic,\n Hydration,\n voidFn as HydrationScript,\n NoHydration,\n Portal,\n Properties,\n RequestContext,\n SVGElements,\n SVGNamespace,\n addEventListener,\n assign,\n classList,\n className,\n clearDelegatedEvents,\n delegateEvents,\n dynamicProperty,\n escape,\n voidFn as generateHydrationScript,\n voidFn as getAssets,\n getHydrationKey,\n getNextElement,\n getNextMarker,\n getNextMatch,\n getPropAlias,\n voidFn as getRequestEvent,\n hydrate,\n innerHTML,\n insert,\n isDev,\n isServer,\n render,\n renderToStream,\n renderToString,\n renderToStringAsync,\n resolveSSRNode,\n runHydrationEvents,\n setAttribute,\n setAttributeNS,\n setProperty,\n spread,\n ssr,\n ssrAttribute,\n ssrClassList,\n ssrElement,\n ssrHydrationKey,\n ssrSpread,\n ssrStyle,\n style,\n template,\n use,\n voidFn as useAssets\n};\n","import { Suspense } from \"solid-js\";\nimport { createComponent, hydrate, render } from \"solid-js/web\";\nvar client_default = (element) => (Component, props, slotted, { client }) => {\n if (!element.hasAttribute(\"ssr\")) return;\n const isHydrate = client !== \"only\";\n const bootstrap = isHydrate ? hydrate : render;\n let slot;\n let _slots = {};\n if (Object.keys(slotted).length > 0) {\n if (client !== \"only\") {\n const iterator = document.createTreeWalker(element, NodeFilter.SHOW_ELEMENT, (node) => {\n if (node === element) return NodeFilter.FILTER_SKIP;\n if (node.nodeName === \"ASTRO-SLOT\") return NodeFilter.FILTER_ACCEPT;\n if (node.nodeName === \"ASTRO-ISLAND\") return NodeFilter.FILTER_REJECT;\n return NodeFilter.FILTER_SKIP;\n });\n while (slot = iterator.nextNode())\n _slots[slot.getAttribute(\"name\") || \"default\"] = slot;\n }\n for (const [key, value] of Object.entries(slotted)) {\n if (_slots[key]) continue;\n _slots[key] = document.createElement(\"astro-slot\");\n if (key !== \"default\") _slots[key].setAttribute(\"name\", key);\n _slots[key].innerHTML = value;\n }\n }\n const { default: children, ...slots } = _slots;\n const renderId = element.dataset.solidRenderId;\n const dispose = bootstrap(\n () => {\n const inner = () => createComponent(Component, {\n ...props,\n ...slots,\n children\n });\n if (isHydrate) {\n return createComponent(Suspense, {\n get children() {\n return inner();\n }\n });\n } else {\n return inner();\n }\n },\n element,\n {\n renderId\n }\n );\n element.addEventListener(\"astro:unmount\", () => dispose(), { once: true });\n};\nexport {\n client_default as default\n};\n"],"names":["sharedConfig","setHydrateContext","context","nextHydrateContext","equalFn","a","b","signalOptions","runEffects","runQueue","STALE","PENDING","UNOWNED","Owner","Transition","ExternalSourceConfig","Listener","Updates","Effects","ExecCount","createRoot","fn","detachedOwner","listener","owner","unowned","current","root","updateFn","untrack","cleanNode","runUpdates","createSignal","value","options","s","setter","writeSignal","readSignal","createRenderEffect","c","createComputation","updateComputation","createMemo","onCleanup","getOwner","resumeEffects","createContext","defaultValue","id","createProvider","useContext","children","memo","resolveChildren","SuspenseContext","getSuspenseContext","updates","lookUpstream","sSlot","node","isComp","o","TransitionRunning","markDownstream","time","runComputation","nextValue","err","handleError","init","pure","state","runTop","ancestors","i","wait","res","completeUpdates","e","queue","ignore","source","index","obs","n","castError","results","result","props","hydrationEnabled","enableHydration","createComponent","Comp","r","SuspenseListContext","Suspense","counter","show","ctx","p","flicker","error","inFallback","setFallback","store","key","ref","set","listContext","dispose","rendered","prev","showContent","showFallback","disposer","reconcileArrays","parentNode","bLength","aEnd","bEnd","aStart","bStart","after","map","sequence","t","render","code","element","insert","parent","accessor","marker","initial","insertExpression","hydrate$1","gatherHydratable","unwrapArray","hydrating","cleaned","multi","cleanChildren","v","array","currentArray","normalizeIncomingArray","nodes","appendNodes","normalized","unwrap","dynamic","len","item","replacement","inserted","el","isParent","templates","hydrate","args","client_default","Component","slotted","client","isHydrate","bootstrap","slot","_slots","iterator","slots","renderId","inner"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_astro/index.CHfFPdCe.css b/Target/_astro/index.CHfFPdCe.css new file mode 100644 index 00000000..edad4d21 --- /dev/null +++ b/Target/_astro/index.CHfFPdCe.css @@ -0,0 +1 @@ +/*! tailwindcss v3.4.4 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box;--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem;--tw-shadow:0 0 #0000}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem;--tw-shadow:0 0 #0000}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:transparent}[type=checkbox]:indeterminate{background-color:currentColor;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:transparent}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:transparent}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px auto -webkit-focus-ring-color}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.grow{flex-grow:1}@media (forced-colors:active){[type=checkbox]:checked,[type=radio]:checked{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}[type=checkbox]:indeterminate{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}}.astro-route-announcer{left:0;position:absolute;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;white-space:nowrap;width:1px}html{-webkit-tap-highlight-color:transparent}body,html{height:100%;width:100%}body{display:flex;flex-direction:column;flex-grow:1;--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-variant-ligatures:no-common-ligatures;--swup-overlay-theme-color:#fff;--swup-overlay-theme-duration:.2s;--swup-overlay-theme-delay:0s;--swup-overlay-theme-scale:1.2;--swup-overlay-theme-skew:0deg}::-moz-selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}::selection{text-shadow:none;--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity))}img{display:inline-block;outline:2px solid transparent;outline-offset:2px;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}@media (min-width:640px){body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}}@media (prefers-color-scheme:dark){body{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity));--swup-overlay-theme-color:#000}::-moz-selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}::selection{--tw-bg-opacity:1;background-color:rgb(251 146 60/var(--tw-bg-opacity));--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}} diff --git a/Target/_astro/index.esm.CQlgJgN2.js b/Target/_astro/index.esm.CQlgJgN2.js new file mode 100644 index 00000000..1358c027 --- /dev/null +++ b/Target/_astro/index.esm.CQlgJgN2.js @@ -0,0 +1 @@ +var L={};const W=function(e){const t=[];let r=0;for(let n=0;n>6|192,t[r++]=63&a|128):55296==(64512&a)&&n+1>18|240,t[r++]=a>>12&63|128,t[r++]=a>>6&63|128,t[r++]=63&a|128):(t[r++]=a>>12|224,t[r++]=a>>6&63|128,t[r++]=63&a|128)}return t},ee=function(e){const t=[];let r=0,n=0;for(;r191&&a<224){const i=e[r++];t[n++]=String.fromCharCode((31&a)<<6|63&i)}else if(a>239&&a<365){const i=((7&a)<<18|(63&e[r++])<<12|(63&e[r++])<<6|63&e[r++])-65536;t[n++]=String.fromCharCode(55296+(i>>10)),t[n++]=String.fromCharCode(56320+(1023&i))}else{const i=e[r++],s=e[r++];t[n++]=String.fromCharCode((15&a)<<12|(63&i)<<6|63&s)}}return t.join("")},G={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();const r=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,n=[];for(let t=0;t>2,l=(3&a)<<4|s>>4;let d=(15&s)<<2|c>>6,u=63&c;o||(u=64,i||(d=64)),n.push(r[h],r[l],r[d],r[u])}return n.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(W(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):ee(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();const r=t?this.charToByteMapWebSafe_:this.charToByteMap_,n=[];for(let t=0;t>4;if(n.push(c),64!==s){const e=i<<4&240|s>>2;if(n.push(e),64!==o){const e=s<<6&192|o;n.push(e)}}}return n},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class te extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}const ne=function(e){const t=W(e);return G.encodeByteArray(t,!0)},J=function(e){return ne(e).replace(/\./g,"")},re=function(e){try{return G.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null};function se(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof global<"u")return global;throw new Error("Unable to locate global object.")}const ae=()=>se().__FIREBASE_DEFAULTS__,ie=()=>{if(typeof process>"u"||typeof L>"u")return;const e=L.__FIREBASE_DEFAULTS__;return e?JSON.parse(e):void 0},oe=()=>{if(typeof document>"u")return;let e;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch{return}const t=e&&re(e[1]);return t&&JSON.parse(t)},ce=()=>{try{return ae()||ie()||oe()}catch(e){return void console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`)}},he=()=>{var e;return null===(e=ce())||void 0===e?void 0:e.config};class le{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise(((e,t)=>{this.resolve=e,this.reject=t}))}wrapCallback(e){return(t,r)=>{t?this.reject(t):this.resolve(r),"function"==typeof e&&(this.promise.catch((()=>{})),1===e.length?e(t):e(t,r))}}}function de(){try{return"object"==typeof indexedDB}catch{return!1}}function fe(){return new Promise(((e,t)=>{try{let r=!0;const n="validate-browser-context-for-indexeddb-analytics-module",a=self.indexedDB.open(n);a.onsuccess=()=>{a.result.close(),r||self.indexedDB.deleteDatabase(n),e(!0)},a.onupgradeneeded=()=>{r=!1},a.onerror=()=>{var e;t((null===(e=a.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}}))}const ue="FirebaseError";class b extends Error{constructor(e,t,r){super(t),this.code=e,this.customData=r,this.name=ue,Object.setPrototypeOf(this,b.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,K.prototype.create)}}class K{constructor(e,t,r){this.service=e,this.serviceName=t,this.errors=r}create(e,...t){const r=t[0]||{},n=`${this.service}/${e}`,a=this.errors[e],i=a?pe(a,r):"Error",s=`${this.serviceName}: ${i} (${n}).`;return new b(n,s,r)}}function pe(e,t){return e.replace(me,((e,r)=>{const n=t[r];return null!=n?String(n):`<${r}?>`}))}const me=/\{\$([^}]+)}/g;function C(e,t){if(e===t)return!0;const r=Object.keys(e),n=Object.keys(t);for(const a of r){if(!n.includes(a))return!1;const r=e[a],i=t[a];if(H(r)&&H(i)){if(!C(r,i))return!1}else if(r!==i)return!1}for(const e of n)if(!r.includes(e))return!1;return!0}function H(e){return null!==e&&"object"==typeof e}class D{constructor(e,t,r){this.name=e,this.instanceFactory=t,this.type=r,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}const f="[DEFAULT]";class ge{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){const t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){const e=new le;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{const r=this.getOrInitializeService({instanceIdentifier:t});r&&e.resolve(r)}catch{}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;const r=this.normalizeInstanceIdentifier(e?.identifier),n=null!==(t=e?.optional)&&void 0!==t&&t;if(!this.isInitialized(r)&&!this.shouldAutoInitialize()){if(n)return null;throw Error(`Service ${this.name} is not available`)}try{return this.getOrInitializeService({instanceIdentifier:r})}catch(e){if(n)return null;throw e}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if(_e(e))try{this.getOrInitializeService({instanceIdentifier:f})}catch{}for(const[e,t]of this.instancesDeferred.entries()){const r=this.normalizeInstanceIdentifier(e);try{const e=this.getOrInitializeService({instanceIdentifier:r});t.resolve(e)}catch{}}}}clearInstance(e=f){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){const e=Array.from(this.instances.values());await Promise.all([...e.filter((e=>"INTERNAL"in e)).map((e=>e.INTERNAL.delete())),...e.filter((e=>"_delete"in e)).map((e=>e._delete()))])}isComponentSet(){return null!=this.component}isInitialized(e=f){return this.instances.has(e)}getOptions(e=f){return this.instancesOptions.get(e)||{}}initialize(e={}){const{options:t={}}=e,r=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(r))throw Error(`${this.name}(${r}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);const n=this.getOrInitializeService({instanceIdentifier:r,options:t});for(const[e,t]of this.instancesDeferred.entries()){r===this.normalizeInstanceIdentifier(e)&&t.resolve(n)}return n}onInit(e,t){var r;const n=this.normalizeInstanceIdentifier(t),a=null!==(r=this.onInitCallbacks.get(n))&&void 0!==r?r:new Set;a.add(e),this.onInitCallbacks.set(n,a);const i=this.instances.get(n);return i&&e(i,n),()=>{a.delete(e)}}invokeOnInitCallbacks(e,t){const r=this.onInitCallbacks.get(t);if(r)for(const n of r)try{n(e,t)}catch{}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let r=this.instances.get(e);if(!r&&this.component&&(r=this.component.instanceFactory(this.container,{instanceIdentifier:be(e),options:t}),this.instances.set(e,r),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(r,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,r)}catch{}return r||null}normalizeInstanceIdentifier(e=f){return this.component?this.component.multipleInstances?e:f:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}function be(e){return e===f?void 0:e}function _e(e){return"EAGER"===e.instantiationMode}class Ee{constructor(e){this.name=e,this.providers=new Map}addComponent(e){const t=this.getProvider(e.name);if(t.isComponentSet())throw new Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);const t=new ge(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}var h;!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(h||(h={}));const ye={debug:h.DEBUG,verbose:h.VERBOSE,info:h.INFO,warn:h.WARN,error:h.ERROR,silent:h.SILENT},De=h.INFO,Ie={[h.DEBUG]:"log",[h.VERBOSE]:"log",[h.INFO]:"info",[h.WARN]:"warn",[h.ERROR]:"error"},ve=(e,t,...r)=>{if(tt.some((t=>e instanceof t));let P,F;function Ce(){return P||(P=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function Ae(){return F||(F=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}const Y=new WeakMap,A=new WeakMap,X=new WeakMap,I=new WeakMap,N=new WeakMap;function Be(e){const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{t(d(e.result)),n()},i=()=>{r(e.error),n()};e.addEventListener("success",a),e.addEventListener("error",i)}));return t.then((t=>{t instanceof IDBCursor&&Y.set(t,e)})).catch((()=>{})),N.set(t,e),t}function Oe(e){if(A.has(e))return;const t=new Promise(((t,r)=>{const n=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)}));A.set(e,t)}let B={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return A.get(e);if("objectStoreNames"===t)return e.objectStoreNames||X.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return d(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function Te(e){B=e(B)}function Me(e){return e!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?Ae().includes(e)?function(...t){return e.apply(v(this),t),d(Y.get(this))}:function(...t){return d(e.apply(v(this),t))}:function(t,...r){const n=e.call(v(this),t,...r);return X.set(n,t.sort?t.sort():[t]),d(n)}}function $e(e){return"function"==typeof e?Me(e):(e instanceof IDBTransaction&&Oe(e),Se(e,Ce())?new Proxy(e,B):e)}function d(e){if(e instanceof IDBRequest)return Be(e);if(I.has(e))return I.get(e);const t=$e(e);return t!==e&&(I.set(e,t),N.set(t,e)),t}const v=e=>N.get(e);function Ne(e,t,{blocked:r,upgrade:n,blocking:a,terminated:i}={}){const s=indexedDB.open(e,t),o=d(s);return n&&s.addEventListener("upgradeneeded",(e=>{n(d(s.result),e.oldVersion,e.newVersion,d(s.transaction),e)})),r&&s.addEventListener("blocked",(e=>r(e.oldVersion,e.newVersion,e))),o.then((e=>{i&&e.addEventListener("close",(()=>i())),a&&e.addEventListener("versionchange",(e=>a(e.oldVersion,e.newVersion,e)))})).catch((()=>{})),o}const Re=["get","getKey","getAll","getAllKeys","count"],Le=["put","add","delete","clear"],w=new Map;function x(e,t){if(!(e instanceof IDBDatabase)||t in e||"string"!=typeof t)return;if(w.get(t))return w.get(t);const r=t.replace(/FromIndex$/,""),n=t!==r,a=Le.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!a&&!Re.includes(r))return;const i=async function(e,...t){const i=this.transaction(e,a?"readwrite":"readonly");let s=i.store;return n&&(s=s.index(t.shift())),(await Promise.all([s[r](...t),a&&i.done]))[0]};return w.set(t,i),i}Te((e=>({...e,get:(t,r,n)=>x(t,r)||e.get(t,r,n),has:(t,r)=>!!x(t,r)||e.has(t,r)})));class He{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map((e=>{if(Pe(e)){const t=e.getImmediate();return`${t.library}/${t.version}`}return null})).filter((e=>e)).join(" ")}}function Pe(e){const t=e.getComponent();return"VERSION"===t?.type}const O="@firebase/app",V="0.10.5",p=new we("@firebase/app"),Fe="@firebase/app-compat",xe="@firebase/analytics-compat",Ve="@firebase/analytics",je="@firebase/app-check-compat",ke="@firebase/app-check",ze="@firebase/auth",Ue="@firebase/auth-compat",We="@firebase/database",Ge="@firebase/database-compat",Je="@firebase/functions",Ke="@firebase/functions-compat",Ye="@firebase/installations",Xe="@firebase/installations-compat",Ze="@firebase/messaging",qe="@firebase/messaging-compat",Qe="@firebase/performance",et="@firebase/performance-compat",tt="@firebase/remote-config",nt="@firebase/remote-config-compat",rt="@firebase/storage",st="@firebase/storage-compat",at="@firebase/firestore",it="@firebase/vertexai-preview",ot="@firebase/firestore-compat",ct="firebase",ht="[DEFAULT]",lt={[O]:"fire-core",[Fe]:"fire-core-compat",[Ve]:"fire-analytics",[xe]:"fire-analytics-compat",[ke]:"fire-app-check",[je]:"fire-app-check-compat",[ze]:"fire-auth",[Ue]:"fire-auth-compat",[We]:"fire-rtdb",[Ge]:"fire-rtdb-compat",[Je]:"fire-fn",[Ke]:"fire-fn-compat",[Ye]:"fire-iid",[Xe]:"fire-iid-compat",[Ze]:"fire-fcm",[qe]:"fire-fcm-compat",[Qe]:"fire-perf",[et]:"fire-perf-compat",[tt]:"fire-rc",[nt]:"fire-rc-compat",[rt]:"fire-gcs",[st]:"fire-gcs-compat",[at]:"fire-fst",[ot]:"fire-fst-compat",[it]:"fire-vertex","fire-js":"fire-js",[ct]:"fire-js-all"},T=new Map,dt=new Map,M=new Map;function j(e,t){try{e.container.addComponent(t)}catch(r){p.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,r)}}function $(e){const t=e.name;if(M.has(t))return p.debug(`There were multiple attempts to register component ${t}.`),!1;M.set(t,e);for(const t of T.values())j(t,e);for(const t of dt.values())j(t,e);return!0}const ft={"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."},u=new K("app","Firebase",ft);class ut{constructor(e,t,r){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=r,this.container.addComponent(new D("app",(()=>this),"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw u.create("app-deleted",{appName:this._name})}}function St(e,t={}){let r=e;"object"!=typeof t&&(t={name:t});const n=Object.assign({name:ht,automaticDataCollectionEnabled:!1},t),a=n.name;if("string"!=typeof a||!a)throw u.create("bad-app-name",{appName:String(a)});if(r||(r=he()),!r)throw u.create("no-options");const i=T.get(a);if(i){if(C(r,i.options)&&C(n,i.config))return i;throw u.create("duplicate-app",{appName:a})}const s=new Ee(a);for(const e of M.values())s.addComponent(e);const o=new ut(r,n,s);return T.set(a,o),o}function y(e,t,r){var n;let a=null!==(n=lt[e])&&void 0!==n?n:e;r&&(a+=`-${r}`);const i=a.match(/\s|\//),s=t.match(/\s|\//);if(i||s){const e=[`Unable to register library "${a}" with version "${t}":`];return i&&e.push(`library name "${a}" contains illegal characters (whitespace or "/")`),i&&s&&e.push("and"),s&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),void p.warn(e.join(" "))}$(new D(`${a}-version`,(()=>({library:a,version:t})),"VERSION"))}const pt="firebase-heartbeat-database",mt=1,g="firebase-heartbeat-store";let S=null;function Z(){return S||(S=Ne(pt,mt,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore(g)}catch(e){console.warn(e)}}}).catch((e=>{throw u.create("idb-open",{originalErrorMessage:e.message})}))),S}async function gt(e){try{const t=(await Z()).transaction(g),r=await t.objectStore(g).get(q(e));return await t.done,r}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-get",{originalErrorMessage:e?.message});p.warn(t.message)}}}async function k(e,t){try{const r=(await Z()).transaction(g,"readwrite");await r.objectStore(g).put(t,q(e)),await r.done}catch(e){if(e instanceof b)p.warn(e.message);else{const t=u.create("idb-set",{originalErrorMessage:e?.message});p.warn(t.message)}}}function q(e){return`${e.name}!${e.options.appId}`}const bt=1024,_t=2592e6;class Et{constructor(e){this.container=e,this._heartbeatsCache=null;const t=this.container.getProvider("app").getImmediate();this._storage=new Dt(t),this._heartbeatsCachePromise=this._storage.read().then((e=>(this._heartbeatsCache=e,e)))}async triggerHeartbeat(){var e,t;const r=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),n=z();if((null!=(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||(this._heartbeatsCache=await this._heartbeatsCachePromise,null!=(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)))&&this._heartbeatsCache.lastSentHeartbeatDate!==n&&!this._heartbeatsCache.heartbeats.some((e=>e.date===n)))return this._heartbeatsCache.heartbeats.push({date:n,agent:r}),this._heartbeatsCache.heartbeats=this._heartbeatsCache.heartbeats.filter((e=>{const t=new Date(e.date).valueOf();return Date.now()-t<=_t})),this._storage.overwrite(this._heartbeatsCache)}async getHeartbeatsHeader(){var e;if(null===this._heartbeatsCache&&await this._heartbeatsCachePromise,null==(null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)||0===this._heartbeatsCache.heartbeats.length)return"";const t=z(),{heartbeatsToSend:r,unsentEntries:n}=yt(this._heartbeatsCache.heartbeats),a=J(JSON.stringify({version:2,heartbeats:r}));return this._heartbeatsCache.lastSentHeartbeatDate=t,n.length>0?(this._heartbeatsCache.heartbeats=n,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),a}}function z(){return(new Date).toISOString().substring(0,10)}function yt(e,t=bt){const r=[];let n=e.slice();for(const a of e){const e=r.find((e=>e.agent===a.agent));if(e){if(e.dates.push(a.date),U(r)>t){e.dates.pop();break}}else if(r.push({agent:a.agent,dates:[a.date]}),U(r)>t){r.pop();break}n=n.slice(1)}return{heartbeatsToSend:r,unsentEntries:n}}class Dt{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!de()&&fe().then((()=>!0)).catch((()=>!1))}async read(){if(await this._canUseIndexedDBPromise){const e=await gt(this.app);return e?.heartbeats?e:{heartbeats:[]}}return{heartbeats:[]}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){const r=await this.read();return k(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:r.lastSentHeartbeatDate,heartbeats:[...r.heartbeats,...e.heartbeats]})}}}function U(e){return J(JSON.stringify({version:2,heartbeats:e})).length}function It(e){$(new D("platform-logger",(e=>new He(e)),"PRIVATE")),$(new D("heartbeat",(e=>new Et(e)),"PRIVATE")),y(O,V,e),y(O,V,"esm2017"),y("fire-js","")}It("");var vt="firebase",wt="10.12.2";y(vt,wt,"app");export{b as FirebaseError,ht as _DEFAULT_ENTRY_NAME,j as _addComponent,T as _apps,M as _components,$ as _registerComponent,dt as _serverApps,St as initializeApp,y as registerVersion}; \ No newline at end of file diff --git a/Target/_astro/index.esm.CQlgJgN2.js.map b/Target/_astro/index.esm.CQlgJgN2.js.map new file mode 100644 index 00000000..d30f1a52 --- /dev/null +++ b/Target/_astro/index.esm.CQlgJgN2.js.map @@ -0,0 +1 @@ +{"version":3,"file":"index.esm.CQlgJgN2.js","sources":["../../../../../../node_modules/@firebase/util/dist/index.esm2017.js","../../../../../../node_modules/@firebase/component/dist/esm/index.esm2017.js","../../../../../../node_modules/@firebase/logger/dist/esm/index.esm2017.js","../../../../../../node_modules/idb/build/wrap-idb-value.js","../../../../../../node_modules/idb/build/index.js","../../../../../../node_modules/@firebase/app/dist/esm/index.esm2017.js","../../../../../../node_modules/firebase/app/dist/esm/index.esm.js"],"sourcesContent":["/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Firebase constants. Some of these (@defines) can be overridden at compile-time.\r\n */\r\nconst CONSTANTS = {\r\n /**\r\n * @define {boolean} Whether this is the client Node.js SDK.\r\n */\r\n NODE_CLIENT: false,\r\n /**\r\n * @define {boolean} Whether this is the Admin Node.js SDK.\r\n */\r\n NODE_ADMIN: false,\r\n /**\r\n * Firebase SDK Version\r\n */\r\n SDK_VERSION: '${JSCORE_VERSION}'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Throws an error if the provided assertion is falsy\r\n */\r\nconst assert = function (assertion, message) {\r\n if (!assertion) {\r\n throw assertionError(message);\r\n }\r\n};\r\n/**\r\n * Returns an Error object suitable for throwing.\r\n */\r\nconst assertionError = function (message) {\r\n return new Error('Firebase Database (' +\r\n CONSTANTS.SDK_VERSION +\r\n ') INTERNAL ASSERT FAILED: ' +\r\n message);\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst stringToByteArray$1 = function (str) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if ((c & 0xfc00) === 0xd800 &&\r\n i + 1 < str.length &&\r\n (str.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\r\n // Surrogate Pair\r\n c = 0x10000 + ((c & 0x03ff) << 10) + (str.charCodeAt(++i) & 0x03ff);\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Turns an array of numbers into the string given by the concatenation of the\r\n * characters to which the numbers correspond.\r\n * @param bytes Array of numbers representing characters.\r\n * @return Stringification of the array.\r\n */\r\nconst byteArrayToString = function (bytes) {\r\n // TODO(user): Use native implementations if/when available\r\n const out = [];\r\n let pos = 0, c = 0;\r\n while (pos < bytes.length) {\r\n const c1 = bytes[pos++];\r\n if (c1 < 128) {\r\n out[c++] = String.fromCharCode(c1);\r\n }\r\n else if (c1 > 191 && c1 < 224) {\r\n const c2 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 31) << 6) | (c2 & 63));\r\n }\r\n else if (c1 > 239 && c1 < 365) {\r\n // Surrogate Pair\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n const c4 = bytes[pos++];\r\n const u = (((c1 & 7) << 18) | ((c2 & 63) << 12) | ((c3 & 63) << 6) | (c4 & 63)) -\r\n 0x10000;\r\n out[c++] = String.fromCharCode(0xd800 + (u >> 10));\r\n out[c++] = String.fromCharCode(0xdc00 + (u & 1023));\r\n }\r\n else {\r\n const c2 = bytes[pos++];\r\n const c3 = bytes[pos++];\r\n out[c++] = String.fromCharCode(((c1 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n }\r\n }\r\n return out.join('');\r\n};\r\n// We define it as an object literal instead of a class because a class compiled down to es5 can't\r\n// be treeshaked. https://github.com/rollup/rollup/issues/1691\r\n// Static lookup maps, lazily populated by init_()\r\nconst base64 = {\r\n /**\r\n * Maps bytes to characters.\r\n */\r\n byteToCharMap_: null,\r\n /**\r\n * Maps characters to bytes.\r\n */\r\n charToByteMap_: null,\r\n /**\r\n * Maps bytes to websafe characters.\r\n * @private\r\n */\r\n byteToCharMapWebSafe_: null,\r\n /**\r\n * Maps websafe characters to bytes.\r\n * @private\r\n */\r\n charToByteMapWebSafe_: null,\r\n /**\r\n * Our default alphabet, shared between\r\n * ENCODED_VALS and ENCODED_VALS_WEBSAFE\r\n */\r\n ENCODED_VALS_BASE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + 'abcdefghijklmnopqrstuvwxyz' + '0123456789',\r\n /**\r\n * Our default alphabet. Value 64 (=) is special; it means \"nothing.\"\r\n */\r\n get ENCODED_VALS() {\r\n return this.ENCODED_VALS_BASE + '+/=';\r\n },\r\n /**\r\n * Our websafe alphabet.\r\n */\r\n get ENCODED_VALS_WEBSAFE() {\r\n return this.ENCODED_VALS_BASE + '-_.';\r\n },\r\n /**\r\n * Whether this browser supports the atob and btoa functions. This extension\r\n * started at Mozilla but is now implemented by many browsers. We use the\r\n * ASSUME_* variables to avoid pulling in the full useragent detection library\r\n * but still allowing the standard per-browser compilations.\r\n *\r\n */\r\n HAS_NATIVE_SUPPORT: typeof atob === 'function',\r\n /**\r\n * Base64-encode an array of bytes.\r\n *\r\n * @param input An array of bytes (numbers with\r\n * value in [0, 255]) to encode.\r\n * @param webSafe Boolean indicating we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeByteArray(input, webSafe) {\r\n if (!Array.isArray(input)) {\r\n throw Error('encodeByteArray takes an array as a parameter');\r\n }\r\n this.init_();\r\n const byteToCharMap = webSafe\r\n ? this.byteToCharMapWebSafe_\r\n : this.byteToCharMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length; i += 3) {\r\n const byte1 = input[i];\r\n const haveByte2 = i + 1 < input.length;\r\n const byte2 = haveByte2 ? input[i + 1] : 0;\r\n const haveByte3 = i + 2 < input.length;\r\n const byte3 = haveByte3 ? input[i + 2] : 0;\r\n const outByte1 = byte1 >> 2;\r\n const outByte2 = ((byte1 & 0x03) << 4) | (byte2 >> 4);\r\n let outByte3 = ((byte2 & 0x0f) << 2) | (byte3 >> 6);\r\n let outByte4 = byte3 & 0x3f;\r\n if (!haveByte3) {\r\n outByte4 = 64;\r\n if (!haveByte2) {\r\n outByte3 = 64;\r\n }\r\n }\r\n output.push(byteToCharMap[outByte1], byteToCharMap[outByte2], byteToCharMap[outByte3], byteToCharMap[outByte4]);\r\n }\r\n return output.join('');\r\n },\r\n /**\r\n * Base64-encode a string.\r\n *\r\n * @param input A string to encode.\r\n * @param webSafe If true, we should use the\r\n * alternative alphabet.\r\n * @return The base64 encoded string.\r\n */\r\n encodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return btoa(input);\r\n }\r\n return this.encodeByteArray(stringToByteArray$1(input), webSafe);\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * @param input to decode.\r\n * @param webSafe True if we should use the\r\n * alternative alphabet.\r\n * @return string representing the decoded value.\r\n */\r\n decodeString(input, webSafe) {\r\n // Shortcut for Mozilla browsers that implement\r\n // a native base64 encoder in the form of \"btoa/atob\"\r\n if (this.HAS_NATIVE_SUPPORT && !webSafe) {\r\n return atob(input);\r\n }\r\n return byteArrayToString(this.decodeStringToByteArray(input, webSafe));\r\n },\r\n /**\r\n * Base64-decode a string.\r\n *\r\n * In base-64 decoding, groups of four characters are converted into three\r\n * bytes. If the encoder did not apply padding, the input length may not\r\n * be a multiple of 4.\r\n *\r\n * In this case, the last group will have fewer than 4 characters, and\r\n * padding will be inferred. If the group has one or two characters, it decodes\r\n * to one byte. If the group has three characters, it decodes to two bytes.\r\n *\r\n * @param input Input to decode.\r\n * @param webSafe True if we should use the web-safe alphabet.\r\n * @return bytes representing the decoded value.\r\n */\r\n decodeStringToByteArray(input, webSafe) {\r\n this.init_();\r\n const charToByteMap = webSafe\r\n ? this.charToByteMapWebSafe_\r\n : this.charToByteMap_;\r\n const output = [];\r\n for (let i = 0; i < input.length;) {\r\n const byte1 = charToByteMap[input.charAt(i++)];\r\n const haveByte2 = i < input.length;\r\n const byte2 = haveByte2 ? charToByteMap[input.charAt(i)] : 0;\r\n ++i;\r\n const haveByte3 = i < input.length;\r\n const byte3 = haveByte3 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n const haveByte4 = i < input.length;\r\n const byte4 = haveByte4 ? charToByteMap[input.charAt(i)] : 64;\r\n ++i;\r\n if (byte1 == null || byte2 == null || byte3 == null || byte4 == null) {\r\n throw new DecodeBase64StringError();\r\n }\r\n const outByte1 = (byte1 << 2) | (byte2 >> 4);\r\n output.push(outByte1);\r\n if (byte3 !== 64) {\r\n const outByte2 = ((byte2 << 4) & 0xf0) | (byte3 >> 2);\r\n output.push(outByte2);\r\n if (byte4 !== 64) {\r\n const outByte3 = ((byte3 << 6) & 0xc0) | byte4;\r\n output.push(outByte3);\r\n }\r\n }\r\n }\r\n return output;\r\n },\r\n /**\r\n * Lazy static initialization function. Called before\r\n * accessing any of the static map variables.\r\n * @private\r\n */\r\n init_() {\r\n if (!this.byteToCharMap_) {\r\n this.byteToCharMap_ = {};\r\n this.charToByteMap_ = {};\r\n this.byteToCharMapWebSafe_ = {};\r\n this.charToByteMapWebSafe_ = {};\r\n // We want quick mappings back and forth, so we precompute two maps.\r\n for (let i = 0; i < this.ENCODED_VALS.length; i++) {\r\n this.byteToCharMap_[i] = this.ENCODED_VALS.charAt(i);\r\n this.charToByteMap_[this.byteToCharMap_[i]] = i;\r\n this.byteToCharMapWebSafe_[i] = this.ENCODED_VALS_WEBSAFE.charAt(i);\r\n this.charToByteMapWebSafe_[this.byteToCharMapWebSafe_[i]] = i;\r\n // Be forgiving when decoding and correctly decode both encodings.\r\n if (i >= this.ENCODED_VALS_BASE.length) {\r\n this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(i)] = i;\r\n this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(i)] = i;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n/**\r\n * An error encountered while decoding base64 string.\r\n */\r\nclass DecodeBase64StringError extends Error {\r\n constructor() {\r\n super(...arguments);\r\n this.name = 'DecodeBase64StringError';\r\n }\r\n}\r\n/**\r\n * URL-safe base64 encoding\r\n */\r\nconst base64Encode = function (str) {\r\n const utf8Bytes = stringToByteArray$1(str);\r\n return base64.encodeByteArray(utf8Bytes, true);\r\n};\r\n/**\r\n * URL-safe base64 encoding (without \".\" padding in the end).\r\n * e.g. Used in JSON Web Token (JWT) parts.\r\n */\r\nconst base64urlEncodeWithoutPadding = function (str) {\r\n // Use base64url encoding and remove padding in the end (dot characters).\r\n return base64Encode(str).replace(/\\./g, '');\r\n};\r\n/**\r\n * URL-safe base64 decoding\r\n *\r\n * NOTE: DO NOT use the global atob() function - it does NOT support the\r\n * base64Url variant encoding.\r\n *\r\n * @param str To be decoded\r\n * @return Decoded result, if possible\r\n */\r\nconst base64Decode = function (str) {\r\n try {\r\n return base64.decodeString(str, true);\r\n }\r\n catch (e) {\r\n console.error('base64Decode failed: ', e);\r\n }\r\n return null;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Do a deep-copy of basic JavaScript Objects or Arrays.\r\n */\r\nfunction deepCopy(value) {\r\n return deepExtend(undefined, value);\r\n}\r\n/**\r\n * Copy properties from source to target (recursively allows extension\r\n * of Objects and Arrays). Scalar values in the target are over-written.\r\n * If target is undefined, an object of the appropriate type will be created\r\n * (and returned).\r\n *\r\n * We recursively copy all child properties of plain Objects in the source- so\r\n * that namespace- like dictionaries are merged.\r\n *\r\n * Note that the target can be a function, in which case the properties in\r\n * the source Object are copied onto it as static properties of the Function.\r\n *\r\n * Note: we don't merge __proto__ to prevent prototype pollution\r\n */\r\nfunction deepExtend(target, source) {\r\n if (!(source instanceof Object)) {\r\n return source;\r\n }\r\n switch (source.constructor) {\r\n case Date:\r\n // Treat Dates like scalars; if the target date object had any child\r\n // properties - they will be lost!\r\n const dateValue = source;\r\n return new Date(dateValue.getTime());\r\n case Object:\r\n if (target === undefined) {\r\n target = {};\r\n }\r\n break;\r\n case Array:\r\n // Always copy the array source and overwrite the target.\r\n target = [];\r\n break;\r\n default:\r\n // Not a plain Object - treat it as a scalar.\r\n return source;\r\n }\r\n for (const prop in source) {\r\n // use isValidKey to guard against prototype pollution. See https://snyk.io/vuln/SNYK-JS-LODASH-450202\r\n if (!source.hasOwnProperty(prop) || !isValidKey(prop)) {\r\n continue;\r\n }\r\n target[prop] = deepExtend(target[prop], source[prop]);\r\n }\r\n return target;\r\n}\r\nfunction isValidKey(key) {\r\n return key !== '__proto__';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Polyfill for `globalThis` object.\r\n * @returns the `globalThis` object for the given environment.\r\n * @public\r\n */\r\nfunction getGlobal() {\r\n if (typeof self !== 'undefined') {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined') {\r\n return window;\r\n }\r\n if (typeof global !== 'undefined') {\r\n return global;\r\n }\r\n throw new Error('Unable to locate global object.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst getDefaultsFromGlobal = () => getGlobal().__FIREBASE_DEFAULTS__;\r\n/**\r\n * Attempt to read defaults from a JSON string provided to\r\n * process(.)env(.)__FIREBASE_DEFAULTS__ or a JSON file whose path is in\r\n * process(.)env(.)__FIREBASE_DEFAULTS_PATH__\r\n * The dots are in parens because certain compilers (Vite?) cannot\r\n * handle seeing that variable in comments.\r\n * See https://github.com/firebase/firebase-js-sdk/issues/6838\r\n */\r\nconst getDefaultsFromEnvVariable = () => {\r\n if (typeof process === 'undefined' || typeof process.env === 'undefined') {\r\n return;\r\n }\r\n const defaultsJsonString = process.env.__FIREBASE_DEFAULTS__;\r\n if (defaultsJsonString) {\r\n return JSON.parse(defaultsJsonString);\r\n }\r\n};\r\nconst getDefaultsFromCookie = () => {\r\n if (typeof document === 'undefined') {\r\n return;\r\n }\r\n let match;\r\n try {\r\n match = document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/);\r\n }\r\n catch (e) {\r\n // Some environments such as Angular Universal SSR have a\r\n // `document` object but error on accessing `document.cookie`.\r\n return;\r\n }\r\n const decoded = match && base64Decode(match[1]);\r\n return decoded && JSON.parse(decoded);\r\n};\r\n/**\r\n * Get the __FIREBASE_DEFAULTS__ object. It checks in order:\r\n * (1) if such an object exists as a property of `globalThis`\r\n * (2) if such an object was provided on a shell environment variable\r\n * (3) if such an object exists in a cookie\r\n * @public\r\n */\r\nconst getDefaults = () => {\r\n try {\r\n return (getDefaultsFromGlobal() ||\r\n getDefaultsFromEnvVariable() ||\r\n getDefaultsFromCookie());\r\n }\r\n catch (e) {\r\n /**\r\n * Catch-all for being unable to get __FIREBASE_DEFAULTS__ due\r\n * to any environment case we have not accounted for. Log to\r\n * info instead of swallowing so we can find these unknown cases\r\n * and add paths for them if needed.\r\n */\r\n console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);\r\n return;\r\n }\r\n};\r\n/**\r\n * Returns emulator host stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a URL host formatted like `127.0.0.1:9999` or `[::1]:4000` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHost = (productName) => { var _a, _b; return (_b = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.emulatorHosts) === null || _b === void 0 ? void 0 : _b[productName]; };\r\n/**\r\n * Returns emulator hostname and port stored in the __FIREBASE_DEFAULTS__ object\r\n * for the given product.\r\n * @returns a pair of hostname and port like `[\"::1\", 4000]` if available\r\n * @public\r\n */\r\nconst getDefaultEmulatorHostnameAndPort = (productName) => {\r\n const host = getDefaultEmulatorHost(productName);\r\n if (!host) {\r\n return undefined;\r\n }\r\n const separatorIndex = host.lastIndexOf(':'); // Finding the last since IPv6 addr also has colons.\r\n if (separatorIndex <= 0 || separatorIndex + 1 === host.length) {\r\n throw new Error(`Invalid host ${host} with no separate hostname and port!`);\r\n }\r\n // eslint-disable-next-line no-restricted-globals\r\n const port = parseInt(host.substring(separatorIndex + 1), 10);\r\n if (host[0] === '[') {\r\n // Bracket-quoted `[ipv6addr]:port` => return \"ipv6addr\" (without brackets).\r\n return [host.substring(1, separatorIndex - 1), port];\r\n }\r\n else {\r\n return [host.substring(0, separatorIndex), port];\r\n }\r\n};\r\n/**\r\n * Returns Firebase app config stored in the __FIREBASE_DEFAULTS__ object.\r\n * @public\r\n */\r\nconst getDefaultAppConfig = () => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.config; };\r\n/**\r\n * Returns an experimental setting on the __FIREBASE_DEFAULTS__ object (properties\r\n * prefixed by \"_\")\r\n * @public\r\n */\r\nconst getExperimentalSetting = (name) => { var _a; return (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a[`_${name}`]; };\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass Deferred {\r\n constructor() {\r\n this.reject = () => { };\r\n this.resolve = () => { };\r\n this.promise = new Promise((resolve, reject) => {\r\n this.resolve = resolve;\r\n this.reject = reject;\r\n });\r\n }\r\n /**\r\n * Our API internals are not promiseified and cannot because our callback APIs have subtle expectations around\r\n * invoking promises inline, which Promises are forbidden to do. This method accepts an optional node-style callback\r\n * and returns a node-style callback which will resolve or reject the Deferred's promise.\r\n */\r\n wrapCallback(callback) {\r\n return (error, value) => {\r\n if (error) {\r\n this.reject(error);\r\n }\r\n else {\r\n this.resolve(value);\r\n }\r\n if (typeof callback === 'function') {\r\n // Attaching noop handler just in case developer wasn't expecting\r\n // promises\r\n this.promise.catch(() => { });\r\n // Some of our callbacks don't expect a value and our own tests\r\n // assert that the parameter length is 1\r\n if (callback.length === 1) {\r\n callback(error);\r\n }\r\n else {\r\n callback(error, value);\r\n }\r\n }\r\n };\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction createMockUserToken(token, projectId) {\r\n if (token.uid) {\r\n throw new Error('The \"uid\" field is no longer supported by mockUserToken. Please use \"sub\" instead for Firebase Auth User ID.');\r\n }\r\n // Unsecured JWTs use \"none\" as the algorithm.\r\n const header = {\r\n alg: 'none',\r\n type: 'JWT'\r\n };\r\n const project = projectId || 'demo-project';\r\n const iat = token.iat || 0;\r\n const sub = token.sub || token.user_id;\r\n if (!sub) {\r\n throw new Error(\"mockUserToken must contain 'sub' or 'user_id' field!\");\r\n }\r\n const payload = Object.assign({ \r\n // Set all required fields to decent defaults\r\n iss: `https://securetoken.google.com/${project}`, aud: project, iat, exp: iat + 3600, auth_time: iat, sub, user_id: sub, firebase: {\r\n sign_in_provider: 'custom',\r\n identities: {}\r\n } }, token);\r\n // Unsecured JWTs use the empty string as a signature.\r\n const signature = '';\r\n return [\r\n base64urlEncodeWithoutPadding(JSON.stringify(header)),\r\n base64urlEncodeWithoutPadding(JSON.stringify(payload)),\r\n signature\r\n ].join('.');\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns navigator.userAgent string or '' if it's not defined.\r\n * @return user agent string\r\n */\r\nfunction getUA() {\r\n if (typeof navigator !== 'undefined' &&\r\n typeof navigator['userAgent'] === 'string') {\r\n return navigator['userAgent'];\r\n }\r\n else {\r\n return '';\r\n }\r\n}\r\n/**\r\n * Detect Cordova / PhoneGap / Ionic frameworks on a mobile device.\r\n *\r\n * Deliberately does not rely on checking `file://` URLs (as this fails PhoneGap\r\n * in the Ripple emulator) nor Cordova `onDeviceReady`, which would normally\r\n * wait for a callback.\r\n */\r\nfunction isMobileCordova() {\r\n return (typeof window !== 'undefined' &&\r\n // @ts-ignore Setting up an broadly applicable index signature for Window\r\n // just to deal with this case would probably be a bad idea.\r\n !!(window['cordova'] || window['phonegap'] || window['PhoneGap']) &&\r\n /ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(getUA()));\r\n}\r\n/**\r\n * Detect Node.js.\r\n *\r\n * @return true if Node.js environment is detected or specified.\r\n */\r\n// Node detection logic from: https://github.com/iliakan/detect-node/\r\nfunction isNode() {\r\n var _a;\r\n const forceEnvironment = (_a = getDefaults()) === null || _a === void 0 ? void 0 : _a.forceEnvironment;\r\n if (forceEnvironment === 'node') {\r\n return true;\r\n }\r\n else if (forceEnvironment === 'browser') {\r\n return false;\r\n }\r\n try {\r\n return (Object.prototype.toString.call(global.process) === '[object process]');\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * Detect Browser Environment\r\n */\r\nfunction isBrowser() {\r\n return typeof self === 'object' && self.self === self;\r\n}\r\nfunction isBrowserExtension() {\r\n const runtime = typeof chrome === 'object'\r\n ? chrome.runtime\r\n : typeof browser === 'object'\r\n ? browser.runtime\r\n : undefined;\r\n return typeof runtime === 'object' && runtime.id !== undefined;\r\n}\r\n/**\r\n * Detect React Native.\r\n *\r\n * @return true if ReactNative environment is detected.\r\n */\r\nfunction isReactNative() {\r\n return (typeof navigator === 'object' && navigator['product'] === 'ReactNative');\r\n}\r\n/** Detects Electron apps. */\r\nfunction isElectron() {\r\n return getUA().indexOf('Electron/') >= 0;\r\n}\r\n/** Detects Internet Explorer. */\r\nfunction isIE() {\r\n const ua = getUA();\r\n return ua.indexOf('MSIE ') >= 0 || ua.indexOf('Trident/') >= 0;\r\n}\r\n/** Detects Universal Windows Platform apps. */\r\nfunction isUWP() {\r\n return getUA().indexOf('MSAppHost/') >= 0;\r\n}\r\n/**\r\n * Detect whether the current SDK build is the Node version.\r\n *\r\n * @return true if it's the Node SDK build.\r\n */\r\nfunction isNodeSdk() {\r\n return CONSTANTS.NODE_CLIENT === true || CONSTANTS.NODE_ADMIN === true;\r\n}\r\n/** Returns true if we are running in Safari. */\r\nfunction isSafari() {\r\n return (!isNode() &&\r\n !!navigator.userAgent &&\r\n navigator.userAgent.includes('Safari') &&\r\n !navigator.userAgent.includes('Chrome'));\r\n}\r\n/**\r\n * This method checks if indexedDB is supported by current browser/service worker context\r\n * @return true if indexedDB is supported by current browser/service worker context\r\n */\r\nfunction isIndexedDBAvailable() {\r\n try {\r\n return typeof indexedDB === 'object';\r\n }\r\n catch (e) {\r\n return false;\r\n }\r\n}\r\n/**\r\n * This method validates browser/sw context for indexedDB by opening a dummy indexedDB database and reject\r\n * if errors occur during the database open operation.\r\n *\r\n * @throws exception if current browser/sw context can't run idb.open (ex: Safari iframe, Firefox\r\n * private browsing)\r\n */\r\nfunction validateIndexedDBOpenable() {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n let preExist = true;\r\n const DB_CHECK_NAME = 'validate-browser-context-for-indexeddb-analytics-module';\r\n const request = self.indexedDB.open(DB_CHECK_NAME);\r\n request.onsuccess = () => {\r\n request.result.close();\r\n // delete database only when it doesn't pre-exist\r\n if (!preExist) {\r\n self.indexedDB.deleteDatabase(DB_CHECK_NAME);\r\n }\r\n resolve(true);\r\n };\r\n request.onupgradeneeded = () => {\r\n preExist = false;\r\n };\r\n request.onerror = () => {\r\n var _a;\r\n reject(((_a = request.error) === null || _a === void 0 ? void 0 : _a.message) || '');\r\n };\r\n }\r\n catch (error) {\r\n reject(error);\r\n }\r\n });\r\n}\r\n/**\r\n *\r\n * This method checks whether cookie is enabled within current browser\r\n * @return true if cookie is enabled within current browser\r\n */\r\nfunction areCookiesEnabled() {\r\n if (typeof navigator === 'undefined' || !navigator.cookieEnabled) {\r\n return false;\r\n }\r\n return true;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview Standardized Firebase Error.\r\n *\r\n * Usage:\r\n *\r\n * // Typescript string literals for type-safe codes\r\n * type Err =\r\n * 'unknown' |\r\n * 'object-not-found'\r\n * ;\r\n *\r\n * // Closure enum for type-safe error codes\r\n * // at-enum {string}\r\n * var Err = {\r\n * UNKNOWN: 'unknown',\r\n * OBJECT_NOT_FOUND: 'object-not-found',\r\n * }\r\n *\r\n * let errors: Map = {\r\n * 'generic-error': \"Unknown error\",\r\n * 'file-not-found': \"Could not find file: {$file}\",\r\n * };\r\n *\r\n * // Type-safe function - must pass a valid error code as param.\r\n * let error = new ErrorFactory('service', 'Service', errors);\r\n *\r\n * ...\r\n * throw error.create(Err.GENERIC);\r\n * ...\r\n * throw error.create(Err.FILE_NOT_FOUND, {'file': fileName});\r\n * ...\r\n * // Service: Could not file file: foo.txt (service/file-not-found).\r\n *\r\n * catch (e) {\r\n * assert(e.message === \"Could not find file: foo.txt.\");\r\n * if ((e as FirebaseError)?.code === 'service/file-not-found') {\r\n * console.log(\"Could not read file: \" + e['file']);\r\n * }\r\n * }\r\n */\r\nconst ERROR_NAME = 'FirebaseError';\r\n// Based on code from:\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Custom_Error_Types\r\nclass FirebaseError extends Error {\r\n constructor(\r\n /** The error code for this error. */\r\n code, message, \r\n /** Custom data for this error. */\r\n customData) {\r\n super(message);\r\n this.code = code;\r\n this.customData = customData;\r\n /** The custom name for all FirebaseErrors. */\r\n this.name = ERROR_NAME;\r\n // Fix For ES5\r\n // https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\r\n Object.setPrototypeOf(this, FirebaseError.prototype);\r\n // Maintains proper stack trace for where our error was thrown.\r\n // Only available on V8.\r\n if (Error.captureStackTrace) {\r\n Error.captureStackTrace(this, ErrorFactory.prototype.create);\r\n }\r\n }\r\n}\r\nclass ErrorFactory {\r\n constructor(service, serviceName, errors) {\r\n this.service = service;\r\n this.serviceName = serviceName;\r\n this.errors = errors;\r\n }\r\n create(code, ...data) {\r\n const customData = data[0] || {};\r\n const fullCode = `${this.service}/${code}`;\r\n const template = this.errors[code];\r\n const message = template ? replaceTemplate(template, customData) : 'Error';\r\n // Service Name: Error message (service/code).\r\n const fullMessage = `${this.serviceName}: ${message} (${fullCode}).`;\r\n const error = new FirebaseError(fullCode, fullMessage, customData);\r\n return error;\r\n }\r\n}\r\nfunction replaceTemplate(template, data) {\r\n return template.replace(PATTERN, (_, key) => {\r\n const value = data[key];\r\n return value != null ? String(value) : `<${key}?>`;\r\n });\r\n}\r\nconst PATTERN = /\\{\\$([^}]+)}/g;\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Evaluates a JSON string into a javascript object.\r\n *\r\n * @param {string} str A string containing JSON.\r\n * @return {*} The javascript object representing the specified JSON.\r\n */\r\nfunction jsonEval(str) {\r\n return JSON.parse(str);\r\n}\r\n/**\r\n * Returns JSON representing a javascript object.\r\n * @param {*} data Javascript object to be stringified.\r\n * @return {string} The JSON contents of the object.\r\n */\r\nfunction stringify(data) {\r\n return JSON.stringify(data);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Decodes a Firebase auth. token into constituent parts.\r\n *\r\n * Notes:\r\n * - May return with invalid / incomplete claims if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst decode = function (token) {\r\n let header = {}, claims = {}, data = {}, signature = '';\r\n try {\r\n const parts = token.split('.');\r\n header = jsonEval(base64Decode(parts[0]) || '');\r\n claims = jsonEval(base64Decode(parts[1]) || '');\r\n signature = parts[2];\r\n data = claims['d'] || {};\r\n delete claims['d'];\r\n }\r\n catch (e) { }\r\n return {\r\n header,\r\n claims,\r\n data,\r\n signature\r\n };\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its time-based claims. Will return true if the\r\n * token is within the time window authorized by the 'nbf' (not-before) and 'iat' (issued-at) claims.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidTimestamp = function (token) {\r\n const claims = decode(token).claims;\r\n const now = Math.floor(new Date().getTime() / 1000);\r\n let validSince = 0, validUntil = 0;\r\n if (typeof claims === 'object') {\r\n if (claims.hasOwnProperty('nbf')) {\r\n validSince = claims['nbf'];\r\n }\r\n else if (claims.hasOwnProperty('iat')) {\r\n validSince = claims['iat'];\r\n }\r\n if (claims.hasOwnProperty('exp')) {\r\n validUntil = claims['exp'];\r\n }\r\n else {\r\n // token will expire after 24h by default\r\n validUntil = validSince + 86400;\r\n }\r\n }\r\n return (!!now &&\r\n !!validSince &&\r\n !!validUntil &&\r\n now >= validSince &&\r\n now <= validUntil);\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and returns its issued at time if valid, null otherwise.\r\n *\r\n * Notes:\r\n * - May return null if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst issuedAtTime = function (token) {\r\n const claims = decode(token).claims;\r\n if (typeof claims === 'object' && claims.hasOwnProperty('iat')) {\r\n return claims['iat'];\r\n }\r\n return null;\r\n};\r\n/**\r\n * Decodes a Firebase auth. token and checks the validity of its format. Expects a valid issued-at time.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isValidFormat = function (token) {\r\n const decoded = decode(token), claims = decoded.claims;\r\n return !!claims && typeof claims === 'object' && claims.hasOwnProperty('iat');\r\n};\r\n/**\r\n * Attempts to peer into an auth token and determine if it's an admin auth token by looking at the claims portion.\r\n *\r\n * Notes:\r\n * - May return a false negative if there's no native base64 decoding support.\r\n * - Doesn't check if the token is actually valid.\r\n */\r\nconst isAdmin = function (token) {\r\n const claims = decode(token).claims;\r\n return typeof claims === 'object' && claims['admin'] === true;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction contains(obj, key) {\r\n return Object.prototype.hasOwnProperty.call(obj, key);\r\n}\r\nfunction safeGet(obj, key) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return obj[key];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nfunction isEmpty(obj) {\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction map(obj, fn, contextObj) {\r\n const res = {};\r\n for (const key in obj) {\r\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\r\n res[key] = fn.call(contextObj, obj[key], key, obj);\r\n }\r\n }\r\n return res;\r\n}\r\n/**\r\n * Deep equal two objects. Support Arrays and Objects.\r\n */\r\nfunction deepEqual(a, b) {\r\n if (a === b) {\r\n return true;\r\n }\r\n const aKeys = Object.keys(a);\r\n const bKeys = Object.keys(b);\r\n for (const k of aKeys) {\r\n if (!bKeys.includes(k)) {\r\n return false;\r\n }\r\n const aProp = a[k];\r\n const bProp = b[k];\r\n if (isObject(aProp) && isObject(bProp)) {\r\n if (!deepEqual(aProp, bProp)) {\r\n return false;\r\n }\r\n }\r\n else if (aProp !== bProp) {\r\n return false;\r\n }\r\n }\r\n for (const k of bKeys) {\r\n if (!aKeys.includes(k)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nfunction isObject(thing) {\r\n return thing !== null && typeof thing === 'object';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Rejects if the given promise doesn't resolve in timeInMS milliseconds.\r\n * @internal\r\n */\r\nfunction promiseWithTimeout(promise, timeInMS = 2000) {\r\n const deferredPromise = new Deferred();\r\n setTimeout(() => deferredPromise.reject('timeout!'), timeInMS);\r\n promise.then(deferredPromise.resolve, deferredPromise.reject);\r\n return deferredPromise.promise;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Returns a querystring-formatted string (e.g. &arg=val&arg2=val2) from a\r\n * params object (e.g. {arg: 'val', arg2: 'val2'})\r\n * Note: You must prepend it with ? when adding it to a URL.\r\n */\r\nfunction querystring(querystringParams) {\r\n const params = [];\r\n for (const [key, value] of Object.entries(querystringParams)) {\r\n if (Array.isArray(value)) {\r\n value.forEach(arrayVal => {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(arrayVal));\r\n });\r\n }\r\n else {\r\n params.push(encodeURIComponent(key) + '=' + encodeURIComponent(value));\r\n }\r\n }\r\n return params.length ? '&' + params.join('&') : '';\r\n}\r\n/**\r\n * Decodes a querystring (e.g. ?arg=val&arg2=val2) into a params object\r\n * (e.g. {arg: 'val', arg2: 'val2'})\r\n */\r\nfunction querystringDecode(querystring) {\r\n const obj = {};\r\n const tokens = querystring.replace(/^\\?/, '').split('&');\r\n tokens.forEach(token => {\r\n if (token) {\r\n const [key, value] = token.split('=');\r\n obj[decodeURIComponent(key)] = decodeURIComponent(value);\r\n }\r\n });\r\n return obj;\r\n}\r\n/**\r\n * Extract the query string part of a URL, including the leading question mark (if present).\r\n */\r\nfunction extractQuerystring(url) {\r\n const queryStart = url.indexOf('?');\r\n if (!queryStart) {\r\n return '';\r\n }\r\n const fragmentStart = url.indexOf('#', queryStart);\r\n return url.substring(queryStart, fragmentStart > 0 ? fragmentStart : undefined);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @fileoverview SHA-1 cryptographic hash.\r\n * Variable names follow the notation in FIPS PUB 180-3:\r\n * http://csrc.nist.gov/publications/fips/fips180-3/fips180-3_final.pdf.\r\n *\r\n * Usage:\r\n * var sha1 = new sha1();\r\n * sha1.update(bytes);\r\n * var hash = sha1.digest();\r\n *\r\n * Performance:\r\n * Chrome 23: ~400 Mbit/s\r\n * Firefox 16: ~250 Mbit/s\r\n *\r\n */\r\n/**\r\n * SHA-1 cryptographic hash constructor.\r\n *\r\n * The properties declared here are discussed in the above algorithm document.\r\n * @constructor\r\n * @final\r\n * @struct\r\n */\r\nclass Sha1 {\r\n constructor() {\r\n /**\r\n * Holds the previous values of accumulated variables a-e in the compress_\r\n * function.\r\n * @private\r\n */\r\n this.chain_ = [];\r\n /**\r\n * A buffer holding the partially computed hash result.\r\n * @private\r\n */\r\n this.buf_ = [];\r\n /**\r\n * An array of 80 bytes, each a part of the message to be hashed. Referred to\r\n * as the message schedule in the docs.\r\n * @private\r\n */\r\n this.W_ = [];\r\n /**\r\n * Contains data needed to pad messages less than 64 bytes.\r\n * @private\r\n */\r\n this.pad_ = [];\r\n /**\r\n * @private {number}\r\n */\r\n this.inbuf_ = 0;\r\n /**\r\n * @private {number}\r\n */\r\n this.total_ = 0;\r\n this.blockSize = 512 / 8;\r\n this.pad_[0] = 128;\r\n for (let i = 1; i < this.blockSize; ++i) {\r\n this.pad_[i] = 0;\r\n }\r\n this.reset();\r\n }\r\n reset() {\r\n this.chain_[0] = 0x67452301;\r\n this.chain_[1] = 0xefcdab89;\r\n this.chain_[2] = 0x98badcfe;\r\n this.chain_[3] = 0x10325476;\r\n this.chain_[4] = 0xc3d2e1f0;\r\n this.inbuf_ = 0;\r\n this.total_ = 0;\r\n }\r\n /**\r\n * Internal compress helper function.\r\n * @param buf Block to compress.\r\n * @param offset Offset of the block in the buffer.\r\n * @private\r\n */\r\n compress_(buf, offset) {\r\n if (!offset) {\r\n offset = 0;\r\n }\r\n const W = this.W_;\r\n // get 16 big endian words\r\n if (typeof buf === 'string') {\r\n for (let i = 0; i < 16; i++) {\r\n // TODO(user): [bug 8140122] Recent versions of Safari for Mac OS and iOS\r\n // have a bug that turns the post-increment ++ operator into pre-increment\r\n // during JIT compilation. We have code that depends heavily on SHA-1 for\r\n // correctness and which is affected by this bug, so I've removed all uses\r\n // of post-increment ++ in which the result value is used. We can revert\r\n // this change once the Safari bug\r\n // (https://bugs.webkit.org/show_bug.cgi?id=109036) has been fixed and\r\n // most clients have been updated.\r\n W[i] =\r\n (buf.charCodeAt(offset) << 24) |\r\n (buf.charCodeAt(offset + 1) << 16) |\r\n (buf.charCodeAt(offset + 2) << 8) |\r\n buf.charCodeAt(offset + 3);\r\n offset += 4;\r\n }\r\n }\r\n else {\r\n for (let i = 0; i < 16; i++) {\r\n W[i] =\r\n (buf[offset] << 24) |\r\n (buf[offset + 1] << 16) |\r\n (buf[offset + 2] << 8) |\r\n buf[offset + 3];\r\n offset += 4;\r\n }\r\n }\r\n // expand to 80 words\r\n for (let i = 16; i < 80; i++) {\r\n const t = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\r\n W[i] = ((t << 1) | (t >>> 31)) & 0xffffffff;\r\n }\r\n let a = this.chain_[0];\r\n let b = this.chain_[1];\r\n let c = this.chain_[2];\r\n let d = this.chain_[3];\r\n let e = this.chain_[4];\r\n let f, k;\r\n // TODO(user): Try to unroll this loop to speed up the computation.\r\n for (let i = 0; i < 80; i++) {\r\n if (i < 40) {\r\n if (i < 20) {\r\n f = d ^ (b & (c ^ d));\r\n k = 0x5a827999;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0x6ed9eba1;\r\n }\r\n }\r\n else {\r\n if (i < 60) {\r\n f = (b & c) | (d & (b | c));\r\n k = 0x8f1bbcdc;\r\n }\r\n else {\r\n f = b ^ c ^ d;\r\n k = 0xca62c1d6;\r\n }\r\n }\r\n const t = (((a << 5) | (a >>> 27)) + f + e + k + W[i]) & 0xffffffff;\r\n e = d;\r\n d = c;\r\n c = ((b << 30) | (b >>> 2)) & 0xffffffff;\r\n b = a;\r\n a = t;\r\n }\r\n this.chain_[0] = (this.chain_[0] + a) & 0xffffffff;\r\n this.chain_[1] = (this.chain_[1] + b) & 0xffffffff;\r\n this.chain_[2] = (this.chain_[2] + c) & 0xffffffff;\r\n this.chain_[3] = (this.chain_[3] + d) & 0xffffffff;\r\n this.chain_[4] = (this.chain_[4] + e) & 0xffffffff;\r\n }\r\n update(bytes, length) {\r\n // TODO(johnlenz): tighten the function signature and remove this check\r\n if (bytes == null) {\r\n return;\r\n }\r\n if (length === undefined) {\r\n length = bytes.length;\r\n }\r\n const lengthMinusBlock = length - this.blockSize;\r\n let n = 0;\r\n // Using local instead of member variables gives ~5% speedup on Firefox 16.\r\n const buf = this.buf_;\r\n let inbuf = this.inbuf_;\r\n // The outer while loop should execute at most twice.\r\n while (n < length) {\r\n // When we have no data in the block to top up, we can directly process the\r\n // input buffer (assuming it contains sufficient data). This gives ~25%\r\n // speedup on Chrome 23 and ~15% speedup on Firefox 16, but requires that\r\n // the data is provided in large chunks (or in multiples of 64 bytes).\r\n if (inbuf === 0) {\r\n while (n <= lengthMinusBlock) {\r\n this.compress_(bytes, n);\r\n n += this.blockSize;\r\n }\r\n }\r\n if (typeof bytes === 'string') {\r\n while (n < length) {\r\n buf[inbuf] = bytes.charCodeAt(n);\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n while (n < length) {\r\n buf[inbuf] = bytes[n];\r\n ++inbuf;\r\n ++n;\r\n if (inbuf === this.blockSize) {\r\n this.compress_(buf);\r\n inbuf = 0;\r\n // Jump to the outer loop so we use the full-block optimization.\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this.inbuf_ = inbuf;\r\n this.total_ += length;\r\n }\r\n /** @override */\r\n digest() {\r\n const digest = [];\r\n let totalBits = this.total_ * 8;\r\n // Add pad 0x80 0x00*.\r\n if (this.inbuf_ < 56) {\r\n this.update(this.pad_, 56 - this.inbuf_);\r\n }\r\n else {\r\n this.update(this.pad_, this.blockSize - (this.inbuf_ - 56));\r\n }\r\n // Add # bits.\r\n for (let i = this.blockSize - 1; i >= 56; i--) {\r\n this.buf_[i] = totalBits & 255;\r\n totalBits /= 256; // Don't use bit-shifting here!\r\n }\r\n this.compress_(this.buf_);\r\n let n = 0;\r\n for (let i = 0; i < 5; i++) {\r\n for (let j = 24; j >= 0; j -= 8) {\r\n digest[n] = (this.chain_[i] >> j) & 255;\r\n ++n;\r\n }\r\n }\r\n return digest;\r\n }\r\n}\n\n/**\r\n * Helper to make a Subscribe function (just like Promise helps make a\r\n * Thenable).\r\n *\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\nfunction createSubscribe(executor, onNoObservers) {\r\n const proxy = new ObserverProxy(executor, onNoObservers);\r\n return proxy.subscribe.bind(proxy);\r\n}\r\n/**\r\n * Implement fan-out for any number of Observers attached via a subscribe\r\n * function.\r\n */\r\nclass ObserverProxy {\r\n /**\r\n * @param executor Function which can make calls to a single Observer\r\n * as a proxy.\r\n * @param onNoObservers Callback when count of Observers goes to zero.\r\n */\r\n constructor(executor, onNoObservers) {\r\n this.observers = [];\r\n this.unsubscribes = [];\r\n this.observerCount = 0;\r\n // Micro-task scheduling by calling task.then().\r\n this.task = Promise.resolve();\r\n this.finalized = false;\r\n this.onNoObservers = onNoObservers;\r\n // Call the executor asynchronously so subscribers that are called\r\n // synchronously after the creation of the subscribe function\r\n // can still receive the very first value generated in the executor.\r\n this.task\r\n .then(() => {\r\n executor(this);\r\n })\r\n .catch(e => {\r\n this.error(e);\r\n });\r\n }\r\n next(value) {\r\n this.forEachObserver((observer) => {\r\n observer.next(value);\r\n });\r\n }\r\n error(error) {\r\n this.forEachObserver((observer) => {\r\n observer.error(error);\r\n });\r\n this.close(error);\r\n }\r\n complete() {\r\n this.forEachObserver((observer) => {\r\n observer.complete();\r\n });\r\n this.close();\r\n }\r\n /**\r\n * Subscribe function that can be used to add an Observer to the fan-out list.\r\n *\r\n * - We require that no event is sent to a subscriber sychronously to their\r\n * call to subscribe().\r\n */\r\n subscribe(nextOrObserver, error, complete) {\r\n let observer;\r\n if (nextOrObserver === undefined &&\r\n error === undefined &&\r\n complete === undefined) {\r\n throw new Error('Missing Observer.');\r\n }\r\n // Assemble an Observer object when passed as callback functions.\r\n if (implementsAnyMethods(nextOrObserver, [\r\n 'next',\r\n 'error',\r\n 'complete'\r\n ])) {\r\n observer = nextOrObserver;\r\n }\r\n else {\r\n observer = {\r\n next: nextOrObserver,\r\n error,\r\n complete\r\n };\r\n }\r\n if (observer.next === undefined) {\r\n observer.next = noop;\r\n }\r\n if (observer.error === undefined) {\r\n observer.error = noop;\r\n }\r\n if (observer.complete === undefined) {\r\n observer.complete = noop;\r\n }\r\n const unsub = this.unsubscribeOne.bind(this, this.observers.length);\r\n // Attempt to subscribe to a terminated Observable - we\r\n // just respond to the Observer with the final error or complete\r\n // event.\r\n if (this.finalized) {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n try {\r\n if (this.finalError) {\r\n observer.error(this.finalError);\r\n }\r\n else {\r\n observer.complete();\r\n }\r\n }\r\n catch (e) {\r\n // nothing\r\n }\r\n return;\r\n });\r\n }\r\n this.observers.push(observer);\r\n return unsub;\r\n }\r\n // Unsubscribe is synchronous - we guarantee that no events are sent to\r\n // any unsubscribed Observer.\r\n unsubscribeOne(i) {\r\n if (this.observers === undefined || this.observers[i] === undefined) {\r\n return;\r\n }\r\n delete this.observers[i];\r\n this.observerCount -= 1;\r\n if (this.observerCount === 0 && this.onNoObservers !== undefined) {\r\n this.onNoObservers(this);\r\n }\r\n }\r\n forEachObserver(fn) {\r\n if (this.finalized) {\r\n // Already closed by previous event....just eat the additional values.\r\n return;\r\n }\r\n // Since sendOne calls asynchronously - there is no chance that\r\n // this.observers will become undefined.\r\n for (let i = 0; i < this.observers.length; i++) {\r\n this.sendOne(i, fn);\r\n }\r\n }\r\n // Call the Observer via one of it's callback function. We are careful to\r\n // confirm that the observe has not been unsubscribed since this asynchronous\r\n // function had been queued.\r\n sendOne(i, fn) {\r\n // Execute the callback asynchronously\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n if (this.observers !== undefined && this.observers[i] !== undefined) {\r\n try {\r\n fn(this.observers[i]);\r\n }\r\n catch (e) {\r\n // Ignore exceptions raised in Observers or missing methods of an\r\n // Observer.\r\n // Log error to console. b/31404806\r\n if (typeof console !== 'undefined' && console.error) {\r\n console.error(e);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n close(err) {\r\n if (this.finalized) {\r\n return;\r\n }\r\n this.finalized = true;\r\n if (err !== undefined) {\r\n this.finalError = err;\r\n }\r\n // Proxy is no longer needed - garbage collect references\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n this.task.then(() => {\r\n this.observers = undefined;\r\n this.onNoObservers = undefined;\r\n });\r\n }\r\n}\r\n/** Turn synchronous function into one called asynchronously. */\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nfunction async(fn, onError) {\r\n return (...args) => {\r\n Promise.resolve(true)\r\n .then(() => {\r\n fn(...args);\r\n })\r\n .catch((error) => {\r\n if (onError) {\r\n onError(error);\r\n }\r\n });\r\n };\r\n}\r\n/**\r\n * Return true if the object passed in implements any of the named methods.\r\n */\r\nfunction implementsAnyMethods(obj, methods) {\r\n if (typeof obj !== 'object' || obj === null) {\r\n return false;\r\n }\r\n for (const method of methods) {\r\n if (method in obj && typeof obj[method] === 'function') {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nfunction noop() {\r\n // do nothing\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Check to make sure the appropriate number of arguments are provided for a public function.\r\n * Throws an error if it fails.\r\n *\r\n * @param fnName The function name\r\n * @param minCount The minimum number of arguments to allow for the function call\r\n * @param maxCount The maximum number of argument to allow for the function call\r\n * @param argCount The actual number of arguments provided.\r\n */\r\nconst validateArgCount = function (fnName, minCount, maxCount, argCount) {\r\n let argError;\r\n if (argCount < minCount) {\r\n argError = 'at least ' + minCount;\r\n }\r\n else if (argCount > maxCount) {\r\n argError = maxCount === 0 ? 'none' : 'no more than ' + maxCount;\r\n }\r\n if (argError) {\r\n const error = fnName +\r\n ' failed: Was called with ' +\r\n argCount +\r\n (argCount === 1 ? ' argument.' : ' arguments.') +\r\n ' Expects ' +\r\n argError +\r\n '.';\r\n throw new Error(error);\r\n }\r\n};\r\n/**\r\n * Generates a string to prefix an error message about failed argument validation\r\n *\r\n * @param fnName The function name\r\n * @param argName The name of the argument\r\n * @return The prefix to add to the error thrown for validation.\r\n */\r\nfunction errorPrefix(fnName, argName) {\r\n return `${fnName} failed: ${argName} argument `;\r\n}\r\n/**\r\n * @param fnName\r\n * @param argumentNumber\r\n * @param namespace\r\n * @param optional\r\n */\r\nfunction validateNamespace(fnName, namespace, optional) {\r\n if (optional && !namespace) {\r\n return;\r\n }\r\n if (typeof namespace !== 'string') {\r\n //TODO: I should do more validation here. We only allow certain chars in namespaces.\r\n throw new Error(errorPrefix(fnName, 'namespace') + 'must be a valid firebase namespace.');\r\n }\r\n}\r\nfunction validateCallback(fnName, argumentName, \r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\ncallback, optional) {\r\n if (optional && !callback) {\r\n return;\r\n }\r\n if (typeof callback !== 'function') {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid function.');\r\n }\r\n}\r\nfunction validateContextObject(fnName, argumentName, context, optional) {\r\n if (optional && !context) {\r\n return;\r\n }\r\n if (typeof context !== 'object' || context === null) {\r\n throw new Error(errorPrefix(fnName, argumentName) + 'must be a valid context object.');\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n// Code originally came from goog.crypt.stringToUtf8ByteArray, but for some reason they\r\n// automatically replaced '\\r\\n' with '\\n', and they didn't handle surrogate pairs,\r\n// so it's been modified.\r\n// Note that not all Unicode characters appear as single characters in JavaScript strings.\r\n// fromCharCode returns the UTF-16 encoding of a character - so some Unicode characters\r\n// use 2 characters in Javascript. All 4-byte UTF-8 characters begin with a first\r\n// character in the range 0xD800 - 0xDBFF (the first character of a so-called surrogate\r\n// pair).\r\n// See http://www.ecma-international.org/ecma-262/5.1/#sec-15.1.3\r\n/**\r\n * @param {string} str\r\n * @return {Array}\r\n */\r\nconst stringToByteArray = function (str) {\r\n const out = [];\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n let c = str.charCodeAt(i);\r\n // Is this the lead surrogate in a surrogate pair?\r\n if (c >= 0xd800 && c <= 0xdbff) {\r\n const high = c - 0xd800; // the high 10 bits.\r\n i++;\r\n assert(i < str.length, 'Surrogate pair missing trail surrogate.');\r\n const low = str.charCodeAt(i) - 0xdc00; // the low 10 bits.\r\n c = 0x10000 + (high << 10) + low;\r\n }\r\n if (c < 128) {\r\n out[p++] = c;\r\n }\r\n else if (c < 2048) {\r\n out[p++] = (c >> 6) | 192;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else if (c < 65536) {\r\n out[p++] = (c >> 12) | 224;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n else {\r\n out[p++] = (c >> 18) | 240;\r\n out[p++] = ((c >> 12) & 63) | 128;\r\n out[p++] = ((c >> 6) & 63) | 128;\r\n out[p++] = (c & 63) | 128;\r\n }\r\n }\r\n return out;\r\n};\r\n/**\r\n * Calculate length without actually converting; useful for doing cheaper validation.\r\n * @param {string} str\r\n * @return {number}\r\n */\r\nconst stringLength = function (str) {\r\n let p = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n const c = str.charCodeAt(i);\r\n if (c < 128) {\r\n p++;\r\n }\r\n else if (c < 2048) {\r\n p += 2;\r\n }\r\n else if (c >= 0xd800 && c <= 0xdbff) {\r\n // Lead surrogate of a surrogate pair. The pair together will take 4 bytes to represent.\r\n p += 4;\r\n i++; // skip trail surrogate.\r\n }\r\n else {\r\n p += 3;\r\n }\r\n }\r\n return p;\r\n};\n\n/**\r\n * @license\r\n * Copyright 2022 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Copied from https://stackoverflow.com/a/2117523\r\n * Generates a new uuid.\r\n * @public\r\n */\r\nconst uuidv4 = function () {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\r\n const r = (Math.random() * 16) | 0, v = c === 'x' ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The amount of milliseconds to exponentially increase.\r\n */\r\nconst DEFAULT_INTERVAL_MILLIS = 1000;\r\n/**\r\n * The factor to backoff by.\r\n * Should be a number greater than 1.\r\n */\r\nconst DEFAULT_BACKOFF_FACTOR = 2;\r\n/**\r\n * The maximum milliseconds to increase to.\r\n *\r\n *

Visible for testing\r\n */\r\nconst MAX_VALUE_MILLIS = 4 * 60 * 60 * 1000; // Four hours, like iOS and Android.\r\n/**\r\n * The percentage of backoff time to randomize by.\r\n * See\r\n * http://go/safe-client-behavior#step-1-determine-the-appropriate-retry-interval-to-handle-spike-traffic\r\n * for context.\r\n *\r\n *

Visible for testing\r\n */\r\nconst RANDOM_FACTOR = 0.5;\r\n/**\r\n * Based on the backoff method from\r\n * https://github.com/google/closure-library/blob/master/closure/goog/math/exponentialbackoff.js.\r\n * Extracted here so we don't need to pass metadata and a stateful ExponentialBackoff object around.\r\n */\r\nfunction calculateBackoffMillis(backoffCount, intervalMillis = DEFAULT_INTERVAL_MILLIS, backoffFactor = DEFAULT_BACKOFF_FACTOR) {\r\n // Calculates an exponentially increasing value.\r\n // Deviation: calculates value from count and a constant interval, so we only need to save value\r\n // and count to restore state.\r\n const currBaseValue = intervalMillis * Math.pow(backoffFactor, backoffCount);\r\n // A random \"fuzz\" to avoid waves of retries.\r\n // Deviation: randomFactor is required.\r\n const randomWait = Math.round(\r\n // A fraction of the backoff value to add/subtract.\r\n // Deviation: changes multiplication order to improve readability.\r\n RANDOM_FACTOR *\r\n currBaseValue *\r\n // A random float (rounded to int by Math.round above) in the range [-1, 1]. Determines\r\n // if we add or subtract.\r\n (Math.random() - 0.5) *\r\n 2);\r\n // Limits backoff to max to avoid effectively permanent backoff.\r\n return Math.min(MAX_VALUE_MILLIS, currBaseValue + randomWait);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provide English ordinal letters after a number\r\n */\r\nfunction ordinal(i) {\r\n if (!Number.isFinite(i)) {\r\n return `${i}`;\r\n }\r\n return i + indicator(i);\r\n}\r\nfunction indicator(i) {\r\n i = Math.abs(i);\r\n const cent = i % 100;\r\n if (cent >= 10 && cent <= 20) {\r\n return 'th';\r\n }\r\n const dec = i % 10;\r\n if (dec === 1) {\r\n return 'st';\r\n }\r\n if (dec === 2) {\r\n return 'nd';\r\n }\r\n if (dec === 3) {\r\n return 'rd';\r\n }\r\n return 'th';\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction getModularInstance(service) {\r\n if (service && service._delegate) {\r\n return service._delegate;\r\n }\r\n else {\r\n return service;\r\n }\r\n}\n\nexport { CONSTANTS, DecodeBase64StringError, Deferred, ErrorFactory, FirebaseError, MAX_VALUE_MILLIS, RANDOM_FACTOR, Sha1, areCookiesEnabled, assert, assertionError, async, base64, base64Decode, base64Encode, base64urlEncodeWithoutPadding, calculateBackoffMillis, contains, createMockUserToken, createSubscribe, decode, deepCopy, deepEqual, deepExtend, errorPrefix, extractQuerystring, getDefaultAppConfig, getDefaultEmulatorHost, getDefaultEmulatorHostnameAndPort, getDefaults, getExperimentalSetting, getGlobal, getModularInstance, getUA, isAdmin, isBrowser, isBrowserExtension, isElectron, isEmpty, isIE, isIndexedDBAvailable, isMobileCordova, isNode, isNodeSdk, isReactNative, isSafari, isUWP, isValidFormat, isValidTimestamp, issuedAtTime, jsonEval, map, ordinal, promiseWithTimeout, querystring, querystringDecode, safeGet, stringLength, stringToByteArray, stringify, uuidv4, validateArgCount, validateCallback, validateContextObject, validateIndexedDBOpenable, validateNamespace };\n//# sourceMappingURL=index.esm2017.js.map\n","import { Deferred } from '@firebase/util';\n\n/**\r\n * Component for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass Component {\r\n /**\r\n *\r\n * @param name The public service name, e.g. app, auth, firestore, database\r\n * @param instanceFactory Service factory responsible for creating the public interface\r\n * @param type whether the service provided by the component is public or private\r\n */\r\n constructor(name, instanceFactory, type) {\r\n this.name = name;\r\n this.instanceFactory = instanceFactory;\r\n this.type = type;\r\n this.multipleInstances = false;\r\n /**\r\n * Properties to be added to the service namespace\r\n */\r\n this.serviceProps = {};\r\n this.instantiationMode = \"LAZY\" /* InstantiationMode.LAZY */;\r\n this.onInstanceCreated = null;\r\n }\r\n setInstantiationMode(mode) {\r\n this.instantiationMode = mode;\r\n return this;\r\n }\r\n setMultipleInstances(multipleInstances) {\r\n this.multipleInstances = multipleInstances;\r\n return this;\r\n }\r\n setServiceProps(props) {\r\n this.serviceProps = props;\r\n return this;\r\n }\r\n setInstanceCreatedCallback(callback) {\r\n this.onInstanceCreated = callback;\r\n return this;\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * Provider for instance for service name T, e.g. 'auth', 'auth-internal'\r\n * NameServiceMapping[T] is an alias for the type of the instance\r\n */\r\nclass Provider {\r\n constructor(name, container) {\r\n this.name = name;\r\n this.container = container;\r\n this.component = null;\r\n this.instances = new Map();\r\n this.instancesDeferred = new Map();\r\n this.instancesOptions = new Map();\r\n this.onInitCallbacks = new Map();\r\n }\r\n /**\r\n * @param identifier A provider can provide mulitple instances of a service\r\n * if this.component.multipleInstances is true.\r\n */\r\n get(identifier) {\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n if (!this.instancesDeferred.has(normalizedIdentifier)) {\r\n const deferred = new Deferred();\r\n this.instancesDeferred.set(normalizedIdentifier, deferred);\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n // initialize the service if it can be auto-initialized\r\n try {\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n if (instance) {\r\n deferred.resolve(instance);\r\n }\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception during get(), it should not cause\r\n // a fatal error. We just return the unresolved promise in this case.\r\n }\r\n }\r\n }\r\n return this.instancesDeferred.get(normalizedIdentifier).promise;\r\n }\r\n getImmediate(options) {\r\n var _a;\r\n // if multipleInstances is not supported, use the default name\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(options === null || options === void 0 ? void 0 : options.identifier);\r\n const optional = (_a = options === null || options === void 0 ? void 0 : options.optional) !== null && _a !== void 0 ? _a : false;\r\n if (this.isInitialized(normalizedIdentifier) ||\r\n this.shouldAutoInitialize()) {\r\n try {\r\n return this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n }\r\n catch (e) {\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw e;\r\n }\r\n }\r\n }\r\n else {\r\n // In case a component is not initialized and should/can not be auto-initialized at the moment, return null if the optional flag is set, or throw\r\n if (optional) {\r\n return null;\r\n }\r\n else {\r\n throw Error(`Service ${this.name} is not available`);\r\n }\r\n }\r\n }\r\n getComponent() {\r\n return this.component;\r\n }\r\n setComponent(component) {\r\n if (component.name !== this.name) {\r\n throw Error(`Mismatching Component ${component.name} for Provider ${this.name}.`);\r\n }\r\n if (this.component) {\r\n throw Error(`Component for ${this.name} has already been provided`);\r\n }\r\n this.component = component;\r\n // return early without attempting to initialize the component if the component requires explicit initialization (calling `Provider.initialize()`)\r\n if (!this.shouldAutoInitialize()) {\r\n return;\r\n }\r\n // if the service is eager, initialize the default instance\r\n if (isComponentEager(component)) {\r\n try {\r\n this.getOrInitializeService({ instanceIdentifier: DEFAULT_ENTRY_NAME });\r\n }\r\n catch (e) {\r\n // when the instance factory for an eager Component throws an exception during the eager\r\n // initialization, it should not cause a fatal error.\r\n // TODO: Investigate if we need to make it configurable, because some component may want to cause\r\n // a fatal error in this case?\r\n }\r\n }\r\n // Create service instances for the pending promises and resolve them\r\n // NOTE: if this.multipleInstances is false, only the default instance will be created\r\n // and all promises with resolve with it regardless of the identifier.\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n try {\r\n // `getOrInitializeService()` should always return a valid instance since a component is guaranteed. use ! to make typescript happy.\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier\r\n });\r\n instanceDeferred.resolve(instance);\r\n }\r\n catch (e) {\r\n // when the instance factory throws an exception, it should not cause\r\n // a fatal error. We just leave the promise unresolved.\r\n }\r\n }\r\n }\r\n clearInstance(identifier = DEFAULT_ENTRY_NAME) {\r\n this.instancesDeferred.delete(identifier);\r\n this.instancesOptions.delete(identifier);\r\n this.instances.delete(identifier);\r\n }\r\n // app.delete() will call this method on every provider to delete the services\r\n // TODO: should we mark the provider as deleted?\r\n async delete() {\r\n const services = Array.from(this.instances.values());\r\n await Promise.all([\r\n ...services\r\n .filter(service => 'INTERNAL' in service) // legacy services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service.INTERNAL.delete()),\r\n ...services\r\n .filter(service => '_delete' in service) // modularized services\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n .map(service => service._delete())\r\n ]);\r\n }\r\n isComponentSet() {\r\n return this.component != null;\r\n }\r\n isInitialized(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instances.has(identifier);\r\n }\r\n getOptions(identifier = DEFAULT_ENTRY_NAME) {\r\n return this.instancesOptions.get(identifier) || {};\r\n }\r\n initialize(opts = {}) {\r\n const { options = {} } = opts;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(opts.instanceIdentifier);\r\n if (this.isInitialized(normalizedIdentifier)) {\r\n throw Error(`${this.name}(${normalizedIdentifier}) has already been initialized`);\r\n }\r\n if (!this.isComponentSet()) {\r\n throw Error(`Component ${this.name} has not been registered yet`);\r\n }\r\n const instance = this.getOrInitializeService({\r\n instanceIdentifier: normalizedIdentifier,\r\n options\r\n });\r\n // resolve any pending promise waiting for the service instance\r\n for (const [instanceIdentifier, instanceDeferred] of this.instancesDeferred.entries()) {\r\n const normalizedDeferredIdentifier = this.normalizeInstanceIdentifier(instanceIdentifier);\r\n if (normalizedIdentifier === normalizedDeferredIdentifier) {\r\n instanceDeferred.resolve(instance);\r\n }\r\n }\r\n return instance;\r\n }\r\n /**\r\n *\r\n * @param callback - a function that will be invoked after the provider has been initialized by calling provider.initialize().\r\n * The function is invoked SYNCHRONOUSLY, so it should not execute any longrunning tasks in order to not block the program.\r\n *\r\n * @param identifier An optional instance identifier\r\n * @returns a function to unregister the callback\r\n */\r\n onInit(callback, identifier) {\r\n var _a;\r\n const normalizedIdentifier = this.normalizeInstanceIdentifier(identifier);\r\n const existingCallbacks = (_a = this.onInitCallbacks.get(normalizedIdentifier)) !== null && _a !== void 0 ? _a : new Set();\r\n existingCallbacks.add(callback);\r\n this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks);\r\n const existingInstance = this.instances.get(normalizedIdentifier);\r\n if (existingInstance) {\r\n callback(existingInstance, normalizedIdentifier);\r\n }\r\n return () => {\r\n existingCallbacks.delete(callback);\r\n };\r\n }\r\n /**\r\n * Invoke onInit callbacks synchronously\r\n * @param instance the service instance`\r\n */\r\n invokeOnInitCallbacks(instance, identifier) {\r\n const callbacks = this.onInitCallbacks.get(identifier);\r\n if (!callbacks) {\r\n return;\r\n }\r\n for (const callback of callbacks) {\r\n try {\r\n callback(instance, identifier);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInit callback\r\n }\r\n }\r\n }\r\n getOrInitializeService({ instanceIdentifier, options = {} }) {\r\n let instance = this.instances.get(instanceIdentifier);\r\n if (!instance && this.component) {\r\n instance = this.component.instanceFactory(this.container, {\r\n instanceIdentifier: normalizeIdentifierForFactory(instanceIdentifier),\r\n options\r\n });\r\n this.instances.set(instanceIdentifier, instance);\r\n this.instancesOptions.set(instanceIdentifier, options);\r\n /**\r\n * Invoke onInit listeners.\r\n * Note this.component.onInstanceCreated is different, which is used by the component creator,\r\n * while onInit listeners are registered by consumers of the provider.\r\n */\r\n this.invokeOnInitCallbacks(instance, instanceIdentifier);\r\n /**\r\n * Order is important\r\n * onInstanceCreated() should be called after this.instances.set(instanceIdentifier, instance); which\r\n * makes `isInitialized()` return true.\r\n */\r\n if (this.component.onInstanceCreated) {\r\n try {\r\n this.component.onInstanceCreated(this.container, instanceIdentifier, instance);\r\n }\r\n catch (_a) {\r\n // ignore errors in the onInstanceCreatedCallback\r\n }\r\n }\r\n }\r\n return instance || null;\r\n }\r\n normalizeInstanceIdentifier(identifier = DEFAULT_ENTRY_NAME) {\r\n if (this.component) {\r\n return this.component.multipleInstances ? identifier : DEFAULT_ENTRY_NAME;\r\n }\r\n else {\r\n return identifier; // assume multiple instances are supported before the component is provided.\r\n }\r\n }\r\n shouldAutoInitialize() {\r\n return (!!this.component &&\r\n this.component.instantiationMode !== \"EXPLICIT\" /* InstantiationMode.EXPLICIT */);\r\n }\r\n}\r\n// undefined should be passed to the service factory for the default instance\r\nfunction normalizeIdentifierForFactory(identifier) {\r\n return identifier === DEFAULT_ENTRY_NAME ? undefined : identifier;\r\n}\r\nfunction isComponentEager(component) {\r\n return component.instantiationMode === \"EAGER\" /* InstantiationMode.EAGER */;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * ComponentContainer that provides Providers for service name T, e.g. `auth`, `auth-internal`\r\n */\r\nclass ComponentContainer {\r\n constructor(name) {\r\n this.name = name;\r\n this.providers = new Map();\r\n }\r\n /**\r\n *\r\n * @param component Component being added\r\n * @param overwrite When a component with the same name has already been registered,\r\n * if overwrite is true: overwrite the existing component with the new component and create a new\r\n * provider with the new component. It can be useful in tests where you want to use different mocks\r\n * for different tests.\r\n * if overwrite is false: throw an exception\r\n */\r\n addComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n throw new Error(`Component ${component.name} has already been registered with ${this.name}`);\r\n }\r\n provider.setComponent(component);\r\n }\r\n addOrOverwriteComponent(component) {\r\n const provider = this.getProvider(component.name);\r\n if (provider.isComponentSet()) {\r\n // delete the existing provider from the container, so we can register the new component\r\n this.providers.delete(component.name);\r\n }\r\n this.addComponent(component);\r\n }\r\n /**\r\n * getProvider provides a type safe interface where it can only be called with a field name\r\n * present in NameServiceMapping interface.\r\n *\r\n * Firebase SDKs providing services should extend NameServiceMapping interface to register\r\n * themselves.\r\n */\r\n getProvider(name) {\r\n if (this.providers.has(name)) {\r\n return this.providers.get(name);\r\n }\r\n // create a Provider for a service that hasn't registered with Firebase\r\n const provider = new Provider(name, this);\r\n this.providers.set(name, provider);\r\n return provider;\r\n }\r\n getProviders() {\r\n return Array.from(this.providers.values());\r\n }\r\n}\n\nexport { Component, ComponentContainer, Provider };\n//# sourceMappingURL=index.esm2017.js.map\n","/**\r\n * @license\r\n * Copyright 2017 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * A container for all of the Logger instances\r\n */\r\nconst instances = [];\r\n/**\r\n * The JS SDK supports 5 log levels and also allows a user the ability to\r\n * silence the logs altogether.\r\n *\r\n * The order is a follows:\r\n * DEBUG < VERBOSE < INFO < WARN < ERROR\r\n *\r\n * All of the log types above the current log level will be captured (i.e. if\r\n * you set the log level to `INFO`, errors will still be logged, but `DEBUG` and\r\n * `VERBOSE` logs will not)\r\n */\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"DEBUG\"] = 0] = \"DEBUG\";\r\n LogLevel[LogLevel[\"VERBOSE\"] = 1] = \"VERBOSE\";\r\n LogLevel[LogLevel[\"INFO\"] = 2] = \"INFO\";\r\n LogLevel[LogLevel[\"WARN\"] = 3] = \"WARN\";\r\n LogLevel[LogLevel[\"ERROR\"] = 4] = \"ERROR\";\r\n LogLevel[LogLevel[\"SILENT\"] = 5] = \"SILENT\";\r\n})(LogLevel || (LogLevel = {}));\r\nconst levelStringToEnum = {\r\n 'debug': LogLevel.DEBUG,\r\n 'verbose': LogLevel.VERBOSE,\r\n 'info': LogLevel.INFO,\r\n 'warn': LogLevel.WARN,\r\n 'error': LogLevel.ERROR,\r\n 'silent': LogLevel.SILENT\r\n};\r\n/**\r\n * The default log level\r\n */\r\nconst defaultLogLevel = LogLevel.INFO;\r\n/**\r\n * By default, `console.debug` is not displayed in the developer console (in\r\n * chrome). To avoid forcing users to have to opt-in to these logs twice\r\n * (i.e. once for firebase, and once in the console), we are sending `DEBUG`\r\n * logs to the `console.log` function.\r\n */\r\nconst ConsoleMethod = {\r\n [LogLevel.DEBUG]: 'log',\r\n [LogLevel.VERBOSE]: 'log',\r\n [LogLevel.INFO]: 'info',\r\n [LogLevel.WARN]: 'warn',\r\n [LogLevel.ERROR]: 'error'\r\n};\r\n/**\r\n * The default log handler will forward DEBUG, VERBOSE, INFO, WARN, and ERROR\r\n * messages on to their corresponding console counterparts (if the log method\r\n * is supported by the current log level)\r\n */\r\nconst defaultLogHandler = (instance, logType, ...args) => {\r\n if (logType < instance.logLevel) {\r\n return;\r\n }\r\n const now = new Date().toISOString();\r\n const method = ConsoleMethod[logType];\r\n if (method) {\r\n console[method](`[${now}] ${instance.name}:`, ...args);\r\n }\r\n else {\r\n throw new Error(`Attempted to log a message with an invalid logType (value: ${logType})`);\r\n }\r\n};\r\nclass Logger {\r\n /**\r\n * Gives you an instance of a Logger to capture messages according to\r\n * Firebase's logging scheme.\r\n *\r\n * @param name The name that the logs will be associated with\r\n */\r\n constructor(name) {\r\n this.name = name;\r\n /**\r\n * The log level of the given Logger instance.\r\n */\r\n this._logLevel = defaultLogLevel;\r\n /**\r\n * The main (internal) log handler for the Logger instance.\r\n * Can be set to a new function in internal package code but not by user.\r\n */\r\n this._logHandler = defaultLogHandler;\r\n /**\r\n * The optional, additional, user-defined log handler for the Logger instance.\r\n */\r\n this._userLogHandler = null;\r\n /**\r\n * Capture the current instance for later use\r\n */\r\n instances.push(this);\r\n }\r\n get logLevel() {\r\n return this._logLevel;\r\n }\r\n set logLevel(val) {\r\n if (!(val in LogLevel)) {\r\n throw new TypeError(`Invalid value \"${val}\" assigned to \\`logLevel\\``);\r\n }\r\n this._logLevel = val;\r\n }\r\n // Workaround for setter/getter having to be the same type.\r\n setLogLevel(val) {\r\n this._logLevel = typeof val === 'string' ? levelStringToEnum[val] : val;\r\n }\r\n get logHandler() {\r\n return this._logHandler;\r\n }\r\n set logHandler(val) {\r\n if (typeof val !== 'function') {\r\n throw new TypeError('Value assigned to `logHandler` must be a function');\r\n }\r\n this._logHandler = val;\r\n }\r\n get userLogHandler() {\r\n return this._userLogHandler;\r\n }\r\n set userLogHandler(val) {\r\n this._userLogHandler = val;\r\n }\r\n /**\r\n * The functions below are all based on the `console` interface\r\n */\r\n debug(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.DEBUG, ...args);\r\n this._logHandler(this, LogLevel.DEBUG, ...args);\r\n }\r\n log(...args) {\r\n this._userLogHandler &&\r\n this._userLogHandler(this, LogLevel.VERBOSE, ...args);\r\n this._logHandler(this, LogLevel.VERBOSE, ...args);\r\n }\r\n info(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.INFO, ...args);\r\n this._logHandler(this, LogLevel.INFO, ...args);\r\n }\r\n warn(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.WARN, ...args);\r\n this._logHandler(this, LogLevel.WARN, ...args);\r\n }\r\n error(...args) {\r\n this._userLogHandler && this._userLogHandler(this, LogLevel.ERROR, ...args);\r\n this._logHandler(this, LogLevel.ERROR, ...args);\r\n }\r\n}\r\nfunction setLogLevel(level) {\r\n instances.forEach(inst => {\r\n inst.setLogLevel(level);\r\n });\r\n}\r\nfunction setUserLogHandler(logCallback, options) {\r\n for (const instance of instances) {\r\n let customLogLevel = null;\r\n if (options && options.level) {\r\n customLogLevel = levelStringToEnum[options.level];\r\n }\r\n if (logCallback === null) {\r\n instance.userLogHandler = null;\r\n }\r\n else {\r\n instance.userLogHandler = (instance, level, ...args) => {\r\n const message = args\r\n .map(arg => {\r\n if (arg == null) {\r\n return null;\r\n }\r\n else if (typeof arg === 'string') {\r\n return arg;\r\n }\r\n else if (typeof arg === 'number' || typeof arg === 'boolean') {\r\n return arg.toString();\r\n }\r\n else if (arg instanceof Error) {\r\n return arg.message;\r\n }\r\n else {\r\n try {\r\n return JSON.stringify(arg);\r\n }\r\n catch (ignored) {\r\n return null;\r\n }\r\n }\r\n })\r\n .filter(arg => arg)\r\n .join(' ');\r\n if (level >= (customLogLevel !== null && customLogLevel !== void 0 ? customLogLevel : instance.logLevel)) {\r\n logCallback({\r\n level: LogLevel[level].toLowerCase(),\r\n message,\r\n args,\r\n type: instance.name\r\n });\r\n }\r\n };\r\n }\r\n }\r\n}\n\nexport { LogLevel, Logger, setLogLevel, setUserLogHandler };\n//# sourceMappingURL=index.esm2017.js.map\n","const instanceOfAny = (object, constructors) => constructors.some((c) => object instanceof c);\n\nlet idbProxyableTypes;\nlet cursorAdvanceMethods;\n// This is a function to prevent it throwing up in node environments.\nfunction getIdbProxyableTypes() {\n return (idbProxyableTypes ||\n (idbProxyableTypes = [\n IDBDatabase,\n IDBObjectStore,\n IDBIndex,\n IDBCursor,\n IDBTransaction,\n ]));\n}\n// This is a function to prevent it throwing up in node environments.\nfunction getCursorAdvanceMethods() {\n return (cursorAdvanceMethods ||\n (cursorAdvanceMethods = [\n IDBCursor.prototype.advance,\n IDBCursor.prototype.continue,\n IDBCursor.prototype.continuePrimaryKey,\n ]));\n}\nconst cursorRequestMap = new WeakMap();\nconst transactionDoneMap = new WeakMap();\nconst transactionStoreNamesMap = new WeakMap();\nconst transformCache = new WeakMap();\nconst reverseTransformCache = new WeakMap();\nfunction promisifyRequest(request) {\n const promise = new Promise((resolve, reject) => {\n const unlisten = () => {\n request.removeEventListener('success', success);\n request.removeEventListener('error', error);\n };\n const success = () => {\n resolve(wrap(request.result));\n unlisten();\n };\n const error = () => {\n reject(request.error);\n unlisten();\n };\n request.addEventListener('success', success);\n request.addEventListener('error', error);\n });\n promise\n .then((value) => {\n // Since cursoring reuses the IDBRequest (*sigh*), we cache it for later retrieval\n // (see wrapFunction).\n if (value instanceof IDBCursor) {\n cursorRequestMap.set(value, request);\n }\n // Catching to avoid \"Uncaught Promise exceptions\"\n })\n .catch(() => { });\n // This mapping exists in reverseTransformCache but doesn't doesn't exist in transformCache. This\n // is because we create many promises from a single IDBRequest.\n reverseTransformCache.set(promise, request);\n return promise;\n}\nfunction cacheDonePromiseForTransaction(tx) {\n // Early bail if we've already created a done promise for this transaction.\n if (transactionDoneMap.has(tx))\n return;\n const done = new Promise((resolve, reject) => {\n const unlisten = () => {\n tx.removeEventListener('complete', complete);\n tx.removeEventListener('error', error);\n tx.removeEventListener('abort', error);\n };\n const complete = () => {\n resolve();\n unlisten();\n };\n const error = () => {\n reject(tx.error || new DOMException('AbortError', 'AbortError'));\n unlisten();\n };\n tx.addEventListener('complete', complete);\n tx.addEventListener('error', error);\n tx.addEventListener('abort', error);\n });\n // Cache it for later retrieval.\n transactionDoneMap.set(tx, done);\n}\nlet idbProxyTraps = {\n get(target, prop, receiver) {\n if (target instanceof IDBTransaction) {\n // Special handling for transaction.done.\n if (prop === 'done')\n return transactionDoneMap.get(target);\n // Polyfill for objectStoreNames because of Edge.\n if (prop === 'objectStoreNames') {\n return target.objectStoreNames || transactionStoreNamesMap.get(target);\n }\n // Make tx.store return the only store in the transaction, or undefined if there are many.\n if (prop === 'store') {\n return receiver.objectStoreNames[1]\n ? undefined\n : receiver.objectStore(receiver.objectStoreNames[0]);\n }\n }\n // Else transform whatever we get back.\n return wrap(target[prop]);\n },\n set(target, prop, value) {\n target[prop] = value;\n return true;\n },\n has(target, prop) {\n if (target instanceof IDBTransaction &&\n (prop === 'done' || prop === 'store')) {\n return true;\n }\n return prop in target;\n },\n};\nfunction replaceTraps(callback) {\n idbProxyTraps = callback(idbProxyTraps);\n}\nfunction wrapFunction(func) {\n // Due to expected object equality (which is enforced by the caching in `wrap`), we\n // only create one new func per func.\n // Edge doesn't support objectStoreNames (booo), so we polyfill it here.\n if (func === IDBDatabase.prototype.transaction &&\n !('objectStoreNames' in IDBTransaction.prototype)) {\n return function (storeNames, ...args) {\n const tx = func.call(unwrap(this), storeNames, ...args);\n transactionStoreNamesMap.set(tx, storeNames.sort ? storeNames.sort() : [storeNames]);\n return wrap(tx);\n };\n }\n // Cursor methods are special, as the behaviour is a little more different to standard IDB. In\n // IDB, you advance the cursor and wait for a new 'success' on the IDBRequest that gave you the\n // cursor. It's kinda like a promise that can resolve with many values. That doesn't make sense\n // with real promises, so each advance methods returns a new promise for the cursor object, or\n // undefined if the end of the cursor has been reached.\n if (getCursorAdvanceMethods().includes(func)) {\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n func.apply(unwrap(this), args);\n return wrap(cursorRequestMap.get(this));\n };\n }\n return function (...args) {\n // Calling the original function with the proxy as 'this' causes ILLEGAL INVOCATION, so we use\n // the original object.\n return wrap(func.apply(unwrap(this), args));\n };\n}\nfunction transformCachableValue(value) {\n if (typeof value === 'function')\n return wrapFunction(value);\n // This doesn't return, it just creates a 'done' promise for the transaction,\n // which is later returned for transaction.done (see idbObjectHandler).\n if (value instanceof IDBTransaction)\n cacheDonePromiseForTransaction(value);\n if (instanceOfAny(value, getIdbProxyableTypes()))\n return new Proxy(value, idbProxyTraps);\n // Return the same value back if we're not going to transform it.\n return value;\n}\nfunction wrap(value) {\n // We sometimes generate multiple promises from a single IDBRequest (eg when cursoring), because\n // IDB is weird and a single IDBRequest can yield many responses, so these can't be cached.\n if (value instanceof IDBRequest)\n return promisifyRequest(value);\n // If we've already transformed this value before, reuse the transformed value.\n // This is faster, but it also provides object equality.\n if (transformCache.has(value))\n return transformCache.get(value);\n const newValue = transformCachableValue(value);\n // Not all types are transformed.\n // These may be primitive types, so they can't be WeakMap keys.\n if (newValue !== value) {\n transformCache.set(value, newValue);\n reverseTransformCache.set(newValue, value);\n }\n return newValue;\n}\nconst unwrap = (value) => reverseTransformCache.get(value);\n\nexport { reverseTransformCache as a, instanceOfAny as i, replaceTraps as r, unwrap as u, wrap as w };\n","import { w as wrap, r as replaceTraps } from './wrap-idb-value.js';\nexport { u as unwrap, w as wrap } from './wrap-idb-value.js';\n\n/**\n * Open a database.\n *\n * @param name Name of the database.\n * @param version Schema version.\n * @param callbacks Additional callbacks.\n */\nfunction openDB(name, version, { blocked, upgrade, blocking, terminated } = {}) {\n const request = indexedDB.open(name, version);\n const openPromise = wrap(request);\n if (upgrade) {\n request.addEventListener('upgradeneeded', (event) => {\n upgrade(wrap(request.result), event.oldVersion, event.newVersion, wrap(request.transaction), event);\n });\n }\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event.newVersion, event));\n }\n openPromise\n .then((db) => {\n if (terminated)\n db.addEventListener('close', () => terminated());\n if (blocking) {\n db.addEventListener('versionchange', (event) => blocking(event.oldVersion, event.newVersion, event));\n }\n })\n .catch(() => { });\n return openPromise;\n}\n/**\n * Delete a database.\n *\n * @param name Name of the database.\n */\nfunction deleteDB(name, { blocked } = {}) {\n const request = indexedDB.deleteDatabase(name);\n if (blocked) {\n request.addEventListener('blocked', (event) => blocked(\n // Casting due to https://github.com/microsoft/TypeScript-DOM-lib-generator/pull/1405\n event.oldVersion, event));\n }\n return wrap(request).then(() => undefined);\n}\n\nconst readMethods = ['get', 'getKey', 'getAll', 'getAllKeys', 'count'];\nconst writeMethods = ['put', 'add', 'delete', 'clear'];\nconst cachedMethods = new Map();\nfunction getMethod(target, prop) {\n if (!(target instanceof IDBDatabase &&\n !(prop in target) &&\n typeof prop === 'string')) {\n return;\n }\n if (cachedMethods.get(prop))\n return cachedMethods.get(prop);\n const targetFuncName = prop.replace(/FromIndex$/, '');\n const useIndex = prop !== targetFuncName;\n const isWrite = writeMethods.includes(targetFuncName);\n if (\n // Bail if the target doesn't exist on the target. Eg, getAll isn't in Edge.\n !(targetFuncName in (useIndex ? IDBIndex : IDBObjectStore).prototype) ||\n !(isWrite || readMethods.includes(targetFuncName))) {\n return;\n }\n const method = async function (storeName, ...args) {\n // isWrite ? 'readwrite' : undefined gzipps better, but fails in Edge :(\n const tx = this.transaction(storeName, isWrite ? 'readwrite' : 'readonly');\n let target = tx.store;\n if (useIndex)\n target = target.index(args.shift());\n // Must reject if op rejects.\n // If it's a write operation, must reject if tx.done rejects.\n // Must reject with op rejection first.\n // Must resolve with op value.\n // Must handle both promises (no unhandled rejections)\n return (await Promise.all([\n target[targetFuncName](...args),\n isWrite && tx.done,\n ]))[0];\n };\n cachedMethods.set(prop, method);\n return method;\n}\nreplaceTraps((oldTraps) => ({\n ...oldTraps,\n get: (target, prop, receiver) => getMethod(target, prop) || oldTraps.get(target, prop, receiver),\n has: (target, prop) => !!getMethod(target, prop) || oldTraps.has(target, prop),\n}));\n\nexport { deleteDB, openDB };\n","import { Component, ComponentContainer } from '@firebase/component';\nimport { Logger, setUserLogHandler, setLogLevel as setLogLevel$1 } from '@firebase/logger';\nimport { ErrorFactory, getDefaultAppConfig, deepEqual, isBrowser, FirebaseError, base64urlEncodeWithoutPadding, isIndexedDBAvailable, validateIndexedDBOpenable } from '@firebase/util';\nexport { FirebaseError } from '@firebase/util';\nimport { openDB } from 'idb';\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass PlatformLoggerServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n }\r\n // In initial implementation, this will be called by installations on\r\n // auth token refresh, and installations will send this string.\r\n getPlatformInfoString() {\r\n const providers = this.container.getProviders();\r\n // Loop through providers and get library/version pairs from any that are\r\n // version components.\r\n return providers\r\n .map(provider => {\r\n if (isVersionServiceProvider(provider)) {\r\n const service = provider.getImmediate();\r\n return `${service.library}/${service.version}`;\r\n }\r\n else {\r\n return null;\r\n }\r\n })\r\n .filter(logString => logString)\r\n .join(' ');\r\n }\r\n}\r\n/**\r\n *\r\n * @param provider check if this provider provides a VersionService\r\n *\r\n * NOTE: Using Provider<'app-version'> is a hack to indicate that the provider\r\n * provides VersionService. The provider is not necessarily a 'app-version'\r\n * provider.\r\n */\r\nfunction isVersionServiceProvider(provider) {\r\n const component = provider.getComponent();\r\n return (component === null || component === void 0 ? void 0 : component.type) === \"VERSION\" /* ComponentType.VERSION */;\r\n}\n\nconst name$p = \"@firebase/app\";\nconst version$1 = \"0.10.5\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst logger = new Logger('@firebase/app');\n\nconst name$o = \"@firebase/app-compat\";\n\nconst name$n = \"@firebase/analytics-compat\";\n\nconst name$m = \"@firebase/analytics\";\n\nconst name$l = \"@firebase/app-check-compat\";\n\nconst name$k = \"@firebase/app-check\";\n\nconst name$j = \"@firebase/auth\";\n\nconst name$i = \"@firebase/auth-compat\";\n\nconst name$h = \"@firebase/database\";\n\nconst name$g = \"@firebase/database-compat\";\n\nconst name$f = \"@firebase/functions\";\n\nconst name$e = \"@firebase/functions-compat\";\n\nconst name$d = \"@firebase/installations\";\n\nconst name$c = \"@firebase/installations-compat\";\n\nconst name$b = \"@firebase/messaging\";\n\nconst name$a = \"@firebase/messaging-compat\";\n\nconst name$9 = \"@firebase/performance\";\n\nconst name$8 = \"@firebase/performance-compat\";\n\nconst name$7 = \"@firebase/remote-config\";\n\nconst name$6 = \"@firebase/remote-config-compat\";\n\nconst name$5 = \"@firebase/storage\";\n\nconst name$4 = \"@firebase/storage-compat\";\n\nconst name$3 = \"@firebase/firestore\";\n\nconst name$2 = \"@firebase/vertexai-preview\";\n\nconst name$1 = \"@firebase/firestore-compat\";\n\nconst name = \"firebase\";\nconst version = \"10.12.2\";\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The default app name\r\n *\r\n * @internal\r\n */\r\nconst DEFAULT_ENTRY_NAME = '[DEFAULT]';\r\nconst PLATFORM_LOG_STRING = {\r\n [name$p]: 'fire-core',\r\n [name$o]: 'fire-core-compat',\r\n [name$m]: 'fire-analytics',\r\n [name$n]: 'fire-analytics-compat',\r\n [name$k]: 'fire-app-check',\r\n [name$l]: 'fire-app-check-compat',\r\n [name$j]: 'fire-auth',\r\n [name$i]: 'fire-auth-compat',\r\n [name$h]: 'fire-rtdb',\r\n [name$g]: 'fire-rtdb-compat',\r\n [name$f]: 'fire-fn',\r\n [name$e]: 'fire-fn-compat',\r\n [name$d]: 'fire-iid',\r\n [name$c]: 'fire-iid-compat',\r\n [name$b]: 'fire-fcm',\r\n [name$a]: 'fire-fcm-compat',\r\n [name$9]: 'fire-perf',\r\n [name$8]: 'fire-perf-compat',\r\n [name$7]: 'fire-rc',\r\n [name$6]: 'fire-rc-compat',\r\n [name$5]: 'fire-gcs',\r\n [name$4]: 'fire-gcs-compat',\r\n [name$3]: 'fire-fst',\r\n [name$1]: 'fire-fst-compat',\r\n [name$2]: 'fire-vertex',\r\n 'fire-js': 'fire-js',\r\n [name]: 'fire-js-all'\r\n};\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * @internal\r\n */\r\nconst _apps = new Map();\r\n/**\r\n * @internal\r\n */\r\nconst _serverApps = new Map();\r\n/**\r\n * Registered components.\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nconst _components = new Map();\r\n/**\r\n * @param component - the component being added to this app's container\r\n *\r\n * @internal\r\n */\r\nfunction _addComponent(app, component) {\r\n try {\r\n app.container.addComponent(component);\r\n }\r\n catch (e) {\r\n logger.debug(`Component ${component.name} failed to register with FirebaseApp ${app.name}`, e);\r\n }\r\n}\r\n/**\r\n *\r\n * @internal\r\n */\r\nfunction _addOrOverwriteComponent(app, component) {\r\n app.container.addOrOverwriteComponent(component);\r\n}\r\n/**\r\n *\r\n * @param component - the component to register\r\n * @returns whether or not the component is registered successfully\r\n *\r\n * @internal\r\n */\r\nfunction _registerComponent(component) {\r\n const componentName = component.name;\r\n if (_components.has(componentName)) {\r\n logger.debug(`There were multiple attempts to register component ${componentName}.`);\r\n return false;\r\n }\r\n _components.set(componentName, component);\r\n // add the component to existing app instances\r\n for (const app of _apps.values()) {\r\n _addComponent(app, component);\r\n }\r\n for (const serverApp of _serverApps.values()) {\r\n _addComponent(serverApp, component);\r\n }\r\n return true;\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n *\r\n * @returns the provider for the service with the matching name\r\n *\r\n * @internal\r\n */\r\nfunction _getProvider(app, name) {\r\n const heartbeatController = app.container\r\n .getProvider('heartbeat')\r\n .getImmediate({ optional: true });\r\n if (heartbeatController) {\r\n void heartbeatController.triggerHeartbeat();\r\n }\r\n return app.container.getProvider(name);\r\n}\r\n/**\r\n *\r\n * @param app - FirebaseApp instance\r\n * @param name - service name\r\n * @param instanceIdentifier - service instance identifier in case the service supports multiple instances\r\n *\r\n * @internal\r\n */\r\nfunction _removeServiceInstance(app, name, instanceIdentifier = DEFAULT_ENTRY_NAME) {\r\n _getProvider(app, name).clearInstance(instanceIdentifier);\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp or FirebaseOptions.\r\n *\r\n * @returns true if the provide object is of type FirebaseApp.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseApp(obj) {\r\n return obj.options !== undefined;\r\n}\r\n/**\r\n *\r\n * @param obj - an object of type FirebaseApp.\r\n *\r\n * @returns true if the provided object is of type FirebaseServerAppImpl.\r\n *\r\n * @internal\r\n */\r\nfunction _isFirebaseServerApp(obj) {\r\n return obj.settings !== undefined;\r\n}\r\n/**\r\n * Test only\r\n *\r\n * @internal\r\n */\r\nfunction _clearComponents() {\r\n _components.clear();\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst ERRORS = {\r\n [\"no-app\" /* AppError.NO_APP */]: \"No Firebase App '{$appName}' has been created - \" +\r\n 'call initializeApp() first',\r\n [\"bad-app-name\" /* AppError.BAD_APP_NAME */]: \"Illegal App name: '{$appName}'\",\r\n [\"duplicate-app\" /* AppError.DUPLICATE_APP */]: \"Firebase App named '{$appName}' already exists with different options or config\",\r\n [\"app-deleted\" /* AppError.APP_DELETED */]: \"Firebase App named '{$appName}' already deleted\",\r\n [\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */]: 'Firebase Server App has been deleted',\r\n [\"no-options\" /* AppError.NO_OPTIONS */]: 'Need to provide options, when not being deployed to hosting via source.',\r\n [\"invalid-app-argument\" /* AppError.INVALID_APP_ARGUMENT */]: 'firebase.{$appName}() takes either no argument or a ' +\r\n 'Firebase App instance.',\r\n [\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */]: 'First argument to `onLog` must be null or a function.',\r\n [\"idb-open\" /* AppError.IDB_OPEN */]: 'Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-get\" /* AppError.IDB_GET */]: 'Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-set\" /* AppError.IDB_WRITE */]: 'Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"idb-delete\" /* AppError.IDB_DELETE */]: 'Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.',\r\n [\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */]: 'FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.',\r\n [\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */]: 'FirebaseServerApp is not for use in browser environments.'\r\n};\r\nconst ERROR_FACTORY = new ErrorFactory('app', 'Firebase', ERRORS);\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseAppImpl {\r\n constructor(options, config, container) {\r\n this._isDeleted = false;\r\n this._options = Object.assign({}, options);\r\n this._config = Object.assign({}, config);\r\n this._name = config.name;\r\n this._automaticDataCollectionEnabled =\r\n config.automaticDataCollectionEnabled;\r\n this._container = container;\r\n this.container.addComponent(new Component('app', () => this, \"PUBLIC\" /* ComponentType.PUBLIC */));\r\n }\r\n get automaticDataCollectionEnabled() {\r\n this.checkDestroyed();\r\n return this._automaticDataCollectionEnabled;\r\n }\r\n set automaticDataCollectionEnabled(val) {\r\n this.checkDestroyed();\r\n this._automaticDataCollectionEnabled = val;\r\n }\r\n get name() {\r\n this.checkDestroyed();\r\n return this._name;\r\n }\r\n get options() {\r\n this.checkDestroyed();\r\n return this._options;\r\n }\r\n get config() {\r\n this.checkDestroyed();\r\n return this._config;\r\n }\r\n get container() {\r\n return this._container;\r\n }\r\n get isDeleted() {\r\n return this._isDeleted;\r\n }\r\n set isDeleted(val) {\r\n this._isDeleted = val;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"app-deleted\" /* AppError.APP_DELETED */, { appName: this._name });\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2023 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nclass FirebaseServerAppImpl extends FirebaseAppImpl {\r\n constructor(options, serverConfig, name, container) {\r\n // Build configuration parameters for the FirebaseAppImpl base class.\r\n const automaticDataCollectionEnabled = serverConfig.automaticDataCollectionEnabled !== undefined\r\n ? serverConfig.automaticDataCollectionEnabled\r\n : false;\r\n // Create the FirebaseAppSettings object for the FirebaseAppImp constructor.\r\n const config = {\r\n name,\r\n automaticDataCollectionEnabled\r\n };\r\n if (options.apiKey !== undefined) {\r\n // Construct the parent FirebaseAppImp object.\r\n super(options, config, container);\r\n }\r\n else {\r\n const appImpl = options;\r\n super(appImpl.options, config, container);\r\n }\r\n // Now construct the data for the FirebaseServerAppImpl.\r\n this._serverConfig = Object.assign({ automaticDataCollectionEnabled }, serverConfig);\r\n this._finalizationRegistry = new FinalizationRegistry(() => {\r\n this.automaticCleanup();\r\n });\r\n this._refCount = 0;\r\n this.incRefCount(this._serverConfig.releaseOnDeref);\r\n // Do not retain a hard reference to the dref object, otherwise the FinalizationRegisry\r\n // will never trigger.\r\n this._serverConfig.releaseOnDeref = undefined;\r\n serverConfig.releaseOnDeref = undefined;\r\n registerVersion(name$p, version$1, 'serverapp');\r\n }\r\n toJSON() {\r\n return undefined;\r\n }\r\n get refCount() {\r\n return this._refCount;\r\n }\r\n // Increment the reference count of this server app. If an object is provided, register it\r\n // with the finalization registry.\r\n incRefCount(obj) {\r\n if (this.isDeleted) {\r\n return;\r\n }\r\n this._refCount++;\r\n if (obj !== undefined) {\r\n this._finalizationRegistry.register(obj, this);\r\n }\r\n }\r\n // Decrement the reference count.\r\n decRefCount() {\r\n if (this.isDeleted) {\r\n return 0;\r\n }\r\n return --this._refCount;\r\n }\r\n // Invoked by the FinalizationRegistry callback to note that this app should go through its\r\n // reference counts and delete itself if no reference count remain. The coordinating logic that\r\n // handles this is in deleteApp(...).\r\n automaticCleanup() {\r\n void deleteApp(this);\r\n }\r\n get settings() {\r\n this.checkDestroyed();\r\n return this._serverConfig;\r\n }\r\n /**\r\n * This function will throw an Error if the App has already been deleted -\r\n * use before performing API actions on the App.\r\n */\r\n checkDestroyed() {\r\n if (this.isDeleted) {\r\n throw ERROR_FACTORY.create(\"server-app-deleted\" /* AppError.SERVER_APP_DELETED */);\r\n }\r\n }\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n/**\r\n * The current SDK version.\r\n *\r\n * @public\r\n */\r\nconst SDK_VERSION = version;\r\nfunction initializeApp(_options, rawConfig = {}) {\r\n let options = _options;\r\n if (typeof rawConfig !== 'object') {\r\n const name = rawConfig;\r\n rawConfig = { name };\r\n }\r\n const config = Object.assign({ name: DEFAULT_ENTRY_NAME, automaticDataCollectionEnabled: false }, rawConfig);\r\n const name = config.name;\r\n if (typeof name !== 'string' || !name) {\r\n throw ERROR_FACTORY.create(\"bad-app-name\" /* AppError.BAD_APP_NAME */, {\r\n appName: String(name)\r\n });\r\n }\r\n options || (options = getDefaultAppConfig());\r\n if (!options) {\r\n throw ERROR_FACTORY.create(\"no-options\" /* AppError.NO_OPTIONS */);\r\n }\r\n const existingApp = _apps.get(name);\r\n if (existingApp) {\r\n // return the existing app if options and config deep equal the ones in the existing app.\r\n if (deepEqual(options, existingApp.options) &&\r\n deepEqual(config, existingApp.config)) {\r\n return existingApp;\r\n }\r\n else {\r\n throw ERROR_FACTORY.create(\"duplicate-app\" /* AppError.DUPLICATE_APP */, { appName: name });\r\n }\r\n }\r\n const container = new ComponentContainer(name);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseAppImpl(options, config, container);\r\n _apps.set(name, newApp);\r\n return newApp;\r\n}\r\nfunction initializeServerApp(_options, _serverAppConfig) {\r\n if (isBrowser()) {\r\n // FirebaseServerApp isn't designed to be run in browsers.\r\n throw ERROR_FACTORY.create(\"invalid-server-app-environment\" /* AppError.INVALID_SERVER_APP_ENVIRONMENT */);\r\n }\r\n if (_serverAppConfig.automaticDataCollectionEnabled === undefined) {\r\n _serverAppConfig.automaticDataCollectionEnabled = false;\r\n }\r\n let appOptions;\r\n if (_isFirebaseApp(_options)) {\r\n appOptions = _options.options;\r\n }\r\n else {\r\n appOptions = _options;\r\n }\r\n // Build an app name based on a hash of the configuration options.\r\n const nameObj = Object.assign(Object.assign({}, _serverAppConfig), appOptions);\r\n // However, Do not mangle the name based on releaseOnDeref, since it will vary between the\r\n // construction of FirebaseServerApp instances. For example, if the object is the request headers.\r\n if (nameObj.releaseOnDeref !== undefined) {\r\n delete nameObj.releaseOnDeref;\r\n }\r\n const hashCode = (s) => {\r\n return [...s].reduce((hash, c) => (Math.imul(31, hash) + c.charCodeAt(0)) | 0, 0);\r\n };\r\n if (_serverAppConfig.releaseOnDeref !== undefined) {\r\n if (typeof FinalizationRegistry === 'undefined') {\r\n throw ERROR_FACTORY.create(\"finalization-registry-not-supported\" /* AppError.FINALIZATION_REGISTRY_NOT_SUPPORTED */, {});\r\n }\r\n }\r\n const nameString = '' + hashCode(JSON.stringify(nameObj));\r\n const existingApp = _serverApps.get(nameString);\r\n if (existingApp) {\r\n existingApp.incRefCount(_serverAppConfig.releaseOnDeref);\r\n return existingApp;\r\n }\r\n const container = new ComponentContainer(nameString);\r\n for (const component of _components.values()) {\r\n container.addComponent(component);\r\n }\r\n const newApp = new FirebaseServerAppImpl(appOptions, _serverAppConfig, nameString, container);\r\n _serverApps.set(nameString, newApp);\r\n return newApp;\r\n}\r\n/**\r\n * Retrieves a {@link @firebase/app#FirebaseApp} instance.\r\n *\r\n * When called with no arguments, the default app is returned. When an app name\r\n * is provided, the app corresponding to that name is returned.\r\n *\r\n * An exception is thrown if the app being retrieved has not yet been\r\n * initialized.\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return the default app\r\n * const app = getApp();\r\n * ```\r\n *\r\n * @example\r\n * ```javascript\r\n * // Return a named app\r\n * const otherApp = getApp(\"otherApp\");\r\n * ```\r\n *\r\n * @param name - Optional name of the app to return. If no name is\r\n * provided, the default is `\"[DEFAULT]\"`.\r\n *\r\n * @returns The app corresponding to the provided app name.\r\n * If no app name is provided, the default app is returned.\r\n *\r\n * @public\r\n */\r\nfunction getApp(name = DEFAULT_ENTRY_NAME) {\r\n const app = _apps.get(name);\r\n if (!app && name === DEFAULT_ENTRY_NAME && getDefaultAppConfig()) {\r\n return initializeApp();\r\n }\r\n if (!app) {\r\n throw ERROR_FACTORY.create(\"no-app\" /* AppError.NO_APP */, { appName: name });\r\n }\r\n return app;\r\n}\r\n/**\r\n * A (read-only) array of all initialized apps.\r\n * @public\r\n */\r\nfunction getApps() {\r\n return Array.from(_apps.values());\r\n}\r\n/**\r\n * Renders this app unusable and frees the resources of all associated\r\n * services.\r\n *\r\n * @example\r\n * ```javascript\r\n * deleteApp(app)\r\n * .then(function() {\r\n * console.log(\"App deleted successfully\");\r\n * })\r\n * .catch(function(error) {\r\n * console.log(\"Error deleting app:\", error);\r\n * });\r\n * ```\r\n *\r\n * @public\r\n */\r\nasync function deleteApp(app) {\r\n let cleanupProviders = false;\r\n const name = app.name;\r\n if (_apps.has(name)) {\r\n cleanupProviders = true;\r\n _apps.delete(name);\r\n }\r\n else if (_serverApps.has(name)) {\r\n const firebaseServerApp = app;\r\n if (firebaseServerApp.decRefCount() <= 0) {\r\n _serverApps.delete(name);\r\n cleanupProviders = true;\r\n }\r\n }\r\n if (cleanupProviders) {\r\n await Promise.all(app.container\r\n .getProviders()\r\n .map(provider => provider.delete()));\r\n app.isDeleted = true;\r\n }\r\n}\r\n/**\r\n * Registers a library's name and version for platform logging purposes.\r\n * @param library - Name of 1p or 3p library (e.g. firestore, angularfire)\r\n * @param version - Current version of that library.\r\n * @param variant - Bundle variant, e.g., node, rn, etc.\r\n *\r\n * @public\r\n */\r\nfunction registerVersion(libraryKeyOrName, version, variant) {\r\n var _a;\r\n // TODO: We can use this check to whitelist strings when/if we set up\r\n // a good whitelist system.\r\n let library = (_a = PLATFORM_LOG_STRING[libraryKeyOrName]) !== null && _a !== void 0 ? _a : libraryKeyOrName;\r\n if (variant) {\r\n library += `-${variant}`;\r\n }\r\n const libraryMismatch = library.match(/\\s|\\//);\r\n const versionMismatch = version.match(/\\s|\\//);\r\n if (libraryMismatch || versionMismatch) {\r\n const warning = [\r\n `Unable to register library \"${library}\" with version \"${version}\":`\r\n ];\r\n if (libraryMismatch) {\r\n warning.push(`library name \"${library}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n if (libraryMismatch && versionMismatch) {\r\n warning.push('and');\r\n }\r\n if (versionMismatch) {\r\n warning.push(`version name \"${version}\" contains illegal characters (whitespace or \"/\")`);\r\n }\r\n logger.warn(warning.join(' '));\r\n return;\r\n }\r\n _registerComponent(new Component(`${library}-version`, () => ({ library, version }), \"VERSION\" /* ComponentType.VERSION */));\r\n}\r\n/**\r\n * Sets log handler for all Firebase SDKs.\r\n * @param logCallback - An optional custom log handler that executes user code whenever\r\n * the Firebase SDK makes a logging call.\r\n *\r\n * @public\r\n */\r\nfunction onLog(logCallback, options) {\r\n if (logCallback !== null && typeof logCallback !== 'function') {\r\n throw ERROR_FACTORY.create(\"invalid-log-argument\" /* AppError.INVALID_LOG_ARGUMENT */);\r\n }\r\n setUserLogHandler(logCallback, options);\r\n}\r\n/**\r\n * Sets log level for all Firebase SDKs.\r\n *\r\n * All of the log types above the current log level are captured (i.e. if\r\n * you set the log level to `info`, errors are logged, but `debug` and\r\n * `verbose` logs are not).\r\n *\r\n * @public\r\n */\r\nfunction setLogLevel(logLevel) {\r\n setLogLevel$1(logLevel);\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst DB_NAME = 'firebase-heartbeat-database';\r\nconst DB_VERSION = 1;\r\nconst STORE_NAME = 'firebase-heartbeat-store';\r\nlet dbPromise = null;\r\nfunction getDbPromise() {\r\n if (!dbPromise) {\r\n dbPromise = openDB(DB_NAME, DB_VERSION, {\r\n upgrade: (db, oldVersion) => {\r\n // We don't use 'break' in this switch statement, the fall-through\r\n // behavior is what we want, because if there are multiple versions between\r\n // the old version and the current version, we want ALL the migrations\r\n // that correspond to those versions to run, not only the last one.\r\n // eslint-disable-next-line default-case\r\n switch (oldVersion) {\r\n case 0:\r\n try {\r\n db.createObjectStore(STORE_NAME);\r\n }\r\n catch (e) {\r\n // Safari/iOS browsers throw occasional exceptions on\r\n // db.createObjectStore() that may be a bug. Avoid blocking\r\n // the rest of the app functionality.\r\n console.warn(e);\r\n }\r\n }\r\n }\r\n }).catch(e => {\r\n throw ERROR_FACTORY.create(\"idb-open\" /* AppError.IDB_OPEN */, {\r\n originalErrorMessage: e.message\r\n });\r\n });\r\n }\r\n return dbPromise;\r\n}\r\nasync function readHeartbeatsFromIndexedDB(app) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME);\r\n const result = await tx.objectStore(STORE_NAME).get(computeKey(app));\r\n // We already have the value but tx.done can throw,\r\n // so we need to await it here to catch errors\r\n await tx.done;\r\n return result;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-get\" /* AppError.IDB_GET */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nasync function writeHeartbeatsToIndexedDB(app, heartbeatObject) {\r\n try {\r\n const db = await getDbPromise();\r\n const tx = db.transaction(STORE_NAME, 'readwrite');\r\n const objectStore = tx.objectStore(STORE_NAME);\r\n await objectStore.put(heartbeatObject, computeKey(app));\r\n await tx.done;\r\n }\r\n catch (e) {\r\n if (e instanceof FirebaseError) {\r\n logger.warn(e.message);\r\n }\r\n else {\r\n const idbGetError = ERROR_FACTORY.create(\"idb-set\" /* AppError.IDB_WRITE */, {\r\n originalErrorMessage: e === null || e === void 0 ? void 0 : e.message\r\n });\r\n logger.warn(idbGetError.message);\r\n }\r\n }\r\n}\r\nfunction computeKey(app) {\r\n return `${app.name}!${app.options.appId}`;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2021 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nconst MAX_HEADER_BYTES = 1024;\r\n// 30 days\r\nconst STORED_HEARTBEAT_RETENTION_MAX_MILLIS = 30 * 24 * 60 * 60 * 1000;\r\nclass HeartbeatServiceImpl {\r\n constructor(container) {\r\n this.container = container;\r\n /**\r\n * In-memory cache for heartbeats, used by getHeartbeatsHeader() to generate\r\n * the header string.\r\n * Stores one record per date. This will be consolidated into the standard\r\n * format of one record per user agent string before being sent as a header.\r\n * Populated from indexedDB when the controller is instantiated and should\r\n * be kept in sync with indexedDB.\r\n * Leave public for easier testing.\r\n */\r\n this._heartbeatsCache = null;\r\n const app = this.container.getProvider('app').getImmediate();\r\n this._storage = new HeartbeatStorageImpl(app);\r\n this._heartbeatsCachePromise = this._storage.read().then(result => {\r\n this._heartbeatsCache = result;\r\n return result;\r\n });\r\n }\r\n /**\r\n * Called to report a heartbeat. The function will generate\r\n * a HeartbeatsByUserAgent object, update heartbeatsCache, and persist it\r\n * to IndexedDB.\r\n * Note that we only store one heartbeat per day. So if a heartbeat for today is\r\n * already logged, subsequent calls to this function in the same day will be ignored.\r\n */\r\n async triggerHeartbeat() {\r\n var _a, _b;\r\n const platformLogger = this.container\r\n .getProvider('platform-logger')\r\n .getImmediate();\r\n // This is the \"Firebase user agent\" string from the platform logger\r\n // service, not the browser user agent.\r\n const agent = platformLogger.getPlatformInfoString();\r\n const date = getUTCDateString();\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null) {\r\n this._heartbeatsCache = await this._heartbeatsCachePromise;\r\n // If we failed to construct a heartbeats cache, then return immediately.\r\n if (((_b = this._heartbeatsCache) === null || _b === void 0 ? void 0 : _b.heartbeats) == null) {\r\n return;\r\n }\r\n }\r\n // Do not store a heartbeat if one is already stored for this day\r\n // or if a header has already been sent today.\r\n if (this._heartbeatsCache.lastSentHeartbeatDate === date ||\r\n this._heartbeatsCache.heartbeats.some(singleDateHeartbeat => singleDateHeartbeat.date === date)) {\r\n return;\r\n }\r\n else {\r\n // There is no entry for this date. Create one.\r\n this._heartbeatsCache.heartbeats.push({ date, agent });\r\n }\r\n // Remove entries older than 30 days.\r\n this._heartbeatsCache.heartbeats = this._heartbeatsCache.heartbeats.filter(singleDateHeartbeat => {\r\n const hbTimestamp = new Date(singleDateHeartbeat.date).valueOf();\r\n const now = Date.now();\r\n return now - hbTimestamp <= STORED_HEARTBEAT_RETENTION_MAX_MILLIS;\r\n });\r\n return this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n /**\r\n * Returns a base64 encoded string which can be attached to the heartbeat-specific header directly.\r\n * It also clears all heartbeats from memory as well as in IndexedDB.\r\n *\r\n * NOTE: Consuming product SDKs should not send the header if this method\r\n * returns an empty string.\r\n */\r\n async getHeartbeatsHeader() {\r\n var _a;\r\n if (this._heartbeatsCache === null) {\r\n await this._heartbeatsCachePromise;\r\n }\r\n // If it's still null or the array is empty, there is no data to send.\r\n if (((_a = this._heartbeatsCache) === null || _a === void 0 ? void 0 : _a.heartbeats) == null ||\r\n this._heartbeatsCache.heartbeats.length === 0) {\r\n return '';\r\n }\r\n const date = getUTCDateString();\r\n // Extract as many heartbeats from the cache as will fit under the size limit.\r\n const { heartbeatsToSend, unsentEntries } = extractHeartbeatsForHeader(this._heartbeatsCache.heartbeats);\r\n const headerString = base64urlEncodeWithoutPadding(JSON.stringify({ version: 2, heartbeats: heartbeatsToSend }));\r\n // Store last sent date to prevent another being logged/sent for the same day.\r\n this._heartbeatsCache.lastSentHeartbeatDate = date;\r\n if (unsentEntries.length > 0) {\r\n // Store any unsent entries if they exist.\r\n this._heartbeatsCache.heartbeats = unsentEntries;\r\n // This seems more likely than emptying the array (below) to lead to some odd state\r\n // since the cache isn't empty and this will be called again on the next request,\r\n // and is probably safest if we await it.\r\n await this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n else {\r\n this._heartbeatsCache.heartbeats = [];\r\n // Do not wait for this, to reduce latency.\r\n void this._storage.overwrite(this._heartbeatsCache);\r\n }\r\n return headerString;\r\n }\r\n}\r\nfunction getUTCDateString() {\r\n const today = new Date();\r\n // Returns date format 'YYYY-MM-DD'\r\n return today.toISOString().substring(0, 10);\r\n}\r\nfunction extractHeartbeatsForHeader(heartbeatsCache, maxSize = MAX_HEADER_BYTES) {\r\n // Heartbeats grouped by user agent in the standard format to be sent in\r\n // the header.\r\n const heartbeatsToSend = [];\r\n // Single date format heartbeats that are not sent.\r\n let unsentEntries = heartbeatsCache.slice();\r\n for (const singleDateHeartbeat of heartbeatsCache) {\r\n // Look for an existing entry with the same user agent.\r\n const heartbeatEntry = heartbeatsToSend.find(hb => hb.agent === singleDateHeartbeat.agent);\r\n if (!heartbeatEntry) {\r\n // If no entry for this user agent exists, create one.\r\n heartbeatsToSend.push({\r\n agent: singleDateHeartbeat.agent,\r\n dates: [singleDateHeartbeat.date]\r\n });\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n // If the header would exceed max size, remove the added heartbeat\r\n // entry and stop adding to the header.\r\n heartbeatsToSend.pop();\r\n break;\r\n }\r\n }\r\n else {\r\n heartbeatEntry.dates.push(singleDateHeartbeat.date);\r\n // If the header would exceed max size, remove the added date\r\n // and stop adding to the header.\r\n if (countBytes(heartbeatsToSend) > maxSize) {\r\n heartbeatEntry.dates.pop();\r\n break;\r\n }\r\n }\r\n // Pop unsent entry from queue. (Skipped if adding the entry exceeded\r\n // quota and the loop breaks early.)\r\n unsentEntries = unsentEntries.slice(1);\r\n }\r\n return {\r\n heartbeatsToSend,\r\n unsentEntries\r\n };\r\n}\r\nclass HeartbeatStorageImpl {\r\n constructor(app) {\r\n this.app = app;\r\n this._canUseIndexedDBPromise = this.runIndexedDBEnvironmentCheck();\r\n }\r\n async runIndexedDBEnvironmentCheck() {\r\n if (!isIndexedDBAvailable()) {\r\n return false;\r\n }\r\n else {\r\n return validateIndexedDBOpenable()\r\n .then(() => true)\r\n .catch(() => false);\r\n }\r\n }\r\n /**\r\n * Read all heartbeats.\r\n */\r\n async read() {\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return { heartbeats: [] };\r\n }\r\n else {\r\n const idbHeartbeatObject = await readHeartbeatsFromIndexedDB(this.app);\r\n if (idbHeartbeatObject === null || idbHeartbeatObject === void 0 ? void 0 : idbHeartbeatObject.heartbeats) {\r\n return idbHeartbeatObject;\r\n }\r\n else {\r\n return { heartbeats: [] };\r\n }\r\n }\r\n }\r\n // overwrite the storage with the provided heartbeats\r\n async overwrite(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: heartbeatsObject.heartbeats\r\n });\r\n }\r\n }\r\n // add heartbeats\r\n async add(heartbeatsObject) {\r\n var _a;\r\n const canUseIndexedDB = await this._canUseIndexedDBPromise;\r\n if (!canUseIndexedDB) {\r\n return;\r\n }\r\n else {\r\n const existingHeartbeatsObject = await this.read();\r\n return writeHeartbeatsToIndexedDB(this.app, {\r\n lastSentHeartbeatDate: (_a = heartbeatsObject.lastSentHeartbeatDate) !== null && _a !== void 0 ? _a : existingHeartbeatsObject.lastSentHeartbeatDate,\r\n heartbeats: [\r\n ...existingHeartbeatsObject.heartbeats,\r\n ...heartbeatsObject.heartbeats\r\n ]\r\n });\r\n }\r\n }\r\n}\r\n/**\r\n * Calculate bytes of a HeartbeatsByUserAgent array after being wrapped\r\n * in a platform logging header JSON object, stringified, and converted\r\n * to base 64.\r\n */\r\nfunction countBytes(heartbeatsCache) {\r\n // base64 has a restricted set of characters, all of which should be 1 byte.\r\n return base64urlEncodeWithoutPadding(\r\n // heartbeatsCache wrapper properties\r\n JSON.stringify({ version: 2, heartbeats: heartbeatsCache })).length;\r\n}\n\n/**\r\n * @license\r\n * Copyright 2019 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nfunction registerCoreComponents(variant) {\r\n _registerComponent(new Component('platform-logger', container => new PlatformLoggerServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n _registerComponent(new Component('heartbeat', container => new HeartbeatServiceImpl(container), \"PRIVATE\" /* ComponentType.PRIVATE */));\r\n // Register `app` package.\r\n registerVersion(name$p, version$1, variant);\r\n // BUILD_TARGET will be replaced by values like esm5, esm2017, cjs5, etc during the compilation\r\n registerVersion(name$p, version$1, 'esm2017');\r\n // Register platform SDK identifier (no version).\r\n registerVersion('fire-js', '');\r\n}\n\n/**\r\n * Firebase App\r\n *\r\n * @remarks This package coordinates the communication between the different Firebase components\r\n * @packageDocumentation\r\n */\r\nregisterCoreComponents('');\n\nexport { SDK_VERSION, DEFAULT_ENTRY_NAME as _DEFAULT_ENTRY_NAME, _addComponent, _addOrOverwriteComponent, _apps, _clearComponents, _components, _getProvider, _isFirebaseApp, _isFirebaseServerApp, _registerComponent, _removeServiceInstance, _serverApps, deleteApp, getApp, getApps, initializeApp, initializeServerApp, onLog, registerVersion, setLogLevel };\n//# sourceMappingURL=index.esm2017.js.map\n","import { registerVersion } from '@firebase/app';\nexport * from '@firebase/app';\n\nvar name = \"firebase\";\nvar version = \"10.12.2\";\n\n/**\r\n * @license\r\n * Copyright 2020 Google LLC\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\nregisterVersion(name, version, 'app');\n//# sourceMappingURL=index.esm.js.map\n"],"names":["stringToByteArray$1","str","out","p","i","c","byteArrayToString","bytes","pos","c1","c2","c3","c4","u","base64","input","webSafe","byteToCharMap","output","byte1","haveByte2","byte2","haveByte3","byte3","outByte1","outByte2","outByte3","outByte4","charToByteMap","byte4","DecodeBase64StringError","base64Encode","utf8Bytes","base64urlEncodeWithoutPadding","base64Decode","getGlobal","getDefaultsFromGlobal","getDefaultsFromEnvVariable","define_process_env_default","defaultsJsonString","getDefaultsFromCookie","match","decoded","getDefaults","e","getDefaultAppConfig","_a","Deferred","resolve","reject","callback","error","value","isIndexedDBAvailable","validateIndexedDBOpenable","preExist","DB_CHECK_NAME","request","ERROR_NAME","FirebaseError","code","message","customData","ErrorFactory","service","serviceName","errors","data","fullCode","template","replaceTemplate","fullMessage","PATTERN","_","key","deepEqual","a","b","aKeys","bKeys","k","aProp","bProp","isObject","thing","Component","name","instanceFactory","type","mode","multipleInstances","props","DEFAULT_ENTRY_NAME","Provider","container","identifier","normalizedIdentifier","deferred","instance","options","optional","component","isComponentEager","instanceIdentifier","instanceDeferred","services","opts","normalizedDeferredIdentifier","existingCallbacks","existingInstance","callbacks","normalizeIdentifierForFactory","ComponentContainer","provider","LogLevel","levelStringToEnum","defaultLogLevel","ConsoleMethod","defaultLogHandler","logType","args","now","method","Logger","val","instanceOfAny","object","constructors","idbProxyableTypes","cursorAdvanceMethods","getIdbProxyableTypes","getCursorAdvanceMethods","cursorRequestMap","transactionDoneMap","transactionStoreNamesMap","transformCache","reverseTransformCache","promisifyRequest","promise","unlisten","success","wrap","cacheDonePromiseForTransaction","tx","done","complete","idbProxyTraps","target","prop","receiver","replaceTraps","wrapFunction","func","storeNames","unwrap","transformCachableValue","newValue","openDB","version","blocked","upgrade","blocking","terminated","openPromise","event","db","readMethods","writeMethods","cachedMethods","getMethod","targetFuncName","useIndex","isWrite","storeName","oldTraps","PlatformLoggerServiceImpl","isVersionServiceProvider","logString","name$p","version$1","logger","name$o","name$n","name$m","name$l","name$k","name$j","name$i","name$h","name$g","name$f","name$e","name$d","name$c","name$b","name$a","name$9","name$8","name$7","name$6","name$5","name$4","name$3","name$2","name$1","PLATFORM_LOG_STRING","_apps","_serverApps","_components","_addComponent","app","_registerComponent","componentName","serverApp","ERRORS","ERROR_FACTORY","FirebaseAppImpl","config","initializeApp","_options","rawConfig","existingApp","newApp","registerVersion","libraryKeyOrName","variant","library","libraryMismatch","versionMismatch","warning","DB_NAME","DB_VERSION","STORE_NAME","dbPromise","getDbPromise","oldVersion","readHeartbeatsFromIndexedDB","result","computeKey","idbGetError","writeHeartbeatsToIndexedDB","heartbeatObject","MAX_HEADER_BYTES","STORED_HEARTBEAT_RETENTION_MAX_MILLIS","HeartbeatServiceImpl","HeartbeatStorageImpl","_b","agent","date","getUTCDateString","singleDateHeartbeat","hbTimestamp","heartbeatsToSend","unsentEntries","extractHeartbeatsForHeader","headerString","heartbeatsCache","maxSize","heartbeatEntry","hb","countBytes","idbHeartbeatObject","heartbeatsObject","existingHeartbeatsObject","registerCoreComponents"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6]} \ No newline at end of file diff --git a/Target/_astro/page.CY1iZwUD.js b/Target/_astro/page.CY1iZwUD.js new file mode 100644 index 00000000..036fd5ef --- /dev/null +++ b/Target/_astro/page.CY1iZwUD.js @@ -0,0 +1 @@ +function A(e){e=e||1;var t=[],n=0;function r(){n0&&(t.shift()(),n++)}return[function(e){t.push(e)>1||r()},function(){n--,r()}]}function g(e,t){const n=t?.timeout??50,r=Date.now();return setTimeout((function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,n-(Date.now()-r))}})}),1)}const y=window.requestIdleCallback||g;var b=y;const l=["mouseenter","touchstart","focus"],v=new Set,d=new Set;function m({href:e}){try{const t=new URL(e);return window.location.origin===t.origin&&window.location.pathname!==t.pathname&&!v.has(e)}catch{}return!1}let p,c;function E(e){v.add(e.href),c.observe(e),l.map((t=>e.addEventListener(t,h,{passive:!0,once:!0})))}function L(e){c.unobserve(e),l.map((t=>e.removeEventListener(t,h)))}function h({target:e}){e instanceof HTMLAnchorElement&&w(e)}async function w(e){L(e);const{href:t}=e;try{const e=await fetch(t).then((e=>e.text()));p||=new DOMParser;const n=p.parseFromString(e,"text/html"),r=Array.from(n.querySelectorAll('link[rel="stylesheet"]'));await Promise.all(r.filter((e=>!d.has(e.href))).map((e=>(d.add(e.href),fetch(e.href)))))}catch{}}function k({selector:e='a[href][rel~="prefetch"]',throttle:t=1,intentSelector:n='a[href][rel~="prefetch-intent"]'}){if(!navigator.onLine)return Promise.reject(new Error("Cannot prefetch, no network connection"));if("connection"in navigator){const e=navigator.connection;if(e.saveData)return Promise.reject(new Error("Cannot prefetch, Save-Data is enabled"));if(/(2|3)g/.test(e.effectiveType))return Promise.reject(new Error("Cannot prefetch, network conditions are poor"))}const[r,o]=A(t);c=c||new IntersectionObserver((e=>{e.forEach((e=>{if(e.isIntersecting&&e.target instanceof HTMLAnchorElement){const t=e.target.getAttribute("rel")||"";let c=!1;c=Array.isArray(n)?n.some((e=>t.includes(e))):t.includes(n),c||r((()=>w(e.target).finally(o)))}}))})),b((()=>{[...document.querySelectorAll(e)].filter(m).forEach(E);const t=Array.isArray(n)?n.join(","):n;[...document.querySelectorAll(t)].filter(m).forEach((e=>{l.map((t=>e.addEventListener(t,h,{passive:!0,once:!0})))}))}))}k({}); \ No newline at end of file diff --git a/Target/_astro/page.CY1iZwUD.js.map b/Target/_astro/page.CY1iZwUD.js.map new file mode 100644 index 00000000..b639a8b1 --- /dev/null +++ b/Target/_astro/page.CY1iZwUD.js.map @@ -0,0 +1 @@ +{"version":3,"file":"page.CY1iZwUD.js","sources":["../../../../../../node_modules/throttles/dist/index.mjs","../../../../../../node_modules/@astrojs/prefetch/dist/requestIdleCallback.js","../../../../../../node_modules/@astrojs/prefetch/dist/client.js","../../astro:scripts/page.js"],"sourcesContent":["export default function (limit) {\n\tlimit = limit || 1;\n\tvar queue=[], wip=0;\n\n\tfunction toAdd(fn) {\n\t\tqueue.push(fn) > 1 || run(); // initializes if 1st\n\t}\n\n\tfunction isDone() {\n\t\twip--; // make room for next\n\t\trun();\n\t}\n\n\tfunction run() {\n\t\tif (wip < limit && queue.length > 0) {\n\t\t\tqueue.shift()(); wip++; // is now WIP\n\t\t}\n\t}\n\n\treturn [toAdd, isDone];\n}\n","function shim(callback, options) {\n const timeout = options?.timeout ?? 50;\n const start = Date.now();\n return setTimeout(function() {\n callback({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, timeout - (Date.now() - start));\n }\n });\n }, 1);\n}\nconst requestIdleCallback = window.requestIdleCallback || shim;\nvar requestIdleCallback_default = requestIdleCallback;\nexport {\n requestIdleCallback_default as default\n};\n","import throttles from \"throttles\";\nimport requestIdleCallback from \"./requestIdleCallback.js\";\nconst events = [\"mouseenter\", \"touchstart\", \"focus\"];\nconst preloaded = /* @__PURE__ */ new Set();\nconst loadedStyles = /* @__PURE__ */ new Set();\nfunction shouldPreload({ href }) {\n try {\n const url = new URL(href);\n return window.location.origin === url.origin && window.location.pathname !== url.pathname && !preloaded.has(href);\n } catch {\n }\n return false;\n}\nlet parser;\nlet observer;\nfunction observe(link) {\n preloaded.add(link.href);\n observer.observe(link);\n events.map((event) => link.addEventListener(event, onLinkEvent, { passive: true, once: true }));\n}\nfunction unobserve(link) {\n observer.unobserve(link);\n events.map((event) => link.removeEventListener(event, onLinkEvent));\n}\nfunction onLinkEvent({ target }) {\n if (!(target instanceof HTMLAnchorElement)) {\n return;\n }\n preloadHref(target);\n}\nasync function preloadHref(link) {\n unobserve(link);\n const { href } = link;\n try {\n const contents = await fetch(href).then((res) => res.text());\n parser ||= new DOMParser();\n const html = parser.parseFromString(contents, \"text/html\");\n const styles = Array.from(html.querySelectorAll('link[rel=\"stylesheet\"]'));\n await Promise.all(\n styles.filter((el) => !loadedStyles.has(el.href)).map((el) => {\n loadedStyles.add(el.href);\n return fetch(el.href);\n })\n );\n } catch {\n }\n}\nfunction prefetch({\n selector = 'a[href][rel~=\"prefetch\"]',\n throttle = 1,\n intentSelector = 'a[href][rel~=\"prefetch-intent\"]'\n}) {\n if (!navigator.onLine) {\n return Promise.reject(new Error(\"Cannot prefetch, no network connection\"));\n }\n if (\"connection\" in navigator) {\n const connection = navigator.connection;\n if (connection.saveData) {\n return Promise.reject(new Error(\"Cannot prefetch, Save-Data is enabled\"));\n }\n if (/(2|3)g/.test(connection.effectiveType)) {\n return Promise.reject(new Error(\"Cannot prefetch, network conditions are poor\"));\n }\n }\n const [toAdd, isDone] = throttles(throttle);\n observer = observer || new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting && entry.target instanceof HTMLAnchorElement) {\n const relAttributeValue = entry.target.getAttribute(\"rel\") || \"\";\n let matchesIntentSelector = false;\n if (Array.isArray(intentSelector)) {\n matchesIntentSelector = intentSelector.some(\n (intent) => relAttributeValue.includes(intent)\n );\n } else {\n matchesIntentSelector = relAttributeValue.includes(intentSelector);\n }\n if (!matchesIntentSelector) {\n toAdd(() => preloadHref(entry.target).finally(isDone));\n }\n }\n });\n });\n requestIdleCallback(() => {\n const links = [...document.querySelectorAll(selector)].filter(shouldPreload);\n links.forEach(observe);\n const intentSelectorFinal = Array.isArray(intentSelector) ? intentSelector.join(\",\") : intentSelector;\n const intentLinks = [\n ...document.querySelectorAll(intentSelectorFinal)\n ].filter(shouldPreload);\n intentLinks.forEach((link) => {\n events.map(\n (event) => link.addEventListener(event, onLinkEvent, { passive: true, once: true })\n );\n });\n });\n}\nexport {\n prefetch as default\n};\n","import prefetch from \"@astrojs/prefetch/client.js\"; prefetch({});"],"names":["throttles","limit","queue","wip","toAdd","fn","run","isDone","shim","callback","options","timeout","start","requestIdleCallback","requestIdleCallback_default","events","preloaded","loadedStyles","shouldPreload","href","url","parser","observer","observe","link","event","onLinkEvent","unobserve","target","preloadHref","contents","res","html","styles","el","prefetch","selector","throttle","intentSelector","connection","entries","entry","relAttributeValue","matchesIntentSelector","intent","intentSelectorFinal"],"mappings":"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","x_google_ignoreList":[0,1,2]} \ No newline at end of file diff --git a/Target/_noop-middleware.mjs.map b/Target/_noop-middleware.mjs.map new file mode 100644 index 00000000..70f635aa --- /dev/null +++ b/Target/_noop-middleware.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"_noop-middleware.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"} \ No newline at end of file diff --git a/Target/chunks/astro/server_DwPjJgUO.mjs.map b/Target/chunks/astro/server_DwPjJgUO.mjs.map new file mode 100644 index 00000000..43d3b0e4 --- /dev/null +++ b/Target/chunks/astro/server_DwPjJgUO.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"server_DwPjJgUO.mjs","sources":["../../../../../../../node_modules/astro/dist/core/constants.js","../../../../../../../node_modules/astro/dist/core/errors/errors-data.js","../../../../../../../node_modules/astro/dist/core/errors/utils.js","../../../../../../../node_modules/astro/dist/core/errors/printer.js","../../../../../../../node_modules/astro/dist/core/errors/errors.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-component.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-global.js","../../../../../../../node_modules/astro/dist/runtime/server/util.js","../../../../../../../node_modules/astro/dist/runtime/server/escape.js","../../../../../../../node_modules/astro/dist/runtime/server/render/instruction.js","../../../../../../../node_modules/astro/dist/runtime/server/serialize.js","../../../../../../../node_modules/astro/dist/runtime/server/hydration.js","../../../../../../../node_modules/astro/dist/runtime/server/shorthash.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/factory.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/head-and-content.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt-dev.js","../../../../../../../node_modules/astro/dist/runtime/server/astro-island.prebuilt.js","../../../../../../../node_modules/astro/dist/runtime/server/scripts.js","../../../../../../../node_modules/astro/dist/runtime/server/render/util.js","../../../../../../../node_modules/astro/dist/runtime/server/render/head.js","../../../../../../../node_modules/astro/dist/runtime/server/render/slot.js","../../../../../../../node_modules/astro/dist/runtime/server/render/common.js","../../../../../../../node_modules/astro/dist/runtime/server/render/any.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/instance.js","../../../../../../../node_modules/astro/dist/runtime/server/render/astro/render-template.js","../../../../../../../node_modules/astro/dist/runtime/server/render/dom.js","../../../../../../../node_modules/astro/dist/runtime/server/render/component.js","../../../../../../../node_modules/astro/dist/runtime/server/render/script.js","../../../../../../../node_modules/astro/dist/runtime/server/transition.js","../../../../../../../node_modules/astro/dist/runtime/server/index.js"],"sourcesContent":["const ASTRO_VERSION = \"4.11.3\";\nconst REROUTE_DIRECTIVE_HEADER = \"X-Astro-Reroute\";\nconst ROUTE_TYPE_HEADER = \"X-Astro-Route-Type\";\nconst DEFAULT_404_COMPONENT = \"astro-default-404.astro\";\nconst DEFAULT_500_COMPONENT = \"astro-default-500.astro\";\nconst REROUTABLE_STATUS_CODES = [404, 500];\nconst clientAddressSymbol = Symbol.for(\"astro.clientAddress\");\nconst clientLocalsSymbol = Symbol.for(\"astro.locals\");\nconst responseSentSymbol = Symbol.for(\"astro.responseSent\");\nconst SUPPORTED_MARKDOWN_FILE_EXTENSIONS = [\n \".markdown\",\n \".mdown\",\n \".mkdn\",\n \".mkd\",\n \".mdwn\",\n \".md\"\n];\nconst MIDDLEWARE_PATH_SEGMENT_NAME = \"middleware\";\nexport {\n ASTRO_VERSION,\n DEFAULT_404_COMPONENT,\n DEFAULT_500_COMPONENT,\n MIDDLEWARE_PATH_SEGMENT_NAME,\n REROUTABLE_STATUS_CODES,\n REROUTE_DIRECTIVE_HEADER,\n ROUTE_TYPE_HEADER,\n SUPPORTED_MARKDOWN_FILE_EXTENSIONS,\n clientAddressSymbol,\n clientLocalsSymbol,\n responseSentSymbol\n};\n","const UnknownCompilerError = {\n name: \"UnknownCompilerError\",\n title: \"Unknown compiler error.\",\n hint: \"This is almost always a problem with the Astro compiler, not your code. Please open an issue at https://astro.build/issues/compiler.\"\n};\nconst StaticRedirectNotAvailable = {\n name: \"StaticRedirectNotAvailable\",\n title: \"`Astro.redirect` is not available in static mode.\",\n message: \"Redirects are only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst ClientAddressNotAvailable = {\n name: \"ClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in current adapter.\",\n message: (adapterName) => `\\`Astro.clientAddress\\` is not available in the \\`${adapterName}\\` adapter. File an issue with the adapter to add support.`\n};\nconst PrerenderClientAddressNotAvailable = {\n name: \"PrerenderClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` cannot be used inside prerendered routes.\",\n message: `\\`Astro.clientAddress\\` cannot be used inside prerendered routes`\n};\nconst StaticClientAddressNotAvailable = {\n name: \"StaticClientAddressNotAvailable\",\n title: \"`Astro.clientAddress` is not available in static mode.\",\n message: \"`Astro.clientAddress` is only available when using `output: 'server'` or `output: 'hybrid'`. Update your Astro config if you need SSR features.\",\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information on how to enable SSR.\"\n};\nconst NoMatchingStaticPathFound = {\n name: \"NoMatchingStaticPathFound\",\n title: \"No static path found for requested path.\",\n message: (pathName) => `A \\`getStaticPaths()\\` route pattern was matched, but no matching static path was found for requested path \\`${pathName}\\`.`,\n hint: (possibleRoutes) => `Possible dynamic routes being matched: ${possibleRoutes.join(\", \")}.`\n};\nconst OnlyResponseCanBeReturned = {\n name: \"OnlyResponseCanBeReturned\",\n title: \"Invalid type returned by Astro page.\",\n message: (route, returnedValue) => `Route \\`${route ? route : \"\"}\\` returned a \\`${returnedValue}\\`. Only a [Response](https://developer.mozilla.org/en-US/docs/Web/API/Response) can be returned from Astro files.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/#response for more information.\"\n};\nconst MissingMediaQueryDirective = {\n name: \"MissingMediaQueryDirective\",\n title: \"Missing value for `client:media` directive.\",\n message: 'Media query not provided for `client:media` directive. A media query similar to `client:media=\"(max-width: 600px)\"` must be provided'\n};\nconst NoMatchingRenderer = {\n name: \"NoMatchingRenderer\",\n title: \"No matching renderer found.\",\n message: (componentName, componentExtension, plural, validRenderersCount) => `Unable to render \\`${componentName}\\`.\n\n${validRenderersCount > 0 ? `There ${plural ? \"are\" : \"is\"} ${validRenderersCount} renderer${plural ? \"s\" : \"\"} configured in your \\`astro.config.mjs\\` file,\nbut ${plural ? \"none were\" : \"it was not\"} able to server-side render \\`${componentName}\\`.` : `No valid renderer was found ${componentExtension ? `for the \\`.${componentExtension}\\` file extension.` : `for this file extension.`}`}`,\n hint: (probableRenderers) => `Did you mean to enable the ${probableRenderers} integration?\n\nSee https://docs.astro.build/en/guides/framework-components/ for more information on how to install and configure integrations.`\n};\nconst NoClientEntrypoint = {\n name: \"NoClientEntrypoint\",\n title: \"No client entrypoint specified in renderer.\",\n message: (componentName, clientDirective, rendererName) => `\\`${componentName}\\` component has a \\`client:${clientDirective}\\` directive, but no client entrypoint was provided by \\`${rendererName}\\`.`,\n hint: \"See https://docs.astro.build/en/reference/integrations-reference/#addrenderer-option for more information on how to configure your renderer.\"\n};\nconst NoClientOnlyHint = {\n name: \"NoClientOnlyHint\",\n title: \"Missing hint on client:only directive.\",\n message: (componentName) => `Unable to render \\`${componentName}\\`. When using the \\`client:only\\` hydration strategy, Astro needs a hint to use the correct renderer.`,\n hint: (probableRenderers) => `Did you mean to pass \\`client:only=\"${probableRenderers}\"\\`? See https://docs.astro.build/en/reference/directives-reference/#clientonly for more information on client:only`\n};\nconst InvalidGetStaticPathParam = {\n name: \"InvalidGetStaticPathParam\",\n title: \"Invalid value returned by a `getStaticPaths` path.\",\n message: (paramType) => `Invalid params given to \\`getStaticPaths\\` path. Expected an \\`object\\`, got \\`${paramType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsEntry = {\n name: \"InvalidGetStaticPathsEntry\",\n title: \"Invalid entry inside getStaticPath's return value\",\n message: (entryType) => `Invalid entry returned by getStaticPaths. Expected an object, got \\`${entryType}\\``,\n hint: \"If you're using a `.map` call, you might be looking for `.flatMap()` instead. See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst InvalidGetStaticPathsReturn = {\n name: \"InvalidGetStaticPathsReturn\",\n title: \"Invalid value returned by getStaticPaths.\",\n message: (returnType) => `Invalid type returned by \\`getStaticPaths\\`. Expected an \\`array\\`, got \\`${returnType}\\``,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRemovedRSSHelper = {\n name: \"GetStaticPathsRemovedRSSHelper\",\n title: \"getStaticPaths RSS helper is not available anymore.\",\n message: \"The RSS helper has been removed from `getStaticPaths`. Try the new @astrojs/rss package instead.\",\n hint: \"See https://docs.astro.build/en/guides/rss/ for more information.\"\n};\nconst GetStaticPathsExpectedParams = {\n name: \"GetStaticPathsExpectedParams\",\n title: \"Missing params property on `getStaticPaths` route.\",\n message: \"Missing or empty required `params` property on `getStaticPaths` route.\",\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsInvalidRouteParam = {\n name: \"GetStaticPathsInvalidRouteParam\",\n title: \"Invalid value for `getStaticPaths` route parameter.\",\n message: (key, value, valueType) => `Invalid getStaticPaths route parameter for \\`${key}\\`. Expected undefined, a string or a number, received \\`${valueType}\\` (\\`${value}\\`)`,\n hint: \"See https://docs.astro.build/en/reference/api-reference/#getstaticpaths for more information on getStaticPaths.\"\n};\nconst GetStaticPathsRequired = {\n name: \"GetStaticPathsRequired\",\n title: \"`getStaticPaths()` function required for dynamic routes.\",\n message: \"`getStaticPaths()` function is required for dynamic routes. Make sure that you `export` a `getStaticPaths` function from your dynamic route.\",\n hint: `See https://docs.astro.build/en/guides/routing/#dynamic-routes for more information on dynamic routes.\n\nAlternatively, set \\`output: \"server\"\\` or \\`output: \"hybrid\"\\` in your Astro config file to switch to a non-static server build. This error can also occur if using \\`export const prerender = true;\\`.\nSee https://docs.astro.build/en/guides/server-side-rendering/ for more information on non-static rendering.`\n};\nconst ReservedSlotName = {\n name: \"ReservedSlotName\",\n title: \"Invalid slot name.\",\n message: (slotName) => `Unable to create a slot named \\`${slotName}\\`. \\`${slotName}\\` is a reserved slot name. Please update the name of this slot.`\n};\nconst NoAdapterInstalled = {\n name: \"NoAdapterInstalled\",\n title: \"Cannot use Server-side Rendering without an adapter.\",\n message: `Cannot use \\`output: 'server'\\` or \\`output: 'hybrid'\\` without an adapter. Please install and configure the appropriate server adapter for your final deployment.`,\n hint: \"See https://docs.astro.build/en/guides/server-side-rendering/ for more information.\"\n};\nconst NoMatchingImport = {\n name: \"NoMatchingImport\",\n title: \"No import found for component.\",\n message: (componentName) => `Could not render \\`${componentName}\\`. No matching import has been found for \\`${componentName}\\`.`,\n hint: \"Please make sure the component is properly imported.\"\n};\nconst InvalidPrerenderExport = {\n name: \"InvalidPrerenderExport\",\n title: \"Invalid prerender export.\",\n message(prefix, suffix, isHydridOutput) {\n const defaultExpectedValue = isHydridOutput ? \"false\" : \"true\";\n let msg = `A \\`prerender\\` export has been detected, but its value cannot be statically analyzed.`;\n if (prefix !== \"const\") msg += `\nExpected \\`const\\` declaration but got \\`${prefix}\\`.`;\n if (suffix !== \"true\")\n msg += `\nExpected \\`${defaultExpectedValue}\\` value but got \\`${suffix}\\`.`;\n return msg;\n },\n hint: \"Mutable values declared at runtime are not supported. Please make sure to use exactly `export const prerender = true`.\"\n};\nconst InvalidComponentArgs = {\n name: \"InvalidComponentArgs\",\n title: \"Invalid component arguments.\",\n message: (name) => `Invalid arguments passed to${name ? ` <${name}>` : \"\"} component.`,\n hint: \"Astro components cannot be rendered directly via function call, such as `Component()` or `{items.map(Component)}`.\"\n};\nconst PageNumberParamNotFound = {\n name: \"PageNumberParamNotFound\",\n title: \"Page number param not found.\",\n message: (paramName) => `[paginate()] page number param \\`${paramName}\\` not found in your filepath.`,\n hint: \"Rename your file to `[page].astro` or `[...page].astro`.\"\n};\nconst ImageMissingAlt = {\n name: \"ImageMissingAlt\",\n title: 'Image missing required \"alt\" property.',\n message: 'Image missing \"alt\" property. \"alt\" text is required to describe important images on the page.',\n hint: 'Use an empty string (\"\") for decorative images.'\n};\nconst InvalidImageService = {\n name: \"InvalidImageService\",\n title: \"Error while loading image service.\",\n message: \"There was an error loading the configured image service. Please see the stack trace for more information.\"\n};\nconst MissingImageDimension = {\n name: \"MissingImageDimension\",\n title: \"Missing image dimensions\",\n message: (missingDimension, imageURL) => `Missing ${missingDimension === \"both\" ? \"width and height attributes\" : `${missingDimension} attribute`} for ${imageURL}. When using remote images, both dimensions are required unless in order to avoid CLS.`,\n hint: \"If your image is inside your `src` folder, you probably meant to import it instead. See [the Imports guide for more information](https://docs.astro.build/en/guides/imports/#other-assets). You can also use `inferSize={true}` for remote images to get the original dimensions.\"\n};\nconst FailedToFetchRemoteImageDimensions = {\n name: \"FailedToFetchRemoteImageDimensions\",\n title: \"Failed to retrieve remote image dimensions\",\n message: (imageURL) => `Failed to get the dimensions for ${imageURL}.`,\n hint: \"Verify your remote image URL is accurate, and that you are not using `inferSize` with a file located in your `public/` folder.\"\n};\nconst UnsupportedImageFormat = {\n name: \"UnsupportedImageFormat\",\n title: \"Unsupported image format\",\n message: (format, imagePath, supportedFormats) => `Received unsupported format \\`${format}\\` from \\`${imagePath}\\`. Currently only ${supportedFormats.join(\n \", \"\n )} are supported by our image services.`,\n hint: \"Using an `img` tag directly instead of the `Image` component might be what you're looking for.\"\n};\nconst UnsupportedImageConversion = {\n name: \"UnsupportedImageConversion\",\n title: \"Unsupported image conversion\",\n message: \"Converting between vector (such as SVGs) and raster (such as PNGs and JPEGs) images is not currently supported.\"\n};\nconst PrerenderDynamicEndpointPathCollide = {\n name: \"PrerenderDynamicEndpointPathCollide\",\n title: \"Prerendered dynamic endpoint has path collision.\",\n message: (pathname) => `Could not render \\`${pathname}\\` with an \\`undefined\\` param as the generated path will collide during prerendering. Prevent passing \\`undefined\\` as \\`params\\` for the endpoint's \\`getStaticPaths()\\` function, or add an additional extension to the endpoint's filename.`,\n hint: (filename) => `Rename \\`${filename}\\` to \\`${filename.replace(/\\.(?:js|ts)/, (m) => `.json` + m)}\\``\n};\nconst ExpectedImage = {\n name: \"ExpectedImage\",\n title: \"Expected src to be an image.\",\n message: (src, typeofOptions, fullOptions) => `Expected \\`src\\` property for \\`getImage\\` or \\`\\` to be either an ESM imported image or a string with the path of a remote image. Received \\`${src}\\` (type: \\`${typeofOptions}\\`).\n\nFull serialized options received: \\`${fullOptions}\\`.`,\n hint: \"This error can often happen because of a wrong path. Make sure the path to your image is correct. If you're passing an async function, make sure to call and await it.\"\n};\nconst ExpectedImageOptions = {\n name: \"ExpectedImageOptions\",\n title: \"Expected image options.\",\n message: (options) => `Expected getImage() parameter to be an object. Received \\`${options}\\`.`\n};\nconst ExpectedNotESMImage = {\n name: \"ExpectedNotESMImage\",\n title: \"Expected image options, not an ESM-imported image.\",\n message: \"An ESM-imported image cannot be passed directly to `getImage()`. Instead, pass an object with the image in the `src` property.\",\n hint: \"Try changing `getImage(myImage)` to `getImage({ src: myImage })`\"\n};\nconst IncompatibleDescriptorOptions = {\n name: \"IncompatibleDescriptorOptions\",\n title: \"Cannot set both `densities` and `widths`\",\n message: \"Only one of `densities` or `widths` can be specified. In most cases, you'll probably want to use only `widths` if you require specific widths.\",\n hint: \"Those attributes are used to construct a `srcset` attribute, which cannot have both `x` and `w` descriptors.\"\n};\nconst ImageNotFound = {\n name: \"ImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath) => `Could not find requested image \\`${imagePath}\\`. Does it exist?`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst NoImageMetadata = {\n name: \"NoImageMetadata\",\n title: \"Could not process image metadata.\",\n message: (imagePath) => `Could not process image metadata${imagePath ? ` for \\`${imagePath}\\`` : \"\"}.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst MarkdownImageNotFound = {\n name: \"MarkdownImageNotFound\",\n title: \"Image not found.\",\n message: (imagePath, fullImagePath) => `Could not find requested image \\`${imagePath}\\`${fullImagePath ? ` at \\`${fullImagePath}\\`.` : \".\"}`,\n hint: \"This is often caused by a typo in the image path. Please make sure the file exists, and is spelled correctly.\"\n};\nconst CouldNotTransformImage = {\n name: \"CouldNotTransformImage\",\n title: \"Could not transform image.\",\n message: (imagePath) => `Could not transform image \\`${imagePath}\\`. See the stack trace for more information.`,\n hint: \"This is often caused by a corrupted or malformed image. Re-exporting the image from your image editor may fix this issue.\"\n};\nconst ResponseSentError = {\n name: \"ResponseSentError\",\n title: \"Unable to set response.\",\n message: \"The response has already been sent to the browser and cannot be altered.\"\n};\nconst MiddlewareNoDataOrNextCalled = {\n name: \"MiddlewareNoDataOrNextCalled\",\n title: \"The middleware didn't return a `Response`.\",\n message: \"Make sure your middleware returns a `Response` object, either directly or by returning the `Response` from calling the `next` function.\"\n};\nconst MiddlewareNotAResponse = {\n name: \"MiddlewareNotAResponse\",\n title: \"The middleware returned something that is not a `Response` object.\",\n message: \"Any data returned from middleware must be a valid `Response` object.\"\n};\nconst EndpointDidNotReturnAResponse = {\n name: \"EndpointDidNotReturnAResponse\",\n title: \"The endpoint did not return a `Response`.\",\n message: \"An endpoint must return either a `Response`, or a `Promise` that resolves with a `Response`.\"\n};\nconst LocalsNotAnObject = {\n name: \"LocalsNotAnObject\",\n title: \"Value assigned to `locals` is not accepted.\",\n message: \"`locals` can only be assigned to an object. Other values like numbers, strings, etc. are not accepted.\",\n hint: \"If you tried to remove some information from the `locals` object, try to use `delete` or set the property to `undefined`.\"\n};\nconst AstroResponseHeadersReassigned = {\n name: \"AstroResponseHeadersReassigned\",\n title: \"`Astro.response.headers` must not be reassigned.\",\n message: \"Individual headers can be added to and removed from `Astro.response.headers`, but it must not be replaced with another instance of `Headers` altogether.\",\n hint: \"Consider using `Astro.response.headers.add()`, and `Astro.response.headers.delete()`.\"\n};\nconst MiddlewareCantBeLoaded = {\n name: \"MiddlewareCantBeLoaded\",\n title: \"Can't load the middleware.\",\n message: \"An unknown error was thrown while loading your middleware.\"\n};\nconst LocalImageUsedWrongly = {\n name: \"LocalImageUsedWrongly\",\n title: \"Local images must be imported.\",\n message: (imageFilePath) => `\\`Image\\`'s and \\`getImage\\`'s \\`src\\` parameter must be an imported image or an URL, it cannot be a string filepath. Received \\`${imageFilePath}\\`.`,\n hint: \"If you want to use an image from your `src` folder, you need to either import it or if the image is coming from a content collection, use the [image() schema helper](https://docs.astro.build/en/guides/images/#images-in-content-collections). See https://docs.astro.build/en/guides/images/#src-required for more information on the `src` property.\"\n};\nconst AstroGlobUsedOutside = {\n name: \"AstroGlobUsedOutside\",\n title: \"Astro.glob() used outside of an Astro file.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` can only be used in \\`.astro\\` files. \\`import.meta.glob(${globStr})\\` can be used instead to achieve a similar result.`,\n hint: \"See Vite's documentation on `import.meta.glob` for more information: https://vitejs.dev/guide/features.html#glob-import\"\n};\nconst AstroGlobNoMatch = {\n name: \"AstroGlobNoMatch\",\n title: \"Astro.glob() did not match any files.\",\n message: (globStr) => `\\`Astro.glob(${globStr})\\` did not return any matching files.`,\n hint: \"Check the pattern for typos.\"\n};\nconst RedirectWithNoLocation = {\n name: \"RedirectWithNoLocation\",\n title: \"A redirect must be given a location with the `Location` header.\"\n};\nconst InvalidDynamicRoute = {\n name: \"InvalidDynamicRoute\",\n title: \"Invalid dynamic route.\",\n message: (route, invalidParam, received) => `The ${invalidParam} param for route ${route} is invalid. Received **${received}**.`\n};\nconst MissingSharp = {\n name: \"MissingSharp\",\n title: \"Could not find Sharp.\",\n message: \"Could not find Sharp. Please install Sharp (`sharp`) manually into your project or migrate to another image service.\",\n hint: \"See Sharp's installation instructions for more information: https://sharp.pixelplumbing.com/install. If you are not relying on `astro:assets` to optimize, transform, or process any images, you can configure a passthrough image service instead of installing Sharp. See https://docs.astro.build/en/reference/errors/missing-sharp for more information.\\n\\nSee https://docs.astro.build/en/guides/images/#default-image-service for more information on how to migrate to another image service.\"\n};\nconst UnknownViteError = {\n name: \"UnknownViteError\",\n title: \"Unknown Vite Error.\"\n};\nconst FailedToLoadModuleSSR = {\n name: \"FailedToLoadModuleSSR\",\n title: \"Could not import file.\",\n message: (importName) => `Could not import \\`${importName}\\`.`,\n hint: \"This is often caused by a typo in the import path. Please make sure the file exists.\"\n};\nconst InvalidGlob = {\n name: \"InvalidGlob\",\n title: \"Invalid glob pattern.\",\n message: (globPattern) => `Invalid glob pattern: \\`${globPattern}\\`. Glob patterns must start with './', '../' or '/'.`,\n hint: \"See https://docs.astro.build/en/guides/imports/#glob-patterns for more information on supported glob patterns.\"\n};\nconst FailedToFindPageMapSSR = {\n name: \"FailedToFindPageMapSSR\",\n title: \"Astro couldn't find the correct page to render\",\n message: \"Astro couldn't find the correct page to render, probably because it wasn't correctly mapped for SSR usage. This is an internal error. Please file an issue.\"\n};\nconst MissingLocale = {\n name: \"MissingLocaleError\",\n title: \"The provided locale does not exist.\",\n message: (locale) => `The locale/path \\`${locale}\\` does not exist in the configured \\`i18n.locales\\`.`\n};\nconst MissingIndexForInternationalization = {\n name: \"MissingIndexForInternationalizationError\",\n title: \"Index page not found.\",\n message: (defaultLocale) => `Could not find index page. A root index page is required in order to create a redirect to the index URL of the default locale. (\\`/${defaultLocale}\\`)`,\n hint: (src) => `Create an index page (\\`index.astro, index.md, etc.\\`) in \\`${src}\\`.`\n};\nconst IncorrectStrategyForI18n = {\n name: \"IncorrectStrategyForI18n\",\n title: \"You can't use the current function with the current strategy\",\n message: (functionName) => `The function \\`${functionName}\\` can only be used when the \\`i18n.routing.strategy\\` is set to \\`\"manual\"\\`.`\n};\nconst NoPrerenderedRoutesWithDomains = {\n name: \"NoPrerenderedRoutesWithDomains\",\n title: \"Prerendered routes aren't supported when internationalization domains are enabled.\",\n message: (component) => `Static pages aren't yet supported with multiple domains. To enable this feature, you must disable prerendering for the page ${component}`\n};\nconst MissingMiddlewareForInternationalization = {\n name: \"MissingMiddlewareForInternationalization\",\n title: \"Enabled manual internationalization routing without having a middleware.\",\n message: \"Your configuration setting `i18n.routing: 'manual'` requires you to provide your own i18n `middleware` file.\"\n};\nconst RewriteEncounteredAnError = {\n name: \"RewriteEncounteredAnError\",\n title: \"Astro couldn't find the route to rewrite, or if was found but it emitted an error during the rendering phase.\",\n message: (route, stack) => `The route ${route} that you tried to render doesn't exist, or it emitted an error during the rendering phase. ${stack ? stack : \"\"}.`\n};\nconst CantRenderPage = {\n name: \"CantRenderPage\",\n title: \"Astro can't render the route.\",\n message: \"Astro cannot find any content to render for this route. There is no file or redirect associated with this route.\",\n hint: \"If you expect to find a route here, this may be an Astro bug. Please file an issue/restart the dev server\"\n};\nconst UnhandledRejection = {\n name: \"UnhandledRejection\",\n title: \"Unhandled rejection\",\n message: (stack) => `Astro detected an unhandled rejection. Here's the stack trace:\n${stack}`,\n hint: \"Make sure your promises all have an `await` or a `.catch()` handler.\"\n};\nconst i18nNotEnabled = {\n name: \"i18nNotEnabled\",\n title: \"i18n Not Enabled\",\n message: \"The `astro:i18n` module can not be used without enabling i18n in your Astro config.\",\n hint: \"See https://docs.astro.build/en/guides/internationalization for a guide on setting up i18n.\"\n};\nconst i18nNoLocaleFoundInPath = {\n name: \"i18nNoLocaleFoundInPath\",\n title: \"The path doesn't contain any locale\",\n message: \"You tried to use an i18n utility on a path that doesn't contain any locale. You can use `pathHasLocale` first to determine if the path has a locale.\"\n};\nconst RouteNotFound = {\n name: \"RouteNotFound\",\n title: \"Route not found.\",\n message: `Astro could not find a route that matches the one you requested.`\n};\nconst EnvInvalidVariables = {\n name: \"EnvInvalidVariables\",\n title: \"Invalid Environment Variables\",\n message: (variables) => `The following environment variables do not match the data type and/or properties defined in \\`experimental.env.schema\\`:\n\n${variables}\n`\n};\nconst EnvInvalidVariable = {\n name: \"EnvInvalidVariable\",\n title: \"Invalid Environment Variable\",\n message: (key, type) => `The following environment variable does not match the data type and/or properties defined in \\`experimental.env.schema\\`: ${key} is not of type ${type}`\n};\nconst EnvUnsupportedGetSecret = {\n name: \"EnvUnsupportedGetSecret\",\n title: \"Unsupported astro:env getSecret\",\n message: \"`astro:env/server` exported function `getSecret` is not supported by your adapter.\"\n};\nconst ServerOnlyModule = {\n name: \"ServerOnlyModule\",\n title: \"Module is only available server-side\",\n message: (name) => `The \"${name}\" module is only available server-side.`\n};\nconst RewriteWithBodyUsed = {\n name: \"RewriteWithBodyUsed\",\n title: \"Cannot use Astro.rewrite after the request body has been read\",\n message: \"Astro.rewrite() cannot be used if the request body has already been read. If you need to read the body, first clone the request.\"\n};\nconst UnknownCSSError = {\n name: \"UnknownCSSError\",\n title: \"Unknown CSS Error.\"\n};\nconst CSSSyntaxError = {\n name: \"CSSSyntaxError\",\n title: \"CSS Syntax Error.\"\n};\nconst UnknownMarkdownError = {\n name: \"UnknownMarkdownError\",\n title: \"Unknown Markdown Error.\"\n};\nconst MarkdownFrontmatterParseError = {\n name: \"MarkdownFrontmatterParseError\",\n title: \"Failed to parse Markdown frontmatter.\"\n};\nconst InvalidFrontmatterInjectionError = {\n name: \"InvalidFrontmatterInjectionError\",\n title: \"Invalid frontmatter injection.\",\n message: 'A remark or rehype plugin attempted to inject invalid frontmatter. Ensure \"astro.frontmatter\" is set to a valid JSON object that is not `null` or `undefined`.',\n hint: \"See the frontmatter injection docs https://docs.astro.build/en/guides/markdown-content/#modifying-frontmatter-programmatically for more information.\"\n};\nconst MdxIntegrationMissingError = {\n name: \"MdxIntegrationMissingError\",\n title: \"MDX integration missing.\",\n message: (file) => `Unable to render ${file}. Ensure that the \\`@astrojs/mdx\\` integration is installed.`,\n hint: \"See the MDX integration docs for installation and usage instructions: https://docs.astro.build/en/guides/integrations-guide/mdx/\"\n};\nconst UnknownConfigError = {\n name: \"UnknownConfigError\",\n title: \"Unknown configuration error.\"\n};\nconst ConfigNotFound = {\n name: \"ConfigNotFound\",\n title: \"Specified configuration file not found.\",\n message: (configFile) => `Unable to resolve \\`--config \"${configFile}\"\\`. Does the file exist?`\n};\nconst ConfigLegacyKey = {\n name: \"ConfigLegacyKey\",\n title: \"Legacy configuration detected.\",\n message: (legacyConfigKey) => `Legacy configuration detected: \\`${legacyConfigKey}\\`.`,\n hint: \"Please update your configuration to the new format.\\nSee https://astro.build/config for more information.\"\n};\nconst UnknownCLIError = {\n name: \"UnknownCLIError\",\n title: \"Unknown CLI Error.\"\n};\nconst GenerateContentTypesError = {\n name: \"GenerateContentTypesError\",\n title: \"Failed to generate content types.\",\n message: (errorMessage) => `\\`astro sync\\` command failed to generate content collection types: ${errorMessage}`,\n hint: \"Check your `src/content/config.*` file for typos.\"\n};\nconst UnknownContentCollectionError = {\n name: \"UnknownContentCollectionError\",\n title: \"Unknown Content Collection Error.\"\n};\nconst InvalidContentEntryFrontmatterError = {\n name: \"InvalidContentEntryFrontmatterError\",\n title: \"Content entry frontmatter does not match schema.\",\n message(collection, entryId, error) {\n return [\n `**${String(collection)} \\u2192 ${String(\n entryId\n )}** frontmatter does not match collection schema.`,\n ...error.errors.map((zodError) => zodError.message)\n ].join(\"\\n\");\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more information on content schemas.\"\n};\nconst InvalidContentEntrySlugError = {\n name: \"InvalidContentEntrySlugError\",\n title: \"Invalid content entry slug.\",\n message(collection, entryId) {\n return `${String(collection)} \\u2192 ${String(\n entryId\n )} has an invalid slug. \\`slug\\` must be a string.`;\n },\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst ContentSchemaContainsSlugError = {\n name: \"ContentSchemaContainsSlugError\",\n title: \"Content Schema should not contain `slug`.\",\n message: (collectionName) => `A content collection schema should not contain \\`slug\\` since it is reserved for slug generation. Remove this from your ${collectionName} collection schema.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on the `slug` field.\"\n};\nconst CollectionDoesNotExistError = {\n name: \"CollectionDoesNotExistError\",\n title: \"Collection does not exist\",\n message: (collectionName) => `The collection **${collectionName}** does not exist. Ensure a collection directory with this name exists.`,\n hint: \"See https://docs.astro.build/en/guides/content-collections/ for more on creating collections.\"\n};\nconst MixedContentDataCollectionError = {\n name: \"MixedContentDataCollectionError\",\n title: \"Content and data cannot be in same collection.\",\n message: (collectionName) => `**${collectionName}** contains a mix of content and data entries. All entries must be of the same type.`,\n hint: \"Store data entries in a new collection separate from your content collection.\"\n};\nconst ContentCollectionTypeMismatchError = {\n name: \"ContentCollectionTypeMismatchError\",\n title: \"Collection contains entries of a different type.\",\n message: (collection, expectedType, actualType) => `${collection} contains ${expectedType} entries, but is configured as a ${actualType} collection.`\n};\nconst DataCollectionEntryParseError = {\n name: \"DataCollectionEntryParseError\",\n title: \"Data collection entry failed to parse.\",\n message(entryId, errorMessage) {\n return `**${entryId}** failed to parse: ${errorMessage}`;\n },\n hint: \"Ensure your data entry is an object with valid JSON (for `.json` entries) or YAML (for `.yaml` entries).\"\n};\nconst DuplicateContentEntrySlugError = {\n name: \"DuplicateContentEntrySlugError\",\n title: \"Duplicate content entry slug.\",\n message(collection, slug, preExisting, alsoFound) {\n return `**${collection}** contains multiple entries with the same slug: \\`${slug}\\`. Slugs must be unique.\n\nEntries: \n- ${preExisting}\n- ${alsoFound}`;\n }\n};\nconst ActionsWithoutServerOutputError = {\n name: \"ActionsWithoutServerOutputError\",\n title: \"Actions must be used with server output.\",\n message: \"Actions enabled without setting a server build output. A server is required to create callable backend functions. To deploy routes to a server, add a server adapter to your astro config.\",\n hint: \"Learn about on-demand rendering: https://docs.astro.build/en/basics/rendering-modes/#on-demand-rendered\"\n};\nconst UnsupportedConfigTransformError = {\n name: \"UnsupportedConfigTransformError\",\n title: \"Unsupported transform in content config.\",\n message: (parseError) => `\\`transform()\\` functions in your content config must return valid JSON, or data types compatible with the devalue library (including Dates, Maps, and Sets).\nFull error: ${parseError}`,\n hint: \"See the devalue library for all supported types: https://github.com/rich-harris/devalue\"\n};\nconst UnknownError = { name: \"UnknownError\", title: \"Unknown Error.\" };\nexport {\n ActionsWithoutServerOutputError,\n AstroGlobNoMatch,\n AstroGlobUsedOutside,\n AstroResponseHeadersReassigned,\n CSSSyntaxError,\n CantRenderPage,\n ClientAddressNotAvailable,\n CollectionDoesNotExistError,\n ConfigLegacyKey,\n ConfigNotFound,\n ContentCollectionTypeMismatchError,\n ContentSchemaContainsSlugError,\n CouldNotTransformImage,\n DataCollectionEntryParseError,\n DuplicateContentEntrySlugError,\n EndpointDidNotReturnAResponse,\n EnvInvalidVariable,\n EnvInvalidVariables,\n EnvUnsupportedGetSecret,\n ExpectedImage,\n ExpectedImageOptions,\n ExpectedNotESMImage,\n FailedToFetchRemoteImageDimensions,\n FailedToFindPageMapSSR,\n FailedToLoadModuleSSR,\n GenerateContentTypesError,\n GetStaticPathsExpectedParams,\n GetStaticPathsInvalidRouteParam,\n GetStaticPathsRemovedRSSHelper,\n GetStaticPathsRequired,\n ImageMissingAlt,\n ImageNotFound,\n IncompatibleDescriptorOptions,\n IncorrectStrategyForI18n,\n InvalidComponentArgs,\n InvalidContentEntryFrontmatterError,\n InvalidContentEntrySlugError,\n InvalidDynamicRoute,\n InvalidFrontmatterInjectionError,\n InvalidGetStaticPathParam,\n InvalidGetStaticPathsEntry,\n InvalidGetStaticPathsReturn,\n InvalidGlob,\n InvalidImageService,\n InvalidPrerenderExport,\n LocalImageUsedWrongly,\n LocalsNotAnObject,\n MarkdownFrontmatterParseError,\n MarkdownImageNotFound,\n MdxIntegrationMissingError,\n MiddlewareCantBeLoaded,\n MiddlewareNoDataOrNextCalled,\n MiddlewareNotAResponse,\n MissingImageDimension,\n MissingIndexForInternationalization,\n MissingLocale,\n MissingMediaQueryDirective,\n MissingMiddlewareForInternationalization,\n MissingSharp,\n MixedContentDataCollectionError,\n NoAdapterInstalled,\n NoClientEntrypoint,\n NoClientOnlyHint,\n NoImageMetadata,\n NoMatchingImport,\n NoMatchingRenderer,\n NoMatchingStaticPathFound,\n NoPrerenderedRoutesWithDomains,\n OnlyResponseCanBeReturned,\n PageNumberParamNotFound,\n PrerenderClientAddressNotAvailable,\n PrerenderDynamicEndpointPathCollide,\n RedirectWithNoLocation,\n ReservedSlotName,\n ResponseSentError,\n RewriteEncounteredAnError,\n RewriteWithBodyUsed,\n RouteNotFound,\n ServerOnlyModule,\n StaticClientAddressNotAvailable,\n StaticRedirectNotAvailable,\n UnhandledRejection,\n UnknownCLIError,\n UnknownCSSError,\n UnknownCompilerError,\n UnknownConfigError,\n UnknownContentCollectionError,\n UnknownError,\n UnknownMarkdownError,\n UnknownViteError,\n UnsupportedConfigTransformError,\n UnsupportedImageConversion,\n UnsupportedImageFormat,\n i18nNoLocaleFoundInPath,\n i18nNotEnabled\n};\n","function positionAt(offset, text) {\n const lineOffsets = getLineOffsets(text);\n offset = Math.max(0, Math.min(text.length, offset));\n let low = 0;\n let high = lineOffsets.length;\n if (high === 0) {\n return {\n line: 0,\n column: offset\n };\n }\n while (low <= high) {\n const mid = Math.floor((low + high) / 2);\n const lineOffset = lineOffsets[mid];\n if (lineOffset === offset) {\n return {\n line: mid,\n column: 0\n };\n } else if (offset > lineOffset) {\n low = mid + 1;\n } else {\n high = mid - 1;\n }\n }\n const line = low - 1;\n return { line, column: offset - lineOffsets[line] };\n}\nfunction getLineOffsets(text) {\n const lineOffsets = [];\n let isLineStart = true;\n for (let i = 0; i < text.length; i++) {\n if (isLineStart) {\n lineOffsets.push(i);\n isLineStart = false;\n }\n const ch = text.charAt(i);\n isLineStart = ch === \"\\r\" || ch === \"\\n\";\n if (ch === \"\\r\" && i + 1 < text.length && text.charAt(i + 1) === \"\\n\") {\n i++;\n }\n }\n if (isLineStart && text.length > 0) {\n lineOffsets.push(text.length);\n }\n return lineOffsets;\n}\nfunction isYAMLException(err) {\n return err instanceof Error && err.name === \"YAMLException\";\n}\nfunction formatYAMLException(e) {\n return {\n name: e.name,\n id: e.mark.name,\n loc: { file: e.mark.name, line: e.mark.line + 1, column: e.mark.column },\n message: e.reason,\n stack: e.stack ?? \"\"\n };\n}\nfunction createSafeError(err) {\n if (err instanceof Error || err?.name && err.message) {\n return err;\n } else {\n const error = new Error(JSON.stringify(err));\n error.hint = `To get as much information as possible from your errors, make sure to throw Error objects instead of \\`${typeof err}\\`. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error for more information.`;\n return error;\n }\n}\nfunction normalizeLF(code) {\n return code.replace(/\\r\\n|\\r(?!\\n)|\\n/g, \"\\n\");\n}\nexport {\n createSafeError,\n formatYAMLException,\n isYAMLException,\n normalizeLF,\n positionAt\n};\n","import { normalizeLF } from \"./utils.js\";\nfunction codeFrame(src, loc) {\n if (!loc || loc.line === void 0 || loc.column === void 0) {\n return \"\";\n }\n const lines = normalizeLF(src).split(\"\\n\").map((ln) => ln.replace(/\\t/g, \" \"));\n const visibleLines = [];\n for (let n = -2; n <= 2; n++) {\n if (lines[loc.line + n]) visibleLines.push(loc.line + n);\n }\n let gutterWidth = 0;\n for (const lineNo of visibleLines) {\n let w = `> ${lineNo}`;\n if (w.length > gutterWidth) gutterWidth = w.length;\n }\n let output = \"\";\n for (const lineNo of visibleLines) {\n const isFocusedLine = lineNo === loc.line - 1;\n output += isFocusedLine ? \"> \" : \" \";\n output += `${lineNo + 1} | ${lines[lineNo]}\n`;\n if (isFocusedLine)\n output += `${Array.from({ length: gutterWidth }).join(\" \")} | ${Array.from({\n length: loc.column\n }).join(\" \")}^\n`;\n }\n return output;\n}\nexport {\n codeFrame\n};\n","import { codeFrame } from \"./printer.js\";\nfunction isAstroError(e) {\n return e instanceof AstroError;\n}\nclass AstroError extends Error {\n loc;\n title;\n hint;\n frame;\n type = \"AstroError\";\n constructor(props, options) {\n const { name, title, message, stack, location, hint, frame } = props;\n super(message, options);\n this.title = title;\n this.name = name;\n if (message) this.message = message;\n this.stack = stack ? stack : this.stack;\n this.loc = location;\n this.hint = hint;\n this.frame = frame;\n }\n setLocation(location) {\n this.loc = location;\n }\n setName(name) {\n this.name = name;\n }\n setMessage(message) {\n this.message = message;\n }\n setHint(hint) {\n this.hint = hint;\n }\n setFrame(source, location) {\n this.frame = codeFrame(source, location);\n }\n static is(err) {\n return err.type === \"AstroError\";\n }\n}\nclass CompilerError extends AstroError {\n type = \"CompilerError\";\n constructor(props, options) {\n super(props, options);\n }\n static is(err) {\n return err.type === \"CompilerError\";\n }\n}\nclass CSSError extends AstroError {\n type = \"CSSError\";\n static is(err) {\n return err.type === \"CSSError\";\n }\n}\nclass MarkdownError extends AstroError {\n type = \"MarkdownError\";\n static is(err) {\n return err.type === \"MarkdownError\";\n }\n}\nclass InternalError extends AstroError {\n type = \"InternalError\";\n static is(err) {\n return err.type === \"InternalError\";\n }\n}\nclass AggregateError extends AstroError {\n type = \"AggregateError\";\n errors;\n // Despite being a collection of errors, AggregateError still needs to have a main error attached to it\n // This is because Vite expects every thrown errors handled during HMR to be, well, Error and have a message\n constructor(props, options) {\n super(props, options);\n this.errors = props.errors;\n }\n static is(err) {\n return err.type === \"AggregateError\";\n }\n}\nconst astroConfigZodErrors = /* @__PURE__ */ new WeakSet();\nfunction isAstroConfigZodError(error) {\n return astroConfigZodErrors.has(error);\n}\nfunction trackAstroConfigZodError(error) {\n astroConfigZodErrors.add(error);\n}\nclass AstroUserError extends Error {\n type = \"AstroUserError\";\n /**\n * A message that explains to the user how they can fix the error.\n */\n hint;\n name = \"AstroUserError\";\n constructor(message, hint) {\n super();\n this.message = message;\n this.hint = hint;\n }\n static is(err) {\n return err.type === \"AstroUserError\";\n }\n}\nexport {\n AggregateError,\n AstroError,\n AstroUserError,\n CSSError,\n CompilerError,\n InternalError,\n MarkdownError,\n isAstroConfigZodError,\n isAstroError,\n trackAstroConfigZodError\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction validateArgs(args) {\n if (args.length !== 3) return false;\n if (!args[0] || typeof args[0] !== \"object\") return false;\n return true;\n}\nfunction baseCreateComponent(cb, moduleId, propagation) {\n const name = moduleId?.split(\"/\").pop()?.replace(\".astro\", \"\") ?? \"\";\n const fn = (...args) => {\n if (!validateArgs(args)) {\n throw new AstroError({\n ...AstroErrorData.InvalidComponentArgs,\n message: AstroErrorData.InvalidComponentArgs.message(name)\n });\n }\n return cb(...args);\n };\n Object.defineProperty(fn, \"name\", { value: name, writable: false });\n fn.isAstroComponentFactory = true;\n fn.moduleId = moduleId;\n fn.propagation = propagation;\n return fn;\n}\nfunction createComponentWithOptions(opts) {\n const cb = baseCreateComponent(opts.factory, opts.moduleId, opts.propagation);\n return cb;\n}\nfunction createComponent(arg1, moduleId, propagation) {\n if (typeof arg1 === \"function\") {\n return baseCreateComponent(arg1, moduleId, propagation);\n } else {\n return createComponentWithOptions(arg1);\n }\n}\nexport {\n createComponent\n};\n","import { ASTRO_VERSION } from \"../../core/constants.js\";\nimport { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nfunction createAstroGlobFn() {\n const globHandler = (importMetaGlobResult) => {\n if (typeof importMetaGlobResult === \"string\") {\n throw new AstroError({\n ...AstroErrorData.AstroGlobUsedOutside,\n message: AstroErrorData.AstroGlobUsedOutside.message(JSON.stringify(importMetaGlobResult))\n });\n }\n let allEntries = [...Object.values(importMetaGlobResult)];\n if (allEntries.length === 0) {\n throw new AstroError({\n ...AstroErrorData.AstroGlobNoMatch,\n message: AstroErrorData.AstroGlobNoMatch.message(JSON.stringify(importMetaGlobResult))\n });\n }\n return Promise.all(allEntries.map((fn) => fn()));\n };\n return globHandler;\n}\nfunction createAstro(site) {\n return {\n // TODO: this is no longer necessary for `Astro.site`\n // but it somehow allows working around caching issues in content collections for some tests\n site: site ? new URL(site) : void 0,\n generator: `Astro v${ASTRO_VERSION}`,\n glob: createAstroGlobFn()\n };\n}\nexport {\n createAstro\n};\n","function isPromise(value) {\n return !!value && typeof value === \"object\" && \"then\" in value && typeof value.then === \"function\";\n}\nasync function* streamAsyncIterator(stream) {\n const reader = stream.getReader();\n try {\n while (true) {\n const { done, value } = await reader.read();\n if (done) return;\n yield value;\n }\n } finally {\n reader.releaseLock();\n }\n}\nexport {\n isPromise,\n streamAsyncIterator\n};\n","import { escape } from \"html-escaper\";\nimport { streamAsyncIterator } from \"./util.js\";\nconst escapeHTML = escape;\nclass HTMLBytes extends Uint8Array {\n}\nObject.defineProperty(HTMLBytes.prototype, Symbol.toStringTag, {\n get() {\n return \"HTMLBytes\";\n }\n});\nclass HTMLString extends String {\n get [Symbol.toStringTag]() {\n return \"HTMLString\";\n }\n}\nconst markHTMLString = (value) => {\n if (value instanceof HTMLString) {\n return value;\n }\n if (typeof value === \"string\") {\n return new HTMLString(value);\n }\n return value;\n};\nfunction isHTMLString(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLString]\";\n}\nfunction markHTMLBytes(bytes) {\n return new HTMLBytes(bytes);\n}\nfunction isHTMLBytes(value) {\n return Object.prototype.toString.call(value) === \"[object HTMLBytes]\";\n}\nfunction hasGetReader(obj) {\n return typeof obj.getReader === \"function\";\n}\nasync function* unescapeChunksAsync(iterable) {\n if (hasGetReader(iterable)) {\n for await (const chunk of streamAsyncIterator(iterable)) {\n yield unescapeHTML(chunk);\n }\n } else {\n for await (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n }\n}\nfunction* unescapeChunks(iterable) {\n for (const chunk of iterable) {\n yield unescapeHTML(chunk);\n }\n}\nfunction unescapeHTML(str) {\n if (!!str && typeof str === \"object\") {\n if (str instanceof Uint8Array) {\n return markHTMLBytes(str);\n } else if (str instanceof Response && str.body) {\n const body = str.body;\n return unescapeChunksAsync(body);\n } else if (typeof str.then === \"function\") {\n return Promise.resolve(str).then((value) => {\n return unescapeHTML(value);\n });\n } else if (str[Symbol.for(\"astro:slot-string\")]) {\n return str;\n } else if (Symbol.iterator in str) {\n return unescapeChunks(str);\n } else if (Symbol.asyncIterator in str || hasGetReader(str)) {\n return unescapeChunksAsync(str);\n }\n }\n return markHTMLString(str);\n}\nexport {\n HTMLBytes,\n HTMLString,\n escapeHTML,\n isHTMLBytes,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n};\n","const RenderInstructionSymbol = Symbol.for(\"astro:render\");\nfunction createRenderInstruction(instruction) {\n return Object.defineProperty(instruction, RenderInstructionSymbol, {\n value: true\n });\n}\nfunction isRenderInstruction(chunk) {\n return chunk && typeof chunk === \"object\" && chunk[RenderInstructionSymbol];\n}\nexport {\n createRenderInstruction,\n isRenderInstruction\n};\n","const PROP_TYPE = {\n Value: 0,\n JSON: 1,\n // Actually means Array\n RegExp: 2,\n Date: 3,\n Map: 4,\n Set: 5,\n BigInt: 6,\n URL: 7,\n Uint8Array: 8,\n Uint16Array: 9,\n Uint32Array: 10\n};\nfunction serializeArray(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = value.map((v) => {\n return convertToSerializedForm(v, metadata, parents);\n });\n parents.delete(value);\n return serialized;\n}\nfunction serializeObject(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n if (parents.has(value)) {\n throw new Error(`Cyclic reference detected while serializing props for <${metadata.displayName} client:${metadata.hydrate}>!\n\nCyclic references cannot be safely serialized for client-side usage. Please remove the cyclic reference.`);\n }\n parents.add(value);\n const serialized = Object.fromEntries(\n Object.entries(value).map(([k, v]) => {\n return [k, convertToSerializedForm(v, metadata, parents)];\n })\n );\n parents.delete(value);\n return serialized;\n}\nfunction convertToSerializedForm(value, metadata = {}, parents = /* @__PURE__ */ new WeakSet()) {\n const tag = Object.prototype.toString.call(value);\n switch (tag) {\n case \"[object Date]\": {\n return [PROP_TYPE.Date, value.toISOString()];\n }\n case \"[object RegExp]\": {\n return [PROP_TYPE.RegExp, value.source];\n }\n case \"[object Map]\": {\n return [PROP_TYPE.Map, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object Set]\": {\n return [PROP_TYPE.Set, serializeArray(Array.from(value), metadata, parents)];\n }\n case \"[object BigInt]\": {\n return [PROP_TYPE.BigInt, value.toString()];\n }\n case \"[object URL]\": {\n return [PROP_TYPE.URL, value.toString()];\n }\n case \"[object Array]\": {\n return [PROP_TYPE.JSON, serializeArray(value, metadata, parents)];\n }\n case \"[object Uint8Array]\": {\n return [PROP_TYPE.Uint8Array, Array.from(value)];\n }\n case \"[object Uint16Array]\": {\n return [PROP_TYPE.Uint16Array, Array.from(value)];\n }\n case \"[object Uint32Array]\": {\n return [PROP_TYPE.Uint32Array, Array.from(value)];\n }\n default: {\n if (value !== null && typeof value === \"object\") {\n return [PROP_TYPE.Value, serializeObject(value, metadata, parents)];\n } else if (value === void 0) {\n return [PROP_TYPE.Value];\n } else {\n return [PROP_TYPE.Value, value];\n }\n }\n }\n}\nfunction serializeProps(props, metadata) {\n const serialized = JSON.stringify(serializeObject(props, metadata));\n return serialized;\n}\nexport {\n serializeProps\n};\n","import { AstroError, AstroErrorData } from \"../../core/errors/index.js\";\nimport { escapeHTML } from \"./escape.js\";\nimport { serializeProps } from \"./serialize.js\";\nconst transitionDirectivesToCopyOnIsland = Object.freeze([\n \"data-astro-transition-scope\",\n \"data-astro-transition-persist\",\n \"data-astro-transition-persist-props\"\n]);\nfunction extractDirectives(inputProps, clientDirectives) {\n let extracted = {\n isPage: false,\n hydration: null,\n props: {},\n propsWithoutTransitionAttributes: {}\n };\n for (const [key, value] of Object.entries(inputProps)) {\n if (key.startsWith(\"server:\")) {\n if (key === \"server:root\") {\n extracted.isPage = true;\n }\n }\n if (key.startsWith(\"client:\")) {\n if (!extracted.hydration) {\n extracted.hydration = {\n directive: \"\",\n value: \"\",\n componentUrl: \"\",\n componentExport: { value: \"\" }\n };\n }\n switch (key) {\n case \"client:component-path\": {\n extracted.hydration.componentUrl = value;\n break;\n }\n case \"client:component-export\": {\n extracted.hydration.componentExport.value = value;\n break;\n }\n case \"client:component-hydration\": {\n break;\n }\n case \"client:display-name\": {\n break;\n }\n default: {\n extracted.hydration.directive = key.split(\":\")[1];\n extracted.hydration.value = value;\n if (!clientDirectives.has(extracted.hydration.directive)) {\n const hydrationMethods = Array.from(clientDirectives.keys()).map((d) => `client:${d}`).join(\", \");\n throw new Error(\n `Error: invalid hydration directive \"${key}\". Supported hydration methods: ${hydrationMethods}`\n );\n }\n if (extracted.hydration.directive === \"media\" && typeof extracted.hydration.value !== \"string\") {\n throw new AstroError(AstroErrorData.MissingMediaQueryDirective);\n }\n break;\n }\n }\n } else {\n extracted.props[key] = value;\n if (!transitionDirectivesToCopyOnIsland.includes(key)) {\n extracted.propsWithoutTransitionAttributes[key] = value;\n }\n }\n }\n for (const sym of Object.getOwnPropertySymbols(inputProps)) {\n extracted.props[sym] = inputProps[sym];\n extracted.propsWithoutTransitionAttributes[sym] = inputProps[sym];\n }\n return extracted;\n}\nasync function generateHydrateScript(scriptOptions, metadata) {\n const { renderer, result, astroId, props, attrs } = scriptOptions;\n const { hydrate, componentUrl, componentExport } = metadata;\n if (!componentExport.value) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingImport,\n message: AstroErrorData.NoMatchingImport.message(metadata.displayName)\n });\n }\n const island = {\n children: \"\",\n props: {\n // This is for HMR, probably can avoid it in prod\n uid: astroId\n }\n };\n if (attrs) {\n for (const [key, value] of Object.entries(attrs)) {\n island.props[key] = escapeHTML(value);\n }\n }\n island.props[\"component-url\"] = await result.resolve(decodeURI(componentUrl));\n if (renderer.clientEntrypoint) {\n island.props[\"component-export\"] = componentExport.value;\n island.props[\"renderer-url\"] = await result.resolve(decodeURI(renderer.clientEntrypoint));\n island.props[\"props\"] = escapeHTML(serializeProps(props, metadata));\n }\n island.props[\"ssr\"] = \"\";\n island.props[\"client\"] = hydrate;\n let beforeHydrationUrl = await result.resolve(\"astro:scripts/before-hydration.js\");\n if (beforeHydrationUrl.length) {\n island.props[\"before-hydration-url\"] = beforeHydrationUrl;\n }\n island.props[\"opts\"] = escapeHTML(\n JSON.stringify({\n name: metadata.displayName,\n value: metadata.hydrateArgs || \"\"\n })\n );\n transitionDirectivesToCopyOnIsland.forEach((name) => {\n if (typeof props[name] !== \"undefined\") {\n island.props[name] = props[name];\n }\n });\n return island;\n}\nexport {\n extractDirectives,\n generateHydrateScript\n};\n","/**\n * shortdash - https://github.com/bibig/node-shorthash\n *\n * @license\n *\n * (The MIT License)\n *\n * Copyright (c) 2013 Bibig \n *\n * Permission is hereby granted, free of charge, to any person\n * obtaining a copy of this software and associated documentation\n * files (the \"Software\"), to deal in the Software without\n * restriction, including without limitation the rights to use,\n * copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following\n * conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\n * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\n * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\n * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\n * OTHER DEALINGS IN THE SOFTWARE.\n */\nconst dictionary = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY\";\nconst binary = dictionary.length;\nfunction bitwise(str) {\n let hash = 0;\n if (str.length === 0) return hash;\n for (let i = 0; i < str.length; i++) {\n const ch = str.charCodeAt(i);\n hash = (hash << 5) - hash + ch;\n hash = hash & hash;\n }\n return hash;\n}\nfunction shorthash(text) {\n let num;\n let result = \"\";\n let integer = bitwise(text);\n const sign = integer < 0 ? \"Z\" : \"\";\n integer = Math.abs(integer);\n while (integer >= binary) {\n num = integer % binary;\n integer = Math.floor(integer / binary);\n result = dictionary[num] + result;\n }\n if (integer > 0) {\n result = dictionary[integer] + result;\n }\n return sign + result;\n}\nexport {\n shorthash\n};\n","function isAstroComponentFactory(obj) {\n return obj == null ? false : obj.isAstroComponentFactory === true;\n}\nfunction isAPropagatingComponent(result, factory) {\n let hint = factory.propagation || \"none\";\n if (factory.moduleId && result.componentMetadata.has(factory.moduleId) && hint === \"none\") {\n hint = result.componentMetadata.get(factory.moduleId).propagation;\n }\n return hint === \"in-tree\" || hint === \"self\";\n}\nexport {\n isAPropagatingComponent,\n isAstroComponentFactory\n};\n","const headAndContentSym = Symbol.for(\"astro.headAndContent\");\nfunction isHeadAndContent(obj) {\n return typeof obj === \"object\" && !!obj[headAndContentSym];\n}\nfunction createHeadAndContent(head, content) {\n return {\n [headAndContentSym]: true,\n head,\n content\n };\n}\nexport {\n createHeadAndContent,\n isHeadAndContent\n};\n","var astro_island_prebuilt_dev_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var l=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>y(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[h,e]=t;return h in i?i[h](e):void 0},a=t=>t.map(o),y=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([h,e])=>[h,o(e)]));class f extends HTMLElement{constructor(){super(...arguments);l(this,\"Component\");l(this,\"hydrator\");l(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},p=this.querySelectorAll(\"template[data-astro-template]\");for(let r of p){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let u;try{u=this.hasAttribute(\"props\")?y(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let d,m=this.hydrator(this);d=performance.now(),await m(this.Component,u,n,{client:this.getAttribute(\"client\")}),d&&this.setAttribute(\"client-render-time\",(performance.now()-d).toString()),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});l(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[p,{default:u}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),d=this.getAttribute(\"component-export\")||\"default\";if(!d.includes(\".\"))this.Component=p[d];else{this.Component=p;for(let m of d.split(\".\"))this.Component=this.Component[m]}return this.hydrator=u,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}l(f,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",f)}})();`;\nexport {\n astro_island_prebuilt_dev_default as default\n};\n","var astro_island_prebuilt_default = `(()=>{var A=Object.defineProperty;var g=(i,o,a)=>o in i?A(i,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):i[o]=a;var d=(i,o,a)=>g(i,typeof o!=\"symbol\"?o+\"\":o,a);{let i={0:t=>m(t),1:t=>a(t),2:t=>new RegExp(t),3:t=>new Date(t),4:t=>new Map(a(t)),5:t=>new Set(a(t)),6:t=>BigInt(t),7:t=>new URL(t),8:t=>new Uint8Array(t),9:t=>new Uint16Array(t),10:t=>new Uint32Array(t)},o=t=>{let[l,e]=t;return l in i?i[l](e):void 0},a=t=>t.map(o),m=t=>typeof t!=\"object\"||t===null?t:Object.fromEntries(Object.entries(t).map(([l,e])=>[l,o(e)]));class y extends HTMLElement{constructor(){super(...arguments);d(this,\"Component\");d(this,\"hydrator\");d(this,\"hydrate\",async()=>{var b;if(!this.hydrator||!this.isConnected)return;let e=(b=this.parentElement)==null?void 0:b.closest(\"astro-island[ssr]\");if(e){e.addEventListener(\"astro:hydrate\",this.hydrate,{once:!0});return}let c=this.querySelectorAll(\"astro-slot\"),n={},h=this.querySelectorAll(\"template[data-astro-template]\");for(let r of h){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"data-astro-template\")||\"default\"]=r.innerHTML,r.remove())}for(let r of c){let s=r.closest(this.tagName);s!=null&&s.isSameNode(this)&&(n[r.getAttribute(\"name\")||\"default\"]=r.innerHTML)}let p;try{p=this.hasAttribute(\"props\")?m(JSON.parse(this.getAttribute(\"props\"))):{}}catch(r){let s=this.getAttribute(\"component-url\")||\"\",v=this.getAttribute(\"component-export\");throw v&&(s+=\\` (export \\${v})\\`),console.error(\\`[hydrate] Error parsing props for component \\${s}\\`,this.getAttribute(\"props\"),r),r}let u;await this.hydrator(this)(this.Component,p,n,{client:this.getAttribute(\"client\")}),this.removeAttribute(\"ssr\"),this.dispatchEvent(new CustomEvent(\"astro:hydrate\"))});d(this,\"unmount\",()=>{this.isConnected||this.dispatchEvent(new CustomEvent(\"astro:unmount\"))})}disconnectedCallback(){document.removeEventListener(\"astro:after-swap\",this.unmount),document.addEventListener(\"astro:after-swap\",this.unmount,{once:!0})}connectedCallback(){if(!this.hasAttribute(\"await-children\")||document.readyState===\"interactive\"||document.readyState===\"complete\")this.childrenConnectedCallback();else{let e=()=>{document.removeEventListener(\"DOMContentLoaded\",e),c.disconnect(),this.childrenConnectedCallback()},c=new MutationObserver(()=>{var n;((n=this.lastChild)==null?void 0:n.nodeType)===Node.COMMENT_NODE&&this.lastChild.nodeValue===\"astro:end\"&&(this.lastChild.remove(),e())});c.observe(this,{childList:!0}),document.addEventListener(\"DOMContentLoaded\",e)}}async childrenConnectedCallback(){let e=this.getAttribute(\"before-hydration-url\");e&&await import(e),this.start()}async start(){let e=JSON.parse(this.getAttribute(\"opts\")),c=this.getAttribute(\"client\");if(Astro[c]===void 0){window.addEventListener(\\`astro:\\${c}\\`,()=>this.start(),{once:!0});return}try{await Astro[c](async()=>{let n=this.getAttribute(\"renderer-url\"),[h,{default:p}]=await Promise.all([import(this.getAttribute(\"component-url\")),n?import(n):()=>()=>{}]),u=this.getAttribute(\"component-export\")||\"default\";if(!u.includes(\".\"))this.Component=h[u];else{this.Component=h;for(let f of u.split(\".\"))this.Component=this.Component[f]}return this.hydrator=p,this.hydrate},e,this)}catch(n){console.error(\\`[astro-island] Error hydrating \\${this.getAttribute(\"component-url\")}\\`,n)}}attributeChangedCallback(){this.hydrate()}}d(y,\"observedAttributes\",[\"props\"]),customElements.get(\"astro-island\")||customElements.define(\"astro-island\",y)}})();`;\nexport {\n astro_island_prebuilt_default as default\n};\n","import islandScriptDev from \"./astro-island.prebuilt-dev.js\";\nimport islandScript from \"./astro-island.prebuilt.js\";\nconst ISLAND_STYLES = ``;\nfunction determineIfNeedsHydrationScript(result) {\n if (result._metadata.hasHydrationScript) {\n return false;\n }\n return result._metadata.hasHydrationScript = true;\n}\nfunction determinesIfNeedsDirectiveScript(result, directive) {\n if (result._metadata.hasDirectives.has(directive)) {\n return false;\n }\n result._metadata.hasDirectives.add(directive);\n return true;\n}\nfunction getDirectiveScriptText(result, directive) {\n const clientDirectives = result.clientDirectives;\n const clientDirective = clientDirectives.get(directive);\n if (!clientDirective) {\n throw new Error(`Unknown directive: ${directive}`);\n }\n return clientDirective;\n}\nfunction getPrescripts(result, type, directive) {\n switch (type) {\n case \"both\":\n return `${ISLAND_STYLES}`;\n case \"directive\":\n return ``;\n case null:\n break;\n }\n return \"\";\n}\nexport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n};\n","import { clsx } from \"clsx\";\nimport { HTMLString, markHTMLString } from \"../escape.js\";\nconst voidElementNames = /^(area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/i;\nconst htmlBooleanAttributes = /^(?:allowfullscreen|async|autofocus|autoplay|controls|default|defer|disabled|disablepictureinpicture|disableremoteplayback|formnovalidate|hidden|loop|nomodule|novalidate|open|playsinline|readonly|required|reversed|scoped|seamless|itemscope)$/i;\nconst htmlEnumAttributes = /^(?:contenteditable|draggable|spellcheck|value)$/i;\nconst svgEnumAttributes = /^(?:autoReverse|externalResourcesRequired|focusable|preserveAlpha)$/i;\nconst AMPERSAND_REGEX = /&/g;\nconst DOUBLE_QUOTE_REGEX = /\"/g;\nconst STATIC_DIRECTIVES = /* @__PURE__ */ new Set([\"set:html\", \"set:text\"]);\nconst toIdent = (k) => k.trim().replace(/(?!^)\\b\\w|\\s+|\\W+/g, (match, index) => {\n if (/\\W/.test(match)) return \"\";\n return index === 0 ? match : match.toUpperCase();\n});\nconst toAttributeString = (value, shouldEscape = true) => shouldEscape ? String(value).replace(AMPERSAND_REGEX, \"&\").replace(DOUBLE_QUOTE_REGEX, \""\") : value;\nconst kebab = (k) => k.toLowerCase() === k ? k : k.replace(/[A-Z]/g, (match) => `-${match.toLowerCase()}`);\nconst toStyleString = (obj) => Object.entries(obj).filter(([_, v]) => typeof v === \"string\" && v.trim() || typeof v === \"number\").map(([k, v]) => {\n if (k[0] !== \"-\" && k[1] !== \"-\") return `${kebab(k)}:${v}`;\n return `${k}:${v}`;\n}).join(\";\");\nfunction defineScriptVars(vars) {\n let output = \"\";\n for (const [key, value] of Object.entries(vars)) {\n output += `const ${toIdent(key)} = ${JSON.stringify(value)?.replace(\n /<\\/script>/g,\n \"\\\\x3C/script>\"\n )};\n`;\n }\n return markHTMLString(output);\n}\nfunction formatList(values) {\n if (values.length === 1) {\n return values[0];\n }\n return `${values.slice(0, -1).join(\", \")} or ${values[values.length - 1]}`;\n}\nfunction addAttribute(value, key, shouldEscape = true) {\n if (value == null) {\n return \"\";\n }\n if (value === false) {\n if (htmlEnumAttributes.test(key) || svgEnumAttributes.test(key)) {\n return markHTMLString(` ${key}=\"false\"`);\n }\n return \"\";\n }\n if (STATIC_DIRECTIVES.has(key)) {\n console.warn(`[astro] The \"${key}\" directive cannot be applied dynamically at runtime. It will not be rendered as an attribute.\n\nMake sure to use the static attribute syntax (\\`${key}={value}\\`) instead of the dynamic spread syntax (\\`{...{ \"${key}\": value }}\\`).`);\n return \"\";\n }\n if (key === \"class:list\") {\n const listValue = toAttributeString(clsx(value), shouldEscape);\n if (listValue === \"\") {\n return \"\";\n }\n return markHTMLString(` ${key.slice(0, -5)}=\"${listValue}\"`);\n }\n if (key === \"style\" && !(value instanceof HTMLString)) {\n if (Array.isArray(value) && value.length === 2) {\n return markHTMLString(\n ` ${key}=\"${toAttributeString(`${toStyleString(value[0])};${value[1]}`, shouldEscape)}\"`\n );\n }\n if (typeof value === \"object\") {\n return markHTMLString(` ${key}=\"${toAttributeString(toStyleString(value), shouldEscape)}\"`);\n }\n }\n if (key === \"className\") {\n return markHTMLString(` class=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n if (typeof value === \"string\" && value.includes(\"&\") && isHttpUrl(value)) {\n return markHTMLString(` ${key}=\"${toAttributeString(value, false)}\"`);\n }\n if (value === true && (key.startsWith(\"data-\") || htmlBooleanAttributes.test(key))) {\n return markHTMLString(` ${key}`);\n } else {\n return markHTMLString(` ${key}=\"${toAttributeString(value, shouldEscape)}\"`);\n }\n}\nfunction internalSpreadAttributes(values, shouldEscape = true) {\n let output = \"\";\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute(value, key, shouldEscape);\n }\n return markHTMLString(output);\n}\nfunction renderElement(name, { props: _props, children = \"\" }, shouldEscape = true) {\n const { lang: _, \"data-astro-id\": astroId, \"define:vars\": defineVars, ...props } = _props;\n if (defineVars) {\n if (name === \"style\") {\n delete props[\"is:global\"];\n delete props[\"is:scoped\"];\n }\n if (name === \"script\") {\n delete props.hoist;\n children = defineScriptVars(defineVars) + \"\\n\" + children;\n }\n }\n if ((children == null || children == \"\") && voidElementNames.test(name)) {\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>`;\n }\n return `<${name}${internalSpreadAttributes(props, shouldEscape)}>${children}`;\n}\nconst noop = () => {\n};\nclass BufferedRenderer {\n chunks = [];\n renderPromise;\n destination;\n constructor(bufferRenderFunction) {\n this.renderPromise = bufferRenderFunction(this);\n Promise.resolve(this.renderPromise).catch(noop);\n }\n write(chunk) {\n if (this.destination) {\n this.destination.write(chunk);\n } else {\n this.chunks.push(chunk);\n }\n }\n async renderToFinalDestination(destination) {\n for (const chunk of this.chunks) {\n destination.write(chunk);\n }\n this.destination = destination;\n await this.renderPromise;\n }\n}\nfunction renderToBufferDestination(bufferRenderFunction) {\n const renderer = new BufferedRenderer(bufferRenderFunction);\n return renderer;\n}\nconst isNode = typeof process !== \"undefined\" && Object.prototype.toString.call(process) === \"[object process]\";\nconst isDeno = typeof Deno !== \"undefined\";\nfunction promiseWithResolvers() {\n let resolve, reject;\n const promise = new Promise((_resolve, _reject) => {\n resolve = _resolve;\n reject = _reject;\n });\n return {\n promise,\n resolve,\n reject\n };\n}\nconst VALID_PROTOCOLS = [\"http:\", \"https:\"];\nfunction isHttpUrl(url) {\n try {\n const parsedUrl = new URL(url);\n return VALID_PROTOCOLS.includes(parsedUrl.protocol);\n } catch {\n return false;\n }\n}\nexport {\n addAttribute,\n defineScriptVars,\n formatList,\n internalSpreadAttributes,\n isDeno,\n isNode,\n promiseWithResolvers,\n renderElement,\n renderToBufferDestination,\n toAttributeString,\n voidElementNames\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { createRenderInstruction } from \"./instruction.js\";\nimport { renderElement } from \"./util.js\";\nconst uniqueElements = (item, index, all) => {\n const props = JSON.stringify(item.props);\n const children = item.children;\n return index === all.findIndex((i) => JSON.stringify(i.props) === props && i.children == children);\n};\nfunction renderAllHeadContent(result) {\n result._metadata.hasRenderedHead = true;\n const styles = Array.from(result.styles).filter(uniqueElements).map(\n (style) => style.props.rel === \"stylesheet\" ? renderElement(\"link\", style) : renderElement(\"style\", style)\n );\n result.styles.clear();\n const scripts = Array.from(result.scripts).filter(uniqueElements).map((script) => {\n return renderElement(\"script\", script, false);\n });\n const links = Array.from(result.links).filter(uniqueElements).map((link) => renderElement(\"link\", link, false));\n let content = styles.join(\"\\n\") + links.join(\"\\n\") + scripts.join(\"\\n\");\n if (result._metadata.extraHead.length > 0) {\n for (const part of result._metadata.extraHead) {\n content += part;\n }\n }\n return markHTMLString(content);\n}\nfunction renderHead() {\n return createRenderInstruction({ type: \"head\" });\n}\nfunction maybeRenderHead() {\n return createRenderInstruction({ type: \"maybe-head\" });\n}\nexport {\n maybeRenderHead,\n renderAllHeadContent,\n renderHead\n};\n","import { HTMLString, markHTMLString } from \"../escape.js\";\nimport { renderChild } from \"./any.js\";\nimport { chunkToString } from \"./common.js\";\nconst slotString = Symbol.for(\"astro:slot-string\");\nclass SlotString extends HTMLString {\n instructions;\n [slotString];\n constructor(content, instructions) {\n super(content);\n this.instructions = instructions;\n this[slotString] = true;\n }\n}\nfunction isSlotString(str) {\n return !!str[slotString];\n}\nfunction renderSlot(result, slotted, fallback) {\n if (!slotted && fallback) {\n return renderSlot(result, fallback);\n }\n return {\n async render(destination) {\n await renderChild(destination, typeof slotted === \"function\" ? slotted(result) : slotted);\n }\n };\n}\nasync function renderSlotToString(result, slotted, fallback) {\n let content = \"\";\n let instructions = null;\n const temporaryDestination = {\n write(chunk) {\n if (chunk instanceof SlotString) {\n content += chunk;\n if (chunk.instructions) {\n instructions ??= [];\n instructions.push(...chunk.instructions);\n }\n } else if (chunk instanceof Response) return;\n else if (typeof chunk === \"object\" && \"type\" in chunk && typeof chunk.type === \"string\") {\n if (instructions === null) {\n instructions = [];\n }\n instructions.push(chunk);\n } else {\n content += chunkToString(result, chunk);\n }\n }\n };\n const renderInstance = renderSlot(result, slotted, fallback);\n await renderInstance.render(temporaryDestination);\n return markHTMLString(new SlotString(content, instructions));\n}\nasync function renderSlots(result, slots = {}) {\n let slotInstructions = null;\n let children = {};\n if (slots) {\n await Promise.all(\n Object.entries(slots).map(\n ([key, value]) => renderSlotToString(result, value).then((output) => {\n if (output.instructions) {\n if (slotInstructions === null) {\n slotInstructions = [];\n }\n slotInstructions.push(...output.instructions);\n }\n children[key] = output;\n })\n )\n );\n }\n return { slotInstructions, children };\n}\nexport {\n SlotString,\n isSlotString,\n renderSlot,\n renderSlotToString,\n renderSlots\n};\n","import { markHTMLString } from \"../escape.js\";\nimport {\n determineIfNeedsHydrationScript,\n determinesIfNeedsDirectiveScript,\n getPrescripts\n} from \"../scripts.js\";\nimport { renderAllHeadContent } from \"./head.js\";\nimport { isRenderInstruction } from \"./instruction.js\";\nimport { isSlotString } from \"./slot.js\";\nconst Fragment = Symbol.for(\"astro:fragment\");\nconst Renderer = Symbol.for(\"astro:renderer\");\nconst encoder = new TextEncoder();\nconst decoder = new TextDecoder();\nfunction stringifyChunk(result, chunk) {\n if (isRenderInstruction(chunk)) {\n const instruction = chunk;\n switch (instruction.type) {\n case \"directive\": {\n const { hydration } = instruction;\n let needsHydrationScript = hydration && determineIfNeedsHydrationScript(result);\n let needsDirectiveScript = hydration && determinesIfNeedsDirectiveScript(result, hydration.directive);\n let prescriptType = needsHydrationScript ? \"both\" : needsDirectiveScript ? \"directive\" : null;\n if (prescriptType) {\n let prescripts = getPrescripts(result, prescriptType, hydration.directive);\n return markHTMLString(prescripts);\n } else {\n return \"\";\n }\n }\n case \"head\": {\n if (result._metadata.hasRenderedHead || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"maybe-head\": {\n if (result._metadata.hasRenderedHead || result._metadata.headInTree || result.partial) {\n return \"\";\n }\n return renderAllHeadContent(result);\n }\n case \"renderer-hydration-script\": {\n const { rendererSpecificHydrationScripts } = result._metadata;\n const { rendererName } = instruction;\n if (!rendererSpecificHydrationScripts.has(rendererName)) {\n rendererSpecificHydrationScripts.add(rendererName);\n return instruction.render();\n }\n return \"\";\n }\n default: {\n throw new Error(`Unknown chunk type: ${chunk.type}`);\n }\n }\n } else if (chunk instanceof Response) {\n return \"\";\n } else if (isSlotString(chunk)) {\n let out = \"\";\n const c = chunk;\n if (c.instructions) {\n for (const instr of c.instructions) {\n out += stringifyChunk(result, instr);\n }\n }\n out += chunk.toString();\n return out;\n }\n return chunk.toString();\n}\nfunction chunkToString(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return decoder.decode(chunk);\n } else {\n return stringifyChunk(result, chunk);\n }\n}\nfunction chunkToByteArray(result, chunk) {\n if (ArrayBuffer.isView(chunk)) {\n return chunk;\n } else {\n const stringified = stringifyChunk(result, chunk);\n return encoder.encode(stringified.toString());\n }\n}\nfunction isRenderInstance(obj) {\n return !!obj && typeof obj === \"object\" && \"render\" in obj && typeof obj.render === \"function\";\n}\nexport {\n Fragment,\n Renderer,\n chunkToByteArray,\n chunkToString,\n decoder,\n encoder,\n isRenderInstance\n};\n","import { escapeHTML, isHTMLString, markHTMLString } from \"../escape.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentInstance, isRenderTemplateResult } from \"./astro/index.js\";\nimport { isRenderInstance } from \"./common.js\";\nimport { SlotString } from \"./slot.js\";\nimport { renderToBufferDestination } from \"./util.js\";\nasync function renderChild(destination, child) {\n if (isPromise(child)) {\n child = await child;\n }\n if (child instanceof SlotString) {\n destination.write(child);\n } else if (isHTMLString(child)) {\n destination.write(child);\n } else if (Array.isArray(child)) {\n const childRenders = child.map((c) => {\n return renderToBufferDestination((bufferDestination) => {\n return renderChild(bufferDestination, c);\n });\n });\n for (const childRender of childRenders) {\n if (!childRender) continue;\n await childRender.renderToFinalDestination(destination);\n }\n } else if (typeof child === \"function\") {\n await renderChild(destination, child());\n } else if (typeof child === \"string\") {\n destination.write(markHTMLString(escapeHTML(child)));\n } else if (!child && child !== 0) {\n } else if (isRenderInstance(child)) {\n await child.render(destination);\n } else if (isRenderTemplateResult(child)) {\n await child.render(destination);\n } else if (isAstroComponentInstance(child)) {\n await child.render(destination);\n } else if (ArrayBuffer.isView(child)) {\n destination.write(child);\n } else if (typeof child === \"object\" && (Symbol.asyncIterator in child || Symbol.iterator in child)) {\n for await (const value of child) {\n await renderChild(destination, value);\n }\n } else {\n destination.write(child);\n }\n}\nexport {\n renderChild\n};\n","import { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { isAPropagatingComponent } from \"./factory.js\";\nimport { isHeadAndContent } from \"./head-and-content.js\";\nconst astroComponentInstanceSym = Symbol.for(\"astro.componentInstance\");\nclass AstroComponentInstance {\n [astroComponentInstanceSym] = true;\n result;\n props;\n slotValues;\n factory;\n returnValue;\n constructor(result, props, slots, factory) {\n this.result = result;\n this.props = props;\n this.factory = factory;\n this.slotValues = {};\n for (const name in slots) {\n let didRender = false;\n let value = slots[name](result);\n this.slotValues[name] = () => {\n if (!didRender) {\n didRender = true;\n return value;\n }\n return slots[name](result);\n };\n }\n }\n async init(result) {\n if (this.returnValue !== void 0) return this.returnValue;\n this.returnValue = this.factory(result, this.props, this.slotValues);\n if (isPromise(this.returnValue)) {\n this.returnValue.then((resolved) => {\n this.returnValue = resolved;\n }).catch(() => {\n });\n }\n return this.returnValue;\n }\n async render(destination) {\n const returnValue = await this.init(this.result);\n if (isHeadAndContent(returnValue)) {\n await returnValue.content.render(destination);\n } else {\n await renderChild(destination, returnValue);\n }\n }\n}\nfunction validateComponentProps(props, displayName) {\n if (props != null) {\n for (const prop of Object.keys(props)) {\n if (prop.startsWith(\"client:\")) {\n console.warn(\n `You are attempting to render <${displayName} ${prop} />, but ${displayName} is an Astro component. Astro components do not render in the client and should not have a hydration directive. Please use a framework component for client rendering.`\n );\n }\n }\n }\n}\nfunction createAstroComponentInstance(result, displayName, factory, props, slots = {}) {\n validateComponentProps(props, displayName);\n const instance = new AstroComponentInstance(result, props, slots, factory);\n if (isAPropagatingComponent(result, factory)) {\n result._metadata.propagators.add(instance);\n }\n return instance;\n}\nfunction isAstroComponentInstance(obj) {\n return typeof obj === \"object\" && !!obj[astroComponentInstanceSym];\n}\nexport {\n AstroComponentInstance,\n createAstroComponentInstance,\n isAstroComponentInstance\n};\n","import { markHTMLString } from \"../../escape.js\";\nimport { isPromise } from \"../../util.js\";\nimport { renderChild } from \"../any.js\";\nimport { renderToBufferDestination } from \"../util.js\";\nconst renderTemplateResultSym = Symbol.for(\"astro.renderTemplateResult\");\nclass RenderTemplateResult {\n [renderTemplateResultSym] = true;\n htmlParts;\n expressions;\n error;\n constructor(htmlParts, expressions) {\n this.htmlParts = htmlParts;\n this.error = void 0;\n this.expressions = expressions.map((expression) => {\n if (isPromise(expression)) {\n return Promise.resolve(expression).catch((err) => {\n if (!this.error) {\n this.error = err;\n throw err;\n }\n });\n }\n return expression;\n });\n }\n async render(destination) {\n const expRenders = this.expressions.map((exp) => {\n return renderToBufferDestination((bufferDestination) => {\n if (exp || exp === 0) {\n return renderChild(bufferDestination, exp);\n }\n });\n });\n for (let i = 0; i < this.htmlParts.length; i++) {\n const html = this.htmlParts[i];\n const expRender = expRenders[i];\n destination.write(markHTMLString(html));\n if (expRender) {\n await expRender.renderToFinalDestination(destination);\n }\n }\n }\n}\nfunction isRenderTemplateResult(obj) {\n return typeof obj === \"object\" && !!obj[renderTemplateResultSym];\n}\nfunction renderTemplate(htmlParts, ...expressions) {\n return new RenderTemplateResult(htmlParts, expressions);\n}\nexport {\n RenderTemplateResult,\n isRenderTemplateResult,\n renderTemplate\n};\n","import { markHTMLString } from \"../escape.js\";\nimport { renderSlotToString } from \"./slot.js\";\nimport { toAttributeString } from \"./util.js\";\nfunction componentIsHTMLElement(Component) {\n return typeof HTMLElement !== \"undefined\" && HTMLElement.isPrototypeOf(Component);\n}\nasync function renderHTMLElement(result, constructor, props, slots) {\n const name = getHTMLElementName(constructor);\n let attrHTML = \"\";\n for (const attr in props) {\n attrHTML += ` ${attr}=\"${toAttributeString(await props[attr])}\"`;\n }\n return markHTMLString(\n `<${name}${attrHTML}>${await renderSlotToString(result, slots?.default)}`\n );\n}\nfunction getHTMLElementName(constructor) {\n const definedName = customElements.getName(constructor);\n if (definedName) return definedName;\n const assignedName = constructor.name.replace(/^HTML|Element$/g, \"\").replace(/[A-Z]/g, \"-$&\").toLowerCase().replace(/^-/, \"html-\");\n return assignedName;\n}\nexport {\n componentIsHTMLElement,\n renderHTMLElement\n};\n","import { createRenderInstruction } from \"./instruction.js\";\nimport { clsx } from \"clsx\";\nimport { AstroError, AstroErrorData } from \"../../../core/errors/index.js\";\nimport { markHTMLString } from \"../escape.js\";\nimport { extractDirectives, generateHydrateScript } from \"../hydration.js\";\nimport { serializeProps } from \"../serialize.js\";\nimport { shorthash } from \"../shorthash.js\";\nimport { isPromise } from \"../util.js\";\nimport { isAstroComponentFactory } from \"./astro/factory.js\";\nimport { renderTemplate } from \"./astro/index.js\";\nimport { createAstroComponentInstance } from \"./astro/instance.js\";\nimport {\n Fragment,\n Renderer,\n chunkToString\n} from \"./common.js\";\nimport { componentIsHTMLElement, renderHTMLElement } from \"./dom.js\";\nimport { maybeRenderHead } from \"./head.js\";\nimport { renderSlotToString, renderSlots } from \"./slot.js\";\nimport { formatList, internalSpreadAttributes, renderElement, voidElementNames } from \"./util.js\";\nconst needsHeadRenderingSymbol = Symbol.for(\"astro.needsHeadRendering\");\nconst rendererAliases = /* @__PURE__ */ new Map([[\"solid\", \"solid-js\"]]);\nconst clientOnlyValues = /* @__PURE__ */ new Set([\"solid-js\", \"react\", \"preact\", \"vue\", \"svelte\", \"lit\"]);\nfunction guessRenderers(componentUrl) {\n const extname = componentUrl?.split(\".\").pop();\n switch (extname) {\n case \"svelte\":\n return [\"@astrojs/svelte\"];\n case \"vue\":\n return [\"@astrojs/vue\"];\n case \"jsx\":\n case \"tsx\":\n return [\"@astrojs/react\", \"@astrojs/preact\", \"@astrojs/solid-js\", \"@astrojs/vue (jsx)\"];\n default:\n return [\n \"@astrojs/react\",\n \"@astrojs/preact\",\n \"@astrojs/solid-js\",\n \"@astrojs/vue\",\n \"@astrojs/svelte\",\n \"@astrojs/lit\"\n ];\n }\n}\nfunction isFragmentComponent(Component) {\n return Component === Fragment;\n}\nfunction isHTMLComponent(Component) {\n return Component && Component[\"astro:html\"] === true;\n}\nconst ASTRO_SLOT_EXP = /<\\/?astro-slot\\b[^>]*>/g;\nconst ASTRO_STATIC_SLOT_EXP = /<\\/?astro-static-slot\\b[^>]*>/g;\nfunction removeStaticAstroSlot(html, supportsAstroStaticSlot = true) {\n const exp = supportsAstroStaticSlot ? ASTRO_STATIC_SLOT_EXP : ASTRO_SLOT_EXP;\n return html.replace(exp, \"\");\n}\nasync function renderFrameworkComponent(result, displayName, Component, _props, slots = {}) {\n if (!Component && \"client:only\" in _props === false) {\n throw new Error(\n `Unable to render ${displayName} because it is ${Component}!\nDid you forget to import the component or is it possible there is a typo?`\n );\n }\n const { renderers, clientDirectives } = result;\n const metadata = {\n astroStaticSlot: true,\n displayName\n };\n const { hydration, isPage, props, propsWithoutTransitionAttributes } = extractDirectives(\n _props,\n clientDirectives\n );\n let html = \"\";\n let attrs = void 0;\n if (hydration) {\n metadata.hydrate = hydration.directive;\n metadata.hydrateArgs = hydration.value;\n metadata.componentExport = hydration.componentExport;\n metadata.componentUrl = hydration.componentUrl;\n }\n const probableRendererNames = guessRenderers(metadata.componentUrl);\n const validRenderers = renderers.filter((r) => r.name !== \"astro:jsx\");\n const { children, slotInstructions } = await renderSlots(result, slots);\n let renderer;\n if (metadata.hydrate !== \"only\") {\n let isTagged = false;\n try {\n isTagged = Component && Component[Renderer];\n } catch {\n }\n if (isTagged) {\n const rendererName = Component[Renderer];\n renderer = renderers.find(({ name }) => name === rendererName);\n }\n if (!renderer) {\n let error;\n for (const r of renderers) {\n try {\n if (await r.ssr.check.call({ result }, Component, props, children)) {\n renderer = r;\n break;\n }\n } catch (e) {\n error ??= e;\n }\n }\n if (!renderer && error) {\n throw error;\n }\n }\n if (!renderer && typeof HTMLElement === \"function\" && componentIsHTMLElement(Component)) {\n const output = await renderHTMLElement(\n result,\n Component,\n _props,\n slots\n );\n return {\n render(destination) {\n destination.write(output);\n }\n };\n }\n } else {\n if (metadata.hydrateArgs) {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n renderer = renderers.find(\n ({ name }) => name === `@astrojs/${rendererName}` || name === rendererName\n );\n }\n }\n if (!renderer && validRenderers.length === 1) {\n renderer = validRenderers[0];\n }\n if (!renderer) {\n const extname = metadata.componentUrl?.split(\".\").pop();\n renderer = renderers.filter(\n ({ name }) => name === `@astrojs/${extname}` || name === extname\n )[0];\n }\n }\n let componentServerRenderEndTime;\n if (!renderer) {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (clientOnlyValues.has(rendererName)) {\n const plural = validRenderers.length > 1;\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else {\n throw new AstroError({\n ...AstroErrorData.NoClientOnlyHint,\n message: AstroErrorData.NoClientOnlyHint.message(metadata.displayName),\n hint: AstroErrorData.NoClientOnlyHint.hint(\n probableRendererNames.map((r) => r.replace(\"@astrojs/\", \"\")).join(\"|\")\n )\n });\n }\n } else if (typeof Component !== \"string\") {\n const matchingRenderers = validRenderers.filter(\n (r) => probableRendererNames.includes(r.name)\n );\n const plural = validRenderers.length > 1;\n if (matchingRenderers.length === 0) {\n throw new AstroError({\n ...AstroErrorData.NoMatchingRenderer,\n message: AstroErrorData.NoMatchingRenderer.message(\n metadata.displayName,\n metadata?.componentUrl?.split(\".\").pop(),\n plural,\n validRenderers.length\n ),\n hint: AstroErrorData.NoMatchingRenderer.hint(\n formatList(probableRendererNames.map((r) => \"`\" + r + \"`\"))\n )\n });\n } else if (matchingRenderers.length === 1) {\n renderer = matchingRenderers[0];\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n } else {\n throw new Error(`Unable to render ${metadata.displayName}!\n\nThis component likely uses ${formatList(probableRendererNames)},\nbut Astro encountered an error during server-side rendering.\n\nPlease ensure that ${metadata.displayName}:\n1. Does not unconditionally access browser-specific globals like \\`window\\` or \\`document\\`.\n If this is unavoidable, use the \\`client:only\\` hydration directive.\n2. Does not conditionally return \\`null\\` or \\`undefined\\` when rendered on the server.\n\nIf you're still stuck, please open an issue on GitHub or join us at https://astro.build/chat.`);\n }\n }\n } else {\n if (metadata.hydrate === \"only\") {\n const rendererName = rendererAliases.has(metadata.hydrateArgs) ? rendererAliases.get(metadata.hydrateArgs) : metadata.hydrateArgs;\n if (!clientOnlyValues.has(rendererName)) {\n console.warn(\n `The client:only directive for ${metadata.displayName} is not recognized. The renderer ${renderer.name} will be used. If you intended to use a different renderer, please provide a valid client:only directive.`\n );\n }\n html = await renderSlotToString(result, slots?.fallback);\n } else {\n const componentRenderStartTime = performance.now();\n ({ html, attrs } = await renderer.ssr.renderToStaticMarkup.call(\n { result },\n Component,\n propsWithoutTransitionAttributes,\n children,\n metadata\n ));\n if (process.env.NODE_ENV === \"development\")\n componentServerRenderEndTime = performance.now() - componentRenderStartTime;\n }\n }\n if (renderer && !renderer.clientEntrypoint && renderer.name !== \"@astrojs/lit\" && metadata.hydrate) {\n throw new AstroError({\n ...AstroErrorData.NoClientEntrypoint,\n message: AstroErrorData.NoClientEntrypoint.message(\n displayName,\n metadata.hydrate,\n renderer.name\n )\n });\n }\n if (!html && typeof Component === \"string\") {\n const Tag = sanitizeElementName(Component);\n const childSlots = Object.values(children).join(\"\");\n const renderTemplateResult = renderTemplate`<${Tag}${internalSpreadAttributes(\n props\n )}${markHTMLString(\n childSlots === \"\" && voidElementNames.test(Tag) ? `/>` : `>${childSlots}`\n )}`;\n html = \"\";\n const destination = {\n write(chunk) {\n if (chunk instanceof Response) return;\n html += chunkToString(result, chunk);\n }\n };\n await renderTemplateResult.render(destination);\n }\n if (!hydration) {\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n if (isPage || renderer?.name === \"astro:jsx\") {\n destination.write(html);\n } else if (html && html.length > 0) {\n destination.write(\n markHTMLString(removeStaticAstroSlot(html, renderer?.ssr?.supportsAstroStaticSlot))\n );\n }\n }\n };\n }\n const astroId = shorthash(\n `\n${html}\n${serializeProps(\n props,\n metadata\n )}`\n );\n const island = await generateHydrateScript(\n { renderer, result, astroId, props, attrs },\n metadata\n );\n if (componentServerRenderEndTime && process.env.NODE_ENV === \"development\")\n island.props[\"server-render-time\"] = componentServerRenderEndTime;\n let unrenderedSlots = [];\n if (html) {\n if (Object.keys(children).length > 0) {\n for (const key of Object.keys(children)) {\n let tagName = renderer?.ssr?.supportsAstroStaticSlot ? !!metadata.hydrate ? \"astro-slot\" : \"astro-static-slot\" : \"astro-slot\";\n let expectedHTML = key === \"default\" ? `<${tagName}>` : `<${tagName} name=\"${key}\">`;\n if (!html.includes(expectedHTML)) {\n unrenderedSlots.push(key);\n }\n }\n }\n } else {\n unrenderedSlots = Object.keys(children);\n }\n const template = unrenderedSlots.length > 0 ? unrenderedSlots.map(\n (key) => ``\n ).join(\"\") : \"\";\n island.children = `${html ?? \"\"}${template}`;\n if (island.children) {\n island.props[\"await-children\"] = \"\";\n island.children += ``;\n }\n return {\n render(destination) {\n if (slotInstructions) {\n for (const instruction of slotInstructions) {\n destination.write(instruction);\n }\n }\n destination.write(createRenderInstruction({ type: \"directive\", hydration }));\n if (hydration.directive !== \"only\" && renderer?.ssr.renderHydrationScript) {\n destination.write(\n createRenderInstruction({\n type: \"renderer-hydration-script\",\n rendererName: renderer.name,\n render: renderer.ssr.renderHydrationScript\n })\n );\n }\n const renderedElement = renderElement(\"astro-island\", island, false);\n destination.write(markHTMLString(renderedElement));\n }\n };\n}\nfunction sanitizeElementName(tag) {\n const unsafe = /[&<>'\"\\s]+/;\n if (!unsafe.test(tag)) return tag;\n return tag.trim().split(unsafe)[0].trim();\n}\nasync function renderFragmentComponent(result, slots = {}) {\n const children = await renderSlotToString(result, slots?.default);\n return {\n render(destination) {\n if (children == null) return;\n destination.write(children);\n }\n };\n}\nasync function renderHTMLComponent(result, Component, _props, slots = {}) {\n const { slotInstructions, children } = await renderSlots(result, slots);\n const html = Component({ slots: children });\n const hydrationHtml = slotInstructions ? slotInstructions.map((instr) => chunkToString(result, instr)).join(\"\") : \"\";\n return {\n render(destination) {\n destination.write(markHTMLString(hydrationHtml + html));\n }\n };\n}\nfunction renderAstroComponent(result, displayName, Component, props, slots = {}) {\n const instance = createAstroComponentInstance(result, displayName, Component, props, slots);\n return {\n async render(destination) {\n await instance.render(destination);\n }\n };\n}\nasync function renderComponent(result, displayName, Component, props, slots = {}) {\n if (isPromise(Component)) {\n Component = await Component.catch(handleCancellation);\n }\n if (isFragmentComponent(Component)) {\n return await renderFragmentComponent(result, slots).catch(handleCancellation);\n }\n props = normalizeProps(props);\n if (isHTMLComponent(Component)) {\n return await renderHTMLComponent(result, Component, props, slots).catch(handleCancellation);\n }\n if (isAstroComponentFactory(Component)) {\n return renderAstroComponent(result, displayName, Component, props, slots);\n }\n return await renderFrameworkComponent(result, displayName, Component, props, slots).catch(\n handleCancellation\n );\n function handleCancellation(e) {\n if (result.cancelled) return { render() {\n } };\n throw e;\n }\n}\nfunction normalizeProps(props) {\n if (props[\"class:list\"] !== void 0) {\n const value = props[\"class:list\"];\n delete props[\"class:list\"];\n props[\"class\"] = clsx(props[\"class\"], value);\n if (props[\"class\"] === \"\") {\n delete props[\"class\"];\n }\n }\n return props;\n}\nasync function renderComponentToString(result, displayName, Component, props, slots = {}, isPage = false, route) {\n let str = \"\";\n let renderedFirstPageChunk = false;\n let head = \"\";\n if (isPage && !result.partial && nonAstroPageNeedsHeadInjection(Component)) {\n head += chunkToString(result, maybeRenderHead());\n }\n try {\n const destination = {\n write(chunk) {\n if (isPage && !result.partial && !renderedFirstPageChunk) {\n renderedFirstPageChunk = true;\n if (!/\" : \"\\n\";\n str += doctype + head;\n }\n }\n if (chunk instanceof Response) return;\n str += chunkToString(result, chunk);\n }\n };\n const renderInstance = await renderComponent(result, displayName, Component, props, slots);\n await renderInstance.render(destination);\n } catch (e) {\n if (AstroError.is(e) && !e.loc) {\n e.setLocation({\n file: route?.component\n });\n }\n throw e;\n }\n return str;\n}\nfunction nonAstroPageNeedsHeadInjection(pageComponent) {\n return !!pageComponent?.[needsHeadRenderingSymbol];\n}\nexport {\n renderComponent,\n renderComponentToString\n};\n","import { markHTMLString } from \"../escape.js\";\nasync function renderScript(result, id) {\n if (result._metadata.renderedScripts.has(id)) return;\n result._metadata.renderedScripts.add(id);\n const inlined = result.inlinedScripts.get(id);\n if (inlined != null) {\n if (inlined) {\n return markHTMLString(``);\n } else {\n return \"\";\n }\n }\n const resolved = await result.resolve(id);\n return markHTMLString(``);\n}\nexport {\n renderScript\n};\n","import cssesc from \"cssesc\";\nimport { fade, slide } from \"../../transitions/index.js\";\nimport { markHTMLString } from \"./escape.js\";\nconst transitionNameMap = /* @__PURE__ */ new WeakMap();\nfunction incrementTransitionNumber(result) {\n let num = 1;\n if (transitionNameMap.has(result)) {\n num = transitionNameMap.get(result) + 1;\n }\n transitionNameMap.set(result, num);\n return num;\n}\nfunction createTransitionScope(result, hash) {\n const num = incrementTransitionNumber(result);\n return `astro-${hash}-${num}`;\n}\nconst getAnimations = (name) => {\n if (name === \"fade\") return fade();\n if (name === \"slide\") return slide();\n if (typeof name === \"object\") return name;\n};\nconst addPairs = (animations, stylesheet) => {\n for (const [direction, images] of Object.entries(animations)) {\n for (const [image, rules] of Object.entries(images)) {\n stylesheet.addAnimationPair(direction, image, rules);\n }\n }\n};\nconst reEncodeValidChars = \"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nconst reEncodeInValidStart = \"-0123456789_\".split(\"\").reduce((v, c) => (v[c.charCodeAt(0)] = c, v), []);\nfunction reEncode(s) {\n let result = \"\";\n let codepoint;\n for (let i = 0; i < s.length; i += (codepoint ?? 0) > 65535 ? 2 : 1) {\n codepoint = s.codePointAt(i);\n if (codepoint !== void 0) {\n result += codepoint < 128 ? codepoint === 95 ? \"__\" : reEncodeValidChars[codepoint] ?? \"_\" + codepoint.toString(16).padStart(2, \"0\") : String.fromCodePoint(codepoint);\n }\n }\n return reEncodeInValidStart[result.codePointAt(0) ?? 0] ? \"_\" + result : result;\n}\nfunction renderTransition(result, hash, animationName, transitionName) {\n if (typeof (transitionName ?? \"\") !== \"string\") {\n throw new Error(`Invalid transition name {${transitionName}}`);\n }\n if (!animationName) animationName = \"fade\";\n const scope = createTransitionScope(result, hash);\n const name = transitionName ? cssesc(reEncode(transitionName), { isIdentifier: true }) : scope;\n const sheet = new ViewTransitionStyleSheet(scope, name);\n const animations = getAnimations(animationName);\n if (animations) {\n addPairs(animations, sheet);\n } else if (animationName === \"none\") {\n sheet.addFallback(\"old\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"old\", \"animation: none; opacity: 0; mix-blend-mode: normal;\");\n sheet.addAnimationRaw(\"new\", \"animation: none; mix-blend-mode: normal;\");\n sheet.addModern(\"group\", \"animation: none\");\n }\n result._metadata.extraHead.push(markHTMLString(``));\n return scope;\n}\nfunction createAnimationScope(transitionName, animations) {\n const hash = Math.random().toString(36).slice(2, 8);\n const scope = `astro-${hash}`;\n const sheet = new ViewTransitionStyleSheet(scope, transitionName);\n addPairs(animations, sheet);\n return { scope, styles: sheet.toString().replaceAll('\"', \"\") };\n}\nclass ViewTransitionStyleSheet {\n constructor(scope, name) {\n this.scope = scope;\n this.name = name;\n }\n modern = [];\n fallback = [];\n toString() {\n const { scope, name } = this;\n const [modern, fallback] = [this.modern, this.fallback].map((rules) => rules.join(\"\"));\n return [\n `[data-astro-transition-scope=\"${scope}\"] { view-transition-name: ${name}; }`,\n this.layer(modern),\n fallback\n ].join(\"\");\n }\n layer(cssText) {\n return cssText ? `@layer astro { ${cssText} }` : \"\";\n }\n addRule(target, cssText) {\n this[target].push(cssText);\n }\n addAnimationRaw(image, animation) {\n this.addModern(image, animation);\n this.addFallback(image, animation);\n }\n addModern(image, animation) {\n const { name } = this;\n this.addRule(\"modern\", `::view-transition-${image}(${name}) { ${animation} }`);\n }\n addFallback(image, animation) {\n const { scope } = this;\n this.addRule(\n \"fallback\",\n // Two selectors here, the second in case there is an animation on the root.\n `[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n addAnimationPair(direction, image, rules) {\n const { scope, name } = this;\n const animation = stringifyAnimation(rules);\n const prefix = direction === \"backwards\" ? `[data-astro-transition=back]` : direction === \"forwards\" ? \"\" : `[data-astro-transition=${direction}]`;\n this.addRule(\"modern\", `${prefix}::view-transition-${image}(${name}) { ${animation} }`);\n this.addRule(\n \"fallback\",\n `${prefix}[data-astro-transition-fallback=\"${image}\"] [data-astro-transition-scope=\"${scope}\"],\n\t\t\t${prefix}[data-astro-transition-fallback=\"${image}\"][data-astro-transition-scope=\"${scope}\"] { ${animation} }`\n );\n }\n}\nfunction addAnimationProperty(builder, prop, value) {\n let arr = builder[prop];\n if (Array.isArray(arr)) {\n arr.push(value.toString());\n } else {\n builder[prop] = [value.toString()];\n }\n}\nfunction animationBuilder() {\n return {\n toString() {\n let out = \"\";\n for (let k in this) {\n let value = this[k];\n if (Array.isArray(value)) {\n out += `\n\t${k}: ${value.join(\", \")};`;\n }\n }\n return out;\n }\n };\n}\nfunction stringifyAnimation(anim) {\n if (Array.isArray(anim)) {\n return stringifyAnimations(anim);\n } else {\n return stringifyAnimations([anim]);\n }\n}\nfunction stringifyAnimations(anims) {\n const builder = animationBuilder();\n for (const anim of anims) {\n if (anim.duration) {\n addAnimationProperty(builder, \"animation-duration\", toTimeValue(anim.duration));\n }\n if (anim.easing) {\n addAnimationProperty(builder, \"animation-timing-function\", anim.easing);\n }\n if (anim.direction) {\n addAnimationProperty(builder, \"animation-direction\", anim.direction);\n }\n if (anim.delay) {\n addAnimationProperty(builder, \"animation-delay\", anim.delay);\n }\n if (anim.fillMode) {\n addAnimationProperty(builder, \"animation-fill-mode\", anim.fillMode);\n }\n addAnimationProperty(builder, \"animation-name\", anim.name);\n }\n return builder.toString();\n}\nfunction toTimeValue(num) {\n return typeof num === \"number\" ? num + \"ms\" : num;\n}\nexport {\n createAnimationScope,\n createTransitionScope,\n renderTransition\n};\n","import { createComponent } from \"./astro-component.js\";\nimport { createAstro } from \"./astro-global.js\";\nimport { renderEndpoint } from \"./endpoint.js\";\nimport {\n escapeHTML,\n HTMLBytes,\n HTMLString,\n isHTMLString,\n markHTMLString,\n unescapeHTML\n} from \"./escape.js\";\nimport { renderJSX } from \"./jsx.js\";\nimport {\n addAttribute,\n createHeadAndContent,\n defineScriptVars,\n Fragment,\n maybeRenderHead,\n renderTemplate,\n renderComponent,\n Renderer,\n renderHead,\n renderHTMLElement,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate as renderTemplate2,\n renderToString,\n renderUniqueStylesheet,\n voidElementNames\n} from \"./render/index.js\";\nimport { createTransitionScope, renderTransition } from \"./transition.js\";\nimport { markHTMLString as markHTMLString2 } from \"./escape.js\";\nimport { Renderer as Renderer2, addAttribute as addAttribute2 } from \"./render/index.js\";\nfunction mergeSlots(...slotted) {\n const slots = {};\n for (const slot of slotted) {\n if (!slot) continue;\n if (typeof slot === \"object\") {\n Object.assign(slots, slot);\n } else if (typeof slot === \"function\") {\n Object.assign(slots, mergeSlots(slot()));\n }\n }\n return slots;\n}\nfunction __astro_tag_component__(Component, rendererName) {\n if (!Component) return;\n if (typeof Component !== \"function\") return;\n Object.defineProperty(Component, Renderer2, {\n value: rendererName,\n enumerable: false,\n writable: false\n });\n}\nfunction spreadAttributes(values = {}, _name, { class: scopedClassName } = {}) {\n let output = \"\";\n if (scopedClassName) {\n if (typeof values.class !== \"undefined\") {\n values.class += ` ${scopedClassName}`;\n } else if (typeof values[\"class:list\"] !== \"undefined\") {\n values[\"class:list\"] = [values[\"class:list\"], scopedClassName];\n } else {\n values.class = scopedClassName;\n }\n }\n for (const [key, value] of Object.entries(values)) {\n output += addAttribute2(value, key, true);\n }\n return markHTMLString2(output);\n}\nfunction defineStyleVars(defs) {\n let output = \"\";\n let arr = !Array.isArray(defs) ? [defs] : defs;\n for (const vars of arr) {\n for (const [key, value] of Object.entries(vars)) {\n if (value || value === 0) {\n output += `--${key}: ${value};`;\n }\n }\n }\n return markHTMLString2(output);\n}\nexport {\n Fragment,\n HTMLBytes,\n HTMLString,\n Renderer,\n __astro_tag_component__,\n addAttribute,\n createAstro,\n createComponent,\n createHeadAndContent,\n createTransitionScope,\n defineScriptVars,\n defineStyleVars,\n escapeHTML,\n isHTMLString,\n markHTMLString,\n maybeRenderHead,\n mergeSlots,\n renderTemplate as render,\n renderComponent,\n renderEndpoint,\n renderHTMLElement,\n renderHead,\n renderJSX,\n renderPage,\n renderScript,\n renderScriptElement,\n renderSlot,\n renderSlotToString,\n renderTemplate2 as renderTemplate,\n renderToString,\n renderTransition,\n renderUniqueStylesheet,\n spreadAttributes,\n unescapeHTML,\n voidElementNames\n};\n"],"names":["AstroErrorData.InvalidComponentArgs","AstroErrorData.AstroGlobUsedOutside","AstroErrorData.AstroGlobNoMatch","AstroErrorData.MissingMediaQueryDirective","AstroErrorData.NoMatchingImport","islandScriptDev","islandScript","AstroErrorData.NoMatchingRenderer","AstroErrorData.NoClientOnlyHint","AstroErrorData.NoClientEntrypoint","addAttribute2","markHTMLString2"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29]} \ No newline at end of file diff --git a/Target/chunks/astro_C8nWLmGL.mjs.map b/Target/chunks/astro_C8nWLmGL.mjs.map new file mode 100644 index 00000000..2918abb9 --- /dev/null +++ b/Target/chunks/astro_C8nWLmGL.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"astro_C8nWLmGL.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/Target/chunks/index_Bg_iqmtW.mjs.map b/Target/chunks/index_Bg_iqmtW.mjs.map new file mode 100644 index 00000000..2f0a048f --- /dev/null +++ b/Target/chunks/index_Bg_iqmtW.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index_Bg_iqmtW.mjs","sources":["../../../../../../node_modules/astro-capo/src/capo/rules.ts","../../../../../../node_modules/astro-capo/src/capo/index.ts","../../../../../../node_modules/astro-capo/src/Head.ts","../../../../../../node_modules/astro/components/ViewTransitions.astro","../../Source/Layout/Base.astro","../../Source/pages/index.astro"],"sourcesContent":["import type { ElementNode } from \"ultrahtml\";\nimport { renderSync } from 'ultrahtml';\n\ntype Attributes = Record;\n\nfunction has(value: unknown): value is string {\n return typeof value === 'string';\n}\nfunction is(a: unknown, b: T): a is T {\n return a === b;\n}\nfunction any(a: string | undefined, b: string[]): a is string {\n return has(a) && b.includes(a.toLowerCase());\n}\n\nexport const ElementWeights: Record = {\n META: 10,\n TITLE: 9,\n PRECONNECT: 8,\n ASYNC_SCRIPT: 7,\n IMPORT_STYLES: 6,\n SYNC_SCRIPT: 5,\n SYNC_STYLES: 4,\n PRELOAD: 3,\n DEFER_SCRIPT: 2,\n PREFETCH_PRERENDER: 1,\n OTHER: 0\n};\n\nexport const ElementDetectors = {\n META: isMeta,\n TITLE: isTitle,\n PRECONNECT: isPreconnect,\n DEFER_SCRIPT: isDeferScript,\n ASYNC_SCRIPT: isAsyncScript,\n IMPORT_STYLES: isImportStyles,\n SYNC_SCRIPT: isSyncScript,\n SYNC_STYLES: isSyncStyles,\n PRELOAD: isPreload,\n PREFETCH_PRERENDER: isPrefetchPrerender\n}\n\nexport const META_HTTP_EQUIV_KEYWORDS = [\n 'accept-ch',\n 'content-security-policy',\n 'content-type',\n 'default-style',\n 'delegate-ch',\n 'origin-trial',\n 'x-dns-prefetch-control'\n];\n\n// meta:is([charset], ${httpEquivSelector}, [name=viewport]), base\nexport function isMeta(name: string, a: Attributes) {\n if (name === 'base') return true;\n if (name !== 'meta') return false;\n return has(a.charset) || is(a.name, 'viewport') || any(a['http-equiv'], META_HTTP_EQUIV_KEYWORDS)\n}\n\n// title\nexport function isTitle(name: string) {\n return name === 'title';\n}\n\n// link[rel=preconnect]\nexport function isPreconnect(name: string, { rel }: Attributes) {\n return name === 'link' && is(rel, 'preconnect');\n}\n\n// script[src][async]\nexport function isAsyncScript(name: string, { src, async }: Attributes) {\n return name === 'script' && has(src) && has(async);\n}\n\n// style that contains @import\nexport function isImportStyles(name: string, a: Attributes, children: string) {\n const importRe = /@import/;\n\n if (name === 'style') {\n return importRe.test(children);\n }\n\n // Can't support external stylesheets on the server\n return false;\n}\n\n// script:not([src][defer],[src][type=module],[src][async],[type*=json])\nexport function isSyncScript(name: string, { src, defer, async, type = '' }: Attributes) {\n if (name !== 'script') return false;\n return !(has(src) && (has(defer) || has(async) || is(type, 'module')) || type.includes('json'))\n}\n\n// link[rel=stylesheet],style\nexport function isSyncStyles(name: string, { rel }: Attributes) {\n if (name === 'style') return true;\n return name === 'link' && is(rel, 'stylesheet')\n}\n\n// link:is([rel=preload], [rel=modulepreload])\nexport function isPreload(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['preload', 'modulepreload']);\n}\n\n// script[src][defer], script:not([src][async])[src][type=module]\nexport function isDeferScript(name: string, { src, defer, async, type }: Attributes) {\n if (name !== 'script') return false;\n return (has(src) && has(defer)) || (has(src) && is(type, 'module') && !has(async));\n}\n\n// link:is([rel=prefetch], [rel=dns-prefetch], [rel=prerender])\nexport function isPrefetchPrerender(name: string, { rel }: Attributes) {\n return name === 'link' && any(rel, ['prefetch', 'dns-prefetch', 'prerender'])\n}\n\n// meta[http-equiv=\"origin-trial\"i]\nexport function isOriginTrial(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'origin-trial');\n}\n\n// meta[http-equiv=\"Content-Security-Policy\" i]\nexport function isMetaCSP(name: string, { 'http-equiv': http }: Attributes) {\n return name === 'meta' && is(http, 'Content-Security-Policy');\n}\n\nexport function getWeight(element: ElementNode) {\n for (const [id, detector] of Object.entries(ElementDetectors)) {\n const children = (element.name === 'style' && element.children.length > 0) ? renderSync(element) : '';\n if (detector(element.name, element.attributes, children)) {\n return ElementWeights[id];\n }\n }\n return ElementWeights.OTHER;\n}\n","import type { ElementNode } from 'ultrahtml';\nimport { parse, walkSync, renderSync, ELEMENT_NODE } from 'ultrahtml';\nimport { getWeight } from './rules.ts';\n\nexport default function capo(html: string) {\n const ast = parse(html);\n try {\n walkSync(ast, (node, parent, index) => {\n if (node.type === ELEMENT_NODE && node.name === 'head') {\n if (parent) {\n parent.children.splice(index, 1, getSortedHead(node));\n throw 'done' // short-circuit\n }\n }\n })\n } catch (e) {\n if (e !== 'done') throw e;\n }\n return renderSync(ast);\n}\n\nfunction getSortedHead(head: ElementNode): ElementNode {\n const weightedChildren = head.children.map((node) => {\n if (node.type === ELEMENT_NODE) {\n const weight = getWeight(node);\n return [weight, node];\n }\n }).filter(Boolean) as [number, ElementNode][]\n const children = weightedChildren.sort((a, b) => b[0] - a[0]).map(([_, element]) => element)\n return { ...head, children };\n}\n","import type { SSRResult } from \"astro\";\n// @ts-expect-error using astro internals\nimport { renderAllHeadContent } from \"astro/runtime/server/render/head.js\";\n// @ts-expect-error using astro internals\nimport { createComponent, unescapeHTML, renderSlotToString, spreadAttributes } from \"astro/runtime/server/index.js\";\nimport capo from \"./capo/index.ts\";\n\nexport const Head = createComponent({\n factory: async (result: SSRResult, props: Record, slots: Record) => {\n let head = '';\n head += ``\n head += await renderSlotToString(result, slots.default);\n head += renderAllHeadContent(result);\n head += '';\n return unescapeHTML(capo(head));\n }\n})\n","---\ntype Fallback = 'none' | 'animate' | 'swap';\n\nexport interface Props {\n\tfallback?: Fallback;\n\t/** @deprecated handleForms is enabled by default in Astro 4.0\n\t *\n\t * Set `data-astro-reload` on your form to opt-out of the default behavior.\n\t */\n\thandleForms?: boolean;\n}\n\nconst { fallback = 'animate' } = Astro.props;\n---\n\n\n\n\n\n","---\nimport \"@Stylesheet/Base.css\";\n\n// TODO Place your title and description here\nconst { Title = \"\", Description = \"\" } = Astro.props;\n\ninterface Props {\n\tTitle?: string;\n\tDescription?: string;\n}\n\nimport { Head } from \"astro-capo\";\nimport { ViewTransitions } from \"astro:transitions\";\n---\n\n\n\n\t\n\t\t\n\n\t\t\n\t\t{Title}\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\t\t\n\t\t\n\t\t\n\n\t\t\n\n\t\t\n\t\t\n\t\n\t\n\t\t

\n\t\t\t\n\t\t
\n\t\t\n\t\n\n","---\nimport Base from \"@Layout/Base.astro\";\n---\n\n\n"],"names":["$$createComponent","Astro","$$Astro","$$render","$$addAttribute","$$renderScript","$$createAstro","$$renderComponent","$$result","ViewTransitions","$$maybeRenderHead","$$renderSlot","Base"],"mappings":"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","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/index.html b/Target/index.html new file mode 100644 index 00000000..363ca68a --- /dev/null +++ b/Target/index.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/Target/manifest_BAqSMC3n.mjs.map b/Target/manifest_BAqSMC3n.mjs.map new file mode 100644 index 00000000..b2233bf7 --- /dev/null +++ b/Target/manifest_BAqSMC3n.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"manifest_BAqSMC3n.mjs","sources":["../../../../../node_modules/astro/dist/core/logger/core.js","../../../../../node_modules/astro/dist/core/routing/manifest/generator.js","../../../../../node_modules/astro/dist/core/routing/manifest/serialization.js","../../../../../node_modules/astro/dist/core/app/common.js"],"sourcesContent":["import { blue, bold, dim, red, yellow } from \"kleur/colors\";\nimport stringWidth from \"string-width\";\nconst dateTimeFormat = new Intl.DateTimeFormat([], {\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n hour12: false\n});\nconst levels = {\n debug: 20,\n info: 30,\n warn: 40,\n error: 50,\n silent: 90\n};\nfunction log(opts, level, label, message, newLine = true) {\n const logLevel = opts.level;\n const dest = opts.dest;\n const event = {\n label,\n level,\n message,\n newLine\n };\n if (!isLogLevelEnabled(logLevel, level)) {\n return;\n }\n dest.write(event);\n}\nfunction isLogLevelEnabled(configuredLogLevel, level) {\n return levels[configuredLogLevel] <= levels[level];\n}\nfunction info(opts, label, message, newLine = true) {\n return log(opts, \"info\", label, message, newLine);\n}\nfunction warn(opts, label, message, newLine = true) {\n return log(opts, \"warn\", label, message, newLine);\n}\nfunction error(opts, label, message, newLine = true) {\n return log(opts, \"error\", label, message, newLine);\n}\nfunction table(opts, columns) {\n return function logTable(logFn, ...input) {\n const message = columns.map((len, i) => padStr(input[i].toString(), len)).join(\" \");\n logFn(opts, null, message);\n };\n}\nfunction debug(...args) {\n if (\"_astroGlobalDebug\" in globalThis) {\n globalThis._astroGlobalDebug(...args);\n }\n}\nfunction padStr(str, len) {\n const strLen = stringWidth(str);\n if (strLen > len) {\n return str.substring(0, len - 3) + \"...\";\n }\n const spaces = Array.from({ length: len - strLen }, () => \" \").join(\"\");\n return str + spaces;\n}\nfunction getEventPrefix({ level, label }) {\n const timestamp = `${dateTimeFormat.format(/* @__PURE__ */ new Date())}`;\n const prefix = [];\n if (level === \"error\" || level === \"warn\") {\n prefix.push(bold(timestamp));\n prefix.push(`[${level.toUpperCase()}]`);\n } else {\n prefix.push(timestamp);\n }\n if (label) {\n prefix.push(`[${label}]`);\n }\n if (level === \"error\") {\n return red(prefix.join(\" \"));\n }\n if (level === \"warn\") {\n return yellow(prefix.join(\" \"));\n }\n if (prefix.length === 1) {\n return dim(prefix[0]);\n }\n return dim(prefix[0]) + \" \" + blue(prefix.splice(1).join(\" \"));\n}\nlet defaultLogLevel;\nif (typeof process !== \"undefined\") {\n let proc = process;\n if (\"argv\" in proc && Array.isArray(proc.argv)) {\n if (proc.argv.includes(\"--verbose\")) {\n defaultLogLevel = \"debug\";\n } else if (proc.argv.includes(\"--silent\")) {\n defaultLogLevel = \"silent\";\n } else {\n defaultLogLevel = \"info\";\n }\n } else {\n defaultLogLevel = \"info\";\n }\n} else {\n defaultLogLevel = \"info\";\n}\nfunction timerMessage(message, startTime = Date.now()) {\n let timeDiff = Date.now() - startTime;\n let timeDisplay = timeDiff < 750 ? `${Math.round(timeDiff)}ms` : `${(timeDiff / 1e3).toFixed(1)}s`;\n return `${message} ${dim(timeDisplay)}`;\n}\nclass Logger {\n options;\n constructor(options) {\n this.options = options;\n }\n info(label, message, newLine = true) {\n info(this.options, label, message, newLine);\n }\n warn(label, message, newLine = true) {\n warn(this.options, label, message, newLine);\n }\n error(label, message, newLine = true) {\n error(this.options, label, message, newLine);\n }\n debug(label, ...messages) {\n debug(label, ...messages);\n }\n level() {\n return this.options.level;\n }\n forkIntegrationLogger(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n}\nclass AstroIntegrationLogger {\n options;\n label;\n constructor(logging, label) {\n this.options = logging;\n this.label = label;\n }\n /**\n * Creates a new logger instance with a new label, but the same log options.\n */\n fork(label) {\n return new AstroIntegrationLogger(this.options, label);\n }\n info(message) {\n info(this.options, this.label, message);\n }\n warn(message) {\n warn(this.options, this.label, message);\n }\n error(message) {\n error(this.options, this.label, message);\n }\n debug(message) {\n debug(this.label, message);\n }\n}\nexport {\n AstroIntegrationLogger,\n Logger,\n dateTimeFormat,\n debug,\n defaultLogLevel,\n error,\n getEventPrefix,\n info,\n isLogLevelEnabled,\n levels,\n log,\n table,\n timerMessage,\n warn\n};\n","import { compile } from \"path-to-regexp\";\nfunction sanitizeParams(params) {\n return Object.fromEntries(\n Object.entries(params).map(([key, value]) => {\n if (typeof value === \"string\") {\n return [key, value.normalize().replace(/#/g, \"%23\").replace(/\\?/g, \"%3F\")];\n }\n return [key, value];\n })\n );\n}\nfunction getRouteGenerator(segments, addTrailingSlash) {\n const template = segments.map((segment) => {\n return \"/\" + segment.map((part) => {\n if (part.spread) {\n return `:${part.content.slice(3)}(.*)?`;\n } else if (part.dynamic) {\n return `:${part.content}`;\n } else {\n return part.content.normalize().replace(/\\?/g, \"%3F\").replace(/#/g, \"%23\").replace(/%5B/g, \"[\").replace(/%5D/g, \"]\").replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n }\n }).join(\"\");\n }).join(\"\");\n let trailing = \"\";\n if (addTrailingSlash === \"always\" && segments.length) {\n trailing = \"/\";\n }\n const toPath = compile(template + trailing);\n return (params) => {\n const sanitizedParams = sanitizeParams(params);\n const path = toPath(sanitizedParams);\n return path || \"/\";\n };\n}\nexport {\n getRouteGenerator\n};\n","import { getRouteGenerator } from \"./generator.js\";\nfunction serializeRouteData(routeData, trailingSlash) {\n return {\n ...routeData,\n generate: void 0,\n pattern: routeData.pattern.source,\n redirectRoute: routeData.redirectRoute ? serializeRouteData(routeData.redirectRoute, trailingSlash) : void 0,\n fallbackRoutes: routeData.fallbackRoutes.map((fallbackRoute) => {\n return serializeRouteData(fallbackRoute, trailingSlash);\n }),\n _meta: { trailingSlash }\n };\n}\nfunction deserializeRouteData(rawRouteData) {\n return {\n route: rawRouteData.route,\n type: rawRouteData.type,\n pattern: new RegExp(rawRouteData.pattern),\n params: rawRouteData.params,\n component: rawRouteData.component,\n generate: getRouteGenerator(rawRouteData.segments, rawRouteData._meta.trailingSlash),\n pathname: rawRouteData.pathname || void 0,\n segments: rawRouteData.segments,\n prerender: rawRouteData.prerender,\n redirect: rawRouteData.redirect,\n redirectRoute: rawRouteData.redirectRoute ? deserializeRouteData(rawRouteData.redirectRoute) : void 0,\n fallbackRoutes: rawRouteData.fallbackRoutes.map((fallback) => {\n return deserializeRouteData(fallback);\n }),\n isIndex: rawRouteData.isIndex\n };\n}\nexport {\n deserializeRouteData,\n serializeRouteData\n};\n","import { deserializeRouteData } from \"../routing/manifest/serialization.js\";\nfunction deserializeManifest(serializedManifest) {\n const routes = [];\n for (const serializedRoute of serializedManifest.routes) {\n routes.push({\n ...serializedRoute,\n routeData: deserializeRouteData(serializedRoute.routeData)\n });\n const route = serializedRoute;\n route.routeData = deserializeRouteData(serializedRoute.routeData);\n }\n const assets = new Set(serializedManifest.assets);\n const componentMetadata = new Map(serializedManifest.componentMetadata);\n const inlinedScripts = new Map(serializedManifest.inlinedScripts);\n const clientDirectives = new Map(serializedManifest.clientDirectives);\n return {\n // in case user middleware exists, this no-op middleware will be reassigned (see plugin-ssr.ts)\n middleware(_, next) {\n return next();\n },\n ...serializedManifest,\n assets,\n componentMetadata,\n inlinedScripts,\n clientDirectives,\n routes\n };\n}\nexport {\n deserializeManifest\n};\n"],"names":[],"mappings":";;;;;;;;AAoFA,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;AACpC,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC;AACrB,EAAE,IAAI,MAAM,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAClD,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAEpC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAE1C,MAAM,CAEN;AACL,GAEG;AACH;;AChGA,SAAS,cAAc,CAAC,MAAM,EAAE;AAChC,EAAE,OAAO,MAAM,CAAC,WAAW;AAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK;AACjD,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACrC,QAAQ,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AACnF,OAAO;AACP,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC1B,KAAK,CAAC;AACN,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,EAAE;AACvD,EAAE,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK;AAC7C,IAAI,OAAO,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK;AACvC,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE;AACvB,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChD,OAAO,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;AAC/B,QAAQ,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAClC,OAAO,MAAM;AACb,QAAQ,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACpK,OAAO;AACP,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChB,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;AACpB,EAAE,IAAI,gBAAgB,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,EAAE;AACxD,IAAI,QAAQ,GAAG,GAAG,CAAC;AACnB,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC;AAC9C,EAAE,OAAO,CAAC,MAAM,KAAK;AACrB,IAAI,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AACnD,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AACzC,IAAI,OAAO,IAAI,IAAI,GAAG,CAAC;AACvB,GAAG,CAAC;AACJ;;ACpBA,SAAS,oBAAoB,CAAC,YAAY,EAAE;AAC5C,EAAE,OAAO;AACT,IAAI,KAAK,EAAE,YAAY,CAAC,KAAK;AAC7B,IAAI,IAAI,EAAE,YAAY,CAAC,IAAI;AAC3B,IAAI,OAAO,EAAE,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;AAC7C,IAAI,MAAM,EAAE,YAAY,CAAC,MAAM;AAC/B,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,iBAAiB,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC;AACxF,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ,IAAI,KAAK,CAAC;AAC7C,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,SAAS,EAAE,YAAY,CAAC,SAAS;AACrC,IAAI,QAAQ,EAAE,YAAY,CAAC,QAAQ;AACnC,IAAI,aAAa,EAAE,YAAY,CAAC,aAAa,GAAG,oBAAoB,CAAC,YAAY,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AACzG,IAAI,cAAc,EAAE,YAAY,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK;AAClE,MAAM,OAAO,oBAAoB,CAAC,QAAQ,CAAC,CAAC;AAC5C,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,YAAY,CAAC,OAAO;AACjC,GAAG,CAAC;AACJ;;AC9BA,SAAS,mBAAmB,CAAC,kBAAkB,EAAE;AACjD,EAAE,MAAM,MAAM,GAAG,EAAE,CAAC;AACpB,EAAE,KAAK,MAAM,eAAe,IAAI,kBAAkB,CAAC,MAAM,EAAE;AAC3D,IAAI,MAAM,CAAC,IAAI,CAAC;AAChB,MAAM,GAAG,eAAe;AACxB,MAAM,SAAS,EAAE,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC;AAChE,KAAK,CAAC,CAAC;AACP,IAAI,MAAM,KAAK,GAAG,eAAe,CAAC;AAClC,IAAI,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AACtE,GAAG;AACH,EAAE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACpD,EAAE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;AAC1E,EAAE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;AACpE,EAAE,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;AACxE,EAAE,OAAO;AACT;AACA,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE;AACxB,MAAM,OAAO,IAAI,EAAE,CAAC;AACpB,KAAK;AACL,IAAI,GAAG,kBAAkB;AACzB,IAAI,MAAM;AACV,IAAI,iBAAiB;AACrB,IAAI,cAAc;AAClB,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,GAAG,CAAC;AACJ;;;;;;","x_google_ignoreList":[0,1,2,3]} \ No newline at end of file diff --git a/Target/pages/index.astro.mjs.map b/Target/pages/index.astro.mjs.map new file mode 100644 index 00000000..f3124a63 --- /dev/null +++ b/Target/pages/index.astro.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"index.astro.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"} \ No newline at end of file diff --git a/Target/renderers.mjs.map b/Target/renderers.mjs.map new file mode 100644 index 00000000..faecfe64 --- /dev/null +++ b/Target/renderers.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"renderers.mjs","sources":["../../../../../node_modules/@astrojs/solid-js/dist/context.js","../../../../../node_modules/@astrojs/solid-js/dist/server.js"],"sourcesContent":["const contexts = /* @__PURE__ */ new WeakMap();\nfunction getContext(result) {\n if (contexts.has(result)) {\n return contexts.get(result);\n }\n let ctx = {\n c: 0,\n get id() {\n return \"s\" + this.c.toString();\n }\n };\n contexts.set(result, ctx);\n return ctx;\n}\nfunction incrementId(ctx) {\n let id = ctx.id;\n ctx.c++;\n return id;\n}\nexport {\n getContext,\n incrementId\n};\n","import {\n NoHydration,\n Suspense,\n createComponent,\n generateHydrationScript,\n renderToString,\n renderToStringAsync,\n ssr\n} from \"solid-js/web\";\nimport { getContext, incrementId } from \"./context.js\";\nconst slotName = (str) => str.trim().replace(/[-_]([a-z])/g, (_, w) => w.toUpperCase());\nasync function check(Component, props, children) {\n if (typeof Component !== \"function\") return false;\n if (Component.name === \"QwikComponent\") return false;\n const { html } = await renderToStaticMarkup.call(this, Component, props, children, {\n // The purpose of check() is just to validate that this is a Solid component and not\n // React, etc. We should render in sync mode which should skip Suspense boundaries\n // or loading resources like external API calls.\n renderStrategy: \"sync\"\n });\n return typeof html === \"string\";\n}\nasync function renderToStaticMarkup(Component, props, { default: children, ...slotted }, metadata) {\n const ctx = getContext(this.result);\n const renderId = metadata?.hydrate ? incrementId(ctx) : \"\";\n const needsHydrate = metadata?.astroStaticSlot ? !!metadata.hydrate : true;\n const tagName = needsHydrate ? \"astro-slot\" : \"astro-static-slot\";\n const renderStrategy = metadata?.renderStrategy ?? \"async\";\n const renderFn = () => {\n const slots = {};\n for (const [key, value] of Object.entries(slotted)) {\n const name = slotName(key);\n slots[name] = ssr(`<${tagName} name=\"${name}\">${value}`);\n }\n const newProps = {\n ...props,\n ...slots,\n // In Solid SSR mode, `ssr` creates the expected structure for `children`.\n children: children != null ? ssr(`<${tagName}>${children}`) : children\n };\n if (renderStrategy === \"sync\") {\n return createComponent(Component, newProps);\n } else {\n if (needsHydrate) {\n return createComponent(Suspense, {\n get children() {\n return createComponent(Component, newProps);\n }\n });\n } else {\n return createComponent(NoHydration, {\n get children() {\n return createComponent(Suspense, {\n get children() {\n return createComponent(Component, newProps);\n }\n });\n }\n });\n }\n }\n };\n const componentHtml = renderStrategy === \"async\" ? await renderToStringAsync(renderFn, {\n renderId,\n // New setting since Solid 1.8.4 that fixes an errant hydration event appearing in\n // server only components. Not available in TypeScript types yet.\n // https://github.com/solidjs/solid/issues/1931\n // https://github.com/ryansolid/dom-expressions/commit/e09e255ac725fd59195aa0f3918065d4bd974e6b\n ...{ noScripts: !needsHydrate }\n }) : renderToString(renderFn, { renderId });\n return {\n attrs: {\n \"data-solid-render-id\": renderId\n },\n html: componentHtml\n };\n}\nconst renderer = {\n name: \"@astrojs/solid\",\n check,\n renderToStaticMarkup,\n supportsAstroStaticSlot: true,\n renderHydrationScript: () => generateHydrationScript()\n};\nvar server_default = renderer;\nexport {\n server_default as default\n};\n"],"names":[],"mappings":"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","x_google_ignoreList":[0,1]} \ No newline at end of file diff --git a/Target/robots.txt b/Target/robots.txt new file mode 100644 index 00000000..eb053628 --- /dev/null +++ b/Target/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/Target/site.webmanifest b/Target/site.webmanifest new file mode 100644 index 00000000..e3a593da --- /dev/null +++ b/Target/site.webmanifest @@ -0,0 +1,10 @@ +{ + "background_color": "// TODO Set the background color of the app", + "categories": [], + "display": "minimal-ui", + "name": "// TODO Use the same title as in template.html", + "orientation": "landscape", + "short_name": "// TODO Title but lowercase", + "start_url": "/", + "theme_color": "// TODO Use the same theme color from template.html" +} diff --git a/package.json b/package.json index aae608bd..0f6b8d1f 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "@playform/inline": "0.0.7", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/forms": "0.5.7", + "@tailwindcss/postcss": "4.0.0-alpha.17", "@tailwindcss/typography": "0.5.13", "astro": "*", "astro-capo": "0.0.1", @@ -52,11 +53,12 @@ "postcss-reporter": "7.1.0", "postcss-url": "10.1.3", "solid-js": "1.8.18", - "tailwindcss": "3.4.6", - "typescript": "5.5.3", - "zod": "3.23.8" + "tailwindcss": "*", + "typescript": "5.6.0-dev.20240721", + "zod": "4.0.0-beta.1" }, "publishConfig": { + "provenance": true, "access": "public" } } diff --git a/postcss.config.js b/postcss.config.js index 569db63d..e79a8aea 100644 --- a/postcss.config.js +++ b/postcss.config.js @@ -3,8 +3,7 @@ module.exports = { plugins: [ require("postcss-import"), require("postcss-url"), - require("tailwindcss/nesting"), - require("tailwindcss")("./tailwind.config.js"), + require("@tailwindcss/postcss")("./tailwind.config.js"), require("postcss-combine-media-query"), require("postcss-combine-duplicated-selectors")({ removeDuplicatedProperties: true,