@sunbird-cb/consumption 0.0.1

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 (185) hide show
  1. package/README.md +24 -0
  2. package/bundles/sunbird-cb-consumption.umd.js +8116 -0
  3. package/bundles/sunbird-cb-consumption.umd.js.map +1 -0
  4. package/bundles/sunbird-cb-consumption.umd.min.js +17 -0
  5. package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -0
  6. package/esm2015/lib/_common/cards/card-landscape/card-landscape.component.js +209 -0
  7. package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +173 -0
  8. package/esm2015/lib/_common/cards/card-resource/card-resource.component.js +34 -0
  9. package/esm2015/lib/_common/cards/card-user/card-user.component.js +141 -0
  10. package/esm2015/lib/_common/cards/cards.component.js +107 -0
  11. package/esm2015/lib/_common/cards/cards.module.js +47 -0
  12. package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +324 -0
  13. package/esm2015/lib/_common/competency-passbook/competency-passbook.module.js +27 -0
  14. package/esm2015/lib/_common/competency-passbook/competency-passbook.service.js +52 -0
  15. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +1594 -0
  16. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +212 -0
  17. package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +69 -0
  18. package/esm2015/lib/_common/data-points/data-points.component.js +53 -0
  19. package/esm2015/lib/_common/data-points/data-points.module.js +19 -0
  20. package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.component.js +56 -0
  21. package/esm2015/lib/_common/display-content-type-lib/display-content-type-lib.module.js +18 -0
  22. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +268 -0
  23. package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +23 -0
  24. package/esm2015/lib/_common/pills/pills.component.js +49 -0
  25. package/esm2015/lib/_common/pills/pills.module.js +24 -0
  26. package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +40 -0
  27. package/esm2015/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +28 -0
  28. package/esm2015/lib/_common/sliders/sliders.component.js +184 -0
  29. package/esm2015/lib/_common/sliders/sliders.model.js +61 -0
  30. package/esm2015/lib/_common/sliders/sliders.module.js +50 -0
  31. package/esm2015/lib/_constants/misc.constants.js +5 -0
  32. package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.directive.js +52 -0
  33. package/esm2015/lib/_directives/default-thumbnail/default-thumbnail.module.js +19 -0
  34. package/esm2015/lib/_directives/image-responsive/image-responsive.directive.js +127 -0
  35. package/esm2015/lib/_directives/image-responsive/image-responsive.module.js +19 -0
  36. package/esm2015/lib/_directives/navigation/navigation.directive.js +54 -0
  37. package/esm2015/lib/_directives/navigation/navigation.module.js +19 -0
  38. package/esm2015/lib/_models/card-content-v2.model.js +78 -0
  39. package/esm2015/lib/_models/card-content.model.js +69 -0
  40. package/esm2015/lib/_models/card-users.model.js +101 -0
  41. package/esm2015/lib/_models/content-strip-multiple.model.js +195 -0
  42. package/esm2015/lib/_models/event.js +45 -0
  43. package/esm2015/lib/_models/profile-v3.models.js +196 -0
  44. package/esm2015/lib/_models/widget-content.model.js +876 -0
  45. package/esm2015/lib/_models/widget-search.model.js +472 -0
  46. package/esm2015/lib/_models/widget-user.model.js +17 -0
  47. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +19 -0
  48. package/esm2015/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +120 -0
  49. package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +19 -0
  50. package/esm2015/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +38 -0
  51. package/esm2015/lib/_services/common-methods.service.js +60 -0
  52. package/esm2015/lib/_services/configurations.service.js +243 -0
  53. package/esm2015/lib/_services/multilingual-translations.service.js +228 -0
  54. package/esm2015/lib/_services/viewer-route-util.js +125 -0
  55. package/esm2015/lib/_services/widget-content.service.js +818 -0
  56. package/esm2015/lib/_services/widget-user.service.js +439 -0
  57. package/esm2015/lib/consumption.component.js +26 -0
  58. package/esm2015/lib/consumption.config.js +12 -0
  59. package/esm2015/lib/consumption.module.js +26 -0
  60. package/esm2015/lib/consumption.service.js +18 -0
  61. package/esm2015/lib/registration-lib.config.js +21 -0
  62. package/esm2015/public-api.js +19 -0
  63. package/esm2015/sunbird-cb-consumption.js +41 -0
  64. package/esm5/lib/_common/cards/card-landscape/card-landscape.component.js +222 -0
  65. package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +182 -0
  66. package/esm5/lib/_common/cards/card-resource/card-resource.component.js +41 -0
  67. package/esm5/lib/_common/cards/card-user/card-user.component.js +147 -0
  68. package/esm5/lib/_common/cards/cards.component.js +127 -0
  69. package/esm5/lib/_common/cards/cards.module.js +51 -0
  70. package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +391 -0
  71. package/esm5/lib/_common/competency-passbook/competency-passbook.module.js +31 -0
  72. package/esm5/lib/_common/competency-passbook/competency-passbook.service.js +59 -0
  73. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +1861 -0
  74. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +212 -0
  75. package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.js +73 -0
  76. package/esm5/lib/_common/data-points/data-points.component.js +62 -0
  77. package/esm5/lib/_common/data-points/data-points.module.js +23 -0
  78. package/esm5/lib/_common/display-content-type-lib/display-content-type-lib.component.js +63 -0
  79. package/esm5/lib/_common/display-content-type-lib/display-content-type-lib.module.js +22 -0
  80. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +300 -0
  81. package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.js +27 -0
  82. package/esm5/lib/_common/pills/pills.component.js +58 -0
  83. package/esm5/lib/_common/pills/pills.module.js +28 -0
  84. package/esm5/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.js +45 -0
  85. package/esm5/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.js +32 -0
  86. package/esm5/lib/_common/sliders/sliders.component.js +211 -0
  87. package/esm5/lib/_common/sliders/sliders.model.js +61 -0
  88. package/esm5/lib/_common/sliders/sliders.module.js +67 -0
  89. package/esm5/lib/_constants/misc.constants.js +5 -0
  90. package/esm5/lib/_directives/default-thumbnail/default-thumbnail.directive.js +60 -0
  91. package/esm5/lib/_directives/default-thumbnail/default-thumbnail.module.js +23 -0
  92. package/esm5/lib/_directives/image-responsive/image-responsive.directive.js +137 -0
  93. package/esm5/lib/_directives/image-responsive/image-responsive.module.js +23 -0
  94. package/esm5/lib/_directives/navigation/navigation.directive.js +63 -0
  95. package/esm5/lib/_directives/navigation/navigation.module.js +23 -0
  96. package/esm5/lib/_models/card-content-v2.model.js +78 -0
  97. package/esm5/lib/_models/card-content.model.js +69 -0
  98. package/esm5/lib/_models/card-users.model.js +101 -0
  99. package/esm5/lib/_models/content-strip-multiple.model.js +195 -0
  100. package/esm5/lib/_models/event.js +45 -0
  101. package/esm5/lib/_models/profile-v3.models.js +196 -0
  102. package/esm5/lib/_models/widget-content.model.js +876 -0
  103. package/esm5/lib/_models/widget-search.model.js +472 -0
  104. package/esm5/lib/_models/widget-user.model.js +17 -0
  105. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.js +23 -0
  106. package/esm5/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.js +143 -0
  107. package/esm5/lib/_pipes/pipe-public-URL/pipe-public-URL.module.js +23 -0
  108. package/esm5/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.js +41 -0
  109. package/esm5/lib/_services/common-methods.service.js +73 -0
  110. package/esm5/lib/_services/configurations.service.js +257 -0
  111. package/esm5/lib/_services/multilingual-translations.service.js +256 -0
  112. package/esm5/lib/_services/viewer-route-util.js +127 -0
  113. package/esm5/lib/_services/widget-content.service.js +1062 -0
  114. package/esm5/lib/_services/widget-user.service.js +501 -0
  115. package/esm5/lib/consumption.component.js +28 -0
  116. package/esm5/lib/consumption.config.js +12 -0
  117. package/esm5/lib/consumption.module.js +30 -0
  118. package/esm5/lib/consumption.service.js +21 -0
  119. package/esm5/lib/registration-lib.config.js +21 -0
  120. package/esm5/public-api.js +19 -0
  121. package/esm5/sunbird-cb-consumption.js +41 -0
  122. package/fesm2015/sunbird-cb-consumption.js +6940 -0
  123. package/fesm2015/sunbird-cb-consumption.js.map +1 -0
  124. package/fesm5/sunbird-cb-consumption.js +7871 -0
  125. package/fesm5/sunbird-cb-consumption.js.map +1 -0
  126. package/lib/_common/cards/card-landscape/card-landscape.component.d.ts +35 -0
  127. package/lib/_common/cards/card-portrait/card-portrait.component.d.ts +31 -0
  128. package/lib/_common/cards/card-resource/card-resource.component.d.ts +8 -0
  129. package/lib/_common/cards/card-user/card-user.component.d.ts +24 -0
  130. package/lib/_common/cards/cards.component.d.ts +20 -0
  131. package/lib/_common/cards/cards.module.d.ts +2 -0
  132. package/lib/_common/competency-passbook/competency-passbook.component.d.ts +36 -0
  133. package/lib/_common/competency-passbook/competency-passbook.module.d.ts +2 -0
  134. package/lib/_common/competency-passbook/competency-passbook.service.d.ts +8 -0
  135. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +174 -0
  136. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +131 -0
  137. package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.module.d.ts +5 -0
  138. package/lib/_common/data-points/data-points.component.d.ts +9 -0
  139. package/lib/_common/data-points/data-points.module.d.ts +2 -0
  140. package/lib/_common/display-content-type-lib/display-content-type-lib.component.d.ts +11 -0
  141. package/lib/_common/display-content-type-lib/display-content-type-lib.module.d.ts +2 -0
  142. package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.d.ts +31 -0
  143. package/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.module.d.ts +2 -0
  144. package/lib/_common/pills/pills.component.d.ts +10 -0
  145. package/lib/_common/pills/pills.module.d.ts +2 -0
  146. package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.component.d.ts +8 -0
  147. package/lib/_common/skeleton-loader-lib/skeleton-loader-lib.module.d.ts +2 -0
  148. package/lib/_common/sliders/sliders.component.d.ts +26 -0
  149. package/lib/_common/sliders/sliders.model.d.ts +34 -0
  150. package/lib/_common/sliders/sliders.module.d.ts +6 -0
  151. package/lib/_constants/misc.constants.d.ts +2 -0
  152. package/lib/_directives/default-thumbnail/default-thumbnail.directive.d.ts +9 -0
  153. package/lib/_directives/default-thumbnail/default-thumbnail.module.d.ts +2 -0
  154. package/lib/_directives/image-responsive/image-responsive.directive.d.ts +17 -0
  155. package/lib/_directives/image-responsive/image-responsive.module.d.ts +2 -0
  156. package/lib/_directives/navigation/navigation.directive.d.ts +9 -0
  157. package/lib/_directives/navigation/navigation.module.d.ts +2 -0
  158. package/lib/_models/card-content-v2.model.d.ts +44 -0
  159. package/lib/_models/card-content.model.d.ts +41 -0
  160. package/lib/_models/card-users.model.d.ts +49 -0
  161. package/lib/_models/content-strip-multiple.model.d.ts +128 -0
  162. package/lib/_models/event.d.ts +18 -0
  163. package/lib/_models/profile-v3.models.d.ts +91 -0
  164. package/lib/_models/widget-content.model.d.ts +497 -0
  165. package/lib/_models/widget-search.model.d.ts +252 -0
  166. package/lib/_models/widget-user.model.d.ts +5 -0
  167. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.module.d.ts +2 -0
  168. package/lib/_pipes/pipe-duration-transform/pipe-duration-transform.pipe.d.ts +6 -0
  169. package/lib/_pipes/pipe-public-URL/pipe-public-URL.module.d.ts +2 -0
  170. package/lib/_pipes/pipe-public-URL/pipe-public-URL.pipe.d.ts +6 -0
  171. package/lib/_services/common-methods.service.d.ts +37 -0
  172. package/lib/_services/configurations.service.d.ts +71 -0
  173. package/lib/_services/multilingual-translations.service.d.ts +20 -0
  174. package/lib/_services/viewer-route-util.d.ts +8 -0
  175. package/lib/_services/widget-content.service.d.ts +82 -0
  176. package/lib/_services/widget-user.service.d.ts +31 -0
  177. package/lib/consumption.component.d.ts +5 -0
  178. package/lib/consumption.config.d.ts +6 -0
  179. package/lib/consumption.module.d.ts +2 -0
  180. package/lib/consumption.service.d.ts +3 -0
  181. package/lib/registration-lib.config.d.ts +4 -0
  182. package/package.json +23 -0
  183. package/public-api.d.ts +11 -0
  184. package/sunbird-cb-consumption.d.ts +36 -0
  185. package/sunbird-cb-consumption.metadata.json +1 -0
