@libs-ui/components-datetime-picker 0.2.10-6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/README.md +3 -0
  2. package/custom-ranges/calendar/calendar.component.d.ts +140 -0
  3. package/custom-ranges/custom-ranges.component.d.ts +58 -0
  4. package/defines/calendar.define.d.ts +13 -0
  5. package/defines/common-date.define.d.ts +2 -0
  6. package/defines/date-options.define.d.ts +18 -0
  7. package/esm2022/custom-ranges/calendar/calendar.component.mjs +1259 -0
  8. package/esm2022/custom-ranges/custom-ranges.component.mjs +303 -0
  9. package/esm2022/defines/calendar.define.mjs +135 -0
  10. package/esm2022/defines/common-date.define.mjs +3 -0
  11. package/esm2022/defines/date-options.define.mjs +53 -0
  12. package/esm2022/index.mjs +4 -0
  13. package/esm2022/interfaces/calendar-emit.interface.mjs +2 -0
  14. package/esm2022/interfaces/calendar-variables.interface.mjs +6 -0
  15. package/esm2022/interfaces/function-control.interface.mjs +2 -0
  16. package/esm2022/interfaces/index.mjs +7 -0
  17. package/esm2022/interfaces/picker.interface.mjs +2 -0
  18. package/esm2022/interfaces/time-variables.interface.mjs +4 -0
  19. package/esm2022/interfaces/valid.interface.mjs +2 -0
  20. package/esm2022/libs-ui-components-datetime-picker.mjs +5 -0
  21. package/esm2022/picker.component.mjs +190 -0
  22. package/fesm2022/libs-ui-components-datetime-picker.mjs +1936 -0
  23. package/fesm2022/libs-ui-components-datetime-picker.mjs.map +1 -0
  24. package/index.d.ts +3 -0
  25. package/interfaces/calendar-emit.interface.d.ts +25 -0
  26. package/interfaces/calendar-variables.interface.d.ts +80 -0
  27. package/interfaces/function-control.interface.d.ts +8 -0
  28. package/interfaces/index.d.ts +6 -0
  29. package/interfaces/picker.interface.d.ts +26 -0
  30. package/interfaces/time-variables.interface.d.ts +36 -0
  31. package/interfaces/valid.interface.d.ts +5 -0
  32. package/package.json +25 -0
  33. package/picker.component.d.ts +77 -0
