@prutech/compliance 1.0.240 → 1.0.242

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. package/esm2020/lib/client-communication-history/models/comment-history-columns-def.mjs +2 -1
  2. package/esm2020/lib/conciliation-appointment-work-list/actions/conciliation-appointment-work-list.actions.mjs +4 -4
  3. package/esm2020/lib/conciliation-appointment-work-list/components/context-menu/conciliation-context-menu.component.mjs +11 -3
  4. package/esm2020/lib/conciliation-appointment-work-list/components/schedule-call-back-action/schedule-call-back-action.component.mjs +27 -20
  5. package/esm2020/lib/conciliation-appointment-work-list/conciliation-appointment-work-list.component.mjs +2 -1
  6. package/esm2020/lib/conciliation-appointment-work-list/effects/conciliation-appointment-work-list.effect.mjs +16 -3
  7. package/esm2020/lib/conciliation-appointment-work-list/models/federal-holidays-model.mjs +7 -4
  8. package/esm2020/lib/conciliation-appointment-work-list/reducers/federal-holidays-list.reducer.mjs +33 -0
  9. package/esm2020/lib/conciliation-appointment-work-list/reducers/root.reducer.mjs +8 -1
  10. package/esm2020/lib/conciliation-appointment-work-list/services/conciliation-appointment-work-list.service.mjs +4 -4
  11. package/esm2020/lib/conciliation-appointment-work-list/state/federal-holidays-list.state.mjs +10 -0
  12. package/esm2020/lib/noi-work-list/components/conference-by-phone-dialogbox/conference-by-phone-dialogbox.component.mjs +39 -6
  13. package/esm2020/lib/noi-work-list/components/context-menu/context-menu.component.mjs +6 -2
  14. package/esm2020/lib/noi-work-list/models/conference-by-phone-formmodel.mjs +2 -2
  15. package/esm2020/lib/noi-work-list/noi-work-list.component.mjs +11 -8
  16. package/esm2020/lib/noi-work-list/noi-work-list.module.mjs +4 -3
  17. package/esm2020/lib/telephone-settled-conference/components/context-menu/context-menu.component.mjs +6 -1
  18. package/esm2020/lib/telephone-settled-conference/components/re-schedule-call-back-action/re-schedule-call-back-action.component.mjs +24 -2
  19. package/esm2020/lib/telephone-settled-conference/models/conference-by-phone-formmodel.mjs +2 -2
  20. package/esm2020/lib/telephone-settled-conference/telephone-settled-conference.component.mjs +15 -8
  21. package/fesm2015/prutech-compliance.mjs +221 -79
  22. package/fesm2015/prutech-compliance.mjs.map +1 -1
  23. package/fesm2020/prutech-compliance.mjs +228 -79
  24. package/fesm2020/prutech-compliance.mjs.map +1 -1
  25. package/lib/conciliation-appointment-work-list/actions/conciliation-appointment-work-list.actions.d.ts +3 -3
  26. package/lib/conciliation-appointment-work-list/components/context-menu/conciliation-context-menu.component.d.ts +2 -0
  27. package/lib/conciliation-appointment-work-list/components/schedule-call-back-action/schedule-call-back-action.component.d.ts +7 -4
  28. package/lib/conciliation-appointment-work-list/effects/conciliation-appointment-work-list.effect.d.ts +1 -0
  29. package/lib/conciliation-appointment-work-list/models/federal-holidays-model.d.ts +5 -3
  30. package/lib/conciliation-appointment-work-list/reducers/federal-holidays-list.reducer.d.ts +5 -0
  31. package/lib/conciliation-appointment-work-list/reducers/root.reducer.d.ts +8 -0
  32. package/lib/conciliation-appointment-work-list/services/conciliation-appointment-work-list.service.d.ts +1 -1
  33. package/lib/conciliation-appointment-work-list/state/federal-holidays-list.state.d.ts +8 -0
  34. package/lib/noi-work-list/components/conference-by-phone-dialogbox/conference-by-phone-dialogbox.component.d.ts +7 -0
  35. package/lib/noi-work-list/components/context-menu/context-menu.component.d.ts +1 -0
  36. package/lib/noi-work-list/noi-work-list.component.d.ts +3 -1
  37. package/lib/telephone-settled-conference/components/context-menu/context-menu.component.d.ts +1 -0
  38. package/lib/telephone-settled-conference/components/re-schedule-call-back-action/re-schedule-call-back-action.component.d.ts +4 -0
  39. package/lib/telephone-settled-conference/telephone-settled-conference.component.d.ts +4 -1
  40. package/package.json +1 -1
@@ -1,14 +1,12 @@
1
1
  import { Component, Inject, ViewChild } from '@angular/core';
2
2
  import { AbstractComponent } from '@prutech/components';
3
3
  import { MAT_DIALOG_DATA } from '@angular/material/dialog';
4
- import { takeUntil } from 'rxjs/operators';
5
- import { find, get, set } from 'lodash';
4
+ import { find, get, set, range, map, some } from 'lodash';
6
5
  import { scheduleOrRescheduleActionFormModel } from '../../models/schedule-call-back-action.formmodel';
7
- import { openAppointmentDialogbox } from '../../models/open-appointment';
8
6
  import moment from 'moment';
9
7
  import { momentDateFormat, timeFormat } from '../../../shared/constants/date-format';
10
8
  import { apptCancelledReason } from '../../../shared/models/schedule-assignment-constants';
11
- import { timeHourslots, timeMinSlots } from '../../constants/slot-time';
9
+ import { timeMinSlots } from '../../constants/slot-time';
12
10
  import * as i0 from "@angular/core";
13
11
  import * as i1 from "@angular/material/dialog";
14
12
  import * as i2 from "@prutech/components";
@@ -36,9 +34,23 @@ export class ScheduleCallBackActionComponent extends AbstractComponent {
36
34
  this.apptMinuteCtrlName = 'minute1';
37
35
  this.showInPerson = true;
38
36
  this.showApptScheduler = true;
37
+ this.myFilter = (date) => {
38
+ if (!date)
39
+ return false;
40
+ const day = date.day();
41
+ let isFederalHoliday = some(this.filteredDates, (f) => moment(f).isSame(moment(date)));
42
+ if (day === 0 || day === 6 || isFederalHoliday) {
43
+ return false;
44
+ }
45
+ return true;
46
+ };
39
47
  this.elements =
40
48
  this.dynamicFormService.mapFormData(this.scheduleData, scheduleOrRescheduleActionFormModel.editTemplate, undefined);
41
49
  this.showInPerson = get(data, 'showInPerson', true);
50
+ this.filteredDates = map(get(data, 'val'), (d) => get(d, 'holidayDate'));
51
+ }
52
+ ngOnInit() {
53
+ this.hours = range(1, 25);
42
54
  }
43
55
  get dynamicFormGroup() {
44
56
  return get(this.dynamicForm, 'dynamicFormGroup');
@@ -46,16 +58,14 @@ export class ScheduleCallBackActionComponent extends AbstractComponent {
46
58
  get isDisabled() {
47
59
  return this.dynamicFormGroup && this.dynamicFormGroup.invalid;
48
60
  }
49
- filterWeekends(val) {
50
- }
51
61
  initElements() {
52
62
  const apptDateElement = find(get(this.dynamicForm, 'elements'), (e) => e.name === this.apptDateCtrlName);
53
63
  set(apptDateElement, 'min', new Date());
54
64
  const today = new Date();
55
65
  set(apptDateElement, 'max', new Date(today.getFullYear(), today.getMonth(), today.getDate() + 30));
56
- // this.filteredDates = this.filterWeekends()
66
+ set(apptDateElement, 'filter', this.myFilter);
57
67
  const apptTimeElement = find(get(this.dynamicForm, 'elements'), (e) => e.name === this.apptTimeCtrlName);
58
- set(apptTimeElement, 'selections', timeHourslots);
68
+ set(apptTimeElement, 'selections', this.hours);
59
69
  const apptMinuteElement = find(get(this.dynamicForm, 'elements'), (e) => e.name === this.apptMinuteCtrlName);
60
70
  set(apptMinuteElement, 'selections', timeMinSlots);
61
71
  }
@@ -70,16 +80,13 @@ export class ScheduleCallBackActionComponent extends AbstractComponent {
70
80
  fg.get(this.apptTimeCtrlName).setValue(apptDateTime.format(timeFormat));
71
81
  }
72
82
  }
73
- openAppointmentScheduler() {
74
- openAppointmentDialogbox(this.dialog, get(this.data, 'cmsCaseId'), get(this.environment, 'conciliationScheduleCallBackAppointmentTypeId'), 0, false, get(this.data, 'eaepAssessmentId'))
75
- .pipe(takeUntil(this.componentDestroyed))
76
- .subscribe((scheduleDetails) => {
77
- if (scheduleDetails != null) {
78
- this.showApptScheduler = false;
79
- this.scheduleDetails = scheduleDetails;
80
- this.setApptDateTime(moment(get(scheduleDetails, 'appointmentDatetime')));
81
- }
82
- });
83
+ getApptDate(apptDate, apphour, apptime) {
84
+ const date = moment(apptDate).get('date');
85
+ const month = moment(apptDate).get('month');
86
+ const year = moment(apptDate).get('year');
87
+ const hrs = apphour;
88
+ const mins = apptime;
89
+ return moment().utcOffset(0).set('date', date).set('month', month).set('year', year).set('hours', hrs).set('minutes', mins).toISOString();
83
90
  }
84
91
  closeModal(action) {
85
92
  // tslint:disable-next-line:no-any
@@ -87,7 +94,7 @@ export class ScheduleCallBackActionComponent extends AbstractComponent {
87
94
  if (action) {
88
95
  this.dialogRef.close({
89
96
  ...formValue,
90
- apptDateTime: get(this.scheduleDetails, 'appointmentDatetime'),
97
+ apptDateTime: this.getApptDate(formValue.apptDate, formValue.hour1, formValue.minute1),
91
98
  });
92
99
  }
93
100
  else {
@@ -121,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
121
128
  type: ViewChild,
122
129
  args: ['dynamicForm', { static: false }]
123
130
  }] } });
