@wavemaker/app-ng-runtime 11.10.2-rc.203 → 11.10.3-next.25128
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/build-task/bundles/index.umd.js +5 -3
- package/build-task/esm2022/advanced/carousel/carousel-template/carousel-template.build.mjs +4 -2
- package/build-task/esm2022/data/form/form-field/form-field.build.mjs +3 -3
- package/build-task/fesm2022/index.mjs +5 -3
- package/build-task/fesm2022/index.mjs.map +1 -1
- package/components/basic/default/bundles/index.umd.js +68 -71
- package/components/basic/default/esm2022/anchor/anchor.component.mjs +18 -18
- package/components/basic/default/esm2022/icon/icon.component.mjs +12 -13
- package/components/basic/default/esm2022/iframe/iframe.component.mjs +9 -10
- package/components/basic/default/esm2022/picture/picture.directive.mjs +2 -5
- package/components/basic/default/esm2022/spinner/spinner.component.mjs +21 -21
- package/components/basic/default/esm2022/video/video.component.mjs +14 -15
- package/components/basic/default/fesm2022/index.mjs +68 -71
- package/components/basic/default/fesm2022/index.mjs.map +1 -1
- package/components/basic/progress/bundles/index.umd.js +16 -17
- package/components/basic/progress/esm2022/progress-bar/progress-bar.component.mjs +7 -8
- package/components/basic/progress/fesm2022/index.mjs +8 -9
- package/components/basic/progress/fesm2022/index.mjs.map +1 -1
- package/components/basic/rich-text-editor/bundles/index.umd.js +11 -12
- package/components/basic/rich-text-editor/esm2022/rich-text-editor.component.mjs +8 -9
- package/components/basic/rich-text-editor/fesm2022/index.mjs +7 -8
- package/components/basic/rich-text-editor/fesm2022/index.mjs.map +1 -1
- package/components/basic/search/bundles/index.umd.js +63 -67
- package/components/basic/search/esm2022/search.component.mjs +63 -67
- package/components/basic/search/esm2022/search.module.mjs +2 -2
- package/components/basic/search/fesm2022/index.mjs +63 -67
- package/components/basic/search/fesm2022/index.mjs.map +1 -1
- package/components/chart/bundles/index.umd.js +17 -17
- package/components/chart/esm2022/chart.component.mjs +18 -18
- package/components/chart/fesm2022/index.mjs +17 -17
- package/components/chart/fesm2022/index.mjs.map +1 -1
- package/components/containers/panel/bundles/index.umd.js +39 -39
- package/components/containers/panel/esm2022/panel.component.mjs +40 -40
- package/components/containers/panel/fesm2022/index.mjs +39 -39
- package/components/containers/panel/fesm2022/index.mjs.map +1 -1
- package/components/containers/tabs/bundles/index.umd.js +29 -29
- package/components/containers/tabs/esm2022/tabs.component.mjs +30 -30
- package/components/containers/tabs/fesm2022/index.mjs +29 -29
- package/components/containers/tabs/fesm2022/index.mjs.map +1 -1
- package/components/containers/wizard/bundles/index.umd.js +49 -49
- package/components/containers/wizard/esm2022/wizard.component.mjs +50 -50
- package/components/containers/wizard/fesm2022/index.mjs +49 -49
- package/components/containers/wizard/fesm2022/index.mjs.map +1 -1
- package/components/data/card/bundles/index.umd.js +29 -29
- package/components/data/card/esm2022/card.component.mjs +30 -30
- package/components/data/card/fesm2022/index.mjs +29 -29
- package/components/data/card/fesm2022/index.mjs.map +1 -1
- package/components/data/form/bundles/index.umd.js +91 -96
- package/components/data/form/esm2022/form.component.mjs +92 -97
- package/components/data/form/fesm2022/index.mjs +91 -96
- package/components/data/form/fesm2022/index.mjs.map +1 -1
- package/components/data/list/bundles/index.umd.js +171 -173
- package/components/data/list/esm2022/list.component.mjs +171 -173
- package/components/data/list/esm2022/list.module.mjs +2 -2
- package/components/data/list/fesm2022/index.mjs +171 -173
- package/components/data/list/fesm2022/index.mjs.map +1 -1
- package/components/data/pagination/bundles/index.umd.js +32 -32
- package/components/data/pagination/esm2022/pagination.component.mjs +33 -33
- package/components/data/pagination/fesm2022/index.mjs +32 -32
- package/components/data/pagination/fesm2022/index.mjs.map +1 -1
- package/components/data/table/bundles/index.umd.js +69 -39
- package/components/data/table/esm2022/table-column/table-column.directive.mjs +2 -1
- package/components/data/table/esm2022/table-column/table-column.props.mjs +2 -1
- package/components/data/table/esm2022/table-filter.directive.mjs +29 -2
- package/components/data/table/esm2022/table.component.mjs +40 -39
- package/components/data/table/esm2022/table.props.mjs +2 -1
- package/components/data/table/fesm2022/index.mjs +72 -41
- package/components/data/table/fesm2022/index.mjs.map +1 -1
- package/components/data/table/table-column/table-column.directive.d.ts +1 -0
- package/components/data/table/table-filter.directive.d.ts +1 -0
- package/components/dialogs/default/bundles/index.umd.js +66 -95
- package/components/dialogs/default/esm2022/dialog-header/dialog-header.component.mjs +67 -96
- package/components/dialogs/default/fesm2022/index.mjs +66 -95
- package/components/dialogs/default/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/design-dialog/bundles/index.umd.js +7 -7
- package/components/dialogs/design-dialog/esm2022/dialog.component.mjs +8 -8
- package/components/dialogs/design-dialog/fesm2022/index.mjs +7 -7
- package/components/dialogs/design-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/iframe-dialog/bundles/index.umd.js +24 -25
- package/components/dialogs/iframe-dialog/esm2022/iframe-dialog.component.mjs +15 -16
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs +14 -15
- package/components/dialogs/iframe-dialog/fesm2022/index.mjs.map +1 -1
- package/components/dialogs/partial-dialog/bundles/index.umd.js +8 -8
- package/components/dialogs/partial-dialog/esm2022/partial-dialog.component.mjs +9 -9
- package/components/dialogs/partial-dialog/fesm2022/index.mjs +8 -8
- package/components/dialogs/partial-dialog/fesm2022/index.mjs.map +1 -1
- package/components/input/chips/bundles/index.umd.js +21 -21
- package/components/input/chips/esm2022/chips.component.mjs +22 -22
- package/components/input/chips/fesm2022/index.mjs +21 -21
- package/components/input/chips/fesm2022/index.mjs.map +1 -1
- package/components/input/default/bundles/index.umd.js +201 -209
- package/components/input/default/esm2022/button/button.component.mjs +18 -18
- package/components/input/default/esm2022/checkboxset/checkboxset.component.mjs +68 -69
- package/components/input/default/esm2022/radioset/radioset.component.mjs +68 -69
- package/components/input/default/esm2022/select/select.component.mjs +21 -27
- package/components/input/default/esm2022/switch/switch.component.mjs +24 -24
- package/components/input/default/esm2022/textarea/textarea.component.mjs +8 -8
- package/components/input/default/fesm2022/index.mjs +201 -209
- package/components/input/default/fesm2022/index.mjs.map +1 -1
- package/components/input/epoch/bundles/index.umd.js +171 -164
- package/components/input/epoch/esm2022/date/date.component.mjs +14 -15
- package/components/input/epoch/esm2022/date-time/date-time-picker.component.mjs +64 -59
- package/components/input/epoch/esm2022/date-time/date-time.component.mjs +18 -19
- package/components/input/epoch/esm2022/picker/picker.component.mjs +26 -25
- package/components/input/epoch/esm2022/time/time.component.mjs +17 -18
- package/components/input/epoch/fesm2022/index.mjs +124 -117
- package/components/input/epoch/fesm2022/index.mjs.map +1 -1
- package/components/input/file-upload/bundles/index.umd.js +111 -114
- package/components/input/file-upload/esm2022/file-upload.component.mjs +112 -115
- package/components/input/file-upload/fesm2022/index.mjs +111 -114
- package/components/input/file-upload/fesm2022/index.mjs.map +1 -1
- package/components/input/rating/bundles/index.umd.js +14 -14
- package/components/input/rating/esm2022/rating.component.mjs +15 -15
- package/components/input/rating/fesm2022/index.mjs +14 -14
- package/components/input/rating/fesm2022/index.mjs.map +1 -1
- package/components/input/slider/bundles/index.umd.js +39 -40
- package/components/input/slider/esm2022/slider.component.mjs +10 -11
- package/components/input/slider/fesm2022/index.mjs +9 -10
- package/components/input/slider/fesm2022/index.mjs.map +1 -1
- package/components/navigation/breadcrumb/bundles/index.umd.js +16 -15
- package/components/navigation/breadcrumb/esm2022/breadcrumb.component.mjs +17 -16
- package/components/navigation/breadcrumb/fesm2022/index.mjs +16 -15
- package/components/navigation/breadcrumb/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/bundles/index.umd.js +82 -74
- package/components/navigation/menu/esm2022/menu-adapator.component.mjs +14 -4
- package/components/navigation/menu/esm2022/menu-dropdown/menu-dropdown.component.mjs +7 -7
- package/components/navigation/menu/esm2022/menu-dropdown-item/menu-dropdown-item.component.mjs +15 -15
- package/components/navigation/menu/esm2022/menu.component.mjs +22 -26
- package/components/navigation/menu/esm2022/menu.module.mjs +4 -4
- package/components/navigation/menu/esm2022/nav/nav.component.mjs +26 -24
- package/components/navigation/menu/fesm2022/index.mjs +82 -74
- package/components/navigation/menu/fesm2022/index.mjs.map +1 -1
- package/components/navigation/menu/menu-adapator.component.d.ts +1 -0
- package/components/navigation/navbar/bundles/index.umd.js +12 -12
- package/components/navigation/navbar/esm2022/navbar.component.mjs +13 -13
- package/components/navigation/navbar/fesm2022/index.mjs +12 -12
- package/components/navigation/navbar/fesm2022/index.mjs.map +1 -1
- package/mobile/components/basic/default/bundles/index.umd.js +102 -111
- package/mobile/components/basic/default/esm2022/file-browser/file-browser.component.mjs +39 -40
- package/mobile/components/basic/default/esm2022/network-info-toaster/network-info-toaster.component.mjs +35 -44
- package/mobile/components/basic/default/esm2022/process-manager/process-manager.component.mjs +27 -28
- package/mobile/components/basic/default/fesm2022/index.mjs +98 -107
- package/mobile/components/basic/default/fesm2022/index.mjs.map +1 -1
- package/mobile/components/containers/segmented-control/bundles/index.umd.js +16 -16
- package/mobile/components/containers/segmented-control/esm2022/segment-content/segment-content.component.mjs +8 -9
- package/mobile/components/containers/segmented-control/esm2022/segmented-control.component.mjs +10 -10
- package/mobile/components/containers/segmented-control/fesm2022/index.mjs +16 -16
- package/mobile/components/containers/segmented-control/fesm2022/index.mjs.map +1 -1
- package/mobile/components/data/media-list/bundles/index.umd.js +28 -28
- package/mobile/components/data/media-list/esm2022/media-list.component.mjs +29 -29
- package/mobile/components/data/media-list/fesm2022/index.mjs +28 -28
- package/mobile/components/data/media-list/fesm2022/index.mjs.map +1 -1
- package/mobile/components/page/mobile-navbar/bundles/index.umd.js +29 -29
- package/mobile/components/page/mobile-navbar/esm2022/mobile-navbar.component.mjs +30 -30
- package/mobile/components/page/mobile-navbar/fesm2022/index.mjs +29 -29
- package/mobile/components/page/mobile-navbar/fesm2022/index.mjs.map +1 -1
- package/mobile/components/page/tab-bar/bundles/index.umd.js +28 -28
- package/mobile/components/page/tab-bar/esm2022/tabbar.component.mjs +29 -29
- package/mobile/components/page/tab-bar/fesm2022/index.mjs +28 -28
- package/mobile/components/page/tab-bar/fesm2022/index.mjs.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/runtime/base/bundles/index.umd.js +219 -215
- package/runtime/base/esm2022/components/app-component/app.component.mjs +38 -41
- package/runtime/base/esm2022/components/app-spinner.component.mjs +25 -21
- package/runtime/base/esm2022/components/custom-toaster.component.mjs +18 -16
- package/runtime/base/fesm2022/index.mjs +99 -95
- package/runtime/base/fesm2022/index.mjs.map +1 -1
- package/scripts/datatable/datatable.js +1 -0
|
@@ -5,32 +5,31 @@ import { App } from '@wm/core';
|
|
|
5
5
|
import { filter } from "lodash-es";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "ngx-bootstrap/modal";
|
|
8
|
-
import * as i2 from "
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "../picker/picker.component";
|
|
8
|
+
import * as i2 from "ngx-bootstrap/datepicker";
|
|
9
|
+
import * as i3 from "../picker/picker.component";
|
|
11
10
|
const _c0 = ["datetimepickerTemplate"];
|
|
12
|
-
function
|
|
11
|
+
function DateTimePickerComponent_ng_template_0_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
13
12
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
14
13
|
i0.ɵɵelementStart(0, "bs-datepicker-inline", 11);
|
|
15
|
-
i0.ɵɵlistener("bsValueChange", function
|
|
14
|
+
i0.ɵɵlistener("bsValueChange", function DateTimePickerComponent_ng_template_0_Conditional_3_Template_bs_datepicker_inline_bsValueChange_0_listener($event) { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onDateUpdate($event)); });
|
|
16
15
|
i0.ɵɵelementEnd();
|
|
17
16
|
} if (rf & 2) {
|
|
18
17
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
19
18
|
i0.ɵɵproperty("bsConfig", ctx_r2.bsDatepickerConfig)("datesDisabled", ctx_r2.excludedDatesToDisable)("bsValue", ctx_r2.changedValue);
|
|
20
19
|
} }
|
|
21
|
-
function
|
|
20
|
+
function DateTimePickerComponent_ng_template_0_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
22
21
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
23
22
|
i0.ɵɵelementStart(0, "wm-timepicker", 12);
|
|
24
|
-
i0.ɵɵlistener("change", function
|
|
23
|
+
i0.ɵɵlistener("change", function DateTimePickerComponent_ng_template_0_Conditional_4_Template_wm_timepicker_change_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onTimeUpdate($event)); });
|
|
25
24
|
i0.ɵɵelementEnd();
|
|
26
25
|
} if (rf & 2) {
|
|
27
26
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
28
27
|
i0.ɵɵproperty("value", ctx_r2.changedValue)("min", ctx_r2.minTime)("max", ctx_r2.maxTime);
|
|
29
28
|
} }
|
|
30
|
-
function
|
|
29
|
+
function DateTimePickerComponent_ng_template_0_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
31
30
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
32
31
|
i0.ɵɵelementStart(0, "button", 13);
|
|
33
|
-
i0.ɵɵlistener("click", function
|
|
32
|
+
i0.ɵɵlistener("click", function DateTimePickerComponent_ng_template_0_Conditional_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setToday()); });
|
|
34
33
|
i0.ɵɵtext(1);
|
|
35
34
|
i0.ɵɵelementEnd();
|
|
36
35
|
} if (rf & 2) {
|
|
@@ -38,10 +37,10 @@ function DateTimePickerComponent_ng_template_0_button_8_Template(rf, ctx) { if (
|
|
|
38
37
|
i0.ɵɵadvance();
|
|
39
38
|
i0.ɵɵtextInterpolate(ctx_r2.appLocale.LABEL_TODAY_DATE || "Today");
|
|
40
39
|
} }
|
|
41
|
-
function
|
|
40
|
+
function DateTimePickerComponent_ng_template_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
42
41
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
43
42
|
i0.ɵɵelementStart(0, "button", 14);
|
|
44
|
-
i0.ɵɵlistener("click", function
|
|
43
|
+
i0.ɵɵlistener("click", function DateTimePickerComponent_ng_template_0_Conditional_9_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onOkClick()); });
|
|
45
44
|
i0.ɵɵtext(1);
|
|
46
45
|
i0.ɵɵelementEnd();
|
|
47
46
|
} if (rf & 2) {
|
|
@@ -53,12 +52,12 @@ function DateTimePickerComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
53
52
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
54
53
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 2);
|
|
55
54
|
i0.ɵɵelement(2, "div", 3);
|
|
56
|
-
i0.ɵɵtemplate(3,
|
|
55
|
+
i0.ɵɵtemplate(3, DateTimePickerComponent_ng_template_0_Conditional_3_Template, 1, 3, "bs-datepicker-inline", 4)(4, DateTimePickerComponent_ng_template_0_Conditional_4_Template, 1, 3, "wm-timepicker", 5);
|
|
57
56
|
i0.ɵɵelementStart(5, "span", 6);
|
|
58
57
|
i0.ɵɵtext(6);
|
|
59
58
|
i0.ɵɵelementEnd()();
|
|
60
59
|
i0.ɵɵelementStart(7, "div", 7);
|
|
61
|
-
i0.ɵɵtemplate(8,
|
|
60
|
+
i0.ɵɵtemplate(8, DateTimePickerComponent_ng_template_0_Conditional_8_Template, 2, 1, "button", 8)(9, DateTimePickerComponent_ng_template_0_Conditional_9_Template, 2, 1, "button", 9);
|
|
62
61
|
i0.ɵɵelementStart(10, "button", 10);
|
|
63
62
|
i0.ɵɵlistener("click", function DateTimePickerComponent_ng_template_0_Template_button_click_10_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.clear()); });
|
|
64
63
|
i0.ɵɵtext(11);
|
|
@@ -66,15 +65,15 @@ function DateTimePickerComponent_ng_template_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
66
65
|
} if (rf & 2) {
|
|
67
66
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
68
67
|
i0.ɵɵadvance(3);
|
|
69
|
-
i0.ɵɵ
|
|
68
|
+
i0.ɵɵconditional(ctx_r2.mode === "DATE_TIME" || ctx_r2.mode === "DATE" ? 3 : -1);
|
|
70
69
|
i0.ɵɵadvance();
|
|
71
|
-
i0.ɵɵ
|
|
70
|
+
i0.ɵɵconditional(ctx_r2.mode === "DATE_TIME" || ctx_r2.mode === "TIME" ? 4 : -1);
|
|
72
71
|
i0.ɵɵadvance(2);
|
|
73
72
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.getDateLabel(), " ");
|
|
74
73
|
i0.ɵɵadvance(2);
|
|
75
|
-
i0.ɵɵ
|
|
74
|
+
i0.ɵɵconditional(ctx_r2.mode === "DATE_TIME" || ctx_r2.mode === "DATE" ? 8 : -1);
|
|
76
75
|
i0.ɵɵadvance();
|
|
77
|
-
i0.ɵɵ
|
|
76
|
+
i0.ɵɵconditional(ctx_r2.mode === "DATE_TIME" || ctx_r2.mode === "TIME" ? 9 : -1);
|
|
78
77
|
i0.ɵɵadvance(2);
|
|
79
78
|
i0.ɵɵtextInterpolate(ctx_r2.appLocale.LABEL_CLEAR_DATE || "Clear");
|
|
80
79
|
} }
|
|
@@ -251,9 +250,9 @@ export class DateTimePickerComponent {
|
|
|
251
250
|
} if (rf & 2) {
|
|
252
251
|
let _t;
|
|
253
252
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.datetimepickerTemplate = _t.first);
|
|
254
|
-
} }, inputs: { mode: "mode", placement: "placement", _bsDatepickerConfig: [0, "config", "_bsDatepickerConfig"], minTime: "minTime", maxTime: "maxTime", _displayFormat: "_displayFormat", excludedDatesToDisable: "excludedDatesToDisable", value: "value", bsDatepickerConfig: [0, "config", "bsDatepickerConfig"], excludedDaysToDisable: "excludedDaysToDisable", displayFormat: "displayFormat" }, outputs: { change: "change" }, decls: 2, vars: 0, consts: [["datetimepickerTemplate", ""], [1, "app-datetime-picker"], [1, "modal-body"], [1, "mobile-datetime-picker-options"], ["bsDatepicker", "", 3, "bsConfig", "datesDisabled", "bsValue"
|
|
253
|
+
} }, inputs: { mode: "mode", placement: "placement", _bsDatepickerConfig: [0, "config", "_bsDatepickerConfig"], minTime: "minTime", maxTime: "maxTime", _displayFormat: "_displayFormat", excludedDatesToDisable: "excludedDatesToDisable", value: "value", bsDatepickerConfig: [0, "config", "bsDatepickerConfig"], excludedDaysToDisable: "excludedDaysToDisable", displayFormat: "displayFormat" }, outputs: { change: "change" }, decls: 2, vars: 0, consts: [["datetimepickerTemplate", ""], [1, "app-datetime-picker"], [1, "modal-body"], [1, "mobile-datetime-picker-options"], ["bsDatepicker", "", 3, "bsConfig", "datesDisabled", "bsValue"], [3, "value", "min", "max"], [1, "text-primary", "date-picker-value"], [1, "modal-footer"], [1, "btn", "btn-secondary", "today-btn"], [1, "btn", "btn-primary", "pull-right", "ok-btn"], [1, "btn", "btn-secondary", "pull-right", "clear-btn", 3, "click"], ["bsDatepicker", "", 3, "bsValueChange", "bsConfig", "datesDisabled", "bsValue"], [3, "change", "value", "min", "max"], [1, "btn", "btn-secondary", "today-btn", 3, "click"], [1, "btn", "btn-primary", "pull-right", "ok-btn", 3, "click"]], template: function DateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
|
|
255
254
|
i0.ɵɵtemplate(0, DateTimePickerComponent_ng_template_0_Template, 12, 6, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
|
|
256
|
-
} }, dependencies: () => [i2.
|
|
255
|
+
} }, dependencies: () => [i2.BsDatepickerDirective, i2.BsDatepickerInlineDirective, TimePickerComponent], encapsulation: 2 }); }
|
|
257
256
|
}
|
|
258
257
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateTimePickerComponent, [{
|
|
259
258
|
type: Component,
|
|
@@ -261,43 +260,49 @@ export class DateTimePickerComponent {
|
|
|
261
260
|
selector: 'wm-datetimepicker',
|
|
262
261
|
template: `
|
|
263
262
|
<ng-template #datetimepickerTemplate>
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
class="btn btn-secondary today-btn"
|
|
291
|
-
(click)="setToday()">{{appLocale.LABEL_TODAY_DATE || "Today" }}</button>
|
|
292
|
-
<button
|
|
293
|
-
class="btn btn-primary pull-right ok-btn"
|
|
294
|
-
*ngIf="mode === 'DATE_TIME' || mode === 'TIME'"
|
|
295
|
-
(click)="onOkClick()">{{appLocale.LABEL_OK || "Ok" }}</button>
|
|
296
|
-
<button
|
|
297
|
-
class="btn btn-secondary pull-right clear-btn"
|
|
298
|
-
(click)="clear()">{{appLocale.LABEL_CLEAR_DATE || "Clear" }}</button>
|
|
299
|
-
</div>
|
|
263
|
+
<div class="app-datetime-picker">
|
|
264
|
+
<div class="modal-body">
|
|
265
|
+
<div class="mobile-datetime-picker-options">
|
|
266
|
+
|
|
267
|
+
</div>
|
|
268
|
+
@if (mode === 'DATE_TIME' || mode === 'DATE') {
|
|
269
|
+
<bs-datepicker-inline
|
|
270
|
+
[bsConfig]="bsDatepickerConfig"
|
|
271
|
+
[datesDisabled]="excludedDatesToDisable"
|
|
272
|
+
bsDatepicker
|
|
273
|
+
[bsValue]="changedValue"
|
|
274
|
+
(bsValueChange)="onDateUpdate($event)"
|
|
275
|
+
>
|
|
276
|
+
</bs-datepicker-inline>
|
|
277
|
+
}
|
|
278
|
+
@if (mode === 'DATE_TIME' || mode === 'TIME') {
|
|
279
|
+
<wm-timepicker
|
|
280
|
+
[value]="changedValue"
|
|
281
|
+
[min]="minTime"
|
|
282
|
+
[max]="maxTime"
|
|
283
|
+
(change)="onTimeUpdate($event)"
|
|
284
|
+
></wm-timepicker>
|
|
285
|
+
}
|
|
286
|
+
<span class="text-primary date-picker-value">
|
|
287
|
+
{{getDateLabel()}}
|
|
288
|
+
</span>
|
|
300
289
|
</div>
|
|
290
|
+
<div class="modal-footer">
|
|
291
|
+
@if (mode === 'DATE_TIME' || mode === 'DATE') {
|
|
292
|
+
<button
|
|
293
|
+
class="btn btn-secondary today-btn"
|
|
294
|
+
(click)="setToday()">{{appLocale.LABEL_TODAY_DATE || "Today" }}</button>
|
|
295
|
+
}
|
|
296
|
+
@if (mode === 'DATE_TIME' || mode === 'TIME') {
|
|
297
|
+
<button
|
|
298
|
+
class="btn btn-primary pull-right ok-btn"
|
|
299
|
+
(click)="onOkClick()">{{appLocale.LABEL_OK || "Ok" }}</button>
|
|
300
|
+
}
|
|
301
|
+
<button
|
|
302
|
+
class="btn btn-secondary pull-right clear-btn"
|
|
303
|
+
(click)="clear()">{{appLocale.LABEL_CLEAR_DATE || "Clear" }}</button>
|
|
304
|
+
</div>
|
|
305
|
+
</div>
|
|
301
306
|
</ng-template>
|
|
302
307
|
`
|
|
303
308
|
}]
|
|
@@ -331,7 +336,7 @@ export class DateTimePickerComponent {
|
|
|
331
336
|
}], displayFormat: [{
|
|
332
337
|
type: Input
|
|
333
338
|
}] }); })();
|
|
334
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateTimePickerComponent, { className: "DateTimePickerComponent", filePath: "date-time/date-time-picker.component.ts", lineNumber:
|
|
339
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateTimePickerComponent, { className: "DateTimePickerComponent", filePath: "date-time/date-time-picker.component.ts", lineNumber: 60 }); })();
|
|
335
340
|
export class TimePickerComponent {
|
|
336
341
|
constructor(inj) {
|
|
337
342
|
this.inj = inj;
|
|
@@ -421,7 +426,7 @@ export class TimePickerComponent {
|
|
|
421
426
|
i0.ɵɵproperty("options", ctx.options.minute)("selectedValue", ctx.minute);
|
|
422
427
|
i0.ɵɵadvance(3);
|
|
423
428
|
i0.ɵɵproperty("options", ctx.options.minute)("selectedValue", ctx.second);
|
|
424
|
-
} }, dependencies: [
|
|
429
|
+
} }, dependencies: [i3.PickerComponent, i3.PickerGroupComponent], encapsulation: 2 }); }
|
|
425
430
|
}
|
|
426
431
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimePickerComponent, [{
|
|
427
432
|
type: Component,
|
|
@@ -455,5 +460,5 @@ export class TimePickerComponent {
|
|
|
455
460
|
}], change: [{
|
|
456
461
|
type: Output
|
|
457
462
|
}] }); })();
|
|
458
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimePickerComponent, { className: "TimePickerComponent", filePath: "date-time/date-time-picker.component.ts", lineNumber:
|
|
459
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUtdGltZS9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQVUsUUFBUSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0IsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7O0lBY2pCLGdEQU1vRDtJQURoRCx1UEFBaUIsMkJBQW9CLEtBQUM7SUFFMUMsaUJBQXVCOzs7SUFIbkIsQUFGQSxBQURBLG9EQUErQixnREFDUyxnQ0FFaEI7Ozs7SUFJNUIseUNBS29EO0lBRGhELDJOQUFVLDJCQUFvQixLQUFDO0lBQ2lCLGlCQUFnQjs7O0lBRmhFLEFBREEsQUFEQSwyQ0FBc0IsdUJBQ1AsdUJBQ0E7Ozs7SUFRbkIsa0NBR3lCO0lBQXJCLHFNQUFTLGlCQUFVLEtBQUM7SUFBQyxZQUEwQztJQUFBLGlCQUFTOzs7SUFBbkQsY0FBMEM7SUFBMUMsa0VBQTBDOzs7O0lBQ25FLGtDQUcwQjtJQUF0QixxTUFBUyxrQkFBVyxLQUFDO0lBQUMsWUFBK0I7SUFBQSxpQkFBUzs7O0lBQXhDLGNBQStCO0lBQS9CLHVEQUErQjs7OztJQTlCN0QsQUFESiw4QkFBaUMsYUFDTDtJQUNwQix5QkFFTTtJQVNOLEFBUkEsd0hBTW9ELDZGQU9BO0lBQ3BELCtCQUE2QztJQUN6QyxZQUNKO0lBQ0osQUFESSxpQkFBTyxFQUNMO0lBQ04sOEJBQTBCO0lBS3RCLEFBSkEsNEZBR3lCLCtFQUlDO0lBQzFCLG1DQUVzQjtJQUFsQiw0TEFBUyxjQUFPLEtBQUM7SUFBQyxhQUEwQztJQUV4RSxBQURJLEFBRG9FLGlCQUFTLEVBQ3ZFLEVBQ0o7OztJQXpCTyxlQUE2QztJQUE3Qyw0RUFBNkM7SUFPN0MsY0FBNkM7SUFBN0MsNEVBQTZDO0lBRTlDLGVBQ0o7SUFESSxzREFDSjtJQUlLLGVBQTZDO0lBQTdDLDRFQUE2QztJQUs3QyxjQUE2QztJQUE3Qyw0RUFBNkM7SUFJNUIsZUFBMEM7SUFBMUMsa0VBQTBDOztBQU1oRixNQUFNLE9BQU8sdUJBQXVCO0lBdUNoQyxZQUNjLEdBQWEsRUFDZixjQUE4QjtRQUQ1QixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBQ2YsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBdkNsQyxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBRWxCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFPbkIsU0FBSSxHQUFrQyxXQUFXLENBQUM7UUFHbEQsY0FBUyxHQUF1QixPQUFPLENBQUM7UUFjdEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFcEMsV0FBTSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFFcEIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFVeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQ0ksS0FBSyxDQUFDLENBQU87UUFDYixDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUdELElBQ0ksa0JBQWtCLENBQUMsTUFBMEI7UUFDN0MsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE1BQU0sQ0FBQztRQUNsQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUNqRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFDSSxxQkFBcUIsQ0FBQyxDQUFXO1FBQ2pDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNsQixPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztJQUNwQyxDQUFDO0lBRUQsSUFDSSxhQUFhLENBQUMsTUFBYztRQUM1QixJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDekYsQ0FBQztJQUNMLENBQUM7SUFFRCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUNyQixPQUFPLElBQUksQ0FBQztRQUNoQixDQUFDO1FBQ0QsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDO1FBQ2xELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLENBQUM7UUFDbEQsSUFBSSxPQUFPO2VBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTttQkFDZCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7bUJBQ2hFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNO3VCQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxPQUFPO2VBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTTttQkFDZCxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7bUJBQzlELENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNO3VCQUNqQixPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNqRSxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUNEOztPQUVHO0lBQ0ssZUFBZTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzlDLE1BQU0sQ0FBQyxDQUFDLENBQUMsMkRBQTJELEtBQUssR0FBRyxDQUFDO2FBQ3hFLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDL0MsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzFCLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsQ0FBQztZQUM5QyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU8sV0FBVztRQUNmLENBQUMsQ0FBQyw4REFBOEQsQ0FBQzthQUM1RCxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ2pELENBQUMsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztJQUNuRixDQUFDO0lBRUQsWUFBWTtRQUNSLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELGNBQWM7UUFDVixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUM1QixDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQU07UUFDdEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNoQyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssTUFBTSxFQUFFLENBQUM7WUFDeEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQixNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3JCLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QixDQUFDO2FBQU0sSUFBSSxNQUFNLElBQUksTUFBTSxFQUFFLENBQUM7WUFDMUIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLE1BQU0sQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDdkMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLE1BQU07ZUFDakIsTUFBTSxLQUFLLE1BQU07ZUFDakIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDckIsQ0FBQztJQUNMLENBQUM7SUFFTSxZQUFZLENBQUMsTUFBTTtRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBSTtRQUNBLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNiLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFO1lBQ2xFLFFBQVEsRUFBRSxJQUFJO1lBQ2QsUUFBUSxFQUFFLFFBQVE7WUFDbEIsS0FBSyxFQUFFLHlDQUF5QztTQUNuRCxDQUFDLENBQUM7UUFDSCxVQUFVLENBQUMsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBLENBQUEsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsUUFBUTtRQUNKLE1BQU0sS0FBSyxHQUFHLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxLQUFLO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0MsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNMLElBQUksSUFBSSxDQUFDLG9CQUFvQixFQUFFLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsYUFBYTtRQUNULElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO0lBRUQsZUFBZTtJQUVmLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7d0hBak9RLHVCQUF1QjtvRUFBdkIsdUJBQXVCOzs7Ozs7WUF6Q2hDLDBIQUFxQztxR0FvUzVCLG1CQUFtQjs7aUZBM1BuQix1QkFBdUI7Y0E1Q25DLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F3Q1Q7YUFDSjtzRUFTMkQsc0JBQXNCO2tCQUE3RSxTQUFTO21CQUFDLHdCQUF3QixFQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtZQUc5QyxJQUFJO2tCQURYLEtBQUs7WUFJRSxTQUFTO2tCQURoQixLQUFLO1lBSUUsbUJBQW1CO2tCQUQxQixLQUFLO21CQUFDLFFBQVE7WUFJUCxPQUFPO2tCQURkLEtBQUs7WUFJRSxPQUFPO2tCQURkLEtBQUs7WUFJRSxjQUFjO2tCQURyQixLQUFLO1lBR0ksTUFBTTtrQkFBZixNQUFNO1lBU0Msc0JBQXNCO2tCQUQ3QixLQUFLO1lBVUYsS0FBSztrQkFEUixLQUFLO1lBU0Ysa0JBQWtCO2tCQURyQixLQUFLO21CQUFDLFFBQVE7WUFRWCxxQkFBcUI7a0JBRHhCLEtBQUs7WUFVRixhQUFhO2tCQURoQixLQUFLOztrRkFyRUcsdUJBQXVCO0FBMlBwQyxNQUFNLE9BQU8sbUJBQW1CO0lBb0I1QixZQUNjLEdBQWE7UUFBYixRQUFHLEdBQUgsR0FBRyxDQUFVO1FBbkIzQixZQUFPLEdBQUc7WUFDTixJQUFJLEVBQUUsRUFBRTtZQUNSLE1BQU0sRUFBRSxFQUFFO1lBQ1YsTUFBTSxFQUFFLEVBQUU7WUFDVixRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDO1NBQ3pCLENBQUM7UUFHTSxVQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUduQixRQUFHLEdBQVMsSUFBSSxDQUFDO1FBR2pCLFFBQUcsR0FBUyxJQUFJLENBQUM7UUFFZixXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUl4QyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRU8sZUFBZSxDQUFDLEtBQWEsRUFBRSxFQUFVO1FBQzdDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLEtBQUksSUFBSSxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUM5QixHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUNMLEtBQUssRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsS0FBSyxFQUFFLENBQUM7YUFDWCxDQUFDLENBQUE7UUFDTixDQUFDO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBRUQsR0FBRyxDQUFDLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxFQUFFLElBQStDO1FBQy9ELElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDbkUsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckUsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckUsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFNO1FBQ3RCLFFBQVEsQ0FBQztJQUNiLENBQUM7SUFFRCxlQUFlO0lBRWYsQ0FBQztvSEEvRVEsbUJBQW1CO29FQUFuQixtQkFBbUI7WUFqQnBCLEFBREosc0NBQWdCLG1CQUl1QjtZQUEvQiwyR0FBVSxnQkFBWSxNQUFNLENBQUMsSUFBQztZQUFDLGlCQUFZO1lBQy9DLCtCQUFpQztZQUFBLGlCQUFDO1lBQUEsaUJBQU87WUFDekMsb0NBR3FDO1lBQWpDLDJHQUFVLGdCQUFZLFFBQVEsQ0FBQyxJQUFDO1lBQUMsaUJBQVk7WUFDakQsK0JBQWlDO1lBQUEsaUJBQUM7WUFBQSxpQkFBTztZQUN6QyxvQ0FHcUM7WUFBakMsMkdBQVUsZ0JBQVksUUFBUSxDQUFDLElBQUM7WUFDeEMsQUFEeUMsaUJBQVksRUFDcEM7O1lBYlQsY0FBd0I7WUFDeEIsQUFEQSwwQ0FBd0IsMkJBQ0Y7WUFJdEIsZUFBMEI7WUFDMUIsQUFEQSw0Q0FBMEIsNkJBQ0Y7WUFJeEIsZUFBMEI7WUFDMUIsQUFEQSw0Q0FBMEIsNkJBQ0Y7OztpRkFLM0IsbUJBQW1CO2NBckIvQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQ7YUFDSjt5Q0FXVyxLQUFLO2tCQURaLEtBQUs7WUFJRSxHQUFHO2tCQURWLEtBQUs7WUFJRSxHQUFHO2tCQURWLEtBQUs7WUFHSSxNQUFNO2tCQUFmLE1BQU07O2tGQWxCRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBCc01vZGFsUmVmLCBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuZGVjbGFyZSBjb25zdCBtb21lbnQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd20tZGF0ZXRpbWVwaWNrZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNkYXRldGltZXBpY2tlclRlbXBsYXRlPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwLWRhdGV0aW1lLXBpY2tlclwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLWRhdGV0aW1lLXBpY2tlci1vcHRpb25zXCI+XG5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8YnMtZGF0ZXBpY2tlci1pbmxpbmVcbiAgICAgICAgICAgICAgICAgICAgW2JzQ29uZmlnXT1cImJzRGF0ZXBpY2tlckNvbmZpZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtkYXRlc0Rpc2FibGVkXT1cImV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGVcIlxuICAgICAgICAgICAgICAgICAgICBic0RhdGVwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgW2JzVmFsdWVdPVwiY2hhbmdlZFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGJzVmFsdWVDaGFuZ2UpPVwib25EYXRlVXBkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICdEQVRFX1RJTUUnIHx8IG1vZGUgPT09ICdEQVRFJ1wiPlxuICAgICAgICAgICAgICAgIDwvYnMtZGF0ZXBpY2tlci1pbmxpbmU+XG4gICAgICAgICAgICAgICAgPHdtLXRpbWVwaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNoYW5nZWRWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIFttaW5dPVwibWluVGltZVwiXG4gICAgICAgICAgICAgICAgICAgIFttYXhdPVwibWF4VGltZVwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwib25UaW1lVXBkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIm1vZGUgPT09ICdEQVRFX1RJTUUnIHx8IG1vZGUgPT09ICdUSU1FJ1wiPjwvd20tdGltZXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBkYXRlLXBpY2tlci12YWx1ZVwiPlxuICAgICAgICAgICAgICAgICAgICB7e2dldERhdGVMYWJlbCgpfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ0RBVEVfVElNRScgfHwgbW9kZSA9PT0gJ0RBVEUnXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeSB0b2RheS1idG5cIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0VG9kYXkoKVwiPnt7YXBwTG9jYWxlLkxBQkVMX1RPREFZX0RBVEUgfHwgXCJUb2RheVwiIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBwdWxsLXJpZ2h0IG9rLWJ0blwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwibW9kZSA9PT0gJ0RBVEVfVElNRScgfHwgbW9kZSA9PT0gJ1RJTUUnXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uT2tDbGljaygpXCI+e3thcHBMb2NhbGUuTEFCRUxfT0sgfHwgXCJPa1wiIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5IHB1bGwtcmlnaHQgY2xlYXItYnRuXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsZWFyKClcIj57e2FwcExvY2FsZS5MQUJFTF9DTEVBUl9EQVRFIHx8IFwiQ2xlYXJcIiB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XG5cbiAgICBwcml2YXRlIGlzRGF0ZU9wZW4gPSB0cnVlO1xuXG4gICAgcHJpdmF0ZSBpc1RpbWVPcGVuID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGFwcExvY2FsZTogYW55O1xuXG4gICAgQFZpZXdDaGlsZCgnZGF0ZXRpbWVwaWNrZXJUZW1wbGF0ZScgLCB7IHN0YXRpYzogdHJ1ZSB9KSBkYXRldGltZXBpY2tlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIG1vZGU6ICdEQVRFJyB8ICdUSU1FJyB8ICdEQVRFX1RJTUUnID0gJ0RBVEVfVElNRSc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByaXZhdGUgcGxhY2VtZW50OiAnTU9EQUwnIHwgJ0lOTElORScgPSAnTU9EQUwnO1xuXG4gICAgQElucHV0KFwiY29uZmlnXCIpXG4gICAgcHJpdmF0ZSBfYnNEYXRlcGlja2VyQ29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWc7XG5cbiAgICBASW5wdXQoKVxuICAgIHByaXZhdGUgbWluVGltZTogRGF0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJpdmF0ZSBtYXhUaW1lOiBEYXRlO1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIF9kaXNwbGF5Rm9ybWF0OiBzdHJpbmc7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgcHJpdmF0ZSBfdmFsdWUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgcHJpdmF0ZSBjaGFuZ2VkVmFsdWUgPSBudWxsO1xuXG4gICAgcHJpdmF0ZSBtb2RhbFJlZjogQnNNb2RhbFJlZjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJpdmF0ZSBleGNsdWRlZERhdGVzVG9EaXNhYmxlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBpbmo6IEluamVjdG9yLFxuICAgICAgICBwcml2YXRlIGJzTW9kYWxTZXJ2aWNlOiBCc01vZGFsU2VydmljZSkge1xuICAgICAgICB0aGlzLmFwcExvY2FsZSA9IGluai5nZXQoQXBwKS5hcHBMb2NhbGUgfHwge307XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgdmFsdWUoZDogRGF0ZSkge1xuICAgICAgICBkID0gZCB8fCBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLl92YWx1ZSA9IGQ7XG4gICAgICAgIHRoaXMuY2hhbmdlZFZhbHVlID0gZDtcbiAgICB9XG5cblxuICAgIEBJbnB1dChcImNvbmZpZ1wiKVxuICAgIHNldCBic0RhdGVwaWNrZXJDb25maWcoY29uZmlnOiBCc0RhdGVwaWNrZXJDb25maWcpIHtcbiAgICAgICAgdGhpcy5fYnNEYXRlcGlja2VyQ29uZmlnID0gY29uZmlnO1xuICAgICAgICB0aGlzLl9ic0RhdGVwaWNrZXJDb25maWcuc2hvd0NsZWFyQnV0dG9uID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2JzRGF0ZXBpY2tlckNvbmZpZy5zaG93VG9kYXlCdXR0b24gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBleGNsdWRlZERheXNUb0Rpc2FibGUodjogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy5fYnNEYXRlcGlja2VyQ29uZmlnLmRheXNEaXNhYmxlZCA9IHY7XG4gICAgfVxuXG4gICAgZ2V0IGJzRGF0ZXBpY2tlckNvbmZpZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2JzRGF0ZXBpY2tlckNvbmZpZztcbiAgICB9XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCBkaXNwbGF5Rm9ybWF0KGZvcm1hdDogc3RyaW5nKSB7XG4gICAgICAgIGlmIChmb3JtYXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BsYXlGb3JtYXQgPSBmb3JtYXQucmVwbGFjZSgveS9nLCBcIllcIikucmVwbGFjZSgvZC9nLCBcIkRcIikucmVwbGFjZShcImFcIiwgXCJBXCIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdmFsaWRhdGVTZWxlY3RlZERhdGUoKSB7XG4gICAgICAgIGlmICghdGhpcy5jaGFuZ2VkVmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNkID0gbW9tZW50KHRoaXMuY2hhbmdlZFZhbHVlKTtcbiAgICAgICAgY29uc3QgbWluRGF0ZSA9IHRoaXMuX2JzRGF0ZXBpY2tlckNvbmZpZz8ubWluRGF0ZTtcbiAgICAgICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMuX2JzRGF0ZXBpY2tlckNvbmZpZz8ubWF4RGF0ZTtcbiAgICAgICAgaWYgKG1pbkRhdGVcbiAgICAgICAgICAgICYmICgodGhpcy5tb2RlID09PSAnREFURSdcbiAgICAgICAgICAgICAgICAgICAgJiYgbW9tZW50KG1pbkRhdGUpLnN0YXJ0T2YoJ2RheScpLnRvRGF0ZSgpID4gdGhpcy5jaGFuZ2VkVmFsdWUpXG4gICAgICAgICAgICAgICAgfHwgKHRoaXMubW9kZSAhPT0gJ0RBVEUnXG4gICAgICAgICAgICAgICAgICAgICYmIG1pbkRhdGUgPiB0aGlzLmNoYW5nZWRWYWx1ZSkpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG1heERhdGVcbiAgICAgICAgICAgICYmICgodGhpcy5tb2RlID09PSAnREFURSdcbiAgICAgICAgICAgICAgICAgICAgJiYgbW9tZW50KG1heERhdGUpLmVuZE9mKCdkYXknKS50b0RhdGUoKSA8IHRoaXMuY2hhbmdlZFZhbHVlKVxuICAgICAgICAgICAgICAgIHx8ICh0aGlzLm1vZGUgIT09ICdEQVRFJ1xuICAgICAgICAgICAgICAgICAgICAmJiBtYXhEYXRlIDwgdGhpcy5jaGFuZ2VkVmFsdWUpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9ic0RhdGVwaWNrZXJDb25maWc/LmRheXNEaXNhYmxlZD8uaW5kZXhPZihjZC5kYXkoKSkgPj0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNkU3QgPSBjZC5zdGFydE9mKCdkYXknKS50b0RhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIGlmICh0aGlzLmV4Y2x1ZGVkRGF0ZXNUb0Rpc2FibGU/LmZpbmQoZCA9PiBkLmdldFRpbWUoKSA9PT0gY2RTdCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBnZXQgZGlzcGxheUZvcm1hdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2Rpc3BsYXlGb3JtYXQpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9kaXNwbGF5Rm9ybWF0O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFRoaXMgbWV0aG9kIGlzIHVzZWQgdG8gaGlnaGxpZ2h0IHRoZSBjdXJyZW50IGRhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIGhpZ2h0bGlnaHRUb2RheSgpIHtcbiAgICAgICAgY29uc3QgdG9EYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKS50b1N0cmluZygpO1xuICAgICAgICBmaWx0ZXIoJChgYm9keSA+IG1vZGFsLWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbW9kYWwgc3Bhbjpjb250YWlucygke3RvRGF5fSlgKVxuICAgICAgICAgICAgLm5vdCgnLmlzLW90aGVyLW1vbnRoLC5jdXJyZW50LWRhdGUnKSwgKG9iaikgPT4ge1xuICAgICAgICAgICAgaWYgKCQob2JqKS50ZXh0KCkgPT09IHRvRGF5KSB7XG4gICAgICAgICAgICAgICAgJChvYmopLmFkZENsYXNzKCdjdXJyZW50LWRhdGUgdGV4dC1pbmZvJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGlkZU9uQ2xpY2soKSB7XG4gICAgICAgICQoJ2JvZHk+bW9kYWwtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tb2RhbCAuYXBwLWRhdGV0aW1lLXBpY2tlcicpXG4gICAgICAgICAgICAuY2xpY2soKCRldmVudCkgPT4gJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpKTtcbiAgICAgICAgJCgnYm9keT5tb2RhbC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1vZGFsJykuY2xpY2soKCkgPT4gdGhpcy5vbkNhbmNlbENsaWNrKCkpO1xuICAgIH1cblxuICAgIGdldERhdGVMYWJlbCgpIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLmNoYW5nZWRWYWx1ZSkuZm9ybWF0KHRoaXMuZGlzcGxheUZvcm1hdCk7XG4gICAgfVxuXG4gICAgb3BlbkRhdGVQaWNrZXIoKSB7XG4gICAgICAgIHRoaXMuaXNUaW1lT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmlzRGF0ZU9wZW4gPSB0cnVlO1xuICAgIH1cblxuICAgIG9wZW5UaW1lUGlja2VyKCkge1xuICAgICAgICB0aGlzLmlzVGltZU9wZW4gPSB0cnVlO1xuICAgICAgICB0aGlzLmlzRGF0ZU9wZW4gPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25EYXRlVXBkYXRlKG5ld1ZhbCkge1xuICAgICAgICBjb25zdCBvbGRWYWwgPSB0aGlzLmNoYW5nZWRWYWx1ZTtcbiAgICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdEQVRFJykge1xuICAgICAgICAgICAgbmV3VmFsLnNldEhvdXJzKDApO1xuICAgICAgICAgICAgbmV3VmFsLnNldE1pbnV0ZXMoMCk7XG4gICAgICAgICAgICBuZXdWYWwuc2V0U2Vjb25kcygwKTtcbiAgICAgICAgICAgIG5ld1ZhbC5zZXRNaWxsaXNlY29uZHMoMCk7XG4gICAgICAgIH0gZWxzZSBpZiAob2xkVmFsICYmIG5ld1ZhbCkge1xuICAgICAgICAgICAgbmV3VmFsLnNldEhvdXJzKG9sZFZhbC5nZXRIb3VycygpKTtcbiAgICAgICAgICAgIG5ld1ZhbC5zZXRNaW51dGVzKG9sZFZhbC5nZXRNaW51dGVzKCkpO1xuICAgICAgICAgICAgbmV3VmFsLnNldFNlY29uZHMob2xkVmFsLmdldFNlY29uZHMoKSk7XG4gICAgICAgICAgICBuZXdWYWwuc2V0TWlsbGlzZWNvbmRzKG9sZFZhbC5nZXRNaWxsaXNlY29uZHMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2VkVmFsdWUgPSBuZXdWYWw7XG4gICAgICAgIGlmICh0aGlzLm1vZGUgPT09ICdEQVRFJ1xuICAgICAgICAgICAgJiYgb2xkVmFsICE9PSBuZXdWYWxcbiAgICAgICAgICAgICYmIHRoaXMudmFsaWRhdGVTZWxlY3RlZERhdGUoKSkge1xuICAgICAgICAgICAgdGhpcy5vbk9rQ2xpY2soKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvblRpbWVVcGRhdGUobmV3VmFsKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlZFZhbHVlID0gbmV3VmFsO1xuICAgIH1cblxuICAgIHNob3coKSB7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5tb2RhbFJlZiA9IHRoaXMuYnNNb2RhbFNlcnZpY2Uuc2hvdyh0aGlzLmRhdGV0aW1lcGlja2VyVGVtcGxhdGUsIHtcbiAgICAgICAgICAgIGFuaW1hdGVkOiB0cnVlLFxuICAgICAgICAgICAgYmFja2Ryb3A6ICdzdGF0aWMnLFxuICAgICAgICAgICAgY2xhc3M6ICdkYXRlLXBpY2tlci1tb2RhbCBtb2RhbC1kaWFsb2ctY2VudGVyZWQnXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5oaWRlT25DbGljaygpfSwgNTAwKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkVmFsdWUgPSBudWxsO1xuICAgICAgICB0aGlzLnRyaWdnZXJDaGFuZ2UoKTtcbiAgICAgICAgdGhpcy5oaWRlTW9kYWwoKTtcbiAgICB9XG5cbiAgICBzZXRUb2RheSgpIHtcbiAgICAgICAgY29uc3QgdG9kYXkgPSBtb21lbnQoKS5zdGFydE9mKCdkYXknKS50b0RhdGUoKTtcbiAgICAgICAgdGhpcy5vbkRhdGVVcGRhdGUodG9kYXkpO1xuICAgIH1cblxuICAgIHJlc2V0KCkge1xuICAgICAgICB0aGlzLmNoYW5nZWRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgIH1cblxuICAgIGhpZGVNb2RhbCgpIHtcbiAgICAgICAgaWYgKHRoaXMubW9kYWxSZWY/LmlkKSB7XG4gICAgICAgICAgICB0aGlzLmJzTW9kYWxTZXJ2aWNlLmhpZGUodGhpcy5tb2RhbFJlZi5pZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkNhbmNlbENsaWNrKCkge1xuICAgICAgICB0aGlzLmNoYW5nZWRWYWx1ZSA9IHRoaXMuX3ZhbHVlO1xuICAgICAgICB0aGlzLmhpZGVNb2RhbCgpO1xuICAgIH1cblxuICAgIG9uT2tDbGljaygpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGVTZWxlY3RlZERhdGUoKSkge1xuICAgICAgICAgICAgdGhpcy50cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5oaWRlTW9kYWwoKTtcbiAgICB9XG5cbiAgICB0cmlnZ2VyQ2hhbmdlKCkge1xuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPT0gdGhpcy5jaGFuZ2VkVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5jaGFuZ2VkVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZU1vZGFsKCk7XG4gICAgfVxuXG59XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd3bS10aW1lcGlja2VyJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8d20tcGlja2VyZ3JvdXA+XG4gICAgICAgICAgICA8d20tcGlja2VyXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucy5ob3VyXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJob3VyXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldCgkZXZlbnQsICdIT1VSJylcIj48L3dtLXBpY2tlcj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLXRpbWUtc2VwYXJhdG9yXCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgIDx3bS1waWNrZXJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zLm1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwibWludXRlXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldCgkZXZlbnQsICdNSU5VVEUnKVwiPjwvd20tcGlja2VyPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhcHAtdGltZS1zZXBhcmF0b3JcIj46PC9zcGFuPlxuICAgICAgICAgICAgPHdtLXBpY2tlclxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnMubWludXRlXCJcbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRWYWx1ZV09XCJzZWNvbmRcIlxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwic2V0KCRldmVudCwgJ1NFQ09ORCcpXCI+PC93bS1waWNrZXI+XG4gICAgICAgIDwvd20tcGlja2VyZ3JvdXA+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICBvcHRpb25zID0ge1xuICAgICAgICBob3VyOiBbXSxcbiAgICAgICAgbWludXRlOiBbXSxcbiAgICAgICAgc2Vjb25kOiBbXSxcbiAgICAgICAgbWVyaWRpYW46IFsnQU0nLCAnUE0nXVxuICAgIH07XG5cbiAgICBASW5wdXQoKVxuICAgIHByaXZhdGUgdmFsdWUgPSBuZXcgRGF0ZSgpO1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIG1pbjogRGF0ZSA9IG51bGw7XG5cbiAgICBASW5wdXQoKVxuICAgIHByaXZhdGUgbWF4OiBEYXRlID0gbnVsbDtcblxuICAgIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJvdGVjdGVkIGluajogSW5qZWN0b3IpIHtcbiAgICAgICAgdGhpcy5vcHRpb25zLmhvdXIgPSB0aGlzLnBvcHVsYXRlTnVtYmVycygwLCAyMyk7XG4gICAgICAgIHRoaXMub3B0aW9ucy5taW51dGUgPSB0aGlzLnBvcHVsYXRlTnVtYmVycygwLCA1OSk7XG4gICAgICAgIHRoaXMub3B0aW9ucy5zZWNvbmQgPSB0aGlzLnBvcHVsYXRlTnVtYmVycygwLCA1OSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3B1bGF0ZU51bWJlcnMoc3RhcnQ6IG51bWJlciwgdG86IG51bWJlcikge1xuICAgICAgICBjb25zdCBhcnIgPSBbXTtcbiAgICAgICAgZm9yKGxldCBpID0gc3RhcnQ7IGkgPD0gdG87IGkrKykge1xuICAgICAgICAgICAgYXJyLnB1c2goe1xuICAgICAgICAgICAgICAgIGxhYmVsOiAoaSA8IDEwID8gJzAnIDogJycpICsgaSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYXJyO1xuICAgIH1cblxuICAgIHNldCh7aW5kZXgsIHZhbHVlfSwgdW5pdDogJ0hPVVInIHwgJ01JTlVURScgfCAnU0VDT05EJyB8ICdNRVJJRElBTicpIHtcbiAgICAgICAgaWYgKHVuaXQgPT09ICdIT1VSJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG1vbWVudCh0aGlzLnZhbHVlKS5ob3VyKHBhcnNlSW50KHZhbHVlKSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodW5pdCA9PT0gJ01JTlVURScpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtb21lbnQodGhpcy52YWx1ZSkubWludXRlKHBhcnNlSW50KHZhbHVlKSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodW5pdCA9PT0gJ1NFQ09ORCcpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtb21lbnQodGhpcy52YWx1ZSkuc2Vjb25kKHBhcnNlSW50KHZhbHVlKSkudG9EYXRlKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodW5pdCA9PT0gJ01FUklESUFOJykge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IG1vbWVudCh0aGlzLnZhbHVlKS5taW51dGUodmFsdWUpLnRvRGF0ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1pbiAmJiB0aGlzLnZhbHVlIDwgdGhpcy5taW4pIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm1pbjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5tYXggJiYgdGhpcy52YWx1ZSA+IHRoaXMubWF4KSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tYXg7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG5cbiAgICBnZXQgaG91cigpIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnZhbHVlKS5ob3VyKCk7XG4gICAgfVxuXG4gICAgZ2V0IG1pbnV0ZSgpIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnZhbHVlKS5taW51dGUoKTtcbiAgICB9XG5cbiAgICBnZXQgc2Vjb25kKCkge1xuICAgICAgICByZXR1cm4gbW9tZW50KHRoaXMudmFsdWUpLnNlY29uZCgpO1xuICAgIH1cblxuICAgIGdldCBtZXJpZGlhbigpIHtcbiAgICAgICAgcmV0dXJuICdBTSc7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGF0ZVVwZGF0ZShuZXdWYWwpIHtcbiAgICAgICAgZGVidWdnZXI7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuXG4gICAgfVxuXG59XG4iXX0=
|
|
463
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimePickerComponent, { className: "TimePickerComponent", filePath: "date-time/date-time-picker.component.ts", lineNumber: 311 }); })();
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3dpZGdldHMvaW5wdXQvZXBvY2gvc3JjL2RhdGUtdGltZS9kYXRlLXRpbWUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBYyxZQUFZLEVBQVUsUUFBUSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0osT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDOUQsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDL0IsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7SUFlckIsZ0RBTUc7SUFERCw4T0FBaUIsMkJBQW9CLEtBQUM7SUFFeEMsaUJBQXVCOzs7SUFIckIsQUFGQSxBQURBLG9EQUErQixnREFDUyxnQ0FFaEI7Ozs7SUFNMUIseUNBS0M7SUFEQyx5TkFBVSwyQkFBb0IsS0FBQztJQUNoQyxpQkFBZ0I7OztJQUZmLEFBREEsQUFEQSwyQ0FBc0IsdUJBQ1AsdUJBQ0E7Ozs7SUFVakIsa0NBRXFCO0lBQXJCLDBNQUFTLGlCQUFVLEtBQUM7SUFBQyxZQUEwQztJQUFBLGlCQUFTOzs7SUFBbkQsY0FBMEM7SUFBMUMsa0VBQTBDOzs7O0lBRy9ELGtDQUVzQjtJQUF0QiwwTUFBUyxrQkFBVyxLQUFDO0lBQUMsWUFBK0I7SUFBQSxpQkFBUzs7O0lBQXhDLGNBQStCO0lBQS9CLHVEQUErQjs7OztJQW5DekQsQUFERiw4QkFBaUMsYUFDUDtJQUN0Qix5QkFFTTtJQVdOLEFBVkEsK0dBQStDLDJGQVVBO0lB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SUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckUsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDckUsQ0FBQzthQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDM0QsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDMUIsQ0FBQztRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ0osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksTUFBTTtRQUNOLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFlBQVksQ0FBQyxNQUFNO1FBQ3RCLFFBQVEsQ0FBQztJQUNiLENBQUM7SUFFRCxlQUFlO0lBRWYsQ0FBQztvSEEvRVEsbUJBQW1CO29FQUFuQixtQkFBbUI7WUFqQnBCLEFBREosc0NBQWdCLG1CQUl1QjtZQUEvQiwyR0FBVSxnQkFBWSxNQUFNLENBQUMsSUFBQztZQUFDLGlCQUFZO1lBQy9DLCtCQUFpQztZQUFBLGlCQUFDO1lBQUEsaUJBQU87WUFDekMsb0NBR3FDO1lBQWpDLDJHQUFVLGdCQUFZLFFBQVEsQ0FBQyxJQUFDO1lBQUMsaUJBQVk7WUFDakQsK0JBQWlDO1lBQUEsaUJBQUM7WUFBQSxpQkFBTztZQUN6QyxvQ0FHcUM7WUFBakMsMkdBQVUsZ0JBQVksUUFBUSxDQUFDLElBQUM7WUFDeEMsQUFEeUMsaUJBQVksRUFDcEM7O1lBYlQsY0FBd0I7WUFDeEIsQUFEQSwwQ0FBd0IsMkJBQ0Y7WUFJdEIsZUFBMEI7WUFDMUIsQUFEQSw0Q0FBMEIsNkJBQ0Y7WUFJeEIsZUFBMEI7WUFDMUIsQUFEQSw0Q0FBMEIsNkJBQ0Y7OztpRkFLM0IsbUJBQW1CO2NBckIvQixTQUFTO2VBQUM7Z0JBQ1AsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpQlQ7YUFDSjt5Q0FXVyxLQUFLO2tCQURaLEtBQUs7WUFJRSxHQUFHO2tCQURWLEtBQUs7WUFJRSxHQUFHO2tCQURWLEtBQUs7WUFHSSxNQUFNO2tCQUFmLE1BQU07O2tGQWxCRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbmplY3RvciwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBPdXRwdXQsIFRlbXBsYXRlUmVmLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJzRGF0ZXBpY2tlckNvbmZpZyB9IGZyb20gJ25neC1ib290c3RyYXAvZGF0ZXBpY2tlcic7XG5pbXBvcnQgeyBCc01vZGFsUmVmLCBCc01vZGFsU2VydmljZSB9IGZyb20gJ25neC1ib290c3RyYXAvbW9kYWwnO1xuaW1wb3J0IHsgQXBwIH0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHtmaWx0ZXJ9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuZGVjbGFyZSBjb25zdCBtb21lbnQ7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd20tZGF0ZXRpbWVwaWNrZXInLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgPG5nLXRlbXBsYXRlICNkYXRldGltZXBpY2tlclRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImFwcC1kYXRldGltZS1waWNrZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9iaWxlLWRhdGV0aW1lLXBpY2tlci1vcHRpb25zXCI+XG4gICAgXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgQGlmIChtb2RlID09PSAnREFURV9USU1FJyB8fCBtb2RlID09PSAnREFURScpIHtcbiAgICAgICAgICAgIDxicy1kYXRlcGlja2VyLWlubGluZVxuICAgICAgICAgICAgICBbYnNDb25maWddPVwiYnNEYXRlcGlja2VyQ29uZmlnXCJcbiAgICAgICAgICAgICAgW2RhdGVzRGlzYWJsZWRdPVwiZXhjbHVkZWREYXRlc1RvRGlzYWJsZVwiXG4gICAgICAgICAgICAgIGJzRGF0ZXBpY2tlclxuICAgICAgICAgICAgICBbYnNWYWx1ZV09XCJjaGFuZ2VkVmFsdWVcIlxuICAgICAgICAgICAgICAoYnNWYWx1ZUNoYW5nZSk9XCJvbkRhdGVVcGRhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvYnMtZGF0ZXBpY2tlci1pbmxpbmU+XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiAobW9kZSA9PT0gJ0RBVEVfVElNRScgfHwgbW9kZSA9PT0gJ1RJTUUnKSB7XG4gICAgICAgICAgICA8d20tdGltZXBpY2tlclxuICAgICAgICAgICAgICBbdmFsdWVdPVwiY2hhbmdlZFZhbHVlXCJcbiAgICAgICAgICAgICAgW21pbl09XCJtaW5UaW1lXCJcbiAgICAgICAgICAgICAgW21heF09XCJtYXhUaW1lXCJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJvblRpbWVVcGRhdGUoJGV2ZW50KVwiXG4gICAgICAgICAgICA+PC93bS10aW1lcGlja2VyPlxuICAgICAgICAgIH1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBkYXRlLXBpY2tlci12YWx1ZVwiPlxuICAgICAgICAgICAge3tnZXREYXRlTGFiZWwoKX19XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgICAgICAgIEBpZiAobW9kZSA9PT0gJ0RBVEVfVElNRScgfHwgbW9kZSA9PT0gJ0RBVEUnKSB7XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgdG9kYXktYnRuXCJcbiAgICAgICAgICAgIChjbGljayk9XCJzZXRUb2RheSgpXCI+e3thcHBMb2NhbGUuTEFCRUxfVE9EQVlfREFURSB8fCBcIlRvZGF5XCIgfX08L2J1dHRvbj5cbiAgICAgICAgICB9XG4gICAgICAgICAgQGlmIChtb2RlID09PSAnREFURV9USU1FJyB8fCBtb2RlID09PSAnVElNRScpIHtcbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgcHVsbC1yaWdodCBvay1idG5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uT2tDbGljaygpXCI+e3thcHBMb2NhbGUuTEFCRUxfT0sgfHwgXCJPa1wiIH19PC9idXR0b24+XG4gICAgICAgICAgfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnkgcHVsbC1yaWdodCBjbGVhci1idG5cIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhcigpXCI+e3thcHBMb2NhbGUuTEFCRUxfQ0xFQVJfREFURSB8fCBcIkNsZWFyXCIgfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgRGF0ZVRpbWVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgcHJpdmF0ZSBpc0RhdGVPcGVuID0gdHJ1ZTtcblxuICAgIHByaXZhdGUgaXNUaW1lT3BlbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBhcHBMb2NhbGU6IGFueTtcblxuICAgIEBWaWV3Q2hpbGQoJ2RhdGV0aW1lcGlja2VyVGVtcGxhdGUnICwgeyBzdGF0aWM6IHRydWUgfSkgZGF0ZXRpbWVwaWNrZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJpdmF0ZSBtb2RlOiAnREFURScgfCAnVElNRScgfCAnREFURV9USU1FJyA9ICdEQVRFX1RJTUUnO1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIHBsYWNlbWVudDogJ01PREFMJyB8ICdJTkxJTkUnID0gJ01PREFMJztcblxuICAgIEBJbnB1dChcImNvbmZpZ1wiKVxuICAgIHByaXZhdGUgX2JzRGF0ZXBpY2tlckNvbmZpZzogQnNEYXRlcGlja2VyQ29uZmlnO1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIG1pblRpbWU6IERhdGU7XG5cbiAgICBASW5wdXQoKVxuICAgIHByaXZhdGUgbWF4VGltZTogRGF0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJpdmF0ZSBfZGlzcGxheUZvcm1hdDogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIGNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcblxuICAgIHByaXZhdGUgX3ZhbHVlID0gbmV3IERhdGUoKTtcblxuICAgIHByaXZhdGUgY2hhbmdlZFZhbHVlID0gbnVsbDtcblxuICAgIHByaXZhdGUgbW9kYWxSZWY6IEJzTW9kYWxSZWY7XG5cbiAgICBASW5wdXQoKVxuICAgIHByaXZhdGUgZXhjbHVkZWREYXRlc1RvRGlzYWJsZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgaW5qOiBJbmplY3RvcixcbiAgICAgICAgcHJpdmF0ZSBic01vZGFsU2VydmljZTogQnNNb2RhbFNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5hcHBMb2NhbGUgPSBpbmouZ2V0KEFwcCkuYXBwTG9jYWxlIHx8IHt9O1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKGQ6IERhdGUpIHtcbiAgICAgICAgZCA9IGQgfHwgbmV3IERhdGUoKTtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSBkO1xuICAgICAgICB0aGlzLmNoYW5nZWRWYWx1ZSA9IGQ7XG4gICAgfVxuXG5cbiAgICBASW5wdXQoXCJjb25maWdcIilcbiAgICBzZXQgYnNEYXRlcGlja2VyQ29uZmlnKGNvbmZpZzogQnNEYXRlcGlja2VyQ29uZmlnKSB7XG4gICAgICAgIHRoaXMuX2JzRGF0ZXBpY2tlckNvbmZpZyA9IGNvbmZpZztcbiAgICAgICAgdGhpcy5fYnNEYXRlcGlja2VyQ29uZmlnLnNob3dDbGVhckJ1dHRvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9ic0RhdGVwaWNrZXJDb25maWcuc2hvd1RvZGF5QnV0dG9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZXhjbHVkZWREYXlzVG9EaXNhYmxlKHY6IG51bWJlcltdKSB7XG4gICAgICAgIHRoaXMuX2JzRGF0ZXBpY2tlckNvbmZpZy5kYXlzRGlzYWJsZWQgPSB2O1xuICAgIH1cblxuICAgIGdldCBic0RhdGVwaWNrZXJDb25maWcoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ic0RhdGVwaWNrZXJDb25maWc7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGlzcGxheUZvcm1hdChmb3JtYXQ6IHN0cmluZykge1xuICAgICAgICBpZiAoZm9ybWF0KSB7XG4gICAgICAgICAgICB0aGlzLl9kaXNwbGF5Rm9ybWF0ID0gZm9ybWF0LnJlcGxhY2UoL3kvZywgXCJZXCIpLnJlcGxhY2UoL2QvZywgXCJEXCIpLnJlcGxhY2UoXCJhXCIsIFwiQVwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhbGlkYXRlU2VsZWN0ZWREYXRlKCkge1xuICAgICAgICBpZiAoIXRoaXMuY2hhbmdlZFZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZCA9IG1vbWVudCh0aGlzLmNoYW5nZWRWYWx1ZSk7XG4gICAgICAgIGNvbnN0IG1pbkRhdGUgPSB0aGlzLl9ic0RhdGVwaWNrZXJDb25maWc/Lm1pbkRhdGU7XG4gICAgICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLl9ic0RhdGVwaWNrZXJDb25maWc/Lm1heERhdGU7XG4gICAgICAgIGlmIChtaW5EYXRlXG4gICAgICAgICAgICAmJiAoKHRoaXMubW9kZSA9PT0gJ0RBVEUnXG4gICAgICAgICAgICAgICAgICAgICYmIG1vbWVudChtaW5EYXRlKS5zdGFydE9mKCdkYXknKS50b0RhdGUoKSA+IHRoaXMuY2hhbmdlZFZhbHVlKVxuICAgICAgICAgICAgICAgIHx8ICh0aGlzLm1vZGUgIT09ICdEQVRFJ1xuICAgICAgICAgICAgICAgICAgICAmJiBtaW5EYXRlID4gdGhpcy5jaGFuZ2VkVmFsdWUpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXhEYXRlXG4gICAgICAgICAgICAmJiAoKHRoaXMubW9kZSA9PT0gJ0RBVEUnXG4gICAgICAgICAgICAgICAgICAgICYmIG1vbWVudChtYXhEYXRlKS5lbmRPZignZGF5JykudG9EYXRlKCkgPCB0aGlzLmNoYW5nZWRWYWx1ZSlcbiAgICAgICAgICAgICAgICB8fCAodGhpcy5tb2RlICE9PSAnREFURSdcbiAgICAgICAgICAgICAgICAgICAgJiYgbWF4RGF0ZSA8IHRoaXMuY2hhbmdlZFZhbHVlKSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fYnNEYXRlcGlja2VyQ29uZmlnPy5kYXlzRGlzYWJsZWQ/LmluZGV4T2YoY2QuZGF5KCkpID49IDApIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjZFN0ID0gY2Quc3RhcnRPZignZGF5JykudG9EYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgICBpZiAodGhpcy5leGNsdWRlZERhdGVzVG9EaXNhYmxlPy5maW5kKGQgPT4gZC5nZXRUaW1lKCkgPT09IGNkU3QpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgZ2V0IGRpc3BsYXlGb3JtYXQoKSB7XG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5Rm9ybWF0KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fZGlzcGxheUZvcm1hdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBUaGlzIG1ldGhvZCBpcyB1c2VkIHRvIGhpZ2hsaWdodCB0aGUgY3VycmVudCBkYXRlXG4gICAgICovXG4gICAgcHJpdmF0ZSBoaWdodGxpZ2h0VG9kYXkoKSB7XG4gICAgICAgIGNvbnN0IHRvRGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCkudG9TdHJpbmcoKTtcbiAgICAgICAgZmlsdGVyKCQoYGJvZHkgPiBtb2RhbC1jb250YWluZXIgLmRhdGUtcGlja2VyLW1vZGFsIHNwYW46Y29udGFpbnMoJHt0b0RheX0pYClcbiAgICAgICAgICAgIC5ub3QoJy5pcy1vdGhlci1tb250aCwuY3VycmVudC1kYXRlJyksIChvYmopID0+IHtcbiAgICAgICAgICAgIGlmICgkKG9iaikudGV4dCgpID09PSB0b0RheSkge1xuICAgICAgICAgICAgICAgICQob2JqKS5hZGRDbGFzcygnY3VycmVudC1kYXRlIHRleHQtaW5mbycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVPbkNsaWNrKCkge1xuICAgICAgICAkKCdib2R5Pm1vZGFsLWNvbnRhaW5lciAuZGF0ZS1waWNrZXItbW9kYWwgLmFwcC1kYXRldGltZS1waWNrZXInKVxuICAgICAgICAgICAgLmNsaWNrKCgkZXZlbnQpID0+ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKSk7XG4gICAgICAgICQoJ2JvZHk+bW9kYWwtY29udGFpbmVyIC5kYXRlLXBpY2tlci1tb2RhbCcpLmNsaWNrKCgpID0+IHRoaXMub25DYW5jZWxDbGljaygpKTtcbiAgICB9XG5cbiAgICBnZXREYXRlTGFiZWwoKSB7XG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy5jaGFuZ2VkVmFsdWUpLmZvcm1hdCh0aGlzLmRpc3BsYXlGb3JtYXQpO1xuICAgIH1cblxuICAgIG9wZW5EYXRlUGlja2VyKCkge1xuICAgICAgICB0aGlzLmlzVGltZU9wZW4gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0RhdGVPcGVuID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBvcGVuVGltZVBpY2tlcigpIHtcbiAgICAgICAgdGhpcy5pc1RpbWVPcGVuID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5pc0RhdGVPcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRGF0ZVVwZGF0ZShuZXdWYWwpIHtcbiAgICAgICAgY29uc3Qgb2xkVmFsID0gdGhpcy5jaGFuZ2VkVmFsdWU7XG4gICAgICAgICBpZiAodGhpcy5tb2RlID09PSAnREFURScpIHtcbiAgICAgICAgICAgIG5ld1ZhbC5zZXRIb3VycygwKTtcbiAgICAgICAgICAgIG5ld1ZhbC5zZXRNaW51dGVzKDApO1xuICAgICAgICAgICAgbmV3VmFsLnNldFNlY29uZHMoMCk7XG4gICAgICAgICAgICBuZXdWYWwuc2V0TWlsbGlzZWNvbmRzKDApO1xuICAgICAgICB9IGVsc2UgaWYgKG9sZFZhbCAmJiBuZXdWYWwpIHtcbiAgICAgICAgICAgIG5ld1ZhbC5zZXRIb3VycyhvbGRWYWwuZ2V0SG91cnMoKSk7XG4gICAgICAgICAgICBuZXdWYWwuc2V0TWludXRlcyhvbGRWYWwuZ2V0TWludXRlcygpKTtcbiAgICAgICAgICAgIG5ld1ZhbC5zZXRTZWNvbmRzKG9sZFZhbC5nZXRTZWNvbmRzKCkpO1xuICAgICAgICAgICAgbmV3VmFsLnNldE1pbGxpc2Vjb25kcyhvbGRWYWwuZ2V0TWlsbGlzZWNvbmRzKCkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlZFZhbHVlID0gbmV3VmFsO1xuICAgICAgICBpZiAodGhpcy5tb2RlID09PSAnREFURSdcbiAgICAgICAgICAgICYmIG9sZFZhbCAhPT0gbmV3VmFsXG4gICAgICAgICAgICAmJiB0aGlzLnZhbGlkYXRlU2VsZWN0ZWREYXRlKCkpIHtcbiAgICAgICAgICAgIHRoaXMub25Pa0NsaWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgb25UaW1lVXBkYXRlKG5ld1ZhbCkge1xuICAgICAgICB0aGlzLmNoYW5nZWRWYWx1ZSA9IG5ld1ZhbDtcbiAgICB9XG5cbiAgICBzaG93KCkge1xuICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIHRoaXMubW9kYWxSZWYgPSB0aGlzLmJzTW9kYWxTZXJ2aWNlLnNob3codGhpcy5kYXRldGltZXBpY2tlclRlbXBsYXRlLCB7XG4gICAgICAgICAgICBhbmltYXRlZDogdHJ1ZSxcbiAgICAgICAgICAgIGJhY2tkcm9wOiAnc3RhdGljJyxcbiAgICAgICAgICAgIGNsYXNzOiAnZGF0ZS1waWNrZXItbW9kYWwgbW9kYWwtZGlhbG9nLWNlbnRlcmVkJ1xuICAgICAgICB9KTtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7IHRoaXMuaGlkZU9uQ2xpY2soKX0sIDUwMCk7XG4gICAgfVxuXG4gICAgY2xlYXIoKSB7XG4gICAgICAgIHRoaXMuY2hhbmdlZFZhbHVlID0gbnVsbDtcbiAgICAgICAgdGhpcy50cmlnZ2VyQ2hhbmdlKCk7XG4gICAgICAgIHRoaXMuaGlkZU1vZGFsKCk7XG4gICAgfVxuXG4gICAgc2V0VG9kYXkoKSB7XG4gICAgICAgIGNvbnN0IHRvZGF5ID0gbW9tZW50KCkuc3RhcnRPZignZGF5JykudG9EYXRlKCk7XG4gICAgICAgIHRoaXMub25EYXRlVXBkYXRlKHRvZGF5KTtcbiAgICB9XG5cbiAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICB9XG5cbiAgICBoaWRlTW9kYWwoKSB7XG4gICAgICAgIGlmICh0aGlzLm1vZGFsUmVmPy5pZCkge1xuICAgICAgICAgICAgdGhpcy5ic01vZGFsU2VydmljZS5oaWRlKHRoaXMubW9kYWxSZWYuaWQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DYW5jZWxDbGljaygpIHtcbiAgICAgICAgdGhpcy5jaGFuZ2VkVmFsdWUgPSB0aGlzLl92YWx1ZTtcbiAgICAgICAgdGhpcy5oaWRlTW9kYWwoKTtcbiAgICB9XG5cbiAgICBvbk9rQ2xpY2soKSB7XG4gICAgICAgIGlmICh0aGlzLnZhbGlkYXRlU2VsZWN0ZWREYXRlKCkpIHtcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlckNoYW5nZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGlkZU1vZGFsKCk7XG4gICAgfVxuXG4gICAgdHJpZ2dlckNoYW5nZSgpIHtcbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT09IHRoaXMuY2hhbmdlZFZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuY2hhbmdlZFZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZGVNb2RhbCgpO1xuICAgIH1cblxufVxuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnd20tdGltZXBpY2tlcicsXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPHdtLXBpY2tlcmdyb3VwPlxuICAgICAgICAgICAgPHdtLXBpY2tlclxuICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIm9wdGlvbnMuaG91clwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwiaG91clwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXQoJGV2ZW50LCAnSE9VUicpXCI+PC93bS1waWNrZXI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFwcC10aW1lLXNlcGFyYXRvclwiPjo8L3NwYW4+XG4gICAgICAgICAgICA8d20tcGlja2VyXG4gICAgICAgICAgICAgICAgW29wdGlvbnNdPVwib3B0aW9ucy5taW51dGVcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZFZhbHVlXT1cIm1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZXQoJGV2ZW50LCAnTUlOVVRFJylcIj48L3dtLXBpY2tlcj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYXBwLXRpbWUtc2VwYXJhdG9yXCI+Ojwvc3Bhbj5cbiAgICAgICAgICAgIDx3bS1waWNrZXJcbiAgICAgICAgICAgICAgICBbb3B0aW9uc109XCJvcHRpb25zLm1pbnV0ZVwiXG4gICAgICAgICAgICAgICAgW3NlbGVjdGVkVmFsdWVdPVwic2Vjb25kXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInNldCgkZXZlbnQsICdTRUNPTkQnKVwiPjwvd20tcGlja2VyPlxuICAgICAgICA8L3dtLXBpY2tlcmdyb3VwPlxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgVGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuXG4gICAgb3B0aW9ucyA9IHtcbiAgICAgICAgaG91cjogW10sXG4gICAgICAgIG1pbnV0ZTogW10sXG4gICAgICAgIHNlY29uZDogW10sXG4gICAgICAgIG1lcmlkaWFuOiBbJ0FNJywgJ1BNJ11cbiAgICB9O1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIHZhbHVlID0gbmV3IERhdGUoKTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHJpdmF0ZSBtaW46IERhdGUgPSBudWxsO1xuXG4gICAgQElucHV0KClcbiAgICBwcml2YXRlIG1heDogRGF0ZSA9IG51bGw7XG5cbiAgICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBpbmo6IEluamVjdG9yKSB7XG4gICAgICAgIHRoaXMub3B0aW9ucy5ob3VyID0gdGhpcy5wb3B1bGF0ZU51bWJlcnMoMCwgMjMpO1xuICAgICAgICB0aGlzLm9wdGlvbnMubWludXRlID0gdGhpcy5wb3B1bGF0ZU51bWJlcnMoMCwgNTkpO1xuICAgICAgICB0aGlzLm9wdGlvbnMuc2Vjb25kID0gdGhpcy5wb3B1bGF0ZU51bWJlcnMoMCwgNTkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcG9wdWxhdGVOdW1iZXJzKHN0YXJ0OiBudW1iZXIsIHRvOiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgYXJyID0gW107XG4gICAgICAgIGZvcihsZXQgaSA9IHN0YXJ0OyBpIDw9IHRvOyBpKyspIHtcbiAgICAgICAgICAgIGFyci5wdXNoKHtcbiAgICAgICAgICAgICAgICBsYWJlbDogKGkgPCAxMCA/ICcwJyA6ICcnKSArIGksXG4gICAgICAgICAgICAgICAgdmFsdWU6IGlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFycjtcbiAgICB9XG5cbiAgICBzZXQoe2luZGV4LCB2YWx1ZX0sIHVuaXQ6ICdIT1VSJyB8ICdNSU5VVEUnIHwgJ1NFQ09ORCcgfCAnTUVSSURJQU4nKSB7XG4gICAgICAgIGlmICh1bml0ID09PSAnSE9VUicpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtb21lbnQodGhpcy52YWx1ZSkuaG91cihwYXJzZUludCh2YWx1ZSkpLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHVuaXQgPT09ICdNSU5VVEUnKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbW9tZW50KHRoaXMudmFsdWUpLm1pbnV0ZShwYXJzZUludCh2YWx1ZSkpLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHVuaXQgPT09ICdTRUNPTkQnKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gbW9tZW50KHRoaXMudmFsdWUpLnNlY29uZChwYXJzZUludCh2YWx1ZSkpLnRvRGF0ZSgpO1xuICAgICAgICB9IGVsc2UgaWYgKHVuaXQgPT09ICdNRVJJRElBTicpIHtcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBtb21lbnQodGhpcy52YWx1ZSkubWludXRlKHZhbHVlKS50b0RhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5taW4gJiYgdGhpcy52YWx1ZSA8IHRoaXMubWluKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5taW47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWF4ICYmIHRoaXMudmFsdWUgPiB0aGlzLm1heCkge1xuICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHRoaXMubWF4O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgfVxuXG4gICAgZ2V0IGhvdXIoKSB7XG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy52YWx1ZSkuaG91cigpO1xuICAgIH1cblxuICAgIGdldCBtaW51dGUoKSB7XG4gICAgICAgIHJldHVybiBtb21lbnQodGhpcy52YWx1ZSkubWludXRlKCk7XG4gICAgfVxuXG4gICAgZ2V0IHNlY29uZCgpIHtcbiAgICAgICAgcmV0dXJuIG1vbWVudCh0aGlzLnZhbHVlKS5zZWNvbmQoKTtcbiAgICB9XG5cbiAgICBnZXQgbWVyaWRpYW4oKSB7XG4gICAgICAgIHJldHVybiAnQU0nO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkRhdGVVcGRhdGUobmV3VmFsKSB7XG4gICAgICAgIGRlYnVnZ2VyO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcblxuICAgIH1cblxufVxuIl19
|