@angular-devkit/build-angular 17.0.0-next.9 → 17.0.0-rc.1

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 (244) hide show
  1. package/package.json +13 -13
  2. package/plugins/karma.js +0 -1
  3. package/src/builders/app-shell/index.js +8 -6
  4. package/src/builders/app-shell/render-worker.js +0 -1
  5. package/src/builders/app-shell/schema.js +0 -1
  6. package/src/builders/application/build-action.js +0 -1
  7. package/src/builders/application/execute-build.js +37 -14
  8. package/src/builders/application/execute-post-bundle.d.ts +1 -0
  9. package/src/builders/application/execute-post-bundle.js +5 -3
  10. package/src/builders/application/i18n.d.ts +1 -0
  11. package/src/builders/application/i18n.js +4 -2
  12. package/src/builders/application/index.js +8 -2
  13. package/src/builders/application/options.d.ts +1 -1
  14. package/src/builders/application/options.js +3 -3
  15. package/src/builders/application/schema.d.ts +15 -5
  16. package/src/builders/application/schema.js +0 -1
  17. package/src/builders/application/schema.json +10 -4
  18. package/src/builders/browser/index.js +0 -1
  19. package/src/builders/browser/schema.js +0 -1
  20. package/src/builders/browser-esbuild/builder-status-warnings.js +0 -1
  21. package/src/builders/browser-esbuild/index.js +14 -13
  22. package/src/builders/browser-esbuild/schema.js +0 -1
  23. package/src/builders/dev-server/builder.js +0 -1
  24. package/src/builders/dev-server/index.js +0 -1
  25. package/src/builders/dev-server/load-proxy-config.js +0 -1
  26. package/src/builders/dev-server/options.js +0 -1
  27. package/src/builders/dev-server/schema.js +0 -1
  28. package/src/builders/dev-server/vite-server.d.ts +5 -2
  29. package/src/builders/dev-server/vite-server.js +78 -45
  30. package/src/builders/dev-server/webpack-server.js +0 -1
  31. package/src/builders/extract-i18n/application-extraction.js +0 -1
  32. package/src/builders/extract-i18n/builder.js +0 -1
  33. package/src/builders/extract-i18n/empty-loader.js +0 -1
  34. package/src/builders/extract-i18n/index.js +0 -1
  35. package/src/builders/extract-i18n/ivy-extract-loader.js +0 -1
  36. package/src/builders/extract-i18n/options.js +0 -1
  37. package/src/builders/extract-i18n/schema.js +0 -1
  38. package/src/builders/extract-i18n/webpack-extraction.js +0 -1
  39. package/src/builders/jest/index.js +0 -1
  40. package/src/builders/jest/options.js +0 -1
  41. package/src/builders/jest/schema.js +0 -1
  42. package/src/builders/jest/test-files.js +0 -1
  43. package/src/builders/karma/find-tests-plugin.js +0 -1
  44. package/src/builders/karma/index.js +0 -1
  45. package/src/builders/karma/schema.js +0 -1
  46. package/src/builders/ng-packagr/index.js +0 -1
  47. package/src/builders/ng-packagr/schema.js +0 -1
  48. package/src/builders/prerender/index.js +2 -1
  49. package/src/builders/prerender/render-worker.js +2 -3
  50. package/src/builders/prerender/routes-extractor-worker.js +1 -2
  51. package/src/builders/prerender/schema.d.ts +4 -2
  52. package/src/builders/prerender/schema.js +0 -1
  53. package/src/builders/prerender/schema.json +2 -2
  54. package/src/builders/protractor/index.js +0 -1
  55. package/src/builders/protractor/schema.js +0 -1
  56. package/src/builders/server/index.js +0 -1
  57. package/src/builders/server/platform-server-exports-loader.js +0 -1
  58. package/src/builders/server/schema.js +0 -1
  59. package/src/builders/ssr-dev-server/index.js +0 -1
  60. package/src/builders/ssr-dev-server/schema.js +0 -1
  61. package/src/builders/ssr-dev-server/utils.js +0 -1
  62. package/src/index.js +0 -1
  63. package/src/tools/babel/plugins/adjust-static-class-members.js +0 -1
  64. package/src/tools/babel/plugins/adjust-typescript-enums.js +0 -1
  65. package/src/tools/babel/plugins/elide-angular-metadata.js +0 -1
  66. package/src/tools/babel/plugins/pure-toplevel-functions.js +0 -1
  67. package/src/tools/babel/presets/application.js +0 -1
  68. package/src/tools/babel/webpack-loader.js +0 -1
  69. package/src/tools/esbuild/angular/angular-host.js +0 -1
  70. package/src/tools/esbuild/angular/compilation/angular-compilation.d.ts +6 -3
  71. package/src/tools/esbuild/angular/compilation/angular-compilation.js +36 -9
  72. package/src/tools/esbuild/angular/compilation/aot-compilation.js +2 -1
  73. package/src/tools/esbuild/angular/compilation/factory.d.ts +16 -0
  74. package/src/tools/esbuild/angular/compilation/factory.js +56 -0
  75. package/src/tools/esbuild/angular/compilation/index.d.ts +1 -2
  76. package/src/tools/esbuild/angular/compilation/index.js +3 -6
  77. package/src/tools/esbuild/angular/compilation/jit-compilation.js +0 -1
  78. package/src/tools/esbuild/angular/compilation/noop-compilation.d.ts +1 -1
  79. package/src/tools/esbuild/angular/compilation/noop-compilation.js +0 -1
  80. package/src/tools/esbuild/angular/compilation/parallel-compilation.d.ts +42 -0
  81. package/src/tools/esbuild/angular/compilation/parallel-compilation.js +121 -0
  82. package/src/tools/esbuild/angular/compilation/parallel-worker.d.ts +32 -0
  83. package/src/tools/esbuild/angular/compilation/parallel-worker.js +90 -0
  84. package/src/tools/esbuild/angular/compilation-state.js +0 -1
  85. package/src/tools/esbuild/angular/compiler-plugin.d.ts +1 -0
  86. package/src/tools/esbuild/angular/compiler-plugin.js +111 -52
  87. package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
  88. package/src/tools/esbuild/angular/component-stylesheets.js +47 -32
  89. package/src/tools/esbuild/angular/diagnostics.d.ts +2 -2
  90. package/src/tools/esbuild/angular/diagnostics.js +9 -15
  91. package/src/tools/esbuild/angular/file-reference-tracker.d.ts +17 -0
  92. package/src/tools/esbuild/angular/file-reference-tracker.js +53 -0
  93. package/src/tools/esbuild/angular/jit-plugin-callbacks.d.ts +6 -3
  94. package/src/tools/esbuild/angular/jit-plugin-callbacks.js +4 -5
  95. package/src/tools/esbuild/angular/jit-resource-transformer.js +0 -1
  96. package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -1
  97. package/src/tools/esbuild/angular/source-file-cache.js +3 -2
  98. package/src/tools/esbuild/angular/uri.js +0 -1
  99. package/src/tools/esbuild/angular/web-worker-transformer.js +0 -1
  100. package/src/tools/esbuild/application-code-bundle.d.ts +2 -0
  101. package/src/tools/esbuild/application-code-bundle.js +209 -150
  102. package/src/tools/esbuild/budget-stats.js +0 -1
  103. package/src/tools/esbuild/bundler-context.d.ts +12 -1
  104. package/src/tools/esbuild/bundler-context.js +105 -10
  105. package/src/tools/esbuild/bundler-execution-result.d.ts +19 -0
  106. package/src/tools/esbuild/bundler-execution-result.js +18 -3
  107. package/src/tools/esbuild/commonjs-checker.js +3 -1
  108. package/src/tools/esbuild/compiler-plugin-options.js +1 -1
  109. package/src/tools/esbuild/global-scripts.js +0 -1
  110. package/src/tools/esbuild/global-styles.js +0 -1
  111. package/src/tools/esbuild/i18n-inliner-worker.js +0 -1
  112. package/src/tools/esbuild/i18n-inliner.js +2 -1
  113. package/src/tools/esbuild/i18n-locale-plugin.js +0 -1
  114. package/src/tools/esbuild/index-html-generator.js +25 -3
  115. package/src/tools/esbuild/javascript-transfomer-plugin.d.ts +19 -0
  116. package/src/tools/esbuild/javascript-transfomer-plugin.js +51 -0
  117. package/src/tools/esbuild/javascript-transformer-worker.js +0 -1
  118. package/src/tools/esbuild/javascript-transformer.d.ts +1 -1
  119. package/src/tools/esbuild/javascript-transformer.js +5 -1
  120. package/src/tools/esbuild/license-extractor.js +0 -1
  121. package/src/tools/esbuild/load-result-cache.d.ts +2 -0
  122. package/src/tools/esbuild/load-result-cache.js +3 -1
  123. package/src/tools/esbuild/profiling.js +0 -1
  124. package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +0 -1
  125. package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +0 -1
  126. package/src/tools/esbuild/stylesheets/bundle-options.js +0 -1
  127. package/src/tools/esbuild/stylesheets/css-language.js +0 -1
  128. package/src/tools/esbuild/stylesheets/css-resource-plugin.js +25 -7
  129. package/src/tools/esbuild/stylesheets/less-language.js +0 -1
  130. package/src/tools/esbuild/stylesheets/sass-language.js +6 -20
  131. package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +25 -11
  132. package/src/tools/esbuild/utils.d.ts +4 -4
  133. package/src/tools/esbuild/utils.js +47 -34
  134. package/src/tools/esbuild/virtual-module-plugin.d.ts +3 -0
  135. package/src/tools/esbuild/virtual-module-plugin.js +3 -3
  136. package/src/tools/esbuild/watcher.js +0 -1
  137. package/src/tools/sass/lexer.js +0 -1
  138. package/src/tools/sass/rebasing-importer.d.ts +3 -8
  139. package/src/tools/sass/rebasing-importer.js +3 -52
  140. package/src/tools/sass/sass-service-legacy.js +0 -1
  141. package/src/tools/sass/sass-service.d.ts +1 -17
  142. package/src/tools/sass/sass-service.js +4 -6
  143. package/src/tools/sass/worker-legacy.js +0 -1
  144. package/src/tools/sass/worker.js +8 -2
  145. package/src/tools/vite/i18n-locale-plugin.js +0 -1
  146. package/src/tools/webpack/configs/common.js +0 -1
  147. package/src/tools/webpack/configs/dev-server.js +0 -1
  148. package/src/tools/webpack/configs/index.js +0 -1
  149. package/src/tools/webpack/configs/styles.js +6 -12
  150. package/src/tools/webpack/plugins/any-component-style-budget-checker.js +0 -1
  151. package/src/tools/webpack/plugins/builder-watch-plugin.js +0 -1
  152. package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js +0 -1
  153. package/src/tools/webpack/plugins/css-optimizer-plugin.js +0 -1
  154. package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js +0 -1
  155. package/src/tools/webpack/plugins/devtools-ignore-plugin.js +0 -1
  156. package/src/tools/webpack/plugins/esbuild-executor.js +0 -1
  157. package/src/tools/webpack/plugins/hmr/hmr-accept.js +0 -1
  158. package/src/tools/webpack/plugins/hmr/hmr-loader.js +0 -1
  159. package/src/tools/webpack/plugins/index-html-webpack-plugin.js +0 -1
  160. package/src/tools/webpack/plugins/index.js +0 -1
  161. package/src/tools/webpack/plugins/javascript-optimizer-plugin.js +2 -1
  162. package/src/tools/webpack/plugins/javascript-optimizer-worker.js +0 -1
  163. package/src/tools/webpack/plugins/json-stats-plugin.js +0 -1
  164. package/src/tools/webpack/plugins/karma/karma.js +0 -1
  165. package/src/tools/webpack/plugins/named-chunks-plugin.js +0 -1
  166. package/src/tools/webpack/plugins/occurrences-plugin.js +0 -1
  167. package/src/tools/webpack/plugins/postcss-cli-resources.js +0 -1
  168. package/src/tools/webpack/plugins/progress-plugin.js +0 -1
  169. package/src/tools/webpack/plugins/remove-hash-plugin.js +0 -1
  170. package/src/tools/webpack/plugins/scripts-webpack-plugin.js +0 -1
  171. package/src/tools/webpack/plugins/service-worker-plugin.js +0 -1
  172. package/src/tools/webpack/plugins/styles-webpack-plugin.js +0 -1
  173. package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js +0 -1
  174. package/src/tools/webpack/plugins/transfer-size-plugin.js +0 -1
  175. package/src/tools/webpack/plugins/typescript.js +0 -1
  176. package/src/tools/webpack/plugins/watch-files-logs-plugin.js +0 -1
  177. package/src/tools/webpack/utils/async-chunks.js +0 -1
  178. package/src/tools/webpack/utils/helpers.js +0 -1
  179. package/src/tools/webpack/utils/stats.js +0 -1
  180. package/src/transforms.js +0 -1
  181. package/src/utils/action-executor.js +5 -2
  182. package/src/utils/build-options.js +0 -1
  183. package/src/utils/bundle-calculator.js +0 -1
  184. package/src/utils/bundle-inline-options.js +0 -1
  185. package/src/utils/check-port.js +0 -1
  186. package/src/utils/color.js +0 -1
  187. package/src/utils/copy-assets.js +0 -1
  188. package/src/utils/default-progress.js +0 -1
  189. package/src/utils/delete-output-dir.js +0 -1
  190. package/src/utils/environment-options.d.ts +1 -0
  191. package/src/utils/environment-options.js +3 -2
  192. package/src/utils/error.js +0 -1
  193. package/src/utils/i18n-inlining.js +0 -1
  194. package/src/utils/i18n-options.js +0 -1
  195. package/src/utils/index-file/augment-index-html.js +0 -1
  196. package/src/utils/index-file/html-rewriting-stream.js +0 -1
  197. package/src/utils/index-file/index-html-generator.js +0 -1
  198. package/src/utils/index-file/inline-critical-css.js +5 -3
  199. package/src/utils/index-file/inline-fonts.js +0 -1
  200. package/src/utils/index-file/style-nonce.js +0 -1
  201. package/src/utils/index.js +0 -1
  202. package/src/utils/load-esm.js +0 -1
  203. package/src/utils/load-translations.js +0 -1
  204. package/src/utils/normalize-asset-patterns.js +0 -1
  205. package/src/utils/normalize-builder-schema.js +0 -1
  206. package/src/utils/normalize-cache.js +0 -1
  207. package/src/utils/normalize-file-replacements.js +0 -1
  208. package/src/utils/normalize-optimization.js +0 -1
  209. package/src/utils/normalize-polyfills.js +0 -1
  210. package/src/utils/normalize-source-maps.js +0 -1
  211. package/src/utils/output-paths.js +0 -1
  212. package/src/utils/package-chunk-sort.js +0 -1
  213. package/src/utils/package-version.js +0 -1
  214. package/src/utils/process-bundle.js +0 -1
  215. package/src/utils/purge-cache.js +0 -1
  216. package/src/utils/read-tsconfig.js +0 -1
  217. package/src/utils/routes-extractor/extractor.d.ts +1 -1
  218. package/src/utils/routes-extractor/extractor.js +20 -8
  219. package/src/utils/run-module-as-observable-fork.js +0 -1
  220. package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +0 -1
  221. package/src/utils/server-rendering/esm-in-memory-loader/node-18-utils.js +0 -1
  222. package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +0 -1
  223. package/src/utils/server-rendering/main-bundle-exports.d.ts +7 -3
  224. package/src/utils/server-rendering/main-bundle-exports.js +0 -1
  225. package/src/utils/server-rendering/prerender-server.d.ts +21 -0
  226. package/src/utils/server-rendering/prerender-server.js +102 -0
  227. package/src/utils/server-rendering/prerender.d.ts +3 -1
  228. package/src/utils/server-rendering/prerender.js +84 -22
  229. package/src/utils/server-rendering/render-page.d.ts +2 -2
  230. package/src/utils/server-rendering/render-page.js +42 -4
  231. package/src/utils/server-rendering/render-worker.d.ts +2 -0
  232. package/src/utils/server-rendering/render-worker.js +9 -3
  233. package/src/utils/server-rendering/routes-extractor-worker.d.ts +2 -0
  234. package/src/utils/server-rendering/routes-extractor-worker.js +4 -4
  235. package/src/utils/service-worker.js +0 -1
  236. package/src/utils/spinner.js +0 -1
  237. package/src/utils/strip-bom.js +0 -1
  238. package/src/utils/supported-browsers.js +0 -1
  239. package/src/utils/tailwind.js +0 -1
  240. package/src/utils/tty.js +0 -1
  241. package/src/utils/url.js +0 -1
  242. package/src/utils/version.js +0 -1
  243. package/src/utils/webpack-browser-config.js +0 -1
  244. package/src/utils/webpack-diagnostics.js +0 -1
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ export declare class FileReferenceTracker {
9
+ #private;
10
+ get referencedFiles(): IterableIterator<string>;
11
+ add(containingFile: string, referencedFiles: Iterable<string>): void;
12
+ /**
13
+ *
14
+ * @param changed The set of changed files.
15
+ */
16
+ update(changed: Set<string>): Set<string>;
17
+ }
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ /**
3
+ * @license
4
+ * Copyright Google LLC All Rights Reserved.
5
+ *
6
+ * Use of this source code is governed by an MIT-style license that can be
7
+ * found in the LICENSE file at https://angular.io/license
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.FileReferenceTracker = void 0;
11
+ class FileReferenceTracker {
12
+ #referencingFiles = new Map();
13
+ get referencedFiles() {
14
+ return this.#referencingFiles.keys();
15
+ }
16
+ add(containingFile, referencedFiles) {
17
+ for (const file of referencedFiles) {
18
+ if (file === containingFile) {
19
+ // Containing file is already known to the AOT compiler
20
+ continue;
21
+ }
22
+ const referencing = this.#referencingFiles.get(file);
23
+ if (referencing === undefined) {
24
+ this.#referencingFiles.set(file, new Set([containingFile]));
25
+ }
26
+ else {
27
+ referencing.add(containingFile);
28
+ }
29
+ }
30
+ }
31
+ /**
32
+ *
33
+ * @param changed The set of changed files.
34
+ */
35
+ update(changed) {
36
+ // Lazily initialized to avoid unneeded copying if there are no additions to return
37
+ let allChangedFiles;
38
+ // Add referencing files to fully notify the AOT compiler of required component updates
39
+ for (const modifiedFile of changed) {
40
+ const referencing = this.#referencingFiles.get(modifiedFile);
41
+ if (referencing) {
42
+ allChangedFiles ??= new Set(changed);
43
+ for (const referencingFile of referencing) {
44
+ allChangedFiles.add(referencingFile);
45
+ }
46
+ // Cleanup the stale record which will be updated by new resource transforms
47
+ this.#referencingFiles.delete(modifiedFile);
48
+ }
49
+ }
50
+ return allChangedFiles ?? changed;
51
+ }
52
+ }
53
+ exports.FileReferenceTracker = FileReferenceTracker;
@@ -5,7 +5,7 @@
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.io/license
7
7
  */
