@po-ui/ng-components 18.19.0 → 18.19.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.
Files changed (44) hide show
  1. package/esm2022/lib/components/po-field/po-combo/po-combo.component.mjs +41 -41
  2. package/esm2022/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.mjs +23 -23
  3. package/esm2022/lib/components/po-field/po-lookup/po-lookup.component.mjs +38 -47
  4. package/esm2022/lib/po.module.mjs +3 -12
  5. package/esm2022/lib/services/po-theme/enum/po-theme-type.enum.mjs +1 -4
  6. package/esm2022/lib/services/po-theme/helpers/po-theme-dark-defaults.constant.mjs +203 -0
  7. package/esm2022/lib/services/po-theme/helpers/po-theme-light-defaults.constant.mjs +134 -0
  8. package/esm2022/lib/services/po-theme/helpers/po-theme-poui.constant.mjs +13 -29
  9. package/esm2022/lib/services/po-theme/index.mjs +4 -7
  10. package/esm2022/lib/services/po-theme/interfaces/po-theme.interface.mjs +1 -1
  11. package/esm2022/lib/services/po-theme/po-theme.service.mjs +32 -216
  12. package/fesm2022/po-ui-ng-components.mjs +555 -816
  13. package/fesm2022/po-ui-ng-components.mjs.map +1 -1
  14. package/lib/po.module.d.ts +0 -3
  15. package/lib/services/po-theme/enum/po-theme-type.enum.d.ts +0 -3
  16. package/lib/services/po-theme/helpers/{types/po-theme-dark-defaults.constant.d.ts → po-theme-dark-defaults.constant.d.ts} +11 -4
  17. package/lib/services/po-theme/helpers/po-theme-light-defaults.constant.d.ts +41 -0
  18. package/lib/services/po-theme/helpers/po-theme-poui.constant.d.ts +1 -5
  19. package/lib/services/po-theme/index.d.ts +3 -6
  20. package/lib/services/po-theme/interfaces/po-theme.interface.d.ts +5 -18
  21. package/lib/services/po-theme/po-theme.service.d.ts +10 -90
  22. package/package.json +4 -4
  23. package/po-ui-ng-components-18.19.1.tgz +0 -0
  24. package/schematics/ng-add/index.js +1 -1
  25. package/schematics/ng-update/v14/index.js +1 -1
  26. package/schematics/ng-update/v15/index.js +1 -1
  27. package/schematics/ng-update/v16/index.js +1 -1
  28. package/schematics/ng-update/v17/index.js +1 -1
  29. package/schematics/ng-update/v18/index.js +2 -2
  30. package/schematics/ng-update/v2/index.js +1 -1
  31. package/schematics/ng-update/v3/index.js +1 -1
  32. package/schematics/ng-update/v4/index.js +1 -1
  33. package/schematics/ng-update/v5/index.js +1 -1
  34. package/schematics/ng-update/v6/index.js +1 -1
  35. package/esm2022/lib/services/po-theme/enum/po-theme-a11y.enum.mjs +0 -30
  36. package/esm2022/lib/services/po-theme/helpers/accessibilities/po-theme-default-aa.constant.mjs +0 -14
  37. package/esm2022/lib/services/po-theme/helpers/accessibilities/po-theme-default-aaa.constant.mjs +0 -18
  38. package/esm2022/lib/services/po-theme/helpers/types/po-theme-dark-defaults.constant.mjs +0 -210
  39. package/esm2022/lib/services/po-theme/helpers/types/po-theme-light-defaults.constant.mjs +0 -114
  40. package/lib/services/po-theme/enum/po-theme-a11y.enum.d.ts +0 -28
  41. package/lib/services/po-theme/helpers/accessibilities/po-theme-default-aa.constant.d.ts +0 -10
  42. package/lib/services/po-theme/helpers/accessibilities/po-theme-default-aaa.constant.d.ts +0 -14
  43. package/lib/services/po-theme/helpers/types/po-theme-light-defaults.constant.d.ts +0 -25
  44. package/po-ui-ng-components-18.19.0.tgz +0 -0
@@ -15,42 +15,38 @@ import * as i7 from "../po-field-container/po-field-container-bottom/po-field-co
15
15
  import * as i8 from "../po-field-container/po-field-container.component";
16
16
  import * as i9 from "../../po-icon/po-icon.component";
17
17
  const _c0 = ["inp"];
18
- function PoLookupComponent_div_1_po_clean_5_Template(rf, ctx) { if (rf & 1) {
18
+ function PoLookupComponent_div_1_button_4_Template(rf, ctx) { if (rf & 1) {
19
19
  const _r3 = i0.ɵɵgetCurrentView();
20
- i0.ɵɵelementStart(0, "po-clean", 13);
21
- i0.ɵɵlistener("p-change-event", function PoLookupComponent_div_1_po_clean_5_Template_po_clean_p_change_event_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cleanModel()); })("click", function PoLookupComponent_div_1_po_clean_5_Template_po_clean_click_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.cleanModel(); return i0.ɵɵresetView($event.preventDefault()); })("keydown.enter", function PoLookupComponent_div_1_po_clean_5_Template_po_clean_keydown_enter_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.cleanModel(); return i0.ɵɵresetView($event.preventDefault()); });
20
+ i0.ɵɵelementStart(0, "button", 12);
21
+ i0.ɵɵlistener("click", function PoLookupComponent_div_1_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cleanModel()); });
22
+ i0.ɵɵelement(1, "po-clean", 13);
22
23
  i0.ɵɵelementEnd();
23
24
  } if (rf & 2) {
24
- i0.ɵɵnextContext();
25
- const inp_r4 = i0.ɵɵreference(3);
26
- const ctx_r1 = i0.ɵɵnextContext();
27
- i0.ɵɵproperty("p-element-ref", inp_r4);
28
- i0.ɵɵattribute("aria-label", ctx_r1.literals.clean);
25
+ const ctx_r1 = i0.ɵɵnextContext(2);
26
+ i0.ɵɵproperty("ariaLabel", ctx_r1.literals.clean);
29
27
  } }
30
28
  function PoLookupComponent_div_1_Template(rf, ctx) { if (rf & 1) {
31
29
  const _r1 = i0.ɵɵgetCurrentView();
32
- i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "input", 8, 1);
33
- i0.ɵɵlistener("blur", function PoLookupComponent_div_1_Template_input_blur_2_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.searchEvent()); });
30
+ i0.ɵɵelementStart(0, "div", 6)(1, "input", 7, 1);
31
+ i0.ɵɵlistener("blur", function PoLookupComponent_div_1_Template_input_blur_1_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.searchEvent()); });
34
32
  i0.ɵɵelementEnd();
35
- i0.ɵɵelementStart(4, "div", 9);
36
- i0.ɵɵtemplate(5, PoLookupComponent_div_1_po_clean_5_Template, 1, 2, "po-clean", 10);
37
- i0.ɵɵelementStart(6, "div", 11, 2);
38
- i0.ɵɵlistener("p-change-event", function PoLookupComponent_div_1_Template_div_p_change_event_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLookup()); })("click", function PoLookupComponent_div_1_Template_div_click_6_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.openLookup(); return i0.ɵɵresetView($event.preventDefault()); })("keydown.enter", function PoLookupComponent_div_1_Template_div_keydown_enter_6_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.openLookup(); return i0.ɵɵresetView($event.preventDefault()); });
39
- i0.ɵɵelement(8, "po-icon", 12);
40
- i0.ɵɵelementEnd()()()();
33
+ i0.ɵɵelementStart(3, "div", 8);
34
+ i0.ɵɵtemplate(4, PoLookupComponent_div_1_button_4_Template, 2, 1, "button", 9);
35
+ i0.ɵɵelementStart(5, "button", 10, 2);
36
+ i0.ɵɵlistener("click", function PoLookupComponent_div_1_Template_button_click_5_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLookup()); });
37
+ i0.ɵɵelement(7, "po-icon", 11);
38
+ i0.ɵɵelementEnd()()();
41
39
  } if (rf & 2) {
42
- const inp_r4 = i0.ɵɵreference(3);
40
+ const inp_r4 = i0.ɵɵreference(2);
43
41
  const ctx_r1 = i0.ɵɵnextContext();
44
42
  i0.ɵɵclassProp("po-lookup-disabled", ctx_r1.disabled);
45
- i0.ɵɵadvance(2);
43
+ i0.ɵɵadvance();
46
44
  i0.ɵɵproperty("ngClass", ctx_r1.clean && inp_r4.value ? "po-input-double-icon-right" : "po-input-icon-right")("id", ctx_r1.id)("autocomplete", ctx_r1.autocomplete)("disabled", ctx_r1.disabled)("placeholder", ctx_r1.placeholder)("required", ctx_r1.required);
47
45
  i0.ɵɵadvance(3);
48
46
  i0.ɵɵproperty("ngIf", ctx_r1.clean && !ctx_r1.disabled && !!inp_r4.value);
49
47
  i0.ɵɵadvance();
50
- i0.ɵɵclassProp("po-field-icon-disabled", ctx_r1.disabled);
51
- i0.ɵɵproperty("ariaLabel", ctx_r1.literals.search);
52
- i0.ɵɵadvance(2);
53
- i0.ɵɵclassProp("po-field-icon", !ctx_r1.disabled);
48
+ i0.ɵɵclassProp("po-lookup-button-disabled", ctx_r1.disabled);
49
+ i0.ɵɵproperty("ariaLabel", ctx_r1.literals.search)("disabled", ctx_r1.disabled);
54
50
  } }
55
51
  function PoLookupComponent_ng_template_3_span_3_Template(rf, ctx) { if (rf & 1) {
56
52
  i0.ɵɵelementStart(0, "span", 18);
@@ -72,28 +68,26 @@ function PoLookupComponent_ng_template_3_po_disclaimer_4_Template(rf, ctx) { if
72
68
  i0.ɵɵclassProp("po-clickable", disclaimer_r7.value === "" && !ctx_r1.disabled);
73
69
  i0.ɵɵproperty("p-label", disclaimer_r7.label)("p-value", disclaimer_r7.value)("p-hide-close", disclaimer_r7.value === "" || ctx_r1.disabled);
74
70
  } }
75
- function PoLookupComponent_ng_template_3_po_clean_6_Template(rf, ctx) { if (rf & 1) {
71
+ function PoLookupComponent_ng_template_3_button_6_Template(rf, ctx) { if (rf & 1) {
76
72
  const _r8 = i0.ɵɵgetCurrentView();
77
- i0.ɵɵelementStart(0, "po-clean", 13);
78
- i0.ɵɵlistener("p-change-event", function PoLookupComponent_ng_template_3_po_clean_6_Template_po_clean_p_change_event_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cleanModel()); })("click", function PoLookupComponent_ng_template_3_po_clean_6_Template_po_clean_click_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.cleanModel(); return i0.ɵɵresetView($event.preventDefault()); })("keydown.enter", function PoLookupComponent_ng_template_3_po_clean_6_Template_po_clean_keydown_enter_0_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); ctx_r1.cleanModel(); return i0.ɵɵresetView($event.preventDefault()); });
73
+ i0.ɵɵelementStart(0, "button", 20);
74
+ i0.ɵɵlistener("click", function PoLookupComponent_ng_template_3_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.cleanModel()); });
75
+ i0.ɵɵelement(1, "po-clean", 13);
79
76
  i0.ɵɵelementEnd();
80
77
  } if (rf & 2) {
81
- i0.ɵɵnextContext();
82
- const inp_r9 = i0.ɵɵreference(2);
83
- const ctx_r1 = i0.ɵɵnextContext();
84
- i0.ɵɵproperty("p-element-ref", inp_r9);
85
- i0.ɵɵattribute("aria-label", ctx_r1.literals.clean);
78
+ const ctx_r1 = i0.ɵɵnextContext(2);
79
+ i0.ɵɵproperty("disabled", ctx_r1.disabled)("ariaLabel", ctx_r1.literals.clean);
86
80
  } }
87
81
  function PoLookupComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
88
82
  const _r5 = i0.ɵɵgetCurrentView();
89
- i0.ɵɵelementStart(0, "div", 14)(1, "div", 15, 1);
90
- i0.ɵɵtemplate(3, PoLookupComponent_ng_template_3_span_3_Template, 2, 1, "span", 16)(4, PoLookupComponent_ng_template_3_po_disclaimer_4_Template, 1, 5, "po-disclaimer", 17);
83
+ i0.ɵɵelementStart(0, "div", 6)(1, "div", 14, 1);
84
+ i0.ɵɵtemplate(3, PoLookupComponent_ng_template_3_span_3_Template, 2, 1, "span", 15)(4, PoLookupComponent_ng_template_3_po_disclaimer_4_Template, 1, 5, "po-disclaimer", 16);
91
85
  i0.ɵɵelementEnd();
92
- i0.ɵɵelementStart(5, "div", 9);
93
- i0.ɵɵtemplate(6, PoLookupComponent_ng_template_3_po_clean_6_Template, 1, 2, "po-clean", 10);
94
- i0.ɵɵelementStart(7, "div", 11, 2);
95
- i0.ɵɵlistener("p-change-event", function PoLookupComponent_ng_template_3_Template_div_p_change_event_7_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLookup()); })("click", function PoLookupComponent_ng_template_3_Template_div_click_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.openLookup(); return i0.ɵɵresetView($event.preventDefault()); })("keydown.enter", function PoLookupComponent_ng_template_3_Template_div_keydown_enter_7_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); ctx_r1.openLookup(); return i0.ɵɵresetView($event.preventDefault()); });
96
- i0.ɵɵelement(9, "po-icon", 12);
86
+ i0.ɵɵelementStart(5, "div", 8);
87
+ i0.ɵɵtemplate(6, PoLookupComponent_ng_template_3_button_6_Template, 2, 2, "button", 17);
88
+ i0.ɵɵelementStart(7, "button", 10, 2);
89
+ i0.ɵɵlistener("click", function PoLookupComponent_ng_template_3_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.openLookup()); });
90
+ i0.ɵɵelement(9, "po-icon", 11);
97
91
  i0.ɵɵelementEnd()()();
98
92
  } if (rf & 2) {
99
93
  const inp_r9 = i0.ɵɵreference(2);
@@ -107,12 +101,9 @@ function PoLookupComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) {
107
101
  i0.ɵɵadvance();
108
102
  i0.ɵɵproperty("ngForOf", ctx_r1.visibleDisclaimers);
109
103
  i0.ɵɵadvance(2);
110
- i0.ɵɵproperty("ngIf", ctx_r1.clean && !ctx_r1.disabled && !!inp_r9.value);
104
+ i0.ɵɵproperty("ngIf", ctx_r1.clean && !ctx_r1.disabled);
111
105
  i0.ɵɵadvance();
112
- i0.ɵɵclassProp("po-field-icon-disabled", ctx_r1.disabled);
113
- i0.ɵɵproperty("ariaLabel", ctx_r1.literals.search);
114
- i0.ɵɵadvance(2);
115
- i0.ɵɵclassProp("po-field-icon", !ctx_r1.disabled);
106
+ i0.ɵɵproperty("ariaLabel", ctx_r1.literals.search)("disabled", ctx_r1.disabled);
116
107
  } }
117
108
  /* istanbul ignore next */
