@yuuvis/client-cli 19.8.0 → 19.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/README.md +70 -0
  2. package/cli/commands/add/app.js +6 -1
  3. package/cli/commands/add/app.js.map +1 -1
  4. package/cli/commands/add/language.d.ts +6 -0
  5. package/cli/commands/add/language.js +40 -0
  6. package/cli/commands/add/language.js.map +1 -0
  7. package/cli/commands/generate/app.js +3 -1
  8. package/cli/commands/generate/app.js.map +1 -1
  9. package/cli/commands/generate/theme.d.ts +6 -0
  10. package/cli/commands/generate/theme.js +65 -0
  11. package/cli/commands/generate/theme.js.map +1 -0
  12. package/cli/options/options-add-language.json +7 -0
  13. package/cli/options/options-generate-theme.json +41 -0
  14. package/cli/utils.js.map +1 -1
  15. package/package.json +5 -1
  16. package/schematics/app-manifest.d.ts +1 -1
  17. package/schematics/app-manifest.js +1 -1
  18. package/schematics/app-manifest.js.map +1 -1
  19. package/schematics/commands/angular-json.d.ts +2 -2
  20. package/schematics/commands/angular-json.js +3 -16
  21. package/schematics/commands/angular-json.js.map +1 -1
  22. package/schematics/commands/app-config-ts.d.ts +12 -3
  23. package/schematics/commands/app-config-ts.js +77 -3
  24. package/schematics/commands/app-config-ts.js.map +1 -1
  25. package/schematics/commands/library-component.d.ts +4 -4
  26. package/schematics/commands/library-component.js +12 -16
  27. package/schematics/commands/library-component.js.map +1 -1
  28. package/schematics/commands/main-json.d.ts +80 -0
  29. package/schematics/commands/main-json.js +107 -0
  30. package/schematics/commands/main-json.js.map +1 -0
  31. package/schematics/commands/package-json.d.ts +20 -7
  32. package/schematics/commands/package-json.js +43 -8
  33. package/schematics/commands/package-json.js.map +1 -1
  34. package/schematics/commands/styles-scss.d.ts +52 -0
  35. package/schematics/commands/styles-scss.js +91 -0
  36. package/schematics/commands/styles-scss.js.map +1 -0
  37. package/schematics/commands/typescript-file.d.ts +10 -0
  38. package/schematics/commands/typescript-file.js +48 -1
  39. package/schematics/commands/typescript-file.js.map +1 -1
  40. package/schematics/factories/add-app/index.js +1 -1
  41. package/schematics/factories/add-app/index.js.map +1 -1
  42. package/schematics/factories/add-language/index.d.ts +2 -0
  43. package/schematics/factories/add-language/index.js +44 -0
  44. package/schematics/factories/add-language/index.js.map +1 -0
  45. package/schematics/factories/add-language/schema.json +23 -0
  46. package/schematics/factories/collection.json +10 -0
  47. package/schematics/factories/generate-app/index.js +8 -10
  48. package/schematics/factories/generate-app/index.js.map +1 -1
  49. package/schematics/factories/generate-app/schema.json +45 -45
  50. package/schematics/factories/generate-theme/generate-theme.model.d.ts +15 -0
  51. package/schematics/factories/generate-theme/generate-theme.model.js +3 -0
  52. package/schematics/factories/generate-theme/generate-theme.model.js.map +1 -0
  53. package/schematics/factories/generate-theme/index.d.ts +3 -0
  54. package/schematics/factories/generate-theme/index.js +122 -0
  55. package/schematics/factories/generate-theme/index.js.map +1 -0
  56. package/schematics/factories/generate-theme/schema.json +59 -0
  57. package/schematics/factories/new/index.js +3 -3
  58. package/schematics/factories/new/index.js.map +1 -1
  59. package/schematics/files/_i18n-external/__locale__.json +1 -0
  60. package/schematics/files/_scripts/extract-client-version.js +4 -0
  61. package/schematics/files/_src_app/app.component.html.template +1 -0
  62. package/schematics/files/_src_app/app.component.ts.template +7 -7
  63. package/schematics/files/_src_app/app.config.ts.template +1 -1
  64. package/schematics/files/_src_app/app.markers.ts.template +1 -0
  65. package/schematics/files/_src_assets_i18n/de.json +1 -0
  66. package/schematics/files/_src_assets_i18n/en.json +1 -0
  67. package/schematics/files/_src_styles_theme/__themeName__.config.scss.template +113 -0
  68. package/schematics/files/_src_styles_theme/__themeName__.theme.scss.template +5 -0
  69. package/schematics/patches/impl/0001.patch.js +2 -2
  70. package/schematics/patches/impl/0001.patch.js.map +1 -1
  71. package/schematics/patches/impl/0003.patch.d.ts +2 -2
  72. package/schematics/patches/impl/0003.patch.js +2 -2
  73. package/schematics/patches/impl/0003.patch.js.map +1 -1
  74. package/schematics/patches/impl/0004.patch.d.ts +9 -0
  75. package/schematics/patches/impl/0004.patch.js +37 -0
  76. package/schematics/patches/impl/0004.patch.js.map +1 -0
  77. package/schematics/patches/impl/0005.patch.d.ts +9 -0
  78. package/schematics/patches/impl/0005.patch.js +39 -0
  79. package/schematics/patches/impl/0005.patch.js.map +1 -0
  80. package/schematics/project-metadata.d.ts +2 -2
  81. package/schematics/registry-config.d.ts +18 -0
  82. package/schematics/registry-config.js +111 -0
  83. package/schematics/registry-config.js.map +1 -0
  84. package/schematics/rules/clean-up-ng-app.js +0 -1
  85. package/schematics/rules/clean-up-ng-app.js.map +1 -1
  86. package/schematics/rules/copy-resources.d.ts +3 -1
  87. package/schematics/rules/copy-resources.js +31 -3
  88. package/schematics/rules/copy-resources.js.map +1 -1
  89. package/schematics/rules/generate-theme.d.ts +6 -0
  90. package/schematics/rules/generate-theme.js +25 -0
  91. package/schematics/rules/generate-theme.js.map +1 -0
  92. package/schematics/schematics-util.d.ts +9 -0
  93. package/schematics/schematics-util.js +199 -43
  94. package/schematics/schematics-util.js.map +1 -1
  95. package/schematics/types/main-json.d.ts +299 -0
  96. package/schematics/types/main-json.js +24 -0
  97. package/schematics/types/main-json.js.map +1 -0
