@coreui/angular-pro 4.0.2 → 4.1.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +154 -152
  2. package/esm2020/lib/calendar/calendar/calendar-class-view.pipe.mjs +19 -0
  3. package/esm2020/lib/calendar/calendar/calendar.component.mjs +366 -0
  4. package/esm2020/lib/calendar/calendar-month/calendar-class-day.pipe.mjs +28 -0
  5. package/esm2020/lib/calendar/calendar-month/calendar-class-month.pipe.mjs +21 -0
  6. package/esm2020/lib/calendar/calendar-month/calendar-class-year.pipe.mjs +21 -0
  7. package/esm2020/lib/calendar/calendar-month/calendar-day.directive.mjs +81 -0
  8. package/esm2020/lib/calendar/calendar-month/calendar-day.pipe.mjs +18 -0
  9. package/esm2020/lib/calendar/calendar-month/calendar-month.component.mjs +320 -0
  10. package/esm2020/lib/calendar/calendar-month/calendar-weekday.pipe.mjs +20 -0
  11. package/esm2020/lib/calendar/calendar-navigation/calendar-navigation.component.mjs +79 -0
  12. package/esm2020/lib/calendar/calendar.module.mjs +61 -0
  13. package/esm2020/lib/calendar/calendar.service.mjs +58 -0
  14. package/esm2020/lib/calendar/calendar.utils.mjs +270 -0
  15. package/esm2020/lib/calendar/index.mjs +2 -0
  16. package/esm2020/lib/calendar/public_api.mjs +5 -0
  17. package/esm2020/lib/date-range-picker/date-range-picker/date-range-picker.component.mjs +496 -0
  18. package/esm2020/lib/date-range-picker/date-range-picker.module.mjs +59 -0
  19. package/esm2020/lib/date-range-picker/end-date.directive.mjs +17 -0
  20. package/esm2020/lib/date-range-picker/index.mjs +2 -0
  21. package/esm2020/lib/date-range-picker/public_api.mjs +3 -0
  22. package/esm2020/lib/date-range-picker/start-date.directive.mjs +17 -0
  23. package/esm2020/lib/dropdown/dropdown/dropdown.component.mjs +1 -1
  24. package/esm2020/public-api.mjs +3 -1
  25. package/fesm2015/coreui-angular-pro.mjs +3841 -1979
  26. package/fesm2015/coreui-angular-pro.mjs.map +1 -1
  27. package/fesm2020/coreui-angular-pro.mjs +3801 -1951
  28. package/fesm2020/coreui-angular-pro.mjs.map +1 -1
  29. package/lib/calendar/calendar/calendar-class-view.pipe.d.ts +7 -0
  30. package/lib/calendar/calendar/calendar.component.d.ts +155 -0
  31. package/lib/calendar/calendar-month/calendar-class-day.pipe.d.ts +15 -0
  32. package/lib/calendar/calendar-month/calendar-class-month.pipe.d.ts +7 -0
  33. package/lib/calendar/calendar-month/calendar-class-year.pipe.d.ts +7 -0
  34. package/lib/calendar/calendar-month/calendar-day.directive.d.ts +29 -0
  35. package/lib/calendar/calendar-month/calendar-day.pipe.d.ts +8 -0
  36. package/lib/calendar/calendar-month/calendar-month.component.d.ts +121 -0
  37. package/lib/calendar/calendar-month/calendar-weekday.pipe.d.ts +8 -0
  38. package/lib/calendar/calendar-navigation/calendar-navigation.component.d.ts +30 -0
  39. package/lib/calendar/calendar.module.d.ts +18 -0
  40. package/lib/calendar/calendar.service.d.ts +33 -0
  41. package/lib/calendar/calendar.utils.d.ts +26 -0
  42. package/lib/calendar/index.d.ts +1 -0
  43. package/lib/calendar/public_api.d.ts +4 -0
  44. package/lib/date-range-picker/date-range-picker/date-range-picker.component.d.ts +233 -0
  45. package/lib/date-range-picker/date-range-picker.module.d.ts +16 -0
  46. package/lib/date-range-picker/end-date.directive.d.ts +8 -0
  47. package/lib/date-range-picker/index.d.ts +1 -0
  48. package/lib/date-range-picker/public_api.d.ts +2 -0
  49. package/lib/date-range-picker/start-date.directive.d.ts +8 -0
  50. package/package.json +2 -1
  51. package/public-api.d.ts +2 -0
