@ksremp/ngx-ksremp-app-lib 1.0.25 → 2.0.0

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 (41) hide show
  1. package/esm2022/lib/components/chatbot-lex/chatbot-lex.component.mjs +609 -0
  2. package/esm2022/lib/components/footer/footer.component.mjs +11 -13
  3. package/esm2022/lib/components/header/header.component.mjs +50 -45
  4. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +5 -1
  5. package/esm2022/lib/components/user-login/user-login.component.mjs +43 -3
  6. package/esm2022/lib/models/LibConstants.mjs +2 -8
  7. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +10 -5
  8. package/esm2022/lib/pages/BasePage.mjs +4 -1
  9. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +12 -14
  10. package/esm2022/lib/services/lex-chat/lex-chat.service.mjs +86 -0
  11. package/esm2022/public-api.mjs +4 -3
  12. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs +1020 -582
  13. package/fesm2022/ksremp-ngx-ksremp-app-lib.mjs.map +1 -1
  14. package/lib/components/chatbot-lex/chatbot-lex.component.d.ts +79 -0
  15. package/lib/components/chatbot-lex/chatbot-lex.component.d.ts.map +1 -0
  16. package/lib/components/footer/footer.component.d.ts +1 -3
  17. package/lib/components/footer/footer.component.d.ts.map +1 -1
  18. package/lib/components/header/header.component.d.ts +2 -1
  19. package/lib/components/header/header.component.d.ts.map +1 -1
  20. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  21. package/lib/components/user-login/user-login.component.d.ts +4 -1
  22. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  23. package/lib/models/LibConstants.d.ts +1 -7
  24. package/lib/models/LibConstants.d.ts.map +1 -1
  25. package/lib/ngx-reusa-app-lib.module.d.ts +61 -60
  26. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  27. package/lib/pages/BasePage.d.ts +1 -0
  28. package/lib/pages/BasePage.d.ts.map +1 -1
  29. package/lib/pages/common/landing2/landing2.component.d.ts +1 -3
  30. package/lib/pages/common/landing2/landing2.component.d.ts.map +1 -1
  31. package/lib/services/lex-chat/lex-chat.service.d.ts +24 -0
  32. package/lib/services/lex-chat/lex-chat.service.d.ts.map +1 -0
  33. package/package.json +1 -1
  34. package/public-api.d.ts +2 -2
  35. package/public-api.d.ts.map +1 -1
  36. package/esm2022/lib/services/chatbot/chatbot.service.mjs +0 -258
  37. package/esm2022/lib/services/chatbot/script.const.mjs +0 -42
  38. package/lib/services/chatbot/chatbot.service.d.ts +0 -61
  39. package/lib/services/chatbot/chatbot.service.d.ts.map +0 -1
  40. package/lib/services/chatbot/script.const.d.ts +0 -16
  41. package/lib/services/chatbot/script.const.d.ts.map +0 -1
@@ -24,21 +24,21 @@ import * as i16 from "primeng/menu";
24
24
  import * as i17 from "../profile/profile.component";
25
25
  import * as i18 from "../../pipes/proper-case/proper-case.pipe";
26
26
  function HeaderComponent_mat_progress_bar_0_Template(rf, ctx) { if (rf & 1) {
27
- i0.ɵɵelement(0, "mat-progress-bar", 12);
27
+ i0.ɵɵelement(0, "mat-progress-bar", 13);
28
28
  i0.ɵɵpipe(1, "async");
29
29
  } if (rf & 2) {
30
30
  const ctx_r0 = i0.ɵɵnextContext();
31
31
  i0.ɵɵproperty("value", i0.ɵɵpipeBind1(1, 1, ctx_r0.util.loader.value$));
32
32
  } }
33
33
  function HeaderComponent_ion_menu_button_4_Template(rf, ctx) { if (rf & 1) {
34
- i0.ɵɵelement(0, "ion-menu-button", 13);
34
+ i0.ɵɵelement(0, "ion-menu-button", 14);
35
35
  i0.ɵɵpipe(1, "translate");
36
36
  } if (rf & 2) {
37
37
  i0.ɵɵpropertyInterpolate("pTooltip", i0.ɵɵpipeBind1(1, 1, "header.menu"));
38
38
  } }
39
39
  function HeaderComponent_ion_buttons_9_ion_button_4_Template(rf, ctx) { if (rf & 1) {
40
40
  const _r14 = i0.ɵɵgetCurrentView();
41
- i0.ɵɵelementStart(0, "ion-button", 18);
41
+ i0.ɵɵelementStart(0, "ion-button", 19);
42
42
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_9_ion_button_4_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.openWeeklies()); });
43
43
  i0.ɵɵpipe(1, "translate");
44
44
  i0.ɵɵtext(2);
@@ -52,7 +52,7 @@ function HeaderComponent_ion_buttons_9_ion_button_4_Template(rf, ctx) { if (rf &
52
52
  } }
53
53
  function HeaderComponent_ion_buttons_9_ion_button_5_Template(rf, ctx) { if (rf & 1) {
54
54
  const _r16 = i0.ɵɵgetCurrentView();
55
- i0.ɵɵelementStart(0, "ion-button", 15);
55
+ i0.ɵɵelementStart(0, "ion-button", 16);
56
56
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_9_ion_button_5_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.openWeeklies()); });
57
57
  i0.ɵɵpipe(1, "translate");
58
58
  i0.ɵɵtext(2);
@@ -66,7 +66,7 @@ function HeaderComponent_ion_buttons_9_ion_button_5_Template(rf, ctx) { if (rf &
66
66
  } }
67
67
  function HeaderComponent_ion_buttons_9_ion_button_6_Template(rf, ctx) { if (rf & 1) {
68
68
  const _r18 = i0.ɵɵgetCurrentView();
69
- i0.ɵɵelementStart(0, "ion-button", 15);
69
+ i0.ɵɵelementStart(0, "ion-button", 16);
70
70
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_9_ion_button_6_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r18); const ctx_r17 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r17.openWeeklies()); });
71
71
  i0.ɵɵpipe(1, "translate");
72
72
  i0.ɵɵtext(2);
@@ -80,7 +80,7 @@ function HeaderComponent_ion_buttons_9_ion_button_6_Template(rf, ctx) { if (rf &
80
80
  } }
81
81
  function HeaderComponent_ion_buttons_9_ion_button_7_Template(rf, ctx) { if (rf & 1) {
82
82
  const _r20 = i0.ɵɵgetCurrentView();
83
- i0.ɵɵelementStart(0, "ion-button", 18);
83
+ i0.ɵɵelementStart(0, "ion-button", 19);
84
84
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_9_ion_button_7_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.openPage("cp", "history")); });
85
85
  i0.ɵɵpipe(1, "translate");
86
86
  i0.ɵɵtext(2);
@@ -94,12 +94,12 @@ function HeaderComponent_ion_buttons_9_ion_button_7_Template(rf, ctx) { if (rf &
94
94
  } }
95
95
  function HeaderComponent_ion_buttons_9_Template(rf, ctx) { if (rf & 1) {
96
96
  const _r22 = i0.ɵɵgetCurrentView();
97
- i0.ɵɵelementStart(0, "ion-buttons", 14)(1, "ion-button", 15);
97
+ i0.ɵɵelementStart(0, "ion-buttons", 15)(1, "ion-button", 16);
98
98
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_9_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r21.openHome()); });
99
99
  i0.ɵɵpipe(2, "translate");
100
100
  i0.ɵɵtext(3);
101
101
  i0.ɵɵelementEnd();
102
- i0.ɵɵtemplate(4, HeaderComponent_ion_buttons_9_ion_button_4_Template, 3, 5, "ion-button", 16)(5, HeaderComponent_ion_buttons_9_ion_button_5_Template, 3, 5, "ion-button", 17)(6, HeaderComponent_ion_buttons_9_ion_button_6_Template, 3, 5, "ion-button", 17)(7, HeaderComponent_ion_buttons_9_ion_button_7_Template, 3, 5, "ion-button", 16);
102
+ i0.ɵɵtemplate(4, HeaderComponent_ion_buttons_9_ion_button_4_Template, 3, 5, "ion-button", 17)(5, HeaderComponent_ion_buttons_9_ion_button_5_Template, 3, 5, "ion-button", 18)(6, HeaderComponent_ion_buttons_9_ion_button_6_Template, 3, 5, "ion-button", 18)(7, HeaderComponent_ion_buttons_9_ion_button_7_Template, 3, 5, "ion-button", 17);
103
103
  i0.ɵɵelementEnd();
104
104
  } if (rf & 2) {
105
105
  const ctx_r2 = i0.ɵɵnextContext();
@@ -118,15 +118,15 @@ function HeaderComponent_ion_buttons_9_Template(rf, ctx) { if (rf & 1) {
118
118
  i0.ɵɵproperty("ngIf", ctx_r2.ls.isClaimant() && ctx_r2.legacyMenu == "false");
119
119
  } }
120
120
  function HeaderComponent_div_10_ng_template_2_Template(rf, ctx) { if (rf & 1) {
121
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 22)(2, "ion-text");
121
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 23)(2, "ion-text");
122
122
  i0.ɵɵtext(3);
123
123
  i0.ɵɵpipe(4, "properCase");
124
124
  i0.ɵɵpipe(5, "properCase");
125
125
  i0.ɵɵelementEnd()();
126
- i0.ɵɵelementStart(6, "ion-col", 22)(7, "ion-text");
126
+ i0.ɵɵelementStart(6, "ion-col", 23)(7, "ion-text");
127
127
  i0.ɵɵtext(8);
128
128
  i0.ɵɵelementEnd()();
129
- i0.ɵɵelementStart(9, "ion-col", 22)(10, "ion-text");
129
+ i0.ɵɵelementStart(9, "ion-col", 23)(10, "ion-text");
130
130
  i0.ɵɵtext(11);
131
131
  i0.ɵɵelementEnd()()();
132
132
  } if (rf & 2) {
@@ -141,9 +141,9 @@ function HeaderComponent_div_10_ng_template_2_Template(rf, ctx) { if (rf & 1) {
141
141
  } }
142
142
  function HeaderComponent_div_10_Template(rf, ctx) { if (rf & 1) {
143
143
  const _r26 = i0.ɵɵgetCurrentView();
144
- i0.ɵɵelementStart(0, "div", 19)(1, "p-autoComplete", 20);
144
+ i0.ɵɵelementStart(0, "div", 20)(1, "p-autoComplete", 21);
145
145
  i0.ɵɵlistener("ngModelChange", function HeaderComponent_div_10_Template_p_autoComplete_ngModelChange_1_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r25.searchText = $event); })("completeMethod", function HeaderComponent_div_10_Template_p_autoComplete_completeMethod_1_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r27 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r27.search($event)); })("onSelect", function HeaderComponent_div_10_Template_p_autoComplete_onSelect_1_listener($event) { i0.ɵɵrestoreView(_r26); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.onSelectAction($event)); });
146
- i0.ɵɵtemplate(2, HeaderComponent_div_10_ng_template_2_Template, 12, 8, "ng-template", 21);
146
+ i0.ɵɵtemplate(2, HeaderComponent_div_10_ng_template_2_Template, 12, 8, "ng-template", 22);
147
147
  i0.ɵɵelementEnd()();
148
148
  } if (rf & 2) {
149
149
  const ctx_r3 = i0.ɵɵnextContext();
@@ -152,10 +152,10 @@ function HeaderComponent_div_10_Template(rf, ctx) { if (rf & 1) {
152
152
  } }
153
153
  function HeaderComponent_ion_buttons_11_ion_button_7_Template(rf, ctx) { if (rf & 1) {
154
154
  const _r33 = i0.ɵɵgetCurrentView();
155
- i0.ɵɵelementStart(0, "ion-button", 15);
155
+ i0.ɵɵelementStart(0, "ion-button", 16);
156
156
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_11_ion_button_7_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r33); const ctx_r32 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r32.openPage("cp", "documents")); });
157
157
  i0.ɵɵpipe(1, "translate");
158
- i0.ɵɵelement(2, "ion-icon", 26);
158
+ i0.ɵɵelement(2, "ion-icon", 27);
159
159
  i0.ɵɵelementEnd();
160
160
  } if (rf & 2) {
161
161
  const ctx_r29 = i0.ɵɵnextContext(2);
@@ -164,36 +164,36 @@ function HeaderComponent_ion_buttons_11_ion_button_7_Template(rf, ctx) { if (rf
164
164
  } }
165
165
  function HeaderComponent_ion_buttons_11_ion_button_8_Template(rf, ctx) { if (rf & 1) {
166
166
  const _r35 = i0.ɵɵgetCurrentView();
167
- i0.ɵɵelementStart(0, "ion-button", 27);
167
+ i0.ɵɵelementStart(0, "ion-button", 28);
168
168
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_11_ion_button_8_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r34.openPage("cp", "documents")); });
169
169
  i0.ɵɵpipe(1, "translate");
170
- i0.ɵɵelement(2, "ion-icon", 26);
170
+ i0.ɵɵelement(2, "ion-icon", 27);
171
171
  i0.ɵɵelementEnd();
172
172
  } if (rf & 2) {
173
173
  i0.ɵɵpropertyInterpolate("pTooltip", i0.ɵɵpipeBind1(1, 1, "header.my-documents"));
174
174
  } }
175
175
  function HeaderComponent_ion_buttons_11_ion_button_9_Template(rf, ctx) { if (rf & 1) {
176
176
  const _r37 = i0.ɵɵgetCurrentView();
177
- i0.ɵɵelementStart(0, "ion-button", 27);
177
+ i0.ɵɵelementStart(0, "ion-button", 28);
178
178
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_11_ion_button_9_Template_ion_button_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r36 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r36.hs.show()); });
179
179
  i0.ɵɵpipe(1, "translate");
180
- i0.ɵɵelement(2, "ion-icon", 28);
180
+ i0.ɵɵelement(2, "ion-icon", 29);
181
181
  i0.ɵɵelementEnd();
