jconsumer-shared 1.2.0 → 1.2.2
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/README.md +24 -24
- package/esm2022/lib/account-service.mjs +1 -1
- package/esm2022/lib/auth-service.mjs +1 -1
- package/esm2022/lib/booking-service.mjs +1 -1
- package/esm2022/lib/calendar/date-time/datetime-processor.service.mjs +1 -1
- package/esm2022/lib/calendar/time/jaldee-time-service.mjs +203 -0
- package/esm2022/lib/common.service.mjs +1 -1
- package/esm2022/lib/confirm/confirm-box.component.mjs +3 -3
- package/esm2022/lib/confirm/confirm-box.module.mjs +1 -1
- package/esm2022/lib/consumer-service.mjs +15 -39
- package/esm2022/lib/currency-service.mjs +1 -1
- package/esm2022/lib/environment.service.mjs +1 -1
- package/esm2022/lib/error-message.module.mjs +1 -1
- package/esm2022/lib/error-message.service.mjs +1 -1
- package/esm2022/lib/file-service.mjs +1 -1
- package/esm2022/lib/form-message/field-error-display/field-error-display.component.mjs +3 -3
- package/esm2022/lib/form-message/form-message-display.module.mjs +1 -1
- package/esm2022/lib/form-message/form-message-display.service.mjs +1 -1
- package/esm2022/lib/form-message/form-success-display/form-success-display.component.mjs +3 -3
- package/esm2022/lib/group-storage.service.mjs +1 -1
- package/esm2022/lib/i8n.module.mjs +1 -1
- package/esm2022/lib/injector-resolver.mjs +1 -1
- package/esm2022/lib/j-gallery/j-gallery.component.mjs +3 -3
- package/esm2022/lib/j-gallery/j-gallery.module.mjs +1 -1
- package/esm2022/lib/j-gallery/j-gallery.service.mjs +1 -1
- package/esm2022/lib/local-storage.service.mjs +1 -1
- package/esm2022/lib/media-service.mjs +1 -1
- package/esm2022/lib/order.service.mjs +1 -1
- package/esm2022/lib/payment/modes/payment-modes.component.mjs +3 -3
- package/esm2022/lib/payment/modes/payment-modes.module.mjs +1 -1
- package/esm2022/lib/payment/payment.module.mjs +1 -1
- package/esm2022/lib/paytm.service.mjs +1 -1
- package/esm2022/lib/phone-input/phone-input.component.mjs +3 -3
- package/esm2022/lib/phone-input/phone-input.module.mjs +1 -1
- package/esm2022/lib/pipes/autolink/autolink.module.mjs +1 -1
- package/esm2022/lib/pipes/autolink/autolink.pipe.mjs +1 -1
- package/esm2022/lib/pipes/capitalize/capitalize.module.mjs +1 -1
- package/esm2022/lib/pipes/capitalize/capitalize.pipe.mjs +1 -1
- package/esm2022/lib/pipes/date-format/date-format.module.mjs +1 -1
- package/esm2022/lib/pipes/date-format/date-format.pipe.mjs +1 -1
- package/esm2022/lib/pipes/filter/filter.module.mjs +1 -1
- package/esm2022/lib/pipes/filter/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/limit-to/limitTo.module.mjs +1 -1
- package/esm2022/lib/pipes/limit-to/limitTo.pipe.mjs +1 -1
- package/esm2022/lib/pipes/safe-html/safehtml.module.mjs +1 -1
- package/esm2022/lib/pipes/safe-html/safehtml.pipe.mjs +1 -1
- package/esm2022/lib/pipes/short-filename/short-file-name.module.mjs +1 -1
- package/esm2022/lib/pipes/short-filename/short-file-name.pipe.mjs +1 -1
- package/esm2022/lib/project-constants.mjs +1 -1
- package/esm2022/lib/project-messages.mjs +1 -1
- package/esm2022/lib/questionaire/edit/questionnaire.component.mjs +3 -3
- package/esm2022/lib/questionaire/edit/questionnaire.module.mjs +1 -1
- package/esm2022/lib/questionaire/questionaire-service.mjs +1 -1
- package/esm2022/lib/razorpay.service.mjs +1 -1
- package/esm2022/lib/request-dialog/request-dialog.component.mjs +3 -3
- package/esm2022/lib/request-dialog/request-dialog.module.mjs +1 -1
- package/esm2022/lib/service-meta.mjs +1 -1
- package/esm2022/lib/session-storage.service.mjs +1 -1
- package/esm2022/lib/shared-account.guard.mjs +1 -1
- package/esm2022/lib/shared-account.resolver.mjs +1 -1
- package/esm2022/lib/shared.service.mjs +1 -1
- package/esm2022/lib/showuploadfile/showuploadfile.component.mjs +3 -3
- package/esm2022/lib/showuploadfile/showuploadfile.module.mjs +1 -1
- package/esm2022/lib/skeleton/skeleton-loading.component.mjs +3 -3
- package/esm2022/lib/skeleton/skeleton-loading.module.mjs +1 -1
- package/esm2022/lib/spinner/loading-spinner.component.mjs +1 -1
- package/esm2022/lib/spinner/loading-spinner.module.mjs +1 -1
- package/esm2022/lib/storage.service.mjs +1 -1
- package/esm2022/lib/subscription.service.mjs +1 -1
- package/esm2022/lib/theme.service.mjs +1 -1
- package/esm2022/lib/timezone-converter.mjs +1 -1
- package/esm2022/lib/toast.service.mjs +1 -1
- package/esm2022/lib/twilio-service.mjs +1 -1
- package/esm2022/lib/utility/remote-loader.mjs +1 -1
- package/esm2022/lib/word-processor.service.mjs +1 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/jconsumer-shared.mjs +235 -59
- package/fesm2022/jconsumer-shared.mjs.map +1 -1
- package/jconsumer-shared-1.2.2.tgz +0 -0
- package/lib/calendar/time/jaldee-time-service.d.ts +28 -0
- package/lib/consumer-service.d.ts +1 -3
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/jconsumer-shared-1.2.0.tgz +0 -0
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../date-time/datetime-processor.service";
|
|
4
|
+
export class JaldeeTimeService {
|
|
5
|
+
dateTimeProcessor;
|
|
6
|
+
moment;
|
|
7
|
+
constructor(dateTimeProcessor) {
|
|
8
|
+
this.dateTimeProcessor = dateTimeProcessor;
|
|
9
|
+
this.moment = this.dateTimeProcessor.getMoment();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param interval
|
|
14
|
+
* @param startTime
|
|
15
|
+
* @param endTime
|
|
16
|
+
* @returns
|
|
17
|
+
*/
|
|
18
|
+
getTimeSlotsFromQTimings(interval, startTime, endTime) {
|
|
19
|
+
const slotList = [];
|
|
20
|
+
// slotList.push(startTime);
|
|
21
|
+
const startTimeStr = this.moment(startTime, ['HH:mm A']).format('HH:mm A').toString();
|
|
22
|
+
let startingDTime = this.dateTimeProcessor.getDateFromTimeString(startTimeStr);
|
|
23
|
+
slotList.push(this.moment(startTime, ['HH:mm A']).format('hh:mm A').toString());
|
|
24
|
+
const endTimeStr = this.moment(endTime, ['HH:mm A']).format('HH:mm A').toString();
|
|
25
|
+
const endDTime = this.dateTimeProcessor.getDateFromTimeString(endTimeStr);
|
|
26
|
+
// tslint:disable-next-line:radix
|
|
27
|
+
const endDate = parseInt(this.moment(endDTime, ['DD']).format('DD').toString());
|
|
28
|
+
// let startingDTime = this.getDateFromTimeString(startTime);
|
|
29
|
+
let exitLoop = false;
|
|
30
|
+
while (!exitLoop) {
|
|
31
|
+
const nextTime = this.moment(startingDTime).add(interval, 'm');
|
|
32
|
+
// tslint:disable-next-line:radix
|
|
33
|
+
const nextDate = parseInt(nextTime.format('DD'));
|
|
34
|
+
const nextTimeDt = this.dateTimeProcessor.getDateFromTimeString(this.moment(nextTime, ['HH:mm A']).format('HH:mm A').toString());
|
|
35
|
+
if (nextDate === endDate) {
|
|
36
|
+
if (nextTimeDt.getTime() <= endDTime.getTime()) {
|
|
37
|
+
slotList.push(this.moment(nextTime, ['HH:mm A']).format('hh:mm A').toString());
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
exitLoop = true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
exitLoop = true;
|
|
45
|
+
}
|
|
46
|
+
startingDTime = nextTimeDt;
|
|
47
|
+
}
|
|
48
|
+
return slotList;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* @param schedule_arr
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
55
|
+
arrageScheduleforDisplay(schedule_arr) {
|
|
56
|
+
const timebase = [];
|
|
57
|
+
for (let i = 0; i < schedule_arr.length; i++) {
|
|
58
|
+
const timeindx = schedule_arr[i]['sTime'].replace(/\s+/, '') + schedule_arr[i]['eTime'].replace(/\s+/, '');
|
|
59
|
+
if (timebase[timeindx] === undefined) {
|
|
60
|
+
timebase[timeindx] = new Array();
|
|
61
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
for (const obj in timebase) {
|
|
68
|
+
if (obj) {
|
|
69
|
+
const len = timebase[obj].length;
|
|
70
|
+
for (let i = 0; i < len; i++) {
|
|
71
|
+
for (let j = i + 1; j < len; j++) {
|
|
72
|
+
if (timebase[obj][j].day < timebase[obj][i].day) {
|
|
73
|
+
const tempobj = timebase[obj][i];
|
|
74
|
+
timebase[obj][i] = timebase[obj][j];
|
|
75
|
+
timebase[obj][j] = tempobj;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
const displaysch = [];
|
|
82
|
+
let pday = 0;
|
|
83
|
+
for (const obj in timebase) {
|
|
84
|
+
if (obj) {
|
|
85
|
+
let curstr = '';
|
|
86
|
+
let gap = 0;
|
|
87
|
+
for (let i = 0; i < timebase[obj].length; i++) {
|
|
88
|
+
if (i === 0) {
|
|
89
|
+
curstr = this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
90
|
+
pday = timebase[obj][i].day;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
const diffs = timebase[obj][i].day - pday;
|
|
94
|
+
if (diffs > 1) {
|
|
95
|
+
if (gap >= 1) {
|
|
96
|
+
if (curstr.includes((this.dateTimeProcessor.getDay(pday)))) {
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
curstr = curstr + ' - ' + this.dateTimeProcessor.getDay(pday);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
curstr = curstr + ', ' + this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
if (i === (timebase[obj].length - 1)) {
|
|
106
|
+
curstr = curstr + ' - ' + this.dateTimeProcessor.getDay(timebase[obj][i].day);
|
|
107
|
+
}
|
|
108
|
+
gap++;
|
|
109
|
+
}
|
|
110
|
+
pday = timebase[obj][i].day;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
displaysch.push({ 'time': timebase[obj][0]['sTime'] + ' - ' + timebase[obj][0]['eTime'], 'dstr': curstr, 'indx': obj, 'recurrtype': timebase[obj][0]['recurrtype'] });
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return displaysch;
|
|
117
|
+
}
|
|
118
|
+
getminutesOfDay(m) {
|
|
119
|
+
return parseInt(m.minute, 10) + parseInt(m.hour, 10) * 60;
|
|
120
|
+
}
|
|
121
|
+
getTimeinMin(time) {
|
|
122
|
+
const time_min = (time.hour * 60) + time.minute;
|
|
123
|
+
return (typeof (time_min) === 'number') ? time_min : 0;
|
|
124
|
+
}
|
|
125
|
+
prepareScheduleforSaving(schedule_arr) {
|
|
126
|
+
const timebase = [];
|
|
127
|
+
for (let i = 0; i < schedule_arr.length; i++) {
|
|
128
|
+
const timeindx = schedule_arr[i]['sTime'].replace(/\s+/, '') + schedule_arr[i]['eTime'].replace(/\s+/, '');
|
|
129
|
+
if (timebase[timeindx] === undefined) {
|
|
130
|
+
timebase[timeindx] = new Array();
|
|
131
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
timebase[timeindx].push(schedule_arr[i]);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
for (const obj in timebase) {
|
|
138
|
+
if (obj) {
|
|
139
|
+
const len = timebase[obj].length;
|
|
140
|
+
for (let i = 0; i < len; i++) {
|
|
141
|
+
for (let j = i + 1; j < len; j++) {
|
|
142
|
+
if (timebase[obj][j].day < timebase[obj][i].day) {
|
|
143
|
+
const tempobj = timebase[obj][i];
|
|
144
|
+
timebase[obj][i] = timebase[obj][j];
|
|
145
|
+
timebase[obj][j] = tempobj;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const displaysch = [];
|
|
152
|
+
for (const obj in timebase) {
|
|
153
|
+
if (obj) {
|
|
154
|
+
const curstr = [];
|
|
155
|
+
for (let i = 0; i < timebase[obj].length; i++) {
|
|
156
|
+
curstr.push(timebase[obj][i].day);
|
|
157
|
+
}
|
|
158
|
+
displaysch.push({ 'stime': timebase[obj][0]['sTime'], 'etime': timebase[obj][0]['eTime'], 'daystr': curstr });
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
return displaysch;
|
|
162
|
+
}
|
|
163
|
+
formatTime(hours, minutes) {
|
|
164
|
+
let sHours = hours.toString();
|
|
165
|
+
let sMinutes = minutes.toString();
|
|
166
|
+
if (hours < 10) {
|
|
167
|
+
sHours = '0' + sHours;
|
|
168
|
+
}
|
|
169
|
+
if (minutes < 10) {
|
|
170
|
+
sMinutes = '0' + sMinutes;
|
|
171
|
+
}
|
|
172
|
+
const time24 = sHours + ':' + sMinutes + ':00';
|
|
173
|
+
return time24;
|
|
174
|
+
}
|
|
175
|
+
AMHourto24Time(time12) {
|
|
176
|
+
const time = time12;
|
|
177
|
+
let hours = Number(time.match(/^(\d+)/)[1]);
|
|
178
|
+
const minutes = Number(time.match(/:(\d+)/)[1]);
|
|
179
|
+
const AMPM = time.match(/\s(.*)$/)[1];
|
|
180
|
+
if (AMPM === 'PM' && hours < 12) {
|
|
181
|
+
hours = hours + 12;
|
|
182
|
+
}
|
|
183
|
+
if (AMPM === 'AM' && hours === 12) {
|
|
184
|
+
hours = hours - 12;
|
|
185
|
+
}
|
|
186
|
+
let sHours = hours.toString();
|
|
187
|
+
let sMinutes = minutes.toString();
|
|
188
|
+
if (hours < 10) {
|
|
189
|
+
sHours = '0' + sHours;
|
|
190
|
+
}
|
|
191
|
+
if (minutes < 10) {
|
|
192
|
+
sMinutes = '0' + sMinutes;
|
|
193
|
+
}
|
|
194
|
+
const time24 = sHours + ':' + sMinutes + ':00';
|
|
195
|
+
return time24;
|
|
196
|
+
}
|
|
197
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService, deps: [{ token: i1.DateTimeProcessor }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
198
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService });
|
|
199
|
+
}
|
|
200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: JaldeeTimeService, decorators: [{
|
|
201
|
+
type: Injectable
|
|
202
|
+
}], ctorParameters: () => [{ type: i1.DateTimeProcessor }] });
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamFsZGVlLXRpbWUtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2pjb25zdW1lci1zaGFyZWQvc3JjL2xpYi9jYWxlbmRhci90aW1lL2phbGRlZS10aW1lLXNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSzNDLE1BQU0sT0FBTyxpQkFBaUI7SUFHTjtJQUZwQixNQUFNLENBQU07SUFFWixZQUFvQixpQkFBb0M7UUFBcEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsd0JBQXdCLENBQUMsUUFBYSxFQUFFLFNBQWMsRUFBRSxPQUFZO1FBQ2hFLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNwQiw0QkFBNEI7UUFDNUIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN0RixJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0UsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEYsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFT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QUksS0FBSyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2IsTUFBTSxHQUFHLEdBQUcsR0FBRyxNQUFNLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksT0FBTyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQ2YsUUFBUSxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7UUFDOUIsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUMvQyxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO3dHQXZMUSxpQkFBaUI7NEdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFGN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEYXRlVGltZVByb2Nlc3NvciB9IGZyb20gXCIuLi9kYXRlLXRpbWUvZGF0ZXRpbWUtcHJvY2Vzc29yLnNlcnZpY2VcIjtcclxuXHJcbkBJbmplY3RhYmxlKClcclxuXHJcbmV4cG9ydCBjbGFzcyBKYWxkZWVUaW1lU2VydmljZSB7XHJcbiAgICBtb21lbnQ6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGVUaW1lUHJvY2Vzc29yOiBEYXRlVGltZVByb2Nlc3Nvcikge1xyXG4gICAgICAgIHRoaXMubW9tZW50ID0gdGhpcy5kYXRlVGltZVByb2Nlc3Nvci5nZXRNb21lbnQoKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIGludGVydmFsIFxyXG4gICAgICogQHBhcmFtIHN0YXJ0VGltZSBcclxuICAgICAqIEBwYXJhbSBlbmRUaW1lIFxyXG4gICAgICogQHJldHVybnMgXHJcbiAgICAgKi9cclxuICAgIGdldFRpbWVTbG90c0Zyb21RVGltaW5ncyhpbnRlcnZhbDogYW55LCBzdGFydFRpbWU6IGFueSwgZW5kVGltZTogYW55KSB7XHJcbiAgICAgICAgY29uc3Qgc2xvdExpc3QgPSBbXTtcclxuICAgICAgICAvLyBzbG90TGlzdC5wdXNoKHN0YXJ0VGltZSk7XHJcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lU3RyID0gdGhpcy5tb21lbnQoc3RhcnRUaW1lLCBbJ0hIOm1tIEEnXSkuZm9ybWF0KCdISDptbSBBJykudG9TdHJpbmcoKTtcclxuICAgICAgICBsZXQgc3RhcnRpbmdEVGltZSA9IHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF0ZUZyb21UaW1lU3RyaW5nKHN0YXJ0VGltZVN0cik7XHJcbiAgICAgICAgc2xvdExpc3QucHVzaCh0aGlzLm1vbWVudChzdGFydFRpbWUsIFsnSEg6bW0gQSddKS5mb3JtYXQoJ2hoOm1tIEEnKS50b1N0cmluZygpKTtcclxuICAgICAgICBjb25zdCBlbmRUaW1lU3RyID0gdGhpcy5tb21lbnQoZW5kVGltZSwgWydISDptbSBBJ10pLmZvcm1hdCgnSEg6bW0gQScpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgY29uc3QgZW5kRFRpbWUgPSB0aGlzLmRhdGVUaW1lUHJvY2Vzc29yLmdldERhdGVGcm9tVGltZVN0cmluZyhlbmRUaW1lU3RyKTtcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cmFkaXhcclxuICAgICAgICBjb25zdCBlbmREYXRlID0gcGFyc2VJbnQodGhpcy5tb21lbnQoZW5kRFRpbWUsIFsnREQnXSkuZm9ybWF0KCdERCcpLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgIC8vIGxldCBzdGFydGluZ0RUaW1lID0gdGhpcy5nZXREYXRlRnJvbVRpbWVTdHJpbmcoc3RhcnRUaW1lKTtcclxuICAgICAgICBsZXQgZXhpdExvb3AgPSBmYWxzZTtcclxuICAgICAgICB3aGlsZSAoIWV4aXRMb29wKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5leHRUaW1lID0gdGhpcy5tb21lbnQoc3RhcnRpbmdEVGltZSkuYWRkKGludGVydmFsLCAnbScpO1xyXG4gICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6cmFkaXhcclxuICAgICAgICAgICAgY29uc3QgbmV4dERhdGUgPSBwYXJzZUludChuZXh0VGltZS5mb3JtYXQoJ0REJykpO1xyXG4gICAgICAgICAgICBjb25zdCBuZXh0VGltZUR0ID0gdGhpcy5kYXRlVGltZVByb2Nlc3Nvci5nZXREYXRlRnJvbVRpbWVTdHJpbmcodGhpcy5tb21lbnQobmV4dFRpbWUsIFsnSEg6bW0gQSddKS5mb3JtYXQoJ0hIOm1tIEEnKS50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgaWYgKG5leHREYXRlID09PSBlbmREYXRlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobmV4dFRpbWVEdC5nZXRUaW1lKCkgPD0gZW5kRFRpbWUuZ2V0VGltZSgpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2xvdExpc3QucHVzaCh0aGlzLm1vbWVudChuZXh0VGltZSwgWydISDptbSBBJ10pLmZvcm1hdCgnaGg6bW0gQScpLnRvU3RyaW5nKCkpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBleGl0TG9vcCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBleGl0TG9vcCA9IHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgc3RhcnRpbmdEVGltZSA9IG5leHRUaW1lRHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBzbG90TGlzdDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHNjaGVkdWxlX2FyciBcclxuICAgICAqIEByZXR1cm5zIFxyXG4gICAgICovXHJcbiAgICBhcnJhZ2VTY2hlZHVsZWZvckRpc3BsYXkoc2NoZWR1bGVfYXJyOiBhbnkpIHtcclxuICAgICAgICBjb25zdCB0aW1lYmFzZTogYW55ID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzY2hlZHVsZV9hcnIubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgY29uc3QgdGltZWluZHggPSBzY2hlZHVsZV9hcnJbaV1bJ3NUaW1lJ10ucmVwbGFjZSgvXFxzKy8sICcnKSArIHNjaGVkdWxlX2FycltpXVsnZVRpbWUnXS5yZXBsYWNlKC9cXHMrLywgJycpO1xyXG4gICAgICAgICAgICBpZiAodGltZWJhc2VbdGltZWluZHhdID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRpbWViYXNlW3RpbWVpbmR4XSA9IG5ldyBBcnJheSgpO1xyXG4gICAgICAgICAgICAgICAgdGltZWJhc2VbdGltZWluZHhdLnB1c2goc2NoZWR1bGVfYXJyW2ldKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHRpbWViYXNlW3RpbWVpbmR4XS5wdXNoKHNjaGVkdWxlX2FycltpXSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZm9yIChjb25zdCBvYmogaW4gdGltZWJhc2UpIHtcclxuICAgICAgICAgICAgaWYgKG9iaikge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgbGVuID0gdGltZWJhc2Vbb2JqXS5sZW5ndGg7XHJcbiAgICAgICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgbGVuOyBqKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRpbWViYXNlW29ial1bal0uZGF5IDwgdGltZWJhc2Vbb2JqXVtpXS5kYXkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRlbXBvYmogPSB0aW1lYmFzZVtvYmpdW2ldO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGltZWJhc2Vbb2JqXVtpXSA9IHRpbWViYXNlW29ial1bal07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYmFzZVtvYmpdW2pdID0gdGVtcG9iajtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBkaXNwbGF5c2NoID0gW107XHJcbiAgICAgICAgbGV0IHBkYXkgPSAwO1xyXG4gICAgICAgIGZvciAoY29uc3Qgb2JqIGluIHRpbWViYXNlKSB7XHJcbiAgICAgICAgICAgIGlmIChvYmopIHtcclxuICAgICAgICAgICAgICAgIGxldCBjdXJzdHIgPSAnJztcclxuICAgICAgICAgICAgICAgIGxldCBnYXAgPSAwO1xyXG4gICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aW1lYmFzZVtvYmpdLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPT09IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc3RyID0gdGhpcy5kYXRlVGltZVByb2Nlc3Nvci5nZXREYXkodGltZWJhc2Vbb2JqXVtpXS5kYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwZGF5ID0gdGltZWJhc2Vbb2JqXVtpXS5kYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGlmZnMgPSB0aW1lYmFzZVtvYmpdW2ldLmRheSAtIHBkYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChkaWZmcyA+IDEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChnYXAgPj0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjdXJzdHIuaW5jbHVkZXMoKHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF5KHBkYXkpKSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzdHIgPSBjdXJzdHIgKyAnIC0gJyArIHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF5KHBkYXkpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnN0ciA9IGN1cnN0ciArICcsICcgKyB0aGlzLmRhdGVUaW1lUHJvY2Vzc29yLmdldERheSh0aW1lYmFzZVtvYmpdW2ldLmRheSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaSA9PT0gKHRpbWViYXNlW29ial0ubGVuZ3RoIC0gMSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzdHIgPSBjdXJzdHIgKyAnIC0gJyArIHRoaXMuZGF0ZVRpbWVQcm9jZXNzb3IuZ2V0RGF5KHRpbWViYXNlW29ial1baV0uZGF5KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdhcCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBkYXkgPSB0aW1lYmFzZVtvYmpdW2ldLmRheTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5c2NoLnB1c2goeyAndGltZSc6IHRpbWViYXNlW29ial1bMF1bJ3NUaW1lJ10gKyAnIC0gJyArIHRpbWViYXNlW29ial1bMF1bJ2VUaW1lJ10sICdkc3RyJzogY3Vyc3RyLCAnaW5keCc6IG9iaiwgJ3JlY3VycnR5cGUnOiB0aW1lYmFzZVtvYmpdWzBdWydyZWN1cnJ0eXBlJ10gfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlzY2g7XHJcbiAgICB9XHJcbiAgICBnZXRtaW51dGVzT2ZEYXkobSkge1xyXG4gICAgICAgIHJldHVybiBwYXJzZUludChtLm1pbnV0ZSwgMTApICsgcGFyc2VJbnQobS5ob3VyLCAxMCkgKiA2MDtcclxuICAgIH1cclxuICAgIGdldFRpbWVpbk1pbih0aW1lKSB7XHJcbiAgICAgICAgY29uc3QgdGltZV9taW4gPSAodGltZS5ob3VyICogNjApICsgdGltZS5taW51dGU7XHJcbiAgICAgICAgcmV0dXJuICh0eXBlb2YgKHRpbWVfbWluKSA9PT0gJ251bWJlcicpID8gdGltZV9taW4gOiAwO1xyXG4gICAgfVxyXG4gICAgcHJlcGFyZVNjaGVkdWxlZm9yU2F2aW5nKHNjaGVkdWxlX2Fycikge1xyXG4gICAgICAgIGNvbnN0IHRpbWViYXNlOiBhbnkgPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNjaGVkdWxlX2Fyci5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBjb25zdCB0aW1laW5keCA9IHNjaGVkdWxlX2FycltpXVsnc1RpbWUnXS5yZXBsYWNlKC9cXHMrLywgJycpICsgc2NoZWR1bGVfYXJyW2ldWydlVGltZSddLnJlcGxhY2UoL1xccysvLCAnJyk7XHJcbiAgICAgICAgICAgIGlmICh0aW1lYmFzZVt0aW1laW5keF0gPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgdGltZWJhc2VbdGltZWluZHhdID0gbmV3IEFycmF5KCk7XHJcbiAgICAgICAgICAgICAgICB0aW1lYmFzZVt0aW1laW5keF0ucHVzaChzY2hlZHVsZV9hcnJbaV0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGltZWJhc2VbdGltZWluZHhdLnB1c2goc2NoZWR1bGVfYXJyW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBmb3IgKGNvbnN0IG9iaiBpbiB0aW1lYmFzZSkge1xyXG4gICAgICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBsZW4gPSB0aW1lYmFzZVtvYmpdLmxlbmd0aDtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBmb3IgKGxldCBqID0gaSArIDE7IGogPCBsZW47IGorKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodGltZWJhc2Vbb2JqXVtqXS5kYXkgPCB0aW1lYmFzZVtvYmpdW2ldLmRheSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGVtcG9iaiA9IHRpbWViYXNlW29ial1baV07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lYmFzZVtvYmpdW2ldID0gdGltZWJhc2Vbb2JqXVtqXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWViYXNlW29ial1bal0gPSB0ZW1wb2JqO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGRpc3BsYXlzY2ggPSBbXTtcclxuICAgICAgICBmb3IgKGNvbnN0IG9iaiBpbiB0aW1lYmFzZSkge1xyXG4gICAgICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBjdXJzdHIgPSBbXTtcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGltZWJhc2Vbb2JqXS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGN1cnN0ci5wdXNoKHRpbWViYXNlW29ial1baV0uZGF5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGRpc3BsYXlzY2gucHVzaCh7ICdzdGltZSc6IHRpbWViYXNlW29ial1bMF1bJ3NUaW1lJ10sICdldGltZSc6IHRpbWViYXNlW29ial1bMF1bJ2VUaW1lJ10sICdkYXlzdHInOiBjdXJzdHIgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlzY2g7XHJcbiAgICB9XHJcblxyXG4gICAgZm9ybWF0VGltZShob3VycywgbWludXRlcykge1xyXG4gICAgICAgIGxldCBzSG91cnMgPSBob3Vycy50b1N0cmluZygpO1xyXG4gICAgICAgIGxldCBzTWludXRlcyA9IG1pbnV0ZXMudG9TdHJpbmcoKTtcclxuICAgICAgICBpZiAoaG91cnMgPCAxMCkge1xyXG4gICAgICAgICAgICBzSG91cnMgPSAnMCcgKyBzSG91cnM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChtaW51dGVzIDwgMTApIHtcclxuICAgICAgICAgICAgc01pbnV0ZXMgPSAnMCcgKyBzTWludXRlcztcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgdGltZTI0ID0gc0hvdXJzICsgJzonICsgc01pbnV0ZXMgKyAnOjAwJztcclxuICAgICAgICByZXR1cm4gdGltZTI0O1xyXG4gICAgfVxyXG4gICAgQU1Ib3VydG8yNFRpbWUodGltZTEyKSB7XHJcbiAgICAgICAgY29uc3QgdGltZSA9IHRpbWUxMjtcclxuICAgICAgICBsZXQgaG91cnMgPSBOdW1iZXIodGltZS5tYXRjaCgvXihcXGQrKS8pWzFdKTtcclxuICAgICAgICBjb25zdCBtaW51dGVzID0gTnVtYmVyKHRpbWUubWF0Y2goLzooXFxkKykvKVsxXSk7XHJcbiAgICAgICAgY29uc3QgQU1QTSA9IHRpbWUubWF0Y2goL1xccyguKikkLylbMV07XHJcbiAgICAgICAgaWYgKEFNUE0gPT09ICdQTScgJiYgaG91cnMgPCAxMikgeyBob3VycyA9IGhvdXJzICsgMTI7IH1cclxuICAgICAgICBpZiAoQU1QTSA9PT0gJ0FNJyAmJiBob3VycyA9PT0gMTIpIHsgaG91cnMgPSBob3VycyAtIDEyOyB9XHJcbiAgICAgICAgbGV0IHNIb3VycyA9IGhvdXJzLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgbGV0IHNNaW51dGVzID0gbWludXRlcy50b1N0cmluZygpO1xyXG4gICAgICAgIGlmIChob3VycyA8IDEwKSB7XHJcbiAgICAgICAgICAgIHNIb3VycyA9ICcwJyArIHNIb3VycztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKG1pbnV0ZXMgPCAxMCkge1xyXG4gICAgICAgICAgICBzTWludXRlcyA9ICcwJyArIHNNaW51dGVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0aW1lMjQgPSBzSG91cnMgKyAnOicgKyBzTWludXRlcyArICc6MDAnO1xyXG4gICAgICAgIHJldHVybiB0aW1lMjQ7XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
185
185
|
providedIn: 'root'
|
|
186
186
|
}]
|
|
187
187
|
}], ctorParameters: () => [{ type: i1.SharedService }] });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvY29tbW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRUo7SUFBcEIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRXJELE9BQU8sQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFPLEVBQUUsQ0FBTTtZQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHO1FBQ1QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDakMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JCLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxD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QyxFQUFFLENBQUM7b0JBQ2hFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQU87UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxNQUFNLEVBQUUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0E1S1UsYUFBYTs0R0FBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnLi9zaGFyZWQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvbW1vblNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSkgeyB9XG5cbiAgZ3JvdXBCeSh4czogYW55LCBrZXk6IGFueSkge1xuICAgIHJldHVybiB4cy5yZWR1Y2UoZnVuY3Rpb24gKHJ2OiBhbnksIHg6IGFueSkge1xuICAgICAgKHJ2W3hba2V5XV0gPSBydlt4W2tleV1dIHx8IFtdKS5wdXNoKHgpO1xuICAgICAgcmV0dXJuIHJ2O1xuICAgIH0sIHt9KTtcbiAgfVxuXG4gIGlzVmFsaWQoZXZ0KSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUludChldnQudGFyZ2V0LnZhbHVlKTtcbiAgICBjb25zdCBtYXggPSBwYXJzZUludChldnQudGFyZ2V0Lm1heCk7XG4gICAgaWYgKHZhbHVlID4gbWF4KSB7XG4gICAgICBsZXQgbnVtU3RyaW5nID0gZXZ0LnRhcmdldC52YWx1ZTtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgbnVtU3RyaW5nID0gbnVtU3RyaW5nLnN1YnN0cigwLCBudW1TdHJpbmcubGVuZ3RoIC0gMSk7XG4gICAgICBldnQudGFyZ2V0LnZhbHVlID0gcGFyc2VJbnQobnVtU3RyaW5nKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaXNOdW1lcmljd2l0aG91dGRvdChldnQpIHtcbiAgICBjb25zdCBpbnB1dEtleUNvZGUgPSBldnQua2V5Q29kZSA/IGV2dC5rZXlDb2RlIDogZXZ0LndoaWNoO1xuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIGlzTnVtYmVyKGV2dCkge1xuICAgIGV2dCA9IChldnQpID8gZXZ0IDogd2luZG93LmV2ZW50O1xuICAgIGNvbnN0IGNoYXJDb2RlID0gKGV2dC53aGljaCkgPyBldnQud2hpY2ggOiBldnQua2V5Q29kZTtcbiAgICBpZiAoY2hhckNvZGUgPiAzMSAmJiAoY2hhckNvZGUgPCA0OCB8fCBjaGFyQ29kZSA+IDU3KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpc051bWVyaWMoZXZ0OiBhbnkpIHtcbiAgICBjb25zdCBpbnB1dEtleUNvZGUgPSBldnQua2V5Q29kZSA/IGV2dC5rZXlDb2RlIDogZXZ0LndoaWNoO1xuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4IHx8IGlucHV0S2V5Q29kZSA9PT0gNDYpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaXNOdW1lcmljU2lnbihldnQpIHtcbiAgICBjb25zdCBpbnB1dEtleUNvZGUgPSBldnQua2V5Q29kZSA/IGV2dC5rZXlDb2RlIDogZXZ0LndoaWNoO1xuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4IHx8IGlucHV0S2V5Q29kZSA9PT0gNDYgfHwgaW5wdXRLZXlDb2RlID09PSA0Mykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBzaG93bG9nb2ljb24obG9nbzogYW55KSB7XG4gICAgaWYgKGxvZ28gPT0gbnVsbCB8fCBsb2dvID09PSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMuc2hhcmVkU2VydmljZS5nZXRDRE5QYXRoKCkgKyAnYXNzZXRzL2ltYWdlcy9ub19pbWFnZV9pY29uLnBuZyc7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsb2dvO1xuICAgIH1cbiAgfVxuICBnZXREaXN0YW5jZUZyb21MYXRMb25JbkttKGxhdDEsIGxvbjEsIGxhdDIsIGxvbjIpIHtcbiAgICBjb25zdCBSID0gNjM3MTsgLy8gUmFkaXVzIG9mIHRoZSBlYXJ0aCBpbiBrbVxuICAgIGNvbnN0IGRMYXQgPSB0aGlzLmRlZzJyYWQobGF0MiAtIGxhdDEpOyAgLy8gZGVnMnJhZCBiZWxvd1xuICAgIGNvbnN0IGRMb24gPSB0aGlzLmRlZzJyYWQobG9uMiAtIGxvbjEpO1xuICAgIGNvbnN0IGEgPVxuICAgICAgTWF0aC5zaW4oZExhdCAvIDIpICogTWF0aC5zaW4oZExhdCAvIDIpICtcbiAgICAgIE1hdGguY29zKHRoaXMuZGVnMnJhZChsYXQxKSkgKiBNYXRoLmNvcyh0aGlzLmRlZzJyYWQobGF0MikpICpcbiAgICAgIE1hdGguc2luKGRMb24gLyAyKSAqIE1hdGguc2luKGRMb24gLyAyKTtcbiAgICBjb25zdCBjID0gMiAqIE1hdGguYXRhbjIoTWF0aC5zcXJ0KGEpLCBNYXRoLnNxcnQoMSAtIGEpKTtcbiAgICBjb25zdCBkID0gUiAqIGM7IC8vIERpc3RhbmNlIGluIGttXG4gICAgcmV0dXJuIGQ7XG4gIH1cbiAgZGVnMnJhZChkZWcpIHtcbiAgICByZXR1cm4gZGVnICogTWF0aC5QSSAvIDE4MDtcbiAgfVxuICBnZXRDdXJyZW50TG9jYXRpb24oKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIGlmIChuYXZpZ2F0b3IpIHtcbiAgICAgICAgbGV0IGxhdF9sbmcgPSB7XG4gICAgICAgICAgbGF0aXR1ZGU6IDAsXG4gICAgICAgICAgbG9uZ2l0dWRlOiAwXG4gICAgICAgIH07XG4gICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24ocG9zID0+IHtcbiAgICAgICAgICBsYXRfbG5nLmxvbmdpdHVkZSA9ICtwb3MuY29vcmRzLmxvbmdpdHVkZTtcbiAgICAgICAgICBsYXRfbG5nLmxhdGl0dWRlID0gK3Bvcy5jb29yZHMubGF0aXR1ZGU7XG4gICAgICAgICAgcmVzb2x2ZShsYXRfbG5nKTtcbiAgICAgICAgfSxcbiAgICAgICAgICBlcnJvciA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbiAgc29ydFZmaWVsZHMoZGF0YUY6IGFueSkge1xuICAgIGxldCB0ZW1wO1xuICAgIGNvbnN0IHRlbXAxID0gbmV3IEFycmF5KCk7XG4gICAgbGV0IHRlbXAyID0gbmV3IEFycmF5KCk7XG4gICAgbGV0IHRlbXAzID0gbmV3IEFycmF5KCk7XG4gICAgY29uc29sZS5sb2coZGF0YUYpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUYubGVuZ3RoOyBpKyspIHtcbiAgICAgIHRlbXAyID0gW107XG4gICAgICBsZXQgc3RyID0gJyc7XG4gICAgICBkYXRhRltpXVsndHlwZSddID0gdHlwZW9mIGRhdGFGW2ldLnZhbHVlO1xuICAgICAgc3dpdGNoIChkYXRhRltpXS5kYXRhVHlwZSkge1xuICAgICAgICBjYXNlICdHZW5kZXInOlxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdFbnVtJzpcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRW51bUxpc3QnOlxuICAgICAgICAgIHN0ciA9ICcnO1xuICAgICAgICAgIHRlbXAzID0gW107XG4gICAgICAgICAgZm9yIChsZXQgamogPSAwOyBqaiA8IGRhdGFGW2ldLnZhbHVlLmxlbmd0aDsgamorKykge1xuICAgICAgICAgICAgaWYgKHN0ciAhPT0gJycpIHtcbiAgICAgICAgICAgICAgc3RyICs9ICcsICc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdHIgKz0gZGF0YUZbaV0udmFsdWVbampdLmRpc3BsYXlOYW1lO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0ZW1wMy5wdXNoKHN0cik7XG4gICAgICAgICAgdGVtcDIucHVzaCh0ZW1wMyk7XG4gICAgICAgICAgZGF0YUZbaV0udmFsdWUgPSB0ZW1wMjtcbiAgICAgICAgICB0ZW1wMS5wdXNoKGRhdGFGW2ldKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnRGF0YUdyaWQnOlxuICAgICAgICAgIGZvciAobGV0IGlpID0gMDsgaWkgPCBkYXRhRltpXS52YWx1ZS5sZW5ndGg7IGlpKyspIHtcbiAgICAgICAgICAgIHRlbXAzID0gW107XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhkYXRhRltpXS52YWx1ZVtpaV0pLmZvckVhY2gobmtleXMgPT4ge1xuICAgICAgICAgICAgICB0ZW1wMy5wdXNoKGRhdGFGW2ldLnZhbHVlW2lpXVtua2V5c10pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0ZW1wMi5wdXNoKHRlbXAzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZGF0YUZbaV0udmFsdWUgPSB0ZW1wMjtcbiAgICAgICAgICB0ZW1wMS5wdXNoKGRhdGFGW2ldKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnQm9vbGVhbic6XG4gICAgICAgICAgaWYgKGRhdGFGW2ldLnZhbHVlID09PSAndHJ1ZScpIHtcbiAgICAgICAgICAgIGRhdGFGW2ldLnZhbHVlID0gJ1llcyc7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRhdGFGW2ldLnZhbHVlID0gJ05vJztcbiAgICAgICAgICB9XG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGRhdGFGID0gdGVtcDE7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhRi5sZW5ndGg7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgZGF0YUYubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgaWYgKHBhcnNlSW50KGRhdGFGW2ldLm9yZGVyLCAxMCkgPiBwYXJzZUludChkYXRhRltqXS5vcmRlciwgMTApKSB7XG4gICAgICAgICAgdGVtcCA9IGRhdGFGW2ldO1xuICAgICAgICAgIGRhdGFGW2ldID0gZGF0YUZbal07XG4gICAgICAgICAgZGF0YUZbal0gPSB0ZW1wO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhRjtcbiAgfVxuICBiNjR0b0Jsb2Jmb3JTaWduKGI2NERhdGEpIHtcbiAgICBjb25zdCBieXRlU3RyaW5nID0gYXRvYihiNjREYXRhLnNwbGl0KCcsJylbMV0pO1xuICAgIGNvbnN0IGFiID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcbiAgICBjb25zdCBpYSA9IG5ldyBVaW50OEFycmF5KGFiKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZVN0cmluZy5sZW5ndGg7IGkrKykge1xuICAgICAgaWFbaV0gPSBieXRlU3RyaW5nLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgQmxvYihbYWJdLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KTtcbiAgfVxufVxuIl19
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9qY29uc3VtZXItc2hhcmVkL3NyYy9saWIvY29tbW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBRUo7SUFBcEIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBSSxDQUFDO0lBRXJELE9BQU8sQ0FBQyxFQUFPLEVBQUUsR0FBUTtRQUN2QixPQUFPLEVBQUUsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFPLEVBQUUsQ0FBTTtZQUN4QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1QsQ0FBQztJQUVELE9BQU8sQ0FBQyxHQUFHO1FBQ1QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDckMsSUFBSSxLQUFLLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFDaEIsSUFBSSxTQUFTLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFDakMsR0FBRyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3JCLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxD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QyxFQUFFLENBQUM7b0JBQ2hFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2hCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUNELGdCQUFnQixDQUFDLE9BQU87UUFDdEIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxNQUFNLEVBQUUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsTUFBTSxFQUFFLEdBQUcsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUMzQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQzt3R0E1S1UsYUFBYTs0R0FBYixhQUFhLGNBRlosTUFBTTs7NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNoYXJlZFNlcnZpY2UgfSBmcm9tICcuL3NoYXJlZC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vblNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNoYXJlZFNlcnZpY2U6IFNoYXJlZFNlcnZpY2UpIHsgfVxyXG5cclxuICBncm91cEJ5KHhzOiBhbnksIGtleTogYW55KSB7XHJcbiAgICByZXR1cm4geHMucmVkdWNlKGZ1bmN0aW9uIChydjogYW55LCB4OiBhbnkpIHtcclxuICAgICAgKHJ2W3hba2V5XV0gPSBydlt4W2tleV1dIHx8IFtdKS5wdXNoKHgpO1xyXG4gICAgICByZXR1cm4gcnY7XHJcbiAgICB9LCB7fSk7XHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkKGV2dCkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZUludChldnQudGFyZ2V0LnZhbHVlKTtcclxuICAgIGNvbnN0IG1heCA9IHBhcnNlSW50KGV2dC50YXJnZXQubWF4KTtcclxuICAgIGlmICh2YWx1ZSA+IG1heCkge1xyXG4gICAgICBsZXQgbnVtU3RyaW5nID0gZXZ0LnRhcmdldC52YWx1ZTtcclxuICAgICAgZXZ0LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgIG51bVN0cmluZyA9IG51bVN0cmluZy5zdWJzdHIoMCwgbnVtU3RyaW5nLmxlbmd0aCAtIDEpO1xyXG4gICAgICBldnQudGFyZ2V0LnZhbHVlID0gcGFyc2VJbnQobnVtU3RyaW5nKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGlzTnVtZXJpY3dpdGhvdXRkb3QoZXZ0KSB7XHJcbiAgICBjb25zdCBpbnB1dEtleUNvZGUgPSBldnQua2V5Q29kZSA/IGV2dC5rZXlDb2RlIDogZXZ0LndoaWNoO1xyXG4gICAgaWYgKChpbnB1dEtleUNvZGUgPj0gNDggJiYgaW5wdXRLZXlDb2RlIDw9IDU3KSB8fCBpbnB1dEtleUNvZGUgPT09IDgpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc051bWJlcihldnQpIHtcclxuICAgIGV2dCA9IChldnQpID8gZXZ0IDogd2luZG93LmV2ZW50O1xyXG4gICAgY29uc3QgY2hhckNvZGUgPSAoZXZ0LndoaWNoKSA/IGV2dC53aGljaCA6IGV2dC5rZXlDb2RlO1xyXG4gICAgaWYgKGNoYXJDb2RlID4gMzEgJiYgKGNoYXJDb2RlIDwgNDggfHwgY2hhckNvZGUgPiA1NykpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG4gIGlzTnVtZXJpYyhldnQ6IGFueSkge1xyXG4gICAgY29uc3QgaW5wdXRLZXlDb2RlID0gZXZ0LmtleUNvZGUgPyBldnQua2V5Q29kZSA6IGV2dC53aGljaDtcclxuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4IHx8IGlucHV0S2V5Q29kZSA9PT0gNDYpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBldnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc051bWVyaWNTaWduKGV2dCkge1xyXG4gICAgY29uc3QgaW5wdXRLZXlDb2RlID0gZXZ0LmtleUNvZGUgPyBldnQua2V5Q29kZSA6IGV2dC53aGljaDtcclxuICAgIGlmICgoaW5wdXRLZXlDb2RlID49IDQ4ICYmIGlucHV0S2V5Q29kZSA8PSA1NykgfHwgaW5wdXRLZXlDb2RlID09PSA4IHx8IGlucHV0S2V5Q29kZSA9PT0gNDYgfHwgaW5wdXRLZXlDb2RlID09PSA0Mykge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNob3dsb2dvaWNvbihsb2dvOiBhbnkpIHtcclxuICAgIGlmIChsb2dvID09IG51bGwgfHwgbG9nbyA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc2hhcmVkU2VydmljZS5nZXRDRE5QYXRoKCkgKyAnYXNzZXRzL2ltYWdlcy9ub19pbWFnZV9pY29uLnBuZyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gbG9nbztcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0RGlzdGFuY2VGcm9tTGF0TG9uSW5LbShsYXQxLCBsb24xLCBsYXQyLCBsb24yKSB7XHJcbiAgICBjb25zdCBSID0gNjM3MTsgLy8gUmFkaXVzIG9mIHRoZSBlYXJ0aCBpbiBrbVxyXG4gICAgY29uc3QgZExhdCA9IHRoaXMuZGVnMnJhZChsYXQyIC0gbGF0MSk7ICAvLyBkZWcycmFkIGJlbG93XHJcbiAgICBjb25zdCBkTG9uID0gdGhpcy5kZWcycmFkKGxvbjIgLSBsb24xKTtcclxuICAgIGNvbnN0IGEgPVxyXG4gICAgICBNYXRoLnNpbihkTGF0IC8gMikgKiBNYXRoLnNpbihkTGF0IC8gMikgK1xyXG4gICAgICBNYXRoLmNvcyh0aGlzLmRlZzJyYWQobGF0MSkpICogTWF0aC5jb3ModGhpcy5kZWcycmFkKGxhdDIpKSAqXHJcbiAgICAgIE1hdGguc2luKGRMb24gLyAyKSAqIE1hdGguc2luKGRMb24gLyAyKTtcclxuICAgIGNvbnN0IGMgPSAyICogTWF0aC5hdGFuMihNYXRoLnNxcnQoYSksIE1hdGguc3FydCgxIC0gYSkpO1xyXG4gICAgY29uc3QgZCA9IFIgKiBjOyAvLyBEaXN0YW5jZSBpbiBrbVxyXG4gICAgcmV0dXJuIGQ7XHJcbiAgfVxyXG4gIGRlZzJyYWQoZGVnKSB7XHJcbiAgICByZXR1cm4gZGVnICogTWF0aC5QSSAvIDE4MDtcclxuICB9XHJcbiAgZ2V0Q3VycmVudExvY2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcclxuICAgICAgaWYgKG5hdmlnYXRvcikge1xyXG4gICAgICAgIGxldCBsYXRfbG5nID0ge1xyXG4gICAgICAgICAgbGF0aXR1ZGU6IDAsXHJcbiAgICAgICAgICBsb25naXR1ZGU6IDBcclxuICAgICAgICB9O1xyXG4gICAgICAgIG5hdmlnYXRvci5nZW9sb2NhdGlvbi5nZXRDdXJyZW50UG9zaXRpb24ocG9zID0+IHtcclxuICAgICAgICAgIGxhdF9sbmcubG9uZ2l0dWRlID0gK3Bvcy5jb29yZHMubG9uZ2l0dWRlO1xyXG4gICAgICAgICAgbGF0X2xuZy5sYXRpdHVkZSA9ICtwb3MuY29vcmRzLmxhdGl0dWRlO1xyXG4gICAgICAgICAgcmVzb2x2ZShsYXRfbG5nKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG4gIHNvcnRWZmllbGRzKGRhdGFGOiBhbnkpIHtcclxuICAgIGxldCB0ZW1wO1xyXG4gICAgY29uc3QgdGVtcDEgPSBuZXcgQXJyYXkoKTtcclxuICAgIGxldCB0ZW1wMiA9IG5ldyBBcnJheSgpO1xyXG4gICAgbGV0IHRlbXAzID0gbmV3IEFycmF5KCk7XHJcbiAgICBjb25zb2xlLmxvZyhkYXRhRik7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRhdGFGLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIHRlbXAyID0gW107XHJcbiAgICAgIGxldCBzdHIgPSAnJztcclxuICAgICAgZGF0YUZbaV1bJ3R5cGUnXSA9IHR5cGVvZiBkYXRhRltpXS52YWx1ZTtcclxuICAgICAgc3dpdGNoIChkYXRhRltpXS5kYXRhVHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ0dlbmRlcic6XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdFbnVtJzpcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ0VudW1MaXN0JzpcclxuICAgICAgICAgIHN0ciA9ICcnO1xyXG4gICAgICAgICAgdGVtcDMgPSBbXTtcclxuICAgICAgICAgIGZvciAobGV0IGpqID0gMDsgamogPCBkYXRhRltpXS52YWx1ZS5sZW5ndGg7IGpqKyspIHtcclxuICAgICAgICAgICAgaWYgKHN0ciAhPT0gJycpIHtcclxuICAgICAgICAgICAgICBzdHIgKz0gJywgJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzdHIgKz0gZGF0YUZbaV0udmFsdWVbampdLmRpc3BsYXlOYW1lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGVtcDMucHVzaChzdHIpO1xyXG4gICAgICAgICAgdGVtcDIucHVzaCh0ZW1wMyk7XHJcbiAgICAgICAgICBkYXRhRltpXS52YWx1ZSA9IHRlbXAyO1xyXG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdEYXRhR3JpZCc6XHJcbiAgICAgICAgICBmb3IgKGxldCBpaSA9IDA7IGlpIDwgZGF0YUZbaV0udmFsdWUubGVuZ3RoOyBpaSsrKSB7XHJcbiAgICAgICAgICAgIHRlbXAzID0gW107XHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGRhdGFGW2ldLnZhbHVlW2lpXSkuZm9yRWFjaChua2V5cyA9PiB7XHJcbiAgICAgICAgICAgICAgdGVtcDMucHVzaChkYXRhRltpXS52YWx1ZVtpaV1bbmtleXNdKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRlbXAyLnB1c2godGVtcDMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgZGF0YUZbaV0udmFsdWUgPSB0ZW1wMjtcclxuICAgICAgICAgIHRlbXAxLnB1c2goZGF0YUZbaV0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnQm9vbGVhbic6XHJcbiAgICAgICAgICBpZiAoZGF0YUZbaV0udmFsdWUgPT09ICd0cnVlJykge1xyXG4gICAgICAgICAgICBkYXRhRltpXS52YWx1ZSA9ICdZZXMnO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGF0YUZbaV0udmFsdWUgPSAnTm8nO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGVtcDEucHVzaChkYXRhRltpXSk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZGF0YUYgPSB0ZW1wMTtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YUYubGVuZ3RoOyBpKyspIHtcclxuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgZGF0YUYubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICBpZiAocGFyc2VJbnQoZGF0YUZbaV0ub3JkZXIsIDEwKSA+IHBhcnNlSW50KGRhdGFGW2pdLm9yZGVyLCAxMCkpIHtcclxuICAgICAgICAgIHRlbXAgPSBkYXRhRltpXTtcclxuICAgICAgICAgIGRhdGFGW2ldID0gZGF0YUZbal07XHJcbiAgICAgICAgICBkYXRhRltqXSA9IHRlbXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZGF0YUY7XHJcbiAgfVxyXG4gIGI2NHRvQmxvYmZvclNpZ24oYjY0RGF0YSkge1xyXG4gICAgY29uc3QgYnl0ZVN0cmluZyA9IGF0b2IoYjY0RGF0YS5zcGxpdCgnLCcpWzFdKTtcclxuICAgIGNvbnN0IGFiID0gbmV3IEFycmF5QnVmZmVyKGJ5dGVTdHJpbmcubGVuZ3RoKTtcclxuICAgIGNvbnN0IGlhID0gbmV3IFVpbnQ4QXJyYXkoYWIpO1xyXG5cclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZVN0cmluZy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpYVtpXSA9IGJ5dGVTdHJpbmcuY2hhckNvZGVBdChpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBuZXcgQmxvYihbYWJdLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -147,13 +147,13 @@ export class ConfirmBoxComponent {
|
|
|
147
147
|
this.dialogRef.close(post_data);
|
|
148
148
|
}
|
|
149
149
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmBoxComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i2.FormBuilder }, { token: i3.FormMessageDisplayService }], target: i0.ɵɵFactoryTarget.Component });
|
|
150
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmBoxComponent, selector: "app-confirm-box", ngImport: i0, template: "<form [formGroup]=\"amForm\" [ngClass]=\"this.data.theme\" novalidate (ngSubmit)=\"amForm.valid && onSubmit(amForm.value)\">\n <h1 class=\"mat-dialog-title\">\n <button #queue mat-dialog-close class=\"modal_close\" id=\"btnClose\">\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\n </button>\n </h1>\n <div mat-dialog-content>\n <p class=\"mb-4 fontsize\"> {{data.message}}</p>\n <div *ngIf=\"data && data.cancelPolicy\" class=\"policies\">\n <p-accordion [multiple]=\"true\">\n <p-accordionTab>\n <ng-template pTemplate=\"header\">\n <h4>Cancellation Policies</h4>\n </ng-template>\n <p>You can cancel your {{data.book}}s any time until\n <span *ngIf=\"data.wtlist.date\">{{data.wtlist.date| date:\n newDateFormat}}</span><span *ngIf=\"data.wtlist.appmtDate\">{{data.wtlist.appmtDate| date:\n newDateFormat}}</span><span *ngIf=\"data.wtlist.orderDate\">{{data.wtlist.orderDate| date:\n newDateFormat}}</span>.<span\n *ngIf=\"data.wtlist && data.wtlist.providerAccount && data.wtlist.providerAccount.businessName\">\n If the system doesn\u2019t permit your cancellation,\n contact your provider, {{data.wtlist.providerAccount.businessName}}.\n It\u2019s important to note that the\n provider may cancel your bookings at their discretion for their own reasons.\n Jaldee will keep you informed promptly regarding the changes through timely notifications.\n </span>\n </p>\n </p-accordionTab>\n <p-accordionTab>\n <ng-template pTemplate=\"header\">\n <h4>Refund policy for Advance Payments(only)</h4>\n </ng-template>\n <p>\n In the case of your cancellation, a 3% (payment gateway fee) will be deducted from the refund\n of the advanced payment made. For same-day cancellations, kindly contact your service provider,\n {{data.wtlist.providerAccount.businessName}} to initiate the refund. For any refund-related queries, reach\n out to\n {{data.wtlist.providerAccount.businessName}} for assistance.\n </p>\n </p-accordionTab>\n </p-accordion>\n <p class=\"mt-4\"> Are you sure you want to cancel this {{data.book}}? <br/></p>\n </div>\n <div *ngIf=\"data.book !== 'Order' && data.cancelPolicy\">\n <div class=\"form-group\">\n <label class=\"col-form-label\" for=\"displayName\">{{select_reason_cap}}*</label><br>\n <mat-chip-list>\n <mat-chip *ngFor=\"let cancel_reason of cancel_reasons\" class=\"me-2 mb-2\"\n color=\"{{(cancel_reason.value === amForm.get('reason').value) ? 'primary' : ''}}\"\n selected=\"{{(cancel_reason.value === amForm.get('reason').value) ? true : false}}\"\n [class.selected]=\"(cancel_reason.value === amForm.get('reason').value) ? true : false\"\n (click)=\"selectReason(cancel_reason)\">\n {{cancel_reason.title}}\n </mat-chip>\n </mat-chip-list>\n </div>\n <div class=\"form-group mt-2\">\n <mat-checkbox formControlName=\"send_message\">{{send_message_cap}} {{rep_username}}</mat-checkbox>\n </div>\n <div class=\"form-group reason-area\" *ngIf=\"amForm.get('send_message').value\">\n <textarea class=\"form-control\" rows=\"3\" id=\"message\" maxlength=\"1000\" pInputTextarea placeholder=\"Message\" formControlName=\"message\"></textarea>\n <app-field-error-display [displayError]=\"fed_service.isFieldValid(amForm,'message')\"\n errorMsg=\"Please enter a message.\">\n </app-field-error-display>\n </div>\n </div>\n </div>\n <div mat-dialog-actions *ngIf=\"data.book !== 'Order'&& data.cancelPolicy\" class=\"mb-2\">\n <div class=\"col-md-12\" style=\"margin-top: 15px;display: inline-flex;\">\n <button type=\"button\" mat-dialog-close class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\n <button type=\"submit\" mat-button [disabled]=\"!amForm.valid\" class=\"cs-btn bt1\" id=\"btnOk\">{{ok_btn_cap}}</button>\n </div>\n </div>\n <app-field-error-display [displayError]=\"true\" *ngIf=\"api_error\" errorMsg=\"{{api_error}}\"></app-field-error-display>\n <app-form-success-display [displayMsg]=\"true\" *ngIf=\"api_success\" successMsg=\"{{api_success}}\">\n </app-form-success-display>\n <div mat-dialog-actions class=\"paddingtop\" *ngIf=\"data.book !== 'Order' && !data.cancelPolicy\">\n <button tabindex=\"-1\" (click)=\"onClick(0)\" class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\n <button tabindex=\"2\" (click)=\"onClick(1)\" id=\"btnOk\"\n class=\"cs-btn bt1 reddelete checkavailabilitybutton\">{{ok_btn_cap}}</button>\n </div>\n <app-field-error-display [displayError]=\"true\" *ngIf=\"showError\" errorMsg=\"Department name is required\">\n </app-field-error-display>\n</form>", styles: [".mat-dialog-actions button{padding:10px 25px!important}.mat-dialog-title{color:#222223;background:#183e79;height:50px!important}.mat-dialog-title{margin:0;padding:15px 20px}p{font-size:12px!important}ul{margin-top:0;margin-bottom:10px}.paddingtop{padding-top:20px}.mat-dialog-actions{display:flex;justify-content:center;border:none}.mat-dialog-actions:last-child{margin:0;padding:20px}.mat-dialog-actions{box-shadow:0 0 30px #0000001a;position:relative;z-index:99}.bt1{margin-left:10px}.reddelete{background:#08b363}.cs-btn{position:relative;display:inline-block;margin-bottom:0;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:none;white-space:nowrap;outline:0;padding:10px 40px;font-size:inherit;line-height:1.4;z-index:2}.bt1,.bt2{border-radius:3px}.mat-dialog-content>.ng-star-inserted{margin-bottom:20px}ul{padding-left:40px}.reddelete{background:#183e79;color:#fff}::ng-deep .policies .p-accordion p-accordiontab .p-accordion-header .p-accordion-header-link{text-decoration:none!important}.fontsize{font-size:16px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "component", type: i5.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i5.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.FieldErrorDisplayComponent, selector: "app-field-error-display", inputs: ["errorMsg", "displayError", "errorMsgs"] }, { kind: "component", type: i11.FormSuccessDisplayComponent, selector: "app-form-success-display", inputs: ["successMsg", "displayMsg"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i12.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "pipe", type: i4.DatePipe, name: "date" }] });
|
|
150
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ConfirmBoxComponent, selector: "app-confirm-box", ngImport: i0, template: "<form [formGroup]=\"amForm\" [ngClass]=\"this.data.theme\" novalidate (ngSubmit)=\"amForm.valid && onSubmit(amForm.value)\">\r\n <h1 class=\"mat-dialog-title\">\r\n <button #queue mat-dialog-close class=\"modal_close\" id=\"btnClose\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\r\n </button>\r\n </h1>\r\n <div mat-dialog-content>\r\n <p class=\"mb-4 fontsize\"> {{data.message}}</p>\r\n <div *ngIf=\"data && data.cancelPolicy\" class=\"policies\">\r\n <p-accordion [multiple]=\"true\">\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Cancellation Policies</h4>\r\n </ng-template>\r\n <p>You can cancel your {{data.book}}s any time until\r\n <span *ngIf=\"data.wtlist.date\">{{data.wtlist.date| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.appmtDate\">{{data.wtlist.appmtDate| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.orderDate\">{{data.wtlist.orderDate| date:\r\n newDateFormat}}</span>.<span\r\n *ngIf=\"data.wtlist && data.wtlist.providerAccount && data.wtlist.providerAccount.businessName\">\r\n If the system doesn\u2019t permit your cancellation,\r\n contact your provider, {{data.wtlist.providerAccount.businessName}}.\r\n It\u2019s important to note that the\r\n provider may cancel your bookings at their discretion for their own reasons.\r\n Jaldee will keep you informed promptly regarding the changes through timely notifications.\r\n </span>\r\n </p>\r\n </p-accordionTab>\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Refund policy for Advance Payments(only)</h4>\r\n </ng-template>\r\n <p>\r\n In the case of your cancellation, a 3% (payment gateway fee) will be deducted from the refund\r\n of the advanced payment made. For same-day cancellations, kindly contact your service provider,\r\n {{data.wtlist.providerAccount.businessName}} to initiate the refund. For any refund-related queries, reach\r\n out to\r\n {{data.wtlist.providerAccount.businessName}} for assistance.\r\n </p>\r\n </p-accordionTab>\r\n </p-accordion>\r\n <p class=\"mt-4\"> Are you sure you want to cancel this {{data.book}}? <br/></p>\r\n </div>\r\n <div *ngIf=\"data.book !== 'Order' && data.cancelPolicy\">\r\n <div class=\"form-group\">\r\n <label class=\"col-form-label\" for=\"displayName\">{{select_reason_cap}}*</label><br>\r\n <mat-chip-list>\r\n <mat-chip *ngFor=\"let cancel_reason of cancel_reasons\" class=\"me-2 mb-2\"\r\n color=\"{{(cancel_reason.value === amForm.get('reason').value) ? 'primary' : ''}}\"\r\n selected=\"{{(cancel_reason.value === amForm.get('reason').value) ? true : false}}\"\r\n [class.selected]=\"(cancel_reason.value === amForm.get('reason').value) ? true : false\"\r\n (click)=\"selectReason(cancel_reason)\">\r\n {{cancel_reason.title}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"form-group mt-2\">\r\n <mat-checkbox formControlName=\"send_message\">{{send_message_cap}} {{rep_username}}</mat-checkbox>\r\n </div>\r\n <div class=\"form-group reason-area\" *ngIf=\"amForm.get('send_message').value\">\r\n <textarea class=\"form-control\" rows=\"3\" id=\"message\" maxlength=\"1000\" pInputTextarea placeholder=\"Message\" formControlName=\"message\"></textarea>\r\n <app-field-error-display [displayError]=\"fed_service.isFieldValid(amForm,'message')\"\r\n errorMsg=\"Please enter a message.\">\r\n </app-field-error-display>\r\n </div>\r\n </div>\r\n </div>\r\n <div mat-dialog-actions *ngIf=\"data.book !== 'Order'&& data.cancelPolicy\" class=\"mb-2\">\r\n <div class=\"col-md-12\" style=\"margin-top: 15px;display: inline-flex;\">\r\n <button type=\"button\" mat-dialog-close class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\r\n <button type=\"submit\" mat-button [disabled]=\"!amForm.valid\" class=\"cs-btn bt1\" id=\"btnOk\">{{ok_btn_cap}}</button>\r\n </div>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"api_error\" errorMsg=\"{{api_error}}\"></app-field-error-display>\r\n <app-form-success-display [displayMsg]=\"true\" *ngIf=\"api_success\" successMsg=\"{{api_success}}\">\r\n </app-form-success-display>\r\n <div mat-dialog-actions class=\"paddingtop\" *ngIf=\"data.book !== 'Order' && !data.cancelPolicy\">\r\n <button tabindex=\"-1\" (click)=\"onClick(0)\" class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\r\n <button tabindex=\"2\" (click)=\"onClick(1)\" id=\"btnOk\"\r\n class=\"cs-btn bt1 reddelete checkavailabilitybutton\">{{ok_btn_cap}}</button>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"showError\" errorMsg=\"Department name is required\">\r\n </app-field-error-display>\r\n</form>", styles: [".mat-dialog-actions button{padding:10px 25px!important}.mat-dialog-title{color:#222223;background:#183e79;height:50px!important}.mat-dialog-title{margin:0;padding:15px 20px}p{font-size:12px!important}ul{margin-top:0;margin-bottom:10px}.paddingtop{padding-top:20px}.mat-dialog-actions{display:flex;justify-content:center;border:none}.mat-dialog-actions:last-child{margin:0;padding:20px}.mat-dialog-actions{box-shadow:0 0 30px #0000001a;position:relative;z-index:99}.bt1{margin-left:10px}.reddelete{background:#08b363}.cs-btn{position:relative;display:inline-block;margin-bottom:0;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:none;white-space:nowrap;outline:0;padding:10px 40px;font-size:inherit;line-height:1.4;z-index:2}.bt1,.bt2{border-radius:3px}.mat-dialog-content>.ng-star-inserted{margin-bottom:20px}ul{padding-left:40px}.reddelete{background:#183e79;color:#fff}::ng-deep .policies .p-accordion p-accordiontab .p-accordion-header .p-accordion-header-link{text-decoration:none!important}.fontsize{font-size:16px!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "component", type: i5.Accordion, selector: "p-accordion", inputs: ["multiple", "style", "styleClass", "expandIcon", "collapseIcon", "activeIndex", "selectOnFocus", "headerAriaLevel"], outputs: ["onClose", "onOpen", "activeIndexChange"] }, { kind: "component", type: i5.AccordionTab, selector: "p-accordionTab", inputs: ["id", "header", "headerStyle", "tabStyle", "contentStyle", "tabStyleClass", "headerStyleClass", "contentStyleClass", "disabled", "cache", "transitionOptions", "iconPos", "selected", "headerAriaLevel"], outputs: ["selectedChange"] }, { kind: "directive", type: i6.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i7.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["role", "id", "aria-label", "aria-description", "value", "color", "removable", "highlighted", "disableRipple", "disabled"], outputs: ["removed", "destroyed"], exportAs: ["matChip"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i10.FieldErrorDisplayComponent, selector: "app-field-error-display", inputs: ["errorMsg", "displayError", "errorMsgs"] }, { kind: "component", type: i11.FormSuccessDisplayComponent, selector: "app-form-success-display", inputs: ["successMsg", "displayMsg"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i12.InputTextarea, selector: "[pInputTextarea]", inputs: ["autoResize", "variant"], outputs: ["onResize"] }, { kind: "pipe", type: i4.DatePipe, name: "date" }] });
|
|
151
151
|
}
|
|
152
152
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfirmBoxComponent, decorators: [{
|
|
153
153
|
type: Component,
|
|
154
|
-
args: [{ selector: 'app-confirm-box', template: "<form [formGroup]=\"amForm\" [ngClass]=\"this.data.theme\" novalidate (ngSubmit)=\"amForm.valid && onSubmit(amForm.value)\">\n <h1 class=\"mat-dialog-title\">\n <button #queue mat-dialog-close class=\"modal_close\" id=\"btnClose\">\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\n </button>\n </h1>\n <div mat-dialog-content>\n <p class=\"mb-4 fontsize\"> {{data.message}}</p>\n <div *ngIf=\"data && data.cancelPolicy\" class=\"policies\">\n <p-accordion [multiple]=\"true\">\n <p-accordionTab>\n <ng-template pTemplate=\"header\">\n <h4>Cancellation Policies</h4>\n </ng-template>\n <p>You can cancel your {{data.book}}s any time until\n <span *ngIf=\"data.wtlist.date\">{{data.wtlist.date| date:\n newDateFormat}}</span><span *ngIf=\"data.wtlist.appmtDate\">{{data.wtlist.appmtDate| date:\n newDateFormat}}</span><span *ngIf=\"data.wtlist.orderDate\">{{data.wtlist.orderDate| date:\n newDateFormat}}</span>.<span\n *ngIf=\"data.wtlist && data.wtlist.providerAccount && data.wtlist.providerAccount.businessName\">\n If the system doesn\u2019t permit your cancellation,\n contact your provider, {{data.wtlist.providerAccount.businessName}}.\n It\u2019s important to note that the\n provider may cancel your bookings at their discretion for their own reasons.\n Jaldee will keep you informed promptly regarding the changes through timely notifications.\n </span>\n </p>\n </p-accordionTab>\n <p-accordionTab>\n <ng-template pTemplate=\"header\">\n <h4>Refund policy for Advance Payments(only)</h4>\n </ng-template>\n <p>\n In the case of your cancellation, a 3% (payment gateway fee) will be deducted from the refund\n of the advanced payment made. For same-day cancellations, kindly contact your service provider,\n {{data.wtlist.providerAccount.businessName}} to initiate the refund. For any refund-related queries, reach\n out to\n {{data.wtlist.providerAccount.businessName}} for assistance.\n </p>\n </p-accordionTab>\n </p-accordion>\n <p class=\"mt-4\"> Are you sure you want to cancel this {{data.book}}? <br/></p>\n </div>\n <div *ngIf=\"data.book !== 'Order' && data.cancelPolicy\">\n <div class=\"form-group\">\n <label class=\"col-form-label\" for=\"displayName\">{{select_reason_cap}}*</label><br>\n <mat-chip-list>\n <mat-chip *ngFor=\"let cancel_reason of cancel_reasons\" class=\"me-2 mb-2\"\n color=\"{{(cancel_reason.value === amForm.get('reason').value) ? 'primary' : ''}}\"\n selected=\"{{(cancel_reason.value === amForm.get('reason').value) ? true : false}}\"\n [class.selected]=\"(cancel_reason.value === amForm.get('reason').value) ? true : false\"\n (click)=\"selectReason(cancel_reason)\">\n {{cancel_reason.title}}\n </mat-chip>\n </mat-chip-list>\n </div>\n <div class=\"form-group mt-2\">\n <mat-checkbox formControlName=\"send_message\">{{send_message_cap}} {{rep_username}}</mat-checkbox>\n </div>\n <div class=\"form-group reason-area\" *ngIf=\"amForm.get('send_message').value\">\n <textarea class=\"form-control\" rows=\"3\" id=\"message\" maxlength=\"1000\" pInputTextarea placeholder=\"Message\" formControlName=\"message\"></textarea>\n <app-field-error-display [displayError]=\"fed_service.isFieldValid(amForm,'message')\"\n errorMsg=\"Please enter a message.\">\n </app-field-error-display>\n </div>\n </div>\n </div>\n <div mat-dialog-actions *ngIf=\"data.book !== 'Order'&& data.cancelPolicy\" class=\"mb-2\">\n <div class=\"col-md-12\" style=\"margin-top: 15px;display: inline-flex;\">\n <button type=\"button\" mat-dialog-close class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\n <button type=\"submit\" mat-button [disabled]=\"!amForm.valid\" class=\"cs-btn bt1\" id=\"btnOk\">{{ok_btn_cap}}</button>\n </div>\n </div>\n <app-field-error-display [displayError]=\"true\" *ngIf=\"api_error\" errorMsg=\"{{api_error}}\"></app-field-error-display>\n <app-form-success-display [displayMsg]=\"true\" *ngIf=\"api_success\" successMsg=\"{{api_success}}\">\n </app-form-success-display>\n <div mat-dialog-actions class=\"paddingtop\" *ngIf=\"data.book !== 'Order' && !data.cancelPolicy\">\n <button tabindex=\"-1\" (click)=\"onClick(0)\" class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\n <button tabindex=\"2\" (click)=\"onClick(1)\" id=\"btnOk\"\n class=\"cs-btn bt1 reddelete checkavailabilitybutton\">{{ok_btn_cap}}</button>\n </div>\n <app-field-error-display [displayError]=\"true\" *ngIf=\"showError\" errorMsg=\"Department name is required\">\n </app-field-error-display>\n</form>", styles: [".mat-dialog-actions button{padding:10px 25px!important}.mat-dialog-title{color:#222223;background:#183e79;height:50px!important}.mat-dialog-title{margin:0;padding:15px 20px}p{font-size:12px!important}ul{margin-top:0;margin-bottom:10px}.paddingtop{padding-top:20px}.mat-dialog-actions{display:flex;justify-content:center;border:none}.mat-dialog-actions:last-child{margin:0;padding:20px}.mat-dialog-actions{box-shadow:0 0 30px #0000001a;position:relative;z-index:99}.bt1{margin-left:10px}.reddelete{background:#08b363}.cs-btn{position:relative;display:inline-block;margin-bottom:0;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:none;white-space:nowrap;outline:0;padding:10px 40px;font-size:inherit;line-height:1.4;z-index:2}.bt1,.bt2{border-radius:3px}.mat-dialog-content>.ng-star-inserted{margin-bottom:20px}ul{padding-left:40px}.reddelete{background:#183e79;color:#fff}::ng-deep .policies .p-accordion p-accordiontab .p-accordion-header .p-accordion-header-link{text-decoration:none!important}.fontsize{font-size:16px!important}\n"] }]
|
|
154
|
+
args: [{ selector: 'app-confirm-box', template: "<form [formGroup]=\"amForm\" [ngClass]=\"this.data.theme\" novalidate (ngSubmit)=\"amForm.valid && onSubmit(amForm.value)\">\r\n <h1 class=\"mat-dialog-title\">\r\n <button #queue mat-dialog-close class=\"modal_close\" id=\"btnClose\">\r\n <i class=\"fa fa-window-close\" aria-hidden=\"true\"></i>\r\n </button>\r\n </h1>\r\n <div mat-dialog-content>\r\n <p class=\"mb-4 fontsize\"> {{data.message}}</p>\r\n <div *ngIf=\"data && data.cancelPolicy\" class=\"policies\">\r\n <p-accordion [multiple]=\"true\">\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Cancellation Policies</h4>\r\n </ng-template>\r\n <p>You can cancel your {{data.book}}s any time until\r\n <span *ngIf=\"data.wtlist.date\">{{data.wtlist.date| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.appmtDate\">{{data.wtlist.appmtDate| date:\r\n newDateFormat}}</span><span *ngIf=\"data.wtlist.orderDate\">{{data.wtlist.orderDate| date:\r\n newDateFormat}}</span>.<span\r\n *ngIf=\"data.wtlist && data.wtlist.providerAccount && data.wtlist.providerAccount.businessName\">\r\n If the system doesn\u2019t permit your cancellation,\r\n contact your provider, {{data.wtlist.providerAccount.businessName}}.\r\n It\u2019s important to note that the\r\n provider may cancel your bookings at their discretion for their own reasons.\r\n Jaldee will keep you informed promptly regarding the changes through timely notifications.\r\n </span>\r\n </p>\r\n </p-accordionTab>\r\n <p-accordionTab>\r\n <ng-template pTemplate=\"header\">\r\n <h4>Refund policy for Advance Payments(only)</h4>\r\n </ng-template>\r\n <p>\r\n In the case of your cancellation, a 3% (payment gateway fee) will be deducted from the refund\r\n of the advanced payment made. For same-day cancellations, kindly contact your service provider,\r\n {{data.wtlist.providerAccount.businessName}} to initiate the refund. For any refund-related queries, reach\r\n out to\r\n {{data.wtlist.providerAccount.businessName}} for assistance.\r\n </p>\r\n </p-accordionTab>\r\n </p-accordion>\r\n <p class=\"mt-4\"> Are you sure you want to cancel this {{data.book}}? <br/></p>\r\n </div>\r\n <div *ngIf=\"data.book !== 'Order' && data.cancelPolicy\">\r\n <div class=\"form-group\">\r\n <label class=\"col-form-label\" for=\"displayName\">{{select_reason_cap}}*</label><br>\r\n <mat-chip-list>\r\n <mat-chip *ngFor=\"let cancel_reason of cancel_reasons\" class=\"me-2 mb-2\"\r\n color=\"{{(cancel_reason.value === amForm.get('reason').value) ? 'primary' : ''}}\"\r\n selected=\"{{(cancel_reason.value === amForm.get('reason').value) ? true : false}}\"\r\n [class.selected]=\"(cancel_reason.value === amForm.get('reason').value) ? true : false\"\r\n (click)=\"selectReason(cancel_reason)\">\r\n {{cancel_reason.title}}\r\n </mat-chip>\r\n </mat-chip-list>\r\n </div>\r\n <div class=\"form-group mt-2\">\r\n <mat-checkbox formControlName=\"send_message\">{{send_message_cap}} {{rep_username}}</mat-checkbox>\r\n </div>\r\n <div class=\"form-group reason-area\" *ngIf=\"amForm.get('send_message').value\">\r\n <textarea class=\"form-control\" rows=\"3\" id=\"message\" maxlength=\"1000\" pInputTextarea placeholder=\"Message\" formControlName=\"message\"></textarea>\r\n <app-field-error-display [displayError]=\"fed_service.isFieldValid(amForm,'message')\"\r\n errorMsg=\"Please enter a message.\">\r\n </app-field-error-display>\r\n </div>\r\n </div>\r\n </div>\r\n <div mat-dialog-actions *ngIf=\"data.book !== 'Order'&& data.cancelPolicy\" class=\"mb-2\">\r\n <div class=\"col-md-12\" style=\"margin-top: 15px;display: inline-flex;\">\r\n <button type=\"button\" mat-dialog-close class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\r\n <button type=\"submit\" mat-button [disabled]=\"!amForm.valid\" class=\"cs-btn bt1\" id=\"btnOk\">{{ok_btn_cap}}</button>\r\n </div>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"api_error\" errorMsg=\"{{api_error}}\"></app-field-error-display>\r\n <app-form-success-display [displayMsg]=\"true\" *ngIf=\"api_success\" successMsg=\"{{api_success}}\">\r\n </app-form-success-display>\r\n <div mat-dialog-actions class=\"paddingtop\" *ngIf=\"data.book !== 'Order' && !data.cancelPolicy\">\r\n <button tabindex=\"-1\" (click)=\"onClick(0)\" class=\"cs-btn bt2\" id=\"btnCancel\">{{cancel_btn_cap}}</button>\r\n <button tabindex=\"2\" (click)=\"onClick(1)\" id=\"btnOk\"\r\n class=\"cs-btn bt1 reddelete checkavailabilitybutton\">{{ok_btn_cap}}</button>\r\n </div>\r\n <app-field-error-display [displayError]=\"true\" *ngIf=\"showError\" errorMsg=\"Department name is required\">\r\n </app-field-error-display>\r\n</form>", styles: [".mat-dialog-actions button{padding:10px 25px!important}.mat-dialog-title{color:#222223;background:#183e79;height:50px!important}.mat-dialog-title{margin:0;padding:15px 20px}p{font-size:12px!important}ul{margin-top:0;margin-bottom:10px}.paddingtop{padding-top:20px}.mat-dialog-actions{display:flex;justify-content:center;border:none}.mat-dialog-actions:last-child{margin:0;padding:20px}.mat-dialog-actions{box-shadow:0 0 30px #0000001a;position:relative;z-index:99}.bt1{margin-left:10px}.reddelete{background:#08b363}.cs-btn{position:relative;display:inline-block;margin-bottom:0;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;border:none;white-space:nowrap;outline:0;padding:10px 40px;font-size:inherit;line-height:1.4;z-index:2}.bt1,.bt2{border-radius:3px}.mat-dialog-content>.ng-star-inserted{margin-bottom:20px}ul{padding-left:40px}.reddelete{background:#183e79;color:#fff}::ng-deep .policies .p-accordion p-accordiontab .p-accordion-header .p-accordion-header-link{text-decoration:none!important}.fontsize{font-size:16px!important}\n"] }]
|
|
155
155
|
}], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
156
156
|
type: Inject,
|
|
157
157
|
args: [MAT_DIALOG_DATA]
|
|
158
158
|
}] }, { type: i2.FormBuilder }, { type: i3.FormMessageDisplayService }] });
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRN0QsTUFBTSxPQUFPLG1CQUFtQjtJQXlCckI7SUFDeUI7SUFDeEI7SUFDRDtJQTNCVCxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNsQyxjQUFjLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsb0JBQW9CLENBQUM7SUFDM0QsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0lBQy9DLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQztJQUNyRCxXQUFXLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hDLE1BQU0sQ0FBWTtJQUNsQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsZ0JBQWdCLENBQUM7SUFDakIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNu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QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO2dCQUMzQyxPQUFPO1lBQ1QsQ0FBQztZQUNELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcseUJBQXlCLENBQUM7WUFDM0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQTVIVSxtQkFBbUIsOENBMEJwQixlQUFlOzRGQTFCZCxtQkFBbUIsdURDYmhDLHE2SkFtRk87OzRGRHRFTSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkE4QnhCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1lc3NhZ2VzIH0gZnJvbSAnLi4vcHJvamVjdC1tZXNzYWdlcyc7XG5pbXBvcnQgeyBwcm9qZWN0Q29uc3RhbnRzTG9jYWwgfSBmcm9tICcuLi9wcm9qZWN0LWNvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtTWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1tZXNzYWdlL2Zvcm0tbWVzc2FnZS1kaXNwbGF5LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1ib3gnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29uZmlybS1ib3guY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb25maXJtLWJveC5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlybUJveENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIG9rX2J0bl9jYXAgPSBNZXNzYWdlcy5DT05GSVJNX0JUTjtcbiAgY2FuY2VsX2J0bl9jYXAgPSBNZXNzYWdlcy5DQU5DRUxfQlROO1xuICBuZXdEYXRlRm9ybWF0ID0gcHJvamVjdENvbnN0YW50c0xvY2FsLkRBVEVfTU1fRERfWVlfRk9STUFUO1xuICBzZW5kX21lc3NhZ2VfY2FwID0gTWVzc2FnZXMuUE9QVVBfU0VORF9NU0dfQ0FQO1xuICBzZWxlY3RfcmVhc29uX2NhcCA9IE1lc3NhZ2VzLlBPUFVQX1NFTEVDVF9SRUFTT05fQ0FQO1xuICBtZXNzZ2FlX2NhcCA9IE1lc3NhZ2VzLk9USEVSTUVTU0FHRV9DQVA7XG4gIGFtRm9ybTogRm9ybUdyb3VwO1xuICBhcGlfZXJyb3IgPSBudWxsO1xuICBhcGlfc3VjY2VzcyA9IG51bGw7XG4gIGNhbmNlbF9yZWFzb25vYmo7XG4gIGNhbmNlbF9yZWFzb24gPSAnJztcbiAgY2FuY2VsX3JlYXNvbl9rZXkgPSAnJztcbiAgZGVmYXVsdF9tZXNzYWdlX2FycjogYW55ID0gW107XG4gIGRlZl9tc2cgPSAnJztcbiAgZGVwdE5hbWU7XG4gIHNob3dFcnJvciA9IGZhbHNlO1xuICBva0NhbmNlbEJ0biA9IGZhbHNlO1xuICBjYW5jZWxfcmVhc29uczogYW55ID0gW107XG4gIHJlcF91c2VybmFtZTogc3RyaW5nO1xuICByZXBfc2VydmljZTogc3RyaW5nO1xuICByZXBfZGF0ZTogc3RyaW5nO1xuICByZXBfdGltZTogc3RyaW5nO1xuICByZXBfcHJvdm5hbWU6IHN0cmluZztcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPENvbmZpcm1Cb3hDb21wb25lbnQ+LFxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6Rm9ybUJ1aWxkZXIsXG4gICAgcHVibGljIGZlZF9zZXJ2aWNlOiBGb3JtTWVzc2FnZURpc3BsYXlTZXJ2aWNlLFxuICApIHsgXG4gICAgdGhpcy5hbUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICByZWFzb246IFsnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgIG1lc3NhZ2U6IFsnJ10sXG4gICAgc2VuZF9tZXNzYWdlOiBbeyB2YWx1ZTogZmFsc2UsIGRpc2FibGVkOiB0cnVlIH1dXG4gIH0pO1xufVxuICBuZ09uSW5pdCgpIHtcbiAgICBjb25zb2xlLmxvZyhcImRhdGEtZGF0YVwiLHRoaXMuZGF0YSlcbiAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS53dGxpc3QgJiYgdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQgJiYgdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lKSB7XG4gICAgICB0aGlzLnJlcF91c2VybmFtZSA9IHRoaXMuZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50LmJ1c2luZXNzTmFtZTtcbiAgICB9XG4gICAgY29uc3QgcmVhc29uc19saXN0ID0gW107XG4gICAgY29uc3QgcmVhc29ucyA9IHByb2plY3RDb25zdGFudHNMb2NhbC5XQUlUTElTVF9DQU5DRUxfUkVBU09OO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcmVhc29ucy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKHJlYXNvbnNbaV0udHlwZSkge1xuICAgICAgICByZWFzb25zX2xpc3QucHVzaChyZWFzb25zW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5jYW5jZWxfcmVhc29ucyA9IHJlYXNvbnNfbGlzdDtcbiAgICBjb25zb2xlLmxvZyhcInRoaXMuY2FuY2VsX3JlYXNvbnNcIix0aGlzLmNhbmNlbF9yZWFzb25zKTtcbiAgICBpZiAodGhpcy5kYXRhLnR5cGUpIHtcbiAgICAgIHRoaXMub2tfYnRuX2NhcCA9IE1lc3NhZ2VzLkNPTkZJUk1fQlROO1xuICAgICAgdGhpcy5jYW5jZWxfYnRuX2NhcCA9IE1lc3NhZ2VzLkNBTkNFTF9CVE47XG4gICAgfVxuICAgIGlmICh0aGlzLmRhdGEuYnV0dG9ucyA9PT0gJ29rQ2FuY2VsJykge1xuICAgICAgdGhpcy5va19idG5fY2FwID0gTWVzc2FnZXMuQ09ORklSTV9CVE47XG4gICAgICB0aGlzLmNhbmNlbF9idG5fY2FwID0gTWVzc2FnZXMuQ0FOQ0VMX0JUTjtcbiAgICB9XG4gIH1cbiAgb25DbGljayhkYXRhKSB7XG4gICAgaWYgKHRoaXMuZGF0YS5maWx0ZXJCeURlcHQgJiYgZGF0YSkge1xuICAgICAgY29uc3QgcGFyYW0gPSB7fTtcbiAgICAgIGlmICh0aGlzLmRlcHROYW1lKSB7XG4gICAgICAgIHBhcmFtWydkZXB0TmFtZSddID0gdGhpcy5kZXB0TmFtZTtcbiAgICAgICAgZGF0YSA9IHBhcmFtO1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2hvd0Vycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoZGF0YSk7XG4gICAgfVxuICB9XG4gIHNlbGVjdFJlYXNvbihjYW5jZWxfcmVhc29uKSB7XG4gICAgdGhpcy5hbUZvcm0uZ2V0KCdyZWFzb24nKS5zZXRWYWx1ZShjYW5jZWxfcmVhc29uLnZhbHVlKTtcbiAgICB0aGlzLmNhbmNlbF9yZWFzb25vYmogPSBjYW5jZWxfcmVhc29uO1xuICAgIHRoaXMuY2FuY2VsX3JlYXNvbiA9IGNhbmNlbF9yZWFzb24udGl0bGU7XG4gICAgdGhpcy5jYW5jZWxfcmVhc29uX2tleSA9IGNhbmNlbF9yZWFzb24ucmVhc29ua2V5O1xuICAgIHRoaXMuYW1Gb3JtLmNvbnRyb2xzWydzZW5kX21lc3NhZ2UnXS5lbmFibGUoKTtcbiAgICBpZiAodGhpcy5kYXRhLmlzQmF0Y2gpIHtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kZWZfbXNnID0gdGhpcy5yZXBsYWNlZE1lc3NhZ2UoKTtcbiAgICB9ICAgIFxuICB9XG4gIHJlcGxhY2VkTWVzc2FnZSgpIHtcbiAgICBsZXQgcmV0bXNnID0gJyc7XG4gICAgaWYgKHRoaXMuY2FuY2VsX3JlYXNvbl9rZXkpIHtcbiAgICAgIHJldG1zZyA9IHRoaXMuZGVmYXVsdF9tZXNzYWdlX2Fyclt0aGlzLmNhbmNlbF9yZWFzb25fa2V5XTtcbiAgICB9XG4gICAgaWYgKHJldG1zZyAmJiByZXRtc2cgIT09ICcnKSB7XG4gICAgICByZXRtc2cgPSByZXRtc2cucmVwbGFjZSgvXFxbY29uc3VtZXJcXF0vZywgdGhpcy5yZXBfdXNlcm5hbWUpO1xuICAgICAgcmV0bXNnID0gcmV0bXNnLnJlcGxhY2UoL1xcW3NlcnZpY2VcXF0vZywgdGhpcy5yZXBfc2VydmljZSk7XG4gICAgICByZXRtc2cgPSByZXRtc2cucmVwbGFjZSgvXFxbZGF0ZVxcXS9nLCB0aGlzLnJlcF9kYXRlKTtcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFt0aW1lXFxdL2csIHRoaXMucmVwX3RpbWUpO1xuICAgICAgcmV0bXNnID0gcmV0bXNnLnJlcGxhY2UoL1xcWy4qP1xcXS9nLCB0aGlzLnJlcF9wcm92bmFtZSk7XG4gICAgICBpZiAodGhpcy5jYW5jZWxfcmVhc29uICYmIHRoaXMuY2FuY2VsX3JlYXNvbiAhPT0gJycpIHtcbiAgICAgICAgcmV0bXNnID0gcmV0bXNnLnJlcGxhY2UoJ1tyZWFzb25dJywgdGhpcy5jYW5jZWxfcmVhc29uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldG1zZztcbiAgfVxuICByZXNldEFwaUVycm9ycygpIHtcbiAgICB0aGlzLmFwaV9lcnJvciA9IG51bGw7XG4gICAgdGhpcy5hcGlfc3VjY2VzcyA9IG51bGw7XG4gIH1cblxuICBvblN1Ym1pdChmb3JtX2RhdGEpIHtcbiAgICBjb25zb2xlLmxvZyhmb3JtX2RhdGEpXG4gICAgdGhpcy5yZXNldEFwaUVycm9ycygpO1xuICAgICBsZXQgcG9zdF9kYXRhID0ge1xuICAgICAgJ2NhbmNlbFJlYXNvbic6IGZvcm1fZGF0YS5yZWFzb25cbiAgICB9O1xuICAgIGlmIChmb3JtX2RhdGEuc2VuZF9tZXNzYWdlKSB7XG4gICAgICBpZiAoIWZvcm1fZGF0YS5tZXNzYWdlLnJlcGxhY2UoL1xccy9nLCAnJykubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuYXBpX2Vycm9yID0gJ01lc3NhZ2UgY2Fubm90IGJlIGVtcHR5JztcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcG9zdF9kYXRhWydjb21tdW5pY2F0aW9uTWVzc2FnZSddID0gZm9ybV9kYXRhLm1lc3NhZ2U7XG4gICAgfVxuICAgIGlmICh0aGlzLmRhdGEuaXNCYXRjaCAmJiAhcG9zdF9kYXRhWydjb21tdW5pY2F0aW9uTWVzc2FnZSddKSB7XG4gICAgICB0aGlzLmFwaV9lcnJvciA9ICdNZXNzYWdlIGNhbm5vdCBiZSBlbXB0eSc7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHBvc3RfZGF0YSk7XG4gIH1cblxufVxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJhbUZvcm1cIiBbbmdDbGFzc109XCJ0aGlzLmRhdGEudGhlbWVcIiBub3ZhbGlkYXRlIChuZ1N1Ym1pdCk9XCJhbUZvcm0udmFsaWQgJiYgb25TdWJtaXQoYW1Gb3JtLnZhbHVlKVwiPlxuICA8aDEgY2xhc3M9XCJtYXQtZGlhbG9nLXRpdGxlXCI+XG4gICAgPGJ1dHRvbiAjcXVldWUgbWF0LWRpYWxvZy1jbG9zZSBjbGFzcz1cIm1vZGFsX2Nsb3NlXCIgaWQ9XCJidG5DbG9zZVwiPlxuICAgICAgPGkgY2xhc3M9XCJmYSBmYS13aW5kb3ctY2xvc2VcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvaDE+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxwIGNsYXNzPVwibWItNCBmb250c2l6ZVwiPiB7e2RhdGEubWVzc2FnZX19PC9wPlxuICAgIDxkaXYgKm5nSWY9XCJkYXRhICYmIGRhdGEuY2FuY2VsUG9saWN5XCIgY2xhc3M9XCJwb2xpY2llc1wiPlxuICAgICAgPHAtYWNjb3JkaW9uIFttdWx0aXBsZV09XCJ0cnVlXCI+XG4gICAgICAgIDxwLWFjY29yZGlvblRhYj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDQ+Q2FuY2VsbGF0aW9uIFBvbGljaWVzPC9oND5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDxwPllvdSBjYW4gY2FuY2VsIHlvdXIge3tkYXRhLmJvb2t9fXMgYW55IHRpbWUgdW50aWxcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZGF0YS53dGxpc3QuZGF0ZVwiPnt7ZGF0YS53dGxpc3QuZGF0ZXwgZGF0ZTpcbiAgICAgICAgICAgICAgbmV3RGF0ZUZvcm1hdH19PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0YS53dGxpc3QuYXBwbXREYXRlXCI+e3tkYXRhLnd0bGlzdC5hcHBtdERhdGV8IGRhdGU6XG4gICAgICAgICAgICAgIG5ld0RhdGVGb3JtYXR9fTwvc3Bhbj48c3BhbiAqbmdJZj1cImRhdGEud3RsaXN0Lm9yZGVyRGF0ZVwiPnt7ZGF0YS53dGxpc3Qub3JkZXJEYXRlfCBkYXRlOlxuICAgICAgICAgICAgICBuZXdEYXRlRm9ybWF0fX08L3NwYW4+LjxzcGFuXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS53dGxpc3QgJiYgZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50ICYmIGRhdGEud3RsaXN0LnByb3ZpZGVyQWNjb3VudC5idXNpbmVzc05hbWVcIj5cbiAgICAgICAgICAgICAgSWYgdGhlIHN5c3RlbSBkb2VzbuKAmXQgcGVybWl0IHlvdXIgY2FuY2VsbGF0aW9uLFxuICAgICAgICAgICAgICBjb250YWN0IHlvdXIgcHJvdmlkZXIsIHt7ZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50LmJ1c2luZXNzTmFtZX19LlxuICAgICAgICAgICAgICBJdOKAmXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGVcbiAgICAgICAgICAgICAgcHJvdmlkZXIgbWF5IGNhbmNlbCB5b3VyIGJvb2tpbmdzIGF0IHRoZWlyIGRpc2NyZXRpb24gZm9yIHRoZWlyIG93biByZWFzb25zLlxuICAgICAgICAgICAgICBKYWxkZWUgd2lsbCBrZWVwIHlvdSBpbmZvcm1lZCBwcm9tcHRseSByZWdhcmRpbmcgdGhlIGNoYW5nZXMgdGhyb3VnaCB0aW1lbHkgbm90aWZpY2F0aW9ucy5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvcC1hY2NvcmRpb25UYWI+XG4gICAgICAgIDxwLWFjY29yZGlvblRhYj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCI+XG4gICAgICAgICAgICA8aDQ+UmVmdW5kIHBvbGljeSBmb3IgQWR2YW5jZSBQYXltZW50cyhvbmx5KTwvaDQ+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICA8cD5cbiAgICAgICAgICAgIEluIHRoZSBjYXNlIG9mIHlvdXIgY2FuY2VsbGF0aW9uLCBhIDMlIChwYXltZW50IGdhdGV3YXkgZmVlKSB3aWxsIGJlIGRlZHVjdGVkIGZyb20gdGhlIHJlZnVuZFxuICAgICAgICAgICAgb2YgdGhlIGFkdmFuY2VkIHBheW1lbnQgbWFkZS4gRm9yIHNhbWUtZGF5IGNhbmNlbGxhdGlvbnMsIGtpbmRseSBjb250YWN0IHlvdXIgc2VydmljZSBwcm92aWRlcixcbiAgICAgICAgICAgIHt7ZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50LmJ1c2luZXNzTmFtZX19IHRvIGluaXRpYXRlIHRoZSByZWZ1bmQuIEZvciBhbnkgcmVmdW5kLXJlbGF0ZWQgcXVlcmllcywgcmVhY2hcbiAgICAgICAgICAgIG91dCB0b1xuICAgICAgICAgICAge3tkYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lfX0gZm9yIGFzc2lzdGFuY2UuXG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxuICAgICAgPC9wLWFjY29yZGlvbj5cbiAgICAgIDxwIGNsYXNzPVwibXQtNFwiPiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2FuY2VsIHRoaXMge3tkYXRhLmJvb2t9fT8gPGJyLz48L3A+XG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYm9vayAhPT0gJ09yZGVyJyAmJiBkYXRhLmNhbmNlbFBvbGljeVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiY29sLWZvcm0tbGFiZWxcIiBmb3I9XCJkaXNwbGF5TmFtZVwiPnt7c2VsZWN0X3JlYXNvbl9jYXB9fSo8L2xhYmVsPjxicj5cbiAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XG4gICAgICAgICAgPG1hdC1jaGlwICpuZ0Zvcj1cImxldCBjYW5jZWxfcmVhc29uIG9mIGNhbmNlbF9yZWFzb25zXCIgY2xhc3M9XCJtZS0yIG1iLTJcIlxuICAgICAgICAgICAgY29sb3I9XCJ7eyhjYW5jZWxfcmVhc29uLnZhbHVlID09PSBhbUZvcm0uZ2V0KCdyZWFzb24nKS52YWx1ZSkgPyAncHJpbWFyeScgOiAnJ319XCJcbiAgICAgICAgICAgIHNlbGVjdGVkPVwie3soY2FuY2VsX3JlYXNvbi52YWx1ZSA9PT0gYW1Gb3JtLmdldCgncmVhc29uJykudmFsdWUpID8gdHJ1ZSA6IGZhbHNlfX1cIlxuICAgICAgICAgICAgW2NsYXNzLnNlbGVjdGVkXT1cIihjYW5jZWxfcmVhc29uLnZhbHVlID09PSBhbUZvcm0uZ2V0KCdyZWFzb24nKS52YWx1ZSkgPyB0cnVlIDogZmFsc2VcIlxuICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFJlYXNvbihjYW5jZWxfcmVhc29uKVwiPlxuICAgICAgICAgICAge3tjYW5jZWxfcmVhc29uLnRpdGxlfX1cbiAgICAgICAgICA8L21hdC1jaGlwPlxuICAgICAgICA8L21hdC1jaGlwLWxpc3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIG10LTJcIj5cbiAgICAgICAgPG1hdC1jaGVja2JveCBmb3JtQ29udHJvbE5hbWU9XCJzZW5kX21lc3NhZ2VcIj57e3NlbmRfbWVzc2FnZV9jYXB9fSB7e3JlcF91c2VybmFtZX19PC9tYXQtY2hlY2tib3g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIHJlYXNvbi1hcmVhXCIgKm5nSWY9XCJhbUZvcm0uZ2V0KCdzZW5kX21lc3NhZ2UnKS52YWx1ZVwiPlxuICAgICAgICA8dGV4dGFyZWEgIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgcm93cz1cIjNcIiAgaWQ9XCJtZXNzYWdlXCIgbWF4bGVuZ3RoPVwiMTAwMFwiIHBJbnB1dFRleHRhcmVhIHBsYWNlaG9sZGVyPVwiTWVzc2FnZVwiIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VcIj48L3RleHRhcmVhPlxuICAgICAgICA8YXBwLWZpZWxkLWVycm9yLWRpc3BsYXkgW2Rpc3BsYXlFcnJvcl09XCJmZWRfc2VydmljZS5pc0ZpZWxkVmFsaWQoYW1Gb3JtLCdtZXNzYWdlJylcIlxuICAgICAgICAgIGVycm9yTXNnPVwiUGxlYXNlIGVudGVyIGEgbWVzc2FnZS5cIj5cbiAgICAgICAgPC9hcHAtZmllbGQtZXJyb3ItZGlzcGxheT5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgKm5nSWY9XCJkYXRhLmJvb2sgIT09ICdPcmRlcicmJiBkYXRhLmNhbmNlbFBvbGljeVwiIGNsYXNzPVwibWItMlwiPlxuICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDE1cHg7ZGlzcGxheTogaW5saW5lLWZsZXg7XCI+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwiY3MtYnRuIGJ0MlwiIGlkPVwiYnRuQ2FuY2VsXCI+e3tjYW5jZWxfYnRuX2NhcH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBtYXQtYnV0dG9uIFtkaXNhYmxlZF09XCIhYW1Gb3JtLnZhbGlkXCIgY2xhc3M9XCJjcy1idG4gYnQxXCIgaWQ9XCJidG5Pa1wiPnt7b2tfYnRuX2NhcH19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8YXBwLWZpZWxkLWVycm9yLWRpc3BsYXkgW2Rpc3BsYXlFcnJvcl09XCJ0cnVlXCIgKm5nSWY9XCJhcGlfZXJyb3JcIiBlcnJvck1zZz1cInt7YXBpX2Vycm9yfX1cIj48L2FwcC1maWVsZC1lcnJvci1kaXNwbGF5PlxuICA8YXBwLWZvcm0tc3VjY2Vzcy1kaXNwbGF5IFtkaXNwbGF5TXNnXT1cInRydWVcIiAqbmdJZj1cImFwaV9zdWNjZXNzXCIgc3VjY2Vzc01zZz1cInt7YXBpX3N1Y2Nlc3N9fVwiPlxuICA8L2FwcC1mb3JtLXN1Y2Nlc3MtZGlzcGxheT5cbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJwYWRkaW5ndG9wXCIgKm5nSWY9XCJkYXRhLmJvb2sgIT09ICdPcmRlcicgJiYgIWRhdGEuY2FuY2VsUG9saWN5XCI+XG4gICAgPGJ1dHRvbiB0YWJpbmRleD1cIi0xXCIgKGNsaWNrKT1cIm9uQ2xpY2soMClcIiBjbGFzcz1cImNzLWJ0biBidDJcIiBpZD1cImJ0bkNhbmNlbFwiPnt7Y2FuY2VsX2J0bl9jYXB9fTwvYnV0dG9uPlxuICAgIDxidXR0b24gdGFiaW5kZXg9XCIyXCIgKGNsaWNrKT1cIm9uQ2xpY2soMSlcIiBpZD1cImJ0bk9rXCJcbiAgICAgIGNsYXNzPVwiY3MtYnRuIGJ0MSByZWRkZWxldGUgY2hlY2thdmFpbGFiaWxpdHlidXR0b25cIj57e29rX2J0bl9jYXB9fTwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGFwcC1maWVsZC1lcnJvci1kaXNwbGF5IFtkaXNwbGF5RXJyb3JdPVwidHJ1ZVwiICpuZ0lmPVwic2hvd0Vycm9yXCIgZXJyb3JNc2c9XCJEZXBhcnRtZW50IG5hbWUgaXMgcmVxdWlyZWRcIj5cbiAgPC9hcHAtZmllbGQtZXJyb3ItZGlzcGxheT5cbjwvZm9ybT4iXX0=
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1ib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUEwQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRSxPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFRN0QsTUFBTSxPQUFPLG1CQUFtQjtJQXlCckI7SUFDeUI7SUFDeEI7SUFDRDtJQTNCVCxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUNsQyxjQUFjLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztJQUNyQyxhQUFhLEdBQUcscUJBQXFCLENBQUMsb0JBQW9CLENBQUM7SUFDM0QsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLGtCQUFrQixDQUFDO0lBQy9DLGlCQUFpQixHQUFHLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQztJQUNyRCxXQUFXLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDO0lBQ3hDLE1BQU0sQ0FBWTtJQUNsQixTQUFTLEdBQUcsSUFBSSxDQUFDO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLENBQUM7SUFDbkIsZ0JBQWdCLENBQUM7SUFDakIsYUFBYSxHQUFHLEVBQUUsQ0FBQztJQUNu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QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqRCxJQUFJLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO2dCQUMzQyxPQUFPO1lBQ1QsQ0FBQztZQUNELFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUM7UUFDeEQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1lBQzVELElBQUksQ0FBQyxTQUFTLEdBQUcseUJBQXlCLENBQUM7WUFDM0MsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO3dHQTVIVSxtQkFBbUIsOENBMEJwQixlQUFlOzRGQTFCZCxtQkFBbUIsdURDYmhDLDJrS0FtRk87OzRGRHRFTSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzswQkE4QnhCLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgTWVzc2FnZXMgfSBmcm9tICcuLi9wcm9qZWN0LW1lc3NhZ2VzJztcclxuaW1wb3J0IHsgcHJvamVjdENvbnN0YW50c0xvY2FsIH0gZnJvbSAnLi4vcHJvamVjdC1jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBGb3JtTWVzc2FnZURpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vZm9ybS1tZXNzYWdlL2Zvcm0tbWVzc2FnZS1kaXNwbGF5LnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY29uZmlybS1ib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb25maXJtLWJveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS1ib3guY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb25maXJtQm94Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBva19idG5fY2FwID0gTWVzc2FnZXMuQ09ORklSTV9CVE47XHJcbiAgY2FuY2VsX2J0bl9jYXAgPSBNZXNzYWdlcy5DQU5DRUxfQlROO1xyXG4gIG5ld0RhdGVGb3JtYXQgPSBwcm9qZWN0Q29uc3RhbnRzTG9jYWwuREFURV9NTV9ERF9ZWV9GT1JNQVQ7XHJcbiAgc2VuZF9tZXNzYWdlX2NhcCA9IE1lc3NhZ2VzLlBPUFVQX1NFTkRfTVNHX0NBUDtcclxuICBzZWxlY3RfcmVhc29uX2NhcCA9IE1lc3NhZ2VzLlBPUFVQX1NFTEVDVF9SRUFTT05fQ0FQO1xyXG4gIG1lc3NnYWVfY2FwID0gTWVzc2FnZXMuT1RIRVJNRVNTQUdFX0NBUDtcclxuICBhbUZvcm06IEZvcm1Hcm91cDtcclxuICBhcGlfZXJyb3IgPSBudWxsO1xyXG4gIGFwaV9zdWNjZXNzID0gbnVsbDtcclxuICBjYW5jZWxfcmVhc29ub2JqO1xyXG4gIGNhbmNlbF9yZWFzb24gPSAnJztcclxuICBjYW5jZWxfcmVhc29uX2tleSA9ICcnO1xyXG4gIGRlZmF1bHRfbWVzc2FnZV9hcnI6IGFueSA9IFtdO1xyXG4gIGRlZl9tc2cgPSAnJztcclxuICBkZXB0TmFtZTtcclxuICBzaG93RXJyb3IgPSBmYWxzZTtcclxuICBva0NhbmNlbEJ0biA9IGZhbHNlO1xyXG4gIGNhbmNlbF9yZWFzb25zOiBhbnkgPSBbXTtcclxuICByZXBfdXNlcm5hbWU6IHN0cmluZztcclxuICByZXBfc2VydmljZTogc3RyaW5nO1xyXG4gIHJlcF9kYXRlOiBzdHJpbmc7XHJcbiAgcmVwX3RpbWU6IHN0cmluZztcclxuICByZXBfcHJvdm5hbWU6IHN0cmluZztcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxDb25maXJtQm94Q29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjpGb3JtQnVpbGRlcixcclxuICAgIHB1YmxpYyBmZWRfc2VydmljZTogRm9ybU1lc3NhZ2VEaXNwbGF5U2VydmljZSxcclxuICApIHsgXHJcbiAgICB0aGlzLmFtRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgcmVhc29uOiBbJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgIG1lc3NhZ2U6IFsnJ10sXHJcbiAgICBzZW5kX21lc3NhZ2U6IFt7IHZhbHVlOiBmYWxzZSwgZGlzYWJsZWQ6IHRydWUgfV1cclxuICB9KTtcclxufVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc29sZS5sb2coXCJkYXRhLWRhdGFcIix0aGlzLmRhdGEpXHJcbiAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS53dGxpc3QgJiYgdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQgJiYgdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lKSB7XHJcbiAgICAgIHRoaXMucmVwX3VzZXJuYW1lID0gdGhpcy5kYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcmVhc29uc19saXN0ID0gW107XHJcbiAgICBjb25zdCByZWFzb25zID0gcHJvamVjdENvbnN0YW50c0xvY2FsLldBSVRMSVNUX0NBTkNFTF9SRUFTT047XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJlYXNvbnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKHJlYXNvbnNbaV0udHlwZSkge1xyXG4gICAgICAgIHJlYXNvbnNfbGlzdC5wdXNoKHJlYXNvbnNbaV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNhbmNlbF9yZWFzb25zID0gcmVhc29uc19saXN0O1xyXG4gICAgY29uc29sZS5sb2coXCJ0aGlzLmNhbmNlbF9yZWFzb25zXCIsdGhpcy5jYW5jZWxfcmVhc29ucyk7XHJcbiAgICBpZiAodGhpcy5kYXRhLnR5cGUpIHtcclxuICAgICAgdGhpcy5va19idG5fY2FwID0gTWVzc2FnZXMuQ09ORklSTV9CVE47XHJcbiAgICAgIHRoaXMuY2FuY2VsX2J0bl9jYXAgPSBNZXNzYWdlcy5DQU5DRUxfQlROO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuZGF0YS5idXR0b25zID09PSAnb2tDYW5jZWwnKSB7XHJcbiAgICAgIHRoaXMub2tfYnRuX2NhcCA9IE1lc3NhZ2VzLkNPTkZJUk1fQlROO1xyXG4gICAgICB0aGlzLmNhbmNlbF9idG5fY2FwID0gTWVzc2FnZXMuQ0FOQ0VMX0JUTjtcclxuICAgIH1cclxuICB9XHJcbiAgb25DbGljayhkYXRhKSB7XHJcbiAgICBpZiAodGhpcy5kYXRhLmZpbHRlckJ5RGVwdCAmJiBkYXRhKSB7XHJcbiAgICAgIGNvbnN0IHBhcmFtID0ge307XHJcbiAgICAgIGlmICh0aGlzLmRlcHROYW1lKSB7XHJcbiAgICAgICAgcGFyYW1bJ2RlcHROYW1lJ10gPSB0aGlzLmRlcHROYW1lO1xyXG4gICAgICAgIGRhdGEgPSBwYXJhbTtcclxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShkYXRhKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWxlY3RSZWFzb24oY2FuY2VsX3JlYXNvbikge1xyXG4gICAgdGhpcy5hbUZvcm0uZ2V0KCdyZWFzb24nKS5zZXRWYWx1ZShjYW5jZWxfcmVhc29uLnZhbHVlKTtcclxuICAgIHRoaXMuY2FuY2VsX3JlYXNvbm9iaiA9IGNhbmNlbF9yZWFzb247XHJcbiAgICB0aGlzLmNhbmNlbF9yZWFzb24gPSBjYW5jZWxfcmVhc29uLnRpdGxlO1xyXG4gICAgdGhpcy5jYW5jZWxfcmVhc29uX2tleSA9IGNhbmNlbF9yZWFzb24ucmVhc29ua2V5O1xyXG4gICAgdGhpcy5hbUZvcm0uY29udHJvbHNbJ3NlbmRfbWVzc2FnZSddLmVuYWJsZSgpO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5pc0JhdGNoKSB7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmRlZl9tc2cgPSB0aGlzLnJlcGxhY2VkTWVzc2FnZSgpO1xyXG4gICAgfSAgICBcclxuICB9XHJcbiAgcmVwbGFjZWRNZXNzYWdlKCkge1xyXG4gICAgbGV0IHJldG1zZyA9ICcnO1xyXG4gICAgaWYgKHRoaXMuY2FuY2VsX3JlYXNvbl9rZXkpIHtcclxuICAgICAgcmV0bXNnID0gdGhpcy5kZWZhdWx0X21lc3NhZ2VfYXJyW3RoaXMuY2FuY2VsX3JlYXNvbl9rZXldO1xyXG4gICAgfVxyXG4gICAgaWYgKHJldG1zZyAmJiByZXRtc2cgIT09ICcnKSB7XHJcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFtjb25zdW1lclxcXS9nLCB0aGlzLnJlcF91c2VybmFtZSk7XHJcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFtzZXJ2aWNlXFxdL2csIHRoaXMucmVwX3NlcnZpY2UpO1xyXG4gICAgICByZXRtc2cgPSByZXRtc2cucmVwbGFjZSgvXFxbZGF0ZVxcXS9nLCB0aGlzLnJlcF9kYXRlKTtcclxuICAgICAgcmV0bXNnID0gcmV0bXNnLnJlcGxhY2UoL1xcW3RpbWVcXF0vZywgdGhpcy5yZXBfdGltZSk7XHJcbiAgICAgIHJldG1zZyA9IHJldG1zZy5yZXBsYWNlKC9cXFsuKj9cXF0vZywgdGhpcy5yZXBfcHJvdm5hbWUpO1xyXG4gICAgICBpZiAodGhpcy5jYW5jZWxfcmVhc29uICYmIHRoaXMuY2FuY2VsX3JlYXNvbiAhPT0gJycpIHtcclxuICAgICAgICByZXRtc2cgPSByZXRtc2cucmVwbGFjZSgnW3JlYXNvbl0nLCB0aGlzLmNhbmNlbF9yZWFzb24pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmV0bXNnO1xyXG4gIH1cclxuICByZXNldEFwaUVycm9ycygpIHtcclxuICAgIHRoaXMuYXBpX2Vycm9yID0gbnVsbDtcclxuICAgIHRoaXMuYXBpX3N1Y2Nlc3MgPSBudWxsO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoZm9ybV9kYXRhKSB7XHJcbiAgICBjb25zb2xlLmxvZyhmb3JtX2RhdGEpXHJcbiAgICB0aGlzLnJlc2V0QXBpRXJyb3JzKCk7XHJcbiAgICAgbGV0IHBvc3RfZGF0YSA9IHtcclxuICAgICAgJ2NhbmNlbFJlYXNvbic6IGZvcm1fZGF0YS5yZWFzb25cclxuICAgIH07XHJcbiAgICBpZiAoZm9ybV9kYXRhLnNlbmRfbWVzc2FnZSkge1xyXG4gICAgICBpZiAoIWZvcm1fZGF0YS5tZXNzYWdlLnJlcGxhY2UoL1xccy9nLCAnJykubGVuZ3RoKSB7XHJcbiAgICAgICAgdGhpcy5hcGlfZXJyb3IgPSAnTWVzc2FnZSBjYW5ub3QgYmUgZW1wdHknO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBwb3N0X2RhdGFbJ2NvbW11bmljYXRpb25NZXNzYWdlJ10gPSBmb3JtX2RhdGEubWVzc2FnZTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmRhdGEuaXNCYXRjaCAmJiAhcG9zdF9kYXRhWydjb21tdW5pY2F0aW9uTWVzc2FnZSddKSB7XHJcbiAgICAgIHRoaXMuYXBpX2Vycm9yID0gJ01lc3NhZ2UgY2Fubm90IGJlIGVtcHR5JztcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocG9zdF9kYXRhKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiYW1Gb3JtXCIgW25nQ2xhc3NdPVwidGhpcy5kYXRhLnRoZW1lXCIgbm92YWxpZGF0ZSAobmdTdWJtaXQpPVwiYW1Gb3JtLnZhbGlkICYmIG9uU3VibWl0KGFtRm9ybS52YWx1ZSlcIj5cclxuICA8aDEgY2xhc3M9XCJtYXQtZGlhbG9nLXRpdGxlXCI+XHJcbiAgICA8YnV0dG9uICNxdWV1ZSBtYXQtZGlhbG9nLWNsb3NlIGNsYXNzPVwibW9kYWxfY2xvc2VcIiBpZD1cImJ0bkNsb3NlXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiZmEgZmEtd2luZG93LWNsb3NlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPlxyXG4gICAgPC9idXR0b24+XHJcbiAgPC9oMT5cclxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxwIGNsYXNzPVwibWItNCBmb250c2l6ZVwiPiB7e2RhdGEubWVzc2FnZX19PC9wPlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEgJiYgZGF0YS5jYW5jZWxQb2xpY3lcIiBjbGFzcz1cInBvbGljaWVzXCI+XHJcbiAgICAgIDxwLWFjY29yZGlvbiBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxyXG4gICAgICAgIDxwLWFjY29yZGlvblRhYj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgPGg0PkNhbmNlbGxhdGlvbiBQb2xpY2llczwvaDQ+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPHA+WW91IGNhbiBjYW5jZWwgeW91ciB7e2RhdGEuYm9va319cyBhbnkgdGltZSB1bnRpbFxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRhdGEud3RsaXN0LmRhdGVcIj57e2RhdGEud3RsaXN0LmRhdGV8IGRhdGU6XHJcbiAgICAgICAgICAgICAgbmV3RGF0ZUZvcm1hdH19PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0YS53dGxpc3QuYXBwbXREYXRlXCI+e3tkYXRhLnd0bGlzdC5hcHBtdERhdGV8IGRhdGU6XHJcbiAgICAgICAgICAgICAgbmV3RGF0ZUZvcm1hdH19PC9zcGFuPjxzcGFuICpuZ0lmPVwiZGF0YS53dGxpc3Qub3JkZXJEYXRlXCI+e3tkYXRhLnd0bGlzdC5vcmRlckRhdGV8IGRhdGU6XHJcbiAgICAgICAgICAgICAgbmV3RGF0ZUZvcm1hdH19PC9zcGFuPi48c3BhblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiZGF0YS53dGxpc3QgJiYgZGF0YS53dGxpc3QucHJvdmlkZXJBY2NvdW50ICYmIGRhdGEud3RsaXN0LnByb3ZpZGVyQWNjb3VudC5idXNpbmVzc05hbWVcIj5cclxuICAgICAgICAgICAgICBJZiB0aGUgc3lzdGVtIGRvZXNu4oCZdCBwZXJtaXQgeW91ciBjYW5jZWxsYXRpb24sXHJcbiAgICAgICAgICAgICAgY29udGFjdCB5b3VyIHByb3ZpZGVyLCB7e2RhdGEud3RsaXN0LnByb3ZpZGVyQWNjb3VudC5idXNpbmVzc05hbWV9fS5cclxuICAgICAgICAgICAgICBJdOKAmXMgaW1wb3J0YW50IHRvIG5vdGUgdGhhdCB0aGVcclxuICAgICAgICAgICAgICBwcm92aWRlciBtYXkgY2FuY2VsIHlvdXIgYm9va2luZ3MgYXQgdGhlaXIgZGlzY3JldGlvbiBmb3IgdGhlaXIgb3duIHJlYXNvbnMuXHJcbiAgICAgICAgICAgICAgSmFsZGVlIHdpbGwga2VlcCB5b3UgaW5mb3JtZWQgcHJvbXB0bHkgcmVnYXJkaW5nIHRoZSBjaGFuZ2VzIHRocm91Z2ggdGltZWx5IG5vdGlmaWNhdGlvbnMuXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvcD5cclxuICAgICAgICA8L3AtYWNjb3JkaW9uVGFiPlxyXG4gICAgICAgIDxwLWFjY29yZGlvblRhYj5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICAgICAgPGg0PlJlZnVuZCBwb2xpY3kgZm9yIEFkdmFuY2UgUGF5bWVudHMob25seSk8L2g0PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgIDxwPlxyXG4gICAgICAgICAgICBJbiB0aGUgY2FzZSBvZiB5b3VyIGNhbmNlbGxhdGlvbiwgYSAzJSAocGF5bWVudCBnYXRld2F5IGZlZSkgd2lsbCBiZSBkZWR1Y3RlZCBmcm9tIHRoZSByZWZ1bmRcclxuICAgICAgICAgICAgb2YgdGhlIGFkdmFuY2VkIHBheW1lbnQgbWFkZS4gRm9yIHNhbWUtZGF5IGNhbmNlbGxhdGlvbnMsIGtpbmRseSBjb250YWN0IHlvdXIgc2VydmljZSBwcm92aWRlcixcclxuICAgICAgICAgICAge3tkYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lfX0gdG8gaW5pdGlhdGUgdGhlIHJlZnVuZC4gRm9yIGFueSByZWZ1bmQtcmVsYXRlZCBxdWVyaWVzLCByZWFjaFxyXG4gICAgICAgICAgICBvdXQgdG9cclxuICAgICAgICAgICAge3tkYXRhLnd0bGlzdC5wcm92aWRlckFjY291bnQuYnVzaW5lc3NOYW1lfX0gZm9yIGFzc2lzdGFuY2UuXHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgPC9wLWFjY29yZGlvblRhYj5cclxuICAgICAgPC9wLWFjY29yZGlvbj5cclxuICAgICAgPHAgY2xhc3M9XCJtdC00XCI+IEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjYW5jZWwgdGhpcyB7e2RhdGEuYm9va319PyA8YnIvPjwvcD5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYm9vayAhPT0gJ09yZGVyJyAmJiBkYXRhLmNhbmNlbFBvbGljeVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImNvbC1mb3JtLWxhYmVsXCIgZm9yPVwiZGlzcGxheU5hbWVcIj57e3NlbGVjdF9yZWFzb25fY2FwfX0qPC9sYWJlbD48YnI+XHJcbiAgICAgICAgPG1hdC1jaGlwLWxpc3Q+XHJcbiAgICAgICAgICA8bWF0LWNoaXAgKm5nRm9yPVwibGV0IGNhbmNlbF9yZWFzb24gb2YgY2FuY2VsX3JlYXNvbnNcIiBjbGFzcz1cIm1lLTIgbWItMlwiXHJcbiAgICAgICAgICAgIGNvbG9yPVwie3soY2FuY2VsX3JlYXNvbi52YWx1ZSA9PT0gYW1Gb3JtLmdldCgncmVhc29uJykudmFsdWUpID8gJ3ByaW1hcnknIDogJyd9fVwiXHJcbiAgICAgICAgICAgIHNlbGVjdGVkPVwie3soY2FuY2VsX3JlYXNvbi52YWx1ZSA9PT0gYW1Gb3JtLmdldCgncmVhc29uJykudmFsdWUpID8gdHJ1ZSA6IGZhbHNlfX1cIlxyXG4gICAgICAgICAgICBbY2xhc3Muc2VsZWN0ZWRdPVwiKGNhbmNlbF9yZWFzb24udmFsdWUgPT09IGFtRm9ybS5nZXQoJ3JlYXNvbicpLnZhbHVlKSA/IHRydWUgOiBmYWxzZVwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3RSZWFzb24oY2FuY2VsX3JlYXNvbilcIj5cclxuICAgICAgICAgICAge3tjYW5jZWxfcmVhc29uLnRpdGxlfX1cclxuICAgICAgICAgIDwvbWF0LWNoaXA+XHJcbiAgICAgICAgPC9tYXQtY2hpcC1saXN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgbXQtMlwiPlxyXG4gICAgICAgIDxtYXQtY2hlY2tib3ggZm9ybUNvbnRyb2xOYW1lPVwic2VuZF9tZXNzYWdlXCI+e3tzZW5kX21lc3NhZ2VfY2FwfX0ge3tyZXBfdXNlcm5hbWV9fTwvbWF0LWNoZWNrYm94PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgcmVhc29uLWFyZWFcIiAqbmdJZj1cImFtRm9ybS5nZXQoJ3NlbmRfbWVzc2FnZScpLnZhbHVlXCI+XHJcbiAgICAgICAgPHRleHRhcmVhICBjbGFzcz1cImZvcm0tY29udHJvbFwiIHJvd3M9XCIzXCIgIGlkPVwibWVzc2FnZVwiIG1heGxlbmd0aD1cIjEwMDBcIiBwSW5wdXRUZXh0YXJlYSBwbGFjZWhvbGRlcj1cIk1lc3NhZ2VcIiBmb3JtQ29udHJvbE5hbWU9XCJtZXNzYWdlXCI+PC90ZXh0YXJlYT5cclxuICAgICAgICA8YXBwLWZpZWxkLWVycm9yLWRpc3BsYXkgW2Rpc3BsYXlFcnJvcl09XCJmZWRfc2VydmljZS5pc0ZpZWxkVmFsaWQoYW1Gb3JtLCdtZXNzYWdlJylcIlxyXG4gICAgICAgICAgZXJyb3JNc2c9XCJQbGVhc2UgZW50ZXIgYSBtZXNzYWdlLlwiPlxyXG4gICAgICAgIDwvYXBwLWZpZWxkLWVycm9yLWRpc3BsYXk+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgKm5nSWY9XCJkYXRhLmJvb2sgIT09ICdPcmRlcicmJiBkYXRhLmNhbmNlbFBvbGljeVwiIGNsYXNzPVwibWItMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTVweDtkaXNwbGF5OiBpbmxpbmUtZmxleDtcIj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LWRpYWxvZy1jbG9zZSBjbGFzcz1cImNzLWJ0biBidDJcIiBpZD1cImJ0bkNhbmNlbFwiPnt7Y2FuY2VsX2J0bl9jYXB9fTwvYnV0dG9uPlxyXG4gICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBtYXQtYnV0dG9uIFtkaXNhYmxlZF09XCIhYW1Gb3JtLnZhbGlkXCIgY2xhc3M9XCJjcy1idG4gYnQxXCIgaWQ9XCJidG5Pa1wiPnt7b2tfYnRuX2NhcH19PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YXBwLWZpZWxkLWVycm9yLWRpc3BsYXkgW2Rpc3BsYXlFcnJvcl09XCJ0cnVlXCIgKm5nSWY9XCJhcGlfZXJyb3JcIiBlcnJvck1zZz1cInt7YXBpX2Vycm9yfX1cIj48L2FwcC1maWVsZC1lcnJvci1kaXNwbGF5PlxyXG4gIDxhcHAtZm9ybS1zdWNjZXNzLWRpc3BsYXkgW2Rpc3BsYXlNc2ddPVwidHJ1ZVwiICpuZ0lmPVwiYXBpX3N1Y2Nlc3NcIiBzdWNjZXNzTXNnPVwie3thcGlfc3VjY2Vzc319XCI+XHJcbiAgPC9hcHAtZm9ybS1zdWNjZXNzLWRpc3BsYXk+XHJcbiAgPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJwYWRkaW5ndG9wXCIgKm5nSWY9XCJkYXRhLmJvb2sgIT09ICdPcmRlcicgJiYgIWRhdGEuY2FuY2VsUG9saWN5XCI+XHJcbiAgICA8YnV0dG9uIHRhYmluZGV4PVwiLTFcIiAoY2xpY2spPVwib25DbGljaygwKVwiIGNsYXNzPVwiY3MtYnRuIGJ0MlwiIGlkPVwiYnRuQ2FuY2VsXCI+e3tjYW5jZWxfYnRuX2NhcH19PC9idXR0b24+XHJcbiAgICA8YnV0dG9uIHRhYmluZGV4PVwiMlwiIChjbGljayk9XCJvbkNsaWNrKDEpXCIgaWQ9XCJidG5Pa1wiXHJcbiAgICAgIGNsYXNzPVwiY3MtYnRuIGJ0MSByZWRkZWxldGUgY2hlY2thdmFpbGFiaWxpdHlidXR0b25cIj57e29rX2J0bl9jYXB9fTwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxhcHAtZmllbGQtZXJyb3ItZGlzcGxheSBbZGlzcGxheUVycm9yXT1cInRydWVcIiAqbmdJZj1cInNob3dFcnJvclwiIGVycm9yTXNnPVwiRGVwYXJ0bWVudCBuYW1lIGlzIHJlcXVpcmVkXCI+XHJcbiAgPC9hcHAtZmllbGQtZXJyb3ItZGlzcGxheT5cclxuPC9mb3JtPiJdfQ==
|
|
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
59
59
|
]
|
|
60
60
|
}]
|
|
61
61
|
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1ib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvamNvbnN1bWVyLXNoYXJlZC9zcmMvbGliL2NvbmZpcm0vY29uZmlybS1ib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQXdCdkYsTUFBTSxPQUFPLGdCQUFnQjt3R0FBaEIsZ0JBQWdCO3lHQUFoQixnQkFBZ0IsaUJBTnJCLG1CQUFtQixhQWRuQixZQUFZO1lBQ1osZUFBZTtZQUNmLFdBQVc7WUFDWCxlQUFlO1lBQ2YsY0FBYztZQUNkLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2Ysd0JBQXdCO1lBQ3hCLG1CQUFtQjtZQUNuQixtQkFBbUIsYUFHYixtQkFBbUI7eUdBUXBCLGdCQUFnQixhQUpkO1lBQ1AsUUFBUTtTQUNYLFlBbEJHLFlBQVk7WUFDWixlQUFlO1lBQ2YsV0FBVztZQUNYLGVBQWU7WUFDZixjQUFjO1lBQ2QsaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZix3QkFBd0I7WUFDeEIsbUJBQW1CO1lBQ25CLG1CQUFtQjs7NEZBV2QsZ0JBQWdCO2tCQXRCNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUU7d0JBQ0wsWUFBWTt3QkFDWixlQUFlO3dCQUNmLFdBQVc7d0JBQ1gsZUFBZTt3QkFDZixjQUFjO3dCQUNkLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZix3QkFBd0I7d0JBQ3hCLG1CQUFtQjt3QkFDbkIsbUJBQW1CO3FCQUV0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsWUFBWSxFQUFFO3dCQUNWLG1CQUFtQjtxQkFDdEI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNQLFFBQVE7cUJBQ1g7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERhdGVQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgQ29uZmlybUJveENvbXBvbmVudCB9IGZyb20gXCIuL2NvbmZpcm0tYm94LmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0FjY29yZGlvbk1vZHVsZX0gZnJvbSAncHJpbWVuZy9hY2NvcmRpb24nO1xyXG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jaGlwc1wiO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uXCI7XHJcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NoZWNrYm94XCI7XHJcbmltcG9ydCB7IElucHV0VGV4dGFyZWFNb2R1bGUgfSBmcm9tIFwicHJpbWVuZy9pbnB1dHRleHRhcmVhXCI7XHJcbmltcG9ydCB7IEZvcm1NZXNzYWdlRGlzcGxheU1vZHVsZSB9IGZyb20gXCIuLi9mb3JtLW1lc3NhZ2UvZm9ybS1tZXNzYWdlLWRpc3BsYXkubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZSxcclxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXHJcbiAgICAgICAgRm9ybXNNb2R1bGUsXHJcbiAgICAgICAgQWNjb3JkaW9uTW9kdWxlLFxyXG4gICAgICAgIE1hdENoaXBzTW9kdWxlLFxyXG4gICAgICAgIE1hdENoZWNrYm94TW9kdWxlLFxyXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgICAgICBGb3JtTWVzc2FnZURpc3BsYXlNb2R1bGUsXHJcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgICAgICBJbnB1dFRleHRhcmVhTW9kdWxlXHJcblxyXG4gICAgXSxcclxuICAgIGV4cG9ydHM6IFtDb25maXJtQm94Q29tcG9uZW50XSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIENvbmZpcm1Cb3hDb21wb25lbnRcclxuICAgIF0sXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBEYXRlUGlwZVxyXG4gICAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlybUJveE1vZHVsZSB7fSJdfQ==
|