8
- import type { OutputFile, PluginBuild } from 'esbuild';
8
+ import type { Metafile, OutputFile, PluginBuild } from 'esbuild';
9
9
  import { ComponentStylesheetBundler } from './component-stylesheets';
10
10
  /**
11
11
  * Sets up esbuild resolve and load callbacks to support Angular JIT mode processing
@@ -14,6 +14,9 @@ import { ComponentStylesheetBundler } from './component-stylesheets';
14
14
  * static imports.
15
15
  * @param build An esbuild {@link PluginBuild} instance used to add callbacks.
16
16
  * @param styleOptions The options to use when bundling stylesheets.
17
- * @param stylesheetResourceFiles An array where stylesheet resources will be added.
17
+ * @param additionalResultFiles A Map where stylesheet resources will be added.
18
18
  */
19
- export declare function setupJitPluginCallbacks(build: PluginBuild, stylesheetBundler: ComponentStylesheetBundler, stylesheetResourceFiles: OutputFile[], inlineStyleLanguage: string): void;
19
+ export declare function setupJitPluginCallbacks(build: PluginBuild, stylesheetBundler: ComponentStylesheetBundler, additionalResultFiles: Map<string, {
20
+ outputFiles?: OutputFile[];
21
+ metafile?: Metafile;
22
+ }>, inlineStyleLanguage: string): void;
@@ -51,9 +51,9 @@ async function loadEntry(entry, root, skipRead) {
51
51
  * static imports.
52
52
  * @param build An esbuild {@link PluginBuild} instance used to add callbacks.
53
53
  * @param styleOptions The options to use when bundling stylesheets.
54
- * @param stylesheetResourceFiles An array where stylesheet resources will be added.
54
+ * @param additionalResultFiles A Map where stylesheet resources will be added.
55
55
  */
56
- function setupJitPluginCallbacks(build, stylesheetBundler, stylesheetResourceFiles, inlineStyleLanguage) {
56
+ function setupJitPluginCallbacks(build, stylesheetBundler, additionalResultFiles, inlineStyleLanguage) {
57
57
  const root = build.initialOptions.absWorkingDir ?? '';
58
58
  // Add a resolve callback to capture and parse any JIT URIs that were added by the
59
59
  // JIT resource TypeScript transformer.
@@ -94,8 +94,8 @@ function setupJitPluginCallbacks(build, stylesheetBundler, stylesheetResourceFil
94
94
  else {
95
95
  stylesheetResult = await stylesheetBundler.bundleInline(entry.contents, entry.path, inlineStyleLanguage);
96
96
  }
97
- const { contents, resourceFiles, errors, warnings } = stylesheetResult;
98
- stylesheetResourceFiles.push(...resourceFiles);
97
+ const { contents, resourceFiles, errors, warnings, metafile } = stylesheetResult;
98
+ additionalResultFiles.set(entry.path, { outputFiles: resourceFiles, metafile });
99
99
  return {
100
100
  errors,
101
101
  warnings,
@@ -115,4 +115,3 @@ function setupJitPluginCallbacks(build, stylesheetBundler, stylesheetResourceFil
115
115
  });
116
116
  }
117
117
  exports.setupJitPluginCallbacks = setupJitPluginCallbacks;
118
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaml0LXBsdWdpbi1jYWxsYmFja3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2FuZ3VsYXIvaml0LXBsdWdpbi1jYWxsYmFja3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7O0FBR0gsK0NBQTRDO0FBQzVDLDBEQUE2QjtBQUU3QiwrQkFLZTtBQUVmOzs7Ozs7Ozs7O0dBVUc7QUFDSCxLQUFLLFVBQVUsU0FBUyxDQUN0QixLQUFhLEVBQ2IsSUFBWSxFQUNaLFFBQWtCO0lBRWxCLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUM3QixNQUFNLFNBQVMsR0FBRyxtQkFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWxELE9BQU87WUFDTCxJQUFJLEVBQUUsU0FBUztZQUNmLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFBLG1CQUFRLEVBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztTQUNwRSxDQUFDO0tBQ0g7U0FBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUU7UUFDdEMsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFdEQsT0FBTztZQUNMLElBQUksRUFBRSxtQkFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDO1lBQy9CLFFBQVEsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRLEVBQUU7U0FDakQsQ0FBQztLQUNIO1NBQU07UUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7S0FDeEQ7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFnQix1QkFBdUIsQ0FDckMsS0FBa0IsRUFDbEIsaUJBQTZDLEVBQzdDLHVCQUFxQyxFQUNyQyxtQkFBMkI7SUFFM0IsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLGNBQWMsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO0lBRXRELGtGQUFrRjtJQUNsRix1Q0FBdUM7SUFDdkMsa0dBQWtHO0lBQ2xHLEtBQUssQ0FBQyxTQUFTLENBQUMsRUFBRSxNQUFNLEVBQUUsMEJBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ3pELE1BQU0sTUFBTSxHQUFHLElBQUEsaUJBQVcsRUFBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNYLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBRWhELElBQUksTUFBTSxLQUFLLE1BQU0sRUFBRTtZQUNyQixPQUFPO2dCQUNMLHlGQUF5RjtnQkFDekYsd0ZBQXdGO2dCQUN4RixJQUFJLEVBQUUsT0FBTyxHQUFHLG1CQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxtQkFBSSxDQUFDLElBQUksQ0FBQyxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBQ3RGLFNBQVM7YUFDVixDQUFDO1NBQ0g7YUFBTTtZQUNMLHFGQUFxRjtZQUNyRixNQUFNLFFBQVEsR0FBRyxtQkFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRXBELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLFVBQVUsUUFBUSxJQUFJLFNBQVMsRUFBRTtnQkFDdkMsU0FBUzthQUNWLENBQUM7U0FDSDtJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsaUZBQWlGO0lBQ2pGLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSx5QkFBbUIsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUMzRSxvRkFBb0Y7UUFDcEYsd0RBQXdEO1FBQ3hELE1BQU0sS0FBSyxHQUFHLE1BQU0sU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVwRSxJQUFJLGdCQUFnQixDQUFDO1FBRXJCLDBEQUEwRDtRQUMxRCxJQUFJLEtBQUssQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQ2hDLGdCQUFnQixHQUFHLE1BQU0saUJBQWlCLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNuRTthQUFNO1lBQ0wsZ0JBQWdCLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxZQUFZLENBQ3JELEtBQUssQ0FBQyxRQUFRLEVBQ2QsS0FBSyxDQUFDLElBQUksRUFDVixtQkFBbUIsQ0FDcEIsQ0FBQztTQUNIO1FBRUQsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLGdCQUFnQixDQUFDO1FBRXZFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxHQUFHLGFBQWEsQ0FBQyxDQUFDO1FBRS9DLE9BQU87WUFDTCxNQUFNO1lBQ04sUUFBUTtZQUNSLFFBQVE7WUFDUixNQUFNLEVBQUUsTUFBTTtTQUNmLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILG9EQUFvRDtJQUNwRCx5RkFBeUY7SUFDekYsa0VBQWtFO0lBQ2xFLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSw0QkFBc0IsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRTtRQUM5RSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUV0RCxPQUFPO1lBQ0wsUUFBUTtZQUNSLE1BQU0sRUFBRSxNQUFNO1NBQ2YsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQS9FRCwwREErRUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBPdXRwdXRGaWxlLCBQbHVnaW5CdWlsZCB9IGZyb20gJ2VzYnVpbGQnO1xuaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdHlsZXNoZWV0QnVuZGxlciB9IGZyb20gJy4vY29tcG9uZW50LXN0eWxlc2hlZXRzJztcbmltcG9ydCB7XG4gIEpJVF9OQU1FU1BBQ0VfUkVHRVhQLFxuICBKSVRfU1RZTEVfTkFNRVNQQUNFLFxuICBKSVRfVEVNUExBVEVfTkFNRVNQQUNFLFxuICBwYXJzZUppdFVyaSxcbn0gZnJvbSAnLi91cmknO1xuXG4vKipcbiAqIExvYWRzL2V4dHJhY3RzIHRoZSBjb250ZW50cyBmcm9tIGEgbG9hZCBjYWxsYmFjayBBbmd1bGFyIEpJVCBlbnRyeS5cbiAqIEFuIEFuZ3VsYXIgSklUIGVudHJ5IHJlcHJlc2VudHMgZWl0aGVyIGEgZmlsZSBwYXRoIGZvciBhIGNvbXBvbmVudCByZXNvdXJjZSBvciBiYXNlNjRcbiAqIGVuY29kZWQgZGF0YSBmb3IgYW4gaW5saW5lIGNvbXBvbmVudCByZXNvdXJjZS5cbiAqIEBwYXJhbSBlbnRyeSBUaGUgdmFsdWUgdGhhdCByZXByZXNlbnRzIGNvbnRlbnQgdG8gbG9hZC5cbiAqIEBwYXJhbSByb290IFRoZSBhYnNvbHV0ZSBwYXRoIGZvciB0aGUgcm9vdCBvZiB0aGUgYnVpbGQgKHR5cGljYWxseSB0aGUgd29ya3NwYWNlIHJvb3QpLlxuICogQHBhcmFtIHNraXBSZWFkIElmIHRydWUsIGRvIG5vdCBhdHRlbXB0IHRvIHJlYWQgdGhlIGZpbGU7IGlmIGZhbHNlLCByZWFkIGZpbGUgY29udGVudCBmcm9tIGRpc2suXG4gKiBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IGlmIHRoZSBlbnRyeSBkb2VzIG5vdCBvcmlnaW5hdGUgZnJvbSBhIGZpbGUuIERlZmF1bHRzIHRvIGZhbHNlLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGFic29sdXRlIHBhdGggb2YgdGhlIGNvbnRlbnRzIGFuZCBvcHRpb25hbGx5IHRoZSBhY3R1YWwgY29udGVudHMuXG4gKiBGb3IgaW5saW5lIGVudHJpZXMgdGhlIGNvbnRlbnRzIHdpbGwgYWx3YXlzIGJlIHByb3ZpZGVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoXG4gIGVudHJ5OiBzdHJpbmcsXG4gIHJvb3Q6IHN0cmluZyxcbiAgc2tpcFJlYWQ/OiBib29sZWFuLFxuKTogUHJvbWlzZTx7IHBhdGg6IHN0cmluZzsgY29udGVudHM/OiBzdHJpbmcgfT4ge1xuICBpZiAoZW50cnkuc3RhcnRzV2l0aCgnZmlsZTonKSkge1xuICAgIGNvbnN0IHNwZWNpZmllciA9IHBhdGguam9pbihyb290LCBlbnRyeS5zbGljZSg1KSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGF0aDogc3BlY2lmaWVyLFxuICAgICAgY29udGVudHM6IHNraXBSZWFkID8gdW5kZWZpbmVkIDogYXdhaXQgcmVhZEZpbGUoc3BlY2lmaWVyLCAndXRmLTgnKSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKGVudHJ5LnN0YXJ0c1dpdGgoJ2lubGluZTonKSkge1xuICAgIGNvbnN0IFtpbXBvcnRlciwgZGF0YV0gPSBlbnRyeS5zbGljZSg3KS5zcGxpdCgnOycsIDIpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGg6IHBhdGguam9pbihyb290LCBpbXBvcnRlciksXG4gICAgICBjb250ZW50czogQnVmZmVyLmZyb20oZGF0YSwgJ2Jhc2U2NCcpLnRvU3RyaW5nKCksXG4gICAgfTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0YSBmb3IgQW5ndWxhciBKSVQgZW50cnkuJyk7XG4gIH1cbn1cblxuLyoqXG4gKiBTZXRzIHVwIGVzYnVpbGQgcmVzb2x2ZSBhbmQgbG9hZCBjYWxsYmFja3MgdG8gc3VwcG9ydCBBbmd1bGFyIEpJVCBtb2RlIHByb2Nlc3NpbmdcbiAqIGZvciBib3RoIENvbXBvbmVudCBzdHlsZXNoZWV0cyBhbmQgdGVtcGxhdGVzLiBUaGVzZSBjYWxsYmFja3Mgd29yayBhbG9uZ3NpZGUgdGhlIEpJVFxuICogcmVzb3VyY2UgVHlwZVNjcmlwdCB0cmFuc2Zvcm1lciB0byBjb252ZXJ0IGFuZCB0aGVuIGJ1bmRsZSBDb21wb25lbnQgcmVzb3VyY2VzIGFzXG4gKiBzdGF0aWMgaW1wb3J0cy5cbiAqIEBwYXJhbSBidWlsZCBBbiBlc2J1aWxkIHtAbGluayBQbHVnaW5CdWlsZH0gaW5zdGFuY2UgdXNlZCB0byBhZGQgY2FsbGJhY2tzLlxuICogQHBhcmFtIHN0eWxlT3B0aW9ucyBUaGUgb3B0aW9ucyB0byB1c2Ugd2hlbiBidW5kbGluZyBzdHlsZXNoZWV0cy5cbiAqIEBwYXJhbSBzdHlsZXNoZWV0UmVzb3VyY2VGaWxlcyBBbiBhcnJheSB3aGVyZSBzdHlsZXNoZWV0IHJlc291cmNlcyB3aWxsIGJlIGFkZGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBKaXRQbHVnaW5DYWxsYmFja3MoXG4gIGJ1aWxkOiBQbHVnaW5CdWlsZCxcbiAgc3R5bGVzaGVldEJ1bmRsZXI6IENvbXBvbmVudFN0eWxlc2hlZXRCdW5kbGVyLFxuICBzdHlsZXNoZWV0UmVzb3VyY2VGaWxlczogT3V0cHV0RmlsZVtdLFxuICBpbmxpbmVTdHlsZUxhbmd1YWdlOiBzdHJpbmcsXG4pOiB2b2lkIHtcbiAgY29uc3Qgcm9vdCA9IGJ1aWxkLmluaXRpYWxPcHRpb25zLmFic1dvcmtpbmdEaXIgPz8gJyc7XG5cbiAgLy8gQWRkIGEgcmVzb2x2ZSBjYWxsYmFjayB0byBjYXB0dXJlIGFuZCBwYXJzZSBhbnkgSklUIFVSSXMgdGhhdCB3ZXJlIGFkZGVkIGJ5IHRoZVxuICAvLyBKSVQgcmVzb3VyY2UgVHlwZVNjcmlwdCB0cmFuc2Zvcm1lci5cbiAgLy8gUmVzb3VyY2VzIG9yaWdpbmF0aW5nIGZyb20gYSBmaWxlIGFyZSByZXNvbHZlZCBhcyByZWxhdGl2ZSBmcm9tIHRoZSBjb250YWluaW5nIGZpbGUgKGltcG9ydGVyKS5cbiAgYnVpbGQub25SZXNvbHZlKHsgZmlsdGVyOiBKSVRfTkFNRVNQQUNFX1JFR0VYUCB9LCAoYXJncykgPT4ge1xuICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSml0VXJpKGFyZ3MucGF0aCk7XG4gICAgaWYgKCFwYXJzZWQpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgY29uc3QgeyBuYW1lc3BhY2UsIG9yaWdpbiwgc3BlY2lmaWVyIH0gPSBwYXJzZWQ7XG5cbiAgICBpZiAob3JpZ2luID09PSAnZmlsZScpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC8vIFVzZSBhIHJlbGF0aXZlIHBhdGggdG8gcHJldmVudCBmdWxseSByZXNvbHZlZCBwYXRocyBpbiB0aGUgbWV0YWZpbGUgKEpTT04gc3RhdHMgZmlsZSkuXG4gICAgICAgIC8vIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIGN1c3RvbSBuYW1lc3BhY2VzLiBlc2J1aWxkIHdpbGwgaGFuZGxlIHRoZSBmaWxlIG5hbWVzcGFjZS5cbiAgICAgICAgcGF0aDogJ2ZpbGU6JyArIHBhdGgucmVsYXRpdmUocm9vdCwgcGF0aC5qb2luKHBhdGguZGlybmFtZShhcmdzLmltcG9ydGVyKSwgc3BlY2lmaWVyKSksXG4gICAgICAgIG5hbWVzcGFjZSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElubGluZSBkYXRhIG1heSBuZWVkIHRoZSBpbXBvcnRlciB0byByZXNvbHZlIGltcG9ydHMvcmVmZXJlbmNlcyB3aXRoaW4gdGhlIGNvbnRlbnRcbiAgICAgIGNvbnN0IGltcG9ydGVyID0gcGF0aC5yZWxhdGl2ZShyb290LCBhcmdzLmltcG9ydGVyKTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aDogYGlubGluZToke2ltcG9ydGVyfTske3NwZWNpZmllcn1gLFxuICAgICAgICBuYW1lc3BhY2UsXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gQWRkIGEgbG9hZCBjYWxsYmFjayB0byBoYW5kbGUgQ29tcG9uZW50IHN0eWxlc2hlZXRzIChib3RoIGlubGluZSBhbmQgZXh0ZXJuYWwpXG4gIGJ1aWxkLm9uTG9hZCh7IGZpbHRlcjogLy4vLCBuYW1lc3BhY2U6IEpJVF9TVFlMRV9OQU1FU1BBQ0UgfSwgYXN5bmMgKGFyZ3MpID0+IHtcbiAgICAvLyBza2lwUmVhZCBpcyB1c2VkIGhlcmUgYmVjYXVzZSB0aGUgc3R5bGVzaGVldCBidW5kbGluZyB3aWxsIHJlYWQgYSBmaWxlIHN0eWxlc2hlZXRcbiAgICAvLyBkaXJlY3RseSBlaXRoZXIgdmlhIGEgcHJlcHJvY2Vzc29yIG9yIGVzYnVpbGQgaXRzZWxmLlxuICAgIGNvbnN0IGVudHJ5ID0gYXdhaXQgbG9hZEVudHJ5KGFyZ3MucGF0aCwgcm9vdCwgdHJ1ZSAvKiBza2lwUmVhZCAqLyk7XG5cbiAgICBsZXQgc3R5bGVzaGVldFJlc3VsdDtcblxuICAgIC8vIFN0eWxlc2hlZXQgY29udGVudHMgb25seSBleGlzdCBmb3IgaW50ZXJuYWwgc3R5bGVzaGVldHNcbiAgICBpZiAoZW50cnkuY29udGVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgICAgc3R5bGVzaGVldFJlc3VsdCA9IGF3YWl0IHN0eWxlc2hlZXRCdW5kbGVyLmJ1bmRsZUZpbGUoZW50cnkucGF0aCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0eWxlc2hlZXRSZXN1bHQgPSBhd2FpdCBzdHlsZXNoZWV0QnVuZGxlci5idW5kbGVJbmxpbmUoXG4gICAgICAgIGVudHJ5LmNvbnRlbnRzLFxuICAgICAgICBlbnRyeS5wYXRoLFxuICAgICAgICBpbmxpbmVTdHlsZUxhbmd1YWdlLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNvbnRlbnRzLCByZXNvdXJjZUZpbGVzLCBlcnJvcnMsIHdhcm5pbmdzIH0gPSBzdHlsZXNoZWV0UmVzdWx0O1xuXG4gICAgc3R5bGVzaGVldFJlc291cmNlRmlsZXMucHVzaCguLi5yZXNvdXJjZUZpbGVzKTtcblxuICAgIHJldHVybiB7XG4gICAgICBlcnJvcnMsXG4gICAgICB3YXJuaW5ncyxcbiAgICAgIGNvbnRlbnRzLFxuICAgICAgbG9hZGVyOiAndGV4dCcsXG4gICAgfTtcbiAgfSk7XG5cbiAgLy8gQWRkIGEgbG9hZCBjYWxsYmFjayB0byBoYW5kbGUgQ29tcG9uZW50IHRlbXBsYXRlc1xuICAvLyBOT1RFOiBXaGlsZSB0aGlzIGNhbGxiYWNrIHN1cHBvcnRzIGJvdGggaW5saW5lIGFuZCBleHRlcm5hbCB0ZW1wbGF0ZXMsIHRoZSB0cmFuc2Zvcm1lclxuICAvLyBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBnZW5lcmF0aW5nIFVSSXMgZm9yIGV4dGVybmFsIHRlbXBsYXRlcy5cbiAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvLi8sIG5hbWVzcGFjZTogSklUX1RFTVBMQVRFX05BTUVTUEFDRSB9LCBhc3luYyAoYXJncykgPT4ge1xuICAgIGNvbnN0IHsgY29udGVudHMgfSA9IGF3YWl0IGxvYWRFbnRyeShhcmdzLnBhdGgsIHJvb3QpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbnRlbnRzLFxuICAgICAgbG9hZGVyOiAndGV4dCcsXG4gICAgfTtcbiAgfSk7XG59XG4iXX0=
@@ -184,4 +184,3 @@ function getDecoratorOrigin(decorator, typeChecker) {
184
184
  }
185
185
  return null;
186
186
  }
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaml0LXJlc291cmNlLXRyYW5zZm9ybWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvZXNidWlsZC9hbmd1bGFyL2ppdC1yZXNvdXJjZS10cmFuc2Zvcm1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7QUFFSCw0REFBNEI7QUFDNUIsK0JBQWlFO0FBRWpFOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQiw0QkFBNEIsQ0FDMUMsY0FBb0M7SUFFcEMsT0FBTyxDQUFDLE9BQWlDLEVBQUUsRUFBRTtRQUMzQyxNQUFNLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUNyQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQ3BDLE1BQU0sMEJBQTBCLEdBQTJCLEVBQUUsQ0FBQztRQUU5RCxNQUFNLFNBQVMsR0FBZSxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQzlDLElBQUksb0JBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDL0IsTUFBTSxVQUFVLEdBQUcsb0JBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBRTFDLElBQUksQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7b0JBQzFDLE9BQU8sSUFBSSxDQUFDO2lCQUNiO2dCQUVELE9BQU8sV0FBVyxDQUFDLHNCQUFzQixDQUN2QyxJQUFJLEVBQ0o7b0JBQ0UsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDNUIsY0FBYyxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLDBCQUEwQixDQUFDLENBQzlFO29CQUNELEdBQUcsQ0FBQyxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMs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TSxJQUFJLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ25FLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0MsSUFBSSxNQUFjLENBQUM7UUFFbkIsSUFBSSxvQkFBRSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3JDLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztZQUMzRCxNQUFNLEdBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGVBQW9DLENBQUMsSUFBSSxDQUFDO1NBQ3RGO2FBQU0sSUFBSSxvQkFBRSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVDLDREQUE0RDtZQUM1RCxNQUFNLEdBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsZUFBb0MsQ0FBQyxJQUFJLENBQUM7U0FDL0U7YUFBTSxJQUFJLG9CQUFFLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ3pDLElBQUksR0FBSSxXQUFXLENBQUMsSUFBc0IsQ0FBQyxJQUFJLENBQUM7WUFDaEQsTUFBTSxHQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsZUFBb0MsQ0FBQyxJQUFJLENBQUM7U0FDeEU7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO0tBQ3pCO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IGdlbmVyYXRlSml0RmlsZVVyaSwgZ2VuZXJhdGVKaXRJbmxpbmVVcmkgfSBmcm9tICcuL3VyaSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIFR5cGVTY3JpcHQgVHJhbnNmb3JtZXIgdG8gdHJhbnNmb3JtIEFuZ3VsYXIgQ29tcG9uZW50IHJlc291cmNlIHJlZmVyZW5jZXMgaW50b1xuICogc3RhdGljIGltcG9ydCBzdGF0ZW1lbnRzLiBUaGlzIHRyYW5zZm9ybWVyIGlzIHVzZWQgaW4gQW5ndWxhcidzIEpJVCBjb21waWxhdGlvbiBtb2RlIHRvXG4gKiBzdXBwb3J0IHByb2Nlc3Npbmcgb2YgY29tcG9uZW50IHJlc291cmNlcy4gV2hlbiBpbiBBT1QgbW9kZSwgdGhlIEFuZ3VsYXIgQU9UIGNvbXBpbGVyIGhhbmRsZXNcbiAqIHRoaXMgcHJvY2Vzc2luZyBhbmQgdGhpcyB0cmFuc2Zvcm1lciBpcyBub3QgdXNlZC5cbiAqIEBwYXJhbSBnZXRUeXBlQ2hlY2tlciBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIFR5cGVTY3JpcHQgVHlwZUNoZWNrZXIgaW5zdGFuY2UgZm9yIHRoZSBwcm9ncmFtLlxuICogQHJldHVybnMgQSBUeXBlU2NyaXB0IHRyYW5zZm9ybWVyIGZhY3RvcnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVKaXRSZXNvdXJjZVRyYW5zZm9ybWVyKFxuICBnZXRUeXBlQ2hlY2tlcjogKCkgPT4gdHMuVHlwZUNoZWNrZXIsXG4pOiB0cy5UcmFuc2Zvcm1lckZhY3Rvcnk8dHMuU291cmNlRmlsZT4ge1xuICByZXR1cm4gKGNvbnRleHQ6IHRzLlRyYW5zZm9ybWF0aW9uQ29udGV4dCkgPT4ge1xuICAgIGNvbnN0IHR5cGVDaGVja2VyID0gZ2V0VHlwZUNoZWNrZXIoKTtcbiAgICBjb25zdCBub2RlRmFjdG9yeSA9IGNvbnRleHQuZmFjdG9yeTtcbiAgICBjb25zdCByZXNvdXJjZUltcG9ydERlY2xhcmF0aW9uczogdHMuSW1wb3J0RGVjbGFyYXRpb25bXSA9IFtdO1xuXG4gICAgY29uc3QgdmlzaXROb2RlOiB0cy5WaXNpdG9yID0gKG5vZGU6IHRzLk5vZGUpID0+IHtcbiAgICAgIGlmICh0cy5pc0NsYXNzRGVjbGFyYXRpb24obm9kZSkpIHtcbiAgICAgICAgY29uc3QgZGVjb3JhdG9ycyA9IHRzLmdldERlY29yYXRvcnMobm9kZSk7XG5cbiAgICAgICAgaWYgKCFkZWNvcmF0b3JzIHx8IGRlY29yYXRvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbm9kZUZhY3RvcnkudXBkYXRlQ2xhc3NEZWNsYXJhdGlvbihcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIFtcbiAgICAgICAgICAgIC4uLmRlY29yYXRvcnMubWFwKChjdXJyZW50KSA9PlxuICAgICAgICAgICAgICB2aXNpdERlY29yYXRvcihub2RlRmFjdG9yeSwgY3VycmVudCwgdHlwZUNoZWNrZXIsIHJlc291cmNlSW1wb3J0RGVjbGFyYXRpb25zKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAuLi4odHMuZ2V0TW9kaWZpZXJzKG5vZGUpID8/IFtdKSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIG5vZGUubmFtZSxcbiAgICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzLFxuICAgICAgICAgIG5vZGUuaGVyaXRhZ2VDbGF1c2VzLFxuICAgICAgICAgIG5vZGUubWVtYmVycyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRzLnZpc2l0RWFjaENoaWxkKG5vZGUsIHZpc2l0Tm9kZSwgY29udGV4dCk7XG4gICAgfTtcblxuICAgIHJldHVybiAoc291cmNlRmlsZSkgPT4ge1xuICAgICAgY29uc3QgdXBkYXRlZFNvdXJjZUZpbGUgPSB0cy52aXNpdEVhY2hDaGlsZChzb3VyY2VGaWxlLCB2aXNpdE5vZGUsIGNvbnRleHQpO1xuXG4gICAgICBpZiAocmVzb3VyY2VJbXBvcnREZWNsYXJhdGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICByZXR1cm4gbm9kZUZhY3RvcnkudXBkYXRlU291cmNlRmlsZShcbiAgICAgICAgICB1cGRhdGVkU291cmNlRmlsZSxcbiAgICAgICAgICB0cy5zZXRUZXh0UmFuZ2UoXG4gICAgICAgICAgICBub2RlRmFjdG9yeS5jcmVhdGVOb2RlQXJyYXkoXG4gICAgICAgICAgICAgIFsuLi5yZXNvdXJjZUltcG9ydERlY2xhcmF0aW9ucywgLi4udXBkYXRlZFNvdXJjZUZpbGUuc3RhdGVtZW50c10sXG4gICAgICAgICAgICAgIHVwZGF0ZWRTb3VyY2VGaWxlLnN0YXRlbWVudHMuaGFzVHJhaWxpbmdDb21tYSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICB1cGRhdGVkU291cmNlRmlsZS5zdGF0ZW1lbnRzLFxuICAgICAgICAgICksXG4gICAgICAgICAgdXBkYXRlZFNvdXJjZUZpbGUuaXNEZWNsYXJhdGlvbkZpbGUsXG4gICAgICAgICAgdXBkYXRlZFNvdXJjZUZpbGUucmVmZXJlbmNlZEZpbGVzLFxuICAgICAgICAgIHVwZGF0ZWRTb3VyY2VGaWxlLnR5cGVSZWZlcmVuY2VEaXJlY3RpdmVzLFxuICAgICAgICAgIHVwZGF0ZWRTb3VyY2VGaWxlLmhhc05vRGVmYXVsdExpYixcbiAgICAgICAgICB1cGRhdGVkU291cmNlRmlsZS5saWJSZWZlcmVuY2VEaXJlY3RpdmVzLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWRTb3VyY2VGaWxlO1xuICAgICAgfVxuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIHZpc2l0RGVjb3JhdG9yKFxuICBub2RlRmFjdG9yeTogdHMuTm9kZUZhY3RvcnksXG4gIG5vZGU6IHRzLkRlY29yYXRvcixcbiAgdHlwZUNoZWNrZXI6IHRzLlR5cGVDaGVja2VyLFxuICByZXNvdXJjZUltcG9ydERlY2xhcmF0aW9uczogdHMuSW1wb3J0RGVjbGFyYXRpb25bXSxcbik6IHRzLkRlY29yYXRvciB7XG4gIGNvbnN0IG9yaWdpbiA9IGdldERlY29yYXRvck9yaWdpbihub2RlLCB0eXBlQ2hlY2tlcik7XG4gIGlmICghb3JpZ2luIHx8IG9yaWdpbi5tb2R1bGUgIT09ICdAYW5ndWxhci9jb3JlJyB8fCBvcmlnaW4ubmFtZSAhPT0gJ0NvbXBvbmVudCcpIHtcbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIGlmICghdHMuaXNDYWxsRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBjb25zdCBkZWNvcmF0b3JGYWN0b3J5ID0gbm9kZS5leHByZXNzaW9uO1xuICBjb25zdCBhcmdzID0gZGVjb3JhdG9yRmFjdG9yeS5hcmd1bWVudHM7XG4gIGlmIChhcmdzLmxlbmd0aCAhPT0gMSB8fCAhdHMuaXNPYmplY3RMaXRlcmFsRXhwcmVzc2lvbihhcmdzWzBdKSkge1xuICAgIC8vIFVuc3VwcG9ydGVkIGNvbXBvbmVudCBtZXRhZGF0YVxuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgY29uc3Qgb2JqZWN0RXhwcmVzc2lvbiA9IGFyZ3NbMF0gYXMgdHMuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb247XG4gIGNvbnN0IHN0eWxlUmVwbGFjZW1lbnRzOiB0cy5FeHByZXNzaW9uW10gPSBbXTtcblxuICAvLyB2aXNpdCBhbGwgcHJvcGVydGllc1xuICBsZXQgcHJvcGVydGllcyA9IHRzLnZpc2l0Tm9kZXMob2JqZWN0RXhwcmVzc2lvbi5wcm9wZXJ0aWVzLCAobm9kZSkgPT5cbiAgICB0cy5pc09iamVjdExpdGVyYWxFbGVtZW50TGlrZShub2RlKVxuICAgICAgPyB2aXNpdENvbXBvbmVudE1ldGFkYXRhKG5vZGVGYWN0b3J5LCBub2RlLCBzdHlsZVJlcGxhY2VtZW50cywgcmVzb3VyY2VJbXBvcnREZWNsYXJhdGlvbnMpXG4gICAgICA6IG5vZGUsXG4gICkgYXMgdHMuTm9kZUFycmF5PHRzLk9iamVjdExpdGVyYWxFbGVtZW50TGlrZT47XG5cbiAgLy8gcmVwbGFjZSBwcm9wZXJ0aWVzIHdpdGggdXBkYXRlZCBwcm9wZXJ0aWVzXG4gIGlmIChzdHlsZVJlcGxhY2VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgY29uc3Qgc3R5bGVQcm9wZXJ0eSA9IG5vZGVGYWN0b3J5LmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudChcbiAgICAgIG5vZGVGYWN0b3J5LmNyZWF0ZUlkZW50aWZpZXIoJ3N0eWxlcycpLFxuICAgICAgbm9kZUZhY3RvcnkuY3JlYXRlQXJyYXlMaXRlcmFsRXhwcmVzc2lvbihzdHlsZVJlcGxhY2VtZW50cyksXG4gICAgKTtcblxuICAgIHByb3BlcnRpZXMgPSBub2RlRmFjdG9yeS5jcmVhdGVOb2RlQXJyYXkoWy4uLnByb3BlcnRpZXMsIHN0eWxlUHJvcGVydHldKTtcbiAgfVxuXG4gIHJldHVybiBub2RlRmFjdG9yeS51cGRhdGVEZWNvcmF0b3IoXG4gICAgbm9kZSxcbiAgICBub2RlRmFjdG9yeS51cGRhdGVDYWxsRXhwcmVzc2lvbihcbiAgICAgIGRlY29yYXRvckZhY3RvcnksXG4gICAgICBkZWNvcmF0b3JGYWN0b3J5LmV4cHJlc3Npb24sXG4gICAgICBkZWNvcmF0b3JGYWN0b3J5LnR5cGVBcmd1bWVudHMsXG4gICAgICBbbm9kZUZhY3RvcnkudXBkYXRlT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24ob2JqZWN0RXhwcmVzc2lvbiwgcHJvcGVydGllcyldLFxuICAgICksXG4gICk7XG59XG5cbmZ1bmN0aW9uIHZpc2l0Q29tcG9uZW50TWV0YWRhdGEoXG4gIG5vZGVGYWN0b3J5OiB0cy5Ob2RlRmFjdG9yeSxcbiAgbm9kZTogdHMuT2JqZWN0TGl0ZXJhbEVsZW1lbnRMaWtlLFxuICBzdHlsZVJlcGxhY2VtZW50czogdHMuRXhwcmVzc2lvbltdLFxuICByZXNvdXJjZUltcG9ydERlY2xhcmF0aW9uczogdHMuSW1wb3J0RGVjbGFyYXRpb25bXSxcbik6IHRzLk9iamVjdExpdGVyYWxFbGVtZW50TGlrZSB8IHVuZGVmaW5lZCB7XG4gIGlmICghdHMuaXNQcm9wZXJ0eUFzc2lnbm1lbnQobm9kZSkgfHwgdHMuaXNDb21wdXRlZFByb3BlcnR5TmFtZShub2RlLm5hbWUpKSB7XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzd2l0Y2ggKG5vZGUubmFtZS50ZXh0KSB7XG4gICAgY2FzZSAndGVtcGxhdGVVcmwnOlxuICAgICAgLy8gT25seSBhbmFseXplIHN0cmluZyBsaXRlcmFsc1xuICAgICAgaWYgKCF0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKG5vZGUuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9kZS5pbml0aWFsaXplci50ZXh0Lmxlbmd0aCA9PT0gMFxuICAgICAgICA/IG5vZGVcbiAgICAgICAgOiBub2RlRmFjdG9yeS51cGRhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgbm9kZUZhY3RvcnkuY3JlYXRlSWRlbnRpZmllcigndGVtcGxhdGUnKSxcbiAgICAgICAgICAgIGNyZWF0ZVJlc291cmNlSW1wb3J0KFxuICAgICAgICAgICAgICBub2RlRmFjdG9yeSxcbiAgICAgICAgICAgICAgZ2VuZXJhdGVKaXRGaWxlVXJpKG5vZGUuaW5pdGlhbGl6ZXIudGV4dCwgJ3RlbXBsYXRlJyksXG4gICAgICAgICAgICAgIHJlc291cmNlSW1wb3J0RGVjbGFyYXRpb25zLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICApO1xuICAgIGNhc2UgJ3N0eWxlcyc6XG4gICAgICBpZiAodHMuaXNTdHJpbmdMaXRlcmFsTGlrZShub2RlLmluaXRpYWxpemVyKSkge1xuICAgICAgICBzdHlsZVJlcGxhY2VtZW50cy51bnNoaWZ0KFxuICAgICAgICAgIGNyZWF0ZVJlc291cmNlSW1wb3J0KFxuICAgICAgICAgICAgbm9kZUZhY3RvcnksXG4gICAgICAgICAgICBnZW5lcmF0ZUppdElubGluZVVyaShub2RlLmluaXRpYWxpemVyLnRleHQsICdzdHlsZScpLFxuICAgICAgICAgICAgcmVzb3VyY2VJbXBvcnREZWNsYXJhdGlvbnMsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBpZiAodHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKG5vZGUuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIGNvbnN0IGlubGluZVN0eWxlcyA9IHRzLnZpc2l0Tm9kZXMobm9kZS5pbml0aWFsaXplci5lbGVtZW50cywgKG5vZGUpID0+IHtcbiAgICAgICAgICBpZiAoIXRzLmlzU3RyaW5nTGl0ZXJhbExpa2Uobm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBub2RlLnRleHQubGVuZ3RoID09PSAwXG4gICAgICAgICAgICA/IHVuZGVmaW5lZCAvLyBBbiBlbXB0eSBpbmxpbmUgc3R5bGUgaXMgZXF1aXZhbGVudCB0byBub3QgaGF2aW5nIGEgc3R5bGUgZWxlbWVudFxuICAgICAgICAgICAgOiBjcmVhdGVSZXNvdXJjZUltcG9ydChcbiAgICAgICAgICAgICAgICBub2RlRmFjdG9yeSxcbiAgICAgICAgICAgICAgICBnZW5lcmF0ZUppdElubGluZVVyaShub2RlLnRleHQsICdzdHlsZScpLFxuICAgICAgICAgICAgICAgIHJlc291cmNlSW1wb3J0RGVjbGFyYXRpb25zLFxuICAgICAgICAgICAgICApO1xuICAgICAgICB9KSBhcyB0cy5Ob2RlQXJyYXk8dHMuRXhwcmVzc2lvbj47XG5cbiAgICAgICAgLy8gSW5saW5lIHN0eWxlcyBzaG91bGQgYmUgcGxhY2VkIGZpcnN0XG4gICAgICAgIHN0eWxlUmVwbGFjZW1lbnRzLnVuc2hpZnQoLi4uaW5saW5lU3R5bGVzKTtcblxuICAgICAgICAvLyBUaGUgaW5saW5lIHN0eWxlcyB3aWxsIGJlIGFkZGVkIGFmdGVyd2FyZHMgaW4gY29tYmluYXRpb24gd2l0aCBhbnkgZXh0ZXJuYWwgc3R5bGVzXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlO1xuXG4gICAgY2FzZSAnc3R5bGVVcmwnOlxuICAgICAgaWYgKHRzLmlzU3RyaW5nTGl0ZXJhbExpa2Uobm9kZS5pbml0aWFsaXplcikpIHtcbiAgICAgICAgc3R5bGVSZXBsYWNlbWVudHMucHVzaChcbiAgICAgICAgICBjcmVhdGVSZXNvdXJjZUltcG9ydChcbiAgICAgICAgICAgIG5vZGVGYWN0b3J5LFxuICAgICAgICAgICAgZ2VuZXJhdGVKaXRGaWxlVXJpKG5vZGUuaW5pdGlhbGl6ZXIudGV4dCwgJ3N0eWxlJyksXG4gICAgICAgICAgICByZXNvdXJjZUltcG9ydERlY2xhcmF0aW9ucyxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlO1xuXG4gICAgY2FzZSAnc3R5bGVVcmxzJzpcbiAgICAgIGlmICghdHMuaXNBcnJheUxpdGVyYWxFeHByZXNzaW9uKG5vZGUuaW5pdGlhbGl6ZXIpKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBleHRlcm5hbFN0eWxlcyA9IHRzLnZpc2l0Tm9kZXMobm9kZS5pbml0aWFsaXplci5lbGVtZW50cywgKG5vZGUpID0+IHtcbiAgICAgICAgaWYgKCF0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKG5vZGUpKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbm9kZS50ZXh0XG4gICAgICAgICAgPyBjcmVhdGVSZXNvdXJjZUltcG9ydChcbiAgICAgICAgICAgICAgbm9kZUZhY3RvcnksXG4gICAgICAgICAgICAgIGdlbmVyYXRlSml0RmlsZVVyaShub2RlLnRleHQsICdzdHlsZScpLFxuICAgICAgICAgICAgICByZXNvdXJjZUltcG9ydERlY2xhcmF0aW9ucyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IHVuZGVmaW5lZDtcbiAgICAgIH0pIGFzIHRzLk5vZGVBcnJheTx0cy5FeHByZXNzaW9uPjtcblxuICAgICAgLy8gRXh0ZXJuYWwgc3R5bGVzIGFyZSBhcHBsaWVkIGFmdGVyIGFueSBpbmxpbmUgc3R5bGVzXG4gICAgICBzdHlsZVJlcGxhY2VtZW50cy5wdXNoKC4uLmV4dGVybmFsU3R5bGVzKTtcblxuICAgICAgLy8gVGhlIGV4dGVybmFsIHN0eWxlcyB3aWxsIGJlIGFkZGVkIGFmdGVyd2FyZHMgaW4gY29tYmluYXRpb24gd2l0aCBhbnkgaW5saW5lIHN0eWxlc1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gQWxsIG90aGVyIGVsZW1lbnRzIGFyZSBwYXNzZWQgdGhyb3VnaFxuICAgICAgcmV0dXJuIG5vZGU7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlUmVzb3VyY2VJbXBvcnQoXG4gIG5vZGVGYWN0b3J5OiB0cy5Ob2RlRmFjdG9yeSxcbiAgdXJsOiBzdHJpbmcsXG4gIHJlc291cmNlSW1wb3J0RGVjbGFyYXRpb25zOiB0cy5JbXBvcnREZWNsYXJhdGlvbltdLFxuKTogdHMuSWRlbnRpZmllciB7XG4gIGNvbnN0IHVybExpdGVyYWwgPSBub2RlRmFjdG9yeS5jcmVhdGVTdHJpbmdMaXRlcmFsKHVybCk7XG5cbiAgY29uc3QgaW1wb3J0TmFtZSA9IG5vZGVGYWN0b3J5LmNyZWF0ZUlkZW50aWZpZXIoXG4gICAgYF9fTkdfQ0xJX1JFU09VUkNFX18ke3Jlc291cmNlSW1wb3J0RGVjbGFyYXRpb25zLmxlbmd0aH1gLFxuICApO1xuICByZXNvdXJjZUltcG9ydERlY2xhcmF0aW9ucy5wdXNoKFxuICAgIG5vZGVGYWN0b3J5LmNyZWF0ZUltcG9ydERlY2xhcmF0aW9uKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgbm9kZUZhY3RvcnkuY3JlYXRlSW1wb3J0Q2xhdXNlKGZhbHNlLCBpbXBvcnROYW1lLCB1bmRlZmluZWQpLFxuICAgICAgdXJsTGl0ZXJhbCxcbiAgICApLFxuICApO1xuXG4gIHJldHVybiBpbXBvcnROYW1lO1xufVxuXG5mdW5jdGlvbiBnZXREZWNvcmF0b3JPcmlnaW4oXG4gIGRlY29yYXRvcjogdHMuRGVjb3JhdG9yLFxuICB0eXBlQ2hlY2tlcjogdHMuVHlwZUNoZWNrZXIsXG4pOiB7IG5hbWU6IHN0cmluZzsgbW9kdWxlOiBzdHJpbmcgfSB8IG51bGwge1xuICBpZiAoIXRzLmlzQ2FsbEV4cHJlc3Npb24oZGVjb3JhdG9yLmV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBsZXQgaWRlbnRpZmllcjogdHMuTm9kZTtcbiAgbGV0IG5hbWUgPSAnJztcblxuICBpZiAodHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24oZGVjb3JhdG9yLmV4cHJlc3Npb24uZXhwcmVzc2lvbikpIHtcbiAgICBpZGVudGlmaWVyID0gZGVjb3JhdG9yLmV4cHJlc3Npb24uZXhwcmVzc2lvbi5leHByZXNzaW9uO1xuICAgIG5hbWUgPSBkZWNvcmF0b3IuZXhwcmVzc2lvbi5leHByZXNzaW9uLm5hbWUudGV4dDtcbiAgfSBlbHNlIGlmICh0cy5pc0lkZW50aWZpZXIoZGVjb3JhdG9yLmV4cHJlc3Npb24uZXhwcmVzc2lvbikpIHtcbiAgICBpZGVudGlmaWVyID0gZGVjb3JhdG9yLmV4cHJlc3Npb24uZXhwcmVzc2lvbjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE5PVEU6IHJlc29sdmVyLmdldFJlZmVyZW5jZWRJbXBvcnREZWNsYXJhdGlvbiB3b3VsZCB3b3JrIGFzIHdlbGwgYnV0IGlzIGludGVybmFsXG4gIGNvbnN0IHN5bWJvbCA9IHR5cGVDaGVja2VyLmdldFN5bWJvbEF0TG9jYXRpb24oaWRlbnRpZmllcik7XG4gIGlmIChzeW1ib2wgJiYgc3ltYm9sLmRlY2xhcmF0aW9ucyAmJiBzeW1ib2wuZGVjbGFyYXRpb25zLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBkZWNsYXJhdGlvbiA9IHN5bWJvbC5kZWNsYXJhdGlvbnNbMF07XG4gICAgbGV0IG1vZHVsZTogc3RyaW5nO1xuXG4gICAgaWYgKHRzLmlzSW1wb3J0U3BlY2lmaWVyKGRlY2xhcmF0aW9uKSkge1xuICAgICAgbmFtZSA9IChkZWNsYXJhdGlvbi5wcm9wZXJ0eU5hbWUgfHwgZGVjbGFyYXRpb24ubmFtZSkudGV4dDtcbiAgICAgIG1vZHVsZSA9IChkZWNsYXJhdGlvbi5wYXJlbnQucGFyZW50LnBhcmVudC5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dDtcbiAgICB9IGVsc2UgaWYgKHRzLmlzTmFtZXNwYWNlSW1wb3J0KGRlY2xhcmF0aW9uKSkge1xuICAgICAgLy8gVXNlIHRoZSBuYW1lIGZyb20gdGhlIGRlY29yYXRvciBuYW1lc3BhY2UgcHJvcGVydHkgYWNjZXNzXG4gICAgICBtb2R1bGUgPSAoZGVjbGFyYXRpb24ucGFyZW50LnBhcmVudC5tb2R1bGVTcGVjaWZpZXIgYXMgdHMuU3RyaW5nTGl0ZXJhbCkudGV4dDtcbiAgICB9IGVsc2UgaWYgKHRzLmlzSW1wb3J0Q2xhdXNlKGRlY2xhcmF0aW9uKSkge1xuICAgICAgbmFtZSA9IChkZWNsYXJhdGlvbi5uYW1lIGFzIHRzLklkZW50aWZpZXIpLnRleHQ7XG4gICAgICBtb2R1bGUgPSAoZGVjbGFyYXRpb24ucGFyZW50Lm1vZHVsZVNwZWNpZmllciBhcyB0cy5TdHJpbmdMaXRlcmFsKS50ZXh0O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICByZXR1cm4geyBuYW1lLCBtb2R1bGUgfTtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuIl19
@@ -5,7 +5,7 @@
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.io/license
7
7
  */
8
- import ts from 'typescript';
8
+ import type ts from 'typescript';
9
9
  import { MemoryLoadResultCache } from '../load-result-cache';
10
10
  export declare class SourceFileCache extends Map<string, ts.SourceFile> {
11
11
  readonly persistentCachePath?: string | undefined;
@@ -49,7 +49,9 @@ class SourceFileCache extends Map {
49
49
  this.persistentCachePath = persistentCachePath;
50
50
  }
51
51
  invalidate(files) {
52
- this.modifiedFiles.clear();
52
+ if (files !== this.modifiedFiles) {
53
+ this.modifiedFiles.clear();
54
+ }
53
55
  for (let file of files) {
54
56
  this.babelFileCache.delete(file);
55
57
  this.typeScriptFileCache.delete((0, node_url_1.pathToFileURL)(file).href);
@@ -64,4 +66,3 @@ class SourceFileCache extends Map {
64
66
  }
65
67
  }
66
68
  exports.SourceFileCache = SourceFileCache;
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlLWZpbGUtY2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9lc2J1aWxkL2FuZ3VsYXIvc291cmNlLWZpbGUtY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxxQ0FBbUM7QUFDbkMsZ0RBQWtDO0FBQ2xDLHVDQUF5QztBQUV6Qyw0REFBNkQ7QUFFN0QsTUFBTSxhQUFhLEdBQUcsSUFBQSxrQkFBUSxHQUFFLEtBQUssT0FBTyxDQUFDO0FBQzdDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBRWxFLE1BQWEsZUFBZ0IsU0FBUSxHQUEwQjtJQVF4QztJQVBaLGFBQWEsR0FBRyxJQUFJLEdBQUcsRUFBVSxDQUFDO0lBQ2xDLGNBQWMsR0FBRyxJQUFJLEdBQUcsRUFBc0IsQ0FBQztJQUMvQyxtQkFBbUIsR0FBRyxJQUFJLEdBQUcsRUFBK0IsQ0FBQztJQUM3RCxlQUFlLEdBQUcsSUFBSSx5Q0FBcUIsRUFBRSxDQUFDO0lBRXZELGVBQWUsQ0FBcUI7SUFFcEMsWUFBcUIsbUJBQTRCO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBRFcsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFTO0lBRWpELENBQUM7SUFFRCxVQUFVLENBQUMsS0FBdUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzQixLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLElBQUEsd0JBQWEsRUFBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUV0QywrREFBK0Q7WUFDL0QsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDekQ7WUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztDQUNGO0FBNUJELDBDQTRCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBwbGF0Zm9ybSB9IGZyb20gJ25vZGU6b3MnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IE1lbW9yeUxvYWRSZXN1bHRDYWNoZSB9IGZyb20gJy4uL2xvYWQtcmVzdWx0LWNhY2hlJztcblxuY29uc3QgVVNJTkdfV0lORE9XUyA9IHBsYXRmb3JtKCkgPT09ICd3aW4zMic7XG5jb25zdCBXSU5ET1dTX1NFUF9SRUdFWFAgPSBuZXcgUmVnRXhwKGBcXFxcJHtwYXRoLndpbjMyLnNlcH1gLCAnZycpO1xuXG5leHBvcnQgY2xhc3MgU291cmNlRmlsZUNhY2hlIGV4dGVuZHMgTWFwPHN0cmluZywgdHMuU291cmNlRmlsZT4ge1xuICByZWFkb25seSBtb2RpZmllZEZpbGVzID0gbmV3IFNldDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGJhYmVsRmlsZUNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFVpbnQ4QXJyYXk+KCk7XG4gIHJlYWRvbmx5IHR5cGVTY3JpcHRGaWxlQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nIHwgVWludDhBcnJheT4oKTtcbiAgcmVhZG9ubHkgbG9hZFJlc3VsdENhY2hlID0gbmV3IE1lbW9yeUxvYWRSZXN1bHRDYWNoZSgpO1xuXG4gIHJlZmVyZW5jZWRGaWxlcz86IHJlYWRvbmx5IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHBlcnNpc3RlbnRDYWNoZVBhdGg/OiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgaW52YWxpZGF0ZShmaWxlczogSXRlcmFibGU8c3RyaW5nPik6IHZvaWQge1xuICAgIHRoaXMubW9kaWZpZWRGaWxlcy5jbGVhcigpO1xuICAgIGZvciAobGV0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIHRoaXMuYmFiZWxGaWxlQ2FjaGUuZGVsZXRlKGZpbGUpO1xuICAgICAgdGhpcy50eXBlU2NyaXB0RmlsZUNhY2hlLmRlbGV0ZShwYXRoVG9GaWxlVVJMKGZpbGUpLmhyZWYpO1xuICAgICAgdGhpcy5sb2FkUmVzdWx0Q2FjaGUuaW52YWxpZGF0ZShmaWxlKTtcblxuICAgICAgLy8gTm9ybWFsaXplIHNlcGFyYXRvcnMgdG8gYWxsb3cgbWF0Y2hpbmcgVHlwZVNjcmlwdCBIb3N0IHBhdGhzXG4gICAgICBpZiAoVVNJTkdfV0lORE9XUykge1xuICAgICAgICBmaWxlID0gZmlsZS5yZXBsYWNlKFdJTkRPV1NfU0VQX1JFR0VYUCwgcGF0aC5wb3NpeC5zZXApO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmRlbGV0ZShmaWxlKTtcbiAgICAgIHRoaXMubW9kaWZpZWRGaWxlcy5hZGQoZmlsZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -72,4 +72,3 @@ function parseJitUri(uri) {
72
72
  };
73
73
  }
74
74
  exports.parseJitUri = parseJitUri;
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvZXNidWlsZC9hbmd1bGFyL3VyaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSDs7R0FFRztBQUNILE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0FBRXpDOzs7O0dBSUc7QUFDVSxRQUFBLG1CQUFtQixHQUFHLEdBQUcsa0JBQWtCLFFBQWlCLENBQUM7QUFFMUU7Ozs7R0FJRztBQUNVLFFBQUEsc0JBQXNCLEdBQUcsR0FBRyxrQkFBa0IsV0FBb0IsQ0FBQztBQUVoRjs7OztHQUlHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRyxJQUFJLE1BQU0sQ0FDNUMsSUFBSSxrQkFBa0IsdUNBQXVDLENBQzlELENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLElBQVksRUFBRSxJQUEwQjtJQUN6RSxPQUFPLEdBQUcsa0JBQWtCLElBQUksSUFBSSxTQUFTLElBQUksRUFBRSxDQUFDO0FBQ3RELENBQUM7QUFGRCxnREFFQztBQUVEOzs7Ozs7R0FNRztBQUNILFNBQWdCLG9CQUFvQixDQUFDLElBQXlCLEVBQUUsSUFBMEI7SUFDeEYsT0FBTyxHQUFHLGtCQUFrQixJQUFJLElBQUksV0FBVyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0FBQ3hGLENBQUM7QUFGRCxvREFFQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixXQUFXLENBQUMsR0FBVztJQUNyQyxNQUFNLE9BQU8sR0FBRyw0QkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsSUFBSSxDQUFDLE9BQU8sRUFBRTtRQUNaLE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0lBRUQsT0FBTztRQUNMLFNBQVMsRUFBRSxHQUFHLGtCQUFrQixJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUNoRCxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBeUI7UUFDeEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQXNCO1FBQ3ZDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ3RCLENBQUM7QUFDSixDQUFDO0FBWkQsa0NBWUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuLyoqXG4gKiBBIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIGJhc2UgbmFtZXNwYWNlIGZvciBBbmd1bGFyIEpJVCBtb2RlIHJlbGF0ZWQgaW1wb3J0cy5cbiAqL1xuY29uc3QgSklUX0JBU0VfTkFNRVNQQUNFID0gJ2FuZ3VsYXI6aml0JztcblxuLyoqXG4gKiBBIHN0cmluZyB2YWx1ZSByZXByZXNlbnRpbmcgdGhlIG5hbWVzcGFjZSBmb3IgQW5ndWxhciBKSVQgbW9kZSByZWxhdGVkIGltcG9ydHMgZm9yXG4gKiBDb21wb25lbnQgc3R5bGVzLiBUaGlzIG5hbWVzcGFjZSBpcyB1c2VkIGZvciBib3RoIGlubGluZSAoYHN0eWxlc2ApIGFuZCBleHRlcm5hbFxuICogKGBzdHlsZVVybHNgKSBzdHlsZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBKSVRfU1RZTEVfTkFNRVNQQUNFID0gYCR7SklUX0JBU0VfTkFNRVNQQUNFfTpzdHlsZWAgYXMgY29uc3Q7XG5cbi8qKlxuICogQSBzdHJpbmcgdmFsdWUgcmVwcmVzZW50aW5nIHRoZSBuYW1lc3BhY2UgZm9yIEFuZ3VsYXIgSklUIG1vZGUgcmVsYXRlZCBpbXBvcnRzIGZvclxuICogQ29tcG9uZW50IHRlbXBsYXRlcy4gVGhpcyBuYW1lc3BhY2UgaXMgY3VycmVudGx5IG9ubHkgdXNlZCBmb3IgZXh0ZXJuYWwgKGB0ZW1wbGF0ZVVybGApXG4gKiB0ZW1wbGF0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBKSVRfVEVNUExBVEVfTkFNRVNQQUNFID0gYCR7SklUX0JBU0VfTkFNRVNQQUNFfTp0ZW1wbGF0ZWAgYXMgY29uc3Q7XG5cbi8qKlxuICogQSByZWd1bGFyIGV4cHJlc3Npb24gdGhhdCBjYW4gYmUgdXNlZCB0byBtYXRjaCBhIEFuZ3VsYXIgSklUIG1vZGUgbmFtZXNwYWNlIFVSSS5cbiAqIEl0IGNvbnRhaW5zIGNhcHR1cmUgZ3JvdXBzIGZvciB0aGUgdHlwZSAodGVtcGxhdGUvc3R5bGUpLCBvcmlnaW4gKGZpbGUvaW5saW5lKSwgYW5kIHNwZWNpZmllci5cbiAqIFRoZSB7QGxpbmsgcGFyc2VKaXRVcml9IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHBhcnNlIGFuZCByZXR1cm4gYW4gb2JqZWN0IHJlcHJlc2VudGF0aW9uIG9mIGEgSklUIFVSSS5cbiAqL1xuZXhwb3J0IGNvbnN0IEpJVF9OQU1FU1BBQ0VfUkVHRVhQID0gbmV3IFJlZ0V4cChcbiAgYF4ke0pJVF9CQVNFX05BTUVTUEFDRX06KHRlbXBsYXRlfHN0eWxlKTooZmlsZXxpbmxpbmUpOyguKikkYCxcbik7XG5cbi8qKlxuICogR2VuZXJhdGVzIGFuIEFuZ3VsYXIgSklUIG1vZGUgbmFtZXNwYWNlIFVSSSBmb3IgYSBnaXZlbiBmaWxlLlxuICogQHBhcmFtIGZpbGUgVGhlIHBhdGggb2YgdGhlIGZpbGUgdG8gYmUgaW5jbHVkZWQuXG4gKiBAcGFyYW0gdHlwZSBUaGUgdHlwZSBvZiB0aGUgZmlsZSAoYHN0eWxlYCBvciBgdGVtcGxhdGVgKS5cbiAqIEByZXR1cm5zIEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIGZ1bGwgSklUIG5hbWVzcGFjZSBVUkkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUppdEZpbGVVcmkoZmlsZTogc3RyaW5nLCB0eXBlOiAnc3R5bGUnIHwgJ3RlbXBsYXRlJykge1xuICByZXR1cm4gYCR7SklUX0JBU0VfTkFNRVNQQUNFfToke3R5cGV9OmZpbGU7JHtmaWxlfWA7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGFuIEFuZ3VsYXIgSklUIG1vZGUgbmFtZXNwYWNlIFVSSSBmb3IgYSBnaXZlbiBpbmxpbmUgc3R5bGUgb3IgdGVtcGxhdGUuXG4gKiBUaGUgcHJvdmlkZWQgY29udGVudCBpcyBiYXNlNjQgZW5jb2RlZCBhbmQgaW5jbHVkZWQgaW4gdGhlIFVSSS5cbiAqIEBwYXJhbSBkYXRhIFRoZSBjb250ZW50IHRvIGVuY29kZSB3aXRoaW4gdGhlIFVSSS5cbiAqIEBwYXJhbSB0eXBlIFRoZSB0eXBlIG9mIHRoZSBjb250ZW50IChgc3R5bGVgIG9yIGB0ZW1wbGF0ZWApLlxuICogQHJldHVybnMgQSBzdHJpbmcgY29udGFpbmluZyB0aGUgZnVsbCBKSVQgbmFtZXNwYWNlIFVSSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlSml0SW5saW5lVXJpKGRhdGE6IHN0cmluZyB8IFVpbnQ4QXJyYXksIHR5cGU6ICdzdHlsZScgfCAndGVtcGxhdGUnKSB7XG4gIHJldHVybiBgJHtKSVRfQkFTRV9OQU1FU1BBQ0V9OiR7dHlwZX06aW5saW5lOyR7QnVmZmVyLmZyb20oZGF0YSkudG9TdHJpbmcoJ2Jhc2U2NCcpfWA7XG59XG5cbi8qKlxuICogUGFyc2VzIGEgc3RyaW5nIGNvbnRhaW5pbmcgYSBKSVQgbmFtZXNwYWNlIFVSSS5cbiAqIEpJVCBuYW1lc3BhY2UgVVJJcyBhcmUgdXNlZCB0byBlbmNvZGUgdGhlIGluZm9ybWF0aW9uIGZvciBhbiBBbmd1bGFyIGNvbXBvbmVudCdzIHN0eWxlc2hlZXRzXG4gKiBhbmQgdGVtcGxhdGVzIHdoZW4gY29tcGlsZWQgaW4gSklUIG1vZGUuXG4gKiBAcGFyYW0gdXJpIFRoZSBVUkkgdG8gcGFyc2UgaW50byBpdHMgdW5kZXJseWluZyBjb21wb25lbnRzLlxuICogQHJldHVybnMgQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIG5hbWVzcGFjZSwgdHlwZSwgb3JpZ2luLCBhbmQgc3BlY2lmaWVyIG9mIHRoZSBVUkk7XG4gKiBgdW5kZWZpbmVkYCBpZiBub3QgYSBKSVQgbmFtZXNwYWNlIFVSSS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlSml0VXJpKHVyaTogc3RyaW5nKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBKSVRfTkFNRVNQQUNFX1JFR0VYUC5leGVjKHVyaSk7XG4gIGlmICghbWF0Y2hlcykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG5hbWVzcGFjZTogYCR7SklUX0JBU0VfTkFNRVNQQUNFfToke21hdGNoZXNbMV19YCxcbiAgICB0eXBlOiBtYXRjaGVzWzFdIGFzICdzdHlsZScgfCAndGVtcGxhdGUnLFxuICAgIG9yaWdpbjogbWF0Y2hlc1syXSBhcyAnZmlsZScgfCAnaW5saW5lJyxcbiAgICBzcGVjaWZpZXI6IG1hdGNoZXNbM10sXG4gIH07XG59XG4iXX0=
@@ -92,4 +92,3 @@ function createWorkerTransformer(fileProcessor) {
92
92
  };
93
93
  }
94
94
  exports.createWorkerTransformer = createWorkerTransformer;
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLXdvcmtlci10cmFuc2Zvcm1lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL3Rvb2xzL2VzYnVpbGQvYW5ndWxhci93ZWItd29ya2VyLXRyYW5zZm9ybWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQUVILDREQUE0QjtBQUU1Qjs7Ozs7OztHQU9HO0FBQ0gsU0FBZ0IsdUJBQXVCLENBQ3JDLGFBQXlEO0lBRXpELE9BQU8sQ0FBQyxPQUFpQyxFQUFFLEVBQUU7UUFDM0MsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUVwQyxNQUFNLFNBQVMsR0FBZSxDQUFDLElBQWEsRUFBRSxFQUFFO1lBQzlDLDJFQUEyRTtZQUMzRSwrQkFBK0I7WUFDL0IsSUFDRSxDQUFDLG9CQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztnQkFDekIsQ0FBQyxvQkFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNqQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsRUFDOUU7Z0JBQ0EsOENBQThDO2dCQUM5QyxPQUFPLG9CQUFFLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDcEQ7WUFFRCxnRUFBZ0U7WUFDaEUsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDN0UsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELDhDQUE4QztZQUM5QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLCtCQUErQjtZQUMvQixJQUNFLENBQUMsb0JBQUUsQ0FBQyxlQUFlLENBQUMsYUFBYSxDQUFDO2dCQUNsQyxDQUFDLG9CQUFFLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7Z0JBQzFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLEtBQUssRUFDdkM7Z0JBQ0EsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELDRCQUE0QjtZQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsSUFBSSxhQUFhLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7Z0JBQ3BFLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCw0REFBNEQ7WUFDNUQsSUFDRSxDQUFDLG9CQUFFLENBQUMsbUJBQW1CLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDbkQsQ0FBQyxvQkFBRSxDQUFDLDBCQUEwQixDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzFELENBQUMsb0JBQUUsQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ3pELGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxLQUFLLEVBQzlDO2dCQUNBLE9BQU8sSUFBSSxDQUFDO2FBQ2I7WUFFRCxNQUFNLFFBQVEsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNqRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBRS9DLG1CQUFtQjtZQUNuQixNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRTFELDZCQUE2QjtZQUM3QixJQUFJLGVBQWUsS0FBSyxRQUFRLEVBQUU7Z0JBQ2hDLE9BQU8sV0FBVyxDQUFDLG1CQUFtQixDQUNwQyxJQUFJLEVBQ0osSUFBSSxDQUFDLFVBQVUsRUFDZixJQUFJLENBQUMsYUFBYTtnQkFDbEIsMEJBQTBCO2dCQUMxQixvQkFBRSxDQUFDLFlBQVksQ0FDYixXQUFXLENBQUMsZUFBZSxDQUN6QjtvQkFDRSxXQUFXLENBQUMsbUJBQW1CLENBQzdCLGFBQWEsRUFDYixhQUFhLENBQUMsVUFBVSxFQUN4QixhQUFhLENBQUMsYUFBYTtvQkFDM0IsdUJBQXVCO29CQUN2QixvQkFBRSxDQUFDLFlBQVksQ0FDYixXQUFXLENBQUMsZUFBZSxDQUN6Qjt3QkFDRSxXQUFXLENBQUMsbUJBQW1CLENBQUMsZUFBZSxDQUFDO3dCQUNoRCxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztxQkFDM0IsRUFDRCxhQUFhLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUN6QyxFQUNELGFBQWEsQ0FBQyxTQUFTLENBQ3hCLENBQ0Y7b0JBQ0QsdURBQXVEO29CQUN2RCxnRUFBZ0U7b0JBQ2hFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUNmLFdBQVcsQ0FBQyw2QkFBNkIsQ0FBQzs0QkFDeEMsV0FBVyxDQUFDLHdCQUF3QixDQUNsQyxNQUFNLEVBQ04sV0FBVyxDQUFDLG1CQUFtQixDQUFDLFFBQVEsQ0FBQyxDQUMxQzt5QkFDRixDQUFDO2lCQUNMLEVBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FDaEMsRUFDRCxJQUFJLENBQUMsU0FBUyxDQUNmLENBQ0YsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE9BQU8sSUFBSSxDQUFDO2FBQ2I7UUFDSCxDQUFDLENBQUM7UUFFRixPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUU7WUFDcEIsMkNBQTJDO1lBQzNDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDdkMsT0FBTyxVQUFVLENBQUM7YUFDbkI7WUFFRCxPQUFPLG9CQUFFLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQTlHRCwwREE4R0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBUeXBlU2NyaXB0IFRyYW5zZm9ybWVyIHRvIHByb2Nlc3MgV29ya2VyIGFuZCBTaGFyZWRXb3JrZXIgZW50cnkgcG9pbnRzIGFuZCB0cmFuc2Zvcm1cbiAqIHRoZSBVUkwgaW5zdGFuY2VzIHRvIHJlZmVyZW5jZSB0aGUgYnVpbHQgYW5kIGJ1bmRsZWQgd29ya2VyIGNvZGUuIFRoaXMgdXNlcyBhIGNhbGxiYWNrIHByb2Nlc3NcbiAqIHNpbWlsYXIgdG8gdGhlIGNvbXBvbmVudCBzdHlsZXNoZWV0cyB0byBhbGxvdyB0aGUgbWFpbiBlc2J1aWxkIHBsdWdpbiB0byBwcm9jZXNzIGZpbGVzIGFzIG5lZWRlZC5cbiAqIFVuc3VwcG9ydGVkIHdvcmtlciBleHByZXNzaW9ucyB3aWxsIGJlIGxlZnQgaW4gdGhlaXIgb3JpZ2luIGZvcm0uXG4gKiBAcGFyYW0gZ2V0VHlwZUNoZWNrZXIgQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBUeXBlU2NyaXB0IFR5cGVDaGVja2VyIGluc3RhbmNlIGZvciB0aGUgcHJvZ3JhbS5cbiAqIEByZXR1cm5zIEEgVHlwZVNjcmlwdCB0cmFuc2Zvcm1lciBmYWN0b3J5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlV29ya2VyVHJhbnNmb3JtZXIoXG4gIGZpbGVQcm9jZXNzb3I6IChmaWxlOiBzdHJpbmcsIGltcG9ydGVyOiBzdHJpbmcpID0+IHN0cmluZyxcbik6IHRzLlRyYW5zZm9ybWVyRmFjdG9yeTx0cy5Tb3VyY2VGaWxlPiB7XG4gIHJldHVybiAoY29udGV4dDogdHMuVHJhbnNmb3JtYXRpb25Db250ZXh0KSA9PiB7XG4gICAgY29uc3Qgbm9kZUZhY3RvcnkgPSBjb250ZXh0LmZhY3Rvcnk7XG5cbiAgICBjb25zdCB2aXNpdE5vZGU6IHRzLlZpc2l0b3IgPSAobm9kZTogdHMuTm9kZSkgPT4ge1xuICAgICAgLy8gQ2hlY2sgaWYgdGhlIG5vZGUgaXMgYSB2YWxpZCBuZXcgZXhwcmVzc2lvbiBmb3IgYSBXb3JrZXIgb3IgU2hhcmVkV29ya2VyXG4gICAgICAvLyBUT0RPOiBBZGQgZ2xvYmFsIHNjb3BlIGNoZWNrXG4gICAgICBpZiAoXG4gICAgICAgICF0cy5pc05ld0V4cHJlc3Npb24obm9kZSkgfHxcbiAgICAgICAgIXRzLmlzSWRlbnRpZmllcihub2RlLmV4cHJlc3Npb24pIHx8XG4gICAgICAgIChub2RlLmV4cHJlc3Npb24udGV4dCAhPT0gJ1dvcmtlcicgJiYgbm9kZS5leHByZXNzaW9uLnRleHQgIT09ICdTaGFyZWRXb3JrZXInKVxuICAgICAgKSB7XG4gICAgICAgIC8vIFZpc2l0IGNoaWxkIG5vZGVzIG9mIG5vbi1Xb3JrZXIgZXhwcmVzc2lvbnNcbiAgICAgICAgcmV0dXJuIHRzLnZpc2l0RWFjaENoaWxkKG5vZGUsIHZpc2l0Tm9kZSwgY29udGV4dCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFdvcmtlciBzaG91bGQgaGF2ZSBhdGxlYXN0IG9uZSBhcmd1bWVudCBidXQgbm90IG1vcmUgdGhhbiB0d29cbiAgICAgIGlmICghbm9kZS5hcmd1bWVudHMgfHwgbm9kZS5hcmd1bWVudHMubGVuZ3RoIDwgMSB8fCBub2RlLmFyZ3VtZW50cy5sZW5ndGggPiAyKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgbmV3IFVSTCBleHByZXNzaW9uXG4gICAgICBjb25zdCB3b3JrZXJVcmxOb2RlID0gbm9kZS5hcmd1bWVudHNbMF07XG4gICAgICAvLyBUT0RPOiBBZGQgZ2xvYmFsIHNjb3BlIGNoZWNrXG4gICAgICBpZiAoXG4gICAgICAgICF0cy5pc05ld0V4cHJlc3Npb24od29ya2VyVXJsTm9kZSkgfHxcbiAgICAgICAgIXRzLmlzSWRlbnRpZmllcih3b3JrZXJVcmxOb2RlLmV4cHJlc3Npb24pIHx8XG4gICAgICAgIHdvcmtlclVybE5vZGUuZXhwcmVzc2lvbi50ZXh0ICE9PSAnVVJMJ1xuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuXG4gICAgICAvLyBVUkwgbXVzdCBoYXZlIDIgYXJndW1lbnRzXG4gICAgICBpZiAoIXdvcmtlclVybE5vZGUuYXJndW1lbnRzIHx8IHdvcmtlclVybE5vZGUuYXJndW1lbnRzLmxlbmd0aCAhPT0gMikge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cblxuICAgICAgLy8gVVJMIGFyZ3VtZW50cyBtdXN0IGJlIGEgc3RyaW5nIGFuZCB0aGVuIGBpbXBvcnQubWV0YS51cmxgXG4gICAgICBpZiAoXG4gICAgICAgICF0cy5pc1N0cmluZ0xpdGVyYWxMaWtlKHdvcmtlclVybE5vZGUuYXJndW1lbnRzWzBdKSB8fFxuICAgICAgICAhdHMuaXNQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb24od29ya2VyVXJsTm9kZS5hcmd1bWVudHNbMV0pIHx8XG4gICAgICAgICF0cy5pc01ldGFQcm9wZXJ0eSh3b3JrZXJVcmxOb2RlLmFyZ3VtZW50c1sxXS5leHByZXNzaW9uKSB8fFxuICAgICAgICB3b3JrZXJVcmxOb2RlLmFyZ3VtZW50c1sxXS5uYW1lLnRleHQgIT09ICd1cmwnXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpbGVQYXRoID0gd29ya2VyVXJsTm9kZS5hcmd1bWVudHNbMF0udGV4dDtcbiAgICAgIGNvbnN0IGltcG9ydGVyID0gbm9kZS5nZXRTb3VyY2VGaWxlKCkuZmlsZU5hbWU7XG5cbiAgICAgIC8vIFByb2Nlc3MgdGhlIGZpbGVcbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50UGF0aCA9IGZpbGVQcm9jZXNzb3IoZmlsZVBhdGgsIGltcG9ydGVyKTtcblxuICAgICAgLy8gVXBkYXRlIGlmIHRoZSBwYXRoIGNoYW5nZWRcbiAgICAgIGlmIChyZXBsYWNlbWVudFBhdGggIT09IGZpbGVQYXRoKSB7XG4gICAgICAgIHJldHVybiBub2RlRmFjdG9yeS51cGRhdGVOZXdFeHByZXNzaW9uKFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbm9kZS5leHByZXNzaW9uLFxuICAgICAgICAgIG5vZGUudHlwZUFyZ3VtZW50cyxcbiAgICAgICAgICAvLyBVcGRhdGUgV29ya2VyIGFyZ3VtZW50c1xuICAgICAgICAgIHRzLnNldFRleHRSYW5nZShcbiAgICAgICAgICAgIG5vZGVGYWN0b3J5LmNyZWF0ZU5vZGVBcnJheShcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIG5vZGVGYWN0b3J5LnVwZGF0ZU5ld0V4cHJlc3Npb24oXG4gICAgICAgICAgICAgICAgICB3b3JrZXJVcmxOb2RlLFxuICAgICAgICAgICAgICAgICAgd29ya2VyVXJsTm9kZS5leHByZXNzaW9uLFxuICAgICAgICAgICAgICAgICAgd29ya2VyVXJsTm9kZS50eXBlQXJndW1lbnRzLFxuICAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIFVSTCBhcmd1bWVudHNcbiAgICAgICAgICAgICAgICAgIHRzLnNldFRleHRSYW5nZShcbiAgICAgICAgICAgICAgICAgICAgbm9kZUZhY3RvcnkuY3JlYXRlTm9kZUFycmF5KFxuICAgICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVGYWN0b3J5LmNyZWF0ZVN0cmluZ0xpdGVyYWwocmVwbGFjZW1lbnRQYXRoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHdvcmtlclVybE5vZGUuYXJndW1lbnRzWzFdLFxuICAgICAgICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgICAgICAgd29ya2VyVXJsTm9kZS5hcmd1bWVudHMuaGFzVHJhaWxpbmdDb21tYSxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgd29ya2VyVXJsTm9kZS5hcmd1bWVudHMsXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgLy8gVXNlIHRoZSBzZWNvbmQgV29ya2VyIGFyZ3VtZW50IChvcHRpb25zKSBpZiBwcmVzZW50LlxuICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSBjcmVhdGUgYSBkZWZhdWx0IG9wdGlvbnMgb2JqZWN0IGZvciBtb2R1bGUgV29ya2Vycy5cbiAgICAgICAgICAgICAgICBub2RlLmFyZ3VtZW50c1sxXSA/P1xuICAgICAgICAgICAgICAgICAgbm9kZUZhY3RvcnkuY3JlYXRlT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24oW1xuICAgICAgICAgICAgICAgICAgICBub2RlRmFjdG9yeS5jcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgJ3R5cGUnLFxuICAgICAgICAgICAgICAgICAgICAgIG5vZGVGYWN0b3J5LmNyZWF0ZVN0cmluZ0xpdGVyYWwoJ21vZHVsZScpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG5vZGUuYXJndW1lbnRzLmhhc1RyYWlsaW5nQ29tbWEsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgbm9kZS5hcmd1bWVudHMsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfVxuICAgIH07XG5cbiAgICByZXR1cm4gKHNvdXJjZUZpbGUpID0+IHtcbiAgICAgIC8vIFNraXAgdHJhbnNmb3JtZXIgaWYgdGhlcmUgYXJlIG5vIFdvcmtlcnNcbiAgICAgIGlmICghc291cmNlRmlsZS50ZXh0LmluY2x1ZGVzKCdXb3JrZXInKSkge1xuICAgICAgICByZXR1cm4gc291cmNlRmlsZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRzLnZpc2l0RWFjaENoaWxkKHNvdXJjZUZpbGUsIHZpc2l0Tm9kZSwgY29udGV4dCk7XG4gICAgfTtcbiAgfTtcbn1cbiJdfQ==
@@ -9,9 +9,11 @@ import type { BuildOptions } from 'esbuild';
9
9
  import type { NormalizedApplicationBuildOptions } from '../../builders/application/options';
10
10
  import { SourceFileCache } from './angular/source-file-cache';
11
11
  export declare function createBrowserCodeBundleOptions(options: NormalizedApplicationBuildOptions, target: string[], sourceFileCache?: SourceFileCache): BuildOptions;
12
+ export declare function createBrowserPolyfillBundleOptions(options: NormalizedApplicationBuildOptions, target: string[], sourceFileCache?: SourceFileCache): BuildOptions | undefined;
12
13
  /**
13
14
  * Create an esbuild 'build' options object for the server bundle.
14
15
  * @param options The builder's user-provider normalized options.
15
16
  * @returns An esbuild BuildOptions object.
16
17
  */
17
18
  export declare function createServerCodeBundleOptions(options: NormalizedApplicationBuildOptions, target: string[], sourceFileCache: SourceFileCache): BuildOptions;
19
+ export declare function createServerPolyfillBundleOptions(options: NormalizedApplicationBuildOptions, target: string[], sourceFileCache?: SourceFileCache): BuildOptions | undefined;