info-library 2.15.1-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 (184) hide show
  1. package/controls/alert/alert.component.d.ts +7 -7
  2. package/controls/autocomplete/autocomplete.component.d.ts +52 -51
  3. package/controls/big-checkbox/big-checkbox.component.d.ts +41 -41
  4. package/controls/card/card.component.d.ts +16 -16
  5. package/controls/card-menu/card-menu.component.d.ts +23 -23
  6. package/controls/checkbox/checkbox.component.d.ts +27 -27
  7. package/controls/chips/chips.component.d.ts +23 -23
  8. package/controls/date/date.component.d.ts +38 -37
  9. package/controls/date-month/date-month.component.d.ts +40 -39
  10. package/controls/editor/editor.component.d.ts +40 -40
  11. package/controls/grid/grid.component.d.ts +172 -172
  12. package/controls/input/input.component.d.ts +47 -37
  13. package/controls/input-list/input-list.component.d.ts +29 -29
  14. package/controls/list-checkbox/list-checkbox.component.d.ts +26 -26
  15. package/controls/message/message.component.d.ts +10 -10
  16. package/controls/multi-select/multi-select.component.d.ts +39 -37
  17. package/controls/paginator/paginator.component.d.ts +25 -25
  18. package/controls/select/select.component.d.ts +42 -41
  19. package/controls/timeline/timeline.component.d.ts +17 -17
  20. package/directives/mask.directive.d.ts +24 -24
  21. package/directives/unmask.directive.d.ts +12 -11
  22. package/enum/dialog-buttons.enum.d.ts +7 -7
  23. package/enum/index.d.ts +3 -3
  24. package/enum/modal-action.enum.d.ts +10 -10
  25. package/enum/page-action.enum.d.ts +8 -8
  26. package/esm2022/controls/alert/alert.component.mjs +72 -0
  27. package/esm2022/controls/autocomplete/autocomplete.component.mjs +265 -0
  28. package/esm2022/controls/big-checkbox/big-checkbox.component.mjs +300 -0
  29. package/esm2022/controls/card/card.component.mjs +83 -0
  30. package/esm2022/controls/card-menu/card-menu.component.mjs +143 -0
  31. package/esm2022/controls/checkbox/checkbox.component.mjs +93 -0
  32. package/esm2022/controls/chips/chips.component.mjs +114 -0
  33. package/esm2022/controls/date/date.component.mjs +173 -0
  34. package/esm2022/controls/date-month/date-month.component.mjs +181 -0
  35. package/esm2022/controls/editor/editor.component.mjs +139 -0
  36. package/esm2022/controls/grid/grid.component.mjs +1818 -0
  37. package/esm2022/controls/input/input.component.mjs +389 -0
  38. package/esm2022/controls/input-list/input-list.component.mjs +259 -0
  39. package/{esm2020 → esm2022}/controls/list-checkbox/list-checkbox.component.mjs +242 -238
  40. package/esm2022/controls/message/message.component.mjs +48 -0
  41. package/esm2022/controls/multi-select/multi-select.component.mjs +174 -0
  42. package/esm2022/controls/paginator/paginator.component.mjs +177 -0
  43. package/esm2022/controls/select/select.component.mjs +189 -0
  44. package/esm2022/controls/timeline/timeline.component.mjs +116 -0
  45. package/esm2022/directives/mask.directive.mjs +134 -0
  46. package/esm2022/directives/unmask.directive.mjs +35 -0
  47. package/{esm2020 → esm2022}/enum/dialog-buttons.enum.mjs +8 -8
  48. package/{esm2020 → esm2022}/enum/index.mjs +3 -3
  49. package/{esm2020 → esm2022}/enum/modal-action.enum.mjs +11 -11
  50. package/{esm2020 → esm2022}/enum/page-action.enum.mjs +9 -9
  51. package/{esm2020 → esm2022}/global-config.mjs +3 -3
  52. package/{esm2020 → esm2022}/info-library.mjs +4 -4
  53. package/esm2022/info-library.module.mjs +283 -0
  54. package/esm2022/layouts/dialog/dialog.component.mjs +192 -0
  55. package/esm2022/layouts/filter/filter.component.mjs +179 -0
  56. package/esm2022/layouts/loading/loading.component.mjs +40 -0
  57. package/esm2022/layouts/main/main.component.mjs +305 -0
  58. package/esm2022/layouts/modal/modal.component.mjs +273 -0
  59. package/esm2022/layouts/pagebar/pagebar.component.mjs +432 -0
  60. package/esm2022/layouts/sidebar/sidebar.component.mjs +447 -0
  61. package/esm2022/layouts/topbar/topbar.component.mjs +1032 -0
  62. package/esm2022/layouts/topmenu/topmenu.component.mjs +173 -0
  63. package/esm2022/model/app-config.model.mjs +14 -0
  64. package/esm2022/model/data-access.model.mjs +37 -0
  65. package/esm2022/model/dialog-result.model.mjs +9 -0
  66. package/esm2022/model/dialog.model.mjs +15 -0
  67. package/esm2022/model/form-prop.model.mjs +37 -0
  68. package/esm2022/model/grid-button.model.mjs +26 -0
  69. package/{esm2020 → esm2022}/model/index.mjs +14 -14
  70. package/esm2022/model/last-search.model.mjs +7 -0
  71. package/esm2022/model/login.model.mjs +11 -0
  72. package/esm2022/model/method-grid-button.model.mjs +11 -0
  73. package/esm2022/model/notification.model.mjs +13 -0
  74. package/{esm2020 → esm2022}/model/pagebar-buttons.model.mjs +15 -15
  75. package/esm2022/model/permission.model.mjs +6 -0
  76. package/esm2022/model/platform.model.mjs +20 -0
  77. package/esm2022/model/session.model.mjs +27 -0
  78. package/{esm2020 → esm2022}/pipe/index.mjs +2 -2
  79. package/esm2022/pipe/mask.pipe.mjs +38 -0
  80. package/esm2022/pipe/translate.pipe.mjs +27 -0
  81. package/{esm2020 → esm2022}/public_api.mjs +37 -36
  82. package/esm2022/service/authentication.service.mjs +411 -0
  83. package/esm2022/service/configuration.service.mjs +90 -0
  84. package/esm2022/service/data.service.mjs +129 -0
  85. package/{esm2020 → esm2022}/service/index.mjs +5 -5
  86. package/esm2022/service/theme.service.mjs +89 -0
  87. package/esm2022/service/translate.service.mjs +57 -0
  88. package/esm2022/utils/utilities.mjs +189 -0
  89. package/fesm2022/info-library.mjs +9364 -0
  90. package/fesm2022/info-library.mjs.map +1 -0
  91. package/global-config.d.ts +3 -3
  92. package/index.d.ts +5 -5
  93. package/info-library-3.0.0-beta.tgz +0 -0
  94. package/info-library.module.d.ts +61 -60
  95. package/layouts/dialog/dialog.component.d.ts +29 -29
  96. package/layouts/filter/filter.component.d.ts +24 -0
  97. package/layouts/loading/loading.component.d.ts +8 -8
  98. package/layouts/main/main.component.d.ts +60 -56
  99. package/layouts/modal/modal.component.d.ts +40 -39
  100. package/layouts/pagebar/pagebar.component.d.ts +45 -45
  101. package/layouts/sidebar/sidebar.component.d.ts +40 -40
  102. package/layouts/topbar/topbar.component.d.ts +69 -66
  103. package/layouts/topmenu/topmenu.component.d.ts +34 -34
  104. package/model/app-config.model.d.ts +13 -11
  105. package/model/data-access.model.d.ts +12 -12
  106. package/model/dialog-result.model.d.ts +6 -6
  107. package/model/dialog.model.d.ts +14 -14
  108. package/model/form-prop.model.d.ts +12 -12
  109. package/model/grid-button.model.d.ts +18 -18
  110. package/model/index.d.ts +14 -14
  111. package/model/last-search.model.d.ts +6 -6
  112. package/model/login.model.d.ts +6 -6
  113. package/model/method-grid-button.model.d.ts +6 -6
  114. package/model/notification.model.d.ts +12 -12
  115. package/model/pagebar-buttons.model.d.ts +10 -10
  116. package/model/permission.model.d.ts +5 -5
  117. package/model/platform.model.d.ts +16 -16
  118. package/model/session.model.d.ts +27 -22
  119. package/package.json +5 -11
  120. package/pipe/index.d.ts +2 -2
  121. package/pipe/mask.pipe.d.ts +8 -8
  122. package/pipe/translate.pipe.d.ts +10 -10
  123. package/public_api.d.ts +34 -33
  124. package/service/authentication.service.d.ts +63 -61
  125. package/service/configuration.service.d.ts +17 -14
  126. package/service/data.service.d.ts +41 -39
  127. package/service/index.d.ts +5 -5
  128. package/service/theme.service.d.ts +16 -16
  129. package/service/translate.service.d.ts +16 -16
  130. package/utils/utilities.d.ts +38 -27
  131. package/esm2020/controls/alert/alert.component.mjs +0 -74
  132. package/esm2020/controls/autocomplete/autocomplete.component.mjs +0 -258
  133. package/esm2020/controls/big-checkbox/big-checkbox.component.mjs +0 -298
  134. package/esm2020/controls/card/card.component.mjs +0 -77
  135. package/esm2020/controls/card-menu/card-menu.component.mjs +0 -145
  136. package/esm2020/controls/checkbox/checkbox.component.mjs +0 -93
  137. package/esm2020/controls/chips/chips.component.mjs +0 -113
  138. package/esm2020/controls/date/date.component.mjs +0 -141
  139. package/esm2020/controls/date-month/date-month.component.mjs +0 -148
  140. package/esm2020/controls/editor/editor.component.mjs +0 -135
  141. package/esm2020/controls/grid/grid.component.mjs +0 -1800
  142. package/esm2020/controls/input/input.component.mjs +0 -314
  143. package/esm2020/controls/input-list/input-list.component.mjs +0 -258
  144. package/esm2020/controls/message/message.component.mjs +0 -50
  145. package/esm2020/controls/multi-select/multi-select.component.mjs +0 -161
  146. package/esm2020/controls/paginator/paginator.component.mjs +0 -178
  147. package/esm2020/controls/select/select.component.mjs +0 -180
  148. package/esm2020/controls/timeline/timeline.component.mjs +0 -117
  149. package/esm2020/directives/mask.directive.mjs +0 -125
  150. package/esm2020/directives/unmask.directive.mjs +0 -28
  151. package/esm2020/info-library.module.mjs +0 -278
  152. package/esm2020/layouts/dialog/dialog.component.mjs +0 -188
  153. package/esm2020/layouts/loading/loading.component.mjs +0 -42
  154. package/esm2020/layouts/main/main.component.mjs +0 -258
  155. package/esm2020/layouts/modal/modal.component.mjs +0 -258
  156. package/esm2020/layouts/pagebar/pagebar.component.mjs +0 -404
  157. package/esm2020/layouts/sidebar/sidebar.component.mjs +0 -395
  158. package/esm2020/layouts/topbar/topbar.component.mjs +0 -868
  159. package/esm2020/layouts/topmenu/topmenu.component.mjs +0 -165
  160. package/esm2020/model/app-config.model.mjs +0 -14
  161. package/esm2020/model/data-access.model.mjs +0 -35
  162. package/esm2020/model/dialog-result.model.mjs +0 -8
  163. package/esm2020/model/dialog.model.mjs +0 -16
  164. package/esm2020/model/form-prop.model.mjs +0 -35
  165. package/esm2020/model/grid-button.model.mjs +0 -21
  166. package/esm2020/model/last-search.model.mjs +0 -9
  167. package/esm2020/model/login.model.mjs +0 -9
  168. package/esm2020/model/method-grid-button.model.mjs +0 -9
  169. package/esm2020/model/notification.model.mjs +0 -9
  170. package/esm2020/model/permission.model.mjs +0 -3
  171. package/esm2020/model/platform.model.mjs +0 -21
  172. package/esm2020/model/session.model.mjs +0 -8
  173. package/esm2020/pipe/mask.pipe.mjs +0 -34
  174. package/esm2020/pipe/translate.pipe.mjs +0 -26
  175. package/esm2020/service/authentication.service.mjs +0 -358
  176. package/esm2020/service/configuration.service.mjs +0 -59
  177. package/esm2020/service/data.service.mjs +0 -112
  178. package/esm2020/service/theme.service.mjs +0 -79
  179. package/esm2020/service/translate.service.mjs +0 -53
  180. package/esm2020/utils/utilities.mjs +0 -142
  181. package/fesm2015/info-library.mjs +0 -9312
  182. package/fesm2015/info-library.mjs.map +0 -1
  183. package/fesm2020/info-library.mjs +0 -8462
  184. package/fesm2020/info-library.mjs.map +0 -1
