@flit/cdk-pipeline 2.4.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +255 -117
- package/dist/artifact.js +1 -1
- package/dist/code-commit-source-segment.js +2 -2
- package/dist/code-star-source-segment.js +2 -2
- package/dist/git-hub-source-segment.js +2 -2
- package/dist/pipeline-segment.d.ts +0 -6
- package/dist/pipeline-segment.js +64 -24
- package/dist/pipeline.js +1 -1
- package/dist/publish-assets-action.js +1 -1
- package/dist/s3-source-segment.js +2 -2
- package/dist/segment.js +2 -2
- package/dist/source-segment.js +1 -1
- package/dist/stack-segment.d.ts +0 -6
- package/dist/stack-segment.js +60 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/pipeline-segment.ts +72 -33
- package/src/stack-segment.ts +74 -37
package/dist/stack-segment.js
CHANGED
|
@@ -10,7 +10,6 @@ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
|
|
|
10
10
|
const path = require("path");
|
|
11
11
|
const artifact_1 = require("./artifact");
|
|
12
12
|
const segment_1 = require("./segment");
|
|
13
|
-
const publish_assets_action_1 = require("./publish-assets-action");
|
|
14
13
|
/**
|
|
15
14
|
* @category Segments
|
|
16
15
|
*/
|
|
@@ -32,7 +31,7 @@ class StackSegment extends segment_1.Segment {
|
|
|
32
31
|
}
|
|
33
32
|
exports.StackSegment = StackSegment;
|
|
34
33
|
_a = JSII_RTTI_SYMBOL_1;
|
|
35
|
-
StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "2.
|
|
34
|
+
StackSegment[_a] = { fqn: "@flit/cdk-pipeline.StackSegment", version: "2.5.1" };
|
|
36
35
|
class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
37
36
|
constructor(scope, id, props) {
|
|
38
37
|
super(scope, id);
|
|
@@ -83,6 +82,54 @@ class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
|
83
82
|
break;
|
|
84
83
|
}
|
|
85
84
|
});
|
|
85
|
+
const prepareChangesProject = new aws_codebuild_1.Project(this, "PrepareChanges", {
|
|
86
|
+
environment: {
|
|
87
|
+
computeType: aws_codebuild_1.ComputeType.MEDIUM,
|
|
88
|
+
buildImage: aws_codebuild_1.LinuxBuildImage.AMAZON_LINUX_2_ARM_3,
|
|
89
|
+
},
|
|
90
|
+
buildSpec: aws_codebuild_1.BuildSpec.fromObject({
|
|
91
|
+
version: 0.2,
|
|
92
|
+
phases: {
|
|
93
|
+
install: {
|
|
94
|
+
"runtime-versions": {
|
|
95
|
+
nodejs: "24",
|
|
96
|
+
},
|
|
97
|
+
commands: "npm install -g aws-cdk",
|
|
98
|
+
},
|
|
99
|
+
build: {
|
|
100
|
+
commands: `npx cdk deploy ${props.stack.stackId} --app ./ --method prepare-change-set --change-set-name pipeline-${props.stack.stackId}-${this.name} --require-approval never`,
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
cache: {
|
|
104
|
+
paths: ["/root/.npm/**/*"],
|
|
105
|
+
},
|
|
106
|
+
}),
|
|
107
|
+
});
|
|
108
|
+
prepareChangesProject.addToRolePolicy(new aws_iam_1.PolicyStatement({
|
|
109
|
+
actions: [
|
|
110
|
+
"ssm:GetParameter",
|
|
111
|
+
"cloudformation:CreateChangeSet",
|
|
112
|
+
"cloudformation:DescribeChangeSet",
|
|
113
|
+
"cloudformation:DescribeStacks",
|
|
114
|
+
"cloudformation:GetTemplate",
|
|
115
|
+
"cloudformation:DeleteChangeSet",
|
|
116
|
+
"iam:PassRole",
|
|
117
|
+
],
|
|
118
|
+
resources: ["*"],
|
|
119
|
+
}));
|
|
120
|
+
prepareChangesProject.addToRolePolicy(new aws_iam_1.PolicyStatement({
|
|
121
|
+
actions: ["sts:AssumeRole"],
|
|
122
|
+
resources: [`arn:*:iam::${aws_cdk_lib_1.Stack.of(this).account}:role/*`],
|
|
123
|
+
conditions: {
|
|
124
|
+
"ForAnyValue:StringEquals": {
|
|
125
|
+
"iam:ResourceTag/aws-cdk:bootstrap-role": [
|
|
126
|
+
"image-publishing",
|
|
127
|
+
"file-publishing",
|
|
128
|
+
"deploy",
|
|
129
|
+
],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
}));
|
|
86
133
|
this.actions = [
|
|
87
134
|
...(buildArtifact
|
|
88
135
|
? [
|
|
@@ -95,29 +142,19 @@ class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
|
95
142
|
environmentVariables: props.environmentVariables,
|
|
96
143
|
project: codeBuildProject,
|
|
97
144
|
}),
|
|
98
|
-
new publish_assets_action_1.PublishAssetsAction(this, "PublishAssets", {
|
|
99
|
-
actionName: `${this.name}PublishAssets`,
|
|
100
|
-
runOrder: 2,
|
|
101
|
-
input: buildArtifact,
|
|
102
|
-
manifestPath: scope.buildDir,
|
|
103
|
-
}),
|
|
104
145
|
]
|
|
105
146
|
: []),
|
|
106
|
-
new aws_codepipeline_actions_1.
|
|
147
|
+
new aws_codepipeline_actions_1.CodeBuildAction({
|
|
107
148
|
actionName: `${this.name}PrepareChanges`,
|
|
108
|
-
runOrder: buildArtifact ?
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
region: props.stack.region,
|
|
112
|
-
changeSetName: `${this.name}Changes`,
|
|
113
|
-
adminPermissions: true,
|
|
114
|
-
templatePath: (buildArtifact ? buildArtifact : props.input).atPath(path.join(scope.buildDir, props.stack.templateFile)),
|
|
149
|
+
runOrder: buildArtifact ? 2 : 1,
|
|
150
|
+
input: buildArtifact ? buildArtifact : props.input,
|
|
151
|
+
project: prepareChangesProject,
|
|
115
152
|
}),
|
|
116
153
|
...(props.manualApproval
|
|
117
154
|
? [
|
|
118
155
|
new aws_codepipeline_actions_1.ManualApprovalAction({
|
|
119
156
|
actionName: `${this.name}ApproveChanges`,
|
|
120
|
-
runOrder: buildArtifact ?
|
|
157
|
+
runOrder: buildArtifact ? 3 : 2,
|
|
121
158
|
}),
|
|
122
159
|
]
|
|
123
160
|
: []),
|
|
@@ -125,15 +162,15 @@ class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
|
125
162
|
actionName: `${this.name}ExecuteChanges`,
|
|
126
163
|
runOrder: props.manualApproval
|
|
127
164
|
? buildArtifact
|
|
128
|
-
?
|
|
165
|
+
? 4
|
|
129
166
|
: 3
|
|
130
167
|
: buildArtifact
|
|
131
|
-
?
|
|
168
|
+
? 3
|
|
132
169
|
: 2,
|
|
133
|
-
stackName: props.
|
|
170
|
+
stackName: props.stack.stackName,
|
|
134
171
|
account: props.stack.account,
|
|
135
172
|
region: props.stack.region,
|
|
136
|
-
changeSetName:
|
|
173
|
+
changeSetName: `pipeline-${props.stack.stackId}-${this.name}`,
|
|
137
174
|
output: props.stackOutput,
|
|
138
175
|
outputFileName: props.outputFileName
|
|
139
176
|
? props.outputFileName
|
|
@@ -146,5 +183,5 @@ class StackSegmentConstructed extends segment_1.SegmentConstructed {
|
|
|
146
183
|
}
|
|
147
184
|
exports.StackSegmentConstructed = StackSegmentConstructed;
|
|
148
185
|
_b = JSII_RTTI_SYMBOL_1;
|
|
149
|
-
StackSegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.StackSegmentConstructed", version: "2.
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBQ3BDLDZEQU9tQztBQUVuQyxtRkFLOEM7QUFDOUMsaURBQTZEO0FBQzdELDZCQUE2QjtBQUU3Qix5Q0FBc0M7QUFDdEMsdUNBQXdEO0FBRXhELG1FQUE4RDtBQWlEOUQ7O0dBRUc7QUFDSCxNQUFhLFlBQWEsU0FBUSxpQkFBTztJQUd4QyxZQUFZLEtBQXdCO1FBQ25DLEtBQUssQ0FBQztZQUNMLEdBQUcsS0FBSztZQUNSLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqRSxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWU7UUFDeEIsT0FBTyxJQUFJLHVCQUF1QixDQUNqQyxLQUFLLEVBQ0wsU0FBUyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQ25DO1lBQ0MsR0FBRyxJQUFJLENBQUMsS0FBSztZQUNiLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztZQUNyQixXQUFXLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ2pDLENBQ0QsQ0FBQztJQUNILENBQUM7O0FBckJGLG9DQXNCQzs7O0FBZUQsTUFBYSx1QkFBd0IsU0FBUSw0QkFBa0I7SUFJOUQsWUFDQyxLQUFlLEVBQ2YsRUFBVSxFQUNWLEtBQW1DO1FBRW5DLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxD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blx0QnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlLFxuXHRCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLFxuXHRCdWlsZFNwZWMsXG5cdG1lcmdlQnVpbGRTcGVjcyxcblx0UHJvamVjdCxcblx0UHJvamVjdFByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuXHRDbG91ZEZvcm1hdGlvbkNyZWF0ZVJlcGxhY2VDaGFuZ2VTZXRBY3Rpb24sXG5cdENsb3VkRm9ybWF0aW9uRXhlY3V0ZUNoYW5nZVNldEFjdGlvbixcblx0Q29kZUJ1aWxkQWN0aW9uLFxuXHRNYW51YWxBcHByb3ZhbEFjdGlvbixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jb2RlcGlwZWxpbmUtYWN0aW9uc1wiO1xuaW1wb3J0IHsgSVJvbGUsIFBvbGljeVN0YXRlbWVudCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCB7IEFydGlmYWN0IH0gZnJvbSBcIi4vYXJ0aWZhY3RcIjtcbmltcG9ydCB7IFNlZ21lbnQsIFNlZ21lbnRDb25zdHJ1Y3RlZCB9IGZyb20gXCIuL3NlZ21lbnRcIjtcbmltcG9ydCB7IFBpcGVsaW5lIH0gZnJvbSBcIi4vcGlwZWxpbmVcIjtcbmltcG9ydCB7IFB1Ymxpc2hBc3NldHNBY3Rpb24gfSBmcm9tIFwiLi9wdWJsaXNoLWFzc2V0cy1hY3Rpb25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja1NlZ21lbnRQcm9wcyB7XG5cdC8qKlxuXHQgKiBUaGUgc3RhY2sgdG8gYmUgZGVwbG95ZWQgaW4gdGhpcyBzZWdtZW50LlxuXHQgKi9cblx0cmVhZG9ubHkgc3RhY2s6IFN0YWNrO1xuXHQvKipcblx0ICogVGhlIGlucHV0IGFyZmlmYWN0IGZvciB0aGUgYnVpbGQgc3RhZ2UuXG5cdCAqL1xuXHRyZWFkb25seSBpbnB1dDogQXJ0aWZhY3QgfCBBcnRpZmFjdFtdO1xuXHQvKipcblx0ICogVGhlIGNvbW1hbmQocykgdG8gYnVpbGQgdGhlIHN0YWNrLlxuXHQgKiBAZXhhbXBsZSBcImNkayBzeW50aCBTdGFja05hbWUgLS1zdHJpY3QgLS1leGNsdXNpdmVseVwiXG5cdCAqL1xuXHRyZWFkb25seSBwcm9qZWN0PzogUHJvamVjdFByb3BzO1xuXHQvKipcblx0ICogVGhlIHJvbGUgZm9yIHRoZSBidWlsZCBzdGFnZS5cblx0ICovXG5cdHJlYWRvbmx5IHJvbGU/OiBJUm9sZTtcblx0LyoqXG5cdCAqIFRoZSBlbnZpcm9ubWVudGFsIHZhcmlhYmxlcyBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuXHQgKi9cblx0cmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9O1xuXHQvKipcblx0ICogVGhlIG5hbWUgb2YgdGhlIHN0YWNrIHRvIGRlcGxveSB0aGUgY2hhbmdlcyB0by5cblx0ICogQGRlZmF1bHQgVGhlIG5hbWUgb2YgdGhlIGdpdmVuIHN0YWNrLlxuXHQgKi9cblx0cmVhZG9ubHkgc3RhY2tOYW1lPzogc3RyaW5nO1xuXHQvKipcblx0ICogVGhlIGFydGlmYWN0IHRvIGhvbGQgdGhlIG91dHB1dCBvZiB0aGUgYnVpbGQgaWYgdGhpcyBzdGFjayBpbmNsdWRlcyBhIGJ1aWxkLlxuXHQgKi9cblx0cmVhZG9ubHkgYnVpbGRPdXRwdXQ/OiBBcnRpZmFjdDtcblx0LyoqXG5cdCAqIFRoZSBhcnRpZmFjdCB0byBob2xkIHRoZSBzdGFjayBkZXBsb3ltZW50IG91dHB1dCBmaWxlLlxuXHQgKi9cblx0cmVhZG9ubHkgc3RhY2tPdXRwdXQ/OiBBcnRpZmFjdDtcblx0LyoqXG5cdCAqIFRoZSBmaWxlbmFtZSBmb3IgdGhlIGZpbGUgaW4gdGhlIG91dHB1dCBhcnRpZmFjdFxuXHQgKiBAZGVmYXVsdCBcImFydGlmYWN0Lmpzb25cIlxuXHQgKi9cblx0cmVhZG9ubHkgb3V0cHV0RmlsZU5hbWU/OiBzdHJpbmc7XG5cdC8qKlxuXHQgKiBEb2VzIHRoaXMgc3RhZ2UgcmVxdWlyZSBtYW51YWwgYXBwcm92YWwgb2YgdGhlIGNoYW5nZSBzZXQ/XG5cdCAqIEBkZWZhdWx0IGZhbHNlXG5cdCAqL1xuXHRyZWFkb25seSBtYW51YWxBcHByb3ZhbD86IEJvb2xlYW47XG59XG5cbi8qKlxuICogQGNhdGVnb3J5IFNlZ21lbnRzXG4gKi9cbmV4cG9ydCBjbGFzcyBTdGFja1NlZ21lbnQgZXh0ZW5kcyBTZWdtZW50IHtcblx0cmVhZG9ubHkgcHJvcHM6IFN0YWNrU2VnbWVudFByb3BzO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BzOiBTdGFja1NlZ21lbnRQcm9wcykge1xuXHRcdHN1cGVyKHtcblx0XHRcdC4uLnByb3BzLFxuXHRcdFx0b3V0cHV0OiBbcHJvcHMuYnVpbGRPdXRwdXQsIHByb3BzLnN0YWNrT3V0cHV0XS5maWx0ZXIoKGEpID0+ICEhYSksXG5cdFx0fSk7XG5cdFx0dGhpcy5wcm9wcyA9IHByb3BzO1xuXHR9XG5cblx0Y29uc3RydWN0KHNjb3BlOiBQaXBlbGluZSk6IFNlZ21lbnRDb25zdHJ1Y3RlZCB7XG5cdFx0cmV0dXJuIG5ldyBTdGFja1NlZ21lbnRDb25zdHJ1Y3RlZChcblx0XHRcdHNjb3BlLFxuXHRcdFx0YERlcGxveSR7dGhpcy5wcm9wcy5zdGFjay5ub2RlLmlkfWAsXG5cdFx0XHR7XG5cdFx0XHRcdC4uLnRoaXMucHJvcHMsXG5cdFx0XHRcdGlucHV0OiB0aGlzLmlucHV0c1swXSxcblx0XHRcdFx0ZXh0cmFJbnB1dHM6IHRoaXMuaW5wdXRzLnNsaWNlKDEpLFxuXHRcdFx0fSxcblx0XHQpO1xuXHR9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyB7XG5cdHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcblx0cmVhZG9ubHkgcHJvamVjdD86IFByb2plY3RQcm9wcztcblx0cmVhZG9ubHkgZW52aXJvbm1lbnRWYXJpYWJsZXM/OiB7IFtrZXk6IHN0cmluZ106IEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZSB9O1xuXHRyZWFkb25seSBzdGFja05hbWU/OiBzdHJpbmc7XG5cdHJlYWRvbmx5IGlucHV0OiBBcnRpZmFjdDtcblx0cmVhZG9ubHkgZXh0cmFJbnB1dHM/OiBBcnRpZmFjdFtdO1xuXHRyZWFkb25seSBidWlsZE91dHB1dD86IEFydGlmYWN0O1xuXHRyZWFkb25seSBzdGFja091dHB1dD86IEFydGlmYWN0O1xuXHRyZWFkb25seSBvdXRwdXRGaWxlTmFtZT86IHN0cmluZztcblx0cmVhZG9ubHkgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQgZXh0ZW5kcyBTZWdtZW50Q29uc3RydWN0ZWQge1xuXHRyZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cdHJlYWRvbmx5IGFjdGlvbnM6IElBY3Rpb25bXTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRzY29wZTogUGlwZWxpbmUsXG5cdFx0aWQ6IHN0cmluZyxcblx0XHRwcm9wczogU3RhY2tTZWdtZW50Q29uc3RydWN0ZWRQcm9wcyxcblx0KSB7XG5cdFx0c3VwZXIoc2NvcGUsIGlkKTtcblxuXHRcdHRoaXMubmFtZSA9IHByb3BzLnN0YWNrLm5vZGUuaWQ7XG5cblx0XHRjb25zdCBidWlsZEFydGlmYWN0ID0gcHJvcHMucHJvamVjdFxuXHRcdFx0PyBwcm9wcy5idWlsZE91dHB1dCB8fCBuZXcgQXJ0aWZhY3QoKVxuXHRcdFx0OiB1bmRlZmluZWQ7XG5cblx0XHRjb25zdCBjb2RlQnVpbGRQcm9qZWN0ID0gbmV3IFByb2plY3QodGhpcywgXCJVcGRhdGVDb2RlQnVpbGRcIiwge1xuXHRcdFx0Li4ucHJvcHMucHJvamVjdCxcblx0XHRcdGJ1aWxkU3BlYzogcHJvcHMucHJvamVjdD8uYnVpbGRTcGVjXG5cdFx0XHRcdD8gbWVyZ2VCdWlsZFNwZWNzKFxuXHRcdFx0XHRcdFx0cHJvcHMucHJvamVjdC5idWlsZFNwZWMsXG5cdFx0XHRcdFx0XHRCdWlsZFNwZWMuZnJvbU9iamVjdCh7XG5cdFx0XHRcdFx0XHRcdGFydGlmYWN0czoge1xuXHRcdFx0XHRcdFx0XHRcdGZpbGVzOiBbcGF0aC5qb2luKHNjb3BlLmJ1aWxkRGlyLCBcIioqLypcIildLFxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdCAgKVxuXHRcdFx0XHQ6IEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHtcblx0XHRcdFx0XHRcdGFydGlmYWN0czoge1xuXHRcdFx0XHRcdFx0XHRmaWxlczogW3BhdGguam9pbihzY29wZS5idWlsZERpciwgXCIqKi8qXCIpXSxcblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdCAgfSksXG5cdFx0fSk7XG5cblx0XHRPYmplY3QuZW50cmllcyhcblx0XHRcdHByb3BzLnByb2plY3Q/LmVudmlyb25tZW50Py5lbnZpcm9ubWVudFZhcmlhYmxlcyB8fCBbXSxcblx0XHQpLmZvckVhY2goKFssIHZdKSA9PiB7XG5cdFx0XHRzd2l0Y2ggKHYudHlwZSkge1xuXHRcdFx0XHRjYXNlIEJ1aWxkRW52aXJvbm1lbnRWYXJpYWJsZVR5cGUuUEFSQU1FVEVSX1NUT1JFOlxuXHRcdFx0XHRcdGNvZGVCdWlsZFByb2plY3QuYWRkVG9Sb2xlUG9saWN5KFxuXHRcdFx0XHRcdFx0bmV3IFBvbGljeVN0YXRlbWVudCh7XG5cdFx0XHRcdFx0XHRcdGFjdGlvbnM6IFtcblx0XHRcdFx0XHRcdFx0XHRcInNzbTpHZXRQYXJhbWV0ZXJcIixcblx0XHRcdFx0XHRcdFx0XHRcInNzbTpHZXRQYXJhbWV0ZXJzXCIsXG5cdFx0XHRcdFx0XHRcdFx0XCJzc206R2V0UGFyYW1ldGVyc0J5UGF0aFwiLFxuXHRcdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdFx0XHRyZXNvdXJjZXM6IFtcblx0XHRcdFx0XHRcdFx0XHRgYXJuOmF3czpzc206Kjoke1N0YWNrLm9mKHRoaXMpLmFjY291bnR9OnBhcmFtZXRlci8ke3YudmFsdWV9YCxcblx0XHRcdFx0XHRcdFx0XSxcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdGNhc2UgQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZS5TRUNSRVRTX01BTkFHRVI6XG5cdFx0XHRcdFx0Y29kZUJ1aWxkUHJvamVjdC5hZGRUb1JvbGVQb2xpY3koXG5cdFx0XHRcdFx0XHRuZXcgUG9saWN5U3RhdGVtZW50KHtcblx0XHRcdFx0XHRcdFx0YWN0aW9uczogW1xuXHRcdFx0XHRcdFx0XHRcdFwic2VjcmV0c21hbmFnZXI6R2V0U2VjcmV0VmFsdWVcIixcblx0XHRcdFx0XHRcdFx0XHRcInNlY3JldHNtYW5hZ2VyOkRlc2NyaWJlU2VjcmV0XCIsXG5cdFx0XHRcdFx0XHRcdF0sXG5cdFx0XHRcdFx0XHRcdHJlc291cmNlczogW1xuXHRcdFx0XHRcdFx0XHRcdCh2LnZhbHVlIGFzIHN0cmluZykuc3RhcnRzV2l0aChcImFybjpcIilcblx0XHRcdFx0XHRcdFx0XHRcdD8gdi52YWx1ZS5zcGxpdChcIjpcIikuc2xpY2UoMCwgNykuam9pbihcIjpcIilcblx0XHRcdFx0XHRcdFx0XHRcdDogYGFybjphd3M6c2VjcmV0c21hbmFnZXI6Kjoke1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFN0YWNrLm9mKHRoaXMpLmFjY291bnRcblx0XHRcdFx0XHRcdFx0XHRcdCAgfTpzZWNyZXQ6JHt2LnZhbHVlfS0qYCxcblx0XHRcdFx0XHRcdFx0XSxcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHR0aGlzLmFjdGlvbnMgPSBbXG5cdFx0XHQuLi4oYnVpbGRBcnRpZmFjdFxuXHRcdFx0XHQ/IFtcblx0XHRcdFx0XHRcdG5ldyBDb2RlQnVpbGRBY3Rpb24oe1xuXHRcdFx0XHRcdFx0XHRhY3Rpb25OYW1lOiBgJHt0aGlzLm5hbWV9QnVpbGRgLFxuXHRcdFx0XHRcdFx0XHRydW5PcmRlcjogMSxcblx0XHRcdFx0XHRcdFx0aW5wdXQ6IHByb3BzLmlucHV0LFxuXHRcdFx0XHRcdFx0XHRleHRyYUlucHV0czogcHJvcHMuZXh0cmFJbnB1dHMsXG5cdFx0XHRcdFx0XHRcdG91dHB1dHM6IFtidWlsZEFydGlmYWN0XSxcblx0XHRcdFx0XHRcdFx0ZW52aXJvbm1lbnRWYXJpYWJsZXM6IHByb3BzLmVudmlyb25tZW50VmFyaWFibGVzLFxuXHRcdFx0XHRcdFx0XHRwcm9qZWN0OiBjb2RlQnVpbGRQcm9qZWN0LFxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0XHRuZXcgUHVibGlzaEFzc2V0c0FjdGlvbih0aGlzLCBcIlB1Ymxpc2hBc3NldHNcIiwge1xuXHRcdFx0XHRcdFx0XHRhY3Rpb25OYW1lOiBgJHt0aGlzLm5hbWV9UHVibGlzaEFzc2V0c2AsXG5cdFx0XHRcdFx0XHRcdHJ1bk9yZGVyOiAyLFxuXHRcdFx0XHRcdFx0XHRpbnB1dDogYnVpbGRBcnRpZmFjdCxcblx0XHRcdFx0XHRcdFx0bWFuaWZlc3RQYXRoOiBzY29wZS5idWlsZERpcixcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHQgIF1cblx0XHRcdFx0OiBbXSksXG5cdFx0XHRuZXcgQ2xvdWRGb3JtYXRpb25DcmVhdGVSZXBsYWNlQ2hhbmdlU2V0QWN0aW9uKHtcblx0XHRcdFx0YWN0aW9uTmFtZTogYCR7dGhpcy5uYW1lfVByZXBhcmVDaGFuZ2VzYCxcblx0XHRcdFx0cnVuT3JkZXI6IGJ1aWxkQXJ0aWZhY3QgPyAzIDogMSxcblx0XHRcdFx0c3RhY2tOYW1lOiBwcm9wcy5zdGFja05hbWUgPyBwcm9wcy5zdGFja05hbWUgOiBwcm9wcy5zdGFjay5zdGFja05hbWUsXG5cdFx0XHRcdGFjY291bnQ6IHByb3BzLnN0YWNrLmFjY291bnQsXG5cdFx0XHRcdHJlZ2lvbjogcHJvcHMuc3RhY2sucmVnaW9uLFxuXHRcdFx0XHRjaGFuZ2VTZXROYW1lOiBgJHt0aGlzLm5hbWV9Q2hhbmdlc2AsXG5cdFx0XHRcdGFkbWluUGVybWlzc2lvbnM6IHRydWUsXG5cdFx0XHRcdHRlbXBsYXRlUGF0aDogKGJ1aWxkQXJ0aWZhY3QgPyBidWlsZEFydGlmYWN0IDogcHJvcHMuaW5wdXQpLmF0UGF0aChcblx0XHRcdFx0XHRwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIHByb3BzLnN0YWNrLnRlbXBsYXRlRmlsZSksXG5cdFx0XHRcdCksXG5cdFx0XHR9KSxcblx0XHRcdC4uLihwcm9wcy5tYW51YWxBcHByb3ZhbFxuXHRcdFx0XHQ/IFtcblx0XHRcdFx0XHRcdG5ldyBNYW51YWxBcHByb3ZhbEFjdGlvbih7XG5cdFx0XHRcdFx0XHRcdGFjdGlvbk5hbWU6IGAke3RoaXMubmFtZX1BcHByb3ZlQ2hhbmdlc2AsXG5cdFx0XHRcdFx0XHRcdHJ1bk9yZGVyOiBidWlsZEFydGlmYWN0ID8gNCA6IDIsXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0ICBdXG5cdFx0XHRcdDogW10pLFxuXHRcdFx0bmV3IENsb3VkRm9ybWF0aW9uRXhlY3V0ZUNoYW5nZVNldEFjdGlvbih7XG5cdFx0XHRcdGFjdGlvbk5hbWU6IGAke3RoaXMubmFtZX1FeGVjdXRlQ2hhbmdlc2AsXG5cdFx0XHRcdHJ1bk9yZGVyOiBwcm9wcy5tYW51YWxBcHByb3ZhbFxuXHRcdFx0XHRcdD8gYnVpbGRBcnRpZmFjdFxuXHRcdFx0XHRcdFx0PyA1XG5cdFx0XHRcdFx0XHQ6IDNcblx0XHRcdFx0XHQ6IGJ1aWxkQXJ0aWZhY3Rcblx0XHRcdFx0XHQgID8gNFxuXHRcdFx0XHRcdCAgOiAyLFxuXHRcdFx0XHRzdGFja05hbWU6IHByb3BzLnN0YWNrTmFtZSA/IHByb3BzLnN0YWNrTmFtZSA6IHByb3BzLnN0YWNrLnN0YWNrTmFtZSxcblx0XHRcdFx0YWNjb3VudDogcHJvcHMuc3RhY2suYWNjb3VudCxcblx0XHRcdFx0cmVnaW9uOiBwcm9wcy5zdGFjay5yZWdpb24sXG5cdFx0XHRcdGNoYW5nZVNldE5hbWU6IGAke3RoaXMubmFtZX1DaGFuZ2VzYCxcblx0XHRcdFx0b3V0cHV0OiBwcm9wcy5zdGFja091dHB1dCxcblx0XHRcdFx0b3V0cHV0RmlsZU5hbWU6IHByb3BzLm91dHB1dEZpbGVOYW1lXG5cdFx0XHRcdFx0PyBwcm9wcy5vdXRwdXRGaWxlTmFtZVxuXHRcdFx0XHRcdDogcHJvcHMuc3RhY2tPdXRwdXRcblx0XHRcdFx0XHQgID8gXCJhcnRpZmFjdC5qc29uXCJcblx0XHRcdFx0XHQgIDogdW5kZWZpbmVkLFxuXHRcdFx0fSksXG5cdFx0XTtcblx0fVxufVxuIl19
|
|
186
|
+
StackSegmentConstructed[_b] = { fqn: "@flit/cdk-pipeline.StackSegmentConstructed", version: "2.5.1" };
|
|
187
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhY2stc2VnbWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zdGFjay1zZWdtZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQW9DO0FBQ3BDLDZEQVNtQztBQUVuQyxtRkFJOEM7QUFDOUMsaURBQTZEO0FBQzdELDZCQUE2QjtBQUU3Qix5Q0FBc0M7QUFDdEMsdUNBQXdEO0FBNkN4RDs7R0FFRztBQUNILE1BQWEsWUFBYSxTQUFRLGlCQUFPO0lBR3hDLFlBQVksS0FBd0I7UUFDbkMsS0FBSyxDQUFDO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pFLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxTQUFTLENBQUMsS0FBZTtRQUN4QixPQUFPLElBQUksdUJBQXVCLENBQ2pDLEtBQUssRUFDTCxTQUFTLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFDbkM7WUFDQyxHQUFHLElBQUksQ0FBQyxLQUFLO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDakMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs7QUFyQkYsb0NBc0JDOzs7QUFjRCxNQUFhLHVCQUF3QixTQUFRLDRCQUFrQjtJQUk5RCxZQUNDLEtBQWUsRUFDZixFQUFVLEVBQ1YsS0FBbUM7UUFFbkMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUVoQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsT0FBTztZQUNsQyxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsSUFBSSxJQUFJLG1CQUFRLEVBQUU7WUFDckMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUViLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSx1QkFBTyxDQUFDLElBQUksRUFBRSxpQkFBaUIsRUFBRTtZQUM3RCxHQUFHLEtBQUssQ0FBQyxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xDLENBQUMsQ0FBQyxJQUFBLCtCQUFlLEVBQ2YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQ3ZCLHlCQUFTLENBQUMsVUFBVSxDQUFDO29CQUNwQixTQUFTLEVBQUU7d0JBQ1YsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUMxQztpQkFDRCxDQUFDLENBQ0Y7Z0JBQ0YsQ0FBQyxDQUFDLHlCQUFTLENBQUMsVUFBVSxDQUFDO29CQUNyQixTQUFTLEVBQUU7d0JBQ1YsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUMxQztpQkFDRCxDQUFDO1NBQ0osQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLE9BQU8sQ0FDYixLQUFLLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsSUFBSSxFQUFFLENBQ3RELENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDbkIsUUFBUSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2hCLEtBQUssNENBQTRCLENBQUMsZUFBZTtvQkFDaEQsZ0JBQWdCLENBQUMsZUFBZSxDQUMvQixJQUFJLHlCQUFlLENBQUM7d0JBQ25CLE9BQU8sRUFBRTs0QkFDUixrQkFBa0I7NEJBQ2xCLG1CQUFtQjs0QkFDbkIseUJBQXlCO3lCQUN6Qjt3QkFDRCxTQUFTLEVBQUU7NEJBQ1YsaUJBQWlCLG1CQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sY0FBYyxDQUFDLENBQUMsS0FBSyxFQUFFO3lCQUM5RDtxQkFDRCxDQUFDLENBQ0YsQ0FBQztvQkFDRixNQUFNO2dCQUNQLEtBQUssNENBQTRCLENBQUMsZUFBZTtvQkFDaEQsZ0JBQWdCLENBQUMsZUFBZSxDQUMvQixJQUFJLHlCQUFlLENBQUM7d0JBQ25CLE9BQU8sRUFBRTs0QkFDUiwrQkFBK0I7NEJBQy9CLCtCQUErQjt5QkFDL0I7d0JBQ0QsU0FBUyxFQUFFOzRCQUNULENBQUMsQ0FBQyxLQUFnQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0NBQ3JDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0NBQzFDLENBQUMsQ0FBQyw0QkFDQSxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUNoQixXQUFXLENBQUMsQ0FBQyxLQUFLLElBQUk7eUJBQ3hCO3FCQUNELENBQUMsQ0FDRixDQUFDO29CQUNGLE1BQU07WUFDUixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxNQUFNLHFCQUFxQixHQUFHLElBQUksdUJBQU8sQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7WUFDakUsV0FBVyxFQUFFO2dCQUNaLFdBQVcsRUFBRSwyQkFBVyxDQUFDLE1BQU07Z0JBQy9CLFVBQVUsRUFBRSwrQkFBZSxDQUFDLG9CQUFvQjthQUNoRDtZQUNELFNBQVMsRUFBRSx5QkFBUyxDQUFDLFVBQVUsQ0FBQztnQkFDL0IsT0FBTyxFQUFFLEdBQUc7Z0JBQ1osTUFBTSxFQUFFO29CQUNQLE9BQU8sRUFBRTt3QkFDUixrQkFBa0IsRUFBRTs0QkFDbkIsTUFBTSxFQUFFLElBQUk7eUJBQ1o7d0JBQ0QsUUFBUSxFQUFFLHdCQUF3QjtxQkFDbEM7b0JBQ0QsS0FBSyxFQUFFO3dCQUNOLFFBQVEsRUFBRSxrQkFBa0IsS0FBSyxDQUFDLEtBQUssQ0FBQyxPQUFPLG9FQUFvRSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSwyQkFBMkI7cUJBQzlLO2lCQUNEO2dCQUNELEtBQUssRUFBRTtvQkFDTixLQUFLLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztpQkFDMUI7YUFDRCxDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgscUJBQXFCLENBQUMsZUFBZSxDQUNwQyxJQUFJLHlCQUFlLENBQUM7WUFDbkIsT0FBTyxFQUFFO2dCQUNSLGtCQUFrQjtnQkFDbEIsZ0NBQWdDO2dCQUNoQyxrQ0FBa0M7Z0JBQ2xDLCtCQUErQjtnQkFDL0IsNEJBQTRCO2dCQUM1QixnQ0FBZ0M7Z0JBQ2hDLGNBQWM7YUFDZDtZQUNELFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNoQixDQUFDLENBQ0YsQ0FBQztRQUVGLHFCQUFxQixDQUFDLGVBQWUsQ0FDcEMsSUFBSSx5QkFBZSxDQUFDO1lBQ25CLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO1lBQzNCLFNBQVMsRUFBRSxDQUFDLGNBQWMsbUJBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxTQUFTLENBQUM7WUFDMUQsVUFBVSxFQUFFO2dCQUNYLDBCQUEwQixFQUFFO29CQUMzQix3Q0FBd0MsRUFBRTt3QkFDekMsa0JBQWtCO3dCQUNsQixpQkFBaUI7d0JBQ2pCLFFBQVE7cUJBQ1I7aUJBQ0Q7YUFDRDtTQUNELENBQUMsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNkLEdBQUcsQ0FBQyxhQUFhO2dCQUNoQixDQUFDLENBQUM7b0JBQ0EsSUFBSSwwQ0FBZSxDQUFDO3dCQUNuQixVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxPQUFPO3dCQUMvQixRQUFRLEVBQUUsQ0FBQzt3QkFDWCxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7d0JBQ2xCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVzt3QkFDOUIsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO3dCQUN4QixvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBQW9CO3dCQUNoRCxPQUFPLEVBQUUsZ0JBQWdCO3FCQUN6QixDQUFDO2lCQUNGO2dCQUNGLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDTixJQUFJLDBDQUFlLENBQUM7Z0JBQ25CLFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLGdCQUFnQjtnQkFDeEMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUMvQixLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLO2dCQUNsRCxPQUFPLEVBQUUscUJBQXFCO2FBQzlCLENBQUM7WUFDRixHQUFHLENBQUMsS0FBSyxDQUFDLGNBQWM7Z0JBQ3ZCLENBQUMsQ0FBQztvQkFDQSxJQUFJLCtDQUFvQixDQUFDO3dCQUN4QixVQUFVLEVBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxnQkFBZ0I7d0JBQ3hDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDL0IsQ0FBQztpQkFDRjtnQkFDRixDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ04sSUFBSSwrREFBb0MsQ0FBQztnQkFDeEMsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksZ0JBQWdCO2dCQUN4QyxRQUFRLEVBQUUsS0FBSyxDQUFDLGNBQWM7b0JBQzdCLENBQUMsQ0FBQyxhQUFhO3dCQUNkLENBQUMsQ0FBQyxDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFDO29CQUNKLENBQUMsQ0FBQyxhQUFhO3dCQUNkLENBQUMsQ0FBQyxDQUFDO3dCQUNILENBQUMsQ0FBQyxDQUFDO2dCQUNMLFNBQVMsRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLFNBQVM7Z0JBQ2hDLE9BQU8sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU87Z0JBQzVCLE1BQU0sRUFBRSxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU07Z0JBQzFCLGFBQWEsRUFBRSxZQUFZLEtBQUssQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQzdELE1BQU0sRUFBRSxLQUFLLENBQUMsV0FBVztnQkFDekIsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO29CQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWM7b0JBQ3RCLENBQUMsQ0FBQyxLQUFLLENBQUMsV0FBVzt3QkFDbEIsQ0FBQyxDQUFDLGVBQWU7d0JBQ2pCLENBQUMsQ0FBQyxTQUFTO2FBQ2IsQ0FBQztTQUNGLENBQUM7SUFDSCxDQUFDOztBQWpMRiwwREFrTEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcblx0QnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlLFxuXHRCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLFxuXHRCdWlsZFNwZWMsXG5cdENvbXB1dGVUeXBlLFxuXHRMaW51eEJ1aWxkSW1hZ2UsXG5cdG1lcmdlQnVpbGRTcGVjcyxcblx0UHJvamVjdCxcblx0UHJvamVjdFByb3BzLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZFwiO1xuaW1wb3J0IHsgSUFjdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lXCI7XG5pbXBvcnQge1xuXHRDbG91ZEZvcm1hdGlvbkV4ZWN1dGVDaGFuZ2VTZXRBY3Rpb24sXG5cdENvZGVCdWlsZEFjdGlvbixcblx0TWFudWFsQXBwcm92YWxBY3Rpb24sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY29kZXBpcGVsaW5lLWFjdGlvbnNcIjtcbmltcG9ydCB7IElSb2xlLCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tIFwicGF0aFwiO1xuXG5pbXBvcnQgeyBBcnRpZmFjdCB9IGZyb20gXCIuL2FydGlmYWN0XCI7XG5pbXBvcnQgeyBTZWdtZW50LCBTZWdtZW50Q29uc3RydWN0ZWQgfSBmcm9tIFwiLi9zZWdtZW50XCI7XG5pbXBvcnQgeyBQaXBlbGluZSB9IGZyb20gXCIuL3BpcGVsaW5lXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhY2tTZWdtZW50UHJvcHMge1xuXHQvKipcblx0ICogVGhlIHN0YWNrIHRvIGJlIGRlcGxveWVkIGluIHRoaXMgc2VnbWVudC5cblx0ICovXG5cdHJlYWRvbmx5IHN0YWNrOiBTdGFjaztcblx0LyoqXG5cdCAqIFRoZSBpbnB1dCBhcmZpZmFjdCBmb3IgdGhlIGJ1aWxkIHN0YWdlLlxuXHQgKi9cblx0cmVhZG9ubHkgaW5wdXQ6IEFydGlmYWN0IHwgQXJ0aWZhY3RbXTtcblx0LyoqXG5cdCAqIFRoZSBjb21tYW5kKHMpIHRvIGJ1aWxkIHRoZSBzdGFjay5cblx0ICogQGV4YW1wbGUgXCJjZGsgc3ludGggU3RhY2tOYW1lIC0tc3RyaWN0IC0tZXhjbHVzaXZlbHlcIlxuXHQgKi9cblx0cmVhZG9ubHkgcHJvamVjdD86IFByb2plY3RQcm9wcztcblx0LyoqXG5cdCAqIFRoZSByb2xlIGZvciB0aGUgYnVpbGQgc3RhZ2UuXG5cdCAqL1xuXHRyZWFkb25seSByb2xlPzogSVJvbGU7XG5cdC8qKlxuXHQgKiBUaGUgZW52aXJvbm1lbnRhbCB2YXJpYWJsZXMgZm9yIHRoZSBidWlsZCBzdGFnZS5cblx0ICovXG5cdHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBCdWlsZEVudmlyb25tZW50VmFyaWFibGUgfTtcblx0LyoqXG5cdCAqIFRoZSBhcnRpZmFjdCB0byBob2xkIHRoZSBvdXRwdXQgb2YgdGhlIGJ1aWxkIGlmIHRoaXMgc3RhY2sgaW5jbHVkZXMgYSBidWlsZC5cblx0ICovXG5cdHJlYWRvbmx5IGJ1aWxkT3V0cHV0PzogQXJ0aWZhY3Q7XG5cdC8qKlxuXHQgKiBUaGUgYXJ0aWZhY3QgdG8gaG9sZCB0aGUgc3RhY2sgZGVwbG95bWVudCBvdXRwdXQgZmlsZS5cblx0ICovXG5cdHJlYWRvbmx5IHN0YWNrT3V0cHV0PzogQXJ0aWZhY3Q7XG5cdC8qKlxuXHQgKiBUaGUgZmlsZW5hbWUgZm9yIHRoZSBmaWxlIGluIHRoZSBvdXRwdXQgYXJ0aWZhY3Rcblx0ICogQGRlZmF1bHQgXCJhcnRpZmFjdC5qc29uXCJcblx0ICovXG5cdHJlYWRvbmx5IG91dHB1dEZpbGVOYW1lPzogc3RyaW5nO1xuXHQvKipcblx0ICogRG9lcyB0aGlzIHN0YWdlIHJlcXVpcmUgbWFudWFsIGFwcHJvdmFsIG9mIHRoZSBjaGFuZ2Ugc2V0P1xuXHQgKiBAZGVmYXVsdCBmYWxzZVxuXHQgKi9cblx0cmVhZG9ubHkgbWFudWFsQXBwcm92YWw/OiBCb29sZWFuO1xufVxuXG4vKipcbiAqIEBjYXRlZ29yeSBTZWdtZW50c1xuICovXG5leHBvcnQgY2xhc3MgU3RhY2tTZWdtZW50IGV4dGVuZHMgU2VnbWVudCB7XG5cdHJlYWRvbmx5IHByb3BzOiBTdGFja1NlZ21lbnRQcm9wcztcblxuXHRjb25zdHJ1Y3Rvcihwcm9wczogU3RhY2tTZWdtZW50UHJvcHMpIHtcblx0XHRzdXBlcih7XG5cdFx0XHQuLi5wcm9wcyxcblx0XHRcdG91dHB1dDogW3Byb3BzLmJ1aWxkT3V0cHV0LCBwcm9wcy5zdGFja091dHB1dF0uZmlsdGVyKChhKSA9PiAhIWEpLFxuXHRcdH0pO1xuXHRcdHRoaXMucHJvcHMgPSBwcm9wcztcblx0fVxuXG5cdGNvbnN0cnVjdChzY29wZTogUGlwZWxpbmUpOiBTZWdtZW50Q29uc3RydWN0ZWQge1xuXHRcdHJldHVybiBuZXcgU3RhY2tTZWdtZW50Q29uc3RydWN0ZWQoXG5cdFx0XHRzY29wZSxcblx0XHRcdGBEZXBsb3kke3RoaXMucHJvcHMuc3RhY2subm9kZS5pZH1gLFxuXHRcdFx0e1xuXHRcdFx0XHQuLi50aGlzLnByb3BzLFxuXHRcdFx0XHRpbnB1dDogdGhpcy5pbnB1dHNbMF0sXG5cdFx0XHRcdGV4dHJhSW5wdXRzOiB0aGlzLmlucHV0cy5zbGljZSgxKSxcblx0XHRcdH0sXG5cdFx0KTtcblx0fVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YWNrU2VnbWVudENvbnN0cnVjdGVkUHJvcHMge1xuXHRyZWFkb25seSBzdGFjazogU3RhY2s7XG5cdHJlYWRvbmx5IHByb2plY3Q/OiBQcm9qZWN0UHJvcHM7XG5cdHJlYWRvbmx5IGVudmlyb25tZW50VmFyaWFibGVzPzogeyBba2V5OiBzdHJpbmddOiBCdWlsZEVudmlyb25tZW50VmFyaWFibGUgfTtcblx0cmVhZG9ubHkgaW5wdXQ6IEFydGlmYWN0O1xuXHRyZWFkb25seSBleHRyYUlucHV0cz86IEFydGlmYWN0W107XG5cdHJlYWRvbmx5IGJ1aWxkT3V0cHV0PzogQXJ0aWZhY3Q7XG5cdHJlYWRvbmx5IHN0YWNrT3V0cHV0PzogQXJ0aWZhY3Q7XG5cdHJlYWRvbmx5IG91dHB1dEZpbGVOYW1lPzogc3RyaW5nO1xuXHRyZWFkb25seSBtYW51YWxBcHByb3ZhbD86IEJvb2xlYW47XG59XG5cbmV4cG9ydCBjbGFzcyBTdGFja1NlZ21lbnRDb25zdHJ1Y3RlZCBleHRlbmRzIFNlZ21lbnRDb25zdHJ1Y3RlZCB7XG5cdHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblx0cmVhZG9ubHkgYWN0aW9uczogSUFjdGlvbltdO1xuXG5cdGNvbnN0cnVjdG9yKFxuXHRcdHNjb3BlOiBQaXBlbGluZSxcblx0XHRpZDogc3RyaW5nLFxuXHRcdHByb3BzOiBTdGFja1NlZ21lbnRDb25zdHJ1Y3RlZFByb3BzLFxuXHQpIHtcblx0XHRzdXBlcihzY29wZSwgaWQpO1xuXG5cdFx0dGhpcy5uYW1lID0gcHJvcHMuc3RhY2subm9kZS5pZDtcblxuXHRcdGNvbnN0IGJ1aWxkQXJ0aWZhY3QgPSBwcm9wcy5wcm9qZWN0XG5cdFx0XHQ/IHByb3BzLmJ1aWxkT3V0cHV0IHx8IG5ldyBBcnRpZmFjdCgpXG5cdFx0XHQ6IHVuZGVmaW5lZDtcblxuXHRcdGNvbnN0IGNvZGVCdWlsZFByb2plY3QgPSBuZXcgUHJvamVjdCh0aGlzLCBcIlVwZGF0ZUNvZGVCdWlsZFwiLCB7XG5cdFx0XHQuLi5wcm9wcy5wcm9qZWN0LFxuXHRcdFx0YnVpbGRTcGVjOiBwcm9wcy5wcm9qZWN0Py5idWlsZFNwZWNcblx0XHRcdFx0PyBtZXJnZUJ1aWxkU3BlY3MoXG5cdFx0XHRcdFx0XHRwcm9wcy5wcm9qZWN0LmJ1aWxkU3BlYyxcblx0XHRcdFx0XHRcdEJ1aWxkU3BlYy5mcm9tT2JqZWN0KHtcblx0XHRcdFx0XHRcdFx0YXJ0aWZhY3RzOiB7XG5cdFx0XHRcdFx0XHRcdFx0ZmlsZXM6IFtwYXRoLmpvaW4oc2NvcGUuYnVpbGREaXIsIFwiKiovKlwiKV0sXG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHQpXG5cdFx0XHRcdDogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuXHRcdFx0XHRcdFx0YXJ0aWZhY3RzOiB7XG5cdFx0XHRcdFx0XHRcdGZpbGVzOiBbcGF0aC5qb2luKHNjb3BlLmJ1aWxkRGlyLCBcIioqLypcIildLFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR9KSxcblx0XHR9KTtcblxuXHRcdE9iamVjdC5lbnRyaWVzKFxuXHRcdFx0cHJvcHMucHJvamVjdD8uZW52aXJvbm1lbnQ/LmVudmlyb25tZW50VmFyaWFibGVzIHx8IFtdLFxuXHRcdCkuZm9yRWFjaCgoWywgdl0pID0+IHtcblx0XHRcdHN3aXRjaCAodi50eXBlKSB7XG5cdFx0XHRcdGNhc2UgQnVpbGRFbnZpcm9ubWVudFZhcmlhYmxlVHlwZS5QQVJBTUVURVJfU1RPUkU6XG5cdFx0XHRcdFx0Y29kZUJ1aWxkUHJvamVjdC5hZGRUb1JvbGVQb2xpY3koXG5cdFx0XHRcdFx0XHRuZXcgUG9saWN5U3RhdGVtZW50KHtcblx0XHRcdFx0XHRcdFx0YWN0aW9uczogW1xuXHRcdFx0XHRcdFx0XHRcdFwic3NtOkdldFBhcmFtZXRlclwiLFxuXHRcdFx0XHRcdFx0XHRcdFwic3NtOkdldFBhcmFtZXRlcnNcIixcblx0XHRcdFx0XHRcdFx0XHRcInNzbTpHZXRQYXJhbWV0ZXJzQnlQYXRoXCIsXG5cdFx0XHRcdFx0XHRcdF0sXG5cdFx0XHRcdFx0XHRcdHJlc291cmNlczogW1xuXHRcdFx0XHRcdFx0XHRcdGBhcm46YXdzOnNzbToqOiR7U3RhY2sub2YodGhpcykuYWNjb3VudH06cGFyYW1ldGVyLyR7di52YWx1ZX1gLFxuXHRcdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0Y2FzZSBCdWlsZEVudmlyb25tZW50VmFyaWFibGVUeXBlLlNFQ1JFVFNfTUFOQUdFUjpcblx0XHRcdFx0XHRjb2RlQnVpbGRQcm9qZWN0LmFkZFRvUm9sZVBvbGljeShcblx0XHRcdFx0XHRcdG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuXHRcdFx0XHRcdFx0XHRhY3Rpb25zOiBbXG5cdFx0XHRcdFx0XHRcdFx0XCJzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZVwiLFxuXHRcdFx0XHRcdFx0XHRcdFwic2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXRcIixcblx0XHRcdFx0XHRcdFx0XSxcblx0XHRcdFx0XHRcdFx0cmVzb3VyY2VzOiBbXG5cdFx0XHRcdFx0XHRcdFx0KHYudmFsdWUgYXMgc3RyaW5nKS5zdGFydHNXaXRoKFwiYXJuOlwiKVxuXHRcdFx0XHRcdFx0XHRcdFx0PyB2LnZhbHVlLnNwbGl0KFwiOlwiKS5zbGljZSgwLCA3KS5qb2luKFwiOlwiKVxuXHRcdFx0XHRcdFx0XHRcdFx0OiBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoqOiR7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0U3RhY2sub2YodGhpcykuYWNjb3VudFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9OnNlY3JldDoke3YudmFsdWV9LSpgLFxuXHRcdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGNvbnN0IHByZXBhcmVDaGFuZ2VzUHJvamVjdCA9IG5ldyBQcm9qZWN0KHRoaXMsIFwiUHJlcGFyZUNoYW5nZXNcIiwge1xuXHRcdFx0ZW52aXJvbm1lbnQ6IHtcblx0XHRcdFx0Y29tcHV0ZVR5cGU6IENvbXB1dGVUeXBlLk1FRElVTSxcblx0XHRcdFx0YnVpbGRJbWFnZTogTGludXhCdWlsZEltYWdlLkFNQVpPTl9MSU5VWF8yX0FSTV8zLFxuXHRcdFx0fSxcblx0XHRcdGJ1aWxkU3BlYzogQnVpbGRTcGVjLmZyb21PYmplY3Qoe1xuXHRcdFx0XHR2ZXJzaW9uOiAwLjIsXG5cdFx0XHRcdHBoYXNlczoge1xuXHRcdFx0XHRcdGluc3RhbGw6IHtcblx0XHRcdFx0XHRcdFwicnVudGltZS12ZXJzaW9uc1wiOiB7XG5cdFx0XHRcdFx0XHRcdG5vZGVqczogXCIyNFwiLFxuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdGNvbW1hbmRzOiBcIm5wbSBpbnN0YWxsIC1nIGF3cy1jZGtcIixcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGJ1aWxkOiB7XG5cdFx0XHRcdFx0XHRjb21tYW5kczogYG5weCBjZGsgZGVwbG95ICR7cHJvcHMuc3RhY2suc3RhY2tJZH0gLS1hcHAgLi8gLS1tZXRob2QgcHJlcGFyZS1jaGFuZ2Utc2V0IC0tY2hhbmdlLXNldC1uYW1lIHBpcGVsaW5lLSR7cHJvcHMuc3RhY2suc3RhY2tJZH0tJHt0aGlzLm5hbWV9IC0tcmVxdWlyZS1hcHByb3ZhbCBuZXZlcmAsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdFx0Y2FjaGU6IHtcblx0XHRcdFx0XHRwYXRoczogW1wiL3Jvb3QvLm5wbS8qKi8qXCJdLFxuXHRcdFx0XHR9LFxuXHRcdFx0fSksXG5cdFx0fSk7XG5cblx0XHRwcmVwYXJlQ2hhbmdlc1Byb2plY3QuYWRkVG9Sb2xlUG9saWN5KFxuXHRcdFx0bmV3IFBvbGljeVN0YXRlbWVudCh7XG5cdFx0XHRcdGFjdGlvbnM6IFtcblx0XHRcdFx0XHRcInNzbTpHZXRQYXJhbWV0ZXJcIixcblx0XHRcdFx0XHRcImNsb3VkZm9ybWF0aW9uOkNyZWF0ZUNoYW5nZVNldFwiLFxuXHRcdFx0XHRcdFwiY2xvdWRmb3JtYXRpb246RGVzY3JpYmVDaGFuZ2VTZXRcIixcblx0XHRcdFx0XHRcImNsb3VkZm9ybWF0aW9uOkRlc2NyaWJlU3RhY2tzXCIsXG5cdFx0XHRcdFx0XCJjbG91ZGZvcm1hdGlvbjpHZXRUZW1wbGF0ZVwiLFxuXHRcdFx0XHRcdFwiY2xvdWRmb3JtYXRpb246RGVsZXRlQ2hhbmdlU2V0XCIsXG5cdFx0XHRcdFx0XCJpYW06UGFzc1JvbGVcIixcblx0XHRcdFx0XSxcblx0XHRcdFx0cmVzb3VyY2VzOiBbXCIqXCJdLFxuXHRcdFx0fSksXG5cdFx0KTtcblxuXHRcdHByZXBhcmVDaGFuZ2VzUHJvamVjdC5hZGRUb1JvbGVQb2xpY3koXG5cdFx0XHRuZXcgUG9saWN5U3RhdGVtZW50KHtcblx0XHRcdFx0YWN0aW9uczogW1wic3RzOkFzc3VtZVJvbGVcIl0sXG5cdFx0XHRcdHJlc291cmNlczogW2Bhcm46KjppYW06OiR7U3RhY2sub2YodGhpcykuYWNjb3VudH06cm9sZS8qYF0sXG5cdFx0XHRcdGNvbmRpdGlvbnM6IHtcblx0XHRcdFx0XHRcIkZvckFueVZhbHVlOlN0cmluZ0VxdWFsc1wiOiB7XG5cdFx0XHRcdFx0XHRcImlhbTpSZXNvdXJjZVRhZy9hd3MtY2RrOmJvb3RzdHJhcC1yb2xlXCI6IFtcblx0XHRcdFx0XHRcdFx0XCJpbWFnZS1wdWJsaXNoaW5nXCIsXG5cdFx0XHRcdFx0XHRcdFwiZmlsZS1wdWJsaXNoaW5nXCIsXG5cdFx0XHRcdFx0XHRcdFwiZGVwbG95XCIsXG5cdFx0XHRcdFx0XHRdLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sXG5cdFx0XHR9KSxcblx0XHQpO1xuXG5cdFx0dGhpcy5hY3Rpb25zID0gW1xuXHRcdFx0Li4uKGJ1aWxkQXJ0aWZhY3Rcblx0XHRcdFx0PyBbXG5cdFx0XHRcdFx0XHRuZXcgQ29kZUJ1aWxkQWN0aW9uKHtcblx0XHRcdFx0XHRcdFx0YWN0aW9uTmFtZTogYCR7dGhpcy5uYW1lfUJ1aWxkYCxcblx0XHRcdFx0XHRcdFx0cnVuT3JkZXI6IDEsXG5cdFx0XHRcdFx0XHRcdGlucHV0OiBwcm9wcy5pbnB1dCxcblx0XHRcdFx0XHRcdFx0ZXh0cmFJbnB1dHM6IHByb3BzLmV4dHJhSW5wdXRzLFxuXHRcdFx0XHRcdFx0XHRvdXRwdXRzOiBbYnVpbGRBcnRpZmFjdF0sXG5cdFx0XHRcdFx0XHRcdGVudmlyb25tZW50VmFyaWFibGVzOiBwcm9wcy5lbnZpcm9ubWVudFZhcmlhYmxlcyxcblx0XHRcdFx0XHRcdFx0cHJvamVjdDogY29kZUJ1aWxkUHJvamVjdCxcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdF1cblx0XHRcdFx0OiBbXSksXG5cdFx0XHRuZXcgQ29kZUJ1aWxkQWN0aW9uKHtcblx0XHRcdFx0YWN0aW9uTmFtZTogYCR7dGhpcy5uYW1lfVByZXBhcmVDaGFuZ2VzYCxcblx0XHRcdFx0cnVuT3JkZXI6IGJ1aWxkQXJ0aWZhY3QgPyAyIDogMSxcblx0XHRcdFx0aW5wdXQ6IGJ1aWxkQXJ0aWZhY3QgPyBidWlsZEFydGlmYWN0IDogcHJvcHMuaW5wdXQsXG5cdFx0XHRcdHByb2plY3Q6IHByZXBhcmVDaGFuZ2VzUHJvamVjdCxcblx0XHRcdH0pLFxuXHRcdFx0Li4uKHByb3BzLm1hbnVhbEFwcHJvdmFsXG5cdFx0XHRcdD8gW1xuXHRcdFx0XHRcdFx0bmV3IE1hbnVhbEFwcHJvdmFsQWN0aW9uKHtcblx0XHRcdFx0XHRcdFx0YWN0aW9uTmFtZTogYCR7dGhpcy5uYW1lfUFwcHJvdmVDaGFuZ2VzYCxcblx0XHRcdFx0XHRcdFx0cnVuT3JkZXI6IGJ1aWxkQXJ0aWZhY3QgPyAzIDogMixcblx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdF1cblx0XHRcdFx0OiBbXSksXG5cdFx0XHRuZXcgQ2xvdWRGb3JtYXRpb25FeGVjdXRlQ2hhbmdlU2V0QWN0aW9uKHtcblx0XHRcdFx0YWN0aW9uTmFtZTogYCR7dGhpcy5uYW1lfUV4ZWN1dGVDaGFuZ2VzYCxcblx0XHRcdFx0cnVuT3JkZXI6IHByb3BzLm1hbnVhbEFwcHJvdmFsXG5cdFx0XHRcdFx0PyBidWlsZEFydGlmYWN0XG5cdFx0XHRcdFx0XHQ/IDRcblx0XHRcdFx0XHRcdDogM1xuXHRcdFx0XHRcdDogYnVpbGRBcnRpZmFjdFxuXHRcdFx0XHRcdFx0PyAzXG5cdFx0XHRcdFx0XHQ6IDIsXG5cdFx0XHRcdHN0YWNrTmFtZTogcHJvcHMuc3RhY2suc3RhY2tOYW1lLFxuXHRcdFx0XHRhY2NvdW50OiBwcm9wcy5zdGFjay5hY2NvdW50LFxuXHRcdFx0XHRyZWdpb246IHByb3BzLnN0YWNrLnJlZ2lvbixcblx0XHRcdFx0Y2hhbmdlU2V0TmFtZTogYHBpcGVsaW5lLSR7cHJvcHMuc3RhY2suc3RhY2tJZH0tJHt0aGlzLm5hbWV9YCxcblx0XHRcdFx0b3V0cHV0OiBwcm9wcy5zdGFja091dHB1dCxcblx0XHRcdFx0b3V0cHV0RmlsZU5hbWU6IHByb3BzLm91dHB1dEZpbGVOYW1lXG5cdFx0XHRcdFx0PyBwcm9wcy5vdXRwdXRGaWxlTmFtZVxuXHRcdFx0XHRcdDogcHJvcHMuc3RhY2tPdXRwdXRcblx0XHRcdFx0XHRcdD8gXCJhcnRpZmFjdC5qc29uXCJcblx0XHRcdFx0XHRcdDogdW5kZWZpbmVkLFxuXHRcdFx0fSksXG5cdFx0XTtcblx0fVxufVxuIl19
|