@antelopejs/core 1.4.6 → 1.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/core/cli/commands/module/init.js +1 -1
  2. package/dist/core/cli/commands/module/init.js.map +1 -1
  3. package/dist/core/cli/commands/project/start.js +5 -1
  4. package/dist/core/cli/commands/project/start.js.map +1 -1
  5. package/dist/core/cli/full-cli.d.ts +3 -0
  6. package/dist/core/cli/full-cli.js +68 -0
  7. package/dist/core/cli/full-cli.js.map +1 -0
  8. package/dist/core/cli/index.d.ts +2 -3
  9. package/dist/core/cli/index.js +56 -69
  10. package/dist/core/cli/index.js.map +1 -1
  11. package/dist/core/cli/package-manager.d.ts +3 -1
  12. package/dist/core/cli/package-manager.js +50 -14
  13. package/dist/core/cli/package-manager.js.map +1 -1
  14. package/dist/core/cli/production-start.d.ts +10 -0
  15. package/dist/core/cli/production-start.js +87 -0
  16. package/dist/core/cli/production-start.js.map +1 -0
  17. package/dist/core/interface-registry.d.ts +6 -1
  18. package/dist/core/interface-registry.js +45 -2
  19. package/dist/core/interface-registry.js.map +1 -1
  20. package/dist/core/module-context.d.ts +7 -0
  21. package/dist/core/module-context.js +60 -0
  22. package/dist/core/module-context.js.map +1 -0
  23. package/dist/core/module-lifecycle.d.ts +7 -1
  24. package/dist/core/module-lifecycle.js +47 -10
  25. package/dist/core/module-lifecycle.js.map +1 -1
  26. package/dist/core/module-manager.d.ts +21 -4
  27. package/dist/core/module-manager.js +333 -129
  28. package/dist/core/module-manager.js.map +1 -1
  29. package/dist/core/module-registry.d.ts +1 -0
  30. package/dist/core/module-registry.js +3 -0
  31. package/dist/core/module-registry.js.map +1 -1
  32. package/dist/core/module-tracker.d.ts +1 -0
  33. package/dist/core/module-tracker.js +5 -1
  34. package/dist/core/module-tracker.js.map +1 -1
  35. package/dist/core/module.d.ts +3 -1
  36. package/dist/core/module.js +51 -28
  37. package/dist/core/module.js.map +1 -1
  38. package/dist/core/resolution/interface-resolution.js +7 -13
  39. package/dist/core/resolution/interface-resolution.js.map +1 -1
  40. package/dist/core/resolution/package-resolution.d.ts +14 -0
  41. package/dist/core/resolution/package-resolution.js +95 -0
  42. package/dist/core/resolution/package-resolution.js.map +1 -0
  43. package/dist/core/resolution/path-mapper.js +1 -1
  44. package/dist/core/resolution/path-mapper.js.map +1 -1
  45. package/dist/core/resolution/resolver-detour.d.ts +2 -2
  46. package/dist/core/resolution/resolver-detour.js +114 -22
  47. package/dist/core/resolution/resolver-detour.js.map +1 -1
  48. package/dist/core/resolution/resolver.d.ts +34 -0
  49. package/dist/core/resolution/resolver.js +233 -8
  50. package/dist/core/resolution/resolver.js.map +1 -1
  51. package/dist/core/resolution/stub-interface-runtime.js +11 -1
  52. package/dist/core/resolution/stub-interface-runtime.js.map +1 -1
  53. package/dist/core/runtime/dev-server-registry.js +4 -2
  54. package/dist/core/runtime/dev-server-registry.js.map +1 -1
  55. package/dist/core/runtime/launch-sequence.js +78 -11
  56. package/dist/core/runtime/launch-sequence.js.map +1 -1
  57. package/dist/core/runtime/module-loading.d.ts +1 -0
  58. package/dist/core/runtime/module-loading.js +92 -25
  59. package/dist/core/runtime/module-loading.js.map +1 -1
  60. package/dist/core/runtime/project-launch.d.ts +5 -0
  61. package/dist/core/runtime/project-launch.js +184 -0
  62. package/dist/core/runtime/project-launch.js.map +1 -0
  63. package/dist/core/runtime/runtime-bootstrap.d.ts +1 -0
  64. package/dist/core/runtime/runtime-bootstrap.js +11 -2
  65. package/dist/core/runtime/runtime-bootstrap.js.map +1 -1
  66. package/dist/core/shutdown/shutdown-manager.js +8 -2
  67. package/dist/core/shutdown/shutdown-manager.js.map +1 -1
  68. package/dist/core/test/test-context.d.ts +1 -1
  69. package/dist/core/test/test-context.js +1 -1
  70. package/dist/core/test/test-context.js.map +1 -1
  71. package/dist/core/test/test-module.js +18 -13
  72. package/dist/core/test/test-module.js.map +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.js +13 -113
  75. package/dist/index.js.map +1 -1
  76. package/dist/types/module.types.d.ts +1 -1
  77. package/package.json +4 -3
@@ -1,4 +1,37 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
2
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
37
  };
@@ -10,7 +43,6 @@ const logging_1 = require("../../logging");
10
43
  const filesystem_1 = require("../filesystem");
11
44
  const module_manager_1 = require("../module-manager");
12
45
  const shutdown_1 = require("../shutdown");
13
- const version_checker_1 = require("../version-checker");
14
46
  const build_runtime_1 = require("./build-runtime");
15
47
  const dev_server_registry_1 = require("./dev-server-registry");
16
48
  const module_loading_1 = require("./module-loading");
@@ -44,7 +76,8 @@ const prepareFromConfig = async (projectFolder, env) => {
44
76
  logging: normalizedConfig.logging,
45
77
  loadContext,
46
78
  verify: async () => {
47
- (0, version_checker_1.warnOutdatedModules)(await (0, version_checker_1.checkOutdatedModules)(normalizedConfig.modules));
79
+ const { checkOutdatedModules, warnOutdatedModules } = await Promise.resolve().then(() => __importStar(require("../version-checker")));
80
+ warnOutdatedModules(await checkOutdatedModules(normalizedConfig.modules));
48
81
  },
49
82
  createEntries: async () => (0, module_loading_1.buildModuleConfigs)(normalizedConfig, await loadContext()),
50
83
  };
