info-library 2.16.0-beta → 3.0.0-beta

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 (79) hide show
  1. package/controls/autocomplete/autocomplete.component.d.ts +2 -1
  2. package/controls/date/date.component.d.ts +2 -1
  3. package/controls/date-month/date-month.component.d.ts +2 -1
  4. package/controls/grid/grid.component.d.ts +5 -5
  5. package/controls/input/input.component.d.ts +13 -3
  6. package/controls/multi-select/multi-select.component.d.ts +3 -1
  7. package/controls/select/select.component.d.ts +2 -1
  8. package/directives/unmask.directive.d.ts +2 -1
  9. package/esm2022/controls/alert/alert.component.mjs +8 -10
  10. package/esm2022/controls/autocomplete/autocomplete.component.mjs +33 -26
  11. package/esm2022/controls/big-checkbox/big-checkbox.component.mjs +27 -25
  12. package/esm2022/controls/card/card.component.mjs +12 -6
  13. package/esm2022/controls/card-menu/card-menu.component.mjs +14 -16
  14. package/esm2022/controls/checkbox/checkbox.component.mjs +13 -13
  15. package/esm2022/controls/chips/chips.component.mjs +12 -11
  16. package/esm2022/controls/date/date.component.mjs +64 -32
  17. package/esm2022/controls/date-month/date-month.component.mjs +64 -31
  18. package/esm2022/controls/editor/editor.component.mjs +35 -31
  19. package/esm2022/controls/grid/grid.component.mjs +529 -511
  20. package/esm2022/controls/input/input.component.mjs +146 -71
  21. package/esm2022/controls/input-list/input-list.component.mjs +16 -15
  22. package/esm2022/controls/list-checkbox/list-checkbox.component.mjs +16 -12
  23. package/esm2022/controls/message/message.component.mjs +9 -11
  24. package/esm2022/controls/multi-select/multi-select.component.mjs +35 -22
  25. package/esm2022/controls/paginator/paginator.component.mjs +15 -16
  26. package/esm2022/controls/select/select.component.mjs +32 -23
  27. package/esm2022/controls/timeline/timeline.component.mjs +15 -16
  28. package/esm2022/directives/mask.directive.mjs +17 -8
  29. package/esm2022/directives/unmask.directive.mjs +14 -7
  30. package/esm2022/info-library.module.mjs +10 -5
  31. package/esm2022/layouts/dialog/dialog.component.mjs +10 -6
  32. package/esm2022/layouts/filter/filter.component.mjs +179 -0
  33. package/esm2022/layouts/loading/loading.component.mjs +7 -9
  34. package/esm2022/layouts/main/main.component.mjs +101 -54
  35. package/esm2022/layouts/modal/modal.component.mjs +37 -22
  36. package/esm2022/layouts/pagebar/pagebar.component.mjs +125 -97
  37. package/esm2022/layouts/sidebar/sidebar.component.mjs +152 -100
  38. package/esm2022/layouts/topbar/topbar.component.mjs +417 -253
  39. package/esm2022/layouts/topmenu/topmenu.component.mjs +20 -12
  40. package/esm2022/model/app-config.model.mjs +12 -12
  41. package/esm2022/model/data-access.model.mjs +10 -8
  42. package/esm2022/model/dialog-result.model.mjs +3 -2
  43. package/esm2022/model/dialog.model.mjs +13 -14
  44. package/esm2022/model/form-prop.model.mjs +8 -6
  45. package/esm2022/model/grid-button.model.mjs +12 -7
  46. package/esm2022/model/last-search.model.mjs +5 -7
  47. package/esm2022/model/login.model.mjs +4 -2
  48. package/esm2022/model/method-grid-button.model.mjs +4 -2
  49. package/esm2022/model/notification.model.mjs +9 -5
  50. package/esm2022/model/pagebar-buttons.model.mjs +6 -6
  51. package/esm2022/model/permission.model.mjs +4 -1
  52. package/esm2022/model/platform.model.mjs +13 -14
  53. package/esm2022/model/session.model.mjs +25 -6
  54. package/esm2022/pipe/mask.pipe.mjs +10 -6
  55. package/esm2022/pipe/translate.pipe.mjs +4 -3
  56. package/esm2022/public_api.mjs +2 -1
  57. package/esm2022/service/authentication.service.mjs +89 -36
  58. package/esm2022/service/configuration.service.mjs +41 -10
  59. package/esm2022/service/data.service.mjs +38 -21
  60. package/esm2022/service/theme.service.mjs +16 -6
  61. package/esm2022/service/translate.service.mjs +9 -5
  62. package/esm2022/utils/utilities.mjs +52 -5
  63. package/fesm2022/info-library.mjs +2551 -1649
  64. package/fesm2022/info-library.mjs.map +1 -1
  65. package/info-library-3.0.0-beta.tgz +0 -0
  66. package/info-library.module.d.ts +32 -31
  67. package/layouts/filter/filter.component.d.ts +24 -0
  68. package/layouts/main/main.component.d.ts +4 -0
  69. package/layouts/modal/modal.component.d.ts +1 -0
  70. package/layouts/sidebar/sidebar.component.d.ts +1 -1
  71. package/layouts/topbar/topbar.component.d.ts +4 -1
  72. package/model/app-config.model.d.ts +2 -0
  73. package/model/session.model.d.ts +5 -0
  74. package/package.json +1 -1
  75. package/public_api.d.ts +1 -0
  76. package/service/authentication.service.d.ts +4 -2
  77. package/service/configuration.service.d.ts +4 -1
  78. package/service/data.service.d.ts +2 -0
  79. package/utils/utilities.d.ts +11 -0
@@ -22,11 +22,20 @@ import * as i11 from "@angular/forms";
22
22
  import * as i12 from "../../controls/input/input.component";
23
23
  import * as i13 from "../modal/modal.component";
24
24
  import * as i14 from "../../model/form-prop.model";
25
- function InfoPagebarComponent_ng_container_1_button_4_Template(rf, ctx) { if (rf & 1) {
26
- const _r9 = i0.ɵɵgetCurrentView();
27
- i0.ɵɵelementStart(0, "button", 10);
28
- i0.ɵɵlistener("click", function InfoPagebarComponent_ng_container_1_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.goBack()); });
29
- i0.ɵɵelementStart(1, "mat-icon", 11);
25
+ function InfoPagebarComponent_ng_container_1_mat_icon_2_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "mat-icon");
27
+ i0.ɵɵtext(1);
28
+ i0.ɵɵelementEnd();
29
+ } if (rf & 2) {
30
+ const ctx_r5 = i0.ɵɵnextContext(2);
31
+ i0.ɵɵadvance(1);
32
+ i0.ɵɵtextInterpolate(ctx_r5.icon);
33
+ } }
34
+ function InfoPagebarComponent_ng_container_1_button_6_Template(rf, ctx) { if (rf & 1) {
35
+ const _r10 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "button", 11);
37
+ i0.ɵɵlistener("click", function InfoPagebarComponent_ng_container_1_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.goBack()); });
38
+ i0.ɵɵelementStart(1, "mat-icon", 12);
30
39
  i0.ɵɵtext(2, "chevron_left");
31
40
  i0.ɵɵelementEnd();
32
41
  i0.ɵɵtext(3);
@@ -36,69 +45,77 @@ function InfoPagebarComponent_ng_container_1_button_4_Template(rf, ctx) { if (rf
36
45
  i0.ɵɵadvance(3);
37
46
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 1, "Voltar"));
38
47
  } }
39
- function InfoPagebarComponent_ng_container_1_ng_container_5_Template(rf, ctx) { if (rf & 1) {
48
+ function InfoPagebarComponent_ng_container_1_ng_container_7_Template(rf, ctx) { if (rf & 1) {
40
49
  i0.ɵɵelementContainer(0);
41
50
  } }
42
- function InfoPagebarComponent_ng_container_1_dl_6_dd_4_li_2_Template(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵelementStart(0, "li")(1, "a", 14)(2, "mat-icon");
51
+ function InfoPagebarComponent_ng_container_1_dl_8_dd_4_li_2_Template(rf, ctx) { if (rf & 1) {
52
+ i0.ɵɵelementStart(0, "li")(1, "a", 15)(2, "mat-icon");
44
53
  i0.ɵɵtext(3, "chevron_right");
45
54
  i0.ɵɵelementEnd();
46
55
  i0.ɵɵtext(4);
47
56
  i0.ɵɵpipe(5, "translate");
48
57
  i0.ɵɵelementEnd()();
49
58
  } if (rf & 2) {
50
- const a_r12 = ctx.$implicit;
59
+ const a_r13 = ctx.$implicit;
51
60
  i0.ɵɵadvance(1);
52
- i0.ɵɵproperty("routerLink", a_r12.Url);
61
+ i0.ɵɵproperty("routerLink", a_r13.Url);
53
62
  i0.ɵɵadvance(3);
54
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 2, a_r12.Label), "");
63
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 2, a_r13.Label), "");
55
64
  } }
56
- function InfoPagebarComponent_ng_container_1_dl_6_dd_4_Template(rf, ctx) { if (rf & 1) {
65
+ function InfoPagebarComponent_ng_container_1_dl_8_dd_4_Template(rf, ctx) { if (rf & 1) {
57
66
  i0.ɵɵelementStart(0, "dd")(1, "ul");
58
- i0.ɵɵtemplate(2, InfoPagebarComponent_ng_container_1_dl_6_dd_4_li_2_Template, 6, 4, "li", 13);
67
+ i0.ɵɵtemplate(2, InfoPagebarComponent_ng_container_1_dl_8_dd_4_li_2_Template, 6, 4, "li", 14);
59
68
  i0.ɵɵelementEnd()();
60
69
  } if (rf & 2) {
61
- const ctx_r10 = i0.ɵɵnextContext(3);
70
+ const ctx_r11 = i0.ɵɵnextContext(3);
62
71
  i0.ɵɵadvance(2);
63
- i0.ɵɵproperty("ngForOf", ctx_r10.access);
72
+ i0.ɵɵproperty("ngForOf", ctx_r11.access);
64
73
  } }
65
- function InfoPagebarComponent_ng_container_1_dl_6_Template(rf, ctx) { if (rf & 1) {
66
- const _r14 = i0.ɵɵgetCurrentView();
67
- i0.ɵɵelementStart(0, "dl", 12);
68
- i0.ɵɵlistener("mouseenter", function InfoPagebarComponent_ng_container_1_dl_6_Template_dl_mouseenter_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.exibirAcessos = true); })("mouseleave", function InfoPagebarComponent_ng_container_1_dl_6_Template_dl_mouseleave_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.exibirAcessos = false); });
69
- i0.ɵɵelementStart(1, "dt")(2, "mat-icon", 11);
74
+ function InfoPagebarComponent_ng_container_1_dl_8_Template(rf, ctx) { if (rf & 1) {
75
+ const _r15 = i0.ɵɵgetCurrentView();
76
+ i0.ɵɵelementStart(0, "dl", 13);
77
+ i0.ɵɵlistener("mouseenter", function InfoPagebarComponent_ng_container_1_dl_8_Template_dl_mouseenter_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.exibirAcessos = true); })("mouseleave", function InfoPagebarComponent_ng_container_1_dl_8_Template_dl_mouseleave_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r16 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r16.exibirAcessos = false); });
78
+ i0.ɵɵelementStart(1, "dt")(2, "mat-icon", 12);
70
79
  i0.ɵɵtext(3, "share");
71
80
  i0.ɵɵelementEnd()();
72
- i0.ɵɵtemplate(4, InfoPagebarComponent_ng_container_1_dl_6_dd_4_Template, 3, 1, "dd", 1);
81
+ i0.ɵɵtemplate(4, InfoPagebarComponent_ng_container_1_dl_8_dd_4_Template, 3, 1, "dd", 1);
73
82
  i0.ɵɵelementEnd();
74
83
  } if (rf & 2) {
75
- const ctx_r7 = i0.ɵɵnextContext(2);
84
+ const ctx_r8 = i0.ɵɵnextContext(2);
76
85
  i0.ɵɵadvance(4);
77
- i0.ɵɵproperty("ngIf", ctx_r7.exibirAcessos);
86
+ i0.ɵɵproperty("ngIf", ctx_r8.exibirAcessos);
78
87
  } }
