@sunbird-cb/toc 0.35.10 → 0.35.11

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 (347) hide show
  1. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +13 -3
  2. package/fesm2022/sunbird-cb-toc.mjs +12 -2
  3. package/fesm2022/sunbird-cb-toc.mjs.map +1 -1
  4. package/index.d.ts +1 -0
  5. package/lib/_collection/_common/ai-tutor/ai-tutor.component.d.ts +1 -0
  6. package/lib/_collection/_common/ai-tutor/ai-tutor.component.d.ts.map +1 -0
  7. package/lib/_collection/_common/ai-tutor/socket.service.d.ts +1 -0
  8. package/lib/_collection/_common/ai-tutor/socket.service.d.ts.map +1 -0
  9. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +1 -0
  10. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +1 -0
  11. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +1 -0
  12. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +1 -0
  13. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +1 -0
  14. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +1 -0
  15. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +1 -0
  16. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +1 -0
  17. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +1 -0
  18. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +1 -0
  19. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +1 -0
  20. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +1 -0
  21. package/lib/_collection/_common/card-competency/card-competency.component.d.ts +1 -0
  22. package/lib/_collection/_common/card-competency/card-competency.component.d.ts.map +1 -0
  23. package/lib/_collection/_common/card-competency/card-competency.module.d.ts +1 -0
  24. package/lib/_collection/_common/card-competency/card-competency.module.d.ts.map +1 -0
  25. package/lib/_collection/_common/card-content-v2/card-content-v2.model.d.ts +1 -0
  26. package/lib/_collection/_common/card-content-v2/card-content-v2.model.d.ts.map +1 -0
  27. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +1 -0
  28. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +1 -0
  29. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +1 -0
  30. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +1 -0
  31. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +1 -0
  32. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +1 -0
  33. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +1 -0
  34. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +1 -0
  35. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +1 -0
  36. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +1 -0
  37. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +1 -0
  38. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +1 -0
  39. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +1 -0
  40. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +1 -0
  41. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +1 -0
  42. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +1 -0
  43. package/lib/_collection/_common/connection-name/connection-name.component.d.ts +1 -0
  44. package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +1 -0
  45. package/lib/_collection/_common/connection-name/connection-name.module.d.ts +1 -0
  46. package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +1 -0
  47. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +1 -0
  48. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +1 -0
  49. package/lib/_collection/_common/content-progress/content-progress.component.d.ts +1 -0
  50. package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +1 -0
  51. package/lib/_collection/_common/content-progress/content-progress.module.d.ts +1 -0
  52. package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +1 -0
  53. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +1 -0
  54. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +1 -0
  55. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +1 -0
  56. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +1 -0
  57. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +1 -0
  58. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +1 -0
  59. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +1 -0
  60. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +1 -0
  61. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +1 -0
  62. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +1 -0
  63. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +1 -0
  64. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +1 -0
  65. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +1 -0
  66. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +1 -0
  67. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +1 -0
  68. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +1 -0
  69. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +1 -0
  70. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +1 -0
  71. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +1 -0
  72. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +1 -0
  73. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +1 -0
  74. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +1 -0
  75. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +1 -0
  76. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +1 -0
  77. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +1 -0
  78. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +1 -0
  79. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +1 -0
  80. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +1 -0
  81. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +1 -0
  82. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +1 -0
  83. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +1 -0
  84. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +1 -0
  85. package/lib/_collection/_common/content-toc/content-toc.component.d.ts +1 -0
  86. package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +1 -0
  87. package/lib/_collection/_common/content-toc/content-toc.module.d.ts +1 -0
  88. package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +1 -0
  89. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +2 -0
  90. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +1 -0
  91. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +1 -0
  92. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +1 -0
  93. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +1 -0
  94. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +1 -0
  95. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +1 -0
  96. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +1 -0
  97. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +1 -0
  98. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +1 -0
  99. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +1 -0
  100. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +1 -0
  101. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +1 -0
  102. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +1 -0
  103. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +1 -0
  104. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +1 -0
  105. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +1 -0
  106. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +1 -0
  107. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +1 -0
  108. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +1 -0
  109. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +1 -0
  110. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +1 -0
  111. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +1 -0
  112. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +1 -0
  113. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +1 -0
  114. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +1 -0
  115. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +1 -0
  116. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +1 -0
  117. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +1 -0
  118. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +1 -0
  119. package/lib/_collection/_common/player-brief/player-brief.component.d.ts +1 -0
  120. package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +1 -0
  121. package/lib/_collection/_common/player-brief/player-brief.module.d.ts +1 -0
  122. package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +1 -0
  123. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +1 -0
  124. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +1 -0
  125. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +1 -0
  126. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +1 -0
  127. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +1 -0
  128. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +1 -0
  129. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +1 -0
  130. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +1 -0
  131. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +1 -0
  132. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +1 -0
  133. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +1 -0
  134. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +1 -0
  135. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +1 -0
  136. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +1 -0
  137. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +1 -0
  138. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +1 -0
  139. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +1 -0
  140. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +1 -0
  141. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +1 -0
  142. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +1 -0
  143. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +1 -0
  144. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +1 -0
  145. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +1 -0
  146. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +1 -0
  147. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +1 -0
  148. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +1 -0
  149. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +1 -0
  150. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +1 -0
  151. package/lib/_collection/_common/user-image/user-image.component.d.ts +1 -0
  152. package/lib/_collection/_common/user-image/user-image.component.d.ts.map +1 -0
  153. package/lib/_collection/_common/user-image/user-image.module.d.ts +1 -0
  154. package/lib/_collection/_common/user-image/user-image.module.d.ts.map +1 -0
  155. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +1 -0
  156. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +1 -0
  157. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +1 -0
  158. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +1 -0
  159. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +1 -0
  160. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +1 -0
  161. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +1 -0
  162. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +1 -0
  163. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +1 -0
  164. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +1 -0
  165. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +1 -0
  166. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +1 -0
  167. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +1 -0
  168. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +1 -0
  169. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +1 -0
  170. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +1 -0
  171. package/lib/_collection-api.d.ts +1 -0
  172. package/lib/_collection-api.d.ts.map +1 -0
  173. package/lib/_constants/widget-content.constants.d.ts +1 -0
  174. package/lib/_constants/widget-content.constants.d.ts.map +1 -0
  175. package/lib/_directives/tooltip.directive.d.ts +1 -0
  176. package/lib/_directives/tooltip.directive.d.ts.map +1 -0
  177. package/lib/_models/common.model.d.ts +1 -0
  178. package/lib/_models/common.model.d.ts.map +1 -0
  179. package/lib/_models/error.model.d.ts +1 -0
  180. package/lib/_models/error.model.d.ts.map +1 -0
  181. package/lib/_pipes/highlight.pipe.d.ts +1 -0
  182. package/lib/_pipes/highlight.pipe.d.ts.map +1 -0
  183. package/lib/_services/rating.service.d.ts +1 -0
  184. package/lib/_services/rating.service.d.ts.map +1 -0
  185. package/lib/_services/samuhik-charcha.service.d.ts +1 -0
  186. package/lib/_services/samuhik-charcha.service.d.ts.map +1 -0
  187. package/lib/_services/viewer-route-util.d.ts +1 -0
  188. package/lib/_services/viewer-route-util.d.ts.map +1 -0
  189. package/lib/_services/widget-content.model.d.ts +1 -0
  190. package/lib/_services/widget-content.model.d.ts.map +1 -0
  191. package/lib/_services/widget-content.service.d.ts +1 -0
  192. package/lib/_services/widget-content.service.d.ts.map +1 -0
  193. package/lib/_shared/translate-loader.factory.d.ts +1 -0
  194. package/lib/_shared/translate-loader.factory.d.ts.map +1 -0
  195. package/lib/app-toc-lib.module.d.ts +1 -0
  196. package/lib/app-toc-lib.module.d.ts.map +1 -0
  197. package/lib/collection.config.d.ts +1 -0
  198. package/lib/collection.config.d.ts.map +1 -0
  199. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +1 -0
  200. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +1 -0
  201. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +1 -0
  202. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +1 -0
  203. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +1 -0
  204. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +1 -0
  205. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +1 -0
  206. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +1 -0
  207. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +1 -0
  208. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +1 -0
  209. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +1 -0
  210. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +1 -0
  211. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +1 -0
  212. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +1 -0
  213. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +1 -0
  214. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +1 -0
  215. package/lib/components/app-toc-home/app-toc-home.component.d.ts +1 -0
  216. package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +1 -0
  217. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +1 -0
  218. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +1 -0
  219. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +1 -0
  220. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +1 -0
  221. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +1 -0
  222. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +1 -0
  223. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +1 -0
  224. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +1 -0
  225. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +1 -0
  226. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +1 -0
  227. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +1 -0
  228. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +1 -0
  229. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +1 -0
  230. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +1 -0
  231. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +1 -0
  232. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +1 -0
  233. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +1 -0
  234. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +1 -0
  235. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +1 -0
  236. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +1 -0
  237. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +1 -0
  238. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +1 -0
  239. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +1 -0
  240. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +1 -0
  241. package/lib/components/public-survey-form/public-survey-form.component.d.ts +1 -0
  242. package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +1 -0
  243. package/lib/components/survey-form-question/survey-form-question.component.d.ts +1 -0
  244. package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +1 -0
  245. package/lib/components/survey-form-section/survey-form-section.component.d.ts +1 -0
  246. package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +1 -0
  247. package/lib/models/app-toc-analytics.model.d.ts +1 -0
  248. package/lib/models/app-toc-analytics.model.d.ts.map +1 -0
  249. package/lib/models/app-toc.model.d.ts +1 -0
  250. package/lib/models/app-toc.model.d.ts.map +1 -0
  251. package/lib/models/auto-complete.model.d.ts +1 -0
  252. package/lib/models/auto-complete.model.d.ts.map +1 -0
  253. package/lib/models/card-content.model.d.ts +1 -0
  254. package/lib/models/card-content.model.d.ts.map +1 -0
  255. package/lib/models/content-strip-with-tabs.model.d.ts +1 -0
  256. package/lib/models/content-strip-with-tabs.model.d.ts.map +1 -0
  257. package/lib/models/discussion-forum.model.d.ts +1 -0
  258. package/lib/models/discussion-forum.model.d.ts.map +1 -0
  259. package/lib/models/goal.model.d.ts +1 -0
  260. package/lib/models/goal.model.d.ts.map +1 -0
  261. package/lib/models/meta-tag.model.d.ts +1 -0
  262. package/lib/models/meta-tag.model.d.ts.map +1 -0
  263. package/lib/models/playlist.model.d.ts +1 -0
  264. package/lib/models/playlist.model.d.ts.map +1 -0
  265. package/lib/models/profile-revamp.model.d.ts +1 -0
  266. package/lib/models/profile-revamp.model.d.ts.map +1 -0
  267. package/lib/models/rating.model.d.ts +1 -0
  268. package/lib/models/rating.model.d.ts.map +1 -0
  269. package/lib/models/user-profile.model.d.ts +1 -0
  270. package/lib/models/user-profile.model.d.ts.map +1 -0
  271. package/lib/registration-toc-lib.config.d.ts +1 -0
  272. package/lib/registration-toc-lib.config.d.ts.map +1 -0
  273. package/lib/resolvers/app-toc-cios-resolver.service.d.ts +1 -0
  274. package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +1 -0
  275. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +1 -0
  276. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +1 -0
  277. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +1 -0
  278. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +1 -0
  279. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +1 -0
  280. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +1 -0
  281. package/lib/resolvers/app-toc-resolver.service.d.ts +1 -0
  282. package/lib/resolvers/app-toc-resolver.service.d.ts.map +1 -0
  283. package/lib/resolvers/config-resolver.service.d.ts +1 -0
  284. package/lib/resolvers/config-resolver.service.d.ts.map +1 -0
  285. package/lib/resolvers/profile-resolver.service.d.ts +1 -0
  286. package/lib/resolvers/profile-resolver.service.d.ts.map +1 -0
  287. package/lib/resolvers/restricted-features-resolver.service.d.ts +1 -0
  288. package/lib/resolvers/restricted-features-resolver.service.d.ts.map +1 -0
  289. package/lib/routes/app-toc-home/app-toc-home.component.d.ts +1 -0
  290. package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +1 -0
  291. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +1 -0
  292. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +1 -0
  293. package/lib/routes/app-toc-home/app-toc-home.service.d.ts +1 -0
  294. package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +1 -0
  295. package/lib/services/access-control.service.d.ts +1 -0
  296. package/lib/services/access-control.service.d.ts.map +1 -0
  297. package/lib/services/action.service.d.ts +1 -0
  298. package/lib/services/action.service.d.ts.map +1 -0
  299. package/lib/services/app-toc-v2.service.d.ts +1 -0
  300. package/lib/services/app-toc-v2.service.d.ts.map +1 -0
  301. package/lib/services/app-toc.service.d.ts +1 -0
  302. package/lib/services/app-toc.service.d.ts.map +1 -0
  303. package/lib/services/certificate.service.d.ts +1 -0
  304. package/lib/services/certificate.service.d.ts.map +1 -0
  305. package/lib/services/discuss-utils.service.d.ts +1 -0
  306. package/lib/services/discuss-utils.service.d.ts.map +1 -0
  307. package/lib/services/editor.service.d.ts +1 -0
  308. package/lib/services/editor.service.d.ts.map +1 -0
  309. package/lib/services/load-check.service.d.ts +1 -0
  310. package/lib/services/load-check.service.d.ts.map +1 -0
  311. package/lib/services/loader.service.d.ts +1 -0
  312. package/lib/services/loader.service.d.ts.map +1 -0
  313. package/lib/services/mobile-apps.service.d.ts +1 -0
  314. package/lib/services/mobile-apps.service.d.ts.map +1 -0
  315. package/lib/services/netcore.service.d.ts +1 -0
  316. package/lib/services/netcore.service.d.ts.map +1 -0
  317. package/lib/services/nps-grid.service.d.ts +1 -0
  318. package/lib/services/nps-grid.service.d.ts.map +1 -0
  319. package/lib/services/otp.service.d.ts +1 -0
  320. package/lib/services/otp.service.d.ts.map +1 -0
  321. package/lib/services/profile-v2.service.d.ts +1 -0
  322. package/lib/services/profile-v2.service.d.ts.map +1 -0
  323. package/lib/services/reset-ratings.service.d.ts +1 -0
  324. package/lib/services/reset-ratings.service.d.ts.map +1 -0
  325. package/lib/services/resource-download-helper.service.d.ts +1 -0
  326. package/lib/services/resource-download-helper.service.d.ts.map +1 -0
  327. package/lib/services/root.service.d.ts +1 -0
  328. package/lib/services/root.service.d.ts.map +1 -0
  329. package/lib/services/timer.service.d.ts +1 -0
  330. package/lib/services/timer.service.d.ts.map +1 -0
  331. package/lib/services/title-tag.service.d.ts +1 -0
  332. package/lib/services/title-tag.service.d.ts.map +1 -0
  333. package/lib/services/user-profile.service.d.ts +1 -0
  334. package/lib/services/user-profile.service.d.ts.map +1 -0
  335. package/lib/services/viewer-data.service.d.ts +1 -0
  336. package/lib/services/viewer-data.service.d.ts.map +1 -0
  337. package/lib/services/viewer-util.service.d.ts +1 -0
  338. package/lib/services/viewer-util.service.d.ts.map +1 -0
  339. package/lib/share-toc/share-toc/share-toc.component.d.ts +1 -0
  340. package/lib/share-toc/share-toc/share-toc.component.d.ts.map +1 -0
  341. package/lib/share-toc/share-toc.module.d.ts +1 -0
  342. package/lib/share-toc/share-toc.module.d.ts.map +1 -0
  343. package/package.json +1 -1
  344. package/public-api.d.ts +1 -0
  345. package/public-api.d.ts.map +1 -0
  346. package/sunbird-cb-toc.d.ts.map +1 -0
  347. package/sunbird-cb-toc-0.35.10.tgz +0 -0
