@microsoft/terraform-cdk-constructs 0.0.3-pre.10 → 0.0.3-pre.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +639 -585
- package/API.md +316 -312
- package/cdktf.out/stacks/testAzureApplicationGateway/cdk.tf.json +3 -3
- package/cdktf.out/stacks/testAzureApplicationInsights/cdk.tf.json +2 -2
- package/cdktf.out/stacks/testAzureKeyVault/cdk.tf.json +3 -3
- package/lib/azure-actiongroup/lib/actiongroup.d.ts +1 -1
- package/lib/azure-actiongroup/lib/actiongroup.js +4 -4
- package/lib/azure-actiongroup/model/action-group-props.d.ts +3 -2
- package/lib/azure-actiongroup/model/action-group-props.js +1 -1
- package/lib/azure-actiongroup/test/AzureActionGroup.spec.js +1 -12
- package/lib/azure-applicationgateway/lib/gateway.d.ts +5 -3
- package/lib/azure-applicationgateway/lib/gateway.js +14 -7
- package/lib/azure-applicationgateway/test/AzureApplicationGateway.spec.js +1 -16
- package/lib/azure-applicationinsights/lib/appinsights.d.ts +4 -3
- package/lib/azure-applicationinsights/lib/appinsights.js +6 -6
- package/lib/azure-applicationinsights/test/AzureAppInsights.spec.js +1 -7
- package/lib/azure-containerregistry/lib/registry.d.ts +4 -3
- package/lib/azure-containerregistry/lib/registry.js +5 -5
- package/lib/azure-containerregistry/test/AzureContainerRegistry.spec.js +1 -7
- package/lib/azure-eventhub/lib/authorization.js +1 -1
- package/lib/azure-eventhub/lib/consumer.js +1 -1
- package/lib/azure-eventhub/lib/{cluster.d.ts → eventhubcluster.d.ts} +11 -7
- package/lib/azure-eventhub/lib/eventhubcluster.js +64 -0
- package/lib/azure-eventhub/lib/index.d.ts +1 -1
- package/lib/azure-eventhub/lib/index.js +2 -2
- package/lib/azure-eventhub/lib/instance.js +1 -1
- package/lib/azure-eventhub/lib/kusto-connection.js +1 -1
- package/lib/azure-eventhub/lib/namespace.d.ts +7 -6
- package/lib/azure-eventhub/lib/namespace.js +20 -22
- package/lib/azure-eventhub/test/AzureEventhub.spec.js +1 -7
- package/lib/azure-functionapp/lib/functionapplinux.js +1 -1
- package/lib/azure-keyvault/lib/certificate.js +2 -2
- package/lib/azure-keyvault/lib/key.js +1 -1
- package/lib/azure-keyvault/lib/policy.js +1 -1
- package/lib/azure-keyvault/lib/secret.js +1 -1
- package/lib/azure-keyvault/lib/vault.d.ts +3 -2
- package/lib/azure-keyvault/lib/vault.js +4 -4
- package/lib/azure-keyvault/test/AzureKeyVault.spec.js +1 -7
- package/lib/azure-kubernetes/lib/cluster.js +1 -1
- package/lib/azure-kusto/lib/cluster.d.ts +6 -5
- package/lib/azure-kusto/lib/cluster.js +23 -23
- package/lib/azure-kusto/lib/compute-specification.js +1 -1
- package/lib/azure-kusto/lib/database.js +7 -7
- package/lib/azure-kusto/test/AzureKusto.spec.js +1 -7
- package/lib/azure-loganalytics/lib/workspace.d.ts +4 -3
- package/lib/azure-loganalytics/lib/workspace.js +6 -6
- package/lib/azure-loganalytics/test/AzureLogAnalytics.spec.js +1 -7
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-networksecuritygroup/lib/preconfigured-rules.js +1 -1
- package/lib/azure-networksecuritygroup/lib/securitygroup.d.ts +4 -3
- package/lib/azure-networksecuritygroup/lib/securitygroup.js +7 -7
- package/lib/azure-networksecuritygroup/test/AzureNetworkSecurityGroup.spec.js +1 -7
- package/lib/azure-queryrulealert/lib/query-rule-alert.js +1 -1
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-storageaccount/lib/account.js +1 -1
- package/lib/azure-storageaccount/lib/container.js +2 -2
- package/lib/azure-storageaccount/lib/fileshare.js +2 -2
- package/lib/azure-storageaccount/lib/queue.js +1 -1
- package/lib/azure-storageaccount/lib/table.js +1 -1
- package/lib/azure-virtualmachine/lib/image-references.js +2 -2
- package/lib/azure-virtualmachine/lib/vm.d.ts +8 -6
- package/lib/azure-virtualmachine/lib/vm.js +15 -15
- package/lib/azure-virtualmachine/test/AzureLinuxVirtualMachine.spec.js +2 -9
- package/lib/azure-virtualmachine/test/AzureWindowsVirtualMachine.spec.js +1 -7
- package/lib/azure-virtualmachinescaleset/lib/cluster.d.ts +8 -6
- package/lib/azure-virtualmachinescaleset/lib/cluster.js +11 -11
- package/lib/azure-virtualmachinescaleset/test/AzureLinuxVirtualMachineScaleSet.spec.js +2 -9
- package/lib/azure-virtualmachinescaleset/test/AzureWindowsVirtualMachineScaleSet.spec.js +1 -7
- package/lib/azure-virtualnetwork/lib/network.d.ts +4 -3
- package/lib/azure-virtualnetwork/lib/network.js +7 -6
- package/lib/azure-virtualnetwork/lib/peering.js +1 -1
- package/lib/azure-virtualnetwork/test/AzureVirtualNetwork.spec.js +2 -9
- package/lib/core-azure/lib/diagsettings.js +1 -1
- package/lib/core-azure/lib/rbac.js +1 -1
- package/lib/core-azure/lib/resource.js +4 -4
- package/package.json +29 -10
- package/lib/azure-eventhub/lib/cluster.js +0 -64
|
@@ -295,7 +295,7 @@
|
|
|
295
295
|
"resource_group_name": "${azurerm_resource_group.rg.name}",
|
|
296
296
|
"sku_name": "standard",
|
|
297
297
|
"soft_delete_retention_days": 90,
|
|
298
|
-
"tenant_id": "
|
|
298
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
299
299
|
}
|
|
300
300
|
},
|
|
301
301
|
"azurerm_key_vault_access_policy": {
|
|
@@ -312,7 +312,7 @@
|
|
|
312
312
|
"Get",
|
|
313
313
|
"List"
|
|
314
314
|
],
|
|
315
|
-
"tenant_id": "
|
|
315
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
316
316
|
},
|
|
317
317
|
"keyvault_kv_custom_policy_access_TfTokenTOKEN11_policy_9AEE43DF": {
|
|
318
318
|
"//": {
|
|
@@ -359,7 +359,7 @@
|
|
|
359
359
|
"Set",
|
|
360
360
|
"Delete"
|
|
361
361
|
],
|
|
362
|
-
"tenant_id": "
|
|
362
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
363
363
|
}
|
|
364
364
|
},
|
|
365
365
|
"azurerm_key_vault_certificate": {
|
|
@@ -120,7 +120,7 @@
|
|
|
120
120
|
"Purge"
|
|
121
121
|
],
|
|
122
122
|
"storage_permissions": null,
|
|
123
|
-
"tenant_id": "
|
|
123
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
124
124
|
}
|
|
125
125
|
],
|
|
126
126
|
"location": "${azurerm_resource_group.rg.location}",
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
"resource_group_name": "${azurerm_resource_group.rg.name}",
|
|
130
130
|
"sku_name": "standard",
|
|
131
131
|
"soft_delete_retention_days": 7,
|
|
132
|
-
"tenant_id": "
|
|
132
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
133
133
|
}
|
|
134
134
|
},
|
|
135
135
|
"azurerm_key_vault_secret": {
|
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
"resource_group_name": "${azurerm_resource_group.rg.name}",
|
|
99
99
|
"sku_name": "standard",
|
|
100
100
|
"soft_delete_retention_days": 7,
|
|
101
|
-
"tenant_id": "
|
|
101
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
104
|
"azurerm_key_vault_access_policy": {
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
"Set",
|
|
154
154
|
"Delete"
|
|
155
155
|
],
|
|
156
|
-
"tenant_id": "
|
|
156
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
157
157
|
},
|
|
158
158
|
"kv_kv_secret_admin_access_bc26a701-6acb-4117-93e0-e44054e22d60_policy_BF8031B5": {
|
|
159
159
|
"//": {
|
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"Restore",
|
|
174
174
|
"Recover"
|
|
175
175
|
],
|
|
176
|
-
"tenant_id": "
|
|
176
|
+
"tenant_id": "24e2975c-af72-454e-8dc0-579d886a1589"
|
|
177
177
|
}
|
|
178
178
|
},
|
|
179
179
|
"azurerm_key_vault_certificate": {
|
|
@@ -15,7 +15,7 @@ export declare class ActionGroup extends AzureResource {
|
|
|
15
15
|
* @param id - The unique identifier for this instance of the Action Group.
|
|
16
16
|
* @param props - Configuration properties for the Action Group. These properties may include:
|
|
17
17
|
* - `name`: The name of the Action Group.
|
|
18
|
-
* - `resourceGroup`:
|
|
18
|
+
* - `resourceGroup`: Optional. Reference to the resource group for deployment.
|
|
19
19
|
* - `shortName`: A shorter name for the Action Group used in notifications.
|
|
20
20
|
* - `enabled`: Specifies if the Action Group is active. Defaults to true.
|
|
21
21
|
* - `location`: The Azure region where the Action Group is hosted. Defaults to global.
|
|
@@ -15,7 +15,7 @@ class ActionGroup extends lib_1.AzureResource {
|
|
|
15
15
|
* @param id - The unique identifier for this instance of the Action Group.
|
|
16
16
|
* @param props - Configuration properties for the Action Group. These properties may include:
|
|
17
17
|
* - `name`: The name of the Action Group.
|
|
18
|
-
* - `resourceGroup`:
|
|
18
|
+
* - `resourceGroup`: Optional. Reference to the resource group for deployment.
|
|
19
19
|
* - `shortName`: A shorter name for the Action Group used in notifications.
|
|
20
20
|
* - `enabled`: Specifies if the Action Group is active. Defaults to true.
|
|
21
21
|
* - `location`: The Azure region where the Action Group is hosted. Defaults to global.
|
|
@@ -48,7 +48,7 @@ class ActionGroup extends lib_1.AzureResource {
|
|
|
48
48
|
constructor(scope, id, props) {
|
|
49
49
|
super(scope, id);
|
|
50
50
|
this.props = props;
|
|
51
|
-
this.resourceGroup = props
|
|
51
|
+
this.resourceGroup = this.setupResourceGroup(props);
|
|
52
52
|
/**
|
|
53
53
|
* Define default values.
|
|
54
54
|
*/
|
|
@@ -61,7 +61,7 @@ class ActionGroup extends lib_1.AzureResource {
|
|
|
61
61
|
const azurermMonitorActionGroup = new monitor_action_group_1.MonitorActionGroup(this, "actiongroup", {
|
|
62
62
|
...defaults,
|
|
63
63
|
name: props.name,
|
|
64
|
-
resourceGroupName:
|
|
64
|
+
resourceGroupName: this.resourceGroup.name,
|
|
65
65
|
shortName: props.shortName,
|
|
66
66
|
armRoleReceiver: cdktf.listMapper(model.monitorActionGroupArmRoleReceiverToTerraform, true)(this.props.armRoleReceivers),
|
|
67
67
|
emailReceiver: cdktf.listMapper(model.monitorActionGroupEmailReceiverToTerraform, true)(this.props.emailReceivers),
|
|
@@ -82,4 +82,4 @@ class ActionGroup extends lib_1.AzureResource {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
exports.ActionGroup = ActionGroup;
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtYWN0aW9uZ3JvdXAvbGliL2FjdGlvbmdyb3VwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJGQUFzRjtBQUV0RiwrQkFBK0I7QUFFL0IsOENBQXFEO0FBQ3JELGtDQUFrQztBQUVsQyxNQUFhLFdBQVksU0FBUSxtQkFBYTtJQUk1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FzQ0c7SUFDSCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQTZCO1FBQ3JFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFakIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFcEQ7O1dBRUc7UUFDSCxNQUFNLFFBQVEsR0FBRztZQUNmLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDOUIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUTtZQUNwQyxJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFO1NBQ3ZCLENBQUM7UUFFRix1REFBdUQ7UUFDdkQsTUFBTSx5QkFBeUIsR0FBRyxJQUFJLHlDQUFrQixDQUN0RCxJQUFJLEVBQ0osYUFBYSxFQUNiO1lBQ0UsR0FBRyxRQUFRO1lBQ1gsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSTtZQUMxQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsZUFBZSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQy9CLEtBQUssQ0FBQyw0Q0FBNEMsRUFDbEQsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQztZQUU5QixhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDN0IsS0FBSyxDQUFDLDBDQUEwQyxFQUNoRCxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUU1QixhQUFhLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDN0IsS0FBSyxDQUFDLDBDQUEwQyxFQUNoRCxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztZQUU1QixXQUFXLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDM0IsS0FBSyxDQUFDLHdDQUF3QyxFQUM5QyxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztZQUUxQixlQUFlLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDL0IsS0FBSyxDQUFDLDRDQUE0QyxFQUNsRCxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDO1lBRTlCLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQ2hDLEtBQUssQ0FBQyw2Q0FBNkMsRUFDbkQsSUFBSSxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztZQUUvQixvQkFBb0IsRUFBRSxLQUFLLENBQUMsVUFBVSxDQUNwQyxLQUFLLENBQUMsaURBQWlELEVBQ3ZELElBQUksQ0FDTCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUM7WUFFbkMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FDaEMsS0FBSyxDQUFDLDZDQUE2QyxFQUNuRCxJQUFJLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDO1NBQ2hDLENBQ0YsQ0FBQztRQUVGLG9CQUFvQjtRQUNwQixJQUFJLENBQUMsRUFBRSxHQUFHLHlCQUF5QixDQUFDLEVBQUUsQ0FBQztRQUV2QyxNQUFNLGlDQUFpQyxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDakUsSUFBSSxFQUNKLElBQUksRUFDSjtZQUNFLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFO1NBQ3BDLENBQ0YsQ0FBQztRQUVGLGdJQUFnSTtRQUNoSSxpQ0FBaUMsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1RCxDQUFDO0NBQ0Y7QUEzSEQsa0NBMkhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9uaXRvckFjdGlvbkdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9tb25pdG9yLWFjdGlvbi1ncm91cFwiO1xuaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IEF6dXJlUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWJcIjtcbmltcG9ydCAqIGFzIG1vZGVsIGZyb20gXCIuLi9tb2RlbFwiO1xuXG5leHBvcnQgY2xhc3MgQWN0aW9uR3JvdXAgZXh0ZW5kcyBBenVyZVJlc291cmNlIHtcbiAgcmVhZG9ubHkgcHJvcHM6IG1vZGVsLkFjdGlvbkdyb3VwUHJvcHM7XG4gIHB1YmxpYyByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIE1hbmFnZXMgYW4gQXp1cmUgTW9uaXRvciBBY3Rpb24gR3JvdXAsIHdoaWNoIGlzIHVzZWQgdG8gdHJpZ2dlciBhY3Rpb25zIG9yIG5vdGlmaWNhdGlvbnMgYmFzZWQgb24gYWxlcnRzIG9yIGNvbmRpdGlvbnMgbWV0IHdpdGhpbiBBenVyZSBNb25pdG9yLlxuICAgKlxuICAgKiBBbiBBY3Rpb24gR3JvdXAgaW4gQXp1cmUgTW9uaXRvciBkZWZpbmVzIGEgY29sbGVjdGlvbiBvZiBpbmRpdmlkdWFsIGFjdGlvbnMgdGhhdCBhcmUgdHJpZ2dlcmVkIHdoZW4gdGhlIGNvbmRpdGlvbnMgb2YgYW4gYXNzb2NpYXRlZCBhbGVydCBydWxlIGFyZSBtZXQuIEFjdGlvbnMgY2FuIGluY2x1ZGUgc2VuZGluZyBlbWFpbHMsIHRyaWdnZXJpbmcgQXp1cmUgRnVuY3Rpb25zLCBjYWxsaW5nIHdlYmhvb2tzLCBhbmQgbW9yZS4gVGhpcyBjbGFzcyBhbGxvd3MgZm9yIGNvbmZpZ3VyaW5nIGFuZCBtYW5hZ2luZyB0aGVzZSBhY3Rpb25zLCBtYWtpbmcgaXQgZXNzZW50aWFsIGZvciBzZXR0aW5nIHVwIGNvbXByZWhlbnNpdmUgbW9uaXRvcmluZyBhbmQgcmVzcG9uc2Ugc3lzdGVtcyBpbiBBenVyZSBhcHBsaWNhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3QsIHR5cGljYWxseSByZXByZXNlbnRpbmcgdGhlIENsb3VkIERldmVsb3BtZW50IEtpdCAoQ0RLKSBzdGFjay5cbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlIG9mIHRoZSBBY3Rpb24gR3JvdXAuXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEFjdGlvbiBHcm91cC4gVGhlc2UgcHJvcGVydGllcyBtYXkgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IFRoZSBuYW1lIG9mIHRoZSBBY3Rpb24gR3JvdXAuXG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBPcHRpb25hbC4gUmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBncm91cCBmb3IgZGVwbG95bWVudC5cbiAgICogICAgICAgICAgICAgICAgLSBgc2hvcnROYW1lYDogQSBzaG9ydGVyIG5hbWUgZm9yIHRoZSBBY3Rpb24gR3JvdXAgdXNlZCBpbiBub3RpZmljYXRpb25zLlxuICAgKiAgICAgICAgICAgICAgICAtIGBlbmFibGVkYDogU3BlY2lmaWVzIGlmIHRoZSBBY3Rpb24gR3JvdXAgaXMgYWN0aXZlLiBEZWZhdWx0cyB0byB0cnVlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IFRoZSBBenVyZSByZWdpb24gd2hlcmUgdGhlIEFjdGlvbiBHcm91cCBpcyBob3N0ZWQuIERlZmF1bHRzIHRvIGdsb2JhbC5cbiAgICogICAgICAgICAgICAgICAgLSBgdGFnc2A6IEEgZGljdGlvbmFyeSBvZiB0YWdzIHRvIGFwcGx5IHRvIHRoZSBBY3Rpb24gR3JvdXAgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gUmVjZWl2ZXJzOiBDb25maWd1cmF0aW9ucyBmb3IgdmFyaW91cyB0eXBlcyBvZiBub3RpZmljYXRpb25zIChlLmcuLCBlbWFpbCwgU01TLCB3ZWJob29rKS5cbiAgICpcbiAgICogRXhhbXBsZSB1c2FnZTpcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBjb25zdCBhY3Rpb25Hcm91cCA9IG5ldyBBY3Rpb25Hcm91cCh0aGlzLCAnbXlBY3Rpb25Hcm91cCcsIHtcbiAgICogICBuYW1lOiAnY3JpdGljYWxBbGVydHNHcm91cCcsXG4gICAqICAgcmVzb3VyY2VHcm91cDogbXlSZXNvdXJjZUdyb3VwLFxuICAgKiAgIHNob3J0TmFtZTogJ0FsZXJ0cycsXG4gICAqICAgbG9jYXRpb246ICdFYXN0IFVTJyxcbiAgICogICBlbWFpbFJlY2VpdmVyczogW3tcbiAgICogICAgIG5hbWU6ICdhZG1pbicsXG4gICAqICAgICBlbWFpbEFkZHJlc3M6ICdhZG1pbkBleGFtcGxlLmNvbSdcbiAgICogICB9XSxcbiAgICogICBzbXNSZWNlaXZlcnM6IFt7XG4gICAqICAgICBuYW1lOiAnYWRtaW5TbXMnLFxuICAgKiAgICAgY291bnRyeUNvZGU6ICcxJyxcbiAgICogICAgIHBob25lTnVtYmVyOiAnNTU1MTIzNDU2NydcbiAgICogICB9XSxcbiAgICogICB0YWdzOiB7XG4gICAqICAgICBlbnZpcm9ubWVudDogJ3Byb2R1Y3Rpb24nXG4gICAqICAgfVxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqIFRoaXMgc2V0dXAgY3JlYXRlcyBhbiBBY3Rpb24gR3JvdXAgdGhhdCBzZW5kcyBlbWFpbCBhbmQgU01TIG5vdGlmaWNhdGlvbnMgd2hlbiB0cmlnZ2VyZWQgYnkgYW4gYWxlcnQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogbW9kZWwuQWN0aW9uR3JvdXBQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG5cbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5yZXNvdXJjZUdyb3VwID0gdGhpcy5zZXR1cFJlc291cmNlR3JvdXAocHJvcHMpO1xuXG4gICAgLyoqXG4gICAgICogRGVmaW5lIGRlZmF1bHQgdmFsdWVzLlxuICAgICAqL1xuICAgIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgICAgZW5hYmxlZDogcHJvcHMuZW5hYmxlZCA/PyB0cnVlLFxuICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uID8/IFwiZ2xvYmFsXCIsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzID8/IHt9LFxuICAgIH07XG5cbiAgICAvLyBDcmVhdGUgdGhlIEFjdGlvbiBHcm91cCB3aXRoIHRoZSBwcm92aWRlZCBwcm9wZXJ0aWVzXG4gICAgY29uc3QgYXp1cmVybU1vbml0b3JBY3Rpb25Hcm91cCA9IG5ldyBNb25pdG9yQWN0aW9uR3JvdXAoXG4gICAgICB0aGlzLFxuICAgICAgXCJhY3Rpb25ncm91cFwiLFxuICAgICAge1xuICAgICAgICAuLi5kZWZhdWx0cyxcbiAgICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgICAgcmVzb3VyY2VHcm91cE5hbWU6IHRoaXMucmVzb3VyY2VHcm91cC5uYW1lLFxuICAgICAgICBzaG9ydE5hbWU6IHByb3BzLnNob3J0TmFtZSxcbiAgICAgICAgYXJtUm9sZVJlY2VpdmVyOiBjZGt0Zi5saXN0TWFwcGVyKFxuICAgICAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEFybVJvbGVSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy5hcm1Sb2xlUmVjZWl2ZXJzKSxcblxuICAgICAgICBlbWFpbFJlY2VpdmVyOiBjZGt0Zi5saXN0TWFwcGVyKFxuICAgICAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEVtYWlsUmVjZWl2ZXJUb1RlcnJhZm9ybSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApKHRoaXMucHJvcHMuZW1haWxSZWNlaXZlcnMpLFxuXG4gICAgICAgIHZvaWNlUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwVm9pY2VSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy52b2ljZVJlY2VpdmVycyksXG5cbiAgICAgICAgc21zUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwU21zUmVjZWl2ZXJUb1RlcnJhZm9ybSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApKHRoaXMucHJvcHMuc21zUmVjZWl2ZXJzKSxcblxuICAgICAgICB3ZWJob29rUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwV2ViaG9va1JlY2VpdmVyVG9UZXJyYWZvcm0sXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKSh0aGlzLnByb3BzLndlYmhvb2tSZWNlaXZlcnMpLFxuXG4gICAgICAgIGV2ZW50SHViUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwRXZlbnRIdWJSZWNlaXZlclRvVGVycmFmb3JtLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICkodGhpcy5wcm9wcy5ldmVudEh1YlJlY2VpdmVycyksXG5cbiAgICAgICAgYXp1cmVBcHBQdXNoUmVjZWl2ZXI6IGNka3RmLmxpc3RNYXBwZXIoXG4gICAgICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwQXp1cmVBcHBQdXNoUmVjZWl2ZXJUb1RlcnJhZm9ybSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApKHRoaXMucHJvcHMuYXp1cmVBcHBQdXNoUmVjZWl2ZXJzKSxcblxuICAgICAgICBsb2dpY0FwcFJlY2VpdmVyOiBjZGt0Zi5saXN0TWFwcGVyKFxuICAgICAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cExvZ2ljQXBwUmVjZWl2ZXJUb1RlcnJhZm9ybSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApKHRoaXMucHJvcHMubG9naWNBcHBSZWNlaXZlcnMpLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gVGVycmFmb3JtIE91dHB1dHNcbiAgICB0aGlzLmlkID0gYXp1cmVybU1vbml0b3JBY3Rpb25Hcm91cC5pZDtcblxuICAgIGNvbnN0IGNka3RmVGVycmFmb3JtT3V0cHV0QWN0aW9uR3JvdXBJZCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQoXG4gICAgICB0aGlzLFxuICAgICAgXCJpZFwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYXp1cmVybU1vbml0b3JBY3Rpb25Hcm91cC5pZCxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8qVGhpcyBhbGxvd3MgdGhlIFRlcnJhZm9ybSByZXNvdXJjZSBuYW1lIHRvIG1hdGNoIHRoZSBvcmlnaW5hbCBuYW1lLiBZb3UgY2FuIHJlbW92ZSB0aGUgY2FsbCBpZiB5b3UgZG9uJ3QgbmVlZCB0aGVtIHRvIG1hdGNoLiovXG4gICAgY2RrdGZUZXJyYWZvcm1PdXRwdXRBY3Rpb25Hcm91cElkLm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -13,9 +13,10 @@ export interface ActionGroupProps {
|
|
|
13
13
|
*/
|
|
14
14
|
readonly name: string;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* An optional reference to the resource group in which to deploy the Action Group.
|
|
17
|
+
* If not provided, the Action Group will be deployed in the default resource group.
|
|
17
18
|
*/
|
|
18
|
-
readonly resourceGroup
|
|
19
|
+
readonly resourceGroup?: ResourceGroup;
|
|
19
20
|
/**
|
|
20
21
|
* The short name of the action group. This will be used in SMS messages. The length should be in the range (1 - 12).
|
|
21
22
|
*/
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWdyb3VwLXByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWFjdGlvbmdyb3VwL21vZGVsL2FjdGlvbi1ncm91cC1wcm9wcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVzb3VyY2VHcm91cCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcmVzb3VyY2UtZ3JvdXBcIjtcbmltcG9ydCB7IEFybVJvbGVSZWNlaXZlclByb3BzIH0gZnJvbSBcIi4vYXJtLXJvbGUtcmVjZWl2ZXItcHJvcHNcIjtcbmltcG9ydCB7IEF6dXJlQXBwUHVzaFJlY2VpdmVyUHJvcHMgfSBmcm9tIFwiLi9henVyZS1hcHAtcHVzaC1yZWNlaXZlci1wcm9wc1wiO1xuaW1wb3J0IHsgRW1haWxSZWNlaXZlcnNQcm9wcyB9IGZyb20gXCIuL2VtYWlsLXJlY2VpdmVyLXByb3BzXCI7XG5pbXBvcnQgeyBFdmVudGh1YlJlY2VpdmVyUHJvcHMgfSBmcm9tIFwiLi9ldmVudGh1Yi1yZWNlaXZlci1wcm9wc1wiO1xuaW1wb3J0IHsgTG9naWNBcHBSZWNlaXZlclByb3BzIH0gZnJvbSBcIi4vbG9naWMtYXBwLXJlY2VpdmVyLXByb3BzXCI7XG5pbXBvcnQgeyBTbXNSZWNlaXZlclByb3BzIH0gZnJvbSBcIi4vc21zLXJlY2VpdmVyLXByb3BzXCI7XG5pbXBvcnQgeyBWb2ljZVJlY2VpdmVyUHJvcHMgfSBmcm9tIFwiLi92b2ljZS1yZWNlaXZlci1wcm9wc1wiO1xuaW1wb3J0IHsgV2ViaG9va1JlY2VpdmVyUHJvcHMgfSBmcm9tIFwiLi93ZWJob29rLXJlY2VpdmVyLXByb3BzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uR3JvdXBQcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgQWN0aW9uIEdyb3VwLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCByZWZlcmVuY2UgdG8gdGhlIHJlc291cmNlIGdyb3VwIGluIHdoaWNoIHRvIGRlcGxveSB0aGUgQWN0aW9uIEdyb3VwLlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBBY3Rpb24gR3JvdXAgd2lsbCBiZSBkZXBsb3llZCBpbiB0aGUgZGVmYXVsdCByZXNvdXJjZSBncm91cC5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlR3JvdXA/OiBSZXNvdXJjZUdyb3VwO1xuICAvKipcbiAgICogVGhlIHNob3J0IG5hbWUgb2YgdGhlIGFjdGlvbiBncm91cC4gVGhpcyB3aWxsIGJlIHVzZWQgaW4gU01TIG1lc3NhZ2VzLiBUaGUgbGVuZ3RoIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2UgKDEgLSAxMikuXG4gICAqL1xuICByZWFkb25seSBzaG9ydE5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBhY3Rpb24gZ3JvdXAgaXMgZW5hYmxlZC4gSWYgYW4gYWN0aW9uIGdyb3VwIGlzIG5vdCBlbmFibGVkLCB0aGVuIG5vbmUgb2YgaXRzIHJlY2VpdmVycyB3aWxsIHJlY2VpdmUgY29tbXVuaWNhdGlvbnMuIERlZmF1bHRzIHRvIHRydWUuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogVGhlIEF6dXJlIFJlZ2lvbiB3aGVyZSB0aGUgQWN0aW9uIEdyb3VwIHNob3VsZCBleGlzdC5cbiAgICogQGRlZmF1bHQgZ2xvYmFsXG4gICAqL1xuICByZWFkb25seSBsb2NhdGlvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEEgbWFwcGluZyBvZiB0YWdzIHRvIGFzc2lnbiB0byB0aGUgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSB0YWdzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICByZWFkb25seSBhcm1Sb2xlUmVjZWl2ZXJzPzogQXJtUm9sZVJlY2VpdmVyUHJvcHNbXTtcblxuICByZWFkb25seSBlbWFpbFJlY2VpdmVycz86IEVtYWlsUmVjZWl2ZXJzUHJvcHNbXTtcblxuICByZWFkb25seSB2b2ljZVJlY2VpdmVycz86IFZvaWNlUmVjZWl2ZXJQcm9wc1tdO1xuXG4gIHJlYWRvbmx5IHNtc1JlY2VpdmVycz86IFNtc1JlY2VpdmVyUHJvcHNbXTtcblxuICByZWFkb25seSB3ZWJob29rUmVjZWl2ZXJzPzogV2ViaG9va1JlY2VpdmVyUHJvcHNbXTtcblxuICByZWFkb25seSBldmVudEh1YlJlY2VpdmVycz86IEV2ZW50aHViUmVjZWl2ZXJQcm9wc1tdO1xuXG4gIHJlYWRvbmx5IGF6dXJlQXBwUHVzaFJlY2VpdmVycz86IEF6dXJlQXBwUHVzaFJlY2VpdmVyUHJvcHNbXTtcblxuICByZWFkb25seSBsb2dpY0FwcFJlY2VpdmVycz86IExvZ2ljQXBwUmVjZWl2ZXJQcm9wc1tdO1xuXG4gIC8vIFRPRE86XG4gIC8vIHJlYWRvbmx5IGl0c21SZWNlaXZlcnM7XG4gIC8vIHJlYWRvbmx5IGF1dG9tYXRpb25SdW5ib29rUmVjZWl2ZXJzO1xuICAvLyByZWFkb25seSBhenVyZUZ1bmN0aW9uUmVjZWl2ZXJzO1xufVxuIl19
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const provider_1 = require("@cdktf/provider-azurerm/lib/provider");
|
|
4
|
-
const resource_group_1 = require("@cdktf/provider-azurerm/lib/resource-group");
|
|
5
4
|
const cdktf_1 = require("cdktf");
|
|
6
5
|
const ExampleAzureActionGroup_1 = require("./ExampleAzureActionGroup");
|
|
7
6
|
require("cdktf/lib/testing/adapters/jest");
|
|
@@ -15,13 +14,8 @@ describe("Action Group With Defaults", () => {
|
|
|
15
14
|
const app = cdktf_1.Testing.app();
|
|
16
15
|
stack = new cdktf_1.TerraformStack(app, "test");
|
|
17
16
|
new provider_1.AzurermProvider(stack, "azureFeature", { features: {} });
|
|
18
|
-
const resourceGroup = new resource_group_1.ResourceGroup(stack, "MyResourceGroup", {
|
|
19
|
-
name: "testrg",
|
|
20
|
-
location: "eastus",
|
|
21
|
-
});
|
|
22
17
|
new __1.ActionGroup(stack, "testAzureActionGroupDefaults", {
|
|
23
18
|
name: "testactiongroup",
|
|
24
|
-
resourceGroup: resourceGroup,
|
|
25
19
|
shortName: "testshortn",
|
|
26
20
|
});
|
|
27
21
|
fullSynthResult = cdktf_1.Testing.fullSynth(stack); // Save the result for reuse
|
|
@@ -43,13 +37,8 @@ describe("Action Group With Defaults 2", () => {
|
|
|
43
37
|
const app = cdktf_1.Testing.app();
|
|
44
38
|
stack = new cdktf_1.TerraformStack(app, "test2");
|
|
45
39
|
new provider_1.AzurermProvider(stack, "azureFeature", { features: {} });
|
|
46
|
-
const resourceGroup2 = new resource_group_1.ResourceGroup(stack, "MyResourceGroup2", {
|
|
47
|
-
name: "testrg2",
|
|
48
|
-
location: "eastus",
|
|
49
|
-
});
|
|
50
40
|
new __1.ActionGroup(stack, "testAzureActionGroupDefaults", {
|
|
51
41
|
name: "testactiongroup",
|
|
52
|
-
resourceGroup: resourceGroup2,
|
|
53
42
|
shortName: "testshortn",
|
|
54
43
|
enabled: false,
|
|
55
44
|
location: "global",
|
|
@@ -291,4 +280,4 @@ describe("Action Group Helper Functions Unit Test for LogicAppReceiverProps", ()
|
|
|
291
280
|
expect(model.monitorActionGroupLogicAppReceiverToTerraform(logicAppReceiverProps3)).toBeUndefined();
|
|
292
281
|
});
|
|
293
282
|
});
|
|
294
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVBY3Rpb25Hcm91cC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWFjdGlvbmdyb3VwL3Rlc3QvQXp1cmVBY3Rpb25Hcm91cC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUVBQXVFO0FBQ3ZFLCtFQUEyRTtBQUMzRSxpQ0FBZ0Q7QUFDaEQsdUVBQW9FO0FBQ3BFLDJDQUF5QztBQUN6QywwQkFBaUM7QUFDakMsd0RBQXdEO0FBQ3hELGtDQUFrQztBQUVsQyxRQUFRLENBQUMsNEJBQTRCLEVBQUUsR0FBRyxFQUFFO0lBQzFDLElBQUksS0FBcUIsQ0FBQztJQUMxQixJQUFJLGVBQW9CLENBQUM7SUFFekIsVUFBVSxDQUFDLEdBQUcsRUFBRTtRQUNkLE1BQU0sR0FBRyxHQUFHLGVBQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMxQixLQUFLLEdBQUcsSUFBSSxzQkFBYyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV4QyxJQUFJLDBCQUFlLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTdELE1BQU0sYUFBYSxHQUFHLElBQUksOEJBQWEsQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLEVBQUU7WUFDaEUsSUFBSSxFQUFFLFFBQVE7WUFDZCxRQUFRLEVBQUUsUUFBUTtTQUNuQixDQUFDLENBQUM7UUFFSCxJQUFJLGVBQVcsQ0FBQyxLQUFLLEVBQUUsOEJBQThCLEVBQUU7WUFDckQsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixhQUFhLEVBQUUsYUFBYTtZQUM1QixTQUFTLEVBQUUsWUFBWTtTQUN4QixDQUFDLENBQUM7UUFFSCxlQUFlLEdBQUcsZUFBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtJQUMxRSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQywyREFBMkQsRUFB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QUFnQztRQUN4RCxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLFVBQVUsRUFBRSxvQkFBb0I7UUFDaEMsV0FBVyxFQUFFLDhCQUE4QjtRQUMzQyxvQkFBb0IsRUFBRSxJQUFJO0tBQzNCLENBQUM7SUFDRixJQUFJLHNCQUFzQixHQUFnQztRQUN4RCxJQUFJLEVBQUUsMkJBQTJCO1FBQ2pDLFVBQVUsRUFBRSxvQkFBb0I7UUFDaEMsV0FBVyxFQUFFLDhCQUE4QjtLQUM1QyxDQUFDO0lBQ0YsSUFBSSxzQkFBbUQsQ0FBQztJQUV4RCxFQUFFLENBQUMsMkRBQTJELEVBQUUsR0FBRyxFQUFFO1FBQ25FLE1BQU0sQ0FDSixLQUFLLENBQUMsNkNBQTZDLENBQ2pELHNCQUFzQixDQUN2QixDQUNGLENBQUMsYUFBYSxDQUFDO1lBQ2QsSUFBSSxFQUFFLDJCQUEyQjtZQUNqQyxXQUFXLEVBQUUsOEJBQThCO1lBQzNDLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOERBQThELEVBQUUsR0FBRyxFQUFFO1FBQ3RFLE1BQU0sQ0FDSixLQUFLLENBQUMsNkNBQTZDLENBQ2pELHNCQUFzQixDQUN2QixDQUNGLENBQUMsYUFBYSxDQUFDO1lBQ2QsSUFBSSxFQUFFLDJCQUEyQjtZQUNqQyxXQUFXLEVBQUUsOEJBQThCO1lBQzNDLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sQ0FDSixLQUFLLENBQUMsNkNBQTZDLENBQ2pELHNCQUFzQixDQUN2QixDQUNGLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBUZXN0aW5nLCBUZXJyYWZvcm1TdGFjayB9IGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgZXhhbXBsZUF6dXJlQWN0aW9uR3JvdXAgfSBmcm9tIFwiLi9FeGFtcGxlQXp1cmVBY3Rpb25Hcm91cFwiO1xuaW1wb3J0IFwiY2RrdGYvbGliL3Rlc3RpbmcvYWRhcHRlcnMvamVzdFwiO1xuaW1wb3J0IHsgQWN0aW9uR3JvdXAgfSBmcm9tIFwiLi5cIjtcbmltcG9ydCAqIGFzIHV0aWwgZnJvbSBcIi4uLy4uL3V0aWwvYXp1cmVUZW5hbnRJZEhlbHBlcnNcIjtcbmltcG9ydCAqIGFzIG1vZGVsIGZyb20gXCIuLi9tb2RlbFwiO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBXaXRoIERlZmF1bHRzXCIsICgpID0+IHtcbiAgbGV0IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgbGV0IGZ1bGxTeW50aFJlc3VsdDogYW55O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgVGVycmFmb3JtU3RhY2soYXBwLCBcInRlc3RcIik7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHN0YWNrLCBcImF6dXJlRmVhdHVyZVwiLCB7IGZlYXR1cmVzOiB7fSB9KTtcblxuICAgIGNvbnN0IHJlc291cmNlR3JvdXAgPSBuZXcgUmVzb3VyY2VHcm91cChzdGFjaywgXCJNeVJlc291cmNlR3JvdXBcIiwge1xuICAgICAgbmFtZTogXCJ0ZXN0cmdcIixcbiAgICAgIGxvY2F0aW9uOiBcImVhc3R1c1wiLFxuICAgIH0pO1xuXG4gICAgbmV3IEFjdGlvbkdyb3VwKHN0YWNrLCBcInRlc3RBenVyZUFjdGlvbkdyb3VwRGVmYXVsdHNcIiwge1xuICAgICAgbmFtZTogXCJ0ZXN0YWN0aW9uZ3JvdXBcIixcbiAgICAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBzaG9ydE5hbWU6IFwidGVzdHNob3J0blwiLFxuICAgIH0pO1xuXG4gICAgZnVsbFN5bnRoUmVzdWx0ID0gVGVzdGluZy5mdWxsU3ludGgoc3RhY2spOyAvLyBTYXZlIHRoZSByZXN1bHQgZm9yIHJldXNlXG4gIH0pO1xuXG4gIGl0KFwicmVuZGVycyBhbiBBY3Rpb24gR3JvdXAgd2l0aCBkZWZhdWx0cyBhbmQgY2hlY2tzIHNuYXBzaG90XCIsICgpID0+IHtcbiAgICBleHBlY3QoVGVzdGluZy5zeW50aChzdGFjaykpLnRvTWF0Y2hTbmFwc2hvdCgpOyAvLyBDb21wYXJlIHRoZSBhbHJlYWR5IHByZXBhcmVkIHN0YWNrXG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhlIHByb2R1Y2VkIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGlzIHZhbGlkXCIsICgpID0+IHtcbiAgICBleHBlY3QoZnVsbFN5bnRoUmVzdWx0KS50b0JlVmFsaWRUZXJyYWZvcm0oKTsgLy8gVXNlIHRoZSBzYXZlZCByZXN1bHRcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGlzIGNhbiBiZSBwbGFubmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoZnVsbFN5bnRoUmVzdWx0KS50b1BsYW5TdWNjZXNzZnVsbHkoKTsgLy8gVXNlIHRoZSBzYXZlZCByZXN1bHRcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgV2l0aCBEZWZhdWx0cyAyXCIsICgpID0+IHtcbiAgbGV0IHN0YWNrOiBUZXJyYWZvcm1TdGFjaztcbiAgbGV0IGZ1bGxTeW50aFJlc3VsdDogYW55O1xuXG4gIGJlZm9yZUVhY2goKCkgPT4ge1xuICAgIGNvbnN0IGFwcCA9IFRlc3RpbmcuYXBwKCk7XG4gICAgc3RhY2sgPSBuZXcgVGVycmFmb3JtU3RhY2soYXBwLCBcInRlc3QyXCIpO1xuXG4gICAgbmV3IEF6dXJlcm1Qcm92aWRlcihzdGFjaywgXCJhenVyZUZlYXR1cmVcIiwgeyBmZWF0dXJlczoge30gfSk7XG5cbiAgICBjb25zdCByZXNvdXJjZUdyb3VwMiA9IG5ldyBSZXNvdXJjZUdyb3VwKHN0YWNrLCBcIk15UmVzb3VyY2VHcm91cDJcIiwge1xuICAgICAgbmFtZTogXCJ0ZXN0cmcyXCIsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICB9KTtcblxuICAgIG5ldyBBY3Rpb25Hcm91cChzdGFjaywgXCJ0ZXN0QXp1cmVBY3Rpb25Hcm91cERlZmF1bHRzXCIsIHtcbiAgICAgIG5hbWU6IFwidGVzdGFjdGlvbmdyb3VwXCIsXG4gICAgICByZXNvdXJjZUdyb3VwOiByZXNvdXJjZUdyb3VwMixcbiAgICAgIHNob3J0TmFtZTogXCJ0ZXN0c2hvcnRuXCIsXG4gICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgIGxvY2F0aW9uOiBcImdsb2JhbFwiLFxuICAgICAgdGFnczoge1xuICAgICAgICB0ZXN0OiBcInRlc3RcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBmdWxsU3ludGhSZXN1bHQgPSBUZXN0aW5nLmZ1bGxTeW50aChzdGFjayk7IC8vIFNhdmUgdGhlIHJlc3VsdCBmb3IgcmV1c2VcbiAgfSk7XG5cbiAgaXQoXCJyZW5kZXJzIGFuIEFjdGlvbiBHcm91cCB3aXRoIGRlZmF1bHRzIGFuZCBjaGVja3Mgc25hcHNob3RcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChUZXN0aW5nLnN5bnRoKHN0YWNrKSkudG9NYXRjaFNuYXBzaG90KCk7IC8vIENvbXBhcmUgdGhlIGFscmVhZHkgcHJlcGFyZWQgc3RhY2tcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGUgcHJvZHVjZWQgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvQmVWYWxpZFRlcnJhZm9ybSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoaXMgY2FuIGJlIHBsYW5uZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvUGxhblN1Y2Nlc3NmdWxseSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBFeGFtcGxlXCIsICgpID0+IHtcbiAgaXQoXCJyZW5kZXJzIGFuZCBjaGVja3Mgc25hcHNob3RcIiwgKCkgPT4ge1xuICAgIC8vIE5lZWQgdG8gcmVtb3ZlIHRoZSB0ZW5hbnRfaWQgZnJvbSB0aGUgc25hcHNob3QgYXMgaXQgd2lsbCBjaGFuZ2Ugd2hlcmV2ZXIgdGhlIHRlc3QgaXMgcnVuXG4gICAgY29uc3Qgb3V0cHV0ID0gVGVzdGluZy5zeW50aChcbiAgICAgIG5ldyBleGFtcGxlQXp1cmVBY3Rpb25Hcm91cChUZXN0aW5nLmFwcCgpLCBcInRlc3RBenVyZUFjdGlvbkdyb3VwXCIpLFxuICAgICk7XG4gICAgY29uc3QgbXlPYmplY3Q6IFJlY29yZDxzdHJpbmcsIGFueT4gPSBKU09OLnBhcnNlKG91dHB1dCk7XG5cbiAgICBleHBlY3QodXRpbC5yZW1vdmVUZW5hbnRJZEZyb21TbmFwc2hvdChteU9iamVjdCkpLnRvTWF0Y2hTbmFwc2hvdCgpO1xuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoZSBwcm9kdWNlZCB0ZXJyYWZvcm0gY29uZmlndXJhdGlvbiBpcyB2YWxpZFwiLCAoKSA9PiB7XG4gICAgLy8gV2UgbmVlZCB0byBkbyBhIGZ1bGwgc3ludGggdG8gcGxhbiB0aGUgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb25cbiAgICBleHBlY3QoXG4gICAgICBUZXN0aW5nLmZ1bGxTeW50aChcbiAgICAgICAgbmV3IGV4YW1wbGVBenVyZUFjdGlvbkdyb3VwKFRlc3RpbmcuYXBwKCksIFwidGVzdEF6dXJlQWN0aW9uR3JvdXBcIiksXG4gICAgICApLFxuICAgICkudG9CZVZhbGlkVGVycmFmb3JtKCk7XG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhpcyBjYW4gYmUgcGxhbm5lZFwiLCAoKSA9PiB7XG4gICAgLy8gV2UgbmVlZCB0byBkbyBhIGZ1bGwgc3ludGggdG8gcGxhbiB0aGUgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb25cbiAgICBleHBlY3QoXG4gICAgICBUZXN0aW5nLmZ1bGxTeW50aChcbiAgICAgICAgbmV3IGV4YW1wbGVBenVyZUFjdGlvbkdyb3VwKFRlc3RpbmcuYXBwKCksIFwidGVzdEF6dXJlQWN0aW9uR3JvdXBcIiksXG4gICAgICApLFxuICAgICkudG9QbGFuU3VjY2Vzc2Z1bGx5KCk7XG4gIH0pO1xufSk7XG5cbi8qKlxuICogVW5pdCBUZXN0cyBmb3IgQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnNcbiAqL1xuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgSGVscGVyIEZ1bmN0aW9ucyBVbml0IFRlc3QgZm9yIEFybVJvbGVSZWNlaXZlclByb3BzXCIsICgpID0+IHtcbiAgbGV0IGFybVJvbGVSZWNlaXZlclByb3BzMTogbW9kZWwuQXJtUm9sZVJlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X2FybV9yb2xlX3JlY2VpdmVyXzFcIixcbiAgICByb2xlSWQ6IFwidGVzdC1yb2xlLWlkLTFcIixcbiAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgfTtcbiAgbGV0IGFybVJvbGVSZWNlaXZlclByb3BzMjogbW9kZWwuQXJtUm9sZVJlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X2FybV9yb2xlX3JlY2VpdmVyXzJcIixcbiAgICByb2xlSWQ6IFwidGVzdC1yb2xlLWlkLTJcIixcbiAgfTtcbiAgbGV0IGFybVJvbGVSZWNlaXZlclByb3BzMzogbW9kZWwuQXJtUm9sZVJlY2VpdmVyUHJvcHM7XG5cbiAgaXQoXCJhcm0gcm9sZSByZWNlaXZlciBwcm9wIHdpdGggdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwQXJtUm9sZVJlY2VpdmVyVG9UZXJyYWZvcm0oYXJtUm9sZVJlY2VpdmVyUHJvcHMxKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X2FybV9yb2xlX3JlY2VpdmVyXzFcIixcbiAgICAgIHJvbGVJZDogXCJ0ZXN0LXJvbGUtaWQtMVwiLFxuICAgICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiYXJtIHJvbGUgcmVjZWl2ZXIgcHJvcCB3aXRob3V0IHVzZUNvbW1vbkFsZXJ0U2NoZW1hIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEFybVJvbGVSZWNlaXZlclRvVGVycmFmb3JtKGFybVJvbGVSZWNlaXZlclByb3BzMiksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9hcm1fcm9sZV9yZWNlaXZlcl8yXCIsXG4gICAgICByb2xlSWQ6IFwidGVzdC1yb2xlLWlkLTJcIixcbiAgICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiBmYWxzZSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJhcm0gcm9sZSByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwQXJtUm9sZVJlY2VpdmVyVG9UZXJyYWZvcm0oYXJtUm9sZVJlY2VpdmVyUHJvcHMzKSxcbiAgICApLnRvQmVVbmRlZmluZWQoKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgSGVscGVyIEZ1bmN0aW9ucyBVbml0IFRlc3QgZm9yIEVtYWlsUmVjZWl2ZXJzUHJvcHNcIiwgKCkgPT4ge1xuICBsZXQgZW1haWxSZWNlaXZlclByb3BzMTogbW9kZWwuRW1haWxSZWNlaXZlcnNQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3RfZW1haWxfcmVjZWl2ZXJfMVwiLFxuICAgIGVtYWlsQWRkcmVzczogXCJ0ZXN0LWVtYWlsLWFkZHJlc3MtMVwiLFxuICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICB9O1xuICBsZXQgZW1haWxSZWNlaXZlclByb3BzMjogbW9kZWwuRW1haWxSZWNlaXZlcnNQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3RfZW1haWxfcmVjZWl2ZXJfMlwiLFxuICAgIGVtYWlsQWRkcmVzczogXCJ0ZXN0LWVtYWlsLWFkZHJlc3MtMlwiLFxuICB9O1xuICBsZXQgZW1haWxSZWNlaXZlclByb3BzMzogbW9kZWwuRW1haWxSZWNlaXZlcnNQcm9wcztcblxuICBpdChcImVtYWlsIHJlY2VpdmVyIHByb3Agd2l0aCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBFbWFpbFJlY2VpdmVyVG9UZXJyYWZvcm0oZW1haWxSZWNlaXZlclByb3BzMSksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9lbWFpbF9yZWNlaXZlcl8xXCIsXG4gICAgICBlbWFpbEFkZHJlc3M6IFwidGVzdC1lbWFpbC1hZGRyZXNzLTFcIixcbiAgICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImVtYWlsIHJlY2VpdmVyIHByb3Agd2l0aG91dCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBFbWFpbFJlY2VpdmVyVG9UZXJyYWZvcm0oZW1haWxSZWNlaXZlclByb3BzMiksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9lbWFpbF9yZWNlaXZlcl8yXCIsXG4gICAgICBlbWFpbEFkZHJlc3M6IFwidGVzdC1lbWFpbC1hZGRyZXNzLTJcIixcbiAgICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiBmYWxzZSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJlbWFpbCByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwRW1haWxSZWNlaXZlclRvVGVycmFmb3JtKGVtYWlsUmVjZWl2ZXJQcm9wczMpLFxuICAgICkudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBIZWxwZXIgRnVuY3Rpb25zIFVuaXQgVGVzdCBmb3IgVm9pY2VSZWNlaXZlclByb3BzXCIsICgpID0+IHtcbiAgbGV0IHZvaWNlUmVjZWl2ZXJQcm9wczE6IG1vZGVsLlZvaWNlUmVjZWl2ZXJQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3Rfdm9pY2VfcmVjZWl2ZXJfMVwiLFxuICAgIGNvdW50cnlDb2RlOiBcIjFcIixcbiAgICBwaG9uZU51bWJlcjogXCIwMTIzNDU2Nzg5XCIsXG4gIH07XG4gIGxldCB2b2ljZVJlY2VpdmVyUHJvcHMyOiBtb2RlbC5Wb2ljZVJlY2VpdmVyUHJvcHM7XG5cbiAgaXQoXCJ2b2ljZSByZWNlaXZlciBwcm9wIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cFZvaWNlUmVjZWl2ZXJUb1RlcnJhZm9ybSh2b2ljZVJlY2VpdmVyUHJvcHMxKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X3ZvaWNlX3JlY2VpdmVyXzFcIixcbiAgICAgIGNvdW50cnlDb2RlOiBcIjFcIixcbiAgICAgIHBob25lTnVtYmVyOiBcIjAxMjM0NTY3ODlcIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJ2b2ljZSByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwVm9pY2VSZWNlaXZlclRvVGVycmFmb3JtKHZvaWNlUmVjZWl2ZXJQcm9wczIpLFxuICAgICkudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBIZWxwZXIgRnVuY3Rpb25zIFVuaXQgVGVzdCBmb3IgU21zUmVjZWl2ZXJQcm9wc1wiLCAoKSA9PiB7XG4gIGxldCBzbXNSZWNlaXZlclByb3BzMTogbW9kZWwuU21zUmVjZWl2ZXJQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3Rfc21zX3JlY2VpdmVyXzFcIixcbiAgICBjb3VudHJ5Q29kZTogXCIxXCIsXG4gICAgcGhvbmVOdW1iZXI6IFwiMDEyMzQ1Njc4OVwiLFxuICB9O1xuICBsZXQgc21zUmVjZWl2ZXJQcm9wczI6IG1vZGVsLlNtc1JlY2VpdmVyUHJvcHM7XG5cbiAgaXQoXCJzbXMgcmVjZWl2ZXIgcHJvcCBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBTbXNSZWNlaXZlclRvVGVycmFmb3JtKHNtc1JlY2VpdmVyUHJvcHMxKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X3Ntc19yZWNlaXZlcl8xXCIsXG4gICAgICBjb3VudHJ5Q29kZTogXCIxXCIsXG4gICAgICBwaG9uZU51bWJlcjogXCIwMTIzNDU2Nzg5XCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwic21zIHJlY2VpdmVyIHByb3AgdW5kZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBTbXNSZWNlaXZlclRvVGVycmFmb3JtKHNtc1JlY2VpdmVyUHJvcHMyKSxcbiAgICApLnRvQmVVbmRlZmluZWQoKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgSGVscGVyIEZ1bmN0aW9ucyBVbml0IFRlc3QgZm9yIFdlYmhvb2tSZWNlaXZlclByb3BzXCIsICgpID0+IHtcbiAgbGV0IHdlYmhvb2tSZWNlaXZlclByb3BzMTogbW9kZWwuV2ViaG9va1JlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X3dlYmhvb2tfcmVjZWl2ZXJfMVwiLFxuICAgIHNlcnZpY2VVcmk6IFwiaHR0cHM6Ly90ZXN0LXdlYmhvb2stdXJpLTFcIixcbiAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgfTtcbiAgbGV0IHdlYmhvb2tSZWNlaXZlclByb3BzMjogbW9kZWwuV2ViaG9va1JlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X3dlYmhvb2tfcmVjZWl2ZXJfMlwiLFxuICAgIHNlcnZpY2VVcmk6IFwiaHR0cHM6Ly90ZXN0LXdlYmhvb2stdXJpLTJcIixcbiAgfTtcbiAgbGV0IHdlYmhvb2tSZWNlaXZlclByb3BzMzogbW9kZWwuV2ViaG9va1JlY2VpdmVyUHJvcHM7XG5cbiAgaXQoXCJ3ZWJob29rIHJlY2VpdmVyIHByb3Agd2l0aCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBXZWJob29rUmVjZWl2ZXJUb1RlcnJhZm9ybSh3ZWJob29rUmVjZWl2ZXJQcm9wczEpLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3Rfd2ViaG9va19yZWNlaXZlcl8xXCIsXG4gICAgICBzZXJ2aWNlVXJpOiBcImh0dHBzOi8vdGVzdC13ZWJob29rLXVyaS0xXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJ3ZWJob29rIHJlY2VpdmVyIHByb3Agd2l0aG91dCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBXZWJob29rUmVjZWl2ZXJUb1RlcnJhZm9ybSh3ZWJob29rUmVjZWl2ZXJQcm9wczIpLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3Rfd2ViaG9va19yZWNlaXZlcl8yXCIsXG4gICAgICBzZXJ2aWNlVXJpOiBcImh0dHBzOi8vdGVzdC13ZWJob29rLXVyaS0yXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwid2ViaG9vayByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwV2ViaG9va1JlY2VpdmVyVG9UZXJyYWZvcm0od2ViaG9va1JlY2VpdmVyUHJvcHMzKSxcbiAgICApLnRvQmVVbmRlZmluZWQoKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgSGVscGVyIEZ1bmN0aW9ucyBVbml0IFRlc3QgZm9yIEV2ZW50aHViUmVjZWl2ZXJQcm9wc1wiLCAoKSA9PiB7XG4gIGxldCBldmVudGh1YlJlY2VpdmVyUHJvcHMxOiBtb2RlbC5FdmVudGh1YlJlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X2V2ZW50aHViX3JlY2VpdmVyXzFcIixcbiAgICBldmVudEh1Yk5hbWU6IFwidGVzdGV2ZW50aHVibmFtZTFcIixcbiAgICBldmVudEh1Yk5hbWVzcGFjZTogXCJ0ZXN0bmFtZXNwYWNlMVwiLFxuICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICB9O1xuICBsZXQgZXZlbnRodWJSZWNlaXZlclByb3BzMjogbW9kZWwuRXZlbnRodWJSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9ldmVudGh1Yl9yZWNlaXZlcl8yXCIsXG4gICAgZXZlbnRIdWJOYW1lOiBcInRlc3RldmVudGh1Ym5hbWUyXCIsXG4gICAgZXZlbnRIdWJOYW1lc3BhY2U6IFwidGVzdG5hbWVzcGFjZTJcIixcbiAgfTtcbiAgbGV0IGV2ZW50aHViUmVjZWl2ZXJQcm9wczM6IG1vZGVsLkV2ZW50aHViUmVjZWl2ZXJQcm9wcztcblxuICBpdChcImV2ZW50aHViIHJlY2VpdmVyIHByb3Agd2l0aCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBFdmVudEh1YlJlY2VpdmVyVG9UZXJyYWZvcm0oXG4gICAgICAgIGV2ZW50aHViUmVjZWl2ZXJQcm9wczEsXG4gICAgICApLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfZXZlbnRodWJfcmVjZWl2ZXJfMVwiLFxuICAgICAgZXZlbnRIdWJOYW1lOiBcInRlc3RldmVudGh1Ym5hbWUxXCIsXG4gICAgICBldmVudEh1Yk5hbWVzcGFjZTogXCJ0ZXN0bmFtZXNwYWNlMVwiLFxuICAgICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiZXZlbnRodWIgcmVjZWl2ZXIgcHJvcCB3aXRob3V0IHVzZUNvbW1vbkFsZXJ0U2NoZW1hIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEV2ZW50SHViUmVjZWl2ZXJUb1RlcnJhZm9ybShcbiAgICAgICAgZXZlbnRodWJSZWNlaXZlclByb3BzMixcbiAgICAgICksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9ldmVudGh1Yl9yZWNlaXZlcl8yXCIsXG4gICAgICBldmVudEh1Yk5hbWU6IFwidGVzdGV2ZW50aHVibmFtZTJcIixcbiAgICAgIGV2ZW50SHViTmFtZXNwYWNlOiBcInRlc3RuYW1lc3BhY2UyXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiZXZlbnRodWIgcmVjZWl2ZXIgcHJvcCB1bmRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEV2ZW50SHViUmVjZWl2ZXJUb1RlcnJhZm9ybShcbiAgICAgICAgZXZlbnRodWJSZWNlaXZlclByb3BzMyxcbiAgICAgICksXG4gICAgKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnMgVW5pdCBUZXN0IGZvciBBenVyZUFwcFB1c2hSZWNlaXZlclByb3BzXCIsICgpID0+IHtcbiAgbGV0IGF6dXJlQXBwUHVzaFJlY2VpdmVyUHJvcHMxOiBtb2RlbC5BenVyZUFwcFB1c2hSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9henVyZV9hcHBfcHVzaF9yZWNlaXZlcl8xXCIsXG4gICAgZW1haWxBZGRyZXNzOiBcInRlc3RlbWFpbEBndGVzdGVtYWlsLmNvbVwiLFxuICB9O1xuICBsZXQgYXp1cmVBcHBQdXNoUmVjZWl2ZXJQcm9wczI6IG1vZGVsLkF6dXJlQXBwUHVzaFJlY2VpdmVyUHJvcHM7XG5cbiAgaXQoXCJhenVyZSBhcHAgcHVzaCByZWNlaXZlciBwcm9wIHdpdGggdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwQXp1cmVBcHBQdXNoUmVjZWl2ZXJUb1RlcnJhZm9ybShcbiAgICAgICAgYXp1cmVBcHBQdXNoUmVjZWl2ZXJQcm9wczEsXG4gICAgICApLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfYXp1cmVfYXBwX3B1c2hfcmVjZWl2ZXJfMVwiLFxuICAgICAgZW1haWxBZGRyZXNzOiBcInRlc3RlbWFpbEBndGVzdGVtYWlsLmNvbVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImF6dXJlIGFwcCBwdXNoIHJlY2VpdmVyIHByb3AgdW5kZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBBenVyZUFwcFB1c2hSZWNlaXZlclRvVGVycmFmb3JtKFxuICAgICAgICBhenVyZUFwcFB1c2hSZWNlaXZlclByb3BzMixcbiAgICAgICksXG4gICAgKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnMgVW5pdCBUZXN0IGZvciBMb2dpY0FwcFJlY2VpdmVyUHJvcHNcIiwgKCkgPT4ge1xuICBsZXQgbG9naWNBcHBSZWNlaXZlclByb3BzMTogbW9kZWwuTG9naWNBcHBSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9sb2dpY19hcHBfcmVjZWl2ZXJfMVwiLFxuICAgIHJlc291cmNlSWQ6IFwidGVzdC9yZXNvdXJjZS9pZC8xXCIsXG4gICAgY2FsbGJhY2tVcmw6IFwiaHR0cHM6Ly90ZXN0LWxvZ2ljLWFwcC11cmktMVwiLFxuICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICB9O1xuICBsZXQgbG9naWNBcHBSZWNlaXZlclByb3BzMjogbW9kZWwuTG9naWNBcHBSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9sb2dpY19hcHBfcmVjZWl2ZXJfMlwiLFxuICAgIHJlc291cmNlSWQ6IFwidGVzdC9yZXNvdXJjZS9pZC8yXCIsXG4gICAgY2FsbGJhY2tVcmw6IFwiaHR0cHM6Ly90ZXN0LWxvZ2ljLWFwcC11cmktMlwiLFxuICB9O1xuICBsZXQgbG9naWNBcHBSZWNlaXZlclByb3BzMzogbW9kZWwuTG9naWNBcHBSZWNlaXZlclByb3BzO1xuXG4gIGl0KFwibG9naWMgYXBwIHJlY2VpdmVyIHByb3Agd2l0aCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBMb2dpY0FwcFJlY2VpdmVyVG9UZXJyYWZvcm0oXG4gICAgICAgIGxvZ2ljQXBwUmVjZWl2ZXJQcm9wczEsXG4gICAgICApLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfbG9naWNfYXBwX3JlY2VpdmVyXzFcIixcbiAgICAgIGNhbGxiYWNrVXJsOiBcImh0dHBzOi8vdGVzdC1sb2dpYy1hcHAtdXJpLTFcIixcbiAgICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImxvZ2ljIGFwcCByZWNlaXZlciBwcm9wIHdpdGhvdXQgdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwTG9naWNBcHBSZWNlaXZlclRvVGVycmFmb3JtKFxuICAgICAgICBsb2dpY0FwcFJlY2VpdmVyUHJvcHMyLFxuICAgICAgKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X2xvZ2ljX2FwcF9yZWNlaXZlcl8yXCIsXG4gICAgICBjYWxsYmFja1VybDogXCJodHRwczovL3Rlc3QtbG9naWMtYXBwLXVyaS0yXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwibG9naWMgYXBwIHJlY2VpdmVyIHByb3AgdW5kZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBMb2dpY0FwcFJlY2VpdmVyVG9UZXJyYWZvcm0oXG4gICAgICAgIGxvZ2ljQXBwUmVjZWl2ZXJQcm9wczMsXG4gICAgICApLFxuICAgICkudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcbn0pO1xuIl19
|
|
283
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVBY3Rpb25Hcm91cC5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWFjdGlvbmdyb3VwL3Rlc3QvQXp1cmVBY3Rpb25Hcm91cC5zcGVjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUVBQXVFO0FBQ3ZFLGlDQUFnRDtBQUNoRCx1RUFBb0U7QUFDcEUsMkNBQXlDO0FBQ3pDLDBCQUFpQztBQUNqQyx3REFBd0Q7QUFDeEQsa0NBQWtDO0FBRWxDLFFBQVEsQ0FBQyw0QkFBNEIsRUFBRSxHQUFHLEVBQUU7SUFDMUMsSUFBSSxLQUFxQixDQUFDO0lBQzFCLElBQUksZUFBb0IsQ0FBQztJQUV6QixVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ2QsTUFBTSxHQUFHLEdBQUcsZUFBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQzFCLEtBQUssR0FBRyxJQUFJLHNCQUFjLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBRXhDLElBQUksMEJBQWUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFN0QsSUFBSSxlQUFXLENBQUMsS0FBSyxFQUFFLDhCQUE4QixFQUFFO1lBQ3JELElBQUksRUFBRSxpQkFBaUI7WUFDdkIsU0FBUyxFQUFFLFlBQVk7U0FDeEIsQ0FBQyxDQUFDO1FBRUgsZUFBZSxHQUFHLGVBQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyw0QkFBNEI7SUFDMUUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsMkRBQTJELEVBQUUsR0FBRyxFQUFFO1FBQ25FLE1BQU0sQ0FBQyxlQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQyxxQ0FBcUM7SUFDdkYsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsd0RBQXdELEVBQUUsR0FBRyxF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SixLQUFLLENBQUMsNkNBQTZDLENBQ2pELHNCQUFzQixDQUN2QixDQUNGLENBQUMsYUFBYSxDQUFDO1lBQ2QsSUFBSSxFQUFFLDJCQUEyQjtZQUNqQyxXQUFXLEVBQUUsOEJBQThCO1lBQzNDLG9CQUFvQixFQUFFLElBQUk7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsOERBQThELEVBQUUsR0FBRyxFQUFFO1FBQ3RFLE1BQU0sQ0FDSixLQUFLLENBQUMsNkNBQTZDLENBQ2pELHNCQUFzQixDQUN2QixDQUNGLENBQUMsYUFBYSxDQUFDO1lBQ2QsSUFBSSxFQUFFLDJCQUEyQjtZQUNqQyxXQUFXLEVBQUUsOEJBQThCO1lBQzNDLG9CQUFvQixFQUFFLEtBQUs7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbUNBQW1DLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sQ0FDSixLQUFLLENBQUMsNkNBQTZDLENBQ2pELHNCQUFzQixDQUN2QixDQUNGLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDcEIsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF6dXJlcm1Qcm92aWRlciB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHJvdmlkZXJcIjtcbmltcG9ydCB7IFRlc3RpbmcsIFRlcnJhZm9ybVN0YWNrIH0gZnJvbSBcImNka3RmXCI7XG5pbXBvcnQgeyBleGFtcGxlQXp1cmVBY3Rpb25Hcm91cCB9IGZyb20gXCIuL0V4YW1wbGVBenVyZUFjdGlvbkdyb3VwXCI7XG5pbXBvcnQgXCJjZGt0Zi9saWIvdGVzdGluZy9hZGFwdGVycy9qZXN0XCI7XG5pbXBvcnQgeyBBY3Rpb25Hcm91cCB9IGZyb20gXCIuLlwiO1xuaW1wb3J0ICogYXMgdXRpbCBmcm9tIFwiLi4vLi4vdXRpbC9henVyZVRlbmFudElkSGVscGVyc1wiO1xuaW1wb3J0ICogYXMgbW9kZWwgZnJvbSBcIi4uL21vZGVsXCI7XG5cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIFdpdGggRGVmYXVsdHNcIiwgKCkgPT4ge1xuICBsZXQgc3RhY2s6IFRlcnJhZm9ybVN0YWNrO1xuICBsZXQgZnVsbFN5bnRoUmVzdWx0OiBhbnk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gVGVzdGluZy5hcHAoKTtcbiAgICBzdGFjayA9IG5ldyBUZXJyYWZvcm1TdGFjayhhcHAsIFwidGVzdFwiKTtcblxuICAgIG5ldyBBenVyZXJtUHJvdmlkZXIoc3RhY2ssIFwiYXp1cmVGZWF0dXJlXCIsIHsgZmVhdHVyZXM6IHt9IH0pO1xuXG4gICAgbmV3IEFjdGlvbkdyb3VwKHN0YWNrLCBcInRlc3RBenVyZUFjdGlvbkdyb3VwRGVmYXVsdHNcIiwge1xuICAgICAgbmFtZTogXCJ0ZXN0YWN0aW9uZ3JvdXBcIixcbiAgICAgIHNob3J0TmFtZTogXCJ0ZXN0c2hvcnRuXCIsXG4gICAgfSk7XG5cbiAgICBmdWxsU3ludGhSZXN1bHQgPSBUZXN0aW5nLmZ1bGxTeW50aChzdGFjayk7IC8vIFNhdmUgdGhlIHJlc3VsdCBmb3IgcmV1c2VcbiAgfSk7XG5cbiAgaXQoXCJyZW5kZXJzIGFuIEFjdGlvbiBHcm91cCB3aXRoIGRlZmF1bHRzIGFuZCBjaGVja3Mgc25hcHNob3RcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChUZXN0aW5nLnN5bnRoKHN0YWNrKSkudG9NYXRjaFNuYXBzaG90KCk7IC8vIENvbXBhcmUgdGhlIGFscmVhZHkgcHJlcGFyZWQgc3RhY2tcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGUgcHJvZHVjZWQgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvQmVWYWxpZFRlcnJhZm9ybSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoaXMgY2FuIGJlIHBsYW5uZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChmdWxsU3ludGhSZXN1bHQpLnRvUGxhblN1Y2Nlc3NmdWxseSgpOyAvLyBVc2UgdGhlIHNhdmVkIHJlc3VsdFxuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBXaXRoIERlZmF1bHRzIDJcIiwgKCkgPT4ge1xuICBsZXQgc3RhY2s6IFRlcnJhZm9ybVN0YWNrO1xuICBsZXQgZnVsbFN5bnRoUmVzdWx0OiBhbnk7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgY29uc3QgYXBwID0gVGVzdGluZy5hcHAoKTtcbiAgICBzdGFjayA9IG5ldyBUZXJyYWZvcm1TdGFjayhhcHAsIFwidGVzdDJcIik7XG5cbiAgICBuZXcgQXp1cmVybVByb3ZpZGVyKHN0YWNrLCBcImF6dXJlRmVhdHVyZVwiLCB7IGZlYXR1cmVzOiB7fSB9KTtcblxuICAgIG5ldyBBY3Rpb25Hcm91cChzdGFjaywgXCJ0ZXN0QXp1cmVBY3Rpb25Hcm91cERlZmF1bHRzXCIsIHtcbiAgICAgIG5hbWU6IFwidGVzdGFjdGlvbmdyb3VwXCIsXG4gICAgICBzaG9ydE5hbWU6IFwidGVzdHNob3J0blwiLFxuICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICBsb2NhdGlvbjogXCJnbG9iYWxcIixcbiAgICAgIHRhZ3M6IHtcbiAgICAgICAgdGVzdDogXCJ0ZXN0XCIsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgZnVsbFN5bnRoUmVzdWx0ID0gVGVzdGluZy5mdWxsU3ludGgoc3RhY2spOyAvLyBTYXZlIHRoZSByZXN1bHQgZm9yIHJldXNlXG4gIH0pO1xuXG4gIGl0KFwicmVuZGVycyBhbiBBY3Rpb24gR3JvdXAgd2l0aCBkZWZhdWx0cyBhbmQgY2hlY2tzIHNuYXBzaG90XCIsICgpID0+IHtcbiAgICBleHBlY3QoVGVzdGluZy5zeW50aChzdGFjaykpLnRvTWF0Y2hTbmFwc2hvdCgpOyAvLyBDb21wYXJlIHRoZSBhbHJlYWR5IHByZXBhcmVkIHN0YWNrXG4gIH0pO1xuXG4gIGl0KFwiY2hlY2sgaWYgdGhlIHByb2R1Y2VkIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uIGlzIHZhbGlkXCIsICgpID0+IHtcbiAgICBleHBlY3QoZnVsbFN5bnRoUmVzdWx0KS50b0JlVmFsaWRUZXJyYWZvcm0oKTsgLy8gVXNlIHRoZSBzYXZlZCByZXN1bHRcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGlzIGNhbiBiZSBwbGFubmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoZnVsbFN5bnRoUmVzdWx0KS50b1BsYW5TdWNjZXNzZnVsbHkoKTsgLy8gVXNlIHRoZSBzYXZlZCByZXN1bHRcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgRXhhbXBsZVwiLCAoKSA9PiB7XG4gIGl0KFwicmVuZGVycyBhbmQgY2hlY2tzIHNuYXBzaG90XCIsICgpID0+IHtcbiAgICAvLyBOZWVkIHRvIHJlbW92ZSB0aGUgdGVuYW50X2lkIGZyb20gdGhlIHNuYXBzaG90IGFzIGl0IHdpbGwgY2hhbmdlIHdoZXJldmVyIHRoZSB0ZXN0IGlzIHJ1blxuICAgIGNvbnN0IG91dHB1dCA9IFRlc3Rpbmcuc3ludGgoXG4gICAgICBuZXcgZXhhbXBsZUF6dXJlQWN0aW9uR3JvdXAoVGVzdGluZy5hcHAoKSwgXCJ0ZXN0QXp1cmVBY3Rpb25Hcm91cFwiKSxcbiAgICApO1xuICAgIGNvbnN0IG15T2JqZWN0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0gSlNPTi5wYXJzZShvdXRwdXQpO1xuXG4gICAgZXhwZWN0KHV0aWwucmVtb3ZlVGVuYW50SWRGcm9tU25hcHNob3QobXlPYmplY3QpKS50b01hdGNoU25hcHNob3QoKTtcbiAgfSk7XG5cbiAgaXQoXCJjaGVjayBpZiB0aGUgcHJvZHVjZWQgdGVycmFmb3JtIGNvbmZpZ3VyYXRpb24gaXMgdmFsaWRcIiwgKCkgPT4ge1xuICAgIC8vIFdlIG5lZWQgdG8gZG8gYSBmdWxsIHN5bnRoIHRvIHBsYW4gdGhlIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uXG4gICAgZXhwZWN0KFxuICAgICAgVGVzdGluZy5mdWxsU3ludGgoXG4gICAgICAgIG5ldyBleGFtcGxlQXp1cmVBY3Rpb25Hcm91cChUZXN0aW5nLmFwcCgpLCBcInRlc3RBenVyZUFjdGlvbkdyb3VwXCIpLFxuICAgICAgKSxcbiAgICApLnRvQmVWYWxpZFRlcnJhZm9ybSgpO1xuICB9KTtcblxuICBpdChcImNoZWNrIGlmIHRoaXMgY2FuIGJlIHBsYW5uZWRcIiwgKCkgPT4ge1xuICAgIC8vIFdlIG5lZWQgdG8gZG8gYSBmdWxsIHN5bnRoIHRvIHBsYW4gdGhlIHRlcnJhZm9ybSBjb25maWd1cmF0aW9uXG4gICAgZXhwZWN0KFxuICAgICAgVGVzdGluZy5mdWxsU3ludGgoXG4gICAgICAgIG5ldyBleGFtcGxlQXp1cmVBY3Rpb25Hcm91cChUZXN0aW5nLmFwcCgpLCBcInRlc3RBenVyZUFjdGlvbkdyb3VwXCIpLFxuICAgICAgKSxcbiAgICApLnRvUGxhblN1Y2Nlc3NmdWxseSgpO1xuICB9KTtcbn0pO1xuXG4vKipcbiAqIFVuaXQgVGVzdHMgZm9yIEFjdGlvbiBHcm91cCBIZWxwZXIgRnVuY3Rpb25zXG4gKi9cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnMgVW5pdCBUZXN0IGZvciBBcm1Sb2xlUmVjZWl2ZXJQcm9wc1wiLCAoKSA9PiB7XG4gIGxldCBhcm1Sb2xlUmVjZWl2ZXJQcm9wczE6IG1vZGVsLkFybVJvbGVSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9hcm1fcm9sZV9yZWNlaXZlcl8xXCIsXG4gICAgcm9sZUlkOiBcInRlc3Qtcm9sZS1pZC0xXCIsXG4gICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IHRydWUsXG4gIH07XG4gIGxldCBhcm1Sb2xlUmVjZWl2ZXJQcm9wczI6IG1vZGVsLkFybVJvbGVSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9hcm1fcm9sZV9yZWNlaXZlcl8yXCIsXG4gICAgcm9sZUlkOiBcInRlc3Qtcm9sZS1pZC0yXCIsXG4gIH07XG4gIGxldCBhcm1Sb2xlUmVjZWl2ZXJQcm9wczM6IG1vZGVsLkFybVJvbGVSZWNlaXZlclByb3BzO1xuXG4gIGl0KFwiYXJtIHJvbGUgcmVjZWl2ZXIgcHJvcCB3aXRoIHVzZUNvbW1vbkFsZXJ0U2NoZW1hIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEFybVJvbGVSZWNlaXZlclRvVGVycmFmb3JtKGFybVJvbGVSZWNlaXZlclByb3BzMSksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9hcm1fcm9sZV9yZWNlaXZlcl8xXCIsXG4gICAgICByb2xlSWQ6IFwidGVzdC1yb2xlLWlkLTFcIixcbiAgICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImFybSByb2xlIHJlY2VpdmVyIHByb3Agd2l0aG91dCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBBcm1Sb2xlUmVjZWl2ZXJUb1RlcnJhZm9ybShhcm1Sb2xlUmVjZWl2ZXJQcm9wczIpLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfYXJtX3JvbGVfcmVjZWl2ZXJfMlwiLFxuICAgICAgcm9sZUlkOiBcInRlc3Qtcm9sZS1pZC0yXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiYXJtIHJvbGUgcmVjZWl2ZXIgcHJvcCB1bmRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEFybVJvbGVSZWNlaXZlclRvVGVycmFmb3JtKGFybVJvbGVSZWNlaXZlclByb3BzMyksXG4gICAgKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnMgVW5pdCBUZXN0IGZvciBFbWFpbFJlY2VpdmVyc1Byb3BzXCIsICgpID0+IHtcbiAgbGV0IGVtYWlsUmVjZWl2ZXJQcm9wczE6IG1vZGVsLkVtYWlsUmVjZWl2ZXJzUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X2VtYWlsX3JlY2VpdmVyXzFcIixcbiAgICBlbWFpbEFkZHJlc3M6IFwidGVzdC1lbWFpbC1hZGRyZXNzLTFcIixcbiAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgfTtcbiAgbGV0IGVtYWlsUmVjZWl2ZXJQcm9wczI6IG1vZGVsLkVtYWlsUmVjZWl2ZXJzUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X2VtYWlsX3JlY2VpdmVyXzJcIixcbiAgICBlbWFpbEFkZHJlc3M6IFwidGVzdC1lbWFpbC1hZGRyZXNzLTJcIixcbiAgfTtcbiAgbGV0IGVtYWlsUmVjZWl2ZXJQcm9wczM6IG1vZGVsLkVtYWlsUmVjZWl2ZXJzUHJvcHM7XG5cbiAgaXQoXCJlbWFpbCByZWNlaXZlciBwcm9wIHdpdGggdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwRW1haWxSZWNlaXZlclRvVGVycmFmb3JtKGVtYWlsUmVjZWl2ZXJQcm9wczEpLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfZW1haWxfcmVjZWl2ZXJfMVwiLFxuICAgICAgZW1haWxBZGRyZXNzOiBcInRlc3QtZW1haWwtYWRkcmVzcy0xXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJlbWFpbCByZWNlaXZlciBwcm9wIHdpdGhvdXQgdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwRW1haWxSZWNlaXZlclRvVGVycmFmb3JtKGVtYWlsUmVjZWl2ZXJQcm9wczIpLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfZW1haWxfcmVjZWl2ZXJfMlwiLFxuICAgICAgZW1haWxBZGRyZXNzOiBcInRlc3QtZW1haWwtYWRkcmVzcy0yXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogZmFsc2UsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwiZW1haWwgcmVjZWl2ZXIgcHJvcCB1bmRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEVtYWlsUmVjZWl2ZXJUb1RlcnJhZm9ybShlbWFpbFJlY2VpdmVyUHJvcHMzKSxcbiAgICApLnRvQmVVbmRlZmluZWQoKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgSGVscGVyIEZ1bmN0aW9ucyBVbml0IFRlc3QgZm9yIFZvaWNlUmVjZWl2ZXJQcm9wc1wiLCAoKSA9PiB7XG4gIGxldCB2b2ljZVJlY2VpdmVyUHJvcHMxOiBtb2RlbC5Wb2ljZVJlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X3ZvaWNlX3JlY2VpdmVyXzFcIixcbiAgICBjb3VudHJ5Q29kZTogXCIxXCIsXG4gICAgcGhvbmVOdW1iZXI6IFwiMDEyMzQ1Njc4OVwiLFxuICB9O1xuICBsZXQgdm9pY2VSZWNlaXZlclByb3BzMjogbW9kZWwuVm9pY2VSZWNlaXZlclByb3BzO1xuXG4gIGl0KFwidm9pY2UgcmVjZWl2ZXIgcHJvcCBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBWb2ljZVJlY2VpdmVyVG9UZXJyYWZvcm0odm9pY2VSZWNlaXZlclByb3BzMSksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF92b2ljZV9yZWNlaXZlcl8xXCIsXG4gICAgICBjb3VudHJ5Q29kZTogXCIxXCIsXG4gICAgICBwaG9uZU51bWJlcjogXCIwMTIzNDU2Nzg5XCIsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwidm9pY2UgcmVjZWl2ZXIgcHJvcCB1bmRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cFZvaWNlUmVjZWl2ZXJUb1RlcnJhZm9ybSh2b2ljZVJlY2VpdmVyUHJvcHMyKSxcbiAgICApLnRvQmVVbmRlZmluZWQoKTtcbiAgfSk7XG59KTtcblxuZGVzY3JpYmUoXCJBY3Rpb24gR3JvdXAgSGVscGVyIEZ1bmN0aW9ucyBVbml0IFRlc3QgZm9yIFNtc1JlY2VpdmVyUHJvcHNcIiwgKCkgPT4ge1xuICBsZXQgc21zUmVjZWl2ZXJQcm9wczE6IG1vZGVsLlNtc1JlY2VpdmVyUHJvcHMgPSB7XG4gICAgbmFtZTogXCJ0ZXN0X3Ntc19yZWNlaXZlcl8xXCIsXG4gICAgY291bnRyeUNvZGU6IFwiMVwiLFxuICAgIHBob25lTnVtYmVyOiBcIjAxMjM0NTY3ODlcIixcbiAgfTtcbiAgbGV0IHNtc1JlY2VpdmVyUHJvcHMyOiBtb2RlbC5TbXNSZWNlaXZlclByb3BzO1xuXG4gIGl0KFwic21zIHJlY2VpdmVyIHByb3AgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwU21zUmVjZWl2ZXJUb1RlcnJhZm9ybShzbXNSZWNlaXZlclByb3BzMSksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9zbXNfcmVjZWl2ZXJfMVwiLFxuICAgICAgY291bnRyeUNvZGU6IFwiMVwiLFxuICAgICAgcGhvbmVOdW1iZXI6IFwiMDEyMzQ1Njc4OVwiLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcInNtcyByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwU21zUmVjZWl2ZXJUb1RlcnJhZm9ybShzbXNSZWNlaXZlclByb3BzMiksXG4gICAgKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnMgVW5pdCBUZXN0IGZvciBXZWJob29rUmVjZWl2ZXJQcm9wc1wiLCAoKSA9PiB7XG4gIGxldCB3ZWJob29rUmVjZWl2ZXJQcm9wczE6IG1vZGVsLldlYmhvb2tSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF93ZWJob29rX3JlY2VpdmVyXzFcIixcbiAgICBzZXJ2aWNlVXJpOiBcImh0dHBzOi8vdGVzdC13ZWJob29rLXVyaS0xXCIsXG4gICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IHRydWUsXG4gIH07XG4gIGxldCB3ZWJob29rUmVjZWl2ZXJQcm9wczI6IG1vZGVsLldlYmhvb2tSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF93ZWJob29rX3JlY2VpdmVyXzJcIixcbiAgICBzZXJ2aWNlVXJpOiBcImh0dHBzOi8vdGVzdC13ZWJob29rLXVyaS0yXCIsXG4gIH07XG4gIGxldCB3ZWJob29rUmVjZWl2ZXJQcm9wczM6IG1vZGVsLldlYmhvb2tSZWNlaXZlclByb3BzO1xuXG4gIGl0KFwid2ViaG9vayByZWNlaXZlciBwcm9wIHdpdGggdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwV2ViaG9va1JlY2VpdmVyVG9UZXJyYWZvcm0od2ViaG9va1JlY2VpdmVyUHJvcHMxKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X3dlYmhvb2tfcmVjZWl2ZXJfMVwiLFxuICAgICAgc2VydmljZVVyaTogXCJodHRwczovL3Rlc3Qtd2ViaG9vay11cmktMVwiLFxuICAgICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IHRydWUsXG4gICAgfSk7XG4gIH0pO1xuXG4gIGl0KFwid2ViaG9vayByZWNlaXZlciBwcm9wIHdpdGhvdXQgdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwV2ViaG9va1JlY2VpdmVyVG9UZXJyYWZvcm0od2ViaG9va1JlY2VpdmVyUHJvcHMyKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X3dlYmhvb2tfcmVjZWl2ZXJfMlwiLFxuICAgICAgc2VydmljZVVyaTogXCJodHRwczovL3Rlc3Qtd2ViaG9vay11cmktMlwiLFxuICAgICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IGZhbHNlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcIndlYmhvb2sgcmVjZWl2ZXIgcHJvcCB1bmRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cFdlYmhvb2tSZWNlaXZlclRvVGVycmFmb3JtKHdlYmhvb2tSZWNlaXZlclByb3BzMyksXG4gICAgKS50b0JlVW5kZWZpbmVkKCk7XG4gIH0pO1xufSk7XG5cbmRlc2NyaWJlKFwiQWN0aW9uIEdyb3VwIEhlbHBlciBGdW5jdGlvbnMgVW5pdCBUZXN0IGZvciBFdmVudGh1YlJlY2VpdmVyUHJvcHNcIiwgKCkgPT4ge1xuICBsZXQgZXZlbnRodWJSZWNlaXZlclByb3BzMTogbW9kZWwuRXZlbnRodWJSZWNlaXZlclByb3BzID0ge1xuICAgIG5hbWU6IFwidGVzdF9ldmVudGh1Yl9yZWNlaXZlcl8xXCIsXG4gICAgZXZlbnRIdWJOYW1lOiBcInRlc3RldmVudGh1Ym5hbWUxXCIsXG4gICAgZXZlbnRIdWJOYW1lc3BhY2U6IFwidGVzdG5hbWVzcGFjZTFcIixcbiAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgfTtcbiAgbGV0IGV2ZW50aHViUmVjZWl2ZXJQcm9wczI6IG1vZGVsLkV2ZW50aHViUmVjZWl2ZXJQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3RfZXZlbnRodWJfcmVjZWl2ZXJfMlwiLFxuICAgIGV2ZW50SHViTmFtZTogXCJ0ZXN0ZXZlbnRodWJuYW1lMlwiLFxuICAgIGV2ZW50SHViTmFtZXNwYWNlOiBcInRlc3RuYW1lc3BhY2UyXCIsXG4gIH07XG4gIGxldCBldmVudGh1YlJlY2VpdmVyUHJvcHMzOiBtb2RlbC5FdmVudGh1YlJlY2VpdmVyUHJvcHM7XG5cbiAgaXQoXCJldmVudGh1YiByZWNlaXZlciBwcm9wIHdpdGggdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwRXZlbnRIdWJSZWNlaXZlclRvVGVycmFmb3JtKFxuICAgICAgICBldmVudGh1YlJlY2VpdmVyUHJvcHMxLFxuICAgICAgKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X2V2ZW50aHViX3JlY2VpdmVyXzFcIixcbiAgICAgIGV2ZW50SHViTmFtZTogXCJ0ZXN0ZXZlbnRodWJuYW1lMVwiLFxuICAgICAgZXZlbnRIdWJOYW1lc3BhY2U6IFwidGVzdG5hbWVzcGFjZTFcIixcbiAgICAgIHVzZUNvbW1vbkFsZXJ0U2NoZW1hOiB0cnVlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImV2ZW50aHViIHJlY2VpdmVyIHByb3Agd2l0aG91dCB1c2VDb21tb25BbGVydFNjaGVtYSBkZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBFdmVudEh1YlJlY2VpdmVyVG9UZXJyYWZvcm0oXG4gICAgICAgIGV2ZW50aHViUmVjZWl2ZXJQcm9wczIsXG4gICAgICApLFxuICAgICkudG9NYXRjaE9iamVjdCh7XG4gICAgICBuYW1lOiBcInRlc3RfZXZlbnRodWJfcmVjZWl2ZXJfMlwiLFxuICAgICAgZXZlbnRIdWJOYW1lOiBcInRlc3RldmVudGh1Ym5hbWUyXCIsXG4gICAgICBldmVudEh1Yk5hbWVzcGFjZTogXCJ0ZXN0bmFtZXNwYWNlMlwiLFxuICAgICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IGZhbHNlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImV2ZW50aHViIHJlY2VpdmVyIHByb3AgdW5kZWZpbmVkXCIsICgpID0+IHtcbiAgICBleHBlY3QoXG4gICAgICBtb2RlbC5tb25pdG9yQWN0aW9uR3JvdXBFdmVudEh1YlJlY2VpdmVyVG9UZXJyYWZvcm0oXG4gICAgICAgIGV2ZW50aHViUmVjZWl2ZXJQcm9wczMsXG4gICAgICApLFxuICAgICkudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBIZWxwZXIgRnVuY3Rpb25zIFVuaXQgVGVzdCBmb3IgQXp1cmVBcHBQdXNoUmVjZWl2ZXJQcm9wc1wiLCAoKSA9PiB7XG4gIGxldCBhenVyZUFwcFB1c2hSZWNlaXZlclByb3BzMTogbW9kZWwuQXp1cmVBcHBQdXNoUmVjZWl2ZXJQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3RfYXp1cmVfYXBwX3B1c2hfcmVjZWl2ZXJfMVwiLFxuICAgIGVtYWlsQWRkcmVzczogXCJ0ZXN0ZW1haWxAZ3Rlc3RlbWFpbC5jb21cIixcbiAgfTtcbiAgbGV0IGF6dXJlQXBwUHVzaFJlY2VpdmVyUHJvcHMyOiBtb2RlbC5BenVyZUFwcFB1c2hSZWNlaXZlclByb3BzO1xuXG4gIGl0KFwiYXp1cmUgYXBwIHB1c2ggcmVjZWl2ZXIgcHJvcCB3aXRoIHVzZUNvbW1vbkFsZXJ0U2NoZW1hIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cEF6dXJlQXBwUHVzaFJlY2VpdmVyVG9UZXJyYWZvcm0oXG4gICAgICAgIGF6dXJlQXBwUHVzaFJlY2VpdmVyUHJvcHMxLFxuICAgICAgKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X2F6dXJlX2FwcF9wdXNoX3JlY2VpdmVyXzFcIixcbiAgICAgIGVtYWlsQWRkcmVzczogXCJ0ZXN0ZW1haWxAZ3Rlc3RlbWFpbC5jb21cIixcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJhenVyZSBhcHAgcHVzaCByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwQXp1cmVBcHBQdXNoUmVjZWl2ZXJUb1RlcnJhZm9ybShcbiAgICAgICAgYXp1cmVBcHBQdXNoUmVjZWl2ZXJQcm9wczIsXG4gICAgICApLFxuICAgICkudG9CZVVuZGVmaW5lZCgpO1xuICB9KTtcbn0pO1xuXG5kZXNjcmliZShcIkFjdGlvbiBHcm91cCBIZWxwZXIgRnVuY3Rpb25zIFVuaXQgVGVzdCBmb3IgTG9naWNBcHBSZWNlaXZlclByb3BzXCIsICgpID0+IHtcbiAgbGV0IGxvZ2ljQXBwUmVjZWl2ZXJQcm9wczE6IG1vZGVsLkxvZ2ljQXBwUmVjZWl2ZXJQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3RfbG9naWNfYXBwX3JlY2VpdmVyXzFcIixcbiAgICByZXNvdXJjZUlkOiBcInRlc3QvcmVzb3VyY2UvaWQvMVwiLFxuICAgIGNhbGxiYWNrVXJsOiBcImh0dHBzOi8vdGVzdC1sb2dpYy1hcHAtdXJpLTFcIixcbiAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgfTtcbiAgbGV0IGxvZ2ljQXBwUmVjZWl2ZXJQcm9wczI6IG1vZGVsLkxvZ2ljQXBwUmVjZWl2ZXJQcm9wcyA9IHtcbiAgICBuYW1lOiBcInRlc3RfbG9naWNfYXBwX3JlY2VpdmVyXzJcIixcbiAgICByZXNvdXJjZUlkOiBcInRlc3QvcmVzb3VyY2UvaWQvMlwiLFxuICAgIGNhbGxiYWNrVXJsOiBcImh0dHBzOi8vdGVzdC1sb2dpYy1hcHAtdXJpLTJcIixcbiAgfTtcbiAgbGV0IGxvZ2ljQXBwUmVjZWl2ZXJQcm9wczM6IG1vZGVsLkxvZ2ljQXBwUmVjZWl2ZXJQcm9wcztcblxuICBpdChcImxvZ2ljIGFwcCByZWNlaXZlciBwcm9wIHdpdGggdXNlQ29tbW9uQWxlcnRTY2hlbWEgZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwTG9naWNBcHBSZWNlaXZlclRvVGVycmFmb3JtKFxuICAgICAgICBsb2dpY0FwcFJlY2VpdmVyUHJvcHMxLFxuICAgICAgKSxcbiAgICApLnRvTWF0Y2hPYmplY3Qoe1xuICAgICAgbmFtZTogXCJ0ZXN0X2xvZ2ljX2FwcF9yZWNlaXZlcl8xXCIsXG4gICAgICBjYWxsYmFja1VybDogXCJodHRwczovL3Rlc3QtbG9naWMtYXBwLXVyaS0xXCIsXG4gICAgICB1c2VDb21tb25BbGVydFNjaGVtYTogdHJ1ZSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgaXQoXCJsb2dpYyBhcHAgcmVjZWl2ZXIgcHJvcCB3aXRob3V0IHVzZUNvbW1vbkFsZXJ0U2NoZW1hIGRlZmluZWRcIiwgKCkgPT4ge1xuICAgIGV4cGVjdChcbiAgICAgIG1vZGVsLm1vbml0b3JBY3Rpb25Hcm91cExvZ2ljQXBwUmVjZWl2ZXJUb1RlcnJhZm9ybShcbiAgICAgICAgbG9naWNBcHBSZWNlaXZlclByb3BzMixcbiAgICAgICksXG4gICAgKS50b01hdGNoT2JqZWN0KHtcbiAgICAgIG5hbWU6IFwidGVzdF9sb2dpY19hcHBfcmVjZWl2ZXJfMlwiLFxuICAgICAgY2FsbGJhY2tVcmw6IFwiaHR0cHM6Ly90ZXN0LWxvZ2ljLWFwcC11cmktMlwiLFxuICAgICAgdXNlQ29tbW9uQWxlcnRTY2hlbWE6IGZhbHNlLFxuICAgIH0pO1xuICB9KTtcblxuICBpdChcImxvZ2ljIGFwcCByZWNlaXZlciBwcm9wIHVuZGVmaW5lZFwiLCAoKSA9PiB7XG4gICAgZXhwZWN0KFxuICAgICAgbW9kZWwubW9uaXRvckFjdGlvbkdyb3VwTG9naWNBcHBSZWNlaXZlclRvVGVycmFmb3JtKFxuICAgICAgICBsb2dpY0FwcFJlY2VpdmVyUHJvcHMzLFxuICAgICAgKSxcbiAgICApLnRvQmVVbmRlZmluZWQoKTtcbiAgfSk7XG59KTtcbiJdfQ==
|
|
@@ -27,9 +27,10 @@ export interface IGatewayProps {
|
|
|
27
27
|
*/
|
|
28
28
|
readonly location: string;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* An optional reference to the resource group in which to deploy the Application Gateway.
|
|
31
|
+
* If not provided, the Application Gateway will be deployed in the default resource group.
|
|
31
32
|
*/
|
|
32
|
-
readonly resourceGroup
|
|
33
|
+
readonly resourceGroup?: ResourceGroup;
|
|
33
34
|
/**
|
|
34
35
|
* The SKU tier of the Application Gateway (e.g., Standard, WAF).
|
|
35
36
|
*/
|
|
@@ -166,6 +167,7 @@ export interface IGatewayProps {
|
|
|
166
167
|
readonly wafConfiguration?: azapgw.ApplicationGatewayWafConfiguration;
|
|
167
168
|
}
|
|
168
169
|
export declare class Gateway extends AzureResource {
|
|
170
|
+
readonly props: IGatewayProps;
|
|
169
171
|
resourceGroup: ResourceGroup;
|
|
170
172
|
id: string;
|
|
171
173
|
/**
|
|
@@ -176,7 +178,7 @@ export declare class Gateway extends AzureResource {
|
|
|
176
178
|
* @param props - The properties for configuring the Azure Application Gateway. The properties include:
|
|
177
179
|
* - `name`: Required. Unique name for the Application Gateway within Azure.
|
|
178
180
|
* - `location`: Required. Azure Region for deployment.
|
|
179
|
-
* - `resourceGroup`:
|
|
181
|
+
* - `resourceGroup`: Optional. Reference to the resource group for deployment.
|
|
180
182
|
* - `skuTier`: Required. SKU tier of the Application Gateway (e.g., Standard, WAF).
|
|
181
183
|
* - `skuSize`: Required. Size of the SKU for the Application Gateway.
|
|
182
184
|
* - `capacity`: Required. Capacity (instance count) of the Application Gateway.
|
|
@@ -18,7 +18,7 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
18
18
|
* @param props - The properties for configuring the Azure Application Gateway. The properties include:
|
|
19
19
|
* - `name`: Required. Unique name for the Application Gateway within Azure.
|
|
20
20
|
* - `location`: Required. Azure Region for deployment.
|
|
21
|
-
* - `resourceGroup`:
|
|
21
|
+
* - `resourceGroup`: Optional. Reference to the resource group for deployment.
|
|
22
22
|
* - `skuTier`: Required. SKU tier of the Application Gateway (e.g., Standard, WAF).
|
|
23
23
|
* - `skuSize`: Required. Size of the SKU for the Application Gateway.
|
|
24
24
|
* - `capacity`: Required. Capacity (instance count) of the Application Gateway.
|
|
@@ -88,6 +88,8 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
88
88
|
*/
|
|
89
89
|
constructor(scope, id, props) {
|
|
90
90
|
super(scope, id);
|
|
91
|
+
this.props = props;
|
|
92
|
+
this.resourceGroup = this.setupResourceGroup(props);
|
|
91
93
|
// Define the identity
|
|
92
94
|
let identity;
|
|
93
95
|
// Check if Azure Key Vault is used and no identity is provided
|
|
@@ -95,7 +97,7 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
95
97
|
// Create a managed identity and add it to identityIds
|
|
96
98
|
const managedIdentity = new user_assigned_identity_1.UserAssignedIdentity(this, "ManagedIdentity", {
|
|
97
99
|
name: `mi-${props.name}`,
|
|
98
|
-
resourceGroupName:
|
|
100
|
+
resourceGroupName: this.resourceGroup.name,
|
|
99
101
|
location: props.location,
|
|
100
102
|
});
|
|
101
103
|
identity = {
|
|
@@ -112,7 +114,7 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
112
114
|
const defaults = {
|
|
113
115
|
subnetId: props.subnet?.id ||
|
|
114
116
|
new vnet.Network(this, "vnet", {
|
|
115
|
-
resourceGroup:
|
|
117
|
+
resourceGroup: this.resourceGroup,
|
|
116
118
|
}).subnets.default.id,
|
|
117
119
|
identity: props.identity || identity,
|
|
118
120
|
};
|
|
@@ -142,6 +144,12 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
142
144
|
privateIpAddressAllocation: props.privateIpAddressAllocation,
|
|
143
145
|
});
|
|
144
146
|
}
|
|
147
|
+
// If no frontend ports are provided, use default dummy frontend ip configuration
|
|
148
|
+
if (frontendIpConfigs.length == 0) {
|
|
149
|
+
frontendIpConfigs.push({
|
|
150
|
+
name: "Dummy-frontend-ip-configuration",
|
|
151
|
+
});
|
|
152
|
+
}
|
|
145
153
|
// Set default frontend ports if not provided
|
|
146
154
|
const defaultFrontendPorts = [
|
|
147
155
|
{ name: "80", port: 80 },
|
|
@@ -153,7 +161,7 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
153
161
|
// Create the Application Gateway
|
|
154
162
|
const apgw = new application_gateway_1.ApplicationGateway(this, "ApplicationGateway", {
|
|
155
163
|
name: props.name,
|
|
156
|
-
resourceGroupName:
|
|
164
|
+
resourceGroupName: this.resourceGroup.name,
|
|
157
165
|
location: props.location,
|
|
158
166
|
sslCertificate: props.sslCertificate,
|
|
159
167
|
sslPolicy: props.sslPolicy,
|
|
@@ -190,10 +198,9 @@ class Gateway extends core_azure_1.AzureResource {
|
|
|
190
198
|
tags: props.tags,
|
|
191
199
|
});
|
|
192
200
|
this.id = apgw.id;
|
|
193
|
-
this.resourceGroup = props.resourceGroup;
|
|
194
201
|
}
|
|
195
202
|
}
|
|
196
203
|
exports.Gateway = Gateway;
|
|
197
204
|
_a = JSII_RTTI_SYMBOL_1;
|
|
198
|
-
Gateway[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_applicationgateway.Gateway", version: "0.0.3-pre.
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmdhdGV3YXkvbGliL2dhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5RkFBcUY7QUFHckYsaUdBQTRGO0FBSTVGLCtGQUEwRjtBQUUxRixtREFBbUQ7QUFDbkQsaURBQWlEO0FBd01qRCxpREFBaUQ7QUFDakQsTUFBYSxPQUFRLFNBQVEsMEJBQWE7SUFJeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTJFRztJQUVILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixzQkFBc0I7UUFDdEIsSUFBSSxRQUFRLENBQUM7UUFFYiwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxzREFBc0Q7WUFDdEQsTUFBTSxlQUFlLEdBQUcsSUFBSSw2Q0FBb0IsQ0FDOUMsSUFBSSxFQUNKLGlCQUFpQixFQUNqQjtnQkFDRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN4QixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzNDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QixDQUNGLENBQUM7WUFFRixRQUFRLEdBQUc7Z0JBQ1QsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxFQUFFLGNBQWM7YUFDckIsQ0FBQztZQUVGLElBQUksK0NBQXFCLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRTtnQkFDeEMsVUFBVSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsRUFBRTtnQkFDN0IsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksRUFBRTtnQkFDOUIsUUFBUSxFQUFFLGVBQWUsQ0FBQyxXQUFXO2dCQUNyQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7YUFDbkMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxNQUFNLFFBQVEsR0FBRztZQUNmLFFBQVEsRUFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO29CQUM3QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWE7aUJBQ25DLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDdkIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLElBQUksUUFBUTtTQUNyQyxDQUFDO1FBRUYsb0JBQW9CO1FBQ3BCLElBQUksZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQjtZQUMzQyxDQUFDLENBQUM7Z0JBQ0UsT0FBTyxFQUFFLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPO2dCQUN2QyxZQUFZLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLFlBQVksSUFBSSxXQUFXO2dCQUNoRSxjQUFjLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixDQUFDLGNBQWMsSUFBSSxLQUFLO2FBQy9EO1lBQ0gsQ0FBQyxDQUFDLFNBQVMsQ0FBQztRQUVkLGdEQUFnRDtRQUNoRCxJQUFJLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUUzQiwwQkFBMEI7UUFDMUIsSUFBSSxLQUFLLENBQUMsZUFBZSxFQUFFO1lBQ3pCLGlCQUFpQixDQUFDLElBQUksQ0FBQztnQkFDckIsSUFBSSxFQUFFLGtDQUFrQztnQkFDeEMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFFO2FBQzVDLENBQUMsQ0FBQztTQUNKO1FBRUQsMkJBQTJCO1FBQzNCLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQywwQkFBMEIsRUFBRTtZQUM5RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksRUFBRSxtQ0FBbUM7Z0JBQ3pDLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtnQkFDM0IsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtnQkFDeEMsMEJBQTBCLEVBQUUsS0FBSyxDQUFDLDBCQUEwQjthQUM3RCxDQUFDLENBQUM7U0FDSjtRQUVELDZDQUE2QztRQUM3QyxNQUFNLG9CQUFvQixHQUFHO1lBQzNCLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFO1lBQ3hCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFO1NBQzNCLENBQUM7UUFFRixNQUFNLGFBQWEsR0FDakIsS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxLQUFLLENBQUMsYUFBYTtZQUNyQixDQUFDLENBQUMsb0JBQW9CLENBQUM7UUFFM0IsaUNBQWlDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLElBQUksd0NBQWtCLENBQUMsSUFBSSxFQUFFLG9CQUFvQixFQUFFO1lBQzlELElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtZQUNoQixpQkFBaUIsRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLElBQUk7WUFDM0MsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3hCLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztZQUNwQyxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHlCQUF5QixFQUFFLEtBQUssQ0FBQyx5QkFBeUI7WUFDMUQsc0JBQXNCLEVBQUUsS0FBSyxDQUFDLHNCQUFzQjtZQUNwRCx3QkFBd0IsRUFBRSxLQUFLLENBQUMsd0JBQXdCO1lBQ3hELHFCQUFxQixFQUFFLEtBQUssQ0FBQyxxQkFBcUI7WUFDbEQsY0FBYyxFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQ3BDLHdCQUF3QixFQUFFLEtBQUssQ0FBQyx3QkFBd0I7WUFDeEQsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLEdBQUcsRUFBRTtnQkFDSCxJQUFJLEVBQUUsS0FBSyxDQUFDLE9BQU87Z0JBQ25CLElBQUksRUFBRSxLQUFLLENBQUMsT0FBTztnQkFDbkIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRO2FBQ3pCO1lBQ0Qsc0JBQXNCLEVBQUU7Z0JBQ3RCO29CQUNFLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtvQkFDM0IsSUFBSSxFQUFFLEdBQUcsS0FBSyxDQUFDLElBQUksZ0JBQWdCO2lCQUNwQzthQUNGO1lBQ0QsWUFBWSxFQUFFLGFBQWE7WUFDM0IsdUJBQXVCLEVBQUUsaUJBQWlCO1lBQzFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxtQkFBbUI7WUFDN0MsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM5QyxZQUFZLEVBQUUsS0FBSyxDQUFDLGFBQWE7WUFDakMsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLHNCQUFzQixFQUFFLEtBQUssQ0FBQyxzQkFBc0I7WUFDcEQsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLG1CQUFtQjtZQUM3QyxLQUFLLEVBQUUsS0FBSyxDQUFDLEtBQUs7WUFDbEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxRQUFRO1lBQzNCLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztZQUNsQixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQztJQUMzQyxDQUFDOztBQTdNSCwwQkE4TUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBsaWNhdGlvbkdhdGV3YXkgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2FwcGxpY2F0aW9uLWdhdGV3YXlcIjtcbmltcG9ydCAqIGFzIGF6YXBndyBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2FwcGxpY2F0aW9uLWdhdGV3YXlcIjtcbmltcG9ydCB7IEtleVZhdWx0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9rZXktdmF1bHRcIjtcbmltcG9ydCB7IEtleVZhdWx0QWNjZXNzUG9saWN5QSB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0LWFjY2Vzcy1wb2xpY3lcIjtcbmltcG9ydCB7IFB1YmxpY0lwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9wdWJsaWMtaXBcIjtcbmltcG9ydCB7IFJlc291cmNlR3JvdXAgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3Jlc291cmNlLWdyb3VwXCI7XG5pbXBvcnQgeyBTdWJuZXQgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3N1Ym5ldFwiO1xuaW1wb3J0IHsgVXNlckFzc2lnbmVkSWRlbnRpdHkgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL3VzZXItYXNzaWduZWQtaWRlbnRpdHlcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgKiBhcyB2bmV0IGZyb20gXCIuLi8uLi9henVyZS12aXJ0dWFsbmV0d29ya1wiO1xuaW1wb3J0IHsgQXp1cmVSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlXCI7XG5cbi8vIERlZmluZSB0aGUgaW50ZXJmYWNlIGZvciBBcHBsaWNhdGlvbiBHYXRld2F5IHByb3BlcnRpZXNcbmV4cG9ydCBpbnRlcmZhY2UgSUdhdGV3YXlQcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBwdWJsaWMgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcHVibGljSXBBZGRyZXNzPzogUHVibGljSXA7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByaXZhdGUgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcHJpdmF0ZUlwQWRkcmVzcz86IHN0cmluZztcblxuICAvKipcbiAgICogQWxsb2NhdGlvbiBtZXRob2QgZm9yIHRoZSBwcml2YXRlIElQIGFkZHJlc3MgKGUuZy4sIFN0YXRpYywgRHluYW1pYykuXG4gICAqL1xuICBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsb2NhdGlvbiB3aGVyZSB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSB3aWxsIGJlIGRlcGxveWVkIChlLmcuLCByZWdpb24pLlxuICAgKi9cbiAgcmVhZG9ubHkgbG9jYXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlIGdyb3VwIHVuZGVyIHdoaWNoIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHdpbGwgYmUgZGVwbG95ZWQuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuXG4gIC8qKlxuICAgKiBUaGUgU0tVIHRpZXIgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgKGUuZy4sIFN0YW5kYXJkLCBXQUYpLlxuICAgKi9cbiAgcmVhZG9ubHkgc2t1VGllcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgU0tVIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHNrdVNpemU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNhcGFjaXR5IChpbnN0YW5jZSBjb3VudCkgb2YgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBjYXBhY2l0eTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgYmFja2VuZCBhZGRyZXNzIHBvb2xzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGJhY2tlbmRBZGRyZXNzUG9vbHM6IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlCYWNrZW5kQWRkcmVzc1Bvb2xbXTtcblxuICAvKipcbiAgICogVGhlIGJhY2tlbmQgSFRUUCBzZXR0aW5ncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBiYWNrZW5kSHR0cFNldHRpbmdzOiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5QmFja2VuZEh0dHBTZXR0aW5nc1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBmcm9udGVuZCBwb3J0cyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBmcm9udGVuZFBvcnRzPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUZyb250ZW5kUG9ydFtdO1xuXG4gIC8qKlxuICAgKiBUaGUgSFRUUCBsaXN0ZW5lcnMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cExpc3RlbmVyczogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUh0dHBMaXN0ZW5lcltdO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVxdWVzdCByb3V0aW5nIHJ1bGVzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVlc3RSb3V0aW5nUnVsZXM6IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlSZXF1ZXN0Um91dGluZ1J1bGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgc3VibmV0IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHN1Ym5ldD86IFN1Ym5ldDtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdGVuYW50IElEIGZvciB1c2Ugd2l0aCBLZXkgVmF1bHQsIGlmIGFwcGxpY2FibGUuXG4gICAqL1xuICByZWFkb25seSB0ZW5hbnRJZD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBlbmFibGUgSFRUUDIuXG4gICAqL1xuICByZWFkb25seSBlbmFibGVIdHRwMj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZW5hYmxlIEZJUFMtY29tcGxpYW50IGFsZ29yaXRobXMuXG4gICAqL1xuICByZWFkb25seSBmaXBzRW5hYmxlZD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIElEIG9mIHRoZSBmaXJld2FsbCBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBmaXJld2FsbFBvbGljeUlkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGVuZm9yY2UgYXNzb2NpYXRpb24gb2YgdGhlIGZpcmV3YWxsIHBvbGljeS5cbiAgICovXG4gIHJlYWRvbmx5IGZvcmNlRmlyZXdhbGxQb2xpY3lBc3NvY2lhdGlvbj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRhZ3MgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHJlc291cmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGF2YWlsYWJpbGl0eSB6b25lcyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSB6b25lcz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBLZXkgVmF1bHQgcmVzb3VyY2UgZm9yIHN0b3JpbmcgU1NMIGNlcnRpZmljYXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IGtleVZhdWx0PzogS2V5VmF1bHQ7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGF1dGhlbnRpY2F0aW9uIGNlcnRpZmljYXRlcyBmb3IgbXV0dWFsIGF1dGhlbnRpY2F0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0aGVudGljYXRpb25DZXJ0aWZpY2F0ZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlBdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGF1dG9zY2FsZSBjb25maWd1cmF0aW9uIGZvciBkeW5hbWljYWxseSBhZGp1c3RpbmcgdGhlIGNhcGFjaXR5IG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgYXV0b3NjYWxlQ29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlBdXRvc2NhbGVDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjdXN0b20gZXJyb3IgY29uZmlndXJhdGlvbnMgdG8gc3BlY2lmeSBjdXN0b20gZXJyb3IgcGFnZXMuXG4gICAqL1xuICByZWFkb25seSBjdXN0b21FcnJvckNvbmZpZ3VyYXRpb24/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5Q3VzdG9tRXJyb3JDb25maWd1cmF0aW9uW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGlkZW50aXR5IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSwgdXNlZCBmb3IgYWNjZXNzaW5nIG90aGVyIEF6dXJlIHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IGlkZW50aXR5PzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUlkZW50aXR5O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjb25maWd1cmF0aW9ucyBmb3IgZW5hYmxpbmcgUHJpdmF0ZSBMaW5rIG9uIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgcHJpdmF0ZUxpbmtDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVByaXZhdGVMaW5rQ29uZmlndXJhdGlvbltdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcm9iZXMgZm9yIGhlYWx0aCBjaGVja3Mgb2YgdGhlIGJhY2tlbmQgSFRUUCBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IHByb2JlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVByb2JlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb25zIGZvciByZWRpcmVjdCBydWxlcy5cbiAgICovXG4gIHJlYWRvbmx5IHJlZGlyZWN0Q29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlSZWRpcmVjdENvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgcmV3cml0ZSBydWxlIHNldHMgZm9yIG1vZGlmeWluZyBIVFRQIHJlcXVlc3QgYW5kIHJlc3BvbnNlIGhlYWRlcnMgYW5kIGJvZGllcy5cbiAgICovXG4gIHJlYWRvbmx5IHJld3JpdGVSdWxlU2V0PzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVJld3JpdGVSdWxlU2V0W107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFNTTCBjZXJ0aWZpY2F0ZXMgZm9yIGVuYWJsaW5nIEhUVFBTIG9uIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgc3NsQ2VydGlmaWNhdGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5U3NsQ2VydGlmaWNhdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgU1NMIHBvbGljeSBjb25maWd1cmF0aW9ucywgZGVmaW5pbmcgdGhlIHByb3RvY29sIGFuZCBjaXBoZXIgc3VpdGVzIHVzZWQuXG4gICAqL1xuICByZWFkb25seSBzc2xQb2xpY3k/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5U3NsUG9saWN5O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBTU0wgcHJvZmlsZXMgZm9yIG1hbmFnaW5nIFNTTCB0ZXJtaW5hdGlvbiBhbmQgcG9saWN5IHNldHRpbmdzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3NsUHJvZmlsZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlTc2xQcm9maWxlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRpbWVvdXQgc2V0dGluZ3MgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHJlc291cmNlcy5cbiAgICovXG4gIHJlYWRvbmx5IHRpbWVvdXRzPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVRpbWVvdXRzO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0cnVzdGVkIGNsaWVudCBjZXJ0aWZpY2F0ZXMgZm9yIG11dHVhbCBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRDbGllbnRDZXJ0aWZpY2F0ZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlUcnVzdGVkQ2xpZW50Q2VydGlmaWNhdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdHJ1c3RlZCByb290IGNlcnRpZmljYXRlcyBmb3IgYmFja2VuZCBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHRydXN0ZWRSb290Q2VydGlmaWNhdGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5VHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBVUkwgcGF0aCBtYXAgZm9yIHJvdXRpbmcgYmFzZWQgb24gVVJMIHBhdGhzLlxuICAgKi9cbiAgcmVhZG9ubHkgdXJsUGF0aE1hcD86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlVcmxQYXRoTWFwW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFdlYiBBcHBsaWNhdGlvbiBGaXJld2FsbCAoV0FGKSBjb25maWd1cmF0aW9uIHRvIHByb3ZpZGUgZW5oYW5jZWQgc2VjdXJpdHkuXG4gICAqL1xuICByZWFkb25seSB3YWZDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVdhZkNvbmZpZ3VyYXRpb247XG59XG5cbi8vIERlZmluZSB0aGUgY2xhc3MgZm9yIEF6dXJlIEFwcGxpY2F0aW9uIEdhdGV3YXlcbmV4cG9ydCBjbGFzcyBHYXRld2F5IGV4dGVuZHMgQXp1cmVSZXNvdXJjZSB7XG4gIHB1YmxpYyByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBBenVyZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhpcyBjb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyB0aGUgQXp1cmUgQXBwbGljYXRpb24gR2F0ZXdheS4gVGhlIHByb3BlcnRpZXMgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IFJlcXVpcmVkLiBVbmlxdWUgbmFtZSBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgd2l0aGluIEF6dXJlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IFJlcXVpcmVkLiBBenVyZSBSZWdpb24gZm9yIGRlcGxveW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBSZXF1aXJlZC4gUmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBncm91cCBmb3IgZGVwbG95bWVudC5cbiAgICogICAgICAgICAgICAgICAgLSBgc2t1VGllcmA6IFJlcXVpcmVkLiBTS1UgdGllciBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSAoZS5nLiwgU3RhbmRhcmQsIFdBRikuXG4gICAqICAgICAgICAgICAgICAgIC0gYHNrdVNpemVgOiBSZXF1aXJlZC4gU2l6ZSBvZiB0aGUgU0tVIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgY2FwYWNpdHlgOiBSZXF1aXJlZC4gQ2FwYWNpdHkgKGluc3RhbmNlIGNvdW50KSBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgYmFja2VuZEFkZHJlc3NQb29sc2A6IFJlcXVpcmVkLiBCYWNrZW5kIGFkZHJlc3MgcG9vbHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGBiYWNrZW5kSHR0cFNldHRpbmdzYDogUmVxdWlyZWQuIEJhY2tlbmQgSFRUUCBzZXR0aW5ncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqICAgICAgICAgICAgICAgIC0gYGh0dHBMaXN0ZW5lcnNgOiBSZXF1aXJlZC4gSFRUUCBsaXN0ZW5lcnMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGByZXF1ZXN0Um91dGluZ1J1bGVzYDogUmVxdWlyZWQuIFJlcXVlc3Qgcm91dGluZyBydWxlcyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqICAgICAgICAgICAgICAgIC0gYHB1YmxpY0lwQWRkcmVzc2A6IE9wdGlvbmFsLiBQdWJsaWMgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kLlxuICAgKiAgICAgICAgICAgICAgICAtIGBwcml2YXRlSXBBZGRyZXNzYDogT3B0aW9uYWwuIFByaXZhdGUgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kLlxuICAgKiAgICAgICAgICAgICAgICAtIGBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbmA6IE9wdGlvbmFsLiBBbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHByaXZhdGUgSVAgKFN0YXRpYywgRHluYW1pYykuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZyb250ZW5kUG9ydHNgOiBPcHRpb25hbC4gRnJvbnRlbmQgcG9ydHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGBzdWJuZXRgOiBPcHRpb25hbC4gU3VibmV0IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgZW5hYmxlSHR0cDJgOiBPcHRpb25hbC4gRmxhZyB0byBlbmFibGUgSFRUUDIuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZpcHNFbmFibGVkYDogT3B0aW9uYWwuIEZsYWcgdG8gZW5hYmxlIEZJUFMtY29tcGxpYW50IGFsZ29yaXRobXMuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZpcmV3YWxsUG9saWN5SWRgOiBPcHRpb25hbC4gSUQgb2YgdGhlIGZpcmV3YWxsIHBvbGljeS5cbiAgICogICAgICAgICAgICAgICAgLSBgZm9yY2VGaXJld2FsbFBvbGljeUFzc29jaWF0aW9uYDogT3B0aW9uYWwuIEZsYWcgdG8gZW5mb3JjZSBhc3NvY2lhdGlvbiBvZiB0aGUgZmlyZXdhbGwgcG9saWN5LlxuICAgKiAgICAgICAgICAgICAgICAtIGB0YWdzYDogT3B0aW9uYWwuIFRhZ3MgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gQWRkaXRpb25hbCBvcHRpb25hbCBwcm9wZXJ0aWVzIGFzIGRlc2NyaWJlZCBpbiBgSUdhdGV3YXlQcm9wc2AgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIG5ldyBHYXRld2F5KHRoaXMsICdhcHBHYXRld2F5MScsIHtcbiAgICogICBuYW1lOiAnZ2F0ZXdheUVhc3QnLFxuICAgKiAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHNrdVRpZXI6IFwiU3RhbmRhcmRfdjJcIixcbiAgICAgIHNrdVNpemU6IFwiU3RhbmRhcmRfdjJcIixcbiAgICAgIGNhcGFjaXR5OiAyLFxuICAgICAgcHVibGljSXBBZGRyZXNzOiBwdWJsaWNJcCxcbiAgICAgIHN1Ym5ldDogc3VibmV0LFxuICAgICAgYmFja2VuZEFkZHJlc3NQb29sczogW1xuICAgICAgICB7IG5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImJhY2tlbmQtYWRkcmVzcy1wb29sLTJcIixcbiAgICAgICAgICBpcEFkZHJlc3NlczogW1wiMTAuMS4wLjRcIiwgXCIxMC4xLjAuNVwiLCBcIjEwLjEuMC42XCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGh0dHBMaXN0ZW5lcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIGZyb250ZW5kUG9ydE5hbWU6IFwiODBcIixcbiAgICAgICAgICBmcm9udGVuZElwQ29uZmlndXJhdGlvbk5hbWU6IFwiUHVibGljLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgICBwcm90b2NvbDogXCJIdHRwXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYmFja2VuZEh0dHBTZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJiYWNrZW5kLWh0dHAtc2V0dGluZ1wiLFxuICAgICAgICAgIHBvcnQ6IDgwLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBcIixcbiAgICAgICAgICByZXF1ZXN0VGltZW91dDogMjAsXG4gICAgICAgICAgY29va2llQmFzZWRBZmZpbml0eTogXCJEaXNhYmxlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlcXVlc3RSb3V0aW5nUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVxdWVzdC1yb3V0aW5nLXJ1bGUtMVwiLFxuICAgICAgICAgIGh0dHBMaXN0ZW5lck5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIHByaW9yaXR5OiAxLFxuICAgICAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbE5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiLFxuICAgICAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3NOYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcnVsZVR5cGU6IFwiQmFzaWNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElHYXRld2F5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgLy8gRGVmaW5lIHRoZSBpZGVudGl0eVxuICAgIGxldCBpZGVudGl0eTtcblxuICAgIC8vIENoZWNrIGlmIEF6dXJlIEtleSBWYXVsdCBpcyB1c2VkIGFuZCBubyBpZGVudGl0eSBpcyBwcm92aWRlZFxuICAgIGlmIChwcm9wcy5rZXlWYXVsdCAmJiAhcHJvcHMuaWRlbnRpdHkpIHtcbiAgICAgIC8vIENyZWF0ZSBhIG1hbmFnZWQgaWRlbnRpdHkgYW5kIGFkZCBpdCB0byBpZGVudGl0eUlkc1xuICAgICAgY29uc3QgbWFuYWdlZElkZW50aXR5ID0gbmV3IFVzZXJBc3NpZ25lZElkZW50aXR5KFxuICAgICAgICB0aGlzLFxuICAgICAgICBcIk1hbmFnZWRJZGVudGl0eVwiLFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogYG1pLSR7cHJvcHMubmFtZX1gLFxuICAgICAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWRlbnRpdHkgPSB7XG4gICAgICAgIGlkZW50aXR5SWRzOiBbbWFuYWdlZElkZW50aXR5LmlkXSxcbiAgICAgICAgdHlwZTogXCJVc2VyQXNzaWduZWRcIixcbiAgICAgIH07XG5cbiAgICAgIG5ldyBLZXlWYXVsdEFjY2Vzc1BvbGljeUEodGhpcywgXCJwb2xpY3lcIiwge1xuICAgICAgICBrZXlWYXVsdElkOiBwcm9wcy5rZXlWYXVsdC5pZCxcbiAgICAgICAgdGVuYW50SWQ6IHByb3BzLnRlbmFudElkIHx8IFwiXCIsXG4gICAgICAgIG9iamVjdElkOiBtYW5hZ2VkSWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgIHNlY3JldFBlcm1pc3Npb25zOiBbXCJHZXRcIiwgXCJMaXN0XCJdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBzdWJuZXRJZDpcbiAgICAgICAgcHJvcHMuc3VibmV0Py5pZCB8fFxuICAgICAgICBuZXcgdm5ldC5OZXR3b3JrKHRoaXMsIFwidm5ldFwiLCB7XG4gICAgICAgICAgcmVzb3VyY2VHcm91cDogcHJvcHMucmVzb3VyY2VHcm91cCxcbiAgICAgICAgfSkuc3VibmV0cy5kZWZhdWx0LmlkLFxuICAgICAgaWRlbnRpdHk6IHByb3BzLmlkZW50aXR5IHx8IGlkZW50aXR5LFxuICAgIH07XG5cbiAgICAvLyBXQUYgY29uZmlndXJhdGlvblxuICAgIGxldCB3YWZDb25maWd1cmF0aW9uID0gcHJvcHMud2FmQ29uZmlndXJhdGlvblxuICAgICAgPyB7XG4gICAgICAgICAgZW5hYmxlZDogcHJvcHMud2FmQ29uZmlndXJhdGlvbi5lbmFibGVkLFxuICAgICAgICAgIGZpcmV3YWxsTW9kZTogcHJvcHMud2FmQ29uZmlndXJhdGlvbi5maXJld2FsbE1vZGUgfHwgXCJEZXRlY3Rpb25cIixcbiAgICAgICAgICBydWxlU2V0VmVyc2lvbjogcHJvcHMud2FmQ29uZmlndXJhdGlvbi5ydWxlU2V0VmVyc2lvbiB8fCBcIjMuMFwiLFxuICAgICAgICB9XG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vIER5bmFtaWNhbGx5IGNyZWF0ZSBmcm9udGVuZCBJUCBjb25maWd1cmF0aW9uc1xuICAgIGxldCBmcm9udGVuZElwQ29uZmlncyA9IFtdO1xuXG4gICAgLy8gUHVibGljIElQIGNvbmZpZ3VyYXRpb25cbiAgICBpZiAocHJvcHMucHVibGljSXBBZGRyZXNzKSB7XG4gICAgICBmcm9udGVuZElwQ29uZmlncy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJQdWJsaWMtZnJvbnRlbmQtaXAtY29uZmlndXJhdGlvblwiLFxuICAgICAgICBwdWJsaWNJcEFkZHJlc3NJZDogcHJvcHMucHVibGljSXBBZGRyZXNzLmlkLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gUHJpdmF0ZSBJUCBjb25maWd1cmF0aW9uXG4gICAgaWYgKHByb3BzLnByaXZhdGVJcEFkZHJlc3MgfHwgcHJvcHMucHJpdmF0ZUlwQWRkcmVzc0FsbG9jYXRpb24pIHtcbiAgICAgIGZyb250ZW5kSXBDb25maWdzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIlByaXZhdGUtZnJvbnRlbmQtaXAtY29uZmlndXJhdGlvblwiLFxuICAgICAgICBzdWJuZXRJZDogZGVmYXVsdHMuc3VibmV0SWQsXG4gICAgICAgIHByaXZhdGVJcEFkZHJlc3M6IHByb3BzLnByaXZhdGVJcEFkZHJlc3MsXG4gICAgICAgIHByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZyb250ZW5kIHBvcnRzIGlmIG5vdCBwcm92aWRlZFxuICAgIGNvbnN0IGRlZmF1bHRGcm9udGVuZFBvcnRzID0gW1xuICAgICAgeyBuYW1lOiBcIjgwXCIsIHBvcnQ6IDgwIH0sXG4gICAgICB7IG5hbWU6IFwiNDQzXCIsIHBvcnQ6IDQ0MyB9LFxuICAgIF07XG5cbiAgICBjb25zdCBmcm9udGVuZFBvcnRzID1cbiAgICAgIHByb3BzLmZyb250ZW5kUG9ydHMgJiYgcHJvcHMuZnJvbnRlbmRQb3J0cy5sZW5ndGggPiAwXG4gICAgICAgID8gcHJvcHMuZnJvbnRlbmRQb3J0c1xuICAgICAgICA6IGRlZmF1bHRGcm9udGVuZFBvcnRzO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5XG4gICAgY29uc3QgYXBndyA9IG5ldyBBcHBsaWNhdGlvbkdhdGV3YXkodGhpcywgXCJBcHBsaWNhdGlvbkdhdGV3YXlcIiwge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiBwcm9wcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICBsb2NhdGlvbjogcHJvcHMubG9jYXRpb24sXG4gICAgICBzc2xDZXJ0aWZpY2F0ZTogcHJvcHMuc3NsQ2VydGlmaWNhdGUsXG4gICAgICBzc2xQb2xpY3k6IHByb3BzLnNzbFBvbGljeSxcbiAgICAgIHNzbFByb2ZpbGU6IHByb3BzLnNzbFByb2ZpbGUsXG4gICAgICBhdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlOiBwcm9wcy5hdXRoZW50aWNhdGlvbkNlcnRpZmljYXRlLFxuICAgICAgYXV0b3NjYWxlQ29uZmlndXJhdGlvbjogcHJvcHMuYXV0b3NjYWxlQ29uZmlndXJhdGlvbixcbiAgICAgIGN1c3RvbUVycm9yQ29uZmlndXJhdGlvbjogcHJvcHMuY3VzdG9tRXJyb3JDb25maWd1cmF0aW9uLFxuICAgICAgcmVkaXJlY3RDb25maWd1cmF0aW9uOiBwcm9wcy5yZWRpcmVjdENvbmZpZ3VyYXRpb24sXG4gICAgICByZXdyaXRlUnVsZVNldDogcHJvcHMucmV3cml0ZVJ1bGVTZXQsXG4gICAgICBwcml2YXRlTGlua0NvbmZpZ3VyYXRpb246IHByb3BzLnByaXZhdGVMaW5rQ29uZmlndXJhdGlvbixcbiAgICAgIHdhZkNvbmZpZ3VyYXRpb246IHdhZkNvbmZpZ3VyYXRpb24sXG4gICAgICBza3U6IHtcbiAgICAgICAgbmFtZTogcHJvcHMuc2t1U2l6ZSxcbiAgICAgICAgdGllcjogcHJvcHMuc2t1VGllcixcbiAgICAgICAgY2FwYWNpdHk6IHByb3BzLmNhcGFjaXR5LFxuICAgICAgfSxcbiAgICAgIGdhdGV3YXlJcENvbmZpZ3VyYXRpb246IFtcbiAgICAgICAge1xuICAgICAgICAgIHN1Ym5ldElkOiBkZWZhdWx0cy5zdWJuZXRJZCxcbiAgICAgICAgICBuYW1lOiBgJHtwcm9wcy5uYW1lfS1jb25maWd1cmF0aW9uYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBmcm9udGVuZFBvcnQ6IGZyb250ZW5kUG9ydHMsXG4gICAgICBmcm9udGVuZElwQ29uZmlndXJhdGlvbjogZnJvbnRlbmRJcENvbmZpZ3MsXG4gICAgICBiYWNrZW5kQWRkcmVzc1Bvb2w6IHByb3BzLmJhY2tlbmRBZGRyZXNzUG9vbHMsXG4gICAgICBiYWNrZW5kSHR0cFNldHRpbmdzOiBwcm9wcy5iYWNrZW5kSHR0cFNldHRpbmdzLFxuICAgICAgaHR0cExpc3RlbmVyOiBwcm9wcy5odHRwTGlzdGVuZXJzLFxuICAgICAgdXJsUGF0aE1hcDogcHJvcHMudXJsUGF0aE1hcCxcbiAgICAgIHRydXN0ZWRSb290Q2VydGlmaWNhdGU6IHByb3BzLnRydXN0ZWRSb290Q2VydGlmaWNhdGUsXG4gICAgICByZXF1ZXN0Um91dGluZ1J1bGU6IHByb3BzLnJlcXVlc3RSb3V0aW5nUnVsZXMsXG4gICAgICBwcm9iZTogcHJvcHMucHJvYmUsXG4gICAgICBpZGVudGl0eTogZGVmYXVsdHMuaWRlbnRpdHksXG4gICAgICB6b25lczogcHJvcHMuem9uZXMsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzLFxuICAgIH0pO1xuXG4gICAgdGhpcy5pZCA9IGFwZ3cuaWQ7XG4gICAgdGhpcy5yZXNvdXJjZUdyb3VwID0gcHJvcHMucmVzb3VyY2VHcm91cDtcbiAgfVxufVxuIl19
|
|
205
|
+
Gateway[_a] = { fqn: "@microsoft/terraform-cdk-constructs.azure_applicationgateway.Gateway", version: "0.0.3-pre.11" };
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2F0ZXdheS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmdhdGV3YXkvbGliL2dhdGV3YXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSx5RkFBcUY7QUFHckYsaUdBQTRGO0FBSTVGLCtGQUEwRjtBQUUxRixtREFBbUQ7QUFDbkQsaURBQWlEO0FBeU1qRCxpREFBaUQ7QUFDakQsTUFBYSxPQUFRLFNBQVEsMEJBQWE7SUFLeEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztPQTJFRztJQUVILFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBb0I7UUFDNUQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRCxzQkFBc0I7UUFDdEIsSUFBSSxRQUFRLENBQUM7UUFFYiwrREFBK0Q7UUFDL0QsSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUNyQyxzREFBc0Q7WUFDdEQsTUFBTSxlQUFlLEdBQUcsSUFBSSw2Q0FBb0IsQ0FDOUMsSUFBSSxFQUNKLGlCQUFpQixFQUNqQjtnQkFDRSxJQUFJLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxFQUFFO2dCQUN4QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzFDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTthQUN6QixDQUNGLENBQUM7WUFFRixRQUFRLEdBQUc7Z0JBQ1QsV0FBVyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQztnQkFDakMsSUFBSSxFQUFFLGNBQWM7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UUFFSCxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7QUF4TkgsMEJBeU5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwbGljYXRpb25HYXRld2F5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9hcHBsaWNhdGlvbi1nYXRld2F5XCI7XG5pbXBvcnQgKiBhcyBhemFwZ3cgZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9hcHBsaWNhdGlvbi1nYXRld2F5XCI7XG5pbXBvcnQgeyBLZXlWYXVsdCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIva2V5LXZhdWx0XCI7XG5pbXBvcnQgeyBLZXlWYXVsdEFjY2Vzc1BvbGljeUEgfSBmcm9tIFwiQGNka3RmL3Byb3ZpZGVyLWF6dXJlcm0vbGliL2tleS12YXVsdC1hY2Nlc3MtcG9saWN5XCI7XG5pbXBvcnQgeyBQdWJsaWNJcCB9IGZyb20gXCJAY2RrdGYvcHJvdmlkZXItYXp1cmVybS9saWIvcHVibGljLWlwXCI7XG5pbXBvcnQgeyBSZXNvdXJjZUdyb3VwIH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9yZXNvdXJjZS1ncm91cFwiO1xuaW1wb3J0IHsgU3VibmV0IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi9zdWJuZXRcIjtcbmltcG9ydCB7IFVzZXJBc3NpZ25lZElkZW50aXR5IH0gZnJvbSBcIkBjZGt0Zi9wcm92aWRlci1henVyZXJtL2xpYi91c2VyLWFzc2lnbmVkLWlkZW50aXR5XCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0ICogYXMgdm5ldCBmcm9tIFwiLi4vLi4vYXp1cmUtdmlydHVhbG5ldHdvcmtcIjtcbmltcG9ydCB7IEF6dXJlUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZVwiO1xuXG4vLyBEZWZpbmUgdGhlIGludGVyZmFjZSBmb3IgQXBwbGljYXRpb24gR2F0ZXdheSBwcm9wZXJ0aWVzXG5leHBvcnQgaW50ZXJmYWNlIElHYXRld2F5UHJvcHMge1xuICAvKipcbiAgICogT3B0aW9uYWwgcHVibGljIElQIGFkZHJlc3MgZm9yIHRoZSBmcm9udGVuZCBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHB1YmxpY0lwQWRkcmVzcz86IFB1YmxpY0lwO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBwcml2YXRlIElQIGFkZHJlc3MgZm9yIHRoZSBmcm9udGVuZCBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHByaXZhdGVJcEFkZHJlc3M/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFsbG9jYXRpb24gbWV0aG9kIGZvciB0aGUgcHJpdmF0ZSBJUCBhZGRyZXNzIChlLmcuLCBTdGF0aWMsIER5bmFtaWMpLlxuICAgKi9cbiAgcHJpdmF0ZUlwQWRkcmVzc0FsbG9jYXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbG9jYXRpb24gd2hlcmUgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgd2lsbCBiZSBkZXBsb3llZCAoZS5nLiwgcmVnaW9uKS5cbiAgICovXG4gIHJlYWRvbmx5IGxvY2F0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHJlZmVyZW5jZSB0byB0aGUgcmVzb3VyY2UgZ3JvdXAgaW4gd2hpY2ggdG8gZGVwbG95IHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IHdpbGwgYmUgZGVwbG95ZWQgaW4gdGhlIGRlZmF1bHQgcmVzb3VyY2UgZ3JvdXAuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUdyb3VwPzogUmVzb3VyY2VHcm91cDtcblxuICAvKipcbiAgICogVGhlIFNLVSB0aWVyIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5IChlLmcuLCBTdGFuZGFyZCwgV0FGKS5cbiAgICovXG4gIHJlYWRvbmx5IHNrdVRpZXI6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIFNLVSBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBza3VTaXplOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjYXBhY2l0eSAoaW5zdGFuY2UgY291bnQpIG9mIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgY2FwYWNpdHk6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIGJhY2tlbmQgYWRkcmVzcyBwb29scyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBiYWNrZW5kQWRkcmVzc1Bvb2xzOiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5QmFja2VuZEFkZHJlc3NQb29sW107XG5cbiAgLyoqXG4gICAqIFRoZSBiYWNrZW5kIEhUVFAgc2V0dGluZ3MgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgYmFja2VuZEh0dHBTZXR0aW5nczogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUJhY2tlbmRIdHRwU2V0dGluZ3NbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgZnJvbnRlbmQgcG9ydHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgZnJvbnRlbmRQb3J0cz86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlGcm9udGVuZFBvcnRbXTtcblxuICAvKipcbiAgICogVGhlIEhUVFAgbGlzdGVuZXJzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGh0dHBMaXN0ZW5lcnM6IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlIdHRwTGlzdGVuZXJbXTtcblxuICAvKipcbiAgICogVGhlIHJlcXVlc3Qgcm91dGluZyBydWxlcyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSByZXF1ZXN0Um91dGluZ1J1bGVzOiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5UmVxdWVzdFJvdXRpbmdSdWxlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHN1Ym5ldCBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqL1xuICByZWFkb25seSBzdWJuZXQ/OiBTdWJuZXQ7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRlbmFudCBJRCBmb3IgdXNlIHdpdGggS2V5IFZhdWx0LCBpZiBhcHBsaWNhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGVuYW50SWQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZsYWcgdG8gZW5hYmxlIEhUVFAyLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlSHR0cDI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBGbGFnIHRvIGVuYWJsZSBGSVBTLWNvbXBsaWFudCBhbGdvcml0aG1zLlxuICAgKi9cbiAgcmVhZG9ubHkgZmlwc0VuYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBJRCBvZiB0aGUgZmlyZXdhbGwgcG9saWN5LlxuICAgKi9cbiAgcmVhZG9ubHkgZmlyZXdhbGxQb2xpY3lJZD86IHN0cmluZztcblxuICAvKipcbiAgICogRmxhZyB0byBlbmZvcmNlIGFzc29jaWF0aW9uIG9mIHRoZSBmaXJld2FsbCBwb2xpY3kuXG4gICAqL1xuICByZWFkb25seSBmb3JjZUZpcmV3YWxsUG9saWN5QXNzb2NpYXRpb24/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0YWdzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSByZXNvdXJjZS5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhdmFpbGFiaWxpdHkgem9uZXMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKi9cbiAgcmVhZG9ubHkgem9uZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgS2V5IFZhdWx0IHJlc291cmNlIGZvciBzdG9yaW5nIFNTTCBjZXJ0aWZpY2F0ZXMuXG4gICAqL1xuICByZWFkb25seSBrZXlWYXVsdD86IEtleVZhdWx0O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhdXRoZW50aWNhdGlvbiBjZXJ0aWZpY2F0ZXMgZm9yIG11dHVhbCBhdXRoZW50aWNhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGF1dGhlbnRpY2F0aW9uQ2VydGlmaWNhdGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5QXV0aGVudGljYXRpb25DZXJ0aWZpY2F0ZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhdXRvc2NhbGUgY29uZmlndXJhdGlvbiBmb3IgZHluYW1pY2FsbHkgYWRqdXN0aW5nIHRoZSBjYXBhY2l0eSBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IGF1dG9zY2FsZUNvbmZpZ3VyYXRpb24/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5QXV0b3NjYWxlQ29uZmlndXJhdGlvbjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgY3VzdG9tIGVycm9yIGNvbmZpZ3VyYXRpb25zIHRvIHNwZWNpZnkgY3VzdG9tIGVycm9yIHBhZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tRXJyb3JDb25maWd1cmF0aW9uPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheUN1c3RvbUVycm9yQ29uZmlndXJhdGlvbltdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBpZGVudGl0eSBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXksIHVzZWQgZm9yIGFjY2Vzc2luZyBvdGhlciBBenVyZSByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSBpZGVudGl0eT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlJZGVudGl0eTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgY29uZmlndXJhdGlvbnMgZm9yIGVuYWJsaW5nIFByaXZhdGUgTGluayBvbiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHByaXZhdGVMaW5rQ29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlQcml2YXRlTGlua0NvbmZpZ3VyYXRpb25bXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgcHJvYmVzIGZvciBoZWFsdGggY2hlY2tzIG9mIHRoZSBiYWNrZW5kIEhUVFAgc2V0dGluZ3MuXG4gICAqL1xuICByZWFkb25seSBwcm9iZT86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlQcm9iZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBjb25maWd1cmF0aW9ucyBmb3IgcmVkaXJlY3QgcnVsZXMuXG4gICAqL1xuICByZWFkb25seSByZWRpcmVjdENvbmZpZ3VyYXRpb24/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5UmVkaXJlY3RDb25maWd1cmF0aW9uW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHJld3JpdGUgcnVsZSBzZXRzIGZvciBtb2RpZnlpbmcgSFRUUCByZXF1ZXN0IGFuZCByZXNwb25zZSBoZWFkZXJzIGFuZCBib2RpZXMuXG4gICAqL1xuICByZWFkb25seSByZXdyaXRlUnVsZVNldD86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlSZXdyaXRlUnVsZVNldFtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBTU0wgY2VydGlmaWNhdGVzIGZvciBlbmFibGluZyBIVFRQUyBvbiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICovXG4gIHJlYWRvbmx5IHNzbENlcnRpZmljYXRlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVNzbENlcnRpZmljYXRlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIFNTTCBwb2xpY3kgY29uZmlndXJhdGlvbnMsIGRlZmluaW5nIHRoZSBwcm90b2NvbCBhbmQgY2lwaGVyIHN1aXRlcyB1c2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgc3NsUG9saWN5PzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVNzbFBvbGljeTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgU1NMIHByb2ZpbGVzIGZvciBtYW5hZ2luZyBTU0wgdGVybWluYXRpb24gYW5kIHBvbGljeSBzZXR0aW5ncy5cbiAgICovXG4gIHJlYWRvbmx5IHNzbFByb2ZpbGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5U3NsUHJvZmlsZVtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB0aW1lb3V0IHNldHRpbmdzIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSByZXNvdXJjZXMuXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0cz86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlUaW1lb3V0cztcblxuICAvKipcbiAgICogT3B0aW9uYWwgdHJ1c3RlZCBjbGllbnQgY2VydGlmaWNhdGVzIGZvciBtdXR1YWwgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cnVzdGVkQ2xpZW50Q2VydGlmaWNhdGU/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5VHJ1c3RlZENsaWVudENlcnRpZmljYXRlW107XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHRydXN0ZWQgcm9vdCBjZXJ0aWZpY2F0ZXMgZm9yIGJhY2tlbmQgYXV0aGVudGljYXRpb24uXG4gICAqL1xuICByZWFkb25seSB0cnVzdGVkUm9vdENlcnRpZmljYXRlPzogYXphcGd3LkFwcGxpY2F0aW9uR2F0ZXdheVRydXN0ZWRSb290Q2VydGlmaWNhdGVbXTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgVVJMIHBhdGggbWFwIGZvciByb3V0aW5nIGJhc2VkIG9uIFVSTCBwYXRocy5cbiAgICovXG4gIHJlYWRvbmx5IHVybFBhdGhNYXA/OiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5VXJsUGF0aE1hcFtdO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBXZWIgQXBwbGljYXRpb24gRmlyZXdhbGwgKFdBRikgY29uZmlndXJhdGlvbiB0byBwcm92aWRlIGVuaGFuY2VkIHNlY3VyaXR5LlxuICAgKi9cbiAgcmVhZG9ubHkgd2FmQ29uZmlndXJhdGlvbj86IGF6YXBndy5BcHBsaWNhdGlvbkdhdGV3YXlXYWZDb25maWd1cmF0aW9uO1xufVxuXG4vLyBEZWZpbmUgdGhlIGNsYXNzIGZvciBBenVyZSBBcHBsaWNhdGlvbiBHYXRld2F5XG5leHBvcnQgY2xhc3MgR2F0ZXdheSBleHRlbmRzIEF6dXJlUmVzb3VyY2Uge1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IElHYXRld2F5UHJvcHM7XG4gIHB1YmxpYyByZXNvdXJjZUdyb3VwOiBSZXNvdXJjZUdyb3VwO1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQ29uc3RydWN0cyBhIG5ldyBBenVyZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0LlxuICAgKiBAcGFyYW0gaWQgLSBUaGUgSUQgb2YgdGhpcyBjb25zdHJ1Y3QuXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBwcm9wZXJ0aWVzIGZvciBjb25maWd1cmluZyB0aGUgQXp1cmUgQXBwbGljYXRpb24gR2F0ZXdheS4gVGhlIHByb3BlcnRpZXMgaW5jbHVkZTpcbiAgICogICAgICAgICAgICAgICAgLSBgbmFtZWA6IFJlcXVpcmVkLiBVbmlxdWUgbmFtZSBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkgd2l0aGluIEF6dXJlLlxuICAgKiAgICAgICAgICAgICAgICAtIGBsb2NhdGlvbmA6IFJlcXVpcmVkLiBBenVyZSBSZWdpb24gZm9yIGRlcGxveW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gYHJlc291cmNlR3JvdXBgOiBPcHRpb25hbC4gUmVmZXJlbmNlIHRvIHRoZSByZXNvdXJjZSBncm91cCBmb3IgZGVwbG95bWVudC5cbiAgICogICAgICAgICAgICAgICAgLSBgc2t1VGllcmA6IFJlcXVpcmVkLiBTS1UgdGllciBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheSAoZS5nLiwgU3RhbmRhcmQsIFdBRikuXG4gICAqICAgICAgICAgICAgICAgIC0gYHNrdVNpemVgOiBSZXF1aXJlZC4gU2l6ZSBvZiB0aGUgU0tVIGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgY2FwYWNpdHlgOiBSZXF1aXJlZC4gQ2FwYWNpdHkgKGluc3RhbmNlIGNvdW50KSBvZiB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgYmFja2VuZEFkZHJlc3NQb29sc2A6IFJlcXVpcmVkLiBCYWNrZW5kIGFkZHJlc3MgcG9vbHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGBiYWNrZW5kSHR0cFNldHRpbmdzYDogUmVxdWlyZWQuIEJhY2tlbmQgSFRUUCBzZXR0aW5ncyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqICAgICAgICAgICAgICAgIC0gYGh0dHBMaXN0ZW5lcnNgOiBSZXF1aXJlZC4gSFRUUCBsaXN0ZW5lcnMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGByZXF1ZXN0Um91dGluZ1J1bGVzYDogUmVxdWlyZWQuIFJlcXVlc3Qgcm91dGluZyBydWxlcyBmb3IgdGhlIEFwcGxpY2F0aW9uIEdhdGV3YXkuXG4gICAqICAgICAgICAgICAgICAgIC0gYHB1YmxpY0lwQWRkcmVzc2A6IE9wdGlvbmFsLiBQdWJsaWMgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kLlxuICAgKiAgICAgICAgICAgICAgICAtIGBwcml2YXRlSXBBZGRyZXNzYDogT3B0aW9uYWwuIFByaXZhdGUgSVAgYWRkcmVzcyBmb3IgdGhlIGZyb250ZW5kLlxuICAgKiAgICAgICAgICAgICAgICAtIGBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbmA6IE9wdGlvbmFsLiBBbGxvY2F0aW9uIG1ldGhvZCBmb3IgdGhlIHByaXZhdGUgSVAgKFN0YXRpYywgRHluYW1pYykuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZyb250ZW5kUG9ydHNgOiBPcHRpb25hbC4gRnJvbnRlbmQgcG9ydHMgZm9yIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5LlxuICAgKiAgICAgICAgICAgICAgICAtIGBzdWJuZXRgOiBPcHRpb25hbC4gU3VibmV0IGZvciB0aGUgQXBwbGljYXRpb24gR2F0ZXdheS5cbiAgICogICAgICAgICAgICAgICAgLSBgZW5hYmxlSHR0cDJgOiBPcHRpb25hbC4gRmxhZyB0byBlbmFibGUgSFRUUDIuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZpcHNFbmFibGVkYDogT3B0aW9uYWwuIEZsYWcgdG8gZW5hYmxlIEZJUFMtY29tcGxpYW50IGFsZ29yaXRobXMuXG4gICAqICAgICAgICAgICAgICAgIC0gYGZpcmV3YWxsUG9saWN5SWRgOiBPcHRpb25hbC4gSUQgb2YgdGhlIGZpcmV3YWxsIHBvbGljeS5cbiAgICogICAgICAgICAgICAgICAgLSBgZm9yY2VGaXJld2FsbFBvbGljeUFzc29jaWF0aW9uYDogT3B0aW9uYWwuIEZsYWcgdG8gZW5mb3JjZSBhc3NvY2lhdGlvbiBvZiB0aGUgZmlyZXdhbGwgcG9saWN5LlxuICAgKiAgICAgICAgICAgICAgICAtIGB0YWdzYDogT3B0aW9uYWwuIFRhZ3MgZm9yIHJlc291cmNlIG1hbmFnZW1lbnQuXG4gICAqICAgICAgICAgICAgICAgIC0gQWRkaXRpb25hbCBvcHRpb25hbCBwcm9wZXJ0aWVzIGFzIGRlc2NyaWJlZCBpbiBgSUdhdGV3YXlQcm9wc2AgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBFeGFtcGxlIHVzYWdlOlxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIG5ldyBHYXRld2F5KHRoaXMsICdhcHBHYXRld2F5MScsIHtcbiAgICogICBuYW1lOiAnZ2F0ZXdheUVhc3QnLFxuICAgKiAgIHJlc291cmNlR3JvdXA6IHJlc291cmNlR3JvdXAsXG4gICAgICBsb2NhdGlvbjogXCJlYXN0dXNcIixcbiAgICAgIHNrdVRpZXI6IFwiU3RhbmRhcmRfdjJcIixcbiAgICAgIHNrdVNpemU6IFwiU3RhbmRhcmRfdjJcIixcbiAgICAgIGNhcGFjaXR5OiAyLFxuICAgICAgcHVibGljSXBBZGRyZXNzOiBwdWJsaWNJcCxcbiAgICAgIHN1Ym5ldDogc3VibmV0LFxuICAgICAgYmFja2VuZEFkZHJlc3NQb29sczogW1xuICAgICAgICB7IG5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBcImJhY2tlbmQtYWRkcmVzcy1wb29sLTJcIixcbiAgICAgICAgICBpcEFkZHJlc3NlczogW1wiMTAuMS4wLjRcIiwgXCIxMC4xLjAuNVwiLCBcIjEwLjEuMC42XCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGh0dHBMaXN0ZW5lcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIGZyb250ZW5kUG9ydE5hbWU6IFwiODBcIixcbiAgICAgICAgICBmcm9udGVuZElwQ29uZmlndXJhdGlvbk5hbWU6IFwiUHVibGljLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgICBwcm90b2NvbDogXCJIdHRwXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgYmFja2VuZEh0dHBTZXR0aW5nczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogXCJiYWNrZW5kLWh0dHAtc2V0dGluZ1wiLFxuICAgICAgICAgIHBvcnQ6IDgwLFxuICAgICAgICAgIHByb3RvY29sOiBcIkh0dHBcIixcbiAgICAgICAgICByZXF1ZXN0VGltZW91dDogMjAsXG4gICAgICAgICAgY29va2llQmFzZWRBZmZpbml0eTogXCJEaXNhYmxlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHJlcXVlc3RSb3V0aW5nUnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IFwicmVxdWVzdC1yb3V0aW5nLXJ1bGUtMVwiLFxuICAgICAgICAgIGh0dHBMaXN0ZW5lck5hbWU6IFwiaHR0cC1saXN0ZW5lclwiLFxuICAgICAgICAgIHByaW9yaXR5OiAxLFxuICAgICAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbE5hbWU6IFwiYmFja2VuZC1hZGRyZXNzLXBvb2wtMVwiLFxuICAgICAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3NOYW1lOiBcImJhY2tlbmQtaHR0cC1zZXR0aW5nXCIsXG4gICAgICAgICAgcnVsZVR5cGU6IFwiQmFzaWNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IElHYXRld2F5UHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMucmVzb3VyY2VHcm91cCA9IHRoaXMuc2V0dXBSZXNvdXJjZUdyb3VwKHByb3BzKTtcblxuICAgIC8vIERlZmluZSB0aGUgaWRlbnRpdHlcbiAgICBsZXQgaWRlbnRpdHk7XG5cbiAgICAvLyBDaGVjayBpZiBBenVyZSBLZXkgVmF1bHQgaXMgdXNlZCBhbmQgbm8gaWRlbnRpdHkgaXMgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMua2V5VmF1bHQgJiYgIXByb3BzLmlkZW50aXR5KSB7XG4gICAgICAvLyBDcmVhdGUgYSBtYW5hZ2VkIGlkZW50aXR5IGFuZCBhZGQgaXQgdG8gaWRlbnRpdHlJZHNcbiAgICAgIGNvbnN0IG1hbmFnZWRJZGVudGl0eSA9IG5ldyBVc2VyQXNzaWduZWRJZGVudGl0eShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgXCJNYW5hZ2VkSWRlbnRpdHlcIixcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IGBtaS0ke3Byb3BzLm5hbWV9YCxcbiAgICAgICAgICByZXNvdXJjZUdyb3VwTmFtZTogdGhpcy5yZXNvdXJjZUdyb3VwLm5hbWUsXG4gICAgICAgICAgbG9jYXRpb246IHByb3BzLmxvY2F0aW9uLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgaWRlbnRpdHkgPSB7XG4gICAgICAgIGlkZW50aXR5SWRzOiBbbWFuYWdlZElkZW50aXR5LmlkXSxcbiAgICAgICAgdHlwZTogXCJVc2VyQXNzaWduZWRcIixcbiAgICAgIH07XG5cbiAgICAgIG5ldyBLZXlWYXVsdEFjY2Vzc1BvbGljeUEodGhpcywgXCJwb2xpY3lcIiwge1xuICAgICAgICBrZXlWYXVsdElkOiBwcm9wcy5rZXlWYXVsdC5pZCxcbiAgICAgICAgdGVuYW50SWQ6IHByb3BzLnRlbmFudElkIHx8IFwiXCIsXG4gICAgICAgIG9iamVjdElkOiBtYW5hZ2VkSWRlbnRpdHkucHJpbmNpcGFsSWQsXG4gICAgICAgIHNlY3JldFBlcm1pc3Npb25zOiBbXCJHZXRcIiwgXCJMaXN0XCJdLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZGVmYXVsdHMgPSB7XG4gICAgICBzdWJuZXRJZDpcbiAgICAgICAgcHJvcHMuc3VibmV0Py5pZCB8fFxuICAgICAgICBuZXcgdm5ldC5OZXR3b3JrKHRoaXMsIFwidm5ldFwiLCB7XG4gICAgICAgICAgcmVzb3VyY2VHcm91cDogdGhpcy5yZXNvdXJjZUdyb3VwLFxuICAgICAgICB9KS5zdWJuZXRzLmRlZmF1bHQuaWQsXG4gICAgICBpZGVudGl0eTogcHJvcHMuaWRlbnRpdHkgfHwgaWRlbnRpdHksXG4gICAgfTtcblxuICAgIC8vIFdBRiBjb25maWd1cmF0aW9uXG4gICAgbGV0IHdhZkNvbmZpZ3VyYXRpb24gPSBwcm9wcy53YWZDb25maWd1cmF0aW9uXG4gICAgICA/IHtcbiAgICAgICAgICBlbmFibGVkOiBwcm9wcy53YWZDb25maWd1cmF0aW9uLmVuYWJsZWQsXG4gICAgICAgICAgZmlyZXdhbGxNb2RlOiBwcm9wcy53YWZDb25maWd1cmF0aW9uLmZpcmV3YWxsTW9kZSB8fCBcIkRldGVjdGlvblwiLFxuICAgICAgICAgIHJ1bGVTZXRWZXJzaW9uOiBwcm9wcy53YWZDb25maWd1cmF0aW9uLnJ1bGVTZXRWZXJzaW9uIHx8IFwiMy4wXCIsXG4gICAgICAgIH1cbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgLy8gRHluYW1pY2FsbHkgY3JlYXRlIGZyb250ZW5kIElQIGNvbmZpZ3VyYXRpb25zXG4gICAgbGV0IGZyb250ZW5kSXBDb25maWdzOiBhemFwZ3cuQXBwbGljYXRpb25HYXRld2F5RnJvbnRlbmRJcENvbmZpZ3VyYXRpb25bXSA9XG4gICAgICBbXTtcblxuICAgIC8vIFB1YmxpYyBJUCBjb25maWd1cmF0aW9uXG4gICAgaWYgKHByb3BzLnB1YmxpY0lwQWRkcmVzcykge1xuICAgICAgZnJvbnRlbmRJcENvbmZpZ3MucHVzaCh7XG4gICAgICAgIG5hbWU6IFwiUHVibGljLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgcHVibGljSXBBZGRyZXNzSWQ6IHByb3BzLnB1YmxpY0lwQWRkcmVzcy5pZCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFByaXZhdGUgSVAgY29uZmlndXJhdGlvblxuICAgIGlmIChwcm9wcy5wcml2YXRlSXBBZGRyZXNzIHx8IHByb3BzLnByaXZhdGVJcEFkZHJlc3NBbGxvY2F0aW9uKSB7XG4gICAgICBmcm9udGVuZElwQ29uZmlncy5wdXNoKHtcbiAgICAgICAgbmFtZTogXCJQcml2YXRlLWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgICAgc3VibmV0SWQ6IGRlZmF1bHRzLnN1Ym5ldElkLFxuICAgICAgICBwcml2YXRlSXBBZGRyZXNzOiBwcm9wcy5wcml2YXRlSXBBZGRyZXNzLFxuICAgICAgICBwcml2YXRlSXBBZGRyZXNzQWxsb2NhdGlvbjogcHJvcHMucHJpdmF0ZUlwQWRkcmVzc0FsbG9jYXRpb24sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBJZiBubyBmcm9udGVuZCBwb3J0cyBhcmUgcHJvdmlkZWQsIHVzZSBkZWZhdWx0IGR1bW15IGZyb250ZW5kIGlwIGNvbmZpZ3VyYXRpb25cbiAgICBpZiAoZnJvbnRlbmRJcENvbmZpZ3MubGVuZ3RoID09IDApIHtcbiAgICAgIGZyb250ZW5kSXBDb25maWdzLnB1c2goe1xuICAgICAgICBuYW1lOiBcIkR1bW15LWZyb250ZW5kLWlwLWNvbmZpZ3VyYXRpb25cIixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZyb250ZW5kIHBvcnRzIGlmIG5vdCBwcm92aWRlZFxuICAgIGNvbnN0IGRlZmF1bHRGcm9udGVuZFBvcnRzID0gW1xuICAgICAgeyBuYW1lOiBcIjgwXCIsIHBvcnQ6IDgwIH0sXG4gICAgICB7IG5hbWU6IFwiNDQzXCIsIHBvcnQ6IDQ0MyB9LFxuICAgIF07XG5cbiAgICBjb25zdCBmcm9udGVuZFBvcnRzID1cbiAgICAgIHByb3BzLmZyb250ZW5kUG9ydHMgJiYgcHJvcHMuZnJvbnRlbmRQb3J0cy5sZW5ndGggPiAwXG4gICAgICAgID8gcHJvcHMuZnJvbnRlbmRQb3J0c1xuICAgICAgICA6IGRlZmF1bHRGcm9udGVuZFBvcnRzO1xuXG4gICAgLy8gQ3JlYXRlIHRoZSBBcHBsaWNhdGlvbiBHYXRld2F5XG4gICAgY29uc3QgYXBndyA9IG5ldyBBcHBsaWNhdGlvbkdhdGV3YXkodGhpcywgXCJBcHBsaWNhdGlvbkdhdGV3YXlcIiwge1xuICAgICAgbmFtZTogcHJvcHMubmFtZSxcbiAgICAgIHJlc291cmNlR3JvdXBOYW1lOiB0aGlzLnJlc291cmNlR3JvdXAubmFtZSxcbiAgICAgIGxvY2F0aW9uOiBwcm9wcy5sb2NhdGlvbixcbiAgICAgIHNzbENlcnRpZmljYXRlOiBwcm9wcy5zc2xDZXJ0aWZpY2F0ZSxcbiAgICAgIHNzbFBvbGljeTogcHJvcHMuc3NsUG9saWN5LFxuICAgICAgc3NsUHJvZmlsZTogcHJvcHMuc3NsUHJvZmlsZSxcbiAgICAgIGF1dGhlbnRpY2F0aW9uQ2VydGlmaWNhdGU6IHByb3BzLmF1dGhlbnRpY2F0aW9uQ2VydGlmaWNhdGUsXG4gICAgICBhdXRvc2NhbGVDb25maWd1cmF0aW9uOiBwcm9wcy5hdXRvc2NhbGVDb25maWd1cmF0aW9uLFxuICAgICAgY3VzdG9tRXJyb3JDb25maWd1cmF0aW9uOiBwcm9wcy5jdXN0b21FcnJvckNvbmZpZ3VyYXRpb24sXG4gICAgICByZWRpcmVjdENvbmZpZ3VyYXRpb246IHByb3BzLnJlZGlyZWN0Q29uZmlndXJhdGlvbixcbiAgICAgIHJld3JpdGVSdWxlU2V0OiBwcm9wcy5yZXdyaXRlUnVsZVNldCxcbiAgICAgIHByaXZhdGVMaW5rQ29uZmlndXJhdGlvbjogcHJvcHMucHJpdmF0ZUxpbmtDb25maWd1cmF0aW9uLFxuICAgICAgd2FmQ29uZmlndXJhdGlvbjogd2FmQ29uZmlndXJhdGlvbixcbiAgICAgIHNrdToge1xuICAgICAgICBuYW1lOiBwcm9wcy5za3VTaXplLFxuICAgICAgICB0aWVyOiBwcm9wcy5za3VUaWVyLFxuICAgICAgICBjYXBhY2l0eTogcHJvcHMuY2FwYWNpdHksXG4gICAgICB9LFxuICAgICAgZ2F0ZXdheUlwQ29uZmlndXJhdGlvbjogW1xuICAgICAgICB7XG4gICAgICAgICAgc3VibmV0SWQ6IGRlZmF1bHRzLnN1Ym5ldElkLFxuICAgICAgICAgIG5hbWU6IGAke3Byb3BzLm5hbWV9LWNvbmZpZ3VyYXRpb25gLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIGZyb250ZW5kUG9ydDogZnJvbnRlbmRQb3J0cyxcbiAgICAgIGZyb250ZW5kSXBDb25maWd1cmF0aW9uOiBmcm9udGVuZElwQ29uZmlncyxcbiAgICAgIGJhY2tlbmRBZGRyZXNzUG9vbDogcHJvcHMuYmFja2VuZEFkZHJlc3NQb29scyxcbiAgICAgIGJhY2tlbmRIdHRwU2V0dGluZ3M6IHByb3BzLmJhY2tlbmRIdHRwU2V0dGluZ3MsXG4gICAgICBodHRwTGlzdGVuZXI6IHByb3BzLmh0dHBMaXN0ZW5lcnMsXG4gICAgICB1cmxQYXRoTWFwOiBwcm9wcy51cmxQYXRoTWFwLFxuICAgICAgdHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZTogcHJvcHMudHJ1c3RlZFJvb3RDZXJ0aWZpY2F0ZSxcbiAgICAgIHJlcXVlc3RSb3V0aW5nUnVsZTogcHJvcHMucmVxdWVzdFJvdXRpbmdSdWxlcyxcbiAgICAgIHByb2JlOiBwcm9wcy5wcm9iZSxcbiAgICAgIGlkZW50aXR5OiBkZWZhdWx0cy5pZGVudGl0eSxcbiAgICAgIHpvbmVzOiBwcm9wcy56b25lcyxcbiAgICAgIHRhZ3M6IHByb3BzLnRhZ3MsXG4gICAgfSk7XG5cbiAgICB0aGlzLmlkID0gYXBndy5pZDtcbiAgfVxufVxuIl19
|