182
182
  } if (rf & 2) {
183
183
  i0.ɵɵpropertyInterpolate("pTooltip", i0.ɵɵpipeBind1(1, 1, "header.help"));
184
184
  } }
185
185
  function HeaderComponent_ion_buttons_11_Template(rf, ctx) { if (rf & 1) {
186
186
  const _r39 = i0.ɵɵgetCurrentView();
187
- i0.ɵɵelementStart(0, "ion-buttons", 23)(1, "ion-button", 15);
187
+ i0.ɵɵelementStart(0, "ion-buttons", 24)(1, "ion-button", 16);
188
188
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_11_Template_ion_button_click_1_listener($event) { i0.ɵɵrestoreView(_r39); const ctx_r38 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r38.presentMyProfilePopover($event)); });
189
189
  i0.ɵɵpipe(2, "translate");
190
190
  i0.ɵɵelementStart(3, "h4");
191
191
  i0.ɵɵtext(4);
192
192
  i0.ɵɵpipe(5, "properCase");
193
193
  i0.ɵɵelementEnd();
194
- i0.ɵɵelement(6, "ion-icon", 24);
194
+ i0.ɵɵelement(6, "ion-icon", 25);
195
195
  i0.ɵɵelementEnd();
196
- i0.ɵɵtemplate(7, HeaderComponent_ion_buttons_11_ion_button_7_Template, 3, 4, "ion-button", 17)(8, HeaderComponent_ion_buttons_11_ion_button_8_Template, 3, 3, "ion-button", 25)(9, HeaderComponent_ion_buttons_11_ion_button_9_Template, 3, 3, "ion-button", 25);
196
+ i0.ɵɵtemplate(7, HeaderComponent_ion_buttons_11_ion_button_7_Template, 3, 4, "ion-button", 18)(8, HeaderComponent_ion_buttons_11_ion_button_8_Template, 3, 3, "ion-button", 26)(9, HeaderComponent_ion_buttons_11_ion_button_9_Template, 3, 3, "ion-button", 26);
197
197
  i0.ɵɵpipe(10, "async");
198
198
  i0.ɵɵelementEnd();
199
199
  } if (rf & 2) {
@@ -212,10 +212,10 @@ function HeaderComponent_ion_buttons_11_Template(rf, ctx) { if (rf & 1) {
212
212
  } }
213
213
  function HeaderComponent_ion_buttons_12_Template(rf, ctx) { if (rf & 1) {
214
214
  const _r41 = i0.ɵɵgetCurrentView();
215
- i0.ɵɵelementStart(0, "ion-buttons", 29)(1, "ion-button", 27);
215
+ i0.ɵɵelementStart(0, "ion-buttons", 30)(1, "ion-button", 28);
216
216
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_12_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r41); const ctx_r40 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r40.logout()); });
217
217
  i0.ɵɵpipe(2, "translate");
218
- i0.ɵɵelement(3, "ion-icon", 30);
218
+ i0.ɵɵelement(3, "ion-icon", 31);
219
219
  i0.ɵɵelementEnd()();