@@ -172,7 +172,7 @@ export class KarmaPointsComponent {
172
172
  const isEligibleslide = this?.content?.completionPercentage === undefined || this?.content?.completionPercentage < 100;
173
173
  const badgeSlide = {
174
174
  displayButton: 'Quick Learner Badge',
175
- textBeforeIcon: this.content.courseCategory == "Curated Program" ? (badge?.criteria === "partialRandomCompletion" ? `By partially completing this program, earn Quick Learner Badge (Any ${badge?.requiredCourseCompletions} course needed)` : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`) : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`,
175
+ textBeforeIcon: this.getQuickLearnerBadgeText(badge),
176
176
  points: '',
177
177
  textAfterPoints: '',
178
178
  toolTipText: 'quickLearnerBadgeTip',
@@ -189,7 +189,7 @@ export class KarmaPointsComponent {
189
189
  const isEligibleslide = this?.content?.completionPercentage === undefined || this?.content?.completionPercentage < 100;
190
190
  const badgeSlide = {
191
191
  displayButton: 'Quick Learner Badge',
192
- textBeforeIcon: this.content.courseCategory == "Curated Program" ? (badge?.criteria === "partialRandomCompletion" ? `By partially completing this program, earn Quick Learner Badge (Any ${badge?.requiredCourseCompletions} course needed)` : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`) : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`,
192
+ textBeforeIcon: this.getQuickLearnerBadgeText(badge),
193
193
  points: '',
194
194
  textAfterPoints: '',
195
195
  toolTipText: 'quickLearnerBadgeTip',
@@ -242,6 +242,16 @@ export class KarmaPointsComponent {
242
242
  translateLabels(label, type) {
243
243
  return this.langTranslations.translateLabelWithoutspace(label, type, '');
244
244
  }
245
+ getQuickLearnerBadgeText(badge) {
246
+ const courseCategory = this.content?.courseCategory?.toLowerCase() || 'course';
247
+ if (this.content?.courseCategory === 'Curated Program') {
248
+ if (badge?.criteria === 'partialRandomCompletion') {
249
+ return `Earn the AI Daksh badge by completing any ${badge?.requiredCourseCompletions} courses of this program.`;
250
+ }
251
+ return `By completing this ${courseCategory} earn Quick Learner Badge`;
252
+ }
253
+ return `By completing this ${courseCategory} earn Quick Learner Badge`;
254
+ }
245
255
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KarmaPointsComponent, deps: [{ token: i1.TranslateService }, { token: i2.MultilingualTranslationsService }], target: i0.ɵɵFactoryTarget.Component }); }
246
256
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: KarmaPointsComponent, selector: "ws-widget-karma-points", inputs: { content: "content", data: "data", pCategory: "pCategory", condition: "condition", baseContentReadData: "baseContentReadData", btnCategory: "btnCategory" }, outputs: { clickClaimKarmaPoints: "clickClaimKarmaPoints" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!disableKarmaPoints\">\n <ws-widget-sliders-dynamic [widgetData]=\"karmaPointsSlider\" [baseContentReadData] = \"baseContentReadData\"></ws-widget-sliders-dynamic>\n\n <ng-container *ngIf=\"btnCategory === 'claim'\">\n <button class=\"flex flex-wrap gap-1 claim-button\" (click)=\"onClickOfClaim()\" >\n <img src=\"/assets/icons/home/karma-badge.svg\" width=\"28px\" class=\"mr-2\" alt=\"karma-points image\" />\n <div *ngIf=\"btnKPData?.textBeforeIcon\">{{ btnKPData.textBeforeIcon }}</div>\n <div *ngIf=\"btnKPData.points\">{{ btnKPData.points }} {{ translateLabels(btnKPData.textAfterPoints, 'appKarmapointsPanel') }}</div>\n <div *ngIf=\"btnKPData?.textAfterIcon\">{{ translateLabels(btnKPData.textAfterIcon, 'appKarmapointsPanel') }}</div>\n </button>\n </ng-container> \n</ng-container>", styles: [".claim-button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2px;text-align:center;color:#fff!important;border-radius:64px;padding:8px 0;background-color:#ef951e;cursor:pointer;border:none;font-weight:700;width:100%;font-size:14px;margin:16px auto 0;max-width:344px}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.SlidersDynamicComponent, selector: "ws-widget-sliders-dynamic", inputs: ["widgetData", "baseContentReadData"] }] }); }
247
257
  }
@@ -263,4 +273,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
263
273
  }], btnCategory: [{
264
274
  type: Input
265
275
  }] } });