@@ -13,9 +13,11 @@ exports.copyMainFiles = copyMainFiles;
13
13
  exports.copyUiFiles = copyUiFiles;
14
14
  exports.copyExtensionsFiles = copyExtensionsFiles;
15
15
  exports.copySharedFiles = copySharedFiles;
16
- exports.copyAppRequirementsFile = copyAppRequirementsFile;
16
+ exports.copyFileToSourceAppFolder = copyFileToSourceAppFolder;
17
17
  exports.copyDockerfile = copyDockerfile;
18
18
  exports.copyNginxConfig = copyNginxConfig;
19
+ exports.copyNewLanguageFileToI18nExternal = copyNewLanguageFileToI18nExternal;
20
+ exports.overwriteI18nExtractScript = overwriteI18nExtractScript;
19
21
  const schematics_1 = require("@angular-devkit/schematics");
20
22
  const project_metadata_1 = require("../project-metadata");
21
23
  const utils_1 = require("../utils");
@@ -45,6 +47,9 @@ function copyMainFiles(options) {
45
47
  (0, schematics_1.template)(Object.assign({}, options)),
46
48
  (0, schematics_1.move)((0, utils_1.buildPath)(options.name, project.sourceRoot, 'environments'))
47
49
  ]), schematics_1.MergeStrategy.Overwrite),
50
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_assets_i18n'), [
51
+ (0, schematics_1.move)((0, utils_1.buildPath)(options.name, project.sourceRoot, 'assets', 'i18n'))
52
+ ]), schematics_1.MergeStrategy.Overwrite),
48
53
  (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_assets__yuuvis_config'), [
49
54
  (0, schematics_1.move)((0, utils_1.buildPath)(options.name, project.sourceRoot, 'assets', '_yuuvis', 'config'))
50
55
  ])),
@@ -99,12 +104,12 @@ function copySharedFiles(options) {
99
104
  ]);
100
105
  });
101
106
  }
102
- function copyAppRequirementsFile() {
107
+ function copyFileToSourceAppFolder(filterValue) {
103
108
  return (tree) => __awaiter(this, void 0, void 0, function* () {
104
109
  const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
105
110
  return (0, schematics_1.chain)([
106
111
  (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_src_app'), [
107
- (0, schematics_1.filter)(path => path.endsWith('/app.requirements.ts.template')),
112
+ (0, schematics_1.filter)((path) => path.endsWith(filterValue)),
108
113
  (0, schematics_1.renameTemplateFiles)(),
109
114
  (0, schematics_1.move)((0, utils_1.buildPath)(project.sourceRoot, 'app'))
110
115
  ]))
@@ -134,4 +139,27 @@ function copyNginxConfig() {
134
139
  ]);
135
140
  });
136
141
  }
