@fjall/components-infrastructure 0.1.26 → 0.1.28

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.
@@ -0,0 +1,21 @@
1
+ import { Stack } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ import { Vpc } from "../../resources/aws/networking/vpc";
4
+ import { Connections, IConnectable, IVpc } from "aws-cdk-lib/aws-ec2";
5
+ type DatabaseType = "Aurora" | "Instance" | "FreeTier";
6
+ interface DatabaseProps {
7
+ type: DatabaseType;
8
+ databaseName: string;
9
+ vpc?: Vpc;
10
+ tags?: {
11
+ [key: string]: string;
12
+ };
13
+ }
14
+ export declare class Database extends Stack implements IConnectable {
15
+ connections: Connections;
16
+ vpc: IVpc;
17
+ private database;
18
+ constructor(scope: Construct, id: string, props: DatabaseProps);
19
+ addDatabase(props: DatabaseProps): void;
20
+ }
21
+ export {};
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Database = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const database_1 = require("../../resources/aws/database");
6
+ class Database extends aws_cdk_lib_1.Stack {
7
+ constructor(scope, id, props) {
8
+ super(scope, id);
9
+ this.addDatabase(props);
10
+ }
11
+ addDatabase(props) {
12
+ if (props.type === "Aurora") {
13
+ if (!props.vpc) {
14
+ throw new Error("VPC is required for Aurora database");
15
+ }
16
+ this.database = new database_1.RdsAurora(this, `${props.databaseName}Rds`, {
17
+ vpc: props.vpc,
18
+ databaseName: props.databaseName,
19
+ tags: props.tags || {}
20
+ });
21
+ }
22
+ else if (props.type === "Instance") {
23
+ this.database = new database_1.RdsInstance(this, `${props.databaseName}Rds`, {
24
+ vpc: props.vpc,
25
+ databaseName: props.databaseName,
26
+ tags: props.tags || {}
27
+ });
28
+ }
29
+ else if (props.type === "FreeTier") {
30
+ this.database = new database_1.RdsFreeTier(this, `${props.databaseName}Rds`, {
31
+ vpc: props.vpc,
32
+ databaseName: props.databaseName,
33
+ tags: props.tags || {}
34
+ });
35
+ }
36
+ else {
37
+ throw new Error("Invalid database type");
38
+ }
39
+ this.connections = this.database.connections;
40
+ }
41
+ }
42
+ exports.Database = Database;
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2RhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFvQztBQUVwQywyREFJc0M7QUFhdEMsTUFBYSxRQUFTLFNBQVEsbUJBQUs7SUFNakMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFvQjtRQUM1RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFvQjtRQUM5QixJQUFJLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO2dCQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMscUNBQXFDLENBQUMsQ0FBQzthQUN4RDtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDOUQsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO2dCQUNkLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtnQkFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTthQUN2QixDQUFDLENBQUM7U0FDSjthQUFNLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHNCQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksS0FBSyxFQUFFO2dCQUNoRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZO2dCQUNoQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO2FBQ3ZCLENBQUMsQ0FBQztTQUNKO2FBQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFVBQVUsRUFBRTtZQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksc0JBQVcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxLQUFLLEVBQUU7Z0JBQ2hFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDZCxZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7Z0JBQ2hDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztRQUVELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7SUFDL0MsQ0FBQztDQUNGO0FBeENELDRCQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgUmRzQXVyb3JhLFxuICBSZHNGcmVlVGllcixcbiAgUmRzSW5zdGFuY2Vcbn0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvZGF0YWJhc2VcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL25ldHdvcmtpbmcvdnBjXCI7XG5pbXBvcnQgeyBDb25uZWN0aW9ucywgSUNvbm5lY3RhYmxlLCBJVnBjIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcblxudHlwZSBEYXRhYmFzZVR5cGUgPSBcIkF1cm9yYVwiIHwgXCJJbnN0YW5jZVwiIHwgXCJGcmVlVGllclwiO1xuXG5pbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyB7XG4gIHR5cGU6IERhdGFiYXNlVHlwZTtcbiAgZGF0YWJhc2VOYW1lOiBzdHJpbmc7XG4gIHZwYz86IFZwYztcbiAgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbmV4cG9ydCBjbGFzcyBEYXRhYmFzZSBleHRlbmRzIFN0YWNrIGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIHZwYzogSVZwYztcblxuICBwcml2YXRlIGRhdGFiYXNlOiBSZHNBdXJvcmEgfCBSZHNJbnN0YW5jZSB8IFJkc0ZyZWVUaWVyO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMuYWRkRGF0YWJhc2UocHJvcHMpO1xuICB9XG5cbiAgYWRkRGF0YWJhc2UocHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBpZiAocHJvcHMudHlwZSA9PT0gXCJBdXJvcmFcIikge1xuICAgICAgaWYgKCFwcm9wcy52cGMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVlBDIGlzIHJlcXVpcmVkIGZvciBBdXJvcmEgZGF0YWJhc2VcIik7XG4gICAgICB9XG4gICAgICB0aGlzLmRhdGFiYXNlID0gbmV3IFJkc0F1cm9yYSh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmRzYCwge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgZGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgfHwge31cbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocHJvcHMudHlwZSA9PT0gXCJJbnN0YW5jZVwiKSB7XG4gICAgICB0aGlzLmRhdGFiYXNlID0gbmV3IFJkc0luc3RhbmNlKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1SZHNgLCB7XG4gICAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgdGFnczogcHJvcHMudGFncyB8fCB7fVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChwcm9wcy50eXBlID09PSBcIkZyZWVUaWVyXCIpIHtcbiAgICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgUmRzRnJlZVRpZXIodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJkc2AsIHtcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzIHx8IHt9XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBkYXRhYmFzZSB0eXBlXCIpO1xuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLmRhdGFiYXNlLmNvbm5lY3Rpb25zO1xuICB9XG59XG4iXX0=
@@ -1,20 +1,20 @@
1
- import { BlockDevice, IMachineImage, SubnetType, UserData } from "aws-cdk-lib/aws-ec2";
1
+ import { BlockDevice, IMachineImage, IVpc, SubnetType, UserData, SecurityGroup, IConnectable, Connections } from "aws-cdk-lib/aws-ec2";
2
2
  import { Construct } from "constructs";
3
- import { Stack, StackProps } from "aws-cdk-lib";
3
+ import { StackProps } from "aws-cdk-lib";
4
4
  import { Role } from "aws-cdk-lib/aws-iam";
5
5
  import { KeyValue } from "../../types";
6
6
  interface ExistingVpcConfig {
7
- vpcId: string;
7
+ vpcId?: string;
8
8
  subnetType?: SubnetType;
9
9
  }
10
10
  interface NewVpcConfig {
11
11
  subnetType: SubnetType;
12
12
  }
