vcomply-workflow-engine 3.5.3 → 3.5.4

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 (645) hide show
  1. package/esm2022/lib/add-multiple-responsibility/add-multiple-responsibility.component.mjs +897 -0
  2. package/esm2022/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.mjs +204 -0
  3. package/esm2022/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.mjs +1569 -0
  4. package/esm2022/lib/add-multiple-risk/add-multiple-risk.component.mjs +774 -0
  5. package/esm2022/lib/configurations.mjs +6 -0
  6. package/esm2022/lib/confirmation-alert/confirmation-alert.component.mjs +28 -0
  7. package/esm2022/lib/constants/link-responsibility.constants.mjs +9 -0
  8. package/esm2022/lib/constants/time.constants.mjs +3 -0
  9. package/esm2022/lib/create-documents/create-documents.component.mjs +145 -0
  10. package/esm2022/lib/formgroup/cs-checkbox/cs-checkbox.component.mjs +36 -0
  11. package/esm2022/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
  12. package/esm2022/lib/formgroup/cs-radio/cs-radio.component.mjs +34 -0
  13. package/esm2022/lib/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  14. package/esm2022/lib/formgroup/cs-select/cs-select.component.mjs +95 -0
  15. package/esm2022/lib/formgroup/cs-switch/cs-switch.component.mjs +31 -0
  16. package/esm2022/lib/formgroup/formgroup.module.mjs +56 -0
  17. package/esm2022/lib/formgroup/pipes/pascal.pipe.mjs +19 -0
  18. package/esm2022/lib/formgroup/select/cs-option/cs-option.component.mjs +42 -0
  19. package/esm2022/lib/formgroup/select/cs-select/cs-select.component.mjs +106 -0
  20. package/esm2022/lib/formgroup/select/select.module.mjs +21 -0
  21. package/esm2022/lib/formgroup/select/select.service.mjs +48 -0
  22. package/esm2022/lib/interfaces/categoryList.mjs +2 -0
  23. package/esm2022/lib/interfaces/confirmation-alert.mjs +2 -0
  24. package/esm2022/lib/interfaces/issue-data.mjs +2 -0
  25. package/esm2022/lib/log-an-issue/log-an-issue.component.mjs +1212 -0
  26. package/esm2022/lib/more-option/more-option.component.mjs +790 -0
  27. package/esm2022/lib/pipes/data-type.pipe.mjs +16 -0
  28. package/esm2022/lib/pipes/dom-sanitizer.pipe.mjs +24 -0
  29. package/esm2022/lib/pipes/filter.pipe.mjs +24 -0
  30. package/esm2022/lib/pipes/is-read-more.pipe.mjs +21 -0
  31. package/esm2022/lib/pipes/list-mapper.pipe.mjs +21 -0
  32. package/esm2022/lib/pipes/pipes.module.mjs +67 -0
  33. package/esm2022/lib/pipes/search.pipe.mjs +37 -0
  34. package/esm2022/lib/pipes/space-breaker.pipe.mjs +21 -0
  35. package/esm2022/lib/pipes/uncategorized-filter.pipe.mjs +21 -0
  36. package/esm2022/lib/pipes/user-filter.pipe.mjs +30 -0
  37. package/esm2022/lib/services/bulk-upload.service.mjs +44 -0
  38. package/esm2022/lib/services/common.service.mjs +41 -0
  39. package/esm2022/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.mjs +265 -0
  40. package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.mjs +73 -0
  41. package/esm2022/lib/sharedComponents/approval-workflow/approval-workflow.component.mjs +83 -0
  42. package/esm2022/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.mjs +347 -0
  43. package/esm2022/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.mjs +75 -0
  44. package/esm2022/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.mjs +33 -0
  45. package/esm2022/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.mjs +124 -0
  46. package/esm2022/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.mjs +154 -0
  47. package/esm2022/lib/sharedComponents/assessment-editor/components/build/build.module.mjs +111 -0
  48. package/esm2022/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.mjs +37 -0
  49. package/esm2022/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.mjs +74 -0
  50. package/esm2022/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.mjs +18 -0
  51. package/esm2022/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.mjs +37 -0
  52. package/esm2022/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.mjs +15 -0
  53. package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.mjs +14 -0
  54. package/esm2022/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.mjs +14 -0
  55. package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.mjs +37 -0
  56. package/esm2022/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.mjs +14 -0
  57. package/esm2022/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.mjs +14 -0
  58. package/esm2022/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.mjs +14 -0
  59. package/esm2022/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.mjs +28 -0
  60. package/esm2022/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.mjs +14 -0
  61. package/esm2022/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.mjs +56 -0
  62. package/esm2022/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.mjs +14 -0
  63. package/esm2022/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.mjs +179 -0
  64. package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/error.mjs +2 -0
  65. package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/question.mjs +2 -0
  66. package/esm2022/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.mjs +2 -0
  67. package/esm2022/lib/sharedComponents/assessment-editor/components/logic/logic.component.mjs +104 -0
  68. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.mjs +26 -0
  69. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.mjs +14 -0
  70. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.mjs +56 -0
  71. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.mjs +33 -0
  72. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.mjs +17 -0
  73. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.mjs +26 -0
  74. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.mjs +16 -0
  75. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.mjs +101 -0
  76. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.mjs +16 -0
  77. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.mjs +24 -0
  78. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.mjs +14 -0
  79. package/esm2022/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.mjs +16 -0
  80. package/esm2022/lib/sharedComponents/assessment-editor/components/move/move.component.mjs +103 -0
  81. package/esm2022/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.mjs +23 -0
  82. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.mjs +22 -0
  83. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.mjs +27 -0
  84. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.mjs +21 -0
  85. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.mjs +17 -0
  86. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.mjs +16 -0
  87. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.mjs +21 -0
  88. package/esm2022/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.mjs +16 -0
  89. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.mjs +28 -0
  90. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.mjs +14 -0
  91. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.mjs +49 -0
  92. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.mjs +30 -0
  93. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.mjs +21 -0
  94. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.mjs +17 -0
  95. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.mjs +31 -0
  96. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.mjs +28 -0
  97. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.mjs +28 -0
  98. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.mjs +16 -0
  99. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.mjs +16 -0
  100. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.mjs +16 -0
  101. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.mjs +14 -0
  102. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.mjs +16 -0
  103. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.mjs +78 -0
  104. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/preview.module.mjs +152 -0
  105. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.mjs +14 -0
  106. package/esm2022/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.mjs +14 -0
  107. package/esm2022/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.mjs +19 -0
  108. package/esm2022/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.mjs +252 -0
  109. package/esm2022/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.mjs +35 -0
  110. package/esm2022/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.mjs +61 -0
  111. package/esm2022/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.mjs +163 -0
  112. package/esm2022/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.mjs +118 -0
  113. package/esm2022/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.mjs +23 -0
  114. package/esm2022/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.mjs +97 -0
  115. package/esm2022/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.mjs +493 -0
  116. package/esm2022/lib/sharedComponents/assessment-editor/create-assessment.module.mjs +154 -0
  117. package/esm2022/lib/sharedComponents/assessment-editor/services/editor.service.mjs +635 -0
  118. package/esm2022/lib/sharedComponents/assessment-editor/services/result-criteria.service.mjs +48 -0
  119. package/esm2022/lib/sharedComponents/assessment-editor/services/validator.service.mjs +546 -0
  120. package/esm2022/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.mjs +15 -0
  121. package/esm2022/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.mjs +15 -0
  122. package/esm2022/lib/sharedComponents/assessment-list/assessment-list.component.mjs +207 -0
  123. package/esm2022/lib/sharedComponents/assessment-list/service/assessment.interface.mjs +2 -0
  124. package/esm2022/lib/sharedComponents/assessment-list/service/assessment.service.mjs +31 -0
  125. package/esm2022/lib/sharedComponents/assessment-preview/assessment-preview.module.mjs +113 -0
  126. package/esm2022/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.mjs +33 -0
  127. package/esm2022/lib/sharedComponents/assessment-preview/date-time/date-time.component.mjs +53 -0
  128. package/esm2022/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.mjs +24 -0
  129. package/esm2022/lib/sharedComponents/assessment-preview/device/device.component.mjs +21 -0
  130. package/esm2022/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.mjs +22 -0
  131. package/esm2022/lib/sharedComponents/assessment-preview/page-header/page-header.component.mjs +21 -0
  132. package/esm2022/lib/sharedComponents/assessment-preview/pipes/get-section-order.pipe.mjs +24 -0
  133. package/esm2022/lib/sharedComponents/assessment-preview/preview/preview.component.mjs +62 -0
  134. package/esm2022/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.mjs +22 -0
  135. package/esm2022/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.mjs +22 -0
  136. package/esm2022/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.mjs +33 -0
  137. package/esm2022/lib/sharedComponents/assessment-preview/section-details/section-details.component.mjs +20 -0
  138. package/esm2022/lib/sharedComponents/assessment-preview/select-question/select-question.component.mjs +35 -0
  139. package/esm2022/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.mjs +21 -0
  140. package/esm2022/lib/sharedComponents/assessment-preview/welcome/welcome.component.mjs +17 -0
  141. package/esm2022/lib/sharedComponents/audit-category-list/audit-category-list.component.mjs +61 -0
  142. package/esm2022/lib/sharedComponents/audit-category-list/audit-category.model.mjs +2 -0
  143. package/esm2022/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.mjs +72 -0
  144. package/esm2022/lib/sharedComponents/bulk-view/bulk-view.component.mjs +75 -0
  145. package/esm2022/lib/sharedComponents/category-list/category-list.component.mjs +84 -0
  146. package/esm2022/lib/sharedComponents/category-multiselect/category-multi-select.component.mjs +166 -0
  147. package/esm2022/lib/sharedComponents/checkbox-list/checkbox-list.component.mjs +92 -0
  148. package/esm2022/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.mjs +315 -0
  149. package/esm2022/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.mjs +25 -0
  150. package/esm2022/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.mjs +149 -0
  151. package/esm2022/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.mjs +48 -0
  152. package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.mjs +77 -0
  153. package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.mjs +14 -0
  154. package/esm2022/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.mjs +197 -0
  155. package/esm2022/lib/sharedComponents/directive/autofocus.directive.mjs +22 -0
  156. package/esm2022/lib/sharedComponents/directive/conditional-focus.directive.mjs +35 -0
  157. package/esm2022/lib/sharedComponents/directive/drag-drop.directive.mjs +52 -0
  158. package/esm2022/lib/sharedComponents/directive/input-trim.directive.mjs +21 -0
  159. package/esm2022/lib/sharedComponents/directive/scroll-in-view.directive.mjs +35 -0
  160. package/esm2022/lib/sharedComponents/document-section/document-section.component.mjs +184 -0
  161. package/esm2022/lib/sharedComponents/floating-bar/floating-bar.component.mjs +122 -0
  162. package/esm2022/lib/sharedComponents/floating-bar/floating-bar.module.mjs +20 -0
  163. package/esm2022/lib/sharedComponents/format-and-evidence/format-and-evidence.component.mjs +308 -0
  164. package/esm2022/lib/sharedComponents/framework-list/framework-integration-interfaces.mjs +2 -0
  165. package/esm2022/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.mjs +38 -0
  166. package/esm2022/lib/sharedComponents/framework-list/framework-list.component.mjs +429 -0
  167. package/esm2022/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.mjs +43 -0
  168. package/esm2022/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.mjs +15 -0
  169. package/esm2022/lib/sharedComponents/framework-list/parent-table/parent-table.component.mjs +95 -0
  170. package/esm2022/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.mjs +297 -0
  171. package/esm2022/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.mjs +218 -0
  172. package/esm2022/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.mjs +36 -0
  173. package/esm2022/lib/sharedComponents/frequency/frequency-container/frequency-container.component.mjs +303 -0
  174. package/esm2022/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.mjs +152 -0
  175. package/esm2022/lib/sharedComponents/frequency/frequency-due-date/due-date.contant.mjs +21 -0
  176. package/esm2022/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.mjs +83 -0
  177. package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.mjs +199 -0
  178. package/esm2022/lib/sharedComponents/frequency/frequency-lifecycle/lifecycl.constant.mjs +12 -0
  179. package/esm2022/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.mjs +223 -0
  180. package/esm2022/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.mjs +170 -0
  181. package/esm2022/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.mjs +189 -0
  182. package/esm2022/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.mjs +75 -0
  183. package/esm2022/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.mjs +214 -0
  184. package/esm2022/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.mjs +36 -0
  185. package/esm2022/lib/sharedComponents/frequency/frequency-random/frequency-random.component.mjs +253 -0
  186. package/esm2022/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.mjs +213 -0
  187. package/esm2022/lib/sharedComponents/frequency/frequency-top/frequency-top.component.mjs +133 -0
  188. package/esm2022/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.mjs +200 -0
  189. package/esm2022/lib/sharedComponents/frequency/frequency.service.mjs +573 -0
  190. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.mjs +300 -0
  191. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.mjs +216 -0
  192. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.mjs +29 -0
  193. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.mjs +296 -0
  194. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.mjs +110 -0
  195. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.mjs +227 -0
  196. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.mjs +213 -0
  197. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.mjs +212 -0
  198. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.mjs +33 -0
  199. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.mjs +128 -0
  200. package/esm2022/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.mjs +197 -0
  201. package/esm2022/lib/sharedComponents/group-users-list/group-users-list.component.mjs +259 -0
  202. package/esm2022/lib/sharedComponents/link-program/link-program/link-program.component.mjs +472 -0
  203. package/esm2022/lib/sharedComponents/link-program/link-program/program-list-model.mjs +2 -0
  204. package/esm2022/lib/sharedComponents/link-program/program-integration-interfaces.mjs +2 -0
  205. package/esm2022/lib/sharedComponents/link-program/restapi.service.mjs +149 -0
  206. package/esm2022/lib/sharedComponents/link-program/tooltip-validation.pipe.mjs +28 -0
  207. package/esm2022/lib/sharedComponents/link-responsibility/link-responsibility.component.mjs +221 -0
  208. package/esm2022/lib/sharedComponents/list-loader/list-loader.component.mjs +15 -0
  209. package/esm2022/lib/sharedComponents/list-loader/list-loader.module.mjs +18 -0
  210. package/esm2022/lib/sharedComponents/no-data/no-data.component.mjs +36 -0
  211. package/esm2022/lib/sharedComponents/no-data/no-data.module.mjs +18 -0
  212. package/esm2022/lib/sharedComponents/owner-list/owner-list.component.mjs +176 -0
  213. package/esm2022/lib/sharedComponents/pipes/array-filter.pipe.mjs +18 -0
  214. package/esm2022/lib/sharedComponents/pipes/filterPipe.mjs +30 -0
  215. package/esm2022/lib/sharedComponents/pipes/rcTreeToolTip.pipe.mjs +26 -0
  216. package/esm2022/lib/sharedComponents/pipes/short-merge.pipe.mjs +24 -0
  217. package/esm2022/lib/sharedComponents/pipes/spaceTrim.pipe.mjs +18 -0
  218. package/esm2022/lib/sharedComponents/pipes/within-data.pipe.mjs +21 -0
  219. package/esm2022/lib/sharedComponents/policy-access/policy-access.component.mjs +88 -0
  220. package/esm2022/lib/sharedComponents/program-listing/program-list-model.mjs +2 -0
  221. package/esm2022/lib/sharedComponents/program-listing/program-listing.component.mjs +739 -0
  222. package/esm2022/lib/sharedComponents/radio-list/radio-list.component.mjs +82 -0
  223. package/esm2022/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.mjs +14 -0
  224. package/esm2022/lib/sharedComponents/radio-list-with-pagination/radio-list.component.mjs +128 -0
  225. package/esm2022/lib/sharedComponents/responsibility-centers-list/rc-list.module.mjs +40 -0
  226. package/esm2022/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.mjs +125 -0
  227. package/esm2022/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.mjs +81 -0
  228. package/esm2022/lib/sharedComponents/review-frequency/review-frequency.component.mjs +44 -0
  229. package/esm2022/lib/sharedComponents/risk-classification/risk-classification.component.mjs +102 -0
  230. package/esm2022/lib/sharedComponents/roles-list/roles-list.component.mjs +30 -0
  231. package/esm2022/lib/sharedComponents/select-approvers/select-approvers.component.mjs +78 -0
  232. package/esm2022/lib/sharedComponents/table-card-loader/table-card-loader.component.mjs +15 -0
  233. package/esm2022/lib/sharedComponents/users-radio-list/users-radio-list.component.mjs +83 -0
  234. package/esm2022/lib/sharedComponents/v-loader/loader/loader.component.mjs +21 -0
  235. package/esm2022/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.mjs +21 -0
  236. package/esm2022/lib/sharedComponents/v-loader/v-loader.module.mjs +19 -0
  237. package/esm2022/lib/ui-kit/action-dialog/action-dialog.module.mjs +21 -0
  238. package/esm2022/lib/ui-kit/action-dialog/active/active.component.mjs +32 -0
  239. package/esm2022/lib/ui-kit/action-dialog/deactivate/deactivate.component.mjs +33 -0
  240. package/esm2022/lib/ui-kit/action-dialog/delete/delete.component.mjs +26 -0
  241. package/esm2022/lib/ui-kit/action-dialog/duplicate/duplicate.component.mjs +28 -0
  242. package/esm2022/lib/ui-kit/click-outside/click-outside.directive.mjs +29 -0
  243. package/esm2022/lib/ui-kit/click-outside/click-outside.module.mjs +22 -0
  244. package/esm2022/lib/ui-kit/dialog/dialog-config.mjs +3 -0
  245. package/esm2022/lib/ui-kit/dialog/dialog-injector.mjs +14 -0
  246. package/esm2022/lib/ui-kit/dialog/dialog-ref.mjs +11 -0
  247. package/esm2022/lib/ui-kit/dialog/dialog.component.mjs +88 -0
  248. package/esm2022/lib/ui-kit/dialog/dialog.module.mjs +20 -0
  249. package/esm2022/lib/ui-kit/dialog/dialog.service.mjs +58 -0
  250. package/esm2022/lib/ui-kit/dialog/insertion.directive.mjs +16 -0
  251. package/esm2022/lib/ui-kit/directive/directive.module.mjs +24 -0
  252. package/esm2022/lib/ui-kit/directive/stop-propagation.directive.mjs +20 -0
  253. package/esm2022/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.mjs +15 -0
  254. package/esm2022/lib/ui-kit/editor-loader/editor-loader.module.mjs +22 -0
  255. package/esm2022/lib/ui-kit/format-html.pipe.mjs +20 -0
  256. package/esm2022/lib/ui-kit/formgroup/click-outside.directive.mjs +29 -0
  257. package/esm2022/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.mjs +31 -0
  258. package/esm2022/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.mjs +35 -0
  259. package/esm2022/lib/ui-kit/formgroup/cs-radio/cs-radio.component.mjs +30 -0
  260. package/esm2022/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.mjs +14 -0
  261. package/esm2022/lib/ui-kit/formgroup/cs-select/cs-select.component.mjs +100 -0
  262. package/esm2022/lib/ui-kit/formgroup/cs-switch/cs-switch.component.mjs +32 -0
  263. package/esm2022/lib/ui-kit/formgroup/formgroup.module.mjs +60 -0
  264. package/esm2022/lib/ui-kit/formgroup/pipes/pascal.pipe.mjs +19 -0
  265. package/esm2022/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.mjs +24 -0
  266. package/esm2022/lib/ui-kit/line-loader/line-loader.component.mjs +15 -0
  267. package/esm2022/lib/ui-kit/line-loader/line-loader.module.mjs +18 -0
  268. package/esm2022/lib/ui-kit/no-data/no-data.component.mjs +45 -0
  269. package/esm2022/lib/ui-kit/no-data/no-data.module.mjs +18 -0
  270. package/esm2022/lib/ui-kit/pagination/pagination/pagination.component.mjs +116 -0
  271. package/esm2022/lib/ui-kit/pagination/pagination.module.mjs +28 -0
  272. package/esm2022/lib/ui-kit/popover/popover-event.directive.mjs +28 -0
  273. package/esm2022/lib/ui-kit/popover/popover-longpress.directive.mjs +44 -0
  274. package/esm2022/lib/ui-kit/popover/popover.component.mjs +138 -0
  275. package/esm2022/lib/ui-kit/popover/popover.directive.mjs +97 -0
  276. package/esm2022/lib/ui-kit/popover/popover.module.mjs +23 -0
  277. package/esm2022/lib/ui-kit/popover/popover.service.mjs +15 -0
  278. package/esm2022/lib/ui-kit/popover-hover/popover-hover.component.mjs +109 -0
  279. package/esm2022/lib/ui-kit/popover-hover/popover-hover.directive.mjs +34 -0
  280. package/esm2022/lib/ui-kit/popover-hover/popover-hover.module.mjs +31 -0
  281. package/esm2022/lib/ui-kit/popover-hover/popover-hover.service.mjs +14 -0
  282. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.component.mjs +43 -0
  283. package/esm2022/lib/ui-kit/smiley-dialog/smiley-dialog.module.mjs +18 -0
  284. package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.mjs +43 -0
  285. package/esm2022/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.mjs +18 -0
  286. package/esm2022/lib/ui-kit/snack-bar/snack-bar.component.mjs +51 -0
  287. package/esm2022/lib/ui-kit/snack-bar/snack-bar.module.mjs +18 -0
  288. package/esm2022/lib/ui-kit/snack-bar/snack-bar.service.mjs +32 -0
  289. package/esm2022/lib/ui-kit/time-picker/constants/constant.mjs +5 -0
  290. package/esm2022/lib/ui-kit/time-picker/time-picker/time-picker.component.mjs +220 -0
  291. package/esm2022/lib/ui-kit/time-picker/time-picker.module.mjs +24 -0
  292. package/esm2022/lib/ui-kit/tooltip/tooltip.directive.mjs +156 -0
  293. package/esm2022/lib/ui-kit/tooltip/tooltip.module.mjs +18 -0
  294. package/esm2022/lib/workflow/grc-object/grc-object-container/grc-object-container.component.mjs +831 -0
  295. package/esm2022/lib/workflow/grc-object/grc-object.module.mjs +64 -0
  296. package/esm2022/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.mjs +95 -0
  297. package/esm2022/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.mjs +110 -0
  298. package/esm2022/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.mjs +118 -0
  299. package/esm2022/lib/workflow/shared/components/attributes/attributes.component.mjs +100 -0
  300. package/esm2022/lib/workflow/shared/components/attributes/date-picker/date-picker.component.mjs +116 -0
  301. package/esm2022/lib/workflow/shared/components/edit-mode/edit-mode.component.mjs +216 -0
  302. package/esm2022/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.mjs +119 -0
  303. package/esm2022/lib/workflow/shared/components/grc-object-list/grc-object-list.component.mjs +198 -0
  304. package/esm2022/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.mjs +202 -0
  305. package/esm2022/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.mjs +191 -0
  306. package/esm2022/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.mjs +86 -0
  307. package/esm2022/lib/workflow/shared/components/list-popup/list-popup.component.mjs +209 -0
  308. package/esm2022/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.mjs +411 -0
  309. package/esm2022/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.mjs +241 -0
  310. package/esm2022/lib/workflow/shared/components/table-card/table-card.component.mjs +32 -0
  311. package/esm2022/lib/workflow/shared/components/text-field/text-field.component.mjs +143 -0
  312. package/esm2022/lib/workflow/shared/components/text-field-icon/text-field-icon.component.mjs +56 -0
  313. package/esm2022/lib/workflow/shared/constants/cdn-link.constant.mjs +11 -0
  314. package/esm2022/lib/workflow/shared/constants/field-text.constant.mjs +17 -0
  315. package/esm2022/lib/workflow/shared/constants/grcObject.constant.mjs +88 -0
  316. package/esm2022/lib/workflow/shared/constants/link-responsibility.constant.mjs +19 -0
  317. package/esm2022/lib/workflow/shared/constants/message.contstant.mjs +5 -0
  318. package/esm2022/lib/workflow/shared/constants/pagination-limits.constant.mjs +6 -0
  319. package/esm2022/lib/workflow/shared/constants/svg-link.constant.mjs +4 -0
  320. package/esm2022/lib/workflow/shared/constants/validation-message.constant.mjs +8 -0
  321. package/esm2022/lib/workflow/shared/interfaces/add-grc.mjs +2 -0
  322. package/esm2022/lib/workflow/shared/services/grc.service.mjs +310 -0
  323. package/esm2022/lib/workflow/shared/workflow-pipes/get-selected-value.pipe.mjs +30 -0
  324. package/esm2022/lib/workflow/shared/workflow-pipes/is-attributes-valid.pipe.mjs +48 -0
  325. package/esm2022/lib/workflow/shared/workflow-pipes/unique-responsibilities.pipe.mjs +24 -0
  326. package/esm2022/lib/workflow/shared/workflow-pipes/workflow-pipes.module.mjs +32 -0
  327. package/esm2022/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.mjs +668 -0
  328. package/esm2022/lib/workflow-assessment/workflow-assessment.component.mjs +254 -0
  329. package/esm2022/lib/workflow-compliance/workflow-compliance.component.mjs +3913 -0
  330. package/esm2022/lib/workflow-engine-container/workflow-engine-container.component.mjs +734 -0
  331. package/esm2022/lib/workflow-engine.module.mjs +467 -0
  332. package/esm2022/lib/workflow-engine.service.mjs +14 -0
  333. package/esm2022/lib/workflow-interfaces/create-policy-form.mjs +2 -0
  334. package/esm2022/lib/workflow-pagination/workflow-pagination.component.mjs +116 -0
  335. package/esm2022/lib/workflow-policy/workflow-policy.component.mjs +1875 -0
  336. package/esm2022/lib/workflow-program/constants.mjs +51 -0
  337. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.mjs +15 -0
  338. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.mjs +292 -0
  339. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.mjs +15 -0
  340. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.mjs +43 -0
  341. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.mjs +22 -0
  342. package/esm2022/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.mjs +116 -0
  343. package/esm2022/lib/workflow-program/create-program-ui/checkbox/checkbox.component.mjs +39 -0
  344. package/esm2022/lib/workflow-program/create-program-ui/create-program-ui.module.mjs +194 -0
  345. package/esm2022/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.mjs +44 -0
  346. package/esm2022/lib/workflow-program/create-program-ui/custom-field/custom-field.component.mjs +82 -0
  347. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.mjs +267 -0
  348. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.mjs +44 -0
  349. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.mjs +15 -0
  350. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.mjs +23 -0
  351. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.mjs +23 -0
  352. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.mjs +26 -0
  353. package/esm2022/lib/workflow-program/create-program-ui/define-framework-listing/pipes/tooltip-message.pipe.mjs +68 -0
  354. package/esm2022/lib/workflow-program/create-program-ui/directives/input-trim.directive.mjs +21 -0
  355. package/esm2022/lib/workflow-program/create-program-ui/file-pill/file-pill.component.mjs +27 -0
  356. package/esm2022/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.mjs +106 -0
  357. package/esm2022/lib/workflow-program/create-program-ui/form-field/form-field.component.mjs +16 -0
  358. package/esm2022/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.mjs +30 -0
  359. package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.mjs +166 -0
  360. package/esm2022/lib/workflow-program/create-program-ui/pagination/pagination.module.mjs +28 -0
  361. package/esm2022/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.mjs +16 -0
  362. package/esm2022/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.mjs +27 -0
  363. package/esm2022/lib/workflow-program/create-program-ui/pipes/filter.pipe.mjs +30 -0
  364. package/esm2022/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.mjs +16 -0
  365. package/esm2022/lib/workflow-program/create-program-ui/pipes/pager.pipe.mjs +21 -0
  366. package/esm2022/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.mjs +17 -0
  367. package/esm2022/lib/workflow-program/create-program-ui/pipes/search.pipe.mjs +23 -0
  368. package/esm2022/lib/workflow-program/create-program-ui/role-list/loader/loader.component.mjs +15 -0
  369. package/esm2022/lib/workflow-program/create-program-ui/role-list/role-list.component.mjs +240 -0
  370. package/esm2022/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.mjs +43 -0
  371. package/esm2022/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.mjs +15 -0
  372. package/esm2022/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.mjs +434 -0
  373. package/esm2022/lib/workflow-program/workflow-program.component.mjs +1550 -0
  374. package/esm2022/lib/workflow-risk/workflow-risk.component.mjs +1642 -0
  375. package/esm2022/lib/workflow-services/add-risk.service.mjs +150 -0
  376. package/esm2022/lib/workflow-services/assessment.service.mjs +117 -0
  377. package/esm2022/lib/workflow-services/auth.service.mjs +229 -0
  378. package/esm2022/lib/workflow-services/frequency.service.mjs +173 -0
  379. package/esm2022/lib/workflow-services/log-issue.service.mjs +360 -0
  380. package/esm2022/lib/workflow-services/policy.service.mjs +163 -0
  381. package/esm2022/lib/workflow-services/programs.service.mjs +319 -0
  382. package/esm2022/lib/workflow-services/responsibility.service.mjs +293 -0
  383. package/esm2022/lib/workflow-services/token-decoder.service.mjs +38 -0
  384. package/esm2022/lib/workflow-services/ui-kit.service.mjs +17 -0
  385. package/esm2022/lib/workflow-survey-form/workflow-survey-form.component.mjs +26 -0
  386. package/esm2022/public-api.mjs +8 -0
  387. package/esm2022/vcomply-workflow-engine.mjs +5 -0
  388. package/fesm2022/vcomply-workflow-engine.mjs +44351 -0
  389. package/fesm2022/vcomply-workflow-engine.mjs.map +1 -0
  390. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +1 -1
  391. package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +1 -1
  392. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +1 -1
  393. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +1 -1
  394. package/lib/confirmation-alert/confirmation-alert.component.d.ts +1 -1
  395. package/lib/create-documents/create-documents.component.d.ts +1 -1
  396. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
  397. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
  398. package/lib/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
  399. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
  400. package/lib/formgroup/cs-select/cs-select.component.d.ts +1 -1
  401. package/lib/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
  402. package/lib/formgroup/select/cs-option/cs-option.component.d.ts +1 -1
  403. package/lib/formgroup/select/cs-select/cs-select.component.d.ts +1 -1
  404. package/lib/log-an-issue/log-an-issue.component.d.ts +7 -3
  405. package/lib/more-option/more-option.component.d.ts +1 -1
  406. package/lib/services/common.service.d.ts +14 -0
  407. package/lib/sharedComponents/approval-workflow/approval-create-form/approval-create-form.component.d.ts +1 -1
  408. package/lib/sharedComponents/approval-workflow/approval-workflow-list/approval-workflow-list.component.d.ts +1 -1
  409. package/lib/sharedComponents/approval-workflow/approval-workflow.component.d.ts +1 -1
  410. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +1 -1
  411. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +1 -1
  412. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +1 -1
  413. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +1 -1
  414. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +1 -1
  415. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +1 -1
  416. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +1 -1
  417. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +1 -1
  418. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +1 -1
  419. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +1 -1
  420. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +1 -1
  421. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +1 -1
  422. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +1 -1
  423. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +1 -1
  424. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +1 -1
  425. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +1 -1
  426. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +1 -1
  427. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +1 -1
  428. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +1 -1
  429. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +1 -1
  430. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +1 -1
  431. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +1 -1
  432. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +1 -1
  433. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +1 -1
  434. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +7 -3
  435. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +1 -1
  436. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +1 -1
  437. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +1 -1
  438. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +1 -1
  439. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +1 -1
  440. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +1 -1
  441. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +1 -1
  442. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +1 -1
  443. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +1 -1
  444. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +1 -1
  445. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +1 -1
  446. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +1 -1
  447. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +8 -5
  448. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +1 -1
  449. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +1 -1
  450. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +1 -1
  451. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +1 -1
  452. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +1 -1
  453. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +1 -1
  454. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +1 -1
  455. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +1 -1
  456. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +1 -1
  457. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +1 -1
  458. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +1 -1
  459. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +1 -1
  460. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +1 -1
  461. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +1 -1
  462. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +1 -1
  463. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +1 -1
  464. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +1 -1
  465. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +1 -1
  466. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +1 -1
  467. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +1 -1
  468. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +1 -1
  469. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +1 -1
  470. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +1 -1
  471. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +1 -1
  472. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +1 -1
  473. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +1 -1
  474. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +1 -1
  475. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +8 -5
  476. package/lib/sharedComponents/assessment-preview/description-preview/description-preview.component.d.ts +1 -1
  477. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +1 -1
  478. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +1 -1
  479. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +1 -1
  480. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +1 -1
  481. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +1 -1
  482. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +1 -1
  483. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +1 -1
  484. package/lib/sharedComponents/assessment-preview/section-details/section-details.component.d.ts +1 -1
  485. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +1 -1
  486. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +1 -1
  487. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +1 -1
  488. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +1 -1
  489. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +1 -1
  490. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +1 -1
  491. package/lib/sharedComponents/category-list/category-list.component.d.ts +1 -1
  492. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +1 -1
  493. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +1 -1
  494. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +1 -1
  495. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +1 -1
  496. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +6 -2
  497. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +1 -1
  498. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +1 -1
  499. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +1 -1
  500. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +1 -1
  501. package/lib/sharedComponents/directive/autofocus.directive.d.ts +1 -1
  502. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +1 -1
  503. package/lib/sharedComponents/directive/drag-drop.directive.d.ts +1 -1
  504. package/lib/sharedComponents/directive/input-trim.directive.d.ts +1 -1
  505. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +1 -1
  506. package/lib/sharedComponents/document-section/document-section.component.d.ts +1 -1
  507. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +1 -1
  508. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +1 -1
  509. package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +1 -1
  510. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +1 -1
  511. package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +1 -1
  512. package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +1 -1
  513. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +1 -1
  514. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +1 -1
  515. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +1 -1
  516. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +1 -1
  517. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +1 -1
  518. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +1 -1
  519. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +1 -1
  520. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +10 -4
  521. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +1 -1
  522. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +1 -1
  523. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +9 -5
  524. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +1 -1
  525. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +1 -1
  526. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +1 -1
  527. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +1 -1
  528. package/lib/sharedComponents/frequency/frequency-responsibility-list/frequency-responsibility-list.component.d.ts +1 -1
  529. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +1 -1
  530. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +1 -1
  531. package/lib/sharedComponents/frequency/frequency.service.d.ts +1 -0
  532. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +1 -1
  533. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +1 -1
  534. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +1 -1
  535. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +1 -1
  536. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +1 -1
  537. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +1 -1
  538. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +10 -5
  539. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +1 -1
  540. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +1 -1
  541. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +1 -1
  542. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +1 -1
  543. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +1 -1
  544. package/lib/sharedComponents/link-program/link-program/link-program.component.d.ts +1 -1
  545. package/lib/sharedComponents/link-responsibility/link-responsibility.component.d.ts +1 -1
  546. package/lib/sharedComponents/list-loader/list-loader.component.d.ts +1 -1
  547. package/lib/sharedComponents/no-data/no-data.component.d.ts +1 -1
  548. package/lib/sharedComponents/owner-list/owner-list.component.d.ts +1 -1
  549. package/lib/sharedComponents/policy-access/policy-access.component.d.ts +1 -1
  550. package/lib/sharedComponents/program-listing/program-listing.component.d.ts +1 -1
  551. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +1 -1
  552. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +1 -1
  553. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +1 -1
  554. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +1 -1
  555. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +1 -1
  556. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +1 -1
  557. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +1 -1
  558. package/lib/sharedComponents/roles-list/roles-list.component.d.ts +1 -1
  559. package/lib/sharedComponents/select-approvers/select-approvers.component.d.ts +1 -1
  560. package/lib/sharedComponents/table-card-loader/table-card-loader.component.d.ts +1 -1
  561. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +1 -1
  562. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +1 -1
  563. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +1 -1
  564. package/lib/ui-kit/action-dialog/active/active.component.d.ts +1 -1
  565. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +1 -1
  566. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +1 -1
  567. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +1 -1
  568. package/lib/ui-kit/click-outside/click-outside.directive.d.ts +1 -1
  569. package/lib/ui-kit/dialog/dialog-injector.d.ts +2 -2
  570. package/lib/ui-kit/dialog/dialog.component.d.ts +6 -4
  571. package/lib/ui-kit/dialog/dialog.service.d.ts +3 -3
  572. package/lib/ui-kit/dialog/insertion.directive.d.ts +1 -1
  573. package/lib/ui-kit/directive/stop-propagation.directive.d.ts +1 -1
  574. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +1 -1
  575. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +1 -1
  576. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +1 -1
  577. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +1 -1
  578. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +1 -1
  579. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +1 -1
  580. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +1 -1
  581. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +1 -1
  582. package/lib/ui-kit/line-loader/line-loader.component.d.ts +1 -1
  583. package/lib/ui-kit/no-data/no-data.component.d.ts +1 -1
  584. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +1 -1
  585. package/lib/ui-kit/popover/popover-event.directive.d.ts +1 -1
  586. package/lib/ui-kit/popover/popover-longpress.directive.d.ts +1 -1
  587. package/lib/ui-kit/popover/popover.component.d.ts +1 -1
  588. package/lib/ui-kit/popover/popover.directive.d.ts +1 -1
  589. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +1 -1
  590. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +1 -1
  591. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +1 -1
  592. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +1 -1
  593. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +1 -1
  594. package/lib/ui-kit/time-picker/time-picker/time-picker.component.d.ts +1 -1
  595. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +1 -1
  596. package/lib/workflow/grc-object/grc-object-container/grc-object-container.component.d.ts +1 -1
  597. package/lib/workflow/shared/components/attributes/attributes-checkbox/attributes-checkbox.component.d.ts +1 -1
  598. package/lib/workflow/shared/components/attributes/attributes-dropdown/attributes-dropdown.component.d.ts +1 -1
  599. package/lib/workflow/shared/components/attributes/attributes-text-box/attributes-text-box.component.d.ts +1 -1
  600. package/lib/workflow/shared/components/attributes/attributes.component.d.ts +1 -1
  601. package/lib/workflow/shared/components/attributes/date-picker/date-picker.component.d.ts +1 -1
  602. package/lib/workflow/shared/components/edit-mode/edit-mode.component.d.ts +1 -1
  603. package/lib/workflow/shared/components/grc-category-listing/grc-category-listing.component.d.ts +1 -1
  604. package/lib/workflow/shared/components/grc-object-list/grc-object-list.component.d.ts +1 -1
  605. package/lib/workflow/shared/components/grc-responsibility-listing/grc-responsibility-listing.component.d.ts +1 -1
  606. package/lib/workflow/shared/components/grc-risk-listing/grc-risk-listing.component.d.ts +1 -1
  607. package/lib/workflow/shared/components/grc-sub-category-listing/grc-sub-category-listing.component.d.ts +1 -1
  608. package/lib/workflow/shared/components/list-popup/list-popup.component.d.ts +1 -1
  609. package/lib/workflow/shared/components/program-responsibility-listing/program-responsibility-listing.component.d.ts +1 -1
  610. package/lib/workflow/shared/components/risk-category-risk-listing/risk-category-risk-listing.component.d.ts +1 -1
  611. package/lib/workflow/shared/components/table-card/table-card.component.d.ts +1 -1
  612. package/lib/workflow/shared/components/text-field/text-field.component.d.ts +1 -1
  613. package/lib/workflow/shared/components/text-field-icon/text-field-icon.component.d.ts +1 -1
  614. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +1 -1
  615. package/lib/workflow-assessment/workflow-assessment.component.d.ts +1 -1
  616. package/lib/workflow-compliance/workflow-compliance.component.d.ts +1 -1
  617. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +1 -1
  618. package/lib/workflow-pagination/workflow-pagination.component.d.ts +1 -1
  619. package/lib/workflow-policy/workflow-policy.component.d.ts +7 -3
  620. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +1 -1
  621. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +1 -1
  622. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +1 -1
  623. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +1 -1
  624. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +1 -1
  625. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +1 -1
  626. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +1 -1
  627. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +1 -1
  628. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +1 -1
  629. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +1 -1
  630. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +1 -1
  631. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +1 -1
  632. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +1 -1
  633. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +1 -1
  634. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +1 -1
  635. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +1 -1
  636. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +1 -1
  637. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +1 -1
  638. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +1 -1
  639. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +1 -1
  640. package/lib/workflow-program/workflow-program.component.d.ts +1 -1
  641. package/lib/workflow-risk/workflow-risk.component.d.ts +1 -1
  642. package/lib/workflow-services/auth.service.d.ts +0 -1
  643. package/lib/workflow-services/log-issue.service.d.ts +1 -0
  644. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +1 -1
  645. package/package.json +5 -12