118
109
  const providers = [
@@ -492,12 +483,12 @@ export class PoLookupComponent extends PoLookupBaseComponent {
492
483
  } if (rf & 2) {
493
484
  let _t;
494
485
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.inputEl = _t.first);
495
- } }, features: [i0.ɵɵProvidersFeature(providers), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 11, consts: [["disclaimersTemplate", ""], ["inp", ""], ["iconLookup", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], ["class", "po-field-container-content po-lookup", 3, "po-lookup-disabled", 4, "ngIf", "ngIfElse"], [3, "p-help", "p-disabled", "p-error-pattern"], [1, "po-field-container-content", "po-lookup"], [1, "po-search-container-wrapper"], ["type", "text", 1, "po-lookup-input", "po-lookup-input-trigger", 3, "blur", "ngClass", "id", "autocomplete", "disabled", "placeholder", "required"], [1, "po-field-icon-container-right", "po-lookup-buttons"], ["tabindex", "0", "role", "button", "class", "po-lookup-button po-lookup-button-clean", 3, "p-element-ref", "p-change-event", "click", "keydown.enter", 4, "ngIf"], ["tabindex", "0", "role", "button", 1, "po-lookup-button", "po-lookup-button-trigger", "po-field-icon", 3, "p-change-event", "click", "keydown.enter", "ariaLabel"], ["p-icon", "ICON_SEARCH"], ["tabindex", "0", "role", "button", 1, "po-lookup-button", "po-lookup-button-clean", 3, "p-change-event", "click", "keydown.enter", "p-element-ref"], [1, "po-lookup"], [1, "po-lookup-input", "po-input-icon-right", "po-lookup-input", "po-icon-input", 3, "tabindex", "ngClass"], ["class", "po-lookup-input-placeholder", 4, "ngIf"], ["class", "po-lookup-input-disclaimer", 3, "p-label", "p-value", "p-hide-close", "po-clickable", "p-close-action", 4, "ngFor", "ngForOf"], [1, "po-lookup-input-placeholder"], [1, "po-lookup-input-disclaimer", 3, "p-close-action", "p-label", "p-value", "p-hide-close"]], template: function PoLookupComponent_Template(rf, ctx) { if (rf & 1) {
486
+ } }, features: [i0.ɵɵProvidersFeature(providers), i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 11, consts: [["disclaimersTemplate", ""], ["inp", ""], ["iconLookup", ""], [3, "p-disabled", "p-id", "p-label", "p-optional", "p-required", "p-show-required"], ["class", "po-lookup", 3, "po-lookup-disabled", 4, "ngIf", "ngIfElse"], [3, "p-help", "p-disabled", "p-error-pattern"], [1, "po-lookup"], ["type", "text", 1, "po-lookup-input", "po-lookup-input-trigger", 3, "blur", "ngClass", "id", "autocomplete", "disabled", "placeholder", "required"], [1, "po-lookup-buttons"], ["type", "button", "class", "po-lookup-button po-lookup-button-clean", 3, "ariaLabel", "click", 4, "ngIf"], [1, "po-lookup-button", "po-lookup-button-trigger", 3, "click", "ariaLabel", "disabled"], ["p-icon", "ICON_SEARCH", 1, "po-icon-input"], ["type", "button", 1, "po-lookup-button", "po-lookup-button-clean", 3, "click", "ariaLabel"], [1, "po-icon-input"], [1, "po-lookup-input", "po-input-icon-right", "po-lookup-input", "po-icon-input", 3, "tabindex", "ngClass"], ["class", "po-lookup-input-placeholder", 4, "ngIf"], ["class", "po-lookup-input-disclaimer", 3, "p-label", "p-value", "p-hide-close", "po-clickable", "p-close-action", 4, "ngFor", "ngForOf"], ["type", "button", "class", "po-lookup-button po-lookup-button-clean", 3, "disabled", "ariaLabel", "click", 4, "ngIf"], [1, "po-lookup-input-placeholder"], [1, "po-lookup-input-disclaimer", 3, "p-close-action", "p-label", "p-value", "p-hide-close"], ["type", "button", 1, "po-lookup-button", "po-lookup-button-clean", 3, "click", "disabled", "ariaLabel"]], template: function PoLookupComponent_Template(rf, ctx) { if (rf & 1) {
496
487
  i0.ɵɵelementStart(0, "po-field-container", 3);
497
- i0.ɵɵtemplate(1, PoLookupComponent_div_1_Template, 9, 14, "div", 4);
488
+ i0.ɵɵtemplate(1, PoLookupComponent_div_1_Template, 8, 13, "div", 4);
498
489
  i0.ɵɵelement(2, "po-field-container-bottom", 5);
499
490
  i0.ɵɵelementEnd();
500
- i0.ɵɵtemplate(3, PoLookupComponent_ng_template_3_Template, 10, 20, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
491
+ i0.ɵɵtemplate(3, PoLookupComponent_ng_template_3_Template, 10, 17, "ng-template", null, 0, i0.ɵɵtemplateRefExtractor);
501
492
  } if (rf & 2) {
502
493
  const disclaimersTemplate_r10 = i0.ɵɵreference(4);
503
494
  i0.ɵɵproperty("p-disabled", ctx.disabled)("p-id", ctx.id)("p-label", ctx.label)("p-optional", ctx.optional)("p-required", ctx.required)("p-show-required", ctx.showRequired);
@@ -509,10 +500,10 @@ export class PoLookupComponent extends PoLookupBaseComponent {
509
500
  }
510
501
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoLookupComponent, [{
511
502
  type: Component,
512
- args: [{ selector: 'po-lookup', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers, template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div\n class=\"po-field-container-content po-lookup\"\n [class.po-lookup-disabled]=\"disabled\"\n *ngIf=\"!disclaimers.length; else disclaimersTemplate\"\n >\n <div class=\"po-search-container-wrapper\">\n <input\n #inp\n class=\"po-lookup-input po-lookup-input-trigger\"\n [ngClass]=\"clean && inp.value ? 'po-input-double-icon-right' : 'po-input-icon-right'\"\n [id]=\"id\"\n type=\"text\"\n [autocomplete]=\"autocomplete\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n (blur)=\"searchEvent()\"\n />\n\n <div class=\"po-field-icon-container-right po-lookup-buttons\">\n <po-clean\n *ngIf=\"clean && !disabled && !!inp.value\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"literals.clean\"\n class=\"po-icon-input po-lookup-button po-lookup-button-clean\"\n class=\"po-lookup-button po-lookup-button-clean\"\n [p-element-ref]=\"inp\"\n (p-change-event)=\"cleanModel()\"\n (click)=\"cleanModel(); $event.preventDefault()\"\n (keydown.enter)=\"cleanModel(); $event.preventDefault()\"\n >\n </po-clean>\n <div\n #iconLookup\n tabindex=\"0\"\n role=\"button\"\n class=\"po-lookup-button po-lookup-button-trigger po-field-icon\"\n [class.po-field-icon-disabled]=\"disabled\"\n [ariaLabel]=\"literals.search\"\n (p-change-event)=\"openLookup()\"\n (click)=\"openLookup(); $event.preventDefault()\"\n (keydown.enter)=\"openLookup(); $event.preventDefault()\"\n >\n <po-icon p-icon=\"ICON_SEARCH\" [class.po-field-icon]=\"!disabled\"></po-icon>\n </div>\n </div>\n </div>\n </div>\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n ></po-field-container-bottom>\n</po-field-container>\n\n<ng-template #disclaimersTemplate>\n <div class=\"po-lookup\" [class.po-lookup-disabled]=\"disabled\">\n <div\n #inp\n [tabindex]=\"disabled ? -1 : 0\"\n class=\"po-lookup-input po-input-icon-right po-lookup-input po-icon-input\"\n [ngClass]=\"clean && inp.value ? 'po-input-double-icon-right' : 'po-input-icon-right'\"\n [class.po-lookup-input-auto]=\"autoHeight\"\n [class.po-lookup-input-static]=\"!autoHeight\"\n [class.po-lookup-input-padding-button-clean]=\"clean\"\n [class.po-lookup-input-disabled]=\"disabled\"\n >\n <span *ngIf=\"placeholder && !disclaimers?.length\" class=\"po-lookup-input-placeholder\">\n {{ placeholder }}\n </span>\n\n <po-disclaimer\n *ngFor=\"let disclaimer of visibleDisclaimers\"\n class=\"po-lookup-input-disclaimer\"\n [p-label]=\"disclaimer.label\"\n [p-value]=\"disclaimer.value\"\n [p-hide-close]=\"disclaimer.value === '' || disabled\"\n [class.po-clickable]=\"disclaimer.value === '' && !disabled\"\n (p-close-action)=\"closeDisclaimer(disclaimer.value)\"\n >\n </po-disclaimer>\n </div>\n <div class=\"po-field-icon-container-right po-lookup-buttons\">\n <po-clean\n *ngIf=\"clean && !disabled && !!inp.value\"\n tabindex=\"0\"\n role=\"button\"\n [attr.aria-label]=\"literals.clean\"\n class=\"po-lookup-button po-lookup-button-clean\"\n [p-element-ref]=\"inp\"\n (p-change-event)=\"cleanModel()\"\n (click)=\"cleanModel(); $event.preventDefault()\"\n (keydown.enter)=\"cleanModel(); $event.preventDefault()\"\n >\n </po-clean>\n <div\n #iconLookup\n tabindex=\"0\"\n role=\"button\"\n class=\"po-lookup-button po-lookup-button-trigger po-field-icon\"\n [class.po-field-icon-disabled]=\"disabled\"\n [ariaLabel]=\"literals.search\"\n (p-change-event)=\"openLookup()\"\n (click)=\"openLookup(); $event.preventDefault()\"\n (keydown.enter)=\"openLookup(); $event.preventDefault()\"\n >\n <po-icon p-icon=\"ICON_SEARCH\" [class.po-field-icon]=\"!disabled\"></po-icon>\n </div>\n </div>\n </div>\n</ng-template>\n" }]
503
+ args: [{ selector: 'po-lookup', changeDetection: ChangeDetectionStrategy.OnPush, providers: providers, template: "<po-field-container\n [p-disabled]=\"disabled\"\n [p-id]=\"id\"\n [p-label]=\"label\"\n [p-optional]=\"optional\"\n [p-required]=\"required\"\n [p-show-required]=\"showRequired\"\n>\n <div class=\"po-lookup\" [class.po-lookup-disabled]=\"disabled\" *ngIf=\"!disclaimers.length; else disclaimersTemplate\">\n <input\n #inp\n class=\"po-lookup-input po-lookup-input-trigger\"\n [ngClass]=\"clean && inp.value ? 'po-input-double-icon-right' : 'po-input-icon-right'\"\n [id]=\"id\"\n type=\"text\"\n [autocomplete]=\"autocomplete\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [required]=\"required\"\n (blur)=\"searchEvent()\"\n />\n <div class=\"po-lookup-buttons\">\n <button\n *ngIf=\"clean && !disabled && !!inp.value\"\n type=\"button\"\n class=\"po-lookup-button po-lookup-button-clean\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"cleanModel()\"\n >\n <po-clean class=\"po-icon-input\"></po-clean>\n </button>\n <button\n #iconLookup\n class=\"po-lookup-button po-lookup-button-trigger\"\n [class.po-lookup-button-disabled]=\"disabled\"\n [ariaLabel]=\"literals.search\"\n (click)=\"openLookup()\"\n [disabled]=\"disabled\"\n >\n <po-icon p-icon=\"ICON_SEARCH\" class=\"po-icon-input\"></po-icon>\n </button>\n </div>\n </div>\n <po-field-container-bottom\n [p-help]=\"help\"\n [p-disabled]=\"disabled\"\n [p-error-pattern]=\"getErrorPattern()\"\n ></po-field-container-bottom>\n</po-field-container>\n\n<ng-template #disclaimersTemplate>\n <div class=\"po-lookup\" [class.po-lookup-disabled]=\"disabled\">\n <div\n #inp\n [tabindex]=\"disabled ? -1 : 0\"\n class=\"po-lookup-input po-input-icon-right po-lookup-input po-icon-input\"\n [ngClass]=\"clean && inp.value ? 'po-input-double-icon-right' : 'po-input-icon-right'\"\n [class.po-lookup-input-auto]=\"autoHeight\"\n [class.po-lookup-input-static]=\"!autoHeight\"\n [class.po-lookup-input-padding-button-clean]=\"clean\"\n [class.po-lookup-input-disabled]=\"disabled\"\n >\n <span *ngIf=\"placeholder && !disclaimers?.length\" class=\"po-lookup-input-placeholder\">\n {{ placeholder }}\n </span>\n\n <po-disclaimer\n *ngFor=\"let disclaimer of visibleDisclaimers\"\n class=\"po-lookup-input-disclaimer\"\n [p-label]=\"disclaimer.label\"\n [p-value]=\"disclaimer.value\"\n [p-hide-close]=\"disclaimer.value === '' || disabled\"\n [class.po-clickable]=\"disclaimer.value === '' && !disabled\"\n (p-close-action)=\"closeDisclaimer(disclaimer.value)\"\n >\n </po-disclaimer>\n </div>\n <div class=\"po-lookup-buttons\">\n <button\n *ngIf=\"clean && !disabled\"\n type=\"button\"\n class=\"po-lookup-button po-lookup-button-clean\"\n [disabled]=\"disabled\"\n [ariaLabel]=\"literals.clean\"\n (click)=\"cleanModel()\"\n >\n <po-clean class=\"po-icon-input\"></po-clean>\n </button>\n <button\n #iconLookup\n class=\"po-lookup-button po-lookup-button-trigger\"\n [ariaLabel]=\"literals.search\"\n (click)=\"openLookup()\"\n [disabled]=\"disabled\"\n >\n <po-icon p-icon=\"ICON_SEARCH\" class=\"po-icon-input\"></po-icon>\n </button>\n </div>\n </div>\n</ng-template>\n" }]
513
504
  }], () => [{ type: i1.PoLanguageService }, { type: i0.Renderer2 }, { type: i2.PoLookupFilterService }, { type: i3.PoLookupModalService }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.Injector }], { inputEl: [{
514
505
  type: ViewChild,
515
506
  args: ['inp', { read: ElementRef, static: false }]
516
507
  }] }); })();
517
508
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PoLookupComponent, { className: "PoLookupComponent", filePath: "lib/components/po-field/po-lookup/po-lookup.component.ts", lineNumber: 143 }); })();
518
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixVQUFVLEVBS1YsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7Ozs7OztJQ01sRSxvQ0FXQztJQURDLEFBREEsQUFEQSw2TUFBa0IsbUJBQVksS0FBQyw4SkFDdEIsbUJBQVksd0JBQUUsdUJBQXVCLEtBQUMsOEtBQzlCLG1CQUFZLHdCQUFFLHVCQUF1QixLQUFDO0lBRXpELGlCQUFXOzs7OztJQUxULHNDQUFxQjs7Ozs7SUFyQnpCLEFBREYsQUFMRiw4QkFJQyxhQUMwQyxrQkFZckM7SUFEQSwwS0FBUSxvQkFBYSxLQUFDO0lBVnhCLGlCQVdFO0lBRUYsOEJBQTZEO0lBQzNELG1GQVdDO0lBRUQsa0NBVUM7SUFEQyxBQURBLEFBREEsNExBQWtCLG1CQUFZ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bEUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzJFQXZVVSxpQkFBaUI7NkRBQWpCLGlCQUFpQjttQ0FDRixVQUFVOzs7OzhDQUhwQyxTQUFTO1lDNUlYLDZDQU9DO1lBQ0MsbUVBSUM7WUE2Q0QsK0NBSTZCO1lBQy9CLGlCQUFxQjtZQUVyQixxSEFBa0M7OztZQTFEaEMsQUFEQSxBQURBLEFBREEsQUFEQSxBQURBLHlDQUF1QixnQkFDWixzQkFDTSw0QkFDTSw0QkFDQSxxQ0FDUztZQUs3QixjQUEyQjtZQUFBLEFBQTNCLDhDQUEyQixxQ0FBd0I7WUErQ3BELGNBQWU7WUFFZixBQURBLEFBREEsaUNBQWUsNEJBQ1EsMENBQ2M7OztpRkRrRjVCLGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLFdBQVcsbUJBRUosdUJBQXVCLENBQUMsTUFBTSxhQUMvQyxTQUFTO2lPQUc4QyxPQUFPO2tCQUE3RCxTQUFTO21CQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTs7a0ZBRDFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBEb0NoZWNrLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3RvcixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB1dWlkIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvdXRpbCc7XG5cbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQb0xvb2t1cEJhc2VDb21wb25lbnQgfSBmcm9tICcuL3BvLWxvb2t1cC1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0xvb2t1cEZpbHRlclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLWxvb2t1cC1maWx0ZXIuc2VydmljZSc7XG5pbXBvcnQgeyBQb0xvb2t1cE1vZGFsU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tbG9va3VwLW1vZGFsLnNlcnZpY2UnO1xuXG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuY29uc3QgcHJvdmlkZXJzID0gW1xuICBQb0xvb2t1cEZpbHRlclNlcnZpY2UsXG4gIFBvTG9va3VwTW9kYWxTZXJ2aWNlLFxuICB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9Mb29rdXBDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9va3VwQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxuICB9LFxuICB7XG4gICAgcHJvdmlkZTogTmdDb250cm9sLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBvTG9va3VwQ29tcG9uZW50KSxcbiAgICBtdWx0aTogZmFsc2VcbiAgfVxuXTtcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9Mb29rdXBCYXNlQ29tcG9uZW50XG4gKlxuICogQGRlc2NyaXB0aW9uXG4gKlxuICogUXVhbmRvIGV4aXN0ZSBtdWl0b3MgZGFkb3MgbyBwby1sb29rdXAgcG9yIHBhZHLDo28gdHJheiBhcGVuYXMgMTAgaXRlbnMgbmEgdGFiZWxhIGUgb3MgZGVtYWlzIHPDo28gY2FycmVnYWRvcyBwb3IgZGVtYW5kYSBhdHJhdsOpcyBkb1xuICogYm90w6NvICdDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MnLiBQYXJhIHF1ZSBmdW5jaW9uZSBjb3JyZXRhbWVudGUsIMOpIGltcG9ydGFudGUgcXVlIG8gc2VydmnDp28gc2lnYSBvXG4gKiBbR3VpYSBkZSBpbXBsZW1lbnRhw6fDo28gZGFzIEFQSXMgVE9UVlNdKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL2FwaSkuXG4gKlxuICogSW1wb3J0YW50ZTpcbiAqXG4gKiAtIENhc28gbyBwby1sb29rdXAgY29udGVuaGEgbyBbKG5nTW9kZWwpXSBzZW0gbyBhdHJpYnV0byBuYW1lLCBvY29ycmVyw6EgdW0gZXJybyBkZSBhbmd1bGFyLlxuICogRW50w6NvIHNlcsOhIG5lY2Vzc8OhcmlvIGluZm9ybWFyIG8gYXRyaWJ1dG8gbmFtZSBvdSBvIGF0cmlidXRvIFtuZ01vZGVsT3B0aW9uc109XCJ7c3RhbmRhbG9uZTogdHJ1ZX1cIi5cbiAqIGBgYFxuICogPHBvLWxvb2t1cFxuICogICBbKG5nTW9kZWwpXT1cInBlc3NvYS5ub21lXCJcbiAqICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiPlxuICogPC9wby1sb29rdXA+XG4gKiBgYGBcbiAqXG4gKiAjIyMjIFRva2VucyBjdXN0b21pesOhdmVpc1xuICpcbiAqIMOJIHBvc3PDrXZlbCBhbHRlcmFyIG8gZXN0aWxvIGRvIGNvbXBvbmVudGUgdXNhbmRvIG9zIHNlZ3VpbnRlcyB0b2tlbnMgKENTUyk6XG4gKlxuICogPiBQYXJhIG1haW9yZXMgaW5mb3JtYcOnw7VlcywgYWNlc3NlIG8gZ3VpYSBbUGVyc29uYWxpemFuZG8gbyBUZW1hIFBhZHLDo28gY29tIFRva2VucyBDU1NdKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL3RoZW1lLWN1c3RvbWl6YXRpb24pLlxuICpcbiAqIHwgUHJvcHJpZWRhZGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgRGVzY3Jpw6fDo28gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgVmFsb3IgUGFkcsOjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfFxuICogfCAqKkRlZmF1bHQgVmFsdWVzKiogICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tZm9udC1mYW1pbHlgICAgICAgICAgICAgICAgICAgICAgICAgfCBGYW3DrWxpYSB0aXBvZ3LDoWZpY2EgdXNhZGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWZvbnQtZmFtaWx5LXRoZW1lKWAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tZm9udC1zaXplYCAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUYW1hbmhvIGRhIGZvbnRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1mb250LXNpemUtZGVmYXVsdClgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3ItcGxhY2Vob2xkZXJgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvIG5vIHBsYWNlaG9sZGVyICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0zMClgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvcmAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgZG8gbG9va3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtZGFyay03MClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tYm9yZGVyLXJhZGl1c2AgICAgICAgICAgICAgICAgICAgICAgfCBDb250w6ltIG8gdmFsb3IgZG8gcmFpbyBkb3MgY2FudG9zIGRvIGVsZW1lbnRvJm5ic3A7ICAgfCBgdmFyKC0tYm9yZGVyLXJhZGl1cy1tZClgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kYCAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBkZSBiYWNrZ3JvdW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtbGlnaHQtMDUpYCAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tdGV4dC1jb2xvcmAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgZG8gdGV4dG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWRhcmstOTApYCAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWNsZWFyYCAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBkbyBpY29uZSBjbGVhciAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRlZmF1bHQpYCAgICAgICAgICAgICAgICAgICAgfFxuICogfCAqKkljb24qKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItaWNvbmAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIGRvIGljb25lIHBlc3F1aXNhciAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZGVmYXVsdClgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqSG92ZXIqKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1ob3ZlcmAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgbm8gZXN0YWRvIGhvdmVyICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1ob3ZlcilgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tYmFja2dyb3VuZC1ob3ZlcmAgICAgICAgICAgICAgICAgICAgfCBDb3IgZGUgYmFja2dyb3VuZCBubyBlc3RhZG8gaG92ZXIgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1icmFuZC0wMS1saWdodGVzdClgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRm9jdXNlZCoqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1mb2N1c2VkYCAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgbm8gZXN0YWRvIGRlIGZvY3VzICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1kZWZhdWx0KWAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tb3V0bGluZS1jb2xvci1mb2N1c2VkYCAgICAgICAgICAgICAgfCBDb3IgZG8gb3V0bGluZSBkbyBlc3RhZG8gZGUgZm9jdXMgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZm9jdXMpYCAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqRGlzYWJsZWQqKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1kaXNhYmxlZGAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgbm8gZXN0YWRvIGRpc2FibGVkICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1kaXNhYmxlZClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tYmFja2dyb3VuZC1kaXNhYmxlZGAgICAgICAgICAgICAgICAgfCBDb3IgZGUgYmFja2dyb3VuZCBubyBlc3RhZG8gZGlzYWJsZWQgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWxpZ2h0LTIwKWAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLXRleHQtY29sb3ItZGlzYWJsZWRgICAgICAgICAgICAgICAgIHwgQ29yIGRvIHRleHRvIHF1YW5kbyBjYW1wbyBlc3TDoSBkZXNhYmlsaXRhZG8gICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1kaXNhYmxlZClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipFcnJvcioqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWVycm9yYCAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRlIGJhY2tncm91bmQgbm8gZXN0YWRvIGRlIHJlcXVlcmlkbyAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItZmVlZGJhY2stbmVnYXRpdmUtYmFzZSlgICAgICAgICAgICAgfFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxvb2t1cC1iYXNpY1wiIHRpdGxlPVwiUE8gTG9va3VwIEJhc2ljXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtYmFzaWMvc2FtcGxlLXBvLWxvb2t1cC1iYXNpYy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtYmFzaWMvc2FtcGxlLXBvLWxvb2t1cC1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtbGFic1wiIHRpdGxlPVwiUE8gTG9va3VwIExhYnNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1sYWJzL3NhbXBsZS1wby1sb29rdXAtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbGFicy9zYW1wbGUtcG8tbG9va3VwLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLWhlcm9cIiB0aXRsZT1cIlBPIExvb2t1cCAtIEhlcm9cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvL3NhbXBsZS1wby1sb29rdXAtaGVyby5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtaGVyby9zYW1wbGUtcG8tbG9va3VwLWhlcm8uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybVwiIHRpdGxlPVwiUE8gTG9va3VwIC0gSGVybyBSZWFjdGl2ZSBGb3JtXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtaGVyby1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby1sb29rdXAtaGVyby1yZWFjdGl2ZS1mb3JtLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLXN3LWZpbG1zXCIgdGl0bGU9XCJQTyBMb29rdXAgLSBTdGFyIFdhcnMgZmlsbXNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1zdy1maWxtcy9zYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1zdy1maWxtcy9zYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMvc2FtcGxlLXBvLWxvb2t1cC1zdy1maWxtcy5zZXJ2aWNlLnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLW11bHRpcGxlXCIgdGl0bGU9XCJQTyBMb29rdXAgLSBNdWx0aXBsZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLW11bHRpcGxlL3NhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLW11bHRpcGxlL3NhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS9zYW1wbGUtcG8tbG9va3VwLW11bHRpcGxlLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwby1sb29rdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbG9va3VwLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyc1xufSlcbmV4cG9ydCBjbGFzcyBQb0xvb2t1cENvbXBvbmVudCBleHRlbmRzIFBvTG9va3VwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0LCBEb0NoZWNrIHtcbiAgQFZpZXdDaGlsZCgnaW5wJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IGZhbHNlIH0pIGlucHV0RWw6IEVsZW1lbnRSZWY7XG5cbiAgaW5pdGlhbGl6ZWQgPSBmYWxzZTtcbiAgdGltZW91dFJlc2l6ZTtcbiAgdmlzaWJsZUVsZW1lbnQgPSBmYWxzZTtcbiAgaGVpZ2h0R3JvdXBCdXR0b25zID0gNDQ7XG5cbiAgZGlzY2xhaW1lcnMgPSBbXTtcbiAgdmlzaWJsZURpc2NsYWltZXJzID0gW107XG5cbiAgaWQgPSBgcG8tbG9va3VwWyR7dXVpZCgpfV1gO1xuXG4gIHByaXZhdGUgbW9kYWxTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBpc0NhbGN1bGF0ZVZpc2libGVJdGVtczogYm9vbGVhbiA9IHRydWU7XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub0F1dG9jb21wbGV0ZSA/ICdvZmYnIDogJ29uJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHBvTG9va3VwRmlsdGVyU2VydmljZTogUG9Mb29rdXBGaWx0ZXJTZXJ2aWNlLFxuICAgIHBvTG9va3VwTW9kYWxTZXJ2aWNlOiBQb0xvb2t1cE1vZGFsU2VydmljZSxcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGVsOiBFbGVtZW50UmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvclxuICApIHtcbiAgICBzdXBlcihwb0xvb2t1cEZpbHRlclNlcnZpY2UsIGluamVjdG9yLCBwb0xvb2t1cE1vZGFsU2VydmljZSwgbGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcblxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xuICAgICAgdGhpcy5mb2N1cygpO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgbmdEb0NoZWNrKCkge1xuICAgIGNvbnN0IGlucHV0V2lkdGggPSB0aGlzLmlucHV0RWw/Lm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XG4gICAgLy8gUGVybWl0ZSBxdWUgb3MgZGlzY2xhaW1lcnMgc2VqYW0gY2FsY3VsYWRvcyBuYSBwcmltZWlyYSB2ZXogcXVlIG8gY29tcG9uZW50ZSB0b3JuYS1zZSB2aXPDrXZlbCxcbiAgICAvLyBldml0YW5kbyBjb20gaXNzbywgcHJvYmxlbWFzIGNvbSBUYWJzIG91IERpdnMgcXVlIGluaWNpZW0gZXNjb25kaWRhcy5cbiAgICBpZiAoKGlucHV0V2lkdGggJiYgIXRoaXMudmlzaWJsZUVsZW1lbnQgJiYgdGhpcy5pbml0aWFsaXplZCkgfHwgKGlucHV0V2lkdGggJiYgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcykpIHtcbiAgICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcbiAgICAgIHRoaXMudmlzaWJsZUVsZW1lbnQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMubW9kYWxTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMubW9kYWxTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuaW5pdGlhbGl6ZUxpc3RlbmVycygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bsOnw6NvIHF1ZSBhdHJpYnVpIGZvY28gYW8gY29tcG9uZW50ZS5cbiAgICpcbiAgICogUGFyYSB1dGlsaXrDoS1sYSDDqSBuZWNlc3PDoXJpbyB0ZXIgYSBpbnN0w6JuY2lhIGRvIGNvbXBvbmVudGUgbm8gRE9NLCBwb2RlbmRvIHNlciB1dGlsaXphZG8gbyBWaWV3Q2hpbGQgZGEgc2VndWludGUgZm9ybWE6XG4gICAqXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgeyBQb0xvb2t1cENvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcbiAgICpcbiAgICogLi4uXG4gICAqXG4gICAqIEBWaWV3Q2hpbGQoUG9Mb29rdXBDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIGxvb2t1cDogUG9Mb29rdXBDb21wb25lbnQ7XG4gICAqXG4gICAqIGZvY3VzTG9va3VwKCkge1xuICAgKiAgIHRoaXMubG9va3VwLmZvY3VzKCk7XG4gICAqIH1cbiAgICogYGBgXG4gICAqL1xuICBmb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgb3Blbkxvb2t1cCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0FsbG93ZWRPcGVuTW9kYWwoKSkge1xuICAgICAgY29uc3Qge1xuICAgICAgICBhZHZhbmNlZEZpbHRlcnMsXG4gICAgICAgIHNlcnZpY2UsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgaGlkZUNvbHVtbnNNYW5hZ2VyLFxuICAgICAgICBsaXRlcmFscyxcbiAgICAgICAgaW5maW5pdGVTY3JvbGwsXG4gICAgICAgIG11bHRpcGxlLFxuICAgICAgICBmaWVsZExhYmVsLFxuICAgICAgICBmaWVsZFZhbHVlLFxuICAgICAgICBzcGFjaW5nLFxuICAgICAgICB0ZXh0V3JhcCxcbiAgICAgICAgdmlydHVhbFNjcm9sbCxcbiAgICAgICAgY2hhbmdlVmlzaWJsZUNvbHVtbnMsXG4gICAgICAgIGNvbHVtblJlc3RvcmVNYW5hZ2VyXG4gICAgICB9ID0gdGhpcztcblxuICAgICAgY29uc3Qgc2VsZWN0ZWRJdGVtcyA9IHRoaXMuY2hlY2tTZWxlY3RlZEl0ZW1zKCk7XG5cbiAgICAgIHRoaXMucG9Mb29rdXBNb2RhbFNlcnZpY2Uub3Blbk1vZGFsKHtcbiAgICAgICAgYWR2YW5jZWRGaWx0ZXJzLFxuICAgICAgICBzZXJ2aWNlLFxuICAgICAgICBjb2x1bW5zLFxuICAgICAgICBmaWx0ZXJQYXJhbXMsXG4gICAgICAgIGhpZGVDb2x1bW5zTWFuYWdlcixcbiAgICAgICAgdGl0bGU6IHRoaXMubGFiZWwsXG4gICAgICAgIGxpdGVyYWxzLFxuICAgICAgICBpbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIHNlbGVjdGVkSXRlbXMsXG4gICAgICAgIGZpZWxkTGFiZWwsXG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIHNwYWNpbmcsXG4gICAgICAgIHRleHRXcmFwLFxuICAgICAgICB2aXJ0dWFsU2Nyb2xsLFxuICAgICAgICBjaGFuZ2VWaXNpYmxlQ29sdW1ucyxcbiAgICAgICAgY29sdW1uUmVzdG9yZU1hbmFnZXJcbiAgICAgIH0pO1xuXG4gICAgICBpZiAoIXRoaXMubW9kYWxTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgdGhpcy5tb2RhbFN1YnNjcmlwdGlvbiA9IHRoaXMucG9Mb29rdXBNb2RhbFNlcnZpY2Uuc2VsZWN0VmFsdWVFdmVudC5zdWJzY3JpYmUoc2VsZWN0ZWRPcHRpb25zID0+IHtcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRPcHRpb25zLmxlbmd0aCA+IDEgfHwgdGhpcy5kaXNjbGFpbWVycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0RGlzY2xhaW1lcnMoc2VsZWN0ZWRPcHRpb25zKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5zZWxlY3RNb2RlbChzZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBjaGVja1NlbGVjdGVkSXRlbXMoKSB7XG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcbiAgICAgIGlmICghdGhpcy5kaXNjbGFpbWVycy5sZW5ndGggJiYgdGhpcy52YWx1ZVRvTW9kZWw/Lmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gW3sgdmFsdWU6IHRoaXMudmFsdWVUb01vZGVsWzBdLCBsYWJlbDogdGhpcy5vbGRWYWx1ZSwgLi4udGhpcy5zZWxlY3RlZE9wdGlvbnNbMF0gfV07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmRpc2NsYWltZXJzO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZVRvTW9kZWw7XG4gICAgfVxuICB9XG5cbiAgc2V0RGlzY2xhaW1lcnMoc2VsZWN0ZWRPcHRpb25zOiBBcnJheTxhbnk+KSB7XG4gICAgdGhpcy5kaXNjbGFpbWVycyA9IHNlbGVjdGVkT3B0aW9ucy5tYXAoc2VsZWN0ZWRPcHRpb24gPT4gKHtcbiAgICAgIHZhbHVlOiBzZWxlY3RlZE9wdGlvblt0aGlzLmZpZWxkVmFsdWVdLFxuICAgICAgbGFiZWw6IHNlbGVjdGVkT3B0aW9uW3RoaXMuZmllbGRMYWJlbF0sXG4gICAgICAuLi5zZWxlY3RlZE9wdGlvblxuICAgIH0pKTtcblxuICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gWy4uLnRoaXMuZGlzY2xhaW1lcnNdO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBzZXRWaWV3VmFsdWUodmFsdWU6IGFueSwgb2JqZWN0OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsICYmIHRoaXMuZmllbGRGb3JtYXQpIHtcbiAgICAgIHRoaXMuc2V0SW5wdXRWYWx1ZVdpcG9pZWxkRm9ybWF0KG9iamVjdCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdGhpcy52YWx1ZVRvTW9kZWwgfHwgdGhpcy52YWx1ZVRvTW9kZWwgPT09IDAgPyB2YWx1ZSA6ICcnO1xuICAgIH1cbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgZ2V0Vmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICB9XG5cbiAgZ2V0RXJyb3JQYXR0ZXJuKCkge1xuICAgIHJldHVybiB0aGlzLmZpZWxkRXJyb3JNZXNzYWdlICYmIHRoaXMuaGFzSW52YWxpZENsYXNzKCkgPyB0aGlzLmZpZWxkRXJyb3JNZXNzYWdlIDogJyc7XG4gIH1cblxuICBoYXNJbnZhbGlkQ2xhc3MoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLWludmFsaWQnKSAmJiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1kaXJ0eScpXG4gICAgKTtcbiAgfVxuXG4gIHNlYXJjaEV2ZW50KCkge1xuICAgIHRoaXMub25Ub3VjaGVkPy4oKTtcbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0Vmlld1ZhbHVlKCk7XG5cbiAgICBpZiAodGhpcy5vbGRWYWx1ZT8udG9TdHJpbmcoKSAhPT0gdmFsdWUpIHtcbiAgICAgIHRoaXMuc2VhcmNoQnlJZCh2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgY2xvc2VEaXNjbGFpbWVyKHZhbHVlKSB7XG4gICAgdGhpcy5kaXNjbGFpbWVycyA9IHRoaXMuZGlzY2xhaW1lcnMuZmlsdGVyKGRpc2NsYWltZXIgPT4gZGlzY2xhaW1lci52YWx1ZSAhPT0gdmFsdWUpO1xuICAgIHRoaXMudmFsdWVUb01vZGVsID0gdGhpcy52YWx1ZVRvTW9kZWwuZmlsdGVyKG1vZGVsID0+IG1vZGVsICE9PSB2YWx1ZSk7XG5cbiAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMudmFsdWVUb01vZGVsLmxlbmd0aCA/IHRoaXMudmFsdWVUb01vZGVsIDogdW5kZWZpbmVkKTtcbiAgfVxuXG4gIHVwZGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBpZiAodGhpcy5kaXNjbGFpbWVycyAmJiB0aGlzLmRpc2NsYWltZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMudmlzaWJsZURpc2NsYWltZXJzID0gW10uY29uY2F0KHRoaXMuZGlzY2xhaW1lcnMpO1xuICAgIH1cblxuICAgIHRoaXMuZGVib3VuY2VSZXNpemUoKTtcblxuICAgIGlmICghdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpIHtcbiAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGRlYm91bmNlUmVzaXplKCkge1xuICAgIGlmICghdGhpcy5hdXRvSGVpZ2h0KSB7XG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0UmVzaXplKTtcbiAgICAgIHRoaXMuZGVib3VuY2UodGhpcy5jYWxjdWxhdGVWaXNpYmxlSXRlbXMuYmluZCh0aGlzKSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBkZWJvdW5jZShmdW5jOiAoKSA9PiB2b2lkLCBkZWxheTogbnVtYmVyKSB7XG4gICAgdGhpcy50aW1lb3V0UmVzaXplID0gc2V0VGltZW91dChmdW5jLCBkZWxheSk7XG4gIH1cblxuICBnZXRJbnB1dFdpZHRoKCkge1xuICAgIHJldHVybiB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtICh0aGlzLmNsZWFuID8gODAgOiA0MCk7XG4gIH1cblxuICBnZXREaXNjbGFpbWVyc1dpZHRoKCkge1xuICAgIGNvbnN0IGRpc2NsYWltZXJzID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCgncG8tZGlzY2xhaW1lcicpO1xuICAgIHJldHVybiBBcnJheS5mcm9tKGRpc2NsYWltZXJzKS5tYXAoZGlzY2xhaW1lciA9PiBkaXNjbGFpbWVyWydvZmZzZXRXaWR0aCddKTtcbiAgfVxuXG4gIGNhbGN1bGF0ZVZpc2libGVJdGVtcygpIHtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1dpZHRoID0gdGhpcy5nZXREaXNjbGFpbWVyc1dpZHRoKCk7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuZ2V0SW5wdXRXaWR0aCgpO1xuICAgIGNvbnN0IGV4dHJhRGlzY2xhaW1lclNpemUgPSAzODtcbiAgICBjb25zdCBkaXNjbGFpbWVyc1Zpc2libGUgPSBkaXNjbGFpbWVyc1dpZHRoWzBdO1xuXG4gICAgY29uc3QgbmV3RGlzY2xhaW1lcnMgPSBbXTtcbiAgICBjb25zdCBkaXNjbGFpbWVycyA9IHRoaXMuZGlzY2xhaW1lcnM7XG5cbiAgICBpZiAoaW5wdXRXaWR0aCA+IDApIHtcbiAgICAgIGxldCBzdW0gPSAwO1xuICAgICAgbGV0IGkgPSAwO1xuICAgICAgZm9yIChpID0gMDsgaSA8IGRpc2NsYWltZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHN1bSArPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xuICAgICAgICBuZXdEaXNjbGFpbWVycy5wdXNoKGRpc2NsYWltZXJzW2ldKTtcblxuICAgICAgICBpZiAoc3VtID4gaW5wdXRXaWR0aCkge1xuICAgICAgICAgIHN1bSAtPSBkaXNjbGFpbWVyc1dpZHRoW2ldO1xuICAgICAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSBmYWxzZTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZGlzY2xhaW1lcnNWaXNpYmxlIHx8ICFkaXNjbGFpbWVycy5sZW5ndGgpIHtcbiAgICAgICAgaWYgKGkgPT09IGRpc2NsYWltZXJzLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMuaXNDYWxjdWxhdGVWaXNpYmxlSXRlbXMgPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc3VtICsgZXh0cmFEaXNjbGFpbWVyU2l6ZSA+IGlucHV0V2lkdGgpIHtcbiAgICAgICAgICBuZXdEaXNjbGFpbWVycy5zcGxpY2UoLTIsIDIpO1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKGRpc2NsYWltZXJzLmxlbmd0aCArIDEgLSBpKS50b1N0cmluZygpO1xuICAgICAgICAgIG5ld0Rpc2NsYWltZXJzLnB1c2goeyB2YWx1ZTogJycsIGxhYmVsOiBsYWJlbCB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdEaXNjbGFpbWVycy5zcGxpY2UoLTEsIDEpO1xuICAgICAgICAgIGNvbnN0IGxhYmVsID0gJysnICsgKGRpc2NsYWltZXJzLmxlbmd0aCAtIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgbmV3RGlzY2xhaW1lcnMucHVzaCh7IHZhbHVlOiAnJywgbGFiZWw6IGxhYmVsIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbLi4ubmV3RGlzY2xhaW1lcnNdO1xuICB9XG5cbiAgcHJpdmF0ZSBpc0FsbG93ZWRPcGVuTW9kYWwoKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnNlcnZpY2UpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gc2VydmljZSBpbmZvcm1lZCcpO1xuICAgIH1cblxuICAgIHJldHVybiAhISh0aGlzLnNlcnZpY2UgJiYgIXRoaXMuZGlzYWJsZWQpO1xuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRGaWVsZHMob2JqZWN0U2VsZWN0ZWQsIHByb3BlcnRpZXMpIHtcbiAgICBsZXQgZm9ybWF0ZWRGaWVsZDtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wZXJ0aWVzKSkge1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgIGlmIChvYmplY3RTZWxlY3RlZCAmJiBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV0pIHtcbiAgICAgICAgICBpZiAoIWZvcm1hdGVkRmllbGQpIHtcbiAgICAgICAgICAgIGZvcm1hdGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGZvcm1hdGVkRmllbGQgPSBmb3JtYXRlZEZpZWxkICsgJyAtICcgKyBvYmplY3RTZWxlY3RlZFtwcm9wZXJ0eV07XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFmb3JtYXRlZEZpZWxkKSB7XG4gICAgICBmb3JtYXRlZEZpZWxkID0gb2JqZWN0U2VsZWN0ZWRbdGhpcy5maWVsZFZhbHVlXTtcbiAgICB9XG4gICAgcmV0dXJuIGZvcm1hdGVkRmllbGQ7XG4gIH1cblxuICBwcml2YXRlIHNldElucHV0VmFsdWVXaXBvaWVsZEZvcm1hdChvYmplY3RTZWxlY3RlZDogYW55KSB7XG4gICAgY29uc3QgaXNFbXB0eSA9IE9iamVjdC5rZXlzKG9iamVjdFNlbGVjdGVkKS5sZW5ndGggPT09IDA7XG4gICAgbGV0IGZpZWxkRm9ybWF0ZWQ7XG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmZpZWxkRm9ybWF0KSkge1xuICAgICAgZmllbGRGb3JtYXRlZCA9IHRoaXMuZm9ybWF0RmllbGRzKG9iamVjdFNlbGVjdGVkLCB0aGlzLmZpZWxkRm9ybWF0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZmllbGRGb3JtYXRlZCA9IHRoaXMuZmllbGRGb3JtYXQob2JqZWN0U2VsZWN0ZWQpO1xuICAgIH1cblxuICAgIHRoaXMub2xkVmFsdWUgPSBpc0VtcHR5ID8gJycgOiBmaWVsZEZvcm1hdGVkO1xuICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gaXNFbXB0eSA/ICcnIDogZmllbGRGb3JtYXRlZDtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUxpc3RlbmVycygpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCAoKSA9PiB7XG4gICAgICB0aGlzLnVwZGF0ZVZpc2libGVJdGVtcygpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8cG8tZmllbGQtY29udGFpbmVyXG4gIFtwLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW3AtaWRdPVwiaWRcIlxuICBbcC1sYWJlbF09XCJsYWJlbFwiXG4gIFtwLW9wdGlvbmFsXT1cIm9wdGlvbmFsXCJcbiAgW3AtcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICBbcC1zaG93LXJlcXVpcmVkXT1cInNob3dSZXF1aXJlZFwiXG4+XG4gIDxkaXZcbiAgICBjbGFzcz1cInBvLWZpZWxkLWNvbnRhaW5lci1jb250ZW50IHBvLWxvb2t1cFwiXG4gICAgW2NsYXNzLnBvLWxvb2t1cC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgKm5nSWY9XCIhZGlzY2xhaW1lcnMubGVuZ3RoOyBlbHNlIGRpc2NsYWltZXJzVGVtcGxhdGVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInBvLXNlYXJjaC1jb250YWluZXItd3JhcHBlclwiPlxuICAgICAgPGlucHV0XG4gICAgICAgICNpbnBcbiAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQgcG8tbG9va3VwLWlucHV0LXRyaWdnZXJcIlxuICAgICAgICBbbmdDbGFzc109XCJjbGVhbiAmJiBpbnAudmFsdWUgPyAncG8taW5wdXQtZG91YmxlLWljb24tcmlnaHQnIDogJ3BvLWlucHV0LWljb24tcmlnaHQnXCJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICBbYXV0b2NvbXBsZXRlXT1cImF1dG9jb21wbGV0ZVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIChibHVyKT1cInNlYXJjaEV2ZW50KClcIlxuICAgICAgLz5cblxuICAgICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWljb24tY29udGFpbmVyLXJpZ2h0IHBvLWxvb2t1cC1idXR0b25zXCI+XG4gICAgICAgIDxwby1jbGVhblxuICAgICAgICAgICpuZ0lmPVwiY2xlYW4gJiYgIWRpc2FibGVkICYmICEhaW5wLnZhbHVlXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibGl0ZXJhbHMuY2xlYW5cIlxuICAgICAgICAgIGNsYXNzPVwicG8taWNvbi1pbnB1dCBwby1sb29rdXAtYnV0dG9uIHBvLWxvb2t1cC1idXR0b24tY2xlYW5cIlxuICAgICAgICAgIGNsYXNzPVwicG8tbG9va3VwLWJ1dHRvbiBwby1sb29rdXAtYnV0dG9uLWNsZWFuXCJcbiAgICAgICAgICBbcC1lbGVtZW50LXJlZl09XCJpbnBcIlxuICAgICAgICAgIChwLWNoYW5nZS1ldmVudCk9XCJjbGVhbk1vZGVsKClcIlxuICAgICAgICAgIChjbGljayk9XCJjbGVhbk1vZGVsKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJjbGVhbk1vZGVsKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgPlxuICAgICAgICA8L3BvLWNsZWFuPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgI2ljb25Mb29rdXBcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwicG8tbG9va3VwLWJ1dHRvbiBwby1sb29rdXAtYnV0dG9uLXRyaWdnZXIgcG8tZmllbGQtaWNvblwiXG4gICAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgIFthcmlhTGFiZWxdPVwibGl0ZXJhbHMuc2VhcmNoXCJcbiAgICAgICAgICAocC1jaGFuZ2UtZXZlbnQpPVwib3Blbkxvb2t1cCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwib3Blbkxvb2t1cCgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwib3Blbkxvb2t1cCgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8cG8taWNvbiBwLWljb249XCJJQ09OX1NFQVJDSFwiIFtjbGFzcy5wby1maWVsZC1pY29uXT1cIiFkaXNhYmxlZFwiPjwvcG8taWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG4gIDxwby1maWVsZC1jb250YWluZXItYm90dG9tXG4gICAgW3AtaGVscF09XCJoZWxwXCJcbiAgICBbcC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW3AtZXJyb3ItcGF0dGVybl09XCJnZXRFcnJvclBhdHRlcm4oKVwiXG4gID48L3BvLWZpZWxkLWNvbnRhaW5lci1ib3R0b20+XG48L3BvLWZpZWxkLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICNkaXNjbGFpbWVyc1RlbXBsYXRlPlxuICA8ZGl2IGNsYXNzPVwicG8tbG9va3VwXCIgW2NsYXNzLnBvLWxvb2t1cC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgIDxkaXZcbiAgICAgICNpbnBcbiAgICAgIFt0YWJpbmRleF09XCJkaXNhYmxlZCA/IC0xIDogMFwiXG4gICAgICBjbGFzcz1cInBvLWxvb2t1cC1pbnB1dCBwby1pbnB1dC1pY29uLXJpZ2h0IHBvLWxvb2t1cC1pbnB1dCBwby1pY29uLWlucHV0XCJcbiAgICAgIFtuZ0NsYXNzXT1cImNsZWFuICYmIGlucC52YWx1ZSA/ICdwby1pbnB1dC1kb3VibGUtaWNvbi1yaWdodCcgOiAncG8taW5wdXQtaWNvbi1yaWdodCdcIlxuICAgICAgW2NsYXNzLnBvLWxvb2t1cC1pbnB1dC1hdXRvXT1cImF1dG9IZWlnaHRcIlxuICAgICAgW2NsYXNzLnBvLWxvb2t1cC1pbnB1dC1zdGF0aWNdPVwiIWF1dG9IZWlnaHRcIlxuICAgICAgW2NsYXNzLnBvLWxvb2t1cC1pbnB1dC1wYWRkaW5nLWJ1dHRvbi1jbGVhbl09XCJjbGVhblwiXG4gICAgICBbY2xhc3MucG8tbG9va3VwLWlucHV0LWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICA+XG4gICAgICA8c3BhbiAqbmdJZj1cInBsYWNlaG9sZGVyICYmICFkaXNjbGFpbWVycz8ubGVuZ3RoXCIgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQtcGxhY2Vob2xkZXJcIj5cbiAgICAgICAge3sgcGxhY2Vob2xkZXIgfX1cbiAgICAgIDwvc3Bhbj5cblxuICAgICAgPHBvLWRpc2NsYWltZXJcbiAgICAgICAgKm5nRm9yPVwibGV0IGRpc2NsYWltZXIgb2YgdmlzaWJsZURpc2NsYWltZXJzXCJcbiAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQtZGlzY2xhaW1lclwiXG4gICAgICAgIFtwLWxhYmVsXT1cImRpc2NsYWltZXIubGFiZWxcIlxuICAgICAgICBbcC12YWx1ZV09XCJkaXNjbGFpbWVyLnZhbHVlXCJcbiAgICAgICAgW3AtaGlkZS1jbG9zZV09XCJkaXNjbGFpbWVyLnZhbHVlID09PSAnJyB8fCBkaXNhYmxlZFwiXG4gICAgICAgIFtjbGFzcy5wby1jbGlja2FibGVdPVwiZGlzY2xhaW1lci52YWx1ZSA9PT0gJycgJiYgIWRpc2FibGVkXCJcbiAgICAgICAgKHAtY2xvc2UtYWN0aW9uKT1cImNsb3NlRGlzY2xhaW1lcihkaXNjbGFpbWVyLnZhbHVlKVwiXG4gICAgICA+XG4gICAgICA8L3BvLWRpc2NsYWltZXI+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInBvLWZpZWxkLWljb24tY29udGFpbmVyLXJpZ2h0IHBvLWxvb2t1cC1idXR0b25zXCI+XG4gICAgICA8cG8tY2xlYW5cbiAgICAgICAgKm5nSWY9XCJjbGVhbiAmJiAhZGlzYWJsZWQgJiYgISFpbnAudmFsdWVcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJsaXRlcmFscy5jbGVhblwiXG4gICAgICAgIGNsYXNzPVwicG8tbG9va3VwLWJ1dHRvbiBwby1sb29rdXAtYnV0dG9uLWNsZWFuXCJcbiAgICAgICAgW3AtZWxlbWVudC1yZWZdPVwiaW5wXCJcbiAgICAgICAgKHAtY2hhbmdlLWV2ZW50KT1cImNsZWFuTW9kZWwoKVwiXG4gICAgICAgIChjbGljayk9XCJjbGVhbk1vZGVsKCk7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiY2xlYW5Nb2RlbCgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICA+XG4gICAgICA8L3BvLWNsZWFuPlxuICAgICAgPGRpdlxuICAgICAgICAjaWNvbkxvb2t1cFxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtYnV0dG9uIHBvLWxvb2t1cC1idXR0b24tdHJpZ2dlciBwby1maWVsZC1pY29uXCJcbiAgICAgICAgW2NsYXNzLnBvLWZpZWxkLWljb24tZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICBbYXJpYUxhYmVsXT1cImxpdGVyYWxzLnNlYXJjaFwiXG4gICAgICAgIChwLWNoYW5nZS1ldmVudCk9XCJvcGVuTG9va3VwKClcIlxuICAgICAgICAoY2xpY2spPVwib3Blbkxvb2t1cCgpOyAkZXZlbnQucHJldmVudERlZmF1bHQoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Mb29rdXAoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgPlxuICAgICAgICA8cG8taWNvbiBwLWljb249XCJJQ09OX1NFQVJDSFwiIFtjbGFzcy5wby1maWVsZC1pY29uXT1cIiFkaXNhYmxlZFwiPjwvcG8taWNvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
509
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUVULFVBQVUsRUFDVixVQUFVLEVBS1YsU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHN0UsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7Ozs7Ozs7OztJQ0FwRSxrQ0FNQztJQURDLHVMQUFTLG1CQUFZLEtBQUM7SUFFdEIsK0JBQTJDO0lBQzdDLGlCQUFTOzs7SUFKUCxpREFBNEI7Ozs7SUFqQmhDLEFBREYsOEJBQW1ILGtCQVkvRztJQURBLDBLQUFRLG9CQUFhLEtBQUM7SUFWeEIsaUJBV0U7SUFDRiw4QkFBK0I7SUFDN0IsOEVBTUM7SUFHRCxxQ0FPQztJQUZDLDZLQUFTLG1CQUFZLEtBQUM7SUFHdEIsOEJBQThEO0lBR3BFLEFBREUsQUFERSxpQkFBUyxFQUNMLEVBQ0Y7Ozs7SUFsQ2lCLHFEQUFxQztJQUl4RCxjQUFxRjtJQU1y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QkFDUSwwQ0FDYzs7O2lGRGdHNUIsaUJBQWlCO2NBTjdCLFNBQVM7MkJBQ0UsV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLGFBQy9DLFNBQVM7aU9BRzhDLE9BQU87a0JBQTdELFNBQVM7bUJBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOztrRkFEMUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERvQ2hlY2ssXG4gIEVsZW1lbnRSZWYsXG4gIGZvcndhcmRSZWYsXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxJREFUT1JTLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IHV1aWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcblxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTG9va3VwQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tbG9va3VwLWJhc2UuY29tcG9uZW50JztcbmltcG9ydCB7IFBvTG9va3VwRmlsdGVyU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tbG9va3VwLWZpbHRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBvTG9va3VwTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby1sb29rdXAtbW9kYWwuc2VydmljZSc7XG5cbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5jb25zdCBwcm92aWRlcnMgPSBbXG4gIFBvTG9va3VwRmlsdGVyU2VydmljZSxcbiAgUG9Mb29rdXBNb2RhbFNlcnZpY2UsXG4gIHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0xvb2t1cENvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbiAgfSxcbiAge1xuICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9Mb29rdXBDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG4gIH0sXG4gIHtcbiAgICBwcm92aWRlOiBOZ0NvbnRyb2wsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9Mb29rdXBDb21wb25lbnQpLFxuICAgIG11bHRpOiBmYWxzZVxuICB9XG5dO1xuXG4vKipcbiAqIEBkb2NzRXh0ZW5kcyBQb0xvb2t1cEJhc2VDb21wb25lbnRcbiAqXG4gKiBAZGVzY3JpcHRpb25cbiAqXG4gKiBRdWFuZG8gZXhpc3RlIG11aXRvcyBkYWRvcyBvIHBvLWxvb2t1cCBwb3IgcGFkcsOjbyB0cmF6IGFwZW5hcyAxMCBpdGVucyBuYSB0YWJlbGEgZSBvcyBkZW1haXMgc8OjbyBjYXJyZWdhZG9zIHBvciBkZW1hbmRhIGF0cmF2w6lzIGRvXG4gKiBib3TDo28gJ0NhcnJlZ2FyIG1haXMgcmVzdWx0YWRvcycuIFBhcmEgcXVlIGZ1bmNpb25lIGNvcnJldGFtZW50ZSwgw6kgaW1wb3J0YW50ZSBxdWUgbyBzZXJ2acOnbyBzaWdhIG9cbiAqIFtHdWlhIGRlIGltcGxlbWVudGHDp8OjbyBkYXMgQVBJcyBUT1RWU10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvYXBpKS5cbiAqXG4gKiBJbXBvcnRhbnRlOlxuICpcbiAqIC0gQ2FzbyBvIHBvLWxvb2t1cCBjb250ZW5oYSBvIFsobmdNb2RlbCldIHNlbSBvIGF0cmlidXRvIG5hbWUsIG9jb3JyZXLDoSB1bSBlcnJvIGRlIGFuZ3VsYXIuXG4gKiBFbnTDo28gc2Vyw6EgbmVjZXNzw6FyaW8gaW5mb3JtYXIgbyBhdHJpYnV0byBuYW1lIG91IG8gYXRyaWJ1dG8gW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiLlxuICogYGBgXG4gKiA8cG8tbG9va3VwXG4gKiAgIFsobmdNb2RlbCldPVwicGVzc29hLm5vbWVcIlxuICogICBbbmdNb2RlbE9wdGlvbnNdPVwie3N0YW5kYWxvbmU6IHRydWV9XCI+XG4gKiA8L3BvLWxvb2t1cD5cbiAqIGBgYFxuICpcbiAqICMjIyMgVG9rZW5zIGN1c3RvbWl6w6F2ZWlzXG4gKlxuICogw4kgcG9zc8OtdmVsIGFsdGVyYXIgbyBlc3RpbG8gZG8gY29tcG9uZW50ZSB1c2FuZG8gb3Mgc2VndWludGVzIHRva2VucyAoQ1NTKTpcbiAqXG4gKiA+IFBhcmEgbWFpb3JlcyBpbmZvcm1hw6fDtWVzLCBhY2Vzc2UgbyBndWlhIFtQZXJzb25hbGl6YW5kbyBvIFRlbWEgUGFkcsOjbyBjb20gVG9rZW5zIENTU10oaHR0cHM6Ly9wby11aS5pby9ndWlkZXMvdGhlbWUtY3VzdG9taXphdGlvbikuXG4gKlxuICogfCBQcm9wcmllZGFkZSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICBEZXNjcmnDp8OjbyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBWYWxvciBQYWRyw6NvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18XG4gKiB8ICoqRGVmYXVsdCBWYWx1ZXMqKiAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1mb250LWZhbWlseWAgICAgICAgICAgICAgICAgICAgICAgICB8IEZhbcOtbGlhIHRpcG9ncsOhZmljYSB1c2FkYSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tZm9udC1mYW1pbHktdGhlbWUpYCAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1mb250LXNpemVgICAgICAgICAgICAgICAgICAgICAgICAgICB8IFRhbWFuaG8gZGEgZm9udGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWZvbnQtc2l6ZS1kZWZhdWx0KWAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tdGV4dC1jb2xvci1wbGFjZWhvbGRlcmAgICAgICAgICAgICAgfCBDb3IgZG8gdGV4dG8gbm8gcGxhY2Vob2xkZXIgICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1uZXV0cmFsLWxpZ2h0LTMwKWAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBkbyBsb29rdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1kYXJrLTcwKWAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1ib3JkZXItcmFkaXVzYCAgICAgICAgICAgICAgICAgICAgICB8IENvbnTDqW0gbyB2YWxvciBkbyByYWlvIGRvcyBjYW50b3MgZG8gZWxlbWVudG8mbmJzcDsgICB8IGB2YXIoLS1ib3JkZXItcmFkaXVzLW1kKWAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWJhY2tncm91bmRgICAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIGRlIGJhY2tncm91bmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItbmV1dHJhbC1saWdodC0wNSlgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS10ZXh0LWNvbG9yYCAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBkbyB0ZXh0byAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtZGFyay05MClgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItY2xlYXJgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgcHJpbmNpcGFsIGRvIGljb25lIGNsZWFyICAgICAgICAgICAgICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1hY3Rpb24tZGVmYXVsdClgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8ICoqSWNvbioqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1jb2xvci1pY29uYCAgICAgICAgICAgICAgICAgICAgICAgICB8IENvciBwcmluY2lwYWwgZG8gaWNvbmUgcGVzcXVpc2FyICAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1kZWZhdWx0KWAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipIb3ZlcioqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWhvdmVyYCAgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gaG92ZXIgICAgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWhvdmVyKWAgICAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kLWhvdmVyYCAgICAgICAgICAgICAgICAgICB8IENvciBkZSBiYWNrZ3JvdW5kIG5vIGVzdGFkbyBob3ZlciAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWJyYW5kLTAxLWxpZ2h0ZXN0KWAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipGb2N1c2VkKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWZvY3VzZWRgICAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gZGUgZm9jdXMgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRlZmF1bHQpYCAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1vdXRsaW5lLWNvbG9yLWZvY3VzZWRgICAgICAgICAgICAgICB8IENvciBkbyBvdXRsaW5lIGRvIGVzdGFkbyBkZSBmb2N1cyAgICAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLWFjdGlvbi1mb2N1cylgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgKipEaXNhYmxlZCoqICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8XG4gKiB8IGAtLWNvbG9yLWRpc2FibGVkYCAgICAgICAgICAgICAgICAgICAgIHwgQ29yIHByaW5jaXBhbCBubyBlc3RhZG8gZGlzYWJsZWQgICAgICAgICAgICAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRpc2FibGVkKWAgICAgICAgICAgICAgICAgICAgfFxuICogfCBgLS1iYWNrZ3JvdW5kLWRpc2FibGVkYCAgICAgICAgICAgICAgICB8IENvciBkZSBiYWNrZ3JvdW5kIG5vIGVzdGFkbyBkaXNhYmxlZCAgICAgICAgICAgICAgICAgIHwgYHZhcigtLWNvbG9yLW5ldXRyYWwtbGlnaHQtMjApYCAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tdGV4dC1jb2xvci1kaXNhYmxlZGAgICAgICAgICAgICAgICAgfCBDb3IgZG8gdGV4dG8gcXVhbmRvIGNhbXBvIGVzdMOhIGRlc2FiaWxpdGFkbyAgICAgICAgICAgfCBgdmFyKC0tY29sb3ItYWN0aW9uLWRpc2FibGVkKWAgICAgICAgICAgICAgICAgICAgfFxuICogfCAqKkVycm9yKiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxcbiAqIHwgYC0tY29sb3ItZXJyb3JgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb3IgZGUgYmFja2dyb3VuZCBubyBlc3RhZG8gZGUgcmVxdWVyaWRvICAgICAgICAgICAgICB8IGB2YXIoLS1jb2xvci1mZWVkYmFjay1uZWdhdGl2ZS1iYXNlKWAgICAgICAgICAgICB8XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tbG9va3VwLWJhc2ljXCIgdGl0bGU9XCJQTyBMb29rdXAgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1iYXNpYy9zYW1wbGUtcG8tbG9va3VwLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1iYXNpYy9zYW1wbGUtcG8tbG9va3VwLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWxvb2t1cC1sYWJzXCIgdGl0bGU9XCJQTyBMb29rdXAgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWxhYnMvc2FtcGxlLXBvLWxvb2t1cC1sYWJzLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1sYWJzL3NhbXBsZS1wby1sb29rdXAtbGFicy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtaGVyb1wiIHRpdGxlPVwiUE8gTG9va3VwIC0gSGVyb1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWhlcm8vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvL3NhbXBsZS1wby1sb29rdXAtaGVyby5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtaGVyby1yZWFjdGl2ZS1mb3JtXCIgdGl0bGU9XCJQTyBMb29rdXAgLSBIZXJvIFJlYWN0aXZlIEZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0vc2FtcGxlLXBvLWxvb2t1cC1oZXJvLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tbG9va3VwLWhlcm8tcmVhY3RpdmUtZm9ybS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtc3ctZmlsbXNcIiB0aXRsZT1cIlBPIExvb2t1cCAtIFN0YXIgV2FycyBmaWxtc1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zL3NhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zL3NhbXBsZS1wby1sb29rdXAtc3ctZmlsbXMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWxvb2t1cC1zdy1maWxtcy9zYW1wbGUtcG8tbG9va3VwLXN3LWZpbG1zLnNlcnZpY2UudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1sb29rdXAtbXVsdGlwbGVcIiB0aXRsZT1cIlBPIExvb2t1cCAtIE11bHRpcGxlXCI+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUvc2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUvc2FtcGxlLXBvLWxvb2t1cC1tdWx0aXBsZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tbG9va3VwLW11bHRpcGxlL3NhbXBsZS1wby1sb29rdXAtbXVsdGlwbGUuc2VydmljZS50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3BvLWxvb2t1cCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1sb29rdXAuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgcHJvdmlkZXJzXG59KVxuZXhwb3J0IGNsYXNzIFBvTG9va3VwQ29tcG9uZW50IGV4dGVuZHMgUG9Mb29rdXBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkluaXQsIERvQ2hlY2sge1xuICBAVmlld0NoaWxkKCdpbnAnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogZmFsc2UgfSkgaW5wdXRFbDogRWxlbWVudFJlZjtcblxuICBpbml0aWFsaXplZCA9IGZhbHNlO1xuICB0aW1lb3V0UmVzaXplO1xuICB2aXNpYmxlRWxlbWVudCA9IGZhbHNlO1xuICBoZWlnaHRHcm91cEJ1dHRvbnMgPSA0NDtcblxuICBkaXNjbGFpbWVycyA9IFtdO1xuICB2aXNpYmxlRGlzY2xhaW1lcnMgPSBbXTtcblxuICBpZCA9IGBwby1sb29rdXBbJHt1dWlkKCl9XWA7XG5cbiAgcHJpdmF0ZSBtb2RhbFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICBwcml2YXRlIGlzQ2FsY3VsYXRlVmlzaWJsZUl0ZW1zOiBib29sZWFuID0gdHJ1ZTtcblxuICBnZXQgYXV0b2NvbXBsZXRlKCkge1xuICAgIHJldHVybiB0aGlzLm5vQXV0b2NvbXBsZXRlID8gJ29mZicgOiAnb24nO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcG9Mb29rdXBGaWx0ZXJTZXJ2aWNlOiBQb0xvb2t1cEZpbHRlclNlcnZpY2UsXG4gICAgcG9Mb29rdXBNb2RhbFNlcnZpY2U6IFBvTG9va3VwTW9kYWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICkge1xuICAgIHN1cGVyKHBvTG9va3VwRmlsdGVyU2VydmljZSwgaW5qZWN0b3IsIHBvTG9va3VwTW9kYWxTZXJ2aWNlLCBsYW5ndWFnZVNlcnZpY2UpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuXG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgY29uc3QgaW5wdXRXaWR0aCA9IHRoaXMuaW5wdXRFbD8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcbiAgICAvLyBQZXJtaXRlIHF1ZSBvcyBkaXNjbGFpbWVycyBzZWphbSBjYWxjdWxhZG9zIG5hIHByaW1laXJhIHZleiBxdWUgbyBjb21wb25lbnRlIHRvcm5hLXNlIHZpc8OtdmVsLFxuICAgIC8vIGV2aXRhbmRvIGNvbSBpc3NvLCBwcm9ibGVtYXMgY29tIFRhYnMgb3UgRGl2cyBxdWUgaW5pY2llbSBlc2NvbmRpZGFzLlxuICAgIGlmICgoaW5wdXRXaWR0aCAmJiAhdGhpcy52aXNpYmxlRWxlbWVudCAmJiB0aGlzLmluaXRpYWxpemVkKSB8fCAoaW5wdXRXaWR0aCAmJiB0aGlzLmlzQ2FsY3VsYXRlVmlzaWJsZUl0ZW1zKSkge1xuICAgICAgdGhpcy5kZWJvdW5jZVJlc2l6ZSgpO1xuICAgICAgdGhpcy52aXNpYmxlRWxlbWVudCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICBpZiAodGhpcy5tb2RhbFN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5tb2RhbFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgdGhpcy5pbml0aWFsaXplTGlzdGVuZXJzKCk7XG4gIH1cblxuICAvKipcbiAgICogRnVuw6fDo28gcXVlIGF0cmlidWkgZm9jbyBhbyBjb21wb25lbnRlLlxuICAgKlxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcbiAgICpcbiAgICogYGBgXG4gICAqIGltcG9ydCB7IFBvTG9va3VwQ29tcG9uZW50IH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICAgKlxuICAgKiAuLi5cbiAgICpcbiAgICogQFZpZXdDaGlsZChQb0xvb2t1cENvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgbG9va3VwOiBQb0xvb2t1cENvbXBvbmVudDtcbiAgICpcbiAgICogZm9jdXNMb29rdXAoKSB7XG4gICAqICAgdGhpcy5sb29rdXAuZm9jdXMoKTtcbiAgICogfVxuICAgKiBgYGBcbiAgICovXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBvcGVuTG9va3VwKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzQWxsb3dlZE9wZW5Nb2RhbCgpKSB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIGFkdmFuY2VkRmlsdGVycyxcbiAgICAgICAgc2VydmljZSxcbiAgICAgICAgY29sdW1ucyxcbiAgICAgICAgZmlsdGVyUGFyYW1zLFxuICAgICAgICBoaWRlQ29sdW1uc01hbmFnZXIsXG4gICAgICAgIGxpdGVyYWxzLFxuICAgICAgICBpbmZpbml0ZVNjcm9sbCxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIGZpZWxkTGFiZWwsXG4gICAgICAgIGZpZWxkVmFsdWUsXG4gICAgICAgIHNwYWNpbmcsXG4gICAgICAgIHRleHRXcmFwLFxuICAgICAgICB2aXJ0dWFsU2Nyb2xsLFxuICAgICAgICBjaGFuZ2VWaXNpYmxlQ29sdW1ucyxcbiAgICAgICAgY29sdW1uUmVzdG9yZU1hbmFnZXJcbiAgICAgIH0gPSB0aGlzO1xuXG4gICAgICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gdGhpcy5jaGVja1NlbGVjdGVkSXRlbXMoKTtcblxuICAgICAgdGhpcy5wb0xvb2t1cE1vZGFsU2VydmljZS5vcGVuTW9kYWwoe1xuICAgICAgICBhZHZhbmNlZEZpbHRlcnMsXG4gICAgICAgIHNlcnZpY2UsXG4gICAgICAgIGNvbHVtbnMsXG4gICAgICAgIGZpbHRlclBhcmFtcyxcbiAgICAgICAgaGlkZUNvbHVtbnNNYW5hZ2VyLFxuICAgICAgICB0aXRsZTogdGhpcy5sYWJlbCxcbiAgICAgICAgbGl0ZXJhbHMsXG4gICAgICAgIGluZmluaXRlU2Nyb2xsLFxuICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgc2VsZWN0ZWRJdGVtcyxcbiAgICAgICAgZmllbGRMYWJlbCxcbiAgICAgICAgZmllbGRWYWx1ZSxcbiAgICAgICAgc3BhY2luZyxcbiAgICAgICAgdGV4dFdyYXAsXG4gICAgICAgIHZpcnR1YWxTY3JvbGwsXG4gICAgICAgIGNoYW5nZVZpc2libGVDb2x1bW5zLFxuICAgICAgICBjb2x1bW5SZXN0b3JlTWFuYWdlclxuICAgICAgfSk7XG5cbiAgICAgIGlmICghdGhpcy5tb2RhbFN1YnNjcmlwdGlvbikge1xuICAgICAgICB0aGlzLm1vZGFsU3Vic2NyaXB0aW9uID0gdGhpcy5wb0xvb2t1cE1vZGFsU2VydmljZS5zZWxlY3RWYWx1ZUV2ZW50LnN1YnNjcmliZShzZWxlY3RlZE9wdGlvbnMgPT4ge1xuICAgICAgICAgIGlmIChzZWxlY3RlZE9wdGlvbnMubGVuZ3RoID4gMSB8fCB0aGlzLmRpc2NsYWltZXJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5zZXREaXNjbGFpbWVycyhzZWxlY3RlZE9wdGlvbnMpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWaXNpYmxlSXRlbXMoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLnNlbGVjdE1vZGVsKHNlbGVjdGVkT3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrU2VsZWN0ZWRJdGVtcygpIHtcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xuICAgICAgaWYgKCF0aGlzLmRpc2NsYWltZXJzLmxlbmd0aCAmJiB0aGlzLnZhbHVlVG9Nb2RlbD8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBbeyB2YWx1ZTogdGhpcy52YWx1ZVRvTW9kZWxbMF0sIGxhYmVsOiB0aGlzLm9sZFZhbHVlLCAuLi50aGlzLnNlbGVjdGVkT3B0aW9uc1swXSB9XTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuZGlzY2xhaW1lcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlVG9Nb2RlbDtcbiAgICB9XG4gIH1cblxuICBzZXREaXNjbGFpbWVycyhzZWxlY3RlZE9wdGlvbnM6IEFycmF5PGFueT4pIHtcbiAgICB0aGlzLmRpc2NsYWltZXJzID0gc2VsZWN0ZWRPcHRpb25zLm1hcChzZWxlY3RlZE9wdGlvbiA9PiAoe1xuICAgICAgdmFsdWU6IHNlbGVjdGVkT3B0aW9uW3RoaXMuZmllbGRWYWx1ZV0sXG4gICAgICBsYWJlbDogc2VsZWN0ZWRPcHRpb25bdGhpcy5maWVsZExhYmVsXSxcbiAgICAgIC4uLnNlbGVjdGVkT3B0aW9uXG4gICAgfSkpO1xuXG4gICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbLi4udGhpcy5kaXNjbGFpbWVyc107XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHNldFZpZXdWYWx1ZSh2YWx1ZTogYW55LCBvYmplY3Q6IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlucHV0RWwgJiYgdGhpcy5maWVsZEZvcm1hdCkge1xuICAgICAgdGhpcy5zZXRJbnB1dFZhbHVlV2lwb2llbGRGb3JtYXQob2JqZWN0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaW5wdXRFbCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLnZhbHVlVG9Nb2RlbCB8fCB0aGlzLnZhbHVlVG9Nb2RlbCA9PT0gMCA/IHZhbHVlIDogJyc7XG4gICAgfVxuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBnZXRWaWV3VmFsdWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBnZXRFcnJvclBhdHRlcm4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGRFcnJvck1lc3NhZ2UgJiYgdGhpcy5oYXNJbnZhbGlkQ2xhc3MoKSA/IHRoaXMuZmllbGRFcnJvck1lc3NhZ2UgOiAnJztcbiAgfVxuXG4gIGhhc0ludmFsaWRDbGFzcygpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctaW52YWxpZCcpICYmIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLWRpcnR5JylcbiAgICApO1xuICB9XG5cbiAgc2VhcmNoRXZlbnQoKSB7XG4gICAgdGhpcy5vblRvdWNoZWQ/LigpO1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWaWV3VmFsdWUoKTtcblxuICAgIGlmICh0aGlzLm9sZFZhbHVlPy50b1N0cmluZygpICE9PSB2YWx1ZSkge1xuICAgICAgdGhpcy5zZWFyY2hCeUlkKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBjbG9zZURpc2NsYWltZXIodmFsdWUpIHtcbiAgICB0aGlzLmRpc2NsYWltZXJzID0gdGhpcy5kaXNjbGFpbWVycy5maWx0ZXIoZGlzY2xhaW1lciA9PiBkaXNjbGFpbWVyLnZhbHVlICE9PSB2YWx1ZSk7XG4gICAgdGhpcy52YWx1ZVRvTW9kZWwgPSB0aGlzLnZhbHVlVG9Nb2RlbC5maWx0ZXIobW9kZWwgPT4gbW9kZWwgIT09IHZhbHVlKTtcblxuICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgdGhpcy5jYWxsT25DaGFuZ2UodGhpcy52YWx1ZVRvTW9kZWwubGVuZ3RoID8gdGhpcy52YWx1ZVRvTW9kZWwgOiB1bmRlZmluZWQpO1xuICB9XG5cbiAgdXBkYXRlVmlzaWJsZUl0ZW1zKCkge1xuICAgIGlmICh0aGlzLmRpc2NsYWltZXJzICYmIHRoaXMuZGlzY2xhaW1lcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy52aXNpYmxlRGlzY2xhaW1lcnMgPSBbXS5jb25jYXQodGhpcy5kaXNjbGFpbWVycyk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWJvdW5jZVJlc2l6ZSgpO1xuXG4gICAgaWYgKCF0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgZGVib3VuY2VSZXNpemUoKSB7XG4gICAgaWYgKCF0aGlzLmF1dG9IZWlnaHQpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRSZXNpemUpO1xuICAgICAgdGhpcy5kZWJvdW5jZSh0aGlzLmNhbGN1bGF0ZVZpc2libGVJdGVtcy5iaW5kKHRoaXMpLCAyMDApO1xuICAgIH1cbiAgfVxuXG4gIGRlYm91bmNlKGZ1bmM6ICgpID0+IHZvaWQsIGRlbGF5OiBudW1iZXIpIHtcbiAgICB0aGlzLnRpbWVvdXRSZXNpemUgPSBzZXRUaW1lb3V0KGZ1bmMsIGRlbGF5KTtcbiAgfVxuXG4gIGdldElucHV0V2lkdGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gKHRoaXMuY2xlYW4gPyA4MCA6IDQwKTtcbiAgfVxuXG4gIGdldERpc2NsYWltZXJzV2lkdGgoKSB7XG4gICAgY29uc3QgZGlzY2xhaW1lcnMgPSB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCdwby1kaXNjbGFpbWVyJyk7XG4gICAgcmV0dXJuIEFycmF5LmZyb20oZGlzY2xhaW1lcnMpLm1hcChkaXNjbGFpbWVyID0+IGRpc2NsYWltZXJbJ29mZnNldFdpZHRoJ10pO1xuICB9XG5cbiAgY2FsY3VsYXRlVmlzaWJsZUl0ZW1zKCkge1xuICAgIGNvbnN0IGRpc2NsYWltZXJzV2lkdGggPSB0aGlzLmdldERpc2NsYWltZXJzV2lkdGgoKTtcbiAgICBjb25zdCBpbnB1dFdpZHRoID0gdGhpcy5nZXRJbnB1dFdpZHRoKCk7XG4gICAgY29uc3QgZXh0cmFEaXNjbGFpbWVyU2l6ZSA9IDM4O1xuICAgIGNvbnN0IGRpc2NsYWltZXJzVmlzaWJsZSA9IGRpc2NsYWltZXJzV2lkdGhbMF07XG5cbiAgICBjb25zdCBuZXdEaXNjbGFpbWVycyA9IFtdO1xuICAgIGNvbnN0IGRpc2NsYWltZXJzID0gdGhpcy5kaXNjbGFpbWVycztcblxuICAgIGlmIChpbnB1dFdpZHRoID4gMCkge1xuICAgICAgbGV0IHN1bSA9IDA7XG4gICAgICBsZXQgaSA9IDA7XG4gICAgICBmb3IgKGkgPSAwOyBpIDwgZGlzY2xhaW1lcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgc3VtICs9IGRpc2NsYWltZXJzV2lkdGhbaV07XG4gICAgICAgIG5ld0Rpc2NsYWltZXJzLnB1c2goZGlzY2xhaW1lcnNbaV0pO1xuXG4gICAgICAgIGlmIChzdW0gPiBpbnB1dFdpZHRoKSB7XG4gICAgICAgICAgc3VtIC09IGRpc2NsYWltZXJzV2lkdGhbaV07XG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChkaXNjbGFpbWVyc1Zpc2libGUgfHwgIWRpc2NsYWltZXJzLmxlbmd0aCkge1xuICAgICAgICBpZiAoaSA9PT0gZGlzY2xhaW1lcnMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5pc0NhbGN1bGF0ZVZpc2libGVJdGVtcyA9IGZhbHNlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzdW0gKyBleHRyYURpc2NsYWltZXJTaXplID4gaW5wdXRXaWR0aCkge1xuICAgICAgICAgIG5ld0Rpc2NsYWltZXJzLnNwbGljZSgtMiwgMik7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSAnKycgKyAoZGlzY2xhaW1lcnMubGVuZ3RoICsgMSAtIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgbmV3RGlzY2xhaW1lcnMucHVzaCh7IHZhbHVlOiAnJywgbGFiZWw6IGxhYmVsIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld0Rpc2NsYWltZXJzLnNwbGljZSgtMSwgMSk7XG4gICAgICAgICAgY29uc3QgbGFiZWwgPSAnKycgKyAoZGlzY2xhaW1lcnMubGVuZ3RoIC0gaSkudG9TdHJpbmcoKTtcbiAgICAgICAgICBuZXdEaXNjbGFpbWVycy5wdXNoKHsgdmFsdWU6ICcnLCBsYWJlbDogbGFiZWwgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnZpc2libGVEaXNjbGFpbWVycyA9IFsuLi5uZXdEaXNjbGFpbWVyc107XG4gIH1cblxuICBwcml2YXRlIGlzQWxsb3dlZE9wZW5Nb2RhbCgpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuc2VydmljZSkge1xuICAgICAgY29uc29sZS53YXJuKCdObyBzZXJ2aWNlIGluZm9ybWVkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuICEhKHRoaXMuc2VydmljZSAmJiAhdGhpcy5kaXNhYmxlZCk7XG4gIH1cblxuICBwcml2YXRlIGZvcm1hdEZpZWxkcyhvYmplY3RTZWxlY3RlZCwgcHJvcGVydGllcykge1xuICAgIGxldCBmb3JtYXRlZEZpZWxkO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHByb3BlcnRpZXMpKSB7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcbiAgICAgICAgaWYgKG9iamVjdFNlbGVjdGVkICYmIG9iamVjdFNlbGVjdGVkW3Byb3BlcnR5XSkge1xuICAgICAgICAgIGlmICghZm9ybWF0ZWRGaWVsZCkge1xuICAgICAgICAgICAgZm9ybWF0ZWRGaWVsZCA9IG9iamVjdFNlbGVjdGVkW3Byb3BlcnR5XTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZm9ybWF0ZWRGaWVsZCA9IGZvcm1hdGVkRmllbGQgKyAnIC0gJyArIG9iamVjdFNlbGVjdGVkW3Byb3BlcnR5XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWZvcm1hdGVkRmllbGQpIHtcbiAgICAgIGZvcm1hdGVkRmllbGQgPSBvYmplY3RTZWxlY3RlZFt0aGlzLmZpZWxkVmFsdWVdO1xuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0ZWRGaWVsZDtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SW5wdXRWYWx1ZVdpcG9pZWxkRm9ybWF0KG9iamVjdFNlbGVjdGVkOiBhbnkpIHtcbiAgICBjb25zdCBpc0VtcHR5ID0gT2JqZWN0LmtleXMob2JqZWN0U2VsZWN0ZWQpLmxlbmd0aCA9PT0gMDtcbiAgICBsZXQgZmllbGRGb3JtYXRlZDtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRoaXMuZmllbGRGb3JtYXQpKSB7XG4gICAgICBmaWVsZEZvcm1hdGVkID0gdGhpcy5mb3JtYXRGaWVsZHMob2JqZWN0U2VsZWN0ZWQsIHRoaXMuZmllbGRGb3JtYXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmaWVsZEZvcm1hdGVkID0gdGhpcy5maWVsZEZvcm1hdChvYmplY3RTZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgdGhpcy5vbGRWYWx1ZSA9IGlzRW1wdHkgPyAnJyA6IGZpZWxkRm9ybWF0ZWQ7XG4gICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBpc0VtcHR5ID8gJycgOiBmaWVsZEZvcm1hdGVkO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplTGlzdGVuZXJzKCk6IHZvaWQge1xuICAgIHRoaXMucmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgIHRoaXMudXBkYXRlVmlzaWJsZUl0ZW1zKCk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxwby1maWVsZC1jb250YWluZXJcbiAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbcC1pZF09XCJpZFwiXG4gIFtwLWxhYmVsXT1cImxhYmVsXCJcbiAgW3Atb3B0aW9uYWxdPVwib3B0aW9uYWxcIlxuICBbcC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gIFtwLXNob3ctcmVxdWlyZWRdPVwic2hvd1JlcXVpcmVkXCJcbj5cbiAgPGRpdiBjbGFzcz1cInBvLWxvb2t1cFwiIFtjbGFzcy5wby1sb29rdXAtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiAqbmdJZj1cIiFkaXNjbGFpbWVycy5sZW5ndGg7IGVsc2UgZGlzY2xhaW1lcnNUZW1wbGF0ZVwiPlxuICAgIDxpbnB1dFxuICAgICAgI2lucFxuICAgICAgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQgcG8tbG9va3VwLWlucHV0LXRyaWdnZXJcIlxuICAgICAgW25nQ2xhc3NdPVwiY2xlYW4gJiYgaW5wLnZhbHVlID8gJ3BvLWlucHV0LWRvdWJsZS1pY29uLXJpZ2h0JyA6ICdwby1pbnB1dC1pY29uLXJpZ2h0J1wiXG4gICAgICBbaWRdPVwiaWRcIlxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgW2F1dG9jb21wbGV0ZV09XCJhdXRvY29tcGxldGVcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxuICAgICAgKGJsdXIpPVwic2VhcmNoRXZlbnQoKVwiXG4gICAgLz5cbiAgICA8ZGl2IGNsYXNzPVwicG8tbG9va3VwLWJ1dHRvbnNcIj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgKm5nSWY9XCJjbGVhbiAmJiAhZGlzYWJsZWQgJiYgISFpbnAudmFsdWVcIlxuICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtYnV0dG9uIHBvLWxvb2t1cC1idXR0b24tY2xlYW5cIlxuICAgICAgICBbYXJpYUxhYmVsXT1cImxpdGVyYWxzLmNsZWFuXCJcbiAgICAgICAgKGNsaWNrKT1cImNsZWFuTW9kZWwoKVwiXG4gICAgICA+XG4gICAgICAgIDxwby1jbGVhbiBjbGFzcz1cInBvLWljb24taW5wdXRcIj48L3BvLWNsZWFuPlxuICAgICAgPC9idXR0b24+XG4gICAgICA8YnV0dG9uXG4gICAgICAgICNpY29uTG9va3VwXG4gICAgICAgIGNsYXNzPVwicG8tbG9va3VwLWJ1dHRvbiBwby1sb29rdXAtYnV0dG9uLXRyaWdnZXJcIlxuICAgICAgICBbY2xhc3MucG8tbG9va3VwLWJ1dHRvbi1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwibGl0ZXJhbHMuc2VhcmNoXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Mb29rdXAoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDxwby1pY29uIHAtaWNvbj1cIklDT05fU0VBUkNIXCIgY2xhc3M9XCJwby1pY29uLWlucHV0XCI+PC9wby1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8cG8tZmllbGQtY29udGFpbmVyLWJvdHRvbVxuICAgIFtwLWhlbHBdPVwiaGVscFwiXG4gICAgW3AtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtwLWVycm9yLXBhdHRlcm5dPVwiZ2V0RXJyb3JQYXR0ZXJuKClcIlxuICA+PC9wby1maWVsZC1jb250YWluZXItYm90dG9tPlxuPC9wby1maWVsZC1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjZGlzY2xhaW1lcnNUZW1wbGF0ZT5cbiAgPGRpdiBjbGFzcz1cInBvLWxvb2t1cFwiIFtjbGFzcy5wby1sb29rdXAtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICA8ZGl2XG4gICAgICAjaW5wXG4gICAgICBbdGFiaW5kZXhdPVwiZGlzYWJsZWQgPyAtMSA6IDBcIlxuICAgICAgY2xhc3M9XCJwby1sb29rdXAtaW5wdXQgcG8taW5wdXQtaWNvbi1yaWdodCBwby1sb29rdXAtaW5wdXQgcG8taWNvbi1pbnB1dFwiXG4gICAgICBbbmdDbGFzc109XCJjbGVhbiAmJiBpbnAudmFsdWUgPyAncG8taW5wdXQtZG91YmxlLWljb24tcmlnaHQnIDogJ3BvLWlucHV0LWljb24tcmlnaHQnXCJcbiAgICAgIFtjbGFzcy5wby1sb29rdXAtaW5wdXQtYXV0b109XCJhdXRvSGVpZ2h0XCJcbiAgICAgIFtjbGFzcy5wby1sb29rdXAtaW5wdXQtc3RhdGljXT1cIiFhdXRvSGVpZ2h0XCJcbiAgICAgIFtjbGFzcy5wby1sb29rdXAtaW5wdXQtcGFkZGluZy1idXR0b24tY2xlYW5dPVwiY2xlYW5cIlxuICAgICAgW2NsYXNzLnBvLWxvb2t1cC1pbnB1dC1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgPlxuICAgICAgPHNwYW4gKm5nSWY9XCJwbGFjZWhvbGRlciAmJiAhZGlzY2xhaW1lcnM/Lmxlbmd0aFwiIGNsYXNzPVwicG8tbG9va3VwLWlucHV0LXBsYWNlaG9sZGVyXCI+XG4gICAgICAgIHt7IHBsYWNlaG9sZGVyIH19XG4gICAgICA8L3NwYW4+XG5cbiAgICAgIDxwby1kaXNjbGFpbWVyXG4gICAgICAgICpuZ0Zvcj1cImxldCBkaXNjbGFpbWVyIG9mIHZpc2libGVEaXNjbGFpbWVyc1wiXG4gICAgICAgIGNsYXNzPVwicG8tbG9va3VwLWlucHV0LWRpc2NsYWltZXJcIlxuICAgICAgICBbcC1sYWJlbF09XCJkaXNjbGFpbWVyLmxhYmVsXCJcbiAgICAgICAgW3AtdmFsdWVdPVwiZGlzY2xhaW1lci52YWx1ZVwiXG4gICAgICAgIFtwLWhpZGUtY2xvc2VdPVwiZGlzY2xhaW1lci52YWx1ZSA9PT0gJycgfHwgZGlzYWJsZWRcIlxuICAgICAgICBbY2xhc3MucG8tY2xpY2thYmxlXT1cImRpc2NsYWltZXIudmFsdWUgPT09ICcnICYmICFkaXNhYmxlZFwiXG4gICAgICAgIChwLWNsb3NlLWFjdGlvbik9XCJjbG9zZURpc2NsYWltZXIoZGlzY2xhaW1lci52YWx1ZSlcIlxuICAgICAgPlxuICAgICAgPC9wby1kaXNjbGFpbWVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwby1sb29rdXAtYnV0dG9uc1wiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICAqbmdJZj1cImNsZWFuICYmICFkaXNhYmxlZFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInBvLWxvb2t1cC1idXR0b24gcG8tbG9va3VwLWJ1dHRvbi1jbGVhblwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwibGl0ZXJhbHMuY2xlYW5cIlxuICAgICAgICAoY2xpY2spPVwiY2xlYW5Nb2RlbCgpXCJcbiAgICAgID5cbiAgICAgICAgPHBvLWNsZWFuIGNsYXNzPVwicG8taWNvbi1pbnB1dFwiPjwvcG8tY2xlYW4+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b25cbiAgICAgICAgI2ljb25Mb29rdXBcbiAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtYnV0dG9uIHBvLWxvb2t1cC1idXR0b24tdHJpZ2dlclwiXG4gICAgICAgIFthcmlhTGFiZWxdPVwibGl0ZXJhbHMuc2VhcmNoXCJcbiAgICAgICAgKGNsaWNrKT1cIm9wZW5Mb29rdXAoKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICA+XG4gICAgICAgIDxwby1pY29uIHAtaWNvbj1cIklDT05fU0VBUkNIXCIgY2xhc3M9XCJwby1pY29uLWlucHV0XCI+PC9wby1pY29uPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
@@ -6,18 +6,9 @@ import { PoInterceptorsModule } from './interceptors/interceptors.module';
6
6
  import { PoPipesModule } from './pipes/pipes.module';