13
- type VpcProps = ExistingVpcConfig | NewVpcConfig;
14
- interface Ec2StackProps extends StackProps {
13
+ export type VpcProps = ExistingVpcConfig | NewVpcConfig;
14
+ interface Ec2InstanceProps extends StackProps {
15
15
  spotCapacityPercentage?: number;
16
16
  blockDevices?: BlockDevice[];
17
- accountId: string;
17
+ accountId?: string;
18
18
  serviceName: string;
19
19
  vpc: VpcProps;
20
20
  minCapcity?: number;
@@ -26,17 +26,18 @@ interface Ec2StackProps extends StackProps {
26
26
  enableSSH?: boolean;
27
27
  tags: KeyValue;
28
28
  }
29
- export declare class Ec2Instance extends Stack {
29
+ export declare class Ec2Instance extends Construct implements IConnectable {
30
30
  private launchTemplate;
31
- private vpc;
32
- private asgSecurityGroup;
31
+ vpc: IVpc;
32
+ asgSecurityGroup: SecurityGroup;
33
33
  private autoScalingGroup;
34
34
  private keyPair;
35
- constructor(scope: Construct, id: string, props: Ec2StackProps);
36
- addVpc(props: Ec2StackProps): void;
37
- addKeyPair(props: Ec2StackProps): void;
38
- addLaunchTemplate(props: Ec2StackProps): void;
39
- addAutoScalingGroup(props: Ec2StackProps): void;
35
+ constructor(scope: Construct, id: string, props: Ec2InstanceProps);
36
+ connections: Connections;
37
+ addVpc(props: Ec2InstanceProps): void;
38
+ addKeyPair(props: Ec2InstanceProps): void;
39
+ addLaunchTemplate(props: Ec2InstanceProps): void;
40
+ addAutoScalingGroup(props: Ec2InstanceProps): void;
40
41
  suspendAutoScaling(): void;
41
42
  }
42
43
  export {};
@@ -2,15 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Ec2Instance = void 0;
4
4
  const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
5
+ const constructs_1 = require("constructs");
5
6
  const aws_cdk_lib_1 = require("aws-cdk-lib");
6
7
  const tagResource_1 = require("../../utils/tagResource");
7
8
  const aws_autoscaling_1 = require("aws-cdk-lib/aws-autoscaling");
8
9
  const awsCustomResource_1 = require("../../resources/aws/utilities/awsCustomResource");
9
10
  const custom_resources_1 = require("aws-cdk-lib/custom-resources");
10
11
  const vpc_1 = require("../../resources/aws/networking/vpc");
11
- class Ec2Instance extends aws_cdk_lib_1.Stack {
12
+ class Ec2Instance extends constructs_1.Construct {
12
13
  constructor(scope, id, props) {
13
- super(scope, id, props);
14
+ super(scope, id);
14
15
  this.addVpc(props);
15
16
  if (props.enableSSH) {
16
17
  this.addKeyPair(props);
@@ -74,6 +75,9 @@ class Ec2Instance extends aws_cdk_lib_1.Stack {
74
75
  // TODO: Handle terminating EC2 instances when updating, currently hangs.
75
76
  this.autoScalingGroup = new aws_autoscaling_1.AutoScalingGroup(this, "AutoScalingGroup", {
76
77
  vpc: this.vpc,
78
+ vpcSubnets: {
79
+ subnetType: props.enableSSH ? aws_ec2_1.SubnetType.PUBLIC : undefined
80
+ },
77
81
  minCapacity: props.minCapcity,
78
82
  maxCapacity: props.maxCapacity,
79
83
  launchTemplate: this.launchTemplate,
@@ -116,4 +120,4 @@ class Ec2Instance extends aws_cdk_lib_1.Stack {
116
120
  }
117
121
  }
118
122
  exports.Ec2Instance = Ec2Instance;
119
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9lYzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBZTZCO0FBRTdCLDZDQUEwRDtBQUMxRCx5REFBa0Q7QUFFbEQsaUVBS3FDO0FBRXJDLHVGQUFvRjtBQUNwRixtRUFBa0U7QUFDbEUsNERBQXlEO0FBNkJ6RCxNQUFhLFdBQVksU0FBUSxtQkFBSztJQU9wQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFO1lBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDeEI7UUFDRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBRTFCLHVFQUF1RTtJQUN6RSxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW9CO1FBQ3pCLElBQUksT0FBTyxJQUFJLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxTQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEtBQUssRUFBRTtnQkFDekQsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSzthQUN2QixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLFNBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxLQUFLLEVBQUU7Z0JBQ2xELFNBQVMsRUFB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QyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLHFDQUFpQixDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRTtZQUNoRCxZQUFZLEVBQUUsb0JBQW9CO1lBQ2xDLFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsYUFBYTtnQkFDdEIsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsVUFBVSxFQUFFO29CQUNWLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0I7b0JBQ2hFLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNsQztnQkFDRCxrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEU7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsT0FBTyxFQUFFLGFBQWE7Z0JBQ3RCLE1BQU0sRUFBRSxrQkFBa0I7Z0JBQzFCLFVBQVUsRUFBRTtvQkFDVixvQkFBb0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsb0JBQW9CO29CQUNoRSxnQkFBZ0IsRUFBRSxDQUFDLGFBQWEsQ0FBQztpQkFDbEM7Z0JBQ0Qsa0JBQWtCLEVBQUUscUNBQWtCLENBQUMsRUFBRSxDQUFDLG9CQUFvQixDQUFDO2FBQ2hFO1lBQ0QsWUFBWSxFQUFFLDRCQUE0QjtTQUMzQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE1SEQsa0NBNEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQmxvY2tEZXZpY2UsXG4gIElNYWNoaW5lSW1hZ2UsXG4gIEluc3RhbmNlVHlwZSxcbiAgSVZwYyxcbiAgTGF1bmNoVGVtcGxhdGUsXG4gIFN1Ym5ldFR5cGUsXG4gIFVzZXJEYXRhLFxuICBNYWNoaW5lSW1hZ2UsXG4gIExhdW5jaFRlbXBsYXRlSHR0cFRva2VucyxcbiAgS2V5UGFpcixcbiAgSUtleVBhaXIsXG4gIFNlY3VyaXR5R3JvdXAsXG4gIFBlZXIsXG4gIFBvcnRcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBEdXJhdGlvbiwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcbmltcG9ydCB7IFJvbGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHtcbiAgQXV0b1NjYWxpbmdHcm91cCxcbiAgR3JvdXBNZXRyaWNzLFxuICBUZXJtaW5hdGlvblBvbGljeSxcbiAgVXBkYXRlUG9saWN5XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXV0b3NjYWxpbmdcIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBBd3NDdXN0b21SZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL3V0aWxpdGllcy9hd3NDdXN0b21SZXNvdXJjZVwiO1xuaW1wb3J0IHsgUGh5c2ljYWxSZXNvdXJjZUlkIH0gZnJvbSBcImF3cy1jZGstbGliL2N1c3RvbS1yZXNvdXJjZXNcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZXMvYXdzL25ldHdvcmtpbmcvdnBjXCI7XG5cbmludGVyZmFjZSBFeGlzdGluZ1ZwY0NvbmZpZyB7XG4gIHZwY0lkOiBzdHJpbmc7XG4gIHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlO1xufVxuXG5pbnRlcmZhY2UgTmV3VnBjQ29uZmlnIHtcbiAgc3VibmV0VHlwZTogU3VibmV0VHlwZTtcbn1cblxudHlwZSBWcGNQcm9wcyA9IEV4aXN0aW5nVnBjQ29uZmlnIHwgTmV3VnBjQ29uZmlnO1xuXG5pbnRlcmZhY2UgRWMyU3RhY2tQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICBzcG90Q2FwYWNpdHlQZXJjZW50YWdlPzogbnVtYmVyO1xuICBibG9ja0RldmljZXM/OiBCbG9ja0RldmljZVtdO1xuICBhY2NvdW50SWQ6IHN0cmluZztcbiAgc2VydmljZU5hbWU6IHN0cmluZztcbiAgdnBjOiBWcGNQcm9wcztcbiAgbWluQ2FwY2l0eT86IG51bWJlcjtcbiAgbWF4Q2FwYWNpdHk/OiBudW1iZXI7XG4gIGluc3RhbmNlVHlwZTogc3RyaW5nO1xuICBtYWNoaW5lSW1hZ2U/OiBJTWFjaGluZUltYWdlO1xuICB1c2VyRGF0YT86IFVzZXJEYXRhO1xuICByb2xlPzogUm9sZTtcbiAgZW5hYmxlU1NIPzogYm9vbGVhbjtcbiAgdGFnczogS2V5VmFsdWU7XG59XG5cbmV4cG9ydCBjbGFzcyBFYzJJbnN0YW5jZSBleHRlbmRzIFN0YWNrIHtcbiAgcHJpdmF0ZSBsYXVuY2hUZW1wbGF0ZTogTGF1bmNoVGVtcGxhdGU7XG4gIHByaXZhdGUgdnBjOiBJVnBjO1xuICBwcml2YXRlIGFzZ1NlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHByaXZhdGUgYXV0b1NjYWxpbmdHcm91cDogQXV0b1NjYWxpbmdHcm91cDtcbiAgcHJpdmF0ZSBrZXlQYWlyOiBJS2V5UGFpcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRWMyU3RhY2tQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIGlmIChwcm9wcy5lbmFibGVTU0gpIHtcbiAgICAgIHRoaXMuYWRkS2V5UGFpcihwcm9wcyk7XG4gICAgfVxuICAgIHRoaXMuYWRkTGF1bmNoVGVtcGxhdGUocHJvcHMpO1xuICAgIHRoaXMuYWRkQXV0b1NjYWxpbmdHcm91cChwcm9wcyk7XG4gICAgdGhpcy5zdXNwZW5kQXV0b1NjYWxpbmcoKTtcblxuICAgIC8vVE9ETzogQWRkIGxvYWQgYmFsYW5jZXIgYXMgYm9vbGVhbiBwcm9wLCB0aGVuIGNvbmZpZ3VyZSBsb2FkIGJhbGFuY2VyXG4gIH1cblxuICBhZGRWcGMocHJvcHM6IEVjMlN0YWNrUHJvcHMpIHtcbiAgICBpZiAoXCJ2cGNJZFwiIGluIHByb3BzLnZwYykge1xuICAgICAgdGhpcy52cGMgPSBWcGMuZnJvbUxvb2t1cCh0aGlzLCBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1WcGNgLCB7XG4gICAgICAgIHZwY0lkOiBwcm9wcy52cGMudnBjSWRcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnZwYyA9IG5ldyBWcGModGhpcywgYCR7cHJvcHMuc2VydmljZU5hbWV9VnBjYCwge1xuICAgICAgICBhY2NvdW50SWQ6IHByb3BzLmFjY291bnRJZCxcbiAgICAgICAgdGFnczogcHJvcHMudGFncyxcbiAgICAgICAgc3VibmV0Q29uZmlndXJhdGlvbjogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgICBzdWJuZXRUeXBlOiBwcm9wcy52cGMuc3VibmV0VHlwZSB8fCBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIGFkZEtleVBhaXIocHJvcHM6IEVjMlN0YWNrUHJvcHMpIHtcbiAgICAvLyBUT0RPOiBCcmVha291dCBpbnRvIGEgc2VwZXJhdGUgY29uc3RydWN0IGZvciB1c2Ugd2l0aCBiZXR0ZXIgcHJvcCBoYW5kbGluZ1xuICAgIHRoaXMua2V5UGFpciA9IG5ldyBLZXlQYWlyKHRoaXMsIFwiS2V5UGFpclwiLCB7XG4gICAgICBrZXlQYWlyTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9S2V5UGFpcmBcbiAgICB9KTtcbiAgfVxuXG4gIGFkZExhdW5jaFRlbXBsYXRlKHByb3BzOiBFYzJTdGFja1Byb3BzKSB7XG4gICAgdGhpcy5hc2dTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAodGhpcywgYEFzZ1NlY3VyaXR5R3JvdXBgLCB7XG4gICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCBmb3IgdGhlICR7cHJvcHMuc2VydmljZU5hbWV9IGF1dG8gc2NhbGluZyBncm91cGBcbiAgICB9KTtcblxuICAgIGlmIChwcm9wcy5lbmFibGVTU0gpIHtcbiAgICAgIHRoaXMuYXNnU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgICAgUGVlci5hbnlJcHY0KCksXG4gICAgICAgIFBvcnQudGNwKDIyKSxcbiAgICAgICAgXCJBbGxvdyBTU0hcIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmxhdW5jaFRlbXBsYXRlID0gbmV3IExhdW5jaFRlbXBsYXRlKHRoaXMsIFwiTGF1bmNoVGVtcGxhdGVcIiwge1xuICAgICAgbGF1bmNoVGVtcGxhdGVOYW1lOiBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1MYXVuY2hUZW1wbGF0ZWAsXG4gICAgICBpbnN0YW5jZVR5cGU6IG5ldyBJbnN0YW5jZVR5cGUoYCR7cHJvcHMuaW5zdGFuY2VUeXBlfWApLFxuICAgICAgbWFjaGluZUltYWdlOiBwcm9wcy5tYWNoaW5lSW1hZ2UgfHwgTWFjaGluZUltYWdlLmxhdGVzdEFtYXpvbkxpbnV4MigpLFxuICAgICAgdXNlckRhdGE6IHByb3BzLnVzZXJEYXRhLFxuICAgICAgcm9sZTogcHJvcHMucm9sZSxcbiAgICAgIGJsb2NrRGV2aWNlczogcHJvcHM/LmJsb2NrRGV2aWNlcyxcbiAgICAgIHNlY3VyaXR5R3JvdXA6IHRoaXMuYXNnU2VjdXJpdHlHcm91cCxcbiAgICAgIGRldGFpbGVkTW9uaXRvcmluZzogdHJ1ZSxcbiAgICAgIHJlcXVpcmVJbWRzdjI6IHRydWUsXG4gICAgICBodHRwUHV0UmVzcG9uc2VIb3BMaW1pdDogMixcbiAgICAgIGh0dHBUb2tlbnM6IExhdW5jaFRlbXBsYXRlSHR0cFRva2Vucy5SRVFVSVJFRCxcbiAgICAgIGluc3RhbmNlTWV0YWRhdGFUYWdzOiB0cnVlLFxuICAgICAga2V5UGFpcjogdGhpcy5rZXlQYWlyXG4gICAgfSk7XG4gIH1cblxuICBhZGRBdXRvU2NhbGluZ0dyb3VwKHByb3BzOiBFYzJTdGFja1Byb3BzKSB7XG4gICAgLy8gVE9ETzogU3VwcG9ydCBzcG90IGluc3RhbmNlc1xuICAgIC8vIFRPRE86IEhhbmRsZSB0ZXJtaW5hdGluZyBFQzIgaW5zdGFuY2VzIHdoZW4gdXBkYXRpbmcsIGN1cnJlbnRseSBoYW5ncy5cbiAgICB0aGlzLmF1dG9TY2FsaW5nR3JvdXAgPSBuZXcgQXV0b1NjYWxpbmdHcm91cCh0aGlzLCBcIkF1dG9TY2FsaW5nR3JvdXBcIiwge1xuICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgIG1pbkNhcGFjaXR5OiBwcm9wcy5taW5DYXBjaXR5LFxuICAgICAgbWF4Q2FwYWNpdHk6IHByb3BzLm1heENhcGFjaXR5LFxuICAgICAgbGF1bmNoVGVtcGxhdGU6IHRoaXMubGF1bmNoVGVtcGxhdGUsXG4gICAgICBjb29sZG93bjogRHVyYXRpb24uc2Vjb25kcyg2MCksXG4gICAgICBncm91cE1ldHJpY3M6IFtHcm91cE1ldHJpY3MuYWxsKCldLFxuICAgICAgdXBkYXRlUG9saWN5OiBVcGRhdGVQb2xpY3kucmVwbGFjaW5nVXBkYXRlKCksXG4gICAgICBuZXdJbnN0YW5jZXNQcm90ZWN0ZWRGcm9tU2NhbGVJbjogdHJ1ZSxcbiAgICAgIC8vIHNlY3VyaXR5R3JvdXA6IHRoaXMuYXNnU2VjdXJpdHlHcm91cCxcbiAgICAgIHRlcm1pbmF0aW9uUG9saWNpZXM6IFtcbiAgICAgICAgVGVybWluYXRpb25Qb2xpY3kuT0xERVNUX0xBVU5DSF9DT05GSUdVUkFUSU9OLFxuICAgICAgICBUZXJtaW5hdGlvblBvbGljeS5DTE9TRVNUX1RPX05FWFRfSU5TVEFOQ0VfSE9VUlxuICAgICAgXSxcbiAgICAgIHNzbVNlc3Npb25QZXJtaXNzaW9uczogdHJ1ZVxuICAgIH0pO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuYXV0b1NjYWxpbmdHcm91cCwgcHJvcHMudGFncyk7XG4gIH1cblxuICBzdXNwZW5kQXV0b1NjYWxpbmcoKSB7XG4gICAgbmV3IEF3c0N1c3RvbVJlc291cmNlKHRoaXMsIFwiU3VzcGVuZEF1dG9zY2FsaW5nXCIsIHtcbiAgICAgIGZ1bmN0aW9uTmFtZTogXCJzdXNwZW5kQXV0b1NjYWxpbmdcIixcbiAgICAgIG9uQ3JlYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwiQXV0b1NjYWxpbmdcIixcbiAgICAgICAgYWN0aW9uOiBcInN1c3BlbmRQcm9jZXNzZXNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIEF1dG9TY2FsaW5nR3JvdXBOYW1lOiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAuYXV0b1NjYWxpbmdHcm91cE5hbWUsXG4gICAgICAgICAgU2NhbGluZ1Byb2Nlc3NlczogW1wiQVpSZWJhbGFuY2VcIl1cbiAgICAgICAgfSxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoXCJzdXNwZW5kQXV0b1NjYWxpbmdcIilcbiAgICAgIH0sXG4gICAgICBvblVwZGF0ZToge1xuICAgICAgICBzZXJ2aWNlOiBcIkF1dG9TY2FsaW5nXCIsXG4gICAgICAgIGFjdGlvbjogXCJzdXNwZW5kUHJvY2Vzc2VzXCIsXG4gICAgICAgIHBhcmFtZXRlcnM6IHtcbiAgICAgICAgICBBdXRvU2NhbGluZ0dyb3VwTmFtZTogdGhpcy5hdXRvU2NhbGluZ0dyb3VwLmF1dG9TY2FsaW5nR3JvdXBOYW1lLFxuICAgICAgICAgIFNjYWxpbmdQcm9jZXNzZXM6IFtcIkFaUmViYWxhbmNlXCJdXG4gICAgICAgIH0sXG4gICAgICAgIHBoeXNpY2FsUmVzb3VyY2VJZDogUGh5c2ljYWxSZXNvdXJjZUlkLm9mKFwic3VzcGVuZEF1dG9TY2FsaW5nXCIpXG4gICAgICB9LFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6c3VzcGVuZEF1dG9zY2FsaW5nXCJcbiAgICB9KTtcbiAgfVxufVxuIl19
123
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWMyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3BhdHRlcm5zL2F3cy9lYzIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBaUI2QjtBQUM3QiwyQ0FBdUM7QUFDdkMsNkNBQW1EO0FBQ25ELHlEQUFrRDtBQUVsRCxpRUFLcUM7QUFFckMsdUZBQW9GO0FBQ3BGLG1FQUFrRTtBQUNsRSw0REFBeUQ7QUE2QnpELE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBT3hDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBdUI7UUFDL0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksS0FBSyxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3hCO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUUxQix1RUFBdUU7SUFDekUsQ0FBQztJQUdELE1BQU0sQ0FBQyxLQUF1QjtRQUM1QixJQUFJLE9BQU8sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxLQUFLLEVBQUU7Z0JBQ3pELEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUs7YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxTQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsS0FBSyxFQUFFO2dCQUNsRCxTQUFT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LDJCQUEyQjtnQkFDN0MsbUNBQWlCLENBQUMsNkJBQTZCO2FBQ2hEO1lBQ0QscUJBQXFCLEVBQUUsSUFBSTtTQUM1QixDQUFDLENBQUM7UUFDSCxJQUFBLHFCQUFXLEVBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUkscUNBQWlCLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQ2hELFlBQVksRUFBRSxvQkFBb0I7WUFDbEMsUUFBUSxFQUFFO2dCQUNSLE9BQU8sRUFBRSxhQUFhO2dCQUN0QixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQixVQUFVLEVBQUU7b0JBQ1Ysb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLG9CQUFvQjtvQkFDaEUsZ0JBQWdCLEVBQUUsQ0FBQyxhQUFhLENBQUM7aUJBQ2xDO2dCQUNELGtCQUFrQixFQUFFLHFDQUFrQixDQUFDLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQzthQUNoRTtZQUNELFFBQVEsRUFBRTtnQkFDUixPQUFPLEVBQUUsYUFBYTtnQkFDdEIsTUFBTSxFQUFFLGtCQUFrQjtnQkFDMUIsVUFBVSxFQUFFO29CQUNWLG9CQUFvQixFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0I7b0JBQ2hFLGdCQUFnQixFQUFFLENBQUMsYUFBYSxDQUFDO2lCQUNsQztnQkFDRCxrQkFBa0IsRUFBRSxxQ0FBa0IsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUM7YUFDaEU7WUFDRCxZQUFZLEVBQUUsNEJBQTRCO1NBQzNDLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQWhJRCxrQ0FnSUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCbG9ja0RldmljZSxcbiAgSU1hY2hpbmVJbWFnZSxcbiAgSW5zdGFuY2VUeXBlLFxuICBJVnBjLFxuICBMYXVuY2hUZW1wbGF0ZSxcbiAgU3VibmV0VHlwZSxcbiAgVXNlckRhdGEsXG4gIE1hY2hpbmVJbWFnZSxcbiAgTGF1bmNoVGVtcGxhdGVIdHRwVG9rZW5zLFxuICBLZXlQYWlyLFxuICBJS2V5UGFpcixcbiAgU2VjdXJpdHlHcm91cCxcbiAgUGVlcixcbiAgUG9ydCxcbiAgSUNvbm5lY3RhYmxlLFxuICBDb25uZWN0aW9uc1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IER1cmF0aW9uLCBTdGFja1Byb3BzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgdGFnUmVzb3VyY2UgZnJvbSBcIi4uLy4uL3V0aWxzL3RhZ1Jlc291cmNlXCI7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7XG4gIEF1dG9TY2FsaW5nR3JvdXAsXG4gIEdyb3VwTWV0cmljcyxcbiAgVGVybWluYXRpb25Qb2xpY3ksXG4gIFVwZGF0ZVBvbGljeVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWF1dG9zY2FsaW5nXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgQXdzQ3VzdG9tUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy91dGlsaXRpZXMvYXdzQ3VzdG9tUmVzb3VyY2VcIjtcbmltcG9ydCB7IFBoeXNpY2FsUmVzb3VyY2VJZCB9IGZyb20gXCJhd3MtY2RrLWxpYi9jdXN0b20tcmVzb3VyY2VzXCI7XG5pbXBvcnQgeyBWcGMgfSBmcm9tIFwiLi4vLi4vcmVzb3VyY2VzL2F3cy9uZXR3b3JraW5nL3ZwY1wiO1xuXG5pbnRlcmZhY2UgRXhpc3RpbmdWcGNDb25maWcge1xuICB2cGNJZD86IHN0cmluZztcbiAgc3VibmV0VHlwZT86IFN1Ym5ldFR5cGU7XG59XG5cbmludGVyZmFjZSBOZXdWcGNDb25maWcge1xuICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlO1xufVxuXG5leHBvcnQgdHlwZSBWcGNQcm9wcyA9IEV4aXN0aW5nVnBjQ29uZmlnIHwgTmV3VnBjQ29uZmlnO1xuXG5pbnRlcmZhY2UgRWMySW5zdGFuY2VQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICBzcG90Q2FwYWNpdHlQZXJjZW50YWdlPzogbnVtYmVyO1xuICBibG9ja0RldmljZXM/OiBCbG9ja0RldmljZVtdO1xuICBhY2NvdW50SWQ/OiBzdHJpbmc7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHZwYzogVnBjUHJvcHM7XG4gIG1pbkNhcGNpdHk/OiBudW1iZXI7XG4gIG1heENhcGFjaXR5PzogbnVtYmVyO1xuICBpbnN0YW5jZVR5cGU6IHN0cmluZztcbiAgbWFjaGluZUltYWdlPzogSU1hY2hpbmVJbWFnZTtcbiAgdXNlckRhdGE/OiBVc2VyRGF0YTtcbiAgcm9sZT86IFJvbGU7XG4gIGVuYWJsZVNTSD86IGJvb2xlYW47XG4gIHRhZ3M6IEtleVZhbHVlO1xufVxuXG5leHBvcnQgY2xhc3MgRWMySW5zdGFuY2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwcml2YXRlIGxhdW5jaFRlbXBsYXRlOiBMYXVuY2hUZW1wbGF0ZTtcbiAgcHVibGljIHZwYzogSVZwYztcbiAgcHVibGljIGFzZ1NlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHByaXZhdGUgYXV0b1NjYWxpbmdHcm91cDogQXV0b1NjYWxpbmdHcm91cDtcbiAgcHJpdmF0ZSBrZXlQYWlyOiBJS2V5UGFpcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRWMySW5zdGFuY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmFkZFZwYyhwcm9wcyk7XG4gICAgaWYgKHByb3BzLmVuYWJsZVNTSCkge1xuICAgICAgdGhpcy5hZGRLZXlQYWlyKHByb3BzKTtcbiAgICB9XG4gICAgdGhpcy5hZGRMYXVuY2hUZW1wbGF0ZShwcm9wcyk7XG4gICAgdGhpcy5hZGRBdXRvU2NhbGluZ0dyb3VwKHByb3BzKTtcbiAgICB0aGlzLnN1c3BlbmRBdXRvU2NhbGluZygpO1xuXG4gICAgLy9UT0RPOiBBZGQgbG9hZCBiYWxhbmNlciBhcyBib29sZWFuIHByb3AsIHRoZW4gY29uZmlndXJlIGxvYWQgYmFsYW5jZXJcbiAgfVxuICBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG5cbiAgYWRkVnBjKHByb3BzOiBFYzJJbnN0YW5jZVByb3BzKSB7XG4gICAgaWYgKFwidnBjSWRcIiBpbiBwcm9wcy52cGMpIHtcbiAgICAgIHRoaXMudnBjID0gVnBjLmZyb21Mb29rdXAodGhpcywgYCR7cHJvcHMuc2VydmljZU5hbWV9VnBjYCwge1xuICAgICAgICB2cGNJZDogcHJvcHMudnBjLnZwY0lkXG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52cGMgPSBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLnNlcnZpY2VOYW1lfVZwY2AsIHtcbiAgICAgICAgYWNjb3VudElkOiBwcm9wcy5hY2NvdW50SWQsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgICAgIHN1Ym5ldENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1gLFxuICAgICAgICAgICAgc3VibmV0VHlwZTogcHJvcHMudnBjLnN1Ym5ldFR5cGUgfHwgU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBhZGRLZXlQYWlyKHByb3BzOiBFYzJJbnN0YW5jZVByb3BzKSB7XG4gICAgLy8gVE9ETzogQnJlYWtvdXQgaW50byBhIHNlcGVyYXRlIGNvbnN0cnVjdCBmb3IgdXNlIHdpdGggYmV0dGVyIHByb3AgaGFuZGxpbmdcbiAgICB0aGlzLmtleVBhaXIgPSBuZXcgS2V5UGFpcih0aGlzLCBcIktleVBhaXJcIiwge1xuICAgICAga2V5UGFpck5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfUtleVBhaXJgXG4gICAgfSk7XG4gIH1cblxuICBhZGRMYXVuY2hUZW1wbGF0ZShwcm9wczogRWMySW5zdGFuY2VQcm9wcykge1xuICAgIHRoaXMuYXNnU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIGBBc2dTZWN1cml0eUdyb3VwYCwge1xuICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgIGRlc2NyaXB0aW9uOiBgU2VjdXJpdHkgZ3JvdXAgZm9yIHRoZSAke3Byb3BzLnNlcnZpY2VOYW1lfSBhdXRvIHNjYWxpbmcgZ3JvdXBgXG4gICAgfSk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlU1NIKSB7XG4gICAgICB0aGlzLmFzZ1NlY3VyaXR5R3JvdXAuYWRkSW5ncmVzc1J1bGUoXG4gICAgICAgIFBlZXIuYW55SXB2NCgpLFxuICAgICAgICBQb3J0LnRjcCgyMiksXG4gICAgICAgIFwiQWxsb3cgU1NIXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5sYXVuY2hUZW1wbGF0ZSA9IG5ldyBMYXVuY2hUZW1wbGF0ZSh0aGlzLCBcIkxhdW5jaFRlbXBsYXRlXCIsIHtcbiAgICAgIGxhdW5jaFRlbXBsYXRlTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9TGF1bmNoVGVtcGxhdGVgLFxuICAgICAgaW5zdGFuY2VUeXBlOiBuZXcgSW5zdGFuY2VUeXBlKGAke3Byb3BzLmluc3RhbmNlVHlwZX1gKSxcbiAgICAgIG1hY2hpbmVJbWFnZTogcHJvcHMubWFjaGluZUltYWdlIHx8IE1hY2hpbmVJbWFnZS5sYXRlc3RBbWF6b25MaW51eDIoKSxcbiAgICAgIHVzZXJEYXRhOiBwcm9wcy51c2VyRGF0YSxcbiAgICAgIHJvbGU6IHByb3BzLnJvbGUsXG4gICAgICBibG9ja0RldmljZXM6IHByb3BzPy5ibG9ja0RldmljZXMsXG4gICAgICBzZWN1cml0eUdyb3VwOiB0aGlzLmFzZ1NlY3VyaXR5R3JvdXAsXG4gICAgICBkZXRhaWxlZE1vbml0b3Jpbmc6IHRydWUsXG4gICAgICByZXF1aXJlSW1kc3YyOiB0cnVlLFxuICAgICAgaHR0cFB1dFJlc3BvbnNlSG9wTGltaXQ6IDIsXG4gICAgICBodHRwVG9rZW5zOiBMYXVuY2hUZW1wbGF0ZUh0dHBUb2tlbnMuUkVRVUlSRUQsXG4gICAgICBpbnN0YW5jZU1ldGFkYXRhVGFnczogdHJ1ZSxcbiAgICAgIGtleVBhaXI6IHRoaXMua2V5UGFpclxuICAgIH0pO1xuICB9XG5cbiAgYWRkQXV0b1NjYWxpbmdHcm91cChwcm9wczogRWMySW5zdGFuY2VQcm9wcykge1xuICAgIC8vIFRPRE86IFN1cHBvcnQgc3BvdCBpbnN0YW5jZXNcbiAgICAvLyBUT0RPOiBIYW5kbGUgdGVybWluYXRpbmcgRUMyIGluc3RhbmNlcyB3aGVuIHVwZGF0aW5nLCBjdXJyZW50bHkgaGFuZ3MuXG4gICAgdGhpcy5hdXRvU2NhbGluZ0dyb3VwID0gbmV3IEF1dG9TY2FsaW5nR3JvdXAodGhpcywgXCJBdXRvU2NhbGluZ0dyb3VwXCIsIHtcbiAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgIHN1Ym5ldFR5cGU6IHByb3BzLmVuYWJsZVNTSCA/IFN1Ym5ldFR5cGUuUFVCTElDIDogdW5kZWZpbmVkXG4gICAgICB9LFxuICAgICAgbWluQ2FwYWNpdHk6IHByb3BzLm1pbkNhcGNpdHksXG4gICAgICBtYXhDYXBhY2l0eTogcHJvcHMubWF4Q2FwYWNpdHksXG4gICAgICBsYXVuY2hUZW1wbGF0ZTogdGhpcy5sYXVuY2hUZW1wbGF0ZSxcbiAgICAgIGNvb2xkb3duOiBEdXJhdGlvbi5zZWNvbmRzKDYwKSxcbiAgICAgIGdyb3VwTWV0cmljczogW0dyb3VwTWV0cmljcy5hbGwoKV0sXG4gICAgICB1cGRhdGVQb2xpY3k6IFVwZGF0ZVBvbGljeS5yZXBsYWNpbmdVcGRhdGUoKSxcbiAgICAgIG5ld0luc3RhbmNlc1Byb3RlY3RlZEZyb21TY2FsZUluOiB0cnVlLFxuICAgICAgLy8gc2VjdXJpdHlHcm91cDogdGhpcy5hc2dTZWN1cml0eUdyb3VwLFxuICAgICAgdGVybWluYXRpb25Qb2xpY2llczogW1xuICAgICAgICBUZXJtaW5hdGlvblBvbGljeS5PTERFU1RfTEFVTkNIX0NPTkZJR1VSQVRJT04sXG4gICAgICAgIFRlcm1pbmF0aW9uUG9saWN5LkNMT1NFU1RfVE9fTkVYVF9JTlNUQU5DRV9IT1VSXG4gICAgICBdLFxuICAgICAgc3NtU2Vzc2lvblBlcm1pc3Npb25zOiB0cnVlXG4gICAgfSk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5hdXRvU2NhbGluZ0dyb3VwLCBwcm9wcy50YWdzKTtcbiAgfVxuXG4gIHN1c3BlbmRBdXRvU2NhbGluZygpIHtcbiAgICBuZXcgQXdzQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJTdXNwZW5kQXV0b3NjYWxpbmdcIiwge1xuICAgICAgZnVuY3Rpb25OYW1lOiBcInN1c3BlbmRBdXRvU2NhbGluZ1wiLFxuICAgICAgb25DcmVhdGU6IHtcbiAgICAgICAgc2VydmljZTogXCJBdXRvU2NhbGluZ1wiLFxuICAgICAgICBhY3Rpb246IFwic3VzcGVuZFByb2Nlc3Nlc1wiLFxuICAgICAgICBwYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgQXV0b1NjYWxpbmdHcm91cE5hbWU6IHRoaXMuYXV0b1NjYWxpbmdHcm91cC5hdXRvU2NhbGluZ0dyb3VwTmFtZSxcbiAgICAgICAgICBTY2FsaW5nUHJvY2Vzc2VzOiBbXCJBWlJlYmFsYW5jZVwiXVxuICAgICAgICB9LFxuICAgICAgICBwaHlzaWNhbFJlc291cmNlSWQ6IFBoeXNpY2FsUmVzb3VyY2VJZC5vZihcInN1c3BlbmRBdXRvU2NhbGluZ1wiKVxuICAgICAgfSxcbiAgICAgIG9uVXBkYXRlOiB7XG4gICAgICAgIHNlcnZpY2U6IFwiQXV0b1NjYWxpbmdcIixcbiAgICAgICAgYWN0aW9uOiBcInN1c3BlbmRQcm9jZXNzZXNcIixcbiAgICAgICAgcGFyYW1ldGVyczoge1xuICAgICAgICAgIEF1dG9TY2FsaW5nR3JvdXBOYW1lOiB0aGlzLmF1dG9TY2FsaW5nR3JvdXAuYXV0b1NjYWxpbmdHcm91cE5hbWUsXG4gICAgICAgICAgU2NhbGluZ1Byb2Nlc3NlczogW1wiQVpSZWJhbGFuY2VcIl1cbiAgICAgICAgfSxcbiAgICAgICAgcGh5c2ljYWxSZXNvdXJjZUlkOiBQaHlzaWNhbFJlc291cmNlSWQub2YoXCJzdXNwZW5kQXV0b1NjYWxpbmdcIilcbiAgICAgIH0sXG4gICAgICByZXNvdXJjZVR5cGU6IFwiQ3VzdG9tOjpzdXNwZW5kQXV0b3NjYWxpbmdcIlxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,18 @@
1
+ import { Stack, StackProps } from "aws-cdk-lib";
2
+ import { Construct } from "constructs";
3
+ import { KeyValue } from "../../types";
4
+ import { VpcProps } from "./ec2";
5
+ import { Connections } from "aws-cdk-lib/aws-ec2";
6
+ interface ProxyAgentProps extends StackProps {
7
+ accountId: string;
8
+ vpc: VpcProps;
9
+ publicKey: string;
10
+ enableSsh?: boolean;
11
+ instanceType: string;
12
+ databaseConnection?: Connections;
13
+ tags?: KeyValue;
14
+ }
15
+ export declare class FivetranProxy extends Stack {
16
+ constructor(scope: Construct, id: string, props: ProxyAgentProps);
17
+ }
18
+ export {};
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FivetranProxy = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const ec2_1 = require("./ec2");
6
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
7
+ class FivetranProxy extends aws_cdk_lib_1.Stack {
8
+ constructor(scope, id, props) {
9
+ super(scope, id, props);
10
+ const userData = aws_ec2_1.UserData.forLinux();
11
+ userData.addCommands("groupadd fivetran", "useradd -m -g fivetran fivetran", "mkdir -p /home/fivetran/.ssh", "chown fivetran:fivetran /home/fivetran/.ssh", "chmod 700 /home/fivetran/.ssh", `echo "${props.publicKey}" > /home/fivetran/.ssh/authorized_keys`, "chown fivetran:fivetran /home/fivetran/.ssh/authorized_keys", "chmod 600 /home/fivetran/.ssh/authorized_keys");
12
+ new ec2_1.Ec2Instance(this, "FivetranProxy", {
13
+ accountId: props.accountId,
14
+ serviceName: "fivetranProxy",
15
+ vpc: props.vpc,
16
+ instanceType: props.instanceType || "t2.micro",
17
+ enableSSH: props.enableSsh || true,
18
+ env: {
19
+ account: props.env?.account,
20
+ region: props.env?.region
21
+ },
22
+ userData: userData,
23
+ tags: {
24
+ ...props.tags,
25
+ "fjall:costAllocation:environment": "production",
26
+ "fjall:costAllocation:service": "fivetran",
27
+ "fjall:costAllocation:owner": "data"
28
+ }
29
+ });
30
+ }
31
+ }
32
+ exports.FivetranProxy = FivetranProxy;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZml2ZXRyYW5Qcm94eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvZml2ZXRyYW5Qcm94eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBZ0Q7QUFDaEQsK0JBQW9DO0FBSXBDLGlEQUE0RDtBQVk1RCxNQUFhLGFBQWMsU0FBUSxtQkFBSztJQUN0QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXNCO1FBQzlELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLE1BQU0sUUFBUSxHQUFHLGtCQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFckMsUUFBUSxDQUFDLFdBQVcsQ0FDbEIsbUJBQW1CLEVBQ25CLGlDQUFpQyxFQUNqQyw4QkFBOEIsRUFDOUIsNkNBQTZDLEVBQzdDLCtCQUErQixFQUMvQixTQUFTLEtBQUssQ0FBQyxTQUFTLHlDQUF5QyxFQUNqRSw2REFBNkQsRUFDN0QsK0NBQStDLENBQ2hELENBQUM7UUFFRixJQUFJLGlCQUFXLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRTtZQUNyQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsV0FBVyxFQUFFLGVBQWU7WUFDNUIsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksVUFBVTtZQUM5QyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJO1lBQ2xDLEdBQUcsRUFBRTtnQkFDSCxPQUFPLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPO2dCQUMzQixNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxNQUFNO2FBQzFCO1lBQ0QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsSUFBSSxFQUFFO2dCQUNKLEdBQUcsS0FBSyxDQUFDLElBQUk7Z0JBQ2Isa0NBQWtDLEVBQUUsWUFBWTtnQkFDaEQsOEJBQThCLEVBQUUsVUFBVTtnQkFDMUMsNEJBQTRCLEVBQUUsTUFBTTthQUNyQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBDRCxzQ0FvQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdGFjaywgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRWMySW5zdGFuY2UgfSBmcm9tIFwiLi9lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgVnBjUHJvcHMgfSBmcm9tIFwiLi9lYzJcIjtcbmltcG9ydCB7IENvbm5lY3Rpb25zLCBVc2VyRGF0YSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5cbmludGVyZmFjZSBQcm94eUFnZW50UHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgYWNjb3VudElkOiBzdHJpbmc7XG4gIHZwYzogVnBjUHJvcHM7XG4gIHB1YmxpY0tleTogc3RyaW5nO1xuICBlbmFibGVTc2g/OiBib29sZWFuO1xuICBpbnN0YW5jZVR5cGU6IHN0cmluZztcbiAgZGF0YWJhc2VDb25uZWN0aW9uPzogQ29ubmVjdGlvbnM7XG4gIHRhZ3M/OiBLZXlWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIEZpdmV0cmFuUHJveHkgZXh0ZW5kcyBTdGFjayB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBQcm94eUFnZW50UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIGNvbnN0IHVzZXJEYXRhID0gVXNlckRhdGEuZm9yTGludXgoKTtcblxuICAgIHVzZXJEYXRhLmFkZENvbW1hbmRzKFxuICAgICAgXCJncm91cGFkZCBmaXZldHJhblwiLFxuICAgICAgXCJ1c2VyYWRkIC1tIC1nIGZpdmV0cmFuIGZpdmV0cmFuXCIsXG4gICAgICBcIm1rZGlyIC1wIC9ob21lL2ZpdmV0cmFuLy5zc2hcIixcbiAgICAgIFwiY2hvd24gZml2ZXRyYW46Zml2ZXRyYW4gL2hvbWUvZml2ZXRyYW4vLnNzaFwiLFxuICAgICAgXCJjaG1vZCA3MDAgL2hvbWUvZml2ZXRyYW4vLnNzaFwiLFxuICAgICAgYGVjaG8gXCIke3Byb3BzLnB1YmxpY0tleX1cIiA+IC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzYCxcbiAgICAgIFwiY2hvd24gZml2ZXRyYW46Zml2ZXRyYW4gL2hvbWUvZml2ZXRyYW4vLnNzaC9hdXRob3JpemVkX2tleXNcIixcbiAgICAgIFwiY2htb2QgNjAwIC9ob21lL2ZpdmV0cmFuLy5zc2gvYXV0aG9yaXplZF9rZXlzXCJcbiAgICApO1xuXG4gICAgbmV3IEVjMkluc3RhbmNlKHRoaXMsIFwiRml2ZXRyYW5Qcm94eVwiLCB7XG4gICAgICBhY2NvdW50SWQ6IHByb3BzLmFjY291bnRJZCxcbiAgICAgIHNlcnZpY2VOYW1lOiBcImZpdmV0cmFuUHJveHlcIixcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgaW5zdGFuY2VUeXBlOiBwcm9wcy5pbnN0YW5jZVR5cGUgfHwgXCJ0Mi5taWNyb1wiLFxuICAgICAgZW5hYmxlU1NIOiBwcm9wcy5lbmFibGVTc2ggfHwgdHJ1ZSxcbiAgICAgIGVudjoge1xuICAgICAgICBhY2NvdW50OiBwcm9wcy5lbnY/LmFjY291bnQsXG4gICAgICAgIHJlZ2lvbjogcHJvcHMuZW52Py5yZWdpb25cbiAgICAgIH0sXG4gICAgICB1c2VyRGF0YTogdXNlckRhdGEsXG4gICAgICB0YWdzOiB7XG4gICAgICAgIC4uLnByb3BzLnRhZ3MsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZW52aXJvbm1lbnRcIjogXCJwcm9kdWN0aW9uXCIsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiBcImZpdmV0cmFuXCIsXG4gICAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJkYXRhXCJcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -15,7 +15,6 @@ class HostedZone extends aws_cdk_lib_1.Stack {
15
15
  this.hostedZoneId = this.hostedZone.hostedZoneId;
16
16
  }
17
17
  else {
18
- console.log(props.zoneName);
19
18
  this.hostedZoneId = props.hostedZoneId;
20
19
  }
21
20
  this.importHostedZone(props.zoneName);
@@ -124,4 +123,4 @@ class HostedZone extends aws_cdk_lib_1.Stack {
124
123
  }
125
124
  }
126
125
  exports.HostedZone = HostedZone;
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBbUQ7QUFDbkQsaURBQStDO0FBQy9DLGlEQUk2QjtBQUM3Qix5REFhaUM7QUFDakMseURBQWtEO0FBTWxELE1BQWEsVUFBVyxTQUFRLG1CQUFLO0lBSW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztTQUNsRDthQUFNO1lBQ0wsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDbkQsUUFBUSxFQUFFLFFBQVE7WUFDbEIsT0FBTyxFQUFFLG1CQUFtQixRQUFRLEVBQUU7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0Isa0NBQWtDLEVBQUUsWUFBWTtZQUNoRCw4QkFBOEIs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QUMsa0JBQWtCO1lBQzdCLE9BQU8sRUFDTCxLQUFLLENBQUMsT0FBTyxJQUFJLGtCQUFrQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFO1lBQ3ZFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUE1SUQsZ0NBNElDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRm4sIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvaWFtXCI7XG5pbXBvcnQge1xuICBPcmdhbml6YXRpb25QcmluY2lwYWwsXG4gIFBvbGljeURvY3VtZW50LFxuICBQb2xpY3lTdGF0ZW1lbnRcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7XG4gIEFSZWNvcmQsXG4gIEFSZWNvcmRQcm9wcyxcbiAgQ25hbWVSZWNvcmQsXG4gIENuYW1lUmVjb3JkUHJvcHMsXG4gIEhvc3RlZFpvbmUgYXMgaG9zdGVkWm9uZSxcbiAgSUhvc3RlZFpvbmUsXG4gIE14UmVjb3JkLFxuICBNeFJlY29yZFByb3BzLFxuICBOc1JlY29yZCxcbiAgTnNSZWNvcmRQcm9wcyxcbiAgVHh0UmVjb3JkLFxuICBUeHRSZWNvcmRQcm9wc1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZVByb3BzIHtcbiAgem9uZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdGVkWm9uZSBleHRlbmRzIFN0YWNrIHtcbiAgcHJpdmF0ZSBob3N0ZWRab25lOiBob3N0ZWRab25lO1xuICBwcml2YXRlIGhvc3RlZFpvbmVJZDogc3RyaW5nO1xuICBwcml2YXRlIGltcG9ydGVkSG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBIb3N0ZWRab25lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gSWYgYSBob3N0ZWRab25lSWQgaXMgcHJvdmlkZWQgaW1wb3J0IGl0LCB1bmxlc3MgY3JlYXRlIGEgbmV3IGhvc3RlZCB6b25lXG4gICAgaWYgKCFwcm9wcy5ob3N0ZWRab25lSWQpIHtcbiAgICAgIHRoaXMuYWRkSG9zdGVkWm9uZShwcm9wcy56b25lTmFtZSk7XG4gICAgICB0aGlzLmhvc3RlZFpvbmVJZCA9IHRoaXMuaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKHByb3BzLnpvbmVOYW1lKTtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZUlkID0gcHJvcHMuaG9zdGVkWm9uZUlkO1xuICAgIH1cblxuICAgIHRoaXMuaW1wb3J0SG9zdGVkWm9uZShwcm9wcy56b25lTmFtZSk7XG4gICAgdGhpcy5kZWxlZ2F0ZUhvc3RlZFpvbmUoKTtcbiAgfVxuXG4gIGFkZEhvc3RlZFpvbmUoem9uZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuaG9zdGVkWm9uZSA9IG5ldyBob3N0ZWRab25lKHRoaXMsIFwiSG9zdGVkWm9uZVwiLCB7XG4gICAgICB6b25lTmFtZTogem9uZU5hbWUsXG4gICAgICBjb21tZW50OiBgSG9zdGVkIFpvbmUgZm9yICR7em9uZU5hbWV9YFxuICAgIH0pO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuaG9zdGVkWm9uZSwge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBcIm1hbmFnZW1lbnRcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiBcImhvc3RlZFpvbmVcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZG9tYWluXCI6IGAke3pvbmVOYW1lfWBcbiAgICB9KTtcbiAgfVxuXG4gIGltcG9ydEhvc3RlZFpvbmUoem9uZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lID0gaG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXMoXG4gICAgICB0aGlzLFxuICAgICAgXCJpbXBvcnRlZEhvc3RlZFpvbmVcIixcbiAgICAgIHtcbiAgICAgICAgaG9zdGVkWm9uZUlkOiB0aGlzLmhvc3RlZFpvbmVJZCxcbiAgICAgICAgem9uZU5hbWU6IHpvbmVOYW1lXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSwge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBcIm1hbmFnZW1lbnRcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiBcImhvc3RlZFpvbmVcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZG9tYWluXCI6IGAke3pvbmVOYW1lfWBcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7em9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYCwge1xuICAgICAga2V5OiBcIkhvc3RlZFpvbmVJZFwiLFxuICAgICAgdmFsdWU6IHRoaXMuaG9zdGVkWm9uZUlkLFxuICAgICAgZXhwb3J0TmFtZTogYCR7em9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYFxuICAgIH0pO1xuICB9XG5cbiAgZGVsZWdhdGVIb3N0ZWRab25lKCkge1xuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZS5zcGxpdChcIi5cIiwgMSk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke2RvbWFpbk5hbWV9RGVsZWdhdGVIb3N0ZWRab25lUm9sZWAsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IE9yZ2FuaXphdGlvblByaW5jaXBhbChGbi5pbXBvcnRWYWx1ZShcIk9yZ2FuaXNhdGlvbklkXCIpKSxcbiAgICAgIHJvbGVOYW1lOiBgJHtkb21haW5OYW1lfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVgLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgW1wibGlzdEhvc3RlZFpvbmVzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXCJyb3V0ZTUzOkxpc3RIb3N0ZWRab25lc0J5TmFtZVwiXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICAgIFtcImNoYW5nZVJlc291cmNlUmVjb3JkU2V0c1wiXTogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgYWN0aW9uczogW1wicm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNcIl0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkfWBcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS5ncmFudERlbGVnYXRpb24ocm9sZSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRGVsZWdhdGVIb3N0ZWRab25lUm9sZUFyblwiLCB7XG4gICAgICBrZXk6IGAke2RvbWFpbk5hbWV9RGVsZWdhdGVIb3N0ZWRab25lUm9sZUFybmAsXG4gICAgICB2YWx1ZTogcm9sZS5yb2xlQXJuLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZG9tYWluTmFtZX1EZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuYFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZEFSZWNvcmQocHJvcHM6IE9taXQ8QVJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgQVJlY29yZCh0aGlzLCBcIkFSZWNvcmRcIiwge1xuICAgICAgem9uZTogdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUsXG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5yZWNvcmROYW1lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgQSBSZWNvcmQgZm9yICR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuem9uZU5hbWV9YCxcbiAgICAgIHRhcmdldDogcHJvcHMudGFyZ2V0LFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDbmFtZShwcm9wczogT21pdDxDbmFtZVJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgQ25hbWVSZWNvcmQodGhpcywgYGAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYENOQU1FIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRNeChwcm9wczogT21pdDxNeFJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgTXhSZWNvcmQodGhpcywgYGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgTVggUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTlMocHJvcHM6IE9taXQ8TnNSZWNvcmRQcm9wcywgXCJ6b25lXCI+KSB7XG4gICAgbmV3IE5zUmVjb3JkKHRoaXMsIGBgLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYE5TIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFR4dChwcm9wczogT21pdDxUeHRSZWNvcmRQcm9wcywgXCJ6b25lXCI+KSB7XG4gICAgbmV3IFR4dFJlY29yZCh0aGlzLCBgYCwge1xuICAgICAgem9uZTogdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBUWFQgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG9zdGVkWm9uZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2xpYi9wYXR0ZXJucy9hd3MvaG9zdGVkWm9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw2Q0FBbUQ7QUFDbkQsaURBQStDO0FBQy9DLGlEQUk2QjtBQUM3Qix5REFhaUM7QUFDakMseURBQWtEO0FBTWxELE1BQWEsVUFBVyxTQUFRLG1CQUFLO0lBSW5DLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBc0I7UUFDOUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQiwyRUFBMkU7UUFDM0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQztTQUNsRDthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDO1NBQ3hDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYSxDQUFDLFFBQWdCO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSx3QkFBVSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDbkQsUUFBUSxFQUFFLFFBQVE7WUFDbEIsT0FBTyxFQUFFLG1CQUFtQixRQUFRLEVBQUU7U0FDdkMsQ0FBQyxDQUFDO1FBQ0gsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDM0Isa0NBQWtDLEVBQUUsWUFBWTtZQUNoRCw4QkFBOEIsRUFBRSxZQUFZO1lBQzVDLDZCQUE2QixFQUFFLEdBQUcsUUFBUSxFQUFFO1NBQzdDLENB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QixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFO1lBQ3ZFLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7U0FDZixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUEzSUQsZ0NBMklDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IENmbk91dHB1dCwgRm4sIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBSb2xlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlcy9hd3MvaWFtXCI7XG5pbXBvcnQge1xuICBPcmdhbml6YXRpb25QcmluY2lwYWwsXG4gIFBvbGljeURvY3VtZW50LFxuICBQb2xpY3lTdGF0ZW1lbnRcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7XG4gIEFSZWNvcmQsXG4gIEFSZWNvcmRQcm9wcyxcbiAgQ25hbWVSZWNvcmQsXG4gIENuYW1lUmVjb3JkUHJvcHMsXG4gIEhvc3RlZFpvbmUgYXMgaG9zdGVkWm9uZSxcbiAgSUhvc3RlZFpvbmUsXG4gIE14UmVjb3JkLFxuICBNeFJlY29yZFByb3BzLFxuICBOc1JlY29yZCxcbiAgTnNSZWNvcmRQcm9wcyxcbiAgVHh0UmVjb3JkLFxuICBUeHRSZWNvcmRQcm9wc1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTNcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcbmV4cG9ydCBpbnRlcmZhY2UgSG9zdGVkWm9uZVByb3BzIHtcbiAgem9uZU5hbWU6IHN0cmluZztcbiAgaG9zdGVkWm9uZUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgSG9zdGVkWm9uZSBleHRlbmRzIFN0YWNrIHtcbiAgcHJpdmF0ZSBob3N0ZWRab25lOiBob3N0ZWRab25lO1xuICBwcml2YXRlIGhvc3RlZFpvbmVJZDogc3RyaW5nO1xuICBwcml2YXRlIGltcG9ydGVkSG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBIb3N0ZWRab25lUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gSWYgYSBob3N0ZWRab25lSWQgaXMgcHJvdmlkZWQgaW1wb3J0IGl0LCB1bmxlc3MgY3JlYXRlIGEgbmV3IGhvc3RlZCB6b25lXG4gICAgaWYgKCFwcm9wcy5ob3N0ZWRab25lSWQpIHtcbiAgICAgIHRoaXMuYWRkSG9zdGVkWm9uZShwcm9wcy56b25lTmFtZSk7XG4gICAgICB0aGlzLmhvc3RlZFpvbmVJZCA9IHRoaXMuaG9zdGVkWm9uZS5ob3N0ZWRab25lSWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaG9zdGVkWm9uZUlkID0gcHJvcHMuaG9zdGVkWm9uZUlkO1xuICAgIH1cblxuICAgIHRoaXMuaW1wb3J0SG9zdGVkWm9uZShwcm9wcy56b25lTmFtZSk7XG4gICAgdGhpcy5kZWxlZ2F0ZUhvc3RlZFpvbmUoKTtcbiAgfVxuXG4gIGFkZEhvc3RlZFpvbmUoem9uZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuaG9zdGVkWm9uZSA9IG5ldyBob3N0ZWRab25lKHRoaXMsIFwiSG9zdGVkWm9uZVwiLCB7XG4gICAgICB6b25lTmFtZTogem9uZU5hbWUsXG4gICAgICBjb21tZW50OiBgSG9zdGVkIFpvbmUgZm9yICR7em9uZU5hbWV9YFxuICAgIH0pO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuaG9zdGVkWm9uZSwge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBcIm1hbmFnZW1lbnRcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiBcImhvc3RlZFpvbmVcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZG9tYWluXCI6IGAke3pvbmVOYW1lfWBcbiAgICB9KTtcbiAgfVxuXG4gIGltcG9ydEhvc3RlZFpvbmUoem9uZU5hbWU6IHN0cmluZykge1xuICAgIHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lID0gaG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXMoXG4gICAgICB0aGlzLFxuICAgICAgXCJpbXBvcnRlZEhvc3RlZFpvbmVcIixcbiAgICAgIHtcbiAgICAgICAgaG9zdGVkWm9uZUlkOiB0aGlzLmhvc3RlZFpvbmVJZCxcbiAgICAgICAgem9uZU5hbWU6IHpvbmVOYW1lXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSwge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBcIm1hbmFnZW1lbnRcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiBcImhvc3RlZFpvbmVcIixcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246ZG9tYWluXCI6IGAke3pvbmVOYW1lfWBcbiAgICB9KTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7em9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYCwge1xuICAgICAga2V5OiBcIkhvc3RlZFpvbmVJZFwiLFxuICAgICAgdmFsdWU6IHRoaXMuaG9zdGVkWm9uZUlkLFxuICAgICAgZXhwb3J0TmFtZTogYCR7em9uZU5hbWUuc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYFxuICAgIH0pO1xuICB9XG5cbiAgZGVsZWdhdGVIb3N0ZWRab25lKCkge1xuICAgIGNvbnN0IGRvbWFpbk5hbWUgPSB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZS5zcGxpdChcIi5cIiwgMSk7XG4gICAgY29uc3Qgcm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke2RvbWFpbk5hbWV9RGVsZWdhdGVIb3N0ZWRab25lUm9sZWAsIHtcbiAgICAgIGFzc3VtZWRCeTogbmV3IE9yZ2FuaXphdGlvblByaW5jaXBhbChGbi5pbXBvcnRWYWx1ZShcIk9yZ2FuaXNhdGlvbklkXCIpKSxcbiAgICAgIHJvbGVOYW1lOiBgJHtkb21haW5OYW1lfURlbGVnYXRlSG9zdGVkWm9uZVJvbGVgLFxuICAgICAgaW5saW5lUG9saWNpZXM6IHtcbiAgICAgICAgW1wibGlzdEhvc3RlZFpvbmVzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXCJyb3V0ZTUzOkxpc3RIb3N0ZWRab25lc0J5TmFtZVwiXSxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSksXG4gICAgICAgIFtcImNoYW5nZVJlc291cmNlUmVjb3JkU2V0c1wiXTogbmV3IFBvbGljeURvY3VtZW50KHtcbiAgICAgICAgICBzdGF0ZW1lbnRzOiBbXG4gICAgICAgICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgICAgICAgYWN0aW9uczogW1wicm91dGU1MzpDaGFuZ2VSZXNvdXJjZVJlY29yZFNldHNcIl0sXG4gICAgICAgICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgICAgICAgIGBhcm46YXdzOnJvdXRlNTM6Ojpob3N0ZWR6b25lLyR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuaG9zdGVkWm9uZUlkfWBcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS5ncmFudERlbGVnYXRpb24ocm9sZSk7XG5cbiAgICBuZXcgQ2ZuT3V0cHV0KHRoaXMsIFwiRGVsZWdhdGVIb3N0ZWRab25lUm9sZUFyblwiLCB7XG4gICAgICBrZXk6IGAke2RvbWFpbk5hbWV9RGVsZWdhdGVIb3N0ZWRab25lUm9sZUFybmAsXG4gICAgICB2YWx1ZTogcm9sZS5yb2xlQXJuLFxuICAgICAgZXhwb3J0TmFtZTogYCR7ZG9tYWluTmFtZX1EZWxlZ2F0ZUhvc3RlZFpvbmVSb2xlQXJuYFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZEFSZWNvcmQocHJvcHM6IE9taXQ8QVJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgQVJlY29yZCh0aGlzLCBcIkFSZWNvcmRcIiwge1xuICAgICAgem9uZTogdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUsXG4gICAgICByZWNvcmROYW1lOiBwcm9wcy5yZWNvcmROYW1lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgQSBSZWNvcmQgZm9yICR7dGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUuem9uZU5hbWV9YCxcbiAgICAgIHRhcmdldDogcHJvcHMudGFyZ2V0LFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRDbmFtZShwcm9wczogT21pdDxDbmFtZVJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgQ25hbWVSZWNvcmQodGhpcywgYGAsIHtcbiAgICAgIGRvbWFpbk5hbWU6IHByb3BzLmRvbWFpbk5hbWUsXG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYENOQU1FIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdHRsOiBwcm9wcy50dGxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRNeChwcm9wczogT21pdDxNeFJlY29yZFByb3BzLCBcInpvbmVcIj4pIHtcbiAgICBuZXcgTXhSZWNvcmQodGhpcywgYGAsIHtcbiAgICAgIHpvbmU6IHRoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLFxuICAgICAgY29tbWVudDpcbiAgICAgICAgcHJvcHMuY29tbWVudCB8fCBgTVggUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgYWRkTlMocHJvcHM6IE9taXQ8TnNSZWNvcmRQcm9wcywgXCJ6b25lXCI+KSB7XG4gICAgbmV3IE5zUmVjb3JkKHRoaXMsIGBgLCB7XG4gICAgICB6b25lOiB0aGlzLmltcG9ydGVkSG9zdGVkWm9uZSxcbiAgICAgIGNvbW1lbnQ6XG4gICAgICAgIHByb3BzLmNvbW1lbnQgfHwgYE5TIFJlY29yZCBmb3IgJHt0aGlzLmltcG9ydGVkSG9zdGVkWm9uZS56b25lTmFtZX1gLFxuICAgICAgdmFsdWVzOiBwcm9wcy52YWx1ZXMsXG4gICAgICB0dGw6IHByb3BzLnR0bFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGFkZFR4dChwcm9wczogT21pdDxUeHRSZWNvcmRQcm9wcywgXCJ6b25lXCI+KSB7XG4gICAgbmV3IFR4dFJlY29yZCh0aGlzLCBgYCwge1xuICAgICAgem9uZTogdGhpcy5pbXBvcnRlZEhvc3RlZFpvbmUsXG4gICAgICBjb21tZW50OlxuICAgICAgICBwcm9wcy5jb21tZW50IHx8IGBUWFQgUmVjb3JkIGZvciAke3RoaXMuaW1wb3J0ZWRIb3N0ZWRab25lLnpvbmVOYW1lfWAsXG4gICAgICB2YWx1ZXM6IHByb3BzLnZhbHVlcyxcbiAgICAgIHR0bDogcHJvcHMudHRsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -4,3 +4,5 @@ export * from "./managedAccount";
4
4
  export * from "./basicApp";
5
5
  export * from "./buildkite";
6
6
  export * from "./ec2";
7
+ export * from "./fivetranProxy";
8
+ export * from "./database";
@@ -20,4 +20,6 @@ __exportStar(require("./managedAccount"), exports);
20
20
  __exportStar(require("./basicApp"), exports);
21
21
  __exportStar(require("./buildkite"), exports);
22
22
  __exportStar(require("./ec2"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBc0M7QUFDdEMsb0RBQWtDO0FBQ2xDLG1EQUFpQztBQUNqQyw2Q0FBMkI7QUFDM0IsOENBQTRCO0FBQzVCLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL21hbmFnZWRPcmdhbmlzYXRpb25cIjtcbmV4cG9ydCAqIGZyb20gXCIuL21hbmFnZWRQbGF0Zm9ybVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFuYWdlZEFjY291bnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Jhc2ljQXBwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idWlsZGtpdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VjMlwiO1xuIl19
23
+ __exportStar(require("./fivetranProxy"), exports);
24
+ __exportStar(require("./database"), exports);
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWIvcGF0dGVybnMvYXdzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx3REFBc0M7QUFDdEMsb0RBQWtDO0FBQ2xDLG1EQUFpQztBQUNqQyw2Q0FBMkI7QUFDM0IsOENBQTRCO0FBQzVCLHdDQUFzQjtBQUN0QixrREFBZ0M7QUFDaEMsNkNBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vbWFuYWdlZE9yZ2FuaXNhdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbWFuYWdlZFBsYXRmb3JtXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tYW5hZ2VkQWNjb3VudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYmFzaWNBcHBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2J1aWxka2l0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZWMyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9maXZldHJhblByb3h5XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9kYXRhYmFzZVwiO1xuIl19
@@ -15,6 +15,7 @@ const aws_certificatemanager_1 = require("aws-cdk-lib/aws-certificatemanager");
15
15
  const aws_route53_1 = require("aws-cdk-lib/aws-route53");
16
16
  const aws_route53_targets_1 = require("aws-cdk-lib/aws-route53-targets");
17
17
  const aws_ecr_1 = require("aws-cdk-lib/aws-ecr");
18
+ const cfnOutput_1 = require("../utilities/cfnOutput");
18
19
  var Protocol;
19
20
  (function (Protocol) {
20
21
  Protocol[Protocol["HTTP"] = 0] = "HTTP";
@@ -209,6 +210,11 @@ class FargateCluster extends constructs_1.Construct {
209
210
  }
210
211
  });
211
212
  (0, tagResource_1.default)(this.loadBalancer, props.tags);
213
+ new cfnOutput_1.CfnOutput(this, `${props.clusterName}LoadBalancerDnsName`, {
214
+ key: `${props.clusterName}LoadBalancerDnsName`,
215
+ exportName: `${props.clusterName}LoadBalancerDnsName`,
216
+ value: this.loadBalancer.loadBalancerDnsName
217
+ });
212
218
  }
213
219
  addLoadBalancerListener(props) {
214
220
  if (!!this.certificate) {
@@ -264,4 +270,4 @@ class FargateCluster extends constructs_1.Construct {
264
270
  }
265
271
  }
266
272
  exports.default = FargateCluster;
267
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvY29tcHV0ZS9lY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBVTZCO0FBQzdCLGlEQU02QjtBQUM3QiwyQ0FBdUM7QUFFdkMsNkNBQXdEO0FBQ3hELHVGQUlnRDtBQUNoRCw0REFBcUQ7QUFDckQsaURBUTZCO0FBQzdCLHVGQUtnRDtBQUNoRCxpREFBMEQ7QUFDMUQsdUVBQXdEO0FBQ3hELCtFQUc0QztBQUM1Qyx5REFLaUM7QUFDakMseUVBQXFFO0FBQ3JFLGlEQUFpRDtBQUdqRCxJQUFZLFFBR1g7QUFIRCxXQUFZLFFBQVE7SUFDbEIsdUNBQUksQ0FBQTtJQUNKLHlDQUFLLENBQUE7QUFDUCxDQUFDLEVBSFcsUUFBUSxHQUFSLGdCQUFRLEtBQVIsZ0JBQVEsUUFHbkI7QUFFRCxJQUFZLFdBR1g7QUFIRCxXQUFZLFdBQVc7SUFDckIsc0RBQTBELENBQUE7SUFDMUQsNERBQWdFLENBQUE7QUFDbEUsQ0FBQyxFQUhXLFdBQVcsR0FBWCxtQkFBVyxLQUFYLG1CQUFXLFFBR3RCO0FBZ0NELE1BQXFCLGNBQWUsU0FBUSxzQkFBUztJQW1CbkQsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBTFgsWUFBTyxHQUVYLEVBQUUsQ0FBQztRQUtMLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMs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QkFBaUIsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1NBQ3hFO1FBQ0QsT0FBTyx3QkFBYyxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBSyxDQUNWLEVBQVUsRUFDVixLQUEwQjtRQUUxQixPQUFPLENBQUMsRUFBZ0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUF3QjtnQkFDcEMsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVcsSUFBSSxLQUFLLENBQUMsR0FBRztpQkFDNUM7YUFDRixDQUFDO1lBQ0YsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQTdVRCxpQ0E2VUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBd3NMb2dEcml2ZXIsXG4gIENsdXN0ZXIgYXMgQ2RrQ2x1c3RlcixcbiAgQ29udGFpbmVySW1hZ2UsXG4gIEZhcmdhdGVTZXJ2aWNlLFxuICBGYXJnYXRlVGFza0RlZmluaXRpb24sXG4gIExpc3RlbmVyQ29uZmlnLFxuICBQcm9wYWdhdGVkVGFnU291cmNlLFxuICBSZXBvc2l0b3J5SW1hZ2UsXG4gIENvbnRhaW5lckRlZmluaXRpb25cbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7XG4gIENvbm5lY3Rpb25zLFxuICBJQ29ubmVjdGFibGUsXG4gIElWcGMsXG4gIFBvcnQsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTdGFja0J1aWxkZXIgfSBmcm9tIFwiLi4vYXdzU3RhY2tcIjtcbmltcG9ydCB7IER1cmF0aW9uLCBGbiwgU2VjcmV0VmFsdWUgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIEFwcGxpY2F0aW9uTGlzdGVuZXIsXG4gIEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyLFxuICBBcHBsaWNhdGlvblByb3RvY29sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWxhc3RpY2xvYWRiYWxhbmNpbmd2MlwiO1xuaW1wb3J0IHRhZ1Jlc291cmNlIGZyb20gXCIuLi8uLi8uLi91dGlscy90YWdSZXNvdXJjZVwiO1xuaW1wb3J0IHtcbiAgQ29tcG9zaXRlUHJpbmNpcGFsLFxuICBFZmZlY3QsXG4gIElNYW5hZ2VkUG9saWN5LFxuICBQb2xpY3lEb2N1bWVudCxcbiAgUG9saWN5U3RhdGVtZW50LFxuICBSb2xlLFxuICBTZXJ2aWNlUHJpbmNpcGFsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQge1xuICBQcmVkZWZpbmVkTWV0cmljLFxuICBTY2FsYWJsZVRhcmdldCxcbiAgU2VydmljZU5hbWVzcGFjZSxcbiAgVGFyZ2V0VHJhY2tpbmdTY2FsaW5nUG9saWN5XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtYXBwbGljYXRpb25hdXRvc2NhbGluZ1wiO1xuaW1wb3J0IHsgU2VjcmV0IGFzIEVjc1NlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQgeyBTZWNyZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQge1xuICBDZXJ0aWZpY2F0ZSxcbiAgQ2VydGlmaWNhdGVWYWxpZGF0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtY2VydGlmaWNhdGVtYW5hZ2VyXCI7XG5pbXBvcnQge1xuICBBUmVjb3JkLFxuICBIb3N0ZWRab25lLFxuICBSZWNvcmRUYXJnZXQsXG4gIElIb3N0ZWRab25lXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1wiO1xuaW1wb3J0IHsgTG9hZEJhbGFuY2VyVGFyZ2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzLXRhcmdldHNcIjtcbmltcG9ydCB7IFJlcG9zaXRvcnkgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjclwiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuZXhwb3J0IGVudW0gUHJvdG9jb2wge1xuICBIVFRQLFxuICBIVFRQU1xufVxuXG5leHBvcnQgZW51bSBTY2FsaW5nVHlwZSB7XG4gIENQVSA9IFByZWRlZmluZWRNZXRyaWMuRUNTX1NFUlZJQ0VfQVZFUkFHRV9DUFVfVVRJTElaQVRJT04sXG4gIE1FTU9SWSA9IFByZWRlZmluZWRNZXRyaWMuRUNTX1NFUlZJQ0VfQVZFUkFHRV9NRU1PUllfVVRJTElaQVRJT05cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJTZWNyZXQge1xuICBba2V5OiBzdHJpbmddOiBTZWNyZXRWYWx1ZTtcbn1cblxudHlwZSBGYXJnYXRlQ2x1c3RlclByb3BzID0ge1xuICBlY3JSZXBvc2l0b3J5OiBSZXBvc2l0b3J5IHwgUmVwb3NpdG9yeUltYWdlO1xuICBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICBjb250YWluZXJDb21tYW5kPzogc3RyaW5nW107XG4gIGNvbnRhaW5lckVudmlyb25tZW50PzogS2V5VmFsdWU7XG4gIGNvbnRhaW5lclNlY3JldHM/OiBDb250YWluZXJTZWNyZXQ7XG4gIGNvbnRhaW5lclBvcnQ/OiBudW1iZXI7XG4gIGNwdT86IG51bWJlcjtcbiAgZGF0YWJhc2VDb25uZWN0aW9uOiBJQ29ubmVjdGFibGU7XG4gIHBhcmVudERvbWFpbj86IHN0cmluZzsgLy8gVE9ETzogQnJlYWsgb3V0IGEgSFRUUCBhbmQgSFRUUFMgc2VydmljZSB3aGVyZSB0aGlzIGlzIG9wdGlvbmFsXG4gIGRlc2lyZWRDb3VudD86IG51bWJlcjtcbiAgaGVhbHRoQ2hlY2tQYXRoPzogc3RyaW5nO1xuICBsaXN0ZW5lclBvcnQ/OiBudW1iZXI7XG4gIG1lbW9yeUxpbWl0TWlCPzogbnVtYmVyO1xuICBwdWJsaWNMb2FkQmFsYW5jZXI/OiBib29sZWFuO1xuICBwcm90b2NvbDogUHJvdG9jb2w7XG4gIHNjYWxpbmdUeXBlPzogU2NhbGluZ1R5cGU7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHRhZ3M6IEtleVZhbHVlO1xuICB0YXNrUm9sZUlubGluZVBvbGljaWVzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBQb2xpY3lEb2N1bWVudDtcbiAgfTtcbiAgdGFza1JvbGVNYW5hZ2VkUG9saWNpZXM/OiBJTWFuYWdlZFBvbGljeVtdO1xuICB2cGM/OiBJVnBjO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmFyZ2F0ZUNsdXN0ZXIgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuXG4gIHByaXZhdGUgY2x1c3RlcjogQ2RrQ2x1c3RlcjtcbiAgcHJpdmF0ZSBsb2FkQmFsYW5jZXI6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuICBwcml2YXRlIGV4ZWN1dGlvblJvbGU6IFJvbGU7XG4gIHByaXZhdGUgdGFza0RlZmluaXRpb246IEZhcmdhdGVUYXNrRGVmaW5pdGlvbjtcbiAgcHJpdmF0ZSBjb250YWluZXJEZWZpbml0aW9uOiBDb250YWluZXJEZWZpbml0aW9uO1xuICBwcml2YXRlIGZhcmdhdGVTZXJ2aWNlOiBGYXJnYXRlU2VydmljZTtcbiAgcHJpdmF0ZSBzY2FsaW5nUG9saWN5OiBUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3k7XG4gIHByaXZhdGUgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgY2VydGlmaWNhdGU6IENlcnRpZmljYXRlO1xuICBwcml2YXRlIGFSZWNvcmQ6IEFSZWNvcmQ7XG4gIHByaXZhdGUgbG9hZEJhbGFuY2VyTGlzdGVuZXI6IEFwcGxpY2F0aW9uTGlzdGVuZXI7XG5cbiAgcHJpdmF0ZSBzZWNyZXRzOiB7XG4gICAgW2tleTogc3RyaW5nXTogRWNzU2VjcmV0O1xuICB9ID0ge307XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5hZGRDbHVzdGVyKHByb3BzKTtcbiAgICB0aGlzLmFkZFNlY3JldHMocHJvcHMpO1xuICAgIHRoaXMuYWRkRXhlY3V0aW9uUm9sZShwcm9wcyk7XG4gICAgdGhpcy5hZGRUYXNrRGVmaW5pdGlvbihwcm9wcyk7XG4gICAgdGhpcy5hZGRDb250YWluZXJEZWZpbml0aW9uKHByb3BzKTtcbiAgICB0aGlzLmFkZEZhcmdhdGVTZXJ2aWNlKHByb3BzKTtcbiAgICB0aGlzLmFkZExvYWRCYWxhbmNlcihwcm9wcyk7XG5cbiAgICBpZiAoISFwcm9wcy5wYXJlbnREb21haW4pIHRoaXMuYWRkSG9zdGVkWm9uZShwcm9wcyk7XG5cbiAgICB0aGlzLmFkZExvYWRCYWxhbmNlckxpc3RlbmVyKHByb3BzKTtcbiAgICB0aGlzLnJlZ2lzdGVyTG9hZEJhbGFuY2VyVGFyZ2V0cyhwcm9wcyk7XG5cbiAgICAvL3RvZG86IGZpeCBjb25uZWN0aW9ucyBub3Qgd29ya2luZyBhdXRvbWF0aWNhbGx5XG4gICAgaWYgKHByb3BzLmRhdGFiYXNlQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5mYXJnYXRlU2VydmljZS5jb25uZWN0aW9ucy5hbGxvd1RvKFxuICAgICAgICBwcm9wcy5kYXRhYmFzZUNvbm5lY3Rpb24sXG4gICAgICAgIFBvcnQuUE9TVEdSRVNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYWRkQ2x1c3Rlcihwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuY2x1c3RlciA9IG5ldyBDZGtDbHVzdGVyKHRoaXMsIGAke3Byb3BzLmNsdXN0ZXJOYW1lfWAsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgY2x1c3Rlck5hbWU6IHByb3BzLmNsdXN0ZXJOYW1lLFxuICAgICAgY29udGFpbmVySW5zaWdodHM6IHRydWUsXG4gICAgICBlbmFibGVGYXJnYXRlQ2FwYWNpdHlQcm92aWRlcnM6IHRydWVcbiAgICB9KTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmNsdXN0ZXIsIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkU2VjcmV0cyhwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIC8vIENvbnRhaW5lciBTZWNyZXRzXG4gICAgY29uc3QgY29udGFpbmVyU2VjcmV0ID0gU2VjcmV0LmZyb21TZWNyZXROYW1lVjIoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuY2x1c3Rlck5hbWV9U2VjcmV0YCxcbiAgICAgIGAvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX1gXG4gICAgKTtcblxuICAgIGZvciAoY29uc3Qgc2VjcmV0RmllbGQgaW4gcHJvcHMuY29udGFpbmVyU2VjcmV0cykge1xuICAgICAgdGhpcy5zZWNyZXRzW3NlY3JldEZpZWxkXSA9IEVjc1NlY3JldC5mcm9tU2VjcmV0c01hbmFnZXIoXG4gICAgICAgIGNvbnRhaW5lclNlY3JldCxcbiAgICAgICAgc2VjcmV0RmllbGRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYWRkRXhlY3V0aW9uUm9sZShwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuZXhlY3V0aW9uUm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke3Byb3BzLnNlcnZpY2VOYW1lfUV4ZWN1dGlvblJvbGVgLCB7XG4gICAgICByb2xlTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9RXhlY3V0aW9uUm9sZWAsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7cHJvcHMuc2VydmljZU5hbWV9IEV4ZWN1dGlvbiBSb2xlYCxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICB7XG4gICAgICAgICAgbWFuYWdlZFBvbGljeUFybjpcbiAgICAgICAgICAgIFwiYXJuOmF3czppYW06OmF3czpwb2xpY3kvc2VydmljZS1yb2xlL0FtYXpvbkVDU1Rhc2tFeGVjdXRpb25Sb2xlUG9saWN5XCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIFtcInJlYWRTZWNyZXRzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgXCJzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZVwiLFxuICAgICAgICAgICAgICAgIFwic2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXRcIlxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0gLy8gVE9ETzogU2V0IHRoaXMgdG8gdGhlIHNlY3JldCBBUk5cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KSxcbiAgICAgICAgW1wiZGVjcnlwdFNlY3JldHNcIl06IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcImttczpEZWNyeXB0XCJdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0gLy8gVE9ETzogU2V0IHRoaXMgdG8gdGhlIEtNUyBBcm5cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KSxcbiAgICAgICAgW1wiZWNzRXhlY3V0ZUNvbW1hbmRcIl06IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICBcInNzbW1lc3NhZ2VzOkNyZWF0ZUNvbnRyb2xDaGFubmVsXCIsXG4gICAgICAgICAgICAgICAgXCJzc21tZXNzYWdlczpDcmVhdGVEYXRhQ2hhbm5lbFwiLFxuICAgICAgICAgICAgICAgIFwic3NtbWVzc2FnZXM6T3BlbkNvbnRyb2xDaGFubmVsXCIsXG4gICAgICAgICAgICAgICAgXCJzc21tZXNzYWdlczpPcGVuRGF0YUNoYW5uZWxcIlxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBhc3N1bWVkQnk6IG5ldyBDb21wb3NpdGVQcmluY2lwYWwoXG4gICAgICAgIG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFwiZWNzLXRhc2tzLmFtYXpvbmF3cy5jb21cIilcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFRhc2tEZWZpbml0aW9uKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgdGhpcy50YXNrRGVmaW5pdGlvbiA9IG5ldyBGYXJnYXRlVGFza0RlZmluaXRpb24oXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9VGFza0RlZmluaXRpb25gLFxuICAgICAge1xuICAgICAgICBjcHU6IHByb3BzLmNwdSB8fCAyNTYsXG4gICAgICAgIGV4ZWN1dGlvblJvbGU6IHRoaXMuZXhlY3V0aW9uUm9sZSxcbiAgICAgICAgdGFza1JvbGU6IG5ldyBSb2xlKHRoaXMsIGAke3Byb3BzLnNlcnZpY2VOYW1lfVRhc2tSb2xlYCwge1xuICAgICAgICAgIHJvbGVOYW1lOiBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1UYXNrUm9sZWAsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGAke3Byb3BzLnNlcnZpY2VOYW1lfSBUYXNrIFJvbGVgLFxuICAgICAgICAgIGlubGluZVBvbGljaWVzOiBwcm9wcy50YXNrUm9sZUlubGluZVBvbGljaWVzLFxuICAgICAgICAgIG1hbmFnZWRQb2xpY2llczogcHJvcHMudGFza1JvbGVNYW5hZ2VkUG9saWNpZXMsXG4gICAgICAgICAgYXNzdW1lZEJ5OiBuZXcgQ29tcG9zaXRlUHJpbmNpcGFsKFxuICAgICAgICAgICAgbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJlY3MtdGFza3MuYW1hem9uYXdzLmNvbVwiKVxuICAgICAgICAgIClcbiAgICAgICAgfSksXG4gICAgICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQiB8fCA1MTJcbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMudGFza0RlZmluaXRpb24sIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkQ29udGFpbmVyRGVmaW5pdGlvbihwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuY29udGFpbmVyRGVmaW5pdGlvbiA9IHRoaXMudGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9Q29udGFpbmVyRGVmaW5pdGlvbmAsXG4gICAgICB7XG4gICAgICAgIGltYWdlOiB0aGlzLmdldEltYWdlKHByb3BzKSxcbiAgICAgICAgY29udGFpbmVyTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgLi4ucHJvcHMuY29udGFpbmVyRW52aXJvbm1lbnRcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWFuZDogcHJvcHMuY29udGFpbmVyQ29tbWFuZCxcbiAgICAgICAgc2VjcmV0czoge1xuICAgICAgICAgIC4uLnRoaXMuc2VjcmV0c1xuICAgICAgICB9LFxuICAgICAgICAvL3RvZG86IHByb3ZpZGUgaGVhbHRoIGNoZWNrIG9wdGlvbnNcbiAgICAgICAgLy8gaGVhbHRoQ2hlY2s6IHtcbiAgICAgICAgLy8gICBjb21tYW5kOiBbXG4gICAgICAgIC8vICAgICBcIkNNRC1TSEVMTFwiLFxuICAgICAgICAvLyAgICAgYHRpbWVvdXQgMTBzIC9iaW4vc2ggLWMgJzo+IC9kZXYvdGNwLzEyNy4wLjAuMS8ke3Byb3BzLmNvbnRhaW5lclBvcnR9JyB8fCBleGl0IDFgXG4gICAgICAgIC8vICAgXVxuICAgICAgICAvLyB9LFxuICAgICAgICBsb2dnaW5nOiBuZXcgQXdzTG9nRHJpdmVyKHtcbiAgICAgICAgICBzdHJlYW1QcmVmaXg6IGAvZWNzLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZU5hbWV9YCxcbiAgICAgICAgICBsb2dSZXRlbnRpb246IDE0XG4gICAgICAgIH0pLFxuICAgICAgICBwb3J0TWFwcGluZ3M6IHByb3BzLmNvbnRhaW5lclBvcnRcbiAgICAgICAgICA/IFt7IGNvbnRhaW5lclBvcnQ6IHByb3BzLmNvbnRhaW5lclBvcnQgfV1cbiAgICAgICAgICA6IFt7IGNvbnRhaW5lclBvcnQ6IDgwIH1dXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmNvbnRhaW5lckRlZmluaXRpb24sIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkRmFyZ2F0ZVNlcnZpY2UocHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHMpIHtcbiAgICB0aGlzLmZhcmdhdGVTZXJ2aWNlID0gbmV3IEZhcmdhdGVTZXJ2aWNlKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLnNlcnZpY2VOYW1lfUZhcmdhdGVTZXJ2aWNlYCxcbiAgICAgIHtcbiAgICAgICAgY2lyY3VpdEJyZWFrZXI6IHsgcm9sbGJhY2s6IHRydWUgfSxcbiAgICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLFxuICAgICAgICBkZXNpcmVkQ291bnQ6IDIsXG4gICAgICAgIGVuYWJsZUVDU01hbmFnZWRUYWdzOiB0cnVlLFxuICAgICAgICBlbmFibGVFeGVjdXRlQ29tbWFuZDogdHJ1ZSxcbiAgICAgICAgcHJvcGFnYXRlVGFnczogUHJvcGFnYXRlZFRhZ1NvdXJjZS5TRVJWSUNFLFxuICAgICAgICBzZXJ2aWNlTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9YCxcbiAgICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb25cbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuZmFyZ2F0ZVNlcnZpY2UsIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkU2NhbGluZ1BvbGljeShwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuc2NhbGluZ1BvbGljeSA9IG5ldyBUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3koXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9U2NhbGluZ1BvbGljeWAsXG4gICAgICB7XG4gICAgICAgIHBvbGljeU5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfVNjYWxpbmdQb2xpY3lgLFxuICAgICAgICBzY2FsaW5nVGFyZ2V0OiBuZXcgU2NhbGFibGVUYXJnZXQoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1zY2FsYWJsZVRhcmdldGAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWF4Q2FwYWNpdHk6IDEwLFxuICAgICAgICAgICAgbWluQ2FwYWNpdHk6IDIsXG4gICAgICAgICAgICByZXNvdXJjZUlkOiBgc2VydmljZS8ke3RoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHt0aGlzLmZhcmdhdGVTZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgICBzY2FsYWJsZURpbWVuc2lvbjogXCJlY3M6c2VydmljZTpEZXNpcmVkQ291bnRcIixcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lc3BhY2U6IFNlcnZpY2VOYW1lc3BhY2UuRUNTXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICB0YXJnZXRWYWx1ZTogNTAsXG4gICAgICAgIHNjYWxlT3V0Q29vbGRvd246IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBzY2FsZUluQ29vbGRvd246IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBwcmVkZWZpbmVkTWV0cmljOlxuICAgICAgICAgIHByb3BzLnNjYWxpbmdUeXBlID09IFNjYWxpbmdUeXBlLk1FTU9SWVxuICAgICAgICAgICAgPyBQcmVkZWZpbmVkTWV0cmljLkVDU19TRVJWSUNFX0FWRVJBR0VfTUVNT1JZX1VUSUxJWkFUSU9OXG4gICAgICAgICAgICA6IFByZWRlZmluZWRNZXRyaWMuRUNTX1NFUlZJQ0VfQVZFUkFHRV9DUFVfVVRJTElaQVRJT05cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVnaXN0ZXJMb2FkQmFsYW5jZXJUYXJnZXRzKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgdGhpcy5mYXJnYXRlU2VydmljZS5yZWdpc3RlckxvYWRCYWxhbmNlclRhcmdldHMoe1xuICAgICAgY29udGFpbmVyTmFtZTogdGhpcy5jb250YWluZXJEZWZpbml0aW9uLmNvbnRhaW5lck5hbWUsXG4gICAgICBjb250YWluZXJQb3J0OiB0aGlzLmNvbnRhaW5lckRlZmluaXRpb24uY29udGFpbmVyUG9ydCxcbiAgICAgIG5ld1RhcmdldEdyb3VwSWQ6IGAke3Byb3BzLnNlcnZpY2VOYW1lfVRhcmdldEdyb3VwYCxcbiAgICAgIGxpc3RlbmVyOiBMaXN0ZW5lckNvbmZpZy5hcHBsaWNhdGlvbkxpc3RlbmVyKHRoaXMubG9hZEJhbGFuY2VyTGlzdGVuZXIsIHtcbiAgICAgICAgcG9ydDogcHJvcHMuY29udGFpbmVyUG9ydCxcbiAgICAgICAgcHJvdG9jb2w6IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUCxcbiAgICAgICAgaGVhbHRoQ2hlY2s6IHtcbiAgICAgICAgICBpbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcygxMjApLFxuICAgICAgICAgIHBhdGg6IHByb3BzLmhlYWx0aENoZWNrUGF0aCB8fCBcIi9cIixcbiAgICAgICAgICBwb3J0OiBwcm9wcy5jb250YWluZXJQb3J0ID8gYCR7cHJvcHMuY29udGFpbmVyUG9ydH1gIDogXCJ0cmFmZmljLXBvcnRcIixcbiAgICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pO1xuICB9XG5cbiAgYWRkTG9hZEJhbGFuY2VyKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgdGhpcy5sb2FkQmFsYW5jZXIgPSBuZXcgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuY2x1c3Rlck5hbWV9TG9hZEJhbGFuY2VyYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLmNsdXN0ZXIudnBjLFxuICAgICAgICBpbnRlcm5ldEZhY2luZzogdHJ1ZSxcbiAgICAgICAgbG9hZEJhbGFuY2VyTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9TG9hZEJhbGFuY2VyYCxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMubG9hZEJhbGFuY2VyLCBwcm9wcy50YWdzKTtcbiAgfVxuXG4gIGFkZExvYWRCYWxhbmNlckxpc3RlbmVyKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgaWYgKCEhdGhpcy5jZXJ0aWZpY2F0ZSkge1xuICAgICAgdGhpcy5sb2FkQmFsYW5jZXJMaXN0ZW5lciA9IHRoaXMubG9hZEJhbGFuY2VyLmFkZExpc3RlbmVyKFxuICAgICAgICBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1MaXN0ZW5lcmAsXG4gICAgICAgIHtcbiAgICAgICAgICBwb3J0OiBwcm9wcy5wcm90b2NvbCA9PSBQcm90b2NvbC5IVFRQID8gODAgOiA0NDMsXG4gICAgICAgICAgY2VydGlmaWNhdGVzOiBbdGhpcy5jZXJ0aWZpY2F0ZV1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2FkQmFsYW5jZXJMaXN0ZW5lciA9IHRoaXMubG9hZEJhbGFuY2VyLmFkZExpc3RlbmVyKFxuICAgICAgICBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1MaXN0ZW5lcmAsXG4gICAgICAgIHtcbiAgICAgICAgICBwb3J0OiBwcm9wcy5wcm90b2NvbCA9PSBQcm90b2NvbC5IVFRQID8gODAgOiA0NDNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0YWdSZXNvdXJjZSh0aGlzLmxvYWRCYWxhbmNlckxpc3RlbmVyLCBwcm9wcy50YWdzKTtcbiAgfVxuXG4gIGFkZEhvc3RlZFpvbmUocHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHMpIHtcbiAgICBpZiAoIXByb3BzLnBhcmVudERvbWFpbikgcmV0dXJuO1xuXG4gICAgdGhpcy5ob3N0ZWRab25lID0gSG9zdGVkWm9uZS5mcm9tSG9zdGVkWm9uZUF0dHJpYnV0ZXModGhpcywgXCJob3N0ZWRab25lXCIsIHtcbiAgICAgIGhvc3RlZFpvbmVJZDogRm4uaW1wb3J0VmFsdWUoXG4gICAgICAgIGAke3Byb3BzLnBhcmVudERvbWFpbi5zcGxpdChcIi5cIikuam9pbihcIlwiKX1Ib3N0ZWRab25lSWRgXG4gICAgICApLFxuICAgICAgem9uZU5hbWU6IHByb3BzLnBhcmVudERvbWFpblxuICAgIH0pO1xuXG4gICAgdGhpcy5jZXJ0aWZpY2F0ZSA9IG5ldyBDZXJ0aWZpY2F0ZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1DZXJ0aWZpY2F0ZWAsXG4gICAgICB7XG4gICAgICAgIGRvbWFpbk5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfS4ke3Byb3BzLmNsdXN0ZXJOYW1lfS4ke3Byb3BzLnBhcmVudERvbWFpbn1gLFxuICAgICAgICB2YWxpZGF0aW9uOiBDZXJ0aWZpY2F0ZVZhbGlkYXRpb24uZnJvbURucyh0aGlzLmhvc3RlZFpvbmUpXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuYVJlY29yZCA9IG5ldyBBUmVjb3JkKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLnNlcnZpY2VOYW1lfS4ke3Byb3BzLmNsdXN0ZXJOYW1lfS4ke3Byb3BzLnBhcmVudERvbWFpbn1BUmVjb3JkYCxcbiAgICAgIHtcbiAgICAgICAgcmVjb3JkTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9LiR7cHJvcHMuY2x1c3Rlck5hbWV9LiR7cHJvcHMucGFyZW50RG9tYWlufWAsXG4gICAgICAgIHpvbmU6IHRoaXMuaG9zdGVkWm9uZSxcbiAgICAgICAgdGFyZ2V0OiBSZWNvcmRUYXJnZXQuZnJvbUFsaWFzKFxuICAgICAgICAgIG5ldyBMb2FkQmFsYW5jZXJUYXJnZXQodGhpcy5sb2FkQmFsYW5jZXIpXG4gICAgICAgIClcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgZ2V0SW1hZ2UocHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHMpOiBDb250YWluZXJJbWFnZSB7XG4gICAgaWYgKCFwcm9wcy5lY3JSZXBvc2l0b3J5KVxuICAgICAgcmV0dXJuIENvbnRhaW5lckltYWdlLmZyb21SZWdpc3RyeShcImFtYXpvbi9hbWF6b24tZWNzLXNhbXBsZVwiKTtcbiAgICBpZiAocHJvcHMuZWNyUmVwb3NpdG9yeSBpbnN0YW5jZW9mIENvbnRhaW5lckltYWdlKVxuICAgICAgcmV0dXJuIHByb3BzLmVjclJlcG9zaXRvcnk7XG4gICAgaWYgKHByb3BzLmVjclJlcG9zaXRvcnkgaW5zdGFuY2VvZiBSZXBvc2l0b3J5KSB7XG4gICAgICByZXR1cm4gQ29udGFpbmVySW1hZ2UuZnJvbUVjclJlcG9zaXRvcnkocHJvcHMuZWNyUmVwb3NpdG9yeSwgXCJsYXRlc3RcIik7XG4gICAgfVxuICAgIHJldHVybiBDb250YWluZXJJbWFnZS5mcm9tUmVnaXN0cnkoXCJhbWF6b24vYW1hem9uLWVjcy1zYW1wbGVcIik7XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wc1xuICApOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzID0ge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIHZwYzogKHNiLmdldE5ldHdvcmsoKSBhcyBJVnBjKSB8fCBwcm9wcy52cGNcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgbmV3UHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvY29tcHV0ZS9lY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBVTZCO0FBQzdCLGlEQU02QjtBQUM3QiwyQ0FBdUM7QUFFdkMsNkNBQXdEO0FBQ3hELHVGQUlnRDtBQUNoRCw0REFBcUQ7QUFDckQsaURBUTZCO0FBQzdCLHVGQUtnRDtBQUNoRCxpREFBMEQ7QUFDMUQsdUVBQXdEO0FBQ3hELCtFQUc0QztBQUM1Qyx5REFLaUM7QUFDakMseUVBQXFFO0FBQ3JFLGlEQUFpRDtBQUVqRCxzREFBbUQ7QUFFbkQsSUFBWSxRQUdYO0FBSEQsV0FBWSxRQUFRO0lBQ2xCLHVDQUFJLENBQUE7SUFDSix5Q0FBSyxDQUFBO0FBQ1AsQ0FBQyxFQUhXLFFBQVEsR0FBUixnQkFBUSxLQUFSLGdCQUFRLFFBR25CO0FBRUQsSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ3JCLHNEQUEwRCxDQUFBO0lBQzFELDREQUFnRSxDQUFBO0FBQ2xFLENBQUMsRUFIVyxXQUFXLEdBQVgsbUJBQVcsS0FBWCxtQkFBVyxRQUd0QjtBQWdDRCxNQUFxQixjQUFlLFNBQVEsc0JBQVM7SUFtQm5ELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBMEI7UUFDbEUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUxYLFlBQU8sR0FFWCxFQUFFLENBQUM7UUFLTCxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFNUIsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsMkJBQTJCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEMsaURBQWlEO1FBQ2pELElBQUksS0FBSyxDQUFDLGtCQUFrQixFQUFFO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FDckMsS0FBSyxDQUFDLGtCQUFrQixFQUN4QixjQUFJLENBQUMsUUFBUSxDQUNkLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBMEI7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGlCQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFO1lBQzFELEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztZQUM5QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLDhCQUE4QixFQUFFLElBQUk7U0FDckMsQ0FBQyxDQUFDO1FBQ0gsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBMEI7UUFDbkMsb0JBQW9CO1FBQ3BCLE1BQU0sZUFBZSxHQUFHLDJCQUFNLENBQUMsZ0JBQWdCLENBQzdDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxXQUFXLFFBQVEsRUFDNUIsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FDN0MsQ0FBQztRQUVGLEtBQUssTUFBTSxXQUFXLElBQUksS0FBSyxDQUFDLGdCQUFnQixFQUFFO1lBQ2hELElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEdBQUcsZ0JBQVMsQ0FBQyxrQkFBa0IsQ0FDdEQsZUFBZSxFQUNmLFdBQVcsQ0FDWixDQUFDO1NBQ0g7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBMEI7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLGNBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxlQUFlLEVBQUU7WUFDdkUsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsZUFBZTtZQUM3QyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxpQkFBaUI7WUFDbEQsZUFBZSxFQUFFO2dCQUNmO29CQUNFLGdCQUFnQixFQUNkLHVFQUF1RTtpQkFDMUU7YUFDRjtZQUNELGNBQWMsRUFBRTtnQkFDZCxDQUFDLGFBQWEsQ0FBQyxFQUFFLElBQUksd0JBQWMsQ0FBQztvQkFDbEMsVUFBVSxFQUFFO3dCQUNWLElBQUkseUJBQWUsQ0FBQzs0QkFDbEIsT0FBTyxFQUFFO2dDQUNQLCtCQUErQjtnQ0FDL0IsK0JBQStCOzZCQUNoQzs0QkFDRCxTQUFTLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxtQ0FBbUM7eUJBQ3JELENBQUM7cUJBQ0g7aUJBQ0YsQ0FBQztnQkFDRixDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSx3QkFBYyxDQUFDO29CQUNyQyxVQUFVLEVBQUU7d0JBQ1YsSUFBSSx5QkFBZSxDQUFDOzRCQUNsQixPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUM7NEJBQ3hCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGdDQUFnQzt5QkFDbEQsQ0FBQztxQkFDSDtpQkFDRixDQUFDO2dCQUNGLENBQUMsbUJBQW1CLENBQUMsRUFBRSxJQUFJLHdCQUFjLENBQUM7b0JBQ3hDLFVBQVUsRUFBRTt3QkFDVixJQUFJLHlCQUFlLENBQUM7NEJBQ2xCLE9BQU8sRUFBRTtnQ0FDUCxrQ0FBa0M7Z0NBQ2xDLCtCQUErQjtnQ0FDL0IsZ0NBQWdDO2dDQUNoQyw2QkFBNkI7NkJBQzlCOzRCQUNELE1BQU0sRUFBRSxnQkFBTSxDQUFDLEtBQUs7NEJBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQzt5QkFDakIsQ0FBQztxQkFDSDtpQkFDRixDQUFDO2FBQ0g7WUFDRCxTQUFTLEVBQUUsSUFBSSw0QkFBa0IsQ0FDL0IsSUFBSSwwQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUNoRDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxLQUEwQjtRQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksK0JBQXFCLENBQzdDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxXQUFXLGdCQUFnQixFQUNwQztZQUNFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxJQUFJLEdBQUc7WUFDckIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLGNBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxVQUFVLEVBQUU7Z0JBQ3ZELFFBQVEsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLFVBQVU7Z0JBQ3hDLFdBQVcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLFlBQVk7Z0JBQzdDLGNBQWMsRUFBRSxLQUFLLENBQUMsc0JBQXNCO2dCQUM1QyxlQUFlLEVBQUUsS0FBSyxDQUFDLHVCQUF1QjtnQkFDOUMsU0FBUyxFQUFFLElBQUksNEJBQWtCLENBQy9CLElBQUksMEJBQWdCLENBQUMseUJBQXlCLENBQUMsQ0FDaEQ7YUFDRixDQUFDO1lBQ0YsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjLElBQUksR0FBRztTQUM1QyxDQUNGLENBQUM7UUFDRixJQUFBLHFCQUFXLEVBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELHNCQUFzQixDQUFDLEtBQTBCO1FBQy9DLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FDekQsR0FBRyxLQUFLLENBQUMsV0FBVyxxQkFBcUIsRUFDekM7WUFDRSxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7WUFDM0IsYUFBYSxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQ2hDLFdBQVcsRUFBRTtnQkFDWCxHQUFHLEtBQUssQ0FBQyxvQkFBb0I7YUFDOUI7WUFDRCxPQUFPLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUMvQixPQUFPLEVBQUU7Z0JBQ1AsR0FBRyxJQUFJLENBQUMsT0FBTzthQUNoQjtZQUNELG9DQUFvQztZQUNwQyxpQkFBaUI7WUFDakIsZUFBZTtZQUNmLG1CQUFtQjtZQUNuQix3RkFBd0Y7WUFDeEYsTUFBTTtZQUNOLEtBQUs7WUFDTCxPQUFPLEVBQUUsSUFBSSxzQkFBWSxDQUFDO2dCQUN4QixZQUFZLEVBQUUsUUFBUSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7Z0JBQzlELFlBQVksRUFBRSxFQUFFO2FBQ2pCLENBQUM7WUFDRixZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWE7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLENBQUM7U0FDNUIsQ0FDRixDQUFDO1FBQ0YsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQTBCO1FBQzFDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSx3QkFBYyxDQUN0QyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsV0FBVyxnQkFBZ0IsRUFDcEM7WUFDRSxjQUFjLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO1lBQ2xDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixZQUFZLEVBQUUsQ0FBQztZQUNmLG9CQUFvQixFQUFFLElBQUk7WUFDMUIsb0JBQW9CLEVBQUUsSUFBSTtZQUMxQixhQUFhLEVBQUUsNkJBQW1CLENBQUMsT0FBTztZQUMxQyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFO1lBQ25DLGNBQWMsRUFBRSxJQUFJLENBQUMsY0FBYztTQUNwQyxDQUNGLENBQUM7UUFDRixJQUFBLHFCQUFXLEVBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQTBCO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSx3REFBMkIsQ0FDbEQsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFdBQVcsZUFBZSxFQUNuQztZQUNFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLGVBQWU7WUFDL0MsYUFBYSxFQUFFLElBQUksMkNBQWMsQ0FDL0IsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFdBQVcsZ0JBQWdCLEVBQ3BDO2dCQUNFLFdBQVcsRUFBRSxFQUFFO2dCQUNmLFdBQVcsRUFBRSxDQUFDO2dCQUNkLFVBQVUsRUFBRSxXQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxFQUFFO2dCQUNwRixpQkFBaUIsRUFBRSwwQkFBMEI7Z0JBQzdDLGdCQUFnQixFQUFFLDZDQUFnQixDQUFDLEdBQUc7YUFDdkMsQ0FDRjtZQUNELFdBQVcsRUFBRSxFQUFFO1lBQ2YsZ0JBQWdCLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3RDLGVBQWUsRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDckMsZ0JBQWdCLEVBQ2QsS0FBSyxDQUFDLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTTtnQkFDckMsQ0FBQyxDQUFDLDZDQUFnQixDQUFDLHNDQUFzQztnQkFDekQsQ0FBQyxDQUFDLDZDQUFnQixDQUFDLG1DQUFtQztTQUMzRCxDQUNGLENBQUM7SUFDSixDQUFDO0lBRUQsMkJBQTJCLENBQUMsS0FBMEI7UUFDcEQsSUFBSSxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQztZQUM5QyxhQUFhLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWE7WUFDckQsYUFBYSxFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxhQUFhO1lBQ3JELGdCQUFnQixFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsYUFBYTtZQUNuRCxRQUFRLEVBQUUsd0JBQWMsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQ3RFLElBQUksRUFBRSxLQUFLLENBQUMsYUFBYTtnQkFDekIsUUFBUSxFQUFFLGdEQUFtQixDQUFDLElBQUk7Z0JBQ2xDLFdBQVcsRUFBRTtvQkFDWCxRQUFRLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO29CQUMvQixJQUFJLEVBQUUsS0FBSyxDQUFDLGVBQWUsSUFBSSxHQUFHO29CQUNsQyxJQUFJLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWM7b0JBQ3JFLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7aUJBQzlCO2FBQ0YsQ0FBQztTQUNILENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBMEI7UUFDeEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLG9EQUF1QixDQUM3QyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsV0FBVyxjQUFjLEVBQ2xDO1lBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRztZQUNyQixjQUFjLEVBQUUsSUFBSTtZQUNwQixnQkFBZ0IsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLGNBQWM7WUFDcEQsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxvQkFBVSxDQUFDLE1BQU07YUFDOUI7U0FDRixDQUNGLENBQUM7UUFDRixJQUFBLHFCQUFXLEVBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFM0MsSUFBSSxxQkFBUyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLHFCQUFxQixFQUFFO1lBQzdELEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLHFCQUFxQjtZQUM5QyxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxxQkFBcUI7WUFDckQsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CO1NBQzdDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxLQUEwQjtRQUNoRCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3RCLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FDdkQsR0FBRyxLQUFLLENBQUMsV0FBVyxVQUFVLEVBQzlCO2dCQUNFLElBQUksRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRztnQkFDaEQsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUNqQyxDQUNGLENBQUM7U0FDSDthQUFNO1lBQ0wsSUFBSSxDQUFDLG9CQUFvQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUN2RCxHQUFHLEtBQUssQ0FBQyxXQUFXLFVBQVUsRUFDOUI7Z0JBQ0UsSUFBSSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHO2FBQ2pELENBQ0YsQ0FBQztTQUNIO1FBRUQsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUEwQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVk7WUFBRSxPQUFPO1FBRWhDLElBQUksQ0FBQyxVQUFVLEdBQUcsd0JBQVUsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFO1lBQ3hFLFlBQVksRUFBRSxnQkFBRSxDQUFDLFdBQVcsQ0FDMUIsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FDeEQ7WUFDRCxRQUFRLEVBQUUsS0FBSyxDQUFDLFlBQVk7U0FDN0IsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLG9DQUFXLENBQ2hDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxXQUFXLGFBQWEsRUFDakM7WUFDRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtZQUM3RSxVQUFVLEVBQUUsOENBQXFCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDM0QsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLHFCQUFPLENBQ3hCLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxXQUFXLElBQUksS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsWUFBWSxTQUFTLEVBQ3hFO1lBQ0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFdBQVcsSUFBSSxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxZQUFZLEVBQUU7WUFDN0UsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQ3JCLE1BQU0sRUFBRSwwQkFBWSxDQUFDLFNBQVMsQ0FDNUIsSUFBSSx3Q0FBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQzFDO1NBQ0YsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUEwQjtRQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7WUFDdEIsT0FBTyx3QkFBYyxDQUFDLFlBQVksQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1FBQ2pFLElBQUksS0FBSyxDQUFDLGFBQWEsWUFBWSx3QkFBYztZQUMvQyxPQUFPLEtBQUssQ0FBQyxhQUFhLENBQUM7UUFDN0IsSUFBSSxLQUFLLENBQUMsYUFBYSxZQUFZLG9CQUFVLEVBQUU7WUFDN0MsT0FBTyx3QkFBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDeEU7UUFDRCxPQUFPLHdCQUFjLENBQUMsWUFBWSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQ1YsRUFBVSxFQUNWLEtBQTBCO1FBRTFCLE9BQU8sQ0FBQyxFQUFnQixFQUFFLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQXdCO2dCQUNwQyxHQUFHLEtBQUs7Z0JBQ1IsR0FBRztvQkFDRCxHQUFHLEVBQUcsRUFBRSxDQUFDLFVBQVUsRUFBVyxJQUFJLEtBQUssQ0FBQyxHQUFHO2lCQUM1QzthQUNGLENBQUM7WUFDRixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBblZELGlDQW1WQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEF3c0xvZ0RyaXZlcixcbiAgQ2x1c3RlciBhcyBDZGtDbHVzdGVyLFxuICBDb250YWluZXJJbWFnZSxcbiAgRmFyZ2F0ZVNlcnZpY2UsXG4gIEZhcmdhdGVUYXNrRGVmaW5pdGlvbixcbiAgTGlzdGVuZXJDb25maWcsXG4gIFByb3BhZ2F0ZWRUYWdTb3VyY2UsXG4gIFJlcG9zaXRvcnlJbWFnZSxcbiAgQ29udGFpbmVyRGVmaW5pdGlvblxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjc1wiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSVZwYyxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9hd3NTdGFja1wiO1xuaW1wb3J0IHsgRHVyYXRpb24sIEZuLCBTZWNyZXRWYWx1ZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQXBwbGljYXRpb25MaXN0ZW5lcixcbiAgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIsXG4gIEFwcGxpY2F0aW9uUHJvdG9jb2xcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgdGFnUmVzb3VyY2UgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RhZ1Jlc291cmNlXCI7XG5pbXBvcnQge1xuICBDb21wb3NpdGVQcmluY2lwYWwsXG4gIEVmZmVjdCxcbiAgSU1hbmFnZWRQb2xpY3ksXG4gIFBvbGljeURvY3VtZW50LFxuICBQb2xpY3lTdGF0ZW1lbnQsXG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWxcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1pYW1cIjtcbmltcG9ydCB7XG4gIFByZWRlZmluZWRNZXRyaWMsXG4gIFNjYWxhYmxlVGFyZ2V0LFxuICBTZXJ2aWNlTmFtZXNwYWNlLFxuICBUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3lcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcHBsaWNhdGlvbmF1dG9zY2FsaW5nXCI7XG5pbXBvcnQgeyBTZWNyZXQgYXMgRWNzU2VjcmV0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3NcIjtcbmltcG9ydCB7IFNlY3JldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7XG4gIENlcnRpZmljYXRlLFxuICBDZXJ0aWZpY2F0ZVZhbGlkYXRpb25cbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1jZXJ0aWZpY2F0ZW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIEFSZWNvcmQsXG4gIEhvc3RlZFpvbmUsXG4gIFJlY29yZFRhcmdldCxcbiAgSUhvc3RlZFpvbmVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yb3V0ZTUzXCI7XG5pbXBvcnQgeyBMb2FkQmFsYW5jZXJUYXJnZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJvdXRlNTMtdGFyZ2V0c1wiO1xuaW1wb3J0IHsgUmVwb3NpdG9yeSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNyXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgQ2ZuT3V0cHV0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9jZm5PdXRwdXRcIjtcblxuZXhwb3J0IGVudW0gUHJvdG9jb2wge1xuICBIVFRQLFxuICBIVFRQU1xufVxuXG5leHBvcnQgZW51bSBTY2FsaW5nVHlwZSB7XG4gIENQVSA9IFByZWRlZmluZWRNZXRyaWMuRUNTX1NFUlZJQ0VfQVZFUkFHRV9DUFVfVVRJTElaQVRJT04sXG4gIE1FTU9SWSA9IFByZWRlZmluZWRNZXRyaWMuRUNTX1NFUlZJQ0VfQVZFUkFHRV9NRU1PUllfVVRJTElaQVRJT05cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb250YWluZXJTZWNyZXQge1xuICBba2V5OiBzdHJpbmddOiBTZWNyZXRWYWx1ZTtcbn1cblxudHlwZSBGYXJnYXRlQ2x1c3RlclByb3BzID0ge1xuICBlY3JSZXBvc2l0b3J5OiBSZXBvc2l0b3J5IHwgUmVwb3NpdG9yeUltYWdlO1xuICBjbHVzdGVyTmFtZTogc3RyaW5nO1xuICBjb250YWluZXJDb21tYW5kPzogc3RyaW5nW107XG4gIGNvbnRhaW5lckVudmlyb25tZW50PzogS2V5VmFsdWU7XG4gIGNvbnRhaW5lclNlY3JldHM/OiBDb250YWluZXJTZWNyZXQ7XG4gIGNvbnRhaW5lclBvcnQ/OiBudW1iZXI7XG4gIGNwdT86IG51bWJlcjtcbiAgZGF0YWJhc2VDb25uZWN0aW9uOiBJQ29ubmVjdGFibGU7XG4gIHBhcmVudERvbWFpbj86IHN0cmluZzsgLy8gVE9ETzogQnJlYWsgb3V0IGEgSFRUUCBhbmQgSFRUUFMgc2VydmljZSB3aGVyZSB0aGlzIGlzIG9wdGlvbmFsXG4gIGRlc2lyZWRDb3VudD86IG51bWJlcjtcbiAgaGVhbHRoQ2hlY2tQYXRoPzogc3RyaW5nO1xuICBsaXN0ZW5lclBvcnQ/OiBudW1iZXI7XG4gIG1lbW9yeUxpbWl0TWlCPzogbnVtYmVyO1xuICBwdWJsaWNMb2FkQmFsYW5jZXI/OiBib29sZWFuO1xuICBwcm90b2NvbDogUHJvdG9jb2w7XG4gIHNjYWxpbmdUeXBlPzogU2NhbGluZ1R5cGU7XG4gIHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHRhZ3M6IEtleVZhbHVlO1xuICB0YXNrUm9sZUlubGluZVBvbGljaWVzPzoge1xuICAgIFtuYW1lOiBzdHJpbmddOiBQb2xpY3lEb2N1bWVudDtcbiAgfTtcbiAgdGFza1JvbGVNYW5hZ2VkUG9saWNpZXM/OiBJTWFuYWdlZFBvbGljeVtdO1xuICB2cGM/OiBJVnBjO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmFyZ2F0ZUNsdXN0ZXIgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuXG4gIHByaXZhdGUgY2x1c3RlcjogQ2RrQ2x1c3RlcjtcbiAgcHJpdmF0ZSBsb2FkQmFsYW5jZXI6IEFwcGxpY2F0aW9uTG9hZEJhbGFuY2VyO1xuICBwcml2YXRlIGV4ZWN1dGlvblJvbGU6IFJvbGU7XG4gIHByaXZhdGUgdGFza0RlZmluaXRpb246IEZhcmdhdGVUYXNrRGVmaW5pdGlvbjtcbiAgcHJpdmF0ZSBjb250YWluZXJEZWZpbml0aW9uOiBDb250YWluZXJEZWZpbml0aW9uO1xuICBwcml2YXRlIGZhcmdhdGVTZXJ2aWNlOiBGYXJnYXRlU2VydmljZTtcbiAgcHJpdmF0ZSBzY2FsaW5nUG9saWN5OiBUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3k7XG4gIHByaXZhdGUgaG9zdGVkWm9uZTogSUhvc3RlZFpvbmU7XG4gIHByaXZhdGUgY2VydGlmaWNhdGU6IENlcnRpZmljYXRlO1xuICBwcml2YXRlIGFSZWNvcmQ6IEFSZWNvcmQ7XG4gIHByaXZhdGUgbG9hZEJhbGFuY2VyTGlzdGVuZXI6IEFwcGxpY2F0aW9uTGlzdGVuZXI7XG5cbiAgcHJpdmF0ZSBzZWNyZXRzOiB7XG4gICAgW2tleTogc3RyaW5nXTogRWNzU2VjcmV0O1xuICB9ID0ge307XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5hZGRDbHVzdGVyKHByb3BzKTtcbiAgICB0aGlzLmFkZFNlY3JldHMocHJvcHMpO1xuICAgIHRoaXMuYWRkRXhlY3V0aW9uUm9sZShwcm9wcyk7XG4gICAgdGhpcy5hZGRUYXNrRGVmaW5pdGlvbihwcm9wcyk7XG4gICAgdGhpcy5hZGRDb250YWluZXJEZWZpbml0aW9uKHByb3BzKTtcbiAgICB0aGlzLmFkZEZhcmdhdGVTZXJ2aWNlKHByb3BzKTtcbiAgICB0aGlzLmFkZExvYWRCYWxhbmNlcihwcm9wcyk7XG5cbiAgICBpZiAoISFwcm9wcy5wYXJlbnREb21haW4pIHRoaXMuYWRkSG9zdGVkWm9uZShwcm9wcyk7XG5cbiAgICB0aGlzLmFkZExvYWRCYWxhbmNlckxpc3RlbmVyKHByb3BzKTtcbiAgICB0aGlzLnJlZ2lzdGVyTG9hZEJhbGFuY2VyVGFyZ2V0cyhwcm9wcyk7XG5cbiAgICAvL3RvZG86IGZpeCBjb25uZWN0aW9ucyBub3Qgd29ya2luZyBhdXRvbWF0aWNhbGx5XG4gICAgaWYgKHByb3BzLmRhdGFiYXNlQ29ubmVjdGlvbikge1xuICAgICAgdGhpcy5mYXJnYXRlU2VydmljZS5jb25uZWN0aW9ucy5hbGxvd1RvKFxuICAgICAgICBwcm9wcy5kYXRhYmFzZUNvbm5lY3Rpb24sXG4gICAgICAgIFBvcnQuUE9TVEdSRVNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYWRkQ2x1c3Rlcihwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuY2x1c3RlciA9IG5ldyBDZGtDbHVzdGVyKHRoaXMsIGAke3Byb3BzLmNsdXN0ZXJOYW1lfWAsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgY2x1c3Rlck5hbWU6IHByb3BzLmNsdXN0ZXJOYW1lLFxuICAgICAgY29udGFpbmVySW5zaWdodHM6IHRydWUsXG4gICAgICBlbmFibGVGYXJnYXRlQ2FwYWNpdHlQcm92aWRlcnM6IHRydWVcbiAgICB9KTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmNsdXN0ZXIsIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkU2VjcmV0cyhwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIC8vIENvbnRhaW5lciBTZWNyZXRzXG4gICAgY29uc3QgY29udGFpbmVyU2VjcmV0ID0gU2VjcmV0LmZyb21TZWNyZXROYW1lVjIoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuY2x1c3Rlck5hbWV9U2VjcmV0YCxcbiAgICAgIGAvJHtwcm9wcy5jbHVzdGVyTmFtZX0vJHtwcm9wcy5zZXJ2aWNlTmFtZX1gXG4gICAgKTtcblxuICAgIGZvciAoY29uc3Qgc2VjcmV0RmllbGQgaW4gcHJvcHMuY29udGFpbmVyU2VjcmV0cykge1xuICAgICAgdGhpcy5zZWNyZXRzW3NlY3JldEZpZWxkXSA9IEVjc1NlY3JldC5mcm9tU2VjcmV0c01hbmFnZXIoXG4gICAgICAgIGNvbnRhaW5lclNlY3JldCxcbiAgICAgICAgc2VjcmV0RmllbGRcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgYWRkRXhlY3V0aW9uUm9sZShwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuZXhlY3V0aW9uUm9sZSA9IG5ldyBSb2xlKHRoaXMsIGAke3Byb3BzLnNlcnZpY2VOYW1lfUV4ZWN1dGlvblJvbGVgLCB7XG4gICAgICByb2xlTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9RXhlY3V0aW9uUm9sZWAsXG4gICAgICBkZXNjcmlwdGlvbjogYCR7cHJvcHMuc2VydmljZU5hbWV9IEV4ZWN1dGlvbiBSb2xlYCxcbiAgICAgIG1hbmFnZWRQb2xpY2llczogW1xuICAgICAgICB7XG4gICAgICAgICAgbWFuYWdlZFBvbGljeUFybjpcbiAgICAgICAgICAgIFwiYXJuOmF3czppYW06OmF3czpwb2xpY3kvc2VydmljZS1yb2xlL0FtYXpvbkVDU1Rhc2tFeGVjdXRpb25Sb2xlUG9saWN5XCJcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIGlubGluZVBvbGljaWVzOiB7XG4gICAgICAgIFtcInJlYWRTZWNyZXRzXCJdOiBuZXcgUG9saWN5RG9jdW1lbnQoe1xuICAgICAgICAgIHN0YXRlbWVudHM6IFtcbiAgICAgICAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAgXCJzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZVwiLFxuICAgICAgICAgICAgICAgIFwic2VjcmV0c21hbmFnZXI6RGVzY3JpYmVTZWNyZXRcIlxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0gLy8gVE9ETzogU2V0IHRoaXMgdG8gdGhlIHNlY3JldCBBUk5cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KSxcbiAgICAgICAgW1wiZGVjcnlwdFNlY3JldHNcIl06IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcImttczpEZWNyeXB0XCJdLFxuICAgICAgICAgICAgICByZXNvdXJjZXM6IFtcIipcIl0gLy8gVE9ETzogU2V0IHRoaXMgdG8gdGhlIEtNUyBBcm5cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgXVxuICAgICAgICB9KSxcbiAgICAgICAgW1wiZWNzRXhlY3V0ZUNvbW1hbmRcIl06IG5ldyBQb2xpY3lEb2N1bWVudCh7XG4gICAgICAgICAgc3RhdGVtZW50czogW1xuICAgICAgICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICBcInNzbW1lc3NhZ2VzOkNyZWF0ZUNvbnRyb2xDaGFubmVsXCIsXG4gICAgICAgICAgICAgICAgXCJzc21tZXNzYWdlczpDcmVhdGVEYXRhQ2hhbm5lbFwiLFxuICAgICAgICAgICAgICAgIFwic3NtbWVzc2FnZXM6T3BlbkNvbnRyb2xDaGFubmVsXCIsXG4gICAgICAgICAgICAgICAgXCJzc21tZXNzYWdlczpPcGVuRGF0YUNoYW5uZWxcIlxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBlZmZlY3Q6IEVmZmVjdC5BTExPVyxcbiAgICAgICAgICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIF1cbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBhc3N1bWVkQnk6IG5ldyBDb21wb3NpdGVQcmluY2lwYWwoXG4gICAgICAgIG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFwiZWNzLXRhc2tzLmFtYXpvbmF3cy5jb21cIilcbiAgICAgIClcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFRhc2tEZWZpbml0aW9uKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgdGhpcy50YXNrRGVmaW5pdGlvbiA9IG5ldyBGYXJnYXRlVGFza0RlZmluaXRpb24oXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9VGFza0RlZmluaXRpb25gLFxuICAgICAge1xuICAgICAgICBjcHU6IHByb3BzLmNwdSB8fCAyNTYsXG4gICAgICAgIGV4ZWN1dGlvblJvbGU6IHRoaXMuZXhlY3V0aW9uUm9sZSxcbiAgICAgICAgdGFza1JvbGU6IG5ldyBSb2xlKHRoaXMsIGAke3Byb3BzLnNlcnZpY2VOYW1lfVRhc2tSb2xlYCwge1xuICAgICAgICAgIHJvbGVOYW1lOiBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1UYXNrUm9sZWAsXG4gICAgICAgICAgZGVzY3JpcHRpb246IGAke3Byb3BzLnNlcnZpY2VOYW1lfSBUYXNrIFJvbGVgLFxuICAgICAgICAgIGlubGluZVBvbGljaWVzOiBwcm9wcy50YXNrUm9sZUlubGluZVBvbGljaWVzLFxuICAgICAgICAgIG1hbmFnZWRQb2xpY2llczogcHJvcHMudGFza1JvbGVNYW5hZ2VkUG9saWNpZXMsXG4gICAgICAgICAgYXNzdW1lZEJ5OiBuZXcgQ29tcG9zaXRlUHJpbmNpcGFsKFxuICAgICAgICAgICAgbmV3IFNlcnZpY2VQcmluY2lwYWwoXCJlY3MtdGFza3MuYW1hem9uYXdzLmNvbVwiKVxuICAgICAgICAgIClcbiAgICAgICAgfSksXG4gICAgICAgIG1lbW9yeUxpbWl0TWlCOiBwcm9wcy5tZW1vcnlMaW1pdE1pQiB8fCA1MTJcbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMudGFza0RlZmluaXRpb24sIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkQ29udGFpbmVyRGVmaW5pdGlvbihwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuY29udGFpbmVyRGVmaW5pdGlvbiA9IHRoaXMudGFza0RlZmluaXRpb24uYWRkQ29udGFpbmVyKFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9Q29udGFpbmVyRGVmaW5pdGlvbmAsXG4gICAgICB7XG4gICAgICAgIGltYWdlOiB0aGlzLmdldEltYWdlKHByb3BzKSxcbiAgICAgICAgY29udGFpbmVyTmFtZTogcHJvcHMuc2VydmljZU5hbWUsXG4gICAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgICAgLi4ucHJvcHMuY29udGFpbmVyRW52aXJvbm1lbnRcbiAgICAgICAgfSxcbiAgICAgICAgY29tbWFuZDogcHJvcHMuY29udGFpbmVyQ29tbWFuZCxcbiAgICAgICAgc2VjcmV0czoge1xuICAgICAgICAgIC4uLnRoaXMuc2VjcmV0c1xuICAgICAgICB9LFxuICAgICAgICAvL3RvZG86IHByb3ZpZGUgaGVhbHRoIGNoZWNrIG9wdGlvbnNcbiAgICAgICAgLy8gaGVhbHRoQ2hlY2s6IHtcbiAgICAgICAgLy8gICBjb21tYW5kOiBbXG4gICAgICAgIC8vICAgICBcIkNNRC1TSEVMTFwiLFxuICAgICAgICAvLyAgICAgYHRpbWVvdXQgMTBzIC9iaW4vc2ggLWMgJzo+IC9kZXYvdGNwLzEyNy4wLjAuMS8ke3Byb3BzLmNvbnRhaW5lclBvcnR9JyB8fCBleGl0IDFgXG4gICAgICAgIC8vICAgXVxuICAgICAgICAvLyB9LFxuICAgICAgICBsb2dnaW5nOiBuZXcgQXdzTG9nRHJpdmVyKHtcbiAgICAgICAgICBzdHJlYW1QcmVmaXg6IGAvZWNzLyR7cHJvcHMuY2x1c3Rlck5hbWV9LyR7cHJvcHMuc2VydmljZU5hbWV9YCxcbiAgICAgICAgICBsb2dSZXRlbnRpb246IDE0XG4gICAgICAgIH0pLFxuICAgICAgICBwb3J0TWFwcGluZ3M6IHByb3BzLmNvbnRhaW5lclBvcnRcbiAgICAgICAgICA/IFt7IGNvbnRhaW5lclBvcnQ6IHByb3BzLmNvbnRhaW5lclBvcnQgfV1cbiAgICAgICAgICA6IFt7IGNvbnRhaW5lclBvcnQ6IDgwIH1dXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmNvbnRhaW5lckRlZmluaXRpb24sIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkRmFyZ2F0ZVNlcnZpY2UocHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHMpIHtcbiAgICB0aGlzLmZhcmdhdGVTZXJ2aWNlID0gbmV3IEZhcmdhdGVTZXJ2aWNlKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLnNlcnZpY2VOYW1lfUZhcmdhdGVTZXJ2aWNlYCxcbiAgICAgIHtcbiAgICAgICAgY2lyY3VpdEJyZWFrZXI6IHsgcm9sbGJhY2s6IHRydWUgfSxcbiAgICAgICAgY2x1c3RlcjogdGhpcy5jbHVzdGVyLFxuICAgICAgICBkZXNpcmVkQ291bnQ6IDIsXG4gICAgICAgIGVuYWJsZUVDU01hbmFnZWRUYWdzOiB0cnVlLFxuICAgICAgICBlbmFibGVFeGVjdXRlQ29tbWFuZDogdHJ1ZSxcbiAgICAgICAgcHJvcGFnYXRlVGFnczogUHJvcGFnYXRlZFRhZ1NvdXJjZS5TRVJWSUNFLFxuICAgICAgICBzZXJ2aWNlTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9YCxcbiAgICAgICAgdGFza0RlZmluaXRpb246IHRoaXMudGFza0RlZmluaXRpb25cbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuZmFyZ2F0ZVNlcnZpY2UsIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgYWRkU2NhbGluZ1BvbGljeShwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIHRoaXMuc2NhbGluZ1BvbGljeSA9IG5ldyBUYXJnZXRUcmFja2luZ1NjYWxpbmdQb2xpY3koXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9U2NhbGluZ1BvbGljeWAsXG4gICAgICB7XG4gICAgICAgIHBvbGljeU5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfVNjYWxpbmdQb2xpY3lgLFxuICAgICAgICBzY2FsaW5nVGFyZ2V0OiBuZXcgU2NhbGFibGVUYXJnZXQoXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgICBgJHtwcm9wcy5zZXJ2aWNlTmFtZX1zY2FsYWJsZVRhcmdldGAsXG4gICAgICAgICAge1xuICAgICAgICAgICAgbWF4Q2FwYWNpdHk6IDEwLFxuICAgICAgICAgICAgbWluQ2FwYWNpdHk6IDIsXG4gICAgICAgICAgICByZXNvdXJjZUlkOiBgc2VydmljZS8ke3RoaXMuY2x1c3Rlci5jbHVzdGVyTmFtZX0vJHt0aGlzLmZhcmdhdGVTZXJ2aWNlLnNlcnZpY2VOYW1lfWAsXG4gICAgICAgICAgICBzY2FsYWJsZURpbWVuc2lvbjogXCJlY3M6c2VydmljZTpEZXNpcmVkQ291bnRcIixcbiAgICAgICAgICAgIHNlcnZpY2VOYW1lc3BhY2U6IFNlcnZpY2VOYW1lc3BhY2UuRUNTXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICB0YXJnZXRWYWx1ZTogNTAsXG4gICAgICAgIHNjYWxlT3V0Q29vbGRvd246IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBzY2FsZUluQ29vbGRvd246IER1cmF0aW9uLnNlY29uZHMoNjApLFxuICAgICAgICBwcmVkZWZpbmVkTWV0cmljOlxuICAgICAgICAgIHByb3BzLnNjYWxpbmdUeXBlID09IFNjYWxpbmdUeXBlLk1FTU9SWVxuICAgICAgICAgICAgPyBQcmVkZWZpbmVkTWV0cmljLkVDU19TRVJWSUNFX0FWRVJBR0VfTUVNT1JZX1VUSUxJWkFUSU9OXG4gICAgICAgICAgICA6IFByZWRlZmluZWRNZXRyaWMuRUNTX1NFUlZJQ0VfQVZFUkFHRV9DUFVfVVRJTElaQVRJT05cbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcmVnaXN0ZXJMb2FkQmFsYW5jZXJUYXJnZXRzKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgdGhpcy5mYXJnYXRlU2VydmljZS5yZWdpc3RlckxvYWRCYWxhbmNlclRhcmdldHMoe1xuICAgICAgY29udGFpbmVyTmFtZTogdGhpcy5jb250YWluZXJEZWZpbml0aW9uLmNvbnRhaW5lck5hbWUsXG4gICAgICBjb250YWluZXJQb3J0OiB0aGlzLmNvbnRhaW5lckRlZmluaXRpb24uY29udGFpbmVyUG9ydCxcbiAgICAgIG5ld1RhcmdldEdyb3VwSWQ6IGAke3Byb3BzLnNlcnZpY2VOYW1lfVRhcmdldEdyb3VwYCxcbiAgICAgIGxpc3RlbmVyOiBMaXN0ZW5lckNvbmZpZy5hcHBsaWNhdGlvbkxpc3RlbmVyKHRoaXMubG9hZEJhbGFuY2VyTGlzdGVuZXIsIHtcbiAgICAgICAgcG9ydDogcHJvcHMuY29udGFpbmVyUG9ydCxcbiAgICAgICAgcHJvdG9jb2w6IEFwcGxpY2F0aW9uUHJvdG9jb2wuSFRUUCxcbiAgICAgICAgaGVhbHRoQ2hlY2s6IHtcbiAgICAgICAgICBpbnRlcnZhbDogRHVyYXRpb24uc2Vjb25kcygxMjApLFxuICAgICAgICAgIHBhdGg6IHByb3BzLmhlYWx0aENoZWNrUGF0aCB8fCBcIi9cIixcbiAgICAgICAgICBwb3J0OiBwcm9wcy5jb250YWluZXJQb3J0ID8gYCR7cHJvcHMuY29udGFpbmVyUG9ydH1gIDogXCJ0cmFmZmljLXBvcnRcIixcbiAgICAgICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDEwKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pO1xuICB9XG5cbiAgYWRkTG9hZEJhbGFuY2VyKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgdGhpcy5sb2FkQmFsYW5jZXIgPSBuZXcgQXBwbGljYXRpb25Mb2FkQmFsYW5jZXIoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuY2x1c3Rlck5hbWV9TG9hZEJhbGFuY2VyYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLmNsdXN0ZXIudnBjLFxuICAgICAgICBpbnRlcm5ldEZhY2luZzogdHJ1ZSxcbiAgICAgICAgbG9hZEJhbGFuY2VyTmFtZTogYCR7cHJvcHMuc2VydmljZU5hbWV9TG9hZEJhbGFuY2VyYCxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMubG9hZEJhbGFuY2VyLCBwcm9wcy50YWdzKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMuY2x1c3Rlck5hbWV9TG9hZEJhbGFuY2VyRG5zTmFtZWAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuY2x1c3Rlck5hbWV9TG9hZEJhbGFuY2VyRG5zTmFtZWAsXG4gICAgICBleHBvcnROYW1lOiBgJHtwcm9wcy5jbHVzdGVyTmFtZX1Mb2FkQmFsYW5jZXJEbnNOYW1lYCxcbiAgICAgIHZhbHVlOiB0aGlzLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJEbnNOYW1lXG4gICAgfSk7XG4gIH1cblxuICBhZGRMb2FkQmFsYW5jZXJMaXN0ZW5lcihwcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcykge1xuICAgIGlmICghIXRoaXMuY2VydGlmaWNhdGUpIHtcbiAgICAgIHRoaXMubG9hZEJhbGFuY2VyTGlzdGVuZXIgPSB0aGlzLmxvYWRCYWxhbmNlci5hZGRMaXN0ZW5lcihcbiAgICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9TGlzdGVuZXJgLFxuICAgICAgICB7XG4gICAgICAgICAgcG9ydDogcHJvcHMucHJvdG9jb2wgPT0gUHJvdG9jb2wuSFRUUCA/IDgwIDogNDQzLFxuICAgICAgICAgIGNlcnRpZmljYXRlczogW3RoaXMuY2VydGlmaWNhdGVdXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9hZEJhbGFuY2VyTGlzdGVuZXIgPSB0aGlzLmxvYWRCYWxhbmNlci5hZGRMaXN0ZW5lcihcbiAgICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9TGlzdGVuZXJgLFxuICAgICAgICB7XG4gICAgICAgICAgcG9ydDogcHJvcHMucHJvdG9jb2wgPT0gUHJvdG9jb2wuSFRUUCA/IDgwIDogNDQzXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGFnUmVzb3VyY2UodGhpcy5sb2FkQmFsYW5jZXJMaXN0ZW5lciwgcHJvcHMudGFncyk7XG4gIH1cblxuICBhZGRIb3N0ZWRab25lKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKSB7XG4gICAgaWYgKCFwcm9wcy5wYXJlbnREb21haW4pIHJldHVybjtcblxuICAgIHRoaXMuaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUhvc3RlZFpvbmVBdHRyaWJ1dGVzKHRoaXMsIFwiaG9zdGVkWm9uZVwiLCB7XG4gICAgICBob3N0ZWRab25lSWQ6IEZuLmltcG9ydFZhbHVlKFxuICAgICAgICBgJHtwcm9wcy5wYXJlbnREb21haW4uc3BsaXQoXCIuXCIpLmpvaW4oXCJcIil9SG9zdGVkWm9uZUlkYFxuICAgICAgKSxcbiAgICAgIHpvbmVOYW1lOiBwcm9wcy5wYXJlbnREb21haW5cbiAgICB9KTtcblxuICAgIHRoaXMuY2VydGlmaWNhdGUgPSBuZXcgQ2VydGlmaWNhdGUoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuc2VydmljZU5hbWV9Q2VydGlmaWNhdGVgLFxuICAgICAge1xuICAgICAgICBkb21haW5OYW1lOiBgJHtwcm9wcy5zZXJ2aWNlTmFtZX0uJHtwcm9wcy5jbHVzdGVyTmFtZX0uJHtwcm9wcy5wYXJlbnREb21haW59YCxcbiAgICAgICAgdmFsaWRhdGlvbjogQ2VydGlmaWNhdGVWYWxpZGF0aW9uLmZyb21EbnModGhpcy5ob3N0ZWRab25lKVxuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmFSZWNvcmQgPSBuZXcgQVJlY29yZChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5zZXJ2aWNlTmFtZX0uJHtwcm9wcy5jbHVzdGVyTmFtZX0uJHtwcm9wcy5wYXJlbnREb21haW59QVJlY29yZGAsXG4gICAgICB7XG4gICAgICAgIHJlY29yZE5hbWU6IGAke3Byb3BzLnNlcnZpY2VOYW1lfS4ke3Byb3BzLmNsdXN0ZXJOYW1lfS4ke3Byb3BzLnBhcmVudERvbWFpbn1gLFxuICAgICAgICB6b25lOiB0aGlzLmhvc3RlZFpvbmUsXG4gICAgICAgIHRhcmdldDogUmVjb3JkVGFyZ2V0LmZyb21BbGlhcyhcbiAgICAgICAgICBuZXcgTG9hZEJhbGFuY2VyVGFyZ2V0KHRoaXMubG9hZEJhbGFuY2VyKVxuICAgICAgICApXG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGdldEltYWdlKHByb3BzOiBGYXJnYXRlQ2x1c3RlclByb3BzKTogQ29udGFpbmVySW1hZ2Uge1xuICAgIGlmICghcHJvcHMuZWNyUmVwb3NpdG9yeSlcbiAgICAgIHJldHVybiBDb250YWluZXJJbWFnZS5mcm9tUmVnaXN0cnkoXCJhbWF6b24vYW1hem9uLWVjcy1zYW1wbGVcIik7XG4gICAgaWYgKHByb3BzLmVjclJlcG9zaXRvcnkgaW5zdGFuY2VvZiBDb250YWluZXJJbWFnZSlcbiAgICAgIHJldHVybiBwcm9wcy5lY3JSZXBvc2l0b3J5O1xuICAgIGlmIChwcm9wcy5lY3JSZXBvc2l0b3J5IGluc3RhbmNlb2YgUmVwb3NpdG9yeSkge1xuICAgICAgcmV0dXJuIENvbnRhaW5lckltYWdlLmZyb21FY3JSZXBvc2l0b3J5KHByb3BzLmVjclJlcG9zaXRvcnksIFwibGF0ZXN0XCIpO1xuICAgIH1cbiAgICByZXR1cm4gQ29udGFpbmVySW1hZ2UuZnJvbVJlZ2lzdHJ5KFwiYW1hem9uL2FtYXpvbi1lY3Mtc2FtcGxlXCIpO1xuICB9XG5cbiAgc3RhdGljIGJ1aWxkKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IEZhcmdhdGVDbHVzdGVyUHJvcHNcbiAgKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICBjb25zdCBuZXdQcm9wczogRmFyZ2F0ZUNsdXN0ZXJQcm9wcyA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICB2cGM6IChzYi5nZXROZXR3b3JrKCkgYXMgSVZwYykgfHwgcHJvcHMudnBjXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gbmV3IHRoaXMoc2IuZ2V0U3RhY2soKSwgaWQsIG5ld1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const constructs_1 = require("constructs");
4
- const rds_1 = require("./rds");
4
+ const _1 = require("./");
5
5
  class Database extends constructs_1.Construct {
6
6
  constructor(scope, id, props) {
7
7
  super(scope, id);
8
- this.resource = new rds_1.default(scope, `${id}Rds`, {
8
+ this.resource = new _1.RdsAurora(scope, `${id}Rds`, {
9
9
  vpc: props.vpc,
10
10
  databaseName: id.replace("Database", ""),
11
11
  tags: props.tags || {}
@@ -27,4 +27,4 @@ class Database extends constructs_1.Construct {
27
27
  }
28
28
  }
29
29
  exports.default = Database;
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDJDQUF1QztBQUd2QywrQkFBd0I7QUFReEIsTUFBcUIsUUFBUyxTQUFRLHNCQUFTO0lBSzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksYUFBRyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQ3pDLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFlBQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTtTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTSxDQUFDLEtBQUssQ0FDVixFQUFVLEVBQ1YsS0FBOEI7UUFFOUIsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBa0I7Z0JBQzlCLEdBQUcsS0FBSztnQkFDUixHQUFHO29CQUNELEdBQUcsRUFBRyxFQUFFLENBQUMsVUFBVSxFQUFVLElBQUksS0FBSyxFQUFFLEdBQUc7b0JBQzNDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtpQkFDbEI7YUFDRixDQUFDO1lBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxDRCwyQkFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9ucywgSUNvbm5lY3RhYmxlLCBWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgU3RhY2tCdWlsZGVyIH0gZnJvbSBcIi4uL2F3c1N0YWNrXCI7XG5pbXBvcnQgUmRzIGZyb20gXCIuL3Jkc1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuaW50ZXJmYWNlIERhdGFiYXNlUHJvcHMge1xuICB2cGM6IFZwYztcbiAgdGFnczogS2V5VmFsdWUgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERhdGFiYXNlIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZTogUmRzO1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgZGF0YWJhc2VTZWNyZXROYW1lOiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IERhdGFiYXNlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBSZHMoc2NvcGUsIGAke2lkfVJkc2AsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgZGF0YWJhc2VOYW1lOiBpZC5yZXBsYWNlKFwiRGF0YWJhc2VcIiwgXCJcIiksXG4gICAgICB0YWdzOiBwcm9wcy50YWdzIHx8IHt9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5yZXNvdXJjZS5jb25uZWN0aW9ucztcbiAgfVxuXG4gIC8vdG9kbzogbW92ZSB0byBnZW5lcmljICdyZXNvdXJjZScgY2xhc3NcbiAgc3RhdGljIGJ1aWxkKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM/OiBQYXJ0aWFsPERhdGFiYXNlUHJvcHM+XG4gICk6IChzYjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3Qge1xuICAgIHJldHVybiAoc2I6IFN0YWNrQnVpbGRlcikgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvcHM6IERhdGFiYXNlUHJvcHMgPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiAoc2IuZ2V0TmV0d29yaygpIGFzIFZwYykgfHwgcHJvcHM/LnZwYyxcbiAgICAgICAgICB0YWdzOiBwcm9wcz8udGFnc1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbmV3IHRoaXMoc2IuZ2V0U3RhY2soKSwgaWQsIG5ld1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9kYXRhYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDJDQUF1QztBQUd2Qyx5QkFBK0I7QUFRL0IsTUFBcUIsUUFBUyxTQUFRLHNCQUFTO0lBSzdDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksWUFBUyxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFO1lBQy9DLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRztZQUNkLFlBQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLElBQUksRUFBRTtTQUN2QixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO0lBQy9DLENBQUM7SUFFRCx3Q0FBd0M7SUFDeEMsTUFBTSxDQUFDLEtBQUssQ0FDVixFQUFVLEVBQ1YsS0FBOEI7UUFFOUIsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBa0I7Z0JBQzlCLEdBQUcsS0FBSztnQkFDUixHQUFHO29CQUNELEdBQUcsRUFBRyxFQUFFLENBQUMsVUFBVSxFQUFVLElBQUksS0FBSyxFQUFFLEdBQUc7b0JBQzNDLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSTtpQkFDbEI7YUFDRixDQUFDO1lBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWxDRCwyQkFrQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0aW9ucywgSUNvbm5lY3RhYmxlLCBWcGMgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgU3RhY2tCdWlsZGVyIH0gZnJvbSBcIi4uL2F3c1N0YWNrXCI7XG5pbXBvcnQgeyBSZHNBdXJvcmEgfSBmcm9tIFwiLi9cIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XG5cbmludGVyZmFjZSBEYXRhYmFzZVByb3BzIHtcbiAgdnBjOiBWcGM7XG4gIHRhZ3M6IEtleVZhbHVlIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYXRhYmFzZSBleHRlbmRzIENvbnN0cnVjdCBpbXBsZW1lbnRzIElDb25uZWN0YWJsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzb3VyY2U6IFJkc0F1cm9yYTtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIGRhdGFiYXNlU2VjcmV0TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgUmRzQXVyb3JhKHNjb3BlLCBgJHtpZH1SZHNgLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGRhdGFiYXNlTmFtZTogaWQucmVwbGFjZShcIkRhdGFiYXNlXCIsIFwiXCIpLFxuICAgICAgdGFnczogcHJvcHMudGFncyB8fCB7fVxuICAgIH0pO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMucmVzb3VyY2UuY29ubmVjdGlvbnM7XG4gIH1cblxuICAvL3RvZG86IG1vdmUgdG8gZ2VuZXJpYyAncmVzb3VyY2UnIGNsYXNzXG4gIHN0YXRpYyBidWlsZChcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzPzogUGFydGlhbDxEYXRhYmFzZVByb3BzPlxuICApOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb3BzOiBEYXRhYmFzZVByb3BzID0ge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIHZwYzogKHNiLmdldE5ldHdvcmsoKSBhcyBWcGMpIHx8IHByb3BzPy52cGMsXG4gICAgICAgICAgdGFnczogcHJvcHM/LnRhZ3NcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5ldyB0aGlzKHNiLmdldFN0YWNrKCksIGlkLCBuZXdQcm9wcyk7XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const constructs_1 = require("constructs");
4
- const rdsFreeTier_1 = require("./rdsFreeTier");
4
+ const _1 = require("./");
5
5
  class Database extends constructs_1.Construct {
6
6
  constructor(scope, id, props) {
7
7
  super(scope, id);
8
- this.resource = new rdsFreeTier_1.default(scope, `${id}Rds`, {
8
+ this.resource = new _1.RdsFreeTier(scope, `${id}Rds`, {
9
9
  vpc: props.vpc,
10
10
  databaseName: id.replace("Database", ""),
11
11
  tags: props.tags || {}
@@ -28,4 +28,4 @@ class Database extends constructs_1.Construct {
28
28
  }
29
29
  }
30
30
  exports.default = Database;
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2VGcmVlVGllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2RhdGFiYXNlL2RhdGFiYXNlRnJlZVRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwyQ0FBdUM7QUFHdkMsK0NBQWdDO0FBUWhDLE1BQXFCLFFBQVMsU0FBUSxzQkFBUztJQU03QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDekMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsWUFBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUM7SUFDbkUsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxNQUFNLENBQUMsS0FBSyxDQUNWLEVBQVUsRUFDVixLQUE4QjtRQUU5QixPQUFPLENBQUMsRUFBZ0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFrQjtnQkFDOUIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJO2lCQUNsQjthQUNGLENBQUM7WUFFRixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBcENELDJCQW9DQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbm5lY3Rpb25zLFxuICBJQ29ubmVjdGFibGUsXG4gIFNlY3VyaXR5R3JvdXAsXG4gIFZwY1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgU3RhY2tCdWlsZGVyIH0gZnJvbSBcIi4uL2F3c1N0YWNrXCI7XG5pbXBvcnQgUmRzIGZyb20gXCIuL3Jkc0ZyZWVUaWVyXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuXG5pbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyB7XG4gIHZwYzogVnBjO1xuICB0YWdzOiBLZXlWYWx1ZSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBSZHM7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3JldE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IFJkcyhzY29wZSwgYCR7aWR9UmRzYCwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBkYXRhYmFzZU5hbWU6IGlkLnJlcGxhY2UoXCJEYXRhYmFzZVwiLCBcIlwiKSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgfHwge31cbiAgICB9KTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLnJlc291cmNlLmNvbm5lY3Rpb25zO1xuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gdGhpcy5yZXNvdXJjZS5kYXRhYmFzZVNlY3VyaXR5R3JvdXA7XG4gIH1cblxuICAvL3RvZG86IG1vdmUgdG8gZ2VuZXJpYyAncmVzb3VyY2UnIGNsYXNzXG4gIHN0YXRpYyBidWlsZChcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzPzogUGFydGlhbDxEYXRhYmFzZVByb3BzPlxuICApOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb3BzOiBEYXRhYmFzZVByb3BzID0ge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIHZwYzogKHNiLmdldE5ldHdvcmsoKSBhcyBWcGMpIHx8IHByb3BzPy52cGMsXG4gICAgICAgICAgdGFnczogcHJvcHM/LnRhZ3NcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5ldyB0aGlzKHNiLmdldFN0YWNrKCksIGlkLCBuZXdQcm9wcyk7XG4gICAgfTtcbiAgfVxufVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2VGcmVlVGllci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2RhdGFiYXNlL2RhdGFiYXNlRnJlZVRpZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwyQ0FBdUM7QUFHdkMseUJBQWlDO0FBUWpDLE1BQXFCLFFBQVMsU0FBUSxzQkFBUztJQU03QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtZQUNqRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxZQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztJQUNuRSxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQ1YsRUFBVSxFQUNWLEtBQThCO1FBRTlCLE9BQU8sQ0FBQyxFQUFnQixFQUFFLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQWtCO2dCQUM5QixHQUFHLEtBQUs7Z0JBQ1IsR0FBRztvQkFDRCxHQUFHLEVBQUcsRUFBRSxDQUFDLFVBQVUsRUFBVSxJQUFJLEtBQUssRUFBRSxHQUFHO29CQUMzQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUk7aUJBQ2xCO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFwQ0QsMkJBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgU2VjdXJpdHlHcm91cCxcbiAgVnBjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5pbXBvcnQgeyBTdGFja0J1aWxkZXIgfSBmcm9tIFwiLi4vYXdzU3RhY2tcIjtcbmltcG9ydCB7IFJkc0ZyZWVUaWVyIH0gZnJvbSBcIi4vXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuXG5pbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyB7XG4gIHZwYzogVnBjO1xuICB0YWdzOiBLZXlWYWx1ZSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBSZHNGcmVlVGllcjtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIGRhdGFiYXNlU2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcbiAgcHVibGljIGRhdGFiYXNlU2VjcmV0TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgUmRzRnJlZVRpZXIoc2NvcGUsIGAke2lkfVJkc2AsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgZGF0YWJhc2VOYW1lOiBpZC5yZXBsYWNlKFwiRGF0YWJhc2VcIiwgXCJcIiksXG4gICAgICB0YWdzOiBwcm9wcy50YWdzIHx8IHt9XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gdGhpcy5yZXNvdXJjZS5jb25uZWN0aW9ucztcbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cCA9IHRoaXMucmVzb3VyY2UuZGF0YWJhc2VTZWN1cml0eUdyb3VwO1xuICB9XG5cbiAgLy90b2RvOiBtb3ZlIHRvIGdlbmVyaWMgJ3Jlc291cmNlJyBjbGFzc1xuICBzdGF0aWMgYnVpbGQoXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wcz86IFBhcnRpYWw8RGF0YWJhc2VQcm9wcz5cbiAgKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICBjb25zdCBuZXdQcm9wczogRGF0YWJhc2VQcm9wcyA9IHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIC4uLntcbiAgICAgICAgICB2cGM6IChzYi5nZXROZXR3b3JrKCkgYXMgVnBjKSB8fCBwcm9wcz8udnBjLFxuICAgICAgICAgIHRhZ3M6IHByb3BzPy50YWdzXG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIHJldHVybiBuZXcgdGhpcyhzYi5nZXRTdGFjaygpLCBpZCwgbmV3UHJvcHMpO1xuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const constructs_1 = require("constructs");
4
- const rdsInstance_1 = require("./rdsInstance");
4
+ const _1 = require("./");
5
5
  class Database extends constructs_1.Construct {
6
6
  constructor(scope, id, props) {
7
7
  super(scope, id);
8
- this.resource = new rdsInstance_1.default(scope, `${id}Rds`, {
8
+ this.resource = new _1.RdsInstance(scope, `${id}Rds`, {
9
9
  vpc: props.vpc,
10
10
  databaseName: id.replace("Database", ""),
11
11
  readReplica: true,
@@ -29,4 +29,4 @@ class Database extends constructs_1.Construct {
29
29
  }
30
30
  }
31
31
  exports.default = Database;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2VJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2RhdGFiYXNlL2RhdGFiYXNlSW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwyQ0FBdUM7QUFHdkMsK0NBQWdDO0FBUWhDLE1BQXFCLFFBQVMsU0FBUSxzQkFBUztJQU03QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLHFCQUFHLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUU7WUFDekMsR0FBRyxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQ2QsWUFBWSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUN4QyxXQUFXLEVBQUUsSUFBSTtZQUNqQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1NBQ3ZCLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUM7SUFDbkUsQ0FBQztJQUVELHdDQUF3QztJQUN4QyxNQUFNLENBQUMsS0FBSyxDQUNWLEVBQVUsRUFDVixLQUE4QjtRQUU5QixPQUFPLENBQUMsRUFBZ0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFrQjtnQkFDOUIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJO2lCQUNsQjthQUNGLENBQUM7WUFFRixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBckNELDJCQXFDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbm5lY3Rpb25zLFxuICBJQ29ubmVjdGFibGUsXG4gIFNlY3VyaXR5R3JvdXAsXG4gIFZwY1xufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcblxuaW1wb3J0IHsgU3RhY2tCdWlsZGVyIH0gZnJvbSBcIi4uL2F3c1N0YWNrXCI7XG5pbXBvcnQgUmRzIGZyb20gXCIuL3Jkc0luc3RhbmNlXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuXG5pbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyB7XG4gIHZwYzogVnBjO1xuICB0YWdzOiBLZXlWYWx1ZSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBSZHM7XG4gIHB1YmxpYyBjb25uZWN0aW9uczogQ29ubmVjdGlvbnM7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHB1YmxpYyBkYXRhYmFzZVNlY3JldE5hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogRGF0YWJhc2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gbmV3IFJkcyhzY29wZSwgYCR7aWR9UmRzYCwge1xuICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICBkYXRhYmFzZU5hbWU6IGlkLnJlcGxhY2UoXCJEYXRhYmFzZVwiLCBcIlwiKSxcbiAgICAgIHJlYWRSZXBsaWNhOiB0cnVlLFxuICAgICAgdGFnczogcHJvcHMudGFncyB8fCB7fVxuICAgIH0pO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMucmVzb3VyY2UuY29ubmVjdGlvbnM7XG4gICAgdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXAgPSB0aGlzLnJlc291cmNlLmRhdGFiYXNlU2VjdXJpdHlHcm91cDtcbiAgfVxuXG4gIC8vdG9kbzogbW92ZSB0byBnZW5lcmljICdyZXNvdXJjZScgY2xhc3NcbiAgc3RhdGljIGJ1aWxkKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM/OiBQYXJ0aWFsPERhdGFiYXNlUHJvcHM+XG4gICk6IChzYjogU3RhY2tCdWlsZGVyKSA9PiBDb25zdHJ1Y3Qge1xuICAgIHJldHVybiAoc2I6IFN0YWNrQnVpbGRlcikgPT4ge1xuICAgICAgY29uc3QgbmV3UHJvcHM6IERhdGFiYXNlUHJvcHMgPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiAoc2IuZ2V0TmV0d29yaygpIGFzIFZwYykgfHwgcHJvcHM/LnZwYyxcbiAgICAgICAgICB0YWdzOiBwcm9wcz8udGFnc1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbmV3IHRoaXMoc2IuZ2V0U3RhY2soKSwgaWQsIG5ld1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YWJhc2VJbnN0YW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9yZXNvdXJjZXMvYXdzL2RhdGFiYXNlL2RhdGFiYXNlSW5zdGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSwyQ0FBdUM7QUFHdkMseUJBQWlDO0FBUWpDLE1BQXFCLFFBQVMsU0FBUSxzQkFBUztJQU03QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQW9CO1FBQzVELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGNBQVcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtZQUNqRCxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxZQUFZLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3hDLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7U0FDdkIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM3QyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsQ0FBQztJQUNuRSxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLE1BQU0sQ0FBQyxLQUFLLENBQ1YsRUFBVSxFQUNWLEtBQThCO1FBRTlCLE9BQU8sQ0FBQyxFQUFnQixFQUFFLEVBQUU7WUFDMUIsTUFBTSxRQUFRLEdBQWtCO2dCQUM5QixHQUFHLEtBQUs7Z0JBQ1IsR0FBRztvQkFDRCxHQUFHLEVBQUcsRUFBRSxDQUFDLFVBQVUsRUFBVSxJQUFJLEtBQUssRUFBRSxHQUFHO29CQUMzQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUk7aUJBQ2xCO2FBQ0YsQ0FBQztZQUVGLE9BQU8sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMvQyxDQUFDLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUFyQ0QsMkJBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgU2VjdXJpdHlHcm91cCxcbiAgVnBjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuXG5pbXBvcnQgeyBTdGFja0J1aWxkZXIgfSBmcm9tIFwiLi4vYXdzU3RhY2tcIjtcbmltcG9ydCB7IFJkc0luc3RhbmNlIH0gZnJvbSBcIi4vXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuXG5pbnRlcmZhY2UgRGF0YWJhc2VQcm9wcyB7XG4gIHZwYzogVnBjO1xuICB0YWdzOiBLZXlWYWx1ZSB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0YWJhc2UgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlOiBSZHNJbnN0YW5jZTtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIGRhdGFiYXNlU2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcbiAgcHVibGljIGRhdGFiYXNlU2VjcmV0TmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBEYXRhYmFzZVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgUmRzSW5zdGFuY2Uoc2NvcGUsIGAke2lkfVJkc2AsIHtcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgZGF0YWJhc2VOYW1lOiBpZC5yZXBsYWNlKFwiRGF0YWJhc2VcIiwgXCJcIiksXG4gICAgICByZWFkUmVwbGljYTogdHJ1ZSxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MgfHwge31cbiAgICB9KTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLnJlc291cmNlLmNvbm5lY3Rpb25zO1xuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gdGhpcy5yZXNvdXJjZS5kYXRhYmFzZVNlY3VyaXR5R3JvdXA7XG4gIH1cblxuICAvL3RvZG86IG1vdmUgdG8gZ2VuZXJpYyAncmVzb3VyY2UnIGNsYXNzXG4gIHN0YXRpYyBidWlsZChcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzPzogUGFydGlhbDxEYXRhYmFzZVByb3BzPlxuICApOiAoc2I6IFN0YWNrQnVpbGRlcikgPT4gQ29uc3RydWN0IHtcbiAgICByZXR1cm4gKHNiOiBTdGFja0J1aWxkZXIpID0+IHtcbiAgICAgIGNvbnN0IG5ld1Byb3BzOiBEYXRhYmFzZVByb3BzID0ge1xuICAgICAgICAuLi5wcm9wcyxcbiAgICAgICAgLi4ue1xuICAgICAgICAgIHZwYzogKHNiLmdldE5ldHdvcmsoKSBhcyBWcGMpIHx8IHByb3BzPy52cGMsXG4gICAgICAgICAgdGFnczogcHJvcHM/LnRhZ3NcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG5ldyB0aGlzKHNiLmdldFN0YWNrKCksIGlkLCBuZXdQcm9wcyk7XG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,2 +1,4 @@
1
- export * from "../database";
2
- export * from "./rds";
1
+ export * from "./database";
2
+ export * from "./rdsAurora";
3
+ export * from "./rdsFreeTier";
4
+ export * from "./rdsInstance";
@@ -14,6 +14,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("../database"), exports);
18
- __exportStar(require("./rds"), exports);
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsOENBQTRCO0FBQzVCLHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuLi9kYXRhYmFzZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmRzXCI7XG4iXX0=
17
+ __exportStar(require("./database"), exports);
18
+ __exportStar(require("./rdsAurora"), exports);
19
+ __exportStar(require("./rdsFreeTier"), exports);
20
+ __exportStar(require("./rdsInstance"), exports);
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkNBQTJCO0FBQzNCLDhDQUE0QjtBQUM1QixnREFBOEI7QUFDOUIsZ0RBQThCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vZGF0YWJhc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jkc0F1cm9yYVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcmRzRnJlZVRpZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3Jkc0luc3RhbmNlXCI7XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Duration } from "aws-cdk-lib";
2
+ import { Connections, IConnectable, Vpc } from "aws-cdk-lib/aws-ec2";
3
+ import { BackupProps, ClusterInstance, IClusterEngine } from "aws-cdk-lib/aws-rds";
4
+ import { Construct } from "constructs";
5
+ import { KeyValue } from "../../../types";
6
+ interface RdsProps {
7
+ vpc: Vpc;
8
+ databaseName?: string;
9
+ engine?: IClusterEngine;
10
+ backup?: BackupProps;
11
+ clusterIdentifier?: string;
12
+ monitoringInterval?: Duration;
13
+ preferredMaintenanceWindow?: string;
14
+ port?: number;
15
+ writer?: ClusterInstance;
16
+ readers?: ClusterInstance[];
17
+ tags: KeyValue;
18
+ }
19
+ export declare class RdsAurora extends Construct implements IConnectable {
20
+ connections: Connections;
21
+ constructor(scope: Construct, id: string, props: RdsProps);
22
+ }
23
+ export {};
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RdsAurora = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
5
+ const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
6
+ const aws_rds_1 = require("aws-cdk-lib/aws-rds");
7
+ const aws_secretsmanager_1 = require("aws-cdk-lib/aws-secretsmanager");
8
+ const constructs_1 = require("constructs");
9
+ const iam_1 = require("../iam");
10
+ const secrets_1 = require("../secrets");
11
+ class RdsAurora extends constructs_1.Construct {
12
+ constructor(scope, id, props) {
13
+ super(scope, id);
14
+ // Database Credentials
15
+ const databaseCredentials = new secrets_1.Secret(this, `${props.databaseName}Credentials`, {
16
+ secretName: `${props.databaseName}Credentials`,
17
+ generateSecretString: {
18
+ secretStringTemplate: JSON.stringify({
19
+ username: "postgres"
20
+ }),
21
+ excludePunctuation: true,
22
+ includeSpace: false,
23
+ generateStringKey: "password"
24
+ },
25
+ tags: props.tags
26
+ });
27
+ // Customer Managed Keys
28
+ const encryptionKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}ClusterEncryptionKey`, {
29
+ aliasName: `cmk/rds/${props.databaseName}/encryptionKey`,
30
+ tags: props.tags
31
+ });
32
+ const primaryReaderInsightsKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}PrimaryReaderInsightsKey`, {
33
+ aliasName: `cmk/rds/${props.databaseName}/PrimaryReaderInsightsKey`,
34
+ tags: props.tags
35
+ });
36
+ const secondaryReaderInsightsKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}SecondaryReaderInsightsKey`, {
37
+ aliasName: `cmk/rds/${props.databaseName}/SecondaryReaderInsightsKey`,
38
+ tags: props.tags
39
+ });
40
+ const primaryWriterPerformanceInsightsKey = new secrets_1.CustomerManagedKey(this, `${props.databaseName}PrimaryWriterPerformanceInsightsKey`, {
41
+ aliasName: `cmk/rds/${props.databaseName}/PrimaryWriterInsightsKey`,
42
+ tags: props.tags
43
+ });
44
+ const clusterSecurityGroup = new iam_1.SecurityGroup(this, `${id}SecurityGroup`, {
45
+ vpc: props.vpc,
46
+ description: `Security group that allows inbound access to the postgres cluster for ${props.databaseName}`
47
+ });
48
+ //TODO: Remove this line, that allows the proxy to connect to the database. Replace with seperated security groups
49
+ clusterSecurityGroup.addIngressRule(clusterSecurityGroup, aws_ec2_1.Port.tcp(5432));
50
+ this.connections = clusterSecurityGroup.connections;
51
+ // Database Cluster
52
+ const databaseCluster = new aws_rds_1.DatabaseCluster(scope, `${id}Database`, {
53
+ vpc: props.vpc,
54
+ vpcSubnets: {
55
+ subnetType: aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
56
+ },
57
+ securityGroups: [clusterSecurityGroup],
58
+ engine: props.engine ||
59
+ aws_rds_1.DatabaseClusterEngine.auroraPostgres({
60
+ //TODO: Do we update these when we release a new version? Or try to keep them constantly updated?
61
+ version: aws_rds_1.AuroraPostgresEngineVersion.VER_15_6
62
+ }),
63
+ backup: props.backup || {
64
+ retention: aws_cdk_lib_1.Duration.days(14)
65
+ },
66
+ storageEncrypted: true,
67
+ storageEncryptionKey: encryptionKey.key,
68
+ clusterIdentifier: props.clusterIdentifier || `${props.databaseName}-cluster`,
69
+ credentials: aws_rds_1.Credentials.fromSecret(databaseCredentials.secret),
70
+ defaultDatabaseName: props.databaseName || `${id.replace("Rds", "")}`,
71
+ monitoringInterval: props.monitoringInterval || aws_cdk_lib_1.Duration.minutes(1),
72
+ preferredMaintenanceWindow: props.preferredMaintenanceWindow || "Sat:12:30-Sat:20:30",
73
+ port: props.port || 5432,
74
+ removalPolicy: aws_cdk_lib_1.RemovalPolicy.SNAPSHOT,
75
+ writer: props.writer ||
76
+ aws_rds_1.ClusterInstance.serverlessV2(`${props.databaseName}Writer`, {
77
+ enablePerformanceInsights: true,
78
+ performanceInsightEncryptionKey: primaryWriterPerformanceInsightsKey.key,
79
+ instanceIdentifier: `${props.databaseName}-primary-writer`,
80
+ //TODO: Do we update these when we release a new version? Or try to keep them constantly updated?
81
+ caCertificate: aws_rds_1.CaCertificate.RDS_CA_RSA4096_G1
82
+ }),
83
+ readers: props.readers || [
84
+ aws_rds_1.ClusterInstance.serverlessV2(`${props.databaseName}PrimaryReader`, {
85
+ scaleWithWriter: true,
86
+ enablePerformanceInsights: true,
87
+ performanceInsightEncryptionKey: primaryReaderInsightsKey.key,
88
+ instanceIdentifier: `${props.databaseName}-primary-reader`,
89
+ caCertificate: aws_rds_1.CaCertificate.RDS_CA_RSA4096_G1
90
+ }),
91
+ aws_rds_1.ClusterInstance.serverlessV2(`${props.databaseName}SecondaryReader`, {
92
+ scaleWithWriter: false,
93
+ enablePerformanceInsights: true,
94
+ performanceInsightEncryptionKey: secondaryReaderInsightsKey.key,
95
+ instanceIdentifier: `${props.databaseName}-secondary-reader`,
96
+ caCertificate: aws_rds_1.CaCertificate.RDS_CA_RSA4096_G1
97
+ })
98
+ ]
99
+ });
100
+ const databaseProxy = new aws_rds_1.DatabaseProxy(this, `${props.databaseName}DatabaseProxy`, {
101
+ proxyTarget: aws_rds_1.ProxyTarget.fromCluster(databaseCluster),
102
+ secrets: [databaseCredentials.secret],
103
+ securityGroups: [clusterSecurityGroup],
104
+ vpc: props.vpc,
105
+ vpcSubnets: {
106
+ subnetType: aws_ec2_1.SubnetType.PUBLIC
107
+ }
108
+ });
109
+ new aws_cdk_lib_1.CfnOutput(this, `${props.databaseName}ProxyEndpointOutput`, {
110
+ key: `${props.databaseName}ProxyEndpoint`,
111
+ exportName: `${props.databaseName}ProxyEndpoint`,
112
+ value: databaseProxy.endpoint
113
+ });
114
+ // Rotate the Secret every 30 days
115
+ const masterSecret = new secrets_1.Secret(this, `${props.databaseName}MasterSecret`, {
116
+ secretName: `${props.databaseName}MasterSecret`,
117
+ tags: props.tags
118
+ });
119
+ new aws_secretsmanager_1.SecretRotation(this, `${props.databaseName}SecretRotation`, {
120
+ application: new aws_secretsmanager_1.SecretRotationApplication("SecretsManagerRDSPostgreSQLRotationMultiUser", "1.1.367", {
121
+ isMultiUser: true
122
+ }),
123
+ secret: databaseCredentials.secret,
124
+ masterSecret: masterSecret.secret,
125
+ target: databaseCluster,
126
+ vpc: databaseCluster.vpc
127
+ });
128
+ }
129
+ }
130
+ exports.RdsAurora = RdsAurora;
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzQXVyb3JhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL3Jlc291cmNlcy9hd3MvZGF0YWJhc2UvcmRzQXVyb3JhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUFpRTtBQUNqRSxpREFNNkI7QUFDN0IsaURBVzZCO0FBQzdCLHVFQUd3QztBQUN4QywyQ0FBdUM7QUFDdkMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQWlCeEQsTUFBYSxTQUFVLFNBQVEsc0JBQVM7SUFHdEMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUFlO1FBQ3ZELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsdUJBQXVCO1FBQ3ZCLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxnQkFBTSxDQUNwQyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsWUFBWSxhQUFhLEVBQ2xDO1lBQ0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYTtZQUM5QyxvQkFBb0IsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUM7Z0JBQ0Ysa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGlCQUFpQixFQUFFLFVBQVU7YUFDOUI7WUFDRCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsd0JBQXdCO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQzFDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsTUFBTSx3QkFBd0IsR0FBRyxJQUFJLDRC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TUFBTTthQUM5QjtTQUNGLENBQ0YsQ0FBQztRQUVGLElBQUksdUJBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxxQkFBcUIsRUFBRTtZQUM5RCxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxlQUFlO1lBQ3pDLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGVBQWU7WUFDaEQsS0FBSyxFQUFFLGFBQWEsQ0FBQyxRQUFRO1NBQzlCLENBQUMsQ0FBQztRQUVILGtDQUFrQztRQUNsQyxNQUFNLFlBQVksR0FBRyxJQUFJLGdCQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksY0FBYyxFQUFFO1lBQ3pFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGNBQWM7WUFDL0MsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQUMsQ0FBQztRQUVILElBQUksbUNBQWMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsWUFBWSxnQkFBZ0IsRUFBRTtZQUM5RCxXQUFXLEVBQUUsSUFBSSw4Q0FBeUIsQ0FDeEMsOENBQThDLEVBQzlDLFNBQVMsRUFDVDtnQkFDRSxXQUFXLEVBQUUsSUFBSTthQUNsQixDQUNGO1lBQ0QsTUFBTSxFQUFFLG1CQUFtQixDQUFDLE1BQU07WUFDbEMsWUFBWSxFQUFFLFlBQVksQ0FBQyxNQUFNO1lBQ2pDLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEdBQUcsRUFBRSxlQUFlLENBQUMsR0FBRztTQUN6QixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF0S0QsOEJBc0tDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuT3V0cHV0LCBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZSxcbiAgVnBjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBBdXJvcmFQb3N0Z3Jlc0VuZ2luZVZlcnNpb24sXG4gIEJhY2t1cFByb3BzLFxuICBDYUNlcnRpZmljYXRlLFxuICBDbHVzdGVySW5zdGFuY2UsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUNsdXN0ZXIsXG4gIERhdGFiYXNlQ2x1c3RlckVuZ2luZSxcbiAgRGF0YWJhc2VQcm94eSxcbiAgSUNsdXN0ZXJFbmdpbmUsXG4gIFByb3h5VGFyZ2V0XG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRSb3RhdGlvbixcbiAgU2VjcmV0Um90YXRpb25BcHBsaWNhdGlvblxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuLi9pYW1cIjtcbmltcG9ydCB7IEN1c3RvbWVyTWFuYWdlZEtleSwgU2VjcmV0IH0gZnJvbSBcIi4uL3NlY3JldHNcIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XG5cbmludGVyZmFjZSBSZHNQcm9wcyB7XG4gIHZwYzogVnBjO1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIGVuZ2luZT86IElDbHVzdGVyRW5naW5lO1xuICBiYWNrdXA/OiBCYWNrdXBQcm9wcztcbiAgY2x1c3RlcklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIG1vbml0b3JpbmdJbnRlcnZhbD86IER1cmF0aW9uO1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgd3JpdGVyPzogQ2x1c3Rlckluc3RhbmNlO1xuICByZWFkZXJzPzogQ2x1c3Rlckluc3RhbmNlW107XG4gIHRhZ3M6IEtleVZhbHVlO1xufVxuXG5leHBvcnQgY2xhc3MgUmRzQXVyb3JhIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICBjb25zdCBkYXRhYmFzZUNyZWRlbnRpYWxzID0gbmV3IFNlY3JldChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAge1xuICAgICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZzoge1xuICAgICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB1c2VybmFtZTogXCJwb3N0Z3Jlc1wiXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhjbHVkZVB1bmN0dWF0aW9uOiB0cnVlLFxuICAgICAgICAgIGluY2x1ZGVTcGFjZTogZmFsc2UsXG4gICAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIlxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIEN1c3RvbWVyIE1hbmFnZWQgS2V5c1xuICAgIGNvbnN0IGVuY3J5cHRpb25LZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DbHVzdGVyRW5jcnlwdGlvbktleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L2VuY3J5cHRpb25LZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIGNvbnN0IHByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1ByaW1hcnlSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgY29uc3Qgc2Vjb25kYXJ5UmVhZGVySW5zaWdodHNLZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWNvbmRhcnlSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1NlY29uZGFyeVJlYWRlckluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBwcmltYXJ5V3JpdGVyUGVyZm9ybWFuY2VJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByaW1hcnlXcml0ZXJQZXJmb3JtYW5jZUluc2lnaHRzS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vUHJpbWFyeVdyaXRlckluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBjb25zdCBjbHVzdGVyU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKHRoaXMsIGAke2lkfVNlY3VyaXR5R3JvdXBgLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIGRlc2NyaXB0aW9uOiBgU2VjdXJpdHkgZ3JvdXAgdGhhdCBhbGxvd3MgaW5ib3VuZCBhY2Nlc3MgdG8gdGhlIHBvc3RncmVzIGNsdXN0ZXIgZm9yICR7cHJvcHMuZGF0YWJhc2VOYW1lfWBcbiAgICB9KTtcblxuICAgIC8vVE9ETzogUmVtb3ZlIHRoaXMgbGluZSwgdGhhdCBhbGxvd3MgdGhlIHByb3h5IHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlLiBSZXBsYWNlIHdpdGggc2VwZXJhdGVkIHNlY3VyaXR5IGdyb3Vwc1xuICAgIGNsdXN0ZXJTZWN1cml0eUdyb3VwLmFkZEluZ3Jlc3NSdWxlKGNsdXN0ZXJTZWN1cml0eUdyb3VwLCBQb3J0LnRjcCg1NDMyKSk7XG5cbiAgICB0aGlzLmNvbm5lY3Rpb25zID0gY2x1c3RlclNlY3VyaXR5R3JvdXAuY29ubmVjdGlvbnM7XG5cbiAgICAvLyBEYXRhYmFzZSBDbHVzdGVyXG4gICAgY29uc3QgZGF0YWJhc2VDbHVzdGVyID0gbmV3IERhdGFiYXNlQ2x1c3RlcihzY29wZSwgYCR7aWR9RGF0YWJhc2VgLCB7XG4gICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICB9LFxuICAgICAgc2VjdXJpdHlHcm91cHM6IFtjbHVzdGVyU2VjdXJpdHlHcm91cF0sXG4gICAgICBlbmdpbmU6XG4gICAgICAgIHByb3BzLmVuZ2luZSB8fFxuICAgICAgICBEYXRhYmFzZUNsdXN0ZXJFbmdpbmUuYXVyb3JhUG9zdGdyZXMoe1xuICAgICAgICAgIC8vVE9ETzogRG8gd2UgdXBkYXRlIHRoZXNlIHdoZW4gd2UgcmVsZWFzZSBhIG5ldyB2ZXJzaW9uPyBPciB0cnkgdG8ga2VlcCB0aGVtIGNvbnN0YW50bHkgdXBkYXRlZD9cbiAgICAgICAgICB2ZXJzaW9uOiBBdXJvcmFQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE1XzZcbiAgICAgICAgfSksXG4gICAgICBiYWNrdXA6IHByb3BzLmJhY2t1cCB8fCB7XG4gICAgICAgIHJldGVudGlvbjogRHVyYXRpb24uZGF5cygxNClcbiAgICAgIH0sXG4gICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgc3RvcmFnZUVuY3J5cHRpb25LZXk6IGVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgY2x1c3RlcklkZW50aWZpZXI6XG4gICAgICAgIHByb3BzLmNsdXN0ZXJJZGVudGlmaWVyIHx8IGAke3Byb3BzLmRhdGFiYXNlTmFtZX0tY2x1c3RlcmAsXG4gICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldChkYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldCksXG4gICAgICBkZWZhdWx0RGF0YWJhc2VOYW1lOiBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7aWQucmVwbGFjZShcIlJkc1wiLCBcIlwiKX1gLFxuICAgICAgbW9uaXRvcmluZ0ludGVydmFsOiBwcm9wcy5tb25pdG9yaW5nSW50ZXJ2YWwgfHwgRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICBwcm9wcy5wcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdyB8fCBcIlNhdDoxMjozMC1TYXQ6MjA6MzBcIixcbiAgICAgIHBvcnQ6IHByb3BzLnBvcnQgfHwgNTQzMixcbiAgICAgIHJlbW92YWxQb2xpY3k6IFJlbW92YWxQb2xpY3kuU05BUFNIT1QsXG4gICAgICB3cml0ZXI6XG4gICAgICAgIHByb3BzLndyaXRlciB8fFxuICAgICAgICBDbHVzdGVySW5zdGFuY2Uuc2VydmVybGVzc1YyKGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Xcml0ZXJgLCB7XG4gICAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogdHJ1ZSxcbiAgICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OlxuICAgICAgICAgICAgcHJpbWFyeVdyaXRlclBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5LFxuICAgICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfS1wcmltYXJ5LXdyaXRlcmAsXG4gICAgICAgICAgLy9UT0RPOiBEbyB3ZSB1cGRhdGUgdGhlc2Ugd2hlbiB3ZSByZWxlYXNlIGEgbmV3IHZlcnNpb24/IE9yIHRyeSB0byBrZWVwIHRoZW0gY29uc3RhbnRseSB1cGRhdGVkP1xuICAgICAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzFcbiAgICAgICAgfSksXG4gICAgICByZWFkZXJzOiBwcm9wcy5yZWFkZXJzIHx8IFtcbiAgICAgICAgQ2x1c3Rlckluc3RhbmNlLnNlcnZlcmxlc3NWMihgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJpbWFyeVJlYWRlcmAsIHtcbiAgICAgICAgICBzY2FsZVdpdGhXcml0ZXI6IHRydWUsXG4gICAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogdHJ1ZSxcbiAgICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OiBwcmltYXJ5UmVhZGVySW5zaWdodHNLZXkua2V5LFxuICAgICAgICAgIGluc3RhbmNlSWRlbnRpZmllcjogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfS1wcmltYXJ5LXJlYWRlcmAsXG4gICAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMVxuICAgICAgICB9KSxcbiAgICAgICAgQ2x1c3Rlckluc3RhbmNlLnNlcnZlcmxlc3NWMihgJHtwcm9wcy5kYXRhYmFzZU5hbWV9U2Vjb25kYXJ5UmVhZGVyYCwge1xuICAgICAgICAgIHNjYWxlV2l0aFdyaXRlcjogZmFsc2UsXG4gICAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogdHJ1ZSxcbiAgICAgICAgICBwZXJmb3JtYW5jZUluc2lnaHRFbmNyeXB0aW9uS2V5OiBzZWNvbmRhcnlSZWFkZXJJbnNpZ2h0c0tleS5rZXksXG4gICAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9LXNlY29uZGFyeS1yZWFkZXJgLFxuICAgICAgICAgIGNhQ2VydGlmaWNhdGU6IENhQ2VydGlmaWNhdGUuUkRTX0NBX1JTQTQwOTZfRzFcbiAgICAgICAgfSlcbiAgICAgIF1cbiAgICB9KTtcblxuICAgIGNvbnN0IGRhdGFiYXNlUHJveHkgPSBuZXcgRGF0YWJhc2VQcm94eShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VQcm94eWAsXG4gICAgICB7XG4gICAgICAgIHByb3h5VGFyZ2V0OiBQcm94eVRhcmdldC5mcm9tQ2x1c3RlcihkYXRhYmFzZUNsdXN0ZXIpLFxuICAgICAgICBzZWNyZXRzOiBbZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXRdLFxuICAgICAgICBzZWN1cml0eUdyb3VwczogW2NsdXN0ZXJTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgdnBjOiBwcm9wcy52cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBVQkxJQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRPdXRwdXRgLCB7XG4gICAgICBrZXk6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIHZhbHVlOiBkYXRhYmFzZVByb3h5LmVuZHBvaW50XG4gICAgfSk7XG5cbiAgICAvLyBSb3RhdGUgdGhlIFNlY3JldCBldmVyeSAzMCBkYXlzXG4gICAgY29uc3QgbWFzdGVyU2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCwge1xuICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGAsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgfSk7XG5cbiAgICBuZXcgU2VjcmV0Um90YXRpb24odGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3JldFJvdGF0aW9uYCwge1xuICAgICAgYXBwbGljYXRpb246IG5ldyBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uKFxuICAgICAgICBcIlNlY3JldHNNYW5hZ2VyUkRTUG9zdGdyZVNRTFJvdGF0aW9uTXVsdGlVc2VyXCIsXG4gICAgICAgIFwiMS4xLjM2N1wiLFxuICAgICAgICB7XG4gICAgICAgICAgaXNNdWx0aVVzZXI6IHRydWVcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIHNlY3JldDogZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQsXG4gICAgICBtYXN0ZXJTZWNyZXQ6IG1hc3RlclNlY3JldC5zZWNyZXQsXG4gICAgICB0YXJnZXQ6IGRhdGFiYXNlQ2x1c3RlcixcbiAgICAgIHZwYzogZGF0YWJhc2VDbHVzdGVyLnZwY1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Duration, StackProps } from "aws-cdk-lib";
2
- import { Connections, IConnectable, InstanceType } from "aws-cdk-lib/aws-ec2";
2
+ import { Connections, IConnectable, InstanceType, IVpc } from "aws-cdk-lib/aws-ec2";
3
3
  import { IInstanceEngine } from "aws-cdk-lib/aws-rds";
4
4
  import { Construct } from "constructs";
5
5
  import { SecurityGroup } from "../iam";
@@ -22,13 +22,13 @@ interface RdsProps extends StackProps {
22
22
  readReplica?: boolean;
23
23
  tags: KeyValue;
24
24
  }
25
- export default class Rds extends Construct implements IConnectable {
25
+ export declare class RdsFreeTier extends Construct implements IConnectable {
26
26
  connections: Connections;
27
27
  databaseSecurityGroup: SecurityGroup;
28
+ vpc: IVpc;
28
29
  private databaseCredentials;
29
30
  private encryptionKey;
30
31
  private database;
31
- private vpc;
32
32
  constructor(scope: Construct, id: string, props: RdsProps);
33
33
  addVpc(props: RdsProps): void;
34
34
  addDatabase(props: RdsProps): void;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RdsFreeTier = void 0;
3
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
4
5
  const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
5
6
  const aws_rds_1 = require("aws-cdk-lib/aws-rds");
@@ -8,7 +9,7 @@ const iam_1 = require("../iam");
8
9
  const secrets_1 = require("../secrets");
9
10
  const tagResource_1 = require("../../../utils/tagResource");
10
11
  const vpc_1 = require("../networking/vpc");
11
- class Rds extends constructs_1.Construct {
12
+ class RdsFreeTier extends constructs_1.Construct {
12
13
  constructor(scope, id, props) {
13
14
  super(scope, id);
14
15
  this.addVpc(props);
@@ -44,6 +45,7 @@ class Rds extends constructs_1.Construct {
44
45
  vpc: this.vpc,
45
46
  description: `Security group that allows inbound access to the postgres cluster for ${props.databaseName}`
46
47
  });
48
+ this.connections = this.databaseSecurityGroup.connections;
47
49
  // Database Cluster
48
50
  this.database = new aws_rds_1.DatabaseInstance(this, `${props.databaseName}Database`, {
49
51
  vpc: this.vpc,
@@ -75,5 +77,5 @@ class Rds extends constructs_1.Construct {
75
77
  (0, tagResource_1.default)(this.database, props.tags);
76
78
  }
77
79
  }
78
- exports.default = Rds;
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzRnJlZVRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNGcmVlVGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUFrRTtBQUNsRSxpREFRNkI7QUFDN0IsaURBUTZCO0FBQzdCLDJDQUF1QztBQUN2QyxnQ0FBdUM7QUFDdkMsd0NBQXdEO0FBRXhELDREQUFxRDtBQUNyRCwyQ0FBd0M7QUFxQnhDLE1BQXFCLEdBQUksU0FBUSxzQkFBUztJQVV4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUc7WUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ1gsQ0FBQyxDQUFDLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ2pCLENBQUMsQ0FBQztJQUNULENBQUM7SUFDRCxXQUFXLENBQUMsS0FBZTtRQUN6Qix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksZ0JBQU0sQ0FDbkMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYSxFQUNsQztZQUNFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGFBQWE7WUFDOUMsb0JBQW9CLEVBQUU7Z0JBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ25DLFFBQVEsRUFBRSxVQUFVO2lCQUNyQixDQUFDO2dCQUNGLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLFlBQVksRUFBRSxLQUFLO2dCQUNuQixpQkFBaUIsRUFBRSxVQUFVO2FBQzlCO1lBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQ0YsQ0FBQztRQUVGLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQ3pDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksbUJBQWEsQ0FDNUMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksZUFBZSxFQUNwQztZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFdBQVcsRUFBRSx5RUFBeUUsS0FBSyxDQUFDLFlBQVksRUFBRTtTQUMzRyxDQUNGLENBQUM7UUFFRixtQkFBbUI7UUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLDBCQUFnQixDQUNsQyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsWUFBWSxVQUFVLEVBQy9CO1lBQ0UsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO1lBQ2IsVUFBVSxFQUFFO2dCQUNWLFVBQVUsRUFBRSxvQkFBVSxDQUFDLG1CQUFtQjthQUMzQztZQUNELGNBQWMsRUFBRSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztZQUM1QyxNQUFNLEVBQ0osS0FBSyxDQUFDLE1BQU07Z0JBQ1osZ0NBQXNCLENBQUMsUUFBUSxDQUFDO29CQUM5QixPQUFPLEVBQUUsK0JBQXFCLENBQUMsUUFBUTtpQkFDeEMsQ0FBQztZQUNKLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDeEMsZUFBZSxFQUFFLEtBQUssQ0FBQyxlQUFlLElBQUksc0JBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzNELGdCQUFnQixFQUFFLElBQUk7WUFDdEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHO1lBQzVDLFdBQVcsRUFBRSxxQkFBVyxDQUFDLEdBQUc7WUFDNUIsYUFBYSxFQUFFLHVCQUFhLENBQUMsaUJBQWlCO1lBQzlDLGFBQWEsRUFBRSwyQkFBYSxDQUFDLFFBQVE7WUFDckMsc0JBQXNCLEVBQUUsS0FBSztZQUM3QixZQUFZLEVBQ1YsS0FBSyxDQUFDLFlBQVksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7WUFDNUQsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDdEMsWUFBWSxFQUNWLEtBQUssQ0FBQyxZQUFZO2dCQUNsQixzQkFBWSxDQUFDLEVBQUUsQ0FBQyx1QkFBYSxDQUFDLFVBQVUsRUFBRSxzQkFBWSxDQUFDLEtBQUssQ0FBQztZQUMvRCxPQUFPLEVBQUUsS0FBSztZQUNkLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQiwwQkFBMEIsRUFDeEIsS0FBSyxDQUFDLDBCQUEwQixJQUFJLHFCQUFxQjtZQUMzRCxXQUFXLEVBQUUscUJBQVcsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztTQUNyRSxDQUNGLENBQUM7UUFDRixJQUFBLHFCQUFXLEVBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQztDQUNGO0FBbkdELHNCQW1HQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFja1Byb3BzIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBDb25uZWN0aW9ucyxcbiAgSUNvbm5lY3RhYmxlLFxuICBJbnN0YW5jZUNsYXNzLFxuICBJbnN0YW5jZVNpemUsXG4gIEluc3RhbmNlVHlwZSxcbiAgSVZwYyxcbiAgU3VibmV0VHlwZVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjMlwiO1xuaW1wb3J0IHtcbiAgQ2FDZXJ0aWZpY2F0ZSxcbiAgQ3JlZGVudGlhbHMsXG4gIERhdGFiYXNlSW5zdGFuY2UsXG4gIERhdGFiYXNlSW5zdGFuY2VFbmdpbmUsXG4gIElJbnN0YW5jZUVuZ2luZSxcbiAgUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBTdG9yYWdlVHlwZVxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXJkc1wiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFNlY3VyaXR5R3JvdXAgfSBmcm9tIFwiLi4vaWFtXCI7XG5pbXBvcnQgeyBDdXN0b21lck1hbmFnZWRLZXksIFNlY3JldCB9IGZyb20gXCIuLi9zZWNyZXRzXCI7XG5pbXBvcnQgeyBLZXlWYWx1ZSB9IGZyb20gXCIuLi8uLi8uLi90eXBlc1wiO1xuaW1wb3J0IHRhZ1Jlc291cmNlIGZyb20gXCIuLi8uLi8uLi91dGlscy90YWdSZXNvdXJjZVwiO1xuaW1wb3J0IHsgVnBjIH0gZnJvbSBcIi4uL25ldHdvcmtpbmcvdnBjXCI7XG5cbmludGVyZmFjZSBSZHNQcm9wcyBleHRlbmRzIFN0YWNrUHJvcHMge1xuICB2cGM/OiBWcGM7XG4gIGRhdGFiYXNlTmFtZT86IHN0cmluZztcbiAgZW5naW5lPzogSUluc3RhbmNlRW5naW5lO1xuICBpbnN0YW5jZVR5cGU/OiBJbnN0YW5jZVR5cGU7XG4gIG1heEFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIGFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIGJhY2t1cFJldGVudGlvbj86IER1cmF0aW9uO1xuICBjbHVzdGVySWRlbnRpZmllcj86IHN0cmluZztcbiAgbW9uaXRvcmluZ0ludGVydmFsPzogRHVyYXRpb247XG4gIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nO1xuICBwb3J0PzogbnVtYmVyO1xuICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzPzogYm9vbGVhbjtcbiAgZGF0YWJhc2VQcm94eT86IGJvb2xlYW47XG4gIC8vIFRPRE86IFRoZSBiZWxvdyBjb3VsZCBiZSBhIG51bWJlciwgdGhlbiBpdCBzY2FsZXMgYmFzZWQgb24gdGhlIGFtb3VudFxuICByZWFkUmVwbGljYT86IGJvb2xlYW47XG4gIHRhZ3M6IEtleVZhbHVlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSZHMgZXh0ZW5kcyBDb25zdHJ1Y3QgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuXG4gIHByaXZhdGUgZGF0YWJhc2VDcmVkZW50aWFsczogU2VjcmV0O1xuICBwcml2YXRlIGVuY3J5cHRpb25LZXk6IEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgLy8gcHJpdmF0ZSBkYXRhYmFzZVNlY3VyaXR5R3JvdXA6IFNlY3VyaXR5R3JvdXA7XG4gIHByaXZhdGUgZGF0YWJhc2U6IERhdGFiYXNlSW5zdGFuY2U7XG4gIHByaXZhdGUgdnBjOiBJVnBjO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIHRoaXMuYWRkRGF0YWJhc2UocHJvcHMpO1xuICB9XG5cbiAgYWRkVnBjKHByb3BzOiBSZHNQcm9wcykge1xuICAgIHRoaXMudnBjID0gcHJvcHMudnBjXG4gICAgICA/IHByb3BzLnZwY1xuICAgICAgOiBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1WcGNgLCB7XG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9KTtcbiAgfVxuICBhZGREYXRhYmFzZShwcm9wczogUmRzUHJvcHMpIHtcbiAgICAvLyBEYXRhYmFzZSBDcmVkZW50aWFsc1xuICAgIHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscyA9IG5ldyBTZWNyZXQoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYCxcbiAgICAgIHtcbiAgICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYCxcbiAgICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgdXNlcm5hbWU6IFwicG9zdGdyZXNcIlxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBpbmNsdWRlU3BhY2U6IGZhbHNlLFxuICAgICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCJcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBDdXN0b21lciBNYW5hZ2VkIEtleXNcbiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DbHVzdGVyRW5jcnlwdGlvbktleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L2VuY3J5cHRpb25LZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3VyaXR5R3JvdXBgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogYFNlY3VyaXR5IGdyb3VwIHRoYXQgYWxsb3dzIGluYm91bmQgYWNjZXNzIHRvIHRoZSBwb3N0Z3JlcyBjbHVzdGVyIGZvciAke3Byb3BzLmRhdGFiYXNlTmFtZX1gXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIERhdGFiYXNlIENsdXN0ZXJcbiAgICB0aGlzLmRhdGFiYXNlID0gbmV3IERhdGFiYXNlSW5zdGFuY2UoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfURhdGFiYXNlYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgICB9LFxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgZW5naW5lOlxuICAgICAgICAgIHByb3BzLmVuZ2luZSB8fFxuICAgICAgICAgIERhdGFiYXNlSW5zdGFuY2VFbmdpbmUucG9zdGdyZXMoe1xuICAgICAgICAgICAgdmVyc2lvbjogUG9zdGdyZXNFbmdpbmVWZXJzaW9uLlZFUl8xNl8zXG4gICAgICAgICAgfSksXG4gICAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICAgIGRhdGFiYXNlTmFtZTpcbiAgICAgICAgICBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7dGhpcy5ub2RlLmlkLnJlcGxhY2UoXCJSZHNcIiwgXCJcIil9YCxcbiAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgICAgICBJbnN0YW5jZVR5cGUub2YoSW5zdGFuY2VDbGFzcy5CVVJTVEFCTEUzLCBJbnN0YW5jZVNpemUuTUlDUk8pLFxuICAgICAgICBtdWx0aUF6OiBmYWxzZSxcbiAgICAgICAgcG9ydDogcHJvcHMucG9ydCxcbiAgICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscy5mcm9tU2VjcmV0KHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQpXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmRhdGFiYXNlLCBwcm9wcy50YWdzKTtcbiAgfVxufVxuIl19
80
+ exports.RdsFreeTier = RdsFreeTier;
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzRnJlZVRpZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNGcmVlVGllci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBa0U7QUFDbEUsaURBUTZCO0FBQzdCLGlEQVE2QjtBQUM3QiwyQ0FBdUM7QUFDdkMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQUV4RCw0REFBcUQ7QUFDckQsMkNBQXdDO0FBcUJ4QyxNQUFhLFdBQVksU0FBUSxzQkFBUztJQVV4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUc7WUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ1gsQ0FBQyxDQUFDLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ2pCLENBQUMsQ0FBQztJQUNULENBQUM7SUFDRCxXQUFXLENBQUMsS0FBZTtRQUN6Qix1QkFBdUI7UUFDdkIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksZ0JBQU0sQ0FDbkMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYSxFQUNsQztZQUNFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLGFBQWE7WUFDOUMsb0JBQW9CLEVBQUU7Z0JBQ3BCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7b0JBQ25DLFFBQVEsRUFBRSxVQUFVO2lCQUNyQixDQUFDO2dCQUNGLGtCQUFrQixFQUFFLElBQUk7Z0JBQ3hCLFlBQVksRUFBRSxLQUFLO2dCQUNuQixpQkFBaUIsRUFBRSxVQUFVO2FBQzlCO1lBQ0QsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1NBQ2pCLENBQ0YsQ0FBQztRQUVGLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksNEJBQWtCLENBQ3pDLElBQUksRUFDSixHQUFHLEtBQUssQ0FBQyxZQUFZLHNCQUFzQixFQUMzQztZQUNFLFNBQVMsRUFBRSxXQUFXLEtBQUssQ0FBQyxZQUFZLGdCQUFnQjtZQUN4RCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FDRixDQUFDO1FBRUYsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksbUJBQWEsQ0FDNUMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksZUFBZSxFQUNwQztZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFdBQVcsRUFBRSx5RUFBeUUsS0FBSyxDQUFDLFlBQVksRUFBRTtTQUMzRyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxXQUFXLENBQUM7UUFFMUQsbUJBQW1CO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSwwQkFBZ0IsQ0FDbEMsSUFBSSxFQUNKLEdBQUcsS0FBSyxDQUFDLFlBQVksVUFBVSxFQUMvQjtZQUNFLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRztZQUNiLFVBQVUsRUFBRTtnQkFDVixVQUFVLEVBQUUsb0JBQVUsQ0FBQyxtQkFBbUI7YUFDM0M7WUFDRCxjQUFjLEVBQUUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUM7WUFDNUMsTUFBTSxFQUNKLEtBQUssQ0FBQyxNQUFNO2dCQUNaLGdDQUFzQixDQUFDLFFBQVEsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLCtCQUFxQixDQUFDLFFBQVE7aUJBQ3hDLENBQUM7WUFDSixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLHNCQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMzRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRztZQUM1QyxXQUFXLEVBQUUscUJBQVcsQ0FBQyxHQUFHO1lBQzVCLGFBQWEsRUFBRSx1QkFBYSxDQUFDLGlCQUFpQjtZQUM5QyxhQUFhLEVBQUUsMkJBQWEsQ0FBQyxRQUFRO1lBQ3JDLHNCQUFzQixFQUFFLEtBQUs7WUFDN0IsWUFBWSxFQUNWLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFO1lBQzVELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxZQUFZO1lBQ3RDLFlBQVksRUFDVixLQUFLLENBQUMsWUFBWTtnQkFDbEIsc0JBQVksQ0FBQyxFQUFFLENBQUMsdUJBQWEsQ0FBQyxVQUFVLEVBQUUsc0JBQVksQ0FBQyxLQUFLLENBQUM7WUFDL0QsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsMEJBQTBCLEVBQ3hCLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxxQkFBcUI7WUFDM0QsV0FBVyxFQUFFLHFCQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUM7U0FDckUsQ0FDRixDQUFDO1FBQ0YsSUFBQSxxQkFBVyxFQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7Q0FDRjtBQXJHRCxrQ0FxR0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEdXJhdGlvbiwgUmVtb3ZhbFBvbGljeSwgU3RhY2tQcm9wcyB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBJSW5zdGFuY2VFbmdpbmUsXG4gIFBvc3RncmVzRW5naW5lVmVyc2lvbixcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuLi9uZXR3b3JraW5nL3ZwY1wiO1xuXG5pbnRlcmZhY2UgUmRzUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHtcbiAgdnBjPzogVnBjO1xuICBkYXRhYmFzZU5hbWU/OiBzdHJpbmc7XG4gIGVuZ2luZT86IElJbnN0YW5jZUVuZ2luZTtcbiAgaW5zdGFuY2VUeXBlPzogSW5zdGFuY2VUeXBlO1xuICBtYXhBbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuICBhbGxvY2F0ZWRTdG9yYWdlPzogbnVtYmVyO1xuICBiYWNrdXBSZXRlbnRpb24/OiBEdXJhdGlvbjtcbiAgY2x1c3RlcklkZW50aWZpZXI/OiBzdHJpbmc7XG4gIG1vbml0b3JpbmdJbnRlcnZhbD86IER1cmF0aW9uO1xuICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdz86IHN0cmluZztcbiAgcG9ydD86IG51bWJlcjtcbiAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cz86IGJvb2xlYW47XG4gIGRhdGFiYXNlUHJveHk/OiBib29sZWFuO1xuICAvLyBUT0RPOiBUaGUgYmVsb3cgY291bGQgYmUgYSBudW1iZXIsIHRoZW4gaXQgc2NhbGVzIGJhc2VkIG9uIHRoZSBhbW91bnRcbiAgcmVhZFJlcGxpY2E/OiBib29sZWFuO1xuICB0YWdzOiBLZXlWYWx1ZTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0ZyZWVUaWVyIGV4dGVuZHMgQ29uc3RydWN0IGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIGRhdGFiYXNlU2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcbiAgcHVibGljIHZwYzogSVZwYztcblxuICBwcml2YXRlIGRhdGFiYXNlQ3JlZGVudGlhbHM6IFNlY3JldDtcbiAgcHJpdmF0ZSBlbmNyeXB0aW9uS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIC8vIHByaXZhdGUgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwcml2YXRlIGRhdGFiYXNlOiBEYXRhYmFzZUluc3RhbmNlO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5hZGRWcGMocHJvcHMpO1xuICAgIHRoaXMuYWRkRGF0YWJhc2UocHJvcHMpO1xuICB9XG5cbiAgYWRkVnBjKHByb3BzOiBSZHNQcm9wcykge1xuICAgIHRoaXMudnBjID0gcHJvcHMudnBjXG4gICAgICA/IHByb3BzLnZwY1xuICAgICAgOiBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1WcGNgLCB7XG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9KTtcbiAgfVxuICBhZGREYXRhYmFzZShwcm9wczogUmRzUHJvcHMpIHtcbiAgICAvLyBEYXRhYmFzZSBDcmVkZW50aWFsc1xuICAgIHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscyA9IG5ldyBTZWNyZXQoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYCxcbiAgICAgIHtcbiAgICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNyZWRlbnRpYWxzYCxcbiAgICAgICAgZ2VuZXJhdGVTZWNyZXRTdHJpbmc6IHtcbiAgICAgICAgICBzZWNyZXRTdHJpbmdUZW1wbGF0ZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgdXNlcm5hbWU6IFwicG9zdGdyZXNcIlxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGV4Y2x1ZGVQdW5jdHVhdGlvbjogdHJ1ZSxcbiAgICAgICAgICBpbmNsdWRlU3BhY2U6IGZhbHNlLFxuICAgICAgICAgIGdlbmVyYXRlU3RyaW5nS2V5OiBcInBhc3N3b3JkXCJcbiAgICAgICAgfSxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICAvLyBDdXN0b21lciBNYW5hZ2VkIEtleXNcbiAgICB0aGlzLmVuY3J5cHRpb25LZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DbHVzdGVyRW5jcnlwdGlvbktleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L2VuY3J5cHRpb25LZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3VyaXR5R3JvdXBgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICBkZXNjcmlwdGlvbjogYFNlY3VyaXR5IGdyb3VwIHRoYXQgYWxsb3dzIGluYm91bmQgYWNjZXNzIHRvIHRoZSBwb3N0Z3JlcyBjbHVzdGVyIGZvciAke3Byb3BzLmRhdGFiYXNlTmFtZX1gXG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuY29ubmVjdGlvbnMgPSB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5jb25uZWN0aW9ucztcblxuICAgIC8vIERhdGFiYXNlIENsdXN0ZXJcbiAgICB0aGlzLmRhdGFiYXNlID0gbmV3IERhdGFiYXNlSW5zdGFuY2UoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfURhdGFiYXNlYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgICB9LFxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgZW5naW5lOlxuICAgICAgICAgIHByb3BzLmVuZ2luZSB8fFxuICAgICAgICAgIERhdGFiYXNlSW5zdGFuY2VFbmdpbmUucG9zdGdyZXMoe1xuICAgICAgICAgICAgdmVyc2lvbjogUG9zdGdyZXNFbmdpbmVWZXJzaW9uLlZFUl8xNl8zXG4gICAgICAgICAgfSksXG4gICAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICAgIGRhdGFiYXNlTmFtZTpcbiAgICAgICAgICBwcm9wcy5kYXRhYmFzZU5hbWUgfHwgYCR7dGhpcy5ub2RlLmlkLnJlcGxhY2UoXCJSZHNcIiwgXCJcIil9YCxcbiAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgICAgICBJbnN0YW5jZVR5cGUub2YoSW5zdGFuY2VDbGFzcy5CVVJTVEFCTEUzLCBJbnN0YW5jZVNpemUuTUlDUk8pLFxuICAgICAgICBtdWx0aUF6OiBmYWxzZSxcbiAgICAgICAgcG9ydDogcHJvcHMucG9ydCxcbiAgICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgICAgcHJvcHMucHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3cgfHwgXCJTYXQ6MTI6MzAtU2F0OjIwOjMwXCIsXG4gICAgICAgIGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscy5mcm9tU2VjcmV0KHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQpXG4gICAgICB9XG4gICAgKTtcbiAgICB0YWdSZXNvdXJjZSh0aGlzLmRhdGFiYXNlLCBwcm9wcy50YWdzKTtcbiAgfVxufVxuIl19
@@ -1,12 +1,13 @@
1
1
  import { Duration, Stack } from "aws-cdk-lib";
2
- import { Connections, IConnectable, InstanceType, Vpc } from "aws-cdk-lib/aws-ec2";
2
+ import { Connections, IConnectable, InstanceType, IVpc } from "aws-cdk-lib/aws-ec2";
3
3
  import { IInstanceEngine } from "aws-cdk-lib/aws-rds";
4
4
  import { Construct } from "constructs";
5
5
  import { SecurityGroup } from "../iam";
6
6
  import { KeyValue } from "../../../types";
7
7
  import { StackBuilder } from "../awsStack";
8
+ import { Vpc } from "../networking/vpc";
8
9
  interface RdsProps {
9
- vpc: Vpc;
10
+ vpc?: Vpc;
10
11
  databaseName?: string;
11
12
  engine?: IInstanceEngine;
12
13
  instanceType?: InstanceType;
@@ -23,9 +24,10 @@ interface RdsProps {
23
24
  tags: KeyValue;
24
25
  securityGroupIds?: string[];
25
26
  }
26
- export default class Rds extends Stack implements IConnectable {
27
+ export declare class RdsInstance extends Stack implements IConnectable {
27
28
  connections: Connections;
28
29
  databaseSecurityGroup: SecurityGroup;
30
+ vpc: IVpc;
29
31
  private databaseCredentials;
30
32
  private encryptionKey;
31
33
  private databasePerformanceInsightsKey;
@@ -33,6 +35,7 @@ export default class Rds extends Stack implements IConnectable {
33
35
  private masterSecret;
34
36
  private databaseProxy;
35
37
  constructor(scope: Construct, id: string, props: RdsProps);
38
+ addVpc(props: RdsProps): void;
36
39
  addDatabase(props: RdsProps): void;
37
40
  rotateSecret(props: RdsProps): void;
38
41
  addProxy(props: RdsProps): void;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RdsInstance = void 0;
3
4
  const aws_cdk_lib_1 = require("aws-cdk-lib");
4
5
  const aws_ec2_1 = require("aws-cdk-lib/aws-ec2");
5
6
  const aws_rds_1 = require("aws-cdk-lib/aws-rds");
@@ -7,9 +8,11 @@ const aws_secretsmanager_1 = require("aws-cdk-lib/aws-secretsmanager");
7
8
  const iam_1 = require("../iam");
8
9
  const secrets_1 = require("../secrets");
9
10
  const tagResource_1 = require("../../../utils/tagResource");
10
- class Rds extends aws_cdk_lib_1.Stack {
11
+ const vpc_1 = require("../networking/vpc");
12
+ class RdsInstance extends aws_cdk_lib_1.Stack {
11
13
  constructor(scope, id, props) {
12
14
  super(scope, id);
15
+ this.addVpc(props);
13
16
  this.addDatabase(props);
14
17
  this.rotateSecret(props);
15
18
  if (props.databaseProxy) {
@@ -19,6 +22,13 @@ class Rds extends aws_cdk_lib_1.Stack {
19
22
  this.addReadReplica(props);
20
23
  }
21
24
  }
25
+ addVpc(props) {
26
+ this.vpc = props.vpc
27
+ ? props.vpc
28
+ : new vpc_1.Vpc(this, `${props.databaseName}Vpc`, {
29
+ tags: props.tags
30
+ });
31
+ }
22
32
  addDatabase(props) {
23
33
  // Database Credentials
24
34
  this.databaseCredentials = new secrets_1.Secret(this, `${props.databaseName}Credentials`, {
@@ -45,7 +55,7 @@ class Rds extends aws_cdk_lib_1.Stack {
45
55
  });
46
56
  }
47
57
  this.databaseSecurityGroup = new iam_1.SecurityGroup(this, `${props.databaseName}SecurityGroup`, {
48
- vpc: props.vpc,
58
+ vpc: this.vpc,
49
59
  description: `Security group that allows inbound access to the postgres cluster for ${props.databaseName}`
50
60
  });
51
61
  //TODO: Remove this line, that allows the proxy to connect to the database. Replace with seperated security groups
@@ -53,7 +63,7 @@ class Rds extends aws_cdk_lib_1.Stack {
53
63
  this.connections = this.databaseSecurityGroup.connections;
54
64
  // Database Cluster
55
65
  this.database = new aws_rds_1.DatabaseInstance(this, `${props.databaseName}Database`, {
56
- vpc: props.vpc,
66
+ vpc: this.vpc,
57
67
  vpcSubnets: {
58
68
  subnetType: aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
59
69
  },
@@ -109,7 +119,7 @@ class Rds extends aws_cdk_lib_1.Stack {
109
119
  secrets: [this.databaseCredentials.secret],
110
120
  // TODO: Create a new security group, and remove the line that allows the proxy to connect to the database
111
121
  securityGroups: [this.databaseSecurityGroup],
112
- vpc: props.vpc,
122
+ vpc: this.vpc,
113
123
  vpcSubnets: {
114
124
  subnetType: aws_ec2_1.SubnetType.PUBLIC
115
125
  }
@@ -127,7 +137,7 @@ class Rds extends aws_cdk_lib_1.Stack {
127
137
  });
128
138
  new aws_rds_1.DatabaseInstanceReadReplica(this, `${props.databaseName}ReadReplica`, {
129
139
  sourceDatabaseInstance: this.database,
130
- vpc: props.vpc,
140
+ vpc: this.vpc,
131
141
  vpcSubnets: {
132
142
  subnetType: aws_ec2_1.SubnetType.PRIVATE_WITH_EGRESS
133
143
  },
@@ -169,5 +179,5 @@ class Rds extends aws_cdk_lib_1.Stack {
169
179
  };
170
180
  }
171
181
  }
172
- exports.default = Rds;
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUF3RTtBQUN4RSxpREFTNkI7QUFDN0IsaURBVzZCO0FBQzdCLHVFQUd3QztBQUV4QyxnQ0FBdUM7QUFDdkMsd0NBQXdEO0FBR3hELDREQUFxRDtBQXNCckQsTUFBcUIsR0FBSSxTQUFRLG1CQUFLO0lBV3BDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBZTtRQUN2RCxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFlO1FBQ3pCLHVCQUF1QjtRQUN2QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxnQkFBTSxDQUNuQyxJQUFJLEVBQ0osR0FBRyxLQUFLLENBQUMsWUFBWSxhQUFhLEVBQ2xDO1lBQ0UsVUFBVSxFQUFFLEdBQUcsS0FBSyxDQUFDLFlBQVksYUFBYTtZQUM5QyxvQkFBb0IsRUFBRTtnQkFDcEIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztvQkFDbkMsUUFBUSxFQUFFLFVBQVU7aUJBQ3JCLENBQUM7Z0JBQ0Ysa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsWUFBWSxFQUFFLEtBQUs7Z0JBQ25CLGlCQUFp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Z0IsRUFBRSxFQUFFO1lBQzFCLE1BQU0sUUFBUSxHQUFhO2dCQUN6QixHQUFHLEtBQUs7Z0JBQ1IsR0FBRztvQkFDRCxHQUFHLEVBQUcsRUFBRSxDQUFDLFVBQVUsRUFBVSxJQUFJLEtBQUssRUFBRSxHQUFHO29CQUMzQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLElBQUksRUFBRTtvQkFDL0MsWUFBWSxFQUFFLEtBQUssQ0FBQyxZQUFZLElBQUksR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRTtvQkFDOUQsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2lCQUNqQjthQUNGLENBQUM7WUFFRixPQUFPLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDO0lBQ0osQ0FBQztDQUNGO0FBck9ELHNCQXFPQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENmbk91dHB1dCwgRHVyYXRpb24sIFJlbW92YWxQb2xpY3ksIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBDb25uZWN0aW9ucyxcbiAgSUNvbm5lY3RhYmxlLFxuICBJbnN0YW5jZUNsYXNzLFxuICBJbnN0YW5jZVNpemUsXG4gIEluc3RhbmNlVHlwZSxcbiAgUG9ydCxcbiAgU3VibmV0VHlwZSxcbiAgVnBjXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQge1xuICBDYUNlcnRpZmljYXRlLFxuICBDcmVkZW50aWFscyxcbiAgRGF0YWJhc2VJbnN0YW5jZSxcbiAgRGF0YWJhc2VJbnN0YW5jZUVuZ2luZSxcbiAgRGF0YWJhc2VJbnN0YW5jZVJlYWRSZXBsaWNhLFxuICBEYXRhYmFzZVByb3h5LFxuICBJSW5zdGFuY2VFbmdpbmUsXG4gIFBvc3RncmVzRW5naW5lVmVyc2lvbixcbiAgUHJveHlUYXJnZXQsXG4gIFN0b3JhZ2VUeXBlXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtcmRzXCI7XG5pbXBvcnQge1xuICBTZWNyZXRSb3RhdGlvbixcbiAgU2VjcmV0Um90YXRpb25BcHBsaWNhdGlvblxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXNlY3JldHNtYW5hZ2VyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgU2VjdXJpdHlHcm91cCB9IGZyb20gXCIuLi9pYW1cIjtcbmltcG9ydCB7IEN1c3RvbWVyTWFuYWdlZEtleSwgU2VjcmV0IH0gZnJvbSBcIi4uL3NlY3JldHNcIjtcbmltcG9ydCB7IEtleVZhbHVlIH0gZnJvbSBcIi4uLy4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBTdGFja0J1aWxkZXIgfSBmcm9tIFwiLi4vYXdzU3RhY2tcIjtcbmltcG9ydCB0YWdSZXNvdXJjZSBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGFnUmVzb3VyY2VcIjtcblxuaW50ZXJmYWNlIFJkc1Byb3BzIHtcbiAgdnBjOiBWcGM7XG4gIGRhdGFiYXNlTmFtZT86IHN0cmluZztcbiAgZW5naW5lPzogSUluc3RhbmNlRW5naW5lO1xuICBpbnN0YW5jZVR5cGU/OiBJbnN0YW5jZVR5cGU7XG4gIG1heEFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIGFsbG9jYXRlZFN0b3JhZ2U/OiBudW1iZXI7XG4gIGJhY2t1cFJldGVudGlvbj86IER1cmF0aW9uO1xuICBjbHVzdGVySWRlbnRpZmllcj86IHN0cmluZztcbiAgbW9uaXRvcmluZ0ludGVydmFsPzogRHVyYXRpb247XG4gIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93Pzogc3RyaW5nO1xuICBwb3J0PzogbnVtYmVyO1xuICBlbmFibGVQZXJmb3JtYW5jZUluc2lnaHRzPzogYm9vbGVhbjtcbiAgZGF0YWJhc2VQcm94eT86IGJvb2xlYW47XG4gIC8vIFRPRE86IFRoZSBiZWxvdyBjb3VsZCBiZSBhIG51bWJlciwgdGhlbiBpdCBzY2FsZXMgYmFzZWQgb24gdGhlIGFtb3VudFxuICByZWFkUmVwbGljYT86IGJvb2xlYW47XG4gIHRhZ3M6IEtleVZhbHVlO1xuICBzZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJkcyBleHRlbmRzIFN0YWNrIGltcGxlbWVudHMgSUNvbm5lY3RhYmxlIHtcbiAgcHVibGljIGNvbm5lY3Rpb25zOiBDb25uZWN0aW9ucztcbiAgcHVibGljIGRhdGFiYXNlU2VjdXJpdHlHcm91cDogU2VjdXJpdHlHcm91cDtcblxuICBwcml2YXRlIGRhdGFiYXNlQ3JlZGVudGlhbHM6IFNlY3JldDtcbiAgcHJpdmF0ZSBlbmNyeXB0aW9uS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIHByaXZhdGUgZGF0YWJhc2VQZXJmb3JtYW5jZUluc2lnaHRzS2V5OiBDdXN0b21lck1hbmFnZWRLZXk7XG4gIHByaXZhdGUgZGF0YWJhc2U6IERhdGFiYXNlSW5zdGFuY2U7XG4gIHByaXZhdGUgbWFzdGVyU2VjcmV0OiBTZWNyZXQ7XG4gIHByaXZhdGUgZGF0YWJhc2VQcm94eTogRGF0YWJhc2VQcm94eTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogUmRzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5hZGREYXRhYmFzZShwcm9wcyk7XG4gICAgdGhpcy5yb3RhdGVTZWNyZXQocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlUHJveHkpIHtcbiAgICAgIHRoaXMuYWRkUHJveHkocHJvcHMpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yZWFkUmVwbGljYSkge1xuICAgICAgdGhpcy5hZGRSZWFkUmVwbGljYShwcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgYWRkRGF0YWJhc2UocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gRGF0YWJhc2UgQ3JlZGVudGlhbHNcbiAgICB0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMgPSBuZXcgU2VjcmV0KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICB7XG4gICAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1DcmVkZW50aWFsc2AsXG4gICAgICAgIGdlbmVyYXRlU2VjcmV0U3RyaW5nOiB7XG4gICAgICAgICAgc2VjcmV0U3RyaW5nVGVtcGxhdGU6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIHVzZXJuYW1lOiBcInBvc3RncmVzXCJcbiAgICAgICAgICB9KSxcbiAgICAgICAgICBleGNsdWRlUHVuY3R1YXRpb246IHRydWUsXG4gICAgICAgICAgaW5jbHVkZVNwYWNlOiBmYWxzZSxcbiAgICAgICAgICBnZW5lcmF0ZVN0cmluZ0tleTogXCJwYXNzd29yZFwiXG4gICAgICAgIH0sXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gQ3VzdG9tZXIgTWFuYWdlZCBLZXlzXG4gICAgdGhpcy5lbmNyeXB0aW9uS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q2x1c3RlckVuY3J5cHRpb25LZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9lbmNyeXB0aW9uS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBpZiAocHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cykge1xuICAgICAgdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkgPSBuZXcgQ3VzdG9tZXJNYW5hZ2VkS2V5KFxuICAgICAgICB0aGlzLFxuICAgICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UGVyZm9ybWFuY2VJbnNpZ2h0c0tleWAsXG4gICAgICAgIHtcbiAgICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9JbnNpZ2h0c0tleWAsXG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwID0gbmV3IFNlY3VyaXR5R3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3VyaXR5R3JvdXBgLFxuICAgICAge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvL1RPRE86IFJlbW92ZSB0aGlzIGxpbmUsIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS4gUmVwbGFjZSB3aXRoIHNlcGVyYXRlZCBzZWN1cml0eSBncm91cHNcbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLFxuICAgICAgUG9ydC50Y3AoNTQzMilcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLmNvbm5lY3Rpb25zO1xuXG4gICAgLy8gRGF0YWJhc2UgQ2x1c3RlclxuICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgRGF0YWJhc2VJbnN0YW5jZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VgLFxuICAgICAge1xuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTU1xuICAgICAgICB9LFxuICAgICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgICAgZW5naW5lOlxuICAgICAgICAgIHByb3BzLmVuZ2luZSB8fFxuICAgICAgICAgIERhdGFiYXNlSW5zdGFuY2VFbmdpbmUucG9zdGdyZXMoe1xuICAgICAgICAgICAgdmVyc2lvbjogUG9zdGdyZXNFbmdpbmVWZXJzaW9uLlZFUl8xNl8zXG4gICAgICAgICAgfSksXG4gICAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICAgIGJhY2t1cFJldGVudGlvbjogcHJvcHMuYmFja3VwUmV0ZW50aW9uIHx8IER1cmF0aW9uLmRheXMoMTQpLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGVkOiB0cnVlLFxuICAgICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgICAgc3RvcmFnZVR5cGU6IFN0b3JhZ2VUeXBlLkdQMyxcbiAgICAgICAgY2FDZXJ0aWZpY2F0ZTogQ2FDZXJ0aWZpY2F0ZS5SRFNfQ0FfUlNBNDA5Nl9HMSxcbiAgICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgICAgZGVsZXRlQXV0b21hdGVkQmFja3VwczogZmFsc2UsXG4gICAgICAgIGVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHM6IHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHMsXG4gICAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHNcbiAgICAgICAgICA/IHRoaXMuZGF0YWJhc2VQZXJmb3JtYW5jZUluc2lnaHRzS2V5LmtleVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBwcm9wcy5kYXRhYmFzZU5hbWUsXG4gICAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgICBwcm9wcy5pbnN0YW5jZVR5cGUgfHxcbiAgICAgICAgICBJbnN0YW5jZVR5cGUub2YoSW5zdGFuY2VDbGFzcy5TVEFOREFSRDdfR1JBVklUT04sIEluc3RhbmNlU2l6ZS5MQVJHRSksXG4gICAgICAgIG1heEFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLm1heEFsbG9jYXRlZFN0b3JhZ2UgfHwgNTAwLFxuICAgICAgICBtb25pdG9yaW5nSW50ZXJ2YWw6IHByb3BzLm1vbml0b3JpbmdJbnRlcnZhbCB8fCBEdXJhdGlvbi5taW51dGVzKDEpLFxuICAgICAgICBtdWx0aUF6OiB0cnVlLFxuICAgICAgICBwb3J0OiBwcm9wcy5wb3J0LFxuICAgICAgICBwcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdzpcbiAgICAgICAgICBwcm9wcy5wcmVmZXJyZWRNYWludGVuYW5jZVdpbmRvdyB8fCBcIlNhdDoxMjozMC1TYXQ6MjA6MzBcIixcbiAgICAgICAgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzLmZyb21TZWNyZXQodGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldClcbiAgICAgIH1cbiAgICApO1xuICAgIHRhZ1Jlc291cmNlKHRoaXMuZGF0YWJhc2UsIHByb3BzLnRhZ3MpO1xuICB9XG5cbiAgcm90YXRlU2VjcmV0KHByb3BzOiBSZHNQcm9wcykge1xuICAgIC8vIFJvdGF0ZSB0aGUgU2VjcmV0IGV2ZXJ5IDMwIGRheXNcbiAgICB0aGlzLm1hc3RlclNlY3JldCA9IG5ldyBTZWNyZXQodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGAsIHtcbiAgICAgIHNlY3JldE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1NYXN0ZXJTZWNyZXRgLFxuICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgIH0pO1xuXG4gICAgbmV3IFNlY3JldFJvdGF0aW9uKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWNyZXRSb3RhdGlvbmAsIHtcbiAgICAgIGFwcGxpY2F0aW9uOiBuZXcgU2VjcmV0Um90YXRpb25BcHBsaWNhdGlvbihcbiAgICAgICAgXCJTZWNyZXRzTWFuYWdlclJEU1Bvc3RncmVTUUxSb3RhdGlvbk11bHRpVXNlclwiLFxuICAgICAgICBcIjEuMS4zNjdcIixcbiAgICAgICAge1xuICAgICAgICAgIGlzTXVsdGlVc2VyOiB0cnVlXG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBzZWNyZXQ6IHRoaXMuZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXQsXG4gICAgICBtYXN0ZXJTZWNyZXQ6IHRoaXMubWFzdGVyU2VjcmV0LnNlY3JldCxcbiAgICAgIHRhcmdldDogdGhpcy5kYXRhYmFzZSxcbiAgICAgIHZwYzogdGhpcy5kYXRhYmFzZS52cGNcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFByb3h5KHByb3BzOiBSZHNQcm9wcykge1xuICAgIHRoaXMuZGF0YWJhc2VQcm94eSA9IG5ldyBEYXRhYmFzZVByb3h5KFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1EYXRhYmFzZVByb3h5YCxcbiAgICAgIHtcbiAgICAgICAgcHJveHlUYXJnZXQ6IFByb3h5VGFyZ2V0LmZyb21JbnN0YW5jZSh0aGlzLmRhdGFiYXNlKSxcbiAgICAgICAgc2VjcmV0czogW3RoaXMuZGF0YWJhc2VDcmVkZW50aWFscy5zZWNyZXRdLFxuICAgICAgICAvLyBUT0RPOiBDcmVhdGUgYSBuZXcgc2VjdXJpdHkgZ3JvdXAsIGFuZCByZW1vdmUgdGhlIGxpbmUgdGhhdCBhbGxvd3MgdGhlIHByb3h5IHRvIGNvbm5lY3QgdG8gdGhlIGRhdGFiYXNlXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgICB2cGM6IHByb3BzLnZwYyxcbiAgICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICAgIHN1Ym5ldFR5cGU6IFN1Ym5ldFR5cGUuUFVCTElDXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICApO1xuXG4gICAgbmV3IENmbk91dHB1dCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UHJveHlFbmRwb2ludE91dHB1dGAsIHtcbiAgICAgIGtleTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgZXhwb3J0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRgLFxuICAgICAgdmFsdWU6IHRoaXMuZGF0YWJhc2VQcm94eS5lbmRwb2ludFxuICAgIH0pO1xuICB9XG5cbiAgYWRkUmVhZFJlcGxpY2EocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgY29uc3QgcmVhZFJlcGxpY2FQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9UmVhZFJlcGxpY2FSZWFkZXJJbnNpZ2h0c0tleWAsXG4gICAgICB7XG4gICAgICAgIGFsaWFzTmFtZTogYGNtay9yZHMvJHtwcm9wcy5kYXRhYmFzZU5hbWV9L1JlYWRSZXBsaWNhSW5zaWdodHNLZXlgLFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJlYWRSZXBsaWNhYCwge1xuICAgICAgc291cmNlRGF0YWJhc2VJbnN0YW5jZTogdGhpcy5kYXRhYmFzZSxcbiAgICAgIHZwYzogcHJvcHMudnBjLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICBiYWNrdXBSZXRlbnRpb246IHByb3BzLmJhY2t1cFJldGVudGlvbiB8fCBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlVHlwZS5HUDMsXG4gICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgIGRlbGV0ZUF1dG9tYXRlZEJhY2t1cHM6IGZhbHNlLFxuICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHNcbiAgICAgICAgPyByZWFkUmVwbGljYVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YCxcbiAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlIHx8XG4gICAgICAgIEluc3RhbmNlVHlwZS5vZihJbnN0YW5jZUNsYXNzLlNUQU5EQVJEN19HUkFWSVRPTiwgSW5zdGFuY2VTaXplLkxBUkdFKSxcbiAgICAgIG1heEFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLm1heEFsbG9jYXRlZFN0b3JhZ2UgfHwgNTAwLFxuICAgICAgbW9uaXRvcmluZ0ludGVydmFsOiBwcm9wcy5tb25pdG9yaW5nSW50ZXJ2YWwgfHwgRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICBwb3J0OiBwcm9wcy5wb3J0LFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM6IFJkc1Byb3BzKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICBjb25zdCBuZXdQcm9wczogUmRzUHJvcHMgPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiAoc2IuZ2V0TmV0d29yaygpIGFzIFZwYykgfHwgcHJvcHM/LnZwYyxcbiAgICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcz8uc2VjdXJpdHlHcm91cElkcyA/PyBbXSxcbiAgICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSB8fCBgJHtpZC5yZXBsYWNlKFwiUmRzXCIsIFwiXCIpfWAsXG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbmV3IHRoaXMoc2IuZ2V0U3RhY2soKSwgaWQsIG5ld1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
182
+ exports.RdsInstance = RdsInstance;
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmRzSW5zdGFuY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvcmVzb3VyY2VzL2F3cy9kYXRhYmFzZS9yZHNJbnN0YW5jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBd0U7QUFDeEUsaURBUzZCO0FBQzdCLGlEQVc2QjtBQUM3Qix1RUFHd0M7QUFFeEMsZ0NBQXVDO0FBQ3ZDLHdDQUF3RDtBQUd4RCw0REFBcUQ7QUFDckQsMkNBQXdDO0FBc0J4QyxNQUFhLFdBQVksU0FBUSxtQkFBSztJQVlwQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWU7UUFDdkQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUN0QjtRQUVELElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRTtZQUNyQixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFlO1FBQ3BCLElBQUksQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUc7WUFDbEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHO1lBQ1gsQ0FBQyxDQUFDLElBQUksU0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEtBQUssQ0FBQyxZQUFZLEtBQUssRUFBRTtnQkFDeEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2FBQ2pCLENBQUMsQ0FBQztJQUNULENBQUM7SUFFRCxXQUFXLENBQUMsS0FBZTtRQUN6Qix1QkFBdUI7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QyxtQkFBbUIsSUFBSSxHQUFHO1lBQ3JELGtCQUFrQixFQUFFLEtBQUssQ0FBQyxrQkFBa0IsSUFBSSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFDbkUsT0FBTyxFQUFFLElBQUk7WUFDYixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7WUFDaEIsMEJBQTBCLEVBQ3hCLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxxQkFBcUI7U0FDNUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBVSxFQUFFLEtBQWU7UUFDdEMsT0FBTyxDQUFDLEVBQWdCLEVBQUUsRUFBRTtZQUMxQixNQUFNLFFBQVEsR0FBYTtnQkFDekIsR0FBRyxLQUFLO2dCQUNSLEdBQUc7b0JBQ0QsR0FBRyxFQUFHLEVBQUUsQ0FBQyxVQUFVLEVBQVUsSUFBSSxLQUFLLEVBQUUsR0FBRztvQkFDM0MsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixJQUFJLEVBQUU7b0JBQy9DLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUU7b0JBQzlELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtpQkFDakI7YUFDRixDQUFDO1lBRUYsT0FBTyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQS9PRCxrQ0ErT0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZm5PdXRwdXQsIER1cmF0aW9uLCBSZW1vdmFsUG9saWN5LCBTdGFjayB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHtcbiAgQ29ubmVjdGlvbnMsXG4gIElDb25uZWN0YWJsZSxcbiAgSW5zdGFuY2VDbGFzcyxcbiAgSW5zdGFuY2VTaXplLFxuICBJbnN0YW5jZVR5cGUsXG4gIElWcGMsXG4gIFBvcnQsXG4gIFN1Ym5ldFR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIENhQ2VydGlmaWNhdGUsXG4gIENyZWRlbnRpYWxzLFxuICBEYXRhYmFzZUluc3RhbmNlLFxuICBEYXRhYmFzZUluc3RhbmNlRW5naW5lLFxuICBEYXRhYmFzZUluc3RhbmNlUmVhZFJlcGxpY2EsXG4gIERhdGFiYXNlUHJveHksXG4gIElJbnN0YW5jZUVuZ2luZSxcbiAgUG9zdGdyZXNFbmdpbmVWZXJzaW9uLFxuICBQcm94eVRhcmdldCxcbiAgU3RvcmFnZVR5cGVcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1yZHNcIjtcbmltcG9ydCB7XG4gIFNlY3JldFJvdGF0aW9uLFxuICBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBTZWN1cml0eUdyb3VwIH0gZnJvbSBcIi4uL2lhbVwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJNYW5hZ2VkS2V5LCBTZWNyZXQgfSBmcm9tIFwiLi4vc2VjcmV0c1wiO1xuaW1wb3J0IHsgS2V5VmFsdWUgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IFN0YWNrQnVpbGRlciB9IGZyb20gXCIuLi9hd3NTdGFja1wiO1xuaW1wb3J0IHRhZ1Jlc291cmNlIGZyb20gXCIuLi8uLi8uLi91dGlscy90YWdSZXNvdXJjZVwiO1xuaW1wb3J0IHsgVnBjIH0gZnJvbSBcIi4uL25ldHdvcmtpbmcvdnBjXCI7XG5cbmludGVyZmFjZSBSZHNQcm9wcyB7XG4gIHZwYz86IFZwYztcbiAgZGF0YWJhc2VOYW1lPzogc3RyaW5nO1xuICBlbmdpbmU/OiBJSW5zdGFuY2VFbmdpbmU7XG4gIGluc3RhbmNlVHlwZT86IEluc3RhbmNlVHlwZTtcbiAgbWF4QWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYWxsb2NhdGVkU3RvcmFnZT86IG51bWJlcjtcbiAgYmFja3VwUmV0ZW50aW9uPzogRHVyYXRpb247XG4gIGNsdXN0ZXJJZGVudGlmaWVyPzogc3RyaW5nO1xuICBtb25pdG9yaW5nSW50ZXJ2YWw/OiBEdXJhdGlvbjtcbiAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c/OiBzdHJpbmc7XG4gIHBvcnQ/OiBudW1iZXI7XG4gIGVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHM/OiBib29sZWFuO1xuICBkYXRhYmFzZVByb3h5PzogYm9vbGVhbjtcbiAgLy8gVE9ETzogVGhlIGJlbG93IGNvdWxkIGJlIGEgbnVtYmVyLCB0aGVuIGl0IHNjYWxlcyBiYXNlZCBvbiB0aGUgYW1vdW50XG4gIHJlYWRSZXBsaWNhPzogYm9vbGVhbjtcbiAgdGFnczogS2V5VmFsdWU7XG4gIHNlY3VyaXR5R3JvdXBJZHM/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFJkc0luc3RhbmNlIGV4dGVuZHMgU3RhY2sgaW1wbGVtZW50cyBJQ29ubmVjdGFibGUge1xuICBwdWJsaWMgY29ubmVjdGlvbnM6IENvbm5lY3Rpb25zO1xuICBwdWJsaWMgZGF0YWJhc2VTZWN1cml0eUdyb3VwOiBTZWN1cml0eUdyb3VwO1xuICBwdWJsaWMgdnBjOiBJVnBjO1xuXG4gIHByaXZhdGUgZGF0YWJhc2VDcmVkZW50aWFsczogU2VjcmV0O1xuICBwcml2YXRlIGVuY3J5cHRpb25LZXk6IEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgcHJpdmF0ZSBkYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXk6IEN1c3RvbWVyTWFuYWdlZEtleTtcbiAgcHJpdmF0ZSBkYXRhYmFzZTogRGF0YWJhc2VJbnN0YW5jZTtcbiAgcHJpdmF0ZSBtYXN0ZXJTZWNyZXQ6IFNlY3JldDtcbiAgcHJpdmF0ZSBkYXRhYmFzZVByb3h5OiBEYXRhYmFzZVByb3h5O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZHNQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLmFkZFZwYyhwcm9wcyk7XG4gICAgdGhpcy5hZGREYXRhYmFzZShwcm9wcyk7XG4gICAgdGhpcy5yb3RhdGVTZWNyZXQocHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLmRhdGFiYXNlUHJveHkpIHtcbiAgICAgIHRoaXMuYWRkUHJveHkocHJvcHMpO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yZWFkUmVwbGljYSkge1xuICAgICAgdGhpcy5hZGRSZWFkUmVwbGljYShwcm9wcyk7XG4gICAgfVxuICB9XG5cbiAgYWRkVnBjKHByb3BzOiBSZHNQcm9wcykge1xuICAgIHRoaXMudnBjID0gcHJvcHMudnBjXG4gICAgICA/IHByb3BzLnZwY1xuICAgICAgOiBuZXcgVnBjKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1WcGNgLCB7XG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9KTtcbiAgfVxuXG4gIGFkZERhdGFiYXNlKHByb3BzOiBSZHNQcm9wcykge1xuICAgIC8vIERhdGFiYXNlIENyZWRlbnRpYWxzXG4gICAgdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzID0gbmV3IFNlY3JldChcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAge1xuICAgICAgICBzZWNyZXROYW1lOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9Q3JlZGVudGlhbHNgLFxuICAgICAgICBnZW5lcmF0ZVNlY3JldFN0cmluZzoge1xuICAgICAgICAgIHNlY3JldFN0cmluZ1RlbXBsYXRlOiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICB1c2VybmFtZTogXCJwb3N0Z3Jlc1wiXG4gICAgICAgICAgfSksXG4gICAgICAgICAgZXhjbHVkZVB1bmN0dWF0aW9uOiB0cnVlLFxuICAgICAgICAgIGluY2x1ZGVTcGFjZTogZmFsc2UsXG4gICAgICAgICAgZ2VuZXJhdGVTdHJpbmdLZXk6IFwicGFzc3dvcmRcIlxuICAgICAgICB9LFxuICAgICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgICB9XG4gICAgKTtcblxuICAgIC8vIEN1c3RvbWVyIE1hbmFnZWQgS2V5c1xuICAgIHRoaXMuZW5jcnlwdGlvbktleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfUNsdXN0ZXJFbmNyeXB0aW9uS2V5YCxcbiAgICAgIHtcbiAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vZW5jcnlwdGlvbktleWAsXG4gICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgIH1cbiAgICApO1xuXG4gICAgaWYgKHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHMpIHtcbiAgICAgIHRoaXMuZGF0YWJhc2VQZXJmb3JtYW5jZUluc2lnaHRzS2V5ID0gbmV3IEN1c3RvbWVyTWFuYWdlZEtleShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVBlcmZvcm1hbmNlSW5zaWdodHNLZXlgLFxuICAgICAgICB7XG4gICAgICAgICAgYWxpYXNOYW1lOiBgY21rL3Jkcy8ke3Byb3BzLmRhdGFiYXNlTmFtZX0vSW5zaWdodHNLZXlgLFxuICAgICAgICAgIHRhZ3M6IHByb3BzLnRhZ3NcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cCA9IG5ldyBTZWN1cml0eUdyb3VwKFxuICAgICAgdGhpcyxcbiAgICAgIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1TZWN1cml0eUdyb3VwYCxcbiAgICAgIHtcbiAgICAgICAgdnBjOiB0aGlzLnZwYyxcbiAgICAgICAgZGVzY3JpcHRpb246IGBTZWN1cml0eSBncm91cCB0aGF0IGFsbG93cyBpbmJvdW5kIGFjY2VzcyB0byB0aGUgcG9zdGdyZXMgY2x1c3RlciBmb3IgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YFxuICAgICAgfVxuICAgICk7XG5cbiAgICAvL1RPRE86IFJlbW92ZSB0aGlzIGxpbmUsIHRoYXQgYWxsb3dzIHRoZSBwcm94eSB0byBjb25uZWN0IHRvIHRoZSBkYXRhYmFzZS4gUmVwbGFjZSB3aXRoIHNlcGVyYXRlZCBzZWN1cml0eSBncm91cHNcbiAgICB0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cC5hZGRJbmdyZXNzUnVsZShcbiAgICAgIHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLFxuICAgICAgUG9ydC50Y3AoNTQzMilcbiAgICApO1xuXG4gICAgdGhpcy5jb25uZWN0aW9ucyA9IHRoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwLmNvbm5lY3Rpb25zO1xuXG4gICAgLy8gRGF0YWJhc2UgQ2x1c3RlclxuICAgIHRoaXMuZGF0YWJhc2UgPSBuZXcgRGF0YWJhc2VJbnN0YW5jZShcbiAgICAgIHRoaXMsXG4gICAgICBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9RGF0YWJhc2VgLFxuICAgICAge1xuICAgICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgICB2cGNTdWJuZXRzOiB7XG4gICAgICAgICAgc3VibmV0VHlwZTogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTXG4gICAgICAgIH0sXG4gICAgICAgIHNlY3VyaXR5R3JvdXBzOiBbdGhpcy5kYXRhYmFzZVNlY3VyaXR5R3JvdXBdLFxuICAgICAgICBlbmdpbmU6XG4gICAgICAgICAgcHJvcHMuZW5naW5lIHx8XG4gICAgICAgICAgRGF0YWJhc2VJbnN0YW5jZUVuZ2luZS5wb3N0Z3Jlcyh7XG4gICAgICAgICAgICB2ZXJzaW9uOiBQb3N0Z3Jlc0VuZ2luZVZlcnNpb24uVkVSXzE2XzNcbiAgICAgICAgICB9KSxcbiAgICAgICAgYWxsb2NhdGVkU3RvcmFnZTogcHJvcHMuYWxsb2NhdGVkU3RvcmFnZSxcbiAgICAgICAgYmFja3VwUmV0ZW50aW9uOiBwcm9wcy5iYWNrdXBSZXRlbnRpb24gfHwgRHVyYXRpb24uZGF5cygxNCksXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICAgIHN0b3JhZ2VFbmNyeXB0aW9uS2V5OiB0aGlzLmVuY3J5cHRpb25LZXkua2V5LFxuICAgICAgICBzdG9yYWdlVHlwZTogU3RvcmFnZVR5cGUuR1AzLFxuICAgICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgICByZW1vdmFsUG9saWN5OiBSZW1vdmFsUG9saWN5LlNOQVBTSE9ULFxuICAgICAgICBkZWxldGVBdXRvbWF0ZWRCYWNrdXBzOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgICAgcGVyZm9ybWFuY2VJbnNpZ2h0RW5jcnlwdGlvbktleTogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0c1xuICAgICAgICAgID8gdGhpcy5kYXRhYmFzZVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgIGRhdGFiYXNlTmFtZTogcHJvcHMuZGF0YWJhc2VOYW1lLFxuICAgICAgICBpbnN0YW5jZUlkZW50aWZpZXI6IHByb3BzLmRhdGFiYXNlTmFtZSxcbiAgICAgICAgaW5zdGFuY2VUeXBlOlxuICAgICAgICAgIHByb3BzLmluc3RhbmNlVHlwZSB8fFxuICAgICAgICAgIEluc3RhbmNlVHlwZS5vZihJbnN0YW5jZUNsYXNzLlNUQU5EQVJEN19HUkFWSVRPTiwgSW5zdGFuY2VTaXplLkxBUkdFKSxcbiAgICAgICAgbWF4QWxsb2NhdGVkU3RvcmFnZTogcHJvcHMubWF4QWxsb2NhdGVkU3RvcmFnZSB8fCA1MDAsXG4gICAgICAgIG1vbml0b3JpbmdJbnRlcnZhbDogcHJvcHMubW9uaXRvcmluZ0ludGVydmFsIHx8IER1cmF0aW9uLm1pbnV0ZXMoMSksXG4gICAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICAgIHBvcnQ6IHByb3BzLnBvcnQsXG4gICAgICAgIHByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93OlxuICAgICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiLFxuICAgICAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMuZnJvbVNlY3JldCh0aGlzLmRhdGFiYXNlQ3JlZGVudGlhbHMuc2VjcmV0KVxuICAgICAgfVxuICAgICk7XG4gICAgdGFnUmVzb3VyY2UodGhpcy5kYXRhYmFzZSwgcHJvcHMudGFncyk7XG4gIH1cblxuICByb3RhdGVTZWNyZXQocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgLy8gUm90YXRlIHRoZSBTZWNyZXQgZXZlcnkgMzAgZGF5c1xuICAgIHRoaXMubWFzdGVyU2VjcmV0ID0gbmV3IFNlY3JldCh0aGlzLCBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9TWFzdGVyU2VjcmV0YCwge1xuICAgICAgc2VjcmV0TmFtZTogYCR7cHJvcHMuZGF0YWJhc2VOYW1lfU1hc3RlclNlY3JldGAsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzXG4gICAgfSk7XG5cbiAgICBuZXcgU2VjcmV0Um90YXRpb24odGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVNlY3JldFJvdGF0aW9uYCwge1xuICAgICAgYXBwbGljYXRpb246IG5ldyBTZWNyZXRSb3RhdGlvbkFwcGxpY2F0aW9uKFxuICAgICAgICBcIlNlY3JldHNNYW5hZ2VyUkRTUG9zdGdyZVNRTFJvdGF0aW9uTXVsdGlVc2VyXCIsXG4gICAgICAgIFwiMS4xLjM2N1wiLFxuICAgICAgICB7XG4gICAgICAgICAgaXNNdWx0aVVzZXI6IHRydWVcbiAgICAgICAgfVxuICAgICAgKSxcbiAgICAgIHNlY3JldDogdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldCxcbiAgICAgIG1hc3RlclNlY3JldDogdGhpcy5tYXN0ZXJTZWNyZXQuc2VjcmV0LFxuICAgICAgdGFyZ2V0OiB0aGlzLmRhdGFiYXNlLFxuICAgICAgdnBjOiB0aGlzLmRhdGFiYXNlLnZwY1xuICAgIH0pO1xuICB9XG5cbiAgYWRkUHJveHkocHJvcHM6IFJkc1Byb3BzKSB7XG4gICAgdGhpcy5kYXRhYmFzZVByb3h5ID0gbmV3IERhdGFiYXNlUHJveHkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfURhdGFiYXNlUHJveHlgLFxuICAgICAge1xuICAgICAgICBwcm94eVRhcmdldDogUHJveHlUYXJnZXQuZnJvbUluc3RhbmNlKHRoaXMuZGF0YWJhc2UpLFxuICAgICAgICBzZWNyZXRzOiBbdGhpcy5kYXRhYmFzZUNyZWRlbnRpYWxzLnNlY3JldF0sXG4gICAgICAgIC8vIFRPRE86IENyZWF0ZSBhIG5ldyBzZWN1cml0eSBncm91cCwgYW5kIHJlbW92ZSB0aGUgbGluZSB0aGF0IGFsbG93cyB0aGUgcHJveHkgdG8gY29ubmVjdCB0byB0aGUgZGF0YWJhc2VcbiAgICAgICAgc2VjdXJpdHlHcm91cHM6IFt0aGlzLmRhdGFiYXNlU2VjdXJpdHlHcm91cF0sXG4gICAgICAgIHZwYzogdGhpcy52cGMsXG4gICAgICAgIHZwY1N1Ym5ldHM6IHtcbiAgICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBVQkxJQ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgKTtcblxuICAgIG5ldyBDZm5PdXRwdXQodGhpcywgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVByb3h5RW5kcG9pbnRPdXRwdXRgLCB7XG4gICAgICBrZXk6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIGV4cG9ydE5hbWU6IGAke3Byb3BzLmRhdGFiYXNlTmFtZX1Qcm94eUVuZHBvaW50YCxcbiAgICAgIHZhbHVlOiB0aGlzLmRhdGFiYXNlUHJveHkuZW5kcG9pbnRcbiAgICB9KTtcbiAgfVxuXG4gIGFkZFJlYWRSZXBsaWNhKHByb3BzOiBSZHNQcm9wcykge1xuICAgIGNvbnN0IHJlYWRSZXBsaWNhUGVyZm9ybWFuY2VJbnNpZ2h0c0tleSA9IG5ldyBDdXN0b21lck1hbmFnZWRLZXkoXG4gICAgICB0aGlzLFxuICAgICAgYCR7cHJvcHMuZGF0YWJhc2VOYW1lfVJlYWRSZXBsaWNhUmVhZGVySW5zaWdodHNLZXlgLFxuICAgICAge1xuICAgICAgICBhbGlhc05hbWU6IGBjbWsvcmRzLyR7cHJvcHMuZGF0YWJhc2VOYW1lfS9SZWFkUmVwbGljYUluc2lnaHRzS2V5YCxcbiAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgfVxuICAgICk7XG5cbiAgICBuZXcgRGF0YWJhc2VJbnN0YW5jZVJlYWRSZXBsaWNhKHRoaXMsIGAke3Byb3BzLmRhdGFiYXNlTmFtZX1SZWFkUmVwbGljYWAsIHtcbiAgICAgIHNvdXJjZURhdGFiYXNlSW5zdGFuY2U6IHRoaXMuZGF0YWJhc2UsXG4gICAgICB2cGM6IHRoaXMudnBjLFxuICAgICAgdnBjU3VibmV0czoge1xuICAgICAgICBzdWJuZXRUeXBlOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9FR1JFU1NcbiAgICAgIH0sXG4gICAgICBzZWN1cml0eUdyb3VwczogW3RoaXMuZGF0YWJhc2VTZWN1cml0eUdyb3VwXSxcbiAgICAgIGFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLmFsbG9jYXRlZFN0b3JhZ2UsXG4gICAgICBiYWNrdXBSZXRlbnRpb246IHByb3BzLmJhY2t1cFJldGVudGlvbiB8fCBEdXJhdGlvbi5kYXlzKDE0KSxcbiAgICAgIHN0b3JhZ2VFbmNyeXB0ZWQ6IHRydWUsXG4gICAgICBzdG9yYWdlRW5jcnlwdGlvbktleTogdGhpcy5lbmNyeXB0aW9uS2V5LmtleSxcbiAgICAgIHN0b3JhZ2VUeXBlOiBTdG9yYWdlVHlwZS5HUDMsXG4gICAgICBjYUNlcnRpZmljYXRlOiBDYUNlcnRpZmljYXRlLlJEU19DQV9SU0E0MDk2X0cxLFxuICAgICAgcmVtb3ZhbFBvbGljeTogUmVtb3ZhbFBvbGljeS5TTkFQU0hPVCxcbiAgICAgIGRlbGV0ZUF1dG9tYXRlZEJhY2t1cHM6IGZhbHNlLFxuICAgICAgZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0czogcHJvcHMuZW5hYmxlUGVyZm9ybWFuY2VJbnNpZ2h0cyxcbiAgICAgIHBlcmZvcm1hbmNlSW5zaWdodEVuY3J5cHRpb25LZXk6IHByb3BzLmVuYWJsZVBlcmZvcm1hbmNlSW5zaWdodHNcbiAgICAgICAgPyByZWFkUmVwbGljYVBlcmZvcm1hbmNlSW5zaWdodHNLZXkua2V5XG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgaW5zdGFuY2VJZGVudGlmaWVyOiBgJHtwcm9wcy5kYXRhYmFzZU5hbWV9YCxcbiAgICAgIGluc3RhbmNlVHlwZTpcbiAgICAgICAgcHJvcHMuaW5zdGFuY2VUeXBlIHx8XG4gICAgICAgIEluc3RhbmNlVHlwZS5vZihJbnN0YW5jZUNsYXNzLlNUQU5EQVJEN19HUkFWSVRPTiwgSW5zdGFuY2VTaXplLkxBUkdFKSxcbiAgICAgIG1heEFsbG9jYXRlZFN0b3JhZ2U6IHByb3BzLm1heEFsbG9jYXRlZFN0b3JhZ2UgfHwgNTAwLFxuICAgICAgbW9uaXRvcmluZ0ludGVydmFsOiBwcm9wcy5tb25pdG9yaW5nSW50ZXJ2YWwgfHwgRHVyYXRpb24ubWludXRlcygxKSxcbiAgICAgIG11bHRpQXo6IHRydWUsXG4gICAgICBwb3J0OiBwcm9wcy5wb3J0LFxuICAgICAgcHJlZmVycmVkTWFpbnRlbmFuY2VXaW5kb3c6XG4gICAgICAgIHByb3BzLnByZWZlcnJlZE1haW50ZW5hbmNlV2luZG93IHx8IFwiU2F0OjEyOjMwLVNhdDoyMDozMFwiXG4gICAgfSk7XG4gIH1cblxuICBzdGF0aWMgYnVpbGQoaWQ6IHN0cmluZywgcHJvcHM6IFJkc1Byb3BzKTogKHNiOiBTdGFja0J1aWxkZXIpID0+IENvbnN0cnVjdCB7XG4gICAgcmV0dXJuIChzYjogU3RhY2tCdWlsZGVyKSA9PiB7XG4gICAgICBjb25zdCBuZXdQcm9wczogUmRzUHJvcHMgPSB7XG4gICAgICAgIC4uLnByb3BzLFxuICAgICAgICAuLi57XG4gICAgICAgICAgdnBjOiAoc2IuZ2V0TmV0d29yaygpIGFzIFZwYykgfHwgcHJvcHM/LnZwYyxcbiAgICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcz8uc2VjdXJpdHlHcm91cElkcyA/PyBbXSxcbiAgICAgICAgICBkYXRhYmFzZU5hbWU6IHByb3BzLmRhdGFiYXNlTmFtZSB8fCBgJHtpZC5yZXBsYWNlKFwiUmRzXCIsIFwiXCIpfWAsXG4gICAgICAgICAgdGFnczogcHJvcHMudGFnc1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbmV3IHRoaXMoc2IuZ2V0U3RhY2soKSwgaWQsIG5ld1Byb3BzKTtcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -12,12 +12,14 @@ function getConfig(accountName) {
12
12
  };
13
13
  if (!process.env.AWS_REGION)
14
14
  console.warn("AWS_REGION is not set, defaulting to us-east-1");
15
+ // Retrieve any pre-existing account config
16
+ const fjallConfig = util_1.Config.loadConfig();
17
+ config.existingAccounts = fjallConfig.getExistingAccounts();
15
18
  // If unspecified account name - try to retrieve from context
16
19
  if (!accountName)
17
20
  accountName = app.node.tryGetContext("accountName");
18
21
  // If we have an account name - look for associated provider account
19
22
  if (accountName) {
20
- const fjallConfig = util_1.Config.loadConfig();
21
23
  const providerAccount = fjallConfig.getProviderAccount(accountName);
22
24
  if (!!providerAccount) {
23
25
  config.accountId = providerAccount.id;
@@ -29,4 +31,4 @@ function getConfig(accountName) {
29
31
  }
30
32
  exports.getConfig = getConfig;
31
33
  exports.default = getConfig;
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnQ0FBeUI7QUFDekIsc0NBQW9EO0FBVXBELFNBQWdCLFNBQVMsQ0FBQyxXQUFvQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUIsTUFBTSxNQUFNLEdBQVc7UUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLFdBQVc7UUFDN0MsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZ0JBQWdCLEVBQUUsRUFBRTtLQUNyQixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFFakUsNkRBQTZEO0lBQzdELElBQUksQ0FBQyxXQUFXO1FBQUUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRFLG9FQUFvRTtJQUNwRSxJQUFJLFdBQVcsRUFBRTtRQUNmLE1BQU0sV0FBVyxHQUFHLGFBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUM3QyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsa0JBQWtCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLENBQUMsZUFBZSxFQUFFO1lBQ3JCLE1BQU0sQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDLEVBQUUsQ0FBQztZQUN0QyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDMUMsTUFBTSxDQUFDLFdBQVcsR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO1NBQ2xEO0tBQ0Y7SUFFRCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBM0JELDhCQTJCQztBQUVELGtCQUFlLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY291bnQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LW9yZ2FuaXphdGlvbnNcIjtcblxuaW1wb3J0IEFwcCBmcm9tIFwiLi4vYXBwXCI7XG5pbXBvcnQgeyBDb25maWcgYXMgRmphbGxDb25maWcgfSBmcm9tIFwiQGZqYWxsL3V0aWxcIjtcblxuaW50ZXJmYWNlIENvbmZpZyB7XG4gIHJlZ2lvbjogc3RyaW5nO1xuICBlbnZpcm9ubWVudDogc3RyaW5nO1xuICBleGlzdGluZ0FjY291bnRzOiBBY2NvdW50W107XG4gIGFjY291bnRJZD86IHN0cmluZztcbiAgYWNjb3VudE5hbWU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWcoYWNjb3VudE5hbWU/OiBzdHJpbmcpOiBDb25maWcge1xuICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UoKTtcblxuICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICByZWdpb246IHByb2Nlc3MuZW52LkFXU19SRUdJT04gfHwgXCJ1cy1lYXN0LTFcIixcbiAgICBlbnZpcm9ubWVudDogXCJkZXZlbG9wbWVudFwiLFxuICAgIGV4aXN0aW5nQWNjb3VudHM6IFtdXG4gIH07XG5cbiAgaWYgKCFwcm9jZXNzLmVudi5BV1NfUkVHSU9OKVxuICAgIGNvbnNvbGUud2FybihcIkFXU19SRUdJT04gaXMgbm90IHNldCwgZGVmYXVsdGluZyB0byB1cy1lYXN0LTFcIik7XG5cbiAgLy8gSWYgdW5zcGVjaWZpZWQgYWNjb3VudCBuYW1lIC0gdHJ5IHRvIHJldHJpZXZlIGZyb20gY29udGV4dFxuICBpZiAoIWFjY291bnROYW1lKSBhY2NvdW50TmFtZSA9IGFwcC5ub2RlLnRyeUdldENvbnRleHQoXCJhY2NvdW50TmFtZVwiKTtcblxuICAvLyBJZiB3ZSBoYXZlIGFuIGFjY291bnQgbmFtZSAtIGxvb2sgZm9yIGFzc29jaWF0ZWQgcHJvdmlkZXIgYWNjb3VudFxuICBpZiAoYWNjb3VudE5hbWUpIHtcbiAgICBjb25zdCBmamFsbENvbmZpZyA9IEZqYWxsQ29uZmlnLmxvYWRDb25maWcoKTtcbiAgICBjb25zdCBwcm92aWRlckFjY291bnQgPSBmamFsbENvbmZpZy5nZXRQcm92aWRlckFjY291bnQoYWNjb3VudE5hbWUpO1xuICAgIGlmICghIXByb3ZpZGVyQWNjb3VudCkge1xuICAgICAgY29uZmlnLmFjY291bnRJZCA9IHByb3ZpZGVyQWNjb3VudC5pZDtcbiAgICAgIGNvbmZpZy5hY2NvdW50TmFtZSA9IHByb3ZpZGVyQWNjb3VudC5uYW1lO1xuICAgICAgY29uZmlnLmVudmlyb25tZW50ID0gcHJvdmlkZXJBY2NvdW50LmVudmlyb25tZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGdldENvbmZpZztcbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3V0aWxzL2dldENvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxnQ0FBeUI7QUFDekIsc0NBQW9EO0FBVXBELFNBQWdCLFNBQVMsQ0FBQyxXQUFvQjtJQUM1QyxNQUFNLEdBQUcsR0FBRyxhQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFFOUIsTUFBTSxNQUFNLEdBQVc7UUFDckIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxJQUFJLFdBQVc7UUFDN0MsV0FBVyxFQUFFLGFBQWE7UUFDMUIsZ0JBQWdCLEVBQUUsRUFBRTtLQUNyQixDQUFDO0lBRUYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVTtRQUN6QixPQUFPLENBQUMsSUFBSSxDQUFDLGdEQUFnRCxDQUFDLENBQUM7SUFFakUsMkNBQTJDO0lBQzNDLE1BQU0sV0FBVyxHQUFHLGFBQVcsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM3QyxNQUFNLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFFNUQsNkRBQTZEO0lBQzdELElBQUksQ0FBQyxXQUFXO1FBQUUsV0FBVyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXRFLG9FQUFvRTtJQUNwRSxJQUFJLFdBQVcsRUFBRTtRQUNmLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUU7WUFDckIsTUFBTSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQztZQUMxQyxNQUFNLENBQUMsV0FBVyxHQUFHLGVBQWUsQ0FBQyxXQUFXLENBQUM7U0FDbEQ7S0FDRjtJQUVELE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUM7QUE5QkQsOEJBOEJDO0FBRUQsa0JBQWUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWNjb3VudCB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtb3JnYW5pemF0aW9uc1wiO1xuXG5pbXBvcnQgQXBwIGZyb20gXCIuLi9hcHBcIjtcbmltcG9ydCB7IENvbmZpZyBhcyBGamFsbENvbmZpZyB9IGZyb20gXCJAZmphbGwvdXRpbFwiO1xuXG5pbnRlcmZhY2UgQ29uZmlnIHtcbiAgcmVnaW9uOiBzdHJpbmc7XG4gIGVudmlyb25tZW50OiBzdHJpbmc7XG4gIGV4aXN0aW5nQWNjb3VudHM6IEFjY291bnRbXTtcbiAgYWNjb3VudElkPzogc3RyaW5nO1xuICBhY2NvdW50TmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldENvbmZpZyhhY2NvdW50TmFtZT86IHN0cmluZyk6IENvbmZpZyB7XG4gIGNvbnN0IGFwcCA9IEFwcC5nZXRJbnN0YW5jZSgpO1xuXG4gIGNvbnN0IGNvbmZpZzogQ29uZmlnID0ge1xuICAgIHJlZ2lvbjogcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiB8fCBcInVzLWVhc3QtMVwiLFxuICAgIGVudmlyb25tZW50OiBcImRldmVsb3BtZW50XCIsXG4gICAgZXhpc3RpbmdBY2NvdW50czogW11cbiAgfTtcblxuICBpZiAoIXByb2Nlc3MuZW52LkFXU19SRUdJT04pXG4gICAgY29uc29sZS53YXJuKFwiQVdTX1JFR0lPTiBpcyBub3Qgc2V0LCBkZWZhdWx0aW5nIHRvIHVzLWVhc3QtMVwiKTtcblxuICAvLyBSZXRyaWV2ZSBhbnkgcHJlLWV4aXN0aW5nIGFjY291bnQgY29uZmlnXG4gIGNvbnN0IGZqYWxsQ29uZmlnID0gRmphbGxDb25maWcubG9hZENvbmZpZygpO1xuICBjb25maWcuZXhpc3RpbmdBY2NvdW50cyA9IGZqYWxsQ29uZmlnLmdldEV4aXN0aW5nQWNjb3VudHMoKTtcblxuICAvLyBJZiB1bnNwZWNpZmllZCBhY2NvdW50IG5hbWUgLSB0cnkgdG8gcmV0cmlldmUgZnJvbSBjb250ZXh0XG4gIGlmICghYWNjb3VudE5hbWUpIGFjY291bnROYW1lID0gYXBwLm5vZGUudHJ5R2V0Q29udGV4dChcImFjY291bnROYW1lXCIpO1xuXG4gIC8vIElmIHdlIGhhdmUgYW4gYWNjb3VudCBuYW1lIC0gbG9vayBmb3IgYXNzb2NpYXRlZCBwcm92aWRlciBhY2NvdW50XG4gIGlmIChhY2NvdW50TmFtZSkge1xuICAgIGNvbnN0IHByb3ZpZGVyQWNjb3VudCA9IGZqYWxsQ29uZmlnLmdldFByb3ZpZGVyQWNjb3VudChhY2NvdW50TmFtZSk7XG4gICAgaWYgKCEhcHJvdmlkZXJBY2NvdW50KSB7XG4gICAgICBjb25maWcuYWNjb3VudElkID0gcHJvdmlkZXJBY2NvdW50LmlkO1xuICAgICAgY29uZmlnLmFjY291bnROYW1lID0gcHJvdmlkZXJBY2NvdW50Lm5hbWU7XG4gICAgICBjb25maWcuZW52aXJvbm1lbnQgPSBwcm92aWRlckFjY291bnQuZW52aXJvbm1lbnQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGRlZmF1bHQgZ2V0Q29uZmlnO1xuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fjall/components-infrastructure",
3
- "version": "0.1.26",
3
+ "version": "0.1.28",
4
4
  "bin": {
5
5
  "infrastructure": "bin/infrastructure.js"
6
6
  },