tin-spa 9.0.0 → 9.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/bundles/tin-spa.umd.js +4416 -1589
  2. package/bundles/tin-spa.umd.js.map +1 -1
  3. package/bundles/tin-spa.umd.min.js +2 -2
  4. package/bundles/tin-spa.umd.min.js.map +1 -1
  5. package/esm2015/lib/classes/Classes.js +58 -45
  6. package/esm2015/lib/classes/TinCore.js +137 -0
  7. package/esm2015/lib/components/activity/activity.component.js +84 -18
  8. package/esm2015/lib/components/attach/attach.component.js +101 -27
  9. package/esm2015/lib/components/change-password/change-password.component.js +122 -34
  10. package/esm2015/lib/components/check/check.component.js +39 -33
  11. package/esm2015/lib/components/chips/chips.component.js +75 -35
  12. package/esm2015/lib/components/create-account/create-account.component.js +124 -42
  13. package/esm2015/lib/components/date/date.component.js +54 -33
  14. package/esm2015/lib/components/datetime/datetime.component.js +43 -30
  15. package/esm2015/lib/components/filter/filter.component.js +64 -0
  16. package/esm2015/lib/components/html/html.component.js +30 -25
  17. package/esm2015/lib/components/label/label.component.js +109 -21
  18. package/esm2015/lib/components/loader/loader.component.js +43 -20
  19. package/esm2015/lib/components/login/login.component.js +194 -76
  20. package/esm2015/lib/components/logs/logs.component.js +180 -28
  21. package/esm2015/lib/components/message/messageDialog.component.js +128 -17
  22. package/esm2015/lib/components/money/currency-input-mask.directive.js +187 -0
  23. package/esm2015/lib/components/money/currency-input-mask.module.js +30 -0
  24. package/esm2015/lib/components/money/money.component.js +141 -39
  25. package/esm2015/lib/components/nav-menu/nav-menu.component.js +174 -21
  26. package/esm2015/lib/components/option/option.component.js +107 -40
  27. package/esm2015/lib/components/profile/profile.component.js +143 -53
  28. package/esm2015/lib/components/recover-account/recover-account.component.js +48 -26
  29. package/esm2015/lib/components/roles/addRoleDialog.component.js +99 -26
  30. package/esm2015/lib/components/roles/roles.component.js +153 -73
  31. package/esm2015/lib/components/select/select.component.js +108 -48
  32. package/esm2015/lib/components/settings/settings.component.js +76 -21
  33. package/esm2015/lib/components/signup/signup.component.js +107 -24
  34. package/esm2015/lib/components/steps/steps.component.js +47 -31
  35. package/esm2015/lib/components/table/table.component.js +301 -35
  36. package/esm2015/lib/components/text/text.component.js +146 -71
  37. package/esm2015/lib/components/tiles/tiles.component.js +75 -21
  38. package/esm2015/lib/components/timeout/timeout.component.js +65 -22
  39. package/esm2015/lib/components/tin-spa.component.js +19 -12
  40. package/esm2015/lib/components/users/users.component.js +308 -65
  41. package/esm2015/lib/components/viewer/viewer.component.js +64 -39
  42. package/esm2015/lib/components/viewer/viewerDialog.component.js +73 -18
  43. package/esm2015/lib/dnd.directive.js +30 -25
  44. package/esm2015/lib/modules/spa-admin.module.js +65 -51
  45. package/esm2015/lib/modules/spa-index.module.js +45 -20
  46. package/esm2015/lib/modules/spa-mat.module.js +40 -25
  47. package/esm2015/lib/modules/spa-user.module.js +43 -19
  48. package/esm2015/lib/services/auth.service.js +39 -50
  49. package/esm2015/lib/services/data.service.js +82 -49
  50. package/esm2015/lib/services/export.service.js +11 -11
  51. package/esm2015/lib/services/http.service.js +79 -0
  52. package/esm2015/lib/services/loader-interceptor.service.js +30 -30
  53. package/esm2015/lib/services/loader.service.js +11 -11
  54. package/esm2015/lib/services/log.service.js +12 -12
  55. package/esm2015/lib/services/message.service.js +11 -17
  56. package/esm2015/lib/services/storage.service.js +12 -11
  57. package/esm2015/lib/services/tin-spa.service.js +11 -11
  58. package/esm2015/lib/tin-spa.module.js +113 -48
  59. package/esm2015/public-api.js +4 -6
  60. package/esm2015/tin-spa.js +1 -5
  61. package/esm5/lib/classes/Classes.js +70 -55
  62. package/esm5/lib/classes/TinCore.js +164 -0
  63. package/esm5/lib/components/activity/activity.component.js +82 -15
  64. package/esm5/lib/components/attach/attach.component.js +100 -24
  65. package/esm5/lib/components/change-password/change-password.component.js +120 -31
  66. package/esm5/lib/components/check/check.component.js +37 -30
  67. package/esm5/lib/components/chips/chips.component.js +73 -32
  68. package/esm5/lib/components/create-account/create-account.component.js +122 -39
  69. package/esm5/lib/components/date/date.component.js +52 -30
  70. package/esm5/lib/components/datetime/datetime.component.js +41 -27
  71. package/esm5/lib/components/filter/filter.component.js +66 -0
  72. package/esm5/lib/components/html/html.component.js +28 -22
  73. package/esm5/lib/components/label/label.component.js +107 -18
  74. package/esm5/lib/components/loader/loader.component.js +41 -17
  75. package/esm5/lib/components/login/login.component.js +193 -74
  76. package/esm5/lib/components/logs/logs.component.js +178 -25
  77. package/esm5/lib/components/message/messageDialog.component.js +126 -14
  78. package/esm5/lib/components/money/currency-input-mask.directive.js +193 -0
  79. package/esm5/lib/components/money/currency-input-mask.module.js +34 -0
  80. package/esm5/lib/components/money/money.component.js +139 -36
  81. package/esm5/lib/components/nav-menu/nav-menu.component.js +172 -18
  82. package/esm5/lib/components/option/option.component.js +105 -37
  83. package/esm5/lib/components/profile/profile.component.js +141 -50
  84. package/esm5/lib/components/recover-account/recover-account.component.js +46 -23
  85. package/esm5/lib/components/roles/addRoleDialog.component.js +97 -23
  86. package/esm5/lib/components/roles/roles.component.js +152 -72
  87. package/esm5/lib/components/select/select.component.js +106 -45
  88. package/esm5/lib/components/settings/settings.component.js +74 -18
  89. package/esm5/lib/components/signup/signup.component.js +105 -21
  90. package/esm5/lib/components/steps/steps.component.js +46 -28
  91. package/esm5/lib/components/table/table.component.js +299 -32
  92. package/esm5/lib/components/text/text.component.js +144 -68
  93. package/esm5/lib/components/tiles/tiles.component.js +73 -18
  94. package/esm5/lib/components/timeout/timeout.component.js +63 -19
  95. package/esm5/lib/components/tin-spa.component.js +16 -8
  96. package/esm5/lib/components/users/users.component.js +307 -62
  97. package/esm5/lib/components/viewer/viewer.component.js +62 -36
  98. package/esm5/lib/components/viewer/viewerDialog.component.js +71 -15
  99. package/esm5/lib/dnd.directive.js +28 -22
  100. package/esm5/lib/modules/spa-admin.module.js +63 -48
  101. package/esm5/lib/modules/spa-index.module.js +43 -17
  102. package/esm5/lib/modules/spa-mat.module.js +38 -22
  103. package/esm5/lib/modules/spa-user.module.js +41 -16
  104. package/esm5/lib/services/auth.service.js +37 -47
  105. package/esm5/lib/services/data.service.js +89 -55
  106. package/esm5/lib/services/export.service.js +9 -8
  107. package/esm5/lib/services/http.service.js +81 -0
  108. package/esm5/lib/services/loader-interceptor.service.js +28 -27
  109. package/esm5/lib/services/loader.service.js +9 -8
  110. package/esm5/lib/services/log.service.js +11 -9
  111. package/esm5/lib/services/message.service.js +9 -14
  112. package/esm5/lib/services/storage.service.js +10 -8
  113. package/esm5/lib/services/tin-spa.service.js +9 -8
  114. package/esm5/lib/tin-spa.module.js +111 -45
  115. package/esm5/public-api.js +4 -6
  116. package/esm5/tin-spa.js +1 -5
  117. package/fesm2015/tin-spa.js +4418 -1612
  118. package/fesm2015/tin-spa.js.map +1 -1
  119. package/fesm5/tin-spa.js +4442 -1612
  120. package/fesm5/tin-spa.js.map +1 -1
  121. package/lib/classes/Classes.d.ts +55 -43
  122. package/lib/classes/TinCore.d.ts +27 -0
  123. package/lib/components/activity/activity.component.d.ts +3 -5
  124. package/lib/components/attach/attach.component.d.ts +3 -5
  125. package/lib/components/change-password/change-password.component.d.ts +11 -9
  126. package/lib/components/check/check.component.d.ts +3 -5
  127. package/lib/components/chips/chips.component.d.ts +3 -5
  128. package/lib/components/create-account/create-account.component.d.ts +13 -13
  129. package/lib/components/date/date.component.d.ts +6 -7
  130. package/lib/components/datetime/datetime.component.d.ts +3 -5
  131. package/lib/components/filter/filter.component.d.ts +15 -0
  132. package/lib/components/html/html.component.d.ts +3 -5
  133. package/lib/components/label/label.component.d.ts +3 -5
  134. package/lib/components/loader/loader.component.d.ts +3 -5
  135. package/lib/components/login/login.component.d.ts +12 -14
  136. package/lib/components/logs/logs.component.d.ts +5 -9
  137. package/lib/components/message/messageDialog.component.d.ts +3 -5
  138. package/lib/components/money/currency-input-mask.directive.d.ts +41 -0
  139. package/lib/components/money/currency-input-mask.module.d.ts +8 -0
  140. package/lib/components/money/money.component.d.ts +19 -8
  141. package/lib/components/nav-menu/nav-menu.component.d.ts +3 -5
  142. package/lib/components/option/option.component.d.ts +4 -5
  143. package/lib/components/profile/profile.component.d.ts +9 -11
  144. package/lib/components/recover-account/recover-account.component.d.ts +6 -8
  145. package/lib/components/roles/addRoleDialog.component.d.ts +5 -7
  146. package/lib/components/roles/roles.component.d.ts +6 -10
  147. package/lib/components/select/select.component.d.ts +4 -6
  148. package/lib/components/settings/settings.component.d.ts +5 -7
  149. package/lib/components/signup/signup.component.d.ts +6 -8
  150. package/lib/components/steps/steps.component.d.ts +3 -5
  151. package/lib/components/table/table.component.d.ts +3 -5
  152. package/lib/components/text/text.component.d.ts +4 -5
  153. package/lib/components/tiles/tiles.component.d.ts +3 -5
  154. package/lib/components/timeout/timeout.component.d.ts +3 -5
  155. package/lib/components/tin-spa.component.d.ts +3 -5
  156. package/lib/components/users/users.component.d.ts +8 -13
  157. package/lib/components/viewer/viewer.component.d.ts +3 -5
  158. package/lib/components/viewer/viewerDialog.component.d.ts +4 -6
  159. package/lib/dnd.directive.d.ts +3 -5
  160. package/lib/modules/spa-admin.module.d.ts +13 -19
  161. package/lib/modules/spa-index.module.d.ts +10 -11
  162. package/lib/modules/spa-mat.module.d.ts +30 -32
  163. package/lib/modules/spa-user.module.d.ts +9 -10
  164. package/lib/services/auth.service.d.ts +14 -14
  165. package/lib/services/data.service.d.ts +28 -17
  166. package/lib/services/export.service.d.ts +3 -4
  167. package/lib/services/http.service.d.ts +22 -0
  168. package/lib/services/loader-interceptor.service.d.ts +3 -5
  169. package/lib/services/loader.service.d.ts +3 -4
  170. package/lib/services/log.service.d.ts +3 -4
  171. package/lib/services/message.service.d.ts +3 -4
  172. package/lib/services/storage.service.d.ts +3 -4
  173. package/lib/services/tin-spa.service.d.ts +3 -4
  174. package/lib/tin-spa.module.d.ts +35 -35
  175. package/package.json +2 -10
  176. package/public-api.d.ts +3 -5
  177. package/tin-spa.d.ts +1 -6
  178. package/__ivy_ngcc__/fesm2015/tin-spa.js +0 -6813
  179. package/__ivy_ngcc__/fesm2015/tin-spa.js.map +0 -1
  180. package/esm2015/lib/components/profiles/profiles.component.js +0 -16
  181. package/esm2015/lib/components/roles/editRoleDialog.component.js +0 -57
  182. package/esm2015/lib/components/roles/viewRoleDialog.component.js +0 -38
  183. package/esm2015/lib/components/users/addUserDialog.component.js +0 -53
  184. package/esm2015/lib/components/users/editUserDialog.component.js +0 -96
  185. package/esm5/lib/components/profiles/profiles.component.js +0 -18
  186. package/esm5/lib/components/roles/editRoleDialog.component.js +0 -59
  187. package/esm5/lib/components/roles/viewRoleDialog.component.js +0 -39
  188. package/esm5/lib/components/users/addUserDialog.component.js +0 -55
  189. package/esm5/lib/components/users/editUserDialog.component.js +0 -99
  190. package/lib/components/activity/activity.component.d.ts.__ivy_ngcc_bak +0 -8
  191. package/lib/components/attach/attach.component.d.ts.__ivy_ngcc_bak +0 -39
  192. package/lib/components/change-password/change-password.component.d.ts.__ivy_ngcc_bak +0 -20
  193. package/lib/components/check/check.component.d.ts.__ivy_ngcc_bak +0 -16
  194. package/lib/components/chips/chips.component.d.ts.__ivy_ngcc_bak +0 -15
  195. package/lib/components/create-account/create-account.component.d.ts.__ivy_ngcc_bak +0 -25
  196. package/lib/components/date/date.component.d.ts.__ivy_ngcc_bak +0 -13
  197. package/lib/components/datetime/datetime.component.d.ts.__ivy_ngcc_bak +0 -12
  198. package/lib/components/html/html.component.d.ts.__ivy_ngcc_bak +0 -12
  199. package/lib/components/label/label.component.d.ts.__ivy_ngcc_bak +0 -8
  200. package/lib/components/loader/loader.component.d.ts.__ivy_ngcc_bak +0 -9
  201. package/lib/components/login/login.component.d.ts.__ivy_ngcc_bak +0 -29
  202. package/lib/components/logs/logs.component.d.ts.__ivy_ngcc_bak +0 -17
  203. package/lib/components/message/messageDialog.component.d.ts.__ivy_ngcc_bak +0 -12
  204. package/lib/components/money/money.component.d.ts.__ivy_ngcc_bak +0 -14
  205. package/lib/components/nav-menu/nav-menu.component.d.ts.__ivy_ngcc_bak +0 -17
  206. package/lib/components/option/option.component.d.ts.__ivy_ngcc_bak +0 -17
  207. package/lib/components/profile/profile.component.d.ts.__ivy_ngcc_bak +0 -30
  208. package/lib/components/profiles/profiles.component.d.ts +0 -10
  209. package/lib/components/profiles/profiles.component.d.ts.__ivy_ngcc_bak +0 -5
  210. package/lib/components/recover-account/recover-account.component.d.ts.__ivy_ngcc_bak +0 -15
  211. package/lib/components/roles/addRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  212. package/lib/components/roles/editRoleDialog.component.d.ts +0 -24
  213. package/lib/components/roles/editRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  214. package/lib/components/roles/roles.component.d.ts.__ivy_ngcc_bak +0 -29
  215. package/lib/components/roles/viewRoleDialog.component.d.ts +0 -20
  216. package/lib/components/roles/viewRoleDialog.component.d.ts.__ivy_ngcc_bak +0 -15
  217. package/lib/components/select/select.component.d.ts.__ivy_ngcc_bak +0 -20
  218. package/lib/components/settings/settings.component.d.ts.__ivy_ngcc_bak +0 -16
  219. package/lib/components/signup/signup.component.d.ts.__ivy_ngcc_bak +0 -20
  220. package/lib/components/steps/steps.component.d.ts.__ivy_ngcc_bak +0 -15
  221. package/lib/components/table/table.component.d.ts.__ivy_ngcc_bak +0 -25
  222. package/lib/components/text/text.component.d.ts.__ivy_ngcc_bak +0 -37
  223. package/lib/components/tiles/tiles.component.d.ts.__ivy_ngcc_bak +0 -11
  224. package/lib/components/timeout/timeout.component.d.ts.__ivy_ngcc_bak +0 -21
  225. package/lib/components/tin-spa.component.d.ts.__ivy_ngcc_bak +0 -5
  226. package/lib/components/users/addUserDialog.component.d.ts +0 -21
  227. package/lib/components/users/addUserDialog.component.d.ts.__ivy_ngcc_bak +0 -16
  228. package/lib/components/users/editUserDialog.component.d.ts +0 -32
  229. package/lib/components/users/editUserDialog.component.d.ts.__ivy_ngcc_bak +0 -27
  230. package/lib/components/users/users.component.d.ts.__ivy_ngcc_bak +0 -35
  231. package/lib/components/viewer/viewer.component.d.ts.__ivy_ngcc_bak +0 -16
  232. package/lib/components/viewer/viewerDialog.component.d.ts.__ivy_ngcc_bak +0 -19
  233. package/lib/dnd.directive.d.ts.__ivy_ngcc_bak +0 -8
  234. package/lib/modules/spa-admin.module.d.ts.__ivy_ngcc_bak +0 -2
  235. package/lib/modules/spa-index.module.d.ts.__ivy_ngcc_bak +0 -2
  236. package/lib/modules/spa-mat.module.d.ts.__ivy_ngcc_bak +0 -2
  237. package/lib/modules/spa-user.module.d.ts.__ivy_ngcc_bak +0 -2
  238. package/lib/services/auth.service.d.ts.__ivy_ngcc_bak +0 -45
  239. package/lib/services/data.service.d.ts.__ivy_ngcc_bak +0 -23
  240. package/lib/services/export.service.d.ts.__ivy_ngcc_bak +0 -7
  241. package/lib/services/loader-interceptor.service.d.ts.__ivy_ngcc_bak +0 -18
  242. package/lib/services/loader.service.d.ts.__ivy_ngcc_bak +0 -5
  243. package/lib/services/log.service.d.ts.__ivy_ngcc_bak +0 -16
  244. package/lib/services/message.service.d.ts.__ivy_ngcc_bak +0 -12
  245. package/lib/services/storage.service.d.ts.__ivy_ngcc_bak +0 -7
  246. package/lib/services/tin-spa.service.d.ts.__ivy_ngcc_bak +0 -3
  247. package/lib/tin-spa.module.d.ts.__ivy_ngcc_bak +0 -2
  248. package/tin-spa.d.ts.__ivy_ngcc_bak +0 -8
  249. package/tin-spa.metadata.json +0 -1
