@klippa/ngx-enhancy-forms 7.1.5 → 7.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/klippa-ngx-enhancy-forms.umd.js +1 -1
- package/bundles/klippa-ngx-enhancy-forms.umd.js.map +1 -1
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js +1 -1
- package/bundles/klippa-ngx-enhancy-forms.umd.min.js.map +1 -1
- package/esm2015/lib/elements/date-time-picker/date-time-picker.component.js +3 -3
- package/fesm2015/klippa-ngx-enhancy-forms.js +2 -2
- package/fesm2015/klippa-ngx-enhancy-forms.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { DateAdapter, MAT_DATE_FORMATS, MAT_NATIVE_DATE_FORMATS } from '@angular
|
|
|
5
5
|
import { FormElementComponent } from '../../form/form-element/form-element.component';
|
|
6
6
|
import { MultipleValueAccessorBase } from '../value-accessor-base/multiple-value-accessor-base.component';
|
|
7
7
|
import { arrayIsSetAndFilled, isValueSet, removeDuplicatesFromArray, stringIsSetAndFilled } from '../../util/values';
|
|
8
|
-
import { endOfMonth, format as formatDate, startOfMonth } from 'date-fns';
|
|
8
|
+
import { endOfMonth, format as formatDate, startOfMonth, isSameDay } from 'date-fns';
|
|
9
9
|
export const KLP_DATE_FORMATS = new InjectionToken('klp.form.date.formats');
|
|
10
10
|
export const DATE_TIME_PICKER_TRANSLATIONS = new InjectionToken('klp.form.dateTime.translations');
|
|
11
11
|
export const DATE_PICKER_LOCALE = new InjectionToken('klp.form.dateTime.locale');
|
|
@@ -38,7 +38,7 @@ export class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
38
38
|
this.minutesTouched = false;
|
|
39
39
|
this.isSelected = (d) => {
|
|
40
40
|
if (this.multiple) {
|
|
41
|
-
return this.selectedDates.some((e) => e
|
|
41
|
+
return this.selectedDates.some((e) => isSameDay(e, d)) ? 'selected' : '';
|
|
42
42
|
}
|
|
43
43
|
return '';
|
|
44
44
|
};
|
|
@@ -326,4 +326,4 @@ DateTimePickerComponent.propDecorators = {
|
|
|
326
326
|
nativeInputRef: [{ type: ViewChild, args: ['nativeInput',] }],
|
|
327
327
|
datePickerRef: [{ type: ViewChild, args: ['picker',] }]
|
|
328
328
|
};
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbmd4LWVuaGFuY3ktZm9ybXMvbmd4LWVuaGFuY3ktZm9ybXMvcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbGVtZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixpQkFBaUIsRUFDakIsU0FBUyxFQUVULElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxRQUFRLEVBRVIsU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBRTlHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuSCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQUUsWUFBWSxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLElBQUksY0FBYyxDQUFpQix1QkFBdUIsQ0FBQyxDQUFDO0FBQzVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLElBQUksY0FBYyxDQUFNLGdDQUFnQyxD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QkFBb0IsdUJBd0R6QixJQUFJLFlBQUksUUFBUTtZQTdEWCxnQkFBZ0IsdUJBOERyQixJQUFJLFlBQUksUUFBUTs0Q0FDaEIsTUFBTSxTQUFDLDZCQUE2QixjQUFHLFFBQVE7NENBQy9DLE1BQU0sU0FBQyxrQkFBa0IsY0FBRyxRQUFRO1lBN0QvQixXQUFXO1lBaEJsQixpQkFBaUI7OztzQkE2Q2hCLEtBQUs7c0JBQ0wsS0FBSzs0QkFDTCxLQUFLO3FCQUNMLEtBQUs7MEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzRCQUNMLEtBQUs7b0NBQ0wsS0FBSzs2QkFFTCxTQUFTLFNBQUMsYUFBYTs0QkFDdkIsU0FBUyxTQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBZnRlclZpZXdJbml0LFxuXHRDaGFuZ2VEZXRlY3RvclJlZixcblx0Q29tcG9uZW50LFxuXHRFbGVtZW50UmVmLFxuXHRIb3N0LFxuXHRJbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHRJbnB1dCxcblx0T25DaGFuZ2VzLFxuXHRPbkluaXQsXG5cdE9wdGlvbmFsLFxuXHRTaW1wbGVDaGFuZ2VzLFxuXHRWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbnRyb2xDb250YWluZXIsIE5HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge2ludmFsaWREYXRlS2V5fSBmcm9tICcuLi8uLi92YWxpZGF0b3JzL2RhdGVWYWxpZGF0b3InO1xuaW1wb3J0IHtEYXRlRmlsdGVyRm4sIE1hdERhdGVwaWNrZXJ9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHtEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUUywgTUFUX05BVElWRV9EQVRFX0ZPUk1BVFMsIE1hdERhdGVGb3JtYXRzfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7S2xwRGF0ZUZvcm1hdHN9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7Rm9ybUVsZW1lbnRDb21wb25lbnR9IGZyb20gJy4uLy4uL2Zvcm0vZm9ybS1lbGVtZW50L2Zvcm0tZWxlbWVudC5jb21wb25lbnQnO1xuaW1wb3J0IHtNdWx0aXBsZVZhbHVlQWNjZXNzb3JCYXNlfSBmcm9tICcuLi92YWx1ZS1hY2Nlc3Nvci1iYXNlL211bHRpcGxlLXZhbHVlLWFjY2Vzc29yLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7YXJyYXlJc1NldEFuZEZpbGxlZCwgaXNWYWx1ZVNldCwgcmVtb3ZlRHVwbGljYXRlc0Zyb21BcnJheSwgc3RyaW5nSXNTZXRBbmRGaWxsZWR9IGZyb20gJy4uLy4uL3V0aWwvdmFsdWVzJztcbmltcG9ydCB7ZW5kT2ZNb250aCwgZm9ybWF0IGFzIGZvcm1hdERhdGUsIHN0YXJ0T2ZNb250aH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgY29uc3QgS0xQX0RBVEVfRk9STUFUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxLbHBEYXRlRm9ybWF0cz4oJ2tscC5mb3JtLmRhdGUuZm9ybWF0cycpO1xuZXhwb3J0IGNvbnN0IERBVEVfVElNRV9QSUNLRVJfVFJBTlNMQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ2tscC5mb3JtLmRhdGVUaW1lLnRyYW5zbGF0aW9ucycpO1xuZXhwb3J0IGNvbnN0IERBVEVfUElDS0VSX0xPQ0FMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdrbHAuZm9ybS5kYXRlVGltZS5sb2NhbGUnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hdERhdGVGb3JtYXRzRmFjdG9yeShjb21wb25lbnQ6IERhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBkYXRlRm9ybWF0cz86IEtscERhdGVGb3JtYXRzKTogTWF0RGF0ZUZvcm1hdHMge1xuXHRyZXR1cm4gZGF0ZUZvcm1hdHM/Lihjb21wb25lbnQuZm9ybWF0KSA/PyBNQVRfTkFUSVZFX0RBVEVfRk9STUFUUztcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tZGF0ZS10aW1lLXBpY2tlcicsXG5cdHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWV9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXG5cdFx0XHRkZXBzOiBbRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsIFtuZXcgT3B0aW9uYWwoKSwgS0xQX0RBVEVfRk9STUFUU11dLFxuXHRcdFx0dXNlRmFjdG9yeTogbWF0RGF0ZUZvcm1hdHNGYWN0b3J5LFxuXHRcdH0sXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZTxEYXRlIHwgdHlwZW9mIGludmFsaWREYXRlS2V5PiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcblx0QElucHV0KCkgcHVibGljIG1pbkRhdGU6IERhdGUgPSB1bmRlZmluZWQ7XG5cdEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBEYXRlID0gdW5kZWZpbmVkO1xuXHRASW5wdXQoKSBwdWJsaWMgc2FtZU1vbnRoT25seSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgZm9ybWF0ID0gJ2RkLU1NLXl5eXknO1xuXHRASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblx0QElucHV0KCkgcHVibGljIGNsZWFyYWJsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgc2hvd1RpbWVJbnB1dCA9IHRydWU7XG5cdEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkVGltZUFzTWlkbmlnaHQgPSBmYWxzZTsgLy8gaWYgdGhlIHRpbWUgaXMgbm90IHZhbGlkLCB1c2UgMDA6MDAgYXMgdGhlIHRpbWVcblxuXHRAVmlld0NoaWxkKCduYXRpdmVJbnB1dCcpIG5hdGl2ZUlucHV0UmVmOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCdwaWNrZXInKSBkYXRlUGlja2VyUmVmOiBNYXREYXRlcGlja2VyPERhdGU+O1xuXG5cdG9wZW5QaWNrZXJPbkRhdGU6IERhdGUgPSBudWxsO1xuXHRtaW5EYXRlU3RhcnRPZkRheTogRGF0ZSA9IHVuZGVmaW5lZDtcblx0bWF4RGF0ZUVuZE9mRGF5OiBEYXRlID0gdW5kZWZpbmVkO1xuXG5cdC8vIHRoaXMgaXMgcGFzc2VkIGFzIG5nbW9kZWwgYW5kIGlzIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIGRhdGUuIEJ1dCB3ZSBhbHNvXG5cdC8vIHVzZSBpbnB1dCBhbmQgbmF0aXZlSW5wdXQgY2FsbGJhY2tzIHRvIGV4dGVuZCB0aGUgdmFsaWRhdGlvbiBsb2dpYyBzbyB3ZVxuXHQvLyBjYW4gZGlzdGluZ3Vpc2ggYmV0d2VlbiBlbXB0eSBhbmQgaW52YWxpZCBkYXRlcy5cblx0dmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXI6IERhdGU7XG5cdGhvdXJzOiBzdHJpbmc7IC8vIHN0cmluZyBiZWNhdXNlIGl0J3MgYSB0ZXh0IGlucHV0XG5cdG1pbnV0ZXM6IHN0cmluZzsgLy8gc3RyaW5nIGJlY2F1c2UgaXQncyBhIHRleHQgaW5wdXRcblx0cHJpdmF0ZSBzZWxlY3RlZERhdGVzOiBBcnJheTxEYXRlPiA9IFtdO1xuXHRwcml2YXRlIGRhdGVQaWNraW5nQ2xvc2luZ0ZuOiAoKSA9PiB2b2lkO1xuXHRwcml2YXRlIGRhdGVUb3VjaGVkID0gZmFsc2U7XG5cdHByaXZhdGUgaG91cnNUb3VjaGVkID0gZmFsc2U7XG5cdHByaXZhdGUgbWludXRlc1RvdWNoZWQgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRASG9zdCgpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBwYXJlbnQ6IEZvcm1FbGVtZW50Q29tcG9uZW50LFxuXHRcdEBIb3N0KCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG5cdFx0QEluamVjdChEQVRFX1RJTUVfUElDS0VSX1RSQU5TTEFUSU9OUykgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGlvbnM6IGFueSxcblx0XHRASW5qZWN0KERBVEVfUElDS0VSX0xPQ0FMRSkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkYXRlUGlja2VyTG9jYWxlOiBhbnksXG5cdFx0cHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG5cdCkge1xuXHRcdHN1cGVyKHBhcmVudCwgY29udHJvbENvbnRhaW5lcik7XG5cdFx0aWYgKGlzVmFsdWVTZXQoZGF0ZVBpY2tlckxvY2FsZSkpIHtcblx0XHRcdGRhdGVBZGFwdGVyLnNldExvY2FsZShkYXRlUGlja2VyTG9jYWxlKCkpO1xuXHRcdH1cblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHN1cGVyLm5nT25Jbml0KCk7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHRoaXMucGxhY2Vob2xkZXIgPSAnJztcblx0XHRcdHRoaXMuc2hvd1RpbWVJbnB1dCA9IGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0Ly8gd2UgYXJlIGdvaW5nIHRvIG92ZXJ3cml0ZSB0aGUgZGF0ZXBpY2tlciBjbG9zaW5nIGZuIGxhdGVyLCBzbyB3ZSBhcmUgc2F2aW5nIGl0IGhlcmUgdG8gcmVzdG9yZSBpdCB3aGVuIG5lZWRlZFxuXHRcdFx0dGhpcy5kYXRlUGlja2luZ0Nsb3NpbmdGbiA9IHRoaXMuZGF0ZVBpY2tlclJlZi5jbG9zZTtcblx0XHR9XG5cdH1cblxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKGNoYW5nZXMubWluRGF0ZSkge1xuXHRcdFx0dGhpcy5kZXRlcm1pbmVNaW5BbmRNYXhEYXRlcygpO1xuXHRcdH1cblx0XHRpZiAoY2hhbmdlcy5tYXhEYXRlKSB7XG5cdFx0XHR0aGlzLmRldGVybWluZU1pbkFuZE1heERhdGVzKCk7XG5cdFx0fVxuXHR9XG5cblx0c2V0TWluRGF0ZShtaW5EYXRlOiBEYXRlKTogdm9pZCB7XG5cdFx0aWYgKG1pbkRhdGUpIHtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkgPSBuZXcgRGF0ZShtaW5EYXRlKTtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0c2V0TWF4RGF0ZShtYXhEYXRlOiBEYXRlKTogdm9pZCB7XG5cdFx0aWYgKG1heERhdGUpIHtcblx0XHRcdHRoaXMubWF4RGF0ZUVuZE9mRGF5ID0gbmV3IERhdGUobWF4RGF0ZSk7XG5cdFx0XHR0aGlzLm1heERhdGVFbmRPZkRheS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1heERhdGVFbmRPZkRheSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRnZXRTZWxlY3RlZE1vbnRocygpOiBudW1iZXIge1xuXHRcdHJldHVybiByZW1vdmVEdXBsaWNhdGVzRnJvbUFycmF5KHRoaXMuc2VsZWN0ZWREYXRlcy5tYXAoKGUpID0+IGZvcm1hdERhdGUoZSwgJ01NTU0nKSkpLmxlbmd0aDtcblx0fVxuXG5cdC8vIGRhdGVDaGFuZ2VkIGlzIGNhbGxlZCB3aGVuIHRoZSBvdXRwdXQgb2YgdGhlIGRhdGVwaWNrZXIgaXMgY2hhbmdlZCBhbmRcblx0Ly8gcGFyc2VkIGNvcnJlY3RseS4gSWYgdGhlIGRhdGUgaXMgaW52YWxpZCwgaXQgd2lsbCBiZSBjYWxsZWQgdGhlIGZpcnN0IHRpbWVcblx0Ly8gd2l0aCBudWxsIGJ1dCBuZXZlciBhZ2FpbiB1bnRpbCBhIHZhbGlkIGlucHV0IGlzIHByb3ZpZGVkLlxuXHRkYXRlQ2hhbmdlZChldmVudDogYW55KTogdm9pZCB7XG5cdFx0Y29uc3QgZGF0ZSA9IGV2ZW50LnZhbHVlO1xuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHR0aGlzLmRhdGVQaWNrZXJSZWYuY2xvc2UgPSAoKSA9PiB7XG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZERhdGVzLnNvbWUoKGUpID0+IGUuZ2V0VGltZSgpID09PSBkYXRlLmdldFRpbWUoKSkpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzLmZpbHRlcigoZSkgPT4gZS5nZXRUaW1lKCkgIT09IGRhdGUuZ2V0VGltZSgpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IFsuLi50aGlzLnNlbGVjdGVkRGF0ZXMsIGRhdGVdO1xuXHRcdFx0fVxuXHRcdFx0Ly8gU1RBUlQgSEFDS1xuXHRcdFx0Ly8gdGhlIGRhdGUgcGlja2VyIGRvZXMgbm90IHByb3ZpZGUgYW55IHJlcmVuZGVyIGNhbGxzLiBUaGVyZWZvcmUsIHdlIGFyZSBnb2luZyB0byBjaGFuZ2UgdGhlIG1pbkRhdGUgaW4gb3JkZXIgdG8gZm9yY2UgdGhlIHJlbmRlclxuXHRcdFx0Ly8gVGhpcyBpcyBuZWVkZWQgdG8gc2hvdyBhbGwgc2VsZWN0ZWQgZGF5cyBpbiBvdXIgZGF0ZSBwaWNrZXJcblx0XHRcdC8vIFdlIGFsc28gc2V0IHRoZSBpbm5lclZhbHVlIHRvIG51bGwgKHdpdGggdGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IG51bGw7KSwgb3RoZXJ3aXNlIHlvdSBjYW4gbm90XG5cdFx0XHQvLyBkZXNlbGVjdCB5b3VyIGxhc3QgcGlja2VkIGRhdGVcblx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSBudWxsO1xuXHRcdFx0Y29uc3Qgb2xkTWluRGF0ZSA9IHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXk7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5ID0gbmV3IERhdGUoMCk7XG5cdFx0XHR0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5ID0gb2xkTWluRGF0ZTtcblx0XHRcdC8vIEVORCBIQUNLXG5cblx0XHRcdGlmICh0aGlzLnNhbWVNb250aE9ubHkpIHtcblx0XHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlcy5sZW5ndGggPj0gMikge1xuXHRcdFx0XHRcdGlmIChkYXRlIDwgc3RhcnRPZk1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlc1swXSkgfHwgZGF0ZSA+IGVuZE9mTW9udGgodGhpcy5zZWxlY3RlZERhdGVzWzBdKSkge1xuXHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gW2RhdGVdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmRldGVybWluZU1pbkFuZE1heERhdGVzKCk7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeSh0aGlzLnNlbGVjdGVkRGF0ZXMpO1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZGF0ZVBpY2tlclJlZi5jbG9zZSA9IHRoaXMuZGF0ZVBpY2tpbmdDbG9zaW5nRm47XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5ub3RpZnlOZXdEYXRlKCk7XG5cdFx0fVxuXHR9XG5cblx0ZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuc2FtZU1vbnRoT25seSkge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlcy5sZW5ndGggPj0gMikge1xuXHRcdFx0XHR0aGlzLnNldE1pbkRhdGUoc3RhcnRPZk1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlc1swXSkpO1xuXHRcdFx0XHR0aGlzLnNldE1heERhdGUoZW5kT2ZNb250aCh0aGlzLnNlbGVjdGVkRGF0ZXNbMF0pKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc2V0TWluRGF0ZSh0aGlzLm1pbkRhdGUpO1xuXHRcdFx0XHR0aGlzLnNldE1heERhdGUodGhpcy5tYXhEYXRlKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5zZXRNaW5EYXRlKHRoaXMubWluRGF0ZSk7XG5cdFx0XHR0aGlzLnNldE1heERhdGUodGhpcy5tYXhEYXRlKTtcblx0XHR9XG5cdH1cblxuXHRub3RpZnlOZXdEYXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IG5hdGl2ZUlucHV0VmFsdWUgPSB0aGlzLm5hdGl2ZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cdFx0Y29uc3QgcGFyc2VkSG91cnMgPSBOdW1iZXIodGhpcy5ob3Vycyk7XG5cdFx0Y29uc3QgcGFyc2VkTWludXRlcyA9IE51bWJlcih0aGlzLm1pbnV0ZXMpO1xuXG5cdFx0Ly8gaWYgd2UgZG9udCBoYXZlIHRoZSB0aW1lIGVsZW1lbnRcblx0XHRpZiAoIXRoaXMuc2hvd1RpbWVJbnB1dCkge1xuXHRcdFx0aWYgKCFzdHJpbmdJc1NldEFuZEZpbGxlZChuYXRpdmVJbnB1dFZhbHVlKSkge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobnVsbCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyIGluc3RhbmNlb2YgRGF0ZSkge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlcik7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gd2hlbiBhbGwgaW5wdXRzIGFyZSBlbXB0eVxuXHRcdGlmICghc3RyaW5nSXNTZXRBbmRGaWxsZWQobmF0aXZlSW5wdXRWYWx1ZSkgJiYgIXN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMuaG91cnMpICYmICFzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLm1pbnV0ZXMpKSB7XG5cdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobnVsbCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdC8vIGlmIHdlIGhhdmUgZGF0ZSBhbmQgdGltZVxuXHRcdGlmIChcblx0XHRcdHN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMuaG91cnMpICYmXG5cdFx0XHROdW1iZXIuaXNGaW5pdGUocGFyc2VkSG91cnMpICYmXG5cdFx0XHRwYXJzZWRIb3VycyA+PSAwICYmXG5cdFx0XHRwYXJzZWRIb3VycyA8PSAyMyAmJlxuXHRcdFx0c3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5taW51dGVzKSAmJlxuXHRcdFx0TnVtYmVyLmlzRmluaXRlKHBhcnNlZE1pbnV0ZXMpICYmXG5cdFx0XHRwYXJzZWRNaW51dGVzID49IDAgJiZcblx0XHRcdHBhcnNlZE1pbnV0ZXMgPD0gNTkgJiZcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgaW5zdGFuY2VvZiBEYXRlXG5cdFx0KSB7XG5cdFx0XHRjb25zdCBuZXdEYXRlV2l0aEhvdXJzID0gbmV3IERhdGUodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlci5zZXRIb3VycyhwYXJzZWRIb3VycykpO1xuXHRcdFx0Y29uc3QgbmV3RGF0ZVdpdGhNaW51dGVzID0gbmV3IERhdGUobmV3RGF0ZVdpdGhIb3Vycy5zZXRNaW51dGVzKHBhcnNlZE1pbnV0ZXMpKTtcblx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShuZXdEYXRlV2l0aE1pbnV0ZXMpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAodGhpcy5pbnZhbGlkVGltZUFzTWlkbmlnaHQpIHtcblx0XHRcdGlmICh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyIGluc3RhbmNlb2YgRGF0ZSkge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlcik7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gYWxsIG90aGVyIGNhc2VzLCB3ZSBhcmUgbm90IGluIGEgdmFsaWQgc3RhdGVcblx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkoaW52YWxpZERhdGVLZXkpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IEFycmF5PERhdGU+IHwgdHlwZW9mIGludmFsaWREYXRlS2V5KTogdm9pZCB7XG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZXMgPSB2YWx1ZTtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTtcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSBudWxsO1xuXHRcdFx0aWYgKGFycmF5SXNTZXRBbmRGaWxsZWQodmFsdWUpKSB7XG5cdFx0XHRcdHRoaXMub3BlblBpY2tlck9uRGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlc1swXTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IHZhbHVlID09PSBpbnZhbGlkRGF0ZUtleSA/IG51bGwgOiB2YWx1ZTtcblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0dGhpcy5ob3VycyA9IFN0cmluZyh2YWx1ZS5nZXRIb3VycygpKTtcblx0XHRcdFx0dGhpcy5taW51dGVzID0gU3RyaW5nKHZhbHVlLmdldE1pbnV0ZXMoKSk7XG5cdFx0XHRcdHRoaXMuZm9ybWF0VGltZSgpO1xuXHRcdFx0XHR0aGlzLm9wZW5QaWNrZXJPbkRhdGUgPSB2YWx1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaG91cnMgPSAnJztcblx0XHRcdFx0dGhpcy5taW51dGVzID0gJyc7XG5cdFx0XHRcdHRoaXMub3BlblBpY2tlck9uRGF0ZSA9IG51bGw7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IFtdO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIG5hdGl2ZVZhbHVlQ2hhbmdlZCBpcyBjYWxsZWQgd2hlbiB0aGUgaW50ZXJuYWwgdGV4dCB2YWx1ZSBjaGFuZ2VzLCBidXQgbm90XG5cdC8vIHdoZW4gdGhlIGRhdGUgaXMgY2hhbmdlZCB2aWEgdGhlIGRhdGUgcGlja2VyLiBXZSBuZWVkIHRoaXMgc28gdGhhdCB3ZSBjYW5cblx0Ly8gZGV0ZXJtaW5lIGlmIHRoZSBkYXRlcGlja2VyIGlzIGVtcHR5IG9yIGludmFsaWQuXG5cdG5hdGl2ZVZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5kYXRlUGlja2VyUmVmLm9wZW5lZCkge1xuXHRcdFx0Ly8gaWYgdGhlIHVzZXIgaXMgdHlwaW5nIGluc3RlYWQgb2YgdXNpbmcgdGhlIHBpY2tlciwgY2xvc2UgaXQuXG5cdFx0XHR0aGlzLmRhdGVQaWNrZXJSZWYuY2xvc2UoKTtcblx0XHR9XG5cdFx0dGhpcy5ub3RpZnlOZXdEYXRlKCk7XG5cdH1cblxuXHRyZXNldFRvTnVsbCgpOiB2b2lkIHtcblx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobnVsbCk7XG5cdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IG51bGw7XG5cdFx0dGhpcy5uYXRpdmVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcblx0XHR0aGlzLmhvdXJzID0gJyc7XG5cdFx0dGhpcy5taW51dGVzID0gJyc7XG5cdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gW107XG5cdH1cblxuXHRpc1NlbGVjdGVkID0gKGQ6IERhdGUpID0+IHtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlcy5zb21lKChlKSA9PiBlLmdldFRpbWUoKSA9PT0gZC5nZXRUaW1lKCkpID8gJ3NlbGVjdGVkJyA6ICcnO1xuXHRcdH1cblx0XHRyZXR1cm4gJyc7XG5cdH07XG5cdGZpbHRlckRhdGVzOiBEYXRlRmlsdGVyRm48YW55PiA9IChlKSA9PiB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH07XG5cblx0Zm9ybWF0VGltZSgpOiB2b2lkIHtcblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKE51bWJlcih0aGlzLmhvdXJzKSkgJiYgdGhpcy5ob3Vycy5sZW5ndGggPT09IDEpIHtcblx0XHRcdHRoaXMuaG91cnMgPSAnMCcgKyB0aGlzLmhvdXJzO1xuXHRcdH1cblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKE51bWJlcih0aGlzLm1pbnV0ZXMpKSAmJiB0aGlzLm1pbnV0ZXMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHR0aGlzLm1pbnV0ZXMgPSAnMCcgKyB0aGlzLm1pbnV0ZXM7XG5cdFx0fVxuXHR9XG5cblx0dG91Y2hEYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMuZGF0ZVRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMuZGV0ZXJtaW5lQWxsVG91Y2hlZCgpO1xuXHR9XG5cblx0dG91Y2hIb3VycygpOiB2b2lkIHtcblx0XHR0aGlzLmhvdXJzVG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5kZXRlcm1pbmVBbGxUb3VjaGVkKCk7XG5cdH1cblxuXHR0b3VjaE1pbnV0ZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5taW51dGVzVG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5kZXRlcm1pbmVBbGxUb3VjaGVkKCk7XG5cdH1cblxuXHRkZXRlcm1pbmVBbGxUb3VjaGVkKCk6IHZvaWQge1xuXHRcdGlmICgodGhpcy5kYXRlVG91Y2hlZCAmJiB0aGlzLmhvdXJzVG91Y2hlZCAmJiB0aGlzLm1pbnV0ZXNUb3VjaGVkKSB8fCAodGhpcy5kYXRlVG91Y2hlZCAmJiAhdGhpcy5zaG93VGltZUlucHV0KSkge1xuXHRcdFx0dGhpcy50b3VjaCgpO1xuXHRcdH1cblx0fVxuXG5cblx0Z2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogKHg6IGFueSkgPT4gc3RyaW5nIHtcblx0XHRzd2l0Y2ggKGtleSkge1xuXHRcdFx0Y2FzZSAncGxhY2Vob2xkZXInOlxuXHRcdFx0XHRyZXR1cm4gKCkgPT4gJ1NlbGVjdCBkYXRlJztcblx0XHRcdGNhc2UgJ3NlbGVjdERheXMnOlxuXHRcdFx0XHRyZXR1cm4gKCkgPT4gJ1NlbGVjdCBkYXkocyknO1xuXHRcdFx0Y2FzZSAnc2VsZWN0ZWREYXRlJzpcblx0XHRcdFx0cmV0dXJuIChkOiBEYXRlKSA9PiBkLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuXHRcdFx0Y2FzZSAnZGF5c1NlbGVjdGVkJzpcblx0XHRcdFx0cmV0dXJuIChhbW91bnQpID0+IGAke2Ftb3VudH0gZGF5cyBzZWxlY3RlZGA7XG5cdFx0XHRjYXNlICdzZWxlY3RlZEluTW9udGgnOlxuXHRcdFx0XHRyZXR1cm4gKGQ6IERhdGUpID0+IGAgaW4gJHtmb3JtYXREYXRlKGQsICdNTU1NJyl9YDtcblx0XHR9XG5cdH1cblxuXHRnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZywgcGFyYW1zOiBhbnkgPSBudWxsKTogc3RyaW5nIHtcblx0XHRpZiAoa2V5ID09PSAncGxhY2Vob2xkZXInICYmIHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHJldHVybiAnJztcblx0XHR9XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiBzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLnBsYWNlaG9sZGVyKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9ucz8uW2tleV0/LihwYXJhbXMpID8/IHRoaXMuZ2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleSkocGFyYW1zKTtcblx0fVxufVxuIl19
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvbmd4LWVuaGFuY3ktZm9ybXMvbmd4LWVuaGFuY3ktZm9ybXMvcHJvamVjdHMva2xpcHBhL25neC1lbmhhbmN5LWZvcm1zL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbGVtZW50cy9kYXRlLXRpbWUtcGlja2VyL2RhdGUtdGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTixpQkFBaUIsRUFDakIsU0FBUyxFQUVULElBQUksRUFDSixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxRQUFRLEVBRVIsU0FBUyxFQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU5RCxPQUFPLEVBQUMsV0FBVyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFpQixNQUFNLHdCQUF3QixDQUFDO0FBRTlHLE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLGdEQUFnRCxDQUFDO0FBQ3BGLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3hHLE9BQU8sRUFBQyxtQkFBbUIsRUFBRSxVQUFVLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNuSCxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sSUFBSSxVQUFVLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUVuRixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsdUJBQXVCLENBQUMsQ0FBQztBQUM1RixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxJQUFJLGNBQWMsQ0FB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LHVCQXdEekIsSUFBSSxZQUFJLFFBQVE7WUE3RFgsZ0JBQWdCLHVCQThEckIsSUFBSSxZQUFJLFFBQVE7NENBQ2hCLE1BQU0sU0FBQyw2QkFBNkIsY0FBRyxRQUFROzRDQUMvQyxNQUFNLFNBQUMsa0JBQWtCLGNBQUcsUUFBUTtZQTdEL0IsV0FBVztZQWhCbEIsaUJBQWlCOzs7c0JBNkNoQixLQUFLO3NCQUNMLEtBQUs7NEJBQ0wsS0FBSztxQkFDTCxLQUFLOzBCQUNMLEtBQUs7d0JBQ0wsS0FBSzs0QkFDTCxLQUFLO29DQUNMLEtBQUs7NkJBRUwsU0FBUyxTQUFDLGFBQWE7NEJBQ3ZCLFNBQVMsU0FBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0QWZ0ZXJWaWV3SW5pdCxcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXG5cdENvbXBvbmVudCxcblx0RWxlbWVudFJlZixcblx0SG9zdCxcblx0SW5qZWN0LFxuXHRJbmplY3Rpb25Ub2tlbixcblx0SW5wdXQsXG5cdE9uQ2hhbmdlcyxcblx0T25Jbml0LFxuXHRPcHRpb25hbCxcblx0U2ltcGxlQ2hhbmdlcyxcblx0Vmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDb250cm9sQ29udGFpbmVyLCBOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtpbnZhbGlkRGF0ZUtleX0gZnJvbSAnLi4vLi4vdmFsaWRhdG9ycy9kYXRlVmFsaWRhdG9yJztcbmltcG9ydCB7RGF0ZUZpbHRlckZuLCBNYXREYXRlcGlja2VyfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7RGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFMsIE1BVF9OQVRJVkVfREFURV9GT1JNQVRTLCBNYXREYXRlRm9ybWF0c30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0tscERhdGVGb3JtYXRzfSBmcm9tICcuLi8uLi90eXBlcyc7XG5pbXBvcnQge0Zvcm1FbGVtZW50Q29tcG9uZW50fSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0tZWxlbWVudC9mb3JtLWVsZW1lbnQuY29tcG9uZW50JztcbmltcG9ydCB7TXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZX0gZnJvbSAnLi4vdmFsdWUtYWNjZXNzb3ItYmFzZS9tdWx0aXBsZS12YWx1ZS1hY2Nlc3Nvci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQge2FycmF5SXNTZXRBbmRGaWxsZWQsIGlzVmFsdWVTZXQsIHJlbW92ZUR1cGxpY2F0ZXNGcm9tQXJyYXksIHN0cmluZ0lzU2V0QW5kRmlsbGVkfSBmcm9tICcuLi8uLi91dGlsL3ZhbHVlcyc7XG5pbXBvcnQge2VuZE9mTW9udGgsIGZvcm1hdCBhcyBmb3JtYXREYXRlLCBzdGFydE9mTW9udGgsIGlzU2FtZURheX0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5leHBvcnQgY29uc3QgS0xQX0RBVEVfRk9STUFUUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxLbHBEYXRlRm9ybWF0cz4oJ2tscC5mb3JtLmRhdGUuZm9ybWF0cycpO1xuZXhwb3J0IGNvbnN0IERBVEVfVElNRV9QSUNLRVJfVFJBTlNMQVRJT05TID0gbmV3IEluamVjdGlvblRva2VuPGFueT4oJ2tscC5mb3JtLmRhdGVUaW1lLnRyYW5zbGF0aW9ucycpO1xuZXhwb3J0IGNvbnN0IERBVEVfUElDS0VSX0xPQ0FMRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxhbnk+KCdrbHAuZm9ybS5kYXRlVGltZS5sb2NhbGUnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1hdERhdGVGb3JtYXRzRmFjdG9yeShjb21wb25lbnQ6IERhdGVUaW1lUGlja2VyQ29tcG9uZW50LCBkYXRlRm9ybWF0cz86IEtscERhdGVGb3JtYXRzKTogTWF0RGF0ZUZvcm1hdHMge1xuXHRyZXR1cm4gZGF0ZUZvcm1hdHM/Lihjb21wb25lbnQuZm9ybWF0KSA/PyBNQVRfTkFUSVZFX0RBVEVfRk9STUFUUztcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAna2xwLWZvcm0tZGF0ZS10aW1lLXBpY2tlcicsXG5cdHRlbXBsYXRlVXJsOiAnLi9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcblx0c3R5bGVVcmxzOiBbJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuXHRwcm92aWRlcnM6IFtcblx0XHR7cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEYXRlVGltZVBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWV9LFxuXHRcdHtcblx0XHRcdHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXG5cdFx0XHRkZXBzOiBbRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQsIFtuZXcgT3B0aW9uYWwoKSwgS0xQX0RBVEVfRk9STUFUU11dLFxuXHRcdFx0dXNlRmFjdG9yeTogbWF0RGF0ZUZvcm1hdHNGYWN0b3J5LFxuXHRcdH0sXG5cdF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGV4dGVuZHMgTXVsdGlwbGVWYWx1ZUFjY2Vzc29yQmFzZTxEYXRlIHwgdHlwZW9mIGludmFsaWREYXRlS2V5PiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcblx0QElucHV0KCkgcHVibGljIG1pbkRhdGU6IERhdGUgPSB1bmRlZmluZWQ7XG5cdEBJbnB1dCgpIHB1YmxpYyBtYXhEYXRlOiBEYXRlID0gdW5kZWZpbmVkO1xuXHRASW5wdXQoKSBwdWJsaWMgc2FtZU1vbnRoT25seSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgZm9ybWF0ID0gJ2RkLU1NLXl5eXknO1xuXHRASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXI6IHN0cmluZztcblx0QElucHV0KCkgcHVibGljIGNsZWFyYWJsZSA9IGZhbHNlO1xuXHRASW5wdXQoKSBwdWJsaWMgc2hvd1RpbWVJbnB1dCA9IHRydWU7XG5cdEBJbnB1dCgpIHB1YmxpYyBpbnZhbGlkVGltZUFzTWlkbmlnaHQgPSBmYWxzZTsgLy8gaWYgdGhlIHRpbWUgaXMgbm90IHZhbGlkLCB1c2UgMDA6MDAgYXMgdGhlIHRpbWVcblxuXHRAVmlld0NoaWxkKCduYXRpdmVJbnB1dCcpIG5hdGl2ZUlucHV0UmVmOiBFbGVtZW50UmVmO1xuXHRAVmlld0NoaWxkKCdwaWNrZXInKSBkYXRlUGlja2VyUmVmOiBNYXREYXRlcGlja2VyPERhdGU+O1xuXG5cdG9wZW5QaWNrZXJPbkRhdGU6IERhdGUgPSBudWxsO1xuXHRtaW5EYXRlU3RhcnRPZkRheTogRGF0ZSA9IHVuZGVmaW5lZDtcblx0bWF4RGF0ZUVuZE9mRGF5OiBEYXRlID0gdW5kZWZpbmVkO1xuXG5cdC8vIHRoaXMgaXMgcGFzc2VkIGFzIG5nbW9kZWwgYW5kIGlzIHVzZWQgdG8gc2V0IHRoZSBpbml0aWFsIGRhdGUuIEJ1dCB3ZSBhbHNvXG5cdC8vIHVzZSBpbnB1dCBhbmQgbmF0aXZlSW5wdXQgY2FsbGJhY2tzIHRvIGV4dGVuZCB0aGUgdmFsaWRhdGlvbiBsb2dpYyBzbyB3ZVxuXHQvLyBjYW4gZGlzdGluZ3Vpc2ggYmV0d2VlbiBlbXB0eSBhbmQgaW52YWxpZCBkYXRlcy5cblx0dmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXI6IERhdGU7XG5cdGhvdXJzOiBzdHJpbmc7IC8vIHN0cmluZyBiZWNhdXNlIGl0J3MgYSB0ZXh0IGlucHV0XG5cdG1pbnV0ZXM6IHN0cmluZzsgLy8gc3RyaW5nIGJlY2F1c2UgaXQncyBhIHRleHQgaW5wdXRcblx0cHJpdmF0ZSBzZWxlY3RlZERhdGVzOiBBcnJheTxEYXRlPiA9IFtdO1xuXHRwcml2YXRlIGRhdGVQaWNraW5nQ2xvc2luZ0ZuOiAoKSA9PiB2b2lkO1xuXHRwcml2YXRlIGRhdGVUb3VjaGVkID0gZmFsc2U7XG5cdHByaXZhdGUgaG91cnNUb3VjaGVkID0gZmFsc2U7XG5cdHByaXZhdGUgbWludXRlc1RvdWNoZWQgPSBmYWxzZTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRASG9zdCgpIEBPcHRpb25hbCgpIHByb3RlY3RlZCBwYXJlbnQ6IEZvcm1FbGVtZW50Q29tcG9uZW50LFxuXHRcdEBIb3N0KCkgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXIsXG5cdFx0QEluamVjdChEQVRFX1RJTUVfUElDS0VSX1RSQU5TTEFUSU9OUykgQE9wdGlvbmFsKCkgcHJpdmF0ZSB0cmFuc2xhdGlvbnM6IGFueSxcblx0XHRASW5qZWN0KERBVEVfUElDS0VSX0xPQ0FMRSkgQE9wdGlvbmFsKCkgcHJpdmF0ZSBkYXRlUGlja2VyTG9jYWxlOiBhbnksXG5cdFx0cHJpdmF0ZSBkYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8RGF0ZT4sXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXG5cdCkge1xuXHRcdHN1cGVyKHBhcmVudCwgY29udHJvbENvbnRhaW5lcik7XG5cdFx0aWYgKGlzVmFsdWVTZXQoZGF0ZVBpY2tlckxvY2FsZSkpIHtcblx0XHRcdGRhdGVBZGFwdGVyLnNldExvY2FsZShkYXRlUGlja2VyTG9jYWxlKCkpO1xuXHRcdH1cblx0fVxuXG5cdG5nT25Jbml0KCk6IHZvaWQge1xuXHRcdHN1cGVyLm5nT25Jbml0KCk7XG5cdFx0aWYgKHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHRoaXMucGxhY2Vob2xkZXIgPSAnJztcblx0XHRcdHRoaXMuc2hvd1RpbWVJbnB1dCA9IGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0Ly8gd2UgYXJlIGdvaW5nIHRvIG92ZXJ3cml0ZSB0aGUgZGF0ZXBpY2tlciBjbG9zaW5nIGZuIGxhdGVyLCBzbyB3ZSBhcmUgc2F2aW5nIGl0IGhlcmUgdG8gcmVzdG9yZSBpdCB3aGVuIG5lZWRlZFxuXHRcdFx0dGhpcy5kYXRlUGlja2luZ0Nsb3NpbmdGbiA9IHRoaXMuZGF0ZVBpY2tlclJlZi5jbG9zZTtcblx0XHR9XG5cdH1cblxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG5cdFx0aWYgKGNoYW5nZXMubWluRGF0ZSkge1xuXHRcdFx0dGhpcy5kZXRlcm1pbmVNaW5BbmRNYXhEYXRlcygpO1xuXHRcdH1cblx0XHRpZiAoY2hhbmdlcy5tYXhEYXRlKSB7XG5cdFx0XHR0aGlzLmRldGVybWluZU1pbkFuZE1heERhdGVzKCk7XG5cdFx0fVxuXHR9XG5cblx0c2V0TWluRGF0ZShtaW5EYXRlOiBEYXRlKTogdm9pZCB7XG5cdFx0aWYgKG1pbkRhdGUpIHtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkgPSBuZXcgRGF0ZShtaW5EYXRlKTtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkuc2V0SG91cnMoMCwgMCwgMCwgMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXkgPSB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0c2V0TWF4RGF0ZShtYXhEYXRlOiBEYXRlKTogdm9pZCB7XG5cdFx0aWYgKG1heERhdGUpIHtcblx0XHRcdHRoaXMubWF4RGF0ZUVuZE9mRGF5ID0gbmV3IERhdGUobWF4RGF0ZSk7XG5cdFx0XHR0aGlzLm1heERhdGVFbmRPZkRheS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLm1heERhdGVFbmRPZkRheSA9IHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHRnZXRTZWxlY3RlZE1vbnRocygpOiBudW1iZXIge1xuXHRcdHJldHVybiByZW1vdmVEdXBsaWNhdGVzRnJvbUFycmF5KHRoaXMuc2VsZWN0ZWREYXRlcy5tYXAoKGUpID0+IGZvcm1hdERhdGUoZSwgJ01NTU0nKSkpLmxlbmd0aDtcblx0fVxuXG5cdC8vIGRhdGVDaGFuZ2VkIGlzIGNhbGxlZCB3aGVuIHRoZSBvdXRwdXQgb2YgdGhlIGRhdGVwaWNrZXIgaXMgY2hhbmdlZCBhbmRcblx0Ly8gcGFyc2VkIGNvcnJlY3RseS4gSWYgdGhlIGRhdGUgaXMgaW52YWxpZCwgaXQgd2lsbCBiZSBjYWxsZWQgdGhlIGZpcnN0IHRpbWVcblx0Ly8gd2l0aCBudWxsIGJ1dCBuZXZlciBhZ2FpbiB1bnRpbCBhIHZhbGlkIGlucHV0IGlzIHByb3ZpZGVkLlxuXHRkYXRlQ2hhbmdlZChldmVudDogYW55KTogdm9pZCB7XG5cdFx0Y29uc3QgZGF0ZSA9IGV2ZW50LnZhbHVlO1xuXHRcdGlmICh0aGlzLm11bHRpcGxlKSB7XG5cdFx0XHR0aGlzLmRhdGVQaWNrZXJSZWYuY2xvc2UgPSAoKSA9PiB7XG5cdFx0XHR9O1xuXG5cdFx0XHRpZiAodGhpcy5zZWxlY3RlZERhdGVzLnNvbWUoKGUpID0+IGUuZ2V0VGltZSgpID09PSBkYXRlLmdldFRpbWUoKSkpIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gdGhpcy5zZWxlY3RlZERhdGVzLmZpbHRlcigoZSkgPT4gZS5nZXRUaW1lKCkgIT09IGRhdGUuZ2V0VGltZSgpKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IFsuLi50aGlzLnNlbGVjdGVkRGF0ZXMsIGRhdGVdO1xuXHRcdFx0fVxuXHRcdFx0Ly8gU1RBUlQgSEFDS1xuXHRcdFx0Ly8gdGhlIGRhdGUgcGlja2VyIGRvZXMgbm90IHByb3ZpZGUgYW55IHJlcmVuZGVyIGNhbGxzLiBUaGVyZWZvcmUsIHdlIGFyZSBnb2luZyB0byBjaGFuZ2UgdGhlIG1pbkRhdGUgaW4gb3JkZXIgdG8gZm9yY2UgdGhlIHJlbmRlclxuXHRcdFx0Ly8gVGhpcyBpcyBuZWVkZWQgdG8gc2hvdyBhbGwgc2VsZWN0ZWQgZGF5cyBpbiBvdXIgZGF0ZSBwaWNrZXJcblx0XHRcdC8vIFdlIGFsc28gc2V0IHRoZSBpbm5lclZhbHVlIHRvIG51bGwgKHdpdGggdGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IG51bGw7KSwgb3RoZXJ3aXNlIHlvdSBjYW4gbm90XG5cdFx0XHQvLyBkZXNlbGVjdCB5b3VyIGxhc3QgcGlja2VkIGRhdGVcblx0XHRcdHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSBudWxsO1xuXHRcdFx0Y29uc3Qgb2xkTWluRGF0ZSA9IHRoaXMubWluRGF0ZVN0YXJ0T2ZEYXk7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5ID0gbmV3IERhdGUoMCk7XG5cdFx0XHR0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR0aGlzLm1pbkRhdGVTdGFydE9mRGF5ID0gb2xkTWluRGF0ZTtcblx0XHRcdC8vIEVORCBIQUNLXG5cblx0XHRcdGlmICh0aGlzLnNhbWVNb250aE9ubHkpIHtcblx0XHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlcy5sZW5ndGggPj0gMikge1xuXHRcdFx0XHRcdGlmIChkYXRlIDwgc3RhcnRPZk1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlc1swXSkgfHwgZGF0ZSA+IGVuZE9mTW9udGgodGhpcy5zZWxlY3RlZERhdGVzWzBdKSkge1xuXHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gW2RhdGVdO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmRldGVybWluZU1pbkFuZE1heERhdGVzKCk7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeSh0aGlzLnNlbGVjdGVkRGF0ZXMpO1xuXHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuZGF0ZVBpY2tlclJlZi5jbG9zZSA9IHRoaXMuZGF0ZVBpY2tpbmdDbG9zaW5nRm47XG5cdFx0XHR9KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5ub3RpZnlOZXdEYXRlKCk7XG5cdFx0fVxuXHR9XG5cblx0ZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuc2FtZU1vbnRoT25seSkge1xuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlcy5sZW5ndGggPj0gMikge1xuXHRcdFx0XHR0aGlzLnNldE1pbkRhdGUoc3RhcnRPZk1vbnRoKHRoaXMuc2VsZWN0ZWREYXRlc1swXSkpO1xuXHRcdFx0XHR0aGlzLnNldE1heERhdGUoZW5kT2ZNb250aCh0aGlzLnNlbGVjdGVkRGF0ZXNbMF0pKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuc2V0TWluRGF0ZSh0aGlzLm1pbkRhdGUpO1xuXHRcdFx0XHR0aGlzLnNldE1heERhdGUodGhpcy5tYXhEYXRlKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5zZXRNaW5EYXRlKHRoaXMubWluRGF0ZSk7XG5cdFx0XHR0aGlzLnNldE1heERhdGUodGhpcy5tYXhEYXRlKTtcblx0XHR9XG5cdH1cblxuXHRub3RpZnlOZXdEYXRlKCk6IHZvaWQge1xuXHRcdGNvbnN0IG5hdGl2ZUlucHV0VmFsdWUgPSB0aGlzLm5hdGl2ZUlucHV0UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG5cdFx0Y29uc3QgcGFyc2VkSG91cnMgPSBOdW1iZXIodGhpcy5ob3Vycyk7XG5cdFx0Y29uc3QgcGFyc2VkTWludXRlcyA9IE51bWJlcih0aGlzLm1pbnV0ZXMpO1xuXG5cdFx0Ly8gaWYgd2UgZG9udCBoYXZlIHRoZSB0aW1lIGVsZW1lbnRcblx0XHRpZiAoIXRoaXMuc2hvd1RpbWVJbnB1dCkge1xuXHRcdFx0aWYgKCFzdHJpbmdJc1NldEFuZEZpbGxlZChuYXRpdmVJbnB1dFZhbHVlKSkge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobnVsbCk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHRcdGlmICh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyIGluc3RhbmNlb2YgRGF0ZSkge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlcik7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gd2hlbiBhbGwgaW5wdXRzIGFyZSBlbXB0eVxuXHRcdGlmICghc3RyaW5nSXNTZXRBbmRGaWxsZWQobmF0aXZlSW5wdXRWYWx1ZSkgJiYgIXN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMuaG91cnMpICYmICFzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLm1pbnV0ZXMpKSB7XG5cdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobnVsbCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXHRcdC8vIGlmIHdlIGhhdmUgZGF0ZSBhbmQgdGltZVxuXHRcdGlmIChcblx0XHRcdHN0cmluZ0lzU2V0QW5kRmlsbGVkKHRoaXMuaG91cnMpICYmXG5cdFx0XHROdW1iZXIuaXNGaW5pdGUocGFyc2VkSG91cnMpICYmXG5cdFx0XHRwYXJzZWRIb3VycyA+PSAwICYmXG5cdFx0XHRwYXJzZWRIb3VycyA8PSAyMyAmJlxuXHRcdFx0c3RyaW5nSXNTZXRBbmRGaWxsZWQodGhpcy5taW51dGVzKSAmJlxuXHRcdFx0TnVtYmVyLmlzRmluaXRlKHBhcnNlZE1pbnV0ZXMpICYmXG5cdFx0XHRwYXJzZWRNaW51dGVzID49IDAgJiZcblx0XHRcdHBhcnNlZE1pbnV0ZXMgPD0gNTkgJiZcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgaW5zdGFuY2VvZiBEYXRlXG5cdFx0KSB7XG5cdFx0XHRjb25zdCBuZXdEYXRlV2l0aEhvdXJzID0gbmV3IERhdGUodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlci5zZXRIb3VycyhwYXJzZWRIb3VycykpO1xuXHRcdFx0Y29uc3QgbmV3RGF0ZVdpdGhNaW51dGVzID0gbmV3IERhdGUobmV3RGF0ZVdpdGhIb3Vycy5zZXRNaW51dGVzKHBhcnNlZE1pbnV0ZXMpKTtcblx0XHRcdHRoaXMuc2V0SW5uZXJWYWx1ZUFuZE5vdGlmeShuZXdEYXRlV2l0aE1pbnV0ZXMpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpZiAodGhpcy5pbnZhbGlkVGltZUFzTWlkbmlnaHQpIHtcblx0XHRcdGlmICh0aGlzLnZhbHVlRm9yTWF0ZXJpYWxEYXRlUGlja2VyIGluc3RhbmNlb2YgRGF0ZSkge1xuXHRcdFx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkodGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlcik7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gYWxsIG90aGVyIGNhc2VzLCB3ZSBhcmUgbm90IGluIGEgdmFsaWQgc3RhdGVcblx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkoaW52YWxpZERhdGVLZXkpO1xuXHR9XG5cblx0d3JpdGVWYWx1ZSh2YWx1ZTogRGF0ZSB8IEFycmF5PERhdGU+IHwgdHlwZW9mIGludmFsaWREYXRlS2V5KTogdm9pZCB7XG5cdFx0c3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZXMgPSB2YWx1ZTtcblx0XHRcdHRoaXMuZGV0ZXJtaW5lTWluQW5kTWF4RGF0ZXMoKTtcblx0XHRcdHRoaXMudmFsdWVGb3JNYXRlcmlhbERhdGVQaWNrZXIgPSBudWxsO1xuXHRcdFx0aWYgKGFycmF5SXNTZXRBbmRGaWxsZWQodmFsdWUpKSB7XG5cdFx0XHRcdHRoaXMub3BlblBpY2tlck9uRGF0ZSA9IHRoaXMuc2VsZWN0ZWREYXRlc1swXTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IHZhbHVlID09PSBpbnZhbGlkRGF0ZUtleSA/IG51bGwgOiB2YWx1ZTtcblx0XHRcdGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcblx0XHRcdFx0dGhpcy5ob3VycyA9IFN0cmluZyh2YWx1ZS5nZXRIb3VycygpKTtcblx0XHRcdFx0dGhpcy5taW51dGVzID0gU3RyaW5nKHZhbHVlLmdldE1pbnV0ZXMoKSk7XG5cdFx0XHRcdHRoaXMuZm9ybWF0VGltZSgpO1xuXHRcdFx0XHR0aGlzLm9wZW5QaWNrZXJPbkRhdGUgPSB2YWx1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuaG91cnMgPSAnJztcblx0XHRcdFx0dGhpcy5taW51dGVzID0gJyc7XG5cdFx0XHRcdHRoaXMub3BlblBpY2tlck9uRGF0ZSA9IG51bGw7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlcyA9IFtdO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8vIG5hdGl2ZVZhbHVlQ2hhbmdlZCBpcyBjYWxsZWQgd2hlbiB0aGUgaW50ZXJuYWwgdGV4dCB2YWx1ZSBjaGFuZ2VzLCBidXQgbm90XG5cdC8vIHdoZW4gdGhlIGRhdGUgaXMgY2hhbmdlZCB2aWEgdGhlIGRhdGUgcGlja2VyLiBXZSBuZWVkIHRoaXMgc28gdGhhdCB3ZSBjYW5cblx0Ly8gZGV0ZXJtaW5lIGlmIHRoZSBkYXRlcGlja2VyIGlzIGVtcHR5IG9yIGludmFsaWQuXG5cdG5hdGl2ZVZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcblx0XHRpZiAodGhpcy5kYXRlUGlja2VyUmVmLm9wZW5lZCkge1xuXHRcdFx0Ly8gaWYgdGhlIHVzZXIgaXMgdHlwaW5nIGluc3RlYWQgb2YgdXNpbmcgdGhlIHBpY2tlciwgY2xvc2UgaXQuXG5cdFx0XHR0aGlzLmRhdGVQaWNrZXJSZWYuY2xvc2UoKTtcblx0XHR9XG5cdFx0dGhpcy5ub3RpZnlOZXdEYXRlKCk7XG5cdH1cblxuXHRyZXNldFRvTnVsbCgpOiB2b2lkIHtcblx0XHR0aGlzLnNldElubmVyVmFsdWVBbmROb3RpZnkobnVsbCk7XG5cdFx0dGhpcy52YWx1ZUZvck1hdGVyaWFsRGF0ZVBpY2tlciA9IG51bGw7XG5cdFx0dGhpcy5uYXRpdmVJbnB1dFJlZi5uYXRpdmVFbGVtZW50LnZhbHVlID0gbnVsbDtcblx0XHR0aGlzLmhvdXJzID0gJyc7XG5cdFx0dGhpcy5taW51dGVzID0gJyc7XG5cdFx0dGhpcy5zZWxlY3RlZERhdGVzID0gW107XG5cdH1cblxuXHRpc1NlbGVjdGVkID0gKGQ6IERhdGUpID0+IHtcblx0XHRpZiAodGhpcy5tdWx0aXBsZSkge1xuXHRcdFx0cmV0dXJuIHRoaXMuc2VsZWN0ZWREYXRlcy5zb21lKChlKSA9PiBpc1NhbWVEYXkoZSwgZCkpID8gJ3NlbGVjdGVkJyA6ICcnO1xuXHRcdH1cblx0XHRyZXR1cm4gJyc7XG5cdH07XG5cdGZpbHRlckRhdGVzOiBEYXRlRmlsdGVyRm48YW55PiA9IChlKSA9PiB7XG5cdFx0aWYgKHRoaXMuZGlzYWJsZWQpIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH07XG5cblx0Zm9ybWF0VGltZSgpOiB2b2lkIHtcblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKE51bWJlcih0aGlzLmhvdXJzKSkgJiYgdGhpcy5ob3Vycy5sZW5ndGggPT09IDEpIHtcblx0XHRcdHRoaXMuaG91cnMgPSAnMCcgKyB0aGlzLmhvdXJzO1xuXHRcdH1cblx0XHRpZiAoTnVtYmVyLmlzRmluaXRlKE51bWJlcih0aGlzLm1pbnV0ZXMpKSAmJiB0aGlzLm1pbnV0ZXMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHR0aGlzLm1pbnV0ZXMgPSAnMCcgKyB0aGlzLm1pbnV0ZXM7XG5cdFx0fVxuXHR9XG5cblx0dG91Y2hEYXRlKCk6IHZvaWQge1xuXHRcdHRoaXMuZGF0ZVRvdWNoZWQgPSB0cnVlO1xuXHRcdHRoaXMuZGV0ZXJtaW5lQWxsVG91Y2hlZCgpO1xuXHR9XG5cblx0dG91Y2hIb3VycygpOiB2b2lkIHtcblx0XHR0aGlzLmhvdXJzVG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5kZXRlcm1pbmVBbGxUb3VjaGVkKCk7XG5cdH1cblxuXHR0b3VjaE1pbnV0ZXMoKTogdm9pZCB7XG5cdFx0dGhpcy5taW51dGVzVG91Y2hlZCA9IHRydWU7XG5cdFx0dGhpcy5kZXRlcm1pbmVBbGxUb3VjaGVkKCk7XG5cdH1cblxuXHRkZXRlcm1pbmVBbGxUb3VjaGVkKCk6IHZvaWQge1xuXHRcdGlmICgodGhpcy5kYXRlVG91Y2hlZCAmJiB0aGlzLmhvdXJzVG91Y2hlZCAmJiB0aGlzLm1pbnV0ZXNUb3VjaGVkKSB8fCAodGhpcy5kYXRlVG91Y2hlZCAmJiAhdGhpcy5zaG93VGltZUlucHV0KSkge1xuXHRcdFx0dGhpcy50b3VjaCgpO1xuXHRcdH1cblx0fVxuXG5cblx0Z2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleTogc3RyaW5nKTogKHg6IGFueSkgPT4gc3RyaW5nIHtcblx0XHRzd2l0Y2ggKGtleSkge1xuXHRcdFx0Y2FzZSAncGxhY2Vob2xkZXInOlxuXHRcdFx0XHRyZXR1cm4gKCkgPT4gJ1NlbGVjdCBkYXRlJztcblx0XHRcdGNhc2UgJ3NlbGVjdERheXMnOlxuXHRcdFx0XHRyZXR1cm4gKCkgPT4gJ1NlbGVjdCBkYXkocyknO1xuXHRcdFx0Y2FzZSAnc2VsZWN0ZWREYXRlJzpcblx0XHRcdFx0cmV0dXJuIChkOiBEYXRlKSA9PiBkLnRvTG9jYWxlRGF0ZVN0cmluZygpO1xuXHRcdFx0Y2FzZSAnZGF5c1NlbGVjdGVkJzpcblx0XHRcdFx0cmV0dXJuIChhbW91bnQpID0+IGAke2Ftb3VudH0gZGF5cyBzZWxlY3RlZGA7XG5cdFx0XHRjYXNlICdzZWxlY3RlZEluTW9udGgnOlxuXHRcdFx0XHRyZXR1cm4gKGQ6IERhdGUpID0+IGAgaW4gJHtmb3JtYXREYXRlKGQsICdNTU1NJyl9YDtcblx0XHR9XG5cdH1cblxuXHRnZXRUcmFuc2xhdGlvbihrZXk6IHN0cmluZywgcGFyYW1zOiBhbnkgPSBudWxsKTogc3RyaW5nIHtcblx0XHRpZiAoa2V5ID09PSAncGxhY2Vob2xkZXInICYmIHRoaXMubXVsdGlwbGUpIHtcblx0XHRcdHJldHVybiAnJztcblx0XHR9XG5cdFx0aWYgKGtleSA9PT0gJ3BsYWNlaG9sZGVyJyAmJiBzdHJpbmdJc1NldEFuZEZpbGxlZCh0aGlzLnBsYWNlaG9sZGVyKSkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGxhY2Vob2xkZXI7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9ucz8uW2tleV0/LihwYXJhbXMpID8/IHRoaXMuZ2V0RGVmYXVsdFRyYW5zbGF0aW9uKGtleSkocGFyYW1zKTtcblx0fVxufVxuIl19
|
|
@@ -4,7 +4,7 @@ import { FormArray, FormGroup, FormControl, ControlContainer, NG_VALUE_ACCESSOR,
|
|
|
4
4
|
import { isString } from 'lodash';
|
|
5
5
|
import { SortablejsModule } from 'ngx-sortablejs';
|
|
6
6
|
import { NgSelectModule } from '@ng-select/ng-select';
|
|
7
|
-
import { parse, format, startOfMonth, endOfMonth } from 'date-fns';
|
|
7
|
+
import { parse, format, isSameDay, startOfMonth, endOfMonth } from 'date-fns';
|
|
8
8
|
import { MAT_NATIVE_DATE_FORMATS, MAT_DATE_FORMATS, DateAdapter, MatNativeDateModule } from '@angular/material/core';
|
|
9
9
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
10
10
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
@@ -1032,7 +1032,7 @@ class DateTimePickerComponent extends MultipleValueAccessorBase {
|
|
|
1032
1032
|
this.minutesTouched = false;
|
|
1033
1033
|
this.isSelected = (d) => {
|
|
1034
1034
|
if (this.multiple) {
|
|
1035
|
-
return this.selectedDates.some((e) => e
|
|
1035
|
+
return this.selectedDates.some((e) => isSameDay(e, d)) ? 'selected' : '';
|
|
1036
1036
|
}
|
|
1037
1037
|
return '';
|
|
1038
1038
|
};
|