@nifrajs/web 2.0.0 → 2.2.0
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/build-vite.d.ts +68 -0
- package/dist/build-vite.d.ts.map +1 -0
- package/dist/build-vite.js +487 -0
- package/dist/build-vite.js.map +1 -0
- package/dist/build.d.ts +112 -25
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +283 -64
- package/dist/build.js.map +1 -1
- package/dist/bun-dev-entry.d.ts +83 -0
- package/dist/bun-dev-entry.d.ts.map +1 -0
- package/dist/bun-dev-entry.js +136 -0
- package/dist/bun-dev-entry.js.map +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +10 -0
- package/dist/client.js.map +1 -1
- package/dist/deferred.d.ts +3 -2
- package/dist/deferred.d.ts.map +1 -1
- package/dist/deferred.js +11 -8
- package/dist/deferred.js.map +1 -1
- package/dist/dev-port.d.ts +36 -0
- package/dist/dev-port.d.ts.map +1 -0
- package/dist/dev-port.js +48 -0
- package/dist/dev-port.js.map +1 -0
- package/dist/dev.d.ts +61 -4
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +419 -60
- package/dist/dev.js.map +1 -1
- package/dist/draft.d.ts +37 -0
- package/dist/draft.d.ts.map +1 -1
- package/dist/draft.js +87 -4
- package/dist/draft.js.map +1 -1
- package/dist/fs.d.ts +14 -1
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +7 -1
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +116 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +565 -53
- package/dist/index.js.map +1 -1
- package/dist/internal/timing-safe-equal.d.ts +16 -0
- package/dist/internal/timing-safe-equal.d.ts.map +1 -0
- package/dist/internal/timing-safe-equal.js +26 -0
- package/dist/internal/timing-safe-equal.js.map +1 -0
- package/dist/isr.d.ts.map +1 -1
- package/dist/isr.js +1 -14
- package/dist/isr.js.map +1 -1
- package/dist/llms-txt.d.ts.map +1 -1
- package/dist/llms-txt.js +12 -6
- package/dist/llms-txt.js.map +1 -1
- package/dist/manifest.d.ts +51 -8
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +130 -14
- package/dist/manifest.js.map +1 -1
- package/dist/module-graph.d.ts +91 -0
- package/dist/module-graph.d.ts.map +1 -0
- package/dist/module-graph.js +92 -0
- package/dist/module-graph.js.map +1 -0
- package/dist/plugins/css-modules.d.ts.map +1 -1
- package/dist/plugins/css-modules.js +0 -0
- package/dist/plugins/css-modules.js.map +1 -1
- package/dist/plugins/vite-leak-guard.d.ts +45 -0
- package/dist/plugins/vite-leak-guard.d.ts.map +1 -0
- package/dist/plugins/vite-leak-guard.js +67 -0
- package/dist/plugins/vite-leak-guard.js.map +1 -0
- package/dist/public-dir.d.ts +36 -0
- package/dist/public-dir.d.ts.map +1 -0
- package/dist/public-dir.js +89 -0
- package/dist/public-dir.js.map +1 -0
- package/dist/route-manifest.d.ts +91 -0
- package/dist/route-manifest.d.ts.map +1 -0
- package/dist/route-manifest.js +128 -0
- package/dist/route-manifest.js.map +1 -0
- package/dist/router.d.ts +64 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +114 -31
- package/dist/router.js.map +1 -1
- package/dist/vite.d.ts +10 -4
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +44 -12
- package/dist/vite.js.map +1 -1
- package/package.json +17 -2
- package/src/build-vite.ts +606 -0
- package/src/build.ts +432 -73
- package/src/bun-dev-entry.ts +184 -0
- package/src/client.ts +8 -0
- package/src/deferred.ts +13 -6
- package/src/dev-port.ts +63 -0
- package/src/dev.ts +467 -65
- package/src/draft.ts +116 -4
- package/src/fs.ts +22 -4
- package/src/index.ts +727 -57
- package/src/internal/timing-safe-equal.ts +24 -0
- package/src/isr.ts +1 -13
- package/src/llms-txt.ts +13 -5
- package/src/manifest.ts +188 -13
- package/src/module-graph.ts +146 -0
- package/src/plugins/css-modules.ts +0 -0
- package/src/plugins/vite-leak-guard.ts +110 -0
- package/src/public-dir.ts +108 -0
- package/src/route-manifest.ts +240 -0
- package/src/router.ts +198 -34
- package/src/vite.ts +62 -20
package/dist/deferred.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@nifrajs/web/dev-port` — what a dev server says when it cannot bind.
|
|
3
|
+
*
|
|
4
|
+
* Both pipelines need this and neither should own it: the Vite server binds through Node's `http`
|
|
5
|
+
* (asynchronous `error` event), the Bun server binds through `Bun.serve` (synchronous throw). Two very
|
|
6
|
+
* different failure mechanics, one thing the developer has to be told.
|
|
7
|
+
*
|
|
8
|
+
* That message is worth this much care because the visible symptom is not the real one. When the port is
|
|
9
|
+
* taken, the EARLIER dev server is still answering on it, still serving the build it started with. Every
|
|
10
|
+
* subsequent edit appears to do nothing. What reaches the developer is "my changes stopped reaching SSR",
|
|
11
|
+
* which reads as broken HMR or a stale module graph and sends them into the module graph - not to the one
|
|
12
|
+
* process that never started. Naming the cause here is the entire fix.
|
|
13
|
+
*
|
|
14
|
+
* This module deliberately imports nothing: it is shared by a Node-http path and a Bun path, and the
|
|
15
|
+
* structural `ListenTarget` keeps it free of either runtime's types.
|
|
16
|
+
*/
|
|
17
|
+
/** The `EADDRINUSE` explanation. Exported so tests pin the exact text a user will read. */
|
|
18
|
+
export declare function portInUseMessage(port: number): string;
|
|
19
|
+
/** True when an unknown thrown value carries the "address already in use" errno. */
|
|
20
|
+
export declare const isAddressInUse: (err: unknown) => boolean;
|
|
21
|
+
/** Map a bind failure to the port-collision explanation, leaving every other failure as itself. */
|
|
22
|
+
export declare const explainBindFailure: (err: unknown, port: number) => Error;
|
|
23
|
+
/** The bits of a Node server {@link listenOrExplain} touches — structural, so a test can fake it. */
|
|
24
|
+
export interface ListenTarget {
|
|
25
|
+
listen(port: number, cb: () => void): void;
|
|
26
|
+
once(event: "error", cb: (err: unknown) => void): void;
|
|
27
|
+
removeListener(event: "error", cb: (err: unknown) => void): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* `listen`, but a bind failure becomes a readable nifra error instead of Node's raw internal throw.
|
|
31
|
+
*
|
|
32
|
+
* Without an `error` listener attached, Node throws from deep inside `node:events`, the new process dies
|
|
33
|
+
* in the background, and nothing connects that death to the stale page in front of you.
|
|
34
|
+
*/
|
|
35
|
+
export declare function listenOrExplain(server: ListenTarget, port: number): Promise<void>;
|
|
36
|
+
//# sourceMappingURL=dev-port.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-port.d.ts","sourceRoot":"","sources":["../src/dev-port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,2FAA2F;AAC3F,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQrD;AAED,oFAAoF;AACpF,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,OACa,CAAA;AAI3D,mGAAmG;AACnG,eAAO,MAAM,kBAAkB,GAAI,KAAK,OAAO,EAAE,MAAM,MAAM,KAAG,KACQ,CAAA;AAExE,qGAAqG;AACrG,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI,CAAA;IAC1C,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;IACtD,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAA;CACjE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAWjF"}
|
package/dist/dev-port.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@nifrajs/web/dev-port` — what a dev server says when it cannot bind.
|
|
3
|
+
*
|
|
4
|
+
* Both pipelines need this and neither should own it: the Vite server binds through Node's `http`
|
|
5
|
+
* (asynchronous `error` event), the Bun server binds through `Bun.serve` (synchronous throw). Two very
|
|
6
|
+
* different failure mechanics, one thing the developer has to be told.
|
|
7
|
+
*
|
|
8
|
+
* That message is worth this much care because the visible symptom is not the real one. When the port is
|
|
9
|
+
* taken, the EARLIER dev server is still answering on it, still serving the build it started with. Every
|
|
10
|
+
* subsequent edit appears to do nothing. What reaches the developer is "my changes stopped reaching SSR",
|
|
11
|
+
* which reads as broken HMR or a stale module graph and sends them into the module graph - not to the one
|
|
12
|
+
* process that never started. Naming the cause here is the entire fix.
|
|
13
|
+
*
|
|
14
|
+
* This module deliberately imports nothing: it is shared by a Node-http path and a Bun path, and the
|
|
15
|
+
* structural `ListenTarget` keeps it free of either runtime's types.
|
|
16
|
+
*/
|
|
17
|
+
/** The `EADDRINUSE` explanation. Exported so tests pin the exact text a user will read. */
|
|
18
|
+
export function portInUseMessage(port) {
|
|
19
|
+
return (`[nifra] dev server can't start: port ${port} is already in use.\n` +
|
|
20
|
+
` Most likely an earlier \`nifra dev\` is still running. It keeps serving the PREVIOUS build, so ` +
|
|
21
|
+
`every edit will look like it stops reaching SSR while the browser shows stale output.\n` +
|
|
22
|
+
` Free the port: lsof -ti:${port} | xargs kill\n` +
|
|
23
|
+
` Or use another: nifra dev --port ${port + 1}`);
|
|
24
|
+
}
|
|
25
|
+
/** True when an unknown thrown value carries the "address already in use" errno. */
|
|
26
|
+
export const isAddressInUse = (err) => err?.code === "EADDRINUSE";
|
|
27
|
+
const asError = (err) => (err instanceof Error ? err : new Error(String(err)));
|
|
28
|
+
/** Map a bind failure to the port-collision explanation, leaving every other failure as itself. */
|
|
29
|
+
export const explainBindFailure = (err, port) => isAddressInUse(err) ? new Error(portInUseMessage(port)) : asError(err);
|
|
30
|
+
/**
|
|
31
|
+
* `listen`, but a bind failure becomes a readable nifra error instead of Node's raw internal throw.
|
|
32
|
+
*
|
|
33
|
+
* Without an `error` listener attached, Node throws from deep inside `node:events`, the new process dies
|
|
34
|
+
* in the background, and nothing connects that death to the stale page in front of you.
|
|
35
|
+
*/
|
|
36
|
+
export function listenOrExplain(server, port) {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
const onError = (err) => reject(explainBindFailure(err, port));
|
|
39
|
+
server.once("error", onError);
|
|
40
|
+
server.listen(port, () => {
|
|
41
|
+
// Drop the guard once we're listening: leaving it attached would funnel a LATER server error into
|
|
42
|
+
// an already-settled promise, silently swallowing it instead of surfacing it.
|
|
43
|
+
server.removeListener("error", onError);
|
|
44
|
+
resolve();
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=dev-port.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dev-port.js","sourceRoot":"","sources":["../src/dev-port.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,2FAA2F;AAC3F,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,CACL,wCAAwC,IAAI,uBAAuB;QACnE,mGAAmG;QACnG,yFAAyF;QACzF,8BAA8B,IAAI,iBAAiB;QACnD,sCAAsC,IAAI,GAAG,CAAC,EAAE,CACjD,CAAA;AACH,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAY,EAAW,EAAE,CACrD,GAAiC,EAAE,IAAI,KAAK,YAAY,CAAA;AAE3D,MAAM,OAAO,GAAG,CAAC,GAAY,EAAS,EAAE,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAE9F,mGAAmG;AACnG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAE,IAAY,EAAS,EAAE,CACtE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AASxE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,MAAoB,EAAE,IAAY;IAChE,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,CAAC,GAAY,EAAQ,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;QAC7E,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;YACvB,kGAAkG;YAClG,8EAA8E;YAC9E,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;YACvC,OAAO,EAAE,CAAA;QACX,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/dev.d.ts
CHANGED
|
@@ -5,21 +5,78 @@ interface FetchApp {
|
|
|
5
5
|
}
|
|
6
6
|
export interface DevServerOptions extends Omit<BuildClientOptions, "minify"> {
|
|
7
7
|
/**
|
|
8
|
-
* Build the nifra app for the
|
|
9
|
-
*
|
|
10
|
-
*
|
|
8
|
+
* Build the nifra app for the current client entry. `importQuery` changes on every reload — pass it to
|
|
9
|
+
* `discoverRoutes(routesDir, { importQuery })` so SSR re-imports edited route modules instead of Bun's
|
|
10
|
+
* cached copies.
|
|
11
11
|
*/
|
|
12
12
|
readonly createApp: (clientEntry: string, importQuery: string) => FetchApp | Promise<FetchApp>;
|
|
13
13
|
/** Directories to watch (default: `[routesDir]`). */
|
|
14
14
|
readonly watch?: readonly string[];
|
|
15
15
|
/** Port to listen on (default {@link DEFAULT_DEV_PORT}). */
|
|
16
16
|
readonly port?: number;
|
|
17
|
+
/** Directory of user-authored static files served at the root (default `"public"`). The SAME
|
|
18
|
+
* option the production build copies and serves, so dev and prod cannot drift. */
|
|
19
|
+
readonly publicDir?: string | false;
|
|
20
|
+
/**
|
|
21
|
+
* Run the client-leak guards on each change (default `true`).
|
|
22
|
+
*
|
|
23
|
+
* `buildClient` is what runs them - server-only code reaching the browser, `node:` builtins in client
|
|
24
|
+
* code - and Bun's dev server does its own bundling, so nothing would run them otherwise. They are
|
|
25
|
+
* security guards; a dev loop that stops enforcing them is how a leak reaches a deploy unnoticed. The
|
|
26
|
+
* pass runs in the background off the hot path, so HMR is never waiting on it, and only reports.
|
|
27
|
+
*/
|
|
28
|
+
readonly guardLeaks?: boolean;
|
|
17
29
|
}
|
|
18
30
|
export interface DevServer {
|
|
19
31
|
readonly port: number;
|
|
32
|
+
/**
|
|
33
|
+
* The URL pages point their client entry at — always {@link CLIENT_ENTRY_PATH}, never Bun's hashed
|
|
34
|
+
* chunk. Deliberately not the underlying chunk URL: that one moves on every rebuild, and anything
|
|
35
|
+
* holding onto it is holding onto a URL that will stop working.
|
|
36
|
+
*/
|
|
37
|
+
readonly clientEntry: string;
|
|
20
38
|
stop(): void;
|
|
21
39
|
}
|
|
22
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
* The stable URL every SSR'd page points its client entry at.
|
|
42
|
+
*
|
|
43
|
+
* It has to be stable, and Bun's own URL is not: that one is a content hash over the entire client graph,
|
|
44
|
+
* so it changes whenever anything the entry imports changes. This path redirects to whichever hashed
|
|
45
|
+
* chunk Bun is serving at the moment the browser asks, which is the only formulation that stays correct
|
|
46
|
+
* across a rebuild.
|
|
47
|
+
*/
|
|
48
|
+
export declare const CLIENT_ENTRY_PATH = "/__nifra/client.js";
|
|
49
|
+
/**
|
|
50
|
+
* The throwaway HTML document. Its only job is to make Bun bundle the entry and assign it a URL - it is
|
|
51
|
+
* never shown to a user, so it carries no app markup. The `<div id="root">` is there purely so the
|
|
52
|
+
* document stands on its own if someone opens the probe path directly while debugging.
|
|
53
|
+
*/
|
|
54
|
+
export declare function devHtml(entryHref: string): string;
|
|
55
|
+
interface WriteDevFilesOptions {
|
|
56
|
+
readonly routesDir: string;
|
|
57
|
+
readonly clientModule: string;
|
|
58
|
+
readonly entryPath: string;
|
|
59
|
+
readonly htmlPath: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Generate the client entry + the HTML route that carries it.
|
|
63
|
+
*
|
|
64
|
+
* Route specifiers are written **relative to the entry file**, not root-relative as the Vite path writes
|
|
65
|
+
* them: Vite resolves `/routes/x.tsx` against its configured root, while Bun's bundler resolves an import
|
|
66
|
+
* the way the runtime does, so a leading slash there would mean the filesystem root.
|
|
67
|
+
*/
|
|
68
|
+
export declare function writeDevFiles(options: WriteDevFilesOptions): void;
|
|
69
|
+
/** `<link rel="stylesheet">` tags for Bun's extracted CSS, injected into each SSR'd page's `<head>`. */
|
|
70
|
+
export declare function styleTags(styles: readonly string[]): string;
|
|
71
|
+
/**
|
|
72
|
+
* Inject Bun's stylesheet links into an SSR'd document.
|
|
73
|
+
*
|
|
74
|
+
* Prefers `</head>`; falls back to prepending when a document has no head (a bare fragment from a custom
|
|
75
|
+
* renderer). Never appends blindly at the end - a stylesheet after `</body>` still applies but arrives
|
|
76
|
+
* after first paint, so the page flashes unstyled and dev stops resembling production.
|
|
77
|
+
*/
|
|
78
|
+
export declare function injectStyles(html: string, styles: readonly string[]): string;
|
|
79
|
+
/** Start the Bun dev server: generate → bundle → serve → watch → hot-reload on change. */
|
|
23
80
|
export declare function createDevServer(options: DevServerOptions): Promise<DevServer>;
|
|
24
81
|
export {};
|
|
25
82
|
//# sourceMappingURL=dev.d.ts.map
|
package/dist/dev.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"AAsDA,OAAO,EAAE,KAAK,kBAAkB,EAAe,MAAM,YAAY,CAAA;AAQjE,mFAAmF;AACnF,UAAU,QAAQ;IAChB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtD;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC;IAC1E;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC9F,qDAAqD;IACrD,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB;sFACkF;IAClF,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACnC;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;OAIG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,IAAI,IAAI,IAAI,CAAA;CACb;AAaD;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,uBAAuB,CAAA;AAuCrD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAMjD;AAED,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAC1B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAsBjE;AAED,wGAAwG;AACxG,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAQ3D;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAM5E;AAED,0FAA0F;AAC1F,wBAAsB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAwOnF"}
|