@codenotch/codenotch.cli 1.0.51 → 1.0.53

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.
@@ -1,15 +1,52 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.registerRefresh = registerRefresh;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const ConsoleUtils_1 = __importDefault(require("../../utils/ConsoleUtils"));
9
+ const ProjectUtils_1 = __importDefault(require("../../utils/ProjectUtils"));
10
+ const RuntimeUtils_1 = __importDefault(require("../../utils/RuntimeUtils"));
4
11
  const shared_1 = require("./shared");
5
12
  function registerRefresh(project) {
6
13
  (0, shared_1.withProjectPathOption)(project
7
14
  .command('refresh')
8
15
  .alias('patch')
9
- .description('Sync the project with the runtime, deploy changes and restart if needed'))
16
+ .description('Sync the project with the runtime, deploy changes and restart if needed')
17
+ .option('-i, --ignore-errors', 'deploy even when the compilation reports errors', false)
18
+ .addHelpText('after', `
19
+ Examples:
20
+ $ cn project refresh package the sources and redeploy them on the runtime
21
+ $ cn project refresh -p ./myproject
22
+ $ cn project refresh --ignore-errors deploy anyway when the compilation reports errors
23
+
24
+ The runtime is started when it is not running, and a project it does not hold yet is deployed
25
+ as a whole. 'cn project start' does the same and opens the project in the browser.
26
+ `))
10
27
  .action(async (options) => {
11
- console.log("TODO Not implemented yet");
12
- //await RuntimeUtils.patchProject(options.projectPath);
28
+ // Without a manifest there is no service to sync with: say so rather than failing on the read
29
+ let serviceName;
30
+ try {
31
+ serviceName = await ProjectUtils_1.default.getProjectServiceName(options.projectPath);
32
+ }
33
+ catch {
34
+ console.error(chalk_1.default.yellow(`Aborted: no manifest.json in '${options.projectPath}', run this inside a project or point '-p' at one.`));
35
+ process.exitCode = 1;
36
+ return;
37
+ }
38
+ ConsoleUtils_1.default.check(`Service '${serviceName}' (from manifest.json)`);
39
+ try {
40
+ const refreshed = await RuntimeUtils_1.default.refreshProject(options.projectPath, { ignoreErrors: options.ignoreErrors });
41
+ if (!refreshed) {
42
+ process.exitCode = 1;
43
+ }
44
+ }
45
+ catch (error) {
46
+ // A compilation failure already listed its errors, only the outcome is left to report
47
+ console.error(chalk_1.default.red(`Refresh failed: ${error instanceof Error ? error.message : String(error)}`));
48
+ process.exitCode = 1;
49
+ }
13
50
  });
14
51
  }
15
52
  //# sourceMappingURL=refresh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/commands/project/refresh.ts"],"names":[],"mappings":";;AAGA,0CASC;AAXD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,yEAAyE,CAAC,CAAC;SACvF,MAAM,CAAC,KAAK,EAAE,OAA+B,EAAE,EAAE;QAC9C,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;QACxC,uDAAuD;IAC3D,CAAC,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"refresh.js","sourceRoot":"","sources":["../../../src/commands/project/refresh.ts"],"names":[],"mappings":";;;;;AAOA,0CAyCC;AA/CD,kDAA0B;AAC1B,4EAAoD;AACpD,4EAAoD;AACpD,4EAAoD;AACpD,qCAAyE;AAEzE,SAAgB,eAAe,CAAC,OAAgB;IAC5C,IAAA,8BAAqB,EAAC,OAAO;SACxB,OAAO,CAAC,SAAS,CAAC;SAClB,KAAK,CAAC,OAAO,CAAC;SACd,WAAW,CAAC,yEAAyE,CAAC;SACtF,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,EAAE,KAAK,CAAC;SACvF,WAAW,CAAC,OAAO,EAAE;;;;;;;;CAQ7B,CAAC,CAAC;SACM,MAAM,CAAC,KAAK,EAAE,OAA2D,EAAE,EAAE;QAE1E,8FAA8F;QAC9F,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACD,WAAW,GAAG,MAAM,sBAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,MAAM,CAAC,iCAAiC,OAAO,CAAC,WAAW,oDAAoD,CAAC,CAAC,CAAC;YACtI,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACX,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,YAAY,WAAW,wBAAwB,CAAC,CAAC;QAEpE,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,sBAAY,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;YACjH,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,sFAAsF;YACtF,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;YACtG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC,CAAC,CAAC;AACX,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.registerReactCommands = registerReactCommands;
4
- const serve_1 = require("./serve");
5
4
  const build_1 = require("./build");
6
5
  const dev_1 = require("./dev");
7
6
  const clean_1 = require("./clean");