124
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvc2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BydXRlY2gvY29tcGxpYW5jZS9zcmMvbGliL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QvY29tcG9uZW50cy9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFDTCxpQkFBaUIsRUFFbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUEyQixNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDdkcsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFHekUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxVQUFVLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNyRixPQUFP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QUFFLGVBQWUsQ0FBQztTQUMxRCxDQUFDO1FBQ0YsSUFBSSxDQUFDLHlCQUF5QixDQUFDLHlCQUF5QixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxjQUFjO1FBQ1osOENBQThDO0lBQ2hELENBQUM7OzZIQWxIVSwrQkFBK0IsNEdBb0JoQyxhQUFhLHNEQUdiLGVBQWU7aUhBdkJkLCtCQUErQix3TUN2QjVDLG0xQ0FzQnFCOzRGRENSLCtCQUErQjtrQkFMM0MsU0FBUzsrQkFDRSwrQkFBK0I7OzBCQXdCdEMsTUFBTTsyQkFBQyxhQUFhOzswQkFHcEIsTUFBTTsyQkFBQyxlQUFlOzRDQVIyQixXQUFXO3NCQUE5RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHtcclxuICBBYnN0cmFjdENvbXBvbmVudCwgRW52aXJvbm1lbnQsIElQdER5bmFtaWNFbGVtZW50Q29uZmlnLFxyXG4gIFB0RHluYW1pY0Zvcm1zQ29tcG9uZW50LCBQdER5bmFtaWNGb3Jtc1NlcnZpY2VcclxufSBmcm9tICdAcHJ1dGVjaC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYsIE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZmluZCwgZ2V0LCBzZXQgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBzY2hlZHVsZU9yUmVzY2hlZHVsZUFjdGlvbkZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uLmZvcm1tb2RlbCc7XHJcbmltcG9ydCB7IG9wZW5BcHBvaW50bWVudERpYWxvZ2JveCB9IGZyb20gJy4uLy4uL21vZGVscy9vcGVuLWFwcG9pbnRtZW50JztcclxuaW1wb3J0IHsgQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY29uY2lsaWF0aW9uLXdvcmstbGlzdC1pdGVtLm1vZGVsJztcclxuaW1wb3J0IHsgQ2FuY2VsQXBwb2ludG1lbnRQYXlsb2FkLCBNYW5hZ2VBcHBvaW50bWVudHNTZXJ2aWNlLCBTY2hlZHVsZUFwcG9pbnRtZW50UG9zdE1vZGVsLCBTbG90VHlwZUVudW0gfSBmcm9tICdAcHJ1dGVjaC9hcHBvaW50bWVudCc7XHJcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgbW9tZW50RGF0ZUZvcm1hdCwgdGltZUZvcm1hdCB9IGZyb20gJy4uLy4uLy4uL3NoYXJlZC9jb25zdGFudHMvZGF0ZS1mb3JtYXQnO1xyXG5pbXBvcnQgeyBhcHB0Q2FuY2VsbGVkUmVhc29uIH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL21vZGVscy9zY2hlZHVsZS1hc3NpZ25tZW50LWNvbnN0YW50cyc7XHJcbmltcG9ydCB7IHRpbWVIb3Vyc2xvdHMsIHRpbWVNaW5TbG90cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9zbG90LXRpbWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItc2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24uY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2hlZHVsZUNhbGxCYWNrQWN0aW9uQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RDb21wb25lbnQge1xyXG5cclxuICByZWFkb25seSByZWFzb25DdHJsTmFtZTogc3RyaW5nID0gJ3JlYXNvbnMnO1xyXG4gIHJlYWRvbmx5IGluUGVyc29uQ3RybE5hbWU6IHN0cmluZyA9ICdwZXJzb24nO1xyXG4gIHJlYWRvbmx5IG90aGVyUmVhc29uQ3RybE5hbWU6IHN0cmluZyA9ICdvdGhlclJlYXNvbic7XHJcbiAgcmVhZG9ubHkgYXBwdERhdGVDdHJsTmFtZTogc3RyaW5nID0gJ2FwcHREYXRlJztcclxuICByZWFkb25seSBhcHB0VGltZUN0cmxOYW1lOiBzdHJpbmcgPSAnaG91cjEnO1xyXG4gIHJlYWRvbmx5IGFwcHRNaW51dGVDdHJsTmFtZTogc3RyaW5nID0gJ21pbnV0ZTEnO1xyXG5cclxuICBlbGVtZW50czogSVB0RHluYW1pY0VsZW1lbnRDb25maWdbXTtcclxuICBzaG93SW5QZXJzb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dBcHB0U2NoZWR1bGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICBzY2hlZHVsZURldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWw7XHJcbiAgZmlsdGVyZWREYXRlczogc3RyaW5nIFtdO1xyXG5cclxuICBAVmlld0NoaWxkKCdkeW5hbWljRm9ybScsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgZHluYW1pY0Zvcm06IFB0RHluYW1pY0Zvcm1zQ29tcG9uZW50O1xyXG4gIHNjaGVkdWxlRGF0YTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudD4sIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgZHluYW1pY0Zvcm1TZXJ2aWNlOiBQdER5bmFtaWNGb3Jtc1NlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IEVudmlyb25tZW50LFxyXG4gICAgcHJpdmF0ZSBtYW5hZ2VBcHBvaW50bWVudHNTZXJ2aWNlOiBNYW5hZ2VBcHBvaW50bWVudHNTZXJ2aWNlLFxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhOiBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIHRoaXMuZWxlbWVudHMgPVxyXG4gICAgICB0aGlzLmR5bmFtaWNGb3JtU2VydmljZS5tYXBGb3JtRGF0YSh0aGlzLnNjaGVkdWxlRGF0YSwgc2NoZWR1bGVPclJlc2NoZWR1bGVBY3Rpb25Gb3JtTW9kZWwuZWRpdFRlbXBsYXRlLCB1bmRlZmluZWQpO1xyXG4gICAgdGhpcy5zaG93SW5QZXJzb24gPSBnZXQoZGF0YSwgJ3Nob3dJblBlcnNvbicsIHRydWUpO1xyXG5cclxuICB9XHJcblxyXG4gIGdldCBkeW5hbWljRm9ybUdyb3VwKCk6IEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gZ2V0KHRoaXMuZHluYW1pY0Zvcm0sICdkeW5hbWljRm9ybUdyb3VwJyk7XHJcbiAgfVxyXG4gIFxyXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZHluYW1pY0Zvcm1Hcm91cCAmJiB0aGlzLmR5bmFtaWNGb3JtR3JvdXAuaW52YWxpZDtcclxuICB9XHJcbiAgZmlsdGVyV2Vla2VuZHModmFsOiBEYXRlW10pe1xyXG5cclxuICB9XHJcbiAgaW5pdEVsZW1lbnRzKCk6IHZvaWQge1xyXG4gICAgY29uc3QgYXBwdERhdGVFbGVtZW50OiBJUHREeW5hbWljRWxlbWVudENvbmZpZyA9IGZpbmQoZ2V0KHRoaXMuZHluYW1pY0Zvcm0sICdlbGVtZW50cycpLFxyXG4gICAgKGU6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiBlLm5hbWUgPT09IHRoaXMuYXBwdERhdGVDdHJsTmFtZSk7XHJcbiAgICBzZXQoYXBwdERhdGVFbGVtZW50LCAnbWluJywgbmV3IERhdGUoKSk7XHJcblxyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgc2V0KGFwcHREYXRlRWxlbWVudCwnbWF4JyxuZXcgRGF0ZSh0b2RheS5nZXRGdWxsWWVhcigpLHRvZGF5LmdldE1vbnRoKCksIHRvZGF5LmdldERhdGUoKSszMCkpO1xyXG5cclxuICAgLy8gdGhpcy5maWx0ZXJlZERhdGVzID0gdGhpcy5maWx0ZXJXZWVrZW5kcygpXHJcblxyXG4gICAgY29uc3QgYXBwdFRpbWVFbGVtZW50OiBJUHREeW5hbWljRWxlbWVudENvbmZpZyA9IGZpbmQoZ2V0KHRoaXMuZHluYW1pY0Zvcm0sICdlbGVtZW50cycpLFxyXG4gICAgKGU6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiBlLm5hbWUgPT09IHRoaXMuYXBwdFRpbWVDdHJsTmFtZSk7XHJcbiAgICBzZXQoYXBwdFRpbWVFbGVtZW50LCdzZWxlY3Rpb25zJyx0aW1lSG91cnNsb3RzKTtcclxuXHJcbiAgICBjb25zdCBhcHB0TWludXRlRWxlbWVudDogSVB0RHluYW1pY0VsZW1lbnRDb25maWcgPSBmaW5kKGdldCh0aGlzLmR5bmFtaWNGb3JtLCAnZWxlbWVudHMnKSxcclxuICAgIChlOiBJUHREeW5hbWljRWxlbWVudENvbmZpZykgPT4gZS5uYW1lID09PSB0aGlzLmFwcHRNaW51dGVDdHJsTmFtZSk7XHJcbiAgICBzZXQoYXBwdE1pbnV0ZUVsZW1lbnQsJ3NlbGVjdGlvbnMnLHRpbWVNaW5TbG90cyk7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIHNldEFwcHREYXRlVGltZShhcHB0RGF0ZVRpbWU6IG1vbWVudC5Nb21lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFwcHREYXRlRWxlbWVudDogSVB0RHluYW1pY0VsZW1lbnRDb25maWcgPSBmaW5kKGdldCh0aGlzLmR5bmFtaWNGb3JtLCAnZWxlbWVudHMnKSxcclxuICAgICAgKGU6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiBlLm5hbWUgPT09IHRoaXMuYXBwdERhdGVDdHJsTmFtZSk7XHJcblxyXG4gICAgY29uc3QgYXBwdFRpbWVFbGVtZW50OiBJUHREeW5hbWljRWxlbWVudENvbmZpZyA9IGZpbmQoZ2V0KHRoaXMuZHluYW1pY0Zvcm0sICdlbGVtZW50cycpLFxyXG4gICAgICAoZTogSVB0RHluYW1pY0VsZW1lbnRDb25maWcpID0+IGUubmFtZSA9PT0gdGhpcy5hcHB0VGltZUN0cmxOYW1lKTtcclxuXHJcbiAgICAgIGNvbnN0IGZnOiBGb3JtR3JvdXAgPSBnZXQodGhpcy5keW5hbWljRm9ybSwgJ2R5bmFtaWNGb3JtR3JvdXAnKTtcclxuICAgICAgaWYoISFmZykge1xyXG4gICAgICAgIHNldChhcHB0RGF0ZUVsZW1lbnQsICdoaWRkZW4nLCBmYWxzZSk7XHJcbiAgICAgICAgZmcuZ2V0KHRoaXMuYXBwdERhdGVDdHJsTmFtZSkuc2V0VmFsdWUoYXBwdERhdGVUaW1lLmZvcm1hdChtb21lbnREYXRlRm9ybWF0KSk7XHJcblxyXG4gICAgICAgIHNldChhcHB0VGltZUVsZW1lbnQsICdoaWRkZW4nLCBmYWxzZSk7XHJcbiAgICAgICAgZmcuZ2V0KHRoaXMuYXBwdFRpbWVDdHJsTmFtZSkuc2V0VmFsdWUoYXBwdERhdGVUaW1lLmZvcm1hdCh0aW1lRm9ybWF0KSk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5BcHBvaW50bWVudFNjaGVkdWxlcigpOiB2b2lkIHtcclxuICAgIG9wZW5BcHBvaW50bWVudERpYWxvZ2JveCh0aGlzLmRpYWxvZywgZ2V0KHRoaXMuZGF0YSwgJ2Ntc0Nhc2VJZCcpLCBnZXQodGhpcy5lbnZpcm9ubWVudCwgJ2NvbmNpbGlhdGlvblNjaGVkdWxlQ2FsbEJhY2tBcHBvaW50bWVudFR5cGVJZCcpLCAwLGZhbHNlLGdldCh0aGlzLmRhdGEsICdlYWVwQXNzZXNzbWVudElkJykpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmNvbXBvbmVudERlc3Ryb3llZCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHNjaGVkdWxlRGV0YWlsczogU2NoZWR1bGVBcHBvaW50bWVudFBvc3RNb2RlbCkgPT4ge1xyXG4gICAgICAgIGlmKHNjaGVkdWxlRGV0YWlscyAhPSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnNob3dBcHB0U2NoZWR1bGVyID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLnNjaGVkdWxlRGV0YWlscyA9IHNjaGVkdWxlRGV0YWlscztcclxuICAgICAgICAgIHRoaXMuc2V0QXBwdERhdGVUaW1lKG1vbWVudChnZXQoc2NoZWR1bGVEZXRhaWxzLCAnYXBwb2ludG1lbnREYXRldGltZScpKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGNsb3NlTW9kYWwoYWN0aW9uOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBjb25zdCBmb3JtVmFsdWU6IGFueSA9IHRoaXMuZHluYW1pY0Zvcm1Hcm91cC5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgaWYgKGFjdGlvbikge1xyXG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XHJcbiAgICAgICAgLi4uZm9ybVZhbHVlLFxyXG4gICAgICAgIGFwcHREYXRlVGltZTogZ2V0KHRoaXMuc2NoZWR1bGVEZXRhaWxzLCAnYXBwb2ludG1lbnREYXRldGltZScpLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FuY2VsQXBwb2ludG1lbnQoKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbEFwcG9pbnRtZW50KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FuY2VsUGF5bG9hZDogQ2FuY2VsQXBwb2ludG1lbnRQYXlsb2FkID0ge1xyXG4gICAgICBjYW5jZWxsYXRpb25SZWFzb25JZDogYXBwdENhbmNlbGxlZFJlYXNvbixcclxuICAgICAgYXBwb2ludG1lbnRJZDogZ2V0KHRoaXMuc2NoZWR1bGVEZXRhaWxzLCAnYXBwb2ludG1lbnRJZCcpLFxyXG4gICAgfTtcclxuICAgIHRoaXMubWFuYWdlQXBwb2ludG1lbnRzU2VydmljZS5kaXNwYXRjaENhbmNlbEFwcG9pbnRtZW50KGNhbmNlbFBheWxvYWQpO1xyXG4gIH1cclxuICBcclxuICBhZnRlck9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHBydXRlY2gtZGlhbG9nLWJveCBjbGFzcz1cInBydXRlY2gtZGlhbG9nLWJveFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj57eyBkYXRhPy5pc1JlU2NoZWR1bGUgPyAnUmUtc2NoZWR1bGUgQ2FsbCBCYWNrJyA6ICdTY2hlZHVsZSBDYWxsIEJhY2snIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJvZHkgcHJ1dGVjaC1kaWFsb2ctY29udGVudFwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgIDwhLS0gPGRpdiAqbmdJZj1cInNob3dBcHB0U2NoZWR1bGVyXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuQXBwb2ludG1lbnRTY2hlZHVsZXIoKVwiPkFwcG9pbnRtZW50IFNjaGVkdWxlcjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+IC0tPlxyXG4gICAgPHBydXRlY2gtZHluYW1pYy1mb3JtcyAoaW5pdCk9XCJpbml0RWxlbWVudHMoKVwiICAqbmdJZj1cImVsZW1lbnRzXCIgW2VsZW1lbnRzXT1cImVsZW1lbnRzXCIgI2R5bmFtaWNGb3JtPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbGV0LWVsZW1lbnQgbmdGb3IgW25nRm9yT2ZdPVwiZWxlbWVudHNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRyb2w9XCJjb250cm9sXCIgW3RkRHluYW1pY0Zvcm1zRXJyb3JdPVwiZWxlbWVudC5uYW1lXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCB8fCAhY29udHJvbC5wcmlzdGluZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5SZXF1aXJlZDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmhhc0Vycm9yKCdpbnZhbGlkU2VsZWN0aW9uJylcIj5JbnZhbGlkIFNlbGVjdGlvbjwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9wcnV0ZWNoLWR5bmFtaWMtZm9ybXM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImRpYWxvZ2JveGZvb3RlclwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoZmFsc2UpXCI+RVhJVDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwodHJ1ZSlcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPiBTVUJNSVRcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L3BydXRlY2gtZGlhbG9nLWJveD4iXX0=
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbXBvbmVudHMvc2NoZWR1bGUtY2FsbC1iYWNrLWFjdGlvbi9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BydXRlY2gvY29tcGxpYW5jZS9zcmMvbGliL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QvY29tcG9uZW50cy9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFDTCxpQkFBaUIsRUFFbEIsTUFBTSxxQkFBcUIsQ0FBQztBQUM3QixPQUFPLEVBQUUsZUFBZSxFQUEyQixNQUFNLDBCQUEwQixDQUFDO0FBRXBGLE9BQU8sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFZLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuRSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUl2RyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBQzNGLE9BQU8sRUFBRyxZQUFZLEVB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QkFBQyxhQUFhOzswQkFHcEIsTUFBTTsyQkFBQyxlQUFlOzRDQVIyQixXQUFXO3NCQUE5RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCwgVmlld0NoaWxkLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIEFic3RyYWN0Q29tcG9uZW50LCBFbnZpcm9ubWVudCwgSVB0RHluYW1pY0VsZW1lbnRDb25maWcsXHJcbiAgUHREeW5hbWljRm9ybXNDb21wb25lbnQsIFB0RHluYW1pY0Zvcm1zU2VydmljZVxyXG59IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiwgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBmaW5kLCBnZXQsIHNldCxyYW5nZSwgbWFwLCBpbmNsdWRlcywgc29tZSB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IHNjaGVkdWxlT3JSZXNjaGVkdWxlQWN0aW9uRm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3NjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24uZm9ybW1vZGVsJztcclxuaW1wb3J0IHsgb3BlbkFwcG9pbnRtZW50RGlhbG9nYm94IH0gZnJvbSAnLi4vLi4vbW9kZWxzL29wZW4tYXBwb2ludG1lbnQnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdEl0ZW1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0LWl0ZW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBDYW5jZWxBcHBvaW50bWVudFBheWxvYWQsIE1hbmFnZUFwcG9pbnRtZW50c1NlcnZpY2UsIFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWwsIFNsb3RUeXBlRW51bSB9IGZyb20gJ0BwcnV0ZWNoL2FwcG9pbnRtZW50JztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgeyBtb21lbnREYXRlRm9ybWF0LCB0aW1lRm9ybWF0IH0gZnJvbSAnLi4vLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9kYXRlLWZvcm1hdCc7XHJcbmltcG9ydCB7IGFwcHRDYW5jZWxsZWRSZWFzb24gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvbW9kZWxzL3NjaGVkdWxlLWFzc2lnbm1lbnQtY29uc3RhbnRzJztcclxuaW1wb3J0IHsgIHRpbWVNaW5TbG90cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9zbG90LXRpbWUnO1xyXG5pbXBvcnQgeyBGZWRlcmFsSG9saWRheXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9mZWRlcmFsLWhvbGlkYXlzLW1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNjaGVkdWxlLWNhbGwtYmFjay1hY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zY2hlZHVsZS1jYWxsLWJhY2stYWN0aW9uLmNvbXBvbmVudC5jc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU2NoZWR1bGVDYWxsQmFja0FjdGlvbkNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICByZWFkb25seSByZWFzb25DdHJsTmFtZTogc3RyaW5nID0gJ3JlYXNvbnMnO1xyXG4gIHJlYWRvbmx5IGluUGVyc29uQ3RybE5hbWU6IHN0cmluZyA9ICdwZXJzb24nO1xyXG4gIHJlYWRvbmx5IG90aGVyUmVhc29uQ3RybE5hbWU6IHN0cmluZyA9ICdvdGhlclJlYXNvbic7XHJcbiAgcmVhZG9ubHkgYXBwdERhdGVDdHJsTmFtZTogc3RyaW5nID0gJ2FwcHREYXRlJztcclxuICByZWFkb25seSBhcHB0VGltZUN0cmxOYW1lOiBzdHJpbmcgPSAnaG91cjEnO1xyXG4gIHJlYWRvbmx5IGFwcHRNaW51dGVDdHJsTmFtZTogc3RyaW5nID0gJ21pbnV0ZTEnO1xyXG5cclxuICBlbGVtZW50czogSVB0RHluYW1pY0VsZW1lbnRDb25maWdbXTtcclxuICBzaG93SW5QZXJzb246IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dBcHB0U2NoZWR1bGVyOiBib29sZWFuID0gdHJ1ZTtcclxuICBzY2hlZHVsZURldGFpbHM6IFNjaGVkdWxlQXBwb2ludG1lbnRQb3N0TW9kZWw7XHJcbiAgZmlsdGVyZWREYXRlczogYW55O1xyXG4gIGhvdXJzOiBudW1iZXJbXVxyXG4gXHJcbiAgQFZpZXdDaGlsZCgnZHluYW1pY0Zvcm0nLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGR5bmFtaWNGb3JtOiBQdER5bmFtaWNGb3Jtc0NvbXBvbmVudDtcclxuICBzY2hlZHVsZURhdGE6IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNjaGVkdWxlQ2FsbEJhY2tBY3Rpb25Db21wb25lbnQ+LCBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGR5bmFtaWNGb3JtU2VydmljZTogUHREeW5hbWljRm9ybXNTZXJ2aWNlLFxyXG4gICAgQEluamVjdCgnZW52aXJvbm1lbnQnKSBwcml2YXRlIGVudmlyb25tZW50OiBFbnZpcm9ubWVudCxcclxuICAgIHByaXZhdGUgbWFuYWdlQXBwb2ludG1lbnRzU2VydmljZTogTWFuYWdlQXBwb2ludG1lbnRzU2VydmljZSxcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogQ29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWwpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICB0aGlzLmVsZW1lbnRzID1cclxuICAgIHRoaXMuZHluYW1pY0Zvcm1TZXJ2aWNlLm1hcEZvcm1EYXRhKHRoaXMuc2NoZWR1bGVEYXRhLCBzY2hlZHVsZU9yUmVzY2hlZHVsZUFjdGlvbkZvcm1Nb2RlbC5lZGl0VGVtcGxhdGUsIHVuZGVmaW5lZCk7XHJcbiAgICB0aGlzLnNob3dJblBlcnNvbiA9IGdldChkYXRhLCAnc2hvd0luUGVyc29uJywgdHJ1ZSk7XHJcbiAgICB0aGlzLmZpbHRlcmVkRGF0ZXMgPSBtYXAoZ2V0KGRhdGEsJ3ZhbCcpLCAoZDogbW9tZW50Lk1vbWVudCkgPT4gZ2V0KGQsICdob2xpZGF5RGF0ZScpKTtcclxuICB9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhvdXJzID0gcmFuZ2UoMSwgMjUpO1xyXG4gIH1cclxuICBnZXQgZHluYW1pY0Zvcm1Hcm91cCgpOiBGb3JtR3JvdXAge1xyXG4gICAgcmV0dXJuIGdldCh0aGlzLmR5bmFtaWNGb3JtLCAnZHluYW1pY0Zvcm1Hcm91cCcpO1xyXG4gIH1cclxuICBcclxuICBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmR5bmFtaWNGb3JtR3JvdXAgJiYgdGhpcy5keW5hbWljRm9ybUdyb3VwLmludmFsaWQ7XHJcbiAgfVxyXG4gIFxyXG4gIG15RmlsdGVyID0gKGRhdGUpOiBib29sZWFuID0+IHtcclxuICAgaWYoIWRhdGUpIHJldHVybiBmYWxzZTtcclxuICAgIGNvbnN0IGRheSA9IGRhdGUuZGF5KCk7XHJcbiAgICBsZXQgaXNGZWRlcmFsSG9saWRheTogYm9vbGVhbiA9IHNvbWUodGhpcy5maWx0ZXJlZERhdGVzLCAoZjogRGF0ZSkgPT4gbW9tZW50KGYpLmlzU2FtZShtb21lbnQoZGF0ZSkpKTtcclxuICAgIGlmKGRheSA9PT0gMCB8fCBkYXkgPT09IDYgfHwgaXNGZWRlcmFsSG9saWRheSl7XHJcbiAgICAgIHJldHVybiBmYWxzZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBpbml0RWxlbWVudHMoKTogdm9pZCB7XHJcbiAgICBjb25zdCBhcHB0RGF0ZUVsZW1lbnQ6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnID0gZmluZChnZXQodGhpcy5keW5hbWljRm9ybSwgJ2VsZW1lbnRzJyksXHJcbiAgICAoZTogSVB0RHluYW1pY0VsZW1lbnRDb25maWcpID0+IGUubmFtZSA9PT0gdGhpcy5hcHB0RGF0ZUN0cmxOYW1lKTtcclxuICAgIHNldChhcHB0RGF0ZUVsZW1lbnQsICdtaW4nLCBuZXcgRGF0ZSgpKTtcclxuXHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICBzZXQoYXBwdERhdGVFbGVtZW50LCdtYXgnLG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksdG9kYXkuZ2V0TW9udGgoKSwgdG9kYXkuZ2V0RGF0ZSgpKzMwKSk7XHJcblxyXG4gICAgc2V0KGFwcHREYXRlRWxlbWVudCwnZmlsdGVyJyx0aGlzLm15RmlsdGVyKTtcclxuXHJcbiAgICBjb25zdCBhcHB0VGltZUVsZW1lbnQ6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnID0gZmluZChnZXQodGhpcy5keW5hbWljRm9ybSwgJ2VsZW1lbnRzJyksXHJcbiAgICAoZTogSVB0RHluYW1pY0VsZW1lbnRDb25maWcpID0+IGUubmFtZSA9PT0gdGhpcy5hcHB0VGltZUN0cmxOYW1lKTtcclxuICAgIHNldChhcHB0VGltZUVsZW1lbnQsJ3NlbGVjdGlvbnMnLHRoaXMuaG91cnMpO1xyXG5cclxuICAgIGNvbnN0IGFwcHRNaW51dGVFbGVtZW50OiBJUHREeW5hbWljRWxlbWVudENvbmZpZyA9IGZpbmQoZ2V0KHRoaXMuZHluYW1pY0Zvcm0sICdlbGVtZW50cycpLFxyXG4gICAgKGU6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiBlLm5hbWUgPT09IHRoaXMuYXBwdE1pbnV0ZUN0cmxOYW1lKTtcclxuICAgIHNldChhcHB0TWludXRlRWxlbWVudCwnc2VsZWN0aW9ucycsdGltZU1pblNsb3RzKTtcclxuICB9XHJcblxyXG4gIHNldEFwcHREYXRlVGltZShhcHB0RGF0ZVRpbWU6IG1vbWVudC5Nb21lbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFwcHREYXRlRWxlbWVudDogSVB0RHluYW1pY0VsZW1lbnRDb25maWcgPSBmaW5kKGdldCh0aGlzLmR5bmFtaWNGb3JtLCAnZWxlbWVudHMnKSxcclxuICAgICAgKGU6IElQdER5bmFtaWNFbGVtZW50Q29uZmlnKSA9PiBlLm5hbWUgPT09IHRoaXMuYXBwdERhdGVDdHJsTmFtZSk7XHJcblxyXG4gICAgY29uc3QgYXBwdFRpbWVFbGVtZW50OiBJUHREeW5hbWljRWxlbWVudENvbmZpZyA9IGZpbmQoZ2V0KHRoaXMuZHluYW1pY0Zvcm0sICdlbGVtZW50cycpLFxyXG4gICAgICAoZTogSVB0RHluYW1pY0VsZW1lbnRDb25maWcpID0+IGUubmFtZSA9PT0gdGhpcy5hcHB0VGltZUN0cmxOYW1lKTtcclxuXHJcbiAgICAgIGNvbnN0IGZnOiBGb3JtR3JvdXAgPSBnZXQodGhpcy5keW5hbWljRm9ybSwgJ2R5bmFtaWNGb3JtR3JvdXAnKTtcclxuICAgICAgaWYoISFmZykge1xyXG4gICAgICAgIHNldChhcHB0RGF0ZUVsZW1lbnQsICdoaWRkZW4nLCBmYWxzZSk7XHJcbiAgICAgICAgZmcuZ2V0KHRoaXMuYXBwdERhdGVDdHJsTmFtZSkuc2V0VmFsdWUoYXBwdERhdGVUaW1lLmZvcm1hdChtb21lbnREYXRlRm9ybWF0KSk7XHJcblxyXG4gICAgICAgIHNldChhcHB0VGltZUVsZW1lbnQsICdoaWRkZW4nLCBmYWxzZSk7XHJcbiAgICAgICAgZmcuZ2V0KHRoaXMuYXBwdFRpbWVDdHJsTmFtZSkuc2V0VmFsdWUoYXBwdERhdGVUaW1lLmZvcm1hdCh0aW1lRm9ybWF0KSk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGdldEFwcHREYXRlKGFwcHREYXRlLGFwcGhvdXIsYXBwdGltZSk6IHN0cmluZyB7XHJcbiAgIFxyXG4gICAgY29uc3QgZGF0ZTogbnVtYmVyID0gbW9tZW50KGFwcHREYXRlKS5nZXQoJ2RhdGUnKTtcclxuICAgIGNvbnN0IG1vbnRoOiBudW1iZXIgPSBtb21lbnQoYXBwdERhdGUpLmdldCgnbW9udGgnKTtcclxuICAgIGNvbnN0IHllYXI6IG51bWJlciA9IG1vbWVudChhcHB0RGF0ZSkuZ2V0KCd5ZWFyJyk7XHJcbiAgICBjb25zdCBocnM6IG51bWJlciA9YXBwaG91cjtcclxuICAgIGNvbnN0IG1pbnM6IG51bWJlciA9YXBwdGltZTtcclxuICAgIHJldHVybiBtb21lbnQoKS51dGNPZmZzZXQoMCkuc2V0KCdkYXRlJywgZGF0ZSkuc2V0KCdtb250aCcsIG1vbnRoKS5zZXQoJ3llYXInLCB5ZWFyKS5zZXQoJ2hvdXJzJywgaHJzKS5zZXQoJ21pbnV0ZXMnLCBtaW5zKS50b0lTT1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VNb2RhbChhY3Rpb246IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIGNvbnN0IGZvcm1WYWx1ZTogYW55ID0gdGhpcy5keW5hbWljRm9ybUdyb3VwLmdldFJhd1ZhbHVlKCk7XHJcbiAgICBpZiAoYWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAuLi5mb3JtVmFsdWUsXHJcbiAgICAgICAgYXBwdERhdGVUaW1lOiB0aGlzLmdldEFwcHREYXRlKGZvcm1WYWx1ZS5hcHB0RGF0ZSxmb3JtVmFsdWUuaG91cjEsZm9ybVZhbHVlLm1pbnV0ZTEpLFxyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FuY2VsQXBwb2ludG1lbnQoKTtcclxuICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodW5kZWZpbmVkKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNhbmNlbEFwcG9pbnRtZW50KCk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FuY2VsUGF5bG9hZDogQ2FuY2VsQXBwb2ludG1lbnRQYXlsb2FkID0ge1xyXG4gICAgICBjYW5jZWxsYXRpb25SZWFzb25JZDogYXBwdENhbmNlbGxlZFJlYXNvbixcclxuICAgICAgYXBwb2ludG1lbnRJZDogZ2V0KHRoaXMuc2NoZWR1bGVEZXRhaWxzLCAnYXBwb2ludG1lbnRJZCcpLFxyXG4gICAgfTtcclxuICAgIHRoaXMubWFuYWdlQXBwb2ludG1lbnRzU2VydmljZS5kaXNwYXRjaENhbmNlbEFwcG9pbnRtZW50KGNhbmNlbFBheWxvYWQpO1xyXG4gIH1cclxuICBcclxuICBhZnRlck9uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vIHRocm93IG5ldyBFcnJvcihcIk1ldGhvZCBub3QgaW1wbGVtZW50ZWQuXCIpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHBydXRlY2gtZGlhbG9nLWJveCBjbGFzcz1cInBydXRlY2gtZGlhbG9nLWJveFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJoZWFkZXJcIj57eyBkYXRhPy5pc1JlU2NoZWR1bGUgPyAnUmUtc2NoZWR1bGUgQ2FsbCBCYWNrJyA6ICdTY2hlZHVsZSBDYWxsIEJhY2snIH19PC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImJvZHkgcHJ1dGVjaC1kaWFsb2ctY29udGVudFwiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRBbGlnbj1cInN0YXJ0IHN0cmV0Y2hcIiBmeExheW91dEdhcD1cIjEwcHhcIj5cclxuICAgIDwhLS0gPGRpdiAqbmdJZj1cInNob3dBcHB0U2NoZWR1bGVyXCI+XHJcbiAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvcGVuQXBwb2ludG1lbnRTY2hlZHVsZXIoKVwiPkFwcG9pbnRtZW50IFNjaGVkdWxlcjwvYnV0dG9uPlxyXG4gICAgPC9kaXY+IC0tPlxyXG4gICAgPHBydXRlY2gtZHluYW1pYy1mb3JtcyAoaW5pdCk9XCJpbml0RWxlbWVudHMoKVwiICAqbmdJZj1cImVsZW1lbnRzXCIgW2VsZW1lbnRzXT1cImVsZW1lbnRzXCIgI2R5bmFtaWNGb3JtPlxyXG4gICAgICA8bmctdGVtcGxhdGUgbGV0LWVsZW1lbnQgbmdGb3IgW25nRm9yT2ZdPVwiZWxlbWVudHNcIj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWNvbnRyb2w9XCJjb250cm9sXCIgW3RkRHluYW1pY0Zvcm1zRXJyb3JdPVwiZWxlbWVudC5uYW1lXCI+XHJcbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wudG91Y2hlZCB8fCAhY29udHJvbC5wcmlzdGluZVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNvbnRyb2wuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5SZXF1aXJlZDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjb250cm9sLmhhc0Vycm9yKCdpbnZhbGlkU2VsZWN0aW9uJylcIj5JbnZhbGlkIFNlbGVjdGlvbjwvc3Bhbj5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9wcnV0ZWNoLWR5bmFtaWMtZm9ybXM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImRpYWxvZ2JveGZvb3RlclwiPlxyXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gKGNsaWNrKT1cImNsb3NlTW9kYWwoZmFsc2UpXCI+RVhJVDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cImNsb3NlTW9kYWwodHJ1ZSlcIiBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZFwiPiBTVUJNSVRcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L3BydXRlY2gtZGlhbG9nLWJveD4iXX0=
@@ -20,6 +20,7 @@ export class ConciliationAppointmentWorkListComponent extends AbstractComponent
20
20
  this.workList = this.conciliationWorkListService.workList;
