tango-app-ui-analyse-trax 3.3.1-prod.2 → 3.4.0-alpha.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 (104) hide show
  1. package/esm2022/lib/components/action-centre/action-centre.component.mjs +289 -0
  2. package/esm2022/lib/components/activity-log/activity-log.component.mjs +150 -0
  3. package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +161 -80
  4. package/esm2022/lib/components/add-multitask/add-multitask.component.mjs +507 -0
  5. package/esm2022/lib/components/add-multitask/create-task.data.mjs +306 -0
  6. package/esm2022/lib/components/add-multitask/create-task.interface.mjs +2 -0
  7. package/esm2022/lib/components/add-multitask/unique-string-validator.mjs +10 -0
  8. package/esm2022/lib/components/add-multitask/whitespace-validator.mjs +10 -0
  9. package/esm2022/lib/components/add-task/add-task.component.mjs +493 -0
  10. package/esm2022/lib/components/add-task/create-task.data.mjs +306 -0
  11. package/esm2022/lib/components/add-task/create-task.interface.mjs +2 -0
  12. package/esm2022/lib/components/add-task/unique-string-validator.mjs +10 -0
  13. package/esm2022/lib/components/add-task/whitespace-validator.mjs +10 -0
  14. package/esm2022/lib/components/approval-popup/approval-popup.component.mjs +30 -0
  15. package/esm2022/lib/components/checklist/checklist.component.mjs +11 -3
  16. package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +1003 -342
  17. package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +37 -5
  18. package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +35 -12
  19. package/esm2022/lib/components/create-task/create-task.component.mjs +472 -0
  20. package/esm2022/lib/components/create-task/create-task.data.mjs +306 -0
  21. package/esm2022/lib/components/create-task/create-task.interface.mjs +2 -0
  22. package/esm2022/lib/components/create-task/validators/ascending-validator.mjs +11 -0
  23. package/esm2022/lib/components/create-task/validators/unique-string-validator.mjs +10 -0
  24. package/esm2022/lib/components/create-task/validators/whitespace-validator.mjs +10 -0
  25. package/esm2022/lib/components/custom-select/custom-select.component.mjs +4 -5
  26. package/esm2022/lib/components/dashboard/dashboard.component.mjs +38 -100
  27. package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +177 -43
  28. package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +6 -5
  29. package/esm2022/lib/components/disabled-select/disabled-select.component.mjs +158 -0
  30. package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +112 -21
  31. package/esm2022/lib/components/flags/flags.component.mjs +10 -4
  32. package/esm2022/lib/components/flags/flags.interface.mjs +1 -1
  33. package/esm2022/lib/components/flags-info/flags-info.component.mjs +34 -13
  34. package/esm2022/lib/components/flags-info/flags-info.interface.mjs +1 -1
  35. package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +2 -2
  36. package/esm2022/lib/components/gallery/gallery.component.mjs +1543 -236
  37. package/esm2022/lib/components/lib/custom-select/custom-select.component.mjs +158 -0
  38. package/esm2022/lib/components/manage-task/manage-task.component.mjs +264 -0
  39. package/esm2022/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.mjs +229 -0
  40. package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +3 -2
  41. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +6 -3
  42. package/esm2022/lib/components/reports/reports.component.mjs +3 -2
  43. package/esm2022/lib/components/task/task.component.mjs +341 -0
  44. package/esm2022/lib/components/task-configure/task-configure.component.mjs +1524 -0
  45. package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
  46. package/esm2022/lib/components/task-info/task-info.component.mjs +369 -0
  47. package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +208 -0
  48. package/esm2022/lib/components/task-layout/task-layout.component.mjs +12 -0
  49. package/esm2022/lib/components/task-logs/task-logs.component.mjs +104 -0
  50. package/esm2022/lib/components/trax-store/trax-store.component.mjs +45 -19
  51. package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +3 -3
  52. package/esm2022/lib/services/trax.service.mjs +185 -15
  53. package/esm2022/lib/tango-analyse-trax-routing.module.mjs +45 -1
  54. package/esm2022/lib/tango-analyse-trax.module.mjs +52 -2
  55. package/fesm2022/tango-app-ui-analyse-trax.mjs +12678 -3995
  56. package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
  57. package/lib/components/action-centre/action-centre.component.d.ts +68 -0
  58. package/lib/components/activity-log/activity-log.component.d.ts +39 -0
  59. package/lib/components/add-checklist/add-checklist.component.d.ts +1 -0
  60. package/lib/components/add-multitask/add-multitask.component.d.ts +88 -0
  61. package/lib/components/add-multitask/create-task.data.d.ts +244 -0
  62. package/lib/components/add-multitask/create-task.interface.d.ts +147 -0
  63. package/lib/components/add-multitask/unique-string-validator.d.ts +2 -0
  64. package/lib/components/add-multitask/whitespace-validator.d.ts +2 -0
  65. package/lib/components/add-task/add-task.component.d.ts +85 -0
  66. package/lib/components/add-task/create-task.data.d.ts +244 -0
  67. package/lib/components/add-task/create-task.interface.d.ts +147 -0
  68. package/lib/components/add-task/unique-string-validator.d.ts +2 -0
  69. package/lib/components/add-task/whitespace-validator.d.ts +2 -0
  70. package/lib/components/approval-popup/approval-popup.component.d.ts +14 -0
  71. package/lib/components/checklist-configure/checklist-configure.component.d.ts +77 -3
  72. package/lib/components/checklistlayout/checklistlayout.component.d.ts +11 -1
  73. package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +8 -4
  74. package/lib/components/create-task/create-task.component.d.ts +68 -0
  75. package/lib/components/create-task/create-task.data.d.ts +244 -0
  76. package/lib/components/create-task/create-task.interface.d.ts +149 -0
  77. package/lib/components/create-task/validators/ascending-validator.d.ts +2 -0
  78. package/lib/components/create-task/validators/unique-string-validator.d.ts +2 -0
  79. package/lib/components/create-task/validators/whitespace-validator.d.ts +2 -0
  80. package/lib/components/dashboard/dashboard.component.d.ts +7 -0
  81. package/lib/components/dashboard-info/dashboard-info.component.d.ts +14 -2
  82. package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +1 -0
  83. package/lib/components/disabled-select/disabled-select.component.d.ts +34 -0
  84. package/lib/components/export-gallery/export-gallery.component.d.ts +7 -1
  85. package/lib/components/flags/flags.component.d.ts +1 -0
  86. package/lib/components/flags/flags.interface.d.ts +1 -0
  87. package/lib/components/flags-info/flags-info.component.d.ts +1 -0
  88. package/lib/components/flags-info/flags-info.interface.d.ts +16 -1
  89. package/lib/components/gallery/gallery.component.d.ts +60 -6
  90. package/lib/components/lib/custom-select/custom-select.component.d.ts +33 -0
  91. package/lib/components/manage-task/manage-task.component.d.ts +47 -0
  92. package/lib/components/multi-chip-dropdown/multi-chip-dropdown.component.d.ts +40 -0
  93. package/lib/components/reactive-select/reactive-select.component.d.ts +2 -2
  94. package/lib/components/task/task.component.d.ts +70 -0
  95. package/lib/components/task-configure/task-configure.component.d.ts +140 -0
  96. package/lib/components/task-configure/task-configure.interface.d.ts +128 -0
  97. package/lib/components/task-info/task-info.component.d.ts +74 -0
  98. package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +61 -0
  99. package/lib/components/task-layout/task-layout.component.d.ts +5 -0
  100. package/lib/components/task-logs/task-logs.component.d.ts +27 -0
  101. package/lib/components/trax-store/trax-store.component.d.ts +2 -1
  102. package/lib/services/trax.service.d.ts +52 -1
  103. package/lib/tango-analyse-trax.module.d.ts +25 -9
  104. package/package.json +1 -1
