projen 0.80.13 → 0.80.15
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/.jsii +23 -23
- package/lib/awscdk/auto-discover.js +5 -5
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +2 -2
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +1 -1
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/cli/cmds/new.d.ts +1 -1
- package/lib/cli/cmds/new.js +9 -3
- package/lib/cli/util.d.ts +1 -1
- package/lib/cli/util.js +3 -3
- package/lib/component.js +1 -1
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +1 -1
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +4 -2
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +2 -2
- package/lib/projenrc.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/renovatebot.js +1 -1
- package/lib/sample-file.js +2 -2
- package/lib/semver.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-runtime.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +6 -6
- package/lib/version.js +2 -2
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +4 -4
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/package.json +1 -1
package/lib/cdk/jsii-project.js
CHANGED
|
@@ -328,7 +328,7 @@ class JsiiProject extends typescript_1.TypeScriptProject {
|
|
|
328
328
|
}
|
|
329
329
|
exports.JsiiProject = JsiiProject;
|
|
330
330
|
_a = JSII_RTTI_SYMBOL_1;
|
|
331
|
-
JsiiProject[_a] = { fqn: "projen.cdk.JsiiProject", version: "0.80.
|
|
331
|
+
JsiiProject[_a] = { fqn: "projen.cdk.JsiiProject", version: "0.80.15" };
|
|
332
332
|
function parseAuthorAddress(options) {
|
|
333
333
|
let authorEmail = options.authorEmail;
|
|
334
334
|
let authorUrl = options.authorUrl;
|
|
@@ -20,7 +20,7 @@ class AutoDiscover extends component_1.Component {
|
|
|
20
20
|
}
|
|
21
21
|
exports.AutoDiscover = AutoDiscover;
|
|
22
22
|
_a = JSII_RTTI_SYMBOL_1;
|
|
23
|
-
AutoDiscover[_a] = { fqn: "projen.cdk8s.AutoDiscover", version: "0.80.
|
|
23
|
+
AutoDiscover[_a] = { fqn: "projen.cdk8s.AutoDiscover", version: "0.80.15" };
|
|
24
24
|
/**
|
|
25
25
|
* Discovers and creates integration tests from files in the test root.
|
|
26
26
|
*/
|
|
@@ -37,5 +37,5 @@ class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase
|
|
|
37
37
|
}
|
|
38
38
|
exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
|
|
39
39
|
_b = JSII_RTTI_SYMBOL_1;
|
|
40
|
-
IntegrationTestAutoDiscover[_b] = { fqn: "projen.cdk8s.IntegrationTestAutoDiscover", version: "0.80.
|
|
40
|
+
IntegrationTestAutoDiscover[_b] = { fqn: "projen.cdk8s.IntegrationTestAutoDiscover", version: "0.80.15" };
|
|
41
41
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9hdXRvLWRpc2NvdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEseURBQXFEO0FBQ3JELGdDQUdnQjtBQUNoQiw0Q0FBeUM7QUFnQnpDOzs7R0FHRztBQUNILE1BQWEsWUFBYSxTQUFRLHFCQUFTO0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLE9BQU8sQ0FBQywyQkFBMkIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7O0FBUEgsb0NBUUM7OztBQVVEOztHQUVHO0FBQ0gsTUFBYSwyQkFBNEIsU0FBUSxxQ0FBK0I7SUFDOUUsWUFBWSxPQUFnQixFQUFFLE9BQTJDO1FBQ3ZFLEtBQUssQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEIsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDMUMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVU7Z0JBQ1YsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ25DLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQVZILGtFQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0IH0gZnJvbSBcIi4vaW50ZWdyYXRpb24tdGVzdFwiO1xuaW1wb3J0IHtcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSxcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMsXG59IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBBdXRvRGlzY292ZXJgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZGlzY292ZXIgaW50ZWdyYXRpb24gdGVzdHNcbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBBdXRvbWF0aWNhbGx5IGRpc2NvdmVycyBhbmQgY3JlYXRlcyBgSW50ZWdyYXRpb25UZXN0YHMgZnJvbSBlbnRyeSBwb2ludHNcbiAqIGZvdW5kIGluIHRoZSB0ZXN0IHRyZWUuXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRvRGlzY292ZXIgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIG9wdGlvbnMpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBQYXRoIHRvIHRoZSB0c2NvbmZpZyBmaWxlIHRvIHVzZSBmb3IgaW50ZWdyYXRpb24gdGVzdHMuXG4gICAqL1xuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBEaXNjb3ZlcnMgYW5kIGNyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZnJvbSBmaWxlcyBpbiB0aGUgdGVzdCByb290LlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBvcHRpb25zKTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -50,7 +50,7 @@ class Cdk8sPythonApp extends python_project_1.PythonProject {
|
|
|
50
50
|
}
|
|
51
51
|
exports.Cdk8sPythonApp = Cdk8sPythonApp;
|
|
52
52
|
_a = JSII_RTTI_SYMBOL_1;
|
|
53
|
-
Cdk8sPythonApp[_a] = { fqn: "projen.cdk8s.Cdk8sPythonApp", version: "0.80.
|
|
53
|
+
Cdk8sPythonApp[_a] = { fqn: "projen.cdk8s.Cdk8sPythonApp", version: "0.80.15" };
|
|
54
54
|
class AppCode extends __1.Component {
|
|
55
55
|
constructor(project, filename) {
|
|
56
56
|
super(project);
|
|
@@ -76,7 +76,7 @@ class Cdk8sTypeScriptApp extends typescript_1.TypeScriptAppProject {
|
|
|
76
76
|
}
|
|
77
77
|
exports.Cdk8sTypeScriptApp = Cdk8sTypeScriptApp;
|
|
78
78
|
_a = JSII_RTTI_SYMBOL_1;
|
|
79
|
-
Cdk8sTypeScriptApp[_a] = { fqn: "projen.cdk8s.Cdk8sTypeScriptApp", version: "0.80.
|
|
79
|
+
Cdk8sTypeScriptApp[_a] = { fqn: "projen.cdk8s.Cdk8sTypeScriptApp", version: "0.80.15" };
|
|
80
80
|
class SampleCode extends component_1.Component {
|
|
81
81
|
constructor(project) {
|
|
82
82
|
super(project);
|
|
@@ -59,5 +59,5 @@ class ConstructLibraryCdk8s extends cdk_1.ConstructLibrary {
|
|
|
59
59
|
}
|
|
60
60
|
exports.ConstructLibraryCdk8s = ConstructLibraryCdk8s;
|
|
61
61
|
_a = JSII_RTTI_SYMBOL_1;
|
|
62
|
-
ConstructLibraryCdk8s[_a] = { fqn: "projen.cdk8s.ConstructLibraryCdk8s", version: "0.80.
|
|
62
|
+
ConstructLibraryCdk8s[_a] = { fqn: "projen.cdk8s.ConstructLibraryCdk8s", version: "0.80.15" };
|
|
63
63
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NkazhzL2NkazhzLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxtREFBK0M7QUFDL0MsZ0NBQW1FO0FBMkRuRTs7Ozs7Ozs7R0FRRztBQUNILE1BQWEscUJBQXNCLFNBQVEsc0JBQWdCO0lBV3pELFlBQVksT0FBcUM7UUFDL0MsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUMxQixNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7UUFDbkUsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNsQixNQUFNLElBQUksS0FBSyxDQUNiLHdEQUF3RCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQy9FLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsbUJBQW1CO1lBQzdDLENBQUMsQ0FBQyxPQUFPLENBQUMsWUFBWTtZQUN0QixDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFL0IsTUFBTSx3QkFBd0IsR0FDNUIsWUFBWSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2xELE1BQU0seUJBQXlCLEdBQzdCLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSx3QkFBd0IsQ0FBQztRQUN4RCxNQUFNLDZCQUE2QixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQ2hELHlCQUF5QixDQUMxQixFQUFFLEtBQUssQ0FBQztRQUVULElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1lBQ25DLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkRBQTZELE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUN6RixDQUFDO1FBQ0osQ0FBQztRQUVELFFBQVEsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLEtBQUssQ0FBQztnQkFDSixJQUFJLDZCQUE2QixLQUFLLENBQUMsRUFBRSxDQUFDO29CQUN4QyxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7Z0JBQ3ZELENBQUM7Z0JBQ0QsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixJQUFJLDZCQUE2QixLQUFLLEVBQUUsRUFBRSxDQUFDO29CQUN6QyxNQUFNLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUM7Z0JBQ3hELENBQUM7Z0JBQ0QsTUFBTTtRQUNWLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLHdCQUF3QjtZQUN2RCxDQUFDLENBQUMseUJBQXlCO1lBQzNCLENBQUMsQ0FBQyxJQUFJLHlCQUF5QixFQUFFLENBQUM7UUFFcEMsSUFBSSxDQUFDLFdBQVcsQ0FDZCxjQUFjLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUN0QyxTQUFTLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FDN0IsQ0FBQztRQUVGLElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVE7WUFDdkMsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixJQUFJLElBQUk7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUF0RUgsc0RBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgc2VtdmVyIGZyb20gXCJzZW12ZXJcIjtcbmltcG9ydCB7IEF1dG9EaXNjb3ZlciB9IGZyb20gXCIuL2F1dG8tZGlzY292ZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdExpYnJhcnksIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIH0gZnJvbSBcIi4uL2Nka1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cnVjdExpYnJhcnlDZGs4c09wdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNaW5pbXVtIHRhcmdldCB2ZXJzaW9uIHRoaXMgbGlicmFyeSBpcyB0ZXN0ZWQgYWdhaW5zdC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIxLjQuMTBcIlxuICAgKiBAZmVhdHVyZWRcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBjb25zdHJ1Y3RzIHZlcmlvblxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjMuMy4xOTZcIlxuICAgKi9cblxuICByZWFkb25seSBjb25zdHJ1Y3RzVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgQ0RLOHMuXG4gICAqXG4gICAqIFlvdSBjYW4gdXNlIHRoaXMgdG8gcHJldmVudCB5YXJuIHRvIG1peCB2ZXJzaW9ucyBmb3IgeW91ciBDREs4cyBwYWNrYWdlIGFuZCB0byBwcmV2ZW50IGF1dG8tdXBkYXRlcy5cbiAgICogSWYgeW91IHVzZSBleHBlcmltZW50YWwgZmVhdHVyZXMgdGhpcyB3aWxsIGxldCB5b3UgZGVmaW5lIHRoZSBtb21lbnQgeW91IGluY2x1ZGUgYnJlYWtpbmcgY2hhbmdlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGNkazhzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBVc2UgcGlubmVkIHZlcnNpb24gaW5zdGVhZCBvZiBjYXJldCB2ZXJzaW9uIGZvciBjb25zdHJ1Y3RzLlxuICAgKlxuICAgKiBZb3UgY2FuIHVzZSB0aGlzIHRvIHByZXZlbnQgeWFybiB0byBtaXggdmVyc2lvbnMgZm9yIHlvdXIgY29uc3J1Y3RzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0c1ZlcnNpb25QaW5uaW5nPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXNlIHBpbm5lZCB2ZXJzaW9uIGluc3RlYWQgb2YgY2FyZXQgdmVyc2lvbiBmb3IgY2RrOHMtcGx1cy0xNy5cbiAgICpcbiAgICogWW91IGNhbiB1c2UgdGhpcyB0byBwcmV2ZW50IHlhcm4gdG8gbWl4IHZlcnNpb25zIGZvciB5b3VyIENESzhzIHBhY2thZ2UgYW5kIHRvIHByZXZlbnQgYXV0by11cGRhdGVzLlxuICAgKiBJZiB5b3UgdXNlIGV4cGVyaW1lbnRhbCBmZWF0dXJlcyB0aGlzIHdpbGwgbGV0IHlvdSBkZWZpbmUgdGhlIG1vbWVudCB5b3UgaW5jbHVkZSBicmVha2luZyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrOHNQbHVzVmVyc2lvblBpbm5pbmc/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGNkazhzLkludGVncmF0aW9uVGVzdGAgZm9yIGVhY2ggYC5pbnRlZy50c2AgYXBwXG4gICAqIGluIHlvdXIgdGVzdCBkaXJlY3RvcnkuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuXG4gICAqIGBjZGs4cy5BdXRvRGlzY292ZXJgIGNvbXBvbmVudCB0byB5b3VyIHByb2plY3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ0RLOHMgY29uc3RydWN0IGxpYnJhcnkgcHJvamVjdFxuICpcbiAqIEEgbXVsdGktbGFuZ3VhZ2UgKGpzaWkpIGNvbnN0cnVjdCBsaWJyYXJ5IHdoaWNoIHZlbmRzIGNvbnN0cnVjdHMgZGVzaWduZWQgdG9cbiAqIHVzZSB3aXRoaW4gdGhlIENESyBmb3IgS3ViZXJuZXRlcyAoQ0RLOHMpLCB3aXRoIGEgZnJpZW5kbHkgd29ya2Zsb3cgYW5kXG4gKiBhdXRvbWF0aWMgcHVibGlzaGluZyB0byB0aGUgY29uc3RydWN0IGNhdGFsb2cuXG4gKlxuICogQHBqaWQgY2RrOHMtY29uc3RydWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBDb25zdHJ1Y3RMaWJyYXJ5Q2RrOHMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5IHtcbiAgLyoqXG4gICAqIFRoZSBDREs4cyB2ZXJzaW9uIHRoaXMgYXBwIGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNkazhzVmVyc2lvbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0cyB2ZXJzaW9uIHRoaXMgYXBwIGlzIHVzaW5nLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbnN0cnVjdHNWZXJzaW9uOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ29uc3RydWN0TGlicmFyeUNkazhzT3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgaWYgKCFvcHRpb25zLmNkazhzVmVyc2lvbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiUmVxdWlyZWQgZmllbGQgY2RrOHNWZXJzaW9uIGlzIG5vdCBzcGVjaWZpZWQuXCIpO1xuICAgIH1cblxuICAgIGNvbnN0IGNkazhzVmVyc2lvbiA9IHNlbXZlci5wYXJzZShvcHRpb25zLmNkazhzVmVyc2lvbik7XG4gICAgaWYgKCFjZGs4c1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFwiY2RrOHNWZXJzaW9uXCIgY2Fubm90IGJlIHBhcnNlZCBhcyBhIHNlbXZlciB2ZXJzaW9uOiAke29wdGlvbnMuY2RrOHNWZXJzaW9ufWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5jZGs4c1ZlcnNpb24gPSBvcHRpb25zLmNkazhzVmVyc2lvblBpbm5pbmdcbiAgICAgID8gb3B0aW9ucy5jZGs4c1ZlcnNpb25cbiAgICAgIDogYF4ke29wdGlvbnMuY2RrOHNWZXJzaW9ufWA7XG5cbiAgICBjb25zdCBkZWZhdWx0Q29uc3RydWN0c1ZlcnNpb24gPVxuICAgICAgY2RrOHNWZXJzaW9uLm1ham9yID09PSAxID8gXCIzLjMuMTk2XCIgOiBcIjEwLjAuMFwiO1xuICAgIGNvbnN0IHJlc29sdmVkQ29uc3RydWN0c1ZlcnNpb24gPVxuICAgICAgb3B0aW9ucy5jb25zdHJ1Y3RzVmVyc2lvbiA/PyBkZWZhdWx0Q29uc3RydWN0c1ZlcnNpb247XG4gICAgY29uc3QgcmVzb2x2ZWRNYWpvckNvbnN0cnVjdFZlcnNpb24gPSBzZW12ZXIucGFyc2UoXG4gICAgICByZXNvbHZlZENvbnN0cnVjdHNWZXJzaW9uXG4gICAgKT8ubWFqb3I7XG5cbiAgICBpZiAoIXJlc29sdmVkTWFqb3JDb25zdHJ1Y3RWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBcImNvbnN0cnVjdHNWZXJzaW9uXCIgY2Fubm90IGJlIHBhcnNlZCBhcyBhIHNlbXZlciB2ZXJzaW9uOiAke29wdGlvbnMuY29uc3RydWN0c1ZlcnNpb259YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKGNkazhzVmVyc2lvbi5tYWpvcikge1xuICAgICAgY2FzZSAxOlxuICAgICAgICBpZiAocmVzb2x2ZWRNYWpvckNvbnN0cnVjdFZlcnNpb24gIT09IDMpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJjZGs4cyAxLnggcmVxdWlyZXMgY29uc3RydWN0cyAzLnhcIik7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDI6XG4gICAgICAgIGlmIChyZXNvbHZlZE1ham9yQ29uc3RydWN0VmVyc2lvbiAhPT0gMTApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJjZGs4cyAyLnggcmVxdWlyZXMgY29uc3RydWN0cyAxMC54XCIpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIHRoaXMuY29uc3RydWN0c1ZlcnNpb24gPSBvcHRpb25zLmNvbnN0cnVjdHNWZXJzaW9uUGlubmluZ1xuICAgICAgPyByZXNvbHZlZENvbnN0cnVjdHNWZXJzaW9uXG4gICAgICA6IGBeJHtyZXNvbHZlZENvbnN0cnVjdHNWZXJzaW9ufWA7XG5cbiAgICB0aGlzLmFkZFBlZXJEZXBzKFxuICAgICAgYGNvbnN0cnVjdHNAJHt0aGlzLmNvbnN0cnVjdHNWZXJzaW9ufWAsXG4gICAgICBgY2RrOHNAJHt0aGlzLmNkazhzVmVyc2lvbn1gXG4gICAgKTtcblxuICAgIG5ldyBBdXRvRGlzY292ZXIodGhpcywge1xuICAgICAgdGVzdGRpcjogdGhpcy50ZXN0ZGlyLFxuICAgICAgdHNjb25maWdQYXRoOiB0aGlzLnRzY29uZmlnRGV2LmZpbGVOYW1lLFxuICAgICAgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyOiBvcHRpb25zLmludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlciA/PyB0cnVlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -15,5 +15,5 @@ class Cdk8sDepsPy extends cdk8s_deps_1.Cdk8sDeps {
|
|
|
15
15
|
}
|
|
16
16
|
exports.Cdk8sDepsPy = Cdk8sDepsPy;
|
|
17
17
|
_a = JSII_RTTI_SYMBOL_1;
|
|
18
|
-
Cdk8sDepsPy[_a] = { fqn: "projen.cdk8s.Cdk8sDepsPy", version: "0.80.
|
|
18
|
+
Cdk8sDepsPy[_a] = { fqn: "projen.cdk8s.Cdk8sDepsPy", version: "0.80.15" };
|
|
19
19
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrOHMtZGVwcy1weS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9jZGs4cy1kZXBzLXB5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTREO0FBRTVELE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBQzlCLFlBQVk7UUFDcEIsT0FBTztZQUNMLEtBQUssRUFBRSxPQUFPO1lBQ2QsVUFBVSxFQUFFLFlBQVk7WUFDeEIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQztJQUNKLENBQUM7O0FBUEgsa0NBUUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGs4c0RlcHMsIENkazhzUGFja2FnZU5hbWVzIH0gZnJvbSBcIi4vY2RrOHMtZGVwc1wiO1xuXG5leHBvcnQgY2xhc3MgQ2RrOHNEZXBzUHkgZXh0ZW5kcyBDZGs4c0RlcHMge1xuICBwcm90ZWN0ZWQgcGFja2FnZU5hbWVzKCk6IENkazhzUGFja2FnZU5hbWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgY2RrOHM6IFwiY2RrOHNcIixcbiAgICAgIGNvbnN0cnVjdHM6IFwiY29uc3RydWN0c1wiLFxuICAgICAgY2RrOHNQbHVzOiBcImNkazhzLXBsdXNcIixcbiAgICB9O1xuICB9XG59XG4iXX0=
|
package/lib/cdk8s/cdk8s-deps.js
CHANGED
|
@@ -92,7 +92,7 @@ class Cdk8sDeps extends component_1.Component {
|
|
|
92
92
|
}
|
|
93
93
|
exports.Cdk8sDeps = Cdk8sDeps;
|
|
94
94
|
_a = JSII_RTTI_SYMBOL_1;
|
|
95
|
-
Cdk8sDeps[_a] = { fqn: "projen.cdk8s.Cdk8sDeps", version: "0.80.
|
|
95
|
+
Cdk8sDeps[_a] = { fqn: "projen.cdk8s.Cdk8sDeps", version: "0.80.15" };
|
|
96
96
|
function determineFrameworkVersion(options) {
|
|
97
97
|
const ver = semver.parse(options.cdk8sVersion);
|
|
98
98
|
if (!ver) {
|
|
@@ -38,5 +38,5 @@ class IntegrationTest extends cdk_1.IntegrationTestBase {
|
|
|
38
38
|
}
|
|
39
39
|
exports.IntegrationTest = IntegrationTest;
|
|
40
40
|
_a = JSII_RTTI_SYMBOL_1;
|
|
41
|
-
IntegrationTest[_a] = { fqn: "projen.cdk8s.IntegrationTest", version: "0.80.
|
|
41
|
+
IntegrationTest[_a] = { fqn: "projen.cdk8s.IntegrationTest", version: "0.80.15" };
|
|
42
42
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGs4cy9pbnRlZ3JhdGlvbi10ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGdDQUF5RTtBQUN6RSxrREFBaUQ7QUFRakQ7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEseUJBQW1CO0lBQ3RELFlBQVksT0FBZ0IsRUFBRSxPQUErQjtRQUMzRCxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLDZCQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLDZCQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLElBQUEsV0FBSSxFQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxNQUFNLFNBQVMsR0FBRyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLENBQUM7UUFDdEQsTUFBTSxHQUFHLEdBQUcsY0FBYyxPQUFPLENBQUMsWUFBWSxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUV2RSwwQ0FBMEM7UUFDMUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFFBQVEsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN0RCx3RUFBd0U7UUFDeEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUU1RCxpQkFBaUI7UUFDakIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxRQUFRLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBRTVFLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FDbEIsc0JBQXNCLEdBQUcsUUFBUSxTQUFTLGNBQWMsQ0FDekQsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLFdBQVcsS0FBSyxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7O0FBakNILDBDQWtDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgSW50ZWdyYXRpb25UZXN0QmFzZU9wdGlvbnMsIEludGVncmF0aW9uVGVzdEJhc2UgfSBmcm9tIFwiLi4vY2RrXCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIEludGVncmF0aW9uVGVzdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdE9wdGlvbnMgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RCYXNlT3B0aW9ucyB7fVxuXG4vKipcbiAqIENESzhTIGludGVncmF0aW9uIHRlc3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBJbnRlZ3JhdGlvblRlc3RCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogSW50ZWdyYXRpb25UZXN0T3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIG9wdGlvbnMpO1xuXG4gICAgaWYgKCFwcm9qZWN0LmRlcHMudHJ5R2V0RGVwZW5kZW5jeShcImNkazhzLWNsaVwiKSkge1xuICAgICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koYGNkazhzLWNsaWAsIERlcGVuZGVuY3lUeXBlLkJVSUxEKTtcbiAgICB9XG5cbiAgICBpZiAoIXByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KFwidHMtbm9kZVwiKSkge1xuICAgICAgcHJvamVjdC5kZXBzLmFkZERlcGVuZGVuY3koXCJ0cy1ub2RlXCIsIERlcGVuZGVuY3lUeXBlLkJVSUxEKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZXBsb3lEaXIgPSBqb2luKHRoaXMudG1wRGlyLCBcImRlcGxveS5jZGsub3V0XCIpO1xuICAgIGNvbnN0IGFzc2VydERpciA9IGpvaW4odGhpcy50bXBEaXIsIFwiYXNzZXJ0LmNkay5vdXRcIik7XG4gICAgY29uc3QgYXBwID0gYHRzLW5vZGUgLVAgJHtvcHRpb25zLnRzY29uZmlnUGF0aH0gJHtvcHRpb25zLmVudHJ5cG9pbnR9YDtcblxuICAgIC8vIFN5bnRoLCBkZXBsb3ksIGFuZCBjYXB0dXJlIHRoZSBzbmFwc2hvdFxuICAgIHRoaXMuZGVwbG95VGFzay5leGVjKGBybSAtZnIgJHtkZXBsb3lEaXJ9YCk7XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYGNkazhzIHN5bnRoIC0tYXBwIFwiJHthcHB9XCIgLW8gJHtkZXBsb3lEaXJ9YCk7XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYGt1YmVjdGwgYXBwbHkgLWYgJHtkZXBsb3lEaXJ9YCk7XG4gICAgLy8gSWYgZGVwbG95bWVudCB3YXMgc3VjY2Vzc2Z1bCwgY29weSB0aGUgZGVwbG95IGRpciB0byB0aGUgZXhwZWN0ZWQgZGlyXG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYHJtIC1mciAke3RoaXMuc25hcHNob3REaXJ9YCk7XG4gICAgdGhpcy5kZXBsb3lUYXNrLmV4ZWMoYG12ICR7ZGVwbG95RGlyfSAke3RoaXMuc25hcHNob3REaXJ9YCk7XG5cbiAgICAvLyBSdW4gYSBzbmFwc2hvdFxuICAgIHRoaXMuc25hcHNob3RUYXNrLmV4ZWMoYHJtIC1mciAke3RoaXMuc25hcHNob3REaXJ9YCk7XG4gICAgdGhpcy5zbmFwc2hvdFRhc2suZXhlYyhgY2RrOHMgc3ludGggLS1hcHAgXCIke2FwcH1cIiAtbyAke3RoaXMuc25hcHNob3REaXJ9YCk7XG5cbiAgICAvLyBBc3NlcnQgdGhhdCB0aGUgc25hcHNob3QgaGFzIG5vdCBjaGFuZ2VkIChydW4gZHVyaW5nIHRlc3RzKVxuICAgIHRoaXMuYXNzZXJ0VGFzay5leGVjKFxuICAgICAgYGNkazhzIHN5bnRoIC0tYXBwIFwiJHthcHB9XCIgLW8gJHthc3NlcnREaXJ9ID4gL2Rldi9udWxsYFxuICAgICk7XG4gICAgdGhpcy5hc3NlcnRUYXNrLmV4ZWMoYGRpZmYgJHt0aGlzLnNuYXBzaG90RGlyfS8gJHthc3NlcnREaXJ9L2ApO1xuICB9XG59XG4iXX0=
|
|
@@ -35,5 +35,5 @@ class ConstructLibraryCdktf extends cdk_1.ConstructLibrary {
|
|
|
35
35
|
}
|
|
36
36
|
exports.ConstructLibraryCdktf = ConstructLibraryCdktf;
|
|
37
37
|
_a = JSII_RTTI_SYMBOL_1;
|
|
38
|
-
ConstructLibraryCdktf[_a] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.80.
|
|
38
|
+
ConstructLibraryCdktf[_a] = { fqn: "projen.cdktf.ConstructLibraryCdktf", version: "0.80.15" };
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrdGYtY29uc3RydWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nka3RmL2Nka3RmLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFpQm5FOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxzQkFBZ0I7SUFDekQsWUFBWSxPQUFxQztRQUMvQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQzFCLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztRQUNuRSxDQUFDO1FBRUQsU0FBUywwQkFBMEI7WUFDakMsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMvRCxJQUFJLGtCQUFrQixJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDbEUsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztZQUVELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLEdBQUcsR0FBRyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBQ2pDLE1BQU0sZ0JBQWdCLEdBQ3BCLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO1FBRTVELElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNuRSxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLENBQUM7O0FBdkJILHNEQXdCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RMaWJyYXJ5LCBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB9IGZyb20gXCIuLi9jZGtcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb25zdHJ1Y3RMaWJyYXJ5Q2RrdGZPcHRpb25zIGV4dGVuZHMgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMge1xuICAvKipcbiAgICogTWluaW11bSB0YXJnZXQgdmVyc2lvbiB0aGlzIGxpYnJhcnkgaXMgdGVzdGVkIGFnYWluc3QuXG4gICAqIEBkZWZhdWx0IFwiXjAuMTMuMFwiXG4gICAqIEBmZWF0dXJlZFxuICAgKi9cbiAgcmVhZG9ubHkgY2RrdGZWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdCB2ZXJzaW9uIHRvIHVzZVxuICAgKiBAZGVmYXVsdCBcIl4xMC4zLjBcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29uc3RydWN0c1ZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ0RLVEYgY29uc3RydWN0IGxpYnJhcnkgcHJvamVjdFxuICpcbiAqIEEgbXVsdGktbGFuZ3VhZ2UgKGpzaWkpIGNvbnN0cnVjdCBsaWJyYXJ5IHdoaWNoIHZlbmRzIGNvbnN0cnVjdHMgZGVzaWduZWQgdG9cbiAqIHVzZSB3aXRoaW4gdGhlIENESyBmb3IgVGVycmFmb3JtIChDREtURiksIHdpdGggYSBmcmllbmRseSB3b3JrZmxvdyBhbmRcbiAqIGF1dG9tYXRpYyBwdWJsaXNoaW5nIHRvIHRoZSBjb25zdHJ1Y3QgY2F0YWxvZy5cbiAqXG4gKiBAcGppZCBjZGt0Zi1jb25zdHJ1Y3RcbiAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdExpYnJhcnlDZGt0ZiBleHRlbmRzIENvbnN0cnVjdExpYnJhcnkge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb25zdHJ1Y3RMaWJyYXJ5Q2RrdGZPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICBpZiAoIW9wdGlvbnMuY2RrdGZWZXJzaW9uKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZXF1aXJlZCBmaWVsZCBjZGt0ZlZlcnNpb24gaXMgbm90IHNwZWNpZmllZC5cIik7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gZ2V0RGVmYXVsdENvbnN0cnVjdFZlcnNpb24oKSB7XG4gICAgICBjb25zdCBzZW12ZXJDREtURlZlcnNpb24gPSBzZW12ZXIuY29lcmNlKG9wdGlvbnMuY2RrdGZWZXJzaW9uKTtcbiAgICAgIGlmIChzZW12ZXJDREtURlZlcnNpb24gJiYgc2VtdmVyLmx0ZShzZW12ZXJDREtURlZlcnNpb24sIFwiMC41LjBcIikpIHtcbiAgICAgICAgcmV0dXJuIFwiXjMuMC4wXCI7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBcIl4xMC4zLjBcIjtcbiAgICB9XG5cbiAgICBjb25zdCB2ZXIgPSBvcHRpb25zLmNka3RmVmVyc2lvbjtcbiAgICBjb25zdCBjb25zdHJ1Y3RWZXJzaW9uID1cbiAgICAgIG9wdGlvbnMuY29uc3RydWN0c1ZlcnNpb24gPz8gZ2V0RGVmYXVsdENvbnN0cnVjdFZlcnNpb24oKTtcblxuICAgIHRoaXMuYWRkUGVlckRlcHMoYGNvbnN0cnVjdHNAJHtjb25zdHJ1Y3RWZXJzaW9ufWAsIGBjZGt0ZkAke3Zlcn1gKTtcbiAgICB0aGlzLmFkZEtleXdvcmRzKFwiY2RrdGZcIik7XG4gIH1cbn1cbiJdfQ==
|
package/lib/circleci/circleci.js
CHANGED
|
@@ -111,7 +111,7 @@ class Circleci extends component_1.Component {
|
|
|
111
111
|
}
|
|
112
112
|
exports.Circleci = Circleci;
|
|
113
113
|
_a = JSII_RTTI_SYMBOL_1;
|
|
114
|
-
Circleci[_a] = { fqn: "projen.circleci.Circleci", version: "0.80.
|
|
114
|
+
Circleci[_a] = { fqn: "projen.circleci.Circleci", version: "0.80.15" };
|
|
115
115
|
const isObjectContainingFieldExactly = (obj, field) => {
|
|
116
116
|
return Object.keys(obj).length == 1 && Object.keys(obj).includes(field);
|
|
117
117
|
};
|
package/lib/cli/cmds/new.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as yargs from "yargs";
|
|
2
2
|
declare class Command implements yargs.CommandModule {
|
|
3
3
|
readonly command = "new [PROJECT-TYPE-NAME] [OPTIONS]";
|
|
4
|
-
readonly describe
|
|
4
|
+
readonly describe: string;
|
|
5
5
|
builder(args: yargs.Argv): yargs.Argv<{}>;
|
|
6
6
|
handler(args: any): Promise<void>;
|
|
7
7
|
}
|
package/lib/cli/cmds/new.js
CHANGED
|
@@ -14,11 +14,16 @@ const util_2 = require("../util");
|
|
|
14
14
|
class Command {
|
|
15
15
|
constructor() {
|
|
16
16
|
this.command = "new [PROJECT-TYPE-NAME] [OPTIONS]";
|
|
17
|
-
this.describe =
|
|
17
|
+
this.describe = [
|
|
18
|
+
"Creates a new projen project",
|
|
19
|
+
"",
|
|
20
|
+
"For a complete list of the available options for a specific project type, run:",
|
|
21
|
+
"projen new [PROJECT-TYPE-NAME] --help",
|
|
22
|
+
].join("\n");
|
|
18
23
|
}
|
|
19
24
|
builder(args) {
|
|
20
25
|
args.positional("PROJECT-TYPE-NAME", {
|
|
21
|
-
describe: "optional
|
|
26
|
+
describe: "only optional with --from and the external module has only a single project type",
|
|
22
27
|
type: "string",
|
|
23
28
|
});
|
|
24
29
|
args.option("synth", {
|
|
@@ -43,6 +48,7 @@ class Command {
|
|
|
43
48
|
});
|
|
44
49
|
args.example("projen new awscdk-app-ts", 'Creates a new project of built-in type "awscdk-app-ts"');
|
|
45
50
|
args.example("projen new --from projen-vue@^2", 'Creates a new project from an external module "projen-vue" with the specified version');
|
|
51
|
+
args.example("projen new python --help", 'Shows all options available for the built-in project type "python"');
|
|
46
52
|
for (const type of inventory.discover()) {
|
|
47
53
|
args.command(type.pjid, type.docs ?? "", {
|
|
48
54
|
builder: (cargs) => {
|
|
@@ -372,4 +378,4 @@ async function initProject(baseDir, type, args) {
|
|
|
372
378
|
}
|
|
373
379
|
}
|
|
374
380
|
exports.default = new Command();
|
|
375
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL25ldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsaUNBQWlDO0FBQ2pDLCtCQUErQjtBQUMvQiw2Q0FBNkM7QUFDN0MseUNBQXlDO0FBQ3pDLHFEQUE0RDtBQUM1RCw2Q0FBMEM7QUFDMUMscUNBTW9CO0FBQ3BCLHNDQUE0QztBQUM1QyxrQ0FLaUI7QUFFakIsTUFBTSxPQUFPO0lBQWI7UUFDa0IsWUFBTyxHQUFHLG1DQUFtQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyw4QkFBOEIsQ0FBQztJQXNGNUQsQ0FBQztJQXBGUSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRTtZQUNuQyxRQUFRLEVBQ04sNkZBQTZGO1lBQy9GLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSx3Q0FBd0M7U0FDL0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSw4RUFBOEU7U0FDckYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLElBQUksRUFBRSxzSEFBc0g7U0FDN0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDakIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSx1RUFB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QyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3hCLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELGtCQUFlLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNwYXduU3luY1JldHVybnMgfSBmcm9tIFwiY2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0ICogYXMgeWFyZ3MgZnJvbSBcInlhcmdzXCI7XG5pbXBvcnQgKiBhcyBpbnZlbnRvcnkgZnJvbSBcIi4uLy4uL2ludmVudG9yeVwiO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tIFwiLi4vLi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgSW5pdFByb2plY3RPcHRpb25IaW50cyB9IGZyb20gXCIuLi8uLi9vcHRpb24taGludHNcIjtcbmltcG9ydCB7IFByb2plY3RzIH0gZnJvbSBcIi4uLy4uL3Byb2plY3RzXCI7XG5pbXBvcnQge1xuICBleGVjLFxuICBleGVjQ2FwdHVyZSxcbiAgZXhlY09yVW5kZWZpbmVkLFxuICBnZXRHaXRWZXJzaW9uLFxuICBpc1RydXRoeSxcbn0gZnJvbSBcIi4uLy4uL3V0aWxcIjtcbmltcG9ydCB7IHRyeVByb2Nlc3NNYWNybyB9IGZyb20gXCIuLi9tYWNyb3NcIjtcbmltcG9ydCB7XG4gIENsaUVycm9yLFxuICBmaW5kSnNpaUZpbGVQYXRoLFxuICBpbnN0YWxsUGFja2FnZSxcbiAgcmVuZGVySW5zdGFsbENvbW1hbmQsXG59IGZyb20gXCIuLi91dGlsXCI7XG5cbmNsYXNzIENvbW1hbmQgaW1wbGVtZW50cyB5YXJncy5Db21tYW5kTW9kdWxlIHtcbiAgcHVibGljIHJlYWRvbmx5IGNvbW1hbmQgPSBcIm5ldyBbUFJPSkVDVC1UWVBFLU5BTUVdIFtPUFRJT05TXVwiO1xuICBwdWJsaWMgcmVhZG9ubHkgZGVzY3JpYmUgPSBcIkNyZWF0ZXMgYSBuZXcgcHJvamVuIHByb2plY3RcIjtcblxuICBwdWJsaWMgYnVpbGRlcihhcmdzOiB5YXJncy5Bcmd2KSB7XG4gICAgYXJncy5wb3NpdGlvbmFsKFwiUFJPSkVDVC1UWVBFLU5BTUVcIiwge1xuICAgICAgZGVzY3JpYmU6XG4gICAgICAgIFwib3B0aW9uYWwgb25seSB3aGVuIC0tZnJvbSBpcyB1c2VkIGFuZCB0aGVyZSBpcyBhIHNpbmdsZSBwcm9qZWN0IHR5cGUgaW4gdGhlIGV4dGVybmFsIG1vZHVsZVwiLFxuICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICB9KTtcbiAgICBhcmdzLm9wdGlvbihcInN5bnRoXCIsIHtcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIGRlc2M6IFwiU3ludGhlc2l6ZSBhZnRlciBjcmVhdGluZyAucHJvamVucmMuanNcIixcbiAgICB9KTtcbiAgICBhcmdzLm9wdGlvbihcImNvbW1lbnRzXCIsIHtcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIGRlc2M6IFwiSW5jbHVkZSBjb21tZW50ZWQgb3V0IG9wdGlvbnMgaW4gLnByb2plbnJjLmpzICh1c2UgLS1uby1jb21tZW50cyB0byBkaXNhYmxlKVwiLFxuICAgIH0pO1xuICAgIGFyZ3Mub3B0aW9uKFwiZnJvbVwiLCB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgYWxpYXM6IFwiZlwiLFxuICAgICAgZGVzYzogJ0V4dGVybmFsIGpzaWkgbnBtIG1vZHVsZSB0byBjcmVhdGUgcHJvamVjdCBmcm9tLiBTdXBwb3J0cyBhbnkgcGFja2FnZSBzcGVjIHN1cHBvcnRlZCBieSBucG0gKHN1Y2ggYXMgXCJteS1wYWNrQF4yLjBcIiknLFxuICAgIH0pO1xuICAgIGFyZ3Mub3B0aW9uKFwiZ2l0XCIsIHtcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgIGRlc2M6IFwiUnVuIGBnaXQgaW5pdGAgYW5kIGNyZWF0ZSBhbiBpbml0aWFsIGNvbW1pdCAodXNlIC0tbm8tZ2l0IHRvIGRpc2FibGUpXCIsXG4gICAgfSk7XG4gICAgYXJncy5leGFtcGxlKFxuICAgICAgXCJwcm9qZW4gbmV3IGF3c2Nkay1hcHAtdHNcIixcbiAgICAgICdDcmVhdGVzIGEgbmV3IHByb2plY3Qgb2YgYnVpbHQtaW4gdHlwZSBcImF3c2Nkay1hcHAtdHNcIidcbiAgICApO1xuICAgIGFyZ3MuZXhhbXBsZShcbiAgICAgIFwicHJvamVuIG5ldyAtLWZyb20gcHJvamVuLXZ1ZUBeMlwiLFxuICAgICAgJ0NyZWF0ZXMgYSBuZXcgcHJvamVjdCBmcm9tIGFuIGV4dGVybmFsIG1vZHVsZSBcInByb2plbi12dWVcIiB3aXRoIHRoZSBzcGVjaWZpZWQgdmVyc2lvbidcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCB0eXBlIG9mIGludmVudG9yeS5kaXNjb3ZlcigpKSB7XG4gICAgICBhcmdzLmNvbW1hbmQodHlwZS5wamlkLCB0eXBlLmRvY3MgPz8gXCJcIiwge1xuICAgICAgICBidWlsZGVyOiAoY2FyZ3MpID0+IHtcbiAgICAgICAgICBjYXJncy5zaG93SGVscE9uRmFpbChmYWxzZSk7XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiB0eXBlLm9wdGlvbnMgPz8gW10pIHtcbiAgICAgICAgICAgIC8vIG5vdCBhbGwgdHlwZXMgY2FuIGJlIHJlcHJlc2VudGVkIGluIHRoZSBjbGlcbiAgICAgICAgICAgIGlmICghYXJnVHlwZVN1cHBvcnRlZChvcHRpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBhcmdJbml0aWFsVmFsdWUob3B0aW9uKTtcbiAgICAgICAgICAgIGNhcmdzLm9wdGlvbihvcHRpb24uc3dpdGNoLCB7XG4gICAgICAgICAgICAgIGdyb3VwOiAhb3B0aW9uLm9wdGlvbmFsID8gXCJSZXF1aXJlZDpcIiA6IFwiT3B0aW9uYWw6XCIsXG4gICAgICAgICAgICAgIHR5cGU6IGFyZ1R5cGUob3B0aW9uKSxcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb246IGFyZ0Rlc2Mob3B0aW9uKSxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6ICFvcHRpb24ub3B0aW9uYWwsXG4gICAgICAgICAgICAgIC8vIHlhcmdzIGJlaGF2ZXMgZGlmZmVyZW50bHkgZm9yIGFycmF5cyBpZiB0aGUgZGVmYXVsdFZhbHVlIHByb3BlcnR5IGlzIHByZXNlbnQgb3Igbm90XG4gICAgICAgICAgICAgIC4uLighb3B0aW9uLm9wdGlvbmFsICYmIGRlZmF1bHRWYWx1ZVxuICAgICAgICAgICAgICAgID8geyBkZWZhdWx0OiBkZWZhdWx0VmFsdWUgfVxuICAgICAgICAgICAgICAgIDoge30pLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGNhcmdzO1xuICAgICAgICB9LFxuICAgICAgICBoYW5kbGVyOiAoYXJndikgPT4gaW5pdFByb2plY3QocHJvY2Vzcy5jd2QoKSwgdHlwZSwgYXJndiksXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlIHN0cmljdCBtb2RlLCBvdGhlcndpc2UgdGhlIGNhdGNoLWFsbCBkb2Vzbid0IHdvcmtcbiAgICBhcmdzLnN0cmljdENvbW1hbmRzKGZhbHNlKTtcbiAgICBhcmdzXG4gICAgICAuY29tbWFuZCh7XG4gICAgICAgIGNvbW1hbmQ6IFwiKlwiLFxuICAgICAgICBkZXNjcmliZTogZmFsc2UsXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICB9KVxuICAgICAgLm1pZGRsZXdhcmUoKGFyZ3YpID0+IHtcbiAgICAgICAgLy8gbWFudWFsbHkgc2V0IHRoZSBtYXRjaGVkIGNvbW1hbmQgYXMgdGhlIHByb2plY3QgdHlwZVxuICAgICAgICBhcmd2LnByb2plY3RUeXBlTmFtZSA9IGFyZ3YuX1sxXTtcbiAgICAgIH0sIHRydWUpO1xuXG4gICAgcmV0dXJuIGFyZ3M7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaGFuZGxlcihhcmdzOiBhbnkpIHtcbiAgICByZXR1cm4gaGFuZGxlcihhcmdzKTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVyKGFyZ3M6IGFueSkge1xuICB0cnkge1xuICAgIC8vIGhhbmRsZSAtLWZyb20gd2hpY2ggbWVhbnMgd2Ugd2FudCB0byBmaXJzdCBpbnN0YWxsIGEganNpaSBtb2R1bGUgYW5kIHRoZW5cbiAgICAvLyBjcmVhdGUgYSBwcm9qZWN0IGRlZmluZWQgd2l0aGluIHRoaXMgbW9kdWxlLlxuICAgIGlmIChhcmdzLmZyb20pIHtcbiAgICAgIHJldHVybiBhd2FpdCBpbml0UHJvamVjdEZyb21Nb2R1bGUocHJvY2Vzcy5jd2QoKSwgYXJncy5mcm9tLCBhcmdzKTtcbiAgICB9XG5cbiAgICAvLyBwcm9qZWN0IHR5cGUgaXMgZGVmaW5lZCBidXQgd2FzIG5vdCBtYXRjaGVkIGJ5IHlhcmdzLCBzbyBwcmludCB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgdHlwZXNcbiAgICBpZiAoYXJncy5wcm9qZWN0VHlwZU5hbWUpIHtcbiAgICAgIGNvbnN0IHR5cGVzID0gaW52ZW50b3J5LmRpc2NvdmVyKCk7XG4gICAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoXG4gICAgICAgIGBQcm9qZWN0IHR5cGUgXCIke2FyZ3MucHJvamVjdFR5cGVOYW1lfVwiIG5vdCBmb3VuZC4gQXZhaWxhYmxlIHR5cGVzOlxcbmAsXG4gICAgICAgIC4uLnR5cGVzLm1hcCgodCkgPT4gYCAgICAke3QucGppZH1gKSxcbiAgICAgICAgXCJcIixcbiAgICAgICAgYFBsZWFzZSBzcGVjaWZ5IGEgcHJvamVjdCB0eXBlLmAsXG4gICAgICAgIGBFeGFtcGxlOiBucHggcHJvamVuIG5ldyAke3R5cGVzWzBdLnBqaWR9YFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBIYW5kbGVzIHRoZSB1c2UgY2FzZSB0aGF0IG5vdGhpbmcgd2FzIHNwZWNpZmllZCBzaW5jZSBQUk9KRUNULVRZUEUgaXMgbm93IGFuIG9wdGlvbmFsIHBvc2l0aW9uYWwgcGFyYW1ldGVyXG4gICAgeWFyZ3Muc2hvd0hlbHAoKTtcbiAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBDbGlFcnJvcikge1xuICAgICAgbG9nZ2luZy5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgIGxvZ2dpbmcuZW1wdHkoKTtcbiAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSAxO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHVua25vd24gZXJyb3IsIGxpa2VseSBhIG5vZGUgcnVudGltZSBleGNlcHRpb24gaW4gcHJvamVjdCBjb2RlXG4gICAgLy8gcmV0aHJvdyBzbyB0aGUgZnVsbCBzdGFjayB0cmFjZSBpcyBkaXNwbGF5ZWRcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHlhcmdzIG9wdGlvbiB0eXBlIGZvciBhIGdpdmVuIHByb2plY3Qgb3B0aW9uXG4gKi9cbmZ1bmN0aW9uIGFyZ1R5cGUoXG4gIG9wdGlvbjogaW52ZW50b3J5LlByb2plY3RPcHRpb25cbik6IFwic3RyaW5nXCIgfCBcImJvb2xlYW5cIiB8IFwibnVtYmVyXCIgfCBcImFycmF5XCIge1xuICBpZiAob3B0aW9uLmtpbmQgPT09IFwiZW51bVwiKSB7XG4gICAgcmV0dXJuIFwic3RyaW5nXCI7XG4gIH1cblxuICBpZiAoaXNQcmltaXRpdmVBcnJheU9wdGlvbihvcHRpb24pKSB7XG4gICAgcmV0dXJuIFwiYXJyYXlcIjtcbiAgfVxuXG4gIHJldHVybiBvcHRpb24uc2ltcGxlVHlwZSBhcyBcInN0cmluZ1wiIHwgXCJib29sZWFuXCIgfCBcIm51bWJlclwiO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRlc2NyaXB0aW9uIGZvciBhIGdpdmVuIHByb2plY3Qgb3B0aW9uXG4gKi9cbmZ1bmN0aW9uIGFyZ0Rlc2Mob3B0aW9uOiBpbnZlbnRvcnkuUHJvamVjdE9wdGlvbik6IHN0cmluZyB7XG4gIGxldCBkZXNjID0gW29wdGlvbi5kb2NzPy5yZXBsYWNlKC9cXCAqXFwuJC8sIFwiXCIpID8/IFwiXCJdO1xuXG4gIGNvbnN0IGhlbHBEZWZhdWx0ID0gb3B0aW9uLmluaXRpYWxWYWx1ZSA/PyBvcHRpb24uZGVmYXVsdDtcbiAgaWYgKG9wdGlvbi5vcHRpb25hbCAmJiBoZWxwRGVmYXVsdCkge1xuICAgIGRlc2MucHVzaChcbiAgICAgIGBbZGVmYXVsdDogJHtoZWxwRGVmYXVsdC5yZXBsYWNlKC9eXFwgKi0vLCBcIlwiKS5yZXBsYWNlKC9cXC4kLywgXCJcIikudHJpbSgpfV1gXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBkZXNjLmpvaW4oXCIgXCIpO1xufVxuXG4vKipcbiAqIENvbXB1dGUgdGhlIGluaXRpYWwgdmFsdWUgZm9yIGEgZ2l2ZW4gcHJvamVjdCBvcHRpb25cbiAqL1xuZnVuY3Rpb24gYXJnSW5pdGlhbFZhbHVlKFxuICBvcHRpb246IGludmVudG9yeS5Qcm9qZWN0T3B0aW9uLFxuICBjd2QgPSBwcm9jZXNzLmN3ZCgpXG4pOiBhbnkge1xuICAvLyBpZiB3ZSBoYXZlIGRldGVybWluZWQgYW4gaW5pdGlhbCB2YWx1ZSBmb3IgdGhlIGZpZWxkXG4gIC8vIHdlIGNhbiBzaG93IHRoYXQgdmFsdWUgaW4gLS1oZWxwXG4gIGlmIChvcHRpb24uaW5pdGlhbFZhbHVlKSB7XG4gICAgcmV0dXJuIHJlbmRlckRlZmF1bHQoY3dkLCBvcHRpb24uaW5pdGlhbFZhbHVlKTtcbiAgfVxufVxuXG4vKipcbiAqIEN1cnJlbnRseSB3ZSBvbmx5IHN1cHBvcnQgdGhlc2UgZmllbGQgdHlwZXMgYXMgY29tbWFuZCBsaW5lIG9wdGlvbnM6XG4gKiAtIHByaW1pdGl2ZXMgKHN0cmluZywgbnVtYmVyLCBib29sZWFuKVxuICogLSBsaXN0cyBvZiBwcmltaXRpdmVzXG4gKiAtIGVudW1zXG4gKi9cbmZ1bmN0aW9uIGFyZ1R5cGVTdXBwb3J0ZWQob3B0aW9uOiBpbnZlbnRvcnkuUHJvamVjdE9wdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gKFxuICAgIG9wdGlvbi5zaW1wbGVUeXBlID09PSBcInN0cmluZ1wiIHx8XG4gICAgb3B0aW9uLnNpbXBsZVR5cGUgPT09IFwibnVtYmVyXCIgfHxcbiAgICBvcHRpb24uc2ltcGxlVHlwZSA9PT0gXCJib29sZWFuXCIgfHxcbiAgICBvcHRpb24ua2luZCA9PT0gXCJlbnVtXCIgfHxcbiAgICBpc1ByaW1pdGl2ZUFycmF5T3B0aW9uKG9wdGlvbilcbiAgKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGdpdmVuIG9wdGlvbiBpcyBhIHByaW1pdGl2ZSBhcnJheVxuICovXG5mdW5jdGlvbiBpc1ByaW1pdGl2ZUFycmF5T3B0aW9uKG9wdGlvbjogaW52ZW50b3J5LlByb2plY3RPcHRpb24pOiBib29sZWFuIHtcbiAgcmV0dXJuIEJvb2xlYW4oXG4gICAgb3B0aW9uLmpzb25MaWtlICYmXG4gICAgICBvcHRpb24uZnVsbFR5cGUuY29sbGVjdGlvbj8ua2luZCA9PT0gXCJhcnJheVwiICYmXG4gICAgICBvcHRpb24uZnVsbFR5cGUuY29sbGVjdGlvbi5lbGVtZW50dHlwZS5wcmltaXRpdmUgJiZcbiAgICAgIFtcInN0cmluZ1wiLCBcIm51bWJlclwiXS5pbmNsdWRlcyhcbiAgICAgICAgb3B0aW9uLmZ1bGxUeXBlLmNvbGxlY3Rpb24uZWxlbWVudHR5cGUucHJpbWl0aXZlXG4gICAgICApXG4gICk7XG59XG5cbi8qKlxuICogR2l2ZW4gYSB2YWx1ZSBmcm9tIFwiQGRlZmF1bHRcIiwgcHJvY2Vzc2VzIG1hY3JvcyBhbmQgcmV0dXJucyBhIHN0cmluZ2lmaWVkXG4gKiAocXVvdGVkKSByZXN1bHQuXG4gKlxuICogQHJldHVybnMgYSBqYXZhc2NyaXB0IHByaW1pdGl2ZSAoY291bGQgYmUgYSBzdHJpbmcsIG51bWJlciBvciBib29sZWFuKVxuICovXG5mdW5jdGlvbiByZW5kZXJEZWZhdWx0KGN3ZDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKSB7XG4gIHJldHVybiB0cnlQcm9jZXNzTWFjcm8oY3dkLCB2YWx1ZSkgPz8gSlNPTi5wYXJzZSh2YWx1ZSk7XG59XG5cbi8qKlxuICogQ29udmVydHMgeWFyZ3MgY29tbWFuZCBsaW5lIHN3aXRjaGVzIHRvIHByb2plY3QgdHlwZSBwcm9wcy5cbiAqIEBwYXJhbSB0eXBlIFByb2plY3QgdHlwZVxuICogQHBhcmFtIGFyZ3YgQ29tbWFuZCBsaW5lIHN3aXRjaGVzXG4gKi9cbmZ1bmN0aW9uIGNvbW1hbmRMaW5lVG9Qcm9wcyhcbiAgY3dkOiBzdHJpbmcsXG4gIHR5cGU6IGludmVudG9yeS5Qcm9qZWN0VHlwZSxcbiAgYXJndjogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbik6IFJlY29yZDxzdHJpbmcsIGFueT4ge1xuICBjb25zdCBwcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9O1xuXG4gIC8vIGluaXRpYWxpemUgcHJvcHMgd2l0aCBkZWZhdWx0IHZhbHVlc1xuICBmb3IgKGNvbnN0IHByb3Agb2YgdHlwZS5vcHRpb25zKSB7XG4gICAgcHJvcHNbcHJvcC5uYW1lXSA9IGFyZ0luaXRpYWxWYWx1ZShwcm9wLCBjd2QpO1xuICB9XG5cbiAgZm9yIChjb25zdCBbYXJnLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoYXJndikpIHtcbiAgICBmb3IgKGNvbnN0IHByb3Agb2YgdHlwZS5vcHRpb25zKSB7XG4gICAgICBpZiAocHJvcC5zd2l0Y2ggPT09IGFyZykge1xuICAgICAgICBsZXQgY3VyciA9IHByb3BzO1xuICAgICAgICBjb25zdCBxdWV1ZSA9IFsuLi5wcm9wLnBhdGhdO1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgIGNvbnN0IHAgPSBxdWV1ZS5zaGlmdCgpO1xuICAgICAgICAgIGlmICghcCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChxdWV1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGN1cnJbcF0gPSB2YWx1ZTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VycltwXSA9IGN1cnJbcF0gPz8ge307XG4gICAgICAgICAgICBjdXJyID0gY3VycltwXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gcHJvcHM7XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHByb2plY3QgZnJvbSBhbiBleHRlcm5hbCBtb2R1bGUuXG4gKlxuICogQHBhcmFtIHNwZWMgVGhlIG5hbWUgb2YgdGhlIGV4dGVybmFsIG1vZHVsZSB0byBsb2FkXG4gKiBAcGFyYW0gYXJncyBDb21tYW5kIGxpbmUgYXJndW1lbnRzIChpbmNsLiBwcm9qZWN0IHR5cGUpXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGluaXRQcm9qZWN0RnJvbU1vZHVsZShiYXNlRGlyOiBzdHJpbmcsIHNwZWM6IHN0cmluZywgYXJnczogYW55KSB7XG4gIGNvbnN0IHByb2plblZlcnNpb24gPSBhcmdzLnByb2plblZlcnNpb24gPz8gXCJsYXRlc3RcIjtcbiAgY29uc3QgaW5zdGFsbENvbW1hbmQgPSByZW5kZXJJbnN0YWxsQ29tbWFuZChcbiAgICBiYXNlRGlyLFxuICAgIGBwcm9qZW5AJHtwcm9qZW5WZXJzaW9ufWBcbiAgKTtcbiAgaWYgKGFyZ3MucHJvamVuVmVyc2lvbikge1xuICAgIGV4ZWMoaW5zdGFsbENvbW1hbmQsIHsgY3dkOiBiYXNlRGlyIH0pO1xuICB9IGVsc2Uge1xuICAgIC8vIGRvIG5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgaW5zdGFsbGF0aW9uXG4gICAgZXhlYyhcbiAgICAgIGBucG0gbHMgLS1wcmVmaXg9XCIke2Jhc2VEaXJ9XCIgLS1kZXB0aD0wIC0tcGF0dGVybiBwcm9qZW4gfHwgJHtpbnN0YWxsQ29tbWFuZH1gLFxuICAgICAgeyBjd2Q6IGJhc2VEaXIgfVxuICAgICk7XG4gIH1cblxuICBjb25zdCBpbnN0YWxsUGFja2FnZVdpdGhDbGlFcnJvciA9IChiOiBzdHJpbmcsIHM6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBpbnN0YWxsUGFja2FnZShiLCBzKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgY29uc3Qgc3RkZXJyID1cbiAgICAgICAgKGVycm9yIGFzIFNwYXduU3luY1JldHVybnM8QnVmZmVyPik/LnN0ZGVycj8udG9TdHJpbmcoKSA/PyBcIlwiO1xuICAgICAgY29uc3QgaXNMb2NhbCA9IHN0ZGVyci5pbmNsdWRlcyhcImNvZGUgRU5PRU5UXCIpO1xuICAgICAgY29uc3QgaXNSZWdpc3RyeSA9IHN0ZGVyci5pbmNsdWRlcyhcImNvZGUgRTQwNFwiKTtcbiAgICAgIGlmIChpc0xvY2FsIHx8IGlzUmVnaXN0cnkpIHtcbiAgICAgICAgY29uc3QgbW9kdWxlU291cmNlID0gaXNMb2NhbCA/IFwicGF0aFwiIDogXCJyZWdpc3RyeVwiO1xuICAgICAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoXG4gICAgICAgICAgYENvdWxkIG5vdCBmaW5kICcke3N9JyBpbiB0aGlzICR7bW9kdWxlU291cmNlfS4gUGxlYXNlIGVuc3VyZSB0aGF0IHRoZSBwYWNrYWdlIGV4aXN0cywgeW91IGhhdmUgYWNjZXNzIGl0IGFuZCB0cnkgYWdhaW4uYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgbW9kdWxlTmFtZSA9IGluc3RhbGxQYWNrYWdlV2l0aENsaUVycm9yKGJhc2VEaXIsIHNwZWMpO1xuICBsb2dnaW5nLmVtcHR5KCk7XG5cbiAgLy8gRmluZCB0aGUganVzdCBpbnN0YWxsZWQgcGFja2FnZSBhbmQgZGlzY292ZXIgdGhlIHJlc3QgcmVjdXJzaXZlbHkgZnJvbSB0aGlzIHBhY2thZ2UgZm9sZGVyXG4gIGNvbnN0IG1vZHVsZURpciA9IGZpbmRKc2lpRmlsZVBhdGgoYmFzZURpciwgbW9kdWxlTmFtZSk7XG5cbiAgaWYgKCFtb2R1bGVEaXIpIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoXG4gICAgICBgTW9kdWxlICcke21vZHVsZU5hbWV9JyBkb2VzIG5vdCBsb29rIGxpa2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIHByb2plbi4gUmVhc29uOiBDYW5ub3QgZmluZCAnJHttb2R1bGVOYW1lfS8uanNpaScuIEFsbCBwcm9qZW4gbW9kdWxlcyBtdXN0IGJlIGpzaWkgbW9kdWxlcyFgXG4gICAgKTtcbiAgfVxuXG4gIC8vIE9ubHkgbGVhdmUgcHJvamVjdHMgZnJvbSB0aGUgbWFpbiAocmVxdWVzdGVkKSBwYWNrYWdlXG4gIGNvbnN0IHByb2plY3RzID0gaW52ZW50b3J5XG4gICAgLmRpc2NvdmVyKG1vZHVsZURpcilcbiAgICAuZmlsdGVyKCh4KSA9PiB4Lm1vZHVsZU5hbWUgPT09IG1vZHVsZU5hbWUpOyAvLyBPbmx5IGxpc3QgcHJvamVjdCB0eXBlcyBmcm9tIHRoZSByZXF1ZXN0ZWQgJ2Zyb20nIG1vZHVsZVxuXG4gIGlmIChwcm9qZWN0cy5sZW5ndGggPCAxKSB7XG4gICAgdGhyb3cgbmV3IENsaUVycm9yKFxuICAgICAgYE5vIHByb2plY3QgdHlwZXMgZm91bmQgYWZ0ZXIgaW5zdGFsbGluZyBcIiR7c3BlY31cIi4gVGhlIG1vZHVsZSBtdXN0IGV4cG9ydCBhdCBsZWFzdCBvbmUgY2xhc3Mgd2hpY2ggZXh0ZW5kcyBcInByb2plbi5Qcm9qZWN0XCIuYFxuICAgICk7XG4gIH1cblxuICBjb25zdCByZXF1ZXN0ZWQgPSBhcmdzLnByb2plY3RUeXBlTmFtZTtcbiAgY29uc3QgdHlwZXMgPSBwcm9qZWN0cy5tYXAoKHApID0+IHAucGppZCk7XG5cbiAgLy8gaWYgdXNlciBkaWQgbm90IHNwZWNpZnkgYSBwcm9qZWN0IHR5cGUgYnV0IHRoZSBtb2R1bGUgaGFzIG1vcmUgdGhhbiBvbmUsIHdlIG5lZWQgdGhlbSB0byB0ZWxsIHVzIHdoaWNoIG9uZS4uLlxuICBpZiAoIXJlcXVlc3RlZCAmJiBwcm9qZWN0cy5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IENsaUVycm9yKFxuICAgICAgYE11bHRpcGxlIHByb2plY3QgdHlwZXMgZm91bmQgYWZ0ZXIgaW5zdGFsbGluZyBcIiR7c3BlY31cIjpcXG5gLFxuICAgICAgLi4udHlwZXMubWFwKCh0KSA9PiBgICAgICR7dH1gKSxcbiAgICAgIFwiXCIsXG4gICAgICBgUGxlYXNlIHNwZWNpZnkgYSBwcm9qZWN0IHR5cGUuYCxcbiAgICAgIGBFeGFtcGxlOiBucHggcHJvamVuIG5ldyAtLWZyb20gJHtzcGVjfSAke3R5cGVzWzBdfWBcbiAgICApO1xuICB9XG5cbiAgLy8gaWYgdXNlciBkaWQgbm90IHNwZWNpZnkgYSB0eXBlIChhbmQgd2Uga25vdyB3ZSBoYXZlIG9ubHkgb25lKSwgdGhlIHNlbGVjdCBpdC4gb3RoZXJ3aXNlLCBzZWFyY2ggYnkgcGppZC5cbiAgY29uc3QgdHlwZSA9ICFyZXF1ZXN0ZWRcbiAgICA/IHByb2plY3RzWzBdXG4gICAgOiBwcm9qZWN0cy5maW5kKChwKSA9PiBwLnBqaWQgPT09IHJlcXVlc3RlZCk7XG4gIGlmICghdHlwZSkge1xuICAgIHRocm93IG5ldyBDbGlFcnJvcihcbiAgICAgIGBQcm9qZWN0IHR5cGUgXCIke3JlcXVlc3RlZH1cIiBub3QgZm91bmQgaW4gXCIke3NwZWN9XCIuIEZvdW5kOlxcbmAsXG4gICAgICAuLi50eXBlcy5tYXAoKHQpID0+IGAgICAgJHt0fWApLFxuICAgICAgXCJcIixcbiAgICAgIGBQbGVhc2Ugc3BlY2lmeSBhIHZhbGlkIHByb2plY3QgdHlwZS5gLFxuICAgICAgYEV4YW1wbGU6IG5weCBwcm9qZW4gbmV3IC0tZnJvbSAke3NwZWN9ICR7dHlwZXNbMF19YFxuICAgICk7XG4gIH1cblxuICBjb25zdCBtaXNzaW5nT3B0aW9ucyA9IFtdO1xuXG4gIGZvciAoY29uc3Qgb3B0aW9uIG9mIHR5cGUub3B0aW9ucyA/PyBbXSkge1xuICAgIC8vIG5vdCBhbGwgdHlwZXMgY2FuIGJlIHJlcHJlc2VudGVkIGluIHRoZSBjbGlcbiAgICBpZiAoIWFyZ1R5cGVTdXBwb3J0ZWQob3B0aW9uKSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gcGFyc2UgYWxsb3dlZCB0eXBlc1xuICAgIGlmIChhcmdzW29wdGlvbi5uYW1lXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IHBhcnNlQXJnKGFyZ3Nbb3B0aW9uLm5hbWVdLCBhcmdUeXBlKG9wdGlvbiksIG9wdGlvbik7XG4gICAgICBhcmdzW29wdGlvbi5zd2l0Y2hdID0gYXJnc1tvcHRpb24ubmFtZV07XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBvcHRpb24gd2l0aCBhIGRlZmF1bHRcbiAgICBpZiAoIW9wdGlvbi5vcHRpb25hbCAmJiBvcHRpb24uZGVmYXVsdCAmJiBvcHRpb24uZGVmYXVsdCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgY29uc3QgZGVmYXVsdFZhbHVlID0gcmVuZGVyRGVmYXVsdChiYXNlRGlyLCBvcHRpb24uZGVmYXVsdCk7XG4gICAgICBhcmdzW29wdGlvbi5uYW1lXSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgIGFyZ3Nbb3B0aW9uLnN3aXRjaF0gPSBkZWZhdWx0VmFsdWU7XG4gICAgfVxuXG4gICAgLy8gUmVxdWlyZWQgb3B0aW9uLCBidXQgd2UgY291bGQgbm90IGZpbmQgYSB2YWx1ZVxuICAgIGlmICghb3B0aW9uLm9wdGlvbmFsICYmICFhcmdzW29wdGlvbi5uYW1lXSkge1xuICAgICAgbWlzc2luZ09wdGlvbnMucHVzaChcbiAgICAgICAgYC0tJHtvcHRpb24uc3dpdGNofSBbJHthcmdUeXBlKG9wdGlvbil9XSAke2FyZ0Rlc2Mob3B0aW9uKX1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGFyZSBtaXNzaW5nIHNvbWUgcmVxdWlyZWQgb3B0aW9uc1xuICBpZiAobWlzc2luZ09wdGlvbnMubGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IENsaUVycm9yKFxuICAgICAgYENhbm5vdCBjcmVhdGUgXCIke3R5cGUuZnFufVwiLiBNaXNzaW5nIHJlcXVpcmVkIG9wdGlvbiR7XG4gICAgICAgIG1pc3NpbmdPcHRpb25zLmxlbmd0aCA+IDEgPyBcInNcIiA6IFwiXCJcbiAgICAgIH06YCxcbiAgICAgIC4uLm1pc3NpbmdPcHRpb25zLm1hcCgobSkgPT4gYCAgICAke219YClcbiAgICApO1xuICB9XG5cbiAgLy8gaW5jbHVkZSBhIGRldiBkZXBlbmRlbmN5IGZvciB0aGUgZXh0ZXJuYWwgbW9kdWxlXG4gIGFyZ3MuZGV2RGVwcyA9IFtzcGVjXTtcbiAgYXJnc1tcImRldi1kZXBzXCJdID0gW3NwZWNdO1xuXG4gIGF3YWl0IGluaXRQcm9qZWN0KGJhc2VEaXIsIHR5cGUsIGFyZ3MpO1xufVxuXG4vKipcbiAqIFBhcnNlIGNvbW1hbmQgbGluZSB2YWx1ZSBhcyBvcHRpb24gdHlwZVxuICovXG5mdW5jdGlvbiBwYXJzZUFyZyhcbiAgdmFsdWU6IGFueSxcbiAgdHlwZTogc3RyaW5nLFxuICBvcHRpb24/OiBpbnZlbnRvcnkuUHJvamVjdE9wdGlvblxuKTogYW55IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgcmV0dXJuIHBhcnNlSW50KHZhbHVlKTtcbiAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IGlzVHJ1dGh5KHZhbHVlKSA6IHZhbHVlO1xuICAgIGNhc2UgXCJhcnJheVwiOlxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICB2YWx1ZSA9IFt2YWx1ZV07XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWUubWFwKCh2OiBhbnkpID0+XG4gICAgICAgIHBhcnNlQXJnKFxuICAgICAgICAgIHYsXG4gICAgICAgICAgb3B0aW9uPy5mdWxsVHlwZS5jb2xsZWN0aW9uPy5lbGVtZW50dHlwZS5wcmltaXRpdmUgfHwgXCJzdHJpbmdcIlxuICAgICAgICApXG4gICAgICApO1xuICAgIC8vIHJldHVybiB2YWx1ZSB1bmNoYW5nZWRcbiAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgZGVmYXVsdDpcbiAgICAgIC8vIGlmIHdlIGhhdmUgYW4gdW5leHBlY3RlZCBhcnJheSwgdXNlIHRoZSBmaXJzdCBlbGVtZW50XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlWzBdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHByb2plY3QuXG4gKiBAcGFyYW0gdHlwZSBQcm9qZWN0IHR5cGVcbiAqIEBwYXJhbSBhcmdzIENvbW1hbmQgbGluZSBhcmd1bWVudHNcbiAqIEBwYXJhbSBhZGRpdGlvbmFsUHJvcHMgQWRkaXRpb25hbCBwYXJhbWV0ZXJzIHRvIGluY2x1ZGUgaW4gLnByb2plbnJjLmpzXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGluaXRQcm9qZWN0KFxuICBiYXNlRGlyOiBzdHJpbmcsXG4gIHR5cGU6IGludmVudG9yeS5Qcm9qZWN0VHlwZSxcbiAgYXJnczogYW55XG4pIHtcbiAgLy8gY29udmVydCBjb21tYW5kIGxpbmUgYXJndW1lbnRzIHRvIHByb2plY3QgcHJvcHMgdXNpbmcgdHlwZSBpbmZvcm1hdGlvblxuICBjb25zdCBwcm9wcyA9IGNvbW1hbmRMaW5lVG9Qcm9wcyhiYXNlRGlyLCB0eXBlLCBhcmdzKTtcblxuICBQcm9qZWN0cy5jcmVhdGVQcm9qZWN0KHtcbiAgICBkaXI6IHByb3BzLm91dGRpciA/PyBiYXNlRGlyLFxuICAgIHByb2plY3RGcW46IHR5cGUuZnFuLFxuICAgIHByb2plY3RPcHRpb25zOiBwcm9wcyxcbiAgICBvcHRpb25IaW50czogYXJncy5jb21tZW50c1xuICAgICAgPyBJbml0UHJvamVjdE9wdGlvbkhpbnRzLkZFQVRVUkVEXG4gICAgICA6IEluaXRQcm9qZWN0T3B0aW9uSGludHMuTk9ORSxcbiAgICBzeW50aDogYXJncy5zeW50aCxcbiAgICBwb3N0OiBhcmdzLnBvc3QsXG4gIH0pO1xuXG4gIGlmIChmcy5leGlzdHNTeW5jKHBhdGguam9pbihiYXNlRGlyLCBcInBhY2thZ2UuanNvblwiKSkgJiYgYXJncy5wb3N0KSB7XG4gICAgZXhlYyhcIm5wbSBydW4gZXNsaW50IC0taWYtcHJlc2VudFwiLCB7IGN3ZDogYmFzZURpciB9KTtcbiAgfVxuXG4gIGlmIChhcmdzLmdpdCkge1xuICAgIGNvbnN0IGdpdCA9IChjbWQ6IHN0cmluZykgPT4gZXhlYyhgZ2l0ICR7Y21kfWAsIHsgY3dkOiBiYXNlRGlyIH0pO1xuICAgIGNvbnN0IGdpdHZlcnNpb246IHN0cmluZyA9IGdldEdpdFZlcnNpb24oXG4gICAgICBleGVjQ2FwdHVyZShcImdpdCAtLXZlcnNpb25cIiwgeyBjd2Q6IGJhc2VEaXIgfSkudG9TdHJpbmcoKVxuICAgICk7XG4gICAgbG9nZ2luZy5kZWJ1ZyhcInN5c3RlbSB1c2luZyBnaXQgdmVyc2lvbiBcIiwgZ2l0dmVyc2lvbik7XG4gICAgLy8gYGdpdCBjb25maWcgaW5pdC5kZWZhdWx0QnJhbmNoYCBhbmQgYGdpdCBpbml0IC1iYCBhcmUgb25seSBhdmFpbGFibGUgc2luY2UgZ2l0IDIuMjguMFxuICAgIGlmIChnaXR2ZXJzaW9uICYmIHNlbXZlci5ndGUoZ2l0dmVyc2lvbiwgXCIyLjI4LjBcIikpIHtcbiAgICAgIGNvbnN0IGRlZmF1bHRHaXRJbml0QnJhbmNoID1cbiAgICAgICAgZXhlY09yVW5kZWZpbmVkKFwiZ2l0IGNvbmZpZyBpbml0LmRlZmF1bHRCcmFuY2hcIiwge1xuICAgICAgICAgIGN3ZDogYmFzZURpcixcbiAgICAgICAgfSk/LnRyaW0oKSB8fCBcIm1haW5cIjtcbiAgICAgIGdpdChgaW5pdCAtYiAke2RlZmF1bHRHaXRJbml0QnJhbmNofWApO1xuICAgICAgZ2l0KFwiYWRkIC5cIik7XG4gICAgICBnaXQoJ2NvbW1pdCAtLWFsbG93LWVtcHR5IC1tIFwiY2hvcmU6IHByb2plY3QgY3JlYXRlZCB3aXRoIHByb2plblwiJyk7XG4gICAgICBsb2dnaW5nLmRlYnVnKGBkZWZhdWx0IGJyYW5jaCBuYW1lIHNldCB0byAke2RlZmF1bHRHaXRJbml0QnJhbmNofWApO1xuICAgIH0gZWxzZSB7XG4gICAgICBnaXQoXCJpbml0XCIpO1xuICAgICAgZ2l0KFwiYWRkIC5cIik7XG4gICAgICBnaXQoJ2NvbW1pdCAtLWFsbG93LWVtcHR5IC1tIFwiY2hvcmU6IHByb2plY3QgY3JlYXRlZCB3aXRoIHByb2plblwiJyk7XG4gICAgICBsb2dnaW5nLmRlYnVnKFxuICAgICAgICBcIm9sZGVyIHZlcnNpb24gb2YgZ2l0IGRldGVjdGVkLCBjaGFuZ2VkIGRlZmF1bHQgYnJhbmNoIG5hbWUgdG8gbWFpblwiXG4gICAgICApO1xuICAgICAgZ2l0KFwiYnJhbmNoIC1NIG1haW5cIik7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IG5ldyBDb21tYW5kKCk7XG4iXX0=
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jbWRzL25ldy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsaUNBQWlDO0FBQ2pDLCtCQUErQjtBQUMvQiw2Q0FBNkM7QUFDN0MseUNBQXlDO0FBQ3pDLHFEQUE0RDtBQUM1RCw2Q0FBMEM7QUFDMUMscUNBTW9CO0FBQ3BCLHNDQUE0QztBQUM1QyxrQ0FLaUI7QUFFakIsTUFBTSxPQUFPO0lBQWI7UUFDa0IsWUFBTyxHQUFHLG1DQUFtQyxDQUFDO1FBQzlDLGFBQVEsR0FBRztZQUN6Qiw4QkFBOEI7WUFDOUIsRUFBRTtZQUNGLGdGQUFnRjtZQUNoRix1Q0FBdUM7U0FDeEMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUEwRmYsQ0FBQztJQXhGUSxPQUFPLENBQUMsSUFBZ0I7UUFDN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRTtZQUNuQyxRQUFRLEVBQ04sa0ZBQWtGO1lBQ3BGLElBQUksRUFBRSxRQUFRO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSx3Q0FBd0M7U0FDL0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDdEIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSw4RUFBOEU7U0FDckYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7WUFDbEIsSUFBSSxFQUFFLFFBQVE7WUFDZCxLQUFLLEVBQUUsR0FBRztZQUNWLElBQUksRUFBRSxzSEFBc0g7U0FDN0gsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDakIsSUFBSSxFQUFFLFNBQVM7WUFDZixPQUFPLEVBQUUsSUFBSTtZQUNiLElBQUksRUFBRSx1RUFBdUU7U0FDOUUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sQ0FDViwwQkFBMEIsRUFDMUIsd0RBQXdELENBQ3pELENBQUM7UUFDRixJQUFJLENBQUMsT0FBTyxDQUNWLGlDQUFpQyxFQUNqQyx1RkFBdUYsQ0FDeEYsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPLENBQ1YsMEJBQTBCLEVBQzFCLG9FQUFvRSxDQUNyRSxDQUFDO1FBRUYsS0FBSyxNQUFNLElBQUksSUFBSSxTQUFTLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEVBQUU7Z0JBQ3ZDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNqQixLQUFLLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUU1QixLQUFLLE1BQU0sTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLENBQUM7d0JBQ3hDLDhDQUE4Qzt3QkFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7NEJBQzlCLFNBQVM7d0JBQ1gsQ0FBQzt3QkFFRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7d0JBQzdDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTs0QkFDMUIsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXOzRCQUNuRCxJQUFJLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQzs0QkFDckIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7NEJBQzVCLFFBQVEsRUFBRSxDQUFDLE1BQU0sQ0FBQyxRQUFROzRCQUMxQixzRkFBc0Y7NEJBQ3RGLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksWUFBWTtnQ0FDbEMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtnQ0FDM0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt5QkFDUixDQUFDLENBQUM7b0JBQ0wsQ0FBQztvQkFFRCxPQUFPLEtBQUssQ0FBQztnQkFDZixDQUFDO2dCQUNELE9BQU8sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO2FBQzFELENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCw0REFBNEQ7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJO2FBQ0QsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFLEdBQUc7WUFDWixRQUFRLEVBQUUsS0FBSztZQUNmLE9BQU87U0FDUixDQUFDO2FBQ0QsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbkIsdURBQXVEO1lBQ3ZELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQVM7UUFDNUIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBRUQsS0FBSyxVQUFVLE9BQU8sQ0FBQyxJQUFTO0lBQzlCLElBQUksQ0FBQztRQUNILDRFQUE0RTtRQUM1RSwrQ0FBK0M7UUFDL0MsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxPQUFPLE1BQU0scUJBQXFCLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckUsQ0FBQztRQUVELDZGQUE2RjtRQUM3RixJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLGVBQVEsQ0FDaEIsaUJBQWlCLElBQUksQ0FBQyxlQUFlLGlDQUFpQyxFQUN0RSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQ3BDLEVBQUUsRUFDRixnQ0FBZ0MsRUFDaEMsMkJBQTJCLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FDM0MsQ0FBQztRQUNKLENBQUM7UUFFRCw2R0FBNkc7UUFDN0csS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO1FBQ3hCLElBQUksS0FBSyxZQUFZLGVBQVEsRUFBRSxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzdCLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUNyQixPQUFPO1FBQ1QsQ0FBQztRQUVELGlFQUFpRTtRQUNqRSwrQ0FBK0M7UUFDL0MsTUFBTSxLQUFLLENBQUM7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxPQUFPLENBQ2QsTUFBK0I7SUFFL0IsSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1FBQzNCLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLFVBQTZDLENBQUM7QUFDOUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyxPQUFPLENBQUMsTUFBK0I7SUFDOUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFFdEQsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDO0lBQzFELElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUNQLGFBQWEsV0FBVyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUMzRSxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLGVBQWUsQ0FDdEIsTUFBK0IsRUFDL0IsR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUU7SUFFbkIsdURBQXVEO0lBQ3ZELG1DQUFtQztJQUNuQyxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixPQUFPLGFBQWEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ2pELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGdCQUFnQixDQUFDLE1BQStCO0lBQ3ZELE9BQU8sQ0FDTCxNQUFNLENBQUMsVUFBVSxLQUFLLFFBQVE7UUFDOUIsTUFBTSxDQUFDLFVBQVUsS0FBSyxRQUFRO1FBQzlCLE1BQU0sQ0FBQyxVQUFVLEtBQUssU0FBUztRQUMvQixNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU07UUFDdEIsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQy9CLENBQUM7QUFDSixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxTQUFTLHNCQUFzQixDQUFDLE1BQStCO0lBQzdELE9BQU8sT0FBTyxDQUNaLE1BQU0sQ0FBQyxRQUFRO1FBQ2IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsSUFBSSxLQUFLLE9BQU87UUFDNUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFNBQVM7UUFDaEQsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxDQUMzQixNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUNqRCxDQUNKLENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxTQUFTLGFBQWEsQ0FBQyxHQUFXLEVBQUUsS0FBYTtJQUMvQyxPQUFPLElBQUEsd0JBQWUsRUFBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsa0JBQWtCLENBQ3pCLEdBQVcsRUFDWCxJQUEyQixFQUMzQixJQUE2QjtJQUU3QixNQUFNLEtBQUssR0FBd0IsRUFBRSxDQUFDO0lBRXRDLHVDQUF1QztJQUN2QyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEQsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEdBQUcsRUFBRSxDQUFDO2dCQUN4QixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLE1BQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzdCLE9BQU8sSUFBSSxFQUFFLENBQUM7b0JBQ1osTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsTUFBTTtvQkFDUixDQUFDO29CQUNELElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDdkIsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztvQkFDbEIsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO3dCQUN4QixJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNqQixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUM7QUFFRDs7Ozs7R0FLRztBQUNILEtBQUssVUFBVSxxQkFBcUIsQ0FBQyxPQUFlLEVBQUUsSUFBWSxFQUFFLElBQVM7SUFDM0UsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUM7SUFDckQsTUFBTSxjQUFjLEdBQUcsSUFBQSwyQkFBb0IsRUFDekMsT0FBTyxFQUNQLFVBQVUsYUFBYSxFQUFFLENBQzFCLENBQUM7SUFDRixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QixJQUFBLFdBQUksRUFBQyxjQUFjLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO1NBQU0sQ0FBQztRQUNOLHlDQUF5QztRQUN6QyxJQUFBLFdBQUksRUFDRixvQkFBb0IsT0FBTyxtQ0FBbUMsY0FBYyxFQUFFLEVBQzlFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUNqQixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxDQUFTLEVBQUUsQ0FBUyxFQUFVLEVBQUU7UUFDbEUsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFBLHFCQUFjLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFBQyxPQUFPLEtBQWMsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sTUFBTSxHQUNULEtBQWtDLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNoRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQy9DLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDaEQsSUFBSSxPQUFPLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQzFCLE1BQU0sWUFBWSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUM7Z0JBQ25ELE1BQU0sSUFBSSxlQUFRLENBQ2hCLG1CQUFtQixDQUFDLGFBQWEsWUFBWSw0RUFBNEUsQ0FDMUgsQ0FBQztZQUNKLENBQUM7WUFFRCxNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBRywwQkFBMEIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0QsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRWhCLDZGQUE2RjtJQUM3RixNQUFNLFNBQVMsR0FBRyxJQUFBLHVCQUFnQixFQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUV4RCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixNQUFNLElBQUksZUFBUSxDQUNoQixXQUFXLFVBQVUsMkVBQTJFLFVBQVUsbURBQW1ELENBQzlKLENBQUM7SUFDSixDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELE1BQU0sUUFBUSxHQUFHLFNBQVM7U0FDdkIsUUFBUSxDQUFDLFNBQVMsQ0FBQztTQUNuQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQywyREFBMkQ7SUFFMUcsSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sSUFBSSxlQUFRLENBQ2hCLDRDQUE0QyxJQUFJLDhFQUE4RSxDQUMvSCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDdkMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRTFDLGdIQUFnSDtJQUNoSCxJQUFJLENBQUMsU0FBUyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdEMsTUFBTSxJQUFJLGVBQVEsQ0FDaEIsa0RBQWtELElBQUksTUFBTSxFQUM1RCxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFDL0IsRUFBRSxFQUNGLGdDQUFnQyxFQUNoQyxrQ0FBa0MsSUFBSSxJQUFJLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELDJHQUEyRztJQUMzRyxNQUFNLElBQUksR0FBRyxDQUFDLFNBQVM7UUFDckIsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDYixDQUFDLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxTQUFTLENBQUMsQ0FBQztJQUMvQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDVixNQUFNLElBQUksZUFBUSxDQUNoQixpQkFBaUIsU0FBUyxtQkFBbUIsSUFBSSxhQUFhLEVBQzlELEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxFQUMvQixFQUFFLEVBQ0Ysc0NBQXNDLEVBQ3RDLGtDQUFrQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQ3JELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0lBRTFCLEtBQUssTUFBTSxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUN4Qyw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDOUIsU0FBUztRQUNYLENBQUM7UUFFRCxzQkFBc0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQ3pFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN4QyxTQUFTO1FBQ1gsQ0FBQztRQUVELGlDQUFpQztRQUNqQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDekUsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDNUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUM7WUFDakMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxZQUFZLENBQUM7UUFDckMsQ0FBQztRQUVELGlEQUFpRDtRQUNqRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzQyxjQUFjLENBQUMsSUFBSSxDQUNqQixLQUFLLE1BQU0sQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUM3RCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsSUFBSSxjQUFjLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsTUFBTSxJQUFJLGVBQVEsQ0FDaEIsa0JBQWtCLElBQUksQ0FBQyxHQUFHLDZCQUN4QixjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUNwQyxHQUFHLEVBQ0gsR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRUQsbURBQW1EO0lBQ25ELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0QixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUxQixNQUFNLFdBQVcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQVMsUUFBUSxDQUNmLEtBQVUsRUFDVixJQUFZLEVBQ1osTUFBZ0M7SUFFaEMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNiLEtBQUssUUFBUTtZQUNYLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLEtBQUssU0FBUztZQUNaLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLGVBQVEsRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzdELEtBQUssT0FBTztZQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLEtBQUssR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xCLENBQUM7WUFDRCxPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUMxQixRQUFRLENBQ04sQ0FBQyxFQUNELE1BQU0sRUFBRSxRQUFRLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQyxTQUFTLElBQUksUUFBUSxDQUMvRCxDQUNGLENBQUM7UUFDSix5QkFBeUI7UUFDekIsS0FBSyxRQUFRLENBQUM7UUFDZDtZQUNFLHdEQUF3RDtZQUN4RCxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEIsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxLQUFLLFVBQVUsV0FBVyxDQUN4QixPQUFlLEVBQ2YsSUFBMkIsRUFDM0IsSUFBUztJQUVULHlFQUF5RTtJQUN6RSxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXRELG1CQUFRLENBQUMsYUFBYSxDQUFDO1FBQ3JCLEdBQUcsRUFBRSxLQUFLLENBQUMsTUFBTSxJQUFJLE9BQU87UUFDNUIsVUFBVSxFQUFFLElBQUksQ0FBQyxHQUFHO1FBQ3BCLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN4QixDQUFDLENBQUMscUNBQXNCLENBQUMsUUFBUTtZQUNqQyxDQUFDLENBQUMscUNBQXNCLENBQUMsSUFBSTtRQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7UUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO0tBQ2hCLENBQUMsQ0FBQztJQUVILElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRSxJQUFBLFdBQUksRUFBQyw2QkFBNkIsRUFBRSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sR0FBRyxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUUsQ0FBQyxJQUFBLFdBQUksRUFBQyxPQUFPLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQVcsSUFBQSxvQkFBYSxFQUN0QyxJQUFBLGtCQUFXLEVBQUMsZUFBZSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQzFELENBQUM7UUFDRixPQUFPLENBQUMsS0FBSyxDQUFDLDJCQUEyQixFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZELHdGQUF3RjtRQUN4RixJQUFJLFVBQVUsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ25ELE1BQU0sb0JBQW9CLEdBQ3hCLElBQUEsc0JBQWUsRUFBQywrQkFBK0IsRUFBRTtnQkFDL0MsR0FBRyxFQUFFLE9BQU87YUFDYixDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksTUFBTSxDQUFDO1lBQ3ZCLEdBQUcsQ0FBQyxXQUFXLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUN2QyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDYixHQUFHLENBQUMsOERBQThELENBQUMsQ0FBQztZQUNwRSxPQUFPLENBQUMsS0FBSyxDQUFDLDhCQUE4QixvQkFBb0IsRUFBRSxDQUFDLENBQUM7UUFDdEUsQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDWixHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDYixHQUFHLENBQUMsOERBQThELENBQUMsQ0FBQztZQUNwRSxPQUFPLENBQUMsS0FBSyxDQUNYLG9FQUFvRSxDQUNyRSxDQUFDO1lBQ0YsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsa0JBQWUsSUFBSSxPQUFPLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgU3Bhd25TeW5jUmV0dXJucyB9IGZyb20gXCJjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tIFwic2VtdmVyXCI7XG5pbXBvcnQgKiBhcyB5YXJncyBmcm9tIFwieWFyZ3NcIjtcbmltcG9ydCAqIGFzIGludmVudG9yeSBmcm9tIFwiLi4vLi4vaW52ZW50b3J5XCI7XG5pbXBvcnQgKiBhcyBsb2dnaW5nIGZyb20gXCIuLi8uLi9sb2dnaW5nXCI7XG5pbXBvcnQgeyBJbml0UHJvamVjdE9wdGlvbkhpbnRzIH0gZnJvbSBcIi4uLy4uL29wdGlvbi1oaW50c1wiO1xuaW1wb3J0IHsgUHJvamVjdHMgfSBmcm9tIFwiLi4vLi4vcHJvamVjdHNcIjtcbmltcG9ydCB7XG4gIGV4ZWMsXG4gIGV4ZWNDYXB0dXJlLFxuICBleGVjT3JVbmRlZmluZWQsXG4gIGdldEdpdFZlcnNpb24sXG4gIGlzVHJ1dGh5LFxufSBmcm9tIFwiLi4vLi4vdXRpbFwiO1xuaW1wb3J0IHsgdHJ5UHJvY2Vzc01hY3JvIH0gZnJvbSBcIi4uL21hY3Jvc1wiO1xuaW1wb3J0IHtcbiAgQ2xpRXJyb3IsXG4gIGZpbmRKc2lpRmlsZVBhdGgsXG4gIGluc3RhbGxQYWNrYWdlLFxuICByZW5kZXJJbnN0YWxsQ29tbWFuZCxcbn0gZnJvbSBcIi4uL3V0aWxcIjtcblxuY2xhc3MgQ29tbWFuZCBpbXBsZW1lbnRzIHlhcmdzLkNvbW1hbmRNb2R1bGUge1xuICBwdWJsaWMgcmVhZG9ubHkgY29tbWFuZCA9IFwibmV3IFtQUk9KRUNULVRZUEUtTkFNRV0gW09QVElPTlNdXCI7XG4gIHB1YmxpYyByZWFkb25seSBkZXNjcmliZSA9IFtcbiAgICBcIkNyZWF0ZXMgYSBuZXcgcHJvamVuIHByb2plY3RcIixcbiAgICBcIlwiLFxuICAgIFwiRm9yIGEgY29tcGxldGUgbGlzdCBvZiB0aGUgYXZhaWxhYmxlIG9wdGlvbnMgZm9yIGEgc3BlY2lmaWMgcHJvamVjdCB0eXBlLCBydW46XCIsXG4gICAgXCJwcm9qZW4gbmV3IFtQUk9KRUNULVRZUEUtTkFNRV0gLS1oZWxwXCIsXG4gIF0uam9pbihcIlxcblwiKTtcblxuICBwdWJsaWMgYnVpbGRlcihhcmdzOiB5YXJncy5Bcmd2KSB7XG4gICAgYXJncy5wb3NpdGlvbmFsKFwiUFJPSkVDVC1UWVBFLU5BTUVcIiwge1xuICAgICAgZGVzY3JpYmU6XG4gICAgICAgIFwib25seSBvcHRpb25hbCB3aXRoIC0tZnJvbSBhbmQgdGhlIGV4dGVybmFsIG1vZHVsZSBoYXMgb25seSBhIHNpbmdsZSBwcm9qZWN0IHR5cGVcIixcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgfSk7XG4gICAgYXJncy5vcHRpb24oXCJzeW50aFwiLCB7XG4gICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICBkZXNjOiBcIlN5bnRoZXNpemUgYWZ0ZXIgY3JlYXRpbmcgLnByb2plbnJjLmpzXCIsXG4gICAgfSk7XG4gICAgYXJncy5vcHRpb24oXCJjb21tZW50c1wiLCB7XG4gICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICBkZXNjOiBcIkluY2x1ZGUgY29tbWVudGVkIG91dCBvcHRpb25zIGluIC5wcm9qZW5yYy5qcyAodXNlIC0tbm8tY29tbWVudHMgdG8gZGlzYWJsZSlcIixcbiAgICB9KTtcbiAgICBhcmdzLm9wdGlvbihcImZyb21cIiwge1xuICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgIGFsaWFzOiBcImZcIixcbiAgICAgIGRlc2M6ICdFeHRlcm5hbCBqc2lpIG5wbSBtb2R1bGUgdG8gY3JlYXRlIHByb2plY3QgZnJvbS4gU3VwcG9ydHMgYW55IHBhY2thZ2Ugc3BlYyBzdXBwb3J0ZWQgYnkgbnBtIChzdWNoIGFzIFwibXktcGFja0BeMi4wXCIpJyxcbiAgICB9KTtcbiAgICBhcmdzLm9wdGlvbihcImdpdFwiLCB7XG4gICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICBkZXNjOiBcIlJ1biBgZ2l0IGluaXRgIGFuZCBjcmVhdGUgYW4gaW5pdGlhbCBjb21taXQgKHVzZSAtLW5vLWdpdCB0byBkaXNhYmxlKVwiLFxuICAgIH0pO1xuICAgIGFyZ3MuZXhhbXBsZShcbiAgICAgIFwicHJvamVuIG5ldyBhd3NjZGstYXBwLXRzXCIsXG4gICAgICAnQ3JlYXRlcyBhIG5ldyBwcm9qZWN0IG9mIGJ1aWx0LWluIHR5cGUgXCJhd3NjZGstYXBwLXRzXCInXG4gICAgKTtcbiAgICBhcmdzLmV4YW1wbGUoXG4gICAgICBcInByb2plbiBuZXcgLS1mcm9tIHByb2plbi12dWVAXjJcIixcbiAgICAgICdDcmVhdGVzIGEgbmV3IHByb2plY3QgZnJvbSBhbiBleHRlcm5hbCBtb2R1bGUgXCJwcm9qZW4tdnVlXCIgd2l0aCB0aGUgc3BlY2lmaWVkIHZlcnNpb24nXG4gICAgKTtcbiAgICBhcmdzLmV4YW1wbGUoXG4gICAgICBcInByb2plbiBuZXcgcHl0aG9uIC0taGVscFwiLFxuICAgICAgJ1Nob3dzIGFsbCBvcHRpb25zIGF2YWlsYWJsZSBmb3IgdGhlIGJ1aWx0LWluIHByb2plY3QgdHlwZSBcInB5dGhvblwiJ1xuICAgICk7XG5cbiAgICBmb3IgKGNvbnN0IHR5cGUgb2YgaW52ZW50b3J5LmRpc2NvdmVyKCkpIHtcbiAgICAgIGFyZ3MuY29tbWFuZCh0eXBlLnBqaWQsIHR5cGUuZG9jcyA/PyBcIlwiLCB7XG4gICAgICAgIGJ1aWxkZXI6IChjYXJncykgPT4ge1xuICAgICAgICAgIGNhcmdzLnNob3dIZWxwT25GYWlsKGZhbHNlKTtcblxuICAgICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIHR5cGUub3B0aW9ucyA/PyBbXSkge1xuICAgICAgICAgICAgLy8gbm90IGFsbCB0eXBlcyBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gdGhlIGNsaVxuICAgICAgICAgICAgaWYgKCFhcmdUeXBlU3VwcG9ydGVkKG9wdGlvbikpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGFyZ0luaXRpYWxWYWx1ZShvcHRpb24pO1xuICAgICAgICAgICAgY2FyZ3Mub3B0aW9uKG9wdGlvbi5zd2l0Y2gsIHtcbiAgICAgICAgICAgICAgZ3JvdXA6ICFvcHRpb24ub3B0aW9uYWwgPyBcIlJlcXVpcmVkOlwiIDogXCJPcHRpb25hbDpcIixcbiAgICAgICAgICAgICAgdHlwZTogYXJnVHlwZShvcHRpb24pLFxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogYXJnRGVzYyhvcHRpb24pLFxuICAgICAgICAgICAgICByZXF1aXJlZDogIW9wdGlvbi5vcHRpb25hbCxcbiAgICAgICAgICAgICAgLy8geWFyZ3MgYmVoYXZlcyBkaWZmZXJlbnRseSBmb3IgYXJyYXlzIGlmIHRoZSBkZWZhdWx0VmFsdWUgcHJvcGVydHkgaXMgcHJlc2VudCBvciBub3RcbiAgICAgICAgICAgICAgLi4uKCFvcHRpb24ub3B0aW9uYWwgJiYgZGVmYXVsdFZhbHVlXG4gICAgICAgICAgICAgICAgPyB7IGRlZmF1bHQ6IGRlZmF1bHRWYWx1ZSB9XG4gICAgICAgICAgICAgICAgOiB7fSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gY2FyZ3M7XG4gICAgICAgIH0sXG4gICAgICAgIGhhbmRsZXI6IChhcmd2KSA9PiBpbml0UHJvamVjdChwcm9jZXNzLmN3ZCgpLCB0eXBlLCBhcmd2KSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgc3RyaWN0IG1vZGUsIG90aGVyd2lzZSB0aGUgY2F0Y2gtYWxsIGRvZXNuJ3Qgd29ya1xuICAgIGFyZ3Muc3RyaWN0Q29tbWFuZHMoZmFsc2UpO1xuICAgIGFyZ3NcbiAgICAgIC5jb21tYW5kKHtcbiAgICAgICAgY29tbWFuZDogXCIqXCIsXG4gICAgICAgIGRlc2NyaWJlOiBmYWxzZSxcbiAgICAgICAgaGFuZGxlcixcbiAgICAgIH0pXG4gICAgICAubWlkZGxld2FyZSgoYXJndikgPT4ge1xuICAgICAgICAvLyBtYW51YWxseSBzZXQgdGhlIG1hdGNoZWQgY29tbWFuZCBhcyB0aGUgcHJvamVjdCB0eXBlXG4gICAgICAgIGFyZ3YucHJvamVjdFR5cGVOYW1lID0gYXJndi5fWzFdO1xuICAgICAgfSwgdHJ1ZSk7XG5cbiAgICByZXR1cm4gYXJncztcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBoYW5kbGVyKGFyZ3M6IGFueSkge1xuICAgIHJldHVybiBoYW5kbGVyKGFyZ3MpO1xuICB9XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoYXJnczogYW55KSB7XG4gIHRyeSB7XG4gICAgLy8gaGFuZGxlIC0tZnJvbSB3aGljaCBtZWFucyB3ZSB3YW50IHRvIGZpcnN0IGluc3RhbGwgYSBqc2lpIG1vZHVsZSBhbmQgdGhlblxuICAgIC8vIGNyZWF0ZSBhIHByb2plY3QgZGVmaW5lZCB3aXRoaW4gdGhpcyBtb2R1bGUuXG4gICAgaWYgKGFyZ3MuZnJvbSkge1xuICAgICAgcmV0dXJuIGF3YWl0IGluaXRQcm9qZWN0RnJvbU1vZHVsZShwcm9jZXNzLmN3ZCgpLCBhcmdzLmZyb20sIGFyZ3MpO1xuICAgIH1cblxuICAgIC8vIHByb2plY3QgdHlwZSBpcyBkZWZpbmVkIGJ1dCB3YXMgbm90IG1hdGNoZWQgYnkgeWFyZ3MsIHNvIHByaW50IHRoZSBsaXN0IG9mIHN1cHBvcnRlZCB0eXBlc1xuICAgIGlmIChhcmdzLnByb2plY3RUeXBlTmFtZSkge1xuICAgICAgY29uc3QgdHlwZXMgPSBpbnZlbnRvcnkuZGlzY292ZXIoKTtcbiAgICAgIHRocm93IG5ldyBDbGlFcnJvcihcbiAgICAgICAgYFByb2plY3QgdHlwZSBcIiR7YXJncy5wcm9qZWN0VHlwZU5hbWV9XCIgbm90IGZvdW5kLiBBdmFpbGFibGUgdHlwZXM6XFxuYCxcbiAgICAgICAgLi4udHlwZXMubWFwKCh0KSA9PiBgICAgICR7dC5wamlkfWApLFxuICAgICAgICBcIlwiLFxuICAgICAgICBgUGxlYXNlIHNwZWNpZnkgYSBwcm9qZWN0IHR5cGUuYCxcbiAgICAgICAgYEV4YW1wbGU6IG5weCBwcm9qZW4gbmV3ICR7dHlwZXNbMF0ucGppZH1gXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZXMgdGhlIHVzZSBjYXNlIHRoYXQgbm90aGluZyB3YXMgc3BlY2lmaWVkIHNpbmNlIFBST0pFQ1QtVFlQRSBpcyBub3cgYW4gb3B0aW9uYWwgcG9zaXRpb25hbCBwYXJhbWV0ZXJcbiAgICB5YXJncy5zaG93SGVscCgpO1xuICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIENsaUVycm9yKSB7XG4gICAgICBsb2dnaW5nLmVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgbG9nZ2luZy5lbXB0eSgpO1xuICAgICAgcHJvY2Vzcy5leGl0Q29kZSA9IDE7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gdW5rbm93biBlcnJvciwgbGlrZWx5IGEgbm9kZSBydW50aW1lIGV4Y2VwdGlvbiBpbiBwcm9qZWN0IGNvZGVcbiAgICAvLyByZXRocm93IHNvIHRoZSBmdWxsIHN0YWNrIHRyYWNlIGlzIGRpc3BsYXllZFxuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgeWFyZ3Mgb3B0aW9uIHR5cGUgZm9yIGEgZ2l2ZW4gcHJvamVjdCBvcHRpb25cbiAqL1xuZnVuY3Rpb24gYXJnVHlwZShcbiAgb3B0aW9uOiBpbnZlbnRvcnkuUHJvamVjdE9wdGlvblxuKTogXCJzdHJpbmdcIiB8IFwiYm9vbGVhblwiIHwgXCJudW1iZXJcIiB8IFwiYXJyYXlcIiB7XG4gIGlmIChvcHRpb24ua2luZCA9PT0gXCJlbnVtXCIpIHtcbiAgICByZXR1cm4gXCJzdHJpbmdcIjtcbiAgfVxuXG4gIGlmIChpc1ByaW1pdGl2ZUFycmF5T3B0aW9uKG9wdGlvbikpIHtcbiAgICByZXR1cm4gXCJhcnJheVwiO1xuICB9XG5cbiAgcmV0dXJuIG9wdGlvbi5zaW1wbGVUeXBlIGFzIFwic3RyaW5nXCIgfCBcImJvb2xlYW5cIiB8IFwibnVtYmVyXCI7XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZGVzY3JpcHRpb24gZm9yIGEgZ2l2ZW4gcHJvamVjdCBvcHRpb25cbiAqL1xuZnVuY3Rpb24gYXJnRGVzYyhvcHRpb246IGludmVudG9yeS5Qcm9qZWN0T3B0aW9uKTogc3RyaW5nIHtcbiAgbGV0IGRlc2MgPSBbb3B0aW9uLmRvY3M/LnJlcGxhY2UoL1xcICpcXC4kLywgXCJcIikgPz8gXCJcIl07XG5cbiAgY29uc3QgaGVscERlZmF1bHQgPSBvcHRpb24uaW5pdGlhbFZhbHVlID8/IG9wdGlvbi5kZWZhdWx0O1xuICBpZiAob3B0aW9uLm9wdGlvbmFsICYmIGhlbHBEZWZhdWx0KSB7XG4gICAgZGVzYy5wdXNoKFxuICAgICAgYFtkZWZhdWx0OiAke2hlbHBEZWZhdWx0LnJlcGxhY2UoL15cXCAqLS8sIFwiXCIpLnJlcGxhY2UoL1xcLiQvLCBcIlwiKS50cmltKCl9XWBcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGRlc2Muam9pbihcIiBcIik7XG59XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgaW5pdGlhbCB2YWx1ZSBmb3IgYSBnaXZlbiBwcm9qZWN0IG9wdGlvblxuICovXG5mdW5jdGlvbiBhcmdJbml0aWFsVmFsdWUoXG4gIG9wdGlvbjogaW52ZW50b3J5LlByb2plY3RPcHRpb24sXG4gIGN3ZCA9IHByb2Nlc3MuY3dkKClcbik6IGFueSB7XG4gIC8vIGlmIHdlIGhhdmUgZGV0ZXJtaW5lZCBhbiBpbml0aWFsIHZhbHVlIGZvciB0aGUgZmllbGRcbiAgLy8gd2UgY2FuIHNob3cgdGhhdCB2YWx1ZSBpbiAtLWhlbHBcbiAgaWYgKG9wdGlvbi5pbml0aWFsVmFsdWUpIHtcbiAgICByZXR1cm4gcmVuZGVyRGVmYXVsdChjd2QsIG9wdGlvbi5pbml0aWFsVmFsdWUpO1xuICB9XG59XG5cbi8qKlxuICogQ3VycmVudGx5IHdlIG9ubHkgc3VwcG9ydCB0aGVzZSBmaWVsZCB0eXBlcyBhcyBjb21tYW5kIGxpbmUgb3B0aW9uczpcbiAqIC0gcHJpbWl0aXZlcyAoc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4pXG4gKiAtIGxpc3RzIG9mIHByaW1pdGl2ZXNcbiAqIC0gZW51bXNcbiAqL1xuZnVuY3Rpb24gYXJnVHlwZVN1cHBvcnRlZChvcHRpb246IGludmVudG9yeS5Qcm9qZWN0T3B0aW9uKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgb3B0aW9uLnNpbXBsZVR5cGUgPT09IFwic3RyaW5nXCIgfHxcbiAgICBvcHRpb24uc2ltcGxlVHlwZSA9PT0gXCJudW1iZXJcIiB8fFxuICAgIG9wdGlvbi5zaW1wbGVUeXBlID09PSBcImJvb2xlYW5cIiB8fFxuICAgIG9wdGlvbi5raW5kID09PSBcImVudW1cIiB8fFxuICAgIGlzUHJpbWl0aXZlQXJyYXlPcHRpb24ob3B0aW9uKVxuICApO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgZ2l2ZW4gb3B0aW9uIGlzIGEgcHJpbWl0aXZlIGFycmF5XG4gKi9cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlQXJyYXlPcHRpb24ob3B0aW9uOiBpbnZlbnRvcnkuUHJvamVjdE9wdGlvbik6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihcbiAgICBvcHRpb24uanNvbkxpa2UgJiZcbiAgICAgIG9wdGlvbi5mdWxsVHlwZS5jb2xsZWN0aW9uPy5raW5kID09PSBcImFycmF5XCIgJiZcbiAgICAgIG9wdGlvbi5mdWxsVHlwZS5jb2xsZWN0aW9uLmVsZW1lbnR0eXBlLnByaW1pdGl2ZSAmJlxuICAgICAgW1wic3RyaW5nXCIsIFwibnVtYmVyXCJdLmluY2x1ZGVzKFxuICAgICAgICBvcHRpb24uZnVsbFR5cGUuY29sbGVjdGlvbi5lbGVtZW50dHlwZS5wcmltaXRpdmVcbiAgICAgIClcbiAgKTtcbn1cblxuLyoqXG4gKiBHaXZlbiBhIHZhbHVlIGZyb20gXCJAZGVmYXVsdFwiLCBwcm9jZXNzZXMgbWFjcm9zIGFuZCByZXR1cm5zIGEgc3RyaW5naWZpZWRcbiAqIChxdW90ZWQpIHJlc3VsdC5cbiAqXG4gKiBAcmV0dXJucyBhIGphdmFzY3JpcHQgcHJpbWl0aXZlIChjb3VsZCBiZSBhIHN0cmluZywgbnVtYmVyIG9yIGJvb2xlYW4pXG4gKi9cbmZ1bmN0aW9uIHJlbmRlckRlZmF1bHQoY3dkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgcmV0dXJuIHRyeVByb2Nlc3NNYWNybyhjd2QsIHZhbHVlKSA/PyBKU09OLnBhcnNlKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyB5YXJncyBjb21tYW5kIGxpbmUgc3dpdGNoZXMgdG8gcHJvamVjdCB0eXBlIHByb3BzLlxuICogQHBhcmFtIHR5cGUgUHJvamVjdCB0eXBlXG4gKiBAcGFyYW0gYXJndiBDb21tYW5kIGxpbmUgc3dpdGNoZXNcbiAqL1xuZnVuY3Rpb24gY29tbWFuZExpbmVUb1Byb3BzKFxuICBjd2Q6IHN0cmluZyxcbiAgdHlwZTogaW52ZW50b3J5LlByb2plY3RUeXBlLFxuICBhcmd2OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxuKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gIGNvbnN0IHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG5cbiAgLy8gaW5pdGlhbGl6ZSBwcm9wcyB3aXRoIGRlZmF1bHQgdmFsdWVzXG4gIGZvciAoY29uc3QgcHJvcCBvZiB0eXBlLm9wdGlvbnMpIHtcbiAgICBwcm9wc1twcm9wLm5hbWVdID0gYXJnSW5pdGlhbFZhbHVlKHByb3AsIGN3ZCk7XG4gIH1cblxuICBmb3IgKGNvbnN0IFthcmcsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhhcmd2KSkge1xuICAgIGZvciAoY29uc3QgcHJvcCBvZiB0eXBlLm9wdGlvbnMpIHtcbiAgICAgIGlmIChwcm9wLnN3aXRjaCA9PT0gYXJnKSB7XG4gICAgICAgIGxldCBjdXJyID0gcHJvcHM7XG4gICAgICAgIGNvbnN0IHF1ZXVlID0gWy4uLnByb3AucGF0aF07XG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgY29uc3QgcCA9IHF1ZXVlLnNoaWZ0KCk7XG4gICAgICAgICAgaWYgKCFwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHF1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgY3VycltwXSA9IHZhbHVlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjdXJyW3BdID0gY3VycltwXSA/PyB7fTtcbiAgICAgICAgICAgIGN1cnIgPSBjdXJyW3BdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwcm9wcztcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBuZXcgcHJvamVjdCBmcm9tIGFuIGV4dGVybmFsIG1vZHVsZS5cbiAqXG4gKiBAcGFyYW0gc3BlYyBUaGUgbmFtZSBvZiB0aGUgZXh0ZXJuYWwgbW9kdWxlIHRvIGxvYWRcbiAqIEBwYXJhbSBhcmdzIENvbW1hbmQgbGluZSBhcmd1bWVudHMgKGluY2wuIHByb2plY3QgdHlwZSlcbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW5pdFByb2plY3RGcm9tTW9kdWxlKGJhc2VEaXI6IHN0cmluZywgc3BlYzogc3RyaW5nLCBhcmdzOiBhbnkpIHtcbiAgY29uc3QgcHJvamVuVmVyc2lvbiA9IGFyZ3MucHJvamVuVmVyc2lvbiA/PyBcImxhdGVzdFwiO1xuICBjb25zdCBpbnN0YWxsQ29tbWFuZCA9IHJlbmRlckluc3RhbGxDb21tYW5kKFxuICAgIGJhc2VEaXIsXG4gICAgYHByb2plbkAke3Byb2plblZlcnNpb259YFxuICApO1xuICBpZiAoYXJncy5wcm9qZW5WZXJzaW9uKSB7XG4gICAgZXhlYyhpbnN0YWxsQ29tbWFuZCwgeyBjd2Q6IGJhc2VEaXIgfSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gZG8gbm90IG92ZXJ3cml0ZSBleGlzdGluZyBpbnN0YWxsYXRpb25cbiAgICBleGVjKFxuICAgICAgYG5wbSBscyAtLXByZWZpeD1cIiR7YmFzZURpcn1cIiAtLWRlcHRoPTAgLS1wYXR0ZXJuIHByb2plbiB8fCAke2luc3RhbGxDb21tYW5kfWAsXG4gICAgICB7IGN3ZDogYmFzZURpciB9XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGluc3RhbGxQYWNrYWdlV2l0aENsaUVycm9yID0gKGI6IHN0cmluZywgczogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGluc3RhbGxQYWNrYWdlKGIsIHMpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBjb25zdCBzdGRlcnIgPVxuICAgICAgICAoZXJyb3IgYXMgU3Bhd25TeW5jUmV0dXJuczxCdWZmZXI+KT8uc3RkZXJyPy50b1N0cmluZygpID8/IFwiXCI7XG4gICAgICBjb25zdCBpc0xvY2FsID0gc3RkZXJyLmluY2x1ZGVzKFwiY29kZSBFTk9FTlRcIik7XG4gICAgICBjb25zdCBpc1JlZ2lzdHJ5ID0gc3RkZXJyLmluY2x1ZGVzKFwiY29kZSBFNDA0XCIpO1xuICAgICAgaWYgKGlzTG9jYWwgfHwgaXNSZWdpc3RyeSkge1xuICAgICAgICBjb25zdCBtb2R1bGVTb3VyY2UgPSBpc0xvY2FsID8gXCJwYXRoXCIgOiBcInJlZ2lzdHJ5XCI7XG4gICAgICAgIHRocm93IG5ldyBDbGlFcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IGZpbmQgJyR7c30nIGluIHRoaXMgJHttb2R1bGVTb3VyY2V9LiBQbGVhc2UgZW5zdXJlIHRoYXQgdGhlIHBhY2thZ2UgZXhpc3RzLCB5b3UgaGF2ZSBhY2Nlc3MgaXQgYW5kIHRyeSBhZ2Fpbi5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfTtcblxuICBjb25zdCBtb2R1bGVOYW1lID0gaW5zdGFsbFBhY2thZ2VXaXRoQ2xpRXJyb3IoYmFzZURpciwgc3BlYyk7XG4gIGxvZ2dpbmcuZW1wdHkoKTtcblxuICAvLyBGaW5kIHRoZSBqdXN0IGluc3RhbGxlZCBwYWNrYWdlIGFuZCBkaXNjb3ZlciB0aGUgcmVzdCByZWN1cnNpdmVseSBmcm9tIHRoaXMgcGFja2FnZSBmb2xkZXJcbiAgY29uc3QgbW9kdWxlRGlyID0gZmluZEpzaWlGaWxlUGF0aChiYXNlRGlyLCBtb2R1bGVOYW1lKTtcblxuICBpZiAoIW1vZHVsZURpcikge1xuICAgIHRocm93IG5ldyBDbGlFcnJvcihcbiAgICAgIGBNb2R1bGUgJyR7bW9kdWxlTmFtZX0nIGRvZXMgbm90IGxvb2sgbGlrZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggcHJvamVuLiBSZWFzb246IENhbm5vdCBmaW5kICcke21vZHVsZU5hbWV9Ly5qc2lpJy4gQWxsIHByb2plbiBtb2R1bGVzIG11c3QgYmUganNpaSBtb2R1bGVzIWBcbiAgICApO1xuICB9XG5cbiAgLy8gT25seSBsZWF2ZSBwcm9qZWN0cyBmcm9tIHRoZSBtYWluIChyZXF1ZXN0ZWQpIHBhY2thZ2VcbiAgY29uc3QgcHJvamVjdHMgPSBpbnZlbnRvcnlcbiAgICAuZGlzY292ZXIobW9kdWxlRGlyKVxuICAgIC5maWx0ZXIoKHgpID0+IHgubW9kdWxlTmFtZSA9PT0gbW9kdWxlTmFtZSk7IC8vIE9ubHkgbGlzdCBwcm9qZWN0IHR5cGVzIGZyb20gdGhlIHJlcXVlc3RlZCAnZnJvbScgbW9kdWxlXG5cbiAgaWYgKHByb2plY3RzLmxlbmd0aCA8IDEpIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoXG4gICAgICBgTm8gcHJvamVjdCB0eXBlcyBmb3VuZCBhZnRlciBpbnN0YWxsaW5nIFwiJHtzcGVjfVwiLiBUaGUgbW9kdWxlIG11c3QgZXhwb3J0IGF0IGxlYXN0IG9uZSBjbGFzcyB3aGljaCBleHRlbmRzIFwicHJvamVuLlByb2plY3RcIi5gXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IHJlcXVlc3RlZCA9IGFyZ3MucHJvamVjdFR5cGVOYW1lO1xuICBjb25zdCB0eXBlcyA9IHByb2plY3RzLm1hcCgocCkgPT4gcC5wamlkKTtcblxuICAvLyBpZiB1c2VyIGRpZCBub3Qgc3BlY2lmeSBhIHByb2plY3QgdHlwZSBidXQgdGhlIG1vZHVsZSBoYXMgbW9yZSB0aGFuIG9uZSwgd2UgbmVlZCB0aGVtIHRvIHRlbGwgdXMgd2hpY2ggb25lLi4uXG4gIGlmICghcmVxdWVzdGVkICYmIHByb2plY3RzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoXG4gICAgICBgTXVsdGlwbGUgcHJvamVjdCB0eXBlcyBmb3VuZCBhZnRlciBpbnN0YWxsaW5nIFwiJHtzcGVjfVwiOlxcbmAsXG4gICAgICAuLi50eXBlcy5tYXAoKHQpID0+IGAgICAgJHt0fWApLFxuICAgICAgXCJcIixcbiAgICAgIGBQbGVhc2Ugc3BlY2lmeSBhIHByb2plY3QgdHlwZS5gLFxuICAgICAgYEV4YW1wbGU6IG5weCBwcm9qZW4gbmV3IC0tZnJvbSAke3NwZWN9ICR7dHlwZXNbMF19YFxuICAgICk7XG4gIH1cblxuICAvLyBpZiB1c2VyIGRpZCBub3Qgc3BlY2lmeSBhIHR5cGUgKGFuZCB3ZSBrbm93IHdlIGhhdmUgb25seSBvbmUpLCB0aGUgc2VsZWN0IGl0LiBvdGhlcndpc2UsIHNlYXJjaCBieSBwamlkLlxuICBjb25zdCB0eXBlID0gIXJlcXVlc3RlZFxuICAgID8gcHJvamVjdHNbMF1cbiAgICA6IHByb2plY3RzLmZpbmQoKHApID0+IHAucGppZCA9PT0gcmVxdWVzdGVkKTtcbiAgaWYgKCF0eXBlKSB7XG4gICAgdGhyb3cgbmV3IENsaUVycm9yKFxuICAgICAgYFByb2plY3QgdHlwZSBcIiR7cmVxdWVzdGVkfVwiIG5vdCBmb3VuZCBpbiBcIiR7c3BlY31cIi4gRm91bmQ6XFxuYCxcbiAgICAgIC4uLnR5cGVzLm1hcCgodCkgPT4gYCAgICAke3R9YCksXG4gICAgICBcIlwiLFxuICAgICAgYFBsZWFzZSBzcGVjaWZ5IGEgdmFsaWQgcHJvamVjdCB0eXBlLmAsXG4gICAgICBgRXhhbXBsZTogbnB4IHByb2plbiBuZXcgLS1mcm9tICR7c3BlY30gJHt0eXBlc1swXX1gXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IG1pc3NpbmdPcHRpb25zID0gW107XG5cbiAgZm9yIChjb25zdCBvcHRpb24gb2YgdHlwZS5vcHRpb25zID8/IFtdKSB7XG4gICAgLy8gbm90IGFsbCB0eXBlcyBjYW4gYmUgcmVwcmVzZW50ZWQgaW4gdGhlIGNsaVxuICAgIGlmICghYXJnVHlwZVN1cHBvcnRlZChvcHRpb24pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBwYXJzZSBhbGxvd2VkIHR5cGVzXG4gICAgaWYgKGFyZ3Nbb3B0aW9uLm5hbWVdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gcGFyc2VBcmcoYXJnc1tvcHRpb24ubmFtZV0sIGFyZ1R5cGUob3B0aW9uKSwgb3B0aW9uKTtcbiAgICAgIGFyZ3Nbb3B0aW9uLnN3aXRjaF0gPSBhcmdzW29wdGlvbi5uYW1lXTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIFJlcXVpcmVkIG9wdGlvbiB3aXRoIGEgZGVmYXVsdFxuICAgIGlmICghb3B0aW9uLm9wdGlvbmFsICYmIG9wdGlvbi5kZWZhdWx0ICYmIG9wdGlvbi5kZWZhdWx0ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSByZW5kZXJEZWZhdWx0KGJhc2VEaXIsIG9wdGlvbi5kZWZhdWx0KTtcbiAgICAgIGFyZ3Nbb3B0aW9uLm5hbWVdID0gZGVmYXVsdFZhbHVlO1xuICAgICAgYXJnc1tvcHRpb24uc3dpdGNoXSA9IGRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICAvLyBSZXF1aXJlZCBvcHRpb24sIGJ1dCB3ZSBjb3VsZCBub3QgZmluZCBhIHZhbHVlXG4gICAgaWYgKCFvcHRpb24ub3B0aW9uYWwgJiYgIWFyZ3Nbb3B0aW9uLm5hbWVdKSB7XG4gICAgICBtaXNzaW5nT3B0aW9ucy5wdXNoKFxuICAgICAgICBgLS0ke29wdGlvbi5zd2l0Y2h9IFske2FyZ1R5cGUob3B0aW9uKX1dICR7YXJnRGVzYyhvcHRpb24pfWBcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgYXJlIG1pc3Npbmcgc29tZSByZXF1aXJlZCBvcHRpb25zXG4gIGlmIChtaXNzaW5nT3B0aW9ucy5sZW5ndGgpIHtcbiAgICB0aHJvdyBuZXcgQ2xpRXJyb3IoXG4gICAgICBgQ2Fubm90IGNyZWF0ZSBcIiR7dHlwZS5mcW59XCIuIE1pc3NpbmcgcmVxdWlyZWQgb3B0aW9uJHtcbiAgICAgICAgbWlzc2luZ09wdGlvbnMubGVuZ3RoID4gMSA/IFwic1wiIDogXCJcIlxuICAgICAgfTpgLFxuICAgICAgLi4ubWlzc2luZ09wdGlvbnMubWFwKChtKSA9PiBgICAgICR7bX1gKVxuICAgICk7XG4gIH1cblxuICAvLyBpbmNsdWRlIGEgZGV2IGRlcGVuZGVuY3kgZm9yIHRoZSBleHRlcm5hbCBtb2R1bGVcbiAgYXJncy5kZXZEZXBzID0gW3NwZWNdO1xuICBhcmdzW1wiZGV2LWRlcHNcIl0gPSBbc3BlY107XG5cbiAgYXdhaXQgaW5pdFByb2plY3QoYmFzZURpciwgdHlwZSwgYXJncyk7XG59XG5cbi8qKlxuICogUGFyc2UgY29tbWFuZCBsaW5lIHZhbHVlIGFzIG9wdGlvbiB0eXBlXG4gKi9cbmZ1bmN0aW9uIHBhcnNlQXJnKFxuICB2YWx1ZTogYW55LFxuICB0eXBlOiBzdHJpbmcsXG4gIG9wdGlvbj86IGludmVudG9yeS5Qcm9qZWN0T3B0aW9uXG4pOiBhbnkge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICByZXR1cm4gcGFyc2VJbnQodmFsdWUpO1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gaXNUcnV0aHkodmFsdWUpIDogdmFsdWU7XG4gICAgY2FzZSBcImFycmF5XCI6XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgIHZhbHVlID0gW3ZhbHVlXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZS5tYXAoKHY6IGFueSkgPT5cbiAgICAgICAgcGFyc2VBcmcoXG4gICAgICAgICAgdixcbiAgICAgICAgICBvcHRpb24/LmZ1bGxUeXBlLmNvbGxlY3Rpb24/LmVsZW1lbnR0eXBlLnByaW1pdGl2ZSB8fCBcInN0cmluZ1wiXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgLy8gcmV0dXJuIHZhbHVlIHVuY2hhbmdlZFxuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICBkZWZhdWx0OlxuICAgICAgLy8gaWYgd2UgaGF2ZSBhbiB1bmV4cGVjdGVkIGFycmF5LCB1c2UgdGhlIGZpcnN0IGVsZW1lbnRcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gdmFsdWVbMF07XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYSBuZXcgcHJvamVjdC5cbiAqIEBwYXJhbSB0eXBlIFByb2plY3QgdHlwZVxuICogQHBhcmFtIGFyZ3MgQ29tbWFuZCBsaW5lIGFyZ3VtZW50c1xuICogQHBhcmFtIGFkZGl0aW9uYWxQcm9wcyBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgdG8gaW5jbHVkZSBpbiAucHJvamVucmMuanNcbiAqL1xuYXN5bmMgZnVuY3Rpb24gaW5pdFByb2plY3QoXG4gIGJhc2VEaXI6IHN0cmluZyxcbiAgdHlwZTogaW52ZW50b3J5LlByb2plY3RUeXBlLFxuICBhcmdzOiBhbnlcbikge1xuICAvLyBjb252ZXJ0IGNvbW1hbmQgbGluZSBhcmd1bWVudHMgdG8gcHJvamVjdCBwcm9wcyB1c2luZyB0eXBlIGluZm9ybWF0aW9uXG4gIGNvbnN0IHByb3BzID0gY29tbWFuZExpbmVUb1Byb3BzKGJhc2VEaXIsIHR5cGUsIGFyZ3MpO1xuXG4gIFByb2plY3RzLmNyZWF0ZVByb2plY3Qoe1xuICAgIGRpcjogcHJvcHMub3V0ZGlyID8/IGJhc2VEaXIsXG4gICAgcHJvamVjdEZxbjogdHlwZS5mcW4sXG4gICAgcHJvamVjdE9wdGlvbnM6IHByb3BzLFxuICAgIG9wdGlvbkhpbnRzOiBhcmdzLmNvbW1lbnRzXG4gICAgICA/IEluaXRQcm9qZWN0T3B0aW9uSGludHMuRkVBVFVSRURcbiAgICAgIDogSW5pdFByb2plY3RPcHRpb25IaW50cy5OT05FLFxuICAgIHN5bnRoOiBhcmdzLnN5bnRoLFxuICAgIHBvc3Q6IGFyZ3MucG9zdCxcbiAgfSk7XG5cbiAgaWYgKGZzLmV4aXN0c1N5bmMocGF0aC5qb2luKGJhc2VEaXIsIFwicGFja2FnZS5qc29uXCIpKSAmJiBhcmdzLnBvc3QpIHtcbiAgICBleGVjKFwibnBtIHJ1biBlc2xpbnQgLS1pZi1wcmVzZW50XCIsIHsgY3dkOiBiYXNlRGlyIH0pO1xuICB9XG5cbiAgaWYgKGFyZ3MuZ2l0KSB7XG4gICAgY29uc3QgZ2l0ID0gKGNtZDogc3RyaW5nKSA9PiBleGVjKGBnaXQgJHtjbWR9YCwgeyBjd2Q6IGJhc2VEaXIgfSk7XG4gICAgY29uc3QgZ2l0dmVyc2lvbjogc3RyaW5nID0gZ2V0R2l0VmVyc2lvbihcbiAgICAgIGV4ZWNDYXB0dXJlKFwiZ2l0IC0tdmVyc2lvblwiLCB7IGN3ZDogYmFzZURpciB9KS50b1N0cmluZygpXG4gICAgKTtcbiAgICBsb2dnaW5nLmRlYnVnKFwic3lzdGVtIHVzaW5nIGdpdCB2ZXJzaW9uIFwiLCBnaXR2ZXJzaW9uKTtcbiAgICAvLyBgZ2l0IGNvbmZpZyBpbml0LmRlZmF1bHRCcmFuY2hgIGFuZCBgZ2l0IGluaXQgLWJgIGFyZSBvbmx5IGF2YWlsYWJsZSBzaW5jZSBnaXQgMi4yOC4wXG4gICAgaWYgKGdpdHZlcnNpb24gJiYgc2VtdmVyLmd0ZShnaXR2ZXJzaW9uLCBcIjIuMjguMFwiKSkge1xuICAgICAgY29uc3QgZGVmYXVsdEdpdEluaXRCcmFuY2ggPVxuICAgICAgICBleGVjT3JVbmRlZmluZWQoXCJnaXQgY29uZmlnIGluaXQuZGVmYXVsdEJyYW5jaFwiLCB7XG4gICAgICAgICAgY3dkOiBiYXNlRGlyLFxuICAgICAgICB9KT8udHJpbSgpIHx8IFwibWFpblwiO1xuICAgICAgZ2l0KGBpbml0IC1iICR7ZGVmYXVsdEdpdEluaXRCcmFuY2h9YCk7XG4gICAgICBnaXQoXCJhZGQgLlwiKTtcbiAgICAgIGdpdCgnY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gXCJjaG9yZTogcHJvamVjdCBjcmVhdGVkIHdpdGggcHJvamVuXCInKTtcbiAgICAgIGxvZ2dpbmcuZGVidWcoYGRlZmF1bHQgYnJhbmNoIG5hbWUgc2V0IHRvICR7ZGVmYXVsdEdpdEluaXRCcmFuY2h9YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGdpdChcImluaXRcIik7XG4gICAgICBnaXQoXCJhZGQgLlwiKTtcbiAgICAgIGdpdCgnY29tbWl0IC0tYWxsb3ctZW1wdHkgLW0gXCJjaG9yZTogcHJvamVjdCBjcmVhdGVkIHdpdGggcHJvamVuXCInKTtcbiAgICAgIGxvZ2dpbmcuZGVidWcoXG4gICAgICAgIFwib2xkZXIgdmVyc2lvbiBvZiBnaXQgZGV0ZWN0ZWQsIGNoYW5nZWQgZGVmYXVsdCBicmFuY2ggbmFtZSB0byBtYWluXCJcbiAgICAgICk7XG4gICAgICBnaXQoXCJicmFuY2ggLU0gbWFpblwiKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgbmV3IENvbW1hbmQoKTtcbiJdfQ==
|
package/lib/cli/util.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @param spec The npm package spec (e.g. `foo@^1.2` or `foo@/var/folders/8k/qcw0ls5pv_ph0000gn/T/projen-RYurCw/pkg.tgz`)
|
|
4
4
|
* @returns The installed package name (e.g. `@foo/bar`)
|
|
5
5
|
*/
|
|
6
|
-
export declare function installPackage(baseDir: string, spec: string): string;
|
|
6
|
+
export declare function installPackage(baseDir: string, spec: string, isProjen?: boolean): string;
|
|
7
7
|
/**
|
|
8
8
|
* Render a command to install an npm package.
|
|
9
9
|
*
|
package/lib/cli/util.js
CHANGED
|
@@ -10,7 +10,7 @@ const util_1 = require("../util");
|
|
|
10
10
|
* @param spec The npm package spec (e.g. `foo@^1.2` or `foo@/var/folders/8k/qcw0ls5pv_ph0000gn/T/projen-RYurCw/pkg.tgz`)
|
|
11
11
|
* @returns The installed package name (e.g. `@foo/bar`)
|
|
12
12
|
*/
|
|
13
|
-
function installPackage(baseDir, spec) {
|
|
13
|
+
function installPackage(baseDir, spec, isProjen = false) {
|
|
14
14
|
const packageJsonPath = path.join(baseDir, "package.json");
|
|
15
15
|
const packageJsonExisted = fs.existsSync(packageJsonPath);
|
|
16
16
|
if (!packageJsonExisted) {
|
|
@@ -21,7 +21,7 @@ function installPackage(baseDir, spec) {
|
|
|
21
21
|
(0, util_1.exec)(renderInstallCommand(baseDir, spec), { cwd: baseDir });
|
|
22
22
|
// Get the true installed package name
|
|
23
23
|
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
24
|
-
const packageName = Object.keys(packageJson.devDependencies).find((name) => name !== "projen");
|
|
24
|
+
const packageName = Object.keys(packageJson.devDependencies).find((name) => isProjen ? name === "projen" : name !== "projen");
|
|
25
25
|
if (!packageName) {
|
|
26
26
|
throw new Error(`Unable to resolve package name from spec ${spec}`);
|
|
27
27
|
}
|
|
@@ -76,4 +76,4 @@ class CliError extends Error {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
exports.CliError = CliError;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGkvdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5QkFBeUI7QUFDekIsNkJBQTZCO0FBQzdCLHNDQUFzQztBQUN0QyxrQ0FBK0I7QUFFL0I7Ozs7R0FJRztBQUNILFNBQWdCLGNBQWMsQ0FDNUIsT0FBZSxFQUNmLElBQVksRUFDWixRQUFRLEdBQUcsS0FBSztJQUVoQixNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUMzRCxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFMUQsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDeEIsc0RBQXNEO1FBQ3RELElBQUEsV0FBSSxFQUFDLGdCQUFnQixFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFJLENBQUMscUJBQXFCLElBQUksS0FBSyxDQUFDLENBQUM7SUFDN0MsSUFBQSxXQUFJLEVBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFFNUQsc0NBQXNDO0lBQ3RDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUMxRSxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUN6RSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxRQUFRLENBQ2pELENBQUM7SUFFRixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBRUQsa0ZBQWtGO0lBQ2xGLDZCQUE2QjtJQUM3QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUN4QixFQUFFLENBQUMsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUM7QUFqQ0Qsd0NBaUNDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FBQyxHQUFXLEVBQUUsTUFBYztJQUM5RCxPQUFPLGdFQUFnRSxHQUFHLEtBQUssTUFBTSxFQUFFLENBQUM7QUFDMUYsQ0FBQztBQUZELG9EQUVDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQzlCLE9BQWUsRUFDZixVQUFrQjtJQUVsQixJQUFJLENBQUM7UUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQ2pCLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxVQUFVLFFBQVEsRUFBRTtZQUNyQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUM7U0FDakIsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO0lBQUMsT0FBTyxLQUFjLEVBQUUsQ0FBQztRQUN4QixJQUNFLEtBQUssWUFBWSxLQUFLO1lBQ3RCLE1BQU0sSUFBSSxLQUFLO1lBQ2YsS0FBSyxDQUFDLElBQUksS0FBSyxrQkFBa0IsRUFDakMsQ0FBQztZQUNELDJDQUEyQztZQUMzQyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNOLDZCQUE2QjtZQUM3QixNQUFNLEtBQUssQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQXZCRCw0Q0F1QkM7QUFFRCxNQUFhLFFBQVMsU0FBUSxLQUFLO0lBQ2pDLFlBQVksR0FBRyxLQUFlO1FBQzVCLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUNGO0FBTEQsNEJBS0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbmltcG9ydCAqIGFzIGxvZ2dpbmcgZnJvbSBcIi4uL2xvZ2dpbmdcIjtcbmltcG9ydCB7IGV4ZWMgfSBmcm9tIFwiLi4vdXRpbFwiO1xuXG4vKipcbiAqIEluc3RhbGxzIHRoZSBucG0gbW9kdWxlICh0aHJvdWdoIGBucG0gaW5zdGFsbGApIHRvIG5vZGVfbW9kdWxlcyB1bmRlciBgcHJvamVjdERpcmAuXG4gKiBAcGFyYW0gc3BlYyBUaGUgbnBtIHBhY2thZ2Ugc3BlYyAoZS5nLiBgZm9vQF4xLjJgIG9yIGBmb29AL3Zhci9mb2xkZXJzLzhrL3FjdzBsczVwdl9waDAwMDBnbi9UL3Byb2plbi1SWXVyQ3cvcGtnLnRnemApXG4gKiBAcmV0dXJucyBUaGUgaW5zdGFsbGVkIHBhY2thZ2UgbmFtZSAoZS5nLiBgQGZvby9iYXJgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbFBhY2thZ2UoXG4gIGJhc2VEaXI6IHN0cmluZyxcbiAgc3BlYzogc3RyaW5nLFxuICBpc1Byb2plbiA9IGZhbHNlXG4pOiBzdHJpbmcge1xuICBjb25zdCBwYWNrYWdlSnNvblBhdGggPSBwYXRoLmpvaW4oYmFzZURpciwgXCJwYWNrYWdlLmpzb25cIik7XG4gIGNvbnN0IHBhY2thZ2VKc29uRXhpc3RlZCA9IGZzLmV4aXN0c1N5bmMocGFja2FnZUpzb25QYXRoKTtcblxuICBpZiAoIXBhY2thZ2VKc29uRXhpc3RlZCkge1xuICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgcGFja2FnZS5qc29uIHRvIHJlYWQgZnJvbSBsYXRlclxuICAgIGV4ZWMoXCJucG0gaW5pdCAtLXllc1wiLCB7IGN3ZDogYmFzZURpciB9KTtcbiAgfVxuXG4gIGxvZ2dpbmcuaW5mbyhgaW5zdGFsbGluZyBtb2R1bGUgJHtzcGVjfS4uLmApO1xuICBleGVjKHJlbmRlckluc3RhbGxDb21tYW5kKGJhc2VEaXIsIHNwZWMpLCB7IGN3ZDogYmFzZURpciB9KTtcblxuICAvLyBHZXQgdGhlIHRydWUgaW5zdGFsbGVkIHBhY2thZ2UgbmFtZVxuICBjb25zdCBwYWNrYWdlSnNvbiA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHBhY2thZ2VKc29uUGF0aCwgXCJ1dGYtOFwiKSk7XG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gT2JqZWN0LmtleXMocGFja2FnZUpzb24uZGV2RGVwZW5kZW5jaWVzKS5maW5kKChuYW1lKSA9PlxuICAgIGlzUHJvamVuID8gbmFtZSA9PT0gXCJwcm9qZW5cIiA6IG5hbWUgIT09IFwicHJvamVuXCJcbiAgKTtcblxuICBpZiAoIXBhY2thZ2VOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gcmVzb2x2ZSBwYWNrYWdlIG5hbWUgZnJvbSBzcGVjICR7c3BlY31gKTtcbiAgfVxuXG4gIC8vIGlmIHBhY2thZ2UuanNvbiBkaWQgbm90IGV4aXN0IGJlZm9yZSBjYWxsaW5nIGBucG0gaW5zdGFsbGAsIHdlIHNob3VsZCByZW1vdmUgaXRcbiAgLy8gc28gd2UgY2FuIHN0YXJ0IG9mZiBjbGVhbi5cbiAgaWYgKCFwYWNrYWdlSnNvbkV4aXN0ZWQpIHtcbiAgICBmcy5ybVN5bmMocGFja2FnZUpzb25QYXRoLCB7IGZvcmNlOiB0cnVlLCByZWN1cnNpdmU6IHRydWUgfSk7XG4gIH1cblxuICByZXR1cm4gcGFja2FnZU5hbWU7XG59XG5cbi8qKlxuICogUmVuZGVyIGEgY29tbWFuZCB0byBpbnN0YWxsIGFuIG5wbSBwYWNrYWdlLlxuICpcbiAqIEVuZ2luZSBjaGVja3MgYXJlIGlnbm9yZWQgYXQgdGhpcyBwb2ludCBzbyB0aGF0IHRoZSBtb2R1bGUgY2FuIGJlIGluc3RhbGxlZFxuICogcmVnYXJkbGVzcyBvZiB0aGUgZW52aXJvbm1lbnQuIFRoaXMgd2FzIG5lZWRlZCB0byB1bmJsb2NrIHRoZSB1cGdyYWRlIG9mIHRoZVxuICogbWluaW11bSBub2RlIHZlcnNpb24gb2YgcHJvamVuLCBidXQgYWxzbyBva2F5IGdlbmVyYWxseSBiZWNhdXNlIGVuZ2luZSBjaGVja3NcbiAqIHdpbGwgYmUgcGVyZm9ybWVkIGxhdGVyIGFuZCBmb3IgYWxsIGV0ZXJuaXR5LlxuICpcbiAqIEBwYXJhbSBkaXIgQmFzZSBkaXJlY3RvcnlcbiAqIEBwYXJhbSBtb2R1bGUgVGhlIG1vZHVsZSB0byBpbnN0YWxsIChlLmcuIGZvb0BeMS4yKVxuICogQHJldHVybnMgVGhlIHN0cmluZyB0aGF0IGluY2x1ZGVzIHRoZSBpbnN0YWxsIGNvbW1hbmQgKFwibnBtIGluc3RhbGwgLi4uXCIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJJbnN0YWxsQ29tbWFuZChkaXI6IHN0cmluZywgbW9kdWxlOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYG5wbSBpbnN0YWxsIC0tc2F2ZSAtLXNhdmUtZGV2IC1mIC0tbm8tcGFja2FnZS1sb2NrIC0tcHJlZml4PVwiJHtkaXJ9XCIgJHttb2R1bGV9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmRKc2lpRmlsZVBhdGgoXG4gIGJhc2VEaXI6IHN0cmluZyxcbiAgbW9kdWxlTmFtZTogc3RyaW5nXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIHJldHVybiBwYXRoLmRpcm5hbWUoXG4gICAgICByZXF1aXJlLnJlc29sdmUoYCR7bW9kdWxlTmFtZX0vLmpzaWlgLCB7XG4gICAgICAgIHBhdGhzOiBbYmFzZURpcl0sXG4gICAgICB9KVxuICAgICk7XG4gIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgaWYgKFxuICAgICAgZXJyb3IgaW5zdGFuY2VvZiBFcnJvciAmJlxuICAgICAgXCJjb2RlXCIgaW4gZXJyb3IgJiZcbiAgICAgIGVycm9yLmNvZGUgPT09IFwiTU9EVUxFX05PVF9GT1VORFwiXG4gICAgKSB7XG4gICAgICAvLyB0aGUgcHJvdmlkZWQgbW9kdWxlIGlzIG5vdCBhIGpzaWkgbW9kdWxlXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyB1bmV4cGVjdGVkIGVycm9yLCB0aHJvdyBpdFxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDbGlFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IoLi4ubGluZXM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIobGluZXMuam9pbihcIlxcblwiKSk7XG4gICAgdGhpcy5uYW1lID0gXCJDbGlFcnJvclwiO1xuICB9XG59XG4iXX0=
|
package/lib/component.js
CHANGED
|
@@ -45,5 +45,5 @@ class Component extends constructs_1.Construct {
|
|
|
45
45
|
}
|
|
46
46
|
exports.Component = Component;
|
|
47
47
|
_a = JSII_RTTI_SYMBOL_1;
|
|
48
|
-
Component[_a] = { fqn: "projen.Component", version: "0.80.
|
|
48
|
+
Component[_a] = { fqn: "projen.Component", version: "0.80.15" };
|
|
49
49
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDJDQUFtRDtBQUVuRCxrREFJMkI7QUFFM0IsTUFBTSxPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQXNCLENBQUM7QUFDbEQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEVBQUU7SUFDeEMsTUFBTSxNQUFNLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM3QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzQixPQUFPLFNBQVMsTUFBTSxFQUFFLENBQUM7QUFDM0IsQ0FBQyxDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQWEsU0FBVSxTQUFRLHNCQUFTO0lBQ3RDOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFNO1FBQzlCLE9BQU8sSUFBQSx3QkFBVyxFQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxZQUFZLEtBQWlCLEVBQUUsRUFBVztRQUN4QyxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBQSwyQkFBYyxFQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVwRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUEsK0JBQWtCLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYSxLQUFJLENBQUM7SUFFekI7O09BRUc7SUFDSSxVQUFVLEtBQUksQ0FBQztJQUV0Qjs7T0FFRztJQUNJLGNBQWMsS0FBSSxDQUFDOztBQWhDNUIsOEJBaUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi9wcm9qZWN0XCI7XG5pbXBvcnQge1xuICBpc0NvbXBvbmVudCxcbiAgZmluZENsb3Nlc3RQcm9qZWN0LFxuICB0YWdBc0NvbXBvbmVudCxcbn0gZnJvbSBcIi4vdXRpbC9jb25zdHJ1Y3RzXCI7XG5cbmNvbnN0IGF1dG9JZHMgPSBuZXcgV2Vha01hcDxJQ29uc3RydWN0LCBudW1iZXI+KCk7XG5jb25zdCBjb21wb25lbnRJZCA9IChzY29wZTogSUNvbnN0cnVjdCkgPT4ge1xuICBjb25zdCBuZXh0SWQgPSAoYXV0b0lkcy5nZXQoc2NvcGUpID8/IDApICsgMTtcbiAgYXV0b0lkcy5zZXQoc2NvcGUsIG5leHRJZCk7XG4gIHJldHVybiBgQXV0b0lkJHtuZXh0SWR9YDtcbn07XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHByb2plY3QgY29tcG9uZW50LlxuICogQHBhcmFtIHByb2plY3RcbiAqIEBwYXJhbSBpZCBVbmlxdWUgaWQgb2YgdGhlIGNvbXBvbmVudC4gSWYgbm90IHByb3ZpZGVkLCBhbiB1bnN0YWJsZSBBdXRvSWQgaXMgZ2VuZXJhdGVkLlxuICovXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIFRlc3Qgd2hldGhlciB0aGUgZ2l2ZW4gY29uc3RydWN0IGlzIGEgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpc0NvbXBvbmVudCh4OiBhbnkpOiB4IGlzIENvbXBvbmVudCB7XG4gICAgcmV0dXJuIGlzQ29tcG9uZW50KHgpO1xuICB9XG5cbiAgcHVibGljIHJlYWRvbmx5IHByb2plY3Q6IFByb2plY3Q7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IElDb25zdHJ1Y3QsIGlkPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkIHx8IGAke25ldy50YXJnZXQubmFtZX0jJHtjb21wb25lbnRJZChzY29wZSl9YCk7XG4gICAgdGFnQXNDb21wb25lbnQodGhpcyk7XG4gICAgdGhpcy5ub2RlLmFkZE1ldGFkYXRhKFwidHlwZVwiLCBcImNvbXBvbmVudFwiKTtcbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJjb25zdHJ1Y3RcIiwgbmV3LnRhcmdldC5uYW1lKTtcblxuICAgIHRoaXMucHJvamVjdCA9IGZpbmRDbG9zZXN0UHJvamVjdChzY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGJlZm9yZSBzeW50aGVzaXMuXG4gICAqL1xuICBwdWJsaWMgcHJlU3ludGhlc2l6ZSgpIHt9XG5cbiAgLyoqXG4gICAqIFN5bnRoZXNpemVzIGZpbGVzIHRvIHRoZSBwcm9qZWN0IG91dHB1dCBkaXJlY3RvcnkuXG4gICAqL1xuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHt9XG5cbiAgLyoqXG4gICAqIENhbGxlZCBhZnRlciBzeW50aGVzaXMuIE9yZGVyIGlzICpub3QqIGd1YXJhbnRlZWQuXG4gICAqL1xuICBwdWJsaWMgcG9zdFN5bnRoZXNpemUoKSB7fVxufVxuIl19
|
package/lib/dependencies.js
CHANGED
|
@@ -169,7 +169,7 @@ class Dependencies extends component_1.Component {
|
|
|
169
169
|
}
|
|
170
170
|
exports.Dependencies = Dependencies;
|
|
171
171
|
_a = JSII_RTTI_SYMBOL_1;
|
|
172
|
-
Dependencies[_a] = { fqn: "projen.Dependencies", version: "0.80.
|
|
172
|
+
Dependencies[_a] = { fqn: "projen.Dependencies", version: "0.80.15" };
|
|
173
173
|
/**
|
|
174
174
|
* The project-relative path of the deps manifest file.
|
|
175
175
|
*/
|
package/lib/dev-env.js
CHANGED
|
@@ -27,5 +27,5 @@ class DevEnvironmentDockerImage {
|
|
|
27
27
|
}
|
|
28
28
|
exports.DevEnvironmentDockerImage = DevEnvironmentDockerImage;
|
|
29
29
|
_a = JSII_RTTI_SYMBOL_1;
|
|
30
|
-
DevEnvironmentDockerImage[_a] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.80.
|
|
30
|
+
DevEnvironmentDockerImage[_a] = { fqn: "projen.DevEnvironmentDockerImage", version: "0.80.15" };
|
|
31
31
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2LWVudi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9kZXYtZW52LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBNEJBOztHQUVHO0FBQ0gsTUFBYSx5QkFBeUI7SUFDcEM7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBYTtRQUNuQyxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQWtCO1FBQ3ZDLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBWUQsZ0JBQXVCLENBQUM7O0FBN0IxQiw4REE4QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYXNrIH0gZnJvbSBcIi4vdGFza1wiO1xuXG4vKipcbiAqIEJhc2Ugb3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYSBjb250YWluZXItYmFzZWQgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGV2RW52aXJvbm1lbnRPcHRpb25zIHtcbiAgLyoqXG4gICAqIEEgRG9ja2VyIGltYWdlIG9yIERvY2tlcmZpbGUgZm9yIHRoZSBjb250YWluZXIuXG4gICAqL1xuICByZWFkb25seSBkb2NrZXJJbWFnZT86IERldkVudmlyb25tZW50RG9ja2VySW1hZ2U7XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRhc2tzIHRoYXQgc2hvdWxkIGJlIHJ1biB3aGVuIHRoZSBjb250YWluZXIgc3RhcnRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFza3M/OiBUYXNrW107XG5cbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHBvcnRzIHRoYXQgc2hvdWxkIGJlIGV4cG9zZWQgZnJvbSB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgcG9ydHM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgZXh0ZW5zaW9uIElEcyB0aGF0IHNwZWNpZnkgdGhlIGV4dGVuc2lvbnMgdGhhdCBzaG91bGQgYmVcbiAgICogaW5zdGFsbGVkIGluc2lkZSB0aGUgY29udGFpbmVyIHdoZW4gaXQgaXMgY3JlYXRlZC5cbiAgICovXG4gIHJlYWRvbmx5IHZzY29kZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzcGVjaWZ5aW5nIHRoZSBEb2NrZXIgaW1hZ2Ugb2YgdGhlIGNvbnRhaW5lci5cbiAqL1xuZXhwb3J0IGNsYXNzIERldkVudmlyb25tZW50RG9ja2VySW1hZ2Uge1xuICAvKipcbiAgICogQSBwdWJsaWNseSBhdmFpbGFibGUgRG9ja2VyIGltYWdlLlxuICAgKiBAZXhhbXBsZSAndWJ1bnR1OmxhdGVzdCdcbiAgICogQHBhcmFtIGltYWdlIGEgRG9ja2VyIGltYWdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21JbWFnZShpbWFnZTogc3RyaW5nKTogRGV2RW52aXJvbm1lbnREb2NrZXJJbWFnZSB7XG4gICAgcmV0dXJuIHsgaW1hZ2UgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmVsYXRpdmUgcGF0aCBvZiBhIERvY2tlcmZpbGUgdGhhdCBkZWZpbmVzIHRoZSBjb250YWluZXIgY29udGVudHMuXG4gICAqIEBleGFtcGxlICcuZ2l0cG9kLkRvY2tlcidcbiAgICogQHBhcmFtIGRvY2tlckZpbGUgYSByZWxhdGl2ZSBwYXRoXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21GaWxlKGRvY2tlckZpbGU6IHN0cmluZyk6IERldkVudmlyb25tZW50RG9ja2VySW1hZ2Uge1xuICAgIHJldHVybiB7IGRvY2tlckZpbGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHB1YmxpY2x5IGF2YWlsYWJsZSBEb2NrZXIgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByZWxhdGl2ZSBwYXRoIG9mIGEgRG9ja2VyZmlsZSB0aGF0IGRlZmluZXMgdGhlIGNvbnRhaW5lciBjb250ZW50cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBkb2NrZXJGaWxlPzogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7fVxufVxuXG4vKipcbiAqIEFic3RyYWN0IGludGVyZmFjZSBmb3IgY29udGFpbmVyLWJhc2VkIGRldmVsb3BtZW50IGVudmlyb25tZW50cywgc3VjaCBhc1xuICogR2l0cG9kIGFuZCBHaXRIdWIgQ29kZXNwYWNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGV2RW52aXJvbm1lbnQge1xuICAvKipcbiAgICogQWRkIGEgY3VzdG9tIERvY2tlciBpbWFnZSBvciBEb2NrZXJmaWxlIGZvciB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gaW1hZ2UgVGhlIERvY2tlciBpbWFnZVxuICAgKi9cbiAgYWRkRG9ja2VySW1hZ2UoaW1hZ2U6IERldkVudmlyb25tZW50RG9ja2VySW1hZ2UpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBZGRzIHRhc2tzIHRvIHJ1biB3aGVuIHRoZSBjb250YWluZXIgc3RhcnRzLlxuICAgKlxuICAgKiBAcGFyYW0gdGFza3MgVGhlIG5ldyB0YXNrc1xuICAgKi9cbiAgYWRkVGFza3MoLi4udGFza3M6IFRhc2tbXSk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEFkZHMgcG9ydHMgdGhhdCBzaG91bGQgYmUgZXhwb3NlZCAoZm9yd2FyZGVkKSBmcm9tIHRoZSBjb250YWluZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwb3J0cyBUaGUgbmV3IHBvcnRzXG4gICAqL1xuICBhZGRQb3J0cyguLi5wb3J0czogc3RyaW5nW10pOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBBZGRzIGEgbGlzdCBvZiBWU0NvZGUgZXh0ZW5zaW9ucyB0aGF0IHNob3VsZCBiZSBhdXRvbWF0aWNhbGx5IGluc3RhbGxlZFxuICAgKiBpbiB0aGUgY29udGFpbmVyLlxuICAgKlxuICAgKiBAcGFyYW0gZXh0ZW5zaW9ucyBUaGUgZXh0ZW5zaW9uIElEc1xuICAgKi9cbiAgYWRkVnNjb2RlRXh0ZW5zaW9ucyguLi5leHRlbnNpb25zOiBzdHJpbmdbXSk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -75,5 +75,5 @@ class DockerComposeService {
|
|
|
75
75
|
}
|
|
76
76
|
exports.DockerComposeService = DockerComposeService;
|
|
77
77
|
_a = JSII_RTTI_SYMBOL_1;
|
|
78
|
-
DockerComposeService[_a] = { fqn: "projen.DockerComposeService", version: "0.80.
|
|
78
|
+
DockerComposeService[_a] = { fqn: "projen.DockerComposeService", version: "0.80.15" };
|
|
79
79
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNvbXBvc2Utc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb2NrZXItY29tcG9zZS9kb2NrZXItY29tcG9zZS1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEscURBQXFFO0FBa0JyRTs7R0FFRztBQUNILE1BQWEsb0JBQW9CO0lBNEQvQixZQUNFLFdBQW1CLEVBQ25CLGtCQUFtRDtRQUVuRCxJQUNFLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7WUFDN0QsQ0FBQyxrQkFBa0IsQ0FBQyxVQUFVLElBQUksa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQzNELENBQUM7WUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLGFBQWEsV0FBVyw0REFBNEQsQ0FDckYsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxHQUFHLGtCQUFrQixDQUFDLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUNoRCxJQUFJLENBQUMsU0FBUyxHQUFHLGtCQUFrQixDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsa0JBQWtCLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsS0FBSyxHQUFHLGtCQUFrQixDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxNQUFNLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxPQUFPLENBQ1osYUFBcUIsRUFDckIsVUFBa0IsRUFDbEIsT0FBeUM7UUFFekMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQ2QsOEJBQWEsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQy9DLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxZQUFZLENBQUMsV0FBc0M7UUFDeEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxNQUFtQztRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksVUFBVSxDQUFDLE9BQXFDO1FBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksUUFBUSxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7O0FBL0lILG9EQWdKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERvY2tlckNvbXBvc2UsIERvY2tlckNvbXBvc2VCdWlsZCB9IGZyb20gXCIuL2RvY2tlci1jb21wb3NlXCI7XG5pbXBvcnQgeyBJRG9ja2VyQ29tcG9zZU5ldHdvcmtCaW5kaW5nIH0gZnJvbSBcIi4vZG9ja2VyLWNvbXBvc2UtbmV0d29ya1wiO1xuaW1wb3J0IHtcbiAgRG9ja2VyQ29tcG9zZVBvcnRNYXBwaW5nT3B0aW9ucyxcbiAgRG9ja2VyQ29tcG9zZVNlcnZpY2VQb3J0LFxufSBmcm9tIFwiLi9kb2NrZXItY29tcG9zZS1wb3J0XCI7XG5pbXBvcnQgeyBJRG9ja2VyQ29tcG9zZVZvbHVtZUJpbmRpbmcgfSBmcm9tIFwiLi9kb2NrZXItY29tcG9zZS12b2x1bWVcIjtcblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgcHJvdmlkaW5nIHRoZSBuYW1lIG9mIGEgZG9ja2VyIGNvbXBvc2Ugc2VydmljZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRG9ja2VyQ29tcG9zZVNlcnZpY2VOYW1lIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBkb2NrZXIgY29tcG9zZSBzZXJ2aWNlLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZU5hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGRvY2tlci1jb21wb3NlIHNlcnZpY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb2NrZXJDb21wb3NlU2VydmljZSBpbXBsZW1lbnRzIElEb2NrZXJDb21wb3NlU2VydmljZU5hbWUge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgc2VydmljZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEb2NrZXIgaW1hZ2UuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsZCBpbnN0cnVjdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2VCdWlsZD86IERvY2tlckNvbXBvc2VCdWlsZDtcblxuICAvKipcbiAgICogQ29tbWFuZCB0byBydW4gaW4gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjb21tYW5kPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEVudHJ5cG9pbnQgdG8gcnVuIGluIHRoZSBjb250YWluZXIuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZW50cnlwb2ludD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPdGhlciBzZXJ2aWNlcyB0aGF0IHRoaXMgc2VydmljZSBkZXBlbmRzIG9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlcGVuZHNPbjogSURvY2tlckNvbXBvc2VTZXJ2aWNlTmFtZVtdO1xuXG4gIC8qKlxuICAgKiBWb2x1bWVzIG1vdW50ZWQgaW4gdGhlIGNvbnRhaW5lci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2b2x1bWVzOiBJRG9ja2VyQ29tcG9zZVZvbHVtZUJpbmRpbmdbXTtcblxuICAvKipcbiAgICogTmV0d29ya3MgbW91bnRlZCBpbiB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5ldHdvcmtzOiBJRG9ja2VyQ29tcG9zZU5ldHdvcmtCaW5kaW5nW107XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2hlZCBwb3J0cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwb3J0czogRG9ja2VyQ29tcG9zZVNlcnZpY2VQb3J0W107XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBlbnZpcm9ubWVudDogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQXR0YWNoZWQgbGFiZWxzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGxhYmVsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqXG4gICAqIFRhcmdldCBwbGF0Zm9ybVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBsYXRmb3JtPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHNlcnZpY2VOYW1lOiBzdHJpbmcsXG4gICAgc2VydmljZURlc2NyaXB0aW9uOiBEb2NrZXJDb21wb3NlU2VydmljZURlc2NyaXB0aW9uXG4gICkge1xuICAgIGlmIChcbiAgICAgICghc2VydmljZURlc2NyaXB0aW9uLmltYWdlQnVpbGQgJiYgIXNlcnZpY2VEZXNjcmlwdGlvbi5pbWFnZSkgfHxcbiAgICAgIChzZXJ2aWNlRGVzY3JpcHRpb24uaW1hZ2VCdWlsZCAmJiBzZXJ2aWNlRGVzY3JpcHRpb24uaW1hZ2UpXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBBIHNlcnZpY2UgJHtzZXJ2aWNlTmFtZX0gcmVxdWlyZXMgZXhhY3RseSBvbmUgb2YgYSBcXGBpbWFnZUJ1aWxkXFxgIG9yIFxcYGltYWdlXFxgIGtleWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXJ2aWNlTmFtZSA9IHNlcnZpY2VOYW1lO1xuICAgIHRoaXMuY29tbWFuZCA9IHNlcnZpY2VEZXNjcmlwdGlvbi5jb21tYW5kO1xuICAgIHRoaXMuaW1hZ2UgPSBzZXJ2aWNlRGVzY3JpcHRpb24uaW1hZ2U7XG4gICAgdGhpcy5pbWFnZUJ1aWxkID0gc2VydmljZURlc2NyaXB0aW9uLmltYWdlQnVpbGQ7XG4gICAgdGhpcy5kZXBlbmRzT24gPSBzZXJ2aWNlRGVzY3JpcHRpb24uZGVwZW5kc09uID8/IFtdO1xuICAgIHRoaXMudm9sdW1lcyA9IHNlcnZpY2VEZXNjcmlwdGlvbi52b2x1bWVzID8/IFtdO1xuICAgIHRoaXMubmV0d29ya3MgPSBzZXJ2aWNlRGVzY3JpcHRpb24ubmV0d29ya3MgPz8gW107XG4gICAgdGhpcy5wb3J0cyA9IHNlcnZpY2VEZXNjcmlwdGlvbi5wb3J0cyA/PyBbXTtcbiAgICB0aGlzLmVudmlyb25tZW50ID0gc2VydmljZURlc2NyaXB0aW9uLmVudmlyb25tZW50ID8/IHt9O1xuICAgIHRoaXMubGFiZWxzID0gc2VydmljZURlc2NyaXB0aW9uLmxhYmVscyA/PyB7fTtcbiAgICB0aGlzLmVudHJ5cG9pbnQgPSBzZXJ2aWNlRGVzY3JpcHRpb24uZW50cnlwb2ludDtcbiAgICB0aGlzLnBsYXRmb3JtID0gc2VydmljZURlc2NyaXB0aW9uLnBsYXRmb3JtO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHBvcnQgbWFwcGluZ1xuICAgKiBAcGFyYW0gcHVibGlzaGVkUG9ydCBQdWJsaXNoZWQgcG9ydCBudW1iZXJcbiAgICogQHBhcmFtIHRhcmdldFBvcnQgQ29udGFpbmVyJ3MgcG9ydCBudW1iZXJcbiAgICogQHBhcmFtIG9wdGlvbnMgUG9ydCBtYXBwaW5nIG9wdGlvbnNcbiAgICovXG4gIHB1YmxpYyBhZGRQb3J0KFxuICAgIHB1Ymxpc2hlZFBvcnQ6IG51bWJlcixcbiAgICB0YXJnZXRQb3J0OiBudW1iZXIsXG4gICAgb3B0aW9ucz86IERvY2tlckNvbXBvc2VQb3J0TWFwcGluZ09wdGlvbnNcbiAgKSB7XG4gICAgdGhpcy5wb3J0cz8ucHVzaChcbiAgICAgIERvY2tlckNvbXBvc2UucG9ydE1hcHBpbmcocHVibGlzaGVkUG9ydCwgdGFyZ2V0UG9ydCwgb3B0aW9ucylcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKiBAcGFyYW0gbmFtZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBuYW1lXG4gICAqIEBwYXJhbSB2YWx1ZSB2YWx1ZSBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVcbiAgICovXG4gIHB1YmxpYyBhZGRFbnZpcm9ubWVudChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmVudmlyb25tZW50W25hbWVdID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogTWFrZSB0aGUgc2VydmljZSBkZXBlbmQgb24gYW5vdGhlciBzZXJ2aWNlLlxuICAgKiBAcGFyYW0gc2VydmljZU5hbWVcbiAgICovXG4gIHB1YmxpYyBhZGREZXBlbmRzT24oc2VydmljZU5hbWU6IElEb2NrZXJDb21wb3NlU2VydmljZU5hbWUpIHtcbiAgICB0aGlzLmRlcGVuZHNPbi5wdXNoKHNlcnZpY2VOYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB2b2x1bWUgdG8gdGhlIHNlcnZpY2UuXG4gICAqIEBwYXJhbSB2b2x1bWVcbiAgICovXG4gIHB1YmxpYyBhZGRWb2x1bWUodm9sdW1lOiBJRG9ja2VyQ29tcG9zZVZvbHVtZUJpbmRpbmcpIHtcbiAgICB0aGlzLnZvbHVtZXMucHVzaCh2b2x1bWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldHdvcmsgdG8gdGhlIHNlcnZpY2UuXG4gICAqIEBwYXJhbSBuZXR3b3JrXG4gICAqL1xuICBwdWJsaWMgYWRkTmV0d29yayhuZXR3b3JrOiBJRG9ja2VyQ29tcG9zZU5ldHdvcmtCaW5kaW5nKSB7XG4gICAgdGhpcy5uZXR3b3Jrcy5wdXNoKG5ldHdvcmspO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGxhYmVsXG4gICAqIEBwYXJhbSBuYW1lIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWVcbiAgICogQHBhcmFtIHZhbHVlIHZhbHVlIG9mIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICAgKi9cbiAgcHVibGljIGFkZExhYmVsKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMubGFiZWxzW25hbWVdID0gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBEZXNjcmlwdGlvbiBvZiBhIGRvY2tlci1jb21wb3NlLnltbCBzZXJ2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VTZXJ2aWNlRGVzY3JpcHRpb24ge1xuICAvKipcbiAgICogVXNlIGEgZG9ja2VyIGltYWdlLlxuICAgKiBOb3RlOiBZb3UgbXVzdCBzcGVjaWZ5IGVpdGhlciBgYnVpbGRgIG9yIGBpbWFnZWAga2V5LlxuICAgKiBAc2VlIGltYWdlQnVpbGRcbiAgICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCdWlsZCBhIGRvY2tlciBpbWFnZS5cbiAgICogTm90ZTogWW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgYGltYWdlQnVpbGRgIG9yIGBpbWFnZWAga2V5LlxuICAgKiBAc2VlIGltYWdlXG4gICAqL1xuICByZWFkb25seSBpbWFnZUJ1aWxkPzogRG9ja2VyQ29tcG9zZUJ1aWxkO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIGEgY29tbWFuZCB0byB0aGUgZG9ja2VyIGNvbnRhaW5lci5cbiAgICogQGRlZmF1bHQgLSB1c2UgdGhlIGNvbnRhaW5lcidzIGRlZmF1bHQgY29tbWFuZFxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBFbnRyeXBvaW50IHRvIHJ1biBpbiB0aGUgY29udGFpbmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cnlwb2ludD86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBOYW1lcyBvZiBvdGhlciBzZXJ2aWNlcyB0aGlzIHNlcnZpY2UgZGVwZW5kcyBvbi5cbiAgICogQGRlZmF1bHQgLSBubyBkZXBlbmRlbmNpZXNcbiAgICovXG4gIHJlYWRvbmx5IGRlcGVuZHNPbj86IElEb2NrZXJDb21wb3NlU2VydmljZU5hbWVbXTtcblxuICAvKipcbiAgICogTW91bnQgc29tZSB2b2x1bWVzIGludG8gdGhlIHNlcnZpY2UuXG4gICAqIFVzZSBvbmUgb2YgdGhlIGZvbGxvd2luZyB0byBjcmVhdGUgdm9sdW1lczpcbiAgICogQHNlZSBEb2NrZXJDb21wb3NlLmJpbmRWb2x1bWUoKSB0byBtb3VudCBhIGhvc3QgcGF0aFxuICAgKiBAc2VlIERvY2tlckNvbXBvc2UubmFtZWRWb2x1bWUoKSB0byBjcmVhdGUgJiBtb3VudCBhIG5hbWVkIHZvbHVtZVxuICAgKi9cbiAgcmVhZG9ubHkgdm9sdW1lcz86IElEb2NrZXJDb21wb3NlVm9sdW1lQmluZGluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGQgc29tZSBuZXR3b3JrcyB0byB0aGUgc2VydmljZS5cbiAgICogQHNlZSBEb2NrZXJDb21wb3NlLm5ldHdvcmsoKSB0byBjcmVhdGUgJiBtb3VudCBhIG5hbWVkIG5ldHdvcmtcbiAgICovXG4gIHJlYWRvbmx5IG5ldHdvcmtzPzogSURvY2tlckNvbXBvc2VOZXR3b3JrQmluZGluZ1tdO1xuXG4gIC8qKlxuICAgKiBNYXAgc29tZSBwb3J0cy5cbiAgICogQGRlZmF1bHQgLSBubyBwb3J0cyBhcmUgbWFwcGVkXG4gICAqL1xuICByZWFkb25seSBwb3J0cz86IERvY2tlckNvbXBvc2VTZXJ2aWNlUG9ydFtdO1xuXG4gIC8qKlxuICAgKiBBZGQgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogQWRkIGxhYmVscy5cbiAgICogQGRlZmF1bHQgLSBubyBsYWJlbHMgYXJlIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBsYWJlbHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogQWRkIHBsYXRmb3JtXG4gICAqIEBkZWZhdWx0IC0gbm8gcGxhdGZvcm0gaXMgcHJvdmlkZWRcbiAgICovXG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -129,5 +129,5 @@ class DockerCompose extends component_1.Component {
|
|
|
129
129
|
}
|
|
130
130
|
exports.DockerCompose = DockerCompose;
|
|
131
131
|
_a = JSII_RTTI_SYMBOL_1;
|
|
132
|
-
DockerCompose[_a] = { fqn: "projen.DockerCompose", version: "0.80.
|
|
132
|
+
DockerCompose[_a] = { fqn: "projen.DockerCompose", version: "0.80.15" };
|
|
133
133
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyLWNvbXBvc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG9ja2VyLWNvbXBvc2UvZG9ja2VyLWNvbXBvc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFLQSwrREFJK0I7QUFDL0IsbUVBQWtFO0FBQ2xFLHFFQUlrQztBQU9sQyw0Q0FBeUM7QUFFekMsa0NBQW1DO0FBeUJuQzs7R0FFRztBQUNILE1BQWEsYUFBYyxTQUFRLHFCQUFTO0lBQzFDOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFdBQVcsQ0FBQyxXQUFtQjtRQUNwQyxPQUFPO1lBQ0wsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUNoQixhQUFxQixFQUNyQixVQUFrQixFQUNsQixPQUF5QztRQUV6QyxNQUFNLFFBQVEsR0FBRyxPQUFPLEVBQUUsUUFBUSxJQUFJLDJDQUFxQixDQUFDLEdBQUcsQ0FBQztRQUVoRSxPQUFPO1lBQ0wsTUFBTSxFQUFFLFVBQVU7WUFDbEIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFLE1BQU07U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsVUFBVSxDQUNmLFVBQWtCLEVBQ2xCLFVBQWtCO1FBRWxCLE9BQU87WUFDTCxJQUFJLENBQUMsV0FBdUM7Z0JBQzFDLE9BQU87b0JBQ0wsSUFBSSxFQUFFLE1BQU07b0JBQ1osTUFBTSxFQUFFLFVBQVU7b0JBQ2xCLE1BQU0sRUFBRSxVQUFVO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsV0FBVyxDQUNoQixVQUFrQixFQUNsQixVQUFrQixFQUNsQixVQUFxQyxFQUFFO1FBRXZDLE9BQU87WUFDTCxJQUFJLENBQUMsVUFBc0M7Z0JBQ3pDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBRXZELE9BQU87b0JBQ0wsSUFBSSxFQUFFLFFBQVE7b0JBQ2QsTUFBTSxFQUFFLFVBQVU7b0JBQ2xCLE1BQU0sRUFBRSxVQUFVO2lCQUNuQixDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQ1osV0FBbUIsRUFDbkIsVUFBc0MsRUFBRTtRQUV4QyxPQUFPO1lBQ0wsSUFBSSxDQUFDLFdBQXdDO2dCQUMzQyxXQUFXLENBQUMsdUJBQXVCLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUUxRCxPQUFPLFdBQVcsQ0FBQztZQUNyQixDQUFDO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFVRCxZQUFZLE9BQWdCLEVBQUUsS0FBMEI7UUFDdEQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsTUFBTSxVQUFVLEdBQUcsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFNLENBQUMsVUFBVSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMxRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksZUFBUSxDQUFDLE9BQU8sRUFBRSxrQkFBa0IsVUFBVSxFQUFFLEVBQUU7WUFDaEUsU0FBUyxFQUFFLElBQUk7WUFDZixRQUFRLEVBQUUsSUFBSTtZQUNkLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLEVBQUU7U0FDM0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxLQUFLLEVBQUUsYUFBYSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQzdELE1BQU0sS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xFLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBRW5CLDBEQUEwRDtRQUMxRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUM5QyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7WUFDekUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxVQUFVLENBQ2YsV0FBbUIsRUFDbkIsV0FBNEM7UUFFNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSw2Q0FBb0IsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxPQUFPLENBQUM7UUFDckMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsd0JBQXdCO1FBQ3RCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzVDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBRUQsT0FBTyxJQUFBLCtDQUF1QixFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlELENBQUM7O0FBekpILHNDQTBKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERvY2tlckNvbXBvc2VOZXR3b3JrQ29uZmlnLFxuICBJRG9ja2VyQ29tcG9zZU5ldHdvcmtCaW5kaW5nLFxuICBJRG9ja2VyQ29tcG9zZU5ldHdvcmtDb25maWcsXG59IGZyb20gXCIuL2RvY2tlci1jb21wb3NlLW5ldHdvcmtcIjtcbmltcG9ydCB7XG4gIERvY2tlckNvbXBvc2VQb3J0TWFwcGluZ09wdGlvbnMsXG4gIERvY2tlckNvbXBvc2VQcm90b2NvbCxcbiAgRG9ja2VyQ29tcG9zZVNlcnZpY2VQb3J0LFxufSBmcm9tIFwiLi9kb2NrZXItY29tcG9zZS1wb3J0XCI7XG5pbXBvcnQgeyByZW5kZXJEb2NrZXJDb21wb3NlRmlsZSB9IGZyb20gXCIuL2RvY2tlci1jb21wb3NlLXJlbmRlclwiO1xuaW1wb3J0IHtcbiAgRG9ja2VyQ29tcG9zZVNlcnZpY2UsXG4gIERvY2tlckNvbXBvc2VTZXJ2aWNlRGVzY3JpcHRpb24sXG4gIElEb2NrZXJDb21wb3NlU2VydmljZU5hbWUsXG59IGZyb20gXCIuL2RvY2tlci1jb21wb3NlLXNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIERvY2tlckNvbXBvc2VWb2x1bWVDb25maWcsXG4gIERvY2tlckNvbXBvc2VWb2x1bWVNb3VudCxcbiAgSURvY2tlckNvbXBvc2VWb2x1bWVCaW5kaW5nLFxuICBJRG9ja2VyQ29tcG9zZVZvbHVtZUNvbmZpZyxcbn0gZnJvbSBcIi4vZG9ja2VyLWNvbXBvc2Utdm9sdW1lXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSBcIi4uL3Byb2plY3RcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4uL3lhbWxcIjtcblxuLyoqXG4gKiBQcm9wcyBmb3IgRG9ja2VyQ29tcG9zZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJDb21wb3NlUHJvcHMge1xuICAvKipcbiAgICogQSBuYW1lIHRvIGFkZCB0byB0aGUgZG9ja2VyLWNvbXBvc2UueW1sIGZpbGVuYW1lLlxuICAgKiBAZXhhbXBsZSAnbXluYW1lJyB5aWVsZHMgJ2RvY2tlci1jb21wb3NlLm15bmFtZS55bWwnXG4gICAqIEBkZWZhdWx0IC0gbm8gbmFtZSBpcyBhZGRlZFxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZVN1ZmZpeD86IHN0cmluZztcblxuICAvKipcbiAgICogRG9ja2VyIENvbXBvc2Ugc2NoZW1hIHZlcnNpb24gZG8gYmUgdXNlZFxuICAgKiBAZGVmYXVsdCAzLjNcbiAgICovXG4gIHJlYWRvbmx5IHNjaGVtYVZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlcnZpY2UgZGVzY3JpcHRpb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgc2VydmljZXM/OiBSZWNvcmQ8c3RyaW5nLCBEb2NrZXJDb21wb3NlU2VydmljZURlc2NyaXB0aW9uPjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSBkb2NrZXItY29tcG9zZSBZQU1MIGZpbGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBEb2NrZXJDb21wb3NlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIERlcGVuZHMgb24gYSBzZXJ2aWNlIG5hbWUuXG4gICAqL1xuICBzdGF0aWMgc2VydmljZU5hbWUoc2VydmljZU5hbWU6IHN0cmluZyk6IElEb2NrZXJDb21wb3NlU2VydmljZU5hbWUge1xuICAgIHJldHVybiB7XG4gICAgICBzZXJ2aWNlTmFtZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHBvcnQgbWFwcGluZy5cbiAgICogQHBhcmFtIHB1Ymxpc2hlZFBvcnQgUHVibGlzaGVkIHBvcnQgbnVtYmVyXG4gICAqIEBwYXJhbSB0YXJnZXRQb3J0IENvbnRhaW5lcidzIHBvcnQgbnVtYmVyXG4gICAqIEBwYXJhbSBvcHRpb25zIFBvcnQgbWFwcGluZyBvcHRpb25zXG4gICAqL1xuICBzdGF0aWMgcG9ydE1hcHBpbmcoXG4gICAgcHVibGlzaGVkUG9ydDogbnVtYmVyLFxuICAgIHRhcmdldFBvcnQ6IG51bWJlcixcbiAgICBvcHRpb25zPzogRG9ja2VyQ29tcG9zZVBvcnRNYXBwaW5nT3B0aW9uc1xuICApOiBEb2NrZXJDb21wb3NlU2VydmljZVBvcnQge1xuICAgIGNvbnN0IHByb3RvY29sID0gb3B0aW9ucz8ucHJvdG9jb2wgPz8gRG9ja2VyQ29tcG9zZVByb3RvY29sLlRDUDtcblxuICAgIHJldHVybiB7XG4gICAgICB0YXJnZXQ6IHRhcmdldFBvcnQsXG4gICAgICBwdWJsaXNoZWQ6IHB1Ymxpc2hlZFBvcnQsXG4gICAgICBwcm90b2NvbDogcHJvdG9jb2wsXG4gICAgICBtb2RlOiBcImhvc3RcIixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGJpbmQgdm9sdW1lIHRoYXQgYmluZHMgYSBob3N0IHBhdGggdG8gdGhlIHRhcmdldCBwYXRoIGluIHRoZSBjb250YWluZXIuXG4gICAqIEBwYXJhbSBzb3VyY2VQYXRoIEhvc3QgcGF0aCBuYW1lXG4gICAqIEBwYXJhbSB0YXJnZXRQYXRoIFRhcmdldCBwYXRoIG5hbWVcbiAgICovXG4gIHN0YXRpYyBiaW5kVm9sdW1lKFxuICAgIHNvdXJjZVBhdGg6IHN0cmluZyxcbiAgICB0YXJnZXRQYXRoOiBzdHJpbmdcbiAgKTogSURvY2tlckNvbXBvc2VWb2x1bWVCaW5kaW5nIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmluZChfdm9sdW1lSW5mbzogSURvY2tlckNvbXBvc2VWb2x1bWVDb25maWcpOiBEb2NrZXJDb21wb3NlVm9sdW1lTW91bnQge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6IFwiYmluZFwiLFxuICAgICAgICAgIHNvdXJjZTogc291cmNlUGF0aCxcbiAgICAgICAgICB0YXJnZXQ6IHRhcmdldFBhdGgsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmFtZWQgdm9sdW1lIGFuZCBtb3VudCBpdCB0byB0aGUgdGFyZ2V0IHBhdGguIElmIHlvdSB1c2UgdGhpc1xuICAgKiBuYW1lZCB2b2x1bWUgaW4gc2V2ZXJhbCBzZXJ2aWNlcywgdGhlIHZvbHVtZSB3aWxsIGJlIHNoYXJlZC4gSW4gdGhpc1xuICAgKiBjYXNlLCB0aGUgdm9sdW1lIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZpcnN0LXByb3ZpZGVkIG9wdGlvbnMgYXJlIHVzZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2b2x1bWVOYW1lIE5hbWUgb2YgdGhlIHZvbHVtZVxuICAgKiBAcGFyYW0gdGFyZ2V0UGF0aCBUYXJnZXQgcGF0aFxuICAgKiBAcGFyYW0gb3B0aW9ucyB2b2x1bWUgY29uZmlndXJhdGlvbiAoZGVmYXVsdDogZG9ja2VyIGNvbXBvc2UgZGVmYXVsdHMpXG4gICAqL1xuICBzdGF0aWMgbmFtZWRWb2x1bWUoXG4gICAgdm9sdW1lTmFtZTogc3RyaW5nLFxuICAgIHRhcmdldFBhdGg6IHN0cmluZyxcbiAgICBvcHRpb25zOiBEb2NrZXJDb21wb3NlVm9sdW1lQ29uZmlnID0ge31cbiAgKTogSURvY2tlckNvbXBvc2VWb2x1bWVCaW5kaW5nIHtcbiAgICByZXR1cm4ge1xuICAgICAgYmluZCh2b2x1bWVJbmZvOiBJRG9ja2VyQ29tcG9zZVZvbHVtZUNvbmZpZyk6IERvY2tlckNvbXBvc2VWb2x1bWVNb3VudCB7XG4gICAgICAgIHZvbHVtZUluZm8uYWRkVm9sdW1lQ29uZmlndXJhdGlvbih2b2x1bWVOYW1lLCBvcHRpb25zKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHR5cGU6IFwidm9sdW1lXCIsXG4gICAgICAgICAgc291cmNlOiB2b2x1bWVOYW1lLFxuICAgICAgICAgIHRhcmdldDogdGFyZ2V0UGF0aCxcbiAgICAgICAgfTtcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuYW1lZCBuZXR3b3JrIGFuZCBtb3VudCBpdCB0byB0aGUgdGFyZ2V0IHBhdGguIElmIHlvdSB1c2UgdGhpc1xuICAgKiBuYW1lZCBuZXR3b3JrIGluIHNldmVyYWwgc2VydmljZXMsIHRoZSBuZXR3b3JrIHdpbGwgYmUgc2hhcmVkLiBJbiB0aGlzXG4gICAqIGNhc2UsIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGZpcnN0LXByb3ZpZGVkIG9wdGlvbnMgYXJlIHVzZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuZXR3b3JrTmFtZSBOYW1lIG9mIHRoZSBuZXR3b3JrXG4gICAqIEBwYXJhbSBvcHRpb25zIG5ldHdvcmsgY29uZmlndXJhdGlvblxuICAgKi9cbiAgc3RhdGljIG5ldHdvcmsoXG4gICAgbmV0d29ya05hbWU6IHN0cmluZyxcbiAgICBvcHRpb25zOiBEb2NrZXJDb21wb3NlTmV0d29ya0NvbmZpZyA9IHt9XG4gICk6IElEb2NrZXJDb21wb3NlTmV0d29ya0JpbmRpbmcge1xuICAgIHJldHVybiB7XG4gICAgICBiaW5kKG5ldHdvcmtJbmZvOiBJRG9ja2VyQ29tcG9zZU5ldHdvcmtDb25maWcpOiBzdHJpbmcge1xuICAgICAgICBuZXR3b3JrSW5mby5hZGROZXR3b3JrQ29uZmlndXJhdGlvbihuZXR3b3JrTmFtZSwgb3B0aW9ucyk7XG5cbiAgICAgICAgcmV0dXJuIG5ldHdvcmtOYW1lO1xuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBEb2NrZXIgQ29tcG9zZSBmaWxlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZmlsZTogWWFtbEZpbGU7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlczogUmVjb3JkPHN0cmluZywgRG9ja2VyQ29tcG9zZVNlcnZpY2U+O1xuICBwcml2YXRlIHJlYWRvbmx5IHZlcnNpb246IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm9wcz86IERvY2tlckNvbXBvc2VQcm9wcykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgY29uc3QgbmFtZVN1ZmZpeCA9IHByb3BzPy5uYW1lU3VmZml4ID8gYCR7cHJvcHMhLm5hbWVTdWZmaXh9LnltbGAgOiBcInltbFwiO1xuICAgIHRoaXMuZmlsZSA9IG5ldyBZYW1sRmlsZShwcm9qZWN0LCBgZG9ja2VyLWNvbXBvc2UuJHtuYW1lU3VmZml4fWAsIHtcbiAgICAgIGNvbW1pdHRlZDogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgb2JqOiAoKSA9PiB0aGlzLl9zeW50aGVzaXplRG9ja2VyQ29tcG9zZSgpLFxuICAgIH0pO1xuXG4gICAgaWYgKHByb3BzPy5zY2hlbWFWZXJzaW9uICYmICFwYXJzZUZsb2F0KHByb3BzLnNjaGVtYVZlcnNpb24pKSB7XG4gICAgICB0aHJvdyBFcnJvcihcIlZlcnNpb24gdGFnIG5lZWRzIHRvIGJlIGEgbnVtYmVyXCIpO1xuICAgIH1cbiAgICB0aGlzLnZlcnNpb24gPSBwcm9wcz8uc2NoZW1hVmVyc2lvbiA/IHByb3BzLnNjaGVtYVZlcnNpb24gOiBcIjMuM1wiO1xuICAgIHRoaXMuc2VydmljZXMgPSB7fTtcblxuICAgIC8vIEFkZCB0aGUgc2VydmljZXMgcHJvdmlkZWQgdmlhIHRoZSBjb25zdHJ1Y3RvciBhcmd1bWVudC5cbiAgICBjb25zdCBpbml0aWFsU2VydmljZXMgPSBwcm9wcz8uc2VydmljZXMgPz8ge307XG4gICAgZm9yIChjb25zdCBbbmFtZSwgc2VydmljZURlc2NyaXB0aW9uXSBvZiBPYmplY3QuZW50cmllcyhpbml0aWFsU2VydmljZXMpKSB7XG4gICAgICB0aGlzLmFkZFNlcnZpY2UobmFtZSwgc2VydmljZURlc2NyaXB0aW9uKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc2VydmljZSB0byB0aGUgZG9ja2VyLWNvbXBvc2UgZmlsZS5cbiAgICogQHBhcmFtIHNlcnZpY2VOYW1lIG5hbWUgb2YgdGhlIHNlcnZpY2VcbiAgICogQHBhcmFtIGRlc2NyaXB0aW9uIGEgc2VydmljZSBkZXNjcmlwdGlvblxuICAgKi9cbiAgcHVibGljIGFkZFNlcnZpY2UoXG4gICAgc2VydmljZU5hbWU6IHN0cmluZyxcbiAgICBkZXNjcmlwdGlvbjogRG9ja2VyQ29tcG9zZVNlcnZpY2VEZXNjcmlwdGlvblxuICApOiBEb2NrZXJDb21wb3NlU2VydmljZSB7XG4gICAgY29uc3Qgc2VydmljZSA9IG5ldyBEb2NrZXJDb21wb3NlU2VydmljZShzZXJ2aWNlTmFtZSwgZGVzY3JpcHRpb24pO1xuICAgIHRoaXMuc2VydmljZXNbc2VydmljZU5hbWVdID0gc2VydmljZTtcbiAgICByZXR1cm4gc2VydmljZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9zeW50aGVzaXplRG9ja2VyQ29tcG9zZSgpOiBvYmplY3Qge1xuICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLnNlcnZpY2VzKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkRvY2tlckNvbXBvc2UgcmVxdWlyZXMgYXQgbGVhc3Qgb25lIHNlcnZpY2VcIik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlbmRlckRvY2tlckNvbXBvc2VGaWxlKHRoaXMuc2VydmljZXMsIHRoaXMudmVyc2lvbik7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBhcmd1bWVudHMgZm9yIGNyZWF0aW5nIGEgZG9ja2VyIGltYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlckNvbXBvc2VCdWlsZCB7XG4gIC8qKlxuICAgKiBEb2NrZXIgYnVpbGQgY29udGV4dCBkaXJlY3RvcnkuXG4gICAqL1xuICByZWFkb25seSBjb250ZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZG9ja2VyZmlsZSB0byBidWlsZCBmcm9tLlxuICAgKiBAZGVmYXVsdCBcIkRvY2tlcmZpbGVcIlxuICAgKi9cbiAgcmVhZG9ubHkgZG9ja2VyZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQnVpbGQgYXJncy5cbiAgICogQGRlZmF1bHQgLSBub25lIGFyZSBwcm92aWRlZFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG4iXX0=
|
package/lib/file.js
CHANGED
|
@@ -124,5 +124,5 @@ class FileBase extends component_1.Component {
|
|
|
124
124
|
}
|
|
125
125
|
exports.FileBase = FileBase;
|
|
126
126
|
_a = JSII_RTTI_SYMBOL_1;
|
|
127
|
-
FileBase[_a] = { fqn: "projen.FileBase", version: "0.80.
|
|
127
|
+
FileBase[_a] = { fqn: "projen.FileBase", version: "0.80.15" };
|
|
128
128
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9maWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsMkJBQTRCO0FBQzVCLDZCQUE2QjtBQUU3Qix5Q0FBcUM7QUFDckMscUNBQXdFO0FBQ3hFLDJDQUF3QztBQUN4Qyx5Q0FBMEM7QUFDMUMsaUNBTWdCO0FBQ2hCLGtEQUF1RDtBQXdDdkQsTUFBc0IsUUFBUyxTQUFRLHFCQUFTO0lBd0I5Qzs7OztPQUlHO0lBQ0gsSUFBVyxNQUFNO1FBQ2YsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNsRCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsMEVBQTBFO1FBQzFFLE1BQU0sUUFBUSxHQUNaLHVCQUFZLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLElBQUksc0NBQTZCLENBQUM7UUFDM0UsT0FBTyxHQUFHLHNCQUFhLHFCQUFxQixRQUFRLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksQ0FBQztJQUNsRyxDQUFDO0lBRUQsWUFDRSxLQUFpQixFQUNqQixRQUFnQixFQUNoQixVQUEyQixFQUFFO1FBRTdCLE1BQU0sT0FBTyxHQUFHLElBQUEsK0JBQWtCLEVBQUMsS0FBSyxDQUFDLENBQUM7UUFDMUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUMxQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hELE1BQU0sV0FBVyxHQUFHLElBQUEsNkJBQXNCLEVBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sbUJBQW1CLEdBQUcs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QztRQUN6RCxJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3ZCLGtCQUFrQixJQUFJLENBQUMsSUFBSSxvQ0FBb0MsQ0FDaEUsQ0FBQztRQUNKLENBQUM7YUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxjQUFjLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3ZCLGtCQUFrQixJQUFJLENBQUMsSUFBSSw4Q0FBOEMsQ0FDMUUsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7QUF4S0gsNEJBeUtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcm1TeW5jIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IHJlc29sdmUgfSBmcm9tIFwiLi9fcmVzb2x2ZVwiO1xuaW1wb3J0IHsgUFJPSkVOX01BUktFUiwgREVGQVVMVF9QUk9KRU5fUkNfSlNfRklMRU5BTUUgfSBmcm9tIFwiLi9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudFwiO1xuaW1wb3J0IHsgUHJvamVucmNGaWxlIH0gZnJvbSBcIi4vcHJvamVucmNcIjtcbmltcG9ydCB7XG4gIGFzc2VydEV4ZWN1dGFibGVQZXJtaXNzaW9ucyxcbiAgaXNXcml0YWJsZSxcbiAgbm9ybWFsaXplUGVyc2lzdGVkUGF0aCxcbiAgdHJ5UmVhZEZpbGVTeW5jLFxuICB3cml0ZUZpbGUsXG59IGZyb20gXCIuL3V0aWxcIjtcbmltcG9ydCB7IGZpbmRDbG9zZXN0UHJvamVjdCB9IGZyb20gXCIuL3V0aWwvY29uc3RydWN0c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGlzIGZpbGUgc2hvdWxkIGJlIGNvbW1pdHRlZCB0byBnaXQgb3IgaWdub3JlZC4gQnlcbiAgICogZGVmYXVsdCwgYWxsIGdlbmVyYXRlZCBmaWxlcyBhcmUgY29tbWl0dGVkIGFuZCBhbnRpLXRhbXBlciBpcyB1c2VkIHRvXG4gICAqIHByb3RlY3QgYWdhaW5zdCBtYW51YWwgbW9kaWZpY2F0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWl0dGVkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBwcm9qZWN0J3MgLmdpdGlnbm9yZSBmaWxlXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVkaXRHaXRpZ25vcmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBnZW5lcmF0ZWQgZmlsZSBzaG91bGQgYmUgcmVhZG9ubHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHJlYWRvbmx5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZ2VuZXJhdGVkIGZpbGUgc2hvdWxkIGJlIG1hcmtlZCBhcyBleGVjdXRhYmxlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgZXhlY3V0YWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIHByb2plbiBtYXJrZXIgdG8gdGhlIGZpbGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbWFya2VyIHdpbGwgYmUgaW5jbHVkZWQgYXMgbG9uZyBhcyB0aGUgcHJvamVjdCBpcyBub3QgZWplY3RlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWFya2VyPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpbGVCYXNlIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHBhdGgsIHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0J3Mgb3V0ZGlyLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBmaWxlIHNob3VsZCBiZSByZWFkLW9ubHkgb3IgcmVhZC13cml0ZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seTogYm9vbGVhbjtcblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBmaWxlIHNob3VsZCBiZSBtYXJrZWQgYXMgZXhlY3V0YWJsZVxuICAgKi9cbiAgcHVibGljIGV4ZWN1dGFibGU6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBhYnNvbHV0ZSBwYXRoIG9mIHRoaXMgZmlsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhYnNvbHV0ZVBhdGg6IHN0cmluZztcblxuICBwcml2YXRlIF9jaGFuZ2VkPzogYm9vbGVhbjtcbiAgcHJpdmF0ZSBzaG91bGRBZGRNYXJrZXI6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRoZSBwcm9qZW4gbWFya2VyLCB1c2VkIHRvIGlkZW50aWZ5IGZpbGVzIGFzIHByb2plbi1nZW5lcmF0ZWQuXG4gICAqXG4gICAqIFZhbHVlIGlzIHVuZGVmaW5lZCBpZiB0aGUgcHJvamVjdCBpcyBiZWluZyBlamVjdGVkLlxuICAgKi9cbiAgcHVibGljIGdldCBtYXJrZXIoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5wcm9qZWN0LmVqZWN0ZWQgfHwgIXRoaXMuc2hvdWxkQWRkTWFya2VyKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIC8vIGBtYXJrZXJgIGlzIGVtcHR5IGlmIHByb2plY3QgaXMgYmVpbmcgZWplY3RlZCBvciBpZiBleHBsaWNpdGx5IGRpc2FibGVkXG4gICAgY29uc3QgcHJvamVucmMgPVxuICAgICAgUHJvamVucmNGaWxlLm9mKHRoaXMucHJvamVjdCk/LmZpbGVQYXRoID8/IERFRkFVTFRfUFJPSkVOX1JDX0pTX0ZJTEVOQU1FO1xuICAgIHJldHVybiBgJHtQUk9KRU5fTUFSS0VSfS4gVG8gbW9kaWZ5LCBlZGl0ICR7cHJvamVucmN9IGFuZCBydW4gXCIke3RoaXMucHJvamVjdC5wcm9qZW5Db21tYW5kfVwiLmA7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogSUNvbnN0cnVjdCxcbiAgICBmaWxlUGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IEZpbGVCYXNlT3B0aW9ucyA9IHt9XG4gICkge1xuICAgIGNvbnN0IHByb2plY3QgPSBmaW5kQ2xvc2VzdFByb2plY3Qoc2NvcGUpO1xuICAgIGNvbnN0IHJvb3QgPSBwcm9qZWN0LnJvb3Q7XG4gICAgY29uc3Qgbm9ybWFsaXplZFBhdGggPSBwYXRoLm5vcm1hbGl6ZShmaWxlUGF0aCk7XG4gICAgY29uc3QgcHJvamVjdFBhdGggPSBub3JtYWxpemVQZXJzaXN0ZWRQYXRoKG5vcm1hbGl6ZWRQYXRoKTtcbiAgICBjb25zdCBhYnNvbHV0ZVBhdGggPSBwYXRoLnJlc29sdmUocHJvamVjdC5vdXRkaXIsIHByb2plY3RQYXRoKTtcbiAgICBjb25zdCByZWxhdGl2ZVByb2plY3RQYXRoID0gcGF0aC5yZWxhdGl2ZShyb290Lm91dGRpciwgYWJzb2x1dGVQYXRoKTtcbiAgICBjb25zdCByb290UHJvamVjdFBhdGggPSBub3JtYWxpemVQZXJzaXN0ZWRQYXRoKHJlbGF0aXZlUHJvamVjdFBhdGgpO1xuICAgIGNvbnN0IGF1dG9JZCA9IGAke25ldy50YXJnZXQubmFtZX1AJHtwcm9qZWN0UGF0aH1gO1xuXG4gICAgLy8gQmVmb3JlIGFjdHVhbGx5IGNyZWF0aW5nIHRoZSBmaWxlLCBlbnN1cmUgdGhlIGZpbGUgcGF0aCBpcyB1bmlxdWUgd2l0aGluIHRoZSBmdWxsIHByb2plY3QgdHJlZVxuICAgIC8vIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBwcm9qZWN0cyBjYW4gY3JlYXRlIGZpbGVzIGluc2lkZSB0aGVpciBzdWJwcm9qZWN0c1xuICAgIGlmIChyb290LnRyeUZpbmRGaWxlKGFic29sdXRlUGF0aCkgfHwgc2NvcGUubm9kZS50cnlGaW5kQ2hpbGQoYXV0b0lkKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBhbHJlYWR5IGEgZmlsZSB1bmRlciAke3Jvb3RQcm9qZWN0UGF0aH1gKTtcbiAgICB9XG5cbiAgICBzdXBlcihzY29wZSwgYXV0b0lkKTtcbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJ0eXBlXCIsIFwiZmlsZVwiKTtcbiAgICB0aGlzLm5vZGUuYWRkTWV0YWRhdGEoXCJwYXRoXCIsIHJvb3RQcm9qZWN0UGF0aCk7XG5cbiAgICB0aGlzLnJlYWRvbmx5ID0gIXByb2plY3QuZWplY3RlZCAmJiAob3B0aW9ucy5yZWFkb25seSA/PyB0cnVlKTtcbiAgICB0aGlzLmV4ZWN1dGFibGUgPSBvcHRpb25zLmV4ZWN1dGFibGUgPz8gZmFsc2U7XG4gICAgdGhpcy5wYXRoID0gcHJvamVjdFBhdGg7XG4gICAgdGhpcy5hYnNvbHV0ZVBhdGggPSBhYnNvbHV0ZVBhdGg7XG4gICAgdGhpcy5zaG91bGRBZGRNYXJrZXIgPSBvcHRpb25zLm1hcmtlciA/PyB0cnVlO1xuXG4gICAgY29uc3QgZ2xvYlBhdHRlcm4gPSBgLyR7dGhpcy5wYXRofWA7XG4gICAgY29uc3QgY29tbWl0dGVkID0gb3B0aW9ucy5jb21taXR0ZWQgPz8gcHJvamVjdC5jb21taXRHZW5lcmF0ZWQgPz8gdHJ1ZTtcbiAgICBpZiAoY29tbWl0dGVkICYmIGZpbGVQYXRoICE9PSBcIi5naXRhdHRyaWJ1dGVzXCIpIHtcbiAgICAgIHByb2plY3QuYW5ub3RhdGVHZW5lcmF0ZWQoYC8ke2ZpbGVQYXRofWApO1xuICAgIH1cbiAgICBjb25zdCBlZGl0R2l0aWdub3JlID0gb3B0aW9ucy5lZGl0R2l0aWdub3JlID8/IHRydWU7XG4gICAgaWYgKGVkaXRHaXRpZ25vcmUpIHtcbiAgICAgIHRoaXMucHJvamVjdC5hZGRHaXRJZ25vcmUoYCR7Y29tbWl0dGVkID8gXCIhXCIgOiBcIlwifSR7Z2xvYlBhdHRlcm59YCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChvcHRpb25zLmNvbW1pdHRlZCAhPSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAnXCJnaXRpZ25vcmVcIiBpcyBkaXNhYmxlZCwgc28gaXQgZG9lcyBub3QgbWFrZSBzZW5zZSB0byBzcGVjaWZ5IFwiY29tbWl0dGVkXCInXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEltcGxlbWVudGVkIGJ5IGRlcml2ZWQgY2xhc3NlcyBhbmQgcmV0dXJucyB0aGUgY29udGVudHMgb2YgdGhlIGZpbGUgdG9cbiAgICogZW1pdC5cbiAgICogQHBhcmFtIHJlc29sdmVyIENhbGwgYHJlc29sdmVyLnJlc29sdmUob2JqKWAgb24gYW55IG9iamVjdHMgaW4gb3JkZXIgdG9cbiAgICogcmVzb2x2ZSB0b2tlbiBmdW5jdGlvbnMuXG4gICAqIEByZXR1cm5zIHRoZSBjb250ZW50IHRvIHN5bnRoZXNpemUgb3IgdW5kZWZpbmVkIHRvIHNraXAgdGhlIGZpbGVcbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBzeW50aGVzaXplQ29udGVudChyZXNvbHZlcjogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXcml0ZXMgdGhlIGZpbGUgdG8gdGhlIHByb2plY3QncyBvdXRwdXQgZGlyZWN0b3J5XG4gICAqL1xuICBwdWJsaWMgc3ludGhlc2l6ZSgpIHtcbiAgICBjb25zdCBvdXRkaXIgPSB0aGlzLnByb2plY3Qub3V0ZGlyO1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKG91dGRpciwgdGhpcy5wYXRoKTtcbiAgICBjb25zdCByZXNvbHZlcjogSVJlc29sdmVyID0ge1xuICAgICAgcmVzb2x2ZTogKG9iaiwgb3B0aW9ucykgPT4gcmVzb2x2ZShvYmosIG9wdGlvbnMpLFxuICAgIH07XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXIpO1xuICAgIGlmIChjb250ZW50ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIHJlbW92ZSBmaWxlIChpZiBleGlzdHMpIGFuZCBza2lwIHJlc3Qgb2Ygc3ludGhlc2lzXG4gICAgICBybVN5bmMoZmlsZVBhdGgsIHsgZm9yY2U6IHRydWUsIHJlY3Vyc2l2ZTogdHJ1ZSB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBjaGVjayBpZiB0aGUgZmlsZSB3YXMgY2hhbmdlZC5cbiAgICBjb25zdCBwcmV2ID0gdHJ5UmVhZEZpbGVTeW5jKGZpbGVQYXRoKTtcbiAgICBjb25zdCBwcmV2UmVhZG9ubHkgPSAhaXNXcml0YWJsZShmaWxlUGF0aCk7XG4gICAgY29uc3Qgc3VjY2Vzc2Z1bEV4ZWN1dGFibGVBc3NlcnRpb24gPSBhc3NlcnRFeGVjdXRhYmxlUGVybWlzc2lvbnMoXG4gICAgICBmaWxlUGF0aCxcbiAgICAgIHRoaXMuZXhlY3V0YWJsZVxuICAgICk7XG4gICAgaWYgKFxuICAgICAgcHJldiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBjb250ZW50ID09PSBwcmV2ICYmXG4gICAgICBwcmV2UmVhZG9ubHkgPT09IHRoaXMucmVhZG9ubHkgJiZcbiAgICAgIHN1Y2Nlc3NmdWxFeGVjdXRhYmxlQXNzZXJ0aW9uXG4gICAgKSB7XG4gICAgICB0aGlzLnByb2plY3QubG9nZ2VyLmRlYnVnKGBubyBjaGFuZ2UgaW4gJHtmaWxlUGF0aH1gKTtcbiAgICAgIHRoaXMuX2NoYW5nZWQgPSBmYWxzZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB3cml0ZUZpbGUoZmlsZVBhdGgsIGNvbnRlbnQsIHtcbiAgICAgIHJlYWRvbmx5OiB0aGlzLnJlYWRvbmx5LFxuICAgICAgZXhlY3V0YWJsZTogdGhpcy5leGVjdXRhYmxlLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jaGVja0ZvclByb2plbk1hcmtlcigpO1xuXG4gICAgdGhpcy5fY2hhbmdlZCA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogRm9yIGRlYnVnZ2luZywgY2hlY2sgd2hldGhlciBhIGZpbGUgd2FzIGluY29ycmVjdGx5IGdlbmVyYXRlZCB3aXRoXG4gICAqIG9yIHdpdGhvdXQgdGhlIHByb2plbiBtYXJrZXIuIFRoZSBwcm9qZW4gbWFya2VyIGRvZXMgbm90ICpuZWVkKiB0byBiZVxuICAgKiBpbmNsdWRlZCBvbiBwcm9qZW4tZ2VuZXJhdGVkIGZpbGVzLCBidXQgaXQncyByZWNvbW1lbmRlZCBzaW5jZSBpdCBzaWduYWxzXG4gICAqIHRoYXQgaXQgcHJvYmFibHkgc2hvdWxkIG5vdCBiZSBlZGl0ZWQgZGlyZWN0bHkuXG4gICAqL1xuICBwcml2YXRlIGNoZWNrRm9yUHJvamVuTWFya2VyKCkge1xuICAgIGNvbnN0IGZpbGVQYXRoID0gcGF0aC5qb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIHRoaXMucGF0aCk7XG4gICAgY29uc3QgY29udGVudHMgPSB0cnlSZWFkRmlsZVN5bmMoZmlsZVBhdGgpO1xuICAgIGNvbnN0IGNvbnRhaW5zTWFya2VyID0gY29udGVudHM/LmluY2x1ZGVzKFBST0pFTl9NQVJLRVIpO1xuICAgIGlmICh0aGlzLm1hcmtlciAmJiAhY29udGFpbnNNYXJrZXIpIHtcbiAgICAgIHRoaXMucHJvamVjdC5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBub3RlOiBleHBlY3RlZCAke3RoaXMucGF0aH0gdG8gY29udGFpbiBtYXJrZXIgYnV0IGZvdW5kIG5vbmUuYFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLm1hcmtlciAmJiBjb250YWluc01hcmtlcikge1xuICAgICAgdGhpcy5wcm9qZWN0LmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYG5vdGU6IGV4cGVjdGVkICR7dGhpcy5wYXRofSB0byBub3QgY29udGFpbiBtYXJrZXIgYnV0IGZvdW5kIG9uZSBhbnl3YXkuYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIGlmIHRoZSBmaWxlIGhhcyBiZWVuIGNoYW5nZWQgZHVyaW5nIHN5bnRoZXNpcy4gVGhpcyBwcm9wZXJ0eSBpc1xuICAgKiBvbmx5IGF2YWlsYWJsZSBpbiBgcG9zdFN5bnRoZXNpemUoKWAgaG9va3MuIElmIHRoaXMgaXMgYHVuZGVmaW5lZGAsIHRoZVxuICAgKiBmaWxlIGhhcyBub3QgYmVlbiBzeW50aGVzaXplZCB5ZXQuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNoYW5nZWQoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBBUEkgZm9yIHJlc29sdmluZyB0b2tlbnMgd2hlbiBzeW50aGVzaXppbmcgZmlsZSBjb250ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvbHZlciB7XG4gIC8qKlxuICAgKiBHaXZlbiBhIHZhbHVlIChvYmplY3Qvc3RyaW5nL2FycmF5L3doYXRldmVyLCBsb29rcyB1cCBhbnkgZnVuY3Rpb25zIGluc2lkZVxuICAgKiB0aGUgb2JqZWN0IGFuZCByZXR1cm5zIGFuIG9iamVjdCB3aGVyZSBhbGwgZnVuY3Rpb25zIGFyZSBjYWxsZWQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcmVzb2x2ZVxuICAgKiBAcGFja2FnZSBvcHRpb25zIFJlc29sdmUgb3B0aW9uc1xuICAgKi9cbiAgcmVzb2x2ZSh2YWx1ZTogYW55LCBvcHRpb25zPzogUmVzb2x2ZU9wdGlvbnMpOiBhbnk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc29sdmVPcHRpb25zIHtcbiAgLyoqXG4gICAqIE9taXRzIGVtcHR5IGFycmF5cyBhbmQgb2JqZWN0cy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IG9taXRFbXB0eT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIENvbnRleHQgYXJndW1lbnRzLlxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IGFueVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSZXNvbHZhYmxlIHtcbiAgLyoqXG4gICAqIFJlc29sdmVzIGFuZCByZXR1cm5zIGNvbnRlbnQuXG4gICAqL1xuICB0b0pTT04oKTogYW55O1xufVxuIl19
|
package/lib/gitattributes.js
CHANGED
|
@@ -61,5 +61,5 @@ class GitAttributesFile extends file_1.FileBase {
|
|
|
61
61
|
}
|
|
62
62
|
exports.GitAttributesFile = GitAttributesFile;
|
|
63
63
|
_a = JSII_RTTI_SYMBOL_1;
|
|
64
|
-
GitAttributesFile[_a] = { fqn: "projen.GitAttributesFile", version: "0.80.
|
|
64
|
+
GitAttributesFile[_a] = { fqn: "projen.GitAttributesFile", version: "0.80.15" };
|
|
65
65
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0YXR0cmlidXRlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9naXRhdHRyaWJ1dGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsaUNBQTZDO0FBRTdDOzs7O0dBSUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLGVBQVE7SUFHN0MsWUFBbUIsS0FBaUI7UUFDbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRTtZQUM3QixhQUFhLEVBQUUsS0FBSztTQUNyQixDQUFDLENBQUM7UUFMWSxlQUFVLEdBQUcsSUFBSSxHQUFHLEVBQXVCLENBQUM7SUFNN0QsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxhQUFhLENBQUMsSUFBWSxFQUFFLEdBQUcsVUFBb0I7UUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBQ0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFFLENBQUM7UUFDdkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNuQyxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JCLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxhQUFhLENBQUMsSUFBWTtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUN6RCxLQUFLLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUN4QixDQUFDO0lBQ0osQ0FBQztJQUVlLGFBQWE7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpELEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBWTtRQUN0Qyw2Q0FBNkM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDdEUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FDbkIsQ0FBQztRQUVGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTztZQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxFQUFFO1lBQ0YsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUNaLENBQUMsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQ3RFO1NBQ0YsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDOztBQS9ESCw4Q0FnRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IElSZXNvbHZlciwgRmlsZUJhc2UgfSBmcm9tIFwiLi9maWxlXCI7XG5cbi8qKlxuICogQXNzaWduIGF0dHJpYnV0ZXMgdG8gZmlsZSBuYW1lcyBpbiBhIGdpdCByZXBvc2l0b3J5LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9naXQtc2NtLmNvbS9kb2NzL2dpdGF0dHJpYnV0ZXNcbiAqL1xuZXhwb3J0IGNsYXNzIEdpdEF0dHJpYnV0ZXNGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGF0dHJpYnV0ZXMgPSBuZXcgTWFwPHN0cmluZywgU2V0PHN0cmluZz4+KCk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHNjb3BlOiBJQ29uc3RydWN0KSB7XG4gICAgc3VwZXIoc2NvcGUsIFwiLmdpdGF0dHJpYnV0ZXNcIiwge1xuICAgICAgZWRpdEdpdGlnbm9yZTogZmFsc2UsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTWFwcyBhIHNldCBvZiBhdHRyaWJ1dGVzIHRvIGEgc2V0IG9mIGZpbGVzLlxuICAgKiBAcGFyYW0gZ2xvYiBHbG9iIHBhdHRlcm4gdG8gbWF0Y2ggZmlsZXMgaW4gdGhlIHJlcG9cbiAgICogQHBhcmFtIGF0dHJpYnV0ZXMgQXR0cmlidXRlcyB0byBhc3NpZ24gdG8gdGhlc2UgZmlsZXMuXG4gICAqL1xuICBwdWJsaWMgYWRkQXR0cmlidXRlcyhnbG9iOiBzdHJpbmcsIC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKSB7XG4gICAgaWYgKCF0aGlzLmF0dHJpYnV0ZXMuaGFzKGdsb2IpKSB7XG4gICAgICB0aGlzLmF0dHJpYnV0ZXMuc2V0KGdsb2IsIG5ldyBTZXQoKSk7XG4gICAgfVxuICAgIGNvbnN0IHNldCA9IHRoaXMuYXR0cmlidXRlcy5nZXQoZ2xvYikhO1xuICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgIHNldC5hZGQoYXR0cmlidXRlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIGF0dHJpYnV0ZXMgbmVjZXNzYXJ5IHRvIG1hcmsgdGhlc2UgZmlsZXMgYXMgc3RvcmVkIGluIExGU1xuICAgKi9cbiAgcHVibGljIGFkZExmc1BhdHRlcm4oZ2xvYjogc3RyaW5nKSB7XG4gICAgdGhpcy5hZGRBdHRyaWJ1dGVzKGdsb2IsIFwiZmlsdGVyPWxmc1wiLCBcImRpZmY9bGZzXCIsIFwibWVyZ2U9bGZzXCIsIFwiLXRleHRcIik7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgY3VycmVudCBnaXRhdHRyaWJ1dGVzIGZpbGUgaGFzIGFueSBMRlMgcGF0dGVybnNcbiAgICovXG4gIHB1YmxpYyBnZXQgaGFzTGZzUGF0dGVybnMoKSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5hdHRyaWJ1dGVzLnZhbHVlcygpKS5zb21lKChhdHRycykgPT5cbiAgICAgIGF0dHJzLmhhcyhcImZpbHRlcj1sZnNcIilcbiAgICApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHByZVN5bnRoZXNpemUoKTogdm9pZCB7XG4gICAgdGhpcy5wcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmUoXCIvLmdpdGF0dHJpYnV0ZXNcIik7XG5cbiAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3ludGhlc2l6ZUNvbnRlbnQoXzogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBXZSBjYW4gYXNzdW1lIHRoZSBmaWxlIG1hcCBpcyBuZXZlciBlbXB0eS5cbiAgICBjb25zdCBlbnRyaWVzID0gQXJyYXkuZnJvbSh0aGlzLmF0dHJpYnV0ZXMuZW50cmllcygpKS5zb3J0KChbbF0sIFtyXSkgPT5cbiAgICAgIGwubG9jYWxlQ29tcGFyZShyKVxuICAgICk7XG5cbiAgICBpZiAoZW50cmllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtcbiAgICAgIC4uLih0aGlzLm1hcmtlciA/IFtgIyAke3RoaXMubWFya2VyfWBdIDogW10pLFxuICAgICAgXCJcIixcbiAgICAgIC4uLmVudHJpZXMubWFwKFxuICAgICAgICAoW25hbWUsIGF0dHJpYnV0ZXNdKSA9PiBgJHtuYW1lfSAke0FycmF5LmZyb20oYXR0cmlidXRlcykuam9pbihcIiBcIil9YFxuICAgICAgKSxcbiAgICBdLmpvaW4oXCJcXG5cIik7XG4gIH1cbn1cbiJdfQ==
|