21
21
  this.conciliationWorkListService.dispatchLoadConciliationWorkList();
22
22
  this.lookupsService.dispatchLoadLookups(conciliationLookupsNameArray);
23
+ this.conciliationWorkListService.dispatchLoadFederalHolidaysList();
23
24
  this.tabService.dispatchAddTab({
24
25
  label: 'Conciliation Appt',
25
26
  route: '/compliance/conciliation',
@@ -41,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
41
42
  type: Component,
42
43
  args: [{ selector: 'prutech-conciliation-work-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<app-nav-tabs></app-nav-tabs>\r\n<prutech-loader *ngIf=\"(loading | async)\"></prutech-loader>\r\n\r\n<prutech-conciliation-work-sheet [workList]=\"workList | async\"></prutech-conciliation-work-sheet>\r\n", styles: [""] }]
43
44
  }], ctorParameters: function () { return [{ type: i1.ConciliationAppointmentWorkListService }, { type: i2.LookupsService }, { type: i3.TabService }]; } });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFhLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSzlDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDOzs7Ozs7O0FBUTlHLE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSxpQkFBaUI7SUFHN0UsWUFBb0IsMkJBQW1FLEVBQ25FLGNBQThCLEVBQzlCLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBSFUsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUF3QztRQUNuRSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUUxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQztRQUMxRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7WUFDN0IsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN6RyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxjQUFjO1FBQ1osRUFBRTtJQUNKLENBQUM7O3NJQTdCVSx3Q0FBd0M7MEhBQXhDLHdDQUF3Qyw2RkNoQnJELCtNQUlBOzRGRFlhLHdDQUF3QztrQkFOcEQsU0FBUzsrQkFDRSxnQ0FBZ0MsbUJBR3pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWJzdHJhY3RDb21wb25lbnQsIFRhYlNlcnZpY2V9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQge0NvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7Q29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWx9IGZyb20gJy4vbW9kZWxzL2NvbmNpbGlhdGlvbi13b3JrLWxpc3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7TG9va3Vwc1NlcnZpY2V9IGZyb20gJy4uL3NoYXJlZC9tb2R1bGVzL2NvbmNpbGlhdGlvbi1sb29rdXBzL3NlcnZpY2VzL2xvb2t1cHMuc2VydmljZSc7XHJcbmltcG9ydCB7Y29uY2lsaWF0aW9uTG9va3Vwc05hbWVBcnJheX0gZnJvbSAnLi4vc2hhcmVkL2NvbnN0YW50cy9jb25jaWxpYXRpb24vY29uY2lsaWF0aW9uLWxvb2t1cHMtbmFtZS1hcnJheSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BydXRlY2gtY29uY2lsaWF0aW9uLXdvcmstbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgd29ya0xpc3Q6IE9ic2VydmFibGU8Q29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWxbXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlOiBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGxvb2t1cHNTZXJ2aWNlOiBMb29rdXBzU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMud29ya0xpc3QgPSB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS53b3JrTGlzdDtcclxuICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0KCk7XHJcbiAgICB0aGlzLmxvb2t1cHNTZXJ2aWNlLmRpc3BhdGNoTG9hZExvb2t1cHMoY29uY2lsaWF0aW9uTG9va3Vwc05hbWVBcnJheSk7XHJcbiAgICB0aGlzLnRhYlNlcnZpY2UuZGlzcGF0Y2hBZGRUYWIoe1xyXG4gICAgICBsYWJlbDogJ0NvbmNpbGlhdGlvbiBBcHB0JyxcclxuICAgICAgcm91dGU6ICcvY29tcGxpYW5jZS9jb25jaWxpYXRpb24nLFxyXG4gICAgICB0YWJOYW1lOiAnY29uY2lsaWF0aW9uJyxcclxuICAgICAgY2FuQ2xvc2U6IGZhbHNlLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXQgbG9hZGluZygpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS53b3JrTGlzdExvYWRpbmcsIHRoaXMubG9va3Vwc1NlcnZpY2UubG9hZGluZ0xvb2t1cHNdKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5jb21wb25lbnREZXN0cm95ZWQpLFxyXG4gICAgICAgIG1hcCgoW2xpc3QsIGxvb2t1cHNdOiBbYm9vbGVhbiwgYm9vbGVhbl0pID0+IGxpc3QgfHwgbG9va3VwcykpO1xyXG4gIH1cclxuXHJcbiAgYWZ0ZXJPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICAvL1xyXG4gIH1cclxufVxyXG4iLCI8YXBwLW5hdi10YWJzPjwvYXBwLW5hdi10YWJzPlxyXG48cHJ1dGVjaC1sb2FkZXIgKm5nSWY9XCIobG9hZGluZyB8IGFzeW5jKVwiPjwvcHJ1dGVjaC1sb2FkZXI+XHJcblxyXG48cHJ1dGVjaC1jb25jaWxpYXRpb24td29yay1zaGVldCBbd29ya0xpc3RdPVwid29ya0xpc3QgfCBhc3luY1wiPjwvcHJ1dGVjaC1jb25jaWxpYXRpb24td29yay1zaGVldD5cclxuIl19
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJ1dGVjaC9jb21wbGlhbmNlL3NyYy9saWIvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQVMsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFhLE1BQU0scUJBQXFCLENBQUM7QUFDbEUsT0FBTyxFQUFDLGFBQWEsRUFBYSxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsR0FBRyxFQUFFLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBSzlDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDOzs7Ozs7O0FBUTlHLE1BQU0sT0FBTyx3Q0FBeUMsU0FBUSxpQkFBaUI7SUFHN0UsWUFBb0IsMkJBQW1FLEVBQ25FLGNBQThCLEVBQzlCLFVBQXNCO1FBQ3hDLEtBQUssRUFBRSxDQUFDO1FBSFUsZ0NBQTJCLEdBQTNCLDJCQUEyQixDQUF3QztRQUNuRSxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUUxQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFFBQVEsQ0FBQztRQUMxRCxJQUFJLENBQUMsMkJBQTJCLENBQUMsZ0NBQWdDLEVBQUUsQ0FBQztRQUNwRSxJQUFJLENBQUMsY0FBYyxDQUFDLG1CQUFtQixDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDdEUsSUFBSSxDQUFDLDJCQUEyQixDQUFDLCtCQUErQixFQUFFLENBQUM7UUFFbkUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7WUFDN0IsS0FBSyxFQUFFLG1CQUFtQjtZQUMxQixLQUFLLEVBQUUsMEJBQTBCO1lBQ2pDLE9BQU8sRUFBRSxjQUFjO1lBQ3ZCLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxjQUFjLENBQUMsQ0FBQzthQUN6RyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUN0QyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQXFCLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCxjQUFjO1FBQ1osRUFBRTtJQUNKLENBQUM7O3NJQS9CVSx3Q0FBd0M7MEhBQXhDLHdDQUF3Qyw2RkNoQnJELCtNQUlBOzRGRFlhLHdDQUF3QztrQkFOcEQsU0FBUzsrQkFDRSxnQ0FBZ0MsbUJBR3pCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWJzdHJhY3RDb21wb25lbnQsIFRhYlNlcnZpY2V9IGZyb20gJ0BwcnV0ZWNoL2NvbXBvbmVudHMnO1xyXG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcblxyXG5pbXBvcnQge0NvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7Q29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWx9IGZyb20gJy4vbW9kZWxzL2NvbmNpbGlhdGlvbi13b3JrLWxpc3QtaXRlbS5tb2RlbCc7XHJcbmltcG9ydCB7TG9va3Vwc1NlcnZpY2V9IGZyb20gJy4uL3NoYXJlZC9tb2R1bGVzL2NvbmNpbGlhdGlvbi1sb29rdXBzL3NlcnZpY2VzL2xvb2t1cHMuc2VydmljZSc7XHJcbmltcG9ydCB7Y29uY2lsaWF0aW9uTG9va3Vwc05hbWVBcnJheX0gZnJvbSAnLi4vc2hhcmVkL2NvbnN0YW50cy9jb25jaWxpYXRpb24vY29uY2lsaWF0aW9uLWxvb2t1cHMtbmFtZS1hcnJheSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BydXRlY2gtY29uY2lsaWF0aW9uLXdvcmstbGlzdCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgd29ya0xpc3Q6IE9ic2VydmFibGU8Q29uY2lsaWF0aW9uV29ya0xpc3RJdGVtTW9kZWxbXT47XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlOiBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0U2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIGxvb2t1cHNTZXJ2aWNlOiBMb29rdXBzU2VydmljZSxcclxuICAgICAgICAgICAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMud29ya0xpc3QgPSB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS53b3JrTGlzdDtcclxuICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0KCk7XHJcbiAgICB0aGlzLmxvb2t1cHNTZXJ2aWNlLmRpc3BhdGNoTG9hZExvb2t1cHMoY29uY2lsaWF0aW9uTG9va3Vwc05hbWVBcnJheSk7XHJcbiAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaExvYWRGZWRlcmFsSG9saWRheXNMaXN0KCk7XHJcblxyXG4gICAgdGhpcy50YWJTZXJ2aWNlLmRpc3BhdGNoQWRkVGFiKHtcclxuICAgICAgbGFiZWw6ICdDb25jaWxpYXRpb24gQXBwdCcsXHJcbiAgICAgIHJvdXRlOiAnL2NvbXBsaWFuY2UvY29uY2lsaWF0aW9uJyxcclxuICAgICAgdGFiTmFtZTogJ2NvbmNpbGlhdGlvbicsXHJcbiAgICAgIGNhbkNsb3NlOiBmYWxzZSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxvYWRpbmcoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2Uud29ya0xpc3RMb2FkaW5nLCB0aGlzLmxvb2t1cHNTZXJ2aWNlLmxvYWRpbmdMb29rdXBzXSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuY29tcG9uZW50RGVzdHJveWVkKSxcclxuICAgICAgICBtYXAoKFtsaXN0LCBsb29rdXBzXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiBsaXN0IHx8IGxvb2t1cHMpKTtcclxuICB9XHJcblxyXG4gIGFmdGVyT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgLy9cclxuICB9XHJcbn1cclxuIiwiPGFwcC1uYXYtdGFicz48L2FwcC1uYXYtdGFicz5cclxuPHBydXRlY2gtbG9hZGVyICpuZ0lmPVwiKGxvYWRpbmcgfCBhc3luYylcIj48L3BydXRlY2gtbG9hZGVyPlxyXG5cclxuPHBydXRlY2gtY29uY2lsaWF0aW9uLXdvcmstc2hlZXQgW3dvcmtMaXN0XT1cIndvcmtMaXN0IHwgYXN5bmNcIj48L3BydXRlY2gtY29uY2lsaWF0aW9uLXdvcmstc2hlZXQ+XHJcbiJdfQ==
@@ -5,7 +5,7 @@ import { handleLoadFail, handleSuccess, SeamsHttpResponse } from '@prutech/compo
5
5
  import { of } from 'rxjs';