@@ -0,0 +1,303 @@
1
+ import { ChangeDetectionStrategy, Component, effect, input, model, output, signal, untracked } from "@angular/core";
2
+ import { LibsUiComponentsPopoverComponent } from "@libs-ui/components-popover";
3
+ import { TranslateModule } from "@ngx-translate/core";
4
+ import dayjs from 'dayjs';
5
+ import { defaultLocaleConfig, getDateOptions, getDateRangeDefault } from "../defines/date-options.define";
6
+ import { LibsUiComponentsDatetimePickerCustomRangesCalendarComponent } from "./calendar/calendar.component";
7
+ import * as i0 from "@angular/core";
8
+ export class LibsUiComponentsDatetimePickerCustomRangesComponent {
9
+ /** PROPERTY */
10
+ showCalTableInRanges = signal(false);
11
+ quickRangesArray = signal([]);
12
+ selectedQuickRange = signal(''); // quick range đã được lưu trước đó
13
+ chosenQuickRange = signal(undefined); // quick range đang được chọn
14
+ calendarShowing = signal(false);
15
+ timeouts = signal([]);
16
+ calendarFunctionControlEvent = signal(undefined);
17
+ chosenSingleDate = signal(undefined);
18
+ chosenDateRange = signal(undefined);
19
+ /** INPUT */
20
+ // readonly SelectedQuickRange = input<string>('');
21
+ zIndex = input(1200, { transform: (value) => value ?? 1200 });
22
+ classInclude = input('');
23
+ extendRanges = input([]);
24
+ widthByParent = input(false);
25
+ autoApply = input(false);
26
+ positionQuickRanges = input('left', { transform: (value) => value ?? 'left' });
27
+ isSingle = input(false, { transform: (value) => value ?? false });
28
+ hasTimePicker = input(true);
29
+ flagMouse = input({ isMouseEnter: false, isMouseEnterContent: false });
30
+ dateOptions = input({ ...defaultLocaleConfig(), ...getDateOptions() });
31
+ alwaysShowCalendars = input(false);
32
+ startDate = model(dayjs().startOf('day'));
33
+ endDate = model(dayjs().endOf('day'));
34
+ showCustomRangeLabel = input(undefined);
35
+ keepCalendarOpeningWithRange = input(undefined);
36
+ singleDateSelected = input(undefined, {
37
+ transform: (value) => {
38
+ if (!value) {
39
+ return;
40
+ }
41
+ let date = value.date;
42
+ if (typeof date === 'string') {
43
+ date = dayjs(date);
44
+ }
45
+ return {
46
+ ...value,
47
+ date
48
+ };
49
+ }
50
+ });
51
+ dateRangeSelected = input(undefined, {
52
+ transform: (value) => {
53
+ if (!value) {
54
+ return;
55
+ }
56
+ let startDate = value.startDate;
57
+ let endDate = value.endDate;
58
+ if (typeof startDate === 'string') {
59
+ startDate = dayjs(startDate);
60
+ }
61
+ if (typeof endDate === 'string') {
62
+ endDate = dayjs(endDate);
63
+ }
64
+ return {
65
+ ...value,
66
+ startDate,
67
+ endDate
68
+ };
69
+ }
70
+ });
71
+ /** OUTPUT */
72
+ outChangStageFlagMouse = output();
73
+ outUpdateWidth = output();
74
+ outCancel = output();
75
+ outSelectSingleDate = output();
76
+ outSelectDateRange = output();
77
+ outClickRange = output();
78
+ constructor() {
79
+ effect(() => untracked(this.onAfterViewInit.bind(this)));
80
+ }
81
+ onAfterViewInit() {
82
+ if (!this.startDate()) {
83
+ this.startDate.set(dayjs().startOf('day'));
84
+ }
85
+ if (!this.endDate()) {
86
+ this.endDate.set(dayjs().endOf('day'));
87
+ }
88
+ const dateRangeSelected = this.dateRangeSelected();
89
+ const singleDateSelected = this.singleDateSelected();
90
+ const customRange = {
91
+ id: this.dateOptions()?.customRangeLabel || '',
92
+ label: this.dateOptions()?.customRangeLabel || ''
93
+ };
94
+ if (this.isSingle()) {
95
+ if (this.hasTimePicker()) {
96
+ const now = dayjs();
97
+ this.startDate.update(current => {
98
+ if (current) {
99
+ current.set('hour', 10).set('minute', 30);
100
+ // current.hour(now.hour()).minute(now.minute());
101
+ }
102
+ console.log('current', current, now, now.hour(), now.minute());
103
+ return current;
104
+ });
105
+ this.endDate.update(current => {
106
+ if (current) {
107
+ current.hour(now.hour()).minute(now.minute());
108
+ }
109
+ return current;
110
+ });
111
+ console.log(this.startDate(), this.endDate());
112
+ }
113
+ if (singleDateSelected) {
114
+ this.startDate.set(singleDateSelected.date);
115
+ this.endDate.set(singleDateSelected.date);
116
+ }
117
+ this.renderRanges();
118
+ return;
119
+ }
120
+ if (dateRangeSelected) {
121
+ this.selectedQuickRange.set(dateRangeSelected.quickRangeId ? dateRangeSelected.quickRangeId : customRange.id);
122
+ this.chosenQuickRange.set(dateRangeSelected.quickRangeId ?? customRange.id);
123
+ this.startDate.set(dateRangeSelected.startDate);
124
+ this.endDate.set(dateRangeSelected.endDate);
125
+ }
126
+ if (this.hasTimePicker()) {
127
+ this.selectedQuickRange.set(customRange.id);
128
+ this.chosenQuickRange.set(customRange.id);
129
+ }
130
+ if (this.selectedQuickRange() === this.dateOptions()?.customRangeLabel) {
131
+ this.showCalTableInRanges.set(true);
132
+ }
133
+ this.renderRanges();
134
+ }
135
+ updateWidth() {
136
+ const timeoutId = setTimeout(() => {
137
+ this.outUpdateWidth.emit(1);
138
+ });
139
+ this.timeouts.update(ids => [...ids, timeoutId]);
140
+ }
141
+ renderRanges() {
142
+ if (this.isSingle()) {
143
+ this.showCalTableInRanges.set(true);
144
+ return;
145
+ }
146
+ const rangesDefault = getDateRangeDefault();
147
+ const ranges = this.dateOptions()?.ranges;
148
+ this.quickRangesArray.set([]);
149
+ for (const key in ranges) {
150
+ const rangeValue = rangesDefault[key];
151
+ const start = dayjs(rangeValue[0]);
152
+ const end = dayjs(rangeValue[1]);
153
+ this.quickRangesArray.update(current => {
154
+ current.push({
155
+ id: key,
156
+ label: ranges[key],
157
+ values: [start, end]
158
+ });
159
+ return current;
160
+ });
161
+ }
162
+ if (this.showCustomRangeLabel() && this.dateOptions()?.customRangeLabel) {
163
+ this.quickRangesArray.update(current => {
164
+ current.push({
165
+ id: this.dateOptions()?.customRangeLabel || '',
166
+ label: this.dateOptions()?.customRangeLabel || ''
167
+ });
168
+ return current;
169
+ });
170
+ }
171
+ if (this.extendRanges()) {
172
+ this.quickRangesArray.update(current => {
173
+ current.unshift(...this.extendRanges());
174
+ return current;
175
+ });
176
+ }
177
+ if (!this.quickRangesArray().length) {
178
+ this.showCalTableInRanges.set(true);
179
+ }
180
+ }
181
+ handlerCancel() {
182
+ this.outCancel.emit('');
183
+ }
184
+ handlerPickerDate(event) {
185
+ console.log('handlerPickerDate', event);
186
+ this.chosenSingleDate.set({
187
+ displayLabel: event.displayLabel,
188
+ date: event.startDate,
189
+ values: event.detailDatePicker.start()
190
+ });
191
+ // if (!this.isSingle() && event.startDate && !event.endDate) {
192
+ // const endTime = event.detailDatePicker.end();
193
+ // event.endDate = event.startDate.clone().hour(endTime.hour as number).minute(endTime.minute as number).second(59);
194
+ // }
195
+ this.chosenDateRange.set({
196
+ quickRangeId: this.chosenQuickRange(),
197
+ ...event
198
+ });
199
+ const chosenSingleDate = this.chosenSingleDate();
200
+ const chosenDateRange = this.chosenDateRange();
201
+ if (this.isSingle() && chosenSingleDate) {
202
+ this.outSelectSingleDate.emit(chosenSingleDate);
203
+ return;
204
+ }
205
+ if (!chosenDateRange || (!chosenDateRange.startDate && !chosenDateRange.endDate)) {
206
+ return;
207
+ }
208
+ this.outSelectDateRange.emit(chosenDateRange);
209
+ }
210
+ handlerClickRange(e, range) {
211
+ e.stopPropagation();
212
+ this.updateWidth();
213
+ this.chosenQuickRange.set(range.id);
214
+ if (range.id === this.dateOptions()?.customRangeLabel) {
215
+ this.calendarShowing.set(true);
216
+ this.showCalTableInRanges.set(true);
217
+ return;
218
+ }
219
+ if (this.extendRanges()) {
220
+ const findExternalRange = this.extendRanges().find(item => item.label === range.id);
221
+ if (findExternalRange && range.id === findExternalRange.label) {
222
+ if (findExternalRange.values) {
223
+ this.outSelectDateRange.emit({ quickRangeId: findExternalRange.id, displayLabel: findExternalRange.label, startDate: findExternalRange.values[0], endDate: findExternalRange.values[1] });
224
+ return;
225
+ }
226
+ this.outSelectDateRange.emit({ quickRangeId: findExternalRange.id, displayLabel: findExternalRange.label, startDate: undefined, endDate: undefined });
227
+ return;
228
+ }
229
+ }
230
+ const dates = range.values ?? [];
231
+ // this.startDate.set(dates[0].clone().hour(0).minute(0).second(0));
232
+ // this.endDate.set(dates[1].clone().hour(23).minute(59).second(59));
233
+ // this.timeValue = { hour: 0, toHour: 0, minute: 23, toMinute: 59 };
234
+ // this.timepickerVariables.left.selectedHour = 0;
235
+ // this.timepickerVariables.left.selectedMinute = 0;
236
+ // this.timepickerVariables.right.selectedHour = 23;
237
+ // this.timepickerVariables.right.selectedMinute = 59;
238
+ // this.showRangeLabelOnInput && label !== this.localeDay.customRangeLabel ? this.chosenLabel = label : this.calculateChosenLabel();
239
+ // // this.autoApply.set(true);
240
+ // if (!this.hasTimePicker()) {
241
+ // if(this.startDate()) {
242
+ // this.startDate.set(this.startDate()?.startOf('day'));
243
+ // }
244
+ // if(this.endDate()) {
245
+ // this.endDate.set(this.endDate()?.endOf('day'));
246
+ // }
247
+ // }
248
+ // if (!this.alwaysShowCalendars()) {
249
+ // this.calendarShowing.set(false);
250
+ // }
251
+ // this.outClickRange.emit(range);
252
+ if (!this.keepCalendarOpeningWithRange() || !this.alwaysShowCalendars()) {
253
+ this.outSelectDateRange.emit({ quickRangeId: range.id, displayLabel: range.label, startDate: range.values?.[0], endDate: range.values?.[1] });
254
+ return;
255
+ }
256
+ // if (this.timePicker) {
257
+ // this.renderTimePicker(SideEnum.left);
258
+ // this.renderTimePicker(SideEnum.right);
259
+ // }
260
+ // if (this.getMaxDate() && this.getMaxDate().isSame(dates[0], 'month')) {
261
+ // this.rightCalendar.month = this.rightCalendar.month && this.rightCalendar.month.month(dates[0].month());
262
+ // this.rightCalendar.month = this.rightCalendar.month && this.rightCalendar.month.year(dates[0].year());
263
+ // this.leftCalendar.month = this.leftCalendar.month && this.leftCalendar.month.month(dates[0].month() - 1);
264
+ // this.leftCalendar.month = this.leftCalendar.month && this.leftCalendar.month.year(dates[1].year());
265
+ // return this.updateCalendars();
266
+ // }
267
+ // this.leftCalendar.month = this.leftCalendar.month && this.leftCalendar.month.month(dates[0].month());
268
+ // this.leftCalendar.month = this.leftCalendar.month && this.leftCalendar.month.year(dates[0].year());
269
+ // const nextMonth = dates[0].clone().add(1, 'month');
270
+ // this.rightCalendar.month = this.rightCalendar.month && this.rightCalendar.month.month(nextMonth.month());
271
+ // this.rightCalendar.month = this.rightCalendar.month && this.rightCalendar.month.year(nextMonth.year());
272
+ // this.updateCalendars();
273
+ return;
274
+ }
275
+ handlerClickCancel(event) {
276
+ event.stopPropagation();
277
+ // this.startDate.set(dayjs(0));
278
+ // this.endDate.set(dayjs(0));
279
+ this.outCancel.emit('');
280
+ }
281
+ handlerChangeFlagMouse(flagMouse) {
282
+ this.outChangStageFlagMouse.emit(flagMouse);
283
+ }
284
+ handlerFunctionsControl(event) {
285
+ this.calendarFunctionControlEvent.set(event);
286
+ }
287
+ ngOnDestroy() {
288
+ this.timeouts().forEach(item => clearTimeout(item));
289
+ // this.onDestroy.next();
290
+ // this.onDestroy.complete();
291
+ }
292
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDatetimePickerCustomRangesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
293
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: LibsUiComponentsDatetimePickerCustomRangesComponent, isStandalone: true, selector: "libs_ui-components-datetime-picker-custom_ranges", inputs: { zIndex: { classPropertyName: "zIndex", publicName: "zIndex", isSignal: true, isRequired: false, transformFunction: null }, classInclude: { classPropertyName: "classInclude", publicName: "classInclude", isSignal: true, isRequired: false, transformFunction: null }, extendRanges: { classPropertyName: "extendRanges", publicName: "extendRanges", isSignal: true, isRequired: false, transformFunction: null }, widthByParent: { classPropertyName: "widthByParent", publicName: "widthByParent", isSignal: true, isRequired: false, transformFunction: null }, autoApply: { classPropertyName: "autoApply", publicName: "autoApply", isSignal: true, isRequired: false, transformFunction: null }, positionQuickRanges: { classPropertyName: "positionQuickRanges", publicName: "positionQuickRanges", isSignal: true, isRequired: false, transformFunction: null }, isSingle: { classPropertyName: "isSingle", publicName: "isSingle", isSignal: true, isRequired: false, transformFunction: null }, hasTimePicker: { classPropertyName: "hasTimePicker", publicName: "hasTimePicker", isSignal: true, isRequired: false, transformFunction: null }, flagMouse: { classPropertyName: "flagMouse", publicName: "flagMouse", isSignal: true, isRequired: false, transformFunction: null }, dateOptions: { classPropertyName: "dateOptions", publicName: "dateOptions", isSignal: true, isRequired: false, transformFunction: null }, alwaysShowCalendars: { classPropertyName: "alwaysShowCalendars", publicName: "alwaysShowCalendars", isSignal: true, isRequired: false, transformFunction: null }, startDate: { classPropertyName: "startDate", publicName: "startDate", isSignal: true, isRequired: false, transformFunction: null }, endDate: { classPropertyName: "endDate", publicName: "endDate", isSignal: true, isRequired: false, transformFunction: null }, showCustomRangeLabel: { classPropertyName: "showCustomRangeLabel", publicName: "showCustomRangeLabel", isSignal: true, isRequired: false, transformFunction: null }, keepCalendarOpeningWithRange: { classPropertyName: "keepCalendarOpeningWithRange", publicName: "keepCalendarOpeningWithRange", isSignal: true, isRequired: false, transformFunction: null }, singleDateSelected: { classPropertyName: "singleDateSelected", publicName: "singleDateSelected", isSignal: true, isRequired: false, transformFunction: null }, dateRangeSelected: { classPropertyName: "dateRangeSelected", publicName: "dateRangeSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { startDate: "startDateChange", endDate: "endDateChange", outChangStageFlagMouse: "outChangStageFlagMouse", outUpdateWidth: "outUpdateWidth", outCancel: "outCancel", outSelectSingleDate: "outSelectSingleDate", outSelectDateRange: "outSelectDateRange", outClickRange: "outClickRange" }, ngImport: i0, template: "<div #pickerContainer\n class=\"libs-ui-component-custom_ranges flex rounded-[4px] bg-[#ffffff] z-[1000] overflow-[hidden] relative inline\"\n [class.flex-row-reverse]=\"positionQuickRanges() === 'right'\">\n @if (!isSingle()) {\n <div class=\"libs-ui-component-custom_ranges-ranges {{ classInclude() || '' }}\"\n [class.border-l-[#e6e8ed]]=\"positionQuickRanges() === 'right' && showCalTableInRanges()\"\n [class.border-l]=\"positionQuickRanges() === 'right' && showCalTableInRanges()\"\n [class.border-r-[#e6e8ed]]=\"positionQuickRanges() === 'left' && showCalTableInRanges()\"\n [class.border-r]=\"positionQuickRanges() === 'left' && showCalTableInRanges()\"\n [class.!min-h-[260px]]=\"showCalTableInRanges() && !isSingle()\"\n [class.!min-h-[300px]]=\"hasTimePicker() && !isSingle()\"\n [class.!w-[160px]]=\"!widthByParent()\"\n [class.!w-full]=\"widthByParent()\">\n @for (range of quickRangesArray(); track range.id) {\n <div class=\"flex items-center hover:bg-[var(--libs-ui-color-light-3)] cursor-pointer px-[16px] py-[8px]\"\n [class.libs-ui-selected-range]=\"range.id === chosenQuickRange() && showCustomRangeLabel()\"\n [class.bg-[var(--libs-ui-color-light-3)]]=\"range.id === chosenQuickRange() || range.id === selectedQuickRange()\"\n (click)=\"handlerClickRange($event, range)\">\n <div class=\"libs-ui-font-h5r flex text-[#333333] min-w-0 w-full\">\n <div LibsUiComponentsPopoverDirective\n type=\"text\"\n [config]=\"{maxWidth:160,direction:'top',zIndex:(zIndex() ||1000) + 1}\"\n [innerHTML]=\"range.label\"\n (click)=\"handlerClickRange($event, range)\">\n </div>\n </div>\n <i class=\"text-[12px] ml-[16px]\"\n [class.libs-ui-icon-check]=\"range.id === selectedQuickRange()\"\n [class.text-[var(--libs-ui-color-default)]]=\"range.id === selectedQuickRange()\"></i>\n </div>\n }\n </div>\n }\n @if (showCalTableInRanges()) {\n <div class=\"m-[16px] w-full\">\n <libs_ui-components-datetime-picker-custom_ranges-calendar [isSingle]=\"isSingle()\"\n [autoApply]=\"autoApply()\"\n [zIndex]=\"zIndex()\"\n [flagMouse]=\"flagMouse()\"\n [dateOptions]=\"dateOptions()\"\n [hasTimePicker]=\"hasTimePicker()\"\n [quickRangesArray]=\"quickRangesArray()\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [classInclude]=\"'w-full'\"\n (outCancel)=\"handlerCancel()\"\n (outPickerDate)=\"handlerPickerDate($event)\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangeFlagMouse($event)\" />\n </div>\n }\n</div>\n", styles: [".libs-ui-component-custom_ranges{position:absolute;box-shadow:0 2px 4px #00000029,0 2px 8px #0000001f}.libs-ui-component-custom_ranges .libs-ui-component-custom_ranges-ranges{width:159px;flex-shrink:0}.libs-ui-component-custom_ranges .libs-ui-component-custom_ranges-ranges .libs-ui-selected-range{position:relative}.libs-ui-component-custom_ranges .libs-ui-component-custom_ranges-ranges .libs-ui-selected-range:after{content:\"\";position:absolute;right:0;top:0;bottom:0;width:2px;background-color:var(--libs-ui-color-default)!important}@media (min-width: 564px){.libs-ui-component-custom_ranges{width:auto}}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: LibsUiComponentsDatetimePickerCustomRangesCalendarComponent, selector: "libs_ui-components-datetime-picker-custom_ranges-calendar", inputs: ["quickRangesArray", "zIndex", "classInclude", "isSingle", "showDropdownsSelect", "hasTimePicker", "flagMouse", "dateOptions", "autoApply", "hasSecondPicker", "showRangeLabelOnInput", "startDate", "endDate", "minDate", "maxDate"], outputs: ["startDateChange", "endDateChange", "outChangStageFlagMouse", "outPickerDate", "outCancel", "outUpdateWidth", "outFunctionsControl"] }, { kind: "component", type: LibsUiComponentsPopoverComponent, selector: "libs_ui-components-popover,[LibsUiComponentsPopoverDirective]", inputs: ["debugId", "flagMouse", "type", "mode", "config", "ignoreShowPopover", "elementRefCustom", "classInclude", "ignoreHiddenPopoverContentWhenMouseLeave", "ignoreStopPropagationEvent", "ignoreCursorPointerModeLikeClick", "isAddContentToParentDocument", "ignoreClickOutside"], outputs: ["outEvent", "outChangStageFlagMouse", "outEventPopoverContent", "outFunctionsControl"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
294
+ }
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: LibsUiComponentsDatetimePickerCustomRangesComponent, decorators: [{
296
+ type: Component,
297
+ args: [{ selector: 'libs_ui-components-datetime-picker-custom_ranges', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, imports: [
298
+ TranslateModule,
299
+ LibsUiComponentsDatetimePickerCustomRangesCalendarComponent,
300
+ LibsUiComponentsPopoverComponent
301
+ ], template: "<div #pickerContainer\n class=\"libs-ui-component-custom_ranges flex rounded-[4px] bg-[#ffffff] z-[1000] overflow-[hidden] relative inline\"\n [class.flex-row-reverse]=\"positionQuickRanges() === 'right'\">\n @if (!isSingle()) {\n <div class=\"libs-ui-component-custom_ranges-ranges {{ classInclude() || '' }}\"\n [class.border-l-[#e6e8ed]]=\"positionQuickRanges() === 'right' && showCalTableInRanges()\"\n [class.border-l]=\"positionQuickRanges() === 'right' && showCalTableInRanges()\"\n [class.border-r-[#e6e8ed]]=\"positionQuickRanges() === 'left' && showCalTableInRanges()\"\n [class.border-r]=\"positionQuickRanges() === 'left' && showCalTableInRanges()\"\n [class.!min-h-[260px]]=\"showCalTableInRanges() && !isSingle()\"\n [class.!min-h-[300px]]=\"hasTimePicker() && !isSingle()\"\n [class.!w-[160px]]=\"!widthByParent()\"\n [class.!w-full]=\"widthByParent()\">\n @for (range of quickRangesArray(); track range.id) {\n <div class=\"flex items-center hover:bg-[var(--libs-ui-color-light-3)] cursor-pointer px-[16px] py-[8px]\"\n [class.libs-ui-selected-range]=\"range.id === chosenQuickRange() && showCustomRangeLabel()\"\n [class.bg-[var(--libs-ui-color-light-3)]]=\"range.id === chosenQuickRange() || range.id === selectedQuickRange()\"\n (click)=\"handlerClickRange($event, range)\">\n <div class=\"libs-ui-font-h5r flex text-[#333333] min-w-0 w-full\">\n <div LibsUiComponentsPopoverDirective\n type=\"text\"\n [config]=\"{maxWidth:160,direction:'top',zIndex:(zIndex() ||1000) + 1}\"\n [innerHTML]=\"range.label\"\n (click)=\"handlerClickRange($event, range)\">\n </div>\n </div>\n <i class=\"text-[12px] ml-[16px]\"\n [class.libs-ui-icon-check]=\"range.id === selectedQuickRange()\"\n [class.text-[var(--libs-ui-color-default)]]=\"range.id === selectedQuickRange()\"></i>\n </div>\n }\n </div>\n }\n @if (showCalTableInRanges()) {\n <div class=\"m-[16px] w-full\">\n <libs_ui-components-datetime-picker-custom_ranges-calendar [isSingle]=\"isSingle()\"\n [autoApply]=\"autoApply()\"\n [zIndex]=\"zIndex()\"\n [flagMouse]=\"flagMouse()\"\n [dateOptions]=\"dateOptions()\"\n [hasTimePicker]=\"hasTimePicker()\"\n [quickRangesArray]=\"quickRangesArray()\"\n [startDate]=\"startDate()\"\n [endDate]=\"endDate()\"\n [classInclude]=\"'w-full'\"\n (outCancel)=\"handlerCancel()\"\n (outPickerDate)=\"handlerPickerDate($event)\"\n (outFunctionsControl)=\"handlerFunctionsControl($event)\"\n (outChangStageFlagMouse)=\"handlerChangeFlagMouse($event)\" />\n </div>\n }\n</div>\n", styles: [".libs-ui-component-custom_ranges{position:absolute;box-shadow:0 2px 4px #00000029,0 2px 8px #0000001f}.libs-ui-component-custom_ranges .libs-ui-component-custom_ranges-ranges{width:159px;flex-shrink:0}.libs-ui-component-custom_ranges .libs-ui-component-custom_ranges-ranges .libs-ui-selected-range{position:relative}.libs-ui-component-custom_ranges .libs-ui-component-custom_ranges-ranges .libs-ui-selected-range:after{content:\"\";position:absolute;right:0;top:0;bottom:0;width:2px;background-color:var(--libs-ui-color-default)!important}@media (min-width: 564px){.libs-ui-component-custom_ranges{width:auto}}\n"] }]
302
+ }], ctorParameters: () => [] });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXJhbmdlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvcGlja2VyL3NyYy9jdXN0b20tcmFuZ2VzL2N1c3RvbS1yYW5nZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2RhdGV0aW1lL3BpY2tlci9zcmMvY3VzdG9tLXJhbmdlcy9jdXN0b20tcmFuZ2VzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFjLGdDQUFnQyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFLMUcsT0FBTyxFQUFFLDJEQUEyRCxFQUFFLE1BQU0sK0JBQStCLENBQUM7O0FBZTVHLE1BQU0sT0FBTyxtREFBbUQ7SUFDOUQsZUFBZTtJQUNMLG9CQUFvQixHQUFHLE1BQU0sQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUM5QyxnQkFBZ0IsR0FBRyxNQUFNLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELGtCQUFrQixHQUFHLE1BQU0sQ0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1DQUFtQztJQUM1RSxnQkFBZ0IsR0FBRyxNQUFNLENBQXFCLFNBQVMsQ0FBQyxDQUFDLENBQUMsNkJBQTZCO0lBRXpGLGVBQWUsR0FBRyxNQUFNLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDekMsUUFBUSxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUM7SUFDckMsNEJBQTRCLEdBQUcsTUFBTSxDQUE0QyxTQUFTLENBQUMsQ0FBQztJQUM1RixnQkFBZ0IsR0FBRyxNQUFNLENBQThCLFNBQVMsQ0FBQyxDQUFDO0lBQ2xFLGVBQWUsR0FBRyxNQUFNLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBRXhFLFlBQVk7SUFDWixtREFBbUQ7SUFDMUMsTUFBTSxHQUFHLEtBQUssQ0FBaUIsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM5RSxZQUFZLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQ2pDLFlBQVksR0FBRyxLQUFLLENBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLGFBQWEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7SUFDdEMsU0FBUyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztJQUVsQyxtQkFBbUIsR0FBRyxLQUFLLENBQXFDLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbkgsUUFBUSxHQUFHLEtBQUssQ0FBbUIsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsQ0FBQztJQUNwRixhQUFhLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQ3JDLFNBQVMsR0FBRyxLQUFLLENBQWEsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDbkYsV0FBVyxHQUFHLEtBQUssQ0FBcUIsRUFBRSxHQUFHLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxjQUFjLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDM0YsbUJBQW1CLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQzVDLFNBQVMsR0FBRyxLQUFLLENBQTBCLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE9BQU8sR0FBRyxLQUFLLENBQTBCLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQy9ELG9CQUFvQixHQUFHLEtBQUssQ0FBc0IsU0FBUyxDQUFDLENBQUM7SUFDN0QsNEJBQTRCLEdBQUcsS0FBSyxDQUFzQixTQUFTLENBQUMsQ0FBQztJQUVyRSxrQkFBa0IsR0FBRyxLQUFLLENBQTJELFNBQVMsRUFBRTtRQUN2RyxTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO1lBRXRCLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzdCLElBQUksR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDckIsQ0FBQztZQUVELE9BQU87Z0JBQ0wsR0FBRyxLQUFLO2dCQUNSLElBQUk7YUFDTCxDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztJQUNNLGlCQUFpQixHQUFHLEtBQUssQ0FBeUQsU0FBUyxFQUFFO1FBQ3BHLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDWCxPQUFPO1lBQ1QsQ0FBQztZQUNELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDaEMsSUFBSSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQztZQUU1QixJQUFJLE9BQU8sU0FBUyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9CLENBQUM7WUFFRCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNoQyxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzNCLENBQUM7WUFFRCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixTQUFTO2dCQUNULE9BQU87YUFDUixDQUFDO1FBQ0osQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILGFBQWE7SUFDSixzQkFBc0IsR0FBRyxNQUFNLEVBQWMsQ0FBQztJQUM5QyxjQUFjLEdBQUcsTUFBTSxFQUFVLENBQUM7SUFDbEMsU0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO0lBQzdCLG1CQUFtQixHQUFHLE1BQU0sRUFBbUIsQ0FBQztJQUNoRCxrQkFBa0IsR0FBRyxNQUFNLEVBQWtCLENBQUM7SUFDOUMsYUFBYSxHQUFHLE1BQU0sRUFBYyxDQUFDO0lBRTlDO1FBQ0UsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUNELE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRztZQUNsQixFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLGdCQUFnQixJQUFJLEVBQUU7WUFDOUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxnQkFBZ0IsSUFBSSxFQUFFO1NBQ2xELENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sR0FBRyxHQUFHLEtBQUssRUFBRSxDQUFDO2dCQUVwQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDOUIsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUMxQyxpREFBaUQ7b0JBQ25ELENBQUM7b0JBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBRy9ELE9BQU8sT0FBTyxDQUFDO2dCQUNqQixDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtvQkFDNUIsSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDWixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztvQkFDaEQsQ0FBQztvQkFFRCxPQUFPLE9BQU8sQ0FBQztnQkFDakIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUNELElBQUksa0JBQWtCLEVBQUUsQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsa0JBQWtCLENBQUMsSUFBbUIsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFtQixDQUFDLENBQUM7WUFDM0QsQ0FBQztZQUNELElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUdwQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDOUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTVFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLFNBQXdCLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxPQUFzQixDQUFDLENBQUM7UUFDN0QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFLEtBQUssSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDdkUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFTyxXQUFXO1FBQ2pCLE1BQU0sU0FBUyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDaEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFzQixDQUFDO1FBRXhCLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTyxZQUFZO1FBQ2xCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVwQyxPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixFQUFFLENBQUM7UUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sQ0FBQztRQUUxQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRTlCLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUM7WUFDekIsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxFQUFFLEVBQUUsR0FBRztvQkFDUCxLQUFLLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQkFDbEIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQztpQkFDckIsQ0FBQyxDQUFDO2dCQUVILE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLGdCQUFnQixFQUFFLENBQUM7WUFDeEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDckMsT0FBTyxDQUFDLElBQUksQ0FBQztvQkFDWCxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLGdCQUFnQixJQUFJLEVBQUU7b0JBQzlDLEtBQUssRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLEVBQUUsZ0JBQWdCLElBQUksRUFBRTtpQkFDbEQsQ0FBQyxDQUFDO2dCQUVILE9BQU8sT0FBTyxDQUFDO1lBQ2pCLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDckMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO2dCQUV4QyxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxDQUFDO0lBQ0gsQ0FBQztJQUVTLGFBQWE7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVTLGlCQUFpQixDQUFDLEtBQXdCO1FBQ2xELE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQztZQUN4QixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsSUFBSSxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQ3JCLE1BQU0sRUFBRSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFO1NBQ3ZDLENBQUMsQ0FBQztRQUNILCtEQUErRDtRQUMvRCxrREFBa0Q7UUFDbEQsc0hBQXNIO1FBQ3RILElBQUk7UUFDSixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQztZQUN2QixZQUFZLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3JDLEdBQUcsS0FBSztTQUNULENBQUMsQ0FBQztRQUNILE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDakQsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQy9DLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBRWhELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsZUFBZSxDQUFDLFNBQVMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ2pGLE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsQ0FBUSxFQUFFLEtBQWlCO1FBQ3JELENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFcEMsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFcEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO1lBQ3hCLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRXBGLElBQUksaUJBQWlCLElBQUksS0FBSyxDQUFDLEVBQUUsS0FBSyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDOUQsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsaUJBQWlCLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUUxTCxPQUFPO2dCQUNULENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO2dCQUV0SixPQUFPO1lBQ1QsQ0FBQztRQUNILENBQUM7UUFDRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUVqQyxvRUFBb0U7UUFDcEUscUVBQXFFO1FBQ3JFLHFFQUFxRTtRQUNyRSxrREFBa0Q7UUFDbEQsb0RBQW9EO1FBQ3BELG9EQUFvRDtRQUNwRCxzREFBc0Q7UUFFdEQsb0lBQW9JO1FBRXBJLCtCQUErQjtRQUMvQiwrQkFBK0I7UUFDL0IsMkJBQTJCO1FBQzNCLDREQUE0RDtRQUM1RCxNQUFNO1FBQ04seUJBQXlCO1FBQ3pCLHNEQUFzRDtRQUN0RCxNQUFNO1FBQ04sSUFBSTtRQUNKLHFDQUFxQztRQUNyQyxxQ0FBcUM7UUFDckMsSUFBSTtRQUNKLGtDQUFrQztRQUVsQyxJQUFJLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsRUFBRSxDQUFDO1lBQ3hFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBRTlJLE9BQU87UUFDVCxDQUFDO1FBQ0QseUJBQXlCO1FBQ3pCLDBDQUEwQztRQUMxQywyQ0FBMkM7UUFDM0MsSUFBSTtRQUNKLDBFQUEwRTtRQUMxRSw2R0FBNkc7UUFDN0csMkdBQTJHO1FBQzNHLDhHQUE4RztRQUM5Ryx3R0FBd0c7UUFFeEcsbUNBQW1DO1FBQ25DLElBQUk7UUFDSix3R0FBd0c7UUFDeEcsc0dBQXNHO1FBQ3RHLHNEQUFzRDtRQUV0RCw0R0FBNEc7UUFDNUcsMEdBQTBHO1FBQzFHLDBCQUEwQjtRQUUxQixPQUFPO0lBQ1QsQ0FBQztJQUVTLGtCQUFrQixDQUFDLEtBQVk7UUFDdkMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLGdDQUFnQztRQUNoQyw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVTLHNCQUFzQixDQUFDLFNBQXFCO1FBQ3BELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVTLHVCQUF1QixDQUFDLEtBQW9DO1FBQ3BFLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDcEQseUJBQXlCO1FBQ3pCLDZCQUE2QjtJQUMvQixDQUFDO3dHQWpWVSxtREFBbUQ7NEZBQW5ELG1EQUFtRCwwMEZDeEJoRSx5dkZBb0RBLDZwQkRqQ0ksZUFBZSwrQkFDZiwyREFBMkQscWVBQzNELGdDQUFnQzs7NEZBR3ZCLG1EQUFtRDtrQkFiL0QsU0FBUzsrQkFFRSxrREFBa0QsY0FHaEQsSUFBSSxtQkFDQyx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDO3dCQUNQLGVBQWU7d0JBQ2YsMkRBQTJEO3dCQUMzRCxnQ0FBZ0M7cUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgZWZmZWN0LCBpbnB1dCwgbW9kZWwsIE9uRGVzdHJveSwgb3V0cHV0LCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJRmxhZ01vdXNlLCBMaWJzVWlDb21wb25lbnRzUG9wb3ZlckNvbXBvbmVudCB9IGZyb20gXCJAbGlicy11aS9jb21wb25lbnRzLXBvcG92ZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuaW1wb3J0IHsgZGVmYXVsdExvY2FsZUNvbmZpZywgZ2V0RGF0ZU9wdGlvbnMsIGdldERhdGVSYW5nZURlZmF1bHQgfSBmcm9tIFwiLi4vZGVmaW5lcy9kYXRlLW9wdGlvbnMuZGVmaW5lXCI7XG5pbXBvcnQgeyBJRW1pdERhdGVDYWxlbmRhciwgSUVtaXREYXRlUmFuZ2UsIElFbWl0U2luZ2xlRGF0ZSB9IGZyb20gXCIuLi9pbnRlcmZhY2VzL2NhbGVuZGFyLWVtaXQuaW50ZXJmYWNlXCI7XG5pbXBvcnQgeyBJRGF0ZVJhbmdlIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvY2FsZW5kYXItdmFyaWFibGVzLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgSUNhbGVuZGFyRnVuY3Rpb25Db250cm9sRXZlbnQgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9mdW5jdGlvbi1jb250cm9sLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTG9jYWxpemF0aW9uQ29uZmlnIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvcGlja2VyLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lUGlja2VyQ3VzdG9tUmFuZ2VzQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tIFwiLi9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnbGlic191aS1jb21wb25lbnRzLWRhdGV0aW1lLXBpY2tlci1jdXN0b21fcmFuZ2VzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1yYW5nZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tcmFuZ2VzLmNvbXBvbmVudC5zY3NzJ10sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICAgIExpYnNVaUNvbXBvbmVudHNEYXRldGltZVBpY2tlckN1c3RvbVJhbmdlc0NhbGVuZGFyQ29tcG9uZW50LFxuICAgIExpYnNVaUNvbXBvbmVudHNQb3BvdmVyQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlic1VpQ29tcG9uZW50c0RhdGV0aW1lUGlja2VyQ3VzdG9tUmFuZ2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgLyoqIFBST1BFUlRZICovXG4gIHByb3RlY3RlZCBzaG93Q2FsVGFibGVJblJhbmdlcyA9IHNpZ25hbDxib29sZWFuPihmYWxzZSk7XG4gIHByb3RlY3RlZCBxdWlja1Jhbmdlc0FycmF5ID0gc2lnbmFsPEFycmF5PElEYXRlUmFuZ2U+PihbXSk7XG4gIHByb3RlY3RlZCBzZWxlY3RlZFF1aWNrUmFuZ2UgPSBzaWduYWw8c3RyaW5nPignJyk7IC8vIHF1aWNrIHJhbmdlIMSRw6MgxJHGsOG7o2MgbMawdSB0csaw4bubYyDEkcOzXG4gIHByb3RlY3RlZCBjaG9zZW5RdWlja1JhbmdlID0gc2lnbmFsPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTsgLy8gcXVpY2sgcmFuZ2UgxJFhbmcgxJHGsOG7o2MgY2jhu41uXG5cbiAgcHJpdmF0ZSBjYWxlbmRhclNob3dpbmcgPSBzaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBwcml2YXRlIHRpbWVvdXRzID0gc2lnbmFsPEFycmF5PG51bWJlcj4+KFtdKTtcbiAgcHJpdmF0ZSBjYWxlbmRhckZ1bmN0aW9uQ29udHJvbEV2ZW50ID0gc2lnbmFsPElDYWxlbmRhckZ1bmN0aW9uQ29udHJvbEV2ZW50IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIGNob3NlblNpbmdsZURhdGUgPSBzaWduYWw8SUVtaXRTaW5nbGVEYXRlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIGNob3NlbkRhdGVSYW5nZSA9IHNpZ25hbDxJRW1pdERhdGVSYW5nZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAvKiogSU5QVVQgKi9cbiAgLy8gcmVhZG9ubHkgU2VsZWN0ZWRRdWlja1JhbmdlID0gaW5wdXQ8c3RyaW5nPignJyk7XG4gIHJlYWRvbmx5IHpJbmRleCA9IGlucHV0PG51bWJlciwgbnVtYmVyPigxMjAwLCB7IHRyYW5zZm9ybTogKHZhbHVlKSA9PiB2YWx1ZSA/PyAxMjAwIH0pO1xuICByZWFkb25seSBjbGFzc0luY2x1ZGUgPSBpbnB1dDxzdHJpbmc+KCcnKTtcbiAgcmVhZG9ubHkgZXh0ZW5kUmFuZ2VzID0gaW5wdXQ8QXJyYXk8SURhdGVSYW5nZT4+KFtdKTtcbiAgcmVhZG9ubHkgd2lkdGhCeVBhcmVudCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYXV0b0FwcGx5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IHBvc2l0aW9uUXVpY2tSYW5nZXMgPSBpbnB1dDwnbGVmdCcgfCAncmlnaHQnLCAnbGVmdCcgfCAncmlnaHQnPignbGVmdCcsIHsgdHJhbnNmb3JtOiAodmFsdWUpID0+IHZhbHVlID8/ICdsZWZ0JyB9KTtcbiAgcmVhZG9ubHkgaXNTaW5nbGUgPSBpbnB1dDxib29sZWFuLCBib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4gdmFsdWUgPz8gZmFsc2UgfSk7XG4gIHJlYWRvbmx5IGhhc1RpbWVQaWNrZXIgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgZmxhZ01vdXNlID0gaW5wdXQ8SUZsYWdNb3VzZT4oeyBpc01vdXNlRW50ZXI6IGZhbHNlLCBpc01vdXNlRW50ZXJDb250ZW50OiBmYWxzZSB9KTtcbiAgcmVhZG9ubHkgZGF0ZU9wdGlvbnMgPSBpbnB1dDxMb2NhbGl6YXRpb25Db25maWc+KHsgLi4uZGVmYXVsdExvY2FsZUNvbmZpZygpLCAuLi5nZXREYXRlT3B0aW9ucygpIH0pO1xuICByZWFkb25seSBhbHdheXNTaG93Q2FsZW5kYXJzID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzdGFydERhdGUgPSBtb2RlbDxkYXlqcy5EYXlqcyB8IHVuZGVmaW5lZD4oZGF5anMoKS5zdGFydE9mKCdkYXknKSk7XG4gIHJlYWRvbmx5IGVuZERhdGUgPSBtb2RlbDxkYXlqcy5EYXlqcyB8IHVuZGVmaW5lZD4oZGF5anMoKS5lbmRPZignZGF5JykpO1xuICByZWFkb25seSBzaG93Q3VzdG9tUmFuZ2VMYWJlbCA9IGlucHV0PGJvb2xlYW4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGtlZXBDYWxlbmRhck9wZW5pbmdXaXRoUmFuZ2UgPSBpbnB1dDxib29sZWFuIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IHNpbmdsZURhdGVTZWxlY3RlZCA9IGlucHV0PElFbWl0U2luZ2xlRGF0ZSB8IHVuZGVmaW5lZCwgSUVtaXRTaW5nbGVEYXRlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHtcbiAgICB0cmFuc2Zvcm06ICh2YWx1ZSkgPT4ge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsZXQgZGF0ZSA9IHZhbHVlLmRhdGU7XG5cbiAgICAgIGlmICh0eXBlb2YgZGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZGF0ZSA9IGRheWpzKGRhdGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgZGF0ZVxuICAgICAgfTtcbiAgICB9XG4gIH0pO1xuICByZWFkb25seSBkYXRlUmFuZ2VTZWxlY3RlZCA9IGlucHV0PElFbWl0RGF0ZVJhbmdlIHwgdW5kZWZpbmVkLCBJRW1pdERhdGVSYW5nZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkLCB7XG4gICAgdHJhbnNmb3JtOiAodmFsdWUpID0+IHtcbiAgICAgIGlmICghdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IHN0YXJ0RGF0ZSA9IHZhbHVlLnN0YXJ0RGF0ZTtcbiAgICAgIGxldCBlbmREYXRlID0gdmFsdWUuZW5kRGF0ZTtcblxuICAgICAgaWYgKHR5cGVvZiBzdGFydERhdGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHN0YXJ0RGF0ZSA9IGRheWpzKHN0YXJ0RGF0ZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgZW5kRGF0ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgZW5kRGF0ZSA9IGRheWpzKGVuZERhdGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgc3RhcnREYXRlLFxuICAgICAgICBlbmREYXRlXG4gICAgICB9O1xuICAgIH1cbiAgfSk7XG5cbiAgLyoqIE9VVFBVVCAqL1xuICByZWFkb25seSBvdXRDaGFuZ1N0YWdlRmxhZ01vdXNlID0gb3V0cHV0PElGbGFnTW91c2U+KCk7XG4gIHJlYWRvbmx5IG91dFVwZGF0ZVdpZHRoID0gb3V0cHV0PG51bWJlcj4oKTtcbiAgcmVhZG9ubHkgb3V0Q2FuY2VsID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgb3V0U2VsZWN0U2luZ2xlRGF0ZSA9IG91dHB1dDxJRW1pdFNpbmdsZURhdGU+KCk7XG4gIHJlYWRvbmx5IG91dFNlbGVjdERhdGVSYW5nZSA9IG91dHB1dDxJRW1pdERhdGVSYW5nZT4oKTtcbiAgcmVhZG9ubHkgb3V0Q2xpY2tSYW5nZSA9IG91dHB1dDxJRGF0ZVJhbmdlPigpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdCgoKSA9PiB1bnRyYWNrZWQodGhpcy5vbkFmdGVyVmlld0luaXQuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBvbkFmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKCF0aGlzLnN0YXJ0RGF0ZSgpKSB7XG4gICAgICB0aGlzLnN0YXJ0RGF0ZS5zZXQoZGF5anMoKS5zdGFydE9mKCdkYXknKSk7XG4gICAgfVxuICAgIGlmICghdGhpcy5lbmREYXRlKCkpIHtcbiAgICAgIHRoaXMuZW5kRGF0ZS5zZXQoZGF5anMoKS5lbmRPZignZGF5JykpO1xuICAgIH1cbiAgICBjb25zdCBkYXRlUmFuZ2VTZWxlY3RlZCA9IHRoaXMuZGF0ZVJhbmdlU2VsZWN0ZWQoKTtcbiAgICBjb25zdCBzaW5nbGVEYXRlU2VsZWN0ZWQgPSB0aGlzLnNpbmdsZURhdGVTZWxlY3RlZCgpO1xuICAgIGNvbnN0IGN1c3RvbVJhbmdlID0ge1xuICAgICAgaWQ6IHRoaXMuZGF0ZU9wdGlvbnMoKT8uY3VzdG9tUmFuZ2VMYWJlbCB8fCAnJyxcbiAgICAgIGxhYmVsOiB0aGlzLmRhdGVPcHRpb25zKCk/LmN1c3RvbVJhbmdlTGFiZWwgfHwgJydcbiAgICB9O1xuXG4gICAgaWYgKHRoaXMuaXNTaW5nbGUoKSkge1xuICAgICAgaWYgKHRoaXMuaGFzVGltZVBpY2tlcigpKSB7XG4gICAgICAgIGNvbnN0IG5vdyA9IGRheWpzKCk7XG5cbiAgICAgICAgdGhpcy5zdGFydERhdGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICBjdXJyZW50LnNldCgnaG91cicsIDEwKS5zZXQoJ21pbnV0ZScsIDMwKTtcbiAgICAgICAgICAgIC8vIGN1cnJlbnQuaG91cihub3cuaG91cigpKS5taW51dGUobm93Lm1pbnV0ZSgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zb2xlLmxvZygnY3VycmVudCcsIGN1cnJlbnQsIG5vdywgbm93LmhvdXIoKSwgbm93Lm1pbnV0ZSgpKTtcblxuXG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmVuZERhdGUudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgICBjdXJyZW50LmhvdXIobm93LmhvdXIoKSkubWludXRlKG5vdy5taW51dGUoKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zb2xlLmxvZyh0aGlzLnN0YXJ0RGF0ZSgpLCB0aGlzLmVuZERhdGUoKSk7XG4gICAgICB9XG4gICAgICBpZiAoc2luZ2xlRGF0ZVNlbGVjdGVkKSB7XG4gICAgICAgIHRoaXMuc3RhcnREYXRlLnNldChzaW5nbGVEYXRlU2VsZWN0ZWQuZGF0ZSBhcyBkYXlqcy5EYXlqcyk7XG4gICAgICAgIHRoaXMuZW5kRGF0ZS5zZXQoc2luZ2xlRGF0ZVNlbGVjdGVkLmRhdGUgYXMgZGF5anMuRGF5anMpO1xuICAgICAgfVxuICAgICAgdGhpcy5yZW5kZXJSYW5nZXMoKTtcblxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGRhdGVSYW5nZVNlbGVjdGVkKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkUXVpY2tSYW5nZS5zZXQoZGF0ZVJhbmdlU2VsZWN0ZWQucXVpY2tSYW5nZUlkID8gZGF0ZVJhbmdlU2VsZWN0ZWQucXVpY2tSYW5nZUlkIDogY3VzdG9tUmFuZ2UuaWQpO1xuICAgICAgdGhpcy5jaG9zZW5RdWlja1JhbmdlLnNldChkYXRlUmFuZ2VTZWxlY3RlZC5xdWlja1JhbmdlSWQgPz8gY3VzdG9tUmFuZ2UuaWQpO1xuXG4gICAgICB0aGlzLnN0YXJ0RGF0ZS5zZXQoZGF0ZVJhbmdlU2VsZWN0ZWQuc3RhcnREYXRlIGFzIGRheWpzLkRheWpzKTtcbiAgICAgIHRoaXMuZW5kRGF0ZS5zZXQoZGF0ZVJhbmdlU2VsZWN0ZWQuZW5kRGF0ZSBhcyBkYXlqcy5EYXlqcyk7XG4gICAgfVxuICAgIGlmICh0aGlzLmhhc1RpbWVQaWNrZXIoKSkge1xuICAgICAgdGhpcy5zZWxlY3RlZFF1aWNrUmFuZ2Uuc2V0KGN1c3RvbVJhbmdlLmlkKTtcbiAgICAgIHRoaXMuY2hvc2VuUXVpY2tSYW5nZS5zZXQoY3VzdG9tUmFuZ2UuaWQpO1xuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3RlZFF1aWNrUmFuZ2UoKSA9PT0gdGhpcy5kYXRlT3B0aW9ucygpPy5jdXN0b21SYW5nZUxhYmVsKSB7XG4gICAgICB0aGlzLnNob3dDYWxUYWJsZUluUmFuZ2VzLnNldCh0cnVlKTtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJSYW5nZXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlV2lkdGgoKSB7XG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLm91dFVwZGF0ZVdpZHRoLmVtaXQoMSk7XG4gICAgfSkgYXMgdW5rbm93biBhcyBudW1iZXI7XG5cbiAgICB0aGlzLnRpbWVvdXRzLnVwZGF0ZShpZHMgPT4gWy4uLmlkcywgdGltZW91dElkXSk7XG4gIH1cblxuICBwcml2YXRlIHJlbmRlclJhbmdlcygpIHtcbiAgICBpZiAodGhpcy5pc1NpbmdsZSgpKSB7XG4gICAgICB0aGlzLnNob3dDYWxUYWJsZUluUmFuZ2VzLnNldCh0cnVlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCByYW5nZXNEZWZhdWx0ID0gZ2V0RGF0ZVJhbmdlRGVmYXVsdCgpO1xuICAgIGNvbnN0IHJhbmdlcyA9IHRoaXMuZGF0ZU9wdGlvbnMoKT8ucmFuZ2VzO1xuXG4gICAgdGhpcy5xdWlja1Jhbmdlc0FycmF5LnNldChbXSk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiByYW5nZXMpIHtcbiAgICAgIGNvbnN0IHJhbmdlVmFsdWUgPSByYW5nZXNEZWZhdWx0W2tleV07XG4gICAgICBjb25zdCBzdGFydCA9IGRheWpzKHJhbmdlVmFsdWVbMF0pO1xuICAgICAgY29uc3QgZW5kID0gZGF5anMocmFuZ2VWYWx1ZVsxXSk7XG5cbiAgICAgIHRoaXMucXVpY2tSYW5nZXNBcnJheS51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICAgIGN1cnJlbnQucHVzaCh7XG4gICAgICAgICAgaWQ6IGtleSxcbiAgICAgICAgICBsYWJlbDogcmFuZ2VzW2tleV0sXG4gICAgICAgICAgdmFsdWVzOiBbc3RhcnQsIGVuZF1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2hvd0N1c3RvbVJhbmdlTGFiZWwoKSAmJiB0aGlzLmRhdGVPcHRpb25zKCk/LmN1c3RvbVJhbmdlTGFiZWwpIHtcbiAgICAgIHRoaXMucXVpY2tSYW5nZXNBcnJheS51cGRhdGUoY3VycmVudCA9PiB7XG4gICAgICAgIGN1cnJlbnQucHVzaCh7XG4gICAgICAgICAgaWQ6IHRoaXMuZGF0ZU9wdGlvbnMoKT8uY3VzdG9tUmFuZ2VMYWJlbCB8fCAnJyxcbiAgICAgICAgICBsYWJlbDogdGhpcy5kYXRlT3B0aW9ucygpPy5jdXN0b21SYW5nZUxhYmVsIHx8ICcnXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBjdXJyZW50O1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmV4dGVuZFJhbmdlcygpKSB7XG4gICAgICB0aGlzLnF1aWNrUmFuZ2VzQXJyYXkudXBkYXRlKGN1cnJlbnQgPT4ge1xuICAgICAgICBjdXJyZW50LnVuc2hpZnQoLi4udGhpcy5leHRlbmRSYW5nZXMoKSk7XG5cbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9KTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLnF1aWNrUmFuZ2VzQXJyYXkoKS5sZW5ndGgpIHtcbiAgICAgIHRoaXMuc2hvd0NhbFRhYmxlSW5SYW5nZXMuc2V0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyQ2FuY2VsKCkge1xuICAgIHRoaXMub3V0Q2FuY2VsLmVtaXQoJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJQaWNrZXJEYXRlKGV2ZW50OiBJRW1pdERhdGVDYWxlbmRhcikge1xuICAgIGNvbnNvbGUubG9nKCdoYW5kbGVyUGlja2VyRGF0ZScsIGV2ZW50KTtcblxuICAgIHRoaXMuY2hvc2VuU2luZ2xlRGF0ZS5zZXQoe1xuICAgICAgZGlzcGxheUxhYmVsOiBldmVudC5kaXNwbGF5TGFiZWwsXG4gICAgICBkYXRlOiBldmVudC5zdGFydERhdGUsXG4gICAgICB2YWx1ZXM6IGV2ZW50LmRldGFpbERhdGVQaWNrZXIuc3RhcnQoKVxuICAgIH0pO1xuICAgIC8vIGlmICghdGhpcy5pc1NpbmdsZSgpICYmIGV2ZW50LnN0YXJ0RGF0ZSAmJiAhZXZlbnQuZW5kRGF0ZSkge1xuICAgIC8vICAgY29uc3QgZW5kVGltZSA9IGV2ZW50LmRldGFpbERhdGVQaWNrZXIuZW5kKCk7XG4gICAgLy8gICBldmVudC5lbmREYXRlID0gZXZlbnQuc3RhcnREYXRlLmNsb25lKCkuaG91cihlbmRUaW1lLmhvdXIgYXMgbnVtYmVyKS5taW51dGUoZW5kVGltZS5taW51dGUgYXMgbnVtYmVyKS5zZWNvbmQoNTkpO1xuICAgIC8vIH1cbiAgICB0aGlzLmNob3NlbkRhdGVSYW5nZS5zZXQoe1xuICAgICAgcXVpY2tSYW5nZUlkOiB0aGlzLmNob3NlblF1aWNrUmFuZ2UoKSxcbiAgICAgIC4uLmV2ZW50XG4gICAgfSk7XG4gICAgY29uc3QgY2hvc2VuU2luZ2xlRGF0ZSA9IHRoaXMuY2hvc2VuU2luZ2xlRGF0ZSgpO1xuICAgIGNvbnN0IGNob3NlbkRhdGVSYW5nZSA9IHRoaXMuY2hvc2VuRGF0ZVJhbmdlKCk7XG4gICAgaWYgKHRoaXMuaXNTaW5nbGUoKSAmJiBjaG9zZW5TaW5nbGVEYXRlKSB7XG4gICAgICB0aGlzLm91dFNlbGVjdFNpbmdsZURhdGUuZW1pdChjaG9zZW5TaW5nbGVEYXRlKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoIWNob3NlbkRhdGVSYW5nZSB8fCAoIWNob3NlbkRhdGVSYW5nZS5zdGFydERhdGUgJiYgIWNob3NlbkRhdGVSYW5nZS5lbmREYXRlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm91dFNlbGVjdERhdGVSYW5nZS5lbWl0KGNob3NlbkRhdGVSYW5nZSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlckNsaWNrUmFuZ2UoZTogRXZlbnQsIHJhbmdlOiBJRGF0ZVJhbmdlKSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLnVwZGF0ZVdpZHRoKCk7XG4gICAgdGhpcy5jaG9zZW5RdWlja1JhbmdlLnNldChyYW5nZS5pZCk7XG5cbiAgICBpZiAocmFuZ2UuaWQgPT09IHRoaXMuZGF0ZU9wdGlvbnMoKT8uY3VzdG9tUmFuZ2VMYWJlbCkge1xuICAgICAgdGhpcy5jYWxlbmRhclNob3dpbmcuc2V0KHRydWUpO1xuICAgICAgdGhpcy5zaG93Q2FsVGFibGVJblJhbmdlcy5zZXQodHJ1ZSk7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHRoaXMuZXh0ZW5kUmFuZ2VzKCkpIHtcbiAgICAgIGNvbnN0IGZpbmRFeHRlcm5hbFJhbmdlID0gdGhpcy5leHRlbmRSYW5nZXMoKS5maW5kKGl0ZW0gPT4gaXRlbS5sYWJlbCA9PT0gcmFuZ2UuaWQpO1xuXG4gICAgICBpZiAoZmluZEV4dGVybmFsUmFuZ2UgJiYgcmFuZ2UuaWQgPT09IGZpbmRFeHRlcm5hbFJhbmdlLmxhYmVsKSB7XG4gICAgICAgIGlmIChmaW5kRXh0ZXJuYWxSYW5nZS52YWx1ZXMpIHtcbiAgICAgICAgICB0aGlzLm91dFNlbGVjdERhdGVSYW5nZS5lbWl0KHsgcXVpY2tSYW5nZUlkOiBmaW5kRXh0ZXJuYWxSYW5nZS5pZCwgZGlzcGxheUxhYmVsOiBmaW5kRXh0ZXJuYWxSYW5nZS5sYWJlbCwgc3RhcnREYXRlOiBmaW5kRXh0ZXJuYWxSYW5nZS52YWx1ZXNbMF0sIGVuZERhdGU6IGZpbmRFeHRlcm5hbFJhbmdlLnZhbHVlc1sxXSB9KTtcblxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm91dFNlbGVjdERhdGVSYW5nZS5lbWl0KHsgcXVpY2tSYW5nZUlkOiBmaW5kRXh0ZXJuYWxSYW5nZS5pZCwgZGlzcGxheUxhYmVsOiBmaW5kRXh0ZXJuYWxSYW5nZS5sYWJlbCwgc3RhcnREYXRlOiB1bmRlZmluZWQsIGVuZERhdGU6IHVuZGVmaW5lZCB9KTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGRhdGVzID0gcmFuZ2UudmFsdWVzID8/IFtdO1xuXG4gICAgLy8gdGhpcy5zdGFydERhdGUuc2V0KGRhdGVzWzBdLmNsb25lKCkuaG91cigwKS5taW51dGUoMCkuc2Vjb25kKDApKTtcbiAgICAvLyB0aGlzLmVuZERhdGUuc2V0KGRhdGVzWzFdLmNsb25lKCkuaG91cigyMykubWludXRlKDU5KS5zZWNvbmQoNTkpKTtcbiAgICAvLyB0aGlzLnRpbWVWYWx1ZSA9IHsgaG91cjogMCwgdG9Ib3VyOiAwLCBtaW51dGU6IDIzLCB0b01pbnV0ZTogNTkgfTtcbiAgICAvLyB0aGlzLnRpbWVwaWNrZXJWYXJpYWJsZXMubGVmdC5zZWxlY3RlZEhvdXIgPSAwO1xuICAgIC8vIHRoaXMudGltZXBpY2tlclZhcmlhYmxlcy5sZWZ0LnNlbGVjdGVkTWludXRlID0gMDtcbiAgICAvLyB0aGlzLnRpbWVwaWNrZXJWYXJpYWJsZXMucmlnaHQuc2VsZWN0ZWRIb3VyID0gMjM7XG4gICAgLy8gdGhpcy50aW1lcGlja2VyVmFyaWFibGVzLnJpZ2h0LnNlbGVjdGVkTWludXRlID0gNTk7XG5cbiAgICAvLyB0aGlzLnNob3dSYW5nZUxhYmVsT25JbnB1dCAmJiBsYWJlbCAhPT0gdGhpcy5sb2NhbGVEYXkuY3VzdG9tUmFuZ2VMYWJlbCA/IHRoaXMuY2hvc2VuTGFiZWwgPSBsYWJlbCA6IHRoaXMuY2FsY3VsYXRlQ2hvc2VuTGFiZWwoKTtcblxuICAgIC8vIC8vIHRoaXMuYXV0b0FwcGx5LnNldCh0cnVlKTtcbiAgICAvLyBpZiAoIXRoaXMuaGFzVGltZVBpY2tlcigpKSB7XG4gICAgLy8gICBpZih0aGlzLnN0YXJ0RGF0ZSgpKSB7XG4gICAgLy8gICAgIHRoaXMuc3RhcnREYXRlLnNldCh0aGlzLnN0YXJ0RGF0ZSgpPy5zdGFydE9mKCdkYXknKSk7XG4gICAgLy8gICB9XG4gICAgLy8gICBpZih0aGlzLmVuZERhdGUoKSkge1xuICAgIC8vICAgICB0aGlzLmVuZERhdGUuc2V0KHRoaXMuZW5kRGF0ZSgpPy5lbmRPZignZGF5JykpO1xuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgICAvLyBpZiAoIXRoaXMuYWx3YXlzU2hvd0NhbGVuZGFycygpKSB7XG4gICAgLy8gICB0aGlzLmNhbGVuZGFyU2hvd2luZy5zZXQoZmFsc2UpO1xuICAgIC8vIH1cbiAgICAvLyB0aGlzLm91dENsaWNrUmFuZ2UuZW1pdChyYW5nZSk7XG5cbiAgICBpZiAoIXRoaXMua2VlcENhbGVuZGFyT3BlbmluZ1dpdGhSYW5nZSgpIHx8ICF0aGlzLmFsd2F5c1Nob3dDYWxlbmRhcnMoKSkge1xuICAgICAgdGhpcy5vdXRTZWxlY3REYXRlUmFuZ2UuZW1pdCh7IHF1aWNrUmFuZ2VJZDogcmFuZ2UuaWQsIGRpc3BsYXlMYWJlbDogcmFuZ2UubGFiZWwsIHN0YXJ0RGF0ZTogcmFuZ2UudmFsdWVzPy5bMF0sIGVuZERhdGU6IHJhbmdlLnZhbHVlcz8uWzFdIH0pO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGlmICh0aGlzLnRpbWVQaWNrZXIpIHtcbiAgICAvLyAgIHRoaXMucmVuZGVyVGltZVBpY2tlcihTaWRlRW51bS5sZWZ0KTtcbiAgICAvLyAgIHRoaXMucmVuZGVyVGltZVBpY2tlcihTaWRlRW51bS5yaWdodCk7XG4gICAgLy8gfVxuICAgIC8vIGlmICh0aGlzLmdldE1heERhdGUoKSAmJiB0aGlzLmdldE1heERhdGUoKS5pc1NhbWUoZGF0ZXNbMF0sICdtb250aCcpKSB7XG4gICAgLy8gICB0aGlzLnJpZ2h0Q2FsZW5kYXIubW9udGggPSB0aGlzLnJpZ2h0Q2FsZW5kYXIubW9udGggJiYgdGhpcy5yaWdodENhbGVuZGFyLm1vbnRoLm1vbnRoKGRhdGVzWzBdLm1vbnRoKCkpO1xuICAgIC8vICAgdGhpcy5yaWdodENhbGVuZGFyLm1vbnRoID0gdGhpcy5yaWdodENhbGVuZGFyLm1vbnRoICYmIHRoaXMucmlnaHRDYWxlbmRhci5tb250aC55ZWFyKGRhdGVzWzBdLnllYXIoKSk7XG4gICAgLy8gICB0aGlzLmxlZnRDYWxlbmRhci5tb250aCA9IHRoaXMubGVmdENhbGVuZGFyLm1vbnRoICYmIHRoaXMubGVmdENhbGVuZGFyLm1vbnRoLm1vbnRoKGRhdGVzWzBdLm1vbnRoKCkgLSAxKTtcbiAgICAvLyAgIHRoaXMubGVmdENhbGVuZGFyLm1vbnRoID0gdGhpcy5sZWZ0Q2FsZW5kYXIubW9udGggJiYgdGhpcy5sZWZ0Q2FsZW5kYXIubW9udGgueWVhcihkYXRlc1sxXS55ZWFyKCkpO1xuXG4gICAgLy8gICByZXR1cm4gdGhpcy51cGRhdGVDYWxlbmRhcnMoKTtcbiAgICAvLyB9XG4gICAgLy8gdGhpcy5sZWZ0Q2FsZW5kYXIubW9udGggPSB0aGlzLmxlZnRDYWxlbmRhci5tb250aCAmJiB0aGlzLmxlZnRDYWxlbmRhci5tb250aC5tb250aChkYXRlc1swXS5tb250aCgpKTtcbiAgICAvLyB0aGlzLmxlZnRDYWxlbmRhci5tb250aCA9IHRoaXMubGVmdENhbGVuZGFyLm1vbnRoICYmIHRoaXMubGVmdENhbGVuZGFyLm1vbnRoLnllYXIoZGF0ZXNbMF0ueWVhcigpKTtcbiAgICAvLyBjb25zdCBuZXh0TW9udGggPSBkYXRlc1swXS5jbG9uZSgpLmFkZCgxLCAnbW9udGgnKTtcblxuICAgIC8vIHRoaXMucmlnaHRDYWxlbmRhci5tb250aCA9IHRoaXMucmlnaHRDYWxlbmRhci5tb250aCAmJiB0aGlzLnJpZ2h0Q2FsZW5kYXIubW9udGgubW9udGgobmV4dE1vbnRoLm1vbnRoKCkpO1xuICAgIC8vIHRoaXMucmlnaHRDYWxlbmRhci5tb250aCA9IHRoaXMucmlnaHRDYWxlbmRhci5tb250aCAmJiB0aGlzLnJpZ2h0Q2FsZW5kYXIubW9udGgueWVhcihuZXh0TW9udGgueWVhcigpKTtcbiAgICAvLyB0aGlzLnVwZGF0ZUNhbGVuZGFycygpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJDbGlja0NhbmNlbChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAvLyB0aGlzLnN0YXJ0RGF0ZS5zZXQoZGF5anMoMCkpO1xuICAgIC8vIHRoaXMuZW5kRGF0ZS5zZXQoZGF5anMoMCkpO1xuICAgIHRoaXMub3V0Q2FuY2VsLmVtaXQoJycpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJDaGFuZ2VGbGFnTW91c2UoZmxhZ01vdXNlOiBJRmxhZ01vdXNlKSB7XG4gICAgdGhpcy5vdXRDaGFuZ1N0YWdlRmxhZ01vdXNlLmVtaXQoZmxhZ01vdXNlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVyRnVuY3Rpb25zQ29udHJvbChldmVudDogSUNhbGVuZGFyRnVuY3Rpb25Db250cm9sRXZlbnQpIHtcbiAgICB0aGlzLmNhbGVuZGFyRnVuY3Rpb25Db250cm9sRXZlbnQuc2V0KGV2ZW50KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudGltZW91dHMoKS5mb3JFYWNoKGl0ZW0gPT4gY2xlYXJUaW1lb3V0KGl0ZW0pKTtcbiAgICAvLyB0aGlzLm9uRGVzdHJveS5uZXh0KCk7XG4gICAgLy8gdGhpcy5vbkRlc3Ryb3kuY29tcGxldGUoKTtcbiAgfVxufVxuIiwiPGRpdiAjcGlja2VyQ29udGFpbmVyXG4gIGNsYXNzPVwibGlicy11aS1jb21wb25lbnQtY3VzdG9tX3JhbmdlcyBmbGV4IHJvdW5kZWQtWzRweF0gYmctWyNmZmZmZmZdIHotWzEwMDBdIG92ZXJmbG93LVtoaWRkZW5dIHJlbGF0aXZlIGlubGluZVwiXG4gIFtjbGFzcy5mbGV4LXJvdy1yZXZlcnNlXT1cInBvc2l0aW9uUXVpY2tSYW5nZXMoKSA9PT0gJ3JpZ2h0J1wiPlxuICBAaWYgKCFpc1NpbmdsZSgpKSB7XG4gICAgPGRpdiBjbGFzcz1cImxpYnMtdWktY29tcG9uZW50LWN1c3RvbV9yYW5nZXMtcmFuZ2VzIHt7IGNsYXNzSW5jbHVkZSgpIHx8ICcnIH19XCJcbiAgICAgIFtjbGFzcy5ib3JkZXItbC1bI2U2ZThlZF1dPVwicG9zaXRpb25RdWlja1JhbmdlcygpID09PSAncmlnaHQnICYmIHNob3dDYWxUYWJsZUluUmFuZ2VzKClcIlxuICAgICAgW2NsYXNzLmJvcmRlci1sXT1cInBvc2l0aW9uUXVpY2tSYW5nZXMoKSA9PT0gJ3JpZ2h0JyAmJiBzaG93Q2FsVGFibGVJblJhbmdlcygpXCJcbiAgICAgIFtjbGFzcy5ib3JkZXItci1bI2U2ZThlZF1dPVwicG9zaXRpb25RdWlja1JhbmdlcygpID09PSAnbGVmdCcgJiYgc2hvd0NhbFRhYmxlSW5SYW5nZXMoKVwiXG4gICAgICBbY2xhc3MuYm9yZGVyLXJdPVwicG9zaXRpb25RdWlja1JhbmdlcygpID09PSAnbGVmdCcgJiYgc2hvd0NhbFRhYmxlSW5SYW5nZXMoKVwiXG4gICAgICBbY2xhc3MuIW1pbi1oLVsyNjBweF1dPVwic2hvd0NhbFRhYmxlSW5SYW5nZXMoKSAmJiAhaXNTaW5nbGUoKVwiXG4gICAgICBbY2xhc3MuIW1pbi1oLVszMDBweF1dPVwiaGFzVGltZVBpY2tlcigpICYmICFpc1NpbmdsZSgpXCJcbiAgICAgIFtjbGFzcy4hdy1bMTYwcHhdXT1cIiF3aWR0aEJ5UGFyZW50KClcIlxuICAgICAgW2NsYXNzLiF3LWZ1bGxdPVwid2lkdGhCeVBhcmVudCgpXCI+XG4gICAgICBAZm9yIChyYW5nZSBvZiBxdWlja1Jhbmdlc0FycmF5KCk7IHRyYWNrIHJhbmdlLmlkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBob3ZlcjpiZy1bdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0zKV0gY3Vyc29yLXBvaW50ZXIgcHgtWzE2cHhdIHB5LVs4cHhdXCJcbiAgICAgICAgICBbY2xhc3MubGlicy11aS1zZWxlY3RlZC1yYW5nZV09XCJyYW5nZS5pZCA9PT0gY2hvc2VuUXVpY2tSYW5nZSgpICYmIHNob3dDdXN0b21SYW5nZUxhYmVsKClcIlxuICAgICAgICAgIFtjbGFzcy5iZy1bdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0zKV1dPVwicmFuZ2UuaWQgPT09IGNob3NlblF1aWNrUmFuZ2UoKSB8fCByYW5nZS5pZCA9PT0gc2VsZWN0ZWRRdWlja1JhbmdlKClcIlxuICAgICAgICAgIChjbGljayk9XCJoYW5kbGVyQ2xpY2tSYW5nZSgkZXZlbnQsIHJhbmdlKVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsaWJzLXVpLWZvbnQtaDVyIGZsZXggdGV4dC1bIzMzMzMzM10gbWluLXctMCB3LWZ1bGxcIj5cbiAgICAgICAgICAgIDxkaXYgTGlic1VpQ29tcG9uZW50c1BvcG92ZXJEaXJlY3RpdmVcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBbY29uZmlnXT1cInttYXhXaWR0aDoxNjAsZGlyZWN0aW9uOid0b3AnLHpJbmRleDooekluZGV4KCkgfHwxMDAwKSArIDF9XCJcbiAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJyYW5nZS5sYWJlbFwiXG4gICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVyQ2xpY2tSYW5nZSgkZXZlbnQsIHJhbmdlKVwiPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGkgY2xhc3M9XCJ0ZXh0LVsxMnB4XSBtbC1bMTZweF1cIlxuICAgICAgICAgICAgW2NsYXNzLmxpYnMtdWktaWNvbi1jaGVja109XCJyYW5nZS5pZCA9PT0gc2VsZWN0ZWRRdWlja1JhbmdlKClcIlxuICAgICAgICAgICAgW2NsYXNzLnRleHQtW3ZhcigtLWxpYnMtdWktY29sb3ItZGVmYXVsdCldXT1cInJhbmdlLmlkID09PSBzZWxlY3RlZFF1aWNrUmFuZ2UoKVwiPjwvaT5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbiAgQGlmIChzaG93Q2FsVGFibGVJblJhbmdlcygpKSB7XG4gICAgPGRpdiBjbGFzcz1cIm0tWzE2cHhdIHctZnVsbFwiPlxuICAgICAgPGxpYnNfdWktY29tcG9uZW50cy1kYXRldGltZS1waWNrZXItY3VzdG9tX3Jhbmdlcy1jYWxlbmRhciBbaXNTaW5nbGVdPVwiaXNTaW5nbGUoKVwiXG4gICAgICAgIFthdXRvQXBwbHldPVwiYXV0b0FwcGx5KClcIlxuICAgICAgICBbekluZGV4XT1cInpJbmRleCgpXCJcbiAgICAgICAgW2ZsYWdNb3VzZV09XCJmbGFnTW91c2UoKVwiXG4gICAgICAgIFtkYXRlT3B0aW9uc109XCJkYXRlT3B0aW9ucygpXCJcbiAgICAgICAgW2hhc1RpbWVQaWNrZXJdPVwiaGFzVGltZVBpY2tlcigpXCJcbiAgICAgICAgW3F1aWNrUmFuZ2VzQXJyYXldPVwicXVpY2tSYW5nZXNBcnJheSgpXCJcbiAgICAgICAgW3N0YXJ0RGF0ZV09XCJzdGFydERhdGUoKVwiXG4gICAgICAgIFtlbmREYXRlXT1cImVuZERhdGUoKVwiXG4gICAgICAgIFtjbGFzc0luY2x1ZGVdPVwiJ3ctZnVsbCdcIlxuICAgICAgICAob3V0Q2FuY2VsKT1cImhhbmRsZXJDYW5jZWwoKVwiXG4gICAgICAgIChvdXRQaWNrZXJEYXRlKT1cImhhbmRsZXJQaWNrZXJEYXRlKCRldmVudClcIlxuICAgICAgICAob3V0RnVuY3Rpb25zQ29udHJvbCk9XCJoYW5kbGVyRnVuY3Rpb25zQ29udHJvbCgkZXZlbnQpXCJcbiAgICAgICAgKG91dENoYW5nU3RhZ2VGbGFnTW91c2UpPVwiaGFuZGxlckNoYW5nZUZsYWdNb3VzZSgkZXZlbnQpXCIgLz5cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,135 @@
1
+ import { signal } from "@angular/core";
2
+ import { UtilsHttpParamsRequestInstance, UtilsCache, UtilsLanguageConstants } from "@libs-ui/utils";
3
+ import { returnDetailObject, returnListObject } from "@libs-ui/services-http-request";
4
+ const getMonthsDefault = () => {
5
+ return [
6
+ {
7
+ id: 1,
8
+ label: 'i18n_january',
9
+ maxDays: 31
10
+ },
11
+ {
12
+ id: 2,
13
+ label: 'i18n_february',
14
+ maxDays: 29
15
+ },
16
+ {
17
+ id: 3,
18
+ label: 'i18n_march',
19
+ maxDays: 31
20
+ },
21
+ {
22
+ id: 4,
23
+ label: 'i18n_april',
24
+ maxDays: 30
25
+ },
26
+ {
27
+ id: 5,
28
+ label: 'i18n_may',
29
+ maxDays: 31
30
+ },
31
+ {
32
+ id: 6,
33
+ label: 'i18n_june',
34
+ maxDays: 30
35
+ },
36
+ {
37
+ id: 7,
38
+ label: 'i18n_july',
39
+ maxDays: 31
40
+ },
41
+ {
42
+ id: 8,
43
+ label: 'i18n_august',
44
+ maxDays: 31
45
+ },
46
+ {
47
+ id: 9,
48
+ label: 'i18n_september',
49
+ maxDays: 30
50
+ },
51
+ {
52
+ id: 10,
53
+ label: 'i18n_october',
54
+ maxDays: 31
55
+ },
56
+ {
57
+ id: 11,
58
+ label: 'i18n_november',
59
+ maxDays: 30
60
+ },
61
+ {
62
+ id: 12,
63
+ label: 'i18n_december',
64
+ maxDays: 31
65
+ }
66
+ ];
67
+ };
68
+ export const getMonthsListConfig = (translate) => {
69
+ return {
70
+ type: 'text',
71
+ httpRequestData: signal({
72
+ serviceOther: returnListObject(getMonthsDefault()),
73
+ functionName: 'list',
74
+ argumentsValue: []
75
+ }),
76
+ configTemplateText: signal({
77
+ fieldKey: 'id',
78
+ autoScrollToItemSelected: true,
79
+ getValue: (item) => {
80
+ const label = translate.instant(item.label || ' ', { year: '&#32;' });
81
+ return label.substring(0, UtilsCache.getLang() === UtilsLanguageConstants.VI ? label.length : 3);
82
+ },
83
+ getClassIncludePopover: () => 'libs-ui-font-h5r'
84
+ })
85
+ };
86
+ };
87
+ export const getMonthsDetailById = () => {
88
+ return {
89
+ serviceOther: returnDetailObject(UtilsHttpParamsRequestInstance(), getMonthsDefault()),
90
+ functionName: 'detailByData',
91
+ argumentsValue: [],
92
+ guideAutoUpdateArgumentsValue: {
93
+ paging: {},
94
+ detailById: {
95
+ fieldUpdate: '[0]',
96
+ fieldGetValue: '',
97
+ subFieldUpdate: 'keys'
98
+ }
99
+ }
100
+ };
101
+ };
102
+ export const getYearsListConfig = (listOfYears = []) => {
103
+ return {
104
+ type: 'text',
105
+ httpRequestData: signal({
106
+ serviceOther: returnListObject(listOfYears),
107
+ functionName: 'list',
108
+ argumentsValue: []
109
+ }),
110
+ configTemplateText: signal({
111
+ fieldKey: 'id',
112
+ autoScrollToItemSelected: true,
113
+ getValue: (item) => {
114
+ return item.label;
115
+ },
116
+ getClassIncludeTooltip: () => 'libs-ui-font-h5r'
117
+ })
118
+ };
119
+ };
120
+ export const getYearsDetailById = (listOfYears = []) => {
121
+ return {
122
+ serviceOther: returnDetailObject(UtilsHttpParamsRequestInstance(), listOfYears),
123
+ functionName: 'detailByData',
124
+ argumentsValue: [],
125
+ guideAutoUpdateArgumentsValue: {
126
+ paging: {},
127
+ detailById: {
128
+ fieldUpdate: '[0]',
129
+ fieldGetValue: '',
130
+ subFieldUpdate: 'keys'
131
+ }
132
+ }
133
+ };
134
+ };
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuZGVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2RhdGV0aW1lL3BpY2tlci9zcmMvZGVmaW5lcy9jYWxlbmRhci5kZWZpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEcsT0FBTyxFQUFzQixrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTFHLE1BQU0sZ0JBQWdCLEdBQUcsR0FBOEIsRUFBRTtJQUN2RCxPQUFPO1FBQ0w7WUFDRSxFQUFFLEVBQUUsQ0FBQztZQUNMLEtBQUssRUFBRSxjQUFjO1lBQ3JCLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRDtZQUNFLEVBQUUsRUFBRSxDQUFDO1lBQ0wsS0FBSyxFQUFFLGVBQWU7WUFDdEIsT0FBTyxFQUFFLEVBQUU7U0FDWjtRQUNEO1lBQ0UsRUFBRSxFQUFFLENBQUM7WUFDTCxLQUFLLEVBQUUsWUFBWTtZQUNuQixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsQ0FBQztZQUNMLEtBQUssRUFBRSxZQUFZO1lBQ25CLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRDtZQUNFLEVBQUUsRUFBRSxDQUFDO1lBQ0wsS0FBSyxFQUFFLFVBQVU7WUFDakIsT0FBTyxFQUFFLEVBQUU7U0FDWjtRQUNEO1lBQ0UsRUFBRSxFQUFFLENBQUM7WUFDTCxLQUFLLEVBQUUsV0FBVztZQUNsQixPQUFPLEVBQUUsRUFBRTtTQUNaO1FBQ0Q7WUFDRSxFQUFFLEVBQUUsQ0FBQztZQUNMLEtBQUssRUFBRSxXQUFXO1lBQ2xCLE9BQU8sRUFBRSxFQUFFO1NBQ1o7UUFDRDtZQUNFLEVB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QyxjQUFvRCxFQUFFLEVBQXNCLEVBQUU7SUFDL0csT0FBTztRQUNMLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyw4QkFBOEIsRUFBRSxFQUFFLFdBQVcsQ0FBQztRQUMvRSxZQUFZLEVBQUUsY0FBYztRQUM1QixjQUFjLEVBQUUsRUFBRTtRQUNsQiw2QkFBNkIsRUFBRTtZQUM3QixNQUFNLEVBQUUsRUFBRTtZQUNWLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsS0FBSztnQkFDbEIsYUFBYSxFQUFFLEVBQUU7Z0JBQ2pCLGNBQWMsRUFBRSxNQUFNO2FBQ3ZCO1NBQ0Y7S0FDRixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUxpc3RDb25maWdJdGVtIH0gZnJvbSBcIkBsaWJzLXVpL2NvbXBvbmVudHMtbGlzdFwiO1xuaW1wb3J0IHsgSUNhbGVuZGFyTW9udGhJdGVtIH0gZnJvbSBcIi4uL2ludGVyZmFjZXMvY2FsZW5kYXItdmFyaWFibGVzLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFV0aWxzSHR0cFBhcmFtc1JlcXVlc3RJbnN0YW5jZSwgVXRpbHNDYWNoZSwgVXRpbHNMYW5ndWFnZUNvbnN0YW50cyB9IGZyb20gXCJAbGlicy11aS91dGlsc1wiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBJSHR0cFJlcXVlc3RDb25maWcsIHJldHVybkRldGFpbE9iamVjdCwgcmV0dXJuTGlzdE9iamVjdCB9IGZyb20gXCJAbGlicy11aS9zZXJ2aWNlcy1odHRwLXJlcXVlc3RcIjtcblxuY29uc3QgZ2V0TW9udGhzRGVmYXVsdCA9ICgpOiBBcnJheTxJQ2FsZW5kYXJNb250aEl0ZW0+ID0+IHtcbiAgcmV0dXJuIFtcbiAgICB7XG4gICAgICBpZDogMSxcbiAgICAgIGxhYmVsOiAnaTE4bl9qYW51YXJ5JyxcbiAgICAgIG1heERheXM6IDMxXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMixcbiAgICAgIGxhYmVsOiAnaTE4bl9mZWJydWFyeScsXG4gICAgICBtYXhEYXlzOiAyOVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDMsXG4gICAgICBsYWJlbDogJ2kxOG5fbWFyY2gnLFxuICAgICAgbWF4RGF5czogMzFcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiA0LFxuICAgICAgbGFiZWw6ICdpMThuX2FwcmlsJyxcbiAgICAgIG1heERheXM6IDMwXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogNSxcbiAgICAgIGxhYmVsOiAnaTE4bl9tYXknLFxuICAgICAgbWF4RGF5czogMzFcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiA2LFxuICAgICAgbGFiZWw6ICdpMThuX2p1bmUnLFxuICAgICAgbWF4RGF5czogMzBcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiA3LFxuICAgICAgbGFiZWw6ICdpMThuX2p1bHknLFxuICAgICAgbWF4RGF5czogMzFcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiA4LFxuICAgICAgbGFiZWw6ICdpMThuX2F1Z3VzdCcsXG4gICAgICBtYXhEYXlzOiAzMVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDksXG4gICAgICBsYWJlbDogJ2kxOG5fc2VwdGVtYmVyJyxcbiAgICAgIG1heERheXM6IDMwXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMTAsXG4gICAgICBsYWJlbDogJ2kxOG5fb2N0b2JlcicsXG4gICAgICBtYXhEYXlzOiAzMVxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDExLFxuICAgICAgbGFiZWw6ICdpMThuX25vdmVtYmVyJyxcbiAgICAgIG1heERheXM6IDMwXG4gICAgfSxcbiAgICB7XG4gICAgICBpZDogMTIsXG4gICAgICBsYWJlbDogJ2kxOG5fZGVjZW1iZXInLFxuICAgICAgbWF4RGF5czogMzFcbiAgICB9XG4gIF07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TW9udGhzTGlzdENvbmZpZyA9ICh0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpOiBJTGlzdENvbmZpZ0l0ZW0gPT4ge1xuICByZXR1cm4ge1xuICAgIHR5cGU6ICd0ZXh0JyxcbiAgICBodHRwUmVxdWVzdERhdGE6IHNpZ25hbCh7XG4gICAgICBzZXJ2aWNlT3RoZXI6IHJldHVybkxpc3RPYmplY3QoZ2V0TW9udGhzRGVmYXVsdCgpKSxcbiAgICAgIGZ1bmN0aW9uTmFtZTogJ2xpc3QnLFxuICAgICAgYXJndW1lbnRzVmFsdWU6IFtdXG4gICAgfSksXG4gICAgY29uZmlnVGVtcGxhdGVUZXh0OiBzaWduYWwoe1xuICAgICAgZmllbGRLZXk6ICdpZCcsXG4gICAgICBhdXRvU2Nyb2xsVG9JdGVtU2VsZWN0ZWQ6IHRydWUsXG4gICAgICBnZXRWYWx1ZTogKGl0ZW06IHsgaWQ6IHN0cmluZywgbGFiZWw6IHN0cmluZyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IGxhYmVsID0gdHJhbnNsYXRlLmluc3RhbnQoaXRlbS5sYWJlbCB8fCAnICcsIHsgeWVhcjogJyYjMzI7JyB9KTtcblxuICAgICAgICByZXR1cm4gbGFiZWwuc3Vic3RyaW5nKDAsIFV0aWxzQ2FjaGUuZ2V0TGFuZygpID09PSBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzLlZJID8gbGFiZWwubGVuZ3RoIDogMyk7XG4gICAgICB9LFxuICAgICAgZ2V0Q2xhc3NJbmNsdWRlUG9wb3ZlcjogKCkgPT4gJ2xpYnMtdWktZm9udC1oNXInXG4gICAgfSlcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRNb250aHNEZXRhaWxCeUlkID0gKCk6IElIdHRwUmVxdWVzdENvbmZpZyA9PiB7XG4gIHJldHVybiB7XG4gICAgc2VydmljZU90aGVyOiByZXR1cm5EZXRhaWxPYmplY3QoVXRpbHNIdHRwUGFyYW1zUmVxdWVzdEluc3RhbmNlKCksIGdldE1vbnRoc0RlZmF1bHQoKSksXG4gICAgZnVuY3Rpb25OYW1lOiAnZGV0YWlsQnlEYXRhJyxcbiAgICBhcmd1bWVudHNWYWx1ZTogW10sXG4gICAgZ3VpZGVBdXRvVXBkYXRlQXJndW1lbnRzVmFsdWU6IHtcbiAgICAgIHBhZ2luZzoge30sXG4gICAgICBkZXRhaWxCeUlkOiB7XG4gICAgICAgIGZpZWxkVXBkYXRlOiAnWzBdJyxcbiAgICAgICAgZmllbGRHZXRWYWx1ZTogJycsXG4gICAgICAgIHN1YkZpZWxkVXBkYXRlOiAna2V5cydcbiAgICAgIH1cbiAgICB9XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WWVhcnNMaXN0Q29uZmlnID0gKGxpc3RPZlllYXJzOiBBcnJheTx7IGlkOiBudW1iZXIsIGxhYmVsOiBzdHJpbmcgfT4gPSBbXSk6IElMaXN0Q29uZmlnSXRlbSA9PiB7XG4gIHJldHVybiB7XG4gICAgdHlwZTogJ3RleHQnLFxuICAgIGh0dHBSZXF1ZXN0RGF0YTogc2lnbmFsKHtcbiAgICAgIHNlcnZpY2VPdGhlcjogcmV0dXJuTGlzdE9iamVjdChsaXN0T2ZZZWFycyksXG4gICAgICBmdW5jdGlvbk5hbWU6ICdsaXN0JyxcbiAgICAgIGFyZ3VtZW50c1ZhbHVlOiBbXVxuICAgIH0pLFxuICAgIGNvbmZpZ1RlbXBsYXRlVGV4dDogc2lnbmFsKHtcbiAgICAgIGZpZWxkS2V5OiAnaWQnLFxuICAgICAgYXV0b1Njcm9sbFRvSXRlbVNlbGVjdGVkOiB0cnVlLFxuICAgICAgZ2V0VmFsdWU6IChpdGVtOiB7IGlkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbS5sYWJlbDtcbiAgICAgIH0sXG4gICAgICBnZXRDbGFzc0luY2x1ZGVUb29sdGlwOiAoKSA9PiAnbGlicy11aS1mb250LWg1cidcbiAgICB9KVxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFllYXJzRGV0YWlsQnlJZCA9IChsaXN0T2ZZZWFyczogQXJyYXk8eyBpZDogbnVtYmVyLCBsYWJlbDogc3RyaW5nIH0+ID0gW10pOiBJSHR0cFJlcXVlc3RDb25maWcgPT4ge1xuICByZXR1cm4ge1xuICAgIHNlcnZpY2VPdGhlcjogcmV0dXJuRGV0YWlsT2JqZWN0KFV0aWxzSHR0cFBhcmFtc1JlcXVlc3RJbnN0YW5jZSgpLCBsaXN0T2ZZZWFycyksXG4gICAgZnVuY3Rpb25OYW1lOiAnZGV0YWlsQnlEYXRhJyxcbiAgICBhcmd1bWVudHNWYWx1ZTogW10sXG4gICAgZ3VpZGVBdXRvVXBkYXRlQXJndW1lbnRzVmFsdWU6IHtcbiAgICAgIHBhZ2luZzoge30sXG4gICAgICBkZXRhaWxCeUlkOiB7XG4gICAgICAgIGZpZWxkVXBkYXRlOiAnWzBdJyxcbiAgICAgICAgZmllbGRHZXRWYWx1ZTogJycsXG4gICAgICAgIHN1YkZpZWxkVXBkYXRlOiAna2V5cydcbiAgICAgIH1cbiAgICB9XG4gIH07XG59O1xuIl19
@@ -0,0 +1,3 @@
1
+ export const DEFAULT_MIN_YEAR = 1945;
2
+ export const DEFAULT_MAX_YEAR = 2100;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLWRhdGUuZGVmaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy11aS9jb21wb25lbnRzL2RhdGV0aW1lL3BpY2tlci9zcmMvZGVmaW5lcy9jb21tb24tZGF0ZS5kZWZpbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUlOX1lFQVIgPSAxOTQ1O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTUFYX1lFQVIgPSAyMTAwO1xuIl19
@@ -0,0 +1,53 @@
1
+ import { get, UtilsCache, UtilsLanguageConstants } from "@libs-ui/utils";
2
+ import dayjs from 'dayjs';
3
+ export const getDateOptions = () => {
4
+ const dateOptions = {
5
+ [UtilsLanguageConstants.VI]: {
6
+ "monthNames": ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"],
7
+ "ranges": { "today": "Hôm nay", "yesterday": "Hôm qua", "_7days_ago": "7 ngày trước", "_30days_ago": "30 ngày trước", "this_month": "Tháng này", "last_month": "Tháng trước", "_3months_ago": "90 ngày trước" },
8
+ "daysOfWeek": ["T2", "T3", "T4", "T5", "T6", "T7", "CN"],
9
+ "applyLabel": "Lưu",
10
+ "cancelLabel": "Huỷ bỏ",
11
+ "fromLabel": "Từ",
12
+ "toLabel": "Đến",
13
+ "customRangeLabel": "Tùy Chỉnh"
14
+ },
15
+ [UtilsLanguageConstants.EN]: {
16
+ "monthNames": ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
17
+ "ranges": { "today": "Today", "yesterday": "Yesterday", "_7days_ago": "7 days ago", "_30days_ago": "30 days ago", "this_month": "This month", "last_month": "Last month", "_3months_ago": "90 days ago" },
18
+ "daysOfWeek": ["Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"],
19
+ "applyLabel": "Apply",
20
+ "cancelLabel": "Cancel",
21
+ "fromLabel": "From",
22
+ "toLabel": "To",
23
+ "customRangeLabel": "Customize"
24
+ }
25
+ };
26
+ return get(dateOptions, UtilsCache.getLang());
27
+ };
28
+ export const defaultLocaleConfig = () => {
29
+ return {
30
+ direction: 'ltr',
31
+ separator: ' - ',
32
+ weekLabel: 'W',
33
+ applyLabel: 'Apply',
34
+ cancelLabel: 'Cancel',
35
+ clearLabel: 'Clear',
36
+ customRangeLabel: 'customRangeLabel',
37
+ daysOfWeek: [],
38
+ monthNames: [],
39
+ firstDay: 1
40
+ };
41
+ };
42
+ export const getDateRangeDefault = () => {
43
+ return {
44
+ today: [dayjs().hour(0).minute(0).second(0).millisecond(0), dayjs().hour(23).minute(59).second(59)],
45
+ yesterday: [dayjs().subtract(1, 'days').hour(0).minute(0).second(0).millisecond(0), dayjs().subtract(1, 'days').hour(23).minute(59).second(59)],
46
+ _7days_ago: [dayjs().subtract(6, 'days').hour(0).second(0).minute(0).millisecond(0), dayjs().hour(23).minute(59).second(59)],
47
+ _30days_ago: [dayjs().subtract(29, 'days').hour(0).second(0).minute(0).millisecond(0), dayjs().hour(23).minute(59).second(59)],
48
+ this_month: [dayjs().startOf('month'), dayjs().endOf('month')],
49
+ last_month: [dayjs().subtract(1, 'month').startOf('month'), dayjs().subtract(1, 'month').endOf('month')],
50
+ _3months_ago: [dayjs().subtract(89, 'days').hour(0).second(0).minute(0).millisecond(0), dayjs().hour(23).minute(59).second(59)],
51
+ };
52
+ };
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1vcHRpb25zLmRlZmluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvY29tcG9uZW50cy9kYXRldGltZS9waWNrZXIvc3JjL2RlZmluZXMvZGF0ZS1vcHRpb25zLmRlZmluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUUxQixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsR0FBdUIsRUFBRTtJQUNyRCxNQUFNLFdBQVcsR0FBRztRQUNsQixDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLFlBQVksRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsVUFBVSxDQUFDO1lBQ3JKLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxlQUFlLEVBQUU7WUFDL00sWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3hELFlBQVksRUFBRSxLQUFLO1lBQ25CLGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLGtCQUFrQixFQUFFLFdBQVc7U0FDaEM7UUFDRCxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQ2xHLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUU7WUFDek0sWUFBWSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO1lBQ3hELFlBQVksRUFBRSxPQUFPO1lBQ3JCLGFBQWEsRUFBRSxRQUFRO1lBQ3ZCLFdBQVcsRUFBRSxNQUFNO1lBQ25CLFNBQVMsRUFBRSxJQUFJO1lBQ2Ysa0JBQWtCLEVBQUUsV0FBVztTQUNoQztLQUNGLENBQUM7SUFFRixPQUFPLEdBQUcsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDaEQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBRyxFQUFFO0lBQ3RDLE9BQU87UUFDTCxTQUFTLEVBQUUsS0FBSztRQUNoQixTQUFTLEVBQUUsS0FBSztRQUNoQixTQUFTLEVBQUUsR0FBRztRQUNkLFVBQVUsRUFBRSxPQUFPO1FBQ25CLFdBQVcsRUFBRSxRQUFRO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO1FBQ25CLGdCQUFnQixFQUFFLGtCQUFrQjtRQUNwQyxVQUFVLEVBQUUsRUFBRTtRQUNkLFVBQVUsRUFBRSxFQUFFO1FBQ2QsUUFBUSxFQUFFLENBQUM7S0FDWixDQUFBO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsR0FBMEMsRUFBRTtJQUM3RSxPQUFPO1FBQ0wsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25HLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0ksVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDNUgsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDOUgsVUFBVSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM5RCxVQUFVLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4RyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNoSSxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0LCBVdGlsc0NhY2hlLCBVdGlsc0xhbmd1YWdlQ29uc3RhbnRzIH0gZnJvbSBcIkBsaWJzLXVpL3V0aWxzXCI7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Db25maWcgfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9waWNrZXIuaW50ZXJmYWNlXCI7XG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0ZU9wdGlvbnMgPSAoKTogTG9jYWxpemF0aW9uQ29uZmlnID0+IHtcbiAgY29uc3QgZGF0ZU9wdGlvbnMgPSB7XG4gICAgW1V0aWxzTGFuZ3VhZ2VDb25zdGFudHMuVkldOiB7XG4gICAgICBcIm1vbnRoTmFtZXNcIjogW1wiVGjDoW5nIDFcIiwgXCJUaMOhbmcgMlwiLCBcIlRow6FuZyAzXCIsIFwiVGjDoW5nIDRcIiwgXCJUaMOhbmcgNVwiLCBcIlRow6FuZyA2XCIsIFwiVGjDoW5nIDdcIiwgXCJUaMOhbmcgOFwiLCBcIlRow6FuZyA5XCIsIFwiVGjDoW5nIDEwXCIsIFwiVGjDoW5nIDExXCIsIFwiVGjDoW5nIDEyXCJdLFxuICAgICAgXCJyYW5nZXNcIjogeyBcInRvZGF5XCI6IFwiSMO0bSBuYXlcIiwgXCJ5ZXN0ZXJkYXlcIjogXCJIw7RtIHF1YVwiLCBcIl83ZGF5c19hZ29cIjogXCI3IG5nw6B5IHRyxrDhu5tjXCIsIFwiXzMwZGF5c19hZ29cIjogXCIzMCBuZ8OgeSB0csaw4bubY1wiLCBcInRoaXNfbW9udGhcIjogXCJUaMOhbmcgbsOgeVwiLCBcImxhc3RfbW9udGhcIjogXCJUaMOhbmcgdHLGsOG7m2NcIiwgXCJfM21vbnRoc19hZ29cIjogXCI5MCBuZ8OgeSB0csaw4bubY1wiIH0sXG4gICAgICBcImRheXNPZldlZWtcIjogW1wiVDJcIiwgXCJUM1wiLCBcIlQ0XCIsIFwiVDVcIiwgXCJUNlwiLCBcIlQ3XCIsIFwiQ05cIl0sXG4gICAgICBcImFwcGx5TGFiZWxcIjogXCJMxrB1XCIsXG4gICAgICBcImNhbmNlbExhYmVsXCI6IFwiSHXhu7cgYuG7j1wiLFxuICAgICAgXCJmcm9tTGFiZWxcIjogXCJU4burXCIsXG4gICAgICBcInRvTGFiZWxcIjogXCLEkOG6v25cIixcbiAgICAgIFwiY3VzdG9tUmFuZ2VMYWJlbFwiOiBcIlTDuXkgQ2jhu4luaFwiXG4gICAgfSxcbiAgICBbVXRpbHNMYW5ndWFnZUNvbnN0YW50cy5FTl06IHtcbiAgICAgIFwibW9udGhOYW1lc1wiOiBbXCJKYW5cIiwgXCJGZWJcIiwgXCJNYXJcIiwgXCJBcHJcIiwgXCJNYXlcIiwgXCJKdW5cIiwgXCJKdWxcIiwgXCJBdWdcIiwgXCJTZXBcIiwgXCJPY3RcIiwgXCJOb3ZcIiwgXCJEZWNcIl0sXG4gICAgICBcInJhbmdlc1wiOiB7IFwidG9kYXlcIjogXCJUb2RheVwiLCBcInllc3RlcmRheVwiOiBcIlllc3RlcmRheVwiLCBcIl83ZGF5c19hZ29cIjogXCI3IGRheXMgYWdvXCIsIFwiXzMwZGF5c19hZ29cIjogXCIzMCBkYXlzIGFnb1wiLCBcInRoaXNfbW9udGhcIjogXCJUaGlzIG1vbnRoXCIsIFwibGFzdF9tb250aFwiOiBcIkxhc3QgbW9udGhcIiwgXCJfM21vbnRoc19hZ29cIjogXCI5MCBkYXlzIGFnb1wiIH0sXG4gICAgICBcImRheXNPZldlZWtcIjogW1wiTW9cIiwgXCJUdVwiLCBcIldlXCIsIFwiVGhcIiwgXCJGclwiLCBcIlNhXCIsIFwiU3VcIl0sXG4gICAgICBcImFwcGx5TGFiZWxcIjogXCJBcHBseVwiLFxuICAgICAgXCJjYW5jZWxMYWJlbFwiOiBcIkNhbmNlbFwiLFxuICAgICAgXCJmcm9tTGFiZWxcIjogXCJGcm9tXCIsXG4gICAgICBcInRvTGFiZWxcIjogXCJUb1wiLFxuICAgICAgXCJjdXN0b21SYW5nZUxhYmVsXCI6IFwiQ3VzdG9taXplXCJcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGdldChkYXRlT3B0aW9ucywgVXRpbHNDYWNoZS5nZXRMYW5nKCkpO1xufTtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRMb2NhbGVDb25maWcgPSAoKSA9PiB7XG4gIHJldHVybiB7XG4gICAgZGlyZWN0aW9uOiAnbHRyJyxcbiAgICBzZXBhcmF0b3I6ICcgLSAnLFxuICAgIHdlZWtMYWJlbDogJ1cnLFxuICAgIGFwcGx5TGFiZWw6ICdBcHBseScsXG4gICAgY2FuY2VsTGFiZWw6ICdDYW5jZWwnLFxuICAgIGNsZWFyTGFiZWw6ICdDbGVhcicsXG4gICAgY3VzdG9tUmFuZ2VMYWJlbDogJ2N1c3RvbVJhbmdlTGFiZWwnLFxuICAgIGRheXNPZldlZWs6IFtdLFxuICAgIG1vbnRoTmFtZXM6IFtdLFxuICAgIGZpcnN0RGF5OiAxXG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXREYXRlUmFuZ2VEZWZhdWx0ID0gKCk6IHsgW2tleTogc3RyaW5nXTogQXJyYXk8ZGF5anMuRGF5anM+IH0gPT4ge1xuICByZXR1cm4ge1xuICAgIHRvZGF5OiBbZGF5anMoKS5ob3VyKDApLm1pbnV0ZSgwKS5zZWNvbmQoMCkubWlsbGlzZWNvbmQoMCksIGRheWpzKCkuaG91cigyMykubWludXRlKDU5KS5zZWNvbmQoNTkpXSxcbiAgICB5ZXN0ZXJkYXk6IFtkYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuaG91cigwKS5taW51dGUoMCkuc2Vjb25kKDApLm1pbGxpc2Vjb25kKDApLCBkYXlqcygpLnN1YnRyYWN0KDEsICdkYXlzJykuaG91cigyMykubWludXRlKDU5KS5zZWNvbmQoNTkpXSxcbiAgICBfN2RheXNfYWdvOiBbZGF5anMoKS5zdWJ0cmFjdCg2LCAnZGF5cycpLmhvdXIoMCkuc2Vjb25kKDApLm1pbnV0ZSgwKS5taWxsaXNlY29uZCgwKSwgZGF5anMoKS5ob3VyKDIzKS5taW51dGUoNTkpLnNlY29uZCg1OSldLFxuICAgIF8zMGRheXNfYWdvOiBbZGF5anMoKS5zdWJ0cmFjdCgyOSwgJ2RheXMnKS5ob3VyKDApLnNlY29uZCgwKS5taW51dGUoMCkubWlsbGlzZWNvbmQoMCksIGRheWpzKCkuaG91cigyMykubWludXRlKDU5KS5zZWNvbmQoNTkpXSxcbiAgICB0aGlzX21vbnRoOiBbZGF5anMoKS5zdGFydE9mKCdtb250aCcpLCBkYXlqcygpLmVuZE9mKCdtb250aCcpXSxcbiAgICBsYXN0X21vbnRoOiBbZGF5anMoKS5zdWJ0cmFjdCgxLCAnbW9udGgnKS5zdGFydE9mKCdtb250aCcpLCBkYXlqcygpLnN1YnRyYWN0KDEsICdtb250aCcpLmVuZE9mKCdtb250aCcpXSxcbiAgICBfM21vbnRoc19hZ286IFtkYXlqcygpLnN1YnRyYWN0KDg5LCAnZGF5cycpLmhvdXIoMCkuc2Vjb25kKDApLm1pbnV0ZSgwKS5taWxsaXNlY29uZCgwKSwgZGF5anMoKS5ob3VyKDIzKS5taW51dGUoNTkpLnNlY29uZCg1OSldLFxuICB9O1xufTtcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './picker.component';
2
+ export * from './defines/common-date.define';
3
+ export * from './interfaces';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzLXVpL2NvbXBvbmVudHMvZGF0ZXRpbWUvcGlja2VyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3BpY2tlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZWZpbmVzL2NvbW1vbi1kYXRlLmRlZmluZSc7XG5leHBvcnQgKiBmcm9tICcuL2ludGVyZmFjZXMnO1xuIl19