220
220
  } if (rf & 2) {
221
221
  i0.ɵɵadvance(1);
@@ -223,22 +223,23 @@ function HeaderComponent_ion_buttons_12_Template(rf, ctx) { if (rf & 1) {
223
223
  } }
224
224
  function HeaderComponent_ion_buttons_13_Template(rf, ctx) { if (rf & 1) {
225
225
  const _r44 = i0.ɵɵgetCurrentView();
226
- i0.ɵɵelementStart(0, "ion-buttons", 23);
227
- i0.ɵɵelement(1, "p-menu", 31, 32);
228
- i0.ɵɵelementStart(3, "ion-button", 33);
226
+ i0.ɵɵelementStart(0, "ion-buttons", 32);
227
+ i0.ɵɵelement(1, "p-menu", 33, 34);
228
+ i0.ɵɵelementStart(3, "ion-button", 35);
229
229
  i0.ɵɵlistener("click", function HeaderComponent_ion_buttons_13_Template_ion_button_click_3_listener($event) { i0.ɵɵrestoreView(_r44); const _r42 = i0.ɵɵreference(2); return i0.ɵɵresetView(_r42.toggle($event)); });
230
230
  i0.ɵɵpipe(4, "translate");
231
- i0.ɵɵelement(5, "ion-icon", 34);
231
+ i0.ɵɵelement(5, "ion-icon", 36);
232
232
  i0.ɵɵelementEnd()();
233
233
  } if (rf & 2) {
234
234
  const ctx_r6 = i0.ɵɵnextContext();
235
+ i0.ɵɵproperty("disabled", ctx_r6.isEmployer);
235
236
  i0.ɵɵadvance(1);
236
237
  i0.ɵɵproperty("popup", true)("model", ctx_r6.items);
237
238
  i0.ɵɵadvance(2);
238
- i0.ɵɵpropertyInterpolate("pTooltip", i0.ɵɵpipeBind1(4, 3, "header.language"));
239
+ i0.ɵɵpropertyInterpolate("pTooltip", i0.ɵɵpipeBind1(4, 4, "header.language"));
239
240
  } }
240
241
  function HeaderComponent_ion_toolbar_14_ion_title_3_Template(rf, ctx) { if (rf & 1) {
241
- i0.ɵɵelementStart(0, "ion-title", 39);
242
+ i0.ɵɵelementStart(0, "ion-title", 41);
242
243
  i0.ɵɵtext(1);
243
244
  i0.ɵɵelementEnd();
244
245
  } if (rf & 2) {
@@ -247,7 +248,7 @@ function HeaderComponent_ion_toolbar_14_ion_title_3_Template(rf, ctx) { if (rf &
247
248
  i0.ɵɵtextInterpolate(ctx_r45.title);
248
249
  } }
249
250
  function HeaderComponent_ion_toolbar_14_ion_title_6_Template(rf, ctx) { if (rf & 1) {
250
- i0.ɵɵelementStart(0, "ion-title", 40);
251
+ i0.ɵɵelementStart(0, "ion-title", 42);
251
252
  i0.ɵɵtext(1);
252
253
  i0.ɵɵelementEnd();
253
254
  } if (rf & 2) {
@@ -256,13 +257,13 @@ function HeaderComponent_ion_toolbar_14_ion_title_6_Template(rf, ctx) { if (rf &
256
257
  i0.ɵɵtextInterpolate1(" ", ctx_r46.pageId, "");
257
258
  } }
258
259
  function HeaderComponent_ion_toolbar_14_Template(rf, ctx) { if (rf & 1) {
259
- i0.ɵɵelementStart(0, "ion-toolbar", 35)(1, "ion-buttons", 14);
260
- i0.ɵɵelement(2, "ion-back-button", 36);
261
- i0.ɵɵtemplate(3, HeaderComponent_ion_toolbar_14_ion_title_3_Template, 2, 1, "ion-title", 37);
260
+ i0.ɵɵelementStart(0, "ion-toolbar", 37)(1, "ion-buttons", 15);
261
+ i0.ɵɵelement(2, "ion-back-button", 38);
262
+ i0.ɵɵtemplate(3, HeaderComponent_ion_toolbar_14_ion_title_3_Template, 2, 1, "ion-title", 39);
262
263
  i0.ɵɵelementEnd();
263
264
  i0.ɵɵprojection(4, 1);
264
- i0.ɵɵelementStart(5, "ion-buttons", 23);
265
- i0.ɵɵtemplate(6, HeaderComponent_ion_toolbar_14_ion_title_6_Template, 2, 1, "ion-title", 38);
265
+ i0.ɵɵelementStart(5, "ion-buttons", 24);
266
+ i0.ɵɵtemplate(6, HeaderComponent_ion_toolbar_14_ion_title_6_Template, 2, 1, "ion-title", 40);
266
267
  i0.ɵɵelementEnd()();
267
268
  } if (rf & 2) {
268
269
  const ctx_r7 = i0.ɵɵnextContext();
@@ -275,7 +276,7 @@ function HeaderComponent_ion_toolbar_14_Template(rf, ctx) { if (rf & 1) {
275
276
  } }
276
277
  function HeaderComponent_app_profile_16_Template(rf, ctx) { if (rf & 1) {
277
278
  const _r48 = i0.ɵɵgetCurrentView();
278
- i0.ɵɵelementStart(0, "app-profile", 41);
279
+ i0.ɵɵelementStart(0, "app-profile", 43);
279
280
  i0.ɵɵlistener("onCancel", function HeaderComponent_app_profile_16_Template_app_profile_onCancel_0_listener() { i0.ɵɵrestoreView(_r48); const ctx_r47 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r47.showProfilePopup = false); });
280
281
  i0.ɵɵelementEnd();
281
282
  } }
@@ -296,6 +297,7 @@ export class HeaderComponent extends BasePage {
296
297
  this.secondToolbar = false;
297
298
  this.displayLogo = false;
298
299
  this.showHistory = false;
300
+ this.isEmployer = false;
299
301
  this.showNotificationLoader = false;
300
302
  this.legacyMenu = LibConstants.legacyMenu;
301
303
  this.showProfilePopup = false;
@@ -467,7 +469,7 @@ export class HeaderComponent extends BasePage {
467
469
  return this.translateService.instant('common.history');
468
470
  }
469
471
  static { this.ɵfac = function HeaderComponent_Factory(t) { return new (t || HeaderComponent)(i0.ɵɵdirectiveInject(i1.LoginService), i0.ɵɵdirectiveInject(i2.UtilService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.PopoverController), i0.ɵɵdirectiveInject(i5.ClaimantService), i0.ɵɵdirectiveInject(i4.NavController), i0.ɵɵdirectiveInject(i4.ModalController), i0.ɵɵdirectiveInject(i6.NotificationService), i0.ɵɵdirectiveInject(i7.HelpService), i0.ɵɵdirectiveInject(i8.TranslateService)); }; }
470
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["app-header"]], inputs: { title: "title", pageId: "pageId", secondToolbar: "secondToolbar", displayLogo: "displayLogo", showHistory: "showHistory", backPage: "backPage" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 17, vars: 16, consts: [["mode", "determinate", 3, "value", 4, "ngIf"], ["slot", "start", 2, "margin-left", "-5px"], ["autoHide", "false", "tooltipPosition", "bottom", 3, "pTooltip", 4, "ngIf"], ["slot", "start", 3, "ngClass"], ["alt", "Logo of the Kansas Department of Labor", "tooltipPosition", "bottom", "aria-label", "Logo of the Kansas Department of Labor", "id", "header_reemployme_logo", "src", "assets/icon/kdol_logo.png", 3, "pTooltip", "ngClass"], ["slot", "start", 4, "ngIf"], ["class", "toolbar-content hide-xs", 4, "ngIf"], ["slot", "end", 4, "ngIf"], ["slot", "secondary", 4, "ngIf"], ["color", "light", "id", "secondToolbar", 4, "ngIf"], ["position", "top-center"], [3, "onCancel", 4, "ngIf"], ["mode", "determinate", 3, "value"], ["autoHide", "false", "tooltipPosition", "bottom", 3, "pTooltip"], ["slot", "start"], ["tooltipPosition", "bottom", 3, "pTooltip", "ngClass", "click"], ["tooltipPosition", "bottom", "class", "hide-xs hide-md", 3, "pTooltip", "ngClass", "click", 4, "ngIf"], ["tooltipPosition", "bottom", 3, "pTooltip", "ngClass", "click", 4, "ngIf"], ["tooltipPosition", "bottom", 1, "hide-xs", "hide-md", 3, "pTooltip", "ngClass", "click"], [1, "toolbar-content", "hide-xs"], ["appendTo", "body", "placeholder", "Search Claimants", "emptyMessage", "No Results Found.", "size", "25", 3, "ngModel", "suggestions", "ngModelChange", "completeMethod", "onSelect"], ["pTemplate", "item"], ["size", "4"], ["slot", "end"], ["aria-label", "user icon", "slot", "end", "name", "person-circle-outline"], ["tooltipPosition", "bottom", 3, "pTooltip", "click", 4, "ngIf"], ["aria-label", "documents", "name", "document-text-outline"], ["tooltipPosition", "bottom", 3, "pTooltip", "click"], ["aria-label", "help", "name", "help-circle-outline"], ["slot", "secondary"], ["name", "log-out-sharp"], ["appendTo", "body", 3, "popup", "model"], ["menu", ""], ["aria-label", "language", "tooltipPosition", "bottom", 3, "pTooltip", "click"], ["aria-label", "language", "name", "language", "slot", "end"], ["color", "light", "id", "secondToolbar"], ["pTooltip", "Back", "alt", "Back", "tooltipPosition", "bottom", 3, "defaultHref"], ["color", "primary", "style", "font-size: 18px", 4, "ngIf"], ["color", "primary", "style", "font-size: xx-small; float: right; padding-right: 8px;", 4, "ngIf"], ["color", "primary", 2, "font-size", "18px"], ["color", "primary", 2, "font-size", "xx-small", "float", "right", "padding-right", "8px"], [3, "onCancel"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
472
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: HeaderComponent, selectors: [["app-header"]], inputs: { title: "title", pageId: "pageId", secondToolbar: "secondToolbar", displayLogo: "displayLogo", showHistory: "showHistory", backPage: "backPage", isEmployer: "isEmployer" }, features: [i0.ɵɵInheritDefinitionFeature], ngContentSelectors: _c0, decls: 17, vars: 16, consts: [["mode", "determinate", 3, "value", 4, "ngIf"], ["slot", "start", 2, "margin-left", "-5px"], ["autoHide", "false", "tooltipPosition", "bottom", 3, "pTooltip", 4, "ngIf"], ["slot", "start", 3, "ngClass"], ["alt", "Logo of the Kansas Department of Labor", "tooltipPosition", "bottom", "aria-label", "Logo of the Kansas Department of Labor", "id", "header_reemployme_logo", "src", "assets/icon/kdol_logo.png", 3, "pTooltip", "ngClass"], ["slot", "start", 4, "ngIf"], ["class", "toolbar-content hide-xs", 4, "ngIf"], ["slot", "end", 4, "ngIf"], ["slot", "secondary", 4, "ngIf"], ["slot", "end", 3, "disabled", 4, "ngIf"], ["color", "light", "id", "secondToolbar", 4, "ngIf"], ["position", "top-center"], [3, "onCancel", 4, "ngIf"], ["mode", "determinate", 3, "value"], ["autoHide", "false", "tooltipPosition", "bottom", 3, "pTooltip"], ["slot", "start"], ["tooltipPosition", "bottom", 3, "pTooltip", "ngClass", "click"], ["tooltipPosition", "bottom", "class", "hide-xs hide-md", 3, "pTooltip", "ngClass", "click", 4, "ngIf"], ["tooltipPosition", "bottom", 3, "pTooltip", "ngClass", "click", 4, "ngIf"], ["tooltipPosition", "bottom", 1, "hide-xs", "hide-md", 3, "pTooltip", "ngClass", "click"], [1, "toolbar-content", "hide-xs"], ["appendTo", "body", "placeholder", "Search Claimants", "emptyMessage", "No Results Found.", "size", "25", 3, "ngModel", "suggestions", "ngModelChange", "completeMethod", "onSelect"], ["pTemplate", "item"], ["size", "4"], ["slot", "end"], ["aria-label", "user icon", "slot", "end", "name", "person-circle-outline"], ["tooltipPosition", "bottom", 3, "pTooltip", "click", 4, "ngIf"], ["aria-label", "documents", "name", "document-text-outline"], ["tooltipPosition", "bottom", 3, "pTooltip", "click"], ["aria-label", "help", "name", "help-circle-outline"], ["slot", "secondary"], ["name", "log-out-sharp"], ["slot", "end", 3, "disabled"], ["appendTo", "body", 3, "popup", "model"], ["menu", ""], ["aria-label", "language", "tooltipPosition", "bottom", 3, "pTooltip", "click"], ["aria-label", "language", "name", "language", "slot", "end"], ["color", "light", "id", "secondToolbar"], ["pTooltip", "Back", "alt", "Back", "tooltipPosition", "bottom", 3, "defaultHref"], ["color", "primary", "style", "font-size: 18px", 4, "ngIf"], ["color", "primary", "style", "font-size: xx-small; float: right; padding-right: 8px;", 4, "ngIf"], ["color", "primary", 2, "font-size", "18px"], ["color", "primary", 2, "font-size", "xx-small", "float", "right", "padding-right", "8px"], [3, "onCancel"]], template: function HeaderComponent_Template(rf, ctx) { if (rf & 1) {
471
473
  i0.ɵɵprojectionDef(_c0);
472
474
  i0.ɵɵtemplate(0, HeaderComponent_mat_progress_bar_0_Template, 2, 3, "mat-progress-bar", 0);
473
475
  i0.ɵɵpipe(1, "async");
@@ -479,11 +481,11 @@ export class HeaderComponent extends BasePage {
479
481
  i0.ɵɵpipe(7, "translate");
480
482
  i0.ɵɵelementEnd();
481
483
  i0.ɵɵprojection(8);
482
- i0.ɵɵtemplate(9, HeaderComponent_ion_buttons_9_Template, 8, 9, "ion-buttons", 5)(10, HeaderComponent_div_10_Template, 3, 2, "div", 6)(11, HeaderComponent_ion_buttons_11_Template, 11, 12, "ion-buttons", 7)(12, HeaderComponent_ion_buttons_12_Template, 4, 3, "ion-buttons", 8)(13, HeaderComponent_ion_buttons_13_Template, 6, 5, "ion-buttons", 7);
484
+ i0.ɵɵtemplate(9, HeaderComponent_ion_buttons_9_Template, 8, 9, "ion-buttons", 5)(10, HeaderComponent_div_10_Template, 3, 2, "div", 6)(11, HeaderComponent_ion_buttons_11_Template, 11, 12, "ion-buttons", 7)(12, HeaderComponent_ion_buttons_12_Template, 4, 3, "ion-buttons", 8)(13, HeaderComponent_ion_buttons_13_Template, 6, 6, "ion-buttons", 9);
483
485
  i0.ɵɵelementEnd();
484
- i0.ɵɵtemplate(14, HeaderComponent_ion_toolbar_14_Template, 7, 3, "ion-toolbar", 9);
485
- i0.ɵɵelement(15, "p-toast", 10);
486
- i0.ɵɵtemplate(16, HeaderComponent_app_profile_16_Template, 1, 0, "app-profile", 11);
486
+ i0.ɵɵtemplate(14, HeaderComponent_ion_toolbar_14_Template, 7, 3, "ion-toolbar", 10);
487
+ i0.ɵɵelement(15, "p-toast", 11);
488
+ i0.ɵɵtemplate(16, HeaderComponent_app_profile_16_Template, 1, 0, "app-profile", 12);
487
489
  } if (rf & 2) {
488
490
  i0.ɵɵproperty("ngIf", i0.ɵɵpipeBind1(1, 12, ctx.util.loader.value$) != 0);
489
491
  i0.ɵɵadvance(4);
@@ -502,7 +504,7 @@ export class HeaderComponent extends BasePage {
502
504
  i0.ɵɵadvance(1);
503
505
  i0.ɵɵproperty("ngIf", !ctx.ls.isLoggedIn() && ctx.ls.getUser());
504
506
  i0.ɵɵadvance(1);
505
- i0.ɵɵproperty("ngIf", !ctx.ls.isLoggedIn());
507
+ i0.ɵɵproperty("ngIf", !ctx.ls.isLoggedIn() && !ctx.isEmployer);
506
508
  i0.ɵɵadvance(1);
507
509
  i0.ɵɵproperty("ngIf", ctx.secondToolbar);
508
510
  i0.ɵɵadvance(2);
@@ -511,7 +513,7 @@ export class HeaderComponent extends BasePage {
511
513
  }
512
514
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(HeaderComponent, [{
513
515
  type: Component,
514
- args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"{{'header.menu' | translate}}\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\">\r\n <img alt=\"Logo of the Kansas Department of Labor\" pTooltip=\"{{'header.kdol-logo' | translate}}\" tooltipPosition=\"bottom\"\r\n aria-label=\"Logo of the Kansas Department of Labor\" id=\"header_reemployme_logo\" src=\"assets/icon/kdol_logo.png\" [ngClass]=\"displayLogo ? 'app-logo' : 'app-logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"{{'header.home' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\">{{homeLabel}}</ion-button>\r\n \r\n <ion-button pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly Cert' :weeklyLabel }}</ion-button>\r\n <ion-button pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Cert' : weeklyLabel }}</ion-button>\r\n <ion-button pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : weeklyLabel }}</ion-button>\r\n \r\n <ion-button pTooltip=\"{{'header.history' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">{{historyLabel}}</ion-button>\r\n </ion-buttons>\r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr()\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row>\r\n <ion-col size=\"4\">\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size=\"4\">\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size=\"4\">\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"{{'header.my-account' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <h4>{{ls.getFullName() | properCase}}</h4>\r\n <ion-icon aria-label=\"user icon\" slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"{{'header.my-documents' | translate}}\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <ion-icon aria-label=\"documents\" name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"{{'header.my-documents' | translate}}\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon aria-label=\"documents\" name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"{{'header.help' | translate}}\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon aria-label=\"help\" name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"{{'header.logout' | translate}}\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"!ls.isLoggedIn()\" >\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button aria-label=\"language\" (click)=\"menu.toggle($event)\" pTooltip=\"{{'header.language' | translate}}\" tooltipPosition=\"bottom\">\r\n <ion-icon aria-label=\"language\" name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast position=\"top-center\" ></p-toast>\r\n\r\n<app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = false\"></app-profile>\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.app-logo{height:55px}.header_button_white{height:60px;margin:0 0 4px;padding:8px}.header_button{height:56px;margin:0 0 4px;padding:8px}.toolbar-content{text-align:center}ion-toolbar{padding-right:10px;--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(---yellow-300);text-transform:none!important;font-size:20px}.header-button{text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
516
+ args: [{ selector: 'app-header', template: "<mat-progress-bar mode=\"determinate\" [value]=\"util.loader.value$ | async\" *ngIf=\"(util.loader.value$ | async) != 0\">\r\n</mat-progress-bar>\r\n<ion-toolbar>\r\n <ion-buttons slot=\"start\" style=\"margin-left: -5px;\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"{{'header.menu' | translate}}\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\"></ion-menu-button>\r\n </ion-buttons>\r\n <ion-buttons slot=\"start\" [ngClass]=\"displayLogo ? 'header_button_white' : 'header_button hide-xs hide-md'\">\r\n <img alt=\"Logo of the Kansas Department of Labor\" pTooltip=\"{{'header.kdol-logo' | translate}}\" tooltipPosition=\"bottom\"\r\n aria-label=\"Logo of the Kansas Department of Labor\" id=\"header_reemployme_logo\" src=\"assets/icon/kdol_logo.png\" [ngClass]=\"displayLogo ? 'app-logo' : 'app-logo hide-xs hide-md'\"/>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"start\" *ngIf=\"ls.isLoggedIn()\">\r\n <ion-button (click)=\"openHome()\" pTooltip=\"{{'header.home' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('welcome') ? 'header-button' : ''\">{{homeLabel}}</ion-button>\r\n \r\n <ion-button pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openWeeklies()\" class=\"hide-xs hide-md\">{{legacyMenu == 'true' ? 'Weekly Cert' :weeklyLabel }}</ion-button>\r\n <ion-button pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && !util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Cert' : weeklyLabel }}</ion-button>\r\n <ion-button pTooltip=\"{{'header.weekly.tooltip' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '').includes('weeklies') ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'true' && util.isState('ME')\" (click)=\"openWeeklies()\">{{legacyMenu == 'true' ? 'Weekly Claim' : weeklyLabel }}</ion-button>\r\n \r\n <ion-button pTooltip=\"{{'header.history' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"r.url.replace('/', '') == 'history' ? 'header-button' : ''\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false'\" (click)=\"openPage('cp', 'history')\" class=\"hide-xs hide-md\">{{historyLabel}}</ion-button>\r\n </ion-buttons>\r\n <div class=\"toolbar-content hide-xs\" *ngIf=\"ls.isLoggedIn() && ls.isCsr()\">\r\n <p-autoComplete appendTo=\"body\" [(ngModel)]=\"searchText\" [suggestions]=\"results\"\r\n (completeMethod)=\"search($event)\" placeholder=\"Search Claimants\" (onSelect)=\"onSelectAction($event)\"\r\n emptyMessage=\"No Results Found.\" size=\"25\">\r\n <ng-template let-user pTemplate=\"item\">\r\n <ion-row>\r\n <ion-col size=\"4\">\r\n <ion-text>{{user.firstName | properCase}} {{user.lastName | properCase}}</ion-text>\r\n </ion-col>\r\n <ion-col size=\"4\">\r\n <ion-text>{{user.userId}}</ion-text>\r\n </ion-col>\r\n <ion-col size=\"4\">\r\n <ion-text>{{util.maskSsn(user.ssn)}}</ion-text>\r\n </ion-col>\r\n </ion-row>\r\n </ng-template>\r\n </p-autoComplete>\r\n </div>\r\n <ion-buttons slot=\"end\" *ngIf=\"ls.isLoggedIn()\" >\r\n <ion-button (click)=\"presentMyProfilePopover($event)\" pTooltip=\"{{'header.my-account' | translate}}\" tooltipPosition=\"bottom\" [ngClass]=\"legacyMenu == 'false' && ls.isClaimant() && showProfilePopup ? 'hide-xs hide-md header-button' : (legacyMenu == 'false' && ls.isClaimant() ? 'hide-xs hide-md' : '')\">\r\n <h4>{{ls.getFullName() | properCase}}</h4>\r\n <ion-icon aria-label=\"user icon\" slot=\"end\" name=\"person-circle-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"{{'header.my-documents' | translate}}\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'false' && !util.isState('ME')\" [ngClass]=\"r.url.replace('/', '') == 'documents' ? 'header-button hide-xs hide-md' : 'hide-xs hide-md'\">\r\n <ion-icon aria-label=\"documents\" name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n <ion-button (click)=\"openPage('cp', 'documents')\" pTooltip=\"{{'header.my-documents' | translate}}\" tooltipPosition=\"bottom\" *ngIf=\"!ls.isCsr() && legacyMenu == 'true'\">\r\n <ion-icon aria-label=\"documents\" name=\"document-text-outline\"></ion-icon>\r\n </ion-button>\r\n\r\n \r\n\r\n <ion-button (click)=\"this.hs.show()\" pTooltip=\"{{'header.help' | translate}}\" tooltipPosition=\"bottom\" *ngIf=\"ls.isClaimant() && legacyMenu == 'false' && (hs.shouldDisplayHelpButton() | async)\">\r\n <ion-icon aria-label=\"help\" name=\"help-circle-outline\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"secondary\" *ngIf=\"!ls.isLoggedIn() && ls.getUser()\">\r\n <ion-button (click)=\"logout()\" pTooltip=\"{{'header.logout' | translate}}\" tooltipPosition=\"bottom\">\r\n <ion-icon name=\"log-out-sharp\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n <ion-buttons slot=\"end\" *ngIf=\"!ls.isLoggedIn() && !isEmployer\" [disabled] = \"isEmployer\">\r\n <p-menu #menu [popup]=\"true\" [model]=\"items\" appendTo=\"body\"></p-menu>\r\n <ion-button aria-label=\"language\" (click)=\"menu.toggle($event)\" pTooltip=\"{{'header.language' | translate}}\" tooltipPosition=\"bottom\">\r\n <ion-icon aria-label=\"language\" name=\"language\" slot=\"end\"></ion-icon>\r\n </ion-button>\r\n </ion-buttons>\r\n\r\n</ion-toolbar>\r\n<ion-toolbar color=\"light\" id=\"secondToolbar\" *ngIf=\"secondToolbar\">\r\n <ion-buttons slot=\"start\">\r\n <ion-back-button pTooltip=\"Back\" alt=\"Back\" tooltipPosition=\"bottom\" [defaultHref]=\"backPage ? backPage : '/welcome'\"></ion-back-button>\r\n <ion-title color=\"primary\" *ngIf=\"title\" style=\"font-size: 18px\">{{title}}</ion-title>\r\n </ion-buttons>\r\n <ng-content></ng-content>\r\n <ion-buttons slot=\"end\">\r\n <ion-title color=\"primary\" style=\"font-size: xx-small; float: right; padding-right: 8px;\" *ngIf=\"pageId\">\r\n {{pageId}}</ion-title>\r\n </ion-buttons>\r\n</ion-toolbar>\r\n<p-toast position=\"top-center\" ></p-toast>\r\n\r\n<app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = false\"></app-profile>\r\n\r\n\r\n", styles: ["#secondToolbar{--min-height: 45px !important}#header_reemployms_logo{margin-right:10px;margin-left:-5px;padding:5px;height:40px}.header_logo{height:35px}.app-logo{height:55px}.header_button_white{height:60px;margin:0 0 4px;padding:8px}.header_button{height:56px;margin:0 0 4px;padding:8px}.toolbar-content{text-align:center}ion-toolbar{padding-right:10px;--ion-toolbar-background: var(--ion-color-primary) !important;--color: white !important;--font-weight: 500;--font-size: 13px;--position: relative;--z-index: 10;--text-align: center;--letter-spacing: .004em}ion-button{--color-hover: var(---yellow-300);text-transform:none!important;font-size:20px}.header-button{text-transform:none!important;font-weight:700;font-size:20px}.ios ion-button::part(native){color:#fff!important}ion-menu-button::part(native){color:#fff!important}ion-popover{--width: 40% !important}img{visibility:visible;position:relative}:host ::ng-deep p-autoComplete .p-inputtext{height:40px;color:#000}:host ::ng-deep p-autoComplete .p-autocomplete-item{padding:.5rem!important}:host ::ng-deep .p-toast-bottom-center,:host ::ng-deep .p-toast-top-center{transform:none!important;z-index:100001!important}@media (min-width: 768px){:host ::ng-deep .header-popover{--width: 55%}}@media (min-width: 992px){:host ::ng-deep .header-popover{--width: 40%}}@media (min-width: 1200px){:host ::ng-deep .header-popover{--width: 35%}}@media (min-width: 1400px){:host ::ng-deep .header-popover{--width: 30%}}\n"] }]
515
517
  }], () => [{ type: i1.LoginService }, { type: i2.UtilService }, { type: i3.Router }, { type: i4.PopoverController }, { type: i5.ClaimantService }, { type: i4.NavController }, { type: i4.ModalController }, { type: i6.NotificationService }, { type: i7.HelpService }, { type: i8.TranslateService }], { title: [{
516
518
  type: Input,
517
519
  args: ['title']
@@ -530,6 +532,9 @@ export class HeaderComponent extends BasePage {
530
532
  }], backPage: [{
531
533
  type: Input,
532
534
  args: ['backPage']
535
+ }], isEmployer: [{
536
+ type: Input,
537
+ args: ['isEmployer']
533
538
  }] }); })();
534
539
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(HeaderComponent, { className: "HeaderComponent", filePath: "lib\\components\\header\\header.component.ts", lineNumber: 23 }); })();
535
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBUWhGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZGhELHVDQUNtQjs7OztJQURrQix1RUFBb0M7OztJQUlqRSxzQ0FDOEM7OztJQURaLHlFQUF3Qzs7OztJQVcxRSxzQ0FBeVE7SUFBakQsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQXlCLFlBQXNEO0lBQUEsaUJBQWE7OztJQUFoVSxtRkFBa0Q7SUFBMEIsbUdBQThFO0lBQW1HLGVBQXNEO0lBQXRELHNGQUFzRDs7OztJQUMvVCxzQ0FBdVE7SUFBekIsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQUMsWUFBdUQ7SUFBQSxpQkFBYTs7O0lBQS9ULG1GQUFrRDtJQUEwQixvR0FBOEU7SUFBaUcsZUFBdUQ7SUFBdkQsd0ZBQXVEOzs7O0lBQzlULHNDQUFzUTtJQUF6Qix3TEFBUyxlQUFBLHNCQUFjLENBQUEsSUFBQzs7SUFBQyxZQUF3RDtJQUFBLGlCQUFhOzs7SUFBL1QsbUZBQWtEO0lBQTBCLG9HQUE4RTtJQUFnRyxlQUF3RDtJQUF4RCx5RkFBd0Q7Ozs7SUFFOVQsc0NBQXFRO0lBQTVELHdMQUFTLGVBQUEsaUJBQVMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFBLElBQUM7O0lBQXlCLFlBQWdCO0lBQUEsaUJBQWE7OztJQUF0Uiw0RUFBMkM7SUFBMEIsNEZBQXNFO0lBQThHLGVBQWdCO0lBQWhCLDBDQUFnQjs7OztJQVB6Uix1Q0FBa0QscUJBQUE7SUFDbEMsMEtBQVMsZUFBQSxrQkFBVSxDQUFBLElBQUM7O0lBQWlKLFlBQWE7SUFBQSxpQkFBYTtJQUUzTSw2RkFBNFUsZ0ZBQUEsZ0ZBQUEsZ0ZBQUE7SUFLaFYsaUJBQWM7OztJQVB1QixlQUF3QztJQUF4Qyx5RUFBd0M7SUFBMEIsa0dBQTZFO0lBQUMsZUFBYTtJQUFiLHNDQUFhO0lBRXRCLGVBQThDO0lBQTlDLDZFQUE4QztJQUM5QyxlQUFvRTtJQUFwRSwwR0FBb0U7SUFDcEUsZUFBbUU7SUFBbkUseUdBQW1FO0lBRWxGLGVBQThDO0lBQTlDLDZFQUE4Qzs7O0lBTy9MLCtCQUFTLGtCQUFBLGVBQUE7SUFFUyxZQUE4RDs7O0lBQUEsaUJBQVcsRUFBQTtJQUV2RixtQ0FBa0IsZUFBQTtJQUNKLFlBQWU7SUFBQSxpQkFBVyxFQUFBO0lBRXhDLG1DQUFrQixnQkFBQTtJQUNKLGFBQTBCO0lBQUEsaUJBQVcsRUFBQSxFQUFBOzs7O0lBTnJDLGVBQThEO0lBQTlELHFIQUE4RDtJQUc5RCxlQUFlO0lBQWYscUNBQWU7SUFHZixlQUEwQjtJQUExQix3REFBMEI7Ozs7SUFieEQsK0JBQTJFLHlCQUFBO0lBQ3ZDLDRPQUF3QixrTEFDbEMsZUFBQSxzQkFBYyxDQUFBLElBRG9CLHNLQUN5QixlQUFBLDhCQUFzQixDQUFBLElBRC9DO0lBR3BELHlGQVljO0lBQ2xCLGlCQUFpQixFQUFBOzs7SUFoQmUsZUFBd0I7SUFBeEIsMkNBQXdCLCtCQUFBOzs7O0lBdUJ4RCxzQ0FBd1M7SUFBNVIseUxBQVMsZUFBQSxpQkFBUyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUEsSUFBQzs7SUFDN0MsK0JBQXlFO0lBQzdFLGlCQUFhOzs7SUFGcUMsaUZBQWdEO0lBQThGLDZIQUF1Rzs7OztJQUd2UyxzQ0FBd0s7SUFBNUoseUxBQVMsZUFBQSxpQkFBUyxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUEsSUFBQzs7SUFDN0MsK0JBQXlFO0lBQzdFLGlCQUFhOztJQUZxQyxpRkFBZ0Q7Ozs7SUFNbEcsc0NBQWtNO0lBQXRMLHlMQUFTLGVBQUEsaUJBQWMsQ0FBQSxJQUFDOztJQUNoQywrQkFBa0U7SUFDdEUsaUJBQWE7O0lBRndCLHlFQUF3Qzs7OztJQWRqRix1Q0FBaUQscUJBQUE7SUFDakMsaUxBQVMsZUFBQSx1Q0FBK0IsQ0FBQSxJQUFDOztJQUNqRCwwQkFBSTtJQUFBLFlBQWlDOztJQUFBLGlCQUFLO0lBQzFDLCtCQUFvRjtJQUN4RixpQkFBYTtJQUNiLDhGQUVhLGlGQUFBLGlGQUFBOztJQVVqQixpQkFBYzs7O0lBaEI0QyxlQUE4QztJQUE5QywrRUFBOEM7SUFBMEIsK05BQWdMO0lBQ3RTLGVBQWlDO0lBQWpDLG1FQUFpQztJQUdvRixlQUFpRTtJQUFqRSx1R0FBaUU7SUFHakUsZUFBeUM7SUFBekMsd0VBQXlDO0lBTTlELGVBQXdGO0lBQXhGLDRJQUF3Rjs7OztJQUtwTSx1Q0FBdUUscUJBQUE7SUFDdkQsMktBQVMsZUFBQSxnQkFBUSxDQUFBLElBQUM7O0lBQzFCLCtCQUEwQztJQUM5QyxpQkFBYSxFQUFBOztJQUZrQixlQUEwQztJQUExQywyRUFBMEM7Ozs7SUFLN0UsdUNBQWtEO0lBQzlDLGlDQUFzRTtJQUN0RSxzQ0FBc0k7SUFBcEcsNktBQVMsZUFBQSxtQkFBbUIsQ0FBQSxJQUFDOztJQUM3RCwrQkFBc0U7SUFDeEUsaUJBQWEsRUFBQTs7O0lBSEMsZUFBYztJQUFkLDRCQUFjLHVCQUFBO0lBQ29DLGVBQTRDO0lBQTVDLDZFQUE0Qzs7O0lBUzVHLHFDQUFpRTtJQUFBLFlBQVM7SUFBQSxpQkFBWTs7O0lBQXJCLGVBQVM7SUFBVCxtQ0FBUzs7O0lBSTFFLHFDQUF5RztJQUNyRyxZQUFVO0lBQUEsaUJBQVk7OztJQUF0QixlQUFVO0lBQVYsOENBQVU7OztJQVJ0Qix1Q0FBb0Usc0JBQUE7SUFFNUQsc0NBQXdJO0lBQ3hJLDRGQUFzRjtJQUMxRixpQkFBYztJQUNkLHFCQUF5QjtJQUN6Qix1Q0FBd0I7SUFDcEIsNEZBQzBCO0lBQzlCLGlCQUFjLEVBQUE7OztJQVAyRCxlQUFnRDtJQUFoRCw0RUFBZ0Q7SUFDekYsZUFBVztJQUFYLG1DQUFXO0lBSW9ELGVBQVk7SUFBWixvQ0FBWTs7OztJQU0vRyx1Q0FBNEU7SUFBdEMsNE5BQStCLEtBQUssS0FBQztJQUFDLGlCQUFjOzs7QURoRTFGLE1BQU0sT0FBTyxlQUFnQixTQUFRLFFBQVE7SUE0QjNDLFlBQW1CLEVBQWlCLEVBQVMsSUFBa0IsRUFBUyxDQUFVLEVBQVMsS0FBd0IsRUFDaEcsRUFBb0IsRUFBVSxHQUFtQixFQUFTLGVBQWdDLEVBQzFGLEVBQXdCLEVBQVMsRUFBZSxFQUFTLGdCQUFtQztRQUNqRyxLQUFLLEVBQUUsQ0FBQztRQUhILE9BQUUsR0FBRixFQUFFLENBQWU7UUFBUyxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQVMsTUFBQyxHQUFELENBQUMsQ0FBUztRQUFTLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBQ2hHLE9BQUUsR0FBRixFQUFFLENBQWtCO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBZ0I7UUFBUyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFDMUYsT0FBRSxHQUFGLEVBQUUsQ0FBc0I7UUFBUyxPQUFFLEdBQUYsRUFBRSxDQUFhO1FBQVMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFtQjtRQWxCdkYsa0JBQWEsR0FBWSxLQUFLLENBQUM7UUFFakMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFJNUMsMkJBQXNCLEdBQUcsS0FBSyxDQUFDO1FBRS9CLGVBQVUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO1FBRXJDLHFCQUFnQixHQUFhLEtBQUssQ0FBQztRQUVuQyw2QkFBd0IsR0FBYSxLQUFLLENBQUM7SUFNckMsQ0FBQztJQUVkLFFBQVE7UUFDTiwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVBLDJCQUEyQjtRQUMxQixJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUM7WUFDdEIsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztZQUNyQyxPQUFPO1NBQ1I7SUFDSCxDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWlCO1FBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQztnQkFDWixLQUFLLEVBQUcsaUJBQWlCO2dCQUN6QixLQUFLLEVBQUUsQ0FBQzt3QkFDTixLQUFLLEVBQUUsU0FBUzt3QkFDaEIsSUFBSSxFQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQzt3QkFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRTs0QkFDVixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDdEMsQ0FBQztxQkFDRjtvQkFDRDt3QkFDRSxLQUFLLEVBQUUsU0FBUzt3QkFDaEIsSUFBSSxFQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQzt3QkFDbEMsT0FBTyxFQUFFLEdBQUcsRUFBRTs0QkFDVixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsQ0FBQzt3QkFDdEMsQ0FBQztxQkFDRixDQUFDO2FBQ0gsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxZQUFxQixFQUFFLFFBQWlCO1FBQzlDLElBQUcsUUFBUSxJQUFJLFlBQVksRUFBQztZQUMxQixPQUFPLG1CQUFtQixDQUFDO1NBQzVCO2FBQUs7WUFDSixPQUFPLElBQUksQ0FBQztTQUNiO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxRQUFpQixFQUFFLElBQWE7UUFDMUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUMxRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxLQUFLLENBQUMsdUJBQXVCLENBQUMsS0FBSztRQUVqQyxJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLElBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFDO1lBQ2xGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7WUFDN0IsT0FBTztTQUNSO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN0QyxTQUFTLEVBQUUsYUFBYTtZQUN4QixXQUFXLEVBQUUsSUFBSTtZQUNqQixlQUFlLEVBQUUsSUFBSTtZQUNyQixLQUFLLEVBQUUsS0FBSztZQUNaLFFBQVEsRUFBRSxnQkFBZ0I7U0FDM0IsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsS0FBSyxDQUFDLDRCQUE0QixDQUFDLEtBQUs7UUFDdEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN0QyxTQUFTLEVBQUUsbUJBQW1CO1lBQzlCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLGVBQWUsRUFBRSxJQUFJO1lBQ3JCLEtBQUssRUFBRSxLQUFLO1lBQ1osUUFBUSxFQUFFLGdCQUFnQjtTQUMzQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUMvQixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFBO1FBRUYsT0FBTyxNQUFNLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFHLElBQUksQ0FBQyxVQUFVLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBQztZQUMxQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUMsQ0FBQTtTQUNuQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUE7U0FDbkM7SUFDSCxDQUFDO0lBRUQsUUFBUTtRQUNOLG9DQUFvQztRQUNwQyxJQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUM7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUM3RjthQUFNLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBQztZQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVGO2FBQU07WUFDTCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1YsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksY0FBYyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7UUFDekMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUM7UUFDN0IsSUFBRyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFDO1lBQ3JCLElBQUksS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDaEMsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNoQyxjQUFjLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUNqQyxjQUFjLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztZQUNoQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBRUQsSUFBRyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFDO1lBQ3hELGNBQWMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDO1lBQzNCLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDakI7YUFBSyxJQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBQztZQUMxQyxjQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztZQUM5QixRQUFRLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBRUQsSUFBRyxRQUFRLEVBQUM7WUFDVixJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBRU8sUUFBUSxDQUFDLEdBQUc7UUFDbEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQStCO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM5QyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFFVCxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUE7UUFDakMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN2QixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsWUFBWSxDQUFDLG1CQUFtQix3Q0FBd0MsU0FBUyxDQUFDLFlBQVksTUFBTSxTQUFTLENBQUMsYUFBYSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDaEssQ0FBQztJQUVELFFBQVEsQ0FBQyxXQUFXLEVBQUUsR0FBRztRQUN2QixJQUFJLGtCQUFrQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEQsSUFBSSxNQUFNLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUUvQixJQUFHLGtCQUFrQixJQUFJLE1BQU0sRUFBQztZQUM5QixJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7U0FDckM7YUFBSTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1NBQzlDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFJO1FBQ1gsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQyxPQUFPLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDO1FBQ3RELE9BQU8sWUFBWSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELGVBQWU7SUFFZixDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxLQUFLO0lBRTFCLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDekQsQ0FBQztnRkEvTlUsZUFBZTtvRUFBZixlQUFlOztZQ3RCNUIsMEZBQ21COztZQUNuQixtQ0FBYSxxQkFBQTtZQUVMLHdGQUM4QztZQUNsRCxpQkFBYztZQUNkLHNDQUE0RztZQUN4Ryx5QkFDdUw7O1lBQzNMLGlCQUFjO1lBQ2Qsa0JBQXlCO1lBQ3pCLGdGQVFjLHFEQUFBLHVFQUFBLHFFQUFBLHFFQUFBO1lBb0RsQixpQkFBYztZQUNkLGtGQVVjO1lBQ2QsK0JBQTBDO1lBRTFDLG1GQUEwRjs7WUF0RmYseUVBQXVDO1lBS3JHLGVBQXFCO1lBQXJCLDBDQUFxQjtZQUVKLGVBQWlGO1lBQWpGLG1HQUFpRjtZQUNyRCxlQUE2QztZQUE3QywrRUFBNkM7WUFDcUIsbUZBQWlFO1lBRzlKLGVBQXFCO1lBQXJCLDBDQUFxQjtZQVNWLGVBQW1DO1lBQW5DLDREQUFtQztZQW1CaEQsZUFBcUI7WUFBckIsMENBQXFCO1lBbUJmLGVBQXNDO1lBQXRDLCtEQUFzQztZQU01QyxlQUFzQjtZQUF0QiwyQ0FBc0I7WUFRSixlQUFtQjtZQUFuQix3Q0FBbUI7WUFhcEQsZUFBc0I7WUFBdEIsMkNBQXNCOzs7aUZEaEV2QixlQUFlO2NBTDNCLFNBQVM7MkJBQ0UsWUFBWTsrU0FZTixLQUFLO2tCQUFwQixLQUFLO21CQUFDLE9BQU87WUFFRyxNQUFNO2tCQUF0QixLQUFLO21CQUFDLFFBQVE7WUFFUyxhQUFhO2tCQUFwQyxLQUFLO21CQUFDLGVBQWU7WUFFQSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7WUFFRSxXQUFXO2tCQUFoQyxLQUFLO21CQUFDLGFBQWE7WUFFRCxRQUFRO2tCQUExQixLQUFLO21CQUFDLFVBQVU7O2tGQWxCTixlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciwgTmF2Q29udHJvbGxlciwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBDbGFpbWFudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NsYWltYW50L0NsYWltYW50TW9kZWwnO1xyXG5pbXBvcnQgeyBNeU5vdGlmaWNhdGlvbnNQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktbm90aWZpY2F0aW9ucy9teS1ub3RpZmljYXRpb25zLnBhZ2UnO1xyXG5pbXBvcnQgeyBNeVByb2ZpbGVQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktcHJvZmlsZS9teS1wcm9maWxlLnBhZ2UnO1xyXG5pbXBvcnQgeyBDbGFpbWFudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC9jbGFpbWFudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSGVscFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZSc7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xyXG5pbXBvcnQgeyBBdXRvQ29tcGxldGVTZWxlY3RFdmVudCB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWhlYWRlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaGVhZGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBleHRlbmRzIEJhc2VQYWdlIGltcGxlbWVudHMgT25Jbml0ICB7XHJcblxyXG4gIGl0ZW1zOiBNZW51SXRlbVtdO1xyXG5cclxuICBzZWFyY2hUZXh0O1xyXG5cclxuICByZXN1bHRzOiBDbGFpbWFudE1vZGVsW107XHJcblxyXG4gIEBJbnB1dCgndGl0bGUnKSB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ3BhZ2VJZCcpIHBhZ2VJZDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ3NlY29uZFRvb2xiYXInKSBzZWNvbmRUb29sYmFyOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnZGlzcGxheUxvZ28nKSBkaXNwbGF5TG9nbzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoJ3Nob3dIaXN0b3J5Jykgc2hvd0hpc3Rvcnk6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCdiYWNrUGFnZScpIGJhY2tQYWdlOiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBzaG93Tm90aWZpY2F0aW9uTG9hZGVyID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBsZWdhY3lNZW51ID0gTGliQ29uc3RhbnRzLmxlZ2FjeU1lbnU7XHJcblxyXG4gIHB1YmxpYyBzaG93UHJvZmlsZVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbHMgOiBMb2dpblNlcnZpY2UsIHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHB1YmxpYyByIDogUm91dGVyLCBwdWJsaWMgcG9wdXA6IFBvcG92ZXJDb250cm9sbGVyLCBcclxuICAgICAgICAgICAgICBwdWJsaWMgY3MgOiBDbGFpbWFudFNlcnZpY2UsIHByaXZhdGUgbmF2IDogTmF2Q29udHJvbGxlciwgcHVibGljIG1vZGFsQ29udHJvbGxlcjogTW9kYWxDb250cm9sbGVyLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBucyA6IE5vdGlmaWNhdGlvblNlcnZpY2UsIHB1YmxpYyBoczogSGVscFNlcnZpY2UsIHB1YmxpYyB0cmFuc2xhdGVTZXJ2aWNlIDogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICAgICAgICAgICAgc3VwZXIoKTtcclxuICAgICAgICAgICAgICAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vdGhpcy5sb2FkTm90aWZpY2F0aW9uQ291bnQoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XHJcbiAgICB0aGlzLnNldE1lbnVJdGVtcyhsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTtcclxuICB9XHJcbiAgXHJcbiAgIHByZXNlbnRKb2JTZWFyY2hSZXN1bHRQb3B1cCgpIHtcclxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpKXtcclxuICAgICAgdGhpcy5zaG93am9iU2VhcmNoUmVzdWx0UG9wdXAgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRNZW51SXRlbXMobGFuZ3VhZ2UgOiBzdHJpbmcpe1xyXG4gICAgdGhpcy5pdGVtcyA9IFt7XHJcbiAgICAgIGxhYmVsIDogJ0Nob29zZSBsYW5ndWFnZScsXHJcbiAgICAgIGl0ZW1zOiBbe1xyXG4gICAgICAgIGxhYmVsOiAnRW5nbGlzaCcsXHJcbiAgICAgICAgaWNvbiA6IHRoaXMuZ2V0SWNvbihsYW5ndWFnZSwnZW4nKSxcclxuICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UoJ2VuJywgJ0VuZ2xpc2gnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBsYWJlbDogJ0VzcGHDsW9sJyxcclxuICAgICAgICBpY29uIDogdGhpcy5nZXRJY29uKGxhbmd1YWdlLCdlcycpLFxyXG4gICAgICAgIGNvbW1hbmQ6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZXRMYW5ndWFnZSgnZXMnLCAnZXNwYcOxb2wnKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1dXHJcbiAgICB9XTtcclxuICB9XHJcblxyXG4gIGdldEljb24oc2VsZWN0ZWRMYW5nIDogc3RyaW5nLCBsYW5ndWFnZSA6IHN0cmluZyl7XHJcbiAgICBpZihsYW5ndWFnZSA9PSBzZWxlY3RlZExhbmcpe1xyXG4gICAgICByZXR1cm4gXCJwaSBwaS1mdyBwaS1jaGVja1wiO1xyXG4gICAgfWVsc2Uge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldExhbmd1YWdlKGxhbmd1YWdlIDogc3RyaW5nLCBuYW1lIDogc3RyaW5nKXtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UobGFuZ3VhZ2UpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xhbmd1YWdlJywgbGFuZ3VhZ2UpO1xyXG4gICAgdGhpcy51dGlsLnRvYXN0KCdMYW5ndWFnZSBwcmVmZXJlbmNlIGNoYW5nZWQgdG8gJyArIG5hbWUpO1xyXG4gICAgdGhpcy5zZXRNZW51SXRlbXMobGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcHJlc2VudE15UHJvZmlsZVBvcG92ZXIoZXZlbnQpIHtcclxuXHJcbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSAmJiAgKHRoaXMubGVnYWN5TWVudSA9PSAnZmFsc2UnIHx8IHRoaXMudXRpbC5pc1N0YXRlKCdNRScpKSl7XHJcbiAgICAgIHRoaXMuc2hvd1Byb2ZpbGVQb3B1cCA9IHRydWU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xyXG4gICAgICBjb21wb25lbnQ6IE15UHJvZmlsZVBhZ2UsXHJcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXHJcbiAgICAgIGV2ZW50OiBldmVudCxcclxuICAgICAgY3NzQ2xhc3M6ICdoZWFkZXItcG9wb3ZlcidcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBhd2FpdCBwb3BvdmVyLnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRNeU5vdGlmaWNhdGlvblBvcG92ZXIoZXZlbnQpIHtcclxuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcHVwLmNyZWF0ZSh7XHJcbiAgICAgIGNvbXBvbmVudDogTXlOb3RpZmljYXRpb25zUGFnZSxcclxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcclxuICAgICAgZXZlbnQ6IGV2ZW50LFxyXG4gICAgICBjc3NDbGFzczogJ2hlYWRlci1wb3BvdmVyJ1xyXG4gICAgfSk7XHJcblxyXG4gICAgcG9wb3Zlci5vbkRpZERpc21pc3MoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5ucy51cGRhdGVSZWFkRmxhZygpO1xyXG4gICAgfSlcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKXtcclxuICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnL2xhbmRpbmcnKTtcclxuICAgIHRoaXMubHMubG9nb3V0KCk7XHJcbiAgfVxyXG5cclxuICBvcGVuV2Vla2xpZXMoKXtcclxuICAgIGlmKHRoaXMubGVnYWN5TWVudSA9PSAndHJ1ZScgJiYgdGhpcy5pc01TKCkpe1xyXG4gICAgICB0aGlzLm9wZW5QYWdlKCdjcCcsICd2Mi93ZWVrbGllcycpXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm9wZW5QYWdlKCdjcCcsICd2My93ZWVrbGllcycpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuSG9tZSgpe1xyXG4gICAgLy90aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoXCIvd2VsY29tZVwiKTtcclxuICAgIGlmKHRoaXMubHMuaXNDbGFpbWFudCgpKXtcclxuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0Q2xhaW1hbnRBcHBDb250ZXh0Um9vdCgpLCBcIndlbGNvbWVcIiwgdGhpcy5uYXYpOyBcclxuICAgIH0gZWxzZSBpZih0aGlzLmxzLmlzQ3NyKCkpe1xyXG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRoaXMudXRpbC5nZXRTZWN1cml0eUFwcENvbnRleHRSb290KCksXCJ3ZWxjb21lXCIsIHRoaXMubmF2KTsgXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoXCIvd2VsY29tZVwiKTtcclxuICAgIH1cclxuICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2goZXZlbnQpIHtcclxuICAgIGxldCBkb1NlYXJjaCA9IGZhbHNlO1xyXG4gICAgbGV0IGNsYWltYW50U2VhcmNoID0gbmV3IENsYWltYW50TW9kZWwoKTtcclxuICAgIGxldCBxdWVyeSA9IGV2ZW50LnF1ZXJ5ICsgJyc7XHJcbiAgICBpZihxdWVyeS5pbmNsdWRlcyhcIiBcIikpe1xyXG4gICAgICBsZXQgZk5hbWUgPSBxdWVyeS5zcGxpdChcIiBcIilbMF07XHJcbiAgICAgIGxldCBsTmFtZSA9IHF1ZXJ5LnNwbGl0KFwiIFwiKVsxXTtcclxuICAgICAgY2xhaW1hbnRTZWFyY2guZmlyc3ROYW1lID0gZk5hbWU7XHJcbiAgICAgIGNsYWltYW50U2VhcmNoLmxhc3ROYW1lID0gbE5hbWU7XHJcbiAgICAgIGRvU2VhcmNoID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZihxdWVyeS5sZW5ndGggPT0gOSAmJiB0aGlzLmlzTnVtYmVyKHF1ZXJ5KSAmJiAhZG9TZWFyY2gpe1xyXG4gICAgICBjbGFpbWFudFNlYXJjaC5zc24gPSBxdWVyeTtcclxuICAgICAgZG9TZWFyY2ggPSB0cnVlO1xyXG4gICAgfWVsc2UgaWYoIXRoaXMuaXNOdW1iZXIocXVlcnkpICYmICFkb1NlYXJjaCl7XHJcbiAgICAgIGNsYWltYW50U2VhcmNoLnVzZXJJZCA9IHF1ZXJ5O1xyXG4gICAgICBkb1NlYXJjaCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGlmKGRvU2VhcmNoKXtcclxuICAgICAgdGhpcy5jcy5zZWFyY2goY2xhaW1hbnRTZWFyY2gpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICAgIHRoaXMucmVzdWx0cyA9IGRhdGE7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc051bWJlcihudW0pe1xyXG4gICAgcmV0dXJuICFpc05hTihudW0pO1xyXG4gIH1cclxuXHJcbiAgb25TZWxlY3RBY3Rpb24oZXZlbnQgOiBBdXRvQ29tcGxldGVTZWxlY3RFdmVudCl7XHJcbiAgICB0aGlzLnJlc3VsdHMgPSBudWxsO1xyXG4gICAgdGhpcy5zZWFyY2hUZXh0ID0gbnVsbDtcclxuICAgIHRoaXMuY3MuZ2V0Q2xhaW1hbnQoKS5uZXh0KGV2ZW50LnZhbHVlKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZUZvcndhcmQoJy9yZXNldC1wYXNzd29yZCcpO1xyXG4gICAgfSwgNTAwKVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBvcGVuQmVuZWZpdHNBcHAoKXtcclxuICAgIGxldCB1c2VyTW9kZWwgPSB0aGlzLmxzLmdldFVzZXIoKVxyXG4gICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKTtcclxuICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy5iZW5lZml0c1VybEV4dGVybmFsfS9mYWNlcy92aXJ0dWFsL2NvbnRleHRzd2l0Y2gueGh0bWw/YT0ke3VzZXJNb2RlbC5hY2Nlc3NfdG9rZW59JnI9JHt1c2VyTW9kZWwucmVmcmVzaF90b2tlbn0mdj0yMjk5YCwgJ19zZWxmJyk7XHJcbiAgfVxyXG5cclxuICBvcGVuUGFnZShjb250ZXh0Um9vdCwgdXJpKXtcclxuICAgIGxldCBjdXJyZW50Q29udGV4dFJvb3QgPSB0aGlzLnV0aWwuZ2V0Q29udGV4dFJvb3QoKTtcclxuICAgIGxldCB0YXJnZXQgPSBgLyR7Y29udGV4dFJvb3R9YDtcclxuXHJcbiAgICBpZihjdXJyZW50Q29udGV4dFJvb3QgPT0gdGFyZ2V0KXtcclxuICAgICAgdGhpcy5uYXYubmF2aWdhdGVGb3J3YXJkKGAvJHt1cml9YCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0YXJnZXQsIHVyaSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRDbGFzcyhuYW1lKXtcclxuICAgIGxldCBjdXJyZW50Um91dGUgPSB0aGlzLnIudXJsLnJlcGxhY2UoJy8nLCAnJyk7XHJcbiAgICBjb25zb2xlLmxvZyhjdXJyZW50Um91dGUsIG5hbWUsIGN1cnJlbnRSb3V0ZSA9PSBuYW1lKTtcclxuICAgIHJldHVybiBjdXJyZW50Um91dGUgPT0gbmFtZSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgb3BlbkNvbnRleHRIZWxwKCl7XHJcblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgY2hhbmdlTGFuZ3VhZ2UoZXZlbnQpIHtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0IGhvbWVMYWJlbCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uaG9tZScpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdlZWtseUxhYmVsKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi53ZWVrbHknKTtcclxuICB9XHJcblxyXG4gIGdldCBoaXN0b3J5TGFiZWwoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLmhpc3RvcnknKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJ1dGlsLmxvYWRlci52YWx1ZSQgfCBhc3luY1wiICpuZ0lmPVwiKHV0aWwubG9hZGVyLnZhbHVlJCB8IGFzeW5jKSAhPSAwXCI+XHJcbjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGlvbi10b29sYmFyPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC01cHg7XCI+XHJcbiAgICAgICAgPGlvbi1tZW51LWJ1dHRvbiBhdXRvSGlkZT1cImZhbHNlXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIubWVudScgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCI+PC9pb24tbWVudS1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIFtuZ0NsYXNzXT1cImRpc3BsYXlMb2dvID8gJ2hlYWRlcl9idXR0b25fd2hpdGUnIDogJ2hlYWRlcl9idXR0b24gaGlkZS14cyBoaWRlLW1kJ1wiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwiTG9nbyBvZiB0aGUgS2Fuc2FzIERlcGFydG1lbnQgb2YgTGFib3JcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5rZG9sLWxvZ28nIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTG9nbyBvZiB0aGUgS2Fuc2FzIERlcGFydG1lbnQgb2YgTGFib3JcIiBpZD1cImhlYWRlcl9yZWVtcGxveW1lX2xvZ29cIiBzcmM9XCJhc3NldHMvaWNvbi9rZG9sX2xvZ28ucG5nXCIgW25nQ2xhc3NdPVwiZGlzcGxheUxvZ28gPyAnYXBwLWxvZ28nIDogJ2FwcC1sb2dvIGhpZGUteHMgaGlkZS1tZCdcIi8+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5Ib21lKClcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5ob21lJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2VsY29tZScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIj57e2hvbWVMYWJlbH19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCIgY2xhc3M9XCJoaWRlLXhzIGhpZGUtbWRcIj57e2xlZ2FjeU1lbnUgPT0gJ3RydWUnID8gJ1dlZWtseSBDZXJ0JyA6d2Vla2x5TGFiZWwgfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gcFRvb2x0aXA9XCJ7eydoZWFkZXIud2Vla2x5LnRvb2x0aXAnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWVrbGllcycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICd0cnVlJyAmJiAhdXRpbC5pc1N0YXRlKCdNRScpXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHkgQ2VydCcgOiB3ZWVrbHlMYWJlbCB9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBwVG9vbHRpcD1cInt7J2hlYWRlci53ZWVrbHkudG9vbHRpcCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3dlZWtsaWVzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmIHV0aWwuaXNTdGF0ZSgnTUUnKVwiIChjbGljayk9XCJvcGVuV2Vla2xpZXMoKVwiPnt7bGVnYWN5TWVudSA9PSAndHJ1ZScgPyAnV2Vla2x5IENsYWltJyA6IHdlZWtseUxhYmVsIH19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIHBUb29sdGlwPVwie3snaGVhZGVyLmhpc3RvcnknIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpID09ICdoaXN0b3J5JyA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdoaXN0b3J5JylcIiBjbGFzcz1cImhpZGUteHMgaGlkZS1tZFwiPnt7aGlzdG9yeUxhYmVsfX08L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvb2xiYXItY29udGVudCBoaWRlLXhzXCIgKm5nSWY9XCJscy5pc0xvZ2dlZEluKCkgJiYgbHMuaXNDc3IoKVwiPlxyXG4gICAgICAgIDxwLWF1dG9Db21wbGV0ZSBhcHBlbmRUbz1cImJvZHlcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBbc3VnZ2VzdGlvbnNdPVwicmVzdWx0c1wiXHJcbiAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIENsYWltYW50c1wiIChvblNlbGVjdCk9XCJvblNlbGVjdEFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgZW1wdHlNZXNzYWdlPVwiTm8gUmVzdWx0cyBGb3VuZC5cIiBzaXplPVwiMjVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC11c2VyIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD57e3VzZXIuZmlyc3ROYW1lIHwgcHJvcGVyQ2FzZX19IHt7dXNlci5sYXN0TmFtZSB8IHByb3BlckNhc2V9fTwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD57e3VzZXIudXNlcklkfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1dGlsLm1hc2tTc24odXNlci5zc24pfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCIgPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50TXlQcm9maWxlUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIubXktYWNjb3VudCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cImxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgJiYgc2hvd1Byb2ZpbGVQb3B1cCA/ICdoaWRlLXhzIGhpZGUtbWQgaGVhZGVyLWJ1dHRvbicgOiAobGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGxzLmlzQ2xhaW1hbnQoKSA/ICdoaWRlLXhzIGhpZGUtbWQnIDogJycpXCI+XHJcbiAgICAgICAgICAgIDxoND57e2xzLmdldEZ1bGxOYW1lKCkgfCBwcm9wZXJDYXNlfX08L2g0PlxyXG4gICAgICAgICAgICA8aW9uLWljb24gYXJpYS1sYWJlbD1cInVzZXIgaWNvblwiIHNsb3Q9XCJlbmRcIiBuYW1lPVwicGVyc29uLWNpcmNsZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdkb2N1bWVudHMnKVwiIHBUb29sdGlwPVwie3snaGVhZGVyLm15LWRvY3VtZW50cycgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwiIWxzLmlzQ3NyKCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnICYmICF1dGlsLmlzU3RhdGUoJ01FJylcIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpID09ICdkb2N1bWVudHMnID8gJ2hlYWRlci1idXR0b24gaGlkZS14cyBoaWRlLW1kJyA6ICdoaWRlLXhzIGhpZGUtbWQnXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWxhYmVsPVwiZG9jdW1lbnRzXCIgbmFtZT1cImRvY3VtZW50LXRleHQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuUGFnZSgnY3AnLCAnZG9jdW1lbnRzJylcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5teS1kb2N1bWVudHMnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiAqbmdJZj1cIiFscy5pc0NzcigpICYmIGxlZ2FjeU1lbnUgPT0gJ3RydWUnXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWxhYmVsPVwiZG9jdW1lbnRzXCIgbmFtZT1cImRvY3VtZW50LXRleHQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInRoaXMuaHMuc2hvdygpXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIuaGVscCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiAoaHMuc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKSB8IGFzeW5jKVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gYXJpYS1sYWJlbD1cImhlbHBcIiBuYW1lPVwiaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInNlY29uZGFyeVwiICpuZ0lmPVwiIWxzLmlzTG9nZ2VkSW4oKSAmJiBscy5nZXRVc2VyKClcIj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5sb2dvdXQnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2ctb3V0LXNoYXJwXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCIhbHMuaXNMb2dnZWRJbigpXCIgPlxyXG4gICAgICAgIDxwLW1lbnUgI21lbnUgW3BvcHVwXT1cInRydWVcIiBbbW9kZWxdPVwiaXRlbXNcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwibGFuZ3VhZ2VcIiAoY2xpY2spPVwibWVudS50b2dnbGUoJGV2ZW50KVwiIHBUb29sdGlwPVwie3snaGVhZGVyLmxhbmd1YWdlJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+XHJcbiAgICAgICAgICA8aW9uLWljb24gYXJpYS1sYWJlbD1cImxhbmd1YWdlXCIgbmFtZT1cImxhbmd1YWdlXCIgc2xvdD1cImVuZFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbjwvaW9uLXRvb2xiYXI+XHJcbjxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCIgaWQ9XCJzZWNvbmRUb29sYmFyXCIgKm5nSWY9XCJzZWNvbmRUb29sYmFyXCI+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XHJcbiAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbiBwVG9vbHRpcD1cIkJhY2tcIiBhbHQ9XCJCYWNrXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW2RlZmF1bHRIcmVmXT1cImJhY2tQYWdlID8gYmFja1BhZ2UgOiAnL3dlbGNvbWUnXCI+PC9pb24tYmFjay1idXR0b24+XHJcbiAgICAgICAgPGlvbi10aXRsZSBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInRpdGxlXCIgc3R5bGU9XCJmb250LXNpemU6IDE4cHhcIj57e3RpdGxlfX08L2lvbi10aXRsZT5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxyXG4gICAgICAgIDxpb24tdGl0bGUgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IHh4LXNtYWxsOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDhweDtcIiAqbmdJZj1cInBhZ2VJZFwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VJZH19PC9pb24tdGl0bGU+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG48L2lvbi10b29sYmFyPlxyXG48cC10b2FzdCBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIiA+PC9wLXRvYXN0PlxyXG5cclxuPGFwcC1wcm9maWxlICpuZ0lmPVwic2hvd1Byb2ZpbGVQb3B1cFwiIChvbkNhbmNlbCk9XCJzaG93UHJvZmlsZVBvcHVwID0gZmFsc2VcIj48L2FwcC1wcm9maWxlPlxyXG5cclxuXHJcbiJdfQ==
540
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBR3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBUWhGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDZGhELHVDQUNtQjs7OztJQURrQix1RUFBb0M7OztJQUlqRSxzQ0FDOEM7OztJQURaLHlFQUF3Qzs7OztJQVcxRSxzQ0FBeVE7SUFBakQsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQXlCLFlBQXNEO0lBQUEsaUJBQWE7OztJQUFoVSxtRkFBa0Q7SUFBMEIsbUdBQThFO0lBQW1HLGVBQXNEO0lBQXRELHNGQUFzRDs7OztJQUMvVCxzQ0FBdVE7SUFBekIsd0xBQVMsZUFBQSxzQkFBYyxDQUFBLElBQUM7O0lBQUMsWUFBdUQ7SUFBQSxpQkFBYTs7O0lBQS9ULG1GQUFrRDtJQUEwQixvR0FBOEU7SUFBaUcsZUFBdUQ7SUFBdkQsd0ZBQXVEOzs7O0lBQzlULHNDQUFzUTtJQUF6Qix3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QUN6QixnRkFRYyxxREFBQSx1RUFBQSxxRUFBQSxxRUFBQTtZQW9EbEIsaUJBQWM7WUFDZCxtRkFVYztZQUNkLCtCQUEwQztZQUUxQyxtRkFBMEY7O1lBdEZmLHlFQUF1QztZQUtyRyxlQUFxQjtZQUFyQiwwQ0FBcUI7WUFFSixlQUFpRjtZQUFqRixtR0FBaUY7WUFDckQsZUFBNkM7WUFBN0MsK0VBQTZDO1lBQ3FCLG1GQUFpRTtZQUc5SixlQUFxQjtZQUFyQiwwQ0FBcUI7WUFTVixlQUFtQztZQUFuQyw0REFBbUM7WUFtQmhELGVBQXFCO1lBQXJCLDBDQUFxQjtZQW1CZixlQUFzQztZQUF0QywrREFBc0M7WUFNNUMsZUFBcUM7WUFBckMsOERBQXFDO1lBUW5CLGVBQW1CO1lBQW5CLHdDQUFtQjtZQWFwRCxlQUFzQjtZQUF0QiwyQ0FBc0I7OztpRkRoRXZCLGVBQWU7Y0FMM0IsU0FBUzsyQkFDRSxZQUFZOytTQVlOLEtBQUs7a0JBQXBCLEtBQUs7bUJBQUMsT0FBTztZQUVHLE1BQU07a0JBQXRCLEtBQUs7bUJBQUMsUUFBUTtZQUVTLGFBQWE7a0JBQXBDLEtBQUs7bUJBQUMsZUFBZTtZQUVBLFdBQVc7a0JBQWhDLEtBQUs7bUJBQUMsYUFBYTtZQUVFLFdBQVc7a0JBQWhDLEtBQUs7bUJBQUMsYUFBYTtZQUVELFFBQVE7a0JBQTFCLEtBQUs7bUJBQUMsVUFBVTtZQUVJLFVBQVU7a0JBQTlCLEtBQUs7bUJBQUMsWUFBWTs7a0ZBcEJSLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTW9kYWxDb250cm9sbGVyLCBOYXZDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IENsYWltYW50TW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvY2xhaW1hbnQvQ2xhaW1hbnRNb2RlbCc7XHJcbmltcG9ydCB7IE15Tm90aWZpY2F0aW9uc1BhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9wb3BvdmVycy9teS1ub3RpZmljYXRpb25zL215LW5vdGlmaWNhdGlvbnMucGFnZSc7XHJcbmltcG9ydCB7IE15UHJvZmlsZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9wb3BvdmVycy9teS1wcm9maWxlL215LXByb2ZpbGUucGFnZSc7XHJcbmltcG9ydCB7IENsYWltYW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltYW50L2NsYWltYW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIZWxwU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2hlbHAvaGVscC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQmFzZVBhZ2UgfSBmcm9tICcuLi8uLi9wYWdlcy9CYXNlUGFnZSc7XHJcbmltcG9ydCB7IEF1dG9Db21wbGV0ZVNlbGVjdEV2ZW50IH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtaGVhZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSGVhZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQgIHtcclxuXHJcbiAgaXRlbXM6IE1lbnVJdGVtW107XHJcblxyXG4gIHNlYXJjaFRleHQ7XHJcblxyXG4gIHJlc3VsdHM6IENsYWltYW50TW9kZWxbXTtcclxuXHJcbiAgQElucHV0KCd0aXRsZScpIHRpdGxlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgncGFnZUlkJykgcGFnZUlkOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgnc2Vjb25kVG9vbGJhcicpIHNlY29uZFRvb2xiYXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCdkaXNwbGF5TG9nbycpIGRpc3BsYXlMb2dvOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgnc2hvd0hpc3RvcnknKSBzaG93SGlzdG9yeTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoJ2JhY2tQYWdlJykgYmFja1BhZ2U6IHN0cmluZztcclxuXHJcbiAgQElucHV0KCdpc0VtcGxveWVyJykgaXNFbXBsb3llcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgc2hvd05vdGlmaWNhdGlvbkxvYWRlciA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgbGVnYWN5TWVudSA9IExpYkNvbnN0YW50cy5sZWdhY3lNZW51O1xyXG5cclxuICBwdWJsaWMgc2hvd1Byb2ZpbGVQb3B1cCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIHNob3dqb2JTZWFyY2hSZXN1bHRQb3B1cCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGxzIDogTG9naW5TZXJ2aWNlLCBwdWJsaWMgdXRpbCA6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgciA6IFJvdXRlciwgcHVibGljIHBvcHVwOiBQb3BvdmVyQ29udHJvbGxlciwgXHJcbiAgICAgICAgICAgICAgcHVibGljIGNzIDogQ2xhaW1hbnRTZXJ2aWNlLCBwcml2YXRlIG5hdiA6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlcixcclxuICAgICAgICAgICAgICBwdWJsaWMgbnMgOiBOb3RpZmljYXRpb25TZXJ2aWNlLCBwdWJsaWMgaHM6IEhlbHBTZXJ2aWNlLCBwdWJsaWMgdHJhbnNsYXRlU2VydmljZSA6IFRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgICAgICAgICAgIHN1cGVyKCk7XHJcbiAgICAgICAgICAgICAgIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvL3RoaXMubG9hZE5vdGlmaWNhdGlvbkNvdW50KCk7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikpO1xyXG4gICAgdGhpcy5zZXRNZW51SXRlbXMobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XHJcbiAgfVxyXG4gIFxyXG4gICBwcmVzZW50Sm9iU2VhcmNoUmVzdWx0UG9wdXAoKSB7XHJcbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSl7XHJcbiAgICAgIHRoaXMuc2hvd2pvYlNlYXJjaFJlc3VsdFBvcHVwID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2V0TWVudUl0ZW1zKGxhbmd1YWdlIDogc3RyaW5nKXtcclxuICAgIHRoaXMuaXRlbXMgPSBbe1xyXG4gICAgICBsYWJlbCA6ICdDaG9vc2UgbGFuZ3VhZ2UnLFxyXG4gICAgICBpdGVtczogW3tcclxuICAgICAgICBsYWJlbDogJ0VuZ2xpc2gnLFxyXG4gICAgICAgIGljb24gOiB0aGlzLmdldEljb24obGFuZ3VhZ2UsJ2VuJyksXHJcbiAgICAgICAgY29tbWFuZDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnNldExhbmd1YWdlKCdlbicsICdFbmdsaXNoJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgbGFiZWw6ICdFc3Bhw7FvbCcsXHJcbiAgICAgICAgaWNvbiA6IHRoaXMuZ2V0SWNvbihsYW5ndWFnZSwnZXMnKSxcclxuICAgICAgICBjb21tYW5kOiAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0TGFuZ3VhZ2UoJ2VzJywgJ2VzcGHDsW9sJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XVxyXG4gICAgfV07XHJcbiAgfVxyXG5cclxuICBnZXRJY29uKHNlbGVjdGVkTGFuZyA6IHN0cmluZywgbGFuZ3VhZ2UgOiBzdHJpbmcpe1xyXG4gICAgaWYobGFuZ3VhZ2UgPT0gc2VsZWN0ZWRMYW5nKXtcclxuICAgICAgcmV0dXJuIFwicGkgcGktZncgcGktY2hlY2tcIjtcclxuICAgIH1lbHNlIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRMYW5ndWFnZShsYW5ndWFnZSA6IHN0cmluZywgbmFtZSA6IHN0cmluZyl7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxhbmd1YWdlKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdsYW5ndWFnZScsIGxhbmd1YWdlKTtcclxuICAgIHRoaXMudXRpbC50b2FzdCgnTGFuZ3VhZ2UgcHJlZmVyZW5jZSBjaGFuZ2VkIHRvICcgKyBuYW1lKTtcclxuICAgIHRoaXMuc2V0TWVudUl0ZW1zKGxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRNeVByb2ZpbGVQb3BvdmVyKGV2ZW50KSB7XHJcblxyXG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkgJiYgICh0aGlzLmxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyB8fCB0aGlzLnV0aWwuaXNTdGF0ZSgnTUUnKSkpe1xyXG4gICAgICB0aGlzLnNob3dQcm9maWxlUG9wdXAgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcG9wb3ZlciA9IGF3YWl0IHRoaXMucG9wdXAuY3JlYXRlKHtcclxuICAgICAgY29tcG9uZW50OiBNeVByb2ZpbGVQYWdlLFxyXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiB0cnVlLFxyXG4gICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgIGNzc0NsYXNzOiAnaGVhZGVyLXBvcG92ZXInXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBwcmVzZW50TXlOb3RpZmljYXRpb25Qb3BvdmVyKGV2ZW50KSB7XHJcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xyXG4gICAgICBjb21wb25lbnQ6IE15Tm90aWZpY2F0aW9uc1BhZ2UsXHJcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXHJcbiAgICAgIGV2ZW50OiBldmVudCxcclxuICAgICAgY3NzQ2xhc3M6ICdoZWFkZXItcG9wb3ZlcidcclxuICAgIH0pO1xyXG5cclxuICAgIHBvcG92ZXIub25EaWREaXNtaXNzKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubnMudXBkYXRlUmVhZEZsYWcoKTtcclxuICAgIH0pXHJcblxyXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCl7XHJcbiAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJy9sYW5kaW5nJyk7XHJcbiAgICB0aGlzLmxzLmxvZ291dCgpO1xyXG4gIH1cclxuXHJcbiAgb3BlbldlZWtsaWVzKCl7XHJcbiAgICBpZih0aGlzLmxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmIHRoaXMuaXNNUygpKXtcclxuICAgICAgdGhpcy5vcGVuUGFnZSgnY3AnLCAndjIvd2Vla2xpZXMnKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vcGVuUGFnZSgnY3AnLCAndjMvd2Vla2xpZXMnKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkhvbWUoKXtcclxuICAgIC8vdGhpcy5uYXYubmF2aWdhdGVSb290KFwiL3dlbGNvbWVcIik7XHJcbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSl7XHJcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QodGhpcy51dGlsLmdldENsYWltYW50QXBwQ29udGV4dFJvb3QoKSwgXCJ3ZWxjb21lXCIsIHRoaXMubmF2KTsgXHJcbiAgICB9IGVsc2UgaWYodGhpcy5scy5pc0NzcigpKXtcclxuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0aGlzLnV0aWwuZ2V0U2VjdXJpdHlBcHBDb250ZXh0Um9vdCgpLFwid2VsY29tZVwiLCB0aGlzLm5hdik7IFxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KFwiL3dlbGNvbWVcIik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoKGV2ZW50KSB7XHJcbiAgICBsZXQgZG9TZWFyY2ggPSBmYWxzZTtcclxuICAgIGxldCBjbGFpbWFudFNlYXJjaCA9IG5ldyBDbGFpbWFudE1vZGVsKCk7XHJcbiAgICBsZXQgcXVlcnkgPSBldmVudC5xdWVyeSArICcnO1xyXG4gICAgaWYocXVlcnkuaW5jbHVkZXMoXCIgXCIpKXtcclxuICAgICAgbGV0IGZOYW1lID0gcXVlcnkuc3BsaXQoXCIgXCIpWzBdO1xyXG4gICAgICBsZXQgbE5hbWUgPSBxdWVyeS5zcGxpdChcIiBcIilbMV07XHJcbiAgICAgIGNsYWltYW50U2VhcmNoLmZpcnN0TmFtZSA9IGZOYW1lO1xyXG4gICAgICBjbGFpbWFudFNlYXJjaC5sYXN0TmFtZSA9IGxOYW1lO1xyXG4gICAgICBkb1NlYXJjaCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYocXVlcnkubGVuZ3RoID09IDkgJiYgdGhpcy5pc051bWJlcihxdWVyeSkgJiYgIWRvU2VhcmNoKXtcclxuICAgICAgY2xhaW1hbnRTZWFyY2guc3NuID0gcXVlcnk7XHJcbiAgICAgIGRvU2VhcmNoID0gdHJ1ZTtcclxuICAgIH1lbHNlIGlmKCF0aGlzLmlzTnVtYmVyKHF1ZXJ5KSAmJiAhZG9TZWFyY2gpe1xyXG4gICAgICBjbGFpbWFudFNlYXJjaC51c2VySWQgPSBxdWVyeTtcclxuICAgICAgZG9TZWFyY2ggPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBpZihkb1NlYXJjaCl7XHJcbiAgICAgIHRoaXMuY3Muc2VhcmNoKGNsYWltYW50U2VhcmNoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc3VsdHMgPSBkYXRhO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNOdW1iZXIobnVtKXtcclxuICAgIHJldHVybiAhaXNOYU4obnVtKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0QWN0aW9uKGV2ZW50IDogQXV0b0NvbXBsZXRlU2VsZWN0RXZlbnQpe1xyXG4gICAgdGhpcy5yZXN1bHRzID0gbnVsbDtcclxuICAgIHRoaXMuc2VhcmNoVGV4dCA9IG51bGw7XHJcbiAgICB0aGlzLmNzLmdldENsYWltYW50KCkubmV4dChldmVudC52YWx1ZSk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5uYXYubmF2aWdhdGVGb3J3YXJkKCcvcmVzZXQtcGFzc3dvcmQnKTtcclxuICAgIH0sIDUwMClcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgb3BlbkJlbmVmaXRzQXBwKCl7XHJcbiAgICBsZXQgdXNlck1vZGVsID0gdGhpcy5scy5nZXRVc2VyKClcclxuICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCk7XHJcbiAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0vZmFjZXMvdmlydHVhbC9jb250ZXh0c3dpdGNoLnhodG1sP2E9JHt1c2VyTW9kZWwuYWNjZXNzX3Rva2VufSZyPSR7dXNlck1vZGVsLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBhZ2UoY29udGV4dFJvb3QsIHVyaSl7XHJcbiAgICBsZXQgY3VycmVudENvbnRleHRSb290ID0gdGhpcy51dGlsLmdldENvbnRleHRSb290KCk7XHJcbiAgICBsZXQgdGFyZ2V0ID0gYC8ke2NvbnRleHRSb290fWA7XHJcblxyXG4gICAgaWYoY3VycmVudENvbnRleHRSb290ID09IHRhcmdldCl7XHJcbiAgICAgIHRoaXMubmF2Lm5hdmlnYXRlRm9yd2FyZChgLyR7dXJpfWApO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QodGFyZ2V0LCB1cmkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3MobmFtZSl7XHJcbiAgICBsZXQgY3VycmVudFJvdXRlID0gdGhpcy5yLnVybC5yZXBsYWNlKCcvJywgJycpO1xyXG4gICAgY29uc29sZS5sb2coY3VycmVudFJvdXRlLCBuYW1lLCBjdXJyZW50Um91dGUgPT0gbmFtZSk7XHJcbiAgICByZXR1cm4gY3VycmVudFJvdXRlID09IG5hbWUgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJztcclxuICB9XHJcblxyXG4gIG9wZW5Db250ZXh0SGVscCgpe1xyXG5cclxuICB9XHJcblxyXG4gIGFzeW5jIGNoYW5nZUxhbmd1YWdlKGV2ZW50KSB7XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGdldCBob21lTGFiZWwoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLmhvbWUnKTtcclxuICB9XHJcblxyXG4gIGdldCB3ZWVrbHlMYWJlbCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24ud2Vla2x5Jyk7XHJcbiAgfVxyXG5cclxuICBnZXQgaGlzdG9yeUxhYmVsKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5oaXN0b3J5Jyk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtcHJvZ3Jlc3MtYmFyIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJ1dGlsLmxvYWRlci52YWx1ZSQgfCBhc3luY1wiICpuZ0lmPVwiKHV0aWwubG9hZGVyLnZhbHVlJCB8IGFzeW5jKSAhPSAwXCI+XHJcbjwvbWF0LXByb2dyZXNzLWJhcj5cclxuPGlvbi10b29sYmFyPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IC01cHg7XCI+XHJcbiAgICAgICAgPGlvbi1tZW51LWJ1dHRvbiBhdXRvSGlkZT1cImZhbHNlXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIubWVudScgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCI+PC9pb24tbWVudS1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiIFtuZ0NsYXNzXT1cImRpc3BsYXlMb2dvID8gJ2hlYWRlcl9idXR0b25fd2hpdGUnIDogJ2hlYWRlcl9idXR0b24gaGlkZS14cyBoaWRlLW1kJ1wiPlxyXG4gICAgICAgIDxpbWcgYWx0PVwiTG9nbyBvZiB0aGUgS2Fuc2FzIERlcGFydG1lbnQgb2YgTGFib3JcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5rZG9sLWxvZ28nIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiTG9nbyBvZiB0aGUgS2Fuc2FzIERlcGFydG1lbnQgb2YgTGFib3JcIiBpZD1cImhlYWRlcl9yZWVtcGxveW1lX2xvZ29cIiBzcmM9XCJhc3NldHMvaWNvbi9rZG9sX2xvZ28ucG5nXCIgW25nQ2xhc3NdPVwiZGlzcGxheUxvZ28gPyAnYXBwLWxvZ28nIDogJ2FwcC1sb2dvIGhpZGUteHMgaGlkZS1tZCdcIi8+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCI+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5Ib21lKClcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5ob21lJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2VsY29tZScpID8gJ2hlYWRlci1idXR0b24nIDogJydcIj57e2hvbWVMYWJlbH19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIHBUb29sdGlwPVwie3snaGVhZGVyLndlZWtseS50b29sdGlwJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW25nQ2xhc3NdPVwici51cmwucmVwbGFjZSgnLycsICcnKS5pbmNsdWRlcygnd2Vla2xpZXMnKSA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCIgY2xhc3M9XCJoaWRlLXhzIGhpZGUtbWRcIj57e2xlZ2FjeU1lbnUgPT0gJ3RydWUnID8gJ1dlZWtseSBDZXJ0JyA6d2Vla2x5TGFiZWwgfX08L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gcFRvb2x0aXA9XCJ7eydoZWFkZXIud2Vla2x5LnRvb2x0aXAnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpLmluY2x1ZGVzKCd3ZWVrbGllcycpID8gJ2hlYWRlci1idXR0b24nIDogJydcIiAqbmdJZj1cImxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICd0cnVlJyAmJiAhdXRpbC5pc1N0YXRlKCdNRScpXCIgKGNsaWNrKT1cIm9wZW5XZWVrbGllcygpXCI+e3tsZWdhY3lNZW51ID09ICd0cnVlJyA/ICdXZWVrbHkgQ2VydCcgOiB3ZWVrbHlMYWJlbCB9fTwvaW9uLWJ1dHRvbj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBwVG9vbHRpcD1cInt7J2hlYWRlci53ZWVrbHkudG9vbHRpcCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cInIudXJsLnJlcGxhY2UoJy8nLCAnJykuaW5jbHVkZXMoJ3dlZWtsaWVzJykgPyAnaGVhZGVyLWJ1dHRvbicgOiAnJ1wiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ3RydWUnICYmIHV0aWwuaXNTdGF0ZSgnTUUnKVwiIChjbGljayk9XCJvcGVuV2Vla2xpZXMoKVwiPnt7bGVnYWN5TWVudSA9PSAndHJ1ZScgPyAnV2Vla2x5IENsYWltJyA6IHdlZWtseUxhYmVsIH19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIFxyXG4gICAgICAgIDxpb24tYnV0dG9uIHBUb29sdGlwPVwie3snaGVhZGVyLmhpc3RvcnknIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpID09ICdoaXN0b3J5JyA/ICdoZWFkZXItYnV0dG9uJyA6ICcnXCIgKm5nSWY9XCJscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnXCIgKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdoaXN0b3J5JylcIiBjbGFzcz1cImhpZGUteHMgaGlkZS1tZFwiPnt7aGlzdG9yeUxhYmVsfX08L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPGRpdiBjbGFzcz1cInRvb2xiYXItY29udGVudCBoaWRlLXhzXCIgKm5nSWY9XCJscy5pc0xvZ2dlZEluKCkgJiYgbHMuaXNDc3IoKVwiPlxyXG4gICAgICAgIDxwLWF1dG9Db21wbGV0ZSBhcHBlbmRUbz1cImJvZHlcIiBbKG5nTW9kZWwpXT1cInNlYXJjaFRleHRcIiBbc3VnZ2VzdGlvbnNdPVwicmVzdWx0c1wiXHJcbiAgICAgICAgICAgIChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiIHBsYWNlaG9sZGVyPVwiU2VhcmNoIENsYWltYW50c1wiIChvblNlbGVjdCk9XCJvblNlbGVjdEFjdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgZW1wdHlNZXNzYWdlPVwiTm8gUmVzdWx0cyBGb3VuZC5cIiBzaXplPVwiMjVcIj5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC11c2VyIHBUZW1wbGF0ZT1cIml0ZW1cIj5cclxuICAgICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD57e3VzZXIuZmlyc3ROYW1lIHwgcHJvcGVyQ2FzZX19IHt7dXNlci5sYXN0TmFtZSB8IHByb3BlckNhc2V9fTwvaW9uLXRleHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCI0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tdGV4dD57e3VzZXIudXNlcklkfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXRleHQ+e3t1dGlsLm1hc2tTc24odXNlci5zc24pfX08L2lvbi10ZXh0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L3AtYXV0b0NvbXBsZXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCIgPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJwcmVzZW50TXlQcm9maWxlUG9wb3ZlcigkZXZlbnQpXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIubXktYWNjb3VudCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIFtuZ0NsYXNzXT1cImxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiBscy5pc0NsYWltYW50KCkgJiYgc2hvd1Byb2ZpbGVQb3B1cCA/ICdoaWRlLXhzIGhpZGUtbWQgaGVhZGVyLWJ1dHRvbicgOiAobGVnYWN5TWVudSA9PSAnZmFsc2UnICYmIGxzLmlzQ2xhaW1hbnQoKSA/ICdoaWRlLXhzIGhpZGUtbWQnIDogJycpXCI+XHJcbiAgICAgICAgICAgIDxoND57e2xzLmdldEZ1bGxOYW1lKCkgfCBwcm9wZXJDYXNlfX08L2g0PlxyXG4gICAgICAgICAgICA8aW9uLWljb24gYXJpYS1sYWJlbD1cInVzZXIgaWNvblwiIHNsb3Q9XCJlbmRcIiBuYW1lPVwicGVyc29uLWNpcmNsZS1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cIm9wZW5QYWdlKCdjcCcsICdkb2N1bWVudHMnKVwiIHBUb29sdGlwPVwie3snaGVhZGVyLm15LWRvY3VtZW50cycgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwiIWxzLmlzQ3NyKCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnICYmICF1dGlsLmlzU3RhdGUoJ01FJylcIiBbbmdDbGFzc109XCJyLnVybC5yZXBsYWNlKCcvJywgJycpID09ICdkb2N1bWVudHMnID8gJ2hlYWRlci1idXR0b24gaGlkZS14cyBoaWRlLW1kJyA6ICdoaWRlLXhzIGhpZGUtbWQnXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWxhYmVsPVwiZG9jdW1lbnRzXCIgbmFtZT1cImRvY3VtZW50LXRleHQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIChjbGljayk9XCJvcGVuUGFnZSgnY3AnLCAnZG9jdW1lbnRzJylcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5teS1kb2N1bWVudHMnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiAqbmdJZj1cIiFscy5pc0NzcigpICYmIGxlZ2FjeU1lbnUgPT0gJ3RydWUnXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBhcmlhLWxhYmVsPVwiZG9jdW1lbnRzXCIgbmFtZT1cImRvY3VtZW50LXRleHQtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG5cclxuICAgICAgICBcclxuXHJcbiAgICAgICAgPGlvbi1idXR0b24gKGNsaWNrKT1cInRoaXMuaHMuc2hvdygpXCIgcFRvb2x0aXA9XCJ7eydoZWFkZXIuaGVscCcgfCB0cmFuc2xhdGV9fVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICpuZ0lmPVwibHMuaXNDbGFpbWFudCgpICYmIGxlZ2FjeU1lbnUgPT0gJ2ZhbHNlJyAmJiAoaHMuc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKSB8IGFzeW5jKVwiPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gYXJpYS1sYWJlbD1cImhlbHBcIiBuYW1lPVwiaGVscC1jaXJjbGUtb3V0bGluZVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInNlY29uZGFyeVwiICpuZ0lmPVwiIWxzLmlzTG9nZ2VkSW4oKSAmJiBscy5nZXRVc2VyKClcIj5cclxuICAgICAgICA8aW9uLWJ1dHRvbiAoY2xpY2spPVwibG9nb3V0KClcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5sb2dvdXQnIHwgdHJhbnNsYXRlfX1cIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsb2ctb3V0LXNoYXJwXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG5cclxuICAgIDxpb24tYnV0dG9ucyBzbG90PVwiZW5kXCIgKm5nSWY9XCIhbHMuaXNMb2dnZWRJbigpICYmICFpc0VtcGxveWVyXCIgW2Rpc2FibGVkXSA9IFwiaXNFbXBsb3llclwiPlxyXG4gICAgICAgIDxwLW1lbnUgI21lbnUgW3BvcHVwXT1cInRydWVcIiBbbW9kZWxdPVwiaXRlbXNcIiBhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwibGFuZ3VhZ2VcIiAoY2xpY2spPVwibWVudS50b2dnbGUoJGV2ZW50KVwiIHBUb29sdGlwPVwie3snaGVhZGVyLmxhbmd1YWdlJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCI+XHJcbiAgICAgICAgICA8aW9uLWljb24gYXJpYS1sYWJlbD1cImxhbmd1YWdlXCIgbmFtZT1cImxhbmd1YWdlXCIgc2xvdD1cImVuZFwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgPC9pb24tYnV0dG9ucz5cclxuXHJcbjwvaW9uLXRvb2xiYXI+XHJcbjxpb24tdG9vbGJhciBjb2xvcj1cImxpZ2h0XCIgaWQ9XCJzZWNvbmRUb29sYmFyXCIgKm5nSWY9XCJzZWNvbmRUb29sYmFyXCI+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cInN0YXJ0XCI+XHJcbiAgICAgICAgPGlvbi1iYWNrLWJ1dHRvbiBwVG9vbHRpcD1cIkJhY2tcIiBhbHQ9XCJCYWNrXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgW2RlZmF1bHRIcmVmXT1cImJhY2tQYWdlID8gYmFja1BhZ2UgOiAnL3dlbGNvbWUnXCI+PC9pb24tYmFjay1idXR0b24+XHJcbiAgICAgICAgPGlvbi10aXRsZSBjb2xvcj1cInByaW1hcnlcIiAqbmdJZj1cInRpdGxlXCIgc3R5bGU9XCJmb250LXNpemU6IDE4cHhcIj57e3RpdGxlfX08L2lvbi10aXRsZT5cclxuICAgIDwvaW9uLWJ1dHRvbnM+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxyXG4gICAgICAgIDxpb24tdGl0bGUgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IHh4LXNtYWxsOyBmbG9hdDogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IDhweDtcIiAqbmdJZj1cInBhZ2VJZFwiPlxyXG4gICAgICAgICAgICB7e3BhZ2VJZH19PC9pb24tdGl0bGU+XHJcbiAgICA8L2lvbi1idXR0b25zPlxyXG48L2lvbi10b29sYmFyPlxyXG48cC10b2FzdCBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIiA+PC9wLXRvYXN0PlxyXG5cclxuPGFwcC1wcm9maWxlICpuZ0lmPVwic2hvd1Byb2ZpbGVQb3B1cFwiIChvbkNhbmNlbCk9XCJzaG93UHJvZmlsZVBvcHVwID0gZmFsc2VcIj48L2FwcC1wcm9maWxlPlxyXG5cclxuXHJcbiJdfQ==