@@ -0,0 +1,289 @@
1
+ import { Component } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { Subject, debounceTime, takeUntil } from "rxjs";
4
+ import dayjs from 'dayjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/forms";
7
+ import * as i2 from "tango-app-ui-global";
8
+ import * as i3 from "../../services/trax.service";
9
+ import * as i4 from "@angular/router";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "tango-app-ui-shared";
12
+ import * as i7 from "@ng-bootstrap/ng-bootstrap";
13
+ import * as i8 from "../reactive-select/reactive-select.component";
14
+ import * as i9 from "../activity-log/activity-log.component";
15
+ export class ActionCentreComponent {
16
+ fb;
17
+ gs;
18
+ pageInfo;
19
+ TraxService;
20
+ changeDetector;
21
+ router;
22
+ destroy$ = new Subject();
23
+ searchInput = "";
24
+ form;
25
+ headerData;
26
+ overallCardsData = {};
27
+ cardDataLoading = true;
28
+ cardNoData = false;
29
+ searchDisabled = false;
30
+ approvalOpenLoading = true;
31
+ approvalOpenNoData = false;
32
+ itemsPerPage = 10;
33
+ currentPage = 1;
34
+ sortColumName = '';
35
+ sortBy = '';
36
+ sortDirection = '';
37
+ totalItems = 0;
38
+ paginationSizes = [];
39
+ pageSize = 10;
40
+ OpenApprovalListData = [];
41
+ InprogressApprovalListData = [];
42
+ DoneApprovalListData = [];
43
+ approvalInprogressLoading = true;
44
+ approvalInprogressNoData = false;
45
+ approvedLoading = true;
46
+ approvedNoData = false;
47
+ priorityType = [];
48
+ selectedlistselectControl;
49
+ selectedStatus;
50
+ statusselectControl = [
51
+ { _id: 'all', label: 'All' },
52
+ { _id: 'checklist', label: 'Checklist' },
53
+ { _id: 'task', label: 'Task' },
54
+ ];
55
+ dataObject = [
56
+ {
57
+ Description: 'Priority',
58
+ Issues: [
59
+ { text: 'High', id: 'high' },
60
+ { text: 'Medium', id: 'medium' },
61
+ { text: 'Low', id: 'low' },
62
+ ],
63
+ },
64
+ ];
65
+ searchValue;
66
+ limit;
67
+ offset;
68
+ isTaskSelected = false;
69
+ dayjs = dayjs;
70
+ date;
71
+ userEmailes = [];
72
+ constructor(fb, gs, pageInfo, TraxService, changeDetector, router) {
73
+ this.fb = fb;
74
+ this.gs = gs;
75
+ this.pageInfo = pageInfo;
76
+ this.TraxService = TraxService;
77
+ this.changeDetector = changeDetector;
78
+ this.router = router;
79
+ this.userEmailes = JSON.parse(localStorage.getItem("usersEmail-info") || "[]");
80
+ }
81
+ ngOnDestroy() {
82
+ this.destroy$.next(true);
83
+ this.destroy$.complete();
84
+ }
85
+ ngOnInit() {
86
+ this.selectedlistselectControl = new FormControl('all');
87
+ this.form = this.fb.group({
88
+ selectedlistselectControl: this.selectedlistselectControl
89
+ });
90
+ this.selectedlistselectControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {
91
+ this.onValueChangeStatusSelect(value);
92
+ });
93
+ this.gs.dataRangeValue
94
+ .pipe(takeUntil(this.destroy$), debounceTime(300))
95
+ .subscribe((data) => {
96
+ this.headerData = data;
97
+ this.setPageData();
98
+ this.getOverallActionCenterData();
99
+ this.getApprovalOpenData();
100
+ });
101
+ }
102
+ setPageData() {
103
+ this.pageInfo.setTitle("Action Center");
104
+ this.pageInfo.setBreadcrumbs([
105
+ { title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: false },
106
+ { title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: true },
107
+ ]);
108
+ }
109
+ getOverallActionCenterData() {
110
+ this.overallCardsData = [];
111
+ this.cardDataLoading = true;
112
+ this.cardNoData = true;
113
+ const requestData = {
114
+ fromDate: this.headerData.date.startDate,
115
+ toDate: this.headerData.date.endDate,
116
+ storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
117
+ userEmailes: this.userEmailes,
118
+ clientId: this.headerData.client,
119
+ };
120
+ this.TraxService.getOverallActionCenterData(requestData).pipe(takeUntil(this.destroy$)).subscribe((response) => {
121
+ this.cardDataLoading = false;
122
+ if (response?.code === 200 && response?.status === "success") {
123
+ this.overallCardsData = response.data?.cardData || {};
124
+ this.cardDataLoading = false;
125
+ this.cardNoData = false;
126
+ }
127
+ else {
128
+ this.overallCardsData = [];
129
+ this.cardDataLoading = false;
130
+ this.cardNoData = true;
131
+ }
132
+ }, error => {
133
+ this.overallCardsData = [];
134
+ this.cardDataLoading = false;
135
+ this.cardNoData = true;
136
+ this.changeDetector.detectChanges();
137
+ });
138
+ }
139
+ getApprovalOpenData() {
140
+ this.searchDisabled = true;
141
+ this.approvalOpenLoading = true;
142
+ this.approvalOpenNoData = true;
143
+ this.approvalInprogressLoading = true;
144
+ this.approvalInprogressNoData = true;
145
+ this.approvedLoading = true;
146
+ this.approvedNoData = true;
147
+ const requestData = {
148
+ fromDate: this.headerData.date.startDate,
149
+ toDate: this.headerData.date.endDate,
150
+ storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
151
+ userEmailes: this.userEmailes,
152
+ clientId: this.headerData.client,
153
+ searchValue: this.searchInput,
154
+ filter: this.priorityType,
155
+ type: this.selectedlistselectControl.value
156
+ };
157
+ this.TraxService.getApprovalData(requestData)
158
+ .pipe(takeUntil(this.destroy$))
159
+ .subscribe((response) => {
160
+ this.approvalOpenLoading = false;
161
+ this.approvalInprogressLoading = false;
162
+ this.approvedLoading = false;
163
+ if (response?.code === 200 && response?.status === "success") {
164
+ this.OpenApprovalListData = response.data.open || [];
165
+ this.InprogressApprovalListData = response.data.inprogress || [];
166
+ this.DoneApprovalListData = response.data.done || [];
167
+ this.totalItems = response.data.totalCount;
168
+ this.setPaginationSizes();
169
+ if (this.OpenApprovalListData.length > 0) {
170
+ this.approvalOpenLoading = false;
171
+ this.approvalOpenNoData = false;
172
+ }
173
+ else {
174
+ this.approvalOpenNoData = true;
175
+ }
176
+ if (this.InprogressApprovalListData.length > 0) {
177
+ this.approvalInprogressLoading = false;
178
+ this.approvalInprogressNoData = false;
179
+ }
180
+ else {
181
+ this.approvalInprogressNoData = true;
182
+ }
183
+ if (this.DoneApprovalListData.length > 0) {
184
+ this.approvedLoading = false;
185
+ this.approvedNoData = false;
186
+ }
187
+ else {
188
+ this.approvedNoData = true;
189
+ }
190
+ this.searchDisabled = false;
191
+ }
192
+ else {
193
+ this.OpenApprovalListData = [];
194
+ this.InprogressApprovalListData = [];
195
+ this.DoneApprovalListData = [];
196
+ this.approvalOpenLoading = false;
197
+ this.approvalOpenNoData = true;
198
+ this.approvalInprogressLoading = false;
199
+ this.approvalInprogressNoData = true;
200
+ this.approvedLoading = false;
201
+ this.approvedNoData = true;
202
+ this.searchDisabled = true;
203
+ if (this.searchInput?.length) {
204
+ this.searchDisabled = true;
205
+ }
206
+ this.OpenApprovalListData = [];
207
+ this.InprogressApprovalListData = [];
208
+ this.DoneApprovalListData = [];
209
+ this.totalItems = 0;
210
+ this.changeDetector.detectChanges();
211
+ }
212
+ }, error => {
213
+ this.OpenApprovalListData = [];
214
+ this.InprogressApprovalListData = [];
215
+ this.DoneApprovalListData = [];
216
+ this.changeDetector.detectChanges();
217
+ });
218
+ }
219
+ onValueChangeStatusSelect(event) {
220
+ this.searchValue = "",
221
+ this.selectedStatus = this.statusselectControl.find(item => item._id === event);
222
+ if (this.selectedStatus) {
223
+ this.isTaskSelected = this.selectedStatus._id === 'task';
224
+ if (this.selectedlistselectControl.value === "all") {
225
+ this.priorityType = [];
226
+ }
227
+ this.changeDetector.detectChanges();
228
+ this.getApprovalOpenData();
229
+ }
230
+ }
231
+ searchField() {
232
+ this.headerData.search = this.searchInput;
233
+ this.currentPage = 1;
234
+ this.pageSize = 10;
235
+ this.getApprovalOpenData();
236
+ }
237
+ setPaginationSizes() {
238
+ if (this.totalItems > 10) {
239
+ this.paginationSizes = [10, 20, 30];
240
+ }
241
+ else {
242
+ this.paginationSizes = [this.totalItems];
243
+ this.pageSize = this.totalItems;
244
+ }
245
+ }
246
+ applyFilters(event) {
247
+ if (event?.length) {
248
+ event.forEach((element) => {
249
+ if (element.Description === 'Priority') {
250
+ this.priorityType = element.Issues.map((val) => val.id);
251
+ }
252
+ });
253
+ }
254
+ else {
255
+ this.priorityType = [];
256
+ }
257
+ this.getApprovalOpenData();
258
+ }
259
+ navigateToGallery(item) {
260
+ let formattedDate = dayjs(item.publishDate).format('YYYY-MM-DD');
261
+ let checklistType;
262
+ if (item.checkListType === 'custom') {
263
+ checklistType = 'custom';
264
+ }
265
+ else if (['task', 'checklistTask', 'cctv'].includes(item.checkListType)) {
266
+ checklistType = 'task';
267
+ }
268
+ else {
269
+ checklistType = item.checkListType || '--';
270
+ }
271
+ let queryParams = {
272
+ ChecklistDate: formattedDate,
273
+ checklistType: checklistType,
274
+ sourceCheckList_id: item.sourceChecklistId,
275
+ coverage: item.coverage
276
+ };
277
+ if (item.redo) {
278
+ queryParams.viewRedo = true;
279
+ }
280
+ this.router.navigate(['/manage/trax/gallery'], { queryParams });
281
+ }
282
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }, { token: i2.GlobalStateService }, { token: i2.PageInfoService }, { token: i3.TraxService }, { token: i0.ChangeDetectorRef }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
283
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"navigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex\">\r\n <span *ngIf=\"open.checkListType\"\r\n class=\"cate-sub me-2 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': open.checkListType !== 'cctv',\r\n 'badge-light-warning': open.checkListType === 'cctv'\r\n }\">\r\n {{\r\n open.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (open.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (open.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (open.checkListType === 'task'\r\n ? 'Task'\r\n : (open.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n <span *ngIf=\"open.redo\" class=\"cate-sub badge badge-light-blue me-2 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub mt-1 me-2 badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <!-- <span *ngIf=\"!open.redo && open.checkListType\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span> -->\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n \r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span>\r\n <span *ngIf=\"open.storeCount > 1\"><svg *ngIf=\"open?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"open?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg> \r\n <span class=\"cardsubtext ms-2 me-4\">{{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </span>\r\n <span *ngIf=\"open.storeCount === 1\"><svg *ngIf=\"open?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"open?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{(open?.coverage === 'user' ? open.userName : open.storeName) || '--'}}</span></span> \r\n\r\n <span *ngIf=\"open.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\"(click)=\"navigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex\">\r\n <span *ngIf=\"!inprogress.redo && inprogress.checkListType\"\r\n class=\"cate-sub me-2 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': inprogress.checkListType !== 'cctv',\r\n 'badge-light-warning': inprogress.checkListType === 'cctv'\r\n }\">\r\n {{\r\n inprogress.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (inprogress.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (inprogress.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (inprogress.checkListType === 'task'\r\n ? 'Task'\r\n : (inprogress.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n <span *ngIf=\"inprogress.redo\"\r\n class=\"cate-sub badge badge-light-blue me-2 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end me-2 mt-1\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span *ngIf=\"inprogress.storeCount > 1\">\r\n <span>\r\n <svg *ngIf=\"inprogress?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"inprogress?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </span>\r\n <span *ngIf=\"inprogress.storeCount === 1\"><svg *ngIf=\"inprogress?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"inprogress?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{(inprogress?.coverage === 'user' ? inprogress.userName : inprogress.storeName) || '--'}}</span></span>\r\n <span *ngIf=\"inprogress.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"navigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex\">\r\n <span *ngIf=\"!done.redo && done.checkListType\"\r\n class=\"cate-sub me-2 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': done.checkListType !== 'cctv',\r\n 'badge-light-warning': done.checkListType === 'cctv'\r\n }\">\r\n {{\r\n done.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (done.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (done.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (done.checkListType === 'task'\r\n ? 'Task'\r\n : (done.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n <span *ngIf=\"done.redo\" class=\"cate-sub badge badge-light-blue me-2 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end me-2 mt-1\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span *ngIf=\"done.storeCount > 1\">\r\n <span><svg *ngIf=\"done?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"done?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </span>\r\n <span *ngIf=\"done.storeCount === 1\">\r\n <svg *ngIf=\"done?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"done?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{(done?.coverage === 'user' ? done.userName : done.storeName) || '--'}}</span></span>\r\n <span *ngIf=\"done.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i7.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i7.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i7.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i7.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i7.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "component", type: i8.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["isDisabled", "idField", "nameField", "label", "data"], outputs: ["itemChange"] }, { kind: "component", type: i9.ActivityLogComponent, selector: "lib-activity-log" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
284
+ }
285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, decorators: [{
286
+ type: Component,
287
+ args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"navigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex\">\r\n <span *ngIf=\"open.checkListType\"\r\n class=\"cate-sub me-2 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': open.checkListType !== 'cctv',\r\n 'badge-light-warning': open.checkListType === 'cctv'\r\n }\">\r\n {{\r\n open.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (open.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (open.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (open.checkListType === 'task'\r\n ? 'Task'\r\n : (open.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n <span *ngIf=\"open.redo\" class=\"cate-sub badge badge-light-blue me-2 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub mt-1 me-2 badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <!-- <span *ngIf=\"!open.redo && open.checkListType\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType === 'custom' ? 'Checklist' : ((open.checkListType | titlecase) || '--') }}</span> -->\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n \r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span>\r\n <span *ngIf=\"open.storeCount > 1\"><svg *ngIf=\"open?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"open?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg> \r\n <span class=\"cardsubtext ms-2 me-4\">{{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </span>\r\n <span *ngIf=\"open.storeCount === 1\"><svg *ngIf=\"open?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"open?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{(open?.coverage === 'user' ? open.userName : open.storeName) || '--'}}</span></span> \r\n\r\n <span *ngIf=\"open.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} </span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\"(click)=\"navigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex\">\r\n <span *ngIf=\"!inprogress.redo && inprogress.checkListType\"\r\n class=\"cate-sub me-2 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': inprogress.checkListType !== 'cctv',\r\n 'badge-light-warning': inprogress.checkListType === 'cctv'\r\n }\">\r\n {{\r\n inprogress.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (inprogress.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (inprogress.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (inprogress.checkListType === 'task'\r\n ? 'Task'\r\n : (inprogress.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n <span *ngIf=\"inprogress.redo\"\r\n class=\"cate-sub badge badge-light-blue me-2 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end me-2 mt-1\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n \r\n </div>\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span *ngIf=\"inprogress.storeCount > 1\">\r\n <span>\r\n <svg *ngIf=\"inprogress?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"inprogress?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </span>\r\n <span *ngIf=\"inprogress.storeCount === 1\"><svg *ngIf=\"inprogress?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"inprogress?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{(inprogress?.coverage === 'user' ? inprogress.userName : inprogress.storeName) || '--'}}</span></span>\r\n <span *ngIf=\"inprogress.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"navigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex\">\r\n <span *ngIf=\"!done.redo && done.checkListType\"\r\n class=\"cate-sub me-2 mt-1 badge\"\r\n [ngClass]=\"{\r\n 'badge-light-violet': done.checkListType !== 'cctv',\r\n 'badge-light-warning': done.checkListType === 'cctv'\r\n }\">\r\n {{\r\n done.checkListType === 'custom'\r\n ? 'Checklist'\r\n : (done.checkListType === 'cctv'\r\n ? 'CCTV'\r\n : (done.checkListType === 'checklistTask'\r\n ? 'Checklist Task'\r\n : (done.checkListType === 'task'\r\n ? 'Task'\r\n : (done.checkListType | titlecase) || '--')))\r\n }}\r\n </span>\r\n <span *ngIf=\"done.redo\" class=\"cate-sub badge badge-light-blue me-2 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>Redo</span>\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end me-2 mt-1\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span *ngIf=\"done.storeCount > 1\">\r\n <span><svg *ngIf=\"done?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"done?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </span>\r\n <span *ngIf=\"done.storeCount === 1\">\r\n <svg *ngIf=\"done?.coverage ==='user'\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg> <svg *ngIf=\"done?.coverage ==='store'\" _ngcontent-ng-c514516357=\"\" xmlns=\"http://www.w3.org/2000/svg\" width=\"19\" height=\"18\" viewBox=\"0 0 19 18\" fill=\"none\"><path _ngcontent-ng-c514516357=\"\" d=\"M3.14334 5.26383L3.09649 5.33701C2.61958 6.18313 3.13458 7.24243 4.04025 7.36366C4.12504 7.37402 4.20312 7.37939 4.27884 7.37939C4.77704 7.37939 5.21745 7.16583 5.52472 6.8323L6.07805 6.23168L6.6295 6.83403C6.93274 7.16525 7.37199 7.37939 7.87379 7.37939C8.37329 7.37939 8.81516 7.1649 9.11808 6.83403L9.67126 6.22979L10.2244 6.83403C10.5274 7.1649 10.9692 7.37939 11.4687 7.37939C11.9682 7.37939 12.4101 7.1649 12.713 6.83403L13.2662 6.22979L13.8194 6.83403C14.1223 7.1649 14.5642 7.37939 15.0637 7.37939C15.1368 7.37939 15.2173 7.374 15.3014 7.36377C16.2273 7.23713 16.7448 6.11962 16.1968 5.26433C16.1967 5.26427 16.1967 5.26422 16.1966 5.26416L14.6143 2.79691L14.6143 2.79691L14.6136 2.79579C14.6133 2.79543 14.6114 2.79328 14.6068 2.79079C14.6005 2.78742 14.5934 2.78564 14.5867 2.78564H4.75027C4.74363 2.78564 4.73648 2.78742 4.73026 2.79079C4.7252 2.79353 4.72337 2.79585 4.72337 2.79585L4.72302 2.79641L3.14334 5.26383ZM4.50753 9.74376C4.43281 9.74785 4.35748 9.74993 4.2816 9.74993C4.26875 9.74993 4.25593 9.74987 4.24314 9.74974V12.4821V14.2231C4.24314 14.7599 4.68913 15.2142 5.25753 15.2142H14.0795C14.6479 15.2142 15.0939 14.7599 15.0939 14.2231V12.4821V9.74979C15.0829 9.74988 15.0719 9.74993 15.0609 9.74993C14.9833 9.74993 14.9062 9.74775 14.8295 9.74345V12.4821V13.2321H14.0795H5.25753H4.50753V12.4821V9.74376Z\" stroke=\"#667085\" stroke-width=\"1.5\"></path></svg>\r\n <span class=\"cardsubtext ms-2 me-4\">{{(done?.coverage === 'user' ? done.userName : done.storeName) || '--'}}</span></span>\r\n <span *ngIf=\"done.checkListType === 'custom'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">Approved {{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"] }]
288
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.GlobalStateService }, { type: i2.PageInfoService }, { type: i3.TraxService }, { type: i0.ChangeDetectorRef }, { type: i4.Router }] });
289
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUFlLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFnQyxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHdEYsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFDOzs7Ozs7Ozs7OztBQU8xQixNQUFNLE9BQU8scUJBQXFCO0lBb0RaO0lBQXdCO0lBQWdDO0lBQW1DO0lBQ3JHO0lBQTJDO0lBcEQ3QyxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUNqQyxXQUFXLEdBQVEsRUFBRSxDQUFDO0lBQ3RCLElBQUksQ0FBWTtJQUNoQixVQUFVLENBQU07SUFDaEIsZ0JBQWdCLEdBQVEsRUFBRSxDQUFDO0lBQzNCLGVBQWUsR0FBWSxJQUFJLENBQUM7SUFDaEMsVUFBVSxHQUFZLEtBQUssQ0FBQztJQUM1QixjQUFjLEdBQVksS0FBSyxDQUFDO0lBQ2hDLG1CQUFtQixHQUFZLElBQUksQ0FBQztJQUNwQyxrQkFBa0IsR0FBWSxLQUFLLENBQUM7SUFDcEMsWUFBWSxHQUFHLEVBQUUsQ0FBQTtJQUNqQixXQUFXLEdBQUcsQ0FBQyxDQUFBO0lBQ2YsYUFBYSxHQUFXLEVBQUUsQ0FBQztJ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a0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCO1lBQzFDLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUTtTQUN2QixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ2IsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7U0FDN0I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUM7d0dBelFVLHFCQUFxQjs0RkFBckIscUJBQXFCLHlEQ1psQyxrcWtFQTJsQk07OzRGRC9rQk8scUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSwgUGFnZUluZm9TZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcbmltcG9ydCB7IFRyYXhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdHJheC5zZXJ2aWNlJztcclxuaW1wb3J0IGRheWpzIGZyb20gJ2RheWpzJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWN0aW9uLWNlbnRyZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjdGlvbi1jZW50cmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hY3Rpb24tY2VudHJlLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWN0aW9uQ2VudHJlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgc2VhcmNoSW5wdXQ6IGFueSA9IFwiXCI7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBvdmVyYWxsQ2FyZHNEYXRhOiBhbnkgPSB7fTtcclxuICBjYXJkRGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNhcmROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmFsT3BlbkxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsT3Blbk5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgc29ydENvbHVtTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgc29ydEJ5OiBhbnkgPSAnJztcclxuICBzb3J0RGlyZWN0aW9uOiBhbnkgPSAnJztcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplczogYW55W10gPSBbXTtcclxuICBwYWdlU2l6ZSA9IDEwXHJcbiAgT3BlbkFwcHJvdmFsTGlzdERhdGE6IGFueVtdID0gW107XHJcbiAgSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGE6IGFueVtdID0gW107XHJcbiAgRG9uZUFwcHJvdmFsTGlzdERhdGE6IGFueVtdID0gW107XHJcbiAgYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgYXBwcm92ZWRMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBhcHByb3ZlZE5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaW9yaXR5VHlwZTogYW55ID0gW107XHJcbiAgc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgc2VsZWN0ZWRTdGF0dXM6IGFueTtcclxuICBzdGF0dXNzZWxlY3RDb250cm9sID0gW1xyXG4gICAgeyBfaWQ6ICdhbGwnLCBsYWJlbDogJ0FsbCcgfSxcclxuICAgIHsgX2lkOiAnY2hlY2tsaXN0JywgbGFiZWw6ICdDaGVja2xpc3QnIH0sXHJcbiAgICB7IF9pZDogJ3Rhc2snLCBsYWJlbDogJ1Rhc2snIH0sXHJcbiAgXTtcclxuICBkYXRhT2JqZWN0OiBhbnkgPSBbXHJcbiAgICB7XHJcbiAgICAgIERlc2NyaXB0aW9uOiAnUHJpb3JpdHknLFxyXG4gICAgICBJc3N1ZXM6IFtcclxuICAgICAgICB7IHRleHQ6ICdIaWdoJywgaWQ6ICdoaWdoJyB9LFxyXG4gICAgICAgIHsgdGV4dDogJ01lZGl1bScsIGlkOiAnbWVkaXVtJyB9LFxyXG4gICAgICAgIHsgdGV4dDogJ0xvdycsIGlkOiAnbG93JyB9LFxyXG4gICAgICBdLFxyXG4gICAgfSxcclxuICBdO1xyXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmc7XHJcbiAgbGltaXQ6IG51bWJlcjtcclxuICBvZmZzZXQ6IG51bWJlcjtcclxuICBpc1Rhc2tTZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgZGF0ZTogYW55O1xyXG4gIHVzZXJFbWFpbGVzOiBhbnkgPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLCBwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UsIHByaXZhdGUgVHJheFNlcnZpY2U6IFRyYXhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnVzZXJFbWFpbGVzID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXJzRW1haWwtaW5mb1wiKSB8fCBcIltdXCIgKVxyXG4gICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnYWxsJyk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QodmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCksIGRlYm91bmNlVGltZSgzMDApKVxyXG4gICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmhlYWRlckRhdGEgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuc2V0UGFnZURhdGEoKTtcclxuICAgICAgICB0aGlzLmdldE92ZXJhbGxBY3Rpb25DZW50ZXJEYXRhKCk7XHJcbiAgICAgICAgdGhpcy5nZXRBcHByb3ZhbE9wZW5EYXRhKCk7XHJcbiAgICAgIH0pXHJcbiAgfVxyXG4gIHNldFBhZ2VEYXRhKCkge1xyXG4gICAgdGhpcy5wYWdlSW5mby5zZXRUaXRsZShcIkFjdGlvbiBDZW50ZXJcIik7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldEJyZWFkY3J1bWJzKFtcclxuICAgICAgeyB0aXRsZTogXCJUYW5nbyBUcmF4XCIsIHBhdGg6IFwiL21hbmFnZS90cmF4L2Rhc2hib2FyZFwiLCBpc0FjdGl2ZTogZmFsc2UsIGlzU2VwYXJhdG9yOiBmYWxzZSB9LFxyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IHRydWUgfSxcclxuICAgIF0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3ZlcmFsbEFjdGlvbkNlbnRlckRhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSBbXVxyXG4gICAgdGhpcy5jYXJkRGF0YUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICB1c2VyRW1haWxlczogdGhpcy51c2VyRW1haWxlcyxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5UcmF4U2VydmljZS5nZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YShyZXF1ZXN0RGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICBpZiAocmVzcG9uc2U/LmNvZGUgPT09IDIwMCAmJiByZXNwb25zZT8uc3RhdHVzID09PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IHJlc3BvbnNlLmRhdGE/LmNhcmREYXRhIHx8IHt9O1xyXG4gICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5vdmVyYWxsQ2FyZHNEYXRhID0gW11cclxuICAgICAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuY2FyZE5vRGF0YSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLm92ZXJhbGxDYXJkc0RhdGEgPSBbXVxyXG4gICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5jYXJkTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBwcm92YWxPcGVuRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTogYW55KSA9PiBzdG9yZS5jaGVja2VkKS5tYXAoKHN0b3JlOiBhbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICB1c2VyRW1haWxlczogdGhpcy51c2VyRW1haWxlcyxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRGF0YS5jbGllbnQsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaElucHV0LFxyXG4gICAgICBmaWx0ZXI6IHRoaXMucHJpb3JpdHlUeXBlLFxyXG4gICAgICB0eXBlOiB0aGlzLnNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2wudmFsdWVcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5UcmF4U2VydmljZS5nZXRBcHByb3ZhbERhdGEocmVxdWVzdERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgIHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLm9wZW4gfHwgW107XHJcbiAgICAgICAgICB0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhID0gcmVzcG9uc2UuZGF0YS5pbnByb2dyZXNzIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEuZG9uZSB8fCBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gICAgICAgICAgaWYgKHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Ob0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLk9wZW5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgICB0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhID0gW107XHJcblxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsT3Blbk5vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcblxyXG4gICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgaWYgKHRoaXMuc2VhcmNoSW5wdXQ/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gMFxyXG4gICAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAgICAgICB9XHJcbiAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICB0aGlzLk9wZW5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuRG9uZUFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgb25WYWx1ZUNoYW5nZVN0YXR1c1NlbGVjdChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaFZhbHVlID0gXCJcIixcclxuICAgICAgdGhpcy5zZWxlY3RlZFN0YXR1cyA9IHRoaXMuc3RhdHVzc2VsZWN0Q29udHJvbC5maW5kKGl0ZW0gPT4gaXRlbS5faWQgPT09IGV2ZW50KTtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkU3RhdHVzKSB7XHJcbiAgICAgIHRoaXMuaXNUYXNrU2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkU3RhdHVzLl9pZCA9PT0gJ3Rhc2snO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sLnZhbHVlID09PSBcImFsbFwiKSB7XHJcbiAgICAgICAgdGhpcy5wcmlvcml0eVR5cGUgPSBbXVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICAgIH1cclxuICB9XHJcbiAgc2VhcmNoRmllbGQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmhlYWRlckRhdGEuc2VhcmNoID0gdGhpcy5zZWFyY2hJbnB1dDtcclxuICAgIHRoaXMuY3VycmVudFBhZ2UgPSAxO1xyXG4gICAgdGhpcy5wYWdlU2l6ZSA9IDEwO1xyXG4gICAgdGhpcy5nZXRBcHByb3ZhbE9wZW5EYXRhKCk7XHJcbiAgfVxyXG4gIHNldFBhZ2luYXRpb25TaXplcygpIHtcclxuICAgIGlmICh0aGlzLnRvdGFsSXRlbXMgPiAxMCkge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFsxMCwgMjAsIDMwXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucGFnaW5hdGlvblNpemVzID0gW3RoaXMudG90YWxJdGVtc107XHJcbiAgICAgIHRoaXMucGFnZVNpemUgPSB0aGlzLnRvdGFsSXRlbXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhcHBseUZpbHRlcnMoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09ICdQcmlvcml0eScpIHtcclxuICAgICAgICAgIHRoaXMucHJpb3JpdHlUeXBlID0gZWxlbWVudC5Jc3N1ZXMubWFwKCh2YWw6IGFueSkgPT4gdmFsLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcmlvcml0eVR5cGUgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QXBwcm92YWxPcGVuRGF0YSgpO1xyXG4gIH1cclxuICBuYXZpZ2F0ZVRvR2FsbGVyeShpdGVtOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBmb3JtYXR0ZWREYXRlID0gZGF5anMoaXRlbS5wdWJsaXNoRGF0ZSkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XHJcbiAgICBsZXQgY2hlY2tsaXN0VHlwZTogc3RyaW5nO1xyXG4gIFxyXG4gICAgaWYgKGl0ZW0uY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbScpIHtcclxuICAgICAgY2hlY2tsaXN0VHlwZSA9ICdjdXN0b20nO1xyXG4gICAgfSBlbHNlIGlmIChbJ3Rhc2snLCAnY2hlY2tsaXN0VGFzaycsICdjY3R2J10uaW5jbHVkZXMoaXRlbS5jaGVja0xpc3RUeXBlKSkge1xyXG4gICAgICBjaGVja2xpc3RUeXBlID0gJ3Rhc2snO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY2hlY2tsaXN0VHlwZSA9IGl0ZW0uY2hlY2tMaXN0VHlwZSB8fCAnLS0nO1xyXG4gICAgfVxyXG4gICAgbGV0IHF1ZXJ5UGFyYW1zOiBhbnkgPSB7XHJcbiAgICAgIENoZWNrbGlzdERhdGU6IGZvcm1hdHRlZERhdGUsXHJcbiAgICAgIGNoZWNrbGlzdFR5cGU6IGNoZWNrbGlzdFR5cGUsXHJcbiAgICAgIHNvdXJjZUNoZWNrTGlzdF9pZDogaXRlbS5zb3VyY2VDaGVja2xpc3RJZCxcclxuICAgICAgY292ZXJhZ2U6aXRlbS5jb3ZlcmFnZVxyXG4gICAgfTtcclxuICAgIGlmIChpdGVtLnJlZG8pIHtcclxuICAgICAgcXVlcnlQYXJhbXMudmlld1JlZG8gPSB0cnVlO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvbWFuYWdlL3RyYXgvZ2FsbGVyeSddLCB7IHF1ZXJ5UGFyYW1zIH0pO1xyXG4gIH1cclxufSIsIjxkaXYgY2xhc3M9XCJjb2wtbWQtMTJcIj5cclxuICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPiB7eyBvdmVyYWxsQ2FyZHNEYXRhLmNoZWNrbGlzdEFwcHJvdmFsPy5jb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICBvdmVyYWxsQ2FyZHNEYXRhLmNoZWNrbGlzdEFwcHJvdmFsPy5jb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDogJy0tJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb250ZXh0IG14LTUgbXQtM1wiPkNoZWNrbGlzdCB3YWl0aW5nIGZvclxyXG4gICAgICAgICAgICAgIGFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29sLTZcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPiB7eyBvdmVyYWxsQ2FyZHNEYXRhLnRhc2tBcHByb3ZhbD8uY291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgb3ZlcmFsbENhcmRzRGF0YS50YXNrQXBwcm92YWw/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOiAnLS0nIH19PC9zcGFuPiA8c3BhbiBjbGFzcz1cImFjdGlvbnRleHQgbXgtNSBtdC0zXCI+VGFzayB3YWl0aW5nIGZvclxyXG4gICAgICAgICAgICAgIGFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbS0wIG15LTNcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5BcHByb3ZhbDwvc3Bhbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1zdWIgbWItMlwiPkFuIFN1bW1hcnkgb2YgYWxsIHRoZSBjaGVja2xpc3RzIGF3YWl0aW5nIGFwcHJvdmFsXHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTQgbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+XHJcbiAgICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDwhLS0gW2Rpc2FibGVkXT1cInNlYXJjaERpc2FibGVkXCIgLS0+XHJcbiAgICAgICAgICAgICAgPGlucHV0IFsobmdNb2RlbCldPVwic2VhcmNoSW5wdXRcIiB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHctNDAwcHggcHMtMTQgbXQtMSBtZS0zXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgKGtleXVwLmVudGVyKT1cInNlYXJjaEZpZWxkKClcIiAvPlxyXG4gICAgICAgICAgICAgIDxsaWItZmlsdGVycyAqbmdJZj1cImlzVGFza1NlbGVjdGVkXCIgY2xhc3M9XCJtZS0zIG10LTFcIiBbZGF0YU9iamVjdF09XCJkYXRhT2JqZWN0XCJcclxuICAgICAgICAgICAgICAgIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+XHJcblxyXG4gICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwibXQtMSBib3JkZXJsZXNzLXNlbGVjdFwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1yZWFjdGl2ZS1zZWxlY3QgW2Zvcm1Db250cm9sXT1cInNlbGVjdGVkbGlzdHNlbGVjdENvbnRyb2xcIiBbaWRGaWVsZF09XCInX2lkJ1wiIFtuYW1lRmllbGRdPVwiJ2xhYmVsJ1wiXHJcbiAgICAgICAgICAgICAgICAgIFtkYXRhXT1cInN0YXR1c3NlbGVjdENvbnRyb2xcIiBjbGFzcz1cInctMjAwcHhcIiAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZVN0YXR1c1NlbGVjdCgkZXZlbnQpXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBsZXQtaXRlbT5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgaXRlbS5sYWJlbCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTUgNy41TDEwIDEyLjVMMTUgNy41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjEuNjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8L2xpYi1yZWFjdGl2ZS1zZWxlY3Q+XHJcbiAgICAgICAgICAgICAgPC9mb3JtPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcC0zXCI+XHJcbiAgICAgICAgICA8IS0tIG9wZW4gY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+T3BlbiA8c3BhbiAqbmdJZj1cIk9wZW5BcHByb3ZhbExpc3REYXRhLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXgtMlwiPiB7e09wZW5BcHByb3ZhbExpc3REYXRhLmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNyAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguNjY2NjcgMy4zMzMyNVYxMi42NjY2TTguNjY2NjcgMTIuNjY2NkwxMy4zMzMzIDcuOTk5OTJNOC42NjY2NyAxMi42NjY2TDQgNy45OTk5MlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFhcHByb3ZhbE9wZW5Mb2FkaW5nICYmICFhcHByb3ZhbE9wZW5Ob0RhdGFcIiBjbGFzcz1cInAtNSBjYXJkc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvcGVuIG9mIE9wZW5BcHByb3ZhbExpc3REYXRhXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9HYWxsZXJ5KG9wZW4pXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuLmNoZWNrTGlzdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG1lLTIgbXQtMSBiYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtdmlvbGV0Jzogb3Blbi5jaGVja0xpc3RUeXBlICE9PSAnY2N0dicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3tcclxuICAgICAgICAgICAgICAgICAgICAgIG9wZW4uY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA6IChvcGVuLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ0NUVidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKG9wZW4uY2hlY2tMaXN0VHlwZSA9PT0gJ2NoZWNrbGlzdFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0IFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAob3Blbi5jaGVja0xpc3RUeXBlID09PSAndGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAob3Blbi5jaGVja0xpc3RUeXBlIHwgdGl0bGVjYXNlKSB8fCAnLS0nKSkpXHJcbiAgICAgICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4ucmVkb1wiIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtYmx1ZSBtZS0yIG10LTFcIj48c3ZnXHJcbiAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV81NTc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMS41IDIuMDAwMDRWNS4wMDAwNE0xMS41IDUuMDAwMDRIOC41TTExLjUgNS4wMDAwNEw5LjE4IDIuODIwMDRDOC42NDI2MyAyLjI4MjM5IDcuOTc3ODEgMS44ODk2NCA3LjI0NzYgMS42Nzg0MkM2LjUxNzM4IDEuNDY3MjEgNS43NDU1NSAxLjQ0NDQxIDUuMDA0MTQgMS42MTIxN0M0LjI2MjczIDEuNzc5OTIgMy41NzU5IDIuMTMyNzUgMy4wMDc3MyAyLjYzNzc1QzIuNDM5NTcgMy4xNDI3NCAyLjAwODU4IDMuNzgzNDMgMS43NTUgNC41MDAwNE0wLjUgMTBWNy4wMDAwNE0wLjUgNy4wMDAwNEgzLjVNMC41IDcuMDAwMDRMMi44MiA5LjE4MDA0QzMuMzU3MzcgOS43MTc2OCA0LjAyMjE5IDEwLjExMDQgNC43NTI0IDEwLjMyMTdDNS40ODI2MiAxMC41MzI5IDYuMjU0NDUgMTAuNTU1NyA2Ljk5NTg2IDEwLjM4NzlDNy43MzcyNyAxMC4yMjAyIDguNDI0MSA5Ljg2NzMyIDguOTkyMjcgOS4zNjIzM0M5LjU2MDQzIDguODU3MzQgOS45OTE0MiA4LjIxNjY0IDEwLjI0NSA3LjUwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzJFOTBGQVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV81NTc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgPC9zdmc+UmVkbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9wZW4/LnByaW9yaXR5VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgbXQtMSBtZS0yIGJhZGdlIHRleHQtZW5kXCIgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogb3Blbi5wcmlvcml0eVR5cGUgPT09ICdoaWdoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogb3Blbi5wcmlvcml0eVR5cGUgPT09ICdsb3cnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBvcGVuLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IG9wZW4uY2hlY2tMaXN0TmFtZSB8fCAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuICpuZ0lmPVwiIW9wZW4ucmVkbyAmJiBvcGVuLmNoZWNrTGlzdFR5cGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgYmFkZ2UgYmFkZ2UtbGlnaHQtdmlvbGV0IG10LTFcIj4ge3sgb3Blbi5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJyA/ICdDaGVja2xpc3QnIDogKChvcGVuLmNoZWNrTGlzdFR5cGUgfCB0aXRsZWNhc2UpIHx8ICctLScpIH19PC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdFwiPlN0b3JlIEJhc2VkPC9zcGFuPiAtLT5cclxuICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IG9wZW4uY3JlYXRlZEJ5TmFtZSB8fCAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib3Blbi5zdG9yZUNvdW50ID4gMVwiPjxzdmcgKm5nSWY9XCJvcGVuPy5jb3ZlcmFnZSA9PT0ndXNlcidcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiA8c3ZnICpuZ0lmPVwib3Blbj8uY292ZXJhZ2UgPT09J3N0b3JlJ1wiIF9uZ2NvbnRlbnQtbmctYzUxNDUxNjM1Nz1cIlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE5IDE4XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBfbmdjb250ZW50LW5nLWM1MTQ1MTYzNTc9XCJcIiBkPVwiTTMuMTQzMzQgNS4yNjM4M0wzLjA5NjQ5IDUuMzM3MDFDMi42MTk1OCA2LjE4MzEzIDMuMTM0NTggNy4yNDI0MyA0LjA0MDI1IDcuMzYzNjZDNC4xMjUwNCA3LjM3NDAyIDQuMjAzMTIgNy4zNzkzOSA0LjI3ODg0IDcuMzc5MzlDNC43NzcwNCA3LjM3OTM5IDUuMjE3NDUgNy4xNjU4MyA1LjUyNDcyIDYuODMyM0w2LjA3ODA1IDYuMjMxNjhMNi42Mjk1IDYuODM0MDNDNi45MzI3NCA3LjE2NTI1IDcuMzcxOTkgNy4zNzkzOSA3Ljg3Mzc5IDcuMzc5MzlDOC4zNzMyOSA3LjM3OTM5IDguODE1MTYgNy4xNjQ5IDkuMTE4MDggNi44MzQwM0w5LjY3MTI2IDYuMjI5NzlMMTAuMjI0NCA2LjgzNDAzQzEwLjUyNzQgNy4xNjQ5IDEwLjk2OTIgNy4zNzkzOSAxMS40Njg3IDcuMzc5MzlDMTEuOTY4MiA3LjM3OTM5IDEyLjQxMDEgNy4xNjQ5IDEyLjcxMyA2LjgzNDAzTDEzLjI2NjIgNi4yMjk3OUwxMy44MTk0IDYuODM0MDNDMTQuMTIyMyA3LjE2NDkgMTQuNTY0MiA3LjM3OTM5IDE1LjA2MzcgNy4zNzkzOUMxNS4xMzY4IDcuMzc5MzkgMTUuMjE3MyA3LjM3NCAxNS4zMDE0IDcuMzYzNzdDMTYuMjI3MyA3LjIzNzEzIDE2Ljc0NDggNi4xMTk2MiAxNi4xOTY4IDUuMjY0MzNDMTYuMTk2NyA1LjI2NDI3IDE2LjE5NjcgNS4yNjQyMiAxNi4xOTY2IDUuMjY0MTZMMTQuNjE0MyAyLjc5NjkxTDE0LjYxNDMgMi43OTY5MUwxNC42MTM2IDIuNzk1NzlDMTQuNjEzMyAyLjc5NTQzIDE0LjYxMTQgMi43OTMyOCAxNC42MDY4IDIuNzkwNzlDMTQuNjAwNSAyLjc4NzQyIDE0LjU5MzQgMi43ODU2NCAxNC41ODY3IDIuNzg1NjRINC43NTAyN0M0Ljc0MzYzIDIuNzg1NjQgNC43MzY0OCAyLjc4NzQyIDQuNzMwMjYgMi43OTA3OUM0LjcyNTIgMi43OTM1MyA0LjcyMzM3IDIuNzk1ODUgNC43MjMzNyAyLjc5NTg1TDQuNzIzMDIgMi43OTY0MUwzLjE0MzM0IDUuMjYzODNaTTQuNTA3NTMgOS43NDM3NkM0LjQzMjgxIDkuNzQ3ODUgNC4zNTc0OCA5Ljc0OTkzIDQuMjgxNiA5Ljc0OTkzQzQuMjY4NzUgOS43NDk5MyA0LjI1NTkzIDkuNzQ5ODcgNC4yNDMxNCA5Ljc0OTc0VjEyLjQ4MjFWMTQuMjIzMUM0LjI0MzE0IDE0Ljc1OTkgNC42ODkxMyAxNS4yMTQyIDUuMjU3NTMgMTUuMjE0MkgxNC4wNzk1QzE0LjY0NzkgMTUuMjE0MiAxNS4wOTM5IDE0Ljc1OTkgMTUuMDkzOSAxNC4yMjMxVjEyLjQ4MjFWOS43NDk3OUMxNS4wODI5IDkuNzQ5ODggMTUuMDcxOSA5Ljc0OTkzIDE1LjA2MDkgOS43NDk5M0MxNC45ODMzIDkuNzQ5OTMgMTQuOTA2MiA5Ljc0Nzc1IDE0LjgyOTUgOS43NDM0NVYxMi40ODIxVjEzLjIzMjFIMTQuMDc5NUg1LjI1NzUzSDQuNTA3NTNWMTIuNDgyMVY5Ljc0Mzc2WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIj48L3BhdGg+PC9zdmc+IFxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+e3sgb3Blbi5zdWJtaXRDb3VudCAhPT1udWxsID8gb3Blbi5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBvcGVuLnN0b3JlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4uc3RvcmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuLnN0b3JlQ291bnQgPT09IDFcIj48c3ZnICpuZ0lmPVwib3Blbj8uY292ZXJhZ2UgPT09J3VzZXInXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDxzdmcgKm5nSWY9XCJvcGVuPy5jb3ZlcmFnZSA9PT0nc3RvcmUnXCIgX25nY29udGVudC1uZy1jNTE0NTE2MzU3PVwiXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTkgMThcIiBmaWxsPVwibm9uZVwiPjxwYXRoIF9uZ2NvbnRlbnQtbmctYzUxNDUxNjM1Nz1cIlwiIGQ9XCJNMy4xNDMzNCA1LjI2MzgzTDMuMDk2NDkgNS4zMzcwMUMyLjYxOTU4IDYuMTgzMTMgMy4xMzQ1OCA3LjI0MjQzIDQuMDQwMjUgNy4zNjM2NkM0LjEyNTA0IDcuMzc0MDIgNC4yMDMxMiA3LjM3OTM5IDQuMjc4ODQgNy4zNzkzOUM0Ljc3NzA0IDcuMzc5MzkgNS4yMTc0NSA3LjE2NTgzIDUuNTI0NzIgNi44MzIzTDYuMDc4MDUgNi4yMzE2OEw2LjYyOTUgNi44MzQwM0M2LjkzMjc0IDcuMTY1MjUgNy4zNzE5OSA3LjM3OTM5IDcuODczNzkgNy4zNzkzOUM4LjM3MzI5IDcuMzc5MzkgOC44MTUxNiA3LjE2NDkgOS4xMTgwOCA2LjgzNDAzTDkuNjcxMjYgNi4yMjk3OUwxMC4yMjQ0IDYuODM0MDNDMTAuNTI3NCA3LjE2NDkgMTAuOTY5MiA3LjM3OTM5IDExLjQ2ODcgNy4zNzkzOUMxMS45NjgyIDcuMzc5MzkgMTIuNDEwMSA3LjE2NDkgMTIuNzEzIDYuODM0MDNMMTMuMjY2MiA2LjIyOTc5TDEzLjgxOTQgNi44MzQwM0MxNC4xMjIzIDcuMTY0OSAxNC41NjQyIDcuMzc5MzkgMTUuMDYzNyA3LjM3OTM5QzE1LjEzNjggNy4zNzkzOSAxNS4yMTczIDcuMzc0IDE1LjMwMTQgNy4zNjM3N0MxNi4yMjczIDcuMjM3MTMgMTYuNzQ0OCA2LjExOTYyIDE2LjE5NjggNS4yNjQzM0MxNi4xOTY3IDUuMjY0MjcgMTYuMTk2NyA1LjI2NDIyIDE2LjE5NjYgNS4yNjQxNkwxNC42MTQzIDIuNzk2OTFMMTQuNjE0MyAyLjc5NjkxTDE0LjYxMzYgMi43OTU3OUMxNC42MTMzIDIuNzk1NDMgMTQuNjExNCAyLjc5MzI4IDE0LjYwNjggMi43OTA3OUMxNC42MDA1IDIuNzg3NDIgMTQuNTkzNCAyLjc4NTY0IDE0LjU4NjcgMi43ODU2NEg0Ljc1MDI3QzQuNzQzNjMgMi43ODU2NCA0LjczNjQ4IDIuNzg3NDIgNC43MzAyNiAyLjc5MDc5QzQuNzI1MiAyLjc5MzUzIDQuNzIzMzcgMi43OTU4NSA0LjcyMzM3IDIuNzk1ODVMNC43MjMwMiAyLjc5NjQxTDMuMTQzMzQgNS4yNjM4M1pNNC41MDc1MyA5Ljc0Mzc2QzQuNDMyODEgOS43NDc4NSA0LjM1NzQ4IDkuNzQ5OTMgNC4yODE2IDkuNzQ5OTNDNC4yNjg3NSA5Ljc0OTkzIDQuMjU1OTMgOS43NDk4NyA0LjI0MzE0IDkuNzQ5NzRWMTIuNDgyMVYxNC4yMjMxQzQuMjQzMTQgMTQuNzU5OSA0LjY4OTEzIDE1LjIxNDIgNS4yNTc1MyAxNS4yMTQySDE0LjA3OTVDMTQuNjQ3OSAxNS4yMTQyIDE1LjA5MzkgMTQuNzU5OSAxNS4wOTM5IDE0LjIyMzFWMTIuNDgyMVY5Ljc0OTc5QzE1LjA4MjkgOS43NDk4OCAxNS4wNzE5IDkuNzQ5OTMgMTUuMDYwOSA5Ljc0OTkzQzE0Ljk4MzMgOS43NDk5MyAxNC45MDYyIDkuNzQ3NzUgMTQuODI5NSA5Ljc0MzQ1VjEyLjQ4MjFWMTMuMjMyMUgxNC4wNzk1SDUuMjU3NTNINC41MDc1M1YxMi40ODIxVjkuNzQzNzZaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+e3sob3Blbj8uY292ZXJhZ2UgPT09ICd1c2VyJyA/IG9wZW4udXNlck5hbWUgOiBvcGVuLnN0b3JlTmFtZSkgfHwgJy0tJ319PC9zcGFuPjwvc3Bhbj4gXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib3Blbi5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJ1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj5SZXBlYXRzIHt7IG9wZW4uc2NoZWR1bGVSZXBlYXRlZFR5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuLnNjaGVkdWxlUmVwZWF0ZWRUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzMxNzgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiBzdHJva2U9XCJibGFja1wiIHN0cm9rZS13aWR0aD1cIjJcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV8zMTc4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBtcy0zXCI+e3sgb3Blbi5wdWJsaXNoRGF0ZSB8IGRhdGU6IFwiWVlZWS1NTS1kZFwiIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+QXBwcm92ZWQge3sgb3Blbi5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IG9wZW4uc3VibWl0Q291bnQgIT09bnVsbCA/IG9wZW4uc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gPC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbE9wZW5Mb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsT3Blbk5vRGF0YSAmJiAhYXBwcm92YWxPcGVuTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXktNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgT3BlbiBDaGVja2xpc3RcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGNhcmRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZC1mbGV4IGZsZXgtY29sdW1uIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXRleHRcIj5JbnByb2dyZXNzXHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj57e0lucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhLmxlbmd0aH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFhcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nICYmICFhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGFcIiBjbGFzcz1cInAtNSBjYXJkc2Nyb2xsIGN1cnNvci1wb2ludGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbnByb2dyZXNzIG9mIElucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhXCIoY2xpY2spPVwibmF2aWdhdGVUb0dhbGxlcnkoaW5wcm9ncmVzcylcIiBjbGFzcz1cImFwcHJvdmFsYm9keSBtYi00XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpbnByb2dyZXNzLnJlZG8gJiYgaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlXCJcclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG1lLTIgbXQtMSBiYWRnZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXZpb2xldCc6IGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSAhPT0gJ2NjdHYnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgPT09ICdjY3R2J1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj5cclxuICAgICAgICAgICAgICAgIHt7XHJcbiAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSA9PT0gJ2N1c3RvbSdcclxuICAgICAgICAgICAgICAgICAgICA/ICdDaGVja2xpc3QnXHJcbiAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlID09PSAnY2N0didcclxuICAgICAgICAgICAgICAgICAgICAgICAgPyAnQ0NUVidcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlID09PSAnY2hlY2tsaXN0VGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NoZWNrbGlzdCBUYXNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAoaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlID09PSAndGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdUYXNrJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSB8IHRpdGxlY2FzZSkgfHwgJy0tJykpKVxyXG4gICAgICAgICAgICAgICAgfX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLnJlZG9cIlxyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtYmx1ZSBtZS0yIG10LTFcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfNTU3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMyRTkwRkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfNTU3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+UmVkbzwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5wcm9ncmVzcz8ucHJpb3JpdHlUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIHRleHQtZW5kIG1lLTIgbXQtMVwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdoaWdoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtYmx1ZSc6IGlucHJvZ3Jlc3MucHJpb3JpdHlUeXBlID09PSAnbWVkaXVtJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtd2FybmluZyc6IGlucHJvZ3Jlc3MucHJpb3JpdHlUeXBlID09PSAnbG93J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGlucHJvZ3Jlc3MucHJpb3JpdHlUeXBlIHwgdGl0bGVjYXNlIH19IFByaW9yaXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVhZGluZ3RleHQgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICB7eyBpbnByb2dyZXNzLmNoZWNrTGlzdE5hbWUgfHwgJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHRcIj5TdG9yZSBCYXNlZDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPiB7eyBpbnByb2dyZXNzLmNyZWF0ZWRCeU5hbWUgfHwgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlucHJvZ3Jlc3Muc3RvcmVDb3VudCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzdmcgKm5nSWY9XCJpbnByb2dyZXNzPy5jb3ZlcmFnZSA9PT0ndXNlcidcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPiA8c3ZnICpuZ0lmPVwiaW5wcm9ncmVzcz8uY292ZXJhZ2UgPT09J3N0b3JlJ1wiIF9uZ2NvbnRlbnQtbmctYzUxNDUxNjM1Nz1cIlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE5XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE5IDE4XCIgZmlsbD1cIm5vbmVcIj48cGF0aCBfbmdjb250ZW50LW5nLWM1MTQ1MTYzNTc9XCJcIiBkPVwiTTMuMTQzMzQgNS4yNjM4M0wzLjA5NjQ5IDUuMzM3MDFDMi42MTk1OCA2LjE4MzEzIDMuMTM0NTggNy4yNDI0MyA0LjA0MDI1IDcuMzYzNjZDNC4xMjUwNCA3LjM3NDAyIDQuMjAzMTIgNy4zNzkzOSA0LjI3ODg0IDcuMzc5MzlDNC43NzcwNCA3LjM3OTM5IDUuMjE3NDUgNy4xNjU4MyA1LjUyNDcyIDYuODMyM0w2LjA3ODA1IDYuMjMxNjhMNi42Mjk1IDYuODM0MDNDNi45MzI3NCA3LjE2NTI1IDcuMzcxOTkgNy4zNzkzOSA3Ljg3Mzc5IDcuMzc5MzlDOC4zNzMyOSA3LjM3OTM5IDguODE1MTYgNy4xNjQ5IDkuMTE4MDggNi44MzQwM0w5LjY3MTI2IDYuMjI5NzlMMTAuMjI0NCA2LjgzNDAzQzEwLjUyNzQgNy4xNjQ5IDEwLjk2OTIgNy4zNzkzOSAxMS40Njg3IDcuMzc5MzlDMTEuOTY4MiA3LjM3OTM5IDEyLjQxMDEgNy4xNjQ5IDEyLjcxMyA2LjgzNDAzTDEzLjI2NjIgNi4yMjk3OUwxMy44MTk0IDYuODM0MDNDMTQuMTIyMyA3LjE2NDkgMTQuNTY0MiA3LjM3OTM5IDE1LjA2MzcgNy4zNzkzOUMxNS4xMzY4IDcuMzc5MzkgMTUuMjE3MyA3LjM3NCAxNS4zMDE0IDcuMzYzNzdDMTYuMjI3MyA3LjIzNzEzIDE2Ljc0NDggNi4xMTk2MiAxNi4xOTY4IDUuMjY0MzNDMTYuMTk2NyA1LjI2NDI3IDE2LjE5NjcgNS4yNjQyMiAxNi4xOTY2IDUuMjY0MTZMMTQuNjE0MyAyLjc5NjkxTDE0LjYxNDMgMi43OTY5MUwxNC42MTM2IDIuNzk1NzlDMTQuNjEzMyAyLjc5NTQzIDE0LjYxMTQgMi43OTMyOCAxNC42MDY4IDIuNzkwNzlDMTQuNjAwNSAyLjc4NzQyIDE0LjU5MzQgMi43ODU2NCAxNC41ODY3IDIuNzg1NjRINC43NTAyN0M0Ljc0MzYzIDIuNzg1NjQgNC43MzY0OCAyLjc4NzQyIDQuNzMwMjYgMi43OTA3OUM0LjcyNTIgMi43OTM1MyA0LjcyMzM3IDIuNzk1ODUgNC43MjMzNyAyLjc5NTg1TDQuNzIzMDIgMi43OTY0MUwzLjE0MzM0IDUuMjYzODNaTTQuNTA3NTMgOS43NDM3NkM0LjQzMjgxIDkuNzQ3ODUgNC4zNTc0OCA5Ljc0OTkzIDQuMjgxNiA5Ljc0OTkzQzQuMjY4NzUgOS43NDk5MyA0LjI1NTkzIDkuNzQ5ODcgNC4yNDMxNCA5Ljc0OTc0VjEyLjQ4MjFWMTQuMjIzMUM0LjI0MzE0IDE0Ljc1OTkgNC42ODkxMyAxNS4yMTQyIDUuMjU3NTMgMTUuMjE0MkgxNC4wNzk1QzE0LjY0NzkgMTUuMjE0MiAxNS4wOTM5IDE0Ljc1OTkgMTUuMDkzOSAxNC4yMjMxVjEyLjQ4MjFWOS43NDk3OUMxNS4wODI5IDkuNzQ5ODggMTUuMDcxOSA5Ljc0OTkzIDE1LjA2MDkgOS43NDk5M0MxNC45ODMzIDkuNzQ5OTMgMTQuOTA2MiA5Ljc0Nzc1IDE0LjgyOTUgOS43NDM0NVYxMi40ODIxVjEzLjIzMjFIMTQuMDc5NUg1LjI1NzUzSDQuNTA3NTNWMTIuNDgyMVY5Ljc0Mzc2WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjVcIj48L3BhdGg+PC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+e3sgaW5wcm9ncmVzcy5zdWJtaXRDb3VudCAhPT1udWxsID8gaW5wcm9ncmVzcy5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBpbnByb2dyZXNzLnN0b3JlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3Muc3RvcmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLnN0b3JlQ291bnQgPT09IDFcIj48c3ZnICpuZ0lmPVwiaW5wcm9ncmVzcz8uY292ZXJhZ2UgPT09J3VzZXInXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDxzdmcgKm5nSWY9XCJpbnByb2dyZXNzPy5jb3ZlcmFnZSA9PT0nc3RvcmUnXCIgX25nY29udGVudC1uZy1jNTE0NTE2MzU3PVwiXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTkgMThcIiBmaWxsPVwibm9uZVwiPjxwYXRoIF9uZ2NvbnRlbnQtbmctYzUxNDUxNjM1Nz1cIlwiIGQ9XCJNMy4xNDMzNCA1LjI2MzgzTDMuMDk2NDkgNS4zMzcwMUMyLjYxOTU4IDYuMTgzMTMgMy4xMzQ1OCA3LjI0MjQzIDQuMDQwMjUgNy4zNjM2NkM0LjEyNTA0IDcuMzc0MDIgNC4yMDMxMiA3LjM3OTM5IDQuMjc4ODQgNy4zNzkzOUM0Ljc3NzA0IDcuMzc5MzkgNS4yMTc0NSA3LjE2NTgzIDUuNTI0NzIgNi44MzIzTDYuMDc4MDUgNi4yMzE2OEw2LjYyOTUgNi44MzQwM0M2LjkzMjc0IDcuMTY1MjUgNy4zNzE5OSA3LjM3OTM5IDcuODczNzkgNy4zNzkzOUM4LjM3MzI5IDcuMzc5MzkgOC44MTUxNiA3LjE2NDkgOS4xMTgwOCA2LjgzNDAzTDkuNjcxMjYgNi4yMjk3OUwxMC4yMjQ0IDYuODM0MDNDMTAuNTI3NCA3LjE2NDkgMTAuOTY5MiA3LjM3OTM5IDExLjQ2ODcgNy4zNzkzOUMxMS45NjgyIDcuMzc5MzkgMTIuNDEwMSA3LjE2NDkgMTIuNzEzIDYuODM0MDNMMTMuMjY2MiA2LjIyOTc5TDEzLjgxOTQgNi44MzQwM0MxNC4xMjIzIDcuMTY0OSAxNC41NjQyIDcuMzc5MzkgMTUuMDYzNyA3LjM3OTM5QzE1LjEzNjggNy4zNzkzOSAxNS4yMTczIDcuMzc0IDE1LjMwMTQgNy4zNjM3N0MxNi4yMjczIDcuMjM3MTMgMTYuNzQ0OCA2LjExOTYyIDE2LjE5NjggNS4yNjQzM0MxNi4xOTY3IDUuMjY0MjcgMTYuMTk2NyA1LjI2NDIyIDE2LjE5NjYgNS4yNjQxNkwxNC42MTQzIDIuNzk2OTFMMTQuNjE0MyAyLjc5NjkxTDE0LjYxMzYgMi43OTU3OUMxNC42MTMzIDIuNzk1NDMgMTQuNjExNCAyLjc5MzI4IDE0LjYwNjggMi43OTA3OUMxNC42MDA1IDIuNzg3NDIgMTQuNTkzNCAyLjc4NTY0IDE0LjU4NjcgMi43ODU2NEg0Ljc1MDI3QzQuNzQzNjMgMi43ODU2NCA0LjczNjQ4IDIuNzg3NDIgNC43MzAyNiAyLjc5MDc5QzQuNzI1MiAyLjc5MzUzIDQuNzIzMzcgMi43OTU4NSA0LjcyMzM3IDIuNzk1ODVMNC43MjMwMiAyLjc5NjQxTDMuMTQzMzQgNS4yNjM4M1pNNC41MDc1MyA5Ljc0Mzc2QzQuNDMyODEgOS43NDc4NSA0LjM1NzQ4IDkuNzQ5OTMgNC4yODE2IDkuNzQ5OTNDNC4yNjg3NSA5Ljc0OTkzIDQuMjU1OTMgOS43NDk4NyA0LjI0MzE0IDkuNzQ5NzRWMTIuNDgyMVYxNC4yMjMxQzQuMjQzMTQgMTQuNzU5OSA0LjY4OTEzIDE1LjIxNDIgNS4yNTc1MyAxNS4yMTQySDE0LjA3OTVDMTQuNjQ3OSAxNS4yMTQyIDE1LjA5MzkgMTQuNzU5OSAxNS4wOTM5IDE0LjIyMzFWMTIuNDgyMVY5Ljc0OTc5QzE1LjA4MjkgOS43NDk4OCAxNS4wNzE5IDkuNzQ5OTMgMTUuMDYwOSA5Ljc0OTkzQzE0Ljk4MzMgOS43NDk5MyAxNC45MDYyIDkuNzQ3NzUgMTQuODI5NSA5Ljc0MzQ1VjEyLjQ4MjFWMTMuMjMyMUgxNC4wNzk1SDUuMjU3NTNINC41MDc1M1YxMi40ODIxVjkuNzQzNzZaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyhpbnByb2dyZXNzPy5jb3ZlcmFnZSA9PT0gJ3VzZXInID8gaW5wcm9ncmVzcy51c2VyTmFtZSA6IGlucHJvZ3Jlc3Muc3RvcmVOYW1lKSB8fCAnLS0nfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJ1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj5SZXBlYXRzIHt7IGlucHJvZ3Jlc3Muc2NoZWR1bGVSZXBlYXRlZFR5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnByb2dyZXNzLnNjaGVkdWxlUmVwZWF0ZWRUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzMxNzgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiBzdHJva2U9XCJibGFja1wiIHN0cm9rZS13aWR0aD1cIjJcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV8zMTc4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBtcy0zXCI+e3sgaW5wcm9ncmVzcy5wdWJsaXNoRGF0ZSB8IGRhdGU6IFwiWVlZWS1NTS1kZFwiIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+QXBwcm92ZWQge3sgaW5wcm9ncmVzcy5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnByb2dyZXNzLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGlucHJvZ3Jlc3Muc3VibWl0Q291bnQgIT09bnVsbCA/IGlucHJvZ3Jlc3Muc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxJbnByb2dyZXNzTm9EYXRhICYmICFhcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFzdWJ0ZXh0XCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciBJbnByb2dyZXNzIENoZWNrbGlsc3RcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8IS0tIGlucHJvZ3Jlc3MgY2FyZCBlbmQgLS0+XHJcbiAgICAgICAgICA8IS0tIEFwcHJvdmVkIGNhcmQgc3RhcnQgLS0+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBkLWZsZXggZmxleC1jb2x1bW4gbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtdGV4dFwiPkFwcHJvdmVkIDxzcGFuICpuZ0lmPVwiRG9uZUFwcHJvdmFsTGlzdERhdGEubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBteC0yXCI+IHt7RG9uZUFwcHJvdmFsTGlzdERhdGEubGVuZ3RofX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFwcHJvdmVkTG9hZGluZyAmJiAhYXBwcm92ZWROb0RhdGFcIiBjbGFzcz1cInAtNSBjYXJkc2Nyb2xsXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBkb25lIG9mIERvbmVBcHByb3ZhbExpc3REYXRhXCIgKGNsaWNrKT1cIm5hdmlnYXRlVG9HYWxsZXJ5KGRvbmUpXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhZG9uZS5yZWRvICYmIGRvbmUuY2hlY2tMaXN0VHlwZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBtZS0yIG10LTEgYmFkZ2VcIlxyXG4gICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC12aW9sZXQnOiBkb25lLmNoZWNrTGlzdFR5cGUgIT09ICdjY3R2JyxcclxuICAgICAgICAgICAgICAgICAgICAgICdiYWRnZS1saWdodC13YXJuaW5nJzogZG9uZS5jaGVja0xpc3RUeXBlID09PSAnY2N0didcclxuICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICAgICAgICBkb25lLmNoZWNrTGlzdFR5cGUgPT09ICdjdXN0b20nXHJcbiAgICAgICAgICAgICAgICAgICAgPyAnQ2hlY2tsaXN0J1xyXG4gICAgICAgICAgICAgICAgICAgIDogKGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2NjdHYnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ0NDVFYnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogKGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ2NoZWNrbGlzdFRhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICdDaGVja2xpc3QgVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogKGRvbmUuY2hlY2tMaXN0VHlwZSA9PT0gJ3Rhc2snXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnVGFzaydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IChkb25lLmNoZWNrTGlzdFR5cGUgfCB0aXRsZWNhc2UpIHx8ICctLScpKSlcclxuICAgICAgICAgICAgICAgIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9uZS5yZWRvXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG1lLTIgbXQtMVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfNTExOV81NTc2KVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuNSAyLjAwMDA0VjUuMDAwMDRNMTEuNSA1LjAwMDA0SDguNU0xMS41IDUuMDAwMDRMOS4xOCAyLjgyMDA0QzguNjQyNjMgMi4yODIzOSA3Ljk3NzgxIDEuODg5NjQgNy4yNDc2IDEuNjc4NDJDNi41MTczOCAxLjQ2NzIxIDUuNzQ1NTUgMS40NDQ0MSA1LjAwNDE0IDEuNjEyMTdDNC4yNjI3MyAxLjc3OTkyIDMuNTc1OSAyLjEzMjc1IDMuMDA3NzMgMi42Mzc3NUMyLjQzOTU3IDMuMTQyNzQgMi4wMDg1OCAzLjc4MzQzIDEuNzU1IDQuNTAwMDRNMC41IDEwVjcuMDAwMDRNMC41IDcuMDAwMDRIMy41TTAuNSA3LjAwMDA0TDIuODIgOS4xODAwNEMzLjM1NzM3IDkuNzE3NjggNC4wMjIxOSAxMC4xMTA0IDQuNzUyNCAxMC4zMjE3QzUuNDgyNjIgMTAuNTMyOSA2LjI1NDQ1IDEwLjU1NTcgNi45OTU4NiAxMC4zODc5QzcuNzM3MjcgMTAuMjIwMiA4LjQyNDEgOS44NjczMiA4Ljk5MjI3IDkuMzYyMzNDOS41NjA0MyA4Ljg1NzM0IDkuOTkxNDIgOC4yMTY2NCAxMC4yNDUgNy41MDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzJFOTBGQVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV81NTc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5SZWRvPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvbmUucHJpb3JpdHlUeXBlXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSB0ZXh0LWVuZCBtZS0yIG10LTFcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IGRvbmUucHJpb3JpdHlUeXBlID09PSAnaGlnaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBkb25lLnByaW9yaXR5VHlwZSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBkb25lLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkaW5ndGV4dCBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIHt7IGRvbmUuY2hlY2tMaXN0TmFtZSB8fCAnLS0nIH19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPiB7eyBkb25lLmNyZWF0ZWRCeU5hbWUgfHwgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnN0b3JlQ291bnQgPiAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyAqbmdJZj1cImRvbmU/LmNvdmVyYWdlID09PSd1c2VyJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDxzdmcgKm5nSWY9XCJkb25lPy5jb3ZlcmFnZSA9PT0nc3RvcmUnXCIgX25nY29udGVudC1uZy1jNTE0NTE2MzU3PVwiXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTkgMThcIiBmaWxsPVwibm9uZVwiPjxwYXRoIF9uZ2NvbnRlbnQtbmctYzUxNDUxNjM1Nz1cIlwiIGQ9XCJNMy4xNDMzNCA1LjI2MzgzTDMuMDk2NDkgNS4zMzcwMUMyLjYxOTU4IDYuMTgzMTMgMy4xMzQ1OCA3LjI0MjQzIDQuMDQwMjUgNy4zNjM2NkM0LjEyNTA0IDcuMzc0MDIgNC4yMDMxMiA3LjM3OTM5IDQuMjc4ODQgNy4zNzkzOUM0Ljc3NzA0IDcuMzc5MzkgNS4yMTc0NSA3LjE2NTgzIDUuNTI0NzIgNi44MzIzTDYuMDc4MDUgNi4yMzE2OEw2LjYyOTUgNi44MzQwM0M2LjkzMjc0IDcuMTY1MjUgNy4zNzE5OSA3LjM3OTM5IDcuODczNzkgNy4zNzkzOUM4LjM3MzI5IDcuMzc5MzkgOC44MTUxNiA3LjE2NDkgOS4xMTgwOCA2LjgzNDAzTDkuNjcxMjYgNi4yMjk3OUwxMC4yMjQ0IDYuODM0MDNDMTAuNTI3NCA3LjE2NDkgMTAuOTY5MiA3LjM3OTM5IDExLjQ2ODcgNy4zNzkzOUMxMS45NjgyIDcuMzc5MzkgMTIuNDEwMSA3LjE2NDkgMTIuNzEzIDYuODM0MDNMMTMuMjY2MiA2LjIyOTc5TDEzLjgxOTQgNi44MzQwM0MxNC4xMjIzIDcuMTY0OSAxNC41NjQyIDcuMzc5MzkgMTUuMDYzNyA3LjM3OTM5QzE1LjEzNjggNy4zNzkzOSAxNS4yMTczIDcuMzc0IDE1LjMwMTQgNy4zNjM3N0MxNi4yMjczIDcuMjM3MTMgMTYuNzQ0OCA2LjExOTYyIDE2LjE5NjggNS4yNjQzM0MxNi4xOTY3IDUuMjY0MjcgMTYuMTk2NyA1LjI2NDIyIDE2LjE5NjYgNS4yNjQxNkwxNC42MTQzIDIuNzk2OTFMMTQuNjE0MyAyLjc5NjkxTDE0LjYxMzYgMi43OTU3OUMxNC42MTMzIDIuNzk1NDMgMTQuNjExNCAyLjc5MzI4IDE0LjYwNjggMi43OTA3OUMxNC42MDA1IDIuNzg3NDIgMTQuNTkzNCAyLjc4NTY0IDE0LjU4NjcgMi43ODU2NEg0Ljc1MDI3QzQuNzQzNjMgMi43ODU2NCA0LjczNjQ4IDIuNzg3NDIgNC43MzAyNiAyLjc5MDc5QzQuNzI1MiAyLjc5MzUzIDQuNzIzMzcgMi43OTU4NSA0LjcyMzM3IDIuNzk1ODVMNC43MjMwMiAyLjc5NjQxTDMuMTQzMzQgNS4yNjM4M1pNNC41MDc1MyA5Ljc0Mzc2QzQuNDMyODEgOS43NDc4NSA0LjM1NzQ4IDkuNzQ5OTMgNC4yODE2IDkuNzQ5OTNDNC4yNjg3NSA5Ljc0OTkzIDQuMjU1OTMgOS43NDk4NyA0LjI0MzE0IDkuNzQ5NzRWMTIuNDgyMVYxNC4yMjMxQzQuMjQzMTQgMTQuNzU5OSA0LjY4OTEzIDE1LjIxNDIgNS4yNTc1MyAxNS4yMTQySDE0LjA3OTVDMTQuNjQ3OSAxNS4yMTQyIDE1LjA5MzkgMTQuNzU5OSAxNS4wOTM5IDE0LjIyMzFWMTIuNDgyMVY5Ljc0OTc5QzE1LjA4MjkgOS43NDk4OCAxNS4wNzE5IDkuNzQ5OTMgMTUuMDYwOSA5Ljc0OTkzQzE0Ljk4MzMgOS43NDk5MyAxNC45MDYyIDkuNzQ3NzUgMTQuODI5NSA5Ljc0MzQ1VjEyLjQ4MjFWMTMuMjMyMUgxNC4wNzk1SDUuMjU3NTNINC41MDc1M1YxMi40ODIxVjkuNzQzNzZaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+e3sgZG9uZS5zdWJtaXRDb3VudCAhPT1udWxsID8gZG9uZS5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBkb25lLnN0b3JlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUuc3RvcmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJkb25lLnN0b3JlQ291bnQgPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyAqbmdJZj1cImRvbmU/LmNvdmVyYWdlID09PSd1c2VyJ1wiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEzLjMzNDYgMTRWMTIuNjY2N0MxMy4zMzQ2IDExLjk1OTQgMTMuMDUzNyAxMS4yODExIDEyLjU1MzYgMTAuNzgxQzEyLjA1MzUgMTAuMjgxIDExLjM3NTIgMTAgMTAuNjY4IDEwSDUuMzM0NjRDNC42MjczOSAxMCAzLjk0OTExIDEwLjI4MSAzLjQ0OTAyIDEwLjc4MUMyLjk0ODkyIDExLjI4MTEgMi42Njc5NyAxMS45NTk0IDIuNjY3OTcgMTIuNjY2N1YxNE0xMC42NjggNC42NjY2N0MxMC42NjggNi4xMzk0MyA5LjQ3NDA2IDcuMzMzMzMgOC4wMDEzIDcuMzMzMzNDNi41Mjg1NCA3LjMzMzMzIDUuMzM0NjQgNi4xMzk0MyA1LjMzNDY0IDQuNjY2NjdDNS4zMzQ2NCAzLjE5MzkxIDYuNTI4NTQgMiA4LjAwMTMgMkM5LjQ3NDA2IDIgMTAuNjY4IDMuMTkzOTEgMTAuNjY4IDQuNjY2NjdaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+IDxzdmcgKm5nSWY9XCJkb25lPy5jb3ZlcmFnZSA9PT0nc3RvcmUnXCIgX25nY29udGVudC1uZy1jNTE0NTE2MzU3PVwiXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTlcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTkgMThcIiBmaWxsPVwibm9uZVwiPjxwYXRoIF9uZ2NvbnRlbnQtbmctYzUxNDUxNjM1Nz1cIlwiIGQ9XCJNMy4xNDMzNCA1LjI2MzgzTDMuMDk2NDkgNS4zMzcwMUMyLjYxOTU4IDYuMTgzMTMgMy4xMzQ1OCA3LjI0MjQzIDQuMDQwMjUgNy4zNjM2NkM0LjEyNTA0IDcuMzc0MDIgNC4yMDMxMiA3LjM3OTM5IDQuMjc4ODQgNy4zNzkzOUM0Ljc3NzA0IDcuMzc5MzkgNS4yMTc0NSA3LjE2NTgzIDUuNTI0NzIgNi44MzIzTDYuMDc4MDUgNi4yMzE2OEw2LjYyOTUgNi44MzQwM0M2LjkzMjc0IDcuMTY1MjUgNy4zNzE5OSA3LjM3OTM5IDcuODczNzkgNy4zNzkzOUM4LjM3MzI5IDcuMzc5MzkgOC44MTUxNiA3LjE2NDkgOS4xMTgwOCA2LjgzNDAzTDkuNjcxMjYgNi4yMjk3OUwxMC4yMjQ0IDYuODM0MDNDMTAuNTI3NCA3LjE2NDkgMTAuOTY5MiA3LjM3OTM5IDExLjQ2ODcgNy4zNzkzOUMxMS45NjgyIDcuMzc5MzkgMTIuNDEwMSA3LjE2NDkgMTIuNzEzIDYuODM0MDNMMTMuMjY2MiA2LjIyOTc5TDEzLjgxOTQgNi44MzQwM0MxNC4xMjIzIDcuMTY0OSAxNC41NjQyIDcuMzc5MzkgMTUuMDYzNyA3LjM3OTM5QzE1LjEzNjggNy4zNzkzOSAxNS4yMTczIDcuMzc0IDE1LjMwMTQgNy4zNjM3N0MxNi4yMjczIDcuMjM3MTMgMTYuNzQ0OCA2LjExOTYyIDE2LjE5NjggNS4yNjQzM0MxNi4xOTY3IDUuMjY0MjcgMTYuMTk2NyA1LjI2NDIyIDE2LjE5NjYgNS4yNjQxNkwxNC42MTQzIDIuNzk2OTFMMTQuNjE0MyAyLjc5NjkxTDE0LjYxMzYgMi43OTU3OUMxNC42MTMzIDIuNzk1NDMgMTQuNjExNCAyLjc5MzI4IDE0LjYwNjggMi43OTA3OUMxNC42MDA1IDIuNzg3NDIgMTQuNTkzNCAyLjc4NTY0IDE0LjU4NjcgMi43ODU2NEg0Ljc1MDI3QzQuNzQzNjMgMi43ODU2NCA0LjczNjQ4IDIuNzg3NDIgNC43MzAyNiAyLjc5MDc5QzQuNzI1MiAyLjc5MzUzIDQuNzIzMzcgMi43OTU4NSA0LjcyMzM3IDIuNzk1ODVMNC43MjMwMiAyLjc5NjQxTDMuMTQzMzQgNS4yNjM4M1pNNC41MDc1MyA5Ljc0Mzc2QzQuNDMyODEgOS43NDc4NSA0LjM1NzQ4IDkuNzQ5OTMgNC4yODE2IDkuNzQ5OTNDNC4yNjg3NSA5Ljc0OTkzIDQuMjU1OTMgOS43NDk4NyA0LjI0MzE0IDkuNzQ5NzRWMTIuNDgyMVYxNC4yMjMxQzQuMjQzMTQgMTQuNzU5OSA0LjY4OTEzIDE1LjIxNDIgNS4yNTc1MyAxNS4yMTQySDE0LjA3OTVDMTQuNjQ3OSAxNS4yMTQyIDE1LjA5MzkgMTQuNzU5OSAxNS4wOTM5IDE0LjIyMzFWMTIuNDgyMVY5Ljc0OTc5QzE1LjA4MjkgOS43NDk4OCAxNS4wNzE5IDkuNzQ5OTMgMTUuMDYwOSA5Ljc0OTkzQzE0Ljk4MzMgOS43NDk5MyAxNC45MDYyIDkuNzQ3NzUgMTQuODI5NSA5Ljc0MzQ1VjEyLjQ4MjFWMTMuMjMyMUgxNC4wNzk1SDUuMjU3NTNINC41MDc1M1YxMi40ODIxVjkuNzQzNzZaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNVwiPjwvcGF0aD48L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj57eyhkb25lPy5jb3ZlcmFnZSA9PT0gJ3VzZXInID8gZG9uZS51c2VyTmFtZSA6IGRvbmUuc3RvcmVOYW1lKSB8fCAnLS0nfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9uZS5jaGVja0xpc3RUeXBlID09PSAnY3VzdG9tJ1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj5SZXBlYXRzIHt7IGRvbmUuc2NoZWR1bGVSZXBlYXRlZFR5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkb25lLnNjaGVkdWxlUmVwZWF0ZWRUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzMxNzgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiBzdHJva2U9XCJibGFja1wiIHN0cm9rZS13aWR0aD1cIjJcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV8zMTc4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBtcy0zXCI+e3sgZG9uZS5wdWJsaXNoRGF0ZSB8IGRhdGU6IFwiWVlZWS1NTS1kZFwifX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj5BcHByb3ZlZCB7eyBkb25lLmFwcHJvdmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgIGRvbmUuYXBwcm92ZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgZG9uZS5zdWJtaXRDb3VudCAhPT1udWxsID8gZG9uZS5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92ZWRMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmVkTm9EYXRhICYmICFhcHByb3ZlZExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIEFwcHJvdmVkIENoZWNrbGlzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gQXBwcm92ZWQgY2FyZCBlbmQgLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwicm93IG15LTNcIj5cclxuICAgIDxuZy1jb250YWluZXI+XHJcbiAgICAgIDxkaXYgbmdiQWNjb3JkaW9uPlxyXG4gICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uSXRlbSBbY29sbGFwc2VkXT1cImZhbHNlXCI+XHJcbiAgICAgICAgICA8aDIgbmdiQWNjb3JkaW9uSGVhZGVyPlxyXG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwiaGVhZHRleHRcIiBuZ2JBY2NvcmRpb25CdXR0b24+QWN0aXZpdHkgTG9nPGRpdiBjbGFzcz1cImRpdmlkZXJcIj48L2Rpdj48L2J1dHRvbj5cclxuICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkNvbGxhcHNlPlxyXG4gICAgICAgICAgICA8ZGl2IG5nYkFjY29yZGlvbkJvZHk+XHJcbiAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgPGxpYi1hY3Rpdml0eS1sb2c+PC9saWItYWN0aXZpdHktbG9nPlxyXG4gICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=