@@ -9,18 +8,16 @@ const package_1 = require("./package");
9
8
  function registerReactCommands(program) {
10
9
  const react = program
11
10
  .command('react')
12
- .description('Work on the React apps of the project: dev server with hot reload, production build, preview of a build, desktop installer, cleanup of the staging folders')
11
+ .description('Work on the React apps of the project: dev server with hot reload, production build, desktop installer, cleanup of the staging folders')
13
12
  .addHelpText('after', `
14
13
  Examples:
15
14
  $ cn react dev dev server of the only app, opens the browser
16
15
  $ cn react build Dashboard production bundle in .codenotch/Dashboard-dist
17
- $ cn react preview Dashboard serve that bundle locally
18
16
  $ cn react package Dashboard desktop installer for this OS (Tauri, needs Rust)
19
17
  $ cn react clean delete every staging and bundle folder
20
18
  `);
21
19
  (0, dev_1.registerDev)(react);
22
20
  (0, build_1.registerBuild)(react);
23
- (0, serve_1.registerServe)(react);
24
21
  (0, package_1.registerPackage)(react);
25
22
  (0, clean_1.registerClean)(react);
26
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/react/index.ts"],"names":[],"mappings":";;AAOA,sDAkBC;AAxBD,mCAAwC;AACxC,mCAAwC;AACxC,+BAAoC;AACpC,mCAAwC;AACxC,uCAA4C;AAE5C,SAAgB,qBAAqB,CAAC,OAAgB;IAClD,MAAM,KAAK,GAAG,OAAO;SAChB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,4JAA4J,CAAC;SACzK,WAAW,CAAC,OAAO,EAAE;;;;;;;CAO7B,CAAC,CAAC;IAEC,IAAA,iBAAW,EAAC,KAAK,CAAC,CAAC;IACnB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IACrB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IACrB,IAAA,yBAAe,EAAC,KAAK,CAAC,CAAC;IACvB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/react/index.ts"],"names":[],"mappings":";;AAMA,sDAgBC;AArBD,mCAAwC;AACxC,+BAAoC;AACpC,mCAAwC;AACxC,uCAA4C;AAE5C,SAAgB,qBAAqB,CAAC,OAAgB;IAClD,MAAM,KAAK,GAAG,OAAO;SAChB,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wIAAwI,CAAC;SACrJ,WAAW,CAAC,OAAO,EAAE;;;;;;CAM7B,CAAC,CAAC;IAEC,IAAA,iBAAW,EAAC,KAAK,CAAC,CAAC;IACnB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;IACrB,IAAA,yBAAe,EAAC,KAAK,CAAC,CAAC;IACvB,IAAA,qBAAa,EAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
@@ -13,7 +13,7 @@ export interface IBuildOptions {
13
13
  pwa?: boolean;
14
14
  }
15
15
  export default abstract class BuildUtils {
16
- static readonly CN_REACT_VERSION = "2.0.4";
16
+ static readonly CN_REACT_VERSION = "2.0.5";
17
17
  /** Root of the Codenotch project a folder belongs to, walking up to the closest manifest.json */
18
18
  static findWorkspace(fromDir?: string): string | undefined;
19
19
  static findWorkspaceFromFile(childPath: string): string | undefined;
@@ -28,15 +28,16 @@ export default abstract class BuildUtils {
28
28
  * tsconfig.json, the workspace `.npmrc` when there is one, and a copy of every source file of the workspace,
29
29
  * mirrored flat so that root config files (postcss.config.js, ...) stay where Vite looks.
30
30
  * - `.codenotch/<appName>-dist` — the bundle Vite emits, plus a `.env` holding the Codenotch
31
- * environment (app name, manifests, cluster url) read by the served page.
31
+ * environment (app name, manifests, cluster url) the host is expected to expose as
32
+ * `/api/env` (the runtime does it for a deployed app).
32
33
  * Both folders are deleted first when a previous build left them behind.
33
34
  *
34
35
  * The build itself runs `npm install` then `npm run build` (vite alone: the copy holds server
35
36
  * files too, typechecking is the job of 'cn validate') inside `-source`, with the Node the CLI
36
37
  * runs under — Node 20 or newer is expected (Vite 8), and npm needs the network.
37
38
  *
38
- * On success, prints the `cn react serve '<dist>'` command to try the bundle, and returns
39
- * the path of the dist folder (undefined when the copy found nothing to build).
39
+ * On success, prints where the bundle landed and returns the path of the dist folder
40
+ * (undefined when the copy found nothing to build).
40
41
  *
41
42
  * @param appFilePath Path (absolute, or relative to the current directory) to the app
42
43
  * component, e.g. `./apps/index.tsx`. NOT the manifest: the sibling
@@ -48,8 +49,8 @@ export default abstract class BuildUtils {
48
49
  * the bundle is built all the same, but not bound to a cluster.
49
50
  * `static`: the environment is baked into the JS (a `codenotch.env.json`
50
51
  * imported by index.jsx) instead of the `/api/env` fetch — the dist then runs
51
- * from any static file host. The `.env` is still written, so `cn react serve`
52
- * keeps working on such a bundle.
52
+ * from any static file host. The `.env` is written all the same, as the
53
+ * description of the environment the bundle was built for.
53
54
  * `pwa`: implies static, and makes the bundle installable — a
54
55
  * `manifest.webmanifest` generated from the `pwa` section of the app manifest
55
56
  * (with its icons, shipped through the staging `public/`), and a service
@@ -128,8 +129,24 @@ export default abstract class BuildUtils {
128
129
  * the runtime inside a process, nothing to bundle for a browser) fails the build with the
129
130
  * real explanation instead of Vite's cryptic resolve error. A type-only import is erased
130
131
  * before resolution and never reaches it.
132
+ *
133
+ * Exception: the dependency scanner of the dev server crawls the REAL content of the files
134
+ * the app graph replaces by stubs (process and template modules — see createProcessStubs),
135
+ * so their own '@codenotch/*' imports do reach this hook. Those are answered 'external'
136
+ * instead of failing: the served graph only ever sees the stubs.
137
+ *
138
+ * @param rootDir what `serverModuleKeys` are relative to (staging folder of a build, the
139
+ * workspace in dev)
140
+ * @param serverModuleKeys relative posix paths (no extension, lowercased) of the modules the
141
+ * app graph stubs — the files allowed to import server-side packages
131
142
  */
132
143
  private static createServerOnlyGuardPlugin;
144
+ /**
145
+ * The modules of the workspace an app build replaces by stubs, allowed to import server-side
146
+ * packages (see createServerOnlyGuardPlugin): the process files, plus the rendering templates
147
+ * their real sources import. Keys relative to the workspace, posix, no extension, lowercased.
148
+ */
149
+ private static createServerModuleKeys;
133
150
  /**
134
151
  * The client stubs of every process-declaring file of the workspace, for the app builds:
135
152
  * one module source per file, keyed by the workspace-relative posix path of the file
@@ -16,7 +16,7 @@ const ConsoleUtils_1 = __importDefault(require("./ConsoleUtils"));
16
16
  const ProjectUtils_1 = __importDefault(require("./ProjectUtils"));
17
17
  const RuntimeUtils_1 = __importDefault(require("./RuntimeUtils"));
18
18
  class BuildUtils {
19
- static CN_REACT_VERSION = '2.0.4';
19
+ static CN_REACT_VERSION = '2.0.5';
20
20
  /** Root of the Codenotch project a folder belongs to, walking up to the closest manifest.json */
21
21
  static findWorkspace(fromDir = process.cwd()) {
22
22
  // findWorkspaceFromFile strips the last segment, hand it a dummy file
@@ -47,15 +47,16 @@ class BuildUtils {
47
47
  * tsconfig.json, the workspace `.npmrc` when there is one, and a copy of every source file of the workspace,
48
48
  * mirrored flat so that root config files (postcss.config.js, ...) stay where Vite looks.
49
49
  * - `.codenotch/<appName>-dist` — the bundle Vite emits, plus a `.env` holding the Codenotch
50
- * environment (app name, manifests, cluster url) read by the served page.
50
+ * environment (app name, manifests, cluster url) the host is expected to expose as
51
+ * `/api/env` (the runtime does it for a deployed app).
51
52
  * Both folders are deleted first when a previous build left them behind.
52
53
  *
53
54
  * The build itself runs `npm install` then `npm run build` (vite alone: the copy holds server
54
55
  * files too, typechecking is the job of 'cn validate') inside `-source`, with the Node the CLI
55
56
  * runs under — Node 20 or newer is expected (Vite 8), and npm needs the network.
56
57
  *
57
- * On success, prints the `cn react serve '<dist>'` command to try the bundle, and returns
58
- * the path of the dist folder (undefined when the copy found nothing to build).
58
+ * On success, prints where the bundle landed and returns the path of the dist folder
59
+ * (undefined when the copy found nothing to build).
59
60
  *
60
61
  * @param appFilePath Path (absolute, or relative to the current directory) to the app
61
62
  * component, e.g. `./apps/index.tsx`. NOT the manifest: the sibling
@@ -67,8 +68,8 @@ class BuildUtils {
67
68
  * the bundle is built all the same, but not bound to a cluster.
68
69
  * `static`: the environment is baked into the JS (a `codenotch.env.json`
69
70
  * imported by index.jsx) instead of the `/api/env` fetch — the dist then runs
70
- * from any static file host. The `.env` is still written, so `cn react serve`
71
- * keeps working on such a bundle.
71
+ * from any static file host. The `.env` is written all the same, as the
72
+ * description of the environment the bundle was built for.
72
73
  * `pwa`: implies static, and makes the bundle installable — a
73
74
  * `manifest.webmanifest` generated from the `pwa` section of the app manifest
74
75
  * (with its icons, shipped through the staging `public/`), and a service
@@ -175,7 +176,8 @@ class BuildUtils {
175
176
  this.copyPwaIcons(appManifest, appFileParentPath, workspacePath, outDir);
176
177
  }
177
178
  // vite.config.mjs (.mjs so it always loads as ESM, regardless of package.json "type")
178
- let viteConfig = this.createViteConfig(appName, outDir, await this.createProcessStubs(workspacePath));
179
+ const processStubs = await this.createProcessStubs(workspacePath);
180
+ let viteConfig = this.createViteConfig(appName, outDir, processStubs, await this.createServerModuleKeys(workspacePath, processStubs));
179
181
  FileUtils_1.default.writeFileSync(outDir + '/vite.config.mjs', viteConfig);
180
182
  ConsoleUtils_1.default.check(`vite.config.mjs created successfully`);
181
183
  // tsconfig.json - layout is flat (mirrors the workspace), so typecheck the source trees
@@ -220,7 +222,7 @@ class BuildUtils {
220
222
  let precachedCount = this.createServiceWorker(distDir, appName);
221
223
  ConsoleUtils_1.default.check(`sw.js created successfully (${precachedCount} files precached for offline use)\n`);
222
224
  }
223
- // create .env file — even for a static bundle, so 'cn react serve' keeps working on it
225
+ // create .env file — even for a static bundle, where it only documents the environment
224
226
  console.log("Creating .env file...");
225
227
  // A variable without value is left out, otherwise the page would read the string "undefined"
226
228
  let definedEnv = this.definedEnvEntries(envVariables);
@@ -240,9 +242,11 @@ class BuildUtils {
240
242
  if (isStatic) {
241
243
  console.log('');
242
244
  }
243
- let serveCommand = `cn react serve '${bundlePath}'`;
244
- console.log(`You can serve the build using the following command:\n`);
245
- console.log(chalk_1.default.green(`${serveCommand}`));
245
+ if (!isStatic) {
246
+ console.log(`The page fetches its environment from '/api/env': the Codenotch runtime exposes it, another host has to serve the '.env' of the bundle that way.`);
247
+ console.log('');
248
+ }
249
+ console.log(chalk_1.default.green(`Run the app on the sources with 'cn react dev'.`));
246
250
  return bundlePath;
247
251
  }
248
252
  static async buildApp2(appFilePath) {
@@ -297,7 +301,8 @@ class BuildUtils {
297
301
  let indexJsx = this.createIndexJsxDeployment(relativeOutFilePath, fileName);
298
302
  FileUtils_1.default.writeFileSync(outDir + '/index.jsx', indexJsx);
299
303
  // vite.config.mjs (.mjs so it always loads as ESM, regardless of package.json "type")
300
- let viteConfig = this.createViteConfig(appName, outDir, await this.createProcessStubs(workspacePath));
304
+ const processStubs = await this.createProcessStubs(workspacePath);
305
+ let viteConfig = this.createViteConfig(appName, outDir, processStubs, await this.createServerModuleKeys(workspacePath, processStubs));
301
306
  FileUtils_1.default.writeFileSync(outDir + '/vite.config.mjs', viteConfig);
302
307
  // tsconfig.json — layout is flat (mirrors the workspace), so typecheck the source trees
303
308
  let tsconfig = this.createTsConfig(["**/*.ts", "**/*.tsx"]);
@@ -406,7 +411,7 @@ import { createRoot } from 'react-dom/client';
406
411
  import ${fileName} from './${relativeOutFilePath}';
407
412
  import { init } from '@codenotch/codenotch.react';
408
413
 
409
- // The environment is exposed by the server hosting the bundle (see 'cn react serve')
414
+ // The environment is exposed as /api/env by the host serving the bundle (the runtime does it)
410
415
  const root = createRoot(document.getElementById('root'));
411
416
  fetch('/api/env')
412
417
  .then(response => response.json())
@@ -540,20 +545,54 @@ try {
540
545
  * the runtime inside a process, nothing to bundle for a browser) fails the build with the
541
546
  * real explanation instead of Vite's cryptic resolve error. A type-only import is erased
542
547
  * before resolution and never reaches it.
548
+ *
549
+ * Exception: the dependency scanner of the dev server crawls the REAL content of the files
550
+ * the app graph replaces by stubs (process and template modules — see createProcessStubs),
551
+ * so their own '@codenotch/*' imports do reach this hook. Those are answered 'external'
552
+ * instead of failing: the served graph only ever sees the stubs.
553
+ *
554
+ * @param rootDir what `serverModuleKeys` are relative to (staging folder of a build, the
555
+ * workspace in dev)
556
+ * @param serverModuleKeys relative posix paths (no extension, lowercased) of the modules the
557
+ * app graph stubs — the files allowed to import server-side packages
543
558
  */
544
- static createServerOnlyGuardPlugin() {
559
+ static createServerOnlyGuardPlugin(rootDir, serverModuleKeys) {
560
+ const root = StringUtils_1.default.normalizePath(rootDir).replaceAll('\\', '/').toLowerCase();
545
561
  return `{
546
562
  name: 'codenotch-server-only',
547
563
  enforce: 'pre',
548
564
  resolveId(source, importer) {
549
- if (/^@codenotch\\/(process|orm)(\\/|$)/.test(source)) {
550
- throw new Error("'" + source + "' is server-side and cannot be used in a React app" +
551
- (importer ? " (imported by '" + importer + "')" : "") +
552
- ". Import only its types ('import type { ... } from ...') and move the logic into a process the app calls.");
565
+ if (!/^@codenotch\\/(process|orm)(\\/|$)/.test(source)) {
566
+ return null;
553
567
  }
568
+ if (importer) {
569
+ // The dep scanner reads the real content of stubbed server modules: harmless
570
+ const serverModules = ${JSON.stringify(serverModuleKeys)};
571
+ const root = ${JSON.stringify(root)};
572
+ const file = importer.replace(/[?#].*$/, '').replaceAll('\\\\', '/').toLowerCase();
573
+ if (file.startsWith(root + '/') && serverModules.includes(file.slice(root.length + 1).replace(/\\.[^/.]+$/, ''))) {
574
+ return { id: source, external: true };
575
+ }
576
+ }
577
+ throw new Error("'" + source + "' is server-side and cannot be used in a React app" +
578
+ (importer ? " (imported by '" + importer + "')" : "") +
579
+ ". Import only its types ('import type { ... } from ...') and move the logic into a process the app calls.");
554
580
  }
555
581
  }`;
556
582
  }
583
+ /**
584
+ * The modules of the workspace an app build replaces by stubs, allowed to import server-side
585
+ * packages (see createServerOnlyGuardPlugin): the process files, plus the rendering templates
586
+ * their real sources import. Keys relative to the workspace, posix, no extension, lowercased.
587
+ */
588
+ static async createServerModuleKeys(workspacePath, processStubs) {
589
+ const keys = new Set(Object.keys(processStubs));
590
+ for (const template of await ProjectUtils_1.default.discoverTemplateFiles(workspacePath)) {
591
+ keys.add(StringUtils_1.default.toRelativePath(template.filePath, workspacePath)
592
+ .replaceAll('\\', '/').replace(/\.[^/.]+$/, '').toLowerCase());
593
+ }
594
+ return [...keys];
595
+ }
557
596
  /**
558
597
  * The client stubs of every process-declaring file of the workspace, for the app builds:
559
598
  * one module source per file, keyed by the workspace-relative posix path of the file
@@ -609,7 +648,7 @@ try {
609
648
  }
610
649
  }`;
611
650
  }
612
- static createViteConfig(appName, stagingDir, processStubs) {
651
+ static createViteConfig(appName, stagingDir, processStubs, serverModuleKeys) {
613
652
  let debugOptions = `
614
653
  sourcemap: true,
615
654
  terserOptions: {
@@ -625,7 +664,7 @@ export default defineConfig({
625
664
  plugins: [
626
665
  react(),
627
666
  ${this.createProcessStubPlugin(stagingDir, processStubs)},
628
- ${this.createServerOnlyGuardPlugin()},
667
+ ${this.createServerOnlyGuardPlugin(stagingDir, serverModuleKeys)},
629
668
  ],
630
669
  base: './',
631
670
  build: {
@@ -734,7 +773,7 @@ export default defineConfig({
734
773
  */
735
774
  static createServiceWorker(distDir, appName) {
736
775
  let files = FileUtils_1.default.listFilesRecursively(distDir, {
737
- // .env is for 'cn react serve', not for the page; sw.js is the worker itself
776
+ // .env describes the build, it is not for the page; sw.js is the worker itself
738
777
  ignoredFileNames: ['.env', 'sw.js']
739
778
  })
740
779
  // Sourcemaps stay in the dist for the devtools, but caching megabytes of them offline
@@ -821,7 +860,7 @@ self.addEventListener('fetch', (event) => {
821
860
  let requiredDeps = ['react', 'react-dom'];
822
861
  for (let requiredDep of requiredDeps) {
823
862
  if (pgkJson.dependencies[requiredDep] === undefined) {
824
- throw new Error(`Dependency ${requiredDep} is required to run the React preview. Please add it to your package.json dependencies and try again.`);
863
+ throw new Error(`Dependency ${requiredDep} is required to build the React app. Please add it to your package.json dependencies and try again.`);
825
864
  }
826
865
  }
827
866
  if (pgkJson.devDependencies['vite'] === undefined) {
@@ -914,7 +953,8 @@ self.addEventListener('fetch', (event) => {
914
953
  'react/jsx-runtime',
915
954
  'react/jsx-dev-runtime'
916
955
  ])];
917
- FileUtils_1.default.writeFileSync(devDir + '/vite.config.mjs', this.createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies, await this.createProcessStubs(workspacePath)));
956
+ const processStubs = await this.createProcessStubs(workspacePath);
957
+ FileUtils_1.default.writeFileSync(devDir + '/vite.config.mjs', this.createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies, processStubs, await this.createServerModuleKeys(workspacePath, processStubs)));
918
958
  ConsoleUtils_1.default.check(`Dev files created in ${devDir}\n`);
919
959
  // A cache from a previous run may hold those diverging hashes: start from a clean optimize pass
920
960
  FileUtils_1.default.deleteRecursively(StringUtils_1.default.normalizePath(`${devDir}/node_modules/.vite`));
@@ -971,7 +1011,7 @@ fetch('/api/env')
971
1011
  * The dev flavoured Vite config: the app is aliased to its real file in the workspace so that
972
1012
  * hot reload watches the project sources, and a tiny plugin serves the Codenotch environment.
973
1013
  */
974
- static createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies, processStubs = {}) {
1014
+ static createViteDevConfig(workspacePath, devDir, appFilePath, envVariables, options, knownDependencies, processStubs = {}, serverModuleKeys = []) {
975
1015
  const workspacePosix = workspacePath.replaceAll('\\', '/');
976
1016
  const devDirPosix = devDir.replaceAll('\\', '/');
977
1017
  const appFilePosix = appFilePath.replaceAll('\\', '/');
@@ -997,7 +1037,7 @@ export default defineConfig({
997
1037
  }
998
1038
  },
999
1039
  ${this.createProcessStubPlugin(workspacePath, processStubs)},
1000
- ${this.createServerOnlyGuardPlugin()},
1040
+ ${this.createServerOnlyGuardPlugin(workspacePath, serverModuleKeys)},
1001
1041
  ],
1002
1042
  resolve: {
1003
1043
  alias: [
@@ -1 +1 @@
1
- {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BuildUtils.js","sourceRoot":"","sources":["../../src/utils/BuildUtils.ts"],"names":[],"mappings":";;;;;AAAA,2BAAwD;AACxD,mCAAoC;AACpC,+BAA+B;AAC/B,gEAAwC;AACxC,4DAAoC;AACpC,kDAA0B;AAC1B,4CAAoB;AACpB,wDAA2B;AAC3B,8DAAsC;AACtC,kEAA0C;AAC1C,kEAA0C;AAC1C,kEAA0C;AAkB1C,MAA8B,UAAU;IAE7B,MAAM,CAAU,gBAAgB,GAAG,OAAO,CAAC;IAGlD,iGAAiG;IACjG,MAAM,CAAC,aAAa,CAAC,UAAkB,OAAO,CAAC,GAAG,EAAE;QAChD,sEAAsE;QACtE,OAAO,IAAI,CAAC,qBAAqB,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,SAAiB;QAC1C,IAAI,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,mBAAS,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB;QAC7D,IAAI,aAAa,GAAuB,SAAS,CAAC;QAClD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,IAAI,iBAAiB,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,SAAS,iBAAiB,CAAC,CAAC;YACjF,IAAI,IAAA,eAAU,EAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChC,aAAa,GAAG,SAAS,CAAC;YAC9B,CAAC;QACL,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAmB,EAAE,UAAoE,EAAE;QAClH,mFAAmF;QACnF,mEAAmE;QAEnE,+EAA+E;QAC/E,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,KAAK,IAAI,CAAC;QACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC;QAElD,IAAI,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,+FAA+F;QAC/F,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAG9D,kBAAkB;QAClB,IAAI,IAAA,eAAU,EAAC,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,aAAa,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,EAAE,IAAI,IAAA,eAAU,EAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACpE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sDAAsD,WAAW,IAAI,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QAED,iBAAiB;QACjB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,IAAI,SAAS,GAAe;YACxB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC;YAC/C,IAAI,EAAE,aAAa;SACtB,CAAC;QACF,sBAAY,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAI/D,mBAAmB;QACnB,OAAO,CAAC,GAAG,CAAC,4BAA4B,WAAW,GAAG,CAAC,CAAC;QACxD,IAAI,WAAW,GAAG,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,iBAAiB,GAAG,qBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,eAAe,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC9H,IAAI,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0CAA0C,eAAe,KAAK,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,WAAW,GAAiB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,eAAe,KAAK,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,gDAAgD,OAAO,OAAO,CAAC,CAAC;QAGnF,eAAe;QACf,sFAAsF;QACtF,iFAAiF;QACjF,IAAI,MAAM,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,SAAS,CAAC,CAAC;QACxF,IAAI,OAAO,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,OAAO,CAAC,CAAC;QACvF,IAAI,QAAQ,GAAG,qBAAW,CAAC,UAAU,CAAC,qBAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,IAAI,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,mBAAmB,GAAG,qBAAW,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAGhG,oFAAoF;QACpF,iFAAiF;QACjF,IAAI,YAAY,GAAQ,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE;YACnE,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAC;QAGH,sFAAsF;QACtF,mFAAmF;QACnF,uCAAuC;QACvC,IAAI,IAAA,eAAU,EAAC,MAAM,CAAC,IAAI,IAAA,eAAU,EAAC,OAAO,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACxC,mBAAS,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACrC,sBAAY,CAAC,KAAK,CAAC,6BAA6B,MAAM,KAAK,CAAC,CAAC;QACjE,CAAC;QAGD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,eAAe;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpF,sBAAY,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;QAExD,aAAa;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAClE,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,CAAC;QAC3D,sBAAY,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAEtD,sFAAsF;QACtF,IAAI,QAAQ,GAAG,QAAQ,CAAC,CAAC;YACrB,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QACvD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,QAAQ,CAAC,CAAC;QACzD,sBAAY,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAErD,IAAI,QAAQ,EAAE,CAAC;YACX,wDAAwD;YACxD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACvH,sBAAY,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACtG,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,8EAA8E;YAC9E,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,8BAA8B,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxI,sBAAY,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAChE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC7E,CAAC;QAED,sFAAsF;QACtF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QACtI,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,UAAU,CAAC,CAAC;QACjE,sBAAY,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QAE3D,wFAAwF;QACxF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAC7D,sBAAY,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAEzD,IAAI,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,CAAC,CAAC,CAAC;YACpF,YAAE,CAAC,YAAY,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChF,EAAE,CAAC;QACP,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,CAAC;YAC1D,sBAAY,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACrD,CAAC;QAGD,qBAAqB;QACrB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAChC,IAAI,aAAa,GAAG,mBAAS,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC9D,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/E,uFAAuF;YACvF,kBAAkB,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC;SAC7D,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,aAAa,2BAA2B,CAAC,CAAC,CAAC;YAC9F,OAAO;QACX,CAAC;QACD,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACrC,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,kBAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QACD,sBAAY,CAAC,KAAK,CAAC,GAAG,aAAa,CAAC,MAAM,8BAA8B,CAAC,CAAC;QAI1E,uEAAuE;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACjB,sBAAY,CAAC,YAAY,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,2DAA2D,CAAC,CAAC;QACxH,CAAC;QAED,4EAA4E;QAC5E,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QACxD,sBAAY,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;QAGpD,0FAA0F;QAC1F,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAC1C,IAAI,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAChE,sBAAY,CAAC,KAAK,CAAC,+BAA+B,cAAc,qCAAqC,CAAC,CAAC;QAC3G,CAAC;QAGD,uFAAuF;QACvF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,6FAA6F;QAC7F,IAAI,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtF,mBAAS,CAAC,aAAa,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,sBAAY,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAEvD,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,wBAAwB,UAAU,KAAK,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACR,OAAO,CAAC,GAAG,CAAC,qHAAqH,CAAC,CAAC;QACvI,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QAED,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,kJAAkJ,CAAC,CAAC;YAChK,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC,CAAC;QAE5E,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,WAAmB;QAEtC,OAAO;QACP,sIAAsI;QACtI,uBAAuB;QACvB,oEAAoE;QACpE,mEAAmE;QACnE,+EAA+E;QAE/E,IAAI,GAAG,WAAW,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QAED,+FAA+F;QAC/F,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAE9D,kBAAkB;QAClB,IAAI,IAAA,eAAU,EAAC,WAAW,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,SAAS,WAAW,aAAa,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,EAAE,IAAI,IAAA,eAAU,EAAC,aAAa,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,+CAA+C,WAAW,IAAI,CAAC,CAAC;QACpF,CAAC;QAED,mBAAmB;QACnB,IAAI,WAAW,GAAG,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,iBAAiB,GAAG,qBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC3D,IAAI,eAAe,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,iBAAiB,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC9H,IAAI,kBAAkB,GAAG,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACnE,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,mCAAmC,eAAe,GAAG,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,WAAW,GAAiB,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,eAAe,GAAG,CAAC,CAAC;QAC9E,CAAC;QAED,eAAe;QACf,yFAAyF;QACzF,uFAAuF;QACvF,2EAA2E;QAC3E,IAAI,MAAM,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,QAAQ,CAAC,CAAC;QACvF,IAAI,OAAO,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,OAAO,CAAC,CAAC;QACvF,IAAI,QAAQ,GAAG,qBAAW,CAAC,UAAU,CAAC,qBAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxF,IAAI,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,mBAAmB,GAAG,qBAAW,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEhG,eAAe;QACf,IAAI,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzD,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpF,aAAa;QACb,IAAI,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC3D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,SAAS,CAAC,CAAC;QAE3D,YAAY;QACZ,IAAI,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,EAAE,QAAQ,CAAC,CAAC;QAC5E,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,QAAQ,CAAC,CAAC;QAEzD,sFAAsF;QACtF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;QACtI,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,UAAU,CAAC,CAAC;QAEjE,wFAAwF;QACxF,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;QAC5D,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,gBAAgB,EAAE,QAAQ,CAAC,CAAC;QAE7D,IAAI,YAAY,GAAG,YAAE,CAAC,UAAU,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,CAAC,CAAC,CAAC;YACpF,YAAE,CAAC,YAAY,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;YAChF,EAAE,CAAC;QACP,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC7B,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9D,CAAC;QAED,qBAAqB;QACrB,uJAAuJ;QACvJ,IAAI,aAAa,GAAG,mBAAS,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC9D,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/E,kBAAkB,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;SACrD,CAAC,CAAC;QACH,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,sBAAsB,aAAa,2BAA2B,CAAC,CAAC;QACpF,CAAC;QACD,KAAK,IAAI,YAAY,IAAI,aAAa,EAAE,CAAC;YACrC,oFAAoF;YACpF,iEAAiE;YACjE,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YAC7F,kBAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC;YACD,4EAA4E;YAC5E,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;YAEvD,2CAA2C;YAC3C,MAAM,kBAAkB,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,oBAAoB,CAAC,CAAC;YACrF,kBAAG,CAAC,YAAY,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;YAEtD,IAAI,UAAU,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,UAAU,CAAC;QACtB,CAAC;gBACO,CAAC;YACL,0BAA0B;YAC1B,kBAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,iBAAiB,CAAC,aAAqB;QAElD,MAAM,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,CAAC,CAAC;QAC/E,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,sBAAsB,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC;YACxE,IAAI,IAAA,eAAU,EAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,IAAI,IAAI,eAAe,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBACzF,OAAO,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,MAAM,OAAO,GAAG,mBAAS,CAAC,oBAAoB,CAAC,aAAa,EAAE;YAC1D,kBAAkB,EAAE,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;YAC9F,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SACrC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACd,IAAI,OAAO;eACJ,IAAA,eAAU,EAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,6BAA6B,CAAC,CAAC,KAAK,KAAK;eAC5F,IAAA,eAAU,EAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,oBAAoB,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;YACzF,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,OAAO,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;QAC7E,OAAO,IAAA,eAAU,EAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,MAAc,EAAE,aAAqB,EAAE,KAAc;QAErF,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,6EAA6E;YAC7E,8EAA8E;YAC9E,MAAM,YAAY,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC;YACzE,IAAI,IAAA,eAAU,EAAC,YAAY,CAAC,IAAI,YAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,CAAC;gBAC5F,mBAAS,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC9C,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,sBAAY,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;YACrG,CAAC;YACD,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;YAC7H,OAAO;QACX,CAAC;QAED,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;QAClG,MAAM,oBAAU,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,kGAAkG;IAC1F,MAAM,CAAC,0BAA0B,CAAC,UAAkB;QACxD,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,YAAE,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,cAAc,EAAE,CAAC;gBACzC,mBAAS,CAAC,iBAAiB,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;YACrF,CAAC;QACL,CAAC;IACL,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,mBAA2B,EAAE,QAAgB;QACvE,OAAO;;SAEN,QAAQ,YAAY,mBAAmB;;;;;;;;;iBAS/B,QAAQ;;;;;iBAKR,QAAQ;;CAExB,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,oBAAoB,CAAC,mBAA2B,EAAE,QAAgB;QAC7E,OAAO;;SAEN,QAAQ,YAAY,mBAAmB;;;;;;sDAMM,QAAQ;CAC7D,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,wBAAwB,CAAC,mBAA2B,EAAE,QAAgB;QACjF,OAAO;;SAEN,QAAQ,YAAY,mBAAmB;;;;;;;;;;;;;;;;;;mBAkB7B,QAAQ;;;;;;;;;;;CAW1B,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,QAAoB,EAAE,OAM3D;QAEG,IAAI,MAAM,GAAQ;YACd,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,WAAW,EAAE,QAAQ,CAAC,QAAQ,CAAC,WAAW;YAC1C,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI;SACtD,CAAC;QAEF,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE3D,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrD,CAAC;QAGD,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,IAAI,OAAO,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QAClE,IAAI,OAAO,CAAC,OAAO;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QACtD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,kGAAkG;IAC1F,MAAM,CAAC,iBAAiB,CAAC,YAAiB;QAC9C,IAAI,MAAM,GAA+B,EAAE,CAAC;QAC5C,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACzC,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,iGAAiG;IACjG,MAAM,CAAC,sBAAsB;QACzB,OAAO;YACH,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;YACtC,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,eAAe,EAAE,IAAI;YACrB,4BAA4B,EAAE,IAAI;YAClC,MAAM,EAAE,IAAI;YACZ,gCAAgC,EAAE,IAAI;YACtC,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,IAAI,EAAE,iDAAiD;YAC/D,GAAG,EAAE,WAAW,EAAG,0CAA0C;YAC7D,KAAK,EAAE;gBACH,aAAa;gBACb,MAAM;aACT;SACJ,CAAC;IACN,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,UAAoB,CAAC,KAAK,CAAC;QACrD,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YAC1B,iBAAiB,EAAE,IAAI,CAAC,sBAAsB,EAAE;YAChD,SAAS,EAAE,OAAO;SACrB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAEZ,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD;;;;;;;;;;;;;;;;OAgBG;IACK,MAAM,CAAC,2BAA2B,CAAC,OAAe,EAAE,gBAA0B;QAClF,MAAM,IAAI,GAAG,qBAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACpF,OAAO;;;;;;;;;4CAS6B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC;mCACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;;;;;;;UAU7C,CAAC;IACP,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,aAAqB,EAAE,YAAoC;QACnG,MAAM,IAAI,GAAG,IAAI,GAAG,CAAS,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACxD,KAAK,MAAM,QAAQ,IAAI,MAAM,sBAAY,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;YAC7E,IAAI,CAAC,GAAG,CAAC,qBAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;iBAChE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACrB,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAEzD,MAAM,UAAU,GAAG,MAAM,sBAAY,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAE1E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC3C,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,qBAAW,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC;iBAClE,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YAClE,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,YAAY,KAAK,SAAS,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC7G,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,YAAY,sCAAsC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YAC5H,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,KAAK,GAA2B,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;YAClC,KAAK,CAAC,GAAG,CAAC,GAAG;gBACT,2FAA2F;gBAC3F,4FAA4F;gBAC5F,GAAG,OAAO;gBACV,YAAY;gBACZ,EAAE;aACL,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,uBAAuB,CAAC,OAAe,EAAE,KAA6B;QACjF,MAAM,IAAI,GAAG,qBAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;QACpF,OAAO;;;;gCAIiB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;+BACtB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;;;UAMzC,CAAC;IACP,CAAC;IAEO,MAAM,CAAC,gBAAgB,CAAC,OAAe,EAAE,UAAkB,EAAE,YAAoC,EAAE,gBAA0B;QACjI,IAAI,YAAY,GAAG;;;;;;UAMjB,CAAC;QACH,IAAI,UAAU,GAAG;;;;;;;UAOf,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,YAAY,CAAC;UACtD,IAAI,CAAC,2BAA2B,CAAC,UAAU,EAAE,gBAAgB,CAAC;;;;sBAIlD,OAAO;;UAEnB,YAAY;;GAEnB,CAAC,IAAI,EAAE,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,WAAyB,EAAE,OAAe,EAAE,MAAe,KAAK;QAE3F,sFAAsF;QACtF,2EAA2E;QAC3E,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,YAAY,GAAa,EAAE,CAAC;QAChC,IAAI,GAAG,EAAE,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;YACnF,IAAI,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;gBAC/B,YAAY,CAAC,IAAI,CAAC,6CAA6C,WAAW,CAAC,GAAG,CAAC,WAAW,MAAM,CAAC,CAAC;YACtG,CAAC;YACD,YAAY,CAAC,IAAI,CAAC;;;;;;kBAMZ,CAAC,CAAC;QACZ,CAAC;QACD,IAAI,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,IAAI,OAAO,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAE5E,IAAI,SAAS,GAAG;;;yBAGC,WAAW,CAAC,IAAI,EAAE,OAAO,IAAI,OAAO;;iBAE5C,WAAW,CAAC,IAAI,EAAE,KAAK,IAAI,OAAO;4CACP,WAAW,CAAC,IAAI,EAAE,WAAW,IAAI,EAAE;uCACxC,WAAW,CAAC,IAAI,EAAE,MAAM,IAAI,EAAE;yCAC5B,WAAW,CAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,OAAO,OAAO;;;;0DAI7B,OAAO;;QAEzD,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,iBAAiB,CAAC,WAAyB,EAAE,OAAe;QACvE,IAAI,GAAG,GAAQ,WAAW,CAAC,GAAG,IAAI,EAAE,CAAC;QACrC,IAAI,WAAW,GAAQ;YACnB,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,OAAO;YACnB,uEAAuE;YACvE,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,IAAI;YACX,OAAO,EAAE,YAAY;SACxB,CAAC;QACF,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC9C,WAAW,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACL,CAAC;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACK,MAAM,CAAC,YAAY,CAAC,WAAyB,EAAE,aAAqB,EAAE,aAAqB,EAAE,MAAc;QAC/G,IAAI,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC;QACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,sBAAY,CAAC,YAAY,CAAC,kHAAkH,CAAC,CAAC;YAC9I,OAAO;QACX,CAAC;QACD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACrB,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,GAAG,KAAK,EAAE,IAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACb,CAAC;YACD,IAAI,UAAU,GAAG;gBACb,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,IAAI,GAAG,EAAE,CAAC;gBACpD,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,IAAI,GAAG,EAAE,CAAC;aACvD,CAAC;YACF,IAAI,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,eAAU,EAAC,CAAC,CAAC,CAAC,CAAC;YAChD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,sBAAY,CAAC,YAAY,CAAC,aAAa,GAAG,4GAA4G,CAAC,CAAC;gBACxJ,SAAS;YACb,CAAC;YACD,kBAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC;YAC1E,sBAAY,CAAC,KAAK,CAAC,aAAa,GAAG,uBAAuB,CAAC,CAAC;QAChE,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,MAAM,CAAC,mBAAmB,CAAC,OAAe,EAAE,OAAe;QAC/D,IAAI,KAAK,GAAG,mBAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE;YAChD,+EAA+E;YAC/E,gBAAgB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;SACtC,CAAC;YACE,sFAAsF;YACtF,iDAAiD;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;QAC/C,qFAAqF;QACrF,IAAI,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,GAAG,qBAAW,CAAC,cAAc,CAAC,qBAAW,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAE9H,IAAI,IAAI,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,YAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC;QACD,IAAI,SAAS,GAAG,aAAa,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QAE9E,IAAI,EAAE,GAAG;;;qBAGI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;mBAC3B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCnD,CAAC,IAAI,EAAE,CAAC;QACD,mBAAS,CAAC,aAAa,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,OAAO,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC,MAAM,CAAC;IAC3B,CAAC;IAEO,MAAM,CAAC,aAAa,CAAC,aAAqB,EAAE,OAAe;QAC/D,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,YAAE,CAAC,YAAY,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,CAAC,EAAE,OAAO,CAAC,CAAE,CAAC,CAAC;QACrH,sBAAY,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAGrD,IAAI,OAAO,GAAQ;YACf,MAAM,EAAE,OAAO;YACf,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,OAAO;YAClB,8EAA8E;YAC9E,oFAAoF;YACpF,qFAAqF;YACrF,sDAAsD;YACtD,MAAM,EAAE,UAAU,CAAC,IAAI,IAAI,UAAU;YACrC,SAAS,EAAE;gBACP,KAAK,EAAE,MAAM;gBACb,+EAA+E;gBAC/E,oFAAoF;gBACpF,OAAO,EAAE,YAAY;gBACrB,SAAS,EAAE,cAAc;aAC5B;YACD,cAAc,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE;YAC7C,iBAAiB,EAAE,UAAU,CAAC,eAAe,IAAI,EAAE;SACtD,CAAC;QACF,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC1C,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE,CAAC;YACnC,IAAI,OAAO,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,SAAS,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,cAAc,WAAW,qGAAqG,CAAC,CAAC;YACpJ,CAAC;QACL,CAAC;QACD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,uDAAuD;YACvD,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC;QAC/C,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,YAAY,CAAC,uCAAuC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;QACzD,CAAC;aACI,CAAC;YACF,sBAAY,CAAC,YAAY,CAAC,gDAAgD,OAAO,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;QAC1H,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;IAGD;;;;;;;;;;;;;;;;OAgBG;IACH,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,WAAmB,EAAE,OAA8D;QAExG,+FAA+F;QAC/F,WAAW,GAAG,qBAAW,CAAC,aAAa,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC;QAE9D,IAAI,IAAA,eAAU,EAAC,WAAW,CAAC,KAAK,KAAK,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,gBAAgB,WAAW,aAAa,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,CAAC;QACb,CAAC;QAED,IAAI,aAAa,GAAG,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,aAAa,KAAK,EAAE,IAAI,IAAA,eAAU,EAAC,aAAa,CAAC,KAAK,KAAK,EAAE,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,sDAAsD,WAAW,IAAI,CAAC,CAAC,CAAC;YAC9F,OAAO,CAAC,CAAC;QACb,CAAC;QAED,yCAAyC;QACzC,IAAI,WAAW,GAAG,qBAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,eAAe,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,qBAAW,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC/I,IAAI,IAAA,eAAU,EAAC,eAAe,CAAC,KAAK,KAAK,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,0CAA0C,eAAe,GAAG,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,CAAC;QACb,CAAC;QACD,IAAI,WAAW,GAAiB,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;QACtF,IAAI,OAAO,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,EAAE,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,eAAe,GAAG,CAAC,CAAC,CAAC;YACxF,OAAO,CAAC,CAAC;QACb,CAAC;QAED,mFAAmF;QACnF,oFAAoF;QACpF,IAAI,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACpC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC3B,UAAU,GAAG,MAAM,sBAAY,CAAC,iBAAiB,EAAE,CAAC;YACpD,sBAAY,CAAC,KAAK,CAAC,8CAA8C,UAAU,4BAA4B,CAAC,CAAC;YACzG,IAAI,MAAM,sBAAY,CAAC,gBAAgB,EAAE,KAAK,KAAK,EAAE,CAAC;gBAClD,sBAAY,CAAC,YAAY,CAAC,mFAAmF,CAAC,CAAC;YACnH,CAAC;QACL,CAAC;QAED,oFAAoF;QACpF,IAAI,SAAS,GAAe,EAAE,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACrG,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,EAAE;YAC9D,OAAO,EAAE,OAAO;YAChB,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,UAAU;SACzB,CAAC,CAAC;QAEH,gGAAgG;QAChG,IAAI,MAAM,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,aAAa,eAAe,OAAO,MAAM,CAAC,CAAC;QAErF,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACrC,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClE,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC3F,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,aAAa,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5F,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,YAAY,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAEzE,oFAAoF;QACpF,uFAAuF;QACvF,oFAAoF;QACpF,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC;gBAClC,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,IAAI,EAAE,CAAC;gBACjD,kBAAkB;gBAClB,mBAAmB;gBACnB,uBAAuB;aAC1B,CAAC,CAAC,CAAC;QACJ,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAClE,mBAAS,CAAC,aAAa,CAAC,MAAM,GAAG,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC,sBAAsB,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QAC3O,sBAAY,CAAC,KAAK,CAAC,wBAAwB,MAAM,IAAI,CAAC,CAAC;QAEvD,gGAAgG;QAChG,mBAAS,CAAC,iBAAiB,CAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,qBAAqB,CAAC,CAAC,CAAC;QAEvF,uEAAuE;QACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpE,IAAI,SAAS,GAAG,EAAE,EAAE,CAAC;YACjB,sBAAY,CAAC,YAAY,CAAC,QAAQ,OAAO,CAAC,QAAQ,CAAC,IAAI,gEAAgE,CAAC,CAAC;QAC7H,CAAC;QAED,sFAAsF;QACtF,sFAAsF;QACtF,iCAAiC;QACjC,IAAI,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,IAAA,eAAU,EAAC,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,eAAe,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,MAAM,WAAW,GAAG,MAAM,oBAAU,CAAC,GAAG,CAAC,MAAM,EAAE,kCAAkC,CAAC,CAAC;gBACrF,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,wCAAwC,WAAW,IAAI,CAAC,CAAC,CAAC;oBAChF,OAAO,WAAW,CAAC;gBACvB,CAAC;YACL,CAAC;YACD,OAAO,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,MAAM,gCAAgC,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,OAAO,oBAAoB,aAAa,MAAM,CAAC,CAAC,CAAC;QAErG,yFAAyF;QACzF,yFAAyF;QACzF,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,WAAW,GAAG,SAAS,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,WAAW,mBAAmB,CAAC;QACxG,OAAO,MAAM,oBAAU,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,mGAAmG;IAC3F,MAAM,CAAC,iBAAiB;QAC5B,OAAO;;;;;;;;;;;;;;;;;;CAkBd,CAAC,IAAI,EAAE,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,mBAAmB,CAAC,aAAqB,EAAE,MAAc,EAAE,WAAmB,EAAE,YAAiB,EAAE,OAAyC,EAAE,iBAA2B,EAAE,eAAuC,EAAE,EAAE,mBAA6B,EAAE;QAEhQ,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAEvD,OAAO;;;;;uBAKQ,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;;;;YAIhD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;;;;;;;;;;;;UAY7B,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,YAAY,CAAC;UACzD,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,gBAAgB,CAAC;;;;;2CAKhC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;;;;;;;;kCAQrC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;mBAC3C,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC;;;gBAGpC,OAAO,CAAC,IAAI;;gBAEZ,OAAO,CAAC,IAAI,KAAK,KAAK;;;sBAGhB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;;;GAGjD,CAAC,IAAI,EAAE,CAAC;IACP,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,UAAkB;QACvC,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,UAAkB;QACnC,IAAI,QAAQ,GAAG,qBAAW,CAAC,aAAa,CAAC,GAAG,UAAU,gBAAgB,CAAC,CAAC;QACxE,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CAAC,oCAAoC,QAAQ,GAAG,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,IAAI,GAAG,IAAA,iBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAA8B,CAAC;IACzD,CAAC;;AApqCL,6BAqqCC"}
@@ -198,7 +198,7 @@ class ProjectTemplates {
198
198
  * and the processes cannot drift apart silently.
199
199
  */
200
200
  static createTodolistApi() {
201
- return this.lines(`import { getCodenotch } from '@codenotch/codenotch.react';`, `import type { ITodoList } from '../tables/todolist';`, `import type { ITodo } from '../tables/todo';`, ``, `// TODO: startProcess() is not implemented yet in @codenotch/codenotch.react 2.0.4 (it throws 'Not implemented.').`, `// The calls below are typed against the processes of ./processes and will work as is once it lands;`, `// until then the pages show the error it raises.`, `async function call<TInput, TOutput>(processId: string, input: TInput): Promise<TOutput> {`, `\tconst result = await getCodenotch().startProcess<string, TInput, TOutput>(processId, input);`, `\tif (result.isError) {`, `\t\tthrow new Error(result.errorMessage);`, `\t}`, `\treturn result.output;`, `}`, ``, `export const listTodoLists = () => call<{}, ITodoList[]>('ListTodoLists', {});`, `export const createTodoList = (name: string) => call<{ name: string }, { id: string }>('CreateTodoList', { name });`, `export const deleteTodoList = (listId: string) => call<{ listId: string }, { deleted: boolean }>('DeleteTodoList', { listId });`, ``, `export const listTodos = (listId: string) => call<{ listId: string }, ITodo[]>('ListTodos', { listId });`, `export const createTodo = (listId: string, title: string) => call<{ listId: string; title: string }, { id: string }>('CreateTodo', { listId, title });`, `export const toggleTodo = (todoId: string) => call<{ todoId: string }, { done: boolean }>('ToggleTodo', { todoId });`, `export const deleteTodo = (todoId: string) => call<{ todoId: string }, { deleted: boolean }>('DeleteTodo', { todoId });`, ``);
201
+ return this.lines(`import { getCodenotch } from '@codenotch/codenotch.react';`, `import type { ITodoList } from '../tables/todolist';`, `import type { ITodo } from '../tables/todo';`, ``, `// TODO: startProcess() is not implemented yet in @codenotch/codenotch.react 2.0.5 (it throws 'Not implemented.').`, `// The calls below are typed against the processes of ./processes and will work as is once it lands;`, `// until then the pages show the error it raises.`, `async function call<TInput, TOutput>(processId: string, input: TInput): Promise<TOutput> {`, `\tconst result = await getCodenotch().startProcess<string, TInput, TOutput>(processId, input);`, `\tif (result.isError) {`, `\t\tthrow new Error(result.errorMessage);`, `\t}`, `\treturn result.output;`, `}`, ``, `export const listTodoLists = () => call<{}, ITodoList[]>('ListTodoLists', {});`, `export const createTodoList = (name: string) => call<{ name: string }, { id: string }>('CreateTodoList', { name });`, `export const deleteTodoList = (listId: string) => call<{ listId: string }, { deleted: boolean }>('DeleteTodoList', { listId });`, ``, `export const listTodos = (listId: string) => call<{ listId: string }, ITodo[]>('ListTodos', { listId });`, `export const createTodo = (listId: string, title: string) => call<{ listId: string; title: string }, { id: string }>('CreateTodo', { listId, title });`, `export const toggleTodo = (todoId: string) => call<{ todoId: string }, { done: boolean }>('ToggleTodo', { todoId });`, `export const deleteTodo = (todoId: string) => call<{ todoId: string }, { deleted: boolean }>('DeleteTodo', { todoId });`, ``);
202
202
  }
203
203
  static createTodolistApp() {
204
204
  return this.lines(`import React from 'react';`, `import { HashRouter, Route, Routes } from 'react-router';`, `import './${DEFAULT_APP_NAME}.scss';`, `import Layout from './components/Layout';`, `import TodoListsPage from './pages/TodoListsPage';`, `import TodoListPage from './pages/TodoListPage';`, ``, `// HashRouter keeps the routing client side, whatever URL the runtime serves the app from`, `const ${DEFAULT_APP_NAME}: React.FC<{}> = () => {`, `\treturn <HashRouter>`, `\t\t<Routes>`, `\t\t\t<Route element={<Layout />}>`, `\t\t\t\t<Route index element={<TodoListsPage />} />`, `\t\t\t\t<Route path="lists/:listId" element={<TodoListPage />} />`, `\t\t\t</Route>`, `\t\t</Routes>`, `\t</HashRouter>;`, `};`, ``, `export default ${DEFAULT_APP_NAME};`, ``);
@@ -213,7 +213,7 @@ class ProjectTemplates {
213
213
  return this.lines(`import React, { useEffect, useState } from 'react';`, `import { Link, useParams } from 'react-router';`, `import type { ITodo } from '../../tables/todo';`, `import globals from '../../globals.i18n';`, `import { createTodo, deleteTodo, listTodos, toggleTodo } from '../api';`, ``, `const TodoListPage: React.FC<{}> = () => {`, `\tconst { listId } = useParams<{ listId: string }>();`, `\tconst [todos, setTodos] = useState<ITodo[] | undefined>(undefined);`, `\tconst [title, setTitle] = useState('');`, `\tconst [error, setError] = useState<string | undefined>(undefined);`, ``, `\tconst refresh = () => listTodos(listId!).then(setTodos).catch(e => setError(String(e)));`, ``, `\tuseEffect(() => { refresh(); }, [listId]);`, ``, `\t// Every change goes through a process, then the list is read again: the server is the truth`, `\tconst run = async (action: () => Promise<unknown>) => {`, `\t\ttry {`, `\t\t\tawait action();`, `\t\t\tawait refresh();`, `\t\t}`, `\t\tcatch (e) {`, `\t\t\tsetError(String(e));`, `\t\t}`, `\t};`, ``, `\tconst add = (event: React.FormEvent) => {`, `\t\tevent.preventDefault();`, `\t\tif (title.trim() !== '') {`, `\t\t\trun(() => createTodo(listId!, title.trim())).then(() => setTitle(''));`, `\t\t}`, `\t};`, ``, `\tconst done = todos?.filter(todo => todo.done).length ?? 0;`, ``, `\treturn <div>`, `\t\t<Link to="/" className="text-sm underline">{globals.backToLists()}</Link>`, `\t\t<h1 className="mt-2 text-2xl font-bold">{globals.appTitle()}</h1>`, `\t\t{todos !== undefined && <p className="text-sm text-gray-500">{globals.todoCount(String(todos.length), String(done))}</p>}`, ``, `\t\t<form onSubmit={add} className="mt-4 flex gap-2">`, `\t\t\t<input value={title} onChange={e => setTitle(e.target.value)} placeholder={globals.newTodoPlaceholder()}`, `\t\t\t\tclassName="flex-1 rounded border border-gray-300 px-3 py-2 dark:border-gray-600 dark:bg-gray-800" />`, `\t\t\t<button type="submit" className="rounded bg-blue-600 px-4 py-2 text-white hover:bg-blue-700">{globals.add()}</button>`, `\t\t</form>`, ``, `\t\t{error && <p className="mt-4 rounded bg-red-100 p-3 text-red-800 dark:bg-red-900 dark:text-red-200">{globals.error(error)}</p>}`, `\t\t{todos === undefined && !error && <p className="mt-4 text-gray-500">{globals.loading()}</p>}`, `\t\t{todos !== undefined && todos.length === 0 && <p className="mt-4 text-gray-500">{globals.noTodos()}</p>}`, ``, `\t\t<ul className="mt-4 divide-y divide-gray-200 dark:divide-gray-700">`, `\t\t\t{todos?.map(todo =>`, `\t\t\t\t<li key={todo.id} className="flex items-center gap-3 py-3">`, `\t\t\t\t\t<input type="checkbox" checked={todo.done} onChange={() => run(() => toggleTodo(todo.id))} />`, `\t\t\t\t\t<span className={'flex-1 ' + (todo.done ? 'text-gray-400 line-through' : '')}>{todo.title}</span>`, `\t\t\t\t\t<button onClick={() => run(() => deleteTodo(todo.id))} className="text-sm text-red-600 hover:underline">{globals.delete()}</button>`, `\t\t\t\t</li>)}`, `\t\t</ul>`, `\t</div>;`, `};`, ``, `export default TodoListPage;`, ``);
214
214
  }
215
215
  static createTodolistReadme() {
216
- return this.lines(``, `## The todo list template`, ``, `| Path | Role |`, `| --- | --- |`, `| \`tables/todolist.ts\`, \`tables/todo.ts\` | the two tables, a list having many todos |`, `| \`processes/todolists.ts\`, \`processes/todos.ts\` | one process per operation, each exposed as an API endpoint |`, `| \`queries/*.cnql\` | the read queries the processes run |`, `| \`globals.i18n.csv\` | the texts of the app in every language of the manifest |`, `| \`apps/api.ts\` | the typed calls the pages make to the processes |`, `| \`apps/pages/\` | the list of lists, and the todos of one list |`, `| \`db-schema.xml\`, \`db-schema.d.ts\`, \`globals.i18n.ts\`, \`openapi.json\` | generated from the files above, never edit them |`, ``, `After a change to the tables, the translations or the processes, regenerate the derived files:`, ``, '```sh', `cn generate dbcontext -f .`, `cn generate i18n -f globals.i18n.csv`, `cn generate openapi -f .`, '```', ``, `Two points wait for the runtime API and are marked \`TODO\` in the sources: the client call of a`, `process (\`apps/api.ts\`) and the filter of a query (\`queries/todos-of-list.cnql\`). The names the`, `tables are reached under from a process come from the generated \`db-schema.d.ts\` and autocomplete.`, ``);
216
+ return this.lines(``, `## The todo list template`, ``, `| Path | Role |`, `| --- | --- |`, `| \`tables/todolist.ts\`, \`tables/todo.ts\` | the two tables, a list having many todos |`, `| \`processes/todolists.ts\`, \`processes/todos.ts\` | one process per operation, each exposed as an API endpoint |`, `| \`queries/*.cnql\` | the read queries the processes run |`, `| \`globals.i18n.csv\` | the texts of the app in every language of the manifest |`, `| \`apps/api.ts\` | the typed calls the pages make to the processes |`, `| \`apps/pages/\` | the list of lists, and the todos of one list |`, `| \`db-schema.xml\`, \`db-schema.d.ts\`, \`globals.i18n.ts\`, \`openapi.json\` | generated from the files above, never edit them |`, ``, `After a change to the tables, the translations or the processes, regenerate the derived files:`, ``, '```sh', `cn generate dbcontext -f .`, `cn generate i18n -f globals.i18n.csv`, `cn generate openapi -f .`, `cn project refresh`, '```', ``, `The app itself is worked on with \`cn react dev\`: it hot reloads the sources and calls the`, `processes deployed on the runtime, which \`cn project refresh\` keeps up to date.`, ``, `Two points wait for the runtime API and are marked \`TODO\` in the sources: the client call of a`, `process (\`apps/api.ts\`) and the filter of a query (\`queries/todos-of-list.cnql\`). The names the`, `tables are reached under from a process come from the generated \`db-schema.d.ts\` and autocomplete.`, ``);
217
217
  }
218
218
  // ------------------------------------------------------------------ api
219
219
  /**
@@ -264,7 +264,7 @@ class ProjectTemplates {
264
264
  return this.lines(`<!-- TODO: keep the products whose Stock is below the 'threshold' parameter. The filtering syntax of CNQL is not settled yet. -->`, `<CNQL xmlns="${serviceName}" PageSize="100" PageIndex="0">`, ` <Product Ref="results">`, ` <Id />`, ` <Sku />`, ` <Stock />`, ` </Product>`, `</CNQL>`, ``);
265
265
  }
266
266
  static createApiReadme() {
267
- return this.lines(``, `## The API template`, ``, `This project has no app: it exposes the endpoints of \`openapi.json\` and nothing else, so`, `\`package.json\` carries no React at all.`, ``, `| Path | Role |`, `| --- | --- |`, `| \`tables/product.ts\` | the catalog table |`, `| \`processes/products.ts\` | one process per operation, each exposed as an endpoint |`, `| \`processes/maintenance.ts\` | the health check, and a report the runtime schedules every morning |`, `| \`queries/*.cnql\` | the read queries the processes run |`, `| \`db-schema.xml\`, \`db-schema.d.ts\`, \`openapi.json\` | generated from the files above, never edit them |`, ``, `After a change to the table or the processes, regenerate the derived files:`, ``, '```sh', `cn generate dbcontext -f .`, `cn generate openapi -f .`, '```', ``, `One point waits for the runtime API and is marked \`TODO\` in the sources: the filters of the`, `queries (\`queries/*.cnql\`). The name the table is reached under from a process comes from the`, `generated \`db-schema.d.ts\` and autocompletes.`, ``);
267
+ return this.lines(``, `## The API template`, ``, `This project has no app: it exposes the endpoints of \`openapi.json\` and nothing else, so`, `\`package.json\` carries no React at all.`, ``, `| Path | Role |`, `| --- | --- |`, `| \`tables/product.ts\` | the catalog table |`, `| \`processes/products.ts\` | one process per operation, each exposed as an endpoint |`, `| \`processes/maintenance.ts\` | the health check, and a report the runtime schedules every morning |`, `| \`queries/*.cnql\` | the read queries the processes run |`, `| \`db-schema.xml\`, \`db-schema.d.ts\`, \`openapi.json\` | generated from the files above, never edit them |`, ``, `After a change to the table or the processes, regenerate the derived files:`, ``, '```sh', `cn generate dbcontext -f .`, `cn generate openapi -f .`, `cn project refresh`, '```', ``, `One point waits for the runtime API and is marked \`TODO\` in the sources: the filters of the`, `queries (\`queries/*.cnql\`). The name the table is reached under from a process comes from the`, `generated \`db-schema.d.ts\` and autocompletes.`, ``);
268
268
  }
269
269
  // ------------------------------------------------------------------ helpers
270
270
  /** Joins lines, dropping the undefined ones so that optional lines read naturally */