79
- const _c0 = function () { return []; };
88
+ const _c0 = function (a0) { return { "title-icon": a0 }; };
89
+ const _c1 = function () { return []; };
80
90
  function InfoPagebarComponent_ng_container_1_Template(rf, ctx) { if (rf & 1) {
81
91
  i0.ɵɵelementContainerStart(0);
82
- i0.ɵɵelement(1, "h2", 5);
83
- i0.ɵɵpipe(2, "translate");
84
- i0.ɵɵelementStart(3, "div", 6);
85
- i0.ɵɵtemplate(4, InfoPagebarComponent_ng_container_1_button_4_Template, 5, 3, "button", 7);
86
- i0.ɵɵtemplate(5, InfoPagebarComponent_ng_container_1_ng_container_5_Template, 1, 0, "ng-container", 8);
87
- i0.ɵɵtemplate(6, InfoPagebarComponent_ng_container_1_dl_6_Template, 5, 1, "dl", 9);
92
+ i0.ɵɵelementStart(1, "h2", 5);
93
+ i0.ɵɵtemplate(2, InfoPagebarComponent_ng_container_1_mat_icon_2_Template, 2, 1, "mat-icon", 1);
94
+ i0.ɵɵelement(3, "span", 6);
95
+ i0.ɵɵpipe(4, "translate");
88
96
  i0.ɵɵelementEnd();
89
- i0.ɵɵelement(7, "hr");
97
+ i0.ɵɵelementStart(5, "div", 7);
98
+ i0.ɵɵtemplate(6, InfoPagebarComponent_ng_container_1_button_6_Template, 5, 3, "button", 8);
99
+ i0.ɵɵtemplate(7, InfoPagebarComponent_ng_container_1_ng_container_7_Template, 1, 0, "ng-container", 9);
100
+ i0.ɵɵtemplate(8, InfoPagebarComponent_ng_container_1_dl_8_Template, 5, 1, "dl", 10);
101
+ i0.ɵɵelementEnd();
102
+ i0.ɵɵelement(9, "hr");
90
103
  i0.ɵɵelementContainerEnd();
91
104
  } if (rf & 2) {
92
105
  const ctx_r0 = i0.ɵɵnextContext();
93
106
  const _r3 = i0.ɵɵreference(5);
94
107
  i0.ɵɵadvance(1);
95
- i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(2, 4, ctx_r0.pagetitle), i0.ɵɵsanitizeHtml);
108
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c0, ctx_r0.icon));
109
+ i0.ɵɵadvance(1);
110
+ i0.ɵɵproperty("ngIf", ctx_r0.icon);
111
+ i0.ɵɵadvance(1);
112
+ i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(4, 6, ctx_r0.pagetitle), i0.ɵɵsanitizeHtml);
96
113
  i0.ɵɵadvance(3);
97
114
  i0.ɵɵproperty("ngIf", ctx_r0.backurl);
98
115
  i0.ɵɵadvance(1);
99
116
  i0.ɵɵproperty("ngTemplateOutlet", _r3);
100
117
  i0.ɵɵadvance(1);
101
- i0.ɵɵproperty("ngIf", (ctx_r0.access || i0.ɵɵpureFunction0(6, _c0)).length > 0);
118
+ i0.ɵɵproperty("ngIf", (ctx_r0.access || i0.ɵɵpureFunction0(10, _c1)).length > 0);
102
119
  } }
103
120
  function InfoPagebarComponent_div_2_label_3_ng_container_5_Template(rf, ctx) { if (rf & 1) {
104
121
  i0.ɵɵelementContainerStart(0);
@@ -106,7 +123,7 @@ function InfoPagebarComponent_div_2_label_3_ng_container_5_Template(rf, ctx) { i
106
123
  i0.ɵɵelementContainerEnd();
107
124
  } }
108
125
  function InfoPagebarComponent_div_2_label_3_Template(rf, ctx) { if (rf & 1) {
109
- i0.ɵɵelementStart(0, "label", 22)(1, "mat-icon");
126
+ i0.ɵɵelementStart(0, "label", 23)(1, "mat-icon");
110
127
  i0.ɵɵtext(2);
111
128
  i0.ɵɵelementEnd();
112
129
  i0.ɵɵtext(3);
@@ -114,33 +131,33 @@ function InfoPagebarComponent_div_2_label_3_Template(rf, ctx) { if (rf & 1) {
114
131
  i0.ɵɵtemplate(5, InfoPagebarComponent_div_2_label_3_ng_container_5_Template, 2, 0, "ng-container", 1);
115
132
  i0.ɵɵelementEnd();
116
133
  } if (rf & 2) {
117
- const ctx_r16 = i0.ɵɵnextContext(2);
134
+ const ctx_r17 = i0.ɵɵnextContext(2);
118
135
  i0.ɵɵadvance(2);
119
- i0.ɵɵtextInterpolate(ctx_r16._platform.PaginaAtiva.Icone);
136
+ i0.ɵɵtextInterpolate(ctx_r17._platform.PaginaAtiva.Icone);
120
137
  i0.ɵɵadvance(1);
121
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, ctx_r16._platform.PaginaAtiva.Titulo), " ");
138
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(4, 3, ctx_r17._platform.PaginaAtiva.Titulo), " ");
122
139
  i0.ɵɵadvance(2);
123
- i0.ɵɵproperty("ngIf", ctx_r16.pagetitle != null && ctx_r16.pagetitle != "");
140
+ i0.ɵɵproperty("ngIf", ctx_r17.pagetitle != null && ctx_r17.pagetitle != "");
124
141
  } }
125
- const _c1 = function (a0) { return { "tem-atalho": a0 }; };
142
+ const _c2 = function (a0) { return { "tem-atalho": a0 }; };
126
143
  function InfoPagebarComponent_div_2_button_6_Template(rf, ctx) { if (rf & 1) {
127
- const _r23 = i0.ɵɵgetCurrentView();
128
- i0.ɵɵelementStart(0, "button", 23);
129
- i0.ɵɵlistener("click", function InfoPagebarComponent_div_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.toggleAtalho()); });
130
- i0.ɵɵelementStart(1, "mat-icon", 24);
144
+ const _r24 = i0.ɵɵgetCurrentView();
145
+ i0.ɵɵelementStart(0, "button", 24);
146
+ i0.ɵɵlistener("click", function InfoPagebarComponent_div_2_button_6_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r23.toggleAtalho()); });
147
+ i0.ɵɵelementStart(1, "mat-icon", 25);
131
148
  i0.ɵɵtext(2);
132
149
  i0.ɵɵelementEnd()();
133
150
  } if (rf & 2) {
134
- const ctx_r17 = i0.ɵɵnextContext(2);
135
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c1, !!ctx_r17.atalhoId))("disabled", ctx_r17.loading);
151
+ const ctx_r18 = i0.ɵɵnextContext(2);
152
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c2, !!ctx_r18.atalhoId))("disabled", ctx_r18.loading);
136
153
  i0.ɵɵadvance(2);
137
- i0.ɵɵtextInterpolate(ctx_r17.atalhoId ? "star" : "star_border");
154
+ i0.ɵɵtextInterpolate(ctx_r18.atalhoId ? "star" : "star_border");
138
155
  } }
139
156
  function InfoPagebarComponent_div_2_button_10_Template(rf, ctx) { if (rf & 1) {
140
- const _r25 = i0.ɵɵgetCurrentView();
141
- i0.ɵɵelementStart(0, "button", 10);
142
- i0.ɵɵlistener("click", function InfoPagebarComponent_div_2_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r25); const ctx_r24 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r24.goBack()); });
143
- i0.ɵɵelementStart(1, "mat-icon", 11);
157
+ const _r26 = i0.ɵɵgetCurrentView();
158
+ i0.ɵɵelementStart(0, "button", 11);
159
+ i0.ɵɵlistener("click", function InfoPagebarComponent_div_2_button_10_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r26); const ctx_r25 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r25.goBack()); });
160
+ i0.ɵɵelementStart(1, "mat-icon", 12);
144
161
  i0.ɵɵtext(2, "chevron_left");
145
162
  i0.ɵɵelementEnd();
146
163
  i0.ɵɵtext(3);
@@ -154,56 +171,56 @@ function InfoPagebarComponent_div_2_ng_container_11_Template(rf, ctx) { if (rf &
154
171
  i0.ɵɵelementContainer(0);
155
172
  } }
156
173
  function InfoPagebarComponent_div_2_dl_12_dd_4_li_2_Template(rf, ctx) { if (rf & 1) {
157
- i0.ɵɵelementStart(0, "li")(1, "a", 14)(2, "mat-icon");
174
+ i0.ɵɵelementStart(0, "li")(1, "a", 15)(2, "mat-icon");
158
175
  i0.ɵɵtext(3, "chevron_right");
159
176
  i0.ɵɵelementEnd();
160
177
  i0.ɵɵtext(4);
161
178
  i0.ɵɵpipe(5, "translate");
162
179
  i0.ɵɵelementEnd()();
163
180
  } if (rf & 2) {
164
- const a_r28 = ctx.$implicit;
181
+ const a_r29 = ctx.$implicit;
165
182
  i0.ɵɵadvance(1);
166
- i0.ɵɵproperty("routerLink", a_r28.Url);
183
+ i0.ɵɵproperty("routerLink", a_r29.Url);
167
184
  i0.ɵɵadvance(3);
168
- i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 2, a_r28.Label), "");
185
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(5, 2, a_r29.Label), "");
169
186
  } }
170
187
  function InfoPagebarComponent_div_2_dl_12_dd_4_Template(rf, ctx) { if (rf & 1) {
171
188
  i0.ɵɵelementStart(0, "dd")(1, "ul");
172
- i0.ɵɵtemplate(2, InfoPagebarComponent_div_2_dl_12_dd_4_li_2_Template, 6, 4, "li", 13);
189
+ i0.ɵɵtemplate(2, InfoPagebarComponent_div_2_dl_12_dd_4_li_2_Template, 6, 4, "li", 14);
173
190
  i0.ɵɵelementEnd()();
174
191
  } if (rf & 2) {
175
- const ctx_r26 = i0.ɵɵnextContext(3);
192
+ const ctx_r27 = i0.ɵɵnextContext(3);
176
193
  i0.ɵɵadvance(2);
177
- i0.ɵɵproperty("ngForOf", ctx_r26.access);
194
+ i0.ɵɵproperty("ngForOf", ctx_r27.access);
178
195
  } }
179
196
  function InfoPagebarComponent_div_2_dl_12_Template(rf, ctx) { if (rf & 1) {
180
- const _r30 = i0.ɵɵgetCurrentView();
181
- i0.ɵɵelementStart(0, "dl", 12);
182
- i0.ɵɵlistener("mouseenter", function InfoPagebarComponent_div_2_dl_12_Template_dl_mouseenter_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r29 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r29.exibirAcessos = true); })("mouseleave", function InfoPagebarComponent_div_2_dl_12_Template_dl_mouseleave_0_listener() { i0.ɵɵrestoreView(_r30); const ctx_r31 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r31.exibirAcessos = false); });
183
- i0.ɵɵelementStart(1, "dt")(2, "mat-icon", 11);
197
+ const _r31 = i0.ɵɵgetCurrentView();
198
+ i0.ɵɵelementStart(0, "dl", 13);
199
+ i0.ɵɵlistener("mouseenter", function InfoPagebarComponent_div_2_dl_12_Template_dl_mouseenter_0_listener() { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r30.exibirAcessos = true); })("mouseleave", function InfoPagebarComponent_div_2_dl_12_Template_dl_mouseleave_0_listener() { i0.ɵɵrestoreView(_r31); const ctx_r32 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r32.exibirAcessos = false); });
200
+ i0.ɵɵelementStart(1, "dt")(2, "mat-icon", 12);
184
201
  i0.ɵɵtext(3, "share");
185
202
  i0.ɵɵelementEnd()();
186
203
  i0.ɵɵtemplate(4, InfoPagebarComponent_div_2_dl_12_dd_4_Template, 3, 1, "dd", 1);
187
204
  i0.ɵɵelementEnd();