@@ -1,13 +1,235 @@
1
- import { __decorate } from "tslib";
2
1
  import { Component, ViewChild } from "@angular/core";
3
2
  import { MatTableDataSource } from "@angular/material/table";
4
- import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
5
- import { DataService } from "../../services/data.service";
6
- import { ApiResponse, Core, HttpService } from "tin-core";
7
- import { Router } from "@angular/router";
8
- import { MessageService } from "../../services/message.service";
9
- import { AuthService } from "../../services/auth.service";
10
- let UsersComponent = class UsersComponent {
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/http.service";
5
+ import * as i2 from "@angular/router";
6
+ import * as i3 from "../../services/auth.service";
7
+ import * as i4 from "../../services/data.service";
8
+ import * as i5 from "@angular/material/dialog";
9
+ import * as i6 from "../../services/message.service";
10
+ import * as i7 from "@angular/material/button";
11
+ import * as i8 from "../filter/filter.component";
12
+ import * as i9 from "@angular/common";
13
+ import * as i10 from "@angular/material/paginator";
14
+ import * as i11 from "@angular/material/table";
15
+ import * as i12 from "@angular/material/tooltip";
16
+ import * as i13 from "@angular/material/icon";
17
+ const _c0 = ["usersPaginator"];
18
+ function UsersComponent_p_10_Template(rf, ctx) { if (rf & 1) {
19
+ i0.ɵɵelementStart(0, "p");
20
+ i0.ɵɵelementStart(1, "em");
21
+ i0.ɵɵtext(2, "Loading...");
22
+ i0.ɵɵelementEnd();
23
+ i0.ɵɵelementEnd();
24
+ } }
25
+ function UsersComponent_div_11_th_3_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "th", 25);
27
+ i0.ɵɵtext(1, " userName ");
28
+ i0.ɵɵelementEnd();
29
+ } }
30
+ function UsersComponent_div_11_td_4_Template(rf, ctx) { if (rf & 1) {
31
+ i0.ɵɵelementStart(0, "td", 26);
32
+ i0.ɵɵtext(1);
33
+ i0.ɵɵelementEnd();
34
+ } if (rf & 2) {
35
+ const user_r21 = ctx.$implicit;
36
+ i0.ɵɵadvance(1);
37
+ i0.ɵɵtextInterpolate1(" ", user_r21.userName, " ");
38
+ } }
39
+ function UsersComponent_div_11_th_6_Template(rf, ctx) { if (rf & 1) {
40
+ i0.ɵɵelementStart(0, "th", 25);
41
+ i0.ɵɵtext(1, " Locked ");
42
+ i0.ɵɵelementEnd();
43
+ } }
44
+ function UsersComponent_div_11_td_7_Template(rf, ctx) { if (rf & 1) {
45
+ i0.ɵɵelementStart(0, "td", 26);
46
+ i0.ɵɵtext(1);
47
+ i0.ɵɵelementEnd();
48
+ } if (rf & 2) {
49
+ const user_r22 = ctx.$implicit;
50
+ i0.ɵɵadvance(1);
51
+ i0.ɵɵtextInterpolate1(" ", user_r22.locked, " ");
52
+ } }
53
+ function UsersComponent_div_11_th_9_Template(rf, ctx) { if (rf & 1) {
54
+ i0.ɵɵelementStart(0, "th", 25);
55
+ i0.ɵɵtext(1, " Name ");
56
+ i0.ɵɵelementEnd();
57
+ } }
58
+ function UsersComponent_div_11_td_10_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "td", 26);
60
+ i0.ɵɵtext(1);
61
+ i0.ɵɵelementEnd();
62
+ } if (rf & 2) {
63
+ const user_r23 = ctx.$implicit;
64
+ i0.ɵɵadvance(1);
65
+ i0.ɵɵtextInterpolate2(" ", user_r23.firstName, " ", user_r23.lastName, " ");
66
+ } }
67
+ function UsersComponent_div_11_th_12_Template(rf, ctx) { if (rf & 1) {
68
+ i0.ɵɵelementStart(0, "th", 25);
69
+ i0.ɵɵtext(1, " Role ");
70
+ i0.ɵɵelementEnd();
71
+ } }
72
+ function UsersComponent_div_11_td_13_Template(rf, ctx) { if (rf & 1) {
73
+ i0.ɵɵelementStart(0, "td", 26);
74
+ i0.ɵɵtext(1);
75
+ i0.ɵɵelementEnd();
76
+ } if (rf & 2) {
77
+ const user_r24 = ctx.$implicit;
78
+ i0.ɵɵadvance(1);
79
+ i0.ɵɵtextInterpolate1(" ", user_r24.role.roleName, " ");
80
+ } }
81
+ function UsersComponent_div_11_th_15_Template(rf, ctx) { if (rf & 1) {
82
+ i0.ɵɵelementStart(0, "th", 25);
83
+ i0.ɵɵtext(1, " Disabled ");
84
+ i0.ɵɵelementEnd();
85
+ } }
86
+ function UsersComponent_div_11_td_16_Template(rf, ctx) { if (rf & 1) {
87
+ i0.ɵɵelementStart(0, "td", 26);
88
+ i0.ɵɵtext(1);
89
+ i0.ɵɵelementEnd();
90
+ } if (rf & 2) {
91
+ const user_r25 = ctx.$implicit;
92
+ i0.ɵɵadvance(1);
93
+ i0.ɵɵtextInterpolate1(" ", user_r25.disabled, " ");
94
+ } }
95
+ function UsersComponent_div_11_th_18_Template(rf, ctx) { if (rf & 1) {
96
+ i0.ɵɵelementStart(0, "th", 25);
97
+ i0.ɵɵtext(1, " Created ");
98
+ i0.ɵɵelementEnd();
99
+ } }
100
+ function UsersComponent_div_11_td_19_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵelementStart(0, "td", 26);
102
+ i0.ɵɵtext(1);
103
+ i0.ɵɵpipe(2, "date");
104
+ i0.ɵɵelementEnd();
105
+ } if (rf & 2) {
106
+ const user_r26 = ctx.$implicit;
107
+ i0.ɵɵadvance(1);
108
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, user_r26.createdDate, "dd/MM/yyyy"), " ");
109
+ } }
110
+ function UsersComponent_div_11_th_21_Template(rf, ctx) { if (rf & 1) {
111
+ i0.ɵɵelementStart(0, "th", 25);
112
+ i0.ɵɵtext(1, " Updated ");
113
+ i0.ɵɵelementEnd();
114
+ } }
115
+ function UsersComponent_div_11_td_22_Template(rf, ctx) { if (rf & 1) {
116
+ i0.ɵɵelementStart(0, "td", 26);
117
+ i0.ɵɵtext(1);
118
+ i0.ɵɵpipe(2, "date");
119
+ i0.ɵɵelementEnd();
120
+ } if (rf & 2) {
121
+ const user_r27 = ctx.$implicit;
122
+ i0.ɵɵadvance(1);
123
+ i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind2(2, 1, user_r27.updatedDate, "dd/MM/yyyy"), " ");
124
+ } }
125
+ function UsersComponent_div_11_th_24_Template(rf, ctx) { if (rf & 1) {
126
+ i0.ɵɵelementStart(0, "th", 25);
127
+ i0.ɵɵtext(1, " Action ");
128
+ i0.ɵɵelementEnd();
129
+ } }
130
+ function UsersComponent_div_11_td_25_button_4_Template(rf, ctx) { if (rf & 1) {
131
+ const _r33 = i0.ɵɵgetCurrentView();
132
+ i0.ɵɵelementStart(0, "button", 32);
133
+ i0.ɵɵlistener("click", function UsersComponent_div_11_td_25_button_4_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r33); const user_r28 = i0.ɵɵnextContext().$implicit; const ctx_r31 = i0.ɵɵnextContext(2); return ctx_r31.lock(user_r28); });
134
+ i0.ɵɵelementStart(1, "mat-icon");
135
+ i0.ɵɵtext(2, "lock");
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵelementEnd();
138
+ } }
139
+ function UsersComponent_div_11_td_25_button_5_Template(rf, ctx) { if (rf & 1) {
140
+ const _r36 = i0.ɵɵgetCurrentView();
141
+ i0.ɵɵelementStart(0, "button", 33);
142
+ i0.ɵɵlistener("click", function UsersComponent_div_11_td_25_button_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const user_r28 = i0.ɵɵnextContext().$implicit; const ctx_r34 = i0.ɵɵnextContext(2); return ctx_r34.unlock(user_r28); });
143
+ i0.ɵɵelementStart(1, "mat-icon");
144
+ i0.ɵɵtext(2, "lock_open");
145
+ i0.ɵɵelementEnd();
146
+ i0.ɵɵelementEnd();
147
+ } }
148
+ function UsersComponent_div_11_td_25_Template(rf, ctx) { if (rf & 1) {
149
+ const _r38 = i0.ɵɵgetCurrentView();
150
+ i0.ɵɵelementStart(0, "td", 27);
151
+ i0.ɵɵelementStart(1, "button", 28);
152
+ i0.ɵɵlistener("click", function UsersComponent_div_11_td_25_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r38); const user_r28 = ctx.$implicit; const ctx_r37 = i0.ɵɵnextContext(2); return ctx_r37.viewProfile(user_r28); });
153
+ i0.ɵɵelementStart(2, "mat-icon");
154
+ i0.ɵɵtext(3, "account_circle");
155
+ i0.ɵɵelementEnd();
156
+ i0.ɵɵelementEnd();
157
+ i0.ɵɵtemplate(4, UsersComponent_div_11_td_25_button_4_Template, 3, 0, "button", 29);
158
+ i0.ɵɵtemplate(5, UsersComponent_div_11_td_25_button_5_Template, 3, 0, "button", 30);
159
+ i0.ɵɵelementStart(6, "button", 31);
160
+ i0.ɵɵlistener("click", function UsersComponent_div_11_td_25_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r38); const user_r28 = ctx.$implicit; const ctx_r39 = i0.ɵɵnextContext(2); return ctx_r39.deleteUser(user_r28); });
161
+ i0.ɵɵelementStart(7, "mat-icon");
162
+ i0.ɵɵtext(8, "delete");
163
+ i0.ɵɵelementEnd();
164
+ i0.ɵɵelementEnd();
165
+ i0.ɵɵelementEnd();
166
+ } if (rf & 2) {
167
+ const user_r28 = ctx.$implicit;
168
+ i0.ɵɵadvance(4);
169
+ i0.ɵɵproperty("ngIf", user_r28.locked == "0");
170
+ i0.ɵɵadvance(1);
171
+ i0.ɵɵproperty("ngIf", user_r28.locked == "1");
172
+ } }
173
+ function UsersComponent_div_11_tr_26_Template(rf, ctx) { if (rf & 1) {
174
+ i0.ɵɵelement(0, "tr", 34);
175
+ } }
176
+ const _c1 = function (a0) { return { "make-gray": a0 }; };
177
+ function UsersComponent_div_11_tr_27_Template(rf, ctx) { if (rf & 1) {
178
+ i0.ɵɵelement(0, "tr", 35);
179
+ } if (rf & 2) {
180
+ const row_r40 = ctx.$implicit;
181
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c1, row_r40.disabled == "1"));
182
+ } }
183
+ function UsersComponent_div_11_Template(rf, ctx) { if (rf & 1) {
184
+ i0.ɵɵelementStart(0, "div", 10);
185
+ i0.ɵɵelementStart(1, "table", 11);
186
+ i0.ɵɵelementContainerStart(2, 12);
187
+ i0.ɵɵtemplate(3, UsersComponent_div_11_th_3_Template, 2, 0, "th", 13);
188
+ i0.ɵɵtemplate(4, UsersComponent_div_11_td_4_Template, 2, 1, "td", 14);
189
+ i0.ɵɵelementContainerEnd();
190
+ i0.ɵɵelementContainerStart(5, 15);
191
+ i0.ɵɵtemplate(6, UsersComponent_div_11_th_6_Template, 2, 0, "th", 13);
192
+ i0.ɵɵtemplate(7, UsersComponent_div_11_td_7_Template, 2, 1, "td", 14);
193
+ i0.ɵɵelementContainerEnd();
194
+ i0.ɵɵelementContainerStart(8, 16);
195
+ i0.ɵɵtemplate(9, UsersComponent_div_11_th_9_Template, 2, 0, "th", 13);
196
+ i0.ɵɵtemplate(10, UsersComponent_div_11_td_10_Template, 2, 2, "td", 14);
197
+ i0.ɵɵelementContainerEnd();
198
+ i0.ɵɵelementContainerStart(11, 17);
199
+ i0.ɵɵtemplate(12, UsersComponent_div_11_th_12_Template, 2, 0, "th", 13);
200
+ i0.ɵɵtemplate(13, UsersComponent_div_11_td_13_Template, 2, 1, "td", 14);
201
+ i0.ɵɵelementContainerEnd();
202
+ i0.ɵɵelementContainerStart(14, 18);
203
+ i0.ɵɵtemplate(15, UsersComponent_div_11_th_15_Template, 2, 0, "th", 13);
204
+ i0.ɵɵtemplate(16, UsersComponent_div_11_td_16_Template, 2, 1, "td", 14);
205
+ i0.ɵɵelementContainerEnd();
206
+ i0.ɵɵelementContainerStart(17, 19);
207
+ i0.ɵɵtemplate(18, UsersComponent_div_11_th_18_Template, 2, 0, "th", 13);
208
+ i0.ɵɵtemplate(19, UsersComponent_div_11_td_19_Template, 3, 4, "td", 14);
209
+ i0.ɵɵelementContainerEnd();
210
+ i0.ɵɵelementContainerStart(20, 20);
211
+ i0.ɵɵtemplate(21, UsersComponent_div_11_th_21_Template, 2, 0, "th", 13);
212
+ i0.ɵɵtemplate(22, UsersComponent_div_11_td_22_Template, 3, 4, "td", 14);
213
+ i0.ɵɵelementContainerEnd();
214
+ i0.ɵɵelementContainerStart(23, 21);
215
+ i0.ɵɵtemplate(24, UsersComponent_div_11_th_24_Template, 2, 0, "th", 13);
216
+ i0.ɵɵtemplate(25, UsersComponent_div_11_td_25_Template, 9, 2, "td", 22);
217
+ i0.ɵɵelementContainerEnd();
218
+ i0.ɵɵtemplate(26, UsersComponent_div_11_tr_26_Template, 1, 0, "tr", 23);
219
+ i0.ɵɵtemplate(27, UsersComponent_div_11_tr_27_Template, 1, 3, "tr", 24);
220
+ i0.ɵɵelementEnd();
221
+ i0.ɵɵelementEnd();
222
+ } if (rf & 2) {
223
+ const ctx_r1 = i0.ɵɵnextContext();
224
+ i0.ɵɵadvance(1);
225
+ i0.ɵɵproperty("dataSource", ctx_r1.users);
226
+ i0.ɵɵadvance(25);
227
+ i0.ɵɵproperty("matHeaderRowDef", ctx_r1.displayedColumns);
228
+ i0.ɵɵadvance(1);
229
+ i0.ɵɵproperty("matRowDefColumns", ctx_r1.displayedColumns);
230
+ } }
231
+ const _c2 = function () { return [10, 20, 50]; };
232
+ export class UsersComponent {
11
233
  constructor(httpService, router, authService, dataService, dialog, messageService) {
12
234
  this.httpService = httpService;
13
235
  this.router = router;
@@ -17,16 +239,15 @@ let UsersComponent = class UsersComponent {
17
239
  this.messageService = messageService;
18
240
  this.isProcessing = false;
19
241
  this._filterText = "";
20
- // public myResponse;
21
- this.displayedColumns = ["userID", "fullName", "roleName", "locked", "dateCreated", "Action"];
242
+ this.displayedColumns = ["userName", "fullName", "roleName", "locked", "dateCreated", "Action"];
22
243
  }
23
244
  ngOnInit() {
245
+ this.authService.isAuthorised(this.dataService.capUsers.name);
24
246
  this.UpdateData();
25
247
  }
26
248
  UpdateData() {
27
- this.dataService.GetUser("all", "").subscribe((apiResponse) => {
28
- //this.myData = apiResponse;
29
- this.users = new MatTableDataSource(apiResponse.dt);
249
+ this.dataService.GetUser().subscribe((apiResponse) => {
250
+ this.users = new MatTableDataSource(apiResponse);
30
251
  this.users.paginator = this.usersPaginator;
31
252
  this.applyFilter(this._filterText);
32
253
  }, (error) => {
@@ -41,57 +262,48 @@ let UsersComponent = class UsersComponent {
41
262
  this.router.navigate(["home/admin/create-account"]);
42
263
  }
43
264
  viewProfile(user) {
44
- this.dataService.tmpProfileUserID = user.userID;
265
+ this.dataService.tmpProfileuserName = user.userName;
45
266
  this.router.navigate(["home/user/profile"]);
46
267
  }
47
268
  lock(u) {
48
- u.locked = "1";
49
- this.updateUser(u);
269
+ let login = { userName: u.userName, password: "Abcdef@123" };
270
+ this.dataService.LockUser(login).subscribe((apiResponse) => {
271
+ if (apiResponse.success) {
272
+ this.messageService.toast("User Locked");
273
+ this.UpdateData();
274
+ }
275
+ else {
276
+ this.messageService.toast("Error: " + apiResponse);
277
+ }
278
+ });
50
279
  }
51
280
  unlock(u) {
52
- u.locked = "0";
53
- u.tries = "0";
54
- this.updateUser(u);
55
- }
56
- enable(u) {
57
- u.disabled = "0";
58
- this.updateUser(u);
59
- }
60
- disable(u) {
61
- u.disabled = "1";
62
- this.updateUser(u);
63
- }
64
- recover(u) {
65
- this.dataService.SelfReset(u).subscribe((apiResponse) => {
66
- if (apiResponse.message == "success") {
67
- this.messageService.toast("The password has been sent on email");
281
+ let login = { userName: u.userName, password: "Abcdef@123" };
282
+ this.dataService.UnlockUser(login).subscribe((apiResponse) => {
283
+ if (apiResponse.success) {
284
+ this.messageService.toast("User Unlocked");
285
+ this.UpdateData();
68
286
  }
69
287
  else {
70
- this.messageService.toast("Error: " + apiResponse.message);
288
+ this.messageService.toast("Error: " + apiResponse);
71
289
  }
72
290
  });
73
291
  }
74
- updateUser(user) {
75
- this.isProcessing = true;
76
- this.dataService.UpdateUser(user, "edit").subscribe((apiResponse) => {
77
- this.isProcessing = false;
292
+ recover(u) {
293
+ this.dataService.SelfReset(u).subscribe((apiResponse) => {
78
294
  if (apiResponse.message == "success") {
79
- this.messageService.toast("User Updated");
80
- this.UpdateData();
295
+ this.messageService.toast("The password has been sent on email");
81
296
  }
82
297
  else {
83
298
  this.messageService.toast("Error: " + apiResponse.message);
84
299
  }
85
- }, (error) => {
86
- this.messageService.toast("Connection failed ");
87
- this.isProcessing = false;
88
300
  });
89
301
  }
90
302
  deleteUser(user) {
91
- this.messageService.confirm(`Delete ${user.userID} ?`).subscribe((result) => {
303
+ this.messageService.confirm(`Delete ${user.userName} ?`).subscribe((result) => {
92
304
  if (result == "yes") {
93
305
  this.isProcessing = true;
94
- this.dataService.UpdateUser(user, "delete").subscribe((apiResponse) => {
306
+ this.dataService.DeleteUser(user).subscribe((apiResponse) => {
95
307
  this.isProcessing = false;
96
308
  if (apiResponse.message == "success") {
97
309
  this.messageService.toast("User Deleted");
@@ -107,24 +319,55 @@ let UsersComponent = class UsersComponent {
107
319
  }
108
320
  });
109
321
  }
110
- };
111
- UsersComponent.ctorParameters = () => [
112
- { type: HttpService },
113
- { type: Router },
114
- { type: AuthService },
115
- { type: DataService },
116
- { type: MatDialog },
117
- { type: MessageService }
118
- ];
119
- __decorate([
120
- ViewChild("usersPaginator")
121
- ], UsersComponent.prototype, "usersPaginator", void 0);
122
- UsersComponent = __decorate([
123
- Component({
124
- selector: "spa-users",
125
- template: "\r\n<h4>Users</h4>\r\n<hr />\r\n\r\n<div class=\"container\">\r\n\r\n\r\n <div class=\"row justify-content-between\" style=\"padding-bottom: 10px\">\r\n <div class=\"col-2\">\r\n <button id=\"btnCreateAccount\" mat-raised-button color=\"primary\" (click)=\"createAccount()\">Create Account</button>\r\n\r\n\r\n </div>\r\n <div class=\"col-3\">\r\n <mat-form-field style=\"font-size:12px\">\r\n <mat-label>Filter</mat-label>\r\n <input id=\"txtFilter\" matInput [(ngModel)]=\"_filterText\" (keyup)=\"applyFilter($event.target.value)\" placeholder=\"Enter Filter text\" autocomplete=\"off\">\r\n </mat-form-field>\r\n <button id=\"btnFilter\" mat-mini-fab color=\"primary\" (click)=\"UpdateData()\" style=\"margin-right:3em;margin-top:5px\" matTooltip=\"refresh data\" matTooltipPosition=\"right\"><mat-icon class=\"refreshIcon\">refresh</mat-icon></button>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n\r\n <p *ngIf=\"!users\"><em>Loading...</em></p>\r\n\r\n\r\n <div class=\"mat-elevation-z8\" *ngIf=\"users\">\r\n\r\n <table id=\"tblTable\" mat-table [dataSource]=\"users\">\r\n\r\n <ng-container matColumnDef=\"userID\">\r\n <th mat-header-cell *matHeaderCellDef> UserID </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.userID}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"locked\">\r\n <th mat-header-cell *matHeaderCellDef> Locked </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.locked}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"fullName\">\r\n <th mat-header-cell *matHeaderCellDef> Name </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.firstName}} {{user.lastName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"roleName\">\r\n <th mat-header-cell *matHeaderCellDef> Role </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.roleName}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"disabled\">\r\n <th mat-header-cell *matHeaderCellDef> Disabled </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.disabled}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateCreated\">\r\n <th mat-header-cell *matHeaderCellDef> Created </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.dateCreated | date: 'dd MMM yy'}} </td>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"dateUpdated\">\r\n <th mat-header-cell *matHeaderCellDef> Updated </th>\r\n <td mat-cell *matCellDef=\"let user\"> {{user.dateUpdated | date: 'dd MMM yy'}} </td>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"Action\">\r\n <th mat-header-cell *matHeaderCellDef> Action </th>\r\n <td mat-cell *matCellDef=\"let user\" style=\"width: 250px;\">\r\n\r\n <button mat-mini-fab color=\"primary\" (click)=\"viewProfile(user)\" style=\"margin-right:30px\" matTooltip=\"View Profile\" matTooltipPosition=\"above\"> <mat-icon>account_circle</mat-icon></button>\r\n\r\n <button *ngIf=\"user.locked=='0'\" mat-mini-fab color=\"warn\" (click)=\"lock(user)\" style=\"margin-right:10px\" matTooltip=\"Lock\" matTooltipPosition=\"above\"> <mat-icon>lock</mat-icon></button>\r\n <button *ngIf=\"user.locked=='1'\" mat-mini-fab (click)=\"unlock(user)\" style=\"margin-right:10px; background-color: green;\" matTooltip=\"Unlock\" matTooltipPosition=\"above\"> <mat-icon >lock_open</mat-icon></button>\r\n\r\n <button *ngIf=\"user.disabled=='0'\" mat-mini-fab color=\"warn\" (click)=\"disable(user)\" style=\"margin-right:10px\" matTooltip=\"Disable\" matTooltipPosition=\"above\"> <mat-icon>block</mat-icon></button>\r\n <button *ngIf=\"user.disabled=='1'\" mat-mini-fab (click)=\"enable(user)\" style=\"margin-right:10px; background-color: green\" matTooltip=\"Enable\" matTooltipPosition=\"above\"> <mat-icon>done</mat-icon></button>\r\n\r\n <button mat-mini-fab color=\"warn\" (click)=\"deleteUser(user)\" style=\"margin-right:10px\" matTooltip=\"Delete\" matTooltipPosition=\"above\"> <mat-icon>delete</mat-icon></button>\r\n <!-- <button mat-mini-fab color=\"primary\" (click)=\"recover(user)\" style=\"margin-right:10px\" matTooltip=\"Reset Password\" matTooltipPosition=\"above\"> <mat-icon>vpn_key</mat-icon></button> -->\r\n\r\n\r\n\r\n </td>\r\n </ng-container>\r\n\r\n\r\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\r\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\" [ngClass]=\"{'make-gray': row.disabled =='1'}\"></tr>\r\n\r\n </table>\r\n\r\n </div>\r\n\r\n <mat-paginator #usersPaginator [pageSizeOptions]=\"[10, 20, 50]\" showFirstLastButtons></mat-paginator>\r\n</div>\r\n",
126
- styles: [".mat-mini-fab{width:32px;height:32px}.mat-mini-fab mat-icon{font-size:16px;margin-top:-3px}.refreshIcon{font-size:22px!important;margin-top:-7px!important}.make-gray{background-color:#d3d3d3}"]
127
- })
128
- ], UsersComponent);
129
- export { UsersComponent };
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBa0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRTdELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFZMUQsSUFBYSxjQUFjLEdBQTNCLE1BQWEsY0FBYztJQUN6QixZQUFvQixXQUF3QixFQUFTLE1BQWMsRUFBVSxXQUF3QixFQUFVLFdBQXdCLEVBQVMsTUFBaUIsRUFBVSxjQUE4QjtRQUFyTCxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFTLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUFVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBVztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQVF6TSxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUc5QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUdqQixxQkFBcUI7UUFDckIscUJBQWdCLEdBQWEsQ0FBQyxRQUFRLEVBQUUs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QVUsRUFBRSxDQUFDO3FCQUVuQjt5QkFBTTt3QkFDTCxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO3FCQUM1RDtnQkFDSCxDQUFDLEVBQ0QsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDUixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO29CQUNoRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztnQkFDNUIsQ0FBQyxDQUNGLENBQUM7YUFFSDtRQUNILENBQUMsQ0FBQyxDQUFBO0lBSUgsQ0FBQztDQUVELENBQUE7O1lBNUlrQyxXQUFXO1lBQWlCLE1BQU07WUFBdUIsV0FBVztZQUF1QixXQUFXO1lBQWlCLFNBQVM7WUFBMEIsY0FBYzs7QUFTNUs7SUFBNUIsU0FBUyxDQUFDLGdCQUFnQixDQUFDO3NEQUE4QjtBQVYvQyxjQUFjO0lBTDFCLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxXQUFXO1FBQ3JCLHl2SkFBcUM7O0tBRXRDLENBQUM7R0FDVyxjQUFjLENBNkkxQjtTQTdJWSxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlLCBDb3JlLEh0dHBTZXJ2aWNlIH0gZnJvbSBcInRpbi1jb3JlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBZGRVc2VyRGlhbG9nIH0gZnJvbSAnLi9hZGRVc2VyRGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEVkaXRVc2VyRGlhbG9nIH0gZnJvbSAnLi9lZGl0VXNlckRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic3BhLXVzZXJzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91c2Vycy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91c2Vycy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgICB0aGlzLlVwZGF0ZURhdGEoKTtcclxuXHJcbiAgfVxyXG5cclxuICBpc1Byb2Nlc3Npbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBAVmlld0NoaWxkKFwidXNlcnNQYWdpbmF0b3JcIikgdXNlcnNQYWdpbmF0b3I6IE1hdFBhZ2luYXRvcjtcclxuXHJcbiAgX2ZpbHRlclRleHQgPSBcIlwiO1xyXG5cclxuICB1c2VycztcclxuICAvLyBwdWJsaWMgbXlSZXNwb25zZTtcclxuICBkaXNwbGF5ZWRDb2x1bW5zOiBzdHJpbmdbXSA9IFtcInVzZXJJRFwiLCBcImZ1bGxOYW1lXCIsIFwicm9sZU5hbWVcIiwgXCJsb2NrZWRcIiwgXCJkYXRlQ3JlYXRlZFwiLCBcIkFjdGlvblwiXTtcclxuXHJcbiAgcHVibGljIFVwZGF0ZURhdGEoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFVzZXIoXCJhbGxcIixcIlwiKS5zdWJzY3JpYmUoXHJcbiAgICAgIChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAvL3RoaXMubXlEYXRhID0gYXBpUmVzcG9uc2U7XHJcbiAgICAgICAgdGhpcy51c2VycyA9IG5ldyBNYXRUYWJsZURhdGFTb3VyY2UoYXBpUmVzcG9uc2UuZHQpO1xyXG4gICAgICAgIHRoaXMudXNlcnMucGFnaW5hdG9yID0gdGhpcy51c2Vyc1BhZ2luYXRvcjtcclxuICAgICAgICB0aGlzLmFwcGx5RmlsdGVyKHRoaXMuX2ZpbHRlclRleHQpO1xyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy51c2Vycy5maWx0ZXIgPSBmaWx0ZXJWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFjY291bnQoKSB7XHJcblxyXG4gICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImhvbWUvYWRtaW4vY3JlYXRlLWFjY291bnRcIl0pO1xyXG5cclxuICB9XHJcblxyXG4gIHZpZXdQcm9maWxlKHVzZXI6IFVzZXIpIHtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnRtcFByb2ZpbGVVc2VySUQgPSB1c2VyLnVzZXJJRDtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcImhvbWUvdXNlci9wcm9maWxlXCJdKTtcclxuXHJcbiB9XHJcblxyXG4gbG9jayh1OiBVc2VyKXtcclxuICB1LmxvY2tlZCA9IFwiMVwiO1xyXG4gIHRoaXMudXBkYXRlVXNlcih1KTtcclxuIH1cclxuXHJcbiB1bmxvY2sodTogVXNlcil7XHJcbiAgdS5sb2NrZWQgPSBcIjBcIjtcclxuICB1LnRyaWVzID0gXCIwXCI7XHJcbiAgdGhpcy51cGRhdGVVc2VyKHUpO1xyXG4gfVxyXG5cclxuIGVuYWJsZSh1OiBVc2VyKXtcclxuICB1LmRpc2FibGVkID0gXCIwXCI7XHJcbiAgdGhpcy51cGRhdGVVc2VyKHUpO1xyXG4gfVxyXG5cclxuIGRpc2FibGUodTogVXNlcil7XHJcbiAgdS5kaXNhYmxlZCA9IFwiMVwiO1xyXG4gIHRoaXMudXBkYXRlVXNlcih1KTtcclxuIH1cclxuXHJcbiByZWNvdmVyKHU6IFVzZXIpe1xyXG5cclxuXHJcblxyXG4gIHRoaXMuZGF0YVNlcnZpY2UuU2VsZlJlc2V0KHUpLnN1YnNjcmliZSgoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiVGhlIHBhc3N3b3JkIGhhcyBiZWVuIHNlbnQgb24gZW1haWxcIik7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG59XHJcblxyXG4gdXBkYXRlVXNlcih1c2VyKXtcclxuICB0aGlzLmlzUHJvY2Vzc2luZyA9IHRydWU7XHJcbiAgdGhpcy5kYXRhU2VydmljZS5VcGRhdGVVc2VyKHVzZXIsIFwiZWRpdFwiKS5zdWJzY3JpYmUoXHJcbiAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIFVwZGF0ZWRcIik7XHJcblxyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG5cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAoZXJyb3IpID0+IHtcclxuICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkIFwiKTtcclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICApO1xyXG4gfVxyXG5cclxuIGRlbGV0ZVVzZXIodXNlcjogVXNlcil7XHJcblxyXG5cclxuICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmNvbmZpcm0oYERlbGV0ZSAke3VzZXIudXNlcklEfSA/YCkuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcclxuXHJcbiAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpe1xyXG5cclxuICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmRhdGFTZXJ2aWNlLlVwZGF0ZVVzZXIodXNlciwgXCJkZWxldGVcIikuc3Vic2NyaWJlKFxyXG4gICAgICAgIChhcGlSZXNwb25zZTogQXBpUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgaWYgKGFwaVJlc3BvbnNlLm1lc3NhZ2UgPT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVzZXIgRGVsZXRlZFwiKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG5cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZS5tZXNzYWdlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnJvcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkIFwiKTtcclxuICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG5cclxuICAgIH1cclxuICB9KVxyXG5cclxuXHJcblxyXG4gfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4iXX0=
322
+ }
323
+ UsersComponent.ɵfac = function UsersComponent_Factory(t) { return new (t || UsersComponent)(i0.ɵɵdirectiveInject(i1.HttpService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i3.AuthService), i0.ɵɵdirectiveInject(i4.DataServiceLib), i0.ɵɵdirectiveInject(i5.MatDialog), i0.ɵɵdirectiveInject(i6.MessageService)); };
324
+ UsersComponent.ɵcmp = i0.ɵɵdefineComponent({ type: UsersComponent, selectors: [["spa-users"]], viewQuery: function UsersComponent_Query(rf, ctx) { if (rf & 1) {
325
+ i0.ɵɵviewQuery(_c0, true);
326
+ } if (rf & 2) {
327
+ var _t;
328
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.usersPaginator = _t.first);
329
+ } }, decls: 14, vars: 5, consts: [[1, "container"], [1, "row", "justify-content-between", 2, "padding-bottom", "10px"], [1, "col-2"], ["id", "btnCreateAccount", "mat-raised-button", "", "color", "primary", 3, "click"], [1, "d-flex", "justify-content-end"], [3, "data", "refreshClick"], [4, "ngIf"], ["class", "mat-elevation-z8", 4, "ngIf"], ["showFirstLastButtons", "", 3, "pageSizeOptions"], ["usersPaginator", ""], [1, "mat-elevation-z8"], ["id", "tblTable", "mat-table", "", 3, "dataSource"], ["matColumnDef", "userName"], ["mat-header-cell", "", 4, "matHeaderCellDef"], ["mat-cell", "", 4, "matCellDef"], ["matColumnDef", "locked"], ["matColumnDef", "fullName"], ["matColumnDef", "roleName"], ["matColumnDef", "disabled"], ["matColumnDef", "dateCreated"], ["matColumnDef", "dateUpdated"], ["matColumnDef", "Action"], ["mat-cell", "", "style", "width: 250px;", 4, "matCellDef"], ["mat-header-row", "", 4, "matHeaderRowDef"], ["mat-row", "", 3, "ngClass", 4, "matRowDef", "matRowDefColumns"], ["mat-header-cell", ""], ["mat-cell", ""], ["mat-cell", "", 2, "width", "250px"], ["mat-mini-fab", "", "color", "primary", "matTooltip", "View Profile", "matTooltipPosition", "above", 2, "margin-right", "30px", 3, "click"], ["mat-mini-fab", "", "color", "warn", "style", "margin-right:10px", "matTooltip", "Lock", "matTooltipPosition", "above", 3, "click", 4, "ngIf"], ["mat-mini-fab", "", "style", "margin-right:10px; background-color: green;", "matTooltip", "Unlock", "matTooltipPosition", "above", 3, "click", 4, "ngIf"], ["mat-mini-fab", "", "color", "warn", "matTooltip", "Delete", "matTooltipPosition", "above", 2, "margin-right", "10px", 3, "click"], ["mat-mini-fab", "", "color", "warn", "matTooltip", "Lock", "matTooltipPosition", "above", 2, "margin-right", "10px", 3, "click"], ["mat-mini-fab", "", "matTooltip", "Unlock", "matTooltipPosition", "above", 2, "margin-right", "10px", "background-color", "green", 3, "click"], ["mat-header-row", ""], ["mat-row", "", 3, "ngClass"]], template: function UsersComponent_Template(rf, ctx) { if (rf & 1) {
330
+ i0.ɵɵelementStart(0, "h4");
331
+ i0.ɵɵtext(1, "Users");
332
+ i0.ɵɵelementEnd();
333
+ i0.ɵɵelement(2, "hr");
334
+ i0.ɵɵelementStart(3, "div", 0);
335
+ i0.ɵɵelementStart(4, "div", 1);
336
+ i0.ɵɵelementStart(5, "div", 2);
337
+ i0.ɵɵelementStart(6, "button", 3);
338
+ i0.ɵɵlistener("click", function UsersComponent_Template_button_click_6_listener() { return ctx.createAccount(); });
339
+ i0.ɵɵtext(7, "Create Account");
340
+ i0.ɵɵelementEnd();
341
+ i0.ɵɵelementEnd();
342
+ i0.ɵɵelementStart(8, "div", 4);
343
+ i0.ɵɵelementStart(9, "spa-filter", 5);
344
+ i0.ɵɵlistener("refreshClick", function UsersComponent_Template_spa_filter_refreshClick_9_listener() { return ctx.UpdateData(); });
345
+ i0.ɵɵelementEnd();
346
+ i0.ɵɵelementEnd();
347
+ i0.ɵɵelementEnd();
348
+ i0.ɵɵtemplate(10, UsersComponent_p_10_Template, 3, 0, "p", 6);
349
+ i0.ɵɵtemplate(11, UsersComponent_div_11_Template, 28, 3, "div", 7);
350
+ i0.ɵɵelement(12, "mat-paginator", 8, 9);
351
+ i0.ɵɵelementEnd();
352
+ } if (rf & 2) {
353
+ i0.ɵɵadvance(9);
354
+ i0.ɵɵproperty("data", ctx.users);
355
+ i0.ɵɵadvance(1);
356
+ i0.ɵɵproperty("ngIf", !ctx.users);
357
+ i0.ɵɵadvance(1);
358
+ i0.ɵɵproperty("ngIf", ctx.users);
359
+ i0.ɵɵadvance(1);
360
+ i0.ɵɵproperty("pageSizeOptions", i0.ɵɵpureFunction0(4, _c2));
361
+ } }, directives: [i7.MatButton, i8.FilterComponent, i9.NgIf, i10.MatPaginator, i11.MatTable, i11.MatColumnDef, i11.MatHeaderCellDef, i11.MatCellDef, i11.MatHeaderRowDef, i11.MatRowDef, i11.MatHeaderCell, i11.MatCell, i12.MatTooltip, i13.MatIcon, i11.MatHeaderRow, i11.MatRow, i9.NgClass], pipes: [i9.DatePipe], styles: [".mat-mini-fab[_ngcontent-%COMP%]{width:32px;height:32px}.mat-mini-fab[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%]{font-size:16px;margin-top:-3px}.refreshIcon[_ngcontent-%COMP%]{font-size:22px!important;margin-top:-7px!important}.make-gray[_ngcontent-%COMP%]{background-color:#d3d3d3}"] });
362
+ /*@__PURE__*/ (function () { i0.ɵsetClassMetadata(UsersComponent, [{
363
+ type: Component,
364
+ args: [{
365
+ selector: "spa-users",
366
+ templateUrl: "./users.component.html",
367
+ styleUrls: ["./users.component.css"],
368
+ }]
369
+ }], function () { return [{ type: i1.HttpService }, { type: i2.Router }, { type: i3.AuthService }, { type: i4.DataServiceLib }, { type: i5.MatDialog }, { type: i6.MessageService }]; }, { usersPaginator: [{
370
+ type: ViewChild,
371
+ args: ["usersPaginator"]
372
+ }] }); })();
373
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vdGluLXNwYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyIsImxpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWtCLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNnQjNELHlCQUFrQjtJQUFBLDBCQUFJO0lBQUEsMEJBQVU7SUFBQSxpQkFBSztJQUFBLGlCQUFJOzs7SUFRbkMsOEJBQXVDO0lBQUEsMEJBQVM7SUFBQSxpQkFBSzs7O0lBQ3JELDhCQUFxQztJQUFBLFlBQWtCO0lBQUEsaUJBQUs7OztJQUF2QixlQUFrQjtJQUFsQixrREFBa0I7OztJQUl2RCw4QkFBdUM7SUFBQSx3QkFBTztJQUFBLGlCQUFLOzs7SUFDbkQsOEJBQXFDO0lBQUEsWUFBZ0I7SUFBQSxpQkFBSzs7O0lBQXJCLGVBQWdCO0lBQWhCLGdEQUFnQjs7O0lBSXJELDhCQUF1QztJQUFBLHNCQUFLO0lBQUEsaUJBQUs7OztJQUNqRCw4QkFBcUM7SUFBQSxZQUFxQztJQUFBLGlCQUFLOzs7SUFBMUMsZUFBcUM7SUFBckMsMkVBQXFDOzs7SUFJMUUsOEJBQXVDO0lBQUEsc0JBQUs7SUFBQSxpQkFBSzs7O0lBQ2pELDhCQUFxQztJQUFBLFlBQXVCO0lBQUEsaUJBQUs7OztJQUE1QixlQUF1QjtJQUF2Qix1REFBdUI7OztJQUk1RCw4QkFBdUM7SUFBQSwwQkFBUztJQUFBLGlCQUFLOzs7SUFDckQsOEJBQXFDO0lBQUEsWUFBa0I7SUFBQSxpQkFBSzs7O0lBQXZCLGVBQWtCO0lBQWxCLGtEQUFrQjs7O0lBSXZELDhCQUF1QztJQUFBLHlCQUFRO0lBQUEsaUJB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bkgsaUJBQU07UUFFTiw4QkFDRTtRQUFBLHFDQUFzRTtRQUEzQyw2R0FBZ0IsZ0JBQVksSUFBQztRQUFDLGlCQUFhO1FBQ3hFLGlCQUFNO1FBQ1IsaUJBQU07UUFHTiw2REFBa0I7UUFHbEIsa0VBRUU7UUFrRUYsdUNBQXFHO1FBQ3ZHLGlCQUFNOztRQTdFWSxlQUFjO1FBQWQsZ0NBQWM7UUFLM0IsZUFBYztRQUFkLGlDQUFjO1FBR2EsZUFBYTtRQUFiLGdDQUFhO1FBb0VaLGVBQWdDO1FBQWhDLDREQUFnQzs7a0REdkVwRCxjQUFjO2NBTDFCLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIsV0FBVyxFQUFFLHdCQUF3QjtnQkFDckMsU0FBUyxFQUFFLENBQUMsdUJBQXVCLENBQUM7YUFDckM7O2tCQVVFLFNBQVM7bUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEluamVjdCwgVmlld0NoaWxkIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL3RhYmxlXCI7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9wYWdpbmF0b3JcIjtcclxuaW1wb3J0IHsgTWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQSB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2dcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2VMaWIgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvbWVzc2FnZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZVwiO1xyXG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9DbGFzc2VzJztcclxuaW1wb3J0IHsgSHR0cFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvaHR0cC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IEFwaVJlc3BvbnNlIH0gZnJvbSBcIi4uLy4uL2NsYXNzZXMvVGluQ29yZVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwic3BhLXVzZXJzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi91c2Vycy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi91c2Vycy5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cFNlcnZpY2U6IEh0dHBTZXJ2aWNlLCBwdWJsaWMgcm91dGVyOiBSb3V0ZXIsIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLCBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZUxpYiwgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLCBwcml2YXRlIG1lc3NhZ2VTZXJ2aWNlOiBNZXNzYWdlU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5pc0F1dGhvcmlzZWQodGhpcy5kYXRhU2VydmljZS5jYXBVc2Vycy5uYW1lKTtcclxuICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgaXNQcm9jZXNzaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQFZpZXdDaGlsZChcInVzZXJzUGFnaW5hdG9yXCIpIHVzZXJzUGFnaW5hdG9yOiBNYXRQYWdpbmF0b3I7XHJcblxyXG4gIF9maWx0ZXJUZXh0ID0gXCJcIjtcclxuXHJcbiAgdXNlcnM7XHJcbiAgZGlzcGxheWVkQ29sdW1uczogc3RyaW5nW10gPSBbXCJ1c2VyTmFtZVwiLCBcImZ1bGxOYW1lXCIsIFwicm9sZU5hbWVcIiwgXCJsb2NrZWRcIiwgXCJkYXRlQ3JlYXRlZFwiLCBcIkFjdGlvblwiXTtcclxuXHJcbiAgcHVibGljIFVwZGF0ZURhdGEoKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLkdldFVzZXIoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChhcGlSZXNwb25zZSkgPT4ge1xyXG5cclxuICAgICAgICB0aGlzLnVzZXJzID0gbmV3IE1hdFRhYmxlRGF0YVNvdXJjZShhcGlSZXNwb25zZSk7XHJcbiAgICAgICAgdGhpcy51c2Vycy5wYWdpbmF0b3IgPSB0aGlzLnVzZXJzUGFnaW5hdG9yO1xyXG4gICAgICAgIHRoaXMuYXBwbHlGaWx0ZXIodGhpcy5fZmlsdGVyVGV4dCk7XHJcblxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLmlzUHJvY2Vzc2luZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QodGhpcy5odHRwU2VydmljZS5FcnJvcihlcnJvcikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlGaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy51c2Vycy5maWx0ZXIgPSBmaWx0ZXJWYWx1ZS50cmltKCkudG9Mb3dlckNhc2UoKTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUFjY291bnQoKSB7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL2FkbWluL2NyZWF0ZS1hY2NvdW50XCJdKTtcclxuICB9XHJcblxyXG4gIHZpZXdQcm9maWxlKHVzZXI6IFVzZXIpIHtcclxuXHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLnRtcFByb2ZpbGV1c2VyTmFtZSA9IHVzZXIudXNlck5hbWU7XHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXCJob21lL3VzZXIvcHJvZmlsZVwiXSk7XHJcblxyXG4gIH1cclxuXHJcbiAgbG9jayh1KSB7XHJcbiAgICBsZXQgbG9naW4gPSB7IHVzZXJOYW1lOiB1LnVzZXJOYW1lLCBwYXNzd29yZDogXCJBYmNkZWZAMTIzXCIgfVxyXG5cclxuICAgIHRoaXMuZGF0YVNlcnZpY2UuTG9ja1VzZXIobG9naW4pLnN1YnNjcmliZSgoYXBpUmVzcG9uc2UpID0+IHtcclxuXHJcbiAgICAgIGlmIChhcGlSZXNwb25zZS5zdWNjZXNzKSB7XHJcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIlVzZXIgTG9ja2VkXCIpO1xyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdW5sb2NrKHUpIHtcclxuICAgIGxldCBsb2dpbiA9IHsgdXNlck5hbWU6IHUudXNlck5hbWUsIHBhc3N3b3JkOiBcIkFiY2RlZkAxMjNcIiB9XHJcblxyXG4gICAgdGhpcy5kYXRhU2VydmljZS5VbmxvY2tVc2VyKGxvZ2luKS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlKSA9PiB7XHJcblxyXG4gICAgICBpZiAoYXBpUmVzcG9uc2Uuc3VjY2Vzcykge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIFVubG9ja2VkXCIpO1xyXG4gICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJFcnJvcjogXCIgKyBhcGlSZXNwb25zZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcmVjb3Zlcih1OiBVc2VyKSB7XHJcbiAgICB0aGlzLmRhdGFTZXJ2aWNlLlNlbGZSZXNldCh1KS5zdWJzY3JpYmUoKGFwaVJlc3BvbnNlOiBBcGlSZXNwb25zZSkgPT4ge1xyXG4gICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJUaGUgcGFzc3dvcmQgaGFzIGJlZW4gc2VudCBvbiBlbWFpbFwiKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIGRlbGV0ZVVzZXIodXNlcjogVXNlcikge1xyXG5cclxuICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuY29uZmlybShgRGVsZXRlICR7dXNlci51c2VyTmFtZX0gP2ApLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcblxyXG4gICAgICBpZiAocmVzdWx0ID09IFwieWVzXCIpIHtcclxuXHJcbiAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuZGF0YVNlcnZpY2UuRGVsZXRlVXNlcih1c2VyKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAoYXBpUmVzcG9uc2U6IEFwaVJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcblxyXG4gICAgICAgICAgICBpZiAoYXBpUmVzcG9uc2UubWVzc2FnZSA9PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UudG9hc3QoXCJVc2VyIERlbGV0ZWRcIik7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuVXBkYXRlRGF0YSgpO1xyXG5cclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLnRvYXN0KFwiRXJyb3I6IFwiICsgYXBpUmVzcG9uc2UubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS50b2FzdChcIkNvbm5lY3Rpb24gZmFpbGVkIFwiKTtcclxuICAgICAgICAgICAgdGhpcy5pc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG5cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbiIsIlxyXG48aDQ+VXNlcnM8L2g0PlxyXG48aHIgLz5cclxuXHJcbjxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDEwcHhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtMlwiPlxyXG4gICAgICA8YnV0dG9uIGlkPVwiYnRuQ3JlYXRlQWNjb3VudFwiIG1hdC1yYWlzZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJjcmVhdGVBY2NvdW50KClcIj5DcmVhdGUgQWNjb3VudDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XHJcbiAgICAgIDxzcGEtZmlsdGVyIFtkYXRhXT1cInVzZXJzXCIgKHJlZnJlc2hDbGljayk9XCJVcGRhdGVEYXRhKClcIj48L3NwYS1maWx0ZXI+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcblxyXG4gIDxwICpuZ0lmPVwiIXVzZXJzXCI+PGVtPkxvYWRpbmcuLi48L2VtPjwvcD5cclxuXHJcblxyXG4gIDxkaXYgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXo4XCIgKm5nSWY9XCJ1c2Vyc1wiPlxyXG5cclxuICAgIDx0YWJsZSBpZD1cInRibFRhYmxlXCIgbWF0LXRhYmxlIFtkYXRhU291cmNlXT1cInVzZXJzXCI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVzZXJOYW1lXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gdXNlck5hbWUgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiPiB7e3VzZXIudXNlck5hbWV9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibG9ja2VkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gTG9ja2VkIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHVzZXJcIj4ge3t1c2VyLmxvY2tlZH19IDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJmdWxsTmFtZVwiPlxyXG4gICAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+IE5hbWUgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiPiB7e3VzZXIuZmlyc3ROYW1lfX0ge3t1c2VyLmxhc3ROYW1lfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInJvbGVOYW1lXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gUm9sZSA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCI+IHt7dXNlci5yb2xlLnJvbGVOYW1lfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRpc2FibGVkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gRGlzYWJsZWQgPC90aD5cclxuICAgICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgdXNlclwiPiB7e3VzZXIuZGlzYWJsZWR9fSA8L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiZGF0ZUNyZWF0ZWRcIj5cclxuICAgICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBDcmVhdGVkIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHVzZXJcIj4ge3t1c2VyLmNyZWF0ZWREYXRlIHwgZGF0ZTogJ2RkL01NL3l5eXknfX0gPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImRhdGVVcGRhdGVkXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gVXBkYXRlZCA8L3RoPlxyXG4gICAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCB1c2VyXCI+IHt7dXNlci51cGRhdGVkRGF0ZSB8IGRhdGU6ICdkZC9NTS95eXl5J319IDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiQWN0aW9uXCI+XHJcbiAgICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gQWN0aW9uIDwvdGg+XHJcbiAgICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHVzZXJcIiBzdHlsZT1cIndpZHRoOiAyNTBweDtcIj5cclxuXHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwidmlld1Byb2ZpbGUodXNlcilcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDozMHB4XCIgbWF0VG9vbHRpcD1cIlZpZXcgUHJvZmlsZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+IDxtYXQtaWNvbj5hY2NvdW50X2NpcmNsZTwvbWF0LWljb24+PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cInVzZXIubG9ja2VkPT0nMCdcIiBtYXQtbWluaS1mYWIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImxvY2sodXNlcilcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4XCIgbWF0VG9vbHRpcD1cIkxvY2tcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiA8bWF0LWljb24+bG9jazwvbWF0LWljb24+PC9idXR0b24+XHJcbiAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwidXNlci5sb2NrZWQ9PScxJ1wiIG1hdC1taW5pLWZhYiAgKGNsaWNrKT1cInVubG9jayh1c2VyKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuO1wiIG1hdFRvb2x0aXA9XCJVbmxvY2tcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiA8bWF0LWljb24gPmxvY2tfb3BlbjwvbWF0LWljb24+PC9idXR0b24+XHJcblxyXG4gICAgICAgICAgPCEtLSA8YnV0dG9uICpuZ0lmPVwidXNlci5kaXNhYmxlZD09JzAnXCIgbWF0LW1pbmktZmFiIGNvbG9yPVwid2FyblwiIChjbGljayk9XCJkaXNhYmxlKHVzZXIpXCIgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6MTBweFwiIG1hdFRvb2x0aXA9XCJEaXNhYmxlXCIgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIj4gPG1hdC1pY29uPmJsb2NrPC9tYXQtaWNvbj48L2J1dHRvbj5cclxuICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJ1c2VyLmRpc2FibGVkPT0nMSdcIiBtYXQtbWluaS1mYWIgKGNsaWNrKT1cImVuYWJsZSh1c2VyKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuXCIgbWF0VG9vbHRpcD1cIkVuYWJsZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+IDxtYXQtaWNvbj5kb25lPC9tYXQtaWNvbj48L2J1dHRvbj4gLS0+XHJcblxyXG4gICAgICAgICAgPGJ1dHRvbiBtYXQtbWluaS1mYWIgY29sb3I9XCJ3YXJuXCIgKGNsaWNrKT1cImRlbGV0ZVVzZXIodXNlcilcIiBzdHlsZT1cIm1hcmdpbi1yaWdodDoxMHB4XCIgbWF0VG9vbHRpcD1cIkRlbGV0ZVwiIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+IDxtYXQtaWNvbj5kZWxldGU8L21hdC1pY29uPjwvYnV0dG9uPlxyXG4gICAgICAgICAgPCEtLSA8YnV0dG9uIG1hdC1taW5pLWZhYiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwicmVjb3Zlcih1c2VyKVwiIHN0eWxlPVwibWFyZ2luLXJpZ2h0OjEwcHhcIiBtYXRUb29sdGlwPVwiUmVzZXQgUGFzc3dvcmRcIiBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiPiA8bWF0LWljb24+dnBuX2tleTwvbWF0LWljb24+PC9idXR0b24+IC0tPlxyXG5cclxuXHJcblxyXG4gICAgICAgIDwvdGQ+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XHJcbiAgICAgIDx0ciBtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOiBkaXNwbGF5ZWRDb2x1bW5zO1wiIFtuZ0NsYXNzXT1cInsnbWFrZS1ncmF5Jzogcm93LmRpc2FibGVkID09JzEnfVwiPjwvdHI+XHJcblxyXG4gICAgPC90YWJsZT5cclxuXHJcbiAgPC9kaXY+XHJcblxyXG4gIDxtYXQtcGFnaW5hdG9yICN1c2Vyc1BhZ2luYXRvciBbcGFnZVNpemVPcHRpb25zXT1cIlsxMCwgMjAsIDUwXVwiIHNob3dGaXJzdExhc3RCdXR0b25zPjwvbWF0LXBhZ2luYXRvcj5cclxuPC9kaXY+XHJcbiJdfQ==