6
6
  import { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';
7
7
  import { get, map as _map } from 'lodash';
8
- import { ConciliationAppointmentWorkListActionTypes, LoadConciliationWorkListAction, LoadConciliationWorkListFailAction, LoadConciliationWorkListSuccessAction, PrintDocumentFailAction, PrintDocumentSuccessAction, SaveConciliationStatusFailAction, SaveConciliationStatusSuccessAction, SaveOutreachWorklistFailAction, SaveOutreachWorklistSuccessAction, SaveReassignFailAction, SaveReassignSuccessAction, SaveSchedulingCallBackFailAction, SaveSchedulingCallBackSuccessAction, SubmitBatchPoolAppointmentFailAction, SubmitBatchPoolAppointmentSuccessAction, } from '../actions/conciliation-appointment-work-list.actions';
8
+ import { ConciliationAppointmentWorkListActionTypes, LoadConciliationWorkListAction, LoadConciliationWorkListFailAction, LoadConciliationWorkListSuccessAction, PrintDocumentFailAction, PrintDocumentSuccessAction, SaveConciliationStatusFailAction, SaveConciliationStatusSuccessAction, SaveOutreachWorklistFailAction, SaveOutreachWorklistSuccessAction, SaveReassignFailAction, SaveReassignSuccessAction, SaveSchedulingCallBackFailAction, SaveSchedulingCallBackSuccessAction, SubmitBatchPoolAppointmentFailAction, SubmitBatchPoolAppointmentSuccessAction, LoadFederalHolidaysListSuccessAction, LoadFederalHolidaysListFailAction } from '../actions/conciliation-appointment-work-list.actions';
9
9
  import { openAppointmentDialog } from '../../shared/functions/open-appointment';
10
10
  import { GrantOptionType } from '../constants/grant-option-type';
11
11
  import { getGrantOption } from '../functions/get-grant-option';
@@ -183,6 +183,16 @@ export class ConciliationAppointmentWorkListEffect {
183
183
  window.open(fileURL, '_blank');
184
184
  }
185
185
  }));
186
+ this.loadHolidaysList$ = this.actions$.pipe(ofType(ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysList), map((action) => action.payload), switchMap((id) => {
187
+ return this.conciliationWorkListService.loadFederalHolidays().pipe(map((data) => {
188
+ if (data) {
189
+ return new LoadFederalHolidaysListSuccessAction(data);
190
+ }
191
+ else {
192
+ return new LoadFederalHolidaysListSuccessAction(undefined);
193
+ }
194
+ }), catchError((err) => of(new LoadFederalHolidaysListFailAction(new SeamsHttpResponse(get(err, 'error'))))));
195
+ }));
186
196
  }
187
197
  }
188
198
  ConciliationAppointmentWorkListEffect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConciliationAppointmentWorkListEffect, deps: [{ token: i1.ConciliationAppointmentWorkListService }, { token: i2.ToastrService }, { token: i3.MatDialog }, { token: i4.Router }, { token: i5.TabService }, { token: i6.Actions }], target: i0.ɵɵFactoryTarget.Injectable });
