vcomply-workflow-engine 0.2.2 → 1.0.2

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 (507) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +6561 -171
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.js +18 -25
  4. package/esm2015/lib/add-multiple-responsibility/add-multiple-responsibility.component.ngfactory.js +2 -2
  5. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +1 -1
  6. package/esm2015/lib/log-an-issue/log-an-issue.component.js +1 -1
  7. package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.js +333 -0
  8. package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngfactory.js +160 -0
  9. package/esm2015/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngsummary.json +1 -0
  10. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.js +73 -0
  11. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.js +39 -0
  12. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngsummary.json +1 -0
  13. package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.js +27 -0
  14. package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngfactory.js +153 -0
  15. package/esm2015/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngsummary.json +1 -0
  16. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.js +116 -0
  17. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.js +116 -0
  18. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngsummary.json +1 -0
  19. package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.js +165 -0
  20. package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngfactory.js +85 -0
  21. package/esm2015/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngsummary.json +1 -0
  22. package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.js +71 -0
  23. package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.ngfactory.js +17 -0
  24. package/esm2015/lib/sharedComponents/assessment-editor/components/build/build.module.ngsummary.json +1 -0
  25. package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.js +35 -0
  26. package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngfactory.js +89 -0
  27. package/esm2015/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngsummary.json +1 -0
  28. package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.js +66 -0
  29. package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngfactory.js +72 -0
  30. package/esm2015/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngsummary.json +1 -0
  31. package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.js +18 -0
  32. package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngfactory.js +51 -0
  33. package/esm2015/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngsummary.json +1 -0
  34. package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.js +35 -0
  35. package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngfactory.js +104 -0
  36. package/esm2015/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngsummary.json +1 -0
  37. package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.js +15 -0
  38. package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngfactory.js +20 -0
  39. package/esm2015/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngsummary.json +1 -0
  40. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.js +15 -0
  41. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngfactory.js +17 -0
  42. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngsummary.json +1 -0
  43. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.js +15 -0
  44. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngfactory.js +17 -0
  45. package/esm2015/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngsummary.json +1 -0
  46. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.js +35 -0
  47. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngfactory.js +104 -0
  48. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngsummary.json +1 -0
  49. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.js +15 -0
  50. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngfactory.js +17 -0
  51. package/esm2015/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngsummary.json +1 -0
  52. package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.js +15 -0
  53. package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngfactory.js +17 -0
  54. package/esm2015/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngsummary.json +1 -0
  55. package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.js +15 -0
  56. package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngfactory.js +17 -0
  57. package/esm2015/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngsummary.json +1 -0
  58. package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.js +26 -0
  59. package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngfactory.js +60 -0
  60. package/esm2015/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngsummary.json +1 -0
  61. package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.js +15 -0
  62. package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngfactory.js +17 -0
  63. package/esm2015/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngsummary.json +1 -0
  64. package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.js +55 -0
  65. package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngfactory.js +51 -0
  66. package/esm2015/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngsummary.json +1 -0
  67. package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.js +15 -0
  68. package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngfactory.js +17 -0
  69. package/esm2015/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngsummary.json +1 -0
  70. package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.js +152 -0
  71. package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngfactory.js +205 -0
  72. package/esm2015/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngsummary.json +1 -0
  73. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/error.js +2 -0
  74. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/error.ngsummary.json +1 -0
  75. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/question.js +2 -0
  76. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/question.ngsummary.json +1 -0
  77. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.js +2 -0
  78. package/esm2015/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.ngsummary.json +1 -0
  79. package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.js +100 -0
  80. package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngfactory.js +119 -0
  81. package/esm2015/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngsummary.json +1 -0
  82. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.js +24 -0
  83. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngfactory.js +59 -0
  84. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngsummary.json +1 -0
  85. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.js +15 -0
  86. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngfactory.js +17 -0
  87. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngsummary.json +1 -0
  88. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.js +37 -0
  89. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngfactory.js +105 -0
  90. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngsummary.json +1 -0
  91. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.js +31 -0
  92. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngfactory.js +22 -0
  93. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngsummary.json +1 -0
  94. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.js +15 -0
  95. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngfactory.js +37 -0
  96. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngsummary.json +1 -0
  97. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.js +24 -0
  98. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngfactory.js +59 -0
  99. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngsummary.json +1 -0
  100. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.js +15 -0
  101. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngfactory.js +35 -0
  102. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngsummary.json +1 -0
  103. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.js +64 -0
  104. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngfactory.js +21 -0
  105. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngsummary.json +1 -0
  106. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.js +15 -0
  107. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngfactory.js +36 -0
  108. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngsummary.json +1 -0
  109. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.js +24 -0
  110. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngfactory.js +36 -0
  111. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngsummary.json +1 -0
  112. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.js +15 -0
  113. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngfactory.js +17 -0
  114. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngsummary.json +1 -0
  115. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.js +15 -0
  116. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngfactory.js +40 -0
  117. package/esm2015/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngsummary.json +1 -0
  118. package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.js +95 -0
  119. package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.ngfactory.js +102 -0
  120. package/esm2015/lib/sharedComponents/assessment-editor/components/move/move.component.ngsummary.json +1 -0
  121. package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.js +22 -0
  122. package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngfactory.js +23 -0
  123. package/esm2015/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngsummary.json +1 -0
  124. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.js +18 -0
  125. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.ngsummary.json +1 -0
  126. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.js +23 -0
  127. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.ngsummary.json +1 -0
  128. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.js +17 -0
  129. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.ngsummary.json +1 -0
  130. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.js +13 -0
  131. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.ngsummary.json +1 -0
  132. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.js +12 -0
  133. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.ngsummary.json +1 -0
  134. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.js +17 -0
  135. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.ngsummary.json +1 -0
  136. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.js +12 -0
  137. package/esm2015/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.ngsummary.json +1 -0
  138. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.js +28 -0
  139. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngfactory.js +22 -0
  140. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngsummary.json +1 -0
  141. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.js +15 -0
  142. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngfactory.js +17 -0
  143. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngsummary.json +1 -0
  144. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.js +31 -0
  145. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngfactory.js +81 -0
  146. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngsummary.json +1 -0
  147. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.js +31 -0
  148. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngfactory.js +19 -0
  149. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngsummary.json +1 -0
  150. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.js +23 -0
  151. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngfactory.js +20 -0
  152. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngsummary.json +1 -0
  153. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.js +15 -0
  154. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngfactory.js +37 -0
  155. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngsummary.json +1 -0
  156. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.js +24 -0
  157. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngfactory.js +60 -0
  158. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngsummary.json +1 -0
  159. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.js +24 -0
  160. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngfactory.js +60 -0
  161. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngsummary.json +1 -0
  162. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.js +28 -0
  163. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngfactory.js +22 -0
  164. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngsummary.json +1 -0
  165. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.js +15 -0
  166. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngfactory.js +35 -0
  167. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngsummary.json +1 -0
  168. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.js +15 -0
  169. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngfactory.js +36 -0
  170. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngsummary.json +1 -0
  171. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.js +18 -0
  172. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngfactory.js +17 -0
  173. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngsummary.json +1 -0
  174. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.js +15 -0
  175. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngfactory.js +17 -0
  176. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngsummary.json +1 -0
  177. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.js +15 -0
  178. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngfactory.js +40 -0
  179. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngsummary.json +1 -0
  180. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.js +67 -0
  181. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngfactory.js +90 -0
  182. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngsummary.json +1 -0
  183. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.js +90 -0
  184. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.js +29 -0
  185. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngsummary.json +1 -0
  186. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.js +15 -0
  187. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngfactory.js +17 -0
  188. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngsummary.json +1 -0
  189. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.js +15 -0
  190. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngfactory.js +17 -0
  191. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngsummary.json +1 -0
  192. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.js +20 -0
  193. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngfactory.js +76 -0
  194. package/esm2015/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngsummary.json +1 -0
  195. package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.js +248 -0
  196. package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngfactory.js +109 -0
  197. package/esm2015/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngsummary.json +1 -0
  198. package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.js +35 -0
  199. package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngfactory.js +95 -0
  200. package/esm2015/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngsummary.json +1 -0
  201. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.js +56 -0
  202. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngfactory.js +108 -0
  203. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngsummary.json +1 -0
  204. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.js +153 -0
  205. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.js +130 -0
  206. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngsummary.json +1 -0
  207. package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.js +123 -0
  208. package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngfactory.js +47 -0
  209. package/esm2015/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngsummary.json +1 -0
  210. package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.js +24 -0
  211. package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngfactory.js +97 -0
  212. package/esm2015/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngsummary.json +1 -0
  213. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.js +50 -0
  214. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.js +47 -0
  215. package/esm2015/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngsummary.json +1 -0
  216. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.js +424 -0
  217. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.js +222 -0
  218. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngsummary.json +1 -0
  219. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.js +86 -0
  220. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +37 -0
  221. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngsummary.json +1 -0
  222. package/esm2015/lib/sharedComponents/assessment-editor/services/editor.service.js +636 -0
  223. package/esm2015/lib/sharedComponents/assessment-editor/services/editor.service.ngsummary.json +1 -0
  224. package/esm2015/lib/sharedComponents/assessment-editor/services/result-criteria.service.js +48 -0
  225. package/esm2015/lib/sharedComponents/assessment-editor/services/result-criteria.service.ngsummary.json +1 -0
  226. package/esm2015/lib/sharedComponents/assessment-editor/services/validator.service.js +543 -0
  227. package/esm2015/lib/sharedComponents/assessment-editor/services/validator.service.ngsummary.json +1 -0
  228. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.js +2 -2
  229. package/esm2015/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.ngfactory.js +29 -363
  230. package/esm2015/lib/sharedComponents/format-and-evidence/format-and-evidence.component.js +1 -1
  231. package/esm2015/lib/sharedComponents/risk-classification/risk-classification.component.js +1 -1
  232. package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.js +16 -0
  233. package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.ngfactory.js +12 -0
  234. package/esm2015/lib/ui-kit/action-dialog/action-dialog.module.ngsummary.json +1 -0
  235. package/esm2015/lib/ui-kit/action-dialog/active/active.component.js +36 -0
  236. package/esm2015/lib/ui-kit/action-dialog/active/active.component.ngfactory.js +25 -0
  237. package/esm2015/lib/ui-kit/action-dialog/active/active.component.ngsummary.json +1 -0
  238. package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.js +38 -0
  239. package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngfactory.js +25 -0
  240. package/esm2015/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngsummary.json +1 -0
  241. package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.js +30 -0
  242. package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.ngfactory.js +25 -0
  243. package/esm2015/lib/ui-kit/action-dialog/delete/delete.component.ngsummary.json +1 -0
  244. package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.js +32 -0
  245. package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngfactory.js +25 -0
  246. package/esm2015/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngsummary.json +1 -0
  247. package/esm2015/lib/ui-kit/dialog/dialog-config.js +3 -0
  248. package/esm2015/lib/ui-kit/dialog/dialog-config.ngsummary.json +1 -0
  249. package/esm2015/lib/ui-kit/dialog/dialog-injector.js +15 -0
  250. package/esm2015/lib/ui-kit/dialog/dialog-injector.ngsummary.json +1 -0
  251. package/esm2015/lib/ui-kit/dialog/dialog-ref.js +11 -0
  252. package/esm2015/lib/ui-kit/dialog/dialog-ref.ngsummary.json +1 -0
  253. package/esm2015/lib/ui-kit/dialog/dialog.component.js +90 -0
  254. package/esm2015/lib/ui-kit/dialog/dialog.component.ngfactory.js +29 -0
  255. package/esm2015/lib/ui-kit/dialog/dialog.component.ngsummary.json +1 -0
  256. package/esm2015/lib/ui-kit/dialog/dialog.module.js +16 -0
  257. package/esm2015/lib/ui-kit/dialog/dialog.module.ngfactory.js +14 -0
  258. package/esm2015/lib/ui-kit/dialog/dialog.module.ngsummary.json +1 -0
  259. package/esm2015/lib/ui-kit/dialog/dialog.service.js +60 -0
  260. package/esm2015/lib/ui-kit/dialog/dialog.service.ngsummary.json +1 -0
  261. package/esm2015/lib/ui-kit/dialog/insertion.directive.js +15 -0
  262. package/esm2015/lib/ui-kit/dialog/insertion.directive.ngsummary.json +1 -0
  263. package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.js +15 -0
  264. package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngfactory.js +23 -0
  265. package/esm2015/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngsummary.json +1 -0
  266. package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.js +17 -0
  267. package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.ngfactory.js +12 -0
  268. package/esm2015/lib/ui-kit/editor-loader/editor-loader.module.ngsummary.json +1 -0
  269. package/esm2015/lib/ui-kit/formgroup/click-outside.directive.js +26 -0
  270. package/esm2015/lib/ui-kit/formgroup/click-outside.directive.ngsummary.json +1 -0
  271. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.js +26 -0
  272. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.js +30 -0
  273. package/esm2015/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngsummary.json +1 -0
  274. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.js +30 -0
  275. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.js +30 -0
  276. package/esm2015/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngsummary.json +1 -0
  277. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.js +27 -0
  278. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.js +20 -0
  279. package/esm2015/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngsummary.json +1 -0
  280. package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.js +14 -0
  281. package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.js +19 -0
  282. package/esm2015/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngsummary.json +1 -0
  283. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.js +80 -0
  284. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.js +89 -0
  285. package/esm2015/lib/ui-kit/formgroup/cs-select/cs-select.component.ngsummary.json +1 -0
  286. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.js +29 -0
  287. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.js +62 -0
  288. package/esm2015/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngsummary.json +1 -0
  289. package/esm2015/lib/ui-kit/formgroup/formgroup.module.js +41 -0
  290. package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngfactory.js +14 -0
  291. package/esm2015/lib/ui-kit/formgroup/formgroup.module.ngsummary.json +1 -0
  292. package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.js +15 -0
  293. package/esm2015/lib/ui-kit/formgroup/pipes/pascal.pipe.ngsummary.json +1 -0
  294. package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.js +20 -0
  295. package/esm2015/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.ngsummary.json +1 -0
  296. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.js +557 -0
  297. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngfactory.js +82 -0
  298. package/esm2015/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngsummary.json +1 -0
  299. package/esm2015/lib/workflow-assessment/workflow-assessment.component.js +3 -3
  300. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +1 -1
  301. package/esm2015/lib/workflow-compliance/workflow-compliance.component.js +4 -1521
  302. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.js +20 -8
  303. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngfactory.js +62 -34
  304. package/esm2015/lib/workflow-engine-container/workflow-engine-container.component.ngsummary.json +1 -1
  305. package/esm2015/lib/workflow-engine.module.js +8 -1
  306. package/esm2015/lib/workflow-engine.module.ngfactory.js +36 -24
  307. package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
  308. package/esm2015/lib/workflow-policy/workflow-policy.component.js +1 -1
  309. package/esm2015/lib/workflow-risk/workflow-risk.component.js +3 -2
  310. package/esm2015/lib/workflow-services/add-risk.service.js +2 -1
  311. package/esm2015/lib/workflow-services/assessment.service.js +47 -1
  312. package/esm2015/lib/workflow-services/assessment.service.ngsummary.json +1 -1
  313. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.js +1 -1
  314. package/esm2015/vcomply-workflow-engine.js +160 -61
  315. package/esm2015/vcomply-workflow-engine.ngsummary.json +1 -1
  316. package/fesm2015/vcomply-workflow-engine.js +6007 -112
  317. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  318. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +117 -0
  319. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.ngfactory.d.ts +1 -0
  320. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +18 -0
  321. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.d.ts +1 -0
  322. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +10 -0
  323. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.ngfactory.d.ts +1 -0
  324. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +22 -0
  325. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.d.ts +1 -0
  326. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +47 -0
  327. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.ngfactory.d.ts +1 -0
  328. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts +2 -0
  329. package/lib/sharedComponents/assessment-editor/components/build/build.module.ngfactory.d.ts +3 -0
  330. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +11 -0
  331. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.ngfactory.d.ts +1 -0
  332. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +16 -0
  333. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.ngfactory.d.ts +1 -0
  334. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +6 -0
  335. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.ngfactory.d.ts +1 -0
  336. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +11 -0
  337. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.ngfactory.d.ts +1 -0
  338. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +5 -0
  339. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.ngfactory.d.ts +1 -0
  340. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +5 -0
  341. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.ngfactory.d.ts +1 -0
  342. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +5 -0
  343. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.ngfactory.d.ts +1 -0
  344. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +11 -0
  345. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.ngfactory.d.ts +1 -0
  346. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +5 -0
  347. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.ngfactory.d.ts +1 -0
  348. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +5 -0
  349. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.ngfactory.d.ts +1 -0
  350. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +5 -0
  351. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.ngfactory.d.ts +1 -0
  352. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +9 -0
  353. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.ngfactory.d.ts +1 -0
  354. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +5 -0
  355. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.ngfactory.d.ts +1 -0
  356. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +12 -0
  357. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.ngfactory.d.ts +1 -0
  358. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +5 -0
  359. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.ngfactory.d.ts +1 -0
  360. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +56 -0
  361. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.ngfactory.d.ts +1 -0
  362. package/lib/sharedComponents/assessment-editor/components/errorInterface/error.d.ts +14 -0
  363. package/lib/sharedComponents/assessment-editor/components/errorInterface/question.d.ts +5 -0
  364. package/lib/sharedComponents/assessment-editor/components/errorInterface/validateStructure.d.ts +6 -0
  365. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +24 -0
  366. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.ngfactory.d.ts +1 -0
  367. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +8 -0
  368. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.ngfactory.d.ts +1 -0
  369. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +5 -0
  370. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.ngfactory.d.ts +1 -0
  371. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +14 -0
  372. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.ngfactory.d.ts +1 -0
  373. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +9 -0
  374. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.ngfactory.d.ts +1 -0
  375. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +5 -0
  376. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.ngfactory.d.ts +1 -0
  377. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +8 -0
  378. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.ngfactory.d.ts +1 -0
  379. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +5 -0
  380. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.ngfactory.d.ts +1 -0
  381. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts +2 -0
  382. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.ngfactory.d.ts +3 -0
  383. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +5 -0
  384. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.ngfactory.d.ts +1 -0
  385. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +9 -0
  386. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.ngfactory.d.ts +1 -0
  387. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +5 -0
  388. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.ngfactory.d.ts +1 -0
  389. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +5 -0
  390. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.ngfactory.d.ts +1 -0
  391. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +22 -0
  392. package/lib/sharedComponents/assessment-editor/components/move/move.component.ngfactory.d.ts +1 -0
  393. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +8 -0
  394. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.ngfactory.d.ts +1 -0
  395. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts +4 -0
  396. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts +4 -0
  397. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts +4 -0
  398. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts +4 -0
  399. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts +4 -0
  400. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts +4 -0
  401. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts +4 -0
  402. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +8 -0
  403. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.ngfactory.d.ts +1 -0
  404. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +5 -0
  405. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.ngfactory.d.ts +1 -0
  406. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +11 -0
  407. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.ngfactory.d.ts +1 -0
  408. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +8 -0
  409. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.ngfactory.d.ts +1 -0
  410. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +8 -0
  411. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.ngfactory.d.ts +1 -0
  412. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +5 -0
  413. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.ngfactory.d.ts +1 -0
  414. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +7 -0
  415. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.ngfactory.d.ts +1 -0
  416. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +7 -0
  417. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.ngfactory.d.ts +1 -0
  418. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +8 -0
  419. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.ngfactory.d.ts +1 -0
  420. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +5 -0
  421. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.ngfactory.d.ts +1 -0
  422. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +5 -0
  423. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.ngfactory.d.ts +1 -0
  424. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +6 -0
  425. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.ngfactory.d.ts +1 -0
  426. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +5 -0
  427. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.ngfactory.d.ts +1 -0
  428. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +5 -0
  429. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.ngfactory.d.ts +1 -0
  430. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +27 -0
  431. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.ngfactory.d.ts +1 -0
  432. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts +2 -0
  433. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.d.ts +3 -0
  434. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +5 -0
  435. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.ngfactory.d.ts +1 -0
  436. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +5 -0
  437. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.ngfactory.d.ts +1 -0
  438. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +6 -0
  439. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.ngfactory.d.ts +1 -0
  440. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +28 -0
  441. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.ngfactory.d.ts +1 -0
  442. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +11 -0
  443. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.ngfactory.d.ts +1 -0
  444. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +16 -0
  445. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.ngfactory.d.ts +1 -0
  446. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +47 -0
  447. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.d.ts +1 -0
  448. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +35 -0
  449. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.ngfactory.d.ts +1 -0
  450. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +8 -0
  451. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.ngfactory.d.ts +1 -0
  452. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +12 -0
  453. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.ngfactory.d.ts +1 -0
  454. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +64 -0
  455. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.ngfactory.d.ts +1 -0
  456. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts +2 -0
  457. package/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.d.ts +3 -0
  458. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts +185 -0
  459. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts +4 -0
  460. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts +31 -0
  461. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts +2 -0
  462. package/lib/ui-kit/action-dialog/action-dialog.module.ngfactory.d.ts +3 -0
  463. package/lib/ui-kit/action-dialog/active/active.component.d.ts +12 -0
  464. package/lib/ui-kit/action-dialog/active/active.component.ngfactory.d.ts +1 -0
  465. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +12 -0
  466. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.ngfactory.d.ts +1 -0
  467. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +11 -0
  468. package/lib/ui-kit/action-dialog/delete/delete.component.ngfactory.d.ts +1 -0
  469. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +12 -0
  470. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.ngfactory.d.ts +1 -0
  471. package/lib/ui-kit/dialog/dialog-config.d.ts +5 -0
  472. package/lib/ui-kit/dialog/dialog-injector.d.ts +7 -0
  473. package/lib/ui-kit/dialog/dialog-ref.d.ts +7 -0
  474. package/lib/ui-kit/dialog/dialog.component.d.ts +29 -0
  475. package/lib/ui-kit/dialog/dialog.component.ngfactory.d.ts +1 -0
  476. package/lib/ui-kit/dialog/dialog.module.d.ts +2 -0
  477. package/lib/ui-kit/dialog/dialog.module.ngfactory.d.ts +3 -0
  478. package/lib/ui-kit/dialog/dialog.service.d.ts +15 -0
  479. package/lib/ui-kit/dialog/insertion.directive.d.ts +5 -0
  480. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +5 -0
  481. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.ngfactory.d.ts +1 -0
  482. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts +2 -0
  483. package/lib/ui-kit/editor-loader/editor-loader.module.ngfactory.d.ts +3 -0
  484. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +7 -0
  485. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +10 -0
  486. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.ngfactory.d.ts +1 -0
  487. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +10 -0
  488. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.ngfactory.d.ts +1 -0
  489. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +12 -0
  490. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.ngfactory.d.ts +1 -0
  491. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +5 -0
  492. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.ngfactory.d.ts +1 -0
  493. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +33 -0
  494. package/lib/ui-kit/formgroup/cs-select/cs-select.component.ngfactory.d.ts +1 -0
  495. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +12 -0
  496. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.ngfactory.d.ts +1 -0
  497. package/lib/ui-kit/formgroup/formgroup.module.d.ts +2 -0
  498. package/lib/ui-kit/formgroup/formgroup.module.ngfactory.d.ts +3 -0
  499. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +4 -0
  500. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +4 -0
  501. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +231 -0
  502. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.ngfactory.d.ts +1 -0
  503. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +2 -0
  504. package/lib/workflow-services/assessment.service.d.ts +10 -1
  505. package/package.json +1 -1
  506. package/vcomply-workflow-engine.d.ts +159 -60
  507. package/vcomply-workflow-engine.metadata.json +1 -1
