@coreui/angular-pro 5.2.20 → 5.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/calendar/calendar/calendar.component.mjs +312 -410
- package/esm2022/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +3 -2
- package/esm2022/lib/calendar/calendar-month/calendar-class-row.pipe.mjs +2 -4
- package/esm2022/lib/calendar/calendar-month/calendar-day.directive.mjs +2 -2
- package/esm2022/lib/calendar/calendar-month/calendar-month.component.mjs +182 -262
- package/esm2022/lib/calendar/calendar-month/calendar-row.directive.mjs +33 -31
- package/esm2022/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +41 -13
- package/esm2022/lib/calendar/calendar.service.mjs +13 -10
- package/esm2022/lib/calendar/calendar.utils.mjs +19 -12
- package/esm2022/lib/date-picker/date-picker.component.mjs +23 -26
- package/esm2022/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +193 -295
- package/fesm2022/coreui-angular-pro.mjs +803 -1044
- package/fesm2022/coreui-angular-pro.mjs.map +1 -1
- package/lib/calendar/calendar/calendar.component.d.ts +60 -80
- package/lib/calendar/calendar-month/calendar-class-row.pipe.d.ts +2 -1
- package/lib/calendar/calendar-month/calendar-month.component.d.ts +33 -59
- package/lib/calendar/calendar-month/calendar-row.directive.d.ts +1 -1
- package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +16 -6
- package/lib/calendar/calendar.service.d.ts +11 -3
- package/lib/calendar/calendar.utils.d.ts +4 -3
- package/lib/date-picker/date-picker.component.d.ts +9 -10
- package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +65 -94
- package/package.json +2 -2
|
@@ -3,7 +3,8 @@ import { isThisMonth } from '../calendar.utils';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class CalendarClassMonthPipe {
|
|
5
5
|
transform(calendarDate, monthIndex) {
|
|
6
|
-
const
|
|
6
|
+
const year = new Date(calendarDate).getFullYear();
|
|
7
|
+
const date = new Date(year, monthIndex, 1);
|
|
7
8
|
return {
|
|
8
9
|
'calendar-cell': true,
|
|
9
10
|
month: true,
|
|
@@ -20,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
20
21
|
standalone: true
|
|
21
22
|
}]
|
|
22
23
|
}] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTWhELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsU0FBUyxDQUFDLFlBQW9DLEVBQUUsVUFBa0I7UUFDaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbEQsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUzQyxPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUk7WUFDckIsS0FBSyxFQUFFLElBQUk7WUFDWCxLQUFLLEVBQUUsV0FBVyxDQUFDLElBQUksRUFBRSxVQUFVLENBQUM7U0FDckMsQ0FBQztJQUNKLENBQUM7OEdBVlUsc0JBQXNCOzRHQUF0QixzQkFBc0I7OzJGQUF0QixzQkFBc0I7a0JBSmxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNUaGlzTW9udGggfSBmcm9tICcuLi9jYWxlbmRhci51dGlscyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NhbGVuZGFyQ2xhc3NNb250aCcsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oY2FsZW5kYXJEYXRlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlLCBtb250aEluZGV4OiBudW1iZXIpOiBhbnkge1xuICAgIGNvbnN0IHllYXIgPSBuZXcgRGF0ZShjYWxlbmRhckRhdGUpLmdldEZ1bGxZZWFyKCk7XG4gICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoSW5kZXgsIDEpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgICdjYWxlbmRhci1jZWxsJzogdHJ1ZSxcbiAgICAgIG1vbnRoOiB0cnVlLFxuICAgICAgdG9kYXk6IGlzVGhpc01vbnRoKGRhdGUsIG1vbnRoSW5kZXgpXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -4,9 +4,7 @@ import * as i0 from "@angular/core";
|
|
|
4
4
|
export class CalendarClassRowPipe {
|
|
5
5
|
transform(week, datesConfig) {
|
|
6
6
|
const { minDate, maxDate, disabledDates, dateFilter, calendarDate, selectionType } = { ...datesConfig };
|
|
7
|
-
const date = convertToDateObject(week.weekNumber === 0
|
|
8
|
-
? `${calendarDate.getFullYear()}W53`
|
|
9
|
-
: `${calendarDate.getFullYear()}W${week.weekNumber}`, selectionType);
|
|
7
|
+
const date = convertToDateObject(week.weekNumber === 0 ? `${calendarDate.getFullYear()}W53` : `${calendarDate.getFullYear()}W${week.weekNumber}`, selectionType);
|
|
10
8
|
const isDisabled = isDateDisabled(date, minDate, maxDate, disabledDates) || (dateFilter ? !dateFilter(date) : false);
|
|
11
9
|
return {
|
|
12
10
|
'calendar-row': true,
|
|
@@ -23,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
23
21
|
standalone: true
|
|
24
22
|
}]
|
|
25
23
|
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3Mtcm93LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWNsYXNzLXJvdy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFPeEUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixTQUFTLENBQ1AsSUFBbUUsRUFDbkUsV0FPQztRQUVELE1BQU0sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUV4RyxNQUFNLElBQUksR0FBRyxtQkFBbUIsQ0FDOUIsSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDL0csYUFBYSxDQUNkLENBQUM7UUFDRixNQUFNLFVBQVUsR0FDZCxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVwRyxPQUFPO1lBQ0wsY0FBYyxFQUFFLElBQUk7WUFDcEIsUUFBUSxFQUFFLFVBQVU7U0FDckIsQ0FBQztJQUNKLENBQUM7OEdBekJVLG9CQUFvQjs0R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQUpoQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxrQkFBa0I7b0JBQ3hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbnZlcnRUb0RhdGVPYmplY3QsIGlzRGF0ZURpc2FibGVkIH0gZnJvbSAnLi4vY2FsZW5kYXIudXRpbHMnO1xuaW1wb3J0IHsgU2VsZWN0aW9uVHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdjYWxlbmRhckNsYXNzUm93JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNsYXNzUm93UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0oXG4gICAgd2VlazogeyB3ZWVrTnVtYmVyOiBudW1iZXI7IGRheXM6IHsgZGF0ZTogRGF0ZTsgbW9udGg6IHN0cmluZyB9W10gfSxcbiAgICBkYXRlc0NvbmZpZz86IHtcbiAgICAgIG1pbkRhdGU6IGFueTtcbiAgICAgIG1heERhdGU6IGFueTtcbiAgICAgIGRpc2FibGVkRGF0ZXM6IGFueTtcbiAgICAgIGRhdGVGaWx0ZXI6IGFueTtcbiAgICAgIGNhbGVuZGFyRGF0ZTogYW55O1xuICAgICAgc2VsZWN0aW9uVHlwZTogU2VsZWN0aW9uVHlwZTtcbiAgICB9XG4gICkge1xuICAgIGNvbnN0IHsgbWluRGF0ZSwgbWF4RGF0ZSwgZGlzYWJsZWREYXRlcywgZGF0ZUZpbHRlciwgY2FsZW5kYXJEYXRlLCBzZWxlY3Rpb25UeXBlIH0gPSB7IC4uLmRhdGVzQ29uZmlnIH07XG5cbiAgICBjb25zdCBkYXRlID0gY29udmVydFRvRGF0ZU9iamVjdChcbiAgICAgIHdlZWsud2Vla051bWJlciA9PT0gMCA/IGAke2NhbGVuZGFyRGF0ZS5nZXRGdWxsWWVhcigpfVc1M2AgOiBgJHtjYWxlbmRhckRhdGUuZ2V0RnVsbFllYXIoKX1XJHt3ZWVrLndlZWtOdW1iZXJ9YCxcbiAgICAgIHNlbGVjdGlvblR5cGVcbiAgICApO1xuICAgIGNvbnN0IGlzRGlzYWJsZWQgPVxuICAgICAgaXNEYXRlRGlzYWJsZWQoZGF0ZSwgbWluRGF0ZSwgbWF4RGF0ZSwgZGlzYWJsZWREYXRlcykgfHwgKGRhdGVGaWx0ZXIgPyAhZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnY2FsZW5kYXItcm93JzogdHJ1ZSxcbiAgICAgIGRpc2FibGVkOiBpc0Rpc2FibGVkXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
@@ -91,7 +91,7 @@ export class CalendarDayDirective {
|
|
|
91
91
|
selectEndDate &&
|
|
92
92
|
!!isDateInRange(date, state.startDate, state.hoverDate);
|
|
93
93
|
inRange = month === 'current' && (isDateInRange(date, state.startDate, state.endDate) || !!start || !!end);
|
|
94
|
-
disabledRange = isDateInRangeDisabled(state.startDate, date, state.disabledDates);
|
|
94
|
+
disabledRange = isDateInRangeDisabled(state.startDate, date, state.disabledDates, state.dateFilter);
|
|
95
95
|
disabledDate = isDateDisabled(date, state.minDate, state.maxDate, state.disabledDates);
|
|
96
96
|
disabledByFilter = typeof state.dateFilter === 'function' && date ? !state.dateFilter(date) : false;
|
|
97
97
|
this.disabled = disabledDate || disabledByFilter;
|
|
@@ -135,4 +135,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
135
135
|
host: { '[class]': 'hostClasses()', '[attr.aria-selected]': 'ariaSelected()' }
|
|
136
136
|
}]
|
|
137
137
|
}], ctorParameters: () => [] });
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsU0FBUyxFQUNULGVBQWUsRUFDZixXQUFXLEVBQ1gsYUFBYSxFQUNiLGNBQWMsRUFDZixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsV0FBVyxDQUFzQjtJQUNqQyxnQkFBZ0IsQ0FBMkI7SUFJM0MsY0FBYyxDQUE0RTtJQUVuRztRQVBTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBDLG1CQUFjLEdBQUcsTUFBTSxDQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFD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QUFJLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQUM7UUFsSEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWM7YUFDakMsSUFBSSxDQUNILEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLEVBQ0Ysa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUNyQzthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFLRCxzQ0FBc0M7SUFFN0IsY0FBYyxDQUdwQjtJQWtHSCxLQUFLLENBQUMsTUFBb0I7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxJQUFJLFVBQVUsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM3RSxDQUFDOzhHQW5JVSxvQkFBb0I7a0dBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLElBQUksRUFBRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsc0JBQXNCLEVBQUUsZ0JBQWdCLEVBQUU7aUJBQy9FIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERlc3Ryb3lSZWYsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb2N1c2FibGVPcHRpb24sIEZvY3VzTW9uaXRvciwgRm9jdXNPcmlnaW4gfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBpc0RhdGVEaXNhYmxlZCxcbiAgaXNEYXRlSW5SYW5nZSxcbiAgaXNEYXRlSW5SYW5nZURpc2FibGVkLFxuICBpc0RhdGVTZWxlY3RlZCxcbiAgaXNFbmREYXRlLFxuICBpc01vbnRoU2VsZWN0ZWQsXG4gIGlzU3RhcnREYXRlLFxuICBpc1llYXJJblJhbmdlLFxuICBpc1llYXJTZWxlY3RlZFxufSBmcm9tICcuLi9jYWxlbmRhci51dGlscyc7XG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UsIElDYWxlbmRhclN0YXRlIH0gZnJvbSAnLi4vY2FsZW5kYXIuc2VydmljZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tjQ2FsZW5kYXJEYXldJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdjQ2FsZW5kYXJEYXknLFxuICBob3N0OiB7ICdbY2xhc3NdJzogJ2hvc3RDbGFzc2VzKCknLCAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYXJpYVNlbGVjdGVkKCknIH1cbn0pXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJEYXlEaXJlY3RpdmUgaW1wbGVtZW50cyBGb2N1c2FibGVPcHRpb24ge1xuICByZWFkb25seSAjZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgI2NhbGVuZGFyU2VydmljZSA9IGluamVjdChDYWxlbmRhclNlcnZpY2UpO1xuICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSBmb2N1c01vbml0b3IgPSBpbmplY3QoRm9jdXNNb25pdG9yKTtcblxuICByZWFkb25seSAjY2FsZW5kYXJTdGF0ZSA9IHNpZ25hbDxJQ2FsZW5kYXJTdGF0ZT4oeyAuLi50aGlzLiNjYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJTdGF0ZU9iamVjdCB9KTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNjYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJTdGF0ZSRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHN0YXRlKSA9PiB7XG4gICAgICAgICAgdGhpcy4jY2FsZW5kYXJTdGF0ZS5zZXQoc3RhdGUpO1xuICAgICAgICB9KSxcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuI2Rlc3Ryb3lSZWYpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICByZWFkb25seSBkYXRlID0gaW5wdXQ8RGF0ZT4oKTtcbiAgcmVhZG9ubHkgbW9udGggPSBpbnB1dCgnY3VycmVudCcpO1xuICBkaXNhYmxlZCA9IGZhbHNlO1xuICAvLyBASW5wdXQoKSBjYWxlbmRhckRhdGUgPSBuZXcgRGF0ZSgpO1xuXG4gIHJlYWRvbmx5ICNzZWxlY3RFbmREYXRlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy4jY2FsZW5kYXJTdGF0ZSgpO1xuICAgIHJldHVybiA8Ym9vbGVhbj4oc3RhdGUucmFuZ2UgJiYgISFzdGF0ZS5zdGFydERhdGUgJiYgIXN0YXRlLmVuZERhdGUpO1xuICB9KTtcblxuICByZWFkb25seSBkaXNhYmxlZCQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSB7IC4uLnRoaXMuI2NhbGVuZGFyU3RhdGUoKSB9O1xuXG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZSgpO1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IGRhdGVZZWFyID0gZGF0ZS5nZXRGdWxsWWVhcigpO1xuXG4gICAgc3dpdGNoIChzdGF0ZS52aWV3KSB7XG4gICAgICBjYXNlICdtb250aHMnOiB7XG4gICAgICAgIGNvbnN0IGRhdGVNb250aCA9IGRhdGVZZWFyICogMTAwICsgZGF0ZS5nZXRNb250aCgpO1xuICAgICAgICBjb25zdCBtaW5EYXRlID0gc3RhdGUubWluRGF0ZSA/IHN0YXRlLm1pbkRhdGUuZ2V0RnVsbFllYXIoKSAqIDEwMCArIHN0YXRlLm1pbkRhdGU/LmdldE1vbnRoKCkgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IG1heERhdGUgPSBzdGF0ZS5tYXhEYXRlID8gc3RhdGUubWF4RGF0ZS5nZXRGdWxsWWVhcigpICogMTAwICsgc3RhdGUubWF4RGF0ZT8uZ2V0TW9udGgoKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IChtaW5EYXRlID8gZGF0ZU1vbnRoIDwgbWluRGF0ZSA6IGZhbHNlKSB8fCAobWF4RGF0ZSA/IGRhdGVNb250aCA+IG1heERhdGUgOiBmYWxzZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAneWVhcnMnOiB7XG4gICAgICAgIGNvbnN0IG1pblllYXIgPSBzdGF0ZS5taW5EYXRlPy5nZXRGdWxsWWVhcigpO1xuICAgICAgICBjb25zdCBtYXhZZWFyID0gc3RhdGUubWF4RGF0ZT8uZ2V0RnVsbFllYXIoKTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IChtaW5ZZWFyID8gZGF0ZVllYXIgPCBtaW5ZZWFyIDogZmFsc2UpIHx8IChtYXhZZWFyID8gZGF0ZVllYXIgPiBtYXhZZWFyIDogZmFsc2UpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGlzYWJsZWQ7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGhvc3RDbGFzc2VzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmRhdGUoKTtcbiAgICBpZiAoIWRhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBzZWxlY3RFbmREYXRlID0gdGhpcy4jc2VsZWN0RW5kRGF0ZSgpO1xuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5tb250aCgpO1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy4jY2FsZW5kYXJTdGF0ZSgpO1xuICAgIHN0YXRlLnN0YXJ0RGF0ZSA9IHN0YXRlLnN0YXJ0RGF0ZSA/PyBudWxsO1xuICAgIHN0YXRlLmhvdmVyRGF0ZSA9IHN0YXRlLmhvdmVyRGF0ZSA/PyBudWxsO1xuICAgIHN0YXRlLmVuZERhdGUgPSBzdGF0ZS5lbmREYXRlID8/IG51bGw7XG5cbiAgICBjb25zdCBzdGFydCA9IGlzU3RhcnREYXRlKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuZW5kRGF0ZSk7XG4gICAgY29uc3QgZW5kID0gaXNFbmREYXRlKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuZW5kRGF0ZSk7XG5cbiAgICBsZXQgc2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBsZXQgY2xpY2thYmxlOiBib29sZWFuID0gZmFsc2U7XG4gICAgbGV0IHJhbmdlSG92ZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBsZXQgaW5SYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBkaXNhYmxlZFJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gICAgbGV0IGRpc2FibGVkRGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBkaXNhYmxlZEJ5RmlsdGVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBzd2l0Y2ggKHN0YXRlLnZpZXcpIHtcbiAgICAgIGNhc2UgJ21vbnRocyc6XG4gICAgICAgIGlmIChzdGF0ZS5zZWxlY3Rpb25UeXBlID09PSAnbW9udGgnKSB7XG4gICAgICAgICAgc2VsZWN0ZWQgPSAhIWlzTW9udGhTZWxlY3RlZChkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmVuZERhdGUpO1xuICAgICAgICAgIGluUmFuZ2UgPSAhIWlzRGF0ZUluUmFuZ2UoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5lbmREYXRlKTtcbiAgICAgICAgICByYW5nZUhvdmVyID0gc2VsZWN0RW5kRGF0ZSAmJiAhIWlzRGF0ZUluUmFuZ2UoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5ob3ZlckRhdGUpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAneWVhcnMnOlxuICAgICAgICBpZiAoc3RhdGUuc2VsZWN0aW9uVHlwZSA9PT0gJ3llYXInKSB7XG4gICAgICAgICAgc2VsZWN0ZWQgPSAhIWlzWWVhclNlbGVjdGVkKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuZW5kRGF0ZSk7XG4gICAgICAgICAgaW5SYW5nZSA9ICEhaXNEYXRlSW5SYW5nZShkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmVuZERhdGUpO1xuICAgICAgICAgIHJhbmdlSG92ZXIgPSBzZWxlY3RFbmREYXRlICYmICEhaXNZZWFySW5SYW5nZShkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmhvdmVyRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBzZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGlvblR5cGUgPT09ICdkYXknICYmICEhaXNEYXRlU2VsZWN0ZWQoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5lbmREYXRlKTtcbiAgICAgICAgY2xpY2thYmxlID0gbW9udGggIT09ICdjdXJyZW50JyAmJiAhIXN0YXRlLnNlbGVjdEFkamFjZW50RGF5cztcbiAgICAgICAgcmFuZ2VIb3ZlciA9XG4gICAgICAgICAgc3RhdGUuc2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiZcbiAgICAgICAgICBtb250aCA9PT0gJ2N1cnJlbnQnICYmXG4gICAgICAgICAgc2VsZWN0RW5kRGF0ZSAmJlxuICAgICAgICAgICEhaXNEYXRlSW5SYW5nZShkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmhvdmVyRGF0ZSk7XG4gICAgICAgIGluUmFuZ2UgPSBtb250aCA9PT0gJ2N1cnJlbnQnICYmIChpc0RhdGVJblJhbmdlKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuZW5kRGF0ZSkgfHwgISFzdGFydCB8fCAhIWVuZCk7XG4gICAgICAgIGRpc2FibGVkUmFuZ2UgPSBpc0RhdGVJblJhbmdlRGlzYWJsZWQoc3RhdGUuc3RhcnREYXRlLCBkYXRlLCBzdGF0ZS5kaXNhYmxlZERhdGVzKTtcbiAgICAgICAgZGlzYWJsZWREYXRlID0gaXNEYXRlRGlzYWJsZWQoZGF0ZSwgc3RhdGUubWluRGF0ZSwgc3RhdGUubWF4RGF0ZSwgc3RhdGUuZGlzYWJsZWREYXRlcyk7XG4gICAgICAgIGRpc2FibGVkQnlGaWx0ZXIgPSB0eXBlb2Ygc3RhdGUuZGF0ZUZpbHRlciA9PT0gJ2Z1bmN0aW9uJyAmJiBkYXRlID8gIXN0YXRlLmRhdGVGaWx0ZXIoZGF0ZSkgOiBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlZCA9IGRpc2FibGVkRGF0ZSB8fCBkaXNhYmxlZEJ5RmlsdGVyO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAncmFuZ2UtaG92ZXInOiByYW5nZUhvdmVyICYmICghZGlzYWJsZWRSYW5nZSB8fCAhZGlzYWJsZWRCeUZpbHRlciksXG4gICAgICBzZWxlY3RlZDogc2VsZWN0ZWQsXG4gICAgICByYW5nZTogaW5SYW5nZSxcbiAgICAgIHN0YXJ0OiAhIXN0YXJ0LFxuICAgICAgZW5kOiAhIWVuZCxcbiAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgY2xpY2thYmxlOiBjbGlja2FibGVcbiAgICB9IGFzIFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICB9KTtcblxuICByZWFkb25seSBhcmlhU2VsZWN0ZWQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgcmV0dXJuIHRoaXMuaG9zdENsYXNzZXMoKT8uWydzZWxlY3RlZCddID8gdHJ1ZSA6IG51bGw7XG4gIH0pO1xuXG4gIGZvY3VzKG9yaWdpbj86IEZvY3VzT3JpZ2luKTogdm9pZCB7XG4gICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG9yaWdpbiA/PyAna2V5Ym9hcmQnKTtcbiAgfVxuXG4gIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZGF0ZSgpPy50b0xvY2FsZURhdGVTdHJpbmcodGhpcy4jY2FsZW5kYXJTdGF0ZSgpLmxvY2FsZSkgPz8gJyc7XG4gIH1cbn1cbiJdfQ==
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25HLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBbUIsWUFBWSxFQUFlLE1BQU0sbUJBQW1CLENBQUM7QUFDL0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixjQUFjLEVBQ2QsU0FBUyxFQUNULGVBQWUsRUFDZixXQUFXLEVBQ1gsYUFBYSxFQUNiLGNBQWMsRUFDZixNQUFNLG1CQUFtQixDQUFDO0FBQzNCLE9BQU8sRUFBRSxlQUFlLEVBQWtCLE1BQU0scUJBQXFCLENBQUM7O0FBUXRFLE1BQU0sT0FBTyxvQkFBb0I7SUFDdEIsV0FBVyxDQUFzQjtJQUNqQyxnQkFBZ0IsQ0FBMkI7SUFJM0MsY0FBYyxDQUE0RTtJQUVuRztRQVBTLGdCQUFXLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2pDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUMzQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXBDLG1CQUFjLEdBQUcsTUFBTSxDQUFpQixFQUFFLEdBQUcsSUFBSSxDQUFD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QUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQWxIRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYzthQUNqQyxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDWixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsRUFDRixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQ3JDO2FBQ0EsU0FBUyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUtELHNDQUFzQztJQUU3QixjQUFjLENBR3BCO0lBa0dILEtBQUssQ0FBQyxNQUFvQjtRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLElBQUksVUFBVSxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzdFLENBQUM7OEdBbklVLG9CQUFvQjtrR0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQU5oQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsY0FBYztvQkFDeEIsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRTtpQkFDL0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGVzdHJveVJlZiwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IEZvY3VzYWJsZU9wdGlvbiwgRm9jdXNNb25pdG9yLCBGb2N1c09yaWdpbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGlzRGF0ZURpc2FibGVkLFxuICBpc0RhdGVJblJhbmdlLFxuICBpc0RhdGVJblJhbmdlRGlzYWJsZWQsXG4gIGlzRGF0ZVNlbGVjdGVkLFxuICBpc0VuZERhdGUsXG4gIGlzTW9udGhTZWxlY3RlZCxcbiAgaXNTdGFydERhdGUsXG4gIGlzWWVhckluUmFuZ2UsXG4gIGlzWWVhclNlbGVjdGVkXG59IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcbmltcG9ydCB7IENhbGVuZGFyU2VydmljZSwgSUNhbGVuZGFyU3RhdGUgfSBmcm9tICcuLi9jYWxlbmRhci5zZXJ2aWNlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2NDYWxlbmRhckRheV0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBleHBvcnRBczogJ2NDYWxlbmRhckRheScsXG4gIGhvc3Q6IHsgJ1tjbGFzc10nOiAnaG9zdENsYXNzZXMoKScsICdbYXR0ci5hcmlhLXNlbGVjdGVkXSc6ICdhcmlhU2VsZWN0ZWQoKScgfVxufSlcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckRheURpcmVjdGl2ZSBpbXBsZW1lbnRzIEZvY3VzYWJsZU9wdGlvbiB7XG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSAjY2FsZW5kYXJTZXJ2aWNlID0gaW5qZWN0KENhbGVuZGFyU2VydmljZSk7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHJlYWRvbmx5IGZvY3VzTW9uaXRvciA9IGluamVjdChGb2N1c01vbml0b3IpO1xuXG4gIHJlYWRvbmx5ICNjYWxlbmRhclN0YXRlID0gc2lnbmFsPElDYWxlbmRhclN0YXRlPih7IC4uLnRoaXMuI2NhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlT2JqZWN0IH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI2NhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcCgoc3RhdGUpID0+IHtcbiAgICAgICAgICB0aGlzLiNjYWxlbmRhclN0YXRlLnNldChzdGF0ZSk7XG4gICAgICAgIH0pLFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZilcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IGRhdGUgPSBpbnB1dDxEYXRlPigpO1xuICByZWFkb25seSBtb250aCA9IGlucHV0KCdjdXJyZW50Jyk7XG4gIGRpc2FibGVkID0gZmFsc2U7XG4gIC8vIEBJbnB1dCgpIGNhbGVuZGFyRGF0ZSA9IG5ldyBEYXRlKCk7XG5cbiAgcmVhZG9ubHkgI3NlbGVjdEVuZERhdGUgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLiNjYWxlbmRhclN0YXRlKCk7XG4gICAgcmV0dXJuIDxib29sZWFuPihzdGF0ZS5yYW5nZSAmJiAhIXN0YXRlLnN0YXJ0RGF0ZSAmJiAhc3RhdGUuZW5kRGF0ZSk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGRpc2FibGVkJCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBjb25zdCBzdGF0ZSA9IHsgLi4udGhpcy4jY2FsZW5kYXJTdGF0ZSgpIH07XG5cbiAgICBjb25zdCBkYXRlID0gdGhpcy5kYXRlKCk7XG4gICAgaWYgKCFkYXRlKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgZGF0ZVllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKCk7XG5cbiAgICBzd2l0Y2ggKHN0YXRlLnZpZXcpIHtcbiAgICAgIGNhc2UgJ21vbnRocyc6IHtcbiAgICAgICAgY29uc3QgZGF0ZU1vbnRoID0gZGF0ZVllYXIgKiAxMDAgKyBkYXRlLmdldE1vbnRoKCk7XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSBzdGF0ZS5taW5EYXRlID8gc3RhdGUubWluRGF0ZS5nZXRGdWxsWWVhcigpICogMTAwICsgc3RhdGUubWluRGF0ZT8uZ2V0TW9udGgoKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgbWF4RGF0ZSA9IHN0YXRlLm1heERhdGUgPyBzdGF0ZS5tYXhEYXRlLmdldEZ1bGxZZWFyKCkgKiAxMDAgKyBzdGF0ZS5tYXhEYXRlPy5nZXRNb250aCgpIDogdW5kZWZpbmVkO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gKG1pbkRhdGUgPyBkYXRlTW9udGggPCBtaW5EYXRlIDogZmFsc2UpIHx8IChtYXhEYXRlID8gZGF0ZU1vbnRoID4gbWF4RGF0ZSA6IGZhbHNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd5ZWFycyc6IHtcbiAgICAgICAgY29uc3QgbWluWWVhciA9IHN0YXRlLm1pbkRhdGU/LmdldEZ1bGxZZWFyKCk7XG4gICAgICAgIGNvbnN0IG1heFllYXIgPSBzdGF0ZS5tYXhEYXRlPy5nZXRGdWxsWWVhcigpO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gKG1pblllYXIgPyBkYXRlWWVhciA8IG1pblllYXIgOiBmYWxzZSkgfHwgKG1heFllYXIgPyBkYXRlWWVhciA+IG1heFllYXIgOiBmYWxzZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZDtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgaG9zdENsYXNzZXMgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgZGF0ZSA9IHRoaXMuZGF0ZSgpO1xuICAgIGlmICghZGF0ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHNlbGVjdEVuZERhdGUgPSB0aGlzLiNzZWxlY3RFbmREYXRlKCk7XG4gICAgY29uc3QgbW9udGggPSB0aGlzLm1vbnRoKCk7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLiNjYWxlbmRhclN0YXRlKCk7XG4gICAgc3RhdGUuc3RhcnREYXRlID0gc3RhdGUuc3RhcnREYXRlID8/IG51bGw7XG4gICAgc3RhdGUuaG92ZXJEYXRlID0gc3RhdGUuaG92ZXJEYXRlID8/IG51bGw7XG4gICAgc3RhdGUuZW5kRGF0ZSA9IHN0YXRlLmVuZERhdGUgPz8gbnVsbDtcblxuICAgIGNvbnN0IHN0YXJ0ID0gaXNTdGFydERhdGUoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5lbmREYXRlKTtcbiAgICBjb25zdCBlbmQgPSBpc0VuZERhdGUoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5lbmREYXRlKTtcblxuICAgIGxldCBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBjbGlja2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBsZXQgcmFuZ2VIb3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBpblJhbmdlOiBib29sZWFuID0gZmFsc2U7XG4gICAgbGV0IGRpc2FibGVkUmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBsZXQgZGlzYWJsZWREYXRlOiBib29sZWFuID0gZmFsc2U7XG4gICAgbGV0IGRpc2FibGVkQnlGaWx0ZXI6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHN3aXRjaCAoc3RhdGUudmlldykge1xuICAgICAgY2FzZSAnbW9udGhzJzpcbiAgICAgICAgaWYgKHN0YXRlLnNlbGVjdGlvblR5cGUgPT09ICdtb250aCcpIHtcbiAgICAgICAgICBzZWxlY3RlZCA9ICEhaXNNb250aFNlbGVjdGVkKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuZW5kRGF0ZSk7XG4gICAgICAgICAgaW5SYW5nZSA9ICEhaXNEYXRlSW5SYW5nZShkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmVuZERhdGUpO1xuICAgICAgICAgIHJhbmdlSG92ZXIgPSBzZWxlY3RFbmREYXRlICYmICEhaXNEYXRlSW5SYW5nZShkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmhvdmVyRGF0ZSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd5ZWFycyc6XG4gICAgICAgIGlmIChzdGF0ZS5zZWxlY3Rpb25UeXBlID09PSAneWVhcicpIHtcbiAgICAgICAgICBzZWxlY3RlZCA9ICEhaXNZZWFyU2VsZWN0ZWQoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5lbmREYXRlKTtcbiAgICAgICAgICBpblJhbmdlID0gISFpc0RhdGVJblJhbmdlKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuZW5kRGF0ZSk7XG4gICAgICAgICAgcmFuZ2VIb3ZlciA9IHNlbGVjdEVuZERhdGUgJiYgISFpc1llYXJJblJhbmdlKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuaG92ZXJEYXRlKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHNlbGVjdGVkID0gc3RhdGUuc2VsZWN0aW9uVHlwZSA9PT0gJ2RheScgJiYgISFpc0RhdGVTZWxlY3RlZChkYXRlLCBzdGF0ZS5zdGFydERhdGUsIHN0YXRlLmVuZERhdGUpO1xuICAgICAgICBjbGlja2FibGUgPSBtb250aCAhPT0gJ2N1cnJlbnQnICYmICEhc3RhdGUuc2VsZWN0QWRqYWNlbnREYXlzO1xuICAgICAgICByYW5nZUhvdmVyID1cbiAgICAgICAgICBzdGF0ZS5zZWxlY3Rpb25UeXBlID09PSAnZGF5JyAmJlxuICAgICAgICAgIG1vbnRoID09PSAnY3VycmVudCcgJiZcbiAgICAgICAgICBzZWxlY3RFbmREYXRlICYmXG4gICAgICAgICAgISFpc0RhdGVJblJhbmdlKGRhdGUsIHN0YXRlLnN0YXJ0RGF0ZSwgc3RhdGUuaG92ZXJEYXRlKTtcbiAgICAgICAgaW5SYW5nZSA9IG1vbnRoID09PSAnY3VycmVudCcgJiYgKGlzRGF0ZUluUmFuZ2UoZGF0ZSwgc3RhdGUuc3RhcnREYXRlLCBzdGF0ZS5lbmREYXRlKSB8fCAhIXN0YXJ0IHx8ICEhZW5kKTtcbiAgICAgICAgZGlzYWJsZWRSYW5nZSA9IGlzRGF0ZUluUmFuZ2VEaXNhYmxlZChzdGF0ZS5zdGFydERhdGUsIGRhdGUsIHN0YXRlLmRpc2FibGVkRGF0ZXMsIHN0YXRlLmRhdGVGaWx0ZXIpO1xuICAgICAgICBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZChkYXRlLCBzdGF0ZS5taW5EYXRlLCBzdGF0ZS5tYXhEYXRlLCBzdGF0ZS5kaXNhYmxlZERhdGVzKTtcbiAgICAgICAgZGlzYWJsZWRCeUZpbHRlciA9IHR5cGVvZiBzdGF0ZS5kYXRlRmlsdGVyID09PSAnZnVuY3Rpb24nICYmIGRhdGUgPyAhc3RhdGUuZGF0ZUZpbHRlcihkYXRlKSA6IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gZGlzYWJsZWREYXRlIHx8IGRpc2FibGVkQnlGaWx0ZXI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgICdyYW5nZS1ob3Zlcic6IHJhbmdlSG92ZXIgJiYgKCFkaXNhYmxlZFJhbmdlIHx8ICFkaXNhYmxlZEJ5RmlsdGVyKSxcbiAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZCxcbiAgICAgIHJhbmdlOiBpblJhbmdlLFxuICAgICAgc3RhcnQ6ICEhc3RhcnQsXG4gICAgICBlbmQ6ICEhZW5kLFxuICAgICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQsXG4gICAgICBjbGlja2FibGU6IGNsaWNrYWJsZVxuICAgIH0gYXMgUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIH0pO1xuXG4gIHJlYWRvbmx5IGFyaWFTZWxlY3RlZCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy5ob3N0Q2xhc3NlcygpPy5bJ3NlbGVjdGVkJ10gPyB0cnVlIDogbnVsbDtcbiAgfSk7XG5cbiAgZm9jdXMob3JpZ2luPzogRm9jdXNPcmlnaW4pOiB2b2lkIHtcbiAgICB0aGlzLmZvY3VzTW9uaXRvci5mb2N1c1ZpYSh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgb3JpZ2luID8/ICdrZXlib2FyZCcpO1xuICB9XG5cbiAgZ2V0TGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlKCk/LnRvTG9jYWxlRGF0ZVN0cmluZyh0aGlzLiNjYWxlbmRhclN0YXRlKCkubG9jYWxlKSA/PyAnJztcbiAgfVxufVxuIl19
|