@nrwl/workspace 14.8.7 → 14.9.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (266) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/LICENSE +22 -22
  3. package/README.md +5 -26
  4. package/executors.json +4 -2
  5. package/generators.json +7 -52
  6. package/index.d.ts +4 -10
  7. package/index.js +4 -42
  8. package/index.js.map +1 -1
  9. package/migrations.json +20 -1
  10. package/package.json +33 -44
  11. package/presets/core.json +4 -9
  12. package/presets/npm.json +4 -12
  13. package/src/executors/counter/schema.json +1 -0
  14. package/src/executors/run-commands/schema.json +9 -1
  15. package/src/executors/run-script/schema.json +1 -0
  16. package/src/generators/ci-workflow/ci-workflow.d.ts +1 -1
  17. package/src/generators/ci-workflow/ci-workflow.js +13 -0
  18. package/src/generators/ci-workflow/ci-workflow.js.map +1 -1
  19. package/src/generators/ci-workflow/files/azure/azure-pipelines.yml__tmpl__ +0 -2
  20. package/src/generators/ci-workflow/files/bitbucket-pipelines/bitbucket-pipelines.yml__tmpl__ +36 -0
  21. package/src/generators/ci-workflow/files/circleci/.circleci/config.yml__tmpl__ +1 -4
  22. package/src/generators/ci-workflow/files/github/.github/workflows/__workflowFileName__.yml__tmpl__ +3 -3
  23. package/src/generators/ci-workflow/files/gitlab/.gitlab-ci.yml__tmpl__ +47 -0
  24. package/src/generators/ci-workflow/schema.json +5 -3
  25. package/src/generators/convert-to-nx-project/convert-to-nx-project.d.ts +1 -2
  26. package/src/generators/convert-to-nx-project/convert-to-nx-project.js +62 -38
  27. package/src/generators/convert-to-nx-project/convert-to-nx-project.js.map +1 -1
  28. package/src/generators/convert-to-nx-project/schema.d.ts +2 -0
  29. package/src/generators/convert-to-nx-project/schema.json +11 -6
  30. package/src/generators/library/files/lib/__dot__babelrc__tmpl__ +1 -1
  31. package/src/generators/library/files/lib/tsconfig.lib.json +2 -2
  32. package/src/generators/library/library.d.ts +2 -1
  33. package/src/generators/library/library.js +44 -33
  34. package/src/generators/library/library.js.map +1 -1
  35. package/src/generators/library/schema.d.ts +1 -1
  36. package/src/generators/library/schema.json +9 -4
  37. package/src/generators/move/lib/create-project-configuration-in-new-destination.d.ts +3 -0
  38. package/src/generators/move/lib/{move-project-configuration.js → create-project-configuration-in-new-destination.js} +6 -9
  39. package/src/generators/move/lib/create-project-configuration-in-new-destination.js.map +1 -0
  40. package/src/generators/move/lib/{move-project.d.ts → move-project-files.d.ts} +1 -1
  41. package/src/generators/move/lib/{move-project.js → move-project-files.js} +4 -4
  42. package/src/generators/move/lib/move-project-files.js.map +1 -0
  43. package/src/generators/move/lib/update-cypress-config.js +8 -2
  44. package/src/generators/move/lib/update-cypress-config.js.map +1 -1
  45. package/src/generators/move/lib/update-default-project.js +4 -5
  46. package/src/generators/move/lib/update-default-project.js.map +1 -1
  47. package/src/generators/move/lib/update-implicit-dependencies.d.ts +0 -2
  48. package/src/generators/move/lib/update-implicit-dependencies.js +0 -2
  49. package/src/generators/move/lib/update-implicit-dependencies.js.map +1 -1
  50. package/src/generators/move/lib/update-imports.js +28 -18
  51. package/src/generators/move/lib/update-imports.js.map +1 -1
  52. package/src/generators/move/move.js +5 -4
  53. package/src/generators/move/move.js.map +1 -1
  54. package/src/generators/move/schema.json +2 -1
  55. package/src/generators/{workspace/files → new/files-integrated-repo}/__dot__gitignore +2 -2
  56. package/src/generators/{workspace/files → new/files-integrated-repo}/__dot__vscode/extensions.json__tmpl__ +1 -1
  57. package/src/generators/new/files-integrated-repo/package.json__tmpl__ +14 -0
  58. package/src/generators/new/files-package-based-repo/__dot__gitignore +39 -0
  59. package/src/generators/new/files-package-based-repo/__dot__vscode/extensions.json__tmpl__ +8 -0
  60. package/src/generators/new/files-package-based-repo/package.json__tmpl__ +13 -0
  61. package/src/generators/new/files-readme/README.md.template +21 -0
  62. package/src/generators/new/files-root-app/__dot__gitignore +39 -0
  63. package/src/generators/new/files-root-app/__dot__vscode/extensions.json__tmpl__ +6 -0
  64. package/src/generators/new/files-root-app/package.json__tmpl__ +14 -0
  65. package/src/generators/new/generate-preset.d.ts +4 -0
  66. package/src/generators/new/generate-preset.js +131 -0
  67. package/src/generators/new/generate-preset.js.map +1 -0
  68. package/src/generators/new/generate-workspace-files.d.ts +3 -0
  69. package/src/generators/{workspace/workspace.js → new/generate-workspace-files.js} +81 -72
  70. package/src/generators/new/generate-workspace-files.js.map +1 -0
  71. package/src/generators/new/new.d.ts +11 -6
  72. package/src/generators/new/new.js +41 -212
  73. package/src/generators/new/new.js.map +1 -1
  74. package/src/generators/new/schema.json +16 -7
  75. package/src/generators/npm-package/npm-package.js +3 -6
  76. package/src/generators/npm-package/npm-package.js.map +1 -1
  77. package/src/generators/preset/preset.d.ts +1 -2
  78. package/src/generators/preset/preset.js +57 -255
  79. package/src/generators/preset/preset.js.map +1 -1
  80. package/src/generators/preset/schema.d.ts +5 -1
  81. package/src/generators/preset/schema.json +34 -7
  82. package/src/generators/remove/lib/check-project-is-safe-to-remove.d.ts +3 -0
  83. package/src/generators/remove/lib/check-project-is-safe-to-remove.js +26 -0
  84. package/src/generators/remove/lib/check-project-is-safe-to-remove.js.map +1 -0
  85. package/src/generators/remove/lib/check-targets.d.ts +1 -1
  86. package/src/generators/remove/lib/check-targets.js +33 -29
  87. package/src/generators/remove/lib/check-targets.js.map +1 -1
  88. package/src/generators/remove/lib/remove-project-references-in-config.d.ts +3 -0
  89. package/src/generators/remove/lib/remove-project-references-in-config.js +22 -0
  90. package/src/generators/remove/lib/remove-project-references-in-config.js.map +1 -0
  91. package/src/generators/remove/lib/update-jest-config.js +10 -5
  92. package/src/generators/remove/lib/update-jest-config.js.map +1 -1
  93. package/src/generators/remove/lib/update-tsconfig.d.ts +2 -2
  94. package/src/generators/remove/lib/update-tsconfig.js +23 -15
  95. package/src/generators/remove/lib/update-tsconfig.js.map +1 -1
  96. package/src/generators/remove/remove.js +6 -4
  97. package/src/generators/remove/remove.js.map +1 -1
  98. package/src/generators/remove/schema.json +2 -1
  99. package/src/generators/run-commands/run-commands.js +3 -1
  100. package/src/generators/run-commands/run-commands.js.map +1 -1
  101. package/src/generators/run-commands/schema.json +2 -1
  102. package/src/generators/utils/insert-import.js +10 -5
  103. package/src/generators/utils/insert-import.js.map +1 -1
  104. package/src/generators/utils/insert-statement.js +8 -3
  105. package/src/generators/utils/insert-statement.js.map +1 -1
  106. package/src/generators/utils/presets.d.ts +6 -5
  107. package/src/generators/utils/presets.js +5 -4
  108. package/src/generators/utils/presets.js.map +1 -1
  109. package/src/generators/workspace-generator/schema.json +3 -2
  110. package/src/migrations/update-12-5-0/add-target-dependencies.js +2 -2
  111. package/src/migrations/update-12-5-0/add-target-dependencies.js.map +1 -1
  112. package/src/migrations/update-13-0-0/config-locations/config-locations.d.ts +1 -1
  113. package/src/migrations/update-13-0-0/config-locations/config-locations.js +19 -9
  114. package/src/migrations/update-13-0-0/config-locations/config-locations.js.map +1 -1
  115. package/src/migrations/update-13-0-0/set-default-base-if-not-set.js +2 -2
  116. package/src/migrations/update-13-0-0/set-default-base-if-not-set.js.map +1 -1
  117. package/src/migrations/update-13-10-0/update-tasks-runner.js +4 -3
  118. package/src/migrations/update-13-10-0/update-tasks-runner.js.map +1 -1
  119. package/src/migrations/update-13-2-0/set-parallel-default.js +2 -2
  120. package/src/migrations/update-13-2-0/set-parallel-default.js.map +1 -1
  121. package/src/migrations/update-13-6-0/remove-old-task-runner-options.js +3 -3
  122. package/src/migrations/update-13-6-0/remove-old-task-runner-options.js.map +1 -1
  123. package/src/migrations/update-14-0-0/change-npm-script-executor.js +1 -1
  124. package/src/migrations/update-14-0-0/change-npm-script-executor.js.map +1 -1
  125. package/src/migrations/update-14-0-0/change-nx-json-presets.js +3 -3
  126. package/src/migrations/update-14-0-0/change-nx-json-presets.js.map +1 -1
  127. package/src/migrations/update-14-2-0/enable-source-analysis.js +14 -13
  128. package/src/migrations/update-14-2-0/enable-source-analysis.js.map +1 -1
  129. package/src/migrations/update-14-8-0/change-run-commands-executor.js +1 -1
  130. package/src/migrations/update-14-8-0/change-run-commands-executor.js.map +1 -1
  131. package/src/migrations/update-15-7-0/split-configuration-into-project-json-files.d.ts +3 -0
  132. package/src/migrations/update-15-7-0/split-configuration-into-project-json-files.js +15 -0
  133. package/src/migrations/update-15-7-0/split-configuration-into-project-json-files.js.map +1 -0
  134. package/src/utilities/assets.d.ts +2 -2
  135. package/src/utilities/buildable-libs-utils.d.ts +18 -7
  136. package/src/utilities/buildable-libs-utils.js +28 -13
  137. package/src/utilities/buildable-libs-utils.js.map +1 -1
  138. package/src/utilities/plugins/plugin-capabilities.d.ts +1 -3
  139. package/src/utilities/plugins/plugin-capabilities.js +2 -75
  140. package/src/utilities/plugins/plugin-capabilities.js.map +1 -1
  141. package/src/utilities/run-tasks-in-serial.d.ts +6 -0
  142. package/src/utilities/run-tasks-in-serial.js +6 -0
  143. package/src/utilities/run-tasks-in-serial.js.map +1 -1
  144. package/src/utilities/set-default-collection.js +5 -5
  145. package/src/utilities/set-default-collection.js.map +1 -1
  146. package/src/utilities/ts-config.d.ts +5 -0
  147. package/src/utilities/ts-config.js +40 -0
  148. package/src/utilities/ts-config.js.map +1 -0
  149. package/src/utilities/typescript/compilation.d.ts +1 -1
  150. package/src/utilities/typescript/compilation.js +22 -12
  151. package/src/utilities/typescript/compilation.js.map +1 -1
  152. package/src/utilities/typescript/find-nodes.d.ts +5 -2
  153. package/src/utilities/typescript/find-nodes.js +7 -25
  154. package/src/utilities/typescript/find-nodes.js.map +1 -1
  155. package/src/utilities/typescript/get-source-nodes.d.ts +4 -1
  156. package/src/utilities/typescript/get-source-nodes.js +3 -0
  157. package/src/utilities/typescript/get-source-nodes.js.map +1 -1
  158. package/src/utilities/typescript.d.ts +8 -4
  159. package/src/utilities/typescript.js +21 -38
  160. package/src/utilities/typescript.js.map +1 -1
  161. package/src/utilities/version-utils.d.ts +3 -0
  162. package/src/utilities/version-utils.js +7 -12
  163. package/src/utilities/version-utils.js.map +1 -1
  164. package/src/utils/ast-utils.d.ts +0 -123
  165. package/src/utils/ast-utils.js +5 -546
  166. package/src/utils/ast-utils.js.map +1 -1
  167. package/src/utils/cli-config-utils.d.ts +4 -3
  168. package/src/utils/cli-config-utils.js +4 -45
  169. package/src/utils/cli-config-utils.js.map +1 -1
  170. package/src/utils/lint.d.ts +0 -32
  171. package/src/utils/lint.js +0 -262
  172. package/src/utils/lint.js.map +1 -1
  173. package/src/utils/project-type.d.ts +1 -3
  174. package/src/utils/project-type.js +1 -8
  175. package/src/utils/project-type.js.map +1 -1
  176. package/src/utils/rules/add-install-task.d.ts +1 -1
  177. package/src/utils/rules/add-install-task.js +2 -2
  178. package/src/utils/rules/add-install-task.js.map +1 -1
  179. package/src/utils/rules/deleteFile.d.ts +1 -1
  180. package/src/utils/rules/format-files.js +0 -19
  181. package/src/utils/rules/format-files.js.map +1 -1
  182. package/src/utils/rules/workspace.d.ts +1 -1
  183. package/src/utils/strings.d.ts +12 -0
  184. package/src/utils/strings.js +12 -0
  185. package/src/utils/strings.js.map +1 -1
  186. package/src/utils/testing-utils.d.ts +1 -1
  187. package/src/utils/testing-utils.js +6 -6
  188. package/src/utils/testing-utils.js.map +1 -1
  189. package/src/utils/testing.d.ts +1 -1
  190. package/src/utils/versions.d.ts +3 -4
  191. package/src/utils/versions.js +6 -5
  192. package/src/utils/versions.js.map +1 -1
  193. package/src/utils/workspace.d.ts +1 -1
  194. package/src/generators/convert-to-nx-project/utils/get-project-configuration-path.d.ts +0 -2
  195. package/src/generators/convert-to-nx-project/utils/get-project-configuration-path.js +0 -9
  196. package/src/generators/convert-to-nx-project/utils/get-project-configuration-path.js.map +0 -1
  197. package/src/generators/move/lib/move-project-configuration.d.ts +0 -3
  198. package/src/generators/move/lib/move-project-configuration.js.map +0 -1
  199. package/src/generators/move/lib/move-project.js.map +0 -1
  200. package/src/generators/preset/files/pnpm-workspace/pnpm-workspace.yaml +0 -2
  201. package/src/generators/remove/lib/remove-project-config.d.ts +0 -8
  202. package/src/generators/remove/lib/remove-project-config.js +0 -32
  203. package/src/generators/remove/lib/remove-project-config.js.map +0 -1
  204. package/src/generators/utils/decorate-angular-cli.js__tmpl__ +0 -69
  205. package/src/generators/workspace/files/README.md__tmpl__ +0 -186
  206. package/src/generators/workspace/files/__dot__prettierignore +0 -4
  207. package/src/generators/workspace/files/package.json__tmpl__ +0 -18
  208. package/src/generators/workspace/schema.d.ts +0 -15
  209. package/src/generators/workspace/schema.json +0 -77
  210. package/src/generators/workspace/workspace.d.ts +0 -7
  211. package/src/generators/workspace/workspace.js.map +0 -1
  212. package/src/tslint/nxEnforceModuleBoundariesRule.d.ts +0 -14
  213. package/src/tslint/nxEnforceModuleBoundariesRule.js +0 -177
  214. package/src/tslint/nxEnforceModuleBoundariesRule.js.map +0 -1
  215. package/src/utilities/ast-utils.d.ts +0 -22
  216. package/src/utilities/ast-utils.js +0 -182
  217. package/src/utilities/ast-utils.js.map +0 -1
  218. package/src/utilities/create-package-json.d.ts +0 -10
  219. package/src/utilities/create-package-json.js +0 -87
  220. package/src/utilities/create-package-json.js.map +0 -1
  221. package/src/utilities/executor-options-utils.d.ts +0 -13
  222. package/src/utilities/executor-options-utils.js +0 -36
  223. package/src/utilities/executor-options-utils.js.map +0 -1
  224. package/src/utilities/generate-globs.d.ts +0 -6
  225. package/src/utilities/generate-globs.js +0 -75
  226. package/src/utilities/generate-globs.js.map +0 -1
  227. package/src/utilities/prettier.d.ts +0 -6
  228. package/src/utilities/prettier.js +0 -38
  229. package/src/utilities/prettier.js.map +0 -1
  230. package/src/utils/app-root.d.ts +0 -1
  231. package/src/utils/app-root.js +0 -8
  232. package/src/utils/app-root.js.map +0 -1
  233. package/src/utils/graph-utils.d.ts +0 -5
  234. package/src/utils/graph-utils.js +0 -116
  235. package/src/utils/graph-utils.js.map +0 -1
  236. package/src/utils/rules/check-project-exists.d.ts +0 -10
  237. package/src/utils/rules/check-project-exists.js +0 -24
  238. package/src/utils/rules/check-project-exists.js.map +0 -1
  239. package/src/utils/rules/move-npm-packages.d.ts +0 -11
  240. package/src/utils/rules/move-npm-packages.js +0 -76
  241. package/src/utils/rules/move-npm-packages.js.map +0 -1
  242. package/src/utils/rules/rename-npm-packages.d.ts +0 -10
  243. package/src/utils/rules/rename-npm-packages.js +0 -81
  244. package/src/utils/rules/rename-npm-packages.js.map +0 -1
  245. package/src/utils/rules/rename-package-imports.d.ts +0 -10
  246. package/src/utils/rules/rename-package-imports.js +0 -58
  247. package/src/utils/rules/rename-package-imports.js.map +0 -1
  248. package/src/utils/rules/to-js.d.ts +0 -8
  249. package/src/utils/rules/to-js.js +0 -77
  250. package/src/utils/rules/to-js.js.map +0 -1
  251. package/src/utils/rules/update-karma-conf.d.ts +0 -8
  252. package/src/utils/rules/update-karma-conf.js +0 -36
  253. package/src/utils/rules/update-karma-conf.js.map +0 -1
  254. package/src/utils/runtime-lint-utils.d.ts +0 -80
  255. package/src/utils/runtime-lint-utils.js +0 -307
  256. package/src/utils/runtime-lint-utils.js.map +0 -1
  257. package/src/utils/update-packages-in-package-json.d.ts +0 -3
  258. package/src/utils/update-packages-in-package-json.js +0 -56
  259. package/src/utils/update-packages-in-package-json.js.map +0 -1
  260. package/src/utils/update-task.d.ts +0 -2
  261. package/src/utils/update-task.js +0 -83
  262. package/src/utils/update-task.js.map +0 -1
  263. /package/src/generators/{workspace/files → library/files/root}/tsconfig.base.json +0 -0
  264. /package/src/generators/{workspace/files → new/files-integrated-repo}/__dot__editorconfig +0 -0
  265. /package/src/generators/{workspace/files → new/files-integrated-repo}/tools/generators/.gitkeep +0 -0
  266. /package/src/generators/{workspace/files → new/files-integrated-repo}/tools/tsconfig.tools.json +0 -0
