@sunbird-cb/toc 0.0.8 → 0.0.9

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 (495) hide show
  1. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.component.mjs +55 -55
  2. package/esm2022/lib/_collection/_common/attendance-card/attendance-card.module.mjs +126 -126
  3. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.component.mjs +32 -32
  4. package/esm2022/lib/_collection/_common/attendance-helper/attendance-helper.module.mjs +85 -85
  5. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.component.mjs +100 -100
  6. package/esm2022/lib/_collection/_common/avatar-photo/avatar-photo.module.mjs +48 -48
  7. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.component.mjs +120 -120
  8. package/esm2022/lib/_collection/_common/certificate-dialog/certificate-dialog.module.mjs +92 -92
  9. package/esm2022/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.mjs +48 -48
  10. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.component.mjs +25 -25
  11. package/esm2022/lib/_collection/_common/confirm-dialog/confirm-dialog.module.mjs +41 -41
  12. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover-card.component.mjs +89 -89
  13. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.module.mjs +42 -42
  14. package/esm2022/lib/_collection/_common/connection-hover-card/connection-hover.servive.mjs +41 -41
  15. package/esm2022/lib/_collection/_common/connection-name/connection-name.component.mjs +78 -78
  16. package/esm2022/lib/_collection/_common/connection-name/connection-name.module.mjs +45 -45
  17. package/esm2022/lib/_collection/_common/connection-name/profile-v2.model.mjs +2 -2
  18. package/esm2022/lib/_collection/_common/content-progress/content-progress.component.mjs +70 -70
  19. package/esm2022/lib/_collection/_common/content-progress/content-progress.module.mjs +28 -28
  20. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.mjs +187 -187
  21. package/esm2022/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.mjs +86 -86
  22. package/esm2022/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.mjs +31 -31
  23. package/esm2022/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.mjs +941 -941
  24. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.mjs +183 -183
  25. package/esm2022/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.mjs +327 -327
  26. package/esm2022/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.mjs +297 -297
  27. package/esm2022/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.mjs +248 -225
  28. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.mjs +1148 -1030
  29. package/esm2022/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.mjs +16 -16
  30. package/esm2022/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.mjs +43 -43
  31. package/esm2022/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.mjs +133 -133
  32. package/esm2022/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.mjs +66 -66
  33. package/esm2022/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.mjs +278 -278
  34. package/esm2022/lib/_collection/_common/content-toc/content-services/handle-claim.service.mjs +21 -21
  35. package/esm2022/lib/_collection/_common/content-toc/content-services/review-component-data.service.mjs +21 -21
  36. package/esm2022/lib/_collection/_common/content-toc/content-toc.component.mjs +847 -847
  37. package/esm2022/lib/_collection/_common/content-toc/content-toc.module.mjs +219 -219
  38. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.component.mjs +209 -209
  39. package/esm2022/lib/_collection/_common/content-toc/karma-points/karma-points.module.mjs +26 -26
  40. package/esm2022/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.mjs +19 -19
  41. package/esm2022/lib/_collection/_common/content-toc/pipes/truncate.pipe.mjs +23 -23
  42. package/esm2022/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.mjs +113 -113
  43. package/esm2022/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.mjs +110 -110
  44. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.component.mjs +26 -26
  45. package/esm2022/lib/_collection/_common/display-content-type/display-content-type.module.mjs +19 -19
  46. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.mjs +67 -67
  47. package/esm2022/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.mjs +28 -28
  48. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.component.mjs +77 -77
  49. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.model.mjs +2 -2
  50. package/esm2022/lib/_collection/_common/mark-as-complete/mark-as-complete.module.mjs +61 -61
  51. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.module.mjs +20 -20
  52. package/esm2022/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.mjs +67 -67
  53. package/esm2022/lib/_collection/_common/player-brief/player-brief.component.mjs +139 -139
  54. package/esm2022/lib/_collection/_common/player-brief/player-brief.module.mjs +71 -71
  55. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.component.mjs +34 -34
  56. package/esm2022/lib/_collection/_common/rating-summary/rating-summary.module.mjs +56 -56
  57. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.component.mjs +25 -25
  58. package/esm2022/lib/_collection/_common/skeleton-loader/skeleton-loader.module.mjs +37 -37
  59. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.mjs +32 -32
  60. package/esm2022/lib/_collection/_common/tips-for-learner/tips-for-learner.module.mjs +30 -30
  61. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.mjs +38 -38
  62. package/esm2022/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.mjs +51 -51
  63. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.component.mjs +115 -115
  64. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.model.mjs +12 -12
  65. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.module.mjs +51 -51
  66. package/esm2022/lib/_collection/_common/user-autocomplete/user-autocomplete.service.mjs +61 -61
  67. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.component.mjs +87 -87
  68. package/esm2022/lib/_collection/_common/user-content-rating/user-content-rating.module.mjs +36 -36
  69. package/esm2022/lib/_collection/_common/user-image/user-image.component.mjs +62 -62
  70. package/esm2022/lib/_collection/_common/user-image/user-image.module.mjs +24 -24
  71. package/esm2022/lib/_collection/btn-page-back/btn-page-back.component.mjs +192 -192
  72. package/esm2022/lib/_collection/btn-page-back/btn-page-back.module.mjs +44 -44
  73. package/esm2022/lib/_collection/btn-page-back/btn-page-back.service.mjs +99 -99
  74. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.component.mjs +58 -58
  75. package/esm2022/lib/_collection/card-rating-comment/card-rating-comment.module.mjs +67 -67
  76. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.component.mjs +112 -112
  77. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.model.mjs +2 -2
  78. package/esm2022/lib/_collection/sliders-dynamic/sliders-dynamic.module.mjs +69 -69
  79. package/esm2022/lib/_collection-api.mjs +57 -57
  80. package/esm2022/lib/_constants/widget-content.constants.mjs +19 -19
  81. package/esm2022/lib/_directives/tooltip.directive.mjs +68 -68
  82. package/esm2022/lib/_models/common.model.mjs +2 -2
  83. package/esm2022/lib/_models/error.model.mjs +2 -2
  84. package/esm2022/lib/_pipes/highlight.pipe.mjs +24 -24
  85. package/esm2022/lib/_services/rating.service.mjs +89 -89
  86. package/esm2022/lib/_services/samuhik-charcha.service.mjs +29 -29
  87. package/esm2022/lib/_services/viewer-route-util.mjs +103 -103
  88. package/esm2022/lib/_services/widget-content.model.mjs +247 -247
  89. package/esm2022/lib/_services/widget-content.service.mjs +594 -594
  90. package/esm2022/lib/_shared/translate-loader.factory.mjs +9 -9
  91. package/esm2022/lib/app-toc-lib.module.mjs +499 -499
  92. package/esm2022/lib/collection.config.mjs +161 -161
  93. package/esm2022/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.mjs +37 -37
  94. package/esm2022/lib/components/app-toc-banner/app-toc-banner.component.mjs +1436 -1436
  95. package/esm2022/lib/components/app-toc-cios-home/app-toc-cios-home.component.mjs +475 -475
  96. package/esm2022/lib/components/app-toc-cios-home/consent-dialog.component.mjs +119 -119
  97. package/esm2022/lib/components/app-toc-cohorts/app-toc-cohorts.component.mjs +80 -80
  98. package/esm2022/lib/components/app-toc-content-card/app-toc-content-card.component.mjs +249 -249
  99. package/esm2022/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.mjs +39 -39
  100. package/esm2022/lib/components/app-toc-discussion/app-toc-discussion.component.mjs +58 -58
  101. package/esm2022/lib/components/app-toc-home/app-toc-home.component.mjs +2229 -2229
  102. package/esm2022/lib/components/app-toc-home-v2/app-toc-home-v2.component.mjs +2907 -2905
  103. package/esm2022/lib/components/app-toc-overview/app-toc-overview.component.mjs +157 -157
  104. package/esm2022/lib/components/app-toc-session-card/app-toc-session-card.component.mjs +48 -48
  105. package/esm2022/lib/components/app-toc-sessions/app-toc-sessions.component.mjs +47 -47
  106. package/esm2022/lib/components/app-toc-single-page/app-toc-single-page.component.mjs +766 -766
  107. package/esm2022/lib/components/completion-survey-form/completion-survey-form.component.mjs +243 -243
  108. package/esm2022/lib/components/create-batch-dialog/create-batch-dialog.component.mjs +116 -116
  109. package/esm2022/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.mjs +44 -44
  110. package/esm2022/lib/components/enroll-profile-form/enroll-profile-form.component.mjs +1838 -1838
  111. package/esm2022/lib/components/enroll-questionnaire/enroll-questionnaire.component.mjs +236 -236
  112. package/esm2022/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.mjs +213 -213
  113. package/esm2022/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.mjs +36 -36
  114. package/esm2022/lib/components/public-survey-form/public-survey-form.component.mjs +256 -256
  115. package/esm2022/lib/components/survey-form-question/survey-form-question.component.mjs +133 -133
  116. package/esm2022/lib/components/survey-form-section/survey-form-section.component.mjs +36 -36
  117. package/esm2022/lib/models/app-toc-analytics.model.mjs +2 -2
  118. package/esm2022/lib/models/app-toc.model.mjs +38 -38
  119. package/esm2022/lib/models/auto-complete.model.mjs +2 -2
  120. package/esm2022/lib/models/card-content.model.mjs +13 -13
  121. package/esm2022/lib/models/content-strip-with-tabs.model.mjs +2 -2
  122. package/esm2022/lib/models/discussion-forum.model.mjs +14 -14
  123. package/esm2022/lib/models/goal.model.mjs +2 -2
  124. package/esm2022/lib/models/meta-tag.model.mjs +8 -8
  125. package/esm2022/lib/models/playlist.model.mjs +2 -2
  126. package/esm2022/lib/models/profile-revamp.model.mjs +2 -2
  127. package/esm2022/lib/models/rating.model.mjs +2 -2
  128. package/esm2022/lib/models/user-profile.model.mjs +21 -21
  129. package/esm2022/lib/resolvers/app-toc-cios-resolver.service.mjs +24 -24
  130. package/esm2022/lib/resolvers/app-toc-cios-user-enroll-resolver.service.mjs +24 -24
  131. package/esm2022/lib/resolvers/app-toc-content-read-resolver.service.mjs +60 -60
  132. package/esm2022/lib/resolvers/app-toc-ext-public-resolver.service.mjs +25 -25
  133. package/esm2022/lib/resolvers/app-toc-resolver.service.mjs +106 -106
  134. package/esm2022/lib/resolvers/config-resolver.service.mjs +25 -25
  135. package/esm2022/lib/resolvers/profile-resolver.service.mjs +25 -25
  136. package/esm2022/lib/resolvers/restricted-features-resolver.service.mjs +25 -25
  137. package/esm2022/lib/routes/app-toc-home/app-toc-home.component.mjs +51 -51
  138. package/esm2022/lib/routes/app-toc-home/app-toc-home.directive.mjs +16 -16
  139. package/esm2022/lib/routes/app-toc-home/app-toc-home.service.mjs +18 -18
  140. package/esm2022/lib/services/access-control.service.mjs +56 -56
  141. package/esm2022/lib/services/action.service.mjs +23 -23
  142. package/esm2022/lib/services/app-toc-v2.service.mjs +313 -243
  143. package/esm2022/lib/services/app-toc.service.mjs +1613 -1387
  144. package/esm2022/lib/services/certificate.service.mjs +69 -69
  145. package/esm2022/lib/services/discuss-utils.service.mjs +58 -58
  146. package/esm2022/lib/services/editor.service.mjs +34 -34
  147. package/esm2022/lib/services/load-check.service.mjs +21 -21
  148. package/esm2022/lib/services/loader.service.mjs +33 -33
  149. package/esm2022/lib/services/mobile-apps.service.mjs +67 -67
  150. package/esm2022/lib/services/netcore.service.mjs +56 -56
  151. package/esm2022/lib/services/nps-grid.service.mjs +31 -31
  152. package/esm2022/lib/services/otp.service.mjs +43 -43
  153. package/esm2022/lib/services/profile-v2.service.mjs +43 -43
  154. package/esm2022/lib/services/reset-ratings.service.mjs +19 -19
  155. package/esm2022/lib/services/resource-download-helper.service.mjs +64 -64
  156. package/esm2022/lib/services/timer.service.mjs +23 -23
  157. package/esm2022/lib/services/title-tag.service.mjs +71 -71
  158. package/esm2022/lib/services/user-profile.service.mjs +55 -55
  159. package/esm2022/lib/services/viewer-data.service.mjs +64 -64
  160. package/esm2022/lib/services/viewer-util.service.mjs +590 -590
  161. package/esm2022/lib/share-toc/share-toc/share-toc.component.mjs +291 -291
  162. package/esm2022/lib/share-toc/share-toc.module.mjs +119 -119
  163. package/esm2022/public-api.mjs +71 -71
  164. package/esm2022/sunbird-cb-toc.mjs +4 -4
  165. package/fesm2022/sunbird-cb-toc.mjs +24776 -24339
  166. package/fesm2022/sunbird-cb-toc.mjs.map +1 -1
  167. package/index.d.ts +5 -6
  168. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts +16 -17
  169. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts +31 -32
  170. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts +15 -16
  171. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts +20 -21
  172. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts +22 -23
  173. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts +15 -16
  174. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts +22 -23
  175. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts +22 -23
  176. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts +9 -10
  177. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts +11 -12
  178. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts +12 -13
  179. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts +18 -19
  180. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts +14 -15
  181. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts +11 -12
  182. package/lib/_collection/_common/connection-name/connection-name.component.d.ts +17 -18
  183. package/lib/_collection/_common/connection-name/connection-name.module.d.ts +14 -15
  184. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts +199 -200
  185. package/lib/_collection/_common/content-progress/content-progress.component.d.ts +16 -17
  186. package/lib/_collection/_common/content-progress/content-progress.module.d.ts +10 -11
  187. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts +38 -39
  188. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts +19 -20
  189. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts +11 -12
  190. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts +183 -184
  191. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts +41 -42
  192. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts +54 -55
  193. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts +47 -48
  194. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts +49 -49
  195. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts +171 -155
  196. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts +8 -9
  197. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts +16 -17
  198. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts +40 -41
  199. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts +21 -22
  200. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts +45 -46
  201. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts +10 -11
  202. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts +10 -11
  203. package/lib/_collection/_common/content-toc/content-toc.component.d.ts +128 -129
  204. package/lib/_collection/_common/content-toc/content-toc.module.d.ts +51 -52
  205. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts +29 -30
  206. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts +9 -10
  207. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts +7 -8
  208. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts +7 -8
  209. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts +28 -29
  210. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts +24 -25
  211. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts +14 -15
  212. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts +9 -10
  213. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts +12 -13
  214. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts +10 -11
  215. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts +22 -23
  216. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts +8 -9
  217. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts +18 -19
  218. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts +8 -9
  219. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts +15 -16
  220. package/lib/_collection/_common/player-brief/player-brief.component.d.ts +35 -36
  221. package/lib/_collection/_common/player-brief/player-brief.module.d.ts +19 -20
  222. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts +14 -15
  223. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts +13 -14
  224. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts +11 -12
  225. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts +11 -12
  226. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts +15 -16
  227. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts +10 -11
  228. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts +16 -17
  229. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts +11 -12
  230. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts +34 -35
  231. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts +17 -18
  232. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts +15 -16
  233. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts +15 -16
  234. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts +21 -22
  235. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts +12 -13
  236. package/lib/_collection/_common/user-image/user-image.component.d.ts +21 -22
  237. package/lib/_collection/_common/user-image/user-image.module.d.ts +9 -10
  238. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts +47 -48
  239. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts +14 -15
  240. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts +22 -23
  241. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts +19 -20
  242. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts +15 -16
  243. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts +25 -26
  244. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts +21 -22
  245. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts +18 -19
  246. package/lib/_collection-api.d.ts +34 -35
  247. package/lib/_constants/widget-content.constants.d.ts +7 -8
  248. package/lib/_directives/tooltip.directive.d.ts +17 -18
  249. package/lib/_models/common.model.d.ts +3 -4
  250. package/lib/_models/error.model.d.ts +5 -6
  251. package/lib/_pipes/highlight.pipe.d.ts +10 -11
  252. package/lib/_services/rating.service.d.ts +18 -19
  253. package/lib/_services/samuhik-charcha.service.d.ts +13 -14
  254. package/lib/_services/viewer-route-util.d.ts +8 -9
  255. package/lib/_services/widget-content.model.d.ts +515 -516
  256. package/lib/_services/widget-content.service.d.ts +101 -102
  257. package/lib/_shared/translate-loader.factory.d.ts +7 -8
  258. package/lib/app-toc-lib.module.d.ts +88 -89
  259. package/lib/collection.config.d.ts +159 -160
  260. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts +17 -18
  261. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts +225 -226
  262. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts +78 -79
  263. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts +22 -23
  264. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts +31 -32
  265. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts +47 -48
  266. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts +14 -15
  267. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts +21 -22
  268. package/lib/components/app-toc-home/app-toc-home.component.d.ts +314 -315
  269. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts +408 -409
  270. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts +47 -48
  271. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts +22 -23
  272. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts +14 -15
  273. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts +149 -150
  274. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts +42 -43
  275. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts +27 -28
  276. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts +15 -16
  277. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts +195 -196
  278. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts +44 -45
  279. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts +54 -55
  280. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts +18 -19
  281. package/lib/components/public-survey-form/public-survey-form.component.d.ts +43 -44
  282. package/lib/components/survey-form-question/survey-form-question.component.d.ts +20 -21
  283. package/lib/components/survey-form-section/survey-form-section.component.d.ts +13 -14
  284. package/lib/models/app-toc-analytics.model.d.ts +152 -153
  285. package/lib/models/app-toc.model.d.ts +84 -85
  286. package/lib/models/auto-complete.model.d.ts +27 -28
  287. package/lib/models/card-content.model.d.ts +19 -20
  288. package/lib/models/content-strip-with-tabs.model.d.ts +44 -45
  289. package/lib/models/discussion-forum.model.d.ts +40 -41
  290. package/lib/models/goal.model.d.ts +22 -23
  291. package/lib/models/meta-tag.model.d.ts +6 -7
  292. package/lib/models/playlist.model.d.ts +23 -24
  293. package/lib/models/profile-revamp.model.d.ts +14 -15
  294. package/lib/models/rating.model.d.ts +17 -18
  295. package/lib/models/user-profile.model.d.ts +37 -38
  296. package/lib/resolvers/app-toc-cios-resolver.service.d.ts +12 -13
  297. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts +12 -13
  298. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts +16 -17
  299. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts +12 -13
  300. package/lib/resolvers/app-toc-resolver.service.d.ts +16 -17
  301. package/lib/resolvers/config-resolver.service.d.ts +11 -12
  302. package/lib/resolvers/profile-resolver.service.d.ts +11 -12
  303. package/lib/resolvers/restricted-features-resolver.service.d.ts +11 -12
  304. package/lib/routes/app-toc-home/app-toc-home.component.d.ts +19 -20
  305. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts +8 -9
  306. package/lib/routes/app-toc-home/app-toc-home.service.d.ts +8 -9
  307. package/lib/services/access-control.service.d.ts +29 -30
  308. package/lib/services/action.service.d.ts +9 -10
  309. package/lib/services/app-toc-v2.service.d.ts +16 -15
  310. package/lib/services/app-toc.service.d.ts +235 -178
  311. package/lib/services/certificate.service.d.ts +42 -43
  312. package/lib/services/discuss-utils.service.d.ts +33 -34
  313. package/lib/services/editor.service.d.ts +17 -18
  314. package/lib/services/load-check.service.d.ts +8 -9
  315. package/lib/services/loader.service.d.ts +16 -17
  316. package/lib/services/mobile-apps.service.d.ts +38 -39
  317. package/lib/services/netcore.service.d.ts +33 -34
  318. package/lib/services/nps-grid.service.d.ts +15 -16
  319. package/lib/services/otp.service.d.ts +20 -21
  320. package/lib/services/profile-v2.service.d.ts +20 -21
  321. package/lib/services/reset-ratings.service.d.ts +8 -9
  322. package/lib/services/resource-download-helper.service.d.ts +29 -30
  323. package/lib/services/timer.service.d.ts +9 -10
  324. package/lib/services/title-tag.service.d.ts +21 -22
  325. package/lib/services/user-profile.service.d.ts +24 -25
  326. package/lib/services/viewer-data.service.d.ts +58 -59
  327. package/lib/services/viewer-util.service.d.ts +76 -77
  328. package/lib/share-toc/share-toc/share-toc.component.d.ts +56 -57
  329. package/lib/share-toc/share-toc.module.d.ts +32 -33
  330. package/package.json +1 -1
  331. package/public-api.d.ts +56 -57
  332. package/lib/_collection/_common/attendance-card/attendance-card.component.d.ts.map +0 -1
  333. package/lib/_collection/_common/attendance-card/attendance-card.module.d.ts.map +0 -1
  334. package/lib/_collection/_common/attendance-helper/attendance-helper.component.d.ts.map +0 -1
  335. package/lib/_collection/_common/attendance-helper/attendance-helper.module.d.ts.map +0 -1
  336. package/lib/_collection/_common/avatar-photo/avatar-photo.component.d.ts.map +0 -1
  337. package/lib/_collection/_common/avatar-photo/avatar-photo.module.d.ts.map +0 -1
  338. package/lib/_collection/_common/certificate-dialog/certificate-dialog.component.d.ts.map +0 -1
  339. package/lib/_collection/_common/certificate-dialog/certificate-dialog.module.d.ts.map +0 -1
  340. package/lib/_collection/_common/certificate-dialog/svg-to-pdf.component.d.ts.map +0 -1
  341. package/lib/_collection/_common/confirm-dialog/confirm-dialog.component.d.ts.map +0 -1
  342. package/lib/_collection/_common/confirm-dialog/confirm-dialog.module.d.ts.map +0 -1
  343. package/lib/_collection/_common/connection-hover-card/connection-hover-card.component.d.ts.map +0 -1
  344. package/lib/_collection/_common/connection-hover-card/connection-hover.module.d.ts.map +0 -1
  345. package/lib/_collection/_common/connection-hover-card/connection-hover.servive.d.ts.map +0 -1
  346. package/lib/_collection/_common/connection-name/connection-name.component.d.ts.map +0 -1
  347. package/lib/_collection/_common/connection-name/connection-name.module.d.ts.map +0 -1
  348. package/lib/_collection/_common/connection-name/profile-v2.model.d.ts.map +0 -1
  349. package/lib/_collection/_common/content-progress/content-progress.component.d.ts.map +0 -1
  350. package/lib/_collection/_common/content-progress/content-progress.module.d.ts.map +0 -1
  351. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.component.d.ts.map +0 -1
  352. package/lib/_collection/_common/content-rating-v2-dialog/content-rating-v2-dialog.module.d.ts.map +0 -1
  353. package/lib/_collection/_common/content-toc/ai-tutor-confirm-popup/ai-tutor-confirm-popup.component.d.ts.map +0 -1
  354. package/lib/_collection/_common/content-toc/app-toc-about/app-toc-about.component.d.ts.map +0 -1
  355. package/lib/_collection/_common/content-toc/app-toc-assignment-viewer/app-toc-assignment-viewer.component.d.ts.map +0 -1
  356. package/lib/_collection/_common/content-toc/app-toc-assignment-viewerV2/app-toc-assignment-viewerV2.component.d.ts.map +0 -1
  357. package/lib/_collection/_common/content-toc/app-toc-batch-assignments/app-toc-batch-assignments.component.d.ts.map +0 -1
  358. package/lib/_collection/_common/content-toc/app-toc-content/app-toc-content.component.d.ts.map +0 -1
  359. package/lib/_collection/_common/content-toc/app-toc-content-card-v2/app-toc-content-card-v2.component.d.ts.map +0 -1
  360. package/lib/_collection/_common/content-toc/app-toc-content-card-v2-skeleton/app-toc-content-card-v2-skeleton.component.d.ts.map +0 -1
  361. package/lib/_collection/_common/content-toc/app-toc-reference-notes/app-toc-reference-notes.component.d.ts.map +0 -1
  362. package/lib/_collection/_common/content-toc/app-toc-session-card-new/app-toc-session-card-new.component.d.ts.map +0 -1
  363. package/lib/_collection/_common/content-toc/app-toc-sessions-new/app-toc-sessions-new.component.d.ts.map +0 -1
  364. package/lib/_collection/_common/content-toc/app-toc-teachers-notes/app-toc-teachers-notes.component.d.ts.map +0 -1
  365. package/lib/_collection/_common/content-toc/content-services/handle-claim.service.d.ts.map +0 -1
  366. package/lib/_collection/_common/content-toc/content-services/review-component-data.service.d.ts.map +0 -1
  367. package/lib/_collection/_common/content-toc/content-toc.component.d.ts.map +0 -1
  368. package/lib/_collection/_common/content-toc/content-toc.module.d.ts.map +0 -1
  369. package/lib/_collection/_common/content-toc/karma-points/karma-points.component.d.ts.map +0 -1
  370. package/lib/_collection/_common/content-toc/karma-points/karma-points.module.d.ts.map +0 -1
  371. package/lib/_collection/_common/content-toc/pipes/replace-nbsp.pipe.d.ts.map +0 -1
  372. package/lib/_collection/_common/content-toc/pipes/truncate.pipe.d.ts.map +0 -1
  373. package/lib/_collection/_common/content-toc/reviews-content/reviews-content.component.d.ts.map +0 -1
  374. package/lib/_collection/_common/content-toc/samuhik-charcha-content/samuhik-charcha-content/samuhik-charcha-content.component.d.ts.map +0 -1
  375. package/lib/_collection/_common/display-content-type/display-content-type.component.d.ts.map +0 -1
  376. package/lib/_collection/_common/display-content-type/display-content-type.module.d.ts.map +0 -1
  377. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.component.d.ts.map +0 -1
  378. package/lib/_collection/_common/display-content-type-icon/display-content-type-icon.module.d.ts.map +0 -1
  379. package/lib/_collection/_common/mark-as-complete/mark-as-complete.component.d.ts.map +0 -1
  380. package/lib/_collection/_common/mark-as-complete/mark-as-complete.model.d.ts.map +0 -1
  381. package/lib/_collection/_common/mark-as-complete/mark-as-complete.module.d.ts.map +0 -1
  382. package/lib/_collection/_common/pipe-content-route/pipe-content-route.module.d.ts.map +0 -1
  383. package/lib/_collection/_common/pipe-content-route/pipe-content-route.pipe.d.ts.map +0 -1
  384. package/lib/_collection/_common/player-brief/player-brief.component.d.ts.map +0 -1
  385. package/lib/_collection/_common/player-brief/player-brief.module.d.ts.map +0 -1
  386. package/lib/_collection/_common/rating-summary/rating-summary.component.d.ts.map +0 -1
  387. package/lib/_collection/_common/rating-summary/rating-summary.module.d.ts.map +0 -1
  388. package/lib/_collection/_common/skeleton-loader/skeleton-loader.component.d.ts.map +0 -1
  389. package/lib/_collection/_common/skeleton-loader/skeleton-loader.module.d.ts.map +0 -1
  390. package/lib/_collection/_common/tips-for-learner/tips-for-learner-card/tips-for-learner-card.component.d.ts.map +0 -1
  391. package/lib/_collection/_common/tips-for-learner/tips-for-learner.module.d.ts.map +0 -1
  392. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.component.d.ts.map +0 -1
  393. package/lib/_collection/_common/toc-kpi-values/toc-kpi-values.module.d.ts.map +0 -1
  394. package/lib/_collection/_common/user-autocomplete/user-autocomplete.component.d.ts.map +0 -1
  395. package/lib/_collection/_common/user-autocomplete/user-autocomplete.model.d.ts.map +0 -1
  396. package/lib/_collection/_common/user-autocomplete/user-autocomplete.module.d.ts.map +0 -1
  397. package/lib/_collection/_common/user-autocomplete/user-autocomplete.service.d.ts.map +0 -1
  398. package/lib/_collection/_common/user-content-rating/user-content-rating.component.d.ts.map +0 -1
  399. package/lib/_collection/_common/user-content-rating/user-content-rating.module.d.ts.map +0 -1
  400. package/lib/_collection/_common/user-image/user-image.component.d.ts.map +0 -1
  401. package/lib/_collection/_common/user-image/user-image.module.d.ts.map +0 -1
  402. package/lib/_collection/btn-page-back/btn-page-back.component.d.ts.map +0 -1
  403. package/lib/_collection/btn-page-back/btn-page-back.module.d.ts.map +0 -1
  404. package/lib/_collection/btn-page-back/btn-page-back.service.d.ts.map +0 -1
  405. package/lib/_collection/card-rating-comment/card-rating-comment.component.d.ts.map +0 -1
  406. package/lib/_collection/card-rating-comment/card-rating-comment.module.d.ts.map +0 -1
  407. package/lib/_collection/sliders-dynamic/sliders-dynamic.component.d.ts.map +0 -1
  408. package/lib/_collection/sliders-dynamic/sliders-dynamic.model.d.ts.map +0 -1
  409. package/lib/_collection/sliders-dynamic/sliders-dynamic.module.d.ts.map +0 -1
  410. package/lib/_collection-api.d.ts.map +0 -1
  411. package/lib/_constants/widget-content.constants.d.ts.map +0 -1
  412. package/lib/_directives/tooltip.directive.d.ts.map +0 -1
  413. package/lib/_models/common.model.d.ts.map +0 -1
  414. package/lib/_models/error.model.d.ts.map +0 -1
  415. package/lib/_pipes/highlight.pipe.d.ts.map +0 -1
  416. package/lib/_services/rating.service.d.ts.map +0 -1
  417. package/lib/_services/samuhik-charcha.service.d.ts.map +0 -1
  418. package/lib/_services/viewer-route-util.d.ts.map +0 -1
  419. package/lib/_services/widget-content.model.d.ts.map +0 -1
  420. package/lib/_services/widget-content.service.d.ts.map +0 -1
  421. package/lib/_shared/translate-loader.factory.d.ts.map +0 -1
  422. package/lib/app-toc-lib.module.d.ts.map +0 -1
  423. package/lib/collection.config.d.ts.map +0 -1
  424. package/lib/components/app-toc-analytics-tiles/app-toc-analytics-tiles.component.d.ts.map +0 -1
  425. package/lib/components/app-toc-banner/app-toc-banner.component.d.ts.map +0 -1
  426. package/lib/components/app-toc-cios-home/app-toc-cios-home.component.d.ts.map +0 -1
  427. package/lib/components/app-toc-cios-home/consent-dialog.component.d.ts.map +0 -1
  428. package/lib/components/app-toc-cohorts/app-toc-cohorts.component.d.ts.map +0 -1
  429. package/lib/components/app-toc-content-card/app-toc-content-card.component.d.ts.map +0 -1
  430. package/lib/components/app-toc-dialog-intro-video/app-toc-dialog-intro-video.component.d.ts.map +0 -1
  431. package/lib/components/app-toc-discussion/app-toc-discussion.component.d.ts.map +0 -1
  432. package/lib/components/app-toc-home/app-toc-home.component.d.ts.map +0 -1
  433. package/lib/components/app-toc-home-v2/app-toc-home-v2.component.d.ts.map +0 -1
  434. package/lib/components/app-toc-overview/app-toc-overview.component.d.ts.map +0 -1
  435. package/lib/components/app-toc-session-card/app-toc-session-card.component.d.ts.map +0 -1
  436. package/lib/components/app-toc-sessions/app-toc-sessions.component.d.ts.map +0 -1
  437. package/lib/components/app-toc-single-page/app-toc-single-page.component.d.ts.map +0 -1
  438. package/lib/components/completion-survey-form/completion-survey-form.component.d.ts.map +0 -1
  439. package/lib/components/create-batch-dialog/create-batch-dialog.component.d.ts.map +0 -1
  440. package/lib/components/enroll-language-dialogue/enroll-language-dialogue.component.d.ts.map +0 -1
  441. package/lib/components/enroll-profile-form/enroll-profile-form.component.d.ts.map +0 -1
  442. package/lib/components/enroll-questionnaire/enroll-questionnaire.component.d.ts.map +0 -1
  443. package/lib/components/knowledge-artifact-details/knowledge-artifact-details.component.d.ts.map +0 -1
  444. package/lib/components/non-relevent-feedback-dialog/non-relevent-feedback-dialog.component.d.ts.map +0 -1
  445. package/lib/components/public-survey-form/public-survey-form.component.d.ts.map +0 -1
  446. package/lib/components/survey-form-question/survey-form-question.component.d.ts.map +0 -1
  447. package/lib/components/survey-form-section/survey-form-section.component.d.ts.map +0 -1
  448. package/lib/models/app-toc-analytics.model.d.ts.map +0 -1
  449. package/lib/models/app-toc.model.d.ts.map +0 -1
  450. package/lib/models/auto-complete.model.d.ts.map +0 -1
  451. package/lib/models/card-content.model.d.ts.map +0 -1
  452. package/lib/models/content-strip-with-tabs.model.d.ts.map +0 -1
  453. package/lib/models/discussion-forum.model.d.ts.map +0 -1
  454. package/lib/models/goal.model.d.ts.map +0 -1
  455. package/lib/models/meta-tag.model.d.ts.map +0 -1
  456. package/lib/models/playlist.model.d.ts.map +0 -1
  457. package/lib/models/profile-revamp.model.d.ts.map +0 -1
  458. package/lib/models/rating.model.d.ts.map +0 -1
  459. package/lib/models/user-profile.model.d.ts.map +0 -1
  460. package/lib/resolvers/app-toc-cios-resolver.service.d.ts.map +0 -1
  461. package/lib/resolvers/app-toc-cios-user-enroll-resolver.service.d.ts.map +0 -1
  462. package/lib/resolvers/app-toc-content-read-resolver.service.d.ts.map +0 -1
  463. package/lib/resolvers/app-toc-ext-public-resolver.service.d.ts.map +0 -1
  464. package/lib/resolvers/app-toc-resolver.service.d.ts.map +0 -1
  465. package/lib/resolvers/config-resolver.service.d.ts.map +0 -1
  466. package/lib/resolvers/profile-resolver.service.d.ts.map +0 -1
  467. package/lib/resolvers/restricted-features-resolver.service.d.ts.map +0 -1
  468. package/lib/routes/app-toc-home/app-toc-home.component.d.ts.map +0 -1
  469. package/lib/routes/app-toc-home/app-toc-home.directive.d.ts.map +0 -1
  470. package/lib/routes/app-toc-home/app-toc-home.service.d.ts.map +0 -1
  471. package/lib/services/access-control.service.d.ts.map +0 -1
  472. package/lib/services/action.service.d.ts.map +0 -1
  473. package/lib/services/app-toc-v2.service.d.ts.map +0 -1
  474. package/lib/services/app-toc.service.d.ts.map +0 -1
  475. package/lib/services/certificate.service.d.ts.map +0 -1
  476. package/lib/services/discuss-utils.service.d.ts.map +0 -1
  477. package/lib/services/editor.service.d.ts.map +0 -1
  478. package/lib/services/load-check.service.d.ts.map +0 -1
  479. package/lib/services/loader.service.d.ts.map +0 -1
  480. package/lib/services/mobile-apps.service.d.ts.map +0 -1
  481. package/lib/services/netcore.service.d.ts.map +0 -1
  482. package/lib/services/nps-grid.service.d.ts.map +0 -1
  483. package/lib/services/otp.service.d.ts.map +0 -1
  484. package/lib/services/profile-v2.service.d.ts.map +0 -1
  485. package/lib/services/reset-ratings.service.d.ts.map +0 -1
  486. package/lib/services/resource-download-helper.service.d.ts.map +0 -1
  487. package/lib/services/timer.service.d.ts.map +0 -1
  488. package/lib/services/title-tag.service.d.ts.map +0 -1
  489. package/lib/services/user-profile.service.d.ts.map +0 -1
  490. package/lib/services/viewer-data.service.d.ts.map +0 -1
  491. package/lib/services/viewer-util.service.d.ts.map +0 -1
  492. package/lib/share-toc/share-toc/share-toc.component.d.ts.map +0 -1
  493. package/lib/share-toc/share-toc.module.d.ts.map +0 -1
  494. package/public-api.d.ts.map +0 -1
  495. package/sunbird-cb-toc.d.ts.map +0 -1