188
205
  } if (rf & 2) {
189
- const ctx_r20 = i0.ɵɵnextContext(2);
206
+ const ctx_r21 = i0.ɵɵnextContext(2);
190
207
  i0.ɵɵadvance(4);
191
- i0.ɵɵproperty("ngIf", ctx_r20.exibirAcessos);
208
+ i0.ɵɵproperty("ngIf", ctx_r21.exibirAcessos);
192
209
  } }
193
210
  function InfoPagebarComponent_div_2_Template(rf, ctx) { if (rf & 1) {
194
- i0.ɵɵelementStart(0, "div", 15)(1, "div", 16)(2, "h2");
195
- i0.ɵɵtemplate(3, InfoPagebarComponent_div_2_label_3_Template, 6, 5, "label", 17);
196
- i0.ɵɵelement(4, "label", 18);
211
+ i0.ɵɵelementStart(0, "div", 16)(1, "div", 17)(2, "h2");
212
+ i0.ɵɵtemplate(3, InfoPagebarComponent_div_2_label_3_Template, 6, 5, "label", 18);
213
+ i0.ɵɵelement(4, "label", 19);
197
214
  i0.ɵɵpipe(5, "translate");
198
215
  i0.ɵɵelementEnd();
199
- i0.ɵɵtemplate(6, InfoPagebarComponent_div_2_button_6_Template, 3, 5, "button", 19);
200
- i0.ɵɵelement(7, "p", 20);
216
+ i0.ɵɵtemplate(6, InfoPagebarComponent_div_2_button_6_Template, 3, 5, "button", 20);
217
+ i0.ɵɵelement(7, "p", 21);
201
218
  i0.ɵɵpipe(8, "translate");
202
219
  i0.ɵɵelementEnd();
203
- i0.ɵɵelementStart(9, "div", 21);
204
- i0.ɵɵtemplate(10, InfoPagebarComponent_div_2_button_10_Template, 5, 3, "button", 7);
205
- i0.ɵɵtemplate(11, InfoPagebarComponent_div_2_ng_container_11_Template, 1, 0, "ng-container", 8);
206
- i0.ɵɵtemplate(12, InfoPagebarComponent_div_2_dl_12_Template, 5, 1, "dl", 9);
220
+ i0.ɵɵelementStart(9, "div", 22);
221
+ i0.ɵɵtemplate(10, InfoPagebarComponent_div_2_button_10_Template, 5, 3, "button", 8);
222
+ i0.ɵɵtemplate(11, InfoPagebarComponent_div_2_ng_container_11_Template, 1, 0, "ng-container", 9);
223
+ i0.ɵɵtemplate(12, InfoPagebarComponent_div_2_dl_12_Template, 5, 1, "dl", 10);
207
224
  i0.ɵɵelementEnd()();
208
225
  } if (rf & 2) {
209
226
  const ctx_r1 = i0.ɵɵnextContext();
@@ -221,26 +238,44 @@ function InfoPagebarComponent_div_2_Template(rf, ctx) { if (rf & 1) {
221
238
  i0.ɵɵadvance(1);
222
239
  i0.ɵɵproperty("ngTemplateOutlet", _r3);
223
240
  i0.ɵɵadvance(1);
224
- i0.ɵɵproperty("ngIf", (ctx_r1.access || i0.ɵɵpureFunction0(11, _c0)).length > 0);
241
+ i0.ɵɵproperty("ngIf", (ctx_r1.access || i0.ɵɵpureFunction0(11, _c1)).length > 0);
225
242
  } }
226
243
  function InfoPagebarComponent_section_3_Template(rf, ctx) { if (rf & 1) {
227
- i0.ɵɵelementStart(0, "section", 25);
228
- i0.ɵɵelement(1, "mat-progress-bar", 26);
244
+ i0.ɵɵelementStart(0, "section", 26);
245
+ i0.ɵɵelement(1, "mat-progress-bar", 27);
229
246
  i0.ɵɵelementEnd();
230
247
  } }
231
248
  function InfoPagebarComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
232
249
  i0.ɵɵprojection(0);
233
250
  } }
234
- const _c2 = function (a0) { return { "marginTop": a0 }; };
235
- const _c3 = function (a0) { return { "transparent": a0 }; };
236
- const _c4 = ["*"];
251
+ const _c3 = function (a0) { return { "marginTop": a0 }; };
252
+ const _c4 = function (a0) { return { "transparent": a0 }; };
253
+ const _c5 = ["*"];
237
254
  export class InfoPagebarComponent {
255
+ _router;
256
+ _modal;
257
+ _dataService;
258
+ _translate;
259
+ _platform;
260
+ _renderer;
261
+ _element;
262
+ margintop = 0;
263
+ icon = null;
264
+ description;
265
+ backurl = null;
266
+ access = [];
267
+ transparent = false;
268
+ _pageTitle;
238
269
  get pagetitle() {
239
270
  return this._pageTitle;
240
271
  }
241
272
  set pagetitle(value) {
242
273
  this._pageTitle = value.replace(/\(/g, '<small>(').replace(/\)/g, ')</small>');
243
274
  }
275
+ loading = false;
276
+ atalhoId = null;
277
+ podeCriarAtalho = false;
278
+ exibirAcessos = false;
244
279
  constructor(_router, _modal, _dataService, _translate, _platform, _renderer, _element) {
245
280
  this._router = _router;
246
281
  this._modal = _modal;
@@ -249,14 +284,6 @@ export class InfoPagebarComponent {
249
284
  this._platform = _platform;
250
285
  this._renderer = _renderer;
251
286
  this._element = _element;
252
- this.margintop = 0;
253
- this.backurl = null;
254
- this.access = [];
255
- this.transparent = false;
256
- this.loading = false;
257
- this.atalhoId = null;
258
- this.podeCriarAtalho = false;
259
- this.exibirAcessos = false;
260
287
  _router.events.subscribe(e => {
261
288
  if (e instanceof NavigationStart || e instanceof GuardsCheckStart)
262
289
  setTimeout(() => this.loading = true, 0);
@@ -325,28 +352,28 @@ export class InfoPagebarComponent {
325
352
  });
326
353
  return ref.afterClosed();
327
354
  }
328
- /** @nocollapse */ static { this.ɵfac = function InfoPagebarComponent_Factory(t) { return new (t || InfoPagebarComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.MatDialog), i0.ɵɵdirectiveInject(i3.InfoDataService), i0.ɵɵdirectiveInject(i4.InfoTranslateService), i0.ɵɵdirectiveInject(i5.InfoPlatformModel), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
329
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoPagebarComponent, selectors: [["info-pagebar"]], inputs: { margintop: "margintop", icon: "icon", description: "description", backurl: "backurl", access: "access", transparent: "transparent", pagetitle: "pagetitle" }, ngContentSelectors: _c4, decls: 6, vars: 9, consts: [[3, "ngStyle", "ngClass"], [4, "ngIf"], ["class", "row", 4, "ngIf"], ["class", "loading-bar", 4, "ngIf"], ["content", ""], [3, "innerHTML"], [1, "link-button"], ["mat-button", "", "type", "button", "color", "primary", 3, "click", 4, "ngIf"], [4, "ngTemplateOutlet"], ["class", "acesso-rapido", 3, "mouseenter", "mouseleave", 4, "ngIf"], ["mat-button", "", "type", "button", "color", "primary", 3, "click"], [1, "fs-20"], [1, "acesso-rapido", 3, "mouseenter", "mouseleave"], [4, "ngFor", "ngForOf"], ["target", "_blank", 3, "routerLink"], [1, "row"], [1, "col-md-6"], ["id", "page-title", 4, "ngIf"], [3, "outerHTML"], ["type", "button", "mat-icon-button", "", "class", "shortcut-button", 3, "ngClass", "disabled", "click", 4, "ngIf"], [1, "pagebar-description", 3, "innerHTML"], [1, "col-md-6", "align-right", "buttons"], ["id", "page-title"], ["type", "button", "mat-icon-button", "", 1, "shortcut-button", 3, "ngClass", "disabled", "click"], ["inline", ""], [1, "loading-bar"], ["color", "primary", "mode", "indeterminate"]], template: function InfoPagebarComponent_Template(rf, ctx) { if (rf & 1) {
355
+ /** @nocollapse */ static ɵfac = function InfoPagebarComponent_Factory(t) { return new (t || InfoPagebarComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.MatDialog), i0.ɵɵdirectiveInject(i3.InfoDataService), i0.ɵɵdirectiveInject(i4.InfoTranslateService), i0.ɵɵdirectiveInject(i5.InfoPlatformModel), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(i0.ElementRef)); };
356
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoPagebarComponent, selectors: [["info-pagebar"]], inputs: { margintop: "margintop", icon: "icon", description: "description", backurl: "backurl", access: "access", transparent: "transparent", pagetitle: "pagetitle" }, ngContentSelectors: _c5, decls: 6, vars: 9, consts: [[3, "ngStyle", "ngClass"], [4, "ngIf"], ["class", "row", 4, "ngIf"], ["class", "loading-bar", 4, "ngIf"], ["content", ""], [3, "ngClass"], [3, "innerHTML"], [1, "link-button"], ["mat-button", "", "type", "button", "color", "primary", 3, "click", 4, "ngIf"], [4, "ngTemplateOutlet"], ["class", "acesso-rapido", 3, "mouseenter", "mouseleave", 4, "ngIf"], ["mat-button", "", "type", "button", "color", "primary", 3, "click"], [1, "fs-20"], [1, "acesso-rapido", 3, "mouseenter", "mouseleave"], [4, "ngFor", "ngForOf"], ["target", "_blank", 3, "routerLink"], [1, "row"], [1, "col-md-6"], ["id", "page-title", 4, "ngIf"], [3, "outerHTML"], ["type", "button", "mat-icon-button", "", "class", "shortcut-button", 3, "ngClass", "disabled", "click", 4, "ngIf"], [1, "pagebar-description", 3, "innerHTML"], [1, "col-md-6", "align-right", "buttons"], ["id", "page-title"], ["type", "button", "mat-icon-button", "", 1, "shortcut-button", 3, "ngClass", "disabled", "click"], ["inline", ""], [1, "loading-bar"], ["color", "primary", "mode", "indeterminate"]], template: function InfoPagebarComponent_Template(rf, ctx) { if (rf & 1) {
330
357
  i0.ɵɵprojectionDef();
331
358
  i0.ɵɵelementStart(0, "div", 0);
332
- i0.ɵɵtemplate(1, InfoPagebarComponent_ng_container_1_Template, 8, 7, "ng-container", 1);
359
+ i0.ɵɵtemplate(1, InfoPagebarComponent_ng_container_1_Template, 10, 11, "ng-container", 1);
333
360
  i0.ɵɵtemplate(2, InfoPagebarComponent_div_2_Template, 13, 12, "div", 2);
334
361
  i0.ɵɵelementEnd();
335
362
  i0.ɵɵtemplate(3, InfoPagebarComponent_section_3_Template, 2, 0, "section", 3);
336
363
  i0.ɵɵtemplate(4, InfoPagebarComponent_ng_template_4_Template, 1, 0, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
337
364
  } if (rf & 2) {
338
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(5, _c2, ctx.margintop + "px"))("ngClass", i0.ɵɵpureFunction1(7, _c3, ctx.transparent));
365
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction1(5, _c3, ctx.margintop + "px"))("ngClass", i0.ɵɵpureFunction1(7, _c4, ctx.transparent));
339
366
  i0.ɵɵadvance(1);
340
367
  i0.ɵɵproperty("ngIf", ctx._platform.Config.ux >= 3);
341
368
  i0.ɵɵadvance(1);
342
369
  i0.ɵɵproperty("ngIf", ctx._platform.Config.ux <= 2);
343
370
  i0.ɵɵadvance(1);
344
371
  i0.ɵɵproperty("ngIf", ctx.loading);
345
- } }, dependencies: [i6.NgClass, i6.NgForOf, i6.NgIf, i6.NgTemplateOutlet, i6.NgStyle, i7.MatIcon, i8.MatButton, i9.MatProgressBar, i1.RouterLink, i10.InfoTranslatePipe], styles: [".topmenu[_nghost-%COMP%] > div[_ngcontent-%COMP%]{left:0!important;top:125px!important;width:100%!important}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%]{position:fixed;left:240px;z-index:100;top:80px;background:#fff;padding:15px 20px 10px;min-height:60px;width:calc(100% - 240px);transition:left .2s ease-in-out,width .2s ease-in-out}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.7em;font-weight:500;display:inline-block;padding-right:20px;margin:0;max-width:65%;background:inherit}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{top:3px;font-size:22px}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] > small[_ngcontent-%COMP%]{font-size:70%}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{display:block;background:inherit;position:absolute;right:20px;top:18px;padding-left:20px}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{position:absolute;top:50%;margin:0;width:calc(100% - 40px);z-index:-1}@media only screen and (max-width: 543px){.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%]{left:0}}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%]{position:fixed;left:240px;right:0;z-index:100;top:70px;background:#fff;padding:10px 20px;min-height:60px;border-bottom:solid 1px #e4e9f0;box-shadow:0 0 5px #eee}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%]{left:0}}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;padding:0;font-size:1.2em;display:inline}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.9em;width:100%;padding-top:3px;margin:0}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:none}}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .buttons[_ngcontent-%COMP%]{padding-top:2px}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .buttons[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{margin-left:8px}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%]:hover .shortcut-button[_ngcontent-%COMP%]{opacity:1}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .shortcut-button[_ngcontent-%COMP%]{width:22px;height:22px;line-height:22px;text-align:center;opacity:0;transition:opacity .2s}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .shortcut-button.tem-atalho[_ngcontent-%COMP%]{opacity:1!important}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .shortcut-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:14px;color:#b99206;top:-2px}"] }); }
372
+ } }, dependencies: [i6.NgClass, i6.NgForOf, i6.NgIf, i6.NgTemplateOutlet, i6.NgStyle, i7.MatIcon, i8.MatButton, i9.MatProgressBar, i1.RouterLink, i10.InfoTranslatePipe], styles: ["body[_ngcontent-%COMP%]{--ux-cor-hover: #F5F5F5;--ux-cor-hover-2: #eee;--ux-cor-hover-3: #fafafa;--ux-cor-hover-4: #e5e3ed;--ux-cor-hover-5: #f9f9f9;--ux-cor-bg: #adadad;--ux-cor-P: #fff;--ux-cor-A: #eeeef2;--ux-cor-X: #f5f5f5;--ux-cor-S: #666;--ux-cor-O: #ddd;--ux-cor-F: #222;--ux-cor-D: #ccdbb4;--ux-cor-linha: #CCCEDB;--ux-cor-btn-pri: #eeeef2;--ux-cor-btn-wrn: #BA5005;--ux-cor-btn-dis: #6a7282}.topmenu[_nghost-%COMP%] > div[_ngcontent-%COMP%]{left:0!important;top:125px!important;width:100%!important}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%]{position:fixed;left:120px;z-index:100;top:80px;background:#fff;padding:15px 20px 10px;min-height:60px;width:calc(100% - 120px);transition:left .2s ease-in-out,width .2s ease-in-out}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{font-size:1.7em;font-weight:500;display:inline-block;padding-right:20px;margin:0;max-width:65%;background:inherit}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{top:3px;font-size:22px}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] > small[_ngcontent-%COMP%]{font-size:70%}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2.title-icon[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{top:14px;left:0;font-size:42px;position:absolute}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2.title-icon[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{font-size:30px;margin-left:40px;position:relative;top:3px}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] .link-button[_ngcontent-%COMP%]{display:block;background:inherit;position:absolute;right:20px;top:18px;padding-left:20px}.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{position:absolute;top:50%;margin:0;width:calc(100% - 40px);z-index:-1}@media only screen and (max-width: 991px){.uxc3[_nghost-%COMP%] > div[_ngcontent-%COMP%]{left:0}}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%]{position:fixed;left:120px;right:0;z-index:100;top:70px;background:#fff;padding:10px 20px;min-height:60px;border-bottom:solid 1px #e4e9f0;box-shadow:0 0 5px #eee}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%]{left:0}}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin:0;padding:0;font-size:1.2em;display:inline}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{font-size:.9em;width:100%;padding-top:3px;margin:0}@media only screen and (max-width: 543px){.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{display:none}}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .buttons[_ngcontent-%COMP%]{padding-top:2px}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .buttons[_ngcontent-%COMP%] .mat-button[_ngcontent-%COMP%]{margin-left:8px}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%]:hover .shortcut-button[_ngcontent-%COMP%]{opacity:1}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .shortcut-button[_ngcontent-%COMP%]{width:22px;height:22px;line-height:22px;text-align:center;opacity:0;transition:opacity .2s}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .shortcut-button.tem-atalho[_ngcontent-%COMP%]{opacity:1!important}.uxc2[_nghost-%COMP%] > div[_ngcontent-%COMP%] .shortcut-button[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:14px;color:#b99206;top:-2px}"] });
346
373
  }
