@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.
- package/package.json +13 -13
- package/plugins/karma.js +0 -1
- package/src/builders/app-shell/index.js +8 -6
- package/src/builders/app-shell/render-worker.js +0 -1
- package/src/builders/app-shell/schema.js +0 -1
- package/src/builders/application/build-action.js +0 -1
- package/src/builders/application/execute-build.js +37 -14
- package/src/builders/application/execute-post-bundle.d.ts +1 -0
- package/src/builders/application/execute-post-bundle.js +5 -3
- package/src/builders/application/i18n.d.ts +1 -0
- package/src/builders/application/i18n.js +4 -2
- package/src/builders/application/index.js +8 -2
- package/src/builders/application/options.d.ts +1 -1
- package/src/builders/application/options.js +3 -3
- package/src/builders/application/schema.d.ts +15 -5
- package/src/builders/application/schema.js +0 -1
- package/src/builders/application/schema.json +10 -4
- package/src/builders/browser/index.js +0 -1
- package/src/builders/browser/schema.js +0 -1
- package/src/builders/browser-esbuild/builder-status-warnings.js +0 -1
- package/src/builders/browser-esbuild/index.js +14 -13
- package/src/builders/browser-esbuild/schema.js +0 -1
- package/src/builders/dev-server/builder.js +0 -1
- package/src/builders/dev-server/index.js +0 -1
- package/src/builders/dev-server/load-proxy-config.js +0 -1
- package/src/builders/dev-server/options.js +0 -1
- package/src/builders/dev-server/schema.js +0 -1
- package/src/builders/dev-server/vite-server.d.ts +5 -2
- package/src/builders/dev-server/vite-server.js +78 -45
- package/src/builders/dev-server/webpack-server.js +0 -1
- package/src/builders/extract-i18n/application-extraction.js +0 -1
- package/src/builders/extract-i18n/builder.js +0 -1
- package/src/builders/extract-i18n/empty-loader.js +0 -1
- package/src/builders/extract-i18n/index.js +0 -1
- package/src/builders/extract-i18n/ivy-extract-loader.js +0 -1
- package/src/builders/extract-i18n/options.js +0 -1
- package/src/builders/extract-i18n/schema.js +0 -1
- package/src/builders/extract-i18n/webpack-extraction.js +0 -1
- package/src/builders/jest/index.js +0 -1
- package/src/builders/jest/options.js +0 -1
- package/src/builders/jest/schema.js +0 -1
- package/src/builders/jest/test-files.js +0 -1
- package/src/builders/karma/find-tests-plugin.js +0 -1
- package/src/builders/karma/index.js +0 -1
- package/src/builders/karma/schema.js +0 -1
- package/src/builders/ng-packagr/index.js +0 -1
- package/src/builders/ng-packagr/schema.js +0 -1
- package/src/builders/prerender/index.js +2 -1
- package/src/builders/prerender/render-worker.js +2 -3
- package/src/builders/prerender/routes-extractor-worker.js +1 -2
- package/src/builders/prerender/schema.d.ts +4 -2
- package/src/builders/prerender/schema.js +0 -1
- package/src/builders/prerender/schema.json +2 -2
- package/src/builders/protractor/index.js +0 -1
- package/src/builders/protractor/schema.js +0 -1
- package/src/builders/server/index.js +0 -1
- package/src/builders/server/platform-server-exports-loader.js +0 -1
- package/src/builders/server/schema.js +0 -1
- package/src/builders/ssr-dev-server/index.js +0 -1
- package/src/builders/ssr-dev-server/schema.js +0 -1
- package/src/builders/ssr-dev-server/utils.js +0 -1
- package/src/index.js +0 -1
- package/src/tools/babel/plugins/adjust-static-class-members.js +0 -1
- package/src/tools/babel/plugins/adjust-typescript-enums.js +0 -1
- package/src/tools/babel/plugins/elide-angular-metadata.js +0 -1
- package/src/tools/babel/plugins/pure-toplevel-functions.js +0 -1
- package/src/tools/babel/presets/application.js +0 -1
- package/src/tools/babel/webpack-loader.js +0 -1
- package/src/tools/esbuild/angular/angular-host.js +0 -1
- package/src/tools/esbuild/angular/compilation/angular-compilation.d.ts +6 -3
- package/src/tools/esbuild/angular/compilation/angular-compilation.js +36 -9
- package/src/tools/esbuild/angular/compilation/aot-compilation.js +2 -1
- package/src/tools/esbuild/angular/compilation/factory.d.ts +16 -0
- package/src/tools/esbuild/angular/compilation/factory.js +56 -0
- package/src/tools/esbuild/angular/compilation/index.d.ts +1 -2
- package/src/tools/esbuild/angular/compilation/index.js +3 -6
- package/src/tools/esbuild/angular/compilation/jit-compilation.js +0 -1
- package/src/tools/esbuild/angular/compilation/noop-compilation.d.ts +1 -1
- package/src/tools/esbuild/angular/compilation/noop-compilation.js +0 -1
- package/src/tools/esbuild/angular/compilation/parallel-compilation.d.ts +42 -0
- package/src/tools/esbuild/angular/compilation/parallel-compilation.js +121 -0
- package/src/tools/esbuild/angular/compilation/parallel-worker.d.ts +32 -0
- package/src/tools/esbuild/angular/compilation/parallel-worker.js +90 -0
- package/src/tools/esbuild/angular/compilation-state.js +0 -1
- package/src/tools/esbuild/angular/compiler-plugin.d.ts +1 -0
- package/src/tools/esbuild/angular/compiler-plugin.js +111 -52
- package/src/tools/esbuild/angular/component-stylesheets.d.ts +3 -3
- package/src/tools/esbuild/angular/component-stylesheets.js +47 -32
- package/src/tools/esbuild/angular/diagnostics.d.ts +2 -2
- package/src/tools/esbuild/angular/diagnostics.js +9 -15
- package/src/tools/esbuild/angular/file-reference-tracker.d.ts +17 -0
- package/src/tools/esbuild/angular/file-reference-tracker.js +53 -0
- package/src/tools/esbuild/angular/jit-plugin-callbacks.d.ts +6 -3
- package/src/tools/esbuild/angular/jit-plugin-callbacks.js +4 -5
- package/src/tools/esbuild/angular/jit-resource-transformer.js +0 -1
- package/src/tools/esbuild/angular/source-file-cache.d.ts +1 -1
- package/src/tools/esbuild/angular/source-file-cache.js +3 -2
- package/src/tools/esbuild/angular/uri.js +0 -1
- package/src/tools/esbuild/angular/web-worker-transformer.js +0 -1
- package/src/tools/esbuild/application-code-bundle.d.ts +2 -0
- package/src/tools/esbuild/application-code-bundle.js +209 -150
- package/src/tools/esbuild/budget-stats.js +0 -1
- package/src/tools/esbuild/bundler-context.d.ts +12 -1
- package/src/tools/esbuild/bundler-context.js +105 -10
- package/src/tools/esbuild/bundler-execution-result.d.ts +19 -0
- package/src/tools/esbuild/bundler-execution-result.js +18 -3
- package/src/tools/esbuild/commonjs-checker.js +3 -1
- package/src/tools/esbuild/compiler-plugin-options.js +1 -1
- package/src/tools/esbuild/global-scripts.js +0 -1
- package/src/tools/esbuild/global-styles.js +0 -1
- package/src/tools/esbuild/i18n-inliner-worker.js +0 -1
- package/src/tools/esbuild/i18n-inliner.js +2 -1
- package/src/tools/esbuild/i18n-locale-plugin.js +0 -1
- package/src/tools/esbuild/index-html-generator.js +25 -3
- package/src/tools/esbuild/javascript-transfomer-plugin.d.ts +19 -0
- package/src/tools/esbuild/javascript-transfomer-plugin.js +51 -0
- package/src/tools/esbuild/javascript-transformer-worker.js +0 -1
- package/src/tools/esbuild/javascript-transformer.d.ts +1 -1
- package/src/tools/esbuild/javascript-transformer.js +5 -1
- package/src/tools/esbuild/license-extractor.js +0 -1
- package/src/tools/esbuild/load-result-cache.d.ts +2 -0
- package/src/tools/esbuild/load-result-cache.js +3 -1
- package/src/tools/esbuild/profiling.js +0 -1
- package/src/tools/esbuild/rxjs-esm-resolution-plugin.js +0 -1
- package/src/tools/esbuild/sourcemap-ignorelist-plugin.js +0 -1
- package/src/tools/esbuild/stylesheets/bundle-options.js +0 -1
- package/src/tools/esbuild/stylesheets/css-language.js +0 -1
- package/src/tools/esbuild/stylesheets/css-resource-plugin.js +25 -7
- package/src/tools/esbuild/stylesheets/less-language.js +0 -1
- package/src/tools/esbuild/stylesheets/sass-language.js +6 -20
- package/src/tools/esbuild/stylesheets/stylesheet-plugin-factory.js +25 -11
- package/src/tools/esbuild/utils.d.ts +4 -4
- package/src/tools/esbuild/utils.js +47 -34
- package/src/tools/esbuild/virtual-module-plugin.d.ts +3 -0
- package/src/tools/esbuild/virtual-module-plugin.js +3 -3
- package/src/tools/esbuild/watcher.js +0 -1
- package/src/tools/sass/lexer.js +0 -1
- package/src/tools/sass/rebasing-importer.d.ts +3 -8
- package/src/tools/sass/rebasing-importer.js +3 -52
- package/src/tools/sass/sass-service-legacy.js +0 -1
- package/src/tools/sass/sass-service.d.ts +1 -17
- package/src/tools/sass/sass-service.js +4 -6
- package/src/tools/sass/worker-legacy.js +0 -1
- package/src/tools/sass/worker.js +8 -2
- package/src/tools/vite/i18n-locale-plugin.js +0 -1
- package/src/tools/webpack/configs/common.js +0 -1
- package/src/tools/webpack/configs/dev-server.js +0 -1
- package/src/tools/webpack/configs/index.js +0 -1
- package/src/tools/webpack/configs/styles.js +6 -12
- package/src/tools/webpack/plugins/any-component-style-budget-checker.js +0 -1
- package/src/tools/webpack/plugins/builder-watch-plugin.js +0 -1
- package/src/tools/webpack/plugins/common-js-usage-warn-plugin.js +0 -1
- package/src/tools/webpack/plugins/css-optimizer-plugin.js +0 -1
- package/src/tools/webpack/plugins/dedupe-module-resolve-plugin.js +0 -1
- package/src/tools/webpack/plugins/devtools-ignore-plugin.js +0 -1
- package/src/tools/webpack/plugins/esbuild-executor.js +0 -1
- package/src/tools/webpack/plugins/hmr/hmr-accept.js +0 -1
- package/src/tools/webpack/plugins/hmr/hmr-loader.js +0 -1
- package/src/tools/webpack/plugins/index-html-webpack-plugin.js +0 -1
- package/src/tools/webpack/plugins/index.js +0 -1
- package/src/tools/webpack/plugins/javascript-optimizer-plugin.js +2 -1
- package/src/tools/webpack/plugins/javascript-optimizer-worker.js +0 -1
- package/src/tools/webpack/plugins/json-stats-plugin.js +0 -1
- package/src/tools/webpack/plugins/karma/karma.js +0 -1
- package/src/tools/webpack/plugins/named-chunks-plugin.js +0 -1
- package/src/tools/webpack/plugins/occurrences-plugin.js +0 -1
- package/src/tools/webpack/plugins/postcss-cli-resources.js +0 -1
- package/src/tools/webpack/plugins/progress-plugin.js +0 -1
- package/src/tools/webpack/plugins/remove-hash-plugin.js +0 -1
- package/src/tools/webpack/plugins/scripts-webpack-plugin.js +0 -1
- package/src/tools/webpack/plugins/service-worker-plugin.js +0 -1
- package/src/tools/webpack/plugins/styles-webpack-plugin.js +0 -1
- package/src/tools/webpack/plugins/suppress-entry-chunks-webpack-plugin.js +0 -1
- package/src/tools/webpack/plugins/transfer-size-plugin.js +0 -1
- package/src/tools/webpack/plugins/typescript.js +0 -1
- package/src/tools/webpack/plugins/watch-files-logs-plugin.js +0 -1
- package/src/tools/webpack/utils/async-chunks.js +0 -1
- package/src/tools/webpack/utils/helpers.js +0 -1
- package/src/tools/webpack/utils/stats.js +0 -1
- package/src/transforms.js +0 -1
- package/src/utils/action-executor.js +5 -2
- package/src/utils/build-options.js +0 -1
- package/src/utils/bundle-calculator.js +0 -1
- package/src/utils/bundle-inline-options.js +0 -1
- package/src/utils/check-port.js +0 -1
- package/src/utils/color.js +0 -1
- package/src/utils/copy-assets.js +0 -1
- package/src/utils/default-progress.js +0 -1
- package/src/utils/delete-output-dir.js +0 -1
- package/src/utils/environment-options.d.ts +1 -0
- package/src/utils/environment-options.js +3 -2
- package/src/utils/error.js +0 -1
- package/src/utils/i18n-inlining.js +0 -1
- package/src/utils/i18n-options.js +0 -1
- package/src/utils/index-file/augment-index-html.js +0 -1
- package/src/utils/index-file/html-rewriting-stream.js +0 -1
- package/src/utils/index-file/index-html-generator.js +0 -1
- package/src/utils/index-file/inline-critical-css.js +5 -3
- package/src/utils/index-file/inline-fonts.js +0 -1
- package/src/utils/index-file/style-nonce.js +0 -1
- package/src/utils/index.js +0 -1
- package/src/utils/load-esm.js +0 -1
- package/src/utils/load-translations.js +0 -1
- package/src/utils/normalize-asset-patterns.js +0 -1
- package/src/utils/normalize-builder-schema.js +0 -1
- package/src/utils/normalize-cache.js +0 -1
- package/src/utils/normalize-file-replacements.js +0 -1
- package/src/utils/normalize-optimization.js +0 -1
- package/src/utils/normalize-polyfills.js +0 -1
- package/src/utils/normalize-source-maps.js +0 -1
- package/src/utils/output-paths.js +0 -1
- package/src/utils/package-chunk-sort.js +0 -1
- package/src/utils/package-version.js +0 -1
- package/src/utils/process-bundle.js +0 -1
- package/src/utils/purge-cache.js +0 -1
- package/src/utils/read-tsconfig.js +0 -1
- package/src/utils/routes-extractor/extractor.d.ts +1 -1
- package/src/utils/routes-extractor/extractor.js +20 -8
- package/src/utils/run-module-as-observable-fork.js +0 -1
- package/src/utils/server-rendering/esm-in-memory-loader/loader-hooks.js +0 -1
- package/src/utils/server-rendering/esm-in-memory-loader/node-18-utils.js +0 -1
- package/src/utils/server-rendering/esm-in-memory-loader/register-hooks.js +0 -1
- package/src/utils/server-rendering/main-bundle-exports.d.ts +7 -3
- package/src/utils/server-rendering/main-bundle-exports.js +0 -1
- package/src/utils/server-rendering/prerender-server.d.ts +21 -0
- package/src/utils/server-rendering/prerender-server.js +102 -0
- package/src/utils/server-rendering/prerender.d.ts +3 -1
- package/src/utils/server-rendering/prerender.js +84 -22
- package/src/utils/server-rendering/render-page.d.ts +2 -2
- package/src/utils/server-rendering/render-page.js +42 -4
- package/src/utils/server-rendering/render-worker.d.ts +2 -0
- package/src/utils/server-rendering/render-worker.js +9 -3
- package/src/utils/server-rendering/routes-extractor-worker.d.ts +2 -0
- package/src/utils/server-rendering/routes-extractor-worker.js +4 -4
- package/src/utils/service-worker.js +0 -1
- package/src/utils/spinner.js +0 -1
- package/src/utils/strip-bom.js +0 -1
- package/src/utils/supported-browsers.js +0 -1
- package/src/utils/tailwind.js +0 -1
- package/src/utils/tty.js +0 -1
- package/src/utils/url.js +0 -1
- package/src/utils/version.js +0 -1
- package/src/utils/webpack-browser-config.js +0 -1
- package/src/utils/webpack-diagnostics.js +0 -1
|
@@ -306,4 +306,3 @@ async function getProxyConfig(root, proxyConfig) {
|
|
|
306
306
|
return createdProxies;
|
|
307
307
|
}
|
|
308
308
|
exports.default = (0, architect_1.createBuilder)(execute);
|
|
309
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy9idWlsZGVycy9zc3ItZGV2LXNlcnZlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHlEQUttQztBQUNuQywrQ0FBMkQ7QUFRM0QsK0JBQW9EO0FBQ3BELCtCQUF1RTtBQUN2RSw4Q0Fhd0I7QUFDeEIseUNBQTJCO0FBQzNCLDZDQUFrRDtBQUdsRCxtQ0FBMEY7QUFFMUYsd0RBQXdEO0FBQ3hELE1BQU0sdUJBQXVCLEdBQUc7SUFDOUIscUJBQXFCO0lBQ3JCLDBGQUEwRjtDQUMzRixDQUFDO0FBUUYsU0FBZ0IsT0FBTyxDQUNyQixPQUFtQyxFQUNuQyxPQUF1QjtJQUV2QixNQUFNLGFBQWEsR0FBRyxJQUFBLGtDQUFzQixFQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRSxNQUFNLFlBQVksR0FBRyxJQUFBLGtDQUFzQixFQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRSxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQXVCLEVBQUUsRUFBRSxDQUM3QyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDaEYsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsY0FBYyxDQUFDLGFBQWEsRUFBRTtRQUM3RCxLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7UUFDcEIsUUFBUSxFQUFFLE9BQU8sQ0FBQyxRQUFRO1FBQzFCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztRQUN4QixvSUFBb0k7UUFDcEksT0FB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R0FBRyxLQUFLLFFBQVEsRUFBRTtnQkFDM0IsY0FBYyxDQUFDLElBQUksQ0FDakIscUJBQXFCLENBQ25CLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO2dCQUM5Qyw4REFBOEQ7Z0JBQzlELE9BQWMsQ0FDTSxDQUN2QixDQUFDO2FBQ0g7aUJBQU07Z0JBQ0wsY0FBYyxDQUFDLElBQUk7Z0JBQ2pCLDhEQUE4RDtnQkFDOUQscUJBQXFCLENBQUMsR0FBRyxFQUFFLE9BQWMsQ0FBc0IsQ0FDaEUsQ0FBQzthQUNIO1NBQ0Y7S0FDRjtJQUVELE9BQU8sY0FBYyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxrQkFBZSxJQUFBLHlCQUFhLEVBQTRDLE9BQU8sQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7XG4gIEJ1aWxkZXJDb250ZXh0LFxuICBCdWlsZGVyT3V0cHV0LFxuICBjcmVhdGVCdWlsZGVyLFxuICB0YXJnZXRGcm9tVGFyZ2V0U3RyaW5nLFxufSBmcm9tICdAYW5ndWxhci1kZXZraXQvYXJjaGl0ZWN0JztcbmltcG9ydCB7IGpzb24sIGxvZ2dpbmcsIHRhZ3MgfSBmcm9tICdAYW5ndWxhci1kZXZraXQvY29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIEJyb3dzZXJTeW5jSW5zdGFuY2UsXG4gIE9wdGlvbnMgYXMgQnJvd3NlclN5bmNPcHRpb25zLFxuICBIdHRwc09wdGlvbnMsXG4gIE1pZGRsZXdhcmVIYW5kbGVyLFxuICBQcm94eU9wdGlvbnMsXG59IGZyb20gJ2Jyb3dzZXItc3luYyc7XG5pbXBvcnQgeyBqb2luLCByZXNvbHZlIGFzIHBhdGhSZXNvbHZlIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBFTVBUWSwgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCwgZnJvbSwgb2YsIHppcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgY2F0Y2hFcnJvcixcbiAgY29uY2F0TWFwLFxuICBkZWJvdW5jZSxcbiAgZGVib3VuY2VUaW1lLFxuICBkZWxheSxcbiAgZmluYWxpemUsXG4gIGlnbm9yZUVsZW1lbnRzLFxuICBtYXAsXG4gIG1hcFRvLFxuICBzdGFydFdpdGgsXG4gIHN3aXRjaE1hcCxcbiAgdGFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgKiBhcyB1cmwgZnJvbSAndXJsJztcbmltcG9ydCB7IGFzc2VydElzRXJyb3IgfSBmcm9tICcuLi8uLi91dGlscy9lcnJvcic7XG5pbXBvcnQgeyBTY2hlbWEgfSBmcm9tICcuL3NjaGVtYSc7XG5cbmltcG9ydCB7IGdldEF2YWlsYWJsZVBvcnQsIHNwYXduQXNPYnNlcnZhYmxlLCB3YWl0VW50aWxTZXJ2ZXJJc0xpc3RlbmluZyB9IGZyb20gJy4vdXRpbHMnO1xuXG4vKiogTG9nIG1lc3NhZ2VzIHRvIGlnbm9yZSBhbmQgbm90IHJlbHkgdG8gdGhlIGxvZ2dlciAqL1xuY29uc3QgSUdOT1JFRF9TVERPVVRfTUVTU0FHRVMgPSBbXG4gICdzZXJ2ZXIgbGlzdGVuaW5nIG9uJyxcbiAgJ0FuZ3VsYXIgaXMgcnVubmluZyBpbiBkZXZlbG9wbWVudCBtb2RlLiBDYWxsIGVuYWJsZVByb2RNb2RlKCkgdG8gZW5hYmxlIHByb2R1Y3Rpb24gbW9kZS4nLFxuXTtcblxudHlwZSBTU1JEZXZTZXJ2ZXJCdWlsZGVyT3B0aW9ucyA9IFNjaGVtYSAmIGpzb24uSnNvbk9iamVjdDtcbmV4cG9ydCB0eXBlIFNTUkRldlNlcnZlckJ1aWxkZXJPdXRwdXQgPSBCdWlsZGVyT3V0cHV0ICYge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBwb3J0Pzogc3RyaW5nO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGUoXG4gIG9wdGlvbnM6IFNTUkRldlNlcnZlckJ1aWxkZXJPcHRpb25zLFxuICBjb250ZXh0OiBCdWlsZGVyQ29udGV4dCxcbik6IE9ic2VydmFibGU8U1NSRGV2U2VydmVyQnVpbGRlck91dHB1dD4ge1xuICBjb25zdCBicm93c2VyVGFyZ2V0ID0gdGFyZ2V0RnJvbVRhcmdldFN0cmluZyhvcHRpb25zLmJyb3dzZXJUYXJnZXQpO1xuICBjb25zdCBzZXJ2ZXJUYXJnZXQgPSB0YXJnZXRGcm9tVGFyZ2V0U3RyaW5nKG9wdGlvbnMuc2VydmVyVGFyZ2V0KTtcbiAgY29uc3QgZ2V0QmFzZVVybCA9IChiczogQnJvd3NlclN5bmNJbnN0YW5jZSkgPT5cbiAgICBgJHticy5nZXRPcHRpb24oJ3NjaGVtZScpfTovLyR7YnMuZ2V0T3B0aW9uKCdob3N0Jyl9OiR7YnMuZ2V0T3B0aW9uKCdwb3J0Jyl9YDtcbiAgY29uc3QgYnJvd3NlclRhcmdldFJ1biA9IGNvbnRleHQuc2NoZWR1bGVUYXJnZXQoYnJvd3NlclRhcmdldCwge1xuICAgIHdhdGNoOiBvcHRpb25zLndhdGNoLFxuICAgIHByb2dyZXNzOiBvcHRpb25zLnByb2dyZXNzLFxuICAgIHZlcmJvc2U6IG9wdGlvbnMudmVyYm9zZSxcbiAgICAvLyBEaXNhYmxlIGJ1bmRsZSBidWRnZXRzIGFyZSB0aGVzZSBhcmUgbm90IG1lYW50IHRvIGJlIHVzZWQgd2l0aCBhIGRldi1zZXJ2ZXIgYXMgdGhpcyB3aWxsIGFkZCBleHRyYSBKYXZhU2NyaXB0IGZvciBsaXZlLXJlbG9hZGluZy5cbiAgICBidWRnZXRzOiBbXSxcbiAgfSBhcyBqc29uLkpzb25PYmplY3QpO1xuXG4gIGNvbnN0IHNlcnZlclRhcmdldFJ1biA9IGNvbnRleHQuc2NoZWR1bGVUYXJnZXQoc2VydmVyVGFyZ2V0LCB7XG4gICAgd2F0Y2g6IG9wdGlvbnMud2F0Y2gsXG4gICAgcHJvZ3Jlc3M6IG9wdGlvbnMucHJvZ3Jlc3MsXG4gICAgdmVyYm9zZTogb3B0aW9ucy52ZXJib3NlLFxuICB9IGFzIGpzb24uSnNvbk9iamVjdCk7XG5cbiAgY29uc3QgYnNJbnN0YW5jZSA9IHJlcXVpcmUoJ2Jyb3dzZXItc3luYycpLmNyZWF0ZSgpO1xuXG4gIGNvbnRleHQubG9nZ2VyLmVycm9yKHRhZ3Muc3RyaXBJbmRlbnRzYFxuICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gIFRoaXMgaXMgYSBzaW1wbGUgc2VydmVyIGZvciB1c2UgaW4gdGVzdGluZyBvciBkZWJ1Z2dpbmcgQW5ndWxhciBhcHBsaWNhdGlvbnMgbG9jYWxseS5cbiAgSXQgaGFzbid0IGJlZW4gcmV2aWV3ZWQgZm9yIHNlY3VyaXR5IGlzc3Vlcy5cblxuICBET04nVCBVU0UgSVQgRk9SIFBST0RVQ1RJT04hXG4gICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBgKTtcblxuICByZXR1cm4gemlwKGJyb3dzZXJUYXJnZXRSdW4sIHNlcnZlclRhcmdldFJ1biwgZ2V0QXZhaWxhYmxlUG9ydCgpKS5waXBlKFxuICAgIHN3aXRjaE1hcCgoW2JyLCBzciwgbm9kZVNlcnZlclBvcnRdKSA9PiB7XG4gICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbYnIub3V0cHV0LCBzci5vdXRwdXRdKS5waXBlKFxuICAgICAgICAvLyBUaGlzIGlzIG5lZWRlZCBzbyB0aGF0IGlmIGJvdGggc2VydmVyIGFuZCBicm93c2VyIGVtaXQgY2xvc2UgdG8gZWFjaCBvdGhlclxuICAgICAgICAvLyB3ZSBvbmx5IGVtaXQgb25jZS4gVGhpcyB0eXBpY2FsbHkgaGFwcGVucyBvbiB0aGUgZmlyc3QgYnVpbGQuXG4gICAgICAgIGRlYm91bmNlVGltZSgxMjApLFxuICAgICAgICBzd2l0Y2hNYXAoKFtiLCBzXSkgPT4ge1xuICAgICAgICAgIGlmICghcy5zdWNjZXNzIHx8ICFiLnN1Y2Nlc3MpIHtcbiAgICAgICAgICAgIHJldHVybiBvZihbYiwgc10pO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBzdGFydE5vZGVTZXJ2ZXIocywgbm9kZVNlcnZlclBvcnQsIGNvbnRleHQubG9nZ2VyLCAhIW9wdGlvbnMuaW5zcGVjdCkucGlwZShcbiAgICAgICAgICAgIG1hcFRvKFtiLCBzXSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgY29udGV4dC5sb2dnZXIuZXJyb3IoYEEgc2VydmVyIGVycm9yIGhhcyBvY2N1cnJlZC5cXG4ke21hcEVycm9yVG9NZXNzYWdlKGVycil9YCk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSksXG4gICAgICAgIG1hcChcbiAgICAgICAgICAoW2IsIHNdKSA9PlxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc3VjY2VzczogYi5zdWNjZXNzICYmIHMuc3VjY2VzcyxcbiAgICAgICAgICAgICAgICBlcnJvcjogYi5lcnJvciB8fCBzLmVycm9yLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBub2RlU2VydmVyUG9ydCxcbiAgICAgICAgICAgIF0gYXMgW1NTUkRldlNlcnZlckJ1aWxkZXJPdXRwdXQsIG51bWJlcl0sXG4gICAgICAgICksXG4gICAgICAgIHRhcCgoW2J1aWxkZXJPdXRwdXRdKSA9PiB7XG4gICAgICAgICAgaWYgKGJ1aWxkZXJPdXRwdXQuc3VjY2Vzcykge1xuICAgICAgICAgICAgY29udGV4dC5sb2dnZXIuaW5mbygnXFxuQ29tcGlsZWQgc3VjY2Vzc2Z1bGx5LicpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICAgIGRlYm91bmNlKChbYnVpbGRlck91dHB1dF0pID0+XG4gICAgICAgICAgYnVpbGRlck91dHB1dC5zdWNjZXNzICYmICFvcHRpb25zLmluc3BlY3RcbiAgICAgICAgICAgID8gd2FpdFVudGlsU2VydmVySXNMaXN0ZW5pbmcobm9kZVNlcnZlclBvcnQpXG4gICAgICAgICAgICA6IEVNUFRZLFxuICAgICAgICApLFxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgdm9pZCBici5zdG9wKCk7XG4gICAgICAgICAgdm9pZCBzci5zdG9wKCk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9KSxcbiAgICBjb25jYXRNYXAoKFtidWlsZGVyT3V0cHV0LCBub2RlU2VydmVyUG9ydF0pID0+IHtcbiAgICAgIGlmICghYnVpbGRlck91dHB1dC5zdWNjZXNzKSB7XG4gICAgICAgIHJldHVybiBvZihidWlsZGVyT3V0cHV0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGJzSW5zdGFuY2UuYWN0aXZlKSB7XG4gICAgICAgIGJzSW5zdGFuY2UucmVsb2FkKCk7XG5cbiAgICAgICAgcmV0dXJuIG9mKGJ1aWxkZXJPdXRwdXQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGZyb20oaW5pdEJyb3dzZXJTeW5jKGJzSW5zdGFuY2UsIG5vZGVTZXJ2ZXJQb3J0LCBvcHRpb25zLCBjb250ZXh0KSkucGlwZShcbiAgICAgICAgICB0YXAoKGJzKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBiYXNlVXJsID0gZ2V0QmFzZVVybChicyk7XG4gICAgICAgICAgICBjb250ZXh0LmxvZ2dlci5pbmZvKHRhZ3Mub25lTGluZWBcbiAgICAgICAgICAgICAgICAqKlxuICAgICAgICAgICAgICAgIEFuZ3VsYXIgVW5pdmVyc2FsIExpdmUgRGV2ZWxvcG1lbnQgU2VydmVyIGlzIGxpc3RlbmluZyBvbiAke2Jhc2VVcmx9LFxuICAgICAgICAgICAgICAgIG9wZW4geW91ciBicm93c2VyIG9uICR7YmFzZVVybH1cbiAgICAgICAgICAgICAgICAqKlxuICAgICAgICAgICAgICBgKTtcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBtYXBUbyhidWlsZGVyT3V0cHV0KSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KSxcbiAgICBtYXAoXG4gICAgICAoYnVpbGRlck91dHB1dCkgPT5cbiAgICAgICAgKHtcbiAgICAgICAgICBzdWNjZXNzOiBidWlsZGVyT3V0cHV0LnN1Y2Nlc3MsXG4gICAgICAgICAgZXJyb3I6IGJ1aWxkZXJPdXRwdXQuZXJyb3IsXG4gICAgICAgICAgYmFzZVVybDogZ2V0QmFzZVVybChic0luc3RhbmNlKSxcbiAgICAgICAgICBwb3J0OiBic0luc3RhbmNlLmdldE9wdGlvbigncG9ydCcpLFxuICAgICAgICB9KSBhcyBTU1JEZXZTZXJ2ZXJCdWlsZGVyT3V0cHV0LFxuICAgICksXG4gICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgaWYgKGJzSW5zdGFuY2UpIHtcbiAgICAgICAgYnNJbnN0YW5jZS5leGl0KCk7XG4gICAgICAgIGJzSW5zdGFuY2UuY2xlYW51cCgpO1xuICAgICAgfVxuICAgIH0pLFxuICAgIGNhdGNoRXJyb3IoKGVycm9yKSA9PlxuICAgICAgb2Yoe1xuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgICAgICAgZXJyb3I6IG1hcEVycm9yVG9NZXNzYWdlKGVycm9yKSxcbiAgICAgIH0pLFxuICAgICksXG4gICk7XG59XG5cbi8vIExvZ3Mgb3V0cHV0IHRvIHRoZSB0ZXJtaW5hbC5cbi8vIFJlbW92ZXMgYW55IHRyYWlsaW5nIG5ldyBsaW5lcyBmcm9tIHRoZSBvdXRwdXQuXG5leHBvcnQgZnVuY3Rpb24gbG9nKFxuICB7IHN0ZGVyciwgc3Rkb3V0IH06IHsgc3RkZXJyOiBzdHJpbmcgfCB1bmRlZmluZWQ7IHN0ZG91dDogc3RyaW5nIHwgdW5kZWZpbmVkIH0sXG4gIGxvZ2dlcjogbG9nZ2luZy5Mb2dnZXJBcGksXG4pIHtcbiAgaWYgKHN0ZGVycikge1xuICAgIC8vIFN0cmlwIHRoZSB3ZWJwYWNrIHNjaGVtZSAod2VicGFjazovLykgZnJvbSBlcnJvciBsb2cuXG4gICAgbG9nZ2VyLmVycm9yKHN0ZGVyci5yZXBsYWNlKC9cXG4/JC8sICcnKS5yZXBsYWNlKC93ZWJwYWNrOlxcL1xcLy9nLCAnLicpKTtcbiAgfVxuXG4gIGlmIChzdGRvdXQgJiYgIUlHTk9SRURfU1RET1VUX01FU1NBR0VTLnNvbWUoKHgpID0+IHN0ZG91dC5pbmNsdWRlcyh4KSkpIHtcbiAgICBsb2dnZXIuaW5mbyhzdGRvdXQucmVwbGFjZSgvXFxuPyQvLCAnJykpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHN0YXJ0Tm9kZVNlcnZlcihcbiAgc2VydmVyT3V0cHV0OiBCdWlsZGVyT3V0cHV0LFxuICBwb3J0OiBudW1iZXIsXG4gIGxvZ2dlcjogbG9nZ2luZy5Mb2dnZXJBcGksXG4gIGluc3BlY3RNb2RlID0gZmFsc2UsXG4pOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgY29uc3Qgb3V0cHV0UGF0aCA9IHNlcnZlck91dHB1dC5vdXRwdXRQYXRoIGFzIHN0cmluZztcbiAgY29uc3QgcGF0aCA9IGpvaW4ob3V0cHV0UGF0aCwgJ21haW4uanMnKTtcbiAgY29uc3QgZW52ID0geyAuLi5wcm9jZXNzLmVudiwgUE9SVDogJycgKyBwb3J0IH07XG5cbiAgY29uc3QgYXJncyA9IFsnLS1lbmFibGUtc291cmNlLW1hcHMnLCBgXCIke3BhdGh9XCJgXTtcbiAgaWYgKGluc3BlY3RNb2RlKSB7XG4gICAgYXJncy51bnNoaWZ0KCctLWluc3BlY3QtYnJrJyk7XG4gIH1cblxuICByZXR1cm4gb2YobnVsbCkucGlwZShcbiAgICBkZWxheSgwKSwgLy8gQXZvaWQgRUFERFJJTlVTRSBlcnJvciBzaW5jZSBpdCB3aWxsIGNhdXNlIHRoZSBraWxsIGV2ZW50IHRvIGJlIGZpbmlzaC5cbiAgICBzd2l0Y2hNYXAoKCkgPT4gc3Bhd25Bc09ic2VydmFibGUoJ25vZGUnLCBhcmdzLCB7IGVudiwgc2hlbGw6IHRydWUgfSkpLFxuICAgIHRhcCgocmVzKSA9PiBsb2coeyBzdGRlcnI6IHJlcy5zdGRlcnIsIHN0ZG91dDogcmVzLnN0ZG91dCB9LCBsb2dnZXIpKSxcbiAgICBpZ25vcmVFbGVtZW50cygpLFxuICAgIC8vIEVtaXQgYSBzaWduYWwgYWZ0ZXIgdGhlIHByb2Nlc3MgaGFzIGJlZW4gc3RhcnRlZFxuICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBpbml0QnJvd3NlclN5bmMoXG4gIGJyb3dzZXJTeW5jSW5zdGFuY2U6IEJyb3dzZXJTeW5jSW5zdGFuY2UsXG4gIG5vZGVTZXJ2ZXJQb3J0OiBudW1iZXIsXG4gIG9wdGlvbnM6IFNTUkRldlNlcnZlckJ1aWxkZXJPcHRpb25zLFxuICBjb250ZXh0OiBCdWlsZGVyQ29udGV4dCxcbik6IFByb21pc2U8QnJvd3NlclN5bmNJbnN0YW5jZT4ge1xuICBpZiAoYnJvd3NlclN5bmNJbnN0YW5jZS5hY3RpdmUpIHtcbiAgICByZXR1cm4gYnJvd3NlclN5bmNJbnN0YW5jZTtcbiAgfVxuXG4gIGNvbnN0IHsgcG9ydDogYnJvd3NlclN5bmNQb3J0LCBvcGVuLCBob3N0LCBwdWJsaWNIb3N0LCBwcm94eUNvbmZpZyB9ID0gb3B0aW9ucztcbiAgY29uc3QgYnNQb3J0ID0gYnJvd3NlclN5bmNQb3J0IHx8IChhd2FpdCBnZXRBdmFpbGFibGVQb3J0KCkpO1xuICBjb25zdCBic09wdGlvbnM6IEJyb3dzZXJTeW5jT3B0aW9ucyA9IHtcbiAgICBwcm94eToge1xuICAgICAgdGFyZ2V0OiBgbG9jYWxob3N0OiR7bm9kZVNlcnZlclBvcnR9YCxcbiAgICAgIHByb3h5T3B0aW9uczoge1xuICAgICAgICB4ZndkOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIHByb3h5UmVzOiBbXG4gICAgICAgIChwcm94eVJlcykgPT4ge1xuICAgICAgICAgIGlmICgnaGVhZGVycycgaW4gcHJveHlSZXMpIHtcbiAgICAgICAgICAgIHByb3h5UmVzLmhlYWRlcnNbJ2NhY2hlLWNvbnRyb2wnXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgLy8gcHJveHlPcHRpb25zIGlzIG5vdCBpbiB0aGUgdHlwaW5nc1xuICAgIH0gYXMgUHJveHlPcHRpb25zICYgeyBwcm94eU9wdGlvbnM6IHsgeGZ3ZDogYm9vbGVhbiB9IH0sXG4gICAgaG9zdCxcbiAgICBwb3J0OiBic1BvcnQsXG4gICAgdWk6IGZhbHNlLFxuICAgIHNlcnZlcjogZmFsc2UsXG4gICAgbm90aWZ5OiBmYWxzZSxcbiAgICBnaG9zdE1vZGU6IGZhbHNlLFxuICAgIGxvZ0xldmVsOiBvcHRpb25zLnZlcmJvc2UgPyAnZGVidWcnIDogJ3NpbGVudCcsXG4gICAgb3BlbixcbiAgICBodHRwczogZ2V0U3NsQ29uZmlnKGNvbnRleHQud29ya3NwYWNlUm9vdCwgb3B0aW9ucyksXG4gIH07XG5cbiAgY29uc3QgcHVibGljSG9zdE5vcm1hbGl6ZWQgPVxuICAgIHB1YmxpY0hvc3QgJiYgcHVibGljSG9zdC5lbmRzV2l0aCgnLycpXG4gICAgICA/IHB1YmxpY0hvc3Quc3Vic3RyaW5nKDAsIHB1YmxpY0hvc3QubGVuZ3RoIC0gMSlcbiAgICAgIDogcHVibGljSG9zdDtcblxuICBpZiAocHVibGljSG9zdE5vcm1hbGl6ZWQpIHtcbiAgICBjb25zdCB7IHByb3RvY29sLCBob3N0bmFtZSwgcG9ydCwgcGF0aG5hbWUgfSA9IHVybC5wYXJzZShwdWJsaWNIb3N0Tm9ybWFsaXplZCk7XG4gICAgY29uc3QgZGVmYXVsdFNvY2tldElvUGF0aCA9ICcvYnJvd3Nlci1zeW5jL3NvY2tldC5pbyc7XG4gICAgY29uc3QgZGVmYXVsdE5hbWVzcGFjZSA9ICcvYnJvd3Nlci1zeW5jJztcbiAgICBjb25zdCBoYXNQYXRobmFtZSA9ICEhKHBhdGhuYW1lICYmIHBhdGhuYW1lICE9PSAnLycpO1xuICAgIGNvbnN0IG5hbWVzcGFjZSA9IGhhc1BhdGhuYW1lID8gcGF0aG5hbWUgKyBkZWZhdWx0TmFtZXNwYWNlIDogZGVmYXVsdE5hbWVzcGFjZTtcbiAgICBjb25zdCBwYXRoID0gaGFzUGF0aG5hbWUgPyBwYXRobmFtZSArIGRlZmF1bHRTb2NrZXRJb1BhdGggOiBkZWZhdWx0U29ja2V0SW9QYXRoO1xuXG4gICAgYnNPcHRpb25zLnNvY2tldCA9IHtcbiAgICAgIG5hbWVzcGFjZSxcbiAgICAgIHBhdGgsXG4gICAgICBkb21haW46IHVybC5mb3JtYXQoe1xuICAgICAgICBwcm90b2NvbCxcbiAgICAgICAgaG9zdG5hbWUsXG4gICAgICAgIHBvcnQsXG4gICAgICB9KSxcbiAgICB9O1xuXG4gICAgLy8gV2hlbiBoYXZpbmcgYSBwYXRobmFtZSB3ZSBhbHNvIG5lZWQgdG8gY3JlYXRlIGEgcmV2ZXJzZSBwcm94eSBiZWNhdXNlIHNvY2tldC5pb1xuICAgIC8vIHdpbGwgYmUgbGlzdGVuaW5nIG9uOiAnaHR0cDovL2xvY2FsaG9zdDo0MjAwL3Nzci9icm93c2VyLXN5bmMvc29ja2V0LmlvJ1xuICAgIC8vIEhvd2V2ZXIgdXNlcnMgd2lsbCB0eXBpY2FsbHkgaGF2ZSBhIHJldmVyc2UgcHJveHkgdGhhdCB3aWxsIHJlZGlyZWN0IGFsbCBtYXRjaGluZyByZXF1ZXN0c1xuICAgIC8vIGV4OiBodHRwOi8vdGVzdGluZ2hvc3QuY29tL3NzciAtPiBodHRwOi8vbG9jYWxob3N0OjQyMDAgd2hpY2ggd2lsbCByZXN1bHQgaW4gYSA0MDQuXG4gICAgaWYgKGhhc1BhdGhuYW1lKSB7XG4gICAgICBjb25zdCB7IGNyZWF0ZVByb3h5TWlkZGxld2FyZSB9ID0gYXdhaXQgaW1wb3J0KCdodHRwLXByb3h5LW1pZGRsZXdhcmUnKTtcblxuICAgICAgLy8gUmVtb3ZlIGxlYWRpbmcgc2xhc2hcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLWV4cHJlc3Npb25zXG4gICAgICAoYnNPcHRpb25zLnNjcmlwdFBhdGggPSAocCkgPT4gcC5zdWJzdHJpbmcoMSkpLFxuICAgICAgICAoYnNPcHRpb25zLm1pZGRsZXdhcmUgPSBbXG4gICAgICAgICAgY3JlYXRlUHJveHlNaWRkbGV3YXJlKGRlZmF1bHRTb2NrZXRJb1BhdGgsIHtcbiAgICAgICAgICAgIHRhcmdldDogdXJsLmZvcm1hdCh7XG4gICAgICAgICAgICAgIHByb3RvY29sOiAnaHR0cCcsXG4gICAgICAgICAgICAgIGhvc3RuYW1lOiBob3N0LFxuICAgICAgICAgICAgICBwb3J0OiBic1BvcnQsXG4gICAgICAgICAgICAgIHBhdGhuYW1lOiBwYXRoLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICAgIGxvZ0xldmVsOiAnc2lsZW50JyxcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgICAgfSkgYXMgYW55LFxuICAgICAgICBdKTtcbiAgICB9XG4gIH1cblxuICBpZiAocHJveHlDb25maWcpIHtcbiAgICBpZiAoIWJzT3B0aW9ucy5taWRkbGV3YXJlKSB7XG4gICAgICBic09wdGlvbnMubWlkZGxld2FyZSA9IFtdO1xuICAgIH0gZWxzZSBpZiAoIUFycmF5LmlzQXJyYXkoYnNPcHRpb25zLm1pZGRsZXdhcmUpKSB7XG4gICAgICBic09wdGlvbnMubWlkZGxld2FyZSA9IFtic09wdGlvbnMubWlkZGxld2FyZV07XG4gICAgfVxuXG4gICAgYnNPcHRpb25zLm1pZGRsZXdhcmUgPSBbXG4gICAgICAuLi5ic09wdGlvbnMubWlkZGxld2FyZSxcbiAgICAgIC4uLihhd2FpdCBnZXRQcm94eUNvbmZpZyhjb250ZXh0LndvcmtzcGFjZVJvb3QsIHByb3h5Q29uZmlnKSksXG4gICAgXTtcbiAgfVxuXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgYnJvd3NlclN5bmNJbnN0YW5jZS5pbml0KGJzT3B0aW9ucywgKGVycm9yLCBicykgPT4ge1xuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKGJzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIG1hcEVycm9yVG9NZXNzYWdlKGVycm9yOiB1bmtub3duKTogc3RyaW5nIHtcbiAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3IubWVzc2FnZTtcbiAgfVxuXG4gIGlmICh0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgcmV0dXJuICcnO1xufVxuXG5mdW5jdGlvbiBnZXRTc2xDb25maWcoXG4gIHJvb3Q6IHN0cmluZyxcbiAgb3B0aW9uczogU1NSRGV2U2VydmVyQnVpbGRlck9wdGlvbnMsXG4pOiBIdHRwc09wdGlvbnMgfCB1bmRlZmluZWQgfCBib29sZWFuIHtcbiAgY29uc3QgeyBzc2wsIHNzbENlcnQsIHNzbEtleSB9ID0gb3B0aW9ucztcbiAgaWYgKHNzbCAmJiBzc2xDZXJ0ICYmIHNzbEtleSkge1xuICAgIHJldHVybiB7XG4gICAgICBrZXk6IHBhdGhSZXNvbHZlKHJvb3QsIHNzbEtleSksXG4gICAgICBjZXJ0OiBwYXRoUmVzb2x2ZShyb290LCBzc2xDZXJ0KSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHNzbDtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2V0UHJveHlDb25maWcocm9vdDogc3RyaW5nLCBwcm94eUNvbmZpZzogc3RyaW5nKTogUHJvbWlzZTxNaWRkbGV3YXJlSGFuZGxlcltdPiB7XG4gIGNvbnN0IHByb3h5UGF0aCA9IHBhdGhSZXNvbHZlKHJvb3QsIHByb3h5Q29uZmlnKTtcbiAgbGV0IHByb3h5U2V0dGluZ3M6IHVua25vd247XG4gIHRyeSB7XG4gICAgcHJveHlTZXR0aW5ncyA9IHJlcXVpcmUocHJveHlQYXRoKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBhc3NlcnRJc0Vycm9yKGVycm9yKTtcblxuICAgIGlmIChlcnJvci5jb2RlID09PSAnTU9EVUxFX05PVF9GT1VORCcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUHJveHkgY29uZmlnIGZpbGUgJHtwcm94eVBhdGh9IGRvZXMgbm90IGV4aXN0LmApO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG5cbiAgY29uc3QgcHJveGllcyA9IEFycmF5LmlzQXJyYXkocHJveHlTZXR0aW5ncykgPyBwcm94eVNldHRpbmdzIDogW3Byb3h5U2V0dGluZ3NdO1xuICBjb25zdCBjcmVhdGVkUHJveGllcyA9IFtdO1xuICBjb25zdCB7IGNyZWF0ZVByb3h5TWlkZGxld2FyZSB9ID0gYXdhaXQgaW1wb3J0KCdodHRwLXByb3h5LW1pZGRsZXdhcmUnKTtcbiAgZm9yIChjb25zdCBwcm94eSBvZiBwcm94aWVzKSB7XG4gICAgZm9yIChjb25zdCBba2V5LCBjb250ZXh0XSBvZiBPYmplY3QuZW50cmllcyhwcm94eSkpIHtcbiAgICAgIGlmICh0eXBlb2Yga2V5ID09PSAnc3RyaW5nJykge1xuICAgICAgICBjcmVhdGVkUHJveGllcy5wdXNoKFxuICAgICAgICAgIGNyZWF0ZVByb3h5TWlkZGxld2FyZShcbiAgICAgICAgICAgIGtleS5yZXBsYWNlKC9eXFwqJC8sICcqKicpLnJlcGxhY2UoL1xcL1xcKiQvLCAnJyksXG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgY29udGV4dCBhcyBhbnksXG4gICAgICAgICAgKSBhcyBNaWRkbGV3YXJlSGFuZGxlcixcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNyZWF0ZWRQcm94aWVzLnB1c2goXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICBjcmVhdGVQcm94eU1pZGRsZXdhcmUoa2V5LCBjb250ZXh0IGFzIGFueSkgYXMgTWlkZGxld2FyZUhhbmRsZXIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZWRQcm94aWVzO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVCdWlsZGVyPFNTUkRldlNlcnZlckJ1aWxkZXJPcHRpb25zLCBCdWlsZGVyT3V0cHV0PihleGVjdXRlKTtcbiJdfQ==
|
|
@@ -2,4 +2,3 @@
|
|
|
2
2
|
// THIS FILE IS AUTOMATICALLY GENERATED. TO UPDATE THIS FILE YOU NEED TO CHANGE THE
|
|
3
3
|
// CORRESPONDING JSON SCHEMA FILE, THEN RUN devkit-admin build (or bazel build ...).
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvYnVpbGRlcnMvc3NyLWRldi1zZXJ2ZXIvc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxtRkFBbUY7QUFDbkYsb0ZBQW9GIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUSElTIEZJTEUgSVMgQVVUT01BVElDQUxMWSBHRU5FUkFURUQuIFRPIFVQREFURSBUSElTIEZJTEUgWU9VIE5FRUQgVE8gQ0hBTkdFIFRIRVxuLy8gQ09SUkVTUE9ORElORyBKU09OIFNDSEVNQSBGSUxFLCBUSEVOIFJVTiBkZXZraXQtYWRtaW4gYnVpbGQgKG9yIGJhemVsIGJ1aWxkIC4uLikuXG5cbi8qKlxuICogU1NSIERldiBTZXJ2ZXIgdGFyZ2V0IG9wdGlvbnMgZm9yIEJ1aWxkIEZhY2FkZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY2hlbWEge1xuICAgIC8qKlxuICAgICAqIEJyb3dzZXIgdGFyZ2V0IHRvIGJ1aWxkLlxuICAgICAqL1xuICAgIGJyb3dzZXJUYXJnZXQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBIb3N0IHRvIGxpc3RlbiBvbi5cbiAgICAgKi9cbiAgICBob3N0Pzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIExhdW5jaCB0aGUgZGV2ZWxvcG1lbnQgc2VydmVyIGluIGluc3BlY3RvciBtb2RlIGFuZCBsaXN0ZW4gb24gYWRkcmVzcyBhbmQgcG9ydFxuICAgICAqICcxMjcuMC4wLjE6OTIyOScuXG4gICAgICovXG4gICAgaW5zcGVjdD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3BlbnMgdGhlIHVybCBpbiBkZWZhdWx0IGJyb3dzZXIuXG4gICAgICovXG4gICAgb3Blbj86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogUG9ydCB0byBzdGFydCB0aGUgZGV2ZWxvcG1lbnQgc2VydmVyIGF0LiBEZWZhdWx0IGlzIDQyMDAuIFBhc3MgMCB0byBnZXQgYSBkeW5hbWljYWxseVxuICAgICAqIGFzc2lnbmVkIHBvcnQuXG4gICAgICovXG4gICAgcG9ydD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBMb2cgcHJvZ3Jlc3MgdG8gdGhlIGNvbnNvbGUgd2hpbGUgYnVpbGRpbmcuXG4gICAgICovXG4gICAgcHJvZ3Jlc3M/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFByb3h5IGNvbmZpZ3VyYXRpb24gZmlsZS5cbiAgICAgKi9cbiAgICBwcm94eUNvbmZpZz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgVVJMIHRoYXQgdGhlIGJyb3dzZXIgY2xpZW50IHNob3VsZCB1c2UgdG8gY29ubmVjdCB0byB0aGUgZGV2ZWxvcG1lbnQgc2VydmVyLiBVc2UgZm9yXG4gICAgICogYSBjb21wbGV4IGRldiBzZXJ2ZXIgc2V0dXAsIHN1Y2ggYXMgb25lIHdpdGggcmV2ZXJzZSBwcm94aWVzLlxuICAgICAqL1xuICAgIHB1YmxpY0hvc3Q/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogU2VydmVyIHRhcmdldCB0byBidWlsZC5cbiAgICAgKi9cbiAgICBzZXJ2ZXJUYXJnZXQ6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTZXJ2ZSB1c2luZyBIVFRQUy5cbiAgICAgKi9cbiAgICBzc2w/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNTTCBjZXJ0aWZpY2F0ZSB0byB1c2UgZm9yIHNlcnZpbmcgSFRUUFMuXG4gICAgICovXG4gICAgc3NsQ2VydD86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBTU0wga2V5IHRvIHVzZSBmb3Igc2VydmluZyBIVFRQUy5cbiAgICAgKi9cbiAgICBzc2xLZXk/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQWRkcyBtb3JlIGRldGFpbHMgdG8gb3V0cHV0IGxvZ2dpbmcuXG4gICAgICovXG4gICAgdmVyYm9zZT86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogUmVidWlsZCBvbiBjaGFuZ2UuXG4gICAgICovXG4gICAgd2F0Y2g/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -72,4 +72,3 @@ function waitUntilServerIsListening(port, host) {
|
|
|
72
72
|
}))));
|
|
73
73
|
}
|
|
74
74
|
exports.waitUntilServerIsListening = waitUntilServerIsListening;
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy9idWlsZGVycy9zc3ItZGV2LXNlcnZlci91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7QUFFSCxpREFBb0Q7QUFDcEQsNkJBQWtFO0FBQ2xFLCtCQUEwRTtBQUMxRSwwREFBaUM7QUFFakMsU0FBZ0IsZ0JBQWdCO0lBQzlCLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBQSxrQkFBWSxHQUFFLENBQUM7UUFDOUIsTUFBTTthQUNILEtBQUssRUFBRTthQUNQLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDO2FBQ25CLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFO1lBQ2QsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLE1BQU0sQ0FBQyxPQUFPLEVBQWlCLENBQUM7WUFDakQsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQVhELDRDQVdDO0FBRUQsU0FBZ0IsaUJBQWlCLENBQy9CLE9BQWUsRUFDZixPQUFpQixFQUFFLEVBQ25CLFVBQXdCLEVBQUU7SUFFMUIsT0FBTyxJQUFJLGlCQUFVLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUM1QixNQUFNLElBQUksR0FBRyxJQUFBLHFCQUFLLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3pFO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztTQUN6RTtRQUVELElBQUk7YUFDRCxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ3BDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQixJQUFJLElBQUksS0FBSyxDQUFDLEVBQUU7Z0JBQ2QsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxHQUFHLE9BQU8sZ0JBQWdCLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQzthQUM5RDtZQUVELEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUVMLE9BQU8sR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRTtnQkFDNUIsSUFBQSxtQkFBUSxFQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDL0I7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUEvQkQsOENBK0JDO0FBRUQsU0FBZ0IsMEJBQTBCLENBQUMsSUFBWSxFQUFFLElBQWE7SUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUV6RCxPQUFPLElBQUksaUJBQVUsQ0FBWSxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3ZDLE1BQU0sTUFBTSxHQUFHLElBQUEsc0JBQWdCLEVBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFO1lBQ25ELEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDcEIsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUV4QyxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO2dCQUNyQixNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7YUFDbEI7UUFDSCxDQUFDLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ0wsSUFBQSxnQkFBUyxFQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDaEIsR0FBRyxDQUFDLElBQUksQ0FDTixJQUFBLGVBQVEsRUFBQyxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsRUFBRTtRQUMzQixPQUFPLFFBQVEsR0FBRyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztZQUM3RCxDQUFDLENBQUMsSUFBQSxpQkFBVSxFQUFDLEtBQUssQ0FBQztZQUNuQixDQUFDLENBQUMsSUFBQSxZQUFLLEVBQUMsR0FBRyxHQUFHLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDLENBQ0gsQ0FDRixDQUNGLENBQUM7QUFDSixDQUFDO0FBekJELGdFQXlCQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBTcGF3bk9wdGlvbnMsIHNwYXduIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBBZGRyZXNzSW5mbywgY3JlYXRlQ29ubmVjdGlvbiwgY3JlYXRlU2VydmVyIH0gZnJvbSAnbmV0JztcbmltcG9ydCB7IE9ic2VydmFibGUsIG1lcmdlTWFwLCByZXRyeVdoZW4sIHRocm93RXJyb3IsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgdHJlZUtpbGwgZnJvbSAndHJlZS1raWxsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEF2YWlsYWJsZVBvcnQoKTogUHJvbWlzZTxudW1iZXI+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBzZXJ2ZXIgPSBjcmVhdGVTZXJ2ZXIoKTtcbiAgICBzZXJ2ZXJcbiAgICAgIC51bnJlZigpXG4gICAgICAub24oJ2Vycm9yJywgcmVqZWN0KVxuICAgICAgLmxpc3RlbigwLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgcG9ydCB9ID0gc2VydmVyLmFkZHJlc3MoKSBhcyBBZGRyZXNzSW5mbztcbiAgICAgICAgc2VydmVyLmNsb3NlKCgpID0+IHJlc29sdmUocG9ydCkpO1xuICAgICAgfSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Bhd25Bc09ic2VydmFibGUoXG4gIGNvbW1hbmQ6IHN0cmluZyxcbiAgYXJnczogc3RyaW5nW10gPSBbXSxcbiAgb3B0aW9uczogU3Bhd25PcHRpb25zID0ge30sXG4pOiBPYnNlcnZhYmxlPHsgc3Rkb3V0Pzogc3RyaW5nOyBzdGRlcnI/OiBzdHJpbmcgfT4ge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGUoKG9icykgPT4ge1xuICAgIGNvbnN0IHByb2MgPSBzcGF3bihjb21tYW5kLCBhcmdzLCBvcHRpb25zKTtcbiAgICBpZiAocHJvYy5zdGRvdXQpIHtcbiAgICAgIHByb2Muc3Rkb3V0Lm9uKCdkYXRhJywgKGRhdGEpID0+IG9icy5uZXh0KHsgc3Rkb3V0OiBkYXRhLnRvU3RyaW5nKCkgfSkpO1xuICAgIH1cblxuICAgIGlmIChwcm9jLnN0ZGVycikge1xuICAgICAgcHJvYy5zdGRlcnIub24oJ2RhdGEnLCAoZGF0YSkgPT4gb2JzLm5leHQoeyBzdGRlcnI6IGRhdGEudG9TdHJpbmcoKSB9KSk7XG4gICAgfVxuXG4gICAgcHJvY1xuICAgICAgLm9uKCdlcnJvcicsIChlcnIpID0+IG9icy5lcnJvcihlcnIpKVxuICAgICAgLm9uKCdjbG9zZScsIChjb2RlKSA9PiB7XG4gICAgICAgIGlmIChjb2RlICE9PSAwKSB7XG4gICAgICAgICAgb2JzLmVycm9yKG5ldyBFcnJvcihgJHtjb21tYW5kfSBleGl0ZWQgd2l0aCAke2NvZGV9IGNvZGUuYCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgb2JzLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoIXByb2Mua2lsbGVkICYmIHByb2MucGlkKSB7XG4gICAgICAgIHRyZWVLaWxsKHByb2MucGlkLCAnU0lHVEVSTScpO1xuICAgICAgfVxuICAgIH07XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2FpdFVudGlsU2VydmVySXNMaXN0ZW5pbmcocG9ydDogbnVtYmVyLCBob3N0Pzogc3RyaW5nKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgY29uc3QgYWxsb3dlZEVycm9yQ29kZXMgPSBbJ0VDT05OUkVGVVNFRCcsICdFQ09OTlJFU0VUJ107XG5cbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHVuZGVmaW5lZD4oKG9icykgPT4ge1xuICAgIGNvbnN0IGNsaWVudCA9IGNyZWF0ZUNvbm5lY3Rpb24oeyBob3N0LCBwb3J0IH0sICgpID0+IHtcbiAgICAgIG9icy5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICBvYnMuY29tcGxldGUoKTtcbiAgICB9KS5vbignZXJyb3InLCAoZXJyKSA9PiBvYnMuZXJyb3IoZXJyKSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKCFjbGllbnQuZGVzdHJveWVkKSB7XG4gICAgICAgIGNsaWVudC5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSkucGlwZShcbiAgICByZXRyeVdoZW4oKGVycikgPT5cbiAgICAgIGVyci5waXBlKFxuICAgICAgICBtZXJnZU1hcCgoZXJyb3IsIGF0dGVtcHRzKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGF0dGVtcHRzID4gMTAgfHwgIWFsbG93ZWRFcnJvckNvZGVzLmluY2x1ZGVzKGVycm9yLmNvZGUpXG4gICAgICAgICAgICA/IHRocm93RXJyb3IoZXJyb3IpXG4gICAgICAgICAgICA6IHRpbWVyKDEwMCAqIChhdHRlbXB0cyAqIDEpKTtcbiAgICAgICAgfSksXG4gICAgICApLFxuICAgICksXG4gICk7XG59XG4iXX0=
|
package/src/index.js
CHANGED
|
@@ -43,4 +43,3 @@ var server_1 = require("./builders/server");
|
|
|
43
43
|
Object.defineProperty(exports, "executeServerBuilder", { enumerable: true, get: function () { return server_1.execute; } });
|
|
44
44
|
var ng_packagr_1 = require("./builders/ng-packagr");
|
|
45
45
|
Object.defineProperty(exports, "executeNgPackagrBuilder", { enumerable: true, get: function () { return ng_packagr_1.execute; } });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILCtDQUE2QjtBQUU3QixvREFjbUM7QUFWakMscUdBQUEsV0FBVyxPQUFBO0FBSVgsdUdBQUEsYUFBYSxPQUFBO0FBS2IsOEZBQUEsSUFBSSxPQUFBO0FBR04sOENBRzRCO0FBRjFCLGdIQUFBLG1CQUFtQixPQUF5QjtBQUk5QyxzREFBcUY7QUFBNUUsK0dBQUEsZ0JBQWdCLE9BQUE7QUFFekIsb0RBSStCO0FBSDdCLHFIQUFBLHVCQUF1QixPQUFBO0FBS3pCLHdEQUdpQztBQUYvQix5SEFBQSxPQUFPLE9BQTZCO0FBSXRDLDBDQUkwQjtBQUh4Qiw0R0FBQSxPQUFPLE9BQXVCO0FBS2hDLG9EQUcrQjtBQUY3QixzSEFBQSxPQUFPLE9BQTRCO0FBSXJDLDRDQUkyQjtBQUh6Qiw4R0FBQSxPQUFPLE9BQXdCO0FBS2pDLG9EQUFvRztBQUEzRixxSEFBQSxPQUFPLE9BQTJCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vdHJhbnNmb3Jtcyc7XG5cbmV4cG9ydCB7XG4gIEFzc2V0UGF0dGVybixcbiAgQXNzZXRQYXR0ZXJuQ2xhc3MgYXMgQXNzZXRQYXR0ZXJuT2JqZWN0LFxuICBCdWRnZXQsXG4gIENyb3NzT3JpZ2luLFxuICBGaWxlUmVwbGFjZW1lbnQsXG4gIE9wdGltaXphdGlvbkNsYXNzIGFzIE9wdGltaXphdGlvbk9iamVjdCxcbiAgT3B0aW1pemF0aW9uVW5pb24sXG4gIE91dHB1dEhhc2hpbmcsXG4gIFNjaGVtYSBhcyBCcm93c2VyQnVpbGRlck9wdGlvbnMsXG4gIFNvdXJjZU1hcENsYXNzIGFzIFNvdXJjZU1hcE9iamVjdCxcbiAgU291cmNlTWFwVW5pb24sXG4gIFN0eWxlUHJlcHJvY2Vzc29yT3B0aW9ucyxcbiAgVHlwZSxcbn0gZnJvbSAnLi9idWlsZGVycy9icm93c2VyL3NjaGVtYSc7XG5cbmV4cG9ydCB7XG4gIGJ1aWxkV2VicGFja0Jyb3dzZXIgYXMgZXhlY3V0ZUJyb3dzZXJCdWlsZGVyLFxuICBCcm93c2VyQnVpbGRlck91dHB1dCxcbn0gZnJvbSAnLi9idWlsZGVycy9icm93c2VyJztcblxuZXhwb3J0IHsgYnVpbGRBcHBsaWNhdGlvbiwgQXBwbGljYXRpb25CdWlsZGVyT3B0aW9ucyB9IGZyb20gJy4vYnVpbGRlcnMvYXBwbGljYXRpb24nO1xuXG5leHBvcnQge1xuICBleGVjdXRlRGV2U2VydmVyQnVpbGRlcixcbiAgRGV2U2VydmVyQnVpbGRlck9wdGlvbnMsXG4gIERldlNlcnZlckJ1aWxkZXJPdXRwdXQsXG59IGZyb20gJy4vYnVpbGRlcnMvZGV2LXNlcnZlcic7XG5cbmV4cG9ydCB7XG4gIGV4ZWN1dGUgYXMgZXhlY3V0ZUV4dHJhY3RJMThuQnVpbGRlcixcbiAgRXh0cmFjdEkxOG5CdWlsZGVyT3B0aW9ucyxcbn0gZnJvbSAnLi9idWlsZGVycy9leHRyYWN0LWkxOG4nO1xuXG5leHBvcnQge1xuICBleGVjdXRlIGFzIGV4ZWN1dGVLYXJtYUJ1aWxkZXIsXG4gIEthcm1hQnVpbGRlck9wdGlvbnMsXG4gIEthcm1hQ29uZmlnT3B0aW9ucyxcbn0gZnJvbSAnLi9idWlsZGVycy9rYXJtYSc7XG5cbmV4cG9ydCB7XG4gIGV4ZWN1dGUgYXMgZXhlY3V0ZVByb3RyYWN0b3JCdWlsZGVyLFxuICBQcm90cmFjdG9yQnVpbGRlck9wdGlvbnMsXG59IGZyb20gJy4vYnVpbGRlcnMvcHJvdHJhY3Rvcic7XG5cbmV4cG9ydCB7XG4gIGV4ZWN1dGUgYXMgZXhlY3V0ZVNlcnZlckJ1aWxkZXIsXG4gIFNlcnZlckJ1aWxkZXJPcHRpb25zLFxuICBTZXJ2ZXJCdWlsZGVyT3V0cHV0LFxufSBmcm9tICcuL2J1aWxkZXJzL3NlcnZlcic7XG5cbmV4cG9ydCB7IGV4ZWN1dGUgYXMgZXhlY3V0ZU5nUGFja2FnckJ1aWxkZXIsIE5nUGFja2FnckJ1aWxkZXJPcHRpb25zIH0gZnJvbSAnLi9idWlsZGVycy9uZy1wYWNrYWdyJztcbiJdfQ==
|
|
@@ -352,4 +352,3 @@ function default_1() {
|
|
|
352
352
|
};
|
|
353
353
|
}
|
|
354
354
|
exports.default = default_1;
|
|
355
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRqdXN0LXN0YXRpYy1jbGFzcy1tZW1iZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvYmFiZWwvcGx1Z2lucy9hZGp1c3Qtc3RhdGljLWNsYXNzLW1lbWJlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7Ozs7O0FBRUgsc0NBQXFFO0FBQ3JFLDZGQUE0RDtBQUM1RCw2R0FBNEU7QUFFNUU7O0dBRUc7QUFDSCxNQUFNLDBCQUEwQixHQUFHLFlBQVksQ0FBQztBQUVoRDs7OztHQUlHO0FBQ0gsTUFBTSxvQkFBb0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUNuQyxNQUFNO0lBQ04sTUFBTTtJQUNOLE1BQU07SUFDTixNQUFNO0lBQ04sTUFBTTtJQUNOLE9BQU87SUFDUCxPQUFPO0lBQ1AsY0FBYztDQUNmLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0scUJBQXFCLEdBQWtFO0lBQzNGLGdCQUFnQixDQUFDLElBQUk7UUFDbkIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsSUFBSSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztJQUN6RSxDQUFDO0lBQ0QsWUFBWSxDQUFDLElBQUk7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxJQUFJO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDbkMsQ0FBQztDQUNGLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVc7SUFDekIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ25CLENBQUM7QUFGRCxrQ0FFQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxlQUFlLENBQUMsWUFBb0IsRUFBRSxlQUF5QjtJ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cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHsgTm9kZVBhdGgsIFBsdWdpbk9iaiwgUGx1Z2luUGFzcywgdHlwZXMgfSBmcm9tICdAYmFiZWwvY29yZSc7XG5pbXBvcnQgYW5ub3RhdGVBc1B1cmUgZnJvbSAnQGJhYmVsL2hlbHBlci1hbm5vdGF0ZS1hcy1wdXJlJztcbmltcG9ydCBzcGxpdEV4cG9ydERlY2xhcmF0aW9uIGZyb20gJ0BiYWJlbC9oZWxwZXItc3BsaXQtZXhwb3J0LWRlY2xhcmF0aW9uJztcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgVHlwZXNjcmlwdCBkZWNvcmF0b3IgaGVscGVyIGZ1bmN0aW9uIGNyZWF0ZWQgYnkgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIuXG4gKi9cbmNvbnN0IFRTTElCX0RFQ09SQVRFX0hFTFBFUl9OQU1FID0gJ19fZGVjb3JhdGUnO1xuXG4vKipcbiAqIFRoZSBzZXQgb2YgQW5ndWxhciBzdGF0aWMgZmllbGRzIHRoYXQgc2hvdWxkIGFsd2F5cyBiZSB3cmFwcGVkLlxuICogVGhlc2UgZmllbGRzIG1heSBhcHBlYXIgdG8gaGF2ZSBzaWRlIGVmZmVjdHMgYnV0IGFyZSBzYWZlIHRvIHJlbW92ZSBpZiB0aGUgYXNzb2NpYXRlZCBjbGFzc1xuICogaXMgb3RoZXJ3aXNlIHVudXNlZCB3aXRoaW4gdGhlIG91dHB1dC5cbiAqL1xuY29uc3QgYW5ndWxhclN0YXRpY3NUb1dyYXAgPSBuZXcgU2V0KFtcbiAgJ8m1Y21wJyxcbiAgJ8m1ZGlyJyxcbiAgJ8m1ZmFjJyxcbiAgJ8m1aW5qJyxcbiAgJ8m1bW9kJyxcbiAgJ8m1cGlwZScsXG4gICfJtXByb3YnLFxuICAnSU5KRUNUT1JfS0VZJyxcbl0pO1xuXG4vKipcbiAqIEFuIG9iamVjdCBtYXAgb2Ygc3RhdGljIGZpZWxkcyBhbmQgcmVsYXRlZCB2YWx1ZSBjaGVja3MgZm9yIGRpc2NvdmVyeSBvZiBBbmd1bGFyIGdlbmVyYXRlZFxuICogSklUIHJlbGF0ZWQgc3RhdGljIGZpZWxkcy5cbiAqL1xuY29uc3QgYW5ndWxhclN0YXRpY3NUb0VsaWRlOiBSZWNvcmQ8c3RyaW5nLCAocGF0aDogTm9kZVBhdGg8dHlwZXMuRXhwcmVzc2lvbj4pID0+IGJvb2xlYW4+ID0ge1xuICAnY3RvclBhcmFtZXRlcnMnKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5pc0Z1bmN0aW9uRXhwcmVzc2lvbigpIHx8IHBhdGguaXNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbigpO1xuICB9LFxuICAnZGVjb3JhdG9ycycocGF0aCkge1xuICAgIHJldHVybiBwYXRoLmlzQXJyYXlFeHByZXNzaW9uKCk7XG4gIH0sXG4gICdwcm9wRGVjb3JhdG9ycycocGF0aCkge1xuICAgIHJldHVybiBwYXRoLmlzT2JqZWN0RXhwcmVzc2lvbigpO1xuICB9LFxufTtcblxuLyoqXG4gKiBQcm92aWRlcyBvbmUgb3IgbW9yZSBrZXl3b3JkcyB0aGF0IGlmIGZvdW5kIHdpdGhpbiB0aGUgY29udGVudCBvZiBhIHNvdXJjZSBmaWxlIGluZGljYXRlXG4gKiB0aGF0IHRoaXMgcGx1Z2luIHNob3VsZCBiZSB1c2VkIHdpdGggYSBzb3VyY2UgZmlsZS5cbiAqXG4gKiBAcmV0dXJucyBBbiBhIHN0cmluZyBpdGVyYWJsZSBjb250YWluaW5nIG9uZSBvciBtb3JlIGtleXdvcmRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5d29yZHMoKTogSXRlcmFibGU8c3RyaW5nPiB7XG4gIHJldHVybiBbJ2NsYXNzJ107XG59XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3aGV0aGVyIGEgcHJvcGVydHkgYW5kIGl0cyBpbml0aWFsaXplciB2YWx1ZSBjYW4gYmUgc2FmZWx5IHdyYXBwZWQgaW4gYSBwdXJlXG4gKiBhbm5vdGF0ZWQgSUlGRS4gVmFsdWVzIHRoYXQgbWF5IGNhdXNlIHNpZGUgZWZmZWN0cyBhcmUgbm90IGNvbnNpZGVyZWQgc2FmZSB0byB3cmFwLlxuICogV3JhcHBpbmcgc3VjaCB2YWx1ZXMgbWF5IGNhdXNlIHJ1bnRpbWUgZXJyb3JzIGFuZC9vciBpbmNvcnJlY3QgcnVudGltZSBiZWhhdmlvci5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHlOYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBhbmFseXplLlxuICogQHBhcmFtIGFzc2lnbm1lbnRWYWx1ZSBUaGUgaW5pdGlhbGl6ZXIgdmFsdWUgdGhhdCB3aWxsIGJlIGFzc2lnbmVkIHRvIHRoZSBwcm9wZXJ0eS5cbiAqIEByZXR1cm5zIElmIHRoZSBwcm9wZXJ0eSBjYW4gYmUgc2FmZWx5IHdyYXBwZWQsIHRoZW4gdHJ1ZTsgb3RoZXJ3aXNlLCBmYWxzZS5cbiAqL1xuZnVuY3Rpb24gY2FuV3JhcFByb3BlcnR5KHByb3BlcnR5TmFtZTogc3RyaW5nLCBhc3NpZ25tZW50VmFsdWU6IE5vZGVQYXRoKTogYm9vbGVhbiB7XG4gIGlmIChhbmd1bGFyU3RhdGljc1RvV3JhcC5oYXMocHJvcGVydHlOYW1lKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgeyBsZWFkaW5nQ29tbWVudHMgfSA9IGFzc2lnbm1lbnRWYWx1ZS5ub2RlIGFzIHsgbGVhZGluZ0NvbW1lbnRzPzogeyB2YWx1ZTogc3RyaW5nIH1bXSB9O1xuICBpZiAoXG4gICAgbGVhZGluZ0NvbW1lbnRzPy5zb21lKFxuICAgICAgLy8gYEBwdXJlT3JCcmVha015Q29kZWAgaXMgdXNlZCBieSBjbG9zdXJlIGFuZCBpcyBwcmVzZW50IGluIEFuZ3VsYXIgY29kZVxuICAgICAgKHsgdmFsdWUgfSkgPT5cbiAgICAgICAgdmFsdWUuaW5jbHVkZXMoJ0BfX1BVUkVfXycpIHx8XG4gICAgICAgIHZhbHVlLmluY2x1ZGVzKCcjX19QVVJFX18nKSB8fFxuICAgICAgICB2YWx1ZS5pbmNsdWRlcygnQHB1cmVPckJyZWFrTXlDb2RlJyksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBhc3NpZ25tZW50VmFsdWUuaXNQdXJlKCk7XG59XG5cbi8qKlxuICogQW5hbHl6ZSB0aGUgc2libGluZyBub2RlcyBvZiBhIGNsYXNzIHRvIGRldGVybWluZSBpZiBhbnkgZG93bmxldmVsIGVsZW1lbnRzIHNob3VsZCBiZVxuICogd3JhcHBlZCBpbiBhIHB1cmUgYW5ub3RhdGVkIElJRkUuIEFsc28gZGV0ZXJtaW5lcyBpZiBhbnkgZWxlbWVudHMgaGF2ZSBwb3RlbnRpYWwgc2lkZVxuICogZWZmZWN0cy5cbiAqXG4gKiBAcGFyYW0gb3JpZ2luIFRoZSBzdGFydGluZyBOb2RlUGF0aCBsb2NhdGlvbiBmb3IgYW5hbHl6aW5nIHNpYmxpbmdzLlxuICogQHBhcmFtIGNsYXNzSWRlbnRpZmllciBUaGUgaWRlbnRpZmllciBub2RlIHRoYXQgcmVwcmVzZW50cyB0aGUgbmFtZSBvZiB0aGUgY2xhc3MuXG4gKiBAcGFyYW0gYWxsb3dXcmFwcGluZ0RlY29yYXRvcnMgV2hldGhlciB0byBhbGxvdyBkZWNvcmF0b3JzIHRvIGJlIHdyYXBwZWQuXG4gKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgcmVzdWx0cyBvZiB0aGUgYW5hbHlzaXMuXG4gKi9cbmZ1bmN0aW9uIGFuYWx5emVDbGFzc1NpYmxpbmdzKFxuICBvcmlnaW46IE5vZGVQYXRoLFxuICBjbGFzc0lkZW50aWZpZXI6IHR5cGVzLklkZW50aWZpZXIsXG4gIGFsbG93V3JhcHBpbmdEZWNvcmF0b3JzOiBib29sZWFuLFxuKTogeyBoYXNQb3RlbnRpYWxTaWRlRWZmZWN0czogYm9vbGVhbjsgd3JhcFN0YXRlbWVudFBhdGhzOiBOb2RlUGF0aDx0eXBlcy5TdGF0ZW1lbnQ+W10gfSB7XG4gIGNvbnN0IHdyYXBTdGF0ZW1lbnRQYXRoczogTm9kZVBhdGg8dHlwZXMuU3RhdGVtZW50PltdID0gW107XG4gIGxldCBoYXNQb3RlbnRpYWxTaWRlRWZmZWN0cyA9IGZhbHNlO1xuICBmb3IgKGxldCBpID0gMTsgOyArK2kpIHtcbiAgICBjb25zdCBuZXh0U3RhdGVtZW50ID0gb3JpZ2luLmdldFNpYmxpbmcoKyhvcmlnaW4ua2V5ID8/IDApICsgaSk7XG4gICAgaWYgKCFuZXh0U3RhdGVtZW50LmlzRXhwcmVzc2lvblN0YXRlbWVudCgpKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBWYWxpZCBzaWJsaW5nIHN0YXRlbWVudHMgZm9yIGNsYXNzIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhc3NpZ25tZW50IGV4cHJlc3Npb25zXG4gICAgLy8gYW5kIFR5cGVTY3JpcHQgZGVjb3JhdG9yIGhlbHBlciBjYWxsIGV4cHJlc3Npb25zXG4gICAgY29uc3QgbmV4dEV4cHJlc3Npb24gPSBuZXh0U3RhdGVtZW50LmdldCgnZXhwcmVzc2lvbicpO1xuICAgIGlmIChuZXh0RXhwcmVzc2lvbi5pc0NhbGxFeHByZXNzaW9uKCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXR5cGVzLmlzSWRlbnRpZmllcihuZXh0RXhwcmVzc2lvbi5ub2RlLmNhbGxlZSkgfHxcbiAgICAgICAgbmV4dEV4cHJlc3Npb24ubm9kZS5jYWxsZWUubmFtZSAhPT0gVFNMSUJfREVDT1JBVEVfSEVMUEVSX05BTUVcbiAgICAgICkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgaWYgKGFsbG93V3JhcHBpbmdEZWNvcmF0b3JzKSB7XG4gICAgICAgIHdyYXBTdGF0ZW1lbnRQYXRocy5wdXNoKG5leHRTdGF0ZW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU3RhdGVtZW50IGNhbm5vdCBiZSBzYWZlbHkgd3JhcHBlZCB3aGljaCBtYWtlcyB3cmFwcGluZyB0aGUgY2xhc3MgdW5uZWVkZWQuXG4gICAgICAgIC8vIFRoZSBzdGF0ZW1lbnQgd2lsbCBwcmV2ZW50IGV2ZW4gYSB3cmFwcGVkIGNsYXNzIGZyb20gYmVpbmcgb3B0aW1pemVkIGF3YXkuXG4gICAgICAgIGhhc1BvdGVudGlhbFNpZGVFZmZlY3RzID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgY29udGludWU7XG4gICAgfSBlbHNlIGlmICghbmV4dEV4cHJlc3Npb24uaXNBc3NpZ25tZW50RXhwcmVzc2lvbigpKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBWYWxpZCBhc3NpZ25tZW50IGV4cHJlc3Npb25zIHNob3VsZCBiZSBtZW1iZXIgYWNjZXNzIGV4cHJlc3Npb25zIHVzaW5nIHRoZSBjbGFzc1xuICAgIC8vIG5hbWUgYXMgdGhlIG9iamVjdCBhbmQgYW4gaWRlbnRpZmllciBhcyB0aGUgcHJvcGVydHkgZm9yIHN0YXRpYyBmaWVsZHMgb3Igb25seVxuICAgIC8vIHRoZSBjbGFzcyBuYW1lIGZvciBkZWNvcmF0b3JzLlxuICAgIGNvbnN0IGxlZnQgPSBuZXh0RXhwcmVzc2lvbi5nZXQoJ2xlZnQnKTtcbiAgICBpZiAobGVmdC5pc0lkZW50aWZpZXIoKSkge1xuICAgICAgaWYgKFxuICAgICAgICAhbGVmdC5zY29wZS5iaW5kaW5nSWRlbnRpZmllckVxdWFscyhsZWZ0Lm5vZGUubmFtZSwgY2xhc3NJZGVudGlmaWVyKSB8fFxuICAgICAgICAhdHlwZXMuaXNDYWxsRXhwcmVzc2lvbihuZXh0RXhwcmVzc2lvbi5ub2RlLnJpZ2h0KSB8fFxuICAgICAgICAhdHlwZXMuaXNJZGVudGlmaWVyKG5leHRFeHByZXNzaW9uLm5vZGUucmlnaHQuY2FsbGVlKSB8fFxuICAgICAgICBuZXh0RXhwcmVzc2lvbi5ub2RlLnJpZ2h0LmNhbGxlZS5uYW1lICE9PSBUU0xJQl9ERUNPUkFURV9IRUxQRVJfTkFNRVxuICAgICAgKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBpZiAoYWxsb3dXcmFwcGluZ0RlY29yYXRvcnMpIHtcbiAgICAgICAgd3JhcFN0YXRlbWVudFBhdGhzLnB1c2gobmV4dFN0YXRlbWVudCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBTdGF0ZW1lbnQgY2Fubm90IGJlIHNhZmVseSB3cmFwcGVkIHdoaWNoIG1ha2VzIHdyYXBwaW5nIHRoZSBjbGFzcyB1bm5lZWRlZC5cbiAgICAgICAgLy8gVGhlIHN0YXRlbWVudCB3aWxsIHByZXZlbnQgZXZlbiBhIHdyYXBwZWQgY2xhc3MgZnJvbSBiZWluZyBvcHRpbWl6ZWQgYXdheS5cbiAgICAgICAgaGFzUG90ZW50aWFsU2lkZUVmZmVjdHMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICBjb250aW51ZTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIWxlZnQuaXNNZW1iZXJFeHByZXNzaW9uKCkgfHxcbiAgICAgICF0eXBlcy5pc0lkZW50aWZpZXIobGVmdC5ub2RlLm9iamVjdCkgfHxcbiAgICAgICFsZWZ0LnNjb3BlLmJpbmRpbmdJZGVudGlmaWVyRXF1YWxzKGxlZnQubm9kZS5vYmplY3QubmFtZSwgY2xhc3NJZGVudGlmaWVyKSB8fFxuICAgICAgIXR5cGVzLmlzSWRlbnRpZmllcihsZWZ0Lm5vZGUucHJvcGVydHkpXG4gICAgKSB7XG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wZXJ0eU5hbWUgPSBsZWZ0Lm5vZGUucHJvcGVydHkubmFtZTtcbiAgICBjb25zdCBhc3NpZ25tZW50VmFsdWUgPSBuZXh0RXhwcmVzc2lvbi5nZXQoJ3JpZ2h0Jyk7XG4gICAgaWYgKGFuZ3VsYXJTdGF0aWNzVG9FbGlkZVtwcm9wZXJ0eU5hbWVdPy4oYXNzaWdubWVudFZhbHVlKSkge1xuICAgICAgbmV4dFN0YXRlbWVudC5yZW1vdmUoKTtcbiAgICAgIC0taTtcbiAgICB9IGVsc2UgaWYgKGNhbldyYXBQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIGFzc2lnbm1lbnRWYWx1ZSkpIHtcbiAgICAgIHdyYXBTdGF0ZW1lbnRQYXRocy5wdXNoKG5leHRTdGF0ZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBTdGF0ZW1lbnQgY2Fubm90IGJlIHNhZmVseSB3cmFwcGVkIHdoaWNoIG1ha2VzIHdyYXBwaW5nIHRoZSBjbGFzcyB1bm5lZWRlZC5cbiAgICAgIC8vIFRoZSBzdGF0ZW1lbnQgd2lsbCBwcmV2ZW50IGV2ZW4gYSB3cmFwcGVkIGNsYXNzIGZyb20gYmVpbmcgb3B0aW1pemVkIGF3YXkuXG4gICAgICBoYXNQb3RlbnRpYWxTaWRlRWZmZWN0cyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgaGFzUG90ZW50aWFsU2lkZUVmZmVjdHMsIHdyYXBTdGF0ZW1lbnRQYXRocyB9O1xufVxuXG4vKipcbiAqIFRoZSBzZXQgb2YgY2xhc3NlcyBhbHJlYWR5IHZpc2l0ZWQgYW5kIGFuYWx5emVkIGR1cmluZyB0aGUgcGx1Z2luJ3MgZXhlY3V0aW9uLlxuICogVGhpcyBpcyB1c2VkIHRvIHByZXZlbnQgYWRqdXN0ZWQgY2xhc3NlcyBmcm9tIGJlaW5nIHJlcGVhdGVkbHkgYW5hbHl6ZWQgd2hpY2ggY2FuIGxlYWRcbiAqIHRvIGFuIGluZmluaXRlIGxvb3AuXG4gKi9cbmNvbnN0IHZpc2l0ZWRDbGFzc2VzID0gbmV3IFdlYWtTZXQ8dHlwZXMuQ2xhc3M+KCk7XG5cbi8qKlxuICogQSBtYXAgb2YgY2xhc3NlcyB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIGFuYWx5emVkIGR1cmluZyB0aGUgZGVmYXVsdCBleHBvcnQgc3BsaXR0aW5nIHN0ZXAuXG4gKiBUaGlzIGlzIHVzZWQgdG8gYXZvaWQgYW5hbHl6aW5nIGEgY2xhc3MgZGVjbGFyYXRpb24gdHdpY2UgaWYgaXQgaXMgYSBkaXJlY3QgZGVmYXVsdCBleHBvcnQuXG4gKi9cbmNvbnN0IGV4cG9ydERlZmF1bHRBbmFseXNpcyA9IG5ldyBXZWFrTWFwPHR5cGVzLkNsYXNzLCBSZXR1cm5UeXBlPHR5cGVvZiBhbmFseXplQ2xhc3NTaWJsaW5ncz4+KCk7XG5cbi8qKlxuICogQSBiYWJlbCBwbHVnaW4gZmFjdG9yeSBmdW5jdGlvbiBmb3IgYWRqdXN0aW5nIGNsYXNzZXM7IHByaW1hcmlseSB3aXRoIEFuZ3VsYXIgbWV0YWRhdGEuXG4gKiBUaGUgYWRqdXN0bWVudHMgaW5jbHVkZSB3cmFwcGluZyBjbGFzc2VzIHdpdGgga25vd24gc2FmZSBvciBubyBzaWRlIGVmZmVjdHMgd2l0aCBwdXJlXG4gKiBhbm5vdGF0aW9ucyB0byBzdXBwb3J0IGRlYWQgY29kZSByZW1vdmFsIG9mIHVudXNlZCBjbGFzc2VzLiBBbmd1bGFyIGNvbXBpbGVyIGdlbmVyYXRlZFxuICogbWV0YWRhdGEgc3RhdGljIGZpZWxkcyBub3QgcmVxdWlyZWQgaW4gQU9UIG1vZGUgYXJlIGFsc28gZWxpZGVkIHRvIGJldHRlciBzdXBwb3J0IGJ1bmRsZXItXG4gKiBsZXZlbCB0cmVlc2hha2luZy5cbiAqXG4gKiBAcmV0dXJucyBBIGJhYmVsIHBsdWdpbiBvYmplY3QgaW5zdGFuY2UuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZXMtcGVyLWZ1bmN0aW9uXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoKTogUGx1Z2luT2JqIHtcbiAgcmV0dXJuIHtcbiAgICB2aXNpdG9yOiB7XG4gICAgICAvLyBXaGVuIGEgY2xhc3MgaXMgY29udmVydGVkIHRvIGEgdmFyaWFibGUgZGVjbGFyYXRpb24sIHRoZSBkZWZhdWx0IGV4cG9ydCBtdXN0IGJlIG1vdmVkXG4gICAgICAvLyB0byBhIHN1YnNlcXVlbnQgc3RhdGVtZW50IHRvIHByZXZlbnQgYSBKYXZhU2NyaXB0IHN5bnRheCBlcnJvci5cbiAgICAgIEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbihwYXRoOiBOb2RlUGF0aDx0eXBlcy5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb24+LCBzdGF0ZTogUGx1Z2luUGFzcykge1xuICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IHBhdGguZ2V0KCdkZWNsYXJhdGlvbicpO1xuICAgICAgICBpZiAoIWRlY2xhcmF0aW9uLmlzQ2xhc3NEZWNsYXJhdGlvbigpIHx8ICFkZWNsYXJhdGlvbi5ub2RlLmlkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyB3cmFwRGVjb3JhdG9ycyB9ID0gc3RhdGUub3B0cyBhcyB7IHdyYXBEZWNvcmF0b3JzOiBib29sZWFuIH07XG4gICAgICAgIGNvbnN0IGFuYWx5c2lzID0gYW5hbHl6ZUNsYXNzU2libGluZ3MocGF0aCwgZGVjbGFyYXRpb24ubm9kZS5pZCwgd3JhcERlY29yYXRvcnMpO1xuICAgICAgICBleHBvcnREZWZhdWx0QW5hbHlzaXMuc2V0KGRlY2xhcmF0aW9uLm5vZGUsIGFuYWx5c2lzKTtcblxuICAgICAgICAvLyBTcGxpdHRpbmcgdGhlIGV4cG9ydCBkZWNsYXJhdGlvbiBpcyBub3QgbmVlZGVkIGlmIHRoZSBjbGFzcyB3aWxsIG5vdCBiZSB3cmFwcGVkXG4gICAgICAgIGlmIChhbmFseXNpcy5oYXNQb3RlbnRpYWxTaWRlRWZmZWN0cykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwbGl0RXhwb3J0RGVjbGFyYXRpb24ocGF0aCk7XG4gICAgICB9LFxuICAgICAgQ2xhc3NEZWNsYXJhdGlvbihwYXRoOiBOb2RlUGF0aDx0eXBlcy5DbGFzc0RlY2xhcmF0aW9uPiwgc3RhdGU6IFBsdWdpblBhc3MpIHtcbiAgICAgICAgY29uc3QgeyBub2RlOiBjbGFzc05vZGUsIHBhcmVudFBhdGggfSA9IHBhdGg7XG4gICAgICAgIGNvbnN0IHsgd3JhcERlY29yYXRvcnMgfSA9IHN0YXRlLm9wdHMgYXMgeyB3cmFwRGVjb3JhdG9yczogYm9vbGVhbiB9O1xuXG4gICAgICAgIC8vIFNraXAgaWYgYWxyZWFkeSB2aXNpdGVkIG9yIGhhcyBubyBuYW1lXG4gICAgICAgIGlmICh2aXNpdGVkQ2xhc3Nlcy5oYXMoY2xhc3NOb2RlKSB8fCAhY2xhc3NOb2RlLmlkKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQW5hbHl6ZSBzaWJsaW5nIHN0YXRlbWVudHMgZm9yIGVsZW1lbnRzIG9mIHRoZSBjbGFzcyB0aGF0IHdlcmUgZG93bmxldmVsZWRcbiAgICAgICAgY29uc3Qgb3JpZ2luID0gcGFyZW50UGF0aC5pc0V4cG9ydE5hbWVkRGVjbGFyYXRpb24oKSA/IHBhcmVudFBhdGggOiBwYXRoO1xuICAgICAgICBjb25zdCB7IHdyYXBTdGF0ZW1lbnRQYXRocywgaGFzUG90ZW50aWFsU2lkZUVmZmVjdHMgfSA9XG4gICAgICAgICAgZXhwb3J0RGVmYXVsdEFuYWx5c2lzLmdldChjbGFzc05vZGUpID8/XG4gICAgICAgICAgYW5hbHl6ZUNsYXNzU2libGluZ3Mob3JpZ2luLCBjbGFzc05vZGUuaWQsIHdyYXBEZWNvcmF0b3JzKTtcblxuICAgICAgICB2aXNpdGVkQ2xhc3Nlcy5hZGQoY2xhc3NOb2RlKTtcblxuICAgICAgICBpZiAoaGFzUG90ZW50aWFsU2lkZUVmZmVjdHMpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBubyBzdGF0ZW1lbnRzIHRvIHdyYXAsIGNoZWNrIGZvciBzdGF0aWMgY2xhc3MgcHJvcGVydGllcy5cbiAgICAgICAgLy8gU3RhdGljIGNsYXNzIHByb3BlcnRpZXMgbWF5IGJlIGRvd25sZXZlbGVkIGF0IGxhdGVyIHN0YWdlcyBpbiB0aGUgYnVpbGQgcGlwZWxpbmVcbiAgICAgICAgLy8gd2hpY2ggcmVzdWx0cyBpbiBhZGRpdGlvbmFsIGZ1bmN0aW9uIGNhbGxzIG91dHNpZGUgdGhlIGNsYXNzIGJvZHkuIFRoZXNlIGNhbGxzXG4gICAgICAgIC8vIHRoZW4gY2F1c2UgdGhlIGNsYXNzIHRvIGJlIHJlZmVyZW5jZWQgYW5kIG5vdCBlbGlnaWJsZSBmb3IgcmVtb3ZhbC4gU2luY2UgaXQgaXNcbiAgICAgICAgLy8gbm90IGtub3duIGF0IHRoaXMgc3RhZ2Ugd2hldGhlciB0aGUgY2xhc3MgbmVlZHMgdG8gYmUgZG93bmxldmVsZWQsIHRoZSB0cmFuc2Zvcm1cbiAgICAgICAgLy8gd3JhcHMgY2xhc3NlcyBwcmVlbXB0aXZlbHkgdG8gYWxsb3cgZm9yIHBvdGVudGlhbCByZW1vdmFsIHdpdGhpbiB0aGUgb3B0aW1pemF0aW9uXG4gICAgICAgIC8vIHN0YWdlcy5cbiAgICAgICAgaWYgKHdyYXBTdGF0ZW1lbnRQYXRocy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBsZXQgc2hvdWxkV3JhcCA9IGZhbHNlO1xuICAgICAgICAgIGZvciAoY29uc3QgZWxlbWVudCBvZiBwYXRoLmdldCgnYm9keScpLmdldCgnYm9keScpKSB7XG4gICAgICAgICAgICBpZiAoZWxlbWVudC5pc0NsYXNzUHJvcGVydHkoKSkge1xuICAgICAgICAgICAgICAvLyBPbmx5IG5lZWQgdG8gYW5hbHl6ZSBzdGF0aWMgcHJvcGVydGllc1xuICAgICAgICAgICAgICBpZiAoIWVsZW1lbnQubm9kZS5zdGF0aWMpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIC8vIENoZWNrIGZvciBwb3RlbnRpYWwgc2lkZSBlZmZlY3RzLlxuICAgICAgICAgICAgICAvLyBUaGVzZSBjaGVja3MgYXJlIGNvbnNlcnZhdGl2ZSBhbmQgY291bGQgcG90ZW50aWFsbHkgYmUgZXhwYW5kZWQgaW4gdGhlIGZ1dHVyZS5cbiAgICAgICAgICAgICAgY29uc3QgZWxlbWVudEtleSA9IGVsZW1lbnQuZ2V0KCdrZXknKTtcbiAgICAgICAgICAgICAgY29uc3QgZWxlbWVudFZhbHVlID0gZWxlbWVudC5nZXQoJ3ZhbHVlJyk7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBlbGVtZW50S2V5LmlzSWRlbnRpZmllcigpICYmXG4gICAgICAgICAgICAgICAgKCFlbGVtZW50VmFsdWUuaXNFeHByZXNzaW9uKCkgfHxcbiAgICAgICAgICAgICAgICAgIGNhbldyYXBQcm9wZXJ0eShlbGVtZW50S2V5Lm5vZGUubmFtZSwgZWxlbWVudFZhbHVlKSlcbiAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgc2hvdWxkV3JhcCA9IHRydWU7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gTm90IHNhZmUgdG8gd3JhcFxuICAgICAgICAgICAgICAgIHNob3VsZFdyYXAgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgICAgICAgfSBlbHNlIGlmICgoZWxlbWVudCBhcyBhbnkpLmlzU3RhdGljQmxvY2soKSkge1xuICAgICAgICAgICAgICAvLyBPbmx5IG5lZWQgdG8gYW5hbHl6ZSBzdGF0aWMgYmxvY2tzXG4gICAgICAgICAgICAgIGNvbnN0IGJvZHkgPSBlbGVtZW50LmdldCgnYm9keScpO1xuXG4gICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGJvZHkpICYmIGJvZHkubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIC8vIE5vdCBzYWZlIHRvIHdyYXBcbiAgICAgICAgICAgICAgICBzaG91bGRXcmFwID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBjb25zdCBleHByZXNzaW9uID0gYm9keS5maW5kKChuOiBOb2RlUGF0aDx0eXBlcy5Ob2RlPikgPT5cbiAgICAgICAgICAgICAgICBuLmlzRXhwcmVzc2lvblN0YXRlbWVudCgpLFxuICAgICAgICAgICAgICApIGFzIE5vZGVQYXRoPHR5cGVzLkV4cHJlc3Npb25TdGF0ZW1lbnQ+IHwgdW5kZWZpbmVkO1xuXG4gICAgICAgICAgICAgIGNvbnN0IGFzc2lnbm1lbnRFeHByZXNzaW9uID0gZXhwcmVzc2lvbj8uZ2V0KCdleHByZXNzaW9uJyk7XG4gICAgICAgICAgICAgIGlmIChhc3NpZ25tZW50RXhwcmVzc2lvbj8uaXNBc3NpZ25tZW50RXhwcmVzc2lvbigpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbGVmdCA9IGFzc2lnbm1lbnRFeHByZXNzaW9uLmdldCgnbGVmdCcpO1xuICAgICAgICAgICAgICAgIGlmICghbGVmdC5pc01lbWJlckV4cHJlc3Npb24oKSkge1xuICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKCFsZWZ0LmdldCgnb2JqZWN0JykuaXNUaGlzRXhwcmVzc2lvbigpKSB7XG4gICAgICAgICAgICAgICAgICAvLyBOb3Qgc2FmZSB0byB3cmFwXG4gICAgICAgICAgICAgICAgICBzaG91bGRXcmFwID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gbGVmdC5nZXQoJ3Byb3BlcnR5Jyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmlnaHQgPSBhc3NpZ25tZW50RXhwcmVzc2lvbi5nZXQoJ3JpZ2h0Jyk7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgZWxlbWVudC5pc0lkZW50aWZpZXIoKSAmJlxuICAgICAgICAgICAgICAgICAgKCFyaWdodC5pc0V4cHJlc3Npb24oKSB8fCBjYW5XcmFwUHJvcGVydHkoZWxlbWVudC5ub2RlLm5hbWUsIHJpZ2h0KSlcbiAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgIHNob3VsZFdyYXAgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBOb3Qgc2FmZSB0byB3cmFwXG4gICAgICAgICAgICAgICAgICBzaG91bGRXcmFwID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFzaG91bGRXcmFwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd3JhcFN0YXRlbWVudE5vZGVzOiB0eXBlcy5TdGF0ZW1lbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudFBhdGggb2Ygd3JhcFN0YXRlbWVudFBhdGhzKSB7XG4gICAgICAgICAgd3JhcFN0YXRlbWVudE5vZGVzLnB1c2goc3RhdGVtZW50UGF0aC5ub2RlKTtcbiAgICAgICAgICBzdGF0ZW1lbnRQYXRoLnJlbW92ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV3JhcCBjbGFzcyBhbmQgc2FmZSBzdGF0aWMgYXNzaWdubWVudHMgaW4gYSBwdXJlIGFubm90YXRlZCBJSUZFXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHR5cGVzLmFycm93RnVuY3Rpb25FeHByZXNzaW9uKFxuICAgICAgICAgIFtdLFxuICAgICAgICAgIHR5cGVzLmJsb2NrU3RhdGVtZW50KFtcbiAgICAgICAgICAgIGNsYXNzTm9kZSxcbiAgICAgICAgICAgIC4uLndyYXBTdGF0ZW1lbnROb2RlcyxcbiAgICAgICAgICAgIHR5cGVzLnJldHVyblN0YXRlbWVudCh0eXBlcy5jbG9uZU5vZGUoY2xhc3NOb2RlLmlkKSksXG4gICAgICAgICAgXSksXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IHJlcGxhY2VtZW50SW5pdGlhbGl6ZXIgPSB0eXBlcy5jYWxsRXhwcmVzc2lvbihcbiAgICAgICAgICB0eXBlcy5wYXJlbnRoZXNpemVkRXhwcmVzc2lvbihjb250YWluZXIpLFxuICAgICAgICAgIFtdLFxuICAgICAgICApO1xuICAgICAgICBhbm5vdGF0ZUFzUHVyZShyZXBsYWNlbWVudEluaXRpYWxpemVyKTtcblxuICAgICAgICAvLyBSZXBsYWNlIGNsYXNzIHdpdGggSUlGRSB3cmFwcGVkIGNsYXNzXG4gICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gdHlwZXMudmFyaWFibGVEZWNsYXJhdGlvbignbGV0JywgW1xuICAgICAgICAgIHR5cGVzLnZhcmlhYmxlRGVjbGFyYXRvcih0eXBlcy5jbG9uZU5vZGUoY2xhc3NOb2RlLmlkKSwgcmVwbGFjZW1lbnRJbml0aWFsaXplciksXG4gICAgICAgIF0pO1xuICAgICAgICBwYXRoLnJlcGxhY2VXaXRoKGRlY2xhcmF0aW9uKTtcbiAgICAgIH0sXG4gICAgICBDbGFzc0V4cHJlc3Npb24ocGF0aDogTm9kZVBhdGg8dHlwZXMuQ2xhc3NFeHByZXNzaW9uPiwgc3RhdGU6IFBsdWdpblBhc3MpIHtcbiAgICAgICAgY29uc3QgeyBub2RlOiBjbGFzc05vZGUsIHBhcmVudFBhdGggfSA9IHBhdGg7XG4gICAgICAgIGNvbnN0IHsgd3JhcERlY29yYXRvcnMgfSA9IHN0YXRlLm9wdHMgYXMgeyB3cmFwRGVjb3JhdG9yczogYm9vbGVhbiB9O1xuXG4gICAgICAgIC8vIENsYXNzIGV4cHJlc3Npb25zIGFyZSB1c2VkIGJ5IFR5cGVTY3JpcHQgdG8gcmVwcmVzZW50IGRvd25sZXZlbCBjbGFzcy9jb25zdHJ1Y3RvciBkZWNvcmF0b3JzLlxuICAgICAgICAvLyBJZiBub3Qgd3JhcHBpbmcgZGVjb3JhdG9ycywgdGhleSBkbyBub3QgbmVlZCB0byBiZSBwcm9jZXNzZWQuXG4gICAgICAgIGlmICghd3JhcERlY29yYXRvcnMgfHwgdmlzaXRlZENsYXNzZXMuaGFzKGNsYXNzTm9kZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWNsYXNzTm9kZS5pZCB8fFxuICAgICAgICAgICFwYXJlbnRQYXRoLmlzVmFyaWFibGVEZWNsYXJhdG9yKCkgfHxcbiAgICAgICAgICAhdHlwZXMuaXNJZGVudGlmaWVyKHBhcmVudFBhdGgubm9kZS5pZCkgfHxcbiAgICAgICAgICBwYXJlbnRQYXRoLm5vZGUuaWQubmFtZSAhPT0gY2xhc3NOb2RlLmlkLm5hbWVcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3JpZ2luID0gcGFyZW50UGF0aC5wYXJlbnRQYXRoO1xuICAgICAgICBpZiAoIW9yaWdpbi5pc1ZhcmlhYmxlRGVjbGFyYXRpb24oKSB8fCBvcmlnaW4ubm9kZS5kZWNsYXJhdGlvbnMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgeyB3cmFwU3RhdGVtZW50UGF0aHMsIGhhc1BvdGVudGlhbFNpZGVFZmZlY3RzIH0gPSBhbmFseXplQ2xhc3NTaWJsaW5ncyhcbiAgICAgICAgICBvcmlnaW4sXG4gICAgICAgICAgcGFyZW50UGF0aC5ub2RlLmlkLFxuICAgICAgICAgIHdyYXBEZWNvcmF0b3JzLFxuICAgICAgICApO1xuXG4gICAgICAgIHZpc2l0ZWRDbGFzc2VzLmFkZChjbGFzc05vZGUpO1xuXG4gICAgICAgIGlmIChoYXNQb3RlbnRpYWxTaWRlRWZmZWN0cyB8fCB3cmFwU3RhdGVtZW50UGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgd3JhcFN0YXRlbWVudE5vZGVzOiB0eXBlcy5TdGF0ZW1lbnRbXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IHN0YXRlbWVudFBhdGggb2Ygd3JhcFN0YXRlbWVudFBhdGhzKSB7XG4gICAgICAgICAgd3JhcFN0YXRlbWVudE5vZGVzLnB1c2goc3RhdGVtZW50UGF0aC5ub2RlKTtcbiAgICAgICAgICBzdGF0ZW1lbnRQYXRoLnJlbW92ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gV3JhcCBjbGFzcyBhbmQgc2FmZSBzdGF0aWMgYXNzaWdubWVudHMgaW4gYSBwdXJlIGFubm90YXRlZCBJSUZFXG4gICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHR5cGVzLmFycm93RnVuY3Rpb25FeHByZXNzaW9uKFxuICAgICAgICAgIFtdLFxuICAgICAgICAgIHR5cGVzLmJsb2NrU3RhdGVtZW50KFtcbiAgICAgICAgICAgIHR5cGVzLnZhcmlhYmxlRGVjbGFyYXRpb24oJ2xldCcsIFtcbiAgICAgICAgICAgICAgdHlwZXMudmFyaWFibGVEZWNsYXJhdG9yKHR5cGVzLmNsb25lTm9kZShjbGFzc05vZGUuaWQpLCBjbGFzc05vZGUpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAuLi53cmFwU3RhdGVtZW50Tm9kZXMsXG4gICAgICAgICAgICB0eXBlcy5yZXR1cm5TdGF0ZW1lbnQodHlwZXMuY2xvbmVOb2RlKGNsYXNzTm9kZS5pZCkpLFxuICAgICAgICAgIF0pLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZXBsYWNlbWVudEluaXRpYWxpemVyID0gdHlwZXMuY2FsbEV4cHJlc3Npb24oXG4gICAgICAgICAgdHlwZXMucGFyZW50aGVzaXplZEV4cHJlc3Npb24oY29udGFpbmVyKSxcbiAgICAgICAgICBbXSxcbiAgICAgICAgKTtcbiAgICAgICAgYW5ub3RhdGVBc1B1cmUocmVwbGFjZW1lbnRJbml0aWFsaXplcik7XG5cbiAgICAgICAgLy8gQWRkIHRoZSB3cmFwcGVkIGNsYXNzIGRpcmVjdGx5IHRvIHRoZSB2YXJpYWJsZSBkZWNsYXJhdGlvblxuICAgICAgICBwYXJlbnRQYXRoLmdldCgnaW5pdCcpLnJlcGxhY2VXaXRoKHJlcGxhY2VtZW50SW5pdGlhbGl6ZXIpO1xuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -111,4 +111,3 @@ function default_1() {
|
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
113
|
exports.default = default_1;
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRqdXN0LXR5cGVzY3JpcHQtZW51bXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9iYWJlbC9wbHVnaW5zL2FkanVzdC10eXBlc2NyaXB0LWVudW1zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQUVILHNDQUF5RDtBQUN6RCw2RkFBNEQ7QUFFNUQ7Ozs7O0dBS0c7QUFDSCxTQUFnQixXQUFXO0lBQ3pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNqQixDQUFDO0FBRkQsa0NBRUM7QUFFRDs7OztHQUlHO0FBQ0g7SUFDRSxPQUFPO1FBQ0wsT0FBTyxFQUFFO1lBQ1AsbUJBQW1CLENBQUMsSUFBeUM7Z0JBQzNELE1BQU0sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO2dCQUNsQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDekQsT0FBTztpQkFDUjtnQkFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO29CQUN6QixPQUFPO2lCQUNSO2dCQUVELE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUMxQyxJQUFJLENBQUMsWUFBSyxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsRUFBRTtvQkFDdEMsT0FBTztpQkFDUjtnQkFFRCxNQUFNLFNBQVMsR0FDYixVQUFVLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxVQUFVLENBQUMsMEJBQTBCLEVBQUUsQ0FBQztnQkFD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QUFDLENBQUMsQ0FBQztpQkFDL0Q7Z0JBRUQsdURBQXVEO2dCQUN2RCxVQUFVO3FCQUNQLEdBQUcsQ0FBQyxNQUFNLENBQUM7cUJBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBSyxDQUFDLGVBQWUsQ0FBQyxZQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBRTVFLG1DQUFtQztnQkFDbkMsTUFBTSxlQUFlLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQztnQkFDNUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUV4QixJQUFBLGlDQUFjLEVBQUMsZUFBZSxDQUFDLENBQUM7Z0JBRWhDLHdFQUF3RTtnQkFDeEUsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDdkQsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUEzR0QsNEJBMkdDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7IE5vZGVQYXRoLCBQbHVnaW5PYmosIHR5cGVzIH0gZnJvbSAnQGJhYmVsL2NvcmUnO1xuaW1wb3J0IGFubm90YXRlQXNQdXJlIGZyb20gJ0BiYWJlbC9oZWxwZXItYW5ub3RhdGUtYXMtcHVyZSc7XG5cbi8qKlxuICogUHJvdmlkZXMgb25lIG9yIG1vcmUga2V5d29yZHMgdGhhdCBpZiBmb3VuZCB3aXRoaW4gdGhlIGNvbnRlbnQgb2YgYSBzb3VyY2UgZmlsZSBpbmRpY2F0ZVxuICogdGhhdCB0aGlzIHBsdWdpbiBzaG91bGQgYmUgdXNlZCB3aXRoIGEgc291cmNlIGZpbGUuXG4gKlxuICogQHJldHVybnMgQW4gYSBzdHJpbmcgaXRlcmFibGUgY29udGFpbmluZyBvbmUgb3IgbW9yZSBrZXl3b3Jkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEtleXdvcmRzKCk6IEl0ZXJhYmxlPHN0cmluZz4ge1xuICByZXR1cm4gWyd2YXInXTtcbn1cblxuLyoqXG4gKiBBIGJhYmVsIHBsdWdpbiBmYWN0b3J5IGZ1bmN0aW9uIGZvciBhZGp1c3RpbmcgVHlwZVNjcmlwdCBlbWl0dGVkIGVudW1zLlxuICpcbiAqIEByZXR1cm5zIEEgYmFiZWwgcGx1Z2luIG9iamVjdCBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCk6IFBsdWdpbk9iaiB7XG4gIHJldHVybiB7XG4gICAgdmlzaXRvcjoge1xuICAgICAgVmFyaWFibGVEZWNsYXJhdGlvbihwYXRoOiBOb2RlUGF0aDx0eXBlcy5WYXJpYWJsZURlY2xhcmF0aW9uPikge1xuICAgICAgICBjb25zdCB7IHBhcmVudFBhdGgsIG5vZGUgfSA9IHBhdGg7XG4gICAgICAgIGlmIChub2RlLmtpbmQgIT09ICd2YXInIHx8IG5vZGUuZGVjbGFyYXRpb25zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gcGF0aC5nZXQoJ2RlY2xhcmF0aW9ucycpWzBdO1xuICAgICAgICBpZiAoZGVjbGFyYXRpb24ubm9kZS5pbml0KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb25JZCA9IGRlY2xhcmF0aW9uLm5vZGUuaWQ7XG4gICAgICAgIGlmICghdHlwZXMuaXNJZGVudGlmaWVyKGRlY2xhcmF0aW9uSWQpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgaGFzRXhwb3J0ID1cbiAgICAgICAgICBwYXJlbnRQYXRoLmlzRXhwb3J0TmFtZWREZWNsYXJhdGlvbigpIHx8IHBhcmVudFBhdGguaXNFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24oKTtcbiAgICAgICAgY29uc3Qgb3JpZ2luID0gaGFzRXhwb3J0ID8gcGFyZW50UGF0aCA6IHBhdGg7XG4gICAgICAgIGNvbnN0IG5leHRTdGF0ZW1lbnQgPSBvcmlnaW4uZ2V0U2libGluZygrKG9yaWdpbi5rZXkgPz8gMCkgKyAxKTtcbiAgICAgICAgaWYgKCFuZXh0U3RhdGVtZW50LmlzRXhwcmVzc2lvblN0YXRlbWVudCgpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmV4dEV4cHJlc3Npb24gPSBuZXh0U3RhdGVtZW50LmdldCgnZXhwcmVzc2lvbicpO1xuICAgICAgICBpZiAoIW5leHRFeHByZXNzaW9uLmlzQ2FsbEV4cHJlc3Npb24oKSB8fCBuZXh0RXhwcmVzc2lvbi5ub2RlLmFyZ3VtZW50cy5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbnVtQ2FsbEFyZ3VtZW50ID0gbmV4dEV4cHJlc3Npb24uZ2V0KCdhcmd1bWVudHMnKVswXTtcbiAgICAgICAgaWYgKCFlbnVtQ2FsbEFyZ3VtZW50LmlzTG9naWNhbEV4cHJlc3Npb24oeyBvcGVyYXRvcjogJ3x8JyB9KSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxlZnRDYWxsQXJndW1lbnQgPSBlbnVtQ2FsbEFyZ3VtZW50LmdldCgnbGVmdCcpO1xuICAgICAgICBjb25zdCByaWdodENhbGxBcmd1bWVudCA9IGVudW1DYWxsQXJndW1lbnQuZ2V0KCdyaWdodCcpO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIGlkZW50aWZpZXJzIG1hdGNoIHZhciBkZWNsYXJhdGlvblxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWxlZnRDYWxsQXJndW1lbnQuaXNJZGVudGlmaWVyKCkgfHxcbiAgICAgICAgICAhbmV4dEV4cHJlc3Npb24uc2NvcGUuYmluZGluZ0lkZW50aWZpZXJFcXVhbHMoXG4gICAgICAgICAgICBsZWZ0Q2FsbEFyZ3VtZW50Lm5vZGUubmFtZSxcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uSWQsXG4gICAgICAgICAgKSB8fFxuICAgICAgICAgICFyaWdodENhbGxBcmd1bWVudC5pc0Fzc2lnbm1lbnRFeHByZXNzaW9uKClcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW51bUNhbGxlZSA9IG5leHRFeHByZXNzaW9uLmdldCgnY2FsbGVlJyk7XG4gICAgICAgIGlmICghZW51bUNhbGxlZS5pc0Z1bmN0aW9uRXhwcmVzc2lvbigpIHx8IGVudW1DYWxsZWUubm9kZS5wYXJhbXMubGVuZ3RoICE9PSAxKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyYW1ldGVySWQgPSBlbnVtQ2FsbGVlLmdldCgncGFyYW1zJylbMF07XG4gICAgICAgIGlmICghcGFyYW1ldGVySWQuaXNJZGVudGlmaWVyKCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVjayBpZiBhbGwgZW51bSBtZW1iZXIgdmFsdWVzIGFyZSBwdXJlLlxuICAgICAgICAvLyBJZiBub3QsIGxlYXZlIGFzLWlzIGR1ZSB0byBwb3RlbnRpYWwgc2lkZSBlZmVjdHNcbiAgICAgICAgbGV0IGhhc0VsZW1lbnRzID0gZmFsc2U7XG4gICAgICAgIGZvciAoY29uc3QgZW51bVN0YXRlbWVudCBvZiBlbnVtQ2FsbGVlLmdldCgnYm9keScpLmdldCgnYm9keScpKSB7XG4gICAgICAgICAgaWYgKCFlbnVtU3RhdGVtZW50LmlzRXhwcmVzc2lvblN0YXRlbWVudCgpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZW51bVZhbHVlQXNzaWdubWVudCA9IGVudW1TdGF0ZW1lbnQuZ2V0KCdleHByZXNzaW9uJyk7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWVudW1WYWx1ZUFzc2lnbm1lbnQuaXNBc3NpZ25tZW50RXhwcmVzc2lvbigpIHx8XG4gICAgICAgICAgICAhZW51bVZhbHVlQXNzaWdubWVudC5nZXQoJ3JpZ2h0JykuaXNQdXJlKClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoYXNFbGVtZW50cyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gZW51bSBlbGVtZW50cyB0aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gd3JhcFxuICAgICAgICBpZiAoIWhhc0VsZW1lbnRzKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gVXBkYXRlIHJpZ2h0LXNpZGUgb2YgaW5pdGlhbGl6ZXIgY2FsbCBhcmd1bWVudCB0byByZW1vdmUgcmVkdW5kYW50IGFzc2lnbm1lbnRcbiAgICAgICAgaWYgKHJpZ2h0Q2FsbEFyZ3VtZW50LmdldCgnbGVmdCcpLmlzSWRlbnRpZmllcigpKSB7XG4gICAgICAgICAgcmlnaHRDYWxsQXJndW1lbnQucmVwbGFjZVdpdGgocmlnaHRDYWxsQXJndW1lbnQuZ2V0KCdyaWdodCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZCBhIHJldHVybiBzdGF0ZW1lbnQgdG8gdGhlIGVudW0gaW5pdGlhbGl6ZXIgYmxvY2tcbiAgICAgICAgZW51bUNhbGxlZVxuICAgICAgICAgIC5nZXQoJ2JvZHknKVxuICAgICAgICAgIC5ub2RlLmJvZHkucHVzaCh0eXBlcy5yZXR1cm5TdGF0ZW1lbnQodHlwZXMuY2xvbmVOb2RlKHBhcmFtZXRlcklkLm5vZGUpKSk7XG5cbiAgICAgICAgLy8gUmVtb3ZlIGV4aXN0aW5nIGVudW0gaW5pdGlhbGl6ZXJcbiAgICAgICAgY29uc3QgZW51bUluaXRpYWxpemVyID0gbmV4dEV4cHJlc3Npb24ubm9kZTtcbiAgICAgICAgbmV4dEV4cHJlc3Npb24ucmVtb3ZlKCk7XG5cbiAgICAgICAgYW5ub3RhdGVBc1B1cmUoZW51bUluaXRpYWxpemVyKTtcblxuICAgICAgICAvLyBBZGQgdGhlIHdyYXBwZWQgZW51bSBpbml0aWFsaXplciBkaXJlY3RseSB0byB0aGUgdmFyaWFibGUgZGVjbGFyYXRpb25cbiAgICAgICAgZGVjbGFyYXRpb24uZ2V0KCdpbml0JykucmVwbGFjZVdpdGgoZW51bUluaXRpYWxpemVyKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -88,4 +88,3 @@ function isRemoveClassmetadataAsyncCall(name, args) {
|
|
|
88
88
|
function isInlineFunction(node) {
|
|
89
89
|
return core_1.types.isFunctionExpression(node) || core_1.types.isArrowFunctionExpression(node);
|
|
90
90
|
}
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxpZGUtYW5ndWxhci1tZXRhZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL3Rvb2xzL2JhYmVsL3BsdWdpbnMvZWxpZGUtYW5ndWxhci1tZXRhZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCxzQ0FBeUQ7QUFFekQ7O0dBRUc7QUFDSCxNQUFNLHVCQUF1QixHQUFHLG1CQUFtQixDQUFDO0FBRXBEOztHQUVHO0FBQ0gsTUFBTSw2QkFBNkIsR0FBRyx3QkFBd0IsQ0FBQztBQUUvRDs7Ozs7R0FLRztBQUNILFNBQWdCLFdBQVc7SUFDekIsT0FBTyxDQUFDLHVCQUF1QixFQUFFLDZCQUE2QixDQUFDLENBQUM7QUFDbEUsQ0FBQztBQUZELGtDQUVDO0FBRUQ7Ozs7R0FJRztBQUNIO0lBQ0UsT0FBTztRQUNMLE9BQU8sRUFBRTtZQUNQLGNBQWMsQ0FBQyxJQUFvQztnQkFDakQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2dCQUUxQywrREFBK0Q7Z0JBQy9ELElBQUksVUFBVSxDQUFDO2dCQUNmLElBQUksWUFBSyxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxJQUFJLFlBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUMzRSxVQUFVLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7aUJBQ25DO3FCQUFNLElBQUksWUFBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDckMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7aUJBQzFCO2dCQUVELElBQ0UsVUFBVSxLQUFLLFNBQVM7b0JBQ3hCLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQzt3QkFDbkQsOEJBQThCLENBQUMsVUFBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDLEVBQzVEO29CQUNBLHVFQUF1RTtvQkFDdkUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7b0JBRXhDLElBQUksTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixFQUFFLElBQUksTUFBTSxDQUFDLHlCQUF5QixFQUFFLENBQUMsRUFBRTt3QkFDbkYsbUZBQW1GO3dCQUNuRiw0QkFBNEI7d0JBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUM7cUJBQ25EO2lCQUNGO1lBQ0gsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFoQ0QsNEJBZ0NDO0FBRUQscUVBQXFFO0FBQ3JFLFNBQVMseUJBQXlCLENBQUMsSUFBWSxFQUFFLElBQXVDO0lBQ3RGLGdFQUFnRTtJQUNoRSxnQ0FBZ0M7SUFDaEMsb0NBQW9DO0lBQ3BDLE9BQU8sQ0FDTCxJQUFJLEtBQUssdUJBQXVCO1FBQ2hDLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQztRQUNqQixZQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQixZQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2pDLENBQUM7QUFDSixDQUFDO0FBRUQsMEVBQTBFO0FBQzFFLFNBQVMsOEJBQThCLENBQ3JDLElBQVksRUFDWixJQUF1QztJQUV2QyxxRUFBcUU7SUFDckUsMENBQTBDO0lBQzFDLGdEQUFnRDtJQUNoRCwrQ0FBK0M7SUFDL0MsT0FBTyxDQUNMLElBQUksS0FBSyw2QkFBNkI7UUFDdEMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQ2pCLFlBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzNCLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN6QixnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDMUIsQ0FBQztBQUNKLENBQUM7QUFFRCw2REFBNkQ7QUFDN0QsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFnQjtJQUN4QyxPQUFPLFlBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxZQUFLLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBOb2RlUGF0aCwgUGx1Z2luT2JqLCB0eXBlcyB9IGZyb20gJ0BiYWJlbC9jb3JlJztcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiB0aGUgQW5ndWxhciBjbGFzcyBtZXRhZGF0YSBmdW5jdGlvbiBjcmVhdGVkIGJ5IHRoZSBBbmd1bGFyIGNvbXBpbGVyLlxuICovXG5jb25zdCBTRVRfQ0xBU1NfTUVUQURBVEFfTkFNRSA9ICfJtXNldENsYXNzTWV0YWRhdGEnO1xuXG4vKipcbiAqIE5hbWUgb2YgdGhlIGFzeW5jaHJvbm91cyBBbmd1bGFyIGNsYXNzIG1ldGFkYXRhIGZ1bmN0aW9uIGNyZWF0ZWQgYnkgdGhlIEFuZ3VsYXIgY29tcGlsZXIuXG4gKi9cbmNvbnN0IFNFVF9DTEFTU19NRVRBREFUQV9BU1lOQ19OQU1FID0gJ8m1c2V0Q2xhc3NNZXRhZGF0YUFzeW5jJztcblxuLyoqXG4gKiBQcm92aWRlcyBvbmUgb3IgbW9yZSBrZXl3b3JkcyB0aGF0IGlmIGZvdW5kIHdpdGhpbiB0aGUgY29udGVudCBvZiBhIHNvdXJjZSBmaWxlIGluZGljYXRlXG4gKiB0aGF0IHRoaXMgcGx1Z2luIHNob3VsZCBiZSB1c2VkIHdpdGggYSBzb3VyY2UgZmlsZS5cbiAqXG4gKiBAcmV0dXJucyBBbiBhIHN0cmluZyBpdGVyYWJsZSBjb250YWluaW5nIG9uZSBvciBtb3JlIGtleXdvcmRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0S2V5d29yZHMoKTogSXRlcmFibGU8c3RyaW5nPiB7XG4gIHJldHVybiBbU0VUX0NMQVNTX01FVEFEQVRBX05BTUUsIFNFVF9DTEFTU19NRVRBREFUQV9BU1lOQ19OQU1FXTtcbn1cblxuLyoqXG4gKiBBIGJhYmVsIHBsdWdpbiBmYWN0b3J5IGZ1bmN0aW9uIGZvciBlbGlkaW5nIHRoZSBBbmd1bGFyIGNsYXNzIG1ldGFkYXRhIGZ1bmN0aW9uIChgybVzZXRDbGFzc01ldGFkYXRhYCkuXG4gKlxuICogQHJldHVybnMgQSBiYWJlbCBwbHVnaW4gb2JqZWN0IGluc3RhbmNlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoKTogUGx1Z2luT2JqIHtcbiAgcmV0dXJuIHtcbiAgICB2aXNpdG9yOiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihwYXRoOiBOb2RlUGF0aDx0eXBlcy5DYWxsRXhwcmVzc2lvbj4pIHtcbiAgICAgICAgY29uc3QgY2FsbGVlID0gcGF0aC5ub2RlLmNhbGxlZTtcbiAgICAgICAgY29uc3QgY2FsbEFyZ3VtZW50cyA9IHBhdGgubm9kZS5hcmd1bWVudHM7XG5cbiAgICAgICAgLy8gVGhlIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZCBtdXN0IGJlIHRoZSBtZXRhZGF0YSBmdW5jdGlvbiBuYW1lXG4gICAgICAgIGxldCBjYWxsZWVOYW1lO1xuICAgICAgICBpZiAodHlwZXMuaXNNZW1iZXJFeHByZXNzaW9uKGNhbGxlZSkgJiYgdHlwZXMuaXNJZGVudGlmaWVyKGNhbGxlZS5wcm9wZXJ0eSkpIHtcbiAgICAgICAgICBjYWxsZWVOYW1lID0gY2FsbGVlLnByb3BlcnR5Lm5hbWU7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZXMuaXNJZGVudGlmaWVyKGNhbGxlZSkpIHtcbiAgICAgICAgICBjYWxsZWVOYW1lID0gY2FsbGVlLm5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgY2FsbGVlTmFtZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgKGlzUmVtb3ZlQ2xhc3NNZXRhZGF0YUNhbGwoY2FsbGVlTmFtZSwgY2FsbEFyZ3VtZW50cykgfHxcbiAgICAgICAgICAgIGlzUmVtb3ZlQ2xhc3NtZXRhZGF0YUFzeW5jQ2FsbChjYWxsZWVOYW1lLCBjYWxsQXJndW1lbnRzKSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gVGhlIG1ldGFkYXRhIGZ1bmN0aW9uIGlzIGFsd2F5cyBlbWl0dGVkIGluc2lkZSBhIGZ1bmN0aW9uIGV4cHJlc3Npb25cbiAgICAgICAgICBjb25zdCBwYXJlbnQgPSBwYXRoLmdldEZ1bmN0aW9uUGFyZW50KCk7XG5cbiAgICAgICAgICBpZiAocGFyZW50ICYmIChwYXJlbnQuaXNGdW5jdGlvbkV4cHJlc3Npb24oKSB8fCBwYXJlbnQuaXNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbigpKSkge1xuICAgICAgICAgICAgLy8gUmVwbGFjZSB0aGUgbWV0YWRhdGEgZnVuY3Rpb24gd2l0aCBgdm9pZCAwYCB3aGljaCBpcyB0aGUgZXF1aXZhbGVudCByZXR1cm4gdmFsdWVcbiAgICAgICAgICAgIC8vIG9mIHRoZSBtZXRhZGF0YSBmdW5jdGlvbi5cbiAgICAgICAgICAgIHBhdGgucmVwbGFjZVdpdGgocGF0aC5zY29wZS5idWlsZFVuZGVmaW5lZE5vZGUoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0sXG4gIH07XG59XG5cbi8qKiBEZXRlcm1pbmVzIGlmIGEgZnVuY3Rpb24gY2FsbCBpcyBhIGNhbGwgdG8gYHNldENsYXNzTWV0YWRhdGFgLiAqL1xuZnVuY3Rpb24gaXNSZW1vdmVDbGFzc01ldGFkYXRhQ2FsbChuYW1lOiBzdHJpbmcsIGFyZ3M6IHR5cGVzLkNhbGxFeHByZXNzaW9uWydhcmd1bWVudHMnXSk6IGJvb2xlYW4ge1xuICAvLyBgc2V0Q2xhc3NNZXRhZGF0YWAgY2FsbHMgaGF2ZSB0byBtZWV0IHRoZSBmb2xsb3dpbmcgY3JpdGVyaWE6XG4gIC8vICogRmlyc3QgbXVzdCBiZSBhbiBpZGVudGlmaWVyXG4gIC8vICogU2Vjb25kIG11c3QgYmUgYW4gYXJyYXkgbGl0ZXJhbFxuICByZXR1cm4gKFxuICAgIG5hbWUgPT09IFNFVF9DTEFTU19NRVRBREFUQV9OQU1FICYmXG4gICAgYXJncy5sZW5ndGggPT09IDQgJiZcbiAgICB0eXBlcy5pc0lkZW50aWZpZXIoYXJnc1swXSkgJiZcbiAgICB0eXBlcy5pc0FycmF5RXhwcmVzc2lvbihhcmdzWzFdKVxuICApO1xufVxuXG4vKiogRGV0ZXJtaW5lcyBpZiBhIGZ1bmN0aW9uIGNhbGwgaXMgYSBjYWxsIHRvIGBzZXRDbGFzc01ldGFkYXRhQXN5bmNgLiAqL1xuZnVuY3Rpb24gaXNSZW1vdmVDbGFzc21ldGFkYXRhQXN5bmNDYWxsKFxuICBuYW1lOiBzdHJpbmcsXG4gIGFyZ3M6IHR5cGVzLkNhbGxFeHByZXNzaW9uWydhcmd1bWVudHMnXSxcbik6IGJvb2xlYW4ge1xuICAvLyBgc2V0Q2xhc3NNZXRhZGF0YUFzeW5jYCBjYWxscyBoYXZlIHRvIG1lZXQgdGhlIGZvbGxvd2luZyBjcml0ZXJpYTpcbiAgLy8gKiBGaXJzdCBhcmd1bWVudCBtdXN0IGJlIGFuIGlkZW50aWZpZXIuXG4gIC8vICogU2Vjb25kIGFyZ3VtZW50IG11c3QgYmUgYW4gaW5saW5lIGZ1bmN0aW9uLlxuICAvLyAqIFRoaXJkIGFyZ3VtZW50IG11c3QgYmUgYW4gaW5saW5lIGZ1bmN0aW9uLlxuICByZXR1cm4gKFxuICAgIG5hbWUgPT09IFNFVF9DTEFTU19NRVRBREFUQV9BU1lOQ19OQU1FICYmXG4gICAgYXJncy5sZW5ndGggPT09IDMgJiZcbiAgICB0eXBlcy5pc0lkZW50aWZpZXIoYXJnc1swXSkgJiZcbiAgICBpc0lubGluZUZ1bmN0aW9uKGFyZ3NbMV0pICYmXG4gICAgaXNJbmxpbmVGdW5jdGlvbihhcmdzWzJdKVxuICApO1xufVxuXG4vKiogRGV0ZXJtaW5lcyBpZiBhIG5vZGUgaXMgYW4gaW5saW5lIGZ1bmN0aW9uIGV4cHJlc3Npb24uICovXG5mdW5jdGlvbiBpc0lubGluZUZ1bmN0aW9uKG5vZGU6IHR5cGVzLk5vZGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHR5cGVzLmlzRnVuY3Rpb25FeHByZXNzaW9uKG5vZGUpIHx8IHR5cGVzLmlzQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24obm9kZSk7XG59XG4iXX0=
|
|
@@ -89,4 +89,3 @@ function default_1() {
|
|
|
89
89
|
};
|
|
90
90
|
}
|
|
91
91
|
exports.default = default_1;
|
|
92
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZS10b3BsZXZlbC1mdW5jdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9iYWJlbC9wbHVnaW5zL3B1cmUtdG9wbGV2ZWwtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCxzQ0FBeUQ7QUFDekQsNkZBQTREO0FBQzVELDZDQUErQjtBQUUvQjs7R0FFRztBQUNILE1BQU0sWUFBWSxHQUFHLElBQUksR0FBRyxDQUFTLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUzRjs7Ozs7R0FLRztBQUNILFNBQVMsaUJBQWlCLENBQUMsSUFBWTtJQUNyQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE1BQU0sWUFBWSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsQyxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtRQUM1RSxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ3hDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0g7SUFDRSxPQUFPO1FBQ0wsT0FBTyxFQUFFO1lBQ1AsY0FBYyxDQUFDLElBQW9DO2dCQUNqRCwrREFBK0Q7Z0JBQy9ELElBQUksSUFBSSxDQUFDLGlCQUFpQixFQUFFLEVBQUU7b0JBQzVCLE9BQU87aUJBQ1I7Z0JBRUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLElBQ0UsQ0FBQyxZQUFLLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLElBQUksWUFBSyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUMvRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUNoQztvQkFDQSxPQUFPO2lCQUNSO2dCQUNELHlFQUF5RTtnQkFDekUseURBQXlEO2dCQUN6RCxJQUFJLFlBQUssQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLElBQUksaUJBQWlCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNoRSxPQUFPO2lCQUNSO2dCQUVELElBQUEsaUNBQWMsRUFBQyxJQUFJLENBQUMsQ0FBQztZQUN2QixDQUFDO1lBQ0QsYUFBYSxDQUFDLElBQW1DO2dCQUMvQywrREFBK0Q7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtvQkFDN0IsSUFBQSxpQ0FBYyxFQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN0QjtZQUNILENBQUM7U0FDRjtLQUNGLENBQUM7QUFDSixDQUFDO0FBaENELDRCQWdDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBOb2RlUGF0aCwgUGx1Z2luT2JqLCB0eXBlcyB9IGZyb20gJ0BiYWJlbC9jb3JlJztcbmltcG9ydCBhbm5vdGF0ZUFzUHVyZSBmcm9tICdAYmFiZWwvaGVscGVyLWFubm90YXRlLWFzLXB1cmUnO1xuaW1wb3J0ICogYXMgdHNsaWIgZnJvbSAndHNsaWInO1xuXG4vKipcbiAqIEEgY2FjaGVkIHNldCBvZiBUeXBlU2NyaXB0IGhlbHBlciBmdW5jdGlvbiBuYW1lcyB1c2VkIGJ5IHRoZSBoZWxwZXIgbmFtZSBtYXRjaGVyIHV0aWxpdHkgZnVuY3Rpb24uXG4gKi9cbmNvbnN0IHRzbGliSGVscGVycyA9IG5ldyBTZXQ8c3RyaW5nPihPYmplY3Qua2V5cyh0c2xpYikuZmlsdGVyKChoKSA9PiBoLnN0YXJ0c1dpdGgoJ19fJykpKTtcblxuLyoqXG4gKiBEZXRlcm1pbmF0ZXMgd2hldGhlciBhbiBpZGVudGlmaWVyIG5hbWUgbWF0Y2hlcyBvbmUgb2YgdGhlIFR5cGVTY3JpcHQgaGVscGVyIGZ1bmN0aW9uIG5hbWVzLlxuICpcbiAqIEBwYXJhbSBuYW1lIFRoZSBpZGVudGlmaWVyIG5hbWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlLCBpZiB0aGUgbmFtZSBtYXRjaGVzIGEgVHlwZVNjcmlwdCBoZWxwZXIgbmFtZTsgb3RoZXJ3aXNlLCBmYWxzZS5cbiAqL1xuZnVuY3Rpb24gaXNUc2xpYkhlbHBlck5hbWUobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IG5hbWVQYXJ0cyA9IG5hbWUuc3BsaXQoJyQnKTtcbiAgY29uc3Qgb3JpZ2luYWxOYW1lID0gbmFtZVBhcnRzWzBdO1xuXG4gIGlmIChuYW1lUGFydHMubGVuZ3RoID4gMiB8fCAobmFtZVBhcnRzLmxlbmd0aCA9PT0gMiAmJiBpc05hTigrbmFtZVBhcnRzWzFdKSkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHNsaWJIZWxwZXJzLmhhcyhvcmlnaW5hbE5hbWUpO1xufVxuXG4vKipcbiAqIEEgYmFiZWwgcGx1Z2luIGZhY3RvcnkgZnVuY3Rpb24gZm9yIGFkZGluZyB0aGUgUFVSRSBhbm5vdGF0aW9uIHRvIHRvcC1sZXZlbCBuZXcgYW5kIGNhbGwgZXhwcmVzc2lvbnMuXG4gKlxuICogQHJldHVybnMgQSBiYWJlbCBwbHVnaW4gb2JqZWN0IGluc3RhbmNlLlxuICovXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoKTogUGx1Z2luT2JqIHtcbiAgcmV0dXJuIHtcbiAgICB2aXNpdG9yOiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihwYXRoOiBOb2RlUGF0aDx0eXBlcy5DYWxsRXhwcmVzc2lvbj4pIHtcbiAgICAgICAgLy8gSWYgdGhlIGV4cHJlc3Npb24gaGFzIGEgZnVuY3Rpb24gcGFyZW50LCBpdCBpcyBub3QgdG9wLWxldmVsXG4gICAgICAgIGlmIChwYXRoLmdldEZ1bmN0aW9uUGFyZW50KCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYWxsZWUgPSBwYXRoLm5vZGUuY2FsbGVlO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKHR5cGVzLmlzRnVuY3Rpb25FeHByZXNzaW9uKGNhbGxlZSkgfHwgdHlwZXMuaXNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihjYWxsZWUpKSAmJlxuICAgICAgICAgIHBhdGgubm9kZS5hcmd1bWVudHMubGVuZ3RoICE9PSAwXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBEbyBub3QgYW5ub3RhdGUgVHlwZVNjcmlwdCBoZWxwZXJzIGVtaXR0ZWQgYnkgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXIuXG4gICAgICAgIC8vIFR5cGVTY3JpcHQgaGVscGVycyBhcmUgaW50ZW5kZWQgdG8gY2F1c2Ugc2lkZSBlZmZlY3RzLlxuICAgICAgICBpZiAodHlwZXMuaXNJZGVudGlmaWVyKGNhbGxlZSkgJiYgaXNUc2xpYkhlbHBlck5hbWUoY2FsbGVlLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgYW5ub3RhdGVBc1B1cmUocGF0aCk7XG4gICAgICB9LFxuICAgICAgTmV3RXhwcmVzc2lvbihwYXRoOiBOb2RlUGF0aDx0eXBlcy5OZXdFeHByZXNzaW9uPikge1xuICAgICAgICAvLyBJZiB0aGUgZXhwcmVzc2lvbiBoYXMgYSBmdW5jdGlvbiBwYXJlbnQsIGl0IGlzIG5vdCB0b3AtbGV2ZWxcbiAgICAgICAgaWYgKCFwYXRoLmdldEZ1bmN0aW9uUGFyZW50KCkpIHtcbiAgICAgICAgICBhbm5vdGF0ZUFzUHVyZShwYXRoKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuIl19
|
|
@@ -194,4 +194,3 @@ async function requiresLinking(path, source) {
|
|
|
194
194
|
return needsLinking(path, source);
|
|
195
195
|
}
|
|
196
196
|
exports.requiresLinking = requiresLinking;
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9iYWJlbC9wcmVzZXRzL2FwcGxpY2F0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQVNILDhEQUFpQztBQUNqQyxzREFBeUI7QUFDekIsMERBQTZCO0FBQzdCLHNEQUF3RDtBQUV4RDs7R0FFRztBQUNILElBQUksWUFBb0YsQ0FBQztBQUV6Rjs7Ozs7O0dBTUc7QUFDSCxJQUFJLGdDQUFxRCxDQUFDO0FBaUQxRCxTQUFTLHFCQUFxQixDQUFDLFFBQXdDO0lBQ3JFLE1BQU0sV0FBVyxHQUFnQixJQUFJLENBQUM7UUFDM0IsUUFBUSxHQUE0QixFQUFFLENBQUM7UUFDaEQsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixHQUFHLENBQUMsSUFBZ0MsRUFBRSxPQUFlO1lBQ25ELElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtnQkFDckIsT0FBTzthQUNSO1lBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksS0FBSyxPQUFPLENBQUM7WUFDcEMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxLQUFLLENBQUMsT0FBZTtZQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQWU7WUFDbEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELEtBQUssQ0FBQyxLQUFrQjtZQUN0QixL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QUMsT0FBTztZQUNsRDtnQkFDRSxZQUFZLEVBQUUsSUFBSTtnQkFDbEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLE9BQU87Z0JBQ3ZELGVBQWUsRUFBRSxtQkFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLDZCQUE2QixDQUFDLENBQUM7YUFDOUU7U0FDRixDQUFDLENBQUM7S0FDSjtJQUVELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7QUFDOUIsQ0FBQztBQTlIRCw0QkE4SEM7QUFFTSxLQUFLLFVBQVUsZUFBZSxDQUFDLElBQVksRUFBRSxNQUFjO0lBQ2hFLGlFQUFpRTtJQUNqRSxnREFBZ0Q7SUFDaEQsSUFBSSw2Q0FBNkMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7UUFDNUQsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUVELElBQUksQ0FBQyxZQUFZLEVBQUU7UUFDakIsMEZBQTBGO1FBQzFGLHlGQUF5RjtRQUN6RixzQ0FBc0M7UUFDdEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFBLHdCQUFhLEVBQ3RDLDhCQUE4QixDQUMvQixDQUFDO1FBQ0YsWUFBWSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUM7S0FDMUM7SUFFRCxPQUFPLFlBQVksQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQWxCRCwwQ0FrQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUgeyDJtVBhcnNlZFRyYW5zbGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvbG9jYWxpemUnO1xuaW1wb3J0IHR5cGUge1xuICBEaWFnbm9zdGljSGFuZGxpbmdTdHJhdGVneSxcbiAgRGlhZ25vc3RpY3MsXG4gIG1ha2VFczIwMTVUcmFuc2xhdGVQbHVnaW4sXG4gIG1ha2VMb2NhbGVQbHVnaW4sXG59IGZyb20gJ0Bhbmd1bGFyL2xvY2FsaXplL3Rvb2xzJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQnO1xuaW1wb3J0IGZzIGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHBhdGggZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGxvYWRFc21Nb2R1bGUgfSBmcm9tICcuLi8uLi8uLi91dGlscy9sb2FkLWVzbSc7XG5cbi8qKlxuICogQ2FjaGVkIGluc3RhbmNlIG9mIHRoZSBjb21waWxlci1jbGkgbGlua2VyJ3MgbmVlZHNMaW5raW5nIGZ1bmN0aW9uLlxuICovXG5sZXQgbmVlZHNMaW5raW5nOiB0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9jb21waWxlci1jbGkvbGlua2VyJykubmVlZHNMaW5raW5nIHwgdW5kZWZpbmVkO1xuXG4vKipcbiAqIExpc3Qgb2YgYnJvd3NlcnMgd2hpY2ggYXJlIGFmZmVjdGVkIGJ5IGEgV2ViS2l0IGJ1ZyB3aGVyZSBjbGFzcyBmaWVsZFxuICogaW5pdGlhbGl6ZXJzIG1pZ2h0IGhhdmUgaW5jb3JyZWN0IHZhcmlhYmxlIHNjb3Blcy5cbiAqXG4gKiBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXItY2xpL2lzc3Vlcy8yNDM1NSNpc3N1ZWNvbW1lbnQtMTMzMzQ3NzAzM1xuICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vV2ViS2l0L1dlYktpdC9jb21taXQvZTg3ODhhMzRiM2Q1ZjViNGVkZDdmZjY0NTBiODA5MzZiZmYzOTZmMlxuICovXG5sZXQgc2FmYXJpQ2xhc3NGaWVsZFNjb3BlQnVnQnJvd3NlcnM6IFJlYWRvbmx5U2V0PHN0cmluZz47XG5cbmV4cG9ydCB0eXBlIERpYWdub3N0aWNSZXBvcnRlciA9ICh0eXBlOiAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm8nLCBtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgZmFjdG9yeSBmdW5jdGlvbnMgZm9yIHRoZSBgQGFuZ3VsYXIvbG9jYWxpemVgIHRyYW5zbGF0aW9uIEJhYmVsIHBsdWdpbnMuXG4gKiBUaGlzIG11c3QgYmUgcHJvdmlkZWQgZm9yIHRoZSBFU00gaW1wb3J0cyBzaW5jZSBkeW5hbWljIGltcG9ydHMgYXJlIHJlcXVpcmVkIHRvIGJlIGFzeW5jaHJvbm91cyBhbmRcbiAqIEJhYmVsIHByZXNldHMgY3VycmVudGx5IGNhbiBvbmx5IGJlIHN5bmNocm9ub3VzLlxuICpcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJMThuUGx1Z2luQ3JlYXRvcnMge1xuICBtYWtlRXMyMDE1VHJhbnNsYXRlUGx1Z2luOiB0eXBlb2YgbWFrZUVzMjAxNVRyYW5zbGF0ZVBsdWdpbjtcbiAgbWFrZUxvY2FsZVBsdWdpbjogdHlwZW9mIG1ha2VMb2NhbGVQbHVnaW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGljYXRpb25QcmVzZXRPcHRpb25zIHtcbiAgaTE4bj86IHtcbiAgICBsb2NhbGU6IHN0cmluZztcbiAgICBtaXNzaW5nVHJhbnNsYXRpb25CZWhhdmlvcj86ICdlcnJvcicgfCAnd2FybmluZycgfCAnaWdub3JlJztcbiAgICB0cmFuc2xhdGlvbj86IFJlY29yZDxzdHJpbmcsIMm1UGFyc2VkVHJhbnNsYXRpb24+O1xuICAgIHRyYW5zbGF0aW9uRmlsZXM/OiBzdHJpbmdbXTtcbiAgICBwbHVnaW5DcmVhdG9yczogSTE4blBsdWdpbkNyZWF0b3JzO1xuICB9O1xuXG4gIGFuZ3VsYXJMaW5rZXI/OiB7XG4gICAgc2hvdWxkTGluazogYm9vbGVhbjtcbiAgICBqaXRNb2RlOiBib29sZWFuO1xuICAgIGxpbmtlclBsdWdpbkNyZWF0b3I6IHR5cGVvZiBpbXBvcnQoJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9saW5rZXIvYmFiZWwnKS5jcmVhdGVFczIwMTVMaW5rZXJQbHVnaW47XG4gIH07XG5cbiAgZm9yY2VBc3luY1RyYW5zZm9ybWF0aW9uPzogYm9vbGVhbjtcbiAgaW5zdHJ1bWVudENvZGU/OiB7XG4gICAgaW5jbHVkZWRCYXNlUGF0aDogc3RyaW5nO1xuICAgIGlucHV0U291cmNlTWFwOiB1bmtub3duO1xuICB9O1xuICBvcHRpbWl6ZT86IHtcbiAgICBwdXJlVG9wTGV2ZWw6IGJvb2xlYW47XG4gICAgd3JhcERlY29yYXRvcnM6IGJvb2xlYW47XG4gIH07XG5cbiAgc3VwcG9ydGVkQnJvd3NlcnM/OiBzdHJpbmdbXTtcbiAgZGlhZ25vc3RpY1JlcG9ydGVyPzogRGlhZ25vc3RpY1JlcG9ydGVyO1xufVxuXG4vLyBFeHRyYWN0IExvZ2dlciB0eXBlIGZyb20gdGhlIGxpbmtlciBmdW5jdGlvbiB0byBhdm9pZCBkZWVwIGltcG9ydGluZyB0byBhY2Nlc3MgdGhlIHR5cGVcbnR5cGUgTmd0c2NMb2dnZXIgPSBQYXJhbWV0ZXJzPFxuICB0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9jb21waWxlci1jbGkvbGlua2VyL2JhYmVsJykuY3JlYXRlRXMyMDE1TGlua2VyUGx1Z2luXG4+WzBdWydsb2dnZXInXTtcblxuZnVuY3Rpb24gY3JlYXRlSTE4bkRpYWdub3N0aWNzKHJlcG9ydGVyOiBEaWFnbm9zdGljUmVwb3J0ZXIgfCB1bmRlZmluZWQpOiBEaWFnbm9zdGljcyB7XG4gIGNvbnN0IGRpYWdub3N0aWNzOiBEaWFnbm9zdGljcyA9IG5ldyAoY2xhc3Mge1xuICAgIHJlYWRvbmx5IG1lc3NhZ2VzOiBEaWFnbm9zdGljc1snbWVzc2FnZXMnXSA9IFtdO1xuICAgIGhhc0Vycm9ycyA9IGZhbHNlO1xuXG4gICAgYWRkKHR5cGU6IERpYWdub3N0aWNIYW5kbGluZ1N0cmF0ZWd5LCBtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmICh0eXBlID09PSAnaWdub3JlJykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMubWVzc2FnZXMucHVzaCh7IHR5cGUsIG1lc3NhZ2UgfSk7XG4gICAgICB0aGlzLmhhc0Vycm9ycyB8fD0gdHlwZSA9PT0gJ2Vycm9yJztcbiAgICAgIHJlcG9ydGVyPy4odHlwZSwgbWVzc2FnZSk7XG4gICAgfVxuXG4gICAgZXJyb3IobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICB0aGlzLmFkZCgnZXJyb3InLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICB3YXJuKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgICAgdGhpcy5hZGQoJ3dhcm5pbmcnLCBtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBtZXJnZShvdGhlcjogRGlhZ25vc3RpY3MpOiB2b2lkIHtcbiAgICAgIGZvciAoY29uc3QgZGlhZ25vc3RpYyBvZiBvdGhlci5tZXNzYWdlcykge1xuICAgICAgICB0aGlzLmFkZChkaWFnbm9zdGljLnR5cGUsIGRpYWdub3N0aWMubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9ybWF0RGlhZ25vc3RpY3MoKTogbmV2ZXIge1xuICAgICAgYXNzZXJ0LmZhaWwoXG4gICAgICAgICdAYW5ndWxhci9sb2NhbGl6ZSBEaWFnbm9zdGljcyBmb3JtYXREaWFnbm9zdGljcyBzaG91bGQgbm90IGJlIGNhbGxlZCBmcm9tIHdpdGhpbiBiYWJlbC4nLFxuICAgICAgKTtcbiAgICB9XG4gIH0pKCk7XG5cbiAgcmV0dXJuIGRpYWdub3N0aWNzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVJMThuUGx1Z2lucyhcbiAgbG9jYWxlOiBzdHJpbmcsXG4gIHRyYW5zbGF0aW9uOiBSZWNvcmQ8c3RyaW5nLCDJtVBhcnNlZFRyYW5zbGF0aW9uPiB8IHVuZGVmaW5lZCxcbiAgbWlzc2luZ1RyYW5zbGF0aW9uQmVoYXZpb3I6ICdlcnJvcicgfCAnd2FybmluZycgfCAnaWdub3JlJyxcbiAgZGlhZ25vc3RpY1JlcG9ydGVyOiBEaWFnbm9zdGljUmVwb3J0ZXIgfCB1bmRlZmluZWQsXG4gIHBsdWdpbkNyZWF0b3JzOiBJMThuUGx1Z2luQ3JlYXRvcnMsXG4pIHtcbiAgY29uc3QgZGlhZ25vc3RpY3MgPSBjcmVhdGVJMThuRGlhZ25vc3RpY3MoZGlhZ25vc3RpY1JlcG9ydGVyKTtcbiAgY29uc3QgcGx1Z2lucyA9IFtdO1xuXG4gIGNvbnN0IHsgbWFrZUVzMjAxNVRyYW5zbGF0ZVBsdWdpbiwgbWFrZUxvY2FsZVBsdWdpbiB9ID0gcGx1Z2luQ3JlYXRvcnM7XG5cbiAgaWYgKHRyYW5zbGF0aW9uKSB7XG4gICAgcGx1Z2lucy5wdXNoKFxuICAgICAgbWFrZUVzMjAxNVRyYW5zbGF0ZVBsdWdpbihkaWFnbm9zdGljcywgdHJhbnNsYXRpb24sIHtcbiAgICAgICAgbWlzc2luZ1RyYW5zbGF0aW9uOiBtaXNzaW5nVHJhbnNsYXRpb25CZWhhdmlvcixcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cblxuICBwbHVnaW5zLnB1c2gobWFrZUxvY2FsZVBsdWdpbihsb2NhbGUpKTtcblxuICByZXR1cm4gcGx1Z2lucztcbn1cblxuZnVuY3Rpb24gY3JlYXRlTmd0c2NMb2dnZXIocmVwb3J0ZXI6IERpYWdub3N0aWNSZXBvcnRlciB8IHVuZGVmaW5lZCk6IE5ndHNjTG9nZ2VyIHtcbiAgcmV0dXJuIHtcbiAgICBsZXZlbDogMSwgLy8gSW5mbyBsZXZlbFxuICAgIGRlYnVnKC4uLmFyZ3M6IHN0cmluZ1tdKSB7fSxcbiAgICBpbmZvKC4uLmFyZ3M6IHN0cmluZ1tdKSB7XG4gICAgICByZXBvcnRlcj8uKCdpbmZvJywgYXJncy5qb2luKCkpO1xuICAgIH0sXG4gICAgd2FybiguLi5hcmdzOiBzdHJpbmdbXSkge1xuICAgICAgcmVwb3J0ZXI/Lignd2FybmluZycsIGFyZ3Muam9pbigpKTtcbiAgICB9LFxuICAgIGVycm9yKC4uLmFyZ3M6IHN0cmluZ1tdKSB7XG4gICAgICByZXBvcnRlcj8uKCdlcnJvcicsIGFyZ3Muam9pbigpKTtcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoYXBpOiB1bmtub3duLCBvcHRpb25zOiBBcHBsaWNhdGlvblByZXNldE9wdGlvbnMpIHtcbiAgY29uc3QgcHJlc2V0cyA9IFtdO1xuICBjb25zdCBwbHVnaW5zID0gW107XG4gIGxldCBuZWVkUnVudGltZVRyYW5zZm9ybSA9IGZhbHNlO1xuXG4gIGlmIChvcHRpb25zLmFuZ3VsYXJMaW5rZXI/LnNob3VsZExpbmspIHtcbiAgICBwbHVnaW5zLnB1c2goXG4gICAgICBvcHRpb25zLmFuZ3VsYXJMaW5rZXIubGlua2VyUGx1Z2luQ3JlYXRvcih7XG4gICAgICAgIGxpbmtlckppdE1vZGU6IG9wdGlvbnMuYW5ndWxhckxpbmtlci5qaXRNb2RlLFxuICAgICAgICAvLyBUaGlzIGlzIGEgd29ya2Fyb3VuZCB1bnRpbCBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyL2lzc3Vlcy80Mjc2OSBpcyBmaXhlZC5cbiAgICAgICAgc291cmNlTWFwcGluZzogZmFsc2UsXG4gICAgICAgIGxvZ2dlcjogY3JlYXRlTmd0c2NMb2dnZXIob3B0aW9ucy5kaWFnbm9zdGljUmVwb3J0ZXIpLFxuICAgICAgICBmaWxlU3lzdGVtOiB7XG4gICAgICAgICAgcmVzb2x2ZTogcGF0aC5yZXNvbHZlLFxuICAgICAgICAgIGV4aXN0czogZnMuZXhpc3RzU3luYyxcbiAgICAgICAgICBkaXJuYW1lOiBwYXRoLmRpcm5hbWUsXG4gICAgICAgICAgcmVsYXRpdmU6IHBhdGgucmVsYXRpdmUsXG4gICAgICAgICAgcmVhZEZpbGU6IGZzLnJlYWRGaWxlU3luYyxcbiAgICAgICAgICAvLyBOb2RlLkpTIHR5cGVzIGRvbid0IG92ZXJsYXAgdGhlIENvbXBpbGVyIHR5cGVzLlxuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgICAgIH0gYXMgYW55LFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIC8vIEFwcGxpY2F0aW9ucyBjb2RlIEVTIHZlcnNpb24gY2FuIGJlIGNvbnRyb2xsZWQgdXNpbmcgVHlwZVNjcmlwdCdzIGB0YXJnZXRgIG9wdGlvbi5cbiAgLy8gSG93ZXZlciwgdGhpcyBkb2Vzbid0IGVmZmVjdCBsaWJyYXJpZXMgYW5kIGhlbmNlIHdlIHVzZSBwcmVzZXQtZW52IHRvIGRvd25sZXZlbCBFUyBmZWF0dXJlc1xuICAvLyBiYXNlZCBvbiB0aGUgc3VwcG9ydGVkIGJyb3dzZXJzIGluIGJyb3dzZXJzbGlzdC5cbiAgaWYgKG9wdGlvbnMuc3VwcG9ydGVkQnJvd3NlcnMpIHtcbiAgICBjb25zdCBpbmNsdWRlUGx1Z2luczogc3RyaW5nW10gPSBbXTtcblxuICAgIGlmIChzYWZhcmlDbGFzc0ZpZWxkU2NvcGVCdWdCcm93c2VycyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBicm93c2Vyc2xpc3QgPSByZXF1aXJlKCdicm93c2Vyc2xpc3QnKTtcbiAgICAgIHNhZmFyaUNsYXNzRmllbGRTY29wZUJ1Z0Jyb3dzZXJzID0gbmV3IFNldChcbiAgICAgICAgYnJvd3NlcnNsaXN0KFtcbiAgICAgICAgICAvLyBTYWZhcmkgPDE1IGlzIHRlY2huaWNhbGx5IG5vdCBzdXBwb3J0ZWQgdmlhIGh0dHBzOi8vYW5ndWxhci5pby9ndWlkZS9icm93c2VyLXN1cHBvcnQsXG4gICAgICAgICAgLy8gYnV0IHdlIGFwcGx5IHRoZSB3b3JrYXJvdW5kIGlmIGZvcmNpYmx5IHNlbGVjdGVkLlxuICAgICAgICAgICdTYWZhcmkgPD0xNScsXG4gICAgICAgICAgJ2lPUyA8PTE1JyxcbiAgICAgICAgXSksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIElmIGEgU2FmYXJpIGJyb3dzZXIgYWZmZWN0ZWQgYnkgdGhlIGNsYXNzIGZpZWxkIHNjb3BlIGJ1ZyBpcyBzZWxlY3RlZCwgd2VcbiAgICAvLyBkb3dubGV2ZWwgY2xhc3MgcHJvcGVydGllcyBieSBlbnN1cmluZyB0aGUgY2xhc3MgcHJvcGVydGllcyBCYWJlbCBwbHVnaW5cbiAgICAvLyBpcyBhbHdheXMgaW5jbHVkZWQtIHJlZ2FyZGxlc3Mgb2YgdGhlIHByZXNldC1lbnYgdGFyZ2V0cy5cbiAgICBpZiAob3B0aW9ucy5zdXBwb3J0ZWRCcm93c2Vycy5zb21lKChiKSA9PiBzYWZhcmlDbGFzc0ZpZWxkU2NvcGVCdWdCcm93c2Vycy5oYXMoYikpKSB7XG4gICAgICBpbmNsdWRlUGx1Z2lucy5wdXNoKFxuICAgICAgICAnQGJhYmVsL3BsdWdpbi1wcm9wb3NhbC1jbGFzcy1wcm9wZXJ0aWVzJyxcbiAgICAgICAgJ0BiYWJlbC9wbHVnaW4tcHJvcG9zYWwtcHJpdmF0ZS1tZXRob2RzJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcHJlc2V0cy5wdXNoKFtcbiAgICAgIHJlcXVpcmUoJ0BiYWJlbC9wcmVzZXQtZW52JykuZGVmYXVsdCxcbiAgICAgIHtcbiAgICAgICAgYnVnZml4ZXM6IHRydWUsXG4gICAgICAgIG1vZHVsZXM6IGZhbHNlLFxuICAgICAgICB0YXJnZXRzOiBvcHRpb25zLnN1cHBvcnRlZEJyb3dzZXJzLFxuICAgICAgICBpbmNsdWRlOiBpbmNsdWRlUGx1Z2lucyxcbiAgICAgICAgZXhjbHVkZTogWyd0cmFuc2Zvcm0tdHlwZW9mLXN5bWJvbCddLFxuICAgICAgfSxcbiAgICBdKTtcbiAgICBuZWVkUnVudGltZVRyYW5zZm9ybSA9IHRydWU7XG4gIH1cblxuICBpZiAob3B0aW9ucy5pMThuKSB7XG4gICAgY29uc3QgeyBsb2NhbGUsIG1pc3NpbmdUcmFuc2xhdGlvbkJlaGF2aW9yLCBwbHVnaW5DcmVhdG9ycywgdHJhbnNsYXRpb24gfSA9IG9wdGlvbnMuaTE4bjtcbiAgICBjb25zdCBpMThuUGx1Z2lucyA9IGNyZWF0ZUkxOG5QbHVnaW5zKFxuICAgICAgbG9jYWxlLFxuICAgICAgdHJhbnNsYXRpb24sXG4gICAgICBtaXNzaW5nVHJhbnNsYXRpb25CZWhhdmlvciB8fCAnaWdub3JlJyxcbiAgICAgIG9wdGlvbnMuZGlhZ25vc3RpY1JlcG9ydGVyLFxuICAgICAgcGx1Z2luQ3JlYXRvcnMsXG4gICAgKTtcblxuICAgIHBsdWdpbnMucHVzaCguLi5pMThuUGx1Z2lucyk7XG4gIH1cblxuICBpZiAob3B0aW9ucy5mb3JjZUFzeW5jVHJhbnNmb3JtYXRpb24pIHtcbiAgICAvLyBBbHdheXMgdHJhbnNmb3JtIGFzeW5jL2F3YWl0IHRvIHN1cHBvcnQgWm9uZS5qc1xuICAgIHBsdWdpbnMucHVzaChcbiAgICAgIHJlcXVpcmUoJ0BiYWJlbC9wbHVnaW4tdHJhbnNmb3JtLWFzeW5jLXRvLWdlbmVyYXRvcicpLmRlZmF1bHQsXG4gICAgICByZXF1aXJlKCdAYmFiZWwvcGx1Z2luLXRyYW5zZm9ybS1hc3luYy1nZW5lcmF0b3ItZnVuY3Rpb25zJykuZGVmYXVsdCxcbiAgICApO1xuICAgIG5lZWRSdW50aW1lVHJhbnNmb3JtID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLm9wdGltaXplKSB7XG4gICAgaWYgKG9wdGlvbnMub3B0aW1pemUucHVyZVRvcExldmVsKSB7XG4gICAgICBwbHVnaW5zLnB1c2gocmVxdWlyZSgnLi4vcGx1Z2lucy9wdXJlLXRvcGxldmVsLWZ1bmN0aW9ucycpLmRlZmF1bHQpO1xuICAgIH1cblxuICAgIHBsdWdpbnMucHVzaChcbiAgICAgIHJlcXVpcmUoJy4uL3BsdWdpbnMvZWxpZGUtYW5ndWxhci1tZXRhZGF0YScpLmRlZmF1bHQsXG4gICAgICBbcmVxdWlyZSgnLi4vcGx1Z2lucy9hZGp1c3QtdHlwZXNjcmlwdC1lbnVtcycpLmRlZmF1bHQsIHsgbG9vc2U6IHRydWUgfV0sXG4gICAgICBbXG4gICAgICAgIHJlcXVpcmUoJy4uL3BsdWdpbnMvYWRqdXN0LXN0YXRpYy1jbGFzcy1tZW1iZXJzJykuZGVmYXVsdCxcbiAgICAgICAgeyB3cmFwRGVjb3JhdG9yczogb3B0aW9ucy5vcHRpbWl6ZS53cmFwRGVjb3JhdG9ycyB9LFxuICAgICAgXSxcbiAgICApO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMuaW5zdHJ1bWVudENvZGUpIHtcbiAgICBwbHVnaW5zLnB1c2goW1xuICAgICAgcmVxdWlyZSgnYmFiZWwtcGx1Z2luLWlzdGFuYnVsJykuZGVmYXVsdCxcbiAgICAgIHtcbiAgICAgICAgaW5wdXRTb3VyY2VNYXA6IG9wdGlvbnMuaW5zdHJ1bWVudENvZGUuaW5wdXRTb3VyY2VNYXAgPz8gZmFsc2UsXG4gICAgICAgIGN3ZDogb3B0aW9ucy5pbnN0cnVtZW50Q29kZS5pbmNsdWRlZEJhc2VQYXRoLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxuXG4gIGlmIChuZWVkUnVudGltZVRyYW5zZm9ybSkge1xuICAgIC8vIEJhYmVsIGVxdWl2YWxlbnQgdG8gVHlwZVNjcmlwdCdzIGBpbXBvcnRIZWxwZXJzYCBvcHRpb25cbiAgICBwbHVnaW5zLnB1c2goW1xuICAgICAgcmVxdWlyZSgnQGJhYmVsL3BsdWdpbi10cmFuc2Zvcm0tcnVudGltZScpLmRlZmF1bHQsXG4gICAgICB7XG4gICAgICAgIHVzZUVTTW9kdWxlczogdHJ1ZSxcbiAgICAgICAgdmVyc2lvbjogcmVxdWlyZSgnQGJhYmVsL3J1bnRpbWUvcGFja2FnZS5qc29uJykudmVyc2lvbixcbiAgICAgICAgYWJzb2x1dGVSdW50aW1lOiBwYXRoLmRpcm5hbWUocmVxdWlyZS5yZXNvbHZlKCdAYmFiZWwvcnVudGltZS9wYWNrYWdlLmpzb24nKSksXG4gICAgICB9LFxuICAgIF0pO1xuICB9XG5cbiAgcmV0dXJuIHsgcHJlc2V0cywgcGx1Z2lucyB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVxdWlyZXNMaW5raW5nKHBhdGg6IHN0cmluZywgc291cmNlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgLy8gQGFuZ3VsYXIvY29yZSBhbmQgQGFuZ3VsYXIvY29tcGlsZXIgd2lsbCBjYXVzZSBmYWxzZSBwb3NpdGl2ZXNcbiAgLy8gQWxzbywgVHlwZVNjcmlwdCBmaWxlcyBkbyBub3QgcmVxdWlyZSBsaW5raW5nXG4gIGlmICgvW1xcXFwvXUBhbmd1bGFyW1xcXFwvXSg/OmNvbXBpbGVyfGNvcmUpfFxcLnRzeD8kLy50ZXN0KHBhdGgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFuZWVkc0xpbmtpbmcpIHtcbiAgICAvLyBMb2FkIEVTTSBgQGFuZ3VsYXIvY29tcGlsZXItY2xpL2xpbmtlcmAgdXNpbmcgdGhlIFR5cGVTY3JpcHQgZHluYW1pYyBpbXBvcnQgd29ya2Fyb3VuZC5cbiAgICAvLyBPbmNlIFR5cGVTY3JpcHQgcHJvdmlkZXMgc3VwcG9ydCBmb3Iga2VlcGluZyB0aGUgZHluYW1pYyBpbXBvcnQgdGhpcyB3b3JrYXJvdW5kIGNhbiBiZVxuICAgIC8vIGNoYW5nZWQgdG8gYSBkaXJlY3QgZHluYW1pYyBpbXBvcnQuXG4gICAgY29uc3QgbGlua2VyTW9kdWxlID0gYXdhaXQgbG9hZEVzbU1vZHVsZTx0eXBlb2YgaW1wb3J0KCdAYW5ndWxhci9jb21waWxlci1jbGkvbGlua2VyJyk+KFxuICAgICAgJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9saW5rZXInLFxuICAgICk7XG4gICAgbmVlZHNMaW5raW5nID0gbGlua2VyTW9kdWxlLm5lZWRzTGlua2luZztcbiAgfVxuXG4gIHJldHVybiBuZWVkc0xpbmtpbmcocGF0aCwgc291cmNlKTtcbn1cbiJdfQ==
|
|
@@ -167,4 +167,3 @@ exports.default = (0, babel_loader_1.custom)(() => {
|
|
|
167
167
|
},
|
|
168
168
|
};
|
|
169
169
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VicGFjay1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9hbmd1bGFyX2RldmtpdC9idWlsZF9hbmd1bGFyL3NyYy90b29scy9iYWJlbC93ZWJwYWNrLWxvYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOztBQUVILCtDQUFzQztBQUN0QyxtREFBcUQ7QUFDckQsaUVBQXNEO0FBQ3RELHVEQUkrQjtBQVkvQjs7R0FFRztBQUNILElBQUksbUJBRVMsQ0FBQztBQUVkOztHQUVHO0FBQ0gsSUFBSSxrQkFBa0QsQ0FBQztBQUV2RCxrREFBa0Q7QUFDbEQsa0JBQWUsSUFBQSxxQkFBTSxFQUEyQixHQUFHLEVBQUU7SUFDbkQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztRQUNoQyxPQUFPLEVBQUUsS0FBSztRQUNkLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE9BQU8sRUFBRSxLQUFLO1FBQ2QsZ0JBQWdCLEVBQUUsS0FBSztRQUN2QixVQUFVLEVBQUUsYUFBYTtRQUN6QixjQUFjLEVBQUUsS0FBSztLQUN0QixDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO1lBQzFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxVQUFVLEVBQUUsR0FDN0UsT0FBb0MsQ0FBQztZQUV2Qyx5Q0FBeUM7WUFDekMsSUFBSSxhQUFhLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBRXZGLE1BQU0sYUFBYSxHQUE2QjtnQkFDOUMsd0JBQXdCLEVBQUUsS0FBSztnQkFD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T0FBTzt3QkFDeEM7NEJBQ0UsR0FBRyxhQUFhOzRCQUNoQixrQkFBa0IsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtnQ0FDcEMsUUFBUSxJQUFJLEVBQUU7b0NBQ1osS0FBSyxPQUFPO3dDQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7d0NBQ3hCLE1BQU07b0NBQ1IsS0FBSyxNQUFNLENBQUM7b0NBQ1osOERBQThEO29DQUM5RCxLQUFLLFNBQVM7d0NBQ1osSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQzt3Q0FDMUIsTUFBTTtpQ0FDVDs0QkFDSCxDQUFDO3lCQUMwQjtxQkFDOUI7aUJBQ0Y7YUFDRixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgeyBjdXN0b20gfSBmcm9tICdiYWJlbC1sb2FkZXInO1xuaW1wb3J0IHsgbG9hZEVzbU1vZHVsZSB9IGZyb20gJy4uLy4uL3V0aWxzL2xvYWQtZXNtJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICcuLi8uLi91dGlscy9wYWNrYWdlLXZlcnNpb24nO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25QcmVzZXRPcHRpb25zLFxuICBJMThuUGx1Z2luQ3JlYXRvcnMsXG4gIHJlcXVpcmVzTGlua2luZyxcbn0gZnJvbSAnLi9wcmVzZXRzL2FwcGxpY2F0aW9uJztcblxuaW50ZXJmYWNlIEFuZ3VsYXJDdXN0b21PcHRpb25zIGV4dGVuZHMgT21pdDxBcHBsaWNhdGlvblByZXNldE9wdGlvbnMsICdpbnN0cnVtZW50Q29kZSc+IHtcbiAgaW5zdHJ1bWVudENvZGU/OiB7XG4gICAgLyoqIG5vZGVfbW9kdWxlcyBhbmQgdGVzdCBmaWxlcyBhcmUgYWx3YXlzIGV4Y2x1ZGVkLiAqL1xuICAgIGV4Y2x1ZGVkUGF0aHM6IFNldDxzdHJpbmc+O1xuICAgIGluY2x1ZGVkQmFzZVBhdGg6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgQW5ndWxhckJhYmVsTG9hZGVyT3B0aW9ucyA9IEFuZ3VsYXJDdXN0b21PcHRpb25zICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG5cbi8qKlxuICogQ2FjaGVkIGluc3RhbmNlIG9mIHRoZSBjb21waWxlci1jbGkgbGlua2VyJ3MgQmFiZWwgcGx1Z2luIGZhY3RvcnkgZnVuY3Rpb24uXG4gKi9cbmxldCBsaW5rZXJQbHVnaW5DcmVhdG9yOlxuICB8IHR5cGVvZiBpbXBvcnQoJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9saW5rZXIvYmFiZWwnKS5jcmVhdGVFczIwMTVMaW5rZXJQbHVnaW5cbiAgfCB1bmRlZmluZWQ7XG5cbi8qKlxuICogQ2FjaGVkIGluc3RhbmNlIG9mIHRoZSBsb2NhbGl6ZSBCYWJlbCBwbHVnaW5zIGZhY3RvcnkgZnVuY3Rpb25zLlxuICovXG5sZXQgaTE4blBsdWdpbkNyZWF0b3JzOiBJMThuUGx1Z2luQ3JlYXRvcnMgfCB1bmRlZmluZWQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGluZXMtcGVyLWZ1bmN0aW9uXG5leHBvcnQgZGVmYXVsdCBjdXN0b208QXBwbGljYXRpb25QcmVzZXRPcHRpb25zPigoKSA9PiB7XG4gIGNvbnN0IGJhc2VPcHRpb25zID0gT2JqZWN0LmZyZWV6ZSh7XG4gICAgYmFiZWxyYzogZmFsc2UsXG4gICAgY29uZmlnRmlsZTogZmFsc2UsXG4gICAgY29tcGFjdDogZmFsc2UsXG4gICAgY2FjaGVDb21wcmVzc2lvbjogZmFsc2UsXG4gICAgc291cmNlVHlwZTogJ3VuYW1iaWd1b3VzJyxcbiAgICBpbnB1dFNvdXJjZU1hcDogZmFsc2UsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgYXN5bmMgY3VzdG9tT3B0aW9ucyhvcHRpb25zLCB7IHNvdXJjZSwgbWFwIH0pIHtcbiAgICAgIGNvbnN0IHsgaTE4biwgYW90LCBvcHRpbWl6ZSwgaW5zdHJ1bWVudENvZGUsIHN1cHBvcnRlZEJyb3dzZXJzLCAuLi5yYXdPcHRpb25zIH0gPVxuICAgICAgICBvcHRpb25zIGFzIEFuZ3VsYXJCYWJlbExvYWRlck9wdGlvbnM7XG5cbiAgICAgIC8vIE11c3QgcHJvY2VzcyBmaWxlIGlmIHBsdWdpbnMgYXJlIGFkZGVkXG4gICAgICBsZXQgc2hvdWxkUHJvY2VzcyA9IEFycmF5LmlzQXJyYXkocmF3T3B0aW9ucy5wbHVnaW5zKSAmJiByYXdPcHRpb25zLnBsdWdpbnMubGVuZ3RoID4gMDtcblxuICAgICAgY29uc3QgY3VzdG9tT3B0aW9uczogQXBwbGljYXRpb25QcmVzZXRPcHRpb25zID0ge1xuICAgICAgICBmb3JjZUFzeW5jVHJhbnNmb3JtYXRpb246IGZhbHNlLFxuICAgICAgICBhbmd1bGFyTGlua2VyOiB1bmRlZmluZWQsXG4gICAgICAgIGkxOG46IHVuZGVmaW5lZCxcbiAgICAgICAgaW5zdHJ1bWVudENvZGU6IHVuZGVmaW5lZCxcbiAgICAgICAgc3VwcG9ydGVkQnJvd3NlcnMsXG4gICAgICB9O1xuXG4gICAgICAvLyBBbmFseXplIGZpbGUgZm9yIGxpbmtpbmdcbiAgICAgIGlmIChhd2FpdCByZXF1aXJlc0xpbmtpbmcodGhpcy5yZXNvdXJjZVBhdGgsIHNvdXJjZSkpIHtcbiAgICAgICAgLy8gTG9hZCBFU00gYEBhbmd1bGFyL2NvbXBpbGVyLWNsaS9saW5rZXIvYmFiZWxgIHVzaW5nIHRoZSBUeXBlU2NyaXB0IGR5bmFtaWMgaW1wb3J0IHdvcmthcm91bmQuXG4gICAgICAgIC8vIE9uY2UgVHlwZVNjcmlwdCBwcm92aWRlcyBzdXBwb3J0IGZvciBrZWVwaW5nIHRoZSBkeW5hbWljIGltcG9ydCB0aGlzIHdvcmthcm91bmQgY2FuIGJlXG4gICAgICAgIC8vIGNoYW5nZWQgdG8gYSBkaXJlY3QgZHluYW1pYyBpbXBvcnQuXG4gICAgICAgIGxpbmtlclBsdWdpbkNyZWF0b3IgPz89IChcbiAgICAgICAgICBhd2FpdCBsb2FkRXNtTW9kdWxlPHR5cGVvZiBpbXBvcnQoJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaS9saW5rZXIvYmFiZWwnKT4oXG4gICAgICAgICAgICAnQGFuZ3VsYXIvY29tcGlsZXItY2xpL2xpbmtlci9iYWJlbCcsXG4gICAgICAgICAgKVxuICAgICAgICApLmNyZWF0ZUVzMjAxNUxpbmtlclBsdWdpbjtcblxuICAgICAgICBjdXN0b21PcHRpb25zLmFuZ3VsYXJMaW5rZXIgPSB7XG4gICAgICAgICAgc2hvdWxkTGluazogdHJ1ZSxcbiAgICAgICAgICBqaXRNb2RlOiBhb3QgIT09IHRydWUsXG4gICAgICAgICAgbGlua2VyUGx1Z2luQ3JlYXRvcixcbiAgICAgICAgfTtcbiAgICAgICAgc2hvdWxkUHJvY2VzcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEFwcGxpY2F0aW9uIGNvZGUgKFRTIGZpbGVzKSB3aWxsIG9ubHkgY29udGFpbiBuYXRpdmUgYXN5bmMgaWYgdGFyZ2V0IGlzIEVTMjAxNysuXG4gICAgICAvLyBIb3dldmVyLCB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgY2FuIHJlZ2FyZGxlc3Mgb2YgdGhlIHRhcmdldCBvcHRpb24uXG4gICAgICAvLyBBUEYgcGFja2FnZXMgd2l0aCBjb2RlIGluIFtmXWVzbTIwMTUgZGlyZWN0b3JpZXMgaXMgZG93bmxldmVsbGVkIHRvIEVTMjAxNSBhbmRcbiAgICAgIC8vIHdpbGwgbm90IGhhdmUgbmF0aXZlIGFzeW5jLlxuICAgICAgY3VzdG9tT3B0aW9ucy5mb3JjZUFzeW5jVHJhbnNmb3JtYXRpb24gPVxuICAgICAgICAhL1tcXFxcL11bX2ZdP2VzbTIwMTVbXFxcXC9dLy50ZXN0KHRoaXMucmVzb3VyY2VQYXRoKSAmJiBzb3VyY2UuaW5jbHVkZXMoJ2FzeW5jJyk7XG5cbiAgICAgIHNob3VsZFByb2Nlc3MgfHw9XG4gICAgICAgIGN1c3RvbU9wdGlvbnMuZm9yY2VBc3luY1RyYW5zZm9ybWF0aW9uIHx8XG4gICAgICAgIGN1c3RvbU9wdGlvbnMuc3VwcG9ydGVkQnJvd3NlcnMgIT09IHVuZGVmaW5lZCB8fFxuICAgICAgICBmYWxzZTtcblxuICAgICAgLy8gQW5hbHl6ZSBmb3IgaTE4biBpbmxpbmluZ1xuICAgICAgaWYgKFxuICAgICAgICBpMThuICYmXG4gICAgICAgICEvW1xcXFwvXUBhbmd1bGFyW1xcXFwvXSg/OmNvbXBpbGVyfGxvY2FsaXplKS8udGVzdCh0aGlzLnJlc291cmNlUGF0aCkgJiZcbiAgICAgICAgc291cmNlLmluY2x1ZGVzKCckbG9jYWxpemUnKVxuICAgICAgKSB7XG4gICAgICAgIC8vIExvYWQgdGhlIGkxOG4gcGx1Z2luIGNyZWF0b3JzIGZyb20gdGhlIG5ldyBgQGFuZ3VsYXIvbG9jYWxpemUvdG9vbHNgIGVudHJ5IHBvaW50LlxuICAgICAgICAvLyBUaGlzIG1heSBmYWlsIGR1cmluZyB0aGUgdHJhbnNpdGlvbiB0byBFU00gZHVlIHRvIHRoZSBlbnRyeSBwb2ludCBub3QgeWV0IGV4aXN0aW5nLlxuICAgICAgICAvLyBEdXJpbmcgdGhlIHRyYW5zaXRpb24sIHRoaXMgd2lsbCBhbHdheXMgYXR0ZW1wdCB0byBsb2FkIHRoZSBlbnRyeSBwb2ludCBmb3IgZWFjaCBmaWxlLlxuICAgICAgICAvLyBUaGlzIHdpbGwgb25seSBvY2N1ciBkdXJpbmcgcHJlcmVsZWFzZSBhbmQgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNvcnJlY3RlZCBvbmNlIHRoZSBuZXdcbiAgICAgICAgLy8gZW50cnkgcG9pbnQgZXhpc3RzLlxuICAgICAgICBpZiAoaTE4blBsdWdpbkNyZWF0b3JzID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAvLyBMb2FkIEVTTSBgQGFuZ3VsYXIvbG9jYWxpemUvdG9vbHNgIHVzaW5nIHRoZSBUeXBlU2NyaXB0IGR5bmFtaWMgaW1wb3J0IHdvcmthcm91bmQuXG4gICAgICAgICAgLy8gT25jZSBUeXBlU2NyaXB0IHByb3ZpZGVzIHN1cHBvcnQgZm9yIGtlZXBpbmcgdGhlIGR5bmFtaWMgaW1wb3J0IHRoaXMgd29ya2Fyb3VuZCBjYW4gYmVcbiAgICAgICAgICAvLyBjaGFuZ2VkIHRvIGEgZGlyZWN0IGR5bmFtaWMgaW1wb3J0LlxuICAgICAgICAgIGkxOG5QbHVnaW5DcmVhdG9ycyA9IGF3YWl0IGxvYWRFc21Nb2R1bGU8STE4blBsdWdpbkNyZWF0b3JzPignQGFuZ3VsYXIvbG9jYWxpemUvdG9vbHMnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGN1c3RvbU9wdGlvbnMuaTE4biA9IHtcbiAgICAgICAgICAuLi4oaTE4biBhcyBOb25OdWxsYWJsZTxBcHBsaWNhdGlvblByZXNldE9wdGlvbnNbJ2kxOG4nXT4pLFxuICAgICAgICAgIHBsdWdpbkNyZWF0b3JzOiBpMThuUGx1Z2luQ3JlYXRvcnMsXG4gICAgICAgIH07XG5cbiAgICAgICAgLy8gQWRkIHRyYW5zbGF0aW9uIGZpbGVzIGFzIGRlcGVuZGVuY2llcyBvZiB0aGUgZmlsZSB0byBzdXBwb3J0IHJlYnVpbGRzXG4gICAgICAgIC8vIEV4Y2VwdCBmb3IgYEBhbmd1bGFyL2NvcmVgIHdoaWNoIG5lZWRzIGxvY2FsZSBpbmplY3Rpb24gYnV0IGhhcyBubyB0cmFuc2xhdGlvbnNcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1c3RvbU9wdGlvbnMuaTE4bi50cmFuc2xhdGlvbkZpbGVzICYmXG4gICAgICAgICAgIS9bXFxcXC9dQGFuZ3VsYXJbXFxcXC9dY29yZS8udGVzdCh0aGlzLnJlc291cmNlUGF0aClcbiAgICAgICAgKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBmaWxlIG9mIGN1c3RvbU9wdGlvbnMuaTE4bi50cmFuc2xhdGlvbkZpbGVzKSB7XG4gICAgICAgICAgICB0aGlzLmFkZERlcGVuZGVuY3koZmlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2hvdWxkUHJvY2VzcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChvcHRpbWl6ZSkge1xuICAgICAgICBjb25zdCBBbmd1bGFyUGFja2FnZSA9IC9bXFxcXC9dbm9kZV9tb2R1bGVzW1xcXFwvXUBhbmd1bGFyW1xcXFwvXS8udGVzdCh0aGlzLnJlc291cmNlUGF0aCk7XG4gICAgICAgIGNvbnN0IHNpZGVFZmZlY3RGcmVlID0gISF0aGlzLl9tb2R1bGU/LmZhY3RvcnlNZXRhPy5zaWRlRWZmZWN0RnJlZTtcbiAgICAgICAgY3VzdG9tT3B0aW9ucy5vcHRpbWl6ZSA9IHtcbiAgICAgICAgICAvLyBBbmd1bGFyIHBhY2thZ2VzIHByb3ZpZGUgYWRkaXRpb25hbCB0ZXN0ZWQgc2lkZSBlZmZlY3RzIGd1YXJhbnRlZXMgYW5kIGNhbiB1c2VcbiAgICAgICAgICAvLyBvdGhlcndpc2UgdW5zYWZlIG9wdGltaXphdGlvbnMuIChAYW5ndWxhci9wbGF0Zm9ybS1zZXJ2ZXIvaW5pdCkgaG93ZXZlciBoYXMgc2lkZS1lZmZlY3RzLlxuICAgICAgICAgIHB1cmVUb3BMZXZlbDogQW5ndWxhclBhY2thZ2UgJiYgc2lkZUVmZmVjdEZyZWUsXG4gICAgICAgICAgLy8gSmF2YVNjcmlwdCBtb2R1bGVzIHRoYXQgYXJlIG1hcmtlZCBhcyBzaWRlIGVmZmVjdCBmcmVlIGFyZSBjb25zaWRlcmVkIHRvIGhhdmVcbiAgICAgICAgICAvLyBubyBkZWNvcmF0b3JzIHRoYXQgY29udGFpbiBub24tbG9jYWwgZWZmZWN0cy5cbiAgICAgICAgICB3cmFwRGVjb3JhdG9yczogc2lkZUVmZmVjdEZyZWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgc2hvdWxkUHJvY2VzcyA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgaW5zdHJ1bWVudENvZGUgJiZcbiAgICAgICAgIWluc3RydW1lbnRDb2RlLmV4Y2x1ZGVkUGF0aHMuaGFzKHRoaXMucmVzb3VyY2VQYXRoKSAmJlxuICAgICAgICAhL1xcLihlMmV8c3BlYylcXC50c3g/JHxbXFxcXC9dbm9kZV9tb2R1bGVzW1xcXFwvXS8udGVzdCh0aGlzLnJlc291cmNlUGF0aCkgJiZcbiAgICAgICAgdGhpcy5yZXNvdXJjZVBhdGguc3RhcnRzV2l0aChpbnN0cnVtZW50Q29kZS5pbmNsdWRlZEJhc2VQYXRoKVxuICAgICAgKSB7XG4gICAgICAgIC8vIGBiYWJlbC1wbHVnaW4taXN0YW5idWxgIGhhcyBpdCdzIG93biBpbmNsdWRlcyBidXQgd2UgZG8gdGhlIGJlbG93IHNvIHRoYXQgd2UgYXZvaWQgcnVubmluZyB0aGUgbG9hZGVyLlxuICAgICAgICBjdXN0b21PcHRpb25zLmluc3RydW1lbnRDb2RlID0ge1xuICAgICAgICAgIGluY2x1ZGVkQmFzZVBhdGg6IGluc3RydW1lbnRDb2RlLmluY2x1ZGVkQmFzZVBhdGgsXG4gICAgICAgICAgaW5wdXRTb3VyY2VNYXA6IG1hcCxcbiAgICAgICAgfTtcblxuICAgICAgICBzaG91bGRQcm9jZXNzID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQWRkIHByb3ZpZGVkIGxvYWRlciBvcHRpb25zIHRvIGRlZmF1bHQgYmFzZSBvcHRpb25zXG4gICAgICBjb25zdCBsb2FkZXJPcHRpb25zOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICAgICAgLi4uYmFzZU9wdGlvbnMsXG4gICAgICAgIC4uLnJhd09wdGlvbnMsXG4gICAgICAgIGNhY2hlSWRlbnRpZmllcjogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGJ1aWxkQW5ndWxhcjogVkVSU0lPTixcbiAgICAgICAgICBjdXN0b21PcHRpb25zLFxuICAgICAgICAgIGJhc2VPcHRpb25zLFxuICAgICAgICAgIHJhd09wdGlvbnMsXG4gICAgICAgIH0pLFxuICAgICAgfTtcblxuICAgICAgLy8gU2tpcCBiYWJlbCBwcm9jZXNzaW5nIGlmIG5vIGFjdGlvbnMgYXJlIG5lZWRlZFxuICAgICAgaWYgKCFzaG91bGRQcm9jZXNzKSB7XG4gICAgICAgIC8vIEZvcmNlIHRoZSBjdXJyZW50IGZpbGUgdG8gYmUgaWdub3JlZFxuICAgICAgICBsb2FkZXJPcHRpb25zLmlnbm9yZSA9IFsoKSA9PiB0cnVlXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHsgY3VzdG9tOiBjdXN0b21PcHRpb25zLCBsb2FkZXI6IGxvYWRlck9wdGlvbnMgfTtcbiAgICB9LFxuICAgIGNvbmZpZyhjb25maWd1cmF0aW9uLCB7IGN1c3RvbU9wdGlvbnMgfSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uY29uZmlndXJhdGlvbi5vcHRpb25zLFxuICAgICAgICAvLyBVc2luZyBgZmFsc2VgIGRpc2FibGVzIGJhYmVsIGZyb20gYXR0ZW1wdGluZyB0byBsb2NhdGUgc291cmNlbWFwcyBvciBwcm9jZXNzIGFueSBpbmxpbmUgbWFwcy5cbiAgICAgICAgLy8gVGhlIGJhYmVsIHR5cGVzIGRvIG5vdCBpbmNsdWRlIHRoZSBmYWxzZSBvcHRpb24gZXZlbiB0aG91Z2ggaXQgaXMgdmFsaWRcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgaW5wdXRTb3VyY2VNYXA6IGNvbmZpZ3VyYXRpb24ub3B0aW9ucy5pbnB1dFNvdXJjZU1hcCA/PyAoZmFsc2UgYXMgYW55KSxcbiAgICAgICAgcHJlc2V0czogW1xuICAgICAgICAgIC4uLihjb25maWd1cmF0aW9uLm9wdGlvbnMucHJlc2V0cyB8fCBbXSksXG4gICAgICAgICAgW1xuICAgICAgICAgICAgcmVxdWlyZSgnLi9wcmVzZXRzL2FwcGxpY2F0aW9uJykuZGVmYXVsdCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgLi4uY3VzdG9tT3B0aW9ucyxcbiAgICAgICAgICAgICAgZGlhZ25vc3RpY1JlcG9ydGVyOiAodHlwZSwgbWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVtaXRFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICBjYXNlICdpbmZvJzpcbiAgICAgICAgICAgICAgICAgIC8vIFdlYnBhY2sgZG9lcyBub3QgY3VycmVudGx5IGhhdmUgYW4gaW5mb3JtYXRpb25hbCBkaWFnbm9zdGljXG4gICAgICAgICAgICAgICAgICBjYXNlICd3YXJuaW5nJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbWl0V2FybmluZyhtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSBhcyBBcHBsaWNhdGlvblByZXNldE9wdGlvbnMsXG4gICAgICAgICAgXSxcbiAgICAgICAgXSxcbiAgICAgIH07XG4gICAgfSxcbiAgfTtcbn0pO1xuIl19
|
|
@@ -60,4 +60,3 @@ function createAngularCompilerHost(compilerOptions, hostOptions) {
|
|
|
60
60
|
return host;
|
|
61
61
|
}
|
|
62
62
|
exports.createAngularCompilerHost = createAngularCompilerHost;
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1ob3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvZXNidWlsZC9hbmd1bGFyL2FuZ3VsYXItaG9zdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7QUFHSCw0REFBNEI7QUFpQjVCLHVEQUF1RDtBQUN2RCwrRkFBK0Y7QUFDL0YsTUFBTSxFQUNKLHNCQUFzQixFQUN0QiwyQkFBMkIsRUFDM0IsNEJBQTRCLEdBQzdCLEdBQUcsT0FBTyxDQUFDLCtCQUErQixDQUFDLENBQUM7QUFFN0M7Ozs7O0dBS0c7QUFDSCxTQUFnQix3QkFBd0IsQ0FBQyxPQUFtQjtJQUMxRCw0QkFBNEIsQ0FBQyxPQUFPLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBRkQsNERBRUM7QUFFRCxTQUFnQix5QkFBeUIsQ0FDdkMsZUFBdUMsRUFDdkMsV0FBK0I7SUFFL0Isa0NBQWtDO0lBQ2xDLE1BQU0sSUFBSSxHQUF3QixvQkFBRSxDQUFDLDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBRXBGLHVGQUF1RjtJQUN2Rix1RkFBdUY7SUFDdkYsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLFdBQVcsUUFBUTtRQUMxQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUVGLDhDQUE4QztJQUM5QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxXQUFXLElBQUksRUFBRSxPQUFPO1FBQ3BELGlEQUFpRDtRQUNqRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEtBQUssT0FBTyxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCxNQUFNLE1BQU0sR0FBRyxNQUFNLFdBQVcsQ0FBQyxtQkFBbUIsQ0FDbEQsSUFBSSxFQUNKLE9BQU8sQ0FBQyxjQUFjLEVBQ3RCLE9BQU8sQ0FBQyxZQUFZLElBQUksU0FBUyxDQUNsQyxDQUFDO1FBRUYsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDN0MsQ0FBQyxDQUFDO0lBRUYsNEVBQTRFO0lBQzVFLElBQUksQ0FBQyx3QkFBd0IsR0FBRztRQUM5QixPQUFPLFdBQVcsQ0FBQyxhQUFhLENBQUM7SUFDbkMsQ0FBQyxDQUFDO0lBRUYsdURBQXVEO0lBQ3ZELElBQUksV0FBVyxDQUFDLGdCQUFnQixFQUFFO1FBQ2hDLHFGQUFxRjtRQUNyRixNQUFNLGVBQWUsR0FBRyxvQkFBRSxDQUFDLDJCQUEyQixDQUNwRCxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFDMUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFDcEMsZUFBZSxDQUNoQixDQUFDO1FBQ0YsSUFBSSxDQUFDLHdCQUF3QixHQUFHLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQztRQUV0RCwyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxDQUFDO0tBQ2xGO0lBRUQsK0RBQStEO0lBQy9ELElBQUksV0FBVyxDQUFDLGVBQWUsRUFBRTtRQUMvQixzQkFBc0IsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQzNEO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBckRELDhEQXFEQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQgdHlwZSBuZyBmcm9tICdAYW5ndWxhci9jb21waWxlci1jbGknO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5leHBvcnQgdHlwZSBBbmd1bGFyQ29tcGlsZXJPcHRpb25zID0gbmcuQ29tcGlsZXJPcHRpb25zO1xuZXhwb3J0IHR5cGUgQW5ndWxhckNvbXBpbGVySG9zdCA9IG5nLkNvbXBpbGVySG9zdDtcblxuZXhwb3J0IGludGVyZmFjZSBBbmd1bGFySG9zdE9wdGlvbnMge1xuICBmaWxlUmVwbGFjZW1lbnRzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgc291cmNlRmlsZUNhY2hlPzogTWFwPHN0cmluZywgdHMuU291cmNlRmlsZT47XG4gIG1vZGlmaWVkRmlsZXM/OiBTZXQ8c3RyaW5nPjtcbiAgdHJhbnNmb3JtU3R5bGVzaGVldChcbiAgICBkYXRhOiBzdHJpbmcsXG4gICAgY29udGFpbmluZ0ZpbGU6IHN0cmluZyxcbiAgICBzdHlsZXNoZWV0RmlsZT86IHN0cmluZyxcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPjtcbiAgcHJvY2Vzc1dlYldvcmtlcih3b3JrZXJGaWxlOiBzdHJpbmcsIGNvbnRhaW5pbmdGaWxlOiBzdHJpbmcpOiBzdHJpbmc7XG59XG5cbi8vIFRlbXBvcmFyeSBkZWVwIGltcG9ydCBmb3IgaG9zdCBhdWdtZW50YXRpb24gc3VwcG9ydC5cbi8vIFRPRE86IE1vdmUgdGhlc2UgdG8gYSBwcml2YXRlIGV4cG9ydHMgbG9jYXRpb24gb3IgbW92ZSB0aGUgaW1wbGVtZW50YXRpb24gaW50byB0aGlzIHBhY2thZ2UuXG5jb25zdCB7XG4gIGF1Z21lbnRIb3N0V2l0aENhY2hpbmcsXG4gIGF1Z21lbnRIb3N0V2l0aFJlcGxhY2VtZW50cyxcbiAgYXVnbWVudFByb2dyYW1XaXRoVmVyc2lvbmluZyxcbn0gPSByZXF1aXJlKCdAbmd0b29scy93ZWJwYWNrL3NyYy9pdnkvaG9zdCcpO1xuXG4vKipcbiAqIFBhdGNoZXMgaW4tcGxhY2UgdGhlIGBnZXRTb3VyY2VGaWxlc2AgZnVuY3Rpb24gb24gYW4gaW5zdGFuY2Ugb2YgYSBUeXBlU2NyaXB0XG4gKiBgUHJvZ3JhbWAgdG8gZW5zdXJlIHRoYXQgYWxsIHJldHVybmVkIFNvdXJjZUZpbGUgaW5zdGFuY2VzIGhhdmUgYSBgdmVyc2lvbmBcbiAqIGZpZWxkLiBUaGUgYHZlcnNpb25gIGZpZWxkIGlzIHJlcXVpcmVkIHdoZW4gdXNlZCB3aXRoIGEgVHlwZVNjcmlwdCBCdWlsZGVyUHJvZ3JhbS5cbiAqIEBwYXJhbSBwcm9ncmFtIFRoZSBUeXBlU2NyaXB0IFByb2dyYW0gaW5zdGFuY2UgdG8gcGF0Y2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbnN1cmVTb3VyY2VGaWxlVmVyc2lvbnMocHJvZ3JhbTogdHMuUHJvZ3JhbSk6IHZvaWQge1xuICBhdWdtZW50UHJvZ3JhbVdpdGhWZXJzaW9uaW5nKHByb2dyYW0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQW5ndWxhckNvbXBpbGVySG9zdChcbiAgY29tcGlsZXJPcHRpb25zOiBBbmd1bGFyQ29tcGlsZXJPcHRpb25zLFxuICBob3N0T3B0aW9uczogQW5ndWxhckhvc3RPcHRpb25zLFxuKTogQW5ndWxhckNvbXBpbGVySG9zdCB7XG4gIC8vIENyZWF0ZSBUeXBlU2NyaXB0IGNvbXBpbGVyIGhvc3RcbiAgY29uc3QgaG9zdDogQW5ndWxhckNvbXBpbGVySG9zdCA9IHRzLmNyZWF0ZUluY3JlbWVudGFsQ29tcGlsZXJIb3N0KGNvbXBpbGVyT3B0aW9ucyk7XG5cbiAgLy8gVGhlIEFPVCBjb21waWxlciBjdXJyZW50bHkgcmVxdWlyZXMgdGhpcyBob29rIHRvIGFsbG93IGZvciBhIHRyYW5zZm9ybVJlc291cmNlIGhvb2suXG4gIC8vIE9uY2UgdGhlIEFPVCBjb21waWxlciBhbGxvd3Mgb25seSBhIHRyYW5zZm9ybVJlc291cmNlIGhvb2ssIHRoaXMgY2FuIGJlIHJlZXZhbHVhdGVkLlxuICBob3N0LnJlYWRSZXNvdXJjZSA9IGFzeW5jIGZ1bmN0aW9uIChmaWxlbmFtZSkge1xuICAgIHJldHVybiB0aGlzLnJlYWRGaWxlKGZpbGVuYW1lKSA/PyAnJztcbiAgfTtcblxuICAvLyBBZGQgYW4gQU9UIGNvbXBpbGVyIHJlc291cmNlIHRyYW5zZm9ybSBob29rXG4gIGhvc3QudHJhbnNmb3JtUmVzb3VyY2UgPSBhc3luYyBmdW5jdGlvbiAoZGF0YSwgY29udGV4dCkge1xuICAgIC8vIE9ubHkgc3R5bGUgcmVzb3VyY2VzIGFyZSB0cmFuc2Zvcm1lZCBjdXJyZW50bHlcbiAgICBpZiAoY29udGV4dC50eXBlICE9PSAnc3R5bGUnKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBob3N0T3B0aW9ucy50cmFuc2Zvcm1TdHlsZXNoZWV0KFxuICAgICAgZGF0YSxcbiAgICAgIGNvbnRleHQuY29udGFpbmluZ0ZpbGUsXG4gICAgICBjb250ZXh0LnJlc291cmNlRmlsZSA/PyB1bmRlZmluZWQsXG4gICAgKTtcblxuICAgIHJldHVybiByZXN1bHQgPyB7IGNvbnRlbnQ6IHJlc3VsdCB9IDogbnVsbDtcbiAgfTtcblxuICAvLyBBbGxvdyB0aGUgQU9UIGNvbXBpbGVyIHRvIHJlcXVlc3QgdGhlIHNldCBvZiBjaGFuZ2VkIHRlbXBsYXRlcyBhbmQgc3R5bGVzXG4gIGhvc3QuZ2V0TW9kaWZpZWRSZXNvdXJjZUZpbGVzID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBob3N0T3B0aW9ucy5tb2RpZmllZEZpbGVzO1xuICB9O1xuXG4gIC8vIEF1Z21lbnQgVHlwZVNjcmlwdCBIb3N0IGZvciBmaWxlIHJlcGxhY2VtZW50cyBvcHRpb25cbiAgaWYgKGhvc3RPcHRpb25zLmZpbGVSZXBsYWNlbWVudHMpIHtcbiAgICAvLyBQcm92aWRlIGEgcmVzb2x1dGlvbiBjYWNoZSBzaW5jZSBvdmVycmlkaW5nIHJlc29sdXRpb24gcHJldmVudHMgYXV0b21hdGljIGNyZWF0aW9uXG4gICAgY29uc3QgcmVzb2x1dGlvbkNhY2hlID0gdHMuY3JlYXRlTW9kdWxlUmVzb2x1dGlvbkNhY2hlKFxuICAgICAgaG9zdC5nZXRDdXJyZW50RGlyZWN0b3J5KCksXG4gICAgICBob3N0LmdldENhbm9uaWNhbEZpbGVOYW1lLmJpbmQoaG9zdCksXG4gICAgICBjb21waWxlck9wdGlvbnMsXG4gICAgKTtcbiAgICBob3N0LmdldE1vZHVsZVJlc29sdXRpb25DYWNoZSA9ICgpID0+IHJlc29sdXRpb25DYWNoZTtcblxuICAgIGF1Z21lbnRIb3N0V2l0aFJlcGxhY2VtZW50cyhob3N0LCBob3N0T3B0aW9ucy5maWxlUmVwbGFjZW1lbnRzLCByZXNvbHV0aW9uQ2FjaGUpO1xuICB9XG5cbiAgLy8gQXVnbWVudCBUeXBlU2NyaXB0IEhvc3Qgd2l0aCBzb3VyY2UgZmlsZSBjYWNoaW5nIGlmIHByb3ZpZGVkXG4gIGlmIChob3N0T3B0aW9ucy5zb3VyY2VGaWxlQ2FjaGUpIHtcbiAgICBhdWdtZW50SG9zdFdpdGhDYWNoaW5nKGhvc3QsIGhvc3RPcHRpb25zLnNvdXJjZUZpbGVDYWNoZSk7XG4gIH1cblxuICByZXR1cm4gaG9zdDtcbn1cbiJdfQ==
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type ng from '@angular/compiler-cli';
|
|
9
9
|
import type { PartialMessage } from 'esbuild';
|
|
10
|
-
import ts from 'typescript';
|
|
10
|
+
import type ts from 'typescript';
|
|
11
11
|
import type { AngularHostOptions } from '../angular-host';
|
|
12
12
|
export interface EmitFileResult {
|
|
13
13
|
filename: string;
|
|
@@ -17,16 +17,19 @@ export interface EmitFileResult {
|
|
|
17
17
|
export declare abstract class AngularCompilation {
|
|
18
18
|
#private;
|
|
19
19
|
static loadCompilerCli(): Promise<typeof ng>;
|
|
20
|
+
static loadTypescript(): Promise<typeof ts>;
|
|
20
21
|
protected loadConfiguration(tsconfig: string): Promise<ng.CompilerOptions>;
|
|
21
22
|
abstract initialize(tsconfig: string, hostOptions: AngularHostOptions, compilerOptionsTransformer?: (compilerOptions: ng.CompilerOptions) => ng.CompilerOptions): Promise<{
|
|
22
23
|
affectedFiles: ReadonlySet<ts.SourceFile>;
|
|
23
24
|
compilerOptions: ng.CompilerOptions;
|
|
24
25
|
referencedFiles: readonly string[];
|
|
25
26
|
}>;
|
|
26
|
-
abstract emitAffectedFiles(): Iterable<EmitFileResult
|
|
27
|
-
protected abstract collectDiagnostics(): Iterable<ts.Diagnostic
|
|
27
|
+
abstract emitAffectedFiles(): Iterable<EmitFileResult> | Promise<Iterable<EmitFileResult>>;
|
|
28
|
+
protected abstract collectDiagnostics(): Iterable<ts.Diagnostic> | Promise<Iterable<ts.Diagnostic>>;
|
|
28
29
|
diagnoseFiles(): Promise<{
|
|
29
30
|
errors?: PartialMessage[];
|
|
30
31
|
warnings?: PartialMessage[];
|
|
31
32
|
}>;
|
|
33
|
+
update?(files: Set<string>): Promise<void>;
|
|
34
|
+
close?(): Promise<void>;
|
|
32
35
|
}
|
|
@@ -6,23 +6,48 @@
|
|
|
6
6
|
* Use of this source code is governed by an MIT-style license that can be
|
|
7
7
|
* found in the LICENSE file at https://angular.io/license
|
|
8
8
|
*/
|
|
9
|
-
var
|
|
10
|
-
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
11
31
|
};
|
|
12
32
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
33
|
exports.AngularCompilation = void 0;
|
|
14
|
-
const typescript_1 = __importDefault(require("typescript"));
|
|
15
34
|
const load_esm_1 = require("../../../../utils/load-esm");
|
|
16
35
|
const profiling_1 = require("../../profiling");
|
|
17
36
|
const diagnostics_1 = require("../diagnostics");
|
|
18
37
|
class AngularCompilation {
|
|
19
38
|
static #angularCompilerCliModule;
|
|
39
|
+
static #typescriptModule;
|
|
20
40
|
static async loadCompilerCli() {
|
|
21
41
|
// This uses a wrapped dynamic import to load `@angular/compiler-cli` which is ESM.
|
|
22
42
|
// Once TypeScript provides support for retaining dynamic imports this workaround can be dropped.
|
|
23
|
-
AngularCompilation.#angularCompilerCliModule ??=
|
|
43
|
+
AngularCompilation.#angularCompilerCliModule ??=
|
|
44
|
+
await (0, load_esm_1.loadEsmModule)('@angular/compiler-cli');
|
|
24
45
|
return AngularCompilation.#angularCompilerCliModule;
|
|
25
46
|
}
|
|
47
|
+
static async loadTypescript() {
|
|
48
|
+
AngularCompilation.#typescriptModule ??= await Promise.resolve().then(() => __importStar(require('typescript')));
|
|
49
|
+
return AngularCompilation.#typescriptModule;
|
|
50
|
+
}
|
|
26
51
|
async loadConfiguration(tsconfig) {
|
|
27
52
|
const { readConfiguration } = await AngularCompilation.loadCompilerCli();
|
|
28
53
|
return (0, profiling_1.profileSync)('NG_READ_CONFIG', () => readConfiguration(tsconfig, {
|
|
@@ -41,10 +66,13 @@ class AngularCompilation {
|
|
|
41
66
|
}
|
|
42
67
|
async diagnoseFiles() {
|
|
43
68
|
const result = {};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
69
|
+
// Avoid loading typescript until actually needed.
|
|
70
|
+
// This allows for avoiding the load of typescript in the main thread when using the parallel compilation.
|
|
71
|
+
const typescript = await AngularCompilation.loadTypescript();
|
|
72
|
+
await (0, profiling_1.profileAsync)('NG_DIAGNOSTICS_TOTAL', async () => {
|
|
73
|
+
for (const diagnostic of await this.collectDiagnostics()) {
|
|
74
|
+
const message = (0, diagnostics_1.convertTypeScriptDiagnostic)(typescript, diagnostic);
|
|
75
|
+
if (diagnostic.category === typescript.DiagnosticCategory.Error) {
|
|
48
76
|
(result.errors ??= []).push(message);
|
|
49
77
|
}
|
|
50
78
|
else {
|
|
@@ -56,4 +84,3 @@ class AngularCompilation {
|
|
|
56
84
|
}
|
|
57
85
|
}
|
|
58
86
|
exports.AngularCompilation = AngularCompilation;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1jb21waWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2FuZ3VsYXJfZGV2a2l0L2J1aWxkX2FuZ3VsYXIvc3JjL3Rvb2xzL2VzYnVpbGQvYW5ndWxhci9jb21waWxhdGlvbi9hbmd1bGFyLWNvbXBpbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7Ozs7OztBQUlILDREQUE0QjtBQUM1Qix5REFBMkQ7QUFDM0QsK0NBQThDO0FBRTlDLGdEQUE2RDtBQVE3RCxNQUFzQixrQkFBa0I7SUFDdEMsTUFBTSxDQUFDLHlCQUF5QixDQUFhO0lBRTdDLE1BQU0sQ0FBQyxLQUFLLENBQUMsZUFBZTtRQUMxQixtRkFBbUY7UUFDbkYsaUdBQWlHO1FBQ2pHLGtCQUFrQixDQUFDLHlCQUF5QixLQUFLLE1BQU0sSUFBQSx3QkFBYSxFQUNsRSx1QkFBdUIsQ0FDeEIsQ0FBQztRQUVGLE9BQU8sa0JBQWtCLENBQUMseUJBQXlCLENBQUM7SUFDdEQsQ0FBQztJQUVTLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxRQUFnQjtRQUNoRCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsR0FBRyxNQUFNLGtCQUFrQixDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXpFLE9BQU8sSUFBQSx1QkFBVyxFQUFDLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxDQUN4QyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUU7WUFDMUIsNkZBQTZGO1lBQzdGLHVCQUF1QixFQUFFLElBQUk7WUFDN0IsTUFBTSxFQUFFLFNBQVM7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsV0FBVyxFQUFFLEtBQUs7WUFDbEIsY0FBYyxFQUFFLEtBQUs7WUFDckIsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixhQUFhLEVBQUUsWUFBWTtZQUMzQixzQkFBc0IsRUFBRSxLQUFLO1lBQzdCLGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQWdCRCxLQUFLLENBQUMsYUFBYTtRQUNqQixNQUFNLE1BQU0sR0FBK0QsRUFBRSxDQUFDO1FBRTlFLElBQUEsdUJBQVcsRUFBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7WUFDdkMsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsRUFBRTtnQkFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBQSx5Q0FBMkIsRUFBQyxVQUFVLENBQUMsQ0FBQztnQkFDeEQsSUFBSSxVQUFVLENBQUMsUUFBUSxLQUFLLG9CQUFFLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFO29CQUN2RCxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUN0QztxQkFBTTtvQkFDTCxDQUFDLE1BQU0sQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUN4QzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUEvREQsZ0RBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB0eXBlIG5nIGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyLWNsaSc7XG5pbXBvcnQgdHlwZSB7IFBhcnRpYWxNZXNzYWdlIH0gZnJvbSAnZXNidWlsZCc7XG5pbXBvcnQgdHMgZnJvbSAndHlwZXNjcmlwdCc7XG5pbXBvcnQgeyBsb2FkRXNtTW9kdWxlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbG9hZC1lc20nO1xuaW1wb3J0IHsgcHJvZmlsZVN5bmMgfSBmcm9tICcuLi8uLi9wcm9maWxpbmcnO1xuaW1wb3J0IHR5cGUgeyBBbmd1bGFySG9zdE9wdGlvbnMgfSBmcm9tICcuLi9hbmd1bGFyLWhvc3QnO1xuaW1wb3J0IHsgY29udmVydFR5cGVTY3JpcHREaWFnbm9zdGljIH0gZnJvbSAnLi4vZGlhZ25vc3RpY3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVtaXRGaWxlUmVzdWx0IHtcbiAgZmlsZW5hbWU6IHN0cmluZztcbiAgY29udGVudHM6IHN0cmluZztcbiAgZGVwZW5kZW5jaWVzPzogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBbmd1bGFyQ29tcGlsYXRpb24ge1xuICBzdGF0aWMgI2FuZ3VsYXJDb21waWxlckNsaU1vZHVsZT86IHR5cGVvZiBuZztcblxuICBzdGF0aWMgYXN5bmMgbG9hZENvbXBpbGVyQ2xpKCk6IFByb21pc2U8dHlwZW9mIG5nPiB7XG4gICAgLy8gVGhpcyB1c2VzIGEgd3JhcHBlZCBkeW5hbWljIGltcG9ydCB0byBsb2FkIGBAYW5ndWxhci9jb21waWxlci1jbGlgIHdoaWNoIGlzIEVTTS5cbiAgICAvLyBPbmNlIFR5cGVTY3JpcHQgcHJvdmlkZXMgc3VwcG9ydCBmb3IgcmV0YWluaW5nIGR5bmFtaWMgaW1wb3J0cyB0aGlzIHdvcmthcm91bmQgY2FuIGJlIGRyb3BwZWQuXG4gICAgQW5ndWxhckNvbXBpbGF0aW9uLiNhbmd1bGFyQ29tcGlsZXJDbGlNb2R1bGUgPz89IGF3YWl0IGxvYWRFc21Nb2R1bGU8dHlwZW9mIG5nPihcbiAgICAgICdAYW5ndWxhci9jb21waWxlci1jbGknLFxuICAgICk7XG5cbiAgICByZXR1cm4gQW5ndWxhckNvbXBpbGF0aW9uLiNhbmd1bGFyQ29tcGlsZXJDbGlNb2R1bGU7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgbG9hZENvbmZpZ3VyYXRpb24odHNjb25maWc6IHN0cmluZyk6IFByb21pc2U8bmcuQ29tcGlsZXJPcHRpb25zPiB7XG4gICAgY29uc3QgeyByZWFkQ29uZmlndXJhdGlvbiB9ID0gYXdhaXQgQW5ndWxhckNvbXBpbGF0aW9uLmxvYWRDb21waWxlckNsaSgpO1xuXG4gICAgcmV0dXJuIHByb2ZpbGVTeW5jKCdOR19SRUFEX0NPTkZJRycsICgpID0+XG4gICAgICByZWFkQ29uZmlndXJhdGlvbih0c2NvbmZpZywge1xuICAgICAgICAvLyBBbmd1bGFyIHNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZGVmYXVsdHMgYW5kIG92ZXJyaWRlcyB0byBlbnN1cmUgYSBmdW5jdGlvbmluZyBjb21waWxhdGlvbi5cbiAgICAgICAgc3VwcHJlc3NPdXRwdXRQYXRoQ2hlY2s6IHRydWUsXG4gICAgICAgIG91dERpcjogdW5kZWZpbmVkLFxuICAgICAgICBzb3VyY2VNYXA6IGZhbHNlLFxuICAgICAgICBkZWNsYXJhdGlvbjogZmFsc2UsXG4gICAgICAgIGRlY2xhcmF0aW9uTWFwOiBmYWxzZSxcbiAgICAgICAgYWxsb3dFbXB0eUNvZGVnZW5GaWxlczogZmFsc2UsXG4gICAgICAgIGFubm90YXRpb25zQXM6ICdkZWNvcmF0b3JzJyxcbiAgICAgICAgZW5hYmxlUmVzb3VyY2VJbmxpbmluZzogZmFsc2UsXG4gICAgICAgIHN1cHBvcnRUZXN0QmVkOiBmYWxzZSxcbiAgICAgICAgc3VwcG9ydEppdE1vZGU6IGZhbHNlLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxuXG4gIGFic3RyYWN0IGluaXRpYWxpemUoXG4gICAgdHNjb25maWc6IHN0cmluZyxcbiAgICBob3N0T3B0aW9uczogQW5ndWxhckhvc3RPcHRpb25zLFxuICAgIGNvbXBpbGVyT3B0aW9uc1RyYW5zZm9ybWVyPzogKGNvbXBpbGVyT3B0aW9uczogbmcuQ29tcGlsZXJPcHRpb25zKSA9PiBuZy5Db21waWxlck9wdGlvbnMsXG4gICk6IFByb21pc2U8e1xuICAgIGFmZmVjdGVkRmlsZXM6IFJlYWRvbmx5U2V0PHRzLlNvdXJjZUZpbGU+O1xuICAgIGNvbXBpbGVyT3B0aW9uczogbmcuQ29tcGlsZXJPcHRpb25zO1xuICAgIHJlZmVyZW5jZWRGaWxlczogcmVhZG9ubHkgc3RyaW5nW107XG4gIH0+O1xuXG4gIGFic3RyYWN0IGVtaXRBZmZlY3RlZEZpbGVzKCk6IEl0ZXJhYmxlPEVtaXRGaWxlUmVzdWx0PjtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY29sbGVjdERpYWdub3N0aWNzKCk6IEl0ZXJhYmxlPHRzLkRpYWdub3N0aWM+O1xuXG4gIGFzeW5jIGRpYWdub3NlRmlsZXMoKTogUHJvbWlzZTx7IGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107IHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXSB9PiB7XG4gICAgY29uc3QgcmVzdWx0OiB7IGVycm9ycz86IFBhcnRpYWxNZXNzYWdlW107IHdhcm5pbmdzPzogUGFydGlhbE1lc3NhZ2VbXSB9ID0ge307XG5cbiAgICBwcm9maWxlU3luYygnTkdfRElBR05PU1RJQ1NfVE9UQUwnLCAoKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGRpYWdub3N0aWMgb2YgdGhpcy5jb2xsZWN0RGlhZ25vc3RpY3MoKSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gY29udmVydFR5cGVTY3JpcHREaWFnbm9zdGljKGRpYWdub3N0aWMpO1xuICAgICAgICBpZiAoZGlhZ25vc3RpYy5jYXRlZ29yeSA9PT0gdHMuRGlhZ25vc3RpY0NhdGVnb3J5LkVycm9yKSB7XG4gICAgICAgICAgKHJlc3VsdC5lcnJvcnMgPz89IFtdKS5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIChyZXN1bHQud2FybmluZ3MgPz89IFtdKS5wdXNoKG1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
@@ -76,6 +76,8 @@ class AotCompilation extends angular_compilation_1.AngularCompilation {
|
|
|
76
76
|
for (const resourceDependency of resourceDependencies) {
|
|
77
77
|
if (hostOptions.modifiedFiles.has(resourceDependency)) {
|
|
78
78
|
this.#state.diagnosticCache.delete(sourceFile);
|
|
79
|
+
// Also mark as affected in case changed template affects diagnostics
|
|
80
|
+
affectedFiles.add(sourceFile);
|
|
79
81
|
}
|
|
80
82
|
}
|
|
81
83
|
}
|
|
@@ -213,4 +215,3 @@ function findAffectedFiles(builder, { ignoreForDiagnostics }, includeTTC) {
|
|
|
213
215
|
}
|
|
214
216
|
return affectedFiles;
|
|
215
217
|
}
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW90LWNvbXBpbGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvYW5ndWxhcl9kZXZraXQvYnVpbGRfYW5ndWxhci9zcmMvdG9vbHMvZXNidWlsZC9hbmd1bGFyL2NvbXBpbGF0aW9uL2FvdC1jb21waWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7Ozs7QUFHSCw4REFBaUM7QUFDakMsNERBQTRCO0FBQzVCLCtDQUE0RDtBQUM1RCxrREFJeUI7QUFDekIsc0VBQW9FO0FBQ3BFLCtEQUEyRTtBQUUzRSxnREFBZ0Q7QUFDaEQsK0ZBQStGO0FBQy9GLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE9BQU8sQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDO0FBRW5HLE1BQU0sdUJBQXVCO0lBRVQ7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFQbEIsWUFDa0IsY0FBK0IsRUFDL0IsWUFBNkIsRUFDN0IsaUJBQThELEVBQzlELGFBQXlDLEVBQ3pDLCtCQUErQyxFQUMvQyxrQkFBd0QsRUFDeEQsa0JBQWtCLElBQUksT0FBTyxFQUFrQztRQU4vRCxtQkFBYyxHQUFkLGNBQWMsQ0FBaUI7UUFDL0IsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBNkM7UUFDOUQsa0JBQWEsR0FBYixhQUFhLENBQTRCO1FBQ3pDLG9DQUErQixHQUEvQiwrQkFBK0IsQ0FBZ0I7UUFDL0MsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFzQztRQUN4RCxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0Q7SUFDOUUsQ0FBQztJQUVKLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDO0lBQ3RDLENBQUM7Q0FDRjtBQUVELE1BQWEsY0FBZSxTQUFRLHdDQUFrQjtJQUNwRCxNQUFNLENBQTJCO0lBRWpDLEtBQUssQ0FBQyxVQUFVLENBQ2QsUUFBZ0IsRUFDaEIsV0FBK0IsRUFDL0IsMEJBQXdGO1FBTXhGLG9EQUFvRDtRQUNwRCxNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sd0NBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFakYsMERBQTBEO1FBQzFELE1BQU0sRUFDSixPQUFPLEVBQUUsdUJBQXVCLEVBQ2hDLFNBQVMsRUFDVCxNQUFNLEVBQUUsd0JBQXdCLEdBQ2pDLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0MsTUFBTSxlQUFlLEdBQ25CLDBCQUEwQixFQUFFLENBQUMsdUJBQXVCLENBQUMsSUFBSSx1QkFBdUIsQ0FBQztRQUVuRiwrQkFBK0I7UUFDL0IsTUFBTSxJQUFJLEdBQUcsSUFBQSx3Q0FBeUIsRUFBQyxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFFckUseUVBQXlFO1FBQ3pFLE1BQU0sY0FBYyxHQUFHLElBQUEsdUJBQVcsRUFDaEMsbUJBQW1CLEVBQ25CLEdBQUcsRUFBRSxDQUFDLElBQUksWUFBWSxDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLENBQ3RGLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsUUFBUSxDQUFDO1FBQ2hELE1BQU0sd0JBQXdCLEdBQUcsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQy9ELElBQUEsdUNBQXdCLEVBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUVuRCxJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDO1FBQ2hELElBQUksY0FBYyxHQUFHLEtBQUssQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ2YsVUFBVSxHQUFHLG9CQUFFLENBQUMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFELGNBQWMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDO1NBQy9CO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxvQkFBRSxDQUFDLDhDQUE4QyxDQUN6RSx3QkFBd0IsRUFDeEIsSUFBSSxFQUNKLFVBQVUsRUFDVix3QkFBd0IsQ0FDekIsQ0FBQztRQUVGLE1BQU0sSUFBQSx3QkFBWSxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1FBQy9FLE1BQU0sYUFBYSxHQUFHLElBQUEsdUJBQVcsRUFBQyxrQkFBa0IsRUFBRSxHQUFHLEVBQUUsQ0FDekQsaUJBQWlCLENBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGNBQWMsQ0FBQyxDQUN0RSxDQUFDO1FBRUYsMkZBQTJGO1FBQzNGLE1BQU0sZUFBZSxHQUFHLGlCQUFpQjthQUN0QyxjQUFjLEVBQUU7YUFDaEIsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3RFLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3RCLE1BQU0sb0JBQW9CLEdBQUcsZUFBZSxDQUFDLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRWpGLDRGQUE0RjtZQUM1RixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUU7Z0JBQ2xELEtBQUssTUFBTSxrQkFBa0IsSUFBSSxvQkFBb0IsRUFBRTtvQkFDckQsSUFBSSxXQUFXLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO3dCQUNyRCxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7cUJBQ2hEO2lCQUNGO2FBQ0Y7WUFFRCxPQUFPLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxHQUFHLG9CQUFvQixDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFFTCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksdUJBQXVCLENBQ3ZDLGNBQWMsRUFDZCxJQUFJLEVBQ0osaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixhQUFhLENBQUMsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLFlBQVksRUFDNUUsSUFBQSxnREFBdUIsRUFBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEVBQ3ZFLElBQUksQ0FBQyxNQUFNLEVBQUUsZUFBZSxDQUM3QixDQUFDO1FBRUYsT0FBTyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsZUFBZSxFQUFFLENBQUM7SUFDN0QsQ0FBQztJQUVELENBQUMsa0JBQWtCO1FBQ2pCLElBQUEscUJBQU0sRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLDBFQUEwRSxDQUFDLENBQUM7UUFDaEcsTUFBTSxFQUNKLGFBQWEsRUFDYixlQUFlLEVBQ2YsZUFBZSxFQUNmLCtCQUErQixFQUMvQixpQkFBaUIsR0FDbEIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBRWhCLG9DQUFvQztRQUNwQyxLQUFLLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQywrQkFBK0IsRUFBRSxDQUFDO1FBQzNELEtBQUssQ0FBQyxDQUFDLGVBQWUsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzlDLEtBQUssQ0FBQyxDQUFDLGlCQUFpQixDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDakQsS0FBSyxDQUFDLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUVoRCwyQ0FBMkM7UUFDM0MsS0FBSyxNQUFNLFVBQVUsSUFBSSxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsRUFBRTtZQUMzRCxJQUFJLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ3hELFNBQVM7YUFDVjtZQUVELHNFQUFzRTtZQUN0RSxzRUFBc0U7WUFDdEUsS0FBSyxDQUFDLENBQUMsSUFBQSx1QkFBVyxFQUNoQiwwQkFBMEIsRUFDMUIsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsVUFBVSxDQUFDLEVBQzNELElBQUksQ0FDTCxDQUFDO1lBQ0YsS0FBSyxDQUFDLENBQUMsSUFBQSx1QkFBVyxFQUNoQix5QkFBeUIsRUFDekIsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLEVBQzFELElBQUksQ0FDTCxDQUFDO1lBRUYscURBQXFEO1lBQ3JELElBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFO2dCQUNoQyxTQUFTO2FBQ1Y7WUFFRCx3RUFBd0U7WUFDeEUsd0RBQXdEO1lBQ3hELElBQUksYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDakMsTUFBTSxrQkFBa0IsR0FBRyxJQUFBLHVCQUFXLEVBQ3BDLHlCQUF5QixFQUN6QixHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMscUJBQXFCLENBQUMsVUFBVSxFQUFFLCtCQUErQixDQUFDLEVBQ3hGLElBQUksQ0FDTCxDQUFDO2dCQUNGLGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLGtCQUFrQixDQUFDLENBQUM7Z0JBQ3BELEtBQUssQ0FBQyxDQUFDLGtCQUFrQixDQUFDO2FBQzNCO2lCQUFNO2dCQUNMLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztnQkFDM0QsSUFBSSxrQkFBa0IsRUFBRTtvQkFDdEIsS0FBSyxDQUFDLENBQUMsa0JBQWtCLENBQUM7aUJBQzNCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFBLHFCQUFNLEVBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxrRUFBa0UsQ0FBQyxDQUFDO1FBQ3hGLE1BQU0sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUM3RixNQUFNLGlCQUFpQixHQUNyQixpQkFBaUIsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGVBQWUsSUFBSSxjQUFjLENBQUM7UUFFM0UsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLEVBQWlDLENBQUM7UUFDOUQsTUFBTSxpQkFBaUIsR0FBeUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUU7WUFDMUYsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO2dCQUNoRSxtREFBbUQ7Z0JBQ25ELFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFFbEQsT0FBTzthQUNSO1lBRUQsSUFBQSxxQkFBTSxFQUFDLFdBQVcsRUFBRSxNQUFNLEtBQUssQ0FBQyxFQUFFLHNDQUFzQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO1lBQ3JGLE1BQU0sVUFBVSxHQUFHLG9CQUFFLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFBRSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZFLElBQUksZUFBZSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUU7Z0JBQ2pELE9BQU87YUFDUjtZQUVELGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUN4RSxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDNUUsQ0FBQyxDQUFDO1FBQ0YsTUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxDQUFDLFlBQVksRUFBRTtZQUNqRixNQUFNLEVBQUU7Z0JBQ04sZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZFLGtCQUFrQjthQUNuQjtTQUNGLENBQUMsQ0FBQztRQUVILDZFQUE2RTtRQUM3RSxPQUNFLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLEVBQzdGO1lBQ0EsV0FBVztTQUNaO1FBRUQsd0ZBQXdGO1FBQ3hGLEtBQUssTUFBTSxVQUFVLElBQUksaUJBQWlCLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDM0QsSUFBSSxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNqRixTQUFTO2FBQ1Y7WUFFRCxJQUFJLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDaEMsU0FBUzthQUNWO1lBRUQsSUFBSSxlQUFlLENBQUMsc0JBQXNCLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUNyRSxTQUFTO2FBQ1Y7WUFFRCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7U0FDM0Y7UUFFRCxPQUFPLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUEzTUQsd0NBMk1DO0FBRUQsU0FBUyxpQkFBaUIsQ0FDeEIsT0FBb0QsRUFDcEQsRUFBRSxvQkFBb0IsRUFBK0IsRUFDckQsVUFBbUI7SUFFbkIsTUFBTSxhQUFhLEdBQUcsSUFBSSxHQUFHLEVBQWlCLENBQUM7SUFFL0MsaURBQWlEO0lBQ2pELE9BQU8sSUFBSSxFQUFFO1FBQ1gsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLHdDQUF3QyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ3hGLDJFQUEyRTtZQUMzRSxrRkFBa0Y7WUFDbEYsMEZBQTBGO1lBQzFGLHlGQUF5RjtZQUN6RixZQUFZO1lBQ1osNkdBQTZHO1lBQzdHLElBQUksb0JBQW9CLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUU7Z0JBQzNGLHNGQUFzRjtnQkFDdEYsMEVBQTBFO2dCQUMxRSxNQUFNLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQztnQkFDbkUsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLENBQUM7Z0JBQ25FLElBQUksa0JBQWtCLEVBQUU7b0JBQ3RCLGFBQWEsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsQ0FBQztpQkFDdkM7Z0JBRUQsT0FBTyxJQUFJLENBQUM7YUFDYjtZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1gsTUFBTTtTQUNQO1FBRUQsYUFBYSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsUUFBeUIsQ0FBQyxDQUFDO0tBQ3JEO0lBRUQsOERBQThEO0lBQzlELCtHQUErRztJQUMvRyxnSEFBZ0g7SUFDaEgsbUJBQW1CO0lBQ25CLElBQUksVUFBVSxFQUFFO1FBQ2QsS0FBSyxNQUFNLFVBQVUsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEVBQUU7WUFDakQsSUFBSSxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDM0Ysc0ZBQXNGO2dCQUN0RiwwRUFBMEU7Z0JBQzFFLE1BQU0sZ0JBQWdCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUNuRSxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxrQkFBa0IsRUFBRTtvQkFDdEIsYUFBYSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2lCQUN2QzthQUNGO1NBQ0Y7S0FDRjtJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHR5cGUgbmcgZnJvbSAnQGFuZ3VsYXIvY29tcGlsZXItY2xpJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQnO1xuaW1wb3J0IHRzIGZyb20gJ3R5cGVzY3JpcHQnO1xuaW1wb3J0IHsgcHJvZmlsZUFzeW5jLCBwcm9maWxlU3luYyB9IGZyb20gJy4uLy4uL3Byb2ZpbGluZyc7XG5pbXBvcnQge1xuICBBbmd1bGFySG9zdE9wdGlvbnMsXG4gIGNyZWF0ZUFuZ3VsYXJDb21waWxlckhvc3QsXG4gIGVuc3VyZVNvdXJjZUZpbGVWZXJzaW9ucyxcbn0gZnJvbSAnLi4vYW5ndWxhci1ob3N0JztcbmltcG9ydCB7IGNyZWF0ZVdvcmtlclRyYW5zZm9ybWVyIH0gZnJvbSAnLi4vd2ViLXdvcmtlci10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBBbmd1bGFyQ29tcGlsYXRpb24sIEVtaXRGaWxlUmVzdWx0IH0gZnJvbSAnLi9hbmd1bGFyLWNvbXBpbGF0aW9uJztcblxuLy8gVGVtcG9yYXJ5IGRlZXAgaW1wb3J0IGZvciB0cmFuc2Zvcm1lciBzdXBwb3J0XG4vLyBUT0RPOiBNb3ZlIHRoZXNlIHRvIGEgcHJpdmF0ZSBleHBvcnRzIGxvY2F0aW9uIG9yIG1vdmUgdGhlIGltcGxlbWVudGF0aW9uIGludG8gdGhpcyBwYWNrYWdlLlxuY29uc3QgeyBtZXJnZVRyYW5zZm9ybWVycywgcmVwbGFjZUJvb3RzdHJhcCB9ID0gcmVxdWlyZSgnQG5ndG9vbHMvd2VicGFjay9zcmMvaXZ5L3RyYW5zZm9ybWF0aW9uJyk7XG5cbmNsYXNzIEFuZ3VsYXJDb21waWxhdGlvblN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGFuZ3VsYXJQcm9ncmFtOiBuZy5OZ3RzY1Byb2dyYW0sXG4gICAgcHVibGljIHJlYWRvbmx5IGNvbXBpbGVySG9zdDogbmcuQ29tcGlsZXJIb3N0LFxuICAgIHB1YmxpYyByZWFkb25seSB0eXBlU2NyaXB0UHJvZ3JhbTogdHMuRW1pdEFuZFNlbWFudGljRGlhZ25vc3RpY3NCdWlsZGVyUHJvZ3JhbSxcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWZmZWN0ZWRGaWxlczogUmVhZG9ubHlTZXQ8dHMuU291cmNlRmlsZT4sXG4gICAgcHVibGljIHJlYWRvbmx5IHRlbXBsYXRlRGlhZ25vc3RpY3NPcHRpbWl6YXRpb246IG5nLk9wdGltaXplRm9yLFxuICAgIHB1YmxpYyByZWFkb25seSB3ZWJXb3JrZXJUcmFuc2Zvcm06IHRzLlRyYW5zZm9ybWVyRmFjdG9yeTx0cy5Tb3VyY2VGaWxlPixcbiAgICBwdWJsaWMgcmVhZG9ubHkgZGlhZ25vc3RpY0NhY2hlID0gbmV3IFdlYWtNYXA8dHMuU291cmNlRmlsZSwgdHMuRGlhZ25vc3RpY1tdPigpLFxuICApIHt9XG5cbiAgZ2V0IGFuZ3VsYXJDb21waWxlcigpIHtcbiAgICByZXR1cm4gdGhpcy5hbmd1bGFyUHJvZ3JhbS5jb21waWxlcjtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQW90Q29tcGlsYXRpb24gZXh0ZW5kcyBBbmd1bGFyQ29tcGlsYXRpb24ge1xuICAjc3RhdGU/OiBBbmd1bGFyQ29tcGlsYXRpb25TdGF0ZTtcblxuICBhc3luYyBpbml0aWFsaXplKFxuICAgIHRzY29uZmlnOiBzdHJpbmcsXG4gICAgaG9zdE9wdGlvbnM6IEFuZ3VsYXJIb3N0T3B0aW9ucyxcbiAgICBjb21waWxlck9wdGlvbnNUcmFuc2Zvcm1lcj86IChjb21waWxlck9wdGlvbnM6IG5nLkNvbXBpbGVyT3B0aW9ucykgPT4gbmcuQ29tcGlsZXJPcHRpb25zLFxuICApOiBQcm9taXNlPHtcbiAgICBhZmZlY3RlZEZpbGVzOiBSZWFkb25seVNldDx0cy5Tb3VyY2VGaWxlPjtcbiAgICBjb21waWxlck9wdGlvbnM6IG5nLkNvbXBpbGVyT3B0aW9ucztcbiAgICByZWZlcmVuY2VkRmlsZXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICB9PiB7XG4gICAgLy8gRHluYW1pY2FsbHkgbG9hZCB0aGUgQW5ndWxhciBjb21waWxlciBDTEkgcGFja2FnZVxuICAgIGNvbnN0IHsgTmd0c2NQcm9ncmFtLCBPcHRpbWl6ZUZvciB9ID0gYXdhaXQgQW5ndWxhckNvbXBpbGF0aW9uLmxvYWRDb21waWxlckNsaSgpO1xuXG4gICAgLy8gTG9hZCB0aGUgY29tcGlsZXIgY29uZmlndXJhdGlvbiBhbmQgdHJhbnNmb3JtIGFzIG5lZWRlZFxuICAgIGNvbnN0IHtcbiAgICAgIG9wdGlvbnM6IG9yaWdpbmFsQ29tcGlsZXJPcHRpb25zLFxuICAgICAgcm9vdE5hbWVzLFxuICAgICAgZXJyb3JzOiBjb25maWd1cmF0aW9uRGlhZ25vc3RpY3MsXG4gICAgfSA9IGF3YWl0IHRoaXMubG9hZENvbmZpZ3VyYXRpb24odHNjb25maWcpO1xuICAgIGNvbnN0IGNvbXBpbGVyT3B0aW9ucyA9XG4gICAgICBjb21waWxlck9wdGlvbnNUcmFuc2Zvcm1lcj8uKG9yaWdpbmFsQ29tcGlsZXJPcHRpb25zKSA/PyBvcmlnaW5hbENvbXBpbGVyT3B0aW9ucztcblxuICAgIC8vIENyZWF0ZSBBbmd1bGFyIGNvbXBpbGVyIGhvc3RcbiAgICBjb25zdCBob3N0ID0gY3JlYXRlQW5ndWxhckNvbXBpbGVySG9zdChjb21waWxlck9wdGlvbnMsIGhvc3RPcHRpb25zKTtcblxuICAgIC8vIENyZWF0ZSB0aGUgQW5ndWxhciBzcGVjaWZpYyBwcm9ncmFtIHRoYXQgY29udGFpbnMgdGhlIEFuZ3VsYXIgY29tcGlsZXJcbiAgICBjb25zdCBhbmd1bGFyUHJvZ3JhbSA9IHByb2ZpbGVTeW5jKFxuICAgICAgJ05HX0NSRUFURV9QUk9HUkFNJyxcbiAgICAgICgpID0+IG5ldyBOZ3RzY1Byb2dyYW0ocm9vdE5hbWVzLCBjb21waWxlck9wdGlvbnMsIGhvc3QsIHRoaXMuI3N0YXRlPy5hbmd1bGFyUHJvZ3JhbSksXG4gICAgKTtcbiAgICBjb25zdCBhbmd1bGFyQ29tcGlsZXIgPSBhbmd1bGFyUHJvZ3JhbS5jb21waWxlcjtcbiAgICBjb25zdCBhbmd1bGFyVHlwZVNjcmlwdFByb2dyYW0gPSBhbmd1bGFyUHJvZ3JhbS5nZXRUc1Byb2dyYW0oKTtcbiAgICBlbnN1cmVTb3VyY2VGaWxlVmVyc2lvbnMoYW5ndWxhclR5cGVTY3JpcHRQcm9ncmFtKTtcblxuICAgIGxldCBvbGRQcm9ncmFtID0gdGhpcy4jc3RhdGU/LnR5cGVTY3JpcHRQcm9ncmFtO1xuICAgIGxldCB1c2luZ0J1aWxkSW5mbyA9IGZhbHNlO1xuICAgIGlmICghb2xkUHJvZ3JhbSkge1xuICAgICAgb2xkUHJvZ3JhbSA9IHRzLnJlYWRCdWlsZGVyUHJvZ3JhbShjb21waWxlck9wdGlvbnMsIGhvc3QpO1xuICAgICAgdXNpbmdCdWlsZEluZm8gPSAhIW9sZFByb2dyYW07XG4gICAgfVxuXG4gICAgY29uc3QgdHlwZVNjcmlwdFByb2dyYW0gPSB0cy5jcmVhdGVFbWl0QW5kU2VtYW50aWNEaWFnbm9zdGljc0J1aWxkZXJQcm9ncmFtKFxuICAgICAgYW5ndWxhclR5cGVTY3JpcHRQcm9ncmFtLFxuICAgICAgaG9zdCxcbiAgICAgIG9sZFByb2dyYW0sXG4gICAgICBjb25maWd1cmF0aW9uRGlhZ25vc3RpY3MsXG4gICAgKTtcblxuICAgIGF3YWl0IHByb2ZpbGVBc3luYygnTkdfQU5BTFlaRV9QUk9HUkFNJywgKCkgPT4gYW5ndWxhckNvbXBpbGVyLmFuYWx5emVBc3luYygpKTtcbiAgICBjb25zdCBhZmZlY3RlZEZpbGVzID0gcHJvZmlsZVN5bmMoJ05HX0ZJTkRfQUZGRUNURUQnLCAoKSA9PlxuICAgICAgZmluZEFmZmVjdGVkRmlsZXModHlwZVNjcmlwdFByb2dyYW0sIGFuZ3VsYXJDb21waWxlciwgdXNpbmdCdWlsZEluZm8pLFxuICAgICk7XG5cbiAgICAvLyBHZXQgYWxsIGZpbGVzIHJlZmVyZW5jZWQgaW4gdGhlIFR5cGVTY3JpcHQvQW5ndWxhciBwcm9ncmFtIGluY2x1ZGluZyBjb21wb25lbnQgcmVzb3VyY2VzXG4gICAgY29uc3QgcmVmZXJlbmNlZEZpbGVzID0gdHlwZVNjcmlwdFByb2dyYW1cbiAgICAgIC5nZXRTb3VyY2VGaWxlcygpXG4gICAgICAuZmlsdGVyKChzb3VyY2VGaWxlKSA9PiAhYW5ndWxhckNvbXBpbGVyLmlnbm9yZUZvckVtaXQuaGFzKHNvdXJjZUZpbGUpKVxuICAgICAgLmZsYXRNYXAoKHNvdXJjZUZpbGUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzb3VyY2VEZXBlbmRlbmNpZXMgPSBhbmd1bGFyQ29tcGlsZXIuZ2V0UmVzb3VyY2VEZXBlbmRlbmNpZXMoc291cmNlRmlsZSk7XG5cbiAgICAgICAgLy8gQWxzbyBpbnZhbGlkYXRlIEFuZ3VsYXIgZGlhZ25vc3RpY3MgZm9yIGEgc291cmNlIGZpbGUgaWYgY29tcG9uZW50IHJlc291cmNlcyBhcmUgbW9kaWZpZWRcbiAgICAgICAgaWYgKHRoaXMuI3N0YXRlICYmIGhvc3RPcHRpb25zLm1vZGlmaWVkRmlsZXM/LnNpemUpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHJlc291cmNlRGVwZW5kZW5jeSBvZiByZXNvdXJjZURlcGVuZGVuY2llcykge1xuICAgICAgICAgICAgaWYgKGhvc3RPcHRpb25zLm1vZGlmaWVkRmlsZXMuaGFzKHJlc291cmNlRGVwZW5kZW5jeSkpIHtcbiAgICAgICAgICAgICAgdGhpcy4jc3RhdGUuZGlhZ25vc3RpY0NhY2hlLmRlbGV0ZShzb3VyY2VGaWxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gW3NvdXJjZUZpbGUuZmlsZU5hbWUsIC4uLnJlc291cmNlRGVwZW5kZW5jaWVzXTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy4jc3RhdGUgPSBuZXcgQW5ndWxhckNvbXBpbGF0aW9uU3RhdGUoXG4gICAgICBhbmd1bGFyUHJvZ3JhbSxcbiAgICAgIGhvc3QsXG4gICAgICB0eXBlU2NyaXB0UHJvZ3JhbSxcbiAgICAgIGFmZmVjdGVkRmlsZXMsXG4gICAgICBhZmZlY3RlZEZpbGVzLnNpemUgPT09IDEgPyBPcHRpbWl6ZUZvci5TaW5nbGVGaWxlIDogT3B0aW1pemVGb3IuV2hvbGVQcm9ncmFtLFxuICAgICAgY3JlYXRlV29ya2VyVHJhbnNmb3JtZXIoaG9zdE9wdGlvbnMucHJvY2Vzc1dlYldvcmtlci5iaW5kKGhvc3RPcHRpb25zKSksXG4gICAgICB0aGlzLiNzdGF0ZT8uZGlhZ25vc3RpY0NhY2hlLFxuICAgICk7XG5cbiAgICByZXR1cm4geyBhZmZlY3RlZEZpbGVzLCBjb21waWxlck9wdGlvbnMsIHJlZmVyZW5jZWRGaWxlcyB9O1xuICB9XG5cbiAgKmNvbGxlY3REaWFnbm9zdGljcygpOiBJdGVyYWJsZTx0cy5EaWFnbm9zdGljPiB7XG4gICAgYXNzZXJ0KHRoaXMuI3N0YXRlLCAnQW5ndWxhciBjb21waWxhdGlvbiBtdXN0IGJlIGluaXRpYWxpemVkIHByaW9yIHRvIGNvbGxlY3RpbmcgZGlhZ25vc3RpY3MuJyk7XG4gICAgY29uc3Qge1xuICAgICAgYWZmZWN0ZWRGaWxlcyxcbiAgICAgIGFuZ3VsYXJDb21waWxlcixcbiAgICAgIGRpYWdub3N0aWNDYWNoZSxcbiAgICAgIHRlbXBsYXRlRGlhZ25vc3RpY3NPcHRpbWl6YXRpb24sXG4gICAgICB0eXBlU2NyaXB0UHJvZ3JhbSxcbiAgICB9ID0gdGhpcy4jc3RhdGU7XG5cbiAgICAvLyBDb2xsZWN0IHByb2dyYW0gbGV2ZWwgZGlhZ25vc3RpY3NcbiAgICB5aWVsZCogdHlwZVNjcmlwdFByb2dyYW0uZ2V0Q29uZmlnRmlsZVBhcnNpbmdEaWFnbm9zdGljcygpO1xuICAgIHlpZWxkKiBhbmd1bGFyQ29tcGlsZXIuZ2V0T3B0aW9uRGlhZ25vc3RpY3MoKTtcbiAgICB5aWVsZCogdHlwZVNjcmlwdFByb2dyYW0uZ2V0T3B0aW9uc0RpYWdub3N0aWNzKCk7XG4gICAgeWllbGQqIHR5cGVTY3JpcHRQcm9ncmFtLmdldEdsb2JhbERpYWdub3N0aWNzKCk7XG5cbiAgICAvLyBDb2xsZWN0IHNvdXJjZSBmaWxlIHNwZWNpZmljIGRpYWdub3N0aWNzXG4gICAgZm9yIChjb25zdCBzb3VyY2VGaWxlIG9mIHR5cGVTY3JpcHRQcm9ncmFtLmdldFNvdXJjZUZpbGVzKCkpIHtcbiAgICAgIGlmIChhbmd1bGFyQ29tcGlsZXIuaWdub3JlRm9yRGlhZ25vc3RpY3MuaGFzKHNvdXJjZUZpbGUpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBUeXBlU2NyaXB0IHdpbGwgdXNlIGNhY2hlZCBkaWFnbm9zdGljcyBmb3IgZmlsZXMgdGhhdCBoYXZlIG5vdCBiZWVuXG4gICAgICAvLyBjaGFuZ2VkIG9yIGFmZmVjdGVkIGZvciB0aGlzIGJ1aWxkIHdoZW4gdXNpbmcgaW5jcmVtZW50YWwgYnVpbGRpbmcuXG4gICAgICB5aWVsZCogcHJvZmlsZVN5bmMoXG4gICAgICAgICdOR19ESUFHTk9TVElDU19TWU5UQUNUSUMnLFxuICAgICAgICAoKSA9PiB0eXBlU2NyaXB0UHJvZ3JhbS5nZXRTeW50YWN0aWNEaWFnbm9zdGljcyhzb3VyY2VGaWxlKSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICk7XG4gICAgICB5aWVsZCogcHJvZmlsZVN5bmMoXG4gICAgICAgICdOR19ESUFHTk9TVElDU19TRU1BTlRJQycsXG4gICAgICAgICgpID0+IHR5cGVTY3JpcHRQcm9ncmFtLmdldFNlbWFudGljRGlhZ25vc3RpY3Moc291cmNlRmlsZSksXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuXG4gICAgICAvLyBEZWNsYXJhdGlvbiBmaWxlcyBjYW5ub3QgaGF2ZSB0ZW1wbGF0ZSBkaWFnbm9zdGljc1xuICAgICAgaWYgKHNvdXJjZUZpbGUuaXNEZWNsYXJhdGlvbkZpbGUpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgcmVxdWVzdCBBbmd1bGFyIHRlbXBsYXRlIGRpYWdub3N0aWNzIGZvciBhZmZlY3RlZCBmaWxlcyB0byBhdm9pZFxuICAgICAgLy8gb3ZlcmhlYWQgb2YgdGVtcGxhdGUgZGlhZ25vc3RpY3MgZm9yIHVuY2hhbmdlZCBmaWxlcy5cbiAgICAgIGlmIChhZmZlY3RlZEZpbGVzLmhhcyhzb3VyY2VGaWxlKSkge1xuICAgICAgICBjb25zdCBhbmd1bGFyRGlhZ25vc3RpY3MgPSBwcm9maWxlU3luYyhcbiAgICAgICAgICAnTkdfRElBR05PU1RJQ1NfVEVNUExBVEUnLFxuICAgICAgICAgICgpID0+IGFuZ3VsYXJDb21waWxlci5nZXREaWFnbm9zdGljc0ZvckZpbGUoc291cmNlRmlsZSwgdGVtcGxhdGVEaWFnbm9zdGljc09wdGltaXphdGlvbiksXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgICAgZGlhZ25vc3RpY0NhY2hlLnNldChzb3VyY2VGaWxlLCBhbmd1bGFyRGlhZ25vc3RpY3MpO1xuICAgICAgICB5aWVsZCogYW5ndWxhckRpYWdub3N0aWNzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYW5ndWxhckRpYWdub3N0aWNzID0gZGlhZ25vc3RpY0NhY2hlLmdldChzb3VyY2VGaWxlKTtcbiAgICAgICAgaWYgKGFuZ3VsYXJEaWFnbm9zdGljcykge1xuICAgICAgICAgIHlpZWxkKiBhbmd1bGFyRGlhZ25vc3RpY3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBlbWl0QWZmZWN0ZWRGaWxlcygpOiBJdGVyYWJsZTxFbWl0RmlsZVJlc3VsdD4ge1xuICAgIGFzc2VydCh0aGlzLiNzdGF0ZSwgJ0FuZ3VsYXIgY29tcGlsYXRpb24gbXVzdCBiZSBpbml0aWFsaXplZCBwcmlvciB0byBlbWl0dGluZyBmaWxlcy4nKTtcbiAgICBjb25zdCB7IGFuZ3VsYXJDb21waWxlciwgY29tcGlsZXJIb3N0LCB0eXBlU2NyaXB0UHJvZ3JhbSwgd2ViV29ya2VyVHJhbnNmb3JtIH0gPSB0aGlzLiNzdGF0ZTtcbiAgICBjb25zdCBidWlsZEluZm9GaWxlbmFtZSA9XG4gICAgICB0eXBlU2NyaXB0UHJvZ3JhbS5nZXRDb21waWxlck9wdGlvbnMoKS50c0J1aWxkSW5mb0ZpbGUgPz8gJy50c2J1aWxkaW5mbyc7XG5cbiAgICBjb25zdCBlbWl0dGVkRmlsZXMgPSBuZXcgTWFwPHRzLlNvdXJjZUZpbGUsIEVtaXRGaWxlUmVzdWx0PigpO1xuICAgIGNvbnN0IHdyaXRlRmlsZUNhbGxiYWNrOiB0cy5Xcml0ZUZpbGVDYWxsYmFjayA9IChmaWxlbmFtZSwgY29udGVudHMsIF9hLCBfYiwgc291cmNlRmlsZXMpID0+IHtcbiAgICAgIGlmICghc291cmNlRmlsZXM/Lmxlbmd0aCAmJiBmaWxlbmFtZS5lbmRzV2l0aChidWlsZEluZm9GaWxlbmFtZSkpIHtcbiAgICAgICAgLy8gU2F2ZSBidWlsZGVyIGluZm8gY29udGVudHMgdG8gc3BlY2lmaWVkIGxvY2F0aW9uXG4gICAgICAgIGNvbXBpbGVySG9zdC53cml0ZUZpbGUoZmlsZW5hbWUsIGNvbnRlbnRzLCBmYWxzZSk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBhc3NlcnQoc291cmNlRmlsZXM/Lmxlbmd0aCA9PT0gMSwgJ0ludmFsaWQgVHlwZVNjcmlwdCBwcm9ncmFtIGVtaXQgZm9yICcgKyBmaWxlbmFtZSk7XG4gICAgICBjb25zdCBzb3VyY2VGaWxlID0gdHMuZ2V0T3JpZ2luYWxOb2RlKHNvdXJjZUZpbGVzWzBdLCB0cy5pc1NvdXJjZUZpbGUpO1xuICAgICAgaWYgKGFuZ3VsYXJDb21waWxlci5pZ25vcmVGb3JFbWl0Lmhhcyhzb3VyY2VGaWxlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGFuZ3VsYXJDb21waWxlci5pbmNyZW1lbnRhbENvbXBpbGF0aW9uLnJlY29yZFN1Y2Nlc3NmdWxFbWl0KHNvdXJjZUZpbGUpO1xuICAgICAgZW1pdHRlZEZpbGVzLnNldChzb3VyY2VGaWxlLCB7IGZpbGVuYW1lOiBzb3VyY2VGaWxlLmZpbGVOYW1lLCBjb250ZW50cyB9KTtcbiAgICB9O1xuICAgIGNvbnN0IHRyYW5zZm9ybWVycyA9IG1lcmdlVHJhbnNmb3JtZXJzKGFuZ3VsYXJDb21waWxlci5wcmVwYXJlRW1pdCgpLnRyYW5zZm9ybWVycywge1xuICAgICAgYmVmb3JlOiBbXG4gICAgICAgIHJlcGxhY2VCb290c3RyYXAoKCkgPT4gdHlwZVNjcmlwdFByb2dyYW0uZ2V0UHJvZ3JhbSgpLmdldFR5cGVDaGVja2VyKCkpLFxuICAgICAgICB3ZWJXb3JrZXJUcmFuc2Zvcm0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgLy8gVHlwZVNjcmlwdCB3aWxsIGxvb3AgdW50aWwgdGhlcmUgYXJlIG5vIG1vcmUgYWZmZWN0ZWQgZmlsZXMgaW4gdGhlIHByb2dyYW1cbiAgICB3aGlsZSAoXG4gICAgICB0eXBlU2NyaXB0UHJvZ3JhbS5lbWl0TmV4dEFmZmVjdGVkRmlsZSh3cml0ZUZpbGVDYWxsYmFjaywgdW5kZWZpbmVkLCB1bmRlZmluZWQsIHRyYW5zZm9ybWVycylcbiAgICApIHtcbiAgICAgIC8qIGVtcHR5ICovXG4gICAgfVxuXG4gICAgLy8gQW5ndWxhciBtYXkgaGF2ZSBmaWxlcyB0aGF0IG11c3QgYmUgZW1pdHRlZCBidXQgVHlwZVNjcmlwdCBkb2VzIG5vdCBjb25zaWRlciBhZmZlY3RlZFxuICAgIGZvciAoY29uc3Qgc291cmNlRmlsZSBvZiB0eXBlU2NyaXB0UHJvZ3JhbS5nZXRTb3VyY2VGaWxlcygpKSB7XG4gICAgICBpZiAoZW1pdHRlZEZpbGVzLmhhcyhzb3VyY2VGaWxlKSB8fCBhbmd1bGFyQ29tcGlsZXIuaWdub3JlRm9yRW1pdC5oYXMoc291cmNlRmlsZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChzb3VyY2VGaWxlLmlzRGVjbGFyYXRpb25GaWxlKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoYW5ndWxhckNvbXBpbGVyLmluY3JlbWVudGFsQ29tcGlsYXRpb24uc2FmZVRvU2tpcEVtaXQoc291cmNlRmlsZSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHR5cGVTY3JpcHRQcm9ncmFtLmVtaXQoc291cmNlRmlsZSwgd3JpdGVGaWxlQ2FsbGJhY2ssIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB0cmFuc2Zvcm1lcnMpO1xuICAgIH1cblxuICAgIHJldHVybiBlbWl0dGVkRmlsZXMudmFsdWVzKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEFmZmVjdGVkRmlsZXMoXG4gIGJ1aWxkZXI6IHRzLkVtaXRBbmRTZW1hbnRpY0RpYWdub3N0aWNzQnVpbGRlclByb2dyYW0sXG4gIHsgaWdub3JlRm9yRGlhZ25vc3RpY3MgfTogbmcuTmd0c2NQcm9ncmFtWydjb21waWxlciddLFxuICBpbmNsdWRlVFRDOiBib29sZWFuLFxuKTogU2V0PHRzLlNvdXJjZUZpbGU+IHtcbiAgY29uc3QgYWZmZWN0ZWRGaWxlcyA9IG5ldyBTZXQ8dHMuU291cmNlRmlsZT4oKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc3RhbnQtY29uZGl0aW9uXG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gYnVpbGRlci5nZXRTZW1hbnRpY0RpYWdub3N0aWNzT2ZOZXh0QWZmZWN0ZWRGaWxlKHVuZGVmaW5lZCwgKHNvdXJjZUZpbGUpID0+IHtcbiAgICAgIC8vIElmIHRoZSBhZmZlY3RlZCBmaWxlIGlzIGEgVFRDIHNoaW0sIGFkZCB0aGUgc2hpbSdzIG9yaWdpbmFsIHNvdXJjZSBmaWxlLlxuICAgICAgLy8gVGhpcyBlbnN1cmVzIHRoYXQgY2hhbmdlcyB0aGF0IGFmZmVjdCBUVEMgYXJlIHR5cGVjaGVja2VkIGV2ZW4gd2hlbiB0aGUgY2hhbmdlc1xuICAgICAgLy8gYXJlIG90aGVyd2lzZSB1bnJlbGF0ZWQgZnJvbSBhIFRTIHBlcnNwZWN0aXZlIGFuZCBkbyBub3QgcmVzdWx0IGluIEl2eSBjb2RlZ2VuIGNoYW5nZXMuXG4gICAgICAvLyBGb3IgZXhhbXBsZSwgY2hhbmdpbmcgQElucHV0IHByb3BlcnR5IHR5cGVzIG9mIGEgZGlyZWN0aXZlIHVzZWQgaW4gYW5vdGhlciBjb21wb25lbnQnc1xuICAgICAgLy8gdGVtcGxhdGUuXG4gICAgICAvLyBBIFRUQyBzaGltIGlzIGEgZmlsZSB0aGF0IGhhcyBiZWVuIGlnbm9yZWQgZm9yIGRpYWdub3N0aWNzIGFuZCBoYXMgYSBmaWxlbmFtZSBlbmRpbmcgaW4gYC5uZ3R5cGVjaGVjay50c2AuXG4gICAgICBpZiAoaWdub3JlRm9yRGlhZ25vc3RpY3MuaGFzKHNvdXJjZUZpbGUpICYmIHNvdXJjZUZpbGUuZmlsZU5hbWUuZW5kc1dpdGgoJy5uZ3R5cGVjaGVjay50cycpKSB7XG4gICAgICAgIC8vIFRoaXMgZmlsZSBuYW1lIGNvbnZlcnNpb24gcmVsaWVzIG9uIGludGVybmFsIGNvbXBpbGVyIGxvZ2ljIGFuZCBzaG91bGQgYmUgY29udmVydGVkXG4gICAgICAgIC8vIHRvIGFuIG9mZmljaWFsIG1ldGhvZCB3aGVuIGF2YWlsYWJsZS4gMTUgaXMgbGVuZ3RoIG9mIGAubmd0eXBlY2hlY2sudHNgXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsRmlsZW5hbWUgPSBzb3VyY2VGaWxlLmZpbGVOYW1lLnNsaWNlKDAsIC0xNSkgKyAnLnRzJztcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxTb3VyY2VGaWxlID0gYnVpbGRlci5nZXRTb3VyY2VGaWxlKG9yaWdpbmFsRmlsZW5hbWUpO1xuICAgICAgICBpZiAob3JpZ2luYWxTb3VyY2VGaWxlKSB7XG4gICAgICAgICAgYWZmZWN0ZWRGaWxlcy5hZGQob3JpZ2luYWxTb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgYWZmZWN0ZWRGaWxlcy5hZGQocmVzdWx0LmFmZmVjdGVkIGFzIHRzLlNvdXJjZUZpbGUpO1xuICB9XG5cbiAgLy8gQWRkIGFsbCBmaWxlcyB3aXRoIGFzc29jaWF0ZWQgdGVtcGxhdGUgdHlwZSBjaGVja2luZyBmaWxlcy5cbiAgLy8gU3RvcmVkIFRTIGJ1aWxkIGluZm8gZG9lcyBub3QgaGF2ZSBrbm93bGVkZ2Ugb2YgdGhlIEFPVCBjb21waWxlciBvciB0aGUgdHlwZWNoZWNraW5nIHN0YXRlIG9mIHRoZSB0ZW1wbGF0ZXMuXG4gIC8vIFRvIGVuc3VyZSB0aGF0IGVycm9ycyBhcmUgcmVwb3J0ZWQgY29ycmVjdGx5LCBhbGwgQU9UIGNvbXBvbmVudCBkaWFnbm9zdGljcyBuZWVkIHRvIGJlIGFuYWx5emVkIGV2ZW4gaWYgYnVpbGRcbiAgLy8gaW5mbyBpcyBwcmVzZW50LlxuICBpZiAoaW5jbHVkZVRUQykge1xuICAgIGZvciAoY29uc3Qgc291cmNlRmlsZSBvZiBidWlsZGVyLmdldFNvdXJjZUZpbGVzKCkpIHtcbiAgICAgIGlmIChpZ25vcmVGb3JEaWFnbm9zdGljcy5oYXMoc291cmNlRmlsZSkgJiYgc291cmNlRmlsZS5maWxlTmFtZS5lbmRzV2l0aCgnLm5ndHlwZWNoZWNrLnRzJykpIHtcbiAgICAgICAgLy8gVGhpcyBmaWxlIG5hbWUgY29udmVyc2lvbiByZWxpZXMgb24gaW50ZXJuYWwgY29tcGlsZXIgbG9naWMgYW5kIHNob3VsZCBiZSBjb252ZXJ0ZWRcbiAgICAgICAgLy8gdG8gYW4gb2ZmaWNpYWwgbWV0aG9kIHdoZW4gYXZhaWxhYmxlLiAxNSBpcyBsZW5ndGggb2YgYC5uZ3R5cGVjaGVjay50c2BcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxGaWxlbmFtZSA9IHNvdXJjZUZpbGUuZmlsZU5hbWUuc2xpY2UoMCwgLTE1KSArICcudHMnO1xuICAgICAgICBjb25zdCBvcmlnaW5hbFNvdXJjZUZpbGUgPSBidWlsZGVyLmdldFNvdXJjZUZpbGUob3JpZ2luYWxGaWxlbmFtZSk7XG4gICAgICAgIGlmIChvcmlnaW5hbFNvdXJjZUZpbGUpIHtcbiAgICAgICAgICBhZmZlY3RlZEZpbGVzLmFkZChvcmlnaW5hbFNvdXJjZUZpbGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGFmZmVjdGVkRmlsZXM7XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
import type { AngularCompilation } from './angular-compilation';
|
|
9
|
+
/**
|
|
10
|
+
* Creates an Angular compilation object that can be used to perform Angular application
|
|
11
|
+
* compilation either for AOT or JIT mode. By default a parallel compilation is created
|
|
12
|
+
* that uses a Node.js worker thread.
|
|
13
|
+
* @param jit True, for Angular JIT compilation; False, for Angular AOT compilation.
|
|
14
|
+
* @returns An instance of an Angular compilation object.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createAngularCompilation(jit: boolean): Promise<AngularCompilation>;
|