@cdktn/provider-pagerduty 15.0.0
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 +110408 -0
- package/LICENSE +355 -0
- package/README.md +94 -0
- package/lib/addon/index.d.ts +53 -0
- package/lib/addon/index.js +115 -0
- package/lib/alert-grouping-setting/index.d.ts +144 -0
- package/lib/alert-grouping-setting/index.js +366 -0
- package/lib/automation-actions-action/index.d.ts +232 -0
- package/lib/automation-actions-action/index.js +560 -0
- package/lib/automation-actions-action-service-association/index.d.ts +64 -0
- package/lib/automation-actions-action-service-association/index.js +129 -0
- package/lib/automation-actions-action-team-association/index.d.ts +64 -0
- package/lib/automation-actions-action-team-association/index.js +129 -0
- package/lib/automation-actions-runner/index.d.ts +102 -0
- package/lib/automation-actions-runner/index.js +224 -0
- package/lib/automation-actions-runner-team-association/index.d.ts +64 -0
- package/lib/automation-actions-runner-team-association/index.js +129 -0
- package/lib/business-service/index.d.ts +84 -0
- package/lib/business-service/index.js +190 -0
- package/lib/business-service-subscriber/index.d.ts +72 -0
- package/lib/business-service-subscriber/index.js +147 -0
- package/lib/data-pagerduty-alert-grouping-setting/index.d.ts +70 -0
- package/lib/data-pagerduty-alert-grouping-setting/index.js +190 -0
- package/lib/data-pagerduty-automation-actions-action/index.d.ts +186 -0
- package/lib/data-pagerduty-automation-actions-action/index.js +425 -0
- package/lib/data-pagerduty-automation-actions-runner/index.d.ts +78 -0
- package/lib/data-pagerduty-automation-actions-runner/index.js +172 -0
- package/lib/data-pagerduty-business-service/index.d.ts +46 -0
- package/lib/data-pagerduty-business-service/index.js +101 -0
- package/lib/data-pagerduty-escalation-policy/index.d.ts +47 -0
- package/lib/data-pagerduty-escalation-policy/index.js +105 -0
- package/lib/data-pagerduty-event-orchestration/index.d.ts +137 -0
- package/lib/data-pagerduty-event-orchestration/index.js +306 -0
- package/lib/data-pagerduty-event-orchestration-global-cache-variable/index.d.ts +138 -0
- package/lib/data-pagerduty-event-orchestration-global-cache-variable/index.js +315 -0
- package/lib/data-pagerduty-event-orchestration-integration/index.d.ts +100 -0
- package/lib/data-pagerduty-event-orchestration-integration/index.js +216 -0
- package/lib/data-pagerduty-event-orchestration-service-cache-variable/index.d.ts +138 -0
- package/lib/data-pagerduty-event-orchestration-service-cache-variable/index.js +315 -0
- package/lib/data-pagerduty-event-orchestrations/index.d.ts +161 -0
- package/lib/data-pagerduty-event-orchestrations/index.js +366 -0
- package/lib/data-pagerduty-extension-schema/index.d.ts +46 -0
- package/lib/data-pagerduty-extension-schema/index.js +101 -0
- package/lib/data-pagerduty-incident-custom-field/index.d.ts +60 -0
- package/lib/data-pagerduty-incident-custom-field/index.js +130 -0
- package/lib/data-pagerduty-incident-type/index.d.ts +50 -0
- package/lib/data-pagerduty-incident-type/index.js +117 -0
- package/lib/data-pagerduty-incident-type-custom-field/index.d.ts +115 -0
- package/lib/data-pagerduty-incident-type-custom-field/index.js +295 -0
- package/lib/data-pagerduty-incident-workflow/index.d.ts +57 -0
- package/lib/data-pagerduty-incident-workflow/index.js +118 -0
- package/lib/data-pagerduty-jira-cloud-account-mapping/index.d.ts +46 -0
- package/lib/data-pagerduty-jira-cloud-account-mapping/index.js +101 -0
- package/lib/data-pagerduty-license/index.d.ts +74 -0
- package/lib/data-pagerduty-license/index.js +170 -0
- package/lib/data-pagerduty-licenses/index.d.ts +92 -0
- package/lib/data-pagerduty-licenses/index.js +213 -0
- package/lib/data-pagerduty-priority/index.d.ts +48 -0
- package/lib/data-pagerduty-priority/index.js +101 -0
- package/lib/data-pagerduty-ruleset/index.d.ts +57 -0
- package/lib/data-pagerduty-ruleset/index.js +115 -0
- package/lib/data-pagerduty-schedule/index.d.ts +45 -0
- package/lib/data-pagerduty-schedule/index.js +97 -0
- package/lib/data-pagerduty-service/index.d.ts +86 -0
- package/lib/data-pagerduty-service/index.js +205 -0
- package/lib/data-pagerduty-service-custom-field/index.d.ts +92 -0
- package/lib/data-pagerduty-service-custom-field/index.js +221 -0
- package/lib/data-pagerduty-service-custom-field-value/index.d.ts +88 -0
- package/lib/data-pagerduty-service-custom-field-value/index.js +205 -0
- package/lib/data-pagerduty-service-integration/index.d.ts +56 -0
- package/lib/data-pagerduty-service-integration/index.js +119 -0
- package/lib/data-pagerduty-standards/index.d.ts +154 -0
- package/lib/data-pagerduty-standards/index.js +361 -0
- package/lib/data-pagerduty-standards-resource-scores/index.d.ts +112 -0
- package/lib/data-pagerduty-standards-resource-scores/index.js +268 -0
- package/lib/data-pagerduty-standards-resources-scores/index.d.ts +144 -0
- package/lib/data-pagerduty-standards-resources-scores/index.js +352 -0
- package/lib/data-pagerduty-tag/index.d.ts +47 -0
- package/lib/data-pagerduty-tag/index.js +97 -0
- package/lib/data-pagerduty-team/index.d.ts +77 -0
- package/lib/data-pagerduty-team/index.js +157 -0
- package/lib/data-pagerduty-team-members/index.d.ts +95 -0
- package/lib/data-pagerduty-team-members/index.js +203 -0
- package/lib/data-pagerduty-teams/index.d.ts +96 -0
- package/lib/data-pagerduty-teams/index.js +206 -0
- package/lib/data-pagerduty-user/index.d.ts +50 -0
- package/lib/data-pagerduty-user/index.js +117 -0
- package/lib/data-pagerduty-user-contact-method/index.d.ts +82 -0
- package/lib/data-pagerduty-user-contact-method/index.js +174 -0
- package/lib/data-pagerduty-users/index.d.ts +87 -0
- package/lib/data-pagerduty-users/index.js +208 -0
- package/lib/data-pagerduty-vendor/index.d.ts +46 -0
- package/lib/data-pagerduty-vendor/index.js +101 -0
- package/lib/enablement/index.d.ts +70 -0
- package/lib/enablement/index.js +151 -0
- package/lib/escalation-policy/index.d.ts +232 -0
- package/lib/escalation-policy/index.js +565 -0
- package/lib/event-orchestration/index.d.ts +156 -0
- package/lib/event-orchestration/index.js +352 -0
- package/lib/event-orchestration-global/index.d.ts +1253 -0
- package/lib/event-orchestration-global/index.js +3350 -0
- package/lib/event-orchestration-global-cache-variable/index.d.ts +182 -0
- package/lib/event-orchestration-global-cache-variable/index.js +459 -0
- package/lib/event-orchestration-integration/index.d.ts +88 -0
- package/lib/event-orchestration-integration/index.js +196 -0
- package/lib/event-orchestration-router/index.d.ts +363 -0
- package/lib/event-orchestration-router/index.js +954 -0
- package/lib/event-orchestration-service/index.d.ts +1328 -0
- package/lib/event-orchestration-service/index.js +3573 -0
- package/lib/event-orchestration-service-cache-variable/index.d.ts +182 -0
- package/lib/event-orchestration-service-cache-variable/index.js +459 -0
- package/lib/event-orchestration-unrouted/index.d.ts +653 -0
- package/lib/event-orchestration-unrouted/index.js +1722 -0
- package/lib/event-rule/index.d.ts +74 -0
- package/lib/event-rule/index.js +154 -0
- package/lib/extension/index.d.ts +91 -0
- package/lib/extension/index.js +204 -0
- package/lib/extension-servicenow/index.d.ts +138 -0
- package/lib/extension-servicenow/index.js +308 -0
- package/lib/incident-custom-field/index.d.ts +98 -0
- package/lib/incident-custom-field/index.js +207 -0
- package/lib/incident-custom-field-option/index.d.ts +72 -0
- package/lib/incident-custom-field-option/index.js +147 -0
- package/lib/incident-type/index.d.ts +80 -0
- package/lib/incident-type/index.js +176 -0
- package/lib/incident-type-custom-field/index.d.ts +117 -0
- package/lib/incident-type-custom-field/index.js +265 -0
- package/lib/incident-workflow/index.d.ts +378 -0
- package/lib/incident-workflow/index.js +943 -0
- package/lib/incident-workflow-trigger/index.d.ts +133 -0
- package/lib/incident-workflow-trigger/index.js +314 -0
- package/lib/index.d.ts +91 -0
- package/lib/index.js +97 -0
- package/lib/jira-cloud-account-mapping-rule/index.d.ts +559 -0
- package/lib/jira-cloud-account-mapping-rule/index.js +1578 -0
- package/lib/lazy-index.d.ts +4 -0
- package/lib/lazy-index.js +94 -0
- package/lib/maintenance-window/index.d.ts +81 -0
- package/lib/maintenance-window/index.js +168 -0
- package/lib/provider/index.d.ts +128 -0
- package/lib/provider/index.js +279 -0
- package/lib/response-play/index.d.ts +426 -0
- package/lib/response-play/index.js +1009 -0
- package/lib/ruleset/index.d.ts +94 -0
- package/lib/ruleset/index.js +215 -0
- package/lib/ruleset-rule/index.d.ts +1026 -0
- package/lib/ruleset-rule/index.js +2670 -0
- package/lib/schedule/index.d.ts +299 -0
- package/lib/schedule/index.js +740 -0
- package/lib/service/index.d.ts +592 -0
- package/lib/service/index.js +1608 -0
- package/lib/service-custom-field/index.d.ts +174 -0
- package/lib/service-custom-field/index.js +379 -0
- package/lib/service-custom-field-value/index.d.ts +117 -0
- package/lib/service-custom-field-value/index.js +269 -0
- package/lib/service-dependency/index.d.ts +216 -0
- package/lib/service-dependency/index.js +525 -0
- package/lib/service-event-rule/index.d.ts +964 -0
- package/lib/service-event-rule/index.js +2512 -0
- package/lib/service-integration/index.d.ts +546 -0
- package/lib/service-integration/index.js +1404 -0
- package/lib/slack-connection/index.d.ts +159 -0
- package/lib/slack-connection/index.js +369 -0
- package/lib/tag/index.d.ts +47 -0
- package/lib/tag/index.js +105 -0
- package/lib/tag-assignment/index.d.ts +61 -0
- package/lib/tag-assignment/index.js +130 -0
- package/lib/team/index.d.ts +73 -0
- package/lib/team/index.js +161 -0
- package/lib/team-membership/index.d.ts +62 -0
- package/lib/team-membership/index.js +136 -0
- package/lib/user/index.d.ts +130 -0
- package/lib/user/index.js +291 -0
- package/lib/user-contact-method/index.d.ts +98 -0
- package/lib/user-contact-method/index.js +219 -0
- package/lib/user-handoff-notification-rule/index.d.ts +131 -0
- package/lib/user-handoff-notification-rule/index.js +285 -0
- package/lib/user-notification-rule/index.d.ts +105 -0
- package/lib/user-notification-rule/index.js +258 -0
- package/lib/webhook-subscription/index.d.ts +276 -0
- package/lib/webhook-subscription/index.js +664 -0
- package/package.json +155 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2021, 2026
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktn from 'cdktn';
|
|
7
|
+
export interface SlackConnectionConfig extends cdktn.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#channel_id SlackConnection#channel_id}
|
|
10
|
+
*/
|
|
11
|
+
readonly channelId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#id SlackConnection#id}
|
|
14
|
+
*
|
|
15
|
+
* Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2.
|
|
16
|
+
* If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.
|
|
17
|
+
*/
|
|
18
|
+
readonly id?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#notification_type SlackConnection#notification_type}
|
|
21
|
+
*/
|
|
22
|
+
readonly notificationType: string;
|
|
23
|
+
/**
|
|
24
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#source_id SlackConnection#source_id}
|
|
25
|
+
*/
|
|
26
|
+
readonly sourceId: string;
|
|
27
|
+
/**
|
|
28
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#source_type SlackConnection#source_type}
|
|
29
|
+
*/
|
|
30
|
+
readonly sourceType: string;
|
|
31
|
+
/**
|
|
32
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#workspace_id SlackConnection#workspace_id}
|
|
33
|
+
*/
|
|
34
|
+
readonly workspaceId: string;
|
|
35
|
+
/**
|
|
36
|
+
* config block
|
|
37
|
+
*
|
|
38
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#config SlackConnection#config}
|
|
39
|
+
*/
|
|
40
|
+
readonly config: SlackConnectionConfigA[] | cdktn.IResolvable;
|
|
41
|
+
}
|
|
42
|
+
export interface SlackConnectionConfigA {
|
|
43
|
+
/**
|
|
44
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#events SlackConnection#events}
|
|
45
|
+
*/
|
|
46
|
+
readonly events: string[];
|
|
47
|
+
/**
|
|
48
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#priorities SlackConnection#priorities}
|
|
49
|
+
*/
|
|
50
|
+
readonly priorities?: string[];
|
|
51
|
+
/**
|
|
52
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#urgency SlackConnection#urgency}
|
|
53
|
+
*/
|
|
54
|
+
readonly urgency?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare function slackConnectionConfigAToTerraform(struct?: SlackConnectionConfigA | cdktn.IResolvable): any;
|
|
57
|
+
export declare function slackConnectionConfigAToHclTerraform(struct?: SlackConnectionConfigA | cdktn.IResolvable): any;
|
|
58
|
+
export declare class SlackConnectionConfigAOutputReference extends cdktn.ComplexObject {
|
|
59
|
+
private isEmptyObject;
|
|
60
|
+
private resolvableValue?;
|
|
61
|
+
/**
|
|
62
|
+
* @param terraformResource The parent resource
|
|
63
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
64
|
+
* @param complexObjectIndex the index of this item in the list
|
|
65
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
66
|
+
*/
|
|
67
|
+
constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, complexObjectIndex: number, complexObjectIsFromSet: boolean);
|
|
68
|
+
get internalValue(): SlackConnectionConfigA | cdktn.IResolvable | undefined;
|
|
69
|
+
set internalValue(value: SlackConnectionConfigA | cdktn.IResolvable | undefined);
|
|
70
|
+
private _events?;
|
|
71
|
+
get events(): string[];
|
|
72
|
+
set events(value: string[]);
|
|
73
|
+
get eventsInput(): string[] | undefined;
|
|
74
|
+
private _priorities?;
|
|
75
|
+
get priorities(): string[];
|
|
76
|
+
set priorities(value: string[]);
|
|
77
|
+
resetPriorities(): void;
|
|
78
|
+
get prioritiesInput(): string[] | undefined;
|
|
79
|
+
private _urgency?;
|
|
80
|
+
get urgency(): string;
|
|
81
|
+
set urgency(value: string);
|
|
82
|
+
resetUrgency(): void;
|
|
83
|
+
get urgencyInput(): string | undefined;
|
|
84
|
+
}
|
|
85
|
+
export declare class SlackConnectionConfigAList extends cdktn.ComplexList {
|
|
86
|
+
protected terraformResource: cdktn.IInterpolatingParent;
|
|
87
|
+
protected terraformAttribute: string;
|
|
88
|
+
protected wrapsSet: boolean;
|
|
89
|
+
internalValue?: SlackConnectionConfigA[] | cdktn.IResolvable;
|
|
90
|
+
/**
|
|
91
|
+
* @param terraformResource The parent resource
|
|
92
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
93
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
94
|
+
*/
|
|
95
|
+
constructor(terraformResource: cdktn.IInterpolatingParent, terraformAttribute: string, wrapsSet: boolean);
|
|
96
|
+
/**
|
|
97
|
+
* @param index the index of the item to return
|
|
98
|
+
*/
|
|
99
|
+
get(index: number): SlackConnectionConfigAOutputReference;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection pagerduty_slack_connection}
|
|
103
|
+
*/
|
|
104
|
+
export declare class SlackConnection extends cdktn.TerraformResource {
|
|
105
|
+
static readonly tfResourceType = "pagerduty_slack_connection";
|
|
106
|
+
/**
|
|
107
|
+
* Generates CDKTN code for importing a SlackConnection resource upon running "cdktn plan <stack-name>"
|
|
108
|
+
* @param scope The scope in which to define this construct
|
|
109
|
+
* @param importToId The construct id used in the generated config for the SlackConnection to import
|
|
110
|
+
* @param importFromId The id of the existing SlackConnection that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#import import section} in the documentation of this resource for the id to use
|
|
111
|
+
* @param provider? Optional instance of the provider where the SlackConnection to import is found
|
|
112
|
+
*/
|
|
113
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
|
|
114
|
+
/**
|
|
115
|
+
* Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection pagerduty_slack_connection} Resource
|
|
116
|
+
*
|
|
117
|
+
* @param scope The scope in which to define this construct
|
|
118
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
119
|
+
* @param options SlackConnectionConfig
|
|
120
|
+
*/
|
|
121
|
+
constructor(scope: Construct, id: string, config: SlackConnectionConfig);
|
|
122
|
+
private _channelId?;
|
|
123
|
+
get channelId(): string;
|
|
124
|
+
set channelId(value: string);
|
|
125
|
+
get channelIdInput(): string | undefined;
|
|
126
|
+
get channelName(): string;
|
|
127
|
+
private _id?;
|
|
128
|
+
get id(): string;
|
|
129
|
+
set id(value: string);
|
|
130
|
+
resetId(): void;
|
|
131
|
+
get idInput(): string | undefined;
|
|
132
|
+
private _notificationType?;
|
|
133
|
+
get notificationType(): string;
|
|
134
|
+
set notificationType(value: string);
|
|
135
|
+
get notificationTypeInput(): string | undefined;
|
|
136
|
+
private _sourceId?;
|
|
137
|
+
get sourceId(): string;
|
|
138
|
+
set sourceId(value: string);
|
|
139
|
+
get sourceIdInput(): string | undefined;
|
|
140
|
+
get sourceName(): string;
|
|
141
|
+
private _sourceType?;
|
|
142
|
+
get sourceType(): string;
|
|
143
|
+
set sourceType(value: string);
|
|
144
|
+
get sourceTypeInput(): string | undefined;
|
|
145
|
+
private _workspaceId?;
|
|
146
|
+
get workspaceId(): string;
|
|
147
|
+
set workspaceId(value: string);
|
|
148
|
+
get workspaceIdInput(): string | undefined;
|
|
149
|
+
private _config;
|
|
150
|
+
get config(): SlackConnectionConfigAList;
|
|
151
|
+
putConfig(value: SlackConnectionConfigA[] | cdktn.IResolvable): void;
|
|
152
|
+
get configInput(): cdktn.IResolvable | SlackConnectionConfigA[] | undefined;
|
|
153
|
+
protected synthesizeAttributes(): {
|
|
154
|
+
[name: string]: any;
|
|
155
|
+
};
|
|
156
|
+
protected synthesizeHclAttributes(): {
|
|
157
|
+
[name: string]: any;
|
|
158
|
+
};
|
|
159
|
+
}
|
|
@@ -0,0 +1,369 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b, _c;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SlackConnection = exports.SlackConnectionConfigAList = exports.SlackConnectionConfigAOutputReference = void 0;
|
|
5
|
+
exports.slackConnectionConfigAToTerraform = slackConnectionConfigAToTerraform;
|
|
6
|
+
exports.slackConnectionConfigAToHclTerraform = slackConnectionConfigAToHclTerraform;
|
|
7
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
8
|
+
const cdktn = require("cdktn");
|
|
9
|
+
function slackConnectionConfigAToTerraform(struct) {
|
|
10
|
+
if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
|
|
11
|
+
return struct;
|
|
12
|
+
}
|
|
13
|
+
if (cdktn.isComplexElement(struct)) {
|
|
14
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
15
|
+
}
|
|
16
|
+
return {
|
|
17
|
+
events: cdktn.listMapper(cdktn.stringToTerraform, false)(struct.events),
|
|
18
|
+
priorities: cdktn.listMapper(cdktn.stringToTerraform, false)(struct.priorities),
|
|
19
|
+
urgency: cdktn.stringToTerraform(struct.urgency),
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function slackConnectionConfigAToHclTerraform(struct) {
|
|
23
|
+
if (!cdktn.canInspect(struct) || cdktn.Tokenization.isResolvable(struct)) {
|
|
24
|
+
return struct;
|
|
25
|
+
}
|
|
26
|
+
if (cdktn.isComplexElement(struct)) {
|
|
27
|
+
throw new Error("A complex element was used as configuration, this is not supported: https://cdk.tf/complex-object-as-configuration");
|
|
28
|
+
}
|
|
29
|
+
const attrs = {
|
|
30
|
+
events: {
|
|
31
|
+
value: cdktn.listMapperHcl(cdktn.stringToHclTerraform, false)(struct.events),
|
|
32
|
+
isBlock: false,
|
|
33
|
+
type: "set",
|
|
34
|
+
storageClassType: "stringList",
|
|
35
|
+
},
|
|
36
|
+
priorities: {
|
|
37
|
+
value: cdktn.listMapperHcl(cdktn.stringToHclTerraform, false)(struct.priorities),
|
|
38
|
+
isBlock: false,
|
|
39
|
+
type: "list",
|
|
40
|
+
storageClassType: "stringList",
|
|
41
|
+
},
|
|
42
|
+
urgency: {
|
|
43
|
+
value: cdktn.stringToHclTerraform(struct.urgency),
|
|
44
|
+
isBlock: false,
|
|
45
|
+
type: "simple",
|
|
46
|
+
storageClassType: "string",
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
// remove undefined attributes
|
|
50
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
51
|
+
}
|
|
52
|
+
class SlackConnectionConfigAOutputReference extends cdktn.ComplexObject {
|
|
53
|
+
/**
|
|
54
|
+
* @param terraformResource The parent resource
|
|
55
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
56
|
+
* @param complexObjectIndex the index of this item in the list
|
|
57
|
+
* @param complexObjectIsFromSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
58
|
+
*/
|
|
59
|
+
constructor(terraformResource, terraformAttribute, complexObjectIndex, complexObjectIsFromSet) {
|
|
60
|
+
super(terraformResource, terraformAttribute, complexObjectIsFromSet, complexObjectIndex);
|
|
61
|
+
this.isEmptyObject = false;
|
|
62
|
+
}
|
|
63
|
+
get internalValue() {
|
|
64
|
+
if (this.resolvableValue) {
|
|
65
|
+
return this.resolvableValue;
|
|
66
|
+
}
|
|
67
|
+
let hasAnyValues = this.isEmptyObject;
|
|
68
|
+
const internalValueResult = {};
|
|
69
|
+
if (this._events !== undefined) {
|
|
70
|
+
hasAnyValues = true;
|
|
71
|
+
internalValueResult.events = this._events;
|
|
72
|
+
}
|
|
73
|
+
if (this._priorities !== undefined) {
|
|
74
|
+
hasAnyValues = true;
|
|
75
|
+
internalValueResult.priorities = this._priorities;
|
|
76
|
+
}
|
|
77
|
+
if (this._urgency !== undefined) {
|
|
78
|
+
hasAnyValues = true;
|
|
79
|
+
internalValueResult.urgency = this._urgency;
|
|
80
|
+
}
|
|
81
|
+
return hasAnyValues ? internalValueResult : undefined;
|
|
82
|
+
}
|
|
83
|
+
set internalValue(value) {
|
|
84
|
+
if (value === undefined) {
|
|
85
|
+
this.isEmptyObject = false;
|
|
86
|
+
this.resolvableValue = undefined;
|
|
87
|
+
this._events = undefined;
|
|
88
|
+
this._priorities = undefined;
|
|
89
|
+
this._urgency = undefined;
|
|
90
|
+
}
|
|
91
|
+
else if (cdktn.Tokenization.isResolvable(value)) {
|
|
92
|
+
this.isEmptyObject = false;
|
|
93
|
+
this.resolvableValue = value;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
this.isEmptyObject = Object.keys(value).length === 0;
|
|
97
|
+
this.resolvableValue = undefined;
|
|
98
|
+
this._events = value.events;
|
|
99
|
+
this._priorities = value.priorities;
|
|
100
|
+
this._urgency = value.urgency;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
get events() {
|
|
104
|
+
return cdktn.Fn.tolist(this.getListAttribute('events'));
|
|
105
|
+
}
|
|
106
|
+
set events(value) {
|
|
107
|
+
this._events = value;
|
|
108
|
+
}
|
|
109
|
+
// Temporarily expose input value. Use with caution.
|
|
110
|
+
get eventsInput() {
|
|
111
|
+
return this._events;
|
|
112
|
+
}
|
|
113
|
+
get priorities() {
|
|
114
|
+
return this.getListAttribute('priorities');
|
|
115
|
+
}
|
|
116
|
+
set priorities(value) {
|
|
117
|
+
this._priorities = value;
|
|
118
|
+
}
|
|
119
|
+
resetPriorities() {
|
|
120
|
+
this._priorities = undefined;
|
|
121
|
+
}
|
|
122
|
+
// Temporarily expose input value. Use with caution.
|
|
123
|
+
get prioritiesInput() {
|
|
124
|
+
return this._priorities;
|
|
125
|
+
}
|
|
126
|
+
get urgency() {
|
|
127
|
+
return this.getStringAttribute('urgency');
|
|
128
|
+
}
|
|
129
|
+
set urgency(value) {
|
|
130
|
+
this._urgency = value;
|
|
131
|
+
}
|
|
132
|
+
resetUrgency() {
|
|
133
|
+
this._urgency = undefined;
|
|
134
|
+
}
|
|
135
|
+
// Temporarily expose input value. Use with caution.
|
|
136
|
+
get urgencyInput() {
|
|
137
|
+
return this._urgency;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.SlackConnectionConfigAOutputReference = SlackConnectionConfigAOutputReference;
|
|
141
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
142
|
+
SlackConnectionConfigAOutputReference[_a] = { fqn: "@cdktn/provider-pagerduty.slackConnection.SlackConnectionConfigAOutputReference", version: "15.0.0" };
|
|
143
|
+
class SlackConnectionConfigAList extends cdktn.ComplexList {
|
|
144
|
+
/**
|
|
145
|
+
* @param terraformResource The parent resource
|
|
146
|
+
* @param terraformAttribute The attribute on the parent resource this class is referencing
|
|
147
|
+
* @param wrapsSet whether the list is wrapping a set (will add tolist() to be able to access an item via an index)
|
|
148
|
+
*/
|
|
149
|
+
constructor(terraformResource, terraformAttribute, wrapsSet) {
|
|
150
|
+
super(terraformResource, terraformAttribute, wrapsSet);
|
|
151
|
+
this.terraformResource = terraformResource;
|
|
152
|
+
this.terraformAttribute = terraformAttribute;
|
|
153
|
+
this.wrapsSet = wrapsSet;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* @param index the index of the item to return
|
|
157
|
+
*/
|
|
158
|
+
get(index) {
|
|
159
|
+
return new SlackConnectionConfigAOutputReference(this.terraformResource, this.terraformAttribute, index, this.wrapsSet);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.SlackConnectionConfigAList = SlackConnectionConfigAList;
|
|
163
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
164
|
+
SlackConnectionConfigAList[_b] = { fqn: "@cdktn/provider-pagerduty.slackConnection.SlackConnectionConfigAList", version: "15.0.0" };
|
|
165
|
+
/**
|
|
166
|
+
* Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection pagerduty_slack_connection}
|
|
167
|
+
*/
|
|
168
|
+
class SlackConnection extends cdktn.TerraformResource {
|
|
169
|
+
// ==============
|
|
170
|
+
// STATIC Methods
|
|
171
|
+
// ==============
|
|
172
|
+
/**
|
|
173
|
+
* Generates CDKTN code for importing a SlackConnection resource upon running "cdktn plan <stack-name>"
|
|
174
|
+
* @param scope The scope in which to define this construct
|
|
175
|
+
* @param importToId The construct id used in the generated config for the SlackConnection to import
|
|
176
|
+
* @param importFromId The id of the existing SlackConnection that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection#import import section} in the documentation of this resource for the id to use
|
|
177
|
+
* @param provider? Optional instance of the provider where the SlackConnection to import is found
|
|
178
|
+
*/
|
|
179
|
+
static generateConfigForImport(scope, importToId, importFromId, provider) {
|
|
180
|
+
return new cdktn.ImportableResource(scope, importToId, { terraformResourceType: "pagerduty_slack_connection", importId: importFromId, provider });
|
|
181
|
+
}
|
|
182
|
+
// ===========
|
|
183
|
+
// INITIALIZER
|
|
184
|
+
// ===========
|
|
185
|
+
/**
|
|
186
|
+
* Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/slack_connection pagerduty_slack_connection} Resource
|
|
187
|
+
*
|
|
188
|
+
* @param scope The scope in which to define this construct
|
|
189
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
190
|
+
* @param options SlackConnectionConfig
|
|
191
|
+
*/
|
|
192
|
+
constructor(scope, id, config) {
|
|
193
|
+
super(scope, id, {
|
|
194
|
+
terraformResourceType: 'pagerduty_slack_connection',
|
|
195
|
+
terraformGeneratorMetadata: {
|
|
196
|
+
providerName: 'pagerduty',
|
|
197
|
+
providerVersion: '3.31.0',
|
|
198
|
+
providerVersionConstraint: '~> 3.0'
|
|
199
|
+
},
|
|
200
|
+
provider: config.provider,
|
|
201
|
+
dependsOn: config.dependsOn,
|
|
202
|
+
count: config.count,
|
|
203
|
+
lifecycle: config.lifecycle,
|
|
204
|
+
provisioners: config.provisioners,
|
|
205
|
+
connection: config.connection,
|
|
206
|
+
forEach: config.forEach
|
|
207
|
+
});
|
|
208
|
+
// config - computed: false, optional: false, required: true
|
|
209
|
+
this._config = new SlackConnectionConfigAList(this, "config", false);
|
|
210
|
+
this._channelId = config.channelId;
|
|
211
|
+
this._id = config.id;
|
|
212
|
+
this._notificationType = config.notificationType;
|
|
213
|
+
this._sourceId = config.sourceId;
|
|
214
|
+
this._sourceType = config.sourceType;
|
|
215
|
+
this._workspaceId = config.workspaceId;
|
|
216
|
+
this._config.internalValue = config.config;
|
|
217
|
+
}
|
|
218
|
+
get channelId() {
|
|
219
|
+
return this.getStringAttribute('channel_id');
|
|
220
|
+
}
|
|
221
|
+
set channelId(value) {
|
|
222
|
+
this._channelId = value;
|
|
223
|
+
}
|
|
224
|
+
// Temporarily expose input value. Use with caution.
|
|
225
|
+
get channelIdInput() {
|
|
226
|
+
return this._channelId;
|
|
227
|
+
}
|
|
228
|
+
// channel_name - computed: true, optional: false, required: false
|
|
229
|
+
get channelName() {
|
|
230
|
+
return this.getStringAttribute('channel_name');
|
|
231
|
+
}
|
|
232
|
+
get id() {
|
|
233
|
+
return this.getStringAttribute('id');
|
|
234
|
+
}
|
|
235
|
+
set id(value) {
|
|
236
|
+
this._id = value;
|
|
237
|
+
}
|
|
238
|
+
resetId() {
|
|
239
|
+
this._id = undefined;
|
|
240
|
+
}
|
|
241
|
+
// Temporarily expose input value. Use with caution.
|
|
242
|
+
get idInput() {
|
|
243
|
+
return this._id;
|
|
244
|
+
}
|
|
245
|
+
get notificationType() {
|
|
246
|
+
return this.getStringAttribute('notification_type');
|
|
247
|
+
}
|
|
248
|
+
set notificationType(value) {
|
|
249
|
+
this._notificationType = value;
|
|
250
|
+
}
|
|
251
|
+
// Temporarily expose input value. Use with caution.
|
|
252
|
+
get notificationTypeInput() {
|
|
253
|
+
return this._notificationType;
|
|
254
|
+
}
|
|
255
|
+
get sourceId() {
|
|
256
|
+
return this.getStringAttribute('source_id');
|
|
257
|
+
}
|
|
258
|
+
set sourceId(value) {
|
|
259
|
+
this._sourceId = value;
|
|
260
|
+
}
|
|
261
|
+
// Temporarily expose input value. Use with caution.
|
|
262
|
+
get sourceIdInput() {
|
|
263
|
+
return this._sourceId;
|
|
264
|
+
}
|
|
265
|
+
// source_name - computed: true, optional: false, required: false
|
|
266
|
+
get sourceName() {
|
|
267
|
+
return this.getStringAttribute('source_name');
|
|
268
|
+
}
|
|
269
|
+
get sourceType() {
|
|
270
|
+
return this.getStringAttribute('source_type');
|
|
271
|
+
}
|
|
272
|
+
set sourceType(value) {
|
|
273
|
+
this._sourceType = value;
|
|
274
|
+
}
|
|
275
|
+
// Temporarily expose input value. Use with caution.
|
|
276
|
+
get sourceTypeInput() {
|
|
277
|
+
return this._sourceType;
|
|
278
|
+
}
|
|
279
|
+
get workspaceId() {
|
|
280
|
+
return this.getStringAttribute('workspace_id');
|
|
281
|
+
}
|
|
282
|
+
set workspaceId(value) {
|
|
283
|
+
this._workspaceId = value;
|
|
284
|
+
}
|
|
285
|
+
// Temporarily expose input value. Use with caution.
|
|
286
|
+
get workspaceIdInput() {
|
|
287
|
+
return this._workspaceId;
|
|
288
|
+
}
|
|
289
|
+
get config() {
|
|
290
|
+
return this._config;
|
|
291
|
+
}
|
|
292
|
+
putConfig(value) {
|
|
293
|
+
this._config.internalValue = value;
|
|
294
|
+
}
|
|
295
|
+
// Temporarily expose input value. Use with caution.
|
|
296
|
+
get configInput() {
|
|
297
|
+
return this._config.internalValue;
|
|
298
|
+
}
|
|
299
|
+
// =========
|
|
300
|
+
// SYNTHESIS
|
|
301
|
+
// =========
|
|
302
|
+
synthesizeAttributes() {
|
|
303
|
+
return {
|
|
304
|
+
channel_id: cdktn.stringToTerraform(this._channelId),
|
|
305
|
+
id: cdktn.stringToTerraform(this._id),
|
|
306
|
+
notification_type: cdktn.stringToTerraform(this._notificationType),
|
|
307
|
+
source_id: cdktn.stringToTerraform(this._sourceId),
|
|
308
|
+
source_type: cdktn.stringToTerraform(this._sourceType),
|
|
309
|
+
workspace_id: cdktn.stringToTerraform(this._workspaceId),
|
|
310
|
+
config: cdktn.listMapper(slackConnectionConfigAToTerraform, true)(this._config.internalValue),
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
synthesizeHclAttributes() {
|
|
314
|
+
const attrs = {
|
|
315
|
+
channel_id: {
|
|
316
|
+
value: cdktn.stringToHclTerraform(this._channelId),
|
|
317
|
+
isBlock: false,
|
|
318
|
+
type: "simple",
|
|
319
|
+
storageClassType: "string",
|
|
320
|
+
},
|
|
321
|
+
id: {
|
|
322
|
+
value: cdktn.stringToHclTerraform(this._id),
|
|
323
|
+
isBlock: false,
|
|
324
|
+
type: "simple",
|
|
325
|
+
storageClassType: "string",
|
|
326
|
+
},
|
|
327
|
+
notification_type: {
|
|
328
|
+
value: cdktn.stringToHclTerraform(this._notificationType),
|
|
329
|
+
isBlock: false,
|
|
330
|
+
type: "simple",
|
|
331
|
+
storageClassType: "string",
|
|
332
|
+
},
|
|
333
|
+
source_id: {
|
|
334
|
+
value: cdktn.stringToHclTerraform(this._sourceId),
|
|
335
|
+
isBlock: false,
|
|
336
|
+
type: "simple",
|
|
337
|
+
storageClassType: "string",
|
|
338
|
+
},
|
|
339
|
+
source_type: {
|
|
340
|
+
value: cdktn.stringToHclTerraform(this._sourceType),
|
|
341
|
+
isBlock: false,
|
|
342
|
+
type: "simple",
|
|
343
|
+
storageClassType: "string",
|
|
344
|
+
},
|
|
345
|
+
workspace_id: {
|
|
346
|
+
value: cdktn.stringToHclTerraform(this._workspaceId),
|
|
347
|
+
isBlock: false,
|
|
348
|
+
type: "simple",
|
|
349
|
+
storageClassType: "string",
|
|
350
|
+
},
|
|
351
|
+
config: {
|
|
352
|
+
value: cdktn.listMapperHcl(slackConnectionConfigAToHclTerraform, true)(this._config.internalValue),
|
|
353
|
+
isBlock: true,
|
|
354
|
+
type: "list",
|
|
355
|
+
storageClassType: "SlackConnectionConfigAList",
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
// remove undefined attributes
|
|
359
|
+
return Object.fromEntries(Object.entries(attrs).filter(([_, value]) => value !== undefined && value.value !== undefined));
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
exports.SlackConnection = SlackConnection;
|
|
363
|
+
_c = JSII_RTTI_SYMBOL_1;
|
|
364
|
+
SlackConnection[_c] = { fqn: "@cdktn/provider-pagerduty.slackConnection.SlackConnection", version: "15.0.0" };
|
|
365
|
+
// =================
|
|
366
|
+
// STATIC PROPERTIES
|
|
367
|
+
// =================
|
|
368
|
+
SlackConnection.tfResourceType = "pagerduty_slack_connection";
|
|
369
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2xhY2stY29ubmVjdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBK0RBLDhFQVVDO0FBR0Qsb0ZBNEJDOztBQS9GRCwrQkFBK0I7QUFzRC9CLFNBQWdCLGlDQUFpQyxDQUFDLE1BQW1EO0lBQ25HLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFBQyxPQUFPLE1BQU0sQ0FBQztJQUFDLENBQUM7SUFDNUYsSUFBSSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNuQyxNQUFNLElBQUksS0FBSyxDQUFDLG9IQUFvSCxDQUFDLENBQUM7SUFDeEksQ0FBQztJQUNELE9BQU87UUFDTCxNQUFNLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLE1BQU0sQ0FBQztRQUN4RSxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLENBQUMsTUFBTyxDQUFDLFVBQVUsQ0FBQztRQUNoRixPQUFPLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE1BQU8sQ0FBQyxPQUFPLENBQUM7S0FDbEQsQ0FBQTtBQUNILENBQUM7QUFHRCxTQUFnQixvQ0FBb0MsQ0FBQyxNQUFtRDtJQUN0RyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBQUMsT0FBTyxNQUFNLENBQUM7SUFBQyxDQUFDO0lBQzVGLElBQUksS0FBSyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbkMsTUFBTSxJQUFJLEtBQUssQ0FBQyxvSEFBb0gsQ0FBQyxDQUFDO0lBQ3hJLENBQUM7SUFDRCxNQUFNLEtBQUssR0FBRztRQUNaLE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxNQUFPLENBQUMsTUFBTSxDQUFDO1lBQzdFLE9BQU8sRUFBRSxLQUFLO1lBQ2QsSUFBSSxFQUFFLEtBQUs7WUFDWCxnQkFBZ0IsRUFBRSxZQUFZO1NBQy9CO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsS0FBSyxFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLG9CQUFvQixFQUFFLEtBQUssQ0FBQyxDQUFDLE1BQU8sQ0FBQyxVQUFVLENBQUM7WUFDakYsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsTUFBTTtZQUNaLGdCQUFnQixFQUFFLFlBQVk7U0FDL0I7UUFDRCxPQUFPLEVBQUU7WUFDUCxLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLE1BQU8sQ0FBQyxPQUFPLENBQUM7WUFDbEQsT0FBTyxFQUFFLEtBQUs7WUFDZCxJQUFJLEVBQUUsUUFBUTtZQUNkLGdCQUFnQixFQUFFLFFBQVE7U0FDM0I7S0FDRixDQUFDO0lBRUYsOEJBQThCO0lBQzlCLE9BQU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztBQUM1SCxDQUFDO0FBRUQsTUFBYSxxQ0FBc0MsU0FBUSxLQUFLLENBQUMsYUFBYTtJQUk1RTs7Ozs7TUFLRTtJQUNGLFlBQW1CLGlCQUE2QyxFQUFFLGtCQUEwQixFQUFFLGtCQUEwQixFQUFFLHNCQUErQjtRQUN2SixLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsc0JBQXNCLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQVZuRixrQkFBYSxHQUFHLEtBQUssQ0FBQztJQVc5QixDQUFDO0lBRUQsSUFBVyxhQUFhO1FBQ3RCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUN0QyxNQUFNLG1CQUFtQixHQUFRLEVBQUUsQ0FBQztRQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsWUFBWSxHQUFHLElBQUksQ0FBQztZQUNwQixtQkFBbUIsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDcEIsbUJBQW1CLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDcEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLG1CQUFtQixDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQzlDLENBQUM7UUFDRCxPQUFPLFlBQVksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBVyxhQUFhLENBQUMsS0FBNkQ7UUFDcEYsSUFBSSxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7WUFDM0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxTQUFTLENBQUM7WUFDakMsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUM7WUFDN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7UUFDNUIsQ0FBQzthQUNJLElBQUksS0FBSyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLEtBQUssQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO2FBQ0ksQ0FBQztZQUNKLElBQUksQ0FBQyxhQUFhLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO1lBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUM7WUFDcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBSUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxLQUFLLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsSUFBVyxNQUFNLENBQUMsS0FBZTtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUlELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBQ0QsSUFBVyxVQUFVLENBQUMsS0FBZTtRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztJQUMzQixDQUFDO0lBQ00sZUFBZTtRQUNwQixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztJQUMvQixDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUlELElBQVcsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBQ0QsSUFBVyxPQUFPLENBQUMsS0FBYTtRQUM5QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztJQUN4QixDQUFDO0lBQ00sWUFBWTtRQUNqQixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztJQUM1QixDQUFDO0lBQ0Qsb0RBQW9EO0lBQ3BELElBQVcsWUFBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQzs7QUFuR0gsc0ZBb0dDOzs7QUFFRCxNQUFhLDBCQUEyQixTQUFRLEtBQUssQ0FBQyxXQUFXO0lBRy9EOzs7O01BSUU7SUFDRixZQUFzQixpQkFBNkMsRUFBWSxrQkFBMEIsRUFBWSxRQUFpQjtRQUNwSSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUE7UUFEbEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE0QjtRQUFZLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBUTtRQUFZLGFBQVEsR0FBUixRQUFRLENBQVM7SUFFdEksQ0FBQztJQUVEOztNQUVFO0lBQ0ssR0FBRyxDQUFDLEtBQWE7UUFDdEIsT0FBTyxJQUFJLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxSCxDQUFDOztBQWpCSCxnRUFrQkM7OztBQUVEOztFQUVFO0FBQ0YsTUFBYSxlQUFnQixTQUFRLEtBQUssQ0FBQyxpQkFBaUI7SUFPMUQsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakI7Ozs7OztNQU1FO0lBQ0ssTUFBTSxDQUFDLHVCQUF1QixDQUFDLEtBQWdCLEVBQUUsVUFBa0IsRUFBRSxZQUFvQixFQUFFLFFBQWtDO1FBQzlILE9BQU8sSUFBSSxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLFVBQVUsRUFBRSxFQUFFLHFCQUFxQixFQUFFLDRCQUE0QixFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUNwSixDQUFDO0lBRUwsY0FBYztJQUNkLGNBQWM7SUFDZCxjQUFjO0lBRWQ7Ozs7OztNQU1FO0lBQ0YsWUFBbUIsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBNkI7UUFDNUUsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDZixxQkFBcUIsRUFBRSw0QkFBNEI7WUFDbkQsMEJBQTBCLEVBQUU7Z0JBQzFCLFlBQVksRUFBRSxXQUFXO2dCQUN6QixlQUFlLEVBQUUsUUFBUTtnQkFDekIseUJBQXlCLEVBQUUsUUFBUTthQUNwQztZQUNELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUTtZQUN6QixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLO1lBQ25CLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7WUFDakMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztTQUN4QixDQUFDLENBQUM7UUF5R0wsNERBQTREO1FBQ3BELFlBQU8sR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUF6R3RFLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztRQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUM7SUFRRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUNELElBQVcsU0FBUyxDQUFDLEtBQWE7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLGNBQWM7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxrRUFBa0U7SUFDbEUsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFJRCxJQUFXLEVBQUU7UUFDWCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBQ0QsSUFBVyxFQUFFLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztJQUNuQixDQUFDO0lBQ00sT0FBTztRQUNaLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUyxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQztJQUNsQixDQUFDO0lBSUQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsSUFBVyxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ3ZDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDakMsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLHFCQUFxQjtRQUM5QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztJQUNoQyxDQUFDO0lBSUQsSUFBVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxLQUFhO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxhQUFhO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsaUVBQWlFO0lBQ2pFLElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBSUQsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFDRCxJQUFXLFVBQVUsQ0FBQyxLQUFhO1FBQ2pDLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUMxQixDQUFDO0lBSUQsSUFBVyxXQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCxJQUFXLFdBQVcsQ0FBQyxLQUFhO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzVCLENBQUM7SUFDRCxvREFBb0Q7SUFDcEQsSUFBVyxnQkFBZ0I7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFJRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQztJQUNNLFNBQVMsQ0FBQyxLQUFtRDtRQUNsRSxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7SUFDckMsQ0FBQztJQUNELG9EQUFvRDtJQUNwRCxJQUFXLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztJQUNwQyxDQUFDO0lBRUQsWUFBWTtJQUNaLFlBQVk7SUFDWixZQUFZO0lBRUYsb0JBQW9CO1FBQzVCLE9BQU87WUFDTCxVQUFVLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDcEQsRUFBRSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ3JDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7WUFDbEUsU0FBUyxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2xELFdBQVcsRUFBRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN0RCxZQUFZLEVBQUUsS0FBSyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDeEQsTUFBTSxFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsaUNBQWlDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUM7U0FDOUYsQ0FBQztJQUNKLENBQUM7SUFFUyx1QkFBdUI7UUFDL0IsTUFBTSxLQUFLLEdBQUc7WUFDWixVQUFVLEVBQUU7Z0JBQ1YsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2dCQUNsRCxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsRUFBRSxFQUFFO2dCQUNGLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFDM0MsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtZQUNELGlCQUFpQixFQUFFO2dCQUNqQixLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDekQsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtZQUNELFNBQVMsRUFBRTtnQkFDVCxLQUFLLEVBQUUsS0FBSyxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7Z0JBQ2pELE9BQU8sRUFBRSxLQUFLO2dCQUNkLElBQUksRUFBRSxRQUFRO2dCQUNkLGdCQUFnQixFQUFFLFFBQVE7YUFDM0I7WUFDRCxXQUFXLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2dCQUNuRCxPQUFPLEVBQUUsS0FBSztnQkFDZCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxnQkFBZ0IsRUFBRSxRQUFRO2FBQzNCO1lBQ0QsWUFBWSxFQUFFO2dCQUNaLEtBQUssRUFBRSxLQUFLLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDcEQsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsZ0JBQWdCLEVBQUUsUUFBUTthQUMzQjtZQUNELE1BQU0sRUFBRTtnQkFDTixLQUFLLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxvQ0FBb0MsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQztnQkFDbEcsT0FBTyxFQUFFLElBQUk7Z0JBQ2IsSUFBSSxFQUFFLE1BQU07Z0JBQ1osZ0JBQWdCLEVBQUUsNEJBQTRCO2FBQy9DO1NBQ0YsQ0FBQztRQUVGLDhCQUE4QjtRQUM5QixPQUFPLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBRSxDQUFDLENBQUE7SUFDNUgsQ0FBQzs7QUFyT0gsMENBc09DOzs7QUFwT0Msb0JBQW9CO0FBQ3BCLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDRyw4QkFBYyxHQUFHLDRCQUE0QixBQUEvQixDQUFnQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDIxLCAyMDI2XG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTVBMLTIuMFxuICovXG5cbi8vIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uXG4vLyBnZW5lcmF0ZWQgZnJvbSB0ZXJyYWZvcm0gcmVzb3VyY2Ugc2NoZW1hXG5cbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgY2RrdG4gZnJvbSAnY2RrdG4nO1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbmV4cG9ydCBpbnRlcmZhY2UgU2xhY2tDb25uZWN0aW9uQ29uZmlnIGV4dGVuZHMgY2RrdG4uVGVycmFmb3JtTWV0YUFyZ3VtZW50cyB7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvcmVzb3VyY2VzL3NsYWNrX2Nvbm5lY3Rpb24jY2hhbm5lbF9pZCBTbGFja0Nvbm5lY3Rpb24jY2hhbm5lbF9pZH1cbiAgKi9cbiAgcmVhZG9ubHkgY2hhbm5lbElkOiBzdHJpbmc7XG4gIC8qKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvcmVzb3VyY2VzL3NsYWNrX2Nvbm5lY3Rpb24jaWQgU2xhY2tDb25uZWN0aW9uI2lkfVxuICAqXG4gICogUGxlYXNlIGJlIGF3YXJlIHRoYXQgdGhlIGlkIGZpZWxkIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gYWxsIHJlc291cmNlcyBpbiBUZXJyYWZvcm0gcHJvdmlkZXJzIHVzaW5nIGEgVGVycmFmb3JtIHByb3ZpZGVyIFNESyB2ZXJzaW9uIGJlbG93IDIuXG4gICogSWYgeW91IGV4cGVyaWVuY2UgcHJvYmxlbXMgc2V0dGluZyB0aGlzIHZhbHVlIGl0IG1pZ2h0IG5vdCBiZSBzZXR0YWJsZS4gUGxlYXNlIHRha2UgYSBsb29rIGF0IHRoZSBwcm92aWRlciBkb2N1bWVudGF0aW9uIHRvIGVuc3VyZSBpdCBzaG91bGQgYmUgc2V0dGFibGUuXG4gICovXG4gIHJlYWRvbmx5IGlkPzogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uI25vdGlmaWNhdGlvbl90eXBlIFNsYWNrQ29ubmVjdGlvbiNub3RpZmljYXRpb25fdHlwZX1cbiAgKi9cbiAgcmVhZG9ubHkgbm90aWZpY2F0aW9uVHlwZTogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uI3NvdXJjZV9pZCBTbGFja0Nvbm5lY3Rpb24jc291cmNlX2lkfVxuICAqL1xuICByZWFkb25seSBzb3VyY2VJZDogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uI3NvdXJjZV90eXBlIFNsYWNrQ29ubmVjdGlvbiNzb3VyY2VfdHlwZX1cbiAgKi9cbiAgcmVhZG9ubHkgc291cmNlVHlwZTogc3RyaW5nO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uI3dvcmtzcGFjZV9pZCBTbGFja0Nvbm5lY3Rpb24jd29ya3NwYWNlX2lkfVxuICAqL1xuICByZWFkb25seSB3b3Jrc3BhY2VJZDogc3RyaW5nO1xuICAvKipcbiAgKiBjb25maWcgYmxvY2tcbiAgKlxuICAqIERvY3MgYXQgVGVycmFmb3JtIFJlZ2lzdHJ5OiB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvcmVzb3VyY2VzL3NsYWNrX2Nvbm5lY3Rpb24jY29uZmlnIFNsYWNrQ29ubmVjdGlvbiNjb25maWd9XG4gICovXG4gIHJlYWRvbmx5IGNvbmZpZzogU2xhY2tDb25uZWN0aW9uQ29uZmlnQVtdIHwgY2RrdG4uSVJlc29sdmFibGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNsYWNrQ29ubmVjdGlvbkNvbmZpZ0Ege1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uI2V2ZW50cyBTbGFja0Nvbm5lY3Rpb24jZXZlbnRzfVxuICAqL1xuICByZWFkb25seSBldmVudHM6IHN0cmluZ1tdO1xuICAvKipcbiAgKiBEb2NzIGF0IFRlcnJhZm9ybSBSZWdpc3RyeToge0BsaW5rIGh0dHBzOi8vcmVnaXN0cnkudGVycmFmb3JtLmlvL3Byb3ZpZGVycy9wYWdlcmR1dHkvcGFnZXJkdXR5LzMuMzEuMC9kb2NzL3Jlc291cmNlcy9zbGFja19jb25uZWN0aW9uI3ByaW9yaXRpZXMgU2xhY2tDb25uZWN0aW9uI3ByaW9yaXRpZXN9XG4gICovXG4gIHJlYWRvbmx5IHByaW9yaXRpZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICogRG9jcyBhdCBUZXJyYWZvcm0gUmVnaXN0cnk6IHtAbGluayBodHRwczovL3JlZ2lzdHJ5LnRlcnJhZm9ybS5pby9wcm92aWRlcnMvcGFnZXJkdXR5L3BhZ2VyZHV0eS8zLjMxLjAvZG9jcy9yZXNvdXJjZXMvc2xhY2tfY29ubmVjdGlvbiN1cmdlbmN5IFNsYWNrQ29ubmVjdGlvbiN1cmdlbmN5fVxuICAqL1xuICByZWFkb25seSB1cmdlbmN5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2xhY2tDb25uZWN0aW9uQ29uZmlnQVRvVGVycmFmb3JtKHN0cnVjdD86IFNsYWNrQ29ubmVjdGlvbkNvbmZpZ0EgfCBjZGt0bi5JUmVzb2x2YWJsZSk6IGFueSB7XG4gIGlmICghY2RrdG4uY2FuSW5zcGVjdChzdHJ1Y3QpIHx8IGNka3RuLlRva2VuaXphdGlvbi5pc1Jlc29sdmFibGUoc3RydWN0KSkgeyByZXR1cm4gc3RydWN0OyB9XG4gIGlmIChjZGt0bi5pc0NvbXBsZXhFbGVtZW50KHN0cnVjdCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIGNvbXBsZXggZWxlbWVudCB3YXMgdXNlZCBhcyBjb25maWd1cmF0aW9uLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQ6IGh0dHBzOi8vY2RrLnRmL2NvbXBsZXgtb2JqZWN0LWFzLWNvbmZpZ3VyYXRpb25cIik7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBldmVudHM6IGNka3RuLmxpc3RNYXBwZXIoY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0sIGZhbHNlKShzdHJ1Y3QhLmV2ZW50cyksXG4gICAgcHJpb3JpdGllczogY2RrdG4ubGlzdE1hcHBlcihjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSwgZmFsc2UpKHN0cnVjdCEucHJpb3JpdGllcyksXG4gICAgdXJnZW5jeTogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0oc3RydWN0IS51cmdlbmN5KSxcbiAgfVxufVxuXG5cbmV4cG9ydCBmdW5jdGlvbiBzbGFja0Nvbm5lY3Rpb25Db25maWdBVG9IY2xUZXJyYWZvcm0oc3RydWN0PzogU2xhY2tDb25uZWN0aW9uQ29uZmlnQSB8IGNka3RuLklSZXNvbHZhYmxlKTogYW55IHtcbiAgaWYgKCFjZGt0bi5jYW5JbnNwZWN0KHN0cnVjdCkgfHwgY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZShzdHJ1Y3QpKSB7IHJldHVybiBzdHJ1Y3Q7IH1cbiAgaWYgKGNka3RuLmlzQ29tcGxleEVsZW1lbnQoc3RydWN0KSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkEgY29tcGxleCBlbGVtZW50IHdhcyB1c2VkIGFzIGNvbmZpZ3VyYXRpb24sIHRoaXMgaXMgbm90IHN1cHBvcnRlZDogaHR0cHM6Ly9jZGsudGYvY29tcGxleC1vYmplY3QtYXMtY29uZmlndXJhdGlvblwiKTtcbiAgfVxuICBjb25zdCBhdHRycyA9IHtcbiAgICBldmVudHM6IHtcbiAgICAgIHZhbHVlOiBjZGt0bi5saXN0TWFwcGVySGNsKGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtLCBmYWxzZSkoc3RydWN0IS5ldmVudHMpLFxuICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICB0eXBlOiBcInNldFwiLFxuICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdMaXN0XCIsXG4gICAgfSxcbiAgICBwcmlvcml0aWVzOiB7XG4gICAgICB2YWx1ZTogY2RrdG4ubGlzdE1hcHBlckhjbChjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSwgZmFsc2UpKHN0cnVjdCEucHJpb3JpdGllcyksXG4gICAgICBpc0Jsb2NrOiBmYWxzZSxcbiAgICAgIHR5cGU6IFwibGlzdFwiLFxuICAgICAgc3RvcmFnZUNsYXNzVHlwZTogXCJzdHJpbmdMaXN0XCIsXG4gICAgfSxcbiAgICB1cmdlbmN5OiB7XG4gICAgICB2YWx1ZTogY2RrdG4uc3RyaW5nVG9IY2xUZXJyYWZvcm0oc3RydWN0IS51cmdlbmN5KSxcbiAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgdHlwZTogXCJzaW1wbGVcIixcbiAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgfSxcbiAgfTtcblxuICAvLyByZW1vdmUgdW5kZWZpbmVkIGF0dHJpYnV0ZXNcbiAgcmV0dXJuIE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhhdHRycykuZmlsdGVyKChbXywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlLnZhbHVlICE9PSB1bmRlZmluZWQpKTtcbn1cblxuZXhwb3J0IGNsYXNzIFNsYWNrQ29ubmVjdGlvbkNvbmZpZ0FPdXRwdXRSZWZlcmVuY2UgZXh0ZW5kcyBjZGt0bi5Db21wbGV4T2JqZWN0IHtcbiAgcHJpdmF0ZSBpc0VtcHR5T2JqZWN0ID0gZmFsc2U7XG4gIHByaXZhdGUgcmVzb2x2YWJsZVZhbHVlPzogY2RrdG4uSVJlc29sdmFibGU7XG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJbmRleCB0aGUgaW5kZXggb2YgdGhpcyBpdGVtIGluIHRoZSBsaXN0XG4gICogQHBhcmFtIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQgd2hldGhlciB0aGUgbGlzdCBpcyB3cmFwcGluZyBhIHNldCAod2lsbCBhZGQgdG9saXN0KCkgdG8gYmUgYWJsZSB0byBhY2Nlc3MgYW4gaXRlbSB2aWEgYW4gaW5kZXgpXG4gICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih0ZXJyYWZvcm1SZXNvdXJjZTogY2RrdG4uSUludGVycG9sYXRpbmdQYXJlbnQsIHRlcnJhZm9ybUF0dHJpYnV0ZTogc3RyaW5nLCBjb21wbGV4T2JqZWN0SW5kZXg6IG51bWJlciwgY29tcGxleE9iamVjdElzRnJvbVNldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIGNvbXBsZXhPYmplY3RJc0Zyb21TZXQsIGNvbXBsZXhPYmplY3RJbmRleCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGludGVybmFsVmFsdWUoKTogU2xhY2tDb25uZWN0aW9uQ29uZmlnQSB8IGNka3RuLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5yZXNvbHZhYmxlVmFsdWUpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc29sdmFibGVWYWx1ZTtcbiAgICB9XG4gICAgbGV0IGhhc0FueVZhbHVlcyA9IHRoaXMuaXNFbXB0eU9iamVjdDtcbiAgICBjb25zdCBpbnRlcm5hbFZhbHVlUmVzdWx0OiBhbnkgPSB7fTtcbiAgICBpZiAodGhpcy5fZXZlbnRzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhhc0FueVZhbHVlcyA9IHRydWU7XG4gICAgICBpbnRlcm5hbFZhbHVlUmVzdWx0LmV2ZW50cyA9IHRoaXMuX2V2ZW50cztcbiAgICB9XG4gICAgaWYgKHRoaXMuX3ByaW9yaXRpZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaGFzQW55VmFsdWVzID0gdHJ1ZTtcbiAgICAgIGludGVybmFsVmFsdWVSZXN1bHQucHJpb3JpdGllcyA9IHRoaXMuX3ByaW9yaXRpZXM7XG4gICAgfVxuICAgIGlmICh0aGlzLl91cmdlbmN5ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGhhc0FueVZhbHVlcyA9IHRydWU7XG4gICAgICBpbnRlcm5hbFZhbHVlUmVzdWx0LnVyZ2VuY3kgPSB0aGlzLl91cmdlbmN5O1xuICAgIH1cbiAgICByZXR1cm4gaGFzQW55VmFsdWVzID8gaW50ZXJuYWxWYWx1ZVJlc3VsdCA6IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaW50ZXJuYWxWYWx1ZSh2YWx1ZTogU2xhY2tDb25uZWN0aW9uQ29uZmlnQSB8IGNka3RuLklSZXNvbHZhYmxlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICAgICAgdGhpcy5yZXNvbHZhYmxlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9ldmVudHMgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9wcmlvcml0aWVzID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5fdXJnZW5jeSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2RrdG4uVG9rZW5pemF0aW9uLmlzUmVzb2x2YWJsZSh2YWx1ZSkpIHtcbiAgICAgIHRoaXMuaXNFbXB0eU9iamVjdCA9IGZhbHNlO1xuICAgICAgdGhpcy5yZXNvbHZhYmxlVmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aGlzLmlzRW1wdHlPYmplY3QgPSBPYmplY3Qua2V5cyh2YWx1ZSkubGVuZ3RoID09PSAwO1xuICAgICAgdGhpcy5yZXNvbHZhYmxlVmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLl9ldmVudHMgPSB2YWx1ZS5ldmVudHM7XG4gICAgICB0aGlzLl9wcmlvcml0aWVzID0gdmFsdWUucHJpb3JpdGllcztcbiAgICAgIHRoaXMuX3VyZ2VuY3kgPSB2YWx1ZS51cmdlbmN5O1xuICAgIH1cbiAgfVxuXG4gIC8vIGV2ZW50cyAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9ldmVudHM/OiBzdHJpbmdbXTsgXG4gIHB1YmxpYyBnZXQgZXZlbnRzKCkge1xuICAgIHJldHVybiBjZGt0bi5Gbi50b2xpc3QodGhpcy5nZXRMaXN0QXR0cmlidXRlKCdldmVudHMnKSk7XG4gIH1cbiAgcHVibGljIHNldCBldmVudHModmFsdWU6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5fZXZlbnRzID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGV2ZW50c0lucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9ldmVudHM7XG4gIH1cblxuICAvLyBwcmlvcml0aWVzIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogdHJ1ZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHByaXZhdGUgX3ByaW9yaXRpZXM/OiBzdHJpbmdbXTsgXG4gIHB1YmxpYyBnZXQgcHJpb3JpdGllcygpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRMaXN0QXR0cmlidXRlKCdwcmlvcml0aWVzJyk7XG4gIH1cbiAgcHVibGljIHNldCBwcmlvcml0aWVzKHZhbHVlOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuX3ByaW9yaXRpZXMgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRQcmlvcml0aWVzKCkge1xuICAgIHRoaXMuX3ByaW9yaXRpZXMgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHByaW9yaXRpZXNJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcHJpb3JpdGllcztcbiAgfVxuXG4gIC8vIHVyZ2VuY3kgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiB0cnVlLCByZXF1aXJlZDogZmFsc2VcbiAgcHJpdmF0ZSBfdXJnZW5jeT86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgdXJnZW5jeSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3VyZ2VuY3knKTtcbiAgfVxuICBwdWJsaWMgc2V0IHVyZ2VuY3kodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3VyZ2VuY3kgPSB2YWx1ZTtcbiAgfVxuICBwdWJsaWMgcmVzZXRVcmdlbmN5KCkge1xuICAgIHRoaXMuX3VyZ2VuY3kgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHVyZ2VuY3lJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdXJnZW5jeTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2xhY2tDb25uZWN0aW9uQ29uZmlnQUxpc3QgZXh0ZW5kcyBjZGt0bi5Db21wbGV4TGlzdCB7XG4gIHB1YmxpYyBpbnRlcm5hbFZhbHVlPyA6IFNsYWNrQ29ubmVjdGlvbkNvbmZpZ0FbXSB8IGNka3RuLklSZXNvbHZhYmxlXG5cbiAgLyoqXG4gICogQHBhcmFtIHRlcnJhZm9ybVJlc291cmNlIFRoZSBwYXJlbnQgcmVzb3VyY2VcbiAgKiBAcGFyYW0gdGVycmFmb3JtQXR0cmlidXRlIFRoZSBhdHRyaWJ1dGUgb24gdGhlIHBhcmVudCByZXNvdXJjZSB0aGlzIGNsYXNzIGlzIHJlZmVyZW5jaW5nXG4gICogQHBhcmFtIHdyYXBzU2V0IHdoZXRoZXIgdGhlIGxpc3QgaXMgd3JhcHBpbmcgYSBzZXQgKHdpbGwgYWRkIHRvbGlzdCgpIHRvIGJlIGFibGUgdG8gYWNjZXNzIGFuIGl0ZW0gdmlhIGFuIGluZGV4KVxuICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgdGVycmFmb3JtUmVzb3VyY2U6IGNka3RuLklJbnRlcnBvbGF0aW5nUGFyZW50LCBwcm90ZWN0ZWQgdGVycmFmb3JtQXR0cmlidXRlOiBzdHJpbmcsIHByb3RlY3RlZCB3cmFwc1NldDogYm9vbGVhbikge1xuICAgIHN1cGVyKHRlcnJhZm9ybVJlc291cmNlLCB0ZXJyYWZvcm1BdHRyaWJ1dGUsIHdyYXBzU2V0KVxuICB9XG5cbiAgLyoqXG4gICogQHBhcmFtIGluZGV4IHRoZSBpbmRleCBvZiB0aGUgaXRlbSB0byByZXR1cm5cbiAgKi9cbiAgcHVibGljIGdldChpbmRleDogbnVtYmVyKTogU2xhY2tDb25uZWN0aW9uQ29uZmlnQU91dHB1dFJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIG5ldyBTbGFja0Nvbm5lY3Rpb25Db25maWdBT3V0cHV0UmVmZXJlbmNlKHRoaXMudGVycmFmb3JtUmVzb3VyY2UsIHRoaXMudGVycmFmb3JtQXR0cmlidXRlLCBpbmRleCwgdGhpcy53cmFwc1NldCk7XG4gIH1cbn1cblxuLyoqXG4qIFJlcHJlc2VudHMgYSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvcmVzb3VyY2VzL3NsYWNrX2Nvbm5lY3Rpb24gcGFnZXJkdXR5X3NsYWNrX2Nvbm5lY3Rpb259XG4qL1xuZXhwb3J0IGNsYXNzIFNsYWNrQ29ubmVjdGlvbiBleHRlbmRzIGNka3RuLlRlcnJhZm9ybVJlc291cmNlIHtcblxuICAvLyA9PT09PT09PT09PT09PT09PVxuICAvLyBTVEFUSUMgUFJPUEVSVElFU1xuICAvLyA9PT09PT09PT09PT09PT09PVxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IHRmUmVzb3VyY2VUeXBlID0gXCJwYWdlcmR1dHlfc2xhY2tfY29ubmVjdGlvblwiO1xuXG4gIC8vID09PT09PT09PT09PT09XG4gIC8vIFNUQVRJQyBNZXRob2RzXG4gIC8vID09PT09PT09PT09PT09XG4gIC8qKlxuICAqIEdlbmVyYXRlcyBDREtUTiBjb2RlIGZvciBpbXBvcnRpbmcgYSBTbGFja0Nvbm5lY3Rpb24gcmVzb3VyY2UgdXBvbiBydW5uaW5nIFwiY2RrdG4gcGxhbiA8c3RhY2stbmFtZT5cIlxuICAqIEBwYXJhbSBzY29wZSBUaGUgc2NvcGUgaW4gd2hpY2ggdG8gZGVmaW5lIHRoaXMgY29uc3RydWN0XG4gICogQHBhcmFtIGltcG9ydFRvSWQgVGhlIGNvbnN0cnVjdCBpZCB1c2VkIGluIHRoZSBnZW5lcmF0ZWQgY29uZmlnIGZvciB0aGUgU2xhY2tDb25uZWN0aW9uIHRvIGltcG9ydFxuICAqIEBwYXJhbSBpbXBvcnRGcm9tSWQgVGhlIGlkIG9mIHRoZSBleGlzdGluZyBTbGFja0Nvbm5lY3Rpb24gdGhhdCBzaG91bGQgYmUgaW1wb3J0ZWQuIFJlZmVyIHRvIHRoZSB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvcmVzb3VyY2VzL3NsYWNrX2Nvbm5lY3Rpb24jaW1wb3J0IGltcG9ydCBzZWN0aW9ufSBpbiB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGlzIHJlc291cmNlIGZvciB0aGUgaWQgdG8gdXNlXG4gICogQHBhcmFtIHByb3ZpZGVyPyBPcHRpb25hbCBpbnN0YW5jZSBvZiB0aGUgcHJvdmlkZXIgd2hlcmUgdGhlIFNsYWNrQ29ubmVjdGlvbiB0byBpbXBvcnQgaXMgZm91bmRcbiAgKi9cbiAgcHVibGljIHN0YXRpYyBnZW5lcmF0ZUNvbmZpZ0ZvckltcG9ydChzY29wZTogQ29uc3RydWN0LCBpbXBvcnRUb0lkOiBzdHJpbmcsIGltcG9ydEZyb21JZDogc3RyaW5nLCBwcm92aWRlcj86IGNka3RuLlRlcnJhZm9ybVByb3ZpZGVyKSB7XG4gICAgICAgIHJldHVybiBuZXcgY2RrdG4uSW1wb3J0YWJsZVJlc291cmNlKHNjb3BlLCBpbXBvcnRUb0lkLCB7IHRlcnJhZm9ybVJlc291cmNlVHlwZTogXCJwYWdlcmR1dHlfc2xhY2tfY29ubmVjdGlvblwiLCBpbXBvcnRJZDogaW1wb3J0RnJvbUlkLCBwcm92aWRlciB9KTtcbiAgICAgIH1cblxuICAvLyA9PT09PT09PT09PVxuICAvLyBJTklUSUFMSVpFUlxuICAvLyA9PT09PT09PT09PVxuXG4gIC8qKlxuICAqIENyZWF0ZSBhIG5ldyB7QGxpbmsgaHR0cHM6Ly9yZWdpc3RyeS50ZXJyYWZvcm0uaW8vcHJvdmlkZXJzL3BhZ2VyZHV0eS9wYWdlcmR1dHkvMy4zMS4wL2RvY3MvcmVzb3VyY2VzL3NsYWNrX2Nvbm5lY3Rpb24gcGFnZXJkdXR5X3NsYWNrX2Nvbm5lY3Rpb259IFJlc291cmNlXG4gICpcbiAgKiBAcGFyYW0gc2NvcGUgVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAqIEBwYXJhbSBpZCBUaGUgc2NvcGVkIGNvbnN0cnVjdCBJRC4gTXVzdCBiZSB1bmlxdWUgYW1vbmdzdCBzaWJsaW5ncyBpbiB0aGUgc2FtZSBzY29wZVxuICAqIEBwYXJhbSBvcHRpb25zIFNsYWNrQ29ubmVjdGlvbkNvbmZpZ1xuICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgY29uZmlnOiBTbGFja0Nvbm5lY3Rpb25Db25maWcpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHtcbiAgICAgIHRlcnJhZm9ybVJlc291cmNlVHlwZTogJ3BhZ2VyZHV0eV9zbGFja19jb25uZWN0aW9uJyxcbiAgICAgIHRlcnJhZm9ybUdlbmVyYXRvck1ldGFkYXRhOiB7XG4gICAgICAgIHByb3ZpZGVyTmFtZTogJ3BhZ2VyZHV0eScsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbjogJzMuMzEuMCcsXG4gICAgICAgIHByb3ZpZGVyVmVyc2lvbkNvbnN0cmFpbnQ6ICd+PiAzLjAnXG4gICAgICB9LFxuICAgICAgcHJvdmlkZXI6IGNvbmZpZy5wcm92aWRlcixcbiAgICAgIGRlcGVuZHNPbjogY29uZmlnLmRlcGVuZHNPbixcbiAgICAgIGNvdW50OiBjb25maWcuY291bnQsXG4gICAgICBsaWZlY3ljbGU6IGNvbmZpZy5saWZlY3ljbGUsXG4gICAgICBwcm92aXNpb25lcnM6IGNvbmZpZy5wcm92aXNpb25lcnMsXG4gICAgICBjb25uZWN0aW9uOiBjb25maWcuY29ubmVjdGlvbixcbiAgICAgIGZvckVhY2g6IGNvbmZpZy5mb3JFYWNoXG4gICAgfSk7XG4gICAgdGhpcy5fY2hhbm5lbElkID0gY29uZmlnLmNoYW5uZWxJZDtcbiAgICB0aGlzLl9pZCA9IGNvbmZpZy5pZDtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25UeXBlID0gY29uZmlnLm5vdGlmaWNhdGlvblR5cGU7XG4gICAgdGhpcy5fc291cmNlSWQgPSBjb25maWcuc291cmNlSWQ7XG4gICAgdGhpcy5fc291cmNlVHlwZSA9IGNvbmZpZy5zb3VyY2VUeXBlO1xuICAgIHRoaXMuX3dvcmtzcGFjZUlkID0gY29uZmlnLndvcmtzcGFjZUlkO1xuICAgIHRoaXMuX2NvbmZpZy5pbnRlcm5hbFZhbHVlID0gY29uZmlnLmNvbmZpZztcbiAgfVxuXG4gIC8vID09PT09PT09PT1cbiAgLy8gQVRUUklCVVRFU1xuICAvLyA9PT09PT09PT09XG5cbiAgLy8gY2hhbm5lbF9pZCAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9jaGFubmVsSWQ/OiBzdHJpbmc7IFxuICBwdWJsaWMgZ2V0IGNoYW5uZWxJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2NoYW5uZWxfaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IGNoYW5uZWxJZCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5fY2hhbm5lbElkID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGNoYW5uZWxJZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9jaGFubmVsSWQ7XG4gIH1cblxuICAvLyBjaGFubmVsX25hbWUgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogZmFsc2VcbiAgcHVibGljIGdldCBjaGFubmVsTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ2NoYW5uZWxfbmFtZScpO1xuICB9XG5cbiAgLy8gaWQgLSBjb21wdXRlZDogdHJ1ZSwgb3B0aW9uYWw6IHRydWUsIHJlcXVpcmVkOiBmYWxzZVxuICBwcml2YXRlIF9pZD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdpZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX2lkID0gdmFsdWU7XG4gIH1cbiAgcHVibGljIHJlc2V0SWQoKSB7XG4gICAgdGhpcy5faWQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IGlkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkO1xuICB9XG5cbiAgLy8gbm90aWZpY2F0aW9uX3R5cGUgLSBjb21wdXRlZDogZmFsc2UsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IHRydWVcbiAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uVHlwZT86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgbm90aWZpY2F0aW9uVHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ25vdGlmaWNhdGlvbl90eXBlJyk7XG4gIH1cbiAgcHVibGljIHNldCBub3RpZmljYXRpb25UeXBlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9ub3RpZmljYXRpb25UeXBlID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IG5vdGlmaWNhdGlvblR5cGVJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fbm90aWZpY2F0aW9uVHlwZTtcbiAgfVxuXG4gIC8vIHNvdXJjZV9pZCAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9zb3VyY2VJZD86IHN0cmluZzsgXG4gIHB1YmxpYyBnZXQgc291cmNlSWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RyaW5nQXR0cmlidXRlKCdzb3VyY2VfaWQnKTtcbiAgfVxuICBwdWJsaWMgc2V0IHNvdXJjZUlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zb3VyY2VJZCA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBzb3VyY2VJZElucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2VJZDtcbiAgfVxuXG4gIC8vIHNvdXJjZV9uYW1lIC0gY29tcHV0ZWQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSwgcmVxdWlyZWQ6IGZhbHNlXG4gIHB1YmxpYyBnZXQgc291cmNlTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3NvdXJjZV9uYW1lJyk7XG4gIH1cblxuICAvLyBzb3VyY2VfdHlwZSAtIGNvbXB1dGVkOiBmYWxzZSwgb3B0aW9uYWw6IGZhbHNlLCByZXF1aXJlZDogdHJ1ZVxuICBwcml2YXRlIF9zb3VyY2VUeXBlPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCBzb3VyY2VUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLmdldFN0cmluZ0F0dHJpYnV0ZSgnc291cmNlX3R5cGUnKTtcbiAgfVxuICBwdWJsaWMgc2V0IHNvdXJjZVR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NvdXJjZVR5cGUgPSB2YWx1ZTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBleHBvc2UgaW5wdXQgdmFsdWUuIFVzZSB3aXRoIGNhdXRpb24uXG4gIHB1YmxpYyBnZXQgc291cmNlVHlwZUlucHV0KCkge1xuICAgIHJldHVybiB0aGlzLl9zb3VyY2VUeXBlO1xuICB9XG5cbiAgLy8gd29ya3NwYWNlX2lkIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX3dvcmtzcGFjZUlkPzogc3RyaW5nOyBcbiAgcHVibGljIGdldCB3b3Jrc3BhY2VJZCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdHJpbmdBdHRyaWJ1dGUoJ3dvcmtzcGFjZV9pZCcpO1xuICB9XG4gIHB1YmxpYyBzZXQgd29ya3NwYWNlSWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3dvcmtzcGFjZUlkID0gdmFsdWU7XG4gIH1cbiAgLy8gVGVtcG9yYXJpbHkgZXhwb3NlIGlucHV0IHZhbHVlLiBVc2Ugd2l0aCBjYXV0aW9uLlxuICBwdWJsaWMgZ2V0IHdvcmtzcGFjZUlkSW5wdXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dvcmtzcGFjZUlkO1xuICB9XG5cbiAgLy8gY29uZmlnIC0gY29tcHV0ZWQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UsIHJlcXVpcmVkOiB0cnVlXG4gIHByaXZhdGUgX2NvbmZpZyA9IG5ldyBTbGFja0Nvbm5lY3Rpb25Db25maWdBTGlzdCh0aGlzLCBcImNvbmZpZ1wiLCBmYWxzZSk7XG4gIHB1YmxpYyBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cbiAgcHVibGljIHB1dENvbmZpZyh2YWx1ZTogU2xhY2tDb25uZWN0aW9uQ29uZmlnQVtdIHwgY2RrdG4uSVJlc29sdmFibGUpIHtcbiAgICB0aGlzLl9jb25maWcuaW50ZXJuYWxWYWx1ZSA9IHZhbHVlO1xuICB9XG4gIC8vIFRlbXBvcmFyaWx5IGV4cG9zZSBpbnB1dCB2YWx1ZS4gVXNlIHdpdGggY2F1dGlvbi5cbiAgcHVibGljIGdldCBjb25maWdJbnB1dCgpIHtcbiAgICByZXR1cm4gdGhpcy5fY29uZmlnLmludGVybmFsVmFsdWU7XG4gIH1cblxuICAvLyA9PT09PT09PT1cbiAgLy8gU1lOVEhFU0lTXG4gIC8vID09PT09PT09PVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQXR0cmlidXRlcygpOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNoYW5uZWxfaWQ6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX2NoYW5uZWxJZCksXG4gICAgICBpZDogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5faWQpLFxuICAgICAgbm90aWZpY2F0aW9uX3R5cGU6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX25vdGlmaWNhdGlvblR5cGUpLFxuICAgICAgc291cmNlX2lkOiBjZGt0bi5zdHJpbmdUb1RlcnJhZm9ybSh0aGlzLl9zb3VyY2VJZCksXG4gICAgICBzb3VyY2VfdHlwZTogY2RrdG4uc3RyaW5nVG9UZXJyYWZvcm0odGhpcy5fc291cmNlVHlwZSksXG4gICAgICB3b3Jrc3BhY2VfaWQ6IGNka3RuLnN0cmluZ1RvVGVycmFmb3JtKHRoaXMuX3dvcmtzcGFjZUlkKSxcbiAgICAgIGNvbmZpZzogY2RrdG4ubGlzdE1hcHBlcihzbGFja0Nvbm5lY3Rpb25Db25maWdBVG9UZXJyYWZvcm0sIHRydWUpKHRoaXMuX2NvbmZpZy5pbnRlcm5hbFZhbHVlKSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bnRoZXNpemVIY2xBdHRyaWJ1dGVzKCk6IHsgW25hbWU6IHN0cmluZ106IGFueSB9IHtcbiAgICBjb25zdCBhdHRycyA9IHtcbiAgICAgIGNoYW5uZWxfaWQ6IHtcbiAgICAgICAgdmFsdWU6IGNka3RuLnN0cmluZ1RvSGNsVGVycmFmb3JtKHRoaXMuX2NoYW5uZWxJZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGlkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9pZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIG5vdGlmaWNhdGlvbl90eXBlOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9ub3RpZmljYXRpb25UeXBlKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAgc291cmNlX2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9zb3VyY2VJZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIHNvdXJjZV90eXBlOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl9zb3VyY2VUeXBlKSxcbiAgICAgICAgaXNCbG9jazogZmFsc2UsXG4gICAgICAgIHR5cGU6IFwic2ltcGxlXCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwic3RyaW5nXCIsXG4gICAgICB9LFxuICAgICAgd29ya3NwYWNlX2lkOiB7XG4gICAgICAgIHZhbHVlOiBjZGt0bi5zdHJpbmdUb0hjbFRlcnJhZm9ybSh0aGlzLl93b3Jrc3BhY2VJZCksXG4gICAgICAgIGlzQmxvY2s6IGZhbHNlLFxuICAgICAgICB0eXBlOiBcInNpbXBsZVwiLFxuICAgICAgICBzdG9yYWdlQ2xhc3NUeXBlOiBcInN0cmluZ1wiLFxuICAgICAgfSxcbiAgICAgIGNvbmZpZzoge1xuICAgICAgICB2YWx1ZTogY2RrdG4ubGlzdE1hcHBlckhjbChzbGFja0Nvbm5lY3Rpb25Db25maWdBVG9IY2xUZXJyYWZvcm0sIHRydWUpKHRoaXMuX2NvbmZpZy5pbnRlcm5hbFZhbHVlKSxcbiAgICAgICAgaXNCbG9jazogdHJ1ZSxcbiAgICAgICAgdHlwZTogXCJsaXN0XCIsXG4gICAgICAgIHN0b3JhZ2VDbGFzc1R5cGU6IFwiU2xhY2tDb25uZWN0aW9uQ29uZmlnQUxpc3RcIixcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIHJlbW92ZSB1bmRlZmluZWQgYXR0cmlidXRlc1xuICAgIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoYXR0cnMpLmZpbHRlcigoW18sIHZhbHVlXSkgPT4gdmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZS52YWx1ZSAhPT0gdW5kZWZpbmVkICkpXG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2021, 2026
|
|
3
|
+
* SPDX-License-Identifier: MPL-2.0
|
|
4
|
+
*/
|
|
5
|
+
import { Construct } from 'constructs';
|
|
6
|
+
import * as cdktn from 'cdktn';
|
|
7
|
+
export interface TagConfig extends cdktn.TerraformMetaArguments {
|
|
8
|
+
/**
|
|
9
|
+
* Docs at Terraform Registry: {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/tag#label Tag#label}
|
|
10
|
+
*/
|
|
11
|
+
readonly label: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Represents a {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/tag pagerduty_tag}
|
|
15
|
+
*/
|
|
16
|
+
export declare class Tag extends cdktn.TerraformResource {
|
|
17
|
+
static readonly tfResourceType = "pagerduty_tag";
|
|
18
|
+
/**
|
|
19
|
+
* Generates CDKTN code for importing a Tag resource upon running "cdktn plan <stack-name>"
|
|
20
|
+
* @param scope The scope in which to define this construct
|
|
21
|
+
* @param importToId The construct id used in the generated config for the Tag to import
|
|
22
|
+
* @param importFromId The id of the existing Tag that should be imported. Refer to the {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/tag#import import section} in the documentation of this resource for the id to use
|
|
23
|
+
* @param provider? Optional instance of the provider where the Tag to import is found
|
|
24
|
+
*/
|
|
25
|
+
static generateConfigForImport(scope: Construct, importToId: string, importFromId: string, provider?: cdktn.TerraformProvider): cdktn.ImportableResource;
|
|
26
|
+
/**
|
|
27
|
+
* Create a new {@link https://registry.terraform.io/providers/pagerduty/pagerduty/3.31.0/docs/resources/tag pagerduty_tag} Resource
|
|
28
|
+
*
|
|
29
|
+
* @param scope The scope in which to define this construct
|
|
30
|
+
* @param id The scoped construct ID. Must be unique amongst siblings in the same scope
|
|
31
|
+
* @param options TagConfig
|
|
32
|
+
*/
|
|
33
|
+
constructor(scope: Construct, id: string, config: TagConfig);
|
|
34
|
+
get htmlUrl(): string;
|
|
35
|
+
get id(): string;
|
|
36
|
+
private _label?;
|
|
37
|
+
get label(): string;
|
|
38
|
+
set label(value: string);
|
|
39
|
+
get labelInput(): string | undefined;
|
|
40
|
+
get summary(): string;
|
|
41
|
+
protected synthesizeAttributes(): {
|
|
42
|
+
[name: string]: any;
|
|
43
|
+
};
|
|
44
|
+
protected synthesizeHclAttributes(): {
|
|
45
|
+
[name: string]: any;
|
|
46
|
+
};
|
|
47
|
+
}
|