@@ -244,9 +254,12 @@ __decorate([
244
254
  __decorate([
245
255
  Effect({ dispatch: false })
246
256
  ], ConciliationAppointmentWorkListEffect.prototype, "printSuccess$", void 0);
257
+ __decorate([
258
+ Effect()
259
+ ], ConciliationAppointmentWorkListEffect.prototype, "loadHolidaysList$", void 0);
247
260
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ConciliationAppointmentWorkListEffect, decorators: [{
248
261
  type: Injectable
249
262
  }], ctorParameters: function () { return [{ type: i1.ConciliationAppointmentWorkListService }, { type: i2.ToastrService }, { type: i3.MatDialog }, { type: i4.Router }, { type: i5.TabService }, { type: i6.Actions }]; }, propDecorators: { loadWorkList$: [], saveStatus$: [], loadWorkListFailAction$: [], saveStatusSuccess$: [], openDialog$: [], SaveSchedulingCallBackDetail$: [], savSuccessAction$: [], savFailAction$: [], SaveOutreachWorklistDetail$: [], saveSuccessAction$: [], saveFailAction$: [], saveStatusworks$: [], saveReassignFailAction$: [], saveReassignSuccessAction$: [], saveBatchAppointmentworks$: [], saveBatchAppointmentSuccessAction$: [], saveBatchAppointmentFailAction$: [], printDocument$: [],
250
263
  // tslint:disable-next-line:no-any
251
- printSuccess$: [] } });
252
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2VmZmVjdHMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSTFDLE9BQU8sRUFDTCwwQ0FBMEMsRUFDMUMsOEJBQThCLEVBQzlCLGtDQUFrQyxFQUNsQyxxQ0FBcUMsRUFHckMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUUxQixnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBRW5DLDhCQUE4QixFQUM5QixpQ0FBaUMsRUFFakMsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUV6QixnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBRW5DLG9DQUFvQyxFQUNwQyx1Q0FBdUMsR0FDeEMsTUFBTSx1REFBdUQsQ0FBQztBQUkvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixP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SUFEQyxNQUFNLEVBQUU7eUZBa0JQO0FBR0Y7SUFEQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7aUdBUzFCO0FBRUY7SUFEQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7OEZBTzFCO0FBRUY7SUFEQyxNQUFNLEVBQUU7NkVBY1A7QUFJRjtJQUZDLE1BQU0sQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQzs0RUFxQjFCOzRGQW5SUyxxQ0FBcUM7a0JBRGpELFVBQVU7cVBBR1QsYUFBYSxNQWNiLFdBQVcsTUFjWCx1QkFBdUIsTUFXdkIsa0JBQWtCLE1BZ0NsQixXQUFXLE1BWVgsNkJBQTZCLE1Bb0I3QixpQkFBaUIsTUFRakIsY0FBYyxNQWFkLDJCQUEyQixNQW9CM0Isa0JBQWtCLE1BU2xCLGVBQWUsTUFVZixnQkFBZ0IsTUFvQmhCLHVCQUF1QixNQVF2QiwwQkFBMEIsTUFRMUIsMEJBQTBCLE1Bb0IxQixrQ0FBa0MsTUFVbEMsK0JBQStCLE1BUS9CLGNBQWM7UUFnQmQsa0NBQWtDO1FBQ2xDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEFjdGlvbnMsIEVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XHJcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcclxuaW1wb3J0IHsgaGFuZGxlTG9hZEZhaWwsIGhhbmRsZVN1Y2Nlc3MsIFNlYW1zSHR0cFJlc3BvbnNlLCBUYWJTZXJ2aWNlIH0gZnJvbSAnQHBydXRlY2gvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGV4aGF1c3RNYXAsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGdldCwgbWFwIGFzIF9tYXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgeyBUb2FzdHJTZXJ2aWNlIH0gZnJvbSAnbmd4LXRvYXN0cic7XHJcblxyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3Quc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEFjdGlvbixcclxuICBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdFN1Y2Nlc3NBY3Rpb24sXHJcbiAgT3BlbkFwcG9pbnRtZW50RGlhbG9nQWN0aW9uLFxyXG4gIFByaW50RG9jdW1lbnRBY3Rpb24sXHJcbiAgUHJpbnREb2N1bWVudEZhaWxBY3Rpb24sXHJcbiAgUHJpbnREb2N1bWVudFN1Y2Nlc3NBY3Rpb24sXHJcbiAgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0FjdGlvbixcclxuICBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzRmFpbEFjdGlvbixcclxuICBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbixcclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdEFjdGlvbixcclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdEZhaWxBY3Rpb24sXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzQWN0aW9uLFxyXG4gIFNhdmVSZWFzc2lnbkFjdGlvbixcclxuICBTYXZlUmVhc3NpZ25GYWlsQWN0aW9uLFxyXG4gIFNhdmVSZWFzc2lnblN1Y2Nlc3NBY3Rpb24sXHJcbiAgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0FjdGlvbixcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbEFjdGlvbixcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2Vzc0FjdGlvbixcclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudEFjdGlvbixcclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudEZhaWxBY3Rpb24sXHJcbiAgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzQWN0aW9uLFxyXG59IGZyb20gJy4uL2FjdGlvbnMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zJztcclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdCB9IGZyb20gJy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0JztcclxuaW1wb3J0IHsgU2F2ZVN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc3RhdHVzLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgb3BlbkFwcG9pbnRtZW50RGlhbG9nIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucy9vcGVuLWFwcG9pbnRtZW50JztcclxuaW1wb3J0IHsgR3JhbnRPcHRpb25UeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2dyYW50LW9wdGlvbi10eXBlJztcclxuaW1wb3J0IHsgZ2V0R3JhbnRPcHRpb24gfSBmcm9tICcuLi9mdW5jdGlvbnMvZ2V0LWdyYW50LW9wdGlvbic7XHJcbmltcG9ydCB7IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLXNjaGVkdWxpbmctY2FsbC1iYWNrLm1vZGVsJztcclxuaW1wb3J0IHsgU2F2ZU91dHJlYWNoTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1vdXRyZWFjaC1tb2RlbCc7XHJcbmltcG9ydCB7IFN1Ym1pdFJlYXNzaWduTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc3VibWl0LXJlLWFzc2lnbi1mcm9tbW9kZWwnO1xyXG5pbXBvcnQgeyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3N1Ym1pdC1iYXRjaC1wb29sLWFwcG9pbnRtZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2dvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9jb25jaWxpYXRpb24vbWVudS1hY3Rpb24tZGVmcyc7XHJcbmltcG9ydCB7XHJcbiAgY3NBcHBvaW50bWVudHMsXHJcbiAgY3NBc3NpZ25tZW50cyxcclxuICBpdmFwQXNzaWdubWVudHMsXHJcbiAgamNBcHBvaW50bWVudHMsXHJcbiAgc3BsUmVmQXBwb2ludG1lbnRzLFxyXG4gIHRhZ0FwcG9pbnRtZW50cyxcclxuICB0YWdBc3NpZ25tZW50cyxcclxuICB2cnNBcHBvaW50bWVudHMsXHJcbiAgd2VjYXJlQXBwb2ludG1lbnRzXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzL29yZ2luYWwtY2F0ZWdvcnktbG9va3VwLXR5cGVzLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IGNvbmNpbGlhdGlvbklkIH0gZnJvbSAnLi4vY29uc3RhbnRzL3dvcmtsaXN0X2lkJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RFZmZlY3Qge1xyXG4gIEBFZmZlY3QoKVxyXG4gIGxvYWRXb3JrTGlzdCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkQ29uY2lsaWF0aW9uV29ya0xpc3QpLFxyXG4gICAgc3dpdGNoTWFwKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmxvYWRXb3JrTGlzdCgpLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhOiBDb25jaWxpYXRpb25Xb3JrTGlzdCkgPT5cclxuICAgICAgICAgIG5ldyBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RTdWNjZXNzQWN0aW9uKGRhdGEpLFxyXG4gICAgICAgICksXHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycjogYW55KSA9PiBvZihuZXcgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSkpLFxyXG4gICAgICApO1xyXG4gICAgfSksXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgc2F2ZVN0YXR1cyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlQ29uY2lsaWF0aW9uU3RhdHVzQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVN0YXR1cyksXHJcbiAgICBtYXAoKGFjdGlvbjogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0FjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxyXG4gICAgc3dpdGNoTWFwKChwYXlsb2FkOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzUGF5bG9hZCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2Uuc2F2ZVN0YXR1cyhwYXlsb2FkKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YTogU2F2ZVN0YXR1c1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gbmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNTdWNjZXNzQWN0aW9uKGRhdGEpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycjogdW5rbm93bikgPT4gb2YobmV3IFNhdmVDb25jaWxpYXRpb25TdGF0dXNGYWlsQWN0aW9uKG5ldyBTZWFtc0h0dHBSZXNwb25zZShnZXQoZXJyLCAnZXJyb3InKSkpKSksXHJcbiAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG5cclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgbG9hZFdvcmtMaXN0RmFpbEFjdGlvbiQ6IE9ic2VydmFibGU8U2VhbXNIdHRwUmVzcG9uc2U+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlKFxyXG4gICAgICBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbCxcclxuICAgICAgQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTdGF0dXNGYWlsKSxcclxuICAgIG1hcCgoYWN0aW9uOiBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RGYWlsQWN0aW9uIHwgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c0ZhaWxBY3Rpb24pID0+IGdldChhY3Rpb24sICdwYXlsb2FkJykpLFxyXG4gICAgdGFwKChyZXNwb25zZTogU2VhbXNIdHRwUmVzcG9uc2UpID0+IHtcclxuICAgICAgaGFuZGxlTG9hZEZhaWwodGhpcy50b2FzdHIsIF9tYXAoZ2V0KHJlc3BvbnNlLCAnc2VhbXNFcnJvckNvZGVzJyksICd2YWx1ZScpKTtcclxuICAgIH0pLFxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZlU3RhdHVzU3VjY2VzcyQ6IE9ic2VydmFibGU8U2F2ZUNvbmNpbGlhdGlvblN0YXR1c1N1Y2Nlc3NBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFNhdmVDb25jaWxpYXRpb25TdGF0dXNTdWNjZXNzQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVN0YXR1c1N1Y2Nlc3MpLFxyXG4gICAgdGFwKChhY3Rpb246IFNhdmVDb25jaWxpYXRpb25TdGF0dXNTdWNjZXNzQWN0aW9uKSA9PiB7XHJcbiAgICAgIGhhbmRsZVN1Y2Nlc3ModGhpcy50b2FzdHIpO1xyXG4gICAgICBjb25zdCBncmFudE9wdGlvbjogR3JhbnRPcHRpb25UeXBlID0gZ2V0R3JhbnRPcHRpb24oZ2V0KGFjdGlvbiwgJ3BheWxvYWQnKSk7XHJcbiAgICAgIGNvbnN0IGFjdGlvbklkID0gZ2V0KGFjdGlvbiwgJ3BheWxvYWQuYWN0aW9uSWQnKTtcclxuICAgICAgY29uc3Qgb3JpZ2luYWxDYXRlZ29yeUlkID0gZ2V0KGFjdGlvbiwgJ3BheWxvYWQub3JpZ2luYWxDYXRlZ29yeUlkJyk7XHJcbiAgICAgIGNvbnN0IGluZnJhY3Rpb25EYXRlID0gZ2V0KGFjdGlvbiwncGF5bG9hZC5pbmZyYWN0aW9uRGF0ZScpO1xyXG4gICAgICBpZiAoYWN0aW9uSWQgPT09IGdvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZCkge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGdldChhY3Rpb24sICdwYXlsb2FkLmxldHRlclR5cGUnKSwgYXNzZXNzbWVudElkOiBnZXQoYWN0aW9uLCAncGF5bG9hZC5hc3Nlc3NtZW50SWQnKSwgQ21zQ2FzZUlEOiBnZXQoYWN0aW9uLCAncGF5bG9hZC5jYXNlSWQnKSwgd29ya2xpc3RUeXBlOiBjb25jaWxpYXRpb25JZCxpbmZyYWN0aW9uRGF0ZTogaW5mcmFjdGlvbkRhdGUsIH0pO1xyXG4gICAgICAgIGlmIChvcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXBwb2ludG1lbnRzIHx8IG9yaWdpbmFsQ2F0ZWdvcnlJZCA9PT0gY3NBc3NpZ25tZW50cyB8fCBvcmlnaW5hbENhdGVnb3J5SWQgPT09IHRhZ0FwcG9pbnRtZW50cyB8fCBvcmlnaW5hbENhdGVnb3J5SWQgPT09IHRhZ0Fzc2lnbm1lbnRzKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9lYS1lcC8nICsgZ2V0KGFjdGlvbiwgJ3BheWxvYWQuY2FzZUlkJyldLCB7IHF1ZXJ5UGFyYW1zOiB7IGlzY29uY2lsaWF0aW9uV0w6IHRydWUgfSB9KVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAoZ3JhbnRPcHRpb24gPT09IEdyYW50T3B0aW9uVHlwZS5BcHBvaW50bWVudCkge1xyXG4gICAgICAgIC8vIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoT3BlbkFwcG9pbnRtZW50RGlhbG9nKGdldChhY3Rpb24sICdwYXlsb2FkLmNhc2VJZCcpKTtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdCgpO1xyXG4gICAgICB9IGVsc2UgaWYgKGdyYW50T3B0aW9uID09PSBHcmFudE9wdGlvblR5cGUuRVApIHtcclxuICAgICAgICB0aGlzLnRhYlNlcnZpY2UuZGlzcGF0Y2hBZGRUYWIoe1xyXG4gICAgICAgICAgdGFiTmFtZTogJ2VhLWVwLycgKyBnZXQoYWN0aW9uLCAncGF5bG9hZC5jYXNlSWQnKSxcclxuICAgICAgICAgIHJvdXRlOiAnL2VhLWVwLycgKyBnZXQoYWN0aW9uLCAncGF5bG9hZC5jYXNlSWQnKSxcclxuICAgICAgICAgIGxhYmVsOiAnQXNzZXNzbWVudHMnLFxyXG4gICAgICAgICAgY2FuQ2xvc2U6IHRydWUsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvZWEtZXAvJHtnZXQoYWN0aW9uLCAncGF5bG9hZC5jYXNlSWQnKX1gXSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3QoKTtcclxuICAgICAgfVxyXG4gICAgfSksXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgb3BlbkRpYWxvZyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxPcGVuQXBwb2ludG1lbnREaWFsb2dBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5PcGVuQXBwb2ludG1lbnREaWFsb2cpLFxyXG4gICAgZXhoYXVzdE1hcCgoYWN0aW9uOiBPcGVuQXBwb2ludG1lbnREaWFsb2dBY3Rpb24pID0+IHtcclxuICAgICAgcmV0dXJuIG9wZW5BcHBvaW50bWVudERpYWxvZyh0aGlzLmRpYWxvZywgZ2V0KGFjdGlvbiwgJ3BheWxvYWQnKSk7XHJcbiAgICB9KSxcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIG1hcCgocmVzdWx0OiBhbnkpID0+IHtcclxuICAgICAgcmV0dXJuIG5ldyBMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3RBY3Rpb24oKTtcclxuICAgIH0pLFxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tEZXRhaWwkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZVNjaGVkdWxpbmdDYWxsQmFja0FjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTY2hlZHVsaW5nQ2FsbEJhY2spLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIHN3aXRjaE1hcCgocGF5bG9hZDogU2F2ZVNjaGVkdWxpbmdDYWxsQmFja01vZGVsKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5TYXZlU2NoZWR1bGluZ0NhbGxCYWNrRGV0YWlsRGV0YWlscyhwYXlsb2FkKS5waXBlKFxyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3NBY3Rpb24oeyBkYXRhLCBwYXlsb2FkIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2Vzc0FjdGlvbih1bmRlZmluZWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycjogdW5rbm93bikgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZTdWNjZXNzQWN0aW9uJDogT2JzZXJ2YWJsZTx2b2lkPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2Vzc0FjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzKSxcclxuICAgIG1hcCgoYWN0aW9uOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2Vzc0FjdGlvbikgPT4ge1xyXG4gICAgICBoYW5kbGVTdWNjZXNzKHRoaXMudG9hc3RyKTtcclxuXHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZGYWlsQWN0aW9uJDogT2JzZXJ2YWJsZTxTZWFtc0h0dHBSZXNwb25zZT4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWxBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU2NoZWR1bGluZ0NhbGxCYWNrRmFpbCksXHJcbiAgICBtYXAoKGFjdGlvbjogU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWxBY3Rpb24pID0+IGdldChhY3Rpb24sICdwYXlsb2FkJykpLFxyXG4gICAgdGFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIGhhbmRsZUxvYWRGYWlsKHRoaXMudG9hc3RyLCBfbWFwKGdldChyZXNwb25zZSwgJ3NlYW1zRXJyb3JDb2RlcycpLCAndmFsdWUnKSlcclxuXHJcblxyXG4gICAgfSksXHJcblxyXG4gICk7XHJcblxyXG5cclxuICBARWZmZWN0KClcclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdERldGFpbCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlT3V0cmVhY2hXb3JrbGlzdEFjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0KSxcclxuICAgIG1hcCgoYWN0aW9uOiBTYXZlT3V0cmVhY2hXb3JrbGlzdEFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxyXG4gICAgc3dpdGNoTWFwKChwYXlsb2FkOiBTYXZlT3V0cmVhY2hNb2RlbCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuU2F2ZU91dHJlYWNoV29ya2xpc3REZXRhaWxEZXRhaWxzKHBheWxvYWQpLnBpcGUoXHJcbiAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBuby1hbnlcclxuICAgICAgICBtYXAoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGRhdGEpIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24oeyBkYXRhLCBwYXlsb2FkIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24odW5kZWZpbmVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IHVua25vd24pID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihuZXcgU2F2ZU91dHJlYWNoV29ya2xpc3RGYWlsQWN0aW9uKG5ldyBTZWFtc0h0dHBSZXNwb25zZShnZXQoZXJyLCAnZXJyb3InKSkpKTtcclxuICAgICAgICB9KSxcclxuICAgICAgKTtcclxuICAgIH0pLFxyXG4gICk7XHJcbiAgQEVmZmVjdCh7IGRpc3BhdGNoOiBmYWxzZSB9KVxyXG4gIHNhdmVTdWNjZXNzQWN0aW9uJDogT2JzZXJ2YWJsZTx2b2lkPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVPdXRyZWFjaFdvcmtsaXN0U3VjY2Vzc0FjdGlvbikgPT4ge1xyXG5cclxuICAgICAgaGFuZGxlU3VjY2Vzcyh0aGlzLnRvYXN0cik7XHJcbiAgICB9KVxyXG5cclxuICApO1xyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZlRmFpbEFjdGlvbiQ6IE9ic2VydmFibGU8U2VhbXNIdHRwUmVzcG9uc2U+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbCksXHJcbiAgICBtYXAoKGFjdGlvbjogU2F2ZU91dHJlYWNoV29ya2xpc3RGYWlsQWN0aW9uKSA9PiBnZXQoYWN0aW9uLCAncGF5bG9hZCcpKSxcclxuICAgIHRhcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBoYW5kbGVMb2FkRmFpbCh0aGlzLnRvYXN0ciwgX21hcChnZXQocmVzcG9uc2UsICdzZWFtc0Vycm9yQ29kZXMnKSwgJ3ZhbHVlJykpO1xyXG5cclxuICAgIH0pLFxyXG5cclxuICApO1xyXG4gIEBFZmZlY3QoKVxyXG4gIHNhdmVTdGF0dXN3b3JrcyQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlUmVhc3NpZ25BY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlUmVhc3NpZ24pLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVSZWFzc2lnbkFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxyXG4gICAgc3dpdGNoTWFwKChwYXlsb2FkOiBTdWJtaXRSZWFzc2lnbk1vZGVsKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5TYXZlUmVhc3NpZ24ocGF5bG9hZCkucGlwZShcclxuICAgICAgICBtYXAoKGRhdGEpID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2F2ZVJlYXNzaWduU3VjY2Vzc0FjdGlvbihkYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2F2ZVJlYXNzaWduRmFpbEFjdGlvbih1bmRlZmluZWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKG5ldyBTYXZlUmVhc3NpZ25GYWlsQWN0aW9uKG5ldyBTZWFtc0h0dHBSZXNwb25zZShnZXQoZXJyLCAnZXJyb3InKSkpKTtcclxuICAgICAgICB9KSxcclxuICAgICAgKTtcclxuICAgIH0pLFxyXG4gICk7XHJcbiAgQEVmZmVjdCh7IGRpc3BhdGNoOiBmYWxzZSB9KVxyXG4gIHNhdmVSZWFzc2lnbkZhaWxBY3Rpb24kOiBPYnNlcnZhYmxlPFNlYW1zSHR0cFJlc3BvbnNlPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlUmVhc3NpZ25GYWlsQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVJlYXNzaWduRmFpbCksXHJcbiAgICBtYXAoKGFjdGlvbjogU2F2ZVJlYXNzaWduRmFpbEFjdGlvbikgPT4gZ2V0KGFjdGlvbiwgJ3BheWxvYWQnKSksXHJcbiAgICB0YXAoKHJlc3BvbnNlOiBTZWFtc0h0dHBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBoYW5kbGVMb2FkRmFpbCh0aGlzLnRvYXN0ciwgX21hcChnZXQocmVzcG9uc2UsICdzZWFtc0Vycm9yQ29kZXMnKSwgJ3ZhbHVlJykpO1xyXG4gICAgfSksXHJcbiAgKTtcclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2ZVJlYXNzaWduU3VjY2Vzc0FjdGlvbiQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZVJlYXNzaWduU3VjY2Vzc0FjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVSZWFzc2lnblN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVSZWFzc2lnblN1Y2Nlc3NBY3Rpb24pID0+IHtcclxuICAgICAgaGFuZGxlU3VjY2Vzcyh0aGlzLnRvYXN0cik7XHJcbiAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0KCk7XHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoKVxyXG4gIHNhdmVCYXRjaEFwcG9pbnRtZW50d29ya3MkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudCksXHJcbiAgICBtYXAoKGFjdGlvbjogU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIHN3aXRjaE1hcCgocGF5bG9hZDogU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRNb2RlbCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnQocGF5bG9hZCkucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwpID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzQWN0aW9uKHBheWxvYWQpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24odW5kZWZpbmVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IHVua25vd24pID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihuZXcgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsQWN0aW9uKG5ldyBTZWFtc0h0dHBSZXNwb25zZShnZXQoZXJyLCAnZXJyb3InKSkpKTtcclxuICAgICAgICB9KSxcclxuICAgICAgKTtcclxuICAgIH0pLFxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZlQmF0Y2hBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24kOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2Vzc0FjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzQWN0aW9uKSA9PiB7XHJcbiAgICAgIC8vICBoYW5kbGVTdWNjZXNzKHRoaXMudG9hc3RyKTtcclxuICAgICAgaGFuZGxlU3VjY2Vzcyh0aGlzLnRvYXN0cik7XHJcbiAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoUHJpbnREb2N1bWVudCh7IGxldHRlclR5cGU6IGdldChhY3Rpb24sICdwYXlsb2FkLmxldHRlclR5cGUnKSwgYXNzZXNzbWVudElkOiBnZXQoYWN0aW9uLCAncGF5bG9hZC5lYWVwQXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGFjdGlvbiwgJ3BheWxvYWQuY2FzZUlkJykgLHdvcmtsaXN0VHlwZTogY29uY2lsaWF0aW9uSWQsaW5mcmFjdGlvbkRhdGU6IGdldChhY3Rpb24sICdwYXlsb2FkLmluZnJhY3Rpb25EYXRlJyksfSk7XHJcbiAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0KCk7XHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZlQmF0Y2hBcHBvaW50bWVudEZhaWxBY3Rpb24kOiBPYnNlcnZhYmxlPFNlYW1zSHR0cFJlc3BvbnNlPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudEZhaWxBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudEZhaWwpLFxyXG4gICAgbWFwKChhY3Rpb246IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50RmFpbEFjdGlvbikgPT4gZ2V0KGFjdGlvbiwgJ3BheWxvYWQnKSksXHJcbiAgICB0YXAoKHJlc3BvbnNlOiBTZWFtc0h0dHBSZXNwb25zZSkgPT4ge1xyXG4gICAgICBoYW5kbGVMb2FkRmFpbCh0aGlzLnRvYXN0ciwgX21hcChnZXQocmVzcG9uc2UsICdzZWFtc0Vycm9yQ29kZXMnKSwgJ3ZhbHVlJykpO1xyXG4gICAgfSksXHJcbiAgKTtcclxuICBARWZmZWN0KClcclxuICBwcmludERvY3VtZW50JDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFByaW50RG9jdW1lbnRBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5QcmludERvY3VtZW50KSxcclxuICAgIG1hcCgoYWN0aW9uOiBQcmludERvY3VtZW50QWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXHJcbiAgICBzd2l0Y2hNYXAoKHBheWxvYWQ6IHsgbGV0dGVyVHlwZTogbnVtYmVyLCBhc3Nlc3NtZW50SWQ6IG51bWJlciwgQ21zQ2FzZUlEOiBudW1iZXIgLGluZnJhY3Rpb25EYXRlOmFueX0pID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLnByaW50RG9jdW1lbnQocGF5bG9hZC5sZXR0ZXJUeXBlLCBwYXlsb2FkLmFzc2Vzc21lbnRJZCwgcGF5bG9hZC5DbXNDYXNlSUQsY29uY2lsaWF0aW9uSWQsIHBheWxvYWQuaW5mcmFjdGlvbkRhdGUpXHJcbiAgICAgICAgLnBpcGUoXHJcbiAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICAgICAgICBtYXAoKHJlc3BvbnNlOiBIdHRwRXZlbnQ8YW55PikgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByaW50RG9jdW1lbnRTdWNjZXNzQWN0aW9uKHsgcmVzcG9uc2UsIGRhdGE6IHBheWxvYWQgfSk7XHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycjogdW5rbm93bikgPT4gb2YobmV3IFByaW50RG9jdW1lbnRGYWlsQWN0aW9uKG5ldyBTZWFtc0h0dHBSZXNwb25zZShnZXQoZXJyLCAnZXJyb3InKSkpKSksXHJcbiAgICAgICAgKTtcclxuICAgIH0pLFxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgcHJpbnRTdWNjZXNzJDogT2JzZXJ2YWJsZTx7IHJlc3BvbnNlOiBhbnkgfT4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8UHJpbnREb2N1bWVudFN1Y2Nlc3NBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5QcmludERvY3VtZW50U3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogUHJpbnREb2N1bWVudFN1Y2Nlc3NBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgIHRhcCgocGF5bG9hZDogeyByZXNwb25zZTogYW55IH0pID0+IHtcclxuICAgICAgaGFuZGxlU3VjY2Vzcyh0aGlzLnRvYXN0ciwgJ0dlbmVyYXRlZCBTdWNjZXNzZnVsbHkuJylcclxuXHJcbiAgICAgIGlmIChnZXQocGF5bG9hZCwgJ3Jlc3BvbnNlLmZpbGVDb250ZW50cycpKSB7XHJcbiAgICAgICAgY29uc3QgYnl0ZUNoYXJhY3RlcnMgPSBhdG9iKGdldChwYXlsb2FkLCAncmVzcG9uc2UuZmlsZUNvbnRlbnRzJykpO1xyXG4gICAgICAgIGNvbnN0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KGJ5dGVDaGFyYWN0ZXJzLmxlbmd0aCk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgYnl0ZU51bWJlcnNbaV0gPSBieXRlQ2hhcmFjdGVycy5jaGFyQ29kZUF0KGkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XHJcbiAgICAgICAgY29uc3QgYmxvYjogQmxvYiA9IG5ldyBCbG9iKFtieXRlQXJyYXldLCB7IHR5cGU6IGdldChwYXlsb2FkLCAncmVzcG9uc2UuY29udGVudFR5cGUnKSB9KTtcclxuICAgICAgICBjb25zdCBmaWxlVVJMOiBzdHJpbmcgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuICAgICAgICB3aW5kb3cub3BlbihmaWxlVVJMLCAnX2JsYW5rJyk7XHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gICk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2U6IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdHI6IFRvYXN0clNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgdGFiU2VydmljZTogVGFiU2VydmljZSxcclxuICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMpIHtcclxuICB9XHJcbn1cclxuIl19
264
+ printSuccess$: [], loadHolidaysList$: [] } });
265
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5lZmZlY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L2VmZmVjdHMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFXLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFeEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQWMsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBSTFDLE9BQU8sRUFDTCwwQ0FBMEMsRUFDMUMsOEJBQThCLEVBQzlCLGtDQUFrQyxFQUNsQyxxQ0FBcUMsRUFHckMsdUJBQXVCLEVBQ3ZCLDBCQUEwQixFQUUxQixnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBRW5DLDhCQUE4QixFQUM5QixpQ0FBaUMsRUFFakMsc0JBQXNCLEVBQ3RCLHlCQUF5QixFQUV6QixnQ0FBZ0MsRUFDaEMsbUNBQW1DLEVBRW5DLG9DQUFvQyxFQUNwQyx1Q0FBdUMsRUFBK0Isb0NBQW9DLEVBQUMsaUNBQWlDLEVBQzdJLE1BQU0sdURBQXVELENBQUM7QUFJL0QsT0FBTyxFQUFFLHFCQUFxQixFQUFF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QUFXLE1BY1gsdUJBQXVCLE1BV3ZCLGtCQUFrQixNQWdDbEIsV0FBVyxNQVlYLDZCQUE2QixNQW9CN0IsaUJBQWlCLE1BUWpCLGNBQWMsTUFhZCwyQkFBMkIsTUFvQjNCLGtCQUFrQixNQVNsQixlQUFlLE1BVWYsZ0JBQWdCLE1Bb0JoQix1QkFBdUIsTUFRdkIsMEJBQTBCLE1BUTFCLDBCQUEwQixNQW9CMUIsa0NBQWtDLE1BVWxDLCtCQUErQixNQVEvQixjQUFjO1FBZ0JkLGtDQUFrQztRQUNsQyxhQUFhLE1BcUJiLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQWN0aW9ucywgRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcclxuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xyXG5pbXBvcnQgeyBoYW5kbGVMb2FkRmFpbCwgaGFuZGxlU3VjY2VzcywgU2VhbXNIdHRwUmVzcG9uc2UsIFRhYlNlcnZpY2UgfSBmcm9tICdAcHJ1dGVjaC9jb21wb25lbnRzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZXhoYXVzdE1hcCwgbWFwLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgZ2V0LCBtYXAgYXMgX21hcCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCB7IFRvYXN0clNlcnZpY2UgfSBmcm9tICduZ3gtdG9hc3RyJztcclxuXHJcbmltcG9ydCB7IENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMsXHJcbiAgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uLFxyXG4gIExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWxBY3Rpb24sXHJcbiAgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0U3VjY2Vzc0FjdGlvbixcclxuICBPcGVuQXBwb2ludG1lbnREaWFsb2dBY3Rpb24sXHJcbiAgUHJpbnREb2N1bWVudEFjdGlvbixcclxuICBQcmludERvY3VtZW50RmFpbEFjdGlvbixcclxuICBQcmludERvY3VtZW50U3VjY2Vzc0FjdGlvbixcclxuICBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzQWN0aW9uLFxyXG4gIFNhdmVDb25jaWxpYXRpb25TdGF0dXNGYWlsQWN0aW9uLFxyXG4gIFNhdmVDb25jaWxpYXRpb25TdGF0dXNTdWNjZXNzQWN0aW9uLFxyXG4gIFNhdmVPdXRyZWFjaFdvcmtsaXN0QWN0aW9uLFxyXG4gIFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbixcclxuICBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24sXHJcbiAgU2F2ZVJlYXNzaWduQWN0aW9uLFxyXG4gIFNhdmVSZWFzc2lnbkZhaWxBY3Rpb24sXHJcbiAgU2F2ZVJlYXNzaWduU3VjY2Vzc0FjdGlvbixcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrQWN0aW9uLFxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsQWN0aW9uLFxyXG4gIFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzQWN0aW9uLFxyXG4gIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50QWN0aW9uLFxyXG4gIFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50RmFpbEFjdGlvbixcclxuICBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24sTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24sTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RTdWNjZXNzQWN0aW9uLExvYWRGZWRlcmFsSG9saWRheXNMaXN0RmFpbEFjdGlvblxyXG59IGZyb20gJy4uL2FjdGlvbnMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zJztcclxuaW1wb3J0IHsgU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1jb25jaWxpYXRpb24tc3RhdHVzLXBheWxvYWQubW9kZWwnO1xyXG5pbXBvcnQgeyBDb25jaWxpYXRpb25Xb3JrTGlzdCB9IGZyb20gJy4uL21vZGVscy9jb25jaWxpYXRpb24td29yay1saXN0JztcclxuaW1wb3J0IHsgU2F2ZVN0YXR1c1Jlc3BvbnNlIH0gZnJvbSAnLi4vbW9kZWxzL3NhdmUtc3RhdHVzLXJlc3BvbnNlJztcclxuaW1wb3J0IHsgb3BlbkFwcG9pbnRtZW50RGlhbG9nIH0gZnJvbSAnLi4vLi4vc2hhcmVkL2Z1bmN0aW9ucy9vcGVuLWFwcG9pbnRtZW50JztcclxuaW1wb3J0IHsgR3JhbnRPcHRpb25UeXBlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2dyYW50LW9wdGlvbi10eXBlJztcclxuaW1wb3J0IHsgZ2V0R3JhbnRPcHRpb24gfSBmcm9tICcuLi9mdW5jdGlvbnMvZ2V0LWdyYW50LW9wdGlvbic7XHJcbmltcG9ydCB7IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCB9IGZyb20gJy4uL21vZGVscy9zYXZlLXNjaGVkdWxpbmctY2FsbC1iYWNrLm1vZGVsJztcclxuaW1wb3J0IHsgU2F2ZU91dHJlYWNoTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc2F2ZS1vdXRyZWFjaC1tb2RlbCc7XHJcbmltcG9ydCB7IFN1Ym1pdFJlYXNzaWduTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvc3VibWl0LXJlLWFzc2lnbi1mcm9tbW9kZWwnO1xyXG5pbXBvcnQgeyBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL3N1Ym1pdC1iYXRjaC1wb29sLWFwcG9pbnRtZW50Lm1vZGVsJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQge2dvb2RDYXVzZUdyYW50ZWRBY3Rpb25JZH0gZnJvbSAnLi4vLi4vc2hhcmVkL2NvbnN0YW50cy9jb25jaWxpYXRpb24vbWVudS1hY3Rpb24tZGVmcyc7XHJcbmltcG9ydCB7XHJcbiAgY3NBcHBvaW50bWVudHMsXHJcbiAgY3NBc3NpZ25tZW50cyxcclxuICBpdmFwQXNzaWdubWVudHMsXHJcbiAgamNBcHBvaW50bWVudHMsXHJcbiAgc3BsUmVmQXBwb2ludG1lbnRzLFxyXG4gIHRhZ0FwcG9pbnRtZW50cyxcclxuICB0YWdBc3NpZ25tZW50cyxcclxuICB2cnNBcHBvaW50bWVudHMsXHJcbiAgd2VjYXJlQXBwb2ludG1lbnRzXHJcbn0gZnJvbSAnLi4vY29uc3RhbnRzL29yZ2luYWwtY2F0ZWdvcnktbG9va3VwLXR5cGVzLmNvbnN0YW50cyc7XHJcbmltcG9ydCB7IGNvbmNpbGlhdGlvbklkIH0gZnJvbSAnLi4vY29uc3RhbnRzL3dvcmtsaXN0X2lkJztcclxuaW1wb3J0IHsgRmVkZXJhbEhvbGlkYXlzTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZmVkZXJhbC1ob2xpZGF5cy1tb2RlbCc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0RWZmZWN0IHtcclxuICBARWZmZWN0KClcclxuICBsb2FkV29ya0xpc3QkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8TG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0KSxcclxuICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5sb2FkV29ya0xpc3QoKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YTogQ29uY2lsaWF0aW9uV29ya0xpc3QpID0+XHJcbiAgICAgICAgICBuZXcgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0U3VjY2Vzc0FjdGlvbihkYXRhKSxcclxuICAgICAgICApLFxyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcclxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IGFueSkgPT4gb2YobmV3IExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWxBY3Rpb24obmV3IFNlYW1zSHR0cFJlc3BvbnNlKGdldChlcnIsICdlcnJvcicpKSkpKSxcclxuICAgICAgKTtcclxuICAgIH0pLFxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIHNhdmVTdGF0dXMkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZUNvbmNpbGlhdGlvblN0YXR1c0FjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTdGF0dXMpLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVDb25jaWxpYXRpb25TdGF0dXNBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIHN3aXRjaE1hcCgocGF5bG9hZDogU2F2ZUNvbmNpbGlhdGlvblN0YXR1c1BheWxvYWQpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLnNhdmVTdGF0dXMocGF5bG9hZCkucGlwZShcclxuICAgICAgICBtYXAoKGRhdGE6IFNhdmVTdGF0dXNSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbihkYXRhKTtcclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IHVua25vd24pID0+IG9mKG5ldyBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzRmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSkpLFxyXG4gICAgICApO1xyXG4gICAgfSksXHJcbiAgKTtcclxuXHJcbiAgQEVmZmVjdCh7IGRpc3BhdGNoOiBmYWxzZSB9KVxyXG4gIGxvYWRXb3JrTGlzdEZhaWxBY3Rpb24kOiBPYnNlcnZhYmxlPFNlYW1zSHR0cFJlc3BvbnNlPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZShcclxuICAgICAgQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRDb25jaWxpYXRpb25Xb3JrTGlzdEZhaWwsXHJcbiAgICAgIENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU3RhdHVzRmFpbCksXHJcbiAgICBtYXAoKGFjdGlvbjogTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0RmFpbEFjdGlvbiB8IFNhdmVDb25jaWxpYXRpb25TdGF0dXNGYWlsQWN0aW9uKSA9PiBnZXQoYWN0aW9uLCAncGF5bG9hZCcpKSxcclxuICAgIHRhcCgocmVzcG9uc2U6IFNlYW1zSHR0cFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIGhhbmRsZUxvYWRGYWlsKHRoaXMudG9hc3RyLCBfbWFwKGdldChyZXNwb25zZSwgJ3NlYW1zRXJyb3JDb2RlcycpLCAndmFsdWUnKSk7XHJcbiAgICB9KSxcclxuICApO1xyXG5cclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2ZVN0YXR1c1N1Y2Nlc3MkOiBPYnNlcnZhYmxlPFNhdmVDb25jaWxpYXRpb25TdGF0dXNTdWNjZXNzQWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVTdGF0dXNTdWNjZXNzKSxcclxuICAgIHRhcCgoYWN0aW9uOiBTYXZlQ29uY2lsaWF0aW9uU3RhdHVzU3VjY2Vzc0FjdGlvbikgPT4ge1xyXG4gICAgICBoYW5kbGVTdWNjZXNzKHRoaXMudG9hc3RyKTtcclxuICAgICAgY29uc3QgZ3JhbnRPcHRpb246IEdyYW50T3B0aW9uVHlwZSA9IGdldEdyYW50T3B0aW9uKGdldChhY3Rpb24sICdwYXlsb2FkJykpO1xyXG4gICAgICBjb25zdCBhY3Rpb25JZCA9IGdldChhY3Rpb24sICdwYXlsb2FkLmFjdGlvbklkJyk7XHJcbiAgICAgIGNvbnN0IG9yaWdpbmFsQ2F0ZWdvcnlJZCA9IGdldChhY3Rpb24sICdwYXlsb2FkLm9yaWdpbmFsQ2F0ZWdvcnlJZCcpO1xyXG4gICAgICBjb25zdCBpbmZyYWN0aW9uRGF0ZSA9IGdldChhY3Rpb24sJ3BheWxvYWQuaW5mcmFjdGlvbkRhdGUnKTtcclxuICAgICAgaWYgKGFjdGlvbklkID09PSBnb29kQ2F1c2VHcmFudGVkQWN0aW9uSWQpIHtcclxuICAgICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBnZXQoYWN0aW9uLCAncGF5bG9hZC5sZXR0ZXJUeXBlJyksIGFzc2Vzc21lbnRJZDogZ2V0KGFjdGlvbiwgJ3BheWxvYWQuYXNzZXNzbWVudElkJyksIENtc0Nhc2VJRDogZ2V0KGFjdGlvbiwgJ3BheWxvYWQuY2FzZUlkJyksIHdvcmtsaXN0VHlwZTogY29uY2lsaWF0aW9uSWQsaW5mcmFjdGlvbkRhdGU6IGluZnJhY3Rpb25EYXRlLCB9KTtcclxuICAgICAgICBpZiAob3JpZ2luYWxDYXRlZ29yeUlkID09PSBjc0FwcG9pbnRtZW50cyB8fCBvcmlnaW5hbENhdGVnb3J5SWQgPT09IGNzQXNzaWdubWVudHMgfHwgb3JpZ2luYWxDYXRlZ29yeUlkID09PSB0YWdBcHBvaW50bWVudHMgfHwgb3JpZ2luYWxDYXRlZ29yeUlkID09PSB0YWdBc3NpZ25tZW50cykge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvZWEtZXAvJyArIGdldChhY3Rpb24sICdwYXlsb2FkLmNhc2VJZCcpXSwgeyBxdWVyeVBhcmFtczogeyBpc2NvbmNpbGlhdGlvbldMOiB0cnVlIH0gfSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGdyYW50T3B0aW9uID09PSBHcmFudE9wdGlvblR5cGUuQXBwb2ludG1lbnQpIHtcclxuICAgICAgICAvLyB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaE9wZW5BcHBvaW50bWVudERpYWxvZyhnZXQoYWN0aW9uLCAncGF5bG9hZC5jYXNlSWQnKSk7XHJcbiAgICAgICAgdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuZGlzcGF0Y2hMb2FkQ29uY2lsaWF0aW9uV29ya0xpc3QoKTtcclxuICAgICAgfSBlbHNlIGlmIChncmFudE9wdGlvbiA9PT0gR3JhbnRPcHRpb25UeXBlLkVQKSB7XHJcbiAgICAgICAgdGhpcy50YWJTZXJ2aWNlLmRpc3BhdGNoQWRkVGFiKHtcclxuICAgICAgICAgIHRhYk5hbWU6ICdlYS1lcC8nICsgZ2V0KGFjdGlvbiwgJ3BheWxvYWQuY2FzZUlkJyksXHJcbiAgICAgICAgICByb3V0ZTogJy9lYS1lcC8nICsgZ2V0KGFjdGlvbiwgJ3BheWxvYWQuY2FzZUlkJyksXHJcbiAgICAgICAgICBsYWJlbDogJ0Fzc2Vzc21lbnRzJyxcclxuICAgICAgICAgIGNhbkNsb3NlOiB0cnVlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL2VhLWVwLyR7Z2V0KGFjdGlvbiwgJ3BheWxvYWQuY2FzZUlkJyl9YF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmRpc3BhdGNoTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0KCk7XHJcbiAgICAgIH1cclxuICAgIH0pLFxyXG4gICk7XHJcblxyXG4gIEBFZmZlY3QoKVxyXG4gIG9wZW5EaWFsb2ckOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8T3BlbkFwcG9pbnRtZW50RGlhbG9nQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuT3BlbkFwcG9pbnRtZW50RGlhbG9nKSxcclxuICAgIGV4aGF1c3RNYXAoKGFjdGlvbjogT3BlbkFwcG9pbnRtZW50RGlhbG9nQWN0aW9uKSA9PiB7XHJcbiAgICAgIHJldHVybiBvcGVuQXBwb2ludG1lbnREaWFsb2codGhpcy5kaWFsb2csIGdldChhY3Rpb24sICdwYXlsb2FkJykpO1xyXG4gICAgfSksXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICBtYXAoKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIHJldHVybiBuZXcgTG9hZENvbmNpbGlhdGlvbldvcmtMaXN0QWN0aW9uKCk7XHJcbiAgICB9KSxcclxuICApO1xyXG5cclxuICBARWZmZWN0KClcclxuICBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrRGV0YWlsJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU2NoZWR1bGluZ0NhbGxCYWNrKSxcclxuICAgIG1hcCgoYWN0aW9uOiBTYXZlU2NoZWR1bGluZ0NhbGxCYWNrQWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXHJcbiAgICBzd2l0Y2hNYXAoKHBheWxvYWQ6IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tNb2RlbCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0RldGFpbERldGFpbHMocGF5bG9hZCkucGlwZShcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IG5vLWFueVxyXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tTdWNjZXNzQWN0aW9uKHsgZGF0YSwgcGF5bG9hZCB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3NBY3Rpb24odW5kZWZpbmVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICBjYXRjaEVycm9yKChlcnI6IHVua25vd24pID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihuZXcgU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWxBY3Rpb24obmV3IFNlYW1zSHR0cFJlc3BvbnNlKGdldChlcnIsICdlcnJvcicpKSkpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICApO1xyXG4gICAgfSksXHJcbiAgKTtcclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2U3VjY2Vzc0FjdGlvbiQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3NBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlU2NoZWR1bGluZ0NhbGxCYWNrU3VjY2VzcyksXHJcbiAgICBtYXAoKGFjdGlvbjogU2F2ZVNjaGVkdWxpbmdDYWxsQmFja1N1Y2Nlc3NBY3Rpb24pID0+IHtcclxuICAgICAgaGFuZGxlU3VjY2Vzcyh0aGlzLnRvYXN0cik7XHJcblxyXG4gICAgfSksXHJcbiAgKTtcclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2RmFpbEFjdGlvbiQ6IE9ic2VydmFibGU8U2VhbXNIdHRwUmVzcG9uc2U+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVNjaGVkdWxpbmdDYWxsQmFja0ZhaWwpLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVTY2hlZHVsaW5nQ2FsbEJhY2tGYWlsQWN0aW9uKSA9PiBnZXQoYWN0aW9uLCAncGF5bG9hZCcpKSxcclxuICAgIHRhcCgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBoYW5kbGVMb2FkRmFpbCh0aGlzLnRvYXN0ciwgX21hcChnZXQocmVzcG9uc2UsICdzZWFtc0Vycm9yQ29kZXMnKSwgJ3ZhbHVlJykpXHJcblxyXG5cclxuICAgIH0pLFxyXG5cclxuICApO1xyXG5cclxuXHJcbiAgQEVmZmVjdCgpXHJcbiAgU2F2ZU91dHJlYWNoV29ya2xpc3REZXRhaWwkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZU91dHJlYWNoV29ya2xpc3RBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdCksXHJcbiAgICBtYXAoKGFjdGlvbjogU2F2ZU91dHJlYWNoV29ya2xpc3RBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIHN3aXRjaE1hcCgocGF5bG9hZDogU2F2ZU91dHJlYWNoTW9kZWwpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLlNhdmVPdXRyZWFjaFdvcmtsaXN0RGV0YWlsRGV0YWlscyhwYXlsb2FkKS5waXBlKFxyXG4gICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tYW55XHJcbiAgICAgICAgbWFwKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChkYXRhKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzQWN0aW9uKHsgZGF0YSwgcGF5bG9hZCB9KTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzQWN0aW9uKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiB1bmtub3duKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gb2YobmV3IFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZlU3VjY2Vzc0FjdGlvbiQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZU91dHJlYWNoV29ya2xpc3RTdWNjZXNzKSxcclxuICAgIG1hcCgoYWN0aW9uOiBTYXZlT3V0cmVhY2hXb3JrbGlzdFN1Y2Nlc3NBY3Rpb24pID0+IHtcclxuXHJcbiAgICAgIGhhbmRsZVN1Y2Nlc3ModGhpcy50b2FzdHIpO1xyXG4gICAgfSlcclxuXHJcbiAgKTtcclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2ZUZhaWxBY3Rpb24kOiBPYnNlcnZhYmxlPFNlYW1zSHR0cFJlc3BvbnNlPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTYXZlT3V0cmVhY2hXb3JrbGlzdEZhaWxBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlT3V0cmVhY2hXb3JrbGlzdEZhaWwpLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVPdXRyZWFjaFdvcmtsaXN0RmFpbEFjdGlvbikgPT4gZ2V0KGFjdGlvbiwgJ3BheWxvYWQnKSksXHJcbiAgICB0YXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgaGFuZGxlTG9hZEZhaWwodGhpcy50b2FzdHIsIF9tYXAoZ2V0KHJlc3BvbnNlLCAnc2VhbXNFcnJvckNvZGVzJyksICd2YWx1ZScpKTtcclxuXHJcbiAgICB9KSxcclxuXHJcbiAgKTtcclxuICBARWZmZWN0KClcclxuICBzYXZlU3RhdHVzd29ya3MkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZVJlYXNzaWduQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU2F2ZVJlYXNzaWduKSxcclxuICAgIG1hcCgoYWN0aW9uOiBTYXZlUmVhc3NpZ25BY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIHN3aXRjaE1hcCgocGF5bG9hZDogU3VibWl0UmVhc3NpZ25Nb2RlbCkgPT4ge1xyXG4gICAgICByZXR1cm4gdGhpcy5jb25jaWxpYXRpb25Xb3JrTGlzdFNlcnZpY2UuU2F2ZVJlYXNzaWduKHBheWxvYWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFNhdmVSZWFzc2lnblN1Y2Nlc3NBY3Rpb24oZGF0YSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFNhdmVSZWFzc2lnbkZhaWxBY3Rpb24odW5kZWZpbmVkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSxcclxuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgIHJldHVybiBvZihuZXcgU2F2ZVJlYXNzaWduRmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoeyBkaXNwYXRjaDogZmFsc2UgfSlcclxuICBzYXZlUmVhc3NpZ25GYWlsQWN0aW9uJDogT2JzZXJ2YWJsZTxTZWFtc0h0dHBSZXNwb25zZT4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U2F2ZVJlYXNzaWduRmFpbEFjdGlvbj4oQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLlNhdmVSZWFzc2lnbkZhaWwpLFxyXG4gICAgbWFwKChhY3Rpb246IFNhdmVSZWFzc2lnbkZhaWxBY3Rpb24pID0+IGdldChhY3Rpb24sICdwYXlsb2FkJykpLFxyXG4gICAgdGFwKChyZXNwb25zZTogU2VhbXNIdHRwUmVzcG9uc2UpID0+IHtcclxuICAgICAgaGFuZGxlTG9hZEZhaWwodGhpcy50b2FzdHIsIF9tYXAoZ2V0KHJlc3BvbnNlLCAnc2VhbXNFcnJvckNvZGVzJyksICd2YWx1ZScpKTtcclxuICAgIH0pLFxyXG4gICk7XHJcbiAgQEVmZmVjdCh7IGRpc3BhdGNoOiBmYWxzZSB9KVxyXG4gIHNhdmVSZWFzc2lnblN1Y2Nlc3NBY3Rpb24kOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFNhdmVSZWFzc2lnblN1Y2Nlc3NBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TYXZlUmVhc3NpZ25TdWNjZXNzKSxcclxuICAgIG1hcCgoYWN0aW9uOiBTYXZlUmVhc3NpZ25TdWNjZXNzQWN0aW9uKSA9PiB7XHJcbiAgICAgIGhhbmRsZVN1Y2Nlc3ModGhpcy50b2FzdHIpO1xyXG4gICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdCgpO1xyXG4gICAgfSksXHJcbiAgKTtcclxuICBARWZmZWN0KClcclxuICBzYXZlQmF0Y2hBcHBvaW50bWVudHdvcmtzJDogT2JzZXJ2YWJsZTxBY3Rpb24+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50QWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnQpLFxyXG4gICAgbWFwKChhY3Rpb246IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50QWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXHJcbiAgICBzd2l0Y2hNYXAoKHBheWxvYWQ6IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50TW9kZWwpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLlN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50KHBheWxvYWQpLnBpcGUoXHJcbiAgICAgICAgbWFwKChkYXRhOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudE1vZGVsKSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2Vzc0FjdGlvbihwYXlsb2FkKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRTdWNjZXNzQWN0aW9uKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiB1bmtub3duKSA9PiB7XHJcbiAgICAgICAgICByZXR1cm4gb2YobmV3IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50RmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG5cclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2ZUJhdGNoQXBwb2ludG1lbnRTdWNjZXNzQWN0aW9uJDogT2JzZXJ2YWJsZTx2b2lkPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3NBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5TdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudFN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IFN1Ym1pdEJhdGNoUG9vbEFwcG9pbnRtZW50U3VjY2Vzc0FjdGlvbikgPT4ge1xyXG4gICAgICAvLyAgaGFuZGxlU3VjY2Vzcyh0aGlzLnRvYXN0cik7XHJcbiAgICAgIGhhbmRsZVN1Y2Nlc3ModGhpcy50b2FzdHIpO1xyXG4gICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaFByaW50RG9jdW1lbnQoeyBsZXR0ZXJUeXBlOiBnZXQoYWN0aW9uLCAncGF5bG9hZC5sZXR0ZXJUeXBlJyksIGFzc2Vzc21lbnRJZDogZ2V0KGFjdGlvbiwgJ3BheWxvYWQuZWFlcEFzc2Vzc21lbnRJZCcpLCBDbXNDYXNlSUQ6IGdldChhY3Rpb24sICdwYXlsb2FkLmNhc2VJZCcpICx3b3JrbGlzdFR5cGU6IGNvbmNpbGlhdGlvbklkLGluZnJhY3Rpb25EYXRlOiBnZXQoYWN0aW9uLCAncGF5bG9hZC5pbmZyYWN0aW9uRGF0ZScpLH0pO1xyXG4gICAgICB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5kaXNwYXRjaExvYWRDb25jaWxpYXRpb25Xb3JrTGlzdCgpO1xyXG4gICAgfSksXHJcbiAgKTtcclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgc2F2ZUJhdGNoQXBwb2ludG1lbnRGYWlsQWN0aW9uJDogT2JzZXJ2YWJsZTxTZWFtc0h0dHBSZXNwb25zZT4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8U3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuU3VibWl0QmF0Y2hQb29sQXBwb2ludG1lbnRGYWlsKSxcclxuICAgIG1hcCgoYWN0aW9uOiBTdWJtaXRCYXRjaFBvb2xBcHBvaW50bWVudEZhaWxBY3Rpb24pID0+IGdldChhY3Rpb24sICdwYXlsb2FkJykpLFxyXG4gICAgdGFwKChyZXNwb25zZTogU2VhbXNIdHRwUmVzcG9uc2UpID0+IHtcclxuICAgICAgaGFuZGxlTG9hZEZhaWwodGhpcy50b2FzdHIsIF9tYXAoZ2V0KHJlc3BvbnNlLCAnc2VhbXNFcnJvckNvZGVzJyksICd2YWx1ZScpKTtcclxuICAgIH0pLFxyXG4gICk7XHJcbiAgQEVmZmVjdCgpXHJcbiAgcHJpbnREb2N1bWVudCQ6IE9ic2VydmFibGU8QWN0aW9uPiA9IHRoaXMuYWN0aW9ucyQucGlwZShcclxuICAgIG9mVHlwZTxQcmludERvY3VtZW50QWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudCksXHJcbiAgICBtYXAoKGFjdGlvbjogUHJpbnREb2N1bWVudEFjdGlvbikgPT4gYWN0aW9uLnBheWxvYWQpLFxyXG4gICAgc3dpdGNoTWFwKChwYXlsb2FkOiB7IGxldHRlclR5cGU6IG51bWJlciwgYXNzZXNzbWVudElkOiBudW1iZXIsIENtc0Nhc2VJRDogbnVtYmVyICxpbmZyYWN0aW9uRGF0ZTphbnl9KSA9PiB7XHJcbiAgICAgIHJldHVybiB0aGlzLmNvbmNpbGlhdGlvbldvcmtMaXN0U2VydmljZS5wcmludERvY3VtZW50KHBheWxvYWQubGV0dGVyVHlwZSwgcGF5bG9hZC5hc3Nlc3NtZW50SWQsIHBheWxvYWQuQ21zQ2FzZUlELGNvbmNpbGlhdGlvbklkLCBwYXlsb2FkLmluZnJhY3Rpb25EYXRlKVxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gICAgICAgICAgbWFwKChyZXNwb25zZTogSHR0cEV2ZW50PGFueT4pID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcmludERvY3VtZW50U3VjY2Vzc0FjdGlvbih7IHJlc3BvbnNlLCBkYXRhOiBwYXlsb2FkIH0pO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnI6IHVua25vd24pID0+IG9mKG5ldyBQcmludERvY3VtZW50RmFpbEFjdGlvbihuZXcgU2VhbXNIdHRwUmVzcG9uc2UoZ2V0KGVyciwgJ2Vycm9yJykpKSkpLFxyXG4gICAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG5cclxuICBARWZmZWN0KHsgZGlzcGF0Y2g6IGZhbHNlIH0pXHJcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxyXG4gIHByaW50U3VjY2VzcyQ6IE9ic2VydmFibGU8eyByZXNwb25zZTogYW55IH0+ID0gdGhpcy5hY3Rpb25zJC5waXBlKFxyXG4gICAgb2ZUeXBlPFByaW50RG9jdW1lbnRTdWNjZXNzQWN0aW9uPihDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuUHJpbnREb2N1bWVudFN1Y2Nlc3MpLFxyXG4gICAgbWFwKChhY3Rpb246IFByaW50RG9jdW1lbnRTdWNjZXNzQWN0aW9uKSA9PiBhY3Rpb24ucGF5bG9hZCksXHJcbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XHJcbiAgICB0YXAoKHBheWxvYWQ6IHsgcmVzcG9uc2U6IGFueSB9KSA9PiB7XHJcbiAgICAgIGhhbmRsZVN1Y2Nlc3ModGhpcy50b2FzdHIsICdHZW5lcmF0ZWQgU3VjY2Vzc2Z1bGx5LicpXHJcblxyXG4gICAgICBpZiAoZ2V0KHBheWxvYWQsICdyZXNwb25zZS5maWxlQ29udGVudHMnKSkge1xyXG4gICAgICAgIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihnZXQocGF5bG9hZCwgJ3Jlc3BvbnNlLmZpbGVDb250ZW50cycpKTtcclxuICAgICAgICBjb25zdCBieXRlTnVtYmVycyA9IG5ldyBBcnJheShieXRlQ2hhcmFjdGVycy5sZW5ndGgpO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGJ5dGVOdW1iZXJzW2ldID0gYnl0ZUNoYXJhY3RlcnMuY2hhckNvZGVBdChpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xyXG4gICAgICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBuZXcgQmxvYihbYnl0ZUFycmF5XSwgeyB0eXBlOiBnZXQocGF5bG9hZCwgJ3Jlc3BvbnNlLmNvbnRlbnRUeXBlJykgfSk7XHJcbiAgICAgICAgY29uc3QgZmlsZVVSTDogc3RyaW5nID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oZmlsZVVSTCwgJ19ibGFuaycpO1xyXG4gICAgICB9XHJcbiAgICB9KSxcclxuICApO1xyXG4gIEBFZmZlY3QoKVxyXG4gIGxvYWRIb2xpZGF5c0xpc3QkOiBPYnNlcnZhYmxlPEFjdGlvbj4gPSB0aGlzLmFjdGlvbnMkLnBpcGUoXHJcbiAgICBvZlR5cGU8TG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24+KENvbmNpbGlhdGlvbkFwcG9pbnRtZW50V29ya0xpc3RBY3Rpb25UeXBlcy5Mb2FkRmVkZXJhbEhvbGlkYXlzTGlzdCksXHJcbiAgICBtYXAoKGFjdGlvbjogTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24pID0+IGFjdGlvbi5wYXlsb2FkKSxcclxuICAgIHN3aXRjaE1hcCgoaWQpID0+IHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlLmxvYWRGZWRlcmFsSG9saWRheXMoKS5waXBlKFxyXG4gICAgICAgIG1hcCgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IExvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2Vzc0FjdGlvbihkYXRhKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXcgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RTdWNjZXNzQWN0aW9uKHVuZGVmaW5lZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcigoZXJyOiB1bmtub3duKSA9PiBvZihuZXcgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RGYWlsQWN0aW9uKG5ldyBTZWFtc0h0dHBSZXNwb25zZShnZXQoZXJyLCAnZXJyb3InKSkpKSksXHJcbiAgICAgICk7XHJcbiAgICB9KSxcclxuICApO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uY2lsaWF0aW9uV29ya0xpc3RTZXJ2aWNlOiBDb25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RyOiBUb2FzdHJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIHRhYlNlcnZpY2U6IFRhYlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zKSB7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,9 +1,12 @@
1
1
  import { get } from 'lodash';