@@ -70,7 +103,21 @@ const prepareFromArtifact = async (projectFolder, env) => {
70
103
  exports.prepareFromArtifact = prepareFromArtifact;
71
104
  async function runLaunchSequence(prepare, projectFolder, env, options) {
72
105
  const shutdownManager = new shutdown_1.ShutdownManager();
106
+ const manager = new module_manager_1.ModuleManager();
73
107
  (0, runtime_bootstrap_1.setupProcessHandlers)(shutdownManager);
108
+ try {
109
+ return await completeLaunchSequence(prepare, projectFolder, env, options, shutdownManager, manager);
110
+ }
111
+ catch (error) {
112
+ const cleanupErrors = await cleanupFailedLaunch(manager, shutdownManager);
113
+ (0, runtime_bootstrap_1.releaseProcessShutdownManager)(shutdownManager);
114
+ if (cleanupErrors.length === 0) {
115
+ throw error;
116
+ }
117
+ throw new AggregateError([...unpackErrors(error), ...cleanupErrors], "Failed to launch project");
118
+ }
119
+ }
120
+ async function completeLaunchSequence(prepare, projectFolder, env, options, shutdownManager, manager) {
74
121
  const project = await prepare(projectFolder, env);
75
122
  (0, logging_1.setupAntelopeProjectLogging)(project.logging);
76
123
  (0, runtime_bootstrap_1.applyVerboseChannels)(options.verbose);
@@ -82,15 +129,7 @@ async function runLaunchSequence(prepare, projectFolder, env, options) {
82
129
  fs: project.fs,
83
130
  shutdownManager,
84
131
  });
85
- const manager = await (0, runtime_bootstrap_1.withRaisedMaxListeners)(async () => {
86
- const moduleManager = new module_manager_1.ModuleManager();
87
- (0, module_loading_1.registerCoreModuleInterface)(moduleManager, project.loadContext);
88
- await (0, module_loading_1.registerCoreInterfaces)(moduleManager);
89
- moduleManager.addModules(await project.createEntries());
90
- (0, module_loading_1.ensureGraphIsValid)(moduleManager);
91
- await (0, module_loading_1.constructAndStartModules)(moduleManager);
92
- return moduleManager;
93
- });
132
+ await startProjectModules(manager, project);
94
133
  return {
95
134
  manager,
96
135
  dev: project.dev,
@@ -99,4 +138,32 @@ async function runLaunchSequence(prepare, projectFolder, env, options) {
99
138
  shutdownManager,
100
139
  };
101
140
  }
141
+ async function startProjectModules(moduleManager, project) {
142
+ await (0, runtime_bootstrap_1.withRaisedMaxListeners)(async () => {
143
+ (0, module_loading_1.registerCoreModuleInterface)(moduleManager, project.loadContext);
144
+ await (0, module_loading_1.registerCoreInterfaces)(moduleManager);
145
+ moduleManager.addModules(await project.createEntries());
146
+ (0, module_loading_1.ensureGraphIsValid)(moduleManager);
147
+ await (0, module_loading_1.constructAndStartModules)(moduleManager);
148
+ });
149
+ }
150
+ async function cleanupFailedLaunch(manager, shutdownManager) {
151
+ const errors = [];
152
+ try {
153
+ await manager.destroyAll();
154
+ }
155
+ catch (error) {
156
+ errors.push(...unpackErrors(error));
157
+ }
158
+ try {
159
+ await shutdownManager.shutdown();
160
+ }
161
+ catch (error) {
162
+ errors.push(...unpackErrors(error));
163
+ }
164
+ return errors;
165
+ }
166
+ function unpackErrors(error) {
167
+ return error instanceof AggregateError ? error.errors : [error];
168
+ }
102
169
  //# sourceMappingURL=launch-sequence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"launch-sequence.js","sourceRoot":"","sources":["../../../src/core/runtime/launch-sequence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch-sequence.js","sourceRoot":"","sources":["../../../src/core/runtime/launch-sequence.ts"],"names":[],"mappings":"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"}
@@ -11,4 +11,5 @@ export declare function getWatchDirs(source: ModuleSource): string[];
11
11
  export declare function reloadWatchedModule(manager: ModuleManager, moduleId: string, loaderContext: LoaderContext): Promise<void>;
12
12
  export declare function loadModuleEntriesForManager(manager: ModuleManager, config: NormalizedLoadedConfig, runtimeInterface: boolean, loaderContext?: LoaderContext): Promise<ModuleManifestEntry[]>;
13
13
  export declare function constructAndStartModules(manager: ModuleManager): Promise<void>;
14
+ export declare function destroyModulesAfterFailure(manager: ModuleManager, error: unknown): Promise<never>;
14
15
  export declare function ensureGraphIsValid(manager: ModuleManager): void;
@@ -44,23 +44,21 @@ exports.getWatchDirs = getWatchDirs;
44
44
  exports.reloadWatchedModule = reloadWatchedModule;
45
45
  exports.loadModuleEntriesForManager = loadModuleEntriesForManager;
46
46
  exports.constructAndStartModules = constructAndStartModules;
47
+ exports.destroyModulesAfterFailure = destroyModulesAfterFailure;
47
48
  exports.ensureGraphIsValid = ensureGraphIsValid;
48
49
  const node_path_1 = __importDefault(require("node:path"));
49
50
  const coreInterfaceBeta = __importStar(require("@antelopejs/interface-core"));
50
51
  const logging_1 = require("@antelopejs/interface-core/logging");
51
52
  const moduleInterfaceBeta = __importStar(require("@antelopejs/interface-core/modules"));
53
+ const types_1 = require("../../types");
52
54
  const terminal_display_1 = require("../cli/terminal-display");
53
- const git_1 = require("../downloaders/git");
54
- const local_1 = require("../downloaders/local");
55
- const local_folder_1 = require("../downloaders/local-folder");
56
- const package_1 = require("../downloaders/package");
57
- const registry_1 = require("../downloaders/registry");
58
55
  const filesystem_1 = require("../filesystem");
59
56
  const module_1 = require("../module");
60
57
  const module_cache_1 = require("../module-cache");
61
58
  const module_manifest_1 = require("../module-manifest");
62
59
  const interface_resolution_1 = require("../resolution/interface-resolution");
63
60
  const Logger = new logging_1.Logging.Channel("loader");
61
+ const CORE_MODULE_ID = "antelopejs";
64
62
  const MODULE_STATUS_MAP = {
65
63
  loaded: "loaded",
66
64
  constructed: "constructed",
@@ -101,13 +99,20 @@ function toModuleSource(source) {
101
99
  return source;
102
100
  }
103
101
  async function createLoaderContext(config, fs = new filesystem_1.NodeFileSystem()) {
102
+ const [{ DownloaderRegistry }, git, local, localFolder, packageDownloader] = await Promise.all([
103
+ Promise.resolve().then(() => __importStar(require("../downloaders/registry"))),
104
+ Promise.resolve().then(() => __importStar(require("../downloaders/git"))),
105
+ Promise.resolve().then(() => __importStar(require("../downloaders/local"))),
106
+ Promise.resolve().then(() => __importStar(require("../downloaders/local-folder"))),
107
+ Promise.resolve().then(() => __importStar(require("../downloaders/package"))),
108
+ ]);
104
109
  const cache = new module_cache_1.ModuleCache(config.cacheFolder, fs);
105
110
  await cache.load();
106
- const registry = new registry_1.DownloaderRegistry();
107
- (0, local_1.registerLocalDownloader)(registry, { fs });
108
- (0, local_folder_1.registerLocalFolderDownloader)(registry, { fs });
109
- (0, package_1.registerPackageDownloader)(registry, { fs });
110
- (0, git_1.registerGitDownloader)(registry, { fs });
111
+ const registry = new DownloaderRegistry();
112
+ local.registerLocalDownloader(registry, { fs });
113
+ localFolder.registerLocalFolderDownloader(registry, { fs });
114
+ packageDownloader.registerPackageDownloader(registry, { fs });
115
+ git.registerGitDownloader(registry, { fs });
111
116
  return {
112
117
  fs,
113
118
  cache,
@@ -116,7 +121,7 @@ async function createLoaderContext(config, fs = new filesystem_1.NodeFileSystem(
116
121
  };
117
122
  }
118
123
  function registerCoreModuleInterface(manager, loadContext) {
119
- void coreInterfaceBeta.ImplementInterface(moduleInterfaceBeta, {
124
+ moduleInterfaceBeta.RunWithModuleContext({ module: CORE_MODULE_ID, provider: CORE_MODULE_ID }, () => coreInterfaceBeta.ImplementInterface(moduleInterfaceBeta, {
120
125
  ListModules: async () => manager.listModules(),
121
126
  GetModuleInfo: async (moduleId) => {
122
127
  const entry = manager.getModuleEntry(moduleId);
@@ -147,12 +152,12 @@ function registerCoreModuleInterface(manager, loadContext) {
147
152
  const created = manager.addModules(manifests.map((manifest) => ({ manifest, config: moduleConfig })));
148
153
  await manager.constructModules(created);
149
154
  if (autostart) {
150
- manager.startModules(created);
155
+ await manager.startModules(created);
151
156
  }
152
157
  return created.map(({ module }) => module.id);
153
158
  },
154
159
  StartModule: async (moduleId) => {
155
- manager.getModule(moduleId)?.start();
160
+ await manager.getModule(moduleId)?.start();
156
161
  },
157
162
  StopModule: async (moduleId) => {
158
163
  await manager.getModule(moduleId)?.stop();
@@ -163,7 +168,7 @@ function registerCoreModuleInterface(manager, loadContext) {
163
168
  ReloadModule: async (moduleId) => {
164
169
  await reloadLoadedModuleFromSource(manager, await loadContext(), moduleId);
165
170
  },
166
- });
171
+ }));
167
172
  }
168
173
  async function registerCoreInterfaces(manager) {
169
174
  const coreFolder = node_path_1.default.resolve(node_path_1.default.join(__dirname, "..", "..", ".."));
@@ -270,15 +275,64 @@ async function reloadLoadedModuleFromSource(manager, loaderContext, moduleId) {
270
275
  if (!entry) {
271
276
  return;
272
277
  }
273
- await entry.module.destroy();
274
- manager.unrequireModuleFiles(moduleId);
275
- const manifest = await loadModuleManifestFromSource(loaderContext, entry.module.manifest.source, moduleId, true);
278
+ const previous = entry.module;
279
+ const manifest = await loadModuleManifestFromSource(loaderContext, previous.manifest.source, moduleId, true);
276
280
  const replacement = new module_1.Module(manifest);
277
281
  ensureReloadedModuleId(replacement, moduleId);
278
- manager.replaceLoadedModule(moduleId, replacement);
279
- manager.refreshAssociations();
280
- await replacement.construct(entry.config.config);
281
- replacement.start();
282
+ const previousWasActive = previous.state === types_1.ModuleState.Active;
283
+ try {
284
+ await previous.destroy();
285
+ }
286
+ catch (error) {
287
+ const recoveryErrors = await recoverPreviousModule(previous, previousWasActive);
288
+ throw new AggregateError([...unpackErrors(error), ...recoveryErrors], `Failed to destroy module ${moduleId} during reload`);
289
+ }
290
+ manager.unrequireModuleFiles(moduleId);
291
+ await activateReplacement(manager, entry, replacement);
292
+ }
293
+ async function recoverPreviousModule(previous, previousWasActive) {
294
+ if (!previousWasActive || previous.state !== types_1.ModuleState.Constructed) {
295
+ return [];
296
+ }
297
+ try {
298
+ await previous.start();
299
+ return [];
300
+ }
301
+ catch (error) {
302
+ return [error];
303
+ }
304
+ }
305
+ async function activateReplacement(manager, entry, replacement) {
306
+ let replacementInstalled = false;
307
+ try {
308
+ replacementInstalled = Boolean(manager.replaceLoadedModule(replacement.id, replacement));
309
+ if (!replacementInstalled) {
310
+ throw new Error(`Failed to replace module ${replacement.id}`);
311
+ }
312
+ manager.refreshAssociations();
313
+ await manager.constructModules([
314
+ { module: replacement, config: entry.config },
315
+ ]);
316
+ await replacement.start();
317
+ }
318
+ catch (error) {
319
+ const cleanupErrors = replacementInstalled
320
+ ? await cleanupReplacement(replacement)
321
+ : [];
322
+ throw new AggregateError([...unpackErrors(error), ...cleanupErrors], `Failed to activate replacement module ${replacement.id}`);
323
+ }
324
+ }
325
+ async function cleanupReplacement(replacement) {
326
+ try {
327
+ await replacement.destroy();
328
+ return [];
329
+ }
330
+ catch (error) {
331
+ return unpackErrors(error);
332
+ }
333
+ }
334
+ function unpackErrors(error) {
335
+ return error instanceof AggregateError ? error.errors : [error];
282
336
  }
283
337
  async function reloadWatchedModule(manager, moduleId, loaderContext) {
284
338
  await reloadLoadedModuleFromSource(manager, loaderContext, moduleId);
@@ -304,7 +358,17 @@ async function constructAndStartModules(manager) {
304
358
  throw error;
305
359
  }
306
360
  await terminal_display_1.terminalDisplay.stopSpinner(`Done loading`);
307
- manager.startAll();
361
+ await manager.startAll();
362
+ }
363
+ async function destroyModulesAfterFailure(manager, error) {
364
+ try {
365
+ await manager.destroyAll();
366
+ }
367
+ catch (cleanupError) {
368
+ Logger.Error("Failed to clean up modules after startup failure:", cleanupError);
369
+ throw new AggregateError([...unpackErrors(error), ...unpackErrors(cleanupError)], "Failed to start and clean up modules");
370
+ }
371
+ throw error;
308
372
  }
309
373
  function ensureGraphIsValid(manager) {
310
374
  const allModules = manager.getAllManagedModules();
@@ -314,16 +378,19 @@ function ensureGraphIsValid(manager) {
314
378
  implements: module.manifest.implements ?? [],
315
379
  disabledExports: config.disabledExports,
316
380
  }));
317
- const staticDeps = allModules
381
+ const staticPackages = allModules
318
382
  .filter(({ module }) => !loadedIds.has(module.id))
319
- .flatMap(({ module }) => Object.keys(module.manifest.manifest.dependencies ?? {}));
383
+ .flatMap(({ module }) => [
384
+ module.manifest.manifest.name,
385
+ ...Object.keys(module.manifest.manifest.dependencies ?? {}),
386
+ ]);
320
387
  const consumers = loadedModules.map(({ module }) => ({
321
388
  id: module.id,
322
389
  folder: module.manifest.folder,
323
390
  dependencies: module.manifest.manifest.dependencies ?? {},
324
391
  optionalDependencies: module.manifest.manifest.optionalDependencies ?? {},
325
392
  }));
326
- const { unresolved, stubbed } = (0, interface_resolution_1.findUnresolvedInterfaces)(providers, consumers, staticDeps);
393
+ const { unresolved, stubbed } = (0, interface_resolution_1.findUnresolvedInterfaces)(providers, consumers, staticPackages);
327
394
  if (unresolved.length > 0) {
328
395
  const details = unresolved
329
396
  .map(({ moduleId, interfacePackage }) => ` - ${moduleId} requires ${interfacePackage}`)
@@ -1 +1 @@
1
- {"version":3,"file":"module-loading.js","sourceRoot":"","sources":["../../../src/core/runtime/module-loading.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgGA,kDAmBC;AAED,kEAqEC;AAED,wDAYC;AAsFD,gDAUC;AAED,oCAWC;AA4DD,kDAMC;AAED,kEAgBC;AAED,4DAeC;AAED,gDA4CC;AAxcD,0DAA6B;AAC7B,8EAAgE;AAKhE,gEAA6D;AAC7D,wFAA0E;AAC1E,8DAA0D;AAE1D,4CAA2D;AAC3D,gDAA+D;AAC/D,8DAA4E;AAC5E,oDAAmE;AACnE,sDAA6D;AAC7D,8CAA+C;AAC/C,sCAAmC;AACnC,kDAA8C;AAE9C,wDAAoD;AACpD,6EAA8E;AAW9E,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAE7C,MAAM,iBAAiB,GAGnB;IACF,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAS,kBAAkB,CACzB,SAAoC;IAEpC,MAAM,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CACjC,CAAC,MAAM,EAAqB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAC5C,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAA6B;IAE7B,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAExB;IACC,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CACrB,MAAsD;IAEtD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IAC1B,IACE,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,KAAK;QACd,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,cAAc,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAsB,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,KAAqB,IAAI,2BAAc,EAAE;IAEzC,MAAM,KAAK,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,IAAI,6BAAkB,EAAE,CAAC;IAC1C,IAAA,+BAAuB,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1C,IAAA,4CAA6B,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,IAAA,mCAAyB,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,IAAA,2BAAqB,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAExC,OAAO;QACL,EAAE;QACF,KAAK;QACL,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CACzC,OAAsB,EACtB,WAAkC;IAElC,KAAK,iBAAiB,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;QAC7D,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;QAC9C,aAAa,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC3B,eAAe,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;gBACjE,eAAe,EAAE,qBAAqB,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC;gBACpE,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBACvC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;aACtC,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,KAAK,EACf,QAAgB,EAChB,WAAiD,EACjD,SAAS,GAAG,KAAK,EACjB,EAAE;YACF,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,MAAM,WAAW,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,CACjD,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,KAAK,EACnB;gBACE,GAAG,MAAM;gBACT,EAAE,EAAE,QAAQ;aACb,CACF,CAAC;YAEF,MAAM,YAAY,GAAiB;gBACjC,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,eAAe,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;gBAC3D,eAAe,EAAE,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC;aACjE,CAAC;YAEF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAClE,CAAC;YACF,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACtC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QACvC,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACrC,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACxC,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACvC,MAAM,4BAA4B,CAChC,OAAO,EACP,MAAM,WAAW,EAAE,EACnB,QAAQ,CACT,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,OAAsB;IAEtB,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC1E,MAAM,YAAY,GAAG,MAAM,gCAAc,CAAC,MAAM,CAC9C,UAAU,EACV,UAAU,EACV,YAAY,CACb,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACpD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAC3B,eAAyD;IAEzD,MAAM,SAAS,GAAsB,IAAI,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAA2B,EAC3B,YAAkC;IAElC,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAE5E,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,QAAQ;QACR,MAAM,EAAE;YACN,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,eAAe;YACf,eAAe,EAAE,SAAS;SAC3B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAA6C,EAC7C,OAAsB;IAEtB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAChD,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC3C,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,oBAAoB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,kCAAe,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,kCAAe,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,kCAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,MAAM,kCAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA8B;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CACV,wDAAwD,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAC9E,CAAC;YACF,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAA8B,EAC9B,aAA4B;IAE5B,MAAM,kCAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,kCAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,gBAAgB,EAAE,CAAC;IACzB,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,YAAY,CAAC,MAAoB;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAA2B,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,aAA4B,EAC5B,MAAoB,EACpB,QAAgB,EAChB,MAAM,GAAG,KAAK;IAEd,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,CACjD,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,KAAK,EACnB;QACE,GAAG,MAAM;QACT,EAAE,EAAE,QAAQ;KACb,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,wBAAwB,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,QAAgB;IAC9D,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,SAAS,MAAM,CAAC,EAAE,EAAE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAsB,EACtB,aAA4B,EAC5B,QAAgB;IAEhB,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC7B,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,aAAa,EACb,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAC5B,QAAQ,EACR,IAAI,CACL,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9C,OAAO,CAAC,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACnD,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAC9B,MAAM,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjD,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,OAAsB,EACtB,QAAgB,EAChB,aAA4B;IAE5B,MAAM,4BAA4B,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,OAAsB,EACtB,MAA8B,EAC9B,gBAAyB,EACzB,aAA6B;IAE7B,MAAM,qBAAqB,GACzB,aAAa,IAAI,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,gBAAgB,EAAE,CAAC;QACrB,2BAA2B,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACxE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,OAAsB;IAEtB,MAAM,kCAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,kCAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,kCAAe,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAClD,OAAO,CAAC,QAAQ,EAAE,CAAC;AACrB,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAsB;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE;QAC5C,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC,CAAC;IAGJ,MAAM,UAAU,GAAG,UAAU;SAC1B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACjD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CACtB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC,CACzD,CAAC;IAEJ,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC9B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE;QACzD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE;KAC1E,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAA,+CAAwB,EACtD,SAAS,EACT,SAAS,EACT,UAAU,CACX,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,UAAU;aACvB,GAAG,CACF,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACjC,OAAO,QAAQ,aAAa,gBAAgB,EAAE,CACjD;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,wEAAwE,CACvH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"module-loading.js","sourceRoot":"","sources":["../../../src/core/runtime/module-loading.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiGA,kDA2BC;AAED,kEA2EC;AAED,wDAYC;AAsFD,gDAUC;AAED,oCAWC;AA+HD,kDAMC;AAED,kEAgBC;AAED,4DAeC;AAED,gEAiBC;AAED,gDA4CC;AA7iBD,0DAA6B;AAC7B,8EAAgE;AAKhE,gEAA6D;AAC7D,wFAA0E;AAC1E,uCAA0C;AAC1C,8DAA0D;AAE1D,8CAA+C;AAC/C,sCAAmC;AACnC,kDAA8C;AAM9C,wDAAoD;AACpD,6EAA8E;AAW9E,MAAM,MAAM,GAAG,IAAI,iBAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC7C,MAAM,cAAc,GAAG,YAAY,CAAC;AAEpC,MAAM,iBAAiB,GAGnB;IACF,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAS,kBAAkB,CACzB,SAAoC;IAEpC,MAAM,MAAM,GAAsB,IAAI,GAAG,EAAE,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CACjC,CAAC,MAAM,EAAqB,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAC5C,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,qBAAqB,CAC5B,SAA6B;IAE7B,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,MAAM,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,MAExB;IACC,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;AACtD,CAAC;AAED,SAAS,cAAc,CACrB,MAAsD;IAEtD,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,CAAC;IAC1B,IACE,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,KAAK;QACd,IAAI,KAAK,SAAS;QAClB,IAAI,KAAK,cAAc,EACvB,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAsB,CAAC;AAChC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,MAAoB,EACpB,KAAqB,IAAI,2BAAc,EAAE;IAEzC,MAAM,CAAC,EAAE,kBAAkB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,iBAAiB,CAAC,GACxE,MAAM,OAAO,CAAC,GAAG,CAAC;0DACT,yBAAyB;0DACzB,oBAAoB;0DACpB,sBAAsB;0DACtB,6BAA6B;0DAC7B,wBAAwB;KAChC,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IAEnB,MAAM,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAC1C,KAAK,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAChD,WAAW,CAAC,6BAA6B,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,iBAAiB,CAAC,yBAAyB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5C,OAAO;QACL,EAAE;QACF,KAAK;QACL,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;AACJ,CAAC;AAED,SAAgB,2BAA2B,CACzC,OAAsB,EACtB,WAAkC;IAElC,mBAAmB,CAAC,oBAAoB,CACtC,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,EACpD,GAAG,EAAE,CACH,iBAAiB,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;QACxD,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE;QAC9C,aAAa,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACxC,MAAM,KAAK,GAAG,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,EAAE,CAAC,CAAC;YACnD,CAAC;YAED,OAAO;gBACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBACpC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM;gBAC3B,eAAe,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;gBACjE,eAAe,EAAE,qBAAqB,CACpC,KAAK,CAAC,MAAM,CAAC,eAAe,CAC7B;gBACD,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;gBACvC,MAAM,EAAE,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC;aACtC,CAAC;QACJ,CAAC;QACD,UAAU,EAAE,KAAK,EACf,QAAgB,EAChB,WAAiD,EACjD,SAAS,GAAG,KAAK,EACjB,EAAE;YACF,MAAM,MAAM,GAAG,cAAc,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAClD,MAAM,aAAa,GAAG,MAAM,WAAW,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,CACjD,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,KAAK,EACnB;gBACE,GAAG,MAAM;gBACT,EAAE,EAAE,QAAQ;aACb,CACF,CAAC;YAEF,MAAM,YAAY,GAAiB;gBACjC,MAAM,EAAE,WAAW,CAAC,MAAM;gBAC1B,eAAe,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC;gBAC3D,eAAe,EAAE,kBAAkB,CAAC,WAAW,CAAC,eAAe,CAAC;aACjE,CAAC;YAEF,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAChC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAClE,CAAC;YACF,MAAM,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;YACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACtC,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;QAC7C,CAAC;QACD,UAAU,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACrC,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,CAAC;QACD,aAAa,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACxC,MAAM,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC;QACD,YAAY,EAAE,KAAK,EAAE,QAAgB,EAAE,EAAE;YACvC,MAAM,4BAA4B,CAChC,OAAO,EACP,MAAM,WAAW,EAAE,EACnB,QAAQ,CACT,CAAC;QACJ,CAAC;KACF,CAAC,CACL,CAAC;AACJ,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,OAAsB;IAEtB,MAAM,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,mBAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IACxE,MAAM,UAAU,GAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC1E,MAAM,YAAY,GAAG,MAAM,gCAAc,CAAC,MAAM,CAC9C,UAAU,EACV,UAAU,EACV,YAAY,CACb,CAAC;IACF,OAAO,CAAC,eAAe,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACpD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,oBAAoB,CAC3B,eAAyD;IAEzD,MAAM,SAAS,GAAsB,IAAI,GAAG,EAAE,CAAC;IAC/C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC5D,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAA2B,EAC3B,YAAkC;IAElC,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACrE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAS,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAE5E,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAClC,QAAQ;QACR,MAAM,EAAE;YACN,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,eAAe;YACf,eAAe,EAAE,SAAS;SAC3B;KACF,CAAC,CAAC,CAAC;AACN,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAA6C,EAC7C,OAAsB;IAEtB,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAChD,KAAK,EAAE,CAAC,EAAE,EAAE,YAAY,CAAC,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,EAAE,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC;QAC9C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAErC,IAAI,CAAC;YACH,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,EAAE,CAAC,CAAC;YAC9C,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAC3C,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,KAAK,EACb,MAAM,CACP,CAAC;YACF,MAAM,CAAC,KAAK,CAAC,8BAA8B,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,oBAAoB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,kCAAe,CAAC,WAAW,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;YACjE,MAAM,kCAAe,CAAC,YAAY,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,GAAG,CAAC,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CACF,CAAC;IAEF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,kCAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,MAAM,kCAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,4BAA4B,CAAC,OAA8B;IAClE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IACpC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACxB,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,MAAM,CAAC,KAAK,CACV,wDAAwD,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAC9E,CAAC;YACF,OAAO;QACT,CAAC;QACD,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,kBAAkB,CACtC,MAA8B,EAC9B,aAA4B;IAE5B,MAAM,kCAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IACvE,MAAM,kCAAe,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IACpD,MAAM,gBAAgB,EAAE,CAAC;IACzB,4BAA4B,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,YAAY,CAAC,MAAoB;IAC/C,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAG,MAA2B,CAAC;IAChD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC,QAAQ,CAAC;IAC9B,CAAC;IAED,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,aAA4B,EAC5B,MAAoB,EACpB,QAAgB,EAChB,MAAM,GAAG,KAAK;IAEd,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,IAAI,CACjD,aAAa,CAAC,aAAa,EAC3B,aAAa,CAAC,KAAK,EACnB;QACE,GAAG,MAAM;QACT,EAAE,EAAE,QAAQ;KACb,EACD,EAAE,MAAM,EAAE,CACX,CAAC;IACF,MAAM,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,wBAAwB,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,QAAgB;IAC9D,IAAI,MAAM,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,SAAS,MAAM,CAAC,EAAE,EAAE,CACtE,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,OAAsB,EACtB,aAA4B,EAC5B,QAAgB;IAEhB,MAAM,KAAK,GAAG,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;IAC9B,MAAM,QAAQ,GAAG,MAAM,4BAA4B,CACjD,aAAa,EACb,QAAQ,CAAC,QAAQ,CAAC,MAAM,EACxB,QAAQ,EACR,IAAI,CACL,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,eAAM,CAAC,QAAQ,CAAC,CAAC;IACzC,sBAAsB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,KAAK,KAAK,mBAAW,CAAC,MAAM,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,cAAc,GAAG,MAAM,qBAAqB,CAChD,QAAQ,EACR,iBAAiB,CAClB,CAAC;QACF,MAAM,IAAI,cAAc,CACtB,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,cAAc,CAAC,EAC3C,4BAA4B,QAAQ,gBAAgB,CACrD,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,mBAAmB,CAAC,OAAO,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,QAAgB,EAChB,iBAA0B;IAE1B,IAAI,CAAC,iBAAiB,IAAI,QAAQ,CAAC,KAAK,KAAK,mBAAW,CAAC,WAAW,EAAE,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAsB,EACtB,KAAoB,EACpB,WAAmB;IAEnB,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,CAAC;QACH,oBAAoB,GAAG,OAAO,CAC5B,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CACzD,CAAC;QACF,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,4BAA4B,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC9B,MAAM,OAAO,CAAC,gBAAgB,CAAC;YAC7B,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;SAC9C,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,aAAa,GAAG,oBAAoB;YACxC,CAAC,CAAC,MAAM,kBAAkB,CAAC,WAAW,CAAC;YACvC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,cAAc,CACtB,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,aAAa,CAAC,EAC1C,yCAAyC,WAAW,CAAC,EAAE,EAAE,CAC1D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,WAAmB;IACnD,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAEM,KAAK,UAAU,mBAAmB,CACvC,OAAsB,EACtB,QAAgB,EAChB,aAA4B;IAE5B,MAAM,4BAA4B,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC;AACvE,CAAC;AAEM,KAAK,UAAU,2BAA2B,CAC/C,OAAsB,EACtB,MAA8B,EAC9B,gBAAyB,EACzB,aAA6B;IAE7B,MAAM,qBAAqB,GACzB,aAAa,IAAI,CAAC,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,IAAI,gBAAgB,EAAE,CAAC;QACrB,2BAA2B,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,qBAAqB,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IACxE,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,OAAO,CAAC;AACjB,CAAC;AAEM,KAAK,UAAU,wBAAwB,CAC5C,OAAsB;IAEtB,MAAM,kCAAe,CAAC,YAAY,CAAC,sBAAsB,CAAC,CAAC;IAC3D,MAAM,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAErC,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,kCAAe,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;QACjE,MAAM,KAAK,CAAC;IACd,CAAC;IAED,MAAM,kCAAe,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAClD,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC3B,CAAC;AAEM,KAAK,UAAU,0BAA0B,CAC9C,OAAsB,EACtB,KAAc;IAEd,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,YAAY,EAAE,CAAC;QACtB,MAAM,CAAC,KAAK,CACV,mDAAmD,EACnD,YAAY,CACb,CAAC;QACF,MAAM,IAAI,cAAc,CACtB,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,EACvD,sCAAsC,CACvC,CAAC;IACJ,CAAC;IACD,MAAM,KAAK,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAAC,OAAsB;IACvD,MAAM,UAAU,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACxD,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE;QAC5C,eAAe,EAAE,MAAM,CAAC,eAAe;KACxC,CAAC,CAAC,CAAC;IAEJ,MAAM,cAAc,GAAG,UAAU;SAC9B,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACjD,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACvB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI;QAC7B,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;KAC5D,CAAC,CAAC;IAEL,MAAM,SAAS,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;QACnD,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;QAC9B,YAAY,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE;QACzD,oBAAoB,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE;KAC1E,CAAC,CAAC,CAAC;IAEJ,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAA,+CAAwB,EACtD,SAAS,EACT,SAAS,EACT,cAAc,CACf,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,UAAU;aACvB,GAAG,CACF,CAAC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,EAAE,CACjC,OAAO,QAAQ,aAAa,gBAAgB,EAAE,CACjD;aACA,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CACb,uCAAuC,OAAO,wEAAwE,CACvH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { LaunchOptions } from "../../types";
2
+ import type { ModuleManager } from "../module-manager";
3
+ import type { ProjectPreparer } from "./runtime-types";
4
+ export declare function startProject(prepare: ProjectPreparer, projectFolder: string, env: string, options: LaunchOptions): Promise<ModuleManager>;
5
+ export declare function launchFromBuild(projectFolder?: string, env?: string, options?: LaunchOptions): Promise<ModuleManager>;
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.startProject = startProject;
37
+ exports.launchFromBuild = launchFromBuild;
38
+ const node_stream_1 = require("node:stream");
39
+ const logging_1 = require("@antelopejs/interface-core/logging");
40
+ const config_paths_1 = require("../config/config-paths");
41
+ const launch_sequence_1 = require("./launch-sequence");
42
+ const runtime_bootstrap_1 = require("./runtime-bootstrap");
43
+ const Logger = new logging_1.Logging.Channel("loader");
44
+ const MAX_STREAM_LISTENERS = 20;
45
+ const INTERACTIVE_PROMPT = "> ";
46
+ const SHUTDOWN_PRIORITY_MODULES = 30;
47
+ const SHUTDOWN_PRIORITY_RESOURCES = 20;
48
+ const SHUTDOWN_PRIORITY_CLEANUP = 10;
49
+ const UNSUPPORTED_ARTIFACT_OPTIONS_WARNING = "Watch and interactive modes are only available when launching from configuration; ignoring them for this build artifact launch.";
50
+ node_stream_1.Writable.prototype.setMaxListeners(MAX_STREAM_LISTENERS);
51
+ const activeShutdownManagers = [];
52
+ function setActiveShutdownManager(shutdownManager) {
53
+ releaseActiveShutdownManager(shutdownManager);
54
+ activeShutdownManagers.at(-1)?.removeSignalHandlers();
55
+ activeShutdownManagers.push(shutdownManager);
56
+ shutdownManager.setupSignalHandlers();
57
+ }
58
+ function releaseActiveShutdownManager(shutdownManager) {
59
+ const index = activeShutdownManagers.indexOf(shutdownManager);
60
+ if (index === -1) {
61
+ return;
62
+ }
63
+ const wasActive = index === activeShutdownManagers.length - 1;
64
+ activeShutdownManagers.splice(index, 1);
65
+ shutdownManager.removeSignalHandlers();
66
+ if (wasActive) {
67
+ activeShutdownManagers.at(-1)?.setupSignalHandlers();
68
+ }
69
+ }
70
+ function registerModuleShutdownHandler(shutdownManager, manager) {
71
+ shutdownManager.register(() => shutdownModules(manager), SHUTDOWN_PRIORITY_MODULES);
72
+ }
73
+ async function shutdownModules(manager) {
74
+ const errors = [];
75
+ try {
76
+ await manager.stopAll();
77
+ }
78
+ catch (error) {
79
+ errors.push(error);
80
+ }
81
+ try {
82
+ await manager.destroyAll();
83
+ }
84
+ catch (error) {
85
+ errors.push(error);
86
+ }
87
+ if (errors.length > 0) {
88
+ throw new AggregateError(errors, "Shutdown failed");
89
+ }
90
+ }
91
+ function registerShutdownCleanup(shutdownManager) {
92
+ shutdownManager.register(async () => {
93
+ releaseActiveShutdownManager(shutdownManager);
94
+ (0, runtime_bootstrap_1.releaseProcessShutdownManager)(shutdownManager);
95
+ }, SHUTDOWN_PRIORITY_CLEANUP);
96
+ }
97
+ async function setupWatching(manager, fs, projectFolder, env, options, shutdownManager, loaderContext) {
98
+ const [{ FileWatcher }, { HotReload }, moduleLoading] = await Promise.all([
99
+ Promise.resolve().then(() => __importStar(require("../watch/file-watcher"))),
100
+ Promise.resolve().then(() => __importStar(require("../watch/hot-reload"))),
101
+ Promise.resolve().then(() => __importStar(require("./module-loading"))),
102
+ ]);
103
+ const watcher = new FileWatcher(fs);
104
+ const loadedSignatures = new Map();
105
+ const hotReload = new HotReload(async (moduleId) => {
106
+ const signature = watcher.getModuleSignature(moduleId);
107
+ if (loadedSignatures.get(moduleId) === signature) {
108
+ return;
109
+ }
110
+ await moduleLoading.reloadWatchedModule(manager, moduleId, loaderContext);
111
+ loadedSignatures.set(moduleId, signature);
112
+ });
113
+ shutdownManager.register(async () => {
114
+ hotReload.clear();
115
+ watcher.stopWatching();
116
+ }, SHUTDOWN_PRIORITY_RESOURCES);
117
+ for (const { module } of manager.getLoadedModules()) {
118
+ if (module.manifest?.source?.type === "local") {
119
+ const watchDirs = moduleLoading.getWatchDirs(module.manifest.source);
120
+ await watcher.scanModule(module.id, module.manifest.folder, watchDirs);
121
+ loadedSignatures.set(module.id, watcher.getModuleSignature(module.id));
122
+ }
123
+ }
124
+ const configPath = await (0, config_paths_1.tryFindConfigPath)(projectFolder, fs);
125
+ if (configPath) {
126
+ await watcher.watchFile(configPath, () => {
127
+ Logger.Info("Configuration file changed, restarting project...");
128
+ void restartProject(projectFolder, env, options);
129
+ });
130
+ }
131
+ watcher.onModuleChanged((id) => hotReload.queue(id));
132
+ watcher.startWatching();
133
+ }
134
+ async function setupPostLaunchFeatures(started, projectFolder, env, options) {
135
+ const { manager, shutdownManager } = started;
136
+ registerModuleShutdownHandler(shutdownManager, manager);
137
+ registerShutdownCleanup(shutdownManager);
138
+ if (!started.dev && (options.watch || options.interactive)) {
139
+ Logger.Warn(UNSUPPORTED_ARTIFACT_OPTIONS_WARNING);
140
+ }
141
+ if (started.dev && options.watch) {
142
+ await setupWatching(manager, started.fs, projectFolder, env, options, shutdownManager, await started.loadContext());
143
+ }
144
+ if (started.dev && options.interactive) {
145
+ const { ReplSession } = await Promise.resolve().then(() => __importStar(require("../repl/repl-session")));
146
+ const repl = new ReplSession({ moduleManager: manager });
147
+ shutdownManager.register(async () => {
148
+ repl.close();
149
+ }, SHUTDOWN_PRIORITY_RESOURCES);
150
+ repl.start(INTERACTIVE_PROMPT);
151
+ }
152
+ setActiveShutdownManager(shutdownManager);
153
+ }
154
+ async function startProject(prepare, projectFolder, env, options) {
155
+ const started = await (0, launch_sequence_1.runLaunchSequence)(prepare, projectFolder, env, options);
156
+ try {
157
+ await setupPostLaunchFeatures(started, projectFolder, env, options);
158
+ return started.manager;
159
+ }
160
+ catch (error) {
161
+ await started.shutdownManager.shutdown();
162
+ throw error;
163
+ }
164
+ }
165
+ let isRestarting = false;
166
+ async function restartProject(projectFolder, env, options) {
167
+ if (isRestarting)
168
+ return;
169
+ isRestarting = true;
170
+ try {
171
+ const activeShutdownManager = activeShutdownManagers.at(-1);
172
+ if (activeShutdownManager) {
173
+ await activeShutdownManager.shutdown();
174
+ }
175
+ await startProject(launch_sequence_1.prepareFromConfig, projectFolder, env, options);
176
+ }
177
+ finally {
178
+ isRestarting = false;
179
+ }
180
+ }
181
+ async function launchFromBuild(projectFolder = ".", env = config_paths_1.DEFAULT_ENV, options = {}) {
182
+ return startProject(launch_sequence_1.prepareFromArtifact, projectFolder, env || config_paths_1.DEFAULT_ENV, options);
183
+ }
184
+ //# sourceMappingURL=project-launch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-launch.js","sourceRoot":"","sources":["../../../src/core/runtime/project-launch.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type LoadedConfig } from "../config/config-loader";
3
3
  import type { ShutdownManager } from "../shutdown";
4
4
  import type { BuildOptions, NormalizedLoadedConfig, ProjectRuntimeConfig } from "./runtime-types";
5
5
  export declare function setupProcessHandlers(shutdownManager?: ShutdownManager): void;
6
+ export declare function releaseProcessShutdownManager(shutdownManager: ShutdownManager): void;
6
7
  export declare function withRaisedMaxListeners<T>(task: () => Promise<T>): Promise<T>;
7
8
  export declare function applyVerboseChannels(verbose?: string[]): void;
8
9
  export declare function normalizeLoadedConfig(loadedConfig: LoadedConfig, projectFolder: string): NormalizedLoadedConfig;