@xpertss/projen-types 0.0.20 → 0.0.21
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 +134 -26
- package/API.md +258 -6
- package/README.md +6 -1
- package/lib/actions/action-build-workflow.js +1 -1
- package/lib/actions/action-dogfood-workflow.js +1 -1
- package/lib/actions/action-sonar-workflow.js +1 -1
- package/lib/actions/github-action-project.d.ts +10 -0
- package/lib/actions/github-action-project.js +4 -3
- package/lib/cdk/app-runtime-scaffold.js +1 -1
- package/lib/cdk/cdk-app-project.js +1 -1
- package/lib/cdk/cdk-infra-project.js +1 -1
- package/lib/cdk/cdk-typescript-base.js +13 -2
- package/lib/cdk/components/ecr-ecs-constructs.js +1 -1
- package/lib/cdk/components/edge-networking-constructs.js +1 -1
- package/lib/cdk/database-component.js +1 -1
- package/lib/cdk/options.d.ts +20 -0
- package/lib/cdk/options.js +1 -1
- package/lib/common/projen-drift-check-workflow.js +1 -1
- package/lib/common/workflow-change-notice-workflow.js +1 -1
- package/lib/java/components/cdk-deploy-hook.js +1 -1
- package/lib/java/components/code-index-workflow.js +1 -1
- package/lib/java/components/docker-publish.js +1 -1
- package/lib/java/components/flyway-migration.js +1 -1
- package/lib/java/components/github-packages-publish.js +1 -1
- package/lib/java/components/maven-central-publish.js +1 -1
- package/lib/java/components/maven-upgrade-report.js +1 -1
- package/lib/java/java-app-project.js +1 -1
- package/lib/java/java-library-project.js +1 -1
- package/lib/java/java-maven-base.js +3 -3
- package/lib/java/java-service-project.js +1 -1
- package/lib/java/java-spring-boot-project.js +1 -1
- package/lib/java/maven/maven-module.js +1 -1
- package/lib/java/maven/maven-pom.js +1 -1
- package/lib/java/options.d.ts +1 -1
- package/lib/java/options.js +1 -1
- package/package.json +1 -1
|
@@ -6,6 +6,7 @@ const projen_1 = require("projen");
|
|
|
6
6
|
const constants_1 = require("../common/constants");
|
|
7
7
|
const editorconfig_1 = require("../common/editorconfig");
|
|
8
8
|
const internal_actions_1 = require("../common/internal-actions");
|
|
9
|
+
const license_file_1 = require("../common/license-file");
|
|
9
10
|
const manual_deploy_workflow_1 = require("../common/manual-deploy-workflow");
|
|
10
11
|
const projen_drift_check_workflow_1 = require("../common/projen-drift-check-workflow");
|
|
11
12
|
const workflow_change_notice_workflow_1 = require("../common/workflow-change-notice-workflow");
|
|
@@ -23,7 +24,7 @@ const PROJEN_TYPES_VERSION = require('../../package.json').version;
|
|
|
23
24
|
* `ManualDeployWorkflow` when `environments` is provided.
|
|
24
25
|
*/
|
|
25
26
|
class CdkTypescriptProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
26
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CdkTypescriptProject", version: "0.0.
|
|
27
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CdkTypescriptProject", version: "0.0.21" };
|
|
27
28
|
constructor(options) {
|
|
28
29
|
super({
|
|
29
30
|
// Spread first, overrides after: forwarding the caller's options is
|
|
@@ -35,6 +36,9 @@ class CdkTypescriptProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
35
36
|
...options,
|
|
36
37
|
name: options.name,
|
|
37
38
|
cdkVersion: options.cdkVersion ?? '2.189.1',
|
|
39
|
+
// We write LICENSE ourselves (with a human-readable header);
|
|
40
|
+
// suppress projen's built-in License component.
|
|
41
|
+
licensed: false,
|
|
38
42
|
defaultReleaseBranch: 'main',
|
|
39
43
|
sampleCode: true,
|
|
40
44
|
// PR titles are not gated: `feat:`/`fix:` matter only because they drive
|
|
@@ -81,6 +85,13 @@ class CdkTypescriptProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
81
85
|
if (options.editorconfig ?? true) {
|
|
82
86
|
(0, editorconfig_1.addEditorConfig)(this);
|
|
83
87
|
}
|
|
88
|
+
if (options.licensed ?? true) {
|
|
89
|
+
(0, license_file_1.addLicenseFile)(this, {
|
|
90
|
+
spdx: options.license ?? 'MIT',
|
|
91
|
+
copyrightOwner: options.copyrightOwner ?? 'Xpert Software',
|
|
92
|
+
copyrightPeriod: options.copyrightPeriod,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
84
95
|
const gh = this.github;
|
|
85
96
|
if (!gh) {
|
|
86
97
|
throw new Error('CdkTypescriptProject requires GitHub integration to be enabled');
|
|
@@ -125,4 +136,4 @@ class CdkTypescriptProject extends projen_1.awscdk.AwsCdkTypeScriptApp {
|
|
|
125
136
|
}
|
|
126
137
|
}
|
|
127
138
|
exports.CdkTypescriptProject = CdkTypescriptProject;
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXR5cGVzY3JpcHQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvY2RrLXR5cGVzY3JpcHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQW9EO0FBRXBELG1EQUErRDtBQUMvRCx5REFBeUQ7QUFFekQsaUVBQTBFO0FBQzFFLDZFQUF3RTtBQUN4RSx1RkFBaUY7QUFDakYsK0ZBQXlGO0FBQ3pGLGlFQUFpRTtBQUVqRSx3RUFBd0U7QUFDeEUsNkVBQTZFO0FBQzdFLG1DQUFtQztBQUNuQyxpRUFBaUU7QUFDakUsTUFBTSxvQkFBb0IsR0FBVyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFNM0U7Ozs7OztHQU1HO0FBQ0gsTUFBYSxvQkFBcUIsU0FBUSxlQUFNLENBQUMsbUJBQW1COztJQUNsRSxZQUFZLE9BQW9DO1FBQzlDLEtBQUssQ0FBQztZQUNKLG9FQUFvRTtZQUNwRSxxRUFBcUU7WUFDckUsaUVBQWlFO1lBQ2pFLHdEQUF3RDtZQUN4RCxxRUFBcUU7WUFDckUsNkRBQTZEO1lBQzdELEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQzNDLG9CQUFvQixFQUFFLE1BQU07WUFDNUIsVUFBVSxFQUFFLElBQUk7WUFDaEIseUVBQXlFO1lBQ3pFLHFFQUFxRTtZQUNyRSx1RUFBdUU7WUFDdkUsd0VBQXdFO1lBQ3hFLGFBQWEsRUFBRSxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUU7WUFDekMsc0VBQXNFO1lBQ3RFLG9FQUFvRTtZQUNwRSx1Q0FBdUM7WUFDdkMsVUFBVSxFQUFFLElBQUk7WUFDaEIsbUVBQW1FO1lBQ25FLHNFQUFzRTtZQUN0RSxvRUFBb0U7WUFDcEUsZUFBZTtZQUNmLGlCQUFpQixFQUFFLFFBQVE7WUFDM0Isa0VBQWtFO1lBQ2xFLHFFQUFx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OzRCQUNoRSxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt5QkFDMUQ7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs7QUFqSEgsb0RBa0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBnaXRodWIsIGphdmFzY3JpcHQgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ29tbW9uQ2RrT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQgfSBmcm9tICcuLi9jb21tb24vY29uc3RhbnRzJztcbmltcG9ydCB7IGFkZEVkaXRvckNvbmZpZyB9IGZyb20gJy4uL2NvbW1vbi9lZGl0b3Jjb25maWcnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRPcHRpb25zIH0gZnJvbSAnLi4vY29tbW9uL2Vudmlyb25tZW50LW9wdGlvbnMnO1xuaW1wb3J0IHsgYXBwbHlJbnRlcm5hbEFjdGlvbk92ZXJyaWRlcyB9IGZyb20gJy4uL2NvbW1vbi9pbnRlcm5hbC1hY3Rpb25zJztcbmltcG9ydCB7IE1hbnVhbERlcGxveVdvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL21hbnVhbC1kZXBsb3ktd29ya2Zsb3cnO1xuaW1wb3J0IHsgUHJvamVuRHJpZnRDaGVja1dvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3Byb2plbi1kcmlmdC1jaGVjay13b3JrZmxvdyc7XG5pbXBvcnQgeyBXb3JrZmxvd0NoYW5nZU5vdGljZVdvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3dvcmtmbG93LWNoYW5nZS1ub3RpY2Utd29ya2Zsb3cnO1xuaW1wb3J0IHsgbm90ZVdvcmtmbG93UHVycG9zZSB9IGZyb20gJy4uL2NvbW1vbi93b3JrZmxvdy1wdXJwb3NlJztcblxuLy8gUmVzb2x2ZWQgdGhyb3VnaCBOb2RlJ3Mgbm9ybWFsIG1vZHVsZSByZXNvbHV0aW9uLCBzbyBpbiBhICpwdWJsaXNoZWQqXG4vLyBwYWNrYWdlIHRoaXMgaXMgdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlIHRoYXQgc2NhZmZvbGRlZCB0aGUgcmVwbyAoc2FtZVxuLy8gdHJpY2sgYXMgYEdpdEh1YkFjdGlvblByb2plY3RgKS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5jb25zdCBQUk9KRU5fVFlQRVNfVkVSU0lPTjogc3RyaW5nID0gcmVxdWlyZSgnLi4vLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuZXhwb3J0IGludGVyZmFjZSBDZGtUeXBlc2NyaXB0UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25DZGtPcHRpb25zIHtcbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRzPzogKHN0cmluZyB8IEVudmlyb25tZW50T3B0aW9ucylbXTtcbn1cblxuLyoqXG4gKiBTaGFyZWQgQ0RLICsgVHlwZVNjcmlwdCBmb3VuZGF0aW9uIGZvciBgQ2RrSW5mcmFQcm9qZWN0YCBhbmRcbiAqIGBDZGtBcHBQcm9qZWN0YDogc3RhbmRhcmQgYXBwIHN0cnVjdHVyZSAodmlhIGBBd3NDZGtUeXBlU2NyaXB0QXBwYCxcbiAqIGBjZGsuanNvbmAsIGBjZGsgc3ludGhgL2BjZGsgZGlmZmAgdGFza3MpLCBhIFBSLWNoZWNrIGJ1aWxkIHRoYXQgaGFyZC1mYWlsc1xuICogb24gcHJvamVuIGRyaWZ0IChyYXRoZXIgdGhhbiBzZWxmLW11dGF0aW5nKSwgYW5kIGFuIG9wdGlvbmFsXG4gKiBgTWFudWFsRGVwbG95V29ya2Zsb3dgIHdoZW4gYGVudmlyb25tZW50c2AgaXMgcHJvdmlkZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtUeXBlc2NyaXB0UHJvamVjdCBleHRlbmRzIGF3c2Nkay5Bd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQ2RrVHlwZXNjcmlwdFByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLy8gU3ByZWFkIGZpcnN0LCBvdmVycmlkZXMgYWZ0ZXI6IGZvcndhcmRpbmcgdGhlIGNhbGxlcidzIG9wdGlvbnMgaXNcbiAgICAgIC8vIHdoYXQgbGV0cyBgcHJvamVuIG5ldyAtLWZyb20gQHhwZXJ0c3MvcHJvamVuLXR5cGVzIGNka19pbmZyYWAgd29ya1xuICAgICAgLy8gLSBwcm9qZW4gc211Z2dsZXMgaXRzIGJvb3RzdHJhcCBtYXJrZXIgKGBfX25ld19fYCkgdGhyb3VnaCB0aGVcbiAgICAgIC8vIG9wdGlvbnMgb2JqZWN0LCBhbmQgaXQgaXMgdGhhdCBtYXJrZXIgd2hpY2ggbWFrZXMgdGhlXG4gICAgICAvLyBgUHJvamVucmNGaWxlYCBjb21wb25lbnQgd3JpdGUgdGhlIGluaXRpYWwgYC5wcm9qZW5yYy50c2AuIERyb3AgaXRcbiAgICAgIC8vIGFuZCBgcHJvamVuIG5ld2Agc2NhZmZvbGRzIGEgcmVwbyB3aXRoIG5vIHByb2plbnJjIGF0IGFsbC5cbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gPz8gJzIuMTg5LjEnLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6ICdtYWluJyxcbiAgICAgIHNhbXBsZUNvZGU6IHRydWUsXG4gICAgICAvLyBQUiB0aXRsZXMgYXJlIG5vdCBnYXRlZDogYGZlYXQ6YC9gZml4OmAgbWF0dGVyIG9ubHkgYmVjYXVzZSB0aGV5IGRyaXZlXG4gICAgICAvLyB0aGUgcmVsZWFzZSB3b3JrZmxvdyAodmlhIGByZWxlYXNhYmxlQ29tbWl0c2ApLCBub3QgUFIgY2hlY2tzLiBUaGVcbiAgICAgIC8vIGNvbnZlbnRpb25hbC1jb21taXQgUFItdGl0bGUgbGludCBpcyBhZGRlZCBieSB0aGUgYEdpdEh1YmAgY29tcG9uZW50XG4gICAgICAvLyB1bmxlc3MgYGdpdGh1Yk9wdGlvbnMucHVsbFJlcXVlc3RMaW50YCBpcyBgZmFsc2VgIChpdCBkZWZhdWx0cyB0cnVlKS5cbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHsgcHVsbFJlcXVlc3RMaW50OiBmYWxzZSB9LFxuICAgICAgLy8gR2VuZXJhdGVkIHJlcG9zIGFyZSBjb25maWd1cmVkIHRocm91Z2ggYC5wcm9qZW5yYy50c2A7IHdpdGhvdXQgdGhpc1xuICAgICAgLy8gYFR5cGVTY3JpcHRQcm9qZWN0YCBkZWZhdWx0cyB0byBgcHJvamVucmNUczogZmFsc2VgIGFuZCB3aXJlcyB0aGVcbiAgICAgIC8vIGRlZmF1bHQgdGFzayB0byBgbm9kZSAucHJvamVucmMuanNgLlxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIC8vIFBpbm5lZCwgbm90IGBUeXBlU2NyaXB0UHJvamVjdGAncyBkZWZhdWx0IGAqYDogYHR5cGVzY3JpcHRAN2Agbm9cbiAgICAgIC8vIGxvbmdlciBleHBvc2VzIGB0cy5zeXNgIGZyb20gaXRzIEpTIEFQSSwgd2hpY2ggYnJlYWtzIHRoZSBgdHMtbm9kZWBcbiAgICAgIC8vIHRoYXQgYHByb2plbnJjVHNgIHdpcmVzIHRoZSBkZWZhdWx0IHRhc2sgdG8gKEFELTAwMSB3YW50cyB0aGUgcGluXG4gICAgICAvLyByZWdhcmRsZXNzKS5cbiAgICAgIHR5cGVzY3JpcHRWZXJzaW9uOiAnfjYuMC4zJyxcbiAgICAgIC8vIERlY2xhcmVkIGZsb29yIGZvciB0aGUgZ2VuZXJhdGVkIHJlcG8uIEFsc28gcmVxdWlyZWQgYnkgdGhlIHBpblxuICAgICAgLy8gYWJvdmU6IHdpdGggbm8gYG1pbk5vZGVWZXJzaW9uYCwgcHJvamVuIGRlcml2ZXMgYEB0eXBlcy9ub2RlYCBmcm9tXG4gICAgICAvLyB0aGUgVHlwZVNjcmlwdCB2ZXJzaW9uIGluc3RlYWQsIGFuZCB0aGUgYEB0eXBlcy9ub2RlQHRzNi4wYFxuICAgICAgLy8gZGlzdC10YWcgaXQgYXNrcyBmb3IgZG9lcyBub3QgZXhpc3QgLSBgbnBtIGluc3RhbGxgIGZhaWxzIG91dHJpZ2h0LlxuICAgICAgbWluTm9kZVZlcnNpb246ICcyMi4wLjAnLFxuICAgICAgLy8gV2l0aG91dCB0aGlzIHByb2plbiBkZWZhdWx0cyB0byB5YXJuIGNsYXNzaWMgYW5kIHRoZSBnZW5lcmF0ZWQgcmVwbydzXG4gICAgICAvLyBvd24gaW5zdGFsbCBzdGVwIHJ1bnMgYHlhcm4gaW5zdGFsbCAtLWNoZWNrLWZpbGVzYCwgd2hpbGUgZXZlcnlcbiAgICAgIC8vIHdvcmtmbG93IHRoaXMgcGFja2FnZSBnZW5lcmF0ZXMgLSBhbmQgdGhlIFJFQURNRSAtIHVzZSBucG0uXG4gICAgICBwYWNrYWdlTWFuYWdlcjogamF2YXNjcmlwdC5Ob2RlUGFja2FnZU1hbmFnZXIuTlBNLFxuICAgICAgLy8gRmFpbCBQUiBjaGVja3Mgb24gZHJpZnQgaW5zdGVhZCBvZiBhdXRvLWNvbW1pdHRpbmcgcHJvamVuJ3Mgb3V0cHV0LlxuICAgICAgYnVpbGRXb3JrZmxvd09wdGlvbnM6IHsgbXV0YWJsZUJ1aWxkOiBmYWxzZSB9LFxuICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgIHNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIC8vIGAucHJvamVucmMudHNgIGltcG9ydHMgdGhpcyBwYWNrYWdlLCBzbyB0aGUgZ2VuZXJhdGVkIHJlcG8gaGFzIHRvXG4gICAgLy8gZGVjbGFyZSBpdDogcHJvamVuIHBydW5lcyBhbnkgZGVwZW5kZW5jeSBvZiBhIGBOb2RlUHJvamVjdGAgdGhhdCB0aGVcbiAgICAvLyBwcm9qZW5yYyBkb2VzIG5vdCBhc2sgZm9yIChcIlJlbW92aW5nIHVubWFuYWdlZCBkZXBlbmRlbmNpZXMuLi5cIiksIHdoaWNoXG4gICAgLy8gd291bGQgbGVhdmUgYSByZXBvIHdob3NlIGBucHggcHJvamVuYCBjYW5ub3QgcmVzb2x2ZSBpdHMgb3duIHByb2plY3RcbiAgICAvLyB0eXBlIGFmdGVyIGEgY2xlYW4gYG5wbSBjaWAuXG4gICAgdGhpcy5hZGREZXZEZXBzKGBAeHBlcnRzcy9wcm9qZW4tdHlwZXNAJHtQUk9KRU5fVFlQRVNfVkVSU0lPTn1gKTtcbiAgICB0aGlzLmFkZERldkRlcHMoJ2VzYnVpbGQnKTtcblxuICAgIC8vIEpldEJyYWlucyBJREUgc3RhdGUgKC5pZGVhLykgaXMgbmV2ZXIgdHJhY2tlZCBpbiBnZW5lcmF0ZWQgcmVwb3MsIGFuZFxuICAgIC8vIG5laXRoZXIgaXMgL3NwZWMvIChsb2NhbCBwbGFucyBhbmQgc3BlY3M7IHRoZSBwYXR0ZXJuIGNvdmVycyBldmVyeVxuICAgIC8vIHN1YmRpcmVjdG9yeSkuXG4gICAgdGhpcy5hZGRHaXRJZ25vcmUoJy8uaWRlYS8qJyk7XG4gICAgdGhpcy5hZGRHaXRJZ25vcmUoJy9zcGVjLycpO1xuXG4gICAgaWYgKG9wdGlvbnMuZWRpdG9yY29uZmlnID8/IHRydWUpIHtcbiAgICAgIGFkZEVkaXRvckNvbmZpZyh0aGlzKTtcbiAgICB9XG5cbiAgICBjb25zdCBnaCA9IHRoaXMuZ2l0aHViO1xuICAgIGlmICghZ2gpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nka1R5cGVzY3JpcHRQcm9qZWN0IHJlcXVpcmVzIEdpdEh1YiBpbnRlZ3JhdGlvbiB0byBiZSBlbmFibGVkJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGFwcGx5SW50ZXJuYWxBY3Rpb25PdmVycmlkZXMoZ2gpO1xuXG4gICAgbmV3IFByb2plbkRyaWZ0Q2hlY2tXb3JrZmxvdyh0aGlzLCB7XG4gICAgICBnaGVUb2tlblNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgfSk7XG4gICAgbmV3IFdvcmtmbG93Q2hhbmdlTm90aWNlV29ya2Zsb3codGhpcyk7XG5cbiAgICAvLyBgYnVpbGRgIGlzIHByb2plbidzIGJ1aWx0LWluIE5vZGVQcm9qZWN0IHdvcmtmbG93IChlbmFibGVkIHZpYVxuICAgIC8vIGBidWlsZFdvcmtmbG93T3B0aW9uc2AgYWJvdmUpLCBub3Qgb25lIHRoaXMgcGFja2FnZSBjb25zdHJ1Y3RzIC1cbiAgICAvLyBhbm5vdGF0ZSBpdCB0aGUgc2FtZSB3YXkgYXMgdGhlIG90aGVycy5cbiAgICBpZiAodGhpcy5idWlsZFdvcmtmbG93KSB7XG4gICAgICBub3RlV29ya2Zsb3dQdXJwb3NlKFxuICAgICAgICB0aGlzLmJ1aWxkV29ya2Zsb3cud29ya2Zsb3cuZmlsZSxcbiAgICAgICAgJ1B1bGwtcmVxdWVzdCBidWlsZCBnYXRlOiBpbnN0YWxsIGRlcGVuZGVuY2llcywgc3ludGhlc2l6ZSB0aGUgQ0RLIGFwcCwgYW5kIHJ1biB1bml0IHRlc3RzLicsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBgZGVwc1VwZ3JhZGVgIGlzIHByb2plbidzIGJ1aWx0LWluIG5pZ2h0bHkgdXBncmFkZSB3b3JrZmxvdyAtIGFubm90YXRlXG4gICAgLy8gaXQgdGhlIHNhbWUgd2F5IChvbmUgd29ya2Zsb3cgcGVyIHJlbGVhc2UgYnJhbmNoKS5cbiAgICBpZiAodGhpcy51cGdyYWRlV29ya2Zsb3cpIHtcbiAgICAgIGZvciAoY29uc3Qgd29ya2Zsb3cgb2YgdGhpcy51cGdyYWRlV29ya2Zsb3cud29ya2Zsb3dzKSB7XG4gICAgICAgIG5vdGVXb3JrZmxvd1B1cnBvc2UoXG4gICAgICAgICAgd29ya2Zsb3cuZmlsZSxcbiAgICAgICAgICAnT3BlbiBhIG5pZ2h0bHkgZGVwZW5kZW5jeS11cGdyYWRlIHB1bGwgcmVxdWVzdC4nLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5lbnZpcm9ubWVudHMgJiYgb3B0aW9ucy5lbnZpcm9ubWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgbmV3IE1hbnVhbERlcGxveVdvcmtmbG93KHRoaXMsIHtcbiAgICAgICAgZW52aXJvbm1lbnRzOiBvcHRpb25zLmVudmlyb25tZW50cyxcbiAgICAgICAgZGVwbG95U3RlcHM6IChlbnYpID0+IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCcsXG4gICAgICAgICAgICBydW46ICducG0gY2knLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYGNkayBkZXBsb3kgKCR7ZW52Lm5hbWV9KWAsXG4gICAgICAgICAgICBydW46IGBucHggY2RrIGRlcGxveSAtLWFsbCAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1jb250ZXh0IGVudmlyb25tZW50PSR7ZW52Lm5hbWV9YCxcbiAgICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgICAuLi4oZW52LmFjY291bnRJZCA/IHsgQ0RLX0RFRkFVTFRfQUNDT1VOVDogZW52LmFjY291bnRJZCB9IDoge30pLFxuICAgICAgICAgICAgICAuLi4oZW52LnJlZ2lvbiA/IHsgQ0RLX0RFRkFVTFRfUkVHSU9OOiBlbnYucmVnaW9uIH0gOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXR5cGVzY3JpcHQtYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvY2RrLXR5cGVzY3JpcHQtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsbUNBQW9EO0FBRXBELG1EQUErRDtBQUMvRCx5REFBeUQ7QUFFekQsaUVBQTBFO0FBQzFFLHlEQUF3RDtBQUN4RCw2RUFBd0U7QUFDeEUsdUZBQWlGO0FBQ2pGLCtGQUF5RjtBQUN6RixpRUFBaUU7QUFFakUsd0VBQXdFO0FBQ3hFLDZFQUE2RTtBQUM3RSxtQ0FBbUM7QUFDbkMsaUVBQWlFO0FBQ2pFLE1BQU0sb0JBQW9CLEdBQVcsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsT0FBTyxDQUFDO0FBTTNFOzs7Ozs7R0FNRztBQUNILE1BQWEsb0JBQXFCLFNBQVEsZUFBTSxDQUFDLG1CQUFtQjs7SUFDbEUsWUFBWSxPQUFvQztRQUM5QyxLQUFLLENBQUM7WUFDSixvRUFBb0U7WUFDcEUscUVBQXFFO1lBQ3JFLGlFQUFpRTtZQUNqRSx3REFBd0Q7WUFDeEQscUVBQXFFO1lBQ3JFLDZEQUE2RDtZQUM3RCxHQUFHLE9BQU87WUFDVixJQUFJLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDbEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksU0FBUztZQUMzQyw2REFBNkQ7WUFDN0QsZ0RBQWdEO1lBQ2hELFFBQVEsRUFBRSxLQUFLO1lBQ2Ysb0JBQW9CLEVBQUUsTUFBTTtZQUM1QixVQUFVLEVBQUUsSUFBSTtZQUNoQix5RUFBeUU7WUFDekUscUVBQXFFO1lBQ3JFLHVFQUF1RTtZQUN2RSx3RUFBd0U7WUFDeEUsYUFBYSxFQUFFLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRTtZQUN6QyxzRUFBc0U7WUFDdEUsb0VBQW9FO1lBQ3BFLHVDQUF1QztZQUN2QyxVQUFVLEVBQUUsSUFBSTtZQUNoQixtRUFBbUU7WUFDbkUsc0VBQXNFO1lBQ3RFLG9FQUFv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RUFBRSxDQUFDO29CQUNwQjt3QkFDRSxJQUFJLEVBQUUsU0FBUzt3QkFDZixHQUFHLEVBQUUsUUFBUTtxQkFDZDtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsZUFBZSxHQUFHLENBQUMsSUFBSSxHQUFHO3dCQUNoQyxHQUFHLEVBQUUsdUVBQXVFLEdBQUcsQ0FBQyxJQUFJLEVBQUU7d0JBQ3RGLEdBQUcsRUFBRTs0QkFDSCxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzs0QkFDaEUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7eUJBQzFEO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBNUhILG9EQTZIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF3c2NkaywgZ2l0aHViLCBqYXZhc2NyaXB0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENvbW1vbkNka09wdGlvbnMgfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVUIH0gZnJvbSAnLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBhZGRFZGl0b3JDb25maWcgfSBmcm9tICcuLi9jb21tb24vZWRpdG9yY29uZmlnJztcbmltcG9ydCB7IEVudmlyb25tZW50T3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9lbnZpcm9ubWVudC1vcHRpb25zJztcbmltcG9ydCB7IGFwcGx5SW50ZXJuYWxBY3Rpb25PdmVycmlkZXMgfSBmcm9tICcuLi9jb21tb24vaW50ZXJuYWwtYWN0aW9ucyc7XG5pbXBvcnQgeyBhZGRMaWNlbnNlRmlsZSB9IGZyb20gJy4uL2NvbW1vbi9saWNlbnNlLWZpbGUnO1xuaW1wb3J0IHsgTWFudWFsRGVwbG95V29ya2Zsb3cgfSBmcm9tICcuLi9jb21tb24vbWFudWFsLWRlcGxveS13b3JrZmxvdyc7XG5pbXBvcnQgeyBQcm9qZW5EcmlmdENoZWNrV29ya2Zsb3cgfSBmcm9tICcuLi9jb21tb24vcHJvamVuLWRyaWZ0LWNoZWNrLXdvcmtmbG93JztcbmltcG9ydCB7IFdvcmtmbG93Q2hhbmdlTm90aWNlV29ya2Zsb3cgfSBmcm9tICcuLi9jb21tb24vd29ya2Zsb3ctY2hhbmdlLW5vdGljZS13b3JrZmxvdyc7XG5pbXBvcnQgeyBub3RlV29ya2Zsb3dQdXJwb3NlIH0gZnJvbSAnLi4vY29tbW9uL3dvcmtmbG93LXB1cnBvc2UnO1xuXG4vLyBSZXNvbHZlZCB0aHJvdWdoIE5vZGUncyBub3JtYWwgbW9kdWxlIHJlc29sdXRpb24sIHNvIGluIGEgKnB1Ymxpc2hlZCpcbi8vIHBhY2thZ2UgdGhpcyBpcyB0aGUgdmVyc2lvbiBvZiB0aGlzIHBhY2thZ2UgdGhhdCBzY2FmZm9sZGVkIHRoZSByZXBvIChzYW1lXG4vLyB0cmljayBhcyBgR2l0SHViQWN0aW9uUHJvamVjdGApLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmNvbnN0IFBST0pFTl9UWVBFU19WRVJTSU9OOiBzdHJpbmcgPSByZXF1aXJlKCcuLi8uLi9wYWNrYWdlLmpzb24nKS52ZXJzaW9uO1xuXG5leHBvcnQgaW50ZXJmYWNlIENka1R5cGVzY3JpcHRQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENvbW1vbkNka09wdGlvbnMge1xuICByZWFkb25seSBlbnZpcm9ubWVudHM/OiAoc3RyaW5nIHwgRW52aXJvbm1lbnRPcHRpb25zKVtdO1xufVxuXG4vKipcbiAqIFNoYXJlZCBDREsgKyBUeXBlU2NyaXB0IGZvdW5kYXRpb24gZm9yIGBDZGtJbmZyYVByb2plY3RgIGFuZFxuICogYENka0FwcFByb2plY3RgOiBzdGFuZGFyZCBhcHAgc3RydWN0dXJlICh2aWEgYEF3c0Nka1R5cGVTY3JpcHRBcHBgLFxuICogYGNkay5qc29uYCwgYGNkayBzeW50aGAvYGNkayBkaWZmYCB0YXNrcyksIGEgUFItY2hlY2sgYnVpbGQgdGhhdCBoYXJkLWZhaWxzXG4gKiBvbiBwcm9qZW4gZHJpZnQgKHJhdGhlciB0aGFuIHNlbGYtbXV0YXRpbmcpLCBhbmQgYW4gb3B0aW9uYWxcbiAqIGBNYW51YWxEZXBsb3lXb3JrZmxvd2Agd2hlbiBgZW52aXJvbm1lbnRzYCBpcyBwcm92aWRlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIENka1R5cGVzY3JpcHRQcm9qZWN0IGV4dGVuZHMgYXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHAge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBDZGtUeXBlc2NyaXB0UHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAvLyBTcHJlYWQgZmlyc3QsIG92ZXJyaWRlcyBhZnRlcjogZm9yd2FyZGluZyB0aGUgY2FsbGVyJ3Mgb3B0aW9ucyBpc1xuICAgICAgLy8gd2hhdCBsZXRzIGBwcm9qZW4gbmV3IC0tZnJvbSBAeHBlcnRzcy9wcm9qZW4tdHlwZXMgY2RrX2luZnJhYCB3b3JrXG4gICAgICAvLyAtIHByb2plbiBzbXVnZ2xlcyBpdHMgYm9vdHN0cmFwIG1hcmtlciAoYF9fbmV3X19gKSB0aHJvdWdoIHRoZVxuICAgICAgLy8gb3B0aW9ucyBvYmplY3QsIGFuZCBpdCBpcyB0aGF0IG1hcmtlciB3aGljaCBtYWtlcyB0aGVcbiAgICAgIC8vIGBQcm9qZW5yY0ZpbGVgIGNvbXBvbmVudCB3cml0ZSB0aGUgaW5pdGlhbCBgLnByb2plbnJjLnRzYC4gRHJvcCBpdFxuICAgICAgLy8gYW5kIGBwcm9qZW4gbmV3YCBzY2FmZm9sZHMgYSByZXBvIHdpdGggbm8gcHJvamVucmMgYXQgYWxsLlxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGNka1ZlcnNpb246IG9wdGlvbnMuY2RrVmVyc2lvbiA/PyAnMi4xODkuMScsXG4gICAgICAvLyBXZSB3cml0ZSBMSUNFTlNFIG91cnNlbHZlcyAod2l0aCBhIGh1bWFuLXJlYWRhYmxlIGhlYWRlcik7XG4gICAgICAvLyBzdXBwcmVzcyBwcm9qZW4ncyBidWlsdC1pbiBMaWNlbnNlIGNvbXBvbmVudC5cbiAgICAgIGxpY2Vuc2VkOiBmYWxzZSxcbiAgICAgIGRlZmF1bHRSZWxlYXNlQnJhbmNoOiAnbWFpbicsXG4gICAgICBzYW1wbGVDb2RlOiB0cnVlLFxuICAgICAgLy8gUFIgdGl0bGVzIGFyZSBub3QgZ2F0ZWQ6IGBmZWF0OmAvYGZpeDpgIG1hdHRlciBvbmx5IGJlY2F1c2UgdGhleSBkcml2ZVxuICAgICAgLy8gdGhlIHJlbGVhc2Ugd29ya2Zsb3cgKHZpYSBgcmVsZWFzYWJsZUNvbW1pdHNgKSwgbm90IFBSIGNoZWNrcy4gVGhlXG4gICAgICAvLyBjb252ZW50aW9uYWwtY29tbWl0IFBSLXRpdGxlIGxpbnQgaXMgYWRkZWQgYnkgdGhlIGBHaXRIdWJgIGNvbXBvbmVudFxuICAgICAgLy8gdW5sZXNzIGBnaXRodWJPcHRpb25zLnB1bGxSZXF1ZXN0TGludGAgaXMgYGZhbHNlYCAoaXQgZGVmYXVsdHMgdHJ1ZSkuXG4gICAgICBnaXRodWJPcHRpb25zOiB7IHB1bGxSZXF1ZXN0TGludDogZmFsc2UgfSxcbiAgICAgIC8vIEdlbmVyYXRlZCByZXBvcyBhcmUgY29uZmlndXJlZCB0aHJvdWdoIGAucHJvamVucmMudHNgOyB3aXRob3V0IHRoaXNcbiAgICAgIC8vIGBUeXBlU2NyaXB0UHJvamVjdGAgZGVmYXVsdHMgdG8gYHByb2plbnJjVHM6IGZhbHNlYCBhbmQgd2lyZXMgdGhlXG4gICAgICAvLyBkZWZhdWx0IHRhc2sgdG8gYG5vZGUgLnByb2plbnJjLmpzYC5cbiAgICAgIHByb2plbnJjVHM6IHRydWUsXG4gICAgICAvLyBQaW5uZWQsIG5vdCBgVHlwZVNjcmlwdFByb2plY3RgJ3MgZGVmYXVsdCBgKmA6IGB0eXBlc2NyaXB0QDdgIG5vXG4gICAgICAvLyBsb25nZXIgZXhwb3NlcyBgdHMuc3lzYCBmcm9tIGl0cyBKUyBBUEksIHdoaWNoIGJyZWFrcyB0aGUgYHRzLW5vZGVgXG4gICAgICAvLyB0aGF0IGBwcm9qZW5yY1RzYCB3aXJlcyB0aGUgZGVmYXVsdCB0YXNrIHRvIChBRC0wMDEgd2FudHMgdGhlIHBpblxuICAgICAgLy8gcmVnYXJkbGVzcykuXG4gICAgICB0eXBlc2NyaXB0VmVyc2lvbjogJ342LjAuMycsXG4gICAgICAvLyBEZWNsYXJlZCBmbG9vciBmb3IgdGhlIGdlbmVyYXRlZCByZXBvLiBBbHNvIHJlcXVpcmVkIGJ5IHRoZSBwaW5cbiAgICAgIC8vIGFib3ZlOiB3aXRoIG5vIGBtaW5Ob2RlVmVyc2lvbmAsIHByb2plbiBkZXJpdmVzIGBAdHlwZXMvbm9kZWAgZnJvbVxuICAgICAgLy8gdGhlIFR5cGVTY3JpcHQgdmVyc2lvbiBpbnN0ZWFkLCBhbmQgdGhlIGBAdHlwZXMvbm9kZUB0czYuMGBcbiAgICAgIC8vIGRpc3QtdGFnIGl0IGFza3MgZm9yIGRvZXMgbm90IGV4aXN0IC0gYG5wbSBpbnN0YWxsYCBmYWlscyBvdXRyaWdodC5cbiAgICAgIG1pbk5vZGVWZXJzaW9uOiAnMjIuMC4wJyxcbiAgICAgIC8vIFdpdGhvdXQgdGhpcyBwcm9qZW4gZGVmYXVsdHMgdG8geWFybiBjbGFzc2ljIGFuZCB0aGUgZ2VuZXJhdGVkIHJlcG8nc1xuICAgICAgLy8gb3duIGluc3RhbGwgc3RlcCBydW5zIGB5YXJuIGluc3RhbGwgLS1jaGVjay1maWxlc2AsIHdoaWxlIGV2ZXJ5XG4gICAgICAvLyB3b3JrZmxvdyB0aGlzIHBhY2thZ2UgZ2VuZXJhdGVzIC0gYW5kIHRoZSBSRUFETUUgLSB1c2UgbnBtLlxuICAgICAgcGFja2FnZU1hbmFnZXI6IGphdmFzY3JpcHQuTm9kZVBhY2thZ2VNYW5hZ2VyLk5QTSxcbiAgICAgIC8vIEZhaWwgUFIgY2hlY2tzIG9uIGRyaWZ0IGluc3RlYWQgb2YgYXV0by1jb21taXR0aW5nIHByb2plbidzIG91dHB1dC5cbiAgICAgIGJ1aWxkV29ya2Zsb3dPcHRpb25zOiB7IG11dGFibGVCdWlsZDogZmFsc2UgfSxcbiAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHMuZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oe1xuICAgICAgICBzZWNyZXQ6IG9wdGlvbnMuZ2hlVG9rZW5TZWNyZXQgPz8gREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVULFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICAvLyBgLnByb2plbnJjLnRzYCBpbXBvcnRzIHRoaXMgcGFja2FnZSwgc28gdGhlIGdlbmVyYXRlZCByZXBvIGhhcyB0b1xuICAgIC8vIGRlY2xhcmUgaXQ6IHByb2plbiBwcnVuZXMgYW55IGRlcGVuZGVuY3kgb2YgYSBgTm9kZVByb2plY3RgIHRoYXQgdGhlXG4gICAgLy8gcHJvamVucmMgZG9lcyBub3QgYXNrIGZvciAoXCJSZW1vdmluZyB1bm1hbmFnZWQgZGVwZW5kZW5jaWVzLi4uXCIpLCB3aGljaFxuICAgIC8vIHdvdWxkIGxlYXZlIGEgcmVwbyB3aG9zZSBgbnB4IHByb2plbmAgY2Fubm90IHJlc29sdmUgaXRzIG93biBwcm9qZWN0XG4gICAgLy8gdHlwZSBhZnRlciBhIGNsZWFuIGBucG0gY2lgLlxuICAgIHRoaXMuYWRkRGV2RGVwcyhgQHhwZXJ0c3MvcHJvamVuLXR5cGVzQCR7UFJPSkVOX1RZUEVTX1ZFUlNJT059YCk7XG4gICAgdGhpcy5hZGREZXZEZXBzKCdlc2J1aWxkJyk7XG5cbiAgICAvLyBKZXRCcmFpbnMgSURFIHN0YXRlICguaWRlYS8pIGlzIG5ldmVyIHRyYWNrZWQgaW4gZ2VuZXJhdGVkIHJlcG9zLCBhbmRcbiAgICAvLyBuZWl0aGVyIGlzIC9zcGVjLyAobG9jYWwgcGxhbnMgYW5kIHNwZWNzOyB0aGUgcGF0dGVybiBjb3ZlcnMgZXZlcnlcbiAgICAvLyBzdWJkaXJlY3RvcnkpLlxuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcvLmlkZWEvKicpO1xuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcvc3BlYy8nKTtcblxuICAgIGlmIChvcHRpb25zLmVkaXRvcmNvbmZpZyA/PyB0cnVlKSB7XG4gICAgICBhZGRFZGl0b3JDb25maWcodGhpcyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMubGljZW5zZWQgPz8gdHJ1ZSkge1xuICAgICAgYWRkTGljZW5zZUZpbGUodGhpcywge1xuICAgICAgICBzcGR4OiBvcHRpb25zLmxpY2Vuc2UgPz8gJ01JVCcsXG4gICAgICAgIGNvcHlyaWdodE93bmVyOiBvcHRpb25zLmNvcHlyaWdodE93bmVyID8/ICdYcGVydCBTb2Z0d2FyZScsXG4gICAgICAgIGNvcHlyaWdodFBlcmlvZDogb3B0aW9ucy5jb3B5cmlnaHRQZXJpb2QsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBnaCA9IHRoaXMuZ2l0aHViO1xuICAgIGlmICghZ2gpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0Nka1R5cGVzY3JpcHRQcm9qZWN0IHJlcXVpcmVzIEdpdEh1YiBpbnRlZ3JhdGlvbiB0byBiZSBlbmFibGVkJyxcbiAgICAgICk7XG4gICAgfVxuICAgIGFwcGx5SW50ZXJuYWxBY3Rpb25PdmVycmlkZXMoZ2gpO1xuXG4gICAgbmV3IFByb2plbkRyaWZ0Q2hlY2tXb3JrZmxvdyh0aGlzLCB7XG4gICAgICBnaGVUb2tlblNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgfSk7XG4gICAgbmV3IFdvcmtmbG93Q2hhbmdlTm90aWNlV29ya2Zsb3codGhpcyk7XG5cbiAgICAvLyBgYnVpbGRgIGlzIHByb2plbidzIGJ1aWx0LWluIE5vZGVQcm9qZWN0IHdvcmtmbG93IChlbmFibGVkIHZpYVxuICAgIC8vIGBidWlsZFdvcmtmbG93T3B0aW9uc2AgYWJvdmUpLCBub3Qgb25lIHRoaXMgcGFja2FnZSBjb25zdHJ1Y3RzIC1cbiAgICAvLyBhbm5vdGF0ZSBpdCB0aGUgc2FtZSB3YXkgYXMgdGhlIG90aGVycy5cbiAgICBpZiAodGhpcy5idWlsZFdvcmtmbG93KSB7XG4gICAgICBub3RlV29ya2Zsb3dQdXJwb3NlKFxuICAgICAgICB0aGlzLmJ1aWxkV29ya2Zsb3cud29ya2Zsb3cuZmlsZSxcbiAgICAgICAgJ1B1bGwtcmVxdWVzdCBidWlsZCBnYXRlOiBpbnN0YWxsIGRlcGVuZGVuY2llcywgc3ludGhlc2l6ZSB0aGUgQ0RLIGFwcCwgYW5kIHJ1biB1bml0IHRlc3RzLicsXG4gICAgICApO1xuICAgIH1cbiAgICAvLyBgZGVwc1VwZ3JhZGVgIGlzIHByb2plbidzIGJ1aWx0LWluIG5pZ2h0bHkgdXBncmFkZSB3b3JrZmxvdyAtIGFubm90YXRlXG4gICAgLy8gaXQgdGhlIHNhbWUgd2F5IChvbmUgd29ya2Zsb3cgcGVyIHJlbGVhc2UgYnJhbmNoKS5cbiAgICBpZiAodGhpcy51cGdyYWRlV29ya2Zsb3cpIHtcbiAgICAgIGZvciAoY29uc3Qgd29ya2Zsb3cgb2YgdGhpcy51cGdyYWRlV29ya2Zsb3cud29ya2Zsb3dzKSB7XG4gICAgICAgIG5vdGVXb3JrZmxvd1B1cnBvc2UoXG4gICAgICAgICAgd29ya2Zsb3cuZmlsZSxcbiAgICAgICAgICAnT3BlbiBhIG5pZ2h0bHkgZGVwZW5kZW5jeS11cGdyYWRlIHB1bGwgcmVxdWVzdC4nLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAob3B0aW9ucy5lbnZpcm9ubWVudHMgJiYgb3B0aW9ucy5lbnZpcm9ubWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgbmV3IE1hbnVhbERlcGxveVdvcmtmbG93KHRoaXMsIHtcbiAgICAgICAgZW52aXJvbm1lbnRzOiBvcHRpb25zLmVudmlyb25tZW50cyxcbiAgICAgICAgZGVwbG95U3RlcHM6IChlbnYpID0+IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnSW5zdGFsbCcsXG4gICAgICAgICAgICBydW46ICducG0gY2knLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogYGNkayBkZXBsb3kgKCR7ZW52Lm5hbWV9KWAsXG4gICAgICAgICAgICBydW46IGBucHggY2RrIGRlcGxveSAtLWFsbCAtLXJlcXVpcmUtYXBwcm92YWwgbmV2ZXIgLS1jb250ZXh0IGVudmlyb25tZW50PSR7ZW52Lm5hbWV9YCxcbiAgICAgICAgICAgIGVudjoge1xuICAgICAgICAgICAgICAuLi4oZW52LmFjY291bnRJZCA/IHsgQ0RLX0RFRkFVTFRfQUNDT1VOVDogZW52LmFjY291bnRJZCB9IDoge30pLFxuICAgICAgICAgICAgICAuLi4oZW52LnJlZ2lvbiA/IHsgQ0RLX0RFRkFVTFRfUkVHSU9OOiBlbnYucmVnaW9uIH0gOiB7fSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -10,7 +10,7 @@ const projen_1 = require("projen");
|
|
|
10
10
|
* built from this project's own source (app projects).
|
|
11
11
|
*/
|
|
12
12
|
class EcrEcsConstructs extends projen_1.Component {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.EcrEcsConstructs", version: "0.0.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.EcrEcsConstructs", version: "0.0.21" };
|
|
14
14
|
constructor(project, options = {}) {
|
|
15
15
|
super(project, 'EcrEcsConstructs');
|
|
16
16
|
const externalImageSource = options.externalImageSource ?? true;
|
|
@@ -42,7 +42,7 @@ const HELPERS = {
|
|
|
42
42
|
* to whichever `edgeResources` the consuming project type opts into.
|
|
43
43
|
*/
|
|
44
44
|
class EdgeNetworkingConstructs extends projen_1.Component {
|
|
45
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.EdgeNetworkingConstructs", version: "0.0.
|
|
45
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.EdgeNetworkingConstructs", version: "0.0.21" };
|
|
46
46
|
constructor(project, resources) {
|
|
47
47
|
super(project, 'EdgeNetworkingConstructs');
|
|
48
48
|
if (resources.length === 0) {
|
|
@@ -10,7 +10,7 @@ const projen_1 = require("projen");
|
|
|
10
10
|
* the consuming team to wire up; no opinionated default is imposed.
|
|
11
11
|
*/
|
|
12
12
|
class DatabaseComponent extends projen_1.Component {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.DatabaseComponent", version: "0.0.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.DatabaseComponent", version: "0.0.21" };
|
|
14
14
|
constructor(project, options = {}) {
|
|
15
15
|
super(project, 'DatabaseComponent');
|
|
16
16
|
const engine = options.engine ?? 'postgres';
|
package/lib/cdk/options.d.ts
CHANGED
|
@@ -17,6 +17,26 @@ export interface CommonCdkOptions {
|
|
|
17
17
|
readonly cdkVersion?: string;
|
|
18
18
|
/** @default "PROJEN_GITHUB_TOKEN" */
|
|
19
19
|
readonly gheTokenSecret?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Write a `LICENSE`.
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
readonly licensed?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* SPDX identifier for the generated `LICENSE`.
|
|
27
|
+
* @default "MIT"
|
|
28
|
+
*/
|
|
29
|
+
readonly license?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Copyright owner named in the `LICENSE`.
|
|
32
|
+
* @default "Xpert Software"
|
|
33
|
+
*/
|
|
34
|
+
readonly copyrightOwner?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Copyright period named in the `LICENSE`.
|
|
37
|
+
* @default - the current year
|
|
38
|
+
*/
|
|
39
|
+
readonly copyrightPeriod?: string;
|
|
20
40
|
/**
|
|
21
41
|
* Write a projen-managed `.editorconfig`.
|
|
22
42
|
* @default true
|
package/lib/cdk/options.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jZGsvb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRPcHRpb25zIH0gZnJvbSAnLi4vY29tbW9uL2Vudmlyb25tZW50LW9wdGlvbnMnO1xuXG5leHBvcnQgdHlwZSBFZGdlUmVzb3VyY2UgPVxuICB8ICdjbG91ZGZyb250J1xuICB8ICdyb3V0ZTUzJ1xuICB8ICdhcGlnYXRld2F5J1xuICB8ICdjb2duaXRvJ1xuICB8ICdzcXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVjckVjc09wdGlvbnMge1xuICAvKiogQGRlZmF1bHQgZmFsc2UgKi9cbiAgcmVhZG9ubHkgZW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIEVDUyBzZXJ2aWNlIHN0YW5kcyB1cCBhbiBleHRlcm5hbGx5LWJ1aWx0IGltYWdlIChpbmZyYS1vbmx5KVxuICAgKiByYXRoZXIgdGhhbiBvbmUgYnVpbHQgZnJvbSB0aGlzIHByb2plY3QncyBvd24gc291cmNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBleHRlcm5hbEltYWdlU291cmNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25DZGtPcHRpb25zIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKiBAZGVmYXVsdCBcIjIuMTg5LjFcIiAqL1xuICByZWFkb25seSBjZGtWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBAZGVmYXVsdCBcIlBST0pFTl9HSVRIVUJfVE9LRU5cIiAqL1xuICByZWFkb25seSBnaGVUb2tlblNlY3JldD86IHN0cmluZztcblxuICAvKipcbiAgICogV3JpdGUgYSBgTElDRU5TRWAuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2VkPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogU1BEWCBpZGVudGlmaWVyIGZvciB0aGUgZ2VuZXJhdGVkIGBMSUNFTlNFYC5cbiAgICogQGRlZmF1bHQgXCJNSVRcIlxuICAgKi9cbiAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcblxuICAvKipcbiAgICogQ29weXJpZ2h0IG93bmVyIG5hbWVkIGluIHRoZSBgTElDRU5TRWAuXG4gICAqIEBkZWZhdWx0IFwiWHBlcnQgU29mdHdhcmVcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0T3duZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHlyaWdodCBwZXJpb2QgbmFtZWQgaW4gdGhlIGBMSUNFTlNFYC5cbiAgICogQGRlZmF1bHQgLSB0aGUgY3VycmVudCB5ZWFyXG4gICAqL1xuICByZWFkb25seSBjb3B5cmlnaHRQZXJpb2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdyaXRlIGEgcHJvamVuLW1hbmFnZWQgYC5lZGl0b3Jjb25maWdgLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBlZGl0b3Jjb25maWc/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka0luZnJhUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25DZGtPcHRpb25zIHtcbiAgLyoqXG4gICAqIERlcGxveSB0YXJnZXRzIGZvciB0aGUgbWFudWFsLWRpc3BhdGNoIGRlcGxveSB3b3JrZmxvdywgZS5nLlxuICAgKiBbXCJkZXZcIiwgXCJzdGFnZVwiLCBcInByb2RcIl0uIE5vIGBkZXBsb3lgIHdvcmtmbG93IGlzIGdlbmVyYXRlZCB3aGVuIHRoaXMgaXNcbiAgICogZW1wdHkgb3Igb21pdHRlZC5cbiAgICpcbiAgICogT3B0aW9uYWwgcmF0aGVyIHRoYW4gcmVxdWlyZWQgc28gdGhhdCBgcHJvamVuIG5ldyAtLWZyb21gIGNhbiBzY2FmZm9sZFxuICAgKiB0aGUgcmVwbzogaXRzIHVuaW9uIHR5cGUgKGBzdHJpbmcgfCBFbnZpcm9ubWVudE9wdGlvbnNgKSBpcyBub3RcbiAgICogXCJKU09OLWxpa2VcIiwgc28gcHJvamVuJ3MgQ0xJIGNhbm5vdCByZW5kZXIgYSB2YWx1ZSBmb3IgaXQgaW50byB0aGVcbiAgICogaW5pdGlhbCBgLnByb2plbnJjLnRzYCAtIGFuZCBhICpyZXF1aXJlZCogb3B0aW9uIGl0IGNhbm5vdCByZW5kZXIgbGVhdmVzXG4gICAqIGJlaGluZCBhIHByb2plbnJjIHRoYXQgZG9lcyBub3QgdHlwZS1jaGVjay5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBkZXBsb3kgd29ya2Zsb3dcbiAgICovXG4gIHJlYWRvbmx5IGVudmlyb25tZW50cz86IChzdHJpbmcgfCBFbnZpcm9ubWVudE9wdGlvbnMpW107XG5cbiAgcmVhZG9ubHkgZWNyRWNzPzogRWNyRWNzT3B0aW9ucztcblxuICByZWFkb25seSBlZGdlUmVzb3VyY2VzPzogRWRnZVJlc291cmNlW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VPcHRpb25zIHtcbiAgLyoqIEBkZWZhdWx0IFwicG9zdGdyZXNcIiAqL1xuICByZWFkb25seSBlbmdpbmU/OiAncG9zdGdyZXMnIHwgJ215c3FsJyB8ICdkeW5hbW9kYic7XG5cbiAgLyoqIE1pZ3JhdGlvbiB0b29sIHRvIHdpcmUgdXAsIGUuZy4gXCJmbHl3YXlcIiwgXCJsaXF1aWJhc2VcIiwgXCJwcmlzbWFcIi4gTGVmdCBwbHVnZ2FibGUgLSBubyBkZWZhdWx0LiAqL1xuICByZWFkb25seSBtaWdyYXRpb25Ub29sPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENka0FwcFByb2plY3RPcHRpb25zIGV4dGVuZHMgQ2RrSW5mcmFQcm9qZWN0T3B0aW9ucyB7XG4gIHJlYWRvbmx5IGRhdGFiYXNlPzogRGF0YWJhc2VPcHRpb25zO1xuXG4gIC8qKiBAZGVmYXVsdCBcInNyYy9hcHAudHNcIiAqL1xuICByZWFkb25seSBhcHBFbnRyeVBvaW50Pzogc3RyaW5nO1xufVxuIl19
|
|
@@ -6,7 +6,7 @@ const projen_1 = require("projen");
|
|
|
6
6
|
const ci_steps_1 = require("./ci-steps");
|
|
7
7
|
const workflow_purpose_1 = require("./workflow-purpose");
|
|
8
8
|
class ProjenDriftCheckWorkflow extends projen_1.Component {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.ProjenDriftCheckWorkflow", version: "0.0.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.ProjenDriftCheckWorkflow", version: "0.0.21" };
|
|
10
10
|
workflow;
|
|
11
11
|
constructor(scope, options = {}) {
|
|
12
12
|
super(scope, 'ProjenDriftCheckWorkflow');
|
|
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const projen_1 = require("projen");
|
|
6
6
|
const workflow_purpose_1 = require("./workflow-purpose");
|
|
7
7
|
class WorkflowChangeNoticeWorkflow extends projen_1.Component {
|
|
8
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.WorkflowChangeNoticeWorkflow", version: "0.0.
|
|
8
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.WorkflowChangeNoticeWorkflow", version: "0.0.21" };
|
|
9
9
|
workflow;
|
|
10
10
|
constructor(scope, options = {}) {
|
|
11
11
|
super(scope, 'WorkflowChangeNoticeWorkflow');
|
|
@@ -18,7 +18,7 @@ const manual_deploy_workflow_1 = require("../../common/manual-deploy-workflow");
|
|
|
18
18
|
* which is exactly when "this repo has no deploy target" needs saying.
|
|
19
19
|
*/
|
|
20
20
|
class CdkDeployHook extends projen_1.Component {
|
|
21
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CdkDeployHook", version: "0.0.
|
|
21
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CdkDeployHook", version: "0.0.21" };
|
|
22
22
|
constructor(project, environments, options = {}) {
|
|
23
23
|
super(project, 'CdkDeployHook');
|
|
24
24
|
const targetRepo = options.targetRepo;
|
|
@@ -6,7 +6,7 @@ const projen_1 = require("projen");
|
|
|
6
6
|
const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
7
7
|
/** Generates a code index and publishes it to `.cai/` on checkin. */
|
|
8
8
|
class CodeIndexWorkflow extends projen_1.Component {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CodeIndexWorkflow", version: "0.0.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CodeIndexWorkflow", version: "0.0.21" };
|
|
10
10
|
constructor(project) {
|
|
11
11
|
super(project, 'CodeIndexWorkflow');
|
|
12
12
|
const gh = project.github;
|
|
@@ -6,7 +6,7 @@ const projen_1 = require("projen");
|
|
|
6
6
|
const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
7
7
|
/** On-demand build+push of a Docker image, defaulting to Docker Hub. */
|
|
8
8
|
class DockerPublish extends projen_1.Component {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.DockerPublish", version: "0.0.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.DockerPublish", version: "0.0.21" };
|
|
10
10
|
constructor(project, options = {}) {
|
|
11
11
|
super(project, 'DockerPublish');
|
|
12
12
|
const gh = project.github;
|
|
@@ -11,7 +11,7 @@ const java_versions_1 = require("../java-versions");
|
|
|
11
11
|
* plugin (which Boot's BOM does not manage) is pinned for the Java line.
|
|
12
12
|
*/
|
|
13
13
|
class FlywayMigration extends projen_1.Component {
|
|
14
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.FlywayMigration", version: "0.0.
|
|
14
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.FlywayMigration", version: "0.0.21" };
|
|
15
15
|
constructor(project) {
|
|
16
16
|
super(project, 'FlywayMigration');
|
|
17
17
|
project.addPlugin(`${java_versions_1.FLYWAY_MAVEN_PLUGIN}@${project.pinnedVersion(java_versions_1.FLYWAY_MAVEN_PLUGIN)}`);
|
|
@@ -6,7 +6,7 @@ const projen_1 = require("projen");
|
|
|
6
6
|
const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
7
7
|
/** On-demand publish to GitHub Packages. */
|
|
8
8
|
class GitHubPackagesPublish extends projen_1.Component {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.GitHubPackagesPublish", version: "0.0.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.GitHubPackagesPublish", version: "0.0.21" };
|
|
10
10
|
constructor(project, options = {}) {
|
|
11
11
|
super(project, 'GitHubPackagesPublish');
|
|
12
12
|
const gh = project.github;
|
|
@@ -9,7 +9,7 @@ const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
|
9
9
|
* or OIDC trusted publishing.
|
|
10
10
|
*/
|
|
11
11
|
class MavenCentralPublish extends projen_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenCentralPublish", version: "0.0.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenCentralPublish", version: "0.0.21" };
|
|
13
13
|
constructor(project, options = {}) {
|
|
14
14
|
super(project, 'MavenCentralPublish');
|
|
15
15
|
const gh = project.github;
|
|
@@ -17,7 +17,7 @@ const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
|
17
17
|
* check. Apply an update by changing the version in `.projenrc.ts`.
|
|
18
18
|
*/
|
|
19
19
|
class MavenUpgradeReport extends projen_1.Component {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenUpgradeReport", version: "0.0.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenUpgradeReport", version: "0.0.21" };
|
|
21
21
|
workflow;
|
|
22
22
|
constructor(scope, options) {
|
|
23
23
|
super(scope, 'MavenUpgradeReport');
|
|
@@ -9,7 +9,7 @@ const java_maven_base_1 = require("./java-maven-base");
|
|
|
9
9
|
* explicitly excludes Maven Central, Docker, and CDK deploy hooks.
|
|
10
10
|
*/
|
|
11
11
|
class JavaAppProject extends java_maven_base_1.JavaMavenProject {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaAppProject", version: "0.0.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaAppProject", version: "0.0.21" };
|
|
13
13
|
constructor(options) {
|
|
14
14
|
super(options);
|
|
15
15
|
new github_packages_publish_1.GitHubPackagesPublish(this, {
|
|
@@ -12,7 +12,7 @@ const java_versions_1 = require("./java-versions");
|
|
|
12
12
|
* reactor, every module inherits them).
|
|
13
13
|
*/
|
|
14
14
|
class JavaLibraryProject extends java_maven_base_1.JavaMavenProject {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaLibraryProject", version: "0.0.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaLibraryProject", version: "0.0.21" };
|
|
16
16
|
constructor(options) {
|
|
17
17
|
super(options);
|
|
18
18
|
this.addPlugin(`${java_versions_1.MAVEN_SOURCE_PLUGIN}@${this.pinnedVersion(java_versions_1.MAVEN_SOURCE_PLUGIN)}`, {
|
|
@@ -44,7 +44,7 @@ const PROJEN_TYPES_VERSION = require('../../package.json').version;
|
|
|
44
44
|
* check, and a nightly report-only update check.
|
|
45
45
|
*/
|
|
46
46
|
class JavaMavenProject extends projen_1.github.GitHubProject {
|
|
47
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaMavenProject", version: "0.0.
|
|
47
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaMavenProject", version: "0.0.21" };
|
|
48
48
|
/** The root `pom.xml`. */
|
|
49
49
|
pom;
|
|
50
50
|
/** The canonical Java line the build targets (`1.8`, `17`, `21`, `25`). */
|
|
@@ -126,7 +126,7 @@ class JavaMavenProject extends projen_1.github.GitHubProject {
|
|
|
126
126
|
if (options.licensed ?? true) {
|
|
127
127
|
(0, license_file_1.addLicenseFile)(this, {
|
|
128
128
|
spdx: options.license ?? 'MIT',
|
|
129
|
-
copyrightOwner: options.copyrightOwner ?? '
|
|
129
|
+
copyrightOwner: options.copyrightOwner ?? 'Xpert Software',
|
|
130
130
|
copyrightPeriod: options.copyrightPeriod,
|
|
131
131
|
});
|
|
132
132
|
}
|
|
@@ -404,4 +404,4 @@ function normalizeModuleDir(dir) {
|
|
|
404
404
|
}
|
|
405
405
|
return normalized;
|
|
406
406
|
}
|
|
407
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1tYXZlbi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1tYXZlbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx5Q0FBa0M7QUFDbEMsbUNBQWlFO0FBQ2pFLDRFQUF1RTtBQUN2RSxtREFXeUI7QUFDekIsdURBQW1EO0FBQ25ELGlEQUFpRTtBQUVqRSxpREFBa0U7QUFDbEUsbURBQStEO0FBQy9ELHlEQUF5RDtBQUN6RCxpRUFBMEU7QUFDMUUseURBQXdEO0FBQ3hELHVGQUFpRjtBQUNqRix1REFBaUU7QUFDakUsK0ZBQXlGO0FBQ3pGLGlFQUFpRTtBQUVqRSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLHlEQUF5RDtBQUN6RCwwQkFBMEI7QUFDMUIsaUVBQWlFO0FBQ2pFLE1BQU0sY0FBYyxHQUFXLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN0RSxpRUFBaUU7QUFDakUsTUFBTSxvQkFBb0IsR0FBVyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxlQUFNLENBQUMsYUFBYTs7SUFDeEQsMEJBQTBCO0lBQ1YsR0FBRyxDQUFXO0lBRTlCLDJFQUEyRTtJQUMzRCxXQUFXLENBQVM7SUFFcEMseUVBQXlFO0lBQ3pELFdBQVcsQ0FBTztJQUVsQzs7OztPQUlHO0lBQ2EsbUJBQW1CLENBQXNCO0lBRXpEOzs7T0FHRztJQUNhLFlBQVksQ0FBNkI7SUFFeEMsUUFBUSxDQUFrQjtJQUMxQixhQUFhLENBQVU7SUFDdkIsT0FBTyxDQUFTO0lBQ2hCLE1BQU0sQ0FBVTtJQUNoQixZQUFZLEdBQWtCLEVBQUUsQ0FBQztJQUVsRCxZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQztZQUNKLG9FQUFvRTtZQUNwRSxzRUFBc0U7WUFDdEUsaUVBQWlFO1lB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RUFBRSxDQUFDLENBQUM7SUFDN0QsSUFBSSxVQUFVLEtBQUssR0FBRyxJQUFJLFVBQVUsS0FBSyxFQUFFLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNwRixNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsR0FBRyw0Q0FBNEMsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcG9zaXggfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgSnNvbkZpbGUsIFNhbXBsZURpciwgVGFzaywgZ2l0aHViLCBqYXZhIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IE1hdmVuVXBncmFkZVJlcG9ydCB9IGZyb20gJy4vY29tcG9uZW50cy9tYXZlbi11cGdyYWRlLXJlcG9ydCc7XG5pbXBvcnQge1xuICBERUZBVUxUX01JTl9NQVZFTl9WRVJTSU9OLFxuICBKVU5JVF9CT00sXG4gIEphdmFMaW5lUHJvZmlsZSxcbiAgTUFWRU5fQ09NUElMRVJfUExVR0lOLFxuICBNQVZFTl9FTkZPUkNFUl9QTFVHSU4sXG4gIE1BVkVOX0ZBSUxTQUZFX1BMVUdJTixcbiAgTUFWRU5fSkFSX1BMVUdJTixcbiAgTUFWRU5fU1VSRUZJUkVfUExVR0lOLFxuICBWRVJTSU9OU19NQVZFTl9QTFVHSU4sXG4gIHJlc29sdmVKYXZhTGluZSxcbn0gZnJvbSAnLi9qYXZhLXZlcnNpb25zJztcbmltcG9ydCB7IE1hdmVuTW9kdWxlIH0gZnJvbSAnLi9tYXZlbi9tYXZlbi1tb2R1bGUnO1xuaW1wb3J0IHsgTWF2ZW5Qb20sIGFzc2VydEV4YWN0VmVyc2lvbiB9IGZyb20gJy4vbWF2ZW4vbWF2ZW4tcG9tJztcbmltcG9ydCB7IEphdmFNYXZlblByb2plY3RPcHRpb25zLCBNYXZlbk1vZHVsZU9wdGlvbnMgfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgTlBNX0NJX1NURVAsIFNFVFVQX05PREVfU1RFUCB9IGZyb20gJy4uL2NvbW1vbi9jaS1zdGVwcyc7XG5pbXBvcnQgeyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQgfSBmcm9tICcuLi9jb21tb24vY29uc3RhbnRzJztcbmltcG9ydCB7IGFkZEVkaXRvckNvbmZpZyB9IGZyb20gJy4uL2NvbW1vbi9lZGl0b3Jjb25maWcnO1xuaW1wb3J0IHsgYXBwbHlJbnRlcm5hbEFjdGlvbk92ZXJyaWRlcyB9IGZyb20gJy4uL2NvbW1vbi9pbnRlcm5hbC1hY3Rpb25zJztcbmltcG9ydCB7IGFkZExpY2Vuc2VGaWxlIH0gZnJvbSAnLi4vY29tbW9uL2xpY2Vuc2UtZmlsZSc7XG5pbXBvcnQgeyBQcm9qZW5EcmlmdENoZWNrV29ya2Zsb3cgfSBmcm9tICcuLi9jb21tb24vcHJvamVuLWRyaWZ0LWNoZWNrLXdvcmtmbG93JztcbmltcG9ydCB7IGF0dGFjaFR5cGVTY3JpcHRQcm9qZW5yYyB9IGZyb20gJy4uL2NvbW1vbi9wcm9qZW5yYy10cyc7XG5pbXBvcnQgeyBXb3JrZmxvd0NoYW5nZU5vdGljZVdvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3dvcmtmbG93LWNoYW5nZS1ub3RpY2Utd29ya2Zsb3cnO1xuaW1wb3J0IHsgbm90ZVdvcmtmbG93UHVycG9zZSB9IGZyb20gJy4uL2NvbW1vbi93b3JrZmxvdy1wdXJwb3NlJztcblxuLy8gYHJlcXVpcmUoLi4uKWAgcmVzb2x2ZXMgdGhyb3VnaCBOb2RlJ3Mgbm9ybWFsIG1vZHVsZSByZXNvbHV0aW9uLCBzbyBpbiBhXG4vLyAqcHVibGlzaGVkKiBwYWNrYWdlIHRoZXNlIGFyZSB0aGUgdmVyc2lvbnMgaW5zdGFsbGVkIGluIHRoZSBjb25zdW1pbmdcbi8vIHJlcG8gLSBleGFjdGx5IHdoYXQgaXRzIHBhY2thZ2UuanNvbiBtdXN0IHBpbiAoc2FtZSBhc1xuLy8gYEdpdEh1YkFjdGlvblByb2plY3RgKS5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5jb25zdCBQUk9KRU5fVkVSU0lPTjogc3RyaW5nID0gcmVxdWlyZSgncHJvamVuL3BhY2thZ2UuanNvbicpLnZlcnNpb247XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlcXVpcmUtaW1wb3J0c1xuY29uc3QgUFJPSkVOX1RZUEVTX1ZFUlNJT046IHN0cmluZyA9IHJlcXVpcmUoJy4uLy4uL3BhY2thZ2UuanNvbicpLnZlcnNpb247XG5cbi8qKlxuICogQmFzZWxpbmUgTWF2ZW4gcHJvamVjdCwgc2luZ2xlLSBvciBtdWx0aS1tb2R1bGUsIHdpdGggbm8gZnJhbWV3b3JrXG4gKiBhc3N1bXB0aW9ucy4gSXQgaXMgdGhlIGJhc2Ugb2YgZXZlcnkgSmF2YSB0eXBlIGluIHRoaXMgcGFja2FnZSBhbmQgaXNcbiAqIHVzYWJsZSBvbiBpdHMgb3duIChgcHJvamVuIG5ldyAuLi4gamF2YV9tYXZlbmApLlxuICpcbiAqIC0gVGhlIHBvbSBpcyB3cml0dGVuIGJ5IHRoaXMgcGFja2FnZSAoYE1hdmVuUG9tYCksIG5vdCBwcm9qZW4nc1xuICogICBgamF2YS5Qb21gOiBleGFjdCB2ZXJzaW9ucyBvbmx5LCBCT00gaW1wb3J0cywgYDxtb2R1bGVzPmAsXG4gKiAgIGA8ZGVwZW5kZW5jeU1hbmFnZW1lbnQ+YCwgYDxwbHVnaW5NYW5hZ2VtZW50PmAuXG4gKiAtIEV2ZXJ5dGhpbmcgSmF2YS12ZXJzaW9uLWRlcGVuZGVudCAoY29tcGlsZXIgbGV2ZWwsIGVuZm9yY2VyIHJ1bGUsIEpVbml0XG4gKiAgIGxpbmUsIENJIEpESykgZm9sbG93cyBgamF2YVZlcnNpb25gLlxuICogLSBXaXRoIG5vIGBhZGRNb2R1bGUoKWAgY2FsbHMgdGhlIHJvb3QgcG9tIGlzIHRoZSBhcnRpZmFjdC4gQWZ0ZXIgdGhlXG4gKiAgIGZpcnN0IGBhZGRNb2R1bGUoKWAgaXQgaXMgYSBgcG9tYC1wYWNrYWdlZCByZWFjdG9yIHBhcmVudCBhbmQgdGhlXG4gKiAgIG1vZHVsZXMgaW5oZXJpdCBpdHMgcGx1Z2lucyBhbmQgdGVzdCBkZXBlbmRlbmNpZXMuXG4gKiAtIGBucHggcHJvamVuIGJ1aWxkYCBzeW50aGVzaXplcywgdGhlbiBydW5zIE1hdmVuIG9uY2U6IGBtdm4gLUIgdmVyaWZ5YFxuICogICAodW5pdCB0ZXN0cyB2aWEgc3VyZWZpcmUsIGAqSVRgIHRlc3RzIHZpYSBmYWlsc2FmZSkuXG4gKiAtIENJOiBhIFBSIGJ1aWxkICh3aXRoIGFuIG9wdGlvbmFsIFNvbmFyUXViZSBzY2FuKSwgdGhlIHByb2plbiBkcmlmdFxuICogICBjaGVjaywgYW5kIGEgbmlnaHRseSByZXBvcnQtb25seSB1cGRhdGUgY2hlY2suXG4gKi9cbmV4cG9ydCBjbGFzcyBKYXZhTWF2ZW5Qcm9qZWN0IGV4dGVuZHMgZ2l0aHViLkdpdEh1YlByb2plY3Qge1xuICAvKiogVGhlIHJvb3QgYHBvbS54bWxgLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcG9tOiBNYXZlblBvbTtcblxuICAvKiogVGhlIGNhbm9uaWNhbCBKYXZhIGxpbmUgdGhlIGJ1aWxkIHRhcmdldHMgKGAxLjhgLCBgMTdgLCBgMjFgLCBgMjVgKS4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGphdmFWZXJzaW9uOiBzdHJpbmc7XG5cbiAgLyoqIFByaW50cyBhdmFpbGFibGUgZGVwZW5kZW5jeS9wbHVnaW4gdXBkYXRlcyAoYG5weCBwcm9qZW4gdXBncmFkZWApLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXBncmFkZVRhc2s6IFRhc2s7XG5cbiAgLyoqXG4gICAqIFRoZSBQUiBidWlsZCB3b3JrZmxvdyAoYGJ1aWxkLnltbGApLiBBZGQgam9icyB0byBpdCB3aXRoXG4gICAqIGBidWlsZFZlcmlmeVdvcmtmbG93LmFkZEpvYihpZCwgam9iKWA7IHVzZSBgY2lTZXR1cFN0ZXBzYCBmb3IgYSBqb2IgdGhhdFxuICAgKiBuZWVkcyBOb2RlLCB0aGUgcHJvamVuIHRvb2xjaGFpbiwgYW5kIHRoZSBKREsuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYnVpbGRWZXJpZnlXb3JrZmxvdzogZ2l0aHViLlRhc2tXb3JrZmxvdztcblxuICAvKipcbiAgICogU3RlcHMgdGhhdCBpbnN0YWxsIE5vZGUgKHBpbm5lZCksIGBucG0gY2lgLCBhbmQgdGhlIHByb2plY3QncyBKREsgd2l0aCBhXG4gICAqIE1hdmVuIGNhY2hlIC0gdGhlIHNldHVwIGV2ZXJ5IE1hdmVuIENJIGpvYiBpbiB0aGlzIHJlcG8gbmVlZHMuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY2lTZXR1cFN0ZXBzOiBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGphdmFMaW5lOiBKYXZhTGluZVByb2ZpbGU7XG4gIHByaXZhdGUgcmVhZG9ubHkgcm9vdFBhY2thZ2luZz86IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBncm91cElkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgc2FtcGxlOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IG1hdmVuTW9kdWxlczogTWF2ZW5Nb2R1bGVbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEphdmFNYXZlblByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIoe1xuICAgICAgLy8gU3ByZWFkIGZpcnN0LCBvdmVycmlkZXMgYWZ0ZXI6IGZvcndhcmRpbmcgdGhlIGNhbGxlcidzIG9wdGlvbnMgaXNcbiAgICAgIC8vIHdoYXQgbGV0cyBgcHJvamVuIG5ldyAtLWZyb20gQHhwZXJ0c3MvcHJvamVuLXR5cGVzIGphdmFfbWF2ZW5gIHdvcmtcbiAgICAgIC8vIC0gcHJvamVuIHNtdWdnbGVzIGl0cyBib290c3RyYXAgbWFya2VyIChgX19uZXdfX2ApIHRocm91Z2ggdGhlXG4gICAgICAvLyBvcHRpb25zIG9iamVjdCwgYW5kIGl0IGlzIHRoYXQgbWFya2VyIHdoaWNoIG1ha2VzIHRoZVxuICAgICAgLy8gYFByb2plbnJjRmlsZWAgY29tcG9uZW50IHdyaXRlIHRoZSBpbml0aWFsIGAucHJvamVucmMudHNgLiBEcm9wIGl0XG4gICAgICAvLyBhbmQgYHByb2plbiBuZXdgIHNjYWZmb2xkcyBhIHJlcG8gd2l0aCBubyBwcm9qZW5yYyBhdCBhbGwuXG4gICAgICAuLi5zdHJpbmdpZnlQcm9qZW5OZXdBcmdzKG9wdGlvbnMpLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgLy8gUFIgdGl0bGVzIGFyZSBub3QgZ2F0ZWQ6IGBmZWF0OmAvYGZpeDpgIG1hdHRlciBvbmx5IGJlY2F1c2UgdGhleSBkcml2ZVxuICAgICAgLy8gdGhlIHJlbGVhc2Ugd29ya2Zsb3cgKHZpYSBgcmVsZWFzYWJsZUNvbW1pdHNgKSwgbm90IFBSIGNoZWNrcy4gVGhlXG4gICAgICAvLyBjb252ZW50aW9uYWwtY29tbWl0IFBSLXRpdGxlIGxpbnQgaXMgYWRkZWQgYnkgdGhlIGBHaXRIdWJgIGNvbXBvbmVudFxuICAgICAgLy8gdW5sZXNzIGBnaXRodWJPcHRpb25zLnB1bGxSZXF1ZXN0TGludGAgaXMgYGZhbHNlYCAoaXQgZGVmYXVsdHMgdHJ1ZSkuXG4gICAgICBnaXRodWJPcHRpb25zOiB7IHB1bGxSZXF1ZXN0TGludDogZmFsc2UgfSxcbiAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBnaXRodWIuR2l0aHViQ3JlZGVudGlhbHMuZnJvbVBlcnNvbmFsQWNjZXNzVG9rZW4oe1xuICAgICAgICBzZWNyZXQ6IG9wdGlvbnMuZ2hlVG9rZW5TZWNyZXQgPz8gREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVULFxuICAgICAgfSksXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IHZlcnNpb24gb2YgT2JqZWN0LnZhbHVlcyhvcHRpb25zLnBsdWdpblZlcnNpb25zID8/IHt9KSkge1xuICAgICAgYXNzZXJ0RXhhY3RWZXJzaW9uKHZlcnNpb24sICdwbHVnaW5WZXJzaW9ucycpO1xuICAgIH1cbiAgICB0aGlzLmphdmFMaW5lID0gcmVzb2x2ZUphdmFMaW5lKG9wdGlvbnMuamF2YVZlcnNpb24sIG9wdGlvbnMucGx1Z2luVmVyc2lvbnMpO1xuICAgIHRoaXMuamF2YVZlcnNpb24gPSB0aGlzLmphdmFMaW5lLmxpbmU7XG4gICAgdGhpcy5yb290UGFja2FnaW5nID0gb3B0aW9ucy5wYWNrYWdpbmc7XG4gICAgdGhpcy5ncm91cElkID0gb3B0aW9ucy5ncm91cElkO1xuICAgIHRoaXMuc2FtcGxlID0gb3B0aW9ucy5zYW1wbGUgPz8gZmFsc2U7XG5cbiAgICAvLyBgLnByb2plbnJjLnRzYCArIGBucHggcHJvamVuYCwgc2FtZSBhcyBldmVyeSBvdGhlciB0eXBlIGhlcmUuIFRoZVxuICAgIC8vIE1hdmVuIHJlcG8gbmVlZHMgbm8gVHlwZVNjcmlwdCB0b29sY2hhaW4gb2YgaXRzIG93biAtIHRoZSBydW5uZXIgaXNcbiAgICAvLyBmZXRjaGVkIChwaW5uZWQpIGJ5IG5weCBhdCBzeW50aCB0aW1lLlxuICAgIGF0dGFjaFR5cGVTY3JpcHRQcm9qZW5yYyh0aGlzKTtcblxuICAgIC8vIFRoZSBwcm9qZW4gdG9vbGNoYWluIGBucHggcHJvamVuYCBydW5zLCBwaW5uZWQgZXhhY3RseSBzbyBldmVyeVxuICAgIC8vIG1hY2hpbmUgYW5kIENJIHJlc29sdmUgdGhlIHNhbWUgZ2VuZXJhdG9yLiBPd25lci13cml0YWJsZSBvbiBkaXNrIHNvXG4gICAgLy8gdGhlIGRvY3VtZW50ZWQgdXBkYXRlIGZsb3cgKGBucG0gaSAtRCAtRSBAeHBlcnRzcy9wcm9qZW4tdHlwZXNAPHY+YClcbiAgICAvLyBjYW4gcmV3cml0ZSBpdDsgaGFuZC1lZGl0cyBhcmUgc3RpbGwgY2F1Z2h0IGJ5IHRoZSBkcmlmdCBjaGVjay5cbiAgICBuZXcgSnNvbkZpbGUodGhpcywgJ3BhY2thZ2UuanNvbicsIHtcbiAgICAgIG9iajoge1xuICAgICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAgIHZlcnNpb246ICcwLjAuMCcsXG4gICAgICAgIHByaXZhdGU6IHRydWUsXG4gICAgICAgIGRldkRlcGVuZGVuY2llczoge1xuICAgICAgICAgICdwcm9qZW4nOiBQUk9KRU5fVkVSU0lPTixcbiAgICAgICAgICAnQHhwZXJ0c3MvcHJvamVuLXR5cGVzJzogUFJPSkVOX1RZUEVTX1ZFUlNJT04sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVhZG9ubHk6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgLy8gSmV0QnJhaW5zIElERSBzdGF0ZSAoLmlkZWEvKSBpcyBuZXZlciB0cmFja2VkIGluIGdlbmVyYXRlZCByZXBvcywgYW5kXG4gICAgLy8gbmVpdGhlciBpcyAvc3BlYy8gKGxvY2FsIHBsYW5zIGFuZCBzcGVjczsgdGhlIHBhdHRlcm4gY292ZXJzIGV2ZXJ5XG4gICAgLy8gc3ViZGlyZWN0b3J5KS5cbiAgICB0aGlzLmFkZEdpdElnbm9yZSgnLy5pZGVhLyonKTtcbiAgICB0aGlzLmFkZEdpdElnbm9yZSgnL3NwZWMvJyk7XG4gICAgdGhpcy5hZGRHaXRJZ25vcmUoJ3RhcmdldC8nKTtcbiAgICB0aGlzLmFkZEdpdElnbm9yZSgnLmNsYXNzcGF0aCcpO1xuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcucHJvamVjdCcpO1xuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcuc2V0dGluZ3MnKTtcblxuICAgIGlmIChvcHRpb25zLmxpY2Vuc2VkID8/IHRydWUpIHtcbiAgICAgIGFkZExpY2Vuc2VGaWxlKHRoaXMsIHtcbiAgICAgICAgc3BkeDogb3B0aW9ucy5saWNlbnNlID8/ICdNSVQnLFxuICAgICAgICBjb3B5cmlnaHRPd25lcjogb3B0aW9ucy5jb3B5cmlnaHRPd25lciA/PyAneHBlcnRzcycsXG4gICAgICAgIGNvcHlyaWdodFBlcmlvZDogb3B0aW9ucy5jb3B5cmlnaHRQZXJpb2QsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZWRpdG9yY29uZmlnID8/IHRydWUpIHtcbiAgICAgIGFkZEVkaXRvckNvbmZpZyh0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLnBvbSA9IG5ldyBNYXZlblBvbSh0aGlzLCB7XG4gICAgICBncm91cElkOiBvcHRpb25zLmdyb3VwSWQsXG4gICAgICBhcnRpZmFjdElkOiBvcHRpb25zLmFydGlmYWN0SWQsXG4gICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gPz8gJzAuMS4wJyxcbiAgICAgIHBhY2thZ2luZzogdGhpcy5yb290UGFja2FnaW5nID8/ICdqYXInLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgIH0pO1xuICAgIHRoaXMuY29uZmlndXJlQnVpbGQob3B0aW9ucyk7XG5cbiAgICAvLyBPbmUgTWF2ZW4gcnVuIHBlciBidWlsZDogYHZlcmlmeWAgcnVucyBldmVyeSBlYXJsaWVyIHBoYXNlIChjb21waWxlLFxuICAgIC8vIHVuaXQgdGVzdHMsIHBhY2thZ2UpIHBsdXMgaW50ZWdyYXRpb24gdGVzdHMuIE5vdGhpbmcgZGVwbG95cy5cbiAgICB0aGlzLnRlc3RUYXNrLmV4ZWMoJ212biAtQiB2ZXJpZnknKTtcblxuICAgIGNvbnN0IGdoID0gdGhpcy5naXRodWI7XG4gICAgaWYgKCFnaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdKYXZhTWF2ZW5Qcm9qZWN0IHJlcXVpcmVzIEdpdEh1YiBpbnRlZ3JhdGlvbicpO1xuICAgIH1cbiAgICBhcHBseUludGVybmFsQWN0aW9uT3ZlcnJpZGVzKGdoKTtcblxuICAgIG5ldyBQcm9qZW5EcmlmdENoZWNrV29ya2Zsb3codGhpcywge1xuICAgICAgZ2hlVG9rZW5TZWNyZXQ6IG9wdGlvbnMuZ2hlVG9rZW5TZWNyZXQgPz8gREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVULFxuICAgIH0pO1xuICAgIG5ldyBXb3JrZmxvd0NoYW5nZU5vdGljZVdvcmtmbG93KHRoaXMpO1xuXG4gICAgdGhpcy5jaVNldHVwU3RlcHMgPSBbXG4gICAgICBTRVRVUF9OT0RFX1NURVAsXG4gICAgICBOUE1fQ0lfU1RFUCxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1NldHVwIEphdmEnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1qYXZhQHY2JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdkaXN0cmlidXRpb24nOiBvcHRpb25zLmphdmFEaXN0cmlidXRpb24gPz8gJ3RlbXVyaW4nLFxuICAgICAgICAgICdqYXZhLXZlcnNpb24nOiB0aGlzLmphdmFMaW5lLnNldHVwSmF2YVZlcnNpb24sXG4gICAgICAgICAgJ2NhY2hlJzogJ21hdmVuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHBvc3RCdWlsZFN0ZXBzOiBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXSA9IFtdO1xuICAgIGlmIChvcHRpb25zLnNvbmFyUHJvamVjdEtleSkge1xuICAgICAgcG9zdEJ1aWxkU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdTb25hclF1YmUgc2NhbicsXG4gICAgICAgIHJ1bjogYG12biAtQiBzb25hcjpzb25hciAtRHNvbmFyLnByb2plY3RLZXk9JHtvcHRpb25zLnNvbmFyUHJvamVjdEtleX1gLFxuICAgICAgICBlbnY6IHsgU09OQVJfVE9LRU46ICcke3sgc2VjcmV0cy5TT05BUl9UT0tFTiB9fScgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYnVpbGRWZXJpZnlXb3JrZmxvdyA9IG5ldyBnaXRodWIuVGFza1dvcmtmbG93KGdoLCB7XG4gICAgICBuYW1lOiAnYnVpbGQnLFxuICAgICAgam9iSWQ6ICdidWlsZCcsXG4gICAgICB0YXNrOiB0aGlzLmJ1aWxkVGFzayxcbiAgICAgIHRyaWdnZXJzOiB7IHB1bGxSZXF1ZXN0OiB7fSwgd29ya2Zsb3dEaXNwYXRjaDoge30gfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7IGNvbnRlbnRzOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCB9LFxuICAgICAgcHJlQnVpbGRTdGVwczogdGhpcy5jaVNldHVwU3RlcHMsXG4gICAgICBwb3N0QnVpbGRTdGVwcyxcbiAgICB9KTtcbiAgICBub3RlV29ya2Zsb3dQdXJwb3NlKFxuICAgICAgdGhpcy5idWlsZFZlcmlmeVdvcmtmbG93LmZpbGUsXG4gICAgICAnQnVpbGQgYW5kIHRlc3QgdGhlIE1hdmVuIHByb2plY3Qgb24gcHVsbCByZXF1ZXN0cywgd2l0aCBhbiBvcHRpb25hbCBTb25hclF1YmUgc2Nhbi4nLFxuICAgICk7XG5cbiAgICBjb25zdCB2ZXJzaW9uc1BsdWdpbiA9IGBvcmcuY29kZWhhdXMubW9qbzp2ZXJzaW9ucy1tYXZlbi1wbHVnaW46JHt0aGlzLnBpbm5lZFZlcnNpb24oVkVSU0lPTlNfTUFWRU5fUExVR0lOKX1gO1xuICAgIHRoaXMudXBncmFkZVRhc2sgPSB0aGlzLmFkZFRhc2soJ3VwZ3JhZGUnLCB7XG4gICAgICBleGVjOiBgbXZuIC1CICR7dmVyc2lvbnNQbHVnaW59OmRpc3BsYXktZGVwZW5kZW5jeS11cGRhdGVzICR7dmVyc2lvbnNQbHVnaW59OmRpc3BsYXktcGx1Z2luLXVwZGF0ZXNgLFxuICAgIH0pO1xuICAgIGlmIChvcHRpb25zLnVwZ3JhZGVXb3JrZmxvdyA/PyB0cnVlKSB7XG4gICAgICBuZXcgTWF2ZW5VcGdyYWRlUmVwb3J0KHRoaXMsIHtcbiAgICAgICAgdGFzazogdGhpcy51cGdyYWRlVGFzayxcbiAgICAgICAgc2V0dXBTdGVwczogdGhpcy5jaVNldHVwU3RlcHMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogVGhlIG1vZHVsZXMgYWRkZWQgd2l0aCBgYWRkTW9kdWxlKClgLCBpbiBvcmRlci4gKi9cbiAgcHVibGljIGdldCBtb2R1bGVzKCk6IE1hdmVuTW9kdWxlW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5tYXZlbk1vZHVsZXNdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBNYXZlbiBtb2R1bGUgaW4gYGRpcmAgKHJlbGF0aXZlIHRvIHRoZSByZXBvIHJvb3Q7IG1heSBiZSBuZXN0ZWQsXG4gICAqIGUuZy4gYHRvb2xzL3N0dWItbW9kZWxgKSBhbmQgdHVybnMgdGhlIHJvb3QgcG9tIGludG8gdGhlIHJlYWN0b3IgcGFyZW50XG4gICAqIChgcGFja2FnaW5nPXBvbWAsIGA8bW9kdWxlcz5gIGluIHRoZSBvcmRlciBhZGRlZCkuIFRoZSBwYXJlbnQgbWFuYWdlc1xuICAgKiBldmVyeSBtb2R1bGUgYXQgYCR7cHJvamVjdC52ZXJzaW9ufWAsIHNvIG1vZHVsZXMgZGVwZW5kIG9uIGVhY2ggb3RoZXJcbiAgICogd2l0aCBgYWRkTW9kdWxlRGVwZW5kZW5jeSgpYCwgdmVyc2lvbmxlc3MuXG4gICAqL1xuICBwdWJsaWMgYWRkTW9kdWxlKG9wdGlvbnM6IE1hdmVuTW9kdWxlT3B0aW9ucyk6IE1hdmVuTW9kdWxlIHtcbiAgICBpZiAodGhpcy5yb290UGFja2FnaW5nICE9PSB1bmRlZmluZWQgJiYgdGhpcy5yb290UGFja2FnaW5nICE9PSAncG9tJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQSBtdWx0aS1tb2R1bGUgcHJvamVjdCdzIHJvb3QgcG9tIGlzIHBhY2thZ2VkIGFzIFwicG9tXCI7IHJlbW92ZSBwYWNrYWdpbmc6IFwiJHt0aGlzLnJvb3RQYWNrYWdpbmd9XCIuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRpciA9IG5vcm1hbGl6ZU1vZHVsZURpcihvcHRpb25zLmRpcik7XG4gICAgZm9yIChjb25zdCBtIG9mIHRoaXMubWF2ZW5Nb2R1bGVzKSB7XG4gICAgICBpZiAobS5hcnRpZmFjdElkID09PSBvcHRpb25zLmFydGlmYWN0SWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgbW9kdWxlIGFydGlmYWN0SWQgXCIke29wdGlvbnMuYXJ0aWZhY3RJZH1cIiAoZGlycyBcIiR7bS5kaXJ9XCIgYW5kIFwiJHtkaXJ9XCIpLmApO1xuICAgICAgfVxuICAgICAgaWYgKG0uZGlyID09PSBkaXIgfHwgZGlyLnN0YXJ0c1dpdGgoYCR7bS5kaXJ9L2ApIHx8IG0uZGlyLnN0YXJ0c1dpdGgoYCR7ZGlyfS9gKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkaXIgXCIke2Rpcn1cIiBvdmVybGFwcyBtb2R1bGUgZGlyIFwiJHttLmRpcn1cIjogbW9kdWxlIGRpcnMgbXVzdCBiZSBkaXN0aW5jdCBhbmQgbm90IG5lc3RlZC5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgTWF2ZW5Nb2R1bGUodGhpcywgdGhpcy5wb20sIHsgLi4ub3B0aW9ucywgZGlyIH0pO1xuICAgIHRoaXMubWF2ZW5Nb2R1bGVzLnB1c2gobW9kdWxlKTtcbiAgICB0aGlzLnBvbS5wYWNrYWdpbmcgPSAncG9tJztcbiAgICB0aGlzLnBvbS5tYW5hZ2VQbHVnaW5WZXJzaW9ucyA9IHRydWU7XG4gICAgdGhpcy5wb20uYWRkTW9kdWxlKGRpcik7XG4gICAgdGhpcy5wb20uYWRkTWFuYWdlZERlcGVuZGVuY3koYCR7dGhpcy5ncm91cElkfS8ke29wdGlvbnMuYXJ0aWZhY3RJZH1AXFwke3Byb2plY3QudmVyc2lvbn1gKTtcbiAgICByZXR1cm4gbW9kdWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgYSBCT00gaW50byB0aGUgcm9vdCBgPGRlcGVuZGVuY3lNYW5hZ2VtZW50PmAgKGB0eXBlPXBvbWAsXG4gICAqIGBzY29wZT1pbXBvcnRgKS5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgYGdyb3VwSWQvYXJ0aWZhY3RJZEB2ZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIGFkZEJvbShzcGVjOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBvbS5hZGRCb20oc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogUGlucyBhIHZlcnNpb24gaW4gdGhlIHJvb3QgYDxkZXBlbmRlbmN5TWFuYWdlbWVudD5gIHdpdGhvdXQgYWRkaW5nIHRoZVxuICAgKiBkZXBlbmRlbmN5LCBzbyBtb2R1bGVzIChvciB0aGUgcm9vdCkgY2FuIHVzZSBpdCB2ZXJzaW9ubGVzcy5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgYGdyb3VwSWQvYXJ0aWZhY3RJZEB2ZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIGFkZE1hbmFnZWREZXBlbmRlbmN5KHNwZWM6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucG9tLmFkZE1hbmFnZWREZXBlbmRlbmN5KHNwZWMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21waWxlLXNjb3BlIGRlcGVuZGVuY3kgdG8gdGhlIHJvb3QgcG9tLiBJbiBhIG11bHRpLW1vZHVsZVxuICAgKiBwcm9qZWN0IGV2ZXJ5IG1vZHVsZSBpbmhlcml0cyBpdDsgdXNlIGBNYXZlbk1vZHVsZS5hZGREZXBlbmRlbmN5YCBmb3JcbiAgICogb25lIG1vZHVsZS5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgYGdyb3VwSWQvYXJ0aWZhY3RJZFtAdmVyc2lvbl1gIC0gZXhhY3QgdmVyc2lvbiwgb3Igbm9uZSB3aGVuXG4gICAqIGEgQk9NIG1hbmFnZXMgaXRcbiAgICovXG4gIHB1YmxpYyBhZGREZXBlbmRlbmN5KHNwZWM6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucG9tLmFkZERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKiogQWRkcyBhIHRlc3Qtc2NvcGUgZGVwZW5kZW5jeSB0byB0aGUgcm9vdCBwb20gKGluaGVyaXRlZCBieSBldmVyeSBtb2R1bGUpLiAqL1xuICBwdWJsaWMgYWRkVGVzdERlcGVuZGVuY3koc3BlYzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wb20uYWRkVGVzdERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKiogQWRkcyBhIGJ1aWxkIHBsdWdpbiB0byB0aGUgcm9vdCBwb20gKGluaGVyaXRlZCBieSBldmVyeSBtb2R1bGUpLiAqL1xuICBwdWJsaWMgYWRkUGx1Z2luKHNwZWM6IHN0cmluZywgb3B0aW9uczogamF2YS5QbHVnaW5PcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnBvbS5hZGRQbHVnaW4oc3BlYywgb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcHJlU3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG4gICAgaWYgKHRoaXMuc2FtcGxlICYmIHRoaXMubWF2ZW5Nb2R1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGV4YWN0IHZlcnNpb24gdGhpcyBwcm9qZWN0IHVzZXMgZm9yIGEgYGdyb3VwSWQvYXJ0aWZhY3RJZGAgaXQgcGluc1xuICAgKiBieSBkZWZhdWx0OiB0aGUgYHBsdWdpblZlcnNpb25zYCBvdmVycmlkZSBpZiBzZXQsIG90aGVyd2lzZSB0aGVcbiAgICogZGVmYXVsdCBmb3IgYGphdmFWZXJzaW9uYC5cbiAgICovXG4gIHB1YmxpYyBwaW5uZWRWZXJzaW9uKGNvb3JkaW5hdGVzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLmphdmFMaW5lLnZlcnNpb25zW2Nvb3JkaW5hdGVzXTtcbiAgICBpZiAoIXZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gZGVmYXVsdCB2ZXJzaW9uIGZvciAke2Nvb3JkaW5hdGVzfS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5ld2VzdCBTcHJpbmcgQm9vdCBtYWpvciB2ZXJzaW9uIGBqYXZhVmVyc2lvbmAgc3VwcG9ydHMsIG9yXG4gICAqIHVuZGVmaW5lZCB3aGVuIHRoaXMgcGFja2FnZSBrbm93cyBvZiBubyBjYXAuXG4gICAqL1xuICBwcm90ZWN0ZWQgbWF4U3ByaW5nQm9vdE1ham9yKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuamF2YUxpbmUubWF4U3ByaW5nQm9vdE1ham9yO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVCdWlsZChvcHRpb25zOiBKYXZhTWF2ZW5Qcm9qZWN0T3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMucG9tLmFkZFByb3BlcnR5KCdwcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nJywgJ1VURi04Jyk7XG4gICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuamF2YUxpbmUuY29tcGlsZXJQcm9wZXJ0aWVzKSkge1xuICAgICAgdGhpcy5wb20uYWRkUHJvcGVydHkobmFtZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIEpVbml0J3MgdmVyc2lvbiBjb21lcyBmcm9tIGl0cyBCT00gKG9yIGZyb20gYSBmcmFtZXdvcmsgQk9NIHRoYXRcbiAgICAvLyBtYW5hZ2VzIGl0IC0gc2VlIEphdmFTcHJpbmdCb290UHJvamVjdCksIG5ldmVyIGZyb20gYSBkZXBlbmRlbmN5LlxuICAgIHRoaXMucG9tLmFkZEJvbShgJHtKVU5JVF9CT019QCR7dGhpcy5waW5uZWRWZXJzaW9uKEpVTklUX0JPTSl9YCk7XG4gICAgdGhpcy5wb20uYWRkVGVzdERlcGVuZGVuY3koJ29yZy5qdW5pdC5qdXBpdGVyL2p1bml0LWp1cGl0ZXInKTtcblxuICAgIHRoaXMuYWRkUGx1Z2luKGAke01BVkVOX0NPTVBJTEVSX1BMVUdJTn1AJHt0aGlzLnBpbm5lZFZlcnNpb24oTUFWRU5fQ09NUElMRVJfUExVR0lOKX1gKTtcbiAgICB0aGlzLmFkZFBsdWdpbihgJHtNQVZFTl9TVVJFRklSRV9QTFVHSU59QCR7dGhpcy5waW5uZWRWZXJzaW9uKE1BVkVOX1NVUkVGSVJFX1BMVUdJTil9YCk7XG4gICAgLy8gZmFpbHNhZmUgaGFzIG5vIGRlZmF1bHQgbGlmZWN5Y2xlIGJpbmRpbmc7IGJpbmQgaXQgc28gYCpJVGAgdGVzdHMgcnVuXG4gICAgLy8gaW4gYG12biB2ZXJpZnlgLlxuICAgIHRoaXMuYWRkUGx1Z2luKGAke01BVkVOX0ZBSUxTQUZFX1BMVUdJTn1AJHt0aGlzLnBpbm5lZFZlcnNpb24oTUFWRU5fRkFJTFNBRkVfUExVR0lOKX1gLCB7XG4gICAgICBleGVjdXRpb25zOiBbeyBpZDogJ2ludGVncmF0aW9uLXRlc3RzJywgZ29hbHM6IFsnaW50ZWdyYXRpb24tdGVzdCcsICd2ZXJpZnknXSB9XSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZFBsdWdpbihgJHtNQVZFTl9KQVJfUExVR0lOfUAke3RoaXMucGlubmVkVmVyc2lvbihNQVZFTl9KQVJfUExVR0lOKX1gLCB7XG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGFyY2hpdmU6IHtcbiAgICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgICAgYWRkRGVmYXVsdEltcGxlbWVudGF0aW9uRW50cmllczogdHJ1ZSxcbiAgICAgICAgICAgIGFkZERlZmF1bHRTcGVjaWZpY2F0aW9uRW50cmllczogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLmVuZm9yY2VyID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IG1pbk1hdmVuID0gb3B0aW9ucy5taW5NYXZlblZlcnNpb24gPz8gREVGQVVMVF9NSU5fTUFWRU5fVkVSU0lPTjtcbiAgICAgIGFzc2VydEV4YWN0VmVyc2lvbihtaW5NYXZlbiwgJ21pbk1hdmVuVmVyc2lvbicpO1xuICAgICAgdGhpcy5hZGRQbHVnaW4oYCR7TUFWRU5fRU5GT1JDRVJfUExVR0lOfUAke3RoaXMucGlubmVkVmVyc2lvbihNQVZFTl9FTkZPUkNFUl9QTFVHSU4pfWAsIHtcbiAgICAgICAgZXhlY3V0aW9uczogW3sgaWQ6ICdlbmZvcmNlLXZlcnNpb25zJywgZ29hbHM6IFsnZW5mb3JjZSddIH1dLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgcnVsZXM6IHtcbiAgICAgICAgICAgIHJlcXVpcmVNYXZlblZlcnNpb246IHsgdmVyc2lvbjogYFske21pbk1hdmVufSwpYCB9LFxuICAgICAgICAgICAgcmVxdWlyZUphdmFWZXJzaW9uOiB7IHZlcnNpb246IHRoaXMuamF2YUxpbmUuZW5mb3JjZXJKYXZhUmFuZ2UgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRTYW1wbGUoKTogdm9pZCB7XG4gICAgY29uc3QgcGtnID0gdGhpcy5ncm91cElkLnJlcGxhY2UoL1teQS1aYS16MC05Xy5dL2csICdfJyk7XG4gICAgY29uc3QgcGF0aCA9IHBrZy5zcGxpdCgnLicpO1xuICAgIG5ldyBTYW1wbGVEaXIodGhpcywgcG9zaXguam9pbignc3JjL21haW4vamF2YScsIC4uLnBhdGgpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICAnTWFpbi5qYXZhJzogW1xuICAgICAgICAgIGBwYWNrYWdlICR7cGtnfTtgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdwdWJsaWMgY2xhc3MgTWFpbiB7JyxcbiAgICAgICAgICAnICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsnLFxuICAgICAgICAgICcgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihcIkhlbGxvLCB3b3JsZCFcIik7JyxcbiAgICAgICAgICAnICAgIH0nLFxuICAgICAgICAgICd9JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCBwb3NpeC5qb2luKCdzcmMvdGVzdC9qYXZhJywgLi4ucGF0aCksIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgICdNYWluVGVzdC5qYXZhJzogW1xuICAgICAgICAgIGBwYWNrYWdlICR7cGtnfTtgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdpbXBvcnQgb3JnLmp1bml0Lmp1cGl0ZXIuYXBpLlRlc3Q7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnY2xhc3MgTWFpblRlc3QgeycsXG4gICAgICAgICAgJyAgICBAVGVzdCcsXG4gICAgICAgICAgJyAgICB2b2lkIHJ1bnMoKSB7JyxcbiAgICAgICAgICAnICAgICAgICBNYWluLm1haW4obmV3IFN0cmluZ1swXSk7JyxcbiAgICAgICAgICAnICAgIH0nLFxuICAgICAgICAgICd9JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBgcHJvamVuIG5ldyAuLi4gLS1qYXZhLXZlcnNpb24gMjFgIChvciBgMS44YCwgb3IgYC0tbWluLW1hdmVuLXZlcnNpb24gMy45YClcbiAqIHJlYWNoZXMgdGhlIG9wdGlvbnMgYXMgYSAqbnVtYmVyKjogeWFyZ3MgcGFyc2VzIG51bWVyaWMtbG9va2luZyBmbGFncywgYW5kXG4gKiBwcm9qZW4gcGFzc2VzIHN0cmluZy10eXBlZCBvcHRpb25zIHRocm91Z2ggdW5jaGFuZ2VkLiBUaGUgaW5pdGlhbFxuICogYC5wcm9qZW5yYy50c2AgaXMgcmVuZGVyZWQgZnJvbSB0aGUgc2FtZSBhcmdzLCBzbyBpdCB3b3VsZCByZWFkXG4gKiBgamF2YVZlcnNpb246IDIxYCBhbmQgZmFpbCB0byB0eXBlLWNoZWNrLiBObyBKYXZhIG9wdGlvbiBpcyBudW1iZXItdHlwZWQsXG4gKiBzbyBldmVyeSBudW1lcmljIGFyZyBpcyB0dXJuZWQgYmFjayBpbnRvIHRoZSBzdHJpbmcgdGhlIHVzZXIgdHlwZWQuIFRoaXNcbiAqIHJ1bnMgYmVmb3JlIHRoZSBQcm9qZWN0IGNvbnN0cnVjdG9yLCB3aGljaCBpcyB3aGVyZSBwcm9qZW4gY2FwdHVyZXMgdGhlXG4gKiBhcmdzIGl0IHJlbmRlcnMuIE9wdGlvbnMgZnJvbSBhIGhhbmQtd3JpdHRlbiBwcm9qZW5yYyBhcmUgbmV2ZXIgbnVtYmVyc1xuICogKHRoZXkgdHlwZS1jaGVjayBhcyBzdHJpbmdzKSBhbmQgYXJlIGxlZnQgYWxvbmUuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ2lmeVByb2plbk5ld0FyZ3M8VCBleHRlbmRzIG9iamVjdD4ob3B0aW9uczogVCk6IFQge1xuICBjb25zdCBtYXJrZXIgPSAob3B0aW9ucyBhcyBhbnkpLl9fbmV3X187XG4gIGlmICghbWFya2VyPy5hcmdzKSB7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbiAgZm9yIChjb25zdCB0YXJnZXQgb2YgW29wdGlvbnMgYXMgYW55LCBtYXJrZXIuYXJnc10pIHtcbiAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGFyZ2V0KSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgdGFyZ2V0W25hbWVdID0gU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZU1vZHVsZURpcihkaXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHVuaXggPSBkaXIucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICBpZiAodW5peC5zdGFydHNXaXRoKCcvJykgfHwgL15bQS1aYS16XTovLnRlc3QodW5peCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkaXIgXCIke2Rpcn1cIiBtdXN0IGJlIHJlbGF0aXZlIHRvIHRoZSByZXBvIHJvb3QuYCk7XG4gIH1cbiAgY29uc3Qgbm9ybWFsaXplZCA9IHBvc2l4Lm5vcm1hbGl6ZSh1bml4KS5yZXBsYWNlKC9cXC8rJC8sICcnKTtcbiAgaWYgKG5vcm1hbGl6ZWQgPT09ICcuJyB8fCBub3JtYWxpemVkID09PSAnJyB8fCBub3JtYWxpemVkLnNwbGl0KCcvJykuaW5jbHVkZXMoJy4uJykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkaXIgXCIke2Rpcn1cIiBtdXN0IGJlIGEgc3ViZGlyZWN0b3J5IG9mIHRoZSByZXBvIHJvb3QuYCk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG4iXX0=
|
|
407
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1tYXZlbi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1tYXZlbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSx5Q0FBa0M7QUFDbEMsbUNBQWlFO0FBQ2pFLDRFQUF1RTtBQUN2RSxtREFXeUI7QUFDekIsdURBQW1EO0FBQ25ELGlEQUFpRTtBQUVqRSxpREFBa0U7QUFDbEUsbURBQStEO0FBQy9ELHlEQUF5RDtBQUN6RCxpRUFBMEU7QUFDMUUseURBQXdEO0FBQ3hELHVGQUFpRjtBQUNqRix1REFBaUU7QUFDakUsK0ZBQXlGO0FBQ3pGLGlFQUFpRTtBQUVqRSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLHlEQUF5RDtBQUN6RCwwQkFBMEI7QUFDMUIsaUVBQWlFO0FBQ2pFLE1BQU0sY0FBYyxHQUFXLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQztBQUN0RSxpRUFBaUU7QUFDakUsTUFBTSxvQkFBb0IsR0FBVyxPQUFPLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFFM0U7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBaUJHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxlQUFNLENBQUMsYUFBYTs7SUFDeEQsMEJBQTBCO0lBQ1YsR0FBRyxDQUFXO0lBRTlCLDJFQUEyRTtJQUMzRCxXQUFXLENBQVM7SUFFcEMseUVBQXlFO0lBQ3pELFdBQVcsQ0FBTztJQUVsQzs7OztPQUlHO0lBQ2EsbUJBQW1CLENBQXNCO0lBRXpEOzs7T0FHRztJQUNhLFlBQVksQ0FBNkI7SUFFeEMsUUFBUSxDQUFrQjtJQUMxQixhQUFhLENBQVU7SUFDdkIsT0FBTyxDQUFTO0lBQ2hCLE1BQU0sQ0FBVTtJQUNoQixZQUFZLEdBQWtCLEVBQUUsQ0FBQztJQUVsRCxZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQztZQUNKLG9FQUFvRTtZQUNwRSxzRUFBc0U7WUFDdEUsaUVBQWlFO1lB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RSxFQUFFLENBQUMsQ0FBQztJQUM3RCxJQUFJLFVBQVUsS0FBSyxHQUFHLElBQUksVUFBVSxLQUFLLEVBQUUsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3BGLE1BQU0sSUFBSSxLQUFLLENBQUMsZUFBZSxHQUFHLDRDQUE0QyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwb3NpeCB9IGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBKc29uRmlsZSwgU2FtcGxlRGlyLCBUYXNrLCBnaXRodWIsIGphdmEgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgTWF2ZW5VcGdyYWRlUmVwb3J0IH0gZnJvbSAnLi9jb21wb25lbnRzL21hdmVuLXVwZ3JhZGUtcmVwb3J0JztcbmltcG9ydCB7XG4gIERFRkFVTFRfTUlOX01BVkVOX1ZFUlNJT04sXG4gIEpVTklUX0JPTSxcbiAgSmF2YUxpbmVQcm9maWxlLFxuICBNQVZFTl9DT01QSUxFUl9QTFVHSU4sXG4gIE1BVkVOX0VORk9SQ0VSX1BMVUdJTixcbiAgTUFWRU5fRkFJTFNBRkVfUExVR0lOLFxuICBNQVZFTl9KQVJfUExVR0lOLFxuICBNQVZFTl9TVVJFRklSRV9QTFVHSU4sXG4gIFZFUlNJT05TX01BVkVOX1BMVUdJTixcbiAgcmVzb2x2ZUphdmFMaW5lLFxufSBmcm9tICcuL2phdmEtdmVyc2lvbnMnO1xuaW1wb3J0IHsgTWF2ZW5Nb2R1bGUgfSBmcm9tICcuL21hdmVuL21hdmVuLW1vZHVsZSc7XG5pbXBvcnQgeyBNYXZlblBvbSwgYXNzZXJ0RXhhY3RWZXJzaW9uIH0gZnJvbSAnLi9tYXZlbi9tYXZlbi1wb20nO1xuaW1wb3J0IHsgSmF2YU1hdmVuUHJvamVjdE9wdGlvbnMsIE1hdmVuTW9kdWxlT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBOUE1fQ0lfU1RFUCwgU0VUVVBfTk9ERV9TVEVQIH0gZnJvbSAnLi4vY29tbW9uL2NpLXN0ZXBzJztcbmltcG9ydCB7IERFRkFVTFRfR0hFX1RPS0VOX1NFQ1JFVCB9IGZyb20gJy4uL2NvbW1vbi9jb25zdGFudHMnO1xuaW1wb3J0IHsgYWRkRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi4vY29tbW9uL2VkaXRvcmNvbmZpZyc7XG5pbXBvcnQgeyBhcHBseUludGVybmFsQWN0aW9uT3ZlcnJpZGVzIH0gZnJvbSAnLi4vY29tbW9uL2ludGVybmFsLWFjdGlvbnMnO1xuaW1wb3J0IHsgYWRkTGljZW5zZUZpbGUgfSBmcm9tICcuLi9jb21tb24vbGljZW5zZS1maWxlJztcbmltcG9ydCB7IFByb2plbkRyaWZ0Q2hlY2tXb3JrZmxvdyB9IGZyb20gJy4uL2NvbW1vbi9wcm9qZW4tZHJpZnQtY2hlY2std29ya2Zsb3cnO1xuaW1wb3J0IHsgYXR0YWNoVHlwZVNjcmlwdFByb2plbnJjIH0gZnJvbSAnLi4vY29tbW9uL3Byb2plbnJjLXRzJztcbmltcG9ydCB7IFdvcmtmbG93Q2hhbmdlTm90aWNlV29ya2Zsb3cgfSBmcm9tICcuLi9jb21tb24vd29ya2Zsb3ctY2hhbmdlLW5vdGljZS13b3JrZmxvdyc7XG5pbXBvcnQgeyBub3RlV29ya2Zsb3dQdXJwb3NlIH0gZnJvbSAnLi4vY29tbW9uL3dvcmtmbG93LXB1cnBvc2UnO1xuXG4vLyBgcmVxdWlyZSguLi4pYCByZXNvbHZlcyB0aHJvdWdoIE5vZGUncyBub3JtYWwgbW9kdWxlIHJlc29sdXRpb24sIHNvIGluIGFcbi8vICpwdWJsaXNoZWQqIHBhY2thZ2UgdGhlc2UgYXJlIHRoZSB2ZXJzaW9ucyBpbnN0YWxsZWQgaW4gdGhlIGNvbnN1bWluZ1xuLy8gcmVwbyAtIGV4YWN0bHkgd2hhdCBpdHMgcGFja2FnZS5qc29uIG11c3QgcGluIChzYW1lIGFzXG4vLyBgR2l0SHViQWN0aW9uUHJvamVjdGApLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmNvbnN0IFBST0pFTl9WRVJTSU9OOiBzdHJpbmcgPSByZXF1aXJlKCdwcm9qZW4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVxdWlyZS1pbXBvcnRzXG5jb25zdCBQUk9KRU5fVFlQRVNfVkVSU0lPTjogc3RyaW5nID0gcmVxdWlyZSgnLi4vLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuLyoqXG4gKiBCYXNlbGluZSBNYXZlbiBwcm9qZWN0LCBzaW5nbGUtIG9yIG11bHRpLW1vZHVsZSwgd2l0aCBubyBmcmFtZXdvcmtcbiAqIGFzc3VtcHRpb25zLiBJdCBpcyB0aGUgYmFzZSBvZiBldmVyeSBKYXZhIHR5cGUgaW4gdGhpcyBwYWNrYWdlIGFuZCBpc1xuICogdXNhYmxlIG9uIGl0cyBvd24gKGBwcm9qZW4gbmV3IC4uLiBqYXZhX21hdmVuYCkuXG4gKlxuICogLSBUaGUgcG9tIGlzIHdyaXR0ZW4gYnkgdGhpcyBwYWNrYWdlIChgTWF2ZW5Qb21gKSwgbm90IHByb2plbidzXG4gKiAgIGBqYXZhLlBvbWA6IGV4YWN0IHZlcnNpb25zIG9ubHksIEJPTSBpbXBvcnRzLCBgPG1vZHVsZXM+YCxcbiAqICAgYDxkZXBlbmRlbmN5TWFuYWdlbWVudD5gLCBgPHBsdWdpbk1hbmFnZW1lbnQ+YC5cbiAqIC0gRXZlcnl0aGluZyBKYXZhLXZlcnNpb24tZGVwZW5kZW50IChjb21waWxlciBsZXZlbCwgZW5mb3JjZXIgcnVsZSwgSlVuaXRcbiAqICAgbGluZSwgQ0kgSkRLKSBmb2xsb3dzIGBqYXZhVmVyc2lvbmAuXG4gKiAtIFdpdGggbm8gYGFkZE1vZHVsZSgpYCBjYWxscyB0aGUgcm9vdCBwb20gaXMgdGhlIGFydGlmYWN0LiBBZnRlciB0aGVcbiAqICAgZmlyc3QgYGFkZE1vZHVsZSgpYCBpdCBpcyBhIGBwb21gLXBhY2thZ2VkIHJlYWN0b3IgcGFyZW50IGFuZCB0aGVcbiAqICAgbW9kdWxlcyBpbmhlcml0IGl0cyBwbHVnaW5zIGFuZCB0ZXN0IGRlcGVuZGVuY2llcy5cbiAqIC0gYG5weCBwcm9qZW4gYnVpbGRgIHN5bnRoZXNpemVzLCB0aGVuIHJ1bnMgTWF2ZW4gb25jZTogYG12biAtQiB2ZXJpZnlgXG4gKiAgICh1bml0IHRlc3RzIHZpYSBzdXJlZmlyZSwgYCpJVGAgdGVzdHMgdmlhIGZhaWxzYWZlKS5cbiAqIC0gQ0k6IGEgUFIgYnVpbGQgKHdpdGggYW4gb3B0aW9uYWwgU29uYXJRdWJlIHNjYW4pLCB0aGUgcHJvamVuIGRyaWZ0XG4gKiAgIGNoZWNrLCBhbmQgYSBuaWdodGx5IHJlcG9ydC1vbmx5IHVwZGF0ZSBjaGVjay5cbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFNYXZlblByb2plY3QgZXh0ZW5kcyBnaXRodWIuR2l0SHViUHJvamVjdCB7XG4gIC8qKiBUaGUgcm9vdCBgcG9tLnhtbGAuICovXG4gIHB1YmxpYyByZWFkb25seSBwb206IE1hdmVuUG9tO1xuXG4gIC8qKiBUaGUgY2Fub25pY2FsIEphdmEgbGluZSB0aGUgYnVpbGQgdGFyZ2V0cyAoYDEuOGAsIGAxN2AsIGAyMWAsIGAyNWApLiAqL1xuICBwdWJsaWMgcmVhZG9ubHkgamF2YVZlcnNpb246IHN0cmluZztcblxuICAvKiogUHJpbnRzIGF2YWlsYWJsZSBkZXBlbmRlbmN5L3BsdWdpbiB1cGRhdGVzIChgbnB4IHByb2plbiB1cGdyYWRlYCkuICovXG4gIHB1YmxpYyByZWFkb25seSB1cGdyYWRlVGFzazogVGFzaztcblxuICAvKipcbiAgICogVGhlIFBSIGJ1aWxkIHdvcmtmbG93IChgYnVpbGQueW1sYCkuIEFkZCBqb2JzIHRvIGl0IHdpdGhcbiAgICogYGJ1aWxkVmVyaWZ5V29ya2Zsb3cuYWRkSm9iKGlkLCBqb2IpYDsgdXNlIGBjaVNldHVwU3RlcHNgIGZvciBhIGpvYiB0aGF0XG4gICAqIG5lZWRzIE5vZGUsIHRoZSBwcm9qZW4gdG9vbGNoYWluLCBhbmQgdGhlIEpESy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBidWlsZFZlcmlmeVdvcmtmbG93OiBnaXRodWIuVGFza1dvcmtmbG93O1xuXG4gIC8qKlxuICAgKiBTdGVwcyB0aGF0IGluc3RhbGwgTm9kZSAocGlubmVkKSwgYG5wbSBjaWAsIGFuZCB0aGUgcHJvamVjdCdzIEpESyB3aXRoIGFcbiAgICogTWF2ZW4gY2FjaGUgLSB0aGUgc2V0dXAgZXZlcnkgTWF2ZW4gQ0kgam9iIGluIHRoaXMgcmVwbyBuZWVkcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjaVNldHVwU3RlcHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcFtdO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgamF2YUxpbmU6IEphdmFMaW5lUHJvZmlsZTtcbiAgcHJpdmF0ZSByZWFkb25seSByb290UGFja2FnaW5nPzogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGdyb3VwSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBzYW1wbGU6IGJvb2xlYW47XG4gIHByaXZhdGUgcmVhZG9ubHkgbWF2ZW5Nb2R1bGVzOiBNYXZlbk1vZHVsZVtdID0gW107XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmF2YU1hdmVuUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAvLyBTcHJlYWQgZmlyc3QsIG92ZXJyaWRlcyBhZnRlcjogZm9yd2FyZGluZyB0aGUgY2FsbGVyJ3Mgb3B0aW9ucyBpc1xuICAgICAgLy8gd2hhdCBsZXRzIGBwcm9qZW4gbmV3IC0tZnJvbSBAeHBlcnRzcy9wcm9qZW4tdHlwZXMgamF2YV9tYXZlbmAgd29ya1xuICAgICAgLy8gLSBwcm9qZW4gc211Z2dsZXMgaXRzIGJvb3RzdHJhcCBtYXJrZXIgKGBfX25ld19fYCkgdGhyb3VnaCB0aGVcbiAgICAgIC8vIG9wdGlvbnMgb2JqZWN0LCBhbmQgaXQgaXMgdGhhdCBtYXJrZXIgd2hpY2ggbWFrZXMgdGhlXG4gICAgICAvLyBgUHJvamVucmNGaWxlYCBjb21wb25lbnQgd3JpdGUgdGhlIGluaXRpYWwgYC5wcm9qZW5yYy50c2AuIERyb3AgaXRcbiAgICAgIC8vIGFuZCBgcHJvamVuIG5ld2Agc2NhZmZvbGRzIGEgcmVwbyB3aXRoIG5vIHByb2plbnJjIGF0IGFsbC5cbiAgICAgIC4uLnN0cmluZ2lmeVByb2plbk5ld0FyZ3Mob3B0aW9ucyksXG4gICAgICBuYW1lOiBvcHRpb25zLm5hbWUsXG4gICAgICAvLyBQUiB0aXRsZXMgYXJlIG5vdCBnYXRlZDogYGZlYXQ6YC9gZml4OmAgbWF0dGVyIG9ubHkgYmVjYXVzZSB0aGV5IGRyaXZlXG4gICAgICAvLyB0aGUgcmVsZWFzZSB3b3JrZmxvdyAodmlhIGByZWxlYXNhYmxlQ29tbWl0c2ApLCBub3QgUFIgY2hlY2tzLiBUaGVcbiAgICAgIC8vIGNvbnZlbnRpb25hbC1jb21taXQgUFItdGl0bGUgbGludCBpcyBhZGRlZCBieSB0aGUgYEdpdEh1YmAgY29tcG9uZW50XG4gICAgICAvLyB1bmxlc3MgYGdpdGh1Yk9wdGlvbnMucHVsbFJlcXVlc3RMaW50YCBpcyBgZmFsc2VgIChpdCBkZWZhdWx0cyB0cnVlKS5cbiAgICAgIGdpdGh1Yk9wdGlvbnM6IHsgcHVsbFJlcXVlc3RMaW50OiBmYWxzZSB9LFxuICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgIHNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgdmVyc2lvbiBvZiBPYmplY3QudmFsdWVzKG9wdGlvbnMucGx1Z2luVmVyc2lvbnMgPz8ge30pKSB7XG4gICAgICBhc3NlcnRFeGFjdFZlcnNpb24odmVyc2lvbiwgJ3BsdWdpblZlcnNpb25zJyk7XG4gICAgfVxuICAgIHRoaXMuamF2YUxpbmUgPSByZXNvbHZlSmF2YUxpbmUob3B0aW9ucy5qYXZhVmVyc2lvbiwgb3B0aW9ucy5wbHVnaW5WZXJzaW9ucyk7XG4gICAgdGhpcy5qYXZhVmVyc2lvbiA9IHRoaXMuamF2YUxpbmUubGluZTtcbiAgICB0aGlzLnJvb3RQYWNrYWdpbmcgPSBvcHRpb25zLnBhY2thZ2luZztcbiAgICB0aGlzLmdyb3VwSWQgPSBvcHRpb25zLmdyb3VwSWQ7XG4gICAgdGhpcy5zYW1wbGUgPSBvcHRpb25zLnNhbXBsZSA/PyBmYWxzZTtcblxuICAgIC8vIGAucHJvamVucmMudHNgICsgYG5weCBwcm9qZW5gLCBzYW1lIGFzIGV2ZXJ5IG90aGVyIHR5cGUgaGVyZS4gVGhlXG4gICAgLy8gTWF2ZW4gcmVwbyBuZWVkcyBubyBUeXBlU2NyaXB0IHRvb2xjaGFpbiBvZiBpdHMgb3duIC0gdGhlIHJ1bm5lciBpc1xuICAgIC8vIGZldGNoZWQgKHBpbm5lZCkgYnkgbnB4IGF0IHN5bnRoIHRpbWUuXG4gICAgYXR0YWNoVHlwZVNjcmlwdFByb2plbnJjKHRoaXMpO1xuXG4gICAgLy8gVGhlIHByb2plbiB0b29sY2hhaW4gYG5weCBwcm9qZW5gIHJ1bnMsIHBpbm5lZCBleGFjdGx5IHNvIGV2ZXJ5XG4gICAgLy8gbWFjaGluZSBhbmQgQ0kgcmVzb2x2ZSB0aGUgc2FtZSBnZW5lcmF0b3IuIE93bmVyLXdyaXRhYmxlIG9uIGRpc2sgc29cbiAgICAvLyB0aGUgZG9jdW1lbnRlZCB1cGRhdGUgZmxvdyAoYG5wbSBpIC1EIC1FIEB4cGVydHNzL3Byb2plbi10eXBlc0A8dj5gKVxuICAgIC8vIGNhbiByZXdyaXRlIGl0OyBoYW5kLWVkaXRzIGFyZSBzdGlsbCBjYXVnaHQgYnkgdGhlIGRyaWZ0IGNoZWNrLlxuICAgIG5ldyBKc29uRmlsZSh0aGlzLCAncGFja2FnZS5qc29uJywge1xuICAgICAgb2JqOiB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgICAgdmVyc2lvbjogJzAuMC4wJyxcbiAgICAgICAgcHJpdmF0ZTogdHJ1ZSxcbiAgICAgICAgZGV2RGVwZW5kZW5jaWVzOiB7XG4gICAgICAgICAgJ3Byb2plbic6IFBST0pFTl9WRVJTSU9OLFxuICAgICAgICAgICdAeHBlcnRzcy9wcm9qZW4tdHlwZXMnOiBQUk9KRU5fVFlQRVNfVkVSU0lPTixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICByZWFkb25seTogZmFsc2UsXG4gICAgfSk7XG5cbiAgICAvLyBKZXRCcmFpbnMgSURFIHN0YXRlICguaWRlYS8pIGlzIG5ldmVyIHRyYWNrZWQgaW4gZ2VuZXJhdGVkIHJlcG9zLCBhbmRcbiAgICAvLyBuZWl0aGVyIGlzIC9zcGVjLyAobG9jYWwgcGxhbnMgYW5kIHNwZWNzOyB0aGUgcGF0dGVybiBjb3ZlcnMgZXZlcnlcbiAgICAvLyBzdWJkaXJlY3RvcnkpLlxuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcvLmlkZWEvKicpO1xuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcvc3BlYy8nKTtcbiAgICB0aGlzLmFkZEdpdElnbm9yZSgndGFyZ2V0LycpO1xuICAgIHRoaXMuYWRkR2l0SWdub3JlKCcuY2xhc3NwYXRoJyk7XG4gICAgdGhpcy5hZGRHaXRJZ25vcmUoJy5wcm9qZWN0Jyk7XG4gICAgdGhpcy5hZGRHaXRJZ25vcmUoJy5zZXR0aW5ncycpO1xuXG4gICAgaWYgKG9wdGlvbnMubGljZW5zZWQgPz8gdHJ1ZSkge1xuICAgICAgYWRkTGljZW5zZUZpbGUodGhpcywge1xuICAgICAgICBzcGR4OiBvcHRpb25zLmxpY2Vuc2UgPz8gJ01JVCcsXG4gICAgICAgIGNvcHlyaWdodE93bmVyOiBvcHRpb25zLmNvcHlyaWdodE93bmVyID8/ICdYcGVydCBTb2Z0d2FyZScsXG4gICAgICAgIGNvcHlyaWdodFBlcmlvZDogb3B0aW9ucy5jb3B5cmlnaHRQZXJpb2QsXG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuZWRpdG9yY29uZmlnID8/IHRydWUpIHtcbiAgICAgIGFkZEVkaXRvckNvbmZpZyh0aGlzKTtcbiAgICB9XG5cbiAgICB0aGlzLnBvbSA9IG5ldyBNYXZlblBvbSh0aGlzLCB7XG4gICAgICBncm91cElkOiBvcHRpb25zLmdyb3VwSWQsXG4gICAgICBhcnRpZmFjdElkOiBvcHRpb25zLmFydGlmYWN0SWQsXG4gICAgICB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gPz8gJzAuMS4wJyxcbiAgICAgIHBhY2thZ2luZzogdGhpcy5yb290UGFja2FnaW5nID8/ICdqYXInLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICB1cmw6IG9wdGlvbnMudXJsLFxuICAgIH0pO1xuICAgIHRoaXMuY29uZmlndXJlQnVpbGQob3B0aW9ucyk7XG5cbiAgICAvLyBPbmUgTWF2ZW4gcnVuIHBlciBidWlsZDogYHZlcmlmeWAgcnVucyBldmVyeSBlYXJsaWVyIHBoYXNlIChjb21waWxlLFxuICAgIC8vIHVuaXQgdGVzdHMsIHBhY2thZ2UpIHBsdXMgaW50ZWdyYXRpb24gdGVzdHMuIE5vdGhpbmcgZGVwbG95cy5cbiAgICB0aGlzLnRlc3RUYXNrLmV4ZWMoJ212biAtQiB2ZXJpZnknKTtcblxuICAgIGNvbnN0IGdoID0gdGhpcy5naXRodWI7XG4gICAgaWYgKCFnaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdKYXZhTWF2ZW5Qcm9qZWN0IHJlcXVpcmVzIEdpdEh1YiBpbnRlZ3JhdGlvbicpO1xuICAgIH1cbiAgICBhcHBseUludGVybmFsQWN0aW9uT3ZlcnJpZGVzKGdoKTtcblxuICAgIG5ldyBQcm9qZW5EcmlmdENoZWNrV29ya2Zsb3codGhpcywge1xuICAgICAgZ2hlVG9rZW5TZWNyZXQ6IG9wdGlvbnMuZ2hlVG9rZW5TZWNyZXQgPz8gREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVULFxuICAgIH0pO1xuICAgIG5ldyBXb3JrZmxvd0NoYW5nZU5vdGljZVdvcmtmbG93KHRoaXMpO1xuXG4gICAgdGhpcy5jaVNldHVwU3RlcHMgPSBbXG4gICAgICBTRVRVUF9OT0RFX1NURVAsXG4gICAgICBOUE1fQ0lfU1RFUCxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ1NldHVwIEphdmEnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy9zZXR1cC1qYXZhQHY2JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdkaXN0cmlidXRpb24nOiBvcHRpb25zLmphdmFEaXN0cmlidXRpb24gPz8gJ3RlbXVyaW4nLFxuICAgICAgICAgICdqYXZhLXZlcnNpb24nOiB0aGlzLmphdmFMaW5lLnNldHVwSmF2YVZlcnNpb24sXG4gICAgICAgICAgJ2NhY2hlJzogJ21hdmVuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGNvbnN0IHBvc3RCdWlsZFN0ZXBzOiBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXSA9IFtdO1xuICAgIGlmIChvcHRpb25zLnNvbmFyUHJvamVjdEtleSkge1xuICAgICAgcG9zdEJ1aWxkU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdTb25hclF1YmUgc2NhbicsXG4gICAgICAgIHJ1bjogYG12biAtQiBzb25hcjpzb25hciAtRHNvbmFyLnByb2plY3RLZXk9JHtvcHRpb25zLnNvbmFyUHJvamVjdEtleX1gLFxuICAgICAgICBlbnY6IHsgU09OQVJfVE9LRU46ICcke3sgc2VjcmV0cy5TT05BUl9UT0tFTiB9fScgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYnVpbGRWZXJpZnlXb3JrZmxvdyA9IG5ldyBnaXRodWIuVGFza1dvcmtmbG93KGdoLCB7XG4gICAgICBuYW1lOiAnYnVpbGQnLFxuICAgICAgam9iSWQ6ICdidWlsZCcsXG4gICAgICB0YXNrOiB0aGlzLmJ1aWxkVGFzayxcbiAgICAgIHRyaWdnZXJzOiB7IHB1bGxSZXF1ZXN0OiB7fSwgd29ya2Zsb3dEaXNwYXRjaDoge30gfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7IGNvbnRlbnRzOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCB9LFxuICAgICAgcHJlQnVpbGRTdGVwczogdGhpcy5jaVNldHVwU3RlcHMsXG4gICAgICBwb3N0QnVpbGRTdGVwcyxcbiAgICB9KTtcbiAgICBub3RlV29ya2Zsb3dQdXJwb3NlKFxuICAgICAgdGhpcy5idWlsZFZlcmlmeVdvcmtmbG93LmZpbGUsXG4gICAgICAnQnVpbGQgYW5kIHRlc3QgdGhlIE1hdmVuIHByb2plY3Qgb24gcHVsbCByZXF1ZXN0cywgd2l0aCBhbiBvcHRpb25hbCBTb25hclF1YmUgc2Nhbi4nLFxuICAgICk7XG5cbiAgICBjb25zdCB2ZXJzaW9uc1BsdWdpbiA9IGBvcmcuY29kZWhhdXMubW9qbzp2ZXJzaW9ucy1tYXZlbi1wbHVnaW46JHt0aGlzLnBpbm5lZFZlcnNpb24oVkVSU0lPTlNfTUFWRU5fUExVR0lOKX1gO1xuICAgIHRoaXMudXBncmFkZVRhc2sgPSB0aGlzLmFkZFRhc2soJ3VwZ3JhZGUnLCB7XG4gICAgICBleGVjOiBgbXZuIC1CICR7dmVyc2lvbnNQbHVnaW59OmRpc3BsYXktZGVwZW5kZW5jeS11cGRhdGVzICR7dmVyc2lvbnNQbHVnaW59OmRpc3BsYXktcGx1Z2luLXVwZGF0ZXNgLFxuICAgIH0pO1xuICAgIGlmIChvcHRpb25zLnVwZ3JhZGVXb3JrZmxvdyA/PyB0cnVlKSB7XG4gICAgICBuZXcgTWF2ZW5VcGdyYWRlUmVwb3J0KHRoaXMsIHtcbiAgICAgICAgdGFzazogdGhpcy51cGdyYWRlVGFzayxcbiAgICAgICAgc2V0dXBTdGVwczogdGhpcy5jaVNldHVwU3RlcHMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKiogVGhlIG1vZHVsZXMgYWRkZWQgd2l0aCBgYWRkTW9kdWxlKClgLCBpbiBvcmRlci4gKi9cbiAgcHVibGljIGdldCBtb2R1bGVzKCk6IE1hdmVuTW9kdWxlW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5tYXZlbk1vZHVsZXNdO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBNYXZlbiBtb2R1bGUgaW4gYGRpcmAgKHJlbGF0aXZlIHRvIHRoZSByZXBvIHJvb3Q7IG1heSBiZSBuZXN0ZWQsXG4gICAqIGUuZy4gYHRvb2xzL3N0dWItbW9kZWxgKSBhbmQgdHVybnMgdGhlIHJvb3QgcG9tIGludG8gdGhlIHJlYWN0b3IgcGFyZW50XG4gICAqIChgcGFja2FnaW5nPXBvbWAsIGA8bW9kdWxlcz5gIGluIHRoZSBvcmRlciBhZGRlZCkuIFRoZSBwYXJlbnQgbWFuYWdlc1xuICAgKiBldmVyeSBtb2R1bGUgYXQgYCR7cHJvamVjdC52ZXJzaW9ufWAsIHNvIG1vZHVsZXMgZGVwZW5kIG9uIGVhY2ggb3RoZXJcbiAgICogd2l0aCBgYWRkTW9kdWxlRGVwZW5kZW5jeSgpYCwgdmVyc2lvbmxlc3MuXG4gICAqL1xuICBwdWJsaWMgYWRkTW9kdWxlKG9wdGlvbnM6IE1hdmVuTW9kdWxlT3B0aW9ucyk6IE1hdmVuTW9kdWxlIHtcbiAgICBpZiAodGhpcy5yb290UGFja2FnaW5nICE9PSB1bmRlZmluZWQgJiYgdGhpcy5yb290UGFja2FnaW5nICE9PSAncG9tJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQSBtdWx0aS1tb2R1bGUgcHJvamVjdCdzIHJvb3QgcG9tIGlzIHBhY2thZ2VkIGFzIFwicG9tXCI7IHJlbW92ZSBwYWNrYWdpbmc6IFwiJHt0aGlzLnJvb3RQYWNrYWdpbmd9XCIuYCxcbiAgICAgICk7XG4gICAgfVxuICAgIGNvbnN0IGRpciA9IG5vcm1hbGl6ZU1vZHVsZURpcihvcHRpb25zLmRpcik7XG4gICAgZm9yIChjb25zdCBtIG9mIHRoaXMubWF2ZW5Nb2R1bGVzKSB7XG4gICAgICBpZiAobS5hcnRpZmFjdElkID09PSBvcHRpb25zLmFydGlmYWN0SWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgbW9kdWxlIGFydGlmYWN0SWQgXCIke29wdGlvbnMuYXJ0aWZhY3RJZH1cIiAoZGlycyBcIiR7bS5kaXJ9XCIgYW5kIFwiJHtkaXJ9XCIpLmApO1xuICAgICAgfVxuICAgICAgaWYgKG0uZGlyID09PSBkaXIgfHwgZGlyLnN0YXJ0c1dpdGgoYCR7bS5kaXJ9L2ApIHx8IG0uZGlyLnN0YXJ0c1dpdGgoYCR7ZGlyfS9gKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkaXIgXCIke2Rpcn1cIiBvdmVybGFwcyBtb2R1bGUgZGlyIFwiJHttLmRpcn1cIjogbW9kdWxlIGRpcnMgbXVzdCBiZSBkaXN0aW5jdCBhbmQgbm90IG5lc3RlZC5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtb2R1bGUgPSBuZXcgTWF2ZW5Nb2R1bGUodGhpcywgdGhpcy5wb20sIHsgLi4ub3B0aW9ucywgZGlyIH0pO1xuICAgIHRoaXMubWF2ZW5Nb2R1bGVzLnB1c2gobW9kdWxlKTtcbiAgICB0aGlzLnBvbS5wYWNrYWdpbmcgPSAncG9tJztcbiAgICB0aGlzLnBvbS5tYW5hZ2VQbHVnaW5WZXJzaW9ucyA9IHRydWU7XG4gICAgdGhpcy5wb20uYWRkTW9kdWxlKGRpcik7XG4gICAgdGhpcy5wb20uYWRkTWFuYWdlZERlcGVuZGVuY3koYCR7dGhpcy5ncm91cElkfS8ke29wdGlvbnMuYXJ0aWZhY3RJZH1AXFwke3Byb2plY3QudmVyc2lvbn1gKTtcbiAgICByZXR1cm4gbW9kdWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydHMgYSBCT00gaW50byB0aGUgcm9vdCBgPGRlcGVuZGVuY3lNYW5hZ2VtZW50PmAgKGB0eXBlPXBvbWAsXG4gICAqIGBzY29wZT1pbXBvcnRgKS5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgYGdyb3VwSWQvYXJ0aWZhY3RJZEB2ZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIGFkZEJvbShzcGVjOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnBvbS5hZGRCb20oc3BlYyk7XG4gIH1cblxuICAvKipcbiAgICogUGlucyBhIHZlcnNpb24gaW4gdGhlIHJvb3QgYDxkZXBlbmRlbmN5TWFuYWdlbWVudD5gIHdpdGhvdXQgYWRkaW5nIHRoZVxuICAgKiBkZXBlbmRlbmN5LCBzbyBtb2R1bGVzIChvciB0aGUgcm9vdCkgY2FuIHVzZSBpdCB2ZXJzaW9ubGVzcy5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgYGdyb3VwSWQvYXJ0aWZhY3RJZEB2ZXJzaW9uYFxuICAgKi9cbiAgcHVibGljIGFkZE1hbmFnZWREZXBlbmRlbmN5KHNwZWM6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucG9tLmFkZE1hbmFnZWREZXBlbmRlbmN5KHNwZWMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21waWxlLXNjb3BlIGRlcGVuZGVuY3kgdG8gdGhlIHJvb3QgcG9tLiBJbiBhIG11bHRpLW1vZHVsZVxuICAgKiBwcm9qZWN0IGV2ZXJ5IG1vZHVsZSBpbmhlcml0cyBpdDsgdXNlIGBNYXZlbk1vZHVsZS5hZGREZXBlbmRlbmN5YCBmb3JcbiAgICogb25lIG1vZHVsZS5cbiAgICpcbiAgICogQHBhcmFtIHNwZWMgYGdyb3VwSWQvYXJ0aWZhY3RJZFtAdmVyc2lvbl1gIC0gZXhhY3QgdmVyc2lvbiwgb3Igbm9uZSB3aGVuXG4gICAqIGEgQk9NIG1hbmFnZXMgaXRcbiAgICovXG4gIHB1YmxpYyBhZGREZXBlbmRlbmN5KHNwZWM6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMucG9tLmFkZERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKiogQWRkcyBhIHRlc3Qtc2NvcGUgZGVwZW5kZW5jeSB0byB0aGUgcm9vdCBwb20gKGluaGVyaXRlZCBieSBldmVyeSBtb2R1bGUpLiAqL1xuICBwdWJsaWMgYWRkVGVzdERlcGVuZGVuY3koc3BlYzogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5wb20uYWRkVGVzdERlcGVuZGVuY3koc3BlYyk7XG4gIH1cblxuICAvKiogQWRkcyBhIGJ1aWxkIHBsdWdpbiB0byB0aGUgcm9vdCBwb20gKGluaGVyaXRlZCBieSBldmVyeSBtb2R1bGUpLiAqL1xuICBwdWJsaWMgYWRkUGx1Z2luKHNwZWM6IHN0cmluZywgb3B0aW9uczogamF2YS5QbHVnaW5PcHRpb25zID0ge30pOiB2b2lkIHtcbiAgICB0aGlzLnBvbS5hZGRQbHVnaW4oc3BlYywgb3B0aW9ucyk7XG4gIH1cblxuICBwdWJsaWMgcHJlU3ludGhlc2l6ZSgpOiB2b2lkIHtcbiAgICBzdXBlci5wcmVTeW50aGVzaXplKCk7XG4gICAgaWYgKHRoaXMuc2FtcGxlICYmIHRoaXMubWF2ZW5Nb2R1bGVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGV4YWN0IHZlcnNpb24gdGhpcyBwcm9qZWN0IHVzZXMgZm9yIGEgYGdyb3VwSWQvYXJ0aWZhY3RJZGAgaXQgcGluc1xuICAgKiBieSBkZWZhdWx0OiB0aGUgYHBsdWdpblZlcnNpb25zYCBvdmVycmlkZSBpZiBzZXQsIG90aGVyd2lzZSB0aGVcbiAgICogZGVmYXVsdCBmb3IgYGphdmFWZXJzaW9uYC5cbiAgICovXG4gIHB1YmxpYyBwaW5uZWRWZXJzaW9uKGNvb3JkaW5hdGVzOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZlcnNpb24gPSB0aGlzLmphdmFMaW5lLnZlcnNpb25zW2Nvb3JkaW5hdGVzXTtcbiAgICBpZiAoIXZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gZGVmYXVsdCB2ZXJzaW9uIGZvciAke2Nvb3JkaW5hdGVzfS5gKTtcbiAgICB9XG4gICAgcmV0dXJuIHZlcnNpb247XG4gIH1cblxuICAvKipcbiAgICogVGhlIG5ld2VzdCBTcHJpbmcgQm9vdCBtYWpvciB2ZXJzaW9uIGBqYXZhVmVyc2lvbmAgc3VwcG9ydHMsIG9yXG4gICAqIHVuZGVmaW5lZCB3aGVuIHRoaXMgcGFja2FnZSBrbm93cyBvZiBubyBjYXAuXG4gICAqL1xuICBwcm90ZWN0ZWQgbWF4U3ByaW5nQm9vdE1ham9yKCk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuamF2YUxpbmUubWF4U3ByaW5nQm9vdE1ham9yO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWd1cmVCdWlsZChvcHRpb25zOiBKYXZhTWF2ZW5Qcm9qZWN0T3B0aW9ucyk6IHZvaWQge1xuICAgIHRoaXMucG9tLmFkZFByb3BlcnR5KCdwcm9qZWN0LmJ1aWxkLnNvdXJjZUVuY29kaW5nJywgJ1VURi04Jyk7XG4gICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuamF2YUxpbmUuY29tcGlsZXJQcm9wZXJ0aWVzKSkge1xuICAgICAgdGhpcy5wb20uYWRkUHJvcGVydHkobmFtZSwgdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIEpVbml0J3MgdmVyc2lvbiBjb21lcyBmcm9tIGl0cyBCT00gKG9yIGZyb20gYSBmcmFtZXdvcmsgQk9NIHRoYXRcbiAgICAvLyBtYW5hZ2VzIGl0IC0gc2VlIEphdmFTcHJpbmdCb290UHJvamVjdCksIG5ldmVyIGZyb20gYSBkZXBlbmRlbmN5LlxuICAgIHRoaXMucG9tLmFkZEJvbShgJHtKVU5JVF9CT019QCR7dGhpcy5waW5uZWRWZXJzaW9uKEpVTklUX0JPTSl9YCk7XG4gICAgdGhpcy5wb20uYWRkVGVzdERlcGVuZGVuY3koJ29yZy5qdW5pdC5qdXBpdGVyL2p1bml0LWp1cGl0ZXInKTtcblxuICAgIHRoaXMuYWRkUGx1Z2luKGAke01BVkVOX0NPTVBJTEVSX1BMVUdJTn1AJHt0aGlzLnBpbm5lZFZlcnNpb24oTUFWRU5fQ09NUElMRVJfUExVR0lOKX1gKTtcbiAgICB0aGlzLmFkZFBsdWdpbihgJHtNQVZFTl9TVVJFRklSRV9QTFVHSU59QCR7dGhpcy5waW5uZWRWZXJzaW9uKE1BVkVOX1NVUkVGSVJFX1BMVUdJTil9YCk7XG4gICAgLy8gZmFpbHNhZmUgaGFzIG5vIGRlZmF1bHQgbGlmZWN5Y2xlIGJpbmRpbmc7IGJpbmQgaXQgc28gYCpJVGAgdGVzdHMgcnVuXG4gICAgLy8gaW4gYG12biB2ZXJpZnlgLlxuICAgIHRoaXMuYWRkUGx1Z2luKGAke01BVkVOX0ZBSUxTQUZFX1BMVUdJTn1AJHt0aGlzLnBpbm5lZFZlcnNpb24oTUFWRU5fRkFJTFNBRkVfUExVR0lOKX1gLCB7XG4gICAgICBleGVjdXRpb25zOiBbeyBpZDogJ2ludGVncmF0aW9uLXRlc3RzJywgZ29hbHM6IFsnaW50ZWdyYXRpb24tdGVzdCcsICd2ZXJpZnknXSB9XSxcbiAgICB9KTtcbiAgICB0aGlzLmFkZFBsdWdpbihgJHtNQVZFTl9KQVJfUExVR0lOfUAke3RoaXMucGlubmVkVmVyc2lvbihNQVZFTl9KQVJfUExVR0lOKX1gLCB7XG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGFyY2hpdmU6IHtcbiAgICAgICAgICBtYW5pZmVzdDoge1xuICAgICAgICAgICAgYWRkRGVmYXVsdEltcGxlbWVudGF0aW9uRW50cmllczogdHJ1ZSxcbiAgICAgICAgICAgIGFkZERlZmF1bHRTcGVjaWZpY2F0aW9uRW50cmllczogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLmVuZm9yY2VyID8/IHRydWUpIHtcbiAgICAgIGNvbnN0IG1pbk1hdmVuID0gb3B0aW9ucy5taW5NYXZlblZlcnNpb24gPz8gREVGQVVMVF9NSU5fTUFWRU5fVkVSU0lPTjtcbiAgICAgIGFzc2VydEV4YWN0VmVyc2lvbihtaW5NYXZlbiwgJ21pbk1hdmVuVmVyc2lvbicpO1xuICAgICAgdGhpcy5hZGRQbHVnaW4oYCR7TUFWRU5fRU5GT1JDRVJfUExVR0lOfUAke3RoaXMucGlubmVkVmVyc2lvbihNQVZFTl9FTkZPUkNFUl9QTFVHSU4pfWAsIHtcbiAgICAgICAgZXhlY3V0aW9uczogW3sgaWQ6ICdlbmZvcmNlLXZlcnNpb25zJywgZ29hbHM6IFsnZW5mb3JjZSddIH1dLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgICAgcnVsZXM6IHtcbiAgICAgICAgICAgIHJlcXVpcmVNYXZlblZlcnNpb246IHsgdmVyc2lvbjogYFske21pbk1hdmVufSwpYCB9LFxuICAgICAgICAgICAgcmVxdWlyZUphdmFWZXJzaW9uOiB7IHZlcnNpb246IHRoaXMuamF2YUxpbmUuZW5mb3JjZXJKYXZhUmFuZ2UgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRTYW1wbGUoKTogdm9pZCB7XG4gICAgY29uc3QgcGtnID0gdGhpcy5ncm91cElkLnJlcGxhY2UoL1teQS1aYS16MC05Xy5dL2csICdfJyk7XG4gICAgY29uc3QgcGF0aCA9IHBrZy5zcGxpdCgnLicpO1xuICAgIG5ldyBTYW1wbGVEaXIodGhpcywgcG9zaXguam9pbignc3JjL21haW4vamF2YScsIC4uLnBhdGgpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICAnTWFpbi5qYXZhJzogW1xuICAgICAgICAgIGBwYWNrYWdlICR7cGtnfTtgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdwdWJsaWMgY2xhc3MgTWFpbiB7JyxcbiAgICAgICAgICAnICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsnLFxuICAgICAgICAgICcgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbihcIkhlbGxvLCB3b3JsZCFcIik7JyxcbiAgICAgICAgICAnICAgIH0nLFxuICAgICAgICAgICd9JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgbmV3IFNhbXBsZURpcih0aGlzLCBwb3NpeC5qb2luKCdzcmMvdGVzdC9qYXZhJywgLi4ucGF0aCksIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgICdNYWluVGVzdC5qYXZhJzogW1xuICAgICAgICAgIGBwYWNrYWdlICR7cGtnfTtgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgICdpbXBvcnQgb3JnLmp1bml0Lmp1cGl0ZXIuYXBpLlRlc3Q7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICAnY2xhc3MgTWFpblRlc3QgeycsXG4gICAgICAgICAgJyAgICBAVGVzdCcsXG4gICAgICAgICAgJyAgICB2b2lkIHJ1bnMoKSB7JyxcbiAgICAgICAgICAnICAgICAgICBNYWluLm1haW4obmV3IFN0cmluZ1swXSk7JyxcbiAgICAgICAgICAnICAgIH0nLFxuICAgICAgICAgICd9JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBgcHJvamVuIG5ldyAuLi4gLS1qYXZhLXZlcnNpb24gMjFgIChvciBgMS44YCwgb3IgYC0tbWluLW1hdmVuLXZlcnNpb24gMy45YClcbiAqIHJlYWNoZXMgdGhlIG9wdGlvbnMgYXMgYSAqbnVtYmVyKjogeWFyZ3MgcGFyc2VzIG51bWVyaWMtbG9va2luZyBmbGFncywgYW5kXG4gKiBwcm9qZW4gcGFzc2VzIHN0cmluZy10eXBlZCBvcHRpb25zIHRocm91Z2ggdW5jaGFuZ2VkLiBUaGUgaW5pdGlhbFxuICogYC5wcm9qZW5yYy50c2AgaXMgcmVuZGVyZWQgZnJvbSB0aGUgc2FtZSBhcmdzLCBzbyBpdCB3b3VsZCByZWFkXG4gKiBgamF2YVZlcnNpb246IDIxYCBhbmQgZmFpbCB0byB0eXBlLWNoZWNrLiBObyBKYXZhIG9wdGlvbiBpcyBudW1iZXItdHlwZWQsXG4gKiBzbyBldmVyeSBudW1lcmljIGFyZyBpcyB0dXJuZWQgYmFjayBpbnRvIHRoZSBzdHJpbmcgdGhlIHVzZXIgdHlwZWQuIFRoaXNcbiAqIHJ1bnMgYmVmb3JlIHRoZSBQcm9qZWN0IGNvbnN0cnVjdG9yLCB3aGljaCBpcyB3aGVyZSBwcm9qZW4gY2FwdHVyZXMgdGhlXG4gKiBhcmdzIGl0IHJlbmRlcnMuIE9wdGlvbnMgZnJvbSBhIGhhbmQtd3JpdHRlbiBwcm9qZW5yYyBhcmUgbmV2ZXIgbnVtYmVyc1xuICogKHRoZXkgdHlwZS1jaGVjayBhcyBzdHJpbmdzKSBhbmQgYXJlIGxlZnQgYWxvbmUuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ2lmeVByb2plbk5ld0FyZ3M8VCBleHRlbmRzIG9iamVjdD4ob3B0aW9uczogVCk6IFQge1xuICBjb25zdCBtYXJrZXIgPSAob3B0aW9ucyBhcyBhbnkpLl9fbmV3X187XG4gIGlmICghbWFya2VyPy5hcmdzKSB7XG4gICAgcmV0dXJuIG9wdGlvbnM7XG4gIH1cbiAgZm9yIChjb25zdCB0YXJnZXQgb2YgW29wdGlvbnMgYXMgYW55LCBtYXJrZXIuYXJnc10pIHtcbiAgICBmb3IgKGNvbnN0IFtuYW1lLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGFyZ2V0KSkge1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgdGFyZ2V0W25hbWVdID0gU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZU1vZHVsZURpcihkaXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHVuaXggPSBkaXIucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICBpZiAodW5peC5zdGFydHNXaXRoKCcvJykgfHwgL15bQS1aYS16XTovLnRlc3QodW5peCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkaXIgXCIke2Rpcn1cIiBtdXN0IGJlIHJlbGF0aXZlIHRvIHRoZSByZXBvIHJvb3QuYCk7XG4gIH1cbiAgY29uc3Qgbm9ybWFsaXplZCA9IHBvc2l4Lm5vcm1hbGl6ZSh1bml4KS5yZXBsYWNlKC9cXC8rJC8sICcnKTtcbiAgaWYgKG5vcm1hbGl6ZWQgPT09ICcuJyB8fCBub3JtYWxpemVkID09PSAnJyB8fCBub3JtYWxpemVkLnNwbGl0KCcvJykuaW5jbHVkZXMoJy4uJykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYE1vZHVsZSBkaXIgXCIke2Rpcn1cIiBtdXN0IGJlIGEgc3ViZGlyZWN0b3J5IG9mIHRoZSByZXBvIHJvb3QuYCk7XG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG4iXX0=
|
|
@@ -17,7 +17,7 @@ const java_spring_boot_project_1 = require("./java-spring-boot-project");
|
|
|
17
17
|
* repo use `JavaSpringBootProject`.
|
|
18
18
|
*/
|
|
19
19
|
class JavaServiceProject extends java_spring_boot_project_1.JavaSpringBootProject {
|
|
20
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaServiceProject", version: "0.0.
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaServiceProject", version: "0.0.21" };
|
|
21
21
|
constructor(options) {
|
|
22
22
|
super(options);
|
|
23
23
|
this.addDependency('org.springframework.boot/spring-boot-starter-web');
|
|
@@ -22,7 +22,7 @@ const REPACKAGE = { executions: [{ id: 'repackage', goals: ['repackage'] }] };
|
|
|
22
22
|
* and a CDK deploy hook.
|
|
23
23
|
*/
|
|
24
24
|
class JavaSpringBootProject extends java_maven_base_1.JavaMavenProject {
|
|
25
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaSpringBootProject", version: "0.0.
|
|
25
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaSpringBootProject", version: "0.0.21" };
|
|
26
26
|
/** The Spring Boot version (BOM and Maven plugin). */
|
|
27
27
|
springBootVersion;
|
|
28
28
|
constructor(options) {
|
|
@@ -16,7 +16,7 @@ const maven_pom_1 = require("./maven-pom");
|
|
|
16
16
|
* an artifact gets the same version.
|
|
17
17
|
*/
|
|
18
18
|
class MavenModule extends projen_1.Component {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenModule", version: "0.0.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenModule", version: "0.0.21" };
|
|
20
20
|
/** Module directory, relative to the repo root. */
|
|
21
21
|
dir;
|
|
22
22
|
artifactId;
|
|
@@ -58,7 +58,7 @@ function key(c) {
|
|
|
58
58
|
* `executions` and `dependencies` appended.
|
|
59
59
|
*/
|
|
60
60
|
class MavenPom extends projen_1.Component {
|
|
61
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenPom", version: "0.0.
|
|
61
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenPom", version: "0.0.21" };
|
|
62
62
|
/** Path of the pom, relative to the project root. */
|
|
63
63
|
filePath;
|
|
64
64
|
groupId;
|
package/lib/java/options.d.ts
CHANGED
package/lib/java/options.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50T3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9lbnZpcm9ubWVudC1vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25KYXZhT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBhcnRpZmFjdElkOiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IFwiMC4xLjBcIiAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBQcm9qZWN0IGRlc2NyaXB0aW9uLCB3cml0dGVuIHRvIHRoZSByb290IHBvbS4gQGRlZmF1bHQgLSBub25lICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKiBQcm9qZWN0IFVSTCwgd3JpdHRlbiB0byB0aGUgcm9vdCBwb20uIEBkZWZhdWx0IC0gbm9uZSAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqIFNvbmFyQ2xvdWQgcHJvamVjdCBrZXkuIElmIHVuc2V0LCB0aGUgc29uYXIgc2NhbiBzdGVwIGlzIHNraXBwZWQuICovXG4gIHJlYWRvbmx5IHNvbmFyUHJvamVjdEtleT86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCIgKi9cbiAgcmVhZG9ubHkgZ2hlVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEphdmEgbGluZSB0aGUgYnVpbGQgdGFyZ2V0czogYDEuOGAgKGFsaWFzIGA4YCksIGAxN2AsIGAyMWAsIG9yIGAyNWAuXG4gICAqXG4gICAqIERyaXZlcyBldmVyeSBKYXZhLWRlcGVuZGVudCBwYXJ0IG9mIHRoZSBnZW5lcmF0ZWQgYnVpbGQ6IHRoZSBjb21waWxlclxuICAgKiBsZXZlbCAoYG1hdmVuLmNvbXBpbGVyLnJlbGVhc2VgLCBvciBgc291cmNlYC9gdGFyZ2V0YCBmb3IgMS44LCB3aGljaCBoYXNcbiAgICogbm8gYC0tcmVsZWFzZWApLCB0aGUgZW5mb3JjZXIncyBgcmVxdWlyZUphdmFWZXJzaW9uYCBydWxlLCB0aGUgSlVuaXQgbGluZSxcbiAgICogdGhlIGRlZmF1bHQgU3ByaW5nIEJvb3QgbGluZSwgYW5kIHRoZSBKREsgQ0kgaW5zdGFsbHMuIEFueSBvdGhlciB2YWx1ZVxuICAgKiBmYWlscyBhdCBzeW50aCBhbmQgbGlzdHMgdGhlIHN1cHBvcnRlZCBsaW5lcy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIyMVwiXG4gICAqL1xuICByZWFkb25seSBqYXZhVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogYGFjdGlvbnMvc2V0dXAtamF2YWAgZGlzdHJpYnV0aW9uIENJIGluc3RhbGxzIHRoZSBKREsgZnJvbS5cbiAgICogQGRlZmF1bHQgXCJ0ZW11cmluXCJcbiAgICovXG4gIHJlYWRvbmx5IGphdmFEaXN0cmlidXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hdmVuIHBhY2thZ2luZyBvZiB0aGUgcm9vdCBwb20gd2hpbGUgdGhlIHByb2plY3QgaGFzIG5vIG1vZHVsZXMuIE9uY2VcbiAgICogYGFkZE1vZHVsZSgpYCBpcyBjYWxsZWQgdGhlIHJvb3QgcG9tIGlzIGFsd2F5cyBgcG9tYC1wYWNrYWdlZCAoYW5kXG4gICAqIHNldHRpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiBgcG9tYCBoZXJlIGlzIGEgc3ludGggZXJyb3IpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImphclwiXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdyaXRlIGEgc3RhcnRlciBgTWFpbmAgY2xhc3MgYW5kIHRlc3QgdW5kZXIgdGhlIGBncm91cElkYCBwYWNrYWdlLCBpZlxuICAgKiBgc3JjL2AgZG9lcyBub3QgZXhpc3QgeWV0LiBOZXZlciB3cml0dGVuIGZvciBhIG11bHRpLW1vZHVsZSBwcm9qZWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGBtYXZlbi1lbmZvcmNlci1wbHVnaW5gLCB3aGljaCBmYWlscyB0aGUgYnVpbGQgdXAgZnJvbnQgd2hlbiB0aGUgSkRLXG4gICAqIG9yIE1hdmVuIHJ1bm5pbmcgaXQgaXMgb2xkZXIgdGhhbiB0aGUgcHJvamVjdCBuZWVkcyAocmF0aGVyIHRoYW4gbGF0ZXIsXG4gICAqIHdpdGggY29uZnVzaW5nIGNvbXBpbGVyIGVycm9ycykuIEl0cyBKYXZhIHJ1bGUgYWx3YXlzIGZvbGxvd3NcbiAgICogYGphdmFWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5mb3JjZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb3dlc3QgTWF2ZW4gdmVyc2lvbiB0aGUgZW5mb3JjZXIgYWNjZXB0cyAoYHJlcXVpcmVNYXZlblZlcnNpb25cbiAgICogWzx0aGlzPiwpYCkuIElnbm9yZWQgd2hlbiBgZW5mb3JjZXJgIGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjMuOVwiXG4gICAqL1xuICByZWFkb25seSBtaW5NYXZlblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgdGhlIHBsdWdpbi9CT00gdmVyc2lvbnMgdGhpcyBwYWNrYWdlIHBpbnMgYnkgZGVmYXVsdCxcbiAgICoga2V5ZWQgYnkgYGdyb3VwSWQvYXJ0aWZhY3RJZGAsIGUuZy5cbiAgICogYHsgJ29yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy9tYXZlbi1zdXJlZmlyZS1wbHVnaW4nOiAnMy41LjYnIH1gLiBWYWx1ZXNcbiAgICogbXVzdCBiZSBleGFjdCB2ZXJzaW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgZGVmYXVsdHMgZm9yIGBqYXZhVmVyc2lvbmBcbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpblZlcnNpb25zPzogeyBbY29vcmRpbmF0ZXM6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBXcml0ZSBhIGBMSUNFTlNFYCBmaWxlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNQRFggaWRlbnRpZmllciBmb3IgdGhlIGdlbmVyYXRlZCBgTElDRU5TRWAuXG4gICAqIEBkZWZhdWx0IFwiTUlUXCJcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2U/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50T3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9lbnZpcm9ubWVudC1vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25KYXZhT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBhcnRpZmFjdElkOiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IFwiMC4xLjBcIiAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBQcm9qZWN0IGRlc2NyaXB0aW9uLCB3cml0dGVuIHRvIHRoZSByb290IHBvbS4gQGRlZmF1bHQgLSBub25lICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKiBQcm9qZWN0IFVSTCwgd3JpdHRlbiB0byB0aGUgcm9vdCBwb20uIEBkZWZhdWx0IC0gbm9uZSAqL1xuICByZWFkb25seSB1cmw/OiBzdHJpbmc7XG5cbiAgLyoqIFNvbmFyQ2xvdWQgcHJvamVjdCBrZXkuIElmIHVuc2V0LCB0aGUgc29uYXIgc2NhbiBzdGVwIGlzIHNraXBwZWQuICovXG4gIHJlYWRvbmx5IHNvbmFyUHJvamVjdEtleT86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCIgKi9cbiAgcmVhZG9ubHkgZ2hlVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEphdmEgbGluZSB0aGUgYnVpbGQgdGFyZ2V0czogYDEuOGAgKGFsaWFzIGA4YCksIGAxN2AsIGAyMWAsIG9yIGAyNWAuXG4gICAqXG4gICAqIERyaXZlcyBldmVyeSBKYXZhLWRlcGVuZGVudCBwYXJ0IG9mIHRoZSBnZW5lcmF0ZWQgYnVpbGQ6IHRoZSBjb21waWxlclxuICAgKiBsZXZlbCAoYG1hdmVuLmNvbXBpbGVyLnJlbGVhc2VgLCBvciBgc291cmNlYC9gdGFyZ2V0YCBmb3IgMS44LCB3aGljaCBoYXNcbiAgICogbm8gYC0tcmVsZWFzZWApLCB0aGUgZW5mb3JjZXIncyBgcmVxdWlyZUphdmFWZXJzaW9uYCBydWxlLCB0aGUgSlVuaXQgbGluZSxcbiAgICogdGhlIGRlZmF1bHQgU3ByaW5nIEJvb3QgbGluZSwgYW5kIHRoZSBKREsgQ0kgaW5zdGFsbHMuIEFueSBvdGhlciB2YWx1ZVxuICAgKiBmYWlscyBhdCBzeW50aCBhbmQgbGlzdHMgdGhlIHN1cHBvcnRlZCBsaW5lcy5cbiAgICpcbiAgICogQGRlZmF1bHQgXCIyMVwiXG4gICAqL1xuICByZWFkb25seSBqYXZhVmVyc2lvbj86IHN0cmluZztcblxuICAvKipcbiAgICogYGFjdGlvbnMvc2V0dXAtamF2YWAgZGlzdHJpYnV0aW9uIENJIGluc3RhbGxzIHRoZSBKREsgZnJvbS5cbiAgICogQGRlZmF1bHQgXCJ0ZW11cmluXCJcbiAgICovXG4gIHJlYWRvbmx5IGphdmFEaXN0cmlidXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1hdmVuIHBhY2thZ2luZyBvZiB0aGUgcm9vdCBwb20gd2hpbGUgdGhlIHByb2plY3QgaGFzIG5vIG1vZHVsZXMuIE9uY2VcbiAgICogYGFkZE1vZHVsZSgpYCBpcyBjYWxsZWQgdGhlIHJvb3QgcG9tIGlzIGFsd2F5cyBgcG9tYC1wYWNrYWdlZCAoYW5kXG4gICAqIHNldHRpbmcgYW55dGhpbmcgb3RoZXIgdGhhbiBgcG9tYCBoZXJlIGlzIGEgc3ludGggZXJyb3IpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcImphclwiXG4gICAqL1xuICByZWFkb25seSBwYWNrYWdpbmc/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdyaXRlIGEgc3RhcnRlciBgTWFpbmAgY2xhc3MgYW5kIHRlc3QgdW5kZXIgdGhlIGBncm91cElkYCBwYWNrYWdlLCBpZlxuICAgKiBgc3JjL2AgZG9lcyBub3QgZXhpc3QgeWV0LiBOZXZlciB3cml0dGVuIGZvciBhIG11bHRpLW1vZHVsZSBwcm9qZWN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGBtYXZlbi1lbmZvcmNlci1wbHVnaW5gLCB3aGljaCBmYWlscyB0aGUgYnVpbGQgdXAgZnJvbnQgd2hlbiB0aGUgSkRLXG4gICAqIG9yIE1hdmVuIHJ1bm5pbmcgaXQgaXMgb2xkZXIgdGhhbiB0aGUgcHJvamVjdCBuZWVkcyAocmF0aGVyIHRoYW4gbGF0ZXIsXG4gICAqIHdpdGggY29uZnVzaW5nIGNvbXBpbGVyIGVycm9ycykuIEl0cyBKYXZhIHJ1bGUgYWx3YXlzIGZvbGxvd3NcbiAgICogYGphdmFWZXJzaW9uYC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZW5mb3JjZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMb3dlc3QgTWF2ZW4gdmVyc2lvbiB0aGUgZW5mb3JjZXIgYWNjZXB0cyAoYHJlcXVpcmVNYXZlblZlcnNpb25cbiAgICogWzx0aGlzPiwpYCkuIElnbm9yZWQgd2hlbiBgZW5mb3JjZXJgIGlzIGZhbHNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIjMuOVwiXG4gICAqL1xuICByZWFkb25seSBtaW5NYXZlblZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgdGhlIHBsdWdpbi9CT00gdmVyc2lvbnMgdGhpcyBwYWNrYWdlIHBpbnMgYnkgZGVmYXVsdCxcbiAgICoga2V5ZWQgYnkgYGdyb3VwSWQvYXJ0aWZhY3RJZGAsIGUuZy5cbiAgICogYHsgJ29yZy5hcGFjaGUubWF2ZW4ucGx1Z2lucy9tYXZlbi1zdXJlZmlyZS1wbHVnaW4nOiAnMy41LjYnIH1gLiBWYWx1ZXNcbiAgICogbXVzdCBiZSBleGFjdCB2ZXJzaW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgZGVmYXVsdHMgZm9yIGBqYXZhVmVyc2lvbmBcbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpblZlcnNpb25zPzogeyBbY29vcmRpbmF0ZXM6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBXcml0ZSBhIGBMSUNFTlNFYCBmaWxlLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsaWNlbnNlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFNQRFggaWRlbnRpZmllciBmb3IgdGhlIGdlbmVyYXRlZCBgTElDRU5TRWAuXG4gICAqIEBkZWZhdWx0IFwiTUlUXCJcbiAgICovXG4gIHJlYWRvbmx5IGxpY2Vuc2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENvcHlyaWdodCBvd25lciBuYW1lZCBpbiB0aGUgYExJQ0VOU0VgLlxuICAgKiBAZGVmYXVsdCBcIlhwZXJ0IFNvZnR3YXJlXCJcbiAgICovXG4gIHJlYWRvbmx5IGNvcHlyaWdodE93bmVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDb3B5cmlnaHQgcGVyaW9kIG5hbWVkIGluIHRoZSBgTElDRU5TRWAuXG4gICAqIEBkZWZhdWx0IC0gdGhlIGN1cnJlbnQgeWVhclxuICAgKi9cbiAgcmVhZG9ubHkgY29weXJpZ2h0UGVyaW9kPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXcml0ZSBhIHByb2plbi1tYW5hZ2VkIGAuZWRpdG9yY29uZmlnYC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZWRpdG9yY29uZmlnPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIG5pZ2h0bHkgYHVwZ3JhZGUueW1sYCB3b3JrZmxvdywgd2hpY2ggcmVwb3J0cyBhdmFpbGFibGVcbiAgICogZGVwZW5kZW5jeSBhbmQgcGx1Z2luIHVwZGF0ZXMgaW4gdGhlIGpvYiBzdW1tYXJ5IChpdCBuZXZlciBlZGl0cyBmaWxlcyAtXG4gICAqIHZlcnNpb25zIGFyZSBjaGFuZ2VkIGluIGAucHJvamVucmMudHNgKS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgdXBncmFkZVdvcmtmbG93PzogYm9vbGVhbjtcbn1cblxuLyoqIE9wdGlvbnMgZm9yIGBKYXZhTWF2ZW5Qcm9qZWN0YC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YU1hdmVuUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25KYXZhT3B0aW9ucyB7fVxuXG4vKiogT3B0aW9ucyBmb3IgYEphdmFTcHJpbmdCb290UHJvamVjdGAuICovXG5leHBvcnQgaW50ZXJmYWNlIEphdmFTcHJpbmdCb290UHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25KYXZhT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBTcHJpbmcgQm9vdCB2ZXJzaW9uOiBpbXBvcnRzIGBzcHJpbmctYm9vdC1kZXBlbmRlbmNpZXNgIGFzIHRoZSBmaXJzdFxuICAgKiBCT00sIGFuZCB2ZXJzaW9ucyBgc3ByaW5nLWJvb3QtbWF2ZW4tcGx1Z2luYC4gTXVzdCBiZSBhbiBleGFjdCB2ZXJzaW9uLlxuICAgKiBTcHJpbmcgQm9vdCAzIGFuZCBsYXRlciBuZWVkIEphdmEgMTcrLCBzbyB3aXRoIGBqYXZhVmVyc2lvbjogJzEuOCdgIG9ubHlcbiAgICogYSAyLnggdmVyc2lvbiBpcyBhY2NlcHRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgbmV3ZXN0IHJlbGVhc2Ugb2YgdGhlIGxpbmUgc3VwcG9ydGluZyBgamF2YVZlcnNpb25gXG4gICAqICgyLjcueCBmb3IgMS44LCBvdGhlcndpc2UgdGhlIGN1cnJlbnQgbWFqb3IpXG4gICAqL1xuICByZWFkb25seSBzcHJpbmdCb290VmVyc2lvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKYXZhTGlicmFyeVByb2plY3RPcHRpb25zIGV4dGVuZHMgQ29tbW9uSmF2YU9wdGlvbnMge1xuICAvKiogVXNlIE1hdmVuIENlbnRyYWwncyBPSURDIHRydXN0ZWQtcHVibGlzaGluZyBmbG93IGluc3RlYWQgb2Ygc2VjcmV0LWJhc2VkIEdQRyBzaWduaW5nLiAqL1xuICByZWFkb25seSBtYXZlbkNlbnRyYWxPaWRjPzogYm9vbGVhbjtcblxuICAvKiogQGRlZmF1bHQgdHJ1ZSAqL1xuICByZWFkb25seSBwdWJsaXNoQ29kZUluZGV4PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDZGtEZXBsb3lIb29rT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgY29tcGFuaW9uIENESyBpbmZyYS9hcHAgcmVwbyAob3duZXIvcmVwbykgdGhhdCBvd25zIHRoZSBhY3R1YWxcbiAgICogaW5mcmFzdHJ1Y3R1cmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHdvcmtmbG93IGlzIHN0aWxsIGdlbmVyYXRlZCwgYnV0IGl0cyBvbmx5IHN0ZXAgZmFpbHMgd2l0aFxuICAgKiBpbnN0cnVjdGlvbnMgKHNlZSBgQ2RrRGVwbG95SG9va2ApXG4gICAqL1xuICByZWFkb25seSB0YXJnZXRSZXBvPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFTZXJ2aWNlUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBKYXZhU3ByaW5nQm9vdFByb2plY3RPcHRpb25zIHtcbiAgLyoqIEBkZWZhdWx0IFwiZG9ja2VyLmlvXCIgKi9cbiAgcmVhZG9ubHkgZG9ja2VyUmVnaXN0cnk/OiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgdXNlRmx5d2F5PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGNvbXBhbmlvbiBDREsgaW5mcmEvYXBwIHJlcG8gKGBvd25lci9yZXBvYCkgd2hvc2UgYGRlcGxveS55bWxgIHRoZVxuICAgKiBgZGVwbG95LWNka2Agd29ya2Zsb3cgZGlzcGF0Y2hlcy5cbiAgICpcbiAgICogQSBwbGFpbiBzdHJpbmcgcmF0aGVyIHRoYW4gYSBuZXN0ZWQgc3RydWN0IHNvIHRoYXRcbiAgICogYHByb2plbiBuZXcgLS1mcm9tIEB4cGVydHNzL3Byb2plbi10eXBlcyBqYXZhX3NlcnZpY2VgIGNhbiBwYXNzIGl0XG4gICAqIChgLS1jZGstZGVwbG95LXRhcmdldC1yZXBvIG93bmVyL3JlcG9gKTogcHJvamVuJ3MgQ0xJIGNhbiBvbmx5IHJlbmRlclxuICAgKiBvcHRpb25zIHdob3NlIHR5cGUgaXMgYSBzdHJpbmcvbnVtYmVyL2Jvb2xlYW4vYXJyYXkvZW51bSwgc28gYVxuICAgKiBzdHJ1Y3QtdHlwZWQgb3B0aW9uIGlzIGludmlzaWJsZSB0byBpdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBgZGVwbG95LWNkay55bWxgIGlzIGdlbmVyYXRlZCB3aXRoIGEgc2luZ2xlIGZhaWxpbmcgc3RlcCB0aGF0XG4gICAqIHRlbGxzIHlvdSB0byBzZXQgdGhpc1xuICAgKi9cbiAgcmVhZG9ubHkgY2RrRGVwbG95VGFyZ2V0UmVwbz86IHN0cmluZztcblxuICAvKipcbiAgICogV2hldGhlciB0byBnZW5lcmF0ZSB0aGUgYGRlcGxveS1jZGtgIHdvcmtmbG93IGF0IGFsbC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgY2RrRGVwbG95SG9vaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERlcGxveSB0YXJnZXRzIHRvIG9mZmVyIG9uIHRoZSBgQ2RrRGVwbG95SG9va2AncyBtYW51YWwtZGlzcGF0Y2hcbiAgICogd29ya2Zsb3csIHdoZW4gdGhlIGhvb2sgaXMgZW5hYmxlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgW1wicHJvZFwiXVxuICAgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnRzPzogKHN0cmluZyB8IEVudmlyb25tZW50T3B0aW9ucylbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKYXZhQXBwUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25KYXZhT3B0aW9ucyB7XG4gIC8qKiBAZGVmYXVsdCBcImh0dHBzOi8vbWF2ZW4ucGtnLmdpdGh1Yi5jb20vT1dORVIvUkVQT1wiIChkZXJpdmVkIGZyb20gdGhlIHJlcG9zaXRvcnkgVVJMKSAqL1xuICByZWFkb25seSBnaFBhY2thZ2VzUmVnaXN0cnk/OiBzdHJpbmc7XG59XG5cbi8qKiBPcHRpb25zIGZvciBgSmF2YU1hdmVuUHJvamVjdC5hZGRNb2R1bGUoKWAuICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdmVuTW9kdWxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBNb2R1bGUgZGlyZWN0b3J5LCByZWxhdGl2ZSB0byB0aGUgcmVwbyByb290IChtYXkgYmUgbmVzdGVkLCBlLmcuXG4gICAqIGB0b29scy9zdHViLW1vZGVsYCkuIEl0cyBgcG9tLnhtbGAgaXMgZ2VuZXJhdGVkIHRoZXJlLlxuICAgKi9cbiAgcmVhZG9ubHkgZGlyOiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgYXJ0aWZhY3RJZDogc3RyaW5nO1xuXG4gIC8qKiBAZGVmYXVsdCAtIHRoZSBhcnRpZmFjdElkICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IC0gbm9uZSAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgXCJqYXJcIiAqL1xuICByZWFkb25seSBwYWNrYWdpbmc/OiBzdHJpbmc7XG59XG4iXX0=
|