@cdktn/cli-core 0.23.0-pre.8 → 0.24.0-pre.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/ambient.d.ts +0 -1
- package/build/lib/cdktf-config.d.ts.map +1 -0
- package/build/lib/cdktf-config.js +108 -0
- package/build/lib/cdktf-project-io-handler.d.ts.map +1 -0
- package/build/lib/cdktf-project-io-handler.js +84 -0
- package/build/lib/cdktf-project.d.ts.map +1 -0
- package/build/lib/cdktf-project.js +370 -0
- package/{src → build}/lib/cdktf-stack.d.ts +1 -0
- package/build/lib/cdktf-stack.d.ts.map +1 -0
- package/build/lib/cdktf-stack.js +386 -0
- package/build/lib/convert.d.ts.map +1 -0
- package/build/lib/convert.js +51 -0
- package/build/lib/dependencies/cdktf-config-manager.d.ts.map +1 -0
- package/build/lib/dependencies/cdktf-config-manager.js +36 -0
- package/build/lib/dependencies/dependency-manager.d.ts.map +1 -0
- package/build/lib/dependencies/dependency-manager.js +393 -0
- package/build/lib/dependencies/package-manager.d.ts.map +1 -0
- package/build/lib/dependencies/package-manager.js +581 -0
- package/build/lib/dependencies/prebuilt-providers.d.ts.map +1 -0
- package/build/lib/dependencies/prebuilt-providers.js +221 -0
- package/build/lib/dependencies/registry-api.d.ts.map +1 -0
- package/build/lib/dependencies/registry-api.js +77 -0
- package/build/lib/dependencies/version-constraints.d.ts.map +1 -0
- package/build/lib/dependencies/version-constraints.js +95 -0
- package/build/lib/error-reporting.d.ts.map +1 -0
- package/build/lib/error-reporting.js +133 -0
- package/build/lib/errors.d.ts.map +1 -0
- package/build/lib/errors.js +10 -0
- package/build/lib/execution-logs.d.ts.map +1 -0
- package/build/lib/execution-logs.js +47 -0
- package/build/lib/get.d.ts.map +1 -0
- package/build/lib/get.js +90 -0
- package/build/lib/helpers/stack-helpers.d.ts.map +1 -0
- package/build/lib/helpers/stack-helpers.js +155 -0
- package/build/lib/index.d.ts.map +1 -0
- package/{src → build}/lib/index.js +1 -2
- package/build/lib/init.d.ts.map +1 -0
- package/build/lib/init.js +131 -0
- package/build/lib/local-provider-constraints.d.ts.map +1 -0
- package/build/lib/local-provider-constraints.js +95 -0
- package/build/lib/local-provider-versions.d.ts.map +1 -0
- package/build/lib/local-provider-versions.js +73 -0
- package/{src → build}/lib/models/deploy-machine.d.ts +3 -11
- package/build/lib/models/deploy-machine.d.ts.map +1 -0
- package/build/lib/models/deploy-machine.js +283 -0
- package/build/lib/models/interactive-process.d.ts +28 -0
- package/build/lib/models/interactive-process.d.ts.map +1 -0
- package/build/lib/models/interactive-process.js +59 -0
- package/{src → build}/lib/models/schema.d.ts.map +1 -1
- package/build/lib/models/schema.js +181 -0
- package/{src → build}/lib/models/terraform-cli.d.ts +1 -0
- package/build/lib/models/terraform-cli.d.ts.map +1 -0
- package/build/lib/models/terraform-cli.js +355 -0
- package/build/lib/models/terraform.d.ts.map +1 -0
- package/build/lib/models/terraform.js +72 -0
- package/build/lib/output.d.ts.map +1 -0
- package/build/lib/output.js +211 -0
- package/build/lib/provider-add.d.ts.map +1 -0
- package/build/lib/provider-add.js +30 -0
- package/build/lib/server/terraform-logs.d.ts.map +1 -0
- package/build/lib/server/terraform-logs.js +19 -0
- package/{src → build}/lib/synth-stack.d.ts +1 -0
- package/build/lib/synth-stack.d.ts.map +1 -0
- package/build/lib/synth-stack.js +251 -0
- package/build/lib/synth.d.ts.map +1 -0
- package/build/lib/synth.js +67 -0
- package/{src → build}/lib/terraform-json.d.ts.map +1 -1
- package/build/lib/terraform-json.js +82 -0
- package/build/lib/terraform-provider-lock.d.ts.map +1 -0
- package/{src → build}/lib/terraform-provider-lock.js +2 -2
- package/{src → build}/lib/watch.d.ts +1 -0
- package/build/lib/watch.d.ts.map +1 -0
- package/build/lib/watch.js +155 -0
- package/eslint.config.mjs +2 -70
- package/package.json +22 -33
- package/templates/go/go.mod +1 -1
- package/templates/python/Pipfile +1 -1
- package/templates/typescript/.hooks.sscaff.js +1 -1
- package/templates/typescript/jest.config.js +1 -1
- package/src/lib/cdktf-config.d.ts.map +0 -1
- package/src/lib/cdktf-config.js +0 -108
- package/src/lib/cdktf-project-io-handler.d.ts.map +0 -1
- package/src/lib/cdktf-project-io-handler.js +0 -84
- package/src/lib/cdktf-project.d.ts.map +0 -1
- package/src/lib/cdktf-project.js +0 -371
- package/src/lib/cdktf-stack.d.ts.map +0 -1
- package/src/lib/cdktf-stack.js +0 -386
- package/src/lib/convert.d.ts.map +0 -1
- package/src/lib/convert.js +0 -51
- package/src/lib/dependencies/cdktf-config-manager.d.ts.map +0 -1
- package/src/lib/dependencies/cdktf-config-manager.js +0 -36
- package/src/lib/dependencies/dependency-manager.d.ts.map +0 -1
- package/src/lib/dependencies/dependency-manager.js +0 -393
- package/src/lib/dependencies/package-manager.d.ts.map +0 -1
- package/src/lib/dependencies/package-manager.js +0 -581
- package/src/lib/dependencies/prebuilt-providers.d.ts.map +0 -1
- package/src/lib/dependencies/prebuilt-providers.js +0 -220
- package/src/lib/dependencies/registry-api.d.ts.map +0 -1
- package/src/lib/dependencies/registry-api.js +0 -77
- package/src/lib/dependencies/version-constraints.d.ts.map +0 -1
- package/src/lib/dependencies/version-constraints.js +0 -95
- package/src/lib/error-reporting.d.ts.map +0 -1
- package/src/lib/error-reporting.js +0 -133
- package/src/lib/errors.d.ts.map +0 -1
- package/src/lib/errors.js +0 -10
- package/src/lib/execution-logs.d.ts.map +0 -1
- package/src/lib/execution-logs.js +0 -47
- package/src/lib/get.d.ts.map +0 -1
- package/src/lib/get.js +0 -90
- package/src/lib/helpers/stack-helpers.d.ts.map +0 -1
- package/src/lib/helpers/stack-helpers.js +0 -155
- package/src/lib/index.d.ts.map +0 -1
- package/src/lib/init.d.ts.map +0 -1
- package/src/lib/init.js +0 -131
- package/src/lib/local-provider-constraints.d.ts.map +0 -1
- package/src/lib/local-provider-constraints.js +0 -95
- package/src/lib/local-provider-versions.d.ts.map +0 -1
- package/src/lib/local-provider-versions.js +0 -73
- package/src/lib/models/deploy-machine.d.ts.map +0 -1
- package/src/lib/models/deploy-machine.js +0 -280
- package/src/lib/models/pty-process.d.ts +0 -29
- package/src/lib/models/pty-process.d.ts.map +0 -1
- package/src/lib/models/pty-process.js +0 -132
- package/src/lib/models/schema.js +0 -181
- package/src/lib/models/terraform-cli.d.ts.map +0 -1
- package/src/lib/models/terraform-cli.js +0 -357
- package/src/lib/models/terraform.d.ts.map +0 -1
- package/src/lib/models/terraform.js +0 -72
- package/src/lib/output.d.ts.map +0 -1
- package/src/lib/output.js +0 -211
- package/src/lib/provider-add.d.ts.map +0 -1
- package/src/lib/provider-add.js +0 -30
- package/src/lib/server/terraform-logs.d.ts.map +0 -1
- package/src/lib/server/terraform-logs.js +0 -19
- package/src/lib/synth-stack.d.ts.map +0 -1
- package/src/lib/synth-stack.js +0 -251
- package/src/lib/synth.d.ts.map +0 -1
- package/src/lib/synth.js +0 -67
- package/src/lib/terraform-json.js +0 -82
- package/src/lib/terraform-provider-lock.d.ts.map +0 -1
- package/src/lib/watch.d.ts.map +0 -1
- package/src/lib/watch.js +0 -155
- /package/{src → build}/lib/cdktf-config.d.ts +0 -0
- /package/{src → build}/lib/cdktf-project-io-handler.d.ts +0 -0
- /package/{src → build}/lib/cdktf-project.d.ts +0 -0
- /package/{src → build}/lib/convert.d.ts +0 -0
- /package/{src → build}/lib/dependencies/cdktf-config-manager.d.ts +0 -0
- /package/{src → build}/lib/dependencies/dependency-manager.d.ts +0 -0
- /package/{src → build}/lib/dependencies/package-manager.d.ts +0 -0
- /package/{src → build}/lib/dependencies/prebuilt-providers.d.ts +0 -0
- /package/{src → build}/lib/dependencies/registry-api.d.ts +0 -0
- /package/{src → build}/lib/dependencies/version-constraints.d.ts +0 -0
- /package/{src → build}/lib/error-reporting.d.ts +0 -0
- /package/{src → build}/lib/errors.d.ts +0 -0
- /package/{src → build}/lib/execution-logs.d.ts +0 -0
- /package/{src → build}/lib/get.d.ts +0 -0
- /package/{src → build}/lib/helpers/stack-helpers.d.ts +0 -0
- /package/{src → build}/lib/index.d.ts +0 -0
- /package/{src → build}/lib/init.d.ts +0 -0
- /package/{src → build}/lib/local-provider-constraints.d.ts +0 -0
- /package/{src → build}/lib/local-provider-versions.d.ts +0 -0
- /package/{src → build}/lib/models/schema.d.ts +0 -0
- /package/{src → build}/lib/models/terraform.d.ts +0 -0
- /package/{src → build}/lib/output.d.ts +0 -0
- /package/{src → build}/lib/provider-add.d.ts +0 -0
- /package/{src → build}/lib/server/terraform-logs.d.ts +0 -0
- /package/{src → build}/lib/synth.d.ts +0 -0
- /package/{src → build}/lib/terraform-json.d.ts +0 -0
- /package/{src → build}/lib/terraform-provider-lock.d.ts +0 -0
package/src/lib/models/schema.js
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.schema = void 0;
|
|
27
|
-
// Copyright (c) HashiCorp, Inc
|
|
28
|
-
// SPDX-License-Identifier: MPL-2.0
|
|
29
|
-
const z = __importStar(require("zod"));
|
|
30
|
-
// Schemas from https://www.terraform.io/docs/internals/machine-readable-ui.html#change_summary
|
|
31
|
-
const resource = z.object({
|
|
32
|
-
addr: z.string(),
|
|
33
|
-
module: z.string(),
|
|
34
|
-
resource: z.string(),
|
|
35
|
-
implied_provider: z.string(),
|
|
36
|
-
resource_type: z.string(),
|
|
37
|
-
resource_name: z.string(),
|
|
38
|
-
resource_key: z.string().optional().nullable(),
|
|
39
|
-
});
|
|
40
|
-
const baseMessage = z
|
|
41
|
-
.object({
|
|
42
|
-
"@level": z.enum(["info", "error", "warn"]),
|
|
43
|
-
"@message": z.string(),
|
|
44
|
-
"@module": z.string(),
|
|
45
|
-
"@timestamp": z.string(),
|
|
46
|
-
})
|
|
47
|
-
.nonstrict();
|
|
48
|
-
const action = z.enum(["noop", "create", "read", "update", "delete"]);
|
|
49
|
-
const change = z.object({
|
|
50
|
-
resource,
|
|
51
|
-
action,
|
|
52
|
-
});
|
|
53
|
-
const replaceChange = change.extend({
|
|
54
|
-
action: z.literal("replace"),
|
|
55
|
-
reason: z.enum(["tainted", "requested", "cannot_update"]),
|
|
56
|
-
});
|
|
57
|
-
const plannedChange = baseMessage.extend({
|
|
58
|
-
type: z.literal("planned_change"),
|
|
59
|
-
change: z.union([replaceChange, change]),
|
|
60
|
-
});
|
|
61
|
-
const version = baseMessage.extend({
|
|
62
|
-
type: z.literal("version"),
|
|
63
|
-
});
|
|
64
|
-
const changeSummary = baseMessage.extend({
|
|
65
|
-
type: z.literal("change_summary"),
|
|
66
|
-
changes: z.object({
|
|
67
|
-
add: z.number(),
|
|
68
|
-
change: z.number(),
|
|
69
|
-
remove: z.number(),
|
|
70
|
-
operation: z.enum(["plan", "apply", "deploy"]),
|
|
71
|
-
}),
|
|
72
|
-
});
|
|
73
|
-
const outputs = baseMessage.extend({
|
|
74
|
-
type: z.literal("outputs"),
|
|
75
|
-
outputs: z.record(z.object({
|
|
76
|
-
sensitive: z.boolean(),
|
|
77
|
-
type: z.string(),
|
|
78
|
-
value: z.string(),
|
|
79
|
-
})),
|
|
80
|
-
});
|
|
81
|
-
const applyStart = baseMessage.extend({
|
|
82
|
-
type: z.literal("apply_start"),
|
|
83
|
-
hook: z.object({
|
|
84
|
-
resource,
|
|
85
|
-
action,
|
|
86
|
-
id_key: z.string().optional(),
|
|
87
|
-
id_value: z.string().optional(),
|
|
88
|
-
}),
|
|
89
|
-
});
|
|
90
|
-
const applyProgress = baseMessage.extend({
|
|
91
|
-
type: z.literal("apply_progress"),
|
|
92
|
-
hook: z.object({
|
|
93
|
-
resource,
|
|
94
|
-
action,
|
|
95
|
-
elapsed_seconds: z.number(),
|
|
96
|
-
}),
|
|
97
|
-
});
|
|
98
|
-
const applyComplete = baseMessage.extend({
|
|
99
|
-
type: z.literal("apply_complete"),
|
|
100
|
-
hook: z.object({
|
|
101
|
-
resource,
|
|
102
|
-
action,
|
|
103
|
-
id_key: z.string().optional(),
|
|
104
|
-
id_value: z.string().optional(),
|
|
105
|
-
elapsed_seconds: z.number(),
|
|
106
|
-
}),
|
|
107
|
-
});
|
|
108
|
-
const applyError = baseMessage.extend({
|
|
109
|
-
type: z.literal("apply_errored"),
|
|
110
|
-
hook: z.object({
|
|
111
|
-
resource,
|
|
112
|
-
action,
|
|
113
|
-
elapsed_seconds: z.number(),
|
|
114
|
-
}),
|
|
115
|
-
});
|
|
116
|
-
const provisionStart = baseMessage.extend({
|
|
117
|
-
type: z.literal("provision_start"),
|
|
118
|
-
hook: z.object({
|
|
119
|
-
resource,
|
|
120
|
-
provisioner: z.string(),
|
|
121
|
-
}),
|
|
122
|
-
});
|
|
123
|
-
const provisionProgress = baseMessage.extend({
|
|
124
|
-
type: z.literal("provision_progress"),
|
|
125
|
-
hook: z.object({
|
|
126
|
-
resource,
|
|
127
|
-
provisioner: z.string(),
|
|
128
|
-
output: z.string(),
|
|
129
|
-
}),
|
|
130
|
-
});
|
|
131
|
-
const provisionComplete = baseMessage.extend({
|
|
132
|
-
type: z.literal("provision_complete"),
|
|
133
|
-
hook: z.object({
|
|
134
|
-
resource,
|
|
135
|
-
provisioner: z.string(),
|
|
136
|
-
}),
|
|
137
|
-
});
|
|
138
|
-
const provisionErrored = baseMessage.extend({
|
|
139
|
-
type: z.literal("provision_errored"),
|
|
140
|
-
hook: z.object({
|
|
141
|
-
resource,
|
|
142
|
-
provisioner: z.string(),
|
|
143
|
-
}),
|
|
144
|
-
});
|
|
145
|
-
const refreshStart = baseMessage.extend({
|
|
146
|
-
type: z.literal("refresh_start"),
|
|
147
|
-
hook: z.object({
|
|
148
|
-
resource,
|
|
149
|
-
id_key: z.string().optional(),
|
|
150
|
-
id_value: z.string().optional(),
|
|
151
|
-
}),
|
|
152
|
-
});
|
|
153
|
-
const refreshComplete = baseMessage.extend({
|
|
154
|
-
type: z.literal("refresh_complete"),
|
|
155
|
-
hook: z.object({
|
|
156
|
-
resource,
|
|
157
|
-
id_key: z.string().optional(),
|
|
158
|
-
id_value: z.string().optional(),
|
|
159
|
-
}),
|
|
160
|
-
});
|
|
161
|
-
const logMessage = baseMessage.extend({
|
|
162
|
-
type: z.literal("log"),
|
|
163
|
-
});
|
|
164
|
-
exports.schema = z.union([
|
|
165
|
-
version,
|
|
166
|
-
plannedChange,
|
|
167
|
-
changeSummary,
|
|
168
|
-
outputs,
|
|
169
|
-
applyStart,
|
|
170
|
-
applyProgress,
|
|
171
|
-
applyComplete,
|
|
172
|
-
applyError,
|
|
173
|
-
provisionStart,
|
|
174
|
-
provisionProgress,
|
|
175
|
-
provisionComplete,
|
|
176
|
-
provisionErrored,
|
|
177
|
-
refreshStart,
|
|
178
|
-
refreshComplete,
|
|
179
|
-
logMessage,
|
|
180
|
-
]);
|
|
181
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsK0JBQStCO0FBQy9CLG1DQUFtQztBQUNuQyx1Q0FBeUI7QUFFekIsK0ZBQStGO0FBQy9GLE1BQU0sUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDeEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM1QixhQUFhLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN6QixhQUFhLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN6QixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQyxDQUFDLENBQUM7QUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDO0tBQ2xCLE1BQU0sQ0FBQztJQUNOLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMzQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN0QixTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNyQixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUN6QixDQUFDO0tBQ0QsU0FBUyxFQUFFLENBQUM7QUFFZixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7QUFDdEUsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN0QixRQUFRO0lBQ1IsTUFBTTtDQUNQLENBQUMsQ0FBQztBQUNILE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDbEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzVCLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztDQUMxRCxDQUFDLENBQUM7QUFDSCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0NBQ3pDLENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0NBQzNCLENBQUMsQ0FBQztBQUVILE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDdkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDaEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDZixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNsQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNsQixTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDL0MsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVILE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO0lBQzFCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUNmLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDUCxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtRQUN0QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtRQUNoQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUNsQixDQUFDLENBQ0g7Q0FDRixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUM5QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixNQUFNO1FBQ04sTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDN0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVILE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDdkMsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixRQUFRO1FBQ1IsTUFBTTtRQUNOLGVBQWUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzVCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO0lBQ2pDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUMvQixlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUM1QixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUM7SUFDaEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixRQUFRO1FBQ1IsTUFBTTtRQUNOLGVBQWUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQzVCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3hDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDO0lBQ2xDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsUUFBUTtRQUNSLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQ3hCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUM7SUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUM7SUFDckMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDYixRQUFRO1FBQ1IsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7UUFDdkIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7S0FDbkIsQ0FBQztDQUNILENBQUMsQ0FBQztBQUVILE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUMzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztJQUNyQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtLQUN4QixDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQzFDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDO0lBQ3BDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ2IsUUFBUTtRQUNSLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0tBQ3hCLENBQUM7Q0FDSCxDQUFDLENBQUM7QUFFSCxNQUFNLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO0lBQ3RDLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQztJQUNoQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNoQyxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxlQUFlLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNiLFFBQVE7UUFDUixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUM3QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtLQUNoQyxDQUFDO0NBQ0gsQ0FBQyxDQUFDO0FBRUgsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztJQUNwQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Q0FDdkIsQ0FBQyxDQUFDO0FBRVUsUUFBQSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUM1QixPQUFPO0lBQ1AsYUFBYTtJQUNiLGFBQWE7SUFDYixPQUFPO0lBQ1AsVUFBVTtJQUNWLGFBQWE7SUFDYixhQUFhO0lBQ2IsVUFBVTtJQUNWLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osZUFBZTtJQUNmLFVBQVU7Q0FDWCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0ICogYXMgeiBmcm9tIFwiem9kXCI7XG5cbi8vIFNjaGVtYXMgZnJvbSBodHRwczovL3d3dy50ZXJyYWZvcm0uaW8vZG9jcy9pbnRlcm5hbHMvbWFjaGluZS1yZWFkYWJsZS11aS5odG1sI2NoYW5nZV9zdW1tYXJ5XG5jb25zdCByZXNvdXJjZSA9IHoub2JqZWN0KHtcbiAgYWRkcjogei5zdHJpbmcoKSxcbiAgbW9kdWxlOiB6LnN0cmluZygpLFxuICByZXNvdXJjZTogei5zdHJpbmcoKSxcbiAgaW1wbGllZF9wcm92aWRlcjogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2VfdHlwZTogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2VfbmFtZTogei5zdHJpbmcoKSxcbiAgcmVzb3VyY2Vfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbn0pO1xuY29uc3QgYmFzZU1lc3NhZ2UgPSB6XG4gIC5vYmplY3Qoe1xuICAgIFwiQGxldmVsXCI6IHouZW51bShbXCJpbmZvXCIsIFwiZXJyb3JcIiwgXCJ3YXJuXCJdKSxcbiAgICBcIkBtZXNzYWdlXCI6IHouc3RyaW5nKCksXG4gICAgXCJAbW9kdWxlXCI6IHouc3RyaW5nKCksXG4gICAgXCJAdGltZXN0YW1wXCI6IHouc3RyaW5nKCksXG4gIH0pXG4gIC5ub25zdHJpY3QoKTtcblxuY29uc3QgYWN0aW9uID0gei5lbnVtKFtcIm5vb3BcIiwgXCJjcmVhdGVcIiwgXCJyZWFkXCIsIFwidXBkYXRlXCIsIFwiZGVsZXRlXCJdKTtcbmNvbnN0IGNoYW5nZSA9IHoub2JqZWN0KHtcbiAgcmVzb3VyY2UsXG4gIGFjdGlvbixcbn0pO1xuY29uc3QgcmVwbGFjZUNoYW5nZSA9IGNoYW5nZS5leHRlbmQoe1xuICBhY3Rpb246IHoubGl0ZXJhbChcInJlcGxhY2VcIiksXG4gIHJlYXNvbjogei5lbnVtKFtcInRhaW50ZWRcIiwgXCJyZXF1ZXN0ZWRcIiwgXCJjYW5ub3RfdXBkYXRlXCJdKSxcbn0pO1xuY29uc3QgcGxhbm5lZENoYW5nZSA9IGJhc2VNZXNzYWdlLmV4dGVuZCh7XG4gIHR5cGU6IHoubGl0ZXJhbChcInBsYW5uZWRfY2hhbmdlXCIpLFxuICBjaGFuZ2U6IHoudW5pb24oW3JlcGxhY2VDaGFuZ2UsIGNoYW5nZV0pLFxufSk7XG5cbmNvbnN0IHZlcnNpb24gPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJ2ZXJzaW9uXCIpLFxufSk7XG5cbmNvbnN0IGNoYW5nZVN1bW1hcnkgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJjaGFuZ2Vfc3VtbWFyeVwiKSxcbiAgY2hhbmdlczogei5vYmplY3Qoe1xuICAgIGFkZDogei5udW1iZXIoKSxcbiAgICBjaGFuZ2U6IHoubnVtYmVyKCksXG4gICAgcmVtb3ZlOiB6Lm51bWJlcigpLFxuICAgIG9wZXJhdGlvbjogei5lbnVtKFtcInBsYW5cIiwgXCJhcHBseVwiLCBcImRlcGxveVwiXSksXG4gIH0pLFxufSk7XG5cbmNvbnN0IG91dHB1dHMgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJvdXRwdXRzXCIpLFxuICBvdXRwdXRzOiB6LnJlY29yZChcbiAgICB6Lm9iamVjdCh7XG4gICAgICBzZW5zaXRpdmU6IHouYm9vbGVhbigpLFxuICAgICAgdHlwZTogei5zdHJpbmcoKSxcbiAgICAgIHZhbHVlOiB6LnN0cmluZygpLFxuICAgIH0pLFxuICApLFxufSk7XG5cbmNvbnN0IGFwcGx5U3RhcnQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhcHBseV9zdGFydFwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIGFjdGlvbixcbiAgICBpZF9rZXk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBpZF92YWx1ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBhcHBseVByb2dyZXNzID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXBwbHlfcHJvZ3Jlc3NcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBhY3Rpb24sXG4gICAgZWxhcHNlZF9zZWNvbmRzOiB6Lm51bWJlcigpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBhcHBseUNvbXBsZXRlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwiYXBwbHlfY29tcGxldGVcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBhY3Rpb24sXG4gICAgaWRfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaWRfdmFsdWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBlbGFwc2VkX3NlY29uZHM6IHoubnVtYmVyKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IGFwcGx5RXJyb3IgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJhcHBseV9lcnJvcmVkXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgYWN0aW9uLFxuICAgIGVsYXBzZWRfc2Vjb25kczogei5udW1iZXIoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcHJvdmlzaW9uU3RhcnQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwcm92aXNpb25fc3RhcnRcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBwcm92aXNpb25lcjogei5zdHJpbmcoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcHJvdmlzaW9uUHJvZ3Jlc3MgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwcm92aXNpb25fcHJvZ3Jlc3NcIiksXG4gIGhvb2s6IHoub2JqZWN0KHtcbiAgICByZXNvdXJjZSxcbiAgICBwcm92aXNpb25lcjogei5zdHJpbmcoKSxcbiAgICBvdXRwdXQ6IHouc3RyaW5nKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHByb3Zpc2lvbkNvbXBsZXRlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicHJvdmlzaW9uX2NvbXBsZXRlXCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgcHJvdmlzaW9uZXI6IHouc3RyaW5nKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IHByb3Zpc2lvbkVycm9yZWQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJwcm92aXNpb25fZXJyb3JlZFwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIHByb3Zpc2lvbmVyOiB6LnN0cmluZygpLFxuICB9KSxcbn0pO1xuXG5jb25zdCByZWZyZXNoU3RhcnQgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJyZWZyZXNoX3N0YXJ0XCIpLFxuICBob29rOiB6Lm9iamVjdCh7XG4gICAgcmVzb3VyY2UsXG4gICAgaWRfa2V5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgaWRfdmFsdWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgfSksXG59KTtcblxuY29uc3QgcmVmcmVzaENvbXBsZXRlID0gYmFzZU1lc3NhZ2UuZXh0ZW5kKHtcbiAgdHlwZTogei5saXRlcmFsKFwicmVmcmVzaF9jb21wbGV0ZVwiKSxcbiAgaG9vazogei5vYmplY3Qoe1xuICAgIHJlc291cmNlLFxuICAgIGlkX2tleTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIGlkX3ZhbHVlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIH0pLFxufSk7XG5cbmNvbnN0IGxvZ01lc3NhZ2UgPSBiYXNlTWVzc2FnZS5leHRlbmQoe1xuICB0eXBlOiB6LmxpdGVyYWwoXCJsb2dcIiksXG59KTtcblxuZXhwb3J0IGNvbnN0IHNjaGVtYSA9IHoudW5pb24oW1xuICB2ZXJzaW9uLFxuICBwbGFubmVkQ2hhbmdlLFxuICBjaGFuZ2VTdW1tYXJ5LFxuICBvdXRwdXRzLFxuICBhcHBseVN0YXJ0LFxuICBhcHBseVByb2dyZXNzLFxuICBhcHBseUNvbXBsZXRlLFxuICBhcHBseUVycm9yLFxuICBwcm92aXNpb25TdGFydCxcbiAgcHJvdmlzaW9uUHJvZ3Jlc3MsXG4gIHByb3Zpc2lvbkNvbXBsZXRlLFxuICBwcm92aXNpb25FcnJvcmVkLFxuICByZWZyZXNoU3RhcnQsXG4gIHJlZnJlc2hDb21wbGV0ZSxcbiAgbG9nTWVzc2FnZSxcbl0pO1xuXG5leHBvcnQgdHlwZSBBY3Rpb25UeXBlcyA9IHouaW5mZXI8dHlwZW9mIGFjdGlvbj47XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terraform-cli.d.ts","sourceRoot":"","sources":["terraform-cli.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,oBAAoB,EACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAgBlD,qBAAa,gBACX,SAAQ,qBACR,YAAW,aAAa;aAGN,QAAQ,EAAE,MAAM;aAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;gBAD5B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE;CAI/C;AAED,uBAAe,oBAAoB;IACjC,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnD,OAAc,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACnD;AACD,MAAM,MAAM,YAAY,GAAG,OAAO,oBAAoB,CAAC;AAkCvD,qBAAa,YAAa,YAAW,SAAS;IAY1C,OAAO,CAAC,QAAQ,CAAC,WAAW;aACZ,KAAK,EAAE,gBAAgB;IAZzC,SAAgB,OAAO,EAAE,MAAM,CAAC;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGc;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAGkB;gBAGxB,WAAW,EAAE,WAAW,EACzB,KAAK,EAAE,gBAAgB,EACvC,yBAAyB,YAAY,MAAM,YAAY,YAAY,EAAE,eACzD,MAAM,2BAAuB;IAe9B,IAAI,CAAC,IAAI,EAAE;QACtB,YAAY,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,EAAE,OAAO,CAAC;QACtB,mBAAmB,EAAE,OAAO,CAAC;KAC9B,GAAG,OAAO,CAAC,IAAI,CAAC;IAmFjB,OAAO,KAAK,YAAY,GAQvB;IAED,OAAO,KAAK,UAAU,GAMrB;IAEY,IAAI,CAAC,IAAI,EAAE;QACtB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DJ,MAAM,CACjB,EACE,WAAmB,EACnB,WAAmB,EACnB,OAAe,EACf,WAAgB,EAChB,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;IAgBrB,OAAO,CAClB,EACE,WAAmB,EACnB,WAAgB,EAChB,OAAe,EACf,YAAiB,EACjB,IAAS,EACT,QAAa,GACd;;;;;;;KAAA,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,IAAI,GAC9C,OAAO,CAAC;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,CAAC;YAepB,aAAa;IA+Fd,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAqB1B,MAAM,IAAI,OAAO,CAAC;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IAwBrD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAa7B,KAAK;CAGnB;AAED,wBAAsB,iCAAiC,CACrD,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAMxB;AAED,wBAAsB,mCAAmC,CAAC,UAAU,EAAE,MAAM,iBAK3E"}
|
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.tryRemoveGeneratedConfigurationFile = exports.tryReadGeneratedConfigurationFile = exports.TerraformCli = exports.TerraformCliPlan = void 0;
|
|
30
|
-
// Copyright (c) HashiCorp, Inc
|
|
31
|
-
// SPDX-License-Identifier: MPL-2.0
|
|
32
|
-
const strip_ansi_1 = __importDefault(require("strip-ansi"));
|
|
33
|
-
const commons_1 = require("@cdktn/commons");
|
|
34
|
-
const terraform_1 = require("./terraform");
|
|
35
|
-
const deploy_machine_1 = require("./deploy-machine");
|
|
36
|
-
const waitFor_1 = require("xstate/lib/waitFor");
|
|
37
|
-
const errors_1 = require("../errors");
|
|
38
|
-
const terraform_json_1 = require("../terraform-json");
|
|
39
|
-
const pty_process_1 = require("./pty-process");
|
|
40
|
-
const path_1 = __importDefault(require("path"));
|
|
41
|
-
const fs = __importStar(require("fs-extra"));
|
|
42
|
-
const GENERATE_CONFIG_OUT_FILE = "generated_resources.tf";
|
|
43
|
-
class TerraformCliPlan extends terraform_1.AbstractTerraformPlan {
|
|
44
|
-
constructor(planFile, plan) {
|
|
45
|
-
super(planFile, plan === null || plan === void 0 ? void 0 : plan.resource_changes, plan === null || plan === void 0 ? void 0 : plan.output_changes);
|
|
46
|
-
this.planFile = planFile;
|
|
47
|
-
this.plan = plan;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
exports.TerraformCliPlan = TerraformCliPlan;
|
|
51
|
-
class AbstractOutputFilter {
|
|
52
|
-
}
|
|
53
|
-
// The plan might error if there is a variable missing, but the error message hints the user
|
|
54
|
-
// in a wrong direction. We therefore catch the error and rethrow it with a more helpful message
|
|
55
|
-
class VariableRequiredFilter extends AbstractOutputFilter {
|
|
56
|
-
// Example for "No value for required variable" error
|
|
57
|
-
// ╷
|
|
58
|
-
// │ Error: No value for required variable
|
|
59
|
-
// │
|
|
60
|
-
// │ on cdk.tf.json line 31, in variable:
|
|
61
|
-
// │ 31: "with-dashes": {
|
|
62
|
-
// │
|
|
63
|
-
// │ The root module input variable "with-dashes" is not set, and has no default
|
|
64
|
-
// │ value. Use a -var or -var-file command line argument to provide a value for
|
|
65
|
-
// │ this variable
|
|
66
|
-
static condition(input) {
|
|
67
|
-
const line = (0, strip_ansi_1.default)(input);
|
|
68
|
-
return (line.includes("Error: No value for required variable") &&
|
|
69
|
-
line.includes("The root module input variable"));
|
|
70
|
-
}
|
|
71
|
-
static transform(line) {
|
|
72
|
-
const startMarker = 'The root module input variable "';
|
|
73
|
-
const variableName = line.substring(line.indexOf(startMarker) + startMarker.length, line.indexOf('" is not set'));
|
|
74
|
-
return (0, errors_1.missingVariable)(variableName);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
class TerraformCli {
|
|
78
|
-
constructor(abortSignal, stack, createTerraformLogHandler = (_phase, _filter) => (_stdout, _isErr = false) => { }) {
|
|
79
|
-
this.abortSignal = abortSignal;
|
|
80
|
-
this.stack = stack;
|
|
81
|
-
this.workdir = stack.workingDirectory;
|
|
82
|
-
this.onStdout =
|
|
83
|
-
(phase, filter) => (stdout) => createTerraformLogHandler(phase, filter)(Buffer.isBuffer(stdout) ? stdout.toString() : stdout);
|
|
84
|
-
this.onStderr =
|
|
85
|
-
(phase, filter) => (stderr) => createTerraformLogHandler(phase, filter)(stderr.toString(), true);
|
|
86
|
-
}
|
|
87
|
-
async init(opts) {
|
|
88
|
-
await this.setUserAgent();
|
|
89
|
-
const args = ["init"];
|
|
90
|
-
if (opts.needsUpgrade) {
|
|
91
|
-
args.push("-upgrade");
|
|
92
|
-
}
|
|
93
|
-
if (opts.noColor) {
|
|
94
|
-
args.push("-no-color");
|
|
95
|
-
}
|
|
96
|
-
if (opts.migrateState) {
|
|
97
|
-
args.push("-migrate-state");
|
|
98
|
-
}
|
|
99
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
100
|
-
let initCanNotContinue = (_err) => { };
|
|
101
|
-
const rejectsIfInitCanNotContinue = new Promise((_resolve, reject) => {
|
|
102
|
-
initCanNotContinue = reject;
|
|
103
|
-
});
|
|
104
|
-
const stdout = this.onStdout("init");
|
|
105
|
-
const { actions, exitCode } = (0, pty_process_1.spawnPty)({
|
|
106
|
-
file: commons_1.terraformBinaryName,
|
|
107
|
-
args,
|
|
108
|
-
options: {
|
|
109
|
-
cwd: this.workdir,
|
|
110
|
-
env: process.env,
|
|
111
|
-
},
|
|
112
|
-
}, (data) => {
|
|
113
|
-
stdout(data);
|
|
114
|
-
if (data.includes("Should Terraform migrate your existing state?") ||
|
|
115
|
-
data.includes("Do you want to copy existing state to the new backend")) {
|
|
116
|
-
// TODO: This only happens when terraform is passed the -migrate-state anyway, so this check is redundant
|
|
117
|
-
if (opts.migrateState) {
|
|
118
|
-
actions.writeLine("yes");
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
actions.stop();
|
|
122
|
-
initCanNotContinue("Please pass the --migrate-state flag to migrate your state");
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
this.abortSignal.addEventListener("abort", () => {
|
|
127
|
-
actions.stop();
|
|
128
|
-
});
|
|
129
|
-
const progress = exitCode.then((code) => {
|
|
130
|
-
if (code !== 0) {
|
|
131
|
-
throw new Error(`terraform init failed with exit code ${code}`);
|
|
132
|
-
}
|
|
133
|
-
});
|
|
134
|
-
await Promise.race([progress, rejectsIfInitCanNotContinue]);
|
|
135
|
-
// TODO: this might have performance implications because we don't know if we're
|
|
136
|
-
// running a remote plan or a local one (so we run it always for all platforms)
|
|
137
|
-
// while we'd only need it for remote plans
|
|
138
|
-
if (opts.needsLockfileUpdate) {
|
|
139
|
-
await (0, commons_1.exec)(commons_1.terraformBinaryName, [
|
|
140
|
-
"providers",
|
|
141
|
-
"lock",
|
|
142
|
-
"-platform=linux_amd64",
|
|
143
|
-
...(opts.noColor ? ["-no-color"] : []),
|
|
144
|
-
], {
|
|
145
|
-
cwd: this.workdir,
|
|
146
|
-
env: process.env,
|
|
147
|
-
signal: this.abortSignal,
|
|
148
|
-
noColor: opts.noColor,
|
|
149
|
-
}, this.onStdout("init"), this.onStderr("init"));
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
get isCloudStack() {
|
|
153
|
-
var _a, _b, _c;
|
|
154
|
-
const parsedStack = terraform_json_1.terraformJsonSchema.parse(JSON.parse(this.stack.content));
|
|
155
|
-
return Boolean(((_b = (_a = parsedStack.terraform) === null || _a === void 0 ? void 0 : _a.backend) === null || _b === void 0 ? void 0 : _b.remote) || ((_c = parsedStack.terraform) === null || _c === void 0 ? void 0 : _c.cloud));
|
|
156
|
-
}
|
|
157
|
-
get hasImports() {
|
|
158
|
-
const parsedStack = terraform_json_1.terraformJsonSchema.parse(JSON.parse(this.stack.content));
|
|
159
|
-
return Boolean(parsedStack.import);
|
|
160
|
-
}
|
|
161
|
-
async plan(opts) {
|
|
162
|
-
const { destroy = false, refreshOnly = false, parallelism = -1, vars = [], varFiles = [], noColor = false, } = opts;
|
|
163
|
-
const options = ["plan", "-input=false"];
|
|
164
|
-
const generatedConfigFile = path_1.default.join(this.workdir, GENERATE_CONFIG_OUT_FILE);
|
|
165
|
-
if (fs.existsSync(generatedConfigFile)) {
|
|
166
|
-
fs.remove(generatedConfigFile);
|
|
167
|
-
}
|
|
168
|
-
if (this.hasImports) {
|
|
169
|
-
options.push(`-generate-config-out=${GENERATE_CONFIG_OUT_FILE}`);
|
|
170
|
-
}
|
|
171
|
-
if (!this.isCloudStack) {
|
|
172
|
-
const planFile = "plan";
|
|
173
|
-
options.push("-out", planFile);
|
|
174
|
-
}
|
|
175
|
-
if (destroy) {
|
|
176
|
-
options.push("-destroy");
|
|
177
|
-
}
|
|
178
|
-
if (refreshOnly) {
|
|
179
|
-
options.push("-refresh-only");
|
|
180
|
-
}
|
|
181
|
-
if (parallelism > -1) {
|
|
182
|
-
options.push(`-parallelism=${parallelism}`);
|
|
183
|
-
}
|
|
184
|
-
if (noColor) {
|
|
185
|
-
options.push("-no-color");
|
|
186
|
-
}
|
|
187
|
-
vars.forEach((v) => options.push(`-var=${v}`));
|
|
188
|
-
varFiles.forEach((v) => options.push(`-var-file=${v}`));
|
|
189
|
-
commons_1.logger.debug(`Executing ${commons_1.terraformBinaryName} ${options.join(" ")} in ${this.workdir}`);
|
|
190
|
-
await this.setUserAgent();
|
|
191
|
-
await (0, commons_1.exec)(commons_1.terraformBinaryName, options, {
|
|
192
|
-
cwd: this.workdir,
|
|
193
|
-
env: process.env,
|
|
194
|
-
signal: this.abortSignal,
|
|
195
|
-
noColor,
|
|
196
|
-
}, this.onStdout("plan", [VariableRequiredFilter]), this.onStderr("plan", [VariableRequiredFilter]));
|
|
197
|
-
}
|
|
198
|
-
async deploy({ autoApprove = false, refreshOnly = false, noColor = false, parallelism = -1, extraOptions = [], vars = [], varFiles = [], }, callback) {
|
|
199
|
-
await this.setUserAgent();
|
|
200
|
-
const service = (0, deploy_machine_1.createAndStartDeployService)({
|
|
201
|
-
terraformBinaryName: commons_1.terraformBinaryName,
|
|
202
|
-
workdir: this.workdir,
|
|
203
|
-
refreshOnly,
|
|
204
|
-
noColor,
|
|
205
|
-
autoApprove,
|
|
206
|
-
parallelism,
|
|
207
|
-
extraOptions,
|
|
208
|
-
vars,
|
|
209
|
-
varFiles,
|
|
210
|
-
});
|
|
211
|
-
return this.handleService("deploy", service, callback);
|
|
212
|
-
}
|
|
213
|
-
async destroy({ autoApprove = false, parallelism = -1, noColor = false, extraOptions = [], vars = [], varFiles = [], }, callback) {
|
|
214
|
-
await this.setUserAgent();
|
|
215
|
-
const service = (0, deploy_machine_1.createAndStartDestroyService)({
|
|
216
|
-
terraformBinaryName: commons_1.terraformBinaryName,
|
|
217
|
-
workdir: this.workdir,
|
|
218
|
-
autoApprove,
|
|
219
|
-
parallelism,
|
|
220
|
-
noColor,
|
|
221
|
-
extraOptions,
|
|
222
|
-
vars,
|
|
223
|
-
varFiles,
|
|
224
|
-
});
|
|
225
|
-
return this.handleService("destroy", service, callback);
|
|
226
|
-
}
|
|
227
|
-
async handleService(type, service, callback) {
|
|
228
|
-
// stop terraform apply if signaled as such from the outside (e.g. via ctrl+c)
|
|
229
|
-
this.abortSignal.addEventListener("abort", () => {
|
|
230
|
-
service.send("STOP");
|
|
231
|
-
}, { once: true });
|
|
232
|
-
// relay logs to stdout
|
|
233
|
-
service.onEvent((event) => {
|
|
234
|
-
commons_1.logger.trace(`Terraform CLI state machine event: ${JSON.stringify(event)}`);
|
|
235
|
-
if ((0, deploy_machine_1.isDeployEvent)(event, "OUTPUT_RECEIVED"))
|
|
236
|
-
this.onStdout(type)(event.output);
|
|
237
|
-
else if ((0, deploy_machine_1.isDeployEvent)(event, "APPROVED_EXTERNALLY"))
|
|
238
|
-
callback({ type: "external approval reply", approved: true });
|
|
239
|
-
else if ((0, deploy_machine_1.isDeployEvent)(event, "REJECTED_EXTERNALLY"))
|
|
240
|
-
callback({ type: "external approval reply", approved: false });
|
|
241
|
-
else if ((0, deploy_machine_1.isDeployEvent)(event, "OVERRIDDEN_EXTERNALLY"))
|
|
242
|
-
callback({
|
|
243
|
-
type: "external sentinel override reply",
|
|
244
|
-
overridden: true,
|
|
245
|
-
});
|
|
246
|
-
else if ((0, deploy_machine_1.isDeployEvent)(event, "OVERRIDE_REJECTED_EXTERNALLY"))
|
|
247
|
-
callback({
|
|
248
|
-
type: "external sentinel override reply",
|
|
249
|
-
overridden: false,
|
|
250
|
-
});
|
|
251
|
-
});
|
|
252
|
-
let previousState = "idle";
|
|
253
|
-
service.onTransition((state) => {
|
|
254
|
-
// only send updates on actual state change
|
|
255
|
-
// onTransition is called even if the state didn't change but only an event happened
|
|
256
|
-
if (state.matches(previousState))
|
|
257
|
-
return;
|
|
258
|
-
commons_1.logger.trace(`Terraform CLI state machine state transition: ${JSON.stringify(previousState)} => ${JSON.stringify(state.value)}`);
|
|
259
|
-
if (state.matches({ running: "awaiting_approval" })) {
|
|
260
|
-
callback({
|
|
261
|
-
type: "waiting for approval",
|
|
262
|
-
approve: () => service.send("APPROVE"),
|
|
263
|
-
reject: () => service.send("REJECT"),
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
else if (state.matches({ running: "awaiting_sentinel_override" })) {
|
|
267
|
-
callback({
|
|
268
|
-
type: "waiting for sentinel override",
|
|
269
|
-
override: () => service.send("OVERRIDE"),
|
|
270
|
-
reject: () => service.send("REJECT_OVERRIDE"),
|
|
271
|
-
});
|
|
272
|
-
}
|
|
273
|
-
else if (state.matches({ running: "processing" })) {
|
|
274
|
-
callback({
|
|
275
|
-
type: "running",
|
|
276
|
-
cancelled: Boolean(state.context.cancelled),
|
|
277
|
-
});
|
|
278
|
-
}
|
|
279
|
-
previousState = state.value;
|
|
280
|
-
});
|
|
281
|
-
service.start();
|
|
282
|
-
const state = await (0, waitFor_1.waitFor)(service, (state) => !!state.done, {
|
|
283
|
-
timeout: Infinity,
|
|
284
|
-
});
|
|
285
|
-
commons_1.logger.trace(`Invoking Terraform CLI for ${type} done (state machine reached final state). Last event: ${JSON.stringify(state.event)}. Context: ${JSON.stringify(state.context)}`);
|
|
286
|
-
// example events: { type: 'EXITED', exitCode: 0 }, { type: 'EXTERNAL_REJECT' }
|
|
287
|
-
if (state.event.type === "EXITED" &&
|
|
288
|
-
state.event.exitCode !== 0 &&
|
|
289
|
-
!state.context.cancelled // don't fail if we cancelled the run
|
|
290
|
-
) {
|
|
291
|
-
throw `Invoking Terraform CLI failed with exit code ${state.event.exitCode}`;
|
|
292
|
-
}
|
|
293
|
-
return { cancelled: Boolean(state.context.cancelled) };
|
|
294
|
-
}
|
|
295
|
-
async version() {
|
|
296
|
-
try {
|
|
297
|
-
return await (0, commons_1.exec)(commons_1.terraformBinaryName, ["-v"], {
|
|
298
|
-
cwd: this.workdir,
|
|
299
|
-
env: process.env,
|
|
300
|
-
signal: this.abortSignal,
|
|
301
|
-
noColor: true,
|
|
302
|
-
}, this.onStdout("version"), this.onStderr("version"));
|
|
303
|
-
}
|
|
304
|
-
catch (_a) {
|
|
305
|
-
throw new Error("Terraform CLI not present - Please install a current version https://learn.hashicorp.com/terraform/getting-started/install.html");
|
|
306
|
-
}
|
|
307
|
-
}
|
|
308
|
-
async output() {
|
|
309
|
-
const output = await (0, commons_1.exec)(commons_1.terraformBinaryName, ["output", "-json"], {
|
|
310
|
-
cwd: this.workdir,
|
|
311
|
-
env: process.env,
|
|
312
|
-
signal: this.abortSignal,
|
|
313
|
-
noColor: true,
|
|
314
|
-
},
|
|
315
|
-
// We don't need to log the output here since we use it later on
|
|
316
|
-
() => { }, // eslint-disable-line @typescript-eslint/no-empty-function
|
|
317
|
-
this.onStderr("output"));
|
|
318
|
-
try {
|
|
319
|
-
return JSON.parse(output);
|
|
320
|
-
}
|
|
321
|
-
catch (e) {
|
|
322
|
-
throw commons_1.Errors.External(`Failed to parse terraform output: ${e}. The output was '${output}'`);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
async setUserAgent() {
|
|
326
|
-
// Read the cdktf version from the 'cdk.tf.json' file
|
|
327
|
-
// and set the user agent.
|
|
328
|
-
const version = await (0, commons_1.readCDKTFVersion)(this.workdir);
|
|
329
|
-
if (version != "") {
|
|
330
|
-
process.env.TF_APPEND_USER_AGENT =
|
|
331
|
-
"cdktn/" +
|
|
332
|
-
version +
|
|
333
|
-
" (+https://github.com/open-constructs/cdk-terrain)";
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
// We don't need to clean anything up for a running execution in the CLI since there is no left-over state in contrast to an open Terraform Cloud run
|
|
337
|
-
async abort() {
|
|
338
|
-
return;
|
|
339
|
-
}
|
|
340
|
-
}
|
|
341
|
-
exports.TerraformCli = TerraformCli;
|
|
342
|
-
async function tryReadGeneratedConfigurationFile(workingDir) {
|
|
343
|
-
const generatedConfigPath = path_1.default.join(workingDir, GENERATE_CONFIG_OUT_FILE);
|
|
344
|
-
if (!fs.existsSync(generatedConfigPath)) {
|
|
345
|
-
return null;
|
|
346
|
-
}
|
|
347
|
-
return fs.readFileSync(generatedConfigPath, "utf-8");
|
|
348
|
-
}
|
|
349
|
-
exports.tryReadGeneratedConfigurationFile = tryReadGeneratedConfigurationFile;
|
|
350
|
-
async function tryRemoveGeneratedConfigurationFile(workingDir) {
|
|
351
|
-
const generatedConfigPath = path_1.default.join(workingDir, GENERATE_CONFIG_OUT_FILE);
|
|
352
|
-
if (fs.existsSync(generatedConfigPath)) {
|
|
353
|
-
fs.unlinkSync(generatedConfigPath);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
exports.tryRemoveGeneratedConfigurationFile = tryRemoveGeneratedConfigurationFile;
|
|
357
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVycmFmb3JtLWNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlcnJhZm9ybS1jbGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQkFBK0I7QUFDL0IsbUNBQW1DO0FBQ25DLDREQUFtQztBQUNuQyw0Q0FNd0I7QUFDeEIsMkNBTXFCO0FBRXJCLHFEQUswQjtBQUMxQixnREFBNkM7QUFDN0Msc0NBQTRDO0FBQzVDLHNEQUF3RDtBQUN4RCwrQ0FBeUM7QUFDekMsZ0RBQXdCO0FBQ3hCLDZDQUErQjtBQUUvQixNQUFNLHdCQUF3QixHQUFHLHdCQUF3QixDQUFDO0FBRTFELE1BQWEsZ0JBQ1gsU0FBUSxpQ0FBcUI7SUFHN0IsWUFDa0IsUUFBZ0IsRUFDaEIsSUFBNEI7UUFFNUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsZ0JBQWdCLEVBQUUsSUFBSSxhQUFKLElBQUksdUJBQUosSUFBSSxDQUFFLGNBQWMsQ0FBQyxDQUFDO1FBSDlDLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBd0I7SUFHOUMsQ0FBQztDQUNGO0FBVkQsNENBVUM7QUFFRCxNQUFlLG9CQUFvQjtDQUdsQztBQUdELDRGQUE0RjtBQUM1RixnR0FBZ0c7QUFDaEcsTUFBTSxzQkFBdUIsU0FBUSxvQkFBb0I7SUFDdkQscURBQXFEO0lBQ3JELElBQUk7SUFDSiwwQ0FBMEM7SUFDMUMsSUFBSTtJQUNKLDJDQUEyQztJQUMzQywrQkFBK0I7SUFDL0IsSUFBSTtJQUNKLGdGQUFnRjtJQUNoRixnRkFBZ0Y7SUFDaEYsa0JBQWtCO0lBQ1gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFhO1FBQ25DLE1BQU0sSUFBSSxHQUFHLElBQUEsb0JBQVMsRUFBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixPQUFPLENBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1Q0FBdUMsQ0FBQztZQUN0RCxJQUFJLENBQUMsUUFBUSxDQUFDLGdDQUFnQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBQ00sTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFZO1FBQ2xDLE1BQU0sV0FBVyxHQUFHLGtDQUFrQyxDQUFDO1FBQ3ZELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FDN0IsQ0FBQztRQUVGLE9BQU8sSUFBQSx3QkFBZSxFQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7Q0FDRjtBQUVELE1BQWEsWUFBWTtJQVd2QixZQUNtQixXQUF3QixFQUN6QixLQUF1QixFQUN2Qyw0QkFBNEIsQ0FBQyxNQUFjLEVBQUUsT0FBd0IsRUFBRSxFQUFFLENBQ3ZFLENBQUMsT0FBZSxFQUFFLE1BQU0sR0FBRyxLQUFLLEVBQUUsRUFBRSxHQUFFLENBQUM7UUFIeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsVUFBSyxHQUFMLEtBQUssQ0FBa0I7UUFJdkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFDdEMsSUFBSSxDQUFDLFFBQVE7WUFDWCxDQUFDLEtBQWEsRUFBRSxNQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQXVCLEVBQUUsRUFBRSxDQUN0RSx5QkFBeUIsQ0FDdkIsS0FBSyxFQUNMLE1BQU0sQ0FDUCxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFFBQVE7WUFDWCxDQUFDLEtBQWEsRUFBRSxNQUF1QixFQUFFLEVBQUUsQ0FDM0MsQ0FBQyxNQUEyQixFQUFFLEVBQUUsQ0FDOUIseUJBQXlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRU0sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUtqQjtRQUNDLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRTFCLE1BQU0sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxnRUFBZ0U7UUFDaEUsSUFBSSxrQkFBa0IsR0FBRyxDQUFDLElBQVMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBQzNDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDbkUsa0JBQWtCLEdBQUcsTUFBTSxDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUEsc0JBQVEsRUFDcEM7WUFDRSxJQUFJLEVBQUUsNkJBQW1CO1lBQ3pCLElBQUk7WUFDSixPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQVU7YUFDeEI7U0FDRixFQUNELENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDYixJQUNFLElBQUksQ0FBQyxRQUFRLENBQUMsK0NBQStDLENBQUM7Z0JBQzlELElBQUksQ0FBQyxRQUFRLENBQUMsdURBQXVELENBQUMsRUFDdEUsQ0FBQztnQkFDRCx5R0FBeUc7Z0JBQ3pHLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO29CQUN0QixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMzQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUNmLGtCQUFrQixDQUNoQiw0REFBNEQsQ0FDN0QsQ0FBQztnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FDRixDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQzlDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxJQUFJLElBQUksS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDZixNQUFNLElBQUksS0FBSyxDQUFDLHdDQUF3QyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDLENBQUM7UUFFNUQsZ0ZBQWdGO1FBQ2hGLCtFQUErRTtRQUMvRSwyQ0FBMkM7UUFDM0MsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUEsY0FBSSxFQUNSLDZCQUFtQixFQUNuQjtnQkFDRSxXQUFXO2dCQUNYLE1BQU07Z0JBQ04sdUJBQXVCO2dCQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ3ZDLEVBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUNqQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7Z0JBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztnQkFDeEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FDdEIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBWSxZQUFZOztRQUN0QixNQUFNLFdBQVcsR0FBRyxvQ0FBbUIsQ0FBQyxLQUFLLENBQzNDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FDL0IsQ0FBQztRQUVGLE9BQU8sT0FBTyxDQUNaLENBQUEsTUFBQSxNQUFBLFdBQVcsQ0FBQyxTQUFTLDBDQUFFLE9BQU8sMENBQUUsTUFBTSxNQUFJLE1BQUEsV0FBVyxDQUFDLFNBQVMsMENBQUUsS0FBSyxDQUFBLENBQ3ZFLENBQUM7SUFDSixDQUFDO0lBRUQsSUFBWSxVQUFVO1FBQ3BCLE1BQU0sV0FBVyxHQUFHLG9DQUFtQixDQUFDLEtBQUssQ0FDM0MsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUMvQixDQUFDO1FBRUYsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTSxLQUFLLENBQUMsSUFBSSxDQUFDLElBT2pCO1FBQ0MsTUFBTSxFQUNKLE9BQU8sR0FBRyxLQUFLLEVBQ2YsV0FBVyxHQUFHLEtBQUssRUFDbkIsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUNoQixJQUFJLEdBQUcsRUFBRSxFQUNULFFBQVEsR0FBRyxFQUFFLEVBQ2IsT0FBTyxHQUFHLEtBQUssR0FDaEIsR0FBRyxJQUFJLENBQUM7UUFDVCxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUV6QyxNQUFNLG1CQUFtQixHQUFHLGNBQUksQ0FBQyxJQUFJLENBQ25DLElBQUksQ0FBQyxPQUFPLEVBQ1osd0JBQXdCLENBQ3pCLENBQUM7UUFDRixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLEVBQUUsQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLElBQUksQ0FBQyx3QkFBd0Isd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQztZQUN4QixPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBRUQsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksV0FBVyxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNoQyxDQUFDO1FBQ0QsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyQixPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixXQUFXLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRXhELGdCQUFNLENBQUMsS0FBSyxDQUNWLGFBQWEsNkJBQW1CLElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQzNFLENBQUM7UUFFRixNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUUxQixNQUFNLElBQUEsY0FBSSxFQUNSLDZCQUFtQixFQUNuQixPQUFPLEVBQ1A7WUFDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDakIsR0FBRyxFQUFFLE9BQU8sQ0FBQyxHQUFHO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLENBQUMsV0FBVztZQUN4QixPQUFPO1NBQ1IsRUFDRCxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFDL0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRU0sS0FBSyxDQUFDLE1BQU0sQ0FDakIsRUFDRSxXQUFXLEdBQUcsS0FBSyxFQUNuQixXQUFXLEdBQUcsS0FBSyxFQUNuQixPQUFPLEdBQUcsS0FBSyxFQUNmLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFDaEIsWUFBWSxHQUFHLEVBQUUsRUFDakIsSUFBSSxHQUFHLEVBQUUsRUFDVCxRQUFRLEdBQUcsRUFBRSxHQUNkLEVBQ0QsUUFBK0M7UUFFL0MsTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBQSw0Q0FBMkIsRUFBQztZQUMxQyxtQkFBbUIsRUFBbkIsNkJBQW1CO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixXQUFXO1lBQ1gsT0FBTztZQUNQLFdBQVc7WUFDWCxXQUFXO1lBQ1gsWUFBWTtZQUNaLElBQUk7WUFDSixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDekQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPLENBQ2xCLEVBQ0UsV0FBVyxHQUFHLEtBQUssRUFDbkIsV0FBVyxHQUFHLENBQUMsQ0FBQyxFQUNoQixPQUFPLEdBQUcsS0FBSyxFQUNmLFlBQVksR0FBRyxFQUFFLEVBQ2pCLElBQUksR0FBRyxFQUFFLEVBQ1QsUUFBUSxHQUFHLEVBQUUsR0FDZCxFQUNELFFBQStDO1FBRS9DLE1BQU0sSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLE1BQU0sT0FBTyxHQUFHLElBQUEsNkNBQTRCLEVBQUM7WUFDM0MsbUJBQW1CLEVBQW5CLDZCQUFtQjtZQUNuQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsV0FBVztZQUNYLFdBQVc7WUFDWCxPQUFPO1lBQ1AsWUFBWTtZQUNaLElBQUk7WUFDSixRQUFRO1NBQ1QsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLEtBQUssQ0FBQyxhQUFhLENBQ3pCLElBQTBCLEVBQzFCLE9BRW1ELEVBQ25ELFFBQStDO1FBRS9DLDhFQUE4RTtRQUM5RSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUMvQixPQUFPLEVBQ1AsR0FBRyxFQUFFO1lBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixDQUFDLEVBQ0QsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQ2YsQ0FBQztRQUVGLHVCQUF1QjtRQUN2QixPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDeEIsZ0JBQU0sQ0FBQyxLQUFLLENBQ1Ysc0NBQXNDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FDOUQsQ0FBQztZQUNGLElBQUksSUFBQSw4QkFBYSxFQUFDLEtBQUssRUFBRSxpQkFBaUIsQ0FBQztnQkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7aUJBQy9CLElBQUksSUFBQSw4QkFBYSxFQUFDLEtBQUssRUFBRSxxQkFBcUIsQ0FBQztnQkFDbEQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLHlCQUF5QixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUMzRCxJQUFJLElBQUEsOEJBQWEsRUFBQyxLQUFLLEVBQUUscUJBQXFCLENBQUM7Z0JBQ2xELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSx5QkFBeUIsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztpQkFDNUQsSUFBSSxJQUFBLDhCQUFhLEVBQUMsS0FBSyxFQUFFLHVCQUF1QixDQUFDO2dCQUNwRCxRQUFRLENBQUM7b0JBQ1AsSUFBSSxFQUFFLGtDQUFrQztvQkFDeEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCLENBQUMsQ0FBQztpQkFDQSxJQUFJLElBQUEsOEJBQWEsRUFBQyxLQUFLLEVBQUUsOEJBQThCLENBQUM7Z0JBQzNELFFBQVEsQ0FBQztvQkFDUCxJQUFJLEVBQUUsa0NBQWtDO29CQUN4QyxVQUFVLEVBQUUsS0FBSztpQkFDbEIsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLGFBQWEsR0FBeUIsTUFBTSxDQUFDO1FBRWpELE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUM3QiwyQ0FBMkM7WUFDM0Msb0ZBQW9GO1lBQ3BGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFxQyxDQUFDO2dCQUFFLE9BQU87WUFFakUsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsaURBQWlELElBQUksQ0FBQyxTQUFTLENBQzdELGFBQWEsQ0FDZCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQ3RDLENBQUM7WUFFRixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELFFBQVEsQ0FBQztvQkFDUCxJQUFJLEVBQUUsc0JBQXNCO29CQUM1QixPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ3RDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDckMsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BFLFFBQVEsQ0FBQztvQkFDUCxJQUFJLEVBQUUsK0JBQStCO29CQUNyQyxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7b0JBQ3hDLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO2lCQUM5QyxDQUFDLENBQUM7WUFDTCxDQUFDO2lCQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELFFBQVEsQ0FBQztvQkFDUCxJQUFJLEVBQUUsU0FBUztvQkFDZixTQUFTLEVBQUUsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO2lCQUM1QyxDQUFDLENBQUM7WUFDTCxDQUFDO1lBQ0QsYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUE2QixDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBQSxpQkFBTyxFQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDNUQsT0FBTyxFQUFFLFFBQVE7U0FDbEIsQ0FBQyxDQUFDO1FBRUgsZ0JBQU0sQ0FBQyxLQUFLLENBQ1YsOEJBQThCLElBQUksMERBQTBELElBQUksQ0FBQyxTQUFTLENBQ3hHLEtBQUssQ0FBQyxLQUFLLENBQ1osY0FBYyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUMvQyxDQUFDO1FBRUYsK0VBQStFO1FBQy9FLElBQ0UsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUM3QixLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsS0FBSyxDQUFDO1lBQzFCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMscUNBQXFDO1VBQzlELENBQUM7WUFDRCxNQUFNLGdEQUFnRCxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQy9FLENBQUM7UUFFRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFPO1FBQ2xCLElBQUksQ0FBQztZQUNILE9BQU8sTUFBTSxJQUFBLGNBQUksRUFDZiw2QkFBbUIsRUFDbkIsQ0FBQyxJQUFJLENBQUMsRUFDTjtnQkFDRSxHQUFHLEVBQUUsSUFBSSxDQUFDLE9BQU87Z0JBQ2pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztnQkFDaEIsTUFBTSxFQUFFLElBQUksQ0FBQyxXQUFXO2dCQUN4QixPQUFPLEVBQUUsSUFBSTthQUNkLEVBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FDekIsQ0FBQztRQUNKLENBQUM7UUFBQyxXQUFNLENBQUM7WUFDUCxNQUFNLElBQUksS0FBSyxDQUNiLGlJQUFpSSxDQUNsSSxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsTUFBTTtRQUNqQixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUEsY0FBSSxFQUN2Qiw2QkFBbUIsRUFDbkIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLEVBQ25CO1lBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ2pCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztZQUNoQixNQUFNLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDeEIsT0FBTyxFQUFFLElBQUk7U0FDZDtRQUNELGdFQUFnRTtRQUNoRSxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUUsMkRBQTJEO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQ3hCLENBQUM7UUFFRixJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxNQUFNLGdCQUFNLENBQUMsUUFBUSxDQUNuQixxQ0FBcUMsQ0FBQyxxQkFBcUIsTUFBTSxHQUFHLENBQ3JFLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUssQ0FBQyxZQUFZO1FBQ3ZCLHFEQUFxRDtRQUNyRCwwQkFBMEI7UUFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFBLDBCQUFnQixFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRCxJQUFJLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLG9CQUFvQjtnQkFDOUIsUUFBUTtvQkFDUixPQUFPO29CQUNQLG9EQUFvRCxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRUQscUpBQXFKO0lBQzlJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLE9BQU87SUFDVCxDQUFDO0NBQ0Y7QUE3WkQsb0NBNlpDO0FBRU0sS0FBSyxVQUFVLGlDQUFpQyxDQUNyRCxVQUFrQjtJQUVsQixNQUFNLG1CQUFtQixHQUFHLGNBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLHdCQUF3QixDQUFDLENBQUM7SUFDNUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLENBQUMsRUFBRSxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN2RCxDQUFDO0FBUkQsOEVBUUM7QUFFTSxLQUFLLFVBQVUsbUNBQW1DLENBQUMsVUFBa0I7SUFDMUUsTUFBTSxtQkFBbUIsR0FBRyxjQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxDQUFDO0lBQzVFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7UUFDdkMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7QUFDSCxDQUFDO0FBTEQsa0ZBS0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIEhhc2hpQ29ycCwgSW5jXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuaW1wb3J0IHN0cmlwQW5zaSBmcm9tIFwic3RyaXAtYW5zaVwiO1xuaW1wb3J0IHtcbiAgRXJyb3JzLFxuICBleGVjLFxuICBsb2dnZXIsXG4gIHJlYWRDREtURlZlcnNpb24sXG4gIHRlcnJhZm9ybUJpbmFyeU5hbWUsXG59IGZyb20gXCJAY2RrdG4vY29tbW9uc1wiO1xuaW1wb3J0IHtcbiAgVGVycmFmb3JtLFxuICBUZXJyYWZvcm1QbGFuLFxuICBUZXJyYWZvcm1PdXRwdXQsXG4gIEFic3RyYWN0VGVycmFmb3JtUGxhbixcbiAgVGVycmFmb3JtRGVwbG95U3RhdGUsXG59IGZyb20gXCIuL3RlcnJhZm9ybVwiO1xuaW1wb3J0IHsgU3ludGhlc2l6ZWRTdGFjayB9IGZyb20gXCIuLi9zeW50aC1zdGFja1wiO1xuaW1wb3J0IHtcbiAgY3JlYXRlQW5kU3RhcnREZXBsb3lTZXJ2aWNlLFxuICBjcmVhdGVBbmRTdGFydERlc3Ryb3lTZXJ2aWNlLFxuICBEZXBsb3lTdGF0ZSxcbiAgaXNEZXBsb3lFdmVudCxcbn0gZnJvbSBcIi4vZGVwbG95LW1hY2hpbmVcIjtcbmltcG9ydCB7IHdhaXRGb3IgfSBmcm9tIFwieHN0YXRlL2xpYi93YWl0Rm9yXCI7XG5pbXBvcnQgeyBtaXNzaW5nVmFyaWFibGUgfSBmcm9tIFwiLi4vZXJyb3JzXCI7XG5pbXBvcnQgeyB0ZXJyYWZvcm1Kc29uU2NoZW1hIH0gZnJvbSBcIi4uL3RlcnJhZm9ybS1qc29uXCI7XG5pbXBvcnQgeyBzcGF3blB0eSB9IGZyb20gXCIuL3B0eS1wcm9jZXNzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcImZzLWV4dHJhXCI7XG5cbmNvbnN0IEdFTkVSQVRFX0NPTkZJR19PVVRfRklMRSA9IFwiZ2VuZXJhdGVkX3Jlc291cmNlcy50ZlwiO1xuXG5leHBvcnQgY2xhc3MgVGVycmFmb3JtQ2xpUGxhblxuICBleHRlbmRzIEFic3RyYWN0VGVycmFmb3JtUGxhblxuICBpbXBsZW1lbnRzIFRlcnJhZm9ybVBsYW5cbntcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHBsYW5GaWxlOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IHBsYW46IHsgW2tleTogc3RyaW5nXTogYW55IH0sXG4gICkge1xuICAgIHN1cGVyKHBsYW5GaWxlLCBwbGFuPy5yZXNvdXJjZV9jaGFuZ2VzLCBwbGFuPy5vdXRwdXRfY2hhbmdlcyk7XG4gIH1cbn1cblxuYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RPdXRwdXRGaWx0ZXIge1xuICBwdWJsaWMgc3RhdGljIGNvbmRpdGlvbjogKGxpbmU6IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgcHVibGljIHN0YXRpYyB0cmFuc2Zvcm06IChsaW5lOiBzdHJpbmcpID0+IHN0cmluZztcbn1cbmV4cG9ydCB0eXBlIE91dHB1dEZpbHRlciA9IHR5cGVvZiBBYnN0cmFjdE91dHB1dEZpbHRlcjtcblxuLy8gVGhlIHBsYW4gbWlnaHQgZXJyb3IgaWYgdGhlcmUgaXMgYSB2YXJpYWJsZSBtaXNzaW5nLCBidXQgdGhlIGVycm9yIG1lc3NhZ2UgaGludHMgdGhlIHVzZXJcbi8vIGluIGEgd3JvbmcgZGlyZWN0aW9uLiBXZSB0aGVyZWZvcmUgY2F0Y2ggdGhlIGVycm9yIGFuZCByZXRocm93IGl0IHdpdGggYSBtb3JlIGhlbHBmdWwgbWVzc2FnZVxuY2xhc3MgVmFyaWFibGVSZXF1aXJlZEZpbHRlciBleHRlbmRzIEFic3RyYWN0T3V0cHV0RmlsdGVyIHtcbiAgLy8gRXhhbXBsZSBmb3IgXCJObyB2YWx1ZSBmb3IgcmVxdWlyZWQgdmFyaWFibGVcIiBlcnJvclxuICAvLyDilbdcbiAgLy8g4pSCIEVycm9yOiBObyB2YWx1ZSBmb3IgcmVxdWlyZWQgdmFyaWFibGVcbiAgLy8g4pSCXG4gIC8vIOKUgiAgIG9uIGNkay50Zi5qc29uIGxpbmUgMzEsIGluIHZhcmlhYmxlOlxuICAvLyDilIIgICAzMTogICAgIFwid2l0aC1kYXNoZXNcIjoge1xuICAvLyDilIJcbiAgLy8g4pSCIFRoZSByb290IG1vZHVsZSBpbnB1dCB2YXJpYWJsZSBcIndpdGgtZGFzaGVzXCIgaXMgbm90IHNldCwgYW5kIGhhcyBubyBkZWZhdWx0XG4gIC8vIOKUgiB2YWx1ZS4gVXNlIGEgLXZhciBvciAtdmFyLWZpbGUgY29tbWFuZCBsaW5lIGFyZ3VtZW50IHRvIHByb3ZpZGUgYSB2YWx1ZSBmb3JcbiAgLy8g4pSCIHRoaXMgdmFyaWFibGVcbiAgcHVibGljIHN0YXRpYyBjb25kaXRpb24oaW5wdXQ6IHN0cmluZykge1xuICAgIGNvbnN0IGxpbmUgPSBzdHJpcEFuc2koaW5wdXQpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIGxpbmUuaW5jbHVkZXMoXCJFcnJvcjogTm8gdmFsdWUgZm9yIHJlcXVpcmVkIHZhcmlhYmxlXCIpICYmXG4gICAgICBsaW5lLmluY2x1ZGVzKFwiVGhlIHJvb3QgbW9kdWxlIGlucHV0IHZhcmlhYmxlXCIpXG4gICAgKTtcbiAgfVxuICBwdWJsaWMgc3RhdGljIHRyYW5zZm9ybShsaW5lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdGFydE1hcmtlciA9ICdUaGUgcm9vdCBtb2R1bGUgaW5wdXQgdmFyaWFibGUgXCInO1xuICAgIGNvbnN0IHZhcmlhYmxlTmFtZSA9IGxpbmUuc3Vic3RyaW5nKFxuICAgICAgbGluZS5pbmRleE9mKHN0YXJ0TWFya2VyKSArIHN0YXJ0TWFya2VyLmxlbmd0aCxcbiAgICAgIGxpbmUuaW5kZXhPZignXCIgaXMgbm90IHNldCcpLFxuICAgICk7XG5cbiAgICByZXR1cm4gbWlzc2luZ1ZhcmlhYmxlKHZhcmlhYmxlTmFtZSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRlcnJhZm9ybUNsaSBpbXBsZW1lbnRzIFRlcnJhZm9ybSB7XG4gIHB1YmxpYyByZWFkb25seSB3b3JrZGlyOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25TdGRvdXQ6IChcbiAgICBzdGF0ZU5hbWU6IHN0cmluZyxcbiAgICBmaWx0ZXI/OiBPdXRwdXRGaWx0ZXJbXSxcbiAgKSA9PiAoc3Rkb3V0OiBCdWZmZXIgfCBzdHJpbmcpID0+IHZvaWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgb25TdGRlcnI6IChcbiAgICBzdGF0ZU5hbWU6IHN0cmluZyxcbiAgICBmaWx0ZXI/OiBPdXRwdXRGaWx0ZXJbXSxcbiAgKSA9PiAoc3RkZXJyOiBzdHJpbmcgfCBVaW50OEFycmF5KSA9PiB2b2lkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsLFxuICAgIHB1YmxpYyByZWFkb25seSBzdGFjazogU3ludGhlc2l6ZWRTdGFjayxcbiAgICBjcmVhdGVUZXJyYWZvcm1Mb2dIYW5kbGVyID0gKF9waGFzZTogc3RyaW5nLCBfZmlsdGVyPzogT3V0cHV0RmlsdGVyW10pID0+XG4gICAgICAoX3N0ZG91dDogc3RyaW5nLCBfaXNFcnIgPSBmYWxzZSkgPT4ge30sIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICkge1xuICAgIHRoaXMud29ya2RpciA9IHN0YWNrLndvcmtpbmdEaXJlY3Rvcnk7XG4gICAgdGhpcy5vblN0ZG91dCA9XG4gICAgICAocGhhc2U6IHN0cmluZywgZmlsdGVyPzogT3V0cHV0RmlsdGVyW10pID0+IChzdGRvdXQ6IEJ1ZmZlciB8IHN0cmluZykgPT5cbiAgICAgICAgY3JlYXRlVGVycmFmb3JtTG9nSGFuZGxlcihcbiAgICAgICAgICBwaGFzZSxcbiAgICAgICAgICBmaWx0ZXIsXG4gICAgICAgICkoQnVmZmVyLmlzQnVmZmVyKHN0ZG91dCkgPyBzdGRvdXQudG9TdHJpbmcoKSA6IHN0ZG91dCk7XG4gICAgdGhpcy5vblN0ZGVyciA9XG4gICAgICAocGhhc2U6IHN0cmluZywgZmlsdGVyPzogT3V0cHV0RmlsdGVyW10pID0+XG4gICAgICAoc3RkZXJyOiBzdHJpbmcgfCBVaW50OEFycmF5KSA9PlxuICAgICAgICBjcmVhdGVUZXJyYWZvcm1Mb2dIYW5kbGVyKHBoYXNlLCBmaWx0ZXIpKHN0ZGVyci50b1N0cmluZygpLCB0cnVlKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBpbml0KG9wdHM6IHtcbiAgICBuZWVkc1VwZ3JhZGU6IGJvb2xlYW47XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gICAgbWlncmF0ZVN0YXRlOiBib29sZWFuO1xuICAgIG5lZWRzTG9ja2ZpbGVVcGRhdGU6IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNldFVzZXJBZ2VudCgpO1xuXG4gICAgY29uc3QgYXJncyA9IFtcImluaXRcIl07XG4gICAgaWYgKG9wdHMubmVlZHNVcGdyYWRlKSB7XG4gICAgICBhcmdzLnB1c2goXCItdXBncmFkZVwiKTtcbiAgICB9XG4gICAgaWYgKG9wdHMubm9Db2xvcikge1xuICAgICAgYXJncy5wdXNoKFwiLW5vLWNvbG9yXCIpO1xuICAgIH1cbiAgICBpZiAob3B0cy5taWdyYXRlU3RhdGUpIHtcbiAgICAgIGFyZ3MucHVzaChcIi1taWdyYXRlLXN0YXRlXCIpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBsZXQgaW5pdENhbk5vdENvbnRpbnVlID0gKF9lcnI6IGFueSkgPT4ge307XG4gICAgY29uc3QgcmVqZWN0c0lmSW5pdENhbk5vdENvbnRpbnVlID0gbmV3IFByb21pc2UoKF9yZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGluaXRDYW5Ob3RDb250aW51ZSA9IHJlamVjdDtcbiAgICB9KTtcblxuICAgIGNvbnN0IHN0ZG91dCA9IHRoaXMub25TdGRvdXQoXCJpbml0XCIpO1xuICAgIGNvbnN0IHsgYWN0aW9ucywgZXhpdENvZGUgfSA9IHNwYXduUHR5KFxuICAgICAge1xuICAgICAgICBmaWxlOiB0ZXJyYWZvcm1CaW5hcnlOYW1lLFxuICAgICAgICBhcmdzLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgY3dkOiB0aGlzLndvcmtkaXIsXG4gICAgICAgICAgZW52OiBwcm9jZXNzLmVudiBhcyBhbnksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgc3Rkb3V0KGRhdGEpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGF0YS5pbmNsdWRlcyhcIlNob3VsZCBUZXJyYWZvcm0gbWlncmF0ZSB5b3VyIGV4aXN0aW5nIHN0YXRlP1wiKSB8fFxuICAgICAgICAgIGRhdGEuaW5jbHVkZXMoXCJEbyB5b3Ugd2FudCB0byBjb3B5IGV4aXN0aW5nIHN0YXRlIHRvIHRoZSBuZXcgYmFja2VuZFwiKVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBUT0RPOiBUaGlzIG9ubHkgaGFwcGVucyB3aGVuIHRlcnJhZm9ybSBpcyBwYXNzZWQgdGhlIC1taWdyYXRlLXN0YXRlIGFueXdheSwgc28gdGhpcyBjaGVjayBpcyByZWR1bmRhbnRcbiAgICAgICAgICBpZiAob3B0cy5taWdyYXRlU3RhdGUpIHtcbiAgICAgICAgICAgIGFjdGlvbnMud3JpdGVMaW5lKFwieWVzXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhY3Rpb25zLnN0b3AoKTtcbiAgICAgICAgICAgIGluaXRDYW5Ob3RDb250aW51ZShcbiAgICAgICAgICAgICAgXCJQbGVhc2UgcGFzcyB0aGUgLS1taWdyYXRlLXN0YXRlIGZsYWcgdG8gbWlncmF0ZSB5b3VyIHN0YXRlXCIsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICAgIHRoaXMuYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsICgpID0+IHtcbiAgICAgIGFjdGlvbnMuc3RvcCgpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcHJvZ3Jlc3MgPSBleGl0Q29kZS50aGVuKChjb2RlKSA9PiB7XG4gICAgICBpZiAoY29kZSAhPT0gMCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYHRlcnJhZm9ybSBpbml0IGZhaWxlZCB3aXRoIGV4aXQgY29kZSAke2NvZGV9YCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgYXdhaXQgUHJvbWlzZS5yYWNlKFtwcm9ncmVzcywgcmVqZWN0c0lmSW5pdENhbk5vdENvbnRpbnVlXSk7XG5cbiAgICAvLyBUT0RPOiB0aGlzIG1pZ2h0IGhhdmUgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zIGJlY2F1c2Ugd2UgZG9uJ3Qga25vdyBpZiB3ZSdyZVxuICAgIC8vIHJ1bm5pbmcgYSByZW1vdGUgcGxhbiBvciBhIGxvY2FsIG9uZSAoc28gd2UgcnVuIGl0IGFsd2F5cyBmb3IgYWxsIHBsYXRmb3JtcylcbiAgICAvLyB3aGlsZSB3ZSdkIG9ubHkgbmVlZCBpdCBmb3IgcmVtb3RlIHBsYW5zXG4gICAgaWYgKG9wdHMubmVlZHNMb2NrZmlsZVVwZGF0ZSkge1xuICAgICAgYXdhaXQgZXhlYyhcbiAgICAgICAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICAgICAgW1xuICAgICAgICAgIFwicHJvdmlkZXJzXCIsXG4gICAgICAgICAgXCJsb2NrXCIsXG4gICAgICAgICAgXCItcGxhdGZvcm09bGludXhfYW1kNjRcIixcbiAgICAgICAgICAuLi4ob3B0cy5ub0NvbG9yID8gW1wiLW5vLWNvbG9yXCJdIDogW10pLFxuICAgICAgICBdLFxuICAgICAgICB7XG4gICAgICAgICAgY3dkOiB0aGlzLndvcmtkaXIsXG4gICAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgICAgICBzaWduYWw6IHRoaXMuYWJvcnRTaWduYWwsXG4gICAgICAgICAgbm9Db2xvcjogb3B0cy5ub0NvbG9yLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLm9uU3Rkb3V0KFwiaW5pdFwiKSxcbiAgICAgICAgdGhpcy5vblN0ZGVycihcImluaXRcIiksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGlzQ2xvdWRTdGFjaygpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXJzZWRTdGFjayA9IHRlcnJhZm9ybUpzb25TY2hlbWEucGFyc2UoXG4gICAgICBKU09OLnBhcnNlKHRoaXMuc3RhY2suY29udGVudCksXG4gICAgKTtcblxuICAgIHJldHVybiBCb29sZWFuKFxuICAgICAgcGFyc2VkU3RhY2sudGVycmFmb3JtPy5iYWNrZW5kPy5yZW1vdGUgfHwgcGFyc2VkU3RhY2sudGVycmFmb3JtPy5jbG91ZCxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgaGFzSW1wb3J0cygpOiBib29sZWFuIHtcbiAgICBjb25zdCBwYXJzZWRTdGFjayA9IHRlcnJhZm9ybUpzb25TY2hlbWEucGFyc2UoXG4gICAgICBKU09OLnBhcnNlKHRoaXMuc3RhY2suY29udGVudCksXG4gICAgKTtcblxuICAgIHJldHVybiBCb29sZWFuKHBhcnNlZFN0YWNrLmltcG9ydCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcGxhbihvcHRzOiB7XG4gICAgZGVzdHJveTogYm9vbGVhbjtcbiAgICByZWZyZXNoT25seT86IGJvb2xlYW47XG4gICAgcGFyYWxsZWxpc20/OiBudW1iZXI7XG4gICAgdmFycz86IHN0cmluZ1tdO1xuICAgIHZhckZpbGVzPzogc3RyaW5nW107XG4gICAgbm9Db2xvcj86IGJvb2xlYW47XG4gIH0pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7XG4gICAgICBkZXN0cm95ID0gZmFsc2UsXG4gICAgICByZWZyZXNoT25seSA9IGZhbHNlLFxuICAgICAgcGFyYWxsZWxpc20gPSAtMSxcbiAgICAgIHZhcnMgPSBbXSxcbiAgICAgIHZhckZpbGVzID0gW10sXG4gICAgICBub0NvbG9yID0gZmFsc2UsXG4gICAgfSA9IG9wdHM7XG4gICAgY29uc3Qgb3B0aW9ucyA9IFtcInBsYW5cIiwgXCItaW5wdXQ9ZmFsc2VcIl07XG5cbiAgICBjb25zdCBnZW5lcmF0ZWRDb25maWdGaWxlID0gcGF0aC5qb2luKFxuICAgICAgdGhpcy53b3JrZGlyLFxuICAgICAgR0VORVJBVEVfQ09ORklHX09VVF9GSUxFLFxuICAgICk7XG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoZ2VuZXJhdGVkQ29uZmlnRmlsZSkpIHtcbiAgICAgIGZzLnJlbW92ZShnZW5lcmF0ZWRDb25maWdGaWxlKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGFzSW1wb3J0cykge1xuICAgICAgb3B0aW9ucy5wdXNoKGAtZ2VuZXJhdGUtY29uZmlnLW91dD0ke0dFTkVSQVRFX0NPTkZJR19PVVRfRklMRX1gKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmlzQ2xvdWRTdGFjaykge1xuICAgICAgY29uc3QgcGxhbkZpbGUgPSBcInBsYW5cIjtcbiAgICAgIG9wdGlvbnMucHVzaChcIi1vdXRcIiwgcGxhbkZpbGUpO1xuICAgIH1cblxuICAgIGlmIChkZXN0cm95KSB7XG4gICAgICBvcHRpb25zLnB1c2goXCItZGVzdHJveVwiKTtcbiAgICB9XG4gICAgaWYgKHJlZnJlc2hPbmx5KSB7XG4gICAgICBvcHRpb25zLnB1c2goXCItcmVmcmVzaC1vbmx5XCIpO1xuICAgIH1cbiAgICBpZiAocGFyYWxsZWxpc20gPiAtMSkge1xuICAgICAgb3B0aW9ucy5wdXNoKGAtcGFyYWxsZWxpc209JHtwYXJhbGxlbGlzbX1gKTtcbiAgICB9XG4gICAgaWYgKG5vQ29sb3IpIHtcbiAgICAgIG9wdGlvbnMucHVzaChcIi1uby1jb2xvclwiKTtcbiAgICB9XG5cbiAgICB2YXJzLmZvckVhY2goKHYpID0+IG9wdGlvbnMucHVzaChgLXZhcj0ke3Z9YCkpO1xuICAgIHZhckZpbGVzLmZvckVhY2goKHYpID0+IG9wdGlvbnMucHVzaChgLXZhci1maWxlPSR7dn1gKSk7XG5cbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgRXhlY3V0aW5nICR7dGVycmFmb3JtQmluYXJ5TmFtZX0gJHtvcHRpb25zLmpvaW4oXCIgXCIpfSBpbiAke3RoaXMud29ya2Rpcn1gLFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLnNldFVzZXJBZ2VudCgpO1xuXG4gICAgYXdhaXQgZXhlYyhcbiAgICAgIHRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgICBvcHRpb25zLFxuICAgICAge1xuICAgICAgICBjd2Q6IHRoaXMud29ya2RpcixcbiAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgICAgc2lnbmFsOiB0aGlzLmFib3J0U2lnbmFsLFxuICAgICAgICBub0NvbG9yLFxuICAgICAgfSxcbiAgICAgIHRoaXMub25TdGRvdXQoXCJwbGFuXCIsIFtWYXJpYWJsZVJlcXVpcmVkRmlsdGVyXSksXG4gICAgICB0aGlzLm9uU3RkZXJyKFwicGxhblwiLCBbVmFyaWFibGVSZXF1aXJlZEZpbHRlcl0pLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVwbG95KFxuICAgIHtcbiAgICAgIGF1dG9BcHByb3ZlID0gZmFsc2UsXG4gICAgICByZWZyZXNoT25seSA9IGZhbHNlLFxuICAgICAgbm9Db2xvciA9IGZhbHNlLFxuICAgICAgcGFyYWxsZWxpc20gPSAtMSxcbiAgICAgIGV4dHJhT3B0aW9ucyA9IFtdLFxuICAgICAgdmFycyA9IFtdLFxuICAgICAgdmFyRmlsZXMgPSBbXSxcbiAgICB9LFxuICAgIGNhbGxiYWNrOiAoc3RhdGU6IFRlcnJhZm9ybURlcGxveVN0YXRlKSA9PiB2b2lkLFxuICApOiBQcm9taXNlPHsgY2FuY2VsbGVkOiBib29sZWFuIH0+IHtcbiAgICBhd2FpdCB0aGlzLnNldFVzZXJBZ2VudCgpO1xuICAgIGNvbnN0IHNlcnZpY2UgPSBjcmVhdGVBbmRTdGFydERlcGxveVNlcnZpY2Uoe1xuICAgICAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICAgIHdvcmtkaXI6IHRoaXMud29ya2RpcixcbiAgICAgIHJlZnJlc2hPbmx5LFxuICAgICAgbm9Db2xvcixcbiAgICAgIGF1dG9BcHByb3ZlLFxuICAgICAgcGFyYWxsZWxpc20sXG4gICAgICBleHRyYU9wdGlvbnMsXG4gICAgICB2YXJzLFxuICAgICAgdmFyRmlsZXMsXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuaGFuZGxlU2VydmljZShcImRlcGxveVwiLCBzZXJ2aWNlLCBjYWxsYmFjayk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZGVzdHJveShcbiAgICB7XG4gICAgICBhdXRvQXBwcm92ZSA9IGZhbHNlLFxuICAgICAgcGFyYWxsZWxpc20gPSAtMSxcbiAgICAgIG5vQ29sb3IgPSBmYWxzZSxcbiAgICAgIGV4dHJhT3B0aW9ucyA9IFtdLFxuICAgICAgdmFycyA9IFtdLFxuICAgICAgdmFyRmlsZXMgPSBbXSxcbiAgICB9LFxuICAgIGNhbGxiYWNrOiAoc3RhdGU6IFRlcnJhZm9ybURlcGxveVN0YXRlKSA9PiB2b2lkLFxuICApOiBQcm9taXNlPHsgY2FuY2VsbGVkOiBib29sZWFuIH0+IHtcbiAgICBhd2FpdCB0aGlzLnNldFVzZXJBZ2VudCgpO1xuICAgIGNvbnN0IHNlcnZpY2UgPSBjcmVhdGVBbmRTdGFydERlc3Ryb3lTZXJ2aWNlKHtcbiAgICAgIHRlcnJhZm9ybUJpbmFyeU5hbWUsXG4gICAgICB3b3JrZGlyOiB0aGlzLndvcmtkaXIsXG4gICAgICBhdXRvQXBwcm92ZSxcbiAgICAgIHBhcmFsbGVsaXNtLFxuICAgICAgbm9Db2xvcixcbiAgICAgIGV4dHJhT3B0aW9ucyxcbiAgICAgIHZhcnMsXG4gICAgICB2YXJGaWxlcyxcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5oYW5kbGVTZXJ2aWNlKFwiZGVzdHJveVwiLCBzZXJ2aWNlLCBjYWxsYmFjayk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGhhbmRsZVNlcnZpY2UoXG4gICAgdHlwZTogXCJkZXBsb3lcIiB8IFwiZGVzdHJveVwiLFxuICAgIHNlcnZpY2U6XG4gICAgICB8IFJldHVyblR5cGU8dHlwZW9mIGNyZWF0ZUFuZFN0YXJ0RGVwbG95U2VydmljZT5cbiAgICAgIHwgUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlQW5kU3RhcnREZXN0cm95U2VydmljZT4sXG4gICAgY2FsbGJhY2s6IChzdGF0ZTogVGVycmFmb3JtRGVwbG95U3RhdGUpID0+IHZvaWQsXG4gICk6IFByb21pc2U8eyBjYW5jZWxsZWQ6IGJvb2xlYW4gfT4ge1xuICAgIC8vIHN0b3AgdGVycmFmb3JtIGFwcGx5IGlmIHNpZ25hbGVkIGFzIHN1Y2ggZnJvbSB0aGUgb3V0c2lkZSAoZS5nLiB2aWEgY3RybCtjKVxuICAgIHRoaXMuYWJvcnRTaWduYWwuYWRkRXZlbnRMaXN0ZW5lcihcbiAgICAgIFwiYWJvcnRcIixcbiAgICAgICgpID0+IHtcbiAgICAgICAgc2VydmljZS5zZW5kKFwiU1RPUFwiKTtcbiAgICAgIH0sXG4gICAgICB7IG9uY2U6IHRydWUgfSxcbiAgICApO1xuXG4gICAgLy8gcmVsYXkgbG9ncyB0byBzdGRvdXRcbiAgICBzZXJ2aWNlLm9uRXZlbnQoKGV2ZW50KSA9PiB7XG4gICAgICBsb2dnZXIudHJhY2UoXG4gICAgICAgIGBUZXJyYWZvcm0gQ0xJIHN0YXRlIG1hY2hpbmUgZXZlbnQ6ICR7SlNPTi5zdHJpbmdpZnkoZXZlbnQpfWAsXG4gICAgICApO1xuICAgICAgaWYgKGlzRGVwbG95RXZlbnQoZXZlbnQsIFwiT1VUUFVUX1JFQ0VJVkVEXCIpKVxuICAgICAgICB0aGlzLm9uU3Rkb3V0KHR5cGUpKGV2ZW50Lm91dHB1dCk7XG4gICAgICBlbHNlIGlmIChpc0RlcGxveUV2ZW50KGV2ZW50LCBcIkFQUFJPVkVEX0VYVEVSTkFMTFlcIikpXG4gICAgICAgIGNhbGxiYWNrKHsgdHlwZTogXCJleHRlcm5hbCBhcHByb3ZhbCByZXBseVwiLCBhcHByb3ZlZDogdHJ1ZSB9KTtcbiAgICAgIGVsc2UgaWYgKGlzRGVwbG95RXZlbnQoZXZlbnQsIFwiUkVKRUNURURfRVhURVJOQUxMWVwiKSlcbiAgICAgICAgY2FsbGJhY2soeyB0eXBlOiBcImV4dGVybmFsIGFwcHJvdmFsIHJlcGx5XCIsIGFwcHJvdmVkOiBmYWxzZSB9KTtcbiAgICAgIGVsc2UgaWYgKGlzRGVwbG95RXZlbnQoZXZlbnQsIFwiT1ZFUlJJRERFTl9FWFRFUk5BTExZXCIpKVxuICAgICAgICBjYWxsYmFjayh7XG4gICAgICAgICAgdHlwZTogXCJleHRlcm5hbCBzZW50aW5lbCBvdmVycmlkZSByZXBseVwiLFxuICAgICAgICAgIG92ZXJyaWRkZW46IHRydWUsXG4gICAgICAgIH0pO1xuICAgICAgZWxzZSBpZiAoaXNEZXBsb3lFdmVudChldmVudCwgXCJPVkVSUklERV9SRUpFQ1RFRF9FWFRFUk5BTExZXCIpKVxuICAgICAgICBjYWxsYmFjayh7XG4gICAgICAgICAgdHlwZTogXCJleHRlcm5hbCBzZW50aW5lbCBvdmVycmlkZSByZXBseVwiLFxuICAgICAgICAgIG92ZXJyaWRkZW46IGZhbHNlLFxuICAgICAgICB9KTtcbiAgICB9KTtcblxuICAgIGxldCBwcmV2aW91c1N0YXRlOiBEZXBsb3lTdGF0ZVtcInZhbHVlXCJdID0gXCJpZGxlXCI7XG5cbiAgICBzZXJ2aWNlLm9uVHJhbnNpdGlvbigoc3RhdGUpID0+IHtcbiAgICAgIC8vIG9ubHkgc2VuZCB1cGRhdGVzIG9uIGFjdHVhbCBzdGF0ZSBjaGFuZ2VcbiAgICAgIC8vIG9uVHJhbnNpdGlvbiBpcyBjYWxsZWQgZXZlbiBpZiB0aGUgc3RhdGUgZGlkbid0IGNoYW5nZSBidXQgb25seSBhbiBldmVudCBoYXBwZW5lZFxuICAgICAgaWYgKHN0YXRlLm1hdGNoZXMocHJldmlvdXNTdGF0ZSBhcyBEZXBsb3lTdGF0ZVtcInZhbHVlXCJdKSkgcmV0dXJuO1xuXG4gICAgICBsb2dnZXIudHJhY2UoXG4gICAgICAgIGBUZXJyYWZvcm0gQ0xJIHN0YXRlIG1hY2hpbmUgc3RhdGUgdHJhbnNpdGlvbjogJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICBwcmV2aW91c1N0YXRlLFxuICAgICAgICApfSA9PiAke0pTT04uc3RyaW5naWZ5KHN0YXRlLnZhbHVlKX1gLFxuICAgICAgKTtcblxuICAgICAgaWYgKHN0YXRlLm1hdGNoZXMoeyBydW5uaW5nOiBcImF3YWl0aW5nX2FwcHJvdmFsXCIgfSkpIHtcbiAgICAgICAgY2FsbGJhY2soe1xuICAgICAgICAgIHR5cGU6IFwid2FpdGluZyBmb3IgYXBwcm92YWxcIixcbiAgICAgICAgICBhcHByb3ZlOiAoKSA9PiBzZXJ2aWNlLnNlbmQoXCJBUFBST1ZFXCIpLFxuICAgICAgICAgIHJlamVjdDogKCkgPT4gc2VydmljZS5zZW5kKFwiUkVKRUNUXCIpLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUubWF0Y2hlcyh7IHJ1bm5pbmc6IFwiYXdhaXRpbmdfc2VudGluZWxfb3ZlcnJpZGVcIiB9KSkge1xuICAgICAgICBjYWxsYmFjayh7XG4gICAgICAgICAgdHlwZTogXCJ3YWl0aW5nIGZvciBzZW50aW5lbCBvdmVycmlkZVwiLFxuICAgICAgICAgIG92ZXJyaWRlOiAoKSA9PiBzZXJ2aWNlLnNlbmQoXCJPVkVSUklERVwiKSxcbiAgICAgICAgICByZWplY3Q6ICgpID0+IHNlcnZpY2Uuc2VuZChcIlJFSkVDVF9PVkVSUklERVwiKSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLm1hdGNoZXMoeyBydW5uaW5nOiBcInByb2Nlc3NpbmdcIiB9KSkge1xuICAgICAgICBjYWxsYmFjayh7XG4gICAgICAgICAgdHlwZTogXCJydW5uaW5nXCIsXG4gICAgICAgICAgY2FuY2VsbGVkOiBCb29sZWFuKHN0YXRlLmNvbnRleHQuY2FuY2VsbGVkKSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBwcmV2aW91c1N0YXRlID0gc3RhdGUudmFsdWUgYXMgRGVwbG95U3RhdGVbXCJ2YWx1ZVwiXTtcbiAgICB9KTtcbiAgICBzZXJ2aWNlLnN0YXJ0KCk7XG4gICAgY29uc3Qgc3RhdGUgPSBhd2FpdCB3YWl0Rm9yKHNlcnZpY2UsIChzdGF0ZSkgPT4gISFzdGF0ZS5kb25lLCB7XG4gICAgICB0aW1lb3V0OiBJbmZpbml0eSxcbiAgICB9KTtcblxuICAgIGxvZ2dlci50cmFjZShcbiAgICAgIGBJbnZva2luZyBUZXJyYWZvcm0gQ0xJIGZvciAke3R5cGV9IGRvbmUgKHN0YXRlIG1hY2hpbmUgcmVhY2hlZCBmaW5hbCBzdGF0ZSkuIExhc3QgZXZlbnQ6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHN0YXRlLmV2ZW50LFxuICAgICAgKX0uIENvbnRleHQ6ICR7SlNPTi5zdHJpbmdpZnkoc3RhdGUuY29udGV4dCl9YCxcbiAgICApO1xuXG4gICAgLy8gZXhhbXBsZSBldmVudHM6IHsgdHlwZTogJ0VYSVRFRCcsIGV4aXRDb2RlOiAwIH0sIHsgdHlwZTogJ0VYVEVSTkFMX1JFSkVDVCcgfVxuICAgIGlmIChcbiAgICAgIHN0YXRlLmV2ZW50LnR5cGUgPT09IFwiRVhJVEVEXCIgJiZcbiAgICAgIHN0YXRlLmV2ZW50LmV4aXRDb2RlICE9PSAwICYmXG4gICAgICAhc3RhdGUuY29udGV4dC5jYW5jZWxsZWQgLy8gZG9uJ3QgZmFpbCBpZiB3ZSBjYW5jZWxsZWQgdGhlIHJ1blxuICAgICkge1xuICAgICAgdGhyb3cgYEludm9raW5nIFRlcnJhZm9ybSBDTEkgZmFpbGVkIHdpdGggZXhpdCBjb2RlICR7c3RhdGUuZXZlbnQuZXhpdENvZGV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4geyBjYW5jZWxsZWQ6IEJvb2xlYW4oc3RhdGUuY29udGV4dC5jYW5jZWxsZWQpIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgdmVyc2lvbigpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gYXdhaXQgZXhlYyhcbiAgICAgICAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICAgICAgW1wiLXZcIl0sXG4gICAgICAgIHtcbiAgICAgICAgICBjd2Q6IHRoaXMud29ya2RpcixcbiAgICAgICAgICBlbnY6IHByb2Nlc3MuZW52LFxuICAgICAgICAgIHNpZ25hbDogdGhpcy5hYm9ydFNpZ25hbCxcbiAgICAgICAgICBub0NvbG9yOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLm9uU3Rkb3V0KFwidmVyc2lvblwiKSxcbiAgICAgICAgdGhpcy5vblN0ZGVycihcInZlcnNpb25cIiksXG4gICAgICApO1xuICAgIH0gY2F0Y2gge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRlcnJhZm9ybSBDTEkgbm90IHByZXNlbnQgLSBQbGVhc2UgaW5zdGFsbCBhIGN1cnJlbnQgdmVyc2lvbiBodHRwczovL2xlYXJuLmhhc2hpY29ycC5jb20vdGVycmFmb3JtL2dldHRpbmctc3RhcnRlZC9pbnN0YWxsLmh0bWxcIixcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIG91dHB1dCgpOiBQcm9taXNlPHsgW2tleTogc3RyaW5nXTogVGVycmFmb3JtT3V0cHV0IH0+IHtcbiAgICBjb25zdCBvdXRwdXQgPSBhd2FpdCBleGVjKFxuICAgICAgdGVycmFmb3JtQmluYXJ5TmFtZSxcbiAgICAgIFtcIm91dHB1dFwiLCBcIi1qc29uXCJdLFxuICAgICAge1xuICAgICAgICBjd2Q6IHRoaXMud29ya2RpcixcbiAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgICAgc2lnbmFsOiB0aGlzLmFib3J0U2lnbmFsLFxuICAgICAgICBub0NvbG9yOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gbG9nIHRoZSBvdXRwdXQgaGVyZSBzaW5jZSB3ZSB1c2UgaXQgbGF0ZXIgb25cbiAgICAgICgpID0+IHt9LCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICAgICAgdGhpcy5vblN0ZGVycihcIm91dHB1dFwiKSxcbiAgICApO1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBKU09OLnBhcnNlKG91dHB1dCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhyb3cgRXJyb3JzLkV4dGVybmFsKFxuICAgICAgICBgRmFpbGVkIHRvIHBhcnNlIHRlcnJhZm9ybSBvdXRwdXQ6ICR7ZX0uIFRoZSBvdXRwdXQgd2FzICcke291dHB1dH0nYCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHNldFVzZXJBZ2VudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBSZWFkIHRoZSBjZGt0ZiB2ZXJzaW9uIGZyb20gdGhlICdjZGsudGYuanNvbicgZmlsZVxuICAgIC8vIGFuZCBzZXQgdGhlIHVzZXIgYWdlbnQuXG4gICAgY29uc3QgdmVyc2lvbiA9IGF3YWl0IHJlYWRDREtURlZlcnNpb24odGhpcy53b3JrZGlyKTtcbiAgICBpZiAodmVyc2lvbiAhPSBcIlwiKSB7XG4gICAgICBwcm9jZXNzLmVudi5URl9BUFBFTkRfVVNFUl9BR0VOVCA9XG4gICAgICAgIFwiY2RrdG4vXCIgK1xuICAgICAgICB2ZXJzaW9uICtcbiAgICAgICAgXCIgKCtodHRwczovL2dpdGh1Yi5jb20vb3Blbi1jb25zdHJ1Y3RzL2Nkay10ZXJyYWluKVwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGRvbid0IG5lZWQgdG8gY2xlYW4gYW55dGhpbmcgdXAgZm9yIGEgcnVubmluZyBleGVjdXRpb24gaW4gdGhlIENMSSBzaW5jZSB0aGVyZSBpcyBubyBsZWZ0LW92ZXIgc3RhdGUgaW4gY29udHJhc3QgdG8gYW4gb3BlbiBUZXJyYWZvcm0gQ2xvdWQgcnVuXG4gIHB1YmxpYyBhc3luYyBhYm9ydCgpIHtcbiAgICByZXR1cm47XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHRyeVJlYWRHZW5lcmF0ZWRDb25maWd1cmF0aW9uRmlsZShcbiAgd29ya2luZ0Rpcjogc3RyaW5nLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gIGNvbnN0IGdlbmVyYXRlZENvbmZpZ1BhdGggPSBwYXRoLmpvaW4od29ya2luZ0RpciwgR0VORVJBVEVfQ09ORklHX09VVF9GSUxFKTtcbiAgaWYgKCFmcy5leGlzdHNTeW5jKGdlbmVyYXRlZENvbmZpZ1BhdGgpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgcmV0dXJuIGZzLnJlYWRGaWxlU3luYyhnZW5lcmF0ZWRDb25maWdQYXRoLCBcInV0Zi04XCIpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gdHJ5UmVtb3ZlR2VuZXJhdGVkQ29uZmlndXJhdGlvbkZpbGUod29ya2luZ0Rpcjogc3RyaW5nKSB7XG4gIGNvbnN0IGdlbmVyYXRlZENvbmZpZ1BhdGggPSBwYXRoLmpvaW4od29ya2luZ0RpciwgR0VORVJBVEVfQ09ORklHX09VVF9GSUxFKTtcbiAgaWYgKGZzLmV4aXN0c1N5bmMoZ2VuZXJhdGVkQ29uZmlnUGF0aCkpIHtcbiAgICBmcy51bmxpbmtTeW5jKGdlbmVyYXRlZENvbmZpZ1BhdGgpO1xuICB9XG59XG4iXX0=
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"terraform.d.ts","sourceRoot":"","sources":["terraform.ts"],"names":[],"mappings":"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"}
|