@vendasta/conversation 0.61.0 → 0.63.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/{esm2020 → esm2022}/lib/_generated/host.service.mjs +4 -4
- package/esm2022/lib/_internal/conversation.api.service.mjs +231 -0
- package/esm2022/lib/_internal/email.api.service.mjs +37 -0
- package/{esm2020 → esm2022}/lib/_internal/enums/conversation.enum.mjs +2 -1
- package/esm2022/lib/_internal/inbox.api.service.mjs +52 -0
- package/{esm2020 → esm2022}/lib/_internal/index.mjs +2 -1
- package/esm2022/lib/_internal/interfaces/api.interface.mjs +2 -0
- package/esm2022/lib/_internal/interfaces/configuration.interface.mjs +2 -0
- package/esm2022/lib/_internal/interfaces/evaluation.interface.mjs +8 -0
- package/esm2022/lib/_internal/interfaces/index.mjs +2 -0
- package/esm2022/lib/_internal/objects/annotations.mjs +32 -0
- package/esm2022/lib/_internal/objects/api.mjs +2861 -0
- package/esm2022/lib/_internal/objects/common.mjs +64 -0
- package/esm2022/lib/_internal/objects/configuration.mjs +123 -0
- package/esm2022/lib/_internal/objects/conversation-view.mjs +35 -0
- package/esm2022/lib/_internal/objects/conversation.mjs +173 -0
- package/esm2022/lib/_internal/objects/evaluation.mjs +7 -0
- package/esm2022/lib/_internal/objects/field-mask.mjs +28 -0
- package/esm2022/lib/_internal/objects/index.mjs +18 -0
- package/esm2022/lib/_internal/objects/message-template.mjs +43 -0
- package/esm2022/lib/_internal/objects/message.mjs +169 -0
- package/esm2022/lib/_internal/objects/participant.mjs +224 -0
- package/esm2022/lib/_internal/objects/widget.mjs +107 -0
- package/{fesm2020 → fesm2022}/vendasta-conversation.mjs +536 -32
- package/fesm2022/vendasta-conversation.mjs.map +1 -0
- package/lib/_internal/conversation.api.service.d.ts +6 -7
- package/lib/_internal/email.api.service.d.ts +13 -0
- package/lib/_internal/enums/conversation.enum.d.ts +2 -1
- package/lib/_internal/inbox.api.service.d.ts +2 -5
- package/lib/_internal/index.d.ts +1 -0
- package/lib/_internal/interfaces/api.interface.d.ts +25 -3
- package/lib/_internal/interfaces/configuration.interface.d.ts +2 -0
- package/lib/_internal/interfaces/evaluation.interface.d.ts +1 -0
- package/lib/_internal/interfaces/index.d.ts +2 -1
- package/lib/_internal/objects/api.d.ts +44 -7
- package/lib/_internal/objects/configuration.d.ts +2 -0
- package/lib/_internal/objects/evaluation.d.ts +1 -0
- package/lib/_internal/objects/index.d.ts +2 -1
- package/package.json +7 -13
- package/esm2020/lib/_internal/conversation.api.service.mjs +0 -230
- package/esm2020/lib/_internal/inbox.api.service.mjs +0 -56
- package/esm2020/lib/_internal/interfaces/api.interface.mjs +0 -2
- package/esm2020/lib/_internal/interfaces/configuration.interface.mjs +0 -2
- package/esm2020/lib/_internal/interfaces/index.mjs +0 -2
- package/esm2020/lib/_internal/objects/annotations.mjs +0 -30
- package/esm2020/lib/_internal/objects/api.mjs +0 -2512
- package/esm2020/lib/_internal/objects/common.mjs +0 -60
- package/esm2020/lib/_internal/objects/configuration.mjs +0 -99
- package/esm2020/lib/_internal/objects/conversation-view.mjs +0 -33
- package/esm2020/lib/_internal/objects/conversation.mjs +0 -153
- package/esm2020/lib/_internal/objects/field-mask.mjs +0 -27
- package/esm2020/lib/_internal/objects/index.mjs +0 -18
- package/esm2020/lib/_internal/objects/message-template.mjs +0 -39
- package/esm2020/lib/_internal/objects/message.mjs +0 -149
- package/esm2020/lib/_internal/objects/participant.mjs +0 -192
- package/esm2020/lib/_internal/objects/widget.mjs +0 -93
- package/fesm2015/vendasta-conversation.mjs +0 -3852
- package/fesm2015/vendasta-conversation.mjs.map +0 -1
- package/fesm2020/vendasta-conversation.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/_internal/enums/api.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/common.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/conversation-view.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/evaluation.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/message.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/participant.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/enums/widget.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/annotations.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/common.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/conversation-view.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/conversation.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/field-mask.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/message-template.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/message.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/participant.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/_internal/interfaces/widget.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/index.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/vendasta-conversation.mjs +0 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import * as e from '../enums';
|
|
2
|
+
export function enumStringToValue(enumRef, value) {
|
|
3
|
+
if (typeof value === 'number') {
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
return enumRef[value];
|
|
7
|
+
}
|
|
8
|
+
export class Message {
|
|
9
|
+
messageId;
|
|
10
|
+
externalMessageId;
|
|
11
|
+
conversationId;
|
|
12
|
+
participantId;
|
|
13
|
+
type;
|
|
14
|
+
body;
|
|
15
|
+
error;
|
|
16
|
+
created;
|
|
17
|
+
updated;
|
|
18
|
+
deleted;
|
|
19
|
+
media;
|
|
20
|
+
sendStatus;
|
|
21
|
+
channel;
|
|
22
|
+
static fromProto(proto) {
|
|
23
|
+
let m = new Message();
|
|
24
|
+
m = Object.assign(m, proto);
|
|
25
|
+
if (proto.type) {
|
|
26
|
+
m.type = enumStringToValue(e.MessageType, proto.type);
|
|
27
|
+
}
|
|
28
|
+
if (proto.created) {
|
|
29
|
+
m.created = new Date(proto.created);
|
|
30
|
+
}
|
|
31
|
+
if (proto.updated) {
|
|
32
|
+
m.updated = new Date(proto.updated);
|
|
33
|
+
}
|
|
34
|
+
if (proto.deleted) {
|
|
35
|
+
m.deleted = new Date(proto.deleted);
|
|
36
|
+
}
|
|
37
|
+
if (proto.sendStatus) {
|
|
38
|
+
m.sendStatus = SendStatus.fromProto(proto.sendStatus);
|
|
39
|
+
}
|
|
40
|
+
if (proto.channel) {
|
|
41
|
+
m.channel = enumStringToValue(e.ConversationChannel, proto.channel);
|
|
42
|
+
}
|
|
43
|
+
return m;
|
|
44
|
+
}
|
|
45
|
+
constructor(kwargs) {
|
|
46
|
+
if (!kwargs) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
Object.assign(this, kwargs);
|
|
50
|
+
}
|
|
51
|
+
toApiJson() {
|
|
52
|
+
const toReturn = {};
|
|
53
|
+
if (typeof this.messageId !== 'undefined') {
|
|
54
|
+
toReturn['messageId'] = this.messageId;
|
|
55
|
+
}
|
|
56
|
+
if (typeof this.externalMessageId !== 'undefined') {
|
|
57
|
+
toReturn['externalMessageId'] = this.externalMessageId;
|
|
58
|
+
}
|
|
59
|
+
if (typeof this.conversationId !== 'undefined') {
|
|
60
|
+
toReturn['conversationId'] = this.conversationId;
|
|
61
|
+
}
|
|
62
|
+
if (typeof this.participantId !== 'undefined') {
|
|
63
|
+
toReturn['participantId'] = this.participantId;
|
|
64
|
+
}
|
|
65
|
+
if (typeof this.type !== 'undefined') {
|
|
66
|
+
toReturn['type'] = this.type;
|
|
67
|
+
}
|
|
68
|
+
if (typeof this.body !== 'undefined') {
|
|
69
|
+
toReturn['body'] = this.body;
|
|
70
|
+
}
|
|
71
|
+
if (typeof this.error !== 'undefined') {
|
|
72
|
+
toReturn['error'] = this.error;
|
|
73
|
+
}
|
|
74
|
+
if (typeof this.created !== 'undefined' && this.created !== null) {
|
|
75
|
+
toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;
|
|
76
|
+
}
|
|
77
|
+
if (typeof this.updated !== 'undefined' && this.updated !== null) {
|
|
78
|
+
toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;
|
|
79
|
+
}
|
|
80
|
+
if (typeof this.deleted !== 'undefined' && this.deleted !== null) {
|
|
81
|
+
toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;
|
|
82
|
+
}
|
|
83
|
+
if (typeof this.media !== 'undefined') {
|
|
84
|
+
toReturn['media'] = this.media;
|
|
85
|
+
}
|
|
86
|
+
if (typeof this.sendStatus !== 'undefined' && this.sendStatus !== null) {
|
|
87
|
+
toReturn['sendStatus'] = 'toApiJson' in this.sendStatus ? this.sendStatus.toApiJson() : this.sendStatus;
|
|
88
|
+
}
|
|
89
|
+
if (typeof this.channel !== 'undefined') {
|
|
90
|
+
toReturn['channel'] = this.channel;
|
|
91
|
+
}
|
|
92
|
+
return toReturn;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
export class ParticipantMessageStatus {
|
|
96
|
+
participantId;
|
|
97
|
+
messageId;
|
|
98
|
+
status;
|
|
99
|
+
updated;
|
|
100
|
+
static fromProto(proto) {
|
|
101
|
+
let m = new ParticipantMessageStatus();
|
|
102
|
+
m = Object.assign(m, proto);
|
|
103
|
+
if (proto.status) {
|
|
104
|
+
m.status = enumStringToValue(e.MessageStatus, proto.status);
|
|
105
|
+
}
|
|
106
|
+
if (proto.updated) {
|
|
107
|
+
m.updated = new Date(proto.updated);
|
|
108
|
+
}
|
|
109
|
+
return m;
|
|
110
|
+
}
|
|
111
|
+
constructor(kwargs) {
|
|
112
|
+
if (!kwargs) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
Object.assign(this, kwargs);
|
|
116
|
+
}
|
|
117
|
+
toApiJson() {
|
|
118
|
+
const toReturn = {};
|
|
119
|
+
if (typeof this.participantId !== 'undefined') {
|
|
120
|
+
toReturn['participantId'] = this.participantId;
|
|
121
|
+
}
|
|
122
|
+
if (typeof this.messageId !== 'undefined') {
|
|
123
|
+
toReturn['messageId'] = this.messageId;
|
|
124
|
+
}
|
|
125
|
+
if (typeof this.status !== 'undefined') {
|
|
126
|
+
toReturn['status'] = this.status;
|
|
127
|
+
}
|
|
128
|
+
if (typeof this.updated !== 'undefined' && this.updated !== null) {
|
|
129
|
+
toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;
|
|
130
|
+
}
|
|
131
|
+
return toReturn;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
export class SendStatus {
|
|
135
|
+
status;
|
|
136
|
+
reason;
|
|
137
|
+
created;
|
|
138
|
+
static fromProto(proto) {
|
|
139
|
+
let m = new SendStatus();
|
|
140
|
+
m = Object.assign(m, proto);
|
|
141
|
+
if (proto.status) {
|
|
142
|
+
m.status = enumStringToValue(e.MessageStatus, proto.status);
|
|
143
|
+
}
|
|
144
|
+
if (proto.created) {
|
|
145
|
+
m.created = new Date(proto.created);
|
|
146
|
+
}
|
|
147
|
+
return m;
|
|
148
|
+
}
|
|
149
|
+
constructor(kwargs) {
|
|
150
|
+
if (!kwargs) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
Object.assign(this, kwargs);
|
|
154
|
+
}
|
|
155
|
+
toApiJson() {
|
|
156
|
+
const toReturn = {};
|
|
157
|
+
if (typeof this.status !== 'undefined') {
|
|
158
|
+
toReturn['status'] = this.status;
|
|
159
|
+
}
|
|
160
|
+
if (typeof this.reason !== 'undefined') {
|
|
161
|
+
toReturn['reason'] = this.reason;
|
|
162
|
+
}
|
|
163
|
+
if (typeof this.created !== 'undefined' && this.created !== null) {
|
|
164
|
+
toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;
|
|
165
|
+
}
|
|
166
|
+
return toReturn;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2NvbnZlcnNhdGlvbl9zZGsvc3JjL2xpYi9faW50ZXJuYWwvb2JqZWN0cy9tZXNzYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE9BQU8sS0FBSyxDQUFDLE1BQU0sVUFBVSxDQUFDO0FBRTlCLE1BQU0sVUFBVSxpQkFBaUIsQ0FBSSxPQUFZLEVBQUUsS0FBYTtJQUM5RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sT0FBTztJQUNoQixTQUFTLENBQVM7SUFDbEIsaUJBQWlCLENBQVM7SUFDMUIsY0FBYyxDQUFTO0lBQ3ZCLGFBQWEsQ0FBUztJQUN0QixJQUFJLENBQWdCO0lBQ3BCLElBQUksQ0FBUztJQUNiLEtBQUssQ0FBUztJQUNkLE9BQU8sQ0FBTztJQUNkLE9BQU8sQ0FBTztJQUNkLE9BQU8sQ0FBTztJQUNkLEtBQUssQ0FBVztJQUNoQixVQUFVLENBQWE7SUFDdkIsT0FBTyxDQUF3QjtJQUUvQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFnQixDQUFDLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUFBLENBQUM7UUFDdkYsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7WUFBQSxDQUFDLENBQUMsT0FBTyxH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QU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUFBLENBQUM7UUFDM0UsSUFBSSxPQUFPLElBQUksQ0FBQyxNQUFNLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUFBLENBQUM7UUFDM0UsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFBQSxDQUFDO1FBQ3pLLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgTWVzc2FnZSBpbXBsZW1lbnRzIGkuTWVzc2FnZUludGVyZmFjZSB7XG4gICAgbWVzc2FnZUlkOiBzdHJpbmc7XG4gICAgZXh0ZXJuYWxNZXNzYWdlSWQ6IHN0cmluZztcbiAgICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHBhcnRpY2lwYW50SWQ6IHN0cmluZztcbiAgICB0eXBlOiBlLk1lc3NhZ2VUeXBlO1xuICAgIGJvZHk6IHN0cmluZztcbiAgICBlcnJvcjogc3RyaW5nO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG4gICAgdXBkYXRlZDogRGF0ZTtcbiAgICBkZWxldGVkOiBEYXRlO1xuICAgIG1lZGlhOiBzdHJpbmdbXTtcbiAgICBzZW5kU3RhdHVzOiBTZW5kU3RhdHVzO1xuICAgIGNoYW5uZWw6IGUuQ29udmVyc2F0aW9uQ2hhbm5lbDtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE1lc3NhZ2Uge1xuICAgICAgICBsZXQgbSA9IG5ldyBNZXNzYWdlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLk1lc3NhZ2VUeXBlPihlLk1lc3NhZ2VUeXBlLCBwcm90by50eXBlKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLmRlbGV0ZWQpIHttLmRlbGV0ZWQgPSBuZXcgRGF0ZShwcm90by5kZWxldGVkKTt9XG4gICAgICAgIGlmIChwcm90by5zZW5kU3RhdHVzKSB7bS5zZW5kU3RhdHVzID0gU2VuZFN0YXR1cy5mcm9tUHJvdG8ocHJvdG8uc2VuZFN0YXR1cyk7fVxuICAgICAgICBpZiAocHJvdG8uY2hhbm5lbCkge20uY2hhbm5lbCA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuQ29udmVyc2F0aW9uQ2hhbm5lbD4oZS5Db252ZXJzYXRpb25DaGFubmVsLCBwcm90by5jaGFubmVsKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuTWVzc2FnZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lc3NhZ2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVzc2FnZUlkJ10gPSB0aGlzLm1lc3NhZ2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5leHRlcm5hbE1lc3NhZ2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZXh0ZXJuYWxNZXNzYWdlSWQnXSA9IHRoaXMuZXh0ZXJuYWxNZXNzYWdlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udmVyc2F0aW9uSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbnZlcnNhdGlvbklkJ10gPSB0aGlzLmNvbnZlcnNhdGlvbklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRpY2lwYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRpY2lwYW50SWQnXSA9IHRoaXMucGFydGljaXBhbnRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYm9keSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYm9keSddID0gdGhpcy5ib2R5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlcnJvciddID0gdGhpcy5lcnJvcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVsZXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5kZWxldGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2RlbGV0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZGVsZXRlZCA/ICh0aGlzLmRlbGV0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZGVsZXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWRpYSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVkaWEnXSA9IHRoaXMubWVkaWE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2VuZFN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5zZW5kU3RhdHVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3NlbmRTdGF0dXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuc2VuZFN0YXR1cyA/ICh0aGlzLnNlbmRTdGF0dXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuc2VuZFN0YXR1czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jaGFubmVsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjaGFubmVsJ10gPSB0aGlzLmNoYW5uZWw7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFydGljaXBhbnRNZXNzYWdlU3RhdHVzIGltcGxlbWVudHMgaS5QYXJ0aWNpcGFudE1lc3NhZ2VTdGF0dXNJbnRlcmZhY2Uge1xuICAgIHBhcnRpY2lwYW50SWQ6IHN0cmluZztcbiAgICBtZXNzYWdlSWQ6IHN0cmluZztcbiAgICBzdGF0dXM6IGUuTWVzc2FnZVN0YXR1cztcbiAgICB1cGRhdGVkOiBEYXRlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFydGljaXBhbnRNZXNzYWdlU3RhdHVzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgUGFydGljaXBhbnRNZXNzYWdlU3RhdHVzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnN0YXR1cykge20uc3RhdHVzID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5NZXNzYWdlU3RhdHVzPihlLk1lc3NhZ2VTdGF0dXMsIHByb3RvLnN0YXR1cyk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5QYXJ0aWNpcGFudE1lc3NhZ2VTdGF0dXNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0aWNpcGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0aWNpcGFudElkJ10gPSB0aGlzLnBhcnRpY2lwYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVzc2FnZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZXNzYWdlSWQnXSA9IHRoaXMubWVzc2FnZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhdHVzJ10gPSB0aGlzLnN0YXR1czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNlbmRTdGF0dXMgaW1wbGVtZW50cyBpLlNlbmRTdGF0dXNJbnRlcmZhY2Uge1xuICAgIHN0YXR1czogZS5NZXNzYWdlU3RhdHVzO1xuICAgIHJlYXNvbjogc3RyaW5nO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTZW5kU3RhdHVzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2VuZFN0YXR1cygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5zdGF0dXMpIHttLnN0YXR1cyA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuTWVzc2FnZVN0YXR1cz4oZS5NZXNzYWdlU3RhdHVzLCBwcm90by5zdGF0dXMpO31cbiAgICAgICAgaWYgKHByb3RvLmNyZWF0ZWQpIHttLmNyZWF0ZWQgPSBuZXcgRGF0ZShwcm90by5jcmVhdGVkKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuU2VuZFN0YXR1c0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhdHVzJ10gPSB0aGlzLnN0YXR1czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWFzb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlYXNvbiddID0gdGhpcy5yZWFzb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlYXRlZCA/ICh0aGlzLmNyZWF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlYXRlZDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
|
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
import { NamespaceDetail } from './common';
|
|
2
|
+
import * as e from '../enums';
|
|
3
|
+
export function enumStringToValue(enumRef, value) {
|
|
4
|
+
if (typeof value === 'number') {
|
|
5
|
+
return value;
|
|
6
|
+
}
|
|
7
|
+
return enumRef[value];
|
|
8
|
+
}
|
|
9
|
+
export class Address {
|
|
10
|
+
firstLineAddress;
|
|
11
|
+
secondLineAddress;
|
|
12
|
+
city;
|
|
13
|
+
state;
|
|
14
|
+
country;
|
|
15
|
+
zipCode;
|
|
16
|
+
static fromProto(proto) {
|
|
17
|
+
let m = new Address();
|
|
18
|
+
m = Object.assign(m, proto);
|
|
19
|
+
return m;
|
|
20
|
+
}
|
|
21
|
+
constructor(kwargs) {
|
|
22
|
+
if (!kwargs) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
Object.assign(this, kwargs);
|
|
26
|
+
}
|
|
27
|
+
toApiJson() {
|
|
28
|
+
const toReturn = {};
|
|
29
|
+
if (typeof this.firstLineAddress !== 'undefined') {
|
|
30
|
+
toReturn['firstLineAddress'] = this.firstLineAddress;
|
|
31
|
+
}
|
|
32
|
+
if (typeof this.secondLineAddress !== 'undefined') {
|
|
33
|
+
toReturn['secondLineAddress'] = this.secondLineAddress;
|
|
34
|
+
}
|
|
35
|
+
if (typeof this.city !== 'undefined') {
|
|
36
|
+
toReturn['city'] = this.city;
|
|
37
|
+
}
|
|
38
|
+
if (typeof this.state !== 'undefined') {
|
|
39
|
+
toReturn['state'] = this.state;
|
|
40
|
+
}
|
|
41
|
+
if (typeof this.country !== 'undefined') {
|
|
42
|
+
toReturn['country'] = this.country;
|
|
43
|
+
}
|
|
44
|
+
if (typeof this.zipCode !== 'undefined') {
|
|
45
|
+
toReturn['zipCode'] = this.zipCode;
|
|
46
|
+
}
|
|
47
|
+
return toReturn;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export class Participant {
|
|
51
|
+
participantId;
|
|
52
|
+
internalParticipantId;
|
|
53
|
+
partnerId;
|
|
54
|
+
accountGroupId;
|
|
55
|
+
location;
|
|
56
|
+
channel;
|
|
57
|
+
externalParticipantId;
|
|
58
|
+
name;
|
|
59
|
+
created;
|
|
60
|
+
updated;
|
|
61
|
+
deleted;
|
|
62
|
+
participantType;
|
|
63
|
+
email;
|
|
64
|
+
phoneNumber;
|
|
65
|
+
address;
|
|
66
|
+
isSubjectParticipant;
|
|
67
|
+
isParticipantInternalInfoDeleted;
|
|
68
|
+
profileImageUrl;
|
|
69
|
+
namespaceHierarchy;
|
|
70
|
+
static fromProto(proto) {
|
|
71
|
+
let m = new Participant();
|
|
72
|
+
m = Object.assign(m, proto);
|
|
73
|
+
if (proto.location) {
|
|
74
|
+
m.location = enumStringToValue(e.PlatformLocation, proto.location);
|
|
75
|
+
}
|
|
76
|
+
if (proto.channel) {
|
|
77
|
+
m.channel = enumStringToValue(e.ConversationChannel, proto.channel);
|
|
78
|
+
}
|
|
79
|
+
if (proto.created) {
|
|
80
|
+
m.created = new Date(proto.created);
|
|
81
|
+
}
|
|
82
|
+
if (proto.updated) {
|
|
83
|
+
m.updated = new Date(proto.updated);
|
|
84
|
+
}
|
|
85
|
+
if (proto.deleted) {
|
|
86
|
+
m.deleted = new Date(proto.deleted);
|
|
87
|
+
}
|
|
88
|
+
if (proto.participantType) {
|
|
89
|
+
m.participantType = enumStringToValue(e.ParticipantType, proto.participantType);
|
|
90
|
+
}
|
|
91
|
+
if (proto.address) {
|
|
92
|
+
m.address = Address.fromProto(proto.address);
|
|
93
|
+
}
|
|
94
|
+
if (proto.namespaceHierarchy) {
|
|
95
|
+
m.namespaceHierarchy = proto.namespaceHierarchy.map(NamespaceDetail.fromProto);
|
|
96
|
+
}
|
|
97
|
+
return m;
|
|
98
|
+
}
|
|
99
|
+
constructor(kwargs) {
|
|
100
|
+
if (!kwargs) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
Object.assign(this, kwargs);
|
|
104
|
+
}
|
|
105
|
+
toApiJson() {
|
|
106
|
+
const toReturn = {};
|
|
107
|
+
if (typeof this.participantId !== 'undefined') {
|
|
108
|
+
toReturn['participantId'] = this.participantId;
|
|
109
|
+
}
|
|
110
|
+
if (typeof this.internalParticipantId !== 'undefined') {
|
|
111
|
+
toReturn['internalParticipantId'] = this.internalParticipantId;
|
|
112
|
+
}
|
|
113
|
+
if (typeof this.partnerId !== 'undefined') {
|
|
114
|
+
toReturn['partnerId'] = this.partnerId;
|
|
115
|
+
}
|
|
116
|
+
if (typeof this.accountGroupId !== 'undefined') {
|
|
117
|
+
toReturn['accountGroupId'] = this.accountGroupId;
|
|
118
|
+
}
|
|
119
|
+
if (typeof this.location !== 'undefined') {
|
|
120
|
+
toReturn['location'] = this.location;
|
|
121
|
+
}
|
|
122
|
+
if (typeof this.channel !== 'undefined') {
|
|
123
|
+
toReturn['channel'] = this.channel;
|
|
124
|
+
}
|
|
125
|
+
if (typeof this.externalParticipantId !== 'undefined') {
|
|
126
|
+
toReturn['externalParticipantId'] = this.externalParticipantId;
|
|
127
|
+
}
|
|
128
|
+
if (typeof this.name !== 'undefined') {
|
|
129
|
+
toReturn['name'] = this.name;
|
|
130
|
+
}
|
|
131
|
+
if (typeof this.created !== 'undefined' && this.created !== null) {
|
|
132
|
+
toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;
|
|
133
|
+
}
|
|
134
|
+
if (typeof this.updated !== 'undefined' && this.updated !== null) {
|
|
135
|
+
toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;
|
|
136
|
+
}
|
|
137
|
+
if (typeof this.deleted !== 'undefined' && this.deleted !== null) {
|
|
138
|
+
toReturn['deleted'] = 'toApiJson' in this.deleted ? this.deleted.toApiJson() : this.deleted;
|
|
139
|
+
}
|
|
140
|
+
if (typeof this.participantType !== 'undefined') {
|
|
141
|
+
toReturn['participantType'] = this.participantType;
|
|
142
|
+
}
|
|
143
|
+
if (typeof this.email !== 'undefined') {
|
|
144
|
+
toReturn['email'] = this.email;
|
|
145
|
+
}
|
|
146
|
+
if (typeof this.phoneNumber !== 'undefined') {
|
|
147
|
+
toReturn['phoneNumber'] = this.phoneNumber;
|
|
148
|
+
}
|
|
149
|
+
if (typeof this.address !== 'undefined' && this.address !== null) {
|
|
150
|
+
toReturn['address'] = 'toApiJson' in this.address ? this.address.toApiJson() : this.address;
|
|
151
|
+
}
|
|
152
|
+
if (typeof this.isSubjectParticipant !== 'undefined') {
|
|
153
|
+
toReturn['isSubjectParticipant'] = this.isSubjectParticipant;
|
|
154
|
+
}
|
|
155
|
+
if (typeof this.isParticipantInternalInfoDeleted !== 'undefined') {
|
|
156
|
+
toReturn['isParticipantInternalInfoDeleted'] = this.isParticipantInternalInfoDeleted;
|
|
157
|
+
}
|
|
158
|
+
if (typeof this.profileImageUrl !== 'undefined') {
|
|
159
|
+
toReturn['profileImageUrl'] = this.profileImageUrl;
|
|
160
|
+
}
|
|
161
|
+
if (typeof this.namespaceHierarchy !== 'undefined' && this.namespaceHierarchy !== null) {
|
|
162
|
+
toReturn['namespaceHierarchy'] = 'toApiJson' in this.namespaceHierarchy ? this.namespaceHierarchy.toApiJson() : this.namespaceHierarchy;
|
|
163
|
+
}
|
|
164
|
+
return toReturn;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
export class ParticipantKey {
|
|
168
|
+
internalParticipantId;
|
|
169
|
+
partnerId;
|
|
170
|
+
accountGroupId;
|
|
171
|
+
location;
|
|
172
|
+
channels;
|
|
173
|
+
participantType;
|
|
174
|
+
namespaceHierarchy;
|
|
175
|
+
static fromProto(proto) {
|
|
176
|
+
let m = new ParticipantKey();
|
|
177
|
+
m = Object.assign(m, proto);
|
|
178
|
+
if (proto.location) {
|
|
179
|
+
m.location = enumStringToValue(e.PlatformLocation, proto.location);
|
|
180
|
+
}
|
|
181
|
+
if (proto.channels) {
|
|
182
|
+
m.channels = proto.channels.map((v) => enumStringToValue(e.ConversationChannel, v));
|
|
183
|
+
}
|
|
184
|
+
if (proto.participantType) {
|
|
185
|
+
m.participantType = enumStringToValue(e.GlobalParticipantType, proto.participantType);
|
|
186
|
+
}
|
|
187
|
+
if (proto.namespaceHierarchy) {
|
|
188
|
+
m.namespaceHierarchy = proto.namespaceHierarchy.map(NamespaceDetail.fromProto);
|
|
189
|
+
}
|
|
190
|
+
return m;
|
|
191
|
+
}
|
|
192
|
+
constructor(kwargs) {
|
|
193
|
+
if (!kwargs) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
Object.assign(this, kwargs);
|
|
197
|
+
}
|
|
198
|
+
toApiJson() {
|
|
199
|
+
const toReturn = {};
|
|
200
|
+
if (typeof this.internalParticipantId !== 'undefined') {
|
|
201
|
+
toReturn['internalParticipantId'] = this.internalParticipantId;
|
|
202
|
+
}
|
|
203
|
+
if (typeof this.partnerId !== 'undefined') {
|
|
204
|
+
toReturn['partnerId'] = this.partnerId;
|
|
205
|
+
}
|
|
206
|
+
if (typeof this.accountGroupId !== 'undefined') {
|
|
207
|
+
toReturn['accountGroupId'] = this.accountGroupId;
|
|
208
|
+
}
|
|
209
|
+
if (typeof this.location !== 'undefined') {
|
|
210
|
+
toReturn['location'] = this.location;
|
|
211
|
+
}
|
|
212
|
+
if (typeof this.channels !== 'undefined') {
|
|
213
|
+
toReturn['channels'] = this.channels;
|
|
214
|
+
}
|
|
215
|
+
if (typeof this.participantType !== 'undefined') {
|
|
216
|
+
toReturn['participantType'] = this.participantType;
|
|
217
|
+
}
|
|
218
|
+
if (typeof this.namespaceHierarchy !== 'undefined' && this.namespaceHierarchy !== null) {
|
|
219
|
+
toReturn['namespaceHierarchy'] = 'toApiJson' in this.namespaceHierarchy ? this.namespaceHierarchy.toApiJson() : this.namespaceHierarchy;
|
|
220
|
+
}
|
|
221
|
+
return toReturn;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFydGljaXBhbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9jb252ZXJzYXRpb25fc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvcGFydGljaXBhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUMzQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLE9BQU87SUFDaEIsZ0JBQWdCLENBQVM7SUFDekIsaUJBQWlCLENBQVM7SUFDMUIsSUFBSSxDQUFTO0lBQ2IsS0FBSyxDQUFTO0lBQ2QsT0FBTyxDQUFTO0lBQ2hCLE9BQU8sQ0FBUztJQUVoQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUEyQjtRQUNuQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDVixPQUFPO1FBQ1gsQ0FBQztRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsS0FBSyxXQUFXLEVBQUUs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Q0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFBQSxDQUFDO1FBQ3BGLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQUEsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUFBLENBQUM7UUFDbkcsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUFBLENBQUM7UUFDakYsSUFBSSxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUFBLENBQUM7UUFDakYsSUFBSSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQUEsQ0FBQztRQUN0RyxJQUFJLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEtBQUssSUFBSSxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsb0JBQW9CLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBRSxJQUFJLENBQUMsa0JBQTBCLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUFBLENBQUM7UUFDM08sT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgTmFtZXNwYWNlRGV0YWlsIH0gZnJvbSAnLi9jb21tb24nO1xuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQWRkcmVzcyBpbXBsZW1lbnRzIGkuQWRkcmVzc0ludGVyZmFjZSB7XG4gICAgZmlyc3RMaW5lQWRkcmVzczogc3RyaW5nO1xuICAgIHNlY29uZExpbmVBZGRyZXNzOiBzdHJpbmc7XG4gICAgY2l0eTogc3RyaW5nO1xuICAgIHN0YXRlOiBzdHJpbmc7XG4gICAgY291bnRyeTogc3RyaW5nO1xuICAgIHppcENvZGU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEFkZHJlc3Mge1xuICAgICAgICBsZXQgbSA9IG5ldyBBZGRyZXNzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BZGRyZXNzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmlyc3RMaW5lQWRkcmVzcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmlyc3RMaW5lQWRkcmVzcyddID0gdGhpcy5maXJzdExpbmVBZGRyZXNzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNlY29uZExpbmVBZGRyZXNzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzZWNvbmRMaW5lQWRkcmVzcyddID0gdGhpcy5zZWNvbmRMaW5lQWRkcmVzczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jaXR5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjaXR5J10gPSB0aGlzLmNpdHk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhdGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXRlJ10gPSB0aGlzLnN0YXRlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvdW50cnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvdW50cnknXSA9IHRoaXMuY291bnRyeTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy56aXBDb2RlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd6aXBDb2RlJ10gPSB0aGlzLnppcENvZGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUGFydGljaXBhbnQgaW1wbGVtZW50cyBpLlBhcnRpY2lwYW50SW50ZXJmYWNlIHtcbiAgICBwYXJ0aWNpcGFudElkOiBzdHJpbmc7XG4gICAgaW50ZXJuYWxQYXJ0aWNpcGFudElkOiBzdHJpbmc7XG4gICAgcGFydG5lcklkOiBzdHJpbmc7XG4gICAgYWNjb3VudEdyb3VwSWQ6IHN0cmluZztcbiAgICBsb2NhdGlvbjogZS5QbGF0Zm9ybUxvY2F0aW9uO1xuICAgIGNoYW5uZWw6IGUuQ29udmVyc2F0aW9uQ2hhbm5lbDtcbiAgICBleHRlcm5hbFBhcnRpY2lwYW50SWQ6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIGRlbGV0ZWQ6IERhdGU7XG4gICAgcGFydGljaXBhbnRUeXBlOiBlLlBhcnRpY2lwYW50VHlwZTtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBob25lTnVtYmVyOiBzdHJpbmc7XG4gICAgYWRkcmVzczogQWRkcmVzcztcbiAgICBpc1N1YmplY3RQYXJ0aWNpcGFudDogYm9vbGVhbjtcbiAgICBpc1BhcnRpY2lwYW50SW50ZXJuYWxJbmZvRGVsZXRlZDogYm9vbGVhbjtcbiAgICBwcm9maWxlSW1hZ2VVcmw6IHN0cmluZztcbiAgICBuYW1lc3BhY2VIaWVyYXJjaHk6IE5hbWVzcGFjZURldGFpbFtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFydGljaXBhbnQge1xuICAgICAgICBsZXQgbSA9IG5ldyBQYXJ0aWNpcGFudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5sb2NhdGlvbikge20ubG9jYXRpb24gPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlBsYXRmb3JtTG9jYXRpb24+KGUuUGxhdGZvcm1Mb2NhdGlvbiwgcHJvdG8ubG9jYXRpb24pO31cbiAgICAgICAgaWYgKHByb3RvLmNoYW5uZWwpIHttLmNoYW5uZWwgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkNvbnZlcnNhdGlvbkNoYW5uZWw+KGUuQ29udmVyc2F0aW9uQ2hhbm5lbCwgcHJvdG8uY2hhbm5lbCk7fVxuICAgICAgICBpZiAocHJvdG8uY3JlYXRlZCkge20uY3JlYXRlZCA9IG5ldyBEYXRlKHByb3RvLmNyZWF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnVwZGF0ZWQpIHttLnVwZGF0ZWQgPSBuZXcgRGF0ZShwcm90by51cGRhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5kZWxldGVkKSB7bS5kZWxldGVkID0gbmV3IERhdGUocHJvdG8uZGVsZXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8ucGFydGljaXBhbnRUeXBlKSB7bS5wYXJ0aWNpcGFudFR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlBhcnRpY2lwYW50VHlwZT4oZS5QYXJ0aWNpcGFudFR5cGUsIHByb3RvLnBhcnRpY2lwYW50VHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8uYWRkcmVzcykge20uYWRkcmVzcyA9IEFkZHJlc3MuZnJvbVByb3RvKHByb3RvLmFkZHJlc3MpO31cbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZUhpZXJhcmNoeSkge20ubmFtZXNwYWNlSGllcmFyY2h5ID0gcHJvdG8ubmFtZXNwYWNlSGllcmFyY2h5Lm1hcChOYW1lc3BhY2VEZXRhaWwuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUGFydGljaXBhbnRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXJ0aWNpcGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0aWNpcGFudElkJ10gPSB0aGlzLnBhcnRpY2lwYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW50ZXJuYWxQYXJ0aWNpcGFudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbnRlcm5hbFBhcnRpY2lwYW50SWQnXSA9IHRoaXMuaW50ZXJuYWxQYXJ0aWNpcGFudElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRuZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydG5lcklkJ10gPSB0aGlzLnBhcnRuZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hY2NvdW50R3JvdXBJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWNjb3VudEdyb3VwSWQnXSA9IHRoaXMuYWNjb3VudEdyb3VwSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubG9jYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xvY2F0aW9uJ10gPSB0aGlzLmxvY2F0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNoYW5uZWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NoYW5uZWwnXSA9IHRoaXMuY2hhbm5lbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5leHRlcm5hbFBhcnRpY2lwYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2V4dGVybmFsUGFydGljaXBhbnRJZCddID0gdGhpcy5leHRlcm5hbFBhcnRpY2lwYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNyZWF0ZWQgPyAodGhpcy5jcmVhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXBkYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy51cGRhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ3VwZGF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudXBkYXRlZCA/ICh0aGlzLnVwZGF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudXBkYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZWxldGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmRlbGV0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnZGVsZXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5kZWxldGVkID8gKHRoaXMuZGVsZXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5kZWxldGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRpY2lwYW50VHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydGljaXBhbnRUeXBlJ10gPSB0aGlzLnBhcnRpY2lwYW50VHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbWFpbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZW1haWwnXSA9IHRoaXMuZW1haWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGhvbmVOdW1iZXIgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bob25lTnVtYmVyJ10gPSB0aGlzLnBob25lTnVtYmVyO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFkZHJlc3MgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYWRkcmVzcyAhPT0gbnVsbCkge3RvUmV0dXJuWydhZGRyZXNzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmFkZHJlc3MgPyAodGhpcy5hZGRyZXNzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmFkZHJlc3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNTdWJqZWN0UGFydGljaXBhbnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lzU3ViamVjdFBhcnRpY2lwYW50J10gPSB0aGlzLmlzU3ViamVjdFBhcnRpY2lwYW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzUGFydGljaXBhbnRJbnRlcm5hbEluZm9EZWxldGVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc1BhcnRpY2lwYW50SW50ZXJuYWxJbmZvRGVsZXRlZCddID0gdGhpcy5pc1BhcnRpY2lwYW50SW50ZXJuYWxJbmZvRGVsZXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9maWxlSW1hZ2VVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Byb2ZpbGVJbWFnZVVybCddID0gdGhpcy5wcm9maWxlSW1hZ2VVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZXNwYWNlSGllcmFyY2h5ICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm5hbWVzcGFjZUhpZXJhcmNoeSAhPT0gbnVsbCkge3RvUmV0dXJuWyduYW1lc3BhY2VIaWVyYXJjaHknXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubmFtZXNwYWNlSGllcmFyY2h5ID8gKHRoaXMubmFtZXNwYWNlSGllcmFyY2h5IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm5hbWVzcGFjZUhpZXJhcmNoeTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQYXJ0aWNpcGFudEtleSBpbXBsZW1lbnRzIGkuUGFydGljaXBhbnRLZXlJbnRlcmZhY2Uge1xuICAgIGludGVybmFsUGFydGljaXBhbnRJZDogc3RyaW5nO1xuICAgIHBhcnRuZXJJZDogc3RyaW5nO1xuICAgIGFjY291bnRHcm91cElkOiBzdHJpbmc7XG4gICAgbG9jYXRpb246IGUuUGxhdGZvcm1Mb2NhdGlvbjtcbiAgICBjaGFubmVsczogZS5Db252ZXJzYXRpb25DaGFubmVsW107XG4gICAgcGFydGljaXBhbnRUeXBlOiBlLkdsb2JhbFBhcnRpY2lwYW50VHlwZTtcbiAgICBuYW1lc3BhY2VIaWVyYXJjaHk6IE5hbWVzcGFjZURldGFpbFtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogUGFydGljaXBhbnRLZXkge1xuICAgICAgICBsZXQgbSA9IG5ldyBQYXJ0aWNpcGFudEtleSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5sb2NhdGlvbikge20ubG9jYXRpb24gPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlBsYXRmb3JtTG9jYXRpb24+KGUuUGxhdGZvcm1Mb2NhdGlvbiwgcHJvdG8ubG9jYXRpb24pO31cbiAgICAgICAgaWYgKHByb3RvLmNoYW5uZWxzKSB7bS5jaGFubmVscyA9IHByb3RvLmNoYW5uZWxzLm1hcCgodjogc3RyaW5nKSA9PiBlbnVtU3RyaW5nVG9WYWx1ZTxlLkNvbnZlcnNhdGlvbkNoYW5uZWw+KGUuQ29udmVyc2F0aW9uQ2hhbm5lbCwgdikpO31cbiAgICAgICAgaWYgKHByb3RvLnBhcnRpY2lwYW50VHlwZSkge20ucGFydGljaXBhbnRUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5HbG9iYWxQYXJ0aWNpcGFudFR5cGU+KGUuR2xvYmFsUGFydGljaXBhbnRUeXBlLCBwcm90by5wYXJ0aWNpcGFudFR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLm5hbWVzcGFjZUhpZXJhcmNoeSkge20ubmFtZXNwYWNlSGllcmFyY2h5ID0gcHJvdG8ubmFtZXNwYWNlSGllcmFyY2h5Lm1hcChOYW1lc3BhY2VEZXRhaWwuZnJvbVByb3RvKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUGFydGljaXBhbnRLZXlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbnRlcm5hbFBhcnRpY2lwYW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ludGVybmFsUGFydGljaXBhbnRJZCddID0gdGhpcy5pbnRlcm5hbFBhcnRpY2lwYW50SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydG5lcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJ0bmVySWQnXSA9IHRoaXMucGFydG5lcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjY291bnRHcm91cElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhY2NvdW50R3JvdXBJZCddID0gdGhpcy5hY2NvdW50R3JvdXBJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5sb2NhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbG9jYXRpb24nXSA9IHRoaXMubG9jYXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2hhbm5lbHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NoYW5uZWxzJ10gPSB0aGlzLmNoYW5uZWxzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRpY2lwYW50VHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydGljaXBhbnRUeXBlJ10gPSB0aGlzLnBhcnRpY2lwYW50VHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lc3BhY2VIaWVyYXJjaHkgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubmFtZXNwYWNlSGllcmFyY2h5ICE9PSBudWxsKSB7dG9SZXR1cm5bJ25hbWVzcGFjZUhpZXJhcmNoeSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5uYW1lc3BhY2VIaWVyYXJjaHkgPyAodGhpcy5uYW1lc3BhY2VIaWVyYXJjaHkgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubmFtZXNwYWNlSGllcmFyY2h5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as e from '../enums';
|
|
2
|
+
export function enumStringToValue(enumRef, value) {
|
|
3
|
+
if (typeof value === 'number') {
|
|
4
|
+
return value;
|
|
5
|
+
}
|
|
6
|
+
return enumRef[value];
|
|
7
|
+
}
|
|
8
|
+
export class DataSources {
|
|
9
|
+
businessProfile;
|
|
10
|
+
static fromProto(proto) {
|
|
11
|
+
let m = new DataSources();
|
|
12
|
+
m = Object.assign(m, proto);
|
|
13
|
+
return m;
|
|
14
|
+
}
|
|
15
|
+
constructor(kwargs) {
|
|
16
|
+
if (!kwargs) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
Object.assign(this, kwargs);
|
|
20
|
+
}
|
|
21
|
+
toApiJson() {
|
|
22
|
+
const toReturn = {};
|
|
23
|
+
if (typeof this.businessProfile !== 'undefined') {
|
|
24
|
+
toReturn['businessProfile'] = this.businessProfile;
|
|
25
|
+
}
|
|
26
|
+
return toReturn;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class Widget {
|
|
30
|
+
widgetId;
|
|
31
|
+
name;
|
|
32
|
+
namespace;
|
|
33
|
+
color;
|
|
34
|
+
allowedUrls;
|
|
35
|
+
position;
|
|
36
|
+
created;
|
|
37
|
+
updated;
|
|
38
|
+
isEnabled;
|
|
39
|
+
welcomeMessage;
|
|
40
|
+
textColor;
|
|
41
|
+
accentColor;
|
|
42
|
+
accentTextColor;
|
|
43
|
+
static fromProto(proto) {
|
|
44
|
+
let m = new Widget();
|
|
45
|
+
m = Object.assign(m, proto);
|
|
46
|
+
if (proto.position) {
|
|
47
|
+
m.position = enumStringToValue(e.WidgetPosition, proto.position);
|
|
48
|
+
}
|
|
49
|
+
if (proto.created) {
|
|
50
|
+
m.created = new Date(proto.created);
|
|
51
|
+
}
|
|
52
|
+
if (proto.updated) {
|
|
53
|
+
m.updated = new Date(proto.updated);
|
|
54
|
+
}
|
|
55
|
+
return m;
|
|
56
|
+
}
|
|
57
|
+
constructor(kwargs) {
|
|
58
|
+
if (!kwargs) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
Object.assign(this, kwargs);
|
|
62
|
+
}
|
|
63
|
+
toApiJson() {
|
|
64
|
+
const toReturn = {};
|
|
65
|
+
if (typeof this.widgetId !== 'undefined') {
|
|
66
|
+
toReturn['widgetId'] = this.widgetId;
|
|
67
|
+
}
|
|
68
|
+
if (typeof this.name !== 'undefined') {
|
|
69
|
+
toReturn['name'] = this.name;
|
|
70
|
+
}
|
|
71
|
+
if (typeof this.namespace !== 'undefined') {
|
|
72
|
+
toReturn['namespace'] = this.namespace;
|
|
73
|
+
}
|
|
74
|
+
if (typeof this.color !== 'undefined') {
|
|
75
|
+
toReturn['color'] = this.color;
|
|
76
|
+
}
|
|
77
|
+
if (typeof this.allowedUrls !== 'undefined') {
|
|
78
|
+
toReturn['allowedUrls'] = this.allowedUrls;
|
|
79
|
+
}
|
|
80
|
+
if (typeof this.position !== 'undefined') {
|
|
81
|
+
toReturn['position'] = this.position;
|
|
82
|
+
}
|
|
83
|
+
if (typeof this.created !== 'undefined' && this.created !== null) {
|
|
84
|
+
toReturn['created'] = 'toApiJson' in this.created ? this.created.toApiJson() : this.created;
|
|
85
|
+
}
|
|
86
|
+
if (typeof this.updated !== 'undefined' && this.updated !== null) {
|
|
87
|
+
toReturn['updated'] = 'toApiJson' in this.updated ? this.updated.toApiJson() : this.updated;
|
|
88
|
+
}
|
|
89
|
+
if (typeof this.isEnabled !== 'undefined') {
|
|
90
|
+
toReturn['isEnabled'] = this.isEnabled;
|
|
91
|
+
}
|
|
92
|
+
if (typeof this.welcomeMessage !== 'undefined') {
|
|
93
|
+
toReturn['welcomeMessage'] = this.welcomeMessage;
|
|
94
|
+
}
|
|
95
|
+
if (typeof this.textColor !== 'undefined') {
|
|
96
|
+
toReturn['textColor'] = this.textColor;
|
|
97
|
+
}
|
|
98
|
+
if (typeof this.accentColor !== 'undefined') {
|
|
99
|
+
toReturn['accentColor'] = this.accentColor;
|
|
100
|
+
}
|
|
101
|
+
if (typeof this.accentTextColor !== 'undefined') {
|
|
102
|
+
toReturn['accentTextColor'] = this.accentTextColor;
|
|
103
|
+
}
|
|
104
|
+
return toReturn;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vY29udmVyc2F0aW9uX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3dpZGdldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLFdBQVc7SUFDcEIsZUFBZSxDQUFVO0lBRXpCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO1FBQzFCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQStCO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLGVBQWUsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7UUFBQSxDQUFDO1FBQ3RHLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBTyxNQUFNO0lBQ2YsUUFBUSxDQUFTO0lBQ2pCLElBQUksQ0FBUztJQUNiLFNBQVMsQ0FBUztJQUNsQixLQUFLLENBQVM7SUFDZCxXQUFXLENBQVc7SUFDdEIsUUFBUSxDQUFtQjtJQUMzQixPQUFPLENBQU87SUFDZCxPQUFPLENBQU87SUFDZCxTQUFTLENBQVU7SUFDbkIsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsQ0FBUztJQUNsQixXQUFXLENBQVM7SUFDcEIsZUFBZSxDQUFTO0lBRXhCLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxRQUFRLEdBQUcsaUJBQWlCLENBQW1CLENBQUMsQ0FBQyxjQUFjLEVBQUUsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQUEsQ0FBQztRQUN6RyxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQUEsQ0FBQztRQUN6RCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUFBLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQUEsQ0FBQztRQUN6RCxPQUFPLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFRCxZQUFZLE1BQTBCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNWLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQUEsQ0FBQztRQUNqRixJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQUEsQ0FBQztRQUNyRSxJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQUEsQ0FBQztRQUNwRixJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQUEsQ0FBQztRQUN4RSxJQUFJLE9BQU8sSUFBSSxDQUFDLFdBQVcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQUEsQ0FBQztRQUMxRixJQUFJLE9BQU8sSUFBSSxDQUFDLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQUEsQ0FBQztRQUNqRixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUFBLFFBQVEsQ0FBQyxTQUFTLENBQUMsR0FBRyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUUsSUFBSSxDQUFDLE9BQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUFBLENBQUM7UUFDekssSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsV0FBVyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFFLElBQUksQ0FBQyxPQUFlLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFBQSxDQUFDO1FBQ3pLLElBQUksT0FBTyxJQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQUEsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFBQSxDQUFDO1FBQ3BGLElBQUksT0FBTyxJQUFJLENBQUMsY0FBYyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQUEsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUFBLENBQUM7UUFDbkcsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUFBLENBQUM7UUFDcEYsSUFBSSxPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUFBLENBQUM7UUFDMUYsSUFBSSxPQUFPLElBQUksQ0FBQyxlQUFlLEtBQUssV0FBVyxFQUFFLENBQUM7WUFBQSxRQUFRLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQUEsQ0FBQztRQUN0RyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIERhdGFTb3VyY2VzIGltcGxlbWVudHMgaS5EYXRhU291cmNlc0ludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NQcm9maWxlOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRGF0YVNvdXJjZXMge1xuICAgICAgICBsZXQgbSA9IG5ldyBEYXRhU291cmNlcygpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRGF0YVNvdXJjZXNJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc1Byb2ZpbGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2J1c2luZXNzUHJvZmlsZSddID0gdGhpcy5idXNpbmVzc1Byb2ZpbGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgV2lkZ2V0IGltcGxlbWVudHMgaS5XaWRnZXRJbnRlcmZhY2Uge1xuICAgIHdpZGdldElkOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG5hbWVzcGFjZTogc3RyaW5nO1xuICAgIGNvbG9yOiBzdHJpbmc7XG4gICAgYWxsb3dlZFVybHM6IHN0cmluZ1tdO1xuICAgIHBvc2l0aW9uOiBlLldpZGdldFBvc2l0aW9uO1xuICAgIGNyZWF0ZWQ6IERhdGU7XG4gICAgdXBkYXRlZDogRGF0ZTtcbiAgICBpc0VuYWJsZWQ6IGJvb2xlYW47XG4gICAgd2VsY29tZU1lc3NhZ2U6IHN0cmluZztcbiAgICB0ZXh0Q29sb3I6IHN0cmluZztcbiAgICBhY2NlbnRDb2xvcjogc3RyaW5nO1xuICAgIGFjY2VudFRleHRDb2xvcjogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogV2lkZ2V0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgV2lkZ2V0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnBvc2l0aW9uKSB7bS5wb3NpdGlvbiA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuV2lkZ2V0UG9zaXRpb24+KGUuV2lkZ2V0UG9zaXRpb24sIHByb3RvLnBvc2l0aW9uKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5XaWRnZXRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy53aWRnZXRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnd2lkZ2V0SWQnXSA9IHRoaXMud2lkZ2V0SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZSddID0gdGhpcy5uYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWVzcGFjZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbmFtZXNwYWNlJ10gPSB0aGlzLm5hbWVzcGFjZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb2xvciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29sb3InXSA9IHRoaXMuY29sb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWxsb3dlZFVybHMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FsbG93ZWRVcmxzJ10gPSB0aGlzLmFsbG93ZWRVcmxzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc2l0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3NpdGlvbiddID0gdGhpcy5wb3NpdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVwZGF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudXBkYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWyd1cGRhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnVwZGF0ZWQgPyAodGhpcy51cGRhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnVwZGF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaXNFbmFibGVkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc0VuYWJsZWQnXSA9IHRoaXMuaXNFbmFibGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLndlbGNvbWVNZXNzYWdlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd3ZWxjb21lTWVzc2FnZSddID0gdGhpcy53ZWxjb21lTWVzc2FnZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50ZXh0Q29sb3IgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RleHRDb2xvciddID0gdGhpcy50ZXh0Q29sb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWNjZW50Q29sb3IgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FjY2VudENvbG9yJ10gPSB0aGlzLmFjY2VudENvbG9yO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjY2VudFRleHRDb2xvciAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWNjZW50VGV4dENvbG9yJ10gPSB0aGlzLmFjY2VudFRleHRDb2xvcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbiJdfQ==
|