@@ -1,80 +1,80 @@
1
- import { Component, Input } from '@angular/core';
2
- import { NsCohorts } from '../../models/app-toc.model';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "../../services/app-toc.service";
5
- import * as i2 from "@sunbird-cb/utils-v2";
6
- import * as i3 from "@angular/router";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "@angular/material/legacy-progress-spinner";
9
- import * as i6 from "@angular/material/expansion";
10
- import * as i7 from "../../_collection/_common/user-image/user-image.component";
11
- export class AppTocCohortsComponent {
12
- constructor(tocSvc, configSvc, router) {
13
- this.tocSvc = tocSvc;
14
- this.configSvc = configSvc;
15
- this.router = router;
16
- this.cohortResults = {};
17
- this.cohortTypesEnum = NsCohorts.ECohortTypes;
18
- this.forPreview = false;
19
- }
20
- ngOnInit() { }
21
- get enableFeature() {
22
- if (this.configSvc.restrictedFeatures) {
23
- return !this.configSvc.restrictedFeatures.has('cohorts');
24
- }
25
- return false;
26
- }
27
- get enablePeopleSearch() {
28
- if (this.configSvc.restrictedFeatures) {
29
- return !this.configSvc.restrictedFeatures.has('peopleSearch');
30
- }
31
- return false;
32
- }
33
- goToUserProfile(user) {
34
- if (this.enablePeopleSearch) {
35
- this.router.navigate(['/app/person-profile', user.wid]);
36
- // this.router.navigate(['/app/person-profile'], { queryParams: { emailId: user.email } })
37
- }
38
- }
39
- getUserFullName(user) {
40
- if (user && user.first_name && user.last_name) {
41
- return `${user.first_name.trim()} ${user.last_name.trim()}`;
42
- }
43
- return '';
44
- }
45
- fetchCohorts(cohortType) {
46
- if (!this.cohortResults[cohortType] && !this.forPreview) {
47
- this.tocSvc.fetchContentCohorts(cohortType, this.content.identifier).subscribe(data => {
48
- this.cohortResults[cohortType] = {
49
- contents: data || [],
50
- hasError: false,
51
- };
52
- }, () => {
53
- this.cohortResults[cohortType] = {
54
- contents: [],
55
- hasError: true,
56
- };
57
- });
58
- }
59
- else if (this.cohortResults[cohortType] && !this.forPreview) {
60
- return;
61
- }
62
- else {
63
- this.cohortResults[cohortType] = {
64
- contents: [],
65
- hasError: false,
66
- };
67
- }
68
- }
69
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocCohortsComponent, deps: [{ token: i1.AppTocService }, { token: i2.ConfigurationsService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
70
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AppTocCohortsComponent, selector: "ws-app-toc-cohorts", inputs: { content: "content", forPreview: "forPreview" }, ngImport: i0, template: "<section *ngIf=\"enableFeature\">\n <h2 class=\"mat-toolbar cohorts-head shadow\">Cohorts</h2>\n <mat-accordion [multi]=\"false\">\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.ACTIVE_USERS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Learner</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch active users\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError &&\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <!-- <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\n [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div> -->\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\">\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.ACTIVE_USERS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel>\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.TOP_PERFORMERS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Top performers</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch top performers\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError &&\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents\"\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.TOP_PERFORMERS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel>\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.COMMON_GOALS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Shares same goal</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS]\">\n <h3\n *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS].hasError\"\n class=\"mat-error text-center\"\n i18n\n >\n Failed to fetch users with same goals\n </h3>\n <h3\n *ngIf=\"\n !cohortResults[cohortTypesEnum.COMMON_GOALS].hasError &&\n !cohortResults[cohortTypesEnum.COMMON_GOALS].contents.length\n \"\n class=\"text-center\"\n i18n\n >\n None\n </h3>\n <div\n *ngFor=\"let cohort of cohortResults[cohortTypesEnum.COMMON_GOALS].contents\"\n [ngTemplateOutlet]=\"unitCohort\"\n [ngTemplateOutletContext]=\"{ user: cohort }\"\n ></div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.COMMON_GOALS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel> -->\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.AUTHORS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Curators</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch curators\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.AUTHORS].hasError &&\n !cohortResults[cohortTypesEnum.AUTHORS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.AUTHORS].contents\"\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.AUTHORS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel>\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.EDUCATORS)\">\n <mat-expansion-panel-header>\n <mat-panel-title>Educators</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch educators\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.EDUCATORS].hasError &&\n !cohortResults[cohortTypesEnum.EDUCATORS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.EDUCATORS].contents\" [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.EDUCATORS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel> -->\n </mat-accordion>\n\n <ng-template #unitCohort let-user=\"user\">\n <div class=\"unit-cohort\">\n <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image>\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\n class=\"width-expand padding-left-xs\">\n <div class=\"mat-body-strong cohorts-name\">\n {{\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\n | pipeNameTransform\n }}\n </div>\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\n </div>\n <div class=\"width-auto\">\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email] }\"></ws-widget-btn-mail-user>\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\n userName:\n {\n firstName: user.first_name,\n lastName: user.last_name,\n email: user.email\n } | pipeNameTransform,\n userPhone: user.phone_No\n }\"></ws-widget-btn-call>\n </div>\n </div>\n </ng-template>\n\n <ng-template #unitCohortNew let-user=\"user\">\n <div class=\"unit-cohort sm:pr-8 md:pr-10\">\n <!-- <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image> -->\n\n <ws-widget-user-image class=\"user-image\" [imageType]=\"'user-photo'\" [userName]=\"getUserFullName(user)\"\n [imageSize]=\"'small'\" [email]=\"user.email\" [imageUrl]=\"user.photo || ''\"></ws-widget-user-image>\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\n class=\"width-expand padding-left-xs\">\n <div class=\"mat-body-strong cohorts-name\">\n {{\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\n | pipeNameTransform\n }}\n </div>\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\n </div>\n <div class=\"width-auto user-action-container\">\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email], user: user }\">\n </ws-widget-btn-mail-user>\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\n userName:\n {\n firstName: user.first_name,\n lastName: user.last_name,\n email: user.email\n } | pipeNameTransform,\n userPhone: user.phone_No\n }\"></ws-widget-btn-call>\n </div>\n </div>\n <!-- </div> -->\n\n </ng-template>\n</section>\n", styles: [".cohorts-head{padding:8px 24px;margin:0;background:#fff!important;border-radius:8px 8px 0 0;color:#222!important}.unit-cohort{display:inline-flex;margin-bottom:24px}.unit-cohort .cohort-image{width:32px;height:32px;font-size:32px}.cohorts-name{letter-spacing:0px;color:#5f5f5f;font-size:.9rem;font-weight:400}.cohortSection{margin:50px auto;width:70%}.flex{display:flex}.chorotsBlock{background:#fff}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.user-action-container{color:#adadae}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i6.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: i7.UserImageComponent, selector: "ws-widget-user-image", inputs: ["email", "userId", "userName", "imageType", "imageUrl", "imageSize"] }, { kind: "pipe", type: i2.PipeNameTransformPipe, name: "pipeNameTransform" }] }); }
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocCohortsComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'ws-app-toc-cohorts', template: "<section *ngIf=\"enableFeature\">\n <h2 class=\"mat-toolbar cohorts-head shadow\">Cohorts</h2>\n <mat-accordion [multi]=\"false\">\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.ACTIVE_USERS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Learner</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch active users\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError &&\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <!-- <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\n [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div> -->\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\">\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.ACTIVE_USERS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel>\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.TOP_PERFORMERS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Top performers</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch top performers\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError &&\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents\"\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.TOP_PERFORMERS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel>\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.COMMON_GOALS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Shares same goal</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS]\">\n <h3\n *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS].hasError\"\n class=\"mat-error text-center\"\n i18n\n >\n Failed to fetch users with same goals\n </h3>\n <h3\n *ngIf=\"\n !cohortResults[cohortTypesEnum.COMMON_GOALS].hasError &&\n !cohortResults[cohortTypesEnum.COMMON_GOALS].contents.length\n \"\n class=\"text-center\"\n i18n\n >\n None\n </h3>\n <div\n *ngFor=\"let cohort of cohortResults[cohortTypesEnum.COMMON_GOALS].contents\"\n [ngTemplateOutlet]=\"unitCohort\"\n [ngTemplateOutletContext]=\"{ user: cohort }\"\n ></div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.COMMON_GOALS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel> -->\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.AUTHORS)\">\n <mat-expansion-panel-header>\n <mat-panel-title >Curators</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch curators\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.AUTHORS].hasError &&\n !cohortResults[cohortTypesEnum.AUTHORS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.AUTHORS].contents\"\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\n </div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.AUTHORS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel>\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.EDUCATORS)\">\n <mat-expansion-panel-header>\n <mat-panel-title>Educators</mat-panel-title>\n </mat-expansion-panel-header>\n <ng-template matExpansionPanelContent>\n <div *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS]\">\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS].hasError\" class=\"mat-error text-center\" >\n Failed to fetch educators\n </h3>\n <h3 *ngIf=\"\n !cohortResults[cohortTypesEnum.EDUCATORS].hasError &&\n !cohortResults[cohortTypesEnum.EDUCATORS].contents.length\n \" class=\"text-center\" >\n None\n </h3>\n <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.EDUCATORS].contents\" [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div>\n </div>\n <div *ngIf=\"!cohortResults[cohortTypesEnum.EDUCATORS]\" class=\"text-center\">\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\n </div>\n </ng-template>\n </mat-expansion-panel> -->\n </mat-accordion>\n\n <ng-template #unitCohort let-user=\"user\">\n <div class=\"unit-cohort\">\n <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image>\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\n class=\"width-expand padding-left-xs\">\n <div class=\"mat-body-strong cohorts-name\">\n {{\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\n | pipeNameTransform\n }}\n </div>\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\n </div>\n <div class=\"width-auto\">\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email] }\"></ws-widget-btn-mail-user>\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\n userName:\n {\n firstName: user.first_name,\n lastName: user.last_name,\n email: user.email\n } | pipeNameTransform,\n userPhone: user.phone_No\n }\"></ws-widget-btn-call>\n </div>\n </div>\n </ng-template>\n\n <ng-template #unitCohortNew let-user=\"user\">\n <div class=\"unit-cohort sm:pr-8 md:pr-10\">\n <!-- <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image> -->\n\n <ws-widget-user-image class=\"user-image\" [imageType]=\"'user-photo'\" [userName]=\"getUserFullName(user)\"\n [imageSize]=\"'small'\" [email]=\"user.email\" [imageUrl]=\"user.photo || ''\"></ws-widget-user-image>\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\n class=\"width-expand padding-left-xs\">\n <div class=\"mat-body-strong cohorts-name\">\n {{\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\n | pipeNameTransform\n }}\n </div>\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\n </div>\n <div class=\"width-auto user-action-container\">\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email], user: user }\">\n </ws-widget-btn-mail-user>\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\n userName:\n {\n firstName: user.first_name,\n lastName: user.last_name,\n email: user.email\n } | pipeNameTransform,\n userPhone: user.phone_No\n }\"></ws-widget-btn-call>\n </div>\n </div>\n <!-- </div> -->\n\n </ng-template>\n</section>\n", styles: [".cohorts-head{padding:8px 24px;margin:0;background:#fff!important;border-radius:8px 8px 0 0;color:#222!important}.unit-cohort{display:inline-flex;margin-bottom:24px}.unit-cohort .cohort-image{width:32px;height:32px;font-size:32px}.cohorts-name{letter-spacing:0px;color:#5f5f5f;font-size:.9rem;font-weight:400}.cohortSection{margin:50px auto;width:70%}.flex{display:flex}.chorotsBlock{background:#fff}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.user-action-container{color:#adadae}\n"] }]
75
- }], ctorParameters: function () { return [{ type: i1.AppTocService }, { type: i2.ConfigurationsService }, { type: i3.Router }]; }, propDecorators: { content: [{
76
- type: Input
77
- }], forPreview: [{
78
- type: Input
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy1jb2hvcnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9jb21wb25lbnRzL2FwcC10b2MtY29ob3J0cy9hcHAtdG9jLWNvaG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL2NvbXBvbmVudHMvYXBwLXRvYy1jb2hvcnRzL2FwcC10b2MtY29ob3J0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUl4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7Ozs7OztBQVN0RCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsTUFBcUIsRUFDckIsU0FBZ0MsRUFDaEMsTUFBYztRQUZkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVR4QixrQkFBYSxHQUVULEVBQUUsQ0FBQTtRQUNOLG9CQUFlLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQTtRQUMvQixlQUFVLEdBQUcsS0FBSyxDQUFBO0lBTXZCLENBQUM7SUFFTCxRQUFRLEtBQUssQ0FBQztJQUVkLElBQVcsYUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUU7WUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1NBQ3pEO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtTQUM5RDtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFzQztRQUNwRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3ZELDBGQUEwRjtTQUMzRjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUztRQUN2QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDN0MsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFBO1NBQzVEO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FDNUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztvQkFDL0IsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFO29CQUNwQixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQTtZQUNILENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztvQkFDL0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQTtZQUNILENBQUMsQ0FDRixDQUFBO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdELE9BQU07U0FDUDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztnQkFDL0IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7YUFDaEIsQ0FBQTtTQUNGO0lBQ0gsQ0FBQzsrR0FwRVUsc0JBQXNCO21HQUF0QixzQkFBc0Isb0hDYm5DLDJuVEF5TUE7OzRGRDVMYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzZKQUtyQixPQUFPO3NCQUFmLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBOc0NvbnRlbnQgfSBmcm9tICcuLi8uLi9fc2VydmljZXMvd2lkZ2V0LWNvbnRlbnQubW9kZWwnXG5pbXBvcnQgeyBOc0F1dG9Db21wbGV0ZSB9IGZyb20gJy4uLy4uL19jb2xsZWN0aW9uL19jb21tb24vdXNlci1hdXRvY29tcGxldGUvdXNlci1hdXRvY29tcGxldGUubW9kZWwnXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcbmltcG9ydCB7IE5zQ29ob3J0cyB9IGZyb20gJy4uLy4uL21vZGVscy9hcHAtdG9jLm1vZGVsJ1xuaW1wb3J0IHsgQXBwVG9jU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2FwcC10b2Muc2VydmljZSdcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd3MtYXBwLXRvYy1jb2hvcnRzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC10b2MtY29ob3J0cy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC10b2MtY29ob3J0cy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBBcHBUb2NDb2hvcnRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29udGVudCE6IE5zQ29udGVudC5JQ29udGVudFxuICBjb2hvcnRSZXN1bHRzOiB7XG4gICAgW2tleTogc3RyaW5nXTogeyBoYXNFcnJvcjogYm9vbGVhbjsgY29udGVudHM6IE5zQ29ob3J0cy5JQ29ob3J0c0NvbnRlbnRbXSB9XG4gIH0gPSB7fVxuICBjb2hvcnRUeXBlc0VudW0gPSBOc0NvaG9ydHMuRUNvaG9ydFR5cGVzXG4gIEBJbnB1dCgpIGZvclByZXZpZXcgPSBmYWxzZVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgdG9jU3ZjOiBBcHBUb2NTZXJ2aWNlLFxuICAgIHByaXZhdGUgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlRmVhdHVyZSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5jb25maWdTdmMucmVzdHJpY3RlZEZlYXR1cmVzKSB7XG4gICAgICByZXR1cm4gIXRoaXMuY29uZmlnU3ZjLnJlc3RyaWN0ZWRGZWF0dXJlcy5oYXMoJ2NvaG9ydHMnKVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZW5hYmxlUGVvcGxlU2VhcmNoKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmNvbmZpZ1N2Yy5yZXN0cmljdGVkRmVhdHVyZXMpIHtcbiAgICAgIHJldHVybiAhdGhpcy5jb25maWdTdmMucmVzdHJpY3RlZEZlYXR1cmVzLmhhcygncGVvcGxlU2VhcmNoJylcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBnb1RvVXNlclByb2ZpbGUodXNlcjogTnNBdXRvQ29tcGxldGUuSVVzZXJBdXRvQ29tcGxldGUpIHtcbiAgICBpZiAodGhpcy5lbmFibGVQZW9wbGVTZWFyY2gpIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcC9wZXJzb24tcHJvZmlsZScsIHVzZXIud2lkXSlcbiAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcC9wZXJzb24tcHJvZmlsZSddLCB7IHF1ZXJ5UGFyYW1zOiB7IGVtYWlsSWQ6IHVzZXIuZW1haWwgfSB9KVxuICAgIH1cbiAgfVxuXG4gIGdldFVzZXJGdWxsTmFtZSh1c2VyOiBhbnkpIHtcbiAgICBpZiAodXNlciAmJiB1c2VyLmZpcnN0X25hbWUgJiYgdXNlci5sYXN0X25hbWUpIHtcbiAgICAgIHJldHVybiBgJHt1c2VyLmZpcnN0X25hbWUudHJpbSgpfSAke3VzZXIubGFzdF9uYW1lLnRyaW0oKX1gXG4gICAgfVxuICAgIHJldHVybiAnJ1xuICB9XG5cbiAgZmV0Y2hDb2hvcnRzKGNvaG9ydFR5cGU6IE5zQ29ob3J0cy5FQ29ob3J0VHlwZXMpIHtcbiAgICBpZiAoIXRoaXMuY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlXSAmJiAhdGhpcy5mb3JQcmV2aWV3KSB7XG4gICAgICB0aGlzLnRvY1N2Yy5mZXRjaENvbnRlbnRDb2hvcnRzKGNvaG9ydFR5cGUsIHRoaXMuY29udGVudC5pZGVudGlmaWVyKS5zdWJzY3JpYmUoXG4gICAgICAgIGRhdGEgPT4ge1xuICAgICAgICAgIHRoaXMuY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlXSA9IHtcbiAgICAgICAgICAgIGNvbnRlbnRzOiBkYXRhIHx8IFtdLFxuICAgICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlXSA9IHtcbiAgICAgICAgICAgIGNvbnRlbnRzOiBbXSxcbiAgICAgICAgICAgIGhhc0Vycm9yOiB0cnVlLFxuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIClcbiAgICB9IGVsc2UgaWYgKHRoaXMuY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlXSAmJiAhdGhpcy5mb3JQcmV2aWV3KSB7XG4gICAgICByZXR1cm5cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVdID0ge1xuICAgICAgICBjb250ZW50czogW10sXG4gICAgICAgIGhhc0Vycm9yOiBmYWxzZSxcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxzZWN0aW9uICpuZ0lmPVwiZW5hYmxlRmVhdHVyZVwiPlxuICA8aDIgY2xhc3M9XCJtYXQtdG9vbGJhciBjb2hvcnRzLWhlYWQgc2hhZG93XCI+Q29ob3J0czwvaDI+XG4gIDxtYXQtYWNjb3JkaW9uIFttdWx0aV09XCJmYWxzZVwiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16XCIgKG9wZW5lZCk9XCJmZXRjaENvaG9ydHMoY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSUylcIj5cbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZSA+TGVhcm5lcjwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdXCI+XG4gICAgICAgICAgPGgzICpuZ0lmPVwiY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQUNUSVZFX1VTRVJTXS5oYXNFcnJvclwiIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgPlxuICAgICAgICAgICAgRmFpbGVkIHRvIGZldGNoIGFjdGl2ZSB1c2Vyc1xuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGgzICpuZ0lmPVwiXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdLmhhc0Vycm9yICYmXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdLmNvbnRlbnRzLmxlbmd0aFxuICAgICAgICAgICAgXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiID5cbiAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDwhLS0gPGRpdiAqbmdGb3I9XCJsZXQgY29ob3J0IG9mIGNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSU10uY29udGVudHNcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHVzZXI6IGNvaG9ydCB9XCI+PC9kaXY+IC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIGNvbC1nYXAtNFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29ob3J0IG9mIGNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSU10uY29udGVudHNcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1bml0Q29ob3J0TmV3XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdXNlcjogY29ob3J0IH1cIj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBbc3Ryb2tlV2lkdGhdPVwiM1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwiZGlzcGxheS1pbmxpbmUtYmxvY2tcIj48L21hdC1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16XCIgKG9wZW5lZCk9XCJmZXRjaENvaG9ydHMoY29ob3J0VHlwZXNFbnVtLlRPUF9QRVJGT1JNRVJTKVwiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlID5Ub3AgcGVyZm9ybWVyczwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5UT1BfUEVSRk9STUVSU11cIj5cbiAgICAgICAgICA8aDMgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5UT1BfUEVSRk9STUVSU10uaGFzRXJyb3JcIiBjbGFzcz1cIm1hdC1lcnJvciB0ZXh0LWNlbnRlclwiID5cbiAgICAgICAgICAgIEZhaWxlZCB0byBmZXRjaCB0b3AgcGVyZm9ybWVyc1xuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGgzICpuZ0lmPVwiXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5UT1BfUEVSRk9STUVSU10uaGFzRXJyb3IgJiZcbiAgICAgICAgICAgICAgIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLlRPUF9QRVJGT1JNRVJTXS5jb250ZW50cy5sZW5ndGhcbiAgICAgICAgICAgIFwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiA+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBjb2wtZ2FwLTRcIj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvaG9ydCBvZiBjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5UT1BfUEVSRk9STUVSU10uY29udGVudHNcIlxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1bml0Q29ob3J0TmV3XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdXNlcjogY29ob3J0IH1cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgKm5nSWY9XCIhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uVE9QX1BFUkZPUk1FUlNdXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBbc3Ryb2tlV2lkdGhdPVwiM1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwiZGlzcGxheS1pbmxpbmUtYmxvY2tcIj48L21hdC1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgIDwhLS0gPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXpcIiAob3BlbmVkKT1cImZldGNoQ29ob3J0cyhjb2hvcnRUeXBlc0VudW0uQ09NTU9OX0dPQUxTKVwiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlID5TaGFyZXMgc2FtZSBnb2FsPC9tYXQtcGFuZWwtdGl0bGU+XG4gICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgPG5nLXRlbXBsYXRlIG1hdEV4cGFuc2lvblBhbmVsQ29udGVudD5cbiAgICAgICAgPGRpdiAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkNPTU1PTl9HT0FMU11cIj5cbiAgICAgICAgICA8aDNcbiAgICAgICAgICAgICpuZ0lmPVwiY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQ09NTU9OX0dPQUxTXS5oYXNFcnJvclwiXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1lcnJvciB0ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICBpMThuXG4gICAgICAgICAgPlxuICAgICAgICAgICAgRmFpbGVkIHRvIGZldGNoIHVzZXJzIHdpdGggc2FtZSBnb2Fsc1xuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGgzXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICAhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQ09NTU9OX0dPQUxTXS5oYXNFcnJvciAmJlxuICAgICAgICAgICAgICAhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQ09NTU9OX0dPQUxTXS5jb250ZW50cy5sZW5ndGhcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBjbGFzcz1cInRleHQtY2VudGVyXCJcbiAgICAgICAgICAgIGkxOG5cbiAgICAgICAgICA+XG4gICAgICAgICAgICBOb25lXG4gICAgICAgICAgPC9oMz5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29ob3J0IG9mIGNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkNPTU1PTl9HT0FMU10uY29udGVudHNcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydFwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB1c2VyOiBjb2hvcnQgfVwiXG4gICAgICAgICAgPjwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5DT01NT05fR09BTFNdXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBbc3Ryb2tlV2lkdGhdPVwiM1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwiZGlzcGxheS1pbmxpbmUtYmxvY2tcIj48L21hdC1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPiAtLT5cbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24telwiIChvcGVuZWQpPVwiZmV0Y2hDb2hvcnRzKGNvaG9ydFR5cGVzRW51bS5BVVRIT1JTKVwiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlID5DdXJhdG9yczwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BVVRIT1JTXVwiPlxuICAgICAgICAgIDxoMyAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFVVEhPUlNdLmhhc0Vycm9yXCIgY2xhc3M9XCJtYXQtZXJyb3IgdGV4dC1jZW50ZXJcIiA+XG4gICAgICAgICAgICBGYWlsZWQgdG8gZmV0Y2ggY3VyYXRvcnNcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxoMyAqbmdJZj1cIlxuICAgICAgICAgICAgICAhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQVVUSE9SU10uaGFzRXJyb3IgJiZcbiAgICAgICAgICAgICAgIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFVVEhPUlNdLmNvbnRlbnRzLmxlbmd0aFxuICAgICAgICAgICAgXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiID5cbiAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIHNtOmdyaWQtY29scy0yIG1kOmdyaWQtY29scy0zIGNvbC1nYXAtNFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29ob3J0IG9mIGNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFVVEhPUlNdLmNvbnRlbnRzXCJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydE5ld1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHVzZXI6IGNvaG9ydCB9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFVVEhPUlNdXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBbc3Ryb2tlV2lkdGhdPVwiM1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwiZGlzcGxheS1pbmxpbmUtYmxvY2tcIj48L21hdC1zcGlubmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuICAgIDwhLS0gPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXpcIiAob3BlbmVkKT1cImZldGNoQ29ob3J0cyhjb2hvcnRUeXBlc0VudW0uRURVQ0FUT1JTKVwiPlxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlPkVkdWNhdG9yczwvbWF0LXBhbmVsLXRpdGxlPlxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5FRFVDQVRPUlNdXCI+XG4gICAgICAgICAgPGgzICpuZ0lmPVwiY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uRURVQ0FUT1JTXS5oYXNFcnJvclwiIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgPlxuICAgICAgICAgICAgRmFpbGVkIHRvIGZldGNoIGVkdWNhdG9yc1xuICAgICAgICAgIDwvaDM+XG4gICAgICAgICAgPGgzICpuZ0lmPVwiXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5FRFVDQVRPUlNdLmhhc0Vycm9yICYmXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5FRFVDQVRPUlNdLmNvbnRlbnRzLmxlbmd0aFxuICAgICAgICAgICAgXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiID5cbiAgICAgICAgICAgIE5vbmVcbiAgICAgICAgICA8L2gzPlxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvaG9ydCBvZiBjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5FRFVDQVRPUlNdLmNvbnRlbnRzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHVzZXI6IGNvaG9ydCB9XCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkVEVUNBVE9SU11cIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPG1hdC1zcGlubmVyIFtzdHJva2VXaWR0aF09XCIzXCIgW2RpYW1ldGVyXT1cIjQwXCIgY2xhc3M9XCJkaXNwbGF5LWlubGluZS1ibG9ja1wiPjwvbWF0LXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+IC0tPlxuICA8L21hdC1hY2NvcmRpb24+XG5cbiAgPG5nLXRlbXBsYXRlICN1bml0Q29ob3J0IGxldC11c2VyPVwidXNlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJ1bml0LWNvaG9ydFwiPlxuICAgICAgPHdzLXdpZGdldC11c2VyLWltYWdlIGNsYXNzPVwiY29ob3J0LWltYWdlXCIgW2VtYWlsXT1cInVzZXIuZW1haWxcIj48L3dzLXdpZGdldC11c2VyLWltYWdlPlxuICAgICAgPGRpdiAoY2xpY2spPVwiZ29Ub1VzZXJQcm9maWxlKHVzZXIpXCIgW25nQ2xhc3NdPVwieydjdXJzb3ItcG9pbnRlcic6IGVuYWJsZVBlb3BsZVNlYXJjaH1cIlxuICAgICAgICBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHNcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1ib2R5LXN0cm9uZyBjb2hvcnRzLW5hbWVcIj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgeyBmaXJzdE5hbWU6IHVzZXIuZmlyc3RfbmFtZSwgbGFzdE5hbWU6IHVzZXIubGFzdF9uYW1lLCBlbWFpbDogdXNlci5lbWFpbCB9XG4gICAgICAgICAgICAgIHwgcGlwZU5hbWVUcmFuc2Zvcm1cbiAgICAgICAgICB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1jYXB0aW9uIGNvaG9ydHMtZGVzY1wiPnt7IHVzZXIuZGVzYyB9fTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtYXV0b1wiPlxuICAgICAgICA8d3Mtd2lkZ2V0LWJ0bi1tYWlsLXVzZXIgW3dpZGdldERhdGFdPVwieyBjb250ZW50OiBjb250ZW50LCBlbWFpbHM6IFt1c2VyLmVtYWlsXSB9XCI+PC93cy13aWRnZXQtYnRuLW1haWwtdXNlcj5cbiAgICAgICAgPHdzLXdpZGdldC1idG4tY2FsbCAqbmdJZj1cInVzZXIucGhvbmVfTm8gIT09ICcwJ1wiIFt3aWRnZXREYXRhXT1cIntcbiAgICAgICAgICAgIHVzZXJOYW1lOlxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lOiB1c2VyLmZpcnN0X25hbWUsXG4gICAgICAgICAgICAgICAgbGFzdE5hbWU6IHVzZXIubGFzdF9uYW1lLFxuICAgICAgICAgICAgICAgIGVtYWlsOiB1c2VyLmVtYWlsXG4gICAgICAgICAgICAgIH0gfCBwaXBlTmFtZVRyYW5zZm9ybSxcbiAgICAgICAgICAgIHVzZXJQaG9uZTogdXNlci5waG9uZV9Ob1xuICAgICAgICAgIH1cIj48L3dzLXdpZGdldC1idG4tY2FsbD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuXG4gIDxuZy10ZW1wbGF0ZSAjdW5pdENvaG9ydE5ldyBsZXQtdXNlcj1cInVzZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwidW5pdC1jb2hvcnQgc206cHItOCBtZDpwci0xMFwiPlxuICAgICAgPCEtLSA8d3Mtd2lkZ2V0LXVzZXItaW1hZ2UgY2xhc3M9XCJjb2hvcnQtaW1hZ2VcIiBbZW1haWxdPVwidXNlci5lbWFpbFwiPjwvd3Mtd2lkZ2V0LXVzZXItaW1hZ2U+IC0tPlxuXG4gICAgICA8d3Mtd2lkZ2V0LXVzZXItaW1hZ2UgY2xhc3M9XCJ1c2VyLWltYWdlXCIgW2ltYWdlVHlwZV09XCIndXNlci1waG90bydcIiBbdXNlck5hbWVdPVwiZ2V0VXNlckZ1bGxOYW1lKHVzZXIpXCJcbiAgICAgICAgW2ltYWdlU2l6ZV09XCInc21hbGwnXCIgW2VtYWlsXT1cInVzZXIuZW1haWxcIiBbaW1hZ2VVcmxdPVwidXNlci5waG90byB8fCAnJ1wiPjwvd3Mtd2lkZ2V0LXVzZXItaW1hZ2U+XG4gICAgICA8ZGl2IChjbGljayk9XCJnb1RvVXNlclByb2ZpbGUodXNlcilcIiBbbmdDbGFzc109XCJ7J2N1cnNvci1wb2ludGVyJzogZW5hYmxlUGVvcGxlU2VhcmNofVwiXG4gICAgICAgIGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14c1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWJvZHktc3Ryb25nIGNvaG9ydHMtbmFtZVwiPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAgIHsgZmlyc3ROYW1lOiB1c2VyLmZpcnN0X25hbWUsIGxhc3ROYW1lOiB1c2VyLmxhc3RfbmFtZSwgZW1haWw6IHVzZXIuZW1haWwgfVxuICAgICAgICAgICAgICAgIHwgcGlwZU5hbWVUcmFuc2Zvcm1cbiAgICAgICAgICAgIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjXCI+e3sgdXNlci5kZXNjIH19PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1hdXRvIHVzZXItYWN0aW9uLWNvbnRhaW5lclwiPlxuICAgICAgICA8d3Mtd2lkZ2V0LWJ0bi1tYWlsLXVzZXIgW3dpZGdldERhdGFdPVwieyBjb250ZW50OiBjb250ZW50LCBlbWFpbHM6IFt1c2VyLmVtYWlsXSwgdXNlcjogdXNlciB9XCI+XG4gICAgICAgIDwvd3Mtd2lkZ2V0LWJ0bi1tYWlsLXVzZXI+XG4gICAgICAgIDx3cy13aWRnZXQtYnRuLWNhbGwgKm5nSWY9XCJ1c2VyLnBob25lX05vICE9PSAnMCdcIiBbd2lkZ2V0RGF0YV09XCJ7XG4gICAgICAgICAgICAgIHVzZXJOYW1lOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGZpcnN0TmFtZTogdXNlci5maXJzdF9uYW1lLFxuICAgICAgICAgICAgICAgICAgbGFzdE5hbWU6IHVzZXIubGFzdF9uYW1lLFxuICAgICAgICAgICAgICAgICAgZW1haWw6IHVzZXIuZW1haWxcbiAgICAgICAgICAgICAgICB9IHwgcGlwZU5hbWVUcmFuc2Zvcm0sXG4gICAgICAgICAgICAgIHVzZXJQaG9uZTogdXNlci5waG9uZV9Ob1xuICAgICAgICAgICAgfVwiPjwvd3Mtd2lkZ2V0LWJ0bi1jYWxsPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSA8L2Rpdj4gLS0+XG5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvc2VjdGlvbj5cbiJdfQ==
1
+ import { Component, Input } from '@angular/core';
2
+ import { NsCohorts } from '../../models/app-toc.model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../services/app-toc.service";
5
+ import * as i2 from "@sunbird-cb/utils-v2";
6
+ import * as i3 from "@angular/router";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/material/legacy-progress-spinner";
9
+ import * as i6 from "@angular/material/expansion";
10
+ import * as i7 from "../../_collection/_common/user-image/user-image.component";
11
+ export class AppTocCohortsComponent {
12
+ constructor(tocSvc, configSvc, router) {
13
+ this.tocSvc = tocSvc;
14
+ this.configSvc = configSvc;
15
+ this.router = router;
16
+ this.cohortResults = {};
17
+ this.cohortTypesEnum = NsCohorts.ECohortTypes;
18
+ this.forPreview = false;
19
+ }
20
+ ngOnInit() { }
21
+ get enableFeature() {
22
+ if (this.configSvc.restrictedFeatures) {
23
+ return !this.configSvc.restrictedFeatures.has('cohorts');
24
+ }
25
+ return false;
26
+ }
27
+ get enablePeopleSearch() {
28
+ if (this.configSvc.restrictedFeatures) {
29
+ return !this.configSvc.restrictedFeatures.has('peopleSearch');
30
+ }
31
+ return false;
32
+ }
33
+ goToUserProfile(user) {
34
+ if (this.enablePeopleSearch) {
35
+ this.router.navigate(['/app/person-profile', user.wid]);
36
+ // this.router.navigate(['/app/person-profile'], { queryParams: { emailId: user.email } })
37
+ }
38
+ }
39
+ getUserFullName(user) {
40
+ if (user && user.first_name && user.last_name) {
41
+ return `${user.first_name.trim()} ${user.last_name.trim()}`;
42
+ }
43
+ return '';
44
+ }
45
+ fetchCohorts(cohortType) {
46
+ if (!this.cohortResults[cohortType] && !this.forPreview) {
47
+ this.tocSvc.fetchContentCohorts(cohortType, this.content.identifier).subscribe(data => {
48
+ this.cohortResults[cohortType] = {
49
+ contents: data || [],
50
+ hasError: false,
51
+ };
52
+ }, () => {
53
+ this.cohortResults[cohortType] = {
54
+ contents: [],
55
+ hasError: true,
56
+ };
57
+ });
58
+ }
59
+ else if (this.cohortResults[cohortType] && !this.forPreview) {
60
+ return;
61
+ }
62
+ else {
63
+ this.cohortResults[cohortType] = {
64
+ contents: [],
65
+ hasError: false,
66
+ };
67
+ }
68
+ }
69
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocCohortsComponent, deps: [{ token: i1.AppTocService }, { token: i2.ConfigurationsService }, { token: i3.Router }], target: i0.ɵɵFactoryTarget.Component }); }
70
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AppTocCohortsComponent, selector: "ws-app-toc-cohorts", inputs: { content: "content", forPreview: "forPreview" }, ngImport: i0, template: "<section *ngIf=\"enableFeature\">\r\n <h2 class=\"mat-toolbar cohorts-head shadow\">Cohorts</h2>\r\n <mat-accordion [multi]=\"false\">\r\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.ACTIVE_USERS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Learner</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch active users\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError &&\r\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <!-- <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\r\n [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div> -->\r\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\r\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\r\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.ACTIVE_USERS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.TOP_PERFORMERS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Top performers</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch top performers\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError &&\r\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\r\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents\"\r\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.TOP_PERFORMERS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.COMMON_GOALS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Shares same goal</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS]\">\r\n <h3\r\n *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS].hasError\"\r\n class=\"mat-error text-center\"\r\n i18n\r\n >\r\n Failed to fetch users with same goals\r\n </h3>\r\n <h3\r\n *ngIf=\"\r\n !cohortResults[cohortTypesEnum.COMMON_GOALS].hasError &&\r\n !cohortResults[cohortTypesEnum.COMMON_GOALS].contents.length\r\n \"\r\n class=\"text-center\"\r\n i18n\r\n >\r\n None\r\n </h3>\r\n <div\r\n *ngFor=\"let cohort of cohortResults[cohortTypesEnum.COMMON_GOALS].contents\"\r\n [ngTemplateOutlet]=\"unitCohort\"\r\n [ngTemplateOutletContext]=\"{ user: cohort }\"\r\n ></div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.COMMON_GOALS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel> -->\r\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.AUTHORS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Curators</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch curators\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.AUTHORS].hasError &&\r\n !cohortResults[cohortTypesEnum.AUTHORS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\r\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.AUTHORS].contents\"\r\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.AUTHORS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.EDUCATORS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>Educators</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch educators\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.EDUCATORS].hasError &&\r\n !cohortResults[cohortTypesEnum.EDUCATORS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.EDUCATORS].contents\" [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.EDUCATORS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel> -->\r\n </mat-accordion>\r\n\r\n <ng-template #unitCohort let-user=\"user\">\r\n <div class=\"unit-cohort\">\r\n <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image>\r\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\r\n class=\"width-expand padding-left-xs\">\r\n <div class=\"mat-body-strong cohorts-name\">\r\n {{\r\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\r\n | pipeNameTransform\r\n }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\r\n </div>\r\n <div class=\"width-auto\">\r\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email] }\"></ws-widget-btn-mail-user>\r\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\r\n userName:\r\n {\r\n firstName: user.first_name,\r\n lastName: user.last_name,\r\n email: user.email\r\n } | pipeNameTransform,\r\n userPhone: user.phone_No\r\n }\"></ws-widget-btn-call>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #unitCohortNew let-user=\"user\">\r\n <div class=\"unit-cohort sm:pr-8 md:pr-10\">\r\n <!-- <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image> -->\r\n\r\n <ws-widget-user-image class=\"user-image\" [imageType]=\"'user-photo'\" [userName]=\"getUserFullName(user)\"\r\n [imageSize]=\"'small'\" [email]=\"user.email\" [imageUrl]=\"user.photo || ''\"></ws-widget-user-image>\r\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\r\n class=\"width-expand padding-left-xs\">\r\n <div class=\"mat-body-strong cohorts-name\">\r\n {{\r\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\r\n | pipeNameTransform\r\n }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\r\n </div>\r\n <div class=\"width-auto user-action-container\">\r\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email], user: user }\">\r\n </ws-widget-btn-mail-user>\r\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\r\n userName:\r\n {\r\n firstName: user.first_name,\r\n lastName: user.last_name,\r\n email: user.email\r\n } | pipeNameTransform,\r\n userPhone: user.phone_No\r\n }\"></ws-widget-btn-call>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n\r\n </ng-template>\r\n</section>\r\n", styles: [".cohorts-head{padding:8px 24px;margin:0;background:#fff!important;border-radius:8px 8px 0 0;color:#222!important}.unit-cohort{display:inline-flex;margin-bottom:24px}.unit-cohort .cohort-image{width:32px;height:32px;font-size:32px}.cohorts-name{letter-spacing:0px;color:#5f5f5f;font-size:.9rem;font-weight:400}.cohortSection{margin:50px auto;width:70%}.flex{display:flex}.chorotsBlock{background:#fff}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.user-action-container{color:#adadae}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i5.MatLegacyProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }, { kind: "directive", type: i6.MatAccordion, selector: "mat-accordion", inputs: ["multi", "hideToggle", "displayMode", "togglePosition"], exportAs: ["matAccordion"] }, { kind: "component", type: i6.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { kind: "component", type: i6.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { kind: "directive", type: i6.MatExpansionPanelTitle, selector: "mat-panel-title" }, { kind: "directive", type: i6.MatExpansionPanelContent, selector: "ng-template[matExpansionPanelContent]" }, { kind: "component", type: i7.UserImageComponent, selector: "ws-widget-user-image", inputs: ["email", "userId", "userName", "imageType", "imageUrl", "imageSize"] }, { kind: "pipe", type: i2.PipeNameTransformPipe, name: "pipeNameTransform" }] }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AppTocCohortsComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'ws-app-toc-cohorts', template: "<section *ngIf=\"enableFeature\">\r\n <h2 class=\"mat-toolbar cohorts-head shadow\">Cohorts</h2>\r\n <mat-accordion [multi]=\"false\">\r\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.ACTIVE_USERS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Learner</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch active users\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].hasError &&\r\n !cohortResults[cohortTypesEnum.ACTIVE_USERS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <!-- <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\r\n [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div> -->\r\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\r\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.ACTIVE_USERS].contents\"\r\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\">\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.ACTIVE_USERS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.TOP_PERFORMERS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Top performers</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch top performers\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].hasError &&\r\n !cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\r\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.TOP_PERFORMERS].contents\"\r\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.TOP_PERFORMERS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.COMMON_GOALS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Shares same goal</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS]\">\r\n <h3\r\n *ngIf=\"cohortResults[cohortTypesEnum.COMMON_GOALS].hasError\"\r\n class=\"mat-error text-center\"\r\n i18n\r\n >\r\n Failed to fetch users with same goals\r\n </h3>\r\n <h3\r\n *ngIf=\"\r\n !cohortResults[cohortTypesEnum.COMMON_GOALS].hasError &&\r\n !cohortResults[cohortTypesEnum.COMMON_GOALS].contents.length\r\n \"\r\n class=\"text-center\"\r\n i18n\r\n >\r\n None\r\n </h3>\r\n <div\r\n *ngFor=\"let cohort of cohortResults[cohortTypesEnum.COMMON_GOALS].contents\"\r\n [ngTemplateOutlet]=\"unitCohort\"\r\n [ngTemplateOutletContext]=\"{ user: cohort }\"\r\n ></div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.COMMON_GOALS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel> -->\r\n <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.AUTHORS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title >Curators</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.AUTHORS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch curators\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.AUTHORS].hasError &&\r\n !cohortResults[cohortTypesEnum.AUTHORS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <div class=\"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 col-gap-4\">\r\n <ng-container *ngFor=\"let cohort of cohortResults[cohortTypesEnum.AUTHORS].contents\"\r\n [ngTemplateOutlet]=\"unitCohortNew\" [ngTemplateOutletContext]=\"{ user: cohort }\"></ng-container>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.AUTHORS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel>\r\n <!-- <mat-expansion-panel class=\"mat-elevation-z\" (opened)=\"fetchCohorts(cohortTypesEnum.EDUCATORS)\">\r\n <mat-expansion-panel-header>\r\n <mat-panel-title>Educators</mat-panel-title>\r\n </mat-expansion-panel-header>\r\n <ng-template matExpansionPanelContent>\r\n <div *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS]\">\r\n <h3 *ngIf=\"cohortResults[cohortTypesEnum.EDUCATORS].hasError\" class=\"mat-error text-center\" >\r\n Failed to fetch educators\r\n </h3>\r\n <h3 *ngIf=\"\r\n !cohortResults[cohortTypesEnum.EDUCATORS].hasError &&\r\n !cohortResults[cohortTypesEnum.EDUCATORS].contents.length\r\n \" class=\"text-center\" >\r\n None\r\n </h3>\r\n <div *ngFor=\"let cohort of cohortResults[cohortTypesEnum.EDUCATORS].contents\" [ngTemplateOutlet]=\"unitCohort\" [ngTemplateOutletContext]=\"{ user: cohort }\"></div>\r\n </div>\r\n <div *ngIf=\"!cohortResults[cohortTypesEnum.EDUCATORS]\" class=\"text-center\">\r\n <mat-spinner [strokeWidth]=\"3\" [diameter]=\"40\" class=\"display-inline-block\"></mat-spinner>\r\n </div>\r\n </ng-template>\r\n </mat-expansion-panel> -->\r\n </mat-accordion>\r\n\r\n <ng-template #unitCohort let-user=\"user\">\r\n <div class=\"unit-cohort\">\r\n <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image>\r\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\r\n class=\"width-expand padding-left-xs\">\r\n <div class=\"mat-body-strong cohorts-name\">\r\n {{\r\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\r\n | pipeNameTransform\r\n }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\r\n </div>\r\n <div class=\"width-auto\">\r\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email] }\"></ws-widget-btn-mail-user>\r\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\r\n userName:\r\n {\r\n firstName: user.first_name,\r\n lastName: user.last_name,\r\n email: user.email\r\n } | pipeNameTransform,\r\n userPhone: user.phone_No\r\n }\"></ws-widget-btn-call>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #unitCohortNew let-user=\"user\">\r\n <div class=\"unit-cohort sm:pr-8 md:pr-10\">\r\n <!-- <ws-widget-user-image class=\"cohort-image\" [email]=\"user.email\"></ws-widget-user-image> -->\r\n\r\n <ws-widget-user-image class=\"user-image\" [imageType]=\"'user-photo'\" [userName]=\"getUserFullName(user)\"\r\n [imageSize]=\"'small'\" [email]=\"user.email\" [imageUrl]=\"user.photo || ''\"></ws-widget-user-image>\r\n <div (click)=\"goToUserProfile(user)\" [ngClass]=\"{'cursor-pointer': enablePeopleSearch}\"\r\n class=\"width-expand padding-left-xs\">\r\n <div class=\"mat-body-strong cohorts-name\">\r\n {{\r\n { firstName: user.first_name, lastName: user.last_name, email: user.email }\r\n | pipeNameTransform\r\n }}\r\n </div>\r\n <div class=\"mat-caption cohorts-desc\">{{ user.desc }}</div>\r\n </div>\r\n <div class=\"width-auto user-action-container\">\r\n <ws-widget-btn-mail-user [widgetData]=\"{ content: content, emails: [user.email], user: user }\">\r\n </ws-widget-btn-mail-user>\r\n <ws-widget-btn-call *ngIf=\"user.phone_No !== '0'\" [widgetData]=\"{\r\n userName:\r\n {\r\n firstName: user.first_name,\r\n lastName: user.last_name,\r\n email: user.email\r\n } | pipeNameTransform,\r\n userPhone: user.phone_No\r\n }\"></ws-widget-btn-call>\r\n </div>\r\n </div>\r\n <!-- </div> -->\r\n\r\n </ng-template>\r\n</section>\r\n", styles: [".cohorts-head{padding:8px 24px;margin:0;background:#fff!important;border-radius:8px 8px 0 0;color:#222!important}.unit-cohort{display:inline-flex;margin-bottom:24px}.unit-cohort .cohort-image{width:32px;height:32px;font-size:32px}.cohorts-name{letter-spacing:0px;color:#5f5f5f;font-size:.9rem;font-weight:400}.cohortSection{margin:50px auto;width:70%}.flex{display:flex}.chorotsBlock{background:#fff}.mat-accordion .mat-expansion-panel:last-of-type{border-bottom-right-radius:8px;border-bottom-left-radius:8px}.user-action-container{color:#adadae}\n"] }]
75
+ }], ctorParameters: function () { return [{ type: i1.AppTocService }, { type: i2.ConfigurationsService }, { type: i3.Router }]; }, propDecorators: { content: [{
76
+ type: Input
77
+ }], forPreview: [{
78
+ type: Input
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLXRvYy1jb2hvcnRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi90b2Mvc3JjL2xpYi9jb21wb25lbnRzL2FwcC10b2MtY29ob3J0cy9hcHAtdG9jLWNvaG9ydHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3RvYy9zcmMvbGliL2NvbXBvbmVudHMvYXBwLXRvYy1jb2hvcnRzL2FwcC10b2MtY29ob3J0cy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUl4RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUE7Ozs7Ozs7OztBQVN0RCxNQUFNLE9BQU8sc0JBQXNCO0lBUWpDLFlBQ1UsTUFBcUIsRUFDckIsU0FBZ0MsRUFDaEMsTUFBYztRQUZkLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQVR4QixrQkFBYSxHQUVULEVBQUUsQ0FBQTtRQUNOLG9CQUFlLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQTtRQUMvQixlQUFVLEdBQUcsS0FBSyxDQUFBO0lBTXZCLENBQUM7SUFFTCxRQUFRLEtBQUssQ0FBQztJQUVkLElBQVcsYUFBYTtRQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLEVBQUU7WUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1NBQ3pEO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUQsSUFBVyxrQkFBa0I7UUFDM0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixFQUFFO1lBQ3JDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQTtTQUM5RDtRQUNELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFzQztRQUNwRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1lBQ3ZELDBGQUEwRjtTQUMzRjtJQUNILENBQUM7SUFFRCxlQUFlLENBQUMsSUFBUztRQUN2QixJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDN0MsT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFBO1NBQzVEO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQWtDO1FBQzdDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN2RCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FDNUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztvQkFDL0IsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFO29CQUNwQixRQUFRLEVBQUUsS0FBSztpQkFDaEIsQ0FBQTtZQUNILENBQUMsRUFDRCxHQUFHLEVBQUU7Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztvQkFDL0IsUUFBUSxFQUFFLEVBQUU7b0JBQ1osUUFBUSxFQUFFLElBQUk7aUJBQ2YsQ0FBQTtZQUNILENBQUMsQ0FDRixDQUFBO1NBQ0Y7YUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzdELE9BQU07U0FDUDthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsR0FBRztnQkFDL0IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osUUFBUSxFQUFFLEtBQUs7YUFDaEIsQ0FBQTtTQUNGO0lBQ0gsQ0FBQzsrR0FwRVUsc0JBQXNCO21HQUF0QixzQkFBc0Isb0hDYm5DLDZnVUF5TUE7OzRGRDVMYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0Usb0JBQW9COzZKQUtyQixPQUFPO3NCQUFmLEtBQUs7Z0JBS0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcbmltcG9ydCB7IE5zQ29udGVudCB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5tb2RlbCdcclxuaW1wb3J0IHsgTnNBdXRvQ29tcGxldGUgfSBmcm9tICcuLi8uLi9fY29sbGVjdGlvbi9fY29tbW9uL3VzZXItYXV0b2NvbXBsZXRlL3VzZXItYXV0b2NvbXBsZXRlLm1vZGVsJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12MidcclxuaW1wb3J0IHsgTnNDb2hvcnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2FwcC10b2MubW9kZWwnXHJcbmltcG9ydCB7IEFwcFRvY1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcHAtdG9jLnNlcnZpY2UnXHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcidcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnd3MtYXBwLXRvYy1jb2hvcnRzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwLXRvYy1jb2hvcnRzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHAtdG9jLWNvaG9ydHMuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEFwcFRvY0NvaG9ydHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGNvbnRlbnQhOiBOc0NvbnRlbnQuSUNvbnRlbnRcclxuICBjb2hvcnRSZXN1bHRzOiB7XHJcbiAgICBba2V5OiBzdHJpbmddOiB7IGhhc0Vycm9yOiBib29sZWFuOyBjb250ZW50czogTnNDb2hvcnRzLklDb2hvcnRzQ29udGVudFtdIH1cclxuICB9ID0ge31cclxuICBjb2hvcnRUeXBlc0VudW0gPSBOc0NvaG9ydHMuRUNvaG9ydFR5cGVzXHJcbiAgQElucHV0KCkgZm9yUHJldmlldyA9IGZhbHNlXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2NTdmM6IEFwcFRvY1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHsgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGVuYWJsZUZlYXR1cmUoKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodGhpcy5jb25maWdTdmMucmVzdHJpY3RlZEZlYXR1cmVzKSB7XHJcbiAgICAgIHJldHVybiAhdGhpcy5jb25maWdTdmMucmVzdHJpY3RlZEZlYXR1cmVzLmhhcygnY29ob3J0cycpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZW5hYmxlUGVvcGxlU2VhcmNoKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnU3ZjLnJlc3RyaWN0ZWRGZWF0dXJlcykge1xyXG4gICAgICByZXR1cm4gIXRoaXMuY29uZmlnU3ZjLnJlc3RyaWN0ZWRGZWF0dXJlcy5oYXMoJ3Blb3BsZVNlYXJjaCcpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2VcclxuICB9XHJcblxyXG4gIGdvVG9Vc2VyUHJvZmlsZSh1c2VyOiBOc0F1dG9Db21wbGV0ZS5JVXNlckF1dG9Db21wbGV0ZSkge1xyXG4gICAgaWYgKHRoaXMuZW5hYmxlUGVvcGxlU2VhcmNoKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL2FwcC9wZXJzb24tcHJvZmlsZScsIHVzZXIud2lkXSlcclxuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoWycvYXBwL3BlcnNvbi1wcm9maWxlJ10sIHsgcXVlcnlQYXJhbXM6IHsgZW1haWxJZDogdXNlci5lbWFpbCB9IH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyRnVsbE5hbWUodXNlcjogYW55KSB7XHJcbiAgICBpZiAodXNlciAmJiB1c2VyLmZpcnN0X25hbWUgJiYgdXNlci5sYXN0X25hbWUpIHtcclxuICAgICAgcmV0dXJuIGAke3VzZXIuZmlyc3RfbmFtZS50cmltKCl9ICR7dXNlci5sYXN0X25hbWUudHJpbSgpfWBcclxuICAgIH1cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb2hvcnRzKGNvaG9ydFR5cGU6IE5zQ29ob3J0cy5FQ29ob3J0VHlwZXMpIHtcclxuICAgIGlmICghdGhpcy5jb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVdICYmICF0aGlzLmZvclByZXZpZXcpIHtcclxuICAgICAgdGhpcy50b2NTdmMuZmV0Y2hDb250ZW50Q29ob3J0cyhjb2hvcnRUeXBlLCB0aGlzLmNvbnRlbnQuaWRlbnRpZmllcikuc3Vic2NyaWJlKFxyXG4gICAgICAgIGRhdGEgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVdID0ge1xyXG4gICAgICAgICAgICBjb250ZW50czogZGF0YSB8fCBbXSxcclxuICAgICAgICAgICAgaGFzRXJyb3I6IGZhbHNlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVdID0ge1xyXG4gICAgICAgICAgICBjb250ZW50czogW10sXHJcbiAgICAgICAgICAgIGhhc0Vycm9yOiB0cnVlLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIClcclxuICAgIH0gZWxzZSBpZiAodGhpcy5jb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVdICYmICF0aGlzLmZvclByZXZpZXcpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZV0gPSB7XHJcbiAgICAgICAgY29udGVudHM6IFtdLFxyXG4gICAgICAgIGhhc0Vycm9yOiBmYWxzZSxcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiAqbmdJZj1cImVuYWJsZUZlYXR1cmVcIj5cclxuICA8aDIgY2xhc3M9XCJtYXQtdG9vbGJhciBjb2hvcnRzLWhlYWQgc2hhZG93XCI+Q29ob3J0czwvaDI+XHJcbiAgPG1hdC1hY2NvcmRpb24gW211bHRpXT1cImZhbHNlXCI+XHJcbiAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24telwiIChvcGVuZWQpPVwiZmV0Y2hDb2hvcnRzKGNvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlMpXCI+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlID5MZWFybmVyPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSU11cIj5cclxuICAgICAgICAgIDxoMyAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSU10uaGFzRXJyb3JcIiBjbGFzcz1cIm1hdC1lcnJvciB0ZXh0LWNlbnRlclwiID5cclxuICAgICAgICAgICAgRmFpbGVkIHRvIGZldGNoIGFjdGl2ZSB1c2Vyc1xyXG4gICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDxoMyAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdLmhhc0Vycm9yICYmXHJcbiAgICAgICAgICAgICAgIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSU10uY29udGVudHMubGVuZ3RoXHJcbiAgICAgICAgICAgIFwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiA+XHJcbiAgICAgICAgICAgIE5vbmVcclxuICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8IS0tIDxkaXYgKm5nRm9yPVwibGV0IGNvaG9ydCBvZiBjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdLmNvbnRlbnRzXCJcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHVzZXI6IGNvaG9ydCB9XCI+PC9kaXY+IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgc206Z3JpZC1jb2xzLTIgbWQ6Z3JpZC1jb2xzLTMgY29sLWdhcC00XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNvaG9ydCBvZiBjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BQ1RJVkVfVVNFUlNdLmNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1bml0Q29ob3J0TmV3XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdXNlcjogY29ob3J0IH1cIj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFDVElWRV9VU0VSU11cIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8bWF0LXNwaW5uZXIgW3N0cm9rZVdpZHRoXT1cIjNcIiBbZGlhbWV0ZXJdPVwiNDBcIiBjbGFzcz1cImRpc3BsYXktaW5saW5lLWJsb2NrXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16XCIgKG9wZW5lZCk9XCJmZXRjaENvaG9ydHMoY29ob3J0VHlwZXNFbnVtLlRPUF9QRVJGT1JNRVJTKVwiPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZSA+VG9wIHBlcmZvcm1lcnM8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG1hdEV4cGFuc2lvblBhbmVsQ29udGVudD5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uVE9QX1BFUkZPUk1FUlNdXCI+XHJcbiAgICAgICAgICA8aDMgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5UT1BfUEVSRk9STUVSU10uaGFzRXJyb3JcIiBjbGFzcz1cIm1hdC1lcnJvciB0ZXh0LWNlbnRlclwiID5cclxuICAgICAgICAgICAgRmFpbGVkIHRvIGZldGNoIHRvcCBwZXJmb3JtZXJzXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgPGgzICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLlRPUF9QRVJGT1JNRVJTXS5oYXNFcnJvciAmJlxyXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5UT1BfUEVSRk9STUVSU10uY29udGVudHMubGVuZ3RoXHJcbiAgICAgICAgICAgIFwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiA+XHJcbiAgICAgICAgICAgIE5vbmVcclxuICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBjb2wtZ2FwLTRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29ob3J0IG9mIGNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLlRPUF9QRVJGT1JNRVJTXS5jb250ZW50c1wiXHJcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydE5ld1wiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHVzZXI6IGNvaG9ydCB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLlRPUF9QRVJGT1JNRVJTXVwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgIDxtYXQtc3Bpbm5lciBbc3Ryb2tlV2lkdGhdPVwiM1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwiZGlzcGxheS1pbmxpbmUtYmxvY2tcIj48L21hdC1zcGlubmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxyXG4gICAgPCEtLSA8bWF0LWV4cGFuc2lvbi1wYW5lbCBjbGFzcz1cIm1hdC1lbGV2YXRpb24telwiIChvcGVuZWQpPVwiZmV0Y2hDb2hvcnRzKGNvaG9ydFR5cGVzRW51bS5DT01NT05fR09BTFMpXCI+XHJcbiAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlID5TaGFyZXMgc2FtZSBnb2FsPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkNPTU1PTl9HT0FMU11cIj5cclxuICAgICAgICAgIDxoM1xyXG4gICAgICAgICAgICAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkNPTU1PTl9HT0FMU10uaGFzRXJyb3JcIlxyXG4gICAgICAgICAgICBjbGFzcz1cIm1hdC1lcnJvciB0ZXh0LWNlbnRlclwiXHJcbiAgICAgICAgICAgIGkxOG5cclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgRmFpbGVkIHRvIGZldGNoIHVzZXJzIHdpdGggc2FtZSBnb2Fsc1xyXG4gICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDxoM1xyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgICFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5DT01NT05fR09BTFNdLmhhc0Vycm9yICYmXHJcbiAgICAgICAgICAgICAgIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkNPTU1PTl9HT0FMU10uY29udGVudHMubGVuZ3RoXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGV4dC1jZW50ZXJcIlxyXG4gICAgICAgICAgICBpMThuXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIE5vbmVcclxuICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBjb2hvcnQgb2YgY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQ09NTU9OX0dPQUxTXS5jb250ZW50c1wiXHJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInVuaXRDb2hvcnRcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyB1c2VyOiBjb2hvcnQgfVwiXHJcbiAgICAgICAgICA+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5DT01NT05fR09BTFNdXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPG1hdC1zcGlubmVyIFtzdHJva2VXaWR0aF09XCIzXCIgW2RpYW1ldGVyXT1cIjQwXCIgY2xhc3M9XCJkaXNwbGF5LWlubGluZS1ibG9ja1wiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+IC0tPlxyXG4gICAgPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXpcIiAob3BlbmVkKT1cImZldGNoQ29ob3J0cyhjb2hvcnRUeXBlc0VudW0uQVVUSE9SUylcIj5cclxuICAgICAgPG1hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICAgIDxtYXQtcGFuZWwtdGl0bGUgPkN1cmF0b3JzPC9tYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBtYXRFeHBhbnNpb25QYW5lbENvbnRlbnQ+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cImNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFVVEhPUlNdXCI+XHJcbiAgICAgICAgICA8aDMgKm5nSWY9XCJjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5BVVRIT1JTXS5oYXNFcnJvclwiIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgPlxyXG4gICAgICAgICAgICBGYWlsZWQgdG8gZmV0Y2ggY3VyYXRvcnNcclxuICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8aDMgKm5nSWY9XCJcclxuICAgICAgICAgICAgICAhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQVVUSE9SU10uaGFzRXJyb3IgJiZcclxuICAgICAgICAgICAgICAhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQVVUSE9SU10uY29udGVudHMubGVuZ3RoXHJcbiAgICAgICAgICAgIFwiIGNsYXNzPVwidGV4dC1jZW50ZXJcIiA+XHJcbiAgICAgICAgICAgIE5vbmVcclxuICAgICAgICAgIDwvaDM+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtMSBzbTpncmlkLWNvbHMtMiBtZDpncmlkLWNvbHMtMyBjb2wtZ2FwLTRcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY29ob3J0IG9mIGNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkFVVEhPUlNdLmNvbnRlbnRzXCJcclxuICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ1bml0Q29ob3J0TmV3XCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgdXNlcjogY29ob3J0IH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uQVVUSE9SU11cIiBjbGFzcz1cInRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICA8bWF0LXNwaW5uZXIgW3N0cm9rZVdpZHRoXT1cIjNcIiBbZGlhbWV0ZXJdPVwiNDBcIiBjbGFzcz1cImRpc3BsYXktaW5saW5lLWJsb2NrXCI+PC9tYXQtc3Bpbm5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICAgIDwhLS0gPG1hdC1leHBhbnNpb24tcGFuZWwgY2xhc3M9XCJtYXQtZWxldmF0aW9uLXpcIiAob3BlbmVkKT1cImZldGNoQ29ob3J0cyhjb2hvcnRUeXBlc0VudW0uRURVQ0FUT1JTKVwiPlxyXG4gICAgICA8bWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XHJcbiAgICAgICAgPG1hdC1wYW5lbC10aXRsZT5FZHVjYXRvcnM8L21hdC1wYW5lbC10aXRsZT5cclxuICAgICAgPC9tYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlcj5cclxuICAgICAgPG5nLXRlbXBsYXRlIG1hdEV4cGFuc2lvblBhbmVsQ29udGVudD5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uRURVQ0FUT1JTXVwiPlxyXG4gICAgICAgICAgPGgzICpuZ0lmPVwiY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uRURVQ0FUT1JTXS5oYXNFcnJvclwiIGNsYXNzPVwibWF0LWVycm9yIHRleHQtY2VudGVyXCIgPlxyXG4gICAgICAgICAgICBGYWlsZWQgdG8gZmV0Y2ggZWR1Y2F0b3JzXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgPGgzICpuZ0lmPVwiXHJcbiAgICAgICAgICAgICAgIWNvaG9ydFJlc3VsdHNbY29ob3J0VHlwZXNFbnVtLkVEVUNBVE9SU10uaGFzRXJyb3IgJiZcclxuICAgICAgICAgICAgICAhY29ob3J0UmVzdWx0c1tjb2hvcnRUeXBlc0VudW0uRURVQ0FUT1JTXS5jb250ZW50cy5sZW5ndGhcclxuICAgICAgICAgICAgXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiID5cclxuICAgICAgICAgICAgTm9uZVxyXG4gICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNvaG9ydCBvZiBjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5FRFVDQVRPUlNdLmNvbnRlbnRzXCIgW25nVGVtcGxhdGVPdXRsZXRdPVwidW5pdENvaG9ydFwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7IHVzZXI6IGNvaG9ydCB9XCI+PC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFjb2hvcnRSZXN1bHRzW2NvaG9ydFR5cGVzRW51bS5FRFVDQVRPUlNdXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgPG1hdC1zcGlubmVyIFtzdHJva2VXaWR0aF09XCIzXCIgW2RpYW1ldGVyXT1cIjQwXCIgY2xhc3M9XCJkaXNwbGF5LWlubGluZS1ibG9ja1wiPjwvbWF0LXNwaW5uZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L21hdC1leHBhbnNpb24tcGFuZWw+IC0tPlxyXG4gIDwvbWF0LWFjY29yZGlvbj5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICN1bml0Q29ob3J0IGxldC11c2VyPVwidXNlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInVuaXQtY29ob3J0XCI+XHJcbiAgICAgIDx3cy13aWRnZXQtdXNlci1pbWFnZSBjbGFzcz1cImNvaG9ydC1pbWFnZVwiIFtlbWFpbF09XCJ1c2VyLmVtYWlsXCI+PC93cy13aWRnZXQtdXNlci1pbWFnZT5cclxuICAgICAgPGRpdiAoY2xpY2spPVwiZ29Ub1VzZXJQcm9maWxlKHVzZXIpXCIgW25nQ2xhc3NdPVwieydjdXJzb3ItcG9pbnRlcic6IGVuYWJsZVBlb3BsZVNlYXJjaH1cIlxyXG4gICAgICAgIGNsYXNzPVwid2lkdGgtZXhwYW5kIHBhZGRpbmctbGVmdC14c1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtYm9keS1zdHJvbmcgY29ob3J0cy1uYW1lXCI+XHJcbiAgICAgICAgICB7e1xyXG4gICAgICAgICAgICB7IGZpcnN0TmFtZTogdXNlci5maXJzdF9uYW1lLCBsYXN0TmFtZTogdXNlci5sYXN0X25hbWUsIGVtYWlsOiB1c2VyLmVtYWlsIH1cclxuICAgICAgICAgICAgICB8IHBpcGVOYW1lVHJhbnNmb3JtXHJcbiAgICAgICAgICB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtYXQtY2FwdGlvbiBjb2hvcnRzLWRlc2NcIj57eyB1c2VyLmRlc2MgfX08L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ3aWR0aC1hdXRvXCI+XHJcbiAgICAgICAgPHdzLXdpZGdldC1idG4tbWFpbC11c2VyIFt3aWRnZXREYXRhXT1cInsgY29udGVudDogY29udGVudCwgZW1haWxzOiBbdXNlci5lbWFpbF0gfVwiPjwvd3Mtd2lkZ2V0LWJ0bi1tYWlsLXVzZXI+XHJcbiAgICAgICAgPHdzLXdpZGdldC1idG4tY2FsbCAqbmdJZj1cInVzZXIucGhvbmVfTm8gIT09ICcwJ1wiIFt3aWRnZXREYXRhXT1cIntcclxuICAgICAgICAgICAgdXNlck5hbWU6XHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgZmlyc3ROYW1lOiB1c2VyLmZpcnN0X25hbWUsXHJcbiAgICAgICAgICAgICAgICBsYXN0TmFtZTogdXNlci5sYXN0X25hbWUsXHJcbiAgICAgICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbFxyXG4gICAgICAgICAgICAgIH0gfCBwaXBlTmFtZVRyYW5zZm9ybSxcclxuICAgICAgICAgICAgdXNlclBob25lOiB1c2VyLnBob25lX05vXHJcbiAgICAgICAgICB9XCI+PC93cy13aWRnZXQtYnRuLWNhbGw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICN1bml0Q29ob3J0TmV3IGxldC11c2VyPVwidXNlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInVuaXQtY29ob3J0IHNtOnByLTggbWQ6cHItMTBcIj5cclxuICAgICAgPCEtLSA8d3Mtd2lkZ2V0LXVzZXItaW1hZ2UgY2xhc3M9XCJjb2hvcnQtaW1hZ2VcIiBbZW1haWxdPVwidXNlci5lbWFpbFwiPjwvd3Mtd2lkZ2V0LXVzZXItaW1hZ2U+IC0tPlxyXG5cclxuICAgICAgPHdzLXdpZGdldC11c2VyLWltYWdlIGNsYXNzPVwidXNlci1pbWFnZVwiIFtpbWFnZVR5cGVdPVwiJ3VzZXItcGhvdG8nXCIgW3VzZXJOYW1lXT1cImdldFVzZXJGdWxsTmFtZSh1c2VyKVwiXHJcbiAgICAgICAgW2ltYWdlU2l6ZV09XCInc21hbGwnXCIgW2VtYWlsXT1cInVzZXIuZW1haWxcIiBbaW1hZ2VVcmxdPVwidXNlci5waG90byB8fCAnJ1wiPjwvd3Mtd2lkZ2V0LXVzZXItaW1hZ2U+XHJcbiAgICAgIDxkaXYgKGNsaWNrKT1cImdvVG9Vc2VyUHJvZmlsZSh1c2VyKVwiIFtuZ0NsYXNzXT1cInsnY3Vyc29yLXBvaW50ZXInOiBlbmFibGVQZW9wbGVTZWFyY2h9XCJcclxuICAgICAgICBjbGFzcz1cIndpZHRoLWV4cGFuZCBwYWRkaW5nLWxlZnQteHNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWJvZHktc3Ryb25nIGNvaG9ydHMtbmFtZVwiPlxyXG4gICAgICAgICAge3tcclxuICAgICAgICAgICAgICB7IGZpcnN0TmFtZTogdXNlci5maXJzdF9uYW1lLCBsYXN0TmFtZTogdXNlci5sYXN0X25hbWUsIGVtYWlsOiB1c2VyLmVtYWlsIH1cclxuICAgICAgICAgICAgICAgIHwgcGlwZU5hbWVUcmFuc2Zvcm1cclxuICAgICAgICAgICAgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwibWF0LWNhcHRpb24gY29ob3J0cy1kZXNjXCI+e3sgdXNlci5kZXNjIH19PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwid2lkdGgtYXV0byB1c2VyLWFjdGlvbi1jb250YWluZXJcIj5cclxuICAgICAgICA8d3Mtd2lkZ2V0LWJ0bi1tYWlsLXVzZXIgW3dpZGdldERhdGFdPVwieyBjb250ZW50OiBjb250ZW50LCBlbWFpbHM6IFt1c2VyLmVtYWlsXSwgdXNlcjogdXNlciB9XCI+XHJcbiAgICAgICAgPC93cy13aWRnZXQtYnRuLW1haWwtdXNlcj5cclxuICAgICAgICA8d3Mtd2lkZ2V0LWJ0bi1jYWxsICpuZ0lmPVwidXNlci5waG9uZV9ObyAhPT0gJzAnXCIgW3dpZGdldERhdGFdPVwie1xyXG4gICAgICAgICAgICAgIHVzZXJOYW1lOlxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICBmaXJzdE5hbWU6IHVzZXIuZmlyc3RfbmFtZSxcclxuICAgICAgICAgICAgICAgICAgbGFzdE5hbWU6IHVzZXIubGFzdF9uYW1lLFxyXG4gICAgICAgICAgICAgICAgICBlbWFpbDogdXNlci5lbWFpbFxyXG4gICAgICAgICAgICAgICAgfSB8IHBpcGVOYW1lVHJhbnNmb3JtLFxyXG4gICAgICAgICAgICAgIHVzZXJQaG9uZTogdXNlci5waG9uZV9Ob1xyXG4gICAgICAgICAgICB9XCI+PC93cy13aWRnZXQtYnRuLWNhbGw+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIDwvZGl2PiAtLT5cclxuXHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9zZWN0aW9uPlxyXG4iXX0=