@cloudsnorkel/cdk-github-runners 0.11.3 → 0.11.4
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/.gitattributes +1 -0
- package/.jsii +8 -8
- package/assets/delete-failed-runner.lambda/index.js +24 -32
- package/assets/idle-runner-repear.lambda/index.js +29 -37
- package/assets/image-builders/aws-image-builder/delete-ami.lambda/index.js +14 -28
- package/assets/image-builders/aws-image-builder/filter-failed-builds.lambda/index.js +4 -14
- package/assets/image-builders/aws-image-builder/reaper.lambda/index.js +18 -30
- package/assets/image-builders/aws-image-builder/versioner.lambda/index.js +10 -16
- package/assets/providers/ami-root-device.lambda/index.js +12 -23
- package/assets/providers/build-image.lambda/index.js +16 -24
- package/assets/providers/update-lambda.lambda/index.js +5 -15
- package/assets/setup.lambda/index.js +4 -4
- package/assets/status.lambda/index.js +48 -55
- package/assets/token-retriever.lambda/index.js +24 -32
- package/assets/webhook-handler.lambda/index.js +32 -42
- package/lib/access.js +1 -1
- package/lib/delete-failed-runner-function.js +2 -2
- package/lib/idle-runner-repear-function.js +2 -2
- package/lib/idle-runner-repear.lambda.js +6 -6
- package/lib/image-builders/api.js +1 -1
- package/lib/image-builders/aws-image-builder/builder.js +1 -1
- package/lib/image-builders/aws-image-builder/delete-ami-function.js +2 -2
- package/lib/image-builders/aws-image-builder/delete-ami.lambda.js +11 -11
- package/lib/image-builders/aws-image-builder/deprecated/ami.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/container.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/linux-components.js +1 -1
- package/lib/image-builders/aws-image-builder/deprecated/windows-components.js +1 -1
- package/lib/image-builders/aws-image-builder/filter-failed-builds-function.js +2 -2
- package/lib/image-builders/aws-image-builder/filter-failed-builds.lambda.js +5 -5
- package/lib/image-builders/aws-image-builder/reaper-function.js +2 -2
- package/lib/image-builders/aws-image-builder/reaper.lambda.js +15 -13
- package/lib/image-builders/aws-image-builder/versioner-function.js +2 -2
- package/lib/image-builders/aws-image-builder/versioner.lambda.js +9 -9
- package/lib/image-builders/codebuild-deprecated.js +1 -1
- package/lib/image-builders/components.js +1 -1
- package/lib/image-builders/static.js +1 -1
- package/lib/lambda-helpers.js +5 -5
- package/lib/providers/ami-root-device-function.js +2 -2
- package/lib/providers/ami-root-device.lambda.js +8 -7
- package/lib/providers/build-image-function.js +2 -2
- package/lib/providers/build-image.lambda.js +15 -13
- package/lib/providers/codebuild.js +2 -2
- package/lib/providers/common.js +3 -3
- package/lib/providers/ec2.js +2 -2
- package/lib/providers/ecs.js +1 -1
- package/lib/providers/fargate.js +2 -2
- package/lib/providers/lambda.js +2 -2
- package/lib/providers/update-lambda-function.js +2 -2
- package/lib/providers/update-lambda.lambda.js +6 -6
- package/lib/runner.js +5 -2
- package/lib/secrets.js +1 -1
- package/lib/setup-function.js +2 -2
- package/lib/status-function.js +2 -2
- package/lib/status.lambda.js +20 -17
- package/lib/token-retriever-function.js +2 -2
- package/lib/webhook-handler-function.js +2 -2
- package/lib/webhook-handler.lambda.js +5 -5
- package/package.json +17 -9
|
@@ -12865,7 +12865,6 @@ var require_cjs = __commonJS({
|
|
|
12865
12865
|
};
|
|
12866
12866
|
var AC = globalThis.AbortController;
|
|
12867
12867
|
var AS = globalThis.AbortSignal;
|
|
12868
|
-
var _a;
|
|
12869
12868
|
if (typeof AC === "undefined") {
|
|
12870
12869
|
AS = class AbortSignal {
|
|
12871
12870
|
onabort;
|
|
@@ -12882,7 +12881,6 @@ var require_cjs = __commonJS({
|
|
|
12882
12881
|
}
|
|
12883
12882
|
signal = new AS();
|
|
12884
12883
|
abort(reason) {
|
|
12885
|
-
var _a2, _b;
|
|
12886
12884
|
if (this.signal.aborted)
|
|
12887
12885
|
return;
|
|
12888
12886
|
this.signal.reason = reason;
|
|
@@ -12890,10 +12888,10 @@ var require_cjs = __commonJS({
|
|
|
12890
12888
|
for (const fn of this.signal._onabort) {
|
|
12891
12889
|
fn(reason);
|
|
12892
12890
|
}
|
|
12893
|
-
|
|
12891
|
+
this.signal.onabort?.(reason);
|
|
12894
12892
|
}
|
|
12895
12893
|
};
|
|
12896
|
-
let printACPolyfillWarning =
|
|
12894
|
+
let printACPolyfillWarning = PROCESS.env?.LRU_CACHE_IGNORE_AC_WARNING !== "1";
|
|
12897
12895
|
const warnACPolyfill = () => {
|
|
12898
12896
|
if (!printACPolyfillWarning)
|
|
12899
12897
|
return;
|
|
@@ -13548,7 +13546,6 @@ var require_cjs = __commonJS({
|
|
|
13548
13546
|
* {@link LRUCache#delete}
|
|
13549
13547
|
*/
|
|
13550
13548
|
set(k, v, setOptions = {}) {
|
|
13551
|
-
var _a2, _b, _c;
|
|
13552
13549
|
if (v === void 0) {
|
|
13553
13550
|
this.delete(k);
|
|
13554
13551
|
return this;
|
|
@@ -13586,10 +13583,10 @@ var require_cjs = __commonJS({
|
|
|
13586
13583
|
oldVal.__abortController.abort(new Error("replaced"));
|
|
13587
13584
|
} else if (!noDisposeOnSet) {
|
|
13588
13585
|
if (this.#hasDispose) {
|
|
13589
|
-
|
|
13586
|
+
this.#dispose?.(oldVal, k, "set");
|
|
13590
13587
|
}
|
|
13591
13588
|
if (this.#hasDisposeAfter) {
|
|
13592
|
-
|
|
13589
|
+
this.#disposed?.push([oldVal, k, "set"]);
|
|
13593
13590
|
}
|
|
13594
13591
|
}
|
|
13595
13592
|
this.#removeItemSize(index);
|
|
@@ -13618,8 +13615,8 @@ var require_cjs = __commonJS({
|
|
|
13618
13615
|
if (!noDisposeOnSet && this.#hasDisposeAfter && this.#disposed) {
|
|
13619
13616
|
const dt = this.#disposed;
|
|
13620
13617
|
let task;
|
|
13621
|
-
while (task = dt
|
|
13622
|
-
|
|
13618
|
+
while (task = dt?.shift()) {
|
|
13619
|
+
this.#disposeAfter?.(...task);
|
|
13623
13620
|
}
|
|
13624
13621
|
}
|
|
13625
13622
|
return this;
|
|
@@ -13629,7 +13626,6 @@ var require_cjs = __commonJS({
|
|
|
13629
13626
|
* `undefined` if cache is empty.
|
|
13630
13627
|
*/
|
|
13631
13628
|
pop() {
|
|
13632
|
-
var _a2;
|
|
13633
13629
|
try {
|
|
13634
13630
|
while (this.#size) {
|
|
13635
13631
|
const val = this.#valList[this.#head];
|
|
@@ -13646,14 +13642,13 @@ var require_cjs = __commonJS({
|
|
|
13646
13642
|
if (this.#hasDisposeAfter && this.#disposed) {
|
|
13647
13643
|
const dt = this.#disposed;
|
|
13648
13644
|
let task;
|
|
13649
|
-
while (task = dt
|
|
13650
|
-
|
|
13645
|
+
while (task = dt?.shift()) {
|
|
13646
|
+
this.#disposeAfter?.(...task);
|
|
13651
13647
|
}
|
|
13652
13648
|
}
|
|
13653
13649
|
}
|
|
13654
13650
|
}
|
|
13655
13651
|
#evict(free) {
|
|
13656
|
-
var _a2, _b;
|
|
13657
13652
|
const head = this.#head;
|
|
13658
13653
|
const k = this.#keyList[head];
|
|
13659
13654
|
const v = this.#valList[head];
|
|
@@ -13661,10 +13656,10 @@ var require_cjs = __commonJS({
|
|
|
13661
13656
|
v.__abortController.abort(new Error("evicted"));
|
|
13662
13657
|
} else if (this.#hasDispose || this.#hasDisposeAfter) {
|
|
13663
13658
|
if (this.#hasDispose) {
|
|
13664
|
-
|
|
13659
|
+
this.#dispose?.(v, k, "evict");
|
|
13665
13660
|
}
|
|
13666
13661
|
if (this.#hasDisposeAfter) {
|
|
13667
|
-
|
|
13662
|
+
this.#disposed?.push([v, k, "evict"]);
|
|
13668
13663
|
}
|
|
13669
13664
|
}
|
|
13670
13665
|
this.#removeItemSize(head);
|
|
@@ -13739,7 +13734,7 @@ var require_cjs = __commonJS({
|
|
|
13739
13734
|
}
|
|
13740
13735
|
const ac = new AC();
|
|
13741
13736
|
const { signal } = options;
|
|
13742
|
-
signal
|
|
13737
|
+
signal?.addEventListener("abort", () => ac.abort(signal.reason), {
|
|
13743
13738
|
signal: ac.signal
|
|
13744
13739
|
});
|
|
13745
13740
|
const fetchOpts = {
|
|
@@ -13810,8 +13805,7 @@ var require_cjs = __commonJS({
|
|
|
13810
13805
|
}
|
|
13811
13806
|
};
|
|
13812
13807
|
const pcall = (res, rej) => {
|
|
13813
|
-
|
|
13814
|
-
const fmp = (_a2 = this.#fetchMethod) == null ? void 0 : _a2.call(this, k, v, fetchOpts);
|
|
13808
|
+
const fmp = this.#fetchMethod?.(k, v, fetchOpts);
|
|
13815
13809
|
if (fmp && fmp instanceof Promise) {
|
|
13816
13810
|
fmp.then((v2) => res(v2), rej);
|
|
13817
13811
|
}
|
|
@@ -14000,7 +13994,6 @@ var require_cjs = __commonJS({
|
|
|
14000
13994
|
* Returns true if the key was deleted, false otherwise.
|
|
14001
13995
|
*/
|
|
14002
13996
|
delete(k) {
|
|
14003
|
-
var _a2, _b, _c, _d;
|
|
14004
13997
|
let deleted = false;
|
|
14005
13998
|
if (this.#size !== 0) {
|
|
14006
13999
|
const index = this.#keyMap.get(k);
|
|
@@ -14015,10 +14008,10 @@ var require_cjs = __commonJS({
|
|
|
14015
14008
|
v.__abortController.abort(new Error("deleted"));
|
|
14016
14009
|
} else if (this.#hasDispose || this.#hasDisposeAfter) {
|
|
14017
14010
|
if (this.#hasDispose) {
|
|
14018
|
-
|
|
14011
|
+
this.#dispose?.(v, k, "delete");
|
|
14019
14012
|
}
|
|
14020
14013
|
if (this.#hasDisposeAfter) {
|
|
14021
|
-
|
|
14014
|
+
this.#disposed?.push([v, k, "delete"]);
|
|
14022
14015
|
}
|
|
14023
14016
|
}
|
|
14024
14017
|
this.#keyMap.delete(k);
|
|
@@ -14037,11 +14030,11 @@ var require_cjs = __commonJS({
|
|
|
14037
14030
|
}
|
|
14038
14031
|
}
|
|
14039
14032
|
}
|
|
14040
|
-
if (this.#hasDisposeAfter &&
|
|
14033
|
+
if (this.#hasDisposeAfter && this.#disposed?.length) {
|
|
14041
14034
|
const dt = this.#disposed;
|
|
14042
14035
|
let task;
|
|
14043
|
-
while (task = dt
|
|
14044
|
-
|
|
14036
|
+
while (task = dt?.shift()) {
|
|
14037
|
+
this.#disposeAfter?.(...task);
|
|
14045
14038
|
}
|
|
14046
14039
|
}
|
|
14047
14040
|
return deleted;
|
|
@@ -14050,7 +14043,6 @@ var require_cjs = __commonJS({
|
|
|
14050
14043
|
* Clear the cache entirely, throwing away all values.
|
|
14051
14044
|
*/
|
|
14052
14045
|
clear() {
|
|
14053
|
-
var _a2, _b, _c;
|
|
14054
14046
|
for (const index of this.#rindexes({ allowStale: true })) {
|
|
14055
14047
|
const v = this.#valList[index];
|
|
14056
14048
|
if (this.#isBackgroundFetch(v)) {
|
|
@@ -14058,10 +14050,10 @@ var require_cjs = __commonJS({
|
|
|
14058
14050
|
} else {
|
|
14059
14051
|
const k = this.#keyList[index];
|
|
14060
14052
|
if (this.#hasDispose) {
|
|
14061
|
-
|
|
14053
|
+
this.#dispose?.(v, k, "delete");
|
|
14062
14054
|
}
|
|
14063
14055
|
if (this.#hasDisposeAfter) {
|
|
14064
|
-
|
|
14056
|
+
this.#disposed?.push([v, k, "delete"]);
|
|
14065
14057
|
}
|
|
14066
14058
|
}
|
|
14067
14059
|
}
|
|
@@ -14083,8 +14075,8 @@ var require_cjs = __commonJS({
|
|
|
14083
14075
|
if (this.#hasDisposeAfter && this.#disposed) {
|
|
14084
14076
|
const dt = this.#disposed;
|
|
14085
14077
|
let task;
|
|
14086
|
-
while (task = dt
|
|
14087
|
-
|
|
14078
|
+
while (task = dt?.shift()) {
|
|
14079
|
+
this.#disposeAfter?.(...task);
|
|
14088
14080
|
}
|
|
14089
14081
|
}
|
|
14090
14082
|
}
|
|
@@ -17498,20 +17490,20 @@ __export(webhook_handler_lambda_exports, {
|
|
|
17498
17490
|
});
|
|
17499
17491
|
module.exports = __toCommonJS(webhook_handler_lambda_exports);
|
|
17500
17492
|
var crypto = __toESM(require("crypto"));
|
|
17501
|
-
var
|
|
17493
|
+
var import_client_sfn = require("@aws-sdk/client-sfn");
|
|
17502
17494
|
|
|
17503
17495
|
// src/lambda-github.ts
|
|
17504
17496
|
var import_auth_app = __toESM(require_dist_node12());
|
|
17505
17497
|
var import_rest = __toESM(require_dist_node19());
|
|
17506
17498
|
|
|
17507
17499
|
// src/lambda-helpers.ts
|
|
17508
|
-
var
|
|
17509
|
-
var sm = new
|
|
17500
|
+
var import_client_secrets_manager = require("@aws-sdk/client-secrets-manager");
|
|
17501
|
+
var sm = new import_client_secrets_manager.SecretsManagerClient();
|
|
17510
17502
|
async function getSecretValue(arn) {
|
|
17511
17503
|
if (!arn) {
|
|
17512
17504
|
throw new Error("Missing secret ARN");
|
|
17513
17505
|
}
|
|
17514
|
-
const secret = await sm.
|
|
17506
|
+
const secret = await sm.send(new import_client_secrets_manager.GetSecretValueCommand({ SecretId: arn }));
|
|
17515
17507
|
if (!secret.SecretString) {
|
|
17516
17508
|
throw new Error(`No SecretString in ${arn}`);
|
|
17517
17509
|
}
|
|
@@ -17580,7 +17572,7 @@ async function getOctokit(installationId) {
|
|
|
17580
17572
|
}
|
|
17581
17573
|
|
|
17582
17574
|
// src/webhook-handler.lambda.ts
|
|
17583
|
-
var sf = new
|
|
17575
|
+
var sf = new import_client_sfn.SFNClient();
|
|
17584
17576
|
function getHeader(event, header) {
|
|
17585
17577
|
for (const headerName of Object.keys(event.headers)) {
|
|
17586
17578
|
if (headerName.toLowerCase() === header.toLowerCase()) {
|
|
@@ -17610,15 +17602,14 @@ function verifyBody(event, secret) {
|
|
|
17610
17602
|
return body.toString();
|
|
17611
17603
|
}
|
|
17612
17604
|
async function isDeploymentPending(payload) {
|
|
17613
|
-
|
|
17614
|
-
const statusesUrl = (_a = payload.deployment) == null ? void 0 : _a.statuses_url;
|
|
17605
|
+
const statusesUrl = payload.deployment?.statuses_url;
|
|
17615
17606
|
if (statusesUrl === void 0) {
|
|
17616
17607
|
return false;
|
|
17617
17608
|
}
|
|
17618
17609
|
try {
|
|
17619
|
-
const { octokit } = await getOctokit(
|
|
17610
|
+
const { octokit } = await getOctokit(payload.installation?.id);
|
|
17620
17611
|
const statuses = await octokit.request(statusesUrl);
|
|
17621
|
-
return
|
|
17612
|
+
return statuses.data[0]?.state === "waiting";
|
|
17622
17613
|
} catch (e) {
|
|
17623
17614
|
console.error("Unable to check deployment. Try adding deployment read permission.", e);
|
|
17624
17615
|
return false;
|
|
@@ -17636,7 +17627,6 @@ function matchLabelsToProvider(labels) {
|
|
|
17636
17627
|
return void 0;
|
|
17637
17628
|
}
|
|
17638
17629
|
async function handler(event) {
|
|
17639
|
-
var _a;
|
|
17640
17630
|
if (!process.env.WEBHOOK_SECRET_ARN || !process.env.STEP_FUNCTION_ARN || !process.env.SUPPORTED_LABELS) {
|
|
17641
17631
|
throw new Error("Missing environment variables");
|
|
17642
17632
|
}
|
|
@@ -17707,17 +17697,17 @@ async function handler(event) {
|
|
|
17707
17697
|
repo: payload.repository.name,
|
|
17708
17698
|
jobId: payload.workflow_job.id,
|
|
17709
17699
|
jobUrl: payload.workflow_job.html_url,
|
|
17710
|
-
installationId:
|
|
17700
|
+
installationId: payload.installation?.id ?? -1,
|
|
17711
17701
|
// always pass value because step function can't handle missing input
|
|
17712
17702
|
labels: payload.workflow_job.labels,
|
|
17713
17703
|
provider
|
|
17714
17704
|
});
|
|
17715
|
-
const execution = await sf.
|
|
17705
|
+
const execution = await sf.send(new import_client_sfn.StartExecutionCommand({
|
|
17716
17706
|
stateMachineArn: process.env.STEP_FUNCTION_ARN,
|
|
17717
17707
|
input,
|
|
17718
17708
|
// name is not random so multiple execution of this webhook won't cause multiple builders to start
|
|
17719
17709
|
name: executionName
|
|
17720
|
-
})
|
|
17710
|
+
}));
|
|
17721
17711
|
console.log(`Started ${execution.executionArn}`);
|
|
17722
17712
|
console.log(input);
|
|
17723
17713
|
return {
|
package/lib/access.js
CHANGED
|
@@ -58,7 +58,7 @@ class LambdaAccess {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
_a = JSII_RTTI_SYMBOL_1;
|
|
61
|
-
LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.11.
|
|
61
|
+
LambdaAccess[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.LambdaAccess", version: "0.11.4" };
|
|
62
62
|
exports.LambdaAccess = LambdaAccess;
|
|
63
63
|
/**
|
|
64
64
|
* @internal
|
|
@@ -12,7 +12,7 @@ class DeleteFailedRunnerFunction extends lambda.Function {
|
|
|
12
12
|
super(scope, id, {
|
|
13
13
|
description: 'src/delete-failed-runner.lambda.ts',
|
|
14
14
|
...props,
|
|
15
|
-
runtime: new lambda.Runtime('
|
|
15
|
+
runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
|
|
16
16
|
handler: 'index.handler',
|
|
17
17
|
code: lambda.Code.fromAsset(path.join(__dirname, '../assets/delete-failed-runner.lambda')),
|
|
18
18
|
});
|
|
@@ -20,4 +20,4 @@ class DeleteFailedRunnerFunction extends lambda.Function {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.DeleteFailedRunnerFunction = DeleteFailedRunnerFunction;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLE1BQU0sQ0FBQyxRQUFRO0lBQzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUM7UUFDL0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsb0NBQW9DO1lBQ2pELEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3RFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNGO0FBWEQsZ0VBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvZGVsZXRlLWZhaWxlZC1ydW5uZXItZnVuY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkVBQTZFO0FBQzdFLDZCQUE2QjtBQUM3QixpREFBaUQ7QUFTakQ7O0dBRUc7QUFDSCxNQUFhLDBCQUEyQixTQUFRLE1BQU0sQ0FBQyxRQUFRO0lBQzdELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUM7UUFDL0UsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixXQUFXLEVBQUUsb0NBQW9DO1lBQ2pELEdBQUcsS0FBSztZQUNSLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQ3RFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSx1Q0FBdUMsQ0FBQyxDQUFDO1NBQzNGLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMscUNBQXFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDMUYsQ0FBQztDQUNGO0FBWEQsZ0VBV0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB+fiBHZW5lcmF0ZWQgYnkgcHJvamVuLiBUbyBtb2RpZnksIGVkaXQgLnByb2plbnJjLmpzIGFuZCBydW4gXCJucHggcHJvamVuXCIuXG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbi8qKlxuICogUHJvcHMgZm9yIERlbGV0ZUZhaWxlZFJ1bm5lckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlRmFpbGVkUnVubmVyRnVuY3Rpb25Qcm9wcyBleHRlbmRzIGxhbWJkYS5GdW5jdGlvbk9wdGlvbnMge1xufVxuXG4vKipcbiAqIEFuIEFXUyBMYW1iZGEgZnVuY3Rpb24gd2hpY2ggZXhlY3V0ZXMgc3JjL2RlbGV0ZS1mYWlsZWQtcnVubmVyLlxuICovXG5leHBvcnQgY2xhc3MgRGVsZXRlRmFpbGVkUnVubmVyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IERlbGV0ZUZhaWxlZFJ1bm5lckZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2RlbGV0ZS1mYWlsZWQtcnVubmVyLmxhbWJkYS50cycsXG4gICAgICAuLi5wcm9wcyxcbiAgICAgIHJ1bnRpbWU6IG5ldyBsYW1iZGEuUnVudGltZSgnbm9kZWpzMTgueCcsIGxhbWJkYS5SdW50aW1lRmFtaWx5Lk5PREVKUyksXG4gICAgICBoYW5kbGVyOiAnaW5kZXguaGFuZGxlcicsXG4gICAgICBjb2RlOiBsYW1iZGEuQ29kZS5mcm9tQXNzZXQocGF0aC5qb2luKF9fZGlybmFtZSwgJy4uL2Fzc2V0cy9kZWxldGUtZmFpbGVkLXJ1bm5lci5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
|
|
@@ -12,7 +12,7 @@ class IdleRunnerRepearFunction extends lambda.Function {
|
|
|
12
12
|
super(scope, id, {
|
|
13
13
|
description: 'src/idle-runner-repear.lambda.ts',
|
|
14
14
|
...props,
|
|
15
|
-
runtime: new lambda.Runtime('
|
|
15
|
+
runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
|
|
16
16
|
handler: 'index.handler',
|
|
17
17
|
code: lambda.Code.fromAsset(path.join(__dirname, '../assets/idle-runner-repear.lambda')),
|
|
18
18
|
});
|
|
@@ -20,4 +20,4 @@ class IdleRunnerRepearFunction extends lambda.Function {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.IdleRunnerRepearFunction = IdleRunnerRepearFunction;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1ydW5uZXItcmVwZWFyLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lkbGUtcnVubmVyLXJlcGVhci1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDM0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxrQ0FBa0M7WUFDL0MsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFDQUFxQyxDQUFDLENBQUM7U0FDekYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw0REFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1ydW5uZXItcmVwZWFyLWZ1bmN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2lkbGUtcnVubmVyLXJlcGVhci1mdW5jdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2RUFBNkU7QUFDN0UsNkJBQTZCO0FBQzdCLGlEQUFpRDtBQVNqRDs7R0FFRztBQUNILE1BQWEsd0JBQXlCLFNBQVEsTUFBTSxDQUFDLFFBQVE7SUFDM0QsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFxQztRQUM3RSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLFdBQVcsRUFBRSxrQ0FBa0M7WUFDL0MsR0FBRyxLQUFLO1lBQ1IsT0FBTyxFQUFFLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDdEUsT0FBTyxFQUFFLGVBQWU7WUFDeEIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLHFDQUFxQyxDQUFDLENBQUM7U0FDekYsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFYRCw0REFXQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIH5+IEdlbmVyYXRlZCBieSBwcm9qZW4uIFRvIG1vZGlmeSwgZWRpdCAucHJvamVucmMuanMgYW5kIHJ1biBcIm5weCBwcm9qZW5cIi5cbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgKiBhcyBsYW1iZGEgZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcblxuLyoqXG4gKiBQcm9wcyBmb3IgSWRsZVJ1bm5lclJlcGVhckZ1bmN0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSWRsZVJ1bm5lclJlcGVhckZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9pZGxlLXJ1bm5lci1yZXBlYXIuXG4gKi9cbmV4cG9ydCBjbGFzcyBJZGxlUnVubmVyUmVwZWFyRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IElkbGVSdW5uZXJSZXBlYXJGdW5jdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ3NyYy9pZGxlLXJ1bm5lci1yZXBlYXIubGFtYmRhLnRzJyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcnVudGltZTogbmV3IGxhbWJkYS5SdW50aW1lKCdub2RlanMxOC54JywgbGFtYmRhLlJ1bnRpbWVGYW1pbHkuTk9ERUpTKSxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vYXNzZXRzL2lkbGUtcnVubmVyLXJlcGVhci5sYW1iZGEnKSksXG4gICAgfSk7XG4gICAgdGhpcy5hZGRFbnZpcm9ubWVudCgnQVdTX05PREVKU19DT05ORUNUSU9OX1JFVVNFX0VOQUJMRUQnLCAnMScsIHsgcmVtb3ZlSW5FZGdlOiB0cnVlIH0pO1xuICB9XG59Il19
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const client_sfn_1 = require("@aws-sdk/client-sfn");
|
|
5
5
|
const lambda_github_1 = require("./lambda-github");
|
|
6
|
-
const sfn = new
|
|
6
|
+
const sfn = new client_sfn_1.SFNClient();
|
|
7
7
|
async function handler(event) {
|
|
8
8
|
const result = { batchItemFailures: [] };
|
|
9
9
|
const octokitCache = {};
|
|
@@ -12,7 +12,7 @@ async function handler(event) {
|
|
|
12
12
|
console.log(`Checking runner for ${input.owner}/${input.repo} [execution-id=${input.runnerName}]`);
|
|
13
13
|
const retryLater = () => result.batchItemFailures.push({ itemIdentifier: record.messageId });
|
|
14
14
|
// check if step function is still running
|
|
15
|
-
const execution = await sfn.
|
|
15
|
+
const execution = await sfn.send(new client_sfn_1.DescribeExecutionCommand({ executionArn: input.executionArn }));
|
|
16
16
|
if (execution.status != 'RUNNING') {
|
|
17
17
|
// no need to test again as runner already finished
|
|
18
18
|
console.log('Runner already finished');
|
|
@@ -57,11 +57,11 @@ async function handler(event) {
|
|
|
57
57
|
// stop step function first, so it's marked as aborted with the proper error
|
|
58
58
|
// if we delete the runner first, the step function will be marked as failed with a generic error
|
|
59
59
|
console.log(`Stopping step function ${input.executionArn}...`);
|
|
60
|
-
await sfn.
|
|
60
|
+
await sfn.send(new client_sfn_1.StopExecutionCommand({
|
|
61
61
|
executionArn: input.executionArn,
|
|
62
62
|
error: 'IdleRunner',
|
|
63
63
|
cause: `Runner ${input.runnerName} on ${input.owner}/${input.repo} is idle for too long (${diffMs / 1000} seconds and limit is ${input.maxIdleSeconds} seconds)`,
|
|
64
|
-
})
|
|
64
|
+
}));
|
|
65
65
|
}
|
|
66
66
|
catch (e) {
|
|
67
67
|
console.error(`Failed to stop step function ${input.executionArn}: ${e}`);
|
|
@@ -99,4 +99,4 @@ async function handler(event) {
|
|
|
99
99
|
return result;
|
|
100
100
|
}
|
|
101
101
|
exports.handler = handler;
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1ydW5uZXItcmVwZWFyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pZGxlLXJ1bm5lci1yZXBlYXIubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBLCtCQUErQjtBQUMvQixtREFBd0Q7QUFXeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7QUFFN0IsS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUF5QjtJQUNyRCxNQUFNLE1BQU0sR0FBK0IsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNyRSxNQUFNLFlBQVksR0FBK0IsRUFBRSxDQUFDO0lBRXBELEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQTBCLENBQUM7UUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFFbkcsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUU3RiwwQ0FBMEM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsaUJBQWlCLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDOUYsSUFBSSxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVMsRUFBRTtZQUNqQyxtREFBbUQ7WUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1lBQ3ZDLFNBQVM7U0FD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QyxLQUFLLENBQUMsWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQzFFLFVBQVUsRUFBRSxDQUFDO3dCQUNiLFNBQVM7cUJBQ1Y7b0JBRUQsSUFBSTt3QkFDRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzt3QkFDL0MsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLOzRCQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7NEJBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTt5QkFDckIsQ0FBQyxDQUFDO3FCQUNKO29CQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDNUQsVUFBVSxFQUFFLENBQUM7d0JBQ2IsU0FBUztxQkFDVjtpQkFDRjtxQkFBTTtvQkFDTCxpREFBaUQ7b0JBQ2pELFVBQVUsRUFBRSxDQUFDO2lCQUNkO2dCQUVELEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2IsTUFBTTthQUNQO1NBQ0Y7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsOEhBQThIO1lBQzlILE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxVQUFVLEVBQUUsQ0FBQztTQUNkO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBdkdELDBCQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9jdG9raXQgfSBmcm9tICdAb2N0b2tpdC9yZXN0JztcbmltcG9ydCAqIGFzIEFXU0xhbWJkYSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCAqIGFzIEFXUyBmcm9tICdhd3Mtc2RrJztcbmltcG9ydCB7IGdldE9jdG9raXQsIGdldFJ1bm5lciB9IGZyb20gJy4vbGFtYmRhLWdpdGh1Yic7XG5cbmludGVyZmFjZSBJZGxlUmVhcGVyTGFtYmRhSW5wdXQge1xuICByZWFkb25seSBleGVjdXRpb25Bcm46IHN0cmluZztcbiAgcmVhZG9ubHkgcnVubmVyTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBvd25lcjogc3RyaW5nO1xuICByZWFkb25seSByZXBvOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGluc3RhbGxhdGlvbklkPzogbnVtYmVyO1xuICByZWFkb25seSBtYXhJZGxlU2Vjb25kczogbnVtYmVyO1xufVxuXG5jb25zdCBzZm4gPSBuZXcgQVdTLlN0ZXBGdW5jdGlvbnMoKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5TUVNFdmVudCk6IFByb21pc2U8QVdTTGFtYmRhLlNRU0JhdGNoUmVzcG9uc2U+IHtcbiAgY29uc3QgcmVzdWx0OiBBV1NMYW1iZGEuU1FTQmF0Y2hSZXNwb25zZSA9IHsgYmF0Y2hJdGVtRmFpbHVyZXM6IFtdIH07XG4gIGNvbnN0IG9jdG9raXRDYWNoZTogeyBba2V5OiBudW1iZXJdOiBPY3Rva2l0IH0gPSB7fTtcblxuICBmb3IgKGNvbnN0IHJlY29yZCBvZiBldmVudC5SZWNvcmRzKSB7XG4gICAgY29uc3QgaW5wdXQgPSBKU09OLnBhcnNlKHJlY29yZC5ib2R5KSBhcyBJZGxlUmVhcGVyTGFtYmRhSW5wdXQ7XG4gICAgY29uc29sZS5sb2coYENoZWNraW5nIHJ1bm5lciBmb3IgJHtpbnB1dC5vd25lcn0vJHtpbnB1dC5yZXBvfSBbZXhlY3V0aW9uLWlkPSR7aW5wdXQucnVubmVyTmFtZX1dYCk7XG5cbiAgICBjb25zdCByZXRyeUxhdGVyID0gKCkgPT4gcmVzdWx0LmJhdGNoSXRlbUZhaWx1cmVzLnB1c2goeyBpdGVtSWRlbnRpZmllcjogcmVjb3JkLm1lc3NhZ2VJZCB9KTtcblxuICAgIC8vIGNoZWNrIGlmIHN0ZXAgZnVuY3Rpb24gaXMgc3RpbGwgcnVubmluZ1xuICAgIGNvbnN0IGV4ZWN1dGlvbiA9IGF3YWl0IHNmbi5kZXNjcmliZUV4ZWN1dGlvbih7IGV4ZWN1dGlvbkFybjogaW5wdXQuZXhlY3V0aW9uQXJuIH0pLnByb21pc2UoKTtcbiAgICBpZiAoZXhlY3V0aW9uLnN0YXR1cyAhPSAnUlVOTklORycpIHtcbiAgICAgIC8vIG5vIG5lZWQgdG8gdGVzdCBhZ2FpbiBhcyBydW5uZXIgYWxyZWFkeSBmaW5pc2hlZFxuICAgICAgY29uc29sZS5sb2coJ1J1bm5lciBhbHJlYWR5IGZpbmlzaGVkJyk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBnZXQgZ2l0aHViIGFjY2Vzc1xuICAgIGxldCBvY3Rva2l0OiBPY3Rva2l0O1xuICAgIGlmIChvY3Rva2l0Q2FjaGVbaW5wdXQuaW5zdGFsbGF0aW9uSWQgPz8gLTFdKSB7XG4gICAgICBvY3Rva2l0ID0gb2N0b2tpdENhY2hlW2lucHV0Lmluc3RhbGxhdGlvbklkID8/IC0xXTtcbiAgICB9IGVsc2Uge1xuICAgICAgb2N0b2tpdCA9IG9jdG9raXRDYWNoZVtpbnB1dC5pbnN0YWxsYXRpb25JZCA/PyAtMV0gPSAoYXdhaXQgZ2V0T2N0b2tpdChpbnB1dC5pbnN0YWxsYXRpb25JZCkpLm9jdG9raXQ7XG4gICAgfVxuXG4gICAgLy8gZmluZCBydW5uZXJcbiAgICBjb25zdCBydW5uZXIgPSBhd2FpdCBnZXRSdW5uZXIob2N0b2tpdCwgaW5wdXQub3duZXIsIGlucHV0LnJlcG8sIGlucHV0LnJ1bm5lck5hbWUpO1xuICAgIGlmICghcnVubmVyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBSdW5uZXIgbm90IHJ1bm5pbmcgeWV0IGZvciAke2lucHV0Lm93bmVyfS8ke2lucHV0LnJlcG99OiR7aW5wdXQucnVubmVyTmFtZX1gKTtcbiAgICAgIHJldHJ5TGF0ZXIoKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIGlmIG5vdCBpZGxlLCB0cnkgYWdhaW4gbGF0ZXJcbiAgICAvLyB3ZSB3YW50IHRvIHRyeSBhZ2FpbiBiZWNhdXNlIHRoZSBydW5uZXIgbWlnaHQgYmUgcmV0cmllZCBkdWUgdG8gZS5nLiBsYW1iZGEgdGltZW91dFxuICAgIC8vIHdlIG5lZWQgdG8ga2VlcCBmb2xsb3dpbmcgdGhlIHJldHJ5IHRvbyBhbmQgbWFrZSBzdXJlIGl0IGRvZXNuJ3QgZ28gaWRsZVxuICAgIGlmIChydW5uZXIuYnVzeSkge1xuICAgICAgY29uc29sZS5sb2coJ1J1bm5lciBpcyBub3QgaWRsZScpO1xuICAgICAgcmV0cnlMYXRlcigpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gY2hlY2sgaWYgbWF4IGlkbGUgdGltZW91dCBoYXMgcmVhY2hlZFxuICAgIGxldCBmb3VuZCA9IGZhbHNlO1xuICAgIGZvciAoY29uc3QgbGFiZWwgb2YgcnVubmVyLmxhYmVscykge1xuICAgICAgaWYgKGxhYmVsLm5hbWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKCdjZGtnaHI6c3RhcnRlZDonKSkge1xuICAgICAgICBjb25zdCBzdGFydGVkID0gcGFyc2VGbG9hdChsYWJlbC5uYW1lLnNwbGl0KCc6JylbMl0pO1xuICAgICAgICBjb25zdCBzdGFydGVkRGF0ZSA9IG5ldyBEYXRlKHN0YXJ0ZWQgKiAxMDAwKTtcbiAgICAgICAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZGlmZk1zID0gbm93LmdldFRpbWUoKSAtIHN0YXJ0ZWREYXRlLmdldFRpbWUoKTtcblxuICAgICAgICBjb25zb2xlLmxvZyhgUnVubmVyICR7aW5wdXQucnVubmVyTmFtZX0gc3RhcnRlZCAke2RpZmZNcy8xMDAwfSBzZWNvbmRzIGFnb2ApO1xuXG4gICAgICAgIGlmIChkaWZmTXMgPiAxMDAwICogaW5wdXQubWF4SWRsZVNlY29uZHMpIHtcbiAgICAgICAgICAvLyBtYXggaWRsZSB0aW1lIHJlYWNoZWQsIGRlbGV0ZSBydW5uZXJcbiAgICAgICAgICBjb25zb2xlLmxvZyhgUnVubmVyICR7aW5wdXQucnVubmVyTmFtZX0gaXMgaWRsZSBmb3IgdG9vIGxvbmdgKTtcblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBzdG9wIHN0ZXAgZnVuY3Rpb24gZmlyc3QsIHNvIGl0J3MgbWFya2VkIGFzIGFib3J0ZWQgd2l0aCB0aGUgcHJvcGVyIGVycm9yXG4gICAgICAgICAgICAvLyBpZiB3ZSBkZWxldGUgdGhlIHJ1bm5lciBmaXJzdCwgdGhlIHN0ZXAgZnVuY3Rpb24gd2lsbCBiZSBtYXJrZWQgYXMgZmFpbGVkIHdpdGggYSBnZW5lcmljIGVycm9yXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgU3RvcHBpbmcgc3RlcCBmdW5jdGlvbiAke2lucHV0LmV4ZWN1dGlvbkFybn0uLi5gKTtcbiAgICAgICAgICAgIGF3YWl0IHNmbi5zdG9wRXhlY3V0aW9uKHtcbiAgICAgICAgICAgICAgZXhlY3V0aW9uQXJuOiBpbnB1dC5leGVjdXRpb25Bcm4sXG4gICAgICAgICAgICAgIGVycm9yOiAnSWRsZVJ1bm5lcicsXG4gICAgICAgICAgICAgIGNhdXNlOiBgUnVubmVyICR7aW5wdXQucnVubmVyTmFtZX0gb24gJHtpbnB1dC5vd25lcn0vJHtpbnB1dC5yZXBvfSBpcyBpZGxlIGZvciB0b28gbG9uZyAoJHtkaWZmTXMgLyAxMDAwfSBzZWNvbmRzIGFuZCBsaW1pdCBpcyAke2lucHV0Lm1heElkbGVTZWNvbmRzfSBzZWNvbmRzKWAsXG4gICAgICAgICAgICB9KS5wcm9taXNlKCk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIHN0b3Agc3RlcCBmdW5jdGlvbiAke2lucHV0LmV4ZWN1dGlvbkFybn06ICR7ZX1gKTtcbiAgICAgICAgICAgIHJldHJ5TGF0ZXIoKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgRGVsZXRpbmcgcnVubmVyICR7cnVubmVyLmlkfS4uLmApO1xuICAgICAgICAgICAgYXdhaXQgb2N0b2tpdC5yZXN0LmFjdGlvbnMuZGVsZXRlU2VsZkhvc3RlZFJ1bm5lckZyb21SZXBvKHtcbiAgICAgICAgICAgICAgb3duZXI6IGlucHV0Lm93bmVyLFxuICAgICAgICAgICAgICByZXBvOiBpbnB1dC5yZXBvLFxuICAgICAgICAgICAgICBydW5uZXJfaWQ6IHJ1bm5lci5pZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhaWxlZCB0byBkZWxldGUgcnVubmVyICR7cnVubmVyLmlkfTogJHtlfWApO1xuICAgICAgICAgICAgcmV0cnlMYXRlcigpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHN0aWxsIGlkbGUsIHRpbWVvdXQgbm90IHJlYWNoZWQgLS0gcmV0cnkgbGF0ZXJcbiAgICAgICAgICByZXRyeUxhdGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICBmb3VuZCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghZm91bmQpIHtcbiAgICAgIC8vIG5vIHN0YXJ0ZWQgbGFiZWw/IHJldHJ5IGxhdGVyIChpdCB3b24ndCByZXRyeSBmb3JldmVyIGFzIGV2ZW50dWFsbHkgdGhlIHJ1bm5lciB3aWxsIHN0b3AgYW5kIHRoZSBzdGVwIGZ1bmN0aW9uIHdpbGwgZmluaXNoKVxuICAgICAgY29uc29sZS5lcnJvcignTm8gYGNka2docjpzdGFydGVkOnh4eGAgbGFiZWwgZm91bmQ/Pz8nKTtcbiAgICAgIHJldHJ5TGF0ZXIoKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuIl19
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS1ydW5uZXItcmVwZWFyLmxhbWJkYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pZGxlLXJ1bm5lci1yZXBlYXIubGFtYmRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG9EQUFnRztBQUdoRyxtREFBd0Q7QUFXeEQsTUFBTSxHQUFHLEdBQUcsSUFBSSxzQkFBUyxFQUFFLENBQUM7QUFFckIsS0FBSyxVQUFVLE9BQU8sQ0FBQyxLQUF5QjtJQUNyRCxNQUFNLE1BQU0sR0FBK0IsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUNyRSxNQUFNLFlBQVksR0FBK0IsRUFBRSxDQUFDO0lBRXBELEtBQUssTUFBTSxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTtRQUNsQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQTBCLENBQUM7UUFDL0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsS0FBSyxDQUFDLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7UUFFbkcsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUU3RiwwQ0FBMEM7UUFDMUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUkscUNBQXdCLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRyxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksU0FBUyxFQUFFO1lBQ2pDLG1EQUFtRDtZQUNuRCxPQUFPLENBQUMsR0FBRyxDQUFDLHlCQUF5QixDQUFDLENBQUM7WUFDdkMsU0FBUztTQUNWO1FB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QUFnQyxLQUFLLENBQUMsWUFBWSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7d0JBQzFFLFVBQVUsRUFBRSxDQUFDO3dCQUNiLFNBQVM7cUJBQ1Y7b0JBRUQsSUFBSTt3QkFDRixPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQzt3QkFDL0MsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw4QkFBOEIsQ0FBQzs0QkFDeEQsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLOzRCQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7NEJBQ2hCLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTt5QkFDckIsQ0FBQyxDQUFDO3FCQUNKO29CQUFDLE9BQU8sQ0FBQyxFQUFFO3dCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkJBQTJCLE1BQU0sQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQzt3QkFDNUQsVUFBVSxFQUFFLENBQUM7d0JBQ2IsU0FBUztxQkFDVjtpQkFDRjtxQkFBTTtvQkFDTCxpREFBaUQ7b0JBQ2pELFVBQVUsRUFBRSxDQUFDO2lCQUNkO2dCQUVELEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQ2IsTUFBTTthQUNQO1NBQ0Y7UUFFRCxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ1YsOEhBQThIO1lBQzlILE9BQU8sQ0FBQyxLQUFLLENBQUMsd0NBQXdDLENBQUMsQ0FBQztZQUN4RCxVQUFVLEVBQUUsQ0FBQztTQUNkO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBdkdELDBCQXVHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaWJlRXhlY3V0aW9uQ29tbWFuZCwgU0ZOQ2xpZW50LCBTdG9wRXhlY3V0aW9uQ29tbWFuZCB9IGZyb20gJ0Bhd3Mtc2RrL2NsaWVudC1zZm4nO1xuaW1wb3J0IHsgT2N0b2tpdCB9IGZyb20gJ0BvY3Rva2l0L3Jlc3QnO1xuaW1wb3J0ICogYXMgQVdTTGFtYmRhIGZyb20gJ2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgZ2V0T2N0b2tpdCwgZ2V0UnVubmVyIH0gZnJvbSAnLi9sYW1iZGEtZ2l0aHViJztcblxuaW50ZXJmYWNlIElkbGVSZWFwZXJMYW1iZGFJbnB1dCB7XG4gIHJlYWRvbmx5IGV4ZWN1dGlvbkFybjogc3RyaW5nO1xuICByZWFkb25seSBydW5uZXJOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG93bmVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlcG86IHN0cmluZztcbiAgcmVhZG9ubHkgaW5zdGFsbGF0aW9uSWQ/OiBudW1iZXI7XG4gIHJlYWRvbmx5IG1heElkbGVTZWNvbmRzOiBudW1iZXI7XG59XG5cbmNvbnN0IHNmbiA9IG5ldyBTRk5DbGllbnQoKTtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIoZXZlbnQ6IEFXU0xhbWJkYS5TUVNFdmVudCk6IFByb21pc2U8QVdTTGFtYmRhLlNRU0JhdGNoUmVzcG9uc2U+IHtcbiAgY29uc3QgcmVzdWx0OiBBV1NMYW1iZGEuU1FTQmF0Y2hSZXNwb25zZSA9IHsgYmF0Y2hJdGVtRmFpbHVyZXM6IFtdIH07XG4gIGNvbnN0IG9jdG9raXRDYWNoZTogeyBba2V5OiBudW1iZXJdOiBPY3Rva2l0IH0gPSB7fTtcblxuICBmb3IgKGNvbnN0IHJlY29yZCBvZiBldmVudC5SZWNvcmRzKSB7XG4gICAgY29uc3QgaW5wdXQgPSBKU09OLnBhcnNlKHJlY29yZC5ib2R5KSBhcyBJZGxlUmVhcGVyTGFtYmRhSW5wdXQ7XG4gICAgY29uc29sZS5sb2coYENoZWNraW5nIHJ1bm5lciBmb3IgJHtpbnB1dC5vd25lcn0vJHtpbnB1dC5yZXBvfSBbZXhlY3V0aW9uLWlkPSR7aW5wdXQucnVubmVyTmFtZX1dYCk7XG5cbiAgICBjb25zdCByZXRyeUxhdGVyID0gKCkgPT4gcmVzdWx0LmJhdGNoSXRlbUZhaWx1cmVzLnB1c2goeyBpdGVtSWRlbnRpZmllcjogcmVjb3JkLm1lc3NhZ2VJZCB9KTtcblxuICAgIC8vIGNoZWNrIGlmIHN0ZXAgZnVuY3Rpb24gaXMgc3RpbGwgcnVubmluZ1xuICAgIGNvbnN0IGV4ZWN1dGlvbiA9IGF3YWl0IHNmbi5zZW5kKG5ldyBEZXNjcmliZUV4ZWN1dGlvbkNvbW1hbmQoeyBleGVjdXRpb25Bcm46IGlucHV0LmV4ZWN1dGlvbkFybiB9KSk7XG4gICAgaWYgKGV4ZWN1dGlvbi5zdGF0dXMgIT0gJ1JVTk5JTkcnKSB7XG4gICAgICAvLyBubyBuZWVkIHRvIHRlc3QgYWdhaW4gYXMgcnVubmVyIGFscmVhZHkgZmluaXNoZWRcbiAgICAgIGNvbnNvbGUubG9nKCdSdW5uZXIgYWxyZWFkeSBmaW5pc2hlZCcpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgLy8gZ2V0IGdpdGh1YiBhY2Nlc3NcbiAgICBsZXQgb2N0b2tpdDogT2N0b2tpdDtcbiAgICBpZiAob2N0b2tpdENhY2hlW2lucHV0Lmluc3RhbGxhdGlvbklkID8/IC0xXSkge1xuICAgICAgb2N0b2tpdCA9IG9jdG9raXRDYWNoZVtpbnB1dC5pbnN0YWxsYXRpb25JZCA/PyAtMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIG9jdG9raXQgPSBvY3Rva2l0Q2FjaGVbaW5wdXQuaW5zdGFsbGF0aW9uSWQgPz8gLTFdID0gKGF3YWl0IGdldE9jdG9raXQoaW5wdXQuaW5zdGFsbGF0aW9uSWQpKS5vY3Rva2l0O1xuICAgIH1cblxuICAgIC8vIGZpbmQgcnVubmVyXG4gICAgY29uc3QgcnVubmVyID0gYXdhaXQgZ2V0UnVubmVyKG9jdG9raXQsIGlucHV0Lm93bmVyLCBpbnB1dC5yZXBvLCBpbnB1dC5ydW5uZXJOYW1lKTtcbiAgICBpZiAoIXJ1bm5lcikge1xuICAgICAgY29uc29sZS5lcnJvcihgUnVubmVyIG5vdCBydW5uaW5nIHlldCBmb3IgJHtpbnB1dC5vd25lcn0vJHtpbnB1dC5yZXBvfToke2lucHV0LnJ1bm5lck5hbWV9YCk7XG4gICAgICByZXRyeUxhdGVyKCk7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICAvLyBpZiBub3QgaWRsZSwgdHJ5IGFnYWluIGxhdGVyXG4gICAgLy8gd2Ugd2FudCB0byB0cnkgYWdhaW4gYmVjYXVzZSB0aGUgcnVubmVyIG1pZ2h0IGJlIHJldHJpZWQgZHVlIHRvIGUuZy4gbGFtYmRhIHRpbWVvdXRcbiAgICAvLyB3ZSBuZWVkIHRvIGtlZXAgZm9sbG93aW5nIHRoZSByZXRyeSB0b28gYW5kIG1ha2Ugc3VyZSBpdCBkb2Vzbid0IGdvIGlkbGVcbiAgICBpZiAocnVubmVyLmJ1c3kpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdSdW5uZXIgaXMgbm90IGlkbGUnKTtcbiAgICAgIHJldHJ5TGF0ZXIoKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIGlmIG1heCBpZGxlIHRpbWVvdXQgaGFzIHJlYWNoZWRcbiAgICBsZXQgZm91bmQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGxhYmVsIG9mIHJ1bm5lci5sYWJlbHMpIHtcbiAgICAgIGlmIChsYWJlbC5uYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aCgnY2RrZ2hyOnN0YXJ0ZWQ6JykpIHtcbiAgICAgICAgY29uc3Qgc3RhcnRlZCA9IHBhcnNlRmxvYXQobGFiZWwubmFtZS5zcGxpdCgnOicpWzJdKTtcbiAgICAgICAgY29uc3Qgc3RhcnRlZERhdGUgPSBuZXcgRGF0ZShzdGFydGVkICogMTAwMCk7XG4gICAgICAgIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IGRpZmZNcyA9IG5vdy5nZXRUaW1lKCkgLSBzdGFydGVkRGF0ZS5nZXRUaW1lKCk7XG5cbiAgICAgICAgY29uc29sZS5sb2coYFJ1bm5lciAke2lucHV0LnJ1bm5lck5hbWV9IHN0YXJ0ZWQgJHtkaWZmTXMvMTAwMH0gc2Vjb25kcyBhZ29gKTtcblxuICAgICAgICBpZiAoZGlmZk1zID4gMTAwMCAqIGlucHV0Lm1heElkbGVTZWNvbmRzKSB7XG4gICAgICAgICAgLy8gbWF4IGlkbGUgdGltZSByZWFjaGVkLCBkZWxldGUgcnVubmVyXG4gICAgICAgICAgY29uc29sZS5sb2coYFJ1bm5lciAke2lucHV0LnJ1bm5lck5hbWV9IGlzIGlkbGUgZm9yIHRvbyBsb25nYCk7XG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gc3RvcCBzdGVwIGZ1bmN0aW9uIGZpcnN0LCBzbyBpdCdzIG1hcmtlZCBhcyBhYm9ydGVkIHdpdGggdGhlIHByb3BlciBlcnJvclxuICAgICAgICAgICAgLy8gaWYgd2UgZGVsZXRlIHRoZSBydW5uZXIgZmlyc3QsIHRoZSBzdGVwIGZ1bmN0aW9uIHdpbGwgYmUgbWFya2VkIGFzIGZhaWxlZCB3aXRoIGEgZ2VuZXJpYyBlcnJvclxuICAgICAgICAgICAgY29uc29sZS5sb2coYFN0b3BwaW5nIHN0ZXAgZnVuY3Rpb24gJHtpbnB1dC5leGVjdXRpb25Bcm59Li4uYCk7XG4gICAgICAgICAgICBhd2FpdCBzZm4uc2VuZChuZXcgU3RvcEV4ZWN1dGlvbkNvbW1hbmQoe1xuICAgICAgICAgICAgICBleGVjdXRpb25Bcm46IGlucHV0LmV4ZWN1dGlvbkFybixcbiAgICAgICAgICAgICAgZXJyb3I6ICdJZGxlUnVubmVyJyxcbiAgICAgICAgICAgICAgY2F1c2U6IGBSdW5uZXIgJHtpbnB1dC5ydW5uZXJOYW1lfSBvbiAke2lucHV0Lm93bmVyfS8ke2lucHV0LnJlcG99IGlzIGlkbGUgZm9yIHRvbyBsb25nICgke2RpZmZNcyAvIDEwMDB9IHNlY29uZHMgYW5kIGxpbWl0IGlzICR7aW5wdXQubWF4SWRsZVNlY29uZHN9IHNlY29uZHMpYCxcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gc3RvcCBzdGVwIGZ1bmN0aW9uICR7aW5wdXQuZXhlY3V0aW9uQXJufTogJHtlfWApO1xuICAgICAgICAgICAgcmV0cnlMYXRlcigpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBEZWxldGluZyBydW5uZXIgJHtydW5uZXIuaWR9Li4uYCk7XG4gICAgICAgICAgICBhd2FpdCBvY3Rva2l0LnJlc3QuYWN0aW9ucy5kZWxldGVTZWxmSG9zdGVkUnVubmVyRnJvbVJlcG8oe1xuICAgICAgICAgICAgICBvd25lcjogaW5wdXQub3duZXIsXG4gICAgICAgICAgICAgIHJlcG86IGlucHV0LnJlcG8sXG4gICAgICAgICAgICAgIHJ1bm5lcl9pZDogcnVubmVyLmlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSBydW5uZXIgJHtydW5uZXIuaWR9OiAke2V9YCk7XG4gICAgICAgICAgICByZXRyeUxhdGVyKCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gc3RpbGwgaWRsZSwgdGltZW91dCBub3QgcmVhY2hlZCAtLSByZXRyeSBsYXRlclxuICAgICAgICAgIHJldHJ5TGF0ZXIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvdW5kID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFmb3VuZCkge1xuICAgICAgLy8gbm8gc3RhcnRlZCBsYWJlbD8gcmV0cnkgbGF0ZXIgKGl0IHdvbid0IHJldHJ5IGZvcmV2ZXIgYXMgZXZlbnR1YWxseSB0aGUgcnVubmVyIHdpbGwgc3RvcCBhbmQgdGhlIHN0ZXAgZnVuY3Rpb24gd2lsbCBmaW5pc2gpXG4gICAgICBjb25zb2xlLmVycm9yKCdObyBgY2RrZ2hyOnN0YXJ0ZWQ6eHh4YCBsYWJlbCBmb3VuZD8/PycpO1xuICAgICAgcmV0cnlMYXRlcigpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG4iXX0=
|
|
@@ -42,6 +42,6 @@ class RunnerImageBuilder extends common_1.RunnerImageBuilderBase {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
_a = JSII_RTTI_SYMBOL_1;
|
|
45
|
-
RunnerImageBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder", version: "0.11.
|
|
45
|
+
RunnerImageBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.RunnerImageBuilder", version: "0.11.4" };
|
|
46
46
|
exports.RunnerImageBuilder = RunnerImageBuilder;
|
|
47
47
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDZDQUEwQztBQUUxQywyREFBd0U7QUFDeEUsMkNBQTBEO0FBQzFELHFDQUFtRztBQUNuRyxnREFBeUM7QUFFekM7Ozs7OztHQU1HO0FBQ0gsTUFBc0Isa0JBQW1CLFNBQVEsK0JBQXNCO0lBQ3JFOztPQUVHO0lBQ0gsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUErQjtRQUN0RSxJQUFJLEtBQUssRUFBRSxVQUFVLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRTtZQUM1Qyx5QkFBVyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLENBQUMsa0hBQWtILENBQUMsQ0FBQztTQUN0SjtRQUVELElBQUksS0FBSyxFQUFFLFdBQVcsS0FBSywrQkFBc0IsQ0FBQyxVQUFVLEVBQUU7WUFDNUQsT0FBTyxJQUFJLHVDQUEyQixDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDMUQ7YUFBTSxJQUFJLEtBQUssRUFBRSxXQUFXLEtBQUssK0JBQXNCLENBQUMsaUJBQWlCLEVBQUU7WUFDMUUsT0FBTyxJQUFJLHFEQUFpQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDaEU7UUFFRCxNQUFNLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxJQUFJLFdBQUUsQ0FBQyxZQUFZLENBQUM7UUFDeEMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLFdBQUUsQ0FBQyxjQUFjLENBQUMsRUFBRTtZQUN0RCxPQUFPLElBQUksdUNBQTJCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztTQUMxRDthQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxXQUFFLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLHFEQUFpQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDaEU7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ3RGO0lBQ0gsQ0FBQzs7OztBQXZCbUIsZ0RBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQW5ub3RhdGlvbnMgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEF3c0ltYWdlQnVpbGRlclJ1bm5lckltYWdlQnVpbGRlciB9IGZyb20gJy4vYXdzLWltYWdlLWJ1aWxkZXInO1xuaW1wb3J0IHsgQ29kZUJ1aWxkUnVubmVySW1hZ2VCdWlsZGVyIH0gZnJvbSAnLi9jb2RlYnVpbGQnO1xuaW1wb3J0IHsgUnVubmVySW1hZ2VCdWlsZGVyQmFzZSwgUnVubmVySW1hZ2VCdWlsZGVyUHJvcHMsIFJ1bm5lckltYWdlQnVpbGRlclR5cGUgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBPcyB9IGZyb20gJy4uL3Byb3ZpZGVycy9jb21tb24nO1xuXG4vKipcbiAqIEdpdEh1YiBSdW5uZXIgaW1hZ2UgYnVpbGRlci4gQnVpbGRzIGEgRG9ja2VyIGltYWdlIG9yIEFNSSB3aXRoIEdpdEh1YiBSdW5uZXIgYW5kIG90aGVyIHJlcXVpcmVtZW50cyBpbnN0YWxsZWQuXG4gKlxuICogSW1hZ2VzIGNhbiBiZSBjdXN0b21pemVkIGJlZm9yZSBwYXNzZWQgaW50byB0aGUgcHJvdmlkZXIgYnkgYWRkaW5nIG9yIHJlbW92aW5nIGNvbXBvbmVudHMgdG8gYmUgaW5zdGFsbGVkLlxuICpcbiAqIEltYWdlcyBhcmUgcmVidWlsdCBldmVyeSB3ZWVrIGJ5IGRlZmF1bHQgdG8gZW5zdXJlIHRoYXQgdGhlIGxhdGVzdCBzZWN1cml0eSBwYXRjaGVzIGFyZSBhcHBsaWVkLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUnVubmVySW1hZ2VCdWlsZGVyIGV4dGVuZHMgUnVubmVySW1hZ2VCdWlsZGVyQmFzZSB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgaW1hZ2UgYnVpbGRlciBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgcHJvcGVydGllcy4gVGhlIGltcGxlbWVudGF0aW9uIHdpbGwgZGlmZmVyIGJhc2VkIG9uIHRoZSBPUywgYXJjaGl0ZWN0dXJlLCBhbmQgcmVxdWVzdGVkIGJ1aWxkZXIgdHlwZS5cbiAgICovXG4gIHN0YXRpYyBuZXcoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM/OiBSdW5uZXJJbWFnZUJ1aWxkZXJQcm9wcyk6IFJ1bm5lckltYWdlQnVpbGRlciB7XG4gICAgaWYgKHByb3BzPy5jb21wb25lbnRzICYmIHByb3BzLnJ1bm5lclZlcnNpb24pIHtcbiAgICAgIEFubm90YXRpb25zLm9mKHNjb3BlKS5hZGRXYXJuaW5nKCdydW5uZXJWZXJzaW9uIGlzIGlnbm9yZWQgd2hlbiBjb21wb25lbnRzIGFyZSBzcGVjaWZpZWQuIFRoZSBydW5uZXIgdmVyc2lvbiB3aWxsIGJlIGRldGVybWluZWQgYnkgdGhlIGNvbXBvbmVudHMuJyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzPy5idWlsZGVyVHlwZSA9PT0gUnVubmVySW1hZ2VCdWlsZGVyVHlwZS5DT0RFX0JVSUxEKSB7XG4gICAgICByZXR1cm4gbmV3IENvZGVCdWlsZFJ1bm5lckltYWdlQnVpbGRlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgICB9IGVsc2UgaWYgKHByb3BzPy5idWlsZGVyVHlwZSA9PT0gUnVubmVySW1hZ2VCdWlsZGVyVHlwZS5BV1NfSU1BR0VfQlVJTERFUikge1xuICAgICAgcmV0dXJuIG5ldyBBd3NJbWFnZUJ1aWxkZXJSdW5uZXJJbWFnZUJ1aWxkZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3MgPSBwcm9wcz8ub3MgPz8gT3MuTElOVVhfVUJVTlRVO1xuICAgIGlmIChvcy5pcyhPcy5MSU5VWF9VQlVOVFUpIHx8IG9zLmlzKE9zLkxJTlVYX0FNQVpPTl8yKSkge1xuICAgICAgcmV0dXJuIG5ldyBDb2RlQnVpbGRSdW5uZXJJbWFnZUJ1aWxkZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgfSBlbHNlIGlmIChvcy5pcyhPcy5XSU5ET1dTKSkge1xuICAgICAgcmV0dXJuIG5ldyBBd3NJbWFnZUJ1aWxkZXJSdW5uZXJJbWFnZUJ1aWxkZXIoc2NvcGUsIGlkLCBwcm9wcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgcnVubmVyIGltYWdlIGJ1aWxkZXIgaW1wbGVtZW50YXRpb24gZm9yICR7b3MubmFtZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -152,7 +152,7 @@ class ImageBuilderComponent extends common_1.ImageBuilderObjectBase {
|
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
_a = JSII_RTTI_SYMBOL_1;
|
|
155
|
-
ImageBuilderComponent[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent", version: "0.11.
|
|
155
|
+
ImageBuilderComponent[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.ImageBuilderComponent", version: "0.11.4" };
|
|
156
156
|
exports.ImageBuilderComponent = ImageBuilderComponent;
|
|
157
157
|
/**
|
|
158
158
|
* @internal
|
|
@@ -12,7 +12,7 @@ class DeleteAmiFunction extends lambda.Function {
|
|
|
12
12
|
super(scope, id, {
|
|
13
13
|
description: 'src/image-builders/aws-image-builder/delete-ami.lambda.ts',
|
|
14
14
|
...props,
|
|
15
|
-
runtime: new lambda.Runtime('
|
|
15
|
+
runtime: new lambda.Runtime('nodejs18.x', lambda.RuntimeFamily.NODEJS),
|
|
16
16
|
handler: 'index.handler',
|
|
17
17
|
code: lambda.Code.fromAsset(path.join(__dirname, '../../../assets/image-builders/aws-image-builder/delete-ami.lambda')),
|
|
18
18
|
});
|
|
@@ -20,4 +20,4 @@ class DeleteAmiFunction extends lambda.Function {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
exports.DeleteAmiFunction = DeleteAmiFunction;
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWFtaS1mdW5jdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9pbWFnZS1idWlsZGVycy9hd3MtaW1hZ2UtYnVpbGRlci9kZWxldGUtYW1pLWZ1bmN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZFQUE2RTtBQUM3RSw2QkFBNkI7QUFDN0IsaURBQWlEO0FBU2pEOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxNQUFNLENBQUMsUUFBUTtJQUNwRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThCO1FBQ3RFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsV0FBVyxFQUFFLDJEQUEyRDtZQUN4RSxHQUFHLEtBQUs7WUFDUixPQUFPLEVBQUUsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN0RSxPQUFPLEVBQUUsZUFBZTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsb0VBQW9FLENBQUMsQ0FBQztTQUN4SCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsY0FBYyxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFGLENBQUM7Q0FDRjtBQVhELDhDQVdDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gfn4gR2VuZXJhdGVkIGJ5IHByb2plbi4gVG8gbW9kaWZ5LCBlZGl0IC5wcm9qZW5yYy5qcyBhbmQgcnVuIFwibnB4IHByb2plblwiLlxuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIGxhbWJkYSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIFByb3BzIGZvciBEZWxldGVBbWlGdW5jdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZUFtaUZ1bmN0aW9uUHJvcHMgZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb25PcHRpb25zIHtcbn1cblxuLyoqXG4gKiBBbiBBV1MgTGFtYmRhIGZ1bmN0aW9uIHdoaWNoIGV4ZWN1dGVzIHNyYy9pbWFnZS1idWlsZGVycy9hd3MtaW1hZ2UtYnVpbGRlci9kZWxldGUtYW1pLlxuICovXG5leHBvcnQgY2xhc3MgRGVsZXRlQW1pRnVuY3Rpb24gZXh0ZW5kcyBsYW1iZGEuRnVuY3Rpb24ge1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IERlbGV0ZUFtaUZ1bmN0aW9uUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnc3JjL2ltYWdlLWJ1aWxkZXJzL2F3cy1pbWFnZS1idWlsZGVyL2RlbGV0ZS1hbWkubGFtYmRhLnRzJyxcbiAgICAgIC4uLnByb3BzLFxuICAgICAgcnVudGltZTogbmV3IGxhbWJkYS5SdW50aW1lKCdub2RlanMxOC54JywgbGFtYmRhLlJ1bnRpbWVGYW1pbHkuTk9ERUpTKSxcbiAgICAgIGhhbmRsZXI6ICdpbmRleC5oYW5kbGVyJyxcbiAgICAgIGNvZGU6IGxhbWJkYS5Db2RlLmZyb21Bc3NldChwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi4vLi4vLi4vYXNzZXRzL2ltYWdlLWJ1aWxkZXJzL2F3cy1pbWFnZS1idWlsZGVyL2RlbGV0ZS1hbWkubGFtYmRhJykpLFxuICAgIH0pO1xuICAgIHRoaXMuYWRkRW52aXJvbm1lbnQoJ0FXU19OT0RFSlNfQ09OTkVDVElPTl9SRVVTRV9FTkFCTEVEJywgJzEnLCB7IHJlbW92ZUluRWRnZTogdHJ1ZSB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.handler = void 0;
|
|
4
|
-
const
|
|
4
|
+
const client_ec2_1 = require("@aws-sdk/client-ec2");
|
|
5
5
|
const lambda_helpers_1 = require("../../lambda-helpers");
|
|
6
|
-
const ec2 = new
|
|
6
|
+
const ec2 = new client_ec2_1.EC2Client();
|
|
7
7
|
async function deleteAmis(launchTemplateId, stackName, builderName, deleteAll) {
|
|
8
8
|
// this runs daily and images are built once a week, so there shouldn't be a need for pagination
|
|
9
|
-
const images = await ec2.
|
|
9
|
+
const images = await ec2.send(new client_ec2_1.DescribeImagesCommand({
|
|
10
10
|
Owners: ['self'],
|
|
11
11
|
Filters: [
|
|
12
12
|
{
|
|
@@ -18,16 +18,16 @@ async function deleteAmis(launchTemplateId, stackName, builderName, deleteAll) {
|
|
|
18
18
|
Values: [builderName],
|
|
19
19
|
},
|
|
20
20
|
],
|
|
21
|
-
})
|
|
21
|
+
}));
|
|
22
22
|
let imagesToDelete = images.Images ?? [];
|
|
23
23
|
console.log(`Found ${imagesToDelete.length} AMIs`);
|
|
24
24
|
console.log(JSON.stringify(imagesToDelete.map(i => i.ImageId)));
|
|
25
25
|
if (!deleteAll) {
|
|
26
26
|
// get launch template information to filter out the active image
|
|
27
|
-
const launchTemplates = await ec2.
|
|
27
|
+
const launchTemplates = await ec2.send(new client_ec2_1.DescribeLaunchTemplateVersionsCommand({
|
|
28
28
|
LaunchTemplateId: launchTemplateId,
|
|
29
29
|
Versions: ['$Default'],
|
|
30
|
-
})
|
|
30
|
+
}));
|
|
31
31
|
if (!launchTemplates.LaunchTemplateVersions) {
|
|
32
32
|
console.error(`Unable to describe launch template ${launchTemplateId}`);
|
|
33
33
|
return;
|
|
@@ -46,15 +46,15 @@ async function deleteAmis(launchTemplateId, stackName, builderName, deleteAll) {
|
|
|
46
46
|
continue;
|
|
47
47
|
}
|
|
48
48
|
console.log(`Deregistering ${image.ImageId}`);
|
|
49
|
-
await ec2.
|
|
49
|
+
await ec2.send(new client_ec2_1.DeregisterImageCommand({
|
|
50
50
|
ImageId: image.ImageId,
|
|
51
|
-
})
|
|
51
|
+
}));
|
|
52
52
|
for (const blockMapping of image.BlockDeviceMappings ?? []) {
|
|
53
53
|
if (blockMapping.Ebs?.SnapshotId) {
|
|
54
54
|
console.log(`Deleting ${blockMapping.Ebs.SnapshotId}`);
|
|
55
|
-
await ec2.
|
|
55
|
+
await ec2.send(new client_ec2_1.DeleteSnapshotCommand({
|
|
56
56
|
SnapshotId: blockMapping.Ebs.SnapshotId,
|
|
57
|
-
})
|
|
57
|
+
}));
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -84,4 +84,4 @@ async function handler(event, context) {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
exports.handler = handler;
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLWFtaS5sYW1iZGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW1hZ2UtYnVpbGRlcnMvYXdzLWltYWdlLWJ1aWxkZXIvZGVsZXRlLWFtaS5sYW1iZGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsb0RBTTZCO0FBRTdCLHlEQUE2RDtBQUU3RCxNQUFNLEdBQUcsR0FBRyxJQUFJLHNCQUFTLEVBQUUsQ0FBQztBQVM1QixLQUFLLFVBQVUsVUFBVSxDQUFDLGdCQUF3QixFQUFFLFNBQWlCLEVBQUUsV0FBbUIsRUFBRSxTQUFrQjtJQUM1RyxnR0FBZ0c7SUFDaEcsTUFBTSxNQUFNLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksa0NBQXFCLENBQUM7UUFDdEQsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRTtZQUNQO2dCQUNFLElBQUksRUFBRSx5QkFBeUI7Z0JBQy9CLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQzthQUNwQjtZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7Z0JBQ2pDLE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQzthQUN0QjtTQUNGO0tBQ0YsQ0FBQyxDQUFDLENBQUM7SUFFSixJQUFJLGNBQWMsR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUV6QyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsY0FBYyxDQUFDLE1BQU0sT0FBTyxDQUFDLENBQUM7SUFDbkQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRWhFLElBQUksQ0FBQyxTQUFTLEVBQUU7UUFDZCxpRUFBaUU7UUFDakUsTUFBTSxlQUFlLEdBQUcsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksa0RBQXFDLENBQUM7WUFDL0UsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLFFBQVEsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUN2QixDQUFDLENBQUMsQ0FBQztRQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXNCLEVBQUU7WUFDM0MsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQ0FBc0MsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3hFLE9BQU87U0FDUjtRQUNELE1BQU0sY0FBYyxHQUFHLGVBQWUsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqRSxvQkFBb0I7UUFDcEIsY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxrQkFBa0IsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNyRyx3R0FBd0c7UUFDeEcsY0FBYyxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFL0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGNBQWMsQ0FBQyxNQUFNLDhFQUE4RSxDQUFDLENBQUM7S0FDckg7SUFFRCwyQkFBMkI7SUFDM0IsS0FBSyxNQUFNLEtBQUssSUFBSSxjQUFjLEVBQUU7UUFDbEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUU7WUFDbEIsT0FBTyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEQsU0FBUztTQUNWO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFFOUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksbUNBQXNCLENBQUM7WUFDeEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQyxDQUFDO1FBRUosS0FBSyxNQUFNLFlBQVksSUFBSSxLQUFLLENBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFFO1lBQzFELElBQUksWUFBWSxDQUFDLEdBQUcsRUFBRSxVQUFVLEVBQUU7Z0JBQ2hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxZQUFZLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7Z0JBRXZELE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLGtDQUFxQixDQUFDO29CQUN2QyxVQUFVLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxVQUFVO2lCQUN4QyxDQUFDLENBQUMsQ0FBQzthQUNMO1NBQ0Y7S0FDRjtBQUNILENBQUM7QUFFTSxLQUFLLFVBQVUsT0FBTyxDQUFDLEtBQW1FLEVBQUUsT0FBMEI7SUFDM0gsSUFBSTtRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUQsUUFBUSxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ3pCLEtBQUssV0FBVztnQkFDZCxNQUFNLFVBQVUsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUNwRixPQUFPO1lBQ1QsS0FBSyxRQUFRLENBQUM7WUFDZCxLQUFLLFFBQVE7Z0JBQ1gsTUFBTSxJQUFBLHNDQUFxQixFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDdEUsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxNQUFNLFVBQVUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNyRyxNQUFNLElBQUEsc0NBQXFCLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNsRixNQUFNO1NBQ1Q7S0FDRjtJQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQ1YsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksV0FBVyxFQUFFO1lBQ3BDLE1BQU0sSUFBQSxzQ0FBcUIsRUFBQyxLQUFLLEVBQUUsUUFBUSxFQUFHLENBQVcsQ0FBQyxPQUFPLElBQUksZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQztTQUNuSDtLQUNGO0FBQ0gsQ0FBQztBQXZCRCwwQkF1QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZWxldGVTbmFwc2hvdENvbW1hbmQsXG4gIERlcmVnaXN0ZXJJbWFnZUNvbW1hbmQsXG4gIERlc2NyaWJlSW1hZ2VzQ29tbWFuZCxcbiAgRGVzY3JpYmVMYXVuY2hUZW1wbGF0ZVZlcnNpb25zQ29tbWFuZCxcbiAgRUMyQ2xpZW50LFxufSBmcm9tICdAYXdzLXNkay9jbGllbnQtZWMyJztcbmltcG9ydCAqIGFzIEFXU0xhbWJkYSBmcm9tICdhd3MtbGFtYmRhJztcbmltcG9ydCB7IGN1c3RvbVJlc291cmNlUmVzcG9uZCB9IGZyb20gJy4uLy4uL2xhbWJkYS1oZWxwZXJzJztcblxuY29uc3QgZWMyID0gbmV3IEVDMkNsaWVudCgpO1xuXG50eXBlIERlbGV0ZUFtaUlucHV0ID0ge1xuICBSZXF1ZXN0VHlwZTogJ1NjaGVkdWxlZCc7XG4gIFN0YWNrTmFtZTogc3RyaW5nO1xuICBCdWlsZGVyTmFtZTogc3RyaW5nO1xuICBMYXVuY2hUZW1wbGF0ZUlkOiBzdHJpbmc7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIGRlbGV0ZUFtaXMobGF1bmNoVGVtcGxhdGVJZDogc3RyaW5nLCBzdGFja05hbWU6IHN0cmluZywgYnVpbGRlck5hbWU6IHN0cmluZywgZGVsZXRlQWxsOiBib29sZWFuKSB7XG4gIC8vIHRoaXMgcnVucyBkYWlseSBhbmQgaW1hZ2VzIGFyZSBidWlsdCBvbmNlIGEgd2Vlaywgc28gdGhlcmUgc2hvdWxkbid0IGJlIGEgbmVlZCBmb3IgcGFnaW5hdGlvblxuICBjb25zdCBpbWFnZXMgPSBhd2FpdCBlYzIuc2VuZChuZXcgRGVzY3JpYmVJbWFnZXNDb21tYW5kKHtcbiAgICBPd25lcnM6IFsnc2VsZiddLFxuICAgIEZpbHRlcnM6IFtcbiAgICAgIHtcbiAgICAgICAgTmFtZTogJ3RhZzpHaXRIdWJSdW5uZXJzOlN0YWNrJyxcbiAgICAgICAgVmFsdWVzOiBbc3RhY2tOYW1lXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIE5hbWU6ICd0YWc6R2l0SHViUnVubmVyczpCdWlsZGVyJyxcbiAgICAgICAgVmFsdWVzOiBbYnVpbGRlck5hbWVdLFxuICAgICAgfSxcbiAgICBdLFxuICB9KSk7XG5cbiAgbGV0IGltYWdlc1RvRGVsZXRlID0gaW1hZ2VzLkltYWdlcyA/PyBbXTtcblxuICBjb25zb2xlLmxvZyhgRm91bmQgJHtpbWFnZXNUb0RlbGV0ZS5sZW5ndGh9IEFNSXNgKTtcbiAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoaW1hZ2VzVG9EZWxldGUubWFwKGkgPT4gaS5JbWFnZUlkKSkpO1xuXG4gIGlmICghZGVsZXRlQWxsKSB7XG4gICAgLy8gZ2V0IGxhdW5jaCB0ZW1wbGF0ZSBpbmZvcm1hdGlvbiB0byBmaWx0ZXIgb3V0IHRoZSBhY3RpdmUgaW1hZ2VcbiAgICBjb25zdCBsYXVuY2hUZW1wbGF0ZXMgPSBhd2FpdCBlYzIuc2VuZChuZXcgRGVzY3JpYmVMYXVuY2hUZW1wbGF0ZVZlcnNpb25zQ29tbWFuZCh7XG4gICAgICBMYXVuY2hUZW1wbGF0ZUlkOiBsYXVuY2hUZW1wbGF0ZUlkLFxuICAgICAgVmVyc2lvbnM6IFsnJERlZmF1bHQnXSxcbiAgICB9KSk7XG4gICAgaWYgKCFsYXVuY2hUZW1wbGF0ZXMuTGF1bmNoVGVtcGxhdGVWZXJzaW9ucykge1xuICAgICAgY29uc29sZS5lcnJvcihgVW5hYmxlIHRvIGRlc2NyaWJlIGxhdW5jaCB0ZW1wbGF0ZSAke2xhdW5jaFRlbXBsYXRlSWR9YCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGxhdW5jaFRlbXBsYXRlID0gbGF1bmNoVGVtcGxhdGVzLkxhdW5jaFRlbXBsYXRlVmVyc2lvbnNbMF07XG5cbiAgICAvLyBub24tYWN0aXZlIGltYWdlc1xuICAgIGltYWdlc1RvRGVsZXRlID0gaW1hZ2VzVG9EZWxldGUuZmlsdGVyKGkgPT4gaS5JbWFnZUlkICE9IGxhdW5jaFRlbXBsYXRlLkxhdW5jaFRlbXBsYXRlRGF0YT8uSW1hZ2VJZCk7XG4gICAgLy8gaW1hZ2VzIG9sZGVyIHRoYW4gdHdvIGRheXMgdG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdoZXJlIGFuIGltYWdlIGlzIGNyZWF0ZWQgd2hpbGUgd2UncmUgY2xlYW5pbmcgdXBcbiAgICBpbWFnZXNUb0RlbGV0ZSA9IGltYWdlc1RvRGVsZXRlLmZpbHRlcihpID0+IGkuQ3JlYXRpb25EYXRlICYmIERhdGUucGFyc2UoaS5DcmVhdGlvbkRhdGUpIDwgKERhdGUubm93KCkgLSAxMDAwICogNjAgKiA2MCAqIDQ4KSk7XG5cbiAgICBjb25zb2xlLmxvZyhgJHtpbWFnZXNUb0RlbGV0ZS5sZW5ndGh9IEFNSXMgbGVmdCBhZnRlciBmaWx0ZXJpbmcgYnkgZGF0ZSBhbmQgZXhjbHVkaW5nIEFNSSB1c2VkIGJ5IGxhdW5jaCB0ZW1wbGF0ZWApO1xuICB9XG5cbiAgLy8gZGVsZXRlIGFsbCB0aGF0IHdlIGZvdW5kXG4gIGZvciAoY29uc3QgaW1hZ2Ugb2YgaW1hZ2VzVG9EZWxldGUpIHtcbiAgICBpZiAoIWltYWdlLkltYWdlSWQpIHtcbiAgICAgIGNvbnNvbGUud2FybihgTm8gaW1hZ2UgaWQ/ICR7SlNPTi5zdHJpbmdpZnkoaW1hZ2UpfWApO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc29sZS5sb2coYERlcmVnaXN0ZXJpbmcgJHtpbWFnZS5JbWFnZUlkfWApO1xuXG4gICAgYXdhaXQgZWMyLnNlbmQobmV3IERlcmVnaXN0ZXJJbWFnZUNvbW1hbmQoe1xuICAgICAgSW1hZ2VJZDogaW1hZ2UuSW1hZ2VJZCxcbiAgICB9KSk7XG5cbiAgICBmb3IgKGNvbnN0IGJsb2NrTWFwcGluZyBvZiBpbWFnZS5CbG9ja0RldmljZU1hcHBpbmdzID8/IFtdKSB7XG4gICAgICBpZiAoYmxvY2tNYXBwaW5nLkVicz8uU25hcHNob3RJZCkge1xuICAgICAgICBjb25zb2xlLmxvZyhgRGVsZXRpbmcgJHtibG9ja01hcHBpbmcuRWJzLlNuYXBzaG90SWR9YCk7XG5cbiAgICAgICAgYXdhaXQgZWMyLnNlbmQobmV3IERlbGV0ZVNuYXBzaG90Q29tbWFuZCh7XG4gICAgICAgICAgU25hcHNob3RJZDogYmxvY2tNYXBwaW5nLkVicy5TbmFwc2hvdElkLFxuICAgICAgICB9KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKGV2ZW50OiBEZWxldGVBbWlJbnB1dCB8IEFXU0xhbWJkYS5DbG91ZEZvcm1hdGlvbkN1c3RvbVJlc291cmNlRXZlbnQsIGNvbnRleHQ6IEFXU0xhbWJkYS5Db250ZXh0KSB7XG4gIHRyeSB7XG4gICAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoeyAuLi5ldmVudCwgUmVzcG9uc2VVUkw6ICcuLi4nIH0pKTtcblxuICAgIHN3aXRjaCAoZXZlbnQuUmVxdWVzdFR5cGUpIHtcbiAgICAgIGNhc2UgJ1NjaGVkdWxlZCc6XG4gICAgICAgIGF3YWl0IGRlbGV0ZUFtaXMoZXZlbnQuTGF1bmNoVGVtcGxhdGVJZCwgZXZlbnQuU3RhY2tOYW1lLCBldmVudC5CdWlsZGVyTmFtZSwgZmFsc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICdDcmVhdGUnOlxuICAgICAgY2FzZSAnVXBkYXRlJzpcbiAgICAgICAgYXdhaXQgY3VzdG9tUmVzb3VyY2VSZXNwb25kKGV2ZW50LCAnU1VDQ0VTUycsICdPSycsICdEZWxldGVBbWlzJywge30pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ0RlbGV0ZSc6XG4gICAgICAgIGF3YWl0IGRlbGV0ZUFtaXMoJycsIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5TdGFja05hbWUsIGV2ZW50LlJlc291cmNlUHJvcGVydGllcy5CdWlsZGVyTmFtZSwgdHJ1ZSk7XG4gICAgICAgIGF3YWl0IGN1c3RvbVJlc291cmNlUmVzcG9uZChldmVudCwgJ1NVQ0NFU1MnLCAnT0snLCBldmVudC5QaHlzaWNhbFJlc291cmNlSWQsIHt9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9IGNhdGNoIChlKSB7XG4gICAgY29uc29sZS5lcnJvcihlKTtcbiAgICBpZiAoZXZlbnQuUmVxdWVzdFR5cGUgIT0gJ1NjaGVkdWxlZCcpIHtcbiAgICAgIGF3YWl0IGN1c3RvbVJlc291cmNlUmVzcG9uZChldmVudCwgJ0ZBSUxFRCcsIChlIGFzIEVycm9yKS5tZXNzYWdlIHx8ICdJbnRlcm5hbCBFcnJvcicsIGNvbnRleHQubG9nU3RyZWFtTmFtZSwge30pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -235,6 +235,6 @@ class AmiBuilder extends common_1.ImageBuilderBase {
|
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
_a = JSII_RTTI_SYMBOL_1;
|
|
238
|
-
AmiBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.AmiBuilder", version: "0.11.
|
|
238
|
+
AmiBuilder[_a] = { fqn: "@cloudsnorkel/cdk-github-runners.AmiBuilder", version: "0.11.4" };
|
|
239
239
|
exports.AmiBuilder = AmiBuilder;
|
|
240
240
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1pLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ltYWdlLWJ1aWxkZXJzL2F3cy1pbWFnZS1idWlsZGVyL2RlcHJlY2F0ZWQvYW1pLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbUNBQW1DO0FBQ25DLDZDQVdxQjtBQUVyQixxQ0FBNEM7QUFDNUMseURBQTJEO0FBQzNELDZEQUF5RDtBQUN6RCxrREFBNkY7QUFDN0YsMENBQWlEO0FBQ2pELHlDQUFzRDtBQUN0RCxnQ0FBbUQ7QUFFbkQsZ0VBQTJEO0FBbUczRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E2Qkc7QUFDSCxNQUFhLFVBQVcsU0FBUSx5QkFBZ0I7SUFHOUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUF1QjtRQUMvRCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNmLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNiLFdBQVcsRUFBRSxDQUFDLGNBQUUsQ0FBQyxLQUFLLEVBQUUsY0FBRSxDQUFDLFlBQVksRUFBRSxjQUFFLENBQUMsY0FBYyxFQUFFLGNBQUUsQ0FBQyxPQUFPLENBQUM7WUFDdkUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZO1lBQ2pDLHNCQUFzQixFQUFFLENBQUMsd0JBQVksQ0FBQyxNQUFNLEVBQUUsd0JBQVksQ0FBQyxLQUFLLENBQUM7WUFDakUsWUFBWSxFQUFFLEtBQUssRUFBRSxZQUFZO1lBQ2pDLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRztZQUNmLGNBQWMsRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLGNBQWM7WUFDcEYsZUFBZSxFQUFFLEtBQUssRUFBRSxlQUFlO1lBQ3ZDLGdCQUFnQixFQUFFLEtBQUssRUFBRSxnQkFBZ0I7WUFDekMsWUFBWSxFQUFFLEtBQUss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d0JBQU0sQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO2dCQUN2QyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLGdCQUFnQjtnQkFDakQsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCLENBQUM7U0FDSCxDQUFDLENBQUMsQ0FBQztRQUVKLGlEQUFpRDtRQUNqRCxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRTtZQUN0QyxZQUFZLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDakMsWUFBWSxFQUFFLG9CQUFvQjtZQUNsQyxVQUFVLEVBQUU7Z0JBQ1YsU0FBUyxFQUFFLFNBQVM7Z0JBQ3BCLFdBQVcsRUFBRSxXQUFXO2FBQ3pCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDYixNQUFNLElBQUksS0FBSyxDQUFDLGtEQUFrRCxDQUFDLENBQUM7SUFDdEUsQ0FBQzs7OztBQTlNVSxnQ0FBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQge1xuICBhd3NfZWMyIGFzIGVjMixcbiAgYXdzX2V2ZW50cyBhcyBldmVudHMsXG4gIGF3c19ldmVudHNfdGFyZ2V0cyBhcyBldmVudHNfdGFyZ2V0cyxcbiAgYXdzX2lhbSBhcyBpYW0sXG4gIGF3c19pbWFnZWJ1aWxkZXIgYXMgaW1hZ2VidWlsZGVyLFxuICBhd3NfbG9ncyBhcyBsb2dzLFxuICBDdXN0b21SZXNvdXJjZSxcbiAgRHVyYXRpb24sXG4gIFJlbW92YWxQb2xpY3ksXG4gIFN0YWNrLFxufSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEltYWdlQnVpbGRlckJhc2UgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBMaW51eFVidW50dUNvbXBvbmVudHMgfSBmcm9tICcuL2xpbnV4LWNvbXBvbmVudHMnO1xuaW1wb3J0IHsgV2luZG93c0NvbXBvbmVudHMgfSBmcm9tICcuL3dpbmRvd3MtY29tcG9uZW50cyc7XG5pbXBvcnQgeyBBcmNoaXRlY3R1cmUsIE9zLCBSdW5uZXJBbWksIFJ1bm5lckltYWdlLCBSdW5uZXJWZXJzaW9uIH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzJztcbmltcG9ydCB7IHNpbmdsZXRvbkxhbWJkYSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IHVuaXF1ZUltYWdlQnVpbGRlck5hbWUgfSBmcm9tICcuLi8uLi9jb21tb24nO1xuaW1wb3J0IHsgQW1pUmVjaXBlLCBkZWZhdWx0QmFzZUFtaSB9IGZyb20gJy4uL2FtaSc7XG5pbXBvcnQgeyBJbWFnZUJ1aWxkZXJDb21wb25lbnQgfSBmcm9tICcuLi9idWlsZGVyJztcbmltcG9ydCB7IERlbGV0ZUFtaUZ1bmN0aW9uIH0gZnJvbSAnLi4vZGVsZXRlLWFtaS1mdW5jdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3Ige0BsaW5rIEFtaUJ1aWxkZXJ9IGNvbnN0cnVjdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBbWlCdWlsZGVyUHJvcHMge1xuICAvKipcbiAgICogSW1hZ2UgYXJjaGl0ZWN0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBBcmNoaXRlY3R1cmUuWDg2XzY0XG4gICAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU/OiBBcmNoaXRlY3R1cmU7XG5cbiAgLyoqXG4gICAqIEltYWdlIE9TLlxuICAgKlxuICAgKiBAZGVmYXVsdCBPUy5MSU5VWFxuICAgKi9cbiAgcmVhZG9ubHkgb3M/OiBPcztcblxuICAvKipcbiAgICogVmVyc2lvbiBvZiBHaXRIdWIgUnVubmVycyB0byBpbnN0YWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCBsYXRlc3QgdmVyc2lvbiBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IHJ1bm5lclZlcnNpb24/OiBSdW5uZXJWZXJzaW9uO1xuXG4gIC8qKlxuICAgKiBTY2hlZHVsZSB0aGUgQU1JIHRvIGJlIHJlYnVpbHQgZXZlcnkgZ2l2ZW4gaW50ZXJ2YWwuIFVzZWZ1bCBmb3Iga2VlcGluZyB0aGUgQU1JIHVwLWRvLWRhdGUgd2l0aCB0aGUgbGF0ZXN0IEdpdEh1YiBydW5uZXIgdmVyc2lvbiBhbmQgbGF0ZXN0IE9TIHVwZGF0ZXMuXG4gICAqXG4gICAqIFNldCB0byB6ZXJvIHRvIGRpc2FibGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IER1cmF0aW9uLmRheXMoNylcbiAgICovXG4gIHJlYWRvbmx5IHJlYnVpbGRJbnRlcnZhbD86IER1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBWUEMgd2hlcmUgYnVpbGRlciBpbnN0YW5jZXMgd2lsbCBiZSBsYXVuY2hlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZGVmYXVsdCBhY2NvdW50IFZQQ1xuICAgKi9cbiAgcmVhZG9ubHkgdnBjPzogZWMyLklWcGM7XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IGdyb3VwIHRvIGFzc2lnbiB0byBsYXVuY2hlZCBidWlsZGVyIGluc3RhbmNlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgbmV3IHNlY3VyaXR5IGdyb3VwXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSB7QGxpbmsgc2VjdXJpdHlHcm91cHN9XG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwPzogZWMyLklTZWN1cml0eUdyb3VwO1xuXG4gIC8qKlxuICAgKiBTZWN1cml0eSBncm91cHMgdG8gYXNzaWduIHRvIGxhdW5jaGVkIGJ1aWxkZXIgaW5zdGFuY2VzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBuZXcgc2VjdXJpdHkgZ3JvdXBcbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogZWMyLklTZWN1cml0eUdyb3VwW107XG5cbiAgLyoqXG4gICAqIFdoZXJlIHRvIHBsYWNlIHRoZSBuZXR3b3JrIGludGVyZmFjZXMgd2l0aGluIHRoZSBWUEMuIE9ubHkgdGhlIGZpcnN0IG1hdGNoZWQgc3VibmV0IHdpbGwgYmUgdXNlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZGVmYXVsdCBWUEMgc3VibmV0XG4gICAqL1xuICByZWFkb25seSBzdWJuZXRTZWxlY3Rpb24/OiBlYzIuU3VibmV0U2VsZWN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdGFuY2UgdHlwZSB1c2VkIHRvIGJ1aWxkIHRoZSBpbWFnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgbTUubGFyZ2VcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbmNlVHlwZT86IGVjMi5JbnN0YW5jZVR5cGU7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgZGF5cyBsb2cgZXZlbnRzIGFyZSBrZXB0IGluIENsb3VkV2F0Y2ggTG9ncy4gV2hlbiB1cGRhdGluZ1xuICAgKiB0aGlzIHByb3BlcnR5LCB1bnNldHRpbmcgaXQgZG9lc24ndCByZW1vdmUgdGhlIGxvZyByZXRlbnRpb24gcG9saWN5LiBUb1xuICAgKiByZW1vdmUgdGhlIHJldGVudGlvbiBwb2xpY3ksIHNldCB0aGUgdmFsdWUgdG8gYElORklOSVRFYC5cbiAgICpcbiAgICogQGRlZmF1bHQgbG9ncy5SZXRlbnRpb25EYXlzLk9ORV9NT05USFxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmV0ZW50aW9uPzogbG9ncy5SZXRlbnRpb25EYXlzO1xuXG4gIC8qKlxuICAgKiBSZW1vdmFsIHBvbGljeSBmb3IgbG9ncyBvZiBpbWFnZSBidWlsZHMuIElmIGRlcGxveW1lbnQgZmFpbHMgb24gdGhlIGN1c3RvbSByZXNvdXJjZSwgdHJ5IHNldHRpbmcgdGhpcyB0byBgUmVtb3ZhbFBvbGljeS5SRVRBSU5gLiBUaGlzIHdheSB0aGUgbG9ncyBjYW4gc3RpbGwgYmUgdmlld2VkLCBhbmQgeW91IGNhbiBzZWUgd2h5IHRoZSBidWlsZCBmYWlsZWQuXG4gICAqXG4gICAqIFdlIHRyeSB0byBub3QgbGVhdmUgYW55dGhpbmcgYmVoaW5kIHdoZW4gcmVtb3ZlZC4gQnV0IHNvbWV0aW1lcyBhIGxvZyBzdGF5aW5nIGJlaGluZCBpcyB1c2VmdWwuXG4gICAqXG4gICAqIEBkZWZhdWx0IFJlbW92YWxQb2xpY3kuREVTVFJPWVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nUmVtb3ZhbFBvbGljeT86IFJlbW92YWxQb2xpY3k7XG5cbiAgLyoqXG4gICAqIEluc3RhbGwgRG9ja2VyIGluc2lkZSB0aGUgaW1hZ2UsIHNvIGl0IGNhbiBiZSB1c2VkIGJ5IHRoZSBydW5uZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGluc3RhbGxEb2NrZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFuIEFNSSBidWlsZGVyIHRoYXQgdXNlcyBBV1MgSW1hZ2UgQnVpbGRlciB0byBidWlsZCBBTUlzIHByZS1iYWtlZCB3aXRoIGFsbCB0aGUgR2l0SHViIEFjdGlvbnMgcnVubmVyIHJlcXVpcmVtZW50cy4gQnVpbGRlcnMgY2FuIGJlIHVzZWQgd2l0aCB7QGxpbmsgRWMyUnVubmVyfS5cbiAqXG4gKiBFYWNoIGJ1aWxkZXIgcmUtcnVucyBhdXRvbWF0aWNhbGx5IGF0IGEgc2V0IGludGVydmFsIHRvIG1ha2Ugc3VyZSB0aGUgQU1JcyBjb250YWluIHRoZSBsYXRlc3QgdmVyc2lvbnMgb2YgZXZlcnl0aGluZy5cbiAqXG4gKiBZb3UgY2FuIGNyZWF0ZSBhbiBpbnN0YW5jZSBvZiB0aGlzIGNvbnN0cnVjdCB0byBjdXN0b21pemUgdGhlIEFNSSB1c2VkIHRvIHNwaW4tdXAgcnVubmVycy4gU29tZSBydW5uZXIgcHJvdmlkZXJzIG1heSByZXF1aXJlIGN1c3RvbSBjb21wb25lbnRzLiBDaGVjayB0aGUgcnVubmVyIHByb3ZpZGVyIGRvY3VtZW50YXRpb24uXG4gKlxuICogRm9yIGV4YW1wbGUsIHRvIHNldCBhIHNwZWNpZmljIHJ1bm5lciB2ZXJzaW9uLCByZWJ1aWxkIHRoZSBpbWFnZSBldmVyeSAyIHdlZWtzLCBhbmQgYWRkIGEgZmV3IHBhY2thZ2VzIGZvciB0aGUgRUMyIHByb3ZpZGVyLCB1c2U6XG4gKlxuICogYGBgXG4gKiBjb25zdCBidWlsZGVyID0gbmV3IEFtaUJ1aWxkZXIodGhpcywgJ0J1aWxkZXInLCB7XG4gKiAgICAgcnVubmVyVmVyc2lvbjogUnVubmVyVmVyc2lvbi5zcGVjaWZpYygnMi4yOTMuMCcpLFxuICogICAgIHJlYnVpbGRJbnRlcnZhbDogRHVyYXRpb24uZGF5cygxNCksXG4gKiB9KTtcbiAqIGJ1aWxkZXIuYWRkQ29tcG9uZW50KG5ldyBJbWFnZUJ1aWxkZXJDb21wb25lbnQoc2NvcGUsIGlkLCB7XG4gKiAgIHBsYXRmb3JtOiAnTGludXgnLFxuICogICBkaXNwbGF5TmFtZTogJ3A3emlwJyxcbiAqICAgZGVzY3JpcHRpb246ICdJbnN0YWxsIHNvbWUgbW9yZSBwYWNrYWdlcycsXG4gKiAgIGNvbW1hbmRzOiBbXG4gKiAgICAgJ2FwdC1nZXQgaW5zdGFsbCBwN3ppcCcsXG4gKiAgIF0sXG4gKiB9KSk7XG4gKiBuZXcgRWMyUnVubmVyUHJvdmlkZXIodGhpcywgJ0VDMiBwcm92aWRlcicsIHtcbiAqICAgICBsYWJlbHM6IFsnY3VzdG9tLWVjMiddLFxuICogICAgIGFtaUJ1aWxkZXI6IGJ1aWxkZXIsXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBkZXByZWNhdGVkIHVzZSBSdW5uZXJJbWFnZUJ1aWxkZXJcbiAqL1xuZXhwb3J0IGNsYXNzIEFtaUJ1aWxkZXIgZXh0ZW5kcyBJbWFnZUJ1aWxkZXJCYXNlIHtcbiAgcHJpdmF0ZSBib3VuZEFtaT86IFJ1bm5lckFtaTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wcz86IEFtaUJ1aWxkZXJQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgb3M6IHByb3BzPy5vcyxcbiAgICAgIHN1cHBvcnRlZE9zOiBbT3MuTElOVVgsIE9zLkxJTlVYX1VCVU5UVSwgT3MuTElOVVhfQU1BWk9OXzIsIE9zLldJTkRPV1NdLFxuICAgICAgYXJjaGl0ZWN0dXJlOiBwcm9wcz8uYXJjaGl0ZWN0dXJlLFxuICAgICAgc3VwcG9ydGVkQXJjaGl0ZWN0dXJlczogW0FyY2hpdGVjdHVyZS5YODZfNjQsIEFyY2hpdGVjdHVyZS5BUk02NF0sXG4gICAgICBpbnN0YW5jZVR5cGU6IHByb3BzPy5pbnN0YW5jZVR5cGUsXG4gICAgICB2cGM6IHByb3BzPy52cGMsXG4gICAgICBzZWN1cml0eUdyb3VwczogcHJvcHM/LnNlY3VyaXR5R3JvdXAgPyBbcHJvcHMuc2VjdXJpdHlHcm91cF0gOiBwcm9wcz8uc2VjdXJpdHlHcm91cHMsXG4gICAgICBzdWJuZXRTZWxlY3Rpb246IHByb3BzPy5zdWJuZXRTZWxlY3Rpb24sXG4gICAgICBsb2dSZW1vdmFsUG9saWN5OiBwcm9wcz8ubG9nUmVtb3ZhbFBvbGljeSxcbiAgICAgIGxvZ1JldGVudGlvbjogcHJvcHM/LmxvZ1JldGVudGlvbixcbiAgICAgIHJ1bm5lclZlcnNpb246IHByb3BzPy5ydW5uZXJWZXJzaW9uLFxuICAgICAgcmVidWlsZEludGVydmFsOiBwcm9wcz8ucmVidWlsZEludGVydmFsLFxuICAgICAgaW1hZ2VUeXBlTmFtZTogJ0FNSScsXG4gICAgfSk7XG5cbiAgICAvLyBhZGQgYWxsIGJhc2ljIGNvbXBvbmVudHNcbiAgICBpZiAodGhpcy5vcy5pcyhPcy5XSU5ET1dTKSkge1xuICAgICAgdGhpcy5hZGRCYXNlV2luZG93c0NvbXBvbmVudHMocHJvcHM/Lmluc3RhbGxEb2NrZXIgPz8gdHJ1ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm9zLmlzKE9zLkxJTlVYKSB8fCB0aGlzLm9zLmlzKE9zLkxJTlVYX1VCVU5UVSkpIHtcbiAgICAgIHRoaXMuYWRkQmFzZUxpbnV4Q29tcG9uZW50cyhwcm9wcz8uaW5zdGFsbERvY2tlciA/PyB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBPUyBmb3IgQU1JIGJ1aWxkZXI6ICR7dGhpcy5vcy5uYW1lfWApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkQmFzZVdpbmRvd3NDb21wb25lbnRzKGluc3RhbGxEb2NrZXI6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmFkZENvbXBvbmVudChXaW5kb3dzQ29tcG9uZW50cy5jbG91ZHdhdGNoQWdlbnQodGhpcywgJ0Nsb3VkV2F0Y2ggYWdlbnQnKSk7XG4gICAgdGhpcy5hZGRDb21wb25lbnQoV2luZG93c0NvbXBvbmVudHMuYXdzQ2xpKHRoaXMsICdBV1MgQ0xJJykpO1xuICAgIHRoaXMuYWRkQ29tcG9uZW50KFdpbmRvd3NDb21wb25lbnRzLmdpdGh1YkNsaSh0aGlzLCAnR2l0SHViIENMSScpKTtcbiAgICB0aGlzLmFkZENvbXBvbmVudChXaW5kb3dzQ29tcG9uZW50cy5naXQodGhpcywgJ2dpdCcpKTtcbiAgICB0aGlzLmFkZENvbXBvbmVudChXaW5kb3dzQ29tcG9uZW50cy5naXRodWJSdW5uZXIodGhpcywgJ0dpdEh1YiBBY3Rpb25zIFJ1bm5lcicsIHRoaXMucnVubmVyVmVyc2lvbikpO1xuICAgIGlmIChpbnN0YWxsRG9ja2VyKSB7XG4gICAgICB0aGlzLmFkZENvbXBvbmVudChXaW5kb3dzQ29tcG9uZW50cy5kb2NrZXIodGhpcywgJ0RvY2tlcicpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZEJhc2VMaW51eENvbXBvbmVudHMoaW5zdGFsbERvY2tlcjogYm9vbGVhbikge1xuICAgIHRoaXMuYWRkQ29tcG9uZW50KExpbnV4VWJ1bnR1Q29tcG9uZW50cy5yZXF1aXJlZFBhY2thZ2VzKHRoaXMsICdVcGdyYWRlIHBhY2thZ2VzIGFuZCBpbnN0YWxsIGJhc2ljcycsIHRoaXMuYXJjaGl0ZWN0dXJlKSk7XG4gICAgdGhpcy5hZGRDb21wb25lbnQoTGludXhVYnVudHVDb21wb25lbnRzLnJ1bm5lclVzZXIodGhpcywgJ1VzZXInLCB0aGlzLmFyY2hpdGVjdHVyZSkpO1xuICAgIHRoaXMuYWRkQ29tcG9uZW50KExpbnV4VWJ1bnR1Q29tcG9uZW50cy5hd3NDbGkodGhpcywgJ0FXUyBDTEknLCB0aGlzLmFyY2hpdGVjdHVyZSkpO1xuICAgIHRoaXMuYWRkQ29tcG9uZW50KExpbnV4VWJ1bnR1Q29tcG9uZW50cy5naXRodWJDbGkodGhpcywgJ0dpdEh1YiBDTEknLCB0aGlzLmFyY2hpdGVjdHVyZSkpO1xuICAgIHRoaXMuYWRkQ29tcG9uZW50KExpbnV4VWJ1bnR1Q29tcG9uZW50cy5naXQodGhpcywgJ2dpdCcsIHRoaXMuYXJjaGl0ZWN0dXJlKSk7XG4gICAgdGhpcy5hZGRDb21wb25lbnQoTGludXhVYnVudHVDb21wb25lbnRzLmdpdGh1YlJ1bm5lcih0aGlzLCAnR2l0SHViIEFjdGlvbnMgUnVubmVyJywgdGhpcy5ydW5uZXJWZXJzaW9uLCB0aGlzLmFyY2hpdGVjdHVyZSkpO1xuICAgIGlmIChpbnN0YWxsRG9ja2VyKSB7XG4gICAgICB0aGlzLmFkZENvbXBvbmVudChMaW51eFVidW50dUNvbXBvbmVudHMuZG9ja2VyKHRoaXMsICdEb2NrZXInLCB0aGlzLmFyY2hpdGVjdHVyZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb21wb25lbnQgdG8gYmUgaW5zdGFsbGVkIGJlZm9yZSBhbnkgb3RoZXIgY29tcG9uZW50cy4gVXNlZnVsIGZvciByZXF1aXJlZCBzeXN0ZW0gc2V0dGluZ3MgbGlrZSBjZXJ0aWZpY2F0ZXMgb3IgcHJveHkgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSBjb21wb25lbnRcbiAgICovXG4gIHByZXBlbmRDb21wb25lbnQoY29tcG9uZW50OiBJbWFnZUJ1aWxkZXJDb21wb25lbnQpIHtcbiAgICBpZiAodGhpcy5ib3VuZEFtaSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBTUkgaXMgYWxyZWFkeSBib3VuZC4gVXNlIHRoaXMgbWV0aG9kIGJlZm9yZSBwYXNzaW5nIHRoZSBidWlsZGVyIHRvIGEgcnVubmVyIHByb3ZpZGVyLicpO1xuICAgIH1cbiAgICBpZiAoY29tcG9uZW50LnBsYXRmb3JtICE9IHRoaXMucGxhdGZvcm0pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ29tcG9uZW50IHBsYXRmb3JtIGRvZXNuXFwndCBtYXRjaCBidWlsZGVyIHBsYXRmb3JtJyk7XG4gICAgfVxuICAgIHRoaXMuY29tcG9uZW50cyA9IFtjb21wb25lbnRdLmNvbmNhdCh0aGlzLmNvbXBvbmVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNvbXBvbmVudCB0byBiZSBpbnN0YWxsZWQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRcbiAgICovXG4gIGFkZENvbXBvbmVudChjb21wb25lbnQ6IEltYWdlQnVpbGRlckNvbXBvbmVudCkge1xuICAgIGlmICh0aGlzLmJvdW5kQW1pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FNSSBpcyBhbHJlYWR5IGJvdW5kLiBVc2UgdGhpcyBtZXRob2QgYmVmb3JlIHBhc3NpbmcgdGhlIGJ1aWxkZXIgdG8gYSBydW5uZXIgcHJvdmlkZXIuJyk7XG4gICAgfVxuICAgIGlmIChjb21wb25lbnQucGxhdGZvcm0gIT0gdGhpcy5wbGF0Zm9ybSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgcGxhdGZvcm0gZG9lc25cXCd0IG1hdGNoIGJ1aWxkZXIgcGxhdGZvcm0nKTtcbiAgICB9XG4gICAgdGhpcy5jb21wb25lbnRzLnB1c2goY29tcG9uZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgZXh0cmEgdHJ1c3RlZCBjZXJ0aWZpY2F0ZXMuIFRoaXMgaGVscHMgZGVhbCB3aXRoIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlcyBmb3IgR2l0SHViIEVudGVycHJpc2UgU2VydmVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCBwYXRoIHRvIGRpcmVjdG9yeSBjb250YWluaW5nIGEgZmlsZSBjYWxsZWQgY2VydHMucGVtIGNvbnRhaW5pbmcgYWxsIHRoZSByZXF1aXJlZCBjZXJ0aWZpY2F0ZXNcbiAgICovXG4gIHB1YmxpYyBhZGRFeHRyYUNlcnRpZmljYXRlcyhwYXRoOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5wbGF0Zm9ybSA9PSAnTGludXgnKSB7XG4gICAgICB0aGlzLnByZXBlbmRDb21wb25lbnQoTGludXhVYnVudHVDb21wb25lbnRzLmV4dHJhQ2VydGlmaWNhdGVzKHRoaXMsICdFeHRyYSBDZXJ0cycsIHBhdGgpKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGxhdGZvcm0gPT0gJ1dpbmRvd3MnKSB7XG4gICAgICB0aGlzLnByZXBlbmRDb21wb25lbnQoV2luZG93c0NvbXBvbmVudHMuZXh0cmFDZXJ0aWZpY2F0ZXModGhpcywgJ0V4dHJhIENlcnRzJywgcGF0aCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcGxhdGZvcm06ICR7dGhpcy5wbGF0Zm9ybX1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIGJ5IElSdW5uZXJQcm92aWRlciB0byBmaW5hbGl6ZSBzZXR0aW5ncyBhbmQgY3JlYXRlIHRoZSBBTUkgYnVpbGRlci5cbiAgICovXG4gIGJpbmRBbWkoKTogUnVubmVyQW1pIHtcbiAgICBpZiAodGhpcy5ib3VuZEFtaSkge1xuICAgICAgcmV0dXJuIHRoaXMuYm91bmRBbWk7XG4gICAgfVxuXG4gICAgY29uc3QgbGF1bmNoVGVtcGxhdGUgPSBuZXcgZWMyLkxhdW5jaFRlbXBsYXRlKHRoaXMsICdMYXVuY2ggdGVtcGxhdGUnLCB7XG4gICAgICByZXF1aXJlSW1kc3YyOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgc3RhY2tOYW1lID0gY2RrLlN0YWNrLm9mKHRoaXMpLnN0YWNrTmFtZTtcbiAgICBjb25zdCBidWlsZGVyTmFtZSA9IHRoaXMubm9kZS5wYXRoO1xuXG4gICAgY29uc3QgZGlzdCA9IG5ldyBpbWFnZWJ1aWxkZXIuQ2ZuRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbih0aGlzLCAnRGlzdHJpYnV0aW9uJywge1xuICAgICAgbmFtZTogdW5pcXVlSW1hZ2VCdWlsZGVyTmFtZSh0aGlzKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLmRlc2NyaXB0aW9uLFxuICAgICAgZGlzdHJpYnV0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgcmVnaW9uOiBTdGFjay5vZih0aGlzKS5yZWdpb24sXG4gICAgICAgICAgYW1pRGlzdHJpYnV0aW9uQ29uZmlndXJhdGlvbjoge1xuICAgICAgICAgICAgTmFtZTogYCR7Y2RrLk5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7XG4gICAgICAgICAgICAgIG1heExlbmd0aDogMTAwLFxuICAgICAgICAgICAgICBzZXBhcmF0b3I6ICctJyxcbiAgICAgICAgICAgICAgYWxsb3dlZFNwZWNpYWxDaGFyYWN0ZXJzOiAnXy0nLFxuICAgICAgICAgICAgfSl9LXt7IGltYWdlYnVpbGRlcjpidWlsZERhdGUgfX1gLFxuICAgICAgICAgICAgQW1pVGFnczoge1xuICAgICAgICAgICAgICAnTmFtZSc6IHRoaXMubm9kZS5pZCxcbiAgICAgICAgICAgICAgJ0dpdEh1YlJ1bm5lcnM6U3RhY2snOiBzdGFja05hbWUsXG4gICAgICAgICAgICAgICdHaXRIdWJSdW5uZXJzOkJ1aWxkZXInOiBidWlsZGVyTmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYXVuY2hUZW1wbGF0ZUNvbmZpZ3VyYXRpb25zOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGxhdW5jaFRlbXBsYXRlSWQ6IGxhdW5jaFRlbXBsYXRlLmxhdW5jaFRlbXBsYXRlSWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcmVjaXBlID0gbmV3IEFtaVJlY2lwZSh0aGlzLCAnQW1pIFJlY2lwZScsIHtcbiAgICAgIHBsYXRmb3JtOiB0aGlzLnBsYXRmb3JtLFxuICAgICAgY29tcG9uZW50czogdGhpcy5jb21wb25lbnRzLFxuICAgICAgYXJjaGl0ZWN0dXJlOiB0aGlzLmFyY2hpdGVjdHVyZSxcbiAgICAgIGJhc2VBbWk6IGRlZmF1bHRCYXNlQW1pKHRoaXMsIHRoaXMub3MsIHRoaXMuYXJjaGl0ZWN0dXJlKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxvZyA9IHRoaXMuY3JlYXRlTG9nKHJlY2lwZS5uYW1lKTtcbiAgICBjb25zdCBpbmZyYSA9IHRoaXMuY3JlYXRlSW5mcmFzdHJ1Y3R1cmUoW1xuICAgICAgaWFtLk1hbmFnZWRQb2xpY3kuZnJvbUF3c01hbmFnZWRQb2xpY3lOYW1lKCdBbWF6b25TU01NYW5hZ2VkSW5zdGFuY2VDb3JlJyksXG4gICAgICBpYW0uTWFuYWdlZFBvbGljeS5mcm9tQXdzTWFuYWdlZFBvbGljeU5hbWUoJ0VDMkluc3RhbmNlUHJvZmlsZUZvckltYWdlQnVpbGRlcicpLFxuICAgIF0pO1xuICAgIHRoaXMuY3JlYXRlSW1hZ2UoaW5mcmEsIGRpc3QsIGxvZywgcmVjaXBlLmFybiwgdW5kZWZpbmVkKTtcbiAgICB0aGlzLmNyZWF0ZVBpcGVsaW5lKGluZnJhLCBkaXN0LCBsb2csIHJlY2lwZS5hcm4sIHVuZGVmaW5lZCk7XG5cbiAgICB0aGlzLmJvdW5kQW1pID0ge1xuICAgICAgbGF1bmNoVGVtcGxhdGU6IGxhdW5jaFRlbXBsYXRlLFxuICAgICAgYXJjaGl0ZWN0dXJlOiB0aGlzLmFyY2hpdGVjdHVyZSxcbiAgICAgIG9zOiB0aGlzLm9zLFxuICAgICAgbG9nR3JvdXA6IGxvZyxcbiAgICAgIHJ1bm5lclZlcnNpb246IHRoaXMucnVubmVyVmVyc2lvbixcbiAgICB9O1xuXG4gICAgdGhpcy5pbWFnZUNsZWFuZXIobGF1bmNoVGVtcGxhdGUsIHN0YWNrTmFtZSwgYnVpbGRlck5hbWUpO1xuXG4gICAgcmV0dXJuIHRoaXMuYm91bmRBbWk7XG4gIH1cblxuICBwcml2YXRlIGltYWdlQ2xlYW5lcihsYXVuY2hUZW1wbGF0ZTogZWMyLkxhdW5jaFRlbXBsYXRlLCBzdGFja05hbWU6IHN0cmluZywgYnVpbGRlck5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGRlbGV0ZXIgPSBzaW5nbGV0b25MYW1iZGEoRGVsZXRlQW1pRnVuY3Rpb24sIHRoaXMsICdkZWxldGUtYW1pJywge1xuICAgICAgZGVzY3JpcHRpb246ICdEZWxldGUgb2xkIEdpdEh1YiBSdW5uZXIgQU1JcycsXG4gICAgICBpbml0aWFsUG9saWN5OiBbXG4gICAgICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICBhY3Rpb25zOiBbJ2VjMjpEZXNjcmliZUxhdW5jaFRlbXBsYXRlVmVyc2lvbnMnLCAnZWMyOkRlc2NyaWJlSW1hZ2VzJywgJ2VjMjpEZXJlZ2lzdGVySW1hZ2UnLCAnZWMyOkRlbGV0ZVNuYXBzaG90J10sXG4gICAgICAgICAgcmVzb3VyY2VzOiBbJyonXSxcbiAgICAgICAgfSksXG4gICAgICBdLFxuICAgICAgdGltZW91dDogY2RrLkR1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICBsb2dSZXRlbnRpb246IGxvZ3MuUmV0ZW50aW9uRGF5cy5PTkVfTU9OVEgsXG4gICAgfSk7XG5cbiAgICAvLyBkZWxldGUgb2xkIEFNSXMgb24gc2NoZWR1bGVcbiAgICBjb25zdCBldmVudFJ1bGUgPSBuZXcgZXZlbnRzLlJ1bGUodGhpcywgJ0RlbGV0ZSBBTUkgU2NoZWR1bGUnLCB7XG4gICAgICBzY2hlZHVsZTogZXZlbnRzLlNjaGVkdWxlLnJhdGUoY2RrLkR1cmF0aW9uLmRheXMoMSkpLFxuICAgICAgZGVzY3JpcHRpb246IGBEZWxldGUgb2xkIEFNSXMgZm9yICR7YnVpbGRlck5hbWV9YCxcbiAgICB9KTtcbiAgICBldmVudFJ1bGUuYWRkVGFyZ2V0KG5ldyBldmVudHNfdGFyZ2V0cy5MYW1iZGFGdW5jdGlvbihkZWxldGVyLCB7XG4gICAgICBldmVudDogZXZlbnRzLlJ1bGVUYXJnZXRJbnB1dC5mcm9tT2JqZWN0KHtcbiAgICAgICAgUmVxdWVzdFR5cGU6ICdTY2hlZHVsZWQnLFxuICAgICAgICBMYXVuY2hUZW1wbGF0ZUlkOiBsYXVuY2hUZW1wbGF0ZS5sYXVuY2hUZW1wbGF0ZUlkLFxuICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgICAgQnVpbGRlck5hbWU6IGJ1aWxkZXJOYW1lLFxuICAgICAgfSksXG4gICAgfSkpO1xuXG4gICAgLy8gZGVsZXRlIGFsbCBBTUlzIHdoZW4gdGhpcyBjb25zdHJ1Y3QgaXMgcmVtb3ZlZFxuICAgIG5ldyBDdXN0b21SZXNvdXJjZSh0aGlzLCAnQU1JIERlbGV0ZXInLCB7XG4gICAgICBzZXJ2aWNlVG9rZW46IGRlbGV0ZXIuZnVuY3Rpb25Bcm4sXG4gICAgICByZXNvdXJjZVR5cGU6ICdDdXN0b206OkFtaURlbGV0ZXInLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBTdGFja05hbWU6IHN0YWNrTmFtZSxcbiAgICAgICAgQnVpbGRlck5hbWU6IGJ1aWxkZXJOYW1lLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGJpbmREb2NrZXJJbWFnZSgpOiBSdW5uZXJJbWFnZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdBbWlCdWlsZGVyIGNhbm5vdCBiZSB1c2VkIHRvIGJ1aWxkIERvY2tlciBpbWFnZXMnKTtcbiAgfVxufVxuIl19
|