vcomply-workflow-engine 2.6.134 → 2.6.136

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 (929) hide show
  1. package/bundles/vcomply-workflow-engine.umd.js +13 -14
  2. package/bundles/vcomply-workflow-engine.umd.js.map +1 -1
  3. package/esm2015/lib/add-multiple-risk/add-multiple-risk.component.js +10 -2
  4. package/esm2015/lib/log-an-issue/log-an-issue.component.ngfactory.js +6 -6
  5. package/esm2015/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.ngfactory.js +4 -4
  6. package/esm2015/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.ngfactory.js +4 -4
  7. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngfactory.js +3 -3
  8. package/esm2015/lib/sharedComponents/assessment-editor/components/preview/preview.module.ngsummary.json +1 -1
  9. package/esm2015/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.ngfactory.js +4 -4
  10. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngfactory.js +3 -3
  11. package/esm2015/lib/sharedComponents/assessment-editor/create-assessment.module.ngsummary.json +1 -1
  12. package/esm2015/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.ngfactory.js +4 -4
  13. package/esm2015/lib/workflow-assessment/workflow-assessment.component.ngfactory.js +4 -4
  14. package/esm2015/lib/workflow-compliance/workflow-compliance.component.ngfactory.js +5 -5
  15. package/esm2015/lib/workflow-engine.module.ngfactory.js +3 -3
  16. package/esm2015/lib/workflow-engine.module.ngsummary.json +1 -1
  17. package/esm2015/lib/workflow-policy/workflow-policy.component.ngfactory.js +4 -4
  18. package/esm2015/lib/workflow-program/workflow-program.component.ngfactory.js +5 -5
  19. package/esm2015/lib/workflow-risk/workflow-risk.component.ngfactory.js +5 -5
  20. package/esm2015/lib/workflow-survey-form/workflow-survey-form.component.ngfactory.js +4 -4
  21. package/fesm2015/vcomply-workflow-engine.js +9 -1
  22. package/fesm2015/vcomply-workflow-engine.js.map +1 -1
  23. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts +5 -0
  24. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts.__ivy_ngcc_bak +83 -0
  25. package/lib/add-multiple-responsibility/add-multiple-responsibility.component.d.ts.map +1 -0
  26. package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts +5 -0
  27. package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts.__ivy_ngcc_bak +34 -0
  28. package/lib/add-multiple-responsibility-container/add-multiple-responsibility-container.component.d.ts.map +1 -0
  29. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts +5 -0
  30. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts.__ivy_ngcc_bak +170 -0
  31. package/lib/add-multiple-responsibility-with-tab/add-multiple-responsibility-with-tab.component.d.ts.map +1 -0
  32. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts +5 -0
  33. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts.__ivy_ngcc_bak +108 -0
  34. package/lib/add-multiple-risk/add-multiple-risk.component.d.ts.map +1 -0
  35. package/lib/confirmation-alert/confirmation-alert.component.d.ts +5 -0
  36. package/lib/confirmation-alert/confirmation-alert.component.d.ts.__ivy_ngcc_bak +10 -0
  37. package/lib/confirmation-alert/confirmation-alert.component.d.ts.map +1 -0
  38. package/lib/create-documents/create-documents.component.d.ts +5 -0
  39. package/lib/create-documents/create-documents.component.d.ts.__ivy_ngcc_bak +36 -0
  40. package/lib/create-documents/create-documents.component.d.ts.map +1 -0
  41. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts +5 -0
  42. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts.__ivy_ngcc_bak +14 -0
  43. package/lib/formgroup/cs-checkbox/cs-checkbox.component.d.ts.map +1 -0
  44. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +5 -0
  45. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts.__ivy_ngcc_bak +11 -0
  46. package/lib/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts.map +1 -0
  47. package/lib/formgroup/cs-radio/cs-radio.component.d.ts +5 -0
  48. package/lib/formgroup/cs-radio/cs-radio.component.d.ts.__ivy_ngcc_bak +13 -0
  49. package/lib/formgroup/cs-radio/cs-radio.component.d.ts.map +1 -0
  50. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts +5 -0
  51. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts.__ivy_ngcc_bak +5 -0
  52. package/lib/formgroup/cs-radio-group/cs-radio-group.component.d.ts.map +1 -0
  53. package/lib/formgroup/cs-select/cs-select.component.d.ts +5 -0
  54. package/lib/formgroup/cs-select/cs-select.component.d.ts.__ivy_ngcc_bak +31 -0
  55. package/lib/formgroup/cs-select/cs-select.component.d.ts.map +1 -0
  56. package/lib/formgroup/cs-switch/cs-switch.component.d.ts +5 -0
  57. package/lib/formgroup/cs-switch/cs-switch.component.d.ts.__ivy_ngcc_bak +12 -0
  58. package/lib/formgroup/cs-switch/cs-switch.component.d.ts.map +1 -0
  59. package/lib/formgroup/formgroup.module.d.ts +15 -0
  60. package/lib/formgroup/formgroup.module.d.ts.__ivy_ngcc_bak +2 -0
  61. package/lib/formgroup/formgroup.module.d.ts.map +1 -0
  62. package/lib/formgroup/pipes/pascal.pipe.d.ts +5 -0
  63. package/lib/formgroup/pipes/pascal.pipe.d.ts.__ivy_ngcc_bak +4 -0
  64. package/lib/formgroup/pipes/pascal.pipe.d.ts.map +1 -0
  65. package/lib/formgroup/select/cs-option/cs-option.component.d.ts +5 -0
  66. package/lib/formgroup/select/cs-option/cs-option.component.d.ts.__ivy_ngcc_bak +15 -0
  67. package/lib/formgroup/select/cs-option/cs-option.component.d.ts.map +1 -0
  68. package/lib/formgroup/select/cs-select/cs-select.component.d.ts +5 -0
  69. package/lib/formgroup/select/cs-select/cs-select.component.d.ts.__ivy_ngcc_bak +34 -0
  70. package/lib/formgroup/select/cs-select/cs-select.component.d.ts.map +1 -0
  71. package/lib/formgroup/select/select.module.d.ts +11 -0
  72. package/lib/formgroup/select/select.module.d.ts.__ivy_ngcc_bak +2 -0
  73. package/lib/formgroup/select/select.module.d.ts.map +1 -0
  74. package/lib/formgroup/select/select.service.d.ts +4 -0
  75. package/lib/formgroup/select/select.service.d.ts.__ivy_ngcc_bak +15 -0
  76. package/lib/formgroup/select/select.service.d.ts.map +1 -0
  77. package/lib/log-an-issue/log-an-issue.component.d.ts +5 -0
  78. package/lib/log-an-issue/log-an-issue.component.d.ts.__ivy_ngcc_bak +218 -0
  79. package/lib/log-an-issue/log-an-issue.component.d.ts.map +1 -0
  80. package/lib/more-option/more-option.component.d.ts +5 -0
  81. package/lib/more-option/more-option.component.d.ts.__ivy_ngcc_bak +21 -0
  82. package/lib/more-option/more-option.component.d.ts.map +1 -0
  83. package/lib/pipes/data-type.pipe.d.ts +5 -0
  84. package/lib/pipes/data-type.pipe.d.ts.__ivy_ngcc_bak +4 -0
  85. package/lib/pipes/data-type.pipe.d.ts.map +1 -0
  86. package/lib/pipes/list-mapper.pipe.d.ts +5 -0
  87. package/lib/pipes/list-mapper.pipe.d.ts.__ivy_ngcc_bak +4 -0
  88. package/lib/pipes/list-mapper.pipe.d.ts.map +1 -0
  89. package/lib/pipes/search.pipe.d.ts +5 -0
  90. package/lib/pipes/search.pipe.d.ts.__ivy_ngcc_bak +4 -0
  91. package/lib/pipes/search.pipe.d.ts.map +1 -0
  92. package/lib/pipes/space-breaker.pipe.d.ts +5 -0
  93. package/lib/pipes/space-breaker.pipe.d.ts.__ivy_ngcc_bak +4 -0
  94. package/lib/pipes/space-breaker.pipe.d.ts.map +1 -0
  95. package/lib/pipes/uncategorized-filter.pipe.d.ts +5 -0
  96. package/lib/pipes/uncategorized-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  97. package/lib/pipes/uncategorized-filter.pipe.d.ts.map +1 -0
  98. package/lib/pipes/user-filter.pipe.d.ts +5 -0
  99. package/lib/pipes/user-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  100. package/lib/pipes/user-filter.pipe.d.ts.map +1 -0
  101. package/lib/services/bulk-upload.service.d.ts +4 -0
  102. package/lib/services/bulk-upload.service.d.ts.__ivy_ngcc_bak +6 -0
  103. package/lib/services/bulk-upload.service.d.ts.map +1 -0
  104. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts +5 -0
  105. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts.__ivy_ngcc_bak +117 -0
  106. package/lib/sharedComponents/assessment-editor/components/add-logic/add-logic.component.d.ts.map +1 -0
  107. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts +5 -0
  108. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts.__ivy_ngcc_bak +19 -0
  109. package/lib/sharedComponents/assessment-editor/components/add-page-details/add-page-details.component.d.ts.map +1 -0
  110. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts +5 -0
  111. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts.__ivy_ngcc_bak +10 -0
  112. package/lib/sharedComponents/assessment-editor/components/add-response-set-popup/add-response-set-popup.component.d.ts.map +1 -0
  113. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts +5 -0
  114. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts.__ivy_ngcc_bak +22 -0
  115. package/lib/sharedComponents/assessment-editor/components/add-segment-popup/add-segment-popup.component.d.ts.map +1 -0
  116. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts +5 -0
  117. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts.__ivy_ngcc_bak +46 -0
  118. package/lib/sharedComponents/assessment-editor/components/assessment-settings/assessment-settings.component.d.ts.map +1 -0
  119. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts +26 -0
  120. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts.__ivy_ngcc_bak +2 -0
  121. package/lib/sharedComponents/assessment-editor/components/build/build.module.d.ts.map +1 -0
  122. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts +5 -0
  123. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts.__ivy_ngcc_bak +11 -0
  124. package/lib/sharedComponents/assessment-editor/components/build/checkbox/checkbox.component.d.ts.map +1 -0
  125. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts +5 -0
  126. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts.__ivy_ngcc_bak +16 -0
  127. package/lib/sharedComponents/assessment-editor/components/build/choice-settings-panel/choice-settings-panel.component.d.ts.map +1 -0
  128. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts +5 -0
  129. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts.__ivy_ngcc_bak +6 -0
  130. package/lib/sharedComponents/assessment-editor/components/build/date-time/date-time.component.d.ts.map +1 -0
  131. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts +5 -0
  132. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts.__ivy_ngcc_bak +11 -0
  133. package/lib/sharedComponents/assessment-editor/components/build/dropdown/dropdown.component.d.ts.map +1 -0
  134. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts +5 -0
  135. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts.__ivy_ngcc_bak +5 -0
  136. package/lib/sharedComponents/assessment-editor/components/build/image-choice/image-choice.component.d.ts.map +1 -0
  137. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts +5 -0
  138. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts.__ivy_ngcc_bak +5 -0
  139. package/lib/sharedComponents/assessment-editor/components/build/matrix-dropdown/matrix-dropdown.component.d.ts.map +1 -0
  140. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts +5 -0
  141. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts.__ivy_ngcc_bak +5 -0
  142. package/lib/sharedComponents/assessment-editor/components/build/matrix-rating-scale/matrix-rating-scale.component.d.ts.map +1 -0
  143. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts +5 -0
  144. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts.__ivy_ngcc_bak +11 -0
  145. package/lib/sharedComponents/assessment-editor/components/build/multiple-choice/multiple-choice.component.d.ts.map +1 -0
  146. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts +5 -0
  147. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts.__ivy_ngcc_bak +5 -0
  148. package/lib/sharedComponents/assessment-editor/components/build/multiple-textbox/multiple-textbox.component.d.ts.map +1 -0
  149. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts +5 -0
  150. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts.__ivy_ngcc_bak +5 -0
  151. package/lib/sharedComponents/assessment-editor/components/build/ranking/ranking.component.d.ts.map +1 -0
  152. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts +5 -0
  153. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts.__ivy_ngcc_bak +5 -0
  154. package/lib/sharedComponents/assessment-editor/components/build/slider/slider.component.d.ts.map +1 -0
  155. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts +5 -0
  156. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts.__ivy_ngcc_bak +9 -0
  157. package/lib/sharedComponents/assessment-editor/components/build/star-rating/star-rating.component.d.ts.map +1 -0
  158. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts +5 -0
  159. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts.__ivy_ngcc_bak +5 -0
  160. package/lib/sharedComponents/assessment-editor/components/build/thank-you/thank-you.component.d.ts.map +1 -0
  161. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts +5 -0
  162. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts.__ivy_ngcc_bak +12 -0
  163. package/lib/sharedComponents/assessment-editor/components/build/weightage-selector/weightage-selector.component.d.ts.map +1 -0
  164. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts +5 -0
  165. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts.__ivy_ngcc_bak +5 -0
  166. package/lib/sharedComponents/assessment-editor/components/build/welcome/welcome.component.d.ts.map +1 -0
  167. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts +5 -0
  168. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts.__ivy_ngcc_bak +57 -0
  169. package/lib/sharedComponents/assessment-editor/components/editor-wrapper/editor-wrapper.component.d.ts.map +1 -0
  170. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts +5 -0
  171. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts.__ivy_ngcc_bak +24 -0
  172. package/lib/sharedComponents/assessment-editor/components/logic/logic.component.d.ts.map +1 -0
  173. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts +5 -0
  174. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts.__ivy_ngcc_bak +8 -0
  175. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-checkbox/logic-checkbox.component.d.ts.map +1 -0
  176. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts +5 -0
  177. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts.__ivy_ngcc_bak +5 -0
  178. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-comment-box/logic-comment-box.component.d.ts.map +1 -0
  179. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts +5 -0
  180. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts.__ivy_ngcc_bak +14 -0
  181. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-date-time/logic-date-time.component.d.ts.map +1 -0
  182. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts +5 -0
  183. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts.__ivy_ngcc_bak +9 -0
  184. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-dropdown/logic-dropdown.component.d.ts.map +1 -0
  185. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts +5 -0
  186. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts.__ivy_ngcc_bak +5 -0
  187. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-image-choice/logic-image-choice.component.d.ts.map +1 -0
  188. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts +5 -0
  189. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts.__ivy_ngcc_bak +8 -0
  190. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-choice/logic-multiple-choice.component.d.ts.map +1 -0
  191. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts +5 -0
  192. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts.__ivy_ngcc_bak +5 -0
  193. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-multiple-textbox/logic-multiple-textbox.component.d.ts.map +1 -0
  194. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts +24 -0
  195. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts.__ivy_ngcc_bak +2 -0
  196. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-questions.module.d.ts.map +1 -0
  197. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts +5 -0
  198. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts.__ivy_ngcc_bak +5 -0
  199. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-ranking/logic-ranking.component.d.ts.map +1 -0
  200. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts +5 -0
  201. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts.__ivy_ngcc_bak +9 -0
  202. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-single-textbox/logic-single-textbox.component.d.ts.map +1 -0
  203. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts +5 -0
  204. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts.__ivy_ngcc_bak +5 -0
  205. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-slider/logic-slider.component.d.ts.map +1 -0
  206. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts +5 -0
  207. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts.__ivy_ngcc_bak +5 -0
  208. package/lib/sharedComponents/assessment-editor/components/logic-questions/logic-star-rating/logic-star-rating.component.d.ts.map +1 -0
  209. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts +5 -0
  210. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts.__ivy_ngcc_bak +23 -0
  211. package/lib/sharedComponents/assessment-editor/components/move/move.component.d.ts.map +1 -0
  212. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts +5 -0
  213. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts.__ivy_ngcc_bak +8 -0
  214. package/lib/sharedComponents/assessment-editor/components/page-header/page-header.component.d.ts.map +1 -0
  215. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts +5 -0
  216. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts.__ivy_ngcc_bak +4 -0
  217. package/lib/sharedComponents/assessment-editor/components/pipes/current-page-question.pipe.d.ts.map +1 -0
  218. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts +5 -0
  219. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts.__ivy_ngcc_bak +4 -0
  220. package/lib/sharedComponents/assessment-editor/components/pipes/error-message.pipe.d.ts.map +1 -0
  221. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts +5 -0
  222. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  223. package/lib/sharedComponents/assessment-editor/components/pipes/formatter.pipe.d.ts.map +1 -0
  224. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts +5 -0
  225. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  226. package/lib/sharedComponents/assessment-editor/components/pipes/question-filter.pipe.d.ts.map +1 -0
  227. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts +5 -0
  228. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  229. package/lib/sharedComponents/assessment-editor/components/pipes/question-page-filter.pipe.d.ts.map +1 -0
  230. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts +5 -0
  231. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts.__ivy_ngcc_bak +4 -0
  232. package/lib/sharedComponents/assessment-editor/components/pipes/question-parser.pipe.d.ts.map +1 -0
  233. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts +5 -0
  234. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts.__ivy_ngcc_bak +4 -0
  235. package/lib/sharedComponents/assessment-editor/components/pipes/type-of.pipe.d.ts.map +1 -0
  236. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts +5 -0
  237. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts.__ivy_ngcc_bak +8 -0
  238. package/lib/sharedComponents/assessment-editor/components/preview/preview-checkbox/preview-checkbox.component.d.ts.map +1 -0
  239. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts +5 -0
  240. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts.__ivy_ngcc_bak +5 -0
  241. package/lib/sharedComponents/assessment-editor/components/preview/preview-comment-box/preview-comment-box.component.d.ts.map +1 -0
  242. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts +5 -0
  243. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts.__ivy_ngcc_bak +11 -0
  244. package/lib/sharedComponents/assessment-editor/components/preview/preview-date-time/preview-date-time.component.d.ts.map +1 -0
  245. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts +5 -0
  246. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts.__ivy_ngcc_bak +8 -0
  247. package/lib/sharedComponents/assessment-editor/components/preview/preview-dropdown/preview-dropdown.component.d.ts.map +1 -0
  248. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts +5 -0
  249. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts.__ivy_ngcc_bak +8 -0
  250. package/lib/sharedComponents/assessment-editor/components/preview/preview-file-upload/preview-file-upload.component.d.ts.map +1 -0
  251. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts +5 -0
  252. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts.__ivy_ngcc_bak +5 -0
  253. package/lib/sharedComponents/assessment-editor/components/preview/preview-image-choice/preview-image-choice.component.d.ts.map +1 -0
  254. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts +5 -0
  255. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts.__ivy_ngcc_bak +7 -0
  256. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-dropdown/preview-matrix-dropdown.component.d.ts.map +1 -0
  257. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts +5 -0
  258. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts.__ivy_ngcc_bak +7 -0
  259. package/lib/sharedComponents/assessment-editor/components/preview/preview-matrix-rating-scale/preview-matrix-rating-scale.component.d.ts.map +1 -0
  260. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts +5 -0
  261. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts.__ivy_ngcc_bak +8 -0
  262. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-choice/preview-multiple-choice.component.d.ts.map +1 -0
  263. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts +5 -0
  264. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts.__ivy_ngcc_bak +5 -0
  265. package/lib/sharedComponents/assessment-editor/components/preview/preview-multiple-textbox/preview-multiple-textbox.component.d.ts.map +1 -0
  266. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts +5 -0
  267. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts.__ivy_ngcc_bak +5 -0
  268. package/lib/sharedComponents/assessment-editor/components/preview/preview-ranking/preview-ranking.component.d.ts.map +1 -0
  269. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts +5 -0
  270. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts.__ivy_ngcc_bak +6 -0
  271. package/lib/sharedComponents/assessment-editor/components/preview/preview-single-textbox/preview-single-textbox.component.d.ts.map +1 -0
  272. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts +5 -0
  273. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts.__ivy_ngcc_bak +5 -0
  274. package/lib/sharedComponents/assessment-editor/components/preview/preview-slider/preview-slider.component.d.ts.map +1 -0
  275. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts +5 -0
  276. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts.__ivy_ngcc_bak +5 -0
  277. package/lib/sharedComponents/assessment-editor/components/preview/preview-star-rating/preview-star-rating.component.d.ts.map +1 -0
  278. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts +5 -0
  279. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts.__ivy_ngcc_bak +27 -0
  280. package/lib/sharedComponents/assessment-editor/components/preview/preview-wrapper/preview-wrapper.component.d.ts.map +1 -0
  281. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts +33 -0
  282. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts.__ivy_ngcc_bak +2 -0
  283. package/lib/sharedComponents/assessment-editor/components/preview/preview.module.d.ts.map +1 -0
  284. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts +5 -0
  285. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts.__ivy_ngcc_bak +5 -0
  286. package/lib/sharedComponents/assessment-editor/components/preview/thank-you/thank-you.component.d.ts.map +1 -0
  287. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts +5 -0
  288. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts.__ivy_ngcc_bak +5 -0
  289. package/lib/sharedComponents/assessment-editor/components/preview/welcome/welcome.component.d.ts.map +1 -0
  290. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts +5 -0
  291. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts.__ivy_ngcc_bak +6 -0
  292. package/lib/sharedComponents/assessment-editor/components/question-type/question-type.component.d.ts.map +1 -0
  293. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts +5 -0
  294. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts.__ivy_ngcc_bak +28 -0
  295. package/lib/sharedComponents/assessment-editor/components/quick-settings/quick-settings.component.d.ts.map +1 -0
  296. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts +5 -0
  297. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts.__ivy_ngcc_bak +11 -0
  298. package/lib/sharedComponents/assessment-editor/components/response-selector/response-selector.component.d.ts.map +1 -0
  299. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts +5 -0
  300. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts.__ivy_ngcc_bak +16 -0
  301. package/lib/sharedComponents/assessment-editor/components/setting-anonymous/setting-anonymous.component.d.ts.map +1 -0
  302. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts +5 -0
  303. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts.__ivy_ngcc_bak +47 -0
  304. package/lib/sharedComponents/assessment-editor/components/setting-response-segment/setting-response-segment.component.d.ts.map +1 -0
  305. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts +5 -0
  306. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts.__ivy_ngcc_bak +35 -0
  307. package/lib/sharedComponents/assessment-editor/components/single-line-editor/single-line-editor.component.d.ts.map +1 -0
  308. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts +5 -0
  309. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts.__ivy_ngcc_bak +8 -0
  310. package/lib/sharedComponents/assessment-editor/components/toolkit/toolkit.component.d.ts.map +1 -0
  311. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts +5 -0
  312. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts.__ivy_ngcc_bak +15 -0
  313. package/lib/sharedComponents/assessment-editor/components/welcome-thankyou/welcome-thankyou.component.d.ts.map +1 -0
  314. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts +5 -0
  315. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts.__ivy_ngcc_bak +66 -0
  316. package/lib/sharedComponents/assessment-editor/create-assessment-container/create-assessment-container.component.d.ts.map +1 -0
  317. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts +45 -0
  318. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts.__ivy_ngcc_bak +2 -0
  319. package/lib/sharedComponents/assessment-editor/create-assessment.module.d.ts.map +1 -0
  320. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts +4 -0
  321. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts.__ivy_ngcc_bak +185 -0
  322. package/lib/sharedComponents/assessment-editor/services/editor.service.d.ts.map +1 -0
  323. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts +4 -0
  324. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts.__ivy_ngcc_bak +4 -0
  325. package/lib/sharedComponents/assessment-editor/services/result-criteria.service.d.ts.map +1 -0
  326. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts +4 -0
  327. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts.__ivy_ngcc_bak +32 -0
  328. package/lib/sharedComponents/assessment-editor/services/validator.service.d.ts.map +1 -0
  329. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts +5 -0
  330. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  331. package/lib/sharedComponents/assessment-list/assessment-list-loader/assessment-list-loader.component.d.ts.map +1 -0
  332. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts +5 -0
  333. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  334. package/lib/sharedComponents/assessment-list/assessment-list-sub-loader/assessment-list-sub-loader.component.d.ts.map +1 -0
  335. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts +5 -0
  336. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts.__ivy_ngcc_bak +81 -0
  337. package/lib/sharedComponents/assessment-list/assessment-list.component.d.ts.map +1 -0
  338. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts +4 -0
  339. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts.__ivy_ngcc_bak +10 -0
  340. package/lib/sharedComponents/assessment-list/service/assessment.service.d.ts.map +1 -0
  341. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts +24 -0
  342. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts.__ivy_ngcc_bak +2 -0
  343. package/lib/sharedComponents/assessment-preview/assessment-preview.module.d.ts.map +1 -0
  344. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts +5 -0
  345. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts.__ivy_ngcc_bak +9 -0
  346. package/lib/sharedComponents/assessment-preview/checkbox-question/checkbox-question.component.d.ts.map +1 -0
  347. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts +5 -0
  348. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts.__ivy_ngcc_bak +12 -0
  349. package/lib/sharedComponents/assessment-preview/date-time/date-time.component.d.ts.map +1 -0
  350. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts +5 -0
  351. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts.__ivy_ngcc_bak +7 -0
  352. package/lib/sharedComponents/assessment-preview/device/device.component.d.ts.map +1 -0
  353. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts +5 -0
  354. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts.__ivy_ngcc_bak +7 -0
  355. package/lib/sharedComponents/assessment-preview/file-upload/file-upload.component.d.ts.map +1 -0
  356. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts +5 -0
  357. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts.__ivy_ngcc_bak +7 -0
  358. package/lib/sharedComponents/assessment-preview/page-header/page-header.component.d.ts.map +1 -0
  359. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts +5 -0
  360. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts.__ivy_ngcc_bak +11 -0
  361. package/lib/sharedComponents/assessment-preview/preview/preview.component.d.ts.map +1 -0
  362. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts +5 -0
  363. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts.__ivy_ngcc_bak +5 -0
  364. package/lib/sharedComponents/assessment-preview/preview-container/preview-container.component.d.ts.map +1 -0
  365. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts +5 -0
  366. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts.__ivy_ngcc_bak +6 -0
  367. package/lib/sharedComponents/assessment-preview/quick-settings/quick-settings.component.d.ts.map +1 -0
  368. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts +5 -0
  369. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts.__ivy_ngcc_bak +9 -0
  370. package/lib/sharedComponents/assessment-preview/radio-question/radio-question.component.d.ts.map +1 -0
  371. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts +5 -0
  372. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts.__ivy_ngcc_bak +9 -0
  373. package/lib/sharedComponents/assessment-preview/select-question/select-question.component.d.ts.map +1 -0
  374. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts +5 -0
  375. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts.__ivy_ngcc_bak +7 -0
  376. package/lib/sharedComponents/assessment-preview/single-textbox/single-textbox.component.d.ts.map +1 -0
  377. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts +5 -0
  378. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts.__ivy_ngcc_bak +6 -0
  379. package/lib/sharedComponents/assessment-preview/welcome/welcome.component.d.ts.map +1 -0
  380. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts +5 -0
  381. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts.__ivy_ngcc_bak +19 -0
  382. package/lib/sharedComponents/audit-category-list/audit-category-list.component.d.ts.map +1 -0
  383. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts +5 -0
  384. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts.__ivy_ngcc_bak +19 -0
  385. package/lib/sharedComponents/bulk-responsibility-view/bulk-responsibility-view.component.d.ts.map +1 -0
  386. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts +5 -0
  387. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts.__ivy_ngcc_bak +17 -0
  388. package/lib/sharedComponents/bulk-view/bulk-view.component.d.ts.map +1 -0
  389. package/lib/sharedComponents/category-list/category-list.component.d.ts +5 -0
  390. package/lib/sharedComponents/category-list/category-list.component.d.ts.__ivy_ngcc_bak +19 -0
  391. package/lib/sharedComponents/category-list/category-list.component.d.ts.map +1 -0
  392. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts +5 -0
  393. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts.__ivy_ngcc_bak +28 -0
  394. package/lib/sharedComponents/category-multiselect/category-multi-select.component.d.ts.map +1 -0
  395. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts +5 -0
  396. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts.__ivy_ngcc_bak +22 -0
  397. package/lib/sharedComponents/checkbox-list/checkbox-list.component.d.ts.map +1 -0
  398. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts +5 -0
  399. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts.__ivy_ngcc_bak +35 -0
  400. package/lib/sharedComponents/checkpoint/checkpoints/checkpoints.component.d.ts.map +1 -0
  401. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts +5 -0
  402. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts.__ivy_ngcc_bak +8 -0
  403. package/lib/sharedComponents/checkpoint/checkpoints-list/checkpoints-list.component.d.ts.map +1 -0
  404. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts +5 -0
  405. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts.__ivy_ngcc_bak +38 -0
  406. package/lib/sharedComponents/checkpoint/checkpoints-questions/checkpoints-questions.component.d.ts.map +1 -0
  407. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts +5 -0
  408. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts.__ivy_ngcc_bak +15 -0
  409. package/lib/sharedComponents/checkpoint-floating-bar/checkpoint-floating-bar.component.d.ts.map +1 -0
  410. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts +5 -0
  411. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts.__ivy_ngcc_bak +16 -0
  412. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-container/checkpoints-policy-container.component.d.ts.map +1 -0
  413. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts +5 -0
  414. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts.__ivy_ngcc_bak +5 -0
  415. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-list/checkpoints-policy-list.component.d.ts.map +1 -0
  416. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts +5 -0
  417. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts.__ivy_ngcc_bak +33 -0
  418. package/lib/sharedComponents/checkpoint-policy/checkpoints-policy-questions/checkpoints-policy-questions.component.d.ts.map +1 -0
  419. package/lib/sharedComponents/directive/autofocus.directive.d.ts +5 -0
  420. package/lib/sharedComponents/directive/autofocus.directive.d.ts.__ivy_ngcc_bak +6 -0
  421. package/lib/sharedComponents/directive/autofocus.directive.d.ts.map +1 -0
  422. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts +5 -0
  423. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts.__ivy_ngcc_bak +9 -0
  424. package/lib/sharedComponents/directive/conditional-focus.directive.d.ts.map +1 -0
  425. package/lib/sharedComponents/directive/drag-drop.directive.d.ts +5 -0
  426. package/lib/sharedComponents/directive/drag-drop.directive.d.ts.__ivy_ngcc_bak +8 -0
  427. package/lib/sharedComponents/directive/drag-drop.directive.d.ts.map +1 -0
  428. package/lib/sharedComponents/directive/input-trim.directive.d.ts +5 -0
  429. package/lib/sharedComponents/directive/input-trim.directive.d.ts.__ivy_ngcc_bak +3 -0
  430. package/lib/sharedComponents/directive/input-trim.directive.d.ts.map +1 -0
  431. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts +5 -0
  432. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts.__ivy_ngcc_bak +9 -0
  433. package/lib/sharedComponents/directive/scroll-in-view.directive.d.ts.map +1 -0
  434. package/lib/sharedComponents/document-section/document-section.component.d.ts +5 -0
  435. package/lib/sharedComponents/document-section/document-section.component.d.ts.__ivy_ngcc_bak +38 -0
  436. package/lib/sharedComponents/document-section/document-section.component.d.ts.map +1 -0
  437. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts +5 -0
  438. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts.__ivy_ngcc_bak +34 -0
  439. package/lib/sharedComponents/floating-bar/floating-bar.component.d.ts.map +1 -0
  440. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts +5 -0
  441. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts.__ivy_ngcc_bak +41 -0
  442. package/lib/sharedComponents/format-and-evidence/format-and-evidence.component.d.ts.map +1 -0
  443. package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts +5 -0
  444. package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts.__ivy_ngcc_bak +13 -0
  445. package/lib/sharedComponents/framework-list/framework-list-table/framework-list-table.component.d.ts.map +1 -0
  446. package/lib/sharedComponents/framework-list/framework-list.component.d.ts +5 -0
  447. package/lib/sharedComponents/framework-list/framework-list.component.d.ts.__ivy_ngcc_bak +108 -0
  448. package/lib/sharedComponents/framework-list/framework-list.component.d.ts.map +1 -0
  449. package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts +5 -0
  450. package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts.__ivy_ngcc_bak +14 -0
  451. package/lib/sharedComponents/framework-list/framework-responsibility-table/framework-responsibility-table.component.d.ts.map +1 -0
  452. package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts +5 -0
  453. package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  454. package/lib/sharedComponents/framework-list/framework-table-loader/framework-table-loader.component.d.ts.map +1 -0
  455. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts +5 -0
  456. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts.__ivy_ngcc_bak +26 -0
  457. package/lib/sharedComponents/framework-list/parent-table/parent-table.component.d.ts.map +1 -0
  458. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts +5 -0
  459. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts.__ivy_ngcc_bak +37 -0
  460. package/lib/sharedComponents/frequency/frequency-annual/frequency-annual.component.d.ts.map +1 -0
  461. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts +5 -0
  462. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts.__ivy_ngcc_bak +35 -0
  463. package/lib/sharedComponents/frequency/frequency-biannual/frequency-biannual.component.d.ts.map +1 -0
  464. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts +5 -0
  465. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts.__ivy_ngcc_bak +10 -0
  466. package/lib/sharedComponents/frequency/frequency-checkbox-list/frequency-checkbox-list.component.d.ts.map +1 -0
  467. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts +5 -0
  468. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts.__ivy_ngcc_bak +29 -0
  469. package/lib/sharedComponents/frequency/frequency-container/frequency-container.component.d.ts.map +1 -0
  470. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts +5 -0
  471. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts.__ivy_ngcc_bak +30 -0
  472. package/lib/sharedComponents/frequency/frequency-daily/frequency-daily.component.d.ts.map +1 -0
  473. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts +5 -0
  474. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts.__ivy_ngcc_bak +19 -0
  475. package/lib/sharedComponents/frequency/frequency-due-date/frequency-due-date.component.d.ts.map +1 -0
  476. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts +5 -0
  477. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts.__ivy_ngcc_bak +36 -0
  478. package/lib/sharedComponents/frequency/frequency-lifecycle/frequency-lifecycle.component.d.ts.map +1 -0
  479. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts +5 -0
  480. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts.__ivy_ngcc_bak +33 -0
  481. package/lib/sharedComponents/frequency/frequency-monthly/frequency-monthly.component.d.ts.map +1 -0
  482. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts +5 -0
  483. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts.__ivy_ngcc_bak +29 -0
  484. package/lib/sharedComponents/frequency/frequency-on-completion-of/frequency-on-completion-of.component.d.ts.map +1 -0
  485. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts +5 -0
  486. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts.__ivy_ngcc_bak +32 -0
  487. package/lib/sharedComponents/frequency/frequency-one-time/frequency-one-time.component.d.ts.map +1 -0
  488. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts +5 -0
  489. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts.__ivy_ngcc_bak +19 -0
  490. package/lib/sharedComponents/frequency/frequency-ongoing/frequency-ongoing.component.d.ts.map +1 -0
  491. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts +5 -0
  492. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts.__ivy_ngcc_bak +32 -0
  493. package/lib/sharedComponents/frequency/frequency-quarterly/frequency-quarterly.component.d.ts.map +1 -0
  494. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts +5 -0
  495. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts.__ivy_ngcc_bak +10 -0
  496. package/lib/sharedComponents/frequency/frequency-radio-list/frequency-radio-list.component.d.ts.map +1 -0
  497. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts +5 -0
  498. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts.__ivy_ngcc_bak +59 -0
  499. package/lib/sharedComponents/frequency/frequency-random/frequency-random.component.d.ts.map +1 -0
  500. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts +5 -0
  501. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts.__ivy_ngcc_bak +22 -0
  502. package/lib/sharedComponents/frequency/frequency-top/frequency-top.component.d.ts.map +1 -0
  503. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts +5 -0
  504. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts.__ivy_ngcc_bak +32 -0
  505. package/lib/sharedComponents/frequency/frequency-weekly/frequency-weekly.component.d.ts.map +1 -0
  506. package/lib/sharedComponents/frequency/frequency.service.d.ts +4 -0
  507. package/lib/sharedComponents/frequency/frequency.service.d.ts.__ivy_ngcc_bak +47 -0
  508. package/lib/sharedComponents/frequency/frequency.service.d.ts.map +1 -0
  509. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts +5 -0
  510. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts.__ivy_ngcc_bak +37 -0
  511. package/lib/sharedComponents/frequency-dialog/frequency-dialog-annual/frequency-dialog-annual.component.d.ts.map +1 -0
  512. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts +5 -0
  513. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts.__ivy_ngcc_bak +35 -0
  514. package/lib/sharedComponents/frequency-dialog/frequency-dialog-biannual/frequency-dialog-biannual.component.d.ts.map +1 -0
  515. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts +5 -0
  516. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts.__ivy_ngcc_bak +9 -0
  517. package/lib/sharedComponents/frequency-dialog/frequency-dialog-checkbox-list/frequency-dialog-checkbox-list.component.d.ts.map +1 -0
  518. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts +5 -0
  519. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts.__ivy_ngcc_bak +31 -0
  520. package/lib/sharedComponents/frequency-dialog/frequency-dialog-container/frequency-dialog-container.component.d.ts.map +1 -0
  521. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts +5 -0
  522. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts.__ivy_ngcc_bak +16 -0
  523. package/lib/sharedComponents/frequency-dialog/frequency-dialog-due-date/frequency-dialog-due-date.component.d.ts.map +1 -0
  524. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts +5 -0
  525. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts.__ivy_ngcc_bak +33 -0
  526. package/lib/sharedComponents/frequency-dialog/frequency-dialog-monthly/frequency-dialog-monthly.component.d.ts.map +1 -0
  527. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts +5 -0
  528. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts.__ivy_ngcc_bak +32 -0
  529. package/lib/sharedComponents/frequency-dialog/frequency-dialog-one-time/frequency-dialog-one-time.component.d.ts.map +1 -0
  530. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts +5 -0
  531. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts.__ivy_ngcc_bak +32 -0
  532. package/lib/sharedComponents/frequency-dialog/frequency-dialog-quarterly/frequency-dialog-quarterly.component.d.ts.map +1 -0
  533. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts +5 -0
  534. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts.__ivy_ngcc_bak +10 -0
  535. package/lib/sharedComponents/frequency-dialog/frequency-dialog-radio-list/frequency-dialog-radio-list.component.d.ts.map +1 -0
  536. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts +5 -0
  537. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts.__ivy_ngcc_bak +22 -0
  538. package/lib/sharedComponents/frequency-dialog/frequency-dialog-top/frequency-dialog-top.component.d.ts.map +1 -0
  539. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts +5 -0
  540. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts.__ivy_ngcc_bak +30 -0
  541. package/lib/sharedComponents/frequency-dialog/frequency-dialog-weekly/frequency-dialog-weekly.component.d.ts.map +1 -0
  542. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts +5 -0
  543. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts.__ivy_ngcc_bak +29 -0
  544. package/lib/sharedComponents/group-users-list/group-users-list.component.d.ts.map +1 -0
  545. package/lib/sharedComponents/list-loader/list-loader.component.d.ts +5 -0
  546. package/lib/sharedComponents/list-loader/list-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  547. package/lib/sharedComponents/list-loader/list-loader.component.d.ts.map +1 -0
  548. package/lib/sharedComponents/no-data/no-data.component.d.ts +5 -0
  549. package/lib/sharedComponents/no-data/no-data.component.d.ts.__ivy_ngcc_bak +14 -0
  550. package/lib/sharedComponents/no-data/no-data.component.d.ts.map +1 -0
  551. package/lib/sharedComponents/no-data/no-data.module.d.ts +8 -0
  552. package/lib/sharedComponents/no-data/no-data.module.d.ts.__ivy_ngcc_bak +2 -0
  553. package/lib/sharedComponents/no-data/no-data.module.d.ts.map +1 -0
  554. package/lib/sharedComponents/owner-list/owner-list.component.d.ts +5 -0
  555. package/lib/sharedComponents/owner-list/owner-list.component.d.ts.__ivy_ngcc_bak +36 -0
  556. package/lib/sharedComponents/owner-list/owner-list.component.d.ts.map +1 -0
  557. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts +5 -0
  558. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  559. package/lib/sharedComponents/pipes/array-filter.pipe.d.ts.map +1 -0
  560. package/lib/sharedComponents/pipes/filterPipe.d.ts +5 -0
  561. package/lib/sharedComponents/pipes/filterPipe.d.ts.__ivy_ngcc_bak +4 -0
  562. package/lib/sharedComponents/pipes/filterPipe.d.ts.map +1 -0
  563. package/lib/sharedComponents/pipes/short-merge.pipe.d.ts +5 -0
  564. package/lib/sharedComponents/pipes/short-merge.pipe.d.ts.__ivy_ngcc_bak +4 -0
  565. package/lib/sharedComponents/pipes/short-merge.pipe.d.ts.map +1 -0
  566. package/lib/sharedComponents/pipes/spaceTrim.pipe.d.ts +5 -0
  567. package/lib/sharedComponents/pipes/spaceTrim.pipe.d.ts.__ivy_ngcc_bak +4 -0
  568. package/lib/sharedComponents/pipes/spaceTrim.pipe.d.ts.map +1 -0
  569. package/lib/sharedComponents/pipes/within-data.pipe.d.ts +5 -0
  570. package/lib/sharedComponents/pipes/within-data.pipe.d.ts.__ivy_ngcc_bak +4 -0
  571. package/lib/sharedComponents/pipes/within-data.pipe.d.ts.map +1 -0
  572. package/lib/sharedComponents/program-listing/program-listing.component.d.ts +5 -0
  573. package/lib/sharedComponents/program-listing/program-listing.component.d.ts.__ivy_ngcc_bak +119 -0
  574. package/lib/sharedComponents/program-listing/program-listing.component.d.ts.map +1 -0
  575. package/lib/sharedComponents/radio-list/radio-list.component.d.ts +5 -0
  576. package/lib/sharedComponents/radio-list/radio-list.component.d.ts.__ivy_ngcc_bak +24 -0
  577. package/lib/sharedComponents/radio-list/radio-list.component.d.ts.map +1 -0
  578. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts +5 -0
  579. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  580. package/lib/sharedComponents/radio-list-with-pagination/link-treatment-loader/link-treatment-loader.component.d.ts.map +1 -0
  581. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts +5 -0
  582. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts.__ivy_ngcc_bak +47 -0
  583. package/lib/sharedComponents/radio-list-with-pagination/radio-list.component.d.ts.map +1 -0
  584. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts +5 -0
  585. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts.__ivy_ngcc_bak +26 -0
  586. package/lib/sharedComponents/responsibility-centers-list/responsibility-centers-list.component.d.ts.map +1 -0
  587. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts +5 -0
  588. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts.__ivy_ngcc_bak +23 -0
  589. package/lib/sharedComponents/responsibility-risk-selector/responsibility-risk-selector.component.d.ts.map +1 -0
  590. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts +5 -0
  591. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts.__ivy_ngcc_bak +15 -0
  592. package/lib/sharedComponents/review-frequency/review-frequency.component.d.ts.map +1 -0
  593. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts +5 -0
  594. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts.__ivy_ngcc_bak +35 -0
  595. package/lib/sharedComponents/risk-classification/risk-classification.component.d.ts.map +1 -0
  596. package/lib/sharedComponents/roles-list/roles-list.component.d.ts +5 -0
  597. package/lib/sharedComponents/roles-list/roles-list.component.d.ts.__ivy_ngcc_bak +8 -0
  598. package/lib/sharedComponents/roles-list/roles-list.component.d.ts.map +1 -0
  599. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts +5 -0
  600. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts.__ivy_ngcc_bak +21 -0
  601. package/lib/sharedComponents/users-radio-list/users-radio-list.component.d.ts.map +1 -0
  602. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts +5 -0
  603. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts.__ivy_ngcc_bak +5 -0
  604. package/lib/sharedComponents/v-loader/loader/loader.component.d.ts.map +1 -0
  605. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts +5 -0
  606. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts.__ivy_ngcc_bak +5 -0
  607. package/lib/sharedComponents/v-loader/loader-inline/loader-inline.component.d.ts.map +1 -0
  608. package/lib/sharedComponents/v-loader/v-loader.module.d.ts +9 -0
  609. package/lib/sharedComponents/v-loader/v-loader.module.d.ts.__ivy_ngcc_bak +2 -0
  610. package/lib/sharedComponents/v-loader/v-loader.module.d.ts.map +1 -0
  611. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts +11 -0
  612. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts.__ivy_ngcc_bak +2 -0
  613. package/lib/ui-kit/action-dialog/action-dialog.module.d.ts.map +1 -0
  614. package/lib/ui-kit/action-dialog/active/active.component.d.ts +5 -0
  615. package/lib/ui-kit/action-dialog/active/active.component.d.ts.__ivy_ngcc_bak +12 -0
  616. package/lib/ui-kit/action-dialog/active/active.component.d.ts.map +1 -0
  617. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts +5 -0
  618. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts.__ivy_ngcc_bak +12 -0
  619. package/lib/ui-kit/action-dialog/deactivate/deactivate.component.d.ts.map +1 -0
  620. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts +5 -0
  621. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts.__ivy_ngcc_bak +11 -0
  622. package/lib/ui-kit/action-dialog/delete/delete.component.d.ts.map +1 -0
  623. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts +5 -0
  624. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts.__ivy_ngcc_bak +12 -0
  625. package/lib/ui-kit/action-dialog/duplicate/duplicate.component.d.ts.map +1 -0
  626. package/lib/ui-kit/click-outside/click-outside.directive.d.ts +5 -0
  627. package/lib/ui-kit/click-outside/click-outside.directive.d.ts.__ivy_ngcc_bak +7 -0
  628. package/lib/ui-kit/click-outside/click-outside.directive.d.ts.map +1 -0
  629. package/lib/ui-kit/click-outside/click-outside.module.d.ts +8 -0
  630. package/lib/ui-kit/click-outside/click-outside.module.d.ts.__ivy_ngcc_bak +2 -0
  631. package/lib/ui-kit/click-outside/click-outside.module.d.ts.map +1 -0
  632. package/lib/ui-kit/dialog/dialog-ref.d.ts +5 -0
  633. package/lib/ui-kit/dialog/dialog-ref.d.ts.__ivy_ngcc_bak +7 -0
  634. package/lib/ui-kit/dialog/dialog-ref.d.ts.map +1 -0
  635. package/lib/ui-kit/dialog/dialog.component.d.ts +5 -0
  636. package/lib/ui-kit/dialog/dialog.component.d.ts.__ivy_ngcc_bak +29 -0
  637. package/lib/ui-kit/dialog/dialog.component.d.ts.map +1 -0
  638. package/lib/ui-kit/dialog/dialog.module.d.ts +9 -0
  639. package/lib/ui-kit/dialog/dialog.module.d.ts.__ivy_ngcc_bak +2 -0
  640. package/lib/ui-kit/dialog/dialog.module.d.ts.map +1 -0
  641. package/lib/ui-kit/dialog/dialog.service.d.ts +4 -0
  642. package/lib/ui-kit/dialog/dialog.service.d.ts.__ivy_ngcc_bak +15 -0
  643. package/lib/ui-kit/dialog/dialog.service.d.ts.map +1 -0
  644. package/lib/ui-kit/dialog/insertion.directive.d.ts +5 -0
  645. package/lib/ui-kit/dialog/insertion.directive.d.ts.__ivy_ngcc_bak +5 -0
  646. package/lib/ui-kit/dialog/insertion.directive.d.ts.map +1 -0
  647. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts +5 -0
  648. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  649. package/lib/ui-kit/editor-loader/editor-loader/editor-loader.component.d.ts.map +1 -0
  650. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts +8 -0
  651. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts.__ivy_ngcc_bak +2 -0
  652. package/lib/ui-kit/editor-loader/editor-loader.module.d.ts.map +1 -0
  653. package/lib/ui-kit/format-html.pipe.d.ts +5 -0
  654. package/lib/ui-kit/format-html.pipe.d.ts.__ivy_ngcc_bak +7 -0
  655. package/lib/ui-kit/format-html.pipe.d.ts.map +1 -0
  656. package/lib/ui-kit/formgroup/click-outside.directive.d.ts +5 -0
  657. package/lib/ui-kit/formgroup/click-outside.directive.d.ts.__ivy_ngcc_bak +7 -0
  658. package/lib/ui-kit/formgroup/click-outside.directive.d.ts.map +1 -0
  659. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts +5 -0
  660. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts.__ivy_ngcc_bak +11 -0
  661. package/lib/ui-kit/formgroup/cs-checkbox/cs-checkbox.component.d.ts.map +1 -0
  662. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts +5 -0
  663. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts.__ivy_ngcc_bak +11 -0
  664. package/lib/ui-kit/formgroup/cs-checkbox-indeterminate/cs-checkbox-indeterminate.component.d.ts.map +1 -0
  665. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts +5 -0
  666. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts.__ivy_ngcc_bak +12 -0
  667. package/lib/ui-kit/formgroup/cs-radio/cs-radio.component.d.ts.map +1 -0
  668. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts +5 -0
  669. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts.__ivy_ngcc_bak +5 -0
  670. package/lib/ui-kit/formgroup/cs-radio-group/cs-radio-group.component.d.ts.map +1 -0
  671. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts +5 -0
  672. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts.__ivy_ngcc_bak +33 -0
  673. package/lib/ui-kit/formgroup/cs-select/cs-select.component.d.ts.map +1 -0
  674. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts +5 -0
  675. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts.__ivy_ngcc_bak +12 -0
  676. package/lib/ui-kit/formgroup/cs-switch/cs-switch.component.d.ts.map +1 -0
  677. package/lib/ui-kit/formgroup/formgroup.module.d.ts +18 -0
  678. package/lib/ui-kit/formgroup/formgroup.module.d.ts.__ivy_ngcc_bak +2 -0
  679. package/lib/ui-kit/formgroup/formgroup.module.d.ts.map +1 -0
  680. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts +5 -0
  681. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts.__ivy_ngcc_bak +4 -0
  682. package/lib/ui-kit/formgroup/pipes/pascal.pipe.d.ts.map +1 -0
  683. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts +5 -0
  684. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts.__ivy_ngcc_bak +4 -0
  685. package/lib/ui-kit/formgroup/pipes/searchMultiSelect.pipe.d.ts.map +1 -0
  686. package/lib/ui-kit/line-loader/line-loader.component.d.ts +5 -0
  687. package/lib/ui-kit/line-loader/line-loader.component.d.ts.__ivy_ngcc_bak +6 -0
  688. package/lib/ui-kit/line-loader/line-loader.component.d.ts.map +1 -0
  689. package/lib/ui-kit/line-loader/line-loader.module.d.ts +8 -0
  690. package/lib/ui-kit/line-loader/line-loader.module.d.ts.__ivy_ngcc_bak +2 -0
  691. package/lib/ui-kit/line-loader/line-loader.module.d.ts.map +1 -0
  692. package/lib/ui-kit/no-data/no-data.component.d.ts +5 -0
  693. package/lib/ui-kit/no-data/no-data.component.d.ts.__ivy_ngcc_bak +18 -0
  694. package/lib/ui-kit/no-data/no-data.component.d.ts.map +1 -0
  695. package/lib/ui-kit/no-data/no-data.module.d.ts +8 -0
  696. package/lib/ui-kit/no-data/no-data.module.d.ts.__ivy_ngcc_bak +2 -0
  697. package/lib/ui-kit/no-data/no-data.module.d.ts.map +1 -0
  698. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts +5 -0
  699. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts.__ivy_ngcc_bak +23 -0
  700. package/lib/ui-kit/pagination/pagination/pagination.component.d.ts.map +1 -0
  701. package/lib/ui-kit/pagination/pagination.module.d.ts +9 -0
  702. package/lib/ui-kit/pagination/pagination.module.d.ts.__ivy_ngcc_bak +2 -0
  703. package/lib/ui-kit/pagination/pagination.module.d.ts.map +1 -0
  704. package/lib/ui-kit/popover/popover-event.directive.d.ts +5 -0
  705. package/lib/ui-kit/popover/popover-event.directive.d.ts.__ivy_ngcc_bak +7 -0
  706. package/lib/ui-kit/popover/popover-event.directive.d.ts.map +1 -0
  707. package/lib/ui-kit/popover/popover-longpress.directive.d.ts +5 -0
  708. package/lib/ui-kit/popover/popover-longpress.directive.d.ts.__ivy_ngcc_bak +13 -0
  709. package/lib/ui-kit/popover/popover-longpress.directive.d.ts.map +1 -0
  710. package/lib/ui-kit/popover/popover.component.d.ts +5 -0
  711. package/lib/ui-kit/popover/popover.component.d.ts.__ivy_ngcc_bak +24 -0
  712. package/lib/ui-kit/popover/popover.component.d.ts.map +1 -0
  713. package/lib/ui-kit/popover/popover.directive.d.ts +5 -0
  714. package/lib/ui-kit/popover/popover.directive.d.ts.__ivy_ngcc_bak +16 -0
  715. package/lib/ui-kit/popover/popover.directive.d.ts.map +1 -0
  716. package/lib/ui-kit/popover/popover.module.d.ts +11 -0
  717. package/lib/ui-kit/popover/popover.module.d.ts.__ivy_ngcc_bak +2 -0
  718. package/lib/ui-kit/popover/popover.module.d.ts.map +1 -0
  719. package/lib/ui-kit/popover/popover.service.d.ts +4 -0
  720. package/lib/ui-kit/popover/popover.service.d.ts.__ivy_ngcc_bak +9 -0
  721. package/lib/ui-kit/popover/popover.service.d.ts.map +1 -0
  722. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts +5 -0
  723. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts.__ivy_ngcc_bak +22 -0
  724. package/lib/ui-kit/popover-hover/popover-hover.component.d.ts.map +1 -0
  725. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts +5 -0
  726. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts.__ivy_ngcc_bak +12 -0
  727. package/lib/ui-kit/popover-hover/popover-hover.directive.d.ts.map +1 -0
  728. package/lib/ui-kit/popover-hover/popover-hover.module.d.ts +9 -0
  729. package/lib/ui-kit/popover-hover/popover-hover.module.d.ts.__ivy_ngcc_bak +2 -0
  730. package/lib/ui-kit/popover-hover/popover-hover.module.d.ts.map +1 -0
  731. package/lib/ui-kit/popover-hover/popover-hover.service.d.ts +4 -0
  732. package/lib/ui-kit/popover-hover/popover-hover.service.d.ts.__ivy_ngcc_bak +9 -0
  733. package/lib/ui-kit/popover-hover/popover-hover.service.d.ts.map +1 -0
  734. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts +5 -0
  735. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts.__ivy_ngcc_bak +12 -0
  736. package/lib/ui-kit/smiley-dialog/smiley-dialog.component.d.ts.map +1 -0
  737. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts +8 -0
  738. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts.__ivy_ngcc_bak +2 -0
  739. package/lib/ui-kit/smiley-dialog/smiley-dialog.module.d.ts.map +1 -0
  740. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts +5 -0
  741. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts.__ivy_ngcc_bak +12 -0
  742. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.component.d.ts.map +1 -0
  743. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts +8 -0
  744. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts.__ivy_ngcc_bak +2 -0
  745. package/lib/ui-kit/smiley-dialog-inline/smiley-dialog-inline.module.d.ts.map +1 -0
  746. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts +5 -0
  747. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts.__ivy_ngcc_bak +17 -0
  748. package/lib/ui-kit/snack-bar/snack-bar.component.d.ts.map +1 -0
  749. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts +8 -0
  750. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts.__ivy_ngcc_bak +2 -0
  751. package/lib/ui-kit/snack-bar/snack-bar.module.d.ts.map +1 -0
  752. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts +4 -0
  753. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts.__ivy_ngcc_bak +8 -0
  754. package/lib/ui-kit/snack-bar/snack-bar.service.d.ts.map +1 -0
  755. package/lib/ui-kit/tooltip/tooltip.directive.d.ts +5 -0
  756. package/lib/ui-kit/tooltip/tooltip.directive.d.ts.__ivy_ngcc_bak +24 -0
  757. package/lib/ui-kit/tooltip/tooltip.directive.d.ts.map +1 -0
  758. package/lib/ui-kit/tooltip/tooltip.module.d.ts +8 -0
  759. package/lib/ui-kit/tooltip/tooltip.module.d.ts.__ivy_ngcc_bak +2 -0
  760. package/lib/ui-kit/tooltip/tooltip.module.d.ts.map +1 -0
  761. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts +5 -0
  762. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts.__ivy_ngcc_bak +231 -0
  763. package/lib/workflow-assessment/import-an-assessment/import-an-assessment.component.d.ts.map +1 -0
  764. package/lib/workflow-assessment/workflow-assessment.component.d.ts +5 -0
  765. package/lib/workflow-assessment/workflow-assessment.component.d.ts.__ivy_ngcc_bak +63 -0
  766. package/lib/workflow-assessment/workflow-assessment.component.d.ts.map +1 -0
  767. package/lib/workflow-compliance/workflow-compliance.component.d.ts +5 -0
  768. package/lib/workflow-compliance/workflow-compliance.component.d.ts.__ivy_ngcc_bak +317 -0
  769. package/lib/workflow-compliance/workflow-compliance.component.d.ts.map +1 -0
  770. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts +5 -0
  771. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts.__ivy_ngcc_bak +127 -0
  772. package/lib/workflow-engine-container/workflow-engine-container.component.d.ts.map +1 -0
  773. package/lib/workflow-engine.module.d.ts +128 -0
  774. package/lib/workflow-engine.module.d.ts.__ivy_ngcc_bak +5 -0
  775. package/lib/workflow-engine.module.d.ts.map +1 -0
  776. package/lib/workflow-engine.service.d.ts +4 -0
  777. package/lib/workflow-engine.service.d.ts.__ivy_ngcc_bak +3 -0
  778. package/lib/workflow-engine.service.d.ts.map +1 -0
  779. package/lib/workflow-pagination/workflow-pagination.component.d.ts +5 -0
  780. package/lib/workflow-pagination/workflow-pagination.component.d.ts.__ivy_ngcc_bak +24 -0
  781. package/lib/workflow-pagination/workflow-pagination.component.d.ts.map +1 -0
  782. package/lib/workflow-policy/workflow-policy.component.d.ts +5 -0
  783. package/lib/workflow-policy/workflow-policy.component.d.ts.__ivy_ngcc_bak +283 -0
  784. package/lib/workflow-policy/workflow-policy.component.d.ts.map +1 -0
  785. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts +5 -0
  786. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  787. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-loader/assessment-loader.component.d.ts.map +1 -0
  788. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts +5 -0
  789. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts.__ivy_ngcc_bak +87 -0
  790. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-picker.component.d.ts.map +1 -0
  791. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts +5 -0
  792. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts.__ivy_ngcc_bak +5 -0
  793. package/lib/workflow-program/create-program-ui/assessment-picker/assessment-sub-loader/assessment-sub-loader.component.d.ts.map +1 -0
  794. package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts +4 -0
  795. package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts.__ivy_ngcc_bak +13 -0
  796. package/lib/workflow-program/create-program-ui/assessment-picker/assessment.service.d.ts.map +1 -0
  797. package/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.d.ts +5 -0
  798. package/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.d.ts.__ivy_ngcc_bak +4 -0
  799. package/lib/workflow-program/create-program-ui/assessment-picker/selected-assessment.pipe.d.ts.map +1 -0
  800. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts +5 -0
  801. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts.__ivy_ngcc_bak +24 -0
  802. package/lib/workflow-program/create-program-ui/assessment-picker/workflow-pagination/workflow-pagination.component.d.ts.map +1 -0
  803. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts +5 -0
  804. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts.__ivy_ngcc_bak +13 -0
  805. package/lib/workflow-program/create-program-ui/checkbox/checkbox.component.d.ts.map +1 -0
  806. package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts +43 -0
  807. package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts.__ivy_ngcc_bak +2 -0
  808. package/lib/workflow-program/create-program-ui/create-program-ui.module.d.ts.map +1 -0
  809. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts +5 -0
  810. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts.__ivy_ngcc_bak +17 -0
  811. package/lib/workflow-program/create-program-ui/cs-switch/cs-switch.component.d.ts.map +1 -0
  812. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts +5 -0
  813. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts.__ivy_ngcc_bak +19 -0
  814. package/lib/workflow-program/create-program-ui/custom-field/custom-field.component.d.ts.map +1 -0
  815. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts +5 -0
  816. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts.__ivy_ngcc_bak +63 -0
  817. package/lib/workflow-program/create-program-ui/define-framework-listing/define-framework-listing.component.d.ts.map +1 -0
  818. package/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.d.ts +4 -0
  819. package/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.d.ts.__ivy_ngcc_bak +12 -0
  820. package/lib/workflow-program/create-program-ui/define-framework-listing/framework.service.d.ts.map +1 -0
  821. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts +5 -0
  822. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts.__ivy_ngcc_bak +5 -0
  823. package/lib/workflow-program/create-program-ui/define-framework-listing/loader/loader.component.d.ts.map +1 -0
  824. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.d.ts +5 -0
  825. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.d.ts.__ivy_ngcc_bak +4 -0
  826. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/category-all-select.pipe.d.ts.map +1 -0
  827. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.d.ts +5 -0
  828. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.d.ts.__ivy_ngcc_bak +4 -0
  829. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/search.pipe.d.ts.map +1 -0
  830. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.d.ts +5 -0
  831. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.d.ts.__ivy_ngcc_bak +4 -0
  832. package/lib/workflow-program/create-program-ui/define-framework-listing/pipes/sub-cat-indeter.pipe.d.ts.map +1 -0
  833. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts +5 -0
  834. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts.__ivy_ngcc_bak +3 -0
  835. package/lib/workflow-program/create-program-ui/directives/input-trim.directive.d.ts.map +1 -0
  836. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts +5 -0
  837. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts.__ivy_ngcc_bak +9 -0
  838. package/lib/workflow-program/create-program-ui/file-pill/file-pill.component.d.ts.map +1 -0
  839. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts +5 -0
  840. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts.__ivy_ngcc_bak +33 -0
  841. package/lib/workflow-program/create-program-ui/floating-bar/floating-bar.component.d.ts.map +1 -0
  842. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts +5 -0
  843. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts.__ivy_ngcc_bak +9 -0
  844. package/lib/workflow-program/create-program-ui/form-field/form-field.component.d.ts.map +1 -0
  845. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts +5 -0
  846. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts.__ivy_ngcc_bak +10 -0
  847. package/lib/workflow-program/create-program-ui/input-with-pill/input-with-pill.component.d.ts.map +1 -0
  848. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts +5 -0
  849. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts.__ivy_ngcc_bak +25 -0
  850. package/lib/workflow-program/create-program-ui/pagination/pagination/pagination.component.d.ts.map +1 -0
  851. package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts +9 -0
  852. package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts.__ivy_ngcc_bak +2 -0
  853. package/lib/workflow-program/create-program-ui/pagination/pagination.module.d.ts.map +1 -0
  854. package/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.d.ts +5 -0
  855. package/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.d.ts.__ivy_ngcc_bak +4 -0
  856. package/lib/workflow-program/create-program-ui/pipes/array-concat.pipe.d.ts.map +1 -0
  857. package/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.d.ts +5 -0
  858. package/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.d.ts.__ivy_ngcc_bak +4 -0
  859. package/lib/workflow-program/create-program-ui/pipes/assessment-resolver.pipe.d.ts.map +1 -0
  860. package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts +5 -0
  861. package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts.__ivy_ngcc_bak +4 -0
  862. package/lib/workflow-program/create-program-ui/pipes/list-to-id.pipe.d.ts.map +1 -0
  863. package/lib/workflow-program/create-program-ui/pipes/pager.pipe.d.ts +5 -0
  864. package/lib/workflow-program/create-program-ui/pipes/pager.pipe.d.ts.__ivy_ngcc_bak +4 -0
  865. package/lib/workflow-program/create-program-ui/pipes/pager.pipe.d.ts.map +1 -0
  866. package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts +5 -0
  867. package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts.__ivy_ngcc_bak +4 -0
  868. package/lib/workflow-program/create-program-ui/pipes/ref-disconnect.pipe.d.ts.map +1 -0
  869. package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts +5 -0
  870. package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts.__ivy_ngcc_bak +4 -0
  871. package/lib/workflow-program/create-program-ui/pipes/search.pipe.d.ts.map +1 -0
  872. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts +5 -0
  873. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts.__ivy_ngcc_bak +5 -0
  874. package/lib/workflow-program/create-program-ui/role-list/loader/loader.component.d.ts.map +1 -0
  875. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts +5 -0
  876. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts.__ivy_ngcc_bak +66 -0
  877. package/lib/workflow-program/create-program-ui/role-list/role-list.component.d.ts.map +1 -0
  878. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts +5 -0
  879. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts.__ivy_ngcc_bak +17 -0
  880. package/lib/workflow-program/create-program-ui/tab-selector/tab-selector.component.d.ts.map +1 -0
  881. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts +5 -0
  882. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts.__ivy_ngcc_bak +5 -0
  883. package/lib/workflow-program/create-program-ui/tick-mark/tick-mark.component.d.ts.map +1 -0
  884. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts +5 -0
  885. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts.__ivy_ngcc_bak +97 -0
  886. package/lib/workflow-program/create-program-ui/user-group-list/user-group-list.component.d.ts.map +1 -0
  887. package/lib/workflow-program/workflow-program.component.d.ts +5 -0
  888. package/lib/workflow-program/workflow-program.component.d.ts.__ivy_ngcc_bak +198 -0
  889. package/lib/workflow-program/workflow-program.component.d.ts.map +1 -0
  890. package/lib/workflow-risk/workflow-risk.component.d.ts +5 -0
  891. package/lib/workflow-risk/workflow-risk.component.d.ts.__ivy_ngcc_bak +188 -0
  892. package/lib/workflow-risk/workflow-risk.component.d.ts.map +1 -0
  893. package/lib/workflow-services/add-risk.service.d.ts +4 -0
  894. package/lib/workflow-services/add-risk.service.d.ts.__ivy_ngcc_bak +23 -0
  895. package/lib/workflow-services/add-risk.service.d.ts.map +1 -0
  896. package/lib/workflow-services/assessment.service.d.ts +4 -0
  897. package/lib/workflow-services/assessment.service.d.ts.__ivy_ngcc_bak +29 -0
  898. package/lib/workflow-services/assessment.service.d.ts.map +1 -0
  899. package/lib/workflow-services/auth.service.d.ts +4 -0
  900. package/lib/workflow-services/auth.service.d.ts.__ivy_ngcc_bak +30 -0
  901. package/lib/workflow-services/auth.service.d.ts.map +1 -0
  902. package/lib/workflow-services/frequency.service.d.ts +4 -0
  903. package/lib/workflow-services/frequency.service.d.ts.__ivy_ngcc_bak +5 -0
  904. package/lib/workflow-services/frequency.service.d.ts.map +1 -0
  905. package/lib/workflow-services/log-issue.service.d.ts +4 -0
  906. package/lib/workflow-services/log-issue.service.d.ts.__ivy_ngcc_bak +31 -0
  907. package/lib/workflow-services/log-issue.service.d.ts.map +1 -0
  908. package/lib/workflow-services/policy.service.d.ts +4 -0
  909. package/lib/workflow-services/policy.service.d.ts.__ivy_ngcc_bak +24 -0
  910. package/lib/workflow-services/policy.service.d.ts.map +1 -0
  911. package/lib/workflow-services/programs.service.d.ts +4 -0
  912. package/lib/workflow-services/programs.service.d.ts.__ivy_ngcc_bak +111 -0
  913. package/lib/workflow-services/programs.service.d.ts.map +1 -0
  914. package/lib/workflow-services/responsibility.service.d.ts +4 -0
  915. package/lib/workflow-services/responsibility.service.d.ts.__ivy_ngcc_bak +40 -0
  916. package/lib/workflow-services/responsibility.service.d.ts.map +1 -0
  917. package/lib/workflow-services/token-decoder.service.d.ts +4 -0
  918. package/lib/workflow-services/token-decoder.service.d.ts.__ivy_ngcc_bak +4 -0
  919. package/lib/workflow-services/token-decoder.service.d.ts.map +1 -0
  920. package/lib/workflow-services/ui-kit.service.d.ts +4 -0
  921. package/lib/workflow-services/ui-kit.service.d.ts.__ivy_ngcc_bak +5 -0
  922. package/lib/workflow-services/ui-kit.service.d.ts.map +1 -0
  923. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts +5 -0
  924. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts.__ivy_ngcc_bak +7 -0
  925. package/lib/workflow-survey-form/workflow-survey-form.component.d.ts.map +1 -0
  926. package/package.json +2 -2
  927. package/vcomply-workflow-engine.d.ts +2 -0
  928. package/vcomply-workflow-engine.d.ts.__ivy_ngcc_bak +304 -0
  929. package/vcomply-workflow-engine.d.ts.map +1 -0