7
7
  import { PoServicesModule } from './services/services.module';
8
8
  import { PoNotificationService } from './services/po-notification/po-notification.service';
9
- import { PoThemeA11yEnum, poThemeDefault, PoThemeTypeEnum } from './services';
10
9
  import * as i0 from "@angular/core";
11
- import * as i1 from "./services";
12
10
  export class PoModule {
13
- themeService;
14
- constructor(themeService) {
15
- this.themeService = themeService;
16
- if (this.themeService.getThemeActive() === undefined) {
17
- this.themeService.setTheme(poThemeDefault, PoThemeTypeEnum.light, PoThemeA11yEnum.AAA, false);
18
- }
19
- }
20
- static ɵfac = function PoModule_Factory(t) { return new (t || PoModule)(i0.ɵɵinject(i1.PoThemeService)); };
11
+ static ɵfac = function PoModule_Factory(t) { return new (t || PoModule)(); };
21
12
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PoModule });
22
13
  static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [PoNotificationService], imports: [PoComponentsModule,
23
14
  PoDirectivesModule,
@@ -54,7 +45,7 @@ export class PoModule {
54
45
  providers: [PoNotificationService],
55
46
  bootstrap: []
56
47
  }]
57
- }], () => [{ type: i1.PoThemeService }], null); })();
48
+ }], null, null); })();
58
49
  (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PoModule, { imports: [PoComponentsModule,
59
50
  PoDirectivesModule,
60
51
  PoGuardsModule,
@@ -66,4 +57,4 @@ export class PoModule {
66
57
  PoGuardsModule,
67
58
  PoPipesModule,
68
59
  PoServicesModule] }); })();
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9wby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzNGLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFrQixlQUFlLEVBQUUsTUFBTSxZQUFZLENBQUM7OztBQXVCOUYsTUFBTSxPQUFPLFFBQVE7SUFDQztJQUFwQixZQUFvQixZQUE0QjtRQUE1QixpQkFBWSxHQUFaLFlBQVksQ0FBZ0I7UUFDOUMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsRUFBRSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3JELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxlQUFlLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNILENBQUM7a0VBTFUsUUFBUTs0REFBUixRQUFRO2lFQUhSLENBQUMscUJBQXFCLENBQUMsWUFmaEMsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixnQkFBZ0IsRUFHaEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGFBQWE7WUFDYixnQkFBZ0I7O2lGQUtQLFFBQVE7Y0FyQnBCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYixnQkFBZ0I7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsZ0JBQWdCO2lCQUNqQjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDbEMsU0FBUyxFQUFFLEVBQUU7YUFDZDs7d0ZBQ1ksUUFBUSxjQWxCakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYixnQkFBZ0IsYUFHaEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLGFBQWE7UUFDYixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb0NvbXBvbmVudHNNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuaW1wb3J0IHsgUG9EaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7IFBvR3VhcmRzTW9kdWxlIH0gZnJvbSAnLi9ndWFyZHMvZ3VhcmRzLm1vZHVsZSc7XG5pbXBvcnQgeyBQb0ludGVyY2VwdG9yc01vZHVsZSB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2ludGVyY2VwdG9ycy5tb2R1bGUnO1xuaW1wb3J0IHsgUG9QaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFBvU2VydmljZXNNb2R1bGUgfSBmcm9tICcuL3NlcnZpY2VzL3NlcnZpY2VzLm1vZHVsZSc7XG5pbXBvcnQgeyBQb05vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLW5vdGlmaWNhdGlvbi9wby1ub3RpZmljYXRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBQb1RoZW1lQTExeUVudW0sIHBvVGhlbWVEZWZhdWx0LCBQb1RoZW1lU2VydmljZSwgUG9UaGVtZVR5cGVFbnVtIH0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBQb0NvbXBvbmVudHNNb2R1bGUsXG4gICAgUG9EaXJlY3RpdmVzTW9kdWxlLFxuICAgIFBvR3VhcmRzTW9kdWxlLFxuICAgIFBvSW50ZXJjZXB0b3JzTW9kdWxlLFxuICAgIFBvUGlwZXNNb2R1bGUsXG4gICAgUG9TZXJ2aWNlc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUG9Db21wb25lbnRzTW9kdWxlLFxuICAgIFBvRGlyZWN0aXZlc01vZHVsZSxcbiAgICBQb0ludGVyY2VwdG9yc01vZHVsZSxcbiAgICBQb0d1YXJkc01vZHVsZSxcbiAgICBQb1BpcGVzTW9kdWxlLFxuICAgIFBvU2VydmljZXNNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbUG9Ob3RpZmljYXRpb25TZXJ2aWNlXSxcbiAgYm9vdHN0cmFwOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBQb01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgdGhlbWVTZXJ2aWNlOiBQb1RoZW1lU2VydmljZSkge1xuICAgIGlmICh0aGlzLnRoZW1lU2VydmljZS5nZXRUaGVtZUFjdGl2ZSgpID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMudGhlbWVTZXJ2aWNlLnNldFRoZW1lKHBvVGhlbWVEZWZhdWx0LCBQb1RoZW1lVHlwZUVudW0ubGlnaHQsIFBvVGhlbWVBMTF5RW51bS5BQUEsIGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9wby5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQXVCM0YsTUFBTSxPQUFPLFFBQVE7a0VBQVIsUUFBUTs0REFBUixRQUFRO2lFQUhSLENBQUMscUJBQXFCLENBQUMsWUFmaEMsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2Qsb0JBQW9CO1lBQ3BCLGFBQWE7WUFDYixnQkFBZ0IsRUFHaEIsa0JBQWtCO1lBQ2xCLGtCQUFrQjtZQUNsQixvQkFBb0I7WUFDcEIsY0FBYztZQUNkLGFBQWE7WUFDYixnQkFBZ0I7O2lGQUtQLFFBQVE7Y0FyQnBCLFFBQVE7ZUFBQztnQkFDUixZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLGtCQUFrQjtvQkFDbEIsa0JBQWtCO29CQUNsQixjQUFjO29CQUNkLG9CQUFvQjtvQkFDcEIsYUFBYTtvQkFDYixnQkFBZ0I7aUJBQ2pCO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxrQkFBa0I7b0JBQ2xCLGtCQUFrQjtvQkFDbEIsb0JBQW9CO29CQUNwQixjQUFjO29CQUNkLGFBQWE7b0JBQ2IsZ0JBQWdCO2lCQUNqQjtnQkFDRCxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDbEMsU0FBUyxFQUFFLEVBQUU7YUFDZDs7d0ZBQ1ksUUFBUSxjQWxCakIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixjQUFjO1FBQ2Qsb0JBQW9CO1FBQ3BCLGFBQWE7UUFDYixnQkFBZ0IsYUFHaEIsa0JBQWtCO1FBQ2xCLGtCQUFrQjtRQUNsQixvQkFBb0I7UUFDcEIsY0FBYztRQUNkLGFBQWE7UUFDYixnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBQb0NvbXBvbmVudHNNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuaW1wb3J0IHsgUG9EaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2RpcmVjdGl2ZXMubW9kdWxlJztcbmltcG9ydCB7IFBvR3VhcmRzTW9kdWxlIH0gZnJvbSAnLi9ndWFyZHMvZ3VhcmRzLm1vZHVsZSc7XG5pbXBvcnQgeyBQb0ludGVyY2VwdG9yc01vZHVsZSB9IGZyb20gJy4vaW50ZXJjZXB0b3JzL2ludGVyY2VwdG9ycy5tb2R1bGUnO1xuaW1wb3J0IHsgUG9QaXBlc01vZHVsZSB9IGZyb20gJy4vcGlwZXMvcGlwZXMubW9kdWxlJztcbmltcG9ydCB7IFBvU2VydmljZXNNb2R1bGUgfSBmcm9tICcuL3NlcnZpY2VzL3NlcnZpY2VzLm1vZHVsZSc7XG5pbXBvcnQgeyBQb05vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzL3BvLW5vdGlmaWNhdGlvbi9wby1ub3RpZmljYXRpb24uc2VydmljZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGltcG9ydHM6IFtcbiAgICBQb0NvbXBvbmVudHNNb2R1bGUsXG4gICAgUG9EaXJlY3RpdmVzTW9kdWxlLFxuICAgIFBvR3VhcmRzTW9kdWxlLFxuICAgIFBvSW50ZXJjZXB0b3JzTW9kdWxlLFxuICAgIFBvUGlwZXNNb2R1bGUsXG4gICAgUG9TZXJ2aWNlc01vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgUG9Db21wb25lbnRzTW9kdWxlLFxuICAgIFBvRGlyZWN0aXZlc01vZHVsZSxcbiAgICBQb0ludGVyY2VwdG9yc01vZHVsZSxcbiAgICBQb0d1YXJkc01vZHVsZSxcbiAgICBQb1BpcGVzTW9kdWxlLFxuICAgIFBvU2VydmljZXNNb2R1bGVcbiAgXSxcbiAgcHJvdmlkZXJzOiBbUG9Ob3RpZmljYXRpb25TZXJ2aWNlXSxcbiAgYm9vdHN0cmFwOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBQb01vZHVsZSB7fVxuIl19
@@ -15,9 +15,6 @@
15
15
  *