142
+ function copyNewLanguageFileToI18nExternal(locale) {
143
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
144
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
145
+ return (0, schematics_1.chain)([
146
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_i18n-external'), [
147
+ (0, schematics_1.renameTemplateFiles)(),
148
+ (0, schematics_1.template)({ locale }),
149
+ (0, schematics_1.move)((0, utils_1.buildPath)(project.projectRoot, 'i18n-external'))
150
+ ]))
151
+ ]);
152
+ });
153
+ }
154
+ function overwriteI18nExtractScript() {
155
+ return (tree) => __awaiter(this, void 0, void 0, function* () {
156
+ const project = yield project_metadata_1.ProjectMetadata.fromTree(tree);
157
+ return (0, schematics_1.chain)([
158
+ (0, schematics_1.mergeWith)((0, schematics_1.apply)((0, schematics_1.url)('../../files/_scripts'), [
159
+ (0, schematics_1.filter)(path => path.endsWith('/extract-client-version.js')),
160
+ (0, schematics_1.move)((0, utils_1.buildPath)(project.projectRoot, 'scripts'))
161
+ ]), schematics_1.MergeStrategy.Overwrite)
162
+ ]);
163
+ });
164
+ }
137
165
  //# sourceMappingURL=copy-resources.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"copy-resources.js","sourceRoot":"","sources":["../../../src/schematics/rules/copy-resources.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"copy-resources.js","sourceRoot":"","sources":["../../../src/schematics/rules/copy-resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { GenerateThemeOptions } from '../factories/generate-theme/generate-theme.model';
2
+ /**
3
+ * Runs the external schematic @angular/material:generate-theme.
4
+ * Passes through all options to the schematic.
5
+ */
6
+ export declare function runAngularMaterialGenerateTheme(options: GenerateThemeOptions, targetPath: string): any;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runAngularMaterialGenerateTheme = runAngularMaterialGenerateTheme;
4
+ const schematics_1 = require("@angular-devkit/schematics");
5
+ /**
6
+ * Runs the external schematic @angular/material:generate-theme.
7
+ * Passes through all options to the schematic.
8
+ */
9
+ function runAngularMaterialGenerateTheme(options, targetPath) {
10
+ const defaultNeutralColor = '#74777e';
11
+ const defaultErrorColor = '#e32f13';
12
+ const themeOptions = {
13
+ primaryColor: options.primaryColor,
14
+ secondaryColor: options.secondaryColor || defaultNeutralColor,
15
+ tertiaryColor: options.tertiaryColor || defaultNeutralColor,
16
+ neutralColor: options.neutralColor || defaultNeutralColor,
17
+ neutralVariantColor: options.neutralVariantColor || defaultNeutralColor,
18
+ errorColor: options.errorColor || defaultErrorColor,
19
+ directory: targetPath,
20
+ includeHighContrast: options.includeHighContrast || false,
21
+ isScss: true
22
+ };
23
+ return (0, schematics_1.externalSchematic)('@angular/material', 'theme-color', themeOptions);
24
+ }
25
+ //# sourceMappingURL=generate-theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-theme.js","sourceRoot":"","sources":["../../../src/schematics/rules/generate-theme.ts"],"names":[],"mappings":";;AAOA,0EAiBC;AAxBD,2DAA+D;AAG/D;;;GAGG;AACH,SAAgB,+BAA+B,CAAC,OAA6B,EAAE,UAAkB;IAC/F,MAAM,mBAAmB,GAAG,SAAS,CAAC;IACtC,MAAM,iBAAiB,GAAG,SAAS,CAAC;IAEpC,MAAM,YAAY,GAAwD;QACxE,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc,IAAI,mBAAmB;QAC7D,aAAa,EAAE,OAAO,CAAC,aAAa,IAAI,mBAAmB;QAC3D,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,mBAAmB;QACzD,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,mBAAmB;QACvE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,iBAAiB;QACnD,SAAS,EAAE,UAAU;QACrB,mBAAmB,EAAE,OAAO,CAAC,mBAAmB,IAAI,KAAK;QACzD,MAAM,EAAE,IAAI;KACb,CAAC;IAEF,OAAO,IAAA,8BAAiB,EAAC,mBAAmB,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC"}
@@ -4,5 +4,14 @@ import { AppManifest } from "./app-manifest";
4
4
  export declare function findComponentClassDecorator(source: ts.SourceFile): ts.CallExpression | null;
5
5
  export declare function findDecoratorProperty(decorator: ts.CallExpression, propertyName: string): ts.PropertyAssignment | null;
6
6
  export declare function getMainProjectName(tree: Tree): Promise<string | null>;
7
+ /**
8
+ * Fetch manifest file. Tries unpkg.com first (for public packages),
9
+ * then falls back to downloading and extracting the tarball from the registry.
10
+ */
7
11
  export declare function fetchManifest(packageName: string, context: SchematicContext): Promise<AppManifest>;
12
+ /**
13
+ * Fetch npm package metadata (packument).
14
+ * Reads registry and auth from .npmrc; uses native HTTP to avoid
15
+ * conflicts with npm-registry-fetch's internal auth resolution.
16
+ */
8
17
  export declare function fetchPackageInfo(packageName: string, context: SchematicContext): Promise<any>;
@@ -18,11 +18,17 @@ exports.getMainProjectName = getMainProjectName;
18
18
  exports.fetchManifest = fetchManifest;