347
374
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoPagebarComponent, [{
348
375
  type: Component,
349
- args: [{ selector: 'info-pagebar', template: "<div [ngStyle]=\"{ 'marginTop': margintop + 'px' }\" [ngClass]=\"{ 'transparent': transparent }\" >\r\n \r\n <ng-container *ngIf=\"_platform.Config.ux >= 3\" >\r\n <h2 [innerHTML]=\"pagetitle | translate\"></h2>\r\n \r\n <div class=\"link-button\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}</button>\r\n\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n <hr>\r\n </ng-container>\r\n \r\n <div class=\"row\" *ngIf=\"_platform.Config.ux <= 2\" >\r\n <div class=\"col-md-6\">\r\n <h2>\r\n <label id=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon>\r\n {{ _platform.PaginaAtiva.Titulo | translate }}\r\n\r\n <ng-container *ngIf=\"pagetitle != null && pagetitle != ''\"> / </ng-container>\r\n </label>\r\n <label [outerHTML]=\"pagetitle | translate\"></label>\r\n </h2>\r\n <button *ngIf=\"podeCriarAtalho\" type=\"button\" mat-icon-button class=\"shortcut-button\" [ngClass]=\"{ 'tem-atalho': !!atalhoId }\" (click)=\"toggleAtalho()\" [disabled]=\"loading\">\r\n <mat-icon inline>{{ atalhoId ? 'star' : 'star_border' }}</mat-icon>\r\n </button>\r\n \r\n <p class=\"pagebar-description\" [innerHTML]=\"description | translate\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-6 align-right buttons\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}\r\n </button>\r\n \r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n </div>\r\n</div>\r\n<section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n</section>\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>", styles: [":host.topmenu>div{left:0!important;top:125px!important;width:100%!important}:host.uxc3>div{position:fixed;left:240px;z-index:100;top:80px;background:#fff;padding:15px 20px 10px;min-height:60px;width:calc(100% - 240px);transition:left .2s ease-in-out,width .2s ease-in-out}:host.uxc3>div h2{font-size:1.7em;font-weight:500;display:inline-block;padding-right:20px;margin:0;max-width:65%;background:inherit}:host.uxc3>div h2 .mat-icon{top:3px;font-size:22px}:host.uxc3>div h2>small{font-size:70%}:host.uxc3>div .link-button{display:block;background:inherit;position:absolute;right:20px;top:18px;padding-left:20px}:host.uxc3>div hr{position:absolute;top:50%;margin:0;width:calc(100% - 40px);z-index:-1}@media only screen and (max-width: 543px){:host.uxc3>div{left:0}}:host.uxc2>div{position:fixed;left:240px;right:0;z-index:100;top:70px;background:#fff;padding:10px 20px;min-height:60px;border-bottom:solid 1px #e4e9f0;box-shadow:0 0 5px #eee}@media only screen and (max-width: 543px){:host.uxc2>div{left:0}}:host.uxc2>div h2{margin:0;padding:0;font-size:1.2em;display:inline}:host.uxc2>div p{font-size:.9em;width:100%;padding-top:3px;margin:0}@media only screen and (max-width: 543px){:host.uxc2>div p{display:none}}:host.uxc2>div .buttons{padding-top:2px}:host.uxc2>div .buttons .mat-button{margin-left:8px}:host.uxc2>div:hover .shortcut-button{opacity:1}:host.uxc2>div .shortcut-button{width:22px;height:22px;line-height:22px;text-align:center;opacity:0;transition:opacity .2s}:host.uxc2>div .shortcut-button.tem-atalho{opacity:1!important}:host.uxc2>div .shortcut-button .mat-icon{font-size:14px;color:#b99206;top:-2px}\n"] }]
376
+ args: [{ selector: 'info-pagebar', template: "<div [ngStyle]=\"{ 'marginTop': margintop + 'px' }\" [ngClass]=\"{ 'transparent': transparent }\" >\r\n \r\n <ng-container *ngIf=\"_platform.Config.ux >= 3\" >\r\n <h2 [ngClass]=\"{ 'title-icon': icon }\">\r\n <mat-icon *ngIf=\"icon\">{{ icon }}</mat-icon>\r\n <span [innerHTML]=\"pagetitle | translate\"></span>\r\n </h2>\r\n \r\n <div class=\"link-button\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}</button>\r\n\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n <hr>\r\n </ng-container>\r\n \r\n <div class=\"row\" *ngIf=\"_platform.Config.ux <= 2\" >\r\n <div class=\"col-md-6\">\r\n <h2>\r\n <label id=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon>\r\n {{ _platform.PaginaAtiva.Titulo | translate }}\r\n\r\n <ng-container *ngIf=\"pagetitle != null && pagetitle != ''\"> / </ng-container>\r\n </label>\r\n <label [outerHTML]=\"pagetitle | translate\"></label>\r\n </h2>\r\n <button *ngIf=\"podeCriarAtalho\" type=\"button\" mat-icon-button class=\"shortcut-button\" [ngClass]=\"{ 'tem-atalho': !!atalhoId }\" (click)=\"toggleAtalho()\" [disabled]=\"loading\">\r\n <mat-icon inline>{{ atalhoId ? 'star' : 'star_border' }}</mat-icon>\r\n </button>\r\n \r\n <p class=\"pagebar-description\" [innerHTML]=\"description | translate\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-6 align-right buttons\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}\r\n </button>\r\n \r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n </div>\r\n</div>\r\n<section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n</section>\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>", styles: ["body{--ux-cor-hover: #F5F5F5;--ux-cor-hover-2: #eee;--ux-cor-hover-3: #fafafa;--ux-cor-hover-4: #e5e3ed;--ux-cor-hover-5: #f9f9f9;--ux-cor-bg: #adadad;--ux-cor-P: #fff;--ux-cor-A: #eeeef2;--ux-cor-X: #f5f5f5;--ux-cor-S: #666;--ux-cor-O: #ddd;--ux-cor-F: #222;--ux-cor-D: #ccdbb4;--ux-cor-linha: #CCCEDB;--ux-cor-btn-pri: #eeeef2;--ux-cor-btn-wrn: #BA5005;--ux-cor-btn-dis: #6a7282}:host.topmenu>div{left:0!important;top:125px!important;width:100%!important}:host.uxc3>div{position:fixed;left:120px;z-index:100;top:80px;background:#fff;padding:15px 20px 10px;min-height:60px;width:calc(100% - 120px);transition:left .2s ease-in-out,width .2s ease-in-out}:host.uxc3>div h2{font-size:1.7em;font-weight:500;display:inline-block;padding-right:20px;margin:0;max-width:65%;background:inherit}:host.uxc3>div h2 .mat-icon{top:3px;font-size:22px}:host.uxc3>div h2>small{font-size:70%}:host.uxc3>div h2.title-icon mat-icon{top:14px;left:0;font-size:42px;position:absolute}:host.uxc3>div h2.title-icon span{font-size:30px;margin-left:40px;position:relative;top:3px}:host.uxc3>div .link-button{display:block;background:inherit;position:absolute;right:20px;top:18px;padding-left:20px}:host.uxc3>div hr{position:absolute;top:50%;margin:0;width:calc(100% - 40px);z-index:-1}@media only screen and (max-width: 991px){:host.uxc3>div{left:0}}:host.uxc2>div{position:fixed;left:120px;right:0;z-index:100;top:70px;background:#fff;padding:10px 20px;min-height:60px;border-bottom:solid 1px #e4e9f0;box-shadow:0 0 5px #eee}@media only screen and (max-width: 543px){:host.uxc2>div{left:0}}:host.uxc2>div h2{margin:0;padding:0;font-size:1.2em;display:inline}:host.uxc2>div p{font-size:.9em;width:100%;padding-top:3px;margin:0}@media only screen and (max-width: 543px){:host.uxc2>div p{display:none}}:host.uxc2>div .buttons{padding-top:2px}:host.uxc2>div .buttons .mat-button{margin-left:8px}:host.uxc2>div:hover .shortcut-button{opacity:1}:host.uxc2>div .shortcut-button{width:22px;height:22px;line-height:22px;text-align:center;opacity:0;transition:opacity .2s}:host.uxc2>div .shortcut-button.tem-atalho{opacity:1!important}:host.uxc2>div .shortcut-button .mat-icon{font-size:14px;color:#b99206;top:-2px}\n"] }]
350
377
  }], function () { return [{ type: i1.Router }, { type: i2.MatDialog }, { type: i3.InfoDataService }, { type: i4.InfoTranslateService }, { type: i5.InfoPlatformModel }, { type: i0.Renderer2 }, { type: i0.ElementRef }]; }, { margintop: [{
351
378
  type: Input
352
379
  }], icon: [{
@@ -364,14 +391,15 @@ export class InfoPagebarComponent {
364
391
  args: ['pagetitle']
365
392
  }] }); })();
