@liflig/cdk 3.22.19 → 3.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import * as cdk from "aws-cdk-lib";
2
2
  import * as ec2 from "aws-cdk-lib/aws-ec2";
3
3
  import * as rds from "aws-cdk-lib/aws-rds";
4
4
  import * as constructs from "constructs";
5
+ import { DatabaseAlarms } from "../alarms";
5
6
  export class Database extends constructs.Construct {
6
7
  secret;
7
8
  connections;
@@ -52,9 +53,48 @@ export class Database extends constructs.Construct {
52
53
  this.secret = db.secret;
53
54
  this.connections = db.connections;
54
55
  db.node.defaultChild.publiclyAccessible = false;
56
+ if ("alarmAction" in props.alarms) {
57
+ const alarms = props.alarms;
58
+ const dbAlarms = new DatabaseAlarms(this, "Alarms", {
59
+ instanceIdentifier: props.instanceIdentifier,
60
+ instanceType: props.instanceType,
61
+ allocatedStorage: cdk.Size.gibibytes(options.allocatedStorage),
62
+ alarmAction: alarms.alarmAction,
63
+ warningAction: alarms.warningAction,
64
+ });
65
+ // Default mapping:
66
+ // - low CPU credits -> alarm
67
+ // - critically low storage -> alarm
68
+ // - low storage -> warning
69
+ // - high CPU utilization -> warning
70
+ // Only create the CPU credits alarm if the instance type is burstable.
71
+ if (this.instanceType.isBurstable() &&
72
+ alarms.cpuCreditsAlarm?.enabled !== false) {
73
+ dbAlarms.addCpuCreditsAlarm({
74
+ action: alarms.cpuCreditsAlarm?.action,
75
+ threshold: alarms.cpuCreditsAlarm?.threshold,
76
+ enableOkAlarm: alarms.cpuCreditsAlarm?.enableOkAlarm,
77
+ appendToAlarmDescription: alarms.cpuCreditsAlarm?.appendToAlarmDescription,
78
+ });
79
+ }
80
+ if (alarms.storageSpaceAlarms?.enabled !== false)
81
+ dbAlarms.addStorageSpaceAlarms({
82
+ ...alarms.storageSpaceAlarms,
83
+ });
84
+ if (alarms.cpuUtilizationAlarm?.enabled !== false) {
85
+ dbAlarms.addCpuUtilizationAlarm({
86
+ action: alarms.cpuUtilizationAlarm?.action,
87
+ threshold: alarms.cpuUtilizationAlarm?.threshold,
88
+ evaluationPeriods: alarms.cpuUtilizationAlarm?.evaluationPeriods,
89
+ period: alarms.cpuUtilizationAlarm?.period,
90
+ enableOkAlarm: alarms.cpuUtilizationAlarm?.enableOkAlarm,
91
+ appendToAlarmDescription: alarms.cpuUtilizationAlarm?.appendToAlarmDescription,
92
+ });
93
+ }
94
+ }
55
95
  }
56
96
  allowConnectionFrom(source) {
57
97
  this.connections.allowDefaultPortFrom(source);
58
98
  }
59
99
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmRzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUUxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQXNDeEMsTUFBTSxPQUFPLFFBQVMsU0FBUSxVQUFVLENBQUMsU0FBUztJQUNoQyxNQUFNLENBQVk7SUFDbEIsV0FBVyxDQUFpQjtJQUM1QixnQkFBZ0IsQ0FBdUI7SUFDdkMsWUFBWSxDQUFrQjtJQUM5QixnQkFBZ0IsQ0FBVTtJQUUxQyxZQUFZLEtBQTJCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQ3ZFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUE7UUFFaEIsTUFBTSxjQUFjLEdBQUcsS0FBSyxDQUFDLGNBQWMsSUFBSSxRQUFRLENBQUE7UUFDdkQsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLFlBQVksSUFBSSxLQUFLLENBQUE7UUFFaEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLEVBQUU7WUFDcEQsUUFBUSxFQUFFLGNBQWM7U0FDekIsQ0FBQyxDQUFBO1FBRUYsTUFBTSxPQUFPLEdBQW9DO1lBQy9DLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQix3QkFBd0IsRUFBRSxJQUFJO1lBQzlCLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0I7WUFDNUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ2hDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFVBQVUsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO2dCQUNoQyxDQUFDLENBQUM7b0JBQ0UsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTTtpQkFDbEM7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7WUFDYixPQUFPLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ2hDLGtEQUFrRDtZQUNsRCx3QkFBd0I7WUFDeEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQixJQUFJLEVBQUU7WUFDaEQsdUNBQXVDO1lBQ3ZDLGVBQWUsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDdEMsR0FBRyxLQUFLLENBQUMsaUJBQWlCO1NBQzNCLENBQUE7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGdCQUFpQixDQUFDLENBQUE7UUFDckUsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsWUFBYSxDQUFBO1FBRXpDLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxrQkFBa0I7WUFDakMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLDRCQUE0QixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ3JELEdBQUcsT0FBTztnQkFDVixrQkFBa0IsRUFBRSxLQUFLLENBQUMsa0JBQWtCO2dCQUM1QyxXQUFXLEVBQUUsR0FBRyxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDeEQsQ0FBQztZQUNKLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQUN6QyxHQUFHLE9BQU87Z0JBQ1YsWUFBWTtnQkFDWixXQUFXLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUMvQyxnQkFBZ0IsRUFBRSxJQUFJO2FBQ3ZCLENBQUMsQ0FBQTtRQUVOLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUE7UUFFMUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsTUFBTyxDQUFBO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLFdBQVcsQ0FJaEM7UUFBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQWtDLENBQUMsa0JBQWtCLEdBQUcsS0FBSyxDQUFBO0lBQ3pFLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxNQUEwQjtRQUNuRCxJQUFJLENBQUMsV0FBVyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9DLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNkayBmcm9tIFwiYXdzLWNkay1saWJcIlxuaW1wb3J0ICogYXMgZWMyIGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCJcbmltcG9ydCAqIGFzIHJkcyBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiXG5pbXBvcnQgdHlwZSAqIGFzIHNtIGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIlxuaW1wb3J0ICogYXMgY29uc3RydWN0cyBmcm9tIFwiY29uc3RydWN0c1wiXG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyBleHRlbmRzIGNkay5TdGFja1Byb3BzIHtcbiAgdnBjOiBlYzIuSVZwY1xuICBlbmdpbmU6IHJkcy5JSW5zdGFuY2VFbmdpbmVcbiAgLyoqXG4gICAqIEBkZWZhdWx0IG1hc3RlclxuICAgKi9cbiAgbWFzdGVyVXNlcm5hbWU/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IGFwcFxuICAgKi9cbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVmYXVsdCAyNVxuICAgKi9cbiAgYWxsb2NhdGVkU3RvcmFnZUdiPzogbnVtYmVyXG4gIGluc3RhbmNlVHlwZTogZWMyLkluc3RhbmNlVHlwZVxuICBpbnN0YW5jZUlkZW50aWZpZXI6IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgaXNNdWx0aUF6PzogYm9vbGVhblxuICAvKipcbiAgICogTXVzdCBub3QgYmUgcmVtb3ZlZCBvbmNlIGl0IGhhcyBiZWVuIHNldCwgYXMgY2hhbmdpbmcgdGhpc1xuICAgKiByZXN1bHRzIGluIGEgbmV3IERCIGluc3RhbmNlIGJlaW5nIGNyZWF0ZWQuXG4gICAqXG4gICAqIEFsc28sIHJlbWVtYmVyIHRvIGdpdmUgZGF0YWJhc2UgYSBuZXcgbmFtZSB3aGVuIGNoYW5naW5nIHRoaXMgcHJvcCwgb3IgZWxzZVxuICAgKiB0aGUgbmV3IGluc3RhbmNlIG5hbWUgd2lsbCBjcmFzaCB3aXRoIHRoZSBleGlzdGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHNuYXBzaG90SWRlbnRpZmllcj86IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHVzZVB1YmxpY1N1Ym5ldHM/OiBib29sZWFuXG4gIG92ZXJyaWRlRGJPcHRpb25zPzogUGFydGlhbDxyZHMuRGF0YWJhc2VJbnN0YW5jZVNvdXJjZVByb3BzPlxufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IHNtLklTZWNyZXRcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnNcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlSW5zdGFuY2U6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZVxuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlXG4gIHB1YmxpYyByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBtYXN0ZXJVc2VybmFtZSA9IHByb3BzLm1hc3RlclVzZXJuYW1lID8/IFwibWFzdGVyXCJcbiAgICBjb25zdCBkYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWUgPz8gXCJhcHBcIlxuXG4gICAgY29uc3Qgc2VjcmV0ID0gbmV3IHJkcy5EYXRhYmFzZVNlY3JldCh0aGlzLCBcIlNlY3JldFwiLCB7XG4gICAgICB1c2VybmFtZTogbWFzdGVyVXNlcm5hbWUsXG4gICAgfSlcblxuICAgIGNvbnN0IG9wdGlvbnM6IHJkcy5EYXRhYmFzZUluc3RhbmNlU291cmNlUHJvcHMgPSB7XG4gICAgICBlbmdpbmU6IHByb3BzLmVuZ2luZSxcbiAgICAgIGFsbG93TWFqb3JWZXJzaW9uVXBncmFkZTogdHJ1ZSxcbiAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnVzZVB1YmxpY1N1Ym5ldHNcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG11bHRpQXo6IHByb3BzLmlzTXVsdGlBeiA/PyB0cnVlLFxuICAgICAgLy8gV2UgZGVmYXVsdCB0byAyNSBHaUIgc3RvcmFnZSBpbnN0ZWFkIG9mIDEwMCBHaUJcbiAgICAgIC8vIGlmIHdlIGRvIG5vdCBzcGVjaWZ5LlxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZUdiID8/IDI1LFxuICAgICAgLy8gV2Ugc3BlY2lmeSBtYXhpbXVtIGJhY2t1cCByZXRlbnRpb24uXG4gICAgICBiYWNrdXBSZXRlbnRpb246IGNkay5EdXJhdGlvbi5kYXlzKDM1KSxcbiAgICAgIC4uLnByb3BzLm92ZXJyaWRlRGJPcHRpb25zLFxuICAgIH1cbiAgICB0aGlzLmFsbG9jYXRlZFN0b3JhZ2UgPSBjZGsuU2l6ZS5naWJpYnl0ZXMob3B0aW9ucy5hbGxvY2F0ZWRTdG9yYWdlISlcbiAgICB0aGlzLmluc3RhbmNlVHlwZSA9IG9wdGlvbnMuaW5zdGFuY2VUeXBlIVxuXG4gICAgY29uc3QgZGIgPSBwcm9wcy5zbmFwc2hvdElkZW50aWZpZXJcbiAgICAgID8gbmV3IHJkcy5EYXRhYmFzZUluc3RhbmNlRnJvbVNuYXBzaG90KHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgc25hcHNob3RJZGVudGlmaWVyOiBwcm9wcy5zbmFwc2hvdElkZW50aWZpZXIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IHJkcy5TbmFwc2hvdENyZWRlbnRpYWxzLmZyb21TZWNyZXQoc2VjcmV0KSxcbiAgICAgICAgfSlcbiAgICAgIDogbmV3IHJkcy5EYXRhYmFzZUluc3RhbmNlKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgZGF0YWJhc2VOYW1lLFxuICAgICAgICAgIGNyZWRlbnRpYWxzOiByZHMuQ3JlZGVudGlhbHMuZnJvbVNlY3JldChzZWNyZXQpLFxuICAgICAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgIH0pXG5cbiAgICB0aGlzLmRhdGFiYXNlSW5zdGFuY2UgPSBkYlxuXG4gICAgdGhpcy5zZWNyZXQgPSBkYi5zZWNyZXQhXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IGRiLmNvbm5lY3Rpb25zXG5cbiAgICAvLyBPdmVycmlkZSBpbiBjYXNlIHdlIGhhdmUgcGxhY2VkIGl0IGluIGEgcHVibGljIHN1Ym5ldC5cbiAgICAvLyBJdCB3b3VsZCBkZWZhdWx0IHRvIGJlaW5nIHB1YmxpYyBhY2Nlc3NpYmxlIHdoaWNoIHdlIGRvIG5vdCB3YW50LlxuICAgIDsoZGIubm9kZS5kZWZhdWx0Q2hpbGQgYXMgcmRzLkNmbkRCSW5zdGFuY2UpLnB1YmxpY2x5QWNjZXNzaWJsZSA9IGZhbHNlXG4gIH1cblxuICBwdWJsaWMgYWxsb3dDb25uZWN0aW9uRnJvbShzb3VyY2U6IGVjMi5JU2VjdXJpdHlHcm91cCk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdGlvbnMuYWxsb3dEZWZhdWx0UG9ydEZyb20oc291cmNlKVxuICB9XG59XG4iXX0=
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmRzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxHQUFHLE1BQU0sYUFBYSxDQUFBO0FBRWxDLE9BQU8sS0FBSyxHQUFHLE1BQU0scUJBQXFCLENBQUE7QUFDMUMsT0FBTyxLQUFLLEdBQUcsTUFBTSxxQkFBcUIsQ0FBQTtBQUUxQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBNEgxQyxNQUFNLE9BQU8sUUFBUyxTQUFRLFVBQVUsQ0FBQyxTQUFTO0lBQ2hDLE1BQU0sQ0FBWTtJQUNsQixXQUFXLENBQWlCO0lBQzVCLGdCQUFnQixDQUF1QjtJQUN2QyxZQUFZLENBQWtCO0lBQzlCLGdCQUFnQixDQUFVO0lBRTFDLFlBQVksS0FBMkIsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDdkUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQTtRQUVoQixNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsY0FBYyxJQUFJLFFBQVEsQ0FBQTtRQUN2RCxNQUFNLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxJQUFJLEtBQUssQ0FBQTtRQUVoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtZQUNwRCxRQUFRLEVBQUUsY0FBYztTQUN6QixDQUFDLENBQUE7UUFFRixNQUFNLE9BQU8sR0FBb0M7WUFDL0MsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNO1lBQ3BCLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLGtCQUFrQjtZQUM1QyxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsVUFBVSxFQUFF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O1lBQ0osQ0FBQztZQUVELElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sS0FBSyxLQUFLO2dCQUM5QyxRQUFRLENBQUMscUJBQXFCLENBQUM7b0JBQzdCLEdBQUcsTUFBTSxDQUFDLGtCQUFrQjtpQkFDN0IsQ0FBQyxDQUFBO1lBRUosSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxDQUFDO2dCQUNsRCxRQUFRLENBQUMsc0JBQXNCLENBQUM7b0JBQzlCLE1BQU0sRUFBRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsTUFBTTtvQkFDMUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxTQUFTO29CQUNoRCxpQkFBaUIsRUFBRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsaUJBQWlCO29CQUNoRSxNQUFNLEVBQUUsTUFBTSxDQUFDLG1CQUFtQixFQUFFLE1BQU07b0JBQzFDLGFBQWEsRUFBRSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsYUFBYTtvQkFDeEQsd0JBQXdCLEVBQ3RCLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSx3QkFBd0I7aUJBQ3ZELENBQUMsQ0FBQTtZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLG1CQUFtQixDQUFDLE1BQTBCO1FBQ25ELElBQUksQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDL0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgY2RrIGZyb20gXCJhd3MtY2RrLWxpYlwiXG5pbXBvcnQgdHlwZSAqIGFzIGNsb3Vkd2F0Y2ggZnJvbSBcImF3cy1jZGstbGliL2F3cy1jbG91ZHdhdGNoXCJcbmltcG9ydCAqIGFzIGVjMiBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiXG5pbXBvcnQgKiBhcyByZHMgZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIlxuaW1wb3J0IHR5cGUgKiBhcyBzbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCJcbmltcG9ydCAqIGFzIGNvbnN0cnVjdHMgZnJvbSBcImNvbnN0cnVjdHNcIlxuaW1wb3J0IHsgRGF0YWJhc2VBbGFybXMgfSBmcm9tIFwiLi4vYWxhcm1zXCJcblxuLyoqXG4gKiBDb25maWd1cmUgZGF0YWJhc2UgYWxhcm1zLlxuICpcbiAqIEFsYXJtcyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0ICh3aGVuIHlvdSBzdXBwbHkgYW4gYGFsYXJtQWN0aW9uYCBhbmRcbiAqIGB3YXJuaW5nQWN0aW9uYCkuIFRvIGV4cGxpY2l0bHkgZGlzYWJsZSBhdXRvbWF0aWMgYWxhcm1zIHVzZVxuICogYHsgZW5hYmxlZDogZmFsc2UgfWAuXG4gKi9cbmV4cG9ydCB0eXBlIERhdGFiYXNlQWxhcm1zQ29uZmlnID1cbiAgfCB7IGVuYWJsZWQ6IGZhbHNlIH1cbiAgfCB7XG4gICAgICAvKipcbiAgICAgICAqIFdoZW4gYWxhcm1zIGFyZSBlbmFibGVkLCBib3RoIGFjdGlvbnMgYXJlIHJlcXVpcmVkLlxuICAgICAgICovXG4gICAgICBhbGFybUFjdGlvbjogY2xvdWR3YXRjaC5JQWxhcm1BY3Rpb25cbiAgICAgIHdhcm5pbmdBY3Rpb246IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG5cbiAgICAgIC8qKlxuICAgICAgICogQ1BVIGNyZWRpdHMgYWxhcm0gY29uZmlnXG4gICAgICAgKi9cbiAgICAgIGNwdUNyZWRpdHNBbGFybT86IHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZWZhdWx0IHRydWUgaWYgaW5zdGFuY2UgdHlwZSBpcyBidXJzdGFibGVcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgIGVuYWJsZU9rQWxhcm0/OiBib29sZWFuXG4gICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgIC8qKiBAZGVmYXVsdCAxMCUgb2YgbWF4aW11bSBlYXJuZWQgY3JlZGl0cyBmb3IgaW5zdGFuY2UgdHlwZSAqL1xuICAgICAgICB0aHJlc2hvbGQ/OiBudW1iZXJcbiAgICAgICAgYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogU3RvcmFnZSBzcGFjZSBhbGFybSBvdmVycmlkZXNcbiAgICAgICAqL1xuICAgICAgc3RvcmFnZVNwYWNlQWxhcm1zPzoge1xuICAgICAgICAvKipcbiAgICAgICAgICogU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSBhbGwgc3RvcmFnZSBzcGFjZSBhbGFybXMgKGJvdGggbG93IGFuZCBjcml0aWNhbGx5IGxvdykuXG4gICAgICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgICAgICovXG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAgIGxvd1N0b3JhZ2VTcGFjZUFsYXJtPzoge1xuICAgICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgICAgLyoqIFdoZXRoZXIgdG8gYXR0YWNoIE9LIGFjdGlvbnMgZm9yIHRoaXMgYWxhcm0uIEBkZWZhdWx0IHRydWUgKi9cbiAgICAgICAgICBlbmFibGVPa0FsYXJtPzogYm9vbGVhblxuICAgICAgICAgIC8qKiBAZGVmYXVsdCAyNSUgb2YgYWxsb2NhdGVkIHN0b3JhZ2UgKi9cbiAgICAgICAgICB0aHJlc2hvbGQ/OiBjZGsuU2l6ZVxuICAgICAgICB9XG4gICAgICAgIGNyaXRpY2FsbHlMb3dTdG9yYWdlU3BhY2VBbGFybT86IHtcbiAgICAgICAgICBhY3Rpb24/OiBjbG91ZHdhdGNoLklBbGFybUFjdGlvblxuICAgICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgICAgZW5hYmxlT2tBbGFybT86IGJvb2xlYW5cbiAgICAgICAgICAvKiogQGRlZmF1bHQgNSUgb2YgYWxsb2NhdGVkIHN0b3JhZ2UgKi9cbiAgICAgICAgICB0aHJlc2hvbGQ/OiBjZGsuU2l6ZVxuICAgICAgICB9XG4gICAgICAgIGFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbj86IHN0cmluZ1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIENQVSB1dGlsaXphdGlvbiBhbGFybSBvdmVycmlkZXMuXG4gICAgICAgKi9cbiAgICAgIGNwdVV0aWxpemF0aW9uQWxhcm0/OiB7XG4gICAgICAgIGVuYWJsZWQ/OiBib29sZWFuXG4gICAgICAgIC8qKiBXaGV0aGVyIHRvIGF0dGFjaCBPSyBhY3Rpb25zIGZvciB0aGlzIGFsYXJtLiBAZGVmYXVsdCB0cnVlICovXG4gICAgICAgIGVuYWJsZU9rQWxhcm0/OiBib29sZWFuXG4gICAgICAgIGFjdGlvbj86IGNsb3Vkd2F0Y2guSUFsYXJtQWN0aW9uXG4gICAgICAgIC8qKiBAZGVmYXVsdCA4MCAqL1xuICAgICAgICB0aHJlc2hvbGQ/OiBudW1iZXJcbiAgICAgICAgLyoqIEBkZWZhdWx0IDUgKi9cbiAgICAgICAgZXZhbHVhdGlvblBlcmlvZHM/OiBudW1iZXJcbiAgICAgICAgLyoqIEBkZWZhdWx0IDIgbWludXRlcyAqL1xuICAgICAgICBwZXJpb2Q/OiBjZGsuRHVyYXRpb25cbiAgICAgICAgYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uPzogc3RyaW5nXG4gICAgICB9XG4gICAgfVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMgZXh0ZW5kcyBjZGsuU3RhY2tQcm9wcyB7XG4gIHZwYzogZWMyLklWcGNcbiAgZW5naW5lOiByZHMuSUluc3RhbmNlRW5naW5lXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBtYXN0ZXJcbiAgICovXG4gIG1hc3RlclVzZXJuYW1lPzogc3RyaW5nXG4gIC8qKlxuICAgKiBAZGVmYXVsdCBhcHBcbiAgICovXG4gIGRhdGFiYXNlTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICogQGRlZmF1bHQgMjVcbiAgICovXG4gIGFsbG9jYXRlZFN0b3JhZ2VHYj86IG51bWJlclxuICBpbnN0YW5jZVR5cGU6IGVjMi5JbnN0YW5jZVR5cGVcbiAgaW5zdGFuY2VJZGVudGlmaWVyOiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIGlzTXVsdGlBej86IGJvb2xlYW5cbiAgLyoqXG4gICAqIE11c3Qgbm90IGJlIHJlbW92ZWQgb25jZSBpdCBoYXMgYmVlbiBzZXQsIGFzIGNoYW5naW5nIHRoaXNcbiAgICogcmVzdWx0cyBpbiBhIG5ldyBEQiBpbnN0YW5jZSBiZWluZyBjcmVhdGVkLlxuICAgKlxuICAgKiBBbHNvLCByZW1lbWJlciB0byBnaXZlIGRhdGFiYXNlIGEgbmV3IG5hbWUgd2hlbiBjaGFuZ2luZyB0aGlzIHByb3AsIG9yIGVsc2VcbiAgICogdGhlIG5ldyBpbnN0YW5jZSBuYW1lIHdpbGwgY3Jhc2ggd2l0aCB0aGUgZXhpc3RpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBzbmFwc2hvdElkZW50aWZpZXI/OiBzdHJpbmdcbiAgLyoqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICB1c2VQdWJsaWNTdWJuZXRzPzogYm9vbGVhblxuICBvdmVycmlkZURiT3B0aW9ucz86IFBhcnRpYWw8cmRzLkRhdGFiYXNlSW5zdGFuY2VTb3VyY2VQcm9wcz5cbiAgLyoqXG4gICAqIENvbmZpZ3VyZSBkYXRhYmFzZSBhbGFybXMuXG4gICAqXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgb25lIG9mIHR3byBzaGFwZXM6XG4gICAqICAtIGB7IGVuYWJsZWQ6IGZhbHNlIH1gIHRvIGV4cGxpY2l0bHkgZGlzYWJsZSBhdXRvbWF0aWMgYWxhcm1zXG4gICAqICAtIGB7IGFsYXJtQWN0aW9uLCB3YXJuaW5nQWN0aW9uIH1gIHRvIGVuYWJsZSBhbGFybXMgYW5kIHByb3ZpZGUgYm90aCBjaGFubmVsc1xuICAgKlxuICAgKiBEZWZhdWx0OiBlbmFibGVkLlxuICAgKi9cbiAgYWxhcm1zOiBEYXRhYmFzZUFsYXJtc0NvbmZpZ1xufVxuXG5leHBvcnQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBjb25zdHJ1Y3RzLkNvbnN0cnVjdCB7XG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXQ6IHNtLklTZWNyZXRcbiAgcHVibGljIHJlYWRvbmx5IGNvbm5lY3Rpb25zOiBlYzIuQ29ubmVjdGlvbnNcbiAgcHVibGljIHJlYWRvbmx5IGRhdGFiYXNlSW5zdGFuY2U6IHJkcy5JRGF0YWJhc2VJbnN0YW5jZVxuICBwdWJsaWMgcmVhZG9ubHkgaW5zdGFuY2VUeXBlOiBlYzIuSW5zdGFuY2VUeXBlXG4gIHB1YmxpYyByZWFkb25seSBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZVxuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBjb25zdHJ1Y3RzLkNvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpXG5cbiAgICBjb25zdCBtYXN0ZXJVc2VybmFtZSA9IHByb3BzLm1hc3RlclVzZXJuYW1lID8/IFwibWFzdGVyXCJcbiAgICBjb25zdCBkYXRhYmFzZU5hbWUgPSBwcm9wcy5kYXRhYmFzZU5hbWUgPz8gXCJhcHBcIlxuXG4gICAgY29uc3Qgc2VjcmV0ID0gbmV3IHJkcy5EYXRhYmFzZVNlY3JldCh0aGlzLCBcIlNlY3JldFwiLCB7XG4gICAgICB1c2VybmFtZTogbWFzdGVyVXNlcm5hbWUsXG4gICAgfSlcblxuICAgIGNvbnN0IG9wdGlvbnM6IHJkcy5EYXRhYmFzZUluc3RhbmNlU291cmNlUHJvcHMgPSB7XG4gICAgICBlbmdpbmU6IHByb3BzLmVuZ2luZSxcbiAgICAgIGFsbG93TWFqb3JWZXJzaW9uVXBncmFkZTogdHJ1ZSxcbiAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogcHJvcHMuaW5zdGFuY2VJZGVudGlmaWVyLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUsXG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHByb3BzLnVzZVB1YmxpY1N1Ym5ldHNcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBzdWJuZXRUeXBlOiBlYzIuU3VibmV0VHlwZS5QVUJMSUMsXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgIG11bHRpQXo6IHByb3BzLmlzTXVsdGlBeiA/PyB0cnVlLFxuICAgICAgLy8gV2UgZGVmYXVsdCB0byAyNSBHaUIgc3RvcmFnZSBpbnN0ZWFkIG9mIDEwMCBHaUJcbiAgICAgIC8vIGlmIHdlIGRvIG5vdCBzcGVjaWZ5LlxuICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZUdiID8/IDI1LFxuICAgICAgLy8gV2Ugc3BlY2lmeSBtYXhpbXVtIGJhY2t1cCByZXRlbnRpb24uXG4gICAgICBiYWNrdXBSZXRlbnRpb246IGNkay5EdXJhdGlvbi5kYXlzKDM1KSxcbiAgICAgIC4uLnByb3BzLm92ZXJyaWRlRGJPcHRpb25zLFxuICAgIH1cbiAgICB0aGlzLmFsbG9jYXRlZFN0b3JhZ2UgPSBjZGsuU2l6ZS5naWJpYnl0ZXMob3B0aW9ucy5hbGxvY2F0ZWRTdG9yYWdlISlcbiAgICB0aGlzLmluc3RhbmNlVHlwZSA9IG9wdGlvbnMuaW5zdGFuY2VUeXBlIVxuXG4gICAgY29uc3QgZGIgPSBwcm9wcy5zbmFwc2hvdElkZW50aWZpZXJcbiAgICAgID8gbmV3IHJkcy5EYXRhYmFzZUluc3RhbmNlRnJvbVNuYXBzaG90KHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgc25hcHNob3RJZGVudGlmaWVyOiBwcm9wcy5zbmFwc2hvdElkZW50aWZpZXIsXG4gICAgICAgICAgY3JlZGVudGlhbHM6IHJkcy5TbmFwc2hvdENyZWRlbnRpYWxzLmZyb21TZWNyZXQoc2VjcmV0KSxcbiAgICAgICAgfSlcbiAgICAgIDogbmV3IHJkcy5EYXRhYmFzZUluc3RhbmNlKHRoaXMsIFwiUmVzb3VyY2VcIiwge1xuICAgICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICAgICAgZGF0YWJhc2VOYW1lLFxuICAgICAgICAgIGNyZWRlbnRpYWxzOiByZHMuQ3JlZGVudGlhbHMuZnJvbVNlY3JldChzZWNyZXQpLFxuICAgICAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgIH0pXG5cbiAgICB0aGlzLmRhdGFiYXNlSW5zdGFuY2UgPSBkYlxuXG4gICAgdGhpcy5zZWNyZXQgPSBkYi5zZWNyZXQhXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IGRiLmNvbm5lY3Rpb25zXG5cbiAgICAvLyBPdmVycmlkZSBpbiBjYXNlIHdlIGhhdmUgcGxhY2VkIGl0IGluIGEgcHVibGljIHN1Ym5ldC5cbiAgICAvLyBJdCB3b3VsZCBkZWZhdWx0IHRvIGJlaW5nIHB1YmxpYyBhY2Nlc3NpYmxlIHdoaWNoIHdlIGRvIG5vdCB3YW50LlxuICAgIDsoZGIubm9kZS5kZWZhdWx0Q2hpbGQgYXMgcmRzLkNmbkRCSW5zdGFuY2UpLnB1YmxpY2x5QWNjZXNzaWJsZSA9IGZhbHNlXG5cbiAgICBpZiAoXCJhbGFybUFjdGlvblwiIGluIHByb3BzLmFsYXJtcykge1xuICAgICAgY29uc3QgYWxhcm1zID0gcHJvcHMuYWxhcm1zXG5cbiAgICAgIGNvbnN0IGRiQWxhcm1zID0gbmV3IERhdGFiYXNlQWxhcm1zKHRoaXMsIFwiQWxhcm1zXCIsIHtcbiAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBwcm9wcy5pbnN0YW5jZUlkZW50aWZpZXIsXG4gICAgICAgIGluc3RhbmNlVHlwZTogcHJvcHMuaW5zdGFuY2VUeXBlLFxuICAgICAgICBhbGxvY2F0ZWRTdG9yYWdlOiBjZGsuU2l6ZS5naWJpYnl0ZXMob3B0aW9ucy5hbGxvY2F0ZWRTdG9yYWdlISksXG4gICAgICAgIGFsYXJtQWN0aW9uOiBhbGFybXMuYWxhcm1BY3Rpb24sXG4gICAgICAgIHdhcm5pbmdBY3Rpb246IGFsYXJtcy53YXJuaW5nQWN0aW9uLFxuICAgICAgfSlcblxuICAgICAgLy8gRGVmYXVsdCBtYXBwaW5nOlxuICAgICAgLy8gLSBsb3cgQ1BVIGNyZWRpdHMgLT4gYWxhcm1cbiAgICAgIC8vIC0gY3JpdGljYWxseSBsb3cgc3RvcmFnZSAtPiBhbGFybVxuICAgICAgLy8gLSBsb3cgc3RvcmFnZSAtPiB3YXJuaW5nXG4gICAgICAvLyAtIGhpZ2ggQ1BVIHV0aWxpemF0aW9uIC0+IHdhcm5pbmdcbiAgICAgIC8vIE9ubHkgY3JlYXRlIHRoZSBDUFUgY3JlZGl0cyBhbGFybSBpZiB0aGUgaW5zdGFuY2UgdHlwZSBpcyBidXJzdGFibGUuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaW5zdGFuY2VUeXBlLmlzQnVyc3RhYmxlKCkgJiZcbiAgICAgICAgYWxhcm1zLmNwdUNyZWRpdHNBbGFybT8uZW5hYmxlZCAhPT0gZmFsc2VcbiAgICAgICkge1xuICAgICAgICBkYkFsYXJtcy5hZGRDcHVDcmVkaXRzQWxhcm0oe1xuICAgICAgICAgIGFjdGlvbjogYWxhcm1zLmNwdUNyZWRpdHNBbGFybT8uYWN0aW9uLFxuICAgICAgICAgIHRocmVzaG9sZDogYWxhcm1zLmNwdUNyZWRpdHNBbGFybT8udGhyZXNob2xkLFxuICAgICAgICAgIGVuYWJsZU9rQWxhcm06IGFsYXJtcy5jcHVDcmVkaXRzQWxhcm0/LmVuYWJsZU9rQWxhcm0sXG4gICAgICAgICAgYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uOlxuICAgICAgICAgICAgYWxhcm1zLmNwdUNyZWRpdHNBbGFybT8uYXBwZW5kVG9BbGFybURlc2NyaXB0aW9uLFxuICAgICAgICB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoYWxhcm1zLnN0b3JhZ2VTcGFjZUFsYXJtcz8uZW5hYmxlZCAhPT0gZmFsc2UpXG4gICAgICAgIGRiQWxhcm1zLmFkZFN0b3JhZ2VTcGFjZUFsYXJtcyh7XG4gICAgICAgICAgLi4uYWxhcm1zLnN0b3JhZ2VTcGFjZUFsYXJtcyxcbiAgICAgICAgfSlcblxuICAgICAgaWYgKGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5lbmFibGVkICE9PSBmYWxzZSkge1xuICAgICAgICBkYkFsYXJtcy5hZGRDcHVVdGlsaXphdGlvbkFsYXJtKHtcbiAgICAgICAgICBhY3Rpb246IGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5hY3Rpb24sXG4gICAgICAgICAgdGhyZXNob2xkOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8udGhyZXNob2xkLFxuICAgICAgICAgIGV2YWx1YXRpb25QZXJpb2RzOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8uZXZhbHVhdGlvblBlcmlvZHMsXG4gICAgICAgICAgcGVyaW9kOiBhbGFybXMuY3B1VXRpbGl6YXRpb25BbGFybT8ucGVyaW9kLFxuICAgICAgICAgIGVuYWJsZU9rQWxhcm06IGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5lbmFibGVPa0FsYXJtLFxuICAgICAgICAgIGFwcGVuZFRvQWxhcm1EZXNjcmlwdGlvbjpcbiAgICAgICAgICAgIGFsYXJtcy5jcHVVdGlsaXphdGlvbkFsYXJtPy5hcHBlbmRUb0FsYXJtRGVzY3JpcHRpb24sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFsbG93Q29ubmVjdGlvbkZyb20oc291cmNlOiBlYzIuSVNlY3VyaXR5R3JvdXApOiB2b2lkIHtcbiAgICB0aGlzLmNvbm5lY3Rpb25zLmFsbG93RGVmYXVsdFBvcnRGcm9tKHNvdXJjZSlcbiAgfVxufVxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@liflig/cdk",
3
- "version": "3.22.19",
3
+ "version": "3.23.1",
4
4
  "description": "CDK library for Liflig",
5
5
  "type": "module",
6
6
  "repository": {