19
19
  exports.fetchPackageInfo = fetchPackageInfo;
20
20
  const schematics_1 = require("@angular-devkit/schematics");
21
+ const stream_1 = require("stream");
21
22
  const typescript_1 = __importDefault(require("typescript"));
23
+ const http_1 = __importDefault(require("http"));
22
24
  const https_1 = __importDefault(require("https"));
25
+ const zlib_1 = __importDefault(require("zlib"));
26
+ const npm_registry_fetch_1 = __importDefault(require("npm-registry-fetch"));
23
27
  const app_manifest_1 = require("./app-manifest");
24
28
  const constants_1 = require("./constants");
25
29
  const workspace_1 = require("@schematics/angular/utility/workspace");
30
+ const registry_config_1 = require("./registry-config");
31
+ const utils_1 = require("./utils");
26
32
  function findComponentClassDecorator(source) {
27
33
  const decorators = source.statements
28
34
  .filter(typescript_1.default.isClassDeclaration)
@@ -45,67 +51,217 @@ function getMainProjectName(tree) {
45
51
  .find(([, project]) => project.root === '')) === null || _b === void 0 ? void 0 : _b[0]) !== null && _c !== void 0 ? _c : null);
46
52
  });
47
53
  }
54
+ // ---------------------------------------------------------------------------
55
+ // Manifest fetching
56
+ // ---------------------------------------------------------------------------
57
+ /**
58
+ * Resolves the registry URL for a package from .npmrc scope mappings.
59
+ * npm-registry-fetch is used only for this pure lookup — all HTTP requests
60
+ * use Node's native http/https to avoid conflicts with its auth resolution.
61
+ */
62
+ const resolveRegistry = (packageName) => {
63
+ const opts = Object.assign({ where: process.cwd() }, (0, registry_config_1.getScopeRegistryOptions)());
64
+ return npm_registry_fetch_1.default.pickRegistry(packageName, opts).replace(/\/$/, '');
65
+ };
66
+ /**
67
+ * Fetch manifest file. Tries unpkg.com first (for public packages),
68
+ * then falls back to downloading and extracting the tarball from the registry.
69
+ */
48
70
  function fetchManifest(packageName, context) {
49
71
  return __awaiter(this, void 0, void 0, function* () {
50
- const manifestStr = yield downloadResource(`https://unpkg.com`, `/${packageName}/${constants_1.APP_MANIFEST_FILE_NAME}`, context);
51
- return (0, app_manifest_1.parseManifest)(manifestStr);
72
+ try {
73
+ context.logger.info(`Trying to fetch manifest from unpkg.com...`);
74
+ const manifest = yield httpGetJson(`https://unpkg.com/${packageName}/${constants_1.APP_MANIFEST_FILE_NAME}`, null);
75
+ return (0, app_manifest_1.parseManifest)(manifest);
76
+ }
77
+ catch (error) {
78
+ context.logger.warn(`Could not fetch manifest from unpkg.com: ${error instanceof Error ? error.message : error}`);
79
+ context.logger.info(`Falling back to tarball extraction...`);
80
+ return fetchManifestFromTarball(packageName, context);
81
+ }
52
82
  });
53
83
  }