366
393
  export class AtalhoModalComponent {
394
+ prop;
395
+ model = {};
367
396
  constructor(prop) {
368
397
  this.prop = prop;
369
- this.model = {};
370
398
  this.model = Object.assign({}, prop.data);
371
399
  this.model.Id = this.model.Id || '00000000-0000-0000-0000-000000000000';
372
400
  }
373
- /** @nocollapse */ static { this.ɵfac = function AtalhoModalComponent_Factory(t) { return new (t || AtalhoModalComponent)(i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); }; }
374
- /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: AtalhoModalComponent, selectors: [["ng-component"]], decls: 5, vars: 3, consts: [["modaltitle", "CriarAcessoRapido", 3, "form", "ngModel", "ngModelChange"], ["autocomplete", "off"], ["formModal", "ngForm"], [1, "row"], ["placeholder", "Titulo", "name", "Titulo", "required", "", 1, "col-md-12", 3, "ngModel", "ngModelChange"]], template: function AtalhoModalComponent_Template(rf, ctx) { if (rf & 1) {
401
+ /** @nocollapse */ static ɵfac = function AtalhoModalComponent_Factory(t) { return new (t || AtalhoModalComponent)(i0.ɵɵdirectiveInject(MAT_DIALOG_DATA)); };
402
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: AtalhoModalComponent, selectors: [["ng-component"]], decls: 5, vars: 3, consts: [["modaltitle", "CriarAcessoRapido", 3, "form", "ngModel", "ngModelChange"], ["autocomplete", "off"], ["formModal", "ngForm"], [1, "row"], ["placeholder", "Titulo", "name", "Titulo", "required", "", 1, "col-md-12", 3, "ngModel", "ngModelChange"]], template: function AtalhoModalComponent_Template(rf, ctx) { if (rf & 1) {
375
403
  i0.ɵɵelementStart(0, "info-modal", 0);
376
404
  i0.ɵɵlistener("ngModelChange", function AtalhoModalComponent_Template_info_modal_ngModelChange_0_listener($event) { return ctx.model = $event; });
377
405
  i0.ɵɵelementStart(1, "form", 1, 2)(3, "div", 3)(4, "info-input", 4);
@@ -382,7 +410,7 @@ export class AtalhoModalComponent {
382
410
  i0.ɵɵproperty("form", _r0)("ngModel", ctx.model);
383
411
  i0.ɵɵadvance(4);
384
412
  i0.ɵɵproperty("ngModel", ctx.model.Titulo);
385
- } }, dependencies: [i11.ɵNgNoValidate, i11.NgControlStatus, i11.NgControlStatusGroup, i11.RequiredValidator, i11.NgModel, i11.NgForm, i12.InfoInputComponent, i13.InfoModalComponent], encapsulation: 2 }); }
413
+ } }, dependencies: [i11.ɵNgNoValidate, i11.NgControlStatus, i11.NgControlStatusGroup, i11.RequiredValidator, i11.NgModel, i11.NgForm, i12.InfoInputComponent, i13.InfoModalComponent], encapsulation: 2 });
386
414
  }
