awscdk-construct-scte-scheduler 0.0.14 → 0.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +2 -2
- package/lib/EventBridgeSchedule.js +1 -1
- package/lib/Lambda.js +1 -1
- package/lib/ScteScheduler.js +6 -5
- package/package.json +1 -1
package/.jsii
CHANGED
|
@@ -4230,6 +4230,6 @@
|
|
|
4230
4230
|
"symbolId": "src/ScteScheduler:ScteSchedulerProps"
|
|
4231
4231
|
}
|
|
4232
4232
|
},
|
|
4233
|
-
"version": "0.0.
|
|
4234
|
-
"fingerprint": "
|
|
4233
|
+
"version": "0.0.16",
|
|
4234
|
+
"fingerprint": "kOnZgMHA61f2JbCknViWOBDJMWYW8ZW58VAJhv1XoB4="
|
|
4235
4235
|
}
|
|
@@ -24,7 +24,7 @@ class EventBridgeSchedule extends constructs_1.Construct {
|
|
|
24
24
|
}
|
|
25
25
|
exports.EventBridgeSchedule = EventBridgeSchedule;
|
|
26
26
|
_a = JSII_RTTI_SYMBOL_1;
|
|
27
|
-
EventBridgeSchedule[_a] = { fqn: "awscdk-construct-scte-scheduler.EventBridgeSchedule", version: "0.0.
|
|
27
|
+
EventBridgeSchedule[_a] = { fqn: "awscdk-construct-scte-scheduler.EventBridgeSchedule", version: "0.0.16" };
|
|
28
28
|
function isFunction(target) {
|
|
29
29
|
return target instanceof aws_lambda_nodejs_1.NodejsFunction;
|
|
30
30
|
}
|
package/lib/Lambda.js
CHANGED
|
@@ -41,5 +41,5 @@ class Lambda extends constructs_1.Construct {
|
|
|
41
41
|
}
|
|
42
42
|
exports.Lambda = Lambda;
|
|
43
43
|
_a = JSII_RTTI_SYMBOL_1;
|
|
44
|
-
Lambda[_a] = { fqn: "awscdk-construct-scte-scheduler.Lambda", version: "0.0.
|
|
44
|
+
Lambda[_a] = { fqn: "awscdk-construct-scte-scheduler.Lambda", version: "0.0.16" };
|
|
45
45
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTGFtYmRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xhbWJkYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHlCQUF5QjtBQUN6Qiw2QkFBNkI7QUFDN0IsNkNBQXlEO0FBQ3pELGlEQUFzRDtBQUN0RCx1REFBaUQ7QUFDakQscUVBQStEO0FBQy9ELDJDQUF1QztBQU92QyxNQUFhLE1BQU8sU0FBUSxzQkFBUztJQUduQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtCO1FBQzFELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsTUFBTSxFQUFFLFNBQVMsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUVuRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDN0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRTdELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQ0FBYyxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUU7WUFDcEQsT0FBTyxFQUFFLG9CQUFPLENBQUMsV0FBVztZQUM1QixLQUFLLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3BELDhDQUE4QztZQUM5Qyx3RUFBd0U7WUFDeEUsT0FBTyxFQUFFLFNBQVM7WUFDbEIsT0FBTyxFQUFFLHNCQUFRLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM3QixXQUFXLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBa0I7Z0JBQ3hDLE1BQU0sRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLGtCQUE0QjtnQkFDaEQsVUFBVSxFQUFFLFNBQVM7Z0JBQ3JCLFlBQVksRUFBRSxHQUFHLHFCQUFxQixFQUFFO2FBQ3pDO1lBQ0QsWUFBWSxFQUFFLHNCQUFJLENBQUMsYUFBYSxDQUFDLFNBQVM7U0FDM0MsQ0FBQyxDQUFDO1FBQ0gsaURBQWlEO1FBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUN2Qix5QkFBZSxDQUFDLFFBQVEsQ0FBQztZQUN2QixNQUFNLEVBQUUsT0FBTztZQUNmLE1BQU0sRUFBRSxhQUFhO1lBQ3JCLFFBQVEsRUFBRSxHQUFHO1NBQ2QsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDOztBQWxDSCx3QkFtQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHsgRHVyYXRpb24sIGF3c19sb2dzIGFzIGxvZ3MgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IFJ1bnRpbWUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtbGFtYmRhJztcbmltcG9ydCB7IE5vZGVqc0Z1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYS1ub2RlanMnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhUHJvcHMge1xuICByZWFkb25seSBjaGFubmVsSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc2N0ZUR1cmF0aW9uSW5TZWNvbmRzOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBMYW1iZGEgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZnVuYzogTm9kZWpzRnVuY3Rpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IExhbWJkYVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHsgY2hhbm5lbElkLCBzY3RlRHVyYXRpb25JblNlY29uZHMgfSA9IHByb3BzO1xuXG4gICAgY29uc3QgVFNfRU5UUlkgPSBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnY29kZScsICdpbmRleC50cycpO1xuICAgIGNvbnN0IEpTX0VOVFJZID0gcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2NvZGUnLCAnaW5kZXguanMnKTtcblxuICAgIHRoaXMuZnVuYyA9IG5ldyBOb2RlanNGdW5jdGlvbihzY29wZSwgJ1NjaGVkdWxlU0NURScsIHtcbiAgICAgIHJ1bnRpbWU6IFJ1bnRpbWUuTk9ERUpTXzE4X1gsXG4gICAgICBlbnRyeTogZnMuZXhpc3RzU3luYyhUU19FTlRSWSkgPyBUU19FTlRSWSA6IEpTX0VOVFJZLFxuICAgICAgLy8gcHJvamVjdFJvb3Q6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuLicpLFxuICAgICAgLy8gZGVwc0xvY2tGaWxlUGF0aDogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJy4uJywgJ3BhY2thZ2UtbG9jay5qc29uJyksXG4gICAgICBoYW5kbGVyOiAnaGFuZGxlcicsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIE5PREVfRU5WOiBwcm9jZXNzLmVudi5OT0RFX0VOViBhcyBzdHJpbmcsXG4gICAgICAgIFJFR0lPTjogcHJvY2Vzcy5lbnYuQ0RLX0RFRkFVTFRfUkVHSU9OIGFzIHN0cmluZyxcbiAgICAgICAgQ0hBTk5FTF9JRDogY2hhbm5lbElkLFxuICAgICAgICBBVkFJTF9MRU5HVEg6IGAke3NjdGVEdXJhdGlvbkluU2Vjb25kc31gLFxuICAgICAgfSxcbiAgICAgIGxvZ1JldGVudGlvbjogbG9ncy5SZXRlbnRpb25EYXlzLlRXT19XRUVLUyxcbiAgICB9KTtcbiAgICAvLyBBZGQgYSBzdGF0ZW1lbnQgdG8gY2FsbCBNZWRpYUxpdmUgc2NoZWR1bGUgQVBJXG4gICAgdGhpcy5mdW5jLmFkZFRvUm9sZVBvbGljeShcbiAgICAgIFBvbGljeVN0YXRlbWVudC5mcm9tSnNvbih7XG4gICAgICAgIEVmZmVjdDogJ0FsbG93JyxcbiAgICAgICAgQWN0aW9uOiAnbWVkaWFsaXZlOionLFxuICAgICAgICBSZXNvdXJjZTogJyonLFxuICAgICAgfSksXG4gICAgKTtcbiAgfVxufSJdfQ==
|
package/lib/ScteScheduler.js
CHANGED
|
@@ -33,7 +33,7 @@ class ScteScheduler extends constructs_1.Construct {
|
|
|
33
33
|
lambdaFunction: this.lambda.func,
|
|
34
34
|
inputPath: '$.Payload',
|
|
35
35
|
});
|
|
36
|
-
const wait = new aws_stepfunctions_1.Wait(this,
|
|
36
|
+
const wait = new aws_stepfunctions_1.Wait(this, `Wait for ${intervalInMinutes}-min`, {
|
|
37
37
|
time: aws_stepfunctions_1.WaitTime.duration(aws_cdk_lib_1.Duration.minutes(intervalInMinutes)),
|
|
38
38
|
});
|
|
39
39
|
const lastTask = callback ? new aws_stepfunctions_tasks_1.LambdaInvoke(this, 'Callback', {
|
|
@@ -43,7 +43,7 @@ class ScteScheduler extends constructs_1.Construct {
|
|
|
43
43
|
definitionBody: aws_stepfunctions_1.DefinitionBody.fromChainable(aws_stepfunctions_1.Chain.start(new aws_stepfunctions_1.Pass(this, 'Start', { parameters: { Payload: { i: 0 } } }))
|
|
44
44
|
.next(wait)
|
|
45
45
|
.next(invoke)
|
|
46
|
-
.next(new aws_stepfunctions_1.Choice(this,
|
|
46
|
+
.next(new aws_stepfunctions_1.Choice(this, `Check if repaeted ${repeatCount} times`)
|
|
47
47
|
.when(aws_stepfunctions_1.Condition.numberLessThan('$.Payload.i', repeatCount), wait)
|
|
48
48
|
.otherwise(lastTask))),
|
|
49
49
|
});
|
|
@@ -56,7 +56,8 @@ class ScteScheduler extends constructs_1.Construct {
|
|
|
56
56
|
}
|
|
57
57
|
exports.ScteScheduler = ScteScheduler;
|
|
58
58
|
_a = JSII_RTTI_SYMBOL_1;
|
|
59
|
-
ScteScheduler[_a] = { fqn: "awscdk-construct-scte-scheduler.ScteScheduler", version: "0.0.
|
|
59
|
+
ScteScheduler[_a] = { fqn: "awscdk-construct-scte-scheduler.ScteScheduler", version: "0.0.16" };
|
|
60
|
+
const BUFFER_IN_MINUTES = 3;
|
|
60
61
|
function cronNow() {
|
|
61
62
|
const now = new Date();
|
|
62
63
|
return aws_events_1.Schedule.cron({
|
|
@@ -64,7 +65,7 @@ function cronNow() {
|
|
|
64
65
|
month: `${now.getUTCMonth() + 1}`,
|
|
65
66
|
day: `${now.getUTCDate()}`,
|
|
66
67
|
hour: `${now.getUTCHours()}`,
|
|
67
|
-
minute: `${now.getUTCMinutes() +
|
|
68
|
+
minute: `${now.getUTCMinutes() + BUFFER_IN_MINUTES}`,
|
|
68
69
|
});
|
|
69
70
|
}
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2N0ZVNjaGVkdWxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TY3RlU2NoZWR1bGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQXVDO0FBQ3ZDLHVEQUFrRDtBQUVsRCxxRUFVdUM7QUFDdkMsaUZBQW1FO0FBQ25FLDJDQUF1QztBQUN2QywrREFBNEQ7QUFDNUQscUNBQWtDO0FBVWxDLE1BQWEsYUFBYyxTQUFRLHNCQUFTO0lBSTFDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBeUI7UUFDakUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixNQUFNLEVBQ0osU0FBUyxFQUNULHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsV0FBVyxHQUFHLENBQUMsRUFBRSx3QkFBd0I7UUFDekMsUUFBUSxHQUNULEdBQUcsS0FBSyxDQUFDO1FBRVYsaUZBQWlGO1FBQ2pGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQy9DLFNBQVM7WUFDVCxxQkFBcUI7U0FDdEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxXQUFXLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckIsd0VBQXdFO1lBQ3hFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSx5Q0FBbUIsQ0FBQyxJQUFJLEVBQUUscUJBQXFCLEVBQUU7Z0JBQ25FLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Z0JBQ3hCLFFBQVEsRUFBRSxxQkFBUSxDQUFDLElBQUksQ0FBQyxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2FBQzdELENBQUMsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ04sNEVBQTRFO1lBQzVFLE1BQU0sTUFBTSxHQUFHLElBQUksc0NBQVksQ0FBQyxJQUFJLEVBQUUsdUNBQXVDLEVBQUU7Z0JBQzdFLGNBQWMsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7Z0JBQ2hDLFNBQVMsRUFBRSxXQUFXO2FBQ3ZCLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksd0JBQUksQ0FBQyxJQUFJLEVBQUUsWUFBWSxpQkFBaUIsTUFBTSxFQUFFO2dCQUMvRCxJQUFJLEVBQUUsNEJBQVEsQ0FBQyxRQUFRLENBQUMsc0JBQVEsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQzthQUM3RCxDQUFDLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksc0NBQVksQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUM3RCxjQUFjLEVBQUUsUUFBUTthQUN6QixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksMkJBQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDL0IsTUFBTSxZQUFZLEdBQUcsSUFBSSxnQ0FBWSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUU7Z0JBQzFELGNBQWMsRUFBRSxrQ0FBYyxDQUFDLGFBQWEsQ0FDMUMseUJBQUssQ0FBQyxLQUFLLENBQ1QsSUFBSSx3QkFBSSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQy9EO3FCQUNFLElBQUksQ0FBQyxJQUFJLENBQUM7cUJBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQztxQkFDWixJQUFJLENBQ0gsSUFBSSwwQkFBTSxDQUFDLElBQUksRUFBRSxxQkFBcUIsV0FBVyxRQUFRLENBQUM7cUJBQ3ZELElBQUksQ0FDSCw2QkFBUyxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQ3BELElBQUksQ0FDTDtxQkFDQSxTQUFTLENBQUMsUUFBUSxDQUFDLENBQ3ZCLENBQ0o7YUFDRixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUkseUNBQW1CLENBQUMsSUFBSSxFQUFFLHFCQUFxQixFQUFFO2dCQUNuRSxNQUFNLEVBQUUsWUFBWTtnQkFDcEIsUUFBUSxFQUFFLE9BQU8sRUFBRTthQUNwQixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs7QUE3REgsc0NBOERDOzs7QUFFRCxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUU1QixTQUFTLE9BQU87SUFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ3ZCLE9BQU8scUJBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkIsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFO1FBQy9CLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLEVBQUU7UUFDakMsR0FBRyxFQUFFLEdBQUcsR0FBRyxDQUFDLFVBQVUsRUFBRSxFQUFFO1FBQzFCLElBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRTtRQUM1QixNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUMsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLEVBQUU7S0FDckQsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgU2NoZWR1bGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZXZlbnRzJztcbmltcG9ydCB7IElGdW5jdGlvbiB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHtcbiAgU3RhdGVNYWNoaW5lLFxuICBEZWZpbml0aW9uQm9keSxcbiAgQ2hhaW4sXG4gIENob2ljZSxcbiAgQ29uZGl0aW9uLFxuICBXYWl0LFxuICBXYWl0VGltZSxcbiAgUGFzcyxcbiAgU3VjY2VlZCxcbn0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMnO1xuaW1wb3J0IHsgTGFtYmRhSW52b2tlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLXN0ZXBmdW5jdGlvbnMtdGFza3MnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBFdmVudEJyaWRnZVNjaGVkdWxlIH0gZnJvbSAnLi9FdmVudEJyaWRnZVNjaGVkdWxlJztcbmltcG9ydCB7IExhbWJkYSB9IGZyb20gJy4vTGFtYmRhJztcblxuZXhwb3J0IGludGVyZmFjZSBTY3RlU2NoZWR1bGVyUHJvcHMge1xuICByZWFkb25seSBjaGFubmVsSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgc2N0ZUR1cmF0aW9uSW5TZWNvbmRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGludGVydmFsSW5NaW51dGVzOiBudW1iZXI7XG4gIHJlYWRvbmx5IHJlcGVhdENvdW50PzogbnVtYmVyO1xuICByZWFkb25seSBjYWxsYmFjaz86IElGdW5jdGlvbjtcbn1cblxuZXhwb3J0IGNsYXNzIFNjdGVTY2hlZHVsZXIgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgbGFtYmRhOiBMYW1iZGE7XG4gIHB1YmxpYyByZWFkb25seSBzY2hlZHVsZTogRXZlbnRCcmlkZ2VTY2hlZHVsZTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU2N0ZVNjaGVkdWxlclByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIGNvbnN0IHtcbiAgICAgIGNoYW5uZWxJZCxcbiAgICAgIHNjdGVEdXJhdGlvbkluU2Vjb25kcyxcbiAgICAgIGludGVydmFsSW5NaW51dGVzLFxuICAgICAgcmVwZWF0Q291bnQgPSAwLCAvLyAwIG1lYW5zIGluZmluaXRlIGxvb3BcbiAgICAgIGNhbGxiYWNrLFxuICAgIH0gPSBwcm9wcztcblxuICAgIC8vIENyZWF0ZSBMYW1iZGEgZnVuY3Rpb24gdG8gaW5zZXJ0IFNDVEUgbWVzc2FnZSB1c2luZyB0aGUgTWVkaWFMaXZlIHNjaGVkdWxlIEFQSVxuICAgIHRoaXMubGFtYmRhID0gbmV3IExhbWJkYSh0aGlzLCAnTGFtYmRhRnVuY3Rpb24nLCB7XG4gICAgICBjaGFubmVsSWQsXG4gICAgICBzY3RlRHVyYXRpb25JblNlY29uZHMsXG4gICAgfSk7XG5cbiAgICBpZiAocmVwZWF0Q291bnQgPD0gMCkge1xuICAgICAgLy8gQ3JlYXRlIEV2ZW50QnJpZGdlIHJ1bGUgdG8gaW52b2tlIHRoZSBMYW1iZGEgZnVuY3Rpb24gZXZlcnkgTiBtaW51dGVzXG4gICAgICB0aGlzLnNjaGVkdWxlID0gbmV3IEV2ZW50QnJpZGdlU2NoZWR1bGUodGhpcywgJ0V2ZW50QnJpZGdlU2NoZWR1bGUnLCB7XG4gICAgICAgIHRhcmdldDogdGhpcy5sYW1iZGEuZnVuYyxcbiAgICAgICAgc2NoZWR1bGU6IFNjaGVkdWxlLnJhdGUoRHVyYXRpb24ubWludXRlcyhpbnRlcnZhbEluTWludXRlcykpLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIENyZWF0ZSBTdGVwIEZ1bmN0aW9ucyBzdGF0ZSBtYWNoaW5lIHRvIGludm9rZSB0aGUgTGFtYmRhIGZ1bmN0aW9uIE4gdGltZXNcbiAgICAgIGNvbnN0IGludm9rZSA9IG5ldyBMYW1iZGFJbnZva2UodGhpcywgJ0ludm9rZSBTQ1RFIHNjaGVkdWxlciBMYW1iZGEgZnVuY3Rpb24nLCB7XG4gICAgICAgIGxhbWJkYUZ1bmN0aW9uOiB0aGlzLmxhbWJkYS5mdW5jLFxuICAgICAgICBpbnB1dFBhdGg6ICckLlBheWxvYWQnLFxuICAgICAgfSk7XG4gICAgICBjb25zdCB3YWl0ID0gbmV3IFdhaXQodGhpcywgYFdhaXQgZm9yICR7aW50ZXJ2YWxJbk1pbnV0ZXN9LW1pbmAsIHtcbiAgICAgICAgdGltZTogV2FpdFRpbWUuZHVyYXRpb24oRHVyYXRpb24ubWludXRlcyhpbnRlcnZhbEluTWludXRlcykpLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBsYXN0VGFzayA9IGNhbGxiYWNrID8gbmV3IExhbWJkYUludm9rZSh0aGlzLCAnQ2FsbGJhY2snLCB7XG4gICAgICAgIGxhbWJkYUZ1bmN0aW9uOiBjYWxsYmFjayxcbiAgICAgIH0pIDogbmV3IFN1Y2NlZWQodGhpcywgJ0RvbmUnKTtcbiAgICAgIGNvbnN0IHN0YXRlTWFjaGluZSA9IG5ldyBTdGF0ZU1hY2hpbmUodGhpcywgJ1N0YXRlTWFjaGluZScsIHtcbiAgICAgICAgZGVmaW5pdGlvbkJvZHk6IERlZmluaXRpb25Cb2R5LmZyb21DaGFpbmFibGUoXG4gICAgICAgICAgQ2hhaW4uc3RhcnQoXG4gICAgICAgICAgICBuZXcgUGFzcyh0aGlzLCAnU3RhcnQnLCB7IHBhcmFtZXRlcnM6IHsgUGF5bG9hZDogeyBpOiAwIH0gfSB9KSxcbiAgICAgICAgICApXG4gICAgICAgICAgICAubmV4dCh3YWl0KVxuICAgICAgICAgICAgLm5leHQoaW52b2tlKVxuICAgICAgICAgICAgLm5leHQoXG4gICAgICAgICAgICAgIG5ldyBDaG9pY2UodGhpcywgYENoZWNrIGlmIHJlcGFldGVkICR7cmVwZWF0Q291bnR9IHRpbWVzYClcbiAgICAgICAgICAgICAgICAud2hlbihcbiAgICAgICAgICAgICAgICAgIENvbmRpdGlvbi5udW1iZXJMZXNzVGhhbignJC5QYXlsb2FkLmknLCByZXBlYXRDb3VudCksXG4gICAgICAgICAgICAgICAgICB3YWl0LFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAub3RoZXJ3aXNlKGxhc3RUYXNrKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICB9KTtcbiAgICAgIHRoaXMuc2NoZWR1bGUgPSBuZXcgRXZlbnRCcmlkZ2VTY2hlZHVsZSh0aGlzLCAnRXZlbnRCcmlkZ2VTY2hlZHVsZScsIHtcbiAgICAgICAgdGFyZ2V0OiBzdGF0ZU1hY2hpbmUsXG4gICAgICAgIHNjaGVkdWxlOiBjcm9uTm93KCksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgQlVGRkVSX0lOX01JTlVURVMgPSAzO1xuXG5mdW5jdGlvbiBjcm9uTm93KCk6IFNjaGVkdWxlIHtcbiAgY29uc3Qgbm93ID0gbmV3IERhdGUoKTtcbiAgcmV0dXJuIFNjaGVkdWxlLmNyb24oe1xuICAgIHllYXI6IGAke25vdy5nZXRVVENGdWxsWWVhcigpfWAsXG4gICAgbW9udGg6IGAke25vdy5nZXRVVENNb250aCgpICsgMX1gLFxuICAgIGRheTogYCR7bm93LmdldFVUQ0RhdGUoKX1gLFxuICAgIGhvdXI6IGAke25vdy5nZXRVVENIb3VycygpfWAsXG4gICAgbWludXRlOiBgJHtub3cuZ2V0VVRDTWludXRlcygpICsgQlVGRkVSX0lOX01JTlVURVN9YCxcbiAgfSk7XG59Il19
|