@@ -0,0 +1,493 @@
1
+ import { Component, Input, EventEmitter, Output, HostListener, } from '@angular/core';
2
+ import { AddPageDetailsComponent } from '../components/add-page-details/add-page-details.component';
3
+ import { AssessmentSettingsComponent } from '../components/assessment-settings/assessment-settings.component';
4
+ import { EditorService } from '../services/editor.service';
5
+ import { DeleteComponent } from '../../../ui-kit/action-dialog/delete/delete.component';
6
+ import { ActiveComponent } from '../../../ui-kit/action-dialog/active/active.component';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "../../../ui-kit/dialog/dialog.service";
9
+ import * as i2 from "../services/editor.service";
10
+ import * as i3 from "@angular/router";
11
+ import * as i4 from "../../../ui-kit/snack-bar/snack-bar.service";
12
+ import * as i5 from "@angular/common";
13
+ import * as i6 from "../../../ui-kit/tooltip/tooltip.directive";
14
+ import * as i7 from "../../../ui-kit/popover/popover.component";
15
+ import * as i8 from "../../../ui-kit/popover/popover.directive";
16
+ import * as i9 from "../components/preview/preview-wrapper/preview-wrapper.component";
17
+ import * as i10 from "../components/question-type/question-type.component";
18
+ import * as i11 from "../components/editor-wrapper/editor-wrapper.component";
19
+ import * as i12 from "../components/toolkit/toolkit.component";
20
+ import * as i13 from "../components/page-header/page-header.component";
21
+ import * as i14 from "../components/welcome-thankyou/welcome-thankyou.component";
22
+ export class CreateAssessmentContainerComponent {
23
+ set assessmentData(value) {
24
+ this.initializeAssessment(value);
25
+ }
26
+ set checkpointData(value) {
27
+ this.initializeCheckpoint(value);
28
+ }
29
+ /* When the "Escape" key is pressed, it emits an event to set the value of "isUploaded" to
30
+ false. and left popup will close. */
31
+ onKeydownHandler(event) {
32
+ this.setIsUploaded.emit(false);
33
+ }
34
+ constructor(dialog, editorService,
35
+ // private layoutService: LayoutService,
36
+ route, snackbar, router) {
37
+ this.dialog = dialog;
38
+ this.editorService = editorService;
39
+ this.route = route;
40
+ this.snackbar = snackbar;
41
+ this.router = router;
42
+ this.showCollapse = false;
43
+ this.expandPage = false;
44
+ this.hideQuestion = false;
45
+ this.assessmentId = '';
46
+ this.assessmentName = '';
47
+ this.assessmentCategory = '';
48
+ this.assessmentControlId = '';
49
+ this.assessmentCurrentState = 'DRAFT';
50
+ this.pageMode = 'EDIT';
51
+ this.isLoaded = false;
52
+ this.openPortal = '';
53
+ this.setIsUploaded = new EventEmitter();
54
+ this.postAssessment = new EventEmitter();
55
+ this.entitySettings = {
56
+ panelTitle: '',
57
+ };
58
+ }
59
+ ngOnInit() {
60
+ this.editorService.addPage();
61
+ this.editorService.numberOfPages();
62
+ // this.initializeAssessment();
63
+ }
64
+ triggerPreviewWithValidation() {
65
+ this.editorService.activeQuestionIndex.next(-10);
66
+ this.editorService.activeQuestion = -10;
67
+ }
68
+ initializeAssessment(assessmentData) {
69
+ if (assessmentData) {
70
+ this.editorService.formsPage = assessmentData.assessmentData;
71
+ this.assessmentName = assessmentData.metadata.assessment_name;
72
+ this.assessmentCategory = assessmentData.metadata.category_arr;
73
+ }
74
+ }
75
+ initializeCheckpoint(checkpointData) {
76
+ if (checkpointData && Object.keys(checkpointData)?.length > 0) {
77
+ this.editorService.formsPage = checkpointData;
78
+ }
79
+ }
80
+ setAllPages() {
81
+ this.editorService.allPages = [
82
+ ...new Set(this.editorService.formsPage.elements.map((ele) => ele.page)),
83
+ ];
84
+ this.getPageName(1);
85
+ }
86
+ addPageDetails() {
87
+ const ref = this.dialog.open(AddPageDetailsComponent, {
88
+ data: {
89
+ page: this.editorService.currentPageNumber,
90
+ pageDetails: this.editorService.currentPageDetails,
91
+ ref: this.editorService,
92
+ },
93
+ position: 'RIGHT',
94
+ background: 'black',
95
+ });
96
+ ref.afterClosed.subscribe((data) => {
97
+ this.generatePageDropdown();
98
+ });
99
+ }
100
+ assessmentSettings() {
101
+ this.entitySettings = this.getSettingsData();
102
+ const ref = this.dialog.open(AssessmentSettingsComponent, {
103
+ data: { settings: this.entitySettings, service: this.editorService },
104
+ position: 'RIGHT',
105
+ background: 'black',
106
+ });
107
+ }
108
+ getSettingsData() {
109
+ let settings = {
110
+ panelTitle: `Assessment settings`,
111
+ settingsElements: [],
112
+ };
113
+ settings.settingsElements.push({
114
+ type: 'ASSESSMENT',
115
+ entityType: 'ASSESSMENT',
116
+ isVisible: true,
117
+ isEnabled: this.editorService.formsPage.settings.assessmentMode,
118
+ helpingText: 'You can configure scores for the questions and analyze the responses submitted by the respondent based on these scores.',
119
+ defaultScore: this.editorService.formsPage.settings.defaultScore,
120
+ negativeScoreCriteria: this.editorService.formsPage.settings.negativeScoreCriteria,
121
+ negativeScore: this.editorService.formsPage.settings.negativeScore,
122
+ weightageEnabled: this.editorService.formsPage.settings.weightageEnabled,
123
+ settingTitle: 'ASSESSMENT MODE',
124
+ settingEnableText: `Enable assessment mode for this assessment`,
125
+ updateType: 'LAZY',
126
+ });
127
+ settings.settingsElements.push({
128
+ type: 'RESPONSE_SEGMENT',
129
+ entityType: 'ASSESSMENT',
130
+ helpingText: 'Response segments let you divide the responses into separate parts or sections for easier analysis of data and assist in decision making.',
131
+ isVisible: true,
132
+ isEnabled: this.editorService.formsPage.responseSegment['isEnabled'] ?? false,
133
+ settingTitle: 'RESPONSE SEGMENTS',
134
+ settingEnableText: `Configure Response Segments for this assessment`,
135
+ updateType: 'LAZY',
136
+ segmentData: this.editorService.formsPage.responseSegment,
137
+ });
138
+ return settings;
139
+ }
140
+ clickCollapse() {
141
+ this.showCollapse = !this.showCollapse;
142
+ }
143
+ clickExpand() {
144
+ this.expandPage = true;
145
+ }
146
+ closeExpand() {
147
+ this.expandPage = false;
148
+ }
149
+ deletePage() {
150
+ const ref = this.dialog.open(DeleteComponent, {
151
+ data: { message: `This action will <strong>remove</strong> this page.` },
152
+ position: 'CENTER',
153
+ background: 'black',
154
+ });
155
+ ref.afterClosed.subscribe((data) => {
156
+ if (data === true) {
157
+ this.deletePageConfirm(true);
158
+ }
159
+ });
160
+ }
161
+ deletePageConfirm(confirmDelete) {
162
+ if (confirmDelete) {
163
+ this.editorService.allPages = this.editorService.allPages.filter((pageNum) => pageNum !== this.editorService.currentPageNumber);
164
+ this.editorService.allPages = this.updatePageNumbersForAllPages(this.editorService.allPages);
165
+ this.editorService.formsPage.pageDetailsList =
166
+ this.editorService.formsPage.pageDetailsList.filter((pageDetail) => pageDetail.pageNumber !== this.editorService.currentPageNumber);
167
+ this.editorService.formsPage.pageDetailsList =
168
+ this.updatePageNumberForPageDetails(this.editorService.formsPage.pageDetailsList);
169
+ this.editorService.formsPage.elements =
170
+ this.editorService.formsPage.elements.filter((elementDetail) => elementDetail.page !== this.editorService.currentPageNumber);
171
+ this.editorService.formsPage.elements = this.updatePageNumberForQuestions(this.editorService.formsPage.elements);
172
+ if (this.editorService.currentPageNumber > 1) {
173
+ this.editorService.currentPageNumber -= 1;
174
+ }
175
+ this.getPageName(this.editorService.currentPageNumber);
176
+ this.checkForPageDetails();
177
+ }
178
+ this.editorService.activeQuestion = -10;
179
+ }
180
+ updatePageNumbersForAllPages(arrayToBeUpdated) {
181
+ for (let i = 0; i < arrayToBeUpdated.length; i++) {
182
+ if (i >= this.editorService.currentPageNumber - 1) {
183
+ arrayToBeUpdated[i] -= 1;
184
+ }
185
+ }
186
+ return arrayToBeUpdated;
187
+ }
188
+ updatePageNumberForPageDetails(arrayToBeUpdated) {
189
+ arrayToBeUpdated.forEach((element) => {
190
+ if (element.pageNumber >= this.editorService.currentPageNumber) {
191
+ element.pageNumber -= 1;
192
+ }
193
+ });
194
+ return arrayToBeUpdated;
195
+ }
196
+ updatePageNumberForQuestions(arrayToBeUpdated) {
197
+ arrayToBeUpdated.forEach((element) => {
198
+ if (element.page >= this.editorService.currentPageNumber) {
199
+ element.page -= 1;
200
+ }
201
+ });
202
+ return arrayToBeUpdated;
203
+ }
204
+ openQuestion() {
205
+ this.hideQuestion = true;
206
+ }
207
+ closeQuestion() {
208
+ this.hideQuestion = false;
209
+ }
210
+ deleteQuestionWithValidation(index) {
211
+ if (index === 'welcome') {
212
+ this.editorService.formsPage.hasWelcome = false;
213
+ this.editorService.currentPageNumber = 1;
214
+ this.editorService.stepIdentifier = 'pagescreen';
215
+ }
216
+ this.editorService.deleteQuestion(index);
217
+ }
218
+ checkforError(mode) {
219
+ const errorQuestionIndex = this.editorService?.formsPage?.elements?.findIndex((element, index) => element?.errorArray &&
220
+ Object.values(element?.errorArray)?.length > 0);
221
+ if (errorQuestionIndex >= 0) {
222
+ if (mode === 'full') {
223
+ this.editorService.currentPageNumber =
224
+ this.editorService.formsPage.elements[errorQuestionIndex].page;
225
+ }
226
+ if (mode !== 'partial') {
227
+ // this.getPageName(this.editorService.currentPageNumber);
228
+ this.editorService.activeQuestion = errorQuestionIndex;
229
+ this.editorService.activeQuestionIndex.next(errorQuestionIndex);
230
+ const question = document.getElementById(this.editorService.formsPage.elements[errorQuestionIndex].name);
231
+ setTimeout(() => {
232
+ if (question) {
233
+ question.scrollIntoView({ behavior: 'smooth', block: 'start' });
234
+ }
235
+ }, 200);
236
+ }
237
+ if (mode === 'save') {
238
+ this.editorService.activeQuestion = -10;
239
+ this.editorService.activeQuestionIndex.next(-10);
240
+ }
241
+ return true;
242
+ }
243
+ else {
244
+ if (mode === 'save') {
245
+ this.editorService.activeQuestion = -10;
246
+ this.editorService.activeQuestionIndex.next(-10);
247
+ }
248
+ return false;
249
+ }
250
+ }
251
+ generatePageDropdown() {
252
+ const list = [];
253
+ if (this.editorService.formsPage.hasWelcome === true) {
254
+ list.push({
255
+ value: -1,
256
+ template: `<span class="page-number">Welcome Screen</span>`,
257
+ });
258
+ }
259
+ if (this.editorService.formsPage.hasThanks === true) {
260
+ list.push({
261
+ value: -2,
262
+ template: `<span class="page-number">Thank you Screen</span>`,
263
+ });
264
+ }
265
+ this.editorService.allPages.forEach((element) => {
266
+ list.push({
267
+ value: element,
268
+ template: this.getPageNameForDropdown(element),
269
+ });
270
+ });
271
+ return list;
272
+ }
273
+ getPageNameForDropdown(pageNumber) {
274
+ let pageValue = `<span class="page-number">Page ${pageNumber}</span>`;
275
+ this.editorService.formsPage.pageDetailsList.forEach((pageDetail) => {
276
+ if (pageDetail.pageNumber === pageNumber && pageDetail.pageName !== '') {
277
+ pageValue = `<span class="page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3">PAGE</span>
278
+ <span class="page-number vx-fs-11 vx-paragraph-txt">${pageDetail.pageNumber}</span>`;
279
+ //pageValue = `<span class="page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3">Page </span> <span ${pageDetail.pageNumber}</span> <span class="page-number vx-fs-11 vx-paragraph-txt"> ${pageDetail.pageName}</span>`;
280
+ }
281
+ });
282
+ return pageValue;
283
+ }
284
+ pageChanged(evt) {
285
+ if (evt.value === -1) {
286
+ this.setIdentifier('welcomescreen');
287
+ }
288
+ else if (evt.value === -2) {
289
+ this.setIdentifier('thankyouscreen');
290
+ }
291
+ else if (evt.value >= 0) {
292
+ this.editorService.currentPageNumber = evt?.value;
293
+ this.setIdentifier('pagescreen');
294
+ }
295
+ }
296
+ setIdentifier(screen) {
297
+ this.changeToInactive();
298
+ if (screen === 'welcomescreen') {
299
+ this.editorService.stepIdentifier = 'welcomescreen';
300
+ this.editorService.currentPageNumber = -1;
301
+ }
302
+ if (screen === 'thankyouscreen') {
303
+ this.editorService.stepIdentifier = 'thankyouscreen';
304
+ this.editorService.currentPageNumber = -2;
305
+ }
306
+ if (screen === 'pagescreen') {
307
+ this.editorService.stepIdentifier = 'pagescreen';
308
+ if (this.editorService.allPages.length === 0) {
309
+ this.editorService.addPage();
310
+ this.editorService.currentPageNumber = 1;
311
+ }
312
+ else if (this.editorService.currentPageNumber === -1 ||
313
+ this.editorService.currentPageNumber === -2) {
314
+ this.editorService.currentPageNumber =
315
+ this.editorService.allPages.length;
316
+ }
317
+ }
318
+ this.getPageName(this.editorService.currentPageNumber);
319
+ }
320
+ getPageName(pageNumber) {
321
+ this.editorService.currentPageDetails = {
322
+ pageName: '',
323
+ pageNumber: 0,
324
+ pageDescription: '',
325
+ };
326
+ this.editorService.formsPage.pageDetailsList.forEach((pageDetail) => {
327
+ if (pageDetail.pageNumber === pageNumber) {
328
+ this.editorService.currentPageDetails.pageNumber =
329
+ pageDetail.pageNumber;
330
+ this.editorService.currentPageDetails.pageName = pageDetail.pageName;
331
+ this.editorService.currentPageDetails.pageDescription =
332
+ pageDetail.pageDescription;
333
+ }
334
+ });
335
+ this.checkForPageDetails();
336
+ }
337
+ checkForPageDetails() {
338
+ if (this.editorService.currentPageDetails === undefined ||
339
+ this.editorService.currentPageDetails.pageName === '') {
340
+ this.editorService.showAddPageOption = true;
341
+ this.editorService.showPageDetails = false;
342
+ }
343
+ else {
344
+ this.editorService.showAddPageOption = false;
345
+ this.editorService.showPageDetails = true;
346
+ }
347
+ }
348
+ changeToInactive() {
349
+ this.editorService.activeQuestion = -5;
350
+ this.editorService.activeQuestionIndex.next(-5);
351
+ }
352
+ addNewPage() {
353
+ this.editorService.addPage();
354
+ this.editorService.currentPageDetails = {
355
+ pageName: '',
356
+ pageNumber: this.editorService.currentPageNumber,
357
+ pageDescription: '',
358
+ };
359
+ this.editorService.showPageDetails = false;
360
+ this.editorService.showAddPageOption = true;
361
+ this.generatePageDropdown();
362
+ }
363
+ capitalizeString(stringValue) {
364
+ return stringValue[0].toUpperCase() + stringValue.slice(1);
365
+ }
366
+ onDeletePageClick() {
367
+ // this.showDeletePopup = true;
368
+ }
369
+ isPageEmpty() {
370
+ if (![
371
+ ...new Set(this.editorService.formsPage.elements.map((element) => element.page)),
372
+ ].includes(this.editorService.currentPageNumber)) {
373
+ return true;
374
+ }
375
+ else {
376
+ return false;
377
+ }
378
+ }
379
+ submitAfterErrorCheck(mode) {
380
+ this.editorService.activeQuestionIndex.next(-10);
381
+ this.editorService.activeQuestion = -10;
382
+ if (this.editorService.stepIdentifier === 'welcomescreen' ||
383
+ this.editorService.stepIdentifier === 'thankyouscreen') {
384
+ this.editorService.currentPageNumber = 1;
385
+ this.editorService.stepIdentifier = 'pagescreen';
386
+ }
387
+ //this.pageMode = 'EDIT';
388
+ this.validateWelcomeThankYou();
389
+ setTimeout(() => {
390
+ if (!this.checkforError('full')) {
391
+ for (const question of this.editorService.formsPage.elements) {
392
+ if (!['checkbox', 'dropdown', 'multiple-choice'].includes(question.type)) {
393
+ if (question.choices) {
394
+ question.choices.forEach((element) => {
395
+ element.color = undefined;
396
+ element.score = 1;
397
+ element.isFailed = false;
398
+ });
399
+ }
400
+ question.otherConfig = { color: '', isFailed: false, score: 0 };
401
+ }
402
+ }
403
+ this.save(mode);
404
+ }
405
+ }, 200);
406
+ }
407
+ validateWelcomeThankYou() {
408
+ const question = this.editorService.formsPage;
409
+ if (question.hasWelcome === true) {
410
+ if (question.hasWelcomeDescription === true &&
411
+ this.editorService.extract(question.welcomeDescription).length === 0) {
412
+ this.editorService.formsPage.hasWelcomeDescription = false;
413
+ }
414
+ if (question.hasWelcomeImage === true &&
415
+ this.editorService.extract(question.welcomeImage).length === 0) {
416
+ this.editorService.formsPage.hasWelcomeImage = false;
417
+ }
418
+ if (this.editorService.extract(question.welcomeDescription).length === 0 &&
419
+ this.editorService.extract(question.welcomeText).length === 0 &&
420
+ this.editorService.extract(question.welcomeImage).length === 0) {
421
+ this.editorService.formsPage.hasWelcome = false;
422
+ this.editorService.formsPage.hasWelcomeDescription = true;
423
+ this.editorService.formsPage.hasWelcomeImage = true;
424
+ }
425
+ }
426
+ if (question.hasThanks === true) {
427
+ if (question.hasThankyouDescription === true &&
428
+ this.editorService.extract(question.thankyouDescription).length === 0) {
429
+ this.editorService.formsPage.hasThankyouDescription = false;
430
+ }
431
+ if (question.hasThankyouImage === true &&
432
+ this.editorService.extract(question.thankyouImage).length === 0) {
433
+ this.editorService.formsPage.hasThankyouImage = false;
434
+ }
435
+ if (this.editorService.extract(question.thankyouDescription).length === 0 &&
436
+ this.editorService.extract(question.thankyouText).length === 0 &&
437
+ this.editorService.extract(question.thankyouImage).length === 0) {
438
+ this.editorService.formsPage.hasThanks = false;
439
+ this.editorService.formsPage.hasThankyouDescription = true;
440
+ this.editorService.formsPage.hasThankyouImage = true;
441
+ }
442
+ }
443
+ }
444
+ save(mode) {
445
+ if (mode === 'ACTIVE' && this.openPortal !== 'RESPONSIBILITY_CHECKPOINT') {
446
+ const ref = this.dialog.open(ActiveComponent, {
447
+ data: {
448
+ message: `Once published, this assessment will be active and can be associated with a compliance responsibility.`,
449
+ },
450
+ position: 'CENTER',
451
+ background: 'black',
452
+ });
453
+ ref.afterClosed.subscribe({
454
+ next: (res) => {
455
+ if (res === true) {
456
+ this.postAssessment.emit({
457
+ mode: mode,
458
+ assessmentDetails: this.editorService.formsPage,
459
+ });
460
+ }
461
+ },
462
+ });
463
+ }
464
+ else {
465
+ this.postAssessment.emit({
466
+ mode: mode,
467
+ assessmentDetails: this.editorService.formsPage,
468
+ });
469
+ }
470
+ }
471
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateAssessmentContainerComponent, deps: [{ token: i1.DialogService }, { token: i2.EditorService }, { token: i3.ActivatedRoute }, { token: i4.SnackBarService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
472
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateAssessmentContainerComponent, selector: "app-create-assessment-container", inputs: { openPortal: "openPortal", assessmentData: ["assessmentJSON", "assessmentData"], checkpointData: ["checkpointJSON", "checkpointData"] }, outputs: { setIsUploaded: "setIsUploaded", postAssessment: "postAssessment" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, providers: [EditorService], ngImport: i0, template: "<ng-container>\r\n <div\r\n *ngIf=\"pageMode === 'EDIT'\"\r\n class=\"create-assessment-container\"\r\n [class.full-page]=\"expandPage\"\r\n >\r\n <div\r\n class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"left vx-d-flex vx-align-center\"\r\n [class.with-template-btn]=\"false\"\r\n >\r\n <span\r\n *ngIf=\"assessmentControlId\"\r\n class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\"\r\n >{{ assessmentControlId }}</span\r\n >\r\n <i\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"icons arrow-back vx-mr-1\"\r\n (click)=\"setIsUploaded.emit(false)\"\r\n >&#xe91d;</i\r\n >\r\n <span\r\n class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\"\r\n [appTooltip]=\"\r\n openPortal === 'RESPONSIBILITY_CHECKPOINT'\r\n ? 'Add Checkpoints'\r\n : assessmentName\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{\r\n openPortal === \"RESPONSIBILITY_CHECKPOINT\"\r\n ? \"Add Checkpoints\"\r\n : assessmentName\r\n }}</span\r\n >\r\n <!-- <button class=\"edit-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center\"><i class=\"icons\">&#xe9ba;</i></button> -->\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n appPopover\r\n (click)=\"action.popover()\"\r\n placement=\"right\"\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber > 0\"\r\n >PAGE {{ editorService?.currentPageNumber }}</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -1\"\r\n >Welcome Screen</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -2\"\r\n >Thankyou Screen</span\r\n >\r\n <!-- <span class=\"page-number vx-fs-11 vx-paragraph-txt\" *ngIf=\"editorService.stepIdentifier=='pagescreen'\">{{editorService?.currentPageDetails?.pageName}}</span> -->\r\n <i class=\"icons arrow vx-fs-10 vx-paragraph-txt\">&#xe9e8;</i>\r\n </button>\r\n <app-popover #action>\r\n <div class=\"page-dropdown-popup\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li\r\n class=\"vx-d-flex vx-align-center\"\r\n *ngFor=\"let data of generatePageDropdown()\"\r\n >\r\n <button\r\n class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\"\r\n [innerHTML]=\"data?.template\"\r\n (click)=\"pageChanged(data)\"\r\n >\r\n <!-- <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">1</span>\r\n {{data|json}} -->\r\n </button>\r\n </li>\r\n </ul>\r\n <div\r\n class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\"\r\n >\r\n <button\r\n (click)=\"addNewPage()\"\r\n class=\"add-page vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n ADD NEW PAGE\r\n </button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"settings-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n (click)=\"assessmentSettings()\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe913;</i> ASSESSMENT\r\n SETTINGS\r\n </button>\r\n <button\r\n *ngIf=\"false\"\r\n class=\"template-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe9ed;</i> SAVE AS\r\n TEMPLATE\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n <ng-container *ngIf=\"editorService.stepIdentifier == 'pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-mb-4\">\r\n <!-- <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button> -->\r\n <div\r\n class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\"\r\n >\r\n Select a question type to begin:\r\n </div>\r\n <app-question-type\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-question-type>\r\n </div>\r\n </div>\r\n\r\n <div class=\"floating-bar\">\r\n <div class=\"floating-bar-container\">\r\n <div class=\"right\">\r\n <button class=\"cancel\" (click)=\"setIsUploaded.emit(false)\">\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <ng-template #elseBlock>\r\n <div>\r\n <app-editor-loader></app-editor-loader>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\"\r\n >\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou\r\n *ngIf=\"editorService.stepIdentifier == 'welcomescreen'\"\r\n [entityData]=\"editorService?.formsPage\"\r\n [service]=\"editorService\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"\r\n ></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n >\r\n <button\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showAddPageOption\r\n \"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"addPageDetails()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE\r\n </button>\r\n <app-page-header\r\n (edit)=\"addPageDetails()\"\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showPageDetails\r\n \"\r\n [pageName]=\"editorService.currentPageDetails.pageName\"\r\n [pageDescription]=\"\r\n editorService.currentPageDetails.pageDescription\r\n \"\r\n ></app-page-header>\r\n <ng-container\r\n *ngFor=\"\r\n let question of editorService.formsPage.elements;\r\n let questionIndex = index\r\n \"\r\n >\r\n <ng-container\r\n *ngIf=\"\r\n question.page === editorService.currentPageNumber &&\r\n editorService.stepIdentifier == 'pagescreen'\r\n \"\r\n >\r\n <app-editor-wrapper\r\n *ngIf=\"editorService.activeQuestion === questionIndex\"\r\n [service]=\"editorService\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n [openPortal]=\"openPortal\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"\r\n ></app-editor-wrapper>\r\n <app-preview-wrapper\r\n *ngIf=\"editorService.activeQuestion !== questionIndex\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"\r\n editorService.activeQuestion = $event\r\n \"\r\n ></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\r\n <button\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"openQuestion()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> NEXT QUESTION\r\n </button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type\r\n (addQuestion)=\"\r\n editorService.addQuestion($event); closeQuestion()\r\n \"\r\n ></app-question-type>\r\n </div>\r\n <div\r\n class=\"overlay\"\r\n *ngIf=\"hideQuestion\"\r\n (click)=\"closeQuestion()\"\r\n ></div>\r\n </div>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"addNewPage()\"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> ADD NEW PAGE\r\n </button>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n class=\"right-side-btn\"\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n >\r\n <button\r\n *ngIf=\"!expandPage\"\r\n (click)=\"clickExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Expand Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe945;</i>\r\n </button>\r\n <button\r\n *ngIf=\"expandPage\"\r\n (click)=\"closeExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Shrink Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe944;</i>\r\n </button>\r\n <button\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n (click)=\"deletePage()\"\r\n class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Delete Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe923;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\"\r\n >\r\n <button\r\n (click)=\"setIsUploaded.emit(false)\"\r\n class=\"cancel-btn vx-fs-14 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('DRAFT')\"\r\n [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\"\r\n class=\"white-btn vx-fs-14 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n SAVE AS DRAFT\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n PUBLISH\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n NEXT &nbsp;<i class=\"icons\">&#xe91e;</i>\r\n </button>\r\n <!-- <button (click)=\"pageMode = 'PREVIEW'\" class=\"preview-btn vx-fs-20 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Preview'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xeae5;</i></button> -->\r\n <button\r\n *ngIf=\"false\"\r\n class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Close'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- <app-assessment-preview-container *ngIf=\"pageMode === 'PREVIEW'\" [questionDetails]=\"editorService.formsPage\"></app-assessment-preview-container> -->\r\n</ng-container>\r\n\r\n<!-- <app-editor-loader *ngIf=\"!isLoaded\"></app-editor-loader> -->\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;inset:0;width:100vw;height:100vh;margin:0!important;z-index:9}.create-assessment-container.full-page .create-assessment-head{border-radius:0}.create-assessment-container.full-page .create-assessment-body{border-radius:0;height:calc(100vh - 2.5rem)}.create-assessment-container.full-page .create-assessment-body .editor-section-body .right-side-btn{top:4.75rem;right:5rem}.create-assessment-container.full-page .create-assessment-body .editor-section-footer{border-radius:0}.create-assessment-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1;position:relative}.create-assessment-head:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}.create-assessment-head .left{width:calc(100% - 22rem)}.create-assessment-head .left i.arrow-back{cursor:pointer}.create-assessment-head .left .heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 10rem)}.create-assessment-head .left button.edit-btn{background:transparent;border:none;border-radius:0}.create-assessment-head .left.with-template-btn{width:calc(100% - 30rem)}.create-assessment-head .right button.page-dropdown{background:#fff;border-radius:.125rem;border:1px solid #BCBCBC;position:relative;height:1.5rem;width:11.5rem}.create-assessment-head .right button.page-dropdown .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.create-assessment-head .right button.page-dropdown .arrow{position:absolute;top:.375rem;right:.5rem}.create-assessment-head .right button.settings-btn{background:#1e5dd3;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-head .right button.template-btn{background:#34aa44;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-body{background:#fff;border-radius:0 0 .125rem .125rem;height:calc(100vh - 2.5rem);scrollbar-width:thin}.create-assessment-body::-webkit-scrollbar-track{background-color:#f1f1f1}.create-assessment-body::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.create-assessment-body app-toolkit{position:sticky;top:0}.create-assessment-body .select-question-part{padding:2rem}.create-assessment-body .select-question-part .question-inner{width:69rem;height:calc(100vh - 11rem);overflow:auto;padding-right:3.75rem;position:relative;left:.625rem}.create-assessment-body .select-question-part .question-inner::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .select-question-part .question-inner .heading{margin-top:4rem;margin-bottom:2rem}.create-assessment-body .select-question-part .floating-bar-container{background:#fff;box-shadow:0 6px 12px #4681ef26;border-radius:4px;border:1px solid #f8f8f8;height:48px;padding:8px 12px;display:flex;justify-content:end;position:relative;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right{display:flex;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right .name{margin-left:15px;color:#707070;font-size:12px;font-weight:500;line-height:18px;display:flex;align-items:center;white-space:nowrap}.create-assessment-body .select-question-part .floating-bar-container .right .name span.required{color:#eb2424;font-size:14px}.create-assessment-body .select-question-part .floating-bar-container .right .name i{margin-left:3px;color:#1e5dd3;cursor:pointer}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select{margin-left:12px;width:125px;display:flex}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box input{height:32px}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box span.arrow{bottom:6px}.create-assessment-body .select-question-part .floating-bar-container .right button{border-radius:2px;height:28px;background:#1e5dd3!important;width:72px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#fff!important;text-transform:uppercase;font-size:11px;font-weight:500;border:1px solid #1e5dd3!important;padding:0;margin:0 0 0 28px}.create-assessment-body .select-question-part .floating-bar-container .right button i{margin-left:8px;font-size:16px}.create-assessment-body .select-question-part .floating-bar-container .right button:disabled{filter:grayscale(1);cursor:not-allowed;opacity:.5;pointer-events:auto}.create-assessment-body .select-question-part .floating-bar-container .right button.cancel{background:transparent!important;border:none!important;color:#eb2424!important;margin-right:0;width:auto;padding:0}.create-assessment-body .editor-section{height:100%}.create-assessment-body .editor-section-body{height:calc(100% - 5.25rem);position:relative;overflow:auto}.create-assessment-body .editor-section-body::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .editor-section-body .right-side-btn{position:fixed;top:180px;right:100px}.create-assessment-body .editor-section-body .right-side-btn button{background:#f8f8f8;border-radius:.125rem;border:none;width:1.5rem;height:1.5rem}.create-assessment-body .editor-section-inner{width:60rem;margin:0 auto;padding:2rem 0;height:100%}@media screen and (max-width: 1366px){.create-assessment-body .editor-section-inner{width:55rem!important}}.create-assessment-body .editor-section-inner .next-question-area{position:relative}.create-assessment-body .editor-section-inner .next-question-area ::ng-deep app-question-type .question-type ul li{width:10rem!important}.create-assessment-body .editor-section-inner .next-question-area .overlay{z-index:8}.create-assessment-body .editor-section-inner .next-question-popup{background:#fff;border-radius:.25rem;box-shadow:0 0 6px #1e5dd326;position:absolute;left:0;right:0;bottom:0;z-index:9}.create-assessment-body .editor-section-footer{background:#fff;border-radius:0 0 .125rem .125rem;box-shadow:0 -3px 6px #1e5dd326;height:4.25rem;position:relative}.create-assessment-body .editor-section-footer button{border-radius:.125rem;width:12.5rem;height:2.75rem;letter-spacing:1.5px}.create-assessment-body .editor-section-footer button.white-btn,.create-assessment-body .editor-section-footer button.cancel-btn{background:#fff;border:1px solid #DBDBDB}.create-assessment-body .editor-section-footer button.blue-btn{background:#1e5dd3;border:none}.create-assessment-body .editor-section-footer button.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}.create-assessment-body .editor-section-footer button.preview-btn{background:#34aa44;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}.create-assessment-body .editor-section-footer button.close-btn{background:#d93b41;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}button.page-title{background:#fff;border:1px dashed #DBDBDB;border-radius:.25rem;height:3.125rem;transition:all .3s ease-in-out}button.page-title:hover{border-color:#1e5dd3;color:#1e5dd3}.page-dropdown-popup{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:11.5rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.page-dropdown-popup ul{list-style-type:none;max-height:12rem;overflow-y:auto}.page-dropdown-popup ul li{border-bottom:1px solid #F1F1F1;list-style-type:none}.page-dropdown-popup ul li:only-child,.page-dropdown-popup ul li:last-of-type{border-bottom:none}.page-dropdown-popup ul li button{background:transparent;border:none;border-radius:0;text-align:left}.page-dropdown-popup ul li button .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.page-dropdown-popup .action-bottom{background:#f8f8f8;border-top:1px solid #F1F1F1;border-radius:0 0 .125rem .125rem}.page-dropdown-popup .action-bottom button{border-radius:.125rem;height:1.5rem}.page-dropdown-popup .action-bottom button.add-page{background:#1e5dd3;border:1px solid #1e5dd3}.page-number{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.ToolTipDirective, selector: "[appTooltip]", inputs: ["appTooltip", "placement", "type", "tooltipMandatory", "showTooltip", "animate"] }, { kind: "component", type: i7.PopoverComponent, selector: "app-popover", inputs: ["dontCloseonClick"] }, { kind: "directive", type: i8.PopoverDirective, selector: "[appPopover]", inputs: ["refrence", "placement"] }, { kind: "component", type: i9.PreviewWrapperComponent, selector: "app-preview-wrapper", inputs: ["question", "questionIndex"], outputs: ["makeActiveQuestion", "validQuestionData"] }, { kind: "component", type: i10.QuestionTypeComponent, selector: "app-question-type", outputs: ["addQuestion"] }, { kind: "component", type: i11.EditorWrapperComponent, selector: "app-editor-wrapper", inputs: ["openPortal", "questionIndex", "question", "GRS", "service", "editorMode"], outputs: ["validQuestionData", "deleteQuestion", "copyQuestion"] }, { kind: "component", type: i12.ToolkitComponent, selector: "app-toolkit", outputs: ["addQuestion"] }, { kind: "component", type: i13.PageHeaderComponent, selector: "app-page-header", inputs: ["pageName", "pageDescription"], outputs: ["edit"] }, { kind: "component", type: i14.WelcomeThankyouComponent, selector: "app-welcome-thankyou", inputs: ["service", "entityData"], outputs: ["deleteQuestion"] }] }); }
473
+ }
474
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateAssessmentContainerComponent, decorators: [{
475
+ type: Component,
476
+ args: [{ selector: 'app-create-assessment-container', providers: [EditorService], template: "<ng-container>\r\n <div\r\n *ngIf=\"pageMode === 'EDIT'\"\r\n class=\"create-assessment-container\"\r\n [class.full-page]=\"expandPage\"\r\n >\r\n <div\r\n class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\"\r\n >\r\n <div\r\n class=\"left vx-d-flex vx-align-center\"\r\n [class.with-template-btn]=\"false\"\r\n >\r\n <span\r\n *ngIf=\"assessmentControlId\"\r\n class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\"\r\n >{{ assessmentControlId }}</span\r\n >\r\n <i\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"icons arrow-back vx-mr-1\"\r\n (click)=\"setIsUploaded.emit(false)\"\r\n >&#xe91d;</i\r\n >\r\n <span\r\n class=\"heading vx-fs-14 vx-fw-500 vx-label-txt\"\r\n [appTooltip]=\"\r\n openPortal === 'RESPONSIBILITY_CHECKPOINT'\r\n ? 'Add Checkpoints'\r\n : assessmentName\r\n \"\r\n placement=\"bottom-left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"false\"\r\n >{{\r\n openPortal === \"RESPONSIBILITY_CHECKPOINT\"\r\n ? \"Add Checkpoints\"\r\n : assessmentName\r\n }}</span\r\n >\r\n <!-- <button class=\"edit-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-d-flex vx-align-center\"><i class=\"icons\">&#xe9ba;</i></button> -->\r\n </div>\r\n <div class=\"right vx-d-flex vx-align-center\">\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n appPopover\r\n (click)=\"action.popover()\"\r\n placement=\"right\"\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber > 0\"\r\n >PAGE {{ editorService?.currentPageNumber }}</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -1\"\r\n >Welcome Screen</span\r\n >\r\n <span\r\n class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\"\r\n *ngIf=\"editorService.currentPageNumber === -2\"\r\n >Thankyou Screen</span\r\n >\r\n <!-- <span class=\"page-number vx-fs-11 vx-paragraph-txt\" *ngIf=\"editorService.stepIdentifier=='pagescreen'\">{{editorService?.currentPageDetails?.pageName}}</span> -->\r\n <i class=\"icons arrow vx-fs-10 vx-paragraph-txt\">&#xe9e8;</i>\r\n </button>\r\n <app-popover #action>\r\n <div class=\"page-dropdown-popup\">\r\n <ul class=\"vx-p-0 vx-m-0\">\r\n <li\r\n class=\"vx-d-flex vx-align-center\"\r\n *ngFor=\"let data of generatePageDropdown()\"\r\n >\r\n <button\r\n class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\"\r\n [innerHTML]=\"data?.template\"\r\n (click)=\"pageChanged(data)\"\r\n >\r\n <!-- <span class=\"page-label vx-fs-9 vx-fw-600 vx-tt-uppercase vx-pl-1 vx-pr-1 vx-mr-2 vx-lh-3\">PAGE</span>\r\n <span class=\"page-number vx-fs-11 vx-paragraph-txt\">1</span>\r\n {{data|json}} -->\r\n </button>\r\n </li>\r\n </ul>\r\n <div\r\n class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\"\r\n >\r\n <button\r\n (click)=\"addNewPage()\"\r\n class=\"add-page vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\"\r\n >\r\n ADD NEW PAGE\r\n </button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n class=\"settings-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n (click)=\"assessmentSettings()\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe913;</i> ASSESSMENT\r\n SETTINGS\r\n </button>\r\n <button\r\n *ngIf=\"false\"\r\n class=\"template-btn vx-fs-11 vx-fw-500 vx-txt-white vx-tt-uppercase vx-lh-6 vx-p-0 vx-pl-2 vx-pr-2 vx-m-0 vx-ml-1 vx-d-flex vx-align-center\"\r\n >\r\n <i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe9ed;</i> SAVE AS\r\n TEMPLATE\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n <ng-container *ngIf=\"editorService.stepIdentifier == 'pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part\">\r\n <div class=\"vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-mb-4\">\r\n <!-- <button class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button> -->\r\n <div\r\n class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\"\r\n >\r\n Select a question type to begin:\r\n </div>\r\n <app-question-type\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-question-type>\r\n </div>\r\n </div>\r\n\r\n <div class=\"floating-bar\">\r\n <div class=\"floating-bar-container\">\r\n <div class=\"right\">\r\n <button class=\"cancel\" (click)=\"setIsUploaded.emit(false)\">\r\n Cancel\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!-- <ng-template #elseBlock>\r\n <div>\r\n <app-editor-loader></app-editor-loader>\r\n </div>\r\n </ng-template> -->\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container\r\n *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\"\r\n >\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit\r\n (addQuestion)=\"editorService.addQuestion($event)\"\r\n ></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou\r\n *ngIf=\"editorService.stepIdentifier == 'welcomescreen'\"\r\n [entityData]=\"editorService?.formsPage\"\r\n [service]=\"editorService\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"\r\n ></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n >\r\n <button\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showAddPageOption\r\n \"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"addPageDetails()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE\r\n </button>\r\n <app-page-header\r\n (edit)=\"addPageDetails()\"\r\n *ngIf=\"\r\n editorService.stepIdentifier == 'pagescreen' &&\r\n editorService.showPageDetails\r\n \"\r\n [pageName]=\"editorService.currentPageDetails.pageName\"\r\n [pageDescription]=\"\r\n editorService.currentPageDetails.pageDescription\r\n \"\r\n ></app-page-header>\r\n <ng-container\r\n *ngFor=\"\r\n let question of editorService.formsPage.elements;\r\n let questionIndex = index\r\n \"\r\n >\r\n <ng-container\r\n *ngIf=\"\r\n question.page === editorService.currentPageNumber &&\r\n editorService.stepIdentifier == 'pagescreen'\r\n \"\r\n >\r\n <app-editor-wrapper\r\n *ngIf=\"editorService.activeQuestion === questionIndex\"\r\n [service]=\"editorService\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n [openPortal]=\"openPortal\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"\r\n ></app-editor-wrapper>\r\n <app-preview-wrapper\r\n *ngIf=\"editorService.activeQuestion !== questionIndex\"\r\n [question]=\"question\"\r\n [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"\r\n editorService.activeQuestion = $event\r\n \"\r\n ></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\r\n <button\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n (click)=\"openQuestion()\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> NEXT QUESTION\r\n </button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type\r\n (addQuestion)=\"\r\n editorService.addQuestion($event); closeQuestion()\r\n \"\r\n ></app-question-type>\r\n </div>\r\n <div\r\n class=\"overlay\"\r\n *ngIf=\"hideQuestion\"\r\n (click)=\"closeQuestion()\"\r\n ></div>\r\n </div>\r\n <button\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"addNewPage()\"\r\n class=\"page-title vx-fs-11 vx-fw-600 vx-label-txt vx-tt-uppercase vx-p-0 vx-m-0 vx-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\"\r\n >\r\n <i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> ADD NEW PAGE\r\n </button>\r\n </ng-container>\r\n </div>\r\n\r\n <div\r\n class=\"right-side-btn\"\r\n *ngIf=\"openPortal !== 'RESPONSIBILITY_CHECKPOINT'\"\r\n >\r\n <button\r\n *ngIf=\"!expandPage\"\r\n (click)=\"clickExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Expand Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe945;</i>\r\n </button>\r\n <button\r\n *ngIf=\"expandPage\"\r\n (click)=\"closeExpand()\"\r\n class=\"fullscreen-btn vx-fs-14 vx-txt-blue vx-p-0 vx-m-0 vx-mb-3 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Shrink Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe944;</i>\r\n </button>\r\n <button\r\n *ngIf=\"editorService.stepIdentifier == 'pagescreen'\"\r\n (click)=\"deletePage()\"\r\n class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Delete Page'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe923;</i>\r\n </button>\r\n </div>\r\n </div>\r\n <div\r\n class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\"\r\n >\r\n <button\r\n (click)=\"setIsUploaded.emit(false)\"\r\n class=\"cancel-btn vx-fs-14 vx-fw-500 vx-txt-red vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n CANCEL\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('DRAFT')\"\r\n [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\"\r\n class=\"white-btn vx-fs-14 vx-fw-500 vx-txt-blue vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n SAVE AS DRAFT\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'ASSESSMENT_IMPORT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n PUBLISH\r\n </button>\r\n <button\r\n *ngIf=\"openPortal === 'RESPONSIBILITY_CHECKPOINT'\"\r\n (click)=\"submitAfterErrorCheck('ACTIVE')\"\r\n class=\"blue-btn vx-fs-14 vx-fw-500 vx-txt-white vx-tt-uppercase vx-p-0 vx-m-0 vx-ml-1 vx-mr-1 vx-d-flex vx-align-center vx-justify-center\"\r\n >\r\n NEXT &nbsp;<i class=\"icons\">&#xe91e;</i>\r\n </button>\r\n <!-- <button (click)=\"pageMode = 'PREVIEW'\" class=\"preview-btn vx-fs-20 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Preview'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xeae5;</i></button> -->\r\n <button\r\n *ngIf=\"false\"\r\n class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\"\r\n [appTooltip]=\"'Close'\"\r\n placement=\"left\"\r\n delay=\"0\"\r\n type=\"black\"\r\n [tooltipMandatory]=\"true\"\r\n >\r\n <i class=\"icons\">&#xe90d;</i>\r\n </button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <!-- <app-assessment-preview-container *ngIf=\"pageMode === 'PREVIEW'\" [questionDetails]=\"editorService.formsPage\"></app-assessment-preview-container> -->\r\n</ng-container>\r\n\r\n<!-- <app-editor-loader *ngIf=\"!isLoaded\"></app-editor-loader> -->\r\n", styles: ["@import\"https://cdn.v-comply.com/design-system/css/icons/icons.css\";@import\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\";@import\"https://cdn.v-comply.com/design-system/css/display/display.css\";@import\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\";@import\"https://cdn.v-comply.com/design-system/css/color/color.css\";@import\"https://cdn.v-comply.com/design-system/css/text/text.css\";@import\"https://cdn.v-comply.com/design-system/css/width/width.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\";@import\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\";@import\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\";.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;inset:0;width:100vw;height:100vh;margin:0!important;z-index:9}.create-assessment-container.full-page .create-assessment-head{border-radius:0}.create-assessment-container.full-page .create-assessment-body{border-radius:0;height:calc(100vh - 2.5rem)}.create-assessment-container.full-page .create-assessment-body .editor-section-body .right-side-btn{top:4.75rem;right:5rem}.create-assessment-container.full-page .create-assessment-body .editor-section-footer{border-radius:0}.create-assessment-head{background:#fbfbfb;height:2.75rem;border-bottom:1px solid #f1f1f1;position:relative}.create-assessment-head:before{background:#1e5dd3;content:\"\";position:absolute;top:0;left:0;right:0;width:100%;height:3px}.create-assessment-head .left{width:calc(100% - 22rem)}.create-assessment-head .left i.arrow-back{cursor:pointer}.create-assessment-head .left .heading{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;max-width:calc(100% - 10rem)}.create-assessment-head .left button.edit-btn{background:transparent;border:none;border-radius:0}.create-assessment-head .left.with-template-btn{width:calc(100% - 30rem)}.create-assessment-head .right button.page-dropdown{background:#fff;border-radius:.125rem;border:1px solid #BCBCBC;position:relative;height:1.5rem;width:11.5rem}.create-assessment-head .right button.page-dropdown .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.create-assessment-head .right button.page-dropdown .arrow{position:absolute;top:.375rem;right:.5rem}.create-assessment-head .right button.settings-btn{background:#1e5dd3;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-head .right button.template-btn{background:#34aa44;border-radius:.125rem;border:none;height:1.5rem}.create-assessment-body{background:#fff;border-radius:0 0 .125rem .125rem;height:calc(100vh - 2.5rem);scrollbar-width:thin}.create-assessment-body::-webkit-scrollbar-track{background-color:#f1f1f1}.create-assessment-body::-webkit-scrollbar-thumb{border-radius:3px;background-color:#dbdbdb;position:absolute}.create-assessment-body app-toolkit{position:sticky;top:0}.create-assessment-body .select-question-part{padding:2rem}.create-assessment-body .select-question-part .question-inner{width:69rem;height:calc(100vh - 11rem);overflow:auto;padding-right:3.75rem;position:relative;left:.625rem}.create-assessment-body .select-question-part .question-inner::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .select-question-part .question-inner .heading{margin-top:4rem;margin-bottom:2rem}.create-assessment-body .select-question-part .floating-bar-container{background:#fff;box-shadow:0 6px 12px #4681ef26;border-radius:4px;border:1px solid #f8f8f8;height:48px;padding:8px 12px;display:flex;justify-content:end;position:relative;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right{display:flex;align-items:center}.create-assessment-body .select-question-part .floating-bar-container .right .name{margin-left:15px;color:#707070;font-size:12px;font-weight:500;line-height:18px;display:flex;align-items:center;white-space:nowrap}.create-assessment-body .select-question-part .floating-bar-container .right .name span.required{color:#eb2424;font-size:14px}.create-assessment-body .select-question-part .floating-bar-container .right .name i{margin-left:3px;color:#1e5dd3;cursor:pointer}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select{margin-left:12px;width:125px;display:flex}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box input{height:32px}.create-assessment-body .select-question-part .floating-bar-container .right app-cs-select .input-group .custom-select-box span.arrow{bottom:6px}.create-assessment-body .select-question-part .floating-bar-container .right button{border-radius:2px;height:28px;background:#1e5dd3!important;width:72px;display:flex;justify-content:center;align-items:center;cursor:pointer;color:#fff!important;text-transform:uppercase;font-size:11px;font-weight:500;border:1px solid #1e5dd3!important;padding:0;margin:0 0 0 28px}.create-assessment-body .select-question-part .floating-bar-container .right button i{margin-left:8px;font-size:16px}.create-assessment-body .select-question-part .floating-bar-container .right button:disabled{filter:grayscale(1);cursor:not-allowed;opacity:.5;pointer-events:auto}.create-assessment-body .select-question-part .floating-bar-container .right button.cancel{background:transparent!important;border:none!important;color:#eb2424!important;margin-right:0;width:auto;padding:0}.create-assessment-body .editor-section{height:100%}.create-assessment-body .editor-section-body{height:calc(100% - 5.25rem);position:relative;overflow:auto}.create-assessment-body .editor-section-body::-webkit-scrollbar-track{background-color:transparent}.create-assessment-body .editor-section-body .right-side-btn{position:fixed;top:180px;right:100px}.create-assessment-body .editor-section-body .right-side-btn button{background:#f8f8f8;border-radius:.125rem;border:none;width:1.5rem;height:1.5rem}.create-assessment-body .editor-section-inner{width:60rem;margin:0 auto;padding:2rem 0;height:100%}@media screen and (max-width: 1366px){.create-assessment-body .editor-section-inner{width:55rem!important}}.create-assessment-body .editor-section-inner .next-question-area{position:relative}.create-assessment-body .editor-section-inner .next-question-area ::ng-deep app-question-type .question-type ul li{width:10rem!important}.create-assessment-body .editor-section-inner .next-question-area .overlay{z-index:8}.create-assessment-body .editor-section-inner .next-question-popup{background:#fff;border-radius:.25rem;box-shadow:0 0 6px #1e5dd326;position:absolute;left:0;right:0;bottom:0;z-index:9}.create-assessment-body .editor-section-footer{background:#fff;border-radius:0 0 .125rem .125rem;box-shadow:0 -3px 6px #1e5dd326;height:4.25rem;position:relative}.create-assessment-body .editor-section-footer button{border-radius:.125rem;width:12.5rem;height:2.75rem;letter-spacing:1.5px}.create-assessment-body .editor-section-footer button.white-btn,.create-assessment-body .editor-section-footer button.cancel-btn{background:#fff;border:1px solid #DBDBDB}.create-assessment-body .editor-section-footer button.blue-btn{background:#1e5dd3;border:none}.create-assessment-body .editor-section-footer button.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}.create-assessment-body .editor-section-footer button.preview-btn{background:#34aa44;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}.create-assessment-body .editor-section-footer button.close-btn{background:#d93b41;border-radius:.125rem;border:none;width:2.75rem;height:2.5rem;position:absolute;bottom:.875rem;right:1rem}button.page-title{background:#fff;border:1px dashed #DBDBDB;border-radius:.25rem;height:3.125rem;transition:all .3s ease-in-out}button.page-title:hover{border-color:#1e5dd3;color:#1e5dd3}.page-dropdown-popup{background:#fff;box-shadow:0 3px 6px #1c5bd140;border-radius:.25rem;width:11.5rem;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.page-dropdown-popup ul{list-style-type:none;max-height:12rem;overflow-y:auto}.page-dropdown-popup ul li{border-bottom:1px solid #F1F1F1;list-style-type:none}.page-dropdown-popup ul li:only-child,.page-dropdown-popup ul li:last-of-type{border-bottom:none}.page-dropdown-popup ul li button{background:transparent;border:none;border-radius:0;text-align:left}.page-dropdown-popup ul li button .page-label{background:#f1f1f1;border-radius:.125rem;color:#042e7d}.page-dropdown-popup .action-bottom{background:#f8f8f8;border-top:1px solid #F1F1F1;border-radius:0 0 .125rem .125rem}.page-dropdown-popup .action-bottom button{border-radius:.125rem;height:1.5rem}.page-dropdown-popup .action-bottom button.add-page{background:#1e5dd3;border:1px solid #1e5dd3}.page-number{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disabled{opacity:.7;pointer-events:none;cursor:not-allowed}\n"] }]
477
+ }], ctorParameters: function () { return [{ type: i1.DialogService }, { type: i2.EditorService }, { type: i3.ActivatedRoute }, { type: i4.SnackBarService }, { type: i3.Router }]; }, propDecorators: { openPortal: [{
478
+ type: Input
479
+ }], setIsUploaded: [{
480
+ type: Output
481
+ }], postAssessment: [{
482
+ type: Output
483
+ }], assessmentData: [{
484
+ type: Input,
485
+ args: ['assessmentJSON']
486
+ }], checkpointData: [{
487
+ type: Input,
488
+ args: ['checkpointJSON']
489
+ }], onKeydownHandler: [{
490
+ type: HostListener,
491
+ args: ['document:keydown.escape', ['$event']]
492
+ }] } });
493
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92eC13b3JrZmxvdy1lbmdpbmUvc3JjL2xpYi9zaGFyZWRDb21wb25lbnRzL2Fzc2Vzc21lbnQtZWRpdG9yL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBRUwsWUFBWSxFQUNaLE1BQU0sRUFDTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFDcEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0saUVBQWlFLENBQUM7QUFFOUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7QUFReEYsTUFBTSxPQUFPLGtDQUFrQztJQWdCN0MsSUFBNkIsY0FBYyxDQUFDLEtBQVU7UUFDcEQsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFDRCxJQUE2QixjQUFjLENBQUMsS0FBVTtRQUNwRCxJQUFJLENB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QkFDaEQsQ0FBQyxDQUFDO3FCQUNKO2dCQUNILENBQUM7YUFDRixDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJO2dCQUNWLGlCQUFpQixFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUzthQUNoRCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7K0dBM2hCVSxrQ0FBa0M7bUdBQWxDLGtDQUFrQywyV0FGbEMsQ0FBQyxhQUFhLENBQUMsMEJDdkI1QiwwaWdCQTRWQTs7NEZEblVhLGtDQUFrQztrQkFOOUMsU0FBUzsrQkFDRSxpQ0FBaUMsYUFHaEMsQ0FBQyxhQUFhLENBQUM7Z05BYWpCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRUksYUFBYTtzQkFBdEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUVzQixjQUFjO3NCQUExQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFHTSxjQUFjO3NCQUExQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFNOEIsZ0JBQWdCO3NCQUFwRSxZQUFZO3VCQUFDLHlCQUF5QixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBPdXRwdXQsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWRkLXBhZ2UtZGV0YWlscy9hZGQtcGFnZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXNzZXNzbWVudC1zZXR0aW5ncy9hc3Nlc3NtZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L2FjdGlvbi1kaWFsb2cvYWN0aXZlL2FjdGl2ZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFtFZGl0b3JTZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZUFzc2Vzc21lbnRDb250YWluZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHNob3dDb2xsYXBzZSA9IGZhbHNlO1xyXG4gIGV4cGFuZFBhZ2UgPSBmYWxzZTtcclxuICBoaWRlUXVlc3Rpb24gPSBmYWxzZTtcclxuICBhc3Nlc3NtZW50SWQgPSAnJztcclxuICBhc3Nlc3NtZW50TmFtZSA9ICcnO1xyXG4gIGFzc2Vzc21lbnRDYXRlZ29yeSA9ICcnO1xyXG4gIGFzc2Vzc21lbnRDb250cm9sSWQgPSAnJztcclxuICBhc3Nlc3NtZW50Q3VycmVudFN0YXRlID0gJ0RSQUZUJztcclxuICBwYWdlTW9kZTogJ0VESVQnIHwgJ1BSRVZJRVcnID0gJ0VESVQnO1xyXG4gIGlzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb3BlblBvcnRhbDogJ0FTU0VTU01FTlRfSU1QT1JUJyB8ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJyB8ICcnID1cclxuICAgICcnO1xyXG4gIEBPdXRwdXQoKSBzZXRJc1VwbG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwb3N0QXNzZXNzbWVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KCdhc3Nlc3NtZW50SlNPTicpIHNldCBhc3Nlc3NtZW50RGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVBc3Nlc3NtZW50KHZhbHVlKTtcclxuICB9XHJcbiAgQElucHV0KCdjaGVja3BvaW50SlNPTicpIHNldCBjaGVja3BvaW50RGF0YSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLmluaXRpYWxpemVDaGVja3BvaW50KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIC8qIFdoZW4gdGhlIFwiRXNjYXBlXCIga2V5IGlzIHByZXNzZWQsIGl0IGVtaXRzIGFuIGV2ZW50IHRvIHNldCB0aGUgdmFsdWUgb2YgXCJpc1VwbG9hZGVkXCIgdG9cclxuICBmYWxzZS4gYW5kIGxlZnQgcG9wdXAgd2lsbCBjbG9zZS4gKi9cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoXHJcbiAgICBldmVudDogS2V5Ym9hcmRFdmVudFxyXG4gICkge1xyXG4gICAgdGhpcy5zZXRJc1VwbG9hZGVkLmVtaXQoZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGRpYWxvZzogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlLFxyXG4gICAgLy8gcHJpdmF0ZSAgbGF5b3V0U2VydmljZTogTGF5b3V0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzbmFja2JhcjogU25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlclxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWRkUGFnZSgpO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLm51bWJlck9mUGFnZXMoKTtcclxuICAgIC8vIHRoaXMuaW5pdGlhbGl6ZUFzc2Vzc21lbnQoKTtcclxuICB9XHJcbiAgdHJpZ2dlclByZXZpZXdXaXRoVmFsaWRhdGlvbigpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICB9XHJcbiAgaW5pdGlhbGl6ZUFzc2Vzc21lbnQoYXNzZXNzbWVudERhdGE6IGFueSkge1xyXG4gICAgaWYgKGFzc2Vzc21lbnREYXRhKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UgPSBhc3Nlc3NtZW50RGF0YS5hc3Nlc3NtZW50RGF0YTtcclxuICAgICAgdGhpcy5hc3Nlc3NtZW50TmFtZSA9IGFzc2Vzc21lbnREYXRhLm1ldGFkYXRhLmFzc2Vzc21lbnRfbmFtZTtcclxuICAgICAgdGhpcy5hc3Nlc3NtZW50Q2F0ZWdvcnkgPSBhc3Nlc3NtZW50RGF0YS5tZXRhZGF0YS5jYXRlZ29yeV9hcnI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplQ2hlY2twb2ludChjaGVja3BvaW50RGF0YTogYW55KSB7XHJcbiAgICBpZiAoY2hlY2twb2ludERhdGEgJiYgT2JqZWN0LmtleXMoY2hlY2twb2ludERhdGEpPy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UgPSBjaGVja3BvaW50RGF0YTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEFsbFBhZ2VzKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gW1xyXG4gICAgICAuLi5uZXcgU2V0KFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubWFwKChlbGU6IGFueSkgPT4gZWxlLnBhZ2UpXHJcbiAgICAgICksXHJcbiAgICBdO1xyXG4gICAgdGhpcy5nZXRQYWdlTmFtZSgxKTtcclxuICB9XHJcblxyXG4gIGFkZFBhZ2VEZXRhaWxzKCkge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2cub3BlbihBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCwge1xyXG4gICAgICBkYXRhOiB7XHJcbiAgICAgICAgcGFnZTogdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyLFxyXG4gICAgICAgIHBhZ2VEZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLFxyXG4gICAgICAgIHJlZjogdGhpcy5lZGl0b3JTZXJ2aWNlLFxyXG4gICAgICB9LFxyXG4gICAgICBwb3NpdGlvbjogJ1JJR0hUJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gICAgcmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuZ2VuZXJhdGVQYWdlRHJvcGRvd24oKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGVudGl0eVNldHRpbmdzOiBhbnkgPSB7XHJcbiAgICBwYW5lbFRpdGxlOiAnJyxcclxuICB9O1xyXG5cclxuICBhc3Nlc3NtZW50U2V0dGluZ3MoKSB7XHJcbiAgICB0aGlzLmVudGl0eVNldHRpbmdzID0gdGhpcy5nZXRTZXR0aW5nc0RhdGEoKTtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQXNzZXNzbWVudFNldHRpbmdzQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgc2V0dGluZ3M6IHRoaXMuZW50aXR5U2V0dGluZ3MsIHNlcnZpY2U6IHRoaXMuZWRpdG9yU2VydmljZSB9LFxyXG4gICAgICBwb3NpdGlvbjogJ1JJR0hUJyxcclxuICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2V0dGluZ3NEYXRhKCkge1xyXG4gICAgbGV0IHNldHRpbmdzOiBhbnkgPSB7XHJcbiAgICAgIHBhbmVsVGl0bGU6IGBBc3Nlc3NtZW50IHNldHRpbmdzYCxcclxuXHJcbiAgICAgIHNldHRpbmdzRWxlbWVudHM6IFtdLFxyXG4gICAgfTtcclxuICAgIHNldHRpbmdzLnNldHRpbmdzRWxlbWVudHMucHVzaCh7XHJcbiAgICAgIHR5cGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgZW50aXR5VHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICAgIGlzRW5hYmxlZDogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy5hc3Nlc3NtZW50TW9kZSxcclxuICAgICAgaGVscGluZ1RleHQ6XHJcbiAgICAgICAgJ1lvdSBjYW4gY29uZmlndXJlIHNjb3JlcyBmb3IgdGhlIHF1ZXN0aW9ucyBhbmQgYW5hbHl6ZSB0aGUgcmVzcG9uc2VzIHN1Ym1pdHRlZCBieSB0aGUgcmVzcG9uZGVudCBiYXNlZCBvbiB0aGVzZSBzY29yZXMuJyxcclxuICAgICAgZGVmYXVsdFNjb3JlOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLmRlZmF1bHRTY29yZSxcclxuICAgICAgbmVnYXRpdmVTY29yZUNyaXRlcmlhOlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3MubmVnYXRpdmVTY29yZUNyaXRlcmlhLFxyXG4gICAgICBuZWdhdGl2ZVNjb3JlOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnNldHRpbmdzLm5lZ2F0aXZlU2NvcmUsXHJcbiAgICAgIHdlaWdodGFnZUVuYWJsZWQ6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3Mud2VpZ2h0YWdlRW5hYmxlZCxcclxuICAgICAgc2V0dGluZ1RpdGxlOiAnQVNTRVNTTUVOVCBNT0RFJyxcclxuICAgICAgc2V0dGluZ0VuYWJsZVRleHQ6IGBFbmFibGUgYXNzZXNzbWVudCBtb2RlIGZvciB0aGlzIGFzc2Vzc21lbnRgLFxyXG4gICAgICB1cGRhdGVUeXBlOiAnTEFaWScsXHJcbiAgICB9KTtcclxuICAgIHNldHRpbmdzLnNldHRpbmdzRWxlbWVudHMucHVzaCh7XHJcbiAgICAgIHR5cGU6ICdSRVNQT05TRV9TRUdNRU5UJyxcclxuICAgICAgZW50aXR5VHlwZTogJ0FTU0VTU01FTlQnLFxyXG4gICAgICBoZWxwaW5nVGV4dDpcclxuICAgICAgICAnUmVzcG9uc2Ugc2VnbWVudHMgbGV0IHlvdSBkaXZpZGUgdGhlIHJlc3BvbnNlcyBpbnRvIHNlcGFyYXRlIHBhcnRzIG9yIHNlY3Rpb25zIGZvciBlYXNpZXIgYW5hbHlzaXMgb2YgZGF0YSBhbmQgYXNzaXN0IGluIGRlY2lzaW9uIG1ha2luZy4nLFxyXG4gICAgICBpc1Zpc2libGU6IHRydWUsXHJcbiAgICAgIGlzRW5hYmxlZDpcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnJlc3BvbnNlU2VnbWVudFsnaXNFbmFibGVkJ10gPz8gZmFsc2UsXHJcbiAgICAgIHNldHRpbmdUaXRsZTogJ1JFU1BPTlNFIFNFR01FTlRTJyxcclxuICAgICAgc2V0dGluZ0VuYWJsZVRleHQ6IGBDb25maWd1cmUgUmVzcG9uc2UgU2VnbWVudHMgZm9yIHRoaXMgYXNzZXNzbWVudGAsXHJcbiAgICAgIHVwZGF0ZVR5cGU6ICdMQVpZJyxcclxuICAgICAgc2VnbWVudERhdGE6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucmVzcG9uc2VTZWdtZW50LFxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gc2V0dGluZ3M7XHJcbiAgfVxyXG5cclxuICBjbGlja0NvbGxhcHNlKCkge1xyXG4gICAgdGhpcy5zaG93Q29sbGFwc2UgPSAhdGhpcy5zaG93Q29sbGFwc2U7XHJcbiAgfVxyXG5cclxuICBjbGlja0V4cGFuZCgpIHtcclxuICAgIHRoaXMuZXhwYW5kUGFnZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZUV4cGFuZCgpIHtcclxuICAgIHRoaXMuZXhwYW5kUGFnZSA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGFnZSgpIHtcclxuICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oRGVsZXRlQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgbWVzc2FnZTogYFRoaXMgYWN0aW9uIHdpbGwgPHN0cm9uZz5yZW1vdmU8L3N0cm9uZz4gdGhpcyBwYWdlLmAgfSxcclxuICAgICAgcG9zaXRpb246ICdDRU5URVInLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnYmxhY2snLFxyXG4gICAgfSk7XHJcbiAgICByZWYuYWZ0ZXJDbG9zZWQuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcclxuICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVBhZ2VDb25maXJtKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVBhZ2VDb25maXJtKGNvbmZpcm1EZWxldGU6IGFueSkge1xyXG4gICAgaWYgKGNvbmZpcm1EZWxldGUpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzLmZpbHRlcihcclxuICAgICAgICAocGFnZU51bTogYW55KSA9PiBwYWdlTnVtICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXJcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyc0ZvckFsbFBhZ2VzKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlc1xyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCA9XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QuZmlsdGVyKFxyXG4gICAgICAgICAgKHBhZ2VEZXRhaWw6IGFueSkgPT5cclxuICAgICAgICAgICAgcGFnZURldGFpbC5wYWdlTnVtYmVyICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXJcclxuICAgICAgICApO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCA9XHJcbiAgICAgICAgdGhpcy51cGRhdGVQYWdlTnVtYmVyRm9yUGFnZURldGFpbHMoXHJcbiAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdFxyXG4gICAgICAgICk7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMgPVxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMuZmlsdGVyKFxyXG4gICAgICAgICAgKGVsZW1lbnREZXRhaWw6IGFueSkgPT5cclxuICAgICAgICAgICAgZWxlbWVudERldGFpbC5wYWdlICE9PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXJcclxuICAgICAgICApO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzID0gdGhpcy51cGRhdGVQYWdlTnVtYmVyRm9yUXVlc3Rpb25zKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHNcclxuICAgICAgKTtcclxuICAgICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA+IDEpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgLT0gMTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgICAgIHRoaXMuY2hlY2tGb3JQYWdlRGV0YWlscygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBhZ2VOdW1iZXJzRm9yQWxsUGFnZXMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5VG9CZVVwZGF0ZWQubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGkgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyIC0gMSkge1xyXG4gICAgICAgIGFycmF5VG9CZVVwZGF0ZWRbaV0gLT0gMTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYWdlTnVtYmVyRm9yUGFnZURldGFpbHMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBhcnJheVRvQmVVcGRhdGVkLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlbWVudC5wYWdlTnVtYmVyID49IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcikge1xyXG4gICAgICAgIGVsZW1lbnQucGFnZU51bWJlciAtPSAxO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheVRvQmVVcGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGFnZU51bWJlckZvclF1ZXN0aW9ucyhhcnJheVRvQmVVcGRhdGVkOiBhbnkpIHtcclxuICAgIGFycmF5VG9CZVVwZGF0ZWQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChlbGVtZW50LnBhZ2UgPj0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKSB7XHJcbiAgICAgICAgZWxlbWVudC5wYWdlIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFycmF5VG9CZVVwZGF0ZWQ7XHJcbiAgfVxyXG5cclxuICBvcGVuUXVlc3Rpb24oKSB7XHJcbiAgICB0aGlzLmhpZGVRdWVzdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBjbG9zZVF1ZXN0aW9uKCkge1xyXG4gICAgdGhpcy5oaWRlUXVlc3Rpb24gPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZVF1ZXN0aW9uV2l0aFZhbGlkYXRpb24oaW5kZXg6IGFueSkge1xyXG4gICAgaWYgKGluZGV4ID09PSAnd2VsY29tZScpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IDE7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9ICdwYWdlc2NyZWVuJztcclxuICAgIH1cclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5kZWxldGVRdWVzdGlvbihpbmRleCk7XHJcbiAgfVxyXG5cclxuICBjaGVja2ZvckVycm9yKG1vZGU/OiBhbnkpIHtcclxuICAgIGNvbnN0IGVycm9yUXVlc3Rpb25JbmRleCA9IHRoaXMuZWRpdG9yU2VydmljZT8uZm9ybXNQYWdlPy5lbGVtZW50cz8uZmluZEluZGV4KFxyXG4gICAgICAoZWxlbWVudDogYW55LCBpbmRleDogYW55KSA9PlxyXG4gICAgICAgIGVsZW1lbnQ/LmVycm9yQXJyYXkgJiZcclxuICAgICAgICBPYmplY3QudmFsdWVzKGVsZW1lbnQ/LmVycm9yQXJyYXkpPy5sZW5ndGggPiAwXHJcbiAgICApO1xyXG4gICAgaWYgKGVycm9yUXVlc3Rpb25JbmRleCA+PSAwKSB7XHJcbiAgICAgIGlmIChtb2RlID09PSAnZnVsbCcpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPVxyXG4gICAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50c1tlcnJvclF1ZXN0aW9uSW5kZXhdLnBhZ2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1vZGUgIT09ICdwYXJ0aWFsJykge1xyXG4gICAgICAgIC8vIHRoaXMuZ2V0UGFnZU5hbWUodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gZXJyb3JRdWVzdGlvbkluZGV4O1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoZXJyb3JRdWVzdGlvbkluZGV4KTtcclxuXHJcbiAgICAgICAgY29uc3QgcXVlc3Rpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcclxuICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHNbZXJyb3JRdWVzdGlvbkluZGV4XS5uYW1lXHJcbiAgICAgICAgKTtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgIGlmIChxdWVzdGlvbikge1xyXG4gICAgICAgICAgICBxdWVzdGlvbi5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdzdGFydCcgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMjAwKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobW9kZSA9PT0gJ3NhdmUnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobW9kZSA9PT0gJ3NhdmUnKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZVBhZ2VEcm9wZG93bigpIHtcclxuICAgIGNvbnN0IGxpc3QgPSBbXTtcclxuICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWUgPT09IHRydWUpIHtcclxuICAgICAgbGlzdC5wdXNoKHtcclxuICAgICAgICB2YWx1ZTogLTEsXHJcbiAgICAgICAgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+V2VsY29tZSBTY3JlZW48L3NwYW4+YCxcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3MgPT09IHRydWUpIHtcclxuICAgICAgbGlzdC5wdXNoKHtcclxuICAgICAgICB2YWx1ZTogLTIsXHJcbiAgICAgICAgdGVtcGxhdGU6IGA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyXCI+VGhhbmsgeW91IFNjcmVlbjwvc3Bhbj5gLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgIGxpc3QucHVzaCh7XHJcbiAgICAgICAgdmFsdWU6IGVsZW1lbnQsXHJcbiAgICAgICAgdGVtcGxhdGU6IHRoaXMuZ2V0UGFnZU5hbWVGb3JEcm9wZG93bihlbGVtZW50KSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbGlzdDtcclxuICB9XHJcblxyXG4gIGdldFBhZ2VOYW1lRm9yRHJvcGRvd24ocGFnZU51bWJlcjogYW55KSB7XHJcbiAgICBsZXQgcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXJcIj5QYWdlICR7cGFnZU51bWJlcn08L3NwYW4+YDtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0LmZvckVhY2goKHBhZ2VEZXRhaWw6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocGFnZURldGFpbC5wYWdlTnVtYmVyID09PSBwYWdlTnVtYmVyICYmIHBhZ2VEZXRhaWwucGFnZU5hbWUgIT09ICcnKSB7XHJcbiAgICAgICAgcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1sYWJlbCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPlBBR0U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+JHtwYWdlRGV0YWlsLnBhZ2VOdW1iZXJ9PC9zcGFuPmA7XHJcbiAgICAgICAgLy9wYWdlVmFsdWUgPSBgPHNwYW4gY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+UGFnZSA8L3NwYW4+IDxzcGFuICR7cGFnZURldGFpbC5wYWdlTnVtYmVyfTwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+ICR7cGFnZURldGFpbC5wYWdlTmFtZX08L3NwYW4+YDtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcGFnZVZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcGFnZUNoYW5nZWQoZXZ0OiBhbnkpIHtcclxuICAgIGlmIChldnQudmFsdWUgPT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcignd2VsY29tZXNjcmVlbicpO1xyXG4gICAgfSBlbHNlIGlmIChldnQudmFsdWUgPT09IC0yKSB7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcigndGhhbmt5b3VzY3JlZW4nKTtcclxuICAgIH0gZWxzZSBpZiAoZXZ0LnZhbHVlID49IDApIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gZXZ0Py52YWx1ZTtcclxuICAgICAgdGhpcy5zZXRJZGVudGlmaWVyKCdwYWdlc2NyZWVuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRJZGVudGlmaWVyKHNjcmVlbjogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZVRvSW5hY3RpdmUoKTtcclxuICAgIGlmIChzY3JlZW4gPT09ICd3ZWxjb21lc2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAnd2VsY29tZXNjcmVlbic7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IC0xO1xyXG4gICAgfVxyXG4gICAgaWYgKHNjcmVlbiA9PT0gJ3RoYW5reW91c2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAndGhhbmt5b3VzY3JlZW4nO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAtMjtcclxuICAgIH1cclxuICAgIGlmIChzY3JlZW4gPT09ICdwYWdlc2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAncGFnZXNjcmVlbic7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFkZFBhZ2UoKTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAxO1xyXG4gICAgICB9IGVsc2UgaWYgKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9PT0gLTEgfHxcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPT09IC0yXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9XHJcbiAgICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMubGVuZ3RoO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlTmFtZShwYWdlTnVtYmVyOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMgPSB7XHJcbiAgICAgIHBhZ2VOYW1lOiAnJyxcclxuICAgICAgcGFnZU51bWJlcjogMCxcclxuICAgICAgcGFnZURlc2NyaXB0aW9uOiAnJyxcclxuICAgIH07XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdC5mb3JFYWNoKChwYWdlRGV0YWlsOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHBhZ2VEZXRhaWwucGFnZU51bWJlciA9PT0gcGFnZU51bWJlcikge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZU51bWJlciA9XHJcbiAgICAgICAgICBwYWdlRGV0YWlsLnBhZ2VOdW1iZXI7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZSA9IHBhZ2VEZXRhaWwucGFnZU5hbWU7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlRGVzY3JpcHRpb24gPVxyXG4gICAgICAgICAgcGFnZURldGFpbC5wYWdlRGVzY3JpcHRpb247XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5jaGVja0ZvclBhZ2VEZXRhaWxzKCk7XHJcbiAgfVxyXG5cclxuICBjaGVja0ZvclBhZ2VEZXRhaWxzKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzID09PSB1bmRlZmluZWQgfHxcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZSA9PT0gJydcclxuICAgICkge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSB0cnVlO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzID0gZmFsc2U7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd0FkZFBhZ2VPcHRpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUb0luYWN0aXZlKCkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTU7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KC01KTtcclxuICB9XHJcblxyXG4gIGFkZE5ld1BhZ2UoKSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWRkUGFnZSgpO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscyA9IHtcclxuICAgICAgcGFnZU5hbWU6ICcnLFxyXG4gICAgICBwYWdlTnVtYmVyOiB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIsXHJcbiAgICAgIHBhZ2VEZXNjcmlwdGlvbjogJycsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2VuZXJhdGVQYWdlRHJvcGRvd24oKTtcclxuICB9XHJcblxyXG4gIGNhcGl0YWxpemVTdHJpbmcoc3RyaW5nVmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHN0cmluZ1ZhbHVlWzBdLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmdWYWx1ZS5zbGljZSgxKTtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlUGFnZUNsaWNrKCkge1xyXG4gICAgLy8gdGhpcy5zaG93RGVsZXRlUG9wdXAgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaXNQYWdlRW1wdHkoKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFbXHJcbiAgICAgICAgLi4ubmV3IFNldChcclxuICAgICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubWFwKFxyXG4gICAgICAgICAgICAoZWxlbWVudDogYW55KSA9PiBlbGVtZW50LnBhZ2VcclxuICAgICAgICAgIClcclxuICAgICAgICApLFxyXG4gICAgICBdLmluY2x1ZGVzKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcilcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHN1Ym1pdEFmdGVyRXJyb3JDaGVjayhtb2RlOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IC0xMDtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09PSAnd2VsY29tZXNjcmVlbicgfHxcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09PSAndGhhbmt5b3VzY3JlZW4nXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gMTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID0gJ3BhZ2VzY3JlZW4nO1xyXG4gICAgfVxyXG4gICAgLy90aGlzLnBhZ2VNb2RlID0gJ0VESVQnO1xyXG5cclxuICAgIHRoaXMudmFsaWRhdGVXZWxjb21lVGhhbmtZb3UoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgaWYgKCF0aGlzLmNoZWNrZm9yRXJyb3IoJ2Z1bGwnKSkge1xyXG4gICAgICAgIGZvciAoY29uc3QgcXVlc3Rpb24gb2YgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cykge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhWydjaGVja2JveCcsICdkcm9wZG93bicsICdtdWx0aXBsZS1jaG9pY2UnXS5pbmNsdWRlcyhxdWVzdGlvbi50eXBlKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGlmIChxdWVzdGlvbi5jaG9pY2VzKSB7XHJcbiAgICAgICAgICAgICAgcXVlc3Rpb24uY2hvaWNlcy5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuY29sb3IgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjb3JlID0gMTtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuaXNGYWlsZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBxdWVzdGlvbi5vdGhlckNvbmZpZyA9IHsgY29sb3I6ICcnLCBpc0ZhaWxlZDogZmFsc2UsIHNjb3JlOiAwIH07XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2F2ZShtb2RlKTtcclxuICAgICAgfVxyXG4gICAgfSwgMjAwKTtcclxuICB9XHJcblxyXG4gIHZhbGlkYXRlV2VsY29tZVRoYW5rWW91KCkge1xyXG4gICAgY29uc3QgcXVlc3Rpb24gPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlO1xyXG4gICAgaWYgKHF1ZXN0aW9uLmhhc1dlbGNvbWUgPT09IHRydWUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1dlbGNvbWVEZXNjcmlwdGlvbiA9PT0gdHJ1ZSAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZURlc2NyaXB0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1dlbGNvbWVJbWFnZSA9PT0gdHJ1ZSAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVJbWFnZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZUltYWdlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZVRleHQpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVJbWFnZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZURlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWVJbWFnZSA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChxdWVzdGlvbi5oYXNUaGFua3MgPT09IHRydWUpIHtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1RoYW5reW91RGVzY3JpcHRpb24gPT09IHRydWUgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdURlc2NyaXB0aW9uKS5sZW5ndGggPT09IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdURlc2NyaXB0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHF1ZXN0aW9uLmhhc1RoYW5reW91SW1hZ2UgPT09IHRydWUgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdUltYWdlKS5sZW5ndGggPT09IDBcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdUltYWdlID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91RGVzY3JpcHRpb24pLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91VGV4dCkubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24udGhhbmt5b3VJbWFnZSkubGVuZ3RoID09PSAwXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmtzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdURlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5reW91SW1hZ2UgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlKG1vZGU6ICdEUkFGVCcgfCAnQUNUSVZFJykge1xyXG4gICAgaWYgKG1vZGUgPT09ICdBQ1RJVkUnICYmIHRoaXMub3BlblBvcnRhbCAhPT0gJ1JFU1BPTlNJQklMSVRZX0NIRUNLUE9JTlQnKSB7XHJcbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aXZlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgbWVzc2FnZTogYE9uY2UgcHVibGlzaGVkLCB0aGlzIGFzc2Vzc21lbnQgd2lsbCBiZSBhY3RpdmUgYW5kIGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggYSBjb21wbGlhbmNlIHJlc3BvbnNpYmlsaXR5LmAsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBwb3NpdGlvbjogJ0NFTlRFUicsXHJcbiAgICAgICAgYmFja2dyb3VuZDogJ2JsYWNrJyxcclxuICAgICAgfSk7XHJcbiAgICAgIHJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyA9PT0gdHJ1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLnBvc3RBc3Nlc3NtZW50LmVtaXQoe1xyXG4gICAgICAgICAgICAgIG1vZGU6IG1vZGUsXHJcbiAgICAgICAgICAgICAgYXNzZXNzbWVudERldGFpbHM6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wb3N0QXNzZXNzbWVudC5lbWl0KHtcclxuICAgICAgICBtb2RlOiBtb2RlLFxyXG4gICAgICAgIGFzc2Vzc21lbnREZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICAqbmdJZj1cInBhZ2VNb2RlID09PSAnRURJVCdcIlxyXG4gICAgY2xhc3M9XCJjcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXJcIlxyXG4gICAgW2NsYXNzLmZ1bGwtcGFnZV09XCJleHBhbmRQYWdlXCJcclxuICA+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY3JlYXRlLWFzc2Vzc21lbnQtaGVhZCB2eC1wLTIgdngtcGwtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktYmV0d2VlblwiXHJcbiAgICA+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImxlZnQgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgW2NsYXNzLndpdGgtdGVtcGxhdGUtYnRuXT1cImZhbHNlXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAqbmdJZj1cImFzc2Vzc21lbnRDb250cm9sSWRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJpZCB2eC1mcy0xMCB2eC1mdy01MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1tci0yXCJcclxuICAgICAgICAgID57eyBhc3Nlc3NtZW50Q29udHJvbElkIH19PC9zcGFuXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxpXHJcbiAgICAgICAgICAqbmdJZj1cIm9wZW5Qb3J0YWwgPT09ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJ1wiXHJcbiAgICAgICAgICBjbGFzcz1cImljb25zIGFycm93LWJhY2sgdngtbXItMVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwic2V0SXNVcGxvYWRlZC5lbWl0KGZhbHNlKVwiXHJcbiAgICAgICAgICA+JiN4ZTkxZDs8L2lcclxuICAgICAgICA+XHJcbiAgICAgICAgPHNwYW5cclxuICAgICAgICAgIGNsYXNzPVwiaGVhZGluZyB2eC1mcy0xNCB2eC1mdy01MDAgdngtbGFiZWwtdHh0XCJcclxuICAgICAgICAgIFthcHBUb29sdGlwXT1cIlxyXG4gICAgICAgICAgICBvcGVuUG9ydGFsID09PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcclxuICAgICAgICAgICAgICA/ICdBZGQgQ2hlY2twb2ludHMnXHJcbiAgICAgICAgICAgICAgOiBhc3Nlc3NtZW50TmFtZVxyXG4gICAgICAgICAgXCJcclxuICAgICAgICAgIHBsYWNlbWVudD1cImJvdHRvbS1sZWZ0XCJcclxuICAgICAgICAgIGRlbGF5PVwiMFwiXHJcbiAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBNYW5kYXRvcnldPVwiZmFsc2VcIlxyXG4gICAgICAgICAgPnt7XHJcbiAgICAgICAgICAgIG9wZW5Qb3J0YWwgPT09IFwiUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVFwiXHJcbiAgICAgICAgICAgICAgPyBcIkFkZCBDaGVja3BvaW50c1wiXHJcbiAgICAgICAgICAgICAgOiBhc3Nlc3NtZW50TmFtZVxyXG4gICAgICAgICAgfX08L3NwYW5cclxuICAgICAgICA+XHJcbiAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiZWRpdC1idG4gdngtZnMtMTQgdngtdHh0LWJsdWUgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+PGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5YmE7PC9pPjwvYnV0dG9uPiAtLT5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJyaWdodCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJwYWdlLWRyb3Bkb3duIHZ4LXAtMCB2eC1wbC0xIHZ4LXByLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgYXBwUG9wb3ZlclxyXG4gICAgICAgICAgKGNsaWNrKT1cImFjdGlvbi5wb3BvdmVyKClcIlxyXG4gICAgICAgICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgIGNsYXNzPVwicGFnZS1sYWJlbCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA+IDBcIlxyXG4gICAgICAgICAgICA+UEFHRSB7eyBlZGl0b3JTZXJ2aWNlPy5jdXJyZW50UGFnZU51bWJlciB9fTwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID09PSAtMVwiXHJcbiAgICAgICAgICAgID5XZWxjb21lIFNjcmVlbjwvc3BhblxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCJcclxuICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID09PSAtMlwiXHJcbiAgICAgICAgICAgID5UaGFua3lvdSBTY3JlZW48L3NwYW5cclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCIgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyPT0ncGFnZXNjcmVlbidcIj57e2VkaXRvclNlcnZpY2U/LmN1cnJlbnRQYWdlRGV0YWlscz8ucGFnZU5hbWV9fTwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zIGFycm93IHZ4LWZzLTEwIHZ4LXBhcmFncmFwaC10eHRcIj4mI3hlOWU4OzwvaT5cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICA8YXBwLXBvcG92ZXIgI2FjdGlvbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwYWdlLWRyb3Bkb3duLXBvcHVwXCI+XHJcbiAgICAgICAgICAgIDx1bCBjbGFzcz1cInZ4LXAtMCB2eC1tLTBcIj5cclxuICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgZGF0YSBvZiBnZW5lcmF0ZVBhZ2VEcm9wZG93bigpXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwidngtZC1ibG9jayB2eC1wLTIgdngtbS0wIHZ4LXctMTAwXCJcclxuICAgICAgICAgICAgICAgICAgW2lubmVySFRNTF09XCJkYXRhPy50ZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJwYWdlQ2hhbmdlZChkYXRhKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJwYWdlLWxhYmVsIHZ4LWZzLTkgdngtZnctNjAwIHZ4LXR0LXVwcGVyY2FzZSB2eC1wbC0xIHZ4LXByLTEgdngtbXItMiB2eC1saC0zXCI+UEFHRTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+MTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3tkYXRhfGpzb259fSAtLT5cclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICBjbGFzcz1cImFjdGlvbi1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWVuZCB2eC1wLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImFkZE5ld1BhZ2UoKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImFkZC1wYWdlIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEFERCBORVcgUEFHRVxyXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvYXBwLXBvcG92ZXI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgY2xhc3M9XCJzZXR0aW5ncy1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtbGgtNiB2eC1wLTAgdngtcGwtMiB2eC1wci0yIHZ4LW0tMCB2eC1tbC0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImFzc2Vzc21lbnRTZXR0aW5ncygpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTEyIHZ4LWQtZmxleCB2eC1tci0xXCI+JiN4ZTkxMzs8L2k+IEFTU0VTU01FTlRcclxuICAgICAgICAgIFNFVFRJTkdTXHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgKm5nSWY9XCJmYWxzZVwiXHJcbiAgICAgICAgICBjbGFzcz1cInRlbXBsYXRlLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1saC02IHZ4LXAtMCB2eC1wbC0yIHZ4LXByLTIgdngtbS0wIHZ4LW1sLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1kLWZsZXggdngtbXItMVwiPiYjeGU5ZWQ7PC9pPiBTQVZFIEFTXHJcbiAgICAgICAgICBURU1QTEFURVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNyZWF0ZS1hc3Nlc3NtZW50LWJvZHlcIj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT0gJ3BhZ2VzY3JlZW4nXCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImlzUGFnZUVtcHR5KClcIiBjbGFzcz1cInNlbGVjdC1xdWVzdGlvbi1wYXJ0XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicXVlc3Rpb24taW5uZXIgdngtcGwtNSB2eC1tYi00XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwicGFnZS10aXRsZSB2eC1mcy0xMSB2eC1mdy02MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1sLTEgdngtbXItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LXctMTAwXCIgKGNsaWNrKT1cImFkZFBhZ2VEZXRhaWxzKClcIj48aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2IHZ4LW1yLTFcIj4mI3hlOTBhOzwvaT4gUEFHRSBUSVRMRTwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImhlYWRpbmcgdngtZnMtMTggdngtcGFyYWdyYXBoLXR4dCB2eC10ZXh0LWNlbnRlciB2eC13LTEwMFwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgU2VsZWN0IGEgcXVlc3Rpb24gdHlwZSB0byBiZWdpbjpcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLXF1ZXN0aW9uLXR5cGVcclxuICAgICAgICAgICAgICAgIChhZGRRdWVzdGlvbik9XCJlZGl0b3JTZXJ2aWNlLmFkZFF1ZXN0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgID48L2FwcC1xdWVzdGlvbi10eXBlPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbG9hdGluZy1iYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsb2F0aW5nLWJhci1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicmlnaHRcIj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJjYW5jZWxcIiAoY2xpY2spPVwic2V0SXNVcGxvYWRlZC5lbWl0KGZhbHNlKVwiPlxyXG4gICAgICAgICAgICAgICAgICBDYW5jZWxcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwhLS0gPG5nLXRlbXBsYXRlICNlbHNlQmxvY2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YXBwLWVkaXRvci1sb2FkZXI+PC9hcHAtZWRpdG9yLWxvYWRlcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT4gLS0+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICpuZ0lmPVwiIWlzUGFnZUVtcHR5KCkgfHwgZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA8IDBcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZWN0aW9uXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZWRpdG9yLXNlY3Rpb24tYm9keSB2eC1kLWZsZXhcIj5cclxuICAgICAgICAgICAgPGFwcC10b29sa2l0XHJcbiAgICAgICAgICAgICAgKGFkZFF1ZXN0aW9uKT1cImVkaXRvclNlcnZpY2UuYWRkUXVlc3Rpb24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2FwcC10b29sa2l0PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImVkaXRvci1zZWN0aW9uLWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgPGFwcC13ZWxjb21lLXRoYW5reW91XHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT0gJ3dlbGNvbWVzY3JlZW4nXCJcclxuICAgICAgICAgICAgICAgIFtlbnRpdHlEYXRhXT1cImVkaXRvclNlcnZpY2U/LmZvcm1zUGFnZVwiXHJcbiAgICAgICAgICAgICAgICBbc2VydmljZV09XCJlZGl0b3JTZXJ2aWNlXCJcclxuICAgICAgICAgICAgICAgIChkZWxldGVRdWVzdGlvbik9XCJkZWxldGVRdWVzdGlvbldpdGhWYWxpZGF0aW9uKCd3ZWxjb21lJylcIlxyXG4gICAgICAgICAgICAgID48L2FwcC13ZWxjb21lLXRoYW5reW91PlxyXG4gICAgICAgICAgICAgIDwhLS0gPGFwcC1wcmV2aWV3LXdlbGNvbWU+PC9hcHAtcHJldmlldy13ZWxjb21lPiAtLT5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPT0gJ3BhZ2VzY3JlZW4nXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9PSAncGFnZXNjcmVlbicgJiZcclxuICAgICAgICAgICAgICAgICAgICBlZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGFnZS10aXRsZSB2eC1mcy0xMSB2eC1mdy02MDAgdngtbGFiZWwtdHh0IHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1iLTIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC13LTEwMFwiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGRQYWdlRGV0YWlscygpXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xNiB2eC1tci0xXCI+JiN4ZTkwYTs8L2k+IFBBR0UgVElUTEVcclxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1wYWdlLWhlYWRlclxyXG4gICAgICAgICAgICAgICAgICAoZWRpdCk9XCJhZGRQYWdlRGV0YWlscygpXCJcclxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAgICAgICBlZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09ICdwYWdlc2NyZWVuJyAmJlxyXG4gICAgICAgICAgICAgICAgICAgIGVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdlTmFtZV09XCJlZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtwYWdlRGVzY3JpcHRpb25dPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZURlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+PC9hcHAtcGFnZS1oZWFkZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyXHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cIlxyXG4gICAgICAgICAgICAgICAgICAgIGxldCBxdWVzdGlvbiBvZiBlZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cztcclxuICAgICAgICAgICAgICAgICAgICBsZXQgcXVlc3Rpb25JbmRleCA9IGluZGV4XHJcbiAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgcXVlc3Rpb24ucGFnZSA9PT0gZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9PSAncGFnZXNjcmVlbidcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1lZGl0b3Itd3JhcHBlclxyXG4gICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID09PSBxdWVzdGlvbkluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtzZXJ2aWNlXT1cImVkaXRvclNlcnZpY2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3F1ZXN0aW9uXT1cInF1ZXN0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgIFtxdWVzdGlvbkluZGV4XT1cInF1ZXN0aW9uSW5kZXhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW29wZW5Qb3J0YWxdPVwib3BlblBvcnRhbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAodmFsaWRRdWVzdGlvbkRhdGEpPVwiY2hlY2tmb3JFcnJvcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVRdWVzdGlvbik9XCJkZWxldGVRdWVzdGlvbldpdGhWYWxpZGF0aW9uKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgKGNvcHlRdWVzdGlvbik9XCJlZGl0b3JTZXJ2aWNlLmNvcHlRdWVzdGlvbigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICA+PC9hcHAtZWRpdG9yLXdyYXBwZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1wcmV2aWV3LXdyYXBwZXJcclxuICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiAhPT0gcXVlc3Rpb25JbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBbcXVlc3Rpb25dPVwicXVlc3Rpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgW3F1ZXN0aW9uSW5kZXhdPVwicXVlc3Rpb25JbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAobWFrZUFjdGl2ZVF1ZXN0aW9uKT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gJGV2ZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L2FwcC1wcmV2aWV3LXdyYXBwZXI+XHJcbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibmV4dC1xdWVzdGlvbi1hcmVhXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInBhZ2UtdGl0bGUgdngtZnMtMTEgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUXVlc3Rpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2IHZ4LW1yLTFcIj4mI3hlOTBhOzwvaT4gTkVYVCBRVUVTVElPTlxyXG4gICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5leHQtcXVlc3Rpb24tcG9wdXAgdngtcC0zXCIgKm5nSWY9XCJoaWRlUXVlc3Rpb25cIj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLXF1ZXN0aW9uLXR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgIChhZGRRdWVzdGlvbik9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yU2VydmljZS5hZGRRdWVzdGlvbigkZXZlbnQpOyBjbG9zZVF1ZXN0aW9uKClcclxuICAgICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvYXBwLXF1ZXN0aW9uLXR5cGU+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvdmVybGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhpZGVRdWVzdGlvblwiXHJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUXVlc3Rpb24oKVwiXHJcbiAgICAgICAgICAgICAgICAgID48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAqbmdJZj1cIm9wZW5Qb3J0YWwgIT09ICdSRVNQT05TSUJJTElUWV9DSEVDS1BPSU5UJ1wiXHJcbiAgICAgICAgICAgICAgICAgIChjbGljayk9XCJhZGROZXdQYWdlKClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cInBhZ2UtdGl0bGUgdngtZnMtMTEgdngtZnctNjAwIHZ4LWxhYmVsLXR4dCB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1tYi0yIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtdy0xMDBcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zIHZ4LWZzLTE2IHZ4LW1yLTFcIj4mI3hlOTBhOzwvaT4gQUREIE5FVyBQQUdFXHJcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJyaWdodC1zaWRlLWJ0blwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsICE9PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZXhwYW5kUGFnZVwiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xpY2tFeHBhbmQoKVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZ1bGxzY3JlZW4tYnRuIHZ4LWZzLTE0IHZ4LXR4dC1ibHVlIHZ4LXAtMCB2eC1tLTAgdngtbWItMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgICAgIFthcHBUb29sdGlwXT1cIidFeHBhbmQgUGFnZSdcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgICBkZWxheT1cIjBcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImJsYWNrXCJcclxuICAgICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiaWNvbnNcIj4mI3hlOTQ1OzwvaT5cclxuICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAqbmdJZj1cImV4cGFuZFBhZ2VcIlxyXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlRXhwYW5kKClcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmdWxsc2NyZWVuLWJ0biB2eC1mcy0xNCB2eC10eHQtYmx1ZSB2eC1wLTAgdngtbS0wIHZ4LW1iLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInU2hyaW5rIFBhZ2UnXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxyXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTk0NDs8L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJlZGl0b3JTZXJ2aWNlLnN0ZXBJZGVudGlmaWVyID09ICdwYWdlc2NyZWVuJ1wiXHJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwiZGVsZXRlUGFnZSgpXCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ0biB2eC1mcy0xNCB2eC10eHQtcmVkIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgICBbYXBwVG9vbHRpcF09XCInRGVsZXRlIFBhZ2UnXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlbWVudD1cImxlZnRcIlxyXG4gICAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJibGFja1wiXHJcbiAgICAgICAgICAgICAgICBbdG9vbHRpcE1hbmRhdG9yeV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkyMzs8L2k+XHJcbiAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgIGNsYXNzPVwiZWRpdG9yLXNlY3Rpb24tZm9vdGVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXIgdngtbXQtNFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAoY2xpY2spPVwic2V0SXNVcGxvYWRlZC5lbWl0KGZhbHNlKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjYW5jZWwtYnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC10eHQtcmVkIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtbS0wIHZ4LW1sLTEgdngtbXItMSB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIENBTkNFTFxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlblBvcnRhbCA9PT0gJ0FTU0VTU01FTlRfSU1QT1JUJ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdEFmdGVyRXJyb3JDaGVjaygnRFJBRlQnKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImFzc2Vzc21lbnRDdXJyZW50U3RhdGUgPT09ICdBQ1RJVkUnXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cIndoaXRlLWJ0biB2eC1mcy0xNCB2eC1mdy01MDAgdngtdHh0LWJsdWUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtbWwtMSB2eC1tci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgU0FWRSBBUyBEUkFGVFxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwib3BlblBvcnRhbCA9PT0gJ0FTU0VTU01FTlRfSU1QT1JUJ1wiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInN1Ym1pdEFmdGVyRXJyb3JDaGVjaygnQUNUSVZFJylcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYmx1ZS1idG4gdngtZnMtMTQgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LW0tMCB2eC1tbC0xIHZ4LW1yLTEgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBQVUJMSVNIXHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJvcGVuUG9ydGFsID09PSAnUkVTUE9OU0lCSUxJVFlfQ0hFQ0tQT0lOVCdcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJzdWJtaXRBZnRlckVycm9yQ2hlY2soJ0FDVElWRScpXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cImJsdWUtYnRuIHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC10eHQtd2hpdGUgdngtdHQtdXBwZXJjYXNlIHZ4LXAtMCB2eC1tLTAgdngtbWwtMSB2eC1tci0xIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgTkVYVCAmbmJzcDs8aSBjbGFzcz1cImljb25zXCI+JiN4ZTkxZTs8L2k+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICA8IS0tIDxidXR0b24gKGNsaWNrKT1cInBhZ2VNb2RlID0gJ1BSRVZJRVcnXCIgY2xhc3M9XCJwcmV2aWV3LWJ0biB2eC1mcy0yMCB2eC10eHQtd2hpdGUgdngtcC0wIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCIgW2FwcFRvb2x0aXBdPVwiJ1ByZXZpZXcnXCIgcGxhY2VtZW50PVwibGVmdFwiIGRlbGF5PVwiMFwiIHR5cGU9XCJibGFja1wiIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIj48aSBjbGFzcz1cImljb25zXCI+JiN4ZWFlNTs8L2k+PC9idXR0b24+IC0tPlxyXG4gICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJjbG9zZS1idG4gdngtZnMtMTIgdngtdHh0LXdoaXRlIHZ4LXAtMCB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiXHJcbiAgICAgICAgICAgICAgW2FwcFRvb2x0aXBdPVwiJ0Nsb3NlJ1wiXHJcbiAgICAgICAgICAgICAgcGxhY2VtZW50PVwibGVmdFwiXHJcbiAgICAgICAgICAgICAgZGVsYXk9XCIwXCJcclxuICAgICAgICAgICAgICB0eXBlPVwiYmxhY2tcIlxyXG4gICAgICAgICAgICAgIFt0b29sdGlwTWFuZGF0b3J5XT1cInRydWVcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGkgY2xhc3M9XCJpY29uc1wiPiYjeGU5MGQ7PC9pPlxyXG4gICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gPGFwcC1hc3Nlc3NtZW50LXByZXZpZXctY29udGFpbmVyICpuZ0lmPVwicGFnZU1vZGUgPT09ICdQUkVWSUVXJ1wiIFtxdWVzdGlvbkRldGFpbHNdPVwiZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2VcIj48L2FwcC1hc3Nlc3NtZW50LXByZXZpZXctY29udGFpbmVyPiAtLT5cclxuPC9uZy1jb250YWluZXI+XHJcblxyXG48IS0tIDxhcHAtZWRpdG9yLWxvYWRlciAqbmdJZj1cIiFpc0xvYWRlZFwiPjwvYXBwLWVkaXRvci1sb2FkZXI+IC0tPlxyXG4iXX0=