vcomply-workflow-engine 0.0.6 → 0.0.7

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 (192) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +8647 -7152
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +18 -15
  4. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.js +2 -2
  5. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +6 -6
  6. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.ngfactory.js +3 -3
  7. package/esm2015/lib/confirmation-alert/confirmation-alert.component.js +1 -1
  8. package/esm2015/lib/create-documents/create-documents.component.js +1 -1
  9. package/esm2015/lib/formgroup/cs-select/cs-select.component.js +3 -3
  10. package/esm2015/lib/formgroup/cs-select/cs-select.component.ngfactory.js +3 -3
  11. package/esm2015/lib/formgroup/cs-switch/cs-switch.component.js +1 -1
  12. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.js +3 -3
  13. package/esm2015/lib/formgroup/select/cs-select/cs-select.component.ngfactory.js +3 -3
  14. package/esm2015/lib/log-an-issue/log-an-issue.component.js +10 -13
  15. package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +7 -7
  16. package/esm2015/lib/more-option/more-option.component.js +29 -4
  17. package/esm2015/lib/more-option/more-option.component.ngfactory.js +4 -4
  18. package/esm2015/lib/more-option/more-option.component.ngsummary.json +1 -1
  19. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.js +15 -0
  20. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngfactory.js +19 -0
  21. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngsummary.json +1 -0
  22. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.js +15 -0
  23. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngfactory.js +19 -0
  24. package/esm2015/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngsummary.json +1 -0
  25. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.js +187 -0
  26. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.js +208 -0
  27. package/esm2015/lib/sharedComponents/assessment-list/assessment-list.component.ngsummary.json +1 -0
  28. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.interface.js +2 -0
  29. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.interface.ngsummary.json +1 -0
  30. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.service.js +34 -0
  31. package/esm2015/lib/sharedComponents/assessment-list/service/assessment.service.ngsummary.json +1 -0
  32. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.js +61 -0
  33. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.js +21 -0
  34. package/esm2015/lib/sharedComponents/assessment-preview/assessment-preview.module.ngsummary.json +1 -0
  35. package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.js +29 -0
  36. package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngfactory.js +57 -0
  37. package/esm2015/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngsummary.json +1 -0
  38. package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.js +32 -0
  39. package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngfactory.js +88 -0
  40. package/esm2015/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngsummary.json +1 -0
  41. package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.js +22 -0
  42. package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.ngfactory.js +26 -0
  43. package/esm2015/lib/sharedComponents/assessment-preview/device/device.component.ngsummary.json +1 -0
  44. package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.js +19 -0
  45. package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngfactory.js +39 -0
  46. package/esm2015/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngsummary.json +1 -0
  47. package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.js +19 -0
  48. package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngfactory.js +22 -0
  49. package/esm2015/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngsummary.json +1 -0
  50. package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.js +47 -0
  51. package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.ngfactory.js +69 -0
  52. package/esm2015/lib/sharedComponents/assessment-preview/preview/preview.component.ngsummary.json +1 -0
  53. package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.js +15 -0
  54. package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngfactory.js +109 -0
  55. package/esm2015/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngsummary.json +1 -0
  56. package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.js +18 -0
  57. package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngfactory.js +96 -0
  58. package/esm2015/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngsummary.json +1 -0
  59. package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.js +29 -0
  60. package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngfactory.js +56 -0
  61. package/esm2015/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngsummary.json +1 -0
  62. package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.js +32 -0
  63. package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngfactory.js +23 -0
  64. package/esm2015/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngsummary.json +1 -0
  65. package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.js +19 -0
  66. package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngfactory.js +21 -0
  67. package/esm2015/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngsummary.json +1 -0
  68. package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.js +18 -0
  69. package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngfactory.js +21 -0
  70. package/esm2015/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngsummary.json +1 -0
  71. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.js +3 -3
  72. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.js +19 -51
  73. package/esm2015/lib/sharedComponents/bulk-view/bulk-view.component.js +2 -3
  74. package/esm2015/lib/sharedComponents/category-list/category-list.component.js +1 -1
  75. package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.js +2 -2
  76. package/esm2015/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.ngfactory.js +1 -1
  77. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.js +2 -2
  78. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.js +9 -9
  79. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.js +47 -248
  80. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.js +1 -1
  81. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.js +1 -1
  82. package/esm2015/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.js +1 -1
  83. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +2 -2
  84. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.ngfactory.js +2 -2
  85. package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.js +3 -3
  86. package/esm2015/lib/sharedComponents/framework-list/parent-table/parent-table.component.ngfactory.js +12 -12
  87. package/esm2015/lib/sharedComponents/no-data/no-data.component.js +3 -3
  88. package/esm2015/lib/sharedComponents/no-data/no-data.component.ngfactory.js +5 -5
  89. package/esm2015/lib/sharedComponents/no-data/no-data.module.ngfactory.js +1 -1
  90. package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.js +14 -0
  91. package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngfactory.js +19 -0
  92. package/esm2015/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngsummary.json +1 -0
  93. package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.js +111 -0
  94. package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngfactory.js +87 -0
  95. package/esm2015/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngsummary.json +1 -0
  96. package/esm2015/lib/sharedComponents/review-frequency/review-frequency.component.js +1 -1
  97. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  98. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.js +111 -0
  99. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.ngfactory.js +57 -0
  100. package/esm2015/lib/ui-kit/pagination/pagination/pagination.component.ngsummary.json +1 -0
  101. package/esm2015/lib/ui-kit/pagination/pagination.module.js +21 -0
  102. package/esm2015/lib/ui-kit/pagination/pagination.module.ngfactory.js +13 -0
  103. package/esm2015/lib/ui-kit/pagination/pagination.module.ngsummary.json +1 -0
  104. package/esm2015/lib/ui-kit/popover/popover.component.js +5 -4
  105. package/esm2015/lib/ui-kit/popover/popover.directive.js +55 -1
  106. package/esm2015/lib/ui-kit/popover/popover.directive.ngsummary.json +1 -1
  107. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +226 -0
  108. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +244 -0
  109. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngsummary.json +1 -0
  110. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +92 -13
  111. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +134 -93
  112. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngsummary.json +1 -1
  113. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +42 -6
  114. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +73 -38
  115. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  116. package/esm2015/lib/workflow-engine.module.js +21 -3
  117. package/esm2015/lib/workflow-engine.module.ngfactory.js +4 -2
  118. package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
  119. package/esm2015/lib/workflow-pagination/workflow-pagination.component.js +95 -6
  120. package/esm2015/lib/workflow-pagination/workflow-pagination.component.ngfactory.js +23 -7
  121. package/esm2015/lib/workflow-pagination/workflow-pagination.component.ngsummary.json +1 -1
  122. package/esm2015/lib/workflow-policy/workflow-policy.component.js +2 -2
  123. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +12 -12
  124. package/esm2015/lib/workflow-risk/workflow-risk.component.js +20 -3
  125. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +7 -7
  126. package/esm2015/lib/workflow-services/assessment.service.js +68 -0
  127. package/esm2015/lib/workflow-services/assessment.service.ngsummary.json +1 -0
  128. package/esm2015/lib/workflow-services/auth.service.js +3 -1
  129. package/esm2015/lib/workflow-services/responsibility.service.js +14 -1
  130. package/esm2015/lib/workflow-services/responsibility.service.ngsummary.json +1 -1
  131. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +2 -2
  132. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.js +2 -2
  133. package/esm2015/vcomply-workflow-engine.js +67 -44
  134. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  135. package/fesm2015/vcomply-workflow-engine.js +2656 -1242
  136. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  137. package/lib/more-option/more-option.component.d.ts +1 -0
  138. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +5 -0
  139. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.ngfactory.d.ts +1 -0
  140. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +5 -0
  141. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.ngfactory.d.ts +1 -0
  142. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +80 -0
  143. package/lib/sharedComponents/assessment-list/assessment-list.component.ngfactory.d.ts +1 -0
  144. package/lib/sharedComponents/assessment-list/service/assessment.interface.d.ts +22 -0
  145. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts +10 -0
  146. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts +2 -0
  147. package/lib/sharedComponents/assessment-preview/assessment-preview.module.ngfactory.d.ts +3 -0
  148. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +9 -0
  149. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.ngfactory.d.ts +1 -0
  150. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +12 -0
  151. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.ngfactory.d.ts +1 -0
  152. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +7 -0
  153. package/lib/sharedComponents/assessment-preview/device/device.component.ngfactory.d.ts +1 -0
  154. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +7 -0
  155. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.ngfactory.d.ts +1 -0
  156. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +7 -0
  157. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.ngfactory.d.ts +1 -0
  158. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +11 -0
  159. package/lib/sharedComponents/assessment-preview/preview/preview.component.ngfactory.d.ts +1 -0
  160. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +5 -0
  161. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.ngfactory.d.ts +1 -0
  162. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +6 -0
  163. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.ngfactory.d.ts +1 -0
  164. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +9 -0
  165. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.ngfactory.d.ts +1 -0
  166. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +9 -0
  167. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.ngfactory.d.ts +1 -0
  168. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +7 -0
  169. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.ngfactory.d.ts +1 -0
  170. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +6 -0
  171. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.ngfactory.d.ts +1 -0
  172. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +5 -0
  173. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.ngfactory.d.ts +1 -0
  174. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +47 -0
  175. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.ngfactory.d.ts +1 -0
  176. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +23 -0
  177. package/lib/ui-kit/pagination/pagination/pagination.component.ngfactory.d.ts +1 -0
  178. package/lib/ui-kit/pagination/pagination.module.d.ts +2 -0
  179. package/lib/ui-kit/pagination/pagination.module.ngfactory.d.ts +3 -0
  180. package/lib/ui-kit/popover/popover.directive.d.ts +1 -0
  181. package/lib/workflow-assessment/workflow-assessment.component.d.ts +63 -0
  182. package/lib/workflow-assessment/workflow-assessment.component.ngfactory.d.ts +1 -0
  183. package/lib/workflow-compliance/workflow-compliance.component.d.ts +12 -1
  184. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +7 -1
  185. package/lib/workflow-pagination/workflow-pagination.component.d.ts +18 -1
  186. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  187. package/lib/workflow-services/assessment.service.d.ts +20 -0
  188. package/lib/workflow-services/auth.service.d.ts +2 -0
  189. package/lib/workflow-services/responsibility.service.d.ts +5 -0
  190. package/package.json +1 -1
  191. package/vcomply-workflow-engine.d.ts +66 -43
  192. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -0,0 +1,226 @@