16
16
  * // Definindo o tipo de tema para dark
17
17
  * themeService.setTheme(...theme, PoThemeTypeEnum.dark);
18
- *
19
- * // Definir o tipo do tema de um tema já aplicado
20
- * themeService.setCurrentThemeType(PoThemeTypeEnum.dark);
21
18
  * ```
22
19
  */
23
20
  export var PoThemeTypeEnum;
@@ -27,4 +24,4 @@ export var PoThemeTypeEnum;
27
24
  /** Define o tema como escuro. */
28
25
  PoThemeTypeEnum[PoThemeTypeEnum["dark"] = 1] = "dark";
29
26
  })(PoThemeTypeEnum || (PoThemeTypeEnum = {}));
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGhlbWUtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zZXJ2aWNlcy9wby10aGVtZS9lbnVtL3BvLXRoZW1lLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBcUJHO0FBQ0gsTUFBTSxDQUFOLElBQVksZUFNWDtBQU5ELFdBQVksZUFBZTtJQUN6QixnQ0FBZ0M7SUFDaEMsdURBQUssQ0FBQTtJQUVMLGlDQUFpQztJQUNqQyxxREFBSSxDQUFBO0FBQ04sQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIHBhcmEgZGVmaW5pciBvcyB0aXBvcyBkZSB0ZW1hIHN1cG9ydGFkb3MgcGVsbyBzZXJ2acOnbyBkZSB0ZW1hcy5cbiAqXG4gKiBAdXNlZEJ5IFBvVGhlbWVTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBFbSB1bSBzZXJ2acOnbyBkZSB0ZW1hLCB2b2PDqiBwb2RlIHVzYXIgZXN0ZSBlbnVtIHBhcmEgYWx0ZXJuYXIgZW50cmUgb3MgdGlwb3MgZGUgdGVtYXMgc3Vwb3J0YWRvcy5cbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IFBvVGhlbWVUeXBlRW51bSB9IGZyb20gJ0Bwby11aS90aGVtZSc7XG4gKlxuICogLy8gRGVmaW5pbmRvIG8gdGlwbyBkZSB0ZW1hIHBhcmEgbGlnaHRcbiAqIHRoZW1lU2VydmljZS5zZXRUaGVtZSguLi50aGVtZSwgUG9UaGVtZVR5cGVFbnVtLmxpZ2h0KTtcbiAqXG4gKiAvLyBEZWZpbmluZG8gbyB0aXBvIGRlIHRlbWEgcGFyYSBkYXJrXG4gKiB0aGVtZVNlcnZpY2Uuc2V0VGhlbWUoLi4udGhlbWUsIFBvVGhlbWVUeXBlRW51bS5kYXJrKTtcbiAqXG4gKiAvLyBEZWZpbmlyIG8gdGlwbyBkbyB0ZW1hIGRlIHVtIHRlbWEgasOhIGFwbGljYWRvXG4gKiB0aGVtZVNlcnZpY2Uuc2V0Q3VycmVudFRoZW1lVHlwZShQb1RoZW1lVHlwZUVudW0uZGFyayk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGVudW0gUG9UaGVtZVR5cGVFbnVtIHtcbiAgLyoqIERlZmluZSBvIHRlbWEgY29tbyBjbGFyby4gKi9cbiAgbGlnaHQsXG5cbiAgLyoqIERlZmluZSBvIHRlbWEgY29tbyBlc2N1cm8uICovXG4gIGRhcmtcbn1cbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGhlbWUtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9zZXJ2aWNlcy9wby10aGVtZS9lbnVtL3BvLXRoZW1lLXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxDQUFOLElBQVksZUFNWDtBQU5ELFdBQVksZUFBZTtJQUN6QixnQ0FBZ0M7SUFDaEMsdURBQUssQ0FBQTtJQUVMLGlDQUFpQztJQUNqQyxxREFBSSxDQUFBO0FBQ04sQ0FBQyxFQU5XLGVBQWUsS0FBZixlQUFlLFFBTTFCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFbnVtIHBhcmEgZGVmaW5pciBvcyB0aXBvcyBkZSB0ZW1hIHN1cG9ydGFkb3MgcGVsbyBzZXJ2acOnbyBkZSB0ZW1hcy5cbiAqXG4gKiBAdXNlZEJ5IFBvVGhlbWVTZXJ2aWNlXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBFbSB1bSBzZXJ2acOnbyBkZSB0ZW1hLCB2b2PDqiBwb2RlIHVzYXIgZXN0ZSBlbnVtIHBhcmEgYWx0ZXJuYXIgZW50cmUgb3MgdGlwb3MgZGUgdGVtYXMgc3Vwb3J0YWRvcy5cbiAqXG4gKiBgYGBcbiAqIGltcG9ydCB7IFBvVGhlbWVUeXBlRW51bSB9IGZyb20gJ0Bwby11aS90aGVtZSc7XG4gKlxuICogLy8gRGVmaW5pbmRvIG8gdGlwbyBkZSB0ZW1hIHBhcmEgbGlnaHRcbiAqIHRoZW1lU2VydmljZS5zZXRUaGVtZSguLi50aGVtZSwgUG9UaGVtZVR5cGVFbnVtLmxpZ2h0KTtcbiAqXG4gKiAvLyBEZWZpbmluZG8gbyB0aXBvIGRlIHRlbWEgcGFyYSBkYXJrXG4gKiB0aGVtZVNlcnZpY2Uuc2V0VGhlbWUoLi4udGhlbWUsIFBvVGhlbWVUeXBlRW51bS5kYXJrKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZW51bSBQb1RoZW1lVHlwZUVudW0ge1xuICAvKiogRGVmaW5lIG8gdGVtYSBjb21vIGNsYXJvLiAqL1xuICBsaWdodCxcblxuICAvKiogRGVmaW5lIG8gdGVtYSBjb21vIGVzY3Vyby4gKi9cbiAgZGFya1xufVxuIl19