@@ -0,0 +1,125 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
+ */
5
+ import { NsContent } from '../_models/widget-content.model';
6
+ /** @type {?} */
7
+ export const VIEWER_ROUTE_FROM_MIME = (/**
8
+ * @param {?} mimeType
9
+ * @return {?}
10
+ */
11
+ (mimeType) => {
12
+ switch (mimeType) {
13
+ case NsContent.EMimeTypes.MP3:
14
+ return 'audio';
15
+ case NsContent.EMimeTypes.M4A:
16
+ return 'audio-native';
17
+ case NsContent.EMimeTypes.COLLECTION:
18
+ return 'html';
19
+ case NsContent.EMimeTypes.CHANNEL:
20
+ // case 'application/json' as any:
21
+ // return 'channel'
22
+ case NsContent.EMimeTypes.CERTIFICATION:
23
+ return 'certification';
24
+ case NsContent.EMimeTypes.HTML_TEXT:
25
+ case NsContent.EMimeTypes.HTML:
26
+ case NsContent.EMimeTypes.ZIP:
27
+ if (window.location.href.includes('mobile/html')) {
28
+ return 'mobile/html';
29
+ }
30
+ return 'html';
31
+ case NsContent.EMimeTypes.TEXT_WEB:
32
+ return 'youtube';
33
+ case NsContent.EMimeTypes.SURVEY:
34
+ return 'survey';
35
+ case NsContent.EMimeTypes.IAP:
36
+ return 'iap';
37
+ case NsContent.EMimeTypes.ILP_FP:
38
+ return 'ilp-fp';
39
+ case NsContent.EMimeTypes.PDF:
40
+ return 'pdf';
41
+ case NsContent.EMimeTypes.MP4:
42
+ case NsContent.EMimeTypes.M3U8:
43
+ return 'video';
44
+ case NsContent.EMimeTypes.YOUTUBE:
45
+ return 'youtube';
46
+ // return 'html'
47
+ case NsContent.EMimeTypes.WEB_MODULE:
48
+ return 'web-module';
49
+ case NsContent.EMimeTypes.WEB_MODULE_EXERCISE:
50
+ return 'web-module';
51
+ case NsContent.EMimeTypes.CLASS_DIAGRAM:
52
+ return 'class-diagram';
53
+ case NsContent.EMimeTypes.HANDS_ON:
54
+ return 'hands-on';
55
+ case NsContent.EMimeTypes.RDBMS_HANDS_ON:
56
+ return 'rdbms-hands-on';
57
+ case NsContent.EMimeTypes.HTML_PICKER:
58
+ return 'html-picker';
59
+ case NsContent.EMimeTypes.QUIZ:
60
+ case NsContent.EMimeTypes.APPLICATION_JSON:
61
+ return 'quiz';
62
+ case NsContent.EMimeTypes.PRACTICE_RESOURCE:
63
+ return 'practice';
64
+ case NsContent.EMimeTypes.COLLECTION_RESOURCE:
65
+ return 'resource-collection';
66
+ case NsContent.EMimeTypes.OFFLINE_SESSION:
67
+ return 'offline-session';
68
+ default:
69
+ return 'html';
70
+ }
71
+ });
72
+ /**
73
+ * @param {?} id
74
+ * @param {?} mimeType
75
+ * @param {?=} collectionId
76
+ * @param {?=} collectionType
77
+ * @param {?=} forPreview
78
+ * @param {?=} primaryCategory
79
+ * @param {?=} batchId
80
+ * @param {?=} courseName
81
+ * @return {?}
82
+ */
83
+ export function viewerRouteGenerator(id, mimeType, collectionId, collectionType, forPreview = false, primaryCategory, batchId, courseName) {
84
+ /** @type {?} */
85
+ let collId = collectionId;
86
+ /** @type {?} */
87
+ let collType = collectionType;
88
+ if (collType && !NsContent.PLAYER_SUPPORTED_COLLECTION_TYPES.includes(collType)) {
89
+ collId = undefined;
90
+ collType = undefined;
91
+ }
92
+ /** @type {?} */
93
+ const url = `/viewer/${VIEWER_ROUTE_FROM_MIME(mimeType)}/${id}`;
94
+ // tslint:disable-next-line
95
+ // console.log(url,'========>Route from MIME TYPE<==========')
96
+ /** @type {?} */
97
+ const forcreator = window.location.href.includes('editMode=true');
98
+ /** @type {?} */
99
+ let queryParams = {};
100
+ if (primaryCategory) {
101
+ queryParams = {
102
+ primaryCategory,
103
+ };
104
+ }
105
+ if (collectionId && collectionType) {
106
+ queryParams = Object.assign({}, queryParams, { collectionId: collId, collectionType: collType });
107
+ }
108
+ if (batchId) {
109
+ queryParams = Object.assign({}, queryParams, { batchId });
110
+ }
111
+ if (courseName) {
112
+ queryParams = Object.assign({}, queryParams, { courseName });
113
+ }
114
+ if (forPreview) {
115
+ queryParams = Object.assign({}, queryParams, { preview: true });
116
+ }
117
+ if (forcreator) {
118
+ queryParams = Object.assign({}, queryParams, { editMode: true });
119
+ }
120
+ return {
121
+ queryParams,
122
+ url,
123
+ };
124
+ }
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLXJvdXRlLXV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fc2VydmljZXMvdmlld2VyLXJvdXRlLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFNUQsTUFBTSxPQUFPLHNCQUFzQjs7OztBQUFHLENBQUMsUUFBOEIsRUFBRSxFQUFFO0lBQ3ZFLFFBQVEsUUFBUSxFQUFFO1FBQ2hCLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQzNCLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHO1lBQzNCLE9BQU8sY0FBYyxDQUFDO1FBQ3hCLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxVQUFVO1lBQ2xDLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7UUFDbEMsa0NBQWtDO1FBQ2xDLHFCQUFxQjtRQUNyQixLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYTtZQUNyQyxPQUFPLGVBQWUsQ0FBQztRQUN6QixLQUFLLFNBQVMsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDO1FBQ3BDLEtBQUssU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUM7UUFDL0IsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLEdBQUc7WUFDM0IsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLEVBQUU7Z0JBQ2hELE9BQU8sYUFBYSxDQUFDO2FBQ3RCO1lBQ0QsT0FBTyxNQUFNLENBQUM7UUFDaEIsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLFFBQVE7WUFDaEMsT0FBTyxTQUFTLENBQUM7UUFDbkIsS0FBSyxTQUFTLENBQUMsVUFBVSxDQUFDLE1BQU07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QUFJLFVBQVUsRUFBRTtRQUNkLFdBQVcscUJBQVEsV0FBVyxJQUFFLE9BQU8sRUFBRSxJQUFJLEdBQUUsQ0FBQztLQUNqRDtJQUNELElBQUksVUFBVSxFQUFFO1FBQ2QsV0FBVyxxQkFBUSxXQUFXLElBQUUsUUFBUSxFQUFFLElBQUksR0FBRSxDQUFDO0tBQ2xEO0lBQ0QsT0FBTztRQUNMLFdBQVc7UUFDWCxHQUFHO0tBQ0osQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOc0NvbnRlbnQgfSBmcm9tICcuLi9fbW9kZWxzL3dpZGdldC1jb250ZW50Lm1vZGVsJztcblxuZXhwb3J0IGNvbnN0IFZJRVdFUl9ST1VURV9GUk9NX01JTUUgPSAobWltZVR5cGU6IE5zQ29udGVudC5FTWltZVR5cGVzKSA9PiB7XG4gIHN3aXRjaCAobWltZVR5cGUpIHtcbiAgICBjYXNlIE5zQ29udGVudC5FTWltZVR5cGVzLk1QMzpcbiAgICAgIHJldHVybiAnYXVkaW8nO1xuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuTTRBOlxuICAgICAgcmV0dXJuICdhdWRpby1uYXRpdmUnO1xuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuQ09MTEVDVElPTjpcbiAgICAgIHJldHVybiAnaHRtbCc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5DSEFOTkVMOlxuICAgIC8vIGNhc2UgJ2FwcGxpY2F0aW9uL2pzb24nIGFzIGFueTpcbiAgICAvLyAgIHJldHVybiAnY2hhbm5lbCdcbiAgICBjYXNlIE5zQ29udGVudC5FTWltZVR5cGVzLkNFUlRJRklDQVRJT046XG4gICAgICByZXR1cm4gJ2NlcnRpZmljYXRpb24nO1xuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuSFRNTF9URVhUOlxuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuSFRNTDpcbiAgICBjYXNlIE5zQ29udGVudC5FTWltZVR5cGVzLlpJUDpcbiAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmNsdWRlcygnbW9iaWxlL2h0bWwnKSkge1xuICAgICAgICByZXR1cm4gJ21vYmlsZS9odG1sJztcbiAgICAgIH1cbiAgICAgIHJldHVybiAnaHRtbCc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5URVhUX1dFQjpcbiAgICAgIHJldHVybiAneW91dHViZSc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5TVVJWRVk6XG4gICAgICByZXR1cm4gJ3N1cnZleSc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5JQVA6XG4gICAgICByZXR1cm4gJ2lhcCc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5JTFBfRlA6XG4gICAgICByZXR1cm4gJ2lscC1mcCc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5QREY6XG4gICAgICByZXR1cm4gJ3BkZic7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5NUDQ6XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5NM1U4OlxuICAgICAgcmV0dXJuICd2aWRlbyc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5ZT1VUVUJFOlxuICAgICAgcmV0dXJuICd5b3V0dWJlJztcbiAgICAvLyByZXR1cm4gJ2h0bWwnXG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5XRUJfTU9EVUxFOlxuICAgICAgcmV0dXJuICd3ZWItbW9kdWxlJztcbiAgICBjYXNlIE5zQ29udGVudC5FTWltZVR5cGVzLldFQl9NT0RVTEVfRVhFUkNJU0U6XG4gICAgICByZXR1cm4gJ3dlYi1tb2R1bGUnO1xuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuQ0xBU1NfRElBR1JBTTpcbiAgICAgIHJldHVybiAnY2xhc3MtZGlhZ3JhbSc7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5IQU5EU19PTjpcbiAgICAgIHJldHVybiAnaGFuZHMtb24nO1xuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuUkRCTVNfSEFORFNfT046XG4gICAgICByZXR1cm4gJ3JkYm1zLWhhbmRzLW9uJztcbiAgICBjYXNlIE5zQ29udGVudC5FTWltZVR5cGVzLkhUTUxfUElDS0VSOlxuICAgICAgcmV0dXJuICdodG1sLXBpY2tlcic7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5RVUlaOlxuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuQVBQTElDQVRJT05fSlNPTjpcbiAgICAgIHJldHVybiAncXVpeic7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5QUkFDVElDRV9SRVNPVVJDRTpcbiAgICAgIHJldHVybiAncHJhY3RpY2UnO1xuICAgIGNhc2UgTnNDb250ZW50LkVNaW1lVHlwZXMuQ09MTEVDVElPTl9SRVNPVVJDRTpcbiAgICAgIHJldHVybiAncmVzb3VyY2UtY29sbGVjdGlvbic7XG4gICAgY2FzZSBOc0NvbnRlbnQuRU1pbWVUeXBlcy5PRkZMSU5FX1NFU1NJT046XG4gICAgICByZXR1cm4gJ29mZmxpbmUtc2Vzc2lvbic7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnaHRtbCc7XG4gIH1cbn07XG5cbmV4cG9ydCBmdW5jdGlvbiB2aWV3ZXJSb3V0ZUdlbmVyYXRvcihcbiAgaWQ6IHN0cmluZyxcbiAgbWltZVR5cGU6IE5zQ29udGVudC5FTWltZVR5cGVzLFxuICBjb2xsZWN0aW9uSWQ/OiBzdHJpbmcsXG4gIGNvbGxlY3Rpb25UeXBlPzogc3RyaW5nLFxuICBmb3JQcmV2aWV3ID0gZmFsc2UsXG4gIHByaW1hcnlDYXRlZ29yeT86IHN0cmluZyxcbiAgYmF0Y2hJZD86IHN0cmluZyxcbiAgY291cnNlTmFtZT86IHN0cmluZyxcbik6IHsgdXJsOiBzdHJpbmc7IHF1ZXJ5UGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IH0ge1xuICBsZXQgY29sbElkID0gY29sbGVjdGlvbklkO1xuICBsZXQgY29sbFR5cGUgPSBjb2xsZWN0aW9uVHlwZTtcbiAgaWYgKGNvbGxUeXBlICYmICFOc0NvbnRlbnQuUExBWUVSX1NVUFBPUlRFRF9DT0xMRUNUSU9OX1RZUEVTLmluY2x1ZGVzKGNvbGxUeXBlKSkge1xuICAgIGNvbGxJZCA9IHVuZGVmaW5lZDtcbiAgICBjb2xsVHlwZSA9IHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB1cmwgPSBgL3ZpZXdlci8ke1ZJRVdFUl9ST1VURV9GUk9NX01JTUUobWltZVR5cGUpfS8ke2lkfWA7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAvLyBjb25zb2xlLmxvZyh1cmwsJz09PT09PT09PlJvdXRlIGZyb20gTUlNRSBUWVBFPD09PT09PT09PT0nKVxuICBjb25zdCBmb3JjcmVhdG9yID0gd2luZG93LmxvY2F0aW9uLmhyZWYuaW5jbHVkZXMoJ2VkaXRNb2RlPXRydWUnKTtcbiAgbGV0IHF1ZXJ5UGFyYW1zID0ge307XG4gIGlmIChwcmltYXJ5Q2F0ZWdvcnkpIHtcbiAgICBxdWVyeVBhcmFtcyA9IHtcbiAgICAgIHByaW1hcnlDYXRlZ29yeSxcbiAgICB9O1xuICB9XG4gIGlmIChjb2xsZWN0aW9uSWQgJiYgY29sbGVjdGlvblR5cGUpIHtcbiAgICBxdWVyeVBhcmFtcyA9IHsgLi4ucXVlcnlQYXJhbXMsIGNvbGxlY3Rpb25JZDogY29sbElkLCBjb2xsZWN0aW9uVHlwZTogY29sbFR5cGUgfTtcbiAgfVxuICBpZiAoYmF0Y2hJZCkge1xuICAgIHF1ZXJ5UGFyYW1zID0geyAuLi5xdWVyeVBhcmFtcywgYmF0Y2hJZCB9O1xuICB9XG4gIGlmIChjb3Vyc2VOYW1lKSB7XG4gICAgcXVlcnlQYXJhbXMgPSB7IC4uLnF1ZXJ5UGFyYW1zLCBjb3Vyc2VOYW1lIH07XG4gIH1cbiAgaWYgKGZvclByZXZpZXcpIHtcbiAgICBxdWVyeVBhcmFtcyA9IHsgLi4ucXVlcnlQYXJhbXMsIHByZXZpZXc6IHRydWUgfTtcbiAgfVxuICBpZiAoZm9yY3JlYXRvcikge1xuICAgIHF1ZXJ5UGFyYW1zID0geyAuLi5xdWVyeVBhcmFtcywgZWRpdE1vZGU6IHRydWUgfTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHF1ZXJ5UGFyYW1zLFxuICAgIHVybCxcbiAgfTtcbn1cbiJdfQ==