@sunbird-cb/utils 1.0.18 → 1.0.19-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 (389) hide show
  1. package/bundles/sunbird-cb-utils.umd.js +2006 -2960
  2. package/bundles/sunbird-cb-utils.umd.js.map +1 -1
  3. package/esm2015/lib/components/image-crop/image-crop.component.js +13 -48
  4. package/esm2015/lib/components/image-crop/image-crop.module.js +8 -2
  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 +11 -21
  9. package/esm2015/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +1 -1
  10. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.directive.js +1 -7
  11. package/esm2015/lib/directives/default-thumbnail/default-thumbnail.module.js +1 -1
  12. package/esm2015/lib/directives/image-responsive/image-responsive.directive.js +3 -11
  13. package/esm2015/lib/directives/image-responsive/image-responsive.module.js +1 -1
  14. package/esm2015/lib/directives/in-view-port/in-view-port.directive.js +5 -11
  15. package/esm2015/lib/directives/in-view-port/in-view-port.module.js +1 -1
  16. package/esm2015/lib/directives/navigation/navigation.directive.js +1 -6
  17. package/esm2015/lib/directives/navigation/navigation.module.js +1 -1
  18. package/esm2015/lib/directives/permission/permission.directive.js +1 -1
  19. package/esm2015/lib/directives/permission/permission.module.js +1 -1
  20. package/esm2015/lib/helpers/functions/getStringifiedQueryParams.js +4 -4
  21. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +11 -20
  22. package/esm2015/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +4 -2
  23. package/esm2015/lib/helpers/logout/logout.component.js +4 -13
  24. package/esm2015/lib/helpers/logout/logout.module.js +3 -2
  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 +1 -1
  27. package/esm2015/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +1 -7
  28. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +1 -1
  29. package/esm2015/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +1 -1
  30. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +1 -1
  31. package/esm2015/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +1 -11
  32. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +1 -1
  33. package/esm2015/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +1 -1
  34. package/esm2015/lib/pipes/pipe-filter/pipe-filter.module.js +1 -1
  35. package/esm2015/lib/pipes/pipe-filter/pipe-filter.pipe.js +3 -3
  36. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +1 -1
  37. package/esm2015/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +5 -5
  38. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +1 -1
  39. package/esm2015/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +1 -1
  40. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +1 -1
  41. package/esm2015/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +1 -1
  42. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +1 -1
  43. package/esm2015/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +4 -4
  44. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +1 -1
  45. package/esm2015/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +1 -7
  46. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.module.js +1 -1
  47. package/esm2015/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +1 -4
  48. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +1 -1
  49. package/esm2015/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +1 -1
  50. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +1 -1
  51. package/esm2015/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +1 -1
  52. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +1 -1
  53. package/esm2015/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +1 -4
  54. package/esm2015/lib/resolvers/explore-detail.resolver.js +12 -19
  55. package/esm2015/lib/resolvers/marketing-offering.resolve.js +7 -10
  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 +12 -18
  59. package/esm2015/lib/resolvers/resolver.model.js +2 -6
  60. package/esm2015/lib/services/auth-keycloak.service.js +20 -33
  61. package/esm2015/lib/services/auth-microsoft.service.js +9 -17
  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 +2 -49
  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 +4 -17
  68. package/esm2015/lib/services/logger.service.js +5 -13
  69. package/esm2015/lib/services/ms-office.model.js +2 -8
  70. package/esm2015/lib/services/subapplication-respond.service.js +8 -21
  71. package/esm2015/lib/services/telemetry.service.js +48 -59
  72. package/esm2015/lib/services/user-preference.model.js +2 -38
  73. package/esm2015/lib/services/user-preference.service.js +11 -15
  74. package/esm2015/lib/services/utility.service.js +9 -26
  75. package/esm2015/lib/services/value.service.js +4 -9
  76. package/esm2015/lib/services/widget-content.model.js +1 -236
  77. package/esm2015/lib/services/widget-content.service.js +15 -19
  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 +788 -2000
  83. package/fesm2015/sunbird-cb-utils.js.map +1 -1
  84. package/lib/components/image-crop/image-crop.component.d.ts +1 -0
  85. package/lib/components/image-crop/image-crop.component.d.ts.map +1 -0
  86. package/lib/components/image-crop/image-crop.component.ngfactory.d.ts.map +1 -0
  87. package/lib/components/image-crop/image-crop.component.scss.shim.ngstyle.d.ts.map +1 -0
  88. package/lib/components/image-crop/image-crop.module.d.ts +1 -0
  89. package/lib/components/image-crop/image-crop.module.d.ts.map +1 -0
  90. package/lib/components/image-crop/image-crop.module.ngfactory.d.ts.map +1 -0
  91. package/lib/constants/features.enum.d.ts +1 -0
  92. package/lib/constants/features.enum.d.ts.map +1 -0
  93. package/lib/constants/instances.enum.d.ts +1 -0
  94. package/lib/constants/instances.enum.d.ts.map +1 -0
  95. package/lib/constants/misc.constants.d.ts +1 -0
  96. package/lib/constants/misc.constants.d.ts.map +1 -0
  97. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts +4 -3
  98. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.d.ts.map +1 -0
  99. package/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.ngfactory.d.ts.map +1 -0
  100. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts +1 -0
  101. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.d.ts.map +1 -0
  102. package/lib/directives/class-change-on-scroll/class-change-on-scroll.module.ngfactory.d.ts.map +1 -0
  103. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts +1 -0
  104. package/lib/directives/default-thumbnail/default-thumbnail.directive.d.ts.map +1 -0
  105. package/lib/directives/default-thumbnail/default-thumbnail.directive.ngfactory.d.ts.map +1 -0
  106. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts +1 -0
  107. package/lib/directives/default-thumbnail/default-thumbnail.module.d.ts.map +1 -0
  108. package/lib/directives/default-thumbnail/default-thumbnail.module.ngfactory.d.ts.map +1 -0
  109. package/lib/directives/image-responsive/image-responsive.directive.d.ts +1 -0
  110. package/lib/directives/image-responsive/image-responsive.directive.d.ts.map +1 -0
  111. package/lib/directives/image-responsive/image-responsive.directive.ngfactory.d.ts.map +1 -0
  112. package/lib/directives/image-responsive/image-responsive.module.d.ts +1 -0
  113. package/lib/directives/image-responsive/image-responsive.module.d.ts.map +1 -0
  114. package/lib/directives/image-responsive/image-responsive.module.ngfactory.d.ts.map +1 -0
  115. package/lib/directives/in-view-port/in-view-port.directive.d.ts +1 -0
  116. package/lib/directives/in-view-port/in-view-port.directive.d.ts.map +1 -0
  117. package/lib/directives/in-view-port/in-view-port.directive.ngfactory.d.ts.map +1 -0
  118. package/lib/directives/in-view-port/in-view-port.module.d.ts +1 -0
  119. package/lib/directives/in-view-port/in-view-port.module.d.ts.map +1 -0
  120. package/lib/directives/in-view-port/in-view-port.module.ngfactory.d.ts.map +1 -0
  121. package/lib/directives/navigation/navigation.directive.d.ts +1 -0
  122. package/lib/directives/navigation/navigation.directive.d.ts.map +1 -0
  123. package/lib/directives/navigation/navigation.directive.ngfactory.d.ts.map +1 -0
  124. package/lib/directives/navigation/navigation.module.d.ts +1 -0
  125. package/lib/directives/navigation/navigation.module.d.ts.map +1 -0
  126. package/lib/directives/navigation/navigation.module.ngfactory.d.ts.map +1 -0
  127. package/lib/directives/permission/permission.directive.d.ts +1 -0
  128. package/lib/directives/permission/permission.directive.d.ts.map +1 -0
  129. package/lib/directives/permission/permission.directive.ngfactory.d.ts.map +1 -0
  130. package/lib/directives/permission/permission.module.d.ts +1 -0
  131. package/lib/directives/permission/permission.module.d.ts.map +1 -0
  132. package/lib/directives/permission/permission.module.ngfactory.d.ts.map +1 -0
  133. package/lib/helpers/functions/getStringifiedQueryParams.d.ts +1 -0
  134. package/lib/helpers/functions/getStringifiedQueryParams.d.ts.map +1 -0
  135. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts +1 -0
  136. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.d.ts.map +1 -0
  137. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.ngfactory.d.ts.map +1 -0
  138. package/lib/helpers/horizontal-scroller/horizontal-scroller.component.scss.shim.ngstyle.d.ts.map +1 -0
  139. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts +1 -0
  140. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.d.ts.map +1 -0
  141. package/lib/helpers/horizontal-scroller/horizontal-scroller.module.ngfactory.d.ts.map +1 -0
  142. package/lib/helpers/logout/logout.component.d.ts +3 -2
  143. package/lib/helpers/logout/logout.component.d.ts.map +1 -0
  144. package/lib/helpers/logout/logout.component.ngfactory.d.ts.map +1 -0
  145. package/lib/helpers/logout/logout.component.scss.shim.ngstyle.d.ts.map +1 -0
  146. package/lib/helpers/logout/logout.module.d.ts +1 -0
  147. package/lib/helpers/logout/logout.module.d.ts.map +1 -0
  148. package/lib/helpers/logout/logout.module.ngfactory.d.ts.map +1 -0
  149. package/lib/models/contentRating.model.d.ts +1 -0
  150. package/lib/models/contentRating.model.d.ts.map +1 -0
  151. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts +1 -0
  152. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.d.ts.map +1 -0
  153. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.ngfactory.d.ts.map +1 -0
  154. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts +1 -0
  155. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.d.ts.map +1 -0
  156. package/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.ngfactory.d.ts.map +1 -0
  157. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts +1 -0
  158. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.d.ts.map +1 -0
  159. package/lib/pipes/pipe-count-transform/pipe-count-transform.module.ngfactory.d.ts.map +1 -0
  160. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts +1 -0
  161. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.d.ts.map +1 -0
  162. package/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.ngfactory.d.ts.map +1 -0
  163. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts +1 -0
  164. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.d.ts.map +1 -0
  165. package/lib/pipes/pipe-date-concat/pipe-date-concat.module.ngfactory.d.ts.map +1 -0
  166. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts +1 -0
  167. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.d.ts.map +1 -0
  168. package/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.ngfactory.d.ts.map +1 -0
  169. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +1 -0
  170. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts.map +1 -0
  171. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.ngfactory.d.ts.map +1 -0
  172. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +1 -0
  173. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts.map +1 -0
  174. package/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.ngfactory.d.ts.map +1 -0
  175. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts +1 -0
  176. package/lib/pipes/pipe-filter/pipe-filter.module.d.ts.map +1 -0
  177. package/lib/pipes/pipe-filter/pipe-filter.module.ngfactory.d.ts.map +1 -0
  178. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts +1 -0
  179. package/lib/pipes/pipe-filter/pipe-filter.pipe.d.ts.map +1 -0
  180. package/lib/pipes/pipe-filter/pipe-filter.pipe.ngfactory.d.ts.map +1 -0
  181. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts +1 -0
  182. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.d.ts.map +1 -0
  183. package/lib/pipes/pipe-filter-search/pipe-filter-search.module.ngfactory.d.ts.map +1 -0
  184. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts +1 -0
  185. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.d.ts.map +1 -0
  186. package/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.ngfactory.d.ts.map +1 -0
  187. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts +1 -0
  188. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.d.ts.map +1 -0
  189. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.ngfactory.d.ts.map +1 -0
  190. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts +1 -0
  191. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.d.ts.map +1 -0
  192. package/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.ngfactory.d.ts.map +1 -0
  193. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts +1 -0
  194. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.d.ts.map +1 -0
  195. package/lib/pipes/pipe-limit-to/pipe-limit-to.module.ngfactory.d.ts.map +1 -0
  196. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts +1 -0
  197. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.d.ts.map +1 -0
  198. package/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.ngfactory.d.ts.map +1 -0
  199. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts +1 -0
  200. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.d.ts.map +1 -0
  201. package/lib/pipes/pipe-list-filter/pipe-list-filter.module.ngfactory.d.ts.map +1 -0
  202. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts +1 -0
  203. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.d.ts.map +1 -0
  204. package/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.ngfactory.d.ts.map +1 -0
  205. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts +1 -0
  206. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.d.ts.map +1 -0
  207. package/lib/pipes/pipe-name-transform/pipe-name-transform.module.ngfactory.d.ts.map +1 -0
  208. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts +1 -0
  209. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.d.ts.map +1 -0
  210. package/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.ngfactory.d.ts.map +1 -0
  211. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts +1 -0
  212. package/lib/pipes/pipe-order-by/pipe-order-by.module.d.ts.map +1 -0
  213. package/lib/pipes/pipe-order-by/pipe-order-by.module.ngfactory.d.ts.map +1 -0
  214. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts +5 -4
  215. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.d.ts.map +1 -0
  216. package/lib/pipes/pipe-order-by/pipe-order-by.pipe.ngfactory.d.ts.map +1 -0
  217. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts +1 -0
  218. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.d.ts.map +1 -0
  219. package/lib/pipes/pipe-partial-content/pipe-partial-content.module.ngfactory.d.ts.map +1 -0
  220. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts +1 -0
  221. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.d.ts.map +1 -0
  222. package/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.ngfactory.d.ts.map +1 -0
  223. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts +1 -0
  224. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.d.ts.map +1 -0
  225. package/lib/pipes/pipe-relative-time/pipe-relative-time.module.ngfactory.d.ts.map +1 -0
  226. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts +1 -0
  227. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.d.ts.map +1 -0
  228. package/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.ngfactory.d.ts.map +1 -0
  229. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts +1 -0
  230. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.d.ts.map +1 -0
  231. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.ngfactory.d.ts.map +1 -0
  232. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts +1 -0
  233. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.d.ts.map +1 -0
  234. package/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.ngfactory.d.ts.map +1 -0
  235. package/lib/resolvers/explore-detail.resolver.d.ts +1 -0
  236. package/lib/resolvers/explore-detail.resolver.d.ts.map +1 -0
  237. package/lib/resolvers/explore-detail.resolver.ngfactory.d.ts.map +1 -0
  238. package/lib/resolvers/marketing-offering.resolve.d.ts +1 -0
  239. package/lib/resolvers/marketing-offering.resolve.d.ts.map +1 -0
  240. package/lib/resolvers/marketing-offering.resolve.ngfactory.d.ts.map +1 -0
  241. package/lib/resolvers/page.constant.d.ts +1 -0
  242. package/lib/resolvers/page.constant.d.ts.map +1 -0
  243. package/lib/resolvers/page.model.d.ts +2 -1
  244. package/lib/resolvers/page.model.d.ts.map +1 -0
  245. package/lib/resolvers/page.resolver.d.ts +1 -0
  246. package/lib/resolvers/page.resolver.d.ts.map +1 -0
  247. package/lib/resolvers/page.resolver.ngfactory.d.ts.map +1 -0
  248. package/lib/resolvers/resolver.model.d.ts +1 -0
  249. package/lib/resolvers/resolver.model.d.ts.map +1 -0
  250. package/lib/services/auth-keycloak.service.d.ts +10 -9
  251. package/lib/services/auth-keycloak.service.d.ts.map +1 -0
  252. package/lib/services/auth-keycloak.service.ngfactory.d.ts.map +1 -0
  253. package/lib/services/auth-microsoft.service.d.ts +3 -2
  254. package/lib/services/auth-microsoft.service.d.ts.map +1 -0
  255. package/lib/services/auth-microsoft.service.ngfactory.d.ts.map +1 -0
  256. package/lib/services/card-content.model.d.ts +1 -0
  257. package/lib/services/card-content.model.d.ts.map +1 -0
  258. package/lib/services/configurations.model.d.ts +34 -23
  259. package/lib/services/configurations.model.d.ts.map +1 -0
  260. package/lib/services/configurations.service.d.ts +2 -0
  261. package/lib/services/configurations.service.d.ts.map +1 -0
  262. package/lib/services/configurations.service.ngfactory.d.ts.map +1 -0
  263. package/lib/services/content-strip-multiple.model.d.ts +8 -6
  264. package/lib/services/content-strip-multiple.model.d.ts.map +1 -0
  265. package/lib/services/event.model.d.ts +2 -1
  266. package/lib/services/event.model.d.ts.map +1 -0
  267. package/lib/services/event.service.d.ts +1 -0
  268. package/lib/services/event.service.d.ts.map +1 -0
  269. package/lib/services/event.service.ngfactory.d.ts.map +1 -0
  270. package/lib/services/logger.service.d.ts +5 -4
  271. package/lib/services/logger.service.d.ts.map +1 -0
  272. package/lib/services/logger.service.ngfactory.d.ts.map +1 -0
  273. package/lib/services/ms-office.model.d.ts +1 -0
  274. package/lib/services/ms-office.model.d.ts.map +1 -0
  275. package/lib/services/subapplication-respond.service.d.ts +1 -0
  276. package/lib/services/subapplication-respond.service.d.ts.map +1 -0
  277. package/lib/services/subapplication-respond.service.ngfactory.d.ts.map +1 -0
  278. package/lib/services/telemetry.service.d.ts +3 -2
  279. package/lib/services/telemetry.service.d.ts.map +1 -0
  280. package/lib/services/telemetry.service.ngfactory.d.ts.map +1 -0
  281. package/lib/services/user-preference.model.d.ts +1 -0
  282. package/lib/services/user-preference.model.d.ts.map +1 -0
  283. package/lib/services/user-preference.service.d.ts +1 -0
  284. package/lib/services/user-preference.service.d.ts.map +1 -0
  285. package/lib/services/user-preference.service.ngfactory.d.ts.map +1 -0
  286. package/lib/services/utility.service.d.ts +8 -7
  287. package/lib/services/utility.service.d.ts.map +1 -0
  288. package/lib/services/utility.service.ngfactory.d.ts.map +1 -0
  289. package/lib/services/value.service.d.ts +1 -0
  290. package/lib/services/value.service.d.ts.map +1 -0
  291. package/lib/services/value.service.ngfactory.d.ts.map +1 -0
  292. package/lib/services/widget-content.model.d.ts +21 -19
  293. package/lib/services/widget-content.model.d.ts.map +1 -0
  294. package/lib/services/widget-content.service.d.ts +1 -0
  295. package/lib/services/widget-content.service.d.ts.map +1 -0
  296. package/lib/services/widget-content.service.ngfactory.d.ts.map +1 -0
  297. package/lib/services/widget-resolver.model.d.ts +1 -0
  298. package/lib/services/widget-resolver.model.d.ts.map +1 -0
  299. package/lib/services/widget-search.model.d.ts +1 -0
  300. package/lib/services/widget-search.model.d.ts.map +1 -0
  301. package/package.json +14 -17
  302. package/public-api.d.ts +7 -0
  303. package/public-api.d.ts.map +1 -0
  304. package/sunbird-cb-utils.d.ts +1 -6
  305. package/sunbird-cb-utils.d.ts.map +1 -0
  306. package/sunbird-cb-utils.metadata.json +1 -1
  307. package/bundles/sunbird-cb-utils.umd.min.js +0 -16
  308. package/bundles/sunbird-cb-utils.umd.min.js.map +0 -1
  309. package/esm5/lib/components/image-crop/image-crop.component.js +0 -200
  310. package/esm5/lib/components/image-crop/image-crop.module.js +0 -31
  311. package/esm5/lib/constants/features.enum.js +0 -555
  312. package/esm5/lib/constants/instances.enum.js +0 -5
  313. package/esm5/lib/constants/misc.constants.js +0 -1
  314. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.directive.js +0 -105
  315. package/esm5/lib/directives/class-change-on-scroll/class-change-on-scroll.module.js +0 -19
  316. package/esm5/lib/directives/default-thumbnail/default-thumbnail.directive.js +0 -40
  317. package/esm5/lib/directives/default-thumbnail/default-thumbnail.module.js +0 -19
  318. package/esm5/lib/directives/image-responsive/image-responsive.directive.js +0 -95
  319. package/esm5/lib/directives/image-responsive/image-responsive.module.js +0 -19
  320. package/esm5/lib/directives/in-view-port/in-view-port.directive.js +0 -73
  321. package/esm5/lib/directives/in-view-port/in-view-port.module.js +0 -19
  322. package/esm5/lib/directives/navigation/navigation.directive.js +0 -41
  323. package/esm5/lib/directives/navigation/navigation.module.js +0 -19
  324. package/esm5/lib/directives/permission/permission.directive.js +0 -14
  325. package/esm5/lib/directives/permission/permission.module.js +0 -19
  326. package/esm5/lib/helpers/functions/getStringifiedQueryParams.js +0 -9
  327. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.component.js +0 -103
  328. package/esm5/lib/helpers/horizontal-scroller/horizontal-scroller.module.js +0 -23
  329. package/esm5/lib/helpers/logout/logout.component.js +0 -63
  330. package/esm5/lib/helpers/logout/logout.module.js +0 -22
  331. package/esm5/lib/models/contentRating.model.js +0 -12
  332. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.module.js +0 -17
  333. package/esm5/lib/pipes/pipe-concise-date-range/pipe-concise-date-range.pipe.js +0 -63
  334. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.module.js +0 -19
  335. package/esm5/lib/pipes/pipe-count-transform/pipe-count-transform.pipe.js +0 -37
  336. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.module.js +0 -19
  337. package/esm5/lib/pipes/pipe-date-concat/pipe-date-concat.pipe.js +0 -45
  338. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.module.js +0 -19
  339. package/esm5/lib/pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +0 -64
  340. package/esm5/lib/pipes/pipe-filter/pipe-filter.module.js +0 -19
  341. package/esm5/lib/pipes/pipe-filter/pipe-filter.pipe.js +0 -20
  342. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.module.js +0 -19
  343. package/esm5/lib/pipes/pipe-filter-search/pipe-filter-search.pipe.js +0 -38
  344. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.module.js +0 -19
  345. package/esm5/lib/pipes/pipe-html-tag-removal/pipe-html-tag-removal.pipe.js +0 -16
  346. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.module.js +0 -19
  347. package/esm5/lib/pipes/pipe-limit-to/pipe-limit-to.pipe.js +0 -30
  348. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.module.js +0 -19
  349. package/esm5/lib/pipes/pipe-list-filter/pipe-list-filter.pipe.js +0 -21
  350. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.module.js +0 -19
  351. package/esm5/lib/pipes/pipe-name-transform/pipe-name-transform.pipe.js +0 -35
  352. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.module.js +0 -19
  353. package/esm5/lib/pipes/pipe-order-by/pipe-order-by.pipe.js +0 -18
  354. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.module.js +0 -19
  355. package/esm5/lib/pipes/pipe-partial-content/pipe-partial-content.pipe.js +0 -34
  356. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.module.js +0 -19
  357. package/esm5/lib/pipes/pipe-relative-time/pipe-relative-time.pipe.js +0 -21
  358. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.module.js +0 -19
  359. package/esm5/lib/pipes/pipe-safe-sanitizer/pipe-safe-sanitizer.pipe.js +0 -38
  360. package/esm5/lib/resolvers/explore-detail.resolver.js +0 -93
  361. package/esm5/lib/resolvers/marketing-offering.resolve.js +0 -43
  362. package/esm5/lib/resolvers/page.constant.js +0 -4
  363. package/esm5/lib/resolvers/page.model.js +0 -47
  364. package/esm5/lib/resolvers/page.resolver.js +0 -98
  365. package/esm5/lib/resolvers/resolver.model.js +0 -6
  366. package/esm5/lib/services/auth-keycloak.service.js +0 -316
  367. package/esm5/lib/services/auth-microsoft.service.js +0 -251
  368. package/esm5/lib/services/card-content.model.js +0 -32
  369. package/esm5/lib/services/configurations.model.js +0 -498
  370. package/esm5/lib/services/configurations.service.js +0 -113
  371. package/esm5/lib/services/content-strip-multiple.model.js +0 -75
  372. package/esm5/lib/services/event.model.js +0 -229
  373. package/esm5/lib/services/event.service.js +0 -216
  374. package/esm5/lib/services/logger.service.js +0 -73
  375. package/esm5/lib/services/ms-office.model.js +0 -8
  376. package/esm5/lib/services/subapplication-respond.service.js +0 -230
  377. package/esm5/lib/services/telemetry.service.js +0 -484
  378. package/esm5/lib/services/user-preference.model.js +0 -38
  379. package/esm5/lib/services/user-preference.service.js +0 -109
  380. package/esm5/lib/services/utility.service.js +0 -178
  381. package/esm5/lib/services/value.service.js +0 -33
  382. package/esm5/lib/services/widget-content.model.js +0 -342
  383. package/esm5/lib/services/widget-content.service.js +0 -214
  384. package/esm5/lib/services/widget-resolver.model.js +0 -57
  385. package/esm5/lib/services/widget-search.model.js +0 -126
  386. package/esm5/public-api.js +0 -68
  387. package/esm5/sunbird-cb-utils.js +0 -8
  388. package/fesm5/sunbird-cb-utils.js +0 -5594
  389. package/fesm5/sunbird-cb-utils.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import * as tslib_1 from "tslib";
