@sunbird-cb/utils 1.0.17 → 1.0.18-ang-9-12

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 (235) hide show
  1. package/bundles/sunbird-cb-utils.umd.js +2183 -2911
  2. package/bundles/sunbird-cb-utils.umd.js.map +1 -1
  3. package/esm2015/lib/components/image-crop/image-crop.component.js +38 -67
  4. package/esm2015/lib/components/image-crop/image-crop.module.js +52 -21
  5. package/esm2015/lib/constants/features.enum.js +555 -555
  6. package/esm2015/lib/constants/instances.enum.js +5 -5
  7. package/esm2015/lib/constants/misc.constants.js +2 -1
  8. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +34 -34
  9. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +17 -10
  10. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +20 -18
  11. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +17 -10
  12. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +18 -24
  13. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +17 -10
  14. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +17 -23
  15. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +17 -10
  16. package/esm2015/lib/directives/navigation/navigation.directive.js +22 -18
  17. package/esm2015/lib/directives/navigation/navigation.module.js +17 -10
  18. package/esm2015/lib/directives/permission/permission.directive.js +10 -7
  19. package/esm2015/lib/directives/permission/permission.module.js +17 -10
  20. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  21. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +33 -32
  22. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +29 -14
  23. package/esm2015/lib/helpers/logout/logout.component.js +18 -27
  24. package/esm2015/lib/helpers/logout/logout.module.js +25 -13
  25. package/esm2015/lib/models/contentRating.model.js +2 -12
  26. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +13 -8
  27. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +10 -12
  28. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +17 -10
  29. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +10 -6
  30. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +17 -10
  31. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +10 -17
  32. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +17 -10
  33. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +10 -6
  34. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +17 -10
  35. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +12 -8
  36. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +17 -10
  37. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +14 -10
  38. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +17 -10
  39. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +10 -6
  40. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +17 -10
  41. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +10 -6
  42. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +17 -10
  43. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +13 -9
  44. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +17 -10
  45. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +10 -12
  46. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +17 -10
  47. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +10 -9
  48. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +17 -10
  49. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +10 -6
  50. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +17 -10
  51. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +10 -6
  52. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +17 -10
  53. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +11 -13
  54. package/esm2015/lib/resolvers/explore-detail.resolver.js +19 -32
  55. package/esm2015/lib/resolvers/marketing-offering.resolve.js +14 -19
  56. package/esm2015/lib/resolvers/page.constant.js +1 -1
  57. package/esm2015/lib/resolvers/page.model.js +2 -47
  58. package/esm2015/lib/resolvers/page.resolver.js +22 -30
  59. package/esm2015/lib/resolvers/resolver.model.js +2 -6
  60. package/esm2015/lib/services/auth-keycloak.service.js +28 -46
  61. package/esm2015/lib/services/auth-microsoft.service.js +16 -28
  62. package/esm2015/lib/services/card-content.model.js +1 -22
  63. package/esm2015/lib/services/configurations.model.js +2 -498
  64. package/esm2015/lib/services/configurations.service.js +14 -52
  65. package/esm2015/lib/services/content-strip-multiple.model.js +2 -75
  66. package/esm2015/lib/services/event.model.js +1 -109
  67. package/esm2015/lib/services/event.service.js +14 -27
  68. package/esm2015/lib/services/logger.service.js +12 -22
  69. package/esm2015/lib/services/ms-office.model.js +2 -8
  70. package/esm2015/lib/services/subapplication-respond.service.js +15 -41
  71. package/esm2015/lib/services/telemetry.service.js +58 -73
  72. package/esm2015/lib/services/user-preference.model.js +2 -38
  73. package/esm2015/lib/services/user-preference.service.js +18 -26
  74. package/esm2015/lib/services/utility.service.js +17 -40
  75. package/esm2015/lib/services/value.service.js +12 -18
  76. package/esm2015/lib/services/widget-content.model.js +1 -236
  77. package/esm2015/lib/services/widget-content.service.js +22 -32
  78. package/esm2015/lib/services/widget-resolver.model.js +2 -57
  79. package/esm2015/lib/services/widget-search.model.js +2 -126
  80. package/esm2015/public-api.js +74 -68
  81. package/esm2015/sunbird-cb-utils.js +2 -8
  82. package/fesm2015/sunbird-cb-utils.js +1536 -2532
  83. package/fesm2015/sunbird-cb-utils.js.map +1 -1
  84. package/lib/components/image-crop/image-crop.component.d.ts +3 -0
  85. package/lib/components/image-crop/image-crop.module.d.ts +14 -0
  86. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +6 -3
  87. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +6 -0
  88. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +3 -0
  89. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +6 -0
  90. package/lib/directives/image-responsive/image-responsive.directive.d.ts +3 -0
  91. package/lib/directives/image-responsive/image-responsive.module.d.ts +6 -0
  92. package/lib/directives/in-view-port/in-view-port.directive.d.ts +3 -0
  93. package/lib/directives/in-view-port/in-view-port.module.d.ts +6 -0
  94. package/lib/directives/navigation/navigation.directive.d.ts +3 -0
  95. package/lib/directives/navigation/navigation.module.d.ts +6 -0
  96. package/lib/directives/permission/permission.directive.d.ts +3 -0
  97. package/lib/directives/permission/permission.module.d.ts +6 -0
  98. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +3 -0
  99. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +9 -0
  100. package/lib/helpers/logout/logout.component.d.ts +5 -2
  101. package/lib/helpers/logout/logout.module.d.ts +8 -0
  102. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +6 -0
  103. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +3 -0
  104. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +6 -0
  105. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +3 -0
  106. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +6 -0
  107. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +3 -0
  108. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +6 -0
  109. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +3 -0
  110. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +6 -0
  111. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +3 -0
  112. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +6 -0
  113. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +3 -0
  114. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +6 -0
  115. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +3 -0
  116. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +6 -0
  117. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +3 -0
  118. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +6 -0
  119. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +3 -0
  120. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +6 -0
  121. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +3 -0
  122. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +6 -0
  123. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +7 -4
  124. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +6 -0
  125. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +3 -0
  126. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +6 -0
  127. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +3 -0
  128. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +6 -0
  129. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +3 -0
  130. package/lib/resolvers/explore-detail.resolver.d.ts +3 -0
  131. package/lib/resolvers/marketing-offering.resolve.d.ts +3 -0
  132. package/lib/resolvers/page.model.d.ts +1 -1
  133. package/lib/resolvers/page.resolver.d.ts +3 -0
  134. package/lib/services/auth-keycloak.service.d.ts +12 -9
  135. package/lib/services/auth-microsoft.service.d.ts +5 -2
  136. package/lib/services/configurations.model.d.ts +25 -23
  137. package/lib/services/configurations.service.d.ts +7 -0
  138. package/lib/services/content-strip-multiple.model.d.ts +7 -6
  139. package/lib/services/event.model.d.ts +1 -1
  140. package/lib/services/event.service.d.ts +3 -0
  141. package/lib/services/logger.service.d.ts +7 -4
  142. package/lib/services/subapplication-respond.service.d.ts +3 -0
  143. package/lib/services/telemetry.service.d.ts +5 -2
  144. package/lib/services/user-preference.service.d.ts +3 -0
  145. package/lib/services/utility.service.d.ts +10 -7
  146. package/lib/services/value.service.d.ts +3 -0
  147. package/lib/services/widget-content.model.d.ts +20 -19
  148. package/lib/services/widget-content.service.d.ts +3 -0
  149. package/package.json +14 -18
  150. package/public-api.d.ts +6 -0
  151. package/sunbird-cb-utils.d.ts +1 -6
  152. package/bundles/sunbird-cb-utils.umd.min.js +0 -16
  153. package/bundles/sunbird-cb-utils.umd.min.js.map +0 -1
  154. package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
  155. package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
  156. package/esm5/lib/constants/features.enum.js +0 -555
  157. package/esm5/lib/constants/instances.enum.js +0 -5
  158. package/esm5/lib/constants/misc.constants.js +0 -1
  159. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
  160. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
  161. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
  162. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
  163. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
  164. package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
  165. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
  166. package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
  167. package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
  168. package/esm5/lib/directives/navigation/navigation.module.js +0 -19
  169. package/esm5/lib/directives/permission/permission.directive.js +0 -14
  170. package/esm5/lib/directives/permission/permission.module.js +0 -19
  171. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
  172. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
  173. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
  174. package/esm5/lib/helpers/logout/logout.component.js +0 -63
  175. package/esm5/lib/helpers/logout/logout.module.js +0 -22
  176. package/esm5/lib/models/contentRating.model.js +0 -12
  177. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
  178. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
  179. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
  180. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
  181. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
  182. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
  183. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
  184. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -64
  185. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
  186. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
  187. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
  188. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
  189. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
  190. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
  191. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
  192. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
  193. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
  194. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
  195. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
  196. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -35
  197. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
  198. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
  199. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
  200. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
  201. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
  202. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -21
  203. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
  204. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
  205. package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
  206. package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
  207. package/esm5/lib/resolvers/page.constant.js +0 -4
  208. package/esm5/lib/resolvers/page.model.js +0 -47
  209. package/esm5/lib/resolvers/page.resolver.js +0 -98
  210. package/esm5/lib/resolvers/resolver.model.js +0 -6
  211. package/esm5/lib/services/auth-keycloak.service.js +0 -316
  212. package/esm5/lib/services/auth-microsoft.service.js +0 -251
  213. package/esm5/lib/services/card-content.model.js +0 -32
  214. package/esm5/lib/services/configurations.model.js +0 -498
  215. package/esm5/lib/services/configurations.service.js +0 -105
  216. package/esm5/lib/services/content-strip-multiple.model.js +0 -75
  217. package/esm5/lib/services/event.model.js +0 -229
  218. package/esm5/lib/services/event.service.js +0 -216
  219. package/esm5/lib/services/logger.service.js +0 -73
  220. package/esm5/lib/services/ms-office.model.js +0 -8
  221. package/esm5/lib/services/subapplication-respond.service.js +0 -230
  222. package/esm5/lib/services/telemetry.service.js +0 -484
  223. package/esm5/lib/services/user-preference.model.js +0 -38
  224. package/esm5/lib/services/user-preference.service.js +0 -109
  225. package/esm5/lib/services/utility.service.js +0 -178
  226. package/esm5/lib/services/value.service.js +0 -33
  227. package/esm5/lib/services/widget-content.model.js +0 -342
  228. package/esm5/lib/services/widget-content.service.js +0 -214
  229. package/esm5/lib/services/widget-resolver.model.js +0 -57
  230. package/esm5/lib/services/widget-search.model.js +0 -126
  231. package/esm5/public-api.js +0 -68
  232. package/esm5/sunbird-cb-utils.js +0 -8
  233. package/fesm5/sunbird-cb-utils.js +0 -5586
  234. package/fesm5/sunbird-cb-utils.js.map +0 -1
  235. package/sunbird-cb-utils.metadata.json +0 -1
