vc-create-dashboard 3.0.87 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/README.md +24 -24
  2. package/fesm2022/vc-create-dashboard.mjs +6476 -6464
  3. package/fesm2022/vc-create-dashboard.mjs.map +1 -1
  4. package/package.json +5 -6
  5. package/types/vc-create-dashboard.d.ts +1680 -0
  6. package/esm2022/lib/configurations.mjs +0 -7
  7. package/esm2022/lib/create-dashboard-container/categories/categories-config.mjs +0 -2
  8. package/esm2022/lib/create-dashboard-container/categories/categories.component.mjs +0 -212
  9. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.mjs +0 -350
  10. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.mjs +0 -2
  11. package/esm2022/lib/create-dashboard-container/configure-widgets/configure-widgets.module.mjs +0 -47
  12. package/esm2022/lib/create-dashboard-container/constants/assets.constant.mjs +0 -37
  13. package/esm2022/lib/create-dashboard-container/create-dashboard-config.mjs +0 -2
  14. package/esm2022/lib/create-dashboard-container/create-dashboard.component.mjs +0 -1601
  15. package/esm2022/lib/create-dashboard-container/create-dashboard.module.mjs +0 -127
  16. package/esm2022/lib/create-dashboard-container/directives/directives.module.mjs +0 -24
  17. package/esm2022/lib/create-dashboard-container/directives/scroll-in-view.directive.mjs +0 -36
  18. package/esm2022/lib/create-dashboard-container/form-group/form-group.component.mjs +0 -153
  19. package/esm2022/lib/create-dashboard-container/frequency/frequency.component.mjs +0 -309
  20. package/esm2022/lib/create-dashboard-container/interfaces/widget-data-model.mjs +0 -2
  21. package/esm2022/lib/create-dashboard-container/pipes/filter.pipe.mjs +0 -30
  22. package/esm2022/lib/create-dashboard-container/pipes/search-program.pipe.mjs +0 -37
  23. package/esm2022/lib/create-dashboard-container/pipes/search.pipe.mjs +0 -25
  24. package/esm2022/lib/create-dashboard-container/pipes/text-count.pipe.mjs +0 -18
  25. package/esm2022/lib/create-dashboard-container/program-list/constant.mjs +0 -31
  26. package/esm2022/lib/create-dashboard-container/program-list/information-block/information-block.component.mjs +0 -13
  27. package/esm2022/lib/create-dashboard-container/program-list/interfaces/list-item.interface.mjs +0 -2
  28. package/esm2022/lib/create-dashboard-container/program-list/list-container/list-container.component.mjs +0 -50
  29. package/esm2022/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.mjs +0 -23
  30. package/esm2022/lib/create-dashboard-container/program-list/program-list/program-list.component.mjs +0 -294
  31. package/esm2022/lib/create-dashboard-container/program-list/program-list.module.mjs +0 -60
  32. package/esm2022/lib/create-dashboard-container/program-list/services/list-utils.service.mjs +0 -27
  33. package/esm2022/lib/create-dashboard-container/program-list/services/program-list-api.service.mjs +0 -28
  34. package/esm2022/lib/create-dashboard-container/responsibility-center/responsibility-center.component.mjs +0 -239
  35. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories-config.mjs +0 -2
  36. package/esm2022/lib/create-dashboard-container/risk-categories/risk-categories.component.mjs +0 -206
  37. package/esm2022/lib/create-dashboard-container/services/configure-widgets.service.mjs +0 -233
  38. package/esm2022/lib/create-dashboard-container/services/create-dashboard.service.mjs +0 -222
  39. package/esm2022/lib/create-dashboard-container/services/pagination.service.mjs +0 -28
  40. package/esm2022/lib/create-dashboard-container/user-list/user-list.component.mjs +0 -440
  41. package/esm2022/lib/create-dashboard-container/user-list/user-list.config.mjs +0 -2
  42. package/esm2022/lib/create-dashboard-container/utils/dashboard-edit.utils.mjs +0 -181
  43. package/esm2022/lib/create-dashboard.service.mjs +0 -14
  44. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.mjs +0 -52
  45. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer-config.mjs +0 -2
  46. package/esm2022/lib/ui-kit/dashboard-footer/dashboard-footer.module.mjs +0 -32
  47. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +0 -7
  48. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +0 -17
  49. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +0 -11
  50. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +0 -96
  51. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +0 -20
  52. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +0 -56
  53. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +0 -17
  54. package/esm2022/lib/ui-kit/floating-bar/floating-bar.component.mjs +0 -57
  55. package/esm2022/lib/ui-kit/floating-bar/floating-bar.module.mjs +0 -32
  56. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +0 -30
  57. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +0 -29
  58. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +0 -34
  59. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +0 -14
  60. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +0 -119
  61. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +0 -39
  62. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +0 -55
  63. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +0 -19
  64. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +0 -24
  65. package/esm2022/lib/ui-kit/loaders/loaders.module.mjs +0 -24
  66. package/esm2022/lib/ui-kit/loaders/table-loader/table-loader.component.mjs +0 -18
  67. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +0 -47
  68. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +0 -18
  69. package/esm2022/lib/ui-kit/pagination/pagination.component.mjs +0 -130
  70. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +0 -18
  71. package/esm2022/lib/ui-kit/popover/popover.component.mjs +0 -129
  72. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +0 -93
  73. package/esm2022/lib/ui-kit/popover/popover.module.mjs +0 -21
  74. package/esm2022/lib/ui-kit/popover/popover.service.mjs +0 -23
  75. package/esm2022/lib/ui-kit/select/cs-option/cs-option.component.mjs +0 -41
  76. package/esm2022/lib/ui-kit/select/cs-select/cs-select.component.mjs +0 -107
  77. package/esm2022/lib/ui-kit/select/safe-html.pipe.mjs +0 -21
  78. package/esm2022/lib/ui-kit/select/select.module.mjs +0 -21
  79. package/esm2022/lib/ui-kit/services/cs-select.service.mjs +0 -16
  80. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +0 -52
  81. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +0 -18
  82. package/esm2022/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.mjs +0 -46
  83. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +0 -18
  84. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +0 -23
  85. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +0 -168
  86. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +0 -18
  87. package/esm2022/lib/ui-kit/v-loader/loader/loader.component.mjs +0 -24
  88. package/esm2022/lib/ui-kit/v-loader/loader-inline/loader-inline.component.mjs +0 -24
  89. package/esm2022/lib/ui-kit/v-loader/v-loader.module.mjs +0 -19
  90. package/esm2022/public-api.mjs +0 -10
  91. package/esm2022/vc-create-dashboard.mjs +0 -5
  92. package/index.d.ts +0 -5
  93. package/lib/configurations.d.ts +0 -4
  94. package/lib/create-dashboard-container/categories/categories-config.d.ts +0 -18
  95. package/lib/create-dashboard-container/categories/categories.component.d.ts +0 -66
  96. package/lib/create-dashboard-container/configure-widgets/configure-widgets/configure-widgets.component.d.ts +0 -113
  97. package/lib/create-dashboard-container/configure-widgets/configure-widgets/widget.interface.d.ts +0 -9
  98. package/lib/create-dashboard-container/configure-widgets/configure-widgets.module.d.ts +0 -14
  99. package/lib/create-dashboard-container/constants/assets.constant.d.ts +0 -35
  100. package/lib/create-dashboard-container/create-dashboard-config.d.ts +0 -18
  101. package/lib/create-dashboard-container/create-dashboard.component.d.ts +0 -219
  102. package/lib/create-dashboard-container/create-dashboard.module.d.ts +0 -37
  103. package/lib/create-dashboard-container/directives/directives.module.d.ts +0 -8
  104. package/lib/create-dashboard-container/directives/scroll-in-view.directive.d.ts +0 -12
  105. package/lib/create-dashboard-container/form-group/form-group.component.d.ts +0 -48
  106. package/lib/create-dashboard-container/frequency/frequency.component.d.ts +0 -39
  107. package/lib/create-dashboard-container/interfaces/widget-data-model.d.ts +0 -8
  108. package/lib/create-dashboard-container/pipes/filter.pipe.d.ts +0 -7
  109. package/lib/create-dashboard-container/pipes/search-program.pipe.d.ts +0 -7
  110. package/lib/create-dashboard-container/pipes/search.pipe.d.ts +0 -7
  111. package/lib/create-dashboard-container/pipes/text-count.pipe.d.ts +0 -7
  112. package/lib/create-dashboard-container/program-list/constant.d.ts +0 -24
  113. package/lib/create-dashboard-container/program-list/information-block/information-block.component.d.ts +0 -6
  114. package/lib/create-dashboard-container/program-list/interfaces/list-item.interface.d.ts +0 -5
  115. package/lib/create-dashboard-container/program-list/list-container/list-container.component.d.ts +0 -9
  116. package/lib/create-dashboard-container/program-list/pipes/check-selected-items.pipes.d.ts +0 -7
  117. package/lib/create-dashboard-container/program-list/program-list/program-list.component.d.ts +0 -119
  118. package/lib/create-dashboard-container/program-list/program-list.module.d.ts +0 -17
  119. package/lib/create-dashboard-container/program-list/services/list-utils.service.d.ts +0 -7
  120. package/lib/create-dashboard-container/program-list/services/program-list-api.service.d.ts +0 -12
  121. package/lib/create-dashboard-container/responsibility-center/responsibility-center.component.d.ts +0 -72
  122. package/lib/create-dashboard-container/risk-categories/risk-categories-config.d.ts +0 -18
  123. package/lib/create-dashboard-container/risk-categories/risk-categories.component.d.ts +0 -66
  124. package/lib/create-dashboard-container/services/configure-widgets.service.d.ts +0 -21
  125. package/lib/create-dashboard-container/services/create-dashboard.service.d.ts +0 -80
  126. package/lib/create-dashboard-container/services/pagination.service.d.ts +0 -12
  127. package/lib/create-dashboard-container/user-list/user-list.component.d.ts +0 -123
  128. package/lib/create-dashboard-container/user-list/user-list.config.d.ts +0 -13
  129. package/lib/create-dashboard-container/utils/dashboard-edit.utils.d.ts +0 -16
  130. package/lib/create-dashboard.service.d.ts +0 -6
  131. package/lib/ui-kit/dashboard-footer/dashboard-footer/dashboard-footer.component.d.ts +0 -17
  132. package/lib/ui-kit/dashboard-footer/dashboard-footer-config.d.ts +0 -11
  133. package/lib/ui-kit/dashboard-footer/dashboard-footer.module.d.ts +0 -10
  134. package/lib/ui-kit/dialog/dialog-config.d.ts +0 -6
  135. package/lib/ui-kit/dialog/dialog-injector.d.ts +0 -7
  136. package/lib/ui-kit/dialog/dialog-ref.d.ts +0 -7
  137. package/lib/ui-kit/dialog/dialog.component.d.ts +0 -33
  138. package/lib/ui-kit/dialog/dialog.module.d.ts +0 -9
  139. package/lib/ui-kit/dialog/dialog.service.d.ts +0 -17
  140. package/lib/ui-kit/dialog/insertion.directive.d.ts +0 -8
  141. package/lib/ui-kit/floating-bar/floating-bar.component.d.ts +0 -20
  142. package/lib/ui-kit/floating-bar/floating-bar.module.d.ts +0 -10
  143. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +0 -10
  144. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +0 -13
  145. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +0 -15
  146. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +0 -8
  147. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +0 -36
  148. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +0 -15
  149. package/lib/ui-kit/formgroup/formgroup.module.d.ts +0 -17
  150. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +0 -7
  151. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +0 -7
  152. package/lib/ui-kit/loaders/loaders.module.d.ts +0 -8
  153. package/lib/ui-kit/loaders/table-loader/table-loader.component.d.ts +0 -9
  154. package/lib/ui-kit/no-data/no-data.component.d.ts +0 -19
  155. package/lib/ui-kit/no-data/no-data.module.d.ts +0 -8
  156. package/lib/ui-kit/pagination/pagination.component.d.ts +0 -21
  157. package/lib/ui-kit/pagination/pagination.module.d.ts +0 -8
  158. package/lib/ui-kit/popover/popover.component.d.ts +0 -28
  159. package/lib/ui-kit/popover/popover.directive.d.ts +0 -17
  160. package/lib/ui-kit/popover/popover.module.d.ts +0 -9
  161. package/lib/ui-kit/popover/popover.service.d.ts +0 -13
  162. package/lib/ui-kit/select/cs-option/cs-option.component.d.ts +0 -16
  163. package/lib/ui-kit/select/cs-select/cs-select.component.d.ts +0 -32
  164. package/lib/ui-kit/select/safe-html.pipe.d.ts +0 -10
  165. package/lib/ui-kit/select/select.module.d.ts +0 -11
  166. package/lib/ui-kit/services/cs-select.service.d.ts +0 -7
  167. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +0 -17
  168. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +0 -8
  169. package/lib/ui-kit/snack-bar/snack-bar/snack-bar.component.d.ts +0 -17
  170. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +0 -8
  171. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +0 -9
  172. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +0 -28
  173. package/lib/ui-kit/tooltip/tooltip.module.d.ts +0 -8
  174. package/lib/ui-kit/v-loader/loader/loader.component.d.ts +0 -11
  175. package/lib/ui-kit/v-loader/loader-inline/loader-inline.component.d.ts +0 -11
  176. package/lib/ui-kit/v-loader/v-loader.module.d.ts +0 -9
  177. package/public-api.d.ts +0 -3
