quiz-mcp 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/_app/immutable/chunks/BCs3MiOV.js +3 -0
- package/dist/client/_app/immutable/chunks/BCs3MiOV.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BCs3MiOV.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/{C12jez52.js → BiUDuxdv.js} +1 -1
- package/dist/client/_app/immutable/chunks/BiUDuxdv.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BiUDuxdv.js.gz +0 -0
- package/dist/client/_app/immutable/entry/{app.BKlqc9Ov.js → app.bYAeQTs6.js} +2 -2
- package/dist/client/_app/immutable/entry/app.bYAeQTs6.js.br +0 -0
- package/dist/client/_app/immutable/entry/app.bYAeQTs6.js.gz +0 -0
- package/dist/client/_app/immutable/entry/start.Cmx5TBy8.js +1 -0
- package/dist/client/_app/immutable/entry/start.Cmx5TBy8.js.br +2 -0
- package/dist/client/_app/immutable/entry/start.Cmx5TBy8.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/{0.B29QW3gO.js → 0.dFwzZb2p.js} +1 -1
- package/dist/client/_app/immutable/nodes/0.dFwzZb2p.js.br +0 -0
- package/dist/client/_app/immutable/nodes/0.dFwzZb2p.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/{1.D4qkuJBA.js → 1.B4bc-Osb.js} +1 -1
- package/dist/client/_app/immutable/nodes/1.B4bc-Osb.js.br +0 -0
- package/dist/client/_app/immutable/nodes/1.B4bc-Osb.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/{4.DxNxvh2P.js → 4.Cn3HnTfP.js} +1 -1
- package/dist/client/_app/immutable/nodes/4.Cn3HnTfP.js.br +0 -0
- package/dist/client/_app/immutable/nodes/4.Cn3HnTfP.js.gz +0 -0
- package/dist/client/_app/version.json +1 -1
- package/dist/client/_app/version.json.br +0 -0
- package/dist/client/_app/version.json.gz +0 -0
- package/dist/server/chunks/{0-DMbzliU5.js → 0-DV3MS3Jq.js} +2 -2
- package/dist/server/chunks/{0-DMbzliU5.js.map → 0-DV3MS3Jq.js.map} +1 -1
- package/dist/server/chunks/{1-BPgly3Wz.js → 1-D5q3RfmV.js} +2 -2
- package/dist/server/chunks/{1-BPgly3Wz.js.map → 1-D5q3RfmV.js.map} +1 -1
- package/dist/server/chunks/{4-B6xeTrA4.js → 4-BszN7YH6.js} +2 -2
- package/dist/server/chunks/{4-B6xeTrA4.js.map → 4-BszN7YH6.js.map} +1 -1
- package/dist/server/index.js +1 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/manifest.js +4 -4
- package/dist/server/manifest.js.map +1 -1
- package/package.json +9 -12
- package/bin/quiz +0 -16
- package/bin/quiz-runner +0 -18
- package/bin/quiz-runner-mcp +0 -18
- package/dist/client/_app/immutable/chunks/BrxBJB61.js +0 -3
- package/dist/client/_app/immutable/chunks/BrxBJB61.js.br +0 -0
- package/dist/client/_app/immutable/chunks/BrxBJB61.js.gz +0 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js.br +0 -0
- package/dist/client/_app/immutable/chunks/C12jez52.js.gz +0 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js.br +0 -0
- package/dist/client/_app/immutable/entry/app.BKlqc9Ov.js.gz +0 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js +0 -1
- package/dist/client/_app/immutable/entry/start.PX539qph.js.br +0 -0
- package/dist/client/_app/immutable/entry/start.PX539qph.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js.br +0 -0
- package/dist/client/_app/immutable/nodes/0.B29QW3gO.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js.br +0 -0
- package/dist/client/_app/immutable/nodes/1.D4qkuJBA.js.gz +0 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js.br +0 -0
- package/dist/client/_app/immutable/nodes/4.DxNxvh2P.js.gz +0 -0
package/dist/server/manifest.js
CHANGED
|
@@ -10,13 +10,13 @@ return {
|
|
|
10
10
|
assets: new Set(["robots.txt"]),
|
|
11
11
|
mimeTypes: {".txt":"text/plain"},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.Cmx5TBy8.js",app:"_app/immutable/entry/app.bYAeQTs6.js",imports:["_app/immutable/entry/start.Cmx5TBy8.js","_app/immutable/chunks/BCs3MiOV.js","_app/immutable/chunks/DnSqigra.js","_app/immutable/entry/app.bYAeQTs6.js","_app/immutable/chunks/C9b1VZtB.js","_app/immutable/chunks/DnSqigra.js","_app/immutable/chunks/BBbVH-DX.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
|
-
__memo(() => import('./chunks/0-
|
|
16
|
-
__memo(() => import('./chunks/1-
|
|
15
|
+
__memo(() => import('./chunks/0-DV3MS3Jq.js')),
|
|
16
|
+
__memo(() => import('./chunks/1-D5q3RfmV.js')),
|
|
17
17
|
__memo(() => import('./chunks/2-NzZFDUaQ.js')),
|
|
18
18
|
__memo(() => import('./chunks/3-mMAf4OfT.js')),
|
|
19
|
-
__memo(() => import('./chunks/4-
|
|
19
|
+
__memo(() => import('./chunks/4-BszN7YH6.js'))
|
|
20
20
|
],
|
|
21
21
|
remotes: {
|
|
22
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"robots.txt\"]),\n\tmimeTypes: {\".txt\":\"text/plain\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.Cmx5TBy8.js\",app:\"_app/immutable/entry/app.bYAeQTs6.js\",imports:[\"_app/immutable/entry/start.Cmx5TBy8.js\",\"_app/immutable/chunks/BCs3MiOV.js\",\"_app/immutable/chunks/DnSqigra.js\",\"_app/immutable/entry/app.bYAeQTs6.js\",\"_app/immutable/chunks/C9b1VZtB.js\",\"_app/immutable/chunks/DnSqigra.js\",\"_app/immutable/chunks/BBbVH-DX.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]/cancel\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/cancel\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/cancel/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]/status\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/status\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/status/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/api/quiz/[quizId]/session/[sessionId]/submit\",\n\t\t\t\tpattern: /^\\/api\\/quiz\\/([^/]+?)\\/session\\/([^/]+?)\\/submit\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/api/quiz/_quizId_/session/_sessionId_/submit/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/[quizId]/[sessionId]\",\n\t\t\t\tpattern: /^\\/([^/]+?)\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/[quizId]/[sessionId]/expired\",\n\t\t\t\tpattern: /^\\/([^/]+?)\\/([^/]+?)\\/expired\\/?$/,\n\t\t\t\tparams: [{\"name\":\"quizId\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"sessionId\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "quiz-mcp",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "MCP server for interactive quizzes with a polished web UI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
7
|
-
"quiz": "./bin/quiz"
|
|
8
|
-
"quiz-mcp": "./bin/quiz-mcp",
|
|
9
|
-
"quiz-runner": "./bin/quiz-runner",
|
|
10
|
-
"quiz-runner-mcp": "./bin/quiz-runner-mcp"
|
|
7
|
+
"quiz-mcp": "./bin/quiz-mcp"
|
|
11
8
|
},
|
|
12
9
|
"main": "./dist/index.js",
|
|
13
10
|
"module": "./dist/index.js",
|
|
@@ -38,13 +35,13 @@
|
|
|
38
35
|
"format": "prettier --write .",
|
|
39
36
|
"storybook": "storybook dev -p 6006",
|
|
40
37
|
"build-storybook": "storybook build",
|
|
41
|
-
"quiz": "./bin/quiz",
|
|
42
|
-
"quiz:run": "./bin/quiz run",
|
|
43
|
-
"quiz:mcp": "./bin/quiz mcp",
|
|
44
|
-
"quiz:js": "./bin/quiz run --file .quizes/javascript-fundamentals.json --port 3030 --open --config config.example.json",
|
|
45
|
-
"quiz:web": "./bin/quiz run --file .quizes/web-development.json --port 3012",
|
|
46
|
-
"quiz:mcp:js": "./bin/quiz mcp --port 3013",
|
|
47
|
-
"quiz:mcp:web": "./bin/quiz mcp --port 3014",
|
|
38
|
+
"quiz": "./bin/quiz-mcp",
|
|
39
|
+
"quiz:run": "./bin/quiz-mcp run",
|
|
40
|
+
"quiz:mcp": "./bin/quiz-mcp mcp",
|
|
41
|
+
"quiz:js": "./bin/quiz-mcp run --file .quizes/javascript-fundamentals.json --port 3030 --open --config config.example.json",
|
|
42
|
+
"quiz:web": "./bin/quiz-mcp run --file .quizes/web-development.json --port 3012",
|
|
43
|
+
"quiz:mcp:js": "./bin/quiz-mcp mcp --port 3013",
|
|
44
|
+
"quiz:mcp:web": "./bin/quiz-mcp mcp --port 3014",
|
|
48
45
|
"prepublishOnly": "pnpm build",
|
|
49
46
|
"postpublish": "echo 'Published quiz-mcp successfully!'"
|
|
50
47
|
},
|
package/bin/quiz
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Quiz MCP - Unified CLI
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { dirname, join } from 'node:path';
|
|
7
|
-
import { fileURLToPath } from 'node:url';
|
|
8
|
-
|
|
9
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
const cliPath = join(__dirname, '..', 'dist', 'cli.js');
|
|
11
|
-
|
|
12
|
-
const { main } = await import(cliPath);
|
|
13
|
-
main(process.argv).catch((err) => {
|
|
14
|
-
console.error('Unhandled error:', err);
|
|
15
|
-
process.exit(1);
|
|
16
|
-
});
|
package/bin/quiz-runner
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Quiz MCP - Runner CLI (Legacy Alias)
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { dirname, join } from 'node:path';
|
|
7
|
-
import { fileURLToPath } from 'node:url';
|
|
8
|
-
|
|
9
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
const cliPath = join(__dirname, '..', 'dist', 'cli.js');
|
|
11
|
-
|
|
12
|
-
const { main } = await import(cliPath);
|
|
13
|
-
|
|
14
|
-
const newArgv = [process.argv[0], 'run', ...process.argv.slice(1)];
|
|
15
|
-
main(newArgv).catch((err) => {
|
|
16
|
-
console.error('Unhandled error:', err);
|
|
17
|
-
process.exit(1);
|
|
18
|
-
});
|
package/bin/quiz-runner-mcp
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* Quiz MCP - MCP Server CLI (Legacy Alias)
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
import { dirname, join } from 'node:path';
|
|
7
|
-
import { fileURLToPath } from 'node:url';
|
|
8
|
-
|
|
9
|
-
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
|
-
const cliPath = join(__dirname, '..', 'dist', 'cli.js');
|
|
11
|
-
|
|
12
|
-
const { main } = await import(cliPath);
|
|
13
|
-
|
|
14
|
-
const newArgv = [process.argv[0], 'mcp', ...process.argv.slice(1)];
|
|
15
|
-
main(newArgv).catch((err) => {
|
|
16
|
-
console.error('Unhandled error:', err);
|
|
17
|
-
process.exit(1);
|
|
18
|
-
});
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a8 as we,aY as wt,a6 as Fe,a4 as O,g as x,a5 as N,ar as ne,aZ as yt}from"./DnSqigra.js";const V=[];function Ie(e,t=we){let n=null;const r=new Set;function a(c){if(wt(e,c)&&(e=c,n)){const i=!V.length;for(const l of r)l[1](),V.push(l,e);if(i){for(let l=0;l<V.length;l+=2)V[l][0](V[l+1]);V.length=0}}}function s(c){a(c(e))}function o(c,i=we){const l=[c,i];return r.add(l),r.size===1&&(n=t(a,s)||we),c(e),()=>{r.delete(l),r.size===0&&n&&(n(),n=null)}}return{set:a,update:s,subscribe:o}}class ue{constructor(t,n){this.status=t,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${t}`}}toString(){return JSON.stringify(this.body)}}class Ue{constructor(t,n){this.status=t,this.location=n}}class Le extends Error{constructor(t,n,r){super(r),this.status=t,this.text=n}}new URL("sveltekit-internal://");function vt(e,t){return e==="/"||t==="ignore"?e:t==="never"?e.endsWith("/")?e.slice(0,-1):e:t==="always"&&!e.endsWith("/")?e+"/":e}function bt(e){return e.split("%25").map(decodeURI).join("%25")}function kt(e){for(const t in e)e[t]=decodeURIComponent(e[t]);return e}function ye({href:e}){return e.split("#")[0]}function Et(...e){let t=5381;for(const n of e)if(typeof n=="string"){let r=n.length;for(;r;)t=t*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)t=t*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(t>>>0).toString(36)}new TextEncoder;const St=new TextDecoder;function At(e){const t=atob(e),n=new Uint8Array(t.length);for(let r=0;r<t.length;r++)n[r]=t.charCodeAt(r);return n}const Rt=window.fetch;window.fetch=(e,t)=>((e instanceof Request?e.method:t?.method||"GET")!=="GET"&&W.delete(Ce(e)),Rt(e,t));const W=new Map;function Tt(e,t){const n=Ce(e,t),r=document.querySelector(n);if(r?.textContent){r.remove();let{body:a,...s}=JSON.parse(r.textContent);const o=r.getAttribute("data-ttl");return o&&W.set(n,{body:a,init:s,ttl:1e3*Number(o)}),r.getAttribute("data-b64")!==null&&(a=At(a)),Promise.resolve(new Response(a,s))}return window.fetch(e,t)}function It(e,t,n){if(W.size>0){const r=Ce(e,n),a=W.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n?.cache))return new Response(a.body,a.init);W.delete(r)}}return window.fetch(t,n)}function Ce(e,t){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(t?.headers||t?.body){const a=[];t.headers&&a.push([...new Headers(t.headers)].join(",")),t.body&&(typeof t.body=="string"||ArrayBuffer.isView(t.body))&&a.push(t.body),r+=`[data-hash="${Et(...a)}"]`}return r}const Ut=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Lt(e){const t=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Pt(e).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return t.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/([^]*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return t.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const o=r.split(/\[(.+?)\](?!\])/);return"/"+o.map((i,l)=>{if(l%2){if(i.startsWith("x+"))return ve(String.fromCharCode(parseInt(i.slice(2),16)));if(i.startsWith("u+"))return ve(String.fromCharCode(...i.slice(2).split("-").map(w=>parseInt(w,16))));const d=Ut.exec(i),[,h,p,u,f]=d;return t.push({name:u,matcher:f,optional:!!h,rest:!!p,chained:p?l===1&&o[0]==="":!1}),p?"([^]*?)":h?"([^/]*)?":"([^/]+?)"}return ve(i)}).join("")}).join("")}/?$`),params:t}}function Ct(e){return e!==""&&!/^\([^)]+\)$/.test(e)}function Pt(e){return e.slice(1).split("/").filter(Ct)}function Ot(e,t,n){const r={},a=e.slice(1),s=a.filter(c=>c!==void 0);let o=0;for(let c=0;c<t.length;c+=1){const i=t[c];let l=a[c-o];if(i.chained&&i.rest&&o&&(l=a.slice(c-o,c+1).filter(d=>d).join("/"),o=0),l===void 0){i.rest&&(r[i.name]="");continue}if(!i.matcher||n[i.matcher](l)){r[i.name]=l;const d=t[c+1],h=a[c+1];d&&!d.rest&&d.optional&&h&&i.chained&&(o=0),!d&&!h&&Object.keys(r).length===s.length&&(o=0);continue}if(i.optional&&i.chained){o++;continue}return}if(!o)return r}function ve(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function xt({nodes:e,server_loads:t,dictionary:n,matchers:r}){const a=new Set(t);return Object.entries(n).map(([c,[i,l,d]])=>{const{pattern:h,params:p}=Lt(c),u={id:c,exec:f=>{const w=h.exec(f);if(w)return Ot(w,p,r)},errors:[1,...d||[]].map(f=>e[f]),layouts:[0,...l||[]].map(o),leaf:s(i)};return u.errors.length=u.layouts.length=Math.max(u.errors.length,u.layouts.length),u});function s(c){const i=c<0;return i&&(c=~c),[i,e[c]]}function o(c){return c===void 0?c:[a.has(c),e[c]]}}function Je(e,t=JSON.parse){try{return t(sessionStorage[e])}catch{}}function Ve(e,t,n=JSON.stringify){const r=n(t);try{sessionStorage[e]=r}catch{}}const U=globalThis.__sveltekit_mmm6za?.base??"",Nt=globalThis.__sveltekit_mmm6za?.assets??U??"",jt="1769283562471",Xe="sveltekit:snapshot",Ze="sveltekit:scroll",Qe="sveltekit:states",$t="sveltekit:pageurl",M="sveltekit:history",X="sveltekit:navigation",D={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},de=location.origin;function et(e){if(e instanceof URL)return e;let t=document.baseURI;if(!t){const n=document.getElementsByTagName("base");t=n.length?n[0].href:document.URL}return new URL(e,t)}function he(){return{x:pageXOffset,y:pageYOffset}}function q(e,t){return e.getAttribute(`data-sveltekit-${t}`)}const qe={...D,"":D.hover};function tt(e){let t=e.assignedSlot??e.parentNode;return t?.nodeType===11&&(t=t.host),t}function nt(e,t){for(;e&&e!==t;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=tt(e)}}function Ee(e,t,n){let r;try{if(r=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const c=location.hash.split("#")[1]||"/";r.hash=`#${c}${r.hash}`}}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,s=!r||!!a||pe(r,t,n)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),o=r?.origin===de&&e.hasAttribute("download");return{url:r,external:s,target:a,download:o}}function re(e){let t=null,n=null,r=null,a=null,s=null,o=null,c=e;for(;c&&c!==document.documentElement;)r===null&&(r=q(c,"preload-code")),a===null&&(a=q(c,"preload-data")),t===null&&(t=q(c,"keepfocus")),n===null&&(n=q(c,"noscroll")),s===null&&(s=q(c,"reload")),o===null&&(o=q(c,"replacestate")),c=tt(c);function i(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:qe[r??"off"],preload_data:qe[a??"off"],keepfocus:i(t),noscroll:i(n),reload:i(s),replace_state:i(o)}}function Me(e){const t=Ie(e);let n=!0;function r(){n=!0,t.update(o=>o)}function a(o){n=!1,t.set(o)}function s(o){let c;return t.subscribe(i=>{(c===void 0||n&&i!==c)&&o(c=i)})}return{notify:r,set:a,subscribe:s}}const rt={v:()=>{}};function Dt(){const{set:e,subscribe:t}=Ie(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Nt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==jt;return o&&(e(!0),rt.v(),clearTimeout(n)),o}catch{return!1}}return{subscribe:t,check:r}}function pe(e,t,n){return e.origin!==de||!e.pathname.startsWith(t)?!0:n?e.pathname!==location.pathname:!1}function Sn(e){}function Bt(e){const t=Vt(e),n=new ArrayBuffer(t.length),r=new DataView(n);for(let a=0;a<n.byteLength;a++)r.setUint8(a,t.charCodeAt(a));return n}const Ft="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function Vt(e){e.length%4===0&&(e=e.replace(/==?$/,""));let t="",n=0,r=0;for(let a=0;a<e.length;a++)n<<=6,n|=Ft.indexOf(e[a]),r+=6,r===24&&(t+=String.fromCharCode((n&16711680)>>16),t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,t+=String.fromCharCode(n)):r===18&&(n>>=2,t+=String.fromCharCode((n&65280)>>8),t+=String.fromCharCode(n&255)),t}const qt=-1,Mt=-2,zt=-3,Yt=-4,Gt=-5,Kt=-6;function Wt(e,t){if(typeof e=="number")return s(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const n=e,r=Array(n.length);let a=null;function s(o,c=!1){if(o===qt)return;if(o===zt)return NaN;if(o===Yt)return 1/0;if(o===Gt)return-1/0;if(o===Kt)return-0;if(c||typeof o!="number")throw new Error("Invalid input");if(o in r)return r[o];const i=n[o];if(!i||typeof i!="object")r[o]=i;else if(Array.isArray(i))if(typeof i[0]=="string"){const l=i[0],d=t&&Object.hasOwn(t,l)?t[l]:void 0;if(d){let h=i[1];if(typeof h!="number"&&(h=n.push(i[1])-1),a??=new Set,a.has(h))throw new Error("Invalid circular reference");return a.add(h),r[o]=d(s(h)),a.delete(h),r[o]}switch(l){case"Date":r[o]=new Date(i[1]);break;case"Set":const h=new Set;r[o]=h;for(let f=1;f<i.length;f+=1)h.add(s(i[f]));break;case"Map":const p=new Map;r[o]=p;for(let f=1;f<i.length;f+=2)p.set(s(i[f]),s(i[f+1]));break;case"RegExp":r[o]=new RegExp(i[1],i[2]);break;case"Object":r[o]=Object(i[1]);break;case"BigInt":r[o]=BigInt(i[1]);break;case"null":const u=Object.create(null);r[o]=u;for(let f=1;f<i.length;f+=2)u[i[f]]=s(i[f+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{if(n[i[1]][0]!=="ArrayBuffer")throw new Error("Invalid data");const f=globalThis[l],w=s(i[1]),b=new f(w);r[o]=i[2]!==void 0?b.subarray(i[2],i[3]):b;break}case"ArrayBuffer":{const f=i[1];if(typeof f!="string")throw new Error("Invalid ArrayBuffer encoding");const w=Bt(f);r[o]=w;break}case"Temporal.Duration":case"Temporal.Instant":case"Temporal.PlainDate":case"Temporal.PlainTime":case"Temporal.PlainDateTime":case"Temporal.PlainMonthDay":case"Temporal.PlainYearMonth":case"Temporal.ZonedDateTime":{const f=l.slice(9);r[o]=Temporal[f].from(i[1]);break}case"URL":{const f=new URL(i[1]);r[o]=f;break}case"URLSearchParams":{const f=new URLSearchParams(i[1]);r[o]=f;break}default:throw new Error(`Unknown type ${l}`)}}else{const l=new Array(i.length);r[o]=l;for(let d=0;d<i.length;d+=1){const h=i[d];h!==Mt&&(l[d]=s(h))}}else{const l={};r[o]=l;for(const d in i){if(d==="__proto__")throw new Error("Cannot parse an object with a `__proto__` property");const h=i[d];l[d]=s(h)}}return r[o]}return s(0)}const at=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...at];const Ht=new Set([...at]);[...Ht];function Jt(e){return e.filter(t=>t!=null)}const Xt="x-sveltekit-invalidated",Zt="x-sveltekit-trailing-slash";function ae(e){return e instanceof ue||e instanceof Le?e.status:500}function Qt(e){return e instanceof Le?e.text:"Internal Error"}let R,Z,be;const en=Fe.toString().includes("$$")||/function \w+\(\) \{\}/.test(Fe.toString());en?(R={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},Z={current:null},be={current:!1}):(R=new class{#e=O({});get data(){return x(this.#e)}set data(t){N(this.#e,t)}#t=O(null);get form(){return x(this.#t)}set form(t){N(this.#t,t)}#n=O(null);get error(){return x(this.#n)}set error(t){N(this.#n,t)}#r=O({});get params(){return x(this.#r)}set params(t){N(this.#r,t)}#a=O({id:null});get route(){return x(this.#a)}set route(t){N(this.#a,t)}#o=O({});get state(){return x(this.#o)}set state(t){N(this.#o,t)}#s=O(-1);get status(){return x(this.#s)}set status(t){N(this.#s,t)}#i=O(new URL("https://example.com"));get url(){return x(this.#i)}set url(t){N(this.#i,t)}},Z=new class{#e=O(null);get current(){return x(this.#e)}set current(t){N(this.#e,t)}},be=new class{#e=O(!1);get current(){return x(this.#e)}set current(t){N(this.#e,t)}},rt.v=()=>be.current=!0);function tn(e){Object.assign(R,e)}const nn="/__data.json",rn=".html__data.json";function an(e){return e.endsWith(".html")?e.replace(/\.html$/,rn):e.replace(/\/$/,"")+nn}const on=new Set(["icon","shortcut icon","apple-touch-icon"]),F=Je(Ze)??{},Q=Je(Xe)??{},$={url:Me({}),page:Me({}),navigating:Ie(null),updated:Dt()};function Pe(e){F[e]=he()}function sn(e,t){let n=e+1;for(;F[n];)delete F[n],n+=1;for(n=t+1;Q[n];)delete Q[n],n+=1}function G(e,t=!1){return t?location.replace(e.href):location.href=e.href,new Promise(()=>{})}async function ot(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(U||"/");e&&await e.update()}}function ze(){}let Oe,Se,oe,j,Ae,E;const se=[],ie=[];let C=null;function Re(){C?.fork?.then(e=>e?.discard()),C=null}const te=new Map,st=new Set,cn=new Set,H=new Set;let _={branch:[],error:null,url:null},xe=!1,ce=!1,Ye=!0,ee=!1,K=!1,it=!1,Ne=!1,ct,A,I,B;const J=new Set,Ge=new Map;async function In(e,t,n){globalThis.__sveltekit_mmm6za?.data&&globalThis.__sveltekit_mmm6za.data,document.URL!==location.href&&(location.href=location.href),E=e,await e.hooks.init?.(),Oe=xt(e),j=document.documentElement,Ae=t,Se=e.nodes[0],oe=e.nodes[1],Se(),oe(),A=history.state?.[M],I=history.state?.[X],A||(A=I=Date.now(),history.replaceState({...history.state,[M]:A,[X]:I},""));const r=F[A];function a(){r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y))}n?(a(),await vn(Ae,n)):(await z({type:"enter",url:et(E.hash?kn(new URL(location.href)):location.href),replace_state:!0}),a()),yn()}function ln(){se.length=0,Ne=!1}function lt(e){ie.some(t=>t?.snapshot)&&(Q[e]=ie.map(t=>t?.snapshot?.capture()))}function ft(e){Q[e]?.forEach((t,n)=>{ie[n]?.snapshot?.restore(t)})}function Ke(){Pe(A),Ve(Ze,F),lt(I),Ve(Xe,Q)}async function fn(e,t,n,r){let a;t.invalidateAll&&Re(),await z({type:"goto",url:et(e),keepfocus:t.keepFocus,noscroll:t.noScroll,replace_state:t.replaceState,state:t.state,redirect_count:n,nav_token:r,accept:()=>{t.invalidateAll&&(Ne=!0,a=[...Ge.keys()]),t.invalidate&&t.invalidate.forEach(wn)}}),t.invalidateAll&&ne().then(ne).then(()=>{Ge.forEach(({resource:s},o)=>{a?.includes(o)&&s.refresh?.()})})}async function un(e){if(e.id!==C?.id){Re();const t={};J.add(t),C={id:e.id,token:t,promise:dt({...e,preload:t}).then(n=>(J.delete(t),n.type==="loaded"&&n.state.error&&Re(),n)),fork:null}}return C.promise}async function ke(e){const t=(await ge(e,!1))?.route;t&&await Promise.all([...t.layouts,t.leaf].map(n=>n?.[1]()))}async function ut(e,t,n){_=e.state;const r=document.querySelector("style[data-sveltekit]");if(r&&r.remove(),Object.assign(R,e.props.page),ct=new E.root({target:t,props:{...e.props,stores:$,components:ie},hydrate:n,sync:!1}),await Promise.resolve(),ft(I),n){const a={from:null,to:{params:_.params,route:{id:_.route?.id??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};H.forEach(s=>s(a))}ce=!0}function le({url:e,params:t,branch:n,status:r,error:a,route:s,form:o}){let c="never";if(U&&(e.pathname===U||e.pathname===U+"/"))c="always";else for(const u of n)u?.slash!==void 0&&(c=u.slash);e.pathname=vt(e.pathname,c),e.search=e.search;const i={type:"loaded",state:{url:e,params:t,branch:n,error:a,route:s},props:{constructors:Jt(n).map(u=>u.node.component),page:Be(R)}};o!==void 0&&(i.props.form=o);let l={},d=!R,h=0;for(let u=0;u<Math.max(n.length,_.branch.length);u+=1){const f=n[u],w=_.branch[u];f?.data!==w?.data&&(d=!0),f&&(l={...l,...f.data},d&&(i.props[`data_${h}`]=l),h+=1)}return(!_.url||e.href!==_.url.href||_.error!==a||o!==void 0&&o!==R.form||d)&&(i.props.page={error:a,params:t,route:{id:s?.id??null},state:{},status:r,url:new URL(e),form:o??null,data:d?l:R.data}),i}async function je({loader:e,parent:t,url:n,params:r,route:a,server_data_node:s}){let o=null;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},i=await e();return{node:i,loader:e,server:s,universal:i.universal?.load?{type:"data",data:o,uses:c}:null,data:o??s?.data??null,slash:i.universal?.trailingSlash??s?.slash}}function dn(e,t,n){let r=e instanceof Request?e.url:e;const a=new URL(r,n);a.origin===n.origin&&(r=a.href.slice(n.origin.length));const s=ce?It(r,a.href,t):Tt(r,t);return{resolved:a,promise:s}}function We(e,t,n,r,a,s){if(Ne)return!0;if(!a)return!1;if(a.parent&&e||a.route&&t||a.url&&n)return!0;for(const o of a.search_params)if(r.has(o))return!0;for(const o of a.params)if(s[o]!==_.params[o])return!0;for(const o of a.dependencies)if(se.some(c=>c(new URL(o))))return!0;return!1}function $e(e,t){return e?.type==="data"?e:e?.type==="skip"?t??null:null}function hn(e,t){if(!e)return new Set(t.searchParams.keys());const n=new Set([...e.searchParams.keys(),...t.searchParams.keys()]);for(const r of n){const a=e.searchParams.getAll(r),s=t.searchParams.getAll(r);a.every(o=>s.includes(o))&&s.every(o=>a.includes(o))&&n.delete(r)}return n}function He({error:e,url:t,route:n,params:r}){return{type:"loaded",state:{error:e,url:t,route:n,params:r,branch:[]},props:{page:Be(R),constructors:[]}}}async function dt({id:e,invalidating:t,url:n,params:r,route:a,preload:s}){if(C?.id===e)return J.delete(C.token),C.promise;const{errors:o,layouts:c,leaf:i}=a,l=[...c,i];o.forEach(g=>g?.().catch(()=>{})),l.forEach(g=>g?.[1]().catch(()=>{}));let d=null;const h=_.url?e!==fe(_.url):!1,p=_.route?a.id!==_.route.id:!1,u=hn(_.url,n);let f=!1;{const g=l.map((y,k)=>{const S=_.branch[k],v=!!y?.[0]&&(S?.loader!==y[1]||We(f,p,h,u,S.server?.uses,r));return v&&(f=!0),v});if(g.some(Boolean)){try{d=await mt(n,g)}catch(y){const k=await Y(y,{url:n,params:r,route:{id:e}});return J.has(s)?He({error:k,url:n,params:r,route:a}):me({status:ae(y),error:k,url:n,route:a})}if(d.type==="redirect")return d}}const w=d?.nodes;let b=!1;const m=l.map(async(g,y)=>{if(!g)return;const k=_.branch[y],S=w?.[y];if((!S||S.type==="skip")&&g[1]===k?.loader&&!We(b,p,h,u,k.universal?.uses,r))return k;if(b=!0,S?.type==="error")throw S;return je({loader:g[1],url:n,params:r,route:a,parent:async()=>{const P={};for(let T=0;T<y;T+=1)Object.assign(P,(await m[T])?.data);return P},server_data_node:$e(S===void 0&&g[0]?{type:"skip"}:S??null,g[0]?k?.server:void 0)})});for(const g of m)g.catch(()=>{});const L=[];for(let g=0;g<l.length;g+=1)if(l[g])try{L.push(await m[g])}catch(y){if(y instanceof Ue)return{type:"redirect",location:y.location};if(J.has(s))return He({error:await Y(y,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let k=ae(y),S;if(w?.includes(y))k=y.status??k,S=y.error;else if(y instanceof ue)S=y.body;else{if(await $.updated.check())return await ot(),await G(n);S=await Y(y,{params:r,url:n,route:{id:a.id}})}const v=await pn(g,L,o);return v?le({url:n,params:r,branch:L.slice(0,v.idx).concat(v.node),status:k,error:S,route:a}):await pt(n,{id:a.id},S,k)}else L.push(void 0);return le({url:n,params:r,branch:L,status:200,error:null,route:a,form:t?void 0:null})}async function pn(e,t,n){for(;e--;)if(n[e]){let r=e;for(;!t[r];)r-=1;try{return{idx:r+1,node:{node:await n[e](),loader:n[e],data:{},server:null,universal:null}}}catch{continue}}}async function me({status:e,error:t,url:n,route:r}){const a={};let s=null;if(E.server_loads[0]===0)try{const c=await mt(n,[!0]);if(c.type!=="data"||c.nodes[0]&&c.nodes[0].type!=="data")throw 0;s=c.nodes[0]??null}catch{(n.origin!==de||n.pathname!==location.pathname||xe)&&await G(n)}try{const o=await je({loader:Se,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:$e(s)}),c={node:await oe(),loader:oe,universal:null,server:null,data:null};return le({url:n,params:a,branch:[o,c],status:e,error:t,route:null})}catch(o){if(o instanceof Ue)return fn(new URL(o.location,location.href),{},0);throw o}}async function mn(e){const t=e.href;if(te.has(t))return te.get(t);let n;try{const r=(async()=>{let a=await E.hooks.reroute({url:new URL(e),fetch:async(s,o)=>dn(s,o,e).promise})??e;if(typeof a=="string"){const s=new URL(e);E.hash?s.hash=a:s.pathname=a,a=s}return a})();te.set(t,r),n=await r}catch{te.delete(t);return}return n}async function ge(e,t){if(e&&!pe(e,U,E.hash)){const n=await mn(e);if(!n)return;const r=gn(n);for(const a of Oe){const s=a.exec(r);if(s)return{id:fe(e),invalidating:t,route:a,params:kt(s),url:e}}}}function gn(e){return bt(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(U.length))||"/"}function fe(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function ht({url:e,type:t,intent:n,delta:r,event:a}){let s=!1;const o=De(_,n,e,t);r!==void 0&&(o.navigation.delta=r),a!==void 0&&(o.navigation.event=a);const c={...o.navigation,cancel:()=>{s=!0,o.reject(new Error("navigation cancelled"))}};return ee||st.forEach(i=>i(c)),s?null:o}async function z({type:e,url:t,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o={},redirect_count:c=0,nav_token:i={},accept:l=ze,block:d=ze,event:h}){const p=B;B=i;const u=await ge(t,!1),f=e==="enter"?De(_,u,t,e):ht({url:t,type:e,delta:n?.delta,intent:u,event:h});if(!f){d(),B===i&&(B=p);return}const w=A,b=I;l(),ee=!0,ce&&f.navigation.type!=="enter"&&$.navigating.set(Z.current=f.navigation);let m=u&&await dt(u);if(!m){if(pe(t,U,E.hash))return await G(t,s);m=await pt(t,{id:null},await Y(new Le(404,"Not Found",`Not found: ${t.pathname}`),{url:t,params:{},route:{id:null}}),404,s)}if(t=u?.url||t,B!==i)return f.reject(new Error("navigation aborted")),!1;if(m.type==="redirect"){if(c<20){await z({type:e,url:new URL(m.location,t),popped:n,keepfocus:r,noscroll:a,replace_state:s,state:o,redirect_count:c+1,nav_token:i}),f.fulfil(void 0);return}m=await me({status:500,error:await Y(new Error("Redirect loop"),{url:t,params:{},route:{id:null}}),url:t,route:{id:null}})}else m.props.page.status>=400&&await $.updated.check()&&(await ot(),await G(t,s));if(ln(),Pe(w),lt(b),m.props.page.url.pathname!==t.pathname&&(t.pathname=m.props.page.url.pathname),o=n?n.state:o,!n){const v=s?0:1,P={[M]:A+=v,[X]:I+=v,[Qe]:o};(s?history.replaceState:history.pushState).call(history,P,"",t),s||sn(A,I)}const L=u&&C?.id===u.id?C.fork:null;C=null,m.props.page.state=o;let g;if(ce){const v=(await Promise.all(Array.from(cn,T=>T(f.navigation)))).filter(T=>typeof T=="function");if(v.length>0){let T=function(){v.forEach(_e=>{H.delete(_e)})};v.push(T),v.forEach(_e=>{H.add(_e)})}_=m.state,m.props.page&&(m.props.page.url=t);const P=L&&await L;P?g=P.commit():(ct.$set(m.props),tn(m.props.page),g=yt?.()),it=!0}else await ut(m,Ae,!1);const{activeElement:y}=document;await g,await ne(),await ne();let k=n?n.scroll:a?he():null;if(Ye){const v=t.hash&&document.getElementById(_t(t));if(k)scrollTo(k.x,k.y);else if(v){v.scrollIntoView();const{top:P,left:T}=v.getBoundingClientRect();k={x:pageXOffset+T,y:pageYOffset+P}}else scrollTo(0,0)}const S=document.activeElement!==y&&document.activeElement!==document.body;!r&&!S&&bn(t,k),Ye=!0,m.props.page&&Object.assign(R,m.props.page),ee=!1,e==="popstate"&&ft(I),f.fulfil(void 0),H.forEach(v=>v(f.navigation)),$.navigating.set(Z.current=null)}async function pt(e,t,n,r,a){return e.origin===de&&e.pathname===location.pathname&&!xe?await me({status:r,error:n,url:e,route:t}):await G(e,a)}function _n(){let e,t={element:void 0,href:void 0},n;j.addEventListener("mousemove",c=>{const i=c.target;clearTimeout(e),e=setTimeout(()=>{s(i,D.hover)},20)});function r(c){c.defaultPrevented||s(c.composedPath()[0],D.tap)}j.addEventListener("mousedown",r),j.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(c=>{for(const i of c)i.isIntersecting&&(ke(new URL(i.target.href)),a.unobserve(i.target))},{threshold:0});async function s(c,i){const l=nt(c,j),d=l===t.element&&l?.href===t.href&&i>=n;if(!l||d)return;const{url:h,external:p,download:u}=Ee(l,U,E.hash);if(p||u)return;const f=re(l),w=h&&fe(_.url)===fe(h);if(!(f.reload||w))if(i<=f.preload_data){t={element:l,href:l.href},n=D.tap;const b=await ge(h,!1);if(!b)return;un(b)}else i<=f.preload_code&&(t={element:l,href:l.href},n=i,ke(h))}function o(){a.disconnect();for(const c of j.querySelectorAll("a")){const{url:i,external:l,download:d}=Ee(c,U,E.hash);if(l||d)continue;const h=re(c);h.reload||(h.preload_code===D.viewport&&a.observe(c),h.preload_code===D.eager&&ke(i))}}H.add(o),o()}function Y(e,t){if(e instanceof ue)return e.body;const n=ae(e),r=Qt(e);return E.hooks.handleError({error:e,event:t,status:n,message:r})??{message:r}}function wn(e){if(typeof e=="function")se.push(e);else{const{href:t}=new URL(e,location.href);se.push(n=>n.href===t)}}function yn(){history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(Ke(),!ee){const r=De(_,void 0,null,"leave"),a={...r.navigation,cancel:()=>{n=!0,r.reject(new Error("navigation cancelled"))}};st.forEach(s=>s(a))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&Ke()}),navigator.connection?.saveData||_n(),j.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=nt(t.composedPath()[0],j);if(!n)return;const{url:r,external:a,target:s,download:o}=Ee(n,U,E.hash);if(!r)return;if(s==="_parent"||s==="_top"){if(window.parent!==window)return}else if(s&&s!=="_self")return;const c=re(n);if(!(n instanceof SVGAElement)&&r.protocol!==location.protocol&&!(r.protocol==="https:"||r.protocol==="http:")||o)return;const[l,d]=(E.hash?r.hash.replace(/^#/,""):r.href).split("#"),h=l===ye(location);if(a||c.reload&&(!h||!d)){ht({url:r,type:"link",event:t})?ee=!0:t.preventDefault();return}if(d!==void 0&&h){const[,p]=_.url.href.split("#");if(p===d){if(t.preventDefault(),d===""||d==="top"&&n.ownerDocument.getElementById("top")===null)scrollTo({top:0});else{const u=n.ownerDocument.getElementById(decodeURIComponent(d));u&&(u.scrollIntoView(),u.focus())}return}if(K=!0,Pe(A),e(r),!c.replace_state)return;K=!1}t.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),await z({type:"link",url:r,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??r.href===location.href,event:t})}),j.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),r=t.submitter;if((r?.formTarget||n.target)==="_blank"||(r?.formMethod||n.method)!=="get")return;const o=new URL(r?.hasAttribute("formaction")&&r?.formAction||n.action);if(pe(o,U,!1))return;const c=t.target,i=re(c);if(i.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(c,r);o.search=new URLSearchParams(l).toString(),z({type:"form",url:o,keepfocus:i.keepfocus,noscroll:i.noscroll,replace_state:i.replace_state??o.href===location.href,event:t})}),addEventListener("popstate",async t=>{if(!Te){if(t.state?.[M]){const n=t.state[M];if(B={},n===A)return;const r=F[n],a=t.state[Qe]??{},s=new URL(t.state[$t]??location.href),o=t.state[X],c=_.url?ye(location)===ye(_.url):!1;if(o===I&&(it||c)){a!==R.state&&(R.state=a),e(s),F[A]=he(),r&&scrollTo(r.x,r.y),A=n;return}const l=n-A;await z({type:"popstate",url:s,popped:{state:a,scroll:r,delta:l},accept:()=>{A=n,I=o},block:()=>{history.go(-l)},nav_token:B,event:t})}else if(!K){const n=new URL(location.href);e(n),E.hash&&location.reload()}}}),addEventListener("hashchange",()=>{K&&(K=!1,history.replaceState({...history.state,[M]:++A,[X]:I},"",location.href))});for(const t of document.querySelectorAll("link"))on.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&$.navigating.set(Z.current=null)});function e(t){_.url=R.url=t,$.page.set(Be(R)),$.page.notify()}}async function vn(e,{status:t=200,error:n,node_ids:r,params:a,route:s,server_route:o,data:c,form:i}){xe=!0;const l=new URL(location.href);let d;({params:a={},route:s={id:null}}=await ge(l,!1)||{}),d=Oe.find(({id:u})=>u===s.id);let h,p=!0;try{const u=r.map(async(w,b)=>{const m=c[b];return m?.uses&&(m.uses=gt(m.uses)),je({loader:E.nodes[w],url:l,params:a,route:s,parent:async()=>{const L={};for(let g=0;g<b;g+=1)Object.assign(L,(await u[g]).data);return L},server_data_node:$e(m)})}),f=await Promise.all(u);if(d){const w=d.layouts;for(let b=0;b<w.length;b++)w[b]||f.splice(b,0,void 0)}h=le({url:l,params:a,branch:f,status:t,error:n,form:i,route:d??null})}catch(u){if(u instanceof Ue){await G(new URL(u.location,location.href));return}h=await me({status:ae(u),error:await Y(u,{url:l,params:a,route:s}),url:l,route:s}),e.textContent="",p=!1}h.props.page&&(h.props.page.state={}),await ut(h,e,p)}async function mt(e,t){const n=new URL(e);n.pathname=an(e.pathname),e.pathname.endsWith("/")&&n.searchParams.append(Zt,"1"),n.searchParams.append(Xt,t.map(s=>s?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let s;throw a.headers.get("content-type")?.includes("application/json")?s=await a.json():a.status===404?s="Not Found":a.status===500&&(s="Internal Error"),new ue(a.status,s)}return new Promise(async s=>{const o=new Map,c=a.body.getReader();function i(d){return Wt(d,{...E.decoders,Promise:h=>new Promise((p,u)=>{o.set(h,{fulfil:p,reject:u})})})}let l="";for(;;){const{done:d,value:h}=await c.read();if(d&&!l)break;for(l+=!h&&l?`
|
|
2
|
-
`:St.decode(h,{stream:!0});;){const p=l.indexOf(`
|
|
3
|
-
`);if(p===-1)break;const u=JSON.parse(l.slice(0,p));if(l=l.slice(p+1),u.type==="redirect")return s(u);if(u.type==="data")u.nodes?.forEach(f=>{f?.type==="data"&&(f.uses=gt(f.uses),f.data=i(f.data))}),s(u);else if(u.type==="chunk"){const{id:f,data:w,error:b}=u,m=o.get(f);o.delete(f),b?m.reject(i(b)):m.fulfil(i(w))}}}})}function gt(e){return{dependencies:new Set(e?.dependencies??[]),params:new Set(e?.params??[]),parent:!!e?.parent,route:!!e?.route,url:!!e?.url,search_params:new Set(e?.search_params??[])}}let Te=!1;function bn(e,t=null){const n=document.querySelector("[autofocus]");if(n)n.focus();else{const r=_t(e);if(r&&document.getElementById(r)){const{x:s,y:o}=t??he();setTimeout(()=>{const c=history.state;Te=!0,location.replace(`#${r}`),E.hash&&location.replace(e.hash),history.replaceState(c,"",e.hash),scrollTo(s,o),Te=!1})}else{const s=document.body,o=s.getAttribute("tabindex");s.tabIndex=-1,s.focus({preventScroll:!0,focusVisible:!1}),o!==null?s.setAttribute("tabindex",o):s.removeAttribute("tabindex")}const a=getSelection();if(a&&a.type!=="None"){const s=[];for(let o=0;o<a.rangeCount;o+=1)s.push(a.getRangeAt(o));setTimeout(()=>{if(a.rangeCount===s.length){for(let o=0;o<a.rangeCount;o+=1){const c=s[o],i=a.getRangeAt(o);if(c.commonAncestorContainer!==i.commonAncestorContainer||c.startContainer!==i.startContainer||c.endContainer!==i.endContainer||c.startOffset!==i.startOffset||c.endOffset!==i.endOffset)return}a.removeAllRanges()}})}}}function De(e,t,n,r){let a,s;const o=new Promise((i,l)=>{a=i,s=l});return o.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:e.route?.id??null},url:e.url},to:n&&{params:t?.params??null,route:{id:t?.route?.id??null},url:n},willUnload:!t,type:r,complete:o},fulfil:a,reject:s}}function Be(e){return{data:e.data,error:e.error,form:e.form,params:e.params,route:e.route,state:e.state,status:e.status,url:e.url}}function kn(e){const t=new URL(e);return t.hash=decodeURIComponent(e.hash),t}function _t(e){let t;if(E.hash){const[,,n]=e.hash.split("#",3);t=n??""}else t=e.hash.slice(1);return decodeURIComponent(t)}export{In as a,Sn as l,R as p,$ as s};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/BrxBJB61.js";export{o as load_css,r as start};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|