1
+ import { __awaiter } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { LoggerService } from './logger.service';
4
4
  import { HttpClient } from '@angular/common/http';
@@ -57,7 +57,7 @@ export class AuthMicrosoftService {
57
57
  return redirectUrl;
58
58
  }
59
59
  init(config) {
60
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
60
+ return __awaiter(this, void 0, void 0, function* () {
61
61
  if (!config || !config.microsoft || !config.microsoft.isConfigured) {
62
62
  this.loggerSvc.warn('Empty/No Configuration passed, ignoring Microsoft Authentication');
63
63
  }
@@ -78,7 +78,7 @@ export class AuthMicrosoftService {
78
78
  });
79
79
  }
80
80
  login(email) {
81
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
82
  if (!this.isValidEmail(email)) {
83
83
  this.loggerSvc.warn(`Microsoft Login is not allowed for your emailId (${email})`);
84
84
  return;
@@ -93,7 +93,7 @@ export class AuthMicrosoftService {
93
93
  });
94
94
  }
95
95
  getToken(email) {
96
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
97
  if (this.msToken &&
98
98
  this.isValid(this.msToken.accessToken, this.msToken.expiresOn) &&
99
99
  this.msToken.accessToken) {
@@ -142,7 +142,7 @@ export class AuthMicrosoftService {
142
142
  }
143
143
  }
144
144
  isValidEmail(email) {
145
- return this.msConfig.validEmailExtensions.some((ext => email.endsWith(ext)));
145
+ return this.msConfig.validEmailExtensions.some(ext => email.endsWith(ext));
146
146
  }
147
147
  isValid(accessToken, expiresOn) {
148
148
  if (accessToken && expiresOn) {
@@ -151,7 +151,7 @@ export class AuthMicrosoftService {
151
151
  return false;
152
152
  }
153
153
  exchangeTokenForCode(code, redirectUrl) {
154
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
154
+ return __awaiter(this, void 0, void 0, function* () {
155
155
  const response = yield this.http
156
156
  .get(`${API_ENDPOINTS}?code=${code}&redirectUrl=${redirectUrl}`)
157
157
  .toPromise();
@@ -159,7 +159,7 @@ export class AuthMicrosoftService {
159
159
  });
160
160
  }
161
161
  getTokenForEmail(email) {
162
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
163
  const response = yield this.http
164
164
  .get(`${API_ENDPOINTS.sharePointToken}?email=${email}`)
165
165
  .toPromise();
@@ -175,6 +175,7 @@ export class AuthMicrosoftService {
175
175
  };
176
176
  }
177
177
  }
178
+ AuthMicrosoftService.ɵprov = i0.ɵɵdefineInjectable({ factory: function AuthMicrosoftService_Factory() { return new AuthMicrosoftService(i0.ɵɵinject(i1.LoggerService), i0.ɵɵinject(i2.HttpClient)); }, token: AuthMicrosoftService, providedIn: "root" });
178
179
  AuthMicrosoftService.decorators = [
179
180
  { type: Injectable, args: [{
180
181
  providedIn: 'root',
@@ -184,13 +185,4 @@ AuthMicrosoftService.ctorParameters = () => [
184
185
  { type: LoggerService },
185
186
  { type: HttpClient }
186
187
  ];
187
- /** @nocollapse */ AuthMicrosoftService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AuthMicrosoftService_Factory() { return new AuthMicrosoftService(i0.ɵɵinject(i1.LoggerService), i0.ɵɵinject(i2.HttpClient)); }, token: AuthMicrosoftService, providedIn: "root" });
188
- if (false) {
189
- AuthMicrosoftService.prototype.msConfig;
190
- AuthMicrosoftService.prototype.emailUsed;
191
- AuthMicrosoftService.prototype.code;
192
- AuthMicrosoftService.prototype.msToken;
193
- AuthMicrosoftService.prototype.loggerSvc;
194
- AuthMicrosoftService.prototype.http;
195
- }
196
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzdW5iaXJkLWNiL3V0aWxzLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2F1dGgtbWljcm9zb2Z0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7OztNQUkzQyxxQkFBcUIsR0FBRyxHQUFHO01BQzNCLFVBQVUsR0FBRyxrQkFBa0I7TUFDL0IsT0FBTyxHQUFHLFlBQVk7TUFFdEIsYUFBYSxHQUFHO0lBQ3BCLGVBQWUsRUFBRSwrQkFBK0I7Q0FDakQ7QUFJRCxNQUFNLE9BQU8sb0JBQW9CO0lBaUIvQixZQUFvQixTQUF3QixFQUFVLElBQWdCO1FBQWxELGNBQVMsR0FBVCxTQUFTLENBQWU7UUFBVSxTQUFJLEdBQUosSUFBSSxDQUFZO1FBaEI5RCxhQUFRLEdBQWdDO1lBQzlDLFFBQVEsRUFBRSxFQUFFO1lBQ1osTUFBTSxFQUFFLEVBQUU7WUFDVixjQUFjLEVBQUUsRUFBRTtZQUNsQixvQkFBb0IsRUFBRSxFQUFFO1lBQ3hCLFlBQVksRUFBRSxLQUFLO1NBQ3BCLENBQUE7UUFDTyxjQUFTLEdBQWtCLElBQUksQ0FBQTtRQUMvQixTQUFJLEdBQWtCLElBQUksQ0FBQTtRQUMxQixZQUFPLEdBQTRCO1lBQ3pDLFdBQVcsRUFBRSxFQUFFO1lBQ2YsU0FBUyxFQUFFLEVBQUU7WUFDYixRQUFRLEVBQUUsRUFBRTtZQUNaLFNBQVMsRUFBRSxFQUFFO1NBQ2QsQ0FBQTtJQUV5RSxDQUFDO0lBRTNFLElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN4RixDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRTtrQkFDbEQsSUFBSSxHQUFHLG1EQUFtRDtrQkFDMUQsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDO2dCQUN0QyxhQUFhLEVBQUUsTUFBTTtnQkFDckIsU0FBUyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUTtnQkFDakMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTthQUNuQyxDQUFDO2tCQUNJLFFBQVEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7WUFDN0MsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osT0FBTyxHQUFHLElBQUksSUFBSSxXQUFXLENBQUMsUUFBUSxFQUFFLElBQUksUUFBUSxFQUFFLENBQUE7YUFDdkQ7WUFDRCxPQUFPLEdBQUcsSUFBSSxJQUFJLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFBO1NBQzNDO1FBQ0QsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQ0QsU0FBUyxDQUFDLFdBQW1CO1FBQzNCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQzNDLE9BQU8sbUZBQW1GLFdBQVcsRUFBRSxDQUFBO1NBQ3hHO1FBQ0QsT0FBTyxXQUFXLENBQUE7SUFDcEIsQ0FBQztJQUlLLElBQUksQ0FBQyxNQUFtRDs7WUFDNUQsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDbEUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsa0VBQWtFLENBQUMsQ0FBQTthQUN4RjtZQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQTtrQkFDMUIsV0FBVyxHQUFHLElBQUksZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDeEQsSUFBSSxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUU7Z0JBQy9ELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtnQkFDbkMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7b0JBQ2QsT0FBTTtpQkFDUDtvQkFDRyxHQUFHLEdBQUcsUUFBUSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsUUFBUTtnQkFDN0MsTUFBTSxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQTtnQkFDL0MsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFO29CQUNqQixHQUFHLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7aUJBQ2xDO2dCQUNELE9BQU8sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQTthQUNwQztRQUNILENBQUM7S0FBQTtJQUVLLEtBQUssQ0FBQyxLQUFhOztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0RBQW9ELEtBQUssR0FBRyxDQUFDLENBQUE7Z0JBQ2pGLE9BQU07YUFDUDtrQkFDSyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVE7WUFDOUIsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQTthQUMxQjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyw2REFBNkQsQ0FBQyxDQUFBO2FBQ25GO1FBQ0gsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEtBQWE7O1lBQzFCLElBQ0UsSUFBSSxDQUFDLE9BQU87Z0JBQ1osSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztnQkFDOUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQ3hCO2dCQUNBLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7YUFDaEM7WUFDRCxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzVCLElBQUk7b0JBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQTtvQkFDakQsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRTt3QkFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUE7d0JBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7cUJBQ2hDO2lCQUNGO2dCQUFDLE9BQU8sS0FBSyxFQUFFO29CQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO3dCQUNkLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUE7cUJBQ2xCO2lCQUNGO2FBQ0Y7WUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtnQkFDbkYsSUFBSTtvQkFDRixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLENBQUE7b0JBQ3hFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUU7d0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUE7d0JBQzdDLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUE7cUJBQ2hDO2lCQUNGO2dCQUFDLE9BQU8sS0FBSyxFQUFFLEdBQUc7YUFDcEI7WUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUE7UUFDbEQsQ0FBQztLQUFBO0lBRUQsdUJBQXVCLENBQUMsS0FBYTtRQUNuQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxxRUFBcUUsQ0FBQyxDQUFBO1NBQzNGO1lBQ0csUUFBUSxHQUFHLENBQUM7UUFDaEIsSUFBSTtZQUNGLFFBQVEsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUE7U0FDNUQ7UUFBQyxPQUFPLEtBQUssRUFBRSxHQUFHO1FBQ25CLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsSUFBSSxHQUFHLHFCQUFxQixDQUFDLEVBQUU7WUFDckYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQ2pCLHVCQUF1QixxQkFBcUIsc0NBQXNDLENBQ25GLENBQUE7WUFDRCxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtZQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFBO1NBQ2xCO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEVBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFDLENBQUE7SUFDNUUsQ0FBQztJQUVELE9BQU8sQ0FBQyxXQUErQixFQUFFLFNBQTZCO1FBQ3BFLElBQUksV0FBVyxJQUFJLFNBQVMsRUFBRTtZQUU1QixPQUFPLElBQUksQ0FBQTtTQUNaO1FBQ0QsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRUssb0JBQW9CLENBQUMsSUFBWSxFQUFFLFdBQW1COztrQkFDcEQsUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQzdCLEdBQUcsQ0FBMEIsR0FBRyxhQUFhLFNBQVMsSUFBSSxnQkFBZ0IsV0FBVyxFQUFFLENBQUM7aUJBQ3hGLFNBQVMsRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLENBQUM7S0FBQTtJQUVLLGdCQUFnQixDQUFDLEtBQWE7O2tCQUM1QixRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSTtpQkFDN0IsR0FBRyxDQUEwQixHQUFHLGFBQWEsQ0FBQyxlQUFlLFVBQVUsS0FBSyxFQUFFLENBQUM7aUJBQy9FLFNBQVMsRUFBRTtZQUNkLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLFFBQVEsQ0FBQyxDQUFBO1FBQy9DLENBQUM7S0FBQTtJQUVELHVCQUF1QixDQUFDLEtBQThCO1FBQ3BELE9BQU87WUFDTCxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1lBQzFCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7U0FDM0IsQ0FBQTtJQUNILENBQUM7OztZQXRLRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQWZRLGFBQWE7WUFFYixVQUFVOzs7O0lBZWpCLHdDQU1DO0lBQ0QseUNBQXVDO0lBQ3ZDLG9DQUFrQztJQUNsQyx1Q0FLQztJQUVXLHlDQUFnQztJQUFFLG9DQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnZXIuc2VydmljZSdcclxuaW1wb3J0IHsgTnNJbnN0YW5jZUNvbmZpZyB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMubW9kZWwnXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2UgfSBmcm9tICcuL21zLW9mZmljZS5tb2RlbCdcclxuLy8gVE9ETzogVXNlIGEgdXJsLXNlYXJjaC1wb2x5ZmlsbCBpZiB0aGUgc2l0ZSBkaWRub3Qgd29yayBpbiBJRSAxMVxyXG5cclxuY29uc3QgbXNUb2tlbkV4cGlyeUR1cmF0aW9uID0gNjAwXHJcbmNvbnN0IHN0b3JhZ2VLZXkgPSAnbXNMb2dpblJlcXVlc3RlZCdcclxuY29uc3Qgc3RvcmFnZSA9IGxvY2FsU3RvcmFnZVxyXG5cclxuY29uc3QgQVBJX0VORFBPSU5UUyA9IHtcclxuICBzaGFyZVBvaW50VG9rZW46ICcvYXBpcy9wcm90ZWN0ZWQvdjgvdXNlci90b2tlbicsXHJcbn1cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhNaWNyb3NvZnRTZXJ2aWNlIHtcclxuICBwcml2YXRlIG1zQ29uZmlnOiBOc0luc3RhbmNlQ29uZmlnLklNaWNyb3NvZnQgPSB7XHJcbiAgICBjbGllbnRJZDogJycsXHJcbiAgICB0ZW5hbnQ6ICcnLFxyXG4gICAgZGVmYXVsdEVtYWlsSWQ6ICcnLFxyXG4gICAgdmFsaWRFbWFpbEV4dGVuc2lvbnM6IFtdLFxyXG4gICAgaXNDb25maWd1cmVkOiBmYWxzZSxcclxuICB9XHJcbiAgcHJpdmF0ZSBlbWFpbFVzZWQ6IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgcHJpdmF0ZSBjb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbFxyXG4gIHByaXZhdGUgbXNUb2tlbjogSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2UgPSB7XHJcbiAgICBhY2Nlc3NUb2tlbjogJycsXHJcbiAgICBleHBpcmVzT246ICcnLFxyXG4gICAgcmVzb3VyY2U6ICcnLFxyXG4gICAgdG9rZW5UeXBlOiAnJyxcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyU3ZjOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICBnZXQgaXNMb2dvdXRSZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBCb29sZWFuKHRoaXMubXNDb25maWcuaXNDb25maWd1cmVkICYmIHRoaXMubXNDb25maWcuY2xpZW50SWQgJiYgdGhpcy5lbWFpbFVzZWQpXHJcbiAgfVxyXG4gIGdldCBsb2dpblVybCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLm1zQ29uZmlnLmlzQ29uZmlndXJlZCAmJiB0aGlzLm1zQ29uZmlnLmNsaWVudElkKSB7XHJcbiAgICAgIGNvbnN0IGJhc2UgPSAnaHR0cHM6Ly9sb2dpbi53aW5kb3dzLm5ldC9jb21tb24vb2F1dGgyL2F1dGhvcml6ZSdcclxuICAgICAgY29uc3Qgc2VhcmNoUGFyYW0gPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcclxuICAgICAgICByZXNwb25zZV90eXBlOiAnY29kZScsXHJcbiAgICAgICAgY2xpZW50X2lkOiB0aGlzLm1zQ29uZmlnLmNsaWVudElkLFxyXG4gICAgICAgIHJlZGlyZWN0X3VyaTogd2luZG93LmxvY2F0aW9uLmhyZWYsXHJcbiAgICAgIH0pXHJcbiAgICAgIGNvbnN0IGZyYWdtZW50ID0gbG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKVxyXG4gICAgICBpZiAoZnJhZ21lbnQpIHtcclxuICAgICAgICByZXR1cm4gYCR7YmFzZX0/JHtzZWFyY2hQYXJhbS50b1N0cmluZygpfSMke2ZyYWdtZW50fWBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYCR7YmFzZX0/JHtzZWFyY2hQYXJhbS50b1N0cmluZygpfWBcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG4gIGxvZ291dFVybChyZWRpcmVjdFVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pc1ZhbGlkRW1haWwodGhpcy5lbWFpbFVzZWQgfHwgJycpKSB7XHJcbiAgICAgIHJldHVybiBgaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vbi9vYXV0aDIvbG9nb3V0P3Bvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaT0ke3JlZGlyZWN0VXJsfWBcclxuICAgIH1cclxuICAgIHJldHVybiByZWRpcmVjdFVybFxyXG4gIH1cclxuXHJcbiAgLy8gQmVoYXZpb3IgTWV0aG9kc1xyXG5cclxuICBhc3luYyBpbml0KGNvbmZpZzogUGljazxOc0luc3RhbmNlQ29uZmlnLklDb25maWcsICdtaWNyb3NvZnQnPikge1xyXG4gICAgaWYgKCFjb25maWcgfHwgIWNvbmZpZy5taWNyb3NvZnQgfHwgIWNvbmZpZy5taWNyb3NvZnQuaXNDb25maWd1cmVkKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU3ZjLndhcm4oJ0VtcHR5L05vIENvbmZpZ3VyYXRpb24gcGFzc2VkLCBpZ25vcmluZyBNaWNyb3NvZnQgQXV0aGVudGljYXRpb24nKVxyXG4gICAgfVxyXG4gICAgdGhpcy5tc0NvbmZpZyA9IGNvbmZpZy5taWNyb3NvZnRcclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpXHJcbiAgICBpZiAocXVlcnlQYXJhbXMuaGFzKCdjb2RlJykgJiYgcXVlcnlQYXJhbXMuaGFzKCdzZXNzaW9uX3N0YXRlJykpIHtcclxuICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuZ2V0KCdjb2RlJylcclxuICAgICAgaWYgKCF0aGlzLmNvZGUpIHtcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG4gICAgICBsZXQgdXJsID0gbG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWVcclxuICAgICAgYXdhaXQgdGhpcy5leGNoYW5nZVRva2VuRm9yQ29kZSh0aGlzLmNvZGUsIHVybClcclxuICAgICAgaWYgKGxvY2F0aW9uLmhhc2gpIHtcclxuICAgICAgICB1cmwgKz0gbG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSlcclxuICAgICAgfVxyXG4gICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgdXJsKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgbG9naW4oZW1haWw6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRFbWFpbChlbWFpbCkpIHtcclxuICAgICAgdGhpcy5sb2dnZXJTdmMud2FybihgTWljcm9zb2Z0IExvZ2luIGlzIG5vdCBhbGxvd2VkIGZvciB5b3VyIGVtYWlsSWQgKCR7ZW1haWx9KWApXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3QgbG9naW5VcmwgPSB0aGlzLmxvZ2luVXJsXHJcbiAgICBpZiAobG9naW5VcmwpIHtcclxuICAgICAgbG9jYXRpb24uYXNzaWduKGxvZ2luVXJsKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2dnZXJTdmMud2FybignVW5hYmxlIHRvIGlkZW50aWZ5IE9mZmljZSBMb2dpbiBVUkwsIElnbm9yaW5nIGxvZ2luIHJlcXVlc3QnKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0VG9rZW4oZW1haWw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMubXNUb2tlbiAmJlxyXG4gICAgICB0aGlzLmlzVmFsaWQodGhpcy5tc1Rva2VuLmFjY2Vzc1Rva2VuLCB0aGlzLm1zVG9rZW4uZXhwaXJlc09uKSAmJlxyXG4gICAgICB0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW5cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tc1Rva2VuLmFjY2Vzc1Rva2VuXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1ZhbGlkRW1haWwoZW1haWwpKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5tc1Rva2VuID0gYXdhaXQgdGhpcy5nZXRUb2tlbkZvckVtYWlsKGVtYWlsKVxyXG4gICAgICAgIGlmICh0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW4pIHtcclxuICAgICAgICAgIHRoaXMuZW1haWxVc2VkID0gZW1haWxcclxuICAgICAgICAgIHJldHVybiB0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW5cclxuICAgICAgICB9XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvZGUpIHtcclxuICAgICAgICAgIHRoaXMubG9naW4oZW1haWwpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tc0NvbmZpZy5kZWZhdWx0RW1haWxJZCAmJiB0aGlzLmlzVmFsaWRFbWFpbCh0aGlzLm1zQ29uZmlnLmRlZmF1bHRFbWFpbElkKSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMubXNUb2tlbiA9IGF3YWl0IHRoaXMuZ2V0VG9rZW5Gb3JFbWFpbCh0aGlzLm1zQ29uZmlnLmRlZmF1bHRFbWFpbElkKVxyXG4gICAgICAgIGlmICh0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW4pIHtcclxuICAgICAgICAgIHRoaXMuZW1haWxVc2VkID0gdGhpcy5tc0NvbmZpZy5kZWZhdWx0RW1haWxJZFxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubXNUb2tlbi5hY2Nlc3NUb2tlblxyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgfVxyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdVTkFCTEUgVE8gRkVUQ0ggTVMgQVVUSCBUT0tFTicpXHJcbiAgfVxyXG5cclxuICBsb2dpbkZvclNTT0VuYWJsZWRFbWJlZChlbWFpbDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEVtYWlsKGVtYWlsKSkge1xyXG4gICAgICB0aGlzLmxvZ2dlclN2Yy53YXJuKCdTU08gTG9naW4gcmVxdWVzdCBJZ25vcmVkLiBJbnZhbGlkIEVtYWlsIElkIGZvciBTU08gRW5hYmxlZCBDb250ZW50JylcclxuICAgIH1cclxuICAgIGxldCBtc1ByZXZUUyA9IDBcclxuICAgIHRyeSB7XHJcbiAgICAgIG1zUHJldlRTID0gcGFyc2VJbnQoc3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpIHx8ICcwJywgMTApXHJcbiAgICB9IGNhdGNoIChlcnJvcikgeyB9XHJcbiAgICBpZiAoIW1zUHJldlRTIHx8IChtc1ByZXZUUyAmJiAoRGF0ZS5ub3coKSAtIG1zUHJldlRTKSAvIDEwMDAgPiBtc1Rva2VuRXhwaXJ5RHVyYXRpb24pKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU3ZjLmluZm8oXHJcbiAgICAgICAgYGxhc3QgbG9naW4gZXhjZWVkZWQgJHttc1Rva2VuRXhwaXJ5RHVyYXRpb259IGR1cmF0aW9uLiBSZWRpcmVjdGluZyB0byBPMzY1IGxvZ2luYCxcclxuICAgICAgKVxyXG4gICAgICBzdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgRGF0ZS5ub3coKS50b1N0cmluZygpKVxyXG4gICAgICB0aGlzLmxvZ2luKGVtYWlsKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNWYWxpZEVtYWlsKGVtYWlsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLm1zQ29uZmlnLnZhbGlkRW1haWxFeHRlbnNpb25zLnNvbWUoZXh0ID0+IGVtYWlsLmVuZHNXaXRoKGV4dCkpXHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkKGFjY2Vzc1Rva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQsIGV4cGlyZXNPbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYWNjZXNzVG9rZW4gJiYgZXhwaXJlc09uKSB7XHJcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBleHBpcmVkT24gYW5kIERhdGUgY29tcGFyaXNvbiBiYXNlZCB2YWxpZGl0eVxyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBhc3luYyBleGNoYW5nZVRva2VuRm9yQ29kZShjb2RlOiBzdHJpbmcsIHJlZGlyZWN0VXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmh0dHBcclxuICAgICAgLmdldDxJV3NNc1Rva2VuTW9kZWxSZXNwb25zZT4oYCR7QVBJX0VORFBPSU5UU30/Y29kZT0ke2NvZGV9JnJlZGlyZWN0VXJsPSR7cmVkaXJlY3RVcmx9YClcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICByZXR1cm4gdGhpcy5nZXRJbnN0YW5jZUZyb21SZXNwb25zZShyZXNwb25zZSlcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFRva2VuRm9yRW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlPihgJHtBUElfRU5EUE9JTlRTLnNoYXJlUG9pbnRUb2tlbn0/ZW1haWw9JHtlbWFpbH1gKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICAgIHJldHVybiB0aGlzLmdldEluc3RhbmNlRnJvbVJlc3BvbnNlKHJlc3BvbnNlKVxyXG4gIH1cclxuXHJcbiAgZ2V0SW5zdGFuY2VGcm9tUmVzcG9uc2UodG9rZW46IElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhY2Nlc3NUb2tlbjogdG9rZW4uYWNjZXNzVG9rZW4sXHJcbiAgICAgIGV4cGlyZXNPbjogdG9rZW4uZXhwaXJlc09uLFxyXG4gICAgICByZXNvdXJjZTogdG9rZW4ucmVzb3VyY2UsXHJcbiAgICAgIHRva2VuVHlwZTogdG9rZW4udG9rZW5UeXBlLFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1taWNyb3NvZnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnJhcnkvc3VuYmlyZC1jYi91dGlscy9zcmMvbGliL3NlcnZpY2VzL2F1dGgtbWljcm9zb2Z0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBRWhELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7OztBQUlqRCxNQUFNLHFCQUFxQixHQUFHLEdBQUcsQ0FBQTtBQUNqQyxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQTtBQUNyQyxNQUFNLE9BQU8sR0FBRyxZQUFZLENBQUE7QUFFNUIsTUFBTSxhQUFhLEdBQUc7SUFDcEIsZUFBZSxFQUFFLCtCQUErQjtDQUNqRCxDQUFBO0FBSUQsTUFBTSxPQUFPLG9CQUFvQjtJQWlCL0IsWUFBb0IsU0FBd0IsRUFBVSxJQUFnQjtRQUFsRCxjQUFTLEdBQVQsU0FBUyxDQUFlO1FBQVUsU0FBSSxHQUFKLElBQUksQ0FBWTtRQWhCOUQsYUFBUSxHQUFnQztZQUM5QyxRQUFRLEVBQUUsRUFBRTtZQUNaLE1BQU0sRUFBRSxFQUFFO1lBQ1YsY0FBYyxFQUFFLEVBQUU7WUFDbEIsb0JBQW9CLEVBQUUsRUFBRTtZQUN4QixZQUFZLEVBQUUsS0FBSztTQUNwQixDQUFBO1FBQ08sY0FBUyxHQUFrQixJQUFJLENBQUE7UUFDL0IsU0FBSSxHQUFrQixJQUFJLENBQUE7UUFDMUIsWUFBTyxHQUE0QjtZQUN6QyxXQUFXLEVBQUUsRUFBRTtZQUNmLFNBQVMsRUFBRSxFQUFFO1lBQ2IsUUFBUSxFQUFFLEVBQUU7WUFDWixTQUFTLEVBQUUsRUFBRTtTQUNkLENBQUE7SUFFeUUsQ0FBQztJQUUzRSxJQUFJLGdCQUFnQjtRQUNs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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi9sb2dnZXIuc2VydmljZSdcclxuaW1wb3J0IHsgTnNJbnN0YW5jZUNvbmZpZyB9IGZyb20gJy4vY29uZmlndXJhdGlvbnMubW9kZWwnXHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCdcclxuaW1wb3J0IHsgSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2UgfSBmcm9tICcuL21zLW9mZmljZS5tb2RlbCdcclxuLy8gVE9ETzogVXNlIGEgdXJsLXNlYXJjaC1wb2x5ZmlsbCBpZiB0aGUgc2l0ZSBkaWRub3Qgd29yayBpbiBJRSAxMVxyXG5cclxuY29uc3QgbXNUb2tlbkV4cGlyeUR1cmF0aW9uID0gNjAwXHJcbmNvbnN0IHN0b3JhZ2VLZXkgPSAnbXNMb2dpblJlcXVlc3RlZCdcclxuY29uc3Qgc3RvcmFnZSA9IGxvY2FsU3RvcmFnZVxyXG5cclxuY29uc3QgQVBJX0VORFBPSU5UUyA9IHtcclxuICBzaGFyZVBvaW50VG9rZW46ICcvYXBpcy9wcm90ZWN0ZWQvdjgvdXNlci90b2tlbicsXHJcbn1cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhNaWNyb3NvZnRTZXJ2aWNlIHtcclxuICBwcml2YXRlIG1zQ29uZmlnOiBOc0luc3RhbmNlQ29uZmlnLklNaWNyb3NvZnQgPSB7XHJcbiAgICBjbGllbnRJZDogJycsXHJcbiAgICB0ZW5hbnQ6ICcnLFxyXG4gICAgZGVmYXVsdEVtYWlsSWQ6ICcnLFxyXG4gICAgdmFsaWRFbWFpbEV4dGVuc2lvbnM6IFtdLFxyXG4gICAgaXNDb25maWd1cmVkOiBmYWxzZSxcclxuICB9XHJcbiAgcHJpdmF0ZSBlbWFpbFVzZWQ6IHN0cmluZyB8IG51bGwgPSBudWxsXHJcbiAgcHJpdmF0ZSBjb2RlOiBzdHJpbmcgfCBudWxsID0gbnVsbFxyXG4gIHByaXZhdGUgbXNUb2tlbjogSVdzTXNUb2tlbk1vZGVsUmVzcG9uc2UgPSB7XHJcbiAgICBhY2Nlc3NUb2tlbjogJycsXHJcbiAgICBleHBpcmVzT246ICcnLFxyXG4gICAgcmVzb3VyY2U6ICcnLFxyXG4gICAgdG9rZW5UeXBlOiAnJyxcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgbG9nZ2VyU3ZjOiBMb2dnZXJTZXJ2aWNlLCBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHsgfVxyXG5cclxuICBnZXQgaXNMb2dvdXRSZXF1aXJlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBCb29sZWFuKHRoaXMubXNDb25maWcuaXNDb25maWd1cmVkICYmIHRoaXMubXNDb25maWcuY2xpZW50SWQgJiYgdGhpcy5lbWFpbFVzZWQpXHJcbiAgfVxyXG4gIGdldCBsb2dpblVybCgpOiBzdHJpbmcgfCBudWxsIHtcclxuICAgIGlmICh0aGlzLm1zQ29uZmlnLmlzQ29uZmlndXJlZCAmJiB0aGlzLm1zQ29uZmlnLmNsaWVudElkKSB7XHJcbiAgICAgIGNvbnN0IGJhc2UgPSAnaHR0cHM6Ly9sb2dpbi53aW5kb3dzLm5ldC9jb21tb24vb2F1dGgyL2F1dGhvcml6ZSdcclxuICAgICAgY29uc3Qgc2VhcmNoUGFyYW0gPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHtcclxuICAgICAgICByZXNwb25zZV90eXBlOiAnY29kZScsXHJcbiAgICAgICAgY2xpZW50X2lkOiB0aGlzLm1zQ29uZmlnLmNsaWVudElkLFxyXG4gICAgICAgIHJlZGlyZWN0X3VyaTogd2luZG93LmxvY2F0aW9uLmhyZWYsXHJcbiAgICAgIH0pXHJcbiAgICAgIGNvbnN0IGZyYWdtZW50ID0gbG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKVxyXG4gICAgICBpZiAoZnJhZ21lbnQpIHtcclxuICAgICAgICByZXR1cm4gYCR7YmFzZX0/JHtzZWFyY2hQYXJhbS50b1N0cmluZygpfSMke2ZyYWdtZW50fWBcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gYCR7YmFzZX0/JHtzZWFyY2hQYXJhbS50b1N0cmluZygpfWBcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG4gIGxvZ291dFVybChyZWRpcmVjdFVybDogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5pc1ZhbGlkRW1haWwodGhpcy5lbWFpbFVzZWQgfHwgJycpKSB7XHJcbiAgICAgIHJldHVybiBgaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2NvbW1vbi9vYXV0aDIvbG9nb3V0P3Bvc3RfbG9nb3V0X3JlZGlyZWN0X3VyaT0ke3JlZGlyZWN0VXJsfWBcclxuICAgIH1cclxuICAgIHJldHVybiByZWRpcmVjdFVybFxyXG4gIH1cclxuXHJcbiAgLy8gQmVoYXZpb3IgTWV0aG9kc1xyXG5cclxuICBhc3luYyBpbml0KGNvbmZpZzogUGljazxOc0luc3RhbmNlQ29uZmlnLklDb25maWcsICdtaWNyb3NvZnQnPikge1xyXG4gICAgaWYgKCFjb25maWcgfHwgIWNvbmZpZy5taWNyb3NvZnQgfHwgIWNvbmZpZy5taWNyb3NvZnQuaXNDb25maWd1cmVkKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU3ZjLndhcm4oJ0VtcHR5L05vIENvbmZpZ3VyYXRpb24gcGFzc2VkLCBpZ25vcmluZyBNaWNyb3NvZnQgQXV0aGVudGljYXRpb24nKVxyXG4gICAgfVxyXG4gICAgdGhpcy5tc0NvbmZpZyA9IGNvbmZpZy5taWNyb3NvZnRcclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpXHJcbiAgICBpZiAocXVlcnlQYXJhbXMuaGFzKCdjb2RlJykgJiYgcXVlcnlQYXJhbXMuaGFzKCdzZXNzaW9uX3N0YXRlJykpIHtcclxuICAgICAgdGhpcy5jb2RlID0gcXVlcnlQYXJhbXMuZ2V0KCdjb2RlJylcclxuICAgICAgaWYgKCF0aGlzLmNvZGUpIHtcclxuICAgICAgICByZXR1cm5cclxuICAgICAgfVxyXG4gICAgICBsZXQgdXJsID0gbG9jYXRpb24ub3JpZ2luICsgbG9jYXRpb24ucGF0aG5hbWVcclxuICAgICAgYXdhaXQgdGhpcy5leGNoYW5nZVRva2VuRm9yQ29kZSh0aGlzLmNvZGUsIHVybClcclxuICAgICAgaWYgKGxvY2F0aW9uLmhhc2gpIHtcclxuICAgICAgICB1cmwgKz0gbG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSlcclxuICAgICAgfVxyXG4gICAgICBoaXN0b3J5LnJlcGxhY2VTdGF0ZShudWxsLCAnJywgdXJsKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgbG9naW4oZW1haWw6IHN0cmluZykge1xyXG4gICAgaWYgKCF0aGlzLmlzVmFsaWRFbWFpbChlbWFpbCkpIHtcclxuICAgICAgdGhpcy5sb2dnZXJTdmMud2FybihgTWljcm9zb2Z0IExvZ2luIGlzIG5vdCBhbGxvd2VkIGZvciB5b3VyIGVtYWlsSWQgKCR7ZW1haWx9KWApXHJcbiAgICAgIHJldHVyblxyXG4gICAgfVxyXG4gICAgY29uc3QgbG9naW5VcmwgPSB0aGlzLmxvZ2luVXJsXHJcbiAgICBpZiAobG9naW5VcmwpIHtcclxuICAgICAgbG9jYXRpb24uYXNzaWduKGxvZ2luVXJsKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5sb2dnZXJTdmMud2FybignVW5hYmxlIHRvIGlkZW50aWZ5IE9mZmljZSBMb2dpbiBVUkwsIElnbm9yaW5nIGxvZ2luIHJlcXVlc3QnKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0VG9rZW4oZW1haWw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMubXNUb2tlbiAmJlxyXG4gICAgICB0aGlzLmlzVmFsaWQodGhpcy5tc1Rva2VuLmFjY2Vzc1Rva2VuLCB0aGlzLm1zVG9rZW4uZXhwaXJlc09uKSAmJlxyXG4gICAgICB0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW5cclxuICAgICkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tc1Rva2VuLmFjY2Vzc1Rva2VuXHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1ZhbGlkRW1haWwoZW1haWwpKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgdGhpcy5tc1Rva2VuID0gYXdhaXQgdGhpcy5nZXRUb2tlbkZvckVtYWlsKGVtYWlsKVxyXG4gICAgICAgIGlmICh0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW4pIHtcclxuICAgICAgICAgIHRoaXMuZW1haWxVc2VkID0gZW1haWxcclxuICAgICAgICAgIHJldHVybiB0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW5cclxuICAgICAgICB9XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmNvZGUpIHtcclxuICAgICAgICAgIHRoaXMubG9naW4oZW1haWwpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5tc0NvbmZpZy5kZWZhdWx0RW1haWxJZCAmJiB0aGlzLmlzVmFsaWRFbWFpbCh0aGlzLm1zQ29uZmlnLmRlZmF1bHRFbWFpbElkKSkge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHRoaXMubXNUb2tlbiA9IGF3YWl0IHRoaXMuZ2V0VG9rZW5Gb3JFbWFpbCh0aGlzLm1zQ29uZmlnLmRlZmF1bHRFbWFpbElkKVxyXG4gICAgICAgIGlmICh0aGlzLm1zVG9rZW4uYWNjZXNzVG9rZW4pIHtcclxuICAgICAgICAgIHRoaXMuZW1haWxVc2VkID0gdGhpcy5tc0NvbmZpZy5kZWZhdWx0RW1haWxJZFxyXG4gICAgICAgICAgcmV0dXJuIHRoaXMubXNUb2tlbi5hY2Nlc3NUb2tlblxyXG4gICAgICAgIH1cclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHsgfVxyXG4gICAgfVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdVTkFCTEUgVE8gRkVUQ0ggTVMgQVVUSCBUT0tFTicpXHJcbiAgfVxyXG5cclxuICBsb2dpbkZvclNTT0VuYWJsZWRFbWJlZChlbWFpbDogc3RyaW5nKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNWYWxpZEVtYWlsKGVtYWlsKSkge1xyXG4gICAgICB0aGlzLmxvZ2dlclN2Yy53YXJuKCdTU08gTG9naW4gcmVxdWVzdCBJZ25vcmVkLiBJbnZhbGlkIEVtYWlsIElkIGZvciBTU08gRW5hYmxlZCBDb250ZW50JylcclxuICAgIH1cclxuICAgIGxldCBtc1ByZXZUUyA9IDBcclxuICAgIHRyeSB7XHJcbiAgICAgIG1zUHJldlRTID0gcGFyc2VJbnQoc3RvcmFnZS5nZXRJdGVtKHN0b3JhZ2VLZXkpIHx8ICcwJywgMTApXHJcbiAgICB9IGNhdGNoIChlcnJvcikgeyB9XHJcbiAgICBpZiAoIW1zUHJldlRTIHx8IChtc1ByZXZUUyAmJiAoRGF0ZS5ub3coKSAtIG1zUHJldlRTKSAvIDEwMDAgPiBtc1Rva2VuRXhwaXJ5RHVyYXRpb24pKSB7XHJcbiAgICAgIHRoaXMubG9nZ2VyU3ZjLmluZm8oXHJcbiAgICAgICAgYGxhc3QgbG9naW4gZXhjZWVkZWQgJHttc1Rva2VuRXhwaXJ5RHVyYXRpb259IGR1cmF0aW9uLiBSZWRpcmVjdGluZyB0byBPMzY1IGxvZ2luYCxcclxuICAgICAgKVxyXG4gICAgICBzdG9yYWdlLnNldEl0ZW0oc3RvcmFnZUtleSwgRGF0ZS5ub3coKS50b1N0cmluZygpKVxyXG4gICAgICB0aGlzLmxvZ2luKGVtYWlsKVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaXNWYWxpZEVtYWlsKGVtYWlsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLm1zQ29uZmlnLnZhbGlkRW1haWxFeHRlbnNpb25zLnNvbWUoZXh0ID0+IGVtYWlsLmVuZHNXaXRoKGV4dCkpXHJcbiAgfVxyXG5cclxuICBpc1ZhbGlkKGFjY2Vzc1Rva2VuOiBzdHJpbmcgfCB1bmRlZmluZWQsIGV4cGlyZXNPbjogc3RyaW5nIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XHJcbiAgICBpZiAoYWNjZXNzVG9rZW4gJiYgZXhwaXJlc09uKSB7XHJcbiAgICAgIC8vIFRPRE86IEltcGxlbWVudCBleHBpcmVkT24gYW5kIERhdGUgY29tcGFyaXNvbiBiYXNlZCB2YWxpZGl0eVxyXG4gICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBhc3luYyBleGNoYW5nZVRva2VuRm9yQ29kZShjb2RlOiBzdHJpbmcsIHJlZGlyZWN0VXJsOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmh0dHBcclxuICAgICAgLmdldDxJV3NNc1Rva2VuTW9kZWxSZXNwb25zZT4oYCR7QVBJX0VORFBPSU5UU30/Y29kZT0ke2NvZGV9JnJlZGlyZWN0VXJsPSR7cmVkaXJlY3RVcmx9YClcclxuICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICByZXR1cm4gdGhpcy5nZXRJbnN0YW5jZUZyb21SZXNwb25zZShyZXNwb25zZSlcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFRva2VuRm9yRW1haWwoZW1haWw6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuaHR0cFxyXG4gICAgICAuZ2V0PElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlPihgJHtBUElfRU5EUE9JTlRTLnNoYXJlUG9pbnRUb2tlbn0/ZW1haWw9JHtlbWFpbH1gKVxyXG4gICAgICAudG9Qcm9taXNlKClcclxuICAgIHJldHVybiB0aGlzLmdldEluc3RhbmNlRnJvbVJlc3BvbnNlKHJlc3BvbnNlKVxyXG4gIH1cclxuXHJcbiAgZ2V0SW5zdGFuY2VGcm9tUmVzcG9uc2UodG9rZW46IElXc01zVG9rZW5Nb2RlbFJlc3BvbnNlKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBhY2Nlc3NUb2tlbjogdG9rZW4uYWNjZXNzVG9rZW4sXHJcbiAgICAgIGV4cGlyZXNPbjogdG9rZW4uZXhwaXJlc09uLFxyXG4gICAgICByZXNvdXJjZTogdG9rZW4ucmVzb3VyY2UsXHJcbiAgICAgIHRva2VuVHlwZTogdG9rZW4udG9rZW5UeXBlLFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,26 +1,5 @@
1
1
  export var NsCardContent;
2
2
  (function (NsCardContent) {
3
- function ICard() { }
4
- NsCardContent.ICard = ICard;
5
- if (false) {
6
- ICard.prototype.content;
7
- ICard.prototype.cardSubType;
8
- ICard.prototype.context;
9
- ICard.prototype.intranetMode;
10
- ICard.prototype.deletedMode;
11
- ICard.prototype.likes;
12
- ICard.prototype.contentTags;
13
- ICard.prototype.stateData;
14
- }
15
- function IContentTags() { }
16
- NsCardContent.IContentTags = IContentTags;
17
- if (false) {
18
- IContentTags.prototype.daysSpan;
19
- IContentTags.prototype.excludeContentType;
20
- IContentTags.prototype.excludeMimeType;
21
- IContentTags.prototype.tag;
22
- IContentTags.prototype.criteriaField;
23
- }
24
3
  let EContentStatus;
25
4
  (function (EContentStatus) {
26
5
  EContentStatus["LIVE"] = "Live";
@@ -29,4 +8,4 @@ export var NsCardContent;
29
8
  EContentStatus["MARK_FOR_DELETION"] = "MarkedForDeletion";
30
9
  })(EContentStatus = NsCardContent.EContentStatus || (NsCardContent.EContentStatus = {}));
31
10
  })(NsCardContent || (NsCardContent = {}));
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvdXRpbHMvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvY2FyZC1jb250ZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sS0FBVyxhQUFhLENBb0M3QjtBQXBDRCxXQUFpQixhQUFhO0lBQzVCLG9CQVNDOzs7UUFSQyx3QkFBMkI7UUFDM0IsNEJBQXlCO1FBQ3pCLHdCQUFtRDtRQUNuRCw2QkFBaUM7UUFDakMsNEJBQWdDO1FBQ2hDLHNCQUFjO1FBQ2QsNEJBQTBCO1FBQzFCLDBCQUFjOztJQUdoQiwyQkFNQzs7O1FBTEMsZ0NBQWlCO1FBQ2pCLDBDQUE4QztRQUM5Qyx1Q0FBMEI7UUFDMUIsMkJBQVc7UUFDWCxxQ0FBc0I7O0lBYXhCLElBQVksY0FLWDtJQUxELFdBQVksY0FBYztRQUN4QiwrQkFBYSxDQUFBO1FBQ2IscUNBQW1CLENBQUE7UUFDbkIscUNBQW1CLENBQUE7UUFDbkIseURBQXVDLENBQUE7SUFDekMsQ0FBQyxFQUxXLGNBQWMsR0FBZCw0QkFBYyxLQUFkLDRCQUFjLFFBS3pCO0FBQ0gsQ0FBQyxFQXBDZ0IsYUFBYSxLQUFiLGFBQWEsUUFvQzdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTnNDb250ZW50IH0gZnJvbSAnLi93aWRnZXQtY29udGVudC5tb2RlbCdcclxuXHJcbmV4cG9ydCBuYW1lc3BhY2UgTnNDYXJkQ29udGVudCB7XHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ2FyZCB7XHJcbiAgICBjb250ZW50OiBOc0NvbnRlbnQuSUNvbnRlbnRcclxuICAgIGNhcmRTdWJUeXBlOiBUQ2FyZFN1YlR5cGVcclxuICAgIGNvbnRleHQ6IHsgcGFnZVNlY3Rpb246IHN0cmluZzsgcG9zaXRpb24/OiBudW1iZXIgfVxyXG4gICAgaW50cmFuZXRNb2RlPzogJ2dyZXlPdXQnIHwgJ2hpZGUnXHJcbiAgICBkZWxldGVkTW9kZT86ICdncmV5T3V0JyB8ICdoaWRlJ1xyXG4gICAgbGlrZXM/OiBudW1iZXJcclxuICAgIGNvbnRlbnRUYWdzPzogSUNvbnRlbnRUYWdzXHJcbiAgICBzdGF0ZURhdGE6IGFueVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0IGludGVyZmFjZSBJQ29udGVudFRhZ3Mge1xyXG4gICAgZGF5c1NwYW4/OiBudW1iZXJcclxuICAgIGV4Y2x1ZGVDb250ZW50VHlwZT86IE5zQ29udGVudC5FQ29udGVudFR5cGVzW11cclxuICAgIGV4Y2x1ZGVNaW1lVHlwZT86IHN0cmluZ1tdXHJcbiAgICB0YWc6IHN0cmluZ1xyXG4gICAgY3JpdGVyaWFGaWVsZD86IHN0cmluZ1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0IHR5cGUgVENhcmRTdWJUeXBlID1cclxuICAgIHwgJ3N0YW5kYXJkJ1xyXG4gICAgfCAnbWluaW1hbCdcclxuICAgIHwgJ3NwYWNlLXNhdmluZydcclxuICAgIHwgJ2NhcmQtdXNlci1kZXRhaWxzJ1xyXG4gICAgfCAnYmFzaWMtaW5mbydcclxuICAgIHwgJ2Jhc2ljLWRldGFpbHMnXHJcbiAgICB8ICdjYXJkLWRlc2NyaXB0aW9uLWJhY2snXHJcbiAgICB8ICduZXR3b3JrLWNhcmQnXHJcblxyXG4gIGV4cG9ydCBlbnVtIEVDb250ZW50U3RhdHVzIHtcclxuICAgIExJVkUgPSAnTGl2ZScsXHJcbiAgICBFWFBJUkVEID0gJ0V4cGlyZWQnLFxyXG4gICAgREVMRVRFRCA9ICdEZWxldGVkJyxcclxuICAgIE1BUktfRk9SX0RFTEVUSU9OID0gJ01hcmtlZEZvckRlbGV0aW9uJyxcclxuICB9XHJcbn1cclxuIl19
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1jb250ZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicmFyeS9zdW5iaXJkLWNiL3V0aWxzL3NyYy9saWIvc2VydmljZXMvY2FyZC1jb250ZW50Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sS0FBVyxhQUFhLENBb0M3QjtBQXBDRCxXQUFpQixhQUFhO0lBOEI1QixJQUFZLGNBS1g7SUFMRCxXQUFZLGNBQWM7UUFDeEIsK0JBQWEsQ0FBQTtRQUNiLHFDQUFtQixDQUFBO1FBQ25CLHFDQUFtQixDQUFBO1FBQ25CLHlEQUF1QyxDQUFBO0lBQ3pDLENBQUMsRUFMVyxjQUFjLEdBQWQsNEJBQWMsS0FBZCw0QkFBYyxRQUt6QjtBQUNILENBQUMsRUFwQ2dCLGFBQWEsS0FBYixhQUFhLFFBb0M3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5zQ29udGVudCB9IGZyb20gJy4vd2lkZ2V0LWNvbnRlbnQubW9kZWwnXHJcblxyXG5leHBvcnQgbmFtZXNwYWNlIE5zQ2FyZENvbnRlbnQge1xyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNhcmQge1xyXG4gICAgY29udGVudDogTnNDb250ZW50LklDb250ZW50XHJcbiAgICBjYXJkU3ViVHlwZTogVENhcmRTdWJUeXBlXHJcbiAgICBjb250ZXh0OiB7IHBhZ2VTZWN0aW9uOiBzdHJpbmc7IHBvc2l0aW9uPzogbnVtYmVyIH1cclxuICAgIGludHJhbmV0TW9kZT86ICdncmV5T3V0JyB8ICdoaWRlJ1xyXG4gICAgZGVsZXRlZE1vZGU/OiAnZ3JleU91dCcgfCAnaGlkZSdcclxuICAgIGxpa2VzPzogbnVtYmVyXHJcbiAgICBjb250ZW50VGFncz86IElDb250ZW50VGFnc1xyXG4gICAgc3RhdGVEYXRhOiBhbnlcclxuICB9XHJcblxyXG4gIGV4cG9ydCBpbnRlcmZhY2UgSUNvbnRlbnRUYWdzIHtcclxuICAgIGRheXNTcGFuPzogbnVtYmVyXHJcbiAgICBleGNsdWRlQ29udGVudFR5cGU/OiBOc0NvbnRlbnQuRUNvbnRlbnRUeXBlc1tdXHJcbiAgICBleGNsdWRlTWltZVR5cGU/OiBzdHJpbmdbXVxyXG4gICAgdGFnOiBzdHJpbmdcclxuICAgIGNyaXRlcmlhRmllbGQ/OiBzdHJpbmdcclxuICB9XHJcblxyXG4gIGV4cG9ydCB0eXBlIFRDYXJkU3ViVHlwZSA9XHJcbiAgICB8ICdzdGFuZGFyZCdcclxuICAgIHwgJ21pbmltYWwnXHJcbiAgICB8ICdzcGFjZS1zYXZpbmcnXHJcbiAgICB8ICdjYXJkLXVzZXItZGV0YWlscydcclxuICAgIHwgJ2Jhc2ljLWluZm8nXHJcbiAgICB8ICdiYXNpYy1kZXRhaWxzJ1xyXG4gICAgfCAnY2FyZC1kZXNjcmlwdGlvbi1iYWNrJ1xyXG4gICAgfCAnbmV0d29yay1jYXJkJ1xyXG5cclxuICBleHBvcnQgZW51bSBFQ29udGVudFN0YXR1cyB7XHJcbiAgICBMSVZFID0gJ0xpdmUnLFxyXG4gICAgRVhQSVJFRCA9ICdFeHBpcmVkJyxcclxuICAgIERFTEVURUQgPSAnRGVsZXRlZCcsXHJcbiAgICBNQVJLX0ZPUl9ERUxFVElPTiA9ICdNYXJrZWRGb3JEZWxldGlvbicsXHJcbiAgfVxyXG59XHJcbiJdfQ==