266
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FybWEtcG9pbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL2NvbnRlbnQtdG9jL2thcm1hLXBvaW50cy9rYXJtYS1wb2ludHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vY29udGVudC10b2Mva2FybWEtcG9pbnRzL2thcm1hLXBvaW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQTtBQUd4RyxPQUFPLEVBQW1DLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7QUFRakYsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNVLFNBQTJCLEVBQzNCLGdCQUFpRDtRQURqRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBSDNELFlBQU8sR0FBVSxFQUFFLENBQUE7UUFZVixZQUFPLEdBQThCLElBQUksQ0FBQTtRQUN6QyxTQUFJLEdBQVEsRUFBRSxDQUFBO1FBQ2QsY0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUdiLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFFbkQsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFHekIsdUJBQWtCLEdBQUcsS0FBSyxDQUFBO1FBakJ4QixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNuQyxNQUFN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RSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDMUUsQ0FBQzsrR0EvUVUsb0JBQW9CO21HQUFwQixvQkFBb0Isc1RDWGpDLG0zQkFXZTs7NEZEQUYsb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLHdCQUF3QjtxSkFrQnpCLE9BQU87c0JBQWYsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDSSxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRUUsV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSdcblxuaW1wb3J0IHsgTXVsdGlsaW5ndWFsVHJhbnNsYXRpb25zU2VydmljZSwgTnNDb250ZW50IH0gZnJvbSAnQHN1bmJpcmQtY2IvdXRpbHMtdjInXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3dzLXdpZGdldC1rYXJtYS1wb2ludHMnLFxuICB0ZW1wbGF0ZVVybDogJy4va2FybWEtcG9pbnRzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4va2FybWEtcG9pbnRzLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuXG5leHBvcnQgY2xhc3MgS2FybWFQb2ludHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIGtwQXJyYXk6IGFueVtdID0gW11cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsYW5nVHJhbnNsYXRpb25zOiBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlXG4gICkge1xuICAgIGlmIChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykpIHtcbiAgICAgIHRoaXMudHJhbnNsYXRlLnNldERlZmF1bHRMYW5nKCdlbicpXG4gICAgICBjb25zdCBsYW5nID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3dlYnNpdGVMYW5ndWFnZScpIVxuICAgICAgdGhpcy50cmFuc2xhdGUudXNlKGxhbmcpXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgY29udGVudDogTnNDb250ZW50LklDb250ZW50IHwgbnVsbCA9IG51bGxcbiAgQElucHV0KCkgZGF0YTogYW55ID0gW11cbiAgQElucHV0KCkgcENhdGVnb3J5ID0gJydcbiAgQElucHV0KCkgY29uZGl0aW9uOiBhbnlcbiAgQElucHV0KCkgYmFzZUNvbnRlbnRSZWFkRGF0YTogYW55XG4gIEBPdXRwdXQoKSBjbGlja0NsYWltS2FybWFQb2ludHMgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKVxuICBrcERhdGE6IGFueVxuICBASW5wdXQoKSBidG5DYXRlZ29yeSA9ICcnXG4gIGthcm1hUG9pbnRzU2xpZGVyOiBhbnlcbiAgYnRuS1BEYXRhOiBhbnlcbiAgZGlzYWJsZUthcm1hUG9pbnRzID0gZmFsc2VcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNvbnN0cnVjdE51ZGdlRGF0YSgpXG4gICAgaWYgKHRoaXMuY29udGVudCAmJiB0aGlzLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkgPT09IE5zQ29udGVudC5FQ291cnNlQ2F0ZWdvcnkuQ0FTRV9TVFVEWSkge1xuICAgICAgdGhpcy5kaXNhYmxlS2FybWFQb2ludHMgPSB0cnVlXG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIHRoaXMuY29uZGl0aW9uID0gY2hhbmdlcy5jb25kaXRpb24gJiYgY2hhbmdlcy5jb25kaXRpb24uY3VycmVudFZhbHVlIHx8IG51bGxcbiAgICBpZiAoIXRoaXMuY29uZGl0aW9uKSB7IHJldHVybiB9XG4gICAgaWYgKHRoaXMuY29uZGl0aW9uICYmICF0aGlzLmNvbmRpdGlvbi5ldmVudCkge1xuICAgICAgLy8gRm9yIFRPQyBrYXJtYSBwb2ludHNcbiAgICAgIGlmICghdGhpcy5jb25kaXRpb24uaXNQb3N0QXNzZXNzbWVudCAmJiAodGhpcy5jb25kaXRpb24uY29udGVudCAmJiB0aGlzLmNvbmRpdGlvbi5jb250ZW50Lmhhc093blByb3BlcnR5KCdjb21wbGV0aW9uUGVyY2VudGFnZScpXG4gICAgICAgICYmICF0aGlzLmNvbmRpdGlvbi5jb250ZW50LmNvbXBsZXRpb25QZXJjZW50YWdlXG4gICAgICAgIHx8ICh0aGlzLmNvbmRpdGlvbi5jb250ZW50ICYmIHRoaXMuY29uZGl0aW9uLmNvbnRlbnQuY29tcGxldGlvblBlcmNlbnRhZ2UgPCAxMDApKVxuICAgICAgICAmJiAhdGhpcy5jb25kaXRpb24uY2VydERhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmlzQWNicENsYWltKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0FDQlAnKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSB0aGlzLmNvbmRpdGlvbi5wcmltYXJ5Q2F0ZWdvcnkuQ09VUlNFKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDbGFpbSAmJiAhdGhpcy5jb25kaXRpb24ubW9udGhseUNhcEV4Y2VlZCkge1xuICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1Jlc3VtZScpXG4gICAgICAgICAgfSBlbHNlIGlmICggdGhpcy5jb250ZW50LmNvdXJzZUNhdGVnb3J5ID09PSAnTGVhcm5pbmcgUGF0aHdheScgKSB7XG4gICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnUmVzdW1lJylcbiAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmICF0aGlzLmNvbmRpdGlvbi5pc1Bvc3RBc3Nlc3NtZW50XG4gICAgICAgICYmICgodGhpcy5jb25kaXRpb24uY29udGVudCAmJiB0aGlzLmNvbmRpdGlvbi5jb250ZW50LmNvbXBsZXRpb25QZXJjZW50YWdlID09PSAxMDApXG4gICAgICAgICAgfHwgdGhpcy5jb25kaXRpb24uY2VydERhdGEpKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgdGhpcy5jb25kaXRpb24uaXNBY2JwQ2xhaW0gJiYgIXRoaXMuY29uZGl0aW9uLmlzQ2xhaW1lZCkge1xuICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdBQ0JQIENMQUlNJylcbiAgICAgICAgICB0aGlzLmJ0bkNhdGVnb3J5ID0gJ2NsYWltJ1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSB0aGlzLmNvbmRpdGlvbi5wcmltYXJ5Q2F0ZWdvcnkuQ09VUlNFKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmICF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgIXRoaXMuY29uZGl0aW9uLm1vbnRobHlDYXBFeGNlZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdTdGFydCBhZ2FpbicpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgdGhpcy5jb25kaXRpb24ubW9udGhseUNhcEV4Y2VlZCAmJiAhdGhpcy5jb25kaXRpb24uaXNDb21wbGV0ZWRUaGlzTW9udGgpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdTdGFydCBhZ2FpbicpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvbmRpdGlvbiAmJiB0aGlzLmNvbmRpdGlvbi5pc1Bvc3RBc3Nlc3NtZW50XG4gICAgICAgICYmIHRoaXMuY29uZGl0aW9uLnNob3dUYWtlQXNzZXNzbWVudFxuICAgICAgICAmJiB0aGlzLmNvbmRpdGlvbi5zaG93VGFrZUFzc2Vzc21lbnQucG9zdF9hc3Nlc3NtZW50KSB7XG4gICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdUYWtlIEFzc2Vzc21lbnQnKVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnRcbiAgICAgICAgJiYgdGhpcy5jb25kaXRpb24uY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkpICE9PSB0aGlzLmNvbmRpdGlvbi5wcmltYXJ5Q2F0ZWdvcnkuUkVTT1VSQ0VcbiAgICAgICAgJiYgIXRoaXMuY29uZGl0aW9uLmVucm9sbEJ0bkxvYWRpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmlzQWNicENvdXJzZSkge1xuICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdBQ0JQJylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5jb25kaXRpb24uaXNBY2JwQ291cnNlICYmICF0aGlzLmNvbmRpdGlvbi5tb250aGx5Q2FwRXhjZWVkICYmXG4gICAgICAgICAgdGhpcy5jb25kaXRpb24udXNlckVucm9sbG1lbnRMaXN0ICYmICF0aGlzLmNvbmRpdGlvbi51c2VyRW5yb2xsbWVudExpc3QubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0Vucm9sbCcpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmICF0aGlzLmNvbmRpdGlvbi5pc1Bvc3RBc3Nlc3NtZW50XG4gICAgICAgICYmICh0aGlzLmNvbmRpdGlvbi5jb250ZW50ICYmIHRoaXMuY29uZGl0aW9uLmNvbnRlbnQuaGFzT3duUHJvcGVydHkoJ2NvbXBsZXRpb25QZXJjZW50YWdlJylcbiAgICAgICAgICAmJiAhdGhpcy5jb25kaXRpb24uY29udGVudC5jb21wbGV0aW9uUGVyY2VudGFnZVxuICAgICAgICAgIHx8ICh0aGlzLmNvbmRpdGlvbi5jb250ZW50ICYmIHRoaXMuY29uZGl0aW9uLmNvbnRlbnQuY29tcGxldGlvblBlcmNlbnRhZ2UgPCAxMDApKSkge1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5pc0FjYnBDbGFpbSkge1xuICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdBQ0JQJylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5jb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gdGhpcy5jb25kaXRpb24ucHJpbWFyeUNhdGVnb3J5LkNPVVJTRSkge1xuICAgICAgICAgIGlmICghdGhpcy5jb25kaXRpb24uaXNBY2JwQ2xhaW0gJiYgIXRoaXMuY29uZGl0aW9uLm1vbnRobHlDYXBFeGNlZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdSZXN1bWUnKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmlzUG9zdEFzc2Vzc21lbnRcbiAgICAgICAgJiYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQgJiYgdGhpcy5jb25kaXRpb24uY29udGVudC5jb21wbGV0aW9uUGVyY2VudGFnZSA9PT0gMTAwKSkge1xuICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uaXNBY2JwQ291cnNlICYmIHRoaXMuY29uZGl0aW9uLmlzQWNicENsYWltICYmICF0aGlzLmNvbmRpdGlvbi5pc0NsYWltZWQpIHtcbiAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnQUNCUCBDTEFJTScpXG4gICAgICAgICAgdGhpcy5idG5DYXRlZ29yeSA9ICdjbGFpbSdcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5jb250ZW50LnByaW1hcnlDYXRlZ29yeSA9PT0gdGhpcy5jb25kaXRpb24ucHJpbWFyeUNhdGVnb3J5LkNPVVJTRSkge1xuICAgICAgICAgIGlmICghdGhpcy5jb25kaXRpb24uaXNBY2JwQ291cnNlICYmICF0aGlzLmNvbmRpdGlvbi5tb250aGx5Q2FwRXhjZWVkKSB7XG4gICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnU3RhcnQgYWdhaW4nKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghdGhpcy5jb25kaXRpb24uaXNBY2JwQ291cnNlICYmIHRoaXMuY29uZGl0aW9uLm1vbnRobHlDYXBFeGNlZWQgJiYgIXRoaXMuY29uZGl0aW9uLmlzQ29tcGxldGVkVGhpc01vbnRoKSB7XG4gICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnU3RhcnQgYWdhaW4nKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmIHRoaXMuY29uZGl0aW9uLmlzUG9zdEFzc2Vzc21lbnQgJiYgdGhpcy5jb25kaXRpb24uc2hvd1Rha2VBc3Nlc3NtZW50XG4gICAgICAgICYmIHRoaXMuY29uZGl0aW9uLnNob3dUYWtlQXNzZXNzbWVudC5wb3N0X2Fzc2Vzc21lbnQpIHtcbiAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1Rha2UgQXNzZXNzbWVudCcpXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvbmRpdGlvbiAmJiB0aGlzLmNvbmRpdGlvbi5yZXN1bWVEYXRhKSB7XG4gICAgICAgIGlmICghdGhpcy5jb25kaXRpb24udXNlclJhdGluZykge1xuICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdSYXRlIHRoaXMgY291cnNlJylcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi51c2VyUmF0aW5nKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0VkaXQgcmF0aW5nJylcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGb3IgZXZlbnQga2FybWEgcG9pbnRzXG4gICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmNvbXBsZXRlZEFmdGVyRXhwaXJ5KSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbiAmJiB0aGlzLmNvbmRpdGlvbi5pc0Vucm9sbGVkKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmN1cnJlbnRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0NvbXBsZXRlJylcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodGhpcy5jb25kaXRpb24ucGFzdEV2ZW50ICYmIHRoaXMuY29uZGl0aW9uLmVucm9sbGVkRXZlbnQpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5lbnJvbGxlZEV2ZW50LnN0YXR1cyA8IDIpIHtcbiAgICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJycpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uZW5yb2xsZWRFdmVudC5zdGF0dXMgPT09IDIpIHtcbiAgICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ2NvbXBsZXRlZCcpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmICF0aGlzLmNvbmRpdGlvbi5pc0Vucm9sbGVkKSB7XG4gICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmN1cnJlbnRFdmVudCkge1xuICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0NvbXBsZXRlJylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5hZGRCYWRnZVNsaWRlKClcbiAgfVxuXG4gIGdldEtQRGF0YShidG5UeXBlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGE/LmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uZGlzcGxheUJ1dHRvbiA9PT0gYnRuVHlwZSAmJiBpdGVtLmRpc3BsYXlCdXR0b24gIT09ICdBQ0JQIENMQUlNJykge1xuICAgICAgICB0aGlzLmtwRGF0YSA9IGl0ZW1cbiAgICAgICAgaWYgKHRoaXMua3BBcnJheS5maW5kSW5kZXgoKF9vYmo6IGFueSkgPT4gX29iai5kaXNwbGF5QnV0dG9uID09PSBpdGVtLmRpc3BsYXlCdXR0b24pID09PSAtMSkge1xuICAgICAgICAgIHRoaXMua3BBcnJheS5wdXNoKHRoaXMua3BEYXRhKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaXRlbS5kaXNwbGF5QnV0dG9uID09PSAnQUNCUCBDTEFJTScpIHtcbiAgICAgICAgdGhpcy5idG5LUERhdGEgPSBpdGVtXG4gICAgICB9XG4gICAgfSlcbiAgfVxuYWRkQmFkZ2VTbGlkZSgpIHtcbiAgY29uc3QgYmFkZ2VEZXRhaWxzID0gdGhpcy5iYXNlQ29udGVudFJlYWREYXRhPy5iYWRnZURldGFpbHNfdjFcblxuICBpZiAoIWJhZGdlRGV0YWlscyB8fCAhYmFkZ2VEZXRhaWxzLmxlbmd0aCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgY29uc3QgYmFkZ2UgPSBiYWRnZURldGFpbHNbMF1cblxuICBpZiAoIWJhZGdlLmJhZGdlRWFybmluZ0RhdGVFbmFibGVkKSB7XG4gICAgY29uc3QgaXNFbGlnaWJsZXNsaWRlID0gdGhpcz8uY29udGVudD8uY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IHVuZGVmaW5lZCB8fCAgdGhpcz8uY29udGVudD8uY29tcGxldGlvblBlcmNlbnRhZ2UgPCAxMDBcbiAgICBjb25zdCBiYWRnZVNsaWRlID0ge1xuICAgICAgZGlzcGxheUJ1dHRvbjogJ1F1aWNrIExlYXJuZXIgQmFkZ2UnLFxuICAgICAgdGV4dEJlZm9yZUljb246IHRoaXMuY29udGVudC5jb3Vyc2VDYXRlZ29yeSA9PSBcIkN1cmF0ZWQgUHJvZ3JhbVwiID8gKGJhZGdlPy5jcml0ZXJpYSA9PT0gXCJwYXJ0aWFsUmFuZG9tQ29tcGxldGlvblwiID8gYEJ5IHBhcnRpYWxseSBjb21wbGV0aW5nIHRoaXMgcHJvZ3JhbSwgZWFybiBRdWljayBMZWFybmVyIEJhZGdlIChBbnkgJHtiYWRnZT8ucmVxdWlyZWRDb3Vyc2VDb21wbGV0aW9uc30gY291cnNlIG5lZWRlZClgIDogYEJ5IGNvbXBsZXRpbmcgdGhpcyAke3RoaXMuY29udGVudD8uY291cnNlQ2F0ZWdvcnk/LnRvTG93ZXJDYXNlKCkgPyB0aGlzLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkudG9Mb3dlckNhc2UoKSA6ICdjb3Vyc2UnfSBlYXJuIFF1aWNrIExlYXJuZXIgQmFkZ2VgKSA6IGBCeSBjb21wbGV0aW5nIHRoaXMgJHt0aGlzLmNvbnRlbnQ/LmNvdXJzZUNhdGVnb3J5Py50b0xvd2VyQ2FzZSgpID8gdGhpcy5jb250ZW50LmNvdXJzZUNhdGVnb3J5LnRvTG93ZXJDYXNlKCkgOiAnY291cnNlJ30gZWFybiBRdWljayBMZWFybmVyIEJhZGdlYCxcbiAgICAgIHBvaW50czogJycsXG4gICAgICB0ZXh0QWZ0ZXJQb2ludHM6ICcnLFxuICAgICAgdG9vbFRpcFRleHQ6ICdxdWlja0xlYXJuZXJCYWRnZVRpcCcsXG4gICAgfVxuICAgIGNvbnN0IGJhZGdlRXhpc3RzID0gdGhpcy5rcEFycmF5LmZpbmQoXG4gICAgICAoaXRlbTogYW55KSA9PiBpdGVtLmRpc3BsYXlCdXR0b24gPT09ICdRdWljayBMZWFybmVyIEJhZGdlJ1xuICAgIClcbiAgICBpZiAoIWJhZGdlRXhpc3RzICYmIGlzRWxpZ2libGVzbGlkZSkge1xuICAgICAgdGhpcy5rcEFycmF5LnB1c2goYmFkZ2VTbGlkZSlcbiAgICAgIHRoaXMuY29uc3RydWN0TnVkZ2VEYXRhKClcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYmFkZ2VUaW1lID0gYmFkZ2UuYmFkZ2VFYXJuaW5nRGF0ZVRpbWVcbiAgICBjb25zdCBjdXJyZW50VGltZSA9IERhdGUubm93KClcbiAgICBjb25zdCBpc0VsaWdpYmxlc2xpZGUgPSB0aGlzPy5jb250ZW50Py5jb21wbGV0aW9uUGVyY2VudGFnZSA9PT0gdW5kZWZpbmVkIHx8ICB0aGlzPy5jb250ZW50Py5jb21wbGV0aW9uUGVyY2VudGFnZSA8IDEwMFxuICAgIGNvbnN0IGJhZGdlU2xpZGUgPSB7XG4gICAgICBkaXNwbGF5QnV0dG9uOiAnUXVpY2sgTGVhcm5lciBCYWRnZScsXG4gICAgICB0ZXh0QmVmb3JlSWNvbjogdGhpcy5jb250ZW50LmNvdXJzZUNhdGVnb3J5ID09IFwiQ3VyYXRlZCBQcm9ncmFtXCIgPyAoYmFkZ2U/LmNyaXRlcmlhID09PSBcInBhcnRpYWxSYW5kb21Db21wbGV0aW9uXCIgPyBgQnkgcGFydGlhbGx5IGNvbXBsZXRpbmcgdGhpcyBwcm9ncmFtLCBlYXJuIFF1aWNrIExlYXJuZXIgQmFkZ2UgKEFueSAke2JhZGdlPy5yZXF1aXJlZENvdXJzZUNvbXBsZXRpb25zfSBjb3Vyc2UgbmVlZGVkKWAgOiBgQnkgY29tcGxldGluZyB0aGlzICR7dGhpcy5jb250ZW50Py5jb3Vyc2VDYXRlZ29yeT8udG9Mb3dlckNhc2UoKSA/IHRoaXMuY29udGVudC5jb3Vyc2VDYXRlZ29yeS50b0xvd2VyQ2FzZSgpIDogJ2NvdXJzZSd9IGVhcm4gUXVpY2sgTGVhcm5lciBCYWRnZWApIDogYEJ5IGNvbXBsZXRpbmcgdGhpcyAke3RoaXMuY29udGVudD8uY291cnNlQ2F0ZWdvcnk/LnRvTG93ZXJDYXNlKCkgPyB0aGlzLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkudG9Mb3dlckNhc2UoKSA6ICdjb3Vyc2UnfSBlYXJuIFF1aWNrIExlYXJuZXIgQmFkZ2VgLFxuICAgICAgcG9pbnRzOiAnJyxcbiAgICAgIHRleHRBZnRlclBvaW50czogJycsXG4gICAgICB0b29sVGlwVGV4dDogJ3F1aWNrTGVhcm5lckJhZGdlVGlwJyxcbiAgICB9XG4gICAgY29uc3QgYmFkZ2VFeGlzdHMgPSB0aGlzLmtwQXJyYXkuZmluZChcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uZGlzcGxheUJ1dHRvbiA9PT0gJ1F1aWNrIExlYXJuZXIgQmFkZ2UnXG4gICAgKVxuXG4gICAgaWYgKGlzRWxpZ2libGVzbGlkZSkge1xuICAgICAgaWYgKGJhZGdlPy5iYWRnZUVhcm5pbmdEYXRlRW5hYmxlZCA9PT0gdHJ1ZSApIHtcbiAgICAgIGlmIChiYWRnZVRpbWUgPiBjdXJyZW50VGltZSkge1xuICAgICAgICBpZiAoIWJhZGdlRXhpc3RzKSB7XG4gICAgICAgICAgdGhpcy5rcEFycmF5LnB1c2goYmFkZ2VTbGlkZSlcbiAgICAgICAgICB0aGlzLmNvbnN0cnVjdE51ZGdlRGF0YSgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKCFiYWRnZUV4aXN0cykge1xuICAgICAgICB0aGlzLmtwQXJyYXkucHVzaChiYWRnZVNsaWRlKVxuICAgICAgICB0aGlzLmNvbnN0cnVjdE51ZGdlRGF0YSgpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4gIFxufVxuICBvbkNsaWNrT2ZDbGFpbSgpIHtcbiAgICB0aGlzLmNsaWNrQ2xhaW1LYXJtYVBvaW50cy5lbWl0KCdjbGFpbScpXG4gICAgdGhpcy5idG5DYXRlZ29yeSA9ICcnXG4gIH1cblxuICBjb25zdHJ1Y3ROdWRnZURhdGEoKSB7XG4gICAgY29uc3QgbnVkZ2VEYXRhOiBhbnkgPSB7XG4gICAgICB0eXBlOiAna2FybWEtcG9pbnRzJyxcbiAgICAgIGljb25zRGlzcGxheTogZmFsc2UsXG4gICAgICBjYXJkQ2xhc3M6ICdzbGlkZXItY29udGFpbmVyJyxcbiAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgd2lkdGg6ICcnLFxuICAgICAgc2xpZGVyRGF0YTogW10sXG4gICAgICBuZWdhdGl2ZURpc3BsYXk6IGZhbHNlLFxuICAgICAgJ2RvdC1kZWZhdWx0JzogJ2RvdC1ncmV5JyxcbiAgICAgICdkb3QtYWN0aXZlJzogJ2RvdC1hY3RpdmUnLFxuICAgIH1cblxuICAgIG51ZGdlRGF0YS5zbGlkZXJEYXRhID0gW11cbiAgICBudWRnZURhdGEuc2xpZGVyRGF0YSA9IHRoaXMua3BBcnJheVxuICAgIHRoaXMua2FybWFQb2ludHNTbGlkZXIgPSBudWRnZURhdGFcbiAgfVxuXG4gIGdldER5bmFtaWNUZXh0KGhlbFRleHQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLnBDYXRlZ29yeSAhPT0gJycpIHtcbiAgICAgIHJldHVybiBoZWxUZXh0LnJlcGxhY2UoJ2NvdXJzZScsIHRoaXMucENhdGVnb3J5LnRvTG93ZXJDYXNlKCkpXG4gICAgfVxuICAgIHJldHVybiBoZWxUZXh0XG4gIH1cblxuICB0cmFuc2xhdGVMYWJlbHMobGFiZWw6IHN0cmluZywgdHlwZTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMubGFuZ1RyYW5zbGF0aW9ucy50cmFuc2xhdGVMYWJlbFdpdGhvdXRzcGFjZShsYWJlbCwgdHlwZSwgJycpXG4gIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNhYmxlS2FybWFQb2ludHNcIj5cbiAgICA8d3Mtd2lkZ2V0LXNsaWRlcnMtZHluYW1pYyBbd2lkZ2V0RGF0YV09XCJrYXJtYVBvaW50c1NsaWRlclwiIFtiYXNlQ29udGVudFJlYWREYXRhXSA9IFwiYmFzZUNvbnRlbnRSZWFkRGF0YVwiPjwvd3Mtd2lkZ2V0LXNsaWRlcnMtZHluYW1pYz5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJidG5DYXRlZ29yeSA9PT0gJ2NsYWltJ1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiZmxleCBmbGV4LXdyYXAgZ2FwLTEgY2xhaW0tYnV0dG9uXCIgKGNsaWNrKT1cIm9uQ2xpY2tPZkNsYWltKClcIiA+XG4gICAgICAgICAgICA8aW1nIHNyYz1cIi9hc3NldHMvaWNvbnMvaG9tZS9rYXJtYS1iYWRnZS5zdmdcIiB3aWR0aD1cIjI4cHhcIiBjbGFzcz1cIm1yLTJcIiBhbHQ9XCJrYXJtYS1wb2ludHMgaW1hZ2VcIiAvPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJ0bktQRGF0YT8udGV4dEJlZm9yZUljb25cIj57eyBidG5LUERhdGEudGV4dEJlZm9yZUljb24gfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidG5LUERhdGEucG9pbnRzXCI+e3sgYnRuS1BEYXRhLnBvaW50cyB9fSB7eyB0cmFuc2xhdGVMYWJlbHMoYnRuS1BEYXRhLnRleHRBZnRlclBvaW50cywgJ2FwcEthcm1hcG9pbnRzUGFuZWwnKSB9fTwvZGl2PlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImJ0bktQRGF0YT8udGV4dEFmdGVySWNvblwiPnt7IHRyYW5zbGF0ZUxhYmVscyhidG5LUERhdGEudGV4dEFmdGVySWNvbiwgJ2FwcEthcm1hcG9pbnRzUGFuZWwnKSB9fTwvZGl2PlxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L25nLWNvbnRhaW5lcj4gXG48L25nLWNvbnRhaW5lcj4iXX0=
276
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2FybWEtcG9pbnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9fY29sbGVjdGlvbi9fY29tbW9uL2NvbnRlbnQtdG9jL2thcm1hLXBvaW50cy9rYXJtYS1wb2ludHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL19jb2xsZWN0aW9uL19jb21tb24vY29udGVudC10b2Mva2FybWEtcG9pbnRzL2thcm1hLXBvaW50cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUE0QixNQUFNLGVBQWUsQ0FBQTtBQUd4RyxPQUFPLEVBQW1DLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7QUFRakYsTUFBTSxPQUFPLG9CQUFvQjtJQUUvQixZQUNVLFNBQTJCLEVBQzNCLGdCQUFpRDtRQURqRCxjQUFTLEdBQVQsU0FBUyxDQUFrQjtRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlDO1FBSDNELFlBQU8sR0FBVSxFQUFFLENBQUE7UUFZVixZQUFPLEdBQThCLElBQUksQ0FBQTtRQUN6QyxTQUFJLEdBQVEsRUFBRSxDQUFBO1FBQ2QsY0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUdiLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFVLENBQUE7UUFFbkQsZ0JBQVcsR0FBRyxFQUFFLENBQUE7UUFHekIsdUJBQWtCLEdBQUcsS0FBSyxDQUFBO1FBakJ4QixJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUMzQyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQTtZQUNuQyxNQUFN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RDtRQUNELE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYSxFQUFFLElBQVM7UUFDdEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUMxRSxDQUFDO0lBRU8sd0JBQXdCLENBQUMsS0FBVTtRQUN6QyxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsSUFBSSxRQUFRLENBQUE7UUFFOUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsS0FBSyxpQkFBaUIsRUFBRTtZQUN0RCxJQUFJLEtBQUssRUFBRSxRQUFRLEtBQUsseUJBQXlCLEVBQUU7Z0JBQ2pELE9BQU8sNkNBQTZDLEtBQUssRUFBRSx5QkFBeUIsMkJBQTJCLENBQUE7YUFDaEg7WUFDRCxPQUFPLHNCQUFzQixjQUFjLDJCQUEyQixDQUFBO1NBQ3ZFO1FBQ0QsT0FBTyxzQkFBc0IsY0FBYywyQkFBMkIsQ0FBQTtJQUN4RSxDQUFDOytHQTNSVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixzVENYakMsbTNCQVdlOzs0RkRBRixvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usd0JBQXdCO3FKQWtCekIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNJLHFCQUFxQjtzQkFBOUIsTUFBTTtnQkFFRSxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJ1xuXG5pbXBvcnQgeyBNdWx0aWxpbmd1YWxUcmFuc2xhdGlvbnNTZXJ2aWNlLCBOc0NvbnRlbnQgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3Mtd2lkZ2V0LWthcm1hLXBvaW50cycsXG4gIHRlbXBsYXRlVXJsOiAnLi9rYXJtYS1wb2ludHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9rYXJtYS1wb2ludHMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5cbmV4cG9ydCBjbGFzcyBLYXJtYVBvaW50c0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAga3BBcnJheTogYW55W10gPSBbXVxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIGxhbmdUcmFuc2xhdGlvbnM6IE11bHRpbGluZ3VhbFRyYW5zbGF0aW9uc1NlcnZpY2VcbiAgKSB7XG4gICAgaWYgKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd3ZWJzaXRlTGFuZ3VhZ2UnKSkge1xuICAgICAgdGhpcy50cmFuc2xhdGUuc2V0RGVmYXVsdExhbmcoJ2VuJylcbiAgICAgIGNvbnN0IGxhbmcgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnd2Vic2l0ZUxhbmd1YWdlJykhXG4gICAgICB0aGlzLnRyYW5zbGF0ZS51c2UobGFuZylcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKSBjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnQgfCBudWxsID0gbnVsbFxuICBASW5wdXQoKSBkYXRhOiBhbnkgPSBbXVxuICBASW5wdXQoKSBwQ2F0ZWdvcnkgPSAnJ1xuICBASW5wdXQoKSBjb25kaXRpb246IGFueVxuICBASW5wdXQoKSBiYXNlQ29udGVudFJlYWREYXRhOiBhbnlcbiAgQE91dHB1dCgpIGNsaWNrQ2xhaW1LYXJtYVBvaW50cyA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpXG4gIGtwRGF0YTogYW55XG4gIEBJbnB1dCgpIGJ0bkNhdGVnb3J5ID0gJydcbiAga2FybWFQb2ludHNTbGlkZXI6IGFueVxuICBidG5LUERhdGE6IGFueVxuICBkaXNhYmxlS2FybWFQb2ludHMgPSBmYWxzZVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuY29uc3RydWN0TnVkZ2VEYXRhKClcbiAgICBpZiAodGhpcy5jb250ZW50ICYmIHRoaXMuY29udGVudC5jb3Vyc2VDYXRlZ29yeSA9PT0gTnNDb250ZW50LkVDb3Vyc2VDYXRlZ29yeS5DQVNFX1NUVURZKSB7XG4gICAgICB0aGlzLmRpc2FibGVLYXJtYVBvaW50cyA9IHRydWVcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy5jb25kaXRpb24gPSBjaGFuZ2VzLmNvbmRpdGlvbiAmJiBjaGFuZ2VzLmNvbmRpdGlvbi5jdXJyZW50VmFsdWUgfHwgbnVsbFxuICAgIGlmICghdGhpcy5jb25kaXRpb24pIHsgcmV0dXJuIH1cbiAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmV2ZW50KSB7XG4gICAgICAvLyBGb3IgVE9DIGthcm1hIHBvaW50c1xuICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc1Bvc3RBc3Nlc3NtZW50ICYmICh0aGlzLmNvbmRpdGlvbi5jb250ZW50ICYmIHRoaXMuY29uZGl0aW9uLmNvbnRlbnQuaGFzT3duUHJvcGVydHkoJ2NvbXBsZXRpb25QZXJjZW50YWdlJylcbiAgICAgICAgJiYgIXRoaXMuY29uZGl0aW9uLmNvbnRlbnQuY29tcGxldGlvblBlcmNlbnRhZ2VcbiAgICAgICAgfHwgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQgJiYgdGhpcy5jb25kaXRpb24uY29udGVudC5jb21wbGV0aW9uUGVyY2VudGFnZSA8IDEwMCkpXG4gICAgICAgICYmICF0aGlzLmNvbmRpdGlvbi5jZXJ0RGF0YSkge1xuICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uaXNBY2JwQ2xhaW0pIHtcbiAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnQUNCUCcpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IHRoaXMuY29uZGl0aW9uLnByaW1hcnlDYXRlZ29yeS5DT1VSU0UpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuY29uZGl0aW9uLmlzQWNicENsYWltICYmICF0aGlzLmNvbmRpdGlvbi5tb250aGx5Q2FwRXhjZWVkKSB7XG4gICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnUmVzdW1lJylcbiAgICAgICAgICB9IGVsc2UgaWYgKCB0aGlzLmNvbnRlbnQuY291cnNlQ2F0ZWdvcnkgPT09ICdMZWFybmluZyBQYXRod2F5JyApIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdSZXN1bWUnKVxuICAgICAgICAgIFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmlzUG9zdEFzc2Vzc21lbnRcbiAgICAgICAgJiYgKCh0aGlzLmNvbmRpdGlvbi5jb250ZW50ICYmIHRoaXMuY29uZGl0aW9uLmNvbnRlbnQuY29tcGxldGlvblBlcmNlbnRhZ2UgPT09IDEwMClcbiAgICAgICAgICB8fCB0aGlzLmNvbmRpdGlvbi5jZXJ0RGF0YSkpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmlzQWNicENvdXJzZSAmJiB0aGlzLmNvbmRpdGlvbi5pc0FjYnBDbGFpbSAmJiAhdGhpcy5jb25kaXRpb24uaXNDbGFpbWVkKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0FDQlAgQ0xBSU0nKVxuICAgICAgICAgIHRoaXMuYnRuQ2F0ZWdvcnkgPSAnY2xhaW0nXG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uY29udGVudC5wcmltYXJ5Q2F0ZWdvcnkgPT09IHRoaXMuY29uZGl0aW9uLnByaW1hcnlDYXRlZ29yeS5DT1VSU0UpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmlzQWNicENvdXJzZSAmJiAhdGhpcy5jb25kaXRpb24ubW9udGhseUNhcEV4Y2VlZCkge1xuICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1N0YXJ0IGFnYWluJylcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIXRoaXMuY29uZGl0aW9uLmlzQWNicENvdXJzZSAmJiB0aGlzLmNvbmRpdGlvbi5tb250aGx5Q2FwRXhjZWVkICYmICF0aGlzLmNvbmRpdGlvbi5pc0NvbXBsZXRlZFRoaXNNb250aCkge1xuICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1N0YXJ0IGFnYWluJylcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmIHRoaXMuY29uZGl0aW9uLmlzUG9zdEFzc2Vzc21lbnRcbiAgICAgICAgJiYgdGhpcy5jb25kaXRpb24uc2hvd1Rha2VBc3Nlc3NtZW50XG4gICAgICAgICYmIHRoaXMuY29uZGl0aW9uLnNob3dUYWtlQXNzZXNzbWVudC5wb3N0X2Fzc2Vzc21lbnQpIHtcbiAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1Rha2UgQXNzZXNzbWVudCcpXG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvbmRpdGlvbiAmJiAodGhpcy5jb25kaXRpb24uY29udGVudFxuICAgICAgICAmJiB0aGlzLmNvbmRpdGlvbi5jb250ZW50LnByaW1hcnlDYXRlZ29yeSkgIT09IHRoaXMuY29uZGl0aW9uLnByaW1hcnlDYXRlZ29yeS5SRVNPVVJDRVxuICAgICAgICAmJiAhdGhpcy5jb25kaXRpb24uZW5yb2xsQnRuTG9hZGluZykge1xuICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uaXNBY2JwQ291cnNlKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0FDQlAnKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgIXRoaXMuY29uZGl0aW9uLm1vbnRobHlDYXBFeGNlZWQgJiZcbiAgICAgICAgICB0aGlzLmNvbmRpdGlvbi51c2VyRW5yb2xsbWVudExpc3QgJiYgIXRoaXMuY29uZGl0aW9uLnVzZXJFbnJvbGxtZW50TGlzdC5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnRW5yb2xsJylcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmlzUG9zdEFzc2Vzc21lbnRcbiAgICAgICAgJiYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQgJiYgdGhpcy5jb25kaXRpb24uY29udGVudC5oYXNPd25Qcm9wZXJ0eSgnY29tcGxldGlvblBlcmNlbnRhZ2UnKVxuICAgICAgICAgICYmICF0aGlzLmNvbmRpdGlvbi5jb250ZW50LmNvbXBsZXRpb25QZXJjZW50YWdlXG4gICAgICAgICAgfHwgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQgJiYgdGhpcy5jb25kaXRpb24uY29udGVudC5jb21wbGV0aW9uUGVyY2VudGFnZSA8IDEwMCkpKSB7XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmlzQWNicENsYWltKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ0FDQlAnKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSB0aGlzLmNvbmRpdGlvbi5wcmltYXJ5Q2F0ZWdvcnkuQ09VUlNFKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDbGFpbSAmJiAhdGhpcy5jb25kaXRpb24ubW9udGhseUNhcEV4Y2VlZCkge1xuICAgICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1Jlc3VtZScpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmNvbmRpdGlvbiAmJiAhdGhpcy5jb25kaXRpb24uaXNQb3N0QXNzZXNzbWVudFxuICAgICAgICAmJiAodGhpcy5jb25kaXRpb24uY29udGVudCAmJiB0aGlzLmNvbmRpdGlvbi5jb250ZW50LmNvbXBsZXRpb25QZXJjZW50YWdlID09PSAxMDApKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgdGhpcy5jb25kaXRpb24uaXNBY2JwQ2xhaW0gJiYgIXRoaXMuY29uZGl0aW9uLmlzQ2xhaW1lZCkge1xuICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdBQ0JQIENMQUlNJylcbiAgICAgICAgICB0aGlzLmJ0bkNhdGVnb3J5ID0gJ2NsYWltJ1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmNvbnRlbnQucHJpbWFyeUNhdGVnb3J5ID09PSB0aGlzLmNvbmRpdGlvbi5wcmltYXJ5Q2F0ZWdvcnkuQ09VUlNFKSB7XG4gICAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgIXRoaXMuY29uZGl0aW9uLm1vbnRobHlDYXBFeGNlZWQpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdTdGFydCBhZ2FpbicpXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi5pc0FjYnBDb3Vyc2UgJiYgdGhpcy5jb25kaXRpb24ubW9udGhseUNhcEV4Y2VlZCAmJiAhdGhpcy5jb25kaXRpb24uaXNDb21wbGV0ZWRUaGlzTW9udGgpIHtcbiAgICAgICAgICAgIHRoaXMuZ2V0S1BEYXRhKCdTdGFydCBhZ2FpbicpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgdGhpcy5jb25kaXRpb24uaXNQb3N0QXNzZXNzbWVudCAmJiB0aGlzLmNvbmRpdGlvbi5zaG93VGFrZUFzc2Vzc21lbnRcbiAgICAgICAgJiYgdGhpcy5jb25kaXRpb24uc2hvd1Rha2VBc3Nlc3NtZW50LnBvc3RfYXNzZXNzbWVudCkge1xuICAgICAgICB0aGlzLmdldEtQRGF0YSgnVGFrZSBBc3Nlc3NtZW50JylcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmIHRoaXMuY29uZGl0aW9uLnJlc3VtZURhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmRpdGlvbi51c2VyUmF0aW5nKSB7XG4gICAgICAgICAgdGhpcy5nZXRLUERhdGEoJ1JhdGUgdGhpcyBjb3Vyc2UnKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLnVzZXJSYXRpbmcpIHtcbiAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnRWRpdCByYXRpbmcnKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEZvciBldmVudCBrYXJtYSBwb2ludHNcbiAgICAgIGlmICh0aGlzLmNvbmRpdGlvbiAmJiAhdGhpcy5jb25kaXRpb24uY29tcGxldGVkQWZ0ZXJFeHBpcnkpIHtcbiAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uICYmIHRoaXMuY29uZGl0aW9uLmlzRW5yb2xsZWQpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uY3VycmVudEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnQ29tcGxldGUnKVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5wYXN0RXZlbnQgJiYgdGhpcy5jb25kaXRpb24uZW5yb2xsZWRFdmVudCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29uZGl0aW9uLmVucm9sbGVkRXZlbnQuc3RhdHVzIDwgMikge1xuICAgICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmNvbmRpdGlvbi5lbnJvbGxlZEV2ZW50LnN0YXR1cyA9PT0gMikge1xuICAgICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnY29tcGxldGVkJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5jb25kaXRpb24gJiYgIXRoaXMuY29uZGl0aW9uLmlzRW5yb2xsZWQpIHtcbiAgICAgICAgICBpZiAodGhpcy5jb25kaXRpb24uY3VycmVudEV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLmdldEtQRGF0YSgnQ29tcGxldGUnKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmFkZEJhZGdlU2xpZGUoKVxuICB9XG5cbiAgZ2V0S1BEYXRhKGJ0blR5cGU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGF0YT8uZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XG4gICAgICBpZiAoaXRlbS5kaXNwbGF5QnV0dG9uID09PSBidG5UeXBlICYmIGl0ZW0uZGlzcGxheUJ1dHRvbiAhPT0gJ0FDQlAgQ0xBSU0nKSB7XG4gICAgICAgIHRoaXMua3BEYXRhID0gaXRlbVxuICAgICAgICBpZiAodGhpcy5rcEFycmF5LmZpbmRJbmRleCgoX29iajogYW55KSA9PiBfb2JqLmRpc3BsYXlCdXR0b24gPT09IGl0ZW0uZGlzcGxheUJ1dHRvbikgPT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5rcEFycmF5LnB1c2godGhpcy5rcERhdGEpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpdGVtLmRpc3BsYXlCdXR0b24gPT09ICdBQ0JQIENMQUlNJykge1xuICAgICAgICB0aGlzLmJ0bktQRGF0YSA9IGl0ZW1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5hZGRCYWRnZVNsaWRlKCkge1xuICBjb25zdCBiYWRnZURldGFpbHMgPSB0aGlzLmJhc2VDb250ZW50UmVhZERhdGE/LmJhZGdlRGV0YWlsc192MVxuXG4gIGlmICghYmFkZ2VEZXRhaWxzIHx8ICFiYWRnZURldGFpbHMubGVuZ3RoKSB7XG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCBiYWRnZSA9IGJhZGdlRGV0YWlsc1swXVxuXG4gIGlmICghYmFkZ2UuYmFkZ2VFYXJuaW5nRGF0ZUVuYWJsZWQpIHtcbiAgICBjb25zdCBpc0VsaWdpYmxlc2xpZGUgPSB0aGlzPy5jb250ZW50Py5jb21wbGV0aW9uUGVyY2VudGFnZSA9PT0gdW5kZWZpbmVkIHx8ICB0aGlzPy5jb250ZW50Py5jb21wbGV0aW9uUGVyY2VudGFnZSA8IDEwMFxuICAgIGNvbnN0IGJhZGdlU2xpZGUgPSB7XG4gICAgICBkaXNwbGF5QnV0dG9uOiAnUXVpY2sgTGVhcm5lciBCYWRnZScsXG4gICAgICB0ZXh0QmVmb3JlSWNvbjogdGhpcy5nZXRRdWlja0xlYXJuZXJCYWRnZVRleHQoYmFkZ2UpLFxuICAgICAgcG9pbnRzOiAnJyxcbiAgICAgIHRleHRBZnRlclBvaW50czogJycsXG4gICAgICB0b29sVGlwVGV4dDogJ3F1aWNrTGVhcm5lckJhZGdlVGlwJyxcbiAgICB9XG4gICAgY29uc3QgYmFkZ2VFeGlzdHMgPSB0aGlzLmtwQXJyYXkuZmluZChcbiAgICAgIChpdGVtOiBhbnkpID0+IGl0ZW0uZGlzcGxheUJ1dHRvbiA9PT0gJ1F1aWNrIExlYXJuZXIgQmFkZ2UnXG4gICAgKVxuICAgIGlmICghYmFkZ2VFeGlzdHMgJiYgaXNFbGlnaWJsZXNsaWRlKSB7XG4gICAgICB0aGlzLmtwQXJyYXkucHVzaChiYWRnZVNsaWRlKVxuICAgICAgdGhpcy5jb25zdHJ1Y3ROdWRnZURhdGEoKVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBjb25zdCBiYWRnZVRpbWUgPSBiYWRnZS5iYWRnZUVhcm5pbmdEYXRlVGltZVxuICAgIGNvbnN0IGN1cnJlbnRUaW1lID0gRGF0ZS5ub3coKVxuICAgIGNvbnN0IGlzRWxpZ2libGVzbGlkZSA9IHRoaXM/LmNvbnRlbnQ/LmNvbXBsZXRpb25QZXJjZW50YWdlID09PSB1bmRlZmluZWQgfHwgIHRoaXM/LmNvbnRlbnQ/LmNvbXBsZXRpb25QZXJjZW50YWdlIDwgMTAwXG4gICAgY29uc3QgYmFkZ2VTbGlkZSA9IHtcbiAgICAgIGRpc3BsYXlCdXR0b246ICdRdWljayBMZWFybmVyIEJhZGdlJyxcbiAgICAgIHRleHRCZWZvcmVJY29uOiB0aGlzLmdldFF1aWNrTGVhcm5lckJhZGdlVGV4dChiYWRnZSksXG4gICAgICBwb2ludHM6ICcnLFxuICAgICAgdGV4dEFmdGVyUG9pbnRzOiAnJyxcbiAgICAgIHRvb2xUaXBUZXh0OiAncXVpY2tMZWFybmVyQmFkZ2VUaXAnLFxuICAgIH1cbiAgICBjb25zdCBiYWRnZUV4aXN0cyA9IHRoaXMua3BBcnJheS5maW5kKFxuICAgICAgKGl0ZW06IGFueSkgPT4gaXRlbS5kaXNwbGF5QnV0dG9uID09PSAnUXVpY2sgTGVhcm5lciBCYWRnZSdcbiAgICApXG5cbiAgICBpZiAoaXNFbGlnaWJsZXNsaWRlKSB7XG4gICAgICBpZiAoYmFkZ2U/LmJhZGdlRWFybmluZ0RhdGVFbmFibGVkID09PSB0cnVlICkge1xuICAgICAgaWYgKGJhZGdlVGltZSA+IGN1cnJlbnRUaW1lKSB7XG4gICAgICAgIGlmICghYmFkZ2VFeGlzdHMpIHtcbiAgICAgICAgICB0aGlzLmtwQXJyYXkucHVzaChiYWRnZVNsaWRlKVxuICAgICAgICAgIHRoaXMuY29uc3RydWN0TnVkZ2VEYXRhKClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoIWJhZGdlRXhpc3RzKSB7XG4gICAgICAgIHRoaXMua3BBcnJheS5wdXNoKGJhZGdlU2xpZGUpXG4gICAgICAgIHRoaXMuY29uc3RydWN0TnVkZ2VEYXRhKClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiAgXG59XG4gIG9uQ2xpY2tPZkNsYWltKCkge1xuICAgIHRoaXMuY2xpY2tDbGFpbUthcm1hUG9pbnRzLmVtaXQoJ2NsYWltJylcbiAgICB0aGlzLmJ0bkNhdGVnb3J5ID0gJydcbiAgfVxuXG4gIGNvbnN0cnVjdE51ZGdlRGF0YSgpIHtcbiAgICBjb25zdCBudWRnZURhdGE6IGFueSA9IHtcbiAgICAgIHR5cGU6ICdrYXJtYS1wb2ludHMnLFxuICAgICAgaWNvbnNEaXNwbGF5OiBmYWxzZSxcbiAgICAgIGNhcmRDbGFzczogJ3NsaWRlci1jb250YWluZXInLFxuICAgICAgaGVpZ2h0OiAnYXV0bycsXG4gICAgICB3aWR0aDogJycsXG4gICAgICBzbGlkZXJEYXRhOiBbXSxcbiAgICAgIG5lZ2F0aXZlRGlzcGxheTogZmFsc2UsXG4gICAgICAnZG90LWRlZmF1bHQnOiAnZG90LWdyZXknLFxuICAgICAgJ2RvdC1hY3RpdmUnOiAnZG90LWFjdGl2ZScsXG4gICAgfVxuXG4gICAgbnVkZ2VEYXRhLnNsaWRlckRhdGEgPSBbXVxuICAgIG51ZGdlRGF0YS5zbGlkZXJEYXRhID0gdGhpcy5rcEFycmF5XG4gICAgdGhpcy5rYXJtYVBvaW50c1NsaWRlciA9IG51ZGdlRGF0YVxuICB9XG5cbiAgZ2V0RHluYW1pY1RleHQoaGVsVGV4dDogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMucENhdGVnb3J5ICE9PSAnJykge1xuICAgICAgcmV0dXJuIGhlbFRleHQucmVwbGFjZSgnY291cnNlJywgdGhpcy5wQ2F0ZWdvcnkudG9Mb3dlckNhc2UoKSlcbiAgICB9XG4gICAgcmV0dXJuIGhlbFRleHRcbiAgfVxuXG4gIHRyYW5zbGF0ZUxhYmVscyhsYWJlbDogc3RyaW5nLCB0eXBlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5sYW5nVHJhbnNsYXRpb25zLnRyYW5zbGF0ZUxhYmVsV2l0aG91dHNwYWNlKGxhYmVsLCB0eXBlLCAnJylcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UXVpY2tMZWFybmVyQmFkZ2VUZXh0KGJhZGdlOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvdXJzZUNhdGVnb3J5ID0gdGhpcy5jb250ZW50Py5jb3Vyc2VDYXRlZ29yeT8udG9Mb3dlckNhc2UoKSB8fCAnY291cnNlJ1xuXG4gICAgaWYgKHRoaXMuY29udGVudD8uY291cnNlQ2F0ZWdvcnkgPT09ICdDdXJhdGVkIFByb2dyYW0nKSB7XG4gICAgICBpZiAoYmFkZ2U/LmNyaXRlcmlhID09PSAncGFydGlhbFJhbmRvbUNvbXBsZXRpb24nKSB7XG4gICAgICAgIHJldHVybiBgRWFybiB0aGUgQUkgRGFrc2ggYmFkZ2UgYnkgY29tcGxldGluZyBhbnkgJHtiYWRnZT8ucmVxdWlyZWRDb3Vyc2VDb21wbGV0aW9uc30gY291cnNlcyBvZiB0aGlzIHByb2dyYW0uYFxuICAgICAgfVxuICAgICAgcmV0dXJuIGBCeSBjb21wbGV0aW5nIHRoaXMgJHtjb3Vyc2VDYXRlZ29yeX0gZWFybiBRdWljayBMZWFybmVyIEJhZGdlYFxuICAgIH1cbiAgICByZXR1cm4gYEJ5IGNvbXBsZXRpbmcgdGhpcyAke2NvdXJzZUNhdGVnb3J5fSBlYXJuIFF1aWNrIExlYXJuZXIgQmFkZ2VgXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhZGlzYWJsZUthcm1hUG9pbnRzXCI+XG4gICAgPHdzLXdpZGdldC1zbGlkZXJzLWR5bmFtaWMgW3dpZGdldERhdGFdPVwia2FybWFQb2ludHNTbGlkZXJcIiBbYmFzZUNvbnRlbnRSZWFkRGF0YV0gPSBcImJhc2VDb250ZW50UmVhZERhdGFcIj48L3dzLXdpZGdldC1zbGlkZXJzLWR5bmFtaWM+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYnRuQ2F0ZWdvcnkgPT09ICdjbGFpbSdcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImZsZXggZmxleC13cmFwIGdhcC0xIGNsYWltLWJ1dHRvblwiIChjbGljayk9XCJvbkNsaWNrT2ZDbGFpbSgpXCIgPlxuICAgICAgICAgICAgPGltZyBzcmM9XCIvYXNzZXRzL2ljb25zL2hvbWUva2FybWEtYmFkZ2Uuc3ZnXCIgd2lkdGg9XCIyOHB4XCIgY2xhc3M9XCJtci0yXCIgYWx0PVwia2FybWEtcG9pbnRzIGltYWdlXCIgLz5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidG5LUERhdGE/LnRleHRCZWZvcmVJY29uXCI+e3sgYnRuS1BEYXRhLnRleHRCZWZvcmVJY29uIH19PC9kaXY+XG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiYnRuS1BEYXRhLnBvaW50c1wiPnt7IGJ0bktQRGF0YS5wb2ludHMgfX0ge3sgdHJhbnNsYXRlTGFiZWxzKGJ0bktQRGF0YS50ZXh0QWZ0ZXJQb2ludHMsICdhcHBLYXJtYXBvaW50c1BhbmVsJykgfX08L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJidG5LUERhdGE/LnRleHRBZnRlckljb25cIj57eyB0cmFuc2xhdGVMYWJlbHMoYnRuS1BEYXRhLnRleHRBZnRlckljb24sICdhcHBLYXJtYXBvaW50c1BhbmVsJykgfX08L2Rpdj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9uZy1jb250YWluZXI+IFxuPC9uZy1jb250YWluZXI+Il19
@@ -3856,7 +3856,7 @@ class KarmaPointsComponent {
3856
3856
  const isEligibleslide = this?.content?.completionPercentage === undefined || this?.content?.completionPercentage < 100;
3857
3857
  const badgeSlide = {
3858
3858
  displayButton: 'Quick Learner Badge',
3859
- textBeforeIcon: this.content.courseCategory == "Curated Program" ? (badge?.criteria === "partialRandomCompletion" ? `By partially completing this program, earn Quick Learner Badge (Any ${badge?.requiredCourseCompletions} course needed)` : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`) : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`,
3859
+ textBeforeIcon: this.getQuickLearnerBadgeText(badge),
3860
3860
  points: '',
3861
3861
  textAfterPoints: '',
3862
3862
  toolTipText: 'quickLearnerBadgeTip',
@@ -3873,7 +3873,7 @@ class KarmaPointsComponent {
3873
3873
  const isEligibleslide = this?.content?.completionPercentage === undefined || this?.content?.completionPercentage < 100;
3874
3874
  const badgeSlide = {
3875
3875
  displayButton: 'Quick Learner Badge',
3876
- textBeforeIcon: this.content.courseCategory == "Curated Program" ? (badge?.criteria === "partialRandomCompletion" ? `By partially completing this program, earn Quick Learner Badge (Any ${badge?.requiredCourseCompletions} course needed)` : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`) : `By completing this ${this.content?.courseCategory?.toLowerCase() ? this.content.courseCategory.toLowerCase() : 'course'} earn Quick Learner Badge`,
3876
+ textBeforeIcon: this.getQuickLearnerBadgeText(badge),
3877
3877
  points: '',
3878
3878
  textAfterPoints: '',
3879
3879
  toolTipText: 'quickLearnerBadgeTip',
@@ -3926,6 +3926,16 @@ class KarmaPointsComponent {
3926
3926
  translateLabels(label, type) {
3927
3927
  return this.langTranslations.translateLabelWithoutspace(label, type, '');
3928
3928
  }
3929
+ getQuickLearnerBadgeText(badge) {
3930
+ const courseCategory = this.content?.courseCategory?.toLowerCase() || 'course';
3931
+ if (this.content?.courseCategory === 'Curated Program') {
3932
+ if (badge?.criteria === 'partialRandomCompletion') {
3933
+ return `Earn the AI Daksh badge by completing any ${badge?.requiredCourseCompletions} courses of this program.`;
3934
+ }
3935
+ return `By completing this ${courseCategory} earn Quick Learner Badge`;
3936
+ }
3937
+ return `By completing this ${courseCategory} earn Quick Learner Badge`;
3938
+ }
3929
3939
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: KarmaPointsComponent, deps: [{ token: i1$2.TranslateService }, { token: i2$1.MultilingualTranslationsService }], target: i0.ɵɵFactoryTarget.Component }); }
3930
3940
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: KarmaPointsComponent, selector: "ws-widget-karma-points", inputs: { content: "content", data: "data", pCategory: "pCategory", condition: "condition", baseContentReadData: "baseContentReadData", btnCategory: "btnCategory" }, outputs: { clickClaimKarmaPoints: "clickClaimKarmaPoints" }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!disableKarmaPoints\">\n <ws-widget-sliders-dynamic [widgetData]=\"karmaPointsSlider\" [baseContentReadData] = \"baseContentReadData\"></ws-widget-sliders-dynamic>\n\n <ng-container *ngIf=\"btnCategory === 'claim'\">\n <button class=\"flex flex-wrap gap-1 claim-button\" (click)=\"onClickOfClaim()\" >\n <img src=\"/assets/icons/home/karma-badge.svg\" width=\"28px\" class=\"mr-2\" alt=\"karma-points image\" />\n <div *ngIf=\"btnKPData?.textBeforeIcon\">{{ btnKPData.textBeforeIcon }}</div>\n <div *ngIf=\"btnKPData.points\">{{ btnKPData.points }} {{ translateLabels(btnKPData.textAfterPoints, 'appKarmapointsPanel') }}</div>\n <div *ngIf=\"btnKPData?.textAfterIcon\">{{ translateLabels(btnKPData.textAfterIcon, 'appKarmapointsPanel') }}</div>\n </button>\n </ng-container> \n</ng-container>", styles: [".claim-button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2px;text-align:center;color:#fff!important;border-radius:64px;padding:8px 0;background-color:#ef951e;cursor:pointer;border:none;font-weight:700;width:100%;font-size:14px;margin:16px auto 0;max-width:344px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SlidersDynamicComponent, selector: "ws-widget-sliders-dynamic", inputs: ["widgetData", "baseContentReadData"] }] }); }
3931
3941
  }