ngx-np-datepicker 2.5.0 → 2.5.1
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/README.md +9 -2
- package/esm2020/lib/np-datepicker.component.mjs +8 -3
- package/esm2020/lib/types/date.interface.mjs +2 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-np-datepicker.mjs +7 -2
- package/fesm2015/ngx-np-datepicker.mjs.map +1 -1
- package/fesm2020/ngx-np-datepicker.mjs +7 -2
- package/fesm2020/ngx-np-datepicker.mjs.map +1 -1
- package/lib/np-datepicker.component.d.ts +3 -2
- package/lib/types/date.interface.d.ts +5 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
package/README.md
CHANGED
|
@@ -53,6 +53,14 @@ const nepalidate2 = this._nepaliDate.engToNepDate(day, month, year);
|
|
|
53
53
|
const englishdate = this._nepaliDate.nepToEngDate(day, month, year);
|
|
54
54
|
```
|
|
55
55
|
|
|
56
|
+
### Date Selected Event
|
|
57
|
+
dateSelected
|
|
58
|
+
```
|
|
59
|
+
<np-datepicker
|
|
60
|
+
[(ngModel)]="nepaliDate"
|
|
61
|
+
(dateSelected)="changeStartDate($event)"
|
|
62
|
+
></np-datepicker>
|
|
63
|
+
```
|
|
56
64
|
### Format
|
|
57
65
|
|
|
58
66
|
The supported date format is dd-mm-yyyy
|
|
@@ -64,5 +72,4 @@ MIT License
|
|
|
64
72
|
### 🔍 Key Fixes:
|
|
65
73
|
|
|
66
74
|
- Fixed date issues related to BS 2081 and 2082.
|
|
67
|
-
- Module import bug fixed.
|
|
68
|
-
- minor styles updated.
|
|
75
|
+
- Module import bug fixed.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, HostListener, Input, forwardRef, ViewEncapsulation, } from '@angular/core';
|
|
1
|
+
import { Component, HostListener, Input, forwardRef, ViewEncapsulation, Output, EventEmitter, } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
3
|
import { daysMapping, monthsMapping } from './mapping';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
@@ -22,6 +22,7 @@ export class NpDatePickerComponent {
|
|
|
22
22
|
this.language = 'ne';
|
|
23
23
|
this.hasFuture = true;
|
|
24
24
|
this.format = 'yy-mm-dd';
|
|
25
|
+
this.dateSelected = new EventEmitter();
|
|
25
26
|
this.monthDisplayType = 'default';
|
|
26
27
|
this.dayDisplayType = 'short';
|
|
27
28
|
this.dateFormatter = (selectedDate) => {
|
|
@@ -184,12 +185,14 @@ export class NpDatePickerComponent {
|
|
|
184
185
|
this.formatValue();
|
|
185
186
|
this.close();
|
|
186
187
|
this.propagateChange(this.selectedDate);
|
|
188
|
+
this.dateSelected.emit(this.selectedDate);
|
|
187
189
|
}
|
|
188
190
|
selectDate(day) {
|
|
189
191
|
this.selectedDate = { ...this.currentNepaliDate, day };
|
|
190
192
|
this.formatValue();
|
|
191
193
|
this.close();
|
|
192
194
|
this.propagateChange(this.selectedDate);
|
|
195
|
+
this.dateSelected.emit(this.selectedDate);
|
|
193
196
|
}
|
|
194
197
|
prevMonth() {
|
|
195
198
|
if (this.currentNepaliDate.month <= 0) {
|
|
@@ -237,7 +240,7 @@ export class NpDatePickerComponent {
|
|
|
237
240
|
}
|
|
238
241
|
}
|
|
239
242
|
NpDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NpDatePickerComponent, deps: [{ token: i1.NpDatePickerService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
240
|
-
NpDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NpDatePickerComponent, selector: "np-datepicker", inputs: { theme: "theme", language: "language", hasFuture: "hasFuture", format: "format" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
|
|
243
|
+
NpDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NpDatePickerComponent, selector: "np-datepicker", inputs: { theme: "theme", language: "language", hasFuture: "hasFuture", format: "format" }, outputs: { dateSelected: "dateSelected" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
|
|
241
244
|
{
|
|
242
245
|
provide: NG_VALUE_ACCESSOR,
|
|
243
246
|
useExisting: forwardRef(() => NpDatePickerComponent),
|
|
@@ -261,8 +264,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
261
264
|
type: Input
|
|
262
265
|
}], format: [{
|
|
263
266
|
type: Input
|
|
267
|
+
}], dateSelected: [{
|
|
268
|
+
type: Output
|
|
264
269
|
}], clickout: [{
|
|
265
270
|
type: HostListener,
|
|
266
271
|
args: ['document:click', ['$event']]
|
|
267
272
|
}] } });
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnAtZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ucHgtbnAtZGF0ZXBpY2tlci9zcmMvbGliL25wLWRhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnB4LW5wLWRhdGVwaWNrZXIvc3JjL2xpYi9ucC1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFHWixLQUFLLEVBQ0wsVUFBVSxFQUNWLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTekUsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7OztBQWV2RCxNQUFNLE9BQU8scUJBQXFCO0lBMkRoQyxZQUNTLFdBQWdDLEVBQy9CLElBQWdCO1FBRGpCLGdCQUFXLEdBQVgsV0FBVyxDQUFxQjtRQUMvQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBNUQxQixvQkFBZSxHQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUM1RCxzQkFBaUIsR0FBZSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFFOUQsa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFLbkIsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUlyQixnQkFBVyxHQUFnQixXQUFXLENBQUM7UUFFdkMsa0JBQWEsR0FBaUIsYUFBYSxDQUFDO1FBRTVDLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBS3RCLGFBQVEsR0FBZ0IsSUFBSSxDQUFDO1FBQ3BCLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFDMUIsV0FBTSxHQUFXLFVBQVUsQ0FBQztRQUVyQyxxQkFBZ0IsR0FBbUMsU0FBUyxDQUFDO1FBRTdELG1CQUFjLEdBQXdCLE9BQU8sQ0FBQztRQUU5QyxrQkFBYSxHQUFrQixDQUFDLFlBQXdCLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEVBQUUsR0FDTixZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7WUFDcEUsTUFBTSxFQUFFLEdBQ04sWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFN0IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNuQixLQUFLLFVBQVU7b0JBQ2IsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakQ7b0JBQ0UsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQzthQUNsRDtRQUNILENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBOEY3QixvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDakMsbUJBQWMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBbEY5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQWhCRCxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7SUFjRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0Isc0NBQXNDO0lBQ3hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsT0FBTyxDQUFDLEdBQUcsRUFDWCxPQUFPLENBQUMsS0FBSyxFQUNiLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBTTtRQUNoQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLGVBQWUsR0FDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUMvRCxLQUFLLENBQ04sSUFBSSxDQUFDLENBQUM7UUFFVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztRQUUvQyxNQUFNLGFBQWEsR0FBRztZQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsYUFBYSxDQUFDLEdBQUcsRUFDakIsYUFBYSxDQUFDLEtBQUssRUFDbkIsYUFBYSxDQUFDLElBQUksQ0FDbkIsQ0FBQztRQUNGLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixDQUFDLEVBQUUsRUFBRTtZQUNMLENBQUMsRUFBRSxFQUFFO1lBQ0wsQ0FBQyxFQUFFLEVBQUU7WUFDTCxDQUFDLEVBQUUsRUFBRTtZQUNMLENBQUMsRUFBRSxFQUFFO1lBQ0wsQ0FBQyxFQUFFLEVBQUU7WUFDTCxDQUFDLEVBQUUsRUFBRTtTQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBQ0QsaUJBQWlCLEtBQUksQ0FBQztJQUN0QixnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUMvQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDdEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3Qiw4Q0FBOEM7UUFDOUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxvQkFBb0IsR0FDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FDN0IsQ0FBQztRQUVKLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQ3BCLEdBQUcsR0FBRyxDQUFDLEVBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQzlCLG9CQUFvQixDQUNyQixDQUFDO1FBRUYsa0ZBQWtGO1FBQ2xGLGlHQUFpRztRQUNqRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBUSxFQUFFLElBQVM7UUFDcEMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ2IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDVDtZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVEsRUFBRSxJQUFTLEVBQUUsb0JBQXlCO1FBQzlELE1BQU0sVUFBVSxHQUFHO1lBQ2pCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBRUYsa0RBQWtEO1FBQ2xELElBQUksSUFBSSxJQUFJLG9CQUFvQixFQUFFO1lBQ2hDLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRTtnQkFDWCxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ1Q7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZix1Q0FBdUM7UUFDdkMsaUZBQWlGO1FBQ2pGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLEtBQVUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZELEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JCLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDbEI7WUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsRUFBRTtZQUNaLEtBQUssUUFBUSxFQUFFLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQzthQUM1RDtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUNwRCxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFDMUIsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEVBQzNCLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUMvQixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVLENBQUMsR0FBVztRQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDdkQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDL0I7YUFBTTtZQUNMLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNoQztRQUVELE1BQU0sYUFBYSxHQUFHO1lBQ3BCLEdBQUcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRztZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO1NBQ2xDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUM5QyxhQUFhLENBQUMsR0FBRyxFQUNqQixhQUFhLENBQUMsS0FBSyxFQUNuQixhQUFhLENBQUMsSUFBSSxDQUNuQixDQUFDO1FBRUYsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3RDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO1FBRUQsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsT0FBTyxDQUFDLEdBQUcsRUFDWCxPQUFPLENBQUMsS0FBSyxFQUNiLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztRQUNGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDNUI7SUFDSCxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7UUFDcEIsd0JBQXdCO0lBQzFCLENBQUM7O2tIQTFVVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixtTUFUckI7UUFDVDtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztZQUNwRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsMEJDL0JILGs1TUF1SkE7MkZEckhhLHFCQUFxQjtrQkFiakMsU0FBUzsrQkFDRSxlQUFlLGFBR2Q7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsc0JBQXNCLENBQUM7NEJBQ3BELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLGlCQUNjLGlCQUFpQixDQUFDLElBQUk7bUlBMEJyQyxLQUFLO3NCQURKLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQXlCTixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgT25Jbml0LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSW5wdXQsXHJcbiAgZm9yd2FyZFJlZixcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTnBEYXRlUGlja2VyU2VydmljZSB9IGZyb20gJy4vbnAtZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBOZXBhbGlEYXRlLFxyXG4gIE1vbnRoRGF0YSxcclxuICBEYXlzTWFwcGluZyxcclxuICBNb250aE1hcHBpbmcsXHJcbiAgRGF0ZUZvcm1hdHRlcixcclxufSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgZGF5c01hcHBpbmcsIG1vbnRoc01hcHBpbmcgfSBmcm9tICcuL21hcHBpbmcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICducC1kYXRlcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnAtZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25wLWRhdGUtcGlja2VyLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5wRGF0ZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOcERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBuZXBhbGlEYXRlVG9kYXk6IE5lcGFsaURhdGUgPSB7IGRheTogMCwgbW9udGg6IDAsIHllYXI6IDAgfTtcclxuICBjdXJyZW50TmVwYWxpRGF0ZTogTmVwYWxpRGF0ZSA9IHsgZGF5OiAwLCBtb250aDogMCwgeWVhcjogMCB9O1xyXG4gIHNlbGVjdGVkRGF0ZSE6IE5lcGFsaURhdGU7XHJcbiAgZm9ybWF0dGVkRGF0ZSA9ICcnO1xyXG4gIGN1cnJlbnREYXRlOiBhbnk7XHJcblxyXG4gIGRpc3BsYXlEYXRlITogc3RyaW5nO1xyXG5cclxuICB5ZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgY3VycmVudE1vbnRoRGF0YSE6IGFueTtcclxuXHJcbiAgZGF5c01hcHBpbmc6IERheXNNYXBwaW5nID0gZGF5c01hcHBpbmc7XHJcblxyXG4gIG1vbnRoc01hcHBpbmc6IE1vbnRoTWFwcGluZyA9IG1vbnRoc01hcHBpbmc7XHJcblxyXG4gIGlzT3BlbiA9IGZhbHNlO1xyXG5cclxuICBoaWRlSW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgYWx3YXlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRoZW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFuZ3VhZ2U6ICdlbicgfCAnbmUnID0gJ25lJztcclxuICBASW5wdXQoKSBoYXNGdXR1cmU6IEJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZvcm1hdDogc3RyaW5nID0gJ3l5LW1tLWRkJztcclxuXHJcbiAgbW9udGhEaXNwbGF5VHlwZTogJ2RlZmF1bHQnIHwgJ21vZGVybicgfCAnc2hvcnQnID0gJ2RlZmF1bHQnO1xyXG5cclxuICBkYXlEaXNwbGF5VHlwZTogJ2RlZmF1bHQnIHwgJ3Nob3J0JyA9ICdzaG9ydCc7XHJcblxyXG4gIGRhdGVGb3JtYXR0ZXI6IERhdGVGb3JtYXR0ZXIgPSAoc2VsZWN0ZWREYXRlOiBOZXBhbGlEYXRlKSA9PiB7XHJcbiAgICBjb25zdCBkZCA9XHJcbiAgICAgIHNlbGVjdGVkRGF0ZS5kYXkgPCAxMCA/ICcwJyArIHNlbGVjdGVkRGF0ZS5kYXkgOiBzZWxlY3RlZERhdGUuZGF5O1xyXG4gICAgY29uc3QgbW0gPVxyXG4gICAgICBzZWxlY3RlZERhdGUubW9udGggKyAxIDwgMTBcclxuICAgICAgICA/ICcwJyArIChzZWxlY3RlZERhdGUubW9udGggKyAxKVxyXG4gICAgICAgIDogc2VsZWN0ZWREYXRlLm1vbnRoICsgMTtcclxuXHJcbiAgICBzd2l0Y2ggKHRoaXMuZm9ybWF0KSB7XHJcbiAgICAgIGNhc2UgJ2RkLW1tLXl5JzpcclxuICAgICAgICByZXR1cm4gYCR7ZGR9LyR7bW19LyR7dGhpcy5zZWxlY3RlZERhdGUueWVhcn1gO1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBgJHt0aGlzLnNlbGVjdGVkRGF0ZS55ZWFyfS8ke21tfS8ke2RkfWA7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgaW5pdGlhbGl6ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIGNsaWNrb3V0KGV2ZW50OiBhbnkpIHtcclxuICAgIGlmICghdGhpcy5lUmVmLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSkge1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBfbmVwYWxpRGF0ZTogTnBEYXRlUGlja2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgZVJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLm5lcGFsaURhdGVUb2RheSA9IF9uZXBhbGlEYXRlLmVuZ1RvTmVwRGF0ZShcclxuICAgICAgdGhpcy5jdXJyZW50RGF0ZS5nZXREYXRlKCksXHJcbiAgICAgIHRoaXMuY3VycmVudERhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldEN1cnJlbnREYXRlKCk7XHJcbiAgICAvL3RoaXMuc2VsZWN0RGF0ZSh0aGlzLmN1cnJlbnROZXBhbGlEYXRlLmRheSk7XHJcbiAgICB0aGlzLnBvcHVsYXRlWWVhcnMoKTtcclxuICAgIHRoaXMuc2V0Q3VycmVudE1vbnRoRGF0YSgpO1xyXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5jdXJyZW50TW9udGhEYXRhKTtcclxuICB9XHJcblxyXG4gIHBvcHVsYXRlWWVhcnMoKSB7XHJcbiAgICBmb3IgKGxldCBpID0gMjAwMTsgaSA8PSAyMDk5OyBpKyspIHtcclxuICAgICAgdGhpcy55ZWFycy5wdXNoKGkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0WWVhcihlOiBhbnkpIHtcclxuICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhciA9IHBhcnNlSW50KGUudGFyZ2V0LnZhbHVlKTtcclxuXHJcbiAgICBjb25zdCBuZXdEYXRlID0ge1xyXG4gICAgICBkYXk6IHRoaXMuY3VycmVudE5lcGFsaURhdGUuZGF5LFxyXG4gICAgICBtb250aDogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCxcclxuICAgICAgeWVhcjogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS55ZWFyLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gdGhpcy5fbmVwYWxpRGF0ZS5uZXBUb0VuZ0RhdGUoXHJcbiAgICAgIG5ld0RhdGUuZGF5LFxyXG4gICAgICBuZXdEYXRlLm1vbnRoLFxyXG4gICAgICBuZXdEYXRlLnllYXJcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zZXRDdXJyZW50TW9udGhEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RNb250aChlOiBhbnkpIHtcclxuICAgIGxldCBtb250aCA9IGUudGFyZ2V0LnZhbHVlO1xyXG4gICAgbGV0IG5lcF9tb250aF9pbmRleCA9XHJcbiAgICAgIHRoaXMubW9udGhzTWFwcGluZ1t0aGlzLmxhbmd1YWdlXVt0aGlzLm1vbnRoRGlzcGxheVR5cGVdPy5pbmRleE9mKFxyXG4gICAgICAgIG1vbnRoXHJcbiAgICAgICkgPz8gMDtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoID0gbmVwX21vbnRoX2luZGV4O1xyXG5cclxuICAgIGNvbnN0IG5ld05lcGFsaURhdGUgPSB7XHJcbiAgICAgIGRheTogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXksXHJcbiAgICAgIG1vbnRoOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoLFxyXG4gICAgICB5ZWFyOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIsXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuY3VycmVudERhdGUgPSB0aGlzLl9uZXBhbGlEYXRlLm5lcFRvRW5nRGF0ZShcclxuICAgICAgbmV3TmVwYWxpRGF0ZS5kYXksXHJcbiAgICAgIG5ld05lcGFsaURhdGUubW9udGgsXHJcbiAgICAgIG5ld05lcGFsaURhdGUueWVhclxyXG4gICAgKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudERhdGUpO1xyXG4gICAgdGhpcy5zZXRDdXJyZW50TW9udGhEYXRhKCk7XHJcbiAgfVxyXG5cclxuICByZXNldEN1cnJlbnRNb250aERhdGEoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGEgPSB7XHJcbiAgICAgIDA6IFtdLFxyXG4gICAgICAxOiBbXSxcclxuICAgICAgMjogW10sXHJcbiAgICAgIDM6IFtdLFxyXG4gICAgICA0OiBbXSxcclxuICAgICAgNTogW10sXHJcbiAgICAgIDY6IFtdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGZvcm1hdFZhbHVlKCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0dGVkRGF0ZSA9IHRoaXMuZGF0ZUZvcm1hdHRlcih0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xyXG4gIHByb3BhZ2F0ZVRvdWNoID0gKF86IGFueSkgPT4ge307XHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmZvcm1hdFZhbHVlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCkge31cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXRDdXJyZW50RGF0ZSgpIHtcclxuICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZSA9IHRoaXMuX25lcGFsaURhdGUuZW5nVG9OZXBEYXRlKFxyXG4gICAgICAgIHRoaXMuY3VycmVudERhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICAgIHRoaXMuY3VycmVudERhdGUuZ2V0TW9udGgoKSxcclxuICAgICAgICB0aGlzLmN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKClcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IHsgZGF5LCBtb250aCwgeWVhciB9ID0gdGhpcy5zZWxlY3RlZERhdGU7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUgPSB0aGlzLl9uZXBhbGlEYXRlLmVuZ1RvTmVwRGF0ZShkYXksIG1vbnRoLCB5ZWFyKTtcclxuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IHRoaXMuX25lcGFsaURhdGUubmVwVG9FbmdEYXRlKFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLnllYXIsXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUubW9udGgsXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUuZGF5XHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDdXJyZW50TW9udGhEYXRhKCkge1xyXG4gICAgdGhpcy5yZXNldEN1cnJlbnRNb250aERhdGEoKTtcclxuXHJcbiAgICAvLyBmaWxsIHRoZSBjdXJyZW50TW9udGhEYXRhIHdpdGggY3VycmVudCBkYXRlXHJcbiAgICBsZXQgZGF5ID0gdGhpcy5jdXJyZW50RGF0ZS5nZXREYXkoKTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGFbZGF5XSA9IFt0aGlzLmN1cnJlbnROZXBhbGlEYXRlLmRheV07XHJcblxyXG4gICAgLy8gZmlsbCB0aGUgY3VycmVudE1vbnRoRGF0YSB3aXRoIGRheSBiZWZvcmUgdGhlIGN1cnJlbnQgZGF0ZVxyXG4gICAgdGhpcy5zZXRNb250aERhdGFCZWZvcmUoZGF5IC0gMSwgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXkgLSAxKTtcclxuXHJcbiAgICB2YXIgY3VycmVudE1vbnRoTWF4VmFsdWUgPVxyXG4gICAgICB0aGlzLl9uZXBhbGlEYXRlLm5lcGFsaU1vbnRoc1t0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIgLSAyMDAwXVtcclxuICAgICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoXHJcbiAgICAgIF07XHJcblxyXG4gICAgLy8gZmlsbCB0aGUgY3VycmVudE1vbnRoRGF0YSB3aXRoIGRheSBhZnRlciB0aGUgY3VycmVudCBkYXRlXHJcbiAgICB0aGlzLnNldE1vbnRoRGF0YUFmdGVyKFxyXG4gICAgICBkYXkgKyAxLFxyXG4gICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLmRheSArIDEsXHJcbiAgICAgIGN1cnJlbnRNb250aE1heFZhbHVlXHJcbiAgICApO1xyXG5cclxuICAgIC8vIHdlIG5lZWQgc29tZSBlbXB0eSBzcGFjZXMgaW4gcGxhY2Ugc28gdGhhdCB0aGUgZGF0ZXMgYXJlIHNob3duIGluIGNvcnJlY3Qgb3JkZXJcclxuICAgIC8vIGVnIGlmIHRoZSAxc3QgZGF5IHN0YXJ0cyBvbiBtb25kYXkgdGhlbiB3ZSBuZWVkIDEgZW1wdHkgc3BhY2UgZm9yIG5vbiBleGlzdGluZ24gZGF0ZSBvbiBTdW5kYXlcclxuICAgIHRoaXMuY3JlYXRlRW1wdHlTcGFjZXMoKTtcclxuICB9XHJcblxyXG4gIHNldE1vbnRoRGF0YUJlZm9yZShkYXk6IGFueSwgZGF0ZTogYW55KSB7XHJcbiAgICBpZiAoZGF0ZSA+PSAxKSB7XHJcbiAgICAgIGlmIChkYXkgPCAwKSB7XHJcbiAgICAgICAgZGF5ID0gNjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRNb250aERhdGFbZGF5XSA9IFtkYXRlLCAuLi50aGlzLmN1cnJlbnRNb250aERhdGFbZGF5XV07XHJcbiAgICAgIHRoaXMuc2V0TW9udGhEYXRhQmVmb3JlKC0tZGF5LCAtLWRhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TW9udGhEYXRhQWZ0ZXIoZGF5OiBhbnksIGRhdGU6IGFueSwgY3VycmVudE1vbnRoTWF4VmFsdWU6IGFueSkge1xyXG4gICAgY29uc3QgbmVwYWxpRGF0ZSA9IHtcclxuICAgICAgZGF5OiBkYXRlLFxyXG4gICAgICBtb250aDogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCxcclxuICAgICAgeWVhcjogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS55ZWFyLFxyXG4gICAgfTtcclxuXHJcbiAgICAvLyAgb25seSBhZGQgdGhlIGRhdGEgaWYgdGhlIGN1cnJlbnQgbW9udGggbWF0Y2hlc1xyXG4gICAgaWYgKGRhdGUgPD0gY3VycmVudE1vbnRoTWF4VmFsdWUpIHtcclxuICAgICAgaWYgKGRheSA+IDYpIHtcclxuICAgICAgICBkYXkgPSAwO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0YVtkYXldID0gWy4uLnRoaXMuY3VycmVudE1vbnRoRGF0YVtkYXldLCBkYXRlXTtcclxuICAgICAgdGhpcy5zZXRNb250aERhdGFBZnRlcigrK2RheSwgKytkYXRlLCBjdXJyZW50TW9udGhNYXhWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjcmVhdGVFbXB0eVNwYWNlcygpIHtcclxuICAgIC8vIGZpcnN0IGZpbmQgb3V0IHdoaWNoIGRheSBoYXMgdGhlIDFzdFxyXG4gICAgLy8gIGlmIGl0cyBhIFN1bmRheSwgdGhlbiBkb24ndCBkbyBhbnl0aGluZyBlbHNlIGFkZCAxIHNwYWNlIG9uIGVhY2ggcHJldmlvdXMgZGF5XHJcbiAgICBsZXQgZGF5SW5kZXggPSAwO1xyXG4gICAgbGV0IHZhbHVlOiBhbnk7XHJcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuY3VycmVudE1vbnRoRGF0YSkubWFwKChpdGVtLCBpbmRleCkgPT4ge1xyXG4gICAgICB2YWx1ZSA9IGl0ZW07XHJcbiAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcygxKSkge1xyXG4gICAgICAgIGRheUluZGV4ID0gaW5kZXg7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHZhbHVlLmluY2x1ZGVzKDEpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgaWYgKGRheUluZGV4KSB7XHJcbiAgICAgIGZvciAoZGF5SW5kZXg7IGRheUluZGV4ID4gMDsgZGF5SW5kZXgtLSkge1xyXG4gICAgICAgIGNvbnN0IG1vbnRoRGF0YSA9IHRoaXMuY3VycmVudE1vbnRoRGF0YVtkYXlJbmRleCAtIDFdO1xyXG4gICAgICAgIHRoaXMuY3VycmVudE1vbnRoRGF0YVtkYXlJbmRleCAtIDFdID0gW251bGwsIC4uLm1vbnRoRGF0YV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdFRvZGF5KCkge1xyXG4gICAgY29uc3QgRW5nbGlzdERhdGVUb2RheSA9IG5ldyBEYXRlKCk7XHJcbiAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlID0gdGhpcy5fbmVwYWxpRGF0ZS5lbmdUb05lcERhdGUoXHJcbiAgICAgIEVuZ2xpc3REYXRlVG9kYXkuZ2V0RGF0ZSgpLFxyXG4gICAgICBFbmdsaXN0RGF0ZVRvZGF5LmdldE1vbnRoKCksXHJcbiAgICAgIEVuZ2xpc3REYXRlVG9kYXkuZ2V0RnVsbFllYXIoKVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkRGF0ZSA9IHsgLi4udGhpcy5jdXJyZW50TmVwYWxpRGF0ZSB9O1xyXG4gICAgdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGF0ZShkYXk6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB7IC4uLnRoaXMuY3VycmVudE5lcGFsaURhdGUsIGRheSB9O1xyXG4gICAgdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHJldk1vbnRoKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudE5lcGFsaURhdGUubW9udGggPD0gMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoID0gMTE7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhci0tO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aC0tO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld05lcGFsaURhdGUgPSB7XHJcbiAgICAgIGRheTogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXksXHJcbiAgICAgIG1vbnRoOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoLFxyXG4gICAgICB5ZWFyOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IHRoaXMuX25lcGFsaURhdGUubmVwVG9FbmdEYXRlKFxyXG4gICAgICBuZXdOZXBhbGlEYXRlLmRheSxcclxuICAgICAgbmV3TmVwYWxpRGF0ZS5tb250aCxcclxuICAgICAgbmV3TmVwYWxpRGF0ZS55ZWFyXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2V0Q3VycmVudE1vbnRoRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmV4dE1vbnRoKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudE5lcGFsaURhdGUubW9udGggPj0gMTEpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCA9IDA7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhcisrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCsrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld0RhdGUgPSB7XHJcbiAgICAgIGRheTogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXksXHJcbiAgICAgIG1vbnRoOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoLFxyXG4gICAgICB5ZWFyOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IHRoaXMuX25lcGFsaURhdGUubmVwVG9FbmdEYXRlKFxyXG4gICAgICBuZXdEYXRlLmRheSxcclxuICAgICAgbmV3RGF0ZS5tb250aCxcclxuICAgICAgbmV3RGF0ZS55ZWFyXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZXRDdXJyZW50TW9udGhEYXRhKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuKCkge1xyXG4gICAgaWYgKCF0aGlzLmFsd2F5c1Zpc2libGUpIHtcclxuICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgLy90aGlzLnNldEN1cnJlbnREYXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJuZXBhbGktZGF0ZS1waWNrZXJcIiBbbmdDbGFzc109XCJ0aGVtZVwiPlxyXG4gIDxpbnB1dFxyXG4gICAgY2xhc3M9XCJuZ3hfbnBfZGF0ZXBpY2tlcl9pbnB1dFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBbdmFsdWVdPVwiZm9ybWF0dGVkRGF0ZVwiXHJcbiAgICAoZm9jdXMpPVwib3BlbigpXCJcclxuICAgIChrZXlkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcclxuICAgIHBsYWNlaG9sZGVyPVwieXl5eS9tbS9kZFwiXHJcbiAgLz5cclxuICA8YVxyXG4gICAgY2xhc3M9XCJmb3JtLWljb25cIlxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZU9wZW4oKVwiXHJcbiAgICBbbmdDbGFzc109XCJpc09wZW4gPyAnYWN0aXZlJyA6ICcnXCJcclxuICA+XHJcbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQ0OCA1MTJcIj5cclxuICAgICAgPHBhdGhcclxuICAgICAgICBkPVwiTTE1MiA2NEgyOTZWMjRDMjk2IDEwLjc1IDMwNi43IDAgMzIwIDBDMzMzLjMgMCAzNDQgMTAuNzUgMzQ0IDI0VjY0SDM4NEM0MTkuMyA2NCA0NDggOTIuNjUgNDQ4IDEyOFY0NDhDNDQ4IDQ4My4zIDQxOS4zIDUxMiAzODQgNTEySDY0QzI4LjY1IDUxMiAwIDQ4My4zIDAgNDQ4VjEyOEMwIDkyLjY1IDI4LjY1IDY0IDY0IDY0SDEwNFYyNEMxMDQgMTAuNzUgMTE0LjcgMCAxMjggMEMxNDEuMyAwIDE1MiAxMC43NSAxNTIgMjRWNjR6TTQ4IDQ0OEM0OCA0NTYuOCA1NS4xNiA0NjQgNjQgNDY0SDM4NEMzOTIuOCA0NjQgNDAwIDQ1Ni44IDQwMCA0NDhWMTkySDQ4VjQ0OHpcIlxyXG4gICAgICAvPlxyXG4gICAgPC9zdmc+XHJcbiAgPC9hPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibnBkcFwiICpuZ0lmPVwiaXNPcGVuXCI+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI25wZHA+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXJfX2NvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXJfX29wdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgIDxhIGNsYXNzPVwicHJldi1tb250aFwiIChjbGljayk9XCJwcmV2TW9udGgoKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0yMjQgNDgwYy04LjE4OCAwLTE2LjM4LTMuMTI1LTIyLjYyLTkuMzc1bC0xOTItMTkyYy0xMi41LTEyLjUtMTIuNS0zMi43NSAwLTQ1LjI1bDE5Mi0xOTJjMTIuNS0xMi41IDMyLjc1LTEyLjUgNDUuMjUgMHMxMi41IDMyLjc1IDAgNDUuMjVMNzcuMjUgMjU2bDE2OS40IDE2OS40YzEyLjUgMTIuNSAxMi41IDMyLjc1IDAgNDUuMjVDMjQwLjQgNDc2LjkgMjMyLjIgNDgwIDIyNCA0ODB6XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPGEgY2xhc3M9XCJzZWxlY3QtdG9kYXlcIiAoY2xpY2spPVwic2VsZWN0VG9kYXkoKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ob21lXCI+PHBhdGggZD1cIk0zIDlsOS03IDkgN3YxMWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjkgMjIgOSAxMiAxNSAxMiAxNSAyMlwiPjwvcG9seWxpbmU+PC9zdmc+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlcGlja2VyX19vcHRpb25zLW1vbnRoLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgIGxldCBtb250aCBvZiBtb250aHNNYXBwaW5nW2xhbmd1YWdlXVttb250aERpc3BsYXlUeXBlXTtcclxuICAgICAgICAgICAgICBpbmRleCBhcyBpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJtb250aFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpID09PSBjdXJyZW50TmVwYWxpRGF0ZT8ubW9udGhcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBtb250aCB9fVxyXG4gICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlcGlja2VyX19vcHRpb25zLXllYXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT1cInNlbGVjdFllYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyczsgaW5kZXggYXMgaVwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ5ZWFyXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cInllYXIgPT0gY3VycmVudE5lcGFsaURhdGU/LnllYXJcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyB5ZWFyIHwgdG9OcDogbGFuZ3VhZ2U6XCJudW1iZXJcIiB9fVxyXG4gICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgXHJcbiAgICAgIDxhIGNsYXNzPVwibmV4dC1tb250aFwiIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk05NiA0ODBjLTguMTg4IDAtMTYuMzgtMy4xMjUtMjIuNjItOS4zNzVjLTEyLjUtMTIuNS0xMi41LTMyLjc1IDAtNDUuMjVMMjQyLjggMjU2TDczLjM4IDg2LjYzYy0xMi41LTEyLjUtMTIuNS0zMi43NSAwLTQ1LjI1czMyLjc1LTEyLjUgNDUuMjUgMGwxOTIgMTkyYzEyLjUgMTIuNSAxMi41IDMyLjc1IDAgNDUuMjVsLTE5MiAxOTJDMTEyLjQgNDc2LjkgMTA0LjIgNDgwIDk2IDQ4MHpcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlcl9fZGF5cy1jb250YWluZXJcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlcl9fZGF5c1wiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzTWFwcGluZ1tsYW5ndWFnZV1bZGF5RGlzcGxheVR5cGVdOyBpbmRleCBhcyBpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyX193ZWVrZGF5XCI+e3sgZGF5IH19PC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJkYXRlcGlja2VyX19kYXRlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0ZSBvZiBjdXJyZW50TW9udGhEYXRhW2ldXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGFzRnV0dXJlOyBlbHNlIG5vRnV0dXJlRGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXJfX2RhdGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kYXRlcGlja2VyX19kYXRlLS1hY3RpdmVdPVwiXHJcbiAgICAgICAgICAgICAgICBkYXRlID09PSBzZWxlY3RlZERhdGU/LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IHNlbGVjdGVkRGF0ZT8ubW9udGggJiZcclxuICAgICAgICAgICAgICAgIGN1cnJlbnROZXBhbGlEYXRlLnllYXIgPT09IHNlbGVjdGVkRGF0ZT8ueWVhclxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRhdGVwaWNrZXJfX2RhdGUtLWN1cnJlbnQtZGF5XT1cIlxyXG4gICAgICAgICAgICAgICAgZGF0ZSA9PT0gbmVwYWxpRGF0ZVRvZGF5LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IG5lcGFsaURhdGVUb2RheS5tb250aCAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUueWVhciA9PT0gbmVwYWxpRGF0ZVRvZGF5LnllYXJcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGRhdGUgfCB0b05wOiBsYW5ndWFnZTpcIm51bWJlclwiIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGVcIiBjbGFzcz1cImRhdGVwaWNrZXJfX2RhdGUtLWRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9GdXR1cmVEYXRlPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgIGRhdGUgJiZcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS55ZWFyICogMzY1ICtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoICogMzAgK1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGUgPD1cclxuICAgICAgICAgICAgICAgICAgICBuZXBhbGlEYXRlVG9kYXkuZGF5ICtcclxuICAgICAgICAgICAgICAgICAgICAgIG5lcGFsaURhdGVUb2RheS5tb250aCAqIDMwICtcclxuICAgICAgICAgICAgICAgICAgICAgIG5lcGFsaURhdGVUb2RheS55ZWFyICogMzY1O1xyXG4gICAgICAgICAgICAgICAgZWxzZSBkaXNhYmxlZERhdGVzXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXJfX2RhdGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kYXRlcGlja2VyX19kYXRlLS1hY3RpdmVdPVwiXHJcbiAgICAgICAgICAgICAgICBkYXRlID09PSBzZWxlY3RlZERhdGU/LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IHNlbGVjdGVkRGF0ZT8ubW9udGggJiZcclxuICAgICAgICAgICAgICAgIGN1cnJlbnROZXBhbGlEYXRlLnllYXIgPT09IHNlbGVjdGVkRGF0ZT8ueWVhclxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRhdGVwaWNrZXJfX2RhdGUtLWN1cnJlbnQtZGF5XT1cIlxyXG4gICAgICAgICAgICAgICAgZGF0ZSA9PT0gbmVwYWxpRGF0ZVRvZGF5LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IG5lcGFsaURhdGVUb2RheS5tb250aCAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUueWVhciA9PT0gbmVwYWxpRGF0ZVRvZGF5LnllYXJcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGRhdGUgfCB0b05wOiBsYW5ndWFnZTpcIm51bWJlclwiIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXNhYmxlZERhdGVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyX19kYXRlIGRhdGVwaWNrZXJfX2RhdGUtLWRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRlIHwgdG9OcDogbGFuZ3VhZ2U6XCJudW1iZXJcIiB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFkYXRlXCIgY2xhc3M9XCJkYXRlcGlja2VyX19kYXRlLS1kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPiZuYnNwOzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0uZGF0ZXBpY2tlcl9fZGF0ZS1jb250YWluZXIgZW5kcy0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLS5kYXRlcGlja2VyX19kYXlzIGVuZHMtLT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLS5kYXRlcGlja2VyX19kYXlzLWNvbnRhaW5lciBlbmRzLS0+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLS5kYXRlcGlja2VyX19jb250YWluZXIgZW5kcy0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnAtZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ucHgtbnAtZGF0ZXBpY2tlci9zcmMvbGliL25wLWRhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbnB4LW5wLWRhdGVwaWNrZXIvc3JjL2xpYi9ucC1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFHWixLQUFLLEVBQ0wsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixNQUFNLEVBQ04sWUFBWSxHQUNiLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQVN6RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7Ozs7O0FBZXZELE1BQU0sT0FBTyxxQkFBcUI7SUE2RGhDLFlBQ1MsV0FBZ0MsRUFDL0IsSUFBZ0I7UUFEakIsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQy9CLFNBQUksR0FBSixJQUFJLENBQVk7UUE5RDFCLG9CQUFlLEdBQWUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQzVELHNCQUFpQixHQUFlLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUU5RCxrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUtuQixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBSXJCLGdCQUFXLEdBQWdCLFdBQVcsQ0FBQztRQUV2QyxrQkFBYSxHQUFpQixhQUFhLENBQUM7UUFFNUMsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFLdEIsYUFBUSxHQUFnQixJQUFJLENBQUM7UUFDcEIsY0FBUyxHQUFZLElBQUksQ0FBQztRQUMxQixXQUFNLEdBQVcsVUFBVSxDQUFDO1FBRTNCLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUVqRCxxQkFBZ0IsR0FBbUMsU0FBUyxDQUFDO1FBRTdELG1CQUFjLEdBQXdCLE9BQU8sQ0FBQztRQUU5QyxrQkFBYSxHQUFrQixDQUFDLFlBQXdCLEVBQUUsRUFBRTtZQUMxRCxNQUFNLEVBQUUsR0FDTixZQUFZLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUM7WUFDcEUsTUFBTSxFQUFFLEdBQ04sWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDekIsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNoQyxDQUFDLENBQUMsWUFBWSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFN0IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNuQixLQUFLLFVBQVU7b0JBQ2IsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDakQ7b0JBQ0UsT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQzthQUNsRDtRQUNILENBQUMsQ0FBQztRQUVGLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBOEY3QixvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDakMsbUJBQWMsR0FBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBbEY5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxXQUFXLENBQUMsWUFBWSxDQUM3QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQWhCRCxRQUFRLENBQUMsS0FBVTtRQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDZDtJQUNILENBQUM7SUFjRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RCLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0Isc0NBQXNDO0lBQ3hDLENBQUM7SUFFRCxhQUFhO1FBQ1gsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNwQjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsQ0FBTTtRQUNmLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdkQsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsT0FBTyxDQUFDLEdBQUcsRUFDWCxPQUFPLENBQUMsS0FBSyxFQUNiLE9BQU8sQ0FBQyxJQUFJLENBQ2IsQ0FBQztRQUVGLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBTTtRQUNoQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUMzQixJQUFJLGVBQWUsR0FDakIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsT0FBTyxDQUMvRCxLQUFLLENBQ04sSUFBSSxDQUFDLENBQUM7UUFFVCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLGVBQWUsQ0FBQztRQUUvQyxNQUFNLGFBQWEsR0FBRztZQUNwQixHQUFHLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUc7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsYUFBYSxDQUFDLEdBQUcsRUFDakIsYUFBYSxDQUFDLEtBQUssRUFDbkIsYUFBYSxDQUFDLElBQUksQ0FDbkIsQ0FBQztRQUNGLGlDQUFpQztRQUNqQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQscUJBQXFCO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRztZQUN0QixDQUFDLEVBQUUsRUFBRTtZQUNMLENBQUMsRUFBRSxFQUFFO1lBQ0wsQ0FBQyxFQUFFLEVBQUU7WUFDTCxDQUFDLEVBQUUsRUFBRTtZQUNMLENBQUMsRUFBRSxFQUFFO1lBQ0wsQ0FBQyxFQUFFLEVBQUU7WUFDTCxDQUFDLEVBQUUsRUFBRTtTQUNOLENBQUM7SUFDSixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQzVEO0lBQ0gsQ0FBQztJQUdELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEtBQUssQ0FBQztZQUMvQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEI7SUFDSCxDQUFDO0lBQ0QsaUJBQWlCLEtBQUksQ0FBQztJQUN0QixnQkFBZ0IsQ0FBQyxFQUFPO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDdEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxFQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUMvQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7WUFDL0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FDOUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUN2QixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FDdEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUU3Qiw4Q0FBOEM7UUFDOUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUVwQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFMUQsNkRBQTZEO1FBQzdELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxvQkFBb0IsR0FDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FDL0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FDN0IsQ0FBQztRQUVKLDREQUE0RDtRQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQ3BCLEdBQUcsR0FBRyxDQUFDLEVBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQzlCLG9CQUFvQixDQUNyQixDQUFDO1FBRUYsa0ZBQWtGO1FBQ2xGLGlHQUFpRztRQUNqRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsa0JBQWtCLENBQUMsR0FBUSxFQUFFLElBQVM7UUFDcEMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFO1lBQ2IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO2dCQUNYLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDVDtZQUNELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ25FLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLEdBQVEsRUFBRSxJQUFTLEVBQUUsb0JBQXlCO1FBQzlELE1BQU0sVUFBVSxHQUFHO1lBQ2pCLEdBQUcsRUFBRSxJQUFJO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLO1lBQ25DLElBQUksRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSTtTQUNsQyxDQUFDO1FBRUYsa0RBQWtEO1FBQ2xELElBQUksSUFBSSxJQUFJLG9CQUFvQixFQUFFO1lBQ2hDLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRTtnQkFDWCxHQUFHLEdBQUcsQ0FBQyxDQUFDO2FBQ1Q7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsb0JBQW9CLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7SUFFRCxpQkFBaUI7UUFDZix1Q0FBdUM7UUFDdkMsaUZBQWlGO1FBQ2pGLElBQUksUUFBUSxHQUFHLENBQUMsQ0FBQztRQUNqQixJQUFJLEtBQVUsQ0FBQztRQUNmLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3ZELEtBQUssR0FBRyxJQUFJLENBQUM7WUFDYixJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3JCLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDbEI7WUFDRCxPQUFPLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLFFBQVEsRUFBRTtZQUNaLEtBQUssUUFBUSxFQUFFLFFBQVEsR0FBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ3ZDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQzthQUM1RDtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxNQUFNLGdCQUFnQixHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUNwRCxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsRUFDMUIsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEVBQzNCLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUMvQixDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hDO1FBRUQsTUFBTSxhQUFhLEdBQUc7WUFDcEIsR0FBRyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHO1lBQy9CLEtBQUssRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSztZQUNuQyxJQUFJLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUk7U0FDbEMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQzlDLGFBQWEsQ0FBQyxHQUFHLEVBQ2pCLGFBQWEsQ0FBQyxLQUFLLEVBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQ25CLENBQUM7UUFFRixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFLEVBQUU7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDakMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDaEM7UUFFRCxNQUFNLE9BQU8sR0FBRztZQUNkLEdBQUcsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRztZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7WUFDbkMsSUFBSSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJO1NBQ2xDLENBQUM7UUFDRixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUM5QyxPQUFPLENBQUMsR0FBRyxFQUNYLE9BQU8sQ0FBQyxLQUFLLEVBQ2IsT0FBTyxDQUFDLElBQUksQ0FDYixDQUFDO1FBQ0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQix3QkFBd0I7SUFDMUIsQ0FBQzs7a0hBOVVVLHFCQUFxQjtzR0FBckIscUJBQXFCLDhPQVRyQjtRQUNUO1lBQ0UsT0FBTyxFQUFFLGlCQUFpQjtZQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO1lBQ3BELEtBQUssRUFBRSxJQUFJO1NBQ1o7S0FDRiwwQkNqQ0gsazVNQXVKQTsyRkRuSGEscUJBQXFCO2tCQWJqQyxTQUFTOytCQUNFLGVBQWUsYUFHZDt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQzs0QkFDcEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSTttSUEwQnJDLEtBQUs7c0JBREosS0FBSztnQkFHTixRQUFRO3NCQURQLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTTtnQkF5QlAsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIE9uSW5pdCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgT3V0cHV0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTnBEYXRlUGlja2VyU2VydmljZSB9IGZyb20gJy4vbnAtZGF0ZXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHtcclxuICBOZXBhbGlEYXRlLFxyXG4gIE1vbnRoRGF0YSxcclxuICBEYXlzTWFwcGluZyxcclxuICBNb250aE1hcHBpbmcsXHJcbiAgRGF0ZUZvcm1hdHRlcixcclxufSBmcm9tICcuL3R5cGVzJztcclxuaW1wb3J0IHsgZGF5c01hcHBpbmcsIG1vbnRoc01hcHBpbmcgfSBmcm9tICcuL21hcHBpbmcnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICducC1kYXRlcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbnAtZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25wLWRhdGUtcGlja2VyLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IE5wRGF0ZVBpY2tlckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOcERhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuICBuZXBhbGlEYXRlVG9kYXk6IE5lcGFsaURhdGUgPSB7IGRheTogMCwgbW9udGg6IDAsIHllYXI6IDAgfTtcclxuICBjdXJyZW50TmVwYWxpRGF0ZTogTmVwYWxpRGF0ZSA9IHsgZGF5OiAwLCBtb250aDogMCwgeWVhcjogMCB9O1xyXG4gIHNlbGVjdGVkRGF0ZSE6IE5lcGFsaURhdGU7XHJcbiAgZm9ybWF0dGVkRGF0ZSA9ICcnO1xyXG4gIGN1cnJlbnREYXRlOiBhbnk7XHJcblxyXG4gIGRpc3BsYXlEYXRlITogc3RyaW5nO1xyXG5cclxuICB5ZWFyczogbnVtYmVyW10gPSBbXTtcclxuXHJcbiAgY3VycmVudE1vbnRoRGF0YSE6IGFueTtcclxuXHJcbiAgZGF5c01hcHBpbmc6IERheXNNYXBwaW5nID0gZGF5c01hcHBpbmc7XHJcblxyXG4gIG1vbnRoc01hcHBpbmc6IE1vbnRoTWFwcGluZyA9IG1vbnRoc01hcHBpbmc7XHJcblxyXG4gIGlzT3BlbiA9IGZhbHNlO1xyXG5cclxuICBoaWRlSW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgYWx3YXlzVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHRoZW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFuZ3VhZ2U6ICdlbicgfCAnbmUnID0gJ25lJztcclxuICBASW5wdXQoKSBoYXNGdXR1cmU6IEJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGZvcm1hdDogc3RyaW5nID0gJ3l5LW1tLWRkJztcclxuXHJcbiAgQE91dHB1dCgpIGRhdGVTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIFxyXG4gIG1vbnRoRGlzcGxheVR5cGU6ICdkZWZhdWx0JyB8ICdtb2Rlcm4nIHwgJ3Nob3J0JyA9ICdkZWZhdWx0JztcclxuXHJcbiAgZGF5RGlzcGxheVR5cGU6ICdkZWZhdWx0JyB8ICdzaG9ydCcgPSAnc2hvcnQnO1xyXG5cclxuICBkYXRlRm9ybWF0dGVyOiBEYXRlRm9ybWF0dGVyID0gKHNlbGVjdGVkRGF0ZTogTmVwYWxpRGF0ZSkgPT4ge1xyXG4gICAgY29uc3QgZGQgPVxyXG4gICAgICBzZWxlY3RlZERhdGUuZGF5IDwgMTAgPyAnMCcgKyBzZWxlY3RlZERhdGUuZGF5IDogc2VsZWN0ZWREYXRlLmRheTtcclxuICAgIGNvbnN0IG1tID1cclxuICAgICAgc2VsZWN0ZWREYXRlLm1vbnRoICsgMSA8IDEwXHJcbiAgICAgICAgPyAnMCcgKyAoc2VsZWN0ZWREYXRlLm1vbnRoICsgMSlcclxuICAgICAgICA6IHNlbGVjdGVkRGF0ZS5tb250aCArIDE7XHJcblxyXG4gICAgc3dpdGNoICh0aGlzLmZvcm1hdCkge1xyXG4gICAgICBjYXNlICdkZC1tbS15eSc6XHJcbiAgICAgICAgcmV0dXJuIGAke2RkfS8ke21tfS8ke3RoaXMuc2VsZWN0ZWREYXRlLnllYXJ9YDtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gYCR7dGhpcy5zZWxlY3RlZERhdGUueWVhcn0vJHttbX0vJHtkZH1gO1xyXG4gICAgfVxyXG4gIH07XHJcblxyXG4gIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBjbGlja291dChldmVudDogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZVJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGV2ZW50LnRhcmdldCkpIHtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgX25lcGFsaURhdGU6IE5wRGF0ZVBpY2tlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVSZWY6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHRoaXMuY3VycmVudERhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5uZXBhbGlEYXRlVG9kYXkgPSBfbmVwYWxpRGF0ZS5lbmdUb05lcERhdGUoXHJcbiAgICAgIHRoaXMuY3VycmVudERhdGUuZ2V0RGF0ZSgpLFxyXG4gICAgICB0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCksXHJcbiAgICAgIHRoaXMuY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZXRDdXJyZW50RGF0ZSgpO1xyXG4gICAgLy90aGlzLnNlbGVjdERhdGUodGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXkpO1xyXG4gICAgdGhpcy5wb3B1bGF0ZVllYXJzKCk7XHJcbiAgICB0aGlzLnNldEN1cnJlbnRNb250aERhdGEoKTtcclxuICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuY3VycmVudE1vbnRoRGF0YSk7XHJcbiAgfVxyXG5cclxuICBwb3B1bGF0ZVllYXJzKCkge1xyXG4gICAgZm9yIChsZXQgaSA9IDIwMDE7IGkgPD0gMjA5OTsgaSsrKSB7XHJcbiAgICAgIHRoaXMueWVhcnMucHVzaChpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdFllYXIoZTogYW55KSB7XHJcbiAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIgPSBwYXJzZUludChlLnRhcmdldC52YWx1ZSk7XHJcblxyXG4gICAgY29uc3QgbmV3RGF0ZSA9IHtcclxuICAgICAgZGF5OiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLmRheSxcclxuICAgICAgbW9udGg6IHRoaXMuY3VycmVudE5lcGFsaURhdGUubW9udGgsXHJcbiAgICAgIHllYXI6IHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhcixcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IHRoaXMuX25lcGFsaURhdGUubmVwVG9FbmdEYXRlKFxyXG4gICAgICBuZXdEYXRlLmRheSxcclxuICAgICAgbmV3RGF0ZS5tb250aCxcclxuICAgICAgbmV3RGF0ZS55ZWFyXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2V0Q3VycmVudE1vbnRoRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0TW9udGgoZTogYW55KSB7XHJcbiAgICBsZXQgbW9udGggPSBlLnRhcmdldC52YWx1ZTtcclxuICAgIGxldCBuZXBfbW9udGhfaW5kZXggPVxyXG4gICAgICB0aGlzLm1vbnRoc01hcHBpbmdbdGhpcy5sYW5ndWFnZV1bdGhpcy5tb250aERpc3BsYXlUeXBlXT8uaW5kZXhPZihcclxuICAgICAgICBtb250aFxyXG4gICAgICApID8/IDA7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCA9IG5lcF9tb250aF9pbmRleDtcclxuXHJcbiAgICBjb25zdCBuZXdOZXBhbGlEYXRlID0ge1xyXG4gICAgICBkYXk6IHRoaXMuY3VycmVudE5lcGFsaURhdGUuZGF5LFxyXG4gICAgICBtb250aDogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCxcclxuICAgICAgeWVhcjogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS55ZWFyLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmN1cnJlbnREYXRlID0gdGhpcy5fbmVwYWxpRGF0ZS5uZXBUb0VuZ0RhdGUoXHJcbiAgICAgIG5ld05lcGFsaURhdGUuZGF5LFxyXG4gICAgICBuZXdOZXBhbGlEYXRlLm1vbnRoLFxyXG4gICAgICBuZXdOZXBhbGlEYXRlLnllYXJcclxuICAgICk7XHJcbiAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmN1cnJlbnREYXRlKTtcclxuICAgIHRoaXMuc2V0Q3VycmVudE1vbnRoRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRDdXJyZW50TW9udGhEYXRhKCkge1xyXG4gICAgdGhpcy5jdXJyZW50TW9udGhEYXRhID0ge1xyXG4gICAgICAwOiBbXSxcclxuICAgICAgMTogW10sXHJcbiAgICAgIDI6IFtdLFxyXG4gICAgICAzOiBbXSxcclxuICAgICAgNDogW10sXHJcbiAgICAgIDU6IFtdLFxyXG4gICAgICA2OiBbXSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBmb3JtYXRWYWx1ZSgpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG4gICAgICB0aGlzLmZvcm1hdHRlZERhdGUgPSB0aGlzLmRhdGVGb3JtYXR0ZXIodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcclxuICBwcm9wYWdhdGVUb3VjaCA9IChfOiBhbnkpID0+IHt9O1xyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZCgpIHt9XHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0Q3VycmVudERhdGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUgPSB0aGlzLl9uZXBhbGlEYXRlLmVuZ1RvTmVwRGF0ZShcclxuICAgICAgICB0aGlzLmN1cnJlbnREYXRlLmdldERhdGUoKSxcclxuICAgICAgICB0aGlzLmN1cnJlbnREYXRlLmdldE1vbnRoKCksXHJcbiAgICAgICAgdGhpcy5jdXJyZW50RGF0ZS5nZXRGdWxsWWVhcigpXHJcbiAgICAgICk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCB7IGRheSwgbW9udGgsIHllYXIgfSA9IHRoaXMuc2VsZWN0ZWREYXRlO1xyXG4gICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlID0gdGhpcy5fbmVwYWxpRGF0ZS5lbmdUb05lcERhdGUoZGF5LCBtb250aCwgeWVhcik7XHJcbiAgICAgIHRoaXMuY3VycmVudERhdGUgPSB0aGlzLl9uZXBhbGlEYXRlLm5lcFRvRW5nRGF0ZShcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF0ZS55ZWFyLFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLm1vbnRoLFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlLmRheVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0Q3VycmVudE1vbnRoRGF0YSgpIHtcclxuICAgIHRoaXMucmVzZXRDdXJyZW50TW9udGhEYXRhKCk7XHJcblxyXG4gICAgLy8gZmlsbCB0aGUgY3VycmVudE1vbnRoRGF0YSB3aXRoIGN1cnJlbnQgZGF0ZVxyXG4gICAgbGV0IGRheSA9IHRoaXMuY3VycmVudERhdGUuZ2V0RGF5KCk7XHJcblxyXG4gICAgdGhpcy5jdXJyZW50TW9udGhEYXRhW2RheV0gPSBbdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXldO1xyXG5cclxuICAgIC8vIGZpbGwgdGhlIGN1cnJlbnRNb250aERhdGEgd2l0aCBkYXkgYmVmb3JlIHRoZSBjdXJyZW50IGRhdGVcclxuICAgIHRoaXMuc2V0TW9udGhEYXRhQmVmb3JlKGRheSAtIDEsIHRoaXMuY3VycmVudE5lcGFsaURhdGUuZGF5IC0gMSk7XHJcblxyXG4gICAgdmFyIGN1cnJlbnRNb250aE1heFZhbHVlID1cclxuICAgICAgdGhpcy5fbmVwYWxpRGF0ZS5uZXBhbGlNb250aHNbdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS55ZWFyIC0gMjAwMF1bXHJcbiAgICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aFxyXG4gICAgICBdO1xyXG5cclxuICAgIC8vIGZpbGwgdGhlIGN1cnJlbnRNb250aERhdGEgd2l0aCBkYXkgYWZ0ZXIgdGhlIGN1cnJlbnQgZGF0ZVxyXG4gICAgdGhpcy5zZXRNb250aERhdGFBZnRlcihcclxuICAgICAgZGF5ICsgMSxcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXkgKyAxLFxyXG4gICAgICBjdXJyZW50TW9udGhNYXhWYWx1ZVxyXG4gICAgKTtcclxuXHJcbiAgICAvLyB3ZSBuZWVkIHNvbWUgZW1wdHkgc3BhY2VzIGluIHBsYWNlIHNvIHRoYXQgdGhlIGRhdGVzIGFyZSBzaG93biBpbiBjb3JyZWN0IG9yZGVyXHJcbiAgICAvLyBlZyBpZiB0aGUgMXN0IGRheSBzdGFydHMgb24gbW9uZGF5IHRoZW4gd2UgbmVlZCAxIGVtcHR5IHNwYWNlIGZvciBub24gZXhpc3RpbmduIGRhdGUgb24gU3VuZGF5XHJcbiAgICB0aGlzLmNyZWF0ZUVtcHR5U3BhY2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRNb250aERhdGFCZWZvcmUoZGF5OiBhbnksIGRhdGU6IGFueSkge1xyXG4gICAgaWYgKGRhdGUgPj0gMSkge1xyXG4gICAgICBpZiAoZGF5IDwgMCkge1xyXG4gICAgICAgIGRheSA9IDY7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jdXJyZW50TW9udGhEYXRhW2RheV0gPSBbZGF0ZSwgLi4udGhpcy5jdXJyZW50TW9udGhEYXRhW2RheV1dO1xyXG4gICAgICB0aGlzLnNldE1vbnRoRGF0YUJlZm9yZSgtLWRheSwgLS1kYXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE1vbnRoRGF0YUFmdGVyKGRheTogYW55LCBkYXRlOiBhbnksIGN1cnJlbnRNb250aE1heFZhbHVlOiBhbnkpIHtcclxuICAgIGNvbnN0IG5lcGFsaURhdGUgPSB7XHJcbiAgICAgIGRheTogZGF0ZSxcclxuICAgICAgbW9udGg6IHRoaXMuY3VycmVudE5lcGFsaURhdGUubW9udGgsXHJcbiAgICAgIHllYXI6IHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhcixcclxuICAgIH07XHJcblxyXG4gICAgLy8gIG9ubHkgYWRkIHRoZSBkYXRhIGlmIHRoZSBjdXJyZW50IG1vbnRoIG1hdGNoZXNcclxuICAgIGlmIChkYXRlIDw9IGN1cnJlbnRNb250aE1heFZhbHVlKSB7XHJcbiAgICAgIGlmIChkYXkgPiA2KSB7XHJcbiAgICAgICAgZGF5ID0gMDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmN1cnJlbnRNb250aERhdGFbZGF5XSA9IFsuLi50aGlzLmN1cnJlbnRNb250aERhdGFbZGF5XSwgZGF0ZV07XHJcbiAgICAgIHRoaXMuc2V0TW9udGhEYXRhQWZ0ZXIoKytkYXksICsrZGF0ZSwgY3VycmVudE1vbnRoTWF4VmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlRW1wdHlTcGFjZXMoKSB7XHJcbiAgICAvLyBmaXJzdCBmaW5kIG91dCB3aGljaCBkYXkgaGFzIHRoZSAxc3RcclxuICAgIC8vICBpZiBpdHMgYSBTdW5kYXksIHRoZW4gZG9uJ3QgZG8gYW55dGhpbmcgZWxzZSBhZGQgMSBzcGFjZSBvbiBlYWNoIHByZXZpb3VzIGRheVxyXG4gICAgbGV0IGRheUluZGV4ID0gMDtcclxuICAgIGxldCB2YWx1ZTogYW55O1xyXG4gICAgT2JqZWN0LnZhbHVlcyh0aGlzLmN1cnJlbnRNb250aERhdGEpLm1hcCgoaXRlbSwgaW5kZXgpID0+IHtcclxuICAgICAgdmFsdWUgPSBpdGVtO1xyXG4gICAgICBpZiAodmFsdWUuaW5jbHVkZXMoMSkpIHtcclxuICAgICAgICBkYXlJbmRleCA9IGluZGV4O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB2YWx1ZS5pbmNsdWRlcygxKTtcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChkYXlJbmRleCkge1xyXG4gICAgICBmb3IgKGRheUluZGV4OyBkYXlJbmRleCA+IDA7IGRheUluZGV4LS0pIHtcclxuICAgICAgICBjb25zdCBtb250aERhdGEgPSB0aGlzLmN1cnJlbnRNb250aERhdGFbZGF5SW5kZXggLSAxXTtcclxuICAgICAgICB0aGlzLmN1cnJlbnRNb250aERhdGFbZGF5SW5kZXggLSAxXSA9IFtudWxsLCAuLi5tb250aERhdGFdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUb2RheSgpIHtcclxuICAgIGNvbnN0IEVuZ2xpc3REYXRlVG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZSA9IHRoaXMuX25lcGFsaURhdGUuZW5nVG9OZXBEYXRlKFxyXG4gICAgICBFbmdsaXN0RGF0ZVRvZGF5LmdldERhdGUoKSxcclxuICAgICAgRW5nbGlzdERhdGVUb2RheS5nZXRNb250aCgpLFxyXG4gICAgICBFbmdsaXN0RGF0ZVRvZGF5LmdldEZ1bGxZZWFyKClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB7IC4uLnRoaXMuY3VycmVudE5lcGFsaURhdGUgfTtcclxuICAgIHRoaXMuZm9ybWF0VmFsdWUoKTtcclxuICAgIHRoaXMuY2xvc2UoKTtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0RGF0ZShkYXk6IG51bWJlcikge1xyXG4gICAgdGhpcy5zZWxlY3RlZERhdGUgPSB7IC4uLnRoaXMuY3VycmVudE5lcGFsaURhdGUsIGRheSB9O1xyXG4gICAgdGhpcy5mb3JtYXRWYWx1ZSgpO1xyXG4gICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gICAgIHRoaXMuZGF0ZVNlbGVjdGVkLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG4gIH1cclxuXHJcbiAgcHJldk1vbnRoKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudE5lcGFsaURhdGUubW9udGggPD0gMCkge1xyXG4gICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoID0gMTE7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhci0tO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aC0tO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld05lcGFsaURhdGUgPSB7XHJcbiAgICAgIGRheTogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXksXHJcbiAgICAgIG1vbnRoOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoLFxyXG4gICAgICB5ZWFyOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IHRoaXMuX25lcGFsaURhdGUubmVwVG9FbmdEYXRlKFxyXG4gICAgICBuZXdOZXBhbGlEYXRlLmRheSxcclxuICAgICAgbmV3TmVwYWxpRGF0ZS5tb250aCxcclxuICAgICAgbmV3TmVwYWxpRGF0ZS55ZWFyXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuc2V0Q3VycmVudE1vbnRoRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgbmV4dE1vbnRoKCkge1xyXG4gICAgaWYgKHRoaXMuY3VycmVudE5lcGFsaURhdGUubW9udGggPj0gMTEpIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCA9IDA7XHJcbiAgICAgIHRoaXMuY3VycmVudE5lcGFsaURhdGUueWVhcisrO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5tb250aCsrO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld0RhdGUgPSB7XHJcbiAgICAgIGRheTogdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS5kYXksXHJcbiAgICAgIG1vbnRoOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoLFxyXG4gICAgICB5ZWFyOiB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLnllYXIsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5jdXJyZW50RGF0ZSA9IHRoaXMuX25lcGFsaURhdGUubmVwVG9FbmdEYXRlKFxyXG4gICAgICBuZXdEYXRlLmRheSxcclxuICAgICAgbmV3RGF0ZS5tb250aCxcclxuICAgICAgbmV3RGF0ZS55ZWFyXHJcbiAgICApO1xyXG4gICAgdGhpcy5zZXRDdXJyZW50TW9udGhEYXRhKCk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVPcGVuKCkge1xyXG4gICAgaWYgKCF0aGlzLmFsd2F5c1Zpc2libGUpIHtcclxuICAgICAgdGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuKCkge1xyXG4gICAgdGhpcy5pc09wZW4gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2UoKSB7XHJcbiAgICB0aGlzLmlzT3BlbiA9IGZhbHNlO1xyXG4gICAgLy90aGlzLnNldEN1cnJlbnREYXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJuZXBhbGktZGF0ZS1waWNrZXJcIiBbbmdDbGFzc109XCJ0aGVtZVwiPlxyXG4gIDxpbnB1dFxyXG4gICAgY2xhc3M9XCJuZ3hfbnBfZGF0ZXBpY2tlcl9pbnB1dFwiXHJcbiAgICB0eXBlPVwidGV4dFwiXHJcbiAgICBbdmFsdWVdPVwiZm9ybWF0dGVkRGF0ZVwiXHJcbiAgICAoZm9jdXMpPVwib3BlbigpXCJcclxuICAgIChrZXlkb3duKT1cIiRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcclxuICAgIHBsYWNlaG9sZGVyPVwieXl5eS9tbS9kZFwiXHJcbiAgLz5cclxuICA8YVxyXG4gICAgY2xhc3M9XCJmb3JtLWljb25cIlxyXG4gICAgKGNsaWNrKT1cInRvZ2dsZU9wZW4oKVwiXHJcbiAgICBbbmdDbGFzc109XCJpc09wZW4gPyAnYWN0aXZlJyA6ICcnXCJcclxuICA+XHJcbiAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDQ0OCA1MTJcIj5cclxuICAgICAgPHBhdGhcclxuICAgICAgICBkPVwiTTE1MiA2NEgyOTZWMjRDMjk2IDEwLjc1IDMwNi43IDAgMzIwIDBDMzMzLjMgMCAzNDQgMTAuNzUgMzQ0IDI0VjY0SDM4NEM0MTkuMyA2NCA0NDggOTIuNjUgNDQ4IDEyOFY0NDhDNDQ4IDQ4My4zIDQxOS4zIDUxMiAzODQgNTEySDY0QzI4LjY1IDUxMiAwIDQ4My4zIDAgNDQ4VjEyOEMwIDkyLjY1IDI4LjY1IDY0IDY0IDY0SDEwNFYyNEMxMDQgMTAuNzUgMTE0LjcgMCAxMjggMEMxNDEuMyAwIDE1MiAxMC43NSAxNTIgMjRWNjR6TTQ4IDQ0OEM0OCA0NTYuOCA1NS4xNiA0NjQgNjQgNDY0SDM4NEMzOTIuOCA0NjQgNDAwIDQ1Ni44IDQwMCA0NDhWMTkySDQ4VjQ0OHpcIlxyXG4gICAgICAvPlxyXG4gICAgPC9zdmc+XHJcbiAgPC9hPlxyXG4gIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibnBkcFwiICpuZ0lmPVwiaXNPcGVuXCI+PC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI25wZHA+XHJcbiAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXJfX2NvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXJfX29wdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgIDxhIGNsYXNzPVwicHJldi1tb250aFwiIChjbGljayk9XCJwcmV2TW9udGgoKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0yMjQgNDgwYy04LjE4OCAwLTE2LjM4LTMuMTI1LTIyLjYyLTkuMzc1bC0xOTItMTkyYy0xMi41LTEyLjUtMTIuNS0zMi43NSAwLTQ1LjI1bDE5Mi0xOTJjMTIuNS0xMi41IDMyLjc1LTEyLjUgNDUuMjUgMHMxMi41IDMyLjc1IDAgNDUuMjVMNzcuMjUgMjU2bDE2OS40IDE2OS40YzEyLjUgMTIuNSAxMi41IDMyLjc1IDAgNDUuMjVDMjQwLjQgNDc2LjkgMjMyLjIgNDgwIDIyNCA0ODB6XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9zdmc+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPGEgY2xhc3M9XCJzZWxlY3QtdG9kYXlcIiAoY2xpY2spPVwic2VsZWN0VG9kYXkoKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBjbGFzcz1cImZlYXRoZXIgZmVhdGhlci1ob21lXCI+PHBhdGggZD1cIk0zIDlsOS03IDkgN3YxMWEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMnpcIj48L3BhdGg+PHBvbHlsaW5lIHBvaW50cz1cIjkgMjIgOSAxMiAxNSAxMiAxNSAyMlwiPjwvcG9seWxpbmU+PC9zdmc+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlcGlja2VyX19vcHRpb25zLW1vbnRoLWNvbnRhaW5lclwiPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxzZWxlY3QgKGNoYW5nZSk9XCJzZWxlY3RNb250aCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8b3B0aW9uXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgIGxldCBtb250aCBvZiBtb250aHNNYXBwaW5nW2xhbmd1YWdlXVttb250aERpc3BsYXlUeXBlXTtcclxuICAgICAgICAgICAgICBpbmRleCBhcyBpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJtb250aFwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpID09PSBjdXJyZW50TmVwYWxpRGF0ZT8ubW9udGhcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyBtb250aCB9fVxyXG4gICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJkYXRlcGlja2VyX19vcHRpb25zLXllYXItY29udGFpbmVyXCI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPHNlbGVjdCAoY2hhbmdlKT1cInNlbGVjdFllYXIoJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPG9wdGlvblxyXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyczsgaW5kZXggYXMgaVwiXHJcbiAgICAgICAgICAgIFt2YWx1ZV09XCJ5ZWFyXCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkXT1cInllYXIgPT0gY3VycmVudE5lcGFsaURhdGU/LnllYXJcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICB7eyB5ZWFyIHwgdG9OcDogbGFuZ3VhZ2U6XCJudW1iZXJcIiB9fVxyXG4gICAgICAgICAgPC9vcHRpb24+XHJcbiAgICAgICAgPC9zZWxlY3Q+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgICAgXHJcbiAgICAgIDxhIGNsYXNzPVwibmV4dC1tb250aFwiIChjbGljayk9XCJuZXh0TW9udGgoKVwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk05NiA0ODBjLTguMTg4IDAtMTYuMzgtMy4xMjUtMjIuNjItOS4zNzVjLTEyLjUtMTIuNS0xMi41LTMyLjc1IDAtNDUuMjVMMjQyLjggMjU2TDczLjM4IDg2LjYzYy0xMi41LTEyLjUtMTIuNS0zMi43NSAwLTQ1LjI1czMyLjc1LTEyLjUgNDUuMjUgMGwxOTIgMTkyYzEyLjUgMTIuNSAxMi41IDMyLjc1IDAgNDUuMjVsLTE5MiAxOTJDMTEyLjQgNDc2LjkgMTA0LjIgNDgwIDk2IDQ4MHpcIlxyXG4gICAgICAgICAgLz5cclxuICAgICAgICA8L3N2Zz5cclxuICAgICAgPC9hPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZGF0ZXBpY2tlcl9fZGF5cy1jb250YWluZXJcIj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiZGF0ZXBpY2tlcl9fZGF5c1wiXHJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRheSBvZiBkYXlzTWFwcGluZ1tsYW5ndWFnZV1bZGF5RGlzcGxheVR5cGVdOyBpbmRleCBhcyBpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyX193ZWVrZGF5XCI+e3sgZGF5IH19PC9kaXY+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgY2xhc3M9XCJkYXRlcGlja2VyX19kYXRlLWNvbnRhaW5lclwiXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0ZSBvZiBjdXJyZW50TW9udGhEYXRhW2ldXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaGFzRnV0dXJlOyBlbHNlIG5vRnV0dXJlRGF0ZVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJkYXRlXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXJfX2RhdGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kYXRlcGlja2VyX19kYXRlLS1hY3RpdmVdPVwiXHJcbiAgICAgICAgICAgICAgICBkYXRlID09PSBzZWxlY3RlZERhdGU/LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IHNlbGVjdGVkRGF0ZT8ubW9udGggJiZcclxuICAgICAgICAgICAgICAgIGN1cnJlbnROZXBhbGlEYXRlLnllYXIgPT09IHNlbGVjdGVkRGF0ZT8ueWVhclxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRhdGVwaWNrZXJfX2RhdGUtLWN1cnJlbnQtZGF5XT1cIlxyXG4gICAgICAgICAgICAgICAgZGF0ZSA9PT0gbmVwYWxpRGF0ZVRvZGF5LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IG5lcGFsaURhdGVUb2RheS5tb250aCAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUueWVhciA9PT0gbmVwYWxpRGF0ZVRvZGF5LnllYXJcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGRhdGUgfCB0b05wOiBsYW5ndWFnZTpcIm51bWJlclwiIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWRhdGVcIiBjbGFzcz1cImRhdGVwaWNrZXJfX2RhdGUtLWRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4+Jm5ic3A7PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjbm9GdXR1cmVEYXRlPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgIGRhdGUgJiZcclxuICAgICAgICAgICAgICAgICAgdGhpcy5jdXJyZW50TmVwYWxpRGF0ZS55ZWFyICogMzY1ICtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROZXBhbGlEYXRlLm1vbnRoICogMzAgK1xyXG4gICAgICAgICAgICAgICAgICAgIGRhdGUgPD1cclxuICAgICAgICAgICAgICAgICAgICBuZXBhbGlEYXRlVG9kYXkuZGF5ICtcclxuICAgICAgICAgICAgICAgICAgICAgIG5lcGFsaURhdGVUb2RheS5tb250aCAqIDMwICtcclxuICAgICAgICAgICAgICAgICAgICAgIG5lcGFsaURhdGVUb2RheS55ZWFyICogMzY1O1xyXG4gICAgICAgICAgICAgICAgZWxzZSBkaXNhYmxlZERhdGVzXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImRhdGVwaWNrZXJfX2RhdGVcIlxyXG4gICAgICAgICAgICAgIFtjbGFzcy5kYXRlcGlja2VyX19kYXRlLS1hY3RpdmVdPVwiXHJcbiAgICAgICAgICAgICAgICBkYXRlID09PSBzZWxlY3RlZERhdGU/LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IHNlbGVjdGVkRGF0ZT8ubW9udGggJiZcclxuICAgICAgICAgICAgICAgIGN1cnJlbnROZXBhbGlEYXRlLnllYXIgPT09IHNlbGVjdGVkRGF0ZT8ueWVhclxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRhdGVwaWNrZXJfX2RhdGUtLWN1cnJlbnQtZGF5XT1cIlxyXG4gICAgICAgICAgICAgICAgZGF0ZSA9PT0gbmVwYWxpRGF0ZVRvZGF5LmRheSAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUubW9udGggPT09IG5lcGFsaURhdGVUb2RheS5tb250aCAmJlxyXG4gICAgICAgICAgICAgICAgY3VycmVudE5lcGFsaURhdGUueWVhciA9PT0gbmVwYWxpRGF0ZVRvZGF5LnllYXJcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3REYXRlKGRhdGUpXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7IGRhdGUgfCB0b05wOiBsYW5ndWFnZTpcIm51bWJlclwiIH19XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNkaXNhYmxlZERhdGVzPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyX19kYXRlIGRhdGVwaWNrZXJfX2RhdGUtLWRpc2FibGVkXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBkYXRlIHwgdG9OcDogbGFuZ3VhZ2U6XCJudW1iZXJcIiB9fVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFkYXRlXCIgY2xhc3M9XCJkYXRlcGlja2VyX19kYXRlLS1kaXNhYmxlZFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuPiZuYnNwOzwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0uZGF0ZXBpY2tlcl9fZGF0ZS1jb250YWluZXIgZW5kcy0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPCEtLS5kYXRlcGlja2VyX19kYXlzIGVuZHMtLT5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLS5kYXRlcGlja2VyX19kYXlzLWNvbnRhaW5lciBlbmRzLS0+XHJcbiAgPC9kaXY+XHJcbiAgPCEtLS5kYXRlcGlja2VyX19jb250YWluZXIgZW5kcy0tPlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ucHgtbnAtZGF0ZXBpY2tlci9zcmMvbGliL3R5cGVzL2RhdGUuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIE5wRGF0ZU9iaiB7XHJcbiAgeWVhcjogbnVtYmVyO1xyXG4gIG1vbnRoOiBudW1iZXI7XHJcbiAgZGF5OiBudW1iZXI7XHJcbn1cclxuIl19
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -4,4 +4,5 @@
|
|
|
4
4
|
export * from './lib/np-datepicker.service';
|
|
5
5
|
export * from './lib/np-datepicker.component';
|
|
6
6
|
export * from './lib/np-datepicker.module';
|
|
7
|
-
|
|
7
|
+
export * from './lib/types/date.interface';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25weC1ucC1kYXRlcGlja2VyL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBucHgtbnAtZGF0ZXBpY2tlclxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25wLWRhdGVwaWNrZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25wLWRhdGVwaWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbnAtZGF0ZXBpY2tlci5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90eXBlcy9kYXRlLmludGVyZmFjZSc7XHJcbiJdfQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Pipe, forwardRef, Component, ViewEncapsulation, Input, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, Pipe, EventEmitter, forwardRef, Component, ViewEncapsulation, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i3 from '@angular/forms';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
5
|
import * as i2 from '@angular/common';
|
|
@@ -452,6 +452,7 @@ class NpDatePickerComponent {
|
|
|
452
452
|
this.language = 'ne';
|
|
453
453
|
this.hasFuture = true;
|
|
454
454
|
this.format = 'yy-mm-dd';
|
|
455
|
+
this.dateSelected = new EventEmitter();
|
|
455
456
|
this.monthDisplayType = 'default';
|
|
456
457
|
this.dayDisplayType = 'short';
|
|
457
458
|
this.dateFormatter = (selectedDate) => {
|
|
@@ -615,12 +616,14 @@ class NpDatePickerComponent {
|
|
|
615
616
|
this.formatValue();
|
|
616
617
|
this.close();
|
|
617
618
|
this.propagateChange(this.selectedDate);
|
|
619
|
+
this.dateSelected.emit(this.selectedDate);
|
|
618
620
|
}
|
|
619
621
|
selectDate(day) {
|
|
620
622
|
this.selectedDate = Object.assign(Object.assign({}, this.currentNepaliDate), { day });
|
|
621
623
|
this.formatValue();
|
|
622
624
|
this.close();
|
|
623
625
|
this.propagateChange(this.selectedDate);
|
|
626
|
+
this.dateSelected.emit(this.selectedDate);
|
|
624
627
|
}
|
|
625
628
|
prevMonth() {
|
|
626
629
|
if (this.currentNepaliDate.month <= 0) {
|
|
@@ -668,7 +671,7 @@ class NpDatePickerComponent {
|
|
|
668
671
|
}
|
|
669
672
|
}
|
|
670
673
|
NpDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NpDatePickerComponent, deps: [{ token: NpDatePickerService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
671
|
-
NpDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NpDatePickerComponent, selector: "np-datepicker", inputs: { theme: "theme", language: "language", hasFuture: "hasFuture", format: "format" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
|
|
674
|
+
NpDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NpDatePickerComponent, selector: "np-datepicker", inputs: { theme: "theme", language: "language", hasFuture: "hasFuture", format: "format" }, outputs: { dateSelected: "dateSelected" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
|
|
672
675
|
{
|
|
673
676
|
provide: NG_VALUE_ACCESSOR,
|
|
674
677
|
useExisting: forwardRef(() => NpDatePickerComponent),
|
|
@@ -692,6 +695,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
692
695
|
type: Input
|
|
693
696
|
}], format: [{
|
|
694
697
|
type: Input
|
|
698
|
+
}], dateSelected: [{
|
|
699
|
+
type: Output
|
|
695
700
|
}], clickout: [{
|
|
696
701
|
type: HostListener,
|
|
697
702
|
args: ['document:click', ['$event']]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-np-datepicker.mjs","sources":["../../../projects/npx-np-datepicker/src/lib/dateconst.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.service.ts","../../../projects/npx-np-datepicker/src/lib/mapping.ts","../../../projects/npx-np-datepicker/src/lib/to-np.pipe.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.component.ts","../../../projects/npx-np-datepicker/src/lib/np-date-picker.component.html","../../../projects/npx-np-datepicker/src/lib/np-datepicker.module.ts","../../../projects/npx-np-datepicker/src/public-api.ts","../../../projects/npx-np-datepicker/src/ngx-np-datepicker.ts"],"sourcesContent":["export const NP_DATE = Object.freeze({\r\n englishMonths: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n englishLeapMonths: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n nepaliMonths: [\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], //2000\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2001\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2002\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2003\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2004\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2005\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2006\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2006\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], // 2007\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2008\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2009\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2010\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2011\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2012\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2013\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2014\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2015\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2016\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2017\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2018\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2019\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2020\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2021\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2022\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2023\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2024\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2025\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2071\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], //2072\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], //2073\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2076\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2078\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2079\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2080\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2081\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2082\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], // 2083\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 32, 31, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], //2090\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], //2099\r\n ]\r\n});","import { Injectable } from '@angular/core';\r\nimport { NP_DATE } from './dateconst';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NpDatePickerService {\r\n englishMonths = NP_DATE.englishMonths;\r\n englishLeapMonths = NP_DATE.englishLeapMonths;\r\n nepaliMonths = NP_DATE.nepaliMonths;\r\n\r\n englishYear: any;\r\n englishMonth: any;\r\n englishDate: any;\r\n\r\n nepaliYear: any;\r\n nepaliMonth: any;\r\n nepaliDate: any;\r\n\r\n weekDay: any;\r\n format = '.';\r\n\r\n private setCurrentNepaliDate() {\r\n var d = new Date();\r\n return this.engToNepDate(d.getDate(), d.getMonth(), d.getFullYear());\r\n }\r\n\r\n //English to Nepali date conversion\r\n engToNepDate(date: any, month: any, year: any) {\r\n if (!this.isEnglishRange(date, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month + 1;\r\n this.englishDate = date;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n //ISO format English string date (YYYY-MM-DD) to Nepali date conversion\r\n engStringToNepDate(engDate: string) {\r\n const [year, month, day] = engDate.split('-').map(Number);\r\n\r\n if (!this.isEnglishRange(day, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month;\r\n this.englishDate = day;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n private toEnglishString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.englishYear + format + this.englishMonth + format + this.englishDate\r\n );\r\n }\r\n\r\n private getEnglishDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalEnglishDays(\r\n this.englishYear,\r\n this.englishMonth,\r\n this.englishDate\r\n ) - this.countTotalEnglishDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalEnglishDays(year: any, month: any, date: any) {\r\n var totalDays = year * 365 + date;\r\n\r\n for (var i = 0; i < month - 1; i++)\r\n totalDays = totalDays + this.englishMonths[i];\r\n\r\n totalDays = totalDays + this.countleap(year, month);\r\n return totalDays;\r\n }\r\n\r\n private countleap(year: any, month: any) {\r\n if (month <= 2) year--;\r\n\r\n return (\r\n Math.floor(year / 4) - Math.floor(year / 100) + Math.floor(year / 400)\r\n );\r\n }\r\n\r\n private isEnglishRange(date: any, month: any, year: any) {\r\n if (year < 1944 || year > 2042) return false;\r\n if (month < 1 || month > 12) return false;\r\n if (date < 1 || date > 31) return false;\r\n\r\n return true;\r\n }\r\n\r\n private isLeapYear(year: any) {\r\n if (year % 4 === 0) {\r\n return year % 100 === 0 ? year % 400 === 0 : true;\r\n } else return false;\r\n }\r\n\r\n //Nepali to English conversion\r\n nepToEngDate(date: any, month: any, year: any) {\r\n if (!this.isNepaliRange(date, month, year)) {\r\n console.log('Invalid Date Format');\r\n // throw new Exception(\"Invalid date format.\");\r\n return;\r\n }\r\n\r\n this.nepaliYear = year;\r\n this.nepaliMonth = month + 1;\r\n this.nepaliDate = date;\r\n\r\n //Setting english reference to 1944/1/1 with nepali date 2000/9/17\r\n this.englishYear = 1944;\r\n this.englishMonth = 1;\r\n this.englishDate = 1;\r\n\r\n var difference = this.getNepaliDateDifference(2000, 9, 17);\r\n\r\n //Getting english year untill the difference remains less than 365\r\n while (difference >= (this.isLeapYear(this.englishYear) ? 366 : 365)) {\r\n difference = difference - (this.isLeapYear(this.englishYear) ? 366 : 365);\r\n this.englishYear++;\r\n }\r\n\r\n //Getting english month untill the difference remains less than 31\r\n var monthDays = this.isLeapYear(this.englishYear)\r\n ? this.englishLeapMonths\r\n : this.englishMonths;\r\n var i = 0;\r\n while (difference >= monthDays[i]) {\r\n this.englishMonth++;\r\n difference = difference - monthDays[i];\r\n i++;\r\n }\r\n\r\n //Remaning days is the date;\r\n this.englishDate = this.englishDate + difference;\r\n this.getDay();\r\n\r\n return new Date(\r\n this.englishYear + '-' + this.englishMonth + '-' + this.englishDate\r\n );\r\n }\r\n\r\n private toNepaliString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.nepaliYear + format + this.nepaliMonth + format + this.nepaliDate\r\n );\r\n }\r\n\r\n private getNepaliDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalNepaliDays(\r\n this.nepaliYear,\r\n this.nepaliMonth,\r\n this.nepaliDate\r\n ) - this.countTotalNepaliDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalNepaliDays(year: any, month: any, date: any) {\r\n var total = 0;\r\n if (year < 2000) return 0;\r\n\r\n total = total + (date - 1);\r\n\r\n var yearIndex = year - 2000;\r\n for (var i = 0; i < month - 1; i++)\r\n total = total + this.nepaliMonths[yearIndex][i];\r\n\r\n for (var i = 0; i < yearIndex; i++) total = total + this.nepaliYearDays(i);\r\n\r\n return total;\r\n }\r\n\r\n private nepaliYearDays(index: any) {\r\n var total = 0;\r\n for (var i = 0; i < 12; i++) total += this.nepaliMonths[index][i];\r\n return total;\r\n }\r\n\r\n private isNepaliRange(date: any, month: any, year: any) {\r\n if (year < 2000 || year > 2099) return false;\r\n\r\n if (month < 0 || month > 11) return false;\r\n\r\n if (date < 1 || date > this.nepaliMonths[year - 2000][month - 1])\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n //Class Regular methods\r\n\r\n private getDay() {\r\n //Reference date 1943/4/14 Wednesday\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n this.weekDay = ((3 + (difference % 7)) % 7) + 1;\r\n return this.weekDay;\r\n }\r\n\r\n private getEnglishYear() {\r\n return this.englishYear;\r\n }\r\n\r\n private getEnglishMonth() {\r\n return this.englishMonth;\r\n }\r\n\r\n private getEnglishDate() {\r\n return this.englishDate;\r\n }\r\n\r\n private getNepaliYear() {\r\n return this.nepaliYear;\r\n }\r\n private getNepaliMonth() {\r\n return this.nepaliMonth;\r\n }\r\n\r\n private getNepaliDate() {\r\n return this.nepaliDate;\r\n }\r\n}\r\n","import { MonthMapping, DaysMapping, WordsMapping } from './types';\r\n\r\nexport const numberMapping: string[] = ['०', '१', '२', '३', '४', '५', '६', '७', '८', '९'];\r\n\r\nexport const wordsMapping: WordsMapping = {\r\n year: 'साल',\r\n month: 'महिना'\r\n};\r\n\r\nexport const daysMapping: DaysMapping = {\r\n en: {\r\n default: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\r\n },\r\n ne: {\r\n default: ['आइत', 'सोम', 'मंगल्', 'बुध', 'बिही', 'शुक्र', 'शनि'],\r\n short: ['आ', 'सो', 'मं', 'बु', 'बि', 'शु', 'श']\r\n }\r\n};\r\n\r\nexport const monthsMapping: MonthMapping = {\r\n en: {\r\n default: [\r\n 'Baisakh', 'Jestha', 'Asadh', 'Shrawan', 'Bhadra', 'Ashwin', 'Kartik', 'Mangsir', 'Poush', 'Marga', 'Falgun', 'Chaitra'\r\n ],\r\n modern: [\r\n 'Baisakh', 'Jeth', 'Asaar', 'Saawn', 'Bhadau', 'Aashoj', 'Kartik', 'Mangsir', 'Push', 'Magh', 'Fagun', 'Chait'\r\n ],\r\n short: [\r\n 'Bai', 'Jes', 'Asa', 'Shr', 'Bha', 'Ash', 'Kar', 'Man', 'Pou', 'Mar', 'Fal', 'Cha'\r\n ]\r\n },\r\n ne: {\r\n default: [\r\n 'बैशाख', 'जेष्ठ', 'आषाढ', 'श्रवण', 'भाद्र', 'आश्विन', 'कार्तिक', 'मंसिर', 'पौष', 'मार्ग', 'फाल्गुन', 'चैत्र'\r\n ],\r\n modern: [\r\n 'बैशाख', 'जेठ', 'असार', 'साउन', 'भदौ', 'अशोज', 'कार्तिक', 'मंसिर', 'पुष', 'माघ', 'फागुन', 'चैत'\r\n ],\r\n short: [\r\n 'बै', 'जे', 'अ', 'श्रा', 'भा', 'आ', 'का', 'मं', 'पौ', 'मा', 'फा', 'चै'\r\n ]\r\n }\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { numberMapping, wordsMapping } from './mapping';\r\n\r\n@Pipe({\r\n name: 'toNp',\r\n})\r\nexport class ToNpPipe implements PipeTransform {\r\n transform(\r\n value: number | string,\r\n language: string = 'ne',\r\n type: string = 'number'\r\n ): any {\r\n if (value) {\r\n if (language === 'ne') {\r\n switch (type) {\r\n case 'number':\r\n const split = value.toString().split('');\r\n return split\r\n .map((n) => {\r\n if (n === ' ') {\r\n return ' ';\r\n }\r\n return numberMapping[+n] ? numberMapping[+n] : n;\r\n })\r\n .join('');\r\n case 'word':\r\n let wrd = value.toString().toLowerCase();\r\n if(wrd ==='month'){\r\n return wordsMapping['month'];\r\n }else if(wrd ==='year'){\r\n return wordsMapping['year'];\r\n }else{\r\n return wrd\r\n }\r\n \r\n default:\r\n }\r\n }else{\r\n return value;\r\n }\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Input,\r\n forwardRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { NpDatePickerService } from './np-datepicker.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport {\r\n NepaliDate,\r\n MonthData,\r\n DaysMapping,\r\n MonthMapping,\r\n DateFormatter,\r\n} from './types';\r\nimport { daysMapping, monthsMapping } from './mapping';\r\n\r\n@Component({\r\n selector: 'np-datepicker',\r\n templateUrl: './np-date-picker.component.html',\r\n styleUrls: ['./np-date-picker.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NpDatePickerComponent),\r\n multi: true,\r\n },\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NpDatePickerComponent implements OnInit, ControlValueAccessor {\r\n nepaliDateToday: NepaliDate = { day: 0, month: 0, year: 0 };\r\n currentNepaliDate: NepaliDate = { day: 0, month: 0, year: 0 };\r\n selectedDate!: NepaliDate;\r\n formattedDate = '';\r\n currentDate: any;\r\n\r\n displayDate!: string;\r\n\r\n years: number[] = [];\r\n\r\n currentMonthData!: any;\r\n\r\n daysMapping: DaysMapping = daysMapping;\r\n\r\n monthsMapping: MonthMapping = monthsMapping;\r\n\r\n isOpen = false;\r\n\r\n hideInput = false;\r\n\r\n alwaysVisible = false;\r\n\r\n @Input()\r\n theme!: string;\r\n @Input()\r\n language: 'en' | 'ne' = 'ne';\r\n @Input() hasFuture: Boolean = true;\r\n @Input() format: string = 'yy-mm-dd';\r\n\r\n monthDisplayType: 'default' | 'modern' | 'short' = 'default';\r\n\r\n dayDisplayType: 'default' | 'short' = 'short';\r\n\r\n dateFormatter: DateFormatter = (selectedDate: NepaliDate) => {\r\n const dd =\r\n selectedDate.day < 10 ? '0' + selectedDate.day : selectedDate.day;\r\n const mm =\r\n selectedDate.month + 1 < 10\r\n ? '0' + (selectedDate.month + 1)\r\n : selectedDate.month + 1;\r\n\r\n switch (this.format) {\r\n case 'dd-mm-yy':\r\n return `${dd}/${mm}/${this.selectedDate.year}`;\r\n default:\r\n return `${this.selectedDate.year}/${mm}/${dd}`;\r\n }\r\n };\r\n\r\n initialized: boolean = false;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (!this.eRef.nativeElement.contains(event.target)) {\r\n this.close();\r\n }\r\n }\r\n\r\n constructor(\r\n public _nepaliDate: NpDatePickerService,\r\n private eRef: ElementRef\r\n ) {\r\n this.currentDate = new Date();\r\n this.nepaliDateToday = _nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.setCurrentDate();\r\n //this.selectDate(this.currentNepaliDate.day);\r\n this.populateYears();\r\n this.setCurrentMonthData();\r\n // console.log(this.currentMonthData);\r\n }\r\n\r\n populateYears() {\r\n for (let i = 2001; i <= 2099; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n selectYear(e: any) {\r\n this.currentNepaliDate.year = parseInt(e.target.value);\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n selectMonth(e: any) {\r\n let month = e.target.value;\r\n let nep_month_index =\r\n this.monthsMapping[this.language][this.monthDisplayType]?.indexOf(\r\n month\r\n ) ?? 0;\r\n\r\n this.currentNepaliDate.month = nep_month_index;\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n // console.log(this.currentDate);\r\n this.setCurrentMonthData();\r\n }\r\n\r\n resetCurrentMonthData() {\r\n this.currentMonthData = {\r\n 0: [],\r\n 1: [],\r\n 2: [],\r\n 3: [],\r\n 4: [],\r\n 5: [],\r\n 6: [],\r\n };\r\n }\r\n\r\n formatValue() {\r\n if (this.selectedDate) {\r\n this.formattedDate = this.dateFormatter(this.selectedDate);\r\n }\r\n }\r\n propagateChange = (_: any) => {};\r\n propagateTouch = (_: any) => {};\r\n writeValue(value: any) {\r\n this.propagateChange(this.selectedDate);\r\n if (value) {\r\n this.selectedDate = value;\r\n this.currentNepaliDate = value;\r\n this.formatValue();\r\n }\r\n }\r\n registerOnTouched() {}\r\n registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n setCurrentDate() {\r\n if (!this.selectedDate) {\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n } else {\r\n const { day, month, year } = this.selectedDate;\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(day, month, year);\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n this.selectedDate.year,\r\n this.selectedDate.month,\r\n this.selectedDate.day\r\n );\r\n }\r\n }\r\n\r\n setCurrentMonthData() {\r\n this.resetCurrentMonthData();\r\n\r\n // fill the currentMonthData with current date\r\n let day = this.currentDate.getDay();\r\n\r\n this.currentMonthData[day] = [this.currentNepaliDate.day];\r\n\r\n // fill the currentMonthData with day before the current date\r\n this.setMonthDataBefore(day - 1, this.currentNepaliDate.day - 1);\r\n\r\n var currentMonthMaxValue =\r\n this._nepaliDate.nepaliMonths[this.currentNepaliDate.year - 2000][\r\n this.currentNepaliDate.month\r\n ];\r\n\r\n // fill the currentMonthData with day after the current date\r\n this.setMonthDataAfter(\r\n day + 1,\r\n this.currentNepaliDate.day + 1,\r\n currentMonthMaxValue\r\n );\r\n\r\n // we need some empty spaces in place so that the dates are shown in correct order\r\n // eg if the 1st day starts on monday then we need 1 empty space for non existingn date on Sunday\r\n this.createEmptySpaces();\r\n }\r\n\r\n setMonthDataBefore(day: any, date: any) {\r\n if (date >= 1) {\r\n if (day < 0) {\r\n day = 6;\r\n }\r\n this.currentMonthData[day] = [date, ...this.currentMonthData[day]];\r\n this.setMonthDataBefore(--day, --date);\r\n }\r\n }\r\n\r\n setMonthDataAfter(day: any, date: any, currentMonthMaxValue: any) {\r\n const nepaliDate = {\r\n day: date,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n // only add the data if the current month matches\r\n if (date <= currentMonthMaxValue) {\r\n if (day > 6) {\r\n day = 0;\r\n }\r\n this.currentMonthData[day] = [...this.currentMonthData[day], date];\r\n this.setMonthDataAfter(++day, ++date, currentMonthMaxValue);\r\n }\r\n }\r\n\r\n createEmptySpaces() {\r\n // first find out which day has the 1st\r\n // if its a Sunday, then don't do anything else add 1 space on each previous day\r\n let dayIndex = 0;\r\n let value: any;\r\n Object.values(this.currentMonthData).map((item, index) => {\r\n value = item;\r\n if (value.includes(1)) {\r\n dayIndex = index;\r\n }\r\n return value.includes(1);\r\n });\r\n\r\n if (dayIndex) {\r\n for (dayIndex; dayIndex > 0; dayIndex--) {\r\n const monthData = this.currentMonthData[dayIndex - 1];\r\n this.currentMonthData[dayIndex - 1] = [null, ...monthData];\r\n }\r\n }\r\n }\r\n\r\n selectToday() {\r\n const EnglistDateToday = new Date();\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n EnglistDateToday.getDate(),\r\n EnglistDateToday.getMonth(),\r\n EnglistDateToday.getFullYear()\r\n );\r\n\r\n this.selectedDate = { ...this.currentNepaliDate };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n }\r\n\r\n selectDate(day: number) {\r\n this.selectedDate = { ...this.currentNepaliDate, day };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n }\r\n\r\n prevMonth() {\r\n if (this.currentNepaliDate.month <= 0) {\r\n this.currentNepaliDate.month = 11;\r\n this.currentNepaliDate.year--;\r\n } else {\r\n this.currentNepaliDate.month--;\r\n }\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n nextMonth() {\r\n if (this.currentNepaliDate.month >= 11) {\r\n this.currentNepaliDate.month = 0;\r\n this.currentNepaliDate.year++;\r\n } else {\r\n this.currentNepaliDate.month++;\r\n }\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n this.setCurrentMonthData();\r\n }\r\n\r\n toggleOpen() {\r\n if (!this.alwaysVisible) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n open() {\r\n this.isOpen = true;\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n //this.setCurrentDate();\r\n }\r\n}\r\n","<div class=\"nepali-date-picker\" [ngClass]=\"theme\">\r\n <input\r\n class=\"ngx_np_datepicker_input\"\r\n type=\"text\"\r\n [value]=\"formattedDate\"\r\n (focus)=\"open()\"\r\n (keydown)=\"$event.preventDefault()\"\r\n placeholder=\"yyyy/mm/dd\"\r\n />\r\n <a\r\n class=\"form-icon\"\r\n (click)=\"toggleOpen()\"\r\n [ngClass]=\"isOpen ? 'active' : ''\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path\r\n d=\"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"\r\n />\r\n </svg>\r\n </a>\r\n <ng-container [ngTemplateOutlet]=\"npdp\" *ngIf=\"isOpen\"></ng-container>\r\n</div>\r\n<ng-template #npdp>\r\n <div class=\"datepicker__container\">\r\n <div class=\"datepicker__options-container\">\r\n <a class=\"prev-month\" (click)=\"prevMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M224 480c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25l192-192c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l169.4 169.4c12.5 12.5 12.5 32.75 0 45.25C240.4 476.9 232.2 480 224 480z\"\r\n />\r\n </svg>\r\n </a>\r\n <a class=\"select-today\" (click)=\"selectToday()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-home\"><path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline></svg>\r\n </a>\r\n <span class=\"datepicker__options-month-container\">\r\n \r\n <select (change)=\"selectMonth($event)\">\r\n <option\r\n *ngFor=\"\r\n let month of monthsMapping[language][monthDisplayType];\r\n index as i\r\n \"\r\n [value]=\"month\"\r\n [selected]=\"i === currentNepaliDate?.month\"\r\n >\r\n {{ month }}\r\n </option>\r\n </select>\r\n </span>\r\n <span class=\"datepicker__options-year-container\">\r\n \r\n <select (change)=\"selectYear($event)\">\r\n <option\r\n *ngFor=\"let year of years; index as i\"\r\n [value]=\"year\"\r\n [selected]=\"year == currentNepaliDate?.year\"\r\n >\r\n {{ year | toNp: language:\"number\" }}\r\n </option>\r\n </select>\r\n </span>\r\n \r\n <a class=\"next-month\" (click)=\"nextMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z\"\r\n />\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"datepicker__days-container\">\r\n <div\r\n class=\"datepicker__days\"\r\n *ngFor=\"let day of daysMapping[language][dayDisplayType]; index as i\"\r\n >\r\n <div class=\"datepicker__weekday\">{{ day }}</div>\r\n <div\r\n class=\"datepicker__date-container\"\r\n *ngFor=\"let date of currentMonthData[i]\"\r\n >\r\n <div *ngIf=\"hasFuture; else noFutureDate\">\r\n <div\r\n *ngIf=\"date\"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #noFutureDate>\r\n <div\r\n *ngIf=\"\r\n date &&\r\n this.currentNepaliDate.year * 365 +\r\n this.currentNepaliDate.month * 30 +\r\n date <=\r\n nepaliDateToday.day +\r\n nepaliDateToday.month * 30 +\r\n nepaliDateToday.year * 365;\r\n else disabledDates\r\n \"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n\r\n <ng-template #disabledDates>\r\n <div class=\"datepicker__date datepicker__date--disabled\">\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n </ng-template>\r\n\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <!--.datepicker__date-container ends-->\r\n </div>\r\n <!--.datepicker__days ends-->\r\n </div>\r\n <!--.datepicker__days-container ends-->\r\n </div>\r\n <!--.datepicker__container ends-->\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NpDatePickerComponent } from './np-datepicker.component';\r\nimport { ToNpPipe } from './to-np.pipe';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n ToNpPipe,\r\n NpDatePickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n NpDatePickerComponent\r\n ]\r\n})\r\nexport class NepaliDatepickerModule { }\r\n","/*\r\n * Public API Surface of npx-np-datepicker\r\n */\r\n\r\nexport * from './lib/np-datepicker.service';\r\nexport * from './lib/np-datepicker.component';\r\nexport * from './lib/np-datepicker.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NpDatePickerService","i4.ToNpPipe"],"mappings":";;;;;;;AAAO,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/D,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACnE,IAAA,YAAY,EAAE;QACZ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,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"}
|
|
1
|
+
{"version":3,"file":"ngx-np-datepicker.mjs","sources":["../../../projects/npx-np-datepicker/src/lib/dateconst.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.service.ts","../../../projects/npx-np-datepicker/src/lib/mapping.ts","../../../projects/npx-np-datepicker/src/lib/to-np.pipe.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.component.ts","../../../projects/npx-np-datepicker/src/lib/np-date-picker.component.html","../../../projects/npx-np-datepicker/src/lib/np-datepicker.module.ts","../../../projects/npx-np-datepicker/src/public-api.ts","../../../projects/npx-np-datepicker/src/ngx-np-datepicker.ts"],"sourcesContent":["export const NP_DATE = Object.freeze({\r\n englishMonths: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n englishLeapMonths: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n nepaliMonths: [\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], //2000\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2001\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2002\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2003\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2004\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2005\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2006\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2006\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], // 2007\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2008\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2009\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2010\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2011\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2012\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2013\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2014\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2015\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2016\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2017\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2018\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2019\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2020\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2021\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2022\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2023\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2024\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2025\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2071\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], //2072\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], //2073\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2076\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2078\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2079\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2080\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2081\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2082\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], // 2083\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 32, 31, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], //2090\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], //2099\r\n ]\r\n});","import { Injectable } from '@angular/core';\r\nimport { NP_DATE } from './dateconst';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NpDatePickerService {\r\n englishMonths = NP_DATE.englishMonths;\r\n englishLeapMonths = NP_DATE.englishLeapMonths;\r\n nepaliMonths = NP_DATE.nepaliMonths;\r\n\r\n englishYear: any;\r\n englishMonth: any;\r\n englishDate: any;\r\n\r\n nepaliYear: any;\r\n nepaliMonth: any;\r\n nepaliDate: any;\r\n\r\n weekDay: any;\r\n format = '.';\r\n\r\n private setCurrentNepaliDate() {\r\n var d = new Date();\r\n return this.engToNepDate(d.getDate(), d.getMonth(), d.getFullYear());\r\n }\r\n\r\n //English to Nepali date conversion\r\n engToNepDate(date: any, month: any, year: any) {\r\n if (!this.isEnglishRange(date, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month + 1;\r\n this.englishDate = date;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n //ISO format English string date (YYYY-MM-DD) to Nepali date conversion\r\n engStringToNepDate(engDate: string) {\r\n const [year, month, day] = engDate.split('-').map(Number);\r\n\r\n if (!this.isEnglishRange(day, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month;\r\n this.englishDate = day;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n private toEnglishString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.englishYear + format + this.englishMonth + format + this.englishDate\r\n );\r\n }\r\n\r\n private getEnglishDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalEnglishDays(\r\n this.englishYear,\r\n this.englishMonth,\r\n this.englishDate\r\n ) - this.countTotalEnglishDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalEnglishDays(year: any, month: any, date: any) {\r\n var totalDays = year * 365 + date;\r\n\r\n for (var i = 0; i < month - 1; i++)\r\n totalDays = totalDays + this.englishMonths[i];\r\n\r\n totalDays = totalDays + this.countleap(year, month);\r\n return totalDays;\r\n }\r\n\r\n private countleap(year: any, month: any) {\r\n if (month <= 2) year--;\r\n\r\n return (\r\n Math.floor(year / 4) - Math.floor(year / 100) + Math.floor(year / 400)\r\n );\r\n }\r\n\r\n private isEnglishRange(date: any, month: any, year: any) {\r\n if (year < 1944 || year > 2042) return false;\r\n if (month < 1 || month > 12) return false;\r\n if (date < 1 || date > 31) return false;\r\n\r\n return true;\r\n }\r\n\r\n private isLeapYear(year: any) {\r\n if (year % 4 === 0) {\r\n return year % 100 === 0 ? year % 400 === 0 : true;\r\n } else return false;\r\n }\r\n\r\n //Nepali to English conversion\r\n nepToEngDate(date: any, month: any, year: any) {\r\n if (!this.isNepaliRange(date, month, year)) {\r\n console.log('Invalid Date Format');\r\n // throw new Exception(\"Invalid date format.\");\r\n return;\r\n }\r\n\r\n this.nepaliYear = year;\r\n this.nepaliMonth = month + 1;\r\n this.nepaliDate = date;\r\n\r\n //Setting english reference to 1944/1/1 with nepali date 2000/9/17\r\n this.englishYear = 1944;\r\n this.englishMonth = 1;\r\n this.englishDate = 1;\r\n\r\n var difference = this.getNepaliDateDifference(2000, 9, 17);\r\n\r\n //Getting english year untill the difference remains less than 365\r\n while (difference >= (this.isLeapYear(this.englishYear) ? 366 : 365)) {\r\n difference = difference - (this.isLeapYear(this.englishYear) ? 366 : 365);\r\n this.englishYear++;\r\n }\r\n\r\n //Getting english month untill the difference remains less than 31\r\n var monthDays = this.isLeapYear(this.englishYear)\r\n ? this.englishLeapMonths\r\n : this.englishMonths;\r\n var i = 0;\r\n while (difference >= monthDays[i]) {\r\n this.englishMonth++;\r\n difference = difference - monthDays[i];\r\n i++;\r\n }\r\n\r\n //Remaning days is the date;\r\n this.englishDate = this.englishDate + difference;\r\n this.getDay();\r\n\r\n return new Date(\r\n this.englishYear + '-' + this.englishMonth + '-' + this.englishDate\r\n );\r\n }\r\n\r\n private toNepaliString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.nepaliYear + format + this.nepaliMonth + format + this.nepaliDate\r\n );\r\n }\r\n\r\n private getNepaliDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalNepaliDays(\r\n this.nepaliYear,\r\n this.nepaliMonth,\r\n this.nepaliDate\r\n ) - this.countTotalNepaliDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalNepaliDays(year: any, month: any, date: any) {\r\n var total = 0;\r\n if (year < 2000) return 0;\r\n\r\n total = total + (date - 1);\r\n\r\n var yearIndex = year - 2000;\r\n for (var i = 0; i < month - 1; i++)\r\n total = total + this.nepaliMonths[yearIndex][i];\r\n\r\n for (var i = 0; i < yearIndex; i++) total = total + this.nepaliYearDays(i);\r\n\r\n return total;\r\n }\r\n\r\n private nepaliYearDays(index: any) {\r\n var total = 0;\r\n for (var i = 0; i < 12; i++) total += this.nepaliMonths[index][i];\r\n return total;\r\n }\r\n\r\n private isNepaliRange(date: any, month: any, year: any) {\r\n if (year < 2000 || year > 2099) return false;\r\n\r\n if (month < 0 || month > 11) return false;\r\n\r\n if (date < 1 || date > this.nepaliMonths[year - 2000][month - 1])\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n //Class Regular methods\r\n\r\n private getDay() {\r\n //Reference date 1943/4/14 Wednesday\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n this.weekDay = ((3 + (difference % 7)) % 7) + 1;\r\n return this.weekDay;\r\n }\r\n\r\n private getEnglishYear() {\r\n return this.englishYear;\r\n }\r\n\r\n private getEnglishMonth() {\r\n return this.englishMonth;\r\n }\r\n\r\n private getEnglishDate() {\r\n return this.englishDate;\r\n }\r\n\r\n private getNepaliYear() {\r\n return this.nepaliYear;\r\n }\r\n private getNepaliMonth() {\r\n return this.nepaliMonth;\r\n }\r\n\r\n private getNepaliDate() {\r\n return this.nepaliDate;\r\n }\r\n}\r\n","import { MonthMapping, DaysMapping, WordsMapping } from './types';\r\n\r\nexport const numberMapping: string[] = ['०', '१', '२', '३', '४', '५', '६', '७', '८', '९'];\r\n\r\nexport const wordsMapping: WordsMapping = {\r\n year: 'साल',\r\n month: 'महिना'\r\n};\r\n\r\nexport const daysMapping: DaysMapping = {\r\n en: {\r\n default: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\r\n },\r\n ne: {\r\n default: ['आइत', 'सोम', 'मंगल्', 'बुध', 'बिही', 'शुक्र', 'शनि'],\r\n short: ['आ', 'सो', 'मं', 'बु', 'बि', 'शु', 'श']\r\n }\r\n};\r\n\r\nexport const monthsMapping: MonthMapping = {\r\n en: {\r\n default: [\r\n 'Baisakh', 'Jestha', 'Asadh', 'Shrawan', 'Bhadra', 'Ashwin', 'Kartik', 'Mangsir', 'Poush', 'Marga', 'Falgun', 'Chaitra'\r\n ],\r\n modern: [\r\n 'Baisakh', 'Jeth', 'Asaar', 'Saawn', 'Bhadau', 'Aashoj', 'Kartik', 'Mangsir', 'Push', 'Magh', 'Fagun', 'Chait'\r\n ],\r\n short: [\r\n 'Bai', 'Jes', 'Asa', 'Shr', 'Bha', 'Ash', 'Kar', 'Man', 'Pou', 'Mar', 'Fal', 'Cha'\r\n ]\r\n },\r\n ne: {\r\n default: [\r\n 'बैशाख', 'जेष्ठ', 'आषाढ', 'श्रवण', 'भाद्र', 'आश्विन', 'कार्तिक', 'मंसिर', 'पौष', 'मार्ग', 'फाल्गुन', 'चैत्र'\r\n ],\r\n modern: [\r\n 'बैशाख', 'जेठ', 'असार', 'साउन', 'भदौ', 'अशोज', 'कार्तिक', 'मंसिर', 'पुष', 'माघ', 'फागुन', 'चैत'\r\n ],\r\n short: [\r\n 'बै', 'जे', 'अ', 'श्रा', 'भा', 'आ', 'का', 'मं', 'पौ', 'मा', 'फा', 'चै'\r\n ]\r\n }\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { numberMapping, wordsMapping } from './mapping';\r\n\r\n@Pipe({\r\n name: 'toNp',\r\n})\r\nexport class ToNpPipe implements PipeTransform {\r\n transform(\r\n value: number | string,\r\n language: string = 'ne',\r\n type: string = 'number'\r\n ): any {\r\n if (value) {\r\n if (language === 'ne') {\r\n switch (type) {\r\n case 'number':\r\n const split = value.toString().split('');\r\n return split\r\n .map((n) => {\r\n if (n === ' ') {\r\n return ' ';\r\n }\r\n return numberMapping[+n] ? numberMapping[+n] : n;\r\n })\r\n .join('');\r\n case 'word':\r\n let wrd = value.toString().toLowerCase();\r\n if(wrd ==='month'){\r\n return wordsMapping['month'];\r\n }else if(wrd ==='year'){\r\n return wordsMapping['year'];\r\n }else{\r\n return wrd\r\n }\r\n \r\n default:\r\n }\r\n }else{\r\n return value;\r\n }\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Input,\r\n forwardRef,\r\n ViewEncapsulation,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { NpDatePickerService } from './np-datepicker.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport {\r\n NepaliDate,\r\n MonthData,\r\n DaysMapping,\r\n MonthMapping,\r\n DateFormatter,\r\n} from './types';\r\nimport { daysMapping, monthsMapping } from './mapping';\r\n\r\n@Component({\r\n selector: 'np-datepicker',\r\n templateUrl: './np-date-picker.component.html',\r\n styleUrls: ['./np-date-picker.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NpDatePickerComponent),\r\n multi: true,\r\n },\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NpDatePickerComponent implements OnInit, ControlValueAccessor {\r\n nepaliDateToday: NepaliDate = { day: 0, month: 0, year: 0 };\r\n currentNepaliDate: NepaliDate = { day: 0, month: 0, year: 0 };\r\n selectedDate!: NepaliDate;\r\n formattedDate = '';\r\n currentDate: any;\r\n\r\n displayDate!: string;\r\n\r\n years: number[] = [];\r\n\r\n currentMonthData!: any;\r\n\r\n daysMapping: DaysMapping = daysMapping;\r\n\r\n monthsMapping: MonthMapping = monthsMapping;\r\n\r\n isOpen = false;\r\n\r\n hideInput = false;\r\n\r\n alwaysVisible = false;\r\n\r\n @Input()\r\n theme!: string;\r\n @Input()\r\n language: 'en' | 'ne' = 'ne';\r\n @Input() hasFuture: Boolean = true;\r\n @Input() format: string = 'yy-mm-dd';\r\n\r\n @Output() dateSelected = new EventEmitter<any>();\r\n \r\n monthDisplayType: 'default' | 'modern' | 'short' = 'default';\r\n\r\n dayDisplayType: 'default' | 'short' = 'short';\r\n\r\n dateFormatter: DateFormatter = (selectedDate: NepaliDate) => {\r\n const dd =\r\n selectedDate.day < 10 ? '0' + selectedDate.day : selectedDate.day;\r\n const mm =\r\n selectedDate.month + 1 < 10\r\n ? '0' + (selectedDate.month + 1)\r\n : selectedDate.month + 1;\r\n\r\n switch (this.format) {\r\n case 'dd-mm-yy':\r\n return `${dd}/${mm}/${this.selectedDate.year}`;\r\n default:\r\n return `${this.selectedDate.year}/${mm}/${dd}`;\r\n }\r\n };\r\n\r\n initialized: boolean = false;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (!this.eRef.nativeElement.contains(event.target)) {\r\n this.close();\r\n }\r\n }\r\n\r\n constructor(\r\n public _nepaliDate: NpDatePickerService,\r\n private eRef: ElementRef\r\n ) {\r\n this.currentDate = new Date();\r\n this.nepaliDateToday = _nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.setCurrentDate();\r\n //this.selectDate(this.currentNepaliDate.day);\r\n this.populateYears();\r\n this.setCurrentMonthData();\r\n // console.log(this.currentMonthData);\r\n }\r\n\r\n populateYears() {\r\n for (let i = 2001; i <= 2099; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n selectYear(e: any) {\r\n this.currentNepaliDate.year = parseInt(e.target.value);\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n selectMonth(e: any) {\r\n let month = e.target.value;\r\n let nep_month_index =\r\n this.monthsMapping[this.language][this.monthDisplayType]?.indexOf(\r\n month\r\n ) ?? 0;\r\n\r\n this.currentNepaliDate.month = nep_month_index;\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n // console.log(this.currentDate);\r\n this.setCurrentMonthData();\r\n }\r\n\r\n resetCurrentMonthData() {\r\n this.currentMonthData = {\r\n 0: [],\r\n 1: [],\r\n 2: [],\r\n 3: [],\r\n 4: [],\r\n 5: [],\r\n 6: [],\r\n };\r\n }\r\n\r\n formatValue() {\r\n if (this.selectedDate) {\r\n this.formattedDate = this.dateFormatter(this.selectedDate);\r\n }\r\n }\r\n propagateChange = (_: any) => {};\r\n propagateTouch = (_: any) => {};\r\n writeValue(value: any) {\r\n this.propagateChange(this.selectedDate);\r\n if (value) {\r\n this.selectedDate = value;\r\n this.currentNepaliDate = value;\r\n this.formatValue();\r\n }\r\n }\r\n registerOnTouched() {}\r\n registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n setCurrentDate() {\r\n if (!this.selectedDate) {\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n } else {\r\n const { day, month, year } = this.selectedDate;\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(day, month, year);\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n this.selectedDate.year,\r\n this.selectedDate.month,\r\n this.selectedDate.day\r\n );\r\n }\r\n }\r\n\r\n setCurrentMonthData() {\r\n this.resetCurrentMonthData();\r\n\r\n // fill the currentMonthData with current date\r\n let day = this.currentDate.getDay();\r\n\r\n this.currentMonthData[day] = [this.currentNepaliDate.day];\r\n\r\n // fill the currentMonthData with day before the current date\r\n this.setMonthDataBefore(day - 1, this.currentNepaliDate.day - 1);\r\n\r\n var currentMonthMaxValue =\r\n this._nepaliDate.nepaliMonths[this.currentNepaliDate.year - 2000][\r\n this.currentNepaliDate.month\r\n ];\r\n\r\n // fill the currentMonthData with day after the current date\r\n this.setMonthDataAfter(\r\n day + 1,\r\n this.currentNepaliDate.day + 1,\r\n currentMonthMaxValue\r\n );\r\n\r\n // we need some empty spaces in place so that the dates are shown in correct order\r\n // eg if the 1st day starts on monday then we need 1 empty space for non existingn date on Sunday\r\n this.createEmptySpaces();\r\n }\r\n\r\n setMonthDataBefore(day: any, date: any) {\r\n if (date >= 1) {\r\n if (day < 0) {\r\n day = 6;\r\n }\r\n this.currentMonthData[day] = [date, ...this.currentMonthData[day]];\r\n this.setMonthDataBefore(--day, --date);\r\n }\r\n }\r\n\r\n setMonthDataAfter(day: any, date: any, currentMonthMaxValue: any) {\r\n const nepaliDate = {\r\n day: date,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n // only add the data if the current month matches\r\n if (date <= currentMonthMaxValue) {\r\n if (day > 6) {\r\n day = 0;\r\n }\r\n this.currentMonthData[day] = [...this.currentMonthData[day], date];\r\n this.setMonthDataAfter(++day, ++date, currentMonthMaxValue);\r\n }\r\n }\r\n\r\n createEmptySpaces() {\r\n // first find out which day has the 1st\r\n // if its a Sunday, then don't do anything else add 1 space on each previous day\r\n let dayIndex = 0;\r\n let value: any;\r\n Object.values(this.currentMonthData).map((item, index) => {\r\n value = item;\r\n if (value.includes(1)) {\r\n dayIndex = index;\r\n }\r\n return value.includes(1);\r\n });\r\n\r\n if (dayIndex) {\r\n for (dayIndex; dayIndex > 0; dayIndex--) {\r\n const monthData = this.currentMonthData[dayIndex - 1];\r\n this.currentMonthData[dayIndex - 1] = [null, ...monthData];\r\n }\r\n }\r\n }\r\n\r\n selectToday() {\r\n const EnglistDateToday = new Date();\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n EnglistDateToday.getDate(),\r\n EnglistDateToday.getMonth(),\r\n EnglistDateToday.getFullYear()\r\n );\r\n\r\n this.selectedDate = { ...this.currentNepaliDate };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n this.dateSelected.emit(this.selectedDate);\r\n }\r\n\r\n selectDate(day: number) {\r\n this.selectedDate = { ...this.currentNepaliDate, day };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n this.dateSelected.emit(this.selectedDate);\r\n }\r\n\r\n prevMonth() {\r\n if (this.currentNepaliDate.month <= 0) {\r\n this.currentNepaliDate.month = 11;\r\n this.currentNepaliDate.year--;\r\n } else {\r\n this.currentNepaliDate.month--;\r\n }\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n nextMonth() {\r\n if (this.currentNepaliDate.month >= 11) {\r\n this.currentNepaliDate.month = 0;\r\n this.currentNepaliDate.year++;\r\n } else {\r\n this.currentNepaliDate.month++;\r\n }\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n this.setCurrentMonthData();\r\n }\r\n\r\n toggleOpen() {\r\n if (!this.alwaysVisible) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n open() {\r\n this.isOpen = true;\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n //this.setCurrentDate();\r\n }\r\n}\r\n","<div class=\"nepali-date-picker\" [ngClass]=\"theme\">\r\n <input\r\n class=\"ngx_np_datepicker_input\"\r\n type=\"text\"\r\n [value]=\"formattedDate\"\r\n (focus)=\"open()\"\r\n (keydown)=\"$event.preventDefault()\"\r\n placeholder=\"yyyy/mm/dd\"\r\n />\r\n <a\r\n class=\"form-icon\"\r\n (click)=\"toggleOpen()\"\r\n [ngClass]=\"isOpen ? 'active' : ''\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path\r\n d=\"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"\r\n />\r\n </svg>\r\n </a>\r\n <ng-container [ngTemplateOutlet]=\"npdp\" *ngIf=\"isOpen\"></ng-container>\r\n</div>\r\n<ng-template #npdp>\r\n <div class=\"datepicker__container\">\r\n <div class=\"datepicker__options-container\">\r\n <a class=\"prev-month\" (click)=\"prevMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M224 480c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25l192-192c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l169.4 169.4c12.5 12.5 12.5 32.75 0 45.25C240.4 476.9 232.2 480 224 480z\"\r\n />\r\n </svg>\r\n </a>\r\n <a class=\"select-today\" (click)=\"selectToday()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-home\"><path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline></svg>\r\n </a>\r\n <span class=\"datepicker__options-month-container\">\r\n \r\n <select (change)=\"selectMonth($event)\">\r\n <option\r\n *ngFor=\"\r\n let month of monthsMapping[language][monthDisplayType];\r\n index as i\r\n \"\r\n [value]=\"month\"\r\n [selected]=\"i === currentNepaliDate?.month\"\r\n >\r\n {{ month }}\r\n </option>\r\n </select>\r\n </span>\r\n <span class=\"datepicker__options-year-container\">\r\n \r\n <select (change)=\"selectYear($event)\">\r\n <option\r\n *ngFor=\"let year of years; index as i\"\r\n [value]=\"year\"\r\n [selected]=\"year == currentNepaliDate?.year\"\r\n >\r\n {{ year | toNp: language:\"number\" }}\r\n </option>\r\n </select>\r\n </span>\r\n \r\n <a class=\"next-month\" (click)=\"nextMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z\"\r\n />\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"datepicker__days-container\">\r\n <div\r\n class=\"datepicker__days\"\r\n *ngFor=\"let day of daysMapping[language][dayDisplayType]; index as i\"\r\n >\r\n <div class=\"datepicker__weekday\">{{ day }}</div>\r\n <div\r\n class=\"datepicker__date-container\"\r\n *ngFor=\"let date of currentMonthData[i]\"\r\n >\r\n <div *ngIf=\"hasFuture; else noFutureDate\">\r\n <div\r\n *ngIf=\"date\"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #noFutureDate>\r\n <div\r\n *ngIf=\"\r\n date &&\r\n this.currentNepaliDate.year * 365 +\r\n this.currentNepaliDate.month * 30 +\r\n date <=\r\n nepaliDateToday.day +\r\n nepaliDateToday.month * 30 +\r\n nepaliDateToday.year * 365;\r\n else disabledDates\r\n \"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n\r\n <ng-template #disabledDates>\r\n <div class=\"datepicker__date datepicker__date--disabled\">\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n </ng-template>\r\n\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <!--.datepicker__date-container ends-->\r\n </div>\r\n <!--.datepicker__days ends-->\r\n </div>\r\n <!--.datepicker__days-container ends-->\r\n </div>\r\n <!--.datepicker__container ends-->\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NpDatePickerComponent } from './np-datepicker.component';\r\nimport { ToNpPipe } from './to-np.pipe';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n ToNpPipe,\r\n NpDatePickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n NpDatePickerComponent\r\n ]\r\n})\r\nexport class NepaliDatepickerModule { }\r\n","/*\r\n * Public API Surface of npx-np-datepicker\r\n */\r\n\r\nexport * from './lib/np-datepicker.service';\r\nexport * from './lib/np-datepicker.component';\r\nexport * from './lib/np-datepicker.module';\r\nexport * from './lib/types/date.interface';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NpDatePickerService","i4.ToNpPipe"],"mappings":";;;;;;;AAAO,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/D,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACnE,IAAA,YAAY,EAAE;QACZ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Injectable, Pipe, forwardRef, Component, ViewEncapsulation, Input, HostListener, NgModule } from '@angular/core';
|
|
2
|
+
import { Injectable, Pipe, EventEmitter, forwardRef, Component, ViewEncapsulation, Input, Output, HostListener, NgModule } from '@angular/core';
|
|
3
3
|
import * as i3 from '@angular/forms';
|
|
4
4
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
5
5
|
import * as i2 from '@angular/common';
|
|
@@ -452,6 +452,7 @@ class NpDatePickerComponent {
|
|
|
452
452
|
this.language = 'ne';
|
|
453
453
|
this.hasFuture = true;
|
|
454
454
|
this.format = 'yy-mm-dd';
|
|
455
|
+
this.dateSelected = new EventEmitter();
|
|
455
456
|
this.monthDisplayType = 'default';
|
|
456
457
|
this.dayDisplayType = 'short';
|
|
457
458
|
this.dateFormatter = (selectedDate) => {
|
|
@@ -614,12 +615,14 @@ class NpDatePickerComponent {
|
|
|
614
615
|
this.formatValue();
|
|
615
616
|
this.close();
|
|
616
617
|
this.propagateChange(this.selectedDate);
|
|
618
|
+
this.dateSelected.emit(this.selectedDate);
|
|
617
619
|
}
|
|
618
620
|
selectDate(day) {
|
|
619
621
|
this.selectedDate = { ...this.currentNepaliDate, day };
|
|
620
622
|
this.formatValue();
|
|
621
623
|
this.close();
|
|
622
624
|
this.propagateChange(this.selectedDate);
|
|
625
|
+
this.dateSelected.emit(this.selectedDate);
|
|
623
626
|
}
|
|
624
627
|
prevMonth() {
|
|
625
628
|
if (this.currentNepaliDate.month <= 0) {
|
|
@@ -667,7 +670,7 @@ class NpDatePickerComponent {
|
|
|
667
670
|
}
|
|
668
671
|
}
|
|
669
672
|
NpDatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NpDatePickerComponent, deps: [{ token: NpDatePickerService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
670
|
-
NpDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NpDatePickerComponent, selector: "np-datepicker", inputs: { theme: "theme", language: "language", hasFuture: "hasFuture", format: "format" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
|
|
673
|
+
NpDatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: NpDatePickerComponent, selector: "np-datepicker", inputs: { theme: "theme", language: "language", hasFuture: "hasFuture", format: "format" }, outputs: { dateSelected: "dateSelected" }, host: { listeners: { "document:click": "clickout($event)" } }, providers: [
|
|
671
674
|
{
|
|
672
675
|
provide: NG_VALUE_ACCESSOR,
|
|
673
676
|
useExisting: forwardRef(() => NpDatePickerComponent),
|
|
@@ -691,6 +694,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
|
|
|
691
694
|
type: Input
|
|
692
695
|
}], format: [{
|
|
693
696
|
type: Input
|
|
697
|
+
}], dateSelected: [{
|
|
698
|
+
type: Output
|
|
694
699
|
}], clickout: [{
|
|
695
700
|
type: HostListener,
|
|
696
701
|
args: ['document:click', ['$event']]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-np-datepicker.mjs","sources":["../../../projects/npx-np-datepicker/src/lib/dateconst.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.service.ts","../../../projects/npx-np-datepicker/src/lib/mapping.ts","../../../projects/npx-np-datepicker/src/lib/to-np.pipe.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.component.ts","../../../projects/npx-np-datepicker/src/lib/np-date-picker.component.html","../../../projects/npx-np-datepicker/src/lib/np-datepicker.module.ts","../../../projects/npx-np-datepicker/src/public-api.ts","../../../projects/npx-np-datepicker/src/ngx-np-datepicker.ts"],"sourcesContent":["export const NP_DATE = Object.freeze({\r\n englishMonths: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n englishLeapMonths: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n nepaliMonths: [\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], //2000\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2001\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2002\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2003\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2004\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2005\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2006\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2006\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], // 2007\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2008\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2009\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2010\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2011\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2012\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2013\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2014\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2015\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2016\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2017\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2018\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2019\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2020\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2021\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2022\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2023\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2024\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2025\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2071\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], //2072\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], //2073\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2076\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2078\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2079\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2080\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2081\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2082\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], // 2083\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 32, 31, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], //2090\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], //2099\r\n ]\r\n});","import { Injectable } from '@angular/core';\r\nimport { NP_DATE } from './dateconst';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NpDatePickerService {\r\n englishMonths = NP_DATE.englishMonths;\r\n englishLeapMonths = NP_DATE.englishLeapMonths;\r\n nepaliMonths = NP_DATE.nepaliMonths;\r\n\r\n englishYear: any;\r\n englishMonth: any;\r\n englishDate: any;\r\n\r\n nepaliYear: any;\r\n nepaliMonth: any;\r\n nepaliDate: any;\r\n\r\n weekDay: any;\r\n format = '.';\r\n\r\n private setCurrentNepaliDate() {\r\n var d = new Date();\r\n return this.engToNepDate(d.getDate(), d.getMonth(), d.getFullYear());\r\n }\r\n\r\n //English to Nepali date conversion\r\n engToNepDate(date: any, month: any, year: any) {\r\n if (!this.isEnglishRange(date, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month + 1;\r\n this.englishDate = date;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n //ISO format English string date (YYYY-MM-DD) to Nepali date conversion\r\n engStringToNepDate(engDate: string) {\r\n const [year, month, day] = engDate.split('-').map(Number);\r\n\r\n if (!this.isEnglishRange(day, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month;\r\n this.englishDate = day;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n private toEnglishString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.englishYear + format + this.englishMonth + format + this.englishDate\r\n );\r\n }\r\n\r\n private getEnglishDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalEnglishDays(\r\n this.englishYear,\r\n this.englishMonth,\r\n this.englishDate\r\n ) - this.countTotalEnglishDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalEnglishDays(year: any, month: any, date: any) {\r\n var totalDays = year * 365 + date;\r\n\r\n for (var i = 0; i < month - 1; i++)\r\n totalDays = totalDays + this.englishMonths[i];\r\n\r\n totalDays = totalDays + this.countleap(year, month);\r\n return totalDays;\r\n }\r\n\r\n private countleap(year: any, month: any) {\r\n if (month <= 2) year--;\r\n\r\n return (\r\n Math.floor(year / 4) - Math.floor(year / 100) + Math.floor(year / 400)\r\n );\r\n }\r\n\r\n private isEnglishRange(date: any, month: any, year: any) {\r\n if (year < 1944 || year > 2042) return false;\r\n if (month < 1 || month > 12) return false;\r\n if (date < 1 || date > 31) return false;\r\n\r\n return true;\r\n }\r\n\r\n private isLeapYear(year: any) {\r\n if (year % 4 === 0) {\r\n return year % 100 === 0 ? year % 400 === 0 : true;\r\n } else return false;\r\n }\r\n\r\n //Nepali to English conversion\r\n nepToEngDate(date: any, month: any, year: any) {\r\n if (!this.isNepaliRange(date, month, year)) {\r\n console.log('Invalid Date Format');\r\n // throw new Exception(\"Invalid date format.\");\r\n return;\r\n }\r\n\r\n this.nepaliYear = year;\r\n this.nepaliMonth = month + 1;\r\n this.nepaliDate = date;\r\n\r\n //Setting english reference to 1944/1/1 with nepali date 2000/9/17\r\n this.englishYear = 1944;\r\n this.englishMonth = 1;\r\n this.englishDate = 1;\r\n\r\n var difference = this.getNepaliDateDifference(2000, 9, 17);\r\n\r\n //Getting english year untill the difference remains less than 365\r\n while (difference >= (this.isLeapYear(this.englishYear) ? 366 : 365)) {\r\n difference = difference - (this.isLeapYear(this.englishYear) ? 366 : 365);\r\n this.englishYear++;\r\n }\r\n\r\n //Getting english month untill the difference remains less than 31\r\n var monthDays = this.isLeapYear(this.englishYear)\r\n ? this.englishLeapMonths\r\n : this.englishMonths;\r\n var i = 0;\r\n while (difference >= monthDays[i]) {\r\n this.englishMonth++;\r\n difference = difference - monthDays[i];\r\n i++;\r\n }\r\n\r\n //Remaning days is the date;\r\n this.englishDate = this.englishDate + difference;\r\n this.getDay();\r\n\r\n return new Date(\r\n this.englishYear + '-' + this.englishMonth + '-' + this.englishDate\r\n );\r\n }\r\n\r\n private toNepaliString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.nepaliYear + format + this.nepaliMonth + format + this.nepaliDate\r\n );\r\n }\r\n\r\n private getNepaliDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalNepaliDays(\r\n this.nepaliYear,\r\n this.nepaliMonth,\r\n this.nepaliDate\r\n ) - this.countTotalNepaliDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalNepaliDays(year: any, month: any, date: any) {\r\n var total = 0;\r\n if (year < 2000) return 0;\r\n\r\n total = total + (date - 1);\r\n\r\n var yearIndex = year - 2000;\r\n for (var i = 0; i < month - 1; i++)\r\n total = total + this.nepaliMonths[yearIndex][i];\r\n\r\n for (var i = 0; i < yearIndex; i++) total = total + this.nepaliYearDays(i);\r\n\r\n return total;\r\n }\r\n\r\n private nepaliYearDays(index: any) {\r\n var total = 0;\r\n for (var i = 0; i < 12; i++) total += this.nepaliMonths[index][i];\r\n return total;\r\n }\r\n\r\n private isNepaliRange(date: any, month: any, year: any) {\r\n if (year < 2000 || year > 2099) return false;\r\n\r\n if (month < 0 || month > 11) return false;\r\n\r\n if (date < 1 || date > this.nepaliMonths[year - 2000][month - 1])\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n //Class Regular methods\r\n\r\n private getDay() {\r\n //Reference date 1943/4/14 Wednesday\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n this.weekDay = ((3 + (difference % 7)) % 7) + 1;\r\n return this.weekDay;\r\n }\r\n\r\n private getEnglishYear() {\r\n return this.englishYear;\r\n }\r\n\r\n private getEnglishMonth() {\r\n return this.englishMonth;\r\n }\r\n\r\n private getEnglishDate() {\r\n return this.englishDate;\r\n }\r\n\r\n private getNepaliYear() {\r\n return this.nepaliYear;\r\n }\r\n private getNepaliMonth() {\r\n return this.nepaliMonth;\r\n }\r\n\r\n private getNepaliDate() {\r\n return this.nepaliDate;\r\n }\r\n}\r\n","import { MonthMapping, DaysMapping, WordsMapping } from './types';\r\n\r\nexport const numberMapping: string[] = ['०', '१', '२', '३', '४', '५', '६', '७', '८', '९'];\r\n\r\nexport const wordsMapping: WordsMapping = {\r\n year: 'साल',\r\n month: 'महिना'\r\n};\r\n\r\nexport const daysMapping: DaysMapping = {\r\n en: {\r\n default: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\r\n },\r\n ne: {\r\n default: ['आइत', 'सोम', 'मंगल्', 'बुध', 'बिही', 'शुक्र', 'शनि'],\r\n short: ['आ', 'सो', 'मं', 'बु', 'बि', 'शु', 'श']\r\n }\r\n};\r\n\r\nexport const monthsMapping: MonthMapping = {\r\n en: {\r\n default: [\r\n 'Baisakh', 'Jestha', 'Asadh', 'Shrawan', 'Bhadra', 'Ashwin', 'Kartik', 'Mangsir', 'Poush', 'Marga', 'Falgun', 'Chaitra'\r\n ],\r\n modern: [\r\n 'Baisakh', 'Jeth', 'Asaar', 'Saawn', 'Bhadau', 'Aashoj', 'Kartik', 'Mangsir', 'Push', 'Magh', 'Fagun', 'Chait'\r\n ],\r\n short: [\r\n 'Bai', 'Jes', 'Asa', 'Shr', 'Bha', 'Ash', 'Kar', 'Man', 'Pou', 'Mar', 'Fal', 'Cha'\r\n ]\r\n },\r\n ne: {\r\n default: [\r\n 'बैशाख', 'जेष्ठ', 'आषाढ', 'श्रवण', 'भाद्र', 'आश्विन', 'कार्तिक', 'मंसिर', 'पौष', 'मार्ग', 'फाल्गुन', 'चैत्र'\r\n ],\r\n modern: [\r\n 'बैशाख', 'जेठ', 'असार', 'साउन', 'भदौ', 'अशोज', 'कार्तिक', 'मंसिर', 'पुष', 'माघ', 'फागुन', 'चैत'\r\n ],\r\n short: [\r\n 'बै', 'जे', 'अ', 'श्रा', 'भा', 'आ', 'का', 'मं', 'पौ', 'मा', 'फा', 'चै'\r\n ]\r\n }\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { numberMapping, wordsMapping } from './mapping';\r\n\r\n@Pipe({\r\n name: 'toNp',\r\n})\r\nexport class ToNpPipe implements PipeTransform {\r\n transform(\r\n value: number | string,\r\n language: string = 'ne',\r\n type: string = 'number'\r\n ): any {\r\n if (value) {\r\n if (language === 'ne') {\r\n switch (type) {\r\n case 'number':\r\n const split = value.toString().split('');\r\n return split\r\n .map((n) => {\r\n if (n === ' ') {\r\n return ' ';\r\n }\r\n return numberMapping[+n] ? numberMapping[+n] : n;\r\n })\r\n .join('');\r\n case 'word':\r\n let wrd = value.toString().toLowerCase();\r\n if(wrd ==='month'){\r\n return wordsMapping['month'];\r\n }else if(wrd ==='year'){\r\n return wordsMapping['year'];\r\n }else{\r\n return wrd\r\n }\r\n \r\n default:\r\n }\r\n }else{\r\n return value;\r\n }\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Input,\r\n forwardRef,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { NpDatePickerService } from './np-datepicker.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport {\r\n NepaliDate,\r\n MonthData,\r\n DaysMapping,\r\n MonthMapping,\r\n DateFormatter,\r\n} from './types';\r\nimport { daysMapping, monthsMapping } from './mapping';\r\n\r\n@Component({\r\n selector: 'np-datepicker',\r\n templateUrl: './np-date-picker.component.html',\r\n styleUrls: ['./np-date-picker.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NpDatePickerComponent),\r\n multi: true,\r\n },\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NpDatePickerComponent implements OnInit, ControlValueAccessor {\r\n nepaliDateToday: NepaliDate = { day: 0, month: 0, year: 0 };\r\n currentNepaliDate: NepaliDate = { day: 0, month: 0, year: 0 };\r\n selectedDate!: NepaliDate;\r\n formattedDate = '';\r\n currentDate: any;\r\n\r\n displayDate!: string;\r\n\r\n years: number[] = [];\r\n\r\n currentMonthData!: any;\r\n\r\n daysMapping: DaysMapping = daysMapping;\r\n\r\n monthsMapping: MonthMapping = monthsMapping;\r\n\r\n isOpen = false;\r\n\r\n hideInput = false;\r\n\r\n alwaysVisible = false;\r\n\r\n @Input()\r\n theme!: string;\r\n @Input()\r\n language: 'en' | 'ne' = 'ne';\r\n @Input() hasFuture: Boolean = true;\r\n @Input() format: string = 'yy-mm-dd';\r\n\r\n monthDisplayType: 'default' | 'modern' | 'short' = 'default';\r\n\r\n dayDisplayType: 'default' | 'short' = 'short';\r\n\r\n dateFormatter: DateFormatter = (selectedDate: NepaliDate) => {\r\n const dd =\r\n selectedDate.day < 10 ? '0' + selectedDate.day : selectedDate.day;\r\n const mm =\r\n selectedDate.month + 1 < 10\r\n ? '0' + (selectedDate.month + 1)\r\n : selectedDate.month + 1;\r\n\r\n switch (this.format) {\r\n case 'dd-mm-yy':\r\n return `${dd}/${mm}/${this.selectedDate.year}`;\r\n default:\r\n return `${this.selectedDate.year}/${mm}/${dd}`;\r\n }\r\n };\r\n\r\n initialized: boolean = false;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (!this.eRef.nativeElement.contains(event.target)) {\r\n this.close();\r\n }\r\n }\r\n\r\n constructor(\r\n public _nepaliDate: NpDatePickerService,\r\n private eRef: ElementRef\r\n ) {\r\n this.currentDate = new Date();\r\n this.nepaliDateToday = _nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.setCurrentDate();\r\n //this.selectDate(this.currentNepaliDate.day);\r\n this.populateYears();\r\n this.setCurrentMonthData();\r\n // console.log(this.currentMonthData);\r\n }\r\n\r\n populateYears() {\r\n for (let i = 2001; i <= 2099; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n selectYear(e: any) {\r\n this.currentNepaliDate.year = parseInt(e.target.value);\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n selectMonth(e: any) {\r\n let month = e.target.value;\r\n let nep_month_index =\r\n this.monthsMapping[this.language][this.monthDisplayType]?.indexOf(\r\n month\r\n ) ?? 0;\r\n\r\n this.currentNepaliDate.month = nep_month_index;\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n // console.log(this.currentDate);\r\n this.setCurrentMonthData();\r\n }\r\n\r\n resetCurrentMonthData() {\r\n this.currentMonthData = {\r\n 0: [],\r\n 1: [],\r\n 2: [],\r\n 3: [],\r\n 4: [],\r\n 5: [],\r\n 6: [],\r\n };\r\n }\r\n\r\n formatValue() {\r\n if (this.selectedDate) {\r\n this.formattedDate = this.dateFormatter(this.selectedDate);\r\n }\r\n }\r\n propagateChange = (_: any) => {};\r\n propagateTouch = (_: any) => {};\r\n writeValue(value: any) {\r\n this.propagateChange(this.selectedDate);\r\n if (value) {\r\n this.selectedDate = value;\r\n this.currentNepaliDate = value;\r\n this.formatValue();\r\n }\r\n }\r\n registerOnTouched() {}\r\n registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n setCurrentDate() {\r\n if (!this.selectedDate) {\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n } else {\r\n const { day, month, year } = this.selectedDate;\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(day, month, year);\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n this.selectedDate.year,\r\n this.selectedDate.month,\r\n this.selectedDate.day\r\n );\r\n }\r\n }\r\n\r\n setCurrentMonthData() {\r\n this.resetCurrentMonthData();\r\n\r\n // fill the currentMonthData with current date\r\n let day = this.currentDate.getDay();\r\n\r\n this.currentMonthData[day] = [this.currentNepaliDate.day];\r\n\r\n // fill the currentMonthData with day before the current date\r\n this.setMonthDataBefore(day - 1, this.currentNepaliDate.day - 1);\r\n\r\n var currentMonthMaxValue =\r\n this._nepaliDate.nepaliMonths[this.currentNepaliDate.year - 2000][\r\n this.currentNepaliDate.month\r\n ];\r\n\r\n // fill the currentMonthData with day after the current date\r\n this.setMonthDataAfter(\r\n day + 1,\r\n this.currentNepaliDate.day + 1,\r\n currentMonthMaxValue\r\n );\r\n\r\n // we need some empty spaces in place so that the dates are shown in correct order\r\n // eg if the 1st day starts on monday then we need 1 empty space for non existingn date on Sunday\r\n this.createEmptySpaces();\r\n }\r\n\r\n setMonthDataBefore(day: any, date: any) {\r\n if (date >= 1) {\r\n if (day < 0) {\r\n day = 6;\r\n }\r\n this.currentMonthData[day] = [date, ...this.currentMonthData[day]];\r\n this.setMonthDataBefore(--day, --date);\r\n }\r\n }\r\n\r\n setMonthDataAfter(day: any, date: any, currentMonthMaxValue: any) {\r\n const nepaliDate = {\r\n day: date,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n // only add the data if the current month matches\r\n if (date <= currentMonthMaxValue) {\r\n if (day > 6) {\r\n day = 0;\r\n }\r\n this.currentMonthData[day] = [...this.currentMonthData[day], date];\r\n this.setMonthDataAfter(++day, ++date, currentMonthMaxValue);\r\n }\r\n }\r\n\r\n createEmptySpaces() {\r\n // first find out which day has the 1st\r\n // if its a Sunday, then don't do anything else add 1 space on each previous day\r\n let dayIndex = 0;\r\n let value: any;\r\n Object.values(this.currentMonthData).map((item, index) => {\r\n value = item;\r\n if (value.includes(1)) {\r\n dayIndex = index;\r\n }\r\n return value.includes(1);\r\n });\r\n\r\n if (dayIndex) {\r\n for (dayIndex; dayIndex > 0; dayIndex--) {\r\n const monthData = this.currentMonthData[dayIndex - 1];\r\n this.currentMonthData[dayIndex - 1] = [null, ...monthData];\r\n }\r\n }\r\n }\r\n\r\n selectToday() {\r\n const EnglistDateToday = new Date();\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n EnglistDateToday.getDate(),\r\n EnglistDateToday.getMonth(),\r\n EnglistDateToday.getFullYear()\r\n );\r\n\r\n this.selectedDate = { ...this.currentNepaliDate };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n }\r\n\r\n selectDate(day: number) {\r\n this.selectedDate = { ...this.currentNepaliDate, day };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n }\r\n\r\n prevMonth() {\r\n if (this.currentNepaliDate.month <= 0) {\r\n this.currentNepaliDate.month = 11;\r\n this.currentNepaliDate.year--;\r\n } else {\r\n this.currentNepaliDate.month--;\r\n }\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n nextMonth() {\r\n if (this.currentNepaliDate.month >= 11) {\r\n this.currentNepaliDate.month = 0;\r\n this.currentNepaliDate.year++;\r\n } else {\r\n this.currentNepaliDate.month++;\r\n }\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n this.setCurrentMonthData();\r\n }\r\n\r\n toggleOpen() {\r\n if (!this.alwaysVisible) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n open() {\r\n this.isOpen = true;\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n //this.setCurrentDate();\r\n }\r\n}\r\n","<div class=\"nepali-date-picker\" [ngClass]=\"theme\">\r\n <input\r\n class=\"ngx_np_datepicker_input\"\r\n type=\"text\"\r\n [value]=\"formattedDate\"\r\n (focus)=\"open()\"\r\n (keydown)=\"$event.preventDefault()\"\r\n placeholder=\"yyyy/mm/dd\"\r\n />\r\n <a\r\n class=\"form-icon\"\r\n (click)=\"toggleOpen()\"\r\n [ngClass]=\"isOpen ? 'active' : ''\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path\r\n d=\"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"\r\n />\r\n </svg>\r\n </a>\r\n <ng-container [ngTemplateOutlet]=\"npdp\" *ngIf=\"isOpen\"></ng-container>\r\n</div>\r\n<ng-template #npdp>\r\n <div class=\"datepicker__container\">\r\n <div class=\"datepicker__options-container\">\r\n <a class=\"prev-month\" (click)=\"prevMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M224 480c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25l192-192c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l169.4 169.4c12.5 12.5 12.5 32.75 0 45.25C240.4 476.9 232.2 480 224 480z\"\r\n />\r\n </svg>\r\n </a>\r\n <a class=\"select-today\" (click)=\"selectToday()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-home\"><path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline></svg>\r\n </a>\r\n <span class=\"datepicker__options-month-container\">\r\n \r\n <select (change)=\"selectMonth($event)\">\r\n <option\r\n *ngFor=\"\r\n let month of monthsMapping[language][monthDisplayType];\r\n index as i\r\n \"\r\n [value]=\"month\"\r\n [selected]=\"i === currentNepaliDate?.month\"\r\n >\r\n {{ month }}\r\n </option>\r\n </select>\r\n </span>\r\n <span class=\"datepicker__options-year-container\">\r\n \r\n <select (change)=\"selectYear($event)\">\r\n <option\r\n *ngFor=\"let year of years; index as i\"\r\n [value]=\"year\"\r\n [selected]=\"year == currentNepaliDate?.year\"\r\n >\r\n {{ year | toNp: language:\"number\" }}\r\n </option>\r\n </select>\r\n </span>\r\n \r\n <a class=\"next-month\" (click)=\"nextMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z\"\r\n />\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"datepicker__days-container\">\r\n <div\r\n class=\"datepicker__days\"\r\n *ngFor=\"let day of daysMapping[language][dayDisplayType]; index as i\"\r\n >\r\n <div class=\"datepicker__weekday\">{{ day }}</div>\r\n <div\r\n class=\"datepicker__date-container\"\r\n *ngFor=\"let date of currentMonthData[i]\"\r\n >\r\n <div *ngIf=\"hasFuture; else noFutureDate\">\r\n <div\r\n *ngIf=\"date\"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #noFutureDate>\r\n <div\r\n *ngIf=\"\r\n date &&\r\n this.currentNepaliDate.year * 365 +\r\n this.currentNepaliDate.month * 30 +\r\n date <=\r\n nepaliDateToday.day +\r\n nepaliDateToday.month * 30 +\r\n nepaliDateToday.year * 365;\r\n else disabledDates\r\n \"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n\r\n <ng-template #disabledDates>\r\n <div class=\"datepicker__date datepicker__date--disabled\">\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n </ng-template>\r\n\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <!--.datepicker__date-container ends-->\r\n </div>\r\n <!--.datepicker__days ends-->\r\n </div>\r\n <!--.datepicker__days-container ends-->\r\n </div>\r\n <!--.datepicker__container ends-->\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NpDatePickerComponent } from './np-datepicker.component';\r\nimport { ToNpPipe } from './to-np.pipe';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n ToNpPipe,\r\n NpDatePickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n NpDatePickerComponent\r\n ]\r\n})\r\nexport class NepaliDatepickerModule { }\r\n","/*\r\n * Public API Surface of npx-np-datepicker\r\n */\r\n\r\nexport * from './lib/np-datepicker.service';\r\nexport * from './lib/np-datepicker.component';\r\nexport * from './lib/np-datepicker.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NpDatePickerService","i4.ToNpPipe"],"mappings":";;;;;;;AAAO,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/D,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACnE,IAAA,YAAY,EAAE;QACZ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,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"}
|
|
1
|
+
{"version":3,"file":"ngx-np-datepicker.mjs","sources":["../../../projects/npx-np-datepicker/src/lib/dateconst.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.service.ts","../../../projects/npx-np-datepicker/src/lib/mapping.ts","../../../projects/npx-np-datepicker/src/lib/to-np.pipe.ts","../../../projects/npx-np-datepicker/src/lib/np-datepicker.component.ts","../../../projects/npx-np-datepicker/src/lib/np-date-picker.component.html","../../../projects/npx-np-datepicker/src/lib/np-datepicker.module.ts","../../../projects/npx-np-datepicker/src/public-api.ts","../../../projects/npx-np-datepicker/src/ngx-np-datepicker.ts"],"sourcesContent":["export const NP_DATE = Object.freeze({\r\n englishMonths: [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n englishLeapMonths: [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\r\n nepaliMonths: [\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], //2000\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2001\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2002\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2003\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2004\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2005\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2006\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2006\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31], // 2007\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2008\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2009\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2010\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2011\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2012\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2013\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2014\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30], // 2015\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2016\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], // 2017\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2018\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2019\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2020\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2021\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2022\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2023\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2024\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], // 2025\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 32, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [30, 32, 31, 32, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31],\r\n [31, 31, 31, 32, 31, 31, 29, 30, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], //2071\r\n [31, 32, 31, 32, 31, 30, 30, 29, 30, 29, 30, 30], //2072\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 31], //2073\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2076\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31],\r\n [31, 31, 31, 32, 31, 31, 30, 29, 30, 29, 30, 30], // 2078\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2079\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 29, 30, 30], // 2080\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 29, 31], // 2081\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 29, 30, 30], // 2082\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30], // 2083\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 32, 31, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 30, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30], //2090\r\n [31, 31, 32, 31, 31, 31, 30, 30, 29, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [30, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 30, 30, 30, 30],\r\n [30, 31, 32, 32, 31, 30, 30, 29, 30, 29, 30, 30],\r\n [31, 32, 31, 32, 31, 30, 30, 30, 29, 30, 30, 30],\r\n [31, 31, 32, 31, 31, 31, 29, 30, 29, 30, 29, 31],\r\n [31, 31, 32, 31, 31, 31, 30, 29, 29, 30, 30, 30], //2099\r\n ]\r\n});","import { Injectable } from '@angular/core';\r\nimport { NP_DATE } from './dateconst';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NpDatePickerService {\r\n englishMonths = NP_DATE.englishMonths;\r\n englishLeapMonths = NP_DATE.englishLeapMonths;\r\n nepaliMonths = NP_DATE.nepaliMonths;\r\n\r\n englishYear: any;\r\n englishMonth: any;\r\n englishDate: any;\r\n\r\n nepaliYear: any;\r\n nepaliMonth: any;\r\n nepaliDate: any;\r\n\r\n weekDay: any;\r\n format = '.';\r\n\r\n private setCurrentNepaliDate() {\r\n var d = new Date();\r\n return this.engToNepDate(d.getDate(), d.getMonth(), d.getFullYear());\r\n }\r\n\r\n //English to Nepali date conversion\r\n engToNepDate(date: any, month: any, year: any) {\r\n if (!this.isEnglishRange(date, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month + 1;\r\n this.englishDate = date;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n //ISO format English string date (YYYY-MM-DD) to Nepali date conversion\r\n engStringToNepDate(engDate: string) {\r\n const [year, month, day] = engDate.split('-').map(Number);\r\n\r\n if (!this.isEnglishRange(day, month, year))\r\n console.log('Invalid date format.');\r\n\r\n this.englishYear = year;\r\n this.englishMonth = month;\r\n this.englishDate = day;\r\n\r\n //Setting nepali reference to 2000/1/1 with english date 1943/4/14\r\n this.nepaliYear = 2000;\r\n this.nepaliMonth = 1;\r\n this.nepaliDate = 1;\r\n\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n\r\n //Getting nepali year untill the difference remains less than 365\r\n var index = 0;\r\n while (difference >= this.nepaliYearDays(index)) {\r\n this.nepaliYear++;\r\n difference = difference - this.nepaliYearDays(index);\r\n index++;\r\n //console.log('Difference:'+difference+ 'nepaliYearDays:'+this.nepaliYearDays(index));\r\n }\r\n\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][0]+\"difference:\"+difference);\r\n //Getting nepali month untill the difference remains less than 31\r\n var i = 0;\r\n while (difference >= this.nepaliMonths[index][i]) {\r\n difference = difference - this.nepaliMonths[index][i];\r\n this.nepaliMonth++;\r\n i++;\r\n //console.log(\"nepaliMonths=\"+this.nepaliMonths[index][i]+\"difference:\"+difference);\r\n }\r\n this.nepaliMonth--;\r\n //console.log(difference);\r\n\r\n //Remaning days is the date;\r\n this.nepaliDate = this.nepaliDate + difference;\r\n this.getDay();\r\n\r\n return {\r\n day: this.nepaliDate,\r\n month: this.nepaliMonth,\r\n year: this.nepaliYear,\r\n };\r\n }\r\n\r\n private toEnglishString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.englishYear + format + this.englishMonth + format + this.englishDate\r\n );\r\n }\r\n\r\n private getEnglishDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalEnglishDays(\r\n this.englishYear,\r\n this.englishMonth,\r\n this.englishDate\r\n ) - this.countTotalEnglishDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalEnglishDays(year: any, month: any, date: any) {\r\n var totalDays = year * 365 + date;\r\n\r\n for (var i = 0; i < month - 1; i++)\r\n totalDays = totalDays + this.englishMonths[i];\r\n\r\n totalDays = totalDays + this.countleap(year, month);\r\n return totalDays;\r\n }\r\n\r\n private countleap(year: any, month: any) {\r\n if (month <= 2) year--;\r\n\r\n return (\r\n Math.floor(year / 4) - Math.floor(year / 100) + Math.floor(year / 400)\r\n );\r\n }\r\n\r\n private isEnglishRange(date: any, month: any, year: any) {\r\n if (year < 1944 || year > 2042) return false;\r\n if (month < 1 || month > 12) return false;\r\n if (date < 1 || date > 31) return false;\r\n\r\n return true;\r\n }\r\n\r\n private isLeapYear(year: any) {\r\n if (year % 4 === 0) {\r\n return year % 100 === 0 ? year % 400 === 0 : true;\r\n } else return false;\r\n }\r\n\r\n //Nepali to English conversion\r\n nepToEngDate(date: any, month: any, year: any) {\r\n if (!this.isNepaliRange(date, month, year)) {\r\n console.log('Invalid Date Format');\r\n // throw new Exception(\"Invalid date format.\");\r\n return;\r\n }\r\n\r\n this.nepaliYear = year;\r\n this.nepaliMonth = month + 1;\r\n this.nepaliDate = date;\r\n\r\n //Setting english reference to 1944/1/1 with nepali date 2000/9/17\r\n this.englishYear = 1944;\r\n this.englishMonth = 1;\r\n this.englishDate = 1;\r\n\r\n var difference = this.getNepaliDateDifference(2000, 9, 17);\r\n\r\n //Getting english year untill the difference remains less than 365\r\n while (difference >= (this.isLeapYear(this.englishYear) ? 366 : 365)) {\r\n difference = difference - (this.isLeapYear(this.englishYear) ? 366 : 365);\r\n this.englishYear++;\r\n }\r\n\r\n //Getting english month untill the difference remains less than 31\r\n var monthDays = this.isLeapYear(this.englishYear)\r\n ? this.englishLeapMonths\r\n : this.englishMonths;\r\n var i = 0;\r\n while (difference >= monthDays[i]) {\r\n this.englishMonth++;\r\n difference = difference - monthDays[i];\r\n i++;\r\n }\r\n\r\n //Remaning days is the date;\r\n this.englishDate = this.englishDate + difference;\r\n this.getDay();\r\n\r\n return new Date(\r\n this.englishYear + '-' + this.englishMonth + '-' + this.englishDate\r\n );\r\n }\r\n\r\n private toNepaliString(format: any) {\r\n if (typeof format === 'undefined') format = '-';\r\n return (\r\n this.nepaliYear + format + this.nepaliMonth + format + this.nepaliDate\r\n );\r\n }\r\n\r\n private getNepaliDateDifference(year: any, month: any, date: any) {\r\n //Getting difference from the current date with the date provided\r\n var difference =\r\n this.countTotalNepaliDays(\r\n this.nepaliYear,\r\n this.nepaliMonth,\r\n this.nepaliDate\r\n ) - this.countTotalNepaliDays(year, month, date);\r\n return difference < 0 ? -difference : difference;\r\n }\r\n\r\n private countTotalNepaliDays(year: any, month: any, date: any) {\r\n var total = 0;\r\n if (year < 2000) return 0;\r\n\r\n total = total + (date - 1);\r\n\r\n var yearIndex = year - 2000;\r\n for (var i = 0; i < month - 1; i++)\r\n total = total + this.nepaliMonths[yearIndex][i];\r\n\r\n for (var i = 0; i < yearIndex; i++) total = total + this.nepaliYearDays(i);\r\n\r\n return total;\r\n }\r\n\r\n private nepaliYearDays(index: any) {\r\n var total = 0;\r\n for (var i = 0; i < 12; i++) total += this.nepaliMonths[index][i];\r\n return total;\r\n }\r\n\r\n private isNepaliRange(date: any, month: any, year: any) {\r\n if (year < 2000 || year > 2099) return false;\r\n\r\n if (month < 0 || month > 11) return false;\r\n\r\n if (date < 1 || date > this.nepaliMonths[year - 2000][month - 1])\r\n return false;\r\n\r\n return true;\r\n }\r\n\r\n //Class Regular methods\r\n\r\n private getDay() {\r\n //Reference date 1943/4/14 Wednesday\r\n var difference = this.getEnglishDateDifference(1943, 4, 14);\r\n this.weekDay = ((3 + (difference % 7)) % 7) + 1;\r\n return this.weekDay;\r\n }\r\n\r\n private getEnglishYear() {\r\n return this.englishYear;\r\n }\r\n\r\n private getEnglishMonth() {\r\n return this.englishMonth;\r\n }\r\n\r\n private getEnglishDate() {\r\n return this.englishDate;\r\n }\r\n\r\n private getNepaliYear() {\r\n return this.nepaliYear;\r\n }\r\n private getNepaliMonth() {\r\n return this.nepaliMonth;\r\n }\r\n\r\n private getNepaliDate() {\r\n return this.nepaliDate;\r\n }\r\n}\r\n","import { MonthMapping, DaysMapping, WordsMapping } from './types';\r\n\r\nexport const numberMapping: string[] = ['०', '१', '२', '३', '४', '५', '६', '७', '८', '९'];\r\n\r\nexport const wordsMapping: WordsMapping = {\r\n year: 'साल',\r\n month: 'महिना'\r\n};\r\n\r\nexport const daysMapping: DaysMapping = {\r\n en: {\r\n default: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\r\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']\r\n },\r\n ne: {\r\n default: ['आइत', 'सोम', 'मंगल्', 'बुध', 'बिही', 'शुक्र', 'शनि'],\r\n short: ['आ', 'सो', 'मं', 'बु', 'बि', 'शु', 'श']\r\n }\r\n};\r\n\r\nexport const monthsMapping: MonthMapping = {\r\n en: {\r\n default: [\r\n 'Baisakh', 'Jestha', 'Asadh', 'Shrawan', 'Bhadra', 'Ashwin', 'Kartik', 'Mangsir', 'Poush', 'Marga', 'Falgun', 'Chaitra'\r\n ],\r\n modern: [\r\n 'Baisakh', 'Jeth', 'Asaar', 'Saawn', 'Bhadau', 'Aashoj', 'Kartik', 'Mangsir', 'Push', 'Magh', 'Fagun', 'Chait'\r\n ],\r\n short: [\r\n 'Bai', 'Jes', 'Asa', 'Shr', 'Bha', 'Ash', 'Kar', 'Man', 'Pou', 'Mar', 'Fal', 'Cha'\r\n ]\r\n },\r\n ne: {\r\n default: [\r\n 'बैशाख', 'जेष्ठ', 'आषाढ', 'श्रवण', 'भाद्र', 'आश्विन', 'कार्तिक', 'मंसिर', 'पौष', 'मार्ग', 'फाल्गुन', 'चैत्र'\r\n ],\r\n modern: [\r\n 'बैशाख', 'जेठ', 'असार', 'साउन', 'भदौ', 'अशोज', 'कार्तिक', 'मंसिर', 'पुष', 'माघ', 'फागुन', 'चैत'\r\n ],\r\n short: [\r\n 'बै', 'जे', 'अ', 'श्रा', 'भा', 'आ', 'का', 'मं', 'पौ', 'मा', 'फा', 'चै'\r\n ]\r\n }\r\n};\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { numberMapping, wordsMapping } from './mapping';\r\n\r\n@Pipe({\r\n name: 'toNp',\r\n})\r\nexport class ToNpPipe implements PipeTransform {\r\n transform(\r\n value: number | string,\r\n language: string = 'ne',\r\n type: string = 'number'\r\n ): any {\r\n if (value) {\r\n if (language === 'ne') {\r\n switch (type) {\r\n case 'number':\r\n const split = value.toString().split('');\r\n return split\r\n .map((n) => {\r\n if (n === ' ') {\r\n return ' ';\r\n }\r\n return numberMapping[+n] ? numberMapping[+n] : n;\r\n })\r\n .join('');\r\n case 'word':\r\n let wrd = value.toString().toLowerCase();\r\n if(wrd ==='month'){\r\n return wordsMapping['month'];\r\n }else if(wrd ==='year'){\r\n return wordsMapping['year'];\r\n }else{\r\n return wrd\r\n }\r\n \r\n default:\r\n }\r\n }else{\r\n return value;\r\n }\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n HostListener,\r\n OnInit,\r\n ElementRef,\r\n Input,\r\n forwardRef,\r\n ViewEncapsulation,\r\n Output,\r\n EventEmitter,\r\n} from '@angular/core';\r\nimport { NpDatePickerService } from './np-datepicker.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\nimport {\r\n NepaliDate,\r\n MonthData,\r\n DaysMapping,\r\n MonthMapping,\r\n DateFormatter,\r\n} from './types';\r\nimport { daysMapping, monthsMapping } from './mapping';\r\n\r\n@Component({\r\n selector: 'np-datepicker',\r\n templateUrl: './np-date-picker.component.html',\r\n styleUrls: ['./np-date-picker.component.css'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => NpDatePickerComponent),\r\n multi: true,\r\n },\r\n ],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class NpDatePickerComponent implements OnInit, ControlValueAccessor {\r\n nepaliDateToday: NepaliDate = { day: 0, month: 0, year: 0 };\r\n currentNepaliDate: NepaliDate = { day: 0, month: 0, year: 0 };\r\n selectedDate!: NepaliDate;\r\n formattedDate = '';\r\n currentDate: any;\r\n\r\n displayDate!: string;\r\n\r\n years: number[] = [];\r\n\r\n currentMonthData!: any;\r\n\r\n daysMapping: DaysMapping = daysMapping;\r\n\r\n monthsMapping: MonthMapping = monthsMapping;\r\n\r\n isOpen = false;\r\n\r\n hideInput = false;\r\n\r\n alwaysVisible = false;\r\n\r\n @Input()\r\n theme!: string;\r\n @Input()\r\n language: 'en' | 'ne' = 'ne';\r\n @Input() hasFuture: Boolean = true;\r\n @Input() format: string = 'yy-mm-dd';\r\n\r\n @Output() dateSelected = new EventEmitter<any>();\r\n \r\n monthDisplayType: 'default' | 'modern' | 'short' = 'default';\r\n\r\n dayDisplayType: 'default' | 'short' = 'short';\r\n\r\n dateFormatter: DateFormatter = (selectedDate: NepaliDate) => {\r\n const dd =\r\n selectedDate.day < 10 ? '0' + selectedDate.day : selectedDate.day;\r\n const mm =\r\n selectedDate.month + 1 < 10\r\n ? '0' + (selectedDate.month + 1)\r\n : selectedDate.month + 1;\r\n\r\n switch (this.format) {\r\n case 'dd-mm-yy':\r\n return `${dd}/${mm}/${this.selectedDate.year}`;\r\n default:\r\n return `${this.selectedDate.year}/${mm}/${dd}`;\r\n }\r\n };\r\n\r\n initialized: boolean = false;\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickout(event: any) {\r\n if (!this.eRef.nativeElement.contains(event.target)) {\r\n this.close();\r\n }\r\n }\r\n\r\n constructor(\r\n public _nepaliDate: NpDatePickerService,\r\n private eRef: ElementRef\r\n ) {\r\n this.currentDate = new Date();\r\n this.nepaliDateToday = _nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n }\r\n\r\n ngOnInit() {\r\n this.setCurrentDate();\r\n //this.selectDate(this.currentNepaliDate.day);\r\n this.populateYears();\r\n this.setCurrentMonthData();\r\n // console.log(this.currentMonthData);\r\n }\r\n\r\n populateYears() {\r\n for (let i = 2001; i <= 2099; i++) {\r\n this.years.push(i);\r\n }\r\n }\r\n\r\n selectYear(e: any) {\r\n this.currentNepaliDate.year = parseInt(e.target.value);\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n selectMonth(e: any) {\r\n let month = e.target.value;\r\n let nep_month_index =\r\n this.monthsMapping[this.language][this.monthDisplayType]?.indexOf(\r\n month\r\n ) ?? 0;\r\n\r\n this.currentNepaliDate.month = nep_month_index;\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n // console.log(this.currentDate);\r\n this.setCurrentMonthData();\r\n }\r\n\r\n resetCurrentMonthData() {\r\n this.currentMonthData = {\r\n 0: [],\r\n 1: [],\r\n 2: [],\r\n 3: [],\r\n 4: [],\r\n 5: [],\r\n 6: [],\r\n };\r\n }\r\n\r\n formatValue() {\r\n if (this.selectedDate) {\r\n this.formattedDate = this.dateFormatter(this.selectedDate);\r\n }\r\n }\r\n propagateChange = (_: any) => {};\r\n propagateTouch = (_: any) => {};\r\n writeValue(value: any) {\r\n this.propagateChange(this.selectedDate);\r\n if (value) {\r\n this.selectedDate = value;\r\n this.currentNepaliDate = value;\r\n this.formatValue();\r\n }\r\n }\r\n registerOnTouched() {}\r\n registerOnChange(fn: any) {\r\n this.propagateChange = fn;\r\n }\r\n\r\n setCurrentDate() {\r\n if (!this.selectedDate) {\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n this.currentDate.getDate(),\r\n this.currentDate.getMonth(),\r\n this.currentDate.getFullYear()\r\n );\r\n } else {\r\n const { day, month, year } = this.selectedDate;\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(day, month, year);\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n this.selectedDate.year,\r\n this.selectedDate.month,\r\n this.selectedDate.day\r\n );\r\n }\r\n }\r\n\r\n setCurrentMonthData() {\r\n this.resetCurrentMonthData();\r\n\r\n // fill the currentMonthData with current date\r\n let day = this.currentDate.getDay();\r\n\r\n this.currentMonthData[day] = [this.currentNepaliDate.day];\r\n\r\n // fill the currentMonthData with day before the current date\r\n this.setMonthDataBefore(day - 1, this.currentNepaliDate.day - 1);\r\n\r\n var currentMonthMaxValue =\r\n this._nepaliDate.nepaliMonths[this.currentNepaliDate.year - 2000][\r\n this.currentNepaliDate.month\r\n ];\r\n\r\n // fill the currentMonthData with day after the current date\r\n this.setMonthDataAfter(\r\n day + 1,\r\n this.currentNepaliDate.day + 1,\r\n currentMonthMaxValue\r\n );\r\n\r\n // we need some empty spaces in place so that the dates are shown in correct order\r\n // eg if the 1st day starts on monday then we need 1 empty space for non existingn date on Sunday\r\n this.createEmptySpaces();\r\n }\r\n\r\n setMonthDataBefore(day: any, date: any) {\r\n if (date >= 1) {\r\n if (day < 0) {\r\n day = 6;\r\n }\r\n this.currentMonthData[day] = [date, ...this.currentMonthData[day]];\r\n this.setMonthDataBefore(--day, --date);\r\n }\r\n }\r\n\r\n setMonthDataAfter(day: any, date: any, currentMonthMaxValue: any) {\r\n const nepaliDate = {\r\n day: date,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n\r\n // only add the data if the current month matches\r\n if (date <= currentMonthMaxValue) {\r\n if (day > 6) {\r\n day = 0;\r\n }\r\n this.currentMonthData[day] = [...this.currentMonthData[day], date];\r\n this.setMonthDataAfter(++day, ++date, currentMonthMaxValue);\r\n }\r\n }\r\n\r\n createEmptySpaces() {\r\n // first find out which day has the 1st\r\n // if its a Sunday, then don't do anything else add 1 space on each previous day\r\n let dayIndex = 0;\r\n let value: any;\r\n Object.values(this.currentMonthData).map((item, index) => {\r\n value = item;\r\n if (value.includes(1)) {\r\n dayIndex = index;\r\n }\r\n return value.includes(1);\r\n });\r\n\r\n if (dayIndex) {\r\n for (dayIndex; dayIndex > 0; dayIndex--) {\r\n const monthData = this.currentMonthData[dayIndex - 1];\r\n this.currentMonthData[dayIndex - 1] = [null, ...monthData];\r\n }\r\n }\r\n }\r\n\r\n selectToday() {\r\n const EnglistDateToday = new Date();\r\n this.currentNepaliDate = this._nepaliDate.engToNepDate(\r\n EnglistDateToday.getDate(),\r\n EnglistDateToday.getMonth(),\r\n EnglistDateToday.getFullYear()\r\n );\r\n\r\n this.selectedDate = { ...this.currentNepaliDate };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n this.dateSelected.emit(this.selectedDate);\r\n }\r\n\r\n selectDate(day: number) {\r\n this.selectedDate = { ...this.currentNepaliDate, day };\r\n this.formatValue();\r\n this.close();\r\n this.propagateChange(this.selectedDate);\r\n this.dateSelected.emit(this.selectedDate);\r\n }\r\n\r\n prevMonth() {\r\n if (this.currentNepaliDate.month <= 0) {\r\n this.currentNepaliDate.month = 11;\r\n this.currentNepaliDate.year--;\r\n } else {\r\n this.currentNepaliDate.month--;\r\n }\r\n\r\n const newNepaliDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newNepaliDate.day,\r\n newNepaliDate.month,\r\n newNepaliDate.year\r\n );\r\n\r\n this.setCurrentMonthData();\r\n }\r\n\r\n nextMonth() {\r\n if (this.currentNepaliDate.month >= 11) {\r\n this.currentNepaliDate.month = 0;\r\n this.currentNepaliDate.year++;\r\n } else {\r\n this.currentNepaliDate.month++;\r\n }\r\n\r\n const newDate = {\r\n day: this.currentNepaliDate.day,\r\n month: this.currentNepaliDate.month,\r\n year: this.currentNepaliDate.year,\r\n };\r\n this.currentDate = this._nepaliDate.nepToEngDate(\r\n newDate.day,\r\n newDate.month,\r\n newDate.year\r\n );\r\n this.setCurrentMonthData();\r\n }\r\n\r\n toggleOpen() {\r\n if (!this.alwaysVisible) {\r\n this.isOpen = !this.isOpen;\r\n }\r\n }\r\n\r\n open() {\r\n this.isOpen = true;\r\n }\r\n\r\n close() {\r\n this.isOpen = false;\r\n //this.setCurrentDate();\r\n }\r\n}\r\n","<div class=\"nepali-date-picker\" [ngClass]=\"theme\">\r\n <input\r\n class=\"ngx_np_datepicker_input\"\r\n type=\"text\"\r\n [value]=\"formattedDate\"\r\n (focus)=\"open()\"\r\n (keydown)=\"$event.preventDefault()\"\r\n placeholder=\"yyyy/mm/dd\"\r\n />\r\n <a\r\n class=\"form-icon\"\r\n (click)=\"toggleOpen()\"\r\n [ngClass]=\"isOpen ? 'active' : ''\"\r\n >\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\r\n <path\r\n d=\"M152 64H296V24C296 10.75 306.7 0 320 0C333.3 0 344 10.75 344 24V64H384C419.3 64 448 92.65 448 128V448C448 483.3 419.3 512 384 512H64C28.65 512 0 483.3 0 448V128C0 92.65 28.65 64 64 64H104V24C104 10.75 114.7 0 128 0C141.3 0 152 10.75 152 24V64zM48 448C48 456.8 55.16 464 64 464H384C392.8 464 400 456.8 400 448V192H48V448z\"\r\n />\r\n </svg>\r\n </a>\r\n <ng-container [ngTemplateOutlet]=\"npdp\" *ngIf=\"isOpen\"></ng-container>\r\n</div>\r\n<ng-template #npdp>\r\n <div class=\"datepicker__container\">\r\n <div class=\"datepicker__options-container\">\r\n <a class=\"prev-month\" (click)=\"prevMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M224 480c-8.188 0-16.38-3.125-22.62-9.375l-192-192c-12.5-12.5-12.5-32.75 0-45.25l192-192c12.5-12.5 32.75-12.5 45.25 0s12.5 32.75 0 45.25L77.25 256l169.4 169.4c12.5 12.5 12.5 32.75 0 45.25C240.4 476.9 232.2 480 224 480z\"\r\n />\r\n </svg>\r\n </a>\r\n <a class=\"select-today\" (click)=\"selectToday()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"feather feather-home\"><path d=\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"></path><polyline points=\"9 22 9 12 15 12 15 22\"></polyline></svg>\r\n </a>\r\n <span class=\"datepicker__options-month-container\">\r\n \r\n <select (change)=\"selectMonth($event)\">\r\n <option\r\n *ngFor=\"\r\n let month of monthsMapping[language][monthDisplayType];\r\n index as i\r\n \"\r\n [value]=\"month\"\r\n [selected]=\"i === currentNepaliDate?.month\"\r\n >\r\n {{ month }}\r\n </option>\r\n </select>\r\n </span>\r\n <span class=\"datepicker__options-year-container\">\r\n \r\n <select (change)=\"selectYear($event)\">\r\n <option\r\n *ngFor=\"let year of years; index as i\"\r\n [value]=\"year\"\r\n [selected]=\"year == currentNepaliDate?.year\"\r\n >\r\n {{ year | toNp: language:\"number\" }}\r\n </option>\r\n </select>\r\n </span>\r\n \r\n <a class=\"next-month\" (click)=\"nextMonth()\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\r\n <path\r\n d=\"M96 480c-8.188 0-16.38-3.125-22.62-9.375c-12.5-12.5-12.5-32.75 0-45.25L242.8 256L73.38 86.63c-12.5-12.5-12.5-32.75 0-45.25s32.75-12.5 45.25 0l192 192c12.5 12.5 12.5 32.75 0 45.25l-192 192C112.4 476.9 104.2 480 96 480z\"\r\n />\r\n </svg>\r\n </a>\r\n </div>\r\n <div class=\"datepicker__days-container\">\r\n <div\r\n class=\"datepicker__days\"\r\n *ngFor=\"let day of daysMapping[language][dayDisplayType]; index as i\"\r\n >\r\n <div class=\"datepicker__weekday\">{{ day }}</div>\r\n <div\r\n class=\"datepicker__date-container\"\r\n *ngFor=\"let date of currentMonthData[i]\"\r\n >\r\n <div *ngIf=\"hasFuture; else noFutureDate\">\r\n <div\r\n *ngIf=\"date\"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </div>\r\n\r\n <ng-template #noFutureDate>\r\n <div\r\n *ngIf=\"\r\n date &&\r\n this.currentNepaliDate.year * 365 +\r\n this.currentNepaliDate.month * 30 +\r\n date <=\r\n nepaliDateToday.day +\r\n nepaliDateToday.month * 30 +\r\n nepaliDateToday.year * 365;\r\n else disabledDates\r\n \"\r\n class=\"datepicker__date\"\r\n [class.datepicker__date--active]=\"\r\n date === selectedDate?.day &&\r\n currentNepaliDate.month === selectedDate?.month &&\r\n currentNepaliDate.year === selectedDate?.year\r\n \"\r\n [class.datepicker__date--current-day]=\"\r\n date === nepaliDateToday.day &&\r\n currentNepaliDate.month === nepaliDateToday.month &&\r\n currentNepaliDate.year === nepaliDateToday.year\r\n \"\r\n (click)=\"selectDate(date)\"\r\n >\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n\r\n <ng-template #disabledDates>\r\n <div class=\"datepicker__date datepicker__date--disabled\">\r\n {{ date | toNp: language:\"number\" }}\r\n </div>\r\n </ng-template>\r\n\r\n <div *ngIf=\"!date\" class=\"datepicker__date--disabled\">\r\n <span> </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <!--.datepicker__date-container ends-->\r\n </div>\r\n <!--.datepicker__days ends-->\r\n </div>\r\n <!--.datepicker__days-container ends-->\r\n </div>\r\n <!--.datepicker__container ends-->\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NpDatePickerComponent } from './np-datepicker.component';\r\nimport { ToNpPipe } from './to-np.pipe';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [\r\n ToNpPipe,\r\n NpDatePickerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n FormsModule\r\n ],\r\n exports: [\r\n NpDatePickerComponent\r\n ]\r\n})\r\nexport class NepaliDatepickerModule { }\r\n","/*\r\n * Public API Surface of npx-np-datepicker\r\n */\r\n\r\nexport * from './lib/np-datepicker.service';\r\nexport * from './lib/np-datepicker.component';\r\nexport * from './lib/np-datepicker.module';\r\nexport * from './lib/types/date.interface';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.NpDatePickerService","i4.ToNpPipe"],"mappings":";;;;;;;AAAO,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAC/D,iBAAiB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACnE,IAAA,YAAY,EAAE;QACZ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;QAChD,CAAC,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OnInit, ElementRef } from '@angular/core';
|
|
1
|
+
import { OnInit, ElementRef, EventEmitter } from '@angular/core';
|
|
2
2
|
import { NpDatePickerService } from './np-datepicker.service';
|
|
3
3
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
4
|
import { NepaliDate, DaysMapping, MonthMapping, DateFormatter } from './types';
|
|
@@ -23,6 +23,7 @@ export declare class NpDatePickerComponent implements OnInit, ControlValueAccess
|
|
|
23
23
|
language: 'en' | 'ne';
|
|
24
24
|
hasFuture: Boolean;
|
|
25
25
|
format: string;
|
|
26
|
+
dateSelected: EventEmitter<any>;
|
|
26
27
|
monthDisplayType: 'default' | 'modern' | 'short';
|
|
27
28
|
dayDisplayType: 'default' | 'short';
|
|
28
29
|
dateFormatter: DateFormatter;
|
|
@@ -53,5 +54,5 @@ export declare class NpDatePickerComponent implements OnInit, ControlValueAccess
|
|
|
53
54
|
open(): void;
|
|
54
55
|
close(): void;
|
|
55
56
|
static ɵfac: i0.ɵɵFactoryDeclaration<NpDatePickerComponent, never>;
|
|
56
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NpDatePickerComponent, "np-datepicker", never, { "theme": "theme"; "language": "language"; "hasFuture": "hasFuture"; "format": "format"; }, {}, never, never>;
|
|
57
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NpDatePickerComponent, "np-datepicker", never, { "theme": "theme"; "language": "language"; "hasFuture": "hasFuture"; "format": "format"; }, { "dateSelected": "dateSelected"; }, never, never>;
|
|
57
58
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ngx-np-datepicker",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.1",
|
|
4
4
|
"description": "A modern and lightweight Angular component for selecting Nepali (Bikram Sambat) dates. Ideal for forms and applications using the Nepali calendar system.",
|
|
5
5
|
"homepage": "https://wwwbijay.github.io/angular-nepali-datepicker/",
|
|
6
6
|
"keywords": [
|
package/public-api.d.ts
CHANGED