tango-app-ui-manage-tickets 3.7.0-beta.70 → 3.7.0-beta.72

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 (177) hide show
  1. package/esm2022/lib/components/add-csm-modal/add-csm-modal.component.mjs +98 -0
  2. package/esm2022/lib/components/audit-log/audit-log.component.mjs +11 -0
  3. package/esm2022/lib/components/audit-mapping-list/audit-mapping-list.component.mjs +498 -0
  4. package/esm2022/lib/components/audit-metrics/audit-metrics.component.mjs +298 -0
  5. package/esm2022/lib/components/audit-report-popup/audit-report-popup.component.mjs +389 -0
  6. package/esm2022/lib/components/audit-retag/audit-retag.component.mjs +480 -0
  7. package/esm2022/lib/components/comment-model/comment-model.component.mjs +58 -0
  8. package/esm2022/lib/components/count/count.component.mjs +89 -0
  9. package/esm2022/lib/components/custom-select/custom-select.component.mjs +187 -0
  10. package/esm2022/lib/components/filter-options/filter-options.component.mjs +41 -0
  11. package/esm2022/lib/components/footfall-dic/footfall-dic.component.mjs +1061 -0
  12. package/esm2022/lib/components/footfall-dicview/footfall-dicview.component.mjs +1014 -0
  13. package/esm2022/lib/components/footfall-popup/footfall-popup.component.mjs +15 -0
  14. package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
  15. package/esm2022/lib/components/re-trigger/re-trigger.component.mjs +96 -0
  16. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +108 -0
  17. package/esm2022/lib/components/remove-audit/remove-audit.component.mjs +81 -0
  18. package/esm2022/lib/components/start-audit/start-audit.component.mjs +758 -0
  19. package/esm2022/lib/components/tango-manage-tickets/tango-manage-tickets.component.mjs +131 -0
  20. package/esm2022/lib/components/ticket-filter-panel/ticket-filter-panel.component.mjs +435 -0
  21. package/esm2022/lib/components/ticket-footfall-new/ticket-footfall-new.component.mjs +2511 -0
  22. package/esm2022/lib/components/ticketclosepopup/ticketclosepopup.component.mjs +43 -0
  23. package/esm2022/lib/components/tickets/tickets.component.mjs +847 -0
  24. package/esm2022/lib/components/viewcategory/viewcategory.component.mjs +89 -0
  25. package/esm2022/lib/services/audit.service.mjs +88 -0
  26. package/esm2022/lib/services/excel.service.mjs +45 -0
  27. package/esm2022/lib/services/ticket.service.mjs +319 -0
  28. package/esm2022/lib/services/timer.service.mjs +84 -0
  29. package/esm2022/lib/tango-manage-tickets-routing.module.mjs +44 -0
  30. package/esm2022/lib/tango-manage-tickets.module.mjs +109 -0
  31. package/esm2022/public-api.mjs +6 -0
  32. package/esm2022/tango-app-ui-manage-tickets.mjs +5 -0
  33. package/fesm2022/tango-app-ui-manage-tickets.mjs +9945 -0
  34. package/fesm2022/tango-app-ui-manage-tickets.mjs.map +1 -0
  35. package/index.d.ts +5 -0
  36. package/lib/components/add-csm-modal/add-csm-modal.component.d.ts +30 -0
  37. package/lib/components/audit-log/audit-log.component.d.ts +5 -0
  38. package/lib/components/audit-mapping-list/audit-mapping-list.component.d.ts +73 -0
  39. package/lib/components/audit-metrics/audit-metrics.component.d.ts +59 -0
  40. package/lib/components/audit-report-popup/audit-report-popup.component.d.ts +52 -0
  41. package/lib/components/audit-retag/audit-retag.component.d.ts +59 -0
  42. package/lib/components/comment-model/comment-model.component.d.ts +17 -0
  43. package/lib/components/count/count.component.d.ts +23 -0
  44. package/lib/components/custom-select/custom-select.component.d.ts +35 -0
  45. package/lib/components/filter-options/filter-options.component.d.ts +15 -0
  46. package/lib/components/footfall-dic/footfall-dic.component.d.ts +143 -0
  47. package/lib/components/footfall-dicview/footfall-dicview.component.d.ts +132 -0
  48. package/lib/components/footfall-popup/footfall-popup.component.d.ts +8 -0
  49. package/lib/components/group-select/group-select.component.d.ts +33 -0
  50. package/lib/components/re-trigger/re-trigger.component.d.ts +32 -0
  51. package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
  52. package/lib/components/remove-audit/remove-audit.component.d.ts +16 -0
  53. package/lib/components/start-audit/start-audit.component.d.ts +86 -0
  54. package/lib/components/tango-manage-tickets/tango-manage-tickets.component.d.ts +28 -0
  55. package/lib/components/ticket-filter-panel/ticket-filter-panel.component.d.ts +79 -0
  56. package/lib/components/ticket-footfall-new/ticket-footfall-new.component.d.ts +293 -0
  57. package/lib/components/ticketclosepopup/ticketclosepopup.component.d.ts +15 -0
  58. package/lib/components/tickets/tickets.component.d.ts +88 -0
  59. package/lib/components/viewcategory/viewcategory.component.d.ts +16 -0
  60. package/lib/services/audit.service.d.ts +36 -0
  61. package/lib/services/excel.service.d.ts +10 -0
  62. package/lib/services/ticket.service.d.ts +87 -0
  63. package/lib/services/timer.service.d.ts +22 -0
  64. package/lib/tango-manage-tickets-routing.module.d.ts +7 -0
  65. package/lib/tango-manage-tickets.module.d.ts +38 -0
  66. package/package.json +25 -12
  67. package/{src/public-api.ts → public-api.d.ts} +2 -8
  68. package/.eslintrc.json +0 -37
  69. package/ng-package.json +0 -7
  70. package/src/lib/components/add-csm-modal/add-csm-modal.component.html +0 -32
  71. package/src/lib/components/add-csm-modal/add-csm-modal.component.scss +0 -14
  72. package/src/lib/components/add-csm-modal/add-csm-modal.component.spec.ts +0 -23
  73. package/src/lib/components/add-csm-modal/add-csm-modal.component.ts +0 -94
  74. package/src/lib/components/audit-log/audit-log.component.html +0 -1
  75. package/src/lib/components/audit-log/audit-log.component.scss +0 -0
  76. package/src/lib/components/audit-log/audit-log.component.spec.ts +0 -23
  77. package/src/lib/components/audit-log/audit-log.component.ts +0 -10
  78. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.html +0 -234
  79. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.scss +0 -186
  80. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.spec.ts +0 -23
  81. package/src/lib/components/audit-mapping-list/audit-mapping-list.component.ts +0 -536
  82. package/src/lib/components/audit-metrics/audit-metrics.component.html +0 -345
  83. package/src/lib/components/audit-metrics/audit-metrics.component.scss +0 -34
  84. package/src/lib/components/audit-metrics/audit-metrics.component.spec.ts +0 -23
  85. package/src/lib/components/audit-metrics/audit-metrics.component.ts +0 -292
  86. package/src/lib/components/audit-report-popup/audit-report-popup.component.html +0 -111
  87. package/src/lib/components/audit-report-popup/audit-report-popup.component.scss +0 -101
  88. package/src/lib/components/audit-report-popup/audit-report-popup.component.spec.ts +0 -23
  89. package/src/lib/components/audit-report-popup/audit-report-popup.component.ts +0 -397
  90. package/src/lib/components/audit-retag/audit-retag.component.html +0 -129
  91. package/src/lib/components/audit-retag/audit-retag.component.scss +0 -146
  92. package/src/lib/components/audit-retag/audit-retag.component.spec.ts +0 -23
  93. package/src/lib/components/audit-retag/audit-retag.component.ts +0 -497
  94. package/src/lib/components/comment-model/comment-model.component.html +0 -24
  95. package/src/lib/components/comment-model/comment-model.component.scss +0 -20
  96. package/src/lib/components/comment-model/comment-model.component.spec.ts +0 -23
  97. package/src/lib/components/comment-model/comment-model.component.ts +0 -53
  98. package/src/lib/components/count/count.component.html +0 -54
  99. package/src/lib/components/count/count.component.scss +0 -14
  100. package/src/lib/components/count/count.component.spec.ts +0 -23
  101. package/src/lib/components/count/count.component.ts +0 -82
  102. package/src/lib/components/custom-select/custom-select.component.html +0 -134
  103. package/src/lib/components/custom-select/custom-select.component.scss +0 -204
  104. package/src/lib/components/custom-select/custom-select.component.spec.ts +0 -23
  105. package/src/lib/components/custom-select/custom-select.component.ts +0 -189
  106. package/src/lib/components/filter-options/filter-options.component.html +0 -51
  107. package/src/lib/components/filter-options/filter-options.component.scss +0 -102
  108. package/src/lib/components/filter-options/filter-options.component.spec.ts +0 -23
  109. package/src/lib/components/filter-options/filter-options.component.ts +0 -38
  110. package/src/lib/components/footfall-dic/footfall-dic.component.html +0 -1275
  111. package/src/lib/components/footfall-dic/footfall-dic.component.scss +0 -273
  112. package/src/lib/components/footfall-dic/footfall-dic.component.spec.ts +0 -23
  113. package/src/lib/components/footfall-dic/footfall-dic.component.ts +0 -1206
  114. package/src/lib/components/footfall-dicview/footfall-dicview.component.html +0 -1136
  115. package/src/lib/components/footfall-dicview/footfall-dicview.component.scss +0 -416
  116. package/src/lib/components/footfall-dicview/footfall-dicview.component.spec.ts +0 -23
  117. package/src/lib/components/footfall-dicview/footfall-dicview.component.ts +0 -1168
  118. package/src/lib/components/footfall-popup/footfall-popup.component.html +0 -61
  119. package/src/lib/components/footfall-popup/footfall-popup.component.scss +0 -20
  120. package/src/lib/components/footfall-popup/footfall-popup.component.spec.ts +0 -23
  121. package/src/lib/components/footfall-popup/footfall-popup.component.ts +0 -12
  122. package/src/lib/components/group-select/group-select.component.html +0 -44
  123. package/src/lib/components/group-select/group-select.component.scss +0 -144
  124. package/src/lib/components/group-select/group-select.component.spec.ts +0 -23
  125. package/src/lib/components/group-select/group-select.component.ts +0 -145
  126. package/src/lib/components/re-trigger/re-trigger.component.html +0 -53
  127. package/src/lib/components/re-trigger/re-trigger.component.scss +0 -16
  128. package/src/lib/components/re-trigger/re-trigger.component.spec.ts +0 -23
  129. package/src/lib/components/re-trigger/re-trigger.component.ts +0 -96
  130. package/src/lib/components/reactive-select/reactive-select.component.html +0 -18
  131. package/src/lib/components/reactive-select/reactive-select.component.scss +0 -52
  132. package/src/lib/components/reactive-select/reactive-select.component.spec.ts +0 -23
  133. package/src/lib/components/reactive-select/reactive-select.component.ts +0 -104
  134. package/src/lib/components/remove-audit/remove-audit.component.html +0 -38
  135. package/src/lib/components/remove-audit/remove-audit.component.scss +0 -27
  136. package/src/lib/components/remove-audit/remove-audit.component.spec.ts +0 -23
  137. package/src/lib/components/remove-audit/remove-audit.component.ts +0 -81
  138. package/src/lib/components/start-audit/start-audit.component.html +0 -174
  139. package/src/lib/components/start-audit/start-audit.component.scss +0 -185
  140. package/src/lib/components/start-audit/start-audit.component.spec.ts +0 -23
  141. package/src/lib/components/start-audit/start-audit.component.ts +0 -772
  142. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.html +0 -43
  143. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.scss +0 -35
  144. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.spec.ts +0 -23
  145. package/src/lib/components/tango-manage-tickets/tango-manage-tickets.component.ts +0 -118
  146. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.html +0 -386
  147. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.scss +0 -87
  148. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.spec.ts +0 -23
  149. package/src/lib/components/ticket-filter-panel/ticket-filter-panel.component.ts +0 -493
  150. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.html +0 -3751
  151. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.scss +0 -1240
  152. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.spec.ts +0 -23
  153. package/src/lib/components/ticket-footfall-new/ticket-footfall-new.component.ts +0 -2863
  154. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.html +0 -100
  155. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.scss +0 -34
  156. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.spec.ts +0 -23
  157. package/src/lib/components/ticketclosepopup/ticketclosepopup.component.ts +0 -48
  158. package/src/lib/components/tickets/tickets.component.html +0 -451
  159. package/src/lib/components/tickets/tickets.component.scss +0 -131
  160. package/src/lib/components/tickets/tickets.component.spec.ts +0 -23
  161. package/src/lib/components/tickets/tickets.component.ts +0 -809
  162. package/src/lib/components/viewcategory/viewcategory.component.html +0 -38
  163. package/src/lib/components/viewcategory/viewcategory.component.scss +0 -29
  164. package/src/lib/components/viewcategory/viewcategory.component.spec.ts +0 -23
  165. package/src/lib/components/viewcategory/viewcategory.component.ts +0 -79
  166. package/src/lib/services/audit.service.spec.ts +0 -16
  167. package/src/lib/services/audit.service.ts +0 -98
  168. package/src/lib/services/excel.service.ts +0 -48
  169. package/src/lib/services/ticket.service.spec.ts +0 -16
  170. package/src/lib/services/ticket.service.ts +0 -501
  171. package/src/lib/services/timer.service.spec.ts +0 -16
  172. package/src/lib/services/timer.service.ts +0 -92
  173. package/src/lib/tango-manage-tickets-routing.module.ts +0 -37
  174. package/src/lib/tango-manage-tickets.module.ts +0 -68
  175. package/tsconfig.lib.json +0 -14
  176. package/tsconfig.lib.prod.json +0 -10
  177. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,131 @@
