@analogjs/vite-plugin-angular 1.0.0-beta.2 → 1.0.0-beta.3

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 (36) hide show
  1. package/package.json +4 -1
  2. package/setup-vitest.js +7 -2
  3. package/setup-vitest.js.map +1 -1
  4. package/src/index.d.ts +1 -0
  5. package/src/index.js +1 -0
  6. package/src/index.js.map +1 -1
  7. package/src/lib/angular-build-optimizer-plugin.js +48 -51
  8. package/src/lib/angular-build-optimizer-plugin.js.map +1 -1
  9. package/src/lib/angular-jit-plugin.js +14 -17
  10. package/src/lib/angular-jit-plugin.js.map +1 -1
  11. package/src/lib/angular-vite-plugin.d.ts +7 -1
  12. package/src/lib/angular-vite-plugin.js +279 -244
  13. package/src/lib/angular-vite-plugin.js.map +1 -1
  14. package/src/lib/angular-vitest-plugin.js +15 -18
  15. package/src/lib/angular-vitest-plugin.js.map +1 -1
  16. package/src/lib/authoring/analog.d.ts +1 -0
  17. package/src/lib/authoring/analog.js +342 -0
  18. package/src/lib/authoring/analog.js.map +1 -0
  19. package/src/lib/authoring/constants.d.ts +10 -0
  20. package/src/lib/authoring/constants.js +18 -0
  21. package/src/lib/authoring/constants.js.map +1 -0
  22. package/src/lib/authoring/frontmatter.d.ts +1 -0
  23. package/src/lib/authoring/frontmatter.js +10 -0
  24. package/src/lib/authoring/frontmatter.js.map +1 -0
  25. package/src/lib/authoring/marked-setup.service.d.ts +19 -0
  26. package/src/lib/authoring/marked-setup.service.js +91 -0
  27. package/src/lib/authoring/marked-setup.service.js.map +1 -0
  28. package/src/lib/compiler-plugin.js +12 -15
  29. package/src/lib/compiler-plugin.js.map +1 -1
  30. package/src/lib/component-resolvers.js +8 -12
  31. package/src/lib/component-resolvers.js.map +1 -1
  32. package/src/lib/host.d.ts +2 -0
  33. package/src/lib/host.js +70 -21
  34. package/src/lib/host.js.map +1 -1
  35. package/src/lib/utils/source-file-cache.js +5 -3
  36. package/src/lib/utils/source-file-cache.js.map +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"marked-setup.service.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/authoring/marked-setup.service.ts"],"names":[],"mappings":"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"}
@@ -5,25 +5,22 @@
5
5
  * Use of this source code is governed by an MIT-style license that can be
6
6
  * found in the LICENSE file at https://angular.dev/license
7
7
  */
8
- import { __awaiter } from "tslib";
9
8
  import { JavaScriptTransformer, } from './utils/devkit.js';
10
9
  export function createCompilerPlugin(pluginOptions, isTest) {
11
- const javascriptTransformer = new JavaScriptTransformer(pluginOptions, 1);
10
+ const javascriptTransformer = new JavaScriptTransformer({ ...pluginOptions, jit: true }, 1);
12
11
  return {
13
12
  name: 'analogjs-angular-esbuild-deps-optimizer-plugin',
14
- setup(build) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- if (!isTest) {
17
- build.onLoad({ filter: /\.[cm]?js$/ }, (args) => __awaiter(this, void 0, void 0, function* () {
18
- const contents = yield javascriptTransformer.transformFile(args.path);
19
- return {
20
- contents,
21
- loader: 'js',
22
- };
23
- }));
24
- }
25
- build.onEnd(() => javascriptTransformer.close());
26
- });
13
+ async setup(build) {
14
+ if (!isTest) {
15
+ build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => {
16
+ const contents = await javascriptTransformer.transformFile(args.path);
17
+ return {
18
+ contents,
19
+ loader: 'js',
20
+ };
21
+ });
22
+ }
23
+ build.onEnd(() => javascriptTransformer.close());
27
24
  },
28
25
  };