@@ -1,83 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addUpdateTask = void 0;
4
- const Observable_1 = require("rxjs/internal/Observable");
5
- const child_process_1 = require("child_process");
6
- const path_1 = require("path");
7
- const ast_utils_1 = require("./ast-utils");
8
- let taskRegistered = false;
9
- function addUpdateTask(pkg, to, dependencies = []) {
10
- return (host, context) => {
11
- // Workflow should always be there during ng update but not during tests.
12
- if (!context.engine.workflow) {
13
- return;
14
- }
15
- const packageJson = (0, ast_utils_1.readJsonInTree)(host, 'package.json');
16
- if (!packageJson.dependencies[pkg] && !packageJson.devDependencies[pkg]) {
17
- return;
18
- }
19
- if (!taskRegistered) {
20
- const engineHost = context.engine.workflow._engineHost;
21
- engineHost.registerTaskExecutor(createRunUpdateTask());
22
- taskRegistered = true;
23
- }
24
- context.engine._taskSchedulers.forEach((scheduler) => {
25
- if (scheduler._queue.peek() &&
26
- scheduler._queue.peek().configuration.name === 'RunUpdate' &&
27
- scheduler._queue.peek().configuration.options.package === pkg) {
28
- scheduler._queue.pop();
29
- }
30
- });
31
- context.addTask(new RunUpdateTask(pkg, to), dependencies);
32
- };
33
- }
34
- exports.addUpdateTask = addUpdateTask;
35
- class RunUpdateTask {
36
- constructor(_pkg, _to) {
37
- this._pkg = _pkg;
38
- this._to = _to;
39
- }
40
- toConfiguration() {
41
- return {
42
- name: 'RunUpdate',
43
- options: {
44
- package: this._pkg,
45
- to: this._to,
46
- },
47
- };
48
- }
49
- }
50
- function createRunUpdateTask() {
51
- return {
52
- name: 'RunUpdate',
53
- create: () => {
54
- return Promise.resolve((options, context) => {
55
- context.logger.info(`Updating ${options.package} to ${options.to}`);
56
- const forkOptions = {
57
- stdio: [process.stdin, process.stdout, process.stderr, 'ipc'],
58
- shell: true,
59
- };
60
- const ng = (0, path_1.join)('./node_modules', '@angular/cli', 'bin/ng');
61
- const args = [
62
- 'update',
63
- `${options.package}@${options.to}`,
64
- '--force',
65
- '--allow-dirty',
66
- ].filter((e) => !!e);
67
- return new Observable_1.Observable((obs) => {
68
- (0, child_process_1.fork)(ng, args, forkOptions).on('close', (code) => {
69
- if (code === 0) {
70
- obs.next();
71
- obs.complete();
72
- }
73
- else {
74
- const message = `${options.package} migration failed, see above.`;
75
- obs.error(new Error(message));
76
- }
77
- });
78
- });
79
- });
80
- },
81
- };
82
- }
83
- //# sourceMappingURL=update-task.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"update-task.js","sourceRoot":"","sources":["../../../../../packages/workspace/src/utils/update-task.ts"],"names":[],"mappings":";;;AAUA,yDAAsD;AACtD,iDAAqC;AACrC,+BAA4B;AAC5B,2CAA6C;AAE7C,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,SAAgB,aAAa,CAC3B,GAAW,EACX,EAAU,EACV,eAAyB,EAAE;IAE3B,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,yEAAyE;QACzE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,WAAW,GAAG,IAAA,0BAAc,EAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACvE,OAAO;SACR;QACD,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,UAAU,GAAI,OAAO,CAAC,MAAM,CAAC,QAAgB,CAAC,WAAW,CAAC;YAChE,UAAU,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,CAAC,CAAC;YAEvD,cAAc,GAAG,IAAI,CAAC;SACvB;QACA,OAAO,CAAC,MAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC5D,IACE,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE;gBACvB,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,WAAW;gBAC1D,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,KAAK,GAAG,EAC7D;gBACA,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;aACxB;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC,CAAC;AACJ,CAAC;AAhCD,sCAgCC;AAOD,MAAM,aAAa;IACjB,YAAoB,IAAY,EAAU,GAAW;QAAjC,SAAI,GAAJ,IAAI,CAAQ;QAAU,QAAG,GAAH,GAAG,CAAQ;IAAG,CAAC;IAEzD,eAAe;QACb,OAAO;YACL,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,EAAE,EAAE,IAAI,CAAC,GAAG;aACb;SACF,CAAC;IACJ,CAAC;CACF;AAED,SAAS,mBAAmB;IAC1B,OAAO;QACL,IAAI,EAAE,WAAW;QACjB,MAAM,EAAE,GAAG,EAAE;YACX,OAAO,OAAO,CAAC,OAAO,CACpB,CAAC,OAA0B,EAAE,OAAyB,EAAE,EAAE;gBACxD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;gBACpE,MAAM,WAAW,GAAG;oBAClB,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC;oBAC7D,KAAK,EAAE,IAAI;iBACZ,CAAC;gBACF,MAAM,EAAE,GAAG,IAAA,WAAI,EAAC,gBAAgB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;gBAC5D,MAAM,IAAI,GAAG;oBACX,QAAQ;oBACR,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,EAAE;oBAClC,SAAS;oBACT,eAAe;iBAChB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrB,OAAO,IAAI,uBAAU,CAAC,CAAC,GAAG,EAAE,EAAE;oBAC5B,IAAA,oBAAI,EAAC,EAAE,EAAE,IAAI,EAAE,WAAkB,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,EAAE;wBAC9D,IAAI,IAAI,KAAK,CAAC,EAAE;4BACd,GAAG,CAAC,IAAI,EAAE,CAAC;4BACX,GAAG,CAAC,QAAQ,EAAE,CAAC;yBAChB;6BAAM;4BACL,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,OAAO,+BAA+B,CAAC;4BAClE,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;yBAC/B;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CACF,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}