@vendasta/meetings 0.74.0 → 0.76.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/lib/_generated/host.service.mjs +3 -3
- package/esm2020/lib/_internal/conversation-analysis.api.service.mjs +40 -0
- package/esm2020/lib/_internal/enums/conversation-analysis.enum.mjs +12 -0
- package/esm2020/lib/_internal/enums/index.mjs +2 -1
- package/esm2020/lib/_internal/google-meet.api.service.mjs +9 -10
- package/esm2020/lib/_internal/index.mjs +2 -1
- package/esm2020/lib/_internal/interfaces/annotations.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/conversation-analysis.interface.mjs +8 -0
- package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2020/lib/_internal/meeting-guest.api.service.mjs +9 -10
- package/esm2020/lib/_internal/meeting-host.api.service.mjs +9 -10
- package/esm2020/lib/_internal/meeting-source-api.api.service.mjs +9 -10
- package/esm2020/lib/_internal/objects/annotations.mjs +30 -0
- package/esm2020/lib/_internal/objects/conversation-analysis.mjs +101 -0
- package/esm2020/lib/_internal/objects/date-range.mjs +7 -7
- package/esm2020/lib/_internal/objects/datetime.mjs +12 -12
- package/esm2020/lib/_internal/objects/field-mask.mjs +6 -6
- package/esm2020/lib/_internal/objects/google-meet.mjs +80 -80
- package/esm2020/lib/_internal/objects/index.mjs +3 -1
- package/esm2020/lib/_internal/objects/meeting-guest.mjs +105 -105
- package/esm2020/lib/_internal/objects/meeting-host.mjs +311 -311
- package/esm2020/lib/_internal/objects/meeting-source.mjs +25 -25
- package/esm2020/lib/_internal/objects/meeting-type.mjs +19 -19
- package/esm2020/lib/_internal/objects/shared.mjs +73 -73
- package/esm2020/lib/_internal/objects/timeofday.mjs +6 -6
- package/esm2020/lib/_internal/objects/zoom.mjs +36 -36
- package/esm2020/lib/_internal/zoom.api.service.mjs +9 -10
- package/esm2020/lib/conversation_analysis/conversation-analysis.service.mjs +22 -0
- package/esm2020/lib/guest/guest.service.mjs +3 -3
- package/esm2020/lib/host/host.service.mjs +3 -3
- package/esm2020/lib/index.mjs +2 -1
- package/esm2020/lib/meetings.service.mjs +3 -3
- package/fesm2015/vendasta-meetings.mjs +937 -751
- package/fesm2015/vendasta-meetings.mjs.map +1 -1
- package/fesm2020/vendasta-meetings.mjs +938 -752
- package/fesm2020/vendasta-meetings.mjs.map +1 -1
- package/lib/_internal/conversation-analysis.api.service.d.ts +13 -0
- package/lib/_internal/enums/conversation-analysis.enum.d.ts +4 -0
- package/lib/_internal/enums/index.d.ts +1 -0
- package/lib/_internal/google-meet.api.service.d.ts +2 -5
- package/lib/_internal/index.d.ts +1 -0
- package/lib/_internal/interfaces/annotations.interface.d.ts +4 -0
- package/lib/_internal/interfaces/conversation-analysis.interface.d.ts +16 -0
- package/lib/_internal/interfaces/index.d.ts +3 -1
- package/lib/_internal/meeting-guest.api.service.d.ts +3 -5
- package/lib/_internal/meeting-host.api.service.d.ts +3 -5
- package/lib/_internal/meeting-source-api.api.service.d.ts +2 -5
- package/lib/_internal/objects/annotations.d.ts +9 -0
- package/lib/_internal/objects/conversation-analysis.d.ts +27 -0
- package/lib/_internal/objects/index.d.ts +2 -1
- package/lib/_internal/objects/meeting-host.d.ts +7 -7
- package/lib/_internal/zoom.api.service.d.ts +2 -5
- package/lib/conversation_analysis/conversation-analysis.service.d.ts +13 -0
- package/lib/index.d.ts +1 -0
- package/lib/shared/calendar.d.ts +1 -1
- package/lib/shared/host-id.d.ts +1 -1
- package/lib/shared/host-user.d.ts +1 -1
- package/lib/shared/meeting-type.d.ts +2 -2
- package/lib/shared/meeting.d.ts +2 -2
- package/package.json +5 -5
- package/esm2020/lib/_internal/objects/dayofweek.mjs +0 -7
- package/lib/_internal/objects/dayofweek.d.ts +0 -1
- package/src/README.md +0 -12
- /package/{vendasta-meetings.d.ts → index.d.ts} +0 -0
|
@@ -6,12 +6,6 @@ export function enumStringToValue(enumRef, value) {
|
|
|
6
6
|
return enumRef[value];
|
|
7
7
|
}
|
|
8
8
|
export class CreateZoomMeetingRequest {
|
|
9
|
-
constructor(kwargs) {
|
|
10
|
-
if (!kwargs) {
|
|
11
|
-
return;
|
|
12
|
-
}
|
|
13
|
-
Object.assign(this, kwargs);
|
|
14
|
-
}
|
|
15
9
|
static fromProto(proto) {
|
|
16
10
|
let m = new CreateZoomMeetingRequest();
|
|
17
11
|
m = Object.assign(m, proto);
|
|
@@ -32,6 +26,12 @@ export class CreateZoomMeetingRequest {
|
|
|
32
26
|
}
|
|
33
27
|
return m;
|
|
34
28
|
}
|
|
29
|
+
constructor(kwargs) {
|
|
30
|
+
if (!kwargs) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
Object.assign(this, kwargs);
|
|
34
|
+
}
|
|
35
35
|
toApiJson() {
|
|
36
36
|
const toReturn = {};
|
|
37
37
|
if (typeof this.iamUserId !== 'undefined') {
|
|
@@ -71,12 +71,6 @@ export class CreateZoomMeetingRequest {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
export class CreateZoomMeetingResponse {
|
|
74
|
-
constructor(kwargs) {
|
|
75
|
-
if (!kwargs) {
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
Object.assign(this, kwargs);
|
|
79
|
-
}
|
|
80
74
|
static fromProto(proto) {
|
|
81
75
|
let m = new CreateZoomMeetingResponse();
|
|
82
76
|
m = Object.assign(m, proto);
|
|
@@ -106,6 +100,12 @@ export class CreateZoomMeetingResponse {
|
|
|
106
100
|
}
|
|
107
101
|
return m;
|
|
108
102
|
}
|
|
103
|
+
constructor(kwargs) {
|
|
104
|
+
if (!kwargs) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
Object.assign(this, kwargs);
|
|
108
|
+
}
|
|
109
109
|
toApiJson() {
|
|
110
110
|
const toReturn = {};
|
|
111
111
|
if (typeof this.iamUserId !== 'undefined') {
|
|
@@ -166,12 +166,6 @@ export class CreateZoomMeetingResponse {
|
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
export class ZoomMeetingRecurrence {
|
|
169
|
-
constructor(kwargs) {
|
|
170
|
-
if (!kwargs) {
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
Object.assign(this, kwargs);
|
|
174
|
-
}
|
|
175
169
|
static fromProto(proto) {
|
|
176
170
|
let m = new ZoomMeetingRecurrence();
|
|
177
171
|
m = Object.assign(m, proto);
|
|
@@ -195,6 +189,12 @@ export class ZoomMeetingRecurrence {
|
|
|
195
189
|
}
|
|
196
190
|
return m;
|
|
197
191
|
}
|
|
192
|
+
constructor(kwargs) {
|
|
193
|
+
if (!kwargs) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
Object.assign(this, kwargs);
|
|
197
|
+
}
|
|
198
198
|
toApiJson() {
|
|
199
199
|
const toReturn = {};
|
|
200
200
|
if (typeof this.type !== 'undefined') {
|
|
@@ -225,12 +225,6 @@ export class ZoomMeetingRecurrence {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
export class ZoomMeetingSettings {
|
|
228
|
-
constructor(kwargs) {
|
|
229
|
-
if (!kwargs) {
|
|
230
|
-
return;
|
|
231
|
-
}
|
|
232
|
-
Object.assign(this, kwargs);
|
|
233
|
-
}
|
|
234
228
|
static fromProto(proto) {
|
|
235
229
|
let m = new ZoomMeetingSettings();
|
|
236
230
|
m = Object.assign(m, proto);
|
|
@@ -242,6 +236,12 @@ export class ZoomMeetingSettings {
|
|
|
242
236
|
}
|
|
243
237
|
return m;
|
|
244
238
|
}
|
|
239
|
+
constructor(kwargs) {
|
|
240
|
+
if (!kwargs) {
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
Object.assign(this, kwargs);
|
|
244
|
+
}
|
|
245
245
|
toApiJson() {
|
|
246
246
|
const toReturn = {};
|
|
247
247
|
if (typeof this.hostVideo !== 'undefined') {
|
|
@@ -320,17 +320,17 @@ export class ZoomMeetingSettings {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
export class ZoomMeetingTrackingField {
|
|
323
|
+
static fromProto(proto) {
|
|
324
|
+
let m = new ZoomMeetingTrackingField();
|
|
325
|
+
m = Object.assign(m, proto);
|
|
326
|
+
return m;
|
|
327
|
+
}
|
|
323
328
|
constructor(kwargs) {
|
|
324
329
|
if (!kwargs) {
|
|
325
330
|
return;
|
|
326
331
|
}
|
|
327
332
|
Object.assign(this, kwargs);
|
|
328
333
|
}
|
|
329
|
-
static fromProto(proto) {
|
|
330
|
-
let m = new ZoomMeetingTrackingField();
|
|
331
|
-
m = Object.assign(m, proto);
|
|
332
|
-
return m;
|
|
333
|
-
}
|
|
334
334
|
toApiJson() {
|
|
335
335
|
const toReturn = {};
|
|
336
336
|
if (typeof this.field !== 'undefined') {
|
|
@@ -343,12 +343,6 @@ export class ZoomMeetingTrackingField {
|
|
|
343
343
|
}
|
|
344
344
|
}
|
|
345
345
|
export class ZoomOccurrence {
|
|
346
|
-
constructor(kwargs) {
|
|
347
|
-
if (!kwargs) {
|
|
348
|
-
return;
|
|
349
|
-
}
|
|
350
|
-
Object.assign(this, kwargs);
|
|
351
|
-
}
|
|
352
346
|
static fromProto(proto) {
|
|
353
347
|
let m = new ZoomOccurrence();
|
|
354
348
|
m = Object.assign(m, proto);
|
|
@@ -357,6 +351,12 @@ export class ZoomOccurrence {
|
|
|
357
351
|
}
|
|
358
352
|
return m;
|
|
359
353
|
}
|
|
354
|
+
constructor(kwargs) {
|
|
355
|
+
if (!kwargs) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
Object.assign(this, kwargs);
|
|
359
|
+
}
|
|
360
360
|
toApiJson() {
|
|
361
361
|
const toReturn = {};
|
|
362
362
|
if (typeof this.occurrenceId !== 'undefined') {
|
|
@@ -374,4 +374,4 @@ export class ZoomOccurrence {
|
|
|
374
374
|
return toReturn;
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21lZXRpbmdzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3pvb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJQXdCakMsWUFBWSxNQUE0QztRQUNwRCxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQWhCRCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFBQyxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFvQixDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFDO1FBQy9GLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FBQztRQUNoRSxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7WUFBQyxDQUFDLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FB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QUFDLFFBQVEsQ0FBQztTQUFDO1FBQ2pGLElBQUksT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQUM7UUFDM0UsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVab29tTWVldGluZ1JlcXVlc3QgaW1wbGVtZW50cyBpLkNyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdEludGVyZmFjZSB7XG4gICAgaWFtVXNlcklkOiBzdHJpbmc7XG4gICAgdG9waWM6IHN0cmluZztcbiAgICB0eXBlOiBlLlpvb21NZWV0aW5nVHlwZTtcbiAgICBzdGFydFRpbWU6IHN0cmluZztcbiAgICBkdXJhdGlvbjogbnVtYmVyO1xuICAgIHRpbWV6b25lOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICBhZ2VuZGE6IHN0cmluZztcbiAgICB0cmFja2luZ0ZpZWxkczogWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkW107XG4gICAgcmVjdXJyZW5jZTogWm9vbU1lZXRpbmdSZWN1cnJlbmNlO1xuICAgIHNldHRpbmdzOiBab29tTWVldGluZ1NldHRpbmdzO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0KCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlpvb21NZWV0aW5nVHlwZT4oZS5ab29tTWVldGluZ1R5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLmR1cmF0aW9uKSB7bS5kdXJhdGlvbiA9IHBhcnNlSW50KHByb3RvLmR1cmF0aW9uLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8udHJhY2tpbmdGaWVsZHMpIHttLnRyYWNraW5nRmllbGRzID0gcHJvdG8udHJhY2tpbmdGaWVsZHMubWFwKFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZC5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnJlY3VycmVuY2UpIHttLnJlY3VycmVuY2UgPSBab29tTWVldGluZ1JlY3VycmVuY2UuZnJvbVByb3RvKHByb3RvLnJlY3VycmVuY2UpO31cbiAgICAgICAgaWYgKHByb3RvLnNldHRpbmdzKSB7bS5zZXR0aW5ncyA9IFpvb21NZWV0aW5nU2V0dGluZ3MuZnJvbVByb3RvKHByb3RvLnNldHRpbmdzKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWFtVXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpYW1Vc2VySWQnXSA9IHRoaXMuaWFtVXNlcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRvcGljICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0b3BpYyddID0gdGhpcy50b3BpYzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhcnRUaW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdGFydFRpbWUnXSA9IHRoaXMuc3RhcnRUaW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmR1cmF0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkdXJhdGlvbiddID0gdGhpcy5kdXJhdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aW1lem9uZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGltZXpvbmUnXSA9IHRoaXMudGltZXpvbmU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFzc3dvcmQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bhc3N3b3JkJ10gPSB0aGlzLnBhc3N3b3JkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFnZW5kYSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWdlbmRhJ10gPSB0aGlzLmFnZW5kYTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50cmFja2luZ0ZpZWxkcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50cmFja2luZ0ZpZWxkcyAhPT0gbnVsbCkge3RvUmV0dXJuWyd0cmFja2luZ0ZpZWxkcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50cmFja2luZ0ZpZWxkcyA/ICh0aGlzLnRyYWNraW5nRmllbGRzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRyYWNraW5nRmllbGRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnJlY3VycmVuY2UgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucmVjdXJyZW5jZSAhPT0gbnVsbCkge3RvUmV0dXJuWydyZWN1cnJlbmNlJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnJlY3VycmVuY2UgPyAodGhpcy5yZWN1cnJlbmNlIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnJlY3VycmVuY2U7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2V0dGluZ3MgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuc2V0dGluZ3MgIT09IG51bGwpIHt0b1JldHVyblsnc2V0dGluZ3MnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuc2V0dGluZ3MgPyAodGhpcy5zZXR0aW5ncyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zZXR0aW5nczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlIGltcGxlbWVudHMgaS5DcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlIHtcbiAgICBpYW1Vc2VySWQ6IHN0cmluZztcbiAgICBtZWV0aW5nSWQ6IG51bWJlcjtcbiAgICB0b3BpYzogc3RyaW5nO1xuICAgIHR5cGU6IGUuWm9vbU1lZXRpbmdUeXBlO1xuICAgIHN0YXJ0VGltZTogc3RyaW5nO1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gICAgdGltZXpvbmU6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgICBhZ2VuZGE6IHN0cmluZztcbiAgICBzdGFydFVybDogc3RyaW5nO1xuICAgIGpvaW5Vcmw6IHN0cmluZztcbiAgICBwYXNzd29yZDogc3RyaW5nO1xuICAgIGgzMjNQYXNzd29yZDogc3RyaW5nO1xuICAgIHBtaTogbnVtYmVyO1xuICAgIHRyYWNraW5nRmllbGRzOiBab29tTWVldGluZ1RyYWNraW5nRmllbGRbXTtcbiAgICBvY2N1cnJlbmNlczogWm9vbU9jY3VycmVuY2VbXTtcbiAgICBzZXR0aW5nczogWm9vbU1lZXRpbmdTZXR0aW5ncztcbiAgICByZWN1cnJlbmNlOiBab29tTWVldGluZ1JlY3VycmVuY2U7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5tZWV0aW5nSWQpIHttLm1lZXRpbmdJZCA9IHBhcnNlSW50KHByb3RvLm1lZXRpbmdJZCwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlpvb21NZWV0aW5nVHlwZT4oZS5ab29tTWVldGluZ1R5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLmR1cmF0aW9uKSB7bS5kdXJhdGlvbiA9IHBhcnNlSW50KHByb3RvLmR1cmF0aW9uLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8ucG1pKSB7bS5wbWkgPSBwYXJzZUludChwcm90by5wbWksIDEwKTt9XG4gICAgICAgIGlmIChwcm90by50cmFja2luZ0ZpZWxkcykge20udHJhY2tpbmdGaWVsZHMgPSBwcm90by50cmFja2luZ0ZpZWxkcy5tYXAoWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ub2NjdXJyZW5jZXMpIHttLm9jY3VycmVuY2VzID0gcHJvdG8ub2NjdXJyZW5jZXMubWFwKFpvb21PY2N1cnJlbmNlLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8uc2V0dGluZ3MpIHttLnNldHRpbmdzID0gWm9vbU1lZXRpbmdTZXR0aW5ncy5mcm9tUHJvdG8ocHJvdG8uc2V0dGluZ3MpO31cbiAgICAgICAgaWYgKHByb3RvLnJlY3VycmVuY2UpIHttLnJlY3VycmVuY2UgPSBab29tTWVldGluZ1JlY3VycmVuY2UuZnJvbVByb3RvKHByb3RvLnJlY3VycmVuY2UpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWFtVXNlcklkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpYW1Vc2VySWQnXSA9IHRoaXMuaWFtVXNlcklkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lZXRpbmdJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVldGluZ0lkJ10gPSB0aGlzLm1lZXRpbmdJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b3BpYyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndG9waWMnXSA9IHRoaXMudG9waWM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHlwZSddID0gdGhpcy50eXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VGltZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhcnRUaW1lJ10gPSB0aGlzLnN0YXJ0VGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZHVyYXRpb24nXSA9IHRoaXMuZHVyYXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGltZXpvbmUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpbWV6b25lJ10gPSB0aGlzLnRpbWV6b25lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWF0ZWRBdCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY3JlYXRlZEF0J10gPSB0aGlzLmNyZWF0ZWRBdDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZ2VuZGEgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FnZW5kYSddID0gdGhpcy5hZ2VuZGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhcnRVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXJ0VXJsJ10gPSB0aGlzLnN0YXJ0VXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmpvaW5VcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2pvaW5VcmwnXSA9IHRoaXMuam9pblVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wYXNzd29yZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFzc3dvcmQnXSA9IHRoaXMucGFzc3dvcmQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaDMyM1Bhc3N3b3JkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydoMzIzUGFzc3dvcmQnXSA9IHRoaXMuaDMyM1Bhc3N3b3JkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBtaSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncG1pJ10gPSB0aGlzLnBtaTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50cmFja2luZ0ZpZWxkcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50cmFja2luZ0ZpZWxkcyAhPT0gbnVsbCkge3RvUmV0dXJuWyd0cmFja2luZ0ZpZWxkcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy50cmFja2luZ0ZpZWxkcyA/ICh0aGlzLnRyYWNraW5nRmllbGRzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRyYWNraW5nRmllbGRzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9jY3VycmVuY2VzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm9jY3VycmVuY2VzICE9PSBudWxsKSB7dG9SZXR1cm5bJ29jY3VycmVuY2VzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm9jY3VycmVuY2VzID8gKHRoaXMub2NjdXJyZW5jZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMub2NjdXJyZW5jZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2V0dGluZ3MgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuc2V0dGluZ3MgIT09IG51bGwpIHt0b1JldHVyblsnc2V0dGluZ3MnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuc2V0dGluZ3MgPyAodGhpcy5zZXR0aW5ncyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zZXR0aW5nczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWN1cnJlbmNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnJlY3VycmVuY2UgIT09IG51bGwpIHt0b1JldHVyblsncmVjdXJyZW5jZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5yZWN1cnJlbmNlID8gKHRoaXMucmVjdXJyZW5jZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5yZWN1cnJlbmNlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFpvb21NZWV0aW5nUmVjdXJyZW5jZSBpbXBsZW1lbnRzIGkuWm9vbU1lZXRpbmdSZWN1cnJlbmNlSW50ZXJmYWNlIHtcbiAgICB0eXBlOiBlLlpvb21NZWV0aW5nUmVjdXJyZW5jZVR5cGU7XG4gICAgcmVwZWF0SW50ZXJ2YWw6IG51bWJlcjtcbiAgICB3ZWVrbHlEYXlzOiBzdHJpbmc7XG4gICAgbW9udGhseURheTogbnVtYmVyO1xuICAgIG1vbnRobHlXZWVrOiBlLlpvb21Nb250aGx5V2VlaztcbiAgICBtb250aGx5V2Vla0RheTogZS5ab29tTW9udGhseVdlZWtEYXk7XG4gICAgZW5kVGltZXM6IG51bWJlcjtcbiAgICBlbmREYXRlVGltZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogWm9vbU1lZXRpbmdSZWN1cnJlbmNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgWm9vbU1lZXRpbmdSZWN1cnJlbmNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnR5cGUpIHttLnR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlpvb21NZWV0aW5nUmVjdXJyZW5jZVR5cGU+KGUuWm9vbU1lZXRpbmdSZWN1cnJlbmNlVHlwZSwgcHJvdG8udHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8ucmVwZWF0SW50ZXJ2YWwpIHttLnJlcGVhdEludGVydmFsID0gcGFyc2VJbnQocHJvdG8ucmVwZWF0SW50ZXJ2YWwsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5tb250aGx5RGF5KSB7bS5tb250aGx5RGF5ID0gcGFyc2VJbnQocHJvdG8ubW9udGhseURheSwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLm1vbnRobHlXZWVrKSB7bS5tb250aGx5V2VlayA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuWm9vbU1vbnRobHlXZWVrPihlLlpvb21Nb250aGx5V2VlaywgcHJvdG8ubW9udGhseVdlZWspO31cbiAgICAgICAgaWYgKHByb3RvLm1vbnRobHlXZWVrRGF5KSB7bS5tb250aGx5V2Vla0RheSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuWm9vbU1vbnRobHlXZWVrRGF5PihlLlpvb21Nb250aGx5V2Vla0RheSwgcHJvdG8ubW9udGhseVdlZWtEYXkpO31cbiAgICAgICAgaWYgKHByb3RvLmVuZFRpbWVzKSB7bS5lbmRUaW1lcyA9IHBhcnNlSW50KHByb3RvLmVuZFRpbWVzLCAxMCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlpvb21NZWV0aW5nUmVjdXJyZW5jZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZXBlYXRJbnRlcnZhbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVwZWF0SW50ZXJ2YWwnXSA9IHRoaXMucmVwZWF0SW50ZXJ2YWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMud2Vla2x5RGF5cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnd2Vla2x5RGF5cyddID0gdGhpcy53ZWVrbHlEYXlzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1vbnRobHlEYXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21vbnRobHlEYXknXSA9IHRoaXMubW9udGhseURheTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tb250aGx5V2VlayAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbW9udGhseVdlZWsnXSA9IHRoaXMubW9udGhseVdlZWs7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubW9udGhseVdlZWtEYXkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21vbnRobHlXZWVrRGF5J10gPSB0aGlzLm1vbnRobHlXZWVrRGF5O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuZFRpbWVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlbmRUaW1lcyddID0gdGhpcy5lbmRUaW1lczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbmREYXRlVGltZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZW5kRGF0ZVRpbWUnXSA9IHRoaXMuZW5kRGF0ZVRpbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgWm9vbU1lZXRpbmdTZXR0aW5ncyBpbXBsZW1lbnRzIGkuWm9vbU1lZXRpbmdTZXR0aW5nc0ludGVyZmFjZSB7XG4gICAgaG9zdFZpZGVvOiBib29sZWFuO1xuICAgIHBhcnRpY2lwYW50VmlkZW86IGJvb2xlYW47XG4gICAgY25NZWV0aW5nOiBib29sZWFuO1xuICAgIGluTWVldGluZzogYm9vbGVhbjtcbiAgICBqb2luQmVmb3JlSG9zdDogYm9vbGVhbjtcbiAgICBtdXRlVXBvbkVudHJ5OiBib29sZWFuO1xuICAgIHdhdGVybWFyazogYm9vbGVhbjtcbiAgICB1c2VQbWk6IGJvb2xlYW47XG4gICAgYXBwcm92YWxUeXBlOiBlLlpvb21BcHByb3ZhbFR5cGU7XG4gICAgcmVnaXN0cmF0aW9uVHlwZTogZS5ab29tUmVnaXN0cmF0aW9uVHlwZTtcbiAgICBhdWRpbzogc3RyaW5nO1xuICAgIGF1dG9SZWNvcmRpbmc6IHN0cmluZztcbiAgICBhbHRlcm5hdGl2ZUhvc3RzOiBzdHJpbmc7XG4gICAgY2xvc2VSZWdpc3RyYXRpb246IGJvb2xlYW47XG4gICAgd2FpdGluZ1Jvb206IGJvb2xlYW47XG4gICAgZ2xvYmFsRGlhbEluQ291bnRyaWVzOiBzdHJpbmdbXTtcbiAgICBjb250YWN0TmFtZTogc3RyaW5nO1xuICAgIGNvbnRhY3RFbWFpbDogc3RyaW5nO1xuICAgIHJlZ2lzdHJhdGlvbkVtYWlsTm90aWZpY2F0aW9uOiBib29sZWFuO1xuICAgIG1lZXRpbmdBdXRoZW50aWNhdGlvbjogYm9vbGVhbjtcbiAgICBhdXRoZW50aWNhdGlvbk9wdGlvbnM6IHN0cmluZztcbiAgICBhdXRoZW50aWNhdGlvbkRvbWFpbnM6IHN0cmluZztcbiAgICBlbmZvcmNlTG9naW46IGJvb2xlYW47XG4gICAgZW5mb3JjZUxvZ2luRG9tYWluczogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogWm9vbU1lZXRpbmdTZXR0aW5ncyB7XG4gICAgICAgIGxldCBtID0gbmV3IFpvb21NZWV0aW5nU2V0dGluZ3MoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYXBwcm92YWxUeXBlKSB7bS5hcHByb3ZhbFR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlpvb21BcHByb3ZhbFR5cGU+KGUuWm9vbUFwcHJvdmFsVHlwZSwgcHJvdG8uYXBwcm92YWxUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by5yZWdpc3RyYXRpb25UeXBlKSB7bS5yZWdpc3RyYXRpb25UeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5ab29tUmVnaXN0cmF0aW9uVHlwZT4oZS5ab29tUmVnaXN0cmF0aW9uVHlwZSwgcHJvdG8ucmVnaXN0cmF0aW9uVHlwZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlpvb21NZWV0aW5nU2V0dGluZ3NJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ob3N0VmlkZW8gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2hvc3RWaWRlbyddID0gdGhpcy5ob3N0VmlkZW87fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFydGljaXBhbnRWaWRlbyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGFydGljaXBhbnRWaWRlbyddID0gdGhpcy5wYXJ0aWNpcGFudFZpZGVvO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNuTWVldGluZyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY25NZWV0aW5nJ10gPSB0aGlzLmNuTWVldGluZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbk1lZXRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2luTWVldGluZyddID0gdGhpcy5pbk1lZXRpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuam9pbkJlZm9yZUhvc3QgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2pvaW5CZWZvcmVIb3N0J10gPSB0aGlzLmpvaW5CZWZvcmVIb3N0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm11dGVVcG9uRW50cnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ211dGVVcG9uRW50cnknXSA9IHRoaXMubXV0ZVVwb25FbnRyeTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy53YXRlcm1hcmsgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3dhdGVybWFyayddID0gdGhpcy53YXRlcm1hcms7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlUG1pICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1c2VQbWknXSA9IHRoaXMudXNlUG1pO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFwcHJvdmFsVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXBwcm92YWxUeXBlJ10gPSB0aGlzLmFwcHJvdmFsVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWdpc3RyYXRpb25UeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydyZWdpc3RyYXRpb25UeXBlJ10gPSB0aGlzLnJlZ2lzdHJhdGlvblR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXVkaW8gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1ZGlvJ10gPSB0aGlzLmF1ZGlvO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dG9SZWNvcmRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dG9SZWNvcmRpbmcnXSA9IHRoaXMuYXV0b1JlY29yZGluZzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbHRlcm5hdGl2ZUhvc3RzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbHRlcm5hdGl2ZUhvc3RzJ10gPSB0aGlzLmFsdGVybmF0aXZlSG9zdHM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2xvc2VSZWdpc3RyYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2Nsb3NlUmVnaXN0cmF0aW9uJ10gPSB0aGlzLmNsb3NlUmVnaXN0cmF0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLndhaXRpbmdSb29tICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd3YWl0aW5nUm9vbSddID0gdGhpcy53YWl0aW5nUm9vbTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5nbG9iYWxEaWFsSW5Db3VudHJpZXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2dsb2JhbERpYWxJbkNvdW50cmllcyddID0gdGhpcy5nbG9iYWxEaWFsSW5Db3VudHJpZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY29udGFjdE5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbnRhY3ROYW1lJ10gPSB0aGlzLmNvbnRhY3ROYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRhY3RFbWFpbCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGFjdEVtYWlsJ10gPSB0aGlzLmNvbnRhY3RFbWFpbDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWdpc3RyYXRpb25FbWFpbE5vdGlmaWNhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVnaXN0cmF0aW9uRW1haWxOb3RpZmljYXRpb24nXSA9IHRoaXMucmVnaXN0cmF0aW9uRW1haWxOb3RpZmljYXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVldGluZ0F1dGhlbnRpY2F0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtZWV0aW5nQXV0aGVudGljYXRpb24nXSA9IHRoaXMubWVldGluZ0F1dGhlbnRpY2F0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1dGhlbnRpY2F0aW9uT3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYXV0aGVudGljYXRpb25PcHRpb25zJ10gPSB0aGlzLmF1dGhlbnRpY2F0aW9uT3B0aW9uczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRoZW50aWNhdGlvbkRvbWFpbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dGhlbnRpY2F0aW9uRG9tYWlucyddID0gdGhpcy5hdXRoZW50aWNhdGlvbkRvbWFpbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW5mb3JjZUxvZ2luICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlbmZvcmNlTG9naW4nXSA9IHRoaXMuZW5mb3JjZUxvZ2luO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuZm9yY2VMb2dpbkRvbWFpbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VuZm9yY2VMb2dpbkRvbWFpbnMnXSA9IHRoaXMuZW5mb3JjZUxvZ2luRG9tYWluczt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBab29tTWVldGluZ1RyYWNraW5nRmllbGQgaW1wbGVtZW50cyBpLlpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZEludGVyZmFjZSB7XG4gICAgZmllbGQ6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5ab29tTWVldGluZ1RyYWNraW5nRmllbGRJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5maWVsZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZmllbGQnXSA9IHRoaXMuZmllbGQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZhbHVlJ10gPSB0aGlzLnZhbHVlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFpvb21PY2N1cnJlbmNlIGltcGxlbWVudHMgaS5ab29tT2NjdXJyZW5jZUludGVyZmFjZSB7XG4gICAgb2NjdXJyZW5jZUlkOiBzdHJpbmc7XG4gICAgc3RhcnRUaW1lOiBzdHJpbmc7XG4gICAgZHVyYXRpb246IG51bWJlcjtcbiAgICBzdGF0dXM6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFpvb21PY2N1cnJlbmNlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgWm9vbU9jY3VycmVuY2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZHVyYXRpb24pIHttLmR1cmF0aW9uID0gcGFyc2VJbnQocHJvdG8uZHVyYXRpb24sIDEwKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuWm9vbU9jY3VycmVuY2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vY2N1cnJlbmNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ29jY3VycmVuY2VJZCddID0gdGhpcy5vY2N1cnJlbmNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhcnRUaW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdGFydFRpbWUnXSA9IHRoaXMuc3RhcnRUaW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmR1cmF0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydkdXJhdGlvbiddID0gdGhpcy5kdXJhdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGF0dXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXR1cyddID0gdGhpcy5zdGF0dXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL21lZXRpbmdzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3pvb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxLQUFLLENBQUMsTUFBTSxVQUFVLENBQUM7QUFFOUIsTUFBTSxVQUFVLGlCQUFpQixDQUFJLE9BQVksRUFBRSxLQUFhO0lBQzlELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1FBQzdCLE9BQU8sS0FBSyxDQUFDO0tBQ2Q7SUFDRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN4QixDQUFDO0FBRUQsTUFBTSxPQUFPLHdCQUF3QjtJQWFqQyxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSx3QkFBd0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFBQyxDQUFDLENBQUMsSUFBSSxHQUFHLGlCQUFpQixDQUFvQixDQUFDLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUFDO1FBQy9GLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FBQztRQUNoRSxJQUFJLEtBQUssQ0FBQyxjQUFjLEVBQUU7WUFBQyxDQUFDLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQUM7UUFDNUcsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FB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QUFRLENBQUM7U0FBQztRQUNqRixJQUFJLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUFDO1FBQzNFLE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gT2JqZWN0cy5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuaW1wb3J0ICogYXMgaSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0ICogYXMgZSBmcm9tICcuLi9lbnVtcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBlbnVtU3RyaW5nVG9WYWx1ZTxFPihlbnVtUmVmOiBhbnksIHZhbHVlOiBzdHJpbmcpOiBFIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIGVudW1SZWZbdmFsdWVdO1xufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0IGltcGxlbWVudHMgaS5DcmVhdGVab29tTWVldGluZ1JlcXVlc3RJbnRlcmZhY2Uge1xuICAgIGlhbVVzZXJJZDogc3RyaW5nO1xuICAgIHRvcGljOiBzdHJpbmc7XG4gICAgdHlwZTogZS5ab29tTWVldGluZ1R5cGU7XG4gICAgc3RhcnRUaW1lOiBzdHJpbmc7XG4gICAgZHVyYXRpb246IG51bWJlcjtcbiAgICB0aW1lem9uZTogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgYWdlbmRhOiBzdHJpbmc7XG4gICAgdHJhY2tpbmdGaWVsZHM6IFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZFtdO1xuICAgIHJlY3VycmVuY2U6IFpvb21NZWV0aW5nUmVjdXJyZW5jZTtcbiAgICBzZXR0aW5nczogWm9vbU1lZXRpbmdTZXR0aW5ncztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IENyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdCB7XG4gICAgICAgIGxldCBtID0gbmV3IENyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5ab29tTWVldGluZ1R5cGU+KGUuWm9vbU1lZXRpbmdUeXBlLCBwcm90by50eXBlKTt9XG4gICAgICAgIGlmIChwcm90by5kdXJhdGlvbikge20uZHVyYXRpb24gPSBwYXJzZUludChwcm90by5kdXJhdGlvbiwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnRyYWNraW5nRmllbGRzKSB7bS50cmFja2luZ0ZpZWxkcyA9IHByb3RvLnRyYWNraW5nRmllbGRzLm1hcChab29tTWVldGluZ1RyYWNraW5nRmllbGQuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5yZWN1cnJlbmNlKSB7bS5yZWN1cnJlbmNlID0gWm9vbU1lZXRpbmdSZWN1cnJlbmNlLmZyb21Qcm90byhwcm90by5yZWN1cnJlbmNlKTt9XG4gICAgICAgIGlmIChwcm90by5zZXR0aW5ncykge20uc2V0dGluZ3MgPSBab29tTWVldGluZ1NldHRpbmdzLmZyb21Qcm90byhwcm90by5zZXR0aW5ncyk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlhbVVzZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWFtVXNlcklkJ10gPSB0aGlzLmlhbVVzZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50b3BpYyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndG9waWMnXSA9IHRoaXMudG9waWM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndHlwZSddID0gdGhpcy50eXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VGltZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhcnRUaW1lJ10gPSB0aGlzLnN0YXJ0VGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZHVyYXRpb24nXSA9IHRoaXMuZHVyYXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGltZXpvbmUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpbWV6b25lJ10gPSB0aGlzLnRpbWV6b25lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhc3N3b3JkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXNzd29yZCddID0gdGhpcy5wYXNzd29yZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hZ2VuZGEgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FnZW5kYSddID0gdGhpcy5hZ2VuZGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHJhY2tpbmdGaWVsZHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHJhY2tpbmdGaWVsZHMgIT09IG51bGwpIHt0b1JldHVyblsndHJhY2tpbmdGaWVsZHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudHJhY2tpbmdGaWVsZHMgPyAodGhpcy50cmFja2luZ0ZpZWxkcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50cmFja2luZ0ZpZWxkczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWN1cnJlbmNlICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnJlY3VycmVuY2UgIT09IG51bGwpIHt0b1JldHVyblsncmVjdXJyZW5jZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5yZWN1cnJlbmNlID8gKHRoaXMucmVjdXJyZW5jZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5yZWN1cnJlbmNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNldHRpbmdzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnNldHRpbmdzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3NldHRpbmdzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnNldHRpbmdzID8gKHRoaXMuc2V0dGluZ3MgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuc2V0dGluZ3M7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZSBpbXBsZW1lbnRzIGkuQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZUludGVyZmFjZSB7XG4gICAgaWFtVXNlcklkOiBzdHJpbmc7XG4gICAgbWVldGluZ0lkOiBudW1iZXI7XG4gICAgdG9waWM6IHN0cmluZztcbiAgICB0eXBlOiBlLlpvb21NZWV0aW5nVHlwZTtcbiAgICBzdGFydFRpbWU6IHN0cmluZztcbiAgICBkdXJhdGlvbjogbnVtYmVyO1xuICAgIHRpbWV6b25lOiBzdHJpbmc7XG4gICAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gICAgYWdlbmRhOiBzdHJpbmc7XG4gICAgc3RhcnRVcmw6IHN0cmluZztcbiAgICBqb2luVXJsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICBoMzIzUGFzc3dvcmQ6IHN0cmluZztcbiAgICBwbWk6IG51bWJlcjtcbiAgICB0cmFja2luZ0ZpZWxkczogWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkW107XG4gICAgb2NjdXJyZW5jZXM6IFpvb21PY2N1cnJlbmNlW107XG4gICAgc2V0dGluZ3M6IFpvb21NZWV0aW5nU2V0dGluZ3M7XG4gICAgcmVjdXJyZW5jZTogWm9vbU1lZXRpbmdSZWN1cnJlbmNlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZSB7XG4gICAgICAgIGxldCBtID0gbmV3IENyZWF0ZVpvb21NZWV0aW5nUmVzcG9uc2UoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubWVldGluZ0lkKSB7bS5tZWV0aW5nSWQgPSBwYXJzZUludChwcm90by5tZWV0aW5nSWQsIDEwKTt9XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5ab29tTWVldGluZ1R5cGU+KGUuWm9vbU1lZXRpbmdUeXBlLCBwcm90by50eXBlKTt9XG4gICAgICAgIGlmIChwcm90by5kdXJhdGlvbikge20uZHVyYXRpb24gPSBwYXJzZUludChwcm90by5kdXJhdGlvbiwgMTApO31cbiAgICAgICAgaWYgKHByb3RvLnBtaSkge20ucG1pID0gcGFyc2VJbnQocHJvdG8ucG1pLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8udHJhY2tpbmdGaWVsZHMpIHttLnRyYWNraW5nRmllbGRzID0gcHJvdG8udHJhY2tpbmdGaWVsZHMubWFwKFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZC5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLm9jY3VycmVuY2VzKSB7bS5vY2N1cnJlbmNlcyA9IHByb3RvLm9jY3VycmVuY2VzLm1hcChab29tT2NjdXJyZW5jZS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnNldHRpbmdzKSB7bS5zZXR0aW5ncyA9IFpvb21NZWV0aW5nU2V0dGluZ3MuZnJvbVByb3RvKHByb3RvLnNldHRpbmdzKTt9XG4gICAgICAgIGlmIChwcm90by5yZWN1cnJlbmNlKSB7bS5yZWN1cnJlbmNlID0gWm9vbU1lZXRpbmdSZWN1cnJlbmNlLmZyb21Qcm90byhwcm90by5yZWN1cnJlbmNlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlhbVVzZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaWFtVXNlcklkJ10gPSB0aGlzLmlhbVVzZXJJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWV0aW5nSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZXRpbmdJZCddID0gdGhpcy5tZWV0aW5nSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudG9waWMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RvcGljJ10gPSB0aGlzLnRvcGljO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3R5cGUnXSA9IHRoaXMudHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGFydFRpbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXJ0VGltZSddID0gdGhpcy5zdGFydFRpbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZHVyYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2R1cmF0aW9uJ10gPSB0aGlzLmR1cmF0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpbWV6b25lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aW1lem9uZSddID0gdGhpcy50aW1lem9uZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkQXQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NyZWF0ZWRBdCddID0gdGhpcy5jcmVhdGVkQXQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWdlbmRhICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhZ2VuZGEnXSA9IHRoaXMuYWdlbmRhO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdGFydFVybCddID0gdGhpcy5zdGFydFVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5qb2luVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydqb2luVXJsJ10gPSB0aGlzLmpvaW5Vcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFzc3dvcmQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bhc3N3b3JkJ10gPSB0aGlzLnBhc3N3b3JkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmgzMjNQYXNzd29yZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaDMyM1Bhc3N3b3JkJ10gPSB0aGlzLmgzMjNQYXNzd29yZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wbWkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BtaSddID0gdGhpcy5wbWk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudHJhY2tpbmdGaWVsZHMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMudHJhY2tpbmdGaWVsZHMgIT09IG51bGwpIHt0b1JldHVyblsndHJhY2tpbmdGaWVsZHMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudHJhY2tpbmdGaWVsZHMgPyAodGhpcy50cmFja2luZ0ZpZWxkcyBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy50cmFja2luZ0ZpZWxkczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vY2N1cnJlbmNlcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5vY2N1cnJlbmNlcyAhPT0gbnVsbCkge3RvUmV0dXJuWydvY2N1cnJlbmNlcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5vY2N1cnJlbmNlcyA/ICh0aGlzLm9jY3VycmVuY2VzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm9jY3VycmVuY2VzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNldHRpbmdzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnNldHRpbmdzICE9PSBudWxsKSB7dG9SZXR1cm5bJ3NldHRpbmdzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnNldHRpbmdzID8gKHRoaXMuc2V0dGluZ3MgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuc2V0dGluZ3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVjdXJyZW5jZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5yZWN1cnJlbmNlICE9PSBudWxsKSB7dG9SZXR1cm5bJ3JlY3VycmVuY2UnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucmVjdXJyZW5jZSA/ICh0aGlzLnJlY3VycmVuY2UgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucmVjdXJyZW5jZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBab29tTWVldGluZ1JlY3VycmVuY2UgaW1wbGVtZW50cyBpLlpvb21NZWV0aW5nUmVjdXJyZW5jZUludGVyZmFjZSB7XG4gICAgdHlwZTogZS5ab29tTWVldGluZ1JlY3VycmVuY2VUeXBlO1xuICAgIHJlcGVhdEludGVydmFsOiBudW1iZXI7XG4gICAgd2Vla2x5RGF5czogc3RyaW5nO1xuICAgIG1vbnRobHlEYXk6IG51bWJlcjtcbiAgICBtb250aGx5V2VlazogZS5ab29tTW9udGhseVdlZWs7XG4gICAgbW9udGhseVdlZWtEYXk6IGUuWm9vbU1vbnRobHlXZWVrRGF5O1xuICAgIGVuZFRpbWVzOiBudW1iZXI7XG4gICAgZW5kRGF0ZVRpbWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFpvb21NZWV0aW5nUmVjdXJyZW5jZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFpvb21NZWV0aW5nUmVjdXJyZW5jZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by50eXBlKSB7bS50eXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5ab29tTWVldGluZ1JlY3VycmVuY2VUeXBlPihlLlpvb21NZWV0aW5nUmVjdXJyZW5jZVR5cGUsIHByb3RvLnR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLnJlcGVhdEludGVydmFsKSB7bS5yZXBlYXRJbnRlcnZhbCA9IHBhcnNlSW50KHByb3RvLnJlcGVhdEludGVydmFsLCAxMCk7fVxuICAgICAgICBpZiAocHJvdG8ubW9udGhseURheSkge20ubW9udGhseURheSA9IHBhcnNlSW50KHByb3RvLm1vbnRobHlEYXksIDEwKTt9XG4gICAgICAgIGlmIChwcm90by5tb250aGx5V2Vlaykge20ubW9udGhseVdlZWsgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlpvb21Nb250aGx5V2Vlaz4oZS5ab29tTW9udGhseVdlZWssIHByb3RvLm1vbnRobHlXZWVrKTt9XG4gICAgICAgIGlmIChwcm90by5tb250aGx5V2Vla0RheSkge20ubW9udGhseVdlZWtEYXkgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlpvb21Nb250aGx5V2Vla0RheT4oZS5ab29tTW9udGhseVdlZWtEYXksIHByb3RvLm1vbnRobHlXZWVrRGF5KTt9XG4gICAgICAgIGlmIChwcm90by5lbmRUaW1lcykge20uZW5kVGltZXMgPSBwYXJzZUludChwcm90by5lbmRUaW1lcywgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5ab29tTWVldGluZ1JlY3VycmVuY2VJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50eXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0eXBlJ10gPSB0aGlzLnR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVwZWF0SW50ZXJ2YWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlcGVhdEludGVydmFsJ10gPSB0aGlzLnJlcGVhdEludGVydmFsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLndlZWtseURheXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3dlZWtseURheXMnXSA9IHRoaXMud2Vla2x5RGF5czt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tb250aGx5RGF5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtb250aGx5RGF5J10gPSB0aGlzLm1vbnRobHlEYXk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubW9udGhseVdlZWsgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21vbnRobHlXZWVrJ10gPSB0aGlzLm1vbnRobHlXZWVrO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1vbnRobHlXZWVrRGF5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtb250aGx5V2Vla0RheSddID0gdGhpcy5tb250aGx5V2Vla0RheTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbmRUaW1lcyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZW5kVGltZXMnXSA9IHRoaXMuZW5kVGltZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZW5kRGF0ZVRpbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2VuZERhdGVUaW1lJ10gPSB0aGlzLmVuZERhdGVUaW1lO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFpvb21NZWV0aW5nU2V0dGluZ3MgaW1wbGVtZW50cyBpLlpvb21NZWV0aW5nU2V0dGluZ3NJbnRlcmZhY2Uge1xuICAgIGhvc3RWaWRlbzogYm9vbGVhbjtcbiAgICBwYXJ0aWNpcGFudFZpZGVvOiBib29sZWFuO1xuICAgIGNuTWVldGluZzogYm9vbGVhbjtcbiAgICBpbk1lZXRpbmc6IGJvb2xlYW47XG4gICAgam9pbkJlZm9yZUhvc3Q6IGJvb2xlYW47XG4gICAgbXV0ZVVwb25FbnRyeTogYm9vbGVhbjtcbiAgICB3YXRlcm1hcms6IGJvb2xlYW47XG4gICAgdXNlUG1pOiBib29sZWFuO1xuICAgIGFwcHJvdmFsVHlwZTogZS5ab29tQXBwcm92YWxUeXBlO1xuICAgIHJlZ2lzdHJhdGlvblR5cGU6IGUuWm9vbVJlZ2lzdHJhdGlvblR5cGU7XG4gICAgYXVkaW86IHN0cmluZztcbiAgICBhdXRvUmVjb3JkaW5nOiBzdHJpbmc7XG4gICAgYWx0ZXJuYXRpdmVIb3N0czogc3RyaW5nO1xuICAgIGNsb3NlUmVnaXN0cmF0aW9uOiBib29sZWFuO1xuICAgIHdhaXRpbmdSb29tOiBib29sZWFuO1xuICAgIGdsb2JhbERpYWxJbkNvdW50cmllczogc3RyaW5nW107XG4gICAgY29udGFjdE5hbWU6IHN0cmluZztcbiAgICBjb250YWN0RW1haWw6IHN0cmluZztcbiAgICByZWdpc3RyYXRpb25FbWFpbE5vdGlmaWNhdGlvbjogYm9vbGVhbjtcbiAgICBtZWV0aW5nQXV0aGVudGljYXRpb246IGJvb2xlYW47XG4gICAgYXV0aGVudGljYXRpb25PcHRpb25zOiBzdHJpbmc7XG4gICAgYXV0aGVudGljYXRpb25Eb21haW5zOiBzdHJpbmc7XG4gICAgZW5mb3JjZUxvZ2luOiBib29sZWFuO1xuICAgIGVuZm9yY2VMb2dpbkRvbWFpbnM6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFpvb21NZWV0aW5nU2V0dGluZ3Mge1xuICAgICAgICBsZXQgbSA9IG5ldyBab29tTWVldGluZ1NldHRpbmdzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFwcHJvdmFsVHlwZSkge20uYXBwcm92YWxUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5ab29tQXBwcm92YWxUeXBlPihlLlpvb21BcHByb3ZhbFR5cGUsIHByb3RvLmFwcHJvdmFsVHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8ucmVnaXN0cmF0aW9uVHlwZSkge20ucmVnaXN0cmF0aW9uVHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuWm9vbVJlZ2lzdHJhdGlvblR5cGU+KGUuWm9vbVJlZ2lzdHJhdGlvblR5cGUsIHByb3RvLnJlZ2lzdHJhdGlvblR5cGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5ab29tTWVldGluZ1NldHRpbmdzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaG9zdFZpZGVvICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydob3N0VmlkZW8nXSA9IHRoaXMuaG9zdFZpZGVvO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcnRpY2lwYW50VmlkZW8gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcnRpY2lwYW50VmlkZW8nXSA9IHRoaXMucGFydGljaXBhbnRWaWRlbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jbk1lZXRpbmcgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NuTWVldGluZyddID0gdGhpcy5jbk1lZXRpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW5NZWV0aW5nICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbk1lZXRpbmcnXSA9IHRoaXMuaW5NZWV0aW5nO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmpvaW5CZWZvcmVIb3N0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydqb2luQmVmb3JlSG9zdCddID0gdGhpcy5qb2luQmVmb3JlSG9zdDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tdXRlVXBvbkVudHJ5ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydtdXRlVXBvbkVudHJ5J10gPSB0aGlzLm11dGVVcG9uRW50cnk7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMud2F0ZXJtYXJrICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd3YXRlcm1hcmsnXSA9IHRoaXMud2F0ZXJtYXJrO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVzZVBtaSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlUG1pJ10gPSB0aGlzLnVzZVBtaTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hcHByb3ZhbFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FwcHJvdmFsVHlwZSddID0gdGhpcy5hcHByb3ZhbFR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVnaXN0cmF0aW9uVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncmVnaXN0cmF0aW9uVHlwZSddID0gdGhpcy5yZWdpc3RyYXRpb25UeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmF1ZGlvICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdWRpbyddID0gdGhpcy5hdWRpbzt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRvUmVjb3JkaW5nICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRvUmVjb3JkaW5nJ10gPSB0aGlzLmF1dG9SZWNvcmRpbmc7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWx0ZXJuYXRpdmVIb3N0cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYWx0ZXJuYXRpdmVIb3N0cyddID0gdGhpcy5hbHRlcm5hdGl2ZUhvc3RzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNsb3NlUmVnaXN0cmF0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjbG9zZVJlZ2lzdHJhdGlvbiddID0gdGhpcy5jbG9zZVJlZ2lzdHJhdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy53YWl0aW5nUm9vbSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnd2FpdGluZ1Jvb20nXSA9IHRoaXMud2FpdGluZ1Jvb207fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZ2xvYmFsRGlhbEluQ291bnRyaWVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydnbG9iYWxEaWFsSW5Db3VudHJpZXMnXSA9IHRoaXMuZ2xvYmFsRGlhbEluQ291bnRyaWVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNvbnRhY3ROYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydjb250YWN0TmFtZSddID0gdGhpcy5jb250YWN0TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250YWN0RW1haWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NvbnRhY3RFbWFpbCddID0gdGhpcy5jb250YWN0RW1haWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucmVnaXN0cmF0aW9uRW1haWxOb3RpZmljYXRpb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlZ2lzdHJhdGlvbkVtYWlsTm90aWZpY2F0aW9uJ10gPSB0aGlzLnJlZ2lzdHJhdGlvbkVtYWlsTm90aWZpY2F0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lZXRpbmdBdXRoZW50aWNhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVldGluZ0F1dGhlbnRpY2F0aW9uJ10gPSB0aGlzLm1lZXRpbmdBdXRoZW50aWNhdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRoZW50aWNhdGlvbk9wdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2F1dGhlbnRpY2F0aW9uT3B0aW9ucyddID0gdGhpcy5hdXRoZW50aWNhdGlvbk9wdGlvbnM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYXV0aGVudGljYXRpb25Eb21haW5zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhdXRoZW50aWNhdGlvbkRvbWFpbnMnXSA9IHRoaXMuYXV0aGVudGljYXRpb25Eb21haW5zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuZm9yY2VMb2dpbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZW5mb3JjZUxvZ2luJ10gPSB0aGlzLmVuZm9yY2VMb2dpbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lbmZvcmNlTG9naW5Eb21haW5zICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydlbmZvcmNlTG9naW5Eb21haW5zJ10gPSB0aGlzLmVuZm9yY2VMb2dpbkRvbWFpbnM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkIGltcGxlbWVudHMgaS5ab29tTWVldGluZ1RyYWNraW5nRmllbGRJbnRlcmZhY2Uge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZCB7XG4gICAgICAgIGxldCBtID0gbmV3IFpvb21NZWV0aW5nVHJhY2tpbmdGaWVsZCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuWm9vbU1lZXRpbmdUcmFja2luZ0ZpZWxkSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZmllbGQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ZpZWxkJ10gPSB0aGlzLmZpZWxkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2YWx1ZSddID0gdGhpcy52YWx1ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBab29tT2NjdXJyZW5jZSBpbXBsZW1lbnRzIGkuWm9vbU9jY3VycmVuY2VJbnRlcmZhY2Uge1xuICAgIG9jY3VycmVuY2VJZDogc3RyaW5nO1xuICAgIHN0YXJ0VGltZTogc3RyaW5nO1xuICAgIGR1cmF0aW9uOiBudW1iZXI7XG4gICAgc3RhdHVzOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBab29tT2NjdXJyZW5jZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFpvb21PY2N1cnJlbmNlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmR1cmF0aW9uKSB7bS5kdXJhdGlvbiA9IHBhcnNlSW50KHByb3RvLmR1cmF0aW9uLCAxMCk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlpvb21PY2N1cnJlbmNlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub2NjdXJyZW5jZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydvY2N1cnJlbmNlSWQnXSA9IHRoaXMub2NjdXJyZW5jZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnN0YXJ0VGltZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc3RhcnRUaW1lJ10gPSB0aGlzLnN0YXJ0VGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kdXJhdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZHVyYXRpb24nXSA9IHRoaXMuZHVyYXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhdHVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdGF0dXMnXSA9IHRoaXMuc3RhdHVzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuIl19
|
|
@@ -7,15 +7,14 @@
|
|
|
7
7
|
import { Injectable } from '@angular/core';
|
|
8
8
|
import { CreateZoomMeetingRequest, CreateZoomMeetingResponse, } from './objects/';
|
|
9
9
|
import { HttpHeaders, HttpClient } from '@angular/common/http';
|
|
10
|
+
import { inject } from '@angular/core';
|
|
10
11
|
import { HostService } from '../_generated/host.service';
|
|
11
12
|
import { map } from 'rxjs/operators';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "@angular/common/http";
|
|
14
|
-
import * as i2 from "../_generated/host.service";
|
|
15
14
|
export class ZoomApiService {
|
|
16
|
-
constructor(
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
15
|
+
constructor() {
|
|
16
|
+
this.hostService = inject(HostService);
|
|
17
|
+
this.http = inject(HttpClient);
|
|
19
18
|
this._host = this.hostService.hostWithScheme;
|
|
20
19
|
}
|
|
21
20
|
apiOptions() {
|
|
@@ -32,10 +31,10 @@ export class ZoomApiService {
|
|
|
32
31
|
.pipe(map(resp => CreateZoomMeetingResponse.fromProto(resp)));
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
|
-
ZoomApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
36
|
-
ZoomApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
34
|
+
ZoomApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ZoomApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
35
|
+
ZoomApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ZoomApiService, providedIn: 'root' });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ZoomApiService, decorators: [{
|
|
38
37
|
type: Injectable,
|
|
39
38
|
args: [{ providedIn: 'root' }]
|
|
40
|
-
}]
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
}] });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9vbS5hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL21lZXRpbmdzX3Nkay9zcmMvbGliL19pbnRlcm5hbC96b29tLmFwaS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixlQUFlO0FBQ2Ysb0NBQW9DO0FBQ3BDLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNDLHdCQUF3QixFQUN4Qix5QkFBeUIsR0FDaEMsTUFBTSxZQUFZLENBQUM7QUFLcEIsT0FBTyxFQUFDLFdBQVcsRUFBRSxVQUFVLEVBQWUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUV2RCxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBR25DLE1BQU0sT0FBTyxjQUFjO0lBRDNCO1FBRXFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLFNBQUksR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbkMsVUFBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDO0tBbUJuRDtJQWpCVyxVQUFVO1FBQ2QsT0FBTztZQUNILE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztnQkFDckIsY0FBYyxFQUFFLGtCQUFrQjthQUNyQyxDQUFDO1lBQ0YsZUFBZSxFQUFFLElBQUk7U0FDeEIsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhLENBQUMsQ0FBK0Q7UUFDekUsTUFBTSxPQUFPLEdBQUcsQ0FBNEIsQ0FBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBNEIsQ0FBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQXFDLElBQUksQ0FBQyxLQUFLLEdBQUcsaUNBQWlDLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUM1SSxJQUFJLENBQ0QsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMseUJBQXlCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3pELENBQUM7SUFDVixDQUFDOzsyR0FwQlEsY0FBYzsrR0FBZCxjQUFjLGNBREYsTUFBTTsyRkFDbEIsY0FBYztrQkFEMUIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIEFQSSBTZXJ2aWNlLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQge0luamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICAgICAgQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0LFxuICAgICAgICBDcmVhdGVab29tTWVldGluZ1Jlc3BvbnNlLFxufSBmcm9tICcuL29iamVjdHMvJztcbmltcG9ydCB7XG4gICAgICAgIENyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdEludGVyZmFjZSxcbiAgICAgICAgQ3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZUludGVyZmFjZSxcbn0gZnJvbSAnLi9pbnRlcmZhY2VzLyc7XG5pbXBvcnQge0h0dHBIZWFkZXJzLCBIdHRwQ2xpZW50LCBIdHRwUmVzcG9uc2V9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SG9zdFNlcnZpY2V9IGZyb20gJy4uL19nZW5lcmF0ZWQvaG9zdC5zZXJ2aWNlJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBab29tQXBpU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBob3N0U2VydmljZSA9IGluamVjdChIb3N0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgX2hvc3QgPSB0aGlzLmhvc3RTZXJ2aWNlLmhvc3RXaXRoU2NoZW1lO1xuXG4gICAgcHJpdmF0ZSBhcGlPcHRpb25zKCk6IHtoZWFkZXJzOiBIdHRwSGVhZGVycywgd2l0aENyZWRlbnRpYWxzOiBib29sZWFufSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgY3JlYXRlTWVldGluZyhyOiBDcmVhdGVab29tTWVldGluZ1JlcXVlc3QgfCBDcmVhdGVab29tTWVldGluZ1JlcXVlc3RJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPENyZWF0ZVpvb21NZWV0aW5nUmVzcG9uc2U+IHtcbiAgICAgICAgY29uc3QgcmVxdWVzdCA9ICgoPENyZWF0ZVpvb21NZWV0aW5nUmVxdWVzdD5yKS50b0FwaUpzb24pID8gKDxDcmVhdGVab29tTWVldGluZ1JlcXVlc3Q+cikgOiBuZXcgQ3JlYXRlWm9vbU1lZXRpbmdSZXF1ZXN0KHIpO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8Q3JlYXRlWm9vbU1lZXRpbmdSZXNwb25zZUludGVyZmFjZT4odGhpcy5faG9zdCArIFwiL21lZXRpbmdzLnYxLlpvb20vQ3JlYXRlTWVldGluZ1wiLCByZXF1ZXN0LnRvQXBpSnNvbigpLCB0aGlzLmFwaU9wdGlvbnMoKSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChyZXNwID0+IENyZWF0ZVpvb21NZWV0aW5nUmVzcG9uc2UuZnJvbVByb3RvKHJlc3ApKVxuICAgICAgICAgICAgKTtcbiAgICB9XG4gICAgXG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { ConversationAnalysisApiService } from '../_internal';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../_internal";
|
|
6
|
+
export class ConversationAnalysisService {
|
|
7
|
+
constructor(conversationAnalysisApiService) {
|
|
8
|
+
this.conversationAnalysisApiService = conversationAnalysisApiService;
|
|
9
|
+
}
|
|
10
|
+
createRawTranscript(rawTranscript) {
|
|
11
|
+
return this.conversationAnalysisApiService.createRawTranscript({
|
|
12
|
+
rawTranscript: rawTranscript
|
|
13
|
+
}).pipe(map(resp => resp?.id));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
ConversationAnalysisService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ConversationAnalysisService, deps: [{ token: i1.ConversationAnalysisApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
17
|
+
ConversationAnalysisService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ConversationAnalysisService, providedIn: 'root' });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: ConversationAnalysisService, decorators: [{
|
|
19
|
+
type: Injectable,
|
|
20
|
+
args: [{ providedIn: 'root' }]
|
|
21
|
+
}], ctorParameters: function () { return [{ type: i1.ConversationAnalysisApiService }]; } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVyc2F0aW9uLWFuYWx5c2lzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9jb252ZXJzYXRpb25fYW5hbHlzaXMvY29udmVyc2F0aW9uLWFuYWx5c2lzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFTLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsOEJBQThCLEVBQXlCLE1BQU0sY0FBYyxDQUFDO0FBRXBGLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBUW5DLE1BQU0sT0FBTywyQkFBMkI7SUFFcEMsWUFDWSw4QkFBOEQ7UUFBOUQsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFnQztJQUN2RSxDQUFDO0lBRUosbUJBQW1CLENBQUMsYUFBcUM7UUFDckQsT0FBTyxJQUFJLENBQUMsOEJBQThCLENBQUMsbUJBQW1CLENBQUM7WUFDM0QsYUFBYSxFQUFFLGFBQWE7U0FDL0IsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQ3hCLENBQUM7SUFDTixDQUFDOzt3SEFaUSwyQkFBMkI7NEhBQTNCLDJCQUEyQixjQURmLE1BQU07MkZBQ2xCLDJCQUEyQjtrQkFEdkMsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdCwgSW5qZWN0YWJsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnZlcnNhdGlvbkFuYWx5c2lzQXBpU2VydmljZSwgUmF3VHJhbnNjcmlwdEludGVyZmFjZX0gZnJvbSAnLi4vX2ludGVybmFsJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udmVyc2F0aW9uQW5hbHlzaXNTZXJ2aWNlSW50ZXJmYWNlIHtcbiAgICBjcmVhdGVSYXdUcmFuc2NyaXB0KHJhd1RyYW5zY3JpcHQ6IFJhd1RyYW5zY3JpcHRJbnRlcmZhY2UpOiBPYnNlcnZhYmxlPHN0cmluZz5cbn1cblxuQEluamVjdGFibGUoe3Byb3ZpZGVkSW46ICdyb290J30pXG5leHBvcnQgY2xhc3MgQ29udmVyc2F0aW9uQW5hbHlzaXNTZXJ2aWNlIGltcGxlbWVudHMgQ29udmVyc2F0aW9uQW5hbHlzaXNTZXJ2aWNlSW50ZXJmYWNlIHtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGNvbnZlcnNhdGlvbkFuYWx5c2lzQXBpU2VydmljZTogQ29udmVyc2F0aW9uQW5hbHlzaXNBcGlTZXJ2aWNlLFxuICAgICkge31cblxuICAgIGNyZWF0ZVJhd1RyYW5zY3JpcHQocmF3VHJhbnNjcmlwdDogUmF3VHJhbnNjcmlwdEludGVyZmFjZSk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbnZlcnNhdGlvbkFuYWx5c2lzQXBpU2VydmljZS5jcmVhdGVSYXdUcmFuc2NyaXB0KHtcbiAgICAgICAgICAgIHJhd1RyYW5zY3JpcHQ6IHJhd1RyYW5zY3JpcHRcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwID0+IHJlc3A/LmlkKVxuICAgICAgICApO1xuICAgIH1cbn0iXX0=
|
|
@@ -77,9 +77,9 @@ export class GuestService {
|
|
|
77
77
|
return this.guestAPIService.isHostConfigured(req).pipe(map((resp) => resp.isConfigured));
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
GuestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
81
|
-
GuestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
82
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
80
|
+
GuestService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: GuestService, deps: [{ token: i1.MeetingGuestApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
81
|
+
GuestService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: GuestService, providedIn: 'root' });
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: GuestService, decorators: [{
|
|
83
83
|
type: Injectable,
|
|
84
84
|
args: [{ providedIn: 'root' }]
|
|
85
85
|
}], ctorParameters: function () { return [{ type: i1.MeetingGuestApiService }]; } });
|
|
@@ -299,9 +299,9 @@ export class HostService {
|
|
|
299
299
|
}));
|
|
300
300
|
}
|
|
301
301
|
}
|
|
302
|
-
HostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
303
|
-
HostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
302
|
+
HostService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: HostService, deps: [{ token: i1.MeetingHostApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
303
|
+
HostService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: HostService, providedIn: 'root' });
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: HostService, decorators: [{
|
|
305
305
|
type: Injectable,
|
|
306
306
|
args: [{ providedIn: 'root' }]
|
|
307
307
|
}], ctorParameters: function () { return [{ type: i1.MeetingHostApiService }]; } });
|
package/esm2020/lib/index.mjs
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export { MeetingsService } from './meetings.service';
|
|
2
2
|
export { GuestService } from './guest/guest.service';
|
|
3
3
|
export { HostService } from './host/host.service';
|
|
4
|
+
export { ConversationAnalysisService } from './conversation_analysis/conversation-analysis.service';
|
|
4
5
|
export { addMetadataToBookingLink } from './host/url';
|
|
5
6
|
export { MeetingSource, MeetingSourceStatus, DayOfWeek, FormFieldType, CalendarType } from './_internal/enums/index';
|
|
6
7
|
export { MeetingSourceQuery, MeetingSourceInfo, MeetingSourceListResponse, Contact, WeekdayAvailability, CreateCalendarRequest, CreateCalendarResponse, } from './_internal/objects/index';
|
|
7
8
|
export { PagedResponse, WellKnownMeetingMetadataKeys, WellKnownFormFieldIds, meetingSchedulerIdToMetadataKey, durationFromString, durationToString, durationStringToMinutes, newBusinessCenterApplicationContextProperties, newSalesCenterApplicationContextProperties, newPartnerCenterApplicationContextProperties, KnownCalendarApplicationContextKeys, KnownCalendarExternalIntegrations, } from './shared/index';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9tZWV0aW5nc19zZGsvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWMsZUFBZSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFFaEUsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRCxPQUFPLEVBQXVDLDJCQUEyQixFQUFDLE1BQU0sdURBQXVELENBQUM7QUFDeEksT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0sWUFBWSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUUsbUJBQW1CLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQTtBQUNsSCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLGlCQUFpQixFQUNqQix5QkFBeUIsRUFDekIsT0FBTyxFQUNQLG1CQUFtQixFQUNuQixxQkFBcUIsRUFDckIsc0JBQXNCLEdBQ3pCLE1BQU0sMkJBQTJCLENBQUE7QUFDbEMsT0FBTyxFQUdILGFBQWEsRUFjYiw0QkFBNEIsRUFDNUIscUJBQXFCLEVBQ3JCLCtCQUErQixFQUMvQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLHVCQUF1QixFQUN2Qiw2Q0FBNkMsRUFDN0MsMENBQTBDLEVBQzFDLDRDQUE0QyxFQUs1QyxtQ0FBbUMsRUFDbkMsaUNBQWlDLEdBRXBDLE1BQU0sZ0JBQWdCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQge01lZXRpbmdzU0RLLCBNZWV0aW5nc1NlcnZpY2V9IGZyb20gJy4vbWVldGluZ3Muc2VydmljZSc7XG5leHBvcnQge0Jvb2tlZE1lZXRpbmdJbmZvLCBCb29rTWVldGluZ1Jlc3BvbnNlLCBHdWVzdFNlcnZpY2VJbnRlcmZhY2V9IGZyb20gJy4vZ3Vlc3QnO1xuZXhwb3J0IHtHdWVzdFNlcnZpY2V9IGZyb20gJy4vZ3Vlc3QvZ3Vlc3Quc2VydmljZSc7XG5leHBvcnQge0hvc3RTZXJ2aWNlfSBmcm9tICcuL2hvc3QvaG9zdC5zZXJ2aWNlJztcbmV4cG9ydCB7Q29udmVyc2F0aW9uQW5hbHlzaXNTZXJ2aWNlSW50ZXJmYWNlLCBDb252ZXJzYXRpb25BbmFseXNpc1NlcnZpY2V9IGZyb20gJy4vY29udmVyc2F0aW9uX2FuYWx5c2lzL2NvbnZlcnNhdGlvbi1hbmFseXNpcy5zZXJ2aWNlJztcbmV4cG9ydCB7YWRkTWV0YWRhdGFUb0Jvb2tpbmdMaW5rfSBmcm9tICcuL2hvc3QvdXJsJztcbmV4cG9ydCB7TWVldGluZ1NvdXJjZSwgTWVldGluZ1NvdXJjZVN0YXR1cywgRGF5T2ZXZWVrLCBGb3JtRmllbGRUeXBlLCBDYWxlbmRhclR5cGV9IGZyb20gJy4vX2ludGVybmFsL2VudW1zL2luZGV4J1xuZXhwb3J0IHtcbiAgICBNZWV0aW5nU291cmNlUXVlcnksXG4gICAgTWVldGluZ1NvdXJjZUluZm8sXG4gICAgTWVldGluZ1NvdXJjZUxpc3RSZXNwb25zZSxcbiAgICBDb250YWN0LFxuICAgIFdlZWtkYXlBdmFpbGFiaWxpdHksXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0LFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2UsXG59IGZyb20gJy4vX2ludGVybmFsL29iamVjdHMvaW5kZXgnXG5leHBvcnQge1xuICAgIEhvc3QsXG4gICAgVGltZVNwYW4sXG4gICAgUGFnZWRSZXNwb25zZSxcbiAgICBNZWV0aW5nLFxuICAgIE1lZXRpbmdUeXBlLFxuICAgIEF0dGVuZGVlLFxuICAgIEF2YWlsYWJpbGl0eVJ1bGUsXG4gICAgQ2FsZW5kYXIsXG4gICAgSG9zdFVybE1hcCxcbiAgICBQcmVmZXJlbmNlcyxcbiAgICBEdXJhdGlvbixcbiAgICBNZWV0aW5nVHlwZUZvcm0sXG4gICAgTWVldGluZ1R5cGVGb3JtRmllbGQsXG4gICAgTWVldGluZ0Zvcm0sXG4gICAgTWVldGluZ0Zvcm1BbnN3ZXIsXG4gICAgTWVldGluZ01ldGFkYXRhLFxuICAgIFdlbGxLbm93bk1lZXRpbmdNZXRhZGF0YUtleXMsXG4gICAgV2VsbEtub3duRm9ybUZpZWxkSWRzLFxuICAgIG1lZXRpbmdTY2hlZHVsZXJJZFRvTWV0YWRhdGFLZXksXG4gICAgZHVyYXRpb25Gcm9tU3RyaW5nLFxuICAgIGR1cmF0aW9uVG9TdHJpbmcsXG4gICAgZHVyYXRpb25TdHJpbmdUb01pbnV0ZXMsXG4gICAgbmV3QnVzaW5lc3NDZW50ZXJBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzLFxuICAgIG5ld1NhbGVzQ2VudGVyQXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllcyxcbiAgICBuZXdQYXJ0bmVyQ2VudGVyQXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllcyxcbiAgICBBcHBsaWNhdGlvbkNvbnRleHRQcm9wZXJ0aWVzU2V0LFxuICAgIEJ1c2luZXNzQ2VudGVyQXBwbGljYXRpb25Db250ZXh0UHJvcGVydGllcyxcbiAgICBTYWxlc0NlbnRlckFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXMsXG4gICAgUGFydG5lckNlbnRlckFwcGxpY2F0aW9uQ29udGV4dFByb3BlcnRpZXMsXG4gICAgS25vd25DYWxlbmRhckFwcGxpY2F0aW9uQ29udGV4dEtleXMsXG4gICAgS25vd25DYWxlbmRhckV4dGVybmFsSW50ZWdyYXRpb25zLFxuICAgIEhvc3RVc2VyLFxufSBmcm9tICcuL3NoYXJlZC9pbmRleCdcbmV4cG9ydCB7XG4gICAgVGltZVJhbmdlSW50ZXJmYWNlIGFzIFRpbWVSYW5nZSxcbiAgICBUaW1lT2ZEYXlJbnRlcmZhY2UgYXMgVGltZU9mRGF5LFxuICAgIFRpbWVab25lSW50ZXJmYWNlIGFzIFRpbWVab25lLFxuICAgIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlIGFzIExpc3RCb29rZWRNZWV0aW5nc1JlcXVlc3RGaWx0ZXJzLFxuICAgIExpc3RBdmFpbGFiaWxpdHlSZXF1ZXN0RmlsdGVyc0ludGVyZmFjZSBhcyBMaXN0QXZhaWxhYmlsaXR5UmVxdWVzdEZpbHRlcnMsXG4gICAgUGFnZWRSZXF1ZXN0T3B0aW9uc0ludGVyZmFjZSBhcyBQYWdlZFJlcXVlc3RPcHRpb25zLFxuICAgIERhdGVSYW5nZUludGVyZmFjZSBhcyBEYXRlUmFuZ2UsXG4gICAgQ3JlYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUNhbGVuZGFyUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlQ2FsZW5kYXJSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEF0dGFjaG1lbnRJbnRlcmZhY2UsXG4gICAgR29vZ2xlTWVldE1lZXRpbmdBdHRlbmRlZUludGVyZmFjZSxcbn0gZnJvbSAnLi9faW50ZXJuYWwvaW50ZXJmYWNlcy9pbmRleCdcbiJdfQ==
|
|
@@ -108,9 +108,9 @@ export class MeetingsService {
|
|
|
108
108
|
return this.meet.createMeeting(req);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
|
-
MeetingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
112
|
-
MeetingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
111
|
+
MeetingsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingsService, deps: [{ token: i1.MeetingSourceAPIApiService }, { token: i2.ZoomApiService }, { token: i3.GoogleMeetApiService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
112
|
+
MeetingsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingsService, providedIn: 'root' });
|
|
113
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.3", ngImport: i0, type: MeetingsService, decorators: [{
|
|
114
114
|
type: Injectable,
|
|
115
115
|
args: [{ providedIn: 'root' }]
|
|
116
116
|
}], ctorParameters: function () { return [{ type: i1.MeetingSourceAPIApiService }, { type: i2.ZoomApiService }, { type: i3.GoogleMeetApiService }]; } });
|