@@ -0,0 +1,424 @@
1
+ import { Component, Input, EventEmitter, Output } 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 { ActivatedRoute, Router } from '@angular/router';
6
+ import { DialogService } from '../../../ui-kit/dialog/dialog.service';
7
+ import { SnackBarService } from '../../../ui-kit/snack-bar/snack-bar.service';
8
+ import { DeleteComponent } from '../../../ui-kit/action-dialog/delete/delete.component';
9
+ import { ActiveComponent } from '../../../ui-kit/action-dialog/active/active.component';
10
+ export class CreateAssessmentContainerComponent {
11
+ constructor(dialog, editorService,
12
+ // private layoutService: LayoutService,
13
+ route, snackbar, router) {
14
+ this.dialog = dialog;
15
+ this.editorService = editorService;
16
+ this.route = route;
17
+ this.snackbar = snackbar;
18
+ this.router = router;
19
+ this.showCollapse = false;
20
+ this.expandPage = false;
21
+ this.hideQuestion = false;
22
+ this.assessmentId = '';
23
+ this.assessmentName = '';
24
+ this.assessmentCategory = '';
25
+ this.assessmentControlId = '';
26
+ this.assessmentCurrentState = 'DRAFT';
27
+ this.pageMode = 'EDIT';
28
+ this.isLoaded = false;
29
+ this.openPortal = '';
30
+ this.setIsUploaded = new EventEmitter();
31
+ this.postAssessment = new EventEmitter();
32
+ this.entitySettings = {
33
+ panelTitle: ''
34
+ };
35
+ }
36
+ set assessmentData(value) {
37
+ this.initializeAssessment(value);
38
+ }
39
+ ngOnInit() {
40
+ this.editorService.addPage();
41
+ this.editorService.numberOfPages();
42
+ // this.initializeAssessment();
43
+ }
44
+ triggerPreviewWithValidation() {
45
+ this.editorService.activeQuestionIndex.next(-10);
46
+ this.editorService.activeQuestion = -10;
47
+ }
48
+ initializeAssessment(assessmentData) {
49
+ if (assessmentData) {
50
+ this.editorService.formsPage = assessmentData.assessmentData;
51
+ this.assessmentName = assessmentData.metadata.assessment_name;
52
+ this.assessmentCategory = assessmentData.metadata.category_arr;
53
+ }
54
+ }
55
+ setAllPages() {
56
+ this.editorService.allPages = [...new Set(this.editorService.formsPage.elements.map((ele) => ele.page))];
57
+ this.getPageName(1);
58
+ }
59
+ addPageDetails() {
60
+ const ref = this.dialog.open(AddPageDetailsComponent, {
61
+ data: { page: this.editorService.currentPageNumber, pageDetails: this.editorService.currentPageDetails, ref: this.editorService },
62
+ position: 'RIGHT',
63
+ background: 'black',
64
+ });
65
+ ref.afterClosed.subscribe((data) => {
66
+ this.generatePageDropdown();
67
+ });
68
+ }
69
+ assessmentSettings() {
70
+ this.entitySettings = this.getSettingsData();
71
+ const ref = this.dialog.open(AssessmentSettingsComponent, {
72
+ data: { settings: this.entitySettings, service: this.editorService },
73
+ position: 'RIGHT',
74
+ background: 'black',
75
+ });
76
+ }
77
+ getSettingsData() {
78
+ var _a;
79
+ let settings = {
80
+ panelTitle: `Assessment settings`,
81
+ settingsElements: []
82
+ };
83
+ settings.settingsElements.push({
84
+ type: 'ASSESSMENT',
85
+ entityType: 'ASSESSMENT',
86
+ isVisible: true,
87
+ isEnabled: this.editorService.formsPage.settings.assessmentMode,
88
+ helpingText: 'You can configure scores for the questions and analyze the responses submitted by the respondent based on these scores.',
89
+ defaultScore: this.editorService.formsPage.settings.defaultScore,
90
+ negativeScoreCriteria: this.editorService.formsPage.settings.negativeScoreCriteria,
91
+ negativeScore: this.editorService.formsPage.settings.negativeScore,
92
+ weightageEnabled: this.editorService.formsPage.settings.weightageEnabled,
93
+ settingTitle: 'ASSESSMENT MODE',
94
+ settingEnableText: `Enable assessment mode for this assessment`,
95
+ updateType: 'LAZY'
96
+ });
97
+ settings.settingsElements.push({
98
+ type: 'RESPONSE_SEGMENT',
99
+ entityType: 'ASSESSMENT',
100
+ helpingText: 'Response segments let you divide the responses into separate parts or sections for easier analysis of data and assist in decision making.',
101
+ isVisible: true,
102
+ isEnabled: (_a = this.editorService.formsPage.responseSegment['isEnabled']) !== null && _a !== void 0 ? _a : false,
103
+ settingTitle: 'RESPONSE SEGMENTS',
104
+ settingEnableText: `Configure Response Segments for this assessment`,
105
+ updateType: 'LAZY',
106
+ segmentData: this.editorService.formsPage.responseSegment
107
+ });
108
+ return settings;
109
+ }
110
+ clickCollapse() {
111
+ this.showCollapse = !this.showCollapse;
112
+ }
113
+ clickExpand() {
114
+ this.expandPage = true;
115
+ }
116
+ closeExpand() {
117
+ this.expandPage = false;
118
+ }
119
+ deletePage() {
120
+ const ref = this.dialog.open(DeleteComponent, {
121
+ data: { message: `This action will <strong>remove</strong> this page.` },
122
+ position: 'CENTER',
123
+ background: 'black',
124
+ });
125
+ ref.afterClosed.subscribe((data) => {
126
+ if (data === true) {
127
+ this.deletePageConfirm(true);
128
+ }
129
+ });
130
+ }
131
+ deletePageConfirm(confirmDelete) {
132
+ if (confirmDelete) {
133
+ this.editorService.allPages = this.editorService.allPages.filter((pageNum) => pageNum !== this.editorService.currentPageNumber);
134
+ this.editorService.allPages = this.updatePageNumbersForAllPages(this.editorService.allPages);
135
+ this.editorService.formsPage.pageDetailsList = this.editorService.formsPage.pageDetailsList.filter((pageDetail) => pageDetail.pageNumber !== this.editorService.currentPageNumber);
136
+ this.editorService.formsPage.pageDetailsList = this.updatePageNumberForPageDetails(this.editorService.formsPage.pageDetailsList);
137
+ this.editorService.formsPage.elements = this.editorService.formsPage.elements.filter((elementDetail) => elementDetail.page !== this.editorService.currentPageNumber);
138
+ this.editorService.formsPage.elements = this.updatePageNumberForQuestions(this.editorService.formsPage.elements);
139
+ if (this.editorService.currentPageNumber > 1) {
140
+ this.editorService.currentPageNumber -= 1;
141
+ }
142
+ this.getPageName(this.editorService.currentPageNumber);
143
+ this.checkForPageDetails();
144
+ }
145
+ this.editorService.activeQuestion = -10;
146
+ }
147
+ updatePageNumbersForAllPages(arrayToBeUpdated) {
148
+ for (let i = 0; i < arrayToBeUpdated.length; i++) {
149
+ if (i >= this.editorService.currentPageNumber - 1) {
150
+ arrayToBeUpdated[i] -= 1;
151
+ }
152
+ }
153
+ return arrayToBeUpdated;
154
+ }
155
+ updatePageNumberForPageDetails(arrayToBeUpdated) {
156
+ arrayToBeUpdated.forEach((element) => {
157
+ if (element.pageNumber >= this.editorService.currentPageNumber) {
158
+ element.pageNumber -= 1;
159
+ }
160
+ });
161
+ return arrayToBeUpdated;
162
+ }
163
+ updatePageNumberForQuestions(arrayToBeUpdated) {
164
+ arrayToBeUpdated.forEach((element) => {
165
+ if (element.page >= this.editorService.currentPageNumber) {
166
+ element.page -= 1;
167
+ }
168
+ });
169
+ return arrayToBeUpdated;
170
+ }
171
+ openQuestion() {
172
+ this.hideQuestion = true;
173
+ }
174
+ closeQuestion() {
175
+ this.hideQuestion = false;
176
+ }
177
+ deleteQuestionWithValidation(index) {
178
+ if (index === 'welcome') {
179
+ this.editorService.formsPage.hasWelcome = false;
180
+ this.editorService.currentPageNumber = 1;
181
+ this.editorService.stepIdentifier = 'pagescreen';
182
+ }
183
+ this.editorService.deleteQuestion(index);
184
+ }
185
+ checkforError(mode) {
186
+ // this.moreOptions = false;
187
+ const errorQuestionIndex = this.editorService.formsPage.elements.findIndex((element, index) => (element.errorArray && element.errorArray !== {} && Object.values(element.errorArray).length > 0));
188
+ if (errorQuestionIndex >= 0) {
189
+ if (mode === 'full') {
190
+ this.editorService.currentPageNumber = this.editorService.formsPage.elements[errorQuestionIndex].page;
191
+ }
192
+ if (mode !== 'partial') {
193
+ // this.getPageName(this.editorService.currentPageNumber);
194
+ this.editorService.activeQuestion = errorQuestionIndex;
195
+ this.editorService.activeQuestionIndex.next(errorQuestionIndex);
196
+ const question = document.getElementById(this.editorService.formsPage.elements[errorQuestionIndex].name);
197
+ setTimeout(() => {
198
+ if (question) {
199
+ question.scrollIntoView({ behavior: 'smooth', block: 'start' });
200
+ }
201
+ }, 200);
202
+ }
203
+ if (mode === 'save') {
204
+ this.editorService.activeQuestion = -10;
205
+ this.editorService.activeQuestionIndex.next(-10);
206
+ }
207
+ return true;
208
+ }
209
+ else {
210
+ if (mode === 'save') {
211
+ this.editorService.activeQuestion = -10;
212
+ this.editorService.activeQuestionIndex.next(-10);
213
+ }
214
+ return false;
215
+ }
216
+ }
217
+ generatePageDropdown() {
218
+ const list = [];
219
+ if (this.editorService.formsPage.hasWelcome === true) {
220
+ list.push({ value: -1, template: `<span class="page-number">Welcome Screen</span>` });
221
+ }
222
+ if (this.editorService.formsPage.hasThanks === true) {
223
+ list.push({ value: -2, template: `<span class="page-number">Thank you Screen</span>` });
224
+ }
225
+ this.editorService.allPages.forEach((element) => {
226
+ list.push({ value: element, template: this.getPageNameForDropdown(element) });
227
+ });
228
+ return list;
229
+ }
230
+ getPageNameForDropdown(pageNumber) {
231
+ let pageValue = `<span class="page-number">Page ${pageNumber}</span>`;
232
+ this.editorService.formsPage.pageDetailsList.forEach((pageDetail) => {
233
+ if (pageDetail.pageNumber === pageNumber && pageDetail.pageName !== '') {
234
+ 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>
235
+ <span class="page-number vx-fs-11 vx-paragraph-txt">${pageDetail.pageNumber}</span>`;
236
+ //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>`;
237
+ }
238
+ });
239
+ return pageValue;
240
+ }
241
+ pageChanged(evt) {
242
+ if (evt.value === -1) {
243
+ this.setIdentifier('welcomescreen');
244
+ }
245
+ else if (evt.value === -2) {
246
+ this.setIdentifier('thankyouscreen');
247
+ }
248
+ else if (evt.value >= 0) {
249
+ this.editorService.currentPageNumber = evt === null || evt === void 0 ? void 0 : evt.value;
250
+ this.setIdentifier('pagescreen');
251
+ }
252
+ }
253
+ setIdentifier(screen) {
254
+ this.changeToInactive();
255
+ if (screen === 'welcomescreen') {
256
+ this.editorService.stepIdentifier = 'welcomescreen';
257
+ this.editorService.currentPageNumber = -1;
258
+ }
259
+ if (screen === 'thankyouscreen') {
260
+ this.editorService.stepIdentifier = 'thankyouscreen';
261
+ this.editorService.currentPageNumber = -2;
262
+ }
263
+ if (screen === 'pagescreen') {
264
+ this.editorService.stepIdentifier = 'pagescreen';
265
+ if (this.editorService.allPages.length === 0) {
266
+ this.editorService.addPage();
267
+ this.editorService.currentPageNumber = 1;
268
+ }
269
+ else if (this.editorService.currentPageNumber === -1 || this.editorService.currentPageNumber === -2) {
270
+ this.editorService.currentPageNumber = this.editorService.allPages.length;
271
+ }
272
+ }
273
+ this.getPageName(this.editorService.currentPageNumber);
274
+ }
275
+ getPageName(pageNumber) {
276
+ this.editorService.currentPageDetails = { pageName: '', pageNumber: 0, pageDescription: '' };
277
+ this.editorService.formsPage.pageDetailsList.forEach((pageDetail) => {
278
+ if (pageDetail.pageNumber === pageNumber) {
279
+ this.editorService.currentPageDetails.pageNumber = pageDetail.pageNumber;
280
+ this.editorService.currentPageDetails.pageName = pageDetail.pageName;
281
+ this.editorService.currentPageDetails.pageDescription = pageDetail.pageDescription;
282
+ }
283
+ });
284
+ this.checkForPageDetails();
285
+ }
286
+ checkForPageDetails() {
287
+ if (this.editorService.currentPageDetails === undefined || this.editorService.currentPageDetails.pageName === '') {
288
+ this.editorService.showAddPageOption = true;
289
+ this.editorService.showPageDetails = false;
290
+ }
291
+ else {
292
+ this.editorService.showAddPageOption = false;
293
+ this.editorService.showPageDetails = true;
294
+ }
295
+ }
296
+ changeToInactive() {
297
+ this.editorService.activeQuestion = -5;
298
+ this.editorService.activeQuestionIndex.next(-5);
299
+ }
300
+ addNewPage() {
301
+ this.editorService.addPage();
302
+ this.editorService.currentPageDetails = { pageName: '', pageNumber: this.editorService.currentPageNumber, pageDescription: '' };
303
+ this.editorService.showPageDetails = false;
304
+ this.editorService.showAddPageOption = true;
305
+ this.generatePageDropdown();
306
+ }
307
+ capitalizeString(stringValue) {
308
+ return stringValue[0].toUpperCase() + stringValue.slice(1);
309
+ }
310
+ onDeletePageClick() {
311
+ // this.showDeletePopup = true;
312
+ }
313
+ isPageEmpty() {
314
+ if (![...new Set(this.editorService.formsPage.elements.map((element) => element.page))].includes(this.editorService.currentPageNumber)) {
315
+ return true;
316
+ }
317
+ else {
318
+ return false;
319
+ }
320
+ }
321
+ submitAfterErrorCheck(mode) {
322
+ this.editorService.activeQuestionIndex.next(-10);
323
+ this.editorService.activeQuestion = -10;
324
+ if (this.editorService.stepIdentifier === 'welcomescreen' || this.editorService.stepIdentifier === 'thankyouscreen') {
325
+ this.editorService.currentPageNumber = 1;
326
+ this.editorService.stepIdentifier = 'pagescreen';
327
+ }
328
+ //this.pageMode = 'EDIT';
329
+ this.validateWelcomeThankYou();
330
+ setTimeout(() => {
331
+ if (!this.checkforError('full')) {
332
+ for (const question of this.editorService.formsPage.elements) {
333
+ if (!['checkbox', 'dropdown', 'multiple-choice'].includes(question.type)) {
334
+ if (question.choices) {
335
+ question.choices.forEach((element) => {
336
+ element.color = undefined;
337
+ element.score = 1;
338
+ element.isFailed = false;
339
+ });
340
+ }
341
+ question.otherConfig = { color: '', isFailed: false, score: 0 };
342
+ }
343
+ }
344
+ this.save(mode);
345
+ }
346
+ }, 200);
347
+ }
348
+ validateWelcomeThankYou() {
349
+ const question = this.editorService.formsPage;
350
+ if (question.hasWelcome === true) {
351
+ if (question.hasWelcomeDescription === true && this.editorService.extract(question.welcomeDescription).length === 0) {
352
+ this.editorService.formsPage.hasWelcomeDescription = false;
353
+ }
354
+ if (question.hasWelcomeImage === true && this.editorService.extract(question.welcomeImage).length === 0) {
355
+ this.editorService.formsPage.hasWelcomeImage = false;
356
+ }
357
+ if (this.editorService.extract(question.welcomeDescription).length === 0 &&
358
+ this.editorService.extract(question.welcomeText).length === 0 &&
359
+ this.editorService.extract(question.welcomeImage).length === 0) {
360
+ this.editorService.formsPage.hasWelcome = false;
361
+ this.editorService.formsPage.hasWelcomeDescription = true;
362
+ this.editorService.formsPage.hasWelcomeImage = true;
363
+ }
364
+ }
365
+ if (question.hasThanks === true) {
366
+ if (question.hasThankyouDescription === true && this.editorService.extract(question.thankyouDescription).length === 0) {
367
+ this.editorService.formsPage.hasThankyouDescription = false;
368
+ }
369
+ if (question.hasThankyouImage === true && this.editorService.extract(question.thankyouImage).length === 0) {
370
+ this.editorService.formsPage.hasThankyouImage = false;
371
+ }
372
+ if (this.editorService.extract(question.thankyouDescription).length === 0 &&
373
+ this.editorService.extract(question.thankyouText).length === 0 &&
374
+ this.editorService.extract(question.thankyouImage).length === 0) {
375
+ this.editorService.formsPage.hasThanks = false;
376
+ this.editorService.formsPage.hasThankyouDescription = true;
377
+ this.editorService.formsPage.hasThankyouImage = true;
378
+ }
379
+ }
380
+ }
381
+ save(mode) {
382
+ if (mode === 'ACTIVE') {
383
+ const ref = this.dialog.open(ActiveComponent, {
384
+ data: {
385
+ message: `Once published, this assessment will be active and can be associated with a compliance responsibility.`
386
+ },
387
+ position: 'CENTER',
388
+ background: 'black',
389
+ });
390
+ ref.afterClosed.subscribe({
391
+ next: (res) => {
392
+ if (res === true) {
393
+ this.postAssessment.emit({ mode: mode, assessmentDetails: this.editorService.formsPage });
394
+ }
395
+ }
396
+ });
397
+ }
398
+ else {
399
+ this.postAssessment.emit({ mode: mode, assessmentDetails: this.editorService.formsPage });
400
+ }
401
+ }
402
+ }
403
+ CreateAssessmentContainerComponent.decorators = [
404
+ { type: Component, args: [{
405
+ selector: 'app-create-assessment-container',
406
+ template: "<ng-container>\r\n <div *ngIf=\"pageMode === 'EDIT'\" class=\"create-assessment-container\" [class.full-page]=\"expandPage\">\r\n <div class=\"create-assessment-head vx-p-2 vx-pl-3 vx-d-flex vx-align-center vx-justify-between\">\r\n <div class=\"left vx-d-flex vx-align-center\" [class.with-template-btn]=\"false\">\r\n <span class=\"id vx-fs-10 vx-fw-500 vx-label-txt vx-tt-uppercase vx-mr-2\">{{assessmentControlId}}</span>\r\n <span class=\"heading vx-fs-16 vx-label-txt vx-mr-2 vx-lh-6\" [appTooltip]=\"assessmentName\" placement=\"bottom-left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"false\">{{assessmentName}}</span>\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 class=\"page-dropdown vx-p-0 vx-pl-1 vx-pr-2 vx-m-0 vx-d-flex vx-align-center\" appPopover (click)=\"action.popover()\" placement=\"right\">\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\" *ngIf=\"editorService.currentPageNumber > 0\">PAGE {{editorService?.currentPageNumber}}</span>\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\" *ngIf=\"editorService.currentPageNumber === -1\">Welcome Screen</span>\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\" *ngIf=\"editorService.currentPageNumber === -2\">Thankyou Screen</span>\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 class=\"vx-d-flex vx-align-center\" *ngFor=\"let data of generatePageDropdown()\">\r\n <button class=\"vx-d-block vx-p-2 vx-m-0 vx-w-100\" [innerHTML]=\"data?.template\" (click)=\"pageChanged(data)\">\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 class=\"action-bottom vx-d-flex vx-align-center vx-justify-end vx-p-2\">\r\n <button (click)=\"addNewPage()\" 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\">ADD NEW PAGE</button>\r\n </div>\r\n </div>\r\n </app-popover>\r\n <button 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\" (click)=\"assessmentSettings()\"><i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe913;</i> ASSESSMENT SETTINGS</button>\r\n <button *ngIf=\"false\" 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\"><i class=\"icons vx-fs-12 vx-d-flex vx-mr-1\">&#xe9ed;</i> SAVE AS TEMPLATE</button>\r\n </div>\r\n </div>\r\n <div class=\"create-assessment-body\">\r\n \r\n <ng-container *ngIf=\"editorService.stepIdentifier=='pagescreen'\">\r\n <div *ngIf=\"isPageEmpty()\" class=\"select-question-part vx-d-flex vx-align-center vx-justify-center\">\r\n <div class=\"question-inner vx-pl-5 vx-pb-5\">\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 class=\"heading vx-fs-18 vx-paragraph-txt vx-text-center vx-w-100\">Select a question type to begin:</div>\r\n <app-question-type (addQuestion)=\"editorService.addQuestion($event)\"></app-question-type>\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\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!isPageEmpty() || editorService.currentPageNumber < 0\">\r\n <div class=\"editor-section\">\r\n <div class=\"editor-section-body vx-d-flex\">\r\n <app-toolkit (addQuestion)=\"editorService.addQuestion($event)\"></app-toolkit>\r\n\r\n <div class=\"editor-section-inner\">\r\n <app-welcome-thankyou *ngIf='editorService.stepIdentifier==\"welcomescreen\"' [entityData]=\"editorService?.formsPage\" [service]=\"editorService\" (deleteQuestion)=\"deleteQuestionWithValidation('welcome')\"></app-welcome-thankyou>\r\n <!-- <app-preview-welcome></app-preview-welcome> -->\r\n <ng-container *ngIf='editorService.stepIdentifier==\"pagescreen\"'>\r\n <button *ngIf='editorService.stepIdentifier==\"pagescreen\" && editorService.showAddPageOption ' 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\" (click)=\"addPageDetails()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> PAGE TITLE</button>\r\n <app-page-header (edit)=\"addPageDetails()\" *ngIf='editorService.stepIdentifier==\"pagescreen\" && editorService.showPageDetails' [pageName]=\"editorService.currentPageDetails.pageName\" [pageDescription]=\"editorService.currentPageDetails.pageDescription\"></app-page-header>\r\n <ng-container *ngFor=\"let question of editorService.formsPage.elements;let questionIndex = index\">\r\n <ng-container *ngIf=\"question.page === editorService.currentPageNumber && editorService.stepIdentifier=='pagescreen'\">\r\n <app-editor-wrapper *ngIf=\"editorService.activeQuestion === questionIndex\" [service]=\"editorService\" [question]=\"question\" [questionIndex]=\"questionIndex\"\r\n (validQuestionData)=\"checkforError($event)\"\r\n (deleteQuestion)=\"deleteQuestionWithValidation($event)\"\r\n (copyQuestion)=\"editorService.copyQuestion($event)\"></app-editor-wrapper>\r\n <app-preview-wrapper *ngIf=\"editorService.activeQuestion !== questionIndex\" [question]=\"question\" [questionIndex]=\"questionIndex\"\r\n (makeActiveQuestion)=\"editorService.activeQuestion = $event\"></app-preview-wrapper>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"next-question-area\">\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-mb-2 vx-d-flex vx-align-center vx-justify-center vx-w-100\" (click)=\"openQuestion()\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> NEXT QUESTION</button>\r\n <div class=\"next-question-popup vx-p-3\" *ngIf=\"hideQuestion\">\r\n <app-question-type (addQuestion)=\"editorService.addQuestion($event);closeQuestion()\"></app-question-type>\r\n </div>\r\n <div class=\"overlay\" *ngIf=\"hideQuestion\" (click)=\"closeQuestion()\"></div>\r\n </div>\r\n <button (click)=\"addNewPage()\" 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\"><i class=\"icons vx-fs-16 vx-mr-1\">&#xe90a;</i> ADD NEW PAGE</button>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"right-side-btn\">\r\n <button *ngIf=\"!expandPage\" (click)=\"clickExpand()\" 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\" [appTooltip]=\"'Expand Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe945;</i></button>\r\n <button *ngIf=\"expandPage\" (click)=\"closeExpand()\" 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\" [appTooltip]=\"'Shrink Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe944;</i></button>\r\n <button *ngIf=\"editorService.stepIdentifier=='pagescreen'\" (click)=\"deletePage()\" class=\"delete-btn vx-fs-14 vx-txt-red vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Delete Page'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe923;</i></button>\r\n </div>\r\n </div>\r\n <div class=\"editor-section-footer vx-d-flex vx-align-center vx-justify-center vx-mt-4\">\r\n <button (click)=\"setIsUploaded.emit(false)\" 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\">CANCEL</button>\r\n <button (click)=\"submitAfterErrorCheck('DRAFT')\" [class.disabled]=\"assessmentCurrentState === 'ACTIVE'\" 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\">SAVE AS DRAFT</button>\r\n <button (click)=\"submitAfterErrorCheck('ACTIVE')\" 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\">PUBLISH</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 *ngIf=\"false\" class=\"close-btn vx-fs-12 vx-txt-white vx-p-0 vx-m-0 vx-d-flex vx-align-center vx-justify-center\" [appTooltip]=\"'Close'\" placement=\"left\" delay=\"0\" type=\"black\" [tooltipMandatory]=\"true\"><i class=\"icons\">&#xe90d;</i></button>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \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> -->",
407
+ providers: [EditorService],
408
+ styles: ["@import url(\"https://cdn.v-comply.com/design-system/css/icons/icons.css\");@import url(\"https://cdn.v-comply.com/design-system/css/mixin/mixin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/display/display.css\");@import url(\"https://cdn.v-comply.com/design-system/css/alignment/alignment.css\");@import url(\"https://cdn.v-comply.com/design-system/css/color/color.css\");@import url(\"https://cdn.v-comply.com/design-system/css/text/text.css\");@import url(\"https://cdn.v-comply.com/design-system/css/width/width.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/margin/margin-right.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-top.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-bottom.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-left.css\");@import url(\"https://cdn.v-comply.com/design-system/css/padding/padding-right.css\");.create-assessment-container{position:relative}.create-assessment-container.full-page{position:fixed;top:0;right:0;bottom:0;left: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;border-top:3px solid #1e5dd3;border-bottom:1px solid #f1f1f1;height:2.5rem}.create-assessment-head .left{width:calc(100% - 22rem)}.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-top:2.5rem;padding-bottom:3.75rem}.create-assessment-body .select-question-part .question-inner{padding-top:2.75rem;width:calc(64rem + 5rem);height:calc(100vh - 9rem);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 .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.cancel-btn,.create-assessment-body .editor-section-footer button.white-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;-webkit-animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both;animation:scale-up-center .2s cubic-bezier(.39,.575,.565,1) both}.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:last-of-type,.page-dropdown-popup ul li:only-child{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}"]
409
+ },] }
410
+ ];
411
+ CreateAssessmentContainerComponent.ctorParameters = () => [
412
+ { type: DialogService },
413
+ { type: EditorService },
414
+ { type: ActivatedRoute },
415
+ { type: SnackBarService },
416
+ { type: Router }
417
+ ];
418
+ CreateAssessmentContainerComponent.propDecorators = {
419
+ openPortal: [{ type: Input }],
420
+ setIsUploaded: [{ type: Output }],
421
+ postAssessment: [{ type: Output }],
422
+ assessmentData: [{ type: Input, args: ['assessmentJSON',] }]
423
+ };
424
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvYXNzZXNzbWVudC1lZGl0b3IvY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyL2NyZWF0ZS1hc3Nlc3NtZW50LWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQztBQUNwRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUU5RyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUN4RixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdURBQXVELENBQUM7QUFReEYsTUFBTSxPQUFPLGtDQUFrQztJQW1CN0MsWUFDVSxNQUFxQixFQUN0QixhQUE0QjtJQUNuQyx5Q0FBeUM7SUFDakMsS0FBcUIsRUFDckIsUUFBeUIsRUFDekIsTUFBYztRQUxkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFM0IsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsYUFBUSxHQUFS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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZGRQYWdlRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWRkLXBhZ2UtZGV0YWlscy9hZGQtcGFnZS1kZXRhaWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEFzc2Vzc21lbnRTZXR0aW5nc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXNzZXNzbWVudC1zZXR0aW5ncy9hc3Nlc3NtZW50LXNldHRpbmdzLmNvbXBvbmVudCc7XHJcblxyXG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xyXG5cclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91aS1raXQvZGlhbG9nL2RpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IERlbGV0ZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3VpLWtpdC9hY3Rpb24tZGlhbG9nL2RlbGV0ZS9kZWxldGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQWN0aXZlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vdWkta2l0L2FjdGlvbi1kaWFsb2cvYWN0aXZlL2FjdGl2ZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLWFzc2Vzc21lbnQtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtYXNzZXNzbWVudC1jb250YWluZXIuY29tcG9uZW50Lmxlc3MnXSxcclxuICBwcm92aWRlcnM6IFtFZGl0b3JTZXJ2aWNlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlQXNzZXNzbWVudENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgc2hvd0NvbGxhcHNlID0gZmFsc2U7XHJcbiAgZXhwYW5kUGFnZSA9IGZhbHNlO1xyXG4gIGhpZGVRdWVzdGlvbiA9IGZhbHNlO1xyXG4gIGFzc2Vzc21lbnRJZCA9ICcnO1xyXG4gIGFzc2Vzc21lbnROYW1lID0gJyc7XHJcbiAgYXNzZXNzbWVudENhdGVnb3J5ID0gJyc7XHJcbiAgYXNzZXNzbWVudENvbnRyb2xJZCA9ICcnO1xyXG4gIGFzc2Vzc21lbnRDdXJyZW50U3RhdGUgPSAnRFJBRlQnO1xyXG4gIHBhZ2VNb2RlOiAnRURJVCcgfCAnUFJFVklFVycgPSAnRURJVCc7XHJcbiAgaXNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBvcGVuUG9ydGFsIDonQVNTRVNTTUVOVF9JTVBPUlQnIHwgJ1JFU1BPTlNJQklMVFlfQ0hFQ0tQT0lOVCd8JycgPSAnJztcclxuICBAT3V0cHV0KCkgc2V0SXNVcGxvYWRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcG9zdEFzc2Vzc21lbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgnYXNzZXNzbWVudEpTT04nKSBzZXQgYXNzZXNzbWVudERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5pbml0aWFsaXplQXNzZXNzbWVudCh2YWx1ZSlcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSxcclxuICAgIC8vIHByaXZhdGUgIGxheW91dFNlcnZpY2U6IExheW91dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgc25hY2tiYXI6IFNuYWNrQmFyU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hZGRQYWdlKCk7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UubnVtYmVyT2ZQYWdlcygpO1xyXG4gICAgLy8gdGhpcy5pbml0aWFsaXplQXNzZXNzbWVudCgpO1xyXG4gIH1cclxudHJpZ2dlclByZXZpZXdXaXRoVmFsaWRhdGlvbigpe1xyXG4gIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTEwKTtcclxuICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtMTA7XHJcbn1cclxuICBpbml0aWFsaXplQXNzZXNzbWVudChhc3Nlc3NtZW50RGF0YTogYW55KSB7XHJcbiAgICBpZiAoYXNzZXNzbWVudERhdGEpIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZSA9IGFzc2Vzc21lbnREYXRhLmFzc2Vzc21lbnREYXRhO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnROYW1lID0gYXNzZXNzbWVudERhdGEubWV0YWRhdGEuYXNzZXNzbWVudF9uYW1lO1xyXG4gICAgICB0aGlzLmFzc2Vzc21lbnRDYXRlZ29yeSA9IGFzc2Vzc21lbnREYXRhLm1ldGFkYXRhLmNhdGVnb3J5X2FycjtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRBbGxQYWdlcygpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcyA9IFsuLi5uZXcgU2V0KHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubWFwKChlbGU6IGFueSkgPT4gZWxlLnBhZ2UpKV07XHJcbiAgICB0aGlzLmdldFBhZ2VOYW1lKDEpO1xyXG4gIH1cclxuXHJcbiAgYWRkUGFnZURldGFpbHMoKSB7XHJcbiAgICBjb25zdCByZWYgPSB0aGlzLmRpYWxvZy5vcGVuKEFkZFBhZ2VEZXRhaWxzQ29tcG9uZW50LCB7XHJcbiAgICAgIGRhdGE6IHsgcGFnZTogdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyLCBwYWdlRGV0YWlsczogdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscywgcmVmOiB0aGlzLmVkaXRvclNlcnZpY2UgfSxcclxuICAgICAgcG9zaXRpb246ICdSSUdIVCcsXHJcbiAgICAgIGJhY2tncm91bmQ6ICdibGFjaycsXHJcbiAgICB9KTtcclxuICAgIHJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmdlbmVyYXRlUGFnZURyb3Bkb3duKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGVudGl0eVNldHRpbmdzOiBhbnkgPSB7XHJcbiAgICBwYW5lbFRpdGxlOiAnJ1xyXG4gIH07XHJcblxyXG4gIGFzc2Vzc21lbnRTZXR0aW5ncygpIHtcclxuICAgIHRoaXMuZW50aXR5U2V0dGluZ3MgPSB0aGlzLmdldFNldHRpbmdzRGF0YSgpO1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2cub3BlbihBc3Nlc3NtZW50U2V0dGluZ3NDb21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBzZXR0aW5nczogdGhpcy5lbnRpdHlTZXR0aW5ncywgc2VydmljZTogdGhpcy5lZGl0b3JTZXJ2aWNlIH0sXHJcbiAgICAgIHBvc2l0aW9uOiAnUklHSFQnLFxyXG4gICAgICBiYWNrZ3JvdW5kOiAnYmxhY2snLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRTZXR0aW5nc0RhdGEoKSB7XHJcbiAgICBsZXQgc2V0dGluZ3M6IGFueSA9IHtcclxuICAgICAgcGFuZWxUaXRsZTogYEFzc2Vzc21lbnQgc2V0dGluZ3NgLFxyXG5cclxuICAgICAgc2V0dGluZ3NFbGVtZW50czogW11cclxuICAgIH1cclxuICAgIHNldHRpbmdzLnNldHRpbmdzRWxlbWVudHMucHVzaChcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICdBU1NFU1NNRU5UJyxcclxuICAgICAgICBlbnRpdHlUeXBlOiAnQVNTRVNTTUVOVCcsXHJcbiAgICAgICAgaXNWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIGlzRW5hYmxlZDogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy5hc3Nlc3NtZW50TW9kZSxcclxuICAgICAgICBoZWxwaW5nVGV4dDogJ1lvdSBjYW4gY29uZmlndXJlIHNjb3JlcyBmb3IgdGhlIHF1ZXN0aW9ucyBhbmQgYW5hbHl6ZSB0aGUgcmVzcG9uc2VzIHN1Ym1pdHRlZCBieSB0aGUgcmVzcG9uZGVudCBiYXNlZCBvbiB0aGVzZSBzY29yZXMuJyxcclxuICAgICAgICBkZWZhdWx0U2NvcmU6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3MuZGVmYXVsdFNjb3JlLFxyXG4gICAgICAgIG5lZ2F0aXZlU2NvcmVDcml0ZXJpYTogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy5uZWdhdGl2ZVNjb3JlQ3JpdGVyaWEsXHJcbiAgICAgICAgbmVnYXRpdmVTY29yZTogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5zZXR0aW5ncy5uZWdhdGl2ZVNjb3JlLFxyXG4gICAgICAgIHdlaWdodGFnZUVuYWJsZWQ6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2Uuc2V0dGluZ3Mud2VpZ2h0YWdlRW5hYmxlZCxcclxuICAgICAgICBzZXR0aW5nVGl0bGU6ICdBU1NFU1NNRU5UIE1PREUnLFxyXG4gICAgICAgIHNldHRpbmdFbmFibGVUZXh0OiBgRW5hYmxlIGFzc2Vzc21lbnQgbW9kZSBmb3IgdGhpcyBhc3Nlc3NtZW50YCxcclxuICAgICAgICB1cGRhdGVUeXBlOiAnTEFaWSdcclxuICAgICAgfVxyXG5cclxuICAgIClcclxuICAgIHNldHRpbmdzLnNldHRpbmdzRWxlbWVudHMucHVzaChcclxuICAgICAge1xyXG4gICAgICAgIHR5cGU6ICdSRVNQT05TRV9TRUdNRU5UJyxcclxuICAgICAgICBlbnRpdHlUeXBlOiAnQVNTRVNTTUVOVCcsXHJcbiAgICAgICAgaGVscGluZ1RleHQ6ICdSZXNwb25zZSBzZWdtZW50cyBsZXQgeW91IGRpdmlkZSB0aGUgcmVzcG9uc2VzIGludG8gc2VwYXJhdGUgcGFydHMgb3Igc2VjdGlvbnMgZm9yIGVhc2llciBhbmFseXNpcyBvZiBkYXRhIGFuZCBhc3Npc3QgaW4gZGVjaXNpb24gbWFraW5nLicsXHJcbiAgICAgICAgaXNWaXNpYmxlOiB0cnVlLFxyXG4gICAgICAgIGlzRW5hYmxlZDogdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5yZXNwb25zZVNlZ21lbnRbJ2lzRW5hYmxlZCddID8/IGZhbHNlLFxyXG4gICAgICAgIHNldHRpbmdUaXRsZTogJ1JFU1BPTlNFIFNFR01FTlRTJyxcclxuICAgICAgICBzZXR0aW5nRW5hYmxlVGV4dDogYENvbmZpZ3VyZSBSZXNwb25zZSBTZWdtZW50cyBmb3IgdGhpcyBhc3Nlc3NtZW50YCxcclxuICAgICAgICB1cGRhdGVUeXBlOiAnTEFaWScsXHJcbiAgICAgICAgc2VnbWVudERhdGE6IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucmVzcG9uc2VTZWdtZW50XHJcbiAgICAgIH1cclxuICAgIClcclxuICAgIHJldHVybiBzZXR0aW5ncztcclxuICB9XHJcblxyXG4gIGNsaWNrQ29sbGFwc2UoKSB7XHJcbiAgICB0aGlzLnNob3dDb2xsYXBzZSA9ICF0aGlzLnNob3dDb2xsYXBzZTtcclxuICB9XHJcblxyXG4gIGNsaWNrRXhwYW5kKCkge1xyXG4gICAgdGhpcy5leHBhbmRQYWdlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNsb3NlRXhwYW5kKCkge1xyXG4gICAgdGhpcy5leHBhbmRQYWdlID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZWxldGVQYWdlKCkge1xyXG4gICAgY29uc3QgcmVmID0gdGhpcy5kaWFsb2cub3BlbihEZWxldGVDb21wb25lbnQsIHtcclxuICAgICAgZGF0YTogeyBtZXNzYWdlOiBgVGhpcyBhY3Rpb24gd2lsbCA8c3Ryb25nPnJlbW92ZTwvc3Ryb25nPiB0aGlzIHBhZ2UuYCB9LFxyXG4gICAgICBwb3NpdGlvbjogJ0NFTlRFUicsXHJcbiAgICAgIGJhY2tncm91bmQ6ICdibGFjaycsXHJcbiAgICB9KTtcclxuICAgIHJlZi5hZnRlckNsb3NlZC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG5cclxuICAgICAgaWYgKGRhdGEgPT09IHRydWUpIHtcclxuICAgICAgICB0aGlzLmRlbGV0ZVBhZ2VDb25maXJtKHRydWUpXHJcbiAgICAgIH1cclxuXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlUGFnZUNvbmZpcm0oY29uZmlybURlbGV0ZTogYW55KSB7XHJcbiAgICBpZiAoY29uZmlybURlbGV0ZSkge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMgPSB0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMuZmlsdGVyKChwYWdlTnVtOiBhbnkpID0+IHBhZ2VOdW0gIT09IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcyA9IHRoaXMudXBkYXRlUGFnZU51bWJlcnNGb3JBbGxQYWdlcyh0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMpO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCA9IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0LmZpbHRlcigocGFnZURldGFpbDogYW55KSA9PlxyXG4gICAgICAgIHBhZ2VEZXRhaWwucGFnZU51bWJlciAhPT0gdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyKTtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QgPSB0aGlzLnVwZGF0ZVBhZ2VOdW1iZXJGb3JQYWdlRGV0YWlscyh0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLnBhZ2VEZXRhaWxzTGlzdCk7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMgPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzLmZpbHRlcihcclxuICAgICAgICAoZWxlbWVudERldGFpbDogYW55KSA9PiBlbGVtZW50RGV0YWlsLnBhZ2UgIT09IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMgPSB0aGlzLnVwZGF0ZVBhZ2VOdW1iZXJGb3JRdWVzdGlvbnModGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50cyk7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPiAxKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyIC09IDE7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5nZXRQYWdlTmFtZSh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpO1xyXG4gICAgICB0aGlzLmNoZWNrRm9yUGFnZURldGFpbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtMTA7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYWdlTnVtYmVyc0ZvckFsbFBhZ2VzKGFycmF5VG9CZVVwZGF0ZWQ6IGFueSkge1xyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheVRvQmVVcGRhdGVkLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmIChpID49IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciAtIDEpIHtcclxuICAgICAgICBhcnJheVRvQmVVcGRhdGVkW2ldIC09IDE7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBhcnJheVRvQmVVcGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGFnZU51bWJlckZvclBhZ2VEZXRhaWxzKGFycmF5VG9CZVVwZGF0ZWQ6IGFueSkge1xyXG4gICAgYXJyYXlUb0JlVXBkYXRlZC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgaWYgKGVsZW1lbnQucGFnZU51bWJlciA+PSB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpIHtcclxuICAgICAgICBlbGVtZW50LnBhZ2VOdW1iZXIgLT0gMTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYXJyYXlUb0JlVXBkYXRlZDtcclxuICB9XHJcblxyXG4gIHVwZGF0ZVBhZ2VOdW1iZXJGb3JRdWVzdGlvbnMoYXJyYXlUb0JlVXBkYXRlZDogYW55KSB7XHJcbiAgICBhcnJheVRvQmVVcGRhdGVkLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZWxlbWVudC5wYWdlID49IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcikge1xyXG4gICAgICAgIGVsZW1lbnQucGFnZSAtPSAxO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnJheVRvQmVVcGRhdGVkO1xyXG4gIH1cclxuXHJcbiAgb3BlblF1ZXN0aW9uKCkge1xyXG4gICAgdGhpcy5oaWRlUXVlc3Rpb24gPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VRdWVzdGlvbigpIHtcclxuICAgIHRoaXMuaGlkZVF1ZXN0aW9uID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBkZWxldGVRdWVzdGlvbldpdGhWYWxpZGF0aW9uKGluZGV4OiBhbnkpIHtcclxuICAgIGlmIChpbmRleCA9PT0gJ3dlbGNvbWUnKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAxO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAncGFnZXNjcmVlbic7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuZGVsZXRlUXVlc3Rpb24oaW5kZXgpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tmb3JFcnJvcihtb2RlPzogYW55KSB7XHJcbiAgICAvLyB0aGlzLm1vcmVPcHRpb25zID0gZmFsc2U7XHJcbiAgICBjb25zdCBlcnJvclF1ZXN0aW9uSW5kZXggPSB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzLmZpbmRJbmRleChcclxuICAgICAgKGVsZW1lbnQ6IGFueSwgaW5kZXg6IGFueSkgPT4gKGVsZW1lbnQuZXJyb3JBcnJheSAmJiBlbGVtZW50LmVycm9yQXJyYXkgIT09IHt9ICYmIE9iamVjdC52YWx1ZXMoZWxlbWVudC5lcnJvckFycmF5KS5sZW5ndGggPiAwKSk7XHJcbiAgICBpZiAoZXJyb3JRdWVzdGlvbkluZGV4ID49IDApIHtcclxuICAgICAgaWYgKG1vZGUgPT09ICdmdWxsJykge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHNbZXJyb3JRdWVzdGlvbkluZGV4XS5wYWdlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb2RlICE9PSAncGFydGlhbCcpIHtcclxuICAgICAgICAvLyB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcblxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbiA9IGVycm9yUXVlc3Rpb25JbmRleDtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb25JbmRleC5uZXh0KGVycm9yUXVlc3Rpb25JbmRleCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHF1ZXN0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5lbGVtZW50c1tlcnJvclF1ZXN0aW9uSW5kZXhdLm5hbWUpO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKHF1ZXN0aW9uKSB7XHJcbiAgICAgICAgICAgIHF1ZXN0aW9uLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ3N0YXJ0JyB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LCAyMDApO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChtb2RlID09PSAnc2F2ZScpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtMTA7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uSW5kZXgubmV4dCgtMTApO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChtb2RlID09PSAnc2F2ZScpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtMTA7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uSW5kZXgubmV4dCgtMTApO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdlbmVyYXRlUGFnZURyb3Bkb3duKCkge1xyXG4gICAgY29uc3QgbGlzdCA9IFtdO1xyXG4gICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzV2VsY29tZSA9PT0gdHJ1ZSkge1xyXG4gICAgICBsaXN0LnB1c2goeyB2YWx1ZTogLTEsIHRlbXBsYXRlOiBgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlclwiPldlbGNvbWUgU2NyZWVuPC9zcGFuPmAgfSk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3MgPT09IHRydWUpIHtcclxuICAgICAgbGlzdC5wdXNoKHsgdmFsdWU6IC0yLCB0ZW1wbGF0ZTogYDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXJcIj5UaGFuayB5b3UgU2NyZWVuPC9zcGFuPmAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFsbFBhZ2VzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICBsaXN0LnB1c2goeyB2YWx1ZTogZWxlbWVudCwgdGVtcGxhdGU6IHRoaXMuZ2V0UGFnZU5hbWVGb3JEcm9wZG93bihlbGVtZW50KSB9KTtcclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gbGlzdDtcclxuICB9XHJcblxyXG4gIGdldFBhZ2VOYW1lRm9yRHJvcGRvd24ocGFnZU51bWJlcjogYW55KSB7XHJcbiAgICBsZXQgcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1udW1iZXJcIj5QYWdlICR7cGFnZU51bWJlcn08L3NwYW4+YDtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UucGFnZURldGFpbHNMaXN0LmZvckVhY2goKHBhZ2VEZXRhaWw6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocGFnZURldGFpbC5wYWdlTnVtYmVyID09PSBwYWdlTnVtYmVyICYmIHBhZ2VEZXRhaWwucGFnZU5hbWUgIT09ICcnKSB7XHJcbiAgICAgICAgcGFnZVZhbHVlID0gYDxzcGFuIGNsYXNzPVwicGFnZS1sYWJlbCB2eC1mcy05IHZ4LWZ3LTYwMCB2eC10dC11cHBlcmNhc2UgdngtcGwtMSB2eC1wci0xIHZ4LW1yLTIgdngtbGgtM1wiPlBBR0U8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLW51bWJlciB2eC1mcy0xMSB2eC1wYXJhZ3JhcGgtdHh0XCI+JHtwYWdlRGV0YWlsLnBhZ2VOdW1iZXJ9PC9zcGFuPmBcclxuICAgICAgICAvL3BhZ2VWYWx1ZSA9IGA8c3BhbiBjbGFzcz1cInBhZ2UtbGFiZWwgdngtZnMtOSB2eC1mdy02MDAgdngtdHQtdXBwZXJjYXNlIHZ4LXBsLTEgdngtcHItMSB2eC1tci0yIHZ4LWxoLTNcIj5QYWdlIDwvc3Bhbj4gPHNwYW4gJHtwYWdlRGV0YWlsLnBhZ2VOdW1iZXJ9PC9zcGFuPiA8c3BhbiBjbGFzcz1cInBhZ2UtbnVtYmVyIHZ4LWZzLTExIHZ4LXBhcmFncmFwaC10eHRcIj4gJHtwYWdlRGV0YWlsLnBhZ2VOYW1lfTwvc3Bhbj5gO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBwYWdlVmFsdWU7XHJcbiAgfVxyXG5cclxuICBwYWdlQ2hhbmdlZChldnQ6IGFueSkge1xyXG5cclxuICAgIGlmIChldnQudmFsdWUgPT09IC0xKSB7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcignd2VsY29tZXNjcmVlbicpO1xyXG4gICAgfSBlbHNlIGlmIChldnQudmFsdWUgPT09IC0yKSB7XHJcbiAgICAgIHRoaXMuc2V0SWRlbnRpZmllcigndGhhbmt5b3VzY3JlZW4nKTtcclxuICAgIH0gZWxzZSBpZiAoZXZ0LnZhbHVlID49IDApIHtcclxuICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID0gZXZ0Py52YWx1ZTtcclxuICAgICAgdGhpcy5zZXRJZGVudGlmaWVyKCdwYWdlc2NyZWVuJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRJZGVudGlmaWVyKHNjcmVlbjogYW55KSB7XHJcbiAgICB0aGlzLmNoYW5nZVRvSW5hY3RpdmUoKTtcclxuICAgIGlmIChzY3JlZW4gPT09ICd3ZWxjb21lc2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAnd2VsY29tZXNjcmVlbic7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IC0xO1xyXG4gICAgfVxyXG4gICAgaWYgKHNjcmVlbiA9PT0gJ3RoYW5reW91c2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAndGhhbmt5b3VzY3JlZW4nO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAtMjtcclxuICAgIH1cclxuICAgIGlmIChzY3JlZW4gPT09ICdwYWdlc2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAncGFnZXNjcmVlbic7XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuYWxsUGFnZXMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFkZFBhZ2UoKTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAxO1xyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9PT0gLTEgfHwgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlTnVtYmVyID09PSAtMikge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciA9IHRoaXMuZWRpdG9yU2VydmljZS5hbGxQYWdlcy5sZW5ndGg7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICB0aGlzLmdldFBhZ2VOYW1lKHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlcik7XHJcbiAgfVxyXG5cclxuICBnZXRQYWdlTmFtZShwYWdlTnVtYmVyOiBhbnkpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMgPSB7IHBhZ2VOYW1lOiAnJywgcGFnZU51bWJlcjogMCwgcGFnZURlc2NyaXB0aW9uOiAnJyB9O1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5wYWdlRGV0YWlsc0xpc3QuZm9yRWFjaCgocGFnZURldGFpbDogYW55KSA9PiB7XHJcbiAgICAgIGlmIChwYWdlRGV0YWlsLnBhZ2VOdW1iZXIgPT09IHBhZ2VOdW1iZXIpIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzLnBhZ2VOdW1iZXIgPSBwYWdlRGV0YWlsLnBhZ2VOdW1iZXI7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlTmFtZSA9IHBhZ2VEZXRhaWwucGFnZU5hbWU7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscy5wYWdlRGVzY3JpcHRpb24gPSBwYWdlRGV0YWlsLnBhZ2VEZXNjcmlwdGlvbjtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmNoZWNrRm9yUGFnZURldGFpbHMoKTtcclxuICB9XHJcblxyXG4gIGNoZWNrRm9yUGFnZURldGFpbHMoKSB7XHJcbiAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmN1cnJlbnRQYWdlRGV0YWlscyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZURldGFpbHMucGFnZU5hbWUgPT09ICcnKSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zaG93QWRkUGFnZU9wdGlvbiA9IHRydWU7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zaG93UGFnZURldGFpbHMgPSBmYWxzZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5zaG93QWRkUGFnZU9wdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc2hvd1BhZ2VEZXRhaWxzID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoYW5nZVRvSW5hY3RpdmUoKSB7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuYWN0aXZlUXVlc3Rpb24gPSAtNTtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hY3RpdmVRdWVzdGlvbkluZGV4Lm5leHQoLTUpO1xyXG4gIH1cclxuXHJcbiAgYWRkTmV3UGFnZSgpIHtcclxuICAgIHRoaXMuZWRpdG9yU2VydmljZS5hZGRQYWdlKCk7XHJcbiAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VEZXRhaWxzID0geyBwYWdlTmFtZTogJycsIHBhZ2VOdW1iZXI6IHRoaXMuZWRpdG9yU2VydmljZS5jdXJyZW50UGFnZU51bWJlciwgcGFnZURlc2NyaXB0aW9uOiAnJyB9O1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dQYWdlRGV0YWlscyA9IGZhbHNlO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLnNob3dBZGRQYWdlT3B0aW9uID0gdHJ1ZTtcclxuICAgIHRoaXMuZ2VuZXJhdGVQYWdlRHJvcGRvd24oKTtcclxuICB9XHJcblxyXG4gIGNhcGl0YWxpemVTdHJpbmcoc3RyaW5nVmFsdWU6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHN0cmluZ1ZhbHVlWzBdLnRvVXBwZXJDYXNlKCkgKyBzdHJpbmdWYWx1ZS5zbGljZSgxKTtcclxuICB9XHJcblxyXG4gIG9uRGVsZXRlUGFnZUNsaWNrKCkge1xyXG4gICAgLy8gdGhpcy5zaG93RGVsZXRlUG9wdXAgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaXNQYWdlRW1wdHkoKSB7XHJcbiAgICBpZiAoIVsuLi5uZXcgU2V0KHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuZWxlbWVudHMubWFwKChlbGVtZW50OiBhbnkpID0+IGVsZW1lbnQucGFnZSkpXS5pbmNsdWRlcyh0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIpKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3VibWl0QWZ0ZXJFcnJvckNoZWNrKG1vZGU6IGFueSkge1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uSW5kZXgubmV4dCgtMTApO1xyXG4gICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmFjdGl2ZVF1ZXN0aW9uID0gLTEwO1xyXG4gICAgaWYgKHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9PT0gJ3dlbGNvbWVzY3JlZW4nIHx8IHRoaXMuZWRpdG9yU2VydmljZS5zdGVwSWRlbnRpZmllciA9PT0gJ3RoYW5reW91c2NyZWVuJykge1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2UuY3VycmVudFBhZ2VOdW1iZXIgPSAxO1xyXG4gICAgICB0aGlzLmVkaXRvclNlcnZpY2Uuc3RlcElkZW50aWZpZXIgPSAncGFnZXNjcmVlbic7XHJcbiAgICB9XHJcbiAgICAvL3RoaXMucGFnZU1vZGUgPSAnRURJVCc7XHJcblxyXG4gICAgdGhpcy52YWxpZGF0ZVdlbGNvbWVUaGFua1lvdSgpO1xyXG5cclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuY2hlY2tmb3JFcnJvcignZnVsbCcpKSB7XHJcbiAgICAgICAgZm9yIChjb25zdCBxdWVzdGlvbiBvZiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmVsZW1lbnRzKSB7XHJcbiAgICAgICAgICBpZiAoIVsnY2hlY2tib3gnLCAnZHJvcGRvd24nLCAnbXVsdGlwbGUtY2hvaWNlJ10uaW5jbHVkZXMocXVlc3Rpb24udHlwZSkpIHtcclxuICAgICAgICAgICAgaWYgKHF1ZXN0aW9uLmNob2ljZXMpIHtcclxuICAgICAgICAgICAgICBxdWVzdGlvbi5jaG9pY2VzLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5jb2xvciA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIGVsZW1lbnQuc2NvcmUgPSAxO1xyXG4gICAgICAgICAgICAgICAgZWxlbWVudC5pc0ZhaWxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHF1ZXN0aW9uLm90aGVyQ29uZmlnID0geyBjb2xvcjogJycsIGlzRmFpbGVkOiBmYWxzZSwgc2NvcmU6IDAgfTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zYXZlKG1vZGUpXHJcbiAgICAgIH1cclxuICAgIH0sIDIwMCk7XHJcblxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVXZWxjb21lVGhhbmtZb3UoKSB7XHJcbiAgICBjb25zdCBxdWVzdGlvbiA9IHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2U7XHJcbiAgICBpZiAocXVlc3Rpb24uaGFzV2VsY29tZSA9PT0gdHJ1ZSkge1xyXG4gICAgICBpZiAocXVlc3Rpb24uaGFzV2VsY29tZURlc2NyaXB0aW9uID09PSB0cnVlICYmIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVEZXNjcmlwdGlvbikubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lRGVzY3JpcHRpb24gPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAocXVlc3Rpb24uaGFzV2VsY29tZUltYWdlID09PSB0cnVlICYmIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLndlbGNvbWVJbWFnZSkubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lSW1hZ2UgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZURlc2NyaXB0aW9uKS5sZW5ndGggPT09IDAgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi53ZWxjb21lVGV4dCkubGVuZ3RoID09PSAwICYmXHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmV4dHJhY3QocXVlc3Rpb24ud2VsY29tZUltYWdlKS5sZW5ndGggPT09IDApIHtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1dlbGNvbWVEZXNjcmlwdGlvbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNXZWxjb21lSW1hZ2UgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAocXVlc3Rpb24uaGFzVGhhbmtzID09PSB0cnVlKSB7XHJcbiAgICAgIGlmIChxdWVzdGlvbi5oYXNUaGFua3lvdURlc2NyaXB0aW9uID09PSB0cnVlICYmIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91RGVzY3JpcHRpb24pLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmt5b3VEZXNjcmlwdGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChxdWVzdGlvbi5oYXNUaGFua3lvdUltYWdlID09PSB0cnVlICYmIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91SW1hZ2UpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmt5b3VJbWFnZSA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdURlc2NyaXB0aW9uKS5sZW5ndGggPT09IDAgJiZcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZXh0cmFjdChxdWVzdGlvbi50aGFua3lvdVRleHQpLmxlbmd0aCA9PT0gMCAmJlxyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5leHRyYWN0KHF1ZXN0aW9uLnRoYW5reW91SW1hZ2UpLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHRoaXMuZWRpdG9yU2VydmljZS5mb3Jtc1BhZ2UuaGFzVGhhbmtzID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5lZGl0b3JTZXJ2aWNlLmZvcm1zUGFnZS5oYXNUaGFua3lvdURlc2NyaXB0aW9uID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlLmhhc1RoYW5reW91SW1hZ2UgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzYXZlKG1vZGU6ICdEUkFGVCcgfCAnQUNUSVZFJykge1xyXG4gICAgaWYgKG1vZGUgPT09ICdBQ1RJVkUnKSB7XHJcbiAgICAgIGNvbnN0IHJlZiA9IHRoaXMuZGlhbG9nLm9wZW4oQWN0aXZlQ29tcG9uZW50LCB7XHJcbiAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgbWVzc2FnZTogYE9uY2UgcHVibGlzaGVkLCB0aGlzIGFzc2Vzc21lbnQgd2lsbCBiZSBhY3RpdmUgYW5kIGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggYSBjb21wbGlhbmNlIHJlc3BvbnNpYmlsaXR5LmBcclxuICAgICAgICB9LFxyXG4gICAgICAgIHBvc2l0aW9uOiAnQ0VOVEVSJyxcclxuICAgICAgICBiYWNrZ3JvdW5kOiAnYmxhY2snLFxyXG4gICAgICB9KTtcclxuICAgICAgcmVmLmFmdGVyQ2xvc2VkLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMucG9zdEFzc2Vzc21lbnQuZW1pdCh7IG1vZGU6IG1vZGUsIGFzc2Vzc21lbnREZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucG9zdEFzc2Vzc21lbnQuZW1pdCh7IG1vZGU6IG1vZGUsIGFzc2Vzc21lbnREZXRhaWxzOiB0aGlzLmVkaXRvclNlcnZpY2UuZm9ybXNQYWdlfSk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=