@@ -1,350 +0,0 @@
1
- import { Component, EventEmitter, Input, Output, } from '@angular/core';
2
- import { ASSETS } from '../../constants/assets.constant';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../../ui-kit/dialog/dialog-ref";
5
- import * as i2 from "../../services/configure-widgets.service";
6
- import * as i3 from "../../../ui-kit/snack-bar/snack-bar.service";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "../../../ui-kit/floating-bar/floating-bar.component";
9
- import * as i6 from "../../../ui-kit/formgroup/cs-checkbox/cs-checkbox.component";
10
- import * as i7 from "@angular/forms";
11
- import * as i8 from "../../../ui-kit/no-data/no-data.component";
12
- import * as i9 from "../../pipes/search.pipe";
13
- export class ConfigureWidgetsComponent {
14
- dialog;
15
- configureWidgetsService;
16
- snackBar;
17
- widgetsDataModified = new EventEmitter();
18
- closeConfigureWidgets = new EventEmitter();
19
- checkboxStatus;
20
- search = '';
21
- checkedArray = [];
22
- selectedWidgets = [];
23
- ASSETS = ASSETS;
24
- module = 'COMPLIANCE';
25
- selectedWidgetsData = [];
26
- displayedWidgets = [];
27
- showRisk = false;
28
- showCompliance = false;
29
- mode = 'CREATE';
30
- noDataText = 'You have not configured any widgets. Click on the <strong>Configure Widgets</strong> button to begin.';
31
- selectedWidgetIds = [];
32
- subResponsibilitiesSelected = false;
33
- subKeyResponsibilitiesSelected = false;
34
- showWidgets = true;
35
- complianceWidgetsDisplayCount = 9;
36
- riskWidgetsDisplayCount = 9;
37
- constructor(dialog, configureWidgetsService, snackBar) {
38
- this.dialog = dialog;
39
- this.configureWidgetsService = configureWidgetsService;
40
- this.snackBar = snackBar;
41
- }
42
- ngOnChanges() {
43
- this.selectedWidgets = [];
44
- if (this.mode === 'EDIT') {
45
- this.applyEditModeWidgetCatalog();
46
- }
47
- else {
48
- this.applyCreateModeWidgetVisibility();
49
- this.applySavedWidgetSelection(this.selectedWidgetsData);
50
- }
51
- this.module = this.showCompliance ? 'COMPLIANCE' : 'RISK';
52
- this.setSelectedWidgets();
53
- }
54
- /** EDIT: show full widget catalog; check items present in getWidgets widgetArr. */
55
- applyEditModeWidgetCatalog() {
56
- this.widgetsList.COMPLIANCE.forEach((ele) => {
57
- ele.value = false;
58
- ele.visibility = true;
59
- (ele.subWidgets ?? []).forEach((sub) => {
60
- sub.value = false;
61
- sub.visibility = true;
62
- });
63
- });
64
- this.complianceWidgetsDisplayCount = this.widgetsList.COMPLIANCE.filter((w) => w.visibility).length;
65
- this.riskWidgetsDisplayCount = 0;
66
- this.applySavedWidgetSelection(this.selectedWidgetsData);
67
- }
68
- /** CREATE: limit visible tiles to displayedWidgets when provided. */
69
- applyCreateModeWidgetVisibility() {
70
- if (!this.displayedWidgets?.length) {
71
- return;
72
- }
73
- this.setWidgetsVisibilityToFalse();
74
- this.riskWidgetsDisplayCount = 0;
75
- this.complianceWidgetsDisplayCount = 0;
76
- const finalData = [...new Set(this.displayedWidgets)];
77
- finalData.forEach((element) => {
78
- this.widgetsList.COMPLIANCE.forEach((ele) => {
79
- if (ele.id !== element.widget_code) {
80
- return;
81
- }
82
- ele.visibility = true;
83
- if (ele.subWidgets.length > 0) {
84
- const visibleSubCodes = (element.sub_widgets ?? []).map((subwidget) => subwidget.widget_code);
85
- ele.subWidgets.forEach((subElement, subIndex) => {
86
- ele.subWidgets[subIndex].visibility = visibleSubCodes.includes(subElement.id);
87
- });
88
- }
89
- this.complianceWidgetsDisplayCount++;
90
- });
91
- });
92
- }
93
- applySavedWidgetSelection(savedWidgets) {
94
- const data = [...new Set(savedWidgets ?? [])];
95
- data.forEach((element) => {
96
- if (element?.state && element.state !== 'ACTIVE') {
97
- return;
98
- }
99
- this.widgetsList.COMPLIANCE.forEach((ele) => {
100
- if (ele.id !== element.widget_code) {
101
- return;
102
- }
103
- ele.value = true;
104
- if (ele.subWidgets.length > 0 && element.sub_widgets?.length) {
105
- const activeSubCodes = (element.sub_widgets ?? [])
106
- .filter((subwidget) => subwidget.state === 'ACTIVE')
107
- .map((subwidget) => subwidget.widget_code);
108
- ele.subWidgets.forEach((subElement, subIndex) => {
109
- ele.subWidgets[subIndex].value = activeSubCodes.includes(subElement.id);
110
- });
111
- }
112
- });
113
- });
114
- }
115
- ngOnInit() { }
116
- widgetsList = {
117
- COMPLIANCE: [
118
- {
119
- title: 'Overview',
120
- id: 'overview',
121
- description: 'Overview shows the performance of responsibilities and Programs.',
122
- widgetImage: ASSETS.overviewWidget,
123
- value: false,
124
- visibility: true,
125
- module: 'COMPLIANCE',
126
- subWidgets: [],
127
- },
128
- {
129
- title: 'Responsibility Calendar',
130
- id: 'compliance_calendar_flag',
131
- description: 'The Responsibility Calendar shows the due dates of responsibilities in a calendar format. The responsibilities are color coded to reflect the status of the responsibilities.',
132
- widgetImage: ASSETS.responsibilityCalenderWidget,
133
- value: false,
134
- visibility: true,
135
- module: 'COMPLIANCE',
136
- subWidgets: [],
137
- },
138
- {
139
- title: 'Responsibilities by Assignee',
140
- id: 'responsibilities_by_assignee',
141
- description: 'The Responsibilities by Assignee widget shows the performance of responsibilities by users.',
142
- widgetImage: ASSETS.responsibilitiesByAssignee,
143
- value: false,
144
- visibility: true,
145
- module: 'COMPLIANCE',
146
- subWidgets: [],
147
- },
148
- {
149
- title: 'Responsibility Center Overview',
150
- id: 'responsibility_center_overview_flag',
151
- description: 'The Responsibility Center Overview shows the performance of responsibilities and Responsibility Centers.',
152
- widgetImage: ASSETS.responsibilityCenterOverviewWidget,
153
- value: false,
154
- visibility: true,
155
- module: 'COMPLIANCE',
156
- subWidgets: [],
157
- },
158
- {
159
- title: 'Responsibilities',
160
- id: 'my_responsibilities',
161
- description: 'This widget shows the performance of the responsibilities that you are required to complete, the responsibilities that you are reviewing and the responsibilities that you are overseeing.',
162
- widgetImage: ASSETS.myResponsibilitiesWidget,
163
- tabOption: true,
164
- value: false,
165
- visibility: true,
166
- module: 'COMPLIANCE',
167
- subWidgets: [
168
- {
169
- title: 'My Responsibilities',
170
- id: 'my_responsibility_flag',
171
- value: false,
172
- visibility: true,
173
- },
174
- {
175
- title: 'I’m Reviewing',
176
- id: 'reviewer_responsibility_flag',
177
- value: false,
178
- visibility: true,
179
- },
180
- {
181
- title: 'I’m Overseeing',
182
- id: 'cc_responsibility_flag',
183
- value: false,
184
- visibility: true,
185
- },
186
- ],
187
- },
188
- {
189
- title: 'Key Responsibilities',
190
- id: 'key_responsibilities',
191
- description: 'This widget shows the performance of key responsibilities that you are required to complete, that you are reviewing, that you are overseeing and that you have assigned to another person.',
192
- widgetImage: ASSETS.keyResponsibilitiesWidget,
193
- tabOption: true,
194
- value: false,
195
- visibility: true,
196
- module: 'COMPLIANCE',
197
- subWidgets: [
198
- // {
199
- // title: 'Overview',
200
- // id: 'key_responsibilities_overview_flag',
201
- // value: false,
202
- // visibility: true,
203
- // },
204
- {
205
- title: 'My Responsibilities',
206
- id: 'key_my_responsibilities_flag',
207
- value: false,
208
- visibility: true,
209
- },
210
- {
211
- title: 'I’m Reviewing',
212
- id: 'key_i_am_reviewing_flag',
213
- value: false,
214
- visibility: true,
215
- },
216
- {
217
- title: 'I’m Overseeing',
218
- id: 'key_i_am_overseeing_flag',
219
- value: false,
220
- visibility: true,
221
- },
222
- ],
223
- },
224
- {
225
- title: 'Trend Analysis',
226
- id: 'trend_analysis_flag',
227
- description: 'The Trend Analysis is a graphical representation of the performance of responsibilities over a period.',
228
- widgetImage: ASSETS.trendAnalysisWidget,
229
- value: false,
230
- visibility: true,
231
- module: 'COMPLIANCE',
232
- subWidgets: [],
233
- },
234
- ],
235
- };
236
- selectWidget(event, module, widgetId, subWidgetId) {
237
- const widgetIndex = this.widgetsList[module].findIndex((ele) => ele.id == widgetId);
238
- const isSubWidgetAddable = this.selectedWidgets.findIndex((widget) => widget.id === widgetId);
239
- if (event) {
240
- if (this.selectedWidgets.length >= 10 &&
241
- !(subWidgetId && isSubWidgetAddable >= 0)) {
242
- this.snackBar.show('You cannot add more than 10 widgets.', 'alert');
243
- this.showWidgets = false;
244
- setTimeout(() => {
245
- this.widgetsList[module][widgetIndex].value = false;
246
- this.showWidgets = true;
247
- }, 10);
248
- return;
249
- }
250
- this.widgetsList[module][widgetIndex].value = true;
251
- if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {
252
- if (!subWidgetId) {
253
- this.widgetsList[module][widgetIndex].subWidgets.forEach((ele) => (ele.value = true));
254
- }
255
- else {
256
- const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele) => ele.id == subWidgetId);
257
- this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = true;
258
- }
259
- }
260
- }
261
- else {
262
- if (this.widgetsList[module][widgetIndex].subWidgets.length > 0) {
263
- if (!subWidgetId) {
264
- this.widgetsList[module][widgetIndex].value = false;
265
- this.widgetsList[module][widgetIndex].subWidgets.forEach((ele) => (ele.value = false));
266
- }
267
- else {
268
- const subWidgetIndex = this.widgetsList[module][widgetIndex].subWidgets.findIndex((ele) => ele.id == subWidgetId);
269
- this.widgetsList[module][widgetIndex].subWidgets[subWidgetIndex].value = false;
270
- const isAllWidgetsRemoved = this.widgetsList[module][widgetIndex].subWidgets.every((ele) => ele.value == false);
271
- if (isAllWidgetsRemoved) {
272
- this.widgetsList[module][widgetIndex].value = false;
273
- }
274
- }
275
- }
276
- else {
277
- this.widgetsList[module][widgetIndex].value = false;
278
- }
279
- }
280
- this.setSelectedWidgets();
281
- }
282
- setSelectedWidgets() {
283
- this.selectedWidgets = [];
284
- this.widgetsList.COMPLIANCE.forEach((ele) => {
285
- if (ele.value) {
286
- this.selectedWidgets.push(ele);
287
- }
288
- });
289
- // this.widgetsList.RISK.forEach((ele: any) => {
290
- // if (ele.value) {
291
- // this.selectedWidgets.push(ele);
292
- // }
293
- // });
294
- }
295
- removeWidget(widget) {
296
- const widgetIndex = this.widgetsList[widget.module].findIndex((ele) => ele.id == widget.id);
297
- this.widgetsList[widget.module][widgetIndex].value = false;
298
- if (this.widgetsList[widget.module][widgetIndex].subWidgets.length > 0) {
299
- this.widgetsList[widget.module][widgetIndex].subWidgets.forEach((ele) => (ele.value = false));
300
- }
301
- this.setSelectedWidgets();
302
- }
303
- onNextClick() {
304
- this.widgetsDataModified.emit(this.selectedWidgets);
305
- }
306
- closeConfigureDashboard() {
307
- this.selectedWidgets = [];
308
- this.dialog.close();
309
- this.closeConfigureWidgets.emit(false);
310
- }
311
- setWidgetsVisibilityToFalse() {
312
- this.widgetsList.COMPLIANCE.forEach((ele) => {
313
- ele.visibility = false;
314
- if (ele.subWidgets.length > 0) {
315
- ele.subWidgets.forEach((subElement) => {
316
- subElement.visibility = false;
317
- });
318
- }
319
- });
320
- // this.widgetsList.RISK.forEach((ele: any) => {
321
- // ele.visibility = false;
322
- // if (ele.subWidgets.length > 0) {
323
- // ele.subWidgets.forEach((subElement: any) => {
324
- // subElement.visibility = false;
325
- // });
326
- // }
327
- // });
328
- }
329
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsComponent, deps: [{ token: i1.DialogRef }, { token: i2.ConfigureWidgetsService }, { token: i3.SnackBarService }], target: i0.ɵɵFactoryTarget.Component });
330
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ConfigureWidgetsComponent, selector: "app-configure-widgets", inputs: { selectedWidgetsData: "selectedWidgetsData", displayedWidgets: "displayedWidgets", showRisk: "showRisk", showCompliance: "showCompliance", mode: "mode" }, outputs: { widgetsDataModified: "widgetsDataModified", closeConfigureWidgets: "closeConfigureWidgets" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\r\n <div\r\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Configure Widgets\r\n </div>\r\n <button\r\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\r\n (click)=\"closeConfigureDashboard()\"\r\n >\r\n <i class=\"icons vx-fs-16\">&#xe91d;</i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li\r\n [class.active]=\"module === 'COMPLIANCE'\"\r\n *ngIf=\"showCompliance\"\r\n (click)=\"module = 'COMPLIANCE'\"\r\n >\r\n <!-- <button>\r\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\r\n </button> -->\r\n </li>\r\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\r\n <button (click)=\"module = 'RISK'\">\r\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\r\n </div>\r\n <div\r\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\r\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\r\n >\r\n <ng-container\r\n *ngFor=\"let widget of widgetsList[module] | search : search\"\r\n >\r\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\r\n <label class=\"block\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"widget.value\"\r\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\r\n />\r\n <div class=\"check-icon\">\r\n <svg\r\n class=\"check\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"check-circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"check-circle\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4\r\n class=\"configure-widgets-item-title\"\r\n [innerHTML]=\"widget?.title\"\r\n ></h4>\r\n <p\r\n class=\"configure-widgets-item-description\"\r\n [innerHTML]=\"widget?.description\"\r\n ></p>\r\n <button\r\n *ngIf=\"!widget.value\"\r\n class=\"configure-widgets-item-button add\"\r\n (click)=\"selectWidget(true, module, widget.id)\"\r\n >\r\n + ADD\r\n </button>\r\n <button\r\n *ngIf=\"widget.value\"\r\n class=\"configure-widgets-item-button remove\"\r\n (click)=\"selectWidget(false, module, widget.id)\"\r\n >\r\n - Remove\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [ngSrc]=\"widget?.widgetImage\"\r\n alt=\"\"\r\n width=\"790\"\r\n height=\"613\"\r\n />\r\n </div>\r\n <div\r\n class=\"floating-option vx-d-flex\"\r\n *ngIf=\"widget?.subWidgets?.length > 0\"\r\n >\r\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\r\n <app-cs-checkbox\r\n *ngIf=\"subWidget.visibility\"\r\n (ngValueChange)=\"\r\n selectWidget($event, module, widget.id, subWidget.id)\r\n \"\r\n [ngValue]=\"subWidget.value\"\r\n >{{ subWidget.title }}\r\n </app-cs-checkbox>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- No Data Image -->\r\n </div>\r\n <app-no-data\r\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\r\n [noDataImage]=\"ASSETS.configure_widget\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n\r\n <floating-bar\r\n (submitEvent)=\"onNextClick()\"\r\n (cancelEvent)=\"closeConfigureDashboard()\"\r\n [selectedData]=\"selectedWidgets\"\r\n (deleteEvent)=\"removeWidget($event)\"\r\n ></floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-widgets{width:100vw;height:100vh;background:#fff}@media screen and (max-width: 1280px){::ng-deep .configure-widgets{width:100vw;margin-left:0}}::ng-deep .configure-widgets-head{height:2.75rem;background:#fbfbfb;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-back{border:none;outline:none;background:transparent}::ng-deep .configure-widgets-back i{margin-right:6px}::ng-deep .configure-widgets-body{padding:2rem;position:relative;height:calc(100vh - 2.75rem)}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 13.875rem)!important}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 8px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:flex;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:transparent;padding:0 0 8px;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:28px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{margin:0 -1rem .5rem;height:calc(100vh - 15.5rem);overflow:hidden;overflow-y:auto}::ng-deep .configure-widgets-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .configure-widgets-item{width:50%;padding:0 16px;margin-bottom:32px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:transparent;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}\n"], dependencies: [{ kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.FloatingBarComponent, selector: "floating-bar", inputs: ["text", "frequencyMessage", "singleCategory", "selectedData"], outputs: ["cancelEvent", "submitEvent", "deleteEvent"] }, { kind: "component", type: i6.CsCheckboxComponent, selector: "app-cs-checkbox", inputs: ["disabled", "ngValue", "value"], outputs: ["ngValueChange"] }, { kind: "directive", type: i7.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: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.NoDataComponent, selector: "app-no-data", inputs: ["action", "noDataImage", "noDataText", "noDataButton", "noDataSecButton", "altText", "smallButton", "buttonIcon", "iconClass"], outputs: ["buttonAction"] }, { kind: "directive", type: i4.NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "src", "srcset"] }, { kind: "pipe", type: i9.SearchPipe, name: "search" }] });
331
- }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsComponent, decorators: [{
333
- type: Component,
334
- args: [{ selector: 'app-configure-widgets', template: "<div class=\"configure-widgets vx-d-block\" *ngIf=\"showWidgets\">\r\n <div\r\n class=\"configure-widgets-head vx-d-flex vx-align-center vx-justify-between vx-pl-4 vx-pr-4\"\r\n >\r\n <div class=\"configure-widgets-title vx-fs-14 vx-fw-500 vx-label-txt\">\r\n Configure Widgets\r\n </div>\r\n <button\r\n class=\"configure-widgets-back vx-fs-14 vx-fw-500 vx-label-txt vx-m-0 vx-p-0 vx-d-inline-flex vx-align-center\"\r\n (click)=\"closeConfigureDashboard()\"\r\n >\r\n <i class=\"icons vx-fs-16\">&#xe91d;</i> Back\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-body\">\r\n <div class=\"configure-widgets-tab\">\r\n <ul>\r\n <li\r\n [class.active]=\"module === 'COMPLIANCE'\"\r\n *ngIf=\"showCompliance\"\r\n (click)=\"module = 'COMPLIANCE'\"\r\n >\r\n <!-- <button>\r\n Compliance<span>{{ complianceWidgetsDisplayCount }}</span>\r\n </button> -->\r\n </li>\r\n <li [class.active]=\"module === 'RISK'\" *ngIf=\"showRisk\">\r\n <button (click)=\"module = 'RISK'\">\r\n Risks<span>{{ riskWidgetsDisplayCount }}</span>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"configure-widgets-search vx-mb-2\">\r\n <i class=\"icons\">&#xe90b;</i>\r\n <input type=\"text\" placeholder=\"Search widgets\" [(ngModel)]=\"search\" />\r\n </div>\r\n <div\r\n class=\"configure-widgets-list vx-d-flex vx-flex-wrap\"\r\n *ngIf=\"(widgetsList[module] | search : search).length !== 0\"\r\n >\r\n <ng-container\r\n *ngFor=\"let widget of widgetsList[module] | search : search\"\r\n >\r\n <div class=\"configure-widgets-item\" *ngIf=\"widget?.visibility\">\r\n <label class=\"block\">\r\n <input\r\n type=\"checkbox\"\r\n [checked]=\"widget.value\"\r\n (change)=\"selectWidget($event.target.checked, module, widget.id)\"\r\n />\r\n <div class=\"check-icon\">\r\n <svg\r\n class=\"check\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 52 52\"\r\n >\r\n <circle\r\n class=\"check-circle\"\r\n cx=\"26\"\r\n cy=\"26\"\r\n r=\"25\"\r\n fill=\"none\"\r\n />\r\n <path\r\n class=\"check-circle\"\r\n fill=\"none\"\r\n d=\"M14.1 27.2l7.1 7.2 16.7-16.8\"\r\n />\r\n </svg>\r\n </div>\r\n <div class=\"configure-widgets-item-head\">\r\n <h4\r\n class=\"configure-widgets-item-title\"\r\n [innerHTML]=\"widget?.title\"\r\n ></h4>\r\n <p\r\n class=\"configure-widgets-item-description\"\r\n [innerHTML]=\"widget?.description\"\r\n ></p>\r\n <button\r\n *ngIf=\"!widget.value\"\r\n class=\"configure-widgets-item-button add\"\r\n (click)=\"selectWidget(true, module, widget.id)\"\r\n >\r\n + ADD\r\n </button>\r\n <button\r\n *ngIf=\"widget.value\"\r\n class=\"configure-widgets-item-button remove\"\r\n (click)=\"selectWidget(false, module, widget.id)\"\r\n >\r\n - Remove\r\n </button>\r\n </div>\r\n <div class=\"configure-widgets-item-body\">\r\n <div class=\"image-wrapper\">\r\n <img\r\n [ngSrc]=\"widget?.widgetImage\"\r\n alt=\"\"\r\n width=\"790\"\r\n height=\"613\"\r\n />\r\n </div>\r\n <div\r\n class=\"floating-option vx-d-flex\"\r\n *ngIf=\"widget?.subWidgets?.length > 0\"\r\n >\r\n <ng-container *ngFor=\"let subWidget of widget.subWidgets\">\r\n <app-cs-checkbox\r\n *ngIf=\"subWidget.visibility\"\r\n (ngValueChange)=\"\r\n selectWidget($event, module, widget.id, subWidget.id)\r\n \"\r\n [ngValue]=\"subWidget.value\"\r\n >{{ subWidget.title }}\r\n </app-cs-checkbox>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </label>\r\n </div>\r\n </ng-container>\r\n\r\n <!-- No Data Image -->\r\n </div>\r\n <app-no-data\r\n *ngIf=\"(widgetsList[module] | search : search).length === 0\"\r\n [noDataImage]=\"ASSETS.configure_widget\"\r\n [noDataText]=\"'No data to display'\"\r\n >\r\n </app-no-data>\r\n\r\n <floating-bar\r\n (submitEvent)=\"onNextClick()\"\r\n (cancelEvent)=\"closeConfigureDashboard()\"\r\n [selectedData]=\"selectedWidgets\"\r\n (deleteEvent)=\"removeWidget($event)\"\r\n ></floating-bar>\r\n </div>\r\n</div>\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";::ng-deep .configure-widgets{width:100vw;height:100vh;background:#fff}@media screen and (max-width: 1280px){::ng-deep .configure-widgets{width:100vw;margin-left:0}}::ng-deep .configure-widgets-head{height:2.75rem;background:#fbfbfb;border-bottom:1px solid #f1f1f1}::ng-deep .configure-widgets-back{border:none;outline:none;background:transparent}::ng-deep .configure-widgets-back i{margin-right:6px}::ng-deep .configure-widgets-body{padding:2rem;position:relative;height:calc(100vh - 2.75rem)}::ng-deep .configure-widgets-body app-no-data .no-data-wrapper{height:calc(100vh - 13.875rem)!important}::ng-deep .configure-widgets-body .floating-option{position:absolute;right:0;bottom:0;left:0;background:#fff;padding:16px 12px;z-index:3;box-shadow:0 -6px 12px #1e5dd31a}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox{display:flex}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox label span.value{color:#161b2f!important;font-size:11px!important;line-height:16px!important;margin-left:8px!important;white-space:nowrap}::ng-deep .configure-widgets-body .floating-option app-cs-checkbox+app-cs-checkbox{margin-left:20px}::ng-deep .configure-widgets-tab ul{padding:0;margin:0 0 8px;display:flex;border-bottom:1px solid #dbdbdb}::ng-deep .configure-widgets-tab ul li{list-style:none;display:flex;width:auto;padding:0}::ng-deep .configure-widgets-tab ul li button{color:#747576;display:inline-block;font-size:11px;line-height:16px;font-weight:600;text-transform:uppercase;border:none;outline:none;background:transparent;padding:0 0 8px;position:relative;margin:0}::ng-deep .configure-widgets-tab ul li button span{display:inline-block;margin-left:8px;color:#74757680}::ng-deep .configure-widgets-tab ul li+li{padding-left:28px}::ng-deep .configure-widgets-tab ul li.active button{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button span{color:#1e5dd3}::ng-deep .configure-widgets-tab ul li.active button:after{content:\"\";right:0;bottom:0;left:0;height:2px;border-radius:2px;position:absolute;background-color:#1e5dd3}::ng-deep .configure-widgets-search{position:relative;margin-bottom:24px}::ng-deep .configure-widgets-search i{position:absolute;top:16px;left:16px;color:#dbdbdb}::ng-deep .configure-widgets-search input{border:1px solid #dbdbdb;border-radius:4px;height:44px;padding:10px 180px 10px 40px;width:100%;font-size:14px;color:#747576;outline:none}::ng-deep .configure-widgets-search input:focus{border-color:#1e5dd3;box-shadow:0 0 5px #1e5dd345}::ng-deep .configure-widgets-list{margin:0 -1rem .5rem;height:calc(100vh - 15.5rem);overflow:hidden;overflow-y:auto}::ng-deep .configure-widgets-list::-webkit-scrollbar-track{background-color:transparent}::ng-deep .configure-widgets-item{width:50%;padding:0 16px;margin-bottom:32px}::ng-deep .configure-widgets-item .block{background:#f8f8f8;border-radius:4px;padding:16px 44px 4px;cursor:pointer;position:relative;display:block}::ng-deep .configure-widgets-item .block .check-icon{position:absolute;top:8px;left:0;height:36px;width:36px;border-radius:0 4px 4px 0;display:flex;justify-content:center;align-items:center;background:#34aa44;opacity:0;pointer-events:none}::ng-deep .configure-widgets-item .block .check-icon .check{display:none;width:27px;height:27px;background:transparent;border-radius:50%;stroke-width:4;stroke:#fff;stroke-miterlimit:10;box-shadow:inset 0 0 #fff;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}::ng-deep .configure-widgets-item .block .check-icon .check-circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:4;stroke-miterlimit:10;stroke:#fff;fill:none;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}::ng-deep .configure-widgets-item .block .check-icon .check-check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}::ng-deep .configure-widgets-item .block input[type=checkbox]{opacity:0;position:absolute;top:0;left:0;width:100%;height:100%;margin:0;z-index:1;cursor:pointer}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon{opacity:1}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked+.check-icon .check{display:block}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-body .image-wrapper{opacity:.5}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.add{display:none}::ng-deep .configure-widgets-item .block input[type=checkbox]:checked~.configure-widgets-item-head button.remove{display:flex}::ng-deep .configure-widgets-item-head{padding:0 0 16px;position:relative}::ng-deep .configure-widgets-item-title{margin:0 0 12px;font-size:14px;line-height:20px;text-transform:uppercase;color:#161b2f;max-width:calc(100% - 72px);font-weight:500}::ng-deep .configure-widgets-item-description{font-size:12px;line-height:20px;color:#747576;margin:0;font-weight:400;height:60px}::ng-deep .configure-widgets-item-button{width:72px;height:28px;cursor:pointer;display:flex;position:absolute;top:0;right:-24px;font-size:11px;font-weight:500;border:none;outline:none;justify-content:center;align-items:center;border-radius:2px;text-transform:uppercase;padding:0;margin:0}::ng-deep .configure-widgets-item-button.add{color:#fff;background:#1e5dd3}::ng-deep .configure-widgets-item-button.remove{background:#fff;border:1px solid #f1f1f1;color:#c7381b;display:none}::ng-deep .configure-widgets-item-body{overflow:hidden;height:220px;border:1px solid #f1f1f1;border-bottom:none;border-radius:2px 2px 0 0;box-shadow:0 -4px 8px #161b2f10}::ng-deep .configure-widgets-item-body .image-wrapper{box-shadow:0 -6px 12px #0000001a;border-radius:2px;overflow:hidden;background:#fff}::ng-deep .configure-widgets-item-body img{width:100%}@keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #fff}}.disabled{pointer-events:none;opacity:.7}\n"] }]
335
- }], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i2.ConfigureWidgetsService }, { type: i3.SnackBarService }]; }, propDecorators: { widgetsDataModified: [{
336
- type: Output
337
- }], closeConfigureWidgets: [{
338
- type: Output
339
- }], selectedWidgetsData: [{
340
- type: Input
341
- }], displayedWidgets: [{
342
- type: Input
343
- }], showRisk: [{
344
- type: Input
345
- }], showCompliance: [{
346
- type: Input
347
- }], mode: [{
348
- type: Input
349
- }] } });
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBTXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPekQsTUFBTSxPQUFPLHlCQUF5QjtJQXlCMUI7SUFDRDtJQUNDO0lBMUJBLG1CQUFtQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQzVELHFCQUFxQixHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBQ3hFLGNBQWMsQ0FBTztJQUNyQixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLFlBQVksR0FBNkMsRUFBRSxDQUFDO0lBQzVELGVBQWUsR0FBMkIsRUFBRSxDQUFDO0lBQzdDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDaEIsTUFBTSxHQUEwQixZQUFZLENBQUM7SUFDcEMsbUJBQW1CLEdBQVEsRUFBRSxDQUFDO0lBQzlCLGdCQUFnQixHQUFRLEVBQUUsQ0FBQztJQUMzQixRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ2pCLGNBQWMsR0FBRyxLQUFL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VSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQWUsRUFBRSxFQUFFO29CQUN6QyxVQUFVLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDaEMsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsZ0RBQWdEO1FBQ2hELDRCQUE0QjtRQUM1QixxQ0FBcUM7UUFDckMsb0RBQW9EO1FBQ3BELHVDQUF1QztRQUN2QyxVQUFVO1FBQ1YsTUFBTTtRQUNOLE1BQU07SUFDUixDQUFDO3dHQWpYVSx5QkFBeUI7NEZBQXpCLHlCQUF5QiwrVkNyQnRDLGlwS0E2SUE7OzRGRHhIYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0UsdUJBQXVCO29LQUt2QixtQkFBbUI7c0JBQTVCLE1BQU07Z0JBQ0cscUJBQXFCO3NCQUE5QixNQUFNO2dCQU9FLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbmZpZ3VyZVdpZGdldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29uZmlndXJlLXdpZGdldHMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgcmV0cnkgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IHdpZGdldERhdGFNb2RlbCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2lkZ2V0LWRhdGEtbW9kZWwnO1xyXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy1yZWYnO1xyXG5pbXBvcnQgeyB3aWRnZXRDb25maWcgfSBmcm9tICcuL3dpZGdldC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQVNTRVRTIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2Fzc2V0cy5jb25zdGFudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1jb25maWd1cmUtd2lkZ2V0cycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpZ3VyZS13aWRnZXRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQubGVzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAT3V0cHV0KCkgd2lkZ2V0c0RhdGFNb2RpZmllZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlQ29uZmlndXJlV2lkZ2V0czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2hlY2tib3hTdGF0dXMhOiBhbnk7XHJcbiAgc2VhcmNoOiBzdHJpbmcgPSAnJztcclxuICBjaGVja2VkQXJyYXk6IEFycmF5PHsgaW5kZXg6IG51bWJlcjsgc3RhdHVzOiBudW1iZXIgfT4gPSBbXTtcclxuICBzZWxlY3RlZFdpZGdldHM6IEFycmF5PHdpZGdldERhdGFNb2RlbD4gPSBbXTtcclxuICBBU1NFVFMgPSBBU1NFVFM7XHJcbiAgbW9kdWxlOiAnQ09NUExJQU5DRScgfCAnUklTSycgPSAnQ09NUExJQU5DRSc7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRXaWRnZXRzRGF0YTogYW55ID0gW107XHJcbiAgQElucHV0KCkgZGlzcGxheWVkV2lkZ2V0czogYW55ID0gW107XHJcbiAgQElucHV0KCkgc2hvd1Jpc2sgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzaG93Q29tcGxpYW5jZSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIG1vZGUgPSAnQ1JFQVRFJztcclxuICBub0RhdGFUZXh0ID1cclxuICAgICdZb3UgaGF2ZSBub3QgY29uZmlndXJlZCBhbnkgd2lkZ2V0cy4gQ2xpY2sgb24gdGhlIDxzdHJvbmc+Q29uZmlndXJlIFdpZGdldHM8L3N0cm9uZz4gYnV0dG9uIHRvIGJlZ2luLic7XHJcblxyXG4gIHNlbGVjdGVkV2lkZ2V0SWRzOiBhbnkgPSBbXTtcclxuICBzdWJSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzdWJLZXlSZXNwb25zaWJpbGl0aWVzU2VsZWN0ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzaG93V2lkZ2V0cyA9IHRydWU7XHJcbiAgY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSA5O1xyXG4gIHJpc2tXaWRnZXRzRGlzcGxheUNvdW50ID0gOTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogRGlhbG9nUmVmLFxyXG4gICAgcHVibGljIGNvbmZpZ3VyZVdpZGdldHNTZXJ2aWNlOiBDb25maWd1cmVXaWRnZXRzU2VydmljZSxcclxuICAgIHByaXZhdGUgc25hY2tCYXI6IFNuYWNrQmFyU2VydmljZSxcclxuICApIHt9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFdpZGdldHMgPSBbXTtcclxuXHJcbiAgICBpZiAodGhpcy5tb2RlID09PSAnRURJVCcpIHtcclxuICAgICAgdGhpcy5hcHBseUVkaXRNb2RlV2lkZ2V0Q2F0YWxvZygpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hcHBseUNyZWF0ZU1vZGVXaWRnZXRWaXNpYmlsaXR5KCk7XHJcbiAgICAgIHRoaXMuYXBwbHlTYXZlZFdpZGdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkV2lkZ2V0c0RhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubW9kdWxlID0gdGhpcy5zaG93Q29tcGxpYW5jZSA/ICdDT01QTElBTkNFJyA6ICdSSVNLJztcclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRXaWRnZXRzKCk7XHJcbiAgfVxyXG5cclxuICAvKiogRURJVDogc2hvdyBmdWxsIHdpZGdldCBjYXRhbG9nOyBjaGVjayBpdGVtcyBwcmVzZW50IGluIGdldFdpZGdldHMgd2lkZ2V0QXJyLiAqL1xyXG4gIHByaXZhdGUgYXBwbHlFZGl0TW9kZVdpZGdldENhdGFsb2coKTogdm9pZCB7XHJcbiAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgZWxlLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgKGVsZS5zdWJXaWRnZXRzID8/IFtdKS5mb3JFYWNoKChzdWI6IGFueSkgPT4ge1xyXG4gICAgICAgIHN1Yi52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgIHN1Yi52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuY29tcGxpYW5jZVdpZGdldHNEaXNwbGF5Q291bnQgPSB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZmlsdGVyKFxyXG4gICAgICAodykgPT4gdy52aXNpYmlsaXR5LFxyXG4gICAgKS5sZW5ndGg7XHJcbiAgICB0aGlzLnJpc2tXaWRnZXRzRGlzcGxheUNvdW50ID0gMDtcclxuICAgIHRoaXMuYXBwbHlTYXZlZFdpZGdldFNlbGVjdGlvbih0aGlzLnNlbGVjdGVkV2lkZ2V0c0RhdGEpO1xyXG4gIH1cclxuXHJcbiAgLyoqIENSRUFURTogbGltaXQgdmlzaWJsZSB0aWxlcyB0byBkaXNwbGF5ZWRXaWRnZXRzIHdoZW4gcHJvdmlkZWQuICovXHJcbiAgcHJpdmF0ZSBhcHBseUNyZWF0ZU1vZGVXaWRnZXRWaXNpYmlsaXR5KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmRpc3BsYXllZFdpZGdldHM/Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFdpZGdldHNWaXNpYmlsaXR5VG9GYWxzZSgpO1xyXG4gICAgdGhpcy5yaXNrV2lkZ2V0c0Rpc3BsYXlDb3VudCA9IDA7XHJcbiAgICB0aGlzLmNvbXBsaWFuY2VXaWRnZXRzRGlzcGxheUNvdW50ID0gMDtcclxuICAgIGNvbnN0IGZpbmFsRGF0YSA9IFsuLi5uZXcgU2V0KHRoaXMuZGlzcGxheWVkV2lkZ2V0cyldO1xyXG4gICAgZmluYWxEYXRhLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZWxlLmlkICE9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsZS52aXNpYmlsaXR5ID0gdHJ1ZTtcclxuICAgICAgICBpZiAoZWxlLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY29uc3QgdmlzaWJsZVN1YkNvZGVzID0gKGVsZW1lbnQuc3ViX3dpZGdldHMgPz8gW10pLm1hcChcclxuICAgICAgICAgICAgKHN1YndpZGdldDogYW55KSA9PiBzdWJ3aWRnZXQud2lkZ2V0X2NvZGUsXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55LCBzdWJJbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgICAgIGVsZS5zdWJXaWRnZXRzW3N1YkluZGV4XS52aXNpYmlsaXR5ID0gdmlzaWJsZVN1YkNvZGVzLmluY2x1ZGVzKFxyXG4gICAgICAgICAgICAgIHN1YkVsZW1lbnQuaWQsXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCsrO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhcHBseVNhdmVkV2lkZ2V0U2VsZWN0aW9uKHNhdmVkV2lkZ2V0czogYW55W10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGRhdGEgPSBbLi4ubmV3IFNldChzYXZlZFdpZGdldHMgPz8gW10pXTtcclxuICAgIGRhdGEuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50Py5zdGF0ZSAmJiBlbGVtZW50LnN0YXRlICE9PSAnQUNUSVZFJykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZWxlLmlkICE9PSBlbGVtZW50LndpZGdldF9jb2RlKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsZS52YWx1ZSA9IHRydWU7XHJcbiAgICAgICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDAgJiYgZWxlbWVudC5zdWJfd2lkZ2V0cz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICBjb25zdCBhY3RpdmVTdWJDb2RlcyA9IChlbGVtZW50LnN1Yl93aWRnZXRzID8/IFtdKVxyXG4gICAgICAgICAgICAuZmlsdGVyKChzdWJ3aWRnZXQ6IGFueSkgPT4gc3Vid2lkZ2V0LnN0YXRlID09PSAnQUNUSVZFJylcclxuICAgICAgICAgICAgLm1hcCgoc3Vid2lkZ2V0OiBhbnkpID0+IHN1YndpZGdldC53aWRnZXRfY29kZSk7XHJcbiAgICAgICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnksIHN1YkluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICAgICAgZWxlLnN1YldpZGdldHNbc3ViSW5kZXhdLnZhbHVlID0gYWN0aXZlU3ViQ29kZXMuaW5jbHVkZXMoXHJcbiAgICAgICAgICAgICAgc3ViRWxlbWVudC5pZCxcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxuXHJcbiAgd2lkZ2V0c0xpc3QgPSB7XHJcbiAgICBDT01QTElBTkNFOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ092ZXJ2aWV3JyxcclxuICAgICAgICBpZDogJ292ZXJ2aWV3JyxcclxuICAgICAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgICAgICdPdmVydmlldyBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBhbmQgUHJvZ3JhbXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLm92ZXJ2aWV3V2lkZ2V0LFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0eSBDYWxlbmRhcicsXHJcbiAgICAgICAgaWQ6ICdjb21wbGlhbmNlX2NhbGVuZGFyX2ZsYWcnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAgICAgJ1RoZSBSZXNwb25zaWJpbGl0eSBDYWxlbmRhciBzaG93cyB0aGUgZHVlIGRhdGVzIG9mIHJlc3BvbnNpYmlsaXRpZXMgaW4gYSBjYWxlbmRhciBmb3JtYXQuIFRoZSByZXNwb25zaWJpbGl0aWVzIGFyZSBjb2xvciBjb2RlZCB0byByZWZsZWN0IHRoZSBzdGF0dXMgb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMuJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLnJlc3BvbnNpYmlsaXR5Q2FsZW5kZXJXaWRnZXQsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6IHRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW10sXHJcbiAgICAgIH0sXHJcblxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNwb25zaWJpbGl0aWVzIGJ5IEFzc2lnbmVlJyxcclxuICAgICAgICBpZDogJ3Jlc3BvbnNpYmlsaXRpZXNfYnlfYXNzaWduZWUnLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOlxyXG4gICAgICAgICAgJ1RoZSBSZXNwb25zaWJpbGl0aWVzIGJ5IEFzc2lnbmVlIHdpZGdldCBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBieSB1c2Vycy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzcG9uc2liaWxpdGllc0J5QXNzaWduZWUsXHJcbiAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgIHZpc2liaWxpdHk6IHRydWUsXHJcbiAgICAgICAgbW9kdWxlOiAnQ09NUExJQU5DRScsXHJcbiAgICAgICAgc3ViV2lkZ2V0czogW10sXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1Jlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldycsXHJcbiAgICAgICAgaWQ6ICdyZXNwb25zaWJpbGl0eV9jZW50ZXJfb3ZlcnZpZXdfZmxhZycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246XHJcbiAgICAgICAgICAnVGhlIFJlc3BvbnNpYmlsaXR5IENlbnRlciBPdmVydmlldyBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgcmVzcG9uc2liaWxpdGllcyBhbmQgUmVzcG9uc2liaWxpdHkgQ2VudGVycy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMucmVzcG9uc2liaWxpdHlDZW50ZXJPdmVydmlld1dpZGdldCxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgaWQ6ICdteV9yZXNwb25zaWJpbGl0aWVzJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgICAgICdUaGlzIHdpZGdldCBzaG93cyB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIHJlc3BvbnNpYmlsaXRpZXMgdGhhdCB5b3UgYXJlIHJlcXVpcmVkIHRvIGNvbXBsZXRlLCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IHlvdSBhcmUgcmV2aWV3aW5nIGFuZCB0aGUgcmVzcG9uc2liaWxpdGllcyB0aGF0IHlvdSBhcmUgb3ZlcnNlZWluZy4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMubXlSZXNwb25zaWJpbGl0aWVzV2lkZ2V0LFxyXG4gICAgICAgIHRhYk9wdGlvbjogdHJ1ZSxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgICAgIGlkOiAnbXlfcmVzcG9uc2liaWxpdHlfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdyZXZpZXdlcl9yZXNwb25zaWJpbGl0eV9mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJ4oCZbSBPdmVyc2VlaW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdjY19yZXNwb25zaWJpbGl0eV9mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdLZXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgaWQ6ICdrZXlfcmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgZGVzY3JpcHRpb246XHJcbiAgICAgICAgICAnVGhpcyB3aWRnZXQgc2hvd3MgdGhlIHBlcmZvcm1hbmNlIG9mIGtleSByZXNwb25zaWJpbGl0aWVzIHRoYXQgeW91IGFyZSByZXF1aXJlZCB0byBjb21wbGV0ZSwgdGhhdCB5b3UgYXJlIHJldmlld2luZywgdGhhdCB5b3UgYXJlIG92ZXJzZWVpbmcgYW5kIHRoYXQgeW91IGhhdmUgYXNzaWduZWQgdG8gYW5vdGhlciBwZXJzb24uJyxcclxuICAgICAgICB3aWRnZXRJbWFnZTogQVNTRVRTLmtleVJlc3BvbnNpYmlsaXRpZXNXaWRnZXQsXHJcbiAgICAgICAgdGFiT3B0aW9uOiB0cnVlLFxyXG4gICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgICAgIHN1YldpZGdldHM6IFtcclxuICAgICAgICAgIC8vIHtcclxuICAgICAgICAgIC8vICAgdGl0bGU6ICdPdmVydmlldycsXHJcbiAgICAgICAgICAvLyAgIGlkOiAna2V5X3Jlc3BvbnNpYmlsaXRpZXNfb3ZlcnZpZXdfZmxhZycsXHJcbiAgICAgICAgICAvLyAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgIC8vICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIC8vIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnTXkgUmVzcG9uc2liaWxpdGllcycsXHJcbiAgICAgICAgICAgIGlkOiAna2V5X215X3Jlc3BvbnNpYmlsaXRpZXNfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gUmV2aWV3aW5nJyxcclxuICAgICAgICAgICAgaWQ6ICdrZXlfaV9hbV9yZXZpZXdpbmdfZmxhZycsXHJcbiAgICAgICAgICAgIHZhbHVlOiBmYWxzZSxcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSeKAmW0gT3ZlcnNlZWluZycsXHJcbiAgICAgICAgICAgIGlkOiAna2V5X2lfYW1fb3ZlcnNlZWluZ19mbGFnJyxcclxuICAgICAgICAgICAgdmFsdWU6IGZhbHNlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdUcmVuZCBBbmFseXNpcycsXHJcbiAgICAgICAgaWQ6ICd0cmVuZF9hbmFseXNpc19mbGFnJyxcclxuICAgICAgICBkZXNjcmlwdGlvbjpcclxuICAgICAgICAgICdUaGUgVHJlbmQgQW5hbHlzaXMgaXMgYSBncmFwaGljYWwgcmVwcmVzZW50YXRpb24gb2YgdGhlIHBlcmZvcm1hbmNlIG9mIHJlc3BvbnNpYmlsaXRpZXMgb3ZlciBhIHBlcmlvZC4nLFxyXG4gICAgICAgIHdpZGdldEltYWdlOiBBU1NFVFMudHJlbmRBbmFseXNpc1dpZGdldCxcclxuICAgICAgICB2YWx1ZTogZmFsc2UsXHJcbiAgICAgICAgdmlzaWJpbGl0eTogdHJ1ZSxcclxuICAgICAgICBtb2R1bGU6ICdDT01QTElBTkNFJyxcclxuICAgICAgICBzdWJXaWRnZXRzOiBbXSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgfTtcclxuXHJcbiAgc2VsZWN0V2lkZ2V0KFxyXG4gICAgZXZlbnQ6IGFueSxcclxuICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgd2lkZ2V0SWQ6IHN0cmluZyxcclxuICAgIHN1YldpZGdldElkPzogc3RyaW5nLFxyXG4gICkge1xyXG4gICAgY29uc3Qgd2lkZ2V0SW5kZXggPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV0uZmluZEluZGV4KFxyXG4gICAgICAoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSB3aWRnZXRJZCxcclxuICAgICk7XHJcbiAgICBjb25zdCBpc1N1YldpZGdldEFkZGFibGUgPSB0aGlzLnNlbGVjdGVkV2lkZ2V0cy5maW5kSW5kZXgoXHJcbiAgICAgICh3aWRnZXQ6IGFueSkgPT4gd2lkZ2V0LmlkID09PSB3aWRnZXRJZCxcclxuICAgICk7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLmxlbmd0aCA+PSAxMCAmJlxyXG4gICAgICAgICEoc3ViV2lkZ2V0SWQgJiYgaXNTdWJXaWRnZXRBZGRhYmxlID49IDApXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnWW91IGNhbm5vdCBhZGQgbW9yZSB0aGFuIDEwIHdpZGdldHMuJywgJ2FsZXJ0Jyk7XHJcbiAgICAgICAgdGhpcy5zaG93V2lkZ2V0cyA9IGZhbHNlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5zaG93V2lkZ2V0cyA9IHRydWU7XHJcbiAgICAgICAgfSwgMTApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gdHJ1ZTtcclxuICAgICAgaWYgKHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgaWYgKCFzdWJXaWRnZXRJZCkge1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goXHJcbiAgICAgICAgICAgIChlbGUpID0+IChlbGUudmFsdWUgPSB0cnVlKSxcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGNvbnN0IHN1YldpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW1xyXG4gICAgICAgICAgICB3aWRnZXRJbmRleFxyXG4gICAgICAgICAgXS5zdWJXaWRnZXRzLmZpbmRJbmRleCgoZWxlOiBhbnkpID0+IGVsZS5pZCA9PSBzdWJXaWRnZXRJZCk7XHJcbiAgICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHNbXHJcbiAgICAgICAgICAgIHN1YldpZGdldEluZGV4XHJcbiAgICAgICAgICBdLnZhbHVlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGlmICghc3ViV2lkZ2V0SWQpIHtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0udmFsdWUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVt3aWRnZXRJbmRleF0uc3ViV2lkZ2V0cy5mb3JFYWNoKFxyXG4gICAgICAgICAgICAoZWxlOiBhbnkpID0+IChlbGUudmFsdWUgPSBmYWxzZSksXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCBzdWJXaWRnZXRJbmRleCA9IHRoaXMud2lkZ2V0c0xpc3RbbW9kdWxlXVtcclxuICAgICAgICAgICAgd2lkZ2V0SW5kZXhcclxuICAgICAgICAgIF0uc3ViV2lkZ2V0cy5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGUuaWQgPT0gc3ViV2lkZ2V0SWQpO1xyXG4gICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzW1xyXG4gICAgICAgICAgICBzdWJXaWRnZXRJbmRleFxyXG4gICAgICAgICAgXS52YWx1ZSA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGNvbnN0IGlzQWxsV2lkZ2V0c1JlbW92ZWQgPSB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bXHJcbiAgICAgICAgICAgIHdpZGdldEluZGV4XHJcbiAgICAgICAgICBdLnN1YldpZGdldHMuZXZlcnkoKGVsZTogYW55KSA9PiBlbGUudmFsdWUgPT0gZmFsc2UpO1xyXG4gICAgICAgICAgaWYgKGlzQWxsV2lkZ2V0c1JlbW92ZWQpIHtcclxuICAgICAgICAgICAgdGhpcy53aWRnZXRzTGlzdFttb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLndpZGdldHNMaXN0W21vZHVsZV1bd2lkZ2V0SW5kZXhdLnZhbHVlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2V0U2VsZWN0ZWRXaWRnZXRzKCk7XHJcbiAgfVxyXG4gIHNldFNlbGVjdGVkV2lkZ2V0cygpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzID0gW107XHJcbiAgICB0aGlzLndpZGdldHNMaXN0LkNPTVBMSUFOQ0UuZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZS52YWx1ZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgIC8vICAgaWYgKGVsZS52YWx1ZSkge1xyXG4gICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRXaWRnZXRzLnB1c2goZWxlKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVXaWRnZXQod2lkZ2V0OiB3aWRnZXRDb25maWcpIHtcclxuICAgIGNvbnN0IHdpZGdldEluZGV4ID0gdGhpcy53aWRnZXRzTGlzdFt3aWRnZXQubW9kdWxlXS5maW5kSW5kZXgoXHJcbiAgICAgIChlbGU6IGFueSkgPT4gZWxlLmlkID09IHdpZGdldC5pZCxcclxuICAgICk7XHJcbiAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS52YWx1ZSA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMud2lkZ2V0c0xpc3Rbd2lkZ2V0Lm1vZHVsZV1bd2lkZ2V0SW5kZXhdLnN1YldpZGdldHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLndpZGdldHNMaXN0W3dpZGdldC5tb2R1bGVdW3dpZGdldEluZGV4XS5zdWJXaWRnZXRzLmZvckVhY2goXHJcbiAgICAgICAgKGVsZTogYW55KSA9PiAoZWxlLnZhbHVlID0gZmFsc2UpLFxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRTZWxlY3RlZFdpZGdldHMoKTtcclxuICB9XHJcblxyXG4gIG9uTmV4dENsaWNrKCkge1xyXG4gICAgdGhpcy53aWRnZXRzRGF0YU1vZGlmaWVkLmVtaXQodGhpcy5zZWxlY3RlZFdpZGdldHMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VDb25maWd1cmVEYXNoYm9hcmQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkV2lkZ2V0cyA9IFtdO1xyXG4gICAgdGhpcy5kaWFsb2cuY2xvc2UoKTtcclxuICAgIHRoaXMuY2xvc2VDb25maWd1cmVXaWRnZXRzLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgc2V0V2lkZ2V0c1Zpc2liaWxpdHlUb0ZhbHNlKCkge1xyXG4gICAgdGhpcy53aWRnZXRzTGlzdC5DT01QTElBTkNFLmZvckVhY2goKGVsZTogYW55KSA9PiB7XHJcbiAgICAgIGVsZS52aXNpYmlsaXR5ID0gZmFsc2U7XHJcbiAgICAgIGlmIChlbGUuc3ViV2lkZ2V0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZWxlLnN1YldpZGdldHMuZm9yRWFjaCgoc3ViRWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBzdWJFbGVtZW50LnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICAvLyB0aGlzLndpZGdldHNMaXN0LlJJU0suZm9yRWFjaCgoZWxlOiBhbnkpID0+IHtcclxuICAgIC8vICAgZWxlLnZpc2liaWxpdHkgPSBmYWxzZTtcclxuICAgIC8vICAgaWYgKGVsZS5zdWJXaWRnZXRzLmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgICBlbGUuc3ViV2lkZ2V0cy5mb3JFYWNoKChzdWJFbGVtZW50OiBhbnkpID0+IHtcclxuICAgIC8vICAgICAgIHN1YkVsZW1lbnQudmlzaWJpbGl0eSA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH0pO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzIHZ4LWQtYmxvY2tcIiAqbmdJZj1cInNob3dXaWRnZXRzXCI+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1oZWFkIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXBsLTQgdngtcHItNFwiXHJcbiAgPlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLXRpdGxlIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1sYWJlbC10eHRcIj5cclxuICAgICAgQ29uZmlndXJlIFdpZGdldHNcclxuICAgIDwvZGl2PlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWJhY2sgdngtZnMtMTQgdngtZnctNTAwIHZ4LWxhYmVsLXR4dCB2eC1tLTAgdngtcC0wIHZ4LWQtaW5saW5lLWZsZXggdngtYWxpZ24tY2VudGVyXCJcclxuICAgICAgKGNsaWNrKT1cImNsb3NlQ29uZmlndXJlRGFzaGJvYXJkKClcIlxyXG4gICAgPlxyXG4gICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2XCI+JiN4ZTkxZDs8L2k+IEJhY2tcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1ib2R5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtdGFiXCI+XHJcbiAgICAgIDx1bD5cclxuICAgICAgICA8bGlcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwibW9kdWxlID09PSAnQ09NUExJQU5DRSdcIlxyXG4gICAgICAgICAgKm5nSWY9XCJzaG93Q29tcGxpYW5jZVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwibW9kdWxlID0gJ0NPTVBMSUFOQ0UnXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8IS0tIDxidXR0b24+XHJcbiAgICAgICAgICAgIENvbXBsaWFuY2U8c3Bhbj57eyBjb21wbGlhbmNlV2lkZ2V0c0Rpc3BsYXlDb3VudCB9fTwvc3Bhbj5cclxuICAgICAgICAgIDwvYnV0dG9uPiAtLT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICAgIDxsaSBbY2xhc3MuYWN0aXZlXT1cIm1vZHVsZSA9PT0gJ1JJU0snXCIgKm5nSWY9XCJzaG93Umlza1wiPlxyXG4gICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwibW9kdWxlID0gJ1JJU0snXCI+XHJcbiAgICAgICAgICAgIFJpc2tzPHNwYW4+e3sgcmlza1dpZGdldHNEaXNwbGF5Q291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtc2VhcmNoIHZ4LW1iLTJcIj5cclxuICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGI7PC9pPlxyXG4gICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlNlYXJjaCB3aWRnZXRzXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtbGlzdCB2eC1kLWZsZXggdngtZmxleC13cmFwXCJcclxuICAgICAgKm5nSWY9XCIod2lkZ2V0c0xpc3RbbW9kdWxlXSB8IHNlYXJjaCA6IHNlYXJjaCkubGVuZ3RoICE9PSAwXCJcclxuICAgID5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0Zvcj1cImxldCB3aWRnZXQgb2Ygd2lkZ2V0c0xpc3RbbW9kdWxlXSB8IHNlYXJjaCA6IHNlYXJjaFwiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbVwiICpuZ0lmPVwid2lkZ2V0Py52aXNpYmlsaXR5XCI+XHJcbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJibG9ja1wiPlxyXG4gICAgICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgIFtjaGVja2VkXT1cIndpZGdldC52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgKGNoYW5nZSk9XCJzZWxlY3RXaWRnZXQoJGV2ZW50LnRhcmdldC5jaGVja2VkLCBtb2R1bGUsIHdpZGdldC5pZClcIlxyXG4gICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hlY2staWNvblwiPlxyXG4gICAgICAgICAgICAgIDxzdmdcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2tcIlxyXG4gICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDUyIDUyXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8Y2lyY2xlXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2hlY2stY2lyY2xlXCJcclxuICAgICAgICAgICAgICAgICAgY3g9XCIyNlwiXHJcbiAgICAgICAgICAgICAgICAgIGN5PVwiMjZcIlxyXG4gICAgICAgICAgICAgICAgICByPVwiMjVcIlxyXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjaGVjay1jaXJjbGVcIlxyXG4gICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNMTQuMSAyNy4ybDcuMSA3LjIgMTYuNy0xNi44XCJcclxuICAgICAgICAgICAgICAgIC8+XHJcbiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29uZmlndXJlLXdpZGdldHMtaXRlbS1oZWFkXCI+XHJcbiAgICAgICAgICAgICAgPGg0XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW0tdGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJ3aWRnZXQ/LnRpdGxlXCJcclxuICAgICAgICAgICAgICA+PC9oND5cclxuICAgICAgICAgICAgICA8cFxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWRlc2NyaXB0aW9uXCJcclxuICAgICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwid2lkZ2V0Py5kZXNjcmlwdGlvblwiXHJcbiAgICAgICAgICAgICAgPjwvcD5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cIiF3aWRnZXQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJ1dHRvbiBhZGRcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldCh0cnVlLCBtb2R1bGUsIHdpZGdldC5pZClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICsgQUREXHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aWRnZXQudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb25maWd1cmUtd2lkZ2V0cy1pdGVtLWJ1dHRvbiByZW1vdmVcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdFdpZGdldChmYWxzZSwgbW9kdWxlLCB3aWRnZXQuaWQpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAtIFJlbW92ZVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbmZpZ3VyZS13aWRnZXRzLWl0ZW0tYm9keVwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWFnZS13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aW1nXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1NyY109XCJ3aWRnZXQ/LndpZGdldEltYWdlXCJcclxuICAgICAgICAgICAgICAgICAgYWx0PVwiXCJcclxuICAgICAgICAgICAgICAgICAgd2lkdGg9XCI3OTBcIlxyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ9XCI2MTNcIlxyXG4gICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZsb2F0aW5nLW9wdGlvbiB2eC1kLWZsZXhcIlxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJ3aWRnZXQ/LnN1YldpZGdldHM/Lmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHN1YldpZGdldCBvZiB3aWRnZXQuc3ViV2lkZ2V0c1wiPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWNzLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJzdWJXaWRnZXQudmlzaWJpbGl0eVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG5nVmFsdWVDaGFuZ2UpPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RXaWRnZXQoJGV2ZW50LCBtb2R1bGUsIHdpZGdldC5pZCwgc3ViV2lkZ2V0LmlkKVxyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW25nVmFsdWVdPVwic3ViV2lkZ2V0LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICA+e3sgc3ViV2lkZ2V0LnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvYXBwLWNzLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9sYWJlbD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8IS0tIE5vIERhdGEgSW1hZ2UgLS0+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxhcHAtbm8tZGF0YVxyXG4gICAgICAqbmdJZj1cIih3aWRnZXRzTGlzdFttb2R1bGVdIHwgc2VhcmNoIDogc2VhcmNoKS5sZW5ndGggPT09IDBcIlxyXG4gICAgICBbbm9EYXRhSW1hZ2VdPVwiQVNTRVRTLmNvbmZpZ3VyZV93aWRnZXRcIlxyXG4gICAgICBbbm9EYXRhVGV4dF09XCInTm8gZGF0YSB0byBkaXNwbGF5J1wiXHJcbiAgICA+XHJcbiAgICA8L2FwcC1uby1kYXRhPlxyXG5cclxuICAgIDxmbG9hdGluZy1iYXJcclxuICAgICAgKHN1Ym1pdEV2ZW50KT1cIm9uTmV4dENsaWNrKClcIlxyXG4gICAgICAoY2FuY2VsRXZlbnQpPVwiY2xvc2VDb25maWd1cmVEYXNoYm9hcmQoKVwiXHJcbiAgICAgIFtzZWxlY3RlZERhdGFdPVwic2VsZWN0ZWRXaWRnZXRzXCJcclxuICAgICAgKGRlbGV0ZUV2ZW50KT1cInJlbW92ZVdpZGdldCgkZXZlbnQpXCJcclxuICAgID48L2Zsb2F0aW5nLWJhcj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NyZWF0ZS1kYXNoYm9hcmQvc3JjL2xpYi9jcmVhdGUtZGFzaGJvYXJkLWNvbnRhaW5lci9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy93aWRnZXQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIHdpZGdldENvbmZpZ3tcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBpZDogc3RyaW5nLFxyXG4gICAgZGVzY3JpcHRpb246IHN0cmluZyxcclxuICAgIHdpZGdldEltYWdlOiBzdHJpbmcsXHJcbiAgICB2YWx1ZTogYm9vbGVhbixcclxuICAgIG1vZHVsZTogJ0NPTVBMSUFOQ0UnLFxyXG4gICAgc3ViV2lkZ2V0czogW11cclxufSJdfQ==
@@ -1,47 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule, NgOptimizedImage } from '@angular/common';
3
- import { FloatingBarModule } from '../../ui-kit//floating-bar/floating-bar.module';
4
- import { FormgroupModule } from '../../ui-kit/formgroup/formgroup.module';
5
- import { FormsModule } from '@angular/forms';
6
- import { SearchPipe } from '../pipes/search.pipe';
7
- import { ConfigureWidgetsComponent } from './configure-widgets/configure-widgets.component';
8
- import { DirectivesModule } from '../directives/directives.module';
9
- import { NoDataModule } from '../../ui-kit/no-data/no-data.module';
10
- import * as i0 from "@angular/core";
11
- export class ConfigureWidgetsModule {
12
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, declarations: [ConfigureWidgetsComponent, SearchPipe], imports: [CommonModule,
14
- FloatingBarModule,
15
- FormgroupModule,
16
- FormsModule,
17
- DirectivesModule,
18
- NoDataModule,
19
- NgOptimizedImage], exports: [ConfigureWidgetsComponent] });
20
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, imports: [CommonModule,
21
- FloatingBarModule,
22
- FormgroupModule,
23
- FormsModule,
24
- DirectivesModule,
25
- NoDataModule] });
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ConfigureWidgetsModule, decorators: [{
28
- type: NgModule,
29
- args: [{
30
- declarations: [
31
- ConfigureWidgetsComponent, SearchPipe
32
- ],
33
- imports: [
34
- CommonModule,
35
- FloatingBarModule,
36
- FormgroupModule,
37
- FormsModule,
38
- DirectivesModule,
39
- NoDataModule,
40
- NgOptimizedImage
41
- ],
42
- exports: [
43
- ConfigureWidgetsComponent
44
- ]
45
- }]
46
- }] });
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLXdpZGdldHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbmZpZ3VyZS13aWRnZXRzL2NvbmZpZ3VyZS13aWRnZXRzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxpREFBaUQsQ0FBQztBQUM1RixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBcUJuRSxNQUFNLE9BQU8sc0JBQXNCO3dHQUF0QixzQkFBc0I7eUdBQXRCLHNCQUFzQixpQkFmL0IseUJBQXlCLEVBQUUsVUFBVSxhQUdyQyxZQUFZO1lBQ1osaUJBQWlCO1lBQ2pCLGVBQWU7WUFDZixXQUFXO1lBQ1gsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixnQkFBZ0IsYUFHaEIseUJBQXlCO3lHQUdoQixzQkFBc0IsWUFaL0IsWUFBWTtZQUNaLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsV0FBVztZQUNYLGdCQUFnQjtZQUNoQixZQUFZOzs0RkFPSCxzQkFBc0I7a0JBakJsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWix5QkFBeUIsRUFBRSxVQUFVO3FCQUN0QztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2YsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osZ0JBQWdCO3FCQUNqQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AseUJBQXlCO3FCQUMxQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdPcHRpbWl6ZWRJbWFnZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZsb2F0aW5nQmFyTW9kdWxlIH0gZnJvbSAnLi4vLi4vdWkta2l0Ly9mbG9hdGluZy1iYXIvZmxvYXRpbmctYmFyLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1ncm91cE1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9mb3JtZ3JvdXAvZm9ybWdyb3VwLm1vZHVsZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTZWFyY2hQaXBlIH0gZnJvbSAnLi4vcGlwZXMvc2VhcmNoLnBpcGUnO1xyXG5pbXBvcnQgeyBDb25maWd1cmVXaWRnZXRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb25maWd1cmUtd2lkZ2V0cy9jb25maWd1cmUtd2lkZ2V0cy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBEaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9kaXJlY3RpdmVzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5vRGF0YU1vZHVsZSB9IGZyb20gJy4uLy4uL3VpLWtpdC9uby1kYXRhL25vLWRhdGEubW9kdWxlJztcclxuXHJcblxyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENvbmZpZ3VyZVdpZGdldHNDb21wb25lbnQsIFNlYXJjaFBpcGVcclxuICBdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZsb2F0aW5nQmFyTW9kdWxlLFxyXG4gICAgRm9ybWdyb3VwTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBEaXJlY3RpdmVzTW9kdWxlLFxyXG4gICAgTm9EYXRhTW9kdWxlLFxyXG4gICAgTmdPcHRpbWl6ZWRJbWFnZVxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgQ29uZmlndXJlV2lkZ2V0c0NvbXBvbmVudFxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIENvbmZpZ3VyZVdpZGdldHNNb2R1bGUgeyB9XHJcbiJdfQ==
@@ -1,37 +0,0 @@
1
- const BASE_URL = 'https://cdn.v-comply.com';
2
- export const ASSETS = {
3
- dashBoardIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/what.svg`,
4
- dashBoardUsersIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/who.svg`,
5
- dashBoardRcIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/responsibility-center.svg`,
6
- dashBoardProgramIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,
7
- dashBoardRiskIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/category.svg`,
8
- dashBoardTimeFrameIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/when.svg`,
9
- dashBoardEmailSummariesIcon: `${BASE_URL}/libraries/workflow-engine/assets/workflow/send-resolution.svg`,
10
- configure_widget: `${BASE_URL}/libraries/configure-widget/assets/images/configure-widget.svg`,
11
- overviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/overview.png`,
12
- responsibilityCalenderWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-calender.png`,
13
- responsibilityCenterOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/responsibility-center-overview.png`,
14
- myResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/my-responsibilities.png`,
15
- keyResponsibilitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/key-responsibilities.png`,
16
- trendAnalysisWidget: `${BASE_URL}/libraries/configure-widget/assets/images/trend-analysis.png`,
17
- workroomUpdatesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/workroom-updates.png`,
18
- recentActivitiesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/recent-activities.png`,
19
- exceptionSummaryWidget: `${BASE_URL}/libraries/configure-widget/assets/images/exception-summary.png`,
20
- riskOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-overview.png`,
21
- appetiteToleranceWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/appetite-tolerance.png`,
22
- inherentRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-RC.png`,
23
- residualRCWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-RC.png`,
24
- riskCategoryOverviewWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/risk-category-overview.png`,
25
- riskHeatmapWidget: `${BASE_URL}/libraries/configure-widget/assets/images/risk-heatmap.png`,
26
- inherentCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/inherent-categories.png`,
27
- residualCategoriesWidget: `${BASE_URL}/libraries/configure-widget/assets/images/riskV2/residual-categories.png`,
28
- tenRiskRatingsWidget: `${BASE_URL}/libraries/configure-widget/assets/images/10-risk-ratings.png`,
29
- search_data: `${BASE_URL}/libraries/workflow-engine/assets/workflow/search-data.svg`,
30
- appetite_tolerance: `${BASE_URL}/libraries/configure-widget/assets/images/appetite-tolerance.png`,
31
- inherent_trend: `${BASE_URL}/libraries/configure-widget/assets/images/inherent-trend.png`,
32
- residual_trend: `${BASE_URL}/libraries/configure-widget/assets/images/residual-trend.png`,
33
- risk_trend: `${BASE_URL}/libraries/configure-widget/assets/images/risk-trend.png`,
34
- policyApproverView: `${BASE_URL}/policy/images/policy-approver-view.svg`,
35
- responsibilitiesByAssignee: `${BASE_URL}/libraries/configure-widget/assets/images/responsibilitiesByAssignee.png`,
36
- };
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmNvbnN0YW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3JlYXRlLWRhc2hib2FyZC9zcmMvbGliL2NyZWF0ZS1kYXNoYm9hcmQtY29udGFpbmVyL2NvbnN0YW50cy9hc3NldHMuY29uc3RhbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxRQUFRLEdBQUcsMEJBQTBCLENBQUM7QUFFNUMsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUFHO0lBQ3BCLGFBQWEsRUFBRSxHQUFHLFFBQVEscURBQXFEO0lBQy9FLGtCQUFrQixFQUFFLEdBQUcsUUFBUSxvREFBb0Q7SUFDbkYsZUFBZSxFQUFFLEdBQUcsUUFBUSxzRUFBc0U7SUFDbEcsb0JBQW9CLEVBQUUsR0FBRyxRQUFRLHlEQUF5RDtJQUMxRixpQkFBaUIsRUFBRSxHQUFHLFFBQVEseURBQXlEO0lBQ3ZGLHNCQUFzQixFQUFFLEdBQUcsUUFBUSxxREFBcUQ7SUFDeEYsMkJBQTJCLEVBQUUsR0FBRyxRQUFRLGdFQUFnRTtJQUN4RyxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQzdGLGNBQWMsRUFBRSxHQUFHLFFBQVEsd0RBQXdEO0lBQ25GLDRCQUE0QixFQUFFLEdBQUcsUUFBUSx1RUFBdUU7SUFDaEgsa0NBQWtDLEVBQUUsR0FBRyxRQUFRLDhFQUE4RTtJQUM3SCx3QkFBd0IsRUFBRSxHQUFHLFFBQVEsbUVBQW1FO0lBQ3hHLHlCQUF5QixFQUFFLEdBQUcsUUFBUSxvRUFBb0U7SUFDMUcsbUJBQW1CLEVBQUUsR0FBRyxRQUFRLDhEQUE4RDtJQUM5RixxQkFBcUIsRUFBRSxHQUFHLFFBQVEsZ0VBQWdFO0lBQ2xHLHNCQUFzQixFQUFFLEdBQUcsUUFBUSxpRUFBaUU7SUFDcEcsc0JBQXNCLEVBQUUsR0FBRyxRQUFRLGlFQUFpRTtJQUNwRyxrQkFBa0IsRUFBRSxHQUFHLFFBQVEsb0VBQW9FO0lBQ25HLHVCQUF1QixFQUFFLEdBQUcsUUFBUSx5RUFBeUU7SUFDN0csZ0JBQWdCLEVBQUUsR0FBRyxRQUFRLGtFQUFrRTtJQUMvRixnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsa0VBQWtFO0lBQy9GLDBCQUEwQixFQUFFLEdBQUcsUUFBUSw2RUFBNkU7SUFDcEgsaUJBQWlCLEVBQUUsR0FBRyxRQUFRLDREQUE0RDtJQUMxRix3QkFBd0IsRUFBRSxHQUFHLFFBQVEsMEVBQTBFO0lBQy9HLHdCQUF3QixFQUFFLEdBQUcsUUFBUSwwRUFBMEU7SUFDL0csb0JBQW9CLEVBQUUsR0FBRyxRQUFRLCtEQUErRDtJQUNoRyxXQUFXLEVBQUUsR0FBRyxRQUFRLDREQUE0RDtJQUNwRixrQkFBa0IsRUFBRSxHQUFHLFFBQVEsa0VBQWtFO0lBQ2pHLGNBQWMsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3pGLGNBQWMsRUFBRSxHQUFHLFFBQVEsOERBQThEO0lBQ3pGLFVBQVUsRUFBRSxHQUFHLFFBQVEsMERBQTBEO0lBQ2pGLGtCQUFrQixFQUFFLEdBQUcsUUFBUSx5Q0FBeUM7SUFDeEUsMEJBQTBCLEVBQUUsR0FBRyxRQUFRLDBFQUEwRTtDQUNsSCxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQkFTRV9VUkwgPSAnaHR0cHM6Ly9jZG4udi1jb21wbHkuY29tJztcclxuXHJcbmV4cG9ydCBjb25zdCBBU1NFVFMgPSB7XHJcbiAgZGFzaEJvYXJkSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L3doYXQuc3ZnYCxcclxuICBkYXNoQm9hcmRVc2Vyc0ljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aG8uc3ZnYCxcclxuICBkYXNoQm9hcmRSY0ljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9yZXNwb25zaWJpbGl0eS1jZW50ZXIuc3ZnYCxcclxuICBkYXNoQm9hcmRQcm9ncmFtSWNvbjogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy93b3JrZmxvdy1lbmdpbmUvYXNzZXRzL3dvcmtmbG93L2NhdGVnb3J5LnN2Z2AsXHJcbiAgZGFzaEJvYXJkUmlza0ljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9jYXRlZ29yeS5zdmdgLFxyXG4gIGRhc2hCb2FyZFRpbWVGcmFtZUljb246IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy93aGVuLnN2Z2AsXHJcbiAgZGFzaEJvYXJkRW1haWxTdW1tYXJpZXNJY29uOiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL3dvcmtmbG93LWVuZ2luZS9hc3NldHMvd29ya2Zsb3cvc2VuZC1yZXNvbHV0aW9uLnN2Z2AsXHJcbiAgY29uZmlndXJlX3dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvY29uZmlndXJlLXdpZGdldC5zdmdgLFxyXG4gIG92ZXJ2aWV3V2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9vdmVydmlldy5wbmdgLFxyXG4gIHJlc3BvbnNpYmlsaXR5Q2FsZW5kZXJXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc3BvbnNpYmlsaXR5LWNhbGVuZGVyLnBuZ2AsXHJcbiAgcmVzcG9uc2liaWxpdHlDZW50ZXJPdmVydmlld1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdHktY2VudGVyLW92ZXJ2aWV3LnBuZ2AsXHJcbiAgbXlSZXNwb25zaWJpbGl0aWVzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9teS1yZXNwb25zaWJpbGl0aWVzLnBuZ2AsXHJcbiAga2V5UmVzcG9uc2liaWxpdGllc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMva2V5LXJlc3BvbnNpYmlsaXRpZXMucG5nYCxcclxuICB0cmVuZEFuYWx5c2lzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy90cmVuZC1hbmFseXNpcy5wbmdgLFxyXG4gIHdvcmtyb29tVXBkYXRlc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvd29ya3Jvb20tdXBkYXRlcy5wbmdgLFxyXG4gIHJlY2VudEFjdGl2aXRpZXNXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3JlY2VudC1hY3Rpdml0aWVzLnBuZ2AsXHJcbiAgZXhjZXB0aW9uU3VtbWFyeVdpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvZXhjZXB0aW9uLXN1bW1hcnkucG5nYCxcclxuICByaXNrT3ZlcnZpZXdXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9yaXNrLW92ZXJ2aWV3LnBuZ2AsXHJcbiAgYXBwZXRpdGVUb2xlcmFuY2VXaWRnZXQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jpc2tWMi9hcHBldGl0ZS10b2xlcmFuY2UucG5nYCxcclxuICBpbmhlcmVudFJDV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvaW5oZXJlbnQtUkMucG5nYCxcclxuICByZXNpZHVhbFJDV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvcmVzaWR1YWwtUkMucG5nYCxcclxuICByaXNrQ2F0ZWdvcnlPdmVydmlld1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jpc2stY2F0ZWdvcnktb3ZlcnZpZXcucG5nYCxcclxuICByaXNrSGVhdG1hcFdpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay1oZWF0bWFwLnBuZ2AsXHJcbiAgaW5oZXJlbnRDYXRlZ29yaWVzV2lkZ2V0OiBgJHtCQVNFX1VSTH0vbGlicmFyaWVzL2NvbmZpZ3VyZS13aWRnZXQvYXNzZXRzL2ltYWdlcy9yaXNrVjIvaW5oZXJlbnQtY2F0ZWdvcmllcy5wbmdgLFxyXG4gIHJlc2lkdWFsQ2F0ZWdvcmllc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlza1YyL3Jlc2lkdWFsLWNhdGVnb3JpZXMucG5nYCxcclxuICB0ZW5SaXNrUmF0aW5nc1dpZGdldDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvMTAtcmlzay1yYXRpbmdzLnBuZ2AsXHJcbiAgc2VhcmNoX2RhdGE6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvd29ya2Zsb3ctZW5naW5lL2Fzc2V0cy93b3JrZmxvdy9zZWFyY2gtZGF0YS5zdmdgLFxyXG4gIGFwcGV0aXRlX3RvbGVyYW5jZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvYXBwZXRpdGUtdG9sZXJhbmNlLnBuZ2AsXHJcbiAgaW5oZXJlbnRfdHJlbmQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL2luaGVyZW50LXRyZW5kLnBuZ2AsXHJcbiAgcmVzaWR1YWxfdHJlbmQ6IGAke0JBU0VfVVJMfS9saWJyYXJpZXMvY29uZmlndXJlLXdpZGdldC9hc3NldHMvaW1hZ2VzL3Jlc2lkdWFsLXRyZW5kLnBuZ2AsXHJcbiAgcmlza190cmVuZDogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmlzay10cmVuZC5wbmdgLFxyXG4gIHBvbGljeUFwcHJvdmVyVmlldzogYCR7QkFTRV9VUkx9L3BvbGljeS9pbWFnZXMvcG9saWN5LWFwcHJvdmVyLXZpZXcuc3ZnYCxcclxuICByZXNwb25zaWJpbGl0aWVzQnlBc3NpZ25lZTogYCR7QkFTRV9VUkx9L2xpYnJhcmllcy9jb25maWd1cmUtd2lkZ2V0L2Fzc2V0cy9pbWFnZXMvcmVzcG9uc2liaWxpdGllc0J5QXNzaWduZWUucG5nYCxcclxufVxyXG4iXX0=
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWRhc2hib2FyZC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jcmVhdGUtZGFzaGJvYXJkL3NyYy9saWIvY3JlYXRlLWRhc2hib2FyZC1jb250YWluZXIvY3JlYXRlLWRhc2hib2FyZC1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlRGFzaGJvYXJkRm9ybSB7XHJcbiAgICBkYXNoYm9hcmROYW1lOiBzdHJpbmcsXHJcbiAgICBkYXNoYm9hcmREZXNjcmlwdGlvblRleHQ6IHN0cmluZyxcclxuICAgIHNlbGVjdGVkVmlld2VyczogYW55W10sXHJcbiAgICBzZWxlY3RlZEdyb3VwOmFueVtdLFxyXG4gICAgc2VsZWN0ZWRGcm9tRGF0ZTogYW55LFxyXG4gICAgc2VsZWN0ZWRUb0RhdGU6IGFueSxcclxuICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlDZW50ZXJzOiBhbnlbXSxcclxuICAgIHNlbGVjdGVkUmVzcG9uc2liaWxpdHlDYXRlZ29yaWVzOiBhbnlbXSxcclxuICAgIHNlbGVjdGVkUmlza0NhdGVnb3JpZXM6IGFueVtdLFxyXG4gICAgXHJcblxyXG4gICAgZGlzcGxheUNyaXRlcmlhOnN0cmluZyxcclxuICAgIGNvbmZpZ3VyZVdpZGdldDogYW55W10sXHJcblxyXG5cclxuICAgIGZyZXF1ZW5jeURldGFpbHM6c3RyaW5nLFxyXG4gICAgc2VsZWN0ZWRGcmVxdWVuY3lUeXBlOiBzdHJpbmcsXHJcbiAgICBzZWxlY3RlZEZyZXF1ZW5jaWVzOiBhbnksXHJcbiAgICBmcmVxdWVuY3lNZXNzYWdlOnN0cmluZ1xyXG4gICAgZnJlcXVlbmN5RGF0ZTphbnlcclxuXHJcbiAgfVxyXG4gICJdfQ==