@powerhousedao/reactor-api 6.2.3-dev.43 → 6.2.3-dev.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{adapter-http-express-CWqziB1p.mjs → adapter-http-express-P0t-mdMV.mjs} +6 -6
- package/dist/{adapter-http-express-CWqziB1p.mjs.map → adapter-http-express-P0t-mdMV.mjs.map} +1 -1
- package/dist/{adapter-http-fastify-CYZQ6FFv.mjs → adapter-http-fastify-D0OP5q9K.mjs} +6 -6
- package/dist/{adapter-http-fastify-CYZQ6FFv.mjs.map → adapter-http-fastify-D0OP5q9K.mjs.map} +1 -1
- package/dist/index.d.mts +33 -2
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +62 -66
- package/dist/index.mjs.map +1 -1
- package/dist/pglite-node-Ow9i5Rb4.mjs +573 -0
- package/dist/pglite-node-Ow9i5Rb4.mjs.map +1 -0
- package/dist/src/packages/vite-loader.d.mts.map +1 -1
- package/dist/src/packages/vite-loader.mjs +5 -9
- package/dist/src/packages/vite-loader.mjs.map +1 -1
- package/dist/src/pglite/pglite-node.d.mts +130 -0
- package/dist/src/pglite/pglite-node.d.mts.map +1 -0
- package/dist/src/pglite/pglite-node.mjs +4 -0
- package/dist/{pieces-DRY6haAO.mjs → subgraph-extraction-DTFoN_bS.mjs} +93 -6
- package/dist/subgraph-extraction-DTFoN_bS.mjs.map +1 -0
- package/package.json +18 -14
- package/dist/pieces-DRY6haAO.mjs.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="b10aa351-8ded-5463-91b0-6cfb882abce2")}catch(e){}}();
|
|
3
3
|
import { n as normalizePath, t as runNodeHandler } from "./run-node-handler-CQjyjOuN.mjs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { match } from "path-to-regexp";
|
|
6
6
|
import { Readable } from "node:stream";
|
|
7
|
-
import
|
|
7
|
+
import nodeFs from "node:fs";
|
|
8
8
|
import http from "node:http";
|
|
9
9
|
import https from "node:https";
|
|
10
10
|
import bodyParser from "body-parser";
|
|
@@ -147,8 +147,8 @@ var ExpressHttpAdapter = class {
|
|
|
147
147
|
} else if (tls && "keyPath" in tls) {
|
|
148
148
|
const currentDir = process.cwd();
|
|
149
149
|
server = https.createServer({
|
|
150
|
-
key:
|
|
151
|
-
cert:
|
|
150
|
+
key: nodeFs.readFileSync(path.join(currentDir, tls.keyPath)),
|
|
151
|
+
cert: nodeFs.readFileSync(path.join(currentDir, tls.certPath))
|
|
152
152
|
}, this.#app);
|
|
153
153
|
} else if (tls && "cert" in tls) server = https.createServer({
|
|
154
154
|
cert: tls.cert,
|
|
@@ -235,5 +235,5 @@ function createExpressHttpAdapter(existingApp) {
|
|
|
235
235
|
//#endregion
|
|
236
236
|
export { createExpressHttpAdapter };
|
|
237
237
|
|
|
238
|
-
//# sourceMappingURL=adapter-http-express-
|
|
239
|
-
//# debugId=
|
|
238
|
+
//# sourceMappingURL=adapter-http-express-P0t-mdMV.mjs.map
|
|
239
|
+
//# debugId=b10aa351-8ded-5463-91b0-6cfb882abce2
|
package/dist/{adapter-http-express-CWqziB1p.mjs.map → adapter-http-express-P0t-mdMV.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-http-express-CWqziB1p.mjs","sources":["../src/graphql/gateway/adapter-http-express.ts"],"sourcesContent":["import bodyParser from \"body-parser\";\nimport cors from \"cors\";\nimport type { CorsOptions } from \"cors\";\nimport devcert from \"devcert\";\nimport type express from \"express\";\nimport type { Express } from \"express\";\nimport { Router } from \"express\";\nimport expressLib from \"express\";\nimport type { IRouter } from \"express\";\nimport fs from \"node:fs\";\nimport http from \"node:http\";\nimport https from \"node:https\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport type { ReadableStream as WebReadableStream } from \"node:stream/web\";\nimport { match, type MatchFunction, type ParamData } from \"path-to-regexp\";\nimport type {\n FetchHandler,\n HttpMethod,\n IHttpAdapter,\n NodeRouteOptions,\n AdapterRouteHandle,\n TlsOptions,\n} from \"./types.js\";\nimport { normalizePath } from \"./path-normalize.js\";\nimport { runNodeHandler, type NodeHandler } from \"./run-node-handler.js\";\n\ntype GetHandler = (r: Request) => Response | Promise<Response>;\n\ntype RouteEntry =\n | {\n kind: \"fetch\";\n path: string;\n matcher: MatchFunction<ParamData>;\n prefix: boolean;\n handler: FetchHandler;\n }\n | {\n kind: \"get\";\n path: string;\n matcher: MatchFunction<ParamData>;\n handler: GetHandler;\n }\n | {\n kind: \"node\";\n method: string;\n path: string;\n matcher: MatchFunction<ParamData>;\n handler: NodeHandler;\n /** Dispatched ahead of the body parsers, with the stream unread. */\n rawBody: boolean;\n };\n\nexport class ExpressHttpAdapter implements IHttpAdapter {\n readonly #app: Express;\n readonly #router: IRouter;\n\n /**\n * Every route lives in this registry and is served by one\n * permanently-registered dispatcher (installed by setupMiddleware), because\n * Express 4 has no route-removal API: routes registered directly on the\n * app or router can never be taken back. Entries iterate in registration\n * order; mounting a path that already holds a route of the same kind (and\n * method, for node routes) replaces the old entry, so re-mounting is\n * last-write-wins without accumulating.\n */\n readonly #routes = new Map<number, RouteEntry>();\n #nextHandle = 0;\n\n constructor(existingApp?: Express) {\n this.#app = existingApp ?? expressLib();\n this.#router = Router();\n this.#app.use(this.#router);\n }\n\n setupSentryErrorHandler(sentry: object): void {\n const s = sentry as {\n setupExpressErrorHandler(app: Express): void;\n };\n s.setupExpressErrorHandler(this.#app);\n }\n\n get handle(): unknown {\n return this.#app;\n }\n\n mountRawMiddleware(middleware: unknown): void {\n // Connect/Express middleware shape; the caller owns its typing.\n this.#app.use(middleware as express.RequestHandler);\n }\n\n mountNodeRoute(\n method: HttpMethod,\n path: string,\n handler: (\n req: http.IncomingMessage,\n res: http.ServerResponse,\n body?: unknown,\n ) => void | Promise<void>,\n { rawBody = false, prefix = false }: NodeRouteOptions = {},\n ): AdapterRouteHandle {\n this.#replaceDuplicates(\"node\", path, method.toUpperCase());\n const handle = this.#nextHandle++;\n this.#routes.set(handle, {\n kind: \"node\",\n method: method.toUpperCase(),\n path,\n matcher: match(normalizePath(path), { end: !prefix }),\n rawBody,\n handler,\n });\n return { dispose: () => this.#routes.delete(handle) };\n }\n\n setupMiddleware({\n corsOptions,\n bodyLimit = \"50mb\",\n }: {\n corsOptions?: CorsOptions;\n bodyLimit?: string;\n }): void {\n this.#router.use(cors(corsOptions));\n\n // Ahead of the parsers: a raw route's whole point is that nothing has read\n // the stream. Behind them, `req` is a consumed stream and only a\n // re-encoded `req.body` survives — which cannot carry a signature over the\n // octets the client actually sent.\n this.#router.use((req, res, next) => {\n this.#dispatchNodeRoute(req, res, next, true);\n });\n\n this.#router.use(bodyParser.json({ limit: bodyLimit }));\n this.#router.use(\n bodyParser.urlencoded({ extended: true, limit: bodyLimit }),\n );\n\n // The single dispatch point for every registered route, registered\n // AFTER the body parsers so node routes receive a parsed req.body.\n // A request matching no route falls through to app-level middleware\n // (mountRawMiddleware) and then Express's default 404.\n this.#router.use((req, res, next) => {\n const pathname = req.path;\n\n // Node routes first, then GET routes, then Fetch mounts — the same\n // order the Fastify adapter uses. A node route is the most specific\n // registration there is (method plus exact path), while a Fetch mount is\n // often a prefix; letting the prefix win would silently shadow an exact\n // route, and would do it in only one of the two adapters.\n if (this.#dispatchNodeRoute(req, res, () => undefined, false)) return;\n\n if (req.method === \"GET\" || req.method === \"HEAD\") {\n for (const entry of this.#routes.values()) {\n if (entry.kind !== \"get\" || !entry.matcher(pathname)) continue;\n this.#serveGetEntry(entry, req, res);\n return;\n }\n }\n\n for (const entry of this.#routes.values()) {\n if (entry.kind !== \"fetch\" || !entry.matcher(pathname)) continue;\n this.#serveFetchHandler(entry.handler, req, res, next);\n return;\n }\n\n next();\n });\n }\n\n /**\n * Serves the first node route matching this request, or calls `next()`.\n * `raw` selects which half of the registry to consider, so the two passes —\n * one before the body parsers, one after — never serve the same route twice.\n */\n #dispatchNodeRoute(\n req: express.Request,\n res: express.Response,\n next: express.NextFunction,\n raw: boolean,\n ): boolean {\n const pathname = req.path;\n for (const entry of this.#routes.values()) {\n if (entry.kind !== \"node\") continue;\n if (entry.rawBody !== raw) continue;\n if (entry.method !== req.method) continue;\n const matched = entry.matcher(pathname);\n if (!matched) continue;\n req.params = matched.params as Record<string, string>;\n runNodeHandler(\n entry.handler,\n req,\n res,\n entry.rawBody ? undefined : req.body,\n );\n return true;\n }\n next();\n return false;\n }\n\n mount(\n path: string,\n handler: FetchHandler,\n { prefix, exact }: { prefix?: boolean; exact?: boolean } = {},\n ): AdapterRouteHandle {\n // `exact` never meant exact: it selected prefix matching. Kept as an alias\n // so existing callers keep working while the name is retired.\n const asPrefix = prefix ?? exact ?? false;\n this.#replaceDuplicates(\"fetch\", path);\n const handle = this.#nextHandle++;\n this.#routes.set(handle, {\n kind: \"fetch\",\n path,\n matcher: match(normalizePath(path), { end: !asPrefix }),\n prefix: asPrefix,\n handler,\n });\n return { dispose: () => this.#routes.delete(handle) };\n }\n\n getRoute(\n path: string,\n handler: (request: Request) => Response | Promise<Response>,\n ): AdapterRouteHandle {\n this.#replaceDuplicates(\"get\", path);\n const handle = this.#nextHandle++;\n this.#routes.set(handle, {\n kind: \"get\",\n path,\n matcher: match(normalizePath(path)),\n handler,\n });\n return { dispose: () => this.#routes.delete(handle) };\n }\n\n /**\n * Drop any existing entry the new registration would duplicate (same kind\n * and path, plus method for node routes) so a re-mount replaces instead of\n * shadowing. Map iteration tolerates concurrent deletion.\n */\n #replaceDuplicates(\n kind: RouteEntry[\"kind\"],\n path: string,\n method?: string,\n ): void {\n for (const [handle, entry] of this.#routes) {\n if (entry.kind !== kind || entry.path !== path) continue;\n if (kind === \"node\" && entry.kind === \"node\" && entry.method !== method) {\n continue;\n }\n this.#routes.delete(handle);\n }\n }\n\n async listen(\n port: number,\n tls?: TlsOptions,\n host?: string,\n ): Promise<http.Server> {\n let server: http.Server;\n\n if (tls === true) {\n const { cert, key } = (await devcert.certificateFor(\"localhost\")) as {\n cert: Buffer;\n key: Buffer;\n };\n if (!cert || !key) {\n throw new Error(\"Invalid certificate generated\");\n }\n server = https.createServer({ cert, key }, this.#app);\n } else if (tls && \"keyPath\" in tls) {\n const currentDir = process.cwd();\n server = https.createServer(\n {\n key: fs.readFileSync(path.join(currentDir, tls.keyPath)),\n cert: fs.readFileSync(path.join(currentDir, tls.certPath)),\n },\n this.#app,\n );\n } else if (tls && \"cert\" in tls) {\n server = https.createServer({ cert: tls.cert, key: tls.key }, this.#app);\n } else {\n server = http.createServer(this.#app);\n }\n\n return new Promise<http.Server>((resolve, reject) => {\n server.once(\"error\", reject);\n server.listen(port, host, () => {\n server.off(\"error\", reject);\n resolve(server);\n });\n });\n }\n\n #serveFetchHandler(\n handler: FetchHandler,\n req: express.Request,\n res: express.Response,\n next: express.NextFunction,\n ): void {\n // Build the full URL for the Fetch Request\n const protocol = req.protocol;\n const host = req.get(\"host\") ?? \"localhost\";\n const url = `${protocol}://${host}${req.originalUrl}`;\n\n // Convert Node.js incoming headers to Fetch Headers\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (typeof value === \"string\") {\n headers.set(key, value);\n } else if (Array.isArray(value)) {\n headers.set(key, value.join(\", \"));\n }\n }\n\n // bodyParser has already run, so req.body is a parsed JS value.\n // Re-serialize it so the Fetch Request body stream is readable.\n let body: string | undefined;\n if (\n req.method !== \"GET\" &&\n req.method !== \"HEAD\" &&\n req.body !== undefined\n ) {\n body = JSON.stringify(req.body);\n }\n\n const fetchRequest = new Request(url, {\n method: req.method,\n headers,\n body,\n });\n\n Promise.resolve(handler(fetchRequest))\n .then(async (response) => {\n res.status(response.status);\n response.headers.forEach((value, key) => {\n res.setHeader(key, value);\n });\n if (response.body === null) {\n res.send(await response.text());\n return;\n }\n // Stream the body to the socket instead of awaiting .text(): a\n // stream-backed body (e.g. graphql-sse) only closes when the\n // subscription completes, so awaiting would hang the request.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n const nodeStream = Readable.fromWeb(bodyStream);\n req.on(\"close\", () => {\n // The client went away mid-stream; stop pulling from the source.\n nodeStream.destroy();\n });\n nodeStream.on(\"error\", (err) => {\n if (res.headersSent) {\n // The response has already started; nothing left to say.\n res.destroy();\n } else {\n next(err);\n }\n });\n nodeStream.pipe(res);\n })\n .catch(next);\n }\n\n #serveGetEntry(\n entry: Extract<RouteEntry, { kind: \"get\" }>,\n req: express.Request,\n res: express.Response,\n ): void {\n const protocol = req.protocol;\n const host = req.get(\"host\") ?? \"localhost\";\n const url = `${protocol}://${host}${req.originalUrl}`;\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (typeof value === \"string\") {\n headers.set(key, value);\n } else if (Array.isArray(value)) {\n headers.set(key, value.join(\", \"));\n }\n }\n // GET is forced (matching the pre-refactor behavior, which also\n // normalized HEAD requests through the GET route handler).\n const fetchRequest = new Request(url, { method: \"GET\", headers });\n Promise.resolve(entry.handler(fetchRequest))\n .then(async (response) => {\n res.status(response.status);\n response.headers.forEach((value, key) => {\n res.setHeader(key, value);\n });\n if (response.body === null) {\n res.send(await response.text());\n return;\n }\n // Stream the body to the socket instead of awaiting .text(): a\n // stream-backed body (e.g. graphql-sse) only closes when the\n // subscription completes, so awaiting would hang the request.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n const nodeStream = Readable.fromWeb(bodyStream);\n req.on(\"close\", () => {\n // The client went away mid-stream; stop pulling from the source.\n nodeStream.destroy();\n });\n nodeStream.on(\"error\", (err) => {\n if (res.headersSent) {\n // The response has already started; nothing left to say.\n res.destroy();\n } else {\n res.status(500).send(String(err));\n }\n });\n nodeStream.pipe(res);\n })\n .catch((err: unknown) => {\n res.status(500).send(String(err));\n });\n }\n}\n\nexport function createExpressHttpAdapter(existingApp?: Express): {\n adapter: IHttpAdapter;\n} {\n return { adapter: new ExpressHttpAdapter(existingApp) };\n}\n"],"names":[],"mappings":"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","debug_id":"82a67d04-4ad0-51b0-a91b-1d4c7e52a077"}
|
|
1
|
+
{"version":3,"file":"adapter-http-express-P0t-mdMV.mjs","sources":["../src/graphql/gateway/adapter-http-express.ts"],"sourcesContent":["import bodyParser from \"body-parser\";\nimport cors from \"cors\";\nimport type { CorsOptions } from \"cors\";\nimport devcert from \"devcert\";\nimport type express from \"express\";\nimport type { Express } from \"express\";\nimport { Router } from \"express\";\nimport expressLib from \"express\";\nimport type { IRouter } from \"express\";\nimport fs from \"node:fs\";\nimport http from \"node:http\";\nimport https from \"node:https\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport type { ReadableStream as WebReadableStream } from \"node:stream/web\";\nimport { match, type MatchFunction, type ParamData } from \"path-to-regexp\";\nimport type {\n FetchHandler,\n HttpMethod,\n IHttpAdapter,\n NodeRouteOptions,\n AdapterRouteHandle,\n TlsOptions,\n} from \"./types.js\";\nimport { normalizePath } from \"./path-normalize.js\";\nimport { runNodeHandler, type NodeHandler } from \"./run-node-handler.js\";\n\ntype GetHandler = (r: Request) => Response | Promise<Response>;\n\ntype RouteEntry =\n | {\n kind: \"fetch\";\n path: string;\n matcher: MatchFunction<ParamData>;\n prefix: boolean;\n handler: FetchHandler;\n }\n | {\n kind: \"get\";\n path: string;\n matcher: MatchFunction<ParamData>;\n handler: GetHandler;\n }\n | {\n kind: \"node\";\n method: string;\n path: string;\n matcher: MatchFunction<ParamData>;\n handler: NodeHandler;\n /** Dispatched ahead of the body parsers, with the stream unread. */\n rawBody: boolean;\n };\n\nexport class ExpressHttpAdapter implements IHttpAdapter {\n readonly #app: Express;\n readonly #router: IRouter;\n\n /**\n * Every route lives in this registry and is served by one\n * permanently-registered dispatcher (installed by setupMiddleware), because\n * Express 4 has no route-removal API: routes registered directly on the\n * app or router can never be taken back. Entries iterate in registration\n * order; mounting a path that already holds a route of the same kind (and\n * method, for node routes) replaces the old entry, so re-mounting is\n * last-write-wins without accumulating.\n */\n readonly #routes = new Map<number, RouteEntry>();\n #nextHandle = 0;\n\n constructor(existingApp?: Express) {\n this.#app = existingApp ?? expressLib();\n this.#router = Router();\n this.#app.use(this.#router);\n }\n\n setupSentryErrorHandler(sentry: object): void {\n const s = sentry as {\n setupExpressErrorHandler(app: Express): void;\n };\n s.setupExpressErrorHandler(this.#app);\n }\n\n get handle(): unknown {\n return this.#app;\n }\n\n mountRawMiddleware(middleware: unknown): void {\n // Connect/Express middleware shape; the caller owns its typing.\n this.#app.use(middleware as express.RequestHandler);\n }\n\n mountNodeRoute(\n method: HttpMethod,\n path: string,\n handler: (\n req: http.IncomingMessage,\n res: http.ServerResponse,\n body?: unknown,\n ) => void | Promise<void>,\n { rawBody = false, prefix = false }: NodeRouteOptions = {},\n ): AdapterRouteHandle {\n this.#replaceDuplicates(\"node\", path, method.toUpperCase());\n const handle = this.#nextHandle++;\n this.#routes.set(handle, {\n kind: \"node\",\n method: method.toUpperCase(),\n path,\n matcher: match(normalizePath(path), { end: !prefix }),\n rawBody,\n handler,\n });\n return { dispose: () => this.#routes.delete(handle) };\n }\n\n setupMiddleware({\n corsOptions,\n bodyLimit = \"50mb\",\n }: {\n corsOptions?: CorsOptions;\n bodyLimit?: string;\n }): void {\n this.#router.use(cors(corsOptions));\n\n // Ahead of the parsers: a raw route's whole point is that nothing has read\n // the stream. Behind them, `req` is a consumed stream and only a\n // re-encoded `req.body` survives — which cannot carry a signature over the\n // octets the client actually sent.\n this.#router.use((req, res, next) => {\n this.#dispatchNodeRoute(req, res, next, true);\n });\n\n this.#router.use(bodyParser.json({ limit: bodyLimit }));\n this.#router.use(\n bodyParser.urlencoded({ extended: true, limit: bodyLimit }),\n );\n\n // The single dispatch point for every registered route, registered\n // AFTER the body parsers so node routes receive a parsed req.body.\n // A request matching no route falls through to app-level middleware\n // (mountRawMiddleware) and then Express's default 404.\n this.#router.use((req, res, next) => {\n const pathname = req.path;\n\n // Node routes first, then GET routes, then Fetch mounts — the same\n // order the Fastify adapter uses. A node route is the most specific\n // registration there is (method plus exact path), while a Fetch mount is\n // often a prefix; letting the prefix win would silently shadow an exact\n // route, and would do it in only one of the two adapters.\n if (this.#dispatchNodeRoute(req, res, () => undefined, false)) return;\n\n if (req.method === \"GET\" || req.method === \"HEAD\") {\n for (const entry of this.#routes.values()) {\n if (entry.kind !== \"get\" || !entry.matcher(pathname)) continue;\n this.#serveGetEntry(entry, req, res);\n return;\n }\n }\n\n for (const entry of this.#routes.values()) {\n if (entry.kind !== \"fetch\" || !entry.matcher(pathname)) continue;\n this.#serveFetchHandler(entry.handler, req, res, next);\n return;\n }\n\n next();\n });\n }\n\n /**\n * Serves the first node route matching this request, or calls `next()`.\n * `raw` selects which half of the registry to consider, so the two passes —\n * one before the body parsers, one after — never serve the same route twice.\n */\n #dispatchNodeRoute(\n req: express.Request,\n res: express.Response,\n next: express.NextFunction,\n raw: boolean,\n ): boolean {\n const pathname = req.path;\n for (const entry of this.#routes.values()) {\n if (entry.kind !== \"node\") continue;\n if (entry.rawBody !== raw) continue;\n if (entry.method !== req.method) continue;\n const matched = entry.matcher(pathname);\n if (!matched) continue;\n req.params = matched.params as Record<string, string>;\n runNodeHandler(\n entry.handler,\n req,\n res,\n entry.rawBody ? undefined : req.body,\n );\n return true;\n }\n next();\n return false;\n }\n\n mount(\n path: string,\n handler: FetchHandler,\n { prefix, exact }: { prefix?: boolean; exact?: boolean } = {},\n ): AdapterRouteHandle {\n // `exact` never meant exact: it selected prefix matching. Kept as an alias\n // so existing callers keep working while the name is retired.\n const asPrefix = prefix ?? exact ?? false;\n this.#replaceDuplicates(\"fetch\", path);\n const handle = this.#nextHandle++;\n this.#routes.set(handle, {\n kind: \"fetch\",\n path,\n matcher: match(normalizePath(path), { end: !asPrefix }),\n prefix: asPrefix,\n handler,\n });\n return { dispose: () => this.#routes.delete(handle) };\n }\n\n getRoute(\n path: string,\n handler: (request: Request) => Response | Promise<Response>,\n ): AdapterRouteHandle {\n this.#replaceDuplicates(\"get\", path);\n const handle = this.#nextHandle++;\n this.#routes.set(handle, {\n kind: \"get\",\n path,\n matcher: match(normalizePath(path)),\n handler,\n });\n return { dispose: () => this.#routes.delete(handle) };\n }\n\n /**\n * Drop any existing entry the new registration would duplicate (same kind\n * and path, plus method for node routes) so a re-mount replaces instead of\n * shadowing. Map iteration tolerates concurrent deletion.\n */\n #replaceDuplicates(\n kind: RouteEntry[\"kind\"],\n path: string,\n method?: string,\n ): void {\n for (const [handle, entry] of this.#routes) {\n if (entry.kind !== kind || entry.path !== path) continue;\n if (kind === \"node\" && entry.kind === \"node\" && entry.method !== method) {\n continue;\n }\n this.#routes.delete(handle);\n }\n }\n\n async listen(\n port: number,\n tls?: TlsOptions,\n host?: string,\n ): Promise<http.Server> {\n let server: http.Server;\n\n if (tls === true) {\n const { cert, key } = (await devcert.certificateFor(\"localhost\")) as {\n cert: Buffer;\n key: Buffer;\n };\n if (!cert || !key) {\n throw new Error(\"Invalid certificate generated\");\n }\n server = https.createServer({ cert, key }, this.#app);\n } else if (tls && \"keyPath\" in tls) {\n const currentDir = process.cwd();\n server = https.createServer(\n {\n key: fs.readFileSync(path.join(currentDir, tls.keyPath)),\n cert: fs.readFileSync(path.join(currentDir, tls.certPath)),\n },\n this.#app,\n );\n } else if (tls && \"cert\" in tls) {\n server = https.createServer({ cert: tls.cert, key: tls.key }, this.#app);\n } else {\n server = http.createServer(this.#app);\n }\n\n return new Promise<http.Server>((resolve, reject) => {\n server.once(\"error\", reject);\n server.listen(port, host, () => {\n server.off(\"error\", reject);\n resolve(server);\n });\n });\n }\n\n #serveFetchHandler(\n handler: FetchHandler,\n req: express.Request,\n res: express.Response,\n next: express.NextFunction,\n ): void {\n // Build the full URL for the Fetch Request\n const protocol = req.protocol;\n const host = req.get(\"host\") ?? \"localhost\";\n const url = `${protocol}://${host}${req.originalUrl}`;\n\n // Convert Node.js incoming headers to Fetch Headers\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (typeof value === \"string\") {\n headers.set(key, value);\n } else if (Array.isArray(value)) {\n headers.set(key, value.join(\", \"));\n }\n }\n\n // bodyParser has already run, so req.body is a parsed JS value.\n // Re-serialize it so the Fetch Request body stream is readable.\n let body: string | undefined;\n if (\n req.method !== \"GET\" &&\n req.method !== \"HEAD\" &&\n req.body !== undefined\n ) {\n body = JSON.stringify(req.body);\n }\n\n const fetchRequest = new Request(url, {\n method: req.method,\n headers,\n body,\n });\n\n Promise.resolve(handler(fetchRequest))\n .then(async (response) => {\n res.status(response.status);\n response.headers.forEach((value, key) => {\n res.setHeader(key, value);\n });\n if (response.body === null) {\n res.send(await response.text());\n return;\n }\n // Stream the body to the socket instead of awaiting .text(): a\n // stream-backed body (e.g. graphql-sse) only closes when the\n // subscription completes, so awaiting would hang the request.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n const nodeStream = Readable.fromWeb(bodyStream);\n req.on(\"close\", () => {\n // The client went away mid-stream; stop pulling from the source.\n nodeStream.destroy();\n });\n nodeStream.on(\"error\", (err) => {\n if (res.headersSent) {\n // The response has already started; nothing left to say.\n res.destroy();\n } else {\n next(err);\n }\n });\n nodeStream.pipe(res);\n })\n .catch(next);\n }\n\n #serveGetEntry(\n entry: Extract<RouteEntry, { kind: \"get\" }>,\n req: express.Request,\n res: express.Response,\n ): void {\n const protocol = req.protocol;\n const host = req.get(\"host\") ?? \"localhost\";\n const url = `${protocol}://${host}${req.originalUrl}`;\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (typeof value === \"string\") {\n headers.set(key, value);\n } else if (Array.isArray(value)) {\n headers.set(key, value.join(\", \"));\n }\n }\n // GET is forced (matching the pre-refactor behavior, which also\n // normalized HEAD requests through the GET route handler).\n const fetchRequest = new Request(url, { method: \"GET\", headers });\n Promise.resolve(entry.handler(fetchRequest))\n .then(async (response) => {\n res.status(response.status);\n response.headers.forEach((value, key) => {\n res.setHeader(key, value);\n });\n if (response.body === null) {\n res.send(await response.text());\n return;\n }\n // Stream the body to the socket instead of awaiting .text(): a\n // stream-backed body (e.g. graphql-sse) only closes when the\n // subscription completes, so awaiting would hang the request.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n const nodeStream = Readable.fromWeb(bodyStream);\n req.on(\"close\", () => {\n // The client went away mid-stream; stop pulling from the source.\n nodeStream.destroy();\n });\n nodeStream.on(\"error\", (err) => {\n if (res.headersSent) {\n // The response has already started; nothing left to say.\n res.destroy();\n } else {\n res.status(500).send(String(err));\n }\n });\n nodeStream.pipe(res);\n })\n .catch((err: unknown) => {\n res.status(500).send(String(err));\n });\n }\n}\n\nexport function createExpressHttpAdapter(existingApp?: Express): {\n adapter: IHttpAdapter;\n} {\n return { adapter: new ExpressHttpAdapter(existingApp) };\n}\n"],"names":["fs"],"mappings":";;;;;;;;;;;;;;AAqDA,IAAa,qBAAb,MAAwD;CACtD;CACA;;;;;;;;;;CAWA,0BAAmB,IAAI,IAAwB;CAC/C,cAAc;CAEd,YAAY,aAAuB;EACjC,KAAK,OAAO,eAAe,WAAW;EACtC,KAAK,UAAU,OAAO;EACtB,KAAK,KAAK,IAAI,KAAK,OAAO;CAC5B;CAEA,wBAAwB,QAAsB;EAI5C,OAAE,yBAAyB,KAAK,IAAI;CACtC;CAEA,IAAI,SAAkB;EACpB,OAAO,KAAK;CACd;CAEA,mBAAmB,YAA2B;EAE5C,KAAK,KAAK,IAAI,UAAoC;CACpD;CAEA,eACE,QACA,MACA,SAKA,EAAE,UAAU,OAAO,SAAS,UAA4B,CAAC,GACrC;EACpB,KAAK,mBAAmB,QAAQ,MAAM,OAAO,YAAY,CAAC;EAC1D,MAAM,SAAS,KAAK;EACpB,KAAK,QAAQ,IAAI,QAAQ;GACvB,MAAM;GACN,QAAQ,OAAO,YAAY;GAC3B;GACA,SAAS,MAAM,cAAc,IAAI,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;GACpD;GACA;EACF,CAAC;EACD,OAAO,EAAE,eAAe,KAAK,QAAQ,OAAO,MAAM,EAAE;CACtD;CAEA,gBAAgB,EACd,aACA,YAAY,UAIL;EACP,KAAK,QAAQ,IAAI,KAAK,WAAW,CAAC;EAMlC,KAAK,QAAQ,KAAK,KAAK,KAAK,SAAS;GACnC,KAAK,mBAAmB,KAAK,KAAK,MAAM,IAAI;EAC9C,CAAC;EAED,KAAK,QAAQ,IAAI,WAAW,KAAK,EAAE,OAAO,UAAU,CAAC,CAAC;EACtD,KAAK,QAAQ,IACX,WAAW,WAAW;GAAE,UAAU;GAAM,OAAO;EAAU,CAAC,CAC5D;EAMA,KAAK,QAAQ,KAAK,KAAK,KAAK,SAAS;GACnC,MAAM,WAAW,IAAI;GAOrB,IAAI,KAAK,mBAAmB,KAAK,WAAW,KAAA,GAAW,KAAK,GAAG;GAE/D,IAAI,IAAI,WAAW,SAAS,IAAI,WAAW,QACzC,KAAK,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;IACzC,IAAI,MAAM,SAAS,SAAS,CAAC,MAAM,QAAQ,QAAQ,GAAG;IACtD,KAAK,eAAe,OAAO,KAAK,GAAG;IACnC;GACF;GAGF,KAAK,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;IACzC,IAAI,MAAM,SAAS,WAAW,CAAC,MAAM,QAAQ,QAAQ,GAAG;IACxD,KAAK,mBAAmB,MAAM,SAAS,KAAK,KAAK,IAAI;IACrD;GACF;GAEA,KAAK;EACP,CAAC;CACH;;;;;;CAOA,mBACE,KACA,KACA,MACA,KACS;EACT,MAAM,WAAW,IAAI;EACrB,KAAK,MAAM,SAAS,KAAK,QAAQ,OAAO,GAAG;GACzC,IAAI,MAAM,SAAS,QAAQ;GAC3B,IAAI,MAAM,YAAY,KAAK;GAC3B,IAAI,MAAM,WAAW,IAAI,QAAQ;GACjC,MAAM,UAAU,MAAM,QAAQ,QAAQ;GACtC,IAAI,CAAC,SAAS;GACd,IAAI,SAAS,QAAQ;GACrB,eACE,MAAM,SACN,KACA,KACA,MAAM,UAAU,KAAA,IAAY,IAAI,IAClC;GACA,OAAO;EACT;EACA,KAAK;EACL,OAAO;CACT;CAEA,MACE,MACA,SACA,EAAE,QAAQ,UAAiD,CAAC,GACxC;EAGpB,MAAM,WAAW,UAAU,SAAS;EACpC,KAAK,mBAAmB,SAAS,IAAI;EACrC,MAAM,SAAS,KAAK;EACpB,KAAK,QAAQ,IAAI,QAAQ;GACvB,MAAM;GACN;GACA,SAAS,MAAM,cAAc,IAAI,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC;GACtD,QAAQ;GACR;EACF,CAAC;EACD,OAAO,EAAE,eAAe,KAAK,QAAQ,OAAO,MAAM,EAAE;CACtD;CAEA,SACE,MACA,SACoB;EACpB,KAAK,mBAAmB,OAAO,IAAI;EACnC,MAAM,SAAS,KAAK;EACpB,KAAK,QAAQ,IAAI,QAAQ;GACvB,MAAM;GACN;GACA,SAAS,MAAM,cAAc,IAAI,CAAC;GAClC;EACF,CAAC;EACD,OAAO,EAAE,eAAe,KAAK,QAAQ,OAAO,MAAM,EAAE;CACtD;;;;;;CAOA,mBACE,MACA,MACA,QACM;EACN,KAAK,MAAM,CAAC,QAAQ,UAAU,KAAK,SAAS;GAC1C,IAAI,MAAM,SAAS,QAAQ,MAAM,SAAS,MAAM;GAChD,IAAI,SAAS,UAAU,MAAM,SAAS,UAAU,MAAM,WAAW,QAC/D;GAEF,KAAK,QAAQ,OAAO,MAAM;EAC5B;CACF;CAEA,MAAM,OACJ,MACA,KACA,MACsB;EACtB,IAAI;EAEJ,IAAI,QAAQ,MAAM;GAChB,MAAM,EAAE,MAAM,QAAS,MAAM,QAAQ,eAAe,WAAW;GAI/D,IAAI,CAAC,QAAQ,CAAC,KACZ,MAAM,IAAI,MAAM,+BAA+B;GAEjD,SAAS,MAAM,aAAa;IAAE;IAAM;GAAI,GAAG,KAAK,IAAI;EACtD,OAAO,IAAI,OAAO,aAAa,KAAK;GAClC,MAAM,aAAa,QAAQ,IAAI;GAC/B,SAAS,MAAM,aACb;IACE,KAAKA,OAAG,aAAa,KAAK,KAAK,YAAY,IAAI,OAAO,CAAC;IACvD,MAAMA,OAAG,aAAa,KAAK,KAAK,YAAY,IAAI,QAAQ,CAAC;GAC3D,GACA,KAAK,IACP;EACF,OAAO,IAAI,OAAO,UAAU,KAC1B,SAAS,MAAM,aAAa;GAAE,MAAM,IAAI;GAAM,KAAK,IAAI;EAAI,GAAG,KAAK,IAAI;OAEvE,SAAS,KAAK,aAAa,KAAK,IAAI;EAGtC,OAAO,IAAI,SAAsB,SAAS,WAAW;GACnD,OAAO,KAAK,SAAS,MAAM;GAC3B,OAAO,OAAO,MAAM,YAAY;IAC9B,OAAO,IAAI,SAAS,MAAM;IAC1B,QAAQ,MAAM;GAChB,CAAC;EACH,CAAC;CACH;CAEA,mBACE,SACA,KACA,KACA,MACM;EAIN,MAAM,MAAM,GAFK,IAAI,SAEG,KADX,IAAI,IAAI,MAAM,KAAK,cACI,IAAI;EAGxC,MAAM,UAAU,IAAI,QAAQ;EAC5B,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,IAAI,OAAO,GACnD,IAAI,OAAO,UAAU,UACnB,QAAQ,IAAI,KAAK,KAAK;OACjB,IAAI,MAAM,QAAQ,KAAK,GAC5B,QAAQ,IAAI,KAAK,MAAM,KAAK,IAAI,CAAC;EAMrC,IAAI;EACJ,IACE,IAAI,WAAW,SACf,IAAI,WAAW,UACf,IAAI,SAAS,KAAA,GAEb,OAAO,KAAK,UAAU,IAAI,IAAI;EAGhC,MAAM,eAAe,IAAI,QAAQ,KAAK;GACpC,QAAQ,IAAI;GACZ;GACA;EACF,CAAC;EAED,QAAQ,QAAQ,QAAQ,YAAY,CAAC,CAAC,CACnC,KAAK,OAAO,aAAa;GACxB,IAAI,OAAO,SAAS,MAAM;GAC1B,SAAS,QAAQ,SAAS,OAAO,QAAQ;IACvC,IAAI,UAAU,KAAK,KAAK;GAC1B,CAAC;GACD,IAAI,SAAS,SAAS,MAAM;IAC1B,IAAI,KAAK,MAAM,SAAS,KAAK,CAAC;IAC9B;GACF;GAOA,MAAM,aAAa,SAAS;GAC5B,MAAM,aAAa,SAAS,QAAQ,UAAU;GAC9C,IAAI,GAAG,eAAe;IAEpB,WAAW,QAAQ;GACrB,CAAC;GACD,WAAW,GAAG,UAAU,QAAQ;IAC9B,IAAI,IAAI,aAEN,IAAI,QAAQ;SAEZ,KAAK,GAAG;GAEZ,CAAC;GACD,WAAW,KAAK,GAAG;EACrB,CAAC,CAAC,CACD,MAAM,IAAI;CACf;CAEA,eACE,OACA,KACA,KACM;EAGN,MAAM,MAAM,GAFK,IAAI,SAEG,KADX,IAAI,IAAI,MAAM,KAAK,cACI,IAAI;EACxC,MAAM,UAAU,IAAI,QAAQ;EAC5B,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,IAAI,OAAO,GACnD,IAAI,OAAO,UAAU,UACnB,QAAQ,IAAI,KAAK,KAAK;OACjB,IAAI,MAAM,QAAQ,KAAK,GAC5B,QAAQ,IAAI,KAAK,MAAM,KAAK,IAAI,CAAC;EAKrC,MAAM,eAAe,IAAI,QAAQ,KAAK;GAAE,QAAQ;GAAO;EAAQ,CAAC;EAChE,QAAQ,QAAQ,MAAM,QAAQ,YAAY,CAAC,CAAC,CACzC,KAAK,OAAO,aAAa;GACxB,IAAI,OAAO,SAAS,MAAM;GAC1B,SAAS,QAAQ,SAAS,OAAO,QAAQ;IACvC,IAAI,UAAU,KAAK,KAAK;GAC1B,CAAC;GACD,IAAI,SAAS,SAAS,MAAM;IAC1B,IAAI,KAAK,MAAM,SAAS,KAAK,CAAC;IAC9B;GACF;GAOA,MAAM,aAAa,SAAS;GAC5B,MAAM,aAAa,SAAS,QAAQ,UAAU;GAC9C,IAAI,GAAG,eAAe;IAEpB,WAAW,QAAQ;GACrB,CAAC;GACD,WAAW,GAAG,UAAU,QAAQ;IAC9B,IAAI,IAAI,aAEN,IAAI,QAAQ;SAEZ,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC;GAEpC,CAAC;GACD,WAAW,KAAK,GAAG;EACrB,CAAC,CAAC,CACD,OAAO,QAAiB;GACvB,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,OAAO,GAAG,CAAC;EAClC,CAAC;CACL;AACF;AAEA,SAAgB,yBAAyB,aAEvC;CACA,OAAO,EAAE,SAAS,IAAI,mBAAmB,WAAW,EAAE;AACxD","debug_id":"b10aa351-8ded-5463-91b0-6cfb882abce2"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
|
|
2
|
-
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="858c51f5-8289-53be-bf25-14f7c2aa4177")}catch(e){}}();
|
|
3
3
|
import { n as normalizePath, t as runNodeHandler } from "./run-node-handler-CQjyjOuN.mjs";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { match } from "path-to-regexp";
|
|
6
6
|
import { Readable } from "node:stream";
|
|
7
|
-
import
|
|
7
|
+
import nodeFs from "node:fs";
|
|
8
8
|
import http from "node:http";
|
|
9
9
|
import https from "node:https";
|
|
10
10
|
import Fastify from "fastify";
|
|
@@ -99,8 +99,8 @@ var FastifyHttpAdapter = class {
|
|
|
99
99
|
} else if (tls && "keyPath" in tls) {
|
|
100
100
|
const cwd = process.cwd();
|
|
101
101
|
httpServer = https.createServer({
|
|
102
|
-
key:
|
|
103
|
-
cert:
|
|
102
|
+
key: nodeFs.readFileSync(path.join(cwd, tls.keyPath)),
|
|
103
|
+
cert: nodeFs.readFileSync(path.join(cwd, tls.certPath))
|
|
104
104
|
});
|
|
105
105
|
} else if (tls && "cert" in tls) httpServer = https.createServer({
|
|
106
106
|
cert: tls.cert,
|
|
@@ -240,5 +240,5 @@ function createFastifyHttpAdapter() {
|
|
|
240
240
|
//#endregion
|
|
241
241
|
export { createFastifyHttpAdapter };
|
|
242
242
|
|
|
243
|
-
//# sourceMappingURL=adapter-http-fastify-
|
|
244
|
-
//# debugId=
|
|
243
|
+
//# sourceMappingURL=adapter-http-fastify-D0OP5q9K.mjs.map
|
|
244
|
+
//# debugId=858c51f5-8289-53be-bf25-14f7c2aa4177
|
package/dist/{adapter-http-fastify-CYZQ6FFv.mjs.map → adapter-http-fastify-D0OP5q9K.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-http-fastify-CYZQ6FFv.mjs","sources":["../src/graphql/gateway/adapter-http-fastify.ts"],"sourcesContent":["import fastifyCors from \"@fastify/cors\";\nimport fastifyFormbody from \"@fastify/formbody\";\nimport fastifyMiddie from \"@fastify/middie\";\nimport type { CorsOptions } from \"cors\";\nimport devcert from \"devcert\";\nimport Fastify from \"fastify\";\nimport type { FastifyInstance, FastifyReply, FastifyRequest } from \"fastify\";\nimport fs from \"node:fs\";\nimport http from \"node:http\";\nimport https from \"node:https\";\nimport nodePath from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport type { ReadableStream as WebReadableStream } from \"node:stream/web\";\nimport { match, type MatchFunction, type ParamData } from \"path-to-regexp\";\nimport type {\n FetchHandler,\n HttpMethod,\n IHttpAdapter,\n NodeRouteOptions,\n AdapterRouteHandle,\n TlsOptions,\n} from \"./types.js\";\nimport { normalizePath } from \"./path-normalize.js\";\nimport { runNodeHandler, type NodeHandler } from \"./run-node-handler.js\";\n\n/** Parses body-limit strings like \"50mb\" to bytes. */\nfunction parseBodyLimit(limit: string): number {\n const m = /^(\\d+(?:\\.\\d+)?)\\s*(b|kb|mb|gb)?$/i.exec(limit.trim());\n if (!m) return 52_428_800; // 50 MB fallback\n const n = parseFloat(m[1]);\n const units: Record<string, number> = {\n b: 1,\n kb: 1_024,\n mb: 1_048_576,\n gb: 1_073_741_824,\n };\n return Math.round(n * (units[(m[2] ?? \"b\").toLowerCase()] ?? 1));\n}\n\ntype FetchEntry = {\n path: string;\n handler: FetchHandler;\n matcher: MatchFunction<ParamData>;\n prefix: boolean;\n};\n\ntype GetEntry = {\n path: string;\n handler: (r: Request) => Response | Promise<Response>;\n matcher: MatchFunction<ParamData>;\n};\n\ntype NodeEntry = {\n path: string;\n method: HttpMethod;\n matcher: MatchFunction<ParamData>;\n handler: NodeHandler;\n /** Claimed in the onRequest hook, before any body parsing. */\n rawBody: boolean;\n};\n\n// Pre-listen configuration ops (need the Fastify instance to apply).\ntype SetupOp =\n | { kind: \"cors\"; options?: CorsOptions; bodyLimit: number }\n | { kind: \"middie\"; middleware: unknown };\n\nexport class FastifyHttpAdapter implements IHttpAdapter {\n // Dispatch maps, keyed by route handle and iterated in registration\n // order — populated at any time (before or after listen). Mounting a\n // path that already holds a route of the same kind (and method, for\n // node routes) replaces the old entry, so re-mounting is last-write-\n // wins without accumulating; a handle's dispose() removes its own entry.\n readonly #fetchRoutes = new Map<number, FetchEntry>();\n readonly #getRoutes = new Map<number, GetEntry>();\n readonly #nodeRoutes = new Map<number, NodeEntry>();\n #nextHandle = 0;\n\n // Ops that need the Fastify instance (CORS config, Connect middleware).\n readonly #setupOps: SetupOp[] = [];\n\n #instance: FastifyInstance | undefined;\n\n get handle(): unknown {\n return this.#instance;\n }\n\n setupMiddleware({\n corsOptions,\n bodyLimit = \"50mb\",\n }: {\n corsOptions?: CorsOptions;\n bodyLimit?: string;\n }): void {\n this.#setupOps.push({\n kind: \"cors\",\n options: corsOptions,\n bodyLimit: parseBodyLimit(bodyLimit),\n });\n }\n\n mount(\n path: string,\n handler: FetchHandler,\n { prefix, exact }: { prefix?: boolean; exact?: boolean } = {},\n ): AdapterRouteHandle {\n // `exact` never meant exact: it selected prefix matching. Kept as an alias\n // so existing callers keep working while the name is retired.\n const asPrefix = prefix ?? exact ?? false;\n for (const [handle, entry] of this.#fetchRoutes) {\n if (entry.path === path) this.#fetchRoutes.delete(handle);\n }\n const handle = this.#nextHandle++;\n this.#fetchRoutes.set(handle, {\n path,\n handler,\n matcher: match(normalizePath(path), { end: !asPrefix }),\n prefix: asPrefix,\n });\n return { dispose: () => this.#fetchRoutes.delete(handle) };\n }\n\n getRoute(\n path: string,\n handler: (r: Request) => Response | Promise<Response>,\n ): AdapterRouteHandle {\n for (const [handle, entry] of this.#getRoutes) {\n if (entry.path === path) this.#getRoutes.delete(handle);\n }\n const handle = this.#nextHandle++;\n this.#getRoutes.set(handle, {\n path,\n handler,\n matcher: match(normalizePath(path)),\n });\n return { dispose: () => this.#getRoutes.delete(handle) };\n }\n\n mountNodeRoute(\n method: HttpMethod,\n path: string,\n handler: NodeHandler,\n { rawBody = false, prefix = false }: NodeRouteOptions = {},\n ): AdapterRouteHandle {\n for (const [handle, entry] of this.#nodeRoutes) {\n if (entry.path === path && entry.method === method) {\n this.#nodeRoutes.delete(handle);\n }\n }\n const handle = this.#nextHandle++;\n this.#nodeRoutes.set(handle, {\n path,\n method,\n matcher: match(normalizePath(path), { end: !prefix }),\n handler,\n rawBody,\n });\n return { dispose: () => this.#nodeRoutes.delete(handle) };\n }\n\n mountRawMiddleware(middleware: unknown): void {\n if (this.#instance) {\n // @fastify/middie is always registered, so .use() is available post-listen.\n (\n this.#instance as FastifyInstance & {\n use(middleware: unknown): FastifyInstance;\n }\n ).use(middleware);\n } else {\n this.#setupOps.push({ kind: \"middie\", middleware });\n }\n }\n\n setupSentryErrorHandler(sentry: object): void {\n if (!this.#instance) return;\n const s = sentry as {\n setupFastifyErrorHandler(app: FastifyInstance): void;\n };\n s.setupFastifyErrorHandler(this.#instance);\n }\n\n async listen(\n port: number,\n tls?: TlsOptions,\n host?: string,\n ): Promise<http.Server> {\n let httpServer: http.Server;\n\n if (tls === true) {\n const { cert, key } = (await devcert.certificateFor(\"localhost\")) as {\n cert: Buffer;\n key: Buffer;\n };\n if (!cert || !key) throw new Error(\"Invalid certificate generated\");\n httpServer = https.createServer({ cert, key });\n } else if (tls && \"keyPath\" in tls) {\n const cwd = process.cwd();\n httpServer = https.createServer({\n key: fs.readFileSync(nodePath.join(cwd, tls.keyPath)),\n cert: fs.readFileSync(nodePath.join(cwd, tls.certPath)),\n });\n } else if (tls && \"cert\" in tls) {\n httpServer = https.createServer({ cert: tls.cert, key: tls.key });\n } else {\n httpServer = http.createServer();\n }\n\n const corsOp = this.#setupOps.find(\n (op): op is Extract<SetupOp, { kind: \"cors\" }> => op.kind === \"cors\",\n );\n const bodyLimit = corsOp?.bodyLimit ?? 52_428_800;\n\n const instance = Fastify({\n serverFactory: (handler) => {\n httpServer.on(\"request\", handler);\n return httpServer;\n },\n bodyLimit,\n logger: false,\n });\n\n this.#instance = instance;\n\n // Always register middie first so .use() is available post-listen.\n await instance.register(fastifyMiddie);\n await instance.register(fastifyFormbody);\n\n for (const op of this.#setupOps) {\n if (op.kind === \"cors\") {\n await instance.register(\n fastifyCors,\n op.options as Parameters<typeof fastifyCors>[1],\n );\n } else {\n (\n instance as FastifyInstance & {\n use(middleware: unknown): FastifyInstance;\n }\n ).use(op.middleware);\n }\n }\n\n // Raw routes are claimed here, in the earliest hook there is: Fastify\n // parses the body before the handler runs, and it 415s an unknown content\n // type outright, so a route that needs the octets as sent cannot wait for\n // dispatch. `hijack()` takes the reply out of Fastify's lifecycle and the\n // handler owns the socket from here.\n instance.addHook(\"onRequest\", (req, reply, done) => {\n const claimed = this.#matchNodeRoute(req, true);\n if (!claimed) {\n done();\n return;\n }\n (req.raw as http.IncomingMessage & { params?: ParamData }).params =\n claimed.params;\n reply.hijack();\n runNodeHandler(claimed.route.handler, req.raw, reply.raw, undefined);\n });\n\n // Single catch-all route — all dispatching is done via the Maps above so\n // that routes registered after listen() are picked up automatically.\n // OPTIONS is excluded because @fastify/cors registers its own OPTIONS /*\n // handler for preflight; including it here would cause a duplicate-route\n // conflict at startup.\n instance.route({\n method: [\"DELETE\", \"GET\", \"HEAD\", \"PATCH\", \"POST\", \"PUT\"],\n url: \"/*\",\n handler: (req, reply) => this.#dispatch(req, reply),\n });\n\n await instance.ready();\n\n return new Promise<http.Server>((resolve, reject) => {\n httpServer.once(\"error\", reject);\n httpServer.listen(port, host, () => {\n httpServer.off(\"error\", reject);\n resolve(httpServer);\n });\n });\n }\n\n /**\n * Finds a node route for this request. `raw` selects which half of the\n * registry to consider: raw routes are claimed in the onRequest hook, the\n * rest in the catch-all handler once the body is parsed.\n */\n #matchNodeRoute(\n req: FastifyRequest,\n raw: boolean,\n ): { route: NodeEntry; params: ParamData } | undefined {\n const pathname = new URL(req.url, \"http://localhost\").pathname;\n const method = req.method.toUpperCase();\n for (const entry of this.#nodeRoutes.values()) {\n if (entry.rawBody !== raw) continue;\n if (entry.method !== method) continue;\n const result = entry.matcher(pathname);\n if (result) return { route: entry, params: result.params };\n }\n return undefined;\n }\n\n #dispatch(\n req: FastifyRequest,\n reply: FastifyReply,\n ): void | Promise<FastifyReply> {\n const pathname = new URL(req.url, \"http://localhost\").pathname;\n const method = req.method.toUpperCase() as\n | \"DELETE\"\n | \"GET\"\n | \"HEAD\"\n | \"PATCH\"\n | \"POST\"\n | \"PUT\";\n\n // 1. Node routes — path-to-regexp match + method, handler manages raw\n // response. Attach decoded params onto `req.raw` so downstream handlers\n // can read them via the same `req.params` API the Express adapter exposes.\n const node = this.#matchNodeRoute(req, false);\n if (node) {\n (req.raw as http.IncomingMessage & { params?: ParamData }).params =\n node.params;\n reply.hijack();\n runNodeHandler(node.route.handler, req.raw, reply.raw, req.body);\n return;\n }\n\n // 2. GET-specific routes (health, explorer, etc.).\n if (method === \"GET\") {\n for (const entry of this.#getRoutes.values()) {\n if (entry.matcher(pathname)) {\n return this.#serveGetEntry(entry, req, reply);\n }\n }\n }\n\n // 3. Fetch routes (GraphQL handlers, SSE, etc.).\n // Iterate in reverse so that the last-mounted handler wins when the same\n // path is mounted more than once (e.g. supergraph remount after reload).\n for (const entry of [...this.#fetchRoutes.values()].reverse()) {\n if (entry.matcher(pathname)) {\n return serveFetchHandler(entry.handler, req, reply);\n }\n }\n\n void reply.status(404).send({\n message: `Route ${req.method}:${pathname} not found`,\n error: \"Not Found\",\n statusCode: 404,\n });\n }\n\n async #serveGetEntry(\n entry: GetEntry,\n req: FastifyRequest,\n reply: FastifyReply,\n ): Promise<FastifyReply> {\n const url = buildUrl(req);\n const headers = buildHeaders(req);\n const fetchReq = new Request(url, { method: \"GET\", headers });\n const response = await entry.handler(fetchReq);\n writeResponse(reply, response);\n if (response.body === null) {\n return reply.send(await response.text());\n }\n // Stream the body instead of awaiting .text(): a stream-backed body\n // (e.g. graphql-sse) only closes when the subscription completes, so\n // awaiting would hang the request. Fastify tears the source down on\n // client disconnect and routes pre-header stream errors to the\n // error handler.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n return reply.send(Readable.fromWeb(bodyStream));\n }\n}\n\nasync function serveFetchHandler(\n handler: FetchHandler,\n req: FastifyRequest,\n reply: FastifyReply,\n): Promise<FastifyReply> {\n const url = buildUrl(req);\n const headers = buildHeaders(req);\n let body: string | undefined;\n if (req.method !== \"GET\" && req.method !== \"HEAD\" && req.body !== undefined) {\n body = JSON.stringify(req.body);\n }\n const response = await handler(\n new Request(url, { method: req.method, headers, body }),\n );\n writeResponse(reply, response);\n if (response.body === null) {\n return reply.send(await response.text());\n }\n // Stream the body instead of awaiting .text(): a stream-backed body\n // (e.g. graphql-sse) only closes when the subscription completes, so\n // awaiting would hang the request. Fastify tears the source down on\n // client disconnect and routes pre-header stream errors to the\n // error handler.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n return reply.send(Readable.fromWeb(bodyStream));\n}\n\nfunction buildUrl(req: FastifyRequest): string {\n const protocol = req.protocol;\n const host = req.headers.host ?? \"localhost\";\n return `${protocol}://${host}${req.url}`;\n}\n\nfunction buildHeaders(req: FastifyRequest): Headers {\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (typeof value === \"string\") {\n headers.set(key, value);\n } else if (Array.isArray(value)) {\n headers.set(key, value.join(\", \"));\n }\n }\n return headers;\n}\n\nfunction writeResponse(reply: FastifyReply, response: Response): void {\n reply.statusCode = response.status;\n response.headers.forEach((value, key) => {\n reply.header(key, value);\n });\n}\n\nexport function createFastifyHttpAdapter(): { adapter: IHttpAdapter } {\n return { adapter: new FastifyHttpAdapter() };\n}\n"],"names":["nodePath"],"mappings":"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","debug_id":"3202957f-be6f-596c-8dfa-4dfb9f7f88b2"}
|
|
1
|
+
{"version":3,"file":"adapter-http-fastify-D0OP5q9K.mjs","sources":["../src/graphql/gateway/adapter-http-fastify.ts"],"sourcesContent":["import fastifyCors from \"@fastify/cors\";\nimport fastifyFormbody from \"@fastify/formbody\";\nimport fastifyMiddie from \"@fastify/middie\";\nimport type { CorsOptions } from \"cors\";\nimport devcert from \"devcert\";\nimport Fastify from \"fastify\";\nimport type { FastifyInstance, FastifyReply, FastifyRequest } from \"fastify\";\nimport fs from \"node:fs\";\nimport http from \"node:http\";\nimport https from \"node:https\";\nimport nodePath from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport type { ReadableStream as WebReadableStream } from \"node:stream/web\";\nimport { match, type MatchFunction, type ParamData } from \"path-to-regexp\";\nimport type {\n FetchHandler,\n HttpMethod,\n IHttpAdapter,\n NodeRouteOptions,\n AdapterRouteHandle,\n TlsOptions,\n} from \"./types.js\";\nimport { normalizePath } from \"./path-normalize.js\";\nimport { runNodeHandler, type NodeHandler } from \"./run-node-handler.js\";\n\n/** Parses body-limit strings like \"50mb\" to bytes. */\nfunction parseBodyLimit(limit: string): number {\n const m = /^(\\d+(?:\\.\\d+)?)\\s*(b|kb|mb|gb)?$/i.exec(limit.trim());\n if (!m) return 52_428_800; // 50 MB fallback\n const n = parseFloat(m[1]);\n const units: Record<string, number> = {\n b: 1,\n kb: 1_024,\n mb: 1_048_576,\n gb: 1_073_741_824,\n };\n return Math.round(n * (units[(m[2] ?? \"b\").toLowerCase()] ?? 1));\n}\n\ntype FetchEntry = {\n path: string;\n handler: FetchHandler;\n matcher: MatchFunction<ParamData>;\n prefix: boolean;\n};\n\ntype GetEntry = {\n path: string;\n handler: (r: Request) => Response | Promise<Response>;\n matcher: MatchFunction<ParamData>;\n};\n\ntype NodeEntry = {\n path: string;\n method: HttpMethod;\n matcher: MatchFunction<ParamData>;\n handler: NodeHandler;\n /** Claimed in the onRequest hook, before any body parsing. */\n rawBody: boolean;\n};\n\n// Pre-listen configuration ops (need the Fastify instance to apply).\ntype SetupOp =\n | { kind: \"cors\"; options?: CorsOptions; bodyLimit: number }\n | { kind: \"middie\"; middleware: unknown };\n\nexport class FastifyHttpAdapter implements IHttpAdapter {\n // Dispatch maps, keyed by route handle and iterated in registration\n // order — populated at any time (before or after listen). Mounting a\n // path that already holds a route of the same kind (and method, for\n // node routes) replaces the old entry, so re-mounting is last-write-\n // wins without accumulating; a handle's dispose() removes its own entry.\n readonly #fetchRoutes = new Map<number, FetchEntry>();\n readonly #getRoutes = new Map<number, GetEntry>();\n readonly #nodeRoutes = new Map<number, NodeEntry>();\n #nextHandle = 0;\n\n // Ops that need the Fastify instance (CORS config, Connect middleware).\n readonly #setupOps: SetupOp[] = [];\n\n #instance: FastifyInstance | undefined;\n\n get handle(): unknown {\n return this.#instance;\n }\n\n setupMiddleware({\n corsOptions,\n bodyLimit = \"50mb\",\n }: {\n corsOptions?: CorsOptions;\n bodyLimit?: string;\n }): void {\n this.#setupOps.push({\n kind: \"cors\",\n options: corsOptions,\n bodyLimit: parseBodyLimit(bodyLimit),\n });\n }\n\n mount(\n path: string,\n handler: FetchHandler,\n { prefix, exact }: { prefix?: boolean; exact?: boolean } = {},\n ): AdapterRouteHandle {\n // `exact` never meant exact: it selected prefix matching. Kept as an alias\n // so existing callers keep working while the name is retired.\n const asPrefix = prefix ?? exact ?? false;\n for (const [handle, entry] of this.#fetchRoutes) {\n if (entry.path === path) this.#fetchRoutes.delete(handle);\n }\n const handle = this.#nextHandle++;\n this.#fetchRoutes.set(handle, {\n path,\n handler,\n matcher: match(normalizePath(path), { end: !asPrefix }),\n prefix: asPrefix,\n });\n return { dispose: () => this.#fetchRoutes.delete(handle) };\n }\n\n getRoute(\n path: string,\n handler: (r: Request) => Response | Promise<Response>,\n ): AdapterRouteHandle {\n for (const [handle, entry] of this.#getRoutes) {\n if (entry.path === path) this.#getRoutes.delete(handle);\n }\n const handle = this.#nextHandle++;\n this.#getRoutes.set(handle, {\n path,\n handler,\n matcher: match(normalizePath(path)),\n });\n return { dispose: () => this.#getRoutes.delete(handle) };\n }\n\n mountNodeRoute(\n method: HttpMethod,\n path: string,\n handler: NodeHandler,\n { rawBody = false, prefix = false }: NodeRouteOptions = {},\n ): AdapterRouteHandle {\n for (const [handle, entry] of this.#nodeRoutes) {\n if (entry.path === path && entry.method === method) {\n this.#nodeRoutes.delete(handle);\n }\n }\n const handle = this.#nextHandle++;\n this.#nodeRoutes.set(handle, {\n path,\n method,\n matcher: match(normalizePath(path), { end: !prefix }),\n handler,\n rawBody,\n });\n return { dispose: () => this.#nodeRoutes.delete(handle) };\n }\n\n mountRawMiddleware(middleware: unknown): void {\n if (this.#instance) {\n // @fastify/middie is always registered, so .use() is available post-listen.\n (\n this.#instance as FastifyInstance & {\n use(middleware: unknown): FastifyInstance;\n }\n ).use(middleware);\n } else {\n this.#setupOps.push({ kind: \"middie\", middleware });\n }\n }\n\n setupSentryErrorHandler(sentry: object): void {\n if (!this.#instance) return;\n const s = sentry as {\n setupFastifyErrorHandler(app: FastifyInstance): void;\n };\n s.setupFastifyErrorHandler(this.#instance);\n }\n\n async listen(\n port: number,\n tls?: TlsOptions,\n host?: string,\n ): Promise<http.Server> {\n let httpServer: http.Server;\n\n if (tls === true) {\n const { cert, key } = (await devcert.certificateFor(\"localhost\")) as {\n cert: Buffer;\n key: Buffer;\n };\n if (!cert || !key) throw new Error(\"Invalid certificate generated\");\n httpServer = https.createServer({ cert, key });\n } else if (tls && \"keyPath\" in tls) {\n const cwd = process.cwd();\n httpServer = https.createServer({\n key: fs.readFileSync(nodePath.join(cwd, tls.keyPath)),\n cert: fs.readFileSync(nodePath.join(cwd, tls.certPath)),\n });\n } else if (tls && \"cert\" in tls) {\n httpServer = https.createServer({ cert: tls.cert, key: tls.key });\n } else {\n httpServer = http.createServer();\n }\n\n const corsOp = this.#setupOps.find(\n (op): op is Extract<SetupOp, { kind: \"cors\" }> => op.kind === \"cors\",\n );\n const bodyLimit = corsOp?.bodyLimit ?? 52_428_800;\n\n const instance = Fastify({\n serverFactory: (handler) => {\n httpServer.on(\"request\", handler);\n return httpServer;\n },\n bodyLimit,\n logger: false,\n });\n\n this.#instance = instance;\n\n // Always register middie first so .use() is available post-listen.\n await instance.register(fastifyMiddie);\n await instance.register(fastifyFormbody);\n\n for (const op of this.#setupOps) {\n if (op.kind === \"cors\") {\n await instance.register(\n fastifyCors,\n op.options as Parameters<typeof fastifyCors>[1],\n );\n } else {\n (\n instance as FastifyInstance & {\n use(middleware: unknown): FastifyInstance;\n }\n ).use(op.middleware);\n }\n }\n\n // Raw routes are claimed here, in the earliest hook there is: Fastify\n // parses the body before the handler runs, and it 415s an unknown content\n // type outright, so a route that needs the octets as sent cannot wait for\n // dispatch. `hijack()` takes the reply out of Fastify's lifecycle and the\n // handler owns the socket from here.\n instance.addHook(\"onRequest\", (req, reply, done) => {\n const claimed = this.#matchNodeRoute(req, true);\n if (!claimed) {\n done();\n return;\n }\n (req.raw as http.IncomingMessage & { params?: ParamData }).params =\n claimed.params;\n reply.hijack();\n runNodeHandler(claimed.route.handler, req.raw, reply.raw, undefined);\n });\n\n // Single catch-all route — all dispatching is done via the Maps above so\n // that routes registered after listen() are picked up automatically.\n // OPTIONS is excluded because @fastify/cors registers its own OPTIONS /*\n // handler for preflight; including it here would cause a duplicate-route\n // conflict at startup.\n instance.route({\n method: [\"DELETE\", \"GET\", \"HEAD\", \"PATCH\", \"POST\", \"PUT\"],\n url: \"/*\",\n handler: (req, reply) => this.#dispatch(req, reply),\n });\n\n await instance.ready();\n\n return new Promise<http.Server>((resolve, reject) => {\n httpServer.once(\"error\", reject);\n httpServer.listen(port, host, () => {\n httpServer.off(\"error\", reject);\n resolve(httpServer);\n });\n });\n }\n\n /**\n * Finds a node route for this request. `raw` selects which half of the\n * registry to consider: raw routes are claimed in the onRequest hook, the\n * rest in the catch-all handler once the body is parsed.\n */\n #matchNodeRoute(\n req: FastifyRequest,\n raw: boolean,\n ): { route: NodeEntry; params: ParamData } | undefined {\n const pathname = new URL(req.url, \"http://localhost\").pathname;\n const method = req.method.toUpperCase();\n for (const entry of this.#nodeRoutes.values()) {\n if (entry.rawBody !== raw) continue;\n if (entry.method !== method) continue;\n const result = entry.matcher(pathname);\n if (result) return { route: entry, params: result.params };\n }\n return undefined;\n }\n\n #dispatch(\n req: FastifyRequest,\n reply: FastifyReply,\n ): void | Promise<FastifyReply> {\n const pathname = new URL(req.url, \"http://localhost\").pathname;\n const method = req.method.toUpperCase() as\n | \"DELETE\"\n | \"GET\"\n | \"HEAD\"\n | \"PATCH\"\n | \"POST\"\n | \"PUT\";\n\n // 1. Node routes — path-to-regexp match + method, handler manages raw\n // response. Attach decoded params onto `req.raw` so downstream handlers\n // can read them via the same `req.params` API the Express adapter exposes.\n const node = this.#matchNodeRoute(req, false);\n if (node) {\n (req.raw as http.IncomingMessage & { params?: ParamData }).params =\n node.params;\n reply.hijack();\n runNodeHandler(node.route.handler, req.raw, reply.raw, req.body);\n return;\n }\n\n // 2. GET-specific routes (health, explorer, etc.).\n if (method === \"GET\") {\n for (const entry of this.#getRoutes.values()) {\n if (entry.matcher(pathname)) {\n return this.#serveGetEntry(entry, req, reply);\n }\n }\n }\n\n // 3. Fetch routes (GraphQL handlers, SSE, etc.).\n // Iterate in reverse so that the last-mounted handler wins when the same\n // path is mounted more than once (e.g. supergraph remount after reload).\n for (const entry of [...this.#fetchRoutes.values()].reverse()) {\n if (entry.matcher(pathname)) {\n return serveFetchHandler(entry.handler, req, reply);\n }\n }\n\n void reply.status(404).send({\n message: `Route ${req.method}:${pathname} not found`,\n error: \"Not Found\",\n statusCode: 404,\n });\n }\n\n async #serveGetEntry(\n entry: GetEntry,\n req: FastifyRequest,\n reply: FastifyReply,\n ): Promise<FastifyReply> {\n const url = buildUrl(req);\n const headers = buildHeaders(req);\n const fetchReq = new Request(url, { method: \"GET\", headers });\n const response = await entry.handler(fetchReq);\n writeResponse(reply, response);\n if (response.body === null) {\n return reply.send(await response.text());\n }\n // Stream the body instead of awaiting .text(): a stream-backed body\n // (e.g. graphql-sse) only closes when the subscription completes, so\n // awaiting would hang the request. Fastify tears the source down on\n // client disconnect and routes pre-header stream errors to the\n // error handler.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n return reply.send(Readable.fromWeb(bodyStream));\n }\n}\n\nasync function serveFetchHandler(\n handler: FetchHandler,\n req: FastifyRequest,\n reply: FastifyReply,\n): Promise<FastifyReply> {\n const url = buildUrl(req);\n const headers = buildHeaders(req);\n let body: string | undefined;\n if (req.method !== \"GET\" && req.method !== \"HEAD\" && req.body !== undefined) {\n body = JSON.stringify(req.body);\n }\n const response = await handler(\n new Request(url, { method: req.method, headers, body }),\n );\n writeResponse(reply, response);\n if (response.body === null) {\n return reply.send(await response.text());\n }\n // Stream the body instead of awaiting .text(): a stream-backed body\n // (e.g. graphql-sse) only closes when the subscription completes, so\n // awaiting would hang the request. Fastify tears the source down on\n // client disconnect and routes pre-header stream errors to the\n // error handler.\n // `response.body` is typed against the global (lib) ReadableStream\n // declaration, while Readable.fromWeb wants node:stream/web's; at\n // runtime they are the same stream, so the cast is safe.\n const bodyStream = response.body as WebReadableStream;\n return reply.send(Readable.fromWeb(bodyStream));\n}\n\nfunction buildUrl(req: FastifyRequest): string {\n const protocol = req.protocol;\n const host = req.headers.host ?? \"localhost\";\n return `${protocol}://${host}${req.url}`;\n}\n\nfunction buildHeaders(req: FastifyRequest): Headers {\n const headers = new Headers();\n for (const [key, value] of Object.entries(req.headers)) {\n if (typeof value === \"string\") {\n headers.set(key, value);\n } else if (Array.isArray(value)) {\n headers.set(key, value.join(\", \"));\n }\n }\n return headers;\n}\n\nfunction writeResponse(reply: FastifyReply, response: Response): void {\n reply.statusCode = response.status;\n response.headers.forEach((value, key) => {\n reply.header(key, value);\n });\n}\n\nexport function createFastifyHttpAdapter(): { adapter: IHttpAdapter } {\n return { adapter: new FastifyHttpAdapter() };\n}\n"],"names":["fs","nodePath"],"mappings":"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","debug_id":"858c51f5-8289-53be-bf25-14f7c2aa4177"}
|
package/dist/index.d.mts
CHANGED
|
@@ -65,6 +65,7 @@ type Db = Kysely<any>;
|
|
|
65
65
|
export declare const PGLITE_UTC_PARSERS: {
|
|
66
66
|
readonly 1114: (value: string) => Date;
|
|
67
67
|
};
|
|
68
|
+
export declare function isPostgresConnectionString(connectionString: string): boolean;
|
|
68
69
|
/**
|
|
69
70
|
* Optional factory used by callers (e.g. Switchboard) to inject a
|
|
70
71
|
* version-specific PGLite instance — e.g. `pglite-legacy-02` when an existing
|
|
@@ -1695,9 +1696,11 @@ type SubgraphsExport = Record<string, SubgraphClass$1>;
|
|
|
1695
1696
|
* The published bundle uses `export * as Foo from "./file"`, which Node turns
|
|
1696
1697
|
* into `{ Foo: <namespace>, … }`. The inner namespace's keys come from the
|
|
1697
1698
|
* source file's named exports — typically `Subgraph` / `default` / the class
|
|
1698
|
-
* name itself — so the shape varies.
|
|
1699
|
+
* name itself — so the shape varies.
|
|
1699
1700
|
*
|
|
1700
|
-
*
|
|
1701
|
+
* Delegates to the unified acceptance rule every package loader shares
|
|
1702
|
+
* (`extractSubgraphs`), kept as an export because it is part of the package's
|
|
1703
|
+
* public API and is unit-tested directly against synthetic module shapes.
|
|
1701
1704
|
*/
|
|
1702
1705
|
export declare function extractSubgraphsFromModule(module: Record<string, SubgraphsExport>): SubgraphClass$1[];
|
|
1703
1706
|
/**
|
|
@@ -4154,6 +4157,34 @@ export declare class PackageManager implements IPackageManager {
|
|
|
4154
4157
|
onPiecesChange(handler: (pieces: Map<string, PackagePieceEntry[]>) => void): void;
|
|
4155
4158
|
}
|
|
4156
4159
|
//#endregion
|
|
4160
|
+
//#region src/packages/subgraph-extraction.d.ts
|
|
4161
|
+
/**
|
|
4162
|
+
* The one acceptance rule for a package's `subgraphs` module.
|
|
4163
|
+
*
|
|
4164
|
+
* All three package loaders (vite, import, http) consume the same generated
|
|
4165
|
+
* `subgraphs/index` file, and each used to apply its own rule — the vite
|
|
4166
|
+
* loader required a namespace whose alias equalled the class name inside it,
|
|
4167
|
+
* the http loader took any function one level deep, and the import loader
|
|
4168
|
+
* took every nested value. An export that registered under one loader could
|
|
4169
|
+
* silently vanish under another (the codegen-does-not-register-subgraphs
|
|
4170
|
+
* report). This is now the single rule they all share:
|
|
4171
|
+
*
|
|
4172
|
+
* - an export that is itself a subgraph class is accepted (named or default
|
|
4173
|
+
* export of the class);
|
|
4174
|
+
* - any subgraph class among the values of an exported object is accepted
|
|
4175
|
+
* (a `export * as Alias from ...` namespace under any alias, or a
|
|
4176
|
+
* default-exported object of classes);
|
|
4177
|
+
* - everything else — constants, configs, functions and classes that do not
|
|
4178
|
+
* extend BaseSubgraph — is dropped.
|
|
4179
|
+
*
|
|
4180
|
+
* Codegen emits `export * as <ClassName> from "./<dir>/index.js"`
|
|
4181
|
+
* (makeSubgraphsIndexFile in packages/codegen), which the namespace branch
|
|
4182
|
+
* accepts regardless of the alias; hand-written packages may re-export a
|
|
4183
|
+
* class directly, which the direct branch accepts. A class reached through
|
|
4184
|
+
* both branches is returned once.
|
|
4185
|
+
*/
|
|
4186
|
+
export declare function extractSubgraphs(namespace: Record<string, unknown>): SubgraphClass$1[];
|
|
4187
|
+
//#endregion
|
|
4157
4188
|
//#region src/services/renown-config.d.ts
|
|
4158
4189
|
/** Where the credential check reads from: a remote Renown or Switchboard
|
|
4159
4190
|
* instance, or this switchboard's own renown read model. */
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils/db.ts","../src/services/document-permission.service.ts","../src/services/authorization.service.ts","../src/graphql/gateway/types.ts","../src/services/auth.service.ts","../src/http/webhook-store.ts","../src/http/webhook-service.ts","../src/http/route-service.ts","../src/http/namespace.ts","../src/http/webhook-verify.ts","../src/services/canonical-document-id.ts","../src/services/attachment-access.service.ts","../src/services/authorized-attachment.service.ts","../src/graphql/types.ts","../src/graphql/base-subgraph.ts","../src/graphql/analytics-subgraph.ts","../src/graphql/auth/resolvers.ts","../src/graphql/auth/subgraph.ts","../src/graphql/gateway/auth-middleware.ts","../src/graphql/gateway/factory.ts","../src/graphql/gateway/drive-ownership-cache.ts","../src/graphql/gateway/require-auth-middleware.ts","../src/graphql/graphql-manager.ts","../src/services/package-storage.ts","../src/types.ts","../src/packages/registry-cache.ts","../src/packages/http-loader.ts","../src/services/package-management.service.ts","../src/graphql/packages/subgraph.ts","../src/graphql/playground.ts","../src/graphql/reactor/gen/graphql.ts","../src/graphql/reactor/requester.ts","../src/graphql/reactor/factory.ts","../src/graphql/reactor/subgraph.ts","../src/graphql/system/env/index.ts","../src/graphql/system/subgraph.ts","../src/graphql/system/version.ts","../src/graphql/utils.ts","../src/graphql/errors.ts","../src/packages/import-loader.ts","../src/packages/package-manager.ts","../src/services/renown-config.ts","../src/server.ts","../src/services/renown-credential-verifier.ts","../src/services/privacy-permissions.ts","../src/utils/create-schema.ts"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/utils/db.ts","../src/services/document-permission.service.ts","../src/services/authorization.service.ts","../src/graphql/gateway/types.ts","../src/services/auth.service.ts","../src/http/webhook-store.ts","../src/http/webhook-service.ts","../src/http/route-service.ts","../src/http/namespace.ts","../src/http/webhook-verify.ts","../src/services/canonical-document-id.ts","../src/services/attachment-access.service.ts","../src/services/authorized-attachment.service.ts","../src/graphql/types.ts","../src/graphql/base-subgraph.ts","../src/graphql/analytics-subgraph.ts","../src/graphql/auth/resolvers.ts","../src/graphql/auth/subgraph.ts","../src/graphql/gateway/auth-middleware.ts","../src/graphql/gateway/factory.ts","../src/graphql/gateway/drive-ownership-cache.ts","../src/graphql/gateway/require-auth-middleware.ts","../src/graphql/graphql-manager.ts","../src/services/package-storage.ts","../src/types.ts","../src/packages/registry-cache.ts","../src/packages/http-loader.ts","../src/services/package-management.service.ts","../src/graphql/packages/subgraph.ts","../src/graphql/playground.ts","../src/graphql/reactor/gen/graphql.ts","../src/graphql/reactor/requester.ts","../src/graphql/reactor/factory.ts","../src/graphql/reactor/subgraph.ts","../src/graphql/system/env/index.ts","../src/graphql/system/subgraph.ts","../src/graphql/system/version.ts","../src/graphql/utils.ts","../src/graphql/errors.ts","../src/packages/import-loader.ts","../src/packages/package-manager.ts","../src/packages/subgraph-extraction.ts","../src/services/renown-config.ts","../src/server.ts","../src/services/renown-credential-verifier.ts","../src/services/privacy-permissions.ts","../src/utils/create-schema.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAwBY;;;;iBAKK;EACf;EACA;EACA;EACA,WAAW;EACX,WAAW;;iBAGI;EACf,oBAAoB;EACpB,yBAAyB;EACzB,oBAAoB;;iBAGL;EACf,IAAI;EACJ;EACA;EACA,YAAY;EACZ;EACA,WAAW;EACX,WAAW;;iBAII;EACf,IAAI;EACJ;EACA;EACA;EACA;EACA,WAAW;;KAGR,KAAK;qBAIG;WAEX,OAAI,kBAAgB;;wBAGN,2BAA2B;;;;;;;YAa/B,iBACV,yCACG;iBAEY;EACf,IAAI;EACJ,MAAM;EACN,QAAQ;;wBAQM,YACd,uCACA,gBAAgB,gBACf;qBAuEU;;;iBCvKI;EACf;EACA;EACA,YAAY;EACZ;EACA,WAAW;EACX,WAAW;;iBAGI;EACf;EACA;EACA;EACA;EACA,WAAW;;;;;;YAOD,kBAAkB,uBAAuB;;;;iBAKpC;EACf;;;;;;;;;;;;;qBAcW;mBAIQ;WAHV,QAAQ;EAEjB,YACmB,IAAI,OAAO,6BAC5B,SAAQ;;;;;EAaJ,kBACJ,oBACA,sBACC,QAAQ;;;;EAcL,uBACJ,qBACC,QAAQ;;;;EAoBL,iBACJ,sBACC,QAAQ;;;;EAoBL,gBACJ,oBACA,qBACA,YAAY,yBACZ,oBACC,QAAQ;;;;EA2CL,iBACJ,oBACA,sBACC;;;;EAWG,6BAA6B,qBAAqB;IACtD;IACA;;;EAsBI,yBAAyB,qBAAqB;;EAU9C,eAAe,kBAAkB;IACrC,aAAa;IACb,sBAAsB;IACtB;;;;;EAoDI,yBACJ,oBACA,uBACA,qBACA,oBACC,QAAQ;;;;EAsCL,0BACJ,oBACA,uBACA,sBACC;;;;EAYG,4BACJ,oBACA,wBACC,QAAQ;;;;EAkBL,kBACJ,oBACA,uBACA,sBACC;;;;EAiBG,sBACJ,oBACA,wBACC;;;;;EAmBG,oBAAoB,qBAAqB;;;;;EAkBzC,yBACJ,oBACA,cAAc,iBACb;;;;UA+BW;;;;EA0BR,sBACJ,oBACA,uBACC;;;;EAwBG,iBAAiB,qBAAqB;;;;EAatC,iBACJ,oBACA,uBACC;;;;;EA0BG,6BACJ,oBACA,sBACA,8BACC;;;;EAkCG,sBAAsB,qBAAqB;IAC/C;IACA;IACA;;;;;;;;;;;;;;;;KC3jBQ;WACD;;;;;;;qBAQE;WAEA;WACA;UAFJ;SAKA,SAAS,YAAY,sBAAsB;SAI3C,QAAQ,qBAAqB;;EAKpC,eAAe;;qBAUJ;WACX;WACA;WACA;;YAGU,8BACF,kCAAkC;UAE3B;EACf;EACA;EACA,QAAQ;;;;;;;;;;;;;;UAeO;WACN,QAAQ;;;;;;;EAQjB,eAAe;;;;;;EAOf,UAAU;EAEV,QACE,YAAY,qBACZ,uBACC;EAEH,SACE,YAAY,qBACZ,uBACC;;;;;EAMH,UACE,YAAY,qBACZ,uBACC;EAEH,UACE,YAAY,qBACZ,uBACA,uBACC;;;;YCnHO;EACN;EAAiB;;EACjB,MAAM;EAAiB,KAAK;;YAItB,sBAAsB,uBAChC,SAAS,YACN,QAAQ;;YAKD;YAGA,iBAAiB,uBAC3B,kBAAkB,yBAClB,YAAY,iBACT,QAAQ;YAKD,oBACV,kBAAkB,yBAClB,YAAY,iBACT;YAGO,WAAW;EACrB,WAAW;EACX,SAAS,iBAAiB;;;qBAef;;qBAIA;;qBAGA;YAKD;EAAe,sBAAsB;;YAGrC,gBAAgB,SAAS,YAAY,QAAQ;;;;;;;;;;;;;;;;iBAiBxC;EACf;;;;;;;;YASU;EACV;EACA,UAAU;EACV;;;;;;;;EAQA,YAAY;;iBAGG,gBAAgB;;EAE/B,MAAM,YAAY,KAAK,SAAS;;;;;EAMhC,cACE,QAAQ,eACR,gBAAgB,sBAAsB,YACrC,QAAQ;;;;;;;EAQX,wBACE,oBAAoB,sBACpB,YAAY,KAAK,QACjB,gBAAgB,sBAAsB,YACrC,QAAQ;;;;;;;EAQX,oBAAoB;;EAKpB,gBACE,UAAU,iBACV,QAAQ,eACR,UAAU,WAAW,YACpB;EAEH,QAAQ;;;;;;YAOE;iBAEK;;EAEf;;;;;;;;;;;;EAaA;;iBAGe;;EAEf,gBAAgB;IACd,cAAc;IACd;;;;;;;;;;EAWF,MACE,cACA,SAAS,cACT;IACE;;IAEA;MAED;;;;;EAMH,SACE,cACA,UAAU,SAAS,YAAY,WAAW,QAAQ,YACjD;;;;;;EAOH,OAAO,cAAc,MAAM,YAAY,gBAAgB,QAAQ,KAAK;;;;;;EAOpE,mBAAmB;;;;;;;;;;EAWnB,eACE,QAAQ,YACR,cAGA,UACE,KAAK,KAAK,iBACV,KAAK,KAAK,gBACV,0BACU,eACZ,UAAU,mBACT;;;;;;;EAQH,wBAAwB;;WAGf;;;;YCtPC,sBAAsB;EAChC;EACA;EACA;MACI;iBAEW;;;;;;;;EAQf;;;;;;;;;;;;;;EAcA;EACA;EACA;EACA;EACA,mBAAmB;;;;;;;YAgBT,OAAO;iBAEF;EACf,OAAO;EACP;EACA;;qBAGW;mBACM;mBACA;EAEjB,YAAY,QAAQ;;;;;cAQR;;UAKJ;EAIF,oBACJ,SAAS,WAAW,UACnB,QAAQ,cAAc,WAAW;;;;;EAuB9B,aACJ,oCACC,QAAQ,cAAc,WAAW;;EAqD9B,gCACJ,kBAAkB,0BACjB,QAAQ;;;;UAkDG;;;;;;;;;UAYN;;;;;;;;;;UAgCA;;;;;;;UAyCA;UAoBM;;;;;;;;;UC5TC;EACf;;EAEA;;EAEA;;EAEA;EACA;;UAGe;EACf,QAAQ;;EAER,OACE,mBACA,kBACA,mBACC,QAAQ;EACX,KAAK,gBAAgB,QAAQ;EAC7B,KAAK,mBAAmB,oBAAoB,QAAQ;EACpD,OAAO,mBAAmB,kBAAkB,mBAAmB;;EAE/D,KAAK,eAAe,aAAa,qBAAqB;;;wBAOxC;;qBA0BH,kCAAkC;;mBAGhB;EAA7B,YAA6B,cAAc;EAErC,QAAQ;EA0ER,OACJ,mBACA,kBACA,mBACC,QAAQ;EAsCL,KAAK,gBAAgB,QAAQ;EAU7B,KACJ,mBACA,oBACC,QAAQ;EASL,OACJ,mBACA,kBACA,mBACC;EASG,KAAK,eAAe,aAAa,qBAAqB;;;qBAiEjD,8BAA8B;;EAOzC,QAAQ;EAIR,OACE,mBACA,kBACA,mBACC,QAAQ;EAqBX,KAAK,gBAAgB,QAAQ;EAI7B,KAAK,mBAAmB,oBAAoB,QAAQ;EAUpD,OAAO,mBAAmB,kBAAkB,mBAAmB;EAa/D,KAAK,eAAe,aAAa,qBAAqB;;;;;qBCrU3C;UAKI;EACf,OAAO;EACP;;EAEA;;;;qBAOW;;EAUX,cAAc,OAAO,UAAgB,aAAa;;;EAQlD,OAAO,OAAO;EAIR,QAAQ;EAwBd;;EAOA,SAAS,oBAAoB;;EAmC7B,aAAa;;;EAUb,OAAO;;MAMH;;;;;qBCpGO;;qBAGA;UAOI;EACf,aAAa;;EAEb,WAAW;;EAEX;;EAEA,cAAc;;EAEd;;;EAGA;;;;qBAOW;;EAUX,cACE,aACA,UACA,aACA,UACA,WACA,cACC;;MAUC;;;EAMJ,SAAS,qBAAqB;;;EAgB9B,UAAU,cAAc,oBAAoB;;;EA2D5C,eAAe,qBAAqB;;EAiBpC,aAAa;EASb;;;;qBC1LW,8BAA8B;;;;;;wBAO3B,kBAAkB;;;;;wBA+BlB,cAAc;;;;;;;;;;;;;wBAmDd,mBACd,aACA,uBAAsB;;;;;;;;;;;;;;;wBA4DR,oBAAoB;;;KC7IxB;EAAiB;;EAAe;EAAW;;;;wBAuEvC,cAAc;EAC5B,cAAc;EACd,SAAS;EACT,KAAK;EACL,MAAM;IACJ;wBA8EY,cACd,SAAS,wBACT,iBACC;;;wBAca,iBAAiB,KAAK,QAAQ;;;;;;;;;qBChMjC,2CAA2C;EACtD;;YAMU,+BACV,uBACG,QAAQ;;;;;;wBAOG,kCACd,QAAQ,KAAK,qCACZ;;;;;;;;;;YCPS;EACN;;EAEA;EACA;;;;;;;;;YAaM;EACN;EAAiB,YAAY;EAAqB,KAAK;;EACvD;;EACA;;iBAEW;EACf;EACA;EACA;;;;;;;EAOA;;;YAIU,qBAAqB,KAAK;;;;;;;iBAQrB;EACf,mBACE,oBACA;IAAW;IAAkB;KAC7B,gBACA,SAAS,cACR,SAAS;;YASF;EACN;;EACA;;iBAEW;EACf;EACA;EACA;;iBAGe;EACf,kBACE,SAAS,0BACR,QAAQ;;EAEX,YACE,SAAS,0BACR,QAAQ;;iBAGI;;EAEf;;EAEA;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6BW,mCAAmC;mBAE3B;mBACA;mBACA;mBACA;mBACA;;;;;mBAKA;mBACA;EAXnB,YACmB,oBAAoB,6BACpB,eAAe,uBACf,YAAY,4BACZ,YAAY,yCACZ,UAAU,oBAKV;;;;;EAAA,YAAY,gCACZ,UAAS;EAG5B,YACE,SAAS,0BACR,QAAQ;EAYL,kBACJ,SAAS,0BACR,QAAQ;;;;;;;;;UA+DG;;;;;qBCjMH,oCAAoC;EAC/C;;;qBAOW,+BAA+B;EAC1C,YAAY;;;qBASD,uCAAuC;mBAE/B;mBACA;mBACA;mBACA;EAJnB,YACmB,OAAO,oBACP,QAAQ,0BACR,SAAS,aACT,QAAQ;;EAIrB,QAAQ,SAAS,2BAA2B,QAAQ;EAkBpD,KACJ,KAAK,eACL,UAAU,wBACT,QAAQ;EAQL,IACJ,KAAK,eACL,UAAU,cAAc,4BACvB,QAAQ;EAQL,kBACJ,KAAK,eACL,SAAS,kCACR,QAAQ;UAQG;UAgCA;UAgBN;;iBA4BO;EACf,WAAW,SAAS,cAAc;;qBAGvB,oCAAoC;mBAE5B;mBACA;mBACA;EAHnB,YACmB,SAAS,oBACT,QAAQ,0BACR,QAAQ;EAG3B,WAAW,SAAS,cAAc;;;;YCpLxB,uBAAuB;YAEvB;EACV;EACA,WAAW;EACX,SAAS;EACT;EACA;IACE;IACA;IACA;;IAGA;;;YAIQ;EACV;;;;;;;;EAQA;EACA,WAAW;EACX,UAAU;EACV,eAAe;EACf,cAAc;EACd;EACA,gBAAgB;EAChB,qBAAqB;;YAGX;EACV,eAAe;;;;;;EAMf,MAAM;EACN,cAAc;EACd,gBAAgB;EAChB,gBAAgB;EAChB,aAAa;EACb,4BAA4B;EAC5B,sBAAsB;;;;;;EAMtB,kBAAkB;;;;;EAKlB,cAAc;;;;;;EAMd;;YAGU;EACV;IACE;IACA;IACA;;EAEF;IACE;IACA;;EAEF;;YAGU;EACV,QAAQ;;YAGE;EACV;EACA;EACA;;YAGU;EACV;EACA;;YAGU;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,SAAS;;YAGC;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ,WAAW;EACX;EACA;;YAGU,mBAAmB;EAC7B;IACE;;EAEF;EACA,OAAO;EACP,cAAc;;;;;;;;wBCjHA,cAAc,MAAM,kBAAkB;qBAIzC,wBAAwB;;EACnC;EAGA;EACA,WAAW;EAKX,UAAU;EAKV,eAAe;;WAEN,MAAM;EACf,gBAAgB;EAChB,cAAc;EACd,aAAa;EACb,4BAA4B;EAC5B,sBAAsB;EACtB,kBAAkB;EAkBlB,YAAY,MAAM;;;;;;EAqBlB,eAAe,KAAK,UAAU;EAYxB,WAAO;EAIP,gBAAgB;;;;;;;;;EAgBhB,2BACJ,oBACA,qBACC,QAAQ;;;;;EAyBL,wBAAwB;IAAY;KACxC,MAAM,GACN,qBACC,QAAQ;IAAM,YAAY;;;;;;EAkCvB,gBACJ,YAAY,qBACZ,KAAK,UACJ;;;;;;;;;;;YAcO,YAAY,KAAK,UAAU;;YAKrB,eACd,oBACA,KAAK,UACJ;;;;;EAiBG,cACJ,oBACA,KAAK,UACJ,QAAQ;EAQL,eACJ,oBACA,KAAK,UACJ,QAAQ;EAQL,0BACJ,oBACA,uBACA,KAAK,UACJ,QAAQ;;;;;EAgBL,uBACJ,YAAY,qBACZ,KAAK,UACJ;EAUG,wBACJ,YAAY,qBACZ,KAAK,UACJ;EAUG,mCACJ,YAAY,qBACZ,uBACA,KAAK,UACJ;EAaH,gBAAgB,KAAK;;;;qBC7SV,0BAA0B;;EACrC,gBAAgB;EAChB,gBAAgB;EAEhB;EACA,4BAAQ;;;;;;;EAUR,WASK,mBAAmB;EAExB,YAAY,MAAM;;;;;KCrCR;EACV;EACA,aAAa;IACX;IACA;IACA,YAAY;IACZ;IACA,WAAW;IACX,WAAW;;;iBAIO,eACpB,SAAS,2BACT,sBAAsB,uBACtB;EAAQ,YAAY;GACpB,kCACC,QAAQ;iBAuBW,wBACpB,SAAS,2BACT,sBACC,QACD;EACE;EACA;EACA,YAAY;EACZ;EACA,WAAW;EACX,WAAW;;iBAMO,wBACpB,SAAS,2BACT,sBAAsB,uBACtB;EACE,YAAY;EACZ;EACA,YAAY;GAEd,uCACC;EACD;EACA;EACA,YAAY;EACZ;EACA,WAAW;EACX,WAAW;;iBAwBS,yBACpB,SAAS,2BACT,sBAAsB,uBACtB;EAAQ,YAAY;EAAqB;GACzC,uCACC;KAuBS;EACV;EACA;EACA;EACA;EACA,WAAW;;KAGD;EACV;EACA;EACA,iBAAiB;;iBAGG,qBACpB,SAAS,2BACT,sBAAsB,uBACtB;EAAQ,YAAY;EAAqB;GACzC,kCACC,QAAQ;iBA2BW,oBACpB,sBAAsB,uBACtB;EAAQ,YAAY;EAAqB;GACzC,kCACC;iBAQmB,yBACpB,SAAS,2BACT,sBAAsB,uBACtB;EACE,YAAY;EACZ;EACA;GAEF,uCACC,QAAQ;iBAuBW,0BACpB,SAAS,2BACT,sBAAsB,uBACtB;EACE,YAAY;EACZ;EACA;GAEF,uCACC;KA2BS;EACV;EACA;EACA;;iBAGoB,mBACpB,SAAS,2BACT,sBAAsB,uBACtB;EAAQ,YAAY;GACpB,kCACC,QAAQ;iBAkBW,sBACpB,SAAS,2BACT,sBAAsB,uBACtB;EAAQ,YAAY;EAAqB;GACzC,kCACC,QAAQ;iBAmBW,0BACpB,SAAS,2BACT,sBAAsB,uBACtB;EAAQ,YAAY;EAAqB;GACzC,kCACC,QAAQ;;;KCtTN;EACH;EACA;;;;;;;;;;;qBAYW,qBAAqB;;UACxB;EAER,YAAY,MAAM;EAKlB;EACA;EAEA,4BAAQ;EAER;IACE;MACE,iBAAc,kBACI,MACV,cAAY;QACX;UAAS;;YAAmB,QAAA;MAmBrC,0BAAuB,kBACL,gBACF;QAEZ;UAAS;;YACV;;;oBAxBkC;;;;;MA4CrC,uBAAoB,kBACF,MACV;QAAiB;SAAuB;QACvC;UAAS;;YAAmB,QAAA;MAmBrC,sBAAmB,kBACD,MACV;QAAiB;SAAuB;QACvC;UAAS;;YAAmB;MAerC,qBAAkB,kBACA,MACV,cAAY;QAEhB;UAAS;;YACV,QAAA;;IAoBL;MACE,wBAAqB,kBACH,MACV;QAAiB;SAAoB;QAEzC;UAAS;;YACV,QAAA;MAmBH,4BAAyB,kBACP,MACV;QAAiB;SAAyB;QAE9C;UAAS;;YACV,QAAA;MAsBH,0BAAuB,kBACL,MACV;QAAiB;QAAqB;SAAoB;QAE9D;UAAS;;YACV;;;oBAHK;;;;;MA0BR,2BAAwB,kBACN,MACV;QAAiB;SAAqB;QAE1C;UAAS;;YACV;MAoBH,2BAAwB,kBACN,MACV;QAAiB;QAAuB;SAAqB;QAEjE;UAAS;;YACV,QAAA;MAmBH,4BAAyB,kBACP,MACV;QAAiB;QAAuB;SAAqB;QAEjE;UAAS;;YACV;;;EAuCP,WAAW;;;;YChUD,uBAAuB,SAAS,iBAAiB;;wBAK7C,eACd,SAAS,WAAW,UACnB;wBAIa,0BACd,aAAa,cACZ;;;YCZS;YACA;wBAEU,qBACpB,MAAM,oBACN,QAAQ,UACP,QAAQ,gBAAgB;YAoBf;EACV,SAAS;;wBAGW,kBACpB,MAAM,kBACL,QAAQ;;;;;;;;;;;;;cCrBE;mBAGkB;mBAFZ;EAEjB,YAA6B,eAAe;EAEtC,QAAQ;EAgBd,IAAI;EAIJ,IAAI;EAIJ,OAAO;EAIP;;;;KC7CU,8BACV,SAAS,iBACN;;;YCkHO;EACV;;;YAIU;EACV;EACA,YAAY,KAAK;EACjB,UAAU;EACV,eAAe;EACf,cAAc;EACd,gBAAgB;EAChB,aAAa;EACb,QAAQ;EACR,aAAa;EACb,gBAAgB,gBAAgB;EAChC,cAAc;EACd,4BAA4B;;EAE5B,eAAe;;EAEf;EACA,sBAAsB;;EAEtB,qBAAqB;EACrB,kBAAkB;EAClB,aAAa;EACb,cAAc;;wBAwCA,qBAAqB;EACnC,cAAc;;EAEd;EACA,QAAQ;EACR,eACE,kBAAkB,yBAClB,OAAO,SACJ;IACH,WAAW;qBA4CF;;UACH;UACA;UACA;mBACS;mBAEA;WAIR,qBAAqB;;UAGtB;mBAES;;mBAMA;;mBAGA;;;;;;mBAOA;;;;;;WAcR,qBAAqB;mBACb;mBAIA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;EAEjB,YAAY,SAAS;EA6Bf,KACJ,eAAe,mBACf,iBAAiB,qBACjB,wBAAwB,6BAA0B;;;;;EAmJ9C,oCAAoC;;;;;EAmQpC,yBACJ,kBAAkB,aAClB,qBACA,iBAAY,QAAA;;;;EAQd;;;;;;EASA,2BAA2B;;;;;;EAS3B,gBAAgB,sBAAsB;;;;;;;;EAoBhC,iBACJ,UAAU,iBACV,qBACA,gBACA,uBAAoB,QAAA;;;;;;;;EAmChB,kBAAkB,sBAAsB;;;;;;EAuCxC,sBACJ,qBACA,WAAW,sBACV;;EAgBH,kBAAkB,eAAe;;;EAejC,mBAAmB;;;EAMb,qBAAqB,GACzB,sBACA,eACA,WAAW,0BACV,QAAQ;EA+CX,eAAY,wBAAA;UAEE;EAqBd,kCAA0B;EAI1B,2BAA2B,QAAQ;EAwCnC,cAAc,oBAAoB,WAAW,gBAAW;EAyBlD,YAAY;;;;iBC/hCH;EACf;EACA;EACA;EACA,aAAa;EACb;;iBAGe;EACf,IAAI,eAAe,QAAQ;EAC3B,UAAU,QAAQ;EAClB,IAAI,cAAc,MAAM,uBAAuB;EAC/C,OAAO,eAAe;EACtB,IAAI,eAAe;;qBAGR,kCAAkC;UACrC;EAER,IAAI,eAAe,QAAQ;EAI3B,UAAU,QAAQ;EAIlB,IAAI,cAAc,MAAM,uBAAuB;EAK/C,OAAO,eAAe;EAItB,IAAI,eAAe;;;;;;;;iBCFJ,6BAA6B;EAC5C,aAAa;;;YAQH,8BAA8B;YAE9B;EACV;EACA;;YAGU;EACV,aAAa;;EAEb,YAAY;EACZ,gBAAgB;EAChB,UAAU;EACV,aAAa;EACb,0BAA0B;;EAE1B,kBAAkB;;EAElB,0BAA0B;EAC1B,aAAa;;;;;;;;;EASb;;;EAGA,sBAAsB;;;EAGtB,cAAc;;;;;;;;EAQd,eAAe;;YAGL;EACV,gBAAgB;EAChB,cAAc;;;YAIJ,wBAAwB;;YAGxB,0BACV,0BAA4B;;YAGlB,YAAY;;;;cC9EX;WACX;WACA;WACA;;KAGU,gCAAgC;KA+ChC;EACV;EACA;EACA;;EAEA,SAAS,QAAQ,OAAO;EACxB;;KAGU;EACV;EACA;EACA,SAAS;EACT;;cASW;WACF;mBACQ;mBACA;mBACA;mBACA;mBAEA;EAEjB,YAAY,SAAS;;EAWrB,QAAQ,cAAc;EAItB,SAAS,cAAc;;EAQjB,eAAe,eAAe;EAyB9B,cACJ,cACA,kBACC,QAAQ;UAaG;;UA4BA;UAgDA;UAUA;UAiCA;UA2FN;UAuCM;UAuCA;;;;iBChbC;EACf;;EAEA;;iBAGe;EACf,OAAO;EACP,QAAQ,aAAa;;wBAIP,cACd,qBACA,qBACA;KAOG,kBAAkB,eAAe;;;;;;;;;;;;;wBActB,2BACd,QAAQ,eAAe,mBACtB;;;;;;;;;qBAiBU,6BAA6B;mBACvB;mBACA;WAER;WAEA,qBAAqB;WAErB,OAAO;mBAGC;EAEjB,YAAY,SAAS;;;;;;;;UAkBb;EAoBR,eAAe,sBAAsB;UAYvB;;EAqBR,aAAa,sBAAsB,QAAQ;;EAiB3C,YACJ,qBACA,MAAM,mBACL;IAAU,QAAQ;IAAyB;;EA2C9C,qBACE,sBACC;IAAU,QAAQ;IAAyB;;EAIxC,mBACJ,sBACC,QAAQ;EAWL,qBACJ,sBACC,QAAQ;EAaL,cAAc,sBAAsB,QAAQ;EAa5C,eACJ,sBACC,QAAQ;EAmBL,WAAW,sBAAsB,QAAQ;;;;;EA0CzC,aACJ,wBACA,SAAS,0BACR,QAAQ;EA6BL,eAAe,sBAAsB;;qBAuBhC,mCAAmC;mBAC7B;mBACA;mBAMA;mBAGA;mBAMA;UAET;EAER,YAAY,QAAQ;EAIpB,iBAAiB,WAAW,OAAO;EAInC;EAMM,KAAK,uBAAuB,QAAQ;UAqC5B;EAiCd;EAIA,kBAAkB,sBAAsB;EAIxC,gBAAgB;;;;iBChfD;EACf,SAAS;EACT;;iBAGe;EACf,UAAU;EACV;EACA,aAAa;EACb,wBAAwB;EACxB,iBAAiB;;qBAGN;mBACM;mBACA;mBACA;mBACA;mBACA;mBACA;UAKT;UACA;EAER,YAAY,UAAS;EAQrB,mBAAmB,WAAW,QAAQ;EAIhC,eACJ,cACA,uBACC,QAAQ;EA0DL,iBAAiB,eAAe;EAgChC,wBAAwB,QAAQ;EAIhC,oBACJ,eACC,QAAQ;EAIX,uBAAuB;UAQf;;;;UCzJO,6BAA6B;EAC5C,0BAA0B;;qBAGf,yBAAyB;UAC5B;UACA;EAER,YAAY,MAAM;EAMlB;EACA;EAEA,4BAAQ;EAER;IACE;MACE;;IAEF;MACE,yBAAiB;;;;;;;MAYjB,mBAAgB,kBAAyB;QAAU;YAAc;;;;;;;;IAcnE;MACE;;IAGF;MACE,iBAAc,kBACI;QACR;QAAc;SAA6B,KAC9C,YAAO;mCAAP;;;;;;;;;MAgBP,mBAAgB,kBACE;QACR;SAAc,KACjB,YAAO;;;EAkBlB,WAAW;;;;;;;;;;;iBC9FI;;EAEf;;EAEA;;EAEA,UAAU;;;;;;wBAOI,uBACd,kBACC;wBAkEa,wBACd,aACA,gBACA,UAAS,wBACT;;;YCrFU,MAAM,KAAK;YACX,WAAW,KAAK;YAChB,MAAM;GAAa;QAC5B,WAAW,IAAI,EAAE;YAER,aAAa,GAAG,gBAAgB,KAAK,KAAK,GAAG,QACtD,UAAU,KAAK,MAAM,EAAE;YAEd,UAAU,GAAG,gBAAgB,KAAK,KAAK,GAAG,QACnD,UAAU,IAAI,MAAM,EAAE;YAEb,UACV;GAAa;GACb,gBAAgB,QACX,KAAK;YACA,YAAY,KACpB,OAEG,WAAW,KAAK,4CAA4C,EAAE;YAEzD,cAAc,GAAG,gBAAgB,KAAK,KAAK,GAAG,QACvD,KAAK,MAAM,YAAY,EAAE;;YAGhB;EACV;IAAM;IAAe;;EACrB;IAAU;IAAe;;EACzB;IAAW;IAAgB;;EAC3B;IAAO;IAAe;;EACtB;IAAS;IAAe;;EACxB;IAAY,gBAAgB;IAAM,iBAAiB;;EACnD;IAAc,OAAO;IAAsB,QAAQ;;;YAGzC;WACD,UAAU,MAAM;WAChB,IAAI;WACJ,OAAO;WACP,OAAO;WACP,gBAAgB;WAChB,MAAM;;;;;;;;;YAUL;WACD,QAAQ,WAAW;WACnB,OAAO;WACP,MAAM;;YAGL;WACD,SAAS,MAAM;;;;;;;;;;;;;;YAed;;WAED,QAAQ,WAAW;;WAEnB,aAAa,WAAW;;WAExB,cAAc,WAAW;WACzB,SAAS,WAAW;;;;;;YAOnB;WACD,UAAU;WACV,SAAS,MAAM;;;;;;;;;;;YAYd;WACD,YAAY;WACZ,WAAW;WACX,YAAY;WACZ,WAAW;WACX,aAAa,cAAc;;YAG1B;WACD,UAAU,WAAW;WACrB,IAAI;WACJ,OAAO;WACP,OAAO;WACP,gBAAgB;WAChB,MAAM;;oBAGL;EACV;EACA;;YAGU;WACD,IAAI;;YAGH;WACD,IAAI;;YAGH;WACD,QAAQ;WACR,YAAY;WACZ,OAAO;;;;;;WAMP,YAAY,MAAM;WAClB,OAAO;WACP,gBAAgB;WAChB,QAAQ,cAAc;;YAGrB;WACD,UAAU,MAAM;WAChB,WAAW,MAAM;;YAGhB;WACD,UAAU,MAAM;WAChB,WAAW,cAAc;WACzB,MAAM;;oBAGL;EACV;EACA;EACA;EACA;EACA;EACA;EACA;;YAGU;WACD,IAAI;WACJ,MAAM;WACN,YAAY,MAAM;WAClB,eAAe;WACf,UAAU,MAAM;;YAGf;WACD,SAAS,MAAM;WACf,aAAa;WACb,iBAAiB;WACjB,OAAO,cAAc;;YAGpB;WACD,cAAc,WAAW,cAAc;WACvC,SAAS,WAAW;WACpB,SAAS,WAAW,cAAc;WAClC,gBAAgB,WAAW;WAC3B,gBAAgB,WAAW;WAC3B,cAAc,WAAW;;YAGxB;WACD,WAAW;WACX,WAAW,MAAM;WACjB,kBAAkB;WAClB,UAAU;WACV,UAAU;WACV,WAAW;;YAGV;WACD,SAAS,MAAM;WACf,aAAa;WACb,iBAAiB;WACjB,OAAO,cAAc;;YAGpB;WACD,UAAU,cAAc;WACxB,UAAU;;YAGT;WACD,QAAQ,MAAM;WACd,OAAO;;;;;;WAMP,SAAS,MAAM;WACf,QAAQ;;YAGP;WACD,cAAc,MAAM;WACpB,WAAW;WACX,QAAQ,MAAM;WACd,IAAI;;;;;WAKJ,SAAS,MAAM;WACf,QAAQ;;YAGP;WACD,QAAQ;WACR,QAAQ;;YAGP;WACD,iBAAiB;WACjB,gBAAgB;WAChB,qBAAqB;WACrB,gBAAgB;WAChB,iBAAiB;;;;;;;;;;;;;WAajB,SAAS;;;;;;;;;WAST,cAAc;WACd,kBAAkB;;WAElB,gBAAgB;;WAEhB,qBAAqB;WACrB,mBAAmB;WACnB,oBAAoB;WACpB,gBAAgB;WAChB,oBAAoB;WACpB,cAAc;WACd,oBAAoB;;YAGnB;EACV,SAAS,WAAW;EACpB,WAAW,WAAW;EACtB,kBAAkB;EAClB,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;;YAGpB;EACV,UAAU;EACV,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;;YAGpB;EACV,cAAc;EACd,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;;YAGpB;EACV,WAAW,WAAW;EACtB,aAAa,WAAW;EACxB,YAAY,WAAW;;YAGb;EACV,cAAc,WAAW,cAAc;EACvC,aAAa,WAAW,cAAc;EACtC,YAAY,WAAW;;YAGb;EACV,SAAS,cAAc;EACvB,SAAS,WAAW;EACpB,mBAAmB,WAAW;EAC9B,qBAAqB,WAAW;;YAGtB;EACV,SAAS,cAAc;EACvB,SAAS,WAAW;EACpB,mBAAmB,WAAW;EAC9B,qBAAqB,WAAW;;YAGtB;EACV,SAAS,WAAW;EACpB,kBAAkB;EAClB,uBAAuB,WAAW;EAClC,yBAAyB,WAAW;EACpC,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,uBAAuB,WAAW;EAClC,yBAAyB,WAAW;;YAG1B;EACV,SAAS,cAAc;EACvB,oBAAoB;EACpB,OAAO,WAAW;;YAGR;EACV,SAAS,cAAc;EACvB,oBAAoB;EACpB,OAAO,WAAW;;YAGR;EACV,WAAW,cAAc;EACzB,uBAAuB,WAAW;;YAGxB;EACV,SAAS,WAAW;EACpB,kBAAkB;EAClB,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;;YAGpB;EACV,SAAS,WAAW;EACpB,mBAAmB,WAAW;EAC9B,qBAAqB,WAAW;EAChC,MAAM;;YAGI;EACV,SAAS,WAAW;EACpB,mBAAmB,WAAW;EAC9B,qBAAqB,WAAW;EAChC,kBAAkB,WAAW;;YAGnB;EACV,OAAO;;YAGG;EACV,SAAS,WAAW;EACpB,WAAW,WAAW;EACtB,kBAAkB;EAClB,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;;YAGpB;WACD,QAAQ;WACR,YAAY;WACZ,cAAc;WACd,SAAS;WACT,OAAO;;YAGN;WACD,QAAQ;WACR,YAAY;WACZ,cAAc;WACd,SAAS;WACT,OAAO;;YAGN;WACD,QAAQ;WACR,eAAe,WAAW;WAC1B,QAAQ,WAAW;WACnB,MAAM;WACN,KAAK,WAAW;WAChB,OAAO;WACP,MAAM;WACN,gBAAgB;;YAGf;WACD,SAAS;WACT,WAAW;;YAGV;WACD,SAAS;WACT,WAAW;;YAGV;WACD,cAAc,WAAW,cAAc;WACvC,SAAS,WAAW;;WAEpB,aAAa,WAAW;WACxB,mBAAmB,WAAW;WAC9B,SAAS,WAAW,cAAc;WAClC,gBAAgB,WAAW;WAC3B,gBAAgB,WAAW;WAC3B,cAAc,WAAW;;YAGxB;WACD,iBAAiB;WACjB,cAAc;WACd,IAAI;WACJ,sBAAsB;WACtB,MAAM;WACN,aAAa,MAAM;WACnB,kBAAkB,MAAM;WACxB,eAAe,cAAc;WAC7B,OAAO,MAAM;WACb,OAAO;;YAGN;EACV,SAAS,WAAW;EACpB,SAAS,WAAW;;YAGV;WACD,SAAS,MAAM;WACf,aAAa;WACb,iBAAiB;WACjB,OAAO,cAAc;;YAGpB;WACD,SAAS,WAAW;WACpB,QAAQ,WAAW;WACnB,SAAS,WAAW;;YAGnB;WACD,cAAc;WACd,WAAW,cAAc;WACzB,OAAO;WACP,SAAS,cAAc;;YAGtB;WACD,UAAU;WACV,aAAa,cAAc;;YAG1B;WACD,WAAW;WACX,UAAU;WACV,WAAW;WACX,YAAY;;YAGX;WACD,YAAY;WACZ,aAAa,cAAc;WAC3B,WAAW,cAAc;WACzB,SAAS;WACT,mBAAmB,MAAM;WACzB,uBAAuB,MAAM;;oBAG5B;EACV;EACA;;YAGU;WACD,WAAW,MAAM;WACjB,mCAAmC;WACnC,+BAA+B;WAC/B,gBAAgB;WAChB,oBAAoB;WACpB,mCAAmC;WACnC,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;WA4B/B,iBAAiB;WACjB,eAAe;WACf,YAAY,MAAM;WAClB,eAAe;;;;;;;;;;;;WAYf,mBAAmB;WACnB,WAAW,cAAc;;YAGxB;EACV,WAAW,WAAW;EACtB,aAAa,WAAW;EACxB,OAAO,WAAW;;YAGR;EACV,SAAS,WAAW;EACpB,mBAAmB,WAAW;EAC9B,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,OAAO,WAAW;;YAGR;EACV,SAAS,WAAW;EACpB,kBAAkB;EAClB,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,OAAO,WAAW;;YAGR;EACV,YAAY,WAAW;EACvB,SAAS,WAAW;;YAGV;EACV,QAAQ;EACR,SAAS,WAAW;;YAGV;EACV,SAAS,WAAW;EACpB,mBAAmB,WAAW;EAC9B,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,OAAO,WAAW;;YAGR;EACV,SAAS,WAAW;EACpB,kBAAkB;EAClB,iBAAiB,WAAW;EAC5B,mBAAmB,WAAW;EAC9B,OAAO,WAAW;;YAGR;EACV,SAAS,WAAW;EACpB,YAAY,cAAc;EAC1B,mBAAmB,WAAW;EAC9B,qBAAqB,WAAW;;YAGtB;EACV,SAAS,WAAW;EACpB,SAAS,WAAW;EACpB,OAAO,WAAW;;YAGR;EACV,OAAO;;YAGG;EACV,cAAc;;YAGJ;EACV,WAAW;EACX,mBAAmB,WAAW;EAC9B,WAAW;EACX,cAAc;EACd,WAAW,WAAW,cAAc;;YAG1B;EACV,aAAa,WAAW;EACxB,aAAa,WAAW;;YAGd;WACD,QAAQ;WACR,eAAe,MAAM;WACrB,QAAQ,MAAM;WACd,MAAM;WACN,KAAK,MAAM;WACX,OAAO;WACP,MAAM;WACN,gBAAgB;;YAGf;WACD,SAAS,MAAM;WACf,aAAa;WACb,iBAAiB;WACjB,OAAO,cAAc;;YAGpB;WACD,MAAM,MAAM;WACZ,YAAY,cAAc;WAC1B,OAAO,MAAM;;YAGZ;WACD,KAAK;WACL,MAAM;;YAGL;WACD,KAAK;WACL,MAAM;;YAGL;WACD,MAAM,WAAW;WACjB,YAAY,cAAc;WAC1B,OAAO,WAAW;;YAGjB;WACD,SAAS;WACT,SAAS;WACT,WAAW;;YAGV;WACD,SAAS;WACT,SAAS;WACT,WAAW;;YAGV;WACD,eAAe;WACf,oBAAoB,MAAM;WAC1B,YAAY;;YAGX;WACD,eAAe;WACf,oBAAoB,WAAW;WAC/B,YAAY;;YAGX;WACD,QAAQ;WACR,YAAY,cAAc;WAC1B,OAAO,cAAc;;YAGpB;WACD,UAAU;WACV,OAAO;;YAGN;;WAED,cAAc,WAAW,cAAc;WACvC,WAAW,WAAW;WACtB,OAAO,WAAW;;YAGjB;WACD,iBAAiB;WACjB,YAAY;;YAGX;EACV,SAAS,WAAW;EACpB,OAAO,WAAW;;YAGR;EACV,OAAO;;YAGG;WACD,aAAa;WACb,SAAS,MAAM;WACf,YAAY,MAAM,cAAc;WAChC,MAAM,MAAM;WACZ,aAAa,MAAM,cAAc;WACjC,MAAM;;YAGL;WACD,aAAa;WACb,SAAS,WAAW;WACpB,YAAY,WAAW,cAAc;WACrC,MAAM,WAAW;WACjB,aAAa,WAAW,cAAc;WACtC,MAAM;;oBAGL;EACV;EACA;;YAGU;WACD,QAAQ;WACR,YAAY;WACZ,aAAa;WACb,QAAQ;WACR,YAAY;;YAGX;WACD,cAAc,cAAc;WAC5B,UAAU;WACV,SAAS;;YAGR;WACD,QAAQ;WACR,YAAY;WACZ,OAAO,WAAW;;YAGjB;WACD,cAAc;WACd,QAAQ;WACR,IAAI;WACJ,WAAW,WAAW;WACtB,MAAM;WACN,qBAAqB;;YAGpB;WACD,YAAY;WACZ,WAAW,MAAM;WACjB,SAAS;;YAGR;WACD,SAAS,WAAW;WACpB,SAAS,WAAW,cAAc;;YAGjC;WACD;WACA;WACA;WACA;WACA,OAAO;WACP,0BAA0B;WAC1B,+BAA+B;WAC/B,eAAe;aACb;aACA;;;YAID;WACD;WACA;WACA;WACA,WAAW;WACX,oBAAoB;WACpB,oBAAoB;;YAGnB,kCAAkC;EAC5C,YAAY,WAAW;EACvB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA;eACA,eAAe;;;;YAKlB,4BAA4B;EACtC,YAAY;EACZ,OAAO,WAAW;;YAGR;WACD;aAEM,UAAU;aACV;eACE;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;;;YAQT,0CAA0C;EACpD,YAAY;EACZ,OAAO,WAAW;EAClB,mBAAmB,WAAW;EAC9B,mBAAmB,WAAW;;YAGpB;WACD;aAEM,UAAU;aACV;eACE;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B;iBAEM;iBACA;iBACA;iBACA,OAAO;mBACL;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;qBACE;qBACA;qBACA;qBACA,OAAO;qBACP;qBACA;uBAEM;yBAEM,YAAY;yBACZ;2BAEM;2BACA;2BACA;;yBAIN;2BAEM;2BACA;;;;;;;eAe5B,eAAe;iBACb;iBACA;;;;;YAQT,iDAAiD;EAC3D,kBAAkB;EAClB,kBAAkB;EAClB,OAAO,WAAW;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;;;YAML,iDAAiD;EAC3D,kBAAkB;EAClB,kBAAkB;EAClB,OAAO,WAAW;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;;;YAML,qDAAqD;EAC/D,kBAAkB;EAClB,mBAAmB,WAAW;EAC9B,OAAO,WAAW;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA,WAAW;eACX,oBAAoB;eACpB,oBAAoB;;;;YAKvB,qDAAqD;EAC/D,kBAAkB;EAClB,mBAAmB,WAAW;EAC9B,OAAO,WAAW;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA,WAAW;eACX,oBAAoB;eACpB,oBAAoB;;;;YAKvB,8BAA8B;EACxC,SAAS,WAAW;EACpB,OAAO,WAAW;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;;;YAML,sCAAsC;EAChD,QAAQ;EACR,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA,OAAO;eACL;eACA;eACA;eACA;eACA;eACA;eACA;eACA;iBACE;iBACA;iBACA;iBACA,OAAO;iBACP;iBACA;mBAEM;qBAEM,YAAY;qBACZ;uBAEM;uBACA;uBACA;;qBAIN;uBACM;uBAAuB;;;;;;;;YAc9C,6BAA6B;EACvC,OAAO;;YAGG;WACD;aAEM;aACA;aACA,SAAS;aACT;aACA,oBAAoB;aACpB,uBAAuB;;;YAM5B,gCAAgC;EAC1C,oBAAoB;EACpB,SAAS,WAAW;EACpB,YAAY,cAAc;;YAGhB;WACD;aACE;aACA;aACA;aACA;aACA,aAAa;eACX,UAAU;eACV;;;;YAKH,kCAAkC;EAC5C,UAAU;EACV,mBAAmB,WAAW;;YAGpB;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,uCAAuC;EACjD,cAAc;EACd,mBAAmB,WAAW;;YAGpB;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,kCAAkC;EAC5C,oBAAoB;EACpB,SAAS,cAAc;EACvB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,uCAAuC;EACjD,oBAAoB;EACpB,SAAS,cAAc;EACvB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA,SAAS;aACT;aACA,oBAAoB;aACpB,uBAAuB;;;YAIxB,kCAAkC;EAC5C,oBAAoB;EACpB,MAAM;EACN,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,sCAAsC;EAChD,oBAAoB;EACpB,kBAAkB,WAAW;EAC7B,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,mCAAmC;EAC7C,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,WAAW,WAAW;EACtB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,sCAAsC;EAChD,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,WAAW,WAAW;EACtB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,sCAAsC;EAChD,kBAAkB;EAClB,kBAAkB;EAClB,kBAAkB;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;aACA;aACA;aACA;aACA,OAAO;aACP,0BAA0B;aAC1B,+BAA+B;aAC/B,eAAe;eACb;eACA;;;;YAKH,oCAAoC;EAC9C,wBAAwB;EACxB,wBAAwB;EACxB,kBAAkB;EAClB,kBAAkB;EAClB,SAAS,WAAW;;YAGV;WACD;aACE;eACE;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;aAGJ;eACE;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;;;YAML,kCAAkC;EAC5C,YAAY;EACZ,YAAY,WAAW;;YAGb;WAAoC;;YAEpC,mCAAmC;EAC7C,aAAa,cAAc;EAC3B,YAAY,WAAW;;YAGb;WAAqC;;YAErC,uCAAuC;EACjD,SAAS,WAAW;EACpB,OAAO,WAAW;;YAGR;WACD;aACE,MAAM;aACN,WAAW;eACT;eACA;eACA;eACA;eACA,OAAO;eACP,0BAA0B;eAC1B,+BAA+B;eAC/B,eAAe;iBACb;iBACA;;;aAGJ;eAEM;eACA;;;;YAOP,kCAAkC;EAC5C,OAAO;;YAGG;WACD;aACE;aACA;aACA,SAAS;aACT;;;YAID,kCAAkC;EAC5C,WAAW;EACX,WAAW;EACX,cAAc;EACd,mBAAmB,WAAW;EAC9B,WAAW,WAAW,cAAc;;YAG1B;WACD;aACE;aACA;aACA;aACA;aACA,WAAW;eACT,MAAM;eACN;eACA,YAAY;eACZ;iBAAwB;;eACxB,aACL;iBACW;mBACE;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;qBACE;qBACA;qBACA;qBACA,OAAO;qBACP;qBACA;uBAEM;yBAEM,YAAY;yBACZ;2BAEM;2BACA;2BACA;;yBAIN;2BACM;2BAAuB;;;;;;iBAW7C;mBACE;mBACA;mBACA;mBACA;;;eAKR;iBAEM;iBACA;iBACA;;;aAKR,aAAa;eACX;eACA;eACA;;;;YAKH,gCAAgC;EAC1C,OAAO;;YAGG;WACD;aACE;aACA;aACA,WAAW;;;YAIZ,qCAAqC;EAC/C,WAAW,cAAc;EACzB,uBAAuB,WAAW;;YAGxB;WAAuC;;YAEvC,UAAU,WAAW,UAAU;YAC/B,gBAAgB,WAAW,UAAU;YAErC,oBAAoB,KAAK,QAAQ,KAAK;YAEtC,oBAAoB,SAAS,SAAS,UAAU;EAC1D,SAAS,WAAW,SAAS,SAAS,UAAU;;YAEtC,SACV,SACA,UAAU,OAAO,qBACjB,WAAW,OAAO,qBAClB,QAAQ,OAAO,uBAEb,WAAW,SAAS,SAAS,UAAU,SACvC,oBAAoB,SAAS,SAAS,UAAU;YAExC,WAAW,SAAS,SAAS,UAAU,UACjD,QAAQ,SACR,MAAM,OACN,SAAS,UACT,MAAM,uBACH,QAAQ,WAAW;YAEZ,wBAAwB,SAAS,SAAS,UAAU,UAC9D,QAAQ,SACR,MAAM,OACN,SAAS,UACT,MAAM,uBACH,cAAc,WAAW,QAAQ,cAAc;YAExC,sBAAsB,SAAS,SAAS,UAAU,UAC5D,QAAQ,SACR,MAAM,OACN,SAAS,UACT,MAAM,uBACH,UAAU,QAAQ;iBAEN,6BACf,SACA,qBACA,SACA,UACA;EAEA,WAAW,2BACN,OAAO,OAAO,YACjB,SACA,UACA;EAEF,UAAU,sBACR,YACG,OAAO,OAAO,YACjB,UACA;;iBAIa,2BAA2B,SAAS,SAAS,UAAU;EACtE,WAAW,6BAA6B,SAAS,UAAU;EAC3D,SAAS,sBAAsB,cAAc,UAAU;;YAG7C,mBACV,SACA,qBACA,SACA,UACA,SAEE,6BAA6B,SAAS,MAAM,SAAS,UAAU,SAC/D,2BAA2B,SAAS,SAAS,UAAU;YAE/C,qBACV,SACA,qBACA,UAAU,OAAO,qBACjB,WAAW,OAAO,qBAClB,QAAQ,OAAO,4BAGR,gBACA,mBAAmB,SAAS,MAAM,SAAS,UAAU,UAC1D,mBAAmB,SAAS,MAAM,SAAS,UAAU;YAE7C,cACV,QACA,UAAU,OAAO,qBACjB,WAAW,OAAO,wBAElB,QAAQ,SACR,SAAS,UACT,MAAM,uBACH,MAAM,UAAU,QAAQ,MAAM;YAEvB,mBACV,IAAI,OAAO,qBACX,WAAW,OAAO,wBAElB,KAAK,GACL,SAAS,UACT,MAAM,iCACO;YAEH,eAAe,WAAW,QAAQ;YAElC,oBACV,UAAU,OAAO,qBACjB,UAAU,OAAO,qBACjB,WAAW,OAAO,qBAClB,QAAQ,OAAO,wBAEf,MAAM,eAAe,UACrB,QAAQ,SACR,MAAM,OACN,SAAS,UACT,MAAM,uBACH,UAAU,QAAQ;;YAGX,iBAAiB;EAC3B,QAAQ,oBAAoB;EAC5B,sBAAsB;EACtB,eAAe,oBAAoB;EACnC,oBAAoB;EACpB,kBAAkB,oBAAoB;EACtC,mBAAmB,oBAAoB;EACvC,aAAa;EACb,cAAc;EACd,SAAS,oBAAoB;EAC7B,aAAa,oBAAoB;EACjC,kBAAkB;EAClB,UAAU,oBAAoB;EAC9B,gBAAgB,oBAAoB;EACpC,uBAAuB,oBAAoB;EAC3C,qBAAqB,oBAAoB;EACzC,oBAAoB;EACpB,0BAA0B,oBAAoB;EAC9C,yBAAyB,oBAAoB;EAC7C,+BAA+B;EAC/B,sBAAsB,oBAAoB;EAC1C,gCAAgC,oBAAoB;EACpD,sBAAsB,oBAAoB;EAC1C,KAAK,oBAAoB;EACzB,YAAY,oBAAoB;EAChC,gBAAgB,oBAAoB;EACpC,SAAS,oBAAoB;EAC7B,wBAAwB,oBAAoB;EAC5C,UAAU,oBAAoB,OAAO;EACrC,kBAAkB,oBAAoB;EACtC,uBAAuB;EACvB,gBAAgB;EAChB,sBAAsB,oBAAoB;EAC1C,2BAA2B;EAC3B,uBAAuB;EACvB,YAAY,oBAAoB;EAChC,sBAAsB,oBAAoB;EAC1C,aAAa;EACb,eAAe,oBAAoB;EACnC,oBAAoB,oBAAoB;EACxC,qBAAqB,oBAAoB;EACzC,yBAAyB,oBAAoB;EAC7C,iBAAiB;EACjB,OAAO,oBAAoB,OAAO;EAClC,kBAAkB,oBAAoB;EACtC,4BAA4B,oBAAoB;EAChD,eAAe,oBAAoB;EACnC,kBAAkB,oBAAoB;EACtC,uBAAuB;EACvB,oBAAoB;EACpB,mBAAmB,oBAAoB;EACvC,wBAAwB;EACxB,cAAc,oBAAoB;EAClC,mBAAmB;EACnB,mBAAmB;EACnB,UAAU,oBAAoB;EAC9B,mBAAmB;EACnB,QAAQ,oBAAoB;EAC5B,cAAc,oBAAoB,OAAO;EACzC,cAAc,oBAAoB;EAClC,mBAAmB;EACnB,kBAAkB;EAClB,UAAU,oBAAoB;EAC9B,gBAAgB,oBAAoB;EACpC,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB,oBAAoB;EACxC,iBAAiB;;;YAIP,uBAAuB;EACjC,QAAQ;EACR,sBAAsB;EACtB,eAAe;EACf,oBAAoB;EACpB,kBAAkB;EAClB,mBAAmB;EACnB,aAAa;EACb,SAAS;EACT,aAAa;EACb,kBAAkB;EAClB,UAAU;EACV,gBAAgB;EAChB,uBAAuB;EACvB,qBAAqB;EACrB,0BAA0B;EAC1B,yBAAyB;EACzB,+BAA+B;EAC/B,sBAAsB;EACtB,gCAAgC;EAChC,sBAAsB;EACtB,KAAK;EACL,YAAY;EACZ,gBAAgB;EAChB,SAAS;EACT,wBAAwB;EACxB,UAAU,OAAO;EACjB,kBAAkB;EAClB,uBAAuB;EACvB,gBAAgB;EAChB,sBAAsB;EACtB,2BAA2B;EAC3B,uBAAuB;EACvB,YAAY;EACZ,sBAAsB;EACtB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,qBAAqB;EACrB,yBAAyB;EACzB,OAAO,OAAO;EACd,kBAAkB;EAClB,4BAA4B;EAC5B,eAAe;EACf,kBAAkB;EAClB,uBAAuB;EACvB,oBAAoB;EACpB,mBAAmB;EACnB,wBAAwB;EACxB,cAAc;EACd,mBAAmB;EACnB,mBAAmB;EACnB,UAAU;EACV,mBAAmB;EACnB,QAAQ;EACR,cAAc,OAAO;EACrB,cAAc;EACd,mBAAmB;EACnB,UAAU;EACV,gBAAgB;EAChB,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB;EACpB,iBAAiB;;YAGP,gBACV,cAAc,SACd,mBAAmB,iCACjB,kCACA;EACF,UAAU,SACR,MAAM,kCACN,YACA;EAEF,KAAK,SAAS,0BAA0B,YAAY;EACpD,QAAQ,SAAS,8BAA8B,YAAY;EAC3D,QAAQ,SAAS,0BAA0B,YAAY;EACvD,iBAAiB,SAAS,0BAA0B,YAAY;EAChE,OAAO,SAAS,0BAA0B,YAAY;;YAG5C,uBACV,cAAc,SACd,mBAAmB,wCACjB,yCACA;EACF,SAAS,SACP,MAAM,kCACN,YACA;;YAIQ,0BACV,cAAc,SACd,mBAAmB,2CACjB,4CACA;EACF,WAAW,SAAS,gCAAgC,YAAY;EAChE,SAAS,SAAS,MAAM,2BAA2B,YAAY;;YAGrD,2BACV,cAAc,SACd,mBAAmB,4CACjB,6CACA;EACF,aAAa,SAAS,2BAA2B,YAAY;EAC7D,YAAY,SAAS,2BAA2B,YAAY;EAC5D,aAAa,SAAS,2BAA2B,YAAY;EAC7D,YAAY,SAAS,2BAA2B,YAAY;EAC5D,cAAc,SACZ,cAAc,qCACd,YACA;;YAIQ,qBACV,cAAc,SACd,mBAAmB,sCACjB,uCACA;EACF,KAAK,SAAS,0BAA0B,YAAY;;iBAGrC,6BAA6B,wBAC5C;EAGA;;YAGU,wBACV,cAAc,SACd,mBAAmB,yCACjB,0CACA;EACF,SAAS,SAAS,0BAA0B,YAAY;EACxD,aAAa,SAAS,0BAA0B,YAAY;EAC5D,QAAQ,SAAS,0BAA0B,YAAY;EACvD,YAAY,SACV,MAAM,2BACN,YACA;EAEF,QAAQ,SAAS,0BAA0B,YAAY;EACvD,iBAAiB,SAAS,uBAAuB,YAAY;EAC7D,SAAS,SACP,cAAc,2BACd,YACA;;YAIQ,+BACV,cAAc,SACd,mBAAmB,gDACjB,iDACA;EACF,UAAU,SAAS,MAAM,2BAA2B,YAAY;EAChE,WAAW,SAAS,MAAM,2BAA2B,YAAY;;YAGvD,6BACV,cAAc,SACd,mBAAmB,8CACjB,+CACA;EACF,UAAU,SACR,MAAM,0CACN,YACA;EAEF,YAAY,SACV,cAAc,+BACd,YACA;EAEF,OAAO,SACL,sCACA,YACA;;YAIQ,kCACV,cAAc,SACd,mBAAmB,mDACjB,oDACA;EACF,KAAK,SAAS,0BAA0B,YAAY;EACpD,OAAO,SAAS,0BAA0B,YAAY;EACtD,YAAY,SACV,MAAM,2BACN,YACA;EAEF,gBAAgB,SACd,8BACA,YACA;EAEF,UAAU,SAAS,MAAM,2BAA2B,YAAY;;YAGtD,iCACV,cAAc,SACd,mBAAmB,kDACjB,mDACA;EACF,SAAS,SAAS,MAAM,2BAA2B,YAAY;EAC/D,cAAc,SAAS,2BAA2B,YAAY;EAC9D,kBAAkB,SAChB,2BACA,YACA;EAEF,QAAQ,SACN,cAAc,6CACd,YACA;;YAIQ,8BACV,cAAc,SACd,mBAAmB,+CACjB,gDACA;EACF,YAAY,SAAS,4BAA4B,YAAY;EAC7D,WAAW,SACT,MAAM,+BACN,YACA;EAEF,mBAAmB,SACjB,0BACA,YACA;EAEF,WAAW,SAAS,0BAA0B,YAAY;EAC1D,WAAW,SAAS,0BAA0B,YAAY;EAC1D,YAAY,SAAS,4BAA4B,YAAY;;YAGnD,wCACV,cAAc,SACd,mBAAmB,yDACjB,0DACA;EACF,SAAS,SAAS,MAAM,2BAA2B,YAAY;EAC/D,cAAc,SAAS,2BAA2B,YAAY;EAC9D,kBAAkB,SAChB,2BACA,YACA;EAEF,QAAQ,SACN,cAAc,yCACd,YACA;;YAIQ,8BACV,cAAc,SACd,mBAAmB,+CACjB,gDACA;EACF,WAAW,SACT,cAAc,2BACd,YACA;EAEF,WAAW,SAAS,8BAA8B,YAAY;;iBAG/C,+BAA+B,wBAC9C;EAGA;;YAGU,wBACV,cAAc,SACd,mBAAmB,yCACjB,0CACA;EACF,QAAQ,SAAS,MAAM,2BAA2B,YAAY;EAC9D,QAAQ,SAAS,0BAA0B,YAAY;EACvD,SAAS,SACP,MAAM,+BACN,YACA;EAEF,SAAS,SAAS,0BAA0B,YAAY;;YAG9C,iBACV,cAAc,SACd,mBAAmB,kCACjB,mCACA;EACF,cAAc,SACZ,MAAM,6BACN,YACA;EAEF,YAAY,SAAS,4BAA4B,YAAY;EAC7D,QAAQ,SAAS,MAAM,2BAA2B,YAAY;EAC9D,KAAK,SAAS,0BAA0B,YAAY;EACpD,SAAS,SACP,MAAM,+BACN,YACA;EAEF,SAAS,SAAS,0BAA0B,YAAY;;YAG9C,gCACV,cAAc,SACd,mBAAmB,iDACjB,kDACA;EACF,SAAS,SAAS,8BAA8B,YAAY;EAC5D,SAAS,SAAS,8BAA8B,YAAY;;YAGlD,kBACV,cAAc,SACd,mBAAmB,mCACjB,oCACA;EACF,kBAAkB,SAChB,8BACA,YACA,aACA,cAAc;EAEhB,iBAAiB,SACf,8BACA,YACA,aACA,cAAc;EAEhB,sBAAsB,SACpB,8BACA,YACA,aACA,cAAc;EAEhB,iBAAiB,SACf,2BACA,YACA,aACA,QAAQ;EAEV,kBAAkB,SAChB,2BACA,YACA,aACA,QAAQ;EAEV,UAAU,SACR,8BACA,YACA,aACA,cAAc;EAEhB,eAAe,SACb,2BACA,YACA,aACA,cAAc;EAEhB,mBAAmB,SACjB,0CACA,YACA,aACA,cAAc;EAEhB,iBAAiB,SACf,8BACA,YACA,aACA,cAAc;EAEhB,sBAAsB,SACpB,0BACA,YACA,aACA,cACE;EAIJ,oBAAoB,SAClB,2BACA,YACA,aACA,cAAc;EAEhB,qBAAqB,SACnB,8BACA,YACA,aACA,cAAc;EAEhB,iBAAiB,SACf,8BACA,YACA,aACA,cAAc;EAEhB,qBAAqB,SACnB,8BACA,YACA,aACA,QAAQ;EAEV,eAAe,SACb,sCACA,YACA,aACA,cAAc;EAEhB,qBAAqB,SACnB,8BACA,YACA,aACA,cAAc;;YAIN,0BACV,cAAc,SACd,mBAAmB,2CACjB,4CACA;EACF,SAAS,SAAS,0BAA0B,YAAY;EACxD,aAAa,SAAS,0BAA0B,YAAY;EAC5D,eAAe,SAAS,0BAA0B,YAAY;EAC9D,UAAU,SAAS,uBAAuB,YAAY;EACtD,QAAQ,SAAS,0BAA0B,YAAY;;YAG7C,8BACV,cAAc,SACd,mBAAmB,+CACjB,gDACA;EACF,UAAU,SACR,oCACA,YACA;EAEF,YAAY,SACV,oCACA,YACA;;YAIQ,oBACV,cAAc,SACd,mBAAmB,qCACjB,sCACA;EACF,kBAAkB,SAChB,4BACA,YACA;EAEF,eAAe,SAAS,0BAA0B,YAAY;EAC9D,KAAK,SAAS,0BAA0B,YAAY;EACpD,uBAAuB,SACrB,4BACA,YACA;EAEF,OAAO,SAAS,0BAA0B,YAAY;EACtD,aAAa,SACX,MAAM,+CACN,YACA,aACA,QAAQ;EAEV,kBAAkB,SAChB,MAAM,2BACN,YACA;EAEF,gBAAgB,SACd,cAAc,6BACd,YACA;EAEF,OAAO,SAAS,MAAM,2BAA2B,YAAY;EAC7D,QAAQ,SAAS,8BAA8B,YAAY;;YAGjD,8BACV,cAAc,SACd,mBAAmB,+CACjB,gDACA;EACF,SAAS,SAAS,MAAM,2BAA2B,YAAY;EAC/D,cAAc,SAAS,2BAA2B,YAAY;EAC9D,kBAAkB,SAChB,2BACA,YACA;EAEF,QAAQ,SACN,cAAc,+BACd,YACA;;YAIQ,uBACV,cAAc,SACd,mBAAmB,wCACjB,yCACA;EACF,eAAe,SAAS,0BAA0B,YAAY;EAC9D,YAAY,SACV,cAAc,uCACd,YACA;EAEF,QAAQ,SAAS,8BAA8B,YAAY;EAC3D,UAAU,SACR,cAAc,wCACd,YACA;;YAIQ,4BACV,cAAc,SACd,mBAAmB,6CACjB,8CACA;EACF,WAAW,SAAS,0BAA0B,YAAY;EAC1D,cAAc,SACZ,cAAc,2BACd,YACA;;YAIQ,6BACV,cAAc,SACd,mBAAmB,8CACjB,+CACA;EACF,YAAY,SAAS,2BAA2B,YAAY;EAC5D,WAAW,SAAS,8BAA8B,YAAY;EAC9D,YAAY,SAAS,8BAA8B,YAAY;EAC/D,aAAa,SAAS,0BAA0B,YAAY;;YAGlD,iCACV,cAAc,SACd,mBAAmB,kDACjB,mDACA;EACF,aAAa,SAAS,uBAAuB,YAAY;EACzD,cAAc,SACZ,cAAc,mCACd,YACA;EAEF,YAAY,SACV,cAAc,iCACd,YACA;EAEF,UAAU,SAAS,2BAA2B,YAAY;EAC1D,mBAAmB,SACjB,MAAM,2BACN,YACA;EAEF,uBAAuB,SACrB,MAAM,2BACN,YACA;;YAIQ,eACV,cAAc,SACd,mBAAmB,gCACjB,iCACA;EACF,WAAW,SACT,MAAM,yCACN,YACA,aACA,QAAQ;EAEV,oCAAoC,SAClC,kDACA,YACA,aACA,QAAQ;EAEV,gCAAgC,SAC9B,wCACA,YACA,aACA,cAAc;EAEhB,iBAAiB,SACf,2CACA,YACA,aACA,QAAQ;EAEV,qBAAqB,SACnB,8CACA,YACA,aACA,cAAc;EAEhB,oCAAoC,SAClC,kDACA,YACA,aACA,QAAQ;EAEV,gCAAgC,SAC9B,wCACA,YACA,aACA,cAAc;EAEhB,kBAAkB,SAChB,qCACA,YACA,aACA,cAAc;EAEhB,gBAAgB,SACd,wCACA,YACA,aACA,QAAQ;EAEV,YAAY,SACV,MAAM,4BACN,YACA,aACA,cAAc;EAEhB,gBAAgB,SACd,iCACA,YACA,aACA,cAAc;EAEhB,oBAAoB,SAClB,2CACA,YACA,aACA,cACE;EAIJ,YAAY,SACV,cAAc,6BACd,YACA,aACA,QAAQ;;YAIA,0BACV,cAAc,SACd,mBAAmB,2CACjB,4CACA;EACF,SAAS,SAAS,0BAA0B,YAAY;EACxD,eAAe,SACb,MAAM,2BACN,YACA;EAEF,QAAQ,SAAS,MAAM,2BAA2B,YAAY;EAC9D,OAAO,SAAS,0BAA0B,YAAY;EACtD,KAAK,SAAS,MAAM,2BAA2B,YAAY;EAC3D,QAAQ,SAAS,uBAAuB,YAAY;EACpD,OAAO,SAAS,uBAAuB,YAAY;EACnD,iBAAiB,SAAS,0BAA0B,YAAY;;YAGtD,oCACV,cAAc,SACd,mBAAmB,qDACjB,sDACA;EACF,SAAS,SAAS,MAAM,2BAA2B,YAAY;EAC/D,cAAc,SAAS,2BAA2B,YAAY;EAC9D,kBAAkB,SAChB,2BACA,YACA;EAEF,QAAQ,SACN,cAAc,qCACd,YACA;;YAIQ,uBACV,cAAc,SACd,mBAAmB,wCACjB,yCACA;EACF,MAAM,SACJ,MAAM,qCACN,YACA;EAEF,aAAa,SACX,cAAc,2BACd,YACA;EAEF,OAAO,SACL,MAAM,sCACN,YACA;;YAIQ,0BACV,cAAc,SACd,mBAAmB,2CACjB,4CACA;EACF,MAAM,SAAS,0BAA0B,YAAY;EACrD,OAAO,SAAS,0BAA0B,YAAY;;YAG5C,2BACV,cAAc,SACd,mBAAmB,4CACjB,6CACA;EACF,UAAU,SAAS,0BAA0B,YAAY;EACzD,UAAU,SAAS,uBAAuB,YAAY;EACtD,YAAY,SAAS,0BAA0B,YAAY;;YAGjD,sBACV,cAAc,SACd,mBAAmB,uCACjB,wCACA;EACF,gBAAgB,SAAS,uBAAuB,YAAY;EAC5D,oBAAoB,SAClB,MAAM,2BACN,YACA;EAEF,aAAa,SAAS,0BAA0B,YAAY;;YAGlD,kBACV,cAAc,SACd,mBAAmB,mCACjB,oCACA;EACF,WAAW,SAAS,uBAAuB,YAAY;EACvD,QAAQ,SAAS,0BAA0B,YAAY;;YAG7C,sBACV,cAAc,SACd,mBAAmB,uCACjB,wCACA;EACF,kBAAkB,qBAChB,0DAEA,YACA,aACA,QAAQ;EAEV,aAAa,qBACX,gDAEA,YACA,aACA,cAAc;;YAIN,sBACV,cAAc,SACd,mBAAmB,uCACjB,wCACA;EACF,cAAc,SACZ,+BACA,YACA;EAEF,SAAS,SACP,MAAM,iCACN,YACA;EAEF,YAAY,SACV,MAAM,cAAc,4BACpB,YACA;EAEF,MAAM,SAAS,MAAM,2BAA2B,YAAY;EAC5D,aAAa,SACX,MAAM,cAAc,0CACpB,YACA;EAEF,OAAO,SAAS,oCAAoC,YAAY;;YAGtD,kBACV,cAAc,SACd,mBAAmB,mCACjB,oCACA;EACF,SAAS,SAAS,0BAA0B,YAAY;EACxD,aAAa,SAAS,0BAA0B,YAAY;EAC5D,cAAc,SAAS,0BAA0B,YAAY;EAC7D,SAAS,SAAS,kCAAkC,YAAY;EAChE,aAAa,SAAS,0BAA0B,YAAY;;YAGlD,wBACV,cAAc,SACd,mBAAmB,yCACjB,0CACA;EACF,eAAe,SACb,cAAc,wBACd,YACA;EAEF,WAAW,SAAS,0BAA0B,YAAY;EAC1D,UAAU,SAAS,uBAAuB,YAAY;;YAG5C,4BACV,cAAc,SACd,mBAAmB,6CACjB,8CACA;EACF,aAAa,SAAS,uBAAuB,YAAY;EACzD,WAAW,SACT,MAAM,+BACN,YACA;EAEF,UAAU,SAAS,2BAA2B,YAAY;;YAGhD,UAAU,cAAc,WAAW;EAC7C,SAAS,gBAAgB;EACzB,gBAAgB,uBAAuB;EACvC,mBAAmB,0BAA0B;EAC7C,oBAAoB,2BAA2B;EAC/C,cAAc,qBAAqB;EACnC,WAAW;EACX,iBAAiB,wBAAwB;EACzC,wBAAwB,+BAA+B;EACvD,sBAAsB,6BAA6B;EACnD,2BAA2B,kCAAkC;EAC7D,0BAA0B,iCAAiC;EAC3D,uBAAuB,8BAA8B;EACrD,iCAAiC,wCAAwC;EACzE,uBAAuB,8BAA8B;EACrD,aAAa;EACb,iBAAiB,wBAAwB;EACzC,UAAU,iBAAiB;EAC3B,yBAAyB,gCAAgC;EACzD,WAAW,kBAAkB;EAC7B,mBAAmB,0BAA0B;EAC7C,uBAAuB,8BAA8B;EACrD,aAAa,oBAAoB;EACjC,uBAAuB,8BAA8B;EACrD,gBAAgB,uBAAuB;EACvC,qBAAqB,4BAA4B;EACjD,sBAAsB,6BAA6B;EACnD,0BAA0B,iCAAiC;EAC3D,QAAQ,eAAe;EACvB,mBAAmB,0BAA0B;EAC7C,6BAA6B,oCAAoC;EACjE,gBAAgB,uBAAuB;EACvC,mBAAmB,0BAA0B;EAC7C,oBAAoB,2BAA2B;EAC/C,eAAe,sBAAsB;EACrC,WAAW,kBAAkB;EAC7B,eAAe,sBAAsB;EACrC,eAAe,sBAAsB;EACrC,WAAW,kBAAkB;EAC7B,iBAAiB,wBAAwB;EACzC,qBAAqB,4BAA4B;;KAG9C,WAAW,KAAK,YAClB,WAAW,IAAI,IAAE,QAAQ,EAAE;KAGzB;qBAEQ,sBAAmB,WAAa,KAAK;qBAGrC,yBAAuB,IAAA,SAAA,IAAA,QAAA,wBAAA,IAAA,KAAA,kBAAA;qBAIvB,oBAAkB,IAAA,eAAA;qBAElB,0BAAwB,IAAA,eAAA;qBAExB,uBAAqB,IAAA,eAAA;qBAErB,wBAAsB,IAAA,eAAA;wBAEnB,8BAA8B,IAAE,UAC9C,WAAW;wBASG,4BAA4B,IAAE,UAC5C,WAAW;wBAUG,qBAAqB,IAAE,UAAU,WAAW;wBAW5C,0BAA0B,IAAE,UAC1C,WAAW;wBAOG,uCAAuC,IAAE,UACvD,WAAW;wBAYG,+BAA+B,IAAE,UAC/C,WAAW;wBAWG,wBAAwB,IAAE,UACxC,WAAW;wBAcG,mCAAmC,IAAE,UACnD,WAAW;wBAQG,+BAA+B,IAAE,UAC/C,WAAW;wBAcG,qBAAqB,IAAE,UAAU,WAAW;wBAQ5C,+BAA+B,IAAE,UAC/C,WAAW;wBAQG,4BAA4B,IAAE,UAC5C,WAAW;wBASG,gCAAgC,IAAE,UAChD,WAAW;wBASG,2BAA2B,IAAE,UAC3C,WAAW;wBASG,2BAA2B,IAAE,UAC3C,WAAW;wBASG,2BAA2B,IAAE,UAC3C,WAAW;wBASG,2BAA2B,IAAE,UAC3C,WAAW;wBAcG,0BAA0B,IAAE,UAC1C,WAAW;wBASG,2BAA2B,IAAE,UAC3C,WAAW;wBAYG,yBAAyB,IAAE,UACzC,WAAW;qBAQA,6BAA2B;qBAe3B,uCAAqC;qBAUrC,2BAAyB;qBAgBzB,qBAAmB;qBAWnB,mCAAiC;qBAmDjC,0CAAwC;qBAuBxC,0CAAwC;qBAuBxC,8CAA4C;qBAuB5C,8CAA4C;qBAuB5C,uBAAqB;qBAiBrB,+BAA6B;qBA0C7B,sBAAoB;qBAYpB,yBAAuB;qBAsBvB,wBAAsB;qBAQtB,6BAA2B;qBAc3B,wBAAsB;qBAgBtB,6BAA2B;qBAoB3B,wBAAsB;qBAgBtB,4BAA0B;qBAgB1B,yBAAuB;qBAoBvB,4BAA0B;qBAoB1B,4BAA0B;qBAkB1B,0BAAwB;qBAyBxB,wBAAsB;qBAKtB,yBAAuB;qBAQvB,yBAAuB;qBAkBvB,oBAAkB;qBAUlB,2BAAyB;qBA8EzB,sBAAoB;qBASpB,2BAAyB;YAW1B,UAAU,WAAW,GAAG,GAClC,KAAK,cACL,OAAO,GACP,UAAU,MACP,QAAQ,KAAK,cAAc;wBAChB,OAAO,GAAG,WAAW,UAAU;EAE3C,kBAAiB,YACH,iCAA+B,UACjC,IACT,QAAQ;EAOX,YAAW,WACE,2BAAyB,UAC1B,IACT,QAAQ;EAOX,0BAAyB,WACZ,yCAAuC,UACxC,IACT,QAAQ;EAUX,iCAAgC,WACnB,gDAA8C,UAC/C,IACT,QAAQ;EAUX,iCAAgC,WACnB,gDAA8C,UAC/C,IACT,QAAQ;EAUX,qCAAoC,WACvB,oDAAkD,UACnD,IACT,QAAQ;EAUX,qCAAoC,WACvB,oDAAkD,UACnD,IACT,QAAQ;EAUX,cAAa,YACC,6BAA2B,UAC7B,IACT,QAAQ;EAOX,sBAAqB,WACR,qCAAmC,UACpC,IACT,QAAQ;EAUX,aAAY,WACC,4BAA0B,UAC3B,IACT,QAAQ;EAOX,gBAAe,WACF,+BAA6B,UAC9B,IACT,QAAQ;EAOX,eAAc,WACD,iCAA+B,UAChC,IACT,QAAQ;EAOX,oBAAmB,WACN,sCAAoC,UACrC,IACT,QAAQ;EAUX,eAAc,WACD,iCAA+B,UAChC,IACT,QAAQ;EAOX,oBAAmB,WACN,sCAAoC,UACrC,IACT,QAAQ;EAUX,eAAc,WACD,iCAA+B,UAChC,IACT,QAAQ;EAOX,mBAAkB,WACL,qCAAmC,UACpC,IACT,QAAQ;EAUX,gBAAe,WACF,kCAAgC,UACjC,IACT,QAAQ;EAUX,mBAAkB,WACL,qCAAmC,UACpC,IACT,QAAQ;EAUX,mBAAkB,WACL,qCAAmC,UACpC,IACT,QAAQ;EAUX,iBAAgB,WACH,mCAAiC,UAClC,IACT,QAAQ;EAUX,eAAc,WACD,iCAA+B,UAChC,IACT,QAAQ;EAOX,gBAAe,WACF,kCAAgC,UACjC,IACT,QAAQ;EAUX,gBAAe,YACD,sCAAoC,UACtC,IACT,cAAc;EAUjB,WAAU,WACG,iCAA+B,UAChC,IACT,cAAc;EAOjB,kBAAiB,WACJ,iCAA+B,UAChC,IACT,QAAQ;EAOX,aAAY,WACC,+BAA6B,UAC9B,IACT,QAAQ;EAOX,kBAAiB,WACJ,oCAAkC,UACnC,IACT,QAAQ;;YAYH,MAAM,kBAAkB;;;KCpxHxB,aACV,OAAO,cACP,MAAM,gBACH,QAAQ;;;wBCHG,2BACd,aACA,YAAW,WACX,UAAU;;2BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBCyBC,wBAAwB;;UAE3B;EAER,YAAY,MAAM;EAKlB;EACA;cAIY;;;;;UASE;;;;;;;;;;;;;;;UAqDA;EAwHd,4BAAQ;EAER,WAAW;EA8sCX,WAAW;;;;qBCt6CA;;;qBCVA,uBAAuB;EAClC;EACA;EAEA,4BAAQ;EAYR;IACE;MACE;QACE;QACA;QACA;;;;;;;wBCpBQ;wBASA;wBAKA;;;wBCNA,gBACd,qBACC,aAAa;wBA0BA,uBACd,YAAY,aACZ,cACA,gBACC;wBAIa,sBAAsB,WAAW,YAAY;wBA4B7C,qBAAqB,KAAK,aAAa;wBAqBvC,0BACd,KAAK,wBACJ;;;;qBC7FU,uBAAuB;EAClC,YAAY;;;qBASD,oCAAoC;EAC/C,YAAY;;;;;;;;;;;;qBAkBD,uCAAuC;EAClD;;;;;;;;;;;;;;;;;;;;;qBA4BW,sCAAsC;EACjD,YAAY;;;;;;qBAaD,gCAAgC;EAC3C,YAAY;;;;;;;qBCpDD,+BAA+B;mBAMb;mBALZ;WAER;EAGT,YAA6B;mBAIZ;EAEX,mBAAmB,qBAAqB,QAAQ;EAmBhD,qBACJ,qBACC,QAAQ;EAaL,cAAc,qBAAqB,QAAQ;EAoB3C,eACJ,qBACC,QAAQ;EAkBL,WAAW,qBAAqB,QAAQ;UA2BtC;;;;;;;;;;;;;;;;wBCnGM,qBACd,gBACA,aACA;wBAwCc,2BACX,mCAAmC,gCACrC;wBAiBa,6BACX,qCAAqC,0CAGvC;qBAYU,0BAA0B;YAuBzB,SAAS;mBAtBJ;UACT;UAEA;UACA;UAIA;UACA;UACA;UACA;UACA;UACA;EAOR,YACE,SAAS,kBACC,SAAS;EAMR,QAAQ,QAAQ;UAQf;UAkCA;;EAmEP,6BAA6B;UAMtB;UA8BA;UAuDA;UA4CA;UA4CN;UAiCM;UAyBA;UAgBA;UAaA;;UAgBN;UAeA;UA0CA;UAUA;UAKA;UAgBA;UAeA;UAYA;UAaA;;EAcR,aAAa,YAAY;;;;;;;EAUzB,cAAc;EAqBd,uBACE,UAAU,gBAAgB,eAAe;EAK3C,kBACE,UAAU,WAAW,YAAY;EAKnC,mBACE,UAAU,YAAY,YAAY;EAKpC,eACE,UAAU,QAAQ,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBChsBlB,iBACd,WAAW,0BACV;;;;;YCzBS,eAAe,YAAY;;;YAI3B,eAAe;;;YAIf;EACV,QAAQ;EACR;EACA;;;;wBAKc,kCACd,QAAQ,cACR;;;wBAsBc,oBACd,YAAY,0BACZ,KAAK,OAAO,YACZ,QAAQ,UACP;;;KC0FE;EACH;EACA;EACA,SAAS,gBAAgB;;;;;;;EAOzB,gBAAgB;EAChB;EACA;EACA;IACE;IACA;;;IAGA;;;;IAIA;;;;;;;IAOA;;;;;;IAMA;;;;EAIF,SAAS;;;EAGT,mBAAmB;EACnB;IAEM;IACA;;EAIN,iBAAiB;EACjB,aAAa,eAAe;EAC5B;EACA,kBAAkB;;;;;;;;EAQlB,4BAA4B;EAC5B;EACA,SAAS;;;;;;EAMT;;KAGG,uBAAuB;;;;;wBAQZ,yCACd,sBACA;;;;;;wBAkBc,wCACd,iCACA,qCACA,KAAK,OAAO;;;;;;;;wBA4BE,wCACd,qCACA,iCACA;;;;;;;;wBAqDc,mCACd,8CACA;;;;;;;wBA8Bc,kBAAkB;;;;;;;;;;;;;;;;iBA6pCjB;EACf,QAAQ;EACR,qBAAqB;EACrB,gCAAgC;;iBAGjB;EACf,2BAA2B;;EAE3B,kBAAkB;;wBAKE,sBACpB,oBACE,gBAAgB,uBAChB,cAAc,kCACX,QAAQ,0BACb,SAAS,SACT,cAAc,eACb,QACD;EACE,QAAQ;EACR,aAAa;EACb,uBAAuB;EACvB,WAAW;EACX,+BAA+B;EAC/B,gBAAgB;;EAEhB,2BAA2B;;;;iBC3hDd;EAEf;EAEA;;wBAKoB,+BACpB,SAAQ,iCACP,QAAQ;;;;YCdC;EACV;EACA;EACA;EACA,SAAS;;;;;;qBAOE;mBACkB;EAA7B,YAA6B,SAAS;EAEhC,eAAe,kBAAkB,QAAQ;EAoCzC,iBAAiB,qBAAqB,QAAQ;;;;qBC0LzC,4BAAyB,gBACpB,uBAAqB,WAC1B,mBAAmB,YAAQ,UAC5B,iBACT;qBAYU,eAAY,gBACP,uBAAqB,WAC1B,mBAAmB,YAAQ,UAC5B,mCAAY;;;;;;qBAaX,qBAAkB,SAAa,4CAAqB;wBAIjD,2BACd,eAAe;qBAKJ,2BAAwB,gBACnB,uBAAqB,UAC3B,iBAAY;;;;iBA6VP;;;;;;;;EAQf;;;;;;;;;wBAUc,4BACd,eAAe,4BACf,UAAS,6BACR"}
|