@@ -1,342 +0,0 @@
1
- export var NsContent;
2
- (function (NsContent) {
3
- function IContinueLearningData() { }
4
- NsContent.IContinueLearningData = IContinueLearningData;
5
- if (false) {
6
- IContinueLearningData.prototype.continueData;
7
- }
8
- function IContent() { }
9
- NsContent.IContent = IContent;
10
- if (false) {
11
- IContent.prototype.platform;
12
- IContent.prototype.addedOn;
13
- IContent.prototype.appIcon;
14
- IContent.prototype.artifactUrl;
15
- IContent.prototype.averageRating;
16
- IContent.prototype.body;
17
- IContent.prototype.certificationList;
18
- IContent.prototype.certificationStatus;
19
- IContent.prototype.certificationSubmissionDate;
20
- IContent.prototype.certificationUrl;
21
- IContent.prototype.children;
22
- IContent.prototype.childrenClassifiers;
23
- IContent.prototype.clients;
24
- IContent.prototype.collections;
25
- IContent.prototype.complexityLevel;
26
- IContent.prototype.contentId;
27
- IContent.prototype.contentType;
28
- IContent.prototype.contentUrlAtSource;
29
- IContent.prototype.creatorContacts;
30
- IContent.prototype.creatorDetails;
31
- IContent.prototype.creatorLogo;
32
- IContent.prototype.creatorPosterImage;
33
- IContent.prototype.creatorThumbnail;
34
- IContent.prototype.curatedTags;
35
- IContent.prototype.description;
36
- IContent.prototype.displayContentType;
37
- IContent.prototype.downloadUrl;
38
- IContent.prototype.duration;
39
- IContent.prototype.exclusiveContent;
40
- IContent.prototype.expiryDate;
41
- IContent.prototype.equivalentCertifications;
42
- IContent.prototype.hasAccess;
43
- IContent.prototype.hasAssessment;
44
- IContent.prototype.idealScreenSize;
45
- IContent.prototype.identifier;
46
- IContent.prototype.introductoryVideo;
47
- IContent.prototype.introductoryVideoIcon;
48
- IContent.prototype.learningTrack;
49
- IContent.prototype.isExternal;
50
- IContent.prototype.isIframeSupported;
51
- IContent.prototype.isInIntranet;
52
- IContent.prototype.keywords;
53
- IContent.prototype.kArtifacts;
54
- IContent.prototype.lastUpdatedOn;
55
- IContent.prototype.learningMode;
56
- IContent.prototype.learningObjective;
57
- IContent.prototype.labels;
58
- IContent.prototype.locale;
59
- IContent.prototype.hasTranslations;
60
- IContent.prototype.isTranslationOf;
61
- IContent.prototype.me_totalSessionsCount;
62
- IContent.prototype.mediaType;
63
- IContent.prototype.mimeType;
64
- IContent.prototype.minWingspanVersion;
65
- IContent.prototype.msArtifactDetails;
66
- IContent.prototype.mode;
67
- IContent.prototype.name;
68
- IContent.prototype.nextCertificationAttemptDate;
69
- IContent.prototype.playgroundInstructions;
70
- IContent.prototype.playgroundResources;
71
- IContent.prototype.postContents;
72
- IContent.prototype.posterImage;
73
- IContent.prototype.preContents;
74
- IContent.prototype.preRequisites;
75
- IContent.prototype.price;
76
- IContent.prototype.proctorUrl;
77
- IContent.prototype.progress;
78
- IContent.prototype.publishedOn;
79
- IContent.prototype.recentCertificationAttemptScore;
80
- IContent.prototype.recommendationReasons;
81
- IContent.prototype.region;
82
- IContent.prototype.registrationUrl;
83
- IContent.prototype.registrationInstructions;
84
- IContent.prototype.resourceCategory;
85
- IContent.prototype.resourceType;
86
- IContent.prototype.size;
87
- IContent.prototype.skills;
88
- IContent.prototype.softwareRequirements;
89
- IContent.prototype.sourceName;
90
- IContent.prototype.sourceShortName;
91
- IContent.prototype.sourceIconUrl;
92
- IContent.prototype.sourceUrl;
93
- IContent.prototype.ssoEnabled;
94
- IContent.prototype.status;
95
- IContent.prototype.subTitle;
96
- IContent.prototype.subTitles;
97
- IContent.prototype.studyMaterials;
98
- IContent.prototype.systemRequirements;
99
- IContent.prototype.tags;
100
- IContent.prototype.topics;
101
- IContent.prototype.totalLikes;
102
- IContent.prototype.totalRating;
103
- IContent.prototype.track;
104
- IContent.prototype.uniqueLearners;
105
- IContent.prototype.viewCount;
106
- IContent.prototype.reason;
107
- IContent.prototype.trainingLHubCount;
108
- IContent.prototype.verifiers;
109
- IContent.prototype.references;
110
- IContent.prototype.resumePage;
111
- }
112
- function IContentMinimal() { }
113
- NsContent.IContentMinimal = IContentMinimal;
114
- if (false) {
115
- IContentMinimal.prototype.appIcon;
116
- IContentMinimal.prototype.artifactUrl;
117
- IContentMinimal.prototype.complexityLevel;
118
- IContentMinimal.prototype.contentType;
119
- IContentMinimal.prototype.description;
120
- IContentMinimal.prototype.displayContentType;
121
- IContentMinimal.prototype.duration;
122
- IContentMinimal.prototype.identifier;
123
- IContentMinimal.prototype.hasAccess;
124
- IContentMinimal.prototype.isInIntranet;
125
- IContentMinimal.prototype.learningMode;
126
- IContentMinimal.prototype.mimeType;
127
- IContentMinimal.prototype.name;
128
- IContentMinimal.prototype.creatorDetails;
129
- IContentMinimal.prototype.creatorContacts;
130
- IContentMinimal.prototype.PosterImage;
131
- IContentMinimal.prototype.resourceType;
132
- IContentMinimal.prototype.totalRating;
133
- }
134
- function ICollectionHierarchyResponse() { }
135
- NsContent.ICollectionHierarchyResponse = ICollectionHierarchyResponse;
136
- if (false) {
137
- ICollectionHierarchyResponse.prototype.data;
138
- ICollectionHierarchyResponse.prototype.hasMore;
139
- ICollectionHierarchyResponse.prototype.totalContents;
140
- }
141
- function IRelatedContentMeta() { }
142
- NsContent.IRelatedContentMeta = IRelatedContentMeta;
143
- if (false) {
144
- IRelatedContentMeta.prototype.identifier;
145
- IRelatedContentMeta.prototype.name;
146
- }
147
- function IMarkAsCompleteProgress() { }
148
- if (false) {
149
- IMarkAsCompleteProgress.prototype.progressStatus;
150
- IMarkAsCompleteProgress.prototype.showMarkAsComplete;
151
- IMarkAsCompleteProgress.prototype.markAsCompleteReason;
152
- IMarkAsCompleteProgress.prototype.progressSupported;
153
- IMarkAsCompleteProgress.prototype.progress;
154
- }
155
- function ITag() { }
156
- if (false) {
157
- ITag.prototype.id;
158
- ITag.prototype.type;
159
- ITag.prototype.value;
160
- }
161
- function IMSArtifactDetails() { }
162
- if (false) {
163
- IMSArtifactDetails.prototype.channelId;
164
- IMSArtifactDetails.prototype.videoId;
165
- }
166
- function IClient() { }
167
- if (false) {
168
- IClient.prototype.displayName;
169
- IClient.prototype.id;
170
- IClient.prototype.name;
171
- }
172
- function ISubtitle() { }
173
- if (false) {
174
- ISubtitle.prototype.srclang;
175
- ISubtitle.prototype.label;
176
- ISubtitle.prototype.url;
177
- }
178
- function IPrePostContent() { }
179
- if (false) {
180
- IPrePostContent.prototype.identifier;
181
- IPrePostContent.prototype.name;
182
- }
183
- function IResourceDetail() { }
184
- if (false) {
185
- IResourceDetail.prototype.title;
186
- IResourceDetail.prototype.url;
187
- }
188
- function IResourcePlayground() { }
189
- if (false) {
190
- IResourcePlayground.prototype.appIcon;
191
- IResourcePlayground.prototype.artifactUrl;
192
- IResourcePlayground.prototype.identifier;
193
- IResourcePlayground.prototype.name;
194
- }
195
- function ITrack() { }
196
- if (false) {
197
- ITrack.prototype.id;
198
- ITrack.prototype.name;
199
- ITrack.prototype.status;
200
- ITrack.prototype.visibility;
201
- }
202
- function ISkill() { }
203
- if (false) {
204
- ISkill.prototype.id;
205
- ISkill.prototype.category;
206
- ISkill.prototype.skill;
207
- ISkill.prototype.name;
208
- }
209
- function ICreator() { }
210
- NsContent.ICreator = ICreator;
211
- if (false) {
212
- ICreator.prototype.id;
213
- ICreator.prototype.name;
214
- ICreator.prototype.email;
215
- }
216
- function IContentTopic() { }
217
- NsContent.IContentTopic = IContentTopic;
218
- if (false) {
219
- IContentTopic.prototype.identifier;
220
- IContentTopic.prototype.name;
221
- }
222
- function IContact() { }
223
- NsContent.IContact = IContact;
224
- if (false) {
225
- IContact.prototype.id;
226
- IContact.prototype.name;
227
- IContact.prototype.email;
228
- }
229
- function IViewerContinueLearningRequest() { }
230
- NsContent.IViewerContinueLearningRequest = IViewerContinueLearningRequest;
231
- if (false) {
232
- IViewerContinueLearningRequest.prototype.resourceId;
233
- IViewerContinueLearningRequest.prototype.contextPathId;
234
- IViewerContinueLearningRequest.prototype.data;
235
- IViewerContinueLearningRequest.prototype.dateAccessed;
236
- IViewerContinueLearningRequest.prototype.contextType;
237
- }
238
- var EContentTypes;
239
- (function (EContentTypes) {
240
- EContentTypes["PROGRAM"] = "Learning Path";
241
- EContentTypes["CHANNEL"] = "Channel";
242
- EContentTypes["COURSE"] = "Course";
243
- EContentTypes["KNOWLEDGE_ARTIFACT"] = "Knowledge Artifact";
244
- EContentTypes["KNOWLEDGE_BOARD"] = "Knowledge Board";
245
- EContentTypes["LEARNING_JOURNEY"] = "Learning Journeys";
246
- EContentTypes["MODULE"] = "Collection";
247
- EContentTypes["RESOURCE"] = "Resource";
248
- })(EContentTypes = NsContent.EContentTypes || (NsContent.EContentTypes = {}));
249
- var EMiscPlayerSupportedCollectionTypes;
250
- (function (EMiscPlayerSupportedCollectionTypes) {
251
- EMiscPlayerSupportedCollectionTypes["PLAYLIST"] = "Playlist";
252
- })(EMiscPlayerSupportedCollectionTypes = NsContent.EMiscPlayerSupportedCollectionTypes || (NsContent.EMiscPlayerSupportedCollectionTypes = {}));
253
- NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES = [
254
- EContentTypes.COURSE,
255
- EContentTypes.MODULE,
256
- EContentTypes.PROGRAM,
257
- EMiscPlayerSupportedCollectionTypes.PLAYLIST,
258
- ];
259
- NsContent.KB_SUPPORTED_CONTENT_TYPES = [
260
- EContentTypes.COURSE,
261
- EContentTypes.MODULE,
262
- EContentTypes.PROGRAM,
263
- EContentTypes.RESOURCE,
264
- ];
265
- NsContent.PLAYLIST_SUPPORTED_CONTENT_TYPES = [
266
- EContentTypes.COURSE,
267
- EContentTypes.MODULE,
268
- EContentTypes.PROGRAM,
269
- EContentTypes.RESOURCE,
270
- ];
271
- var EMimeTypes;
272
- (function (EMimeTypes) {
273
- EMimeTypes["COLLECTION"] = "application/vnd.ekstep.content-collection";
274
- EMimeTypes["HTML"] = "application/html";
275
- EMimeTypes["ILP_FP"] = "application/ilpfp";
276
- EMimeTypes["IAP"] = "application/iap-assessment";
277
- EMimeTypes["M4A"] = "audio/m4a";
278
- EMimeTypes["MP3"] = "audio/mpeg";
279
- EMimeTypes["MP4"] = "video/mp4";
280
- EMimeTypes["M3U8"] = "application/x-mpegURL";
281
- EMimeTypes["INTERACTION"] = "video/interactive";
282
- EMimeTypes["PDF"] = "application/pdf";
283
- EMimeTypes["QUIZ"] = "application/quiz";
284
- EMimeTypes["DRAG_DROP"] = "application/drag-drop";
285
- EMimeTypes["HTML_PICKER"] = "application/htmlpicker";
286
- EMimeTypes["WEB_MODULE"] = "application/web-module";
287
- EMimeTypes["WEB_MODULE_EXERCISE"] = "application/web-module-exercise";
288
- EMimeTypes["YOUTUBE"] = "video/x-youtube";
289
- EMimeTypes["HANDS_ON"] = "application/integrated-hands-on";
290
- EMimeTypes["RDBMS_HANDS_ON"] = "application/rdbms";
291
- EMimeTypes["CLASS_DIAGRAM"] = "application/class-diagram";
292
- EMimeTypes["CHANNEL"] = "application/channel";
293
- EMimeTypes["COLLECTION_RESOURCE"] = "resource/collection";
294
- EMimeTypes["CERTIFICATION"] = "application/certification";
295
- EMimeTypes["PLAYLIST"] = "application/playlist";
296
- EMimeTypes["UNKNOWN"] = "application/unknown";
297
- })(EMimeTypes = NsContent.EMimeTypes || (NsContent.EMimeTypes = {}));
298
- var EDisplayContentTypes;
299
- (function (EDisplayContentTypes) {
300
- EDisplayContentTypes["ASSESSMENT"] = "ASSESSMENT";
301
- EDisplayContentTypes["AUDIO"] = "AUDIO";
302
- EDisplayContentTypes["CERTIFICATION"] = "CERTIFICATION";
303
- EDisplayContentTypes["CHANNEL"] = "Channel";
304
- EDisplayContentTypes["CLASS_DIAGRAM"] = "CLASS_DIAGRAM";
305
- EDisplayContentTypes["COURSE"] = "COURSE";
306
- EDisplayContentTypes["DEFAULT"] = "DEFAULT";
307
- EDisplayContentTypes["DRAG_DROP"] = "DRAG_DROP";
308
- EDisplayContentTypes["EXTERNAL_CERTIFICATION"] = "EXTERNAL_CERTIFICATION";
309
- EDisplayContentTypes["EXTERNAL_COURSE"] = "EXTERNAL_COURSE";
310
- EDisplayContentTypes["GOALS"] = "GOALS";
311
- EDisplayContentTypes["HANDS_ON"] = "HANDS_ON";
312
- EDisplayContentTypes["IAP"] = "IAP";
313
- EDisplayContentTypes["INSTRUCTOR_LED"] = "INSTRUCTOR_LED";
314
- EDisplayContentTypes["INTERACTIVE_VIDEO"] = "INTERACTIVE_VIDEO";
315
- EDisplayContentTypes["KNOWLEDGE_ARTIFACT"] = "KNOWLEDGE_ARTIFACT";
316
- EDisplayContentTypes["MODULE"] = "MODULE";
317
- EDisplayContentTypes["PDF"] = "PDF";
318
- EDisplayContentTypes["PLAYLIST"] = "PLAYLIST";
319
- EDisplayContentTypes["PROGRAM"] = "PROGRAM";
320
- EDisplayContentTypes["QUIZ"] = "QUIZ";
321
- EDisplayContentTypes["RESOURCE"] = "RESOURCE";
322
- EDisplayContentTypes["RDBMS_HANDS_ON"] = "RDBMS_HANDS_ON";
323
- EDisplayContentTypes["VIDEO"] = "VIDEO";
324
- EDisplayContentTypes["WEB_MODULE"] = "WEB_MODULE";
325
- EDisplayContentTypes["WEB_PAGE"] = "WEB_PAGE";
326
- EDisplayContentTypes["YOUTUBE"] = "YOUTUBE";
327
- EDisplayContentTypes["KNOWLEDGE_BOARD"] = "Knowledge Board";
328
- EDisplayContentTypes["LEARNING_JOURNEY"] = "Learning Journeys";
329
- })(EDisplayContentTypes = NsContent.EDisplayContentTypes || (NsContent.EDisplayContentTypes = {}));
330
- var EFilterCategory;
331
- (function (EFilterCategory) {
332
- EFilterCategory["ALL"] = "ALL";
333
- EFilterCategory["LEARN"] = "LEARN";
334
- EFilterCategory["PRACTICE"] = "PRACTICE";
335
- EFilterCategory["ASSESS"] = "ASSESS";
336
- })(EFilterCategory = NsContent.EFilterCategory || (NsContent.EFilterCategory = {}));
337
- var ETagType;
338
- (function (ETagType) {
339
- ETagType["NEWLY_ADDED"] = "NEWLY ADDED";
340
- })(ETagType = NsContent.ETagType || (NsContent.ETagType = {}));
341
- })(NsContent || (NsContent = {}));
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi91dGlscy8iLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy93aWRnZXQtY29udGVudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLEtBQVcsU0FBUyxDQXNWekI7QUF0VkQsV0FBaUIsU0FBUztJQUN4QixvQ0FFQzs7O1FBREMsNkNBQWlCOztJQUduQix1QkF5SEM7OztRQXhIQyw0QkFBYztRQUNkLDJCQUFlO1FBQ2YsMkJBQWU7UUFDZiwrQkFBbUI7UUFDbkIsaUNBQW1CO1FBQ25CLHdCQUFhO1FBQ2IscUNBQXlDO1FBQ3pDLHVDQUEwQztRQUMxQywrQ0FBb0M7UUFDcEMsb0NBQXdCO1FBQ3hCLDRCQUFvQjtRQUNwQix1Q0FBOEI7UUFDOUIsMkJBQW1CO1FBQ25CLCtCQUF3QjtRQUN4QixtQ0FBdUI7UUFDdkIsNkJBQWlCO1FBQ2pCLCtCQUEwQjtRQUMxQixzQ0FBMEI7UUFDMUIsbUNBQTJCO1FBRTNCLGtDQUEwQjtRQUMxQiwrQkFBbUI7UUFDbkIsc0NBQTBCO1FBQzFCLG9DQUF3QjtRQUV4QiwrQkFBcUI7UUFDckIsK0JBQW1CO1FBQ25CLHNDQUF3QztRQUN4QywrQkFBb0I7UUFDcEIsNEJBQWdCO1FBQ2hCLG9DQUEwQjtRQUMxQiw4QkFBbUI7UUFDbkIsNENBQWdEO1FBQ2hELDZCQUFrQjtRQUNsQixpQ0FBc0I7UUFDdEIsbUNBQXdCO1FBQ3hCLDhCQUFrQjtRQUNsQixxQ0FBMEI7UUFDMUIseUNBQThCO1FBQzlCLGlDQUFzQjtRQUN0Qiw4QkFBbUI7UUFDbkIscUNBQXlDO1FBQ3pDLGdDQUFzQjtRQUN0Qiw0QkFBbUI7UUFDbkIsOEJBQWtDO1FBQ2xDLGlDQUFxQjtRQUNyQixnQ0FBNEI7UUFDNUIscUNBQXlCO1FBQ3pCLDBCQUFpQjtRQUNqQiwwQkFBZTtRQUNmLG1DQUEwRDtRQUMxRCxtQ0FBMEQ7UUFDMUQseUNBQTZCO1FB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RVg7SUFGRCxXQUFZLFFBQVE7UUFDbEIsdUNBQTJCLENBQUE7SUFDN0IsQ0FBQyxFQUZXLFFBQVEsR0FBUixrQkFBUSxLQUFSLGtCQUFRLFFBRW5CO0FBQ0gsQ0FBQyxFQXRWZ0IsU0FBUyxLQUFULFNBQVMsUUFzVnpCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IG5hbWVzcGFjZSBOc0NvbnRlbnQge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRpbnVlTGVhcm5pbmdEYXRhIGV4dGVuZHMgSUNvbnRlbnQge1xyXG4gICAgY29udGludWVEYXRhOiBhbnlcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnQge1xyXG4gICAgcGxhdGZvcm0/OiBhbnlcclxuICAgIGFkZGVkT246IHN0cmluZ1xyXG4gICAgYXBwSWNvbjogc3RyaW5nXHJcbiAgICBhcnRpZmFjdFVybDogc3RyaW5nXHJcbiAgICBhdmVyYWdlUmF0aW5nPzogYW55XHJcbiAgICBib2R5Pzogc3RyaW5nXHJcbiAgICBjZXJ0aWZpY2F0aW9uTGlzdD86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgY2VydGlmaWNhdGlvblN0YXR1cz86IFRDZXJ0aWZpY2F0aW9uU3RhdHVzXHJcbiAgICBjZXJ0aWZpY2F0aW9uU3VibWlzc2lvbkRhdGU/OiBzdHJpbmdcclxuICAgIGNlcnRpZmljYXRpb25Vcmw6IHN0cmluZ1xyXG4gICAgY2hpbGRyZW46IElDb250ZW50W11cclxuICAgIGNoaWxkcmVuQ2xhc3NpZmllcnM/OiBzdHJpbmdbXVxyXG4gICAgY2xpZW50cz86IElDbGllbnRbXVxyXG4gICAgY29sbGVjdGlvbnM/OiBJQ29udGVudFtdXHJcbiAgICBjb21wbGV4aXR5TGV2ZWw6IHN0cmluZ1xyXG4gICAgY29udGVudElkOiBzdHJpbmdcclxuICAgIGNvbnRlbnRUeXBlOiBFQ29udGVudFR5cGVzXHJcbiAgICBjb250ZW50VXJsQXRTb3VyY2U6IHN0cmluZ1xyXG4gICAgY3JlYXRvckNvbnRhY3RzOiBJQ3JlYXRvcltdXHJcblxyXG4gICAgY3JlYXRvckRldGFpbHM6IElDcmVhdG9yW11cclxuICAgIGNyZWF0b3JMb2dvOiBzdHJpbmdcclxuICAgIGNyZWF0b3JQb3N0ZXJJbWFnZTogc3RyaW5nXHJcbiAgICBjcmVhdG9yVGh1bWJuYWlsOiBzdHJpbmdcclxuXHJcbiAgICBjdXJhdGVkVGFnczogc3RyaW5nW11cclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIGRpc3BsYXlDb250ZW50VHlwZTogRURpc3BsYXlDb250ZW50VHlwZXMgLy8gRm9yIFVJXHJcbiAgICBkb3dubG9hZFVybD86IHN0cmluZ1xyXG4gICAgZHVyYXRpb246IG51bWJlclxyXG4gICAgZXhjbHVzaXZlQ29udGVudD86IGJvb2xlYW5cclxuICAgIGV4cGlyeURhdGU/OiBzdHJpbmdcclxuICAgIGVxdWl2YWxlbnRDZXJ0aWZpY2F0aW9ucz86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgaGFzQWNjZXNzOiBib29sZWFuXHJcbiAgICBoYXNBc3Nlc3NtZW50Pzogc3RyaW5nXHJcbiAgICBpZGVhbFNjcmVlblNpemU/OiBzdHJpbmdcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgaW50cm9kdWN0b3J5VmlkZW8/OiBzdHJpbmdcclxuICAgIGludHJvZHVjdG9yeVZpZGVvSWNvbj86IHN0cmluZ1xyXG4gICAgbGVhcm5pbmdUcmFjaz86IHN0cmluZ1xyXG4gICAgaXNFeHRlcm5hbDogYm9vbGVhblxyXG4gICAgaXNJZnJhbWVTdXBwb3J0ZWQ6ICdZZXMnIHwgJ05vJyB8ICdNYXliZSdcclxuICAgIGlzSW5JbnRyYW5ldD86IGJvb2xlYW5cclxuICAgIGtleXdvcmRzPzogc3RyaW5nW11cclxuICAgIGtBcnRpZmFjdHM/OiBJUmVsYXRlZENvbnRlbnRNZXRhW11cclxuICAgIGxhc3RVcGRhdGVkT246IHN0cmluZ1xyXG4gICAgbGVhcm5pbmdNb2RlPzogVExlYXJuaW5nTW9kZVxyXG4gICAgbGVhcm5pbmdPYmplY3RpdmU6IHN0cmluZ1xyXG4gICAgbGFiZWxzPzogc3RyaW5nW11cclxuICAgIGxvY2FsZT86IHN0cmluZ1xyXG4gICAgaGFzVHJhbnNsYXRpb25zPzogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGxvY2FsZTogc3RyaW5nIH1bXVxyXG4gICAgaXNUcmFuc2xhdGlvbk9mPzogeyBpZGVudGlmaWVyOiBzdHJpbmc7IGxvY2FsZTogc3RyaW5nIH1bXVxyXG4gICAgbWVfdG90YWxTZXNzaW9uc0NvdW50OiBudW1iZXJcclxuICAgIG1lZGlhVHlwZTogc3RyaW5nXHJcbiAgICBtaW1lVHlwZTogRU1pbWVUeXBlc1xyXG4gICAgbWluV2luZ3NwYW5WZXJzaW9uPzogc3RyaW5nXHJcbiAgICBtc0FydGlmYWN0RGV0YWlscz86IElNU0FydGlmYWN0RGV0YWlsc1xyXG4gICAgbW9kZT86IEVUYWdUeXBlXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIG5leHRDZXJ0aWZpY2F0aW9uQXR0ZW1wdERhdGU/OiBzdHJpbmdcclxuICAgIHBsYXlncm91bmRJbnN0cnVjdGlvbnM/OiBzdHJpbmdcclxuICAgIHBsYXlncm91bmRSZXNvdXJjZXM/OiBJUmVzb3VyY2VQbGF5Z3JvdW5kW11cclxuICAgIHBvc3RDb250ZW50cz86IElQcmVQb3N0Q29udGVudFtdXHJcbiAgICBwb3N0ZXJJbWFnZT86IHN0cmluZ1xyXG4gICAgcHJlQ29udGVudHM/OiBJUHJlUG9zdENvbnRlbnRbXVxyXG4gICAgcHJlUmVxdWlzaXRlczogc3RyaW5nXHJcbiAgICBwcmljZT86IHtcclxuICAgICAgY3VycmVuY3k6IHN0cmluZ1xyXG4gICAgICB2YWx1ZTogbnVtYmVyXHJcbiAgICB9XHJcbiAgICBwcm9jdG9yVXJsPzogc3RyaW5nXHJcbiAgICBwcm9ncmVzcz86IElNYXJrQXNDb21wbGV0ZVByb2dyZXNzXHJcbiAgICBwdWJsaXNoZWRPbjogc3RyaW5nXHJcbiAgICByZWNlbnRDZXJ0aWZpY2F0aW9uQXR0ZW1wdFNjb3JlPzogbnVtYmVyXHJcbiAgICByZWNvbW1lbmRhdGlvblJlYXNvbnM/OiBzdHJpbmdbXVxyXG4gICAgcmVnaW9uPzogc3RyaW5nW11cclxuICAgIHJlZ2lzdHJhdGlvblVybD86IHN0cmluZ1xyXG4gICAgcmVnaXN0cmF0aW9uSW5zdHJ1Y3Rpb25zPzogc3RyaW5nXHJcbiAgICByZXNvdXJjZUNhdGVnb3J5Pzogc3RyaW5nW11cclxuICAgIHJlc291cmNlVHlwZTogc3RyaW5nXHJcbiAgICBzaXplPzogbnVtYmVyXHJcbiAgICBza2lsbHM6IElTa2lsbFtdXHJcbiAgICBzb2Z0d2FyZVJlcXVpcmVtZW50cz86IElSZXNvdXJjZURldGFpbFtdXHJcbiAgICBzb3VyY2VOYW1lOiBzdHJpbmdcclxuICAgIHNvdXJjZVNob3J0TmFtZTogc3RyaW5nXHJcbiAgICBzb3VyY2VJY29uVXJsPzogc3RyaW5nXHJcbiAgICBzb3VyY2VVcmw/OiBzdHJpbmdcclxuICAgIHNzb0VuYWJsZWQ/OiBib29sZWFuXHJcbiAgICBzdGF0dXM6XHJcbiAgICB8ICdEcmFmdCdcclxuICAgIHwgJ0luUmV2aWV3J1xyXG4gICAgfCAnUXVhbGl0eVJldmlldydcclxuICAgIHwgJ1Jldmlld2VkJ1xyXG4gICAgfCAnUHJvY2Vzc2luZydcclxuICAgIHwgJ0xpdmUnXHJcbiAgICB8ICdEZWxldGVkJ1xyXG4gICAgfCAnTWFya2VkRm9yRGVsZXRpb24nXHJcbiAgICB8ICdFeHBpcmVkJ1xyXG4gICAgc3ViVGl0bGU/OiBzdHJpbmdcclxuICAgIHN1YlRpdGxlcz86IElTdWJ0aXRsZVtdXHJcbiAgICBzdHVkeU1hdGVyaWFscz86IElSZWxhdGVkQ29udGVudE1ldGFbXVxyXG4gICAgc3lzdGVtUmVxdWlyZW1lbnRzPzogc3RyaW5nW11cclxuICAgIHRhZ3M6IElUYWdbXVxyXG4gICAgdG9waWNzOiBJQ29udGVudFRvcGljW11cclxuICAgIHRvdGFsTGlrZXM/OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB9XHJcbiAgICB0b3RhbFJhdGluZz86IG51bWJlclxyXG4gICAgdHJhY2s6IElUcmFja1tdXHJcbiAgICB1bmlxdWVMZWFybmVycz86IG51bWJlclxyXG4gICAgdmlld0NvdW50PzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfVxyXG4gICAgcmVhc29uPzogc3RyaW5nIC8vIHJlcXVpcmVkIGZvciBLbm93bGVkZ2UgYm9hcmRcclxuICAgIHRyYWluaW5nTEh1YkNvdW50PzogbnVtYmVyIC8vIGZvciBMSHViIHRyYWluaW5nc1xyXG4gICAgdmVyaWZpZXJzPzoge1xyXG4gICAgICAvLyByZXF1aXJlZCBmb3IgRXh0ZXJuYWwgQ2VydGlmaWNhdGlvbnNcclxuICAgICAgbmFtZTogc3RyaW5nXHJcbiAgICAgIGVtYWlsOiBzdHJpbmdcclxuICAgICAgaWQ6IHN0cmluZ1xyXG4gICAgfVtdXHJcbiAgICByZWZlcmVuY2VzPzogeyB1cmw6IHN0cmluZzsgdGl0bGU6IHN0cmluZyB9W11cclxuICAgIHJlc3VtZVBhZ2U/OiBudW1iZXIgLy8gRm9yIHBsYXllciBXZWJNb2R1bGUgaW4gVUlcclxuICAgIFtrZXk6IHN0cmluZ106IGFueVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudE1pbmltYWwge1xyXG4gICAgYXBwSWNvbjogc3RyaW5nXHJcbiAgICBhcnRpZmFjdFVybDogc3RyaW5nXHJcbiAgICBjb21wbGV4aXR5TGV2ZWw6IHN0cmluZ1xyXG4gICAgY29udGVudFR5cGU6IEVDb250ZW50VHlwZXNcclxuICAgIGRlc2NyaXB0aW9uOiBzdHJpbmdcclxuICAgIGRpc3BsYXlDb250ZW50VHlwZT86IEVEaXNwbGF5Q29udGVudFR5cGVzXHJcbiAgICBkdXJhdGlvbjogbnVtYmVyXHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmdcclxuICAgIGhhc0FjY2Vzcz86IGJvb2xlYW5cclxuICAgIGlzSW5JbnRyYW5ldD86IGJvb2xlYW5cclxuICAgIGxlYXJuaW5nTW9kZT86IFRMZWFybmluZ01vZGVcclxuICAgIG1pbWVUeXBlOiBFTWltZVR5cGVzXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIGNyZWF0b3JEZXRhaWxzOiBJQ3JlYXRvcltdXHJcbiAgICBjcmVhdG9yQ29udGFjdHM6IElDcmVhdG9yW11cclxuICAgIFBvc3RlckltYWdlOiBzdHJpbmdcclxuICAgIHJlc291cmNlVHlwZT86IHN0cmluZ1xyXG4gICAgdG90YWxSYXRpbmc/OiBudW1iZXJcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbGxlY3Rpb25IaWVyYXJjaHlSZXNwb25zZSB7XHJcbiAgICBkYXRhOiBJQ29udGVudFxyXG4gICAgaGFzTW9yZTogYm9vbGVhblxyXG4gICAgdG90YWxDb250ZW50czogbnVtYmVyXHJcbiAgfVxyXG5cclxuICBleHBvcnQgaW50ZXJmYWNlIElSZWxhdGVkQ29udGVudE1ldGEge1xyXG4gICAgaWRlbnRpZmllcjogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICB9XHJcblxyXG4gIHR5cGUgVENlcnRpZmljYXRpb25TdGF0dXMgPSAnb25nb2luZycgfCAncGFzc2VkJyB8ICdjYW5BdHRlbXB0JyB8ICdjYW5ub3RBdHRlbXB0J1xyXG4gIGV4cG9ydCB0eXBlIFRMZWFybmluZ01vZGUgPSAnU2VsZi1QYWNlZCcgfCAnSW5zdHJ1Y3Rvci1MZWQnIHwgJ09wZW4nIHwgJ0Nsb3NlZCdcclxuXHJcbiAgaW50ZXJmYWNlIElNYXJrQXNDb21wbGV0ZVByb2dyZXNzIHtcclxuICAgIHByb2dyZXNzU3RhdHVzOiAnb3BlbicgfCAnc3RhcnRlZCcgfCAnY29tcGxldGVkJ1xyXG4gICAgc2hvd01hcmtBc0NvbXBsZXRlOiBib29sZWFuXHJcbiAgICBtYXJrQXNDb21wbGV0ZVJlYXNvbjogc3RyaW5nXHJcbiAgICBwcm9ncmVzc1N1cHBvcnRlZDogYm9vbGVhblxyXG4gICAgcHJvZ3Jlc3M6IG51bWJlciB8IG51bGxcclxuICB9XHJcblxyXG4gIGludGVyZmFjZSBJVGFnIHtcclxuICAgIGlkOiBzdHJpbmdcclxuICAgIHR5cGU6IHN0cmluZ1xyXG4gICAgdmFsdWU6IHN0cmluZ1xyXG4gIH1cclxuICBpbnRlcmZhY2UgSU1TQXJ0aWZhY3REZXRhaWxzIHtcclxuICAgIGNoYW5uZWxJZDogc3RyaW5nXHJcbiAgICB2aWRlb0lkOiBzdHJpbmdcclxuICB9XHJcbiAgaW50ZXJmYWNlIElDbGllbnQge1xyXG4gICAgZGlzcGxheU5hbWU6IHN0cmluZ1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJU3VidGl0bGUge1xyXG4gICAgc3JjbGFuZzogc3RyaW5nXHJcbiAgICBsYWJlbDogc3RyaW5nXHJcbiAgICB1cmw6IHN0cmluZ1xyXG4gIH1cclxuICBpbnRlcmZhY2UgSVByZVBvc3RDb250ZW50IHtcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJUmVzb3VyY2VEZXRhaWwge1xyXG4gICAgdGl0bGU/OiBzdHJpbmdcclxuICAgIHVybD86IHN0cmluZ1xyXG4gIH1cclxuICBpbnRlcmZhY2UgSVJlc291cmNlUGxheWdyb3VuZCB7XHJcbiAgICBhcHBJY29uOiBzdHJpbmdcclxuICAgIGFydGlmYWN0VXJsOiBzdHJpbmdcclxuICAgIGlkZW50aWZpZXI6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJVHJhY2sge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgICBzdGF0dXM6IHN0cmluZ1xyXG4gICAgdmlzaWJpbGl0eTogc3RyaW5nXHJcbiAgfVxyXG4gIGludGVyZmFjZSBJU2tpbGwge1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgY2F0ZWdvcnk6IHN0cmluZ1xyXG4gICAgc2tpbGw6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgfVxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNyZWF0b3Ige1xyXG4gICAgaWQ6IHN0cmluZ1xyXG4gICAgbmFtZTogc3RyaW5nXHJcbiAgICBlbWFpbDogc3RyaW5nXHJcbiAgfVxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnRUb3BpYyB7XHJcbiAgICBpZGVudGlmaWVyOiBzdHJpbmdcclxuICAgIG5hbWU6IHN0cmluZ1xyXG4gIH1cclxuICAvLyBBUEkgQmFzZWRcclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGFjdCB7XHJcbiAgICBpZDogc3RyaW5nXHJcbiAgICBuYW1lOiBzdHJpbmdcclxuICAgIGVtYWlsOiBzdHJpbmdcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSVZpZXdlckNvbnRpbnVlTGVhcm5pbmdSZXF1ZXN0IHtcclxuICAgIHJlc291cmNlSWQ6IHN0cmluZ1xyXG4gICAgY29udGV4dFBhdGhJZDogc3RyaW5nXHJcbiAgICBkYXRhOiBzdHJpbmdcclxuICAgIGRhdGVBY2Nlc3NlZDogbnVtYmVyXHJcbiAgICBjb250ZXh0VHlwZT86IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGVudW0gRUNvbnRlbnRUeXBlcyB7XHJcbiAgICBQUk9HUkFNID0gJ0xlYXJuaW5nIFBhdGgnLFxyXG4gICAgQ0hBTk5FTCA9ICdDaGFubmVsJyxcclxuICAgIENPVVJTRSA9ICdDb3Vyc2UnLFxyXG4gICAgS05PV0xFREdFX0FSVElGQUNUID0gJ0tub3dsZWRnZSBBcnRpZmFjdCcsXHJcbiAgICBLTk9XTEVER0VfQk9BUkQgPSAnS25vd2xlZGdlIEJvYXJkJyxcclxuICAgIExFQVJOSU5HX0pPVVJORVkgPSAnTGVhcm5pbmcgSm91cm5leXMnLFxyXG4gICAgTU9EVUxFID0gJ0NvbGxlY3Rpb24nLFxyXG4gICAgUkVTT1VSQ0UgPSAnUmVzb3VyY2UnLFxyXG4gIH1cclxuICBleHBvcnQgZW51bSBFTWlzY1BsYXllclN1cHBvcnRlZENvbGxlY3Rpb25UeXBlcyB7XHJcbiAgICBQTEFZTElTVCA9ICdQbGF5bGlzdCcsXHJcbiAgfVxyXG4gIGV4cG9ydCBjb25zdCBQTEFZRVJfU1VQUE9SVEVEX0NPTExFQ1RJT05fVFlQRVM6IHN0cmluZ1tdID0gW1xyXG4gICAgRUNvbnRlbnRUeXBlcy5DT1VSU0UsXHJcbiAgICBFQ29udGVudFR5cGVzLk1PRFVMRSxcclxuICAgIEVDb250ZW50VHlwZXMuUFJPR1JBTSxcclxuICAgIEVNaXNjUGxheWVyU3VwcG9ydGVkQ29sbGVjdGlvblR5cGVzLlBMQVlMSVNULFxyXG4gIF1cclxuICBleHBvcnQgY29uc3QgS0JfU1VQUE9SVEVEX0NPTlRFTlRfVFlQRVM6IEVDb250ZW50VHlwZXNbXSA9IFtcclxuICAgIEVDb250ZW50VHlwZXMuQ09VUlNFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5NT0RVTEUsXHJcbiAgICBFQ29udGVudFR5cGVzLlBST0dSQU0sXHJcbiAgICBFQ29udGVudFR5cGVzLlJFU09VUkNFLFxyXG4gIF1cclxuICBleHBvcnQgY29uc3QgUExBWUxJU1RfU1VQUE9SVEVEX0NPTlRFTlRfVFlQRVM6IEVDb250ZW50VHlwZXNbXSA9IFtcclxuICAgIEVDb250ZW50VHlwZXMuQ09VUlNFLFxyXG4gICAgRUNvbnRlbnRUeXBlcy5NT0RVTEUsXHJcbiAgICBFQ29udGVudFR5cGVzLlBST0dSQU0sXHJcbiAgICBFQ29udGVudFR5cGVzLlJFU09VUkNFLFxyXG4gIF1cclxuICBleHBvcnQgZW51bSBFTWltZVR5cGVzIHtcclxuICAgIENPTExFQ1RJT04gPSAnYXBwbGljYXRpb24vdm5kLmVrc3RlcC5jb250ZW50LWNvbGxlY3Rpb24nLFxyXG4gICAgSFRNTCA9ICdhcHBsaWNhdGlvbi9odG1sJyxcclxuICAgIElMUF9GUCA9ICdhcHBsaWNhdGlvbi9pbHBmcCcsXHJcbiAgICBJQVAgPSAnYXBwbGljYXRpb24vaWFwLWFzc2Vzc21lbnQnLFxyXG4gICAgTTRBID0gJ2F1ZGlvL200YScsXHJcbiAgICBNUDMgPSAnYXVkaW8vbXBlZycsXHJcbiAgICBNUDQgPSAndmlkZW8vbXA0JyxcclxuICAgIE0zVTggPSAnYXBwbGljYXRpb24veC1tcGVnVVJMJyxcclxuICAgIElOVEVSQUNUSU9OID0gJ3ZpZGVvL2ludGVyYWN0aXZlJyxcclxuICAgIFBERiA9ICdhcHBsaWNhdGlvbi9wZGYnLFxyXG4gICAgUVVJWiA9ICdhcHBsaWNhdGlvbi9xdWl6JyxcclxuICAgIERSQUdfRFJPUCA9ICdhcHBsaWNhdGlvbi9kcmFnLWRyb3AnLFxyXG4gICAgSFRNTF9QSUNLRVIgPSAnYXBwbGljYXRpb24vaHRtbHBpY2tlcicsXHJcbiAgICBXRUJfTU9EVUxFID0gJ2FwcGxpY2F0aW9uL3dlYi1tb2R1bGUnLFxyXG4gICAgV0VCX01PRFVMRV9FWEVSQ0lTRSA9ICdhcHBsaWNhdGlvbi93ZWItbW9kdWxlLWV4ZXJjaXNlJyxcclxuICAgIFlPVVRVQkUgPSAndmlkZW8veC15b3V0dWJlJyxcclxuICAgIEhBTkRTX09OID0gJ2FwcGxpY2F0aW9uL2ludGVncmF0ZWQtaGFuZHMtb24nLFxyXG4gICAgUkRCTVNfSEFORFNfT04gPSAnYXBwbGljYXRpb24vcmRibXMnLFxyXG4gICAgQ0xBU1NfRElBR1JBTSA9ICdhcHBsaWNhdGlvbi9jbGFzcy1kaWFncmFtJyxcclxuICAgIENIQU5ORUwgPSAnYXBwbGljYXRpb24vY2hhbm5lbCcsXHJcbiAgICBDT0xMRUNUSU9OX1JFU09VUkNFID0gJ3Jlc291cmNlL2NvbGxlY3Rpb24nLFxyXG4gICAgLy8gQWRkZWQgb24gVUkgT25seVxyXG4gICAgQ0VSVElGSUNBVElPTiA9ICdhcHBsaWNhdGlvbi9jZXJ0aWZpY2F0aW9uJyxcclxuICAgIFBMQVlMSVNUID0gJ2FwcGxpY2F0aW9uL3BsYXlsaXN0JyxcclxuICAgIFVOS05PV04gPSAnYXBwbGljYXRpb24vdW5rbm93bicsXHJcbiAgfVxyXG4gIGV4cG9ydCBlbnVtIEVEaXNwbGF5Q29udGVudFR5cGVzIHtcclxuICAgIEFTU0VTU01FTlQgPSAnQVNTRVNTTUVOVCcsXHJcbiAgICBBVURJTyA9ICdBVURJTycsXHJcbiAgICBDRVJUSUZJQ0FUSU9OID0gJ0NFUlRJRklDQVRJT04nLFxyXG4gICAgQ0hBTk5FTCA9ICdDaGFubmVsJyxcclxuICAgIENMQVNTX0RJQUdSQU0gPSAnQ0xBU1NfRElBR1JBTScsXHJcbiAgICBDT1VSU0UgPSAnQ09VUlNFJyxcclxuICAgIERFRkFVTFQgPSAnREVGQVVMVCcsXHJcbiAgICBEUkFHX0RST1AgPSAnRFJBR19EUk9QJyxcclxuICAgIEVYVEVSTkFMX0NFUlRJRklDQVRJT04gPSAnRVhURVJOQUxfQ0VSVElGSUNBVElPTicsXHJcbiAgICBFWFRFUk5BTF9DT1VSU0UgPSAnRVhURVJOQUxfQ09VUlNFJyxcclxuICAgIEdPQUxTID0gJ0dPQUxTJyxcclxuICAgIEhBTkRTX09OID0gJ0hBTkRTX09OJyxcclxuICAgIElBUCA9ICdJQVAnLFxyXG4gICAgSU5TVFJVQ1RPUl9MRUQgPSAnSU5TVFJVQ1RPUl9MRUQnLFxyXG4gICAgSU5URVJBQ1RJVkVfVklERU8gPSAnSU5URVJBQ1RJVkVfVklERU8nLFxyXG4gICAgS05PV0xFREdFX0FSVElGQUNUID0gJ0tOT1dMRURHRV9BUlRJRkFDVCcsXHJcbiAgICBNT0RVTEUgPSAnTU9EVUxFJyxcclxuICAgIFBERiA9ICdQREYnLFxyXG4gICAgUExBWUxJU1QgPSAnUExBWUxJU1QnLFxyXG4gICAgUFJPR1JBTSA9ICdQUk9HUkFNJyxcclxuICAgIFFVSVogPSAnUVVJWicsXHJcbiAgICBSRVNPVVJDRSA9ICdSRVNPVVJDRScsXHJcbiAgICBSREJNU19IQU5EU19PTiA9ICdSREJNU19IQU5EU19PTicsXHJcbiAgICBWSURFTyA9ICdWSURFTycsXHJcbiAgICBXRUJfTU9EVUxFID0gJ1dFQl9NT0RVTEUnLFxyXG4gICAgV0VCX1BBR0UgPSAnV0VCX1BBR0UnLFxyXG4gICAgWU9VVFVCRSA9ICdZT1VUVUJFJyxcclxuICAgIEtOT1dMRURHRV9CT0FSRCA9ICdLbm93bGVkZ2UgQm9hcmQnLFxyXG4gICAgTEVBUk5JTkdfSk9VUk5FWSA9ICdMZWFybmluZyBKb3VybmV5cycsXHJcbiAgfVxyXG4gIC8vIGZvciBVSVxyXG4gIGV4cG9ydCBlbnVtIEVGaWx0ZXJDYXRlZ29yeSB7XHJcbiAgICBBTEwgPSAnQUxMJyxcclxuICAgIExFQVJOID0gJ0xFQVJOJyxcclxuICAgIFBSQUNUSUNFID0gJ1BSQUNUSUNFJyxcclxuICAgIEFTU0VTUyA9ICdBU1NFU1MnLFxyXG4gIH1cclxuXHJcbiAgLy8gZm9yIFVJXHJcbiAgZXhwb3J0IGVudW0gRVRhZ1R5cGUge1xyXG4gICAgTkVXTFlfQURERUQgPSAnTkVXTFkgQURERUQnLFxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,214 +0,0 @@
1
- import * as tslib_1 from "tslib";
2
- import { HttpClient } from '@angular/common/http';
3
- import { Injectable } from '@angular/core';
4
- import { of } from 'rxjs';
5
- import { catchError, retry } from 'rxjs/operators';
6
- import { ConfigurationsService } from './configurations.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/common/http";
9
- import * as i2 from "./configurations.service";
10
- var PROTECTED_SLAG_V8 = '/apis/protected/v8';
11
- var ɵ0 = function (type, id) {
12
- return PROTECTED_SLAG_V8 + "/content/collection/" + type + "/" + id;
13
- }, ɵ1 = function (contentId) { return PROTECTED_SLAG_V8 + "/user/progress/" + contentId; };
14
- var API_END_POINTS = {
15
- CONTENT: PROTECTED_SLAG_V8 + "/content",
16
- AUTHORING_CONTENT: "/apis/authApi/hierarchy",
17
- CONTENT_LIKES: PROTECTED_SLAG_V8 + "/content/likeCount",
18
- SET_S3_COOKIE: PROTECTED_SLAG_V8 + "/content/setCookie",
19
- SET_S3_IMAGE_COOKIE: PROTECTED_SLAG_V8 + "/content/setImageCookie",
20
- FETCH_MANIFEST: PROTECTED_SLAG_V8 + "/content/getWebModuleManifest",
21
- FETCH_WEB_MODULE_FILES: PROTECTED_SLAG_V8 + "/content/getWebModuleFiles",
22
- MULTIPLE_CONTENT: PROTECTED_SLAG_V8 + "/content/multiple",
23
- CONTENT_SEARCH_V5: PROTECTED_SLAG_V8 + "/content/searchV5",
24
- CONTENT_SEARCH_V6: PROTECTED_SLAG_V8 + "/content/searchV6",
25
- CONTENT_SEARCH_REGION_RECOMMENDATION: PROTECTED_SLAG_V8 + "/content/searchRegionRecommendation",
26
- CONTENT_HISTORY: PROTECTED_SLAG_V8 + "/user/history",
27
- USER_CONTINUE_LEARNING: PROTECTED_SLAG_V8 + "/user/history/continue",
28
- CONTENT_RATING: PROTECTED_SLAG_V8 + "/user/rating",
29
- CONTENT_RATING_V2: PROTECTED_SLAG_V8 + "/user/rating/content/average-ratingInfo",
30
- COLLECTION_HIERARCHY: (ɵ0),
31
- REGISTRATION_STATUS: PROTECTED_SLAG_V8 + "/admin/userRegistration/checkUserRegistrationContent",
32
- MARK_AS_COMPLETE_META: (ɵ1),
33
- };
34
- var WidgetContentService = (function () {
35
- function WidgetContentService(http, configSvc) {
36
- this.http = http;
37
- this.configSvc = configSvc;
38
- }
39
- WidgetContentService.prototype.fetchMarkAsCompleteMeta = function (identifier) {
40
- var url = API_END_POINTS.MARK_AS_COMPLETE_META(identifier);
41
- return this.http.get(url).toPromise();
42
- };
43
- WidgetContentService.prototype.fetchContent = function (contentId, hierarchyType, additionalFields) {
44
- if (hierarchyType === void 0) { hierarchyType = 'detail'; }
45
- if (additionalFields === void 0) { additionalFields = []; }
46
- var url = API_END_POINTS.CONTENT + "/" + contentId + "?hierarchyType=" + hierarchyType;
47
- return this.http
48
- .post(url, { additionalFields: additionalFields })
49
- .pipe(retry(1));
50
- };
51
- WidgetContentService.prototype.fetchAuthoringContent = function (contentId) {
52
- var url = API_END_POINTS.AUTHORING_CONTENT + "/" + contentId;
53
- return this.http.get(url).pipe(retry(1));
54
- };
55
- WidgetContentService.prototype.fetchMultipleContent = function (ids) {
56
- return this.http.get(API_END_POINTS.MULTIPLE_CONTENT + "/" + ids.join(','));
57
- };
58
- WidgetContentService.prototype.fetchCollectionHierarchy = function (type, id, pageNumber, pageSize) {
59
- if (pageNumber === void 0) { pageNumber = 0; }
60
- if (pageSize === void 0) { pageSize = 1; }
61
- return this.http.get(API_END_POINTS.COLLECTION_HIERARCHY(type, id) + "?pageNumber=" + pageNumber + "&pageSize=" + pageSize);
62
- };
63
- WidgetContentService.prototype.fetchContentLikes = function (contentIds) {
64
- return this.http
65
- .post(API_END_POINTS.CONTENT_LIKES, contentIds)
66
- .toPromise();
67
- };
68
- WidgetContentService.prototype.fetchContentRatings = function (contentIds) {
69
- return this.http
70
- .post(API_END_POINTS.CONTENT_RATING + "/rating", contentIds)
71
- .toPromise();
72
- };
73
- WidgetContentService.prototype.fetchContentRatingsV2 = function (contentId) {
74
- return this.http
75
- .get(API_END_POINTS.CONTENT_RATING_V2 + "/" + contentId);
76
- };
77
- WidgetContentService.prototype.fetchContentHistory = function (contentId) {
78
- return this.http.get(API_END_POINTS.CONTENT_HISTORY + "/" + contentId);
79
- };
80
- WidgetContentService.prototype.continueLearning = function (id, collectionId, collectionType) {
81
- return tslib_1.__awaiter(this, void 0, void 0, function () {
82
- var _this = this;
83
- return tslib_1.__generator(this, function (_a) {
84
- return [2, new Promise((function (resolve) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
85
- var reqBody, reqBody;
86
- return tslib_1.__generator(this, function (_a) {
87
- switch (_a.label) {
88
- case 0:
89
- if (!(collectionType &&
90
- collectionType.toLowerCase() === 'playlist')) return [3, 2];
91
- reqBody = {
92
- contextPathId: collectionId ? collectionId : id,
93
- resourceId: id,
94
- data: JSON.stringify({
95
- timestamp: Date.now(),
96
- contextFullPath: [collectionId, id],
97
- }),
98
- dateAccessed: Date.now(),
99
- contextType: 'playlist',
100
- };
101
- return [4, this.saveContinueLearning(reqBody).toPromise().catch().finally((function () {
102
- resolve(true);
103
- }))];
104
- case 1:
105
- _a.sent();
106
- return [3, 4];
107
- case 2:
108
- reqBody = {
109
- contextPathId: collectionId ? collectionId : id,
110
- resourceId: id,
111
- data: JSON.stringify({ timestamp: Date.now() }),
112
- dateAccessed: Date.now(),
113
- };
114
- return [4, this.saveContinueLearning(reqBody).toPromise().catch().finally((function () {
115
- resolve(true);
116
- }))];
117
- case 3:
118
- _a.sent();
119
- _a.label = 4;
120
- case 4: return [2];
121
- }
122
- });
123
- }); }))];
124
- });
125
- });
126
- };
127
- WidgetContentService.prototype.saveContinueLearning = function (content) {
128
- var url = API_END_POINTS.USER_CONTINUE_LEARNING;
129
- return this.http.post(url, content);
130
- };
131
- WidgetContentService.prototype.setS3Cookie = function (contentId) {
132
- return this.http
133
- .post(API_END_POINTS.SET_S3_COOKIE, { contentId: contentId })
134
- .pipe(catchError((function (_err) { return of(true); })));
135
- };
136
- WidgetContentService.prototype.setS3ImageCookie = function () {
137
- return this.http.post(API_END_POINTS.SET_S3_IMAGE_COOKIE, {}).pipe(catchError((function (_err) { return of(true); })));
138
- };
139
- WidgetContentService.prototype.fetchManifest = function (url) {
140
- return this.http.post(API_END_POINTS.FETCH_MANIFEST, { url: url });
141
- };
142
- WidgetContentService.prototype.fetchWebModuleContent = function (url) {
143
- return this.http.get(API_END_POINTS.FETCH_WEB_MODULE_FILES + "?url=" + encodeURIComponent(url));
144
- };
145
- WidgetContentService.prototype.search = function (req) {
146
- req.query = req.query || '';
147
- return this.http.post(API_END_POINTS.CONTENT_SEARCH_V5, {
148
- request: req,
149
- });
150
- };
151
- WidgetContentService.prototype.searchRegionRecommendation = function (req) {
152
- req.query = req.query || '';
153
- req.preLabelValue =
154
- (req.preLabelValue || '') +
155
- ((this.configSvc.userProfile && this.configSvc.userProfile.country) || '');
156
- req.filters = tslib_1.__assign({}, req.filters, { labels: [req.preLabelValue || ''] });
157
- return this.http.post(API_END_POINTS.CONTENT_SEARCH_REGION_RECOMMENDATION, { request: req });
158
- };
159
- WidgetContentService.prototype.searchV6 = function (req) {
160
- req.query = req.query || '';
161
- return this.http.post(API_END_POINTS.CONTENT_SEARCH_V6, req);
162
- };
163
- WidgetContentService.prototype.fetchContentRating = function (contentId) {
164
- return this.http.get(API_END_POINTS.CONTENT_RATING + "/" + contentId);
165
- };
166
- WidgetContentService.prototype.deleteContentRating = function (contentId) {
167
- return this.http.delete(API_END_POINTS.CONTENT_RATING + "/" + contentId);
168
- };
169
- WidgetContentService.prototype.addContentRating = function (contentId, data) {
170
- return this.http.post(API_END_POINTS.CONTENT_RATING + "/" + contentId, data);
171
- };
172
- WidgetContentService.prototype.getFirstChildInHierarchy = function (content) {
173
- if (!(content.children || []).length) {
174
- return content;
175
- }
176
- if (content.contentType === 'Learning Path' &&
177
- !(content.artifactUrl && content.artifactUrl.length)) {
178
- var child = content.children[0];
179
- return this.getFirstChildInHierarchy(child);
180
- }
181
- if (content.contentType === 'Resource' ||
182
- content.contentType === 'Knowledge Artifact' ||
183
- content.contentType === 'Learning Path') {
184
- return content;
185
- }
186
- var firstChild = content.children[0];
187
- var resultContent = this.getFirstChildInHierarchy(firstChild);
188
- return resultContent;
189
- };
190
- WidgetContentService.prototype.getRegistrationStatus = function (source) {
191
- return this.http.get(API_END_POINTS.REGISTRATION_STATUS + "/" + source).toPromise();
192
- };
193
- WidgetContentService.prototype.fetchConfig = function (url) {
194
- return this.http.get(url);
195
- };
196
- WidgetContentService.decorators = [
197
- { type: Injectable, args: [{
198
- providedIn: 'root',
199
- },] }
200
- ];
201
- WidgetContentService.ctorParameters = function () { return [
202
- { type: HttpClient },
203
- { type: ConfigurationsService }
204
- ]; };
205
- /** @nocollapse */ WidgetContentService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function WidgetContentService_Factory() { return new WidgetContentService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.ConfigurationsService)); }, token: WidgetContentService, providedIn: "root" });
206
- return WidgetContentService;
207
- }());
208
- export { WidgetContentService };
209
- if (false) {
210
- WidgetContentService.prototype.http;
211
- WidgetContentService.prototype.configSvc;
212
- }
213
- export { ɵ0, ɵ1 };
214
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LWNvbnRlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL3dpZGdldC1jb250ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzFDLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUE7QUFDckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztJQU0xRCxpQkFBaUIsR0FBRyxvQkFBb0I7U0FrQnRCLFVBQUMsSUFBWSxFQUFFLEVBQVU7SUFDN0MsT0FBRyxpQkFBaUIsNEJBQXVCLElBQUksU0FBSSxFQUFJO0FBQXZELENBQXVELE9BRWxDLFVBQUMsU0FBaUIsSUFBSyxPQUFHLGlCQUFpQix1QkFBa0IsU0FBVyxFQUFqRCxDQUFpRDtJQW5CM0YsY0FBYyxHQUFHO0lBQ3JCLE9BQU8sRUFBSyxpQkFBaUIsYUFBVTtJQUN2QyxpQkFBaUIsRUFBRSx5QkFBeUI7SUFDNUMsYUFBYSxFQUFLLGlCQUFpQix1QkFBb0I7SUFDdkQsYUFBYSxFQUFLLGlCQUFpQix1QkFBb0I7SUFDdkQsbUJBQW1CLEVBQUssaUJBQWlCLDRCQUF5QjtJQUNsRSxjQUFjLEVBQUssaUJBQWlCLGtDQUErQjtJQUNuRSxzQkFBc0IsRUFBSyxpQkFBaUIsK0JBQTRCO0lBQ3hFLGdCQUFnQixFQUFLLGlCQUFpQixzQkFBbUI7SUFDekQsaUJBQWlCLEVBQUssaUJBQWlCLHNCQUFtQjtJQUMxRCxpQkFBaUIsRUFBSyxpQkFBaUIsc0JBQW1CO0lBQzFELG9DQUFvQyxFQUFLLGlCQUFpQix3Q0FB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QVUsQ0FBQztRQUMvRCxPQUFPLGFBQWEsQ0FBQTtJQUN0QixDQUFDO0lBRUQsb0RBQXFCLEdBQXJCLFVBQXNCLE1BQWM7UUFDbEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBUyxjQUFjLENBQUMsbUJBQW1CLFNBQUksTUFBUSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDMUYsQ0FBQztJQUVELDBDQUFXLEdBQVgsVUFBWSxHQUFXO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQU0sR0FBRyxDQUFDLENBQUE7SUFDaEMsQ0FBQzs7Z0JBekxGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OztnQkFyQ1EsVUFBVTtnQkFLVixxQkFBcUI7OzsrQkFMOUI7Q0E2TkMsQUExTEQsSUEwTEM7U0F2TFksb0JBQW9COztJQUU3QixvQ0FBd0I7SUFDeEIseUNBQXdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJ1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJ1xyXG5pbXBvcnQgeyBjYXRjaEVycm9yLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xyXG5pbXBvcnQgeyBJQ29udGVudFJhdGluZyB9IGZyb20gJy4uL21vZGVscy9jb250ZW50UmF0aW5nLm1vZGVsJ1xyXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uc1NlcnZpY2UgfSBmcm9tICcuL2NvbmZpZ3VyYXRpb25zLnNlcnZpY2UnXHJcbmltcG9ydCB7IE5zQ29udGVudFN0cmlwTXVsdGlwbGUgfSBmcm9tICcuL2NvbnRlbnQtc3RyaXAtbXVsdGlwbGUubW9kZWwnXHJcbmltcG9ydCB7IE5zQ29udGVudCB9IGZyb20gJy4vd2lkZ2V0LWNvbnRlbnQubW9kZWwnXHJcbmltcG9ydCB7IE5TU2VhcmNoIH0gZnJvbSAnLi93aWRnZXQtc2VhcmNoLm1vZGVsJ1xyXG5cclxuLy8gVE9ETzogbW92ZSB0aGlzIGluIHNvbWUgY29tbW9uIHBsYWNlXHJcbmNvbnN0IFBST1RFQ1RFRF9TTEFHX1Y4ID0gJy9hcGlzL3Byb3RlY3RlZC92OCdcclxuXHJcbmNvbnN0IEFQSV9FTkRfUE9JTlRTID0ge1xyXG4gIENPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50YCxcclxuICBBVVRIT1JJTkdfQ09OVEVOVDogYC9hcGlzL2F1dGhBcGkvaGllcmFyY2h5YCxcclxuICBDT05URU5UX0xJS0VTOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9saWtlQ291bnRgLFxyXG4gIFNFVF9TM19DT09LSUU6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L3NldENvb2tpZWAsXHJcbiAgU0VUX1MzX0lNQUdFX0NPT0tJRTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2V0SW1hZ2VDb29raWVgLFxyXG4gIEZFVENIX01BTklGRVNUOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9nZXRXZWJNb2R1bGVNYW5pZmVzdGAsXHJcbiAgRkVUQ0hfV0VCX01PRFVMRV9GSUxFUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvZ2V0V2ViTW9kdWxlRmlsZXNgLFxyXG4gIE1VTFRJUExFX0NPTlRFTlQ6IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L211bHRpcGxlYCxcclxuICBDT05URU5UX1NFQVJDSF9WNTogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2NvbnRlbnQvc2VhcmNoVjVgLFxyXG4gIENPTlRFTlRfU0VBUkNIX1Y2OiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hWNmAsXHJcbiAgQ09OVEVOVF9TRUFSQ0hfUkVHSU9OX1JFQ09NTUVOREFUSU9OOiBgJHtQUk9URUNURURfU0xBR19WOH0vY29udGVudC9zZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbmAsXHJcbiAgQ09OVEVOVF9ISVNUT1JZOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5YCxcclxuICBVU0VSX0NPTlRJTlVFX0xFQVJOSU5HOiBgJHtQUk9URUNURURfU0xBR19WOH0vdXNlci9oaXN0b3J5L2NvbnRpbnVlYCxcclxuICBDT05URU5UX1JBVElORzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nYCxcclxuICBDT05URU5UX1JBVElOR19WMjogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L3VzZXIvcmF0aW5nL2NvbnRlbnQvYXZlcmFnZS1yYXRpbmdJbmZvYCxcclxuICBDT0xMRUNUSU9OX0hJRVJBUkNIWTogKHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZykgPT5cclxuICAgIGAke1BST1RFQ1RFRF9TTEFHX1Y4fS9jb250ZW50L2NvbGxlY3Rpb24vJHt0eXBlfS8ke2lkfWAsXHJcbiAgUkVHSVNUUkFUSU9OX1NUQVRVUzogYCR7UFJPVEVDVEVEX1NMQUdfVjh9L2FkbWluL3VzZXJSZWdpc3RyYXRpb24vY2hlY2tVc2VyUmVnaXN0cmF0aW9uQ29udGVudGAsXHJcbiAgTUFSS19BU19DT01QTEVURV9NRVRBOiAoY29udGVudElkOiBzdHJpbmcpID0+IGAke1BST1RFQ1RFRF9TTEFHX1Y4fS91c2VyL3Byb2dyZXNzLyR7Y29udGVudElkfWAsXHJcbn1cclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXaWRnZXRDb250ZW50U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXHJcbiAgICBwcml2YXRlIGNvbmZpZ1N2YzogQ29uZmlndXJhdGlvbnNTZXJ2aWNlXHJcbiAgKSB7IH1cclxuXHJcbiAgZmV0Y2hNYXJrQXNDb21wbGV0ZU1ldGEoaWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgIGNvbnN0IHVybCA9IEFQSV9FTkRfUE9JTlRTLk1BUktfQVNfQ09NUExFVEVfTUVUQShpZGVudGlmaWVyKVxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQodXJsKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb250ZW50KFxyXG4gICAgY29udGVudElkOiBzdHJpbmcsXHJcbiAgICBoaWVyYXJjaHlUeXBlOiAnYWxsJyB8ICdtaW5pbWFsJyB8ICdkZXRhaWwnID0gJ2RldGFpbCcsXHJcbiAgICBhZGRpdGlvbmFsRmllbGRzOiBzdHJpbmdbXSA9IFtdLFxyXG4gICk6IE9ic2VydmFibGU8TnNDb250ZW50LklDb250ZW50PiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UfS8ke2NvbnRlbnRJZH0/aGllcmFyY2h5VHlwZT0ke2hpZXJhcmNoeVR5cGV9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxOc0NvbnRlbnQuSUNvbnRlbnQ+KHVybCwgeyBhZGRpdGlvbmFsRmllbGRzIH0pXHJcbiAgICAgIC5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaEF1dGhvcmluZ0NvbnRlbnQoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGVudD4ge1xyXG4gICAgY29uc3QgdXJsID0gYCR7QVBJX0VORF9QT0lOVFMuQVVUSE9SSU5HX0NPTlRFTlR9LyR7Y29udGVudElkfWBcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGVudD4odXJsKS5waXBlKHJldHJ5KDEpKVxyXG4gIH1cclxuICBmZXRjaE11bHRpcGxlQ29udGVudChpZHM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxOc0NvbnRlbnQuSUNvbnRlbnRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8TnNDb250ZW50LklDb250ZW50W10+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5NVUxUSVBMRV9DT05URU5UfS8ke2lkcy5qb2luKCcsJyl9YCxcclxuICAgIClcclxuICB9XHJcbiAgZmV0Y2hDb2xsZWN0aW9uSGllcmFyY2h5KHR5cGU6IHN0cmluZywgaWQ6IHN0cmluZywgcGFnZU51bWJlcjogbnVtYmVyID0gMCwgcGFnZVNpemU6IG51bWJlciA9IDEpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29sbGVjdGlvbkhpZXJhcmNoeVJlc3BvbnNlPihcclxuICAgICAgYCR7QVBJX0VORF9QT0lOVFMuQ09MTEVDVElPTl9ISUVSQVJDSFkoXHJcbiAgICAgICAgdHlwZSxcclxuICAgICAgICBpZCxcclxuICAgICAgKX0/cGFnZU51bWJlcj0ke3BhZ2VOdW1iZXJ9JnBhZ2VTaXplPSR7cGFnZVNpemV9YCxcclxuICAgIClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudExpa2VzKGNvbnRlbnRJZHM6IHsgY29udGVudF9pZDogc3RyaW5nW10gfSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDx7IFtpZGVudGlmaWVyOiBzdHJpbmddOiBudW1iZXIgfT4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9MSUtFUywgY29udGVudElkcylcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgfVxyXG4gIGZldGNoQ29udGVudFJhdGluZ3MoY29udGVudElkczogeyBjb250ZW50SWRzOiBzdHJpbmdbXSB9KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS9yYXRpbmdgLCBjb250ZW50SWRzKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZ3NWMihjb250ZW50SWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PElDb250ZW50UmF0aW5nPihgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX1JBVElOR19WMn0vJHtjb250ZW50SWR9YClcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudEhpc3RvcnkoY29udGVudElkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PE5zQ29udGVudC5JQ29udGludWVMZWFybmluZ0RhdGE+KFxyXG4gICAgICBgJHtBUElfRU5EX1BPSU5UUy5DT05URU5UX0hJU1RPUll9LyR7Y29udGVudElkfWAsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBhc3luYyBjb250aW51ZUxlYXJuaW5nKGlkOiBzdHJpbmcsIGNvbGxlY3Rpb25JZD86IHN0cmluZywgY29sbGVjdGlvblR5cGU/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIHJlc29sdmUgPT4ge1xyXG4gICAgICBpZiAoY29sbGVjdGlvblR5cGUgJiZcclxuICAgICAgICBjb2xsZWN0aW9uVHlwZS50b0xvd2VyQ2FzZSgpID09PSAncGxheWxpc3QnKSB7XHJcbiAgICAgICAgY29uc3QgcmVxQm9keSA9IHtcclxuICAgICAgICAgIGNvbnRleHRQYXRoSWQ6IGNvbGxlY3Rpb25JZCA/IGNvbGxlY3Rpb25JZCA6IGlkLFxyXG4gICAgICAgICAgcmVzb3VyY2VJZDogaWQsXHJcbiAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgIHRpbWVzdGFtcDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgICAgY29udGV4dEZ1bGxQYXRoOiBbY29sbGVjdGlvbklkLCBpZF0sXHJcbiAgICAgICAgICB9KSxcclxuICAgICAgICAgIGRhdGVBY2Nlc3NlZDogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIGNvbnRleHRUeXBlOiAncGxheWxpc3QnLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfVxyXG4gICAgICAgIClcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCByZXFCb2R5ID0ge1xyXG4gICAgICAgICAgY29udGV4dFBhdGhJZDogY29sbGVjdGlvbklkID8gY29sbGVjdGlvbklkIDogaWQsXHJcbiAgICAgICAgICByZXNvdXJjZUlkOiBpZCxcclxuICAgICAgICAgIGRhdGE6IEpTT04uc3RyaW5naWZ5KHsgdGltZXN0YW1wOiBEYXRlLm5vdygpIH0pLFxyXG4gICAgICAgICAgZGF0ZUFjY2Vzc2VkOiBEYXRlLm5vdygpLFxyXG4gICAgICAgIH1cclxuICAgICAgICBhd2FpdCB0aGlzLnNhdmVDb250aW51ZUxlYXJuaW5nKHJlcUJvZHkpLnRvUHJvbWlzZSgpLmNhdGNoKCkuZmluYWxseSgoKSA9PiB7XHJcbiAgICAgICAgICByZXNvbHZlKHRydWUpXHJcbiAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbiAgc2F2ZUNvbnRpbnVlTGVhcm5pbmcoY29udGVudDogTnNDb250ZW50LklWaWV3ZXJDb250aW51ZUxlYXJuaW5nUmVxdWVzdCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICBjb25zdCB1cmwgPSBBUElfRU5EX1BPSU5UUy5VU0VSX0NPTlRJTlVFX0xFQVJOSU5HXHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55Pih1cmwsIGNvbnRlbnQpXHJcbiAgfVxyXG5cclxuICBzZXRTM0Nvb2tpZShcclxuICAgIGNvbnRlbnRJZDogc3RyaW5nLFxyXG4gICAgLy8gX3BhdGg6IHN0cmluZyxcclxuICApOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdChBUElfRU5EX1BPSU5UUy5TRVRfUzNfQ09PS0lFLCB7IGNvbnRlbnRJZCB9KVxyXG4gICAgICAucGlwZShjYXRjaEVycm9yKF9lcnIgPT4gb2YodHJ1ZSkpKVxyXG4gIH1cclxuXHJcbiAgc2V0UzNJbWFnZUNvb2tpZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KEFQSV9FTkRfUE9JTlRTLlNFVF9TM19JTUFHRV9DT09LSUUsIHt9KS5waXBlKGNhdGNoRXJyb3IoX2VyciA9PiBvZih0cnVlKSkpXHJcbiAgfVxyXG5cclxuICBmZXRjaE1hbmlmZXN0KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChBUElfRU5EX1BPSU5UUy5GRVRDSF9NQU5JRkVTVCwgeyB1cmwgfSlcclxuICB9XHJcbiAgZmV0Y2hXZWJNb2R1bGVDb250ZW50KHVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke0FQSV9FTkRfUE9JTlRTLkZFVENIX1dFQl9NT0RVTEVfRklMRVN9P3VybD0ke2VuY29kZVVSSUNvbXBvbmVudCh1cmwpfWApXHJcbiAgfVxyXG4gIHNlYXJjaChyZXE6IE5TU2VhcmNoLklTZWFyY2hSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOU1NlYXJjaC5JU2VhcmNoQXBpUmVzdWx0PihBUElfRU5EX1BPSU5UUy5DT05URU5UX1NFQVJDSF9WNSwge1xyXG4gICAgICByZXF1ZXN0OiByZXEsXHJcbiAgICB9KVxyXG4gIH1cclxuICBzZWFyY2hSZWdpb25SZWNvbW1lbmRhdGlvbihcclxuICAgIHJlcTogTlNTZWFyY2guSVNlYXJjaE9yZ1JlZ2lvblJlY29tbWVuZGF0aW9uUmVxdWVzdCxcclxuICApOiBPYnNlcnZhYmxlPE5zQ29udGVudFN0cmlwTXVsdGlwbGUuSUNvbnRlbnRTdHJpcFJlc3BvbnNlQXBpPiB7XHJcbiAgICByZXEucXVlcnkgPSByZXEucXVlcnkgfHwgJydcclxuICAgIHJlcS5wcmVMYWJlbFZhbHVlID1cclxuICAgICAgKHJlcS5wcmVMYWJlbFZhbHVlIHx8ICcnKSArXHJcbiAgICAgICgodGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUgJiYgdGhpcy5jb25maWdTdmMudXNlclByb2ZpbGUuY291bnRyeSkgfHwgJycpXHJcbiAgICByZXEuZmlsdGVycyA9IHtcclxuICAgICAgLi4ucmVxLmZpbHRlcnMsXHJcbiAgICAgIGxhYmVsczogW3JlcS5wcmVMYWJlbFZhbHVlIHx8ICcnXSxcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxOc0NvbnRlbnRTdHJpcE11bHRpcGxlLklDb250ZW50U3RyaXBSZXNwb25zZUFwaT4oXHJcbiAgICAgIEFQSV9FTkRfUE9JTlRTLkNPTlRFTlRfU0VBUkNIX1JFR0lPTl9SRUNPTU1FTkRBVElPTixcclxuICAgICAgeyByZXF1ZXN0OiByZXEgfSxcclxuICAgIClcclxuICB9XHJcbiAgc2VhcmNoVjYocmVxOiBOU1NlYXJjaC5JU2VhcmNoVjZSZXF1ZXN0KTogT2JzZXJ2YWJsZTxOU1NlYXJjaC5JU2VhcmNoVjZBcGlSZXN1bHQ+IHtcclxuICAgIHJlcS5xdWVyeSA9IHJlcS5xdWVyeSB8fCAnJ1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PE5TU2VhcmNoLklTZWFyY2hWNkFwaVJlc3VsdD4oQVBJX0VORF9QT0lOVFMuQ09OVEVOVF9TRUFSQ0hfVjYsIHJlcSlcclxuICB9XHJcblxyXG4gIGZldGNoQ29udGVudFJhdGluZyhjb250ZW50SWQ6IHN0cmluZyk6IE9ic2VydmFibGU8eyByYXRpbmc6IG51bWJlciB9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IHJhdGluZzogbnVtYmVyIH0+KGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBkZWxldGVDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZGVsZXRlKGAke0FQSV9FTkRfUE9JTlRTLkNPTlRFTlRfUkFUSU5HfS8ke2NvbnRlbnRJZH1gKVxyXG4gIH1cclxuICBhZGRDb250ZW50UmF0aW5nKGNvbnRlbnRJZDogc3RyaW5nLCBkYXRhOiB7IHJhdGluZzogbnVtYmVyIH0pOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7QVBJX0VORF9QT0lOVFMuQ09OVEVOVF9SQVRJTkd9LyR7Y29udGVudElkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY29udGVudDogTnNDb250ZW50LklDb250ZW50KTogTnNDb250ZW50LklDb250ZW50IHtcclxuICAgIGlmICghKGNvbnRlbnQuY2hpbGRyZW4gfHwgW10pLmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gY29udGVudFxyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBjb250ZW50LmNvbnRlbnRUeXBlID09PSAnTGVhcm5pbmcgUGF0aCcgJiZcclxuICAgICAgIShjb250ZW50LmFydGlmYWN0VXJsICYmIGNvbnRlbnQuYXJ0aWZhY3RVcmwubGVuZ3RoKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IGNoaWxkID0gY29udGVudC5jaGlsZHJlblswXVxyXG4gICAgICByZXR1cm4gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoY2hpbGQpXHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGNvbnRlbnQuY29udGVudFR5cGUgPT09ICdSZXNvdXJjZScgfHxcclxuICAgICAgY29udGVudC5jb250ZW50VHlwZSA9PT0gJ0tub3dsZWRnZSBBcnRpZmFjdCcgfHxcclxuICAgICAgY29udGVudC5jb250ZW50VHlwZSA9PT0gJ0xlYXJuaW5nIFBhdGgnXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIGNvbnRlbnRcclxuICAgIH1cclxuICAgIGNvbnN0IGZpcnN0Q2hpbGQgPSBjb250ZW50LmNoaWxkcmVuWzBdXHJcbiAgICBjb25zdCByZXN1bHRDb250ZW50ID0gdGhpcy5nZXRGaXJzdENoaWxkSW5IaWVyYXJjaHkoZmlyc3RDaGlsZClcclxuICAgIHJldHVybiByZXN1bHRDb250ZW50XHJcbiAgfVxyXG5cclxuICBnZXRSZWdpc3RyYXRpb25TdGF0dXMoc291cmNlOiBzdHJpbmcpOiBQcm9taXNlPHsgaGFzQWNjZXNzOiBib29sZWFuOyByZWdpc3RyYXRpb25Vcmw/OiBzdHJpbmcgfT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHtBUElfRU5EX1BPSU5UUy5SRUdJU1RSQVRJT05fU1RBVFVTfS8ke3NvdXJjZX1gKS50b1Byb21pc2UoKVxyXG4gIH1cclxuXHJcbiAgZmV0Y2hDb25maWcodXJsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4odXJsKVxyXG4gIH1cclxufVxyXG4iXX0=