1
+ import { Component } from '@angular/core';
2
+ import { Subject, takeUntil } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "tango-app-ui-global";
5
+ import * as i2 from "@angular/router";
6
+ import * as i3 from "../../services/ticket.service";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "../tickets/tickets.component";
9
+ import * as i6 from "../audit-metrics/audit-metrics.component";
10
+ import * as i7 from "../footfall-dic/footfall-dic.component";
11
+ import * as i8 from "../ticket-footfall-new/ticket-footfall-new.component";
12
+ export class TangoManageTicketsComponent {
13
+ pageInfo;
14
+ route;
15
+ router;
16
+ gs;
17
+ service;
18
+ SelectedTab = 'installation';
19
+ destroy$ = new Subject();
20
+ headerFilters;
21
+ ticketAllCount;
22
+ users;
23
+ constructor(pageInfo, route, router, gs, service) {
24
+ this.pageInfo = pageInfo;
25
+ this.route = route;
26
+ this.router = router;
27
+ this.gs = gs;
28
+ this.service = service;
29
+ }
30
+ clientData;
31
+ ngOnInit() {
32
+ const userData = JSON.parse(localStorage.getItem("user-info") || "{}");
33
+ this.users = userData;
34
+ const clientData = JSON.parse(localStorage.getItem("client-details") || "{}");
35
+ this.clientData = clientData;
36
+ this.route?.queryParams?.pipe(takeUntil(this.destroy$)).subscribe(params => {
37
+ if (params.hasOwnProperty('type')) {
38
+ const type = params['type'];
39
+ this.Selectedtabs(type);
40
+ }
41
+ else {
42
+ this.updateStoreIdQueryParam();
43
+ }
44
+ });
45
+ this.onLoad();
46
+ this.setPageData();
47
+ }
48
+ updateStoreIdQueryParam() {
49
+ const queryParams = { ...this.route?.snapshot?.queryParams };
50
+ // Update storeId in queryParams
51
+ queryParams.type = this.SelectedTab.toLocaleLowerCase();
52
+ // Navigate to the same route with updated queryParams
53
+ this.router.navigate([], { queryParams: queryParams, queryParamsHandling: 'merge' });
54
+ }
55
+ setPageData() {
56
+ this.pageInfo.setTitle('Tickets');
57
+ this.pageInfo.setDescription('Summary of queries raised,addresed & resolved');
58
+ let breadcrumbs = [];
59
+ if (this.gs.userAccess.value?.userType === "tango") {
60
+ breadcrumbs = [
61
+ {
62
+ title: "Manage",
63
+ path: "/manage/brands",
64
+ isActive: false,
65
+ isSeparator: false,
66
+ },
67
+ {
68
+ title: "Manage",
69
+ path: "/manage/brands",
70
+ isActive: false,
71
+ isSeparator: true,
72
+ },
73
+ ];
74
+ }
75
+ else if (this.gs.userAccess.value?.userType === "client") {
76
+ breadcrumbs = [
77
+ {
78
+ title: "Manage",
79
+ path: "/manage/summary",
80
+ isActive: false,
81
+ isSeparator: false,
82
+ },
83
+ {
84
+ title: "Manage",
85
+ path: "/manage/summary",
86
+ isActive: false,
87
+ isSeparator: true,
88
+ },
89
+ ];
90
+ }
91
+ this.pageInfo.setBreadcrumbs(breadcrumbs);
92
+ }
93
+ Selectedtabs(value) {
94
+ this.SelectedTab = value;
95
+ }
96
+ ngOnDestroy() {
97
+ this.destroy$.next(true);
98
+ this.destroy$.complete();
99
+ }
100
+ onLoad() {
101
+ this.gs.dataRangeValue?.pipe(takeUntil(this.destroy$))?.subscribe({
102
+ next: (data) => {
103
+ if (data) {
104
+ this.headerFilters = data;
105
+ this.getAllCount();
106
+ }
107
+ }
108
+ });
109
+ }
110
+ getAllCount() {
111
+ let obj = {
112
+ clientId: this.headerFilters?.clients,
113
+ fromDate: this.headerFilters?.date?.startDate,
114
+ toDate: this.headerFilters?.date?.endDate
115
+ };
116
+ this.service.getAllCounts(obj)?.pipe(takeUntil(this.destroy$))?.subscribe({
117
+ next: (res) => {
118
+ if (res.code === 200) {
119
+ this.ticketAllCount = res?.data[0];
120
+ }
121
+ }
122
+ });
123
+ }
124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsComponent, deps: [{ token: i1.PageInfoService }, { token: i2.ActivatedRoute }, { token: i2.Router }, { token: i1.GlobalStateService }, { token: i3.TicketService }], target: i0.ɵɵFactoryTarget.Component });
125
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TangoManageTicketsComponent, selector: "lib-tango-manage-tickets", ngImport: i0, template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'installation' }\" (click)=\"Selectedtabs('installation')\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation<span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='installation' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.installationCount?ticketAllCount?.installationCount:0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" >\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'infra' }\" (click)=\"Selectedtabs('infra')\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra<span class=\"mx-2\" [ngClass]=\"SelectedTab ==='infra' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.infraCount?ticketAllCount?.infraCount:0}}</span>\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'dataMismatch' }\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch\r\n <span class=\"mx-2\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.datamismatchCount? ticketAllCount?.datamismatchCount:0}}</span></a>\r\n </li>\r\n <!-- <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'audit' }\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'mat' }\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Mat\r\n <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='mat' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span></a>\r\n </li>\r\n<!-- <li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || clientData?.isVMS\" class=\"nav-item\" (click)=\"Selectedtabs('footfall')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'footfall' }\" [ngClass]=\"SelectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Footfall Directory\r\n <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.footfallDirectory ?ticketAllCount?.footfallDirectory:0}}</span>\r\n\r\n </a>\r\n </li> -->\r\n <li *ngIf=\"this.users.userType ==='tango' || (this.users.userType ==='client' && this.users.role !=='user')\" class=\"nav-item\" (click)=\"Selectedtabs('footfall')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'footfall' }\" [ngClass]=\"SelectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Footfall Directory\r\n <span class=\"mx-2\" [ngClass]=\"SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.footfallDirectory ?ticketAllCount?.footfallDirectory:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n<lib-ticket-footfall-new *ngIf=\"SelectedTab ==='footfall'\"></lib-ticket-footfall-new>\r\n<lib-footfall-dic *ngIf=\"SelectedTab ==='footfall-new'\"></lib-footfall-dic>\r\n<lib-tickets *ngIf=\"SelectedTab !=='audit' && SelectedTab !=='footfall' && SelectedTab !=='footfall-new'\"></lib-tickets>\r\n<lib-audit-metrics *ngIf=\"SelectedTab ==='audit'\"></lib-audit-metrics>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "directive", type: i2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i5.TicketsComponent, selector: "lib-tickets" }, { kind: "component", type: i6.AuditMetricsComponent, selector: "lib-audit-metrics" }, { kind: "component", type: i7.FootfallDicComponent, selector: "lib-footfall-dic" }, { kind: "component", type: i8.TicketFootfallNewComponent, selector: "lib-ticket-footfall-new", outputs: ["filterChange"] }] });
126
+ }
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoManageTicketsComponent, decorators: [{
128
+ type: Component,
129
+ args: [{ selector: 'lib-tango-manage-tickets', template: "<div class=\"card mb-5 py-3 px-5\">\r\n <ul class=\"nav nav-stretch nav-line-tabs1 nav-line-tabs border-transparent flex-nowrap\">\r\n <li class=\"nav-item\">\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'installation' }\" (click)=\"Selectedtabs('installation')\"\r\n [ngClass]=\"SelectedTab === 'installation' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Installation<span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='installation' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.installationCount?ticketAllCount?.installationCount:0}}</span>\r\n </a>\r\n </li>\r\n <li class=\"nav-item\" >\r\n <a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'infra' }\" (click)=\"Selectedtabs('infra')\"\r\n [ngClass]=\"SelectedTab === 'infra' ? 'active' : ''\" class=\"nav-link cursor-pointer no-border me-3\">\r\n Infra<span class=\"mx-2\" [ngClass]=\"SelectedTab ==='infra' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.infraCount?ticketAllCount?.infraCount:0}}</span>\r\n </a>\r\n </li> \r\n <li class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'dataMismatch' }\" (click)=\"Selectedtabs('dataMismatch')\">\r\n <a [ngClass]=\"SelectedTab ==='dataMismatch' ? 'active' :''\" class=\"nav-link cursor-pointer me-3\">Data Mismatch\r\n <span class=\"mx-2\" [ngClass]=\"SelectedTab ==='dataMismatch' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.datamismatchCount? ticketAllCount?.datamismatchCount:0}}</span></a>\r\n </li>\r\n <!-- <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'audit' }\" (click)=\"Selectedtabs('audit')\"><a [ngClass]=\"SelectedTab ==='audit' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Audit</a>\r\n </li> -->\r\n <li *ngIf=\"this.users.userType ==='tango'\" class=\"nav-item\" (click)=\"Selectedtabs('mat')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'mat' }\" [ngClass]=\"SelectedTab ==='mat' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Employee Mat\r\n <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='mat' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.matCount ?ticketAllCount?.matCount:0}}</span></a>\r\n </li>\r\n<!-- <li *ngIf=\"(gs.userAccess | async)?.userType === 'tango' || clientData?.isVMS\" class=\"nav-item\" (click)=\"Selectedtabs('footfall')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'footfall' }\" [ngClass]=\"SelectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Footfall Directory\r\n <span class=\"mx-2 \" [ngClass]=\"SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.footfallDirectory ?ticketAllCount?.footfallDirectory:0}}</span>\r\n\r\n </a>\r\n </li> -->\r\n <li *ngIf=\"this.users.userType ==='tango' || (this.users.userType ==='client' && this.users.role !=='user')\" class=\"nav-item\" (click)=\"Selectedtabs('footfall')\"><a [routerLink]=\"['/manage/tickets']\" [queryParams]=\"{ type: 'footfall' }\" [ngClass]=\"SelectedTab ==='footfall' ? 'active' :''\"\r\n class=\"nav-link cursor-pointer no-border me-3\">Footfall Directory\r\n <span class=\"mx-2\" [ngClass]=\"SelectedTab ==='footfall' ? 'badge-num-primary' :'badge-num-muted'\">{{ticketAllCount?.footfallDirectory ?ticketAllCount?.footfallDirectory:0}}</span>\r\n </a>\r\n </li>\r\n </ul>\r\n</div>\r\n<lib-ticket-footfall-new *ngIf=\"SelectedTab ==='footfall'\"></lib-ticket-footfall-new>\r\n<lib-footfall-dic *ngIf=\"SelectedTab ==='footfall-new'\"></lib-footfall-dic>\r\n<lib-tickets *ngIf=\"SelectedTab !=='audit' && SelectedTab !=='footfall' && SelectedTab !=='footfall-new'\"></lib-tickets>\r\n<lib-audit-metrics *ngIf=\"SelectedTab ==='audit'\"></lib-audit-metrics>\r\n<router-outlet></router-outlet>", styles: [".nav-item .nav-link.active{border:none;border-radius:6px;background:var(--Primary-50, #EAF8FF);padding:8px 12px}.nav-item .nav-link:hover{border:none}.badge-num-primary{border-radius:16px!important;background:var(--Primary-50, #EAF8FF)!important;color:var(--Primary-700, #009BF3)!important;text-align:center;font-size:14px!important;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}.badge-num-muted{border-radius:16px!important;background:var(--Primary-50, #F2F4F7)!important;color:var(--Gray-700, #344054)!important;text-align:center;font-size:14px;font-style:normal;font-weight:500;line-height:20px;padding:2px 10px!important;mix-blend-mode:multiply!important}\n"] }]
130
+ }], ctorParameters: () => [{ type: i1.PageInfoService }, { type: i2.ActivatedRoute }, { type: i2.Router }, { type: i1.GlobalStateService }, { type: i3.TicketService }] });
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFuZ28tbWFuYWdlLXRpY2tldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tbWFuYWdlLXRpY2tldHMvc3JjL2xpYi9jb21wb25lbnRzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3RhbmdvLW1hbmFnZS10aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLW1hbmFnZS10aWNrZXRzL3NyYy9saWIvY29tcG9uZW50cy90YW5nby1tYW5hZ2UtdGlja2V0cy90YW5nby1tYW5hZ2UtdGlja2V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7Ozs7OztBQU8xQyxNQUFNLE9BQU8sMkJBQTJCO0lBTWxCO0lBQWlDO0lBQThCO0lBQXFCO0lBQThCO0lBTHRJLFdBQVcsR0FBSyxjQUFjLENBQUE7SUFDYixRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxhQUFhLENBQU07SUFDbkIsY0FBYyxDQUFNO0lBQ3BCLEtBQUssQ0FBTTtJQUNYLFlBQW9CLFFBQXdCLEVBQVMsS0FBcUIsRUFBUyxNQUFhLEVBQVEsRUFBcUIsRUFBUyxPQUFxQjtRQUF2SSxhQUFRLEdBQVIsUUFBUSxDQUFnQjtRQUFTLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQVMsV0FBTSxHQUFOLE1BQU0sQ0FBTztRQUFRLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBQVMsWUFBTyxHQUFQLE9BQU8sQ0FBYztJQUMzSixDQUFDO0lBQ0gsVUFBVSxDQUFLO0lBQ2IsUUFBUTtRQUNOLE1BQU0sUUFBUSxHQUFRLElBQUksQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLE9BQU8s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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVGlja2V0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RpY2tldC5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItdGFuZ28tbWFuYWdlLXRpY2tldHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YW5nby1tYW5hZ2UtdGlja2V0cy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3RhbmdvLW1hbmFnZS10aWNrZXRzLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFuZ29NYW5hZ2VUaWNrZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgU2VsZWN0ZWRUYWI6YW55PSdpbnN0YWxsYXRpb24nXHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgaGVhZGVyRmlsdGVyczogYW55O1xyXG4gIHRpY2tldEFsbENvdW50OiBhbnk7XHJcbiAgdXNlcnM6IGFueTtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhZ2VJbmZvOlBhZ2VJbmZvU2VydmljZSxwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxwcml2YXRlIHJvdXRlcjpSb3V0ZXIscHVibGljIGdzOkdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHNlcnZpY2U6VGlja2V0U2VydmljZSl7XHJcbiAgfVxyXG5jbGllbnREYXRhOmFueTtcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHVzZXJEYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlci1pbmZvXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLnVzZXJzID0gdXNlckRhdGE7XHJcbiAgICAgICAgY29uc3QgY2xpZW50RGF0YTogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImNsaWVudC1kZXRhaWxzXCIpIHx8IFwie31cIik7XHJcbiAgICB0aGlzLmNsaWVudERhdGEgPSBjbGllbnREYXRhO1xyXG4gICAgdGhpcy5yb3V0ZT8ucXVlcnlQYXJhbXM/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eSgndHlwZScpKSB7XHJcbiAgICAgICAgICBjb25zdCB0eXBlID0gcGFyYW1zWyd0eXBlJ107XHJcbiAgICAgICAgICB0aGlzLlNlbGVjdGVkdGFicyh0eXBlKTtcclxuICAgICAgICAgXHJcbiAgICAgIH0gZWxzZXtcclxuICAgICAgICB0aGlzLnVwZGF0ZVN0b3JlSWRRdWVyeVBhcmFtKClcclxuICAgICAgfVxyXG4gIH0pO1xyXG4gIHRoaXMub25Mb2FkKCk7IFxyXG4gICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3RvcmVJZFF1ZXJ5UGFyYW0oKSB7XHJcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHsgLi4udGhpcy5yb3V0ZT8uc25hcHNob3Q/LnF1ZXJ5UGFyYW1zIH07XHJcbiAgICAvLyBVcGRhdGUgc3RvcmVJZCBpbiBxdWVyeVBhcmFtc1xyXG4gICAgcXVlcnlQYXJhbXMudHlwZSA9IHRoaXMuU2VsZWN0ZWRUYWIudG9Mb2NhbGVMb3dlckNhc2UoKTtcclxuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBzYW1lIHJvdXRlIHdpdGggdXBkYXRlZCBxdWVyeVBhcmFtc1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHsgcXVlcnlQYXJhbXM6IHF1ZXJ5UGFyYW1zLCBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UGFnZURhdGEoKXtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0VGl0bGUoJ1RpY2tldHMnKVxyXG4gICAgdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbignU3VtbWFyeSBvZiBxdWVyaWVzIHJhaXNlZCxhZGRyZXNlZCAmIHJlc29sdmVkJylcclxuICAgIGxldCBicmVhZGNydW1icyA6IGFueVtdPVtdO1xyXG4gICAgaWYgKHRoaXMuZ3MudXNlckFjY2Vzcy52YWx1ZT8udXNlclR5cGUgPT09IFwidGFuZ29cIikge1xyXG4gICAgICBicmVhZGNydW1icz0gIFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogXCJNYW5hZ2VcIixcclxuICAgICAgICAgIHBhdGg6IFwiL21hbmFnZS9icmFuZHNcIixcclxuICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICAgIGlzU2VwYXJhdG9yOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiBcIk1hbmFnZVwiLFxyXG4gICAgICAgICAgcGF0aDogXCIvbWFuYWdlL2JyYW5kc1wiLFxyXG4gICAgICAgICAgaXNBY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgICAgaXNTZXBhcmF0b3I6IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5ncy51c2VyQWNjZXNzLnZhbHVlPy51c2VyVHlwZSA9PT0gXCJjbGllbnRcIikge1xyXG4gICAgICBicmVhZGNydW1icz0gW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiBcIk1hbmFnZVwiLFxyXG4gICAgICAgICAgcGF0aDogXCIvbWFuYWdlL3N1bW1hcnlcIixcclxuICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICAgIGlzU2VwYXJhdG9yOiBmYWxzZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiBcIk1hbmFnZVwiLFxyXG4gICAgICAgICAgcGF0aDogXCIvbWFuYWdlL3N1bW1hcnlcIixcclxuICAgICAgICAgIGlzQWN0aXZlOiBmYWxzZSxcclxuICAgICAgICAgIGlzU2VwYXJhdG9yOiB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKGJyZWFkY3J1bWJzKTtcclxuICB9XHJcblxyXG4gXHJcbiAgU2VsZWN0ZWR0YWJzKHZhbHVlOmFueSl7XHJcbiAgICB0aGlzLlNlbGVjdGVkVGFiID0gdmFsdWU7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxub25Mb2FkKCl7XHJcbiAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpPy5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSkge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRmlsdGVycyA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5nZXRBbGxDb3VudCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSlcclxufVxyXG5cclxuZ2V0QWxsQ291bnQoKXtcclxuICBsZXQgb2JqID17XHJcbiAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXJzPy5jbGllbnRzLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXJzPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXJzPy5kYXRlPy5lbmREYXRlXHJcbiAgfVxyXG4gIHRoaXMuc2VydmljZS5nZXRBbGxDb3VudHMob2JqKT8ucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpPy5zdWJzY3JpYmUoe1xyXG4gICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlcy5jb2RlID09PTIwMCl7XHJcbiAgICAgICAgICB0aGlzLnRpY2tldEFsbENvdW50ID0gcmVzPy5kYXRhWzBdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSlcclxufVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY2FyZCBtYi01IHB5LTMgcHgtNVwiPlxyXG4gICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMxIG5hdi1saW5lLXRhYnMgYm9yZGVyLXRyYW5zcGFyZW50IGZsZXgtbm93cmFwXCI+XHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIj5cclxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvbWFuYWdlL3RpY2tldHMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdpbnN0YWxsYXRpb24nIH1cIiAgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnaW5zdGFsbGF0aW9uJylcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0gJ2luc3RhbGxhdGlvbicgPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgSW5zdGFsbGF0aW9uPHNwYW4gY2xhc3M9XCJteC0yIFwiIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdpbnN0YWxsYXRpb24nID8gJ2JhZGdlLW51bS1wcmltYXJ5JyA6J2JhZGdlLW51bS1tdXRlZCdcIj57e3RpY2tldEFsbENvdW50Py5pbnN0YWxsYXRpb25Db3VudD90aWNrZXRBbGxDb3VudD8uaW5zdGFsbGF0aW9uQ291bnQ6MH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGkgY2xhc3M9XCJuYXYtaXRlbVwiID5cclxuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiWycvbWFuYWdlL3RpY2tldHMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdpbmZyYScgfVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ2luZnJhJylcIlxyXG4gICAgICAgICAgICAgICBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0gJ2luZnJhJyA/ICdhY3RpdmUnIDogJydcIiBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICBJbmZyYTxzcGFuIGNsYXNzPVwibXgtMlwiIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdpbmZyYScgPyAnYmFkZ2UtbnVtLXByaW1hcnknIDonYmFkZ2UtbnVtLW11dGVkJ1wiPnt7dGlja2V0QWxsQ291bnQ/LmluZnJhQ291bnQ/dGlja2V0QWxsQ291bnQ/LmluZnJhQ291bnQ6MH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9saT4gICAgXHJcbiAgICAgICAgPGxpIGNsYXNzPVwibmF2LWl0ZW1cIiBbcm91dGVyTGlua109XCJbJy9tYW5hZ2UvdGlja2V0cyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ2RhdGFNaXNtYXRjaCcgfVwiICAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdkYXRhTWlzbWF0Y2gnKVwiPlxyXG4gICAgICAgICAgICA8YSBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0nZGF0YU1pc21hdGNoJyA/ICdhY3RpdmUnIDonJ1wiIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbWUtM1wiPkRhdGEgTWlzbWF0Y2hcclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMlwiIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdkYXRhTWlzbWF0Y2gnID8gJ2JhZGdlLW51bS1wcmltYXJ5JyA6J2JhZGdlLW51bS1tdXRlZCdcIj57e3RpY2tldEFsbENvdW50Py5kYXRhbWlzbWF0Y2hDb3VudD8gdGlja2V0QWxsQ291bnQ/LmRhdGFtaXNtYXRjaENvdW50OjB9fTwvc3Bhbj48L2E+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgIDwhLS0gPGxpICpuZ0lmPVwidGhpcy51c2Vycy51c2VyVHlwZSA9PT0ndGFuZ28nXCIgY2xhc3M9XCJuYXYtaXRlbVwiIFtyb3V0ZXJMaW5rXT1cIlsnL21hbmFnZS90aWNrZXRzJ11cIiBbcXVlcnlQYXJhbXNdPVwieyB0eXBlOiAnYXVkaXQnIH1cIiAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdhdWRpdCcpXCI+PGEgW25nQ2xhc3NdPVwiU2VsZWN0ZWRUYWIgPT09J2F1ZGl0JyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIj5BdWRpdDwvYT5cclxuICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJ0aGlzLnVzZXJzLnVzZXJUeXBlID09PSd0YW5nbydcIiBjbGFzcz1cIm5hdi1pdGVtXCIgKGNsaWNrKT1cIlNlbGVjdGVkdGFicygnbWF0JylcIj48YSBbcm91dGVyTGlua109XCJbJy9tYW5hZ2UvdGlja2V0cyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ21hdCcgfVwiIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdtYXQnID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayBjdXJzb3ItcG9pbnRlciBuby1ib3JkZXIgbWUtM1wiPkVtcGxveWVlIE1hdFxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm14LTIgXCIgW25nQ2xhc3NdPVwiU2VsZWN0ZWRUYWIgPT09J21hdCcgPyAnYmFkZ2UtbnVtLXByaW1hcnknIDonYmFkZ2UtbnVtLW11dGVkJ1wiPnt7dGlja2V0QWxsQ291bnQ/Lm1hdENvdW50ID90aWNrZXRBbGxDb3VudD8ubWF0Q291bnQ6MH19PC9zcGFuPjwvYT5cclxuICAgICAgICA8L2xpPlxyXG48IS0tIDxsaSAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy51c2VyVHlwZSA9PT0gJ3RhbmdvJyB8fCBjbGllbnREYXRhPy5pc1ZNU1wiIGNsYXNzPVwibmF2LWl0ZW1cIiAoY2xpY2spPVwiU2VsZWN0ZWR0YWJzKCdmb290ZmFsbCcpXCI+PGEgW3JvdXRlckxpbmtdPVwiWycvbWFuYWdlL3RpY2tldHMnXVwiIFtxdWVyeVBhcmFtc109XCJ7IHR5cGU6ICdmb290ZmFsbCcgfVwiIFtuZ0NsYXNzXT1cIlNlbGVjdGVkVGFiID09PSdmb290ZmFsbCcgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIGN1cnNvci1wb2ludGVyIG5vLWJvcmRlciBtZS0zXCI+Rm9vdGZhbGwgRGlyZWN0b3J5XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXgtMiBcIiBbbmdDbGFzc109XCJTZWxlY3RlZFRhYiA9PT0nZm9vdGZhbGwnID8gJ2JhZGdlLW51bS1wcmltYXJ5JyA6J2JhZGdlLW51bS1tdXRlZCdcIj57e3RpY2tldEFsbENvdW50Py5mb290ZmFsbERpcmVjdG9yeSA/dGlja2V0QWxsQ291bnQ/LmZvb3RmYWxsRGlyZWN0b3J5OjB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPiAtLT5cclxuICAgICAgICA8bGkgKm5nSWY9XCJ0aGlzLnVzZXJzLnVzZXJUeXBlID09PSd0YW5nbycgfHwgKHRoaXMudXNlcnMudXNlclR5cGUgPT09J2NsaWVudCcgJiYgdGhpcy51c2Vycy5yb2xlICE9PSd1c2VyJylcIiAgY2xhc3M9XCJuYXYtaXRlbVwiIChjbGljayk9XCJTZWxlY3RlZHRhYnMoJ2Zvb3RmYWxsJylcIj48YSBbcm91dGVyTGlua109XCJbJy9tYW5hZ2UvdGlja2V0cyddXCIgW3F1ZXJ5UGFyYW1zXT1cInsgdHlwZTogJ2Zvb3RmYWxsJyB9XCIgW25nQ2xhc3NdPVwiU2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgY3Vyc29yLXBvaW50ZXIgbm8tYm9yZGVyIG1lLTNcIj5Gb290ZmFsbCBEaXJlY3RvcnlcclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0yXCIgW25nQ2xhc3NdPVwiU2VsZWN0ZWRUYWIgPT09J2Zvb3RmYWxsJyA/ICdiYWRnZS1udW0tcHJpbWFyeScgOidiYWRnZS1udW0tbXV0ZWQnXCI+e3t0aWNrZXRBbGxDb3VudD8uZm9vdGZhbGxEaXJlY3RvcnkgP3RpY2tldEFsbENvdW50Py5mb290ZmFsbERpcmVjdG9yeTowfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9kaXY+XHJcbjxsaWItdGlja2V0LWZvb3RmYWxsLW5ldyAqbmdJZj1cIlNlbGVjdGVkVGFiID09PSdmb290ZmFsbCdcIj48L2xpYi10aWNrZXQtZm9vdGZhbGwtbmV3PlxyXG48bGliLWZvb3RmYWxsLWRpYyAqbmdJZj1cIlNlbGVjdGVkVGFiID09PSdmb290ZmFsbC1uZXcnXCI+PC9saWItZm9vdGZhbGwtZGljPlxyXG48bGliLXRpY2tldHMgKm5nSWY9XCJTZWxlY3RlZFRhYiAhPT0nYXVkaXQnICYmIFNlbGVjdGVkVGFiICE9PSdmb290ZmFsbCcgJiYgU2VsZWN0ZWRUYWIgIT09J2Zvb3RmYWxsLW5ldydcIj48L2xpYi10aWNrZXRzPlxyXG48bGliLWF1ZGl0LW1ldHJpY3MgKm5nSWY9XCJTZWxlY3RlZFRhYiA9PT0nYXVkaXQnXCI+PC9saWItYXVkaXQtbWV0cmljcz5cclxuPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PiJdfQ==