387
415
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AtalhoModalComponent, [{
388
416
  type: Component,
@@ -401,4 +429,4 @@ export class AtalhoModalComponent {
401
429
  type: Inject,
402
430
  args: [MAT_DIALOG_DATA]
403
431
  }] }]; }, null); })();
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2xheW91dHMvcGFnZWJhci9wYWdlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9wYWdlYmFyL3BhZ2ViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDRm5ELGtDQUFvRjtJQUFuQixvTEFBUyxlQUFBLGVBQVEsQ0FBQSxJQUFDO0lBQy9FLG9DQUF3QjtJQUFBLDRCQUFZO0lBQUEsaUJBQVc7SUFBQSxZQUF5Qjs7SUFBQSxpQkFBUzs7SUFBbEMsZUFBeUI7SUFBekIsb0RBQXlCOzs7SUFFNUUsd0JBQXlEOzs7SUFRN0MsMEJB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QUFXO2tCQUFuQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQU9rQixTQUFTO2tCQUFoQyxLQUFLO21CQUFDLFdBQVc7O0FBb0duQixNQUFNLE9BQU8sb0JBQW9CO0lBRWhDLFlBQTRDLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBRG5FLFVBQUssR0FBUSxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxzQ0FBc0MsQ0FBQztJQUN6RSxDQUFDO3dHQUxXLG9CQUFvQix1QkFFWixlQUFlO21HQUZ2QixvQkFBb0I7WUFUL0IscUNBQWtGO1lBQXBCLGlKQUFtQjtZQUNoRixrQ0FBNkMsYUFBQSxvQkFBQTtZQUViLHdKQUEwQjtZQUE2QyxpQkFBYSxFQUFBLEVBQUEsRUFBQTs7O1lBSDFFLDBCQUFrQixzQkFBQTtZQUc1QixlQUEwQjtZQUExQiwwQ0FBMEI7Ozt1RkFNaEQsb0JBQW9CO2NBWGhDLFNBQVM7ZUFBQztnQkFDVixRQUFRLEVBQUU7Ozs7Ozs7O0VBUVQ7YUFDRDs7c0JBR2EsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uU3RhcnQsIEd1YXJkc0NoZWNrU3RhcnQsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9Gb3JtUHJvcE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvZm9ybS1wcm9wLm1vZGVsJztcclxuaW1wb3J0IHsgSW5mb1BhZ2VBY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL3BhZ2UtYWN0aW9uLmVudW0nO1xyXG5pbXBvcnQgeyBJbmZvTW9kYWxBY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL21vZGFsLWFjdGlvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnaW5mby1wYWdlYmFyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGFnZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvUGFnZWJhckNvbXBvbmVudCB7XHJcblxyXG5cdEBJbnB1dCgpIG1hcmdpbnRvcCA9IDA7XHJcblx0QElucHV0KCkgaWNvbjogc3RyaW5nO1xyXG5cdEBJbnB1dCgpIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblx0QElucHV0KCkgYmFja3VybDogc3RyaW5nID0gbnVsbDtcclxuXHRASW5wdXQoKSBhY2Nlc3M6IGFueSA9IFtdO1xyXG5cdEBJbnB1dCgpIHRyYW5zcGFyZW50OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG5cdHByaXZhdGUgX3BhZ2VUaXRsZTogc3RyaW5nO1xyXG5cdGdldCBwYWdldGl0bGUoKXtcclxuXHRcdHJldHVybiB0aGlzLl9wYWdlVGl0bGU7XHJcblx0fVxyXG5cclxuXHRASW5wdXQoJ3BhZ2V0aXRsZScpIHNldCBwYWdldGl0bGUodmFsdWU6IHN0cmluZyl7IFxyXG5cdFx0dGhpcy5fcGFnZVRpdGxlID0gdmFsdWUucmVwbGFjZSgvXFwoL2csICc8c21hbGw+KCcpLnJlcGxhY2UoL1xcKS9nLCAnKTwvc21hbGw+Jyk7XHJcblx0fVxyXG5cclxuXHRsb2FkaW5nID0gZmFsc2U7XHJcblx0YXRhbGhvSWQ6IGFueSA9IG51bGw7XHJcblx0cG9kZUNyaWFyQXRhbGhvID0gZmFsc2U7XHJcblx0ZXhpYmlyQWNlc3NvcyA9IGZhbHNlO1xyXG5cclxuXHRjb25zdHJ1Y3Rvcihwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcclxuXHRcdFx0XHRwcml2YXRlIF9tb2RhbDogTWF0RGlhbG9nLFxyXG5cdFx0XHRcdHByaXZhdGUgX2RhdGFTZXJ2aWNlOiBJbmZvRGF0YVNlcnZpY2UsXHJcblx0XHRcdFx0cHJpdmF0ZSBfdHJhbnNsYXRlOiBJbmZvVHJhbnNsYXRlU2VydmljZSxcclxuXHRcdFx0XHRwdWJsaWMgX3BsYXRmb3JtOiBJbmZvUGxhdGZvcm1Nb2RlbCxcclxuXHRcdFx0XHRwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLCBwcml2YXRlIF9lbGVtZW50OiBFbGVtZW50UmVmKSB7IFxyXG5cdFx0X3JvdXRlci5ldmVudHMuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCB8fCBlIGluc3RhbmNlb2YgR3VhcmRzQ2hlY2tTdGFydClcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHRoaXMubG9hZGluZyA9IHRydWUsIDApO1xyXG5cdFx0XHRcclxuXHRcdFx0ZWxzZSBzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRpZiAoZSBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuXHRcdFx0XHRcdHRoaXMucG9kZUNyaWFyQXRhbGhvID0gISF0aGlzLl9wbGF0Zm9ybS5TaG9ydGN1dEFwaSAmJiB0aGlzLl9yb3V0ZXIudXJsICE9ICcvJztcclxuXHRcdFx0XHRcdHRoaXMuZ2V0QXRhbGhvKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LCAwKTtcclxuICAgICAgICB9KTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCl7XHJcblx0XHR0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd1eGMnICsgdGhpcy5fcGxhdGZvcm0uQ29uZmlnLnV4KTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5fcGxhdGZvcm0uQ29uZmlnLnRvcE1lbnUpXHJcbiAgICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuX2VsZW1lbnQubmF0aXZlRWxlbWVudCwgJ3RvcG1lbnUnKTtcclxuXHR9XHJcblxyXG5cdGdvQmFjaygpe1xyXG5cdFx0dGhpcy5fcm91dGVyLm5hdmlnYXRlQnlVcmwodGhpcy5iYWNrdXJsKTtcclxuXHR9XHJcblxyXG5cdGdldEF0YWxobygpIHtcclxuXHRcdGlmICghdGhpcy5wb2RlQ3JpYXJBdGFsaG8pXHJcblx0XHRcdHJldHVybjtcclxuXHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHR0aGlzLl9kYXRhU2VydmljZS5nZXQodGhpcy5fcGxhdGZvcm0uU2hvcnRjdXRBcGksICdHZXRCeVVybCcsICd1cmw9Jyt0aGlzLl9yb3V0ZXIudXJsKS5zdWJzY3JpYmUociA9PiB7XHJcblx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRpZiAoci5zdWNjZXNzKSB0aGlzLmF0YWxob0lkID0gKHIuZGF0YSB8fCB7fSkuSWQ7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHRvZ2dsZUF0YWxobygpIHtcclxuXHRcdGlmICh0aGlzLmF0YWxob0lkKSB7XHJcblx0XHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHRcdHRoaXMuX2RhdGFTZXJ2aWNlLmRlbGV0ZSh0aGlzLl9wbGF0Zm9ybS5TaG9ydGN1dEFwaSwgdGhpcy5hdGFsaG9JZCkuc3Vic2NyaWJlKHIgPT4ge1xyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmIChyLnN1Y2Nlc3MpIHRoaXMuYXRhbGhvSWQgPSBudWxsO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0gZWxzZSB7XHJcblx0XHRcdHRoaXMubG9hZGluZyA9IHRydWU7XHJcblx0XHRcdHRoaXMub3Blbk1vZGFsQXRhbGhvKCkuc3Vic2NyaWJlKChyOiBJbmZvRm9ybVByb3BNb2RlbCkgPT4ge1xyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG5cdFx0XHRcdGlmIChyICYmIHIubW9kYWxBY3Rpb24gPT0gSW5mb01vZGFsQWN0aW9uLlNhdmUpIHRoaXMuZ2V0QXRhbGhvKCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBvcGVuTW9kYWxBdGFsaG8oKSB7XHJcblx0XHR2YXIgcHJvcCA9IG5ldyBJbmZvRm9ybVByb3BNb2RlbCgpO1xyXG5cdFx0cHJvcC5hcGkgPSB0aGlzLl9wbGF0Zm9ybS5TaG9ydGN1dEFwaTtcclxuXHRcdHByb3Auc2V0KEluZm9QYWdlQWN0aW9uLk5ldywgeyBcclxuXHRcdFx0SWQ6IHRoaXMuYXRhbGhvSWQsXHJcblx0XHRcdFVybDogdGhpcy5fcm91dGVyLnVybCxcclxuXHRcdFx0VGl0dWxvOiBgJHt0aGlzLl90cmFuc2xhdGUudHJhbnNsYXRlKHRoaXMuX3BsYXRmb3JtLlBhZ2luYUF0aXZhLlRpdHVsbyl9IC8gJHt0aGlzLl90cmFuc2xhdGUudHJhbnNsYXRlKHRoaXMucGFnZXRpdGxlKX1gXHJcblx0XHR9KTtcclxuXHJcblx0XHRsZXQgcmVmID0gdGhpcy5fbW9kYWwub3BlbihBdGFsaG9Nb2RhbENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBkYXRhOiBwcm9wLFxyXG5cdFx0XHRkaXNhYmxlQ2xvc2U6IHRydWUsXHJcblx0XHRcdHdpZHRoOiAnNDAwcHgnXHJcblx0XHR9KTtcclxuXHRcdFxyXG5cdFx0cmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKHIpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmxvYWRpbmcgJiYgKHIua2V5ID09IFwiRXNjYXBlXCIgfHwgci5rZXkgPT0gXCJFc2NcIiB8fCByLmtleSA9PSBcIjI3XCIpKVxyXG4gICAgICAgICAgICAgICAgcmVmLmNsb3NlKCk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiByZWYuYWZ0ZXJDbG9zZWQoKTtcclxuXHR9XHJcbn1cclxuQENvbXBvbmVudCh7XHJcblx0dGVtcGxhdGU6IGBcclxuXHRcdDxpbmZvLW1vZGFsIG1vZGFsdGl0bGU9XCJDcmlhckFjZXNzb1JhcGlkb1wiIFtmb3JtXT1cImZvcm1Nb2RhbFwiIFsobmdNb2RlbCldPVwibW9kZWxcIj5cclxuXHRcdFx0PGZvcm0gYXV0b2NvbXBsZXRlPVwib2ZmXCIgI2Zvcm1Nb2RhbD1cIm5nRm9ybVwiPlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3dcIj4gICAgICAgICAgICBcclxuXHRcdFx0XHRcdDxpbmZvLWlucHV0IGNsYXNzPVwiY29sLW1kLTEyXCIgWyhuZ01vZGVsKV09XCJtb2RlbC5UaXR1bG9cIiBwbGFjZWhvbGRlcj1cIlRpdHVsb1wiIG5hbWU9XCJUaXR1bG9cIiByZXF1aXJlZD48L2luZm8taW5wdXQ+XHJcblx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdDwvZm9ybT5cclxuXHRcdDwvaW5mby1tb2RhbD5cclxuXHRgXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdGFsaG9Nb2RhbENvbXBvbmVudCB7XHJcblx0bW9kZWw6IGFueSA9IHt9O1xyXG5cdGNvbnN0cnVjdG9yKEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgcHJvcDogSW5mb0Zvcm1Qcm9wTW9kZWwpIHtcclxuXHRcdHRoaXMubW9kZWwgPSBPYmplY3QuYXNzaWduKHt9LCBwcm9wLmRhdGEpO1xyXG5cdFx0dGhpcy5tb2RlbC5JZCA9IHRoaXMubW9kZWwuSWQgfHwgJzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCc7XHJcblx0fVxyXG59IiwiPGRpdiBbbmdTdHlsZV09XCJ7ICdtYXJnaW5Ub3AnOiBtYXJnaW50b3AgKyAncHgnIH1cIiBbbmdDbGFzc109XCJ7ICd0cmFuc3BhcmVudCc6IHRyYW5zcGFyZW50IH1cIiA+XHJcbiAgICBcclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLnV4ID49IDNcIiA+XHJcbiAgICAgICAgPGgyIFtpbm5lckhUTUxdPVwicGFnZXRpdGxlIHwgdHJhbnNsYXRlXCI+PC9oMj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGluay1idXR0b25cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImJhY2t1cmxcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTIwXCI+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj57eyAnVm9sdGFyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPGRsICpuZ0lmPVwiKGFjY2VzcyB8fCBbXSkubGVuZ3RoID4gMFwiIGNsYXNzPVwiYWNlc3NvLXJhcGlkb1wiIChtb3VzZWVudGVyKT1cImV4aWJpckFjZXNzb3MgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiZXhpYmlyQWNlc3NvcyA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZnMtMjBcIj5zaGFyZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2R0PlxyXG4gICAgICAgICAgICAgICAgPGRkICpuZ0lmPVwiZXhpYmlyQWNlc3Nvc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBhIG9mIGFjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgW3JvdXRlckxpbmtdPVwiYS5VcmxcIiA+PG1hdC1pY29uPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPiB7eyBhLkxhYmVsIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+ICAgXHJcbiAgICAgICAgICAgICAgICA8L2RkPlxyXG4gICAgICAgICAgICA8L2RsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxocj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLnV4IDw9IDJcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxoMj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cInBhZ2UtdGl0bGVcIiAqbmdJZj1cIl9wbGF0Zm9ybS5QYWdpbmFBdGl2YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBfcGxhdGZvcm0uUGFnaW5hQXRpdmEuSWNvbmUgfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IF9wbGF0Zm9ybS5QYWdpbmFBdGl2YS5UaXR1bG8gfCB0cmFuc2xhdGUgfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2V0aXRsZSAhPSBudWxsICYmIHBhZ2V0aXRsZSAhPSAnJ1wiPiAvIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBbb3V0ZXJIVE1MXT1cInBhZ2V0aXRsZSB8IHRyYW5zbGF0ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJwb2RlQ3JpYXJBdGFsaG9cIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwic2hvcnRjdXQtYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAndGVtLWF0YWxobyc6ICEhYXRhbGhvSWQgfVwiIChjbGljayk9XCJ0b2dnbGVBdGFsaG8oKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gaW5saW5lPnt7IGF0YWxob0lkID8gJ3N0YXInIDogJ3N0YXJfYm9yZGVyJyB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJwYWdlYmFyLWRlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZVwiPjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGFsaWduLXJpZ2h0IGJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImJhY2t1cmxcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTIwXCI+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj57eyAnVm9sdGFyJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxkbCAqbmdJZj1cIihhY2Nlc3MgfHwgW10pLmxlbmd0aCA+IDBcIiBjbGFzcz1cImFjZXNzby1yYXBpZG9cIiAobW91c2VlbnRlcik9XCJleGliaXJBY2Vzc29zID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cImV4aWJpckFjZXNzb3MgPSBmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPGR0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTIwXCI+c2hhcmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kdD5cclxuICAgICAgICAgICAgICAgIDxkZCAqbmdJZj1cImV4aWJpckFjZXNzb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYSBvZiBhY2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIFtyb3V0ZXJMaW5rXT1cImEuVXJsXCIgPjxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj4ge3sgYS5MYWJlbCB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPiAgIFxyXG4gICAgICAgICAgICAgICAgPC9kZD5cclxuICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4iXX0=
432
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbmZvLWxpYnJhcnkvc3JjL2xheW91dHMvcGFnZWJhci9wYWdlYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9wYWdlYmFyL3BhZ2ViYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0YsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNKbkQsZ0NBQXVCO0lBQUEsWUFBVTtJQUFBLGlCQUFXOzs7SUFBckIsZUFBVTtJQUFWLGlDQUFVOzs7O0lBS2pDLGtDQUFvRjtJQUFuQixxTEFBUyxlQUFBLGVBQVEsQ0FBQSxJQUFDO0lBQy9FLG9DQUF3QjtJQUFBLDRCQUFZO0lBQUEsaUJBQVc7SUFBQSxZQUF5Qjs7SUFBQSxpQkFBUzs7SUFBbEMsZUFBeUI7SUFBekIsb0RBQXlCOzs7SUFFNUUsd0JBQXlEOzs7SUFRN0MsMEJBQTZCLFlBQUEsZUFBQTtJQUMwQiw2QkFBYTtJQUFBLGlCQUFXO0lBQUMsWUFBeUI7O0lBQUEsaUJBQUksRUFBQTs7O0lBQXRGLGVBQW9CO0lBQXBCLHNDQUFvQjtJQUFxQyxlQUF5QjtJQUF6QixpRUFBeUI7OztJQUhqSCwwQkFBMEIsU0FBQTtJQUVsQiw2RkFFSztJQUNULGlCQUFLLEVBQUE7OztJQUhpQixlQUFTO0lBQVQsd0NBQVM7Ozs7SUFOdkMsOEJBQXFJO0lBQXpFLCtOQUE4QixJQUFJLEtBQUMsa05BQStCLEtBQUssS0FBcEM7SUFDM0YsMEJBQUksbUJBQUE7SUFDd0IscUJBQUs7SUFBQSxpQkFBVyxFQUFBO0lBRTVDLHVGQU1LO0lBQ1QsaUJBQUs7OztJQVBJLGVBQW1CO0lBQW5CLDJDQUFtQjs7Ozs7SUFoQnBDLDZCQUFnRDtJQUM1Qyw2QkFBdUM7SUFDbkMsOEZBQTRDO0lBQzVDLDBCQUFpRDs7SUFDckQsaUJBQUs7SUFFTCw4QkFBeUI7SUFDckIsMEZBQ3FGO0lBRXJGLHNHQUF5RDtJQUV6RCxtRkFXSztJQUNULGlCQUFNO0lBQ04scUJBQUk7SUFDUiwwQkFBZTs7OztJQXpCUCxlQUFrQztJQUFsQyxpRUFBa0M7SUFDdkIsZUFBVTtJQUFWLGtDQUFVO0lBQ2YsZUFBbUM7SUFBbkMscUZBQW1DO0lBSVAsZUFBYTtJQUFiLHFDQUFhO0lBR2hDLGVBQXlCO0lBQXpCLHNDQUF5QjtJQUVuQyxlQUErQjtJQUEvQixnRkFBK0I7OztJQXVCNUIsNkJBQTJEO0lBQUMsbUJBQUU7SUFBQSwwQkFBZTs7O0lBSmpGLGlDQUFxRCxlQUFBO0lBQ3ZDLFlBQWlDO0lBQUEsaUJBQVc7SUFDdEQsWUFFQTs7SUFBQSxxR0FBNkU7SUFDakYsaUJBQVE7OztJQUpNLGVBQWlDO0lBQWpDLHlEQUFpQztJQUMzQyxlQUVBO0lBRkEsMkZBRUE7SUFBZSxlQUEwQztJQUExQywyRUFBMEM7Ozs7O0lBSWpFLGtDQUE2SztJQUE5Qyw2S0FBUyxlQUFBLHNCQUFjLENBQUEsSUFBQztJQUNuSixvQ0FBaUI7SUFBQSxZQUF1QztJQUFBLGlCQUFXLEVBQUE7OztJQURlLHdFQUF3Qyw2QkFBQTtJQUN6RyxlQUF1QztJQUF2QywrREFBdUM7Ozs7SUFPNUQsa0NBQW9GO0lBQW5CLDhLQUFTLGVBQUEsZ0JBQVEsQ0FBQSxJQUFDO0lBQy9FLG9DQUF3QjtJQUFBLDRCQUFZO0lBQUEsaUJBQVc7SUFBQSxZQUNuRDs7SUFBQSxpQkFBUzs7SUFEMEMsZUFDbkQ7SUFEbUQsOERBQ25EOzs7SUFFQSx3QkFBeUQ7OztJQVE3QywwQkFBNkIsWUFBQSxlQUFBO0lBQzBCLDZCQUFhO0lBQUEsaUJBQVc7SUFBQyxZQUF5Qjs7SUFBQSxpQkFBSSxFQUFBOzs7SUFBdEYsZUFBb0I7SUFBcEIsc0NBQW9CO0lBQXFDLGVBQXlCO0lBQXpCLGlFQUF5Qjs7O0lBSGpILDBCQUEwQixTQUFBO0lBRWxCLHFGQUVLO0lBQ1QsaUJBQUssRUFBQTs7O0lBSGlCLGVBQVM7SUFBVCx3Q0FBUzs7OztJQU52Qyw4QkFBcUk7SUFBekUsdU5BQThCLElBQUksS0FBQywwTUFBK0IsS0FBSyxLQUFwQztJQUMzRiwwQkFBSSxtQkFBQTtJQUN3QixxQkFBSztJQUFBLGlCQUFXLEVBQUE7SUFFNUMsK0VBTUs7SUFDVCxpQkFBSzs7O0lBUEksZUFBbUI7SUFBbkIsNENBQW1COzs7SUE3QnBDLCtCQUFtRCxjQUFBLFNBQUE7SUFHdkMsZ0ZBS1E7SUFDUiw0QkFBbUQ7O0lBQ3ZELGlCQUFLO0lBQ0wsa0ZBRVM7SUFFVCx3QkFBeUU7O0lBQzdFLGlCQUFNO0lBRU4sK0JBQTBDO0lBQ3RDLG1GQUVTO0lBRVQsK0ZBQXlEO0lBRXpELDRFQVdLO0lBQ1QsaUJBQU0sRUFBQTs7OztJQWxDMEIsZUFBMkI7SUFBM0IsbURBQTJCO0lBTTVDLGVBQW1DO0lBQW5DLHFGQUFtQztJQUVyQyxlQUFxQjtJQUFyQiw2Q0FBcUI7SUFJQyxlQUFxQztJQUFyQyx1RkFBcUM7SUFJbEMsZUFBYTtJQUFiLHFDQUFhO0lBSWhDLGVBQXlCO0lBQXpCLHNDQUF5QjtJQUVuQyxlQUErQjtJQUEvQixnRkFBK0I7OztJQWVoRCxtQ0FBNkM7SUFDekMsdUNBQTBFO0lBQzlFLGlCQUFVOzs7SUFFWSxrQkFBeUI7Ozs7O0FEM0QvQyxNQUFNLE9BQU8sb0JBQW9CO0lBdUJaO0lBQ1Q7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQUE4QjtJQTFCaEMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLElBQUksR0FBVyxJQUFJLENBQUM7SUFDcEIsV0FBVyxDQUFTO0lBQ3BCLE9BQU8sR0FBVyxJQUFJLENBQUM7SUFDdkIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixXQUFXLEdBQVksS0FBSyxDQUFDO0lBRTlCLFVBQVUsQ0FBUztJQUMzQixJQUFJLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQXdCLFNBQVMsQ0FBQyxLQUFhO1FBQzlDLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsQ0FBQztJQUNoRixDQUFDO0lBRUQsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNoQixRQUFRLEdBQVEsSUFBSSxDQUFDO0lBQ3JCLGVBQWUsR0FBRyxLQUFLLENBQUM7SUFDeEIsYUFBYSxHQUFHLEtBQUssQ0FBQztJQUV0QixZQUFvQixPQUFlLEVBQ3hCLE1BQWlCLEVBQ2pCLFlBQTZCLEVBQzdCLFVBQWdDLEVBQ2pDLFNBQTRCLEVBQzNCLFNBQW9CLEVBQVUsUUFBb0I7UUFMekMsWUFBTyxHQUFQLE9BQU8sQ0FBUTtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ2pCLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFzQjtRQUNqQyxjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQUMzQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBWTtRQUM1RCxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNuQixJQUFJLENBQUMsWUFBWSxlQUFlLElBQUksQ0FBQyxZQUFZLGdCQUFnQjtnQkFDekUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDOztnQkFFckMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7b0JBQ3JCLElBQUksQ0FBQyxZQUFZLGFBQWEsRUFBRTt3QkFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDO3dCQUMvRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7cUJBQ2pCO2dCQUNGLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNELENBQUMsQ0FBQyxDQUFDO0lBQ1YsQ0FBQztJQUVELFFBQVE7UUFDUCxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFakYsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxNQUFNO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxTQUFTO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQ3hCLE9BQU87UUFDUixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxHQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3BHLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxDQUFDLE9BQU87Z0JBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ2xELENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVELFlBQVk7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDakYsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxDQUFDLE9BQU87b0JBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckMsQ0FBQyxDQUFDLENBQUM7U0FDSDthQUFNO1lBQ04sSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDcEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQW9CLEVBQUUsRUFBRTtnQkFDekQsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLElBQUksZUFBZSxDQUFDLElBQUk7b0JBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2xFLENBQUMsQ0FBQyxDQUFDO1NBQ0g7SUFDRixDQUFDO0lBRU8sZUFBZTtRQUN0QixJQUFJLElBQUksR0FBRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUN0QyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUc7WUFDckIsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1NBQ3hILENBQUMsQ0FBQztRQUVILElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFO1lBQ3ZDLElBQUksRUFBRSxJQUFJO1lBQ25CLFlBQVksRUFBRSxJQUFJO1lBQ2xCLEtBQUssRUFBRSxPQUFPO1NBQ2QsQ0FBQyxDQUFDO1FBRUgsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxRQUFRLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxJQUFJLENBQUM7Z0JBQ3ZFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNwQixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7aUdBckdXLG9CQUFvQjs0RkFBcEIsb0JBQW9COztZQ2ZqQyw4QkFBK0Y7WUFFM0YseUZBMEJlO1lBRWYsdUVBc0NNO1lBQ1YsaUJBQU07WUFDTiw2RUFFVTtZQUVWLHNIQUE2RDs7WUExRXhELDBFQUE2Qyx3REFBQTtZQUUvQixlQUE4QjtZQUE5QixtREFBOEI7WUE0QjNCLGVBQThCO1lBQTlCLG1EQUE4QjtZQXdDdEIsZUFBYTtZQUFiLGtDQUFhOzs7dUZEdkQ5QixvQkFBb0I7Y0FMaEMsU0FBUzsyQkFDQyxjQUFjO21PQU1mLFNBQVM7a0JBQWpCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxXQUFXO2tCQUFuQixLQUFLO1lBQ0csT0FBTztrQkFBZixLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQU9rQixTQUFTO2tCQUFoQyxLQUFLO21CQUFDLFdBQVc7O0FBb0duQixNQUFNLE9BQU8sb0JBQW9CO0lBRVk7SUFENUMsS0FBSyxHQUFRLEVBQUUsQ0FBQztJQUNoQixZQUE0QyxJQUF1QjtRQUF2QixTQUFJLEdBQUosSUFBSSxDQUFtQjtRQUNsRSxJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsSUFBSSxzQ0FBc0MsQ0FBQztJQUN6RSxDQUFDO2lHQUxXLG9CQUFvQix1QkFFWixlQUFlOzRGQUZ2QixvQkFBb0I7WUFUL0IscUNBQWtGO1lBQXBCLGlKQUFtQjtZQUNoRixrQ0FBNkMsYUFBQSxvQkFBQTtZQUViLHdKQUEwQjtZQUE2QyxpQkFBYSxFQUFBLEVBQUEsRUFBQTs7O1lBSDFFLDBCQUFrQixzQkFBQTtZQUc1QixlQUEwQjtZQUExQiwwQ0FBMEI7Ozt1RkFNaEQsb0JBQW9CO2NBWGhDLFNBQVM7ZUFBQztnQkFDVixRQUFRLEVBQUU7Ozs7Ozs7O0VBUVQ7YUFDRDs7c0JBR2EsTUFBTTt1QkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgSW5qZWN0LCBFbGVtZW50UmVmLCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBOYXZpZ2F0aW9uU3RhcnQsIEd1YXJkc0NoZWNrU3RhcnQsIE5hdmlnYXRpb25FbmQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBJbmZvUGxhdGZvcm1Nb2RlbCB9IGZyb20gJy4uLy4uL21vZGVsL3BsYXRmb3JtLm1vZGVsJztcclxuaW1wb3J0IHsgSW5mb0RhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZS9kYXRhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBJbmZvVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvdHJhbnNsYXRlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9Gb3JtUHJvcE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvZm9ybS1wcm9wLm1vZGVsJztcclxuaW1wb3J0IHsgSW5mb1BhZ2VBY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL3BhZ2UtYWN0aW9uLmVudW0nO1xyXG5pbXBvcnQgeyBJbmZvTW9kYWxBY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL21vZGFsLWFjdGlvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnaW5mby1wYWdlYmFyJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vcGFnZWJhci5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmxzOiBbJy4vcGFnZWJhci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbmZvUGFnZWJhckNvbXBvbmVudCB7XHJcblxyXG5cdEBJbnB1dCgpIG1hcmdpbnRvcCA9IDA7XHJcblx0QElucHV0KCkgaWNvbjogc3RyaW5nID0gbnVsbDtcclxuXHRASW5wdXQoKSBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG5cdEBJbnB1dCgpIGJhY2t1cmw6IHN0cmluZyA9IG51bGw7XHJcblx0QElucHV0KCkgYWNjZXNzOiBhbnkgPSBbXTtcclxuXHRASW5wdXQoKSB0cmFuc3BhcmVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuXHRwcml2YXRlIF9wYWdlVGl0bGU6IHN0cmluZztcclxuXHRnZXQgcGFnZXRpdGxlKCl7XHJcblx0XHRyZXR1cm4gdGhpcy5fcGFnZVRpdGxlO1xyXG5cdH1cclxuXHJcblx0QElucHV0KCdwYWdldGl0bGUnKSBzZXQgcGFnZXRpdGxlKHZhbHVlOiBzdHJpbmcpeyBcclxuXHRcdHRoaXMuX3BhZ2VUaXRsZSA9IHZhbHVlLnJlcGxhY2UoL1xcKC9nLCAnPHNtYWxsPignKS5yZXBsYWNlKC9cXCkvZywgJyk8L3NtYWxsPicpO1xyXG5cdH1cclxuXHJcblx0bG9hZGluZyA9IGZhbHNlO1xyXG5cdGF0YWxob0lkOiBhbnkgPSBudWxsO1xyXG5cdHBvZGVDcmlhckF0YWxobyA9IGZhbHNlO1xyXG5cdGV4aWJpckFjZXNzb3MgPSBmYWxzZTtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBfcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRcdFx0cHJpdmF0ZSBfbW9kYWw6IE1hdERpYWxvZyxcclxuXHRcdFx0XHRwcml2YXRlIF9kYXRhU2VydmljZTogSW5mb0RhdGFTZXJ2aWNlLFxyXG5cdFx0XHRcdHByaXZhdGUgX3RyYW5zbGF0ZTogSW5mb1RyYW5zbGF0ZVNlcnZpY2UsXHJcblx0XHRcdFx0cHVibGljIF9wbGF0Zm9ybTogSW5mb1BsYXRmb3JtTW9kZWwsXHJcblx0XHRcdFx0cHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfZWxlbWVudDogRWxlbWVudFJlZikgeyBcclxuXHRcdF9yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZShlID0+IHtcclxuICAgICAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQgfHwgZSBpbnN0YW5jZW9mIEd1YXJkc0NoZWNrU3RhcnQpXHJcblx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB0aGlzLmxvYWRpbmcgPSB0cnVlLCAwKTtcclxuXHRcdFx0XHJcblx0XHRcdGVsc2Ugc2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0aWYgKGUgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcblx0XHRcdFx0XHR0aGlzLnBvZGVDcmlhckF0YWxobyA9ICEhdGhpcy5fcGxhdGZvcm0uU2hvcnRjdXRBcGkgJiYgdGhpcy5fcm91dGVyLnVybCAhPSAnLyc7XHJcblx0XHRcdFx0XHR0aGlzLmdldEF0YWxobygpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSwgMCk7XHJcbiAgICAgICAgfSk7XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpe1xyXG5cdFx0dGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5fZWxlbWVudC5uYXRpdmVFbGVtZW50LCAndXhjJyArIHRoaXMuX3BsYXRmb3JtLkNvbmZpZy51eCk7XHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKHRoaXMuX3BsYXRmb3JtLkNvbmZpZy50b3BNZW51KVxyXG4gICAgICAgICAgICB0aGlzLl9yZW5kZXJlci5hZGRDbGFzcyh0aGlzLl9lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICd0b3BtZW51Jyk7XHJcblx0fVxyXG5cclxuXHRnb0JhY2soKXtcclxuXHRcdHRoaXMuX3JvdXRlci5uYXZpZ2F0ZUJ5VXJsKHRoaXMuYmFja3VybCk7XHJcblx0fVxyXG5cclxuXHRnZXRBdGFsaG8oKSB7XHJcblx0XHRpZiAoIXRoaXMucG9kZUNyaWFyQXRhbGhvKVxyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0dGhpcy5fZGF0YVNlcnZpY2UuZ2V0KHRoaXMuX3BsYXRmb3JtLlNob3J0Y3V0QXBpLCAnR2V0QnlVcmwnLCAndXJsPScrdGhpcy5fcm91dGVyLnVybCkuc3Vic2NyaWJlKHIgPT4ge1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0aWYgKHIuc3VjY2VzcykgdGhpcy5hdGFsaG9JZCA9IChyLmRhdGEgfHwge30pLklkO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHR0b2dnbGVBdGFsaG8oKSB7XHJcblx0XHRpZiAodGhpcy5hdGFsaG9JZCkge1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0XHR0aGlzLl9kYXRhU2VydmljZS5kZWxldGUodGhpcy5fcGxhdGZvcm0uU2hvcnRjdXRBcGksIHRoaXMuYXRhbGhvSWQpLnN1YnNjcmliZShyID0+IHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRpZiAoci5zdWNjZXNzKSB0aGlzLmF0YWxob0lkID0gbnVsbDtcclxuXHRcdFx0fSk7XHJcblx0XHR9IGVsc2Uge1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0XHR0aGlzLm9wZW5Nb2RhbEF0YWxobygpLnN1YnNjcmliZSgocjogSW5mb0Zvcm1Qcm9wTW9kZWwpID0+IHtcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRpZiAociAmJiByLm1vZGFsQWN0aW9uID09IEluZm9Nb2RhbEFjdGlvbi5TYXZlKSB0aGlzLmdldEF0YWxobygpO1xyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgb3Blbk1vZGFsQXRhbGhvKCkge1xyXG5cdFx0dmFyIHByb3AgPSBuZXcgSW5mb0Zvcm1Qcm9wTW9kZWwoKTtcclxuXHRcdHByb3AuYXBpID0gdGhpcy5fcGxhdGZvcm0uU2hvcnRjdXRBcGk7XHJcblx0XHRwcm9wLnNldChJbmZvUGFnZUFjdGlvbi5OZXcsIHsgXHJcblx0XHRcdElkOiB0aGlzLmF0YWxob0lkLFxyXG5cdFx0XHRVcmw6IHRoaXMuX3JvdXRlci51cmwsXHJcblx0XHRcdFRpdHVsbzogYCR7dGhpcy5fdHJhbnNsYXRlLnRyYW5zbGF0ZSh0aGlzLl9wbGF0Zm9ybS5QYWdpbmFBdGl2YS5UaXR1bG8pfSAvICR7dGhpcy5fdHJhbnNsYXRlLnRyYW5zbGF0ZSh0aGlzLnBhZ2V0aXRsZSl9YFxyXG5cdFx0fSk7XHJcblxyXG5cdFx0bGV0IHJlZiA9IHRoaXMuX21vZGFsLm9wZW4oQXRhbGhvTW9kYWxDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgZGF0YTogcHJvcCxcclxuXHRcdFx0ZGlzYWJsZUNsb3NlOiB0cnVlLFxyXG5cdFx0XHR3aWR0aDogJzQwMHB4J1xyXG5cdFx0fSk7XHJcblx0XHRcclxuXHRcdHJlZi5rZXlkb3duRXZlbnRzKCkuc3Vic2NyaWJlKChyKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5sb2FkaW5nICYmIChyLmtleSA9PSBcIkVzY2FwZVwiIHx8IHIua2V5ID09IFwiRXNjXCIgfHwgci5rZXkgPT0gXCIyN1wiKSlcclxuICAgICAgICAgICAgICAgIHJlZi5jbG9zZSgpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gcmVmLmFmdGVyQ2xvc2VkKCk7XHJcblx0fVxyXG59XHJcbkBDb21wb25lbnQoe1xyXG5cdHRlbXBsYXRlOiBgXHJcblx0XHQ8aW5mby1tb2RhbCBtb2RhbHRpdGxlPVwiQ3JpYXJBY2Vzc29SYXBpZG9cIiBbZm9ybV09XCJmb3JtTW9kYWxcIiBbKG5nTW9kZWwpXT1cIm1vZGVsXCI+XHJcblx0XHRcdDxmb3JtIGF1dG9jb21wbGV0ZT1cIm9mZlwiICNmb3JtTW9kYWw9XCJuZ0Zvcm1cIj5cclxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93XCI+ICAgICAgICAgICAgXHJcblx0XHRcdFx0XHQ8aW5mby1pbnB1dCBjbGFzcz1cImNvbC1tZC0xMlwiIFsobmdNb2RlbCldPVwibW9kZWwuVGl0dWxvXCIgcGxhY2Vob2xkZXI9XCJUaXR1bG9cIiBuYW1lPVwiVGl0dWxvXCIgcmVxdWlyZWQ+PC9pbmZvLWlucHV0PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHQ8L2Zvcm0+XHJcblx0XHQ8L2luZm8tbW9kYWw+XHJcblx0YFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXRhbGhvTW9kYWxDb21wb25lbnQge1xyXG5cdG1vZGVsOiBhbnkgPSB7fTtcclxuXHRjb25zdHJ1Y3RvcihASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIHByb3A6IEluZm9Gb3JtUHJvcE1vZGVsKSB7XHJcblx0XHR0aGlzLm1vZGVsID0gT2JqZWN0LmFzc2lnbih7fSwgcHJvcC5kYXRhKTtcclxuXHRcdHRoaXMubW9kZWwuSWQgPSB0aGlzLm1vZGVsLklkIHx8ICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAnO1xyXG5cdH1cclxufSIsIjxkaXYgW25nU3R5bGVdPVwieyAnbWFyZ2luVG9wJzogbWFyZ2ludG9wICsgJ3B4JyB9XCIgW25nQ2xhc3NdPVwieyAndHJhbnNwYXJlbnQnOiB0cmFuc3BhcmVudCB9XCIgPlxyXG4gICAgXHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX3BsYXRmb3JtLkNvbmZpZy51eCA+PSAzXCIgPlxyXG4gICAgICAgIDxoMiBbbmdDbGFzc109XCJ7ICd0aXRsZS1pY29uJzogaWNvbiB9XCI+XHJcbiAgICAgICAgICAgIDxtYXQtaWNvbiAqbmdJZj1cImljb25cIj57eyBpY29uIH19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJwYWdldGl0bGUgfCB0cmFuc2xhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9oMj5cclxuICAgICAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwibGluay1idXR0b25cIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImJhY2t1cmxcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTIwXCI+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj57eyAnVm9sdGFyJyB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgPGRsICpuZ0lmPVwiKGFjY2VzcyB8fCBbXSkubGVuZ3RoID4gMFwiIGNsYXNzPVwiYWNlc3NvLXJhcGlkb1wiIChtb3VzZWVudGVyKT1cImV4aWJpckFjZXNzb3MgPSB0cnVlXCIgKG1vdXNlbGVhdmUpPVwiZXhpYmlyQWNlc3NvcyA9IGZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZHQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwiZnMtMjBcIj5zaGFyZTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgICAgICA8L2R0PlxyXG4gICAgICAgICAgICAgICAgPGRkICpuZ0lmPVwiZXhpYmlyQWNlc3Nvc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDx1bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBhIG9mIGFjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgW3JvdXRlckxpbmtdPVwiYS5VcmxcIiA+PG1hdC1pY29uPmNoZXZyb25fcmlnaHQ8L21hdC1pY29uPiB7eyBhLkxhYmVsIHwgdHJhbnNsYXRlIH19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdWw+ICAgXHJcbiAgICAgICAgICAgICAgICA8L2RkPlxyXG4gICAgICAgICAgICA8L2RsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxocj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCJfcGxhdGZvcm0uQ29uZmlnLnV4IDw9IDJcIiA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02XCI+XHJcbiAgICAgICAgICAgIDxoMj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBpZD1cInBhZ2UtdGl0bGVcIiAqbmdJZj1cIl9wbGF0Zm9ybS5QYWdpbmFBdGl2YVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj57eyBfcGxhdGZvcm0uUGFnaW5hQXRpdmEuSWNvbmUgfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IF9wbGF0Zm9ybS5QYWdpbmFBdGl2YS5UaXR1bG8gfCB0cmFuc2xhdGUgfX1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInBhZ2V0aXRsZSAhPSBudWxsICYmIHBhZ2V0aXRsZSAhPSAnJ1wiPiAvIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBbb3V0ZXJIVE1MXT1cInBhZ2V0aXRsZSB8IHRyYW5zbGF0ZVwiPjwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJwb2RlQ3JpYXJBdGFsaG9cIiB0eXBlPVwiYnV0dG9uXCIgbWF0LWljb24tYnV0dG9uIGNsYXNzPVwic2hvcnRjdXQtYnV0dG9uXCIgW25nQ2xhc3NdPVwieyAndGVtLWF0YWxobyc6ICEhYXRhbGhvSWQgfVwiIChjbGljayk9XCJ0b2dnbGVBdGFsaG8oKVwiIFtkaXNhYmxlZF09XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWljb24gaW5saW5lPnt7IGF0YWxob0lkID8gJ3N0YXInIDogJ3N0YXJfYm9yZGVyJyB9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPHAgY2xhc3M9XCJwYWdlYmFyLWRlc2NyaXB0aW9uXCIgW2lubmVySFRNTF09XCJkZXNjcmlwdGlvbiB8IHRyYW5zbGF0ZVwiPjwvcD5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC02IGFsaWduLXJpZ2h0IGJ1dHRvbnNcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdJZj1cImJhY2t1cmxcIiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZ29CYWNrKClcIj5cclxuICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTIwXCI+Y2hldnJvbl9sZWZ0PC9tYXQtaWNvbj57eyAnVm9sdGFyJyB8IHRyYW5zbGF0ZX19XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgIDxkbCAqbmdJZj1cIihhY2Nlc3MgfHwgW10pLmxlbmd0aCA+IDBcIiBjbGFzcz1cImFjZXNzby1yYXBpZG9cIiAobW91c2VlbnRlcik9XCJleGliaXJBY2Vzc29zID0gdHJ1ZVwiIChtb3VzZWxlYXZlKT1cImV4aWJpckFjZXNzb3MgPSBmYWxzZVwiPlxyXG4gICAgICAgICAgICAgICAgPGR0PlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cImZzLTIwXCI+c2hhcmU8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9kdD5cclxuICAgICAgICAgICAgICAgIDxkZCAqbmdJZj1cImV4aWJpckFjZXNzb3NcIj5cclxuICAgICAgICAgICAgICAgICAgICA8dWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSAqbmdGb3I9XCJsZXQgYSBvZiBhY2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIFtyb3V0ZXJMaW5rXT1cImEuVXJsXCIgPjxtYXQtaWNvbj5jaGV2cm9uX3JpZ2h0PC9tYXQtaWNvbj4ge3sgYS5MYWJlbCB8IHRyYW5zbGF0ZSB9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgICAgICA8L3VsPiAgIFxyXG4gICAgICAgICAgICAgICAgPC9kZD5cclxuICAgICAgICAgICAgPC9kbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPHNlY3Rpb24gY2xhc3M9XCJsb2FkaW5nLWJhclwiICpuZ0lmPVwibG9hZGluZ1wiPlxyXG4gICAgPG1hdC1wcm9ncmVzcy1iYXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjY29udGVudD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT4iXX0=