1
+ import { Component, EventEmitter, Input, Optional, Output } from '@angular/core';
2
+ import { Configurations } from '../configurations';
3
+ import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
4
+ import { AssessmentService } from '../workflow-services/assessment.service';
5
+ import { AuthService } from '../workflow-services/auth.service';
6
+ import { UiKitService } from '../workflow-services/ui-kit.service';
7
+ export class WorkflowAssessmentComponent {
8
+ constructor(assessmentService, authService, uiKitService, snackBar, config) {
9
+ this.assessmentService = assessmentService;
10
+ this.authService = authService;
11
+ this.uiKitService = uiKitService;
12
+ this.snackBar = snackBar;
13
+ this.activeSelector = '';
14
+ this.submitted = false;
15
+ this.loader = false;
16
+ this.showSmiley = false;
17
+ this.mode = 'EDIT';
18
+ this.assessmentId = '';
19
+ this.openedFrom = '';
20
+ this.disconnectRefresh = new EventEmitter();
21
+ this.sideSelectorElements = ['category'];
22
+ this.actionButtons = [
23
+ // { buttonText: 'Add More Assessments', class: 'white-btn', id: 'addMore' },
24
+ { buttonText: 'Go to assessment workroom', class: 'blue-btn', id: 'viewAssessment' },
25
+ ];
26
+ this.assessmentTypeChangeAllowed = false;
27
+ this.pickerChanged = new EventEmitter();
28
+ this.closeWorkflow = new EventEmitter();
29
+ this.assessmentForm = {
30
+ assessmentType: 'compliance',
31
+ name: '',
32
+ description: '',
33
+ category: [],
34
+ customTags: [],
35
+ };
36
+ this.organizationId = 0;
37
+ this.selectorConfig = {
38
+ ASSESSMENT_CATGORY: {
39
+ panelTitle: 'Select an Assessment Category',
40
+ entitySingular: 'Category selected.',
41
+ entityPlural: 'Categories selected.',
42
+ displayKey: 'category_name',
43
+ identifierKey: 'id',
44
+ parentKey: 'category_parents',
45
+ parentDisplayKey: 'category_name',
46
+ searchPlaceholder: 'Search an assessment category.',
47
+ noDataText: 'No assessment categories found.'
48
+ },
49
+ };
50
+ this.description = {
51
+ mode: 'prime',
52
+ colorPalette: true,
53
+ link: true,
54
+ placeholder: 'Add a description',
55
+ };
56
+ this.timezone = this.authService.getUserTimeZone();
57
+ }
58
+ ngOnInit() {
59
+ //this.loader = true;
60
+ if (this.mode === 'CREATE') {
61
+ this.organizationId = this.authService.getOrganizationId();
62
+ }
63
+ //this.setCategory({ searchKey: '', page: 1 });
64
+ if (this.mode === 'EDIT') {
65
+ this.getAssessmentDetails();
66
+ }
67
+ }
68
+ getAssessmentDetails() {
69
+ this.loader = true;
70
+ this.assessmentService.getAssessmentDetails(this.assessmentId).subscribe({
71
+ next: (res) => {
72
+ var _a, _b, _c;
73
+ this.assessmentForm.name = (_a = res === null || res === void 0 ? void 0 : res.assessment_name) !== null && _a !== void 0 ? _a : '';
74
+ this.assessmentForm.description = (_b = res === null || res === void 0 ? void 0 : res.description) !== null && _b !== void 0 ? _b : '';
75
+ this.assessmentForm.assessmentType = (_c = res === null || res === void 0 ? void 0 : res.assessment_type) !== null && _c !== void 0 ? _c : 'compliance';
76
+ this.assessmentForm.category = res.category_arr.map((ele) => { return { id: ele === null || ele === void 0 ? void 0 : ele._id, category_name: ele === null || ele === void 0 ? void 0 : ele.category_name }; });
77
+ this.loader = false;
78
+ },
79
+ error: (err) => {
80
+ this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
81
+ this.loader = false;
82
+ }
83
+ });
84
+ }
85
+ //This function is responsible for fetching the list of categories
86
+ setCategory(evt) {
87
+ this.assessmentService.fetchCategory({
88
+ search_title: evt.searchKey,
89
+ page_no: evt.page
90
+ });
91
+ }
92
+ activateSelector(type, event) {
93
+ if (type === 'category') {
94
+ this.setCategory({ searchKey: '', page: 1 });
95
+ }
96
+ this.activeSelector = event ? type : '';
97
+ if (this.sideSelectorElements.includes(type)) {
98
+ this.pickerChanged.emit(event);
99
+ }
100
+ }
101
+ activeDeselector() {
102
+ this.activeSelector = '';
103
+ this.pickerChanged.emit(false);
104
+ }
105
+ next(type, payload) {
106
+ switch (type) {
107
+ case 'CATEGORY': {
108
+ this.activeDeselector();
109
+ this.assessmentForm.category = payload;
110
+ }
111
+ }
112
+ }
113
+ remove(type, event) {
114
+ switch (type) {
115
+ case 'category':
116
+ this.assessmentForm.category = this.assessmentForm.category.filter((ele) => (ele === null || ele === void 0 ? void 0 : ele.id) !== (event === null || event === void 0 ? void 0 : event.id));
117
+ }
118
+ }
119
+ changeAssessment(type) {
120
+ this.assessmentForm = Object.assign(Object.assign({}, this.assessmentForm), { riskType: type });
121
+ }
122
+ closeSmiley(evt) {
123
+ this.closeWorkflow.emit({ evt: this.assessmentId, confirm: false });
124
+ }
125
+ action(evt) {
126
+ if (evt === 'viewAssessment') {
127
+ this.disconnectRefresh.emit(false);
128
+ window.location.href = `https://${window.location.hostname}/assessment/assessment-workroom/?id=${this.assessmentId}`;
129
+ }
130
+ }
131
+ checkDescription() {
132
+ if (this.assessmentForm.description == '<br>') {
133
+ this.assessmentForm.description = '';
134
+ }
135
+ }
136
+ submitAssessment() {
137
+ this.submitted = true;
138
+ const valid = this.validateAssessment();
139
+ if (!valid) {
140
+ return false;
141
+ }
142
+ else {
143
+ this.createAssessment(this.assessmentForm);
144
+ }
145
+ }
146
+ validateAssessment() {
147
+ // console.log("val",this.assessmentForm)
148
+ this.submitted = true;
149
+ if (!this.assessmentForm.name
150
+ || (this.assessmentForm.category.length == 0)) {
151
+ return false;
152
+ }
153
+ else {
154
+ return true;
155
+ }
156
+ }
157
+ createAssessment(assessmentForm) {
158
+ this.loader = true;
159
+ this.uiKitService.isLoader = false;
160
+ const payload = {
161
+ assessment_name: assessmentForm.name,
162
+ description: assessmentForm.description,
163
+ assessment_type: assessmentForm.assessmentType,
164
+ category_arr: this.assessmentForm.category.map((ele) => ele.id),
165
+ approval_workflow_arr: {
166
+ "test": "test"
167
+ },
168
+ approval_required: true,
169
+ source_page: "compliance"
170
+ };
171
+ console.log("payload", payload);
172
+ if (this.mode == 'CREATE') {
173
+ this.assessmentService.addAssessment(payload).subscribe((res) => {
174
+ this.disconnectRefresh.emit(false);
175
+ this.assessmentId = res === null || res === void 0 ? void 0 : res._id;
176
+ window.location.href = `https://${window.location.hostname}/assessment/create/${res === null || res === void 0 ? void 0 : res._id}`;
177
+ this.loader = false;
178
+ }, (err) => {
179
+ console.log(err);
180
+ this.loader = false;
181
+ this.uiKitService.isLoader = false;
182
+ this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
183
+ });
184
+ }
185
+ else if (this.mode === 'EDIT') {
186
+ this.assessmentService.updateAssessment(this.assessmentId, payload).subscribe({
187
+ next: (res) => {
188
+ this.loader = false;
189
+ this.showSmiley = true;
190
+ },
191
+ error: (err) => {
192
+ if (err === null || err === void 0 ? void 0 : err.error.message.startsWith('No changes')) {
193
+ this.loader = false;
194
+ this.showSmiley = true;
195
+ }
196
+ else {
197
+ this.snackBar.show('OOPS! Something went wrong and the page could not be loaded. Could you please try one more time?');
198
+ }
199
+ }
200
+ });
201
+ }
202
+ }
203
+ }
204
+ WorkflowAssessmentComponent.decorators = [
205
+ { type: Component, args: [{
206
+ selector: 'app-workflow-assessment',
207
+ template: "<div class=\"workflow-assessment\">\r\n <!-- Assessment Type -->\r\n <div *ngIf=\"false\" class=\"form-group-row\" [class.active]=\"false\" [class.disabled]=\"false\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/associated-risks.svg\" alt=\"im\" *ngIf=\"true\">\r\n\r\n <svg *ngIf=\"false\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">ASSESSMENT TYPE <span class=\"required\">*</span></label>\r\n <div class=\"risk-type-field\">\r\n <div class=\"type-item\" [class.active]=\"assessmentForm?.assessmentType === 'COMPLIANCE'\">\r\n <button [class.disabled]=\"!assessmentTypeChangeAllowed\" (click)=\"changeAssessment('COMPLIANCE')\">COMPLIANCE ASSESSMENT</button>\r\n <i class=\"icons info\" [appTooltip]=\"'Compliance assessment info text here...'\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\">&#xe932;</i>\r\n </div>\r\n <div class=\"type-item\" [class.active]=\"false\">\r\n <button [class.disabled]=\"!assessmentTypeChangeAllowed\" (click)=\"changeAssessment('RISK')\">RISK ASSESSMENT</button>\r\n <i class=\"icons info\" [appTooltip]=\"'Risk assessment info text here...'\" placement=\"bottom-right\" delay=\"0\" type=\"white\" [tooltipMandatory]=\"true\">&#xe932;</i>\r\n </div>\r\n <span class=\"background-glider\"></span>\r\n </div>\r\n <p *ngIf=\"false\" class=\"error-message\">Add an assessment type</p>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Assessment Name -->\r\n <div class=\"form-group-row\" [class.active]=\"false\" [class.disabled]=\" activeSelector && activeSelector !== 'name' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/what.svg\" alt=\"im\" *ngIf=\"!assessmentForm.name || activeSelector === 'name'\">\r\n\r\n <svg *ngIf=\"assessmentForm.name && activeSelector !== 'name'\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">Assessment Name <span class=\"required\">*</span></label>\r\n <input type=\"text\" (keydown)=\"activeSelector = 'name'\" (focusin)=\"activateSelector('name',true)\"\r\n (focusout)=\"activateSelector('name',false)\" [(ngModel)]=\"assessmentForm.name\" placeholder=\"Add an assessment name\" *ngIf=\"assessmentForm.name =='' || activeSelector === 'name'\">\r\n <div class=\"selected\" *ngIf=\"assessmentForm.name.length && activeSelector !== 'name'\">\r\n <div class=\"chip-container\">\r\n <span class=\"value\">{{assessmentForm.name}}</span>\r\n </div>\r\n <button class=\"edit\" (click)=\"activateSelector('name',true)\"type=\"button\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\r\n </div>\r\n <p *ngIf=\"submitted && (!assessmentForm.name)\" class=\"error-message\">Enter a name for this Assessment.</p>\r\n <marx-editor [(ngModel)]=\"assessmentForm.description\" [editorConfig]=\"description\" (clickOutside)=\"checkDescription()\"></marx-editor>\r\n <!-- <p *ngIf=\"submitted && (assessmentForm.assessmentType ==='COMPLIANCE' && !assessmentForm?.description?.trim()?.length)\" class=\"error-message\">Add an assessment description</p> -->\r\n </div>\r\n </div>\r\n </div>\r\n <!-- Assessment Category -->\r\n <div class=\"form-group-row\" [class.active]=\"activeSelector === 'category'\" [class.disabled]=\"activeSelector && activeSelector !== 'category' && sideSelectorElements.includes(activeSelector)\">\r\n <div class=\"left\" [class.checked]=\"assessmentForm?.category?.length\">\r\n <img *ngIf=\"!assessmentForm?.category?.length || activeSelector === 'category'\" src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/category.svg\" alt=\"\" />\r\n\r\n <svg class=\"checkIcon\" *ngIf=\"assessmentForm?.category?.length && activeSelector !== 'category'\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group\">\r\n <label class=\"vx-control-panel\">ASSESSMENT CATEGORY <span class=\"required\">*</span></label>\r\n <div class=\"select\" *ngIf=\"!assessmentForm?.category?.length\">\r\n <input type=\"text\" (click)=\"activateSelector('category',true)\" placeholder=\"Select category for this assessment\" readonly>\r\n </div>\r\n <div class=\"selected\" *ngIf=\"assessmentForm?.category?.length\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\"><i class=\"icons\" (click)=\"remove('category',assessmentForm.category[0])\">&#xe90d;</i>{{assessmentForm?.category[0]?.category_name}}</span>\r\n <button class=\"count\" *ngIf=\"assessmentForm?.category?.length > 1\" appPopover (click)=\"category.popover()\" placement=\"right\">+{{assessmentForm?.category?.length -1}}</button>\r\n </div>\r\n <button *ngIf=\"activeSelector !== 'category'\" class=\"edit\" type=\"button\" (click)=\"activateSelector('category',true)\"><i class=\"icons\">&#xe9ba;</i> Edit</button>\r\n </div>\r\n <p *ngIf=\"submitted && (!assessmentForm?.category?.length)\" class=\"error-message\">Select the Assessment Category.</p>\r\n <app-popover #category [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let category of assessmentForm?.category | slice: 1; let j = index\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\" (click)=\"remove('category',category)\">&#xe90d;</i>\r\n {{category?.category_name }}\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n </div>\r\n <ng-container *ngIf=\"assessmentForm?.customTags?.length>0\" >\r\n <div class=\"vx-form-group\" *ngFor=\"let tag of assessmentForm.customTags\">\r\n <label class=\"vx-control-panel\">{{tag.custom_tag_name}}</label>\r\n <input type=\"text\" [(ngModel)]=\"tag.custom_tag_value\" [placeholder]=\"tag.custom_tag_name\">\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </div>\r\n <!-- Assessment Approval Workflow -->\r\n <div *ngIf=\"false\" class=\"form-group-row\" [class.active]=\"false\" [class.disabled]=\"false\">\r\n <div class=\"left\" [class.checked]=\"false\">\r\n <img *ngIf=\"true\" src=\"https://cdn.v-comply.com/libraries/workflow-engine/assets/workflow/approval.svg\" alt=\"im\">\r\n\r\n <svg *ngIf=\"false\" class=\"checkIcon\"\r\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 52 52\">\r\n <circle class=\"checkIcon__circle\" cx=\"26\" cy=\"26\" r=\"25\" fill=\"none\" />\r\n <path class=\"checkIcon__check\" fill=\"none\" d=\"M14.1 27.2l7.1 7.2 16.7-16.8\" />\r\n </svg>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"vx-form-group approval-workflow\" [class.disabled]=\"false\">\r\n <label class=\"vx-control-panel\">\r\n Approval workflow <span class=\"required\">*</span>\r\n <button class=\"button\">CREATE A NEW APPROVAL WORKFLOW</button>\r\n </label>\r\n <div class=\"select\" [class.disabled]=\"false\" *ngIf=\"true\">\r\n <cs-select [placeholder]=\"'Select approvers for this assessment'\">\r\n <cs-option>test</cs-option>\r\n <cs-option>Create a new approval workflow</cs-option>\r\n </cs-select>\r\n </div>\r\n <app-cs-switch>\r\n APPROVAL NOT REQUIRED <i class=\"icons\" [appTooltip]=\"'Approval workflow info text here...'\" placement=\"bottom-right\" type=\"white\" delay=\"0\" [tooltipMandatory]=\"true\">&#xe932;</i>\r\n </app-cs-switch>\r\n <ng-container *ngIf=\"true\">\r\n <div class=\"selected\">\r\n <div class=\"workflow-label\">\r\n <p class=\"title\">Level 1</p>\r\n <p class=\"description\">lavel name</p>\r\n </div>\r\n <div class=\"vx-d-flex vx-align-center\">\r\n <div class=\"chip-container\">\r\n <span class=\"chip\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n <span class=\"step\" *ngIf=\"true\" >1</span>approval name\r\n </span>\r\n\r\n <button class=\"count\" *ngIf=\"true\" type=\"button\" appPopover (click)=\"labelName.popover()\" placement=\"right\">+8</button>\r\n <app-popover #labelName [dontCloseonClick]=\"true\">\r\n <div class=\"action-list\">\r\n <ul class=\"action-item\">\r\n <li *ngFor=\"let data of [1, 1, 1, 1, 1, 1, 1]\">\r\n <div class=\"avatar-card\">\r\n <span class=\"value\">\r\n <i class=\"icons\">&#xe90d;</i>\r\n <span class=\"step\">2</span>approval name\r\n </span>\r\n </div>\r\n </li>\r\n </ul>\r\n </div>\r\n </app-popover>\r\n\r\n </div>\r\n <button class=\"edit\" type=\"button\"><i class=\"icons\">&#xe9ba;</i>Edit</button>\r\n <button class=\"close-btn\"><i class=\"icons\">&#xe90d;</i></button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <p *ngIf=\"true\" class=\"error-message\">Select or create an approval workflow for this assessment.</p>\r\n\r\n <label class=\"vx-control-panel\" *ngIf=\"true\">\r\n <button class=\"button\">+ Add More Levels</button>\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n \r\n</div>\r\n <ng-container *ngIf=\"(assessmentService?.categoriesListData$|async) as categories\">\r\n<app-radio-list-with-pagination *ngIf=\"activeSelector === 'category'\"\r\n[categoryList]=\"categories?.data\"\r\n [config]=\"selectorConfig?.ASSESSMENT_CATGORY\"\r\n [currentPage]=\"categories?.currentPage\"\r\n [recordStart]=\"categories?.start_value\"\r\n [recordEnd]=\"categories?.end_value\"\r\n [totalRecords]=\"categories?.totalRecords\"\r\n [totalPages]=\"categories?.totalPage\"\r\n [loading] = \"assessmentService?.categoriesLoading$|async\"\r\n (fetchData)=\"setCategory($event)\"\r\n (next)=\"next('CATEGORY',$event)\"\r\n [selectedList]=\"assessmentForm?.category\"\r\n (cancel)=\"activeDeselector()\"\r\n (back)=\"activeDeselector()\"\r\n ></app-radio-list-with-pagination>\r\n</ng-container>\r\n<app-loader-inline *ngIf=\"loader\"></app-loader-inline>\r\n<app-smiley-dialog-inline\r\n *ngIf=\"showSmiley\"\r\n [message]=\"smileyMessage\"\r\n [actionButtons]=\"actionButtons\"\r\n (action)=\"action($event)\"\r\n (closeSmiley)=\"closeSmiley($event)\">\r\n</app-smiley-dialog-inline>\r\n",
208
+ styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");::ng-deep .workflow-assessment{display:block;position:relative}::ng-deep .workflow-assessment app-cs-switch{display:block;margin-bottom:8px}::ng-deep .workflow-assessment app-cs-switch label.cs-switch span.value{justify-content:flex-end!important;line-height:16px}::ng-deep .workflow-assessment app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:12px;cursor:pointer;color:#4681ef;align-items:center;line-height:16px;margin:0 8px 0 4px}::ng-deep .workflow-assessment .form-group-row .right .approval-workflow .selected{height:56px;padding:4px 12px 8px;display:block}::ng-deep .workflow-assessment .form-group-row .right .approval-workflow .selected .workflow-label{min-width:auto;padding:0;text-align:left;margin:0 0 4px;border-right:none;width:100%;display:flex;align-items:center}::ng-deep .workflow-assessment .form-group-row .right .approval-workflow .selected .workflow-label p.description{font-size:10px;margin-left:6px}::ng-deep span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}", "@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");::-webkit-scrollbar-track{background-color:#f1f1f1;position:absolute}::-webkit-scrollbar{width:3px;height:3px;background-color:transparent;position:absolute}::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}button{font-family:Poppins,sans-serif}::ng-deep .vx-form-group{display:block;position:relative;margin-bottom:20px}::ng-deep .vx-form-group:after{content:\"\";display:block;clear:both}::ng-deep .vx-form-group .select{position:relative}::ng-deep .vx-form-group .select:after{border-left-color:#707070;border-bottom:1px solid #707070;border-right:1px solid #707070;border-top-color:#707070;content:\"\";display:inline-block;right:15px;position:absolute;top:calc(50% - 4px);width:5px;height:5px;transform:rotate(45deg)}::ng-deep .vx-form-group .select input{cursor:pointer;padding-right:30px!important}::ng-deep .vx-form-group .select .custom-input{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:3px 12px;line-height:16px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;cursor:pointer}::ng-deep .vx-form-group .select .custom-input:empty:not(:focus):before{content:attr(aria-placeholder);line-height:16px;font-size:13px;width:94%;display:block;pointer-events:none;opacity:.8}::ng-deep .vx-form-group .select .custom-input:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .select .custom-input.frequency-custom-input{padding-right:116px}::ng-deep .vx-form-group .select+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .select+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .select+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .select~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .select~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .select.button-sec:after{display:none}::ng-deep .vx-form-group .select.button-sec button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;position:absolute;top:12px;right:8px;padding:0;margin:0}::ng-deep .vx-form-group .select+.vx-control-panel{margin-top:8px}::ng-deep .vx-form-group .select+.selected{margin-top:8px}::ng-deep .vx-form-group .select.select{margin-top:8px}::ng-deep .vx-form-group .upload-format{border:1px solid #dbdbdb;border-radius:4px;padding:8px 12px;display:block}::ng-deep .vx-form-group .upload-format span.text{line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:block;margin-bottom:6px}::ng-deep .vx-form-group .upload-format .radio-group{display:flex}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio{display:inline-block}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;margin-left:8px}::ng-deep .vx-form-group .upload-format .radio-group app-cs-radio+app-cs-radio{margin-left:12px}::ng-deep .vx-form-group .upload-format~.upload-format{margin-top:4px}::ng-deep .vx-form-group .form-tab{display:flex;justify-content:flex-start}::ng-deep .vx-form-group .form-tab button{background:transparent;color:#161b2f;font-size:11px;line-height:16px;text-transform:uppercase;cursor:pointer;padding:8px 8px 8px 0;border:none;outline:none;font-weight:500}::ng-deep .vx-form-group .form-tab button:disabled{opacity:.5;pointer-events:none}::ng-deep .vx-form-group .form-tab button+button{padding:8px}::ng-deep .vx-form-group .form-tab button.active{color:#1e5dd3}::ng-deep .vx-form-group .tab-group{border:1px solid #dbdbdb;border-radius:4px;padding:0;display:block;position:relative}::ng-deep .vx-form-group .tab-group .upload-file{padding:16px 24px;display:flex;align-items:center}::ng-deep .vx-form-group .tab-group .upload-file .image{width:80px;margin-right:20px}::ng-deep .vx-form-group .tab-group .upload-file .browse{display:flex;align-items:center;justify-content:center;width:calc(100% - 100px);text-align:center}::ng-deep .vx-form-group .tab-group .upload-file .browse span{display:inline-block;font-size:12px;color:#747576;line-height:16px;padding:0 4px}::ng-deep .vx-form-group .tab-group .upload-file .browse .label{font-size:11px;color:#1e5dd3;line-height:16px;font-weight:600;text-transform:uppercase;margin:0;padding:0}::ng-deep .vx-form-group .tab-group .upload-file .browse .label input{opacity:0;position:absolute;top:0;margin:0;padding:0;right:0;bottom:0;left:0;cursor:pointer;width:100%}::ng-deep .vx-form-group .tab-group.active{border-color:#1e5dd3}::ng-deep .vx-form-group .tab-group.uploaded{margin-top:4px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file{padding:12px \u200B24px}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .image{display:none}::ng-deep .vx-form-group .tab-group.uploaded .upload-file .browse{width:100%}::ng-deep .vx-form-group .tab-group+label.vx-form-group{margin-top:8px;margin-bottom:4px}::ng-deep .vx-form-group .file-list{background:#fbfbfb;border:1px solid #f1f1f1;border-radius:4px;padding:12px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;position:relative}::ng-deep .vx-form-group .file-list span.file-name{color:#747576;line-height:16px;font-size:11px;font-weight:400;cursor:pointer;max-width:calc(100% - 20px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}::ng-deep .vx-form-group .file-list .button-group{display:flex}::ng-deep .vx-form-group .file-list button{font-size:12px;color:#eb2424;cursor:pointer;display:flex;padding:0;border:none;outline:none;background:transparent}::ng-deep .vx-form-group .file-list button.edit{color:#1e5dd3}::ng-deep .vx-form-group .file-list button+button{margin-left:16px}::ng-deep .vx-form-group .file-list+.file-list{margin-top:4px}::ng-deep .vx-form-group .file-list .file-container{display:flex;justify-content:space-between;width:100%}::ng-deep .vx-form-group .file-list.policy{background:#fff}::ng-deep .vx-form-group .file-list cs-select{position:relative;margin-top:8px;width:100%}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group input.value{height:32px!important;font-size:11px!important}::ng-deep .vx-form-group .file-list cs-select .selection-wrap .input-group i{right:12px!important;top:12px!important}::ng-deep .vx-form-group .file-list app-line-loader{display:block;position:absolute;left:10px;right:10px;bottom:0}::ng-deep .vx-form-group label.vx-control-panel{color:#161b2f;font-size:11px;font-weight:500;line-height:16px;margin-bottom:8px;display:block;text-transform:uppercase;width:100%;margin-top:4px;text-align:left}::ng-deep .vx-form-group label.vx-control-panel.custom-tag{font-size:10px}::ng-deep .vx-form-group label.vx-control-panel.vx-mt-8{margin-top:8px}::ng-deep .vx-form-group label.vx-control-panel span.required{color:#eb2424;position:relative;top:-2px}::ng-deep .vx-form-group label.vx-control-panel .button{background:transparent;border:none;display:inline-flex;float:right;color:#1e5dd3;text-transform:uppercase;font-weight:600;cursor:pointer;font-size:11px;padding:0;margin:0}::ng-deep .vx-form-group label.vx-control-panel app-cs-switch{float:right;display:block}::ng-deep .vx-form-group label.vx-control-panel i{margin-left:8px;font-size:12px;color:#1e5dd3;cursor:pointer;position:relative;top:1px}::ng-deep .vx-form-group .input,::ng-deep .vx-form-group input[type=text]{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;outline:none;padding:8px 12px;line-height:20px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{color:#747576}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{color:#747576}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{color:#747576}::ng-deep .vx-form-group .input:focus,::ng-deep .vx-form-group .input:hover,::ng-deep .vx-form-group input[type=text]:focus,::ng-deep .vx-form-group input[type=text]:hover{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .input.error,::ng-deep .vx-form-group input[type=text].error{border-color:#eb2424;color:#eb2424;margin-bottom:4px}::ng-deep .vx-form-group .input.error:focus,::ng-deep .vx-form-group input[type=text].error:focus{box-shadow:0 0 5px rgba(211,30,30,.27)}::ng-deep .vx-form-group .input:disabled,::ng-deep .vx-form-group input[type=text]:disabled{background:#f1f1f1;cursor:not-allowed}::ng-deep .vx-form-group .input:disabled:hover,::ng-deep .vx-form-group input[type=text]:disabled:hover{border-color:#dbdbdb;box-shadow:none}::ng-deep .vx-form-group .input span.text,::ng-deep .vx-form-group input[type=text] span.text{font-size:13px;color:#747576;font-weight:400;display:block;width:100%}::ng-deep .vx-form-group .input .input-group,::ng-deep .vx-form-group input[type=text] .input-group{display:flex;align-items:center}::ng-deep .vx-form-group .input .input-group.counter,::ng-deep .vx-form-group input[type=text] .input-group.counter{min-width:96px;width:96px}::ng-deep .vx-form-group .input .input-group.counter button,::ng-deep .vx-form-group input[type=text] .input-group.counter button{height:24px;width:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#747576;font-size:8px;cursor:pointer;outline:none}::ng-deep .vx-form-group .input .input-group.counter input,::ng-deep .vx-form-group input[type=text] .input-group.counter input{-webkit-appearance:textfield;-moz-appearance:textfield;height:24px;width:calc(100% - 48px);border:1px solid #f1f1f1;outline:none;padding:0 6px;text-align:center}::ng-deep .vx-form-group .input .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group .input .input-group.counter input::-webkit-outer-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-inner-spin-button,::ng-deep .vx-form-group input[type=text] .input-group.counter input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}::ng-deep .vx-form-group .input+.file-list,::ng-deep .vx-form-group input[type=text]+.file-list{margin-top:8px}::ng-deep .vx-form-group .input::-moz-placeholder,::ng-deep .vx-form-group input[type=text]::-moz-placeholder{font-size:13px}::ng-deep .vx-form-group .input::placeholder,::ng-deep .vx-form-group input[type=text]::placeholder{font-size:13px}::ng-deep .vx-form-group .input:-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]:-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .input::-ms-input-placeholder,::ng-deep .vx-form-group input[type=text]::-ms-input-placeholder{font-size:13px}::ng-deep .vx-form-group .classification{height:40px;border-radius:4px;border:1px solid #dbdbdb;background:#fff;padding:8px 12px;display:flex;justify-content:space-between}::ng-deep .vx-form-group .classification label{width:100%;position:relative;z-index:1;margin:0 4px 0 0}::ng-deep .vx-form-group .classification label span{display:block;width:100%;height:24px;border:1px solid #f1f1f1;border-radius:2px;line-height:24px;font-size:10px;text-align:center;color:#747576;font-weight:500;position:relative;text-transform:uppercase}::ng-deep .vx-form-group .classification label span:before{height:2px;content:\"\";top:0;right:0;left:0;border-radius:2px;position:absolute;transition:all .2s ease-in-out}::ng-deep .vx-form-group .classification label input{opacity:0;position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:0;width:100%;height:100%;cursor:pointer;z-index:1}::ng-deep .vx-form-group .classification label input:checked+span{color:#fff}::ng-deep .vx-form-group .classification label input:checked+span:before{bottom:0;height:100%;z-index:-1}::ng-deep .vx-form-group .classification label.low span:before{background:#34aa44}::ng-deep .vx-form-group .classification label.low-med span:before{background:#f2bf19}::ng-deep .vx-form-group .classification label.med-high span:before{background:#f29619}::ng-deep .vx-form-group .classification label.high span:before{background:#eb2424}::ng-deep .vx-form-group .classification label:last-of-type{margin-right:0}::ng-deep .vx-form-group .input{display:flex;align-items:center}::ng-deep .vx-form-group .selected{height:40px;border-radius:4px;border:1px solid #f1f1f1;background:#fbfbfb;outline:none;padding:8px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%;display:flex;align-items:center;position:relative;justify-content:space-between}::ng-deep .vx-form-group .selected .chip-container{display:flex;width:calc(100% - 60px);align-items:center}::ng-deep .vx-form-group .selected .chip-container.checkpoints{width:calc(100% - 120px)}::ng-deep .vx-form-group .selected .chip-container span.chip{background:#fff;border-radius:2px;box-shadow:0 0 3px #1e5dd31a;height:24px;padding:0 8px;color:#1e5dd3;font-size:12px;display:block;width:auto;max-width:100%;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:24px}::ng-deep .vx-form-group .selected .chip-container span.chip.disabled{background:#f1f1f1;box-shadow:none;color:#747576}::ng-deep .vx-form-group .selected .chip-container span.chip i{font-weight:400;margin-right:8px;cursor:pointer;font-size:10px;position:relative;top:1px}::ng-deep .vx-form-group .selected .chip-container span.chip span.step{background:#1e5dd3;border-radius:2px;color:#fff;font-size:9px;line-height:14px;padding:0 4px;font-weight:400;text-align:center;min-width:auto;margin-right:4px}::ng-deep .vx-form-group .selected .chip-container span.chip+span.chip{margin-left:4px}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question{display:flex;align-items:center;justify-content:space-between;width:100%}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.value{color:#1e5dd3;font-size:12px;font-weight:400;line-height:24px;padding:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 80px)}::ng-deep .vx-form-group .selected .chip-container span.chip.with-question span.label{background:#f1f1f1;border-radius:2px;color:#042e7d;font-size:9px;font-weight:600;text-transform:uppercase;padding-left:4px;padding-right:4px;line-height:12px;margin-left:8px}::ng-deep .vx-form-group .selected .chip-container span.value{color:#747576;font-size:13px;line-height:20px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 52px);padding:0 4px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text{color:#747576;font-size:10px;font-weight:500;padding:0 8px;width:122px;line-height:14px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first{position:relative;min-width:162px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text.first:before{background:#f1f1f1;content:\"\";position:absolute;top:0;right:0;height:calc(100% + 12px);width:1px}::ng-deep .vx-form-group .selected .chip-container span.checkpoint-point-text .no{color:#1e5dd3}::ng-deep .vx-form-group .selected .chip-container.plus span.chip{max-width:calc(50% - 35px)}::ng-deep .vx-form-group .selected .chip-container.more-one span.chip{max-width:50%}::ng-deep .vx-form-group .selected button.count{background:#1e5dd3;border-radius:2px;height:24px;padding:2px 8px;border:1px solid #1e5dd3;cursor:pointer;outline:none;color:#fff;font:13px;font-weight:500;line-height:20px;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit{border:1px solid #f1f1f1;border-radius:2px;background:#fff;outline:none;cursor:pointer;display:block;height:24px;padding:0 5px 0 4px;font-size:11px;font-weight:500;color:#1e5dd3;text-transform:uppercase;white-space:nowrap;margin-left:8px}::ng-deep .vx-form-group .selected button.edit i{font-weight:400;font-size:8px;margin-right:4px}::ng-deep .vx-form-group .selected button.close-btn{background:transparent;border:none;padding:0;margin-left:8px;font-size:10px;color:#c7381b;display:flex;align-items:center}::ng-deep .vx-form-group .selected .workflow-label{min-width:92px;padding:4px;text-align:center;margin-left:-8px;margin-right:8px;border-right:1px solid #f1f1f1}::ng-deep .vx-form-group .selected .workflow-label p{margin:0;display:block;text-transform:uppercase}::ng-deep .vx-form-group .selected .workflow-label p.title{font-size:9px;line-height:12px;color:#161b2f;font-weight:500}::ng-deep .vx-form-group .selected .workflow-label p.description{font-size:11px;line-height:16px;color:#161b2f;font-weight:600}::ng-deep .vx-form-group .selected .workflow-label+.chip-container{width:calc(100% - 148px)}::ng-deep .vx-form-group .selected+.selected{margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .selected+app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:5px;text-transform:uppercase}::ng-deep .vx-form-group .selected+app-cs-switch.who-toggle label.cs-switch span.value{color:#747576}::ng-deep .vx-form-group .selected+app-cs-radio{margin-top:8px!important}::ng-deep .vx-form-group .selected~app-cs-radio{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;font-weight:500;color:#707070}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group .selected~app-cs-radio label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .selected.readOnly{pointer-events:none}::ng-deep .vx-form-group .selected span.chip{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}::ng-deep .vx-form-group .select-list{position:absolute;background:#fff;box-shadow:0 0 5px #1e5dd3;top:100%;right:0;left:0;z-index:2}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item{width:100%;padding:12px 16px}::ng-deep .vx-form-group .select-list .vx-radio-group label.vx-radio-item:hover{background:#f8f8f8}::ng-deep .vx-form-group marx-editor{margin-top:8px;display:block}::ng-deep .vx-form-group marx-editor .editor-container{border-radius:4px;border:1px solid #dbdbdb}::ng-deep .vx-form-group marx-editor .editor-container .editable-block{min-height:60px;padding:11px 15px;max-height:100px;line-height:20px;font-size:13px;color:#747576;font-weight:400;transition:all .2s ease-in-out;width:100%}@media not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none){::ng-deep .vx-form-group marx-editor .editor-container .editable-block:before{opacity:.72}}}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ul li{list-style:disc}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol{padding:0 0 0 10px;margin-top:0}::ng-deep .vx-form-group marx-editor .editor-container .editable-block ol li{list-style:decimal}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools{z-index:1;border-top:1px solid #dbdbdb;transition:none;border-radius:0 0 3px 3px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button{height:22px!important;width:22px!important;padding:0 5px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button svg{height:22px;width:22px}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col button.submit{width:80px!important;line-height:22px;justify-content:center}::ng-deep .vx-form-group marx-editor .editor-container .editor-tools app-editor-menu .editor-menu .col .popover.small ul.option-list li button{width:100%!important;height:auto!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:focus-within .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor .editor-container:hover .editor-tools{border-color:#1e5dd3!important}::ng-deep .vx-form-group marx-editor+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group app-cs-switch label.cs-switch span.value{font-size:11px;color:#747576;text-transform:uppercase}::ng-deep .vx-form-group app-cs-switch+app-cs-switch{margin-top:8px}::ng-deep .vx-form-group .date-time-picker{display:flex;justify-content:space-between;height:40px;border-radius:4px;border:1px solid #dbdbdb;padding:11px 0}::ng-deep .vx-form-group .date-time-picker:focus-within{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}::ng-deep .vx-form-group .date-time-picker .picker-group{width:50%;position:relative;display:flex;align-items:center}::ng-deep .vx-form-group .date-time-picker .picker-group:first-of-type{border-right:1px solid #dbdbdb}::ng-deep .vx-form-group .date-time-picker .picker-group:only-of-type{border:none;width:100%}::ng-deep .vx-form-group .date-time-picker .picker-group input{height:38px;background:#fff;line-height:38px;font-size:13px;color:#747576;transition:all .2s ease-in-out;width:100%;font-weight:400;border:none;padding:0 12px 0 34px;outline:none}::ng-deep .vx-form-group .date-time-picker .picker-group input:focus,::ng-deep .vx-form-group .date-time-picker .picker-group input:hover{box-shadow:none;border:none}::ng-deep .vx-form-group .date-time-picker .picker-group input::-moz-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input:-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group input::-ms-input-placeholder{color:#999;font-size:13px}::ng-deep .vx-form-group .date-time-picker .picker-group i{display:flex;justify-content:center;align-items:center;height:16px;width:16px;position:absolute;left:12px;top:0;color:#bcbcbc;font-size:16px;pointer-events:none}::ng-deep .vx-form-group app-cs-radio.main-filed{margin-top:4px;display:block;width:100%}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item{width:100%;position:relative}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.radio{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value{font-size:11px;text-transform:uppercase;border:1px solid #dbdbdb;border-radius:4px;padding:8px 8px 8px 36px;width:100%;display:flex;justify-content:space-between;margin:0;max-width:100%;color:#707070}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item span.value i{font-size:12px;color:#1e5dd3}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item svg{position:absolute;top:8px;left:12px}::ng-deep .vx-form-group app-cs-radio.main-filed label.radio-item input:checked~span.value{background:#eefcf0;border-color:#34aa44}::ng-deep .vx-form-group .switch-row{display:flex}::ng-deep .vx-form-group .switch-row app-cs-switch{display:block;margin-top:8px}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value{white-space:nowrap;margin-right:0;text-transform:uppercase;color:#747576!important}::ng-deep .vx-form-group .switch-row app-cs-switch label.cs-switch span.value i{display:inline-flex;font-size:11px;cursor:pointer;color:#1e5dd3;align-items:center;line-height:16px;margin:0 4px}::ng-deep .vx-form-group .switch-row app-cs-switch+app-cs-switch{margin-left:8px}::ng-deep .vx-form-group .switch-row.align-right{justify-content:flex-end}::ng-deep .vx-form-group .switch-row.align-right label.cs-switch span.value{margin-right:8px}::ng-deep .vx-form-group .risk-type-field{background:#f8f8f8;border:1px solid #dbdbdb;border-radius:4px;height:40px;display:flex;align-items:center;padding:4px;position:relative;z-index:1}::ng-deep .vx-form-group .risk-type-field .type-item{width:50%;position:relative}::ng-deep .vx-form-group .risk-type-field .type-item button{background:transparent;border:none;border-radius:0;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase;width:100%;height:32px;padding:0 12px;text-align:left}::ng-deep .vx-form-group .risk-type-field .type-item button.disabled{background:transparent!important;color:#dbdbdb!important;filter:unset!important;opacity:unset!important;pointer-events:none}::ng-deep .vx-form-group .risk-type-field .type-item .info{color:#1e5dd3;font-size:12px;position:absolute;top:10px;right:12px;cursor:pointer}::ng-deep .vx-form-group .risk-type-field .type-item.active button{color:#1e5dd3!important}::ng-deep .vx-form-group .risk-type-field .type-item:nth-child(2).active~.background-glider{transform:translate(100%)}::ng-deep .vx-form-group .risk-type-field .background-glider{background:#fff;border-radius:4px;box-shadow:0 1px 3px #161b2f26;position:absolute;display:flex;width:208px;height:32px;z-index:-1;transition:.25s ease-out}.left{width:36px;height:36px;margin-top:30px;margin-left:-58px;margin-right:20px;display:flex;justify-content:center;align-items:center;position:relative;z-index:10;border-radius:50%}.left.deadline-completed{margin-top:18px}.left.checked{background:transparent}.left img{width:36px}.left .checkIcon{width:32px;height:32px;background:#fff;border-radius:50%;stroke-width:4;stroke:#34aa44;stroke-miterlimit:10;box-shadow:inset 0 0 0 #34aa44;-webkit-animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;animation:fillCheck .4s ease-in-out .4s forwards,scale .3s ease-in-out .9s both;margin-top:0}.left .checkIcon__circle{stroke-dasharray:166;stroke-dashoffset:166;stroke-width:2;stroke-miterlimit:10;stroke:#34aa44;fill:none;-webkit-animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards;animation:strokeCheck .6s cubic-bezier(.65,0,.45,1) forwards}.left .checkIcon__check{transform-origin:50% 50%;stroke-dasharray:48;stroke-dashoffset:48;-webkit-animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards;animation:strokeCheck .3s cubic-bezier(.65,0,.45,1) .8s forwards}.right{width:100%}.right span.indicator{position:absolute;top:36px;left:-16px;font-size:12px;color:#f0b819;cursor:pointer}.form-group-row{display:flex;position:relative;transition:all .2s ease-in-out}.form-group-row.hide{opacity:0;transition:all .2s ease-in-out}.form-group-row.disabled{pointer-events:none;filter:grayscale(1);z-index:2}.form-group-row.disabled .left{position:relative}.form-group-row.disabled .left:before{content:\"\";position:absolute;top:2px;right:0;bottom:0;left:2px;background:#fff;opacity:.7;border-radius:50%;width:32px;height:32px}.form-group-row.disabled .right{opacity:.3}.form-group-row.active{pointer-events:none;filter:grayscale(0);z-index:2;opacity:1}.form-group-row.active .right .vx-form-group .custom-input,.form-group-row.active .right .vx-form-group input{border-color:#1e5dd3;box-shadow:0 0 5px rgba(30,93,211,.27)}@-webkit-keyframes strokeCheck{to{stroke-dashoffset:0}}@keyframes strokeCheck{to{stroke-dashoffset:0}}@-webkit-keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}@keyframes fillCheck{to{box-shadow:inset 0 0 0 2px #34aa44}}.action-list{width:220px}.action-list ul{padding:0;margin:0;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:4px;max-height:220px;overflow:auto}.action-list ul.action-item{display:block}.action-list ul.action-item li{list-style:none;border:none;border-bottom:1px solid #f1f1f1;display:block;width:100%;padding:0;background:transparent;border-radius:0;margin:0;height:auto;justify-content:flex-start;box-shadow:none}.action-list ul.action-item li button{color:#6e717e;text-align:left;text-decoration:none;cursor:pointer;background:transparent;font-size:12px;text-transform:capitalize;display:flex;width:100%;padding:7.5px 11px;border:none}.action-list ul.action-item li button i{font-size:17px;margin-right:10px;color:#1c5bd1}.action-list ul.action-item li button:hover{background:#f3f3f3}.action-list ul.action-item li .avatar-card{display:flex;align-items:center;width:100%;padding:7.5px}.action-list ul.action-item li .avatar-card.within-con{display:block}.action-list ul.action-item li .avatar-card .avatar{height:24px;width:24px!important;overflow:hidden;background:#4681ef;color:#fff;font-size:10px;display:inline-flex;margin-right:5px;border-radius:50%;align-items:center;justify-content:center;text-transform:uppercase}.action-list ul.action-item li .avatar-card .avatar img{width:100%}.action-list ul.action-item li .avatar-card .avatar+span.value{width:calc(100% - 29px)}.action-list ul.action-item li .avatar-card span.value{width:100%;color:#6e717e;text-decoration:none;background:transparent;font-size:12px;text-transform:capitalize;display:block;font-weight:400;-moz-text-align-last:left;text-align-last:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:20px}.action-list ul.action-item li .avatar-card span.value i{font-size:8px;color:#1c5bd1;cursor:pointer;margin-right:5px}.action-list ul.action-item li .avatar-card.no-image{display:block}.action-list ul.action-item li .avatar-card.no-image span.value{width:100%;display:block}.action-list ul.action-item li .chip-item{color:#1e5dd3;padding:10px;display:flex;align-items:center}.action-list ul.action-item li .chip-item i{margin-right:7px;font-size:10px;cursor:pointer;display:inline-flex}.action-list ul.action-item li .chip-item span{display:block;width:auto;max-width:calc(100% - 17px);font-size:12px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.action-list ul.action-item li .chip-item span.chip-block{display:block;width:100%}.action-list ul.action-item li .chip-item span.id{font-size:9px}.action-list ul.action-item li .within{display:flex;align-items:center;justify-content:flex-start}.action-list ul.action-item li .within .block{background:#f1f1f1;border-radius:2px;padding:0 2px;line-height:14px;font-size:9px;font-weight:500;color:#042e7d;margin-right:6px;display:block;text-transform:uppercase}.action-list ul.action-item li .within .data{width:100%;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#747576;font-size:11px;font-weight:400;line-height:17px}.action-list ul.action-item li:first-child{-webkit-animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .25s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(2){-webkit-animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .35s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(3){-webkit-animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .45s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(4){-webkit-animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .55s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(5){-webkit-animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .65s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(6){-webkit-animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .75s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(7){-webkit-animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .85s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(8){-webkit-animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open .95s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(9){-webkit-animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.05s cubic-bezier(.25,.46,.45,.94) both}.action-list ul.action-item li:nth-child(10){-webkit-animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both;animation:action-list-open 1.15s cubic-bezier(.25,.46,.45,.94) both}@-webkit-keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@keyframes action-list-open{0%{transform:translateY(50px)}to{transform:translateY(0)}}@-webkit-keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes scale-up-center{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}p.error-message{font-size:11px;font-weight:400;color:#eb2424;line-height:16px;margin-top:0;margin-bottom:0}.edit-loader{position:absolute;top:-3px;left:-3px;width:46px;height:46px;transform:rotate(180deg)}.circular-loader{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;height:100%;transform-origin:center center;width:100%;position:absolute;top:0;left:0;margin:auto}.loader-path{stroke-dasharray:150,200;stroke-dashoffset:-10;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite;stroke-linecap:round}@-webkit-keyframes rotate{to{transform:rotate(1turn)}}@keyframes rotate{to{transform:rotate(1turn)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35}to{stroke-dasharray:89,200;stroke-dashoffset:-124}}::ng-deep .dropdown{position:fixed;background:#fff;box-shadow:0 3px 6px #00000029;padding:24px 0;z-index:9;max-height:calc(100vh - 200px);overflow:auto}::ng-deep .dropdown ul.dropdown-list{padding:0 20px;margin:0;display:block}::ng-deep .dropdown ul.dropdown-list li{list-style:none}::ng-deep .dropdown ul.dropdown-list li app-cs-radio{display:flex}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item{width:100%;position:relative}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.radio{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item span.value{padding:11px 12px 11px 32px;width:100%;border:1px solid #bcbcbc;border-radius:4px;margin-left:0;max-width:100%}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item svg{position:absolute;top:12px;left:12px}::ng-deep .dropdown ul.dropdown-list li app-cs-radio label.radio-item input[type=radio]:checked~span.value{background:#e8feeb;border-color:#34aa44}::ng-deep .dropdown ul.dropdown-list li+li{margin-top:8px}app-smiley-dialog{position:relative;z-index:10}app-smiley-dialog-inline{position:absolute;top:-3px;right:0;bottom:0;z-index:999;width:520px;height:calc(100vh + 3px)}::ng-deep .vx-overlay{position:fixed;z-index:3;top:0;right:0;bottom:0;left:0}dp-date-picker{width:100%;position:fixed!important;z-index:14;top:-40px;left:0}dp-date-picker input{width:100%;border:none;opacity:0;pointer-events:none}dp-date-picker input:focus{outline:none}dp-date-picker .dp-popup{width:412px;box-shadow:0 0 20px #161b2f26;background-color:#fff;border-radius:4px;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}dp-date-picker .dp-popup dp-day-calendar,dp-date-picker .dp-popup dp-month-calendar{width:100%;pointer-events:auto}dp-date-picker .dp-popup dp-day-calendar button,dp-date-picker .dp-popup dp-month-calendar button{background:transparent;border:none;outline:none}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{width:40px;height:40px;display:flex;justify-content:center;align-items:center;border-radius:50%;font-size:14px}dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-left:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-calendar-nav-right:hover,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn{display:none}dp-date-picker .dp-popup dp-day-calendar button.dp-current-location-btn:before,dp-date-picker .dp-popup dp-month-calendar button.dp-current-location-btn:before{content:\"\";height:10px;width:10px;border-radius:50%;background:#000;display:inline-flex}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays{display:flex;justify-content:space-around}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week .dp-calendar-weekday,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays .dp-calendar-weekday{width:52px;border-left:none;border-bottom-color:#fff;color:#747576;font-size:11px;font-weight:600;text-transform:uppercase}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button{width:40px;height:40px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button:hover,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button:hover{background-color:#f3f3f3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-selected,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-selected{background:#1e5dd3}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-day-calendar .dp-weekdays button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-week button.dp-current-day,dp-date-picker .dp-popup dp-month-calendar .dp-weekdays button.dp-current-day{border:1px solid rgba(0,0,0,.38);color:#1e5dd3;background-color:#fff}dp-date-picker .dp-popup dp-day-calendar .dp-day-calendar-container,dp-date-picker .dp-popup dp-month-calendar .dp-day-calendar-container{padding:20px;border-radius:2px}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container{display:flex;margin:0 0 20px;border:none}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-nav-container .dp-nav-header button,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-nav-container .dp-nav-header button{color:#000;font-size:17px;font-weight:500;margin:0 0 0 12px;padding:0}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container{width:80px;display:flex}dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-day-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-left button,dp-date-picker .dp-popup dp-month-calendar .dp-nav-btns-container .dp-calendar-nav-container-right button{margin:0!important}dp-date-picker .dp-popup dp-day-calendar .dp-calendar-wrapper,dp-date-picker .dp-popup dp-month-calendar .dp-calendar-wrapper{border:none}dp-date-picker .dp-open+div{position:fixed!important;top:0!important;right:0!important;bottom:0!important;left:0!important;display:flex;justify-content:center;align-items:center;z-index:99;pointer-events:none;background:rgba(0,0,0,.3)}@-webkit-keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}@keyframes slide-bottom{0%{transform:translateY(-100px)}to{transform:translateY(0)}}::ng-deep span.file{display:block;width:20px;min-width:20px;border-radius:0 0 2px 2px;position:relative;margin-right:5px;border:1px solid #747576;border-top:none;margin-top:5px;background:#fff}::ng-deep span.file.table{margin-right:8px;width:20px}::ng-deep span.file.table i{font-size:8px}::ng-deep span.file.table .format{height:8px;font-size:7px;line-height:8px;font-weight:400}::ng-deep span.file:before{position:absolute;border-radius:0;top:-4px;right:-1px;content:\"\";height:4px;width:4px;display:block;background:linear-gradient(45deg,#747576,#747576 1%,#747576 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file:after{height:4px;left:-1px;right:3px;border-top:1px solid;border-right:none;border-left:1px solid;content:\"\";top:-4px;position:absolute;border-radius:2px 0 0 0;background:#fff}::ng-deep span.file .format{height:10px;font-size:6px;text-transform:uppercase;background:transparent;font-weight:600;text-align:center;display:block;line-height:10px}::ng-deep span.file i{font-size:10px;height:10px;display:flex;align-items:center;justify-content:center;color:#dbdbdb}::ng-deep span.file.docx{width:22px!important}::ng-deep span.file.pdf,::ng-deep span.file.template{border-color:#f31c39}::ng-deep span.file.pdf:before,::ng-deep span.file.template:before{background:linear-gradient(45deg,#f31c39,#f31c39 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#f31c39\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.pdf:after,::ng-deep span.file.template:after{border-color:#f31c39}::ng-deep span.file.pdf .format,::ng-deep span.file.template .format{color:#f31c39}::ng-deep span.file.css,::ng-deep span.file.less,::ng-deep span.file.scss,::ng-deep span.file.xls,::ng-deep span.file.xlsx{border-color:#34aa44}::ng-deep span.file.css:before,::ng-deep span.file.less:before,::ng-deep span.file.scss:before,::ng-deep span.file.xls:before,::ng-deep span.file.xlsx:before{background:linear-gradient(45deg,#34aa44,#34aa44 1%,#34aa44 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.css:after,::ng-deep span.file.less:after,::ng-deep span.file.scss:after,::ng-deep span.file.xls:after,::ng-deep span.file.xlsx:after{border-color:#34aa44;color:#34aa44}::ng-deep span.file.css .format,::ng-deep span.file.less .format,::ng-deep span.file.scss .format,::ng-deep span.file.xls .format,::ng-deep span.file.xlsx .format{color:#34aa44}::ng-deep span.file.doc,::ng-deep span.file.docx,::ng-deep span.file.psd{border-color:#1e5dd3}::ng-deep span.file.doc:before,::ng-deep span.file.docx:before,::ng-deep span.file.psd:before{background:linear-gradient(45deg,#1e5dd3,#1e5dd3 1%,#1e5dd3 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.doc:after,::ng-deep span.file.docx:after,::ng-deep span.file.psd:after{border-color:#1e5dd3}::ng-deep span.file.doc .format,::ng-deep span.file.docx .format,::ng-deep span.file.psd .format{color:#1e5dd3}::ng-deep span.file.ai,::ng-deep span.file.html,::ng-deep span.file.jpeg,::ng-deep span.file.jpg,::ng-deep span.file.png,::ng-deep span.file.ppt{border-color:#f6882f}::ng-deep span.file.ai:before,::ng-deep span.file.html:before,::ng-deep span.file.jpeg:before,::ng-deep span.file.jpg:before,::ng-deep span.file.png:before,::ng-deep span.file.ppt:before{background:linear-gradient(45deg,#f6882f,#f6882f 1%,#f6882f 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.ai:after,::ng-deep span.file.html:after,::ng-deep span.file.jpeg:after,::ng-deep span.file.jpg:after,::ng-deep span.file.png:after,::ng-deep span.file.ppt:after{border-color:#f6882f}::ng-deep span.file.ai .format,::ng-deep span.file.html .format,::ng-deep span.file.jpeg .format,::ng-deep span.file.jpg .format,::ng-deep span.file.png .format,::ng-deep span.file.ppt .format{color:#f6882f}::ng-deep span.file.php{border-color:#7aa6f7}::ng-deep span.file.php:before{background:linear-gradient(45deg,#7aa6f7,#7aa6f7 1%,#7aa6f7 50%,rgba(41,137,216,0) 51%,rgba(125,185,232,0));filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#34aa44\",endColorstr=\"#007db9e8\",GradientType=1)}::ng-deep span.file.php:after{border-color:#7aa6f7}::ng-deep span.file.php .format{color:#7aa6f7}::ng-deep ngx-material-timepicker-container .timepicker-backdrop-overlay{background-color:rgba(0,0,0,.05)!important;z-index:9999999999!important}::ng-deep ngx-material-timepicker-container .timepicker-overlay{z-index:9999999999!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker{width:232px!important;border-radius:2px!important;box-shadow:0 4px 30px #161b2f26!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header{background-color:#fff!important;padding:0!important;border-radius:2px 2px 0 0}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container{display:block!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time{color:#000!important;width:150px!important;margin:0 auto;line-height:60px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control{font-size:40px;background-color:transparent!important;color:#000!important;font-weight:600;text-align:right;caret-color:transparent;outline:none;font-family:Poppins;line-height:56px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:focus,::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control .timepicker-dial__control:hover{background-color:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time ngx-material-timepicker-dial-control:last-of-type .timepicker-dial__control{text-align:left}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__time span{padding:0 8px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period{display:flex!important;width:182px;margin:0 auto!important;background:#f1f1f1;padding:4px 10px;border-radius:20px;position:relative}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period:before{background:#f1f1f1;content:\"\";position:absolute;top:15px;left:-25px;width:calc(100% + 50px);height:2px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period{flex-direction:unset!important;position:relative;z-index:1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:after{content:\"\";position:absolute;right:-12px;top:0;border-left:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period:before{content:\"\";position:absolute;left:-18px;top:0;border-right:14px solid #f1f1f1;border-bottom:12px solid transparent;border-top:12px solid transparent;z-index:-1}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button{font-size:11px;background-color:transparent;padding:0;border-radius:20px;color:#747576;font-weight:600;font-family:Poppins;width:84px;height:24px}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button.timepicker-dial__item_active{background:#fff!important;color:#1e5dd3!important;box-shadow:0 1px 2px #dbdbdb}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__header .timepicker-dial__container .timepicker-dial__period .timepicker-period button+button{margin-left:0!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face{width:200px!important;height:200px!important;padding:10px!important;background:transparent!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer{height:calc(224px / 2 - 20px)!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span{color:#000}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number--outer span.active{color:#fff}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand{height:80px!important;top:calc(50% - 80px)!important;background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__number>span.active{background-color:#1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .clock-face .clock-face__clock-hand_minute:before{border:4px solid #1e5dd3!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions{display:flex!important;padding:10px 0 0!important;background:#fff!important;justify-content:space-around!important;border-radius:0 0 2px 2px!important;overflow:hidden}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div:first-child ngx-material-timepicker-button button.timepicker-button{background:#f8f8f8;color:#1e5dd3}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button{line-height:28px!important;width:100%;background:#1e5dd3;color:#fff;border-radius:0!important;height:32px!important;width:116px!important}::ng-deep ngx-material-timepicker-container ngx-material-timepicker-content .timepicker .timepicker__main-content .timepicker__actions div ngx-material-timepicker-button button.timepicker-button span{font-weight:500!important;font-size:11px;font-family:Poppins}"]
209
+ },] }
210
+ ];
211
+ WorkflowAssessmentComponent.ctorParameters = () => [
212
+ { type: AssessmentService },
213
+ { type: AuthService },
214
+ { type: UiKitService },
215
+ { type: SnackBarService },
216
+ { type: Configurations, decorators: [{ type: Optional }] }
217
+ ];
218
+ WorkflowAssessmentComponent.propDecorators = {
219
+ mode: [{ type: Input }],
220
+ assessmentId: [{ type: Input }],
221
+ openedFrom: [{ type: Input }],
222
+ disconnectRefresh: [{ type: Output }],
223
+ pickerChanged: [{ type: Output }],
224
+ closeWorkflow: [{ type: Output }]
225
+ };
226
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2Zsb3ctYXNzZXNzbWVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi93b3JrZmxvdy1hc3Nlc3NtZW50L3dvcmtmbG93LWFzc2Vzc21lbnQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQU9uRSxNQUFNLE9BQU8sMkJBQTJCO0lBMkJ0QyxZQUNTLGlCQUFvQyxFQUNuQyxXQUF3QixFQUN4QixZQUEwQixFQUN6QixRQUF3QixFQUNyQixNQUF1QjtRQUo1QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ25DLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQ3pCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBOUJuQyxtQkFBYyxHQUFPLEVBQUUsQ0FBQztRQUN4QixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFDZixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ1YsU0FBSSxHQUFHLE1BQU0sQ0FBQztRQUNkLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDZixz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ZCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQ3hCLENBQUM7Z0JBQ0QsS0FBSyxFQUFDLENBQUMsR0FBTyxFQUFFLEVBQUU7b0JBQ1osSUFBRyxHQUFHLGFBQUgsR0FBRyx1QkFBSCxHQUFHLENBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLEVBQUM7d0JBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3dCQUNwQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztxQkFDeEI7eUJBQUk7d0JBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0dBQWtHLENBQUMsQ0FBQztxQkFDeEg7Z0JBQ1AsQ0FBQzthQUNILENBQUMsQ0FBQTtTQUNKO0lBQ0gsQ0FBQzs7O1lBak9BLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUseUJBQXlCO2dCQUNuQyx1aWJBQW1EOzthQUVwRDs7O1lBUlEsaUJBQWlCO1lBQ2pCLFdBQVc7WUFDWCxZQUFZO1lBSFosZUFBZTtZQURmLGNBQWMsdUJBMkNsQixRQUFROzs7bUJBM0JWLEtBQUs7MkJBQ0wsS0FBSzt5QkFDTCxLQUFLO2dDQUNMLE1BQU07NEJBUU4sTUFBTTs0QkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IFRISVNfRVhQUiB9IGZyb20gJ0Bhbmd1bGFyL2NvbXBpbGVyL3NyYy9vdXRwdXQvb3V0cHV0X2FzdCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBFZGl0b3JDb25maWcgfSBmcm9tICd2Y29tcGx5LWVkaXRvcic7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBTbmFja0JhclNlcnZpY2UgfSBmcm9tICcuLi91aS1raXQvc25hY2stYmFyL3NuYWNrLWJhci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXNzZXNzbWVudFNlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9hc3Nlc3NtZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFVpS2l0U2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL3VpLWtpdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXdvcmtmbG93LWFzc2Vzc21lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi93b3JrZmxvdy1hc3Nlc3NtZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3JrZmxvdy1hc3Nlc3NtZW50LmNvbXBvbmVudC5sZXNzJywgJy4uL2Zvcm1zLmxlc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya2Zsb3dBc3Nlc3NtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBhY3RpdmVTZWxlY3RvcjphbnkgPSAnJztcclxuICBzdWJtaXR0ZWQgPSBmYWxzZTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICBzaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbW9kZSA9ICdFRElUJztcclxuICBASW5wdXQoKSBhc3Nlc3NtZW50SWQgPSAnJztcclxuICBASW5wdXQoKSBvcGVuZWRGcm9tID0gJyc7XHJcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIHNpZGVTZWxlY3RvckVsZW1lbnRzOiBhbnkgPSBbJ2NhdGVnb3J5J107XHJcbiAgYWN0aW9uQnV0dG9ucyA9IFtcclxuICAgIC8vIHsgYnV0dG9uVGV4dDogJ0FkZCBNb3JlIEFzc2Vzc21lbnRzJywgY2xhc3M6ICd3aGl0ZS1idG4nLCBpZDogJ2FkZE1vcmUnIH0sXHJcbiAgICB7IGJ1dHRvblRleHQ6ICdHbyB0byBhc3Nlc3NtZW50IHdvcmtyb29tJywgY2xhc3M6ICdibHVlLWJ0bicsIGlkOiAndmlld0Fzc2Vzc21lbnQnIH0sXHJcbiAgXTtcclxuICBhc3Nlc3NtZW50VHlwZUNoYW5nZUFsbG93ZWQgPSBmYWxzZTtcclxuICB0aW1lem9uZSE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgcGlja2VyQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBhc3Nlc3NtZW50Rm9ybTogYW55ID0ge1xyXG4gICAgYXNzZXNzbWVudFR5cGUgOidjb21wbGlhbmNlJyxcclxuICAgIG5hbWU6ICcnLFxyXG4gICAgZGVzY3JpcHRpb246ICcnLFxyXG4gICAgY2F0ZWdvcnk6IFtdLFxyXG4gICAgY3VzdG9tVGFnczogW10sXHJcbiAgfTtcclxuICBhc3Nlc3NtZW50RGF0YTogYW55O1xyXG4gIG9yZ2FuaXphdGlvbklkID0gMDtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBhc3Nlc3NtZW50U2VydmljZTogQXNzZXNzbWVudFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgdWlLaXRTZXJ2aWNlOiBVaUtpdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlICBzbmFja0JhcjpTbmFja0JhclNlcnZpY2UsXHJcbiAgICBAT3B0aW9uYWwoKSBjb25maWc/OiBDb25maWd1cmF0aW9uc1xyXG4gICkge1xyXG4gICAgdGhpcy50aW1lem9uZSA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0VXNlclRpbWVab25lKCk7XHJcbiAgIH1cclxuICAgc2VsZWN0b3JDb25maWcgPSB7XHJcbiAgICBBU1NFU1NNRU5UX0NBVEdPUlk6IHtcclxuICAgICAgcGFuZWxUaXRsZTogJ1NlbGVjdCBhbiBBc3Nlc3NtZW50IENhdGVnb3J5JyxcclxuICAgICAgZW50aXR5U2luZ3VsYXI6ICdDYXRlZ29yeSBzZWxlY3RlZC4nLFxyXG4gICAgICBlbnRpdHlQbHVyYWw6ICdDYXRlZ29yaWVzIHNlbGVjdGVkLicsXHJcbiAgICAgIGRpc3BsYXlLZXk6ICdjYXRlZ29yeV9uYW1lJyxcclxuICAgICAgaWRlbnRpZmllcktleTogJ2lkJyxcclxuICAgICAgcGFyZW50S2V5OiAnY2F0ZWdvcnlfcGFyZW50cycsXHJcbiAgICAgIHBhcmVudERpc3BsYXlLZXk6ICdjYXRlZ29yeV9uYW1lJyxcclxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6J1NlYXJjaCBhbiBhc3Nlc3NtZW50IGNhdGVnb3J5LicsXHJcbiAgICAgIG5vRGF0YVRleHQ6J05vIGFzc2Vzc21lbnQgY2F0ZWdvcmllcyBmb3VuZC4nXHJcbiAgICB9LFxyXG4gIH1cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gICAgaWYgKHRoaXMubW9kZSA9PT0gJ0NSRUFURScpIHtcclxuICAgICAgdGhpcy5vcmdhbml6YXRpb25JZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uSWQoKTtcclxuICAgIH1cclxuICAgIC8vdGhpcy5zZXRDYXRlZ29yeSh7IHNlYXJjaEtleTogJycsIHBhZ2U6IDEgfSk7XHJcbiAgICBpZih0aGlzLm1vZGUgPT09J0VESVQnKXtcclxuICAgICB0aGlzLmdldEFzc2Vzc21lbnREZXRhaWxzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRBc3Nlc3NtZW50RGV0YWlscygpe1xyXG4gICAgXHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlLmdldEFzc2Vzc21lbnREZXRhaWxzKHRoaXMuYXNzZXNzbWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihyZXM6YW55KT0+eyBcclxuICAgICAgdGhpcy5hc3Nlc3NtZW50Rm9ybS5uYW1lID0gcmVzPy5hc3Nlc3NtZW50X25hbWU/PycnO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRGb3JtLmRlc2NyaXB0aW9uID0gcmVzPy5kZXNjcmlwdGlvbiA/PycnO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRGb3JtLmFzc2Vzc21lbnRUeXBlID0gcmVzPy5hc3Nlc3NtZW50X3R5cGUgPz8gJ2NvbXBsaWFuY2UnO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRGb3JtLmNhdGVnb3J5ID0gcmVzLmNhdGVnb3J5X2Fyci5tYXAoKGVsZTphbnkpID0+e3JldHVybiB7aWQ6ZWxlPy5faWQsIGNhdGVnb3J5X25hbWUgOmVsZT8uY2F0ZWdvcnlfbmFtZX19KVxyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjooZXJyOmFueSk9PntcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ09PUFMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkLiBDb3VsZCB5b3UgcGxlYXNlIHRyeSBvbmUgbW9yZSB0aW1lPycpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuXHJcbiAgLy9UaGlzIGZ1bmN0aW9uIGlzIHJlc3BvbnNpYmxlIGZvciBmZXRjaGluZyB0aGUgbGlzdCBvZiBjYXRlZ29yaWVzXHJcbiAgc2V0Q2F0ZWdvcnkoZXZ0OiBhbnkpIHtcclxuICAgIHRoaXMuYXNzZXNzbWVudFNlcnZpY2UuZmV0Y2hDYXRlZ29yeSh7XHJcbiAgICAgIHNlYXJjaF90aXRsZTogZXZ0LnNlYXJjaEtleSxcclxuICAgICAgcGFnZV9ubzogZXZ0LnBhZ2VcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYWN0aXZhdGVTZWxlY3Rvcih0eXBlOiBhbnksIGV2ZW50OiBib29sZWFuKXtcclxuICAgIGlmKHR5cGUgPT09ICdjYXRlZ29yeScpe1xyXG4gICAgICB0aGlzLnNldENhdGVnb3J5KHsgc2VhcmNoS2V5OiAnJywgcGFnZTogMSB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aXZlU2VsZWN0b3IgPSBldmVudCA/IHR5cGUgOiAnJztcclxuICAgIGlmICh0aGlzLnNpZGVTZWxlY3RvckVsZW1lbnRzLmluY2x1ZGVzKHR5cGUpKXtcclxuICAgICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlRGVzZWxlY3Rvcigpe1xyXG4gICAgdGhpcy5hY3RpdmVTZWxlY3RvciA9ICcnO1xyXG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbm5leHQodHlwZTpzdHJpbmcscGF5bG9hZDphbnkpe1xyXG4gIHN3aXRjaCh0eXBlKXtcclxuICAgIGNhc2UgJ0NBVEVHT1JZJzp7XHJcbiAgICAgIHRoaXMuYWN0aXZlRGVzZWxlY3RvcigpO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRGb3JtLmNhdGVnb3J5ID0gcGF5bG9hZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG5yZW1vdmUodHlwZTogYW55LCBldmVudDogYW55KSB7XHJcbiAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICBjYXNlICdjYXRlZ29yeSc6XHJcbiAgICAgIHRoaXMuYXNzZXNzbWVudEZvcm0uY2F0ZWdvcnkgPSB0aGlzLmFzc2Vzc21lbnRGb3JtLmNhdGVnb3J5LmZpbHRlcigoZWxlOmFueSk9PiBlbGU/LmlkICE9PSBldmVudD8uaWQpXHJcbiAgfVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4gIGRlc2NyaXB0aW9uOiBFZGl0b3JDb25maWcgPSB7XHJcbiAgICBtb2RlOiAncHJpbWUnLFxyXG4gICAgY29sb3JQYWxldHRlOiB0cnVlLFxyXG4gICAgbGluazogdHJ1ZSxcclxuICAgIHBsYWNlaG9sZGVyOiAnQWRkIGEgZGVzY3JpcHRpb24nLFxyXG4gIH07XHJcblxyXG4gIGNoYW5nZUFzc2Vzc21lbnQodHlwZTpzdHJpbmcpe1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50Rm9ybSA9IHsuLi50aGlzLmFzc2Vzc21lbnRGb3JtLC4uLntyaXNrVHlwZTp0eXBlfX1cclxufVxyXG5jbG9zZVNtaWxleShldnQ6YW55KXtcclxudGhpcy5jbG9zZVdvcmtmbG93LmVtaXQoe2V2dDp0aGlzLmFzc2Vzc21lbnRJZCwgY29uZmlybSA6IGZhbHNlfSk7XHJcbn1cclxuXHJcbmFjdGlvbihldnQ6YW55KXtcclxuICBpZihldnQgPT09ICd2aWV3QXNzZXNzbWVudCcpe1xyXG4gICAgdGhpcy5kaXNjb25uZWN0UmVmcmVzaC5lbWl0KGZhbHNlKTtcclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gYGh0dHBzOi8vJHt3aW5kb3cubG9jYXRpb24uaG9zdG5hbWV9L2Fzc2Vzc21lbnQvYXNzZXNzbWVudC13b3Jrcm9vbS8/aWQ9JHt0aGlzLmFzc2Vzc21lbnRJZH1gXHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbmNoZWNrRGVzY3JpcHRpb24oKSB7XHJcbiAgaWYodGhpcy5hc3Nlc3NtZW50Rm9ybS5kZXNjcmlwdGlvbiA9PSAnPGJyPicpIHtcclxuICAgIHRoaXMuYXNzZXNzbWVudEZvcm0uZGVzY3JpcHRpb24gPSAnJztcclxuICB9XHJcbn1cclxuXHJcbnN1Ym1pdEFzc2Vzc21lbnQoKSB7XHJcbiAgdGhpcy5zdWJtaXR0ZWQgPSB0cnVlO1xyXG4gIGNvbnN0IHZhbGlkID0gdGhpcy52YWxpZGF0ZUFzc2Vzc21lbnQoKTtcclxuICBpZiAoIXZhbGlkKSB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfWVsc2Uge1xyXG4gICAgdGhpcy5jcmVhdGVBc3Nlc3NtZW50KHRoaXMuYXNzZXNzbWVudEZvcm0pO1xyXG4gIH1cclxufVxyXG5cclxudmFsaWRhdGVBc3Nlc3NtZW50KCl7XHJcbiAgLy8gY29uc29sZS5sb2coXCJ2YWxcIix0aGlzLmFzc2Vzc21lbnRGb3JtKVxyXG4gIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICBpZiAoIXRoaXMuYXNzZXNzbWVudEZvcm0ubmFtZVxyXG4gICAgfHwodGhpcy5hc3Nlc3NtZW50Rm9ybS5jYXRlZ29yeS5sZW5ndGggPT0gMClcclxuICAgICkge1xyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcbn1cclxuXHJcbmNyZWF0ZUFzc2Vzc21lbnQoYXNzZXNzbWVudEZvcm06IGFueSl7XHJcbiAgdGhpcy5sb2FkZXIgPSB0cnVlO1xyXG4gIHRoaXMudWlLaXRTZXJ2aWNlLmlzTG9hZGVyID0gZmFsc2U7XHJcblxyXG4gIGNvbnN0IHBheWxvYWQgPSB7XHJcbiAgICBhc3Nlc3NtZW50X25hbWU6IGFzc2Vzc21lbnRGb3JtLm5hbWUsXHJcbiAgICBkZXNjcmlwdGlvbjogYXNzZXNzbWVudEZvcm0uZGVzY3JpcHRpb24sXHJcbiAgICBhc3Nlc3NtZW50X3R5cGU6IGFzc2Vzc21lbnRGb3JtLmFzc2Vzc21lbnRUeXBlLFxyXG4gICAgY2F0ZWdvcnlfYXJyOiB0aGlzLmFzc2Vzc21lbnRGb3JtLmNhdGVnb3J5Lm1hcCgoZWxlOmFueSkgPT4gZWxlLmlkKSxcclxuICAgIGFwcHJvdmFsX3dvcmtmbG93X2Fycjoge1xyXG4gICAgICBcInRlc3RcIjpcInRlc3RcIlxyXG4gICAgICB9LFxyXG4gICAgICBhcHByb3ZhbF9yZXF1aXJlZDogdHJ1ZSxcclxuICAgICAgc291cmNlX3BhZ2U6XCJjb21wbGlhbmNlXCJcclxuICAgIH1cclxuICBjb25zb2xlLmxvZyhcInBheWxvYWRcIixwYXlsb2FkKVxyXG4gICBpZiAodGhpcy5tb2RlID09ICdDUkVBVEUnKSB7XHJcbiAgICB0aGlzLmFzc2Vzc21lbnRTZXJ2aWNlLmFkZEFzc2Vzc21lbnQocGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRJZCA9IHJlcz8uX2lkO1xyXG4gICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSBgaHR0cHM6Ly8ke3dpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZX0vYXNzZXNzbWVudC9jcmVhdGUvJHtyZXM/Ll9pZH1gXHJcbiAgICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgfSxcclxuICAgICAgKCBlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycik7XHJcbiAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnVpS2l0U2VydmljZS5pc0xvYWRlciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXIuc2hvdygnT09QUyEgU29tZXRoaW5nIHdlbnQgd3JvbmcgYW5kIHRoZSBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQuIENvdWxkIHlvdSBwbGVhc2UgdHJ5IG9uZSBtb3JlIHRpbWU/Jyk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIGVsc2UgaWYodGhpcy5tb2RlID09PSAnRURJVCcpe1xyXG4gICAgIHRoaXMuYXNzZXNzbWVudFNlcnZpY2UudXBkYXRlQXNzZXNzbWVudCh0aGlzLmFzc2Vzc21lbnRJZCxwYXlsb2FkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgbmV4dDoocmVzOmFueSk9PntcclxuICAgICAgICAgdGhpcy5sb2FkZXIgPSBmYWxzZTtcclxuICAgICAgICAgdGhpcy5zaG93U21pbGV5ID0gdHJ1ZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOihlcnI6YW55KSA9PntcclxuICAgICAgICAgICAgICBpZihlcnI/LmVycm9yLm1lc3NhZ2Uuc3RhcnRzV2l0aCgnTm8gY2hhbmdlcycpKXtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5zaG93KCdPT1BTISBTb21ldGhpbmcgd2VudCB3cm9uZyBhbmQgdGhlIHBhZ2UgY291bGQgbm90IGJlIGxvYWRlZC4gQ291bGQgeW91IHBsZWFzZSB0cnkgb25lIG1vcmUgdGltZT8nKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgIH0pXHJcbiAgfVxyXG59XHJcblxyXG59XHJcbiJdfQ==