54
- function fetchPackageInfo(packageName, context) {
84
+ function fetchManifestFromTarball(packageName, context) {
55
85
  return __awaiter(this, void 0, void 0, function* () {
56
- const packageInfoStr = yield downloadResource(`https://registry.npmjs.com`, `/${packageName}`, context);
57
- if (!packageInfoStr) {
58
- throw new schematics_1.SchematicsException(`Failed to fetch package info for ${packageName}`);
86
+ var _a, _b, _c, _d, _e;
87
+ const parsed = (0, utils_1.parsePackageName)(packageName);
88
+ const packument = yield fetchPackageInfo(parsed.libraryFullName, context);
89
+ const resolvedVersion = parsed.version || ((_a = packument['dist-tags']) === null || _a === void 0 ? void 0 : _a.latest);
90
+ if (!resolvedVersion) {
91
+ throw new schematics_1.SchematicsException(`Could not determine version for package ${parsed.libraryFullName}`);
59
92
  }
93
+ const registry = resolveRegistry(parsed.libraryFullName);
94
+ const authHeader = (0, registry_config_1.getAuthHeaderForRegistry)(registry);
95
+ let tarballUrl = (_d = (_c = (_b = packument.versions) === null || _b === void 0 ? void 0 : _b[resolvedVersion]) === null || _c === void 0 ? void 0 : _c.dist) === null || _d === void 0 ? void 0 : _d.tarball;
96
+ // Version may not be in the local packument but still reachable via a proxy uplink.
97
+ if (!tarballUrl) {
98
+ context.logger.info(`Version ${resolvedVersion} not in packument, trying direct version endpoint...`);
99
+ try {
100
+ const versionManifest = yield httpGetJson(`${registry}/${parsed.libraryFullName}/${resolvedVersion}`, authHeader);
101
+ tarballUrl = (_e = versionManifest === null || versionManifest === void 0 ? void 0 : versionManifest.dist) === null || _e === void 0 ? void 0 : _e.tarball;
102
+ }
103
+ catch (e) {
104
+ context.logger.warn(`Direct version endpoint failed: ${e instanceof Error ? e.message : e}`);
105
+ }
106
+ }
107
+ // Last resort: construct the tarball URL from npm conventions.
108
+ // Nexus group repos return 500 on the version endpoint when mixing hosted+proxy.
109
+ // Standard npm tarball path: {registry}/{@scope/pkg}/-/{pkg}-{version}.tgz
110
+ if (!tarballUrl) {
111
+ const scopePrefix = parsed.namespace ? `@${parsed.namespace}/` : '';
112
+ tarballUrl = `${registry}/${scopePrefix}${parsed.libraryName}/-/${parsed.libraryName}-${resolvedVersion}.tgz`;
113
+ context.logger.info(`Falling back to constructed tarball URL: ${tarballUrl}`);
114
+ }
115
+ context.logger.info(`Downloading tarball from ${tarballUrl}...`);
116
+ let tarballData;
60
117
  try {
61
- return JSON.parse(packageInfoStr);
118
+ tarballData = yield httpGetBuffer(tarballUrl, (0, registry_config_1.getAuthHeaderForRegistry)(tarballUrl));
62
119
  }
63
- catch (error) {
64
- throw new schematics_1.SchematicsException(`Failed to parse package info for ${packageName}: ${error}`);
120
+ catch (err) {
121
+ throw new schematics_1.SchematicsException(`Failed to download tarball from ${tarballUrl}: ${err instanceof Error ? err.message : err}`);
122
+ }
123
+ const manifestContent = yield extractFileFromTarball(tarballData, `package/${constants_1.APP_MANIFEST_FILE_NAME}`);
124
+ if (!manifestContent) {
125
+ throw new schematics_1.SchematicsException(`Manifest file ${constants_1.APP_MANIFEST_FILE_NAME} not found in package ${packageName}`);
126
+ }
127
+ return (0, app_manifest_1.parseManifest)(manifestContent);
128
+ });
129
+ }
130
+ /**
131
+ * Fetch npm package metadata (packument).
132
+ * Reads registry and auth from .npmrc; uses native HTTP to avoid
133
+ * conflicts with npm-registry-fetch's internal auth resolution.
134
+ */
135
+ function fetchPackageInfo(packageName, context) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const { libraryFullName } = (0, utils_1.parsePackageName)(packageName);
138
+ const warning = (0, registry_config_1.validateRegistryConfigForPackage)(libraryFullName);
139
+ if (warning)
140
+ context.logger.warn(warning);
141
+ const registry = resolveRegistry(libraryFullName);
142
+ const authHeader = (0, registry_config_1.getAuthHeaderForRegistry)(registry);
143
+ try {
144
+ return yield httpGetJson(`${registry}/${libraryFullName}`, authHeader);
145
+ }
146
+ catch (err) {
147
+ throw new schematics_1.SchematicsException(`Failed to fetch package info for ${libraryFullName}: ${err instanceof Error ? err.message : err}`);
65
148
  }
66
149
  });
67
150
  }