29
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compiler-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/compiler-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;;AAIH,OAAO,EAEL,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,UAAU,oBAAoB,CAClC,aAAoC,EACpC,MAAe;IAEf,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;IAE1E,OAAO;QACL,IAAI,EAAE,gDAAgD;QAChD,KAAK,CAAC,KAAK;;gBACf,IAAI,CAAC,MAAM,EAAE;oBACX,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,CAAO,IAAI,EAAE,EAAE;wBACpD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAEtE,OAAO;4BACL,QAAQ;4BACR,MAAM,EAAE,IAAI;yBACb,CAAC;oBACJ,CAAC,CAAA,CAAC,CAAC;iBACJ;gBAED,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,CAAC;SAAA;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"compiler-plugin.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/compiler-plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAEL,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAK3B,MAAM,UAAU,oBAAoB,CAClC,aAAoC,EACpC,MAAe;IAEf,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACrD,EAAE,GAAG,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,EAC/B,CAAC,CACF,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,gDAAgD;QACtD,KAAK,CAAC,KAAK,CAAC,KAAK;YACf,IAAI,CAAC,MAAM,EAAE;gBACX,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;oBACpD,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAEtE,OAAO;wBACL,QAAQ;wBACR,MAAM,EAAE,IAAI;qBACb,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;YAED,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -7,13 +7,11 @@ export function hasStyleUrls(code) {
7
7
  }
8
8
  const EMPTY_ARRAY = [];