@@ -0,0 +1,366 @@
1
+ import { Component, EventEmitter, HostBinding, Input, Output, ViewChildren } from '@angular/core';
2
+ import { coerceBooleanProperty, coerceNumberProperty } from '@angular/cdk/coercion';
3
+ import { tryDate } from '../calendar.utils';
4
+ import { CalendarService } from '../calendar.service';
5
+ import { CalendarMonthComponent } from '../calendar-month/calendar-month.component';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../calendar.service";
8
+ import * as i2 from "../calendar-navigation/calendar-navigation.component";
9
+ import * as i3 from "../calendar-month/calendar-month.component";
10
+ import * as i4 from "@angular/common";
11
+ import * as i5 from "./calendar-class-view.pipe";
12
+ export class CalendarComponent {
13
+ constructor(calendarService) {
14
+ this.calendarService = calendarService;
15
+ this._calendarDate = tryDate(new Date());
16
+ this._calendars = 1;
17
+ this._dayFormat = 'numeric';
18
+ this._disabledDates = [];
19
+ this._startDate = null;
20
+ this._endDate = null;
21
+ this._firstDayOfWeek = 1;
22
+ this._locale = 'default';
23
+ this._maxDate = null;
24
+ this._minDate = null;
25
+ this._navigation = true;
26
+ this._navYearFirst = false;
27
+ this._range = false;
28
+ this._view = 'days';
29
+ this._weekdayFormat = 'short';
30
+ this.calendarCellHover = new EventEmitter();
31
+ this.calendarDateChange = new EventEmitter();
32
+ this.endDateChange = new EventEmitter();
33
+ this.startDateChange = new EventEmitter();
34
+ this.viewChange = new EventEmitter();
35
+ this._hoverDate = null;
36
+ this.calendarStateSubscribe();
37
+ }
38
+ /**
39
+ * Default date of the component
40
+ * @type (Date | string)
41
+ */
42
+ set calendarDate(value) {
43
+ const _value = new Date(tryDate((value ?? this.startDate ?? new Date()), 'calendarDate'));
44
+ if (this._calendarDate.getTime() !== _value.getTime()) {
45
+ this._calendarDate = new Date(_value.setDate(1));
46
+ this.calendarDateChange.emit(_value);
47
+ this.calendarService.update({ calendarDate: _value });
48
+ }
49
+ }
50
+ get calendarDate() {
51
+ return this._calendarDate;
52
+ }
53
+ /**
54
+ * The number of calendars that render on desktop devices.
55
+ * @type number
56
+ * default 1
57
+ */
58
+ set calendars(value) {
59
+ this._calendars = coerceNumberProperty(value);
60
+ }
61
+ get calendars() {
62
+ return this._calendars;
63
+ }
64
+ get calendarsArray() {
65
+ return Array.from({ length: this.calendars });
66
+ }
67
+ /**
68
+ * Set the format of day name.
69
+ * @default 'numeric'
70
+ * @type DayFormatType
71
+ */
72
+ set dayFormat(value) {
73
+ this._dayFormat = value;
74
+ this.calendarService.update({ dayFormat: this._dayFormat });
75
+ }
76
+ get dayFormat() {
77
+ return this._dayFormat;
78
+ }
79
+ /**
80
+ * Specify the list of dates that cannot be selected.
81
+ * @type (Date[] | Date[][])
82
+ */
83
+ set disabledDates(value) {
84
+ this._disabledDates = value;
85
+ this.calendarService.update({ disabledDates: this._disabledDates });
86
+ }
87
+ get disabledDates() {
88
+ return this._disabledDates;
89
+ }
90
+ /**
91
+ * Initial selected date.
92
+ * @type (Date | null)
93
+ */
94
+ set startDate(value) {
95
+ this._startDate = !!value ? tryDate(value, 'startDate') : null;
96
+ this.calendarService.update({ startDate: this._startDate });
97
+ }
98
+ get startDate() {
99
+ return this._startDate;
100
+ }
101
+ /**
102
+ * Initial selected to date (range).
103
+ * @type (Date | null)
104
+ */
105
+ set endDate(value) {
106
+ this._endDate = !!value ? tryDate(value, 'endDate') : null;
107
+ this.calendarService.update({ endDate: this._endDate });
108
+ }
109
+ get endDate() {
110
+ return this._endDate;
111
+ }
112
+ /**
113
+ * Sets the day of start week.
114
+ * - 0 - Sunday,
115
+ * - 1 - Monday,
116
+ * - 2 - Tuesday,
117
+ * - 3 - Wednesday,
118
+ * - 4 - Thursday,
119
+ * - 5 - Friday,
120
+ * - 6 - Saturday,
121
+ *
122
+ * @type number
123
+ * @default 1
124
+ */
125
+ set firstDayOfWeek(value) {
126
+ this._firstDayOfWeek = coerceNumberProperty(value);
127
+ }
128
+ get firstDayOfWeek() {
129
+ return this._firstDayOfWeek;
130
+ }
131
+ /**
132
+ * Sets the default locale for components. If not set, it is inherited from the browser.
133
+ * @default 'default'
134
+ */
135
+ set locale(value) {
136
+ this._locale = value;
137
+ this.calendarService.update({ locale: value });
138
+ }
139
+ get locale() {
140
+ return this._locale;
141
+ }
142
+ /**
143
+ * Max selectable date.
144
+ */
145
+ set maxDate(value) {
146
+ this._maxDate = !!value ? tryDate(value, 'maxDate') : null;
147
+ this.calendarService.update({ maxDate: this._maxDate });
148
+ }
149
+ get maxDate() {
150
+ return this._maxDate;
151
+ }
152
+ /**
153
+ * Min selectable date.
154
+ */
155
+ set minDate(value) {
156
+ this._minDate = value ? tryDate(value, 'minDate') : null;
157
+ this.calendarService.update({ minDate: this._minDate });
158
+ }
159
+ get minDate() {
160
+ return this._minDate;
161
+ }
162
+ /**
163
+ * Show navigation.
164
+ * @type boolean
165
+ */
166
+ set navigation(value) {
167
+ this._navigation = coerceBooleanProperty(value);
168
+ }
169
+ get navigation() {
170
+ return this._navigation;
171
+ }
172
+ /**
173
+ * Reorder year-month navigation, and render year first.
174
+ * @type boolean
175
+ * @default false
176
+ */
177
+ set navYearFirst(value) {
178
+ this._navYearFirst = coerceBooleanProperty(value);
179
+ this.calendarService.update({ navYearFirst: this._navYearFirst });
180
+ }
181
+ get navYearFirst() {
182
+ return this._navYearFirst;
183
+ }
184
+ /**
185
+ * Allow range selection.
186
+ * @type boolean
187
+ * @default false
188
+ */
189
+ set range(value) {
190
+ this._range = coerceBooleanProperty(value);
191
+ this.calendarService.update({ range: this._range });
192
+ }
193
+ get range() {
194
+ return this._range;
195
+ }
196
+ /**
197
+ * Set calendar view.
198
+ * @type 'days' | 'months' | 'years'
199
+ * @default 'days'
200
+ */
201
+ set view(value) {
202
+ this._view = value;
203
+ this.calendarService.update({ view: value });
204
+ }
205
+ get view() {
206
+ return this._view;
207
+ }
208
+ /**
209
+ * Set length or format of day name.
210
+ * @type number | 'long' | 'narrow' | 'short'
211
+ * @default 'short'
212
+ */
213
+ set weekdayFormat(value) {
214
+ this._weekdayFormat = value;
215
+ this.calendarService.update({ weekdayFormat: this._weekdayFormat });
216
+ }
217
+ get weekdayFormat() {
218
+ return this._weekdayFormat;
219
+ }
220
+ set dateFilter(value) {
221
+ this.calendarService.update({ dateFilter: value });
222
+ }
223
+ // used with calendarService
224
+ set hoverDate(value) {
225
+ this._hoverDate = value;
226
+ this.calendarCellHover.emit(value);
227
+ }
228
+ get hoverDate() {
229
+ return this._hoverDate;
230
+ }
231
+ get hostClasses() {
232
+ return {
233
+ 'calendars': true
234
+ };
235
+ }
236
+ ngOnDestroy() {
237
+ this.calendarStateSubscribe(false);
238
+ }
239
+ ngOnInit() {
240
+ this.calendarService.update({ locale: this.locale, view: this.view, range: this.range });
241
+ }
242
+ calendarStateSubscribe(subscribe = true) {
243
+ if (subscribe) {
244
+ this.calendarStateSubscription =
245
+ this.calendarService.calendarState$.subscribe(state => {
246
+ const keys = Object.keys(state);
247
+ for (const key of keys) {
248
+ if (key in this) {
249
+ // @ts-ignore
250
+ this[key] = state[key];
251
+ if (key === 'startDate') {
252
+ setTimeout(() => {
253
+ this.startDateChange.emit(this._startDate);
254
+ });
255
+ continue;
256
+ }
257
+ if (key === 'endDate') {
258
+ setTimeout(() => {
259
+ this.endDateChange.emit(this._endDate);
260
+ });
261
+ }
262
+ }
263
+ }
264
+ });
265
+ return;
266
+ }
267
+ this.calendarStateSubscription.unsubscribe();
268
+ }
269
+ setCalendarPage(years, months = 0, setMonth) {
270
+ const year = this.calendarDate.getFullYear();
271
+ const month = this.calendarDate.getMonth();
272
+ const d = new Date(year, month, 1);
273
+ years && d.setFullYear(d.getFullYear() + years);
274
+ months && d.setMonth(d.getMonth() + months);
275
+ typeof setMonth === 'number' && d.setMonth(setMonth);
276
+ this.calendarDate = d;
277
+ }
278
+ handleNavigationClick(direction, years = false) {
279
+ if (direction === 'prev') {
280
+ if (years) {
281
+ this.setCalendarPage(this.view === 'years' ? -10 : -1);
282
+ return;
283
+ }
284
+ if (this.view !== 'days') {
285
+ this.setCalendarPage(-1);
286
+ return;
287
+ }
288
+ this.setCalendarPage(0, -1);
289
+ return;
290
+ }
291
+ if (direction === 'next') {
292
+ if (years) {
293
+ this.setCalendarPage(this.view === 'years' ? 10 : 1);
294
+ return;
295
+ }
296
+ if (this.view !== 'days') {
297
+ this.setCalendarPage(1);
298
+ return;
299
+ }
300
+ this.setCalendarPage(0, 1);
301
+ return;
302
+ }
303
+ }
304
+ /**
305
+ * Clear startDate and endDate
306
+ * @type void
307
+ */
308
+ clearDates() {
309
+ this.calendarService.update({ startDate: null, endDate: null });
310
+ }
311
+ }
312
+ CalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarComponent, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Component });
313
+ CalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: CalendarComponent, selector: "c-calendar", inputs: { calendarDate: "calendarDate", calendars: "calendars", dayFormat: "dayFormat", disabledDates: "disabledDates", startDate: "startDate", endDate: "endDate", firstDayOfWeek: "firstDayOfWeek", locale: "locale", maxDate: "maxDate", minDate: "minDate", navigation: "navigation", navYearFirst: "navYearFirst", range: "range", view: "view", weekdayFormat: "weekdayFormat", dateFilter: "dateFilter" }, outputs: { calendarCellHover: "calendarCellHover", calendarDateChange: "calendarDateChange", endDateChange: "endDateChange", startDateChange: "startDateChange", viewChange: "viewChange" }, host: { properties: { "class": "this.hostClasses" } }, providers: [CalendarService], viewQueries: [{ propertyName: "calendarMonths", predicate: CalendarMonthComponent, descendants: true }], exportAs: ["cCalendar"], ngImport: i0, template: "<ng-container *ngFor=\"let calendar of calendarsArray; let i=index;\">\r\n <div [ngClass]=\"view | calendarClassView\">\r\n <c-calendar-navigation\r\n [addMonths]=\"i\"\r\n [navigation]=\"navigation\"\r\n (navigationClick)=\"handleNavigationClick($event.direction, $event.years)\"\r\n ></c-calendar-navigation>\r\n\r\n <c-calendar-month\r\n [addMonths]=\"i\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n ></c-calendar-month>\r\n </div>\r\n</ng-container>\r\n", styles: [".btn-transparent:focus-visible{outline:-webkit-focus-ring-color auto 1px}\n"], components: [{ type: i2.CalendarNavigationComponent, selector: "c-calendar-navigation", inputs: ["addMonths", "calendarDate", "navigation", "navYearFirst"], outputs: ["navigationClick"] }, { type: i3.CalendarMonthComponent, selector: "c-calendar-month", inputs: ["addMonths", "startDate", "endDate", "disabledDates", "firstDayOfWeek", "locale", "range", "weekdayFormat", "view", "maxDate", "minDate", "calendarDate"], exportAs: ["cCalendarMonth"] }], directives: [{ type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "calendarClassView": i5.CalendarClassViewPipe } });
314
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarComponent, decorators: [{
315
+ type: Component,
316
+ args: [{ selector: 'c-calendar', exportAs: 'cCalendar', providers: [CalendarService], template: "<ng-container *ngFor=\"let calendar of calendarsArray; let i=index;\">\r\n <div [ngClass]=\"view | calendarClassView\">\r\n <c-calendar-navigation\r\n [addMonths]=\"i\"\r\n [navigation]=\"navigation\"\r\n (navigationClick)=\"handleNavigationClick($event.direction, $event.years)\"\r\n ></c-calendar-navigation>\r\n\r\n <c-calendar-month\r\n [addMonths]=\"i\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [weekdayFormat]=\"weekdayFormat\"\r\n ></c-calendar-month>\r\n </div>\r\n</ng-container>\r\n", styles: [".btn-transparent:focus-visible{outline:-webkit-focus-ring-color auto 1px}\n"] }]
317
+ }], ctorParameters: function () { return [{ type: i1.CalendarService }]; }, propDecorators: { calendarDate: [{
318
+ type: Input
319
+ }], calendars: [{
320
+ type: Input
321
+ }], dayFormat: [{
322
+ type: Input
323
+ }], disabledDates: [{
324
+ type: Input
325
+ }], startDate: [{
326
+ type: Input
327
+ }], endDate: [{
328
+ type: Input
329
+ }], firstDayOfWeek: [{
330
+ type: Input
331
+ }], locale: [{
332
+ type: Input
333
+ }], maxDate: [{
334
+ type: Input
335
+ }], minDate: [{
336
+ type: Input
337
+ }], navigation: [{
338
+ type: Input
339
+ }], navYearFirst: [{
340
+ type: Input
341
+ }], range: [{
342
+ type: Input
343
+ }], view: [{
344
+ type: Input
345
+ }], weekdayFormat: [{
346
+ type: Input
347
+ }], dateFilter: [{
348
+ type: Input
349
+ }], calendarCellHover: [{
350
+ type: Output
351
+ }], calendarDateChange: [{
352
+ type: Output
353
+ }], endDateChange: [{
354
+ type: Output
355
+ }], startDateChange: [{
356
+ type: Output
357
+ }], viewChange: [{
358
+ type: Output
359
+ }], hostClasses: [{
360
+ type: HostBinding,
361
+ args: ['class']
362
+ }], calendarMonths: [{
363
+ type: ViewChildren,
364
+ args: [CalendarMonthComponent]
365
+ }] } });
366
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUNaLFdBQVcsRUFDWCxLQUFLLEVBR0wsTUFBTSxFQUVOLFlBQVksRUFDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRTVDLE9BQU8sRUFBRSxlQUFlLEVBQW9ELE1BQU0scUJBQXFCLENBQUM7QUFDeEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7Ozs7Ozs7QUFVcEYsTUFBTSxPQUFPLGlCQUFpQjtJQU01QixZQUNVLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQXFCbEMsa0JBQWEsR0FBUyxPQUFPLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBYzFDLGVBQVUsR0FBVyxDQUFDLENBQUM7UUFtQnZCLGVBQVUsR0FBa0IsU0FBUyxDQUFDO1FBY3RDLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQztRQWNqRCxlQUFVLEdBQWdCLElBQUksQ0FBQztRQWMvQixhQUFRLEdBQWtCLElBQUksQ0FBQztRQXNCdkIsb0JBQWUsR0FBVyxDQUFDLENBQUM7UUFjNUIsWUFBTyxHQUFXLFNBQVMsQ0FBQztRQWE1QixhQUFRLEdBQWdCLElBQUks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O2dCQWVGLFNBQVM7c0JBRFosS0FBSztnQkFlRixPQUFPO3NCQURWLEtBQUs7Z0JBd0JGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBY0YsTUFBTTtzQkFEVCxLQUFLO2dCQWNGLE9BQU87c0JBRFYsS0FBSztnQkFjRixPQUFPO3NCQURWLEtBQUs7Z0JBZUYsVUFBVTtzQkFEYixLQUFLO2dCQWVGLFlBQVk7c0JBRGYsS0FBSztnQkFpQkYsS0FBSztzQkFEUixLQUFLO2dCQWdCRixJQUFJO3NCQURQLEtBQUs7Z0JBZ0JGLGFBQWE7c0JBRGhCLEtBQUs7Z0JBV0YsVUFBVTtzQkFEYixLQUFLO2dCQUtJLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBZUgsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU87Z0JBT2tCLGNBQWM7c0JBQW5ELFlBQVk7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFF1ZXJ5TGlzdCxcclxuICBWaWV3Q2hpbGRyZW5cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHksIGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcclxuXHJcbmltcG9ydCB7IHRyeURhdGUgfSBmcm9tICcuLi9jYWxlbmRhci51dGlscyc7XHJcblxyXG5pbXBvcnQgeyBDYWxlbmRhclNlcnZpY2UsIERhdGVGaWx0ZXJUeXBlLCBEYXlGb3JtYXRUeXBlLCBXZWVrZGF5Rm9ybWF0VHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYWxlbmRhck1vbnRoQ29tcG9uZW50IH0gZnJvbSAnLi4vY2FsZW5kYXItbW9udGgvY2FsZW5kYXItbW9udGguY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2MtY2FsZW5kYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2FsZW5kYXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBleHBvcnRBczogJ2NDYWxlbmRhcicsXHJcbiAgcHJvdmlkZXJzOiBbQ2FsZW5kYXJTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9uYXZpZ2F0aW9uOiBCb29sZWFuSW5wdXQ7XHJcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX25hdlllYXJGaXJzdDogQm9vbGVhbklucHV0O1xyXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9yYW5nZTogQm9vbGVhbklucHV0O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2FsZW5kYXJTZXJ2aWNlOiBDYWxlbmRhclNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRGVmYXVsdCBkYXRlIG9mIHRoZSBjb21wb25lbnRcclxuICAgKiBAdHlwZSAgKERhdGUgfCBzdHJpbmcpXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgY2FsZW5kYXJEYXRlKHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkKSB7XHJcbiAgICBjb25zdCBfdmFsdWUgPSBuZXcgRGF0ZSh0cnlEYXRlKCh2YWx1ZSA/PyB0aGlzLnN0YXJ0RGF0ZSA/PyBuZXcgRGF0ZSgpKSwgJ2NhbGVuZGFyRGF0ZScpKTtcclxuICAgIGlmICh0aGlzLl9jYWxlbmRhckRhdGUuZ2V0VGltZSgpICE9PSBfdmFsdWUuZ2V0VGltZSgpKSB7XHJcbiAgICAgIHRoaXMuX2NhbGVuZGFyRGF0ZSA9IG5ldyBEYXRlKF92YWx1ZS5zZXREYXRlKDEpKTtcclxuICAgICAgdGhpcy5jYWxlbmRhckRhdGVDaGFuZ2UuZW1pdChfdmFsdWUpO1xyXG4gICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBjYWxlbmRhckRhdGU6IF92YWx1ZSB9KTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGNhbGVuZGFyRGF0ZSgpOiBEYXRlIHtcclxuICAgIHJldHVybiB0aGlzLl9jYWxlbmRhckRhdGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2NhbGVuZGFyRGF0ZTogRGF0ZSA9IHRyeURhdGUobmV3IERhdGUoKSk7XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBudW1iZXIgb2YgY2FsZW5kYXJzIHRoYXQgcmVuZGVyIG9uIGRlc2t0b3AgZGV2aWNlcy5cclxuICAgKiBAdHlwZSBudW1iZXJcclxuICAgKiBkZWZhdWx0IDFcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBjYWxlbmRhcnModmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fY2FsZW5kYXJzID0gY29lcmNlTnVtYmVyUHJvcGVydHkodmFsdWUpO1xyXG4gIH1cclxuICBnZXQgY2FsZW5kYXJzKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fY2FsZW5kYXJzO1xyXG4gIH1cclxuICBwcml2YXRlIF9jYWxlbmRhcnM6IG51bWJlciA9IDE7XHJcblxyXG4gIGdldCBjYWxlbmRhcnNBcnJheSgpIHtcclxuICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmNhbGVuZGFycyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFNldCB0aGUgZm9ybWF0IG9mIGRheSBuYW1lLlxyXG4gICAqIEBkZWZhdWx0ICdudW1lcmljJ1xyXG4gICAqIEB0eXBlIERheUZvcm1hdFR5cGVcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBkYXlGb3JtYXQodmFsdWU6IERheUZvcm1hdFR5cGUpIHtcclxuICAgIHRoaXMuX2RheUZvcm1hdCA9IHZhbHVlO1xyXG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgZGF5Rm9ybWF0OiB0aGlzLl9kYXlGb3JtYXQgfSk7XHJcbiAgfVxyXG4gIGdldCBkYXlGb3JtYXQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGF5Rm9ybWF0O1xyXG4gIH1cclxuICBwcml2YXRlIF9kYXlGb3JtYXQ6IERheUZvcm1hdFR5cGUgPSAnbnVtZXJpYyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNwZWNpZnkgdGhlIGxpc3Qgb2YgZGF0ZXMgdGhhdCBjYW5ub3QgYmUgc2VsZWN0ZWQuXHJcbiAgICogQHR5cGUgIChEYXRlW10gfCBEYXRlW11bXSlcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBkaXNhYmxlZERhdGVzKHZhbHVlOiBEYXRlW10gfCBEYXRlW11bXSkge1xyXG4gICAgdGhpcy5fZGlzYWJsZWREYXRlcyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jYWxlbmRhclNlcnZpY2UudXBkYXRlKHsgZGlzYWJsZWREYXRlczogdGhpcy5fZGlzYWJsZWREYXRlcyB9KTtcclxuICB9XHJcbiAgZ2V0IGRpc2FibGVkRGF0ZXMoKTogRGF0ZVtdIHwgRGF0ZVtdW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkRGF0ZXM7XHJcbiAgfVxyXG4gIHByaXZhdGUgX2Rpc2FibGVkRGF0ZXM6IChEYXRlW10gfCBEYXRlW11bXSkgPSBbXTtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbCBzZWxlY3RlZCBkYXRlLlxyXG4gICAqIEB0eXBlICAoRGF0ZSB8IG51bGwpXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgc3RhcnREYXRlKHZhbHVlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fc3RhcnREYXRlID0gISF2YWx1ZSA/IHRyeURhdGUodmFsdWUsICdzdGFydERhdGUnKSA6IG51bGw7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBzdGFydERhdGU6IHRoaXMuX3N0YXJ0RGF0ZSB9KTtcclxuICB9XHJcbiAgZ2V0IHN0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zdGFydERhdGU7XHJcbiAgfVxyXG4gIF9zdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbCBzZWxlY3RlZCB0byBkYXRlIChyYW5nZSkuXHJcbiAgICogQHR5cGUgIChEYXRlIHwgbnVsbClcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBlbmREYXRlKHZhbHVlOiBEYXRlIHwgbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fZW5kRGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnZW5kRGF0ZScpIDogbnVsbDtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGVuZERhdGU6IHRoaXMuX2VuZERhdGUgfSk7XHJcbiAgfVxyXG4gIGdldCBlbmREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2VuZERhdGU7XHJcbiAgfVxyXG4gIF9lbmREYXRlOiAoRGF0ZSB8IG51bGwpID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZGF5IG9mIHN0YXJ0IHdlZWsuXHJcbiAgICogLSAwIC0gU3VuZGF5LFxyXG4gICAqIC0gMSAtIE1vbmRheSxcclxuICAgKiAtIDIgLSBUdWVzZGF5LFxyXG4gICAqIC0gMyAtIFdlZG5lc2RheSxcclxuICAgKiAtIDQgLSBUaHVyc2RheSxcclxuICAgKiAtIDUgLSBGcmlkYXksXHJcbiAgICogLSA2IC0gU2F0dXJkYXksXHJcbiAgICpcclxuICAgKiBAdHlwZSBudW1iZXJcclxuICAgKiBAZGVmYXVsdCAxXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZmlyc3REYXlPZldlZWsodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5fZmlyc3REYXlPZldlZWsgPSBjb2VyY2VOdW1iZXJQcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBmaXJzdERheU9mV2VlaygpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2ZpcnN0RGF5T2ZXZWVrO1xyXG4gIH1cclxuICBwcml2YXRlIF9maXJzdERheU9mV2VlazogbnVtYmVyID0gMTtcclxuXHJcbiAgLyoqXHJcbiAgICogU2V0cyB0aGUgZGVmYXVsdCBsb2NhbGUgZm9yIGNvbXBvbmVudHMuIElmIG5vdCBzZXQsIGl0IGlzIGluaGVyaXRlZCBmcm9tIHRoZSBicm93c2VyLlxyXG4gICAqIEBkZWZhdWx0ICdkZWZhdWx0J1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGxvY2FsZSh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9sb2NhbGUgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGxvY2FsZTogdmFsdWUgfSk7XHJcbiAgfVxyXG4gIGdldCBsb2NhbGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxlO1xyXG4gIH1cclxuICBwcml2YXRlIF9sb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0JztcclxuXHJcbiAgLyoqXHJcbiAgICogTWF4IHNlbGVjdGFibGUgZGF0ZS5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBtYXhEYXRlKHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fbWF4RGF0ZSA9ICEhdmFsdWUgPyB0cnlEYXRlKHZhbHVlLCAnbWF4RGF0ZScpIDogbnVsbDtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IG1heERhdGU6IHRoaXMuX21heERhdGUgfSk7XHJcbiAgfVxyXG4gIGdldCBtYXhEYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX21heERhdGU7XHJcbiAgfVxyXG4gIHByaXZhdGUgX21heERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgLyoqXHJcbiAgICogTWluIHNlbGVjdGFibGUgZGF0ZS5cclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCBtaW5EYXRlKHZhbHVlOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fbWluRGF0ZSA9IHZhbHVlID8gdHJ5RGF0ZSh2YWx1ZSwgJ21pbkRhdGUnKSA6IG51bGw7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBtaW5EYXRlOiB0aGlzLl9taW5EYXRlIH0pO1xyXG4gIH1cclxuICBnZXQgbWluRGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9taW5EYXRlO1xyXG4gIH1cclxuICBwcml2YXRlIF9taW5EYXRlOiBEYXRlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8qKlxyXG4gICAqIFNob3cgbmF2aWdhdGlvbi5cclxuICAgKiBAdHlwZSBib29sZWFuXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgbmF2aWdhdGlvbih2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbmF2aWdhdGlvbiA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XHJcbiAgfVxyXG4gIGdldCBuYXZpZ2F0aW9uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hdmlnYXRpb247XHJcbiAgfVxyXG4gIHByaXZhdGUgX25hdmlnYXRpb246IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAvKipcclxuICAgKiBSZW9yZGVyIHllYXItbW9udGggbmF2aWdhdGlvbiwgYW5kIHJlbmRlciB5ZWFyIGZpcnN0LlxyXG4gICAqIEB0eXBlIGJvb2xlYW5cclxuICAgKiBAZGVmYXVsdCBmYWxzZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IG5hdlllYXJGaXJzdCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fbmF2WWVhckZpcnN0ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IG5hdlllYXJGaXJzdDogdGhpcy5fbmF2WWVhckZpcnN0IH0pO1xyXG4gIH1cclxuICBnZXQgbmF2WWVhckZpcnN0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX25hdlllYXJGaXJzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX25hdlllYXJGaXJzdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBBbGxvdyByYW5nZSBzZWxlY3Rpb24uXHJcbiAgICogQHR5cGUgYm9vbGVhblxyXG4gICAqIEBkZWZhdWx0IGZhbHNlXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgcmFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3JhbmdlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHJhbmdlOiB0aGlzLl9yYW5nZSB9KTtcclxuICB9XHJcbiAgZ2V0IHJhbmdlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3JhbmdlO1xyXG4gIH1cclxuICBwcml2YXRlIF9yYW5nZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgY2FsZW5kYXIgdmlldy5cclxuICAgKiBAdHlwZSAnZGF5cycgfCAnbW9udGhzJyB8ICd5ZWFycydcclxuICAgKiBAZGVmYXVsdCAnZGF5cydcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIHNldCB2aWV3KHZhbHVlKSB7XHJcbiAgICB0aGlzLl92aWV3ID0gdmFsdWU7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyB2aWV3OiB2YWx1ZSB9KTtcclxuICB9XHJcbiAgZ2V0IHZpZXcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmlldztcclxuICB9XHJcbiAgcHJpdmF0ZSBfdmlldzogJ2RheXMnIHwgJ21vbnRocycgfCAneWVhcnMnID0gJ2RheXMnO1xyXG5cclxuICAvKipcclxuICAgKiBTZXQgbGVuZ3RoIG9yIGZvcm1hdCBvZiBkYXkgbmFtZS5cclxuICAgKiBAdHlwZSBudW1iZXIgfCAnbG9uZycgfCAnbmFycm93JyB8ICdzaG9ydCdcclxuICAgKiBAZGVmYXVsdCAnc2hvcnQnXHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgd2Vla2RheUZvcm1hdCh2YWx1ZTogV2Vla2RheUZvcm1hdFR5cGUpIHtcclxuICAgIHRoaXMuX3dlZWtkYXlGb3JtYXQgPSB2YWx1ZTtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IHdlZWtkYXlGb3JtYXQ6IHRoaXMuX3dlZWtkYXlGb3JtYXQgfSk7XHJcbiAgfVxyXG4gIGdldCB3ZWVrZGF5Rm9ybWF0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3dlZWtkYXlGb3JtYXQ7XHJcbiAgfVxyXG4gIHByaXZhdGUgX3dlZWtkYXlGb3JtYXQ6IFdlZWtkYXlGb3JtYXRUeXBlID0gJ3Nob3J0JztcclxuXHJcbiAgQElucHV0KClcclxuICBzZXQgZGF0ZUZpbHRlcih2YWx1ZTogRGF0ZUZpbHRlclR5cGUgfCB1bmRlZmluZWQpIHtcclxuICAgIHRoaXMuY2FsZW5kYXJTZXJ2aWNlLnVwZGF0ZSh7IGRhdGVGaWx0ZXI6IHZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgQE91dHB1dCgpIGNhbGVuZGFyQ2VsbEhvdmVyOiBFdmVudEVtaXR0ZXI8RGF0ZSB8IG51bGw+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4oKTtcclxuICBAT3V0cHV0KCkgY2FsZW5kYXJEYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcbiAgQE91dHB1dCgpIGVuZERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoKSBzdGFydERhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGUgfCBudWxsPigpO1xyXG4gIEBPdXRwdXQoKSB2aWV3Q2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICAvLyB1c2VkIHdpdGggY2FsZW5kYXJTZXJ2aWNlXHJcbiAgc2V0IGhvdmVyRGF0ZSh2YWx1ZTogRGF0ZSB8IG51bGwpIHtcclxuICAgIHRoaXMuX2hvdmVyRGF0ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5jYWxlbmRhckNlbGxIb3Zlci5lbWl0KHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0IGhvdmVyRGF0ZSgpOiBEYXRlIHwgbnVsbCB7XHJcbiAgICByZXR1cm4gdGhpcy5faG92ZXJEYXRlO1xyXG4gIH1cclxuICBwcml2YXRlIF9ob3ZlckRhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgcHJpdmF0ZSBjYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uITogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcclxuICBnZXQgaG9zdENsYXNzZXMoKTogYW55IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgICdjYWxlbmRhcnMnOiB0cnVlXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZHJlbihDYWxlbmRhck1vbnRoQ29tcG9uZW50KSBjYWxlbmRhck1vbnRocyE6IFF1ZXJ5TGlzdDxDYWxlbmRhck1vbnRoQ29tcG9uZW50PjtcclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBsb2NhbGU6IHRoaXMubG9jYWxlLCB2aWV3OiB0aGlzLnZpZXcsIHJhbmdlOiB0aGlzLnJhbmdlIH0pO1xyXG4gIH1cclxuXHJcbiAgY2FsZW5kYXJTdGF0ZVN1YnNjcmliZShzdWJzY3JpYmU6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBpZiAoc3Vic2NyaWJlKSB7XHJcbiAgICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmlwdGlvbiA9XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhclNlcnZpY2UuY2FsZW5kYXJTdGF0ZSQuc3Vic2NyaWJlKHN0YXRlID0+IHtcclxuICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhzdGF0ZSk7XHJcbiAgICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzKSB7XHJcbiAgICAgICAgICAgIGlmIChrZXkgaW4gdGhpcykge1xyXG4gICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmVcclxuICAgICAgICAgICAgICB0aGlzW2tleV0gPSBzdGF0ZVtrZXldO1xyXG4gICAgICAgICAgICAgIGlmIChrZXkgPT09ICdzdGFydERhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydERhdGVDaGFuZ2UuZW1pdCh0aGlzLl9zdGFydERhdGUpO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgaWYgKGtleSA9PT0gJ2VuZERhdGUnKSB7XHJcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5lbmREYXRlQ2hhbmdlLmVtaXQodGhpcy5fZW5kRGF0ZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDYWxlbmRhclBhZ2UoeWVhcnM6IG51bWJlciwgbW9udGhzID0gMCwgc2V0TW9udGg/OiBudW1iZXIpIHtcclxuICAgIGNvbnN0IHllYXIgPSB0aGlzLmNhbGVuZGFyRGF0ZS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgbW9udGggPSB0aGlzLmNhbGVuZGFyRGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZCA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCAxKTtcclxuXHJcbiAgICB5ZWFycyAmJiBkLnNldEZ1bGxZZWFyKGQuZ2V0RnVsbFllYXIoKSArIHllYXJzKTtcclxuICAgIG1vbnRocyAmJiBkLnNldE1vbnRoKGQuZ2V0TW9udGgoKSArIG1vbnRocyk7XHJcbiAgICB0eXBlb2Ygc2V0TW9udGggPT09ICdudW1iZXInICYmIGQuc2V0TW9udGgoc2V0TW9udGgpO1xyXG5cclxuICAgIHRoaXMuY2FsZW5kYXJEYXRlID0gZDtcclxuICB9XHJcblxyXG4gIGhhbmRsZU5hdmlnYXRpb25DbGljayhkaXJlY3Rpb246ICdwcmV2JyB8ICduZXh0JywgeWVhcnMgPSBmYWxzZSkge1xyXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3ByZXYnKSB7XHJcbiAgICAgIGlmICh5ZWFycykge1xyXG4gICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKHRoaXMudmlldyA9PT0gJ3llYXJzJyA/IC0xMCA6IC0xKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0aGlzLnZpZXcgIT09ICdkYXlzJykge1xyXG4gICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKC0xKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKDAsIC0xKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ25leHQnKSB7XHJcbiAgICAgIGlmICh5ZWFycykge1xyXG4gICAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKHRoaXMudmlldyA9PT0gJ3llYXJzJyA/IDEwIDogMSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAodGhpcy52aWV3ICE9PSAnZGF5cycpIHtcclxuICAgICAgICB0aGlzLnNldENhbGVuZGFyUGFnZSgxKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQYWdlKDAsIDEpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDbGVhciBzdGFydERhdGUgYW5kIGVuZERhdGVcclxuICAgKiBAdHlwZSB2b2lkXHJcbiAgICovXHJcbiAgcHVibGljIGNsZWFyRGF0ZXMoKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyU2VydmljZS51cGRhdGUoeyBzdGFydERhdGU6IG51bGwsIGVuZERhdGU6IG51bGwgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhbGVuZGFyIG9mIGNhbGVuZGFyc0FycmF5OyBsZXQgaT1pbmRleDtcIj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInZpZXcgfCBjYWxlbmRhckNsYXNzVmlld1wiPlxyXG4gICAgPGMtY2FsZW5kYXItbmF2aWdhdGlvblxyXG4gICAgICBbYWRkTW9udGhzXT1cImlcIlxyXG4gICAgICBbbmF2aWdhdGlvbl09XCJuYXZpZ2F0aW9uXCJcclxuICAgICAgKG5hdmlnYXRpb25DbGljayk9XCJoYW5kbGVOYXZpZ2F0aW9uQ2xpY2soJGV2ZW50LmRpcmVjdGlvbiwgJGV2ZW50LnllYXJzKVwiXHJcbiAgICA+PC9jLWNhbGVuZGFyLW5hdmlnYXRpb24+XHJcblxyXG4gICAgPGMtY2FsZW5kYXItbW9udGhcclxuICAgICAgW2FkZE1vbnRoc109XCJpXCJcclxuICAgICAgW2ZpcnN0RGF5T2ZXZWVrXT1cImZpcnN0RGF5T2ZXZWVrXCJcclxuICAgICAgW3dlZWtkYXlGb3JtYXRdPVwid2Vla2RheUZvcm1hdFwiXHJcbiAgICA+PC9jLWNhbGVuZGFyLW1vbnRoPlxyXG4gIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj5cclxuIl19
@@ -0,0 +1,28 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { isDateDisabled, isLastDayOfMonth, isToday } from '../calendar.utils';
3
+ import * as i0 from "@angular/core";
4
+ export class CalendarClassDayPipe {
5
+ transform(dateObj, datesConfig) {
6
+ const { date, month } = { ...dateObj };
7
+ const { minDate, maxDate, disabledDates, dateFilter } = { ...datesConfig };
8
+ // @ts-ignore
9
+ const disabled = isDateDisabled(date, minDate, maxDate, disabledDates) || (dateFilter ? !dateFilter(date) : false);
10
+ return {
11
+ 'calendar-cell': true,
12
+ today: isToday(date),
13
+ disabled: disabled,
14
+ next: month === 'next',
15
+ previous: month === 'previous',
16
+ last: isLastDayOfMonth(date)
17
+ };
18
+ }
19
+ }
20
+ CalendarClassDayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassDayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
21
+ CalendarClassDayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassDayPipe, name: "calendarClassDay" });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassDayPipe, decorators: [{
23
+ type: Pipe,
24
+ args: [{
25
+ name: 'calendarClassDay'
26
+ }]
27
+ }] });
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MtZGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWNsYXNzLWRheS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBSzlFLE1BQU0sT0FBTyxvQkFBb0I7SUFFL0IsU0FBUyxDQUFDLE9BQXVDLEVBQUUsV0FBa0Y7UUFDbkksTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUM7UUFDdkMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUMzRSxhQUFhO1FBQ2IsTUFBTSxRQUFRLEdBQUcsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkgsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLElBQUksRUFBRSxLQUFLLEtBQUssTUFBTTtZQUN0QixRQUFRLEVBQUUsS0FBSyxLQUFLLFVBQVU7WUFDOUIsSUFBSSxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQztTQUM3QixDQUFDO0lBQ0osQ0FBQzs7a0hBaEJVLG9CQUFvQjtnSEFBcEIsb0JBQW9COzRGQUFwQixvQkFBb0I7a0JBSGhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGlzRGF0ZURpc2FibGVkLCBpc0xhc3REYXlPZk1vbnRoLCBpc1RvZGF5IH0gZnJvbSAnLi4vY2FsZW5kYXIudXRpbHMnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjYWxlbmRhckNsYXNzRGF5J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDbGFzc0RheVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKGRhdGVPYmo6IHsgZGF0ZTogRGF0ZTsgbW9udGg6IHN0cmluZzsgfSwgZGF0ZXNDb25maWc/OiB7IG1pbkRhdGU6IGFueTsgbWF4RGF0ZTogYW55OyBkaXNhYmxlZERhdGVzOiBhbnk7IGRhdGVGaWx0ZXI6IGFueTsgfSk6IGFueSB7XHJcbiAgICBjb25zdCB7IGRhdGUsIG1vbnRoIH0gPSB7IC4uLmRhdGVPYmogfTtcclxuICAgIGNvbnN0IHsgbWluRGF0ZSwgbWF4RGF0ZSwgZGlzYWJsZWREYXRlcywgZGF0ZUZpbHRlciB9ID0geyAuLi5kYXRlc0NvbmZpZyB9O1xyXG4gICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgY29uc3QgZGlzYWJsZWQgPSBpc0RhdGVEaXNhYmxlZChkYXRlLCBtaW5EYXRlLCBtYXhEYXRlLCBkaXNhYmxlZERhdGVzKSB8fCAoZGF0ZUZpbHRlciA/ICFkYXRlRmlsdGVyKGRhdGUpIDogZmFsc2UpO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICdjYWxlbmRhci1jZWxsJzogdHJ1ZSxcclxuICAgICAgdG9kYXk6IGlzVG9kYXkoZGF0ZSksXHJcbiAgICAgIGRpc2FibGVkOiBkaXNhYmxlZCxcclxuICAgICAgbmV4dDogbW9udGggPT09ICduZXh0JyxcclxuICAgICAgcHJldmlvdXM6IG1vbnRoID09PSAncHJldmlvdXMnLFxyXG4gICAgICBsYXN0OiBpc0xhc3REYXlPZk1vbnRoKGRhdGUpXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { isThisMonth } from '../calendar.utils';
3
+ import * as i0 from "@angular/core";
4
+ export class CalendarClassMonthPipe {
5
+ transform(calendarDate, monthIndex) {
6
+ return {
7
+ 'calendar-cell': true,
8
+ month: true,
9
+ today: isThisMonth(calendarDate, monthIndex)
10
+ };
11
+ }
12
+ }
13
+ CalendarClassMonthPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassMonthPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ CalendarClassMonthPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassMonthPipe, name: "calendarClassMonth" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassMonthPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: 'calendarClassMonth'
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItY2xhc3MtbW9udGgucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBS2hELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsU0FBUyxDQUFDLFlBQWtCLEVBQUUsVUFBa0I7UUFFOUMsT0FBTztZQUNMLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxJQUFJO1lBQ1gsS0FBSyxFQUFFLFdBQVcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDO1NBQzdDLENBQUM7SUFDSixDQUFDOztvSEFUVSxzQkFBc0I7a0hBQXRCLHNCQUFzQjs0RkFBdEIsc0JBQXNCO2tCQUhsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxvQkFBb0I7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBpc1RoaXNNb250aCB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnY2FsZW5kYXJDbGFzc01vbnRoJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FsZW5kYXJDbGFzc01vbnRoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0oY2FsZW5kYXJEYXRlOiBEYXRlLCBtb250aEluZGV4OiBudW1iZXIpOiBhbnkge1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICdjYWxlbmRhci1jZWxsJzogdHJ1ZSxcclxuICAgICAgbW9udGg6IHRydWUsXHJcbiAgICAgIHRvZGF5OiBpc1RoaXNNb250aChjYWxlbmRhckRhdGUsIG1vbnRoSW5kZXgpXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,21 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { isThisYear } from '../calendar.utils';
3
+ import * as i0 from "@angular/core";
4
+ export class CalendarClassYearPipe {
5
+ transform(year, args) {
6
+ return {
7
+ 'calendar-cell': true,
8
+ year: true,
9
+ today: isThisYear(year)
10
+ };
11
+ }
12
+ }
13
+ CalendarClassYearPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassYearPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
14
+ CalendarClassYearPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassYearPipe, name: "calendarClassYear" });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarClassYearPipe, decorators: [{
16
+ type: Pipe,
17
+ args: [{
18
+ name: 'calendarClassYear'
19
+ }]
20
+ }] });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY2xhc3MteWVhci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZXVpLWFuZ3VsYXIvc3JjL2xpYi9jYWxlbmRhci9jYWxlbmRhci1tb250aC9jYWxlbmRhci1jbGFzcy15ZWFyLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUsvQyxNQUFNLE9BQU8scUJBQXFCO0lBRWhDLFNBQVMsQ0FBQyxJQUFZLEVBQUUsSUFBVTtRQUNoQyxPQUFPO1lBQ0wsZUFBZSxFQUFFLElBQUk7WUFDckIsSUFBSSxFQUFFLElBQUk7WUFDVixLQUFLLEVBQUUsVUFBVSxDQUFDLElBQUksQ0FBQztTQUN4QixDQUFDO0lBQ0osQ0FBQzs7bUhBUlUscUJBQXFCO2lIQUFyQixxQkFBcUI7NEZBQXJCLHFCQUFxQjtrQkFIakMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsbUJBQW1CO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgaXNUaGlzWWVhciB9IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnY2FsZW5kYXJDbGFzc1llYXInXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYWxlbmRhckNsYXNzWWVhclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuXHJcbiAgdHJhbnNmb3JtKHllYXI6IG51bWJlciwgYXJncz86IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAnY2FsZW5kYXItY2VsbCc6IHRydWUsXHJcbiAgICAgIHllYXI6IHRydWUsXHJcbiAgICAgIHRvZGF5OiBpc1RoaXNZZWFyKHllYXIpXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { Directive, HostBinding, Input } from '@angular/core';
2
+ import { isDateDisabled, isDateInRange, isDateInRangeDisabled, isDateSelected, isEndDate, isStartDate } from '../calendar.utils';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../calendar.service";
5
+ export class CalendarDayDirective {
6
+ constructor(calendarService) {
7
+ this.calendarService = calendarService;
8
+ this.date = null;
9
+ this.startDate = null;
10
+ this.endDate = null;
11
+ this.hoverDate = null;
12
+ this.maxDate = null;
13
+ this.minDate = null;
14
+ this.range = false;
15
+ this.calendarStateSubscribe();
16
+ }
17
+ set dateObj(value) {
18
+ this._dateObj = value;
19
+ this.date = value.date;
20
+ this.month = value.month;
21
+ }
22
+ get selectEndDate() {
23
+ return (this.range && !!this.startDate && !this.endDate);
24
+ }
25
+ get hostClasses() {
26
+ if (!this.date)
27
+ return;
28
+ const rangeHover = this.month === 'current' && this.selectEndDate && isDateInRange(this.date, this.startDate, this.hoverDate);
29
+ const inRange = this.month === 'current' && isDateInRange(this.date, this.startDate, this.endDate);
30
+ const selected = isDateSelected(this.date, this.startDate, this.endDate);
31
+ const start = isStartDate(this.date, this.startDate, this.endDate);
32
+ const end = isEndDate(this.date, this.startDate, this.endDate);
33
+ const disabledRange = isDateInRangeDisabled(this.startDate, this.date, this.disabledDates);
34
+ const disabledDate = isDateDisabled(this.date, this.minDate, this.maxDate, this.disabledDates);
35
+ const disabledByFilter = this.dateFilter ? !this.dateFilter(this.date) : false;
36
+ return {
37
+ 'range-hover': rangeHover && (!disabledRange || !disabledByFilter),
38
+ selected: !!selected,
39
+ range: !!inRange,
40
+ start: !!start,
41
+ end: !!end,
42
+ disabled: disabledDate || disabledByFilter
43
+ };
44
+ }
45
+ ngOnDestroy() {
46
+ this.calendarStateSubscribe(false);
47
+ }
48
+ calendarStateSubscribe(subscribe = true) {
49
+ if (subscribe) {
50
+ this.calendarStateSubscription =
51
+ this.calendarService.calendarState$.subscribe(state => {
52
+ const { startDate = this.startDate, endDate = this.endDate, hoverDate = this.hoverDate, range = this.range, maxDate = this.maxDate, minDate = this.minDate, disabledDates = this.disabledDates, dateFilter = this.dateFilter } = { ...state };
53
+ this.startDate = startDate;
54
+ this.endDate = endDate;
55
+ this.range = range;
56
+ this.hoverDate = hoverDate;
57
+ this.maxDate = maxDate;
58
+ this.minDate = minDate;
59
+ this.disabledDates = disabledDates;
60
+ this.dateFilter = dateFilter;
61
+ });
62
+ return;
63
+ }
64
+ this.calendarStateSubscription.unsubscribe();
65
+ }
66
+ }
67
+ CalendarDayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarDayDirective, deps: [{ token: i1.CalendarService }], target: i0.ɵɵFactoryTarget.Directive });
68
+ CalendarDayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: CalendarDayDirective, selector: "[cCalendarDay]", inputs: { dateObj: ["cCalendarDay", "dateObj"] }, host: { properties: { "class": "this.hostClasses" } }, ngImport: i0 });
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarDayDirective, decorators: [{
70
+ type: Directive,
71
+ args: [{
72
+ selector: '[cCalendarDay]'
73
+ }]
74
+ }], ctorParameters: function () { return [{ type: i1.CalendarService }]; }, propDecorators: { dateObj: [{
75
+ type: Input,
76
+ args: ['cCalendarDay']
77
+ }], hostClasses: [{
78
+ type: HostBinding,
79
+ args: ['class']
80
+ }] } });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmV1aS1hbmd1bGFyL3NyYy9saWIvY2FsZW5kYXIvY2FsZW5kYXItbW9udGgvY2FsZW5kYXItZGF5LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFekUsT0FBTyxFQUNMLGNBQWMsRUFDZCxhQUFhLEVBQ2IscUJBQXFCLEVBQ3JCLGNBQWMsRUFDZCxTQUFTLEVBQ1QsV0FBVyxFQUNaLE1BQU0sbUJBQW1CLENBQUM7OztBQU0zQixNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsZUFBZ0M7UUFBaEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBS2xDLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBRXpCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLGNBQVMsR0FBZ0IsSUFBSSxDQUFDO1FBQzlCLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLFlBQU8sR0FBZ0IsSUFBSSxDQUFDO1FBQzVCLFVBQUssR0FBWSxLQUFLLENBQUM7UUFWN0IsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7SUFDaEMsQ0FBQztJQWdCRCxJQUNJLE9BQU8sQ0FBQyxLQUFvQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMs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RyxPQUFPLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO29CQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztvQkFDM0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7b0JBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO29CQUN2QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLHlCQUF5QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQy9DLENBQUM7O2tIQXZGVSxvQkFBb0I7c0dBQXBCLG9CQUFvQjs0RkFBcEIsb0JBQW9CO2tCQUhoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7aUJBQzNCO3NHQXdCSyxPQUFPO3NCQURWLEtBQUs7dUJBQUMsY0FBYztnQkFZakIsV0FBVztzQkFEZCxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge1xyXG4gIGlzRGF0ZURpc2FibGVkLFxyXG4gIGlzRGF0ZUluUmFuZ2UsXHJcbiAgaXNEYXRlSW5SYW5nZURpc2FibGVkLFxyXG4gIGlzRGF0ZVNlbGVjdGVkLFxyXG4gIGlzRW5kRGF0ZSxcclxuICBpc1N0YXJ0RGF0ZVxyXG59IGZyb20gJy4uL2NhbGVuZGFyLnV0aWxzJztcclxuaW1wb3J0IHsgQ2FsZW5kYXJTZXJ2aWNlLCBEYXRlRmlsdGVyVHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbY0NhbGVuZGFyRGF5XSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRGF5RGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNhbGVuZGFyU2VydmljZTogQ2FsZW5kYXJTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmNhbGVuZGFyU3RhdGVTdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgbW9udGg/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzdGFydERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGVuZERhdGU6IERhdGUgfCBudWxsID0gbnVsbDtcclxuICBwcml2YXRlIGhvdmVyRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgbWF4RGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgbWluRGF0ZTogRGF0ZSB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgcmFuZ2U6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIGRpc2FibGVkRGF0ZXMhOiBEYXRlW10gfCBEYXRlW11bXTtcclxuICBwcml2YXRlIGNhbGVuZGFyU3RhdGVTdWJzY3JpcHRpb24hOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBkYXRlRmlsdGVyITogRGF0ZUZpbHRlclR5cGU7XHJcblxyXG4gIHByaXZhdGUgX2RhdGVPYmo/OiB7IGRhdGU6IERhdGU7IG1vbnRoOiBzdHJpbmc7IH07XHJcblxyXG4gIEBJbnB1dCgnY0NhbGVuZGFyRGF5JylcclxuICBzZXQgZGF0ZU9iaih2YWx1ZTogeyBkYXRlOiBEYXRlOyBtb250aDogc3RyaW5nIH0pIHtcclxuICAgIHRoaXMuX2RhdGVPYmogPSB2YWx1ZTtcclxuICAgIHRoaXMuZGF0ZSA9IHZhbHVlLmRhdGU7XHJcbiAgICB0aGlzLm1vbnRoID0gdmFsdWUubW9udGg7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VsZWN0RW5kRGF0ZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAodGhpcy5yYW5nZSAmJiAhIXRoaXMuc3RhcnREYXRlICYmICF0aGlzLmVuZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXHJcbiAgZ2V0IGhvc3RDbGFzc2VzKCk6IGFueSB7XHJcblxyXG4gICAgaWYgKCF0aGlzLmRhdGUpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCByYW5nZUhvdmVyID0gdGhpcy5tb250aCA9PT0gJ2N1cnJlbnQnICYmIHRoaXMuc2VsZWN0RW5kRGF0ZSAmJiBpc0RhdGVJblJhbmdlKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuaG92ZXJEYXRlKTtcclxuICAgIGNvbnN0IGluUmFuZ2UgPSB0aGlzLm1vbnRoID09PSAnY3VycmVudCcgJiYgaXNEYXRlSW5SYW5nZSh0aGlzLmRhdGUsIHRoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGUpO1xyXG4gICAgY29uc3Qgc2VsZWN0ZWQgPSBpc0RhdGVTZWxlY3RlZCh0aGlzLmRhdGUsIHRoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGUpO1xyXG4gICAgY29uc3Qgc3RhcnQgPSBpc1N0YXJ0RGF0ZSh0aGlzLmRhdGUsIHRoaXMuc3RhcnREYXRlLCB0aGlzLmVuZERhdGUpO1xyXG4gICAgY29uc3QgZW5kID0gaXNFbmREYXRlKHRoaXMuZGF0ZSwgdGhpcy5zdGFydERhdGUsIHRoaXMuZW5kRGF0ZSk7XHJcbiAgICBjb25zdCBkaXNhYmxlZFJhbmdlID0gaXNEYXRlSW5SYW5nZURpc2FibGVkKHRoaXMuc3RhcnREYXRlLCB0aGlzLmRhdGUsIHRoaXMuZGlzYWJsZWREYXRlcyk7XHJcbiAgICBjb25zdCBkaXNhYmxlZERhdGUgPSBpc0RhdGVEaXNhYmxlZCh0aGlzLmRhdGUsIHRoaXMubWluRGF0ZSwgdGhpcy5tYXhEYXRlLCB0aGlzLmRpc2FibGVkRGF0ZXMpO1xyXG4gICAgY29uc3QgZGlzYWJsZWRCeUZpbHRlciA9IHRoaXMuZGF0ZUZpbHRlciA/ICF0aGlzLmRhdGVGaWx0ZXIodGhpcy5kYXRlKSA6IGZhbHNlO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgICdyYW5nZS1ob3Zlcic6IHJhbmdlSG92ZXIgJiYgKCFkaXNhYmxlZFJhbmdlIHx8ICFkaXNhYmxlZEJ5RmlsdGVyKSxcclxuICAgICAgc2VsZWN0ZWQ6ICEhc2VsZWN0ZWQsXHJcbiAgICAgIHJhbmdlOiAhIWluUmFuZ2UsXHJcbiAgICAgIHN0YXJ0OiAhIXN0YXJ0LFxyXG4gICAgICBlbmQ6ICEhZW5kLFxyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWREYXRlIHx8IGRpc2FibGVkQnlGaWx0ZXJcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2FsZW5kYXJTdGF0ZVN1YnNjcmliZShmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBjYWxlbmRhclN0YXRlU3Vic2NyaWJlKHN1YnNjcmliZTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmIChzdWJzY3JpYmUpIHtcclxuICAgICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uID1cclxuICAgICAgICB0aGlzLmNhbGVuZGFyU2VydmljZS5jYWxlbmRhclN0YXRlJC5zdWJzY3JpYmUoc3RhdGUgPT4ge1xyXG4gICAgICAgICAgY29uc3Qge1xyXG4gICAgICAgICAgICBzdGFydERhdGUgPSB0aGlzLnN0YXJ0RGF0ZSxcclxuICAgICAgICAgICAgZW5kRGF0ZSA9IHRoaXMuZW5kRGF0ZSxcclxuICAgICAgICAgICAgaG92ZXJEYXRlID0gdGhpcy5ob3ZlckRhdGUsXHJcbiAgICAgICAgICAgIHJhbmdlID0gdGhpcy5yYW5nZSxcclxuICAgICAgICAgICAgbWF4RGF0ZSA9IHRoaXMubWF4RGF0ZSxcclxuICAgICAgICAgICAgbWluRGF0ZSA9IHRoaXMubWluRGF0ZSxcclxuICAgICAgICAgICAgZGlzYWJsZWREYXRlcyA9IHRoaXMuZGlzYWJsZWREYXRlcyxcclxuICAgICAgICAgICAgZGF0ZUZpbHRlciA9IHRoaXMuZGF0ZUZpbHRlclxyXG4gICAgICAgICAgfSA9IHsgLi4uc3RhdGUgfTtcclxuICAgICAgICAgIHRoaXMuc3RhcnREYXRlID0gc3RhcnREYXRlO1xyXG4gICAgICAgICAgdGhpcy5lbmREYXRlID0gZW5kRGF0ZTtcclxuICAgICAgICAgIHRoaXMucmFuZ2UgPSByYW5nZTtcclxuICAgICAgICAgIHRoaXMuaG92ZXJEYXRlID0gaG92ZXJEYXRlO1xyXG4gICAgICAgICAgdGhpcy5tYXhEYXRlID0gbWF4RGF0ZTtcclxuICAgICAgICAgIHRoaXMubWluRGF0ZSA9IG1pbkRhdGU7XHJcbiAgICAgICAgICB0aGlzLmRpc2FibGVkRGF0ZXMgPSBkaXNhYmxlZERhdGVzO1xyXG4gICAgICAgICAgdGhpcy5kYXRlRmlsdGVyID0gZGF0ZUZpbHRlcjtcclxuICAgICAgICB9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jYWxlbmRhclN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Pipe } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class CalendarDayPipe {
4
+ transform(date, dayFormat = 'numeric', locale = 'default') {
5
+ return typeof dayFormat === 'function' ?
6
+ dayFormat(date) :
7
+ date.toLocaleDateString(locale, { day: dayFormat });
8
+ }
9
+ }
10
+ CalendarDayPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarDayPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ CalendarDayPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarDayPipe, name: "calendarDay" });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CalendarDayPipe, decorators: [{
13
+ type: Pipe,
14
+ args: [{
15
+ name: 'calendarDay'
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItZGF5LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JldWktYW5ndWxhci9zcmMvbGliL2NhbGVuZGFyL2NhbGVuZGFyLW1vbnRoL2NhbGVuZGFyLWRheS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sZUFBZTtJQUUxQixTQUFTLENBQUMsSUFBVSxFQUFFLFlBQTJCLFNBQVMsRUFBRSxTQUFpQixTQUFTO1FBQ3BGLE9BQU8sT0FBTyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUM7WUFDdEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDakIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7OzZHQU5VLGVBQWU7MkdBQWYsZUFBZTs0RkFBZixlQUFlO2tCQUgzQixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxhQUFhO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRGF5Rm9ybWF0VHlwZSB9IGZyb20gJy4uL2NhbGVuZGFyLnNlcnZpY2UnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjYWxlbmRhckRheSdcclxufSlcclxuZXhwb3J0IGNsYXNzIENhbGVuZGFyRGF5UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICB0cmFuc2Zvcm0oZGF0ZTogRGF0ZSwgZGF5Rm9ybWF0OiBEYXlGb3JtYXRUeXBlID0gJ251bWVyaWMnLCBsb2NhbGU6IHN0cmluZyA9ICdkZWZhdWx0Jyk6IChzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIHJldHVybiB0eXBlb2YgZGF5Rm9ybWF0ID09PSAnZnVuY3Rpb24nID9cclxuICAgICAgZGF5Rm9ybWF0KGRhdGUpIDpcclxuICAgICAgZGF0ZS50b0xvY2FsZURhdGVTdHJpbmcobG9jYWxlLCB7IGRheTogZGF5Rm9ybWF0IH0pO1xyXG4gIH1cclxufVxyXG4iXX0=