@sentropic/h2a 0.97.0 → 0.97.2
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/.claude-plugin/plugin.json +2 -2
- package/.codex-plugin/plugin.json +1 -1
- package/.mcp.json +1 -1
- package/dist/cli-command-map.d.ts.map +1 -1
- package/dist/cli-command-map.js +1 -0
- package/dist/cli-command-map.js.map +1 -1
- package/dist/cli-contract.d.ts.map +1 -1
- package/dist/cli-contract.js +11 -3
- package/dist/cli-contract.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +115 -10
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/mcp.d.ts +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +1 -0
- package/dist/mcp.js.map +1 -1
- package/dist/runtime/identity/index.d.ts +1 -1
- package/dist/runtime/identity/index.d.ts.map +1 -1
- package/dist/runtime/identity/index.js +1 -1
- package/dist/runtime/identity/index.js.map +1 -1
- package/dist/runtime/identity/live.d.ts +4 -0
- package/dist/runtime/identity/live.d.ts.map +1 -1
- package/dist/runtime/identity/live.js +3 -3
- package/dist/runtime/identity/live.js.map +1 -1
- package/dist/runtime/mcp/agent-launch.d.ts +2 -0
- package/dist/runtime/mcp/agent-launch.d.ts.map +1 -1
- package/dist/runtime/mcp/agent-launch.js +11 -0
- package/dist/runtime/mcp/agent-launch.js.map +1 -1
- package/dist/runtime/mcp/handlers.d.ts +5 -0
- package/dist/runtime/mcp/handlers.d.ts.map +1 -1
- package/dist/runtime/mcp/handlers.js +19 -0
- package/dist/runtime/mcp/handlers.js.map +1 -1
- package/dist/runtime/mcp/server.d.ts +3 -0
- package/dist/runtime/mcp/server.d.ts.map +1 -1
- package/dist/runtime/mcp/server.js +3 -1
- package/dist/runtime/mcp/server.js.map +1 -1
- package/dist/runtime/mcp/stdio.d.ts +3 -0
- package/dist/runtime/mcp/stdio.d.ts.map +1 -1
- package/dist/runtime/mcp/stdio.js +1 -0
- package/dist/runtime/mcp/stdio.js.map +1 -1
- package/dist/runtime/mcp/tools.d.ts.map +1 -1
- package/dist/runtime/mcp/tools.js +17 -0
- package/dist/runtime/mcp/tools.js.map +1 -1
- package/dist/runtime/send.d.ts +40 -0
- package/dist/runtime/send.d.ts.map +1 -0
- package/dist/runtime/send.js +108 -0
- package/dist/runtime/send.js.map +1 -0
- package/focus-app/client/_app/immutable/chunks/BgBtu3IQ.js +2 -0
- package/focus-app/client/_app/immutable/chunks/BgBtu3IQ.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/BgBtu3IQ.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/{app.D1IjBbSs.js → app.D_yfk55R.js} +2 -2
- package/focus-app/client/_app/immutable/entry/app.D_yfk55R.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.D_yfk55R.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.CoQWYNTs.js +1 -0
- package/focus-app/client/_app/immutable/entry/start.CoQWYNTs.js.br +2 -0
- package/focus-app/client/_app/immutable/entry/start.CoQWYNTs.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/{1.CcZFi3uA.js → 1.Jo1uWTw0.js} +1 -1
- package/focus-app/client/_app/immutable/nodes/1.Jo1uWTw0.js.br +4 -0
- package/focus-app/client/_app/immutable/nodes/1.Jo1uWTw0.js.gz +0 -0
- package/focus-app/client/_app/version.json +1 -1
- package/focus-app/client/_app/version.json.br +0 -0
- package/focus-app/client/_app/version.json.gz +0 -0
- package/focus-app/h2a-focus.json +61 -61
- package/focus-app/handler.js +8 -8
- package/focus-app/index.js +8 -8
- package/focus-app/server/chunks/chunks/{AppShell.js-BDEpw0ai.js → AppShell.js-BoWxjmfr.js} +2 -2
- package/focus-app/server/chunks/chunks/{AppShell.js-BDEpw0ai.js.map → AppShell.js-BoWxjmfr.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{exports.js-BZfNcFtJ.js → exports.js-D45A8dcc.js} +3 -3
- package/focus-app/server/chunks/chunks/{exports.js-BZfNcFtJ.js.map → exports.js-D45A8dcc.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{index.js--xmWq8-W.js → index.js-e3L5MwfB.js} +2 -2
- package/focus-app/server/chunks/chunks/{index.js--xmWq8-W.js.map → index.js-e3L5MwfB.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{internal.js-o4rWftwV.js → internal.js-DAV-A6NO.js} +3 -3
- package/focus-app/server/chunks/chunks/{internal.js-o4rWftwV.js.map → internal.js-DAV-A6NO.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{root.js-ve7Sv8eD.js → root.js-CEypm32A.js} +2 -2
- package/focus-app/server/chunks/chunks/{root.js-ve7Sv8eD.js.map → root.js-CEypm32A.js.map} +1 -1
- package/focus-app/server/chunks/chunks/{utils.js-h3jETFNR.js → utils.js-Bzpr6vQU.js} +406 -141
- package/focus-app/server/chunks/chunks/utils.js-Bzpr6vQU.js.map +1 -0
- package/focus-app/server/chunks/entries/endpoints/api/actions/launch/{_server.ts.js-DVeNoSe-.js → _server.ts.js-Cah_Ivgw.js} +2 -2
- package/focus-app/server/chunks/entries/endpoints/api/actions/launch/{_server.ts.js-DVeNoSe-.js.map → _server.ts.js-Cah_Ivgw.js.map} +1 -1
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-CLfZIM0I.js → _server.ts.js-DW5wvcgH.js} +2 -2
- package/focus-app/server/chunks/entries/endpoints/api/decisions/inject/{_server.ts.js-CLfZIM0I.js.map → _server.ts.js-DW5wvcgH.js.map} +1 -1
- package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/{_server.ts.js-DNQwbxOr.js → _server.ts.js-C2jIx8Jr.js} +2 -2
- package/focus-app/server/chunks/entries/endpoints/api/dossiers/agent-memory/include/{_server.ts.js-DNQwbxOr.js.map → _server.ts.js-C2jIx8Jr.js.map} +1 -1
- package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/{_server.ts.js-BqneXTTN.js → _server.ts.js-BkAMLcHu.js} +2 -2
- package/focus-app/server/chunks/entries/endpoints/api/h2a/targets/{_server.ts.js-BqneXTTN.js.map → _server.ts.js-BkAMLcHu.js.map} +1 -1
- package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-VpNJnNVG.js → error.svelte.js-BWuS92Wk.js} +5 -5
- package/focus-app/server/chunks/entries/fallbacks/{error.svelte.js-VpNJnNVG.js.map → error.svelte.js-BWuS92Wk.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-D_Rgb6oH.js → _layout.svelte.js-CKspI0Bw.js} +3 -3
- package/focus-app/server/chunks/entries/pages/{_layout.svelte.js-D_Rgb6oH.js.map → _layout.svelte.js-CKspI0Bw.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/{_page.svelte.js-2a7ZxK1n.js → _page.svelte.js-B8EWZmZj.js} +4 -4
- package/focus-app/server/chunks/entries/pages/{_page.svelte.js-2a7ZxK1n.js.map → _page.svelte.js-B8EWZmZj.js.map} +1 -1
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/{_page.svelte.js-Bl_4XjaL.js → _page.svelte.js-BZvcKeya.js} +4 -4
- package/focus-app/server/chunks/entries/pages/dossier/agent-memory/{_page.svelte.js-Bl_4XjaL.js.map → _page.svelte.js-BZvcKeya.js.map} +1 -1
- package/focus-app/server/chunks/{handler-B897YV9_.js → handler-BCBpURX0.js} +4 -4
- package/focus-app/server/chunks/{handler-B897YV9_.js.map → handler-BCBpURX0.js.map} +1 -1
- package/focus-app/server/chunks/{index.js-BkPsDsTn.js → index.js-CZWB6FqQ.js} +5 -5
- package/focus-app/server/chunks/{index.js-BkPsDsTn.js.map → index.js-CZWB6FqQ.js.map} +1 -1
- package/focus-app/server/chunks/{manifest.js-DZ6J-aM3.js → manifest.js-C2CyTiUe.js} +10 -10
- package/focus-app/server/chunks/{manifest.js-DZ6J-aM3.js.map → manifest.js-C2CyTiUe.js.map} +1 -1
- package/focus-app/server/chunks/nodes/{0.js-tlwNtUnO.js → 0.js-Cp9RMJ1x.js} +2 -2
- package/focus-app/server/chunks/nodes/{0.js-tlwNtUnO.js.map → 0.js-Cp9RMJ1x.js.map} +1 -1
- package/focus-app/server/chunks/nodes/1.js-DMWmTj0d.js +9 -0
- package/focus-app/server/chunks/nodes/{1.js-mLYMqMM3.js.map → 1.js-DMWmTj0d.js.map} +1 -1
- package/focus-app/server/chunks/nodes/{2.js-C_y8BeMm.js → 2.js-Dv8Q6LQc.js} +2 -2
- package/focus-app/server/chunks/nodes/{2.js-C_y8BeMm.js.map → 2.js-Dv8Q6LQc.js.map} +1 -1
- package/focus-app/server/chunks/nodes/{3.js-13r5MUAa.js → 3.js-DJH-zOae.js} +2 -2
- package/focus-app/server/chunks/nodes/{3.js-13r5MUAa.js.map → 3.js-DJH-zOae.js.map} +1 -1
- package/package.json +3 -3
- package/skills/h2a/SKILL.md +11 -33
- package/focus-app/client/_app/immutable/chunks/DAAR3e-c.js +0 -2
- package/focus-app/client/_app/immutable/chunks/DAAR3e-c.js.br +0 -0
- package/focus-app/client/_app/immutable/chunks/DAAR3e-c.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/app.D1IjBbSs.js.br +0 -0
- package/focus-app/client/_app/immutable/entry/app.D1IjBbSs.js.gz +0 -0
- package/focus-app/client/_app/immutable/entry/start.DHa1k4dG.js +0 -1
- package/focus-app/client/_app/immutable/entry/start.DHa1k4dG.js.br +0 -2
- package/focus-app/client/_app/immutable/entry/start.DHa1k4dG.js.gz +0 -0
- package/focus-app/client/_app/immutable/nodes/1.CcZFi3uA.js.br +0 -0
- package/focus-app/client/_app/immutable/nodes/1.CcZFi3uA.js.gz +0 -0
- package/focus-app/server/chunks/chunks/utils.js-h3jETFNR.js.map +0 -1
- package/focus-app/server/chunks/nodes/1.js-mLYMqMM3.js +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js-Bzpr6vQU.js","sources":["../../../../node_modules/@sveltejs/kit/src/exports/internal/index.js","../../../../node_modules/set-cookie-parser/lib/set-cookie.js","../../../../node_modules/devalue/src/constants.js","../../../../node_modules/devalue/src/utils.js","../../../../node_modules/devalue/src/uneval.js","../../../../node_modules/devalue/src/base64.js","../../../../node_modules/devalue/src/operations.js","../../../../node_modules/devalue/src/parse.js","../../../../node_modules/devalue/src/stringify.js","../../../../node_modules/@sveltejs/kit/src/runtime/utils.js","../../../../node_modules/@sveltejs/kit/src/exports/index.js","../../../../node_modules/@sveltejs/kit/src/runtime/server/constants.js","../../../../node_modules/@sveltejs/kit/src/exports/internal/event.js","../../../../node_modules/@sveltejs/kit/src/exports/internal/server.js","../../../../.svelte-kit/output/server/chunks/utils.js"],"sourcesContent":["/** @import { StandardSchemaV1 } from '@standard-schema/spec' */\n\nexport class HttpError {\n\t/**\n\t * @param {number} status\n\t * @param {{message: string} extends App.Error ? (App.Error | string | undefined) : App.Error} body\n\t */\n\tconstructor(status, body) {\n\t\tthis.status = status;\n\t\tif (typeof body === 'string') {\n\t\t\tthis.body = { message: body };\n\t\t} else if (body) {\n\t\t\tthis.body = body;\n\t\t} else {\n\t\t\tthis.body = { message: `Error: ${status}` };\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this.body);\n\t}\n}\n\nexport class Redirect {\n\t/**\n\t * @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308} status\n\t * @param {string} location\n\t */\n\tconstructor(status, location) {\n\t\ttry {\n\t\t\tnew Headers({ location });\n\t\t} catch {\n\t\t\tthrow new Error(\n\t\t\t\t`Invalid redirect location ${JSON.stringify(location)}: ` +\n\t\t\t\t\t'this string contains characters that cannot be used in HTTP headers'\n\t\t\t);\n\t\t}\n\n\t\tthis.status = status;\n\t\tthis.location = location;\n\t}\n}\n\n/**\n * An error that was thrown from within the SvelteKit runtime that is not fatal and doesn't result in a 500, such as a 404.\n * `SvelteKitError` goes through `handleError`.\n * @extends Error\n */\nexport class SvelteKitError extends Error {\n\t/**\n\t * @param {number} status\n\t * @param {string} text\n\t * @param {string} message\n\t */\n\tconstructor(status, text, message) {\n\t\tsuper(message);\n\t\tthis.status = status;\n\t\tthis.text = text;\n\t}\n}\n\n/**\n * @template [T=undefined]\n */\nexport class ActionFailure {\n\t/**\n\t * @param {number} status\n\t * @param {T} data\n\t */\n\tconstructor(status, data) {\n\t\tthis.status = status;\n\t\tthis.data = data;\n\t}\n}\n\n/**\n * Error thrown when form validation fails imperatively\n */\nexport class ValidationError extends Error {\n\t/**\n\t * @param {StandardSchemaV1.Issue[]} issues\n\t */\n\tconstructor(issues) {\n\t\tsuper('Validation failed');\n\t\tthis.name = 'ValidationError';\n\t\tthis.issues = issues;\n\t}\n}\n\nexport { init_remote_functions } from './remote-functions.js';\n","var defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false,\n split: \"auto\", // auto = split strings but not arrays\n};\n\nfunction isForbiddenKey(key) {\n return typeof key !== \"string\" || key in {};\n}\n\nfunction createNullObj() {\n return Object.create(null);\n}\n\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n var nameValuePairStr = parts.shift();\n if (!nameValuePairStr) {\n return null;\n }\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (isForbiddenKey(name)) {\n return null;\n }\n\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\n \"set-cookie-parser: failed to decode cookie value. Set options.decodeValues=false to disable decoding.\",\n e\n );\n }\n\n var cookie = createNullObj();\n cookie.name = name;\n cookie.value = value;\n\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trim().toLowerCase();\n if (isForbiddenKey(key)) {\n return;\n }\n var value = sides.join(\"=\").trim();\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n var n = parseInt(value, 10);\n if (!Number.isNaN(n)) cookie.maxAge = n;\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else if (key) {\n cookie[key] = value;\n }\n });\n\n return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n\n return { name: name, value: value };\n}\n\nfunction parseSetCookie(input, options) {\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return createNullObj();\n }\n }\n\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case)\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch =\n input.headers[\n Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })\n ];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\n \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n );\n }\n input = sch;\n }\n }\n\n var split = options.split;\n var isArray = Array.isArray(input);\n\n if (split === \"auto\") {\n split = !isArray;\n }\n\n if (!isArray) {\n input = [input];\n }\n\n input = input.filter(isNonEmptyString);\n\n if (split) {\n input = input.map(splitCookiesString).flat();\n }\n\n if (!options.map) {\n return input\n .map(function (str) {\n return parseString(str, options);\n })\n .filter(Boolean);\n } else {\n var cookies = createNullObj();\n return input.reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n if (cookie && !isForbiddenKey(cookie.name)) {\n cookies[cookie.name] = cookie;\n }\n return cookies;\n }, cookies);\n }\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n\n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n\n skipWhitespace();\n nextStart = pos;\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n\n return cookiesStrings;\n}\n\n// named export for CJS\nparseSetCookie.parseSetCookie = parseSetCookie;\n// for backwards compatibility\nparseSetCookie.parse = parseSetCookie;\nparseSetCookie.parseString = parseString;\nparseSetCookie.splitCookiesString = splitCookiesString;\n\n// EXPORTS\n// (this section is replaced by build-cjs.js)\n\n// named export for ESM\nexport { parseSetCookie };\n// for backwards compatibility\nexport default parseSetCookie;\nexport { parseSetCookie as parse, parseString, splitCookiesString };\n","export const UNDEFINED = -1;\nexport const HOLE = -2;\nexport const NAN = -3;\nexport const POSITIVE_INFINITY = -4;\nexport const NEGATIVE_INFINITY = -5;\nexport const NEGATIVE_ZERO = -6;\nexport const SPARSE = -7;\n\n// The largest valid value for a JavaScript array's `length` property,\n// and the largest valid array index (one less than the max length).\nexport const MAX_ARRAY_LEN = 2 ** 32 - 1;\nexport const MAX_ARRAY_INDEX = MAX_ARRAY_LEN - 1;\n","import { MAX_ARRAY_INDEX, MAX_ARRAY_LEN } from './constants.js';\n\n/** @type {Record<string, string>} */\nexport const escaped = {\n\t'<': '\\\\u003C',\n\t'\\\\': '\\\\\\\\',\n\t'\\b': '\\\\b',\n\t'\\f': '\\\\f',\n\t'\\n': '\\\\n',\n\t'\\r': '\\\\r',\n\t'\\t': '\\\\t',\n\t'\\u2028': '\\\\u2028',\n\t'\\u2029': '\\\\u2029'\n};\n\nexport class DevalueError extends Error {\n\t/**\n\t * @param {string} message\n\t * @param {string[]} keys\n\t * @param {any} [value] - The value that failed to be serialized\n\t * @param {any} [root] - The root value being serialized\n\t */\n\tconstructor(message, keys, value, root) {\n\t\tsuper(message);\n\t\tthis.name = 'DevalueError';\n\t\tthis.path = keys.join('');\n\t\tthis.value = value;\n\t\tthis.root = root;\n\t}\n}\n\n/** @param {any} thing */\nexport function is_primitive(thing) {\n\treturn thing === null || (typeof thing !== 'object' && typeof thing !== 'function');\n}\n\nconst object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype)\n\t.sort()\n\t.join('\\0');\n\n/** @param {any} thing */\nexport function is_plain_object(thing) {\n\tconst proto = Object.getPrototypeOf(thing);\n\n\treturn (\n\t\tproto === Object.prototype ||\n\t\tproto === null ||\n\t\tObject.getPrototypeOf(proto) === null ||\n\t\tObject.getOwnPropertyNames(proto).sort().join('\\0') === object_proto_names\n\t);\n}\n\n/** @param {any} thing */\nexport function get_type(thing) {\n\treturn Object.prototype.toString.call(thing).slice(8, -1);\n}\n\n/** @param {string} char */\nfunction get_escaped_char(char) {\n\tswitch (char) {\n\t\tcase '\"':\n\t\t\treturn '\\\\\"';\n\t\tcase '<':\n\t\t\treturn '\\\\u003C';\n\t\tcase '\\\\':\n\t\t\treturn '\\\\\\\\';\n\t\tcase '\\n':\n\t\t\treturn '\\\\n';\n\t\tcase '\\r':\n\t\t\treturn '\\\\r';\n\t\tcase '\\t':\n\t\t\treturn '\\\\t';\n\t\tcase '\\b':\n\t\t\treturn '\\\\b';\n\t\tcase '\\f':\n\t\t\treturn '\\\\f';\n\t\tcase '\\u2028':\n\t\t\treturn '\\\\u2028';\n\t\tcase '\\u2029':\n\t\t\treturn '\\\\u2029';\n\t\tdefault:\n\t\t\treturn char < ' ' ? `\\\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}` : '';\n\t}\n}\n\n/** @param {string} str */\nexport function stringify_string(str) {\n\tlet result = '';\n\tlet last_pos = 0;\n\tconst len = str.length;\n\n\tfor (let i = 0; i < len; i += 1) {\n\t\tconst char = str[i];\n\t\tconst replacement = get_escaped_char(char);\n\t\tif (replacement) {\n\t\t\tresult += str.slice(last_pos, i) + replacement;\n\t\t\tlast_pos = i + 1;\n\t\t}\n\t}\n\n\treturn `\"${last_pos === 0 ? str : result + str.slice(last_pos)}\"`;\n}\n\n/** @param {Record<string | symbol, any>} object */\nexport function enumerable_symbols(object) {\n\treturn Object.getOwnPropertySymbols(object).filter(\n\t\t(symbol) => Object.getOwnPropertyDescriptor(object, symbol).enumerable\n\t);\n}\n\nconst is_identifier = /^[a-zA-Z_$][a-zA-Z_$0-9]*$/;\n\n/** @param {string} key */\nexport function stringify_key(key) {\n\treturn is_identifier.test(key) ? '.' + key : '[' + JSON.stringify(key) + ']';\n}\n\n/** @param {number} n */\nexport function is_valid_array_index(n) {\n\tif (!Number.isInteger(n)) return false;\n\tif (n < 0) return false;\n\tif (n > MAX_ARRAY_INDEX) return false;\n\treturn true;\n}\n\n/** @param {number} n */\nexport function is_valid_array_len(n) {\n\tif (!Number.isInteger(n)) return false;\n\tif (n < 0) return false;\n\tif (n > MAX_ARRAY_LEN) return false;\n\treturn true;\n}\n\n/** @param {string} s */\nfunction is_valid_array_index_string(s) {\n\tif (s.length === 0) return false;\n\tif (s.length > 1 && s.charCodeAt(0) === 48) return false; // leading zero\n\tfor (let i = 0; i < s.length; i++) {\n\t\tconst c = s.charCodeAt(i);\n\t\tif (c < 48 || c > 57) return false;\n\t}\n\t// by this point we know it's a string of digits, but it has to be within\n\t// the range of valid array indices\n\treturn is_valid_array_index(+s);\n}\n\n/**\n * Returns the length of the leading run of valid array indices in `keys`.\n * @param {readonly string[]} keys\n */\nfunction array_index_cut(keys) {\n\tfor (var i = keys.length - 1; i >= 0; i--) {\n\t\tif (is_valid_array_index_string(keys[i])) {\n\t\t\tbreak;\n\t\t}\n\t}\n\treturn i + 1;\n}\n\n/**\n * Finds the populated indices of an array.\n * @param {unknown[]} array\n */\nexport function valid_array_indices(array) {\n\tconst keys = Object.keys(array);\n\tkeys.length = array_index_cut(keys);\n\treturn keys;\n}\n\n/**\n * Given the own enumerable string keys of an array-like value, in property\n * order, returns the leading run of them that are valid array indices.\n *\n * This is the filtering half of the `indicesOf` stringify operation,\n * exposed so that custom operations — which typically already have the keys\n * in hand, e.g. from a foreign runtime — don't have to reimplement it.\n *\n * Does not modify `keys`.\n *\n * @param {readonly string[]} keys\n * @returns {string[]}\n */\nexport function filter_array_indices(keys) {\n\treturn keys.slice(0, array_index_cut(keys));\n}\n","import {\n\tDevalueError,\n\tenumerable_symbols,\n\tescaped,\n\tget_type,\n\tis_plain_object,\n\tis_primitive,\n\tstringify_key,\n\tstringify_string,\n\tvalid_array_indices\n} from './utils.js';\n\nconst chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_$';\nconst unsafe_chars = /[<\\b\\f\\n\\r\\t\\0\\u2028\\u2029]/g;\nconst reserved =\n\t/^(?:do|if|in|for|int|let|new|try|var|byte|case|char|else|enum|goto|long|this|void|with|await|break|catch|class|const|final|float|short|super|throw|while|yield|delete|double|export|import|native|return|switch|throws|typeof|boolean|default|extends|finally|package|private|abstract|continue|debugger|function|volatile|interface|protected|transient|implements|instanceof|synchronized)$/;\n\n/**\n * Turn a value into the JavaScript that creates an equivalent value\n * @param {any} value\n * @param {(value: any, uneval: (value: any) => string) => string | void} [replacer]\n */\nexport function uneval(value, replacer) {\n\tconst counts = new Map();\n\n\t/** @type {string[]} */\n\tconst keys = [];\n\n\tconst custom = new Map();\n\n\t/** @param {any} thing */\n\tfunction walk(thing) {\n\t\tif (!is_primitive(thing)) {\n\t\t\tif (counts.has(thing)) {\n\t\t\t\tcounts.set(thing, counts.get(thing) + 1);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcounts.set(thing, 1);\n\n\t\t\tif (replacer) {\n\t\t\t\tconst str = replacer(thing, (value) => uneval(value, replacer));\n\n\t\t\t\tif (typeof str === 'string') {\n\t\t\t\t\tcustom.set(thing, str);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (typeof thing === 'function') {\n\t\t\t\tthrow new DevalueError(`Cannot stringify a function`, keys, thing, value);\n\t\t\t}\n\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'BigInt':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\tcase 'Date':\n\t\t\t\tcase 'RegExp':\n\t\t\t\tcase 'URL':\n\t\t\t\tcase 'URLSearchParams':\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\t/** @type {any[]} */ (thing).forEach((value, i) => {\n\t\t\t\t\t\tkeys.push(`[${i}]`);\n\t\t\t\t\t\twalk(value);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tArray.from(thing).forEach(walk);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tfor (const [key, value] of thing) {\n\t\t\t\t\t\tkeys.push(`.get(${is_primitive(key) ? stringify_primitive(key) : '...'})`);\n\t\t\t\t\t\twalk(key);\n\t\t\t\t\t\twalk(value);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Int8Array':\n\t\t\t\tcase 'Uint8Array':\n\t\t\t\tcase 'Uint8ClampedArray':\n\t\t\t\tcase 'Int16Array':\n\t\t\t\tcase 'Uint16Array':\n\t\t\t\tcase 'Float16Array':\n\t\t\t\tcase 'Int32Array':\n\t\t\t\tcase 'Uint32Array':\n\t\t\t\tcase 'Float32Array':\n\t\t\t\tcase 'Float64Array':\n\t\t\t\tcase 'BigInt64Array':\n\t\t\t\tcase 'BigUint64Array':\n\t\t\t\tcase 'DataView':\n\t\t\t\t\twalk(thing.buffer);\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'ArrayBuffer':\n\t\t\t\t\treturn;\n\n\t\t\t\tcase 'Temporal.Duration':\n\t\t\t\tcase 'Temporal.Instant':\n\t\t\t\tcase 'Temporal.PlainDate':\n\t\t\t\tcase 'Temporal.PlainTime':\n\t\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\t\tcase 'Temporal.ZonedDateTime':\n\t\t\t\t\treturn;\n\n\t\t\t\tdefault:\n\t\t\t\t\tif (!is_plain_object(thing)) {\n\t\t\t\t\t\tthrow new DevalueError(`Cannot stringify arbitrary non-POJOs`, keys, thing, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (enumerable_symbols(thing).length > 0) {\n\t\t\t\t\t\tthrow new DevalueError(`Cannot stringify POJOs with symbolic keys`, keys, thing, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const key of Object.keys(thing)) {\n\t\t\t\t\t\tif (key === '__proto__') {\n\t\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t\t`Cannot stringify objects with __proto__ keys`,\n\t\t\t\t\t\t\t\tkeys,\n\t\t\t\t\t\t\t\tthing,\n\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\twalk(thing[key]);\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\t\t\t}\n\t\t} else if (typeof thing === 'symbol') {\n\t\t\tthrow new DevalueError(`Cannot stringify a Symbol primitive`, keys, thing, value);\n\t\t}\n\t}\n\n\twalk(value);\n\n\tconst names = new Map();\n\n\tArray.from(counts)\n\t\t.filter((entry) => entry[1] > 1)\n\t\t.sort((a, b) => b[1] - a[1])\n\t\t.forEach((entry, i) => {\n\t\t\tnames.set(entry[0], get_name(i));\n\t\t});\n\n\t/**\n\t * @param {any} thing\n\t * @returns {string}\n\t */\n\tfunction stringify(thing) {\n\t\tif (names.has(thing)) {\n\t\t\treturn names.get(thing);\n\t\t}\n\n\t\tif (is_primitive(thing)) {\n\t\t\treturn stringify_primitive(thing);\n\t\t}\n\n\t\tif (custom.has(thing)) {\n\t\t\treturn custom.get(thing);\n\t\t}\n\n\t\tconst type = get_type(thing);\n\n\t\tswitch (type) {\n\t\t\tcase 'Number':\n\t\t\tcase 'String':\n\t\t\tcase 'Boolean':\n\t\t\tcase 'BigInt':\n\t\t\t\treturn `Object(${stringify(thing.valueOf())})`;\n\n\t\t\tcase 'RegExp':\n\t\t\t\tconst { source, flags } = thing;\n\t\t\t\treturn flags\n\t\t\t\t\t? `new RegExp(${stringify_string(source)},\"${flags}\")`\n\t\t\t\t\t: `new RegExp(${stringify_string(source)})`;\n\n\t\t\tcase 'Date':\n\t\t\t\treturn `new Date(${thing.getTime()})`;\n\n\t\t\tcase 'URL':\n\t\t\t\treturn `new URL(${stringify_string(thing.toString())})`;\n\n\t\t\tcase 'URLSearchParams':\n\t\t\t\treturn `new URLSearchParams(${stringify_string(thing.toString())})`;\n\n\t\t\tcase 'Array': {\n\t\t\t\t// For dense arrays (no holes), we iterate normally.\n\t\t\t\t// When we encounter the first hole, we call Object.keys\n\t\t\t\t// to determine the sparseness, then decide between:\n\t\t\t\t// - Array literal with holes: [,\"a\",,] (default)\n\t\t\t\t// - Object.assign: Object.assign(Array(n),{...}) (for very sparse arrays)\n\t\t\t\t// Only the Object.assign path avoids iterating every slot, which\n\t\t\t\t// is what protects against the DoS of e.g. `arr[1000000] = 1`.\n\t\t\t\tlet has_holes = false;\n\n\t\t\t\tlet result = '[';\n\n\t\t\t\tfor (let i = 0; i < thing.length; i += 1) {\n\t\t\t\t\tif (i > 0) result += ',';\n\n\t\t\t\t\tif (Object.hasOwn(thing, i)) {\n\t\t\t\t\t\tresult += stringify(thing[i]);\n\t\t\t\t\t} else if (!has_holes) {\n\t\t\t\t\t\t// Decide between array literal and Object.assign.\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// Array literal: holes are consecutive commas.\n\t\t\t\t\t\t// For example, [, \"a\", ,] is written as [,\"a\",,].\n\t\t\t\t\t\t// Each hole costs 1 char (a comma).\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// Object.assign: populated indices are listed explicitly.\n\t\t\t\t\t\t// For example, [, \"a\", ,] would be written as\n\t\t\t\t\t\t// Object.assign(Array(3),{1:\"a\"}). This avoids paying\n\t\t\t\t\t\t// per-hole, but has a large fixed overhead for the\n\t\t\t\t\t\t// \"Object.assign(Array(n),{...})\" wrapper, and each\n\t\t\t\t\t\t// element costs extra chars for its index and colon.\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// The serialized values are the same size either way, so\n\t\t\t\t\t\t// the choice comes down to the structural overhead:\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// Array literal overhead:\n\t\t\t\t\t\t// 1 char per element or hole (comma separators)\n\t\t\t\t\t\t// + 2 chars for \"[\" and \"]\"\n\t\t\t\t\t\t// = L + 2\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// Object.assign overhead:\n\t\t\t\t\t\t// \"Object.assign(Array(\" — 20 chars\n\t\t\t\t\t\t// + length — d chars\n\t\t\t\t\t\t// + \"),{\" — 3 chars\n\t\t\t\t\t\t// + for each populated element:\n\t\t\t\t\t\t// index + \":\" + \",\" — (d + 2) chars\n\t\t\t\t\t\t// + \"})\" — 2 chars\n\t\t\t\t\t\t// = (25 + d) + P * (d + 2)\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// where L is the array length, P is the number of\n\t\t\t\t\t\t// populated elements, and d is the number of digits\n\t\t\t\t\t\t// in L (an upper bound on the digits in any index).\n\t\t\t\t\t\t//\n\t\t\t\t\t\t// Object.assign is cheaper when:\n\t\t\t\t\t\t// (25 + d) + P * (d + 2) < L + 2\n\t\t\t\t\t\tconst populated_keys = valid_array_indices(/** @type {any[]} */ (thing));\n\t\t\t\t\t\tconst population = populated_keys.length;\n\t\t\t\t\t\tconst d = String(thing.length).length;\n\n\t\t\t\t\t\tconst hole_cost = thing.length + 2;\n\t\t\t\t\t\tconst sparse_cost = 25 + d + population * (d + 2);\n\n\t\t\t\t\t\tif (hole_cost > sparse_cost) {\n\t\t\t\t\t\t\tconst entries = populated_keys.map((k) => `${k}:${stringify(thing[k])}`).join(',');\n\t\t\t\t\t\t\treturn `Object.assign(Array(${thing.length}),{${entries}})`;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\thas_holes = true;\n\t\t\t\t\t}\n\t\t\t\t\t// else: already decided on array literal, hole is just an empty slot\n\t\t\t\t\t// (the comma separator is all we need — no content for this position)\n\t\t\t\t}\n\n\t\t\t\tconst tail = thing.length === 0 || thing.length - 1 in thing ? '' : ',';\n\t\t\t\treturn result + tail + ']';\n\t\t\t}\n\n\t\t\tcase 'Set':\n\t\t\tcase 'Map':\n\t\t\t\treturn `new ${type}([${Array.from(thing).map(stringify).join(',')}])`;\n\n\t\t\tcase 'Int8Array':\n\t\t\tcase 'Uint8Array':\n\t\t\tcase 'Uint8ClampedArray':\n\t\t\tcase 'Int16Array':\n\t\t\tcase 'Uint16Array':\n\t\t\tcase 'Float16Array':\n\t\t\tcase 'Int32Array':\n\t\t\tcase 'Uint32Array':\n\t\t\tcase 'Float32Array':\n\t\t\tcase 'Float64Array':\n\t\t\tcase 'BigInt64Array':\n\t\t\tcase 'BigUint64Array': {\n\t\t\t\tlet str = `new ${type}`;\n\n\t\t\t\tif (!names.has(thing.buffer)) {\n\t\t\t\t\tstr += `([${stringify_typed_array_elements(type, thing.buffer)}])`;\n\t\t\t\t} else {\n\t\t\t\t\tstr += `(${stringify(thing.buffer)})`;\n\t\t\t\t}\n\n\t\t\t\t// handle subarrays\n\t\t\t\tif (thing.byteLength !== thing.buffer.byteLength) {\n\t\t\t\t\tconst start = thing.byteOffset / thing.BYTES_PER_ELEMENT;\n\t\t\t\t\tconst end = start + thing.length;\n\t\t\t\t\tstr += `.subarray(${start},${end})`;\n\t\t\t\t}\n\n\t\t\t\treturn str;\n\t\t\t}\n\n\t\t\tcase 'DataView': {\n\t\t\t\tlet str = `new DataView`;\n\n\t\t\t\tif (!names.has(thing.buffer)) {\n\t\t\t\t\tstr += `(new Uint8Array([${new Uint8Array(thing.buffer)}]).buffer`;\n\t\t\t\t} else {\n\t\t\t\t\tstr += `(${stringify(thing.buffer)}`;\n\t\t\t\t}\n\n\t\t\t\t// handle subviews\n\t\t\t\tif (thing.byteLength !== thing.buffer.byteLength) {\n\t\t\t\t\tstr += `,${thing.byteOffset},${thing.byteLength}`;\n\t\t\t\t}\n\n\t\t\t\treturn str + ')';\n\t\t\t}\n\n\t\t\tcase 'ArrayBuffer': {\n\t\t\t\tconst ui8 = new Uint8Array(thing);\n\t\t\t\treturn `new Uint8Array([${ui8.toString()}]).buffer`;\n\t\t\t}\n\n\t\t\tcase 'Temporal.Duration':\n\t\t\tcase 'Temporal.Instant':\n\t\t\tcase 'Temporal.PlainDate':\n\t\t\tcase 'Temporal.PlainTime':\n\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\tcase 'Temporal.ZonedDateTime':\n\t\t\t\treturn `${type}.from(${stringify_string(thing.toString())})`;\n\n\t\t\tdefault:\n\t\t\t\tconst keys = Object.keys(thing);\n\t\t\t\tconst obj = keys.map((key) => `${safe_key(key)}:${stringify(thing[key])}`).join(',');\n\t\t\t\tconst proto = Object.getPrototypeOf(thing);\n\t\t\t\tif (proto === null) {\n\t\t\t\t\treturn keys.length > 0 ? `{${obj},__proto__:null}` : `{__proto__:null}`;\n\t\t\t\t}\n\n\t\t\t\treturn `{${obj}}`;\n\t\t}\n\t}\n\n\tconst str = stringify(value);\n\n\tif (names.size) {\n\t\t/** @type {string[]} */\n\t\tconst params = [];\n\n\t\t/** @type {string[]} */\n\t\tconst statements = [];\n\n\t\t/** @type {string[]} */\n\t\tconst values = [];\n\n\t\t// Reconstructions (e.g. `b = new Uint8Array(...)`) reassign a placeholder\n\t\t// parameter. They must run before the `statements` that reference them,\n\t\t// otherwise those statements capture the placeholder. They only depend on\n\t\t// IIFE arguments (never on each other), so emitting them first is safe.\n\t\t/** @type {string[]} */\n\t\tconst reconstructions = [];\n\n\t\tnames.forEach((name, thing) => {\n\t\t\tparams.push(name);\n\n\t\t\tif (custom.has(thing)) {\n\t\t\t\tvalues.push(/** @type {string} */ (custom.get(thing)));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (is_primitive(thing)) {\n\t\t\t\tvalues.push(stringify_primitive(thing));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst type = get_type(thing);\n\n\t\t\tswitch (type) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\tcase 'BigInt':\n\t\t\t\t\tvalues.push(`Object(${stringify(thing.valueOf())})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\tconst { source, flags } = thing;\n\t\t\t\t\tconst regexp = flags\n\t\t\t\t\t\t? `new RegExp(${stringify_string(source)},\"${flags}\")`\n\t\t\t\t\t\t: `new RegExp(${stringify_string(source)})`\n\t\t\t\t\tvalues.push(regexp);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Date':\n\t\t\t\t\tvalues.push(`new Date(${thing.getTime()})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'URL':\n\t\t\t\t\tvalues.push(`new URL(${stringify_string(thing.toString())})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'URLSearchParams':\n\t\t\t\t\tvalues.push(`new URLSearchParams(${stringify_string(thing.toString())})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Array':\n\t\t\t\t\tvalues.push(`Array(${thing.length})`);\n\t\t\t\t\t/** @type {any[]} */ (thing).forEach((v, i) => {\n\t\t\t\t\t\tstatements.push(`${name}[${i}]=${stringify(v)}`);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Set': {\n\t\t\t\t\tvalues.push(`new Set`);\n\t\t\t\t\tconst adds = Array.from(thing).map((v) => `.add(${stringify(v)})`);\n\t\t\t\t\t// An empty Set is fully built by `new Set`; a chained statement would\n\t\t\t\t\t// otherwise be a dangling `name.`.\n\t\t\t\t\tif (adds.length > 0) statements.push(name + adds.join(''));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'Map': {\n\t\t\t\t\tvalues.push(`new Map`);\n\t\t\t\t\tconst sets = Array.from(thing).map(\n\t\t\t\t\t\t([k, v]) => `.set(${stringify(k)}, ${stringify(v)})`\n\t\t\t\t\t);\n\t\t\t\t\tif (sets.length > 0) statements.push(name + sets.join(''));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'Int8Array':\n\t\t\t\tcase 'Uint8Array':\n\t\t\t\tcase 'Uint8ClampedArray':\n\t\t\t\tcase 'Int16Array':\n\t\t\t\tcase 'Uint16Array':\n\t\t\t\tcase 'Float16Array':\n\t\t\t\tcase 'Int32Array':\n\t\t\t\tcase 'Uint32Array':\n\t\t\t\tcase 'Float32Array':\n\t\t\t\tcase 'Float64Array':\n\t\t\t\tcase 'BigInt64Array':\n\t\t\t\tcase 'BigUint64Array': {\n\t\t\t\t\tlet str = `new ${type}`;\n\n\t\t\t\t\tif (!names.has(thing.buffer)) {\n\t\t\t\t\t\tstr += `([${stringify_typed_array_elements(type, thing.buffer)}])`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr += `(${stringify(thing.buffer)})`;\n\t\t\t\t\t}\n\n\t\t\t\t\t// handle subarrays\n\t\t\t\t\tif (thing.byteLength !== thing.buffer.byteLength) {\n\t\t\t\t\t\tconst start = thing.byteOffset / thing.BYTES_PER_ELEMENT;\n\t\t\t\t\t\tconst end = start + thing.length;\n\t\t\t\t\t\tstr += `.subarray(${start},${end})`;\n\t\t\t\t\t}\n\n\t\t\t\t\tvalues.push(`{}`);\n\t\t\t\t\treconstructions.push(`${name}=${str}`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'DataView': {\n\t\t\t\t\tlet str = `new DataView`;\n\n\t\t\t\t\tif (!names.has(thing.buffer)) {\n\t\t\t\t\t\tstr += `(new Uint8Array([${new Uint8Array(thing.buffer)}]).buffer`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr += `(${stringify(thing.buffer)}`;\n\t\t\t\t\t}\n\n\t\t\t\t\t// handle subviews\n\t\t\t\t\tif (thing.byteLength !== thing.buffer.byteLength) {\n\t\t\t\t\t\tstr += `,${thing.byteOffset},${thing.byteLength}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ')';\n\n\t\t\t\t\tvalues.push(`{}`);\n\t\t\t\t\treconstructions.push(`${name}=${str}`);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ArrayBuffer':\n\t\t\t\t\tvalues.push(`new Uint8Array([${new Uint8Array(thing)}]).buffer`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Temporal.Duration':\n\t\t\t\tcase 'Temporal.Instant':\n\t\t\t\tcase 'Temporal.PlainDate':\n\t\t\t\tcase 'Temporal.PlainTime':\n\t\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\t\tcase 'Temporal.ZonedDateTime':\n\t\t\t\t\tvalues.push(`${type}.from(${stringify_string(thing.toString())})`);\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tvalues.push(Object.getPrototypeOf(thing) === null ? 'Object.create(null)' : '{}');\n\t\t\t\t\tObject.keys(thing).forEach((key) => {\n\t\t\t\t\t\tstatements.push(`${name}${safe_prop(key)}=${stringify(thing[key])}`);\n\t\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tstatements.push(`return ${str}`);\n\n\t\tconst body = [...reconstructions, ...statements].join(';');\n\t\t// A function may have at most 65535 parameters (and a call at most that\n\t\t// many arguments). For very large graphs, pass the hoisted values as a\n\t\t// single array argument and destructure them into the placeholder names,\n\t\t// so the emitted code stays within the engine limit (#93).\n\t\tif (params.length > 65534) {\n\t\t\treturn `(function(){var[${params.join(',')}]=arguments[0];${body}}([${values.join(',')}]))`;\n\t\t}\n\n\t\treturn `(function(${params.join(',')}){${body}}(${values.join(',')}))`;\n\t} else {\n\t\treturn str;\n\t}\n}\n\n/**\n * Serialize the elements of `buffer`, read as `type`, as a comma-separated list.\n * The view is created from `type` rather than from the serialized value's own\n * constructor, which may be a subclass like Node's `Buffer` whose `toString`\n * decodes the bytes instead of listing them.\n * `BigInt64Array`/`BigUint64Array` elements are bigints and must be written\n * with an `n` suffix, otherwise the emitted `new BigInt64Array([...])` throws.\n * @param {string} type\n * @param {ArrayBufferLike} buffer\n */\nfunction stringify_typed_array_elements(type, buffer) {\n\tconst array = new (/** @type {any} */ (globalThis)[type])(buffer);\n\n\tif (type === 'BigInt64Array' || type === 'BigUint64Array') {\n\t\treturn Array.from(array, (element) => `${element}n`).join(',');\n\t}\n\n\t// Float arrays can hold `-0`, which `toString()` collapses to `\"0\"`, silently\n\t// losing the sign on round-trip. Emit `-0` explicitly for those elements.\n\tif (\n\t\tarray instanceof Float32Array ||\n\t\tarray instanceof Float64Array ||\n\t\t(typeof Float16Array !== 'undefined' && array instanceof Float16Array)\n\t) {\n\t\treturn Array.from(array, (element) => (Object.is(element, -0) ? '-0' : `${element}`)).join(',');\n\t}\n\n\treturn array.toString();\n}\n\n/** @param {number} num */\nfunction get_name(num) {\n\tlet name = '';\n\n\tdo {\n\t\tname = chars[num % chars.length] + name;\n\t\tnum = ~~(num / chars.length) - 1;\n\t} while (num >= 0);\n\n\treturn reserved.test(name) ? `${name}0` : name;\n}\n\n/** @param {string} c */\nfunction escape_unsafe_char(c) {\n\treturn escaped[c] || c;\n}\n\n/** @param {string} str */\nfunction escape_unsafe_chars(str) {\n\treturn str.replace(unsafe_chars, escape_unsafe_char);\n}\n\n/** @param {string} key */\nfunction safe_key(key) {\n\treturn /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key) ? key : escape_unsafe_chars(JSON.stringify(key));\n}\n\n/** @param {string} key */\nfunction safe_prop(key) {\n\treturn /^[_$a-zA-Z][_$a-zA-Z0-9]*$/.test(key)\n\t\t? `.${key}`\n\t\t: `[${escape_unsafe_chars(JSON.stringify(key))}]`;\n}\n\n/** @param {any} thing */\nfunction stringify_primitive(thing) {\n\tconst type = typeof thing;\n\tif (type === 'string') return stringify_string(thing);\n\tif (thing === void 0) return 'void 0';\n\tif (thing === 0 && 1 / thing < 0) return '-0';\n\tconst str = String(thing);\n\tif (type === 'number') return str.replace(/^(-)?0\\./, '$1.');\n\tif (type === 'bigint') return thing + 'n';\n\treturn str;\n}\n","/* Baseline 2025 runtimes */\n\n/**\t@type {(array_buffer: ArrayBuffer) => string} */\nexport function encode_native(array_buffer) {\n\treturn new Uint8Array(array_buffer).toBase64();\n}\n\n/**\t@type {(base64: string) => ArrayBuffer} */\nexport function decode_native(base64) {\n\treturn Uint8Array.fromBase64(base64).buffer;\n}\n\n/* Node-compatible runtimes */\n\n/** @type {(array_buffer: ArrayBuffer) => string} */\nexport function encode_buffer(array_buffer) {\n\treturn Buffer.from(array_buffer).toString('base64');\n}\n\n/**\t@type {(base64: string) => ArrayBuffer} */\nexport function decode_buffer(base64) {\n\treturn Uint8Array.from(Buffer.from(base64, 'base64')).buffer;\n}\n\n/* Legacy runtimes */\n\n/** @type {(array_buffer: ArrayBuffer) => string} */\nexport function encode_legacy(array_buffer) {\n\tconst array = new Uint8Array(array_buffer);\n\tlet binary = '';\n\n\t// the maximum number of arguments to String.fromCharCode.apply\n\t// should be around 0xFFFF in modern engines\n\tconst chunk_size = 0x8000;\n\tfor (let i = 0; i < array.length; i += chunk_size) {\n\t\tconst chunk = array.subarray(i, i + chunk_size);\n\t\tbinary += String.fromCharCode.apply(null, chunk);\n\t}\n\n\treturn btoa(binary);\n}\n\n/**\t@type {(base64: string) => ArrayBuffer} */\nexport function decode_legacy(base64) {\n\tconst binary_string = atob(base64);\n\tconst len = binary_string.length;\n\tconst array = new Uint8Array(len);\n\n\tfor (let i = 0; i < len; i++) {\n\t\tarray[i] = binary_string.charCodeAt(i);\n\t}\n\n\treturn array.buffer;\n}\n\nconst native = typeof Uint8Array.fromBase64 === 'function';\nconst buffer = typeof process === 'object' && process.versions?.node !== undefined;\n\nexport const encode64 = native ? encode_native : buffer ? encode_buffer : encode_legacy;\nexport const decode64 = native ? decode_native : buffer ? decode_buffer : decode_legacy;\n","import { MAX_ARRAY_INDEX } from './constants.js';\nimport {\n\tenumerable_symbols,\n\tget_type,\n\tis_plain_object,\n\tvalid_array_indices\n} from './utils.js';\n\n/**\n * Merges caller-provided operation overrides over the defaults. Iterating the\n * default keys (rather than the override's own keys) means nullish members\n * fall back to the default, and inherited members — e.g. from a class\n * instance — are picked up.\n *\n * @template {Record<string, any>} T\n * @param {T} defaults\n * @param {Partial<T> | undefined} overrides\n * @returns {T}\n */\nexport function merge_operations(defaults, overrides) {\n\tif (!overrides) return defaults;\n\n\tconst merged = /** @type {T} */ ({});\n\n\tfor (const key of /** @type {(keyof T)[]} */ (Object.keys(defaults))) {\n\t\tmerged[key] = overrides[key] ?? defaults[key];\n\t}\n\n\treturn merged;\n}\n\n/** @type {{ kind: 'not-plain' }} */\nconst NOT_PLAIN = Object.freeze({ kind: 'not-plain' });\n\n/** @type {{ kind: 'symbol-keys' }} */\nconst SYMBOL_KEYS = Object.freeze({ kind: 'symbol-keys' });\n\n/**\n * The default implementations of every introspection/extraction operation\n * `stringify` performs on the value being serialized. Each one uses native\n * JavaScript semantics (property access, iteration, prototype methods, etc).\n *\n * Pass overrides via the `operations` option of `stringify`/`stringifyAsync`\n * to customize how values are inspected — e.g. to serialize values without\n * triggering getters, proxy traps, or patched prototype methods, or to\n * serialize values that live in a different JavaScript runtime (a `node:vm`\n * context, a WASM-hosted engine, a remote process) through handle objects.\n *\n * The object is frozen — it is shared by every `stringify` call that does\n * not override a given operation.\n *\n */\n/** @type {import('./types.js').DefaultStringifyOperations} */\nconst stringify_operations = {\n\tidentify: (value) => value,\n\n\ttypeOf: (value) => (value === null ? 'null' : typeof value),\n\n\ttoPrimitive: (value) => value,\n\n\ttagOf: (value) => get_type(value),\n\n\tisThenable: (value) => typeof value.then === 'function',\n\n\ttoPromise: (thenable) => Promise.resolve(thenable),\n\n\tunbox: (boxed) => boxed.valueOf(),\n\n\ttoISOString: (date) => (isNaN(date.getDate()) ? '' : date.toISOString()),\n\n\ttoStringValue: (value) => value.toString(),\n\n\tregExpInfo: (regexp) => ({ source: regexp.source, flags: regexp.flags }),\n\n\tvaluesOf: (set) => set,\n\n\tentriesOf: (map) => map,\n\n\tviewInfo: (view) => ({\n\t\tbuffer: view.buffer,\n\t\tbyteOffset: view.byteOffset,\n\t\tbyteLength: view.byteLength,\n\t\tlength: view.length,\n\t\tbufferByteLength: view.buffer.byteLength\n\t}),\n\n\ttoArrayBuffer: (buffer) => buffer,\n\n\tlengthOf: (array) => array.length,\n\n\thasOwn: (value, key) => Object.hasOwn(value, key),\n\n\tindicesOf: (array) => valid_array_indices(array),\n\n\tshapeOf: (value) => {\n\t\tif (!is_plain_object(value)) return NOT_PLAIN;\n\t\tif (enumerable_symbols(value).length > 0) return SYMBOL_KEYS;\n\n\t\treturn {\n\t\t\tkind: Object.getPrototypeOf(value) === null ? 'null-proto' : 'plain',\n\t\t\tkeys: Object.keys(value)\n\t\t};\n\t},\n\n\tget: (value, key) => value[key]\n};\n\nexport const default_stringify_operations = Object.freeze(stringify_operations);\n\n/**\n * The default implementations of every construction operation `parse` and\n * `unflatten` perform while reviving a value. Each one uses native\n * JavaScript semantics (built-in constructors, property assignment, etc).\n *\n * Pass overrides via the `operations` option of `parse`/`unflatten` to\n * customize how values are built — e.g. to construct them from the\n * intrinsics of a different realm (a `node:vm` context), or to build up\n * values inside another JavaScript runtime (a WASM-hosted engine, a remote\n * process) through handle objects.\n *\n * The object is frozen — it is shared by every `parse` call that does not\n * override a given operation.\n *\n */\n/** @type {import('./types.js').DefaultParseOperations} */\nconst parse_operations = {\n\tfromPrimitive: (primitive) => primitive,\n\n\tfromISOString: (iso) => new Date(iso),\n\n\tfromStringValue: (tag, text) => {\n\t\tif (tag === 'URL') return new URL(text);\n\t\tif (tag === 'URLSearchParams') return new URLSearchParams(text);\n\t\t// 'Temporal.Instant', 'Temporal.PlainDate', ...\n\t\t// @ts-expect-error TS doesn't know about Temporal yet\n\t\treturn Temporal[tag.slice(9)].from(text);\n\t},\n\n\tfromArrayBuffer: (buffer) => buffer,\n\n\tfromRegExpInfo: (source, flags) => new RegExp(source, flags),\n\n\tfromViewInfo: (tag, buffer, byteOffset, length) => {\n\t\tconst Constructor = /** @type {any} */ (globalThis)[tag];\n\t\treturn byteOffset !== undefined\n\t\t\t? new Constructor(buffer, byteOffset, length)\n\t\t\t: new Constructor(buffer);\n\t},\n\n\tbox: (value) => Object(value),\n\n\tcreateArray: (length) => new Array(length),\n\n\tcreateSparseArray: (length) => {\n\t\t/** @type {any[]} */\n\t\tconst array = [];\n\n\t\t// Setting `array.length = length` (or equivalently calling\n\t\t// `new Array(length)`) on an untrusted length is a DoS vector: V8\n\t\t// eagerly allocates a contiguous backing store for array lengths below\n\t\t// ~10^8, so a small payload with a huge declared length can force\n\t\t// arbitrary memory allocation. Touching the largest-possible index\n\t\t// first forces V8 into dictionary-elements mode, where `length` is\n\t\t// just a number and no contiguous allocation occurs.\n\t\tarray[MAX_ARRAY_INDEX] = undefined;\n\t\tdelete array[MAX_ARRAY_INDEX];\n\t\tarray.length = length;\n\n\t\treturn array;\n\t},\n\n\tcreateObject: () => ({}),\n\n\tcreateNullPrototypeObject: () => Object.create(null),\n\n\tcreateSet: () => new Set(),\n\n\tcreateMap: () => new Map(),\n\n\tset: (target, key, value) => {\n\t\ttarget[key] = value;\n\t},\n\n\taddValue: (set, value) => {\n\t\tset.add(value);\n\t},\n\n\taddEntry: (map, key, value) => {\n\t\tmap.set(key, value);\n\t}\n};\n\nexport const default_parse_operations = Object.freeze(parse_operations);\n","import { decode64 } from './base64.js';\nimport {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tSPARSE,\n\tUNDEFINED\n} from './constants.js';\nimport { default_parse_operations, merge_operations } from './operations.js';\nimport { is_valid_array_index, is_valid_array_len } from './utils.js';\n\n/**\n * Revive a value serialized with `devalue.stringify`\n * @param {string} serialized\n * @param {Record<string, (value: any) => any>} [revivers]\n * @param {import('./types.js').ParseOptions} [options]\n */\nexport function parse(serialized, revivers, options) {\n\treturn unflatten(JSON.parse(serialized), revivers, options);\n}\n\n/**\n * Revive a value flattened with `devalue.stringify`\n * @param {number | any[]} parsed\n * @param {Record<string, (value: any) => any>} [revivers]\n * @param {import('./types.js').ParseOptions} [options]\n */\nexport function unflatten(parsed, revivers, options) {\n\t/** @type {import('./types.js').ParseOperations} */\n\tconst ops = merge_operations(default_parse_operations, options?.operations);\n\n\tif (typeof parsed === 'number') return hydrate(parsed, true);\n\n\tif (!Array.isArray(parsed) || parsed.length === 0) {\n\t\tthrow new Error('Invalid input');\n\t}\n\n\tconst values = /** @type {any[]} */ (parsed);\n\n\tconst hydrated = Array(values.length);\n\n\t/**\n\t * A set of values currently being hydrated with custom revivers,\n\t * used to detect invalid cyclical dependencies\n\t * @type {Set<number> | null}\n\t */\n\tlet hydrating = null;\n\n\t/**\n\t * @param {number} index\n\t * @returns {any}\n\t */\n\tfunction hydrate(index, standalone = false) {\n\t\tif (index === UNDEFINED) return ops.fromPrimitive(undefined);\n\t\tif (index === NAN) return ops.fromPrimitive(NaN);\n\t\tif (index === POSITIVE_INFINITY) return ops.fromPrimitive(Infinity);\n\t\tif (index === NEGATIVE_INFINITY) return ops.fromPrimitive(-Infinity);\n\t\tif (index === NEGATIVE_ZERO) return ops.fromPrimitive(-0);\n\n\t\tif (standalone || typeof index !== 'number') {\n\t\t\tthrow new Error(`Invalid input`);\n\t\t}\n\n\t\tif (index in hydrated) return hydrated[index];\n\n\t\tif (index >= values.length) {\n\t\t\tthrow new Error(`Invalid input`);\n\t\t}\n\n\t\tconst value = values[index];\n\n\t\tif (!value || typeof value !== 'object') {\n\t\t\thydrated[index] = ops.fromPrimitive(value);\n\t\t} else if (Array.isArray(value)) {\n\t\t\tif (typeof value[0] === 'string') {\n\t\t\t\tconst type = value[0];\n\n\t\t\t\tconst reviver = revivers && Object.hasOwn(revivers, type) ? revivers[type] : undefined;\n\n\t\t\t\tif (reviver) {\n\t\t\t\t\tlet i = value[1];\n\t\t\t\t\tif (typeof i !== 'number') {\n\t\t\t\t\t\t// if it's not a number, it was serialized by a builtin reviver\n\t\t\t\t\t\t// so we need to munge it into the format expected by a custom reviver\n\t\t\t\t\t\ti = values.push(value[1]) - 1;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If the payload is already hydrated, its recursion has already\n\t\t\t\t\t// terminated (e.g. a self-referential object cached itself before\n\t\t\t\t\t// following its own back-reference), so revive it directly. Falling\n\t\t\t\t\t// through to the `hydrating` guard here would wrongly reject a valid\n\t\t\t\t\t// cycle. An actually infinite payload (e.g. `[[\"Custom\", 0]]`) is never\n\t\t\t\t\t// cached, so it still hits the guard below.\n\t\t\t\t\tif (Object.hasOwn(hydrated, i)) {\n\t\t\t\t\t\treturn (hydrated[index] = reviver(hydrated[i]));\n\t\t\t\t\t}\n\n\t\t\t\t\thydrating ??= new Set();\n\n\t\t\t\t\tif (hydrating.has(i)) {\n\t\t\t\t\t\tthrow new Error('Invalid circular reference');\n\t\t\t\t\t}\n\n\t\t\t\t\thydrating.add(i);\n\t\t\t\t\thydrated[index] = reviver(hydrate(i));\n\t\t\t\t\thydrating.delete(i);\n\n\t\t\t\t\treturn hydrated[index];\n\t\t\t\t}\n\n\t\t\t\tswitch (type) {\n\t\t\t\t\tcase 'Date':\n\t\t\t\t\t\thydrated[index] = ops.fromISOString(value[1]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Set':\n\t\t\t\t\t\tconst set = ops.createSet();\n\t\t\t\t\t\thydrated[index] = set;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 1) {\n\t\t\t\t\t\t\tops.addValue(set, hydrate(value[i]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Map':\n\t\t\t\t\t\tconst map = ops.createMap();\n\t\t\t\t\t\thydrated[index] = map;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tops.addEntry(map, hydrate(value[i]), hydrate(value[i + 1]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'RegExp':\n\t\t\t\t\t\thydrated[index] = ops.fromRegExpInfo(value[1], value[2]);\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Object': {\n\t\t\t\t\t\tconst wrapped_index = value[1];\n\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof values[wrapped_index] === 'object' &&\n\t\t\t\t\t\t\tvalues[wrapped_index][0] !== 'BigInt'\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// avoid infinite recusion in case of malformed input\n\t\t\t\t\t\t\tthrow new Error('Invalid input');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\thydrated[index] = ops.box(hydrate(wrapped_index));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'BigInt':\n\t\t\t\t\t\thydrated[index] = ops.fromPrimitive(BigInt(value[1]));\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'null':\n\t\t\t\t\t\tconst obj = ops.createNullPrototypeObject();\n\t\t\t\t\t\thydrated[index] = obj;\n\t\t\t\t\t\tfor (let i = 1; i < value.length; i += 2) {\n\t\t\t\t\t\t\tif (value[i] === '__proto__') {\n\t\t\t\t\t\t\t\tthrow new Error('Cannot parse an object with a `__proto__` property');\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tops.set(obj, value[i], hydrate(value[i + 1]));\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\n\t\t\t\t\tcase 'Int8Array':\n\t\t\t\t\tcase 'Uint8Array':\n\t\t\t\t\tcase 'Uint8ClampedArray':\n\t\t\t\t\tcase 'Int16Array':\n\t\t\t\t\tcase 'Uint16Array':\n\t\t\t\t\tcase 'Float16Array':\n\t\t\t\t\tcase 'Int32Array':\n\t\t\t\t\tcase 'Uint32Array':\n\t\t\t\t\tcase 'Float32Array':\n\t\t\t\t\tcase 'Float64Array':\n\t\t\t\t\tcase 'BigInt64Array':\n\t\t\t\t\tcase 'BigUint64Array':\n\t\t\t\t\tcase 'DataView': {\n\t\t\t\t\t\tif (values[value[1]][0] !== 'ArrayBuffer') {\n\t\t\t\t\t\t\t// without this, if we receive malformed input we could\n\t\t\t\t\t\t\t// end up trying to hydrate in a circle or allocate\n\t\t\t\t\t\t\t// huge amounts of memory when we call `new TypedArrayConstructor(buffer)`\n\t\t\t\t\t\t\tthrow new Error('Invalid data');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst buffer = hydrate(value[1]);\n\n\t\t\t\t\t\thydrated[index] = ops.fromViewInfo(type, buffer, value[2], value[3]);\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'ArrayBuffer': {\n\t\t\t\t\t\tconst base64 = value[1];\n\t\t\t\t\t\tif (typeof base64 !== 'string') {\n\t\t\t\t\t\t\tthrow new Error('Invalid ArrayBuffer encoding');\n\t\t\t\t\t\t}\n\t\t\t\t\t\thydrated[index] = ops.fromArrayBuffer(decode64(base64));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'URL':\n\t\t\t\t\tcase 'URLSearchParams':\n\t\t\t\t\tcase 'Temporal.Duration':\n\t\t\t\t\tcase 'Temporal.Instant':\n\t\t\t\t\tcase 'Temporal.PlainDate':\n\t\t\t\t\tcase 'Temporal.PlainTime':\n\t\t\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\t\t\tcase 'Temporal.ZonedDateTime': {\n\t\t\t\t\t\t// the same tags `toStringValue` serializes on the stringify side\n\t\t\t\t\t\thydrated[index] = ops.fromStringValue(type, value[1]);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthrow new Error(`Unknown type ${type}`);\n\t\t\t\t}\n\t\t\t} else if (value[0] === SPARSE) {\n\t\t\t\t// Sparse array encoding: [SPARSE, length, idx, val, idx, val, ...]\n\t\t\t\tconst len = value[1];\n\n\t\t\t\tif (!is_valid_array_len(len)) {\n\t\t\t\t\tthrow new Error('Invalid input');\n\t\t\t\t}\n\n\t\t\t\t// `len` comes from the input rather than being bounded by it, so\n\t\t\t\t// `createSparseArray` is responsible for not allocating storage\n\t\t\t\t// proportional to it.\n\t\t\t\tconst array = ops.createSparseArray(len);\n\t\t\t\thydrated[index] = array;\n\n\t\t\t\tfor (let i = 2; i < value.length; i += 2) {\n\t\t\t\t\tconst idx = value[i];\n\n\t\t\t\t\tif (!is_valid_array_index(idx) || idx >= len) {\n\t\t\t\t\t\tthrow new Error('Invalid input');\n\t\t\t\t\t}\n\n\t\t\t\t\tops.set(array, idx, hydrate(value[i + 1]));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tconst array = ops.createArray(value.length);\n\t\t\t\thydrated[index] = array;\n\n\t\t\t\tfor (let i = 0; i < value.length; i += 1) {\n\t\t\t\t\tconst n = value[i];\n\t\t\t\t\tif (n === HOLE) continue;\n\n\t\t\t\t\tops.set(array, i, hydrate(n));\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst object = ops.createObject();\n\t\t\thydrated[index] = object;\n\n\t\t\tfor (const key of Object.keys(value)) {\n\t\t\t\tif (key === '__proto__') {\n\t\t\t\t\tthrow new Error('Cannot parse an object with a `__proto__` property');\n\t\t\t\t}\n\n\t\t\t\tops.set(object, key, hydrate(value[key]));\n\t\t\t}\n\t\t}\n\n\t\treturn hydrated[index];\n\t}\n\n\treturn hydrate(0);\n}\n","import { DevalueError, stringify_key, stringify_string } from './utils.js';\nimport {\n\tHOLE,\n\tNAN,\n\tNEGATIVE_INFINITY,\n\tNEGATIVE_ZERO,\n\tPOSITIVE_INFINITY,\n\tSPARSE,\n\tUNDEFINED\n} from './constants.js';\nimport { encode64 } from './base64.js';\nimport { default_stringify_operations, merge_operations } from './operations.js';\n\n/**\n * Turn a value into a JSON string that can be parsed with `devalue.parse`\n * @param {any} value\n * @param {Record<string, (value: any) => any>} [reducers]\n * @param {import('./types.js').StringifyOptions} [options]\n */\nexport function stringify(value, reducers, options) {\n\tconst stringified = run(false, value, reducers, options);\n\treturn typeof stringified === 'string' ? stringified : `[${stringified.join(',')}]`;\n}\n\n/**\n * Turn a value into a JSON string that can be parsed with `devalue.parse`\n * @param {any} value\n * @param {Record<string, (value: any) => any>} [reducers]\n * @param {import('./types.js').StringifyOptions} [options]\n */\nexport async function stringifyAsync(value, reducers, options) {\n\tconst stringified = run(true, value, reducers, options);\n\n\tif (typeof stringified === 'string') {\n\t\treturn stringified;\n\t}\n\n\tlet out = '[';\n\n\tfor (let i = 0; i < stringified.length; i += 1) {\n\t\tlet value = stringified[i];\n\n\t\tif (typeof value !== 'string') {\n\t\t\tawait value;\n\t\t\tvalue = stringified[i];\n\n\t\t\tif (i === 0 && value < 0) {\n\t\t\t\treturn `${value}`;\n\t\t\t}\n\t\t}\n\n\t\tout += value;\n\n\t\tif (i < stringified.length - 1) {\n\t\t\tout += ',';\n\t\t}\n\t}\n\n\tout += ']';\n\n\treturn out;\n}\n\n/**\n * @param {boolean} async\n * @param {any} value\n * @param {Record<string, (value: any) => any>} [reducers]\n * @param {import('./types.js').StringifyOptions} [options]\n */\nfunction run(async, value, reducers, options) {\n\tconst ops = merge_operations(default_stringify_operations, options?.operations);\n\n\t/** @type {any[]} */\n\tconst stringified = [];\n\n\t/** @type {Map<any, number>} */\n\tconst indexes = new Map();\n\n\t/** @type {Array<{ key: string, fn: (value: any) => any }>} */\n\tconst custom = [];\n\tif (reducers) {\n\t\tfor (const key of Object.getOwnPropertyNames(reducers)) {\n\t\t\tcustom.push({ key, fn: reducers[key] });\n\t\t}\n\t}\n\n\t/** @type {string[]} */\n\tconst keys = [];\n\n\tlet p = 0;\n\n\t/**\n\t * @param {any} thing\n\t * @param {number} [index]\n\t */\n\tfunction flatten(thing, index) {\n\t\tconst type = ops.typeOf(thing);\n\n\t\tif (type === 'undefined') return UNDEFINED;\n\n\t\t/** @type {number | undefined} */\n\t\tlet number;\n\n\t\t// `ops.toPrimitive` is the boundary between the value being serialized and\n\t\t// plain host JavaScript: everything below operates on the extracted host\n\t\t// primitive, so native comparisons and arithmetic are correct there.\n\t\tif (type === 'number') {\n\t\t\tnumber = /** @type {number} */ (ops.toPrimitive(thing));\n\t\t\tif (Number.isNaN(number)) return NAN;\n\t\t\tif (number === Infinity) return POSITIVE_INFINITY;\n\t\t\tif (number === -Infinity) return NEGATIVE_INFINITY;\n\t\t\tif (number === 0 && 1 / number < 0) return NEGATIVE_ZERO;\n\t\t}\n\n\t\tconst id = ops.identify(thing);\n\n\t\tif (indexes.has(id)) return /** @type {number} */ (indexes.get(id));\n\n\t\tindex ??= p++;\n\t\tindexes.set(id, index);\n\n\t\tfor (const { key, fn } of custom) {\n\t\t\tconst value = fn(thing);\n\t\t\tif (value) {\n\t\t\t\tstringified[index] = `[\"${key}\",${flatten(value)}]`;\n\t\t\t\treturn index;\n\t\t\t}\n\t\t}\n\n\t\tif (type === 'function') {\n\t\t\tthrow new DevalueError(`Cannot stringify a function`, keys, thing, value);\n\t\t} else if (type === 'symbol') {\n\t\t\tthrow new DevalueError(`Cannot stringify a Symbol primitive`, keys, thing, value);\n\t\t}\n\n\t\t/** @type {string | Promise<any>} */\n\t\tlet str = '';\n\n\t\tif (type !== 'object') {\n\t\t\tstr = stringify_primitive(type === 'number' ? number : ops.toPrimitive(thing));\n\t\t} else if (ops.isThenable(thing)) {\n\t\t\tif (!async) {\n\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t`Cannot stringify a Promise or thenable — use stringifyAsync instead`,\n\t\t\t\t\tkeys,\n\t\t\t\t\tthing,\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tstr = ops.toPromise(thing).then((value) => {\n\t\t\t\tconst i = flatten(value, index);\n\t\t\t\tif (i < 0) stringified[index] = i;\n\t\t\t});\n\t\t} else {\n\t\t\tconst tag = ops.tagOf(thing);\n\n\t\t\tswitch (tag) {\n\t\t\t\tcase 'Number':\n\t\t\t\tcase 'String':\n\t\t\t\tcase 'Boolean':\n\t\t\t\tcase 'BigInt':\n\t\t\t\t\tstr = `[\"Object\",${flatten(ops.unbox(thing))}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Date':\n\t\t\t\t\tstr = `[\"Date\",\"${ops.toISOString(thing)}\"]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'URL':\n\t\t\t\t\tstr = `[\"URL\",${stringify_string(ops.toStringValue(thing))}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'URLSearchParams':\n\t\t\t\t\tstr = `[\"URLSearchParams\",${stringify_string(ops.toStringValue(thing))}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'RegExp':\n\t\t\t\t\tconst { source, flags } = ops.regExpInfo(thing);\n\t\t\t\t\tstr = flags\n\t\t\t\t\t\t? `[\"RegExp\",${stringify_string(source)},\"${flags}\"]`\n\t\t\t\t\t\t: `[\"RegExp\",${stringify_string(source)}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Array': {\n\t\t\t\t\t// For dense arrays (no holes), we iterate normally.\n\t\t\t\t\t// When we encounter the first hole, we call Object.keys\n\t\t\t\t\t// to determine the sparseness, then decide between:\n\t\t\t\t\t// - HOLE encoding: [-2, val, -2, ...] (default)\n\t\t\t\t\t// - Sparse encoding: [-7, length, idx, val, ...] (for very sparse arrays)\n\t\t\t\t\t// Only the sparse path avoids iterating every slot, which\n\t\t\t\t\t// is what protects against the DoS of e.g. `arr[1000000] = 1`.\n\t\t\t\t\tlet mostly_dense = false;\n\n\t\t\t\t\tconst length = ops.lengthOf(thing);\n\n\t\t\t\t\tstr = '[';\n\n\t\t\t\t\tfor (let i = 0; i < length; i += 1) {\n\t\t\t\t\t\tif (i > 0) str += ',';\n\n\t\t\t\t\t\tif (ops.hasOwn(thing, i)) {\n\t\t\t\t\t\t\tkeys.push(`[${i}]`);\n\t\t\t\t\t\t\tstr += flatten(ops.get(thing, i));\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t} else if (mostly_dense) {\n\t\t\t\t\t\t\t// Use dense encoding. The heuristic guarantees the\n\t\t\t\t\t\t\t// array is only mildly sparse, so iterating over every\n\t\t\t\t\t\t\t// slot is fine.\n\t\t\t\t\t\t\tstr += HOLE;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Decide between HOLE encoding and sparse encoding.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// HOLE encoding: each hole is serialized as the HOLE\n\t\t\t\t\t\t\t// sentinel (-2). For example, [, \"a\", ,] becomes\n\t\t\t\t\t\t\t// [-2, 0, -2]. Each hole costs 3 chars (\"-2\" + comma).\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Sparse encoding: lists only populated indices.\n\t\t\t\t\t\t\t// For example, [, \"a\", ,] becomes [-7, 3, 1, 0] — the\n\t\t\t\t\t\t\t// -7 sentinel, the array length (3), then index-value\n\t\t\t\t\t\t\t// pairs. This avoids paying per-hole, but each element\n\t\t\t\t\t\t\t// costs extra chars to write its index.\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// The values are the same size either way, so the\n\t\t\t\t\t\t\t// choice comes down to structural overhead:\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// HOLE overhead:\n\t\t\t\t\t\t\t// 3 chars per hole (\"-2\" + comma)\n\t\t\t\t\t\t\t// = (L - P) * 3\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Sparse overhead:\n\t\t\t\t\t\t\t// \"-7,\" — 3 chars (sparse sentinel + comma)\n\t\t\t\t\t\t\t// + length + \",\" — (d + 1) chars (array length + comma)\n\t\t\t\t\t\t\t// + per element: index + \",\" — (d + 1) chars\n\t\t\t\t\t\t\t// = (4 + d) + P * (d + 1)\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// where L is the array length, P is the number of\n\t\t\t\t\t\t\t// populated elements, and d is the number of digits\n\t\t\t\t\t\t\t// in L (an upper bound on the digits in any index).\n\t\t\t\t\t\t\t//\n\t\t\t\t\t\t\t// Sparse encoding is cheaper when:\n\t\t\t\t\t\t\t// (4 + d) + P * (d + 1) < (L - P) * 3\n\t\t\t\t\t\t\tconst populated_keys = ops.indicesOf(thing);\n\t\t\t\t\t\t\tconst population = populated_keys.length;\n\t\t\t\t\t\t\tconst d = String(length).length;\n\n\t\t\t\t\t\t\tconst hole_cost = (length - population) * 3;\n\t\t\t\t\t\t\tconst sparse_cost = 4 + d + population * (d + 1);\n\n\t\t\t\t\t\t\tif (hole_cost > sparse_cost) {\n\t\t\t\t\t\t\t\tstr = '[' + SPARSE + ',' + length;\n\t\t\t\t\t\t\t\tfor (let j = 0; j < populated_keys.length; j++) {\n\t\t\t\t\t\t\t\t\tconst key = populated_keys[j];\n\t\t\t\t\t\t\t\t\tkeys.push(`[${key}]`);\n\t\t\t\t\t\t\t\t\tstr += ',' + key + ',' + flatten(ops.get(thing, key));\n\t\t\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tmostly_dense = true;\n\t\t\t\t\t\t\t\tstr += HOLE;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'Set':\n\t\t\t\t\tstr = '[\"Set\"';\n\n\t\t\t\t\tfor (const value of ops.valuesOf(thing)) {\n\t\t\t\t\t\tstr += `,${flatten(value)}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Map':\n\t\t\t\t\tstr = '[\"Map\"';\n\n\t\t\t\t\tfor (const [key, value] of ops.entriesOf(thing)) {\n\t\t\t\t\t\tconst key_type = ops.typeOf(key);\n\t\t\t\t\t\tconst key_is_primitive =\n\t\t\t\t\t\t\tkey_type !== 'object' && key_type !== 'function' && key_type !== 'symbol';\n\t\t\t\t\t\tkeys.push(\n\t\t\t\t\t\t\t`.get(${key_is_primitive ? stringify_primitive(ops.toPrimitive(key)) : '...'})`\n\t\t\t\t\t\t);\n\t\t\t\t\t\tstr += `,${flatten(key)},${flatten(value)}`;\n\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'Int8Array':\n\t\t\t\tcase 'Uint8Array':\n\t\t\t\tcase 'Uint8ClampedArray':\n\t\t\t\tcase 'Int16Array':\n\t\t\t\tcase 'Uint16Array':\n\t\t\t\tcase 'Float16Array':\n\t\t\t\tcase 'Int32Array':\n\t\t\t\tcase 'Uint32Array':\n\t\t\t\tcase 'Float32Array':\n\t\t\t\tcase 'Float64Array':\n\t\t\t\tcase 'BigInt64Array':\n\t\t\t\tcase 'BigUint64Array': {\n\t\t\t\t\tconst info = ops.viewInfo(thing);\n\t\t\t\t\tstr = '[\"' + tag + '\",' + flatten(info.buffer);\n\n\t\t\t\t\t// handle subarrays\n\t\t\t\t\tif (info.byteLength !== info.bufferByteLength) {\n\t\t\t\t\t\tstr += `,${info.byteOffset},${info.length}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'DataView': {\n\t\t\t\t\tconst info = ops.viewInfo(thing);\n\t\t\t\t\tstr = '[\"' + tag + '\",' + flatten(info.buffer);\n\n\t\t\t\t\tif (info.byteLength !== info.bufferByteLength) {\n\t\t\t\t\t\tstr += `,${info.byteOffset},${info.byteLength}`;\n\t\t\t\t\t}\n\n\t\t\t\t\tstr += ']';\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'ArrayBuffer': {\n\t\t\t\t\tconst base64 = encode64(ops.toArrayBuffer(thing));\n\n\t\t\t\t\tstr = `[\"ArrayBuffer\",\"${base64}\"]`;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tcase 'Temporal.Duration':\n\t\t\t\tcase 'Temporal.Instant':\n\t\t\t\tcase 'Temporal.PlainDate':\n\t\t\t\tcase 'Temporal.PlainTime':\n\t\t\t\tcase 'Temporal.PlainDateTime':\n\t\t\t\tcase 'Temporal.PlainMonthDay':\n\t\t\t\tcase 'Temporal.PlainYearMonth':\n\t\t\t\tcase 'Temporal.ZonedDateTime':\n\t\t\t\t\tstr = `[\"${tag}\",${stringify_string(ops.toStringValue(thing))}]`;\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault: {\n\t\t\t\t\tconst shape = ops.shapeOf(thing);\n\n\t\t\t\t\tif (shape.kind === 'not-plain') {\n\t\t\t\t\t\tthrow new DevalueError(`Cannot stringify arbitrary non-POJOs`, keys, thing, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (shape.kind === 'symbol-keys') {\n\t\t\t\t\t\tthrow new DevalueError(`Cannot stringify POJOs with symbolic keys`, keys, thing, value);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (shape.kind === 'null-proto') {\n\t\t\t\t\t\tstr = '[\"null\"';\n\t\t\t\t\t\tfor (const key of shape.keys) {\n\t\t\t\t\t\t\tif (key === '__proto__') {\n\t\t\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t\t\t`Cannot stringify objects with __proto__ keys`,\n\t\t\t\t\t\t\t\t\tkeys,\n\t\t\t\t\t\t\t\t\tthing,\n\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\t\tstr += `,${stringify_string(key)},${flatten(ops.get(thing, key))}`;\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstr += ']';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstr = '{';\n\t\t\t\t\t\tlet started = false;\n\t\t\t\t\t\tfor (const key of shape.keys) {\n\t\t\t\t\t\t\tif (key === '__proto__') {\n\t\t\t\t\t\t\t\tthrow new DevalueError(\n\t\t\t\t\t\t\t\t\t`Cannot stringify objects with __proto__ keys`,\n\t\t\t\t\t\t\t\t\tkeys,\n\t\t\t\t\t\t\t\t\tthing,\n\t\t\t\t\t\t\t\t\tvalue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (started) str += ',';\n\t\t\t\t\t\t\tstarted = true;\n\t\t\t\t\t\t\tkeys.push(stringify_key(key));\n\t\t\t\t\t\t\tstr += `${stringify_string(key)}:${flatten(ops.get(thing, key))}`;\n\t\t\t\t\t\t\tkeys.pop();\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstr += '}';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tstringified[index] = str;\n\t\treturn index;\n\t}\n\n\tconst index = flatten(value);\n\n\t// special case — value is represented as a negative index\n\tif (index < 0) return `${index}`;\n\n\treturn stringified;\n}\n\n/**\n * @param {any} thing\n * @returns {string}\n */\nfunction stringify_primitive(thing) {\n\tconst type = typeof thing;\n\tif (type === 'string') return stringify_string(thing);\n\tif (thing === void 0) return UNDEFINED.toString();\n\tif (thing === 0 && 1 / thing < 0) return NEGATIVE_ZERO.toString();\n\tif (type === 'bigint') return `[\"BigInt\",\"${thing}\"]`;\n\treturn String(thing);\n}\n","import { BROWSER } from 'esm-env';\n\nexport const text_encoder = new TextEncoder();\n\n/**\n * Like node's path.relative, but without using node\n * @param {string} from\n * @param {string} to\n */\nexport function get_relative_path(from, to) {\n\tconst from_parts = from.split(/[/\\\\]/);\n\tconst to_parts = to.split(/[/\\\\]/);\n\tfrom_parts.pop(); // get dirname\n\n\twhile (from_parts[0] === to_parts[0]) {\n\t\tfrom_parts.shift();\n\t\tto_parts.shift();\n\t}\n\n\tlet i = from_parts.length;\n\twhile (i--) from_parts[i] = '..';\n\n\treturn from_parts.concat(to_parts).join('/');\n}\n\n/**\n * @param {Uint8Array} bytes\n * @returns {string}\n */\nexport function base64_encode(bytes) {\n\t// Using `Buffer` is faster than iterating\n\tif (!BROWSER && globalThis.Buffer) {\n\t\treturn globalThis.Buffer.from(bytes).toString('base64');\n\t}\n\n\tlet binary = '';\n\n\tfor (let i = 0; i < bytes.length; i++) {\n\t\tbinary += String.fromCharCode(bytes[i]);\n\t}\n\n\treturn btoa(binary);\n}\n\n/**\n * @param {string} encoded\n * @returns {Uint8Array}\n */\nexport function base64_decode(encoded) {\n\t// Using `Buffer` is faster than iterating\n\tif (!BROWSER && globalThis.Buffer) {\n\t\tconst buffer = globalThis.Buffer.from(encoded, 'base64');\n\t\treturn new Uint8Array(buffer);\n\t}\n\n\tconst binary = atob(encoded);\n\tconst bytes = new Uint8Array(binary.length);\n\n\tfor (let i = 0; i < binary.length; i++) {\n\t\tbytes[i] = binary.charCodeAt(i);\n\t}\n\n\treturn bytes;\n}\n","/** @import { StandardSchemaV1 } from '@standard-schema/spec' */\n\nimport { HttpError, Redirect, ActionFailure, ValidationError } from './internal/index.js';\nimport { BROWSER, DEV } from 'esm-env';\nimport {\n\tadd_data_suffix,\n\tadd_resolution_suffix,\n\thas_data_suffix,\n\thas_resolution_suffix,\n\tstrip_data_suffix,\n\tstrip_resolution_suffix\n} from '../runtime/pathname.js';\nimport { text_encoder } from '../runtime/utils.js';\n\nexport { VERSION } from '../version.js';\n\n// TODO 3.0: remove these types as they are not used anymore (we can't remove them yet because that would be a breaking change)\n/**\n * @template {number} TNumber\n * @template {any[]} [TArray=[]]\n * @typedef {TNumber extends TArray['length'] ? TArray[number] : LessThan<TNumber, [...TArray, TArray['length']]>} LessThan\n */\n\n/**\n * @template {number} TStart\n * @template {number} TEnd\n * @typedef {Exclude<TEnd | LessThan<TEnd>, LessThan<TStart>>} NumericRange\n */\n\n// Keep the status codes as `number` because restricting to certain numbers makes it unnecessarily hard to use compared to the benefits\n// (we have runtime errors already to check for invalid codes). Also see https://github.com/sveltejs/kit/issues/11780\n\n// we have to repeat the JSDoc because the display for function overloads is broken\n// see https://github.com/microsoft/TypeScript/issues/55056\n\n/**\n * Throws an error with a HTTP status code and an optional message.\n * When called during request handling, this will cause SvelteKit to\n * return an error response without invoking `handleError`.\n * Make sure you're not catching the thrown error, which would prevent SvelteKit from handling it.\n * @param {number} status The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses). Must be in the range 400-599.\n * @param {App.Error} body An object that conforms to the App.Error type. If a string is passed, it will be used as the message property.\n * @overload\n * @param {number} status\n * @param {App.Error} body\n * @return {never}\n * @throws {HttpError} This error instructs SvelteKit to initiate HTTP error handling.\n * @throws {Error} If the provided status is invalid (not between 400 and 599).\n */\n/**\n * Throws an error with a HTTP status code and an optional message.\n * When called during request handling, this will cause SvelteKit to\n * return an error response without invoking `handleError`.\n * Make sure you're not catching the thrown error, which would prevent SvelteKit from handling it.\n * @param {number} status The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses). Must be in the range 400-599.\n * @param {{ message: string } extends App.Error ? App.Error | string | undefined : never} [body] An object that conforms to the App.Error type. If a string is passed, it will be used as the message property.\n * @overload\n * @param {number} status\n * @param {{ message: string } extends App.Error ? App.Error | string | undefined : never} [body]\n * @return {never}\n * @throws {HttpError} This error instructs SvelteKit to initiate HTTP error handling.\n * @throws {Error} If the provided status is invalid (not between 400 and 599).\n */\n/**\n * Throws an error with a HTTP status code and an optional message.\n * When called during request handling, this will cause SvelteKit to\n * return an error response without invoking `handleError`.\n * Make sure you're not catching the thrown error, which would prevent SvelteKit from handling it.\n * @param {number} status The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses). Must be in the range 400-599.\n * @param {{ message: string } extends App.Error ? App.Error | string | undefined : never} body An object that conforms to the App.Error type. If a string is passed, it will be used as the message property.\n * @return {never}\n * @throws {HttpError} This error instructs SvelteKit to initiate HTTP error handling.\n * @throws {Error} If the provided status is invalid (not between 400 and 599).\n */\nexport function error(status, body) {\n\tif ((!BROWSER || DEV) && (isNaN(status) || status < 400 || status > 599)) {\n\t\tthrow new Error(`HTTP error status codes must be between 400 and 599 — ${status} is invalid`);\n\t}\n\n\tthrow new HttpError(status, body);\n}\n\n/**\n * Checks whether this is an error thrown by {@link error}.\n * @template {number} T\n * @param {unknown} e\n * @param {T} [status] The status to filter for.\n * @return {e is (HttpError & { status: T extends undefined ? never : T })}\n */\nexport function isHttpError(e, status) {\n\tif (!(e instanceof HttpError)) return false;\n\treturn !status || e.status === status;\n}\n\n/**\n * Redirect a request. When called during request handling, SvelteKit will return a redirect response.\n * Make sure you're not catching the thrown redirect, which would prevent SvelteKit from handling it.\n *\n * Most common status codes:\n * * `303 See Other`: redirect as a GET request (often used after a form POST request)\n * * `307 Temporary Redirect`: redirect will keep the request method\n * * `308 Permanent Redirect`: redirect will keep the request method, SEO will be transferred to the new page\n *\n * [See all redirect status codes](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#redirection_messages)\n *\n * @param {300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | ({} & number)} status The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#redirection_messages). Must be in the range 300-308.\n * @param {string | URL} location The location to redirect to.\n * @throws {Redirect} This error instructs SvelteKit to redirect to the specified location.\n * @throws {Error} If the provided status is invalid or the location cannot be used as a header value.\n * @return {never}\n */\nexport function redirect(status, location) {\n\tif ((!BROWSER || DEV) && (isNaN(status) || status < 300 || status > 308)) {\n\t\tthrow new Error('Invalid status code');\n\t}\n\n\tthrow new Redirect(\n\t\t// @ts-ignore\n\t\tstatus,\n\t\tlocation.toString()\n\t);\n}\n\n/**\n * Checks whether this is a redirect thrown by {@link redirect}.\n * @param {unknown} e The object to check.\n * @return {e is Redirect}\n */\nexport function isRedirect(e) {\n\treturn e instanceof Redirect;\n}\n\n/**\n * Create a JSON `Response` object from the supplied data.\n * @param {any} data The value that will be serialized as JSON.\n * @param {ResponseInit} [init] Options such as `status` and `headers` that will be added to the response. `Content-Type: application/json` and `Content-Length` headers will be added automatically.\n */\nexport function json(data, init) {\n\t// TODO deprecate this in favour of `Response.json` when it's\n\t// more widely supported\n\tconst body = JSON.stringify(data);\n\n\t// we can't just do `text(JSON.stringify(data), init)` because\n\t// it will set a default `content-type` header. duplicated code\n\t// means less duplicated work\n\tconst headers = new Headers(init?.headers);\n\tif (!headers.has('content-length')) {\n\t\theaders.set('content-length', text_encoder.encode(body).byteLength.toString());\n\t}\n\n\tif (!headers.has('content-type')) {\n\t\theaders.set('content-type', 'application/json');\n\t}\n\n\treturn new Response(body, {\n\t\t...init,\n\t\theaders\n\t});\n}\n\n/**\n * Create a `Response` object from the supplied body.\n * @param {string} body The value that will be used as-is.\n * @param {ResponseInit} [init] Options such as `status` and `headers` that will be added to the response. A `Content-Length` header will be added automatically.\n */\nexport function text(body, init) {\n\tconst headers = new Headers(init?.headers);\n\tif (!headers.has('content-length')) {\n\t\tconst encoded = text_encoder.encode(body);\n\t\theaders.set('content-length', encoded.byteLength.toString());\n\t\treturn new Response(encoded, {\n\t\t\t...init,\n\t\t\theaders\n\t\t});\n\t}\n\n\treturn new Response(body, {\n\t\t...init,\n\t\theaders\n\t});\n}\n\n/**\n * Create an `ActionFailure` object. Call when form submission fails.\n * @param {number} status The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses). Must be in the range 400-599.\n * @overload\n * @param {number} status\n * @returns {import('./public.js').ActionFailure<undefined>}\n */\n/**\n * Create an `ActionFailure` object. Call when form submission fails.\n * @template [T=undefined]\n * @param {number} status The [HTTP status code](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status#client_error_responses). Must be in the range 400-599.\n * @param {T} data Data associated with the failure (e.g. validation errors)\n * @overload\n * @param {number} status\n * @param {T} data\n * @returns {import('./public.js').ActionFailure<T>}\n */\n/**\n * Create an `ActionFailure` object. Call when form submission fails.\n * @param {number} status\n * @param {any} [data]\n * @returns {import('./public.js').ActionFailure<any>}\n */\nexport function fail(status, data) {\n\t// @ts-expect-error unique symbol missing\n\treturn new ActionFailure(status, data);\n}\n\n/**\n * Checks whether this is an action failure thrown by {@link fail}.\n * @param {unknown} e The object to check.\n * @return {e is import('./public.js').ActionFailure}\n */\nexport function isActionFailure(e) {\n\treturn e instanceof ActionFailure;\n}\n\n/**\n * Use this to throw a validation error to imperatively fail form validation.\n * Can be used in combination with `issue` passed to form actions to create field-specific issues.\n *\n * @example\n * ```ts\n * import { invalid } from '@sveltejs/kit';\n * import { form } from '$app/server';\n * import { tryLogin } from '$lib/server/auth';\n * import * as v from 'valibot';\n *\n * export const login = form(\n * v.object({ name: v.string(), _password: v.string() }),\n * async ({ name, _password }) => {\n * const success = tryLogin(name, _password);\n * if (!success) {\n * invalid('Incorrect username or password');\n * }\n *\n * // ...\n * }\n * );\n * ```\n * @param {...(StandardSchemaV1.Issue | string)} issues\n * @returns {never}\n * @since 2.47.3\n */\nexport function invalid(...issues) {\n\tthrow new ValidationError(\n\t\tissues.map((issue) => (typeof issue === 'string' ? { message: issue } : issue))\n\t);\n}\n\n/**\n * Checks whether this is an validation error thrown by {@link invalid}.\n * @param {unknown} e The object to check.\n * @return {e is import('./public.js').ActionFailure}\n * @since 2.47.3\n */\nexport function isValidationError(e) {\n\treturn e instanceof ValidationError;\n}\n\n/**\n * Strips possible SvelteKit-internal suffixes and trailing slashes from the URL pathname.\n * Returns the normalized URL as well as a method for adding the potential suffix back\n * based on a new pathname (possibly including search) or URL.\n * ```js\n * import { normalizeUrl } from '@sveltejs/kit';\n *\n * const { url, denormalize } = normalizeUrl('/blog/post/__data.json');\n * console.log(url.pathname); // /blog/post\n * console.log(denormalize('/blog/post/a')); // /blog/post/a/__data.json\n * ```\n * @param {URL | string} url\n * @returns {{ url: URL, wasNormalized: boolean, denormalize: (url?: string | URL) => URL }}\n * @since 2.18.0\n */\nexport function normalizeUrl(url) {\n\turl = new URL(url, 'a://a');\n\n\tconst is_route_resolution = has_resolution_suffix(url.pathname);\n\tconst is_data_request = has_data_suffix(url.pathname);\n\tconst has_trailing_slash = url.pathname !== '/' && url.pathname.endsWith('/');\n\n\tif (is_route_resolution) {\n\t\turl.pathname = strip_resolution_suffix(url.pathname);\n\t} else if (is_data_request) {\n\t\turl.pathname = strip_data_suffix(url.pathname);\n\t} else if (has_trailing_slash) {\n\t\turl.pathname = url.pathname.slice(0, -1);\n\t}\n\n\treturn {\n\t\turl,\n\t\twasNormalized: is_data_request || is_route_resolution || has_trailing_slash,\n\t\tdenormalize: (new_url = url) => {\n\t\t\tnew_url = new URL(new_url, url);\n\t\t\tif (is_route_resolution) {\n\t\t\t\tnew_url.pathname = add_resolution_suffix(new_url.pathname);\n\t\t\t} else if (is_data_request) {\n\t\t\t\tnew_url.pathname = add_data_suffix(new_url.pathname);\n\t\t\t} else if (has_trailing_slash && !new_url.pathname.endsWith('/')) {\n\t\t\t\tnew_url.pathname += '/';\n\t\t\t}\n\t\t\treturn new_url;\n\t\t}\n\t};\n}\n","export const NULL_BODY_STATUS = [101, 103, 204, 205, 304];\n\n// eslint-disable-next-line n/prefer-global/process\nexport const IN_WEBCONTAINER = !!globalThis.process?.versions?.webcontainer;\n","/** @import { RequestEvent } from '@sveltejs/kit' */\n/** @import { RequestStore } from 'types' */\n/** @import { AsyncLocalStorage } from 'node:async_hooks' */\n\nimport { IN_WEBCONTAINER } from '../../runtime/server/constants.js';\n\n/** @type {RequestStore | null} */\nlet sync_store = null;\n\n/** @type {AsyncLocalStorage<RequestStore | null> | null} */\nlet als;\n\nimport('node:async_hooks')\n\t.then((hooks) => (als = new hooks.AsyncLocalStorage()))\n\t.catch(() => {\n\t\t// can't use AsyncLocalStorage, but can still call getRequestEvent synchronously.\n\t\t// this isn't behind `supports` because it's basically just StackBlitz (i.e.\n\t\t// in-browser usage) that doesn't support it AFAICT\n\t});\n\n/**\n * Returns the current `RequestEvent`. Can be used inside server hooks, server `load` functions, actions, and endpoints (and functions called by them).\n *\n * In environments without [`AsyncLocalStorage`](https://nodejs.org/api/async_context.html#class-asynclocalstorage), this must be called synchronously (i.e. not after an `await`).\n * @since 2.20.0\n *\n * @returns {RequestEvent}\n */\nexport function getRequestEvent() {\n\tconst event = try_get_request_store()?.event;\n\n\tif (!event) {\n\t\tlet message =\n\t\t\t'Can only read the current request event inside functions invoked during `handle`, such as server `load` functions, actions, endpoints, and other server hooks.';\n\n\t\tif (!als) {\n\t\t\tmessage +=\n\t\t\t\t' In environments without `AsyncLocalStorage`, the event must be read synchronously, not after an `await`.';\n\t\t}\n\n\t\tthrow new Error(message);\n\t}\n\n\treturn event;\n}\n\nexport function get_request_store() {\n\tconst result = try_get_request_store();\n\tif (!result) {\n\t\tlet message = 'Could not get the request store.';\n\n\t\tif (als) {\n\t\t\tmessage += ' This is an internal error.';\n\t\t} else {\n\t\t\tmessage +=\n\t\t\t\t' In environments without `AsyncLocalStorage`, the request store (used by e.g. remote functions) must be accessed synchronously, not after an `await`.' +\n\t\t\t\t' If it was accessed synchronously then this is an internal error.';\n\t\t}\n\n\t\tthrow new Error(message);\n\t}\n\treturn result;\n}\n\nexport function try_get_request_store() {\n\treturn sync_store ?? als?.getStore() ?? null;\n}\n\n/**\n * @template T\n * @param {RequestStore | null} store\n * @param {() => T} fn\n */\nexport function with_request_store(store, fn) {\n\ttry {\n\t\tsync_store = store;\n\t\treturn als ? als.run(store, fn) : fn();\n\t} finally {\n\t\t// Since AsyncLocalStorage is not working in webcontainers, we don't reset `sync_store`\n\t\t// and handle only one request at a time in `src/runtime/server/index.js`.\n\t\tif (!IN_WEBCONTAINER) {\n\t\t\tsync_store = null;\n\t\t}\n\t}\n}\n","/**\n * @template {{ tracing: { enabled: boolean, root: import('@opentelemetry/api').Span, current: import('@opentelemetry/api').Span } }} T\n * @param {T} event_like\n * @param {import('@opentelemetry/api').Span} current\n * @returns {T}\n */\nexport function merge_tracing(event_like, current) {\n\treturn {\n\t\t...event_like,\n\t\ttracing: {\n\t\t\t...event_like.tracing,\n\t\t\tcurrent\n\t\t}\n\t};\n}\n\nexport {\n\twith_request_store,\n\tgetRequestEvent,\n\tget_request_store,\n\ttry_get_request_store\n} from './event.js';\n","import * as devalue from \"devalue\";\nimport { a as base64_decode, t as text_encoder, b as base64_encode } from \"./utils2.js\";\nimport { json, text } from \"@sveltejs/kit\";\nimport { SvelteKitError, HttpError } from \"@sveltejs/kit/internal\";\nimport { with_request_store } from \"@sveltejs/kit/internal/server\";\nimport * as set_cookie_parser from \"set-cookie-parser\";\nconst SVELTE_KIT_ASSETS = \"/_svelte_kit_assets\";\nconst ENDPOINT_METHODS = [\"GET\", \"POST\", \"PUT\", \"PATCH\", \"DELETE\", \"OPTIONS\", \"HEAD\"];\nconst MUTATIVE_METHODS = [\"POST\", \"PUT\", \"PATCH\", \"DELETE\"];\nconst PAGE_METHODS = [\"GET\", \"POST\", \"HEAD\"];\nfunction noop() {\n}\nfunction once(fn) {\n let done = false;\n let result;\n return () => {\n if (done) return result;\n done = true;\n return result = fn();\n };\n}\nconst decoder = new TextDecoder();\nfunction set_nested_value(object, path_string, value) {\n if (path_string.startsWith(\"n:\")) {\n path_string = path_string.slice(2);\n value = value === \"\" ? void 0 : parseFloat(value);\n } else if (path_string.startsWith(\"b:\")) {\n path_string = path_string.slice(2);\n value = value === \"on\";\n }\n deep_set(object, split_path(path_string), value);\n}\nconst DELETE_KEY = {};\nfunction convert_formdata(data) {\n const result = {};\n for (let key of data.keys()) {\n const is_array = key.endsWith(\"[]\");\n let values = data.getAll(key);\n if (is_array) key = key.slice(0, -2);\n values = values.filter(\n (entry) => typeof entry === \"string\" || entry.name !== \"\" || entry.size > 0\n );\n if (values.length === 0 && !is_array) continue;\n if (key.startsWith(\"n:\")) {\n key = key.slice(2);\n values = values.map((v) => v === \"\" ? void 0 : parseFloat(\n /** @type {string} */\n v\n ));\n } else if (key.startsWith(\"b:\")) {\n key = key.slice(2);\n values = values.map((v) => v === \"on\");\n }\n if (values.length > 1 && !is_array) {\n throw new Error(`Form cannot contain duplicated keys — \"${key}\" has ${values.length} values`);\n }\n set_nested_value(result, key, is_array ? values : values[0]);\n }\n return result;\n}\nconst BINARY_FORM_CONTENT_TYPE = \"application/x-sveltekit-formdata\";\nconst BINARY_FORM_VERSION = 0;\nconst HEADER_BYTES = 1 + 4 + 2;\nasync function deserialize_binary_form(request) {\n if (request.headers.get(\"content-type\") !== BINARY_FORM_CONTENT_TYPE) {\n const form_data = await request.formData();\n return { data: convert_formdata(form_data), meta: {}, form_data };\n }\n if (!request.body) {\n throw deserialize_error(\"no body\");\n }\n const reader = request.body.getReader();\n const chunks = [];\n function get_chunk(index) {\n if (index in chunks) return chunks[index];\n let i = chunks.length;\n while (i <= index) {\n chunks[i] = reader.read().then((chunk) => chunk.value);\n i++;\n }\n return chunks[index];\n }\n async function get_buffer(offset, length) {\n let start_chunk;\n let chunk_start = 0;\n let chunk_index;\n for (chunk_index = 0; ; chunk_index++) {\n const chunk = await get_chunk(chunk_index);\n if (!chunk) return null;\n const chunk_end = chunk_start + chunk.byteLength;\n if (offset >= chunk_start && offset < chunk_end) {\n start_chunk = chunk;\n break;\n }\n chunk_start = chunk_end;\n }\n if (offset + length <= chunk_start + start_chunk.byteLength) {\n return start_chunk.subarray(offset - chunk_start, offset + length - chunk_start);\n }\n const chunks2 = [start_chunk.subarray(offset - chunk_start)];\n let cursor = start_chunk.byteLength - offset + chunk_start;\n while (cursor < length) {\n chunk_index++;\n let chunk = await get_chunk(chunk_index);\n if (!chunk) return null;\n if (chunk.byteLength > length - cursor) {\n chunk = chunk.subarray(0, length - cursor);\n }\n chunks2.push(chunk);\n cursor += chunk.byteLength;\n }\n const buffer = new Uint8Array(length);\n cursor = 0;\n for (const chunk of chunks2) {\n buffer.set(chunk, cursor);\n cursor += chunk.byteLength;\n }\n return buffer;\n }\n const header = await get_buffer(0, HEADER_BYTES);\n if (!header) throw deserialize_error(\"too short\");\n if (header[0] !== BINARY_FORM_VERSION) {\n throw deserialize_error(`got version ${header[0]}, expected version ${BINARY_FORM_VERSION}`);\n }\n const header_view = new DataView(header.buffer, header.byteOffset, header.byteLength);\n const data_length = header_view.getUint32(1, true);\n const file_offsets_length = header_view.getUint16(5, true);\n const data_buffer = await get_buffer(HEADER_BYTES, data_length);\n if (!data_buffer) throw deserialize_error(\"data too short\");\n let file_offsets;\n let files_start_offset;\n if (file_offsets_length > 0) {\n const file_offsets_buffer = await get_buffer(HEADER_BYTES + data_length, file_offsets_length);\n if (!file_offsets_buffer) throw deserialize_error(\"file offset table too short\");\n const parsed_offsets = JSON.parse(decoder.decode(file_offsets_buffer));\n if (!Array.isArray(parsed_offsets) || parsed_offsets.some((n) => typeof n !== \"number\" || !Number.isInteger(n) || n < 0)) {\n throw deserialize_error(\"invalid file offset table\");\n }\n file_offsets = /** @type {Array<number>} */\n parsed_offsets;\n files_start_offset = HEADER_BYTES + data_length + file_offsets_length;\n }\n const file_spans = [];\n const [data, meta] = devalue.parse(decoder.decode(data_buffer), {\n File: ([name, type, size, last_modified, index]) => {\n if (typeof name !== \"string\" || typeof type !== \"string\" || typeof size !== \"number\" || typeof last_modified !== \"number\" || typeof index !== \"number\") {\n throw deserialize_error(\"invalid file metadata\");\n }\n let offset = file_offsets[index];\n if (offset === void 0) {\n throw deserialize_error(\"duplicate file offset table index\");\n }\n file_offsets[index] = void 0;\n offset += files_start_offset;\n file_spans.push({ offset, size });\n return new Proxy(new LazyFile(name, type, size, last_modified, get_chunk, offset), {\n getPrototypeOf() {\n return File.prototype;\n }\n });\n }\n });\n file_spans.sort((a, b) => a.offset - b.offset || a.size - b.size);\n for (let i = 1; i < file_spans.length; i++) {\n const previous = file_spans[i - 1];\n const current = file_spans[i];\n const previous_end = previous.offset + previous.size;\n if (previous_end < current.offset) {\n throw deserialize_error(\"gaps in file data\");\n }\n if (previous_end > current.offset) {\n throw deserialize_error(\"overlapping file data\");\n }\n }\n void (async () => {\n let has_more = true;\n while (has_more) {\n const chunk = await get_chunk(chunks.length);\n has_more = !!chunk;\n }\n })().catch(noop);\n return { data, meta, form_data: null };\n}\nfunction deserialize_error(message) {\n return new SvelteKitError(400, \"Bad Request\", `Could not deserialize binary form: ${message}`);\n}\nclass LazyFile {\n /** @type {(index: number) => Promise<Uint8Array<ArrayBuffer> | undefined>} */\n #get_chunk;\n /** @type {number} */\n #offset;\n /**\n * @param {string} name\n * @param {string} type\n * @param {number} size\n * @param {number} last_modified\n * @param {(index: number) => Promise<Uint8Array<ArrayBuffer> | undefined>} get_chunk\n * @param {number} offset\n */\n constructor(name, type, size, last_modified, get_chunk, offset) {\n this.name = name;\n this.type = type;\n this.size = size;\n this.lastModified = last_modified;\n this.webkitRelativePath = \"\";\n this.#get_chunk = get_chunk;\n this.#offset = offset;\n this.arrayBuffer = this.arrayBuffer.bind(this);\n this.bytes = this.bytes.bind(this);\n this.slice = this.slice.bind(this);\n this.stream = this.stream.bind(this);\n this.text = this.text.bind(this);\n }\n /** @type {ArrayBuffer | undefined} */\n #buffer;\n async arrayBuffer() {\n this.#buffer ??= await new Response(this.stream()).arrayBuffer();\n return this.#buffer;\n }\n async bytes() {\n return new Uint8Array(await this.arrayBuffer());\n }\n /**\n * @param {number=} start\n * @param {number=} end\n * @param {string=} contentType\n */\n slice(start = 0, end = this.size, contentType = this.type) {\n if (start < 0) {\n start = Math.max(this.size + start, 0);\n } else {\n start = Math.min(start, this.size);\n }\n if (end < 0) {\n end = Math.max(this.size + end, 0);\n } else {\n end = Math.min(end, this.size);\n }\n const size = Math.max(end - start, 0);\n const file = new LazyFile(\n this.name,\n contentType,\n size,\n this.lastModified,\n this.#get_chunk,\n this.#offset + start\n );\n return file;\n }\n stream() {\n let cursor = 0;\n let chunk_index = 0;\n return new ReadableStream({\n start: async (controller) => {\n let chunk_start = 0;\n let start_chunk;\n for (chunk_index = 0; ; chunk_index++) {\n const chunk = await this.#get_chunk(chunk_index);\n if (!chunk) return null;\n const chunk_end = chunk_start + chunk.byteLength;\n if (this.#offset >= chunk_start && this.#offset < chunk_end) {\n start_chunk = chunk;\n break;\n }\n chunk_start = chunk_end;\n }\n if (this.#offset + this.size <= chunk_start + start_chunk.byteLength) {\n controller.enqueue(\n start_chunk.subarray(this.#offset - chunk_start, this.#offset + this.size - chunk_start)\n );\n controller.close();\n } else {\n controller.enqueue(start_chunk.subarray(this.#offset - chunk_start));\n cursor = start_chunk.byteLength - this.#offset + chunk_start;\n }\n },\n pull: async (controller) => {\n chunk_index++;\n let chunk = await this.#get_chunk(chunk_index);\n if (!chunk) {\n controller.error(\"incomplete file data\");\n controller.close();\n return;\n }\n if (chunk.byteLength > this.size - cursor) {\n chunk = chunk.subarray(0, this.size - cursor);\n }\n controller.enqueue(chunk);\n cursor += chunk.byteLength;\n if (cursor >= this.size) {\n controller.close();\n }\n }\n });\n }\n async text() {\n return decoder.decode(await this.arrayBuffer());\n }\n}\nconst path_regex = /^[a-zA-Z_$]\\w*(\\.[a-zA-Z_$]\\w*|\\[\\d+\\])*$/;\nfunction split_path(path) {\n if (!path_regex.test(path)) {\n throw new Error(`Invalid path ${path}`);\n }\n return path.split(/\\.|\\[|\\]/).filter(Boolean);\n}\nfunction check_prototype_pollution(key) {\n if (key === \"__proto__\" || key === \"constructor\" || key === \"prototype\") {\n throw new Error(\n `Invalid key \"${key}\"`\n );\n }\n}\nfunction deep_set(object, keys, value) {\n let current = object;\n for (let i = 0; i < keys.length - 1; i += 1) {\n const key = keys[i];\n check_prototype_pollution(key);\n const is_array = /^\\d+$/.test(keys[i + 1]);\n const inner = Object.hasOwn(current, key) ? current[key] : void 0;\n const exists = inner != null;\n if (exists && is_array !== Array.isArray(inner)) {\n throw new Error(`Invalid array key ${keys[i + 1]}`);\n }\n if (!exists) {\n if (value === DELETE_KEY) {\n return;\n }\n current[key] = is_array ? [] : {};\n }\n current = current[key];\n }\n const final_key = keys[keys.length - 1];\n check_prototype_pollution(final_key);\n if (value === DELETE_KEY) {\n delete current[final_key];\n } else {\n current[final_key] = value;\n }\n}\nfunction normalize_issue(issue, server = false) {\n const normalized = { name: \"\", path: [], message: issue.message, server };\n if (issue.path !== void 0) {\n let name = \"\";\n for (const segment of issue.path) {\n const key = (\n /** @type {string | number} */\n typeof segment === \"object\" ? segment.key : segment\n );\n normalized.path.push(key);\n if (typeof key === \"number\") {\n name += `[${key}]`;\n } else if (typeof key === \"string\") {\n name += name === \"\" ? key : \".\" + key;\n }\n }\n normalized.name = name;\n }\n return normalized;\n}\nfunction flatten_issues(issues) {\n const result = {};\n for (const issue of issues) {\n (result.$ ??= []).push(issue);\n let name = \"\";\n if (issue.path !== void 0) {\n for (const key of issue.path) {\n if (typeof key === \"number\") {\n name += `[${key}]`;\n } else if (typeof key === \"string\") {\n name += name === \"\" ? key : \".\" + key;\n }\n (result[name] ??= []).push(issue);\n }\n }\n }\n return result;\n}\nfunction deep_get(object, path) {\n let current = object;\n for (const key of path) {\n if (current == null || typeof current !== \"object\") {\n return current;\n }\n current = current[key];\n }\n return current;\n}\nfunction get_type_prefix(field_type, is_array, input_value) {\n if (field_type === \"number\" || field_type === \"range\") return \"n:\";\n if (field_type === \"checkbox\" && !is_array) return \"b:\";\n if (field_type === \"hidden\" || field_type === \"submit\") {\n const input_type = typeof input_value;\n if (input_type === \"number\") return \"n:\";\n if (input_type === \"boolean\") return \"b:\";\n }\n return \"\";\n}\nfunction deep_clone(value) {\n if (value !== null && typeof value === \"object\") {\n if (value instanceof File) {\n return value;\n }\n if (Array.isArray(value)) {\n return value.map(deep_clone);\n }\n const clone = {};\n for (const key of Object.keys(value)) {\n clone[key] = deep_clone(value[key]);\n }\n return clone;\n }\n return value;\n}\nfunction create_field_proxy(target, get_input, set_input, get_issues, path = []) {\n const get_value = () => {\n const value = deep_get(get_input(), path);\n return deep_clone(value);\n };\n return new Proxy(target, {\n get(target2, prop) {\n if (typeof prop === \"symbol\") return target2[prop];\n if (/^\\d+$/.test(prop)) {\n return create_field_proxy({}, get_input, set_input, get_issues, [\n ...path,\n parseInt(prop, 10)\n ]);\n }\n const key = build_path_string(path);\n if (prop === \"set\") {\n const set_func = function(newValue) {\n set_input(path, newValue);\n return newValue;\n };\n return create_field_proxy(set_func, get_input, set_input, get_issues, [...path, prop]);\n }\n if (prop === \"value\") {\n return create_field_proxy(get_value, get_input, set_input, get_issues, [...path, prop]);\n }\n if (prop === \"issues\" || prop === \"allIssues\") {\n const issues_func = () => {\n const all_issues = get_issues(path, prop === \"allIssues\")[key === \"\" ? \"$\" : key];\n if (prop === \"allIssues\") {\n return all_issues?.map((issue) => ({\n path: issue.path,\n message: issue.message\n }));\n }\n const issues = all_issues?.filter((issue) => issue.name === key)?.map((issue) => ({\n path: issue.path,\n message: issue.message\n }));\n return issues?.length ? issues : void 0;\n };\n return create_field_proxy(issues_func, get_input, set_input, get_issues, [...path, prop]);\n }\n if (prop === \"as\") {\n const as_func = (type, input_value) => {\n const is_array = type === \"file multiple\" || type === \"select multiple\" || type === \"checkbox\" && typeof input_value === \"string\";\n const prefix = get_type_prefix(type, is_array, input_value);\n const base_props = {\n name: prefix + key + (is_array ? \"[]\" : \"\"),\n get \"aria-invalid\"() {\n const issues = get_issues();\n return key in issues ? \"true\" : void 0;\n }\n };\n if (type !== \"text\" && type !== \"select\" && type !== \"select multiple\") {\n base_props.type = type === \"file multiple\" ? \"file\" : type;\n }\n if (type === \"submit\" || type === \"hidden\") {\n const value = typeof input_value === \"boolean\" ? input_value ? \"on\" : \"off\" : input_value;\n return Object.defineProperties(base_props, {\n value: { value, enumerable: true }\n });\n }\n if (type === \"select\" || type === \"select multiple\") {\n return Object.defineProperties(base_props, {\n multiple: { value: is_array, enumerable: true },\n value: {\n enumerable: true,\n get() {\n return get_value() ?? input_value;\n }\n }\n });\n }\n if (type === \"checkbox\" || type === \"radio\") {\n if (type === \"checkbox\" && !is_array) {\n return Object.defineProperties(base_props, {\n defaultChecked: {\n enumerable: true,\n get() {\n return input_value;\n }\n },\n checked: {\n enumerable: true,\n get() {\n return get_value() ?? input_value;\n }\n }\n });\n }\n return Object.defineProperties(base_props, {\n value: { value: input_value ?? \"on\", enumerable: true },\n checked: {\n enumerable: true,\n get() {\n const value = get_value();\n if (type === \"radio\") {\n return value === input_value;\n }\n return (value ?? []).includes(input_value);\n }\n }\n });\n }\n if (type === \"file\" || type === \"file multiple\") {\n return Object.defineProperties(base_props, {\n multiple: { value: is_array, enumerable: true },\n files: {\n enumerable: true,\n get() {\n const value = get_value();\n if (value instanceof File) {\n if (typeof DataTransfer !== \"undefined\") {\n const fileList = new DataTransfer();\n fileList.items.add(value);\n return fileList.files;\n }\n return { 0: value, length: 1 };\n }\n if (Array.isArray(value) && value.every((f) => f instanceof File)) {\n if (typeof DataTransfer !== \"undefined\") {\n const fileList = new DataTransfer();\n value.forEach((file) => fileList.items.add(file));\n return fileList.files;\n }\n const fileListLike = { length: value.length };\n value.forEach((file, index) => {\n fileListLike[index] = file;\n });\n return fileListLike;\n }\n return null;\n }\n }\n });\n }\n return Object.defineProperties(base_props, {\n defaultValue: {\n enumerable: true,\n get() {\n return input_value;\n }\n },\n value: {\n enumerable: true,\n get() {\n const value = get_value() ?? input_value;\n return value != null ? String(value) : \"\";\n }\n }\n });\n };\n return create_field_proxy(as_func, get_input, set_input, get_issues, [...path, \"as\"]);\n }\n return create_field_proxy({}, get_input, set_input, get_issues, [...path, prop]);\n }\n });\n}\nfunction build_path_string(path) {\n let result = \"\";\n for (const segment of path) {\n if (typeof segment === \"number\") {\n result += `[${segment}]`;\n } else {\n result += result === \"\" ? segment : \".\" + segment;\n }\n }\n return result;\n}\nconst INVALIDATED_PARAM = \"x-sveltekit-invalidated\";\nconst TRAILING_SLASH_PARAM = \"x-sveltekit-trailing-slash\";\nfunction stringify(data, transport) {\n const encoders = Object.fromEntries(Object.entries(transport).map(([k, v]) => [k, v.encode]));\n return devalue.stringify(data, encoders);\n}\nconst object_proto_names = /* @__PURE__ */ Object.getOwnPropertyNames(Object.prototype).sort().join(\"\\0\");\nfunction is_plain_object(thing) {\n if (typeof thing !== \"object\" || thing === null) return false;\n const proto = Object.getPrototypeOf(thing);\n return proto === Object.prototype || proto === null || Object.getPrototypeOf(proto) === null || Object.getOwnPropertyNames(proto).sort().join(\"\\0\") === object_proto_names;\n}\nfunction to_sorted(value, clones) {\n const clone = Object.getPrototypeOf(value) === null ? /* @__PURE__ */ Object.create(null) : {};\n clones.set(value, clone);\n Object.defineProperty(clone, remote_arg_marker, { value: true });\n for (const key of Object.keys(value).sort()) {\n const property = value[key];\n Object.defineProperty(clone, key, {\n value: clones.get(property) ?? property,\n enumerable: true,\n configurable: true,\n writable: true\n });\n }\n return clone;\n}\nconst remote_object = \"__skrao\";\nconst remote_map = \"__skram\";\nconst remote_set = \"__skras\";\nconst remote_file = \"__skraf\";\nconst remote_regex_guard = \"__skrag\";\nconst remote_arg_marker = Symbol(remote_object);\nfunction create_remote_arg_reducers(transport, sort, remote_arg_clones) {\n const remote_fns_reducers = {\n /** @param {unknown} value */\n [remote_regex_guard]: (value) => {\n if (value instanceof RegExp) {\n throw new Error(\"Regular expressions are not valid remote function arguments\");\n }\n }\n };\n {\n remote_fns_reducers[remote_map] = (value) => {\n if (!(value instanceof Map)) {\n return;\n }\n const entries = [];\n for (const [key, val] of value) {\n entries.push([stringify2(key), stringify2(val)]);\n }\n return entries.sort(([a1, a2], [b1, b2]) => {\n if (a1 < b1) return -1;\n if (a1 > b1) return 1;\n if (a2 < b2) return -1;\n if (a2 > b2) return 1;\n return 0;\n });\n };\n remote_fns_reducers[remote_set] = (value) => {\n if (!(value instanceof Set)) {\n return;\n }\n const items = [];\n for (const item of value) {\n items.push(stringify2(item));\n }\n items.sort();\n return items;\n };\n remote_fns_reducers[remote_object] = (value) => {\n if (!is_plain_object(value)) {\n return;\n }\n if (Object.hasOwn(value, remote_arg_marker)) {\n return;\n }\n if (remote_arg_clones.has(value)) {\n return remote_arg_clones.get(value);\n }\n return to_sorted(value, remote_arg_clones);\n };\n }\n const user_reducers = Object.fromEntries(\n Object.entries(transport).map(([k, v]) => [k, v.encode])\n );\n const all_reducers = { ...user_reducers, ...remote_fns_reducers };\n const stringify2 = (value) => devalue.stringify(value, all_reducers);\n return all_reducers;\n}\nfunction create_remote_arg_revivers(transport) {\n const remote_fns_revivers = {\n /** @type {(value: unknown) => unknown} */\n [remote_object]: (value) => value,\n /** @type {(value: unknown) => Map<unknown, unknown>} */\n [remote_map]: (value) => {\n if (!Array.isArray(value)) {\n throw new Error(\"Invalid data for Map reviver\");\n }\n const map = /* @__PURE__ */ new Map();\n for (const item of value) {\n if (!Array.isArray(item) || item.length !== 2 || typeof item[0] !== \"string\" || typeof item[1] !== \"string\") {\n throw new Error(\"Invalid data for Map reviver\");\n }\n const [key, val] = item;\n map.set(parse(key), parse(val));\n }\n return map;\n },\n /** @type {(value: unknown) => Set<unknown>} */\n [remote_set]: (value) => {\n if (!Array.isArray(value)) {\n throw new Error(\"Invalid data for Set reviver\");\n }\n const set = /* @__PURE__ */ new Set();\n for (const item of value) {\n if (typeof item !== \"string\") {\n throw new Error(\"Invalid data for Set reviver\");\n }\n set.add(parse(item));\n }\n return set;\n },\n /** @type {(value: any) => File} */\n [remote_file]: (value) => {\n if (!value || typeof value !== \"object\" || typeof value.name !== \"string\" || typeof value.type !== \"string\" || typeof value.size !== \"number\" || typeof value.lastModified !== \"number\" || !(value.data instanceof ArrayBuffer)) {\n throw new Error(\"Invalid data for File reviver\");\n }\n const { data, name, ...meta } = value;\n return new File([data], name, meta);\n }\n };\n const user_revivers = Object.fromEntries(\n Object.entries(transport).map(([k, v]) => [k, v.decode])\n );\n const all_revivers = { ...user_revivers, ...remote_fns_revivers };\n const parse = (data) => devalue.parse(data, all_revivers);\n return all_revivers;\n}\nfunction stringify_remote_arg(value, transport) {\n if (value === void 0) return \"\";\n const json2 = devalue.stringify(value, create_remote_arg_reducers(transport, true, /* @__PURE__ */ new Map()));\n return url_friendly_base64_encode(json2);\n}\nfunction url_friendly_base64_encode(string) {\n const bytes = text_encoder.encode(string);\n return base64_encode(bytes).replaceAll(\"=\", \"\").replaceAll(\"+\", \"-\").replaceAll(\"/\", \"_\");\n}\nfunction parse_remote_arg(string, transport) {\n if (!string) return void 0;\n const json_string = new TextDecoder().decode(\n // no need to add back `=` characters, atob can handle it\n base64_decode(string.replaceAll(\"-\", \"+\").replaceAll(\"_\", \"/\"))\n );\n return devalue.parse(json_string, create_remote_arg_revivers(transport));\n}\nfunction create_remote_key(id, payload) {\n return id + \"/\" + payload;\n}\nfunction split_remote_key(key) {\n const i = key.lastIndexOf(\"/\");\n if (i === -1) {\n throw new Error(`Invalid remote key: ${key}`);\n }\n return {\n id: key.slice(0, i),\n payload: key.slice(i + 1)\n };\n}\nfunction coalesce_to_error(err) {\n return err instanceof Error || err && /** @type {any} */\n err.name && /** @type {any} */\n err.message ? (\n /** @type {Error} */\n err\n ) : new Error(JSON.stringify(err));\n}\nfunction normalize_error(error) {\n return (\n /** @type {import('../exports/internal/index.js').Redirect | HttpError | SvelteKitError | Error} */\n error\n );\n}\nfunction get_status(error) {\n return error instanceof HttpError || error instanceof SvelteKitError ? error.status : 500;\n}\nfunction get_message(error) {\n return error instanceof SvelteKitError ? error.text : \"Internal Error\";\n}\nfunction negotiate(accept, types) {\n const parts = [];\n accept.split(\",\").forEach((str, i) => {\n const match = /^[ \\t]*([^/ \\t]+)\\/([^; \\t]+)[ \\t]*(?:;[ \\t]*q=([0-9.]+))?/.exec(str);\n if (match) {\n const [, type, subtype, q = \"1\"] = match;\n parts.push({ type, subtype, q: +q, i });\n }\n });\n parts.sort((a, b) => {\n if (a.q !== b.q) {\n return b.q - a.q;\n }\n if (a.subtype === \"*\" !== (b.subtype === \"*\")) {\n return a.subtype === \"*\" ? 1 : -1;\n }\n if (a.type === \"*\" !== (b.type === \"*\")) {\n return a.type === \"*\" ? 1 : -1;\n }\n return a.i - b.i;\n });\n let accepted;\n let min_priority = Infinity;\n for (const mimetype of types) {\n const [type, subtype] = mimetype.split(\"/\");\n const priority = parts.findIndex(\n (part) => (part.type === type || part.type === \"*\") && (part.subtype === subtype || part.subtype === \"*\")\n );\n if (priority !== -1 && priority < min_priority) {\n accepted = mimetype;\n min_priority = priority;\n }\n }\n return accepted;\n}\nfunction get_set_cookies(headers) {\n if (typeof headers.getSetCookie === \"function\") {\n return headers.getSetCookie();\n }\n const set_cookie = headers.get(\"set-cookie\");\n return set_cookie ? set_cookie_parser.splitCookiesString(set_cookie) : [];\n}\nfunction is_content_type(request, ...types) {\n const type = request.headers.get(\"content-type\")?.split(\";\", 1)[0].trim() ?? \"\";\n return types.includes(type.toLowerCase());\n}\nfunction is_form_content_type(request) {\n return is_content_type(\n request,\n \"application/x-www-form-urlencoded\",\n \"multipart/form-data\",\n \"text/plain\",\n BINARY_FORM_CONTENT_TYPE\n );\n}\nconst escape_html_attr_dict = {\n \"&\": \"&\",\n '\"': \""\"\n // Svelte also escapes < because the escape function could be called inside a `noscript` there\n // https://github.com/sveltejs/svelte/security/advisories/GHSA-8266-84wp-wv5c\n // However, that doesn't apply in SvelteKit\n};\nconst escape_html_dict = {\n \"&\": \"&\",\n \"<\": \"<\"\n};\nconst surrogates = (\n // high surrogate without paired low surrogate\n \"[\\\\ud800-\\\\udbff](?![\\\\udc00-\\\\udfff])|[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]|[\\\\udc00-\\\\udfff]\"\n);\nconst escape_html_attr_regex = new RegExp(\n `[${Object.keys(escape_html_attr_dict).join(\"\")}]|` + surrogates,\n \"g\"\n);\nconst escape_html_regex = new RegExp(\n `[${Object.keys(escape_html_dict).join(\"\")}]|` + surrogates,\n \"g\"\n);\nfunction escape_html(str, is_attr) {\n const dict = is_attr ? escape_html_attr_dict : escape_html_dict;\n const escaped_str = str.replace(is_attr ? escape_html_attr_regex : escape_html_regex, (match) => {\n if (match.length === 2) {\n return match;\n }\n return dict[match] ?? `&#${match.charCodeAt(0)};`;\n });\n return escaped_str;\n}\nfunction method_not_allowed(mod, method) {\n return text(`${method} method not allowed`, {\n status: 405,\n headers: {\n // https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/405\n // \"The server must generate an Allow header field in a 405 status code response\"\n allow: allowed_methods(mod).join(\", \")\n }\n });\n}\nfunction allowed_methods(mod) {\n const allowed = ENDPOINT_METHODS.filter((method) => method in mod);\n if (\"GET\" in mod && !(\"HEAD\" in mod)) {\n allowed.push(\"HEAD\");\n }\n return allowed;\n}\nfunction get_global_name(options) {\n return `__sveltekit_${options.version_hash}`;\n}\nfunction static_error_page(options, status, message) {\n let page = options.templates.error({ status, message: escape_html(message) });\n return text(page, {\n headers: { \"content-type\": \"text/html; charset=utf-8\" },\n status\n });\n}\nasync function handle_fatal_error(event, state, options, error) {\n error = error instanceof HttpError ? error : coalesce_to_error(error);\n const status = get_status(error);\n const body = await handle_error_and_jsonify(event, state, options, error);\n const type = negotiate(event.request.headers.get(\"accept\") || \"text/html\", [\n \"application/json\",\n \"text/html\"\n ]);\n if (event.isDataRequest || type === \"application/json\") {\n return json(body, {\n status\n });\n }\n return static_error_page(options, status, body.message);\n}\nasync function handle_error_and_jsonify(event, state, options, error) {\n if (error instanceof HttpError) {\n return { message: \"Unknown Error\", ...error.body };\n }\n const status = get_status(error);\n const message = get_message(error);\n return await with_request_store(\n { event, state },\n () => options.hooks.handleError({ error, event, status, message })\n ) ?? { message };\n}\nfunction redirect_response(status, location) {\n const response = new Response(void 0, {\n status,\n headers: { location }\n });\n return response;\n}\nfunction clarify_devalue_error(event, error) {\n if (error.path) {\n return `Data returned from \\`load\\` while rendering ${event.route.id} is not serializable: ${error.message} (${error.path}). If you need to serialize/deserialize custom types, use transport hooks: https://svelte.dev/docs/kit/hooks#transport.`;\n }\n if (error.path === \"\") {\n return `Data returned from \\`load\\` while rendering ${event.route.id} is not a plain object`;\n }\n return error.message;\n}\nfunction serialize_uses(node) {\n const uses = {};\n if (node.uses && node.uses.dependencies.size > 0) {\n uses.dependencies = Array.from(node.uses.dependencies);\n }\n if (node.uses && node.uses.search_params.size > 0) {\n uses.search_params = Array.from(node.uses.search_params);\n }\n if (node.uses && node.uses.params.size > 0) {\n uses.params = Array.from(node.uses.params);\n }\n if (node.uses?.parent) uses.parent = 1;\n if (node.uses?.route) uses.route = 1;\n if (node.uses?.url) uses.url = 1;\n return uses;\n}\nfunction has_prerendered_path(manifest, pathname) {\n return manifest._.prerendered_routes.has(pathname) || pathname.at(-1) === \"/\" && manifest._.prerendered_routes.has(pathname.slice(0, -1));\n}\nfunction format_server_error(status, error, event) {\n const formatted_text = `\n\\x1B[1;31m[${status}] ${event.request.method} ${event.url.pathname}\\x1B[0m`;\n if (status === 404) {\n return formatted_text;\n }\n return `${formatted_text}\n${error.stack}`;\n}\nfunction get_node_type(node_id) {\n const parts = node_id?.split(\"/\");\n const filename = parts?.at(-1);\n if (!filename) return \"unknown\";\n const dot_parts = filename.split(\".\");\n return dot_parts.slice(0, -1).join(\".\");\n}\nfunction create_replacer(transport) {\n const replacer = (thing) => {\n for (const key in transport) {\n const encoded = transport[key].encode(thing);\n if (encoded) {\n return `app.decode('${key}', ${devalue.uneval(encoded, replacer)})`;\n }\n }\n };\n return replacer;\n}\nexport {\n once as A,\n has_prerendered_path as B,\n get_set_cookies as C,\n handle_fatal_error as D,\n ENDPOINT_METHODS as E,\n format_server_error as F,\n INVALIDATED_PARAM as I,\n MUTATIVE_METHODS as M,\n PAGE_METHODS as P,\n SVELTE_KIT_ASSETS as S,\n TRAILING_SLASH_PARAM as T,\n stringify_remote_arg as a,\n noop as b,\n create_field_proxy as c,\n deep_set as d,\n stringify as e,\n flatten_issues as f,\n create_remote_key as g,\n handle_error_and_jsonify as h,\n negotiate as i,\n get_status as j,\n is_form_content_type as k,\n normalize_error as l,\n method_not_allowed as m,\n normalize_issue as n,\n create_replacer as o,\n parse_remote_arg as p,\n get_global_name as q,\n serialize_uses as r,\n set_nested_value as s,\n clarify_devalue_error as t,\n get_node_type as u,\n escape_html as v,\n deserialize_binary_form as w,\n split_remote_key as x,\n static_error_page as y,\n redirect_response as z\n};\n"],"names":["stringify_primitive","stringify","devalue.parse","devalue.stringify","parse","set_cookie_parser.splitCookiesString","devalue.uneval"],"mappings":";;AAAA;;AAEO,MAAM,SAAS,CAAC;AACvB;AACA;AACA;AACA;AACA,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE;AAC3B,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,EAAE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAChC,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;AAChC,EAAE,CAAC,MAAM,IAAI,IAAI,EAAE;AACnB,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI;AACnB,EAAE,CAAC,MAAM;AACT,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE;AAC9C,EAAE;AACF,CAAC;;AAED,CAAC,QAAQ,GAAG;AACZ,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;AAClC,CAAC;AACD;;AAEO,MAAM,QAAQ,CAAC;AACtB;AACA;AACA;AACA;AACA,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC/B,EAAE,IAAI;AACN,GAAG,IAAI,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC5B,EAAE,CAAC,CAAC,MAAM;AACV,GAAG,MAAM,IAAI,KAAK;AAClB,IAAI,CAAC,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;AAC7D,KAAK;AACL,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAC1B,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACO,MAAM,cAAc,SAAS,KAAK,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;AACpC,EAAE,KAAK,CAAC,OAAO,CAAC;AAChB,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,CAAC;AACD;;AAEA;AACA;AACA;AACO,MAAM,aAAa,CAAC;AAC3B;AACA;AACA;AACA;AACA,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE;AAC3B,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM;AACtB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,CAAC;AACD;;ACzEA,IAAI,mBAAmB,GAAG;AAC1B,EAAE,YAAY,EAAE,IAAI;AACpB,EAAE,GAAG,EAAE,KAAK;AACZ,EAAE,MAAM,EAAE,KAAK;AACf,EAAE,KAAK,EAAE,MAAM;AACf,CAAC;;AAED,SAAS,cAAc,CAAC,GAAG,EAAE;AAC7B,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,EAAE;AAC7C;;AAEA,SAAS,aAAa,GAAG;AACzB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC5B;;AAEA,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,EAAE,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;AAChD;;AAEA,SAAS,WAAW,CAAC,cAAc,EAAE,OAAO,EAAE;AAC9C,EAAE,IAAI,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;;AAEhE,EAAE,IAAI,gBAAgB,GAAG,KAAK,CAAC,KAAK,EAAE;AACtC,EAAE,IAAI,CAAC,gBAAgB,EAAE;AACzB,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,IAAI,MAAM,GAAG,kBAAkB,CAAC,gBAAgB,CAAC;AACnD,EAAE,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI;AACxB,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK;;AAE1B,EAAE,OAAO,GAAG;AACZ,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,EAAE,OAAO;AACpD,MAAM,mBAAmB;;AAEzB,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;AAC5B,IAAI,OAAO,IAAI;AACf,EAAE;;AAEF,EAAE,IAAI;AACN,IAAI,KAAK,GAAG,OAAO,CAAC,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACrE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;AACd,IAAI,OAAO,CAAC,KAAK;AACjB,MAAM,uGAAuG;AAC7G,MAAM;AACN,KAAK;AACL,EAAE;;AAEF,EAAE,IAAI,MAAM,GAAG,aAAa,EAAE;AAC9B,EAAE,MAAM,CAAC,IAAI,GAAG,IAAI;AACpB,EAAE,MAAM,CAAC,KAAK,GAAG,KAAK;;AAEtB,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE;AAChC,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/B,IAAI,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;AAChD,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;AAC7B,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AACtC,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE;AAC3B,MAAM,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AACtC,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,EAAE;AAClC,MAAM,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC;AACjC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;AAC7C,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,QAAQ,EAAE;AACjC,MAAM,MAAM,CAAC,MAAM,GAAG,IAAI;AAC1B,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,UAAU,EAAE;AACnC,MAAM,MAAM,CAAC,QAAQ,GAAG,IAAI;AAC5B,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,UAAU,EAAE;AACnC,MAAM,MAAM,CAAC,QAAQ,GAAG,KAAK;AAC7B,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,aAAa,EAAE;AACtC,MAAM,MAAM,CAAC,WAAW,GAAG,IAAI;AAC/B,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE;AACpB,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;AACzB,IAAI;AACJ,EAAE,CAAC,CAAC;;AAEJ,EAAE,OAAO,MAAM;AACf;;AAEA,SAAS,kBAAkB,CAAC,gBAAgB,EAAE;AAC9C;;AAEA,EAAE,IAAI,IAAI,GAAG,EAAE;AACf,EAAE,IAAI,KAAK,GAAG,EAAE;AAChB,EAAE,IAAI,YAAY,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC;AAChD,EAAE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/B,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE;AAC/B,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnC,EAAE,CAAC,MAAM;AACT,IAAI,KAAK,GAAG,gBAAgB;AAC5B,EAAE;;AAEF,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;AACrC;;AAEA,SAAS,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE;AACxC,EAAE,OAAO,GAAG;AACZ,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,mBAAmB,EAAE,OAAO;AACpD,MAAM,mBAAmB;;AAEzB,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AACtB,MAAM,OAAO,EAAE;AACf,IAAI,CAAC,MAAM;AACX,MAAM,OAAO,aAAa,EAAE;AAC5B,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,KAAK,CAAC,OAAO,EAAE;AACrB,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,UAAU,EAAE;AAC1D;AACA;AACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE;AAC1C,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;AAC5C;AACA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;AACzC,IAAI,CAAC,MAAM;AACX;AACA,MAAM,IAAI,GAAG;AACb,QAAQ,KAAK,CAAC,OAAO;AACrB,UAAU,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE;AACzD,YAAY,OAAO,GAAG,CAAC,WAAW,EAAE,KAAK,YAAY;AACrD,UAAU,CAAC;AACX,SAAS;AACT;AACA,MAAM,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;AAC3D,QAAQ,OAAO,CAAC,IAAI;AACpB,UAAU;AACV,SAAS;AACT,MAAM;AACN,MAAM,KAAK,GAAG,GAAG;AACjB,IAAI;AACJ,EAAE;;AAEF,EAAE,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK;AAC3B,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;;AAEpC,EAAE,IAAI,KAAK,KAAK,MAAM,EAAE;AACxB,IAAI,KAAK,GAAG,CAAC,OAAO;AACpB,EAAE;;AAEF,EAAE,IAAI,CAAC,OAAO,EAAE;AAChB,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC;AACnB,EAAE;;AAEF,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC;;AAExC,EAAE,IAAI,KAAK,EAAE;AACb,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE;AAChD,EAAE;;AAEF,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE;AACpB,IAAI,OAAO;AACX,OAAO,GAAG,CAAC,UAAU,GAAG,EAAE;AAC1B,QAAQ,OAAO,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;AACxC,MAAM,CAAC;AACP,OAAO,MAAM,CAAC,OAAO,CAAC;AACtB,EAAE,CAAC,MAAM;AACT,IAAI,IAAI,OAAO,GAAG,aAAa,EAAE;AACjC,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,OAAO,EAAE,GAAG,EAAE;AAChD,MAAM,IAAI,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC;AAC5C,MAAM,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAClD,QAAQ,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM;AACrC,MAAM;AACN,MAAM,OAAO,OAAO;AACpB,IAAI,CAAC,EAAE,OAAO,CAAC;AACf,EAAE;AACF;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS,kBAAkB,CAAC,aAAa,EAAE;AAC3C,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;AACpC,IAAI,OAAO,aAAa;AACxB,EAAE;AACF,EAAE,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACzC,IAAI,OAAO,EAAE;AACb,EAAE;;AAEF,EAAE,IAAI,cAAc,GAAG,EAAE;AACzB,EAAE,IAAI,GAAG,GAAG,CAAC;AACb,EAAE,IAAI,KAAK;AACX,EAAE,IAAI,EAAE;AACR,EAAE,IAAI,SAAS;AACf,EAAE,IAAI,SAAS;AACf,EAAE,IAAI,qBAAqB;;AAE3B,EAAE,SAAS,cAAc,GAAG;AAC5B,IAAI,OAAO,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;AAC/E,MAAM,GAAG,IAAI,CAAC;AACd,IAAI;AACJ,IAAI,OAAO,GAAG,GAAG,aAAa,CAAC,MAAM;AACrC,EAAE;;AAEF,EAAE,SAAS,cAAc,GAAG;AAC5B,IAAI,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;;AAElC,IAAI,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG;AACjD,EAAE;;AAEF,EAAE,OAAO,GAAG,GAAG,aAAa,CAAC,MAAM,EAAE;AACrC,IAAI,KAAK,GAAG,GAAG;AACf,IAAI,qBAAqB,GAAG,KAAK;;AAEjC,IAAI,OAAO,cAAc,EAAE,EAAE;AAC7B,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC;AACpC,MAAM,IAAI,EAAE,KAAK,GAAG,EAAE;AACtB;AACA,QAAQ,SAAS,GAAG,GAAG;AACvB,QAAQ,GAAG,IAAI,CAAC;;AAEhB,QAAQ,cAAc,EAAE;AACxB,QAAQ,SAAS,GAAG,GAAG;;AAEvB,QAAQ,OAAO,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,cAAc,EAAE,EAAE;AAC/D,UAAU,GAAG,IAAI,CAAC;AAClB,QAAQ;;AAER;AACA,QAAQ,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE;AAC7E;AACA,UAAU,qBAAqB,GAAG,IAAI;AACtC;AACA,UAAU,GAAG,GAAG,SAAS;AACzB,UAAU,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;AACxE,UAAU,KAAK,GAAG,GAAG;AACrB,QAAQ,CAAC,MAAM;AACf;AACA;AACA,UAAU,GAAG,GAAG,SAAS,GAAG,CAAC;AAC7B,QAAQ;AACR,MAAM,CAAC,MAAM;AACb,QAAQ,GAAG,IAAI,CAAC;AAChB,MAAM;AACN,IAAI;;AAEJ,IAAI,IAAI,CAAC,qBAAqB,IAAI,GAAG,IAAI,aAAa,CAAC,MAAM,EAAE;AAC/D,MAAM,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;AAC/E,IAAI;AACJ,EAAE;;AAEF,EAAE,OAAO,cAAc;AACvB;;AAEA;AACA,cAAc,CAAC,cAAc,GAAG,cAAc;AAC9C;AACA,cAAc,CAAC,KAAK,GAAG,cAAc;AACrC,cAAc,CAAC,WAAW,GAAG,WAAW;AACxC,cAAc,CAAC,kBAAkB,GAAG,kBAAkB;;AClQ/C,MAAM,SAAS,GAAG,EAAE;AACpB,MAAM,IAAI,GAAG,EAAE;AACf,MAAM,GAAG,GAAG,EAAE;AACd,MAAM,iBAAiB,GAAG,EAAE;AAC5B,MAAM,iBAAiB,GAAG,EAAE;AAC5B,MAAM,aAAa,GAAG,EAAE;AACxB,MAAM,MAAM,GAAG,EAAE;;AAExB;AACA;AACO,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC;AACjC,MAAM,eAAe,GAAG,aAAa,GAAG,CAAC;;ACThD;AACO,MAAM,OAAO,GAAG;AACvB,CAAC,GAAG,EAAE,SAAS;AACf,CAAC,IAAI,EAAE,MAAM;AACb,CAAC,IAAI,EAAE,KAAK;AACZ,CAAC,IAAI,EAAE,KAAK;AACZ,CAAC,IAAI,EAAE,KAAK;AACZ,CAAC,IAAI,EAAE,KAAK;AACZ,CAAC,IAAI,EAAE,KAAK;AACZ,CAAC,QAAQ,EAAE,SAAS;AACpB,CAAC,QAAQ,EAAE;AACX,CAAC;;AAEM,MAAM,YAAY,SAAS,KAAK,CAAC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE;AACzC,EAAE,KAAK,CAAC,OAAO,CAAC;AAChB,EAAE,IAAI,CAAC,IAAI,GAAG,cAAc;AAC5B,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3B,EAAE,IAAI,CAAC,KAAK,GAAG,KAAK;AACpB,EAAE,IAAI,CAAC,IAAI,GAAG,IAAI;AAClB,CAAC;AACD;;AAEA;AACO,SAAS,YAAY,CAAC,KAAK,EAAE;AACpC,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;AACpF;;AAEA,MAAM,kBAAkB,mBAAmB,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS;AACtF,EAAE,IAAI;AACN,EAAE,IAAI,CAAC,IAAI,CAAC;;AAEZ;AACO,SAAS,eAAe,CAAC,KAAK,EAAE;AACvC,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;;AAE3C,CAAC;AACD,EAAE,KAAK,KAAK,MAAM,CAAC,SAAS;AAC5B,EAAE,KAAK,KAAK,IAAI;AAChB,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;AACvC,EAAE,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;AAC1D;AACA;;AAEA;AACO,SAAS,QAAQ,CAAC,KAAK,EAAE;AAChC,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1D;;AAEA;AACA,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,CAAC,QAAQ,IAAI;AACb,EAAE,KAAK,GAAG;AACV,GAAG,OAAO,KAAK;AACf,EAAE,KAAK,GAAG;AACV,GAAG,OAAO,SAAS;AACnB,EAAE,KAAK,IAAI;AACX,GAAG,OAAO,MAAM;AAChB,EAAE,KAAK,IAAI;AACX,GAAG,OAAO,KAAK;AACf,EAAE,KAAK,IAAI;AACX,GAAG,OAAO,KAAK;AACf,EAAE,KAAK,IAAI;AACX,GAAG,OAAO,KAAK;AACf,EAAE,KAAK,IAAI;AACX,GAAG,OAAO,KAAK;AACf,EAAE,KAAK,IAAI;AACX,GAAG,OAAO,KAAK;AACf,EAAE,KAAK,QAAQ;AACf,GAAG,OAAO,SAAS;AACnB,EAAE,KAAK,QAAQ;AACf,GAAG,OAAO,SAAS;AACnB,EAAE;AACF,GAAG,OAAO,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE;AACpF;AACA;;AAEA;AACO,SAAS,gBAAgB,CAAC,GAAG,EAAE;AACtC,CAAC,IAAI,MAAM,GAAG,EAAE;AAChB,CAAC,IAAI,QAAQ,GAAG,CAAC;AACjB,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,MAAM;;AAEvB,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE;AAClC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;AACrB,EAAE,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC;AAC5C,EAAE,IAAI,WAAW,EAAE;AACnB,GAAG,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,WAAW;AACjD,GAAG,QAAQ,GAAG,CAAC,GAAG,CAAC;AACnB,EAAE;AACF,CAAC;;AAED,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,KAAK,CAAC,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAClE;;AAEA;AACO,SAAS,kBAAkB,CAAC,MAAM,EAAE;AAC3C,CAAC,OAAO,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,MAAM;AACnD,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC9D,EAAE;AACF;;AAEA,MAAM,aAAa,GAAG,4BAA4B;;AAElD;AACO,SAAS,aAAa,CAAC,GAAG,EAAE;AACnC,CAAC,OAAO,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG;AAC7E;;AAEA;AACO,SAAS,oBAAoB,CAAC,CAAC,EAAE;AACxC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AACvC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK;AACxB,CAAC,IAAI,CAAC,GAAG,eAAe,EAAE,OAAO,KAAK;AACtC,CAAC,OAAO,IAAI;AACZ;;AAEA;AACO,SAAS,kBAAkB,CAAC,CAAC,EAAE;AACtC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,KAAK;AACvC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,KAAK;AACxB,CAAC,IAAI,CAAC,GAAG,aAAa,EAAE,OAAO,KAAK;AACpC,CAAC,OAAO,IAAI;AACZ;;AAEA;AACA,SAAS,2BAA2B,CAAC,CAAC,EAAE;AACxC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;AACjC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,OAAO,KAAK,CAAC;AAC1D,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAC3B,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,KAAK;AACpC,CAAC;AACD;AACA;AACA,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;AAChC;;AAEA;AACA;AACA;AACA;AACA,SAAS,eAAe,CAAC,IAAI,EAAE;AAC/B,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,EAAE,IAAI,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AAC5C,GAAG;AACH,EAAE;AACF,CAAC;AACD,CAAC,OAAO,CAAC,GAAG,CAAC;AACb;;AAEA;AACA;AACA;AACA;AACO,SAAS,mBAAmB,CAAC,KAAK,EAAE;AAC3C,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,CAAC,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC;AACpC,CAAC,OAAO,IAAI;AACZ;;AC3JA,MAAM,KAAK,GAAG,wDAAwD;AACtE,MAAM,YAAY,GAAG,8BAA8B;AACnD,MAAM,QAAQ;AACd,CAAC,+XAA+X;;AAEhY;AACA;AACA;AACA;AACA;AACO,SAAS,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE;AACxC,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE;;AAEzB;AACA,CAAC,MAAM,IAAI,GAAG,EAAE;;AAEhB,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE;;AAEzB;AACA,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE;AACtB,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;AAC5B,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,IAAI;AACJ,GAAG;;AAEH,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;;AAEvB,GAAG,IAAI,QAAQ,EAAE;AACjB,IAAI,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;;AAEnE,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AACjC,KAAK,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC;AAC3B,KAAK;AACL,IAAI;AACJ,GAAG;;AAEH,GAAG,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;AACpC,IAAI,MAAM,IAAI,YAAY,CAAC,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAC7E,GAAG;;AAEH,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAE/B,GAAG,QAAQ,IAAI;AACf,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,SAAS;AAClB,IAAI,KAAK,MAAM;AACf,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,KAAK;AACd,IAAI,KAAK,iBAAiB;AAC1B,KAAK;;AAEL,IAAI,KAAK,OAAO;AAChB,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK;AACxD,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,MAAM,IAAI,CAAC,KAAK,CAAC;AACjB,MAAM,IAAI,CAAC,GAAG,EAAE;AAChB,KAAK,CAAC,CAAC;AACP,KAAK;;AAEL,IAAI,KAAK,KAAK;AACd,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;AACpC,KAAK;;AAEL,IAAI,KAAK,KAAK;AACd,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE;AACvC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,GAAGA,qBAAmB,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAChF,MAAM,IAAI,CAAC,GAAG,CAAC;AACf,MAAM,IAAI,CAAC,KAAK,CAAC;AACjB,MAAM,IAAI,CAAC,GAAG,EAAE;AAChB,KAAK;AACL,KAAK;;AAEL,IAAI,KAAK,WAAW;AACpB,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,mBAAmB;AAC5B,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,aAAa;AACtB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,aAAa;AACtB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,eAAe;AACxB,IAAI,KAAK,gBAAgB;AACzB,IAAI,KAAK,UAAU;AACnB,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;AACvB,KAAK;;AAEL,IAAI,KAAK,aAAa;AACtB,KAAK;;AAEL,IAAI,KAAK,mBAAmB;AAC5B,IAAI,KAAK,kBAAkB;AAC3B,IAAI,KAAK,oBAAoB;AAC7B,IAAI,KAAK,oBAAoB;AAC7B,IAAI,KAAK,wBAAwB;AACjC,IAAI,KAAK,wBAAwB;AACjC,IAAI,KAAK,yBAAyB;AAClC,IAAI,KAAK,wBAAwB;AACjC,KAAK;;AAEL,IAAI;AACJ,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;AAClC,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC,oCAAoC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACxF,KAAK;;AAEL,KAAK,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AAC/C,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC,yCAAyC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAC7F,KAAK;;AAEL,KAAK,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3C,MAAM,IAAI,GAAG,KAAK,WAAW,EAAE;AAC/B,OAAO,MAAM,IAAI,YAAY;AAC7B,QAAQ,CAAC,4CAA4C,CAAC;AACtD,QAAQ,IAAI;AACZ,QAAQ,KAAK;AACb,QAAQ;AACR,QAAQ;AACR,MAAM;;AAEN,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACnC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACtB,MAAM,IAAI,CAAC,GAAG,EAAE;AAChB,KAAK;AACL;AACA,EAAE,CAAC,MAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AACxC,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,mCAAmC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACpF,EAAE;AACF,CAAC;;AAED,CAAC,IAAI,CAAC,KAAK,CAAC;;AAEZ,CAAC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAE;;AAExB,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM;AAClB,GAAG,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC7B,GAAG,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK;AACzB,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AACnC,EAAE,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA,CAAC,SAAS,SAAS,CAAC,KAAK,EAAE;AAC3B,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACxB,GAAG,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAC1B,EAAE;;AAEF,EAAE,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAC3B,GAAG,OAAOA,qBAAmB,CAAC,KAAK,CAAC;AACpC,EAAE;;AAEF,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AACzB,GAAG,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;AAC3B,EAAE;;AAEF,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAE9B,EAAE,QAAQ,IAAI;AACd,GAAG,KAAK,QAAQ;AAChB,GAAG,KAAK,QAAQ;AAChB,GAAG,KAAK,SAAS;AACjB,GAAG,KAAK,QAAQ;AAChB,IAAI,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;;AAElD,GAAG,KAAK,QAAQ;AAChB,IAAI,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK;AACnC,IAAI,OAAO;AACX,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE;AAC1D,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;;AAEhD,GAAG,KAAK,MAAM;AACd,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;;AAEzC,GAAG,KAAK,KAAK;AACb,IAAI,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;;AAE3D,GAAG,KAAK,iBAAiB;AACzB,IAAI,OAAO,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;;AAEvE,GAAG,KAAK,OAAO,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAAI,SAAS,GAAG,KAAK;;AAEzB,IAAI,IAAI,MAAM,GAAG,GAAG;;AAEpB,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,GAAG;;AAE7B,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;AAClC,MAAM,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,KAAK,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,MAAM,cAAc,GAAG,mBAAmB,uBAAuB,KAAK,EAAE;AAC9E,MAAM,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM;AAC9C,MAAM,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM;;AAE3C,MAAM,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC;AACxC,MAAM,MAAM,WAAW,GAAG,EAAE,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC;;AAEvD,MAAM,IAAI,SAAS,GAAG,WAAW,EAAE;AACnC,OAAO,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzF,OAAO,OAAO,CAAC,oBAAoB,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;AAClE,MAAM;;AAEN,MAAM,SAAS,GAAG,IAAI;AACtB,KAAK;AACL;AACA;AACA,IAAI;;AAEJ,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,GAAG,GAAG;AAC3E,IAAI,OAAO,MAAM,GAAG,IAAI,GAAG,GAAG;AAC9B,GAAG;;AAEH,GAAG,KAAK,KAAK;AACb,GAAG,KAAK,KAAK;AACb,IAAI,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;;AAEzE,GAAG,KAAK,WAAW;AACnB,GAAG,KAAK,YAAY;AACpB,GAAG,KAAK,mBAAmB;AAC3B,GAAG,KAAK,YAAY;AACpB,GAAG,KAAK,aAAa;AACrB,GAAG,KAAK,cAAc;AACtB,GAAG,KAAK,YAAY;AACpB,GAAG,KAAK,aAAa;AACrB,GAAG,KAAK,cAAc;AACtB,GAAG,KAAK,cAAc;AACtB,GAAG,KAAK,eAAe;AACvB,GAAG,KAAK,gBAAgB,EAAE;AAC1B,IAAI,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;AAE3B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAClC,KAAK,GAAG,IAAI,CAAC,EAAE,EAAE,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACvE,IAAI,CAAC,MAAM;AACX,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1C,IAAI;;AAEJ;AACA,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;AACtD,KAAK,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB;AAC7D,KAAK,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM;AACrC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACxC,IAAI;;AAEJ,IAAI,OAAO,GAAG;AACd,GAAG;;AAEH,GAAG,KAAK,UAAU,EAAE;AACpB,IAAI,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC;;AAE5B,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AAClC,KAAK,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AACvE,IAAI,CAAC,MAAM;AACX,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AACzC,IAAI;;AAEJ;AACA,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;AACtD,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACtD,IAAI;;AAEJ,IAAI,OAAO,GAAG,GAAG,GAAG;AACpB,GAAG;;AAEH,GAAG,KAAK,aAAa,EAAE;AACvB,IAAI,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC;AACrC,IAAI,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,CAAC;AACvD,GAAG;;AAEH,GAAG,KAAK,mBAAmB;AAC3B,GAAG,KAAK,kBAAkB;AAC1B,GAAG,KAAK,oBAAoB;AAC5B,GAAG,KAAK,oBAAoB;AAC5B,GAAG,KAAK,wBAAwB;AAChC,GAAG,KAAK,wBAAwB;AAChC,GAAG,KAAK,yBAAyB;AACjC,GAAG,KAAK,wBAAwB;AAChC,IAAI,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;;AAEhE,GAAG;AACH,IAAI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;AACnC,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACxF,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC;AAC9C,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE;AACxB,KAAK,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC;AAC5E,IAAI;;AAEJ,IAAI,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACrB;AACA,CAAC;;AAED,CAAC,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC;;AAE7B,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE;AACjB;AACA,EAAE,MAAM,MAAM,GAAG,EAAE;;AAEnB;AACA,EAAE,MAAM,UAAU,GAAG,EAAE;;AAEvB;AACA,EAAE,MAAM,MAAM,GAAG,EAAE;;AAEnB;AACA;AACA;AACA;AACA;AACA,EAAE,MAAM,eAAe,GAAG,EAAE;;AAE5B,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,KAAK;AACjC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;AAEpB,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1B,IAAI,MAAM,CAAC,IAAI,wBAAwB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC1D,IAAI;AACJ,GAAG;;AAEH,GAAG,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE;AAC5B,IAAI,MAAM,CAAC,IAAI,CAACA,qBAAmB,CAAC,KAAK,CAAC,CAAC;AAC3C,IAAI;AACJ,GAAG;;AAEH,GAAG,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;;AAE/B,GAAG,QAAQ,IAAI;AACf,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,SAAS;AAClB,IAAI,KAAK,QAAQ;AACjB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,KAAK;;AAEL,IAAI,KAAK,QAAQ;AACjB,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK;AACpC,KAAK,MAAM,MAAM,GAAG;AACpB,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE;AAC3D,QAAQ,CAAC,WAAW,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;AAChD,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACxB,KAAK;;AAEL,IAAI,KAAK,MAAM;AACf,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK;;AAEL,IAAI,KAAK,KAAK;AACd,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,KAAK;;AAEL,IAAI,KAAK,iBAAiB;AAC1B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,KAAK;;AAEL,IAAI,KAAK,OAAO;AAChB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1C,0BAA0B,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACpD,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,KAAK,CAAC,CAAC;AACP,KAAK;;AAEL,IAAI,KAAK,KAAK,EAAE;AAChB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3B,KAAK,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE;AACA;AACA,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,KAAK,EAAE;AAChB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC3B,KAAK,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG;AACvC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,MAAM;AACN,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/D,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,WAAW;AACpB,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,mBAAmB;AAC5B,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,aAAa;AACtB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,aAAa;AACtB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,eAAe;AACxB,IAAI,KAAK,gBAAgB,EAAE;AAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;AAE5B,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,8BAA8B,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;AACxE,KAAK,CAAC,MAAM;AACZ,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC3C,KAAK;;AAEL;AACA,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;AACvD,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,iBAAiB;AAC9D,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,KAAK,CAAC,MAAM;AACtC,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AACzC,KAAK;;AAEL,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3C,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,UAAU,EAAE;AACrB,KAAK,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC;;AAE7B,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;AACnC,MAAM,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;AACxE,KAAK,CAAC,MAAM;AACZ,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,KAAK;;AAEL;AACA,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE;AACvD,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;AACvD,KAAK;;AAEL,KAAK,GAAG,IAAI,GAAG;;AAEf,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AACtB,KAAK,eAAe,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3C,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,aAAa;AACtB,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;AACrE,KAAK;;AAEL,IAAI,KAAK,mBAAmB;AAC5B,IAAI,KAAK,kBAAkB;AAC3B,IAAI,KAAK,oBAAoB;AAC7B,IAAI,KAAK,oBAAoB;AAC7B,IAAI,KAAK,wBAAwB;AACjC,IAAI,KAAK,wBAAwB;AACjC,IAAI,KAAK,yBAAyB;AAClC,IAAI,KAAK,wBAAwB;AACjC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,KAAK;;AAEL,IAAI;AACJ,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,qBAAqB,GAAG,IAAI,CAAC;AACtF,KAAK,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK;AACzC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1E,KAAK,CAAC,CAAC;AACP;AACA,EAAE,CAAC,CAAC;;AAEJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;;AAElC,EAAE,MAAM,IAAI,GAAG,CAAC,GAAG,eAAe,EAAE,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAC5D;AACA;AACA;AACA;AACA,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE;AAC7B,GAAG,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AAC9F,EAAE;;AAEF,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACxE,CAAC,CAAC,MAAM;AACR,EAAE,OAAO,GAAG;AACZ,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE;AACtD,CAAC,MAAM,KAAK,GAAG,wBAAwB,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC;;AAElE,CAAC,IAAI,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,gBAAgB,EAAE;AAC5D,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AAChE,CAAC;;AAED;AACA;AACA,CAAC;AACD,EAAE,KAAK,YAAY,YAAY;AAC/B,EAAE,KAAK,YAAY,YAAY;AAC/B,GAAG,OAAO,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,YAAY;AACvE,GAAG;AACH,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,MAAM,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACjG,CAAC;;AAED,CAAC,OAAO,KAAK,CAAC,QAAQ,EAAE;AACxB;;AAEA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,CAAC,IAAI,IAAI,GAAG,EAAE;;AAEd,CAAC,GAAG;AACJ,EAAE,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,IAAI;AACzC,EAAE,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;AAClC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;;AAElB,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI;AAC/C;;AAEA;AACA,SAAS,kBAAkB,CAAC,CAAC,EAAE;AAC/B,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACvB;;AAEA;AACA,SAAS,mBAAmB,CAAC,GAAG,EAAE;AAClC,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,kBAAkB,CAAC;AACrD;;AAEA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,CAAC,OAAO,4BAA4B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC/F;;AAEA;AACA,SAAS,SAAS,CAAC,GAAG,EAAE;AACxB,CAAC,OAAO,4BAA4B,CAAC,IAAI,CAAC,GAAG;AAC7C,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC;AACZ,IAAI,CAAC,CAAC,EAAE,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACnD;;AAEA;AACA,SAASA,qBAAmB,CAAC,KAAK,EAAE;AACpC,CAAC,MAAM,IAAI,GAAG,OAAO,KAAK;AAC1B,CAAC,IAAI,IAAI,KAAK,QAAQ,EAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC;AACtD,CAAC,IAAI,KAAK,KAAK,MAAM,EAAE,OAAO,QAAQ;AACtC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,OAAO,IAAI;AAC9C,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC;AAC1B,CAAC,IAAI,IAAI,KAAK,QAAQ,EAAE,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC;AAC7D,CAAC,IAAI,IAAI,KAAK,QAAQ,EAAE,OAAO,KAAK,GAAG,GAAG;AAC1C,CAAC,OAAO,GAAG;AACX;;AC7lBA;;AAEA;AACO,SAAS,aAAa,CAAC,YAAY,EAAE;AAC5C,CAAC,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE;AAC/C;;AAEA;AACO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,CAAC,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,MAAM;AAC5C;;AAEA;;AAEA;AACO,SAAS,aAAa,CAAC,YAAY,EAAE;AAC5C,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACpD;;AAEA;AACO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,CAAC,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM;AAC7D;;AAEA;;AAEA;AACO,SAAS,aAAa,CAAC,YAAY,EAAE;AAC5C,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,YAAY,CAAC;AAC3C,CAAC,IAAI,MAAM,GAAG,EAAE;;AAEhB;AACA;AACA,CAAC,MAAM,UAAU,GAAG,MAAM;AAC1B,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE;AACpD,EAAE,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;AACjD,EAAE,MAAM,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;AAClD,CAAC;;AAED,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC;AACpB;;AAEA;AACO,SAAS,aAAa,CAAC,MAAM,EAAE;AACtC,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;AACnC,CAAC,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM;AACjC,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC;;AAElC,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC/B,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC;AACxC,CAAC;;AAED,CAAC,OAAO,KAAK,CAAC,MAAM;AACpB;;AAEA,MAAM,MAAM,GAAG,OAAO,UAAU,CAAC,UAAU,KAAK,UAAU;AAC1D,MAAM,MAAM,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;;AAE3E,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa;AAChF,MAAM,QAAQ,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,aAAa,GAAG,aAAa;;ACnDvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE;AACtD,CAAiB,OAAO,QAAQ;AAShC;;AAEA;AACA,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;;AAEtD;AACA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;;AAE1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,oBAAoB,GAAG;AAC7B,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK;;AAE3B,CAAC,MAAM,EAAE,CAAC,KAAK,MAAM,KAAK,KAAK,IAAI,GAAG,MAAM,GAAG,OAAO,KAAK,CAAC;;AAE5D,CAAC,WAAW,EAAE,CAAC,KAAK,KAAK,KAAK;;AAE9B,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;;AAElC,CAAC,UAAU,EAAE,CAAC,KAAK,KAAK,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU;;AAExD,CAAC,SAAS,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC;;AAEnD,CAAC,KAAK,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE;;AAElC,CAAC,WAAW,EAAE,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;;AAEzE,CAAC,aAAa,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,EAAE;;AAE3C,CAAC,UAAU,EAAE,CAAC,MAAM,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;;AAEzE,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK,GAAG;;AAEvB,CAAC,SAAS,EAAE,CAAC,GAAG,KAAK,GAAG;;AAExB,CAAC,QAAQ,EAAE,CAAC,IAAI,MAAM;AACtB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;AACrB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;AAC7B,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU;AAC7B,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;AACrB,EAAE,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC;AAChC,EAAE,CAAC;;AAEH,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,MAAM;;AAElC,CAAC,QAAQ,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM;;AAElC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC;;AAElD,CAAC,SAAS,EAAE,CAAC,KAAK,KAAK,mBAAmB,CAAC,KAAK,CAAC;;AAEjD,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK;AACrB,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,OAAO,SAAS;AAC/C,EAAE,IAAI,kBAAkB,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,WAAW;;AAE9D,EAAE,OAAO;AACT,GAAG,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI,GAAG,YAAY,GAAG,OAAO;AACvE,GAAG,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK;AAC1B,GAAG;AACH,CAAC,CAAC;;AAEF,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,GAAG;AAC/B,CAAC;;AAEM,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,gBAAgB,GAAG;AACzB,CAAC,aAAa,EAAE,CAAC,SAAS,KAAK,SAAS;;AAExC,CAAC,aAAa,EAAE,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;;AAEtC,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AACjC,EAAE,IAAI,GAAG,KAAK,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC;AACzC,EAAE,IAAI,GAAG,KAAK,iBAAiB,EAAE,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC;AACjE;AACA;AACA,EAAE,OAAO,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AAC1C,CAAC,CAAC;;AAEF,CAAC,eAAe,EAAE,CAAC,MAAM,KAAK,MAAM;;AAEpC,CAAC,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;;AAE7D,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK;AACpD,EAAE,MAAM,WAAW,sBAAsB,CAAC,UAAU,EAAE,GAAG,CAAC;AAC1D,EAAE,OAAO,UAAU,KAAK;AACxB,KAAK,IAAI,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM;AAC/C,KAAK,IAAI,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC,CAAC;;AAEF,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;;AAE9B,CAAC,WAAW,EAAE,CAAC,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;;AAE3C,CAAC,iBAAiB,EAAE,CAAC,MAAM,KAAK;AAChC;AACA,EAAE,MAAM,KAAK,GAAG,EAAE;;AAElB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,CAAC,eAAe,CAAC,GAAG,SAAS;AACpC,EAAE,OAAO,KAAK,CAAC,eAAe,CAAC;AAC/B,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM;;AAEvB,EAAE,OAAO,KAAK;AACd,CAAC,CAAC;;AAEF,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;;AAEzB,CAAC,yBAAyB,EAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;AAErD,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,EAAE;;AAE3B,CAAC,SAAS,EAAE,MAAM,IAAI,GAAG,EAAE;;AAE3B,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,KAAK;AAC9B,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK;AACrB,CAAC,CAAC;;AAEF,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK;AAC3B,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;AAChB,CAAC,CAAC;;AAEF,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,KAAK;AAChC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACrB,CAAC;AACD,CAAC;;AAEM,MAAM,wBAAwB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;;ACnLvE;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE;AACrD,CAAC,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,QAAiB,CAAC;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;AACrD;AACA,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,wBAA6C,CAAC;;AAE5E,CAAC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,OAAO,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;;AAE7D,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACpD,EAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AAClC,CAAC;;AAED,CAAC,MAAM,MAAM,yBAAyB,MAAM,CAAC;;AAE7C,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;;AAEtC;AACA;AACA;AACA;AACA;AACA,CAAC,IAAI,SAAS,GAAG,IAAI;;AAErB;AACA;AACA;AACA;AACA,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,EAAE;AAC7C,EAAE,IAAI,KAAK,KAAK,SAAS,EAAE,OAAO,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC;AAC9D,EAAE,IAAI,KAAK,KAAK,GAAG,EAAE,OAAO,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC;AAClD,EAAE,IAAI,KAAK,KAAK,iBAAiB,EAAE,OAAO,GAAG,CAAC,aAAa,CAAC,QAAQ,CAAC;AACrE,EAAE,IAAI,KAAK,KAAK,iBAAiB,EAAE,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC;AACtE,EAAE,IAAI,KAAK,KAAK,aAAa,EAAE,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;;AAE3D,EAAE,IAAI,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC/C,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;AACnC,EAAE;;AAEF,EAAE,IAAI,KAAK,IAAI,QAAQ,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;;AAE/C,EAAE,IAAI,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE;AAC9B,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC;AACnC,EAAE;;AAEF,EAAE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;;AAE7B,EAAE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC3C,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;AAC7C,EAAE,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACnC,GAAG,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACrC,IAAI,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEzB,IAAI,MAAM,OAAO,GAAG,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS;;AAE1F,IAAI,IAAI,OAAO,EAAE;AACjB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACrB,KAAK,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE;AAChC;AACA;AACA,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACnC,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;AACrC,MAAM,QAAQ,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK;;AAEL,KAAK,SAAS,KAAK,IAAI,GAAG,EAAE;;AAE5B,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AAC3B,MAAM,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC;AACnD,KAAK;;AAEL,KAAK,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACrB,KAAK,QAAQ,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1C,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;;AAExB,KAAK,OAAO,QAAQ,CAAC,KAAK,CAAC;AAC3B,IAAI;;AAEJ,IAAI,QAAQ,IAAI;AAChB,KAAK,KAAK,MAAM;AAChB,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnD,MAAM;;AAEN,KAAK,KAAK,KAAK;AACf,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE;AACjC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG;AAC3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,MAAM;AACN,MAAM;;AAEN,KAAK,KAAK,KAAK;AACf,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE;AACjC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG;AAC3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAChD,OAAO,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAClE,MAAM;AACN,MAAM;;AAEN,KAAK,KAAK,QAAQ;AAClB,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC9D,MAAM;;AAEN,KAAK,KAAK,QAAQ,EAAE;AACpB,MAAM,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEpC,MAAM;AACN,OAAO,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,QAAQ;AAChD,OAAO,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK;AACpC,QAAQ;AACR;AACA,OAAO,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AACvC,MAAM;;AAEN,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACvD,MAAM;AACN,KAAK;;AAEL,KAAK,KAAK,QAAQ;AAClB,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM;;AAEN,KAAK,KAAK,MAAM;AAChB,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,yBAAyB,EAAE;AACjD,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG;AAC3B,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAChD,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE;AACrC,QAAQ,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC;AAC7E,OAAO;;AAEP,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM;AACN,MAAM;;AAEN,KAAK,KAAK,WAAW;AACrB,KAAK,KAAK,YAAY;AACtB,KAAK,KAAK,mBAAmB;AAC7B,KAAK,KAAK,YAAY;AACtB,KAAK,KAAK,aAAa;AACvB,KAAK,KAAK,cAAc;AACxB,KAAK,KAAK,YAAY;AACtB,KAAK,KAAK,aAAa;AACvB,KAAK,KAAK,cAAc;AACxB,KAAK,KAAK,cAAc;AACxB,KAAK,KAAK,eAAe;AACzB,KAAK,KAAK,gBAAgB;AAC1B,KAAK,KAAK,UAAU,EAAE;AACtB,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,EAAE;AACjD;AACA;AACA;AACA,OAAO,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC;AACtC,MAAM;;AAEN,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;;AAEtC,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;;AAE1E,MAAM;AACN,KAAK;;AAEL,KAAK,KAAK,aAAa,EAAE;AACzB,MAAM,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC;AAC7B,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;AACtC,OAAO,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AACtD,MAAM;AACN,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7D,MAAM;AACN,KAAK;;AAEL,KAAK,KAAK,KAAK;AACf,KAAK,KAAK,iBAAiB;AAC3B,KAAK,KAAK,mBAAmB;AAC7B,KAAK,KAAK,kBAAkB;AAC5B,KAAK,KAAK,oBAAoB;AAC9B,KAAK,KAAK,oBAAoB;AAC9B,KAAK,KAAK,wBAAwB;AAClC,KAAK,KAAK,wBAAwB;AAClC,KAAK,KAAK,yBAAyB;AACnC,KAAK,KAAK,wBAAwB,EAAE;AACpC;AACA,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM;AACN,KAAK;;AAEL,KAAK;AACL,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AAC7C;AACA,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE;AACnC;AACA,IAAI,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;;AAExB,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;AAClC,KAAK,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AACrC,IAAI;;AAEJ;AACA;AACA;AACA,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC;AAC5C,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK;;AAE3B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC9C,KAAK,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;;AAEzB,KAAK,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE;AACnD,MAAM,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC;AACtC,KAAK;;AAEL,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/C,IAAI;AACJ,GAAG,CAAC,MAAM;AACV,IAAI,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC;AAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK;;AAE3B,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAC9C,KAAK,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACvB,KAAK,IAAI,CAAC,KAAK,IAAI,EAAE;;AAErB,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAClC,IAAI;AACJ,GAAG;AACH,EAAE,CAAC,MAAM;AACT,GAAG,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE;AACpC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM;;AAE3B,GAAG,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACzC,IAAI,IAAI,GAAG,KAAK,WAAW,EAAE;AAC7B,KAAK,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC;AAC1E,IAAI;;AAEJ,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,GAAG;AACH,EAAE;;AAEF,EAAE,OAAO,QAAQ,CAAC,KAAK,CAAC;AACxB,CAAC;;AAED,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC;AAClB;;ACpQA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,WAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;AACpD,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAiB,CAAC;AACzD,CAAC,OAAO,OAAO,WAAW,KAAK,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpF;;AAyCA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE;AAC9C,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,4BAAiD,CAAC;;AAEhF;AACA,CAAC,MAAM,WAAW,GAAG,EAAE;;AAEvB;AACA,CAAC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAE;;AAE1B;AACA,CAAC,MAAM,MAAM,GAAG,EAAE;AAClB,CAAC,IAAI,QAAQ,EAAE;AACf,EAAE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE;AAC1D,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1C,EAAE;AACF,CAAC;;AAED;AACA,CAAC,MAAM,IAAI,GAAG,EAAE;;AAEhB,CAAC,IAAI,CAAC,GAAG,CAAC;;AAEV;AACA;AACA;AACA;AACA,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE;AAChC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;;AAEhC,EAAE,IAAI,IAAI,KAAK,WAAW,EAAE,OAAO,SAAS;;AAE5C;AACA,EAAE,IAAI,MAAM;;AAEZ;AACA;AACA;AACA,EAAE,IAAI,IAAI,KAAK,QAAQ,EAAE;AACzB,GAAG,MAAM,0BAA0B,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC1D,GAAG,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG;AACvC,GAAG,IAAI,MAAM,KAAK,QAAQ,EAAE,OAAO,iBAAiB;AACpD,GAAG,IAAI,MAAM,KAAK,CAAC,QAAQ,EAAE,OAAO,iBAAiB;AACrD,GAAG,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,OAAO,aAAa;AAC3D,EAAE;;AAEF,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAEhC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,8BAA8B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;;AAEpE,EAAE,KAAK,KAAK,CAAC,EAAE;AACf,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC;;AAExB,EAAE,KAAK,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,MAAM,EAAE;AACpC,GAAG,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AAC1B,GAAG,IAAI,KAAK,EAAE;AACd,IAAI,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACvD,IAAI,OAAO,KAAK;AAChB,GAAG;AACH,EAAE;;AAEF,EAAE,IAAI,IAAI,KAAK,UAAU,EAAE;AAC3B,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,2BAA2B,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAC5E,EAAE,CAAC,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE;AAChC,GAAG,MAAM,IAAI,YAAY,CAAC,CAAC,mCAAmC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACpF,EAAE;;AAEF;AACA,EAAE,IAAI,GAAG,GAAG,EAAE;;AAEd,EAAE,IAAI,IAAI,KAAK,QAAQ,EAAE;AACzB,GAAG,GAAG,GAAG,mBAAmB,CAAC,IAAI,KAAK,QAAQ,GAAG,MAAM,GAAG,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AACjF,EAAE,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AACpC,GAAe;AACf,IAAI,MAAM,IAAI,YAAY;AAC1B,KAAK,CAAC,mEAAmE,CAAC;AAC1E,KAAK,IAAI;AACT,KAAK,KAAK;AACV,KAAK;AACL,KAAK;AACL,GAAG;AAMH,EAAE,CAAC,MAAM;AACT,GAAG,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;;AAE/B,GAAG,QAAQ,GAAG;AACd,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,QAAQ;AACjB,IAAI,KAAK,SAAS;AAClB,IAAI,KAAK,QAAQ;AACjB,KAAK,GAAG,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,KAAK;;AAEL,IAAI,KAAK,MAAM;AACf,KAAK,GAAG,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;AACjD,KAAK;;AAEL,IAAI,KAAK,KAAK;AACd,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAClE,KAAK;;AAEL,IAAI,KAAK,iBAAiB;AAC1B,KAAK,GAAG,GAAG,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9E,KAAK;;AAEL,IAAI,KAAK,QAAQ;AACjB,KAAK,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;AACpD,KAAK,GAAG,GAAG;AACX,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE;AAC1D,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAChD,KAAK;;AAEL,IAAI,KAAK,OAAO,EAAE;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,IAAI,YAAY,GAAG,KAAK;;AAE7B,KAAK,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;;AAEvC,KAAK,GAAG,GAAG,GAAG;;AAEd,KAAK,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AACzC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG;;AAE3B,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE;AAChC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,OAAO,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AACxC,OAAO,IAAI,CAAC,GAAG,EAAE;AACjB,MAAM,CAAC,MAAM,IAAI,YAAY,EAAE;AAC/B;AACA;AACA;AACA,OAAO,GAAG,IAAI,IAAI;AAClB,MAAM,CAAC,MAAM;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC;AAClD,OAAO,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM;AAC/C,OAAO,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM;;AAEtC,OAAO,MAAM,SAAS,GAAG,CAAC,MAAM,GAAG,UAAU,IAAI,CAAC;AAClD,OAAO,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC;;AAEvD,OAAO,IAAI,SAAS,GAAG,WAAW,EAAE;AACpC,QAAQ,GAAG,GAAG,GAAG,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM;AACzC,QAAQ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACxD,SAAS,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC;AACtC,SAAS,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AAC9B,SAAS,GAAG,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC9D,SAAS,IAAI,CAAC,GAAG,EAAE;AACnB,QAAQ;AACR,QAAQ;AACR,OAAO,CAAC,MAAM;AACd,QAAQ,YAAY,GAAG,IAAI;AAC3B,QAAQ,GAAG,IAAI,IAAI;AACnB,OAAO;AACP,MAAM;AACN,KAAK;;AAEL,KAAK,GAAG,IAAI,GAAG;;AAEf,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,KAAK;AACd,KAAK,GAAG,GAAG,QAAQ;;AAEnB,KAAK,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC9C,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjC,KAAK;;AAEL,KAAK,GAAG,IAAI,GAAG;AACf,KAAK;;AAEL,IAAI,KAAK,KAAK;AACd,KAAK,GAAG,GAAG,QAAQ;;AAEnB,KAAK,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;AACtD,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;AACtC,MAAM,MAAM,gBAAgB;AAC5B,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,QAAQ;AAChF,MAAM,IAAI,CAAC,IAAI;AACf,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC;AACrF,OAAO;AACP,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;AACjD,MAAM,IAAI,CAAC,GAAG,EAAE;AAChB,KAAK;;AAEL,KAAK,GAAG,IAAI,GAAG;AACf,KAAK;;AAEL,IAAI,KAAK,WAAW;AACpB,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,mBAAmB;AAC5B,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,aAAa;AACtB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,YAAY;AACrB,IAAI,KAAK,aAAa;AACtB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,cAAc;AACvB,IAAI,KAAK,eAAe;AACxB,IAAI,KAAK,gBAAgB,EAAE;AAC3B,KAAK,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrC,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;AAEnD;AACA,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,gBAAgB,EAAE;AACpD,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AACjD,KAAK;;AAEL,KAAK,GAAG,IAAI,GAAG;AACf,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,UAAU,EAAE;AACrB,KAAK,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;AACrC,KAAK,GAAG,GAAG,IAAI,GAAG,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;;AAEnD,KAAK,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,gBAAgB,EAAE;AACpD,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;AACrD,KAAK;;AAEL,KAAK,GAAG,IAAI,GAAG;AACf,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,aAAa,EAAE;AACxB,KAAK,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;;AAEtD,KAAK,GAAG,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,EAAE,CAAC;AACxC,KAAK;AACL,IAAI;;AAEJ,IAAI,KAAK,mBAAmB;AAC5B,IAAI,KAAK,kBAAkB;AAC3B,IAAI,KAAK,oBAAoB;AAC7B,IAAI,KAAK,oBAAoB;AAC7B,IAAI,KAAK,wBAAwB;AACjC,IAAI,KAAK,wBAAwB;AACjC,IAAI,KAAK,yBAAyB;AAClC,IAAI,KAAK,wBAAwB;AACjC,KAAK,GAAG,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,KAAK;;AAEL,IAAI,SAAS;AACb,KAAK,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;;AAErC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE;AACrC,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC,oCAAoC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AACxF,KAAK;;AAEL,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE;AACvC,MAAM,MAAM,IAAI,YAAY,CAAC,CAAC,yCAAyC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;AAC7F,KAAK;;AAEL,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE;AACtC,MAAM,GAAG,GAAG,SAAS;AACrB,MAAM,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;AACpC,OAAO,IAAI,GAAG,KAAK,WAAW,EAAE;AAChC,QAAQ,MAAM,IAAI,YAAY;AAC9B,SAAS,CAAC,4CAA4C,CAAC;AACvD,SAAS,IAAI;AACb,SAAS,KAAK;AACd,SAAS;AACT,SAAS;AACT,OAAO;;AAEP,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACpC,OAAO,GAAG,IAAI,CAAC,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACzE,OAAO,IAAI,CAAC,GAAG,EAAE;AACjB,MAAM;AACN,MAAM,GAAG,IAAI,GAAG;AAChB,KAAK,CAAC,MAAM;AACZ,MAAM,GAAG,GAAG,GAAG;AACf,MAAM,IAAI,OAAO,GAAG,KAAK;AACzB,MAAM,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;AACpC,OAAO,IAAI,GAAG,KAAK,WAAW,EAAE;AAChC,QAAQ,MAAM,IAAI,YAAY;AAC9B,SAAS,CAAC,4CAA4C,CAAC;AACvD,SAAS,IAAI;AACb,SAAS,KAAK;AACd,SAAS;AACT,SAAS;AACT,OAAO;;AAEP,OAAO,IAAI,OAAO,EAAE,GAAG,IAAI,GAAG;AAC9B,OAAO,OAAO,GAAG,IAAI;AACrB,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;AACpC,OAAO,GAAG,IAAI,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;AACxE,OAAO,IAAI,CAAC,GAAG,EAAE;AACjB,MAAM;AACN,MAAM,GAAG,IAAI,GAAG;AAChB,KAAK;AACL,IAAI;AACJ;AACA,EAAE;;AAEF,EAAE,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG;AAC1B,EAAE,OAAO,KAAK;AACd,CAAC;;AAED,CAAC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;;AAE7B;AACA,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;;AAEjC,CAAC,OAAO,WAAW;AACnB;;AAEA;AACA;AACA;AACA;AACA,SAAS,mBAAmB,CAAC,KAAK,EAAE;AACpC,CAAC,MAAM,IAAI,GAAG,OAAO,KAAK;AAC1B,CAAC,IAAI,IAAI,KAAK,QAAQ,EAAE,OAAO,gBAAgB,CAAC,KAAK,CAAC;AACtD,CAAC,IAAI,KAAK,KAAK,MAAM,EAAE,OAAO,SAAS,CAAC,QAAQ,EAAE;AAClD,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,CAAC,EAAE,OAAO,aAAa,CAAC,QAAQ,EAAE;AAClE,CAAC,IAAI,IAAI,KAAK,QAAQ,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;AACtD,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC;AACrB;;ACzaO,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE;;ACF7C;;;AAgBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE;AACpC,CAAC,IAAyB,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,EAAE;AAC3E,EAAE,MAAM,IAAI,KAAK,CAAC,CAAC,sDAAsD,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;AAC/F,CAAC;;AAED,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;AAClC;;AA2CA;AACA;AACA;AACA;AACA;AACO,SAAS,UAAU,CAAC,CAAC,EAAE;AAC9B,CAAC,OAAO,CAAC,YAAY,QAAQ;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACjC;AACA;AACA,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;AAElC;AACA;AACA;AACA,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AAC3C,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACrC,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;AAChF,CAAC;;AAED,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE;AACnC,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC;AACjD,CAAC;;AAED,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,EAAE,GAAG,IAAI;AACT,EAAE;AACF,EAAE,CAAC;AACH;;AAEA;AACA;AACA;AACA;AACA;AACO,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;AACjC,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;AAC3C,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;AACrC,EAAE,MAAM,OAAO,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;AAC9D,EAAE,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;AAC/B,GAAG,GAAG,IAAI;AACV,GAAG;AACH,GAAG,CAAC;AACJ,CAAC;;AAED,CAAC,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE;AAC3B,EAAE,GAAG,IAAI;AACT,EAAE;AACF,EAAE,CAAC;AACH;;AClLA;AACO,MAAM,eAAe,GAAG,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY;;ACH3E;AACA;AACA;;;AAIA;AACA,IAAI,UAAU,GAAG,IAAI;;AAErB;AACA,IAAI,GAAG;;AAEP,OAAO,kBAAkB;AACzB,EAAE,IAAI,CAAC,CAAC,KAAK,MAAM,GAAG,GAAG,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACvD,EAAE,KAAK,CAAC,MAAM;AACd;AACA;AACA;AACA,CAAC,CAAC,CAAC;;AAkDH;AACA;AACA;AACA;AACA;AACO,SAAS,kBAAkB,CAAC,KAAK,EAAE,EAAE,EAAE;AAC9C,CAAC,IAAI;AACL,EAAE,UAAU,GAAG,KAAK;AACpB,EAAE,OAAO,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;AACxC,CAAC,CAAC,SAAS;AACX;AACA;AACA,EAAE,IAAI,CAAC,eAAe,EAAE;AACxB,GAAG,UAAU,GAAG,IAAI;AACpB,EAAE;AACF,CAAC;AACD;;ACpFA;AACA;AACA;AACA;AACA;AACA;AACO,SAAS,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE;AACnD,CAAC,OAAO;AACR,EAAE,GAAG,UAAU;AACf,EAAE,OAAO,EAAE;AACX,GAAG,GAAG,UAAU,CAAC,OAAO;AACxB,GAAG;AACH;AACA,EAAE;AACF;;ACRK,MAAC,iBAAiB,GAAG;AACrB,MAAC,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;AAE/E,MAAC,YAAY,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM;AAC3C,SAAS,IAAI,GAAG;AAChB;AACA,SAAS,IAAI,CAAC,EAAE,EAAE;AAClB,EAAE,IAAI,IAAI,GAAG,KAAK;AAClB,EAAE,IAAI,MAAM;AACZ,EAAE,OAAO,MAAM;AACf,IAAI,IAAI,IAAI,EAAE,OAAO,MAAM;AAC3B,IAAI,IAAI,GAAG,IAAI;AACf,IAAI,OAAO,MAAM,GAAG,EAAE,EAAE;AACxB,EAAE,CAAC;AACH;AACA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE;AACjC,SAAS,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE;AACtD,EAAE,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACpC,IAAI,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,IAAI,KAAK,GAAG,KAAK,KAAK,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;AACrD,EAAE,CAAC,MAAM,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC3C,IAAI,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;AACtC,IAAI,KAAK,GAAG,KAAK,KAAK,IAAI;AAC1B,EAAE;AACF,EAAE,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;AAClD;AACA,MAAM,UAAU,GAAG,EAAE;AACrB,SAAS,gBAAgB,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE;AAC/B,IAAI,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvC,IAAI,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;AACjC,IAAI,IAAI,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACxC,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM;AAC1B,MAAM,CAAC,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,IAAI,KAAK,CAAC,IAAI,GAAG;AAChF,KAAK;AACL,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE;AAC1C,IAAI,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACxB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,MAAM,GAAG,UAAU;AAC/D;AACA,QAAQ;AACR,OAAO,CAAC;AACR,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACrC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACxB,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;AAC5C,IAAI;AACJ,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE;AACxC,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,uCAAuC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AACnG,IAAI;AACJ,IAAI,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAChE,EAAE;AACF,EAAE,OAAO,MAAM;AACf;AACA,MAAM,wBAAwB,GAAG,kCAAkC;AACnE,MAAM,mBAAmB,GAAG,CAAC;AAC7B,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC9B,eAAe,uBAAuB,CAAC,OAAO,EAAE;AAChD,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,wBAAwB,EAAE;AACxE,IAAI,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;AAC9C,IAAI,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE;AACrE,EAAE;AACF,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACrB,IAAI,MAAM,iBAAiB,CAAC,SAAS,CAAC;AACtC,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE;AACzC,EAAE,MAAM,MAAM,GAAG,EAAE;AACnB,EAAE,SAAS,SAAS,CAAC,KAAK,EAAE;AAC5B,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;AAC7C,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM;AACzB,IAAI,OAAO,CAAC,IAAI,KAAK,EAAE;AACvB,MAAM,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC;AAC5D,MAAM,CAAC,EAAE;AACT,IAAI;AACJ,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC;AACxB,EAAE;AACF,EAAE,eAAe,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE;AAC5C,IAAI,IAAI,WAAW;AACnB,IAAI,IAAI,WAAW,GAAG,CAAC;AACvB,IAAI,IAAI,WAAW;AACnB,IAAI,KAAK,WAAW,GAAG,CAAC,IAAI,WAAW,EAAE,EAAE;AAC3C,MAAM,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC;AAChD,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI;AAC7B,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,UAAU;AACtD,MAAM,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,EAAE;AACvD,QAAQ,WAAW,GAAG,KAAK;AAC3B,QAAQ;AACR,MAAM;AACN,MAAM,WAAW,GAAG,SAAS;AAC7B,IAAI;AACJ,IAAI,IAAI,MAAM,GAAG,MAAM,IAAI,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE;AACjE,MAAM,OAAO,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;AACtF,IAAI;AACJ,IAAI,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;AAChE,IAAI,IAAI,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,MAAM,GAAG,WAAW;AAC9D,IAAI,OAAO,MAAM,GAAG,MAAM,EAAE;AAC5B,MAAM,WAAW,EAAE;AACnB,MAAM,IAAI,KAAK,GAAG,MAAM,SAAS,CAAC,WAAW,CAAC;AAC9C,MAAM,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI;AAC7B,MAAM,IAAI,KAAK,CAAC,UAAU,GAAG,MAAM,GAAG,MAAM,EAAE;AAC9C,QAAQ,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AAClD,MAAM;AACN,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;AACzB,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU;AAChC,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC;AACzC,IAAI,MAAM,GAAG,CAAC;AACd,IAAI,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AACjC,MAAM,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC;AAC/B,MAAM,MAAM,IAAI,KAAK,CAAC,UAAU;AAChC,IAAI;AACJ,IAAI,OAAO,MAAM;AACjB,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,CAAC,EAAE,YAAY,CAAC;AAClD,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,iBAAiB,CAAC,WAAW,CAAC;AACnD,EAAE,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,mBAAmB,EAAE;AACzC,IAAI,MAAM,iBAAiB,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAChG,EAAE;AACF,EAAE,MAAM,WAAW,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;AACvF,EAAE,MAAM,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;AACpD,EAAE,MAAM,mBAAmB,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;AAC5D,EAAE,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,WAAW,CAAC;AACjE,EAAE,IAAI,CAAC,WAAW,EAAE,MAAM,iBAAiB,CAAC,gBAAgB,CAAC;AAC7D,EAAE,IAAI,YAAY;AAClB,EAAE,IAAI,kBAAkB;AACxB,EAAE,IAAI,mBAAmB,GAAG,CAAC,EAAE;AAC/B,IAAI,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,YAAY,GAAG,WAAW,EAAE,mBAAmB,CAAC;AACjG,IAAI,IAAI,CAAC,mBAAmB,EAAE,MAAM,iBAAiB,CAAC,6BAA6B,CAAC;AACpF,IAAI,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;AAC1E,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;AAC9H,MAAM,MAAM,iBAAiB,CAAC,2BAA2B,CAAC;AAC1D,IAAI;AACJ,IAAI,YAAY;AAChB,IAAI,cAAc;AAClB,IAAI,kBAAkB,GAAG,YAAY,GAAG,WAAW,GAAG,mBAAmB;AACzE,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,EAAE;AACvB,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAGC,KAAa,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;AAClE,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,KAAK;AACxD,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC9J,QAAQ,MAAM,iBAAiB,CAAC,uBAAuB,CAAC;AACxD,MAAM;AACN,MAAM,IAAI,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;AACtC,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE;AAC7B,QAAQ,MAAM,iBAAiB,CAAC,mCAAmC,CAAC;AACpE,MAAM;AACN,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM;AAClC,MAAM,MAAM,IAAI,kBAAkB;AAClC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACvC,MAAM,OAAO,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE;AACzF,QAAQ,cAAc,GAAG;AACzB,UAAU,OAAO,IAAI,CAAC,SAAS;AAC/B,QAAQ;AACR,OAAO,CAAC;AACR,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;AACnE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC9C,IAAI,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC;AACtC,IAAI,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AACjC,IAAI,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI;AACxD,IAAI,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE;AACvC,MAAM,MAAM,iBAAiB,CAAC,mBAAmB,CAAC;AAClD,IAAI;AACJ,IAAI,IAAI,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE;AACvC,MAAM,MAAM,iBAAiB,CAAC,uBAAuB,CAAC;AACtD,IAAI;AACJ,EAAE;AACF,EAAE,KAAK,CAAC,YAAY;AACpB,IAAI,IAAI,QAAQ,GAAG,IAAI;AACvB,IAAI,OAAO,QAAQ,EAAE;AACrB,MAAM,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAClD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK;AACxB,IAAI;AACJ,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;AAClB,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE;AACxC;AACA,SAAS,iBAAiB,CAAC,OAAO,EAAE;AACpC,EAAE,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC,CAAC;AAChG;AACA,MAAM,QAAQ,CAAC;AACf;AACA,EAAE,UAAU;AACZ;AACA,EAAE,OAAO;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE;AAClE,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI;AACpB,IAAI,IAAI,CAAC,YAAY,GAAG,aAAa;AACrC,IAAI,IAAI,CAAC,kBAAkB,GAAG,EAAE;AAChC,IAAI,IAAI,CAAC,UAAU,GAAG,SAAS;AAC/B,IAAI,IAAI,CAAC,OAAO,GAAG,MAAM;AACzB,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;AAClD,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,IAAI,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;AACxC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACpC,EAAE;AACF;AACA,EAAE,OAAO;AACT,EAAE,MAAM,WAAW,GAAG;AACtB,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE;AACpE,IAAI,OAAO,IAAI,CAAC,OAAO;AACvB,EAAE;AACF,EAAE,MAAM,KAAK,GAAG;AAChB,IAAI,OAAO,IAAI,UAAU,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACnD,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE;AAC7D,IAAI,IAAI,KAAK,GAAG,CAAC,EAAE;AACnB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC;AAC5C,IAAI,CAAC,MAAM;AACX,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC;AACxC,IAAI;AACJ,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE;AACjB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC;AACxC,IAAI,CAAC,MAAM;AACX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;AACpC,IAAI;AACJ,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;AACzC,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ;AAC7B,MAAM,IAAI,CAAC,IAAI;AACf,MAAM,WAAW;AACjB,MAAM,IAAI;AACV,MAAM,IAAI,CAAC,YAAY;AACvB,MAAM,IAAI,CAAC,UAAU;AACrB,MAAM,IAAI,CAAC,OAAO,GAAG;AACrB,KAAK;AACL,IAAI,OAAO,IAAI;AACf,EAAE;AACF,EAAE,MAAM,GAAG;AACX,IAAI,IAAI,MAAM,GAAG,CAAC;AAClB,IAAI,IAAI,WAAW,GAAG,CAAC;AACvB,IAAI,OAAO,IAAI,cAAc,CAAC;AAC9B,MAAM,KAAK,EAAE,OAAO,UAAU,KAAK;AACnC,QAAQ,IAAI,WAAW,GAAG,CAAC;AAC3B,QAAQ,IAAI,WAAW;AACvB,QAAQ,KAAK,WAAW,GAAG,CAAC,IAAI,WAAW,EAAE,EAAE;AAC/C,UAAU,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAC1D,UAAU,IAAI,CAAC,KAAK,EAAE,OAAO,IAAI;AACjC,UAAU,MAAM,SAAS,GAAG,WAAW,GAAG,KAAK,CAAC,UAAU;AAC1D,UAAU,IAAI,IAAI,CAAC,OAAO,IAAI,WAAW,IAAI,IAAI,CAAC,OAAO,GAAG,SAAS,EAAE;AACvE,YAAY,WAAW,GAAG,KAAK;AAC/B,YAAY;AACZ,UAAU;AACV,UAAU,WAAW,GAAG,SAAS;AACjC,QAAQ;AACR,QAAQ,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW,GAAG,WAAW,CAAC,UAAU,EAAE;AAC9E,UAAU,UAAU,CAAC,OAAO;AAC5B,YAAY,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,EAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,GAAG,WAAW;AACnG,WAAW;AACX,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ,CAAC,MAAM;AACf,UAAU,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC;AAC9E,UAAU,MAAM,GAAG,WAAW,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,GAAG,WAAW;AACtE,QAAQ;AACR,MAAM,CAAC;AACP,MAAM,IAAI,EAAE,OAAO,UAAU,KAAK;AAClC,QAAQ,WAAW,EAAE;AACrB,QAAQ,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AACtD,QAAQ,IAAI,CAAC,KAAK,EAAE;AACpB,UAAU,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC;AAClD,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,UAAU;AACV,QAAQ;AACR,QAAQ,IAAI,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,EAAE;AACnD,UAAU,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;AACvD,QAAQ;AACR,QAAQ,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC;AACjC,QAAQ,MAAM,IAAI,KAAK,CAAC,UAAU;AAClC,QAAQ,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE;AACjC,UAAU,UAAU,CAAC,KAAK,EAAE;AAC5B,QAAQ;AACR,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF,EAAE,MAAM,IAAI,GAAG;AACf,IAAI,OAAO,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;AACnD,EAAE;AACF;AACA,MAAM,UAAU,GAAG,2CAA2C;AAC9D,SAAS,UAAU,CAAC,IAAI,EAAE;AAC1B,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;AAC9B,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3C,EAAE;AACF,EAAE,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAC/C;AACA,SAAS,yBAAyB,CAAC,GAAG,EAAE;AACxC,EAAE,IAAI,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,aAAa,IAAI,GAAG,KAAK,WAAW,EAAE;AAC3E,IAAI,MAAM,IAAI,KAAK;AACnB,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;AAC3B,KAAK;AACL,EAAE;AACF;AACA,SAAS,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE;AACvC,EAAE,IAAI,OAAO,GAAG,MAAM;AACtB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;AAC/C,IAAI,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACvB,IAAI,yBAAyB,CAAC,GAAG,CAAC;AAClC,IAAI,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,IAAI,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM;AACrE,IAAI,MAAM,MAAM,GAAG,KAAK,IAAI,IAAI;AAChC,IAAI,IAAI,MAAM,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACrD,MAAM,MAAM,IAAI,KAAK,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,IAAI;AACJ,IAAI,IAAI,CAAC,MAAM,EAAE;AACjB,MAAM,IAAI,KAAK,KAAK,UAAU,EAAE;AAChC,QAAQ;AACR,MAAM;AACN,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,EAAE;AACvC,IAAI;AACJ,IAAI,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;AAC1B,EAAE;AACF,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACzC,EAAE,yBAAyB,CAAC,SAAS,CAAC;AACtC,EAAE,IAAI,KAAK,KAAK,UAAU,EAAE;AAC5B,IAAI,OAAO,OAAO,CAAC,SAAS,CAAC;AAC7B,EAAE,CAAC,MAAM;AACT,IAAI,OAAO,CAAC,SAAS,CAAC,GAAG,KAAK;AAC9B,EAAE;AACF;AAoPK,MAAC,iBAAiB,GAAG;AACrB,MAAC,oBAAoB,GAAG;AAC7B,SAAS,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/F,EAAE,OAAOC,WAAiB,CAAC,IAAI,EAAE,QAAQ,CAAC;AAC1C;AAsBA,MAAM,aAAa,GAAG,SAAS;AAC/B,MAAM,UAAU,GAAG,SAAS;AAC5B,MAAM,UAAU,GAAG,SAAS;AAC5B,MAAM,WAAW,GAAG,SAAS;AA4D7B,SAAS,0BAA0B,CAAC,SAAS,EAAE;AAC/C,EAAE,MAAM,mBAAmB,GAAG;AAC9B;AACA,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,KAAK,KAAK;AACrC;AACA,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACjC,QAAQ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AACvD,MAAM;AACN,MAAM,MAAM,GAAG,mBAAmB,IAAI,GAAG,EAAE;AAC3C,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAChC,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;AACrH,UAAU,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AACzD,QAAQ;AACR,QAAQ,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI;AAC/B,QAAQ,GAAG,CAAC,GAAG,CAACC,OAAK,CAAC,GAAG,CAAC,EAAEA,OAAK,CAAC,GAAG,CAAC,CAAC;AACvC,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC;AACL;AACA,IAAI,CAAC,UAAU,GAAG,CAAC,KAAK,KAAK;AAC7B,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACjC,QAAQ,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AACvD,MAAM;AACN,MAAM,MAAM,GAAG,mBAAmB,IAAI,GAAG,EAAE;AAC3C,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;AAChC,QAAQ,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AACtC,UAAU,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;AACzD,QAAQ;AACR,QAAQ,GAAG,CAAC,GAAG,CAACA,OAAK,CAAC,IAAI,CAAC,CAAC;AAC5B,MAAM;AACN,MAAM,OAAO,GAAG;AAChB,IAAI,CAAC;AACL;AACA,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,KAAK;AAC9B,MAAM,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,YAAY,KAAK,QAAQ,IAAI,EAAE,KAAK,CAAC,IAAI,YAAY,WAAW,CAAC,EAAE;AACvO,QAAQ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC;AACxD,MAAM;AACN,MAAM,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK;AAC3C,MAAM,OAAO,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;AACzC,IAAI;AACJ,GAAG;AACH,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW;AAC1C,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;AAC3D,GAAG;AACH,EAAE,MAAM,YAAY,GAAG,EAAE,GAAG,aAAa,EAAE,GAAG,mBAAmB,EAAE;AACnE,EAAE,MAAMA,OAAK,GAAG,CAAC,IAAI,KAAKF,KAAa,CAAC,IAAI,EAAE,YAAY,CAAC;AAC3D,EAAE,OAAO,YAAY;AACrB;AAUA,SAAS,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE;AAC7C,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,MAAM;AAC5B,EAAE,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM;AAC9C;AACA,IAAI,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;AAClE,GAAG;AACH,EAAE,OAAOA,KAAa,CAAC,WAAW,EAAE,0BAA0B,CAAC,SAAS,CAAC,CAAC;AAC1E;AACA,SAAS,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE;AACxC,EAAE,OAAO,EAAE,GAAG,GAAG,GAAG,OAAO;AAC3B;AACA,SAAS,gBAAgB,CAAC,GAAG,EAAE;AAC/B,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;AAChC,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE;AAChB,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC;AACjD,EAAE;AACF,EAAE,OAAO;AACT,IAAI,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;AACvB,IAAI,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AAC5B,GAAG;AACH;AACA,SAAS,iBAAiB,CAAC,GAAG,EAAE;AAChC,EAAE,OAAO,GAAG,YAAY,KAAK,IAAI,GAAG;AACpC,EAAE,GAAG,CAAC,IAAI;AACV,EAAE,GAAG,CAAC,OAAO;AACb;AACA,IAAI;AACJ,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACpC;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,EAAE;AACF;AACA,IAAI;AACJ;AACA;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,EAAE,OAAO,KAAK,YAAY,SAAS,IAAI,KAAK,YAAY,cAAc,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG;AAC3F;AACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,EAAE,OAAO,KAAK,YAAY,cAAc,GAAG,KAAK,CAAC,IAAI,GAAG,gBAAgB;AACxE;AACA,SAAS,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE;AAClC,EAAE,MAAM,KAAK,GAAG,EAAE;AAClB,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK;AACxC,IAAI,MAAM,KAAK,GAAG,4DAA4D,CAAC,IAAI,CAAC,GAAG,CAAC;AACxF,IAAI,IAAI,KAAK,EAAE;AACf,MAAM,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK;AAC9C,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC7C,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK;AACvB,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;AACrB,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACtB,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,OAAO,KAAK,GAAG,CAAC,EAAE;AACnD,MAAM,OAAO,CAAC,CAAC,OAAO,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE;AACvC,IAAI;AACJ,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;AAC7C,MAAM,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE;AACpC,IAAI;AACJ,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AACpB,EAAE,CAAC,CAAC;AACJ,EAAE,IAAI,QAAQ;AACd,EAAE,IAAI,YAAY,GAAG,QAAQ;AAC7B,EAAE,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;AAChC,IAAI,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AAC/C,IAAI,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS;AACpC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG;AAC9G,KAAK;AACL,IAAI,IAAI,QAAQ,KAAK,EAAE,IAAI,QAAQ,GAAG,YAAY,EAAE;AACpD,MAAM,QAAQ,GAAG,QAAQ;AACzB,MAAM,YAAY,GAAG,QAAQ;AAC7B,IAAI;AACJ,EAAE;AACF,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU,EAAE;AAClD,IAAI,OAAO,OAAO,CAAC,YAAY,EAAE;AACjC,EAAE;AACF,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;AAC9C,EAAE,OAAO,UAAU,GAAGG,kBAAoC,CAAC,UAAU,CAAC,GAAG,EAAE;AAC3E;AACA,SAAS,eAAe,CAAC,OAAO,EAAE,GAAG,KAAK,EAAE;AAC5C,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE;AACjF,EAAE,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;AAC3C;AACA,SAAS,oBAAoB,CAAC,OAAO,EAAE;AACvC,EAAE,OAAO,eAAe;AACxB,IAAI,OAAO;AACX,IAAI,mCAAmC;AACvC,IAAI,qBAAqB;AACzB,IAAI,YAAY;AAChB,IAAI;AACJ,GAAG;AACH;AACA,MAAM,qBAAqB,GAAG;AAC9B,EAAE,GAAG,EAAE,OAAO;AACd,EAAE,GAAG,EAAE;AACP;AACA;AACA;AACA,CAAC;AACD,MAAM,gBAAgB,GAAG;AACzB,EAAE,GAAG,EAAE,OAAO;AACd,EAAE,GAAG,EAAE;AACP,CAAC;AACD,MAAM,UAAU;AAChB;AACA,EAAE;AACF,CAAC;AACD,MAAM,sBAAsB,GAAG,IAAI,MAAM;AACzC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU;AAClE,EAAE;AACF,CAAC;AACD,MAAM,iBAAiB,GAAG,IAAI,MAAM;AACpC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU;AAC7D,EAAE;AACF,CAAC;AACD,SAAS,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE;AACnC,EAAE,MAAM,IAAI,GAAG,OAAO,GAAG,qBAAqB,GAAG,gBAAgB;AACjE,EAAE,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,GAAG,sBAAsB,GAAG,iBAAiB,EAAE,CAAC,KAAK,KAAK;AACnG,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC5B,MAAM,OAAO,KAAK;AAClB,IAAI;AACJ,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACrD,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO,WAAW;AACpB;AACA,SAAS,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE;AACzC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,mBAAmB,CAAC,EAAE;AAC9C,IAAI,MAAM,EAAE,GAAG;AACf,IAAI,OAAO,EAAE;AACb;AACA;AACA,MAAM,KAAK,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI;AAC3C;AACA,GAAG,CAAC;AACJ;AACA,SAAS,eAAe,CAAC,GAAG,EAAE;AAC9B,EAAE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC;AACpE,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI,EAAE,MAAM,IAAI,GAAG,CAAC,EAAE;AACxC,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;AACxB,EAAE;AACF,EAAE,OAAO,OAAO;AAChB;AACA,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,OAAO,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;AAC9C;AACA,SAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;AACrD,EAAE,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;AAC/E,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE;AACpB,IAAI,OAAO,EAAE,EAAE,cAAc,EAAE,0BAA0B,EAAE;AAC3D,IAAI;AACJ,GAAG,CAAC;AACJ;AACA,eAAe,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;AAChE,EAAE,KAAK,GAAG,KAAK,YAAY,SAAS,GAAG,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC;AACvE,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,MAAM,IAAI,GAAG,MAAM,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;AAC3E,EAAE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE;AAC7E,IAAI,kBAAkB;AACtB,IAAI;AACJ,GAAG,CAAC;AACJ,EAAE,IAAI,KAAK,CAAC,aAAa,IAAI,IAAI,KAAK,kBAAkB,EAAE;AAC1D,IAAI,OAAO,IAAI,CAAC,IAAI,EAAE;AACtB,MAAM;AACN,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC;AACzD;AACA,eAAe,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;AACtE,EAAE,IAAI,KAAK,YAAY,SAAS,EAAE;AAClC,IAAI,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE;AACtD,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC;AAClC,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;AACpC,EAAE,OAAO,MAAM,kBAAkB;AACjC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE;AACpB,IAAI,MAAM,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;AACrE,GAAG,IAAI,EAAE,OAAO,EAAE;AAClB;AACA,SAAS,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE;AAC7C,EAAE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE;AACxC,IAAI,MAAM;AACV,IAAI,OAAO,EAAE,EAAE,QAAQ;AACvB,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;AACA,SAAS,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE;AAC7C,EAAE,IAAI,KAAK,CAAC,IAAI,EAAE;AAClB,IAAI,OAAO,CAAC,4CAA4C,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAsB,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,uHAAuH,CAAC;AACtP,EAAE;AACF,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,EAAE,EAAE;AACzB,IAAI,OAAO,CAAC,4CAA4C,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAAC;AAChG,EAAE;AACF,EAAE,OAAO,KAAK,CAAC,OAAO;AACtB;AACA,SAAS,cAAc,CAAC,IAAI,EAAE;AAC9B,EAAE,MAAM,IAAI,GAAG,EAAE;AACjB,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,EAAE;AACpD,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1D,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE;AACrD,IAAI,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;AAC5D,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE;AAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAC9C,EAAE;AACF,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC;AACxC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC;AACtC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC;AAClC,EAAE,OAAO,IAAI;AACb;AACA,SAAS,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE;AAClD,EAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAC3I;AACA,SAAS,mBAAmB,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;AACnD,EAAE,MAAM,cAAc,GAAG;AACzB,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC;AAC3E,EAAE,IAAI,MAAM,KAAK,GAAG,EAAE;AACtB,IAAI,OAAO,cAAc;AACzB,EAAE;AACF,EAAE,OAAO,CAAC,EAAE,cAAc;AAC1B,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;AACf;AACA,SAAS,aAAa,CAAC,OAAO,EAAE;AAChC,EAAE,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC;AACnC,EAAE,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;AAChC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,SAAS;AACjC,EAAE,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;AACvC,EAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC;AACA,SAAS,eAAe,CAAC,SAAS,EAAE;AACpC,EAAE,MAAM,QAAQ,GAAG,CAAC,KAAK,KAAK;AAC9B,IAAI,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;AACjC,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,MAAM,IAAI,OAAO,EAAE;AACnB,QAAQ,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC,GAAG,EAAEC,MAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3E,MAAM;AACN,IAAI;AACJ,EAAE,CAAC;AACH,EAAE,OAAO,QAAQ;AACjB;;;;","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as json } from '../../../../../chunks/utils.js-
|
|
1
|
+
import { j as json } from '../../../../../chunks/utils.js-Bzpr6vQU.js';
|
|
2
2
|
import { l as loadReport, i as isLaunchable, m as modeActorFr, s as stepActionFr, a as subjectOf } from '../../../../../chunks/friendly.js-D4fjovnZ.js';
|
|
3
3
|
import '../../../../../chunks/utils2.js-BQzn9ikS.js';
|
|
4
4
|
import 'node:child_process';
|
|
@@ -60,4 +60,4 @@ const POST = async ({ request }) => {
|
|
|
60
60
|
};
|
|
61
61
|
|
|
62
62
|
export { POST };
|
|
63
|
-
//# sourceMappingURL=_server.ts.js-
|
|
63
|
+
//# sourceMappingURL=_server.ts.js-Cah_Ivgw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-
|
|
1
|
+
{"version":3,"file":"_server.ts.js-Cah_Ivgw.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/actions/launch/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { l as loadReport, i as isLaunchable, m as modeActorFr, s as stepActionFr, a as subjectOf } from \"../../../../../chunks/friendly.js\";\nconst POST = async ({ request }) => {\n let body;\n try {\n body = await request.json();\n } catch {\n return json({ ok: false, error: \"Corps de requête JSON invalide.\" }, { status: 400 });\n }\n const ids = body?.ids;\n if (!Array.isArray(ids) || !ids.every((v) => typeof v === \"string\")) {\n return json(\n { ok: false, error: \"Champ `ids` requis : un tableau de chaînes (identifiants de directive).\" },\n { status: 400 }\n );\n }\n const report = await loadReport();\n if (!report.ok) {\n return json({ ok: false, error: report.error }, { status: 503 });\n }\n const byId = new Map(report.view.directives.map((d) => [d.id, d]));\n const accepted = [];\n const rejected = [];\n for (const id of ids) {\n const d = byId.get(id);\n if (!d) {\n rejected.push({ id, reason: \"Action inconnue (absente de la file courante).\" });\n continue;\n }\n if (!isLaunchable(d)) {\n rejected.push({\n id,\n reason: `Non lançable par un sous-agent — requiert ${modeActorFr(d.mode)}.`\n });\n continue;\n }\n accepted.push({\n id,\n subject: subjectOf(d),\n action: stepActionFr(d.step.code),\n actor: modeActorFr(d.mode),\n mode: d.mode\n });\n }\n return json({\n ok: true,\n launched: false,\n acknowledgedAt: (/* @__PURE__ */ new Date()).toISOString(),\n baselineCommit: report.baselineCommit,\n accepted,\n rejected,\n note: \"Lancement réel des sous-agents non encore câblé — cet accusé valide la sélection et fige le contrat. Le lot suivant branchera le dispatch (sous-agent / engagement h2a) derrière cet endpoint.\"\n });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;AAEK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,KAAK;AACpC,EAAE,IAAI,IAAI;AACV,EAAE,IAAI;AACN,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE;AAC/B,EAAE,CAAC,CAAC,MAAM;AACV,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iCAAiC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzF,EAAE;AACF,EAAE,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG;AACvB,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;AACvE,IAAI,OAAO,IAAI;AACf,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yEAAyE,EAAE;AACrG,MAAM,EAAE,MAAM,EAAE,GAAG;AACnB,KAAK;AACL,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE;AACnC,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE;AAClB,IAAI,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACpE,EAAE;AACF,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AACpE,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,MAAM,QAAQ,GAAG,EAAE;AACrB,EAAE,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;AACxB,IAAI,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1B,IAAI,IAAI,CAAC,CAAC,EAAE;AACZ,MAAM,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;AACrF,MAAM;AACN,IAAI;AACJ,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;AAC1B,MAAM,QAAQ,CAAC,IAAI,CAAC;AACpB,QAAQ,EAAE;AACV,QAAQ,MAAM,EAAE,CAAC,0CAA0C,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAClF,OAAO,CAAC;AACR,MAAM;AACN,IAAI;AACJ,IAAI,QAAQ,CAAC,IAAI,CAAC;AAClB,MAAM,EAAE;AACR,MAAM,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAC3B,MAAM,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACvC,MAAM,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,MAAM,IAAI,EAAE,CAAC,CAAC;AACd,KAAK,CAAC;AACN,EAAE;AACF,EAAE,OAAO,IAAI,CAAC;AACd,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,QAAQ,EAAE,KAAK;AACnB,IAAI,cAAc,EAAE,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AAC9D,IAAI,cAAc,EAAE,MAAM,CAAC,cAAc;AACzC,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,IAAI,EAAE;AACV,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as json } from '../../../../../chunks/utils.js-
|
|
1
|
+
import { j as json } from '../../../../../chunks/utils.js-Bzpr6vQU.js';
|
|
2
2
|
import { a as repoRoot, r as resolveTarget, p as putEnvelope } from '../../../../../chunks/h2a-bus.js-bLEJ_Adi.js';
|
|
3
3
|
import { l as loadReport, a as subjectOf, s as stepActionFr } from '../../../../../chunks/friendly.js-D4fjovnZ.js';
|
|
4
4
|
import '../../../../../chunks/utils2.js-BQzn9ikS.js';
|
|
@@ -68,4 +68,4 @@ const POST = async ({ request }) => {
|
|
|
68
68
|
};
|
|
69
69
|
|
|
70
70
|
export { POST };
|
|
71
|
-
//# sourceMappingURL=_server.ts.js-
|
|
71
|
+
//# sourceMappingURL=_server.ts.js-DW5wvcgH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_server.ts.js-
|
|
1
|
+
{"version":3,"file":"_server.ts.js-DW5wvcgH.js","sources":["../../../../../../../../.svelte-kit/output/server/entries/endpoints/api/decisions/inject/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { r as repoRoot, a as resolveTarget, p as putEnvelope } from \"../../../../../chunks/h2a-bus.js\";\nimport { l as loadReport, a as subjectOf, s as stepActionFr } from \"../../../../../chunks/friendly.js\";\nconst POST = async ({ request }) => {\n let body;\n try {\n body = await request.json();\n } catch {\n return json({ ok: false, error: \"Corps de requête JSON invalide.\" }, { status: 400 });\n }\n const id = body?.id;\n if (typeof id !== \"string\") {\n return json({ ok: false, error: \"Champ `id` requis (identifiant de décision).\" }, { status: 400 });\n }\n const report = await loadReport();\n if (!report.ok) return json({ ok: false, error: report.error }, { status: 503 });\n const d = report.view.directives.find((x) => x.id === id);\n if (!d) return json({ ok: false, error: \"Décision inconnue.\" }, { status: 400 });\n const root = repoRoot();\n const project = report.repo;\n const question = d.gate?.blockedByTitle?.trim() || subjectOf(d);\n const action = stepActionFr(d.step.code);\n const resolution = resolveTarget(root);\n if (!resolution.target) {\n return json({\n ok: true,\n delivered: false,\n reason: resolution.reason,\n remedy: resolution.remedy,\n note: resolution.remedy ?? `Aucune session h2a live sur « ${project} » : rien à qui remettre la décision.`\n });\n }\n const target = resolution.target;\n const envelope = {\n protocol: \"sentropic.h2a\",\n version: \"0.1\",\n id: `env:focus-decision-${id}-${Date.now()}`,\n createdAt: (/* @__PURE__ */ new Date()).toISOString(),\n type: \"event\",\n actor: { instance: \"focus:local-human\", role: \"AGENTS\", scope: \"scope:default\" },\n to: [target],\n topic: \"focus.decision-inject\",\n body: {\n kind: \"decision-mandate\",\n decisionId: id,\n subject: subjectOf(d),\n question,\n action,\n workspace: d.target.workspace,\n note: \"Décision poussée depuis Focus par l’humain — à instruire/trancher dans track (cette injection ne signe rien).\"\n }\n };\n let recipientLive = false;\n try {\n recipientLive = putEnvelope(root, target, envelope).recipientLive;\n } catch (e) {\n return json({ ok: false, error: `Dépôt h2a échoué : ${e instanceof Error ? e.message : String(e)}` });\n }\n const note = recipientLive ? `Décision « ${question} » remise à la session live ${target} — elle la verra à sa prochaine relève d’inbox.` : `Décision « ${question} » déposée dans l’inbox de ${target}, mais la session ne répond plus (présence périmée). Elle sera lue si la session reprend.`;\n return json({ ok: true, delivered: true, target, recipientLive, note });\n};\nexport {\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { j as json } from '../../../../../../chunks/utils.js-
|
|
1
|
+
import { j as json } from '../../../../../../chunks/utils.js-Bzpr6vQU.js';
|
|
2
2
|
import { b as agentMemoryDossier, f as findAgentMemoryDecision, c as findAgentMemoryOption } from '../../../../../../chunks/agent-memory-dossier.js-nmFG_rgx.js';
|
|
3
3
|
import { a as repoRoot, r as resolveTarget, p as putEnvelope } from '../../../../../../chunks/h2a-bus.js-bLEJ_Adi.js';
|
|
4
4
|
import '../../../../../../chunks/utils2.js-BQzn9ikS.js';
|
|
@@ -135,4 +135,4 @@ const POST = async ({ request }) => {
|
|
|
135
135
|
};
|
|
136
136
|
|
|
137
137
|
export { POST };
|
|
138
|
-
//# sourceMappingURL=_server.ts.js-
|
|
138
|
+
//# sourceMappingURL=_server.ts.js-C2jIx8Jr.js.map
|