9
9
  export class StyleUrlsResolver {
10
- constructor() {
11
- // These resolvers may be called multiple times during the same
12
- // compilation for the same files. Caching is required because these
13
- // resolvers use synchronous system calls to the filesystem, which can
14
- // degrade performance when running compilations for multiple files.
15
- this.styleUrlsCache = new Map();
16
- }
10
+ // These resolvers may be called multiple times during the same
11
+ // compilation for the same files. Caching is required because these
12
+ // resolvers use synchronous system calls to the filesystem, which can
13
+ // degrade performance when running compilations for multiple files.
14
+ styleUrlsCache = new Map();
17
15
  resolve(code, id) {
18
16
  const styleUrlsExecArray = styleUrlsRE.exec(code);
19
17
  if (styleUrlsExecArray === null) {
@@ -32,7 +30,7 @@ export class StyleUrlsResolver {
32
30
  // resulting in the resolver being called multiple times. While the code changes, the
33
31
  // `styleUrls` may remain constant, which means we should always return the previously
34
32
  // resolved style URLs.
35
- if ((entry === null || entry === void 0 ? void 0 : entry.matchedStyleUrls) === matchedStyleUrls) {
33
+ if (entry?.matchedStyleUrls === matchedStyleUrls) {
36
34
  return entry.styleUrls;
37
35
  }
38
36
  // The `styleUrls` property is an array, which means we may have a list of
@@ -55,12 +53,10 @@ export function hasTemplateUrl(code) {
55
53
  return code.includes('templateUrl:');
56
54
  }
57
55
  export class TemplateUrlsResolver {
58
- constructor() {
59
- this.templateUrlsCache = new Map();
60
- }
56
+ templateUrlsCache = new Map();
61
57
  resolve(code, id) {
62
58
  const entry = this.templateUrlsCache.get(id);
63
- if ((entry === null || entry === void 0 ? void 0 : entry.code) === code) {
59
+ if (entry?.code === code) {
64
60
  return entry.templateUrlPaths;
65
61
  }
66
62
  const templateUrlGroup = Array.from(code.matchAll(templateUrlRE));
@@ -1 +1 @@
1
- {"version":3,"file":"component-resolvers.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/component-resolvers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component-resolvers.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/component-resolvers.ts"],"names":[],"mappings":"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"}
package/src/lib/host.d.ts CHANGED
@@ -3,4 +3,6 @@ export declare function augmentHostWithResources(host: ts.CompilerHost, transfor
3
3
  ssr?: boolean;
4
4
  }) => ReturnType<any> | null, options?: {
5
5
  inlineStylesExtension?: string;
6
+ supportAnalogFormat?: boolean;
7
+ isProd?: boolean;
6
8
  }): void;
package/src/lib/host.js CHANGED
@@ -1,36 +1,85 @@
1
- import { __awaiter } from "tslib";
2
1
  import { normalizePath } from '@ngtools/webpack/src/ivy/paths.js';
2
+ import { readFileSync } from 'node:fs';
3
+ import { compileAnalogFile } from './authoring/analog.js';
4
+ import { MarkedSetupService } from './authoring/marked-setup.service.js';
5
+ import { TEMPLATE_TAG_REGEX } from './authoring/constants.js';
6
+ import { createRequire } from 'node:module';
7
+ const require = createRequire(import.meta.url);
3
8
  export function augmentHostWithResources(host, transform, options = {}) {
9
+ const ts = require('typescript');
4
10
  const resourceHost = host;
5
- resourceHost.readResource = function (fileName) {
11
+ const baseGetSourceFile = resourceHost.getSourceFile.bind(resourceHost);
12
+ if (options.supportAnalogFormat) {
13
+ resourceHost.getSourceFile = (fileName, languageVersionOrOptions, onError, ...parameters) => {
14
+ if (fileName.includes('.analog') || fileName.includes('.agx.ts')) {
15
+ const contents = readFileSync(fileName.replace('.analog.ts', '.analog').replace('.agx.ts', '.agx'), 'utf-8');
16
+ const source = compileAnalogFile(fileName, contents, options.isProd);
17
+ return ts.createSourceFile(fileName, source, languageVersionOrOptions, onError, ...parameters);
18
+ }
19
+ return baseGetSourceFile.call(resourceHost, fileName, languageVersionOrOptions, onError, ...parameters);
20
+ };
21
+ const baseReadFile = resourceHost.readFile;
22
+ resourceHost.readFile = function (fileName) {
23
+ if (fileName.includes('virtual-analog:')) {
24
+ const filePath = fileName.split('virtual-analog:')[1];
25
+ const fileContent = baseReadFile.call(resourceHost, filePath) ||
26
+ 'No Analog Markdown Content Found';
27
+ // eslint-disable-next-line prefer-const
28
+ const templateContent = TEMPLATE_TAG_REGEX.exec(fileContent)?.pop()?.trim() || '';
29
+ return templateContent;
30
+ }
31
+ return baseReadFile.call(resourceHost, fileName);
32
+ };
33
+ const fileExists = resourceHost.fileExists;
34
+ resourceHost.fileExists = function (fileName) {
35
+ if (fileName.includes('virtual-analog:') &&
36
+ !fileName.endsWith('analog.d')) {
37
+ return true;
38
+ }
39
+ return fileExists.call(resourceHost, fileName);
40
+ };
41
+ }
42
+ resourceHost.readResource = async function (fileName) {
6
43
  const filePath = normalizePath(fileName);
7
44
  const content = this.readFile(filePath);
8
45
  if (content === undefined) {
9
46
  throw new Error('Unable to locate component resource: ' + fileName);
10
47
  }
48
+ if (fileName.includes('virtual-analog:')) {
49
+ // read template sections, parse markdown
50
+ const markedSetupService = new MarkedSetupService();
51
+ const mdContent = markedSetupService
52
+ .getMarkedInstance()
53
+ .parse(content);
54
+ return mdContent;
55
+ }
11
56
  return content;
12
57
  };
13
- resourceHost.transformResource = function (data, context) {
14
- var _a;
15
- return __awaiter(this, void 0, void 0, function* () {
16
- // Only style resources are supported currently
17
- if (context.type !== 'style') {
18
- return null;
58
+ resourceHost.transformResource = async function (data, context) {
59
+ // Only style resources are supported currently
60
+ if (context.type !== 'style') {
61
+ return null;
62
+ }
63
+ if (options.inlineStylesExtension) {
64
+ // Resource file only exists for external stylesheets
65
+ const filename = context.resourceFile ??
66
+ `${context.containingFile.replace(/(\.analog)?\.ts$/, (...args) => {
67
+ // NOTE: if the original file name contains `.analog`, we turn that into `-analog.css`
68
+ if (args.includes('.analog') || args.includes('.agx')) {
69
+ return `-analog.${options?.inlineStylesExtension}`;
70
+ }
71
+ return `.${options?.inlineStylesExtension}`;
72
+ })}`;
73
+ let stylesheetResult;
74
+ try {
75
+ stylesheetResult = await transform(data, `${filename}?direct`);
19
76
  }
20
- if (options.inlineStylesExtension) {
21
- // Resource file only exists for external stylesheets
22
- const filename = (_a = context.resourceFile) !== null && _a !== void 0 ? _a : `${context.containingFile.replace(/\.ts$/, `.${options === null || options === void 0 ? void 0 : options.inlineStylesExtension}`)}`;
23
- let stylesheetResult;
24
- try {
25
- stylesheetResult = yield transform(data, `${filename}?direct`);
26
- }
27
- catch (e) {
28
- console.error(`${e}`);
29
- }
30
- return { content: (stylesheetResult === null || stylesheetResult === void 0 ? void 0 : stylesheetResult.code) || '' };
77
+ catch (e) {
78
+ console.error(`${e}`);
31
79
  }
32
- return null;
33
- });
80
+ return { content: stylesheetResult?.code || '' };
81
+ }
82
+ return null;
34
83
  };
35
84
  }
36
85
  //# sourceMappingURL=host.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,MAAM,UAAU,wBAAwB,CACtC,IAAqB,EACrB,SAI2B,EAC3B,UAEI,EAAE;IAEN,MAAM,YAAY,GAAG,IAAoB,CAAC;IAE1C,YAAY,CAAC,YAAY,GAAG,UAAU,QAAgB;QACpD,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEzC,MAAM,OAAO,GAAI,IAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,QAAQ,CAAC,CAAC;SACrE;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,YAAY,CAAC,iBAAiB,GAAG,UAAgB,IAAI,EAAE,OAAO;;;YAC5D,+CAA+C;YAC/C,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC5B,OAAO,IAAI,CAAC;aACb;YAED,IAAI,OAAO,CAAC,qBAAqB,EAAE;gBACjC,qDAAqD;gBACrD,MAAM,QAAQ,GACZ,MAAA,OAAO,CAAC,YAAY,mCACpB,GAAG,OAAO,CAAC,cAAc,CAAC,OAAO,CAC/B,OAAO,EACP,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,EAAE,CACrC,EAAE,CAAC;gBAEN,IAAI,gBAAgB,CAAC;gBAErB,IAAI;oBACF,gBAAgB,GAAG,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,QAAQ,SAAS,CAAC,CAAC;iBAChE;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACvB;gBAED,OAAO,EAAE,OAAO,EAAE,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,KAAI,EAAE,EAAE,CAAC;aAClD;YAED,OAAO,IAAI,CAAC;;KACb,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../../../../../packages/vite-plugin-angular/src/lib/host.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,14 @@ import { pathToFileURL } from 'node:url';
11
11
  const USING_WINDOWS = platform() === 'win32';
12
12
  const WINDOWS_SEP_REGEXP = new RegExp(`\\${path.win32.sep}`, 'g');
13
13
  export class SourceFileCache extends Map {
14
+ persistentCachePath;
15
+ modifiedFiles = new Set();
16
+ babelFileCache = new Map();
17
+ typeScriptFileCache = new Map();
18
+ referencedFiles;
14
19
  constructor(persistentCachePath) {
15
20
  super();
16
21
  this.persistentCachePath = persistentCachePath;
17
- this.modifiedFiles = new Set();
18
- this.babelFileCache = new Map();
19
- this.typeScriptFileCache = new Map();
20
22
  }
21
23
  invalidate(files) {
22
24
  if (files !== this.modifiedFiles) {
@@ -1 +1 @@
1
- {"version":3,"file":"source-file-cache.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/utils/source-file-cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;AAC7C,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;AAElE,MAAM,OAAO,eAAgB,SAAQ,GAA0B;IAO7D,YAAqB,mBAA4B;QAC/C,KAAK,EAAE,CAAC;QADW,wBAAmB,GAAnB,mBAAmB,CAAS;QANxC,kBAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,mBAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;QAC/C,wBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAMtE,CAAC;IAED,UAAU,CAAC,KAAuB;QAChC,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5B;QACD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAE1D,+DAA+D;YAC/D,IAAI,aAAa,EAAE;gBACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACzD;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"source-file-cache.js","sourceRoot":"","sources":["../../../../../../packages/vite-plugin-angular/src/lib/utils/source-file-cache.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,MAAM,aAAa,GAAG,QAAQ,EAAE,KAAK,OAAO,CAAC;AAC7C,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,CAAC,CAAC;AAElE,MAAM,OAAO,eAAgB,SAAQ,GAA0B;IAOxC;IANZ,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,cAAc,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,mBAAmB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEtE,eAAe,CAAqB;IAEpC,YAAqB,mBAA4B;QAC/C,KAAK,EAAE,CAAC;QADW,wBAAmB,GAAnB,mBAAmB,CAAS;IAEjD,CAAC;IAED,UAAU,CAAC,KAAuB;QAChC,IAAI,KAAK,KAAK,IAAI,CAAC,aAAa,EAAE;YAChC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;SAC5B;QACD,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;YAE1D,+DAA+D;YAC/D,IAAI,aAAa,EAAE;gBACjB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;aACzD;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAC9B;IACH,CAAC;CACF"}