@@ -0,0 +1,273 @@
1
+ import { Component, Input, Output, EventEmitter, forwardRef, Inject } from '@angular/core';
2
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
+ import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
4
+ import { InfoDataService } from '../../service/data.service';
5
+ import { InfoFormPropModel } from '../../model/form-prop.model';
6
+ import { InfoModalAction } from '../../enum/modal-action.enum';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../service/data.service";
9
+ import * as i2 from "@angular/material/dialog";
10
+ import * as i3 from "@angular/common";
11
+ import * as i4 from "@angular/material/icon";
12
+ import * as i5 from "@angular/material/button";
13
+ import * as i6 from "@angular/material/progress-bar";
14
+ import * as i7 from "../../controls/alert/alert.component";
15
+ import * as i8 from "../../pipe/translate.pipe";
16
+ import * as i9 from "../../model/form-prop.model";
17
+ function InfoModalComponent_mat_icon_3_Template(rf, ctx) { if (rf & 1) {
18
+ const _r5 = i0.ɵɵgetCurrentView();
19
+ i0.ɵɵelementStart(0, "mat-icon", 8);
20
+ i0.ɵɵlistener("click", function InfoModalComponent_mat_icon_3_Template_mat_icon_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.close()); });
21
+ i0.ɵɵtext(1, "close");
22
+ i0.ɵɵelementEnd();
23
+ } }
24
+ function InfoModalComponent_section_4_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelementStart(0, "section", 9);
26
+ i0.ɵɵelement(1, "mat-progress-bar", 10);
27
+ i0.ɵɵelementEnd();
28
+ } }
29
+ function InfoModalComponent_div_9_button_1_Template(rf, ctx) { if (rf & 1) {
30
+ const _r10 = i0.ɵɵgetCurrentView();
31
+ i0.ɵɵelementStart(0, "button", 14);
32
+ i0.ɵɵlistener("click", function InfoModalComponent_div_9_button_1_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.close()); });
33
+ i0.ɵɵtext(1);
34
+ i0.ɵɵpipe(2, "translate");
35
+ i0.ɵɵelementEnd();
36
+ } if (rf & 2) {
37
+ const ctx_r6 = i0.ɵɵnextContext(2);
38
+ i0.ɵɵproperty("disabled", ctx_r6.loading);
39
+ i0.ɵɵadvance(1);
40
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r6.labelclose));
41
+ } }
42
+ function InfoModalComponent_div_9_button_2_Template(rf, ctx) { if (rf & 1) {
43
+ const _r12 = i0.ɵɵgetCurrentView();
44
+ i0.ɵɵelementStart(0, "button", 15);
45
+ i0.ɵɵlistener("click", function InfoModalComponent_div_9_button_2_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.close()); });
46
+ i0.ɵɵtext(1);
47
+ i0.ɵɵpipe(2, "translate");
48
+ i0.ɵɵelementEnd();
49
+ } if (rf & 2) {
50
+ const ctx_r7 = i0.ɵɵnextContext(2);
51
+ i0.ɵɵproperty("disabled", ctx_r7.loading);
52
+ i0.ɵɵadvance(1);
53
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r7.labelcancel));
54
+ } }
55
+ function InfoModalComponent_div_9_button_3_Template(rf, ctx) { if (rf & 1) {
56
+ const _r14 = i0.ɵɵgetCurrentView();
57
+ i0.ɵɵelementStart(0, "button", 14);
58
+ i0.ɵɵlistener("click", function InfoModalComponent_div_9_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r13.submit()); });
59
+ i0.ɵɵtext(1);
60
+ i0.ɵɵpipe(2, "translate");
61
+ i0.ɵɵelementEnd();
62
+ } if (rf & 2) {
63
+ const ctx_r8 = i0.ɵɵnextContext(2);
64
+ i0.ɵɵproperty("disabled", ctx_r8.loading || ctx_r8.formInvalid);
65
+ i0.ɵɵadvance(1);
66
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(2, 2, ctx_r8.labelsubmit));
67
+ } }
68
+ function InfoModalComponent_div_9_Template(rf, ctx) { if (rf & 1) {
69
+ i0.ɵɵelementStart(0, "div", 11);
70
+ i0.ɵɵtemplate(1, InfoModalComponent_div_9_button_1_Template, 3, 4, "button", 12);
71
+ i0.ɵɵtemplate(2, InfoModalComponent_div_9_button_2_Template, 3, 4, "button", 13);
72
+ i0.ɵɵtemplate(3, InfoModalComponent_div_9_button_3_Template, 3, 4, "button", 12);
73
+ i0.ɵɵelementEnd();
74
+ } if (rf & 2) {
75
+ const ctx_r2 = i0.ɵɵnextContext();
76
+ i0.ɵɵadvance(1);
77
+ i0.ɵɵproperty("ngIf", ctx_r2.labelclose != "" && ctx_r2.readonly);
78
+ i0.ɵɵadvance(1);
79
+ i0.ɵɵproperty("ngIf", ctx_r2.labelcancel != "" && !ctx_r2.readonly);
80
+ i0.ɵɵadvance(1);
81
+ i0.ɵɵproperty("ngIf", ctx_r2.labelsubmit != "" && !ctx_r2.readonly);
82
+ } }
83
+ function InfoModalComponent_div_10_Template(rf, ctx) { if (rf & 1) {
84
+ i0.ɵɵelement(0, "div", 16);
85
+ } }
86
+ const _c0 = ["*", [["", "buttons", ""]]];
87
+ const _c1 = ["*", "[buttons]"];
88
+ export class InfoModalComponent {
89
+ _dataAccessService;
90
+ prop;
91
+ _ref;
92
+ modaltitle = '';
93
+ showcloseicon = false;
94
+ api = null;
95
+ method = null;
96
+ readonly = null;
97
+ loading = false;
98
+ loadingblock = true;
99
+ form = null;
100
+ labelclose = 'Fechar';
101
+ labelcancel = 'Cancelar';
102
+ labelsubmit = 'Salvar';
103
+ messages = [];
104
+ width = null;
105
+ onsave = new EventEmitter();
106
+ onsuccess = new EventEmitter();
107
+ model;
108
+ onChange;
109
+ onTouched;
110
+ constructor(_dataAccessService, prop, _ref) {
111
+ this._dataAccessService = _dataAccessService;
112
+ this.prop = prop;
113
+ this._ref = _ref;
114
+ }
115
+ get formInvalid() {
116
+ if (this.form != null) {
117
+ if (Array.isArray(this.form))
118
+ return this.form.some(f => f?.form?.invalid || false);
119
+ else
120
+ return this.form.form?.invalid || false;
121
+ }
122
+ return false;
123
+ }
124
+ ngOnInit() {
125
+ if (this.modaltitle == '' && this.prop != null && this.prop.title != null)
126
+ this.modaltitle = this.prop.title;
127
+ if (this.api == null && this.prop != null && this.prop.api != null)
128
+ this.api = this.prop.api;
129
+ if (this.width != null)
130
+ this._ref.updateSize(this.width.toString().replace('px', '') + 'px');
131
+ if (this.readonly == null && this.prop != null && this.prop.readonly != null)
132
+ this.readonly = this.prop.readonly;
133
+ this._ref.keydownEvents().subscribe((r) => {
134
+ if (r.ctrlKey && r.key == "Enter" && !(this.loading || this.formInvalid) && this.labelsubmit != '' && !this.readonly)
135
+ this.submit();
136
+ });
137
+ }
138
+ submit() {
139
+ if (this.onsave.observers.length > 0) {
140
+ this.onsave.next();
141
+ return;
142
+ }
143
+ this.messages = [];
144
+ if (this.api == null || this.api.toString() == '')
145
+ this.messages.push('API não informado');
146
+ var dataInicial = this.model["DataInicial"];
147
+ var dataFinal = this.model["DataFinal"];
148
+ if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {
149
+ this.messages.push('DataInicialMaiorFinal');
150
+ return;
151
+ }
152
+ var dataInicio = this.model["DataInicio"];
153
+ var dataFim = this.model["DataFim"];
154
+ if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {
155
+ this.messages.push('DataInicioMaiorFim');
156
+ return;
157
+ }
158
+ if (this.messages.length > 0)
159
+ return;
160
+ this.loading = true;
161
+ this._dataAccessService
162
+ .post(this.api, this.model, this.method)
163
+ .subscribe(r => {
164
+ if (r.success) {
165
+ this.prop.modalAction = InfoModalAction.Save;
166
+ this.prop.data = this.model;
167
+ this._ref.close(this.prop);
168
+ if (this.onsuccess.observers.length > 0)
169
+ this.onsuccess.next();
170
+ }
171
+ else
172
+ this.messages = r.messages;
173
+ this.loading = false;
174
+ });
175
+ }
176
+ close() {
177
+ this.messages = [];
178
+ this.loading = false;
179
+ this._ref.close(this.prop);
180
+ }
181
+ writeValue(obj) {
182
+ this.model = obj;
183
+ }
184
+ registerOnChange(fn) {
185
+ this.onChange = fn;
186
+ }
187
+ registerOnTouched(fn) {
188
+ this.onTouched = fn;
189
+ }
190
+ setDisabledState(isDisabled) { }
191
+ /** @nocollapse */ static ɵfac = function InfoModalComponent_Factory(t) { return new (t || InfoModalComponent)(i0.ɵɵdirectiveInject(i1.InfoDataService), i0.ɵɵdirectiveInject(MAT_DIALOG_DATA), i0.ɵɵdirectiveInject(i2.MatDialogRef)); };
192
+ /** @nocollapse */ static ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: InfoModalComponent, selectors: [["info-modal"]], inputs: { modaltitle: "modaltitle", showcloseicon: "showcloseicon", api: "api", method: "method", readonly: "readonly", loading: "loading", loadingblock: "loadingblock", form: "form", labelclose: "labelclose", labelcancel: "labelcancel", labelsubmit: "labelsubmit", messages: "messages", width: "width" }, outputs: { onsave: "onsave", onsuccess: "onsuccess" }, features: [i0.ɵɵProvidersFeature([
193
+ {
194
+ provide: NG_VALUE_ACCESSOR,
195
+ useExisting: forwardRef((() => InfoModalComponent)),
196
+ multi: true
197
+ }
198
+ ])], ngContentSelectors: _c1, decls: 12, vars: 8, consts: [["mat-dialog-title", ""], [3, "innerHTML"], ["class", "close-icon", 3, "click", 4, "ngIf"], ["class", "loading-bar", 4, "ngIf"], [1, "info-modal-content"], ["class", "ml-5", 4, "ngIf"], ["class", "block", 4, "ngIf"], [3, "messages"], [1, "close-icon", 3, "click"], [1, "loading-bar"], ["color", "primary", "mode", "indeterminate"], [1, "ml-5"], ["mat-button", "", "type", "button", 3, "disabled", "click", 4, "ngIf"], ["mat-button", "", "type", "button", "color", "warn", 3, "disabled", "click", 4, "ngIf"], ["mat-button", "", "type", "button", 3, "disabled", "click"], ["mat-button", "", "type", "button", "color", "warn", 3, "disabled", "click"], [1, "block"]], template: function InfoModalComponent_Template(rf, ctx) { if (rf & 1) {
199
+ i0.ɵɵprojectionDef(_c0);
200
+ i0.ɵɵelementStart(0, "h2", 0);
201
+ i0.ɵɵelement(1, "label", 1);
202
+ i0.ɵɵpipe(2, "translate");
203
+ i0.ɵɵtemplate(3, InfoModalComponent_mat_icon_3_Template, 2, 0, "mat-icon", 2);
204
+ i0.ɵɵtemplate(4, InfoModalComponent_section_4_Template, 2, 0, "section", 3);
205
+ i0.ɵɵelementEnd();
206
+ i0.ɵɵelementStart(5, "mat-dialog-content", 4);
207
+ i0.ɵɵprojection(6);
208
+ i0.ɵɵelementEnd();
209
+ i0.ɵɵelementStart(7, "mat-dialog-actions");
210
+ i0.ɵɵprojection(8, 1);
211
+ i0.ɵɵtemplate(9, InfoModalComponent_div_9_Template, 4, 3, "div", 5);
212
+ i0.ɵɵelementEnd();
213
+ i0.ɵɵtemplate(10, InfoModalComponent_div_10_Template, 1, 0, "div", 6);
214
+ i0.ɵɵelement(11, "info-alert", 7);
215
+ } if (rf & 2) {
216
+ i0.ɵɵadvance(1);
217
+ i0.ɵɵproperty("innerHTML", i0.ɵɵpipeBind1(2, 6, ctx.modaltitle), i0.ɵɵsanitizeHtml);
218
+ i0.ɵɵadvance(2);
219
+ i0.ɵɵproperty("ngIf", ctx.showcloseicon);
220
+ i0.ɵɵadvance(1);
221
+ i0.ɵɵproperty("ngIf", ctx.loading);
222
+ i0.ɵɵadvance(5);
223
+ i0.ɵɵproperty("ngIf", ctx.labelclose != "" && ctx.readonly || ctx.labelcancel != "" && !ctx.readonly || ctx.labelsubmit != "" && !ctx.readonly);
224
+ i0.ɵɵadvance(1);
225
+ i0.ɵɵproperty("ngIf", ctx.loading && ctx.loadingblock);
226
+ i0.ɵɵadvance(1);
227
+ i0.ɵɵproperty("messages", ctx.messages);
228
+ } }, dependencies: [i3.NgIf, i4.MatIcon, i5.MatButton, i2.MatDialogTitle, i2.MatDialogContent, i2.MatDialogActions, i6.MatProgressBar, i7.InfoAlertComponent, i8.InfoTranslatePipe], encapsulation: 2 });
229
+ }
230
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(InfoModalComponent, [{
231
+ type: Component,
232
+ args: [{ selector: 'info-modal', providers: [
233
+ {
234
+ provide: NG_VALUE_ACCESSOR,
235
+ useExisting: forwardRef((() => InfoModalComponent)),
236
+ multi: true
237
+ }
238
+ ], template: "<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\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</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || formInvalid\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>" }]
239
+ }], function () { return [{ type: i1.InfoDataService }, { type: i9.InfoFormPropModel, decorators: [{
240
+ type: Inject,
241
+ args: [MAT_DIALOG_DATA]
242
+ }] }, { type: i2.MatDialogRef }]; }, { modaltitle: [{
243
+ type: Input
244
+ }], showcloseicon: [{
245
+ type: Input
246
+ }], api: [{
247
+ type: Input
248
+ }], method: [{
249
+ type: Input
250
+ }], readonly: [{
251
+ type: Input
252
+ }], loading: [{
253
+ type: Input
254
+ }], loadingblock: [{
255
+ type: Input
256
+ }], form: [{
257
+ type: Input
258
+ }], labelclose: [{
259
+ type: Input
260
+ }], labelcancel: [{
261
+ type: Input
262
+ }], labelsubmit: [{
263
+ type: Input
264
+ }], messages: [{
265
+ type: Input
266
+ }], width: [{
267
+ type: Input
268
+ }], onsave: [{
269
+ type: Output
270
+ }], onsuccess: [{
271
+ type: Output
272
+ }] }); })();
273
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5mby1saWJyYXJ5L3NyYy9sYXlvdXRzL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2luZm8tbGlicmFyeS9zcmMvbGF5b3V0cy9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0YsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0gzRCxtQ0FBc0U7SUFBekMsc0tBQVMsZUFBQSxjQUFPLENBQUEsSUFBQztJQUF3QixxQkFBSztJQUFBLGlCQUFXOzs7SUFFdEYsa0NBQTZDO0lBQ3pDLHVDQUEwRTtJQUM5RSxpQkFBVTs7OztJQVVOLGtDQUE2RztJQUF2QywwS0FBUyxlQUFBLGNBQU8sQ0FBQSxJQUFDO0lBQXNCLFlBQTRCOztJQUFBLGlCQUFTOzs7SUFBMUQseUNBQW9CO0lBQUMsZUFBNEI7SUFBNUIsNkRBQTRCOzs7O0lBQ3pJLGtDQUE0SDtJQUFwRCwyS0FBUyxlQUFBLGVBQU8sQ0FBQSxJQUFDO0lBQW1DLFlBQTZCOztJQUFBLGlCQUFTOzs7SUFBM0QseUNBQW9CO0lBQUMsZUFBNkI7SUFBN0Is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WUFBYixrQ0FBYTtZQVdyQyxlQUE0RztZQUE1RywrSUFBNEc7WUFPbEcsZUFBNkI7WUFBN0Isc0RBQTZCO1lBQ3JDLGVBQXFCO1lBQXJCLHVDQUFxQjs7O3VGRExwQixrQkFBa0I7Y0FYOUIsU0FBUzsyQkFDSSxZQUFZLGFBRVg7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsbUJBQW1CLEVBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKOztzQkF5QnlELE1BQU07dUJBQUMsZUFBZTttREFyQnZFLFVBQVU7a0JBQWxCLEtBQUs7WUFDRyxhQUFhO2tCQUFyQixLQUFLO1lBQ0csR0FBRztrQkFBWCxLQUFLO1lBQ0csTUFBTTtrQkFBZCxLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFDRyxJQUFJO2tCQUFaLEtBQUs7WUFDRyxVQUFVO2tCQUFsQixLQUFLO1lBQ0csV0FBVztrQkFBbkIsS0FBSztZQUNHLFdBQVc7a0JBQW5CLEtBQUs7WUFDRyxRQUFRO2tCQUFoQixLQUFLO1lBQ0csS0FBSztrQkFBYixLQUFLO1lBRUksTUFBTTtrQkFBZixNQUFNO1lBQ0csU0FBUztrQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IEluZm9EYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2UvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgSW5mb0Zvcm1Qcm9wTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbC9mb3JtLXByb3AubW9kZWwnO1xyXG5pbXBvcnQgeyBJbmZvTW9kYWxBY3Rpb24gfSBmcm9tICcuLi8uLi9lbnVtL21vZGFsLWFjdGlvbi5lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdpbmZvLW1vZGFsJyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbmZvTW9kYWxDb21wb25lbnQpLFxyXG4gICAgICAgICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgICAgIH1cclxuICAgIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEluZm9Nb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcclxuXHJcbiAgICBASW5wdXQoKSBtb2RhbHRpdGxlOiBzdHJpbmcgPSAnJztcclxuICAgIEBJbnB1dCgpIHNob3djbG9zZWljb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGFwaTogYW55ID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIG1ldGhvZDogc3RyaW5nID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIHJlYWRvbmx5OiBib29sZWFuID0gbnVsbDtcclxuICAgIEBJbnB1dCgpIGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGxvYWRpbmdibG9jazogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBASW5wdXQoKSBmb3JtOiBhbnkgPSBudWxsO1xyXG4gICAgQElucHV0KCkgbGFiZWxjbG9zZTogc3RyaW5nID0gJ0ZlY2hhcic7XHJcbiAgICBASW5wdXQoKSBsYWJlbGNhbmNlbDogc3RyaW5nID0gJ0NhbmNlbGFyJztcclxuICAgIEBJbnB1dCgpIGxhYmVsc3VibWl0OiBzdHJpbmcgPSAnU2FsdmFyJztcclxuICAgIEBJbnB1dCgpIG1lc3NhZ2VzOiBTdHJpbmdbXSA9IFtdO1xyXG4gICAgQElucHV0KCkgd2lkdGg6IG51bWJlciA9IG51bGw7XHJcblxyXG4gICAgQE91dHB1dCgpIG9uc2F2ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICAgIEBPdXRwdXQoKSBvbnN1Y2Nlc3MgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gICAgbW9kZWw6IGFueTtcclxuICAgIG9uQ2hhbmdlOiBhbnk7XHJcbiAgICBvblRvdWNoZWQ6IGFueTtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kYXRhQWNjZXNzU2VydmljZTogSW5mb0RhdGFTZXJ2aWNlLCBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIHByb3A6IEluZm9Gb3JtUHJvcE1vZGVsLCBwcml2YXRlIF9yZWY6IE1hdERpYWxvZ1JlZjxhbnk+KSB7IH1cclxuXHJcblxyXG4gICAgZ2V0IGZvcm1JbnZhbGlkKCkge1xyXG4gICAgICAgIGlmICh0aGlzLmZvcm0gIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLmZvcm0pKVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybS5zb21lKGYgPT4gZj8uZm9ybT8uaW52YWxpZCB8fCBmYWxzZSk7XHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmZvcm0uZm9ybT8uaW52YWxpZCB8fCBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG5cclxuICAgICAgICBpZiAodGhpcy5tb2RhbHRpdGxlID09ICcnICYmIHRoaXMucHJvcCAhPSBudWxsICYmIHRoaXMucHJvcC50aXRsZSAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLm1vZGFsdGl0bGUgPSB0aGlzLnByb3AudGl0bGU7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmFwaSA9PSBudWxsICYmIHRoaXMucHJvcCAhPSBudWxsICYmIHRoaXMucHJvcC5hcGkgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5hcGkgPSB0aGlzLnByb3AuYXBpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy53aWR0aCAhPSBudWxsKVxyXG4gICAgICAgICAgICB0aGlzLl9yZWYudXBkYXRlU2l6ZSh0aGlzLndpZHRoLnRvU3RyaW5nKCkucmVwbGFjZSgncHgnLCAnJykgKyAncHgnKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkgPT0gbnVsbCAmJiB0aGlzLnByb3AgIT0gbnVsbCAmJiB0aGlzLnByb3AucmVhZG9ubHkgIT0gbnVsbClcclxuICAgICAgICAgICAgdGhpcy5yZWFkb25seSA9IHRoaXMucHJvcC5yZWFkb25seTtcclxuXHJcbiAgICAgICAgdGhpcy5fcmVmLmtleWRvd25FdmVudHMoKS5zdWJzY3JpYmUoKHIpID0+IHtcclxuICAgICAgICAgICAgaWYgKHIuY3RybEtleSAmJiByLmtleSA9PSBcIkVudGVyXCIgJiYgISh0aGlzLmxvYWRpbmcgfHwgdGhpcy5mb3JtSW52YWxpZCkgJiYgdGhpcy5sYWJlbHN1Ym1pdCAhPSAnJyAmJiAhdGhpcy5yZWFkb25seSlcclxuICAgICAgICAgICAgICAgIHRoaXMuc3VibWl0KCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3VibWl0KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm9uc2F2ZS5vYnNlcnZlcnMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm9uc2F2ZS5uZXh0KCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubWVzc2FnZXMgPSBbXTtcclxuICAgICAgICBcclxuICAgICAgICBpZiAodGhpcy5hcGkgPT0gbnVsbCB8fCB0aGlzLmFwaS50b1N0cmluZygpID09ICcnKVxyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2goJ0FQSSBuw6NvIGluZm9ybWFkbycpO1xyXG5cclxuICAgICAgICB2YXIgZGF0YUluaWNpYWwgPSB0aGlzLm1vZGVsW1wiRGF0YUluaWNpYWxcIl07XHJcbiAgICAgICAgdmFyIGRhdGFGaW5hbCA9IHRoaXMubW9kZWxbXCJEYXRhRmluYWxcIl07XHJcbiAgICAgICAgaWYgKGRhdGFJbmljaWFsICE9IG51bGwgJiYgZGF0YUZpbmFsICE9IG51bGwgJiYgbmV3IERhdGUoZGF0YUluaWNpYWwpID4gbmV3IERhdGUoZGF0YUZpbmFsKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2goJ0RhdGFJbmljaWFsTWFpb3JGaW5hbCcpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB2YXIgZGF0YUluaWNpbyA9IHRoaXMubW9kZWxbXCJEYXRhSW5pY2lvXCJdO1xyXG4gICAgICAgIHZhciBkYXRhRmltID0gdGhpcy5tb2RlbFtcIkRhdGFGaW1cIl07XHJcbiAgICAgICAgaWYgKGRhdGFJbmljaW8gIT0gbnVsbCAmJiBkYXRhRmltICE9IG51bGwgJiYgbmV3IERhdGUoZGF0YUluaWNpbykgPiBuZXcgRGF0ZShkYXRhRmltKSkge1xyXG4gICAgICAgICAgICB0aGlzLm1lc3NhZ2VzLnB1c2goJ0RhdGFJbmljaW9NYWlvckZpbScpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5tZXNzYWdlcy5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgICAgIHRoaXMuX2RhdGFBY2Nlc3NTZXJ2aWNlXHJcbiAgICAgICAgICAgIC5wb3N0KHRoaXMuYXBpLCB0aGlzLm1vZGVsLCB0aGlzLm1ldGhvZClcclxuICAgICAgICAgICAgLnN1YnNjcmliZShyID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoci5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wLm1vZGFsQWN0aW9uID0gSW5mb01vZGFsQWN0aW9uLlNhdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wLmRhdGEgPSB0aGlzLm1vZGVsO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLnByb3ApO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vbnN1Y2Nlc3Mub2JzZXJ2ZXJzLmxlbmd0aCA+IDApXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25zdWNjZXNzLm5leHQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBlbHNlIHRoaXMubWVzc2FnZXMgPSByLm1lc3NhZ2VzO1xyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBjbG9zZSgpIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VzID0gW107XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5fcmVmLmNsb3NlKHRoaXMucHJvcCk7XHJcbiAgICB9XHJcblxyXG4gICAgd3JpdGVWYWx1ZShvYmo6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSBvYmo7XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gICAgfVxyXG5cclxuICAgIHNldERpc2FibGVkU3RhdGU/KGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHsgfVxyXG59XHJcbiIsIjxoMiBtYXQtZGlhbG9nLXRpdGxlID5cclxuICAgIDxsYWJlbCBbaW5uZXJIVE1MXT1cIm1vZGFsdGl0bGUgfCB0cmFuc2xhdGVcIj48L2xhYmVsPlxyXG4gICAgPG1hdC1pY29uIGNsYXNzPVwiY2xvc2UtaWNvblwiIChjbGljayk9XCJjbG9zZSgpXCIgKm5nSWY9XCJzaG93Y2xvc2VpY29uXCIgPmNsb3NlPC9tYXQtaWNvbj5cclxuXHJcbiAgICA8c2VjdGlvbiBjbGFzcz1cImxvYWRpbmctYmFyXCIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgY29sb3I9XCJwcmltYXJ5XCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XHJcbiAgICA8L3NlY3Rpb24+XHJcbjwvaDI+XHJcblxyXG48bWF0LWRpYWxvZy1jb250ZW50IGNsYXNzPVwiaW5mby1tb2RhbC1jb250ZW50XCI+XHJcbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvbWF0LWRpYWxvZy1jb250ZW50PlxyXG5cclxuPG1hdC1kaWFsb2ctYWN0aW9ucz5cclxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltidXR0b25zXVwiPjwvbmctY29udGVudD5cclxuICAgIDxkaXYgKm5nSWY9XCIobGFiZWxjbG9zZSAhPSAnJyAmJiByZWFkb25seSkgfHwgKGxhYmVsY2FuY2VsICE9ICcnICYmICFyZWFkb25seSkgfHwgKGxhYmVsc3VibWl0ICE9ICcnICYmICFyZWFkb25seSlcIiBjbGFzcz1cIm1sLTVcIj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gKm5nSWY9XCJsYWJlbGNsb3NlICE9ICcnICYmIHJlYWRvbmx5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj57eyBsYWJlbGNsb3NlIHwgdHJhbnNsYXRlIH19PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBtYXQtYnV0dG9uICpuZ0lmPVwibGFiZWxjYW5jZWwgIT0gJycgJiYgIXJlYWRvbmx5XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJjbG9zZSgpXCIgY29sb3I9XCJ3YXJuXCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj57eyBsYWJlbGNhbmNlbCB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiAqbmdJZj1cImxhYmVsc3VibWl0ICE9ICcnICYmICFyZWFkb25seVwiIHR5cGU9XCJidXR0b25cIiBbZGlzYWJsZWRdPVwibG9hZGluZyB8fCBmb3JtSW52YWxpZFwiIChjbGljayk9XCJzdWJtaXQoKVwiID57eyBsYWJlbHN1Ym1pdCB8IHRyYW5zbGF0ZSB9fTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+ICAgIFxyXG48L21hdC1kaWFsb2ctYWN0aW9ucz5cclxuXHJcbjxkaXYgY2xhc3M9XCJibG9ja1wiICpuZ0lmPVwibG9hZGluZyAmJiBsb2FkaW5nYmxvY2tcIj48L2Rpdj5cclxuPGluZm8tYWxlcnQgW21lc3NhZ2VzXT1cIm1lc3NhZ2VzXCI+PC9pbmZvLWFsZXJ0PiJdfQ==