2
+ import moment from 'moment';
2
3
  export class FederalHolidaysModel {
3
4
  constructor(data) {
4
- this.id = get(data, 'id');
5
- this.HolidayName = get(data, 'HolidayName');
6
- this.HolidayDate = get(data, 'HolidayDate');
5
+ this.holidayId = get(data, 'holidayId');
6
+ this.holidayName = get(data, 'holidayName');
7
+ this.holidayDate = moment(get(data, 'holidayDate')).startOf('day').toDate();
8
+ this.isFederal = get(data, 'isFederal');
9
+ this.isPublic = get(data, 'isPublic');
7
10
  }
8
11
  }
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhbC1ob2xpZGF5cy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BydXRlY2gvY29tcGxpYW5jZS9zcmMvbGliL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QvbW9kZWxzL2ZlZGVyYWwtaG9saWRheXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMzQixNQUFNLE9BQU8sb0JBQW9CO0lBSTdCLFlBQVksSUFBYztRQUN0QixJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBQyxhQUFhLENBQUMsQ0FBQztJQUNuRCxDQUFDO0NBQ0EiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2dldH0gZnJvbSAnbG9kYXNoJztcclxuZXhwb3J0IGNsYXNzIEZlZGVyYWxIb2xpZGF5c01vZGVse1xyXG4gICAgaWQ6IG51bWJlcjtcclxuICAgIEhvbGlkYXlOYW1lOiBzdHJpbmc7XHJcbiAgICBIb2xpZGF5RGF0ZTogRGF0ZTtcclxuICAgIGNvbnN0cnVjdG9yKGRhdGEgOiB1bmtub3duKXtcclxuICAgICAgICB0aGlzLmlkID0gZ2V0KGRhdGEsJ2lkJyk7XHJcbiAgICAgICAgdGhpcy5Ib2xpZGF5TmFtZSA9IGdldChkYXRhLCdIb2xpZGF5TmFtZScpO1xyXG4gICAgICAgIHRoaXMuSG9saWRheURhdGUgPSBnZXQoZGF0YSwnSG9saWRheURhdGUnKTtcclxufVxyXG59Il19
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhbC1ob2xpZGF5cy1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3BydXRlY2gvY29tcGxpYW5jZS9zcmMvbGliL2NvbmNpbGlhdGlvbi1hcHBvaW50bWVudC13b3JrLWxpc3QvbW9kZWxzL2ZlZGVyYWwtaG9saWRheXMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM3QixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsTUFBTSxPQUFPLG9CQUFvQjtJQU03QixZQUFZLElBQWE7UUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzVFLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDMUMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0IH0gZnJvbSAnbG9kYXNoJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIEZlZGVyYWxIb2xpZGF5c01vZGVsIHtcclxuICAgIGhvbGlkYXlJZDogbnVtYmVyO1xyXG4gICAgaG9saWRheU5hbWU6IHN0cmluZztcclxuICAgIGhvbGlkYXlEYXRlOiBEYXRlO1xyXG4gICAgaXNGZWRlcmFsOiBib29sZWFuO1xyXG4gICAgaXNQdWJsaWM6IGJvb2xlYW47XHJcbiAgICBjb25zdHJ1Y3RvcihkYXRhOiB1bmtub3duKSB7XHJcbiAgICAgICAgdGhpcy5ob2xpZGF5SWQgPSBnZXQoZGF0YSwgJ2hvbGlkYXlJZCcpO1xyXG4gICAgICAgIHRoaXMuaG9saWRheU5hbWUgPSBnZXQoZGF0YSwgJ2hvbGlkYXlOYW1lJyk7XHJcbiAgICAgICAgdGhpcy5ob2xpZGF5RGF0ZSA9IG1vbWVudChnZXQoZGF0YSwgJ2hvbGlkYXlEYXRlJykpLnN0YXJ0T2YoJ2RheScpLnRvRGF0ZSgpO1xyXG4gICAgICAgIHRoaXMuaXNGZWRlcmFsID0gZ2V0KGRhdGEsICdpc0ZlZGVyYWwnKTtcclxuICAgICAgICB0aGlzLmlzUHVibGljID0gZ2V0KGRhdGEsICdpc1B1YmxpYycpO1xyXG4gICAgfVxyXG59Il19
@@ -0,0 +1,33 @@
1
+ import { assign, get } from 'lodash';
2
+ import * as LoadFederalHolidaysListAction from '../actions/conciliation-appointment-work-list.actions';
3
+ import { adapter, initialState } from '../state/federal-holidays-list.state';
4
+ export function reducer(state = initialState, action) {
5
+ switch (action.type) {
6
+ case LoadFederalHolidaysListAction.ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysList: {
7
+ return assign({}, state, {
8
+ loadingHolidayList: true,
9
+ errors: undefined,
10
+ });
11
+ }
12
+ case LoadFederalHolidaysListAction.ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysListSuccess: {
13
+ const actOnState = adapter.removeAll(state);
14
+ return adapter.addMany(get(action, 'payload'), {
15
+ ...actOnState,
16
+ loadingHolidayList: false,
17
+ errors: undefined,
18
+ });
19
+ }
20
+ case LoadFederalHolidaysListAction.ConciliationAppointmentWorkListActionTypes.LoadFederalHolidaysListFail: {
21
+ return assign({}, state, {
22
+ loadingHolidayList: false,
23
+ errors: action.payload,
24
+ });
25
+ }
26
+ default: {
27
+ return state;
28
+ }
29
+ }
30
+ }
31
+ export const getLoadingHolidayList = (state) => state.loadingHolidayList;
32
+ export const getErrors = (state) => state.errors;
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVkZXJhbC1ob2xpZGF5cy1saXN0LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcnV0ZWNoL2NvbXBsaWFuY2Uvc3JjL2xpYi9jb25jaWxpYXRpb24tYXBwb2ludG1lbnQtd29yay1saXN0L3JlZHVjZXJzL2ZlZGVyYWwtaG9saWRheXMtbGlzdC5yZWR1Y2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sS0FBSyw2QkFBNkIsTUFBTSx1REFBdUQsQ0FBQztBQUN2RyxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBYyxNQUFNLHNDQUFzQyxDQUFDO0FBR3pGLE1BQU0sVUFBVSxPQUFPLENBQUMsUUFBb0IsWUFBWSxFQUFDLE1BQW1FO0lBQzFILFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUVuQixLQUFLLDZCQUE2QixDQUFDLDBDQUEwQyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDckcsT0FBTyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRTtnQkFDdkIsa0JBQWtCLEVBQUUsSUFBSTtnQkFDeEIsTUFBTSxFQUFFLFNBQVM7YUFDbEIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxLQUFLLDZCQUE2QixDQUFDLDBDQUEwQyxDQUFDLDhCQUE4QixDQUFDLENBQUM7WUFDNUcsTUFBTSxVQUFVLEdBQWUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4RCxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQXlCLEdBQUcsQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUU7Z0JBQ3JFLEdBQUcsVUFBVTtnQkFDYixrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixNQUFNLEVBQUUsU0FBUzthQUNsQixDQUFDLENBQUM7U0FDSjtRQUNELEtBQUssNkJBQTZCLENBQUMsMENBQTBDLENBQUMsMkJBQTJCLENBQUMsQ0FBQztZQUN6RyxPQUFPLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFO2dCQUN2QixrQkFBa0IsRUFBRSxLQUFLO2dCQUN6QixNQUFNLEVBQUUsTUFBTSxDQUFDLE9BQU87YUFDdkIsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxPQUFPLENBQUMsQ0FBQztZQUNQLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7S0FDRjtBQUVILENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBbUMsQ0FBQyxLQUFpQixFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUM7QUFDckgsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFvQyxDQUFDLEtBQWlCLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhc3NpZ24sIGdldCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCAqIGFzIExvYWRGZWRlcmFsSG9saWRheXNMaXN0QWN0aW9uIGZyb20gJy4uL2FjdGlvbnMvY29uY2lsaWF0aW9uLWFwcG9pbnRtZW50LXdvcmstbGlzdC5hY3Rpb25zJztcclxuaW1wb3J0IHsgYWRhcHRlciwgaW5pdGlhbFN0YXRlLCBMb2NhbFN0YXRlIH0gZnJvbSAnLi4vc3RhdGUvZmVkZXJhbC1ob2xpZGF5cy1saXN0LnN0YXRlJztcclxuaW1wb3J0IHsgRmVkZXJhbEhvbGlkYXlzTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvZmVkZXJhbC1ob2xpZGF5cy1tb2RlbCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogTG9jYWxTdGF0ZSA9IGluaXRpYWxTdGF0ZSxhY3Rpb246IExvYWRGZWRlcmFsSG9saWRheXNMaXN0QWN0aW9uLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0QWN0aW9uKTogTG9jYWxTdGF0ZSB7XHJcbiAgc3dpdGNoIChhY3Rpb24udHlwZSkge1xyXG5cclxuICAgIGNhc2UgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24uQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0OiB7XHJcbiAgICAgIHJldHVybiBhc3NpZ24oe30sIHN0YXRlLCB7XHJcbiAgICAgICAgbG9hZGluZ0hvbGlkYXlMaXN0OiB0cnVlLFxyXG4gICAgICAgIGVycm9yczogdW5kZWZpbmVkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGNhc2UgTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RBY3Rpb24uQ29uY2lsaWF0aW9uQXBwb2ludG1lbnRXb3JrTGlzdEFjdGlvblR5cGVzLkxvYWRGZWRlcmFsSG9saWRheXNMaXN0U3VjY2Vzczoge1xyXG4gICAgICBjb25zdCBhY3RPblN0YXRlOiBMb2NhbFN0YXRlID0gYWRhcHRlci5yZW1vdmVBbGwoc3RhdGUpO1xyXG4gICAgICByZXR1cm4gYWRhcHRlci5hZGRNYW55KDxGZWRlcmFsSG9saWRheXNNb2RlbFtdPmdldChhY3Rpb24sICdwYXlsb2FkJyksIHtcclxuICAgICAgICAuLi5hY3RPblN0YXRlLFxyXG4gICAgICAgIGxvYWRpbmdIb2xpZGF5TGlzdDogZmFsc2UsXHJcbiAgICAgICAgZXJyb3JzOiB1bmRlZmluZWQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgY2FzZSBMb2FkRmVkZXJhbEhvbGlkYXlzTGlzdEFjdGlvbi5Db25jaWxpYXRpb25BcHBvaW50bWVudFdvcmtMaXN0QWN0aW9uVHlwZXMuTG9hZEZlZGVyYWxIb2xpZGF5c0xpc3RGYWlsOiB7XHJcbiAgICAgIHJldHVybiBhc3NpZ24oe30sIHN0YXRlLCB7XHJcbiAgICAgICAgbG9hZGluZ0hvbGlkYXlMaXN0OiBmYWxzZSxcclxuICAgICAgICBlcnJvcnM6IGFjdGlvbi5wYXlsb2FkLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGRlZmF1bHQ6IHtcclxuICAgICAgcmV0dXJuIHN0YXRlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBnZXRMb2FkaW5nSG9saWRheUxpc3Q6IChzdGF0ZTogTG9jYWxTdGF0ZSkgPT4gYm9vbGVhbiA9IChzdGF0ZTogTG9jYWxTdGF0ZSkgPT4gc3RhdGUubG9hZGluZ0hvbGlkYXlMaXN0O1xyXG5leHBvcnQgY29uc3QgZ2V0RXJyb3JzOiAoc3RhdGU6IExvY2FsU3RhdGUpID0+IHN0cmluZ1tdID0gKHN0YXRlOiBMb2NhbFN0YXRlKSA9PiBzdGF0ZS5lcnJvcnM7XHJcbiJdfQ==