@@ -395,7 +395,15 @@ export class AddMultipleRiskComponent {
395
395
  const payload = [];
396
396
  this.riskBulkUpload.risks.forEach((risk) => {
397
397
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;
398
- const frequencyValue = this.frequencyService.shortHand_freqCal(risk === null || risk === void 0 ? void 0 : risk.frequency);
398
+ let frequencyValue = '';
399
+ if ((risk === null || risk === void 0 ? void 0 : risk.frequency.toLowerCase()) === 'one time') {
400
+ const date = new Date();
401
+ date.setDate(date.getDate() + 1);
402
+ frequencyValue = '0~' + '' + date.getFullYear() + '~' + (date.getMonth() + 1) + '~' + date.getDate();
403
+ }
404
+ else {
405
+ frequencyValue = this.frequencyService.shortHand_freqCal(risk === null || risk === void 0 ? void 0 : risk.frequency);
406
+ }
399
407
  if (risk.isValid) {
400
408
  const obj = {
401
409
  title: risk === null || risk === void 0 ? void 0 : risk.riskName,
@@ -703,4 +711,4 @@ AddMultipleRiskComponent.propDecorators = {
703
711
  closeWorkflow: [{ type: Output }],
704
712
  disconnectRefresh: [{ type: Output }]
705
713
  };
706
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSxFQUFFLFlBQVksRUFBNkQsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQVNqQyxNQUFNLE9BQU8sd0JBQXdCO0lBOEVuQyxZQUFvQixXQUEyQixFQUNyQyxXQUF3QixFQUN2QixRQUF3QixFQUN6QixnQkFBc0M7UUFINUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7UUFoRnRDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFD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LE9BQU8sQ0FBQyxDQUFBO1NBQ2xCO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILGNBQWMsQ0FBQyxJQUFTOztRQUN0QixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUM1QixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdkI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FDdEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDM0IsUUFBUSxFQUFFLE1BQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLDBDQUFFLFFBQVE7U0FDakQsQ0FBQyxDQUNILENBQUM7UUFDRixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDOUMsQ0FBQzs7O1lBcHVCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsZ2pJQUFpRDs7YUFHbEQ7OztZQVhRLGNBQWM7WUFDZCxXQUFXO1lBRlgsZUFBZTtZQUdmLG9CQUFvQjs7OzRCQVcxQixNQUFNOzZCQUNOLE1BQU07NEJBQ04sTUFBTTtnQ0FDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFNpbXBsZUNoYW5nZXMsIE9uQ2hhbmdlcywgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjbG9uZURlZXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5pbXBvcnQgKiBhcyBYTFNYIGZyb20gJ3hsc3gnO1xyXG5pbXBvcnQgeyBDYXRlZ29yeUxpc3QgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2NhdGVnb3J5TGlzdCc7XHJcbmltcG9ydCB7IFNuYWNrQmFyU2VydmljZSB9IGZyb20gJy4uL3VpLWtpdC9zbmFjay1iYXIvc25hY2stYmFyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBZGRSaXNrU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2FkZC1yaXNrLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uL3dvcmtmbG93LXNlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEZyZXF1ZW5jeUJ1bGtTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvZnJlcXVlbmN5LnNlcnZpY2UnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbnR5cGUgQU9BID0gYW55W11bXTtcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYWRkLW11bHRpcGxlLXJpc2snLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50Lmxlc3MnLCAnLi4vZm9ybXMubGVzcyddLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIEFkZE11bHRpcGxlUmlza0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAT3V0cHV0KCkgcGlja2VyQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcG9wdWxhdGVPcHRpb24gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlV29ya2Zsb3cgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGRpc2Nvbm5lY3RSZWZyZXNoID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGNhdGVnb3J5TGlzdDogQ2F0ZWdvcnlMaXN0ID0ge1xyXG4gICAgc3RyYXRlZ2ljOiB7XHJcbiAgICAgIG5hbWU6ICdTVFJBVEVHSUMnLFxyXG4gICAgICBkYXRhOiBbXVxyXG4gICAgfSxcclxuICAgIG9wZXJhdGlvbmFsOiB7XHJcbiAgICAgIG5hbWU6ICdPUEVSQVRJT05BTCcsXHJcbiAgICAgIGRhdGE6IFtdXHJcbiAgICB9LFxyXG4gICAgY29tcGxpYW5jZToge1xyXG4gICAgICBuYW1lOiAnQ09NUExJQU5DRScsXHJcbiAgICAgIGRhdGE6IFtdXHJcbiAgICB9LFxyXG4gICAgb3RoZXJzOiB7XHJcbiAgICAgIG5hbWU6ICdPVEhFUlMnLFxyXG4gICAgICBkYXRhOiBbXVxyXG4gICAgfSxcclxuICB9O1xyXG5cclxuICBjYXRlZ29yeTogYW55ID0ge1xyXG4gICAgdHlwZTogJ3N0cmF0ZWdpYycsXHJcbiAgICBzZWxlY3RlZENhdGVnb3J5OiAnJyxcclxuICB9XHJcblxyXG4gIHJpc2tCdWxrVXBsb2FkOiBhbnkgPSB7XHJcbiAgICBoZWFkZXI6IFtdLFxyXG4gICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICByaXNrczogW10sXHJcbiAgfVxyXG5cclxuICB0ZW1wbGF0ZUluZm86IGFueSA9IHtcclxuICAgIG1lbWJlcklkOiAnJyxcclxuICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgb3duZXJMaXN0OiBbXSxcclxuICAgIHJjTGlzdDogW10sXHJcbiAgICBtaXRpZ2F0aW9uTGlzdDogW10sXHJcbiAgICBsaWtlbGlob29kOltdLFxyXG4gICAgaW1wYWN0OltdLFxyXG4gICAgdmVsb2NpdHk6W10sXHJcbiAgICB2dWxuZXJhYmlsaXR5OltdXHJcbiAgfVxyXG5cclxuICBpc0xvYWRlciA9IGZhbHNlO1xyXG4gIHNob3dDYXRlZ29yeUxpc3QgPSBmYWxzZTtcclxuICB0ZW1wbGF0ZURvd25sb2FkZWQgPSBmYWxzZTtcclxuICBkb3dubG9hZEluUHJvZ3Jlc3MgPSBmYWxzZTtcclxuICBsb2FkZXIgPSBmYWxzZTtcclxuICBzZXR0aW5nc0luZm8gITogYW55O1xyXG4gIGlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICBpc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgZmlsZU5hbWU6IGFueTtcclxuICBkYXRhOiBhbnk7XHJcbiAgYXNzZXNzbWVudERlYWRMaW5lOiBhbnk7XHJcbiAgc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgZmlsZVZhbHVlOmFueTtcclxuICBtZW1iZXJJZCA9IDA7XHJcbiAgb3JnYW5pemF0aW9uSWQgPSAwO1xyXG4gIGVycm9yTWVzc2FnZSA9IFwiIGludmFsaWQgZmlsZSBlcnJvclwiXHJcbiAgZG93bmxvYWRTdGF0dXM6IHN0cmluZyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gIGRvd25sb2FkUGVyY2VudCA9IDA7XHJcblxyXG4gIHNtaWxleU1lc3NhZ2UgPSBgWW91J3JlIEFsbCBTZXQhIFdlJ3JlIHVwbG9hZGluZyB0aGUgcmlza3MuIFRoZSByaXNrIG93bmVycyB3aWxsIGJlIG5vdGlmaWVkIG9uY2UgdGhlIHJpc2tzIGhhdmUgYmVlbiB1cGxvYWRlZC5gO1xyXG4gIGFjdGlvbkJ1dHRvbnMgPSBbXHJcbiAgICB7IGJ1dHRvblRleHQ6ICdBZGQgTW9yZSBSaXNrcycsIGNsYXNzOiAnd2hpdGUtYnRuJywgaWQ6ICdhZGRNb3JlJyB9LFxyXG4gICAgeyBidXR0b25UZXh0OiAnVmlldyBSaXNrJywgY2xhc3M6ICdibHVlLWJ0bicsIGlkOiAndmlld1Jpc2tzJyB9LFxyXG4gIF07XHJcbiAgc2hvd1NtaWxleSA9IGZhbHNlO1xyXG4gIG1lbWJlcl9vYmpfaWQgPSAnJztcclxuICBkZWZhdWx0T3duZXIgPSAnJ1xyXG4gIHJpc2tEYXRhICE6YW55OyAgXHJcbiAgZnJlcXVlbmN5VHlwZSA9IFsnd2Vla2x5JywgJ21vbnRobHknLCAncXVhcnRlcmx5JywgJ2JpYW5udWFsJywgJ2FubnVhbCcsICdvbmUgdGltZSddO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJpc2tTZXJ2aWNlOiBBZGRSaXNrU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSAgc25hY2tCYXI6U25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lCdWxrU2VydmljZSwpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUxpc3QoKTtcclxuICAgIHRoaXMuZ2V0U2V0dGluZ3NJbmZvKCk7XHJcblxyXG4gICAgdGhpcy5vcmdhbml6YXRpb25JZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uSWQoKTtcclxuICAgIHRoaXMubWVtYmVySWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCk7XHJcbiAgICB0aGlzLm1lbWJlcl9vYmpfaWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJEZXRhaWxzKCkuX2lkO1xyXG4gIH1cclxuICBnZXRDYXRlZ29yeUxpc3QoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMucmlza1NlcnZpY2UuZ2V0Q2F0ZWdvcnlMaXN0KCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LnN0cmF0ZWdpYy5kYXRhID0gcmVzLnN0cmF0ZWdpY19hcnI7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm9wZXJhdGlvbmFsLmRhdGEgPSByZXMub3BlcmF0aW9uYWxfYXJyO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5jb21wbGlhbmNlLmRhdGEgPSByZXMuY29tcGxpYW5jZV9hcnI7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm90aGVycy5kYXRhID0gcmVzLm90aGVyc19hcnI7XHJcblxyXG4gICAgfSwgZXJyID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNhdmVTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGlmKHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkICE9Y2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKXtcclxuICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93Q2F0ZWdvcnlMaXN0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XHJcbiAgICBjb25zdCByZWZlcmVuY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2Nyb2xsUmVmZXJlbmNlJyk7XHJcbiAgICBpZiAocmVmZXJlbmNlKSB7XHJcbiAgICAgIHJlZmVyZW5jZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG5cclxuICB9XHJcbiAgcmVtb3ZlQ2F0ZWdvcnkoKSB7XHJcbiAgICB0aGlzLmNhdGVnb3J5ID0ge1xyXG4gICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogJydcclxuICAgIH07XHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgfVxyXG4gIGdldFNldHRpbmdzSW5mbygpIHtcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmdldFJpc2tTZXR0aW5nRGV0YWlscygpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNldHRpbmdzSW5mbyA9IHJlcztcclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgdHJpZ2dlckJyb3dzZUZpbGUoKSB7XHJcbiAgICBjb25zdCBnZXRGaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1dCcpO1xyXG4gICAgaWYgKGdldEZpbGUpIHtcclxuICAgICAgZ2V0RmlsZS5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkZWRGaWxlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgICAgICByaXNrczogW11cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRlbXBsYXRlSW5mbyA9IHtcclxuICAgICAgICBtZW1iZXJJZDogJycsXHJcbiAgICAgICAgY2F0ZWdvcnlJZDogJycsXHJcbiAgICAgICAgb3duZXJMaXN0OiBbXSxcclxuICAgICAgICByY0xpc3Q6IFtdLFxyXG4gICAgICAgIG1pdGlnYXRpb25MaXN0OiBbXSxcclxuICAgICAgICBsaWtlbGlob29kOltdLFxyXG4gICAgICAgIGltcGFjdDpbXSxcclxuICAgICAgICB2ZWxvY2l0eTpbXSxcclxuICAgICAgICB2dWxuZXJhYmlsaXR5OltdXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVmZXJlbmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Njcm9sbFJlZmVyZW5jZScpO1xyXG4gICAgICBpZiAocmVmZXJlbmNlKSB7XHJcbiAgICAgICAgcmVmZXJlbmNlLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbGVOYW1lID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLm5hbWU7XHJcblxyXG4gICAgICBjb25zdCB0YXJnZXQ6IERhdGFUcmFuc2ZlciA9IGV2ZW50LnRhcmdldCBhcyBEYXRhVHJhbnNmZXI7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogY3VybHlcclxuICAgICAgaWYgKHRhcmdldC5maWxlcy5sZW5ndGggIT09IDEpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBtdWx0aXBsZSBmaWxlcycpO1xyXG4gICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJzdHI6IHN0cmluZyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICBjb25zdCB3YjogWExTWC5Xb3JrQm9vayA9IFhMU1gucmVhZChic3RyLCB7IHR5cGU6ICdiaW5hcnknIH0pO1xyXG4gICAgICAgIGNvbnN0IHdzbmFtZTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1swXTtcclxuICAgICAgICBjb25zdCB3c25hbWUxOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzFdO1xyXG5cclxuICAgICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcclxuICAgICAgICBjb25zdCB0ZW1wRGF0YTogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lMV07XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih3cywge1xyXG4gICAgICAgICAgaGVhZGVyOiAxLFxyXG4gICAgICAgIH0pIGFzIEFPQTtcclxuXHJcbiAgICAgICAgY29uc3QgdERhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24odGVtcERhdGEsIHsgaGVhZGVyOiAxIH0pIGFzIEFPQTtcclxuICAgICAgICBjb25zdCB0ZW1wTGlzdCA9IHREYXRhLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCk7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWVtYmVySWQgPSB0ZW1wTGlzdFswXVs1Nl1cclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5jYXRlZ29yeUlkID0gdGVtcExpc3RbMF1bNTVdXHJcbiAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC5oZWFkZXIgPSBjbG9uZURlZXAodGhpcy5kYXRhWzRdLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCkpO1xyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycyA9IGNsb25lRGVlcCh0aGlzLmRhdGFbNV0uZmlsdGVyKCh3ZWlnaHRGYWN0b3I6IGFueSkgPT4gd2VpZ2h0RmFjdG9yLmxlbmd0aCA+IDApKTtcclxuICAgICAgICB0ZW1wTGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudFs4XSkge1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbWVtYmVyID0ge1xyXG4gICAgICAgICAgICAgIG5hbWU6IGVsZW1lbnRbOF0sXHJcbiAgICAgICAgICAgICAgbWVtYmVyX2lkOiBlbGVtZW50WzldXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LnB1c2gobWVtYmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzJdKSB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBtaXRpZ2F0aW9uID0ge1xyXG4gICAgICAgICAgICAgIG1pdGlnYXRpb25OYW1lOiBlbGVtZW50WzJdLFxyXG4gICAgICAgICAgICAgIG1pdGlnYXRpb25faWQ6IGVsZW1lbnRbM11cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5taXRpZ2F0aW9uTGlzdC5wdXNoKG1pdGlnYXRpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbNl0pIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJjID0ge1xyXG4gICAgICAgICAgICAgIHJjTmFtZTogZWxlbWVudFs2XSxcclxuICAgICAgICAgICAgICByY19pZDogZWxlbWVudFs3XSxcclxuICAgICAgICAgICAgICBvd25lcl9pZHM6IGVsZW1lbnRbMTFdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ucmNMaXN0LnB1c2gocmMpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChlbGVtZW50WzEyXSkgeyAgICAgICAgICAgXHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvPy5saWtlbGlob29kLnB1c2goZWxlbWVudFsxMl0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbMTNdKSB7ICAgICAgICAgICBcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8/LmltcGFjdC5wdXNoKGVsZW1lbnRbMTNdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkPy53ZWlnaHRGYWN0b3JzPy5pbmNsdWRlcygnVmVsb2NpdHknKSAmJiBlbGVtZW50WzE0XSkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby52ZWxvY2l0eS5wdXNoKGVsZW1lbnRbMTRdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkPy53ZWlnaHRGYWN0b3JzPy5pbmNsdWRlcygnVnVsbmVyYWJpbGl0eScpICYmIGVsZW1lbnRbMTVdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnZ1bG5lcmFiaWxpdHkucHVzaChlbGVtZW50WzE1XSk7XHJcblxyXG4gICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmZpbGVOYW1lLnN1YnN0cigtNSkgIT09ICcueGxzeCcpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICsgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgKyAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlclswXSAhPT0gJ1doYXQgcmlzayB3b3VsZCB5b3UgbGlrZSB0byBtYW5hZ2U/KicpIHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICsgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgKyAnIFJFVFJZJztcclxuXHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YT8uc2xpY2UoNyk7XHJcbiAgICAgICAgY29uc3QgZGVmYXVsdE93bmVyID0gdGhpcy50ZW1wbGF0ZUluZm8/Lm93bmVyTGlzdD8uZmluZEluZGV4KChlbGU6IGFueSkgPT4gZWxlPy5tZW1iZXJfaWQgPT0gdGhpcy5tZW1iZXJJZCk7XHJcbiAgICAgICAgaWYoZGVmYXVsdE93bmVyICE9LTEpe1xyXG4gICAgICAgICAgdGhpcy5kZWZhdWx0T3duZXIgPSB0aGlzLnRlbXBsYXRlSW5mby5vd25lckxpc3RbZGVmYXVsdE93bmVyXS5uYW1lXHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICsgJyBSRVRSWSc7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICgodGhpcy5tZW1iZXJfb2JqX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLm1lbWJlcklkKSB8fCAodGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5Ll9pZCAhPSB0aGlzLnRlbXBsYXRlSW5mby5jYXRlZ29yeUlkKSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnVGhlIGluY29ycmVjdCBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkLiBQbGVhc2UgdXBsb2FkIHRoZSB0ZW1wbGF0ZSBmaWxlIGZvciBSaXNrIENhdGVnb3J5OicgKyB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSArICcgUkVUUlknO1xyXG5cclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgaXNFbXB0eSA9IHRoaXMuY2hlY2tFbXB0eUZpbGUoKTtcclxuICAgICAgICBpZiAoaXNFbXB0eSkge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnWW91IGhhdmUgdXBsb2FkZWQgYSBibGFuayB0ZW1wbGF0ZS4gUGxlYXNlIGFkZCBkZXRhaWxzIGZvciBhbGwgbWFuZGF0b3J5IGZpZWxkcy4gUkVUUlknO1xyXG4gICAgICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLmhlYWRlcls2XSA9PT0gJ1Jpc2sgQXNzZXNzbWVudCBEZWFkbGluZSonKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gdHJ1ZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXNzZXNzbWVudERlYWRMaW5lID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuZmlsZVZhbHVlID0gJyc7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByaXNrRGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApO1xyXG5cclxuICAgICAgICByaXNrRGF0YS5mb3JFYWNoKChyaXNrOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuXHJcbiAgICAgICAgICAvLyBjb25zdCBvYmo6IGFueSA9IHtcclxuICAgICAgICAgIC8vICAgcmlza05hbWU6IHJpc2tbMF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIGRlc2NyaXB0aW9uOiByaXNrWzFdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICByY05hbWU6IHJpc2tbMl0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG93bmVyOiByaXNrWzNdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBtaXRpZ2F0aW9uUHJpb3JpdHk6IHJpc2tbNF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG92ZXJzZWVyOiByaXNrWzVdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICBpc1ZhbGlkOiB0aGlzLmNoZWNrVmFsaWRpdHkocmlzayksXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gaWYgKHRoaXMuYXNzZXNzbWVudERlYWRMaW5lKSB7XHJcbiAgICAgICAgICAvLyAgIG9iai5hc3Nlc3NtZW50RGVhZExpbmUgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmoubGlrZWxpaG9vZCA9IHJpc2tbN10gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIG9iai5pbXBhY3QgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSAzKSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBpZiAodGhpcy5yaXNrQnVsa1VwbG9hZC53ZWlnaHRGYWN0b3JzLmxlbmd0aCA9PSA0KSB7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZlbG9jaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgICBvYmoudnVsbmVyYWJpbGl0eSA9IHJpc2tbMTBdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IGN1c3RvbVRhZ3M6IGFueSA9IFtdO1xyXG5cclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzcgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfSBlbHNlIHtcclxuICAgICAgICAgIC8vICAgb2JqLmxpa2VsaWhvb2QgPSByaXNrWzZdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICBvYmouaW1wYWN0ID0gcmlza1s3XSA/PyAnJztcclxuXHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDMpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDQpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzhdID8/ICcnO1xyXG4gICAgICAgICAgLy8gICAgIG9iai52dWxuZXJhYmlsaXR5ID0gcmlza1s5XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuICAgICAgICAgIC8vICAgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmN1c3RvbV90YWcuZm9yRWFjaCgodGFnOiBhbnksIGluZGV4OiBhbnkpID0+IHtcclxuICAgICAgICAgIC8vICAgICBpZiAodGFnKSB7XHJcbiAgICAgICAgICAvLyAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrWzYgKyB0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoICsgaW5kZXhdID8/ICcnLFxyXG4gICAgICAgICAgLy8gICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgICAvLyAgICAgICB9O1xyXG4gICAgICAgICAgLy8gICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfSk7XHJcbiAgICAgICAgICAvLyAgIG9iai5jdXN0b21UYWcgPSBjdXN0b21UYWdzO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgbGV0IG9iaiA9IHRoaXMuc2V0Umlza0RldGFpbHMocmlzaylcclxuICAgICAgICAgIGlmIChvYmo/Lmxpa2VsaWhvb2QgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy5saWtlbGlob29kLmluY2x1ZGVzKG9iaj8ubGlrZWxpaG9vZCkpIHsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBvYmouaXNWYWxpZD1mYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvYmo/LmltcGFjdCAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/LmltcGFjdC5pbmNsdWRlcyhvYmo/LmltcGFjdCkpIHsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBvYmouaXNWYWxpZD1mYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvYmo/LnZlbG9jaXR5ICYmICF0aGlzLnRlbXBsYXRlSW5mbz8udmVsb2NpdHkuaW5jbHVkZXMob2JqPy52ZWxvY2l0eSkpIHsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBvYmouaXNWYWxpZD1mYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvYmo/LnZ1bG5lcmFiaWxpdHkgJiYgIXRoaXMudGVtcGxhdGVJbmZvPy52dWxuZXJhYmlsaXR5LmluY2x1ZGVzKG9iaj8udnVsbmVyYWJpbGl0eSkpIHsgICAgICAgICAgIFxyXG4gICAgICAgICAgICBvYmouaXNWYWxpZD1mYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC5yaXNrcy5wdXNoKG9iaik7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNob3dFeGNlbCA9IHRydWU7XHJcbiAgICAgIH07XHJcbiAgICAgIHJlYWRlci5yZWFkQXNCaW5hcnlTdHJpbmcodGFyZ2V0Py5maWxlc1swXSk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaGVja0VtcHR5RmlsZSgpIHtcclxuICAgIGxldCBpc0VtcHR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLmRhdGEgPSB0aGlzLmRhdGEuZmlsdGVyKChkYXRhRWxlbWVudDogYW55KSA9PiBkYXRhRWxlbWVudC5sZW5ndGggPiAwKTtcclxuICAgIGlmICh0aGlzLmRhdGEubGVuZ3RoIDwgMSkge1xyXG4gICAgICBpc0VtcHR5ID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc0VtcHR5O1xyXG4gIH1cclxuXHJcbiAgY2hlY2tWYWxpZGl0eShyaXNrOiBhbnkpIHtcclxuICAgIGNvbnN0IHJlID0gLyZuYnNwO3w8YnI+L2c7XHJcbiAgICBsZXQgdHJpbW1lZE5hbWUgPSAocmlza1swXSkgPyByaXNrWzBdLnRvU3RyaW5nKCkucmVwbGFjZShyZSwgJycpLnRyaW0oKSA6ICcnO1xyXG4gICAgdHJpbW1lZE5hbWUgPSB0cmltbWVkTmFtZS5yZXBsYWNlKC8gICsvZywgJyAnKTtcclxuICAgIC8vIHx8ICh0aGlzLmFzc2Vzc21lbnREZWFkTGluZSAmJiAoIXJpc2tbNl0pKVxyXG4gICAgaWYgKCghdHJpbW1lZE5hbWUpIHx8IChyaXNrWzNdICYmIChyaXNrWzNdID09IHJpc2tbNl0pKSB8fCAoKCFyaXNrWzNdKSAmJiAodGhpcy5kZWZhdWx0T3duZXIgPT0gcmlza1s2XSkpXHJcbiAgICAgIHx8ICghcmlza1syXSkgfHwgKCF0aGlzLmZyZXF1ZW5jeVR5cGU/LmluY2x1ZGVzKHJpc2tbNF0/LnRvTG93ZXJDYXNlKCkpKSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9IGVsc2UgeyByZXR1cm4gdHJ1ZSB9XHJcbiAgfVxyXG5cclxuICBkb3dubG9hZFRlbXBsYXRlKCkge1xyXG4gICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BRElORyc7XHJcbiAgICB0aGlzLmRvd25sb2FkUGVyY2VudCA9IDA7XHJcbiAgICBjb25zdCB0b2RheSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5zcGxpdCgnVCcpO1xyXG4gICAgY29uc3QgZG93bmxvYWREYXRlID0gdG9kYXlbMF07XHJcbiAgICBjb25zdCBmaWxlTmFtZSA9ICdWQ29tcGx5IC0gUmlzayBNb2R1bGUgLSBBZGQgTXVsdGlwbGUgUmlza3MgLSAnKyB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9uYW1lICsnIC0gJyArIGRvd25sb2FkRGF0ZSArICcueGxzeCc7XHJcblxyXG4gICAgdGhpcy5yaXNrU2VydmljZS5kb3dubG9hZFRlbXBsYXRlKHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5faWQpLnN1YnNjcmliZShcclxuICAgICAgKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChkYXRhLmxvYWRlZCkge1xyXG4gICAgICAgICAgdGhpcy5kb3dubG9hZFBlcmNlbnQgPSAxMDAgKiAoZGF0YS5sb2FkZWQgLyBkYXRhLnRvdGFsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGRhdGEuYm9keSkge1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZG93bmxvYWRTdGF0dXMgPSB0aGlzLnJpc2tTZXJ2aWNlLmRvd25Mb2FkRmlsZShkYXRhLmJvZHksICdhcHBsaWNhdGlvbi94bHN4JywgZmlsZU5hbWUpO1xyXG4gICAgICAgICAgfSwgMTUwMCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgfSxcclxuICAgICAgKGVycm9yKSA9PiB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XHJcbiAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdET1dOTE9BREVEJztcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHN1Ym1pdFJpc2tCdWxrVXBsb2FkKGNvbXBsZXRlQXNzZXNzbWVudDogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRlciA9IHRydWU7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBhbnkgPSBbXTtcclxuICAgIHRoaXMucmlza0J1bGtVcGxvYWQucmlza3MuZm9yRWFjaCgocmlzazogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGZyZXF1ZW5jeVZhbHVlID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnNob3J0SGFuZF9mcmVxQ2FsKHJpc2s/LmZyZXF1ZW5jeSk7XHJcbiAgICAgIGlmIChyaXNrLmlzVmFsaWQpIHtcclxuICAgICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICB0aXRsZTogcmlzaz8ucmlza05hbWUsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcmlzaz8uZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICBjYXRlZ29yeV9jdXN0b21fdGFnOiByaXNrPy5jdXN0b21UYWcsXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZW5hYmxlLFxyXG4gICAgICAgICAgb3duZXI6IChyaXNrPy5vd25lcikgPyB0aGlzLnJldHVybklkcyhyaXNrPy5vd25lciwgJ293bmVyJykgOiB0aGlzLnJldHVybklkcyh0aGlzLmRlZmF1bHRPd25lciwgJ293bmVyJyksXHJcbiAgICAgICAgICBjYXRlZ29yeTogKHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKSA/IFt0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZF0gOiBbXSxcclxuICAgICAgICAgIG1hbmFnZV9vdmVyc2lnaHQ6IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm92ZXJzZWVyLCAnb3ZlcnNlZXInKSxcclxuICAgICAgICAgIHJjX2lkOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19pZCcpLFxyXG4gICAgICAgICAgaGVhZF9pZHM6IHRoaXMucmV0dXJuSWRzKHJpc2s/LnJjTmFtZSwgJ3JjX293bmVyX2lkcycpLCAvLzIgdG8gYmUgYXJheVxyXG4gICAgICAgICAgcmF0aW5nX2FycjogW1xyXG4gICAgICAgICAgICByaXNrPy5saWtlbGlob29kID8gcmlzaz8ubGlrZWxpaG9vZC5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy5pbXBhY3QgPyByaXNrPy5pbXBhY3Quc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8udmVsb2NpdHkgPyByaXNrPy52ZWxvY2l0eS5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy52dWxuZXJhYmlsaXR5ID8gcmlzaz8udnVsbmVyYWJpbGl0eS5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIG1lbWJlcl9pZDogdGhpcy5tZW1iZXJJZCxcclxuICAgICAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5vcmdhbml6YXRpb25JZCxcclxuICAgICAgICAgIHJpc2tfcHJvZ3Jlc3NfZmxhZzogMSxcclxuICAgICAgICAgIElmQXNzZXNzbWVudERvbmU6IDAsXHJcbiAgICAgICAgICB3b3Jrc2hvcF9pZDogJycsXHJcbiAgICAgICAgICBjb21wbGV0ZV9hc3Nlc3NtZW50OiAoY29tcGxldGVBc3Nlc3NtZW50KSA/IDEgOiAwLFxyXG4gICAgICAgICAgbWl0aWdhdGlvbjogdGhpcy5yZXR1cm5JZHMocmlzaz8ubWl0aWdhdGlvblByaW9yaXR5LCAnbWl0aWdhdGlvbicpLCAvLzMgd3JvbmdcclxuICAgICAgICAgIHdlaWdodGFnZV9lbmFibGU6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZW5hYmxlLFxyXG4gICAgICAgICAgdHJlYXRtZW50X3R5cGU6IHRoaXMuc2V0dGluZ3NJbmZvPy50cmVhdG1lbnRfY3JpdGVyaWEsXHJcbiAgICAgICAgICB3ZWlnaHRhZ2VfZGV0YWlsczogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzLFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9zZXRfYnksXHJcbiAgICAgICAgICB3ZWlnaHRhZ2Vfc3RyOiBbXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8uaW1wYWN0LnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/Lmxpa2VsaWhvb2QudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8udmVsb2NpdHkudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8udnVsbmVyYWJpbGl0eS52YWx1ZSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICAvLyBhc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5LCAvL2NoZWNrMSBub3QgYXBwZWFyaW5nXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5ID8/IHRoaXMubWVtYmVySWQsIC8vY2hlY2sxIG5vdCBhcHBlYXJpbmdcclxuICAgICAgICAgIGFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5czogKHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZSkgPyB0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzIDogcmlzaz8uYXNzZXNzbWVudERlYWRMaW5lLFxyXG4gICAgICAgICAgZnJlcXVlbmN5X2RldGFpbHM6IHtcclxuICAgICAgICAgICAgZnJlcXVlbmN5OiBmcmVxdWVuY3lWYWx1ZSxcclxuICAgICAgICAgICAgc3RhcnRlZF9hdDogdGhpcy5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSkgPz8gbW9tZW50KCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAgICAgZnJlcXVlbmN5X3RpbWU6IFwiMTE6MDAgcG1cIixcclxuICAgICAgICAgICAgcmVtaW5kX2JlZm9yZV9kYXlzOiByaXNrPy5lbWFpbFJlbWluZGVyID8gcmlzaz8uZW1haWxSZW1pbmRlciA6IHRoaXMuc2V0RGVmYXVsdEVtYWlsUmVtaW5kZXJWYWx1ZShyaXNrPy5mcmVxdWVuY3kpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHJpc2tfbGFiZWw6IHRoaXMuc2V0Umlza0xhYmVsKHJpc2s/LnJpc2tMYWJlbCksXHJcbiAgICAgICAgICBtaXRpZ2F0aW9uX3BsYW5fcmVjb21tZW5kYXRpb246IHJpc2s/Lm1pdGlnYXRpb25QbGFucyA/PyAnJyxcclxuICAgICAgICAgIHNhbWVSaXNrUmF0aW5nc0ZvckFsbFJDOiByaXNrPy5hcHBseVNhbWVSaXNrUmF0aW5nID8/ICdObycsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBwYXlsb2FkLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb25zb2xlLmxvZyhcInBheWxvYWRwYXlsb2FkcGF5bG9hZHBheWxvYWRwYXlsb2FkcGF5bG9hZCAgPT09PT5cIixwYXlsb2FkKVxyXG5cclxuICAgIHRoaXMucmlza1NlcnZpY2UuYWRkQnVsa1Jpc2socGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJpc2tEYXRhID0gcmVzO1xyXG4gICAgfSxcclxuICAgICAgZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ09PUFMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkLiBDb3VsZCB5b3UgcGxlYXNlIHRyeSBvbmUgbW9yZSB0aW1lPycsICdhbGVydCcpO1xyXG5cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICByZXR1cm5JZHMoaXRlbTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAncmNfaWQnOlxyXG4gICAgICAgIGNvbnN0IHJjSWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5mb3JFYWNoKChyY19lbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyY19lbGVtZW50LnJjTmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIHJjSWQucHVzaChyY19lbGVtZW50LnJjX2lkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByY0lkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyY19vd25lcl9pZHMnOlxyXG4gICAgICAgIGxldCBvd25lcl9pZHM6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5mb3JFYWNoKChoZWFkZXJJZHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGhlYWRlcklkcy5yY05hbWUgPT0gaXRlbSAmJiBoZWFkZXJJZHMub3duZXJfaWRzKSB7XHJcbiAgICAgICAgICAgIG93bmVyX2lkcz0gaGVhZGVySWRzLm93bmVyX2lkcy5pbmNsdWRlcygnLCcpPyBoZWFkZXJJZHMub3duZXJfaWRzLnNwbGl0KCcsJykubWFwKE51bWJlcikgOltOdW1iZXIoaGVhZGVySWRzLm93bmVyX2lkcyldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvd25lcl9pZHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ293bmVyJzpcclxuICAgICAgICBjb25zdCBvd25lcklkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5vd25lckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5uYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgb3duZXJJZC5wdXNoKGVsZW1lbnQubWVtYmVyX2lkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvd25lcklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlcic6XHJcbiAgICAgICAgY29uc3Qgb3ZlcnNlZXJJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LmZvckVhY2goKG9zX2VsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9zX2VsZW1lbnQubmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG92ZXJzZWVySWQucHVzaChvc19lbGVtZW50Lm1lbWJlcl9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3ZlcnNlZXJJZDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ21pdGlnYXRpb24nOlxyXG4gICAgICAgIGxldCBtaXRpZ2F0aW9uSWQ6IGFueT0wO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm1pdGlnYXRpb25MaXN0LmZvckVhY2goKG1pdGlnYXRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG1pdGlnYXRpb24ubWl0aWdhdGlvbk5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBtaXRpZ2F0aW9uSWQgPSBtaXRpZ2F0aW9uLm1pdGlnYXRpb25faWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbWl0aWdhdGlvbklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZCA9IHtcclxuICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICAgIHJpc2tzOiBbXVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGVtcGxhdGVJbmZvID0ge1xyXG4gICAgICBtZW1iZXJJZDogJycsXHJcbiAgICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgICByY0xpc3Q6IFtdLFxyXG4gICAgICBtaXRpZ2F0aW9uTGlzdDogW11cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgPSB1bmRlZmluZWRcclxuICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcclxuXHJcbiAgfVxyXG4gIGFjdGlvbihldmVudDogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ2FkZE1vcmUnOlxyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSB7XHJcbiAgICAgICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd2aWV3Umlza3MnOlxyXG4gICAgICAgIHRoaXMudmlld1Jpc2tzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZVNtaWxleShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KHtldnQ6dGhpcy5yaXNrRGF0YSwgY29uZmlybSA6IGZhbHNlfSk7XHJcbiAgfVxyXG5cclxuICB2aWV3Umlza3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCA9ICdodHRwOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsID0gJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCArPSAnL3Jpc2stcmVnaXN0ZXInO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsICs9ICcvcmlzay9yaXNrLXJlZ2lzdGVyJztcclxuICAgIH1cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXQgdGFrZXMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBhbmQgcmV0dXJucyBhbiBvYmplY3Qgd2l0aCB0aGUgYXJyYXkgdmFsdWVzIGFzIHByb3BlcnRpZXMuXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSByaXNrIC0gYW55ID0gW1xyXG4gICAqIEByZXR1cm5zIFtcclxuICAgKiAgIHtcclxuICAgKiAgICAgXCJyaXNrTmFtZVwiOiBcIlwiLFxyXG4gICAqICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXHJcbiAgICogICAgIFwicmNOYW1lXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3duZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJmcmVxdWVuY3lcIjogXCJcIixcclxuICAgKiAgICAgXCJlbWFpbFJlbWluZGVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3ZlcnNlZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJpc1ZhbGlkXCI6IGZhbHNlLFxyXG4gICAqICAgICBcIm1pdGlnYXRpb25Qcmlvcml0eVwiOiBcIlwiLFxyXG4gICAqL1xyXG4gIHNldFJpc2tEZXRhaWxzKHJpc2s6IGFueSkge1xyXG4gICAgbGV0IG9iajogYW55O1xyXG4gICAgb2JqID0ge1xyXG4gICAgICByaXNrTmFtZTogcmlza1swXSA/PyAnJyxcclxuICAgICAgZGVzY3JpcHRpb246IHJpc2tbMV0gPz8gJycsXHJcbiAgICAgIHJjTmFtZTogcmlza1syXSA/PyAnJyxcclxuICAgICAgb3duZXI6IHJpc2tbM10gPz8gJycsXHJcbiAgICAgIGZyZXF1ZW5jeTogcmlza1s0XSA/PyAnJyxcclxuICAgICAgZW1haWxSZW1pbmRlcjogcmlza1s1XSxcclxuICAgICAgb3ZlcnNlZXI6IHJpc2tbNl0gPz8gJycsXHJcbiAgICAgIGlzVmFsaWQ6IHRoaXMuY2hlY2tWYWxpZGl0eShyaXNrKSxcclxuICAgIH1cclxuICAgIGxldCBpbmRleCA9IDc7XHJcbiAgICBpZih0aGlzLnJpc2tCdWxrVXBsb2FkPy5oZWFkZXI/LmluY2x1ZGVzKCdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFByaW9yaXR5JykpIHsgXHJcbiAgICAgIG9ialsnbWl0aWdhdGlvblByaW9yaXR5J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgICAgaW5kZXggKys7XHJcbiAgICB9XHJcbiAgICBvYmpbJ21pdGlnYXRpb25QbGFucyddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCArKztcclxuICAgIG9ialsncmlza0xhYmVsJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4ICsrO1xyXG4gICAgb2JqWydsaWtlbGlob29kJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4ICsrO1xyXG4gICAgb2JqWydpbXBhY3QnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXggKys7XHJcbiAgICBpZih0aGlzLnJpc2tCdWxrVXBsb2FkPy53ZWlnaHRGYWN0b3JzPy5pbmNsdWRlcygnVmVsb2NpdHknKSkge1xyXG4gICAgICBvYmpbJ3ZlbG9jaXR5J10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgICAgaW5kZXgrKztcclxuICAgIH0gXHJcbiAgICBpZih0aGlzLnJpc2tCdWxrVXBsb2FkPy53ZWlnaHRGYWN0b3JzPy5pbmNsdWRlcygnVnVsbmVyYWJpbGl0eScpKSB7XHJcbiAgICAgIG9ialsndnVsbmVyYWJpbGl0eSddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9XHJcbiAgICBpZih0aGlzLnJpc2tCdWxrVXBsb2FkPy5oZWFkZXI/LmluY2x1ZGVzKCdEbyB5b3Ugd2FudCB0byBhcHBseSB0aGUgc2FtZSByaXNrIHJhdGluZ3MgZm9yIGFsbCBSZXNwb25zaWJpbGl0eSBDZW50ZXJzPycpKSB7XHJcbiAgICAgIG9ialsnYXBwbHlTYW1lUmlza1JhdGluZyddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9XHJcbiAgICBjb25zdCBjdXN0b21UYWdzOiBhbnkgPSBbXTtcclxuICAgIHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmN1c3RvbV90YWc/LmZvckVhY2goKHRhZzogYW55LCBpOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHRhZykge1xyXG4gICAgICAgIGNvbnN0IGNUYWcgPSB7XHJcbiAgICAgICAgICBjdXN0b21fdGFnX3ZhbHVlOiByaXNrW2luZGV4ICsgaV0gPz8gJycsXHJcbiAgICAgICAgICBjdXN0b21fdGFnX25hbWU6IHRhZy50YWdOYW1lXHJcbiAgICAgICAgfTtcclxuICAgICAgICBjdXN0b21UYWdzLnB1c2goY1RhZyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgb2JqWydjdXN0b21UYWcnXSA9IGN1c3RvbVRhZ3M7XHJcbiAgICBvYmpbJ2lzVmFsaWRGcmVxdWVuY3knXSA9IHRoaXMuZnJlcXVlbmN5VHlwZT8uaW5jbHVkZXMob2JqPy5mcmVxdWVuY3k/LnRvTG93ZXJDYXNlKCkpO1xyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBmcmVxdWVuY3lUeXBlIGlzIHdlZWtseSwgcmV0dXJuIDIsIGlmIGl0J3MgbW9udGhseSwgcmV0dXJuIDcsIGlmIGl0J3MgcXVhcnRlcmx5LCByZXR1cm4gNyxcclxuICAgKiBpZiBpdCdzIGJpYW5udWFsLCByZXR1cm4gMzAsIGlmIGl0J3MgYW5udWFsLCByZXR1cm4gMzAsIGlmIGl0J3Mgb25lIHRpbWUsIHJldHVybiAxNSwgb3RoZXJ3aXNlXHJcbiAgICogcmV0dXJuIDAuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtmcmVxdWVuY3lUeXBlXSAtIHN0cmluZyAtIHRoZSBmcmVxdWVuY3kgdHlwZSBvZiB0aGUgcmVtaW5kZXJcclxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSBudW1iZXIgb2YgZGF5cyBiZWZvcmUgdGhlIGV2ZW50IHRoYXQgdGhlIHJlbWluZGVyIHNob3VsZCBiZSBzZW50LlxyXG4gICAqL1xyXG4gIHNldERlZmF1bHRFbWFpbFJlbWluZGVyVmFsdWUoZnJlcXVlbmN5VHlwZT86IHN0cmluZyk6IGFueSB7XHJcbiAgICBzd2l0Y2goZnJlcXVlbmN5VHlwZT8udG9Mb3dlckNhc2UoKSkge1xyXG4gICAgICBjYXNlICd3ZWVrbHknIDogcmV0dXJuIDI7XHJcbiAgICAgIGNhc2UgJ21vbnRobHknIDogcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ3F1YXJ0ZXJseScgOiByZXR1cm4gNztcclxuICAgICAgY2FzZSAnYmlhbm51YWwnIDogcmV0dXJuIDMwO1xyXG4gICAgICBjYXNlICdhbm51YWwnIDogcmV0dXJuIDMwO1xyXG4gICAgICBjYXNlICdvbmUgdGltZScgOiByZXR1cm4gMTU7XHJcbiAgICAgIGRlZmF1bHQ6IHJldHVybiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSWYgdGhlIGxhYmVsIGlzICduZXcgcmlzaycsIHJldHVybiAxLCBpZiB0aGUgbGFiZWwgaXMgJ2VtZXJnaW5nL3JhcGlkbHkgY2hhbmdpbmcgcmlza3MnLCByZXR1cm4gMixcclxuICAgKiBvdGhlcndpc2UgcmV0dXJuIDFcclxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2xhYmVsXSAtIHRoZSBsYWJlbCBvZiB0aGUgcmlza1xyXG4gICAqIEByZXR1cm5zIFRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIHZhbHVlIG9mIHRoZSBsYXN0IGV4cHJlc3Npb24gaW4gdGhlIGZ1bmN0aW9uLlxyXG4gICAqL1xyXG4gIHNldFJpc2tMYWJlbChsYWJlbD86IHN0cmluZykge1xyXG4gICAgc3dpdGNoKGxhYmVsPy50b0xvd2VyQ2FzZSgpKXtcclxuICAgICAgY2FzZSAnbmV3bHkgaWRlbnRpZmllZCByaXNrcyc6IHJldHVybiAxO1xyXG4gICAgICBjYXNlICdyYXBpZGx5IGNoYW5naW5nIHJpc2tzJzogcmV0dXJuIDI7XHJcbiAgICAgIGRlZmF1bHQ6IHJldHVybiAxXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBcIklmIHRoZSBkYXRlIGlzIGEgbnVtYmVyLCBjb252ZXJ0IGl0IHRvIGEgZGF0ZSBvYmplY3QsIHRoZW4gY3JlYXRlIGEgbmV3IGRhdGUgb2JqZWN0IHdpdGggdGhlXHJcbiAgICogdGltZXpvbmUgc2V0IHRvIHRoZSB1c2VyJ3MgdGltZXpvbmUsIHRoZW4gcmV0dXJuIHRoZSBkYXRlIGluIHRoZSBmb3JtYXQgWVlZWS1NTS1ERC5cIlxyXG4gICAqIDwvY29kZT5cclxuICAgKiBAcGFyYW0ge2FueX0gZGF0ZSAtIGFueSAtIHRoZSBkYXRlIHlvdSB3YW50IHRvIGNoYW5nZSB0aGUgdGltZXpvbmUgb2ZcclxuICAgKiBAcmV0dXJucyBUaGUgZGF0ZSBpcyBiZWluZyByZXR1cm5lZCBpbiB0aGUgdGltZXpvbmUgb2YgdGhlIHVzZXIuXHJcbiAgICovXHJcbiAgY2hhbmdlVGltZVpvbmUoZGF0ZTogYW55KSB7XHJcbiAgICBpZiAodHlwZW9mIGRhdGUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRlKTtcclxuICAgIH1cclxuICAgIGNvbnN0IGludkRhdGUgPSBuZXcgRGF0ZShcclxuICAgICAgZGF0ZS50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgdGltZVpvbmU6IHRoaXMuYXV0aFNlcnZpY2UudXNlckRldGFpbHM/LnRpbWV6b25lLFxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICAgIHJldHVybiBtb21lbnQoaW52RGF0ZSkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKTtcclxuICB9XHJcbn1cclxuIl19
714
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvYWRkLW11bHRpcGxlLXJpc2svYWRkLW11bHRpcGxlLXJpc2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVMsTUFBTSxFQUFFLFlBQVksRUFBNkQsTUFBTSxlQUFlLENBQUM7QUFDbEksT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNuQyxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUU3QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQVNqQyxNQUFNLE9BQU8sd0JBQXdCO0lBOEVuQyxZQUFvQixXQUEyQixFQUNyQyxXQUF3QixFQUN2QixRQUF3QixFQUN6QixnQkFBc0M7UUFINUIsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO1FBQ3JDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3ZCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBQ3pCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBc0I7UUFoRnRDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDcEMsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ25DLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFD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O2dDQUNOLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgU2ltcGxlQ2hhbmdlcywgT25DaGFuZ2VzLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XHJcbmltcG9ydCAqIGFzIFhMU1ggZnJvbSAneGxzeCc7XHJcbmltcG9ydCB7IENhdGVnb3J5TGlzdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvY2F0ZWdvcnlMaXN0JztcclxuaW1wb3J0IHsgU25hY2tCYXJTZXJ2aWNlIH0gZnJvbSAnLi4vdWkta2l0L3NuYWNrLWJhci9zbmFjay1iYXIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFkZFJpc2tTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYWRkLXJpc2suc2VydmljZSc7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vd29ya2Zsb3ctc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRnJlcXVlbmN5QnVsa1NlcnZpY2UgfSBmcm9tICcuLi93b3JrZmxvdy1zZXJ2aWNlcy9mcmVxdWVuY3kuc2VydmljZSc7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5cclxudHlwZSBBT0EgPSBhbnlbXVtdO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hZGQtbXVsdGlwbGUtcmlzaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FkZC1tdWx0aXBsZS1yaXNrLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZGQtbXVsdGlwbGUtcmlzay5jb21wb25lbnQubGVzcycsICcuLi9mb3Jtcy5sZXNzJ10sXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRkTXVsdGlwbGVSaXNrQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBPdXRwdXQoKSBwaWNrZXJDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBwb3B1bGF0ZU9wdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgY2xvc2VXb3JrZmxvdyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZGlzY29ubmVjdFJlZnJlc2ggPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgY2F0ZWdvcnlMaXN0OiBDYXRlZ29yeUxpc3QgPSB7XHJcbiAgICBzdHJhdGVnaWM6IHtcclxuICAgICAgbmFtZTogJ1NUUkFURUdJQycsXHJcbiAgICAgIGRhdGE6IFtdXHJcbiAgICB9LFxyXG4gICAgb3BlcmF0aW9uYWw6IHtcclxuICAgICAgbmFtZTogJ09QRVJBVElPTkFMJyxcclxuICAgICAgZGF0YTogW11cclxuICAgIH0sXHJcbiAgICBjb21wbGlhbmNlOiB7XHJcbiAgICAgIG5hbWU6ICdDT01QTElBTkNFJyxcclxuICAgICAgZGF0YTogW11cclxuICAgIH0sXHJcbiAgICBvdGhlcnM6IHtcclxuICAgICAgbmFtZTogJ09USEVSUycsXHJcbiAgICAgIGRhdGE6IFtdXHJcbiAgICB9LFxyXG4gIH07XHJcblxyXG4gIGNhdGVnb3J5OiBhbnkgPSB7XHJcbiAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gIH1cclxuXHJcbiAgcmlza0J1bGtVcGxvYWQ6IGFueSA9IHtcclxuICAgIGhlYWRlcjogW10sXHJcbiAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgIHJpc2tzOiBbXSxcclxuICB9XHJcblxyXG4gIHRlbXBsYXRlSW5mbzogYW55ID0ge1xyXG4gICAgbWVtYmVySWQ6ICcnLFxyXG4gICAgY2F0ZWdvcnlJZDogJycsXHJcbiAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgcmNMaXN0OiBbXSxcclxuICAgIG1pdGlnYXRpb25MaXN0OiBbXSxcclxuICAgIGxpa2VsaWhvb2Q6W10sXHJcbiAgICBpbXBhY3Q6W10sXHJcbiAgICB2ZWxvY2l0eTpbXSxcclxuICAgIHZ1bG5lcmFiaWxpdHk6W11cclxuICB9XHJcblxyXG4gIGlzTG9hZGVyID0gZmFsc2U7XHJcbiAgc2hvd0NhdGVnb3J5TGlzdCA9IGZhbHNlO1xyXG4gIHRlbXBsYXRlRG93bmxvYWRlZCA9IGZhbHNlO1xyXG4gIGRvd25sb2FkSW5Qcm9ncmVzcyA9IGZhbHNlO1xyXG4gIGxvYWRlciA9IGZhbHNlO1xyXG4gIHNldHRpbmdzSW5mbyAhOiBhbnk7XHJcbiAgaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICBpc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gIGlzV3JvbmdGb3JtYXQgPSBmYWxzZTtcclxuICBmaWxlTmFtZTogYW55O1xyXG4gIGRhdGE6IGFueTtcclxuICBhc3Nlc3NtZW50RGVhZExpbmU6IGFueTtcclxuICBzaG93RXhjZWwgPSBmYWxzZTtcclxuICBmaWxlVmFsdWU6YW55O1xyXG4gIG1lbWJlcklkID0gMDtcclxuICBvcmdhbml6YXRpb25JZCA9IDA7XHJcbiAgZXJyb3JNZXNzYWdlID0gXCIgaW52YWxpZCBmaWxlIGVycm9yXCJcclxuICBkb3dubG9hZFN0YXR1czogc3RyaW5nID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgZG93bmxvYWRQZXJjZW50ID0gMDtcclxuXHJcbiAgc21pbGV5TWVzc2FnZSA9IGBZb3UncmUgQWxsIFNldCEgV2UncmUgdXBsb2FkaW5nIHRoZSByaXNrcy4gVGhlIHJpc2sgb3duZXJzIHdpbGwgYmUgbm90aWZpZWQgb25jZSB0aGUgcmlza3MgaGF2ZSBiZWVuIHVwbG9hZGVkLmA7XHJcbiAgYWN0aW9uQnV0dG9ucyA9IFtcclxuICAgIHsgYnV0dG9uVGV4dDogJ0FkZCBNb3JlIFJpc2tzJywgY2xhc3M6ICd3aGl0ZS1idG4nLCBpZDogJ2FkZE1vcmUnIH0sXHJcbiAgICB7IGJ1dHRvblRleHQ6ICdWaWV3IFJpc2snLCBjbGFzczogJ2JsdWUtYnRuJywgaWQ6ICd2aWV3Umlza3MnIH0sXHJcbiAgXTtcclxuICBzaG93U21pbGV5ID0gZmFsc2U7XHJcbiAgbWVtYmVyX29ial9pZCA9ICcnO1xyXG4gIGRlZmF1bHRPd25lciA9ICcnXHJcbiAgcmlza0RhdGEgITphbnk7XHJcbiAgZnJlcXVlbmN5VHlwZSA9IFsnd2Vla2x5JywgJ21vbnRobHknLCAncXVhcnRlcmx5JywgJ2JpYW5udWFsJywgJ2FubnVhbCcsICdvbmUgdGltZSddO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJpc2tTZXJ2aWNlOiBBZGRSaXNrU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSAgc25hY2tCYXI6U25hY2tCYXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBmcmVxdWVuY3lTZXJ2aWNlOiBGcmVxdWVuY3lCdWxrU2VydmljZSwpIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5waWNrZXJDaGFuZ2VkLmVtaXQoZmFsc2UpO1xyXG4gICAgdGhpcy5nZXRDYXRlZ29yeUxpc3QoKTtcclxuICAgIHRoaXMuZ2V0U2V0dGluZ3NJbmZvKCk7XHJcblxyXG4gICAgdGhpcy5vcmdhbml6YXRpb25JZCA9IHRoaXMuYXV0aFNlcnZpY2UuZ2V0T3JnYW5pemF0aW9uSWQoKTtcclxuICAgIHRoaXMubWVtYmVySWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldE1lbWJlcklkKCk7XHJcbiAgICB0aGlzLm1lbWJlcl9vYmpfaWQgPSB0aGlzLmF1dGhTZXJ2aWNlLmdldFVzZXJEZXRhaWxzKCkuX2lkO1xyXG4gIH1cclxuICBnZXRDYXRlZ29yeUxpc3QoKSB7XHJcbiAgICB0aGlzLmlzTG9hZGVyID0gdHJ1ZTtcclxuICAgIHRoaXMucmlza1NlcnZpY2UuZ2V0Q2F0ZWdvcnlMaXN0KCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0LnN0cmF0ZWdpYy5kYXRhID0gcmVzLnN0cmF0ZWdpY19hcnI7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm9wZXJhdGlvbmFsLmRhdGEgPSByZXMub3BlcmF0aW9uYWxfYXJyO1xyXG4gICAgICB0aGlzLmNhdGVnb3J5TGlzdC5jb21wbGlhbmNlLmRhdGEgPSByZXMuY29tcGxpYW5jZV9hcnI7XHJcbiAgICAgIHRoaXMuY2F0ZWdvcnlMaXN0Lm90aGVycy5kYXRhID0gcmVzLm90aGVyc19hcnI7XHJcblxyXG4gICAgfSwgZXJyID0+IHtcclxuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xyXG4gICAgICB0aGlzLmlzTG9hZGVyID0gZmFsc2U7XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIHNhdmVTZWxlY3RlZENhdGVnb3J5KGNhdGVnb3J5OiBhbnkpIHtcclxuICAgIGlmKHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkICE9Y2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKXtcclxuICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9ICdOT1RfRE9XTkxPQURJTkcnO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93Q2F0ZWdvcnlMaXN0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmNhdGVnb3J5ID0gY2F0ZWdvcnk7XHJcbiAgICBjb25zdCByZWZlcmVuY2UgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjc2Nyb2xsUmVmZXJlbmNlJyk7XHJcbiAgICBpZiAocmVmZXJlbmNlKSB7XHJcbiAgICAgIHJlZmVyZW5jZS5zY3JvbGxJbnRvVmlldyh7IGJlaGF2aW9yOiAnc21vb3RoJywgYmxvY2s6ICdjZW50ZXInIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZXNldCgpO1xyXG5cclxuICB9XHJcbiAgcmVtb3ZlQ2F0ZWdvcnkoKSB7XHJcbiAgICB0aGlzLmNhdGVnb3J5ID0ge1xyXG4gICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgc2VsZWN0ZWRDYXRlZ29yeTogJydcclxuICAgIH07XHJcbiAgICB0aGlzLnJlc2V0KCk7XHJcbiAgfVxyXG4gIGdldFNldHRpbmdzSW5mbygpIHtcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmdldFJpc2tTZXR0aW5nRGV0YWlscygpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNldHRpbmdzSW5mbyA9IHJlcztcclxuICAgIH0sIGVyciA9PiB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgdHJpZ2dlckJyb3dzZUZpbGUoKSB7XHJcbiAgICBjb25zdCBnZXRGaWxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2ZpbGVJbnB1dCcpO1xyXG4gICAgaWYgKGdldEZpbGUpIHtcclxuICAgICAgZ2V0RmlsZS5jbGljaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkZWRGaWxlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRyeSB7XHJcbiAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQgPSB7XHJcbiAgICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgICB3ZWlnaHRGYWN0b3JzOiBbXSxcclxuICAgICAgICByaXNrczogW11cclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRlbXBsYXRlSW5mbyA9IHtcclxuICAgICAgICBtZW1iZXJJZDogJycsXHJcbiAgICAgICAgY2F0ZWdvcnlJZDogJycsXHJcbiAgICAgICAgb3duZXJMaXN0OiBbXSxcclxuICAgICAgICByY0xpc3Q6IFtdLFxyXG4gICAgICAgIG1pdGlnYXRpb25MaXN0OiBbXSxcclxuICAgICAgICBsaWtlbGlob29kOltdLFxyXG4gICAgICAgIGltcGFjdDpbXSxcclxuICAgICAgICB2ZWxvY2l0eTpbXSxcclxuICAgICAgICB2dWxuZXJhYmlsaXR5OltdXHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgcmVmZXJlbmNlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Njcm9sbFJlZmVyZW5jZScpO1xyXG4gICAgICBpZiAocmVmZXJlbmNlKSB7XHJcbiAgICAgICAgcmVmZXJlbmNlLnNjcm9sbEludG9WaWV3KHsgYmVoYXZpb3I6ICdzbW9vdGgnLCBibG9jazogJ2NlbnRlcicgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzV3JvbmdGaWxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmZpbGVOYW1lID0gZXZlbnQudGFyZ2V0LmZpbGVzWzBdLm5hbWU7XHJcblxyXG4gICAgICBjb25zdCB0YXJnZXQ6IERhdGFUcmFuc2ZlciA9IGV2ZW50LnRhcmdldCBhcyBEYXRhVHJhbnNmZXI7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogY3VybHlcclxuICAgICAgaWYgKHRhcmdldC5maWxlcy5sZW5ndGggIT09IDEpIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHVzZSBtdWx0aXBsZSBmaWxlcycpO1xyXG4gICAgICBjb25zdCByZWFkZXI6IEZpbGVSZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICByZWFkZXIub25sb2FkID0gKGU6IGFueSkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGJzdHI6IHN0cmluZyA9IGUudGFyZ2V0LnJlc3VsdDtcclxuICAgICAgICBjb25zdCB3YjogWExTWC5Xb3JrQm9vayA9IFhMU1gucmVhZChic3RyLCB7IHR5cGU6ICdiaW5hcnknIH0pO1xyXG4gICAgICAgIGNvbnN0IHdzbmFtZTogc3RyaW5nID0gd2IuU2hlZXROYW1lc1swXTtcclxuICAgICAgICBjb25zdCB3c25hbWUxOiBzdHJpbmcgPSB3Yi5TaGVldE5hbWVzWzFdO1xyXG5cclxuICAgICAgICBjb25zdCB3czogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lXTtcclxuICAgICAgICBjb25zdCB0ZW1wRGF0YTogWExTWC5Xb3JrU2hlZXQgPSB3Yi5TaGVldHNbd3NuYW1lMV07XHJcblxyXG4gICAgICAgIHRoaXMuZGF0YSA9IFhMU1gudXRpbHMuc2hlZXRfdG9fanNvbih3cywge1xyXG4gICAgICAgICAgaGVhZGVyOiAxLFxyXG4gICAgICAgIH0pIGFzIEFPQTtcclxuXHJcbiAgICAgICAgY29uc3QgdERhdGEgPSBYTFNYLnV0aWxzLnNoZWV0X3RvX2pzb24odGVtcERhdGEsIHsgaGVhZGVyOiAxIH0pIGFzIEFPQTtcclxuICAgICAgICBjb25zdCB0ZW1wTGlzdCA9IHREYXRhLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCk7XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ubWVtYmVySWQgPSB0ZW1wTGlzdFswXVs1Nl1cclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5jYXRlZ29yeUlkID0gdGVtcExpc3RbMF1bNTVdXHJcbiAgICAgICAgdGhpcy5yaXNrQnVsa1VwbG9hZC5oZWFkZXIgPSBjbG9uZURlZXAodGhpcy5kYXRhWzRdLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCkpO1xyXG4gICAgICAgIHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycyA9IGNsb25lRGVlcCh0aGlzLmRhdGFbNV0uZmlsdGVyKCh3ZWlnaHRGYWN0b3I6IGFueSkgPT4gd2VpZ2h0RmFjdG9yLmxlbmd0aCA+IDApKTtcclxuICAgICAgICB0ZW1wTGlzdC5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudFs4XSkge1xyXG5cclxuICAgICAgICAgICAgY29uc3QgbWVtYmVyID0ge1xyXG4gICAgICAgICAgICAgIG5hbWU6IGVsZW1lbnRbOF0sXHJcbiAgICAgICAgICAgICAgbWVtYmVyX2lkOiBlbGVtZW50WzldXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LnB1c2gobWVtYmVyKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzJdKSB7XHJcblxyXG4gICAgICAgICAgICBjb25zdCBtaXRpZ2F0aW9uID0ge1xyXG4gICAgICAgICAgICAgIG1pdGlnYXRpb25OYW1lOiBlbGVtZW50WzJdLFxyXG4gICAgICAgICAgICAgIG1pdGlnYXRpb25faWQ6IGVsZW1lbnRbM11cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5taXRpZ2F0aW9uTGlzdC5wdXNoKG1pdGlnYXRpb24pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKGVsZW1lbnRbNl0pIHtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHJjID0ge1xyXG4gICAgICAgICAgICAgIHJjTmFtZTogZWxlbWVudFs2XSxcclxuICAgICAgICAgICAgICByY19pZDogZWxlbWVudFs3XSxcclxuICAgICAgICAgICAgICBvd25lcl9pZHM6IGVsZW1lbnRbMTFdXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ucmNMaXN0LnB1c2gocmMpO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGlmIChlbGVtZW50WzEyXSkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mbz8ubGlrZWxpaG9vZC5wdXNoKGVsZW1lbnRbMTJdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChlbGVtZW50WzEzXSkge1xyXG4gICAgICAgICAgICB0aGlzLnRlbXBsYXRlSW5mbz8uaW1wYWN0LnB1c2goZWxlbWVudFsxM10pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpICYmIGVsZW1lbnRbMTRdKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnZlbG9jaXR5LnB1c2goZWxlbWVudFsxNF0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWdWxuZXJhYmlsaXR5JykgJiYgZWxlbWVudFsxNV0pIHtcclxuICAgICAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8udnVsbmVyYWJpbGl0eS5wdXNoKGVsZW1lbnRbMTVdKTtcclxuXHJcbiAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZmlsZU5hbWUuc3Vic3RyKC01KSAhPT0gJy54bHN4Jykge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnVGhlIGluY29ycmVjdCBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkLiBQbGVhc2UgdXBsb2FkIHRoZSB0ZW1wbGF0ZSBmaWxlIGZvciBSaXNrIENhdGVnb3J5OicgKyB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSArICcgUkVUUlknO1xyXG5cclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQuaGVhZGVyWzBdICE9PSAnV2hhdCByaXNrIHdvdWxkIHlvdSBsaWtlIHRvIG1hbmFnZT8qJykge1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSAnVGhlIGluY29ycmVjdCBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkLiBQbGVhc2UgdXBsb2FkIHRoZSB0ZW1wbGF0ZSBmaWxlIGZvciBSaXNrIENhdGVnb3J5OicgKyB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY2F0ZWdvcnlfbmFtZSArICcgUkVUUlknO1xyXG5cclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IHRydWU7XHJcblxyXG4gICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5kYXRhID0gdGhpcy5kYXRhPy5zbGljZSg3KTtcclxuICAgICAgICBjb25zdCBkZWZhdWx0T3duZXIgPSB0aGlzLnRlbXBsYXRlSW5mbz8ub3duZXJMaXN0Py5maW5kSW5kZXgoKGVsZTogYW55KSA9PiBlbGU/Lm1lbWJlcl9pZCA9PSB0aGlzLm1lbWJlcklkKTtcclxuICAgICAgICBpZihkZWZhdWx0T3duZXIgIT0tMSl7XHJcbiAgICAgICAgICB0aGlzLmRlZmF1bHRPd25lciA9IHRoaXMudGVtcGxhdGVJbmZvLm93bmVyTGlzdFtkZWZhdWx0T3duZXJdLm5hbWVcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJ1RoZSBpbmNvcnJlY3QgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZC4gUGxlYXNlIHVwbG9hZCB0aGUgdGVtcGxhdGUgZmlsZSBmb3IgUmlzayBDYXRlZ29yeTonICsgdGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5LmNhdGVnb3J5X25hbWUgKyAnIFJFVFJZJztcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKCh0aGlzLm1lbWJlcl9vYmpfaWQgIT0gdGhpcy50ZW1wbGF0ZUluZm8ubWVtYmVySWQpIHx8ICh0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuX2lkICE9IHRoaXMudGVtcGxhdGVJbmZvLmNhdGVnb3J5SWQpKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdUaGUgaW5jb3JyZWN0IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQuIFBsZWFzZSB1cGxvYWQgdGhlIHRlbXBsYXRlIGZpbGUgZm9yIFJpc2sgQ2F0ZWdvcnk6JyArIHRoaXMuY2F0ZWdvcnkuc2VsZWN0ZWRDYXRlZ29yeS5jYXRlZ29yeV9uYW1lICsgJyBSRVRSWSc7XHJcblxyXG4gICAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBpc0VtcHR5ID0gdGhpcy5jaGVja0VtcHR5RmlsZSgpO1xyXG4gICAgICAgIGlmIChpc0VtcHR5KSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9ICdZb3UgaGF2ZSB1cGxvYWRlZCBhIGJsYW5rIHRlbXBsYXRlLiBQbGVhc2UgYWRkIGRldGFpbHMgZm9yIGFsbCBtYW5kYXRvcnkgZmllbGRzLiBSRVRSWSc7XHJcbiAgICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQuaGVhZGVyWzZdID09PSAnUmlzayBBc3Nlc3NtZW50IERlYWRsaW5lKicpIHtcclxuICAgICAgICAgICAgdGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgPSB0cnVlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuaXNGaWxlRW1wdHkgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0ZpbGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5maWxlVmFsdWUgPSAnJztcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IHJpc2tEYXRhID0gdGhpcy5kYXRhLmZpbHRlcigoZGF0YUVsZW1lbnQ6IGFueSkgPT4gZGF0YUVsZW1lbnQubGVuZ3RoID4gMCk7XHJcblxyXG4gICAgICAgIHJpc2tEYXRhLmZvckVhY2goKHJpc2s6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG5cclxuICAgICAgICAgIC8vIGNvbnN0IG9iajogYW55ID0ge1xyXG4gICAgICAgICAgLy8gICByaXNrTmFtZTogcmlza1swXSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgZGVzY3JpcHRpb246IHJpc2tbMV0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIHJjTmFtZTogcmlza1syXSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgb3duZXI6IHJpc2tbM10gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIG1pdGlnYXRpb25Qcmlvcml0eTogcmlza1s0XSA/PyAnJyxcclxuICAgICAgICAgIC8vICAgb3ZlcnNlZXI6IHJpc2tbNV0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgIGlzVmFsaWQ6IHRoaXMuY2hlY2tWYWxpZGl0eShyaXNrKSxcclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAvLyBpZiAodGhpcy5hc3Nlc3NtZW50RGVhZExpbmUpIHtcclxuICAgICAgICAgIC8vICAgb2JqLmFzc2Vzc21lbnREZWFkTGluZSA9IHJpc2tbNl0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIG9iai5saWtlbGlob29kID0gcmlza1s3XSA/PyAnJztcclxuICAgICAgICAgIC8vICAgb2JqLmltcGFjdCA9IHJpc2tbOF0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDMpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzldID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGlmICh0aGlzLnJpc2tCdWxrVXBsb2FkLndlaWdodEZhY3RvcnMubGVuZ3RoID09IDQpIHtcclxuICAgICAgICAgIC8vICAgICBvYmoudmVsb2NpdHkgPSByaXNrWzldID8/ICcnO1xyXG4gICAgICAgICAgLy8gICAgIG9iai52dWxuZXJhYmlsaXR5ID0gcmlza1sxMF0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcblxyXG4gICAgICAgICAgLy8gICB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY3VzdG9tX3RhZy5mb3JFYWNoKCh0YWc6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgLy8gICAgIGlmICh0YWcpIHtcclxuICAgICAgICAgIC8vICAgICAgIGNvbnN0IGNUYWcgPSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgIGN1c3RvbV90YWdfdmFsdWU6IHJpc2tbNyArIHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggKyBpbmRleF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgICAgICAgIGN1c3RvbV90YWdfbmFtZTogdGFnLnRhZ05hbWVcclxuICAgICAgICAgIC8vICAgICAgIH07XHJcbiAgICAgICAgICAvLyAgICAgICBjdXN0b21UYWdzLnB1c2goY1RhZyk7XHJcbiAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgIC8vICAgb2JqLmN1c3RvbVRhZyA9IGN1c3RvbVRhZ3M7XHJcbiAgICAgICAgICAvLyB9IGVsc2Uge1xyXG4gICAgICAgICAgLy8gICBvYmoubGlrZWxpaG9vZCA9IHJpc2tbNl0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIG9iai5pbXBhY3QgPSByaXNrWzddID8/ICcnO1xyXG5cclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggPT0gMykge1xyXG4gICAgICAgICAgLy8gICAgIG9iai52ZWxvY2l0eSA9IHJpc2tbOF0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgIH1cclxuICAgICAgICAgIC8vICAgaWYgKHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggPT0gNCkge1xyXG4gICAgICAgICAgLy8gICAgIG9iai52ZWxvY2l0eSA9IHJpc2tbOF0gPz8gJyc7XHJcbiAgICAgICAgICAvLyAgICAgb2JqLnZ1bG5lcmFiaWxpdHkgPSByaXNrWzldID8/ICcnO1xyXG4gICAgICAgICAgLy8gICB9XHJcbiAgICAgICAgICAvLyAgIGNvbnN0IGN1c3RvbVRhZ3M6IGFueSA9IFtdO1xyXG4gICAgICAgICAgLy8gICB0aGlzLmNhdGVnb3J5LnNlbGVjdGVkQ2F0ZWdvcnkuY3VzdG9tX3RhZy5mb3JFYWNoKCh0YWc6IGFueSwgaW5kZXg6IGFueSkgPT4ge1xyXG4gICAgICAgICAgLy8gICAgIGlmICh0YWcpIHtcclxuICAgICAgICAgIC8vICAgICAgIGNvbnN0IGNUYWcgPSB7XHJcbiAgICAgICAgICAvLyAgICAgICAgIGN1c3RvbV90YWdfdmFsdWU6IHJpc2tbNiArIHRoaXMucmlza0J1bGtVcGxvYWQud2VpZ2h0RmFjdG9ycy5sZW5ndGggKyBpbmRleF0gPz8gJycsXHJcbiAgICAgICAgICAvLyAgICAgICAgIGN1c3RvbV90YWdfbmFtZTogdGFnLnRhZ05hbWVcclxuICAgICAgICAgIC8vICAgICAgIH07XHJcbiAgICAgICAgICAvLyAgICAgICBjdXN0b21UYWdzLnB1c2goY1RhZyk7XHJcbiAgICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgIC8vICAgb2JqLmN1c3RvbVRhZyA9IGN1c3RvbVRhZ3M7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICBsZXQgb2JqID0gdGhpcy5zZXRSaXNrRGV0YWlscyhyaXNrKVxyXG4gICAgICAgICAgaWYgKG9iaj8ubGlrZWxpaG9vZCAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/Lmxpa2VsaWhvb2QuaW5jbHVkZXMob2JqPy5saWtlbGlob29kKSkge1xyXG4gICAgICAgICAgICBvYmouaXNWYWxpZD1mYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChvYmo/LmltcGFjdCAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/LmltcGFjdC5pbmNsdWRlcyhvYmo/LmltcGFjdCkpIHtcclxuICAgICAgICAgICAgb2JqLmlzVmFsaWQ9ZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAob2JqPy52ZWxvY2l0eSAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/LnZlbG9jaXR5LmluY2x1ZGVzKG9iaj8udmVsb2NpdHkpKSB7XHJcbiAgICAgICAgICAgIG9iai5pc1ZhbGlkPWZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKG9iaj8udnVsbmVyYWJpbGl0eSAmJiAhdGhpcy50ZW1wbGF0ZUluZm8/LnZ1bG5lcmFiaWxpdHkuaW5jbHVkZXMob2JqPy52dWxuZXJhYmlsaXR5KSkge1xyXG4gICAgICAgICAgICBvYmouaXNWYWxpZD1mYWxzZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB0aGlzLnJpc2tCdWxrVXBsb2FkLnJpc2tzLnB1c2gob2JqKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmlzRmlsZUVtcHR5ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaXNXcm9uZ0Zvcm1hdCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuc2hvd0V4Y2VsID0gdHJ1ZTtcclxuICAgICAgfTtcclxuICAgICAgcmVhZGVyLnJlYWRBc0JpbmFyeVN0cmluZyh0YXJnZXQ/LmZpbGVzWzBdKTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNoZWNrRW1wdHlGaWxlKCkge1xyXG4gICAgbGV0IGlzRW1wdHkgPSBmYWxzZTtcclxuICAgIHRoaXMuZGF0YSA9IHRoaXMuZGF0YS5maWx0ZXIoKGRhdGFFbGVtZW50OiBhbnkpID0+IGRhdGFFbGVtZW50Lmxlbmd0aCA+IDApO1xyXG4gICAgaWYgKHRoaXMuZGF0YS5sZW5ndGggPCAxKSB7XHJcbiAgICAgIGlzRW1wdHkgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzRW1wdHk7XHJcbiAgfVxyXG5cclxuICBjaGVja1ZhbGlkaXR5KHJpc2s6IGFueSkge1xyXG4gICAgY29uc3QgcmUgPSAvJm5ic3A7fDxicj4vZztcclxuICAgIGxldCB0cmltbWVkTmFtZSA9IChyaXNrWzBdKSA/IHJpc2tbMF0udG9TdHJpbmcoKS5yZXBsYWNlKHJlLCAnJykudHJpbSgpIDogJyc7XHJcbiAgICB0cmltbWVkTmFtZSA9IHRyaW1tZWROYW1lLnJlcGxhY2UoLyAgKy9nLCAnICcpO1xyXG4gICAgLy8gfHwgKHRoaXMuYXNzZXNzbWVudERlYWRMaW5lICYmICghcmlza1s2XSkpXHJcbiAgICBpZiAoKCF0cmltbWVkTmFtZSkgfHwgKHJpc2tbM10gJiYgKHJpc2tbM10gPT0gcmlza1s2XSkpIHx8ICgoIXJpc2tbM10pICYmICh0aGlzLmRlZmF1bHRPd25lciA9PSByaXNrWzZdKSlcclxuICAgICAgfHwgKCFyaXNrWzJdKSB8fCAoIXRoaXMuZnJlcXVlbmN5VHlwZT8uaW5jbHVkZXMocmlza1s0XT8udG9Mb3dlckNhc2UoKSkpKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0gZWxzZSB7IHJldHVybiB0cnVlIH1cclxuICB9XHJcblxyXG4gIGRvd25sb2FkVGVtcGxhdGUoKSB7XHJcbiAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ0RPV05MT0FESU5HJztcclxuICAgIHRoaXMuZG93bmxvYWRQZXJjZW50ID0gMDtcclxuICAgIGNvbnN0IHRvZGF5ID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnNwbGl0KCdUJyk7XHJcbiAgICBjb25zdCBkb3dubG9hZERhdGUgPSB0b2RheVswXTtcclxuICAgIGNvbnN0IGZpbGVOYW1lID0gJ1ZDb21wbHkgLSBSaXNrIE1vZHVsZSAtIEFkZCBNdWx0aXBsZSBSaXNrcyAtICcrIHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X25hbWUgKycgLSAnICsgZG93bmxvYWREYXRlICsgJy54bHN4JztcclxuXHJcbiAgICB0aGlzLnJpc2tTZXJ2aWNlLmRvd25sb2FkVGVtcGxhdGUodGhpcy5jYXRlZ29yeS5zZWxlY3RlZENhdGVnb3J5Ll9pZCkuc3Vic2NyaWJlKFxyXG4gICAgICAoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEubG9hZGVkKSB7XHJcbiAgICAgICAgICB0aGlzLmRvd25sb2FkUGVyY2VudCA9IDEwMCAqIChkYXRhLmxvYWRlZCAvIGRhdGEudG90YWwpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGF0YS5ib2R5KSB7XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5kb3dubG9hZFN0YXR1cyA9IHRoaXMucmlza1NlcnZpY2UuZG93bkxvYWRGaWxlKGRhdGEuYm9keSwgJ2FwcGxpY2F0aW9uL3hsc3gnLCBmaWxlTmFtZSk7XHJcbiAgICAgICAgICB9LCAxNTAwKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICB9LFxyXG4gICAgICAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcclxuICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ0RPV05MT0FERUQnO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Umlza0J1bGtVcGxvYWQoY29tcGxldGVBc3Nlc3NtZW50OiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGVyID0gdHJ1ZTtcclxuICAgIGNvbnN0IHBheWxvYWQ6IGFueSA9IFtdO1xyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZC5yaXNrcy5mb3JFYWNoKChyaXNrOiBhbnkpID0+IHtcclxuICAgICAgbGV0IGZyZXF1ZW5jeVZhbHVlID0gJyc7XHJcbiAgICAgIGlmKHJpc2s/LmZyZXF1ZW5jeS50b0xvd2VyQ2FzZSgpID09PSAnb25lIHRpbWUnKSB7XHJcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKClcclxuICAgICAgICBkYXRlLnNldERhdGUoZGF0ZS5nZXREYXRlKCkgKyAxKVxyXG4gICAgICAgIGZyZXF1ZW5jeVZhbHVlID0gJzB+JyArICcnICsgZGF0ZS5nZXRGdWxsWWVhcigpICsgJ34nICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJ34nICsgZGF0ZS5nZXREYXRlKCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgIGZyZXF1ZW5jeVZhbHVlID0gdGhpcy5mcmVxdWVuY3lTZXJ2aWNlLnNob3J0SGFuZF9mcmVxQ2FsKHJpc2s/LmZyZXF1ZW5jeSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChyaXNrLmlzVmFsaWQpIHtcclxuICAgICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICB0aXRsZTogcmlzaz8ucmlza05hbWUsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogcmlzaz8uZGVzY3JpcHRpb24sXHJcbiAgICAgICAgICBjYXRlZ29yeV9jdXN0b21fdGFnOiByaXNrPy5jdXN0b21UYWcsXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfZW5hYmxlLFxyXG4gICAgICAgICAgb3duZXI6IChyaXNrPy5vd25lcikgPyB0aGlzLnJldHVybklkcyhyaXNrPy5vd25lciwgJ293bmVyJykgOiB0aGlzLnJldHVybklkcyh0aGlzLmRlZmF1bHRPd25lciwgJ293bmVyJyksXHJcbiAgICAgICAgICBjYXRlZ29yeTogKHRoaXMuY2F0ZWdvcnk/LnNlbGVjdGVkQ2F0ZWdvcnk/LmNhdGVnb3J5X2lkKSA/IFt0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jYXRlZ29yeV9pZF0gOiBbXSxcclxuICAgICAgICAgIG1hbmFnZV9vdmVyc2lnaHQ6IHRoaXMucmV0dXJuSWRzKHJpc2s/Lm92ZXJzZWVyLCAnb3ZlcnNlZXInKSxcclxuICAgICAgICAgIHJjX2lkOiB0aGlzLnJldHVybklkcyhyaXNrPy5yY05hbWUsICdyY19pZCcpLFxyXG4gICAgICAgICAgaGVhZF9pZHM6IHRoaXMucmV0dXJuSWRzKHJpc2s/LnJjTmFtZSwgJ3JjX293bmVyX2lkcycpLCAvLzIgdG8gYmUgYXJheVxyXG4gICAgICAgICAgcmF0aW5nX2FycjogW1xyXG4gICAgICAgICAgICByaXNrPy5saWtlbGlob29kID8gcmlzaz8ubGlrZWxpaG9vZC5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy5pbXBhY3QgPyByaXNrPy5pbXBhY3Quc3BsaXQoJyAtICcpWzFdIDogMCxcclxuICAgICAgICAgICAgcmlzaz8udmVsb2NpdHkgPyByaXNrPy52ZWxvY2l0eS5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgICByaXNrPy52dWxuZXJhYmlsaXR5ID8gcmlzaz8udnVsbmVyYWJpbGl0eS5zcGxpdCgnIC0gJylbMV0gOiAwLFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICAgIG1lbWJlcl9pZDogdGhpcy5tZW1iZXJJZCxcclxuICAgICAgICAgIG9yZ2FuaXNhdGlvbl9pZDogdGhpcy5vcmdhbml6YXRpb25JZCxcclxuICAgICAgICAgIHJpc2tfcHJvZ3Jlc3NfZmxhZzogMSxcclxuICAgICAgICAgIElmQXNzZXNzbWVudERvbmU6IDAsXHJcbiAgICAgICAgICB3b3Jrc2hvcF9pZDogJycsXHJcbiAgICAgICAgICBjb21wbGV0ZV9hc3Nlc3NtZW50OiAoY29tcGxldGVBc3Nlc3NtZW50KSA/IDEgOiAwLFxyXG4gICAgICAgICAgbWl0aWdhdGlvbjogdGhpcy5yZXR1cm5JZHMocmlzaz8ubWl0aWdhdGlvblByaW9yaXR5LCAnbWl0aWdhdGlvbicpLCAvLzMgd3JvbmdcclxuICAgICAgICAgIHdlaWdodGFnZV9lbmFibGU6IHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZW5hYmxlLFxyXG4gICAgICAgICAgdHJlYXRtZW50X3R5cGU6IHRoaXMuc2V0dGluZ3NJbmZvPy50cmVhdG1lbnRfY3JpdGVyaWEsXHJcbiAgICAgICAgICB3ZWlnaHRhZ2VfZGV0YWlsczogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9kZXRhaWxzLFxyXG4gICAgICAgICAgd2VpZ2h0YWdlX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LndlaWdodGFnZV9zZXRfYnksXHJcbiAgICAgICAgICB3ZWlnaHRhZ2Vfc3RyOiBbXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8uaW1wYWN0LnZhbHVlLFxyXG4gICAgICAgICAgICB0aGlzLnNldHRpbmdzSW5mbz8ud2VpZ2h0YWdlX2RldGFpbHM/Lmxpa2VsaWhvb2QudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8udmVsb2NpdHkudmFsdWUsXHJcbiAgICAgICAgICAgIHRoaXMuc2V0dGluZ3NJbmZvPy53ZWlnaHRhZ2VfZGV0YWlscz8udnVsbmVyYWJpbGl0eS52YWx1ZSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgICAvLyBhc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5LCAvL2NoZWNrMSBub3QgYXBwZWFyaW5nXHJcbiAgICAgICAgICBhc3Nlc3NtZW50X2RlYWRsaW5lX3NldF9ieTogdGhpcy5zZXR0aW5nc0luZm8/LmFzc2Vzc21lbnRfZGVhZGxpbmVfc2V0X2J5ID8/IHRoaXMubWVtYmVySWQsIC8vY2hlY2sxIG5vdCBhcHBlYXJpbmdcclxuICAgICAgICAgIGFzc2Vzc21lbnRfZGVhZGxpbmVfZGF5czogKHRoaXMuc2V0dGluZ3NJbmZvPy5hc3Nlc3NtZW50X2RlYWRsaW5lX2VuYWJsZSkgPyB0aGlzLnNldHRpbmdzSW5mbz8uYXNzZXNzbWVudF9kZWFkbGluZV9kYXlzIDogcmlzaz8uYXNzZXNzbWVudERlYWRMaW5lLFxyXG4gICAgICAgICAgZnJlcXVlbmN5X2RldGFpbHM6IHtcclxuICAgICAgICAgICAgZnJlcXVlbmN5OiBmcmVxdWVuY3lWYWx1ZSxcclxuICAgICAgICAgICAgc3RhcnRlZF9hdDogdGhpcy5jaGFuZ2VUaW1lWm9uZShuZXcgRGF0ZSkgPz8gbW9tZW50KCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcclxuICAgICAgICAgICAgZnJlcXVlbmN5X3RpbWU6IFwiMTE6MDAgcG1cIixcclxuICAgICAgICAgICAgcmVtaW5kX2JlZm9yZV9kYXlzOiByaXNrPy5lbWFpbFJlbWluZGVyID8gcmlzaz8uZW1haWxSZW1pbmRlciA6IHRoaXMuc2V0RGVmYXVsdEVtYWlsUmVtaW5kZXJWYWx1ZShyaXNrPy5mcmVxdWVuY3kpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHJpc2tfbGFiZWw6IHRoaXMuc2V0Umlza0xhYmVsKHJpc2s/LnJpc2tMYWJlbCksXHJcbiAgICAgICAgICBtaXRpZ2F0aW9uX3BsYW5fcmVjb21tZW5kYXRpb246IHJpc2s/Lm1pdGlnYXRpb25QbGFucyA/PyAnJyxcclxuICAgICAgICAgIHNhbWVSaXNrUmF0aW5nc0ZvckFsbFJDOiByaXNrPy5hcHBseVNhbWVSaXNrUmF0aW5nID8/ICdObycsXHJcbiAgICAgICAgfTtcclxuICAgICAgICBwYXlsb2FkLnB1c2gob2JqKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBjb25zb2xlLmxvZyhcInBheWxvYWRwYXlsb2FkcGF5bG9hZHBheWxvYWRwYXlsb2FkcGF5bG9hZCAgPT09PT5cIixwYXlsb2FkKVxyXG5cclxuICAgIHRoaXMucmlza1NlcnZpY2UuYWRkQnVsa1Jpc2socGF5bG9hZCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLmxvYWRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dFeGNlbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnNob3dTbWlsZXkgPSB0cnVlO1xyXG4gICAgICB0aGlzLnJpc2tEYXRhID0gcmVzO1xyXG4gICAgfSxcclxuICAgICAgZXJyID0+IHtcclxuICAgICAgICBjb25zb2xlLmxvZyhlcnIpO1xyXG4gICAgICAgIHRoaXMubG9hZGVyID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zaG93RXhjZWwgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLnNob3coJ09PUFMhIFNvbWV0aGluZyB3ZW50IHdyb25nIGFuZCB0aGUgcGFnZSBjb3VsZCBub3QgYmUgbG9hZGVkLiBDb3VsZCB5b3UgcGxlYXNlIHRyeSBvbmUgbW9yZSB0aW1lPycsICdhbGVydCcpO1xyXG5cclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG5cclxuICByZXR1cm5JZHMoaXRlbTogYW55LCBrZXk6IHN0cmluZykge1xyXG4gICAgc3dpdGNoIChrZXkpIHtcclxuICAgICAgY2FzZSAncmNfaWQnOlxyXG4gICAgICAgIGNvbnN0IHJjSWQ6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5mb3JFYWNoKChyY19lbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyY19lbGVtZW50LnJjTmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIHJjSWQucHVzaChyY19lbGVtZW50LnJjX2lkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiByY0lkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdyY19vd25lcl9pZHMnOlxyXG4gICAgICAgIGxldCBvd25lcl9pZHM6IGFueSA9IFtdO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLnJjTGlzdC5mb3JFYWNoKChoZWFkZXJJZHM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKGhlYWRlcklkcy5yY05hbWUgPT0gaXRlbSAmJiBoZWFkZXJJZHMub3duZXJfaWRzKSB7XHJcbiAgICAgICAgICAgIG93bmVyX2lkcz0gaGVhZGVySWRzLm93bmVyX2lkcy5pbmNsdWRlcygnLCcpPyBoZWFkZXJJZHMub3duZXJfaWRzLnNwbGl0KCcsJykubWFwKE51bWJlcikgOltOdW1iZXIoaGVhZGVySWRzLm93bmVyX2lkcyldO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvd25lcl9pZHM7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ293bmVyJzpcclxuICAgICAgICBjb25zdCBvd25lcklkOiBhbnkgPSBbXTtcclxuICAgICAgICB0aGlzLnRlbXBsYXRlSW5mby5vd25lckxpc3QuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAoZWxlbWVudC5uYW1lID09IGl0ZW0pIHtcclxuICAgICAgICAgICAgb3duZXJJZC5wdXNoKGVsZW1lbnQubWVtYmVyX2lkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBvd25lcklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICdvdmVyc2Vlcic6XHJcbiAgICAgICAgY29uc3Qgb3ZlcnNlZXJJZDogYW55ID0gW107XHJcbiAgICAgICAgdGhpcy50ZW1wbGF0ZUluZm8ub3duZXJMaXN0LmZvckVhY2goKG9zX2VsZW1lbnQ6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG9zX2VsZW1lbnQubmFtZSA9PSBpdGVtKSB7XHJcbiAgICAgICAgICAgIG92ZXJzZWVySWQucHVzaChvc19lbGVtZW50Lm1lbWJlcl9pZClcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gb3ZlcnNlZXJJZDtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgJ21pdGlnYXRpb24nOlxyXG4gICAgICAgIGxldCBtaXRpZ2F0aW9uSWQ6IGFueT0wO1xyXG4gICAgICAgIHRoaXMudGVtcGxhdGVJbmZvLm1pdGlnYXRpb25MaXN0LmZvckVhY2goKG1pdGlnYXRpb246IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKG1pdGlnYXRpb24ubWl0aWdhdGlvbk5hbWUgPT0gaXRlbSkge1xyXG4gICAgICAgICAgICBtaXRpZ2F0aW9uSWQgPSBtaXRpZ2F0aW9uLm1pdGlnYXRpb25faWRcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbWl0aWdhdGlvbklkO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0KCkge1xyXG4gICAgdGhpcy5yaXNrQnVsa1VwbG9hZCA9IHtcclxuICAgICAgaGVhZGVyOiBbXSxcclxuICAgICAgd2VpZ2h0RmFjdG9yczogW10sXHJcbiAgICAgIHJpc2tzOiBbXVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudGVtcGxhdGVJbmZvID0ge1xyXG4gICAgICBtZW1iZXJJZDogJycsXHJcbiAgICAgIGNhdGVnb3J5SWQ6ICcnLFxyXG4gICAgICBvd25lckxpc3Q6IFtdLFxyXG4gICAgICByY0xpc3Q6IFtdLFxyXG4gICAgICBtaXRpZ2F0aW9uTGlzdDogW11cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc0ZpbGVFbXB0eSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRmlsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1dyb25nRm9ybWF0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5kYXRhID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5hc3Nlc3NtZW50RGVhZExpbmUgPSB1bmRlZmluZWRcclxuICAgIHRoaXMuc2hvd0V4Y2VsID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcclxuXHJcbiAgfVxyXG4gIGFjdGlvbihldmVudDogc3RyaW5nKSB7XHJcbiAgICBzd2l0Y2ggKGV2ZW50KSB7XHJcbiAgICAgIGNhc2UgJ2FkZE1vcmUnOlxyXG4gICAgICAgIHRoaXMuY2F0ZWdvcnkgPSB7XHJcbiAgICAgICAgICB0eXBlOiAnc3RyYXRlZ2ljJyxcclxuICAgICAgICAgIHNlbGVjdGVkQ2F0ZWdvcnk6ICcnLFxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmRvd25sb2FkU3RhdHVzID0gJ05PVF9ET1dOTE9BRElORyc7XHJcbiAgICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd2aWV3Umlza3MnOlxyXG4gICAgICAgIHRoaXMudmlld1Jpc2tzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZVNtaWxleShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnNob3dTbWlsZXkgPSBmYWxzZTtcclxuICAgIHRoaXMuY2xvc2VXb3JrZmxvdy5lbWl0KHtldnQ6dGhpcy5yaXNrRGF0YSwgY29uZmlybSA6IGZhbHNlfSk7XHJcbiAgfVxyXG5cclxuICB2aWV3Umlza3MoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRpc2Nvbm5lY3RSZWZyZXNoLmVtaXQoZmFsc2UpO1xyXG4gICAgbGV0IHVybDogc3RyaW5nO1xyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCA9ICdodHRwOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsID0gJ2h0dHBzOi8vJyArIHdpbmRvdy5sb2NhdGlvbi5ob3N0O1xyXG4gICAgfVxyXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5ob3N0LnN0YXJ0c1dpdGgoJ2xvY2FsaG9zdCcpKSB7XHJcbiAgICAgIHVybCArPSAnL3Jpc2stcmVnaXN0ZXInO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXJsICs9ICcvcmlzay9yaXNrLXJlZ2lzdGVyJztcclxuICAgIH1cclxuICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gdXJsO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSXQgdGFrZXMgYW4gYXJyYXkgb2Ygc3RyaW5ncyBhbmQgcmV0dXJucyBhbiBvYmplY3Qgd2l0aCB0aGUgYXJyYXkgdmFsdWVzIGFzIHByb3BlcnRpZXMuXHJcbiAgICogPC9jb2RlPlxyXG4gICAqIEBwYXJhbSB7YW55fSByaXNrIC0gYW55ID0gW1xyXG4gICAqIEByZXR1cm5zIFtcclxuICAgKiAgIHtcclxuICAgKiAgICAgXCJyaXNrTmFtZVwiOiBcIlwiLFxyXG4gICAqICAgICBcImRlc2NyaXB0aW9uXCI6IFwiXCIsXHJcbiAgICogICAgIFwicmNOYW1lXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3duZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJmcmVxdWVuY3lcIjogXCJcIixcclxuICAgKiAgICAgXCJlbWFpbFJlbWluZGVyXCI6IFwiXCIsXHJcbiAgICogICAgIFwib3ZlcnNlZXJcIjogXCJcIixcclxuICAgKiAgICAgXCJpc1ZhbGlkXCI6IGZhbHNlLFxyXG4gICAqICAgICBcIm1pdGlnYXRpb25Qcmlvcml0eVwiOiBcIlwiLFxyXG4gICAqL1xyXG4gIHNldFJpc2tEZXRhaWxzKHJpc2s6IGFueSkge1xyXG4gICAgbGV0IG9iajogYW55O1xyXG4gICAgb2JqID0ge1xyXG4gICAgICByaXNrTmFtZTogcmlza1swXSA/PyAnJyxcclxuICAgICAgZGVzY3JpcHRpb246IHJpc2tbMV0gPz8gJycsXHJcbiAgICAgIHJjTmFtZTogcmlza1syXSA/PyAnJyxcclxuICAgICAgb3duZXI6IHJpc2tbM10gPz8gJycsXHJcbiAgICAgIGZyZXF1ZW5jeTogcmlza1s0XSA/PyAnJyxcclxuICAgICAgZW1haWxSZW1pbmRlcjogcmlza1s1XSxcclxuICAgICAgb3ZlcnNlZXI6IHJpc2tbNl0gPz8gJycsXHJcbiAgICAgIGlzVmFsaWQ6IHRoaXMuY2hlY2tWYWxpZGl0eShyaXNrKSxcclxuICAgIH1cclxuICAgIGxldCBpbmRleCA9IDc7XHJcbiAgICBpZih0aGlzLnJpc2tCdWxrVXBsb2FkPy5oZWFkZXI/LmluY2x1ZGVzKCdSZWNvbW1lbmRlZCBNaXRpZ2F0aW9uIFByaW9yaXR5JykpIHtcclxuICAgICAgb2JqWydtaXRpZ2F0aW9uUHJpb3JpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCArKztcclxuICAgIH1cclxuICAgIG9ialsnbWl0aWdhdGlvblBsYW5zJ10gPSByaXNrW2luZGV4XSA/PyAnJztcclxuICAgIGluZGV4ICsrO1xyXG4gICAgb2JqWydyaXNrTGFiZWwnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXggKys7XHJcbiAgICBvYmpbJ2xpa2VsaWhvb2QnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgaW5kZXggKys7XHJcbiAgICBvYmpbJ2ltcGFjdCddID0gcmlza1tpbmRleF0gPz8gJyc7XHJcbiAgICBpbmRleCArKztcclxuICAgIGlmKHRoaXMucmlza0J1bGtVcGxvYWQ/LndlaWdodEZhY3RvcnM/LmluY2x1ZGVzKCdWZWxvY2l0eScpKSB7XHJcbiAgICAgIG9ialsndmVsb2NpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8ud2VpZ2h0RmFjdG9ycz8uaW5jbHVkZXMoJ1Z1bG5lcmFiaWxpdHknKSkge1xyXG4gICAgICBvYmpbJ3Z1bG5lcmFiaWxpdHknXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy5yaXNrQnVsa1VwbG9hZD8uaGVhZGVyPy5pbmNsdWRlcygnRG8geW91IHdhbnQgdG8gYXBwbHkgdGhlIHNhbWUgcmlzayByYXRpbmdzIGZvciBhbGwgUmVzcG9uc2liaWxpdHkgQ2VudGVycz8nKSkge1xyXG4gICAgICBvYmpbJ2FwcGx5U2FtZVJpc2tSYXRpbmcnXSA9IHJpc2tbaW5kZXhdID8/ICcnO1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgY3VzdG9tVGFnczogYW55ID0gW107XHJcbiAgICB0aGlzLmNhdGVnb3J5Py5zZWxlY3RlZENhdGVnb3J5Py5jdXN0b21fdGFnPy5mb3JFYWNoKCh0YWc6IGFueSwgaTogYW55KSA9PiB7XHJcbiAgICAgIGlmICh0YWcpIHtcclxuICAgICAgICBjb25zdCBjVGFnID0ge1xyXG4gICAgICAgICAgY3VzdG9tX3RhZ192YWx1ZTogcmlza1tpbmRleCArIGldID8/ICcnLFxyXG4gICAgICAgICAgY3VzdG9tX3RhZ19uYW1lOiB0YWcudGFnTmFtZVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY3VzdG9tVGFncy5wdXNoKGNUYWcpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIG9ialsnY3VzdG9tVGFnJ10gPSBjdXN0b21UYWdzO1xyXG4gICAgb2JqWydpc1ZhbGlkRnJlcXVlbmN5J10gPSB0aGlzLmZyZXF1ZW5jeVR5cGU/LmluY2x1ZGVzKG9iaj8uZnJlcXVlbmN5Py50b0xvd2VyQ2FzZSgpKTtcclxuICAgIHJldHVybiBvYmo7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBJZiB0aGUgZnJlcXVlbmN5VHlwZSBpcyB3ZWVrbHksIHJldHVybiAyLCBpZiBpdCdzIG1vbnRobHksIHJldHVybiA3LCBpZiBpdCdzIHF1YXJ0ZXJseSwgcmV0dXJuIDcsXHJcbiAgICogaWYgaXQncyBiaWFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIGFubnVhbCwgcmV0dXJuIDMwLCBpZiBpdCdzIG9uZSB0aW1lLCByZXR1cm4gMTUsIG90aGVyd2lzZVxyXG4gICAqIHJldHVybiAwLlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZnJlcXVlbmN5VHlwZV0gLSBzdHJpbmcgLSB0aGUgZnJlcXVlbmN5IHR5cGUgb2YgdGhlIHJlbWluZGVyXHJcbiAgICogQHJldHVybnMgVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGRheXMgYmVmb3JlIHRoZSBldmVudCB0aGF0IHRoZSByZW1pbmRlciBzaG91bGQgYmUgc2VudC5cclxuICAgKi9cclxuICBzZXREZWZhdWx0RW1haWxSZW1pbmRlclZhbHVlKGZyZXF1ZW5jeVR5cGU/OiBzdHJpbmcpOiBhbnkge1xyXG4gICAgc3dpdGNoKGZyZXF1ZW5jeVR5cGU/LnRvTG93ZXJDYXNlKCkpIHtcclxuICAgICAgY2FzZSAnd2Vla2x5JyA6IHJldHVybiAyO1xyXG4gICAgICBjYXNlICdtb250aGx5JyA6IHJldHVybiA3O1xyXG4gICAgICBjYXNlICdxdWFydGVybHknIDogcmV0dXJuIDc7XHJcbiAgICAgIGNhc2UgJ2JpYW5udWFsJyA6IHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnYW5udWFsJyA6IHJldHVybiAzMDtcclxuICAgICAgY2FzZSAnb25lIHRpbWUnIDogcmV0dXJuIDE1O1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIElmIHRoZSBsYWJlbCBpcyAnbmV3IHJpc2snLCByZXR1cm4gMSwgaWYgdGhlIGxhYmVsIGlzICdlbWVyZ2luZy9yYXBpZGx5IGNoYW5naW5nIHJpc2tzJywgcmV0dXJuIDIsXHJcbiAgICogb3RoZXJ3aXNlIHJldHVybiAxXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtsYWJlbF0gLSB0aGUgbGFiZWwgb2YgdGhlIHJpc2tcclxuICAgKiBAcmV0dXJucyBUaGUgcmV0dXJuIHZhbHVlIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBleHByZXNzaW9uIGluIHRoZSBmdW5jdGlvbi5cclxuICAgKi9cclxuICBzZXRSaXNrTGFiZWwobGFiZWw/OiBzdHJpbmcpIHtcclxuICAgIHN3aXRjaChsYWJlbD8udG9Mb3dlckNhc2UoKSl7XHJcbiAgICAgIGNhc2UgJ25ld2x5IGlkZW50aWZpZWQgcmlza3MnOiByZXR1cm4gMTtcclxuICAgICAgY2FzZSAncmFwaWRseSBjaGFuZ2luZyByaXNrcyc6IHJldHVybiAyO1xyXG4gICAgICBkZWZhdWx0OiByZXR1cm4gMVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogXCJJZiB0aGUgZGF0ZSBpcyBhIG51bWJlciwgY29udmVydCBpdCB0byBhIGRhdGUgb2JqZWN0LCB0aGVuIGNyZWF0ZSBhIG5ldyBkYXRlIG9iamVjdCB3aXRoIHRoZVxyXG4gICAqIHRpbWV6b25lIHNldCB0byB0aGUgdXNlcidzIHRpbWV6b25lLCB0aGVuIHJldHVybiB0aGUgZGF0ZSBpbiB0aGUgZm9ybWF0IFlZWVktTU0tREQuXCJcclxuICAgKiA8L2NvZGU+XHJcbiAgICogQHBhcmFtIHthbnl9IGRhdGUgLSBhbnkgLSB0aGUgZGF0ZSB5b3Ugd2FudCB0byBjaGFuZ2UgdGhlIHRpbWV6b25lIG9mXHJcbiAgICogQHJldHVybnMgVGhlIGRhdGUgaXMgYmVpbmcgcmV0dXJuZWQgaW4gdGhlIHRpbWV6b25lIG9mIHRoZSB1c2VyLlxyXG4gICAqL1xyXG4gIGNoYW5nZVRpbWVab25lKGRhdGU6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiBkYXRlID09PSAnbnVtYmVyJykge1xyXG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0ZSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBpbnZEYXRlID0gbmV3IERhdGUoXHJcbiAgICAgIGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgIHRpbWVab25lOiB0aGlzLmF1dGhTZXJ2aWNlLnVzZXJEZXRhaWxzPy50aW1lem9uZSxcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgICByZXR1cm4gbW9tZW50KGludkRhdGUpLmZvcm1hdChcIllZWVktTU0tRERcIik7XHJcbiAgfVxyXG59XHJcbiJdfQ==