68
- function downloadResource(host, path, context, redirectCount = 0) {
69
- const MAX_REDIRECTS = 5;
70
- if (!path) {
71
- throw new schematics_1.SchematicsException('Download path is undefined.');
72
- }
73
- if (redirectCount > MAX_REDIRECTS) {
74
- throw new schematics_1.SchematicsException(`Too many redirects while fetching ${path}`);
75
- }
76
- const url = `${host}${path}`;
77
- context.logger.info(`Downloading resource from ${url}...`);
151
+ // ---------------------------------------------------------------------------
152
+ // Native HTTP helpers
153
+ // ---------------------------------------------------------------------------
154
+ function httpGetJson(url, authHeader) {
155
+ return httpGet(url, authHeader, 'json');
156
+ }
157
+ function httpGetBuffer(url, authHeader) {
158
+ return httpGet(url, authHeader, 'buffer');
159
+ }
160
+ function httpGet(url, authHeader, mode) {
78
161
  return new Promise((resolve, reject) => {
79
- https_1.default.get(new URL(url), (res) => {
162
+ const urlObj = new URL(url);
163
+ const mod = urlObj.protocol === 'https:' ? https_1.default : http_1.default;
164
+ const reqHeaders = { Accept: mode === 'buffer' ? 'application/octet-stream' : 'application/json' };
165
+ if (authHeader)
166
+ reqHeaders['Authorization'] = authHeader;
167
+ mod.get({ hostname: urlObj.hostname, port: urlObj.port || undefined, path: urlObj.pathname + urlObj.search, headers: reqHeaders }, (res) => {
80
168
  if (res.statusCode === 301 || res.statusCode === 302) {
81
- const redirectUrl = res.headers.location;
82
- if (!redirectUrl) {
83
- res.resume();
84
- return reject(new schematics_1.SchematicsException(`Redirect received but no 'Location' header found for ${url}`));
85
- }
86
169
  res.resume();
87
- context.logger.info(`Redirected to ${redirectUrl}`);
88
- return downloadResource(host, redirectUrl, context, redirectCount + 1).then(resolve).catch(reject);
89
- }
90
- // Retry logic for 501 Not Implemented
91
- if (res.statusCode === 501) {
92
- res.resume();
93
- context.logger.warn(`Received HTTP 501 from ${url}. Retrying after 1 second...`);
94
- return setTimeout(() => {
95
- downloadResource(host, url, context, redirectCount + 1)
96
- .then(resolve)
97
- .catch(reject);
98
- }, 1000);
170
+ if (res.headers.location)
171
+ return httpGet(res.headers.location, authHeader, mode).then(resolve, reject);
172
+ return reject(new Error(`Redirect with no Location for ${url}`));
99
173
  }
100
174
  if (res.statusCode !== 200) {
101
175
  res.resume();
102
- return reject(new schematics_1.SchematicsException(`Failed to fetch resource from ${url} (Status: ${res.statusCode})`));
176
+ return reject(new Error(`${res.statusCode} ${res.statusMessage} - GET ${url}`));
177
+ }
178
+ if (mode === 'buffer') {
179
+ const chunks = [];
180
+ res.on('data', (chunk) => chunks.push(chunk));
181
+ res.on('end', () => resolve(Buffer.concat(chunks)));
103
182
  }
104
- let data = '';
105
- res.on('data', (chunk) => (data += chunk));
106
- res.on('end', () => resolve(data));
107
- }).on('error', (err) => {
108
- reject(new schematics_1.SchematicsException(`Error downloading resource from ${url}: ${err.message}`));
183
+ else {
184
+ let data = '';
185
+ res.on('data', (chunk) => (data += chunk));
186
+ res.on('end', () => {
187
+ try {
188
+ resolve(JSON.parse(data));
189
+ }
190
+ catch (e) {
191
+ reject(new Error(`Invalid JSON from ${url}: ${e}`));
192
+ }
193
+ });
194
+ }
195
+ }).on('error', (err) => reject(err));
196
+ });
197
+ }
198
+ // ---------------------------------------------------------------------------
199
+ // Tarball extraction
200
+ // ---------------------------------------------------------------------------
201
+ function extractFileFromTarball(tarballBuffer, filePath) {
202
+ return __awaiter(this, void 0, void 0, function* () {
203
+ return new Promise((resolve, reject) => {
204
+ const gunzip = zlib_1.default.createGunzip();
205
+ let foundFile = false;
206
+ let fileContent = [];
207
+ let currentHeader = null;
208
+ let currentFileName = '';
209
+ let currentFileSize = 0;
210
+ let bytesReadInCurrentFile = 0;
211
+ const parseHeader = (header) => {
212
+ const name = header.toString('utf-8', 0, 100).replace(/\0.*$/, '');
213
+ const sizeOctal = header.toString('utf-8', 124, 136).trim().replace(/\0/g, '');
214
+ return { name, size: parseInt(sizeOctal, 8) || 0 };
215
+ };
216
+ let buffer = Buffer.alloc(0);
217
+ stream_1.Readable.from(tarballBuffer)
218
+ .pipe(gunzip)
219
+ .on('data', (chunk) => {
220
+ buffer = Buffer.concat([buffer, chunk]);
221
+ while (buffer.length >= 512 && !foundFile) {
222
+ if (currentHeader === null) {
223
+ currentHeader = buffer.subarray(0, 512);
224
+ buffer = buffer.subarray(512);
225
+ const { name, size } = parseHeader(currentHeader);
226
+ currentFileName = name;
227
+ currentFileSize = size;
228
+ bytesReadInCurrentFile = 0;
229
+ fileContent = [];
230
+ if (currentFileName === filePath)
231
+ foundFile = true;
232
+ }
233
+ if (currentFileSize > 0) {
234
+ const bytesToRead = Math.min(currentFileSize - bytesReadInCurrentFile, buffer.length);
235
+ if (foundFile)
236
+ fileContent.push(buffer.subarray(0, bytesToRead));
237
+ buffer = buffer.subarray(bytesToRead);
238
+ bytesReadInCurrentFile += bytesToRead;
239
+ if (bytesReadInCurrentFile === currentFileSize) {
240
+ if (foundFile) {
241
+ resolve(Buffer.concat(fileContent).toString('utf-8'));
242
+ return;
243
+ }
244
+ const padding = (512 - (currentFileSize % 512)) % 512;
245
+ if (padding > 0) {
246
+ if (buffer.length >= padding)
247
+ buffer = buffer.subarray(padding);
248
+ else
249
+ break;
250
+ }
251
+ currentHeader = null;
252
+ }
253
+ else {
254
+ break;
255
+ }
256
+ }
257
+ else {
258
+ currentHeader = null;
259
+ }
260
+ }
261
+ })
262
+ .on('end', () => { if (!foundFile)
263
+ resolve(null); })
264
+ .on('error', (err) => reject(new schematics_1.SchematicsException(`Error extracting tarball: ${err.message}`)));
109
265
  });
110
266
  });
111
267
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schematics-util.js","sourceRoot":"","sources":["../../src/schematics/schematics-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schematics-util.js","sourceRoot":"","sources":["../../src/schematics/schematics-util.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAaA,kEAOC;AAED,sDAGC;AAED,gDAWC;AAoBD,sCAUC;AA6DD,4CAcC;AA/ID,2DAAyF;AACzF,mCAAkC;AAClC,4DAA4B;AAC5B,gDAAwB;AACxB,kDAA0B;AAC1B,gDAAwB;AACxB,4EAA0C;AAC1C,iDAA4D;AAC5D,2CAAqD;AACrD,qEAAqE;AACrE,uDAAwH;AACxH,mCAA2C;AAE3C,SAAgB,2BAA2B,CAAC,MAAqB;IAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU;SACjC,MAAM,CAAC,oBAAE,CAAC,kBAAkB,CAAC;SAC7B,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,oBAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAChF,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,oBAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC,CAAC;IAE/G,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAgC,CAAC,CAAC,CAAC,IAAI,CAAC;AACxF,CAAC;AAED,SAAgB,qBAAqB,CAAC,SAA4B,EAAE,YAAoB;IACtF,MAAM,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAA+B,CAAC;IACxE,OAAO,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,oBAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY,CAAiC,CAAC;AACpJ,CAAC;AAED,SAAsB,kBAAkB,CAAC,IAAU;;;QACjD,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,gCAAmB,CAAC,yDAAyD,CAAC,CAAC;QAC3F,CAAC;QAED,OAAO,CACL,MAAA,MAAC,SAAS,CAAC,UAAU,CAAC,cAAqC,mCAC3D,MAAA,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;aAC9B,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC,0CAAG,CAAC,CAAC,mCAAI,IAAI,CAC3D,CAAC;IACJ,CAAC;CAAA;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,eAAe,GAAG,CAAC,WAAmB,EAAU,EAAE;IACtD,MAAM,IAAI,mBAAK,KAAK,EAAE,OAAO,CAAC,GAAG,EAAE,IAAK,IAAA,yCAAuB,GAAE,CAAE,CAAC;IACpE,OAAO,4BAAQ,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACrE,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAsB,aAAa,CAAC,WAAmB,EAAE,OAAyB;;QAChF,IAAI,CAAC;YACH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAClE,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,qBAAqB,WAAW,IAAI,kCAAsB,EAAE,EAAE,IAAI,CAAC,CAAC;YACvG,OAAO,IAAA,4BAAa,EAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YAClH,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC7D,OAAO,wBAAwB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;CAAA;AAED,SAAe,wBAAwB,CAAC,WAAmB,EAAE,OAAyB;;;QACpF,MAAM,MAAM,GAAG,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QAE1E,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,KAAI,MAAA,SAAS,CAAC,WAAW,CAAC,0CAAE,MAAM,CAAA,CAAC;QACzE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,gCAAmB,CAAC,2CAA2C,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACrG,CAAC;QAED,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACzD,MAAM,UAAU,GAAG,IAAA,0CAAwB,EAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,UAAU,GAAuB,MAAA,MAAA,MAAA,SAAS,CAAC,QAAQ,0CAAG,eAAe,CAAC,0CAAE,IAAI,0CAAE,OAAO,CAAC;QAE1F,oFAAoF;QACpF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,eAAe,sDAAsD,CAAC,CAAC;YACtG,IAAI,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,WAAW,CACvC,GAAG,QAAQ,IAAI,MAAM,CAAC,eAAe,IAAI,eAAe,EAAE,EAC1D,UAAU,CACJ,CAAC;gBACT,UAAU,GAAG,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,IAAI,0CAAE,OAAO,CAAC;YAC9C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,iFAAiF;QACjF,2EAA2E;QAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,UAAU,GAAG,GAAG,QAAQ,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,MAAM,MAAM,CAAC,WAAW,IAAI,eAAe,MAAM,CAAC;YAC9G,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,UAAU,EAAE,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,UAAU,KAAK,CAAC,CAAC;QAEjE,IAAI,WAAmB,CAAC;QACxB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,IAAA,0CAAwB,EAAC,UAAU,CAAC,CAAC,CAAC;QACtF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,gCAAmB,CAAC,mCAAmC,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QAC9H,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,sBAAsB,CAAC,WAAW,EAAE,WAAW,kCAAsB,EAAE,CAAC,CAAC;QACvG,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,gCAAmB,CAAC,iBAAiB,kCAAsB,yBAAyB,WAAW,EAAE,CAAC,CAAC;QAC/G,CAAC;QAED,OAAO,IAAA,4BAAa,EAAC,eAAe,CAAC,CAAC;IACxC,CAAC;CAAA;AAED;;;;GAIG;AACH,SAAsB,gBAAgB,CAAC,WAAmB,EAAE,OAAyB;;QACnF,MAAM,EAAE,eAAe,EAAE,GAAG,IAAA,wBAAgB,EAAC,WAAW,CAAC,CAAC;QAE1D,MAAM,OAAO,GAAG,IAAA,kDAAgC,EAAC,eAAe,CAAC,CAAC;QAClE,IAAI,OAAO;YAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1C,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,IAAA,0CAAwB,EAAC,QAAQ,CAAC,CAAC;QAEtD,IAAI,CAAC;YACH,OAAO,MAAM,WAAW,CAAC,GAAG,QAAQ,IAAI,eAAe,EAAE,EAAE,UAAU,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,gCAAmB,CAAC,oCAAoC,eAAe,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACpI,CAAC;IACH,CAAC;CAAA;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,SAAS,WAAW,CAAC,GAAW,EAAE,UAAyB;IACzD,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,aAAa,CAAC,GAAW,EAAE,UAAyB;IAC3D,OAAO,OAAO,CAAC,GAAG,EAAE,UAAU,EAAE,QAAQ,CAAoB,CAAC;AAC/D,CAAC;AAED,SAAS,OAAO,CAAC,GAAW,EAAE,UAAyB,EAAE,IAAuB;IAC9E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,CAAC,CAAC,cAAI,CAAC;QACxD,MAAM,UAAU,GAA2B,EAAE,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC3H,IAAI,UAAU;YAAE,UAAU,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC;QAEzD,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;YACzI,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBACrD,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ;oBAAE,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACvG,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,EAAE,CAAC;gBAC3B,GAAG,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,aAAa,UAAU,GAAG,EAAE,CAAC,CAAC,CAAC;YAClF,CAAC;YAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAa,EAAE,CAAC;gBAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,IAAI,IAAI,GAAG,EAAE,CAAC;gBACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC;gBACnD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;oBACjB,IAAI,CAAC;wBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAAC,CAAC;gBACvG,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,SAAe,sBAAsB,CAAC,aAAqB,EAAE,QAAgB;;QAC3E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,cAAI,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,IAAI,WAAW,GAAa,EAAE,CAAC;YAC/B,IAAI,aAAa,GAAkB,IAAI,CAAC;YACxC,IAAI,eAAe,GAAG,EAAE,CAAC;YACzB,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,IAAI,sBAAsB,GAAG,CAAC,CAAC;YAE/B,MAAM,WAAW,GAAG,CAAC,MAAc,EAAkC,EAAE;gBACrE,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBACnE,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAC/E,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,CAAC,CAAC;YAEF,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAE7B,iBAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;iBACzB,IAAI,CAAC,MAAM,CAAC;iBACZ,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBAC5B,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBAExC,OAAO,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;oBAC1C,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;wBAC3B,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;wBACxC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;wBAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;wBAClD,eAAe,GAAG,IAAI,CAAC;wBACvB,eAAe,GAAG,IAAI,CAAC;wBACvB,sBAAsB,GAAG,CAAC,CAAC;wBAC3B,WAAW,GAAG,EAAE,CAAC;wBACjB,IAAI,eAAe,KAAK,QAAQ;4BAAE,SAAS,GAAG,IAAI,CAAC;oBACrD,CAAC;oBAED,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;wBACxB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,GAAG,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;wBACtF,IAAI,SAAS;4BAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;wBACjE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;wBACtC,sBAAsB,IAAI,WAAW,CAAC;wBAEtC,IAAI,sBAAsB,KAAK,eAAe,EAAE,CAAC;4BAC/C,IAAI,SAAS,EAAE,CAAC;gCAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;gCAAC,OAAO;4BAAC,CAAC;4BACjF,MAAM,OAAO,GAAG,CAAC,GAAG,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;4BACtD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gCAChB,IAAI,MAAM,CAAC,MAAM,IAAI,OAAO;oCAAE,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;;oCAC3D,MAAM;4BACb,CAAC;4BACD,aAAa,GAAG,IAAI,CAAC;wBACvB,CAAC;6BAAM,CAAC;4BACN,MAAM;wBACR,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,aAAa,GAAG,IAAI,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC,CAAC;iBACD,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS;gBAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;iBACnD,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,gCAAmB,CAAC,6BAA6B,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;IACL,CAAC;CAAA"}