@24i/bigscreen-sdk 1.0.34 → 1.0.35-alpha.2578

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 (1081) hide show
  1. package/README.md +47 -47
  2. package/__mocks__/@24i/bigscreen-sdk/animations.ts +2 -2
  3. package/package.json +1 -1
  4. package/packages/adobe-heartbeat/README.md +46 -46
  5. package/packages/adobe-heartbeat/src/AdobeHeartbeat.ts +244 -244
  6. package/packages/adobe-heartbeat/src/__external__/Adobe/Adobe.d.ts +24 -24
  7. package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.d.ts +126 -126
  8. package/packages/adobe-heartbeat/src/__external__/Adobe/MediaSDK.min.js +76 -76
  9. package/packages/adobe-heartbeat/src/index.ts +5 -5
  10. package/packages/adobe-heartbeat/src/types.ts +67 -67
  11. package/packages/analytics/README.md +7 -7
  12. package/packages/analytics/src/A.ts +1 -1
  13. package/packages/analytics/src/Analytics.ts +1 -1
  14. package/packages/analytics/src/analyticsOnScroll.ts +1 -1
  15. package/packages/analytics/src/clients/ConsoleAnalytics/ConsoleAnalytics.ts +1 -1
  16. package/packages/analytics/src/clients/ConsoleAnalytics/index.ts +1 -1
  17. package/packages/analytics/src/clients/GoogleAnalytics/GoogleAnalytics.ts +200 -200
  18. package/packages/analytics/src/clients/GoogleAnalytics/constants.ts +118 -118
  19. package/packages/analytics/src/clients/GoogleAnalytics/getUrl.ts +17 -17
  20. package/packages/analytics/src/clients/GoogleAnalytics/index.ts +2 -2
  21. package/packages/analytics/src/clients/GoogleAnalytics/interface.ts +77 -77
  22. package/packages/analytics/src/clients/GoogleAnalytics/mapPayload.ts +50 -50
  23. package/packages/analytics/src/clients/GoogleAnalytics/prepareBody.ts +14 -14
  24. package/packages/analytics/src/clients/TealiumAnalytics/TealiumAnalytics.ts +161 -161
  25. package/packages/analytics/src/clients/TealiumAnalytics/constants.ts +102 -102
  26. package/packages/analytics/src/clients/TealiumAnalytics/index.ts +3 -3
  27. package/packages/analytics/src/clients/TealiumAnalytics/interface.ts +33 -33
  28. package/packages/analytics/src/clients/TealiumAnalytics/mappers/__mocks__/mediaPayload.ts +40 -40
  29. package/packages/analytics/src/clients/TealiumAnalytics/mappers/helper.ts +21 -21
  30. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapAppError.ts +14 -14
  31. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteAdd.ts +11 -11
  32. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapFavoriteRemove.ts +11 -11
  33. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerClose.ts +15 -15
  34. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapPlayerOpen.ts +15 -15
  35. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSceneView.ts +15 -15
  36. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearch.ts +18 -18
  37. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchFailed.ts +8 -8
  38. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapSearchSuccess.ts +8 -8
  39. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoPause.ts +15 -15
  40. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoProgress.ts +18 -18
  41. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoResume.ts +15 -15
  42. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStart.ts +15 -15
  43. package/packages/analytics/src/clients/TealiumAnalytics/mappers/mapVideoStop.ts +15 -15
  44. package/packages/analytics/src/clients/TealiumAnalytics/types.ts +139 -139
  45. package/packages/analytics/src/clients/TwentyFourIQ/TwentyFourIQClient.ts +116 -116
  46. package/packages/analytics/src/clients/TwentyFourIQ/constants.ts +99 -99
  47. package/packages/analytics/src/clients/TwentyFourIQ/helper.ts +34 -34
  48. package/packages/analytics/src/clients/TwentyFourIQ/index.ts +2 -2
  49. package/packages/analytics/src/clients/TwentyFourIQ/interface.ts +31 -31
  50. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdLoaded.ts +13 -13
  51. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapAdSkipped.ts +16 -16
  52. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBase.ts +21 -21
  53. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapBuffering.ts +15 -15
  54. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerClose.ts +24 -24
  55. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapPlayerOpen.ts +18 -18
  56. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapSceneView.ts +15 -15
  57. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapScroll.ts +17 -17
  58. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoComplete.ts +21 -21
  59. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoPause.ts +24 -24
  60. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoProgress.ts +24 -24
  61. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStart.ts +34 -34
  62. package/packages/analytics/src/clients/TwentyFourIQ/mappers/mapVideoStop.ts +32 -32
  63. package/packages/analytics/src/clients/TwentyFourIQ/types.ts +115 -115
  64. package/packages/analytics/src/constants.ts +1 -1
  65. package/packages/analytics/src/index.ts +3 -3
  66. package/packages/analytics/src/interface.ts +1 -1
  67. package/packages/analytics/src/utils/generateSessionId.ts +8 -8
  68. package/packages/animations/README.md +85 -85
  69. package/packages/animations/src/AnimationUtils.ts +238 -238
  70. package/packages/animations/src/JSAnimations.ts +144 -144
  71. package/packages/animations/src/__mocks__/JSAnimations.ts +30 -30
  72. package/packages/animations/src/index.ts +3 -3
  73. package/packages/announcement-banner/README.md +49 -49
  74. package/packages/announcement-banner/src/AnnouncementBanner.scss +8 -8
  75. package/packages/announcement-banner/src/AnnouncementBanner.tsx +136 -136
  76. package/packages/announcement-banner/src/index.ts +1 -1
  77. package/packages/async-image/README.md +47 -47
  78. package/packages/async-image/src/AsyncImage.tsx +101 -101
  79. package/packages/async-image/src/index.ts +2 -2
  80. package/packages/conviva/README.md +47 -47
  81. package/packages/conviva/src/ConvivaSDK.ts +38 -38
  82. package/packages/conviva/src/__mocks__/ConvivaMock.ts +36 -36
  83. package/packages/conviva/src/index.ts +1 -1
  84. package/packages/conviva/src/theoPlugin/ConvivaConviguration.ts +19 -19
  85. package/packages/conviva/src/theoPlugin/__external__/Conviva_4.0.15.js +698 -698
  86. package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.d.ts +7 -7
  87. package/packages/conviva/src/theoPlugin/__external__/convivaTheoPlugin.js +635 -635
  88. package/packages/conviva/src/theoPlugin/convivaTheoPluginWrapper.ts +61 -61
  89. package/packages/conviva/src/theoPlugin/index.ts +2 -2
  90. package/packages/developer-tools/DeveloperConsole/README.md +114 -114
  91. package/packages/developer-tools/DeveloperConsole/index.ts +3 -3
  92. package/packages/developer-tools/DeveloperConsole/unstyled.ts +1 -1
  93. package/packages/developer-tools/DeveloperToolsService/README.md +54 -54
  94. package/packages/developer-tools/DeveloperToolsService/index.ts +3 -3
  95. package/packages/developer-tools/DeveloperToolsService/unstyled.ts +1 -1
  96. package/packages/developer-tools/EnvironmentSelection/README.md +77 -77
  97. package/packages/developer-tools/EnvironmentSelection/index.ts +3 -3
  98. package/packages/developer-tools/EnvironmentSelection/unstyled.ts +1 -1
  99. package/packages/developer-tools/PlayerDebugWindow/README.md +65 -65
  100. package/packages/developer-tools/PlayerDebugWindow/index.ts +3 -3
  101. package/packages/developer-tools/PlayerDebugWindow/unstyled.ts +1 -1
  102. package/packages/developer-tools/README.md +24 -24
  103. package/packages/developer-tools/TechnicalInfo/README.md +90 -90
  104. package/packages/developer-tools/TechnicalInfo/index.ts +9 -9
  105. package/packages/developer-tools/TechnicalInfo/unstyled.ts +6 -6
  106. package/packages/developer-tools/src/DeveloperConsole/ControlButton.tsx +16 -16
  107. package/packages/developer-tools/src/DeveloperConsole/DeveloperConsole.tsx +389 -389
  108. package/packages/developer-tools/src/DeveloperConsole/Panel.tsx +108 -108
  109. package/packages/developer-tools/src/DeveloperConsole/PanelMessage.tsx +33 -33
  110. package/packages/developer-tools/src/DeveloperConsole/helpers/Queue.ts +38 -38
  111. package/packages/developer-tools/src/DeveloperConsole/helpers/index.ts +2 -2
  112. package/packages/developer-tools/src/DeveloperConsole/helpers/instrumentHandler.ts +165 -165
  113. package/packages/developer-tools/src/DeveloperConsole/index.ts +2 -2
  114. package/packages/developer-tools/src/DeveloperConsole/initDeveloperConsole.tsx +8 -8
  115. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.scss +91 -91
  116. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.1080.scss +2 -2
  117. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/DeveloperConsole.styles.scss +2 -2
  118. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.1080.scss +16 -16
  119. package/packages/developer-tools/src/DeveloperConsole/styles/DeveloperConsole/_sizes.scss +16 -16
  120. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.scss +87 -87
  121. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.1080.scss +2 -2
  122. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/Panel.styles.scss +2 -2
  123. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.1080.scss +9 -9
  124. package/packages/developer-tools/src/DeveloperConsole/styles/Panel/_sizes.scss +9 -9
  125. package/packages/developer-tools/src/DeveloperConsole/styles.ts +2 -2
  126. package/packages/developer-tools/src/DeveloperConsole/types.ts +49 -49
  127. package/packages/developer-tools/src/DeveloperConsole/utils/formatTime.ts +13 -13
  128. package/packages/developer-tools/src/DeveloperConsole/utils/index.ts +3 -3
  129. package/packages/developer-tools/src/DeveloperConsole/utils/stringify.ts +10 -10
  130. package/packages/developer-tools/src/DeveloperConsole/utils/styles.ts +24 -24
  131. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolItem.tsx +21 -21
  132. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsList.tsx +125 -125
  133. package/packages/developer-tools/src/DeveloperToolsService/DeveloperToolsService.tsx +122 -122
  134. package/packages/developer-tools/src/DeveloperToolsService/index.ts +1 -1
  135. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.scss +64 -64
  136. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.1080.scss +2 -2
  137. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.1080.scss +3 -3
  138. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.animated.scss +4 -4
  139. package/packages/developer-tools/src/DeveloperToolsService/styles/DeveloperToolsService.styles.scss +2 -2
  140. package/packages/developer-tools/src/DeveloperToolsService/styles/_animated.scss +5 -5
  141. package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.1080.scss +16 -16
  142. package/packages/developer-tools/src/DeveloperToolsService/styles/_sizes.scss +16 -16
  143. package/packages/developer-tools/src/DeveloperToolsService/styles.ts +1 -1
  144. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentList.tsx +90 -90
  145. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentListItem.tsx +106 -106
  146. package/packages/developer-tools/src/EnvironmentSelection/EnvironmentSelection.tsx +102 -102
  147. package/packages/developer-tools/src/EnvironmentSelection/assets/checkmark.svg +18 -18
  148. package/packages/developer-tools/src/EnvironmentSelection/config.ts +43 -43
  149. package/packages/developer-tools/src/EnvironmentSelection/constants.ts +1 -1
  150. package/packages/developer-tools/src/EnvironmentSelection/index.ts +2 -2
  151. package/packages/developer-tools/src/EnvironmentSelection/sizes.1080.ts +5 -5
  152. package/packages/developer-tools/src/EnvironmentSelection/sizes.ts +5 -5
  153. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.scss +141 -141
  154. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.1080.scss +2 -2
  155. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.1080.scss +3 -3
  156. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.animated.scss +3 -3
  157. package/packages/developer-tools/src/EnvironmentSelection/styles/EnvironmentSelection.styles.scss +2 -2
  158. package/packages/developer-tools/src/EnvironmentSelection/styles/_animated.scss +9 -9
  159. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.1080.scss +26 -26
  160. package/packages/developer-tools/src/EnvironmentSelection/styles/_sizes.scss +26 -26
  161. package/packages/developer-tools/src/EnvironmentSelection/styles.ts +1 -1
  162. package/packages/developer-tools/src/EnvironmentSelection/types.ts +10 -10
  163. package/packages/developer-tools/src/EnvironmentSelection/utils/format.ts +4 -4
  164. package/packages/developer-tools/src/IDeveloperTool.ts +14 -14
  165. package/packages/developer-tools/src/PlayerDebugWindow/PlayerDebugWindow.tsx +115 -115
  166. package/packages/developer-tools/src/PlayerDebugWindow/constants.ts +128 -128
  167. package/packages/developer-tools/src/PlayerDebugWindow/index.ts +1 -1
  168. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.scss +29 -29
  169. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.1080.scss +2 -2
  170. package/packages/developer-tools/src/PlayerDebugWindow/styles/PlayerDebugWindow.styles.scss +2 -2
  171. package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.1080.scss +11 -11
  172. package/packages/developer-tools/src/PlayerDebugWindow/styles/_sizes.scss +11 -11
  173. package/packages/developer-tools/src/PlayerDebugWindow/styles.ts +1 -1
  174. package/packages/developer-tools/src/TechnicalInfo/ITechnicalInfoProvider.ts +5 -5
  175. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfo.tsx +125 -125
  176. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoDetail.tsx +77 -77
  177. package/packages/developer-tools/src/TechnicalInfo/TechnicalInfoProvider.ts +349 -349
  178. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Device.ts +55 -55
  179. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Player.ts +7 -7
  180. package/packages/developer-tools/src/TechnicalInfo/__mocks__/Storage.ts +9 -9
  181. package/packages/developer-tools/src/TechnicalInfo/icons/arrow-down.svg +18 -18
  182. package/packages/developer-tools/src/TechnicalInfo/icons/arrow-up.svg +18 -18
  183. package/packages/developer-tools/src/TechnicalInfo/index.ts +5 -5
  184. package/packages/developer-tools/src/TechnicalInfo/sizes.1080.ts +1 -1
  185. package/packages/developer-tools/src/TechnicalInfo/sizes.ts +1 -1
  186. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.scss +187 -187
  187. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.1080.scss +2 -2
  188. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.1080.scss +3 -3
  189. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.animated.scss +3 -3
  190. package/packages/developer-tools/src/TechnicalInfo/styles/TechnicalInfo.styles.scss +2 -2
  191. package/packages/developer-tools/src/TechnicalInfo/styles/_animated.scss +16 -16
  192. package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.1080.scss +50 -50
  193. package/packages/developer-tools/src/TechnicalInfo/styles/_sizes.scss +50 -50
  194. package/packages/developer-tools/src/TechnicalInfo/styles.ts +1 -1
  195. package/packages/developer-tools/src/TechnicalInfo/translations.ts +79 -79
  196. package/packages/developer-tools/src/TechnicalInfo/utils/eme01bSupport.ts +58 -58
  197. package/packages/developer-tools/src/TechnicalInfo/utils/emeSupport.ts +84 -84
  198. package/packages/developer-tools/src/TechnicalInfo/utils/formatTimezone.ts +15 -15
  199. package/packages/developer-tools/src/TechnicalInfo/utils/mseSupport.ts +14 -14
  200. package/packages/developer-tools/src/utils/reload.ts +6 -6
  201. package/packages/device/README.md +219 -219
  202. package/packages/device/keymap.ts +1 -1
  203. package/packages/device/resolver/index.ts +2 -2
  204. package/packages/device/resolver/keymap.ts +1 -1
  205. package/packages/device/src/DeviceEventMap.ts +1 -1
  206. package/packages/device/src/device.ts +6 -6
  207. package/packages/device/src/driver/index.android.tv.ts +1 -1
  208. package/packages/device/src/driver/index.entone.ts +1 -1
  209. package/packages/device/src/driver/index.firetv.ts +1 -1
  210. package/packages/device/src/driver/index.hbbtv.tv.ts +1 -1
  211. package/packages/device/src/driver/index.kreatv.ts +1 -1
  212. package/packages/device/src/driver/index.saphi.tv.ts +1 -1
  213. package/packages/device/src/driver/index.smartcast.tv.ts +1 -1
  214. package/packages/device/src/driver/index.tizen.tv.ts +1 -1
  215. package/packages/device/src/driver/index.ts +1 -1
  216. package/packages/device/src/driver/index.vidaa.tv.ts +1 -1
  217. package/packages/device/src/driver/index.webos.tv.ts +1 -1
  218. package/packages/device/src/getKeyDigit.ts +35 -35
  219. package/packages/device/src/getKeyMap.ts +4 -4
  220. package/packages/device/src/index.ts +8 -8
  221. package/packages/device/src/isClickOrEnter.ts +3 -3
  222. package/packages/device/src/resolver/index.ts +2 -2
  223. package/packages/device/src/resolver/resolver.ts +84 -84
  224. package/packages/digital-clock/README.md +26 -26
  225. package/packages/digital-clock/src/DigitalClock.tsx +78 -78
  226. package/packages/digital-clock/src/index.ts +1 -1
  227. package/packages/driver-androidtv/src/DeviceAndroidTV.ts +224 -224
  228. package/packages/driver-androidtv/src/__mocks__/javaScriptBridge.ts +36 -36
  229. package/packages/driver-androidtv/src/formatUserAgent.ts +11 -11
  230. package/packages/driver-androidtv/src/index.ts +1 -1
  231. package/packages/driver-androidtv/src/keymap.ts +27 -27
  232. package/packages/driver-androidtv/src/types.ts +113 -113
  233. package/packages/driver-base/DeviceBase.md +139 -139
  234. package/packages/driver-base/README.md +44 -44
  235. package/packages/driver-base/src/ConnectionType.ts +1 -1
  236. package/packages/driver-base/src/DeviceBase.ts +279 -279
  237. package/packages/driver-base/src/KeyMap/Key.ts +48 -48
  238. package/packages/driver-base/src/KeyMap/KeyMap.ts +390 -390
  239. package/packages/driver-base/src/KeyMap/generateKeyCodeKeyMap.ts +11 -11
  240. package/packages/driver-base/src/KeyMap/index.ts +5 -5
  241. package/packages/driver-base/src/KeyMap/interface.ts +8 -8
  242. package/packages/driver-base/src/KeyMap/overrideValues.ts +17 -17
  243. package/packages/driver-base/src/KeyMap/switchByKey.ts +18 -18
  244. package/packages/driver-base/src/ScreenSize.ts +1 -1
  245. package/packages/driver-base/src/VolumeRange.ts +5 -5
  246. package/packages/driver-base/src/__mocks__/DeviceBase.ts +100 -100
  247. package/packages/driver-base/src/__mocks__/keyMap.ts +42 -42
  248. package/packages/driver-base/src/bindPreventDefaultEvent.ts +5 -5
  249. package/packages/driver-base/src/errors.ts +32 -32
  250. package/packages/driver-base/src/index.ts +10 -10
  251. package/packages/driver-base/src/loadObject.ts +30 -30
  252. package/packages/driver-base/src/types/DeviceEvent.ts +11 -11
  253. package/packages/driver-base/src/types/ExitOptions.ts +1 -1
  254. package/packages/driver-base/src/types/KeycodeKeyMap.ts +86 -86
  255. package/packages/driver-base/src/types/ScreenSaverStatus.ts +3 -3
  256. package/packages/driver-base/src/utils.ts +10 -10
  257. package/packages/driver-browser/src/DeviceBrowser.ts +170 -170
  258. package/packages/driver-browser/src/getBrowser.ts +51 -51
  259. package/packages/driver-browser/src/getOsName.ts +30 -30
  260. package/packages/driver-browser/src/index.ts +1 -1
  261. package/packages/driver-browser/src/keymap.ts +22 -22
  262. package/packages/driver-browser/src/patchSuitestKeys.ts +27 -27
  263. package/packages/driver-entone/README.md +9 -9
  264. package/packages/driver-entone/src/DeviceEntone.ts +232 -232
  265. package/packages/driver-entone/src/IEntone.ts +460 -460
  266. package/packages/driver-entone/src/__mocks__/entone.ts +177 -177
  267. package/packages/driver-entone/src/constants.ts +73 -73
  268. package/packages/driver-entone/src/index.ts +1 -1
  269. package/packages/driver-entone/src/keymap.ts +57 -57
  270. package/packages/driver-firetv/src/DeviceFireTV.ts +18 -18
  271. package/packages/driver-firetv/src/__mocks__/javaScriptBridge.ts +36 -36
  272. package/packages/driver-firetv/src/index.ts +1 -1
  273. package/packages/driver-hbbtv/src/DeviceHbbTV.ts +313 -313
  274. package/packages/driver-hbbtv/src/__mocks__/hbbtv.ts +17 -17
  275. package/packages/driver-hbbtv/src/constants.ts +28 -28
  276. package/packages/driver-hbbtv/src/deviceInfo.ts +23 -23
  277. package/packages/driver-hbbtv/src/getVersion.ts +16 -16
  278. package/packages/driver-hbbtv/src/index.ts +1 -1
  279. package/packages/driver-hbbtv/src/keymap.ts +45 -45
  280. package/packages/driver-hbbtv/src/types.ts +366 -366
  281. package/packages/driver-kreatv/src/DeviceKreaTV.ts +271 -271
  282. package/packages/driver-kreatv/src/IToi.ts +379 -379
  283. package/packages/driver-kreatv/src/__mocks__/toi2.ts +76 -76
  284. package/packages/driver-kreatv/src/__mocks__/toi3.ts +43 -43
  285. package/packages/driver-kreatv/src/index.ts +1 -1
  286. package/packages/driver-kreatv/src/keymap.ts +31 -31
  287. package/packages/driver-kreatv/src/toi2.ts +107 -107
  288. package/packages/driver-kreatv/src/toi3.ts +102 -102
  289. package/packages/driver-kreatv/src/types.ts +35 -35
  290. package/packages/driver-saphi/src/DeviceSaphi.ts +144 -144
  291. package/packages/driver-saphi/src/__mocks__/SmartTvA_API.ts +11 -11
  292. package/packages/driver-saphi/src/__mocks__/userAgent.ts +4 -4
  293. package/packages/driver-saphi/src/constants.ts +1 -1
  294. package/packages/driver-saphi/src/formatUserAgent.ts +19 -19
  295. package/packages/driver-saphi/src/index.ts +1 -1
  296. package/packages/driver-saphi/src/keymap.ts +64 -64
  297. package/packages/driver-saphi/src/types.ts +75 -75
  298. package/packages/driver-smartcast/src/DeviceSmartCast.ts +316 -310
  299. package/packages/driver-smartcast/src/__mocks__/api.ts +49 -49
  300. package/packages/driver-smartcast/src/index.ts +1 -1
  301. package/packages/driver-smartcast/src/keymap.ts +9 -9
  302. package/packages/driver-smartcast/src/types.ts +65 -65
  303. package/packages/driver-tizen/src/DeviceTizen.ts +298 -298
  304. package/packages/driver-tizen/src/ITizen.ts +212 -212
  305. package/packages/driver-tizen/src/IWebapis.ts +95 -95
  306. package/packages/driver-tizen/src/TizenKeys.ts +96 -96
  307. package/packages/driver-tizen/src/__mocks__/tizen.ts +35 -35
  308. package/packages/driver-tizen/src/constants.ts +197 -197
  309. package/packages/driver-tizen/src/index.ts +1 -1
  310. package/packages/driver-tizen/src/types.ts +14 -14
  311. package/packages/driver-vidaa/src/DeviceVidaa.ts +141 -141
  312. package/packages/driver-vidaa/src/__mocks__/vidaa.ts +21 -21
  313. package/packages/driver-vidaa/src/constants.ts +8 -8
  314. package/packages/driver-vidaa/src/formatUserAgent.ts +16 -16
  315. package/packages/driver-vidaa/src/index.ts +1 -1
  316. package/packages/driver-vidaa/src/keymap.ts +56 -56
  317. package/packages/driver-vidaa/src/types.ts +90 -90
  318. package/packages/driver-webos/src/DeviceWebos.ts +313 -313
  319. package/packages/driver-webos/src/__mocks__/webos.ts +172 -172
  320. package/packages/driver-webos/src/constants.ts +20 -20
  321. package/packages/driver-webos/src/index.ts +1 -1
  322. package/packages/driver-webos/src/keymap.ts +10 -10
  323. package/packages/driver-webos/src/types.ts +344 -344
  324. package/packages/driver-webos/src/utils.ts +60 -60
  325. package/packages/driver-webos/src/webOSTVjs/webOSTVjs.js +12 -12
  326. package/packages/driver-xbox/__external__/winjs/directionalnavigation-1.0.0.0.js +1015 -1015
  327. package/packages/driver-xbox/src/DeviceXbox.ts +231 -231
  328. package/packages/driver-xbox/src/__mocks__/Windows.ts +94 -94
  329. package/packages/driver-xbox/src/index.ts +1 -1
  330. package/packages/driver-xbox/src/interfaces.ts +138 -138
  331. package/packages/driver-xbox/src/keymap.ts +96 -96
  332. package/packages/driver-xbox/src/utils.ts +23 -23
  333. package/packages/epg/IMPLEMENTATION.md +228 -228
  334. package/packages/epg/MockGenerator.md +102 -102
  335. package/packages/epg/README.md +585 -585
  336. package/packages/epg/src/v2/Cell.tsx +222 -222
  337. package/packages/epg/src/v2/CellsManager.ts +1 -1
  338. package/packages/epg/src/v2/DataManager.ts +372 -372
  339. package/packages/epg/src/v2/DatePicker.tsx +110 -110
  340. package/packages/epg/src/v2/DateToast/DateToast.scss +28 -28
  341. package/packages/epg/src/v2/DateToast/DateToast.styles.1080.scss +2 -2
  342. package/packages/epg/src/v2/DateToast/DateToast.styles.scss +2 -2
  343. package/packages/epg/src/v2/DateToast/DateToast.tsx +90 -90
  344. package/packages/epg/src/v2/DateToast/_sizes.1080.scss +7 -7
  345. package/packages/epg/src/v2/DateToast/_sizes.scss +7 -7
  346. package/packages/epg/src/v2/DateToast/index.tsx +1 -1
  347. package/packages/epg/src/v2/DateToast/styles.ts +1 -1
  348. package/packages/epg/src/v2/Day.tsx +33 -33
  349. package/packages/epg/src/v2/Epg.tsx +462 -462
  350. package/packages/epg/src/v2/Header.tsx +41 -41
  351. package/packages/epg/src/v2/IdleController.ts +25 -25
  352. package/packages/epg/src/v2/InputEvents.ts +301 -301
  353. package/packages/epg/src/v2/MockGenerator/config.1080.ts +2 -2
  354. package/packages/epg/src/v2/MockGenerator/config.ts +2 -2
  355. package/packages/epg/src/v2/MockGenerator/generator.ts +174 -174
  356. package/packages/epg/src/v2/MockGenerator/index.ts +2 -2
  357. package/packages/epg/src/v2/MockGenerator/mocks/data.ts +102 -102
  358. package/packages/epg/src/v2/MockGenerator/types.ts +25 -25
  359. package/packages/epg/src/v2/MockGenerator/utils.ts +28 -28
  360. package/packages/epg/src/v2/MouseNavigation/MouseNavigation.tsx +88 -88
  361. package/packages/epg/src/v2/MouseNavigation/MouseNavigationFallback.ts +4 -4
  362. package/packages/epg/src/v2/MouseNavigation/index.tizen.tv.ts +1 -1
  363. package/packages/epg/src/v2/MouseNavigation/index.ts +1 -1
  364. package/packages/epg/src/v2/MouseNavigation/index.web.ts +1 -1
  365. package/packages/epg/src/v2/MouseNavigation/index.webos.tv.ts +1 -1
  366. package/packages/epg/src/v2/NowLine.tsx +66 -66
  367. package/packages/epg/src/v2/Program.tsx +58 -58
  368. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.scss +67 -67
  369. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.1080.scss +3 -3
  370. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.1080.scss +2 -2
  371. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.animated.scss +2 -2
  372. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.styles.scss +3 -3
  373. package/packages/epg/src/v2/ProgramInfo/ProgramInfo.tsx +149 -149
  374. package/packages/epg/src/v2/ProgramInfo/_animated.scss +8 -8
  375. package/packages/epg/src/v2/ProgramInfo/_mixins.scss +5 -5
  376. package/packages/epg/src/v2/ProgramInfo/_sizes.1080.scss +21 -21
  377. package/packages/epg/src/v2/ProgramInfo/_sizes.scss +21 -21
  378. package/packages/epg/src/v2/ProgramInfo/index.ts +1 -1
  379. package/packages/epg/src/v2/ProgramInfo/rtl.scss +7 -7
  380. package/packages/epg/src/v2/ProgramInfo/sizes.1080.ts +3 -3
  381. package/packages/epg/src/v2/ProgramInfo/sizes.ts +3 -3
  382. package/packages/epg/src/v2/ProgramInfo/styles.ts +1 -1
  383. package/packages/epg/src/v2/ProgramInfo/utils.ts +28 -28
  384. package/packages/epg/src/v2/Row.tsx +134 -134
  385. package/packages/epg/src/v2/RowsManager.ts +1 -1
  386. package/packages/epg/src/v2/TimeManager.ts +58 -58
  387. package/packages/epg/src/v2/Timeline.ts +1 -1
  388. package/packages/epg/src/v2/TimelineSection.tsx +50 -50
  389. package/packages/epg/src/v2/basic/CellsManager.tsx +300 -300
  390. package/packages/epg/src/v2/basic/RowsManager.tsx +503 -503
  391. package/packages/epg/src/v2/basic/Timeline.tsx +88 -88
  392. package/packages/epg/src/v2/index.ts +1 -1
  393. package/packages/epg/src/v2/interface.ts +1519 -1519
  394. package/packages/epg/src/v2/sizes.1080.ts +2 -2
  395. package/packages/epg/src/v2/sizes.ts +2 -2
  396. package/packages/epg/src/v2/styles/Basic/Basic.scss +116 -116
  397. package/packages/epg/src/v2/styles/Basic/index.ts +1 -1
  398. package/packages/epg/src/v2/styles/Whitelabel/index.ts +1 -1
  399. package/packages/epg/src/v2/utils.ts +40 -40
  400. package/packages/events-manager/src/EventsManager.ts +1 -1
  401. package/packages/events-manager/src/index.ts +2 -2
  402. package/packages/floating-focus/README.md +64 -64
  403. package/packages/floating-focus/src/FloatingFocus.ts +106 -106
  404. package/packages/floating-focus/src/Horizontal.tsx +20 -20
  405. package/packages/floating-focus/src/Vertical.tsx +20 -20
  406. package/packages/floating-focus/src/index.ts +4 -4
  407. package/packages/floating-focus/src/types.ts +20 -20
  408. package/packages/floating-focus/src/utils.ts +43 -43
  409. package/packages/focus/README.md +348 -348
  410. package/packages/focus/src/IFocusable.ts +5 -5
  411. package/packages/focus/src/Layout/Base.tsx +166 -166
  412. package/packages/focus/src/Layout/Horizontal.ts +15 -15
  413. package/packages/focus/src/Layout/Matrix.tsx +357 -357
  414. package/packages/focus/src/Layout/Vertical.ts +12 -12
  415. package/packages/focus/src/Layout/constants.ts +10 -10
  416. package/packages/focus/src/Layout/isRtl.ts +12 -12
  417. package/packages/focus/src/Layout/types.ts +7 -7
  418. package/packages/focus/src/candidate.ts +106 -106
  419. package/packages/focus/src/focusFirstExisting.ts +19 -19
  420. package/packages/focus/src/hasFocus.ts +36 -36
  421. package/packages/focus/src/index.ts +16 -16
  422. package/packages/focus/src/refocusAfterHashChange.ts +19 -19
  423. package/packages/focus/src/safeFocus.ts +15 -15
  424. package/packages/gallup/README.md +27 -27
  425. package/packages/gallup/src/Gallup.ts +80 -80
  426. package/packages/gallup/src/GallupMock.ts +7 -7
  427. package/packages/gallup/src/__external__/SpringStreams.d.ts +39 -39
  428. package/packages/gallup/src/__mocks__/SpringStreams.js +18 -18
  429. package/packages/gallup/src/index.ts +1 -1
  430. package/packages/grid/BasicGrid/README.md +78 -78
  431. package/packages/grid/BasicGrid/index.ts +1 -1
  432. package/packages/grid/FirstOnlyGrid/README.md +43 -43
  433. package/packages/grid/FirstOnlyGrid/index.ts +1 -1
  434. package/packages/grid/FixedToEndGrid/README.md +45 -45
  435. package/packages/grid/FixedToEndGrid/index.ts +1 -1
  436. package/packages/grid/Item/index.ts +1 -1
  437. package/packages/grid/README.md +169 -169
  438. package/packages/grid/src/Base/Base.tsx +492 -492
  439. package/packages/grid/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  440. package/packages/grid/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  441. package/packages/grid/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  442. package/packages/grid/src/Base/MouseNavigation/index.ts +1 -1
  443. package/packages/grid/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  444. package/packages/grid/src/Base/MouseNavigation/index.webtv.ts +1 -1
  445. package/packages/grid/src/Base/index.ts +1 -1
  446. package/packages/grid/src/Base/interface.ts +47 -47
  447. package/packages/grid/src/BasicGrid/BasicGrid.tsx +137 -137
  448. package/packages/grid/src/BasicGrid/config.ts +13 -13
  449. package/packages/grid/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  450. package/packages/grid/src/FirstOnlyGrid/FirstOnlyGrid.tsx +112 -112
  451. package/packages/grid/src/FirstOnlyGrid/config.ts +13 -13
  452. package/packages/grid/src/FirstOnlyGrid/controller.ts +10 -10
  453. package/packages/grid/src/FixedToEndGrid/FixedToEndGrid.tsx +112 -112
  454. package/packages/grid/src/FixedToEndGrid/config.ts +13 -13
  455. package/packages/grid/src/FixedToEndGrid/controller.ts +36 -36
  456. package/packages/grid/src/UnifiedGridController/UnifiedGridController.ts +555 -555
  457. package/packages/grid/src/UnifiedGridController/index.ts +2 -2
  458. package/packages/grid/src/UnifiedGridController/interface.ts +92 -92
  459. package/packages/grid/src/animate.animated.ts +1 -1
  460. package/packages/grid/src/animate.ts +1 -1
  461. package/packages/grid/src/interface.ts +30 -30
  462. package/packages/grid/src/mocks/index.tsx +41 -41
  463. package/packages/grid/src/types.ts +69 -69
  464. package/packages/grid/src/utils.ts +69 -69
  465. package/packages/i18n/README.md +460 -460
  466. package/packages/i18n/src/I18n.ts +246 -246
  467. package/packages/i18n/src/Translation.tsx +36 -36
  468. package/packages/i18n/src/addResourceBundle.ts +73 -73
  469. package/packages/i18n/src/direction.ts +33 -33
  470. package/packages/i18n/src/index.ts +4 -4
  471. package/packages/i18n/src/isRtl.ts +3 -3
  472. package/packages/i18n/src/middlewares/i18next/Context/Context.ts +25 -25
  473. package/packages/i18n/src/middlewares/i18next/Context/index.ts +1 -1
  474. package/packages/i18n/src/middlewares/i18next/Interpolation/Interpolation.ts +95 -95
  475. package/packages/i18n/src/middlewares/i18next/Interpolation/index.ts +1 -1
  476. package/packages/i18n/src/middlewares/i18next/Nesting/Nesting.ts +38 -38
  477. package/packages/i18n/src/middlewares/i18next/Nesting/index.ts +1 -1
  478. package/packages/i18n/src/middlewares/i18next/Plurals/Plurals.ts +123 -123
  479. package/packages/i18n/src/middlewares/i18next/Plurals/Resolvers.ts +124 -124
  480. package/packages/i18n/src/middlewares/i18next/Plurals/index.ts +1 -1
  481. package/packages/i18n/src/middlewares/i18next/Plurals/types.ts +6 -6
  482. package/packages/i18n/src/middlewares/icu/DateInterpolation/DateInterpolation.ts +64 -64
  483. package/packages/i18n/src/middlewares/icu/DateInterpolation/index.ts +1 -1
  484. package/packages/i18n/src/middlewares/icu/Interpolation/Interpolation.ts +39 -39
  485. package/packages/i18n/src/middlewares/icu/Interpolation/index.ts +1 -1
  486. package/packages/i18n/src/middlewares/icu/NumberInterpolation/NumberInterpolation.ts +41 -41
  487. package/packages/i18n/src/middlewares/icu/NumberInterpolation/index.ts +1 -1
  488. package/packages/i18n/src/middlewares/icu/Plurals/Plurals.ts +65 -65
  489. package/packages/i18n/src/middlewares/icu/Plurals/Resolvers.ts +130 -130
  490. package/packages/i18n/src/middlewares/icu/Plurals/index.ts +1 -1
  491. package/packages/i18n/src/middlewares/icu/Plurals/types.ts +15 -15
  492. package/packages/i18n/src/middlewares/icu/Select/Select.ts +36 -36
  493. package/packages/i18n/src/middlewares/icu/Select/index.ts +1 -1
  494. package/packages/i18n/src/middlewares/icu/TimeInterpolation/TimeInterpolation.ts +65 -65
  495. package/packages/i18n/src/middlewares/icu/TimeInterpolation/index.ts +1 -1
  496. package/packages/i18n/src/middlewares/icu/shared/hasVariable.ts +5 -5
  497. package/packages/i18n/src/middlewares/icu/shared/matchSwitchCase.ts +80 -80
  498. package/packages/i18n/src/middlewares/icu/shared/unwrap.ts +1 -1
  499. package/packages/i18n/src/pluralsCommon/PluralsHelper.ts +54 -54
  500. package/packages/i18n/src/pluralsCommon/ResolverByLanguage.ts +129 -129
  501. package/packages/i18n/src/t.tsx +6 -6
  502. package/packages/i18n/src/typedTranslate.ts +31 -31
  503. package/packages/i18n/src/types.ts +66 -66
  504. package/packages/i18n/src/utils.ts +76 -76
  505. package/packages/icon/README.md +107 -107
  506. package/packages/icon/src/Icon.tsx +71 -71
  507. package/packages/icon/src/index.ts +1 -1
  508. package/packages/ime/README.md +72 -72
  509. package/packages/ime/src/IKeyboard.ts +6 -6
  510. package/packages/ime/src/IKeyboardEvent.ts +7 -7
  511. package/packages/ime/src/ImeManager.ts +33 -33
  512. package/packages/ime/src/SystemKeyboard/SystemKeyboard.ts +33 -33
  513. package/packages/ime/src/SystemKeyboard/SystemKeyboardBase.ts +98 -98
  514. package/packages/ime/src/SystemKeyboard/TizenSystemKeyboard.ts +66 -66
  515. package/packages/ime/src/SystemKeyboard/WebosSystemKeyboard.ts +74 -74
  516. package/packages/ime/src/SystemKeyboard/index.tizen.tv.ts +1 -1
  517. package/packages/ime/src/SystemKeyboard/index.ts +1 -1
  518. package/packages/ime/src/SystemKeyboard/index.webos.tv.ts +1 -1
  519. package/packages/ime/src/index.ts +3 -3
  520. package/packages/input/README.md +65 -65
  521. package/packages/input/__mocks__/MockKeyboard.ts +40 -40
  522. package/packages/input/src/Input.scss +9 -9
  523. package/packages/input/src/Input.tsx +267 -267
  524. package/packages/input/src/index.ts +1 -1
  525. package/packages/input/src/utils.ts +71 -71
  526. package/packages/interactable/README.md +38 -38
  527. package/packages/interactable/src/Interactable.tsx +33 -33
  528. package/packages/interactable/src/index.ts +1 -1
  529. package/packages/interactable/src/interface.ts +7 -7
  530. package/packages/ipify/README.md +30 -30
  531. package/packages/ipify/src/index.ts +1 -1
  532. package/packages/ipify/src/ipify.ts +41 -41
  533. package/packages/jsx/README.md +388 -388
  534. package/packages/jsx/src/Component.ts +68 -68
  535. package/packages/jsx/src/createRef.ts +5 -5
  536. package/packages/jsx/src/forwardRef.ts +8 -8
  537. package/packages/jsx/src/index.ts +31 -31
  538. package/packages/jsx/src/jsx-runtime.ts +5 -5
  539. package/packages/jsx/src/manipulation/attachNode.ts +30 -30
  540. package/packages/jsx/src/manipulation/attachNodeBefore.ts +44 -44
  541. package/packages/jsx/src/manipulation/clearNode.ts +14 -14
  542. package/packages/jsx/src/manipulation/detachNode.ts +26 -26
  543. package/packages/jsx/src/manipulation/index.ts +7 -7
  544. package/packages/jsx/src/manipulation/removeNode.ts +18 -18
  545. package/packages/jsx/src/manipulation/replaceNode.ts +42 -42
  546. package/packages/jsx/src/manipulation/swapNodes.ts +53 -53
  547. package/packages/jsx/src/mount/guards.ts +26 -26
  548. package/packages/jsx/src/mount/handleLifecycle.ts +71 -71
  549. package/packages/jsx/src/mount/index.ts +1 -1
  550. package/packages/jsx/src/mount/lifecycle.ts +38 -38
  551. package/packages/jsx/src/mount/lifecycleHelpers.ts +29 -29
  552. package/packages/jsx/src/mount/mount.ts +141 -141
  553. package/packages/jsx/src/mount/namespaces.ts +7 -7
  554. package/packages/jsx/src/mount/props.ts +121 -121
  555. package/packages/jsx/src/nodeUtils.ts +69 -69
  556. package/packages/jsx/src/setText.ts +15 -15
  557. package/packages/jsx/src/test-utils/MountedComponent.ts +50 -50
  558. package/packages/jsx/src/test-utils/README.md +72 -72
  559. package/packages/jsx/src/test-utils/click.ts +7 -7
  560. package/packages/jsx/src/test-utils/enter.ts +4 -4
  561. package/packages/jsx/src/test-utils/index.ts +6 -6
  562. package/packages/jsx/src/test-utils/keydown.ts +27 -27
  563. package/packages/jsx/src/test-utils/keyup.ts +27 -27
  564. package/packages/jsx/src/test-utils/shallow.ts +33 -33
  565. package/packages/jsx/src/test-utils/spec-utils.ts +6 -6
  566. package/packages/jsx/src/textNode.ts +9 -9
  567. package/packages/jsx/src/types.ts +128 -128
  568. package/packages/jsx/src/utils.ts +35 -35
  569. package/packages/jsx/src/virtualDOM.ts +121 -121
  570. package/packages/key-sequence/README.md +44 -44
  571. package/packages/key-sequence/src/KeySequence.ts +56 -56
  572. package/packages/key-sequence/src/arrayEndsWithKeyCombo.ts +22 -22
  573. package/packages/key-sequence/src/index.ts +1 -1
  574. package/packages/key-sequence/src/types.ts +13 -13
  575. package/packages/keyboard/README.md +237 -237
  576. package/packages/keyboard/src/AndroidKeyboard/Keyboard.scss +140 -140
  577. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.1080.scss +2 -2
  578. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.1080.scss +3 -3
  579. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.animated.scss +3 -3
  580. package/packages/keyboard/src/AndroidKeyboard/Keyboard.styles.scss +2 -2
  581. package/packages/keyboard/src/AndroidKeyboard/Keyboard.tsx +235 -235
  582. package/packages/keyboard/src/AndroidKeyboard/_animated.scss +7 -7
  583. package/packages/keyboard/src/AndroidKeyboard/_sizes.1080.scss +15 -15
  584. package/packages/keyboard/src/AndroidKeyboard/_sizes.scss +15 -15
  585. package/packages/keyboard/src/AndroidKeyboard/icons/arrow_left.svg +6 -6
  586. package/packages/keyboard/src/AndroidKeyboard/icons/arrow_right.svg +6 -6
  587. package/packages/keyboard/src/AndroidKeyboard/icons/key_backspace.svg +12 -12
  588. package/packages/keyboard/src/AndroidKeyboard/index.ts +1 -1
  589. package/packages/keyboard/src/AndroidKeyboard/makeLayout.ts +19 -19
  590. package/packages/keyboard/src/Backdrop/Backdrop.scss +17 -17
  591. package/packages/keyboard/src/Backdrop/Backdrop.styles.1080.scss +2 -2
  592. package/packages/keyboard/src/Backdrop/Backdrop.styles.scss +2 -2
  593. package/packages/keyboard/src/Backdrop/Backdrop.tsx +31 -31
  594. package/packages/keyboard/src/Backdrop/_sizes.1080.scss +2 -2
  595. package/packages/keyboard/src/Backdrop/_sizes.scss +2 -2
  596. package/packages/keyboard/src/DefaultKeyboard/Keyboard.scss +73 -73
  597. package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.1080.scss +2 -2
  598. package/packages/keyboard/src/DefaultKeyboard/Keyboard.styles.scss +2 -2
  599. package/packages/keyboard/src/DefaultKeyboard/Keyboard.tsx +155 -155
  600. package/packages/keyboard/src/DefaultKeyboard/_sizes.1080.scss +12 -12
  601. package/packages/keyboard/src/DefaultKeyboard/_sizes.scss +12 -12
  602. package/packages/keyboard/src/DefaultKeyboard/index.ts +1 -1
  603. package/packages/keyboard/src/KeyboardBase.tsx +344 -344
  604. package/packages/keyboard/src/MobiKeyboard/Keyboard.scss +180 -180
  605. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.1080.scss +2 -2
  606. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.1080.scss +3 -3
  607. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.animated.scss +3 -3
  608. package/packages/keyboard/src/MobiKeyboard/Keyboard.styles.scss +2 -2
  609. package/packages/keyboard/src/MobiKeyboard/Keyboard.tsx +278 -278
  610. package/packages/keyboard/src/MobiKeyboard/_animated.scss +7 -7
  611. package/packages/keyboard/src/MobiKeyboard/_sizes.1080.scss +10 -10
  612. package/packages/keyboard/src/MobiKeyboard/_sizes.scss +10 -10
  613. package/packages/keyboard/src/MobiKeyboard/icons/arrow_left.svg +6 -6
  614. package/packages/keyboard/src/MobiKeyboard/icons/arrow_right.svg +6 -6
  615. package/packages/keyboard/src/MobiKeyboard/icons/key_backspace.svg +12 -12
  616. package/packages/keyboard/src/MobiKeyboard/icons/key_space.svg +6 -6
  617. package/packages/keyboard/src/MobiKeyboard/index.ts +1 -1
  618. package/packages/keyboard/src/MobiKeyboard/utils.ts +19 -19
  619. package/packages/keyboard/src/QwertyKeyboardBase/QwertyKeyboardBase.tsx +54 -54
  620. package/packages/keyboard/src/ShiftMode.ts +25 -25
  621. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.scss +168 -168
  622. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.1080.scss +2 -2
  623. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.styles.scss +2 -2
  624. package/packages/keyboard/src/WhitelabelKeyboard/Keyboard.tsx +353 -353
  625. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  626. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  627. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/index.ts +1 -1
  628. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.scss +81 -81
  629. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  630. package/packages/keyboard/src/WhitelabelKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  631. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.1080.scss +32 -32
  632. package/packages/keyboard/src/WhitelabelKeyboard/_sizes.scss +32 -32
  633. package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_left.svg +9 -9
  634. package/packages/keyboard/src/WhitelabelKeyboard/icons/arrow_right.svg +9 -9
  635. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_backspace.svg +9 -9
  636. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_language.svg +20 -20
  637. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift.svg +9 -9
  638. package/packages/keyboard/src/WhitelabelKeyboard/icons/key_shift_active.svg +9 -9
  639. package/packages/keyboard/src/WhitelabelKeyboard/index.ts +2 -2
  640. package/packages/keyboard/src/WhitelabelKeyboard/layouts/arabic.ts +27 -27
  641. package/packages/keyboard/src/WhitelabelKeyboard/layouts/burmese.ts +27 -27
  642. package/packages/keyboard/src/WhitelabelKeyboard/layouts/dari.ts +28 -28
  643. package/packages/keyboard/src/WhitelabelKeyboard/layouts/hebrew.ts +28 -28
  644. package/packages/keyboard/src/WhitelabelKeyboard/layouts/index.ts +14 -14
  645. package/packages/keyboard/src/WhitelabelKeyboard/layouts/korean.ts +26 -26
  646. package/packages/keyboard/src/WhitelabelKeyboard/layouts/latin.ts +26 -26
  647. package/packages/keyboard/src/WhitelabelKeyboard/layouts/pashto.ts +27 -27
  648. package/packages/keyboard/src/WhitelabelKeyboard/layouts/persian.ts +27 -27
  649. package/packages/keyboard/src/WhitelabelKeyboard/layouts/russian.ts +27 -27
  650. package/packages/keyboard/src/WhitelabelKeyboard/layouts/special.ts +28 -28
  651. package/packages/keyboard/src/WhitelabelKeyboard/layouts/tibetan.ts +26 -26
  652. package/packages/keyboard/src/WhitelabelKeyboard/layouts/turkish.ts +26 -26
  653. package/packages/keyboard/src/WhitelabelKeyboard/layouts/ukrainian.ts +27 -27
  654. package/packages/keyboard/src/WhitelabelKeyboard/layouts/urdu.ts +26 -26
  655. package/packages/keyboard/src/WhitelabelKeyboard/types.ts +28 -28
  656. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.scss +105 -105
  657. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.1080.scss +2 -2
  658. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.styles.scss +2 -2
  659. package/packages/keyboard/src/WhitelabelNumericKeyboard/NumericKeyboard.tsx +161 -161
  660. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.1080.scss +7 -7
  661. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/_sizes.scss +7 -7
  662. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/index.ts +1 -1
  663. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.scss +62 -62
  664. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.1080.scss +2 -2
  665. package/packages/keyboard/src/WhitelabelNumericKeyboard/WhitelabelStyles/whitelabel.styles.scss +2 -2
  666. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.1080.scss +29 -29
  667. package/packages/keyboard/src/WhitelabelNumericKeyboard/_sizes.scss +29 -29
  668. package/packages/keyboard/src/WhitelabelNumericKeyboard/icons/key_backspace.svg +9 -9
  669. package/packages/keyboard/src/WhitelabelNumericKeyboard/index.ts +2 -2
  670. package/packages/keyboard/src/WhitelabelNumericKeyboard/layout.ts +14 -14
  671. package/packages/keyboard/src/hwKeyboardEventToChar.ts +11 -11
  672. package/packages/keyboard/src/types/index.ts +11 -11
  673. package/packages/keyboard/src/utils/caret.ts +48 -48
  674. package/packages/keyboard/src/utils/generateFocusMatrixFromStringMatrix.ts +12 -12
  675. package/packages/keyboard/src/utils/input.ts +40 -40
  676. package/packages/l10n/README.md +120 -120
  677. package/packages/l10n/interface.ts +1 -1
  678. package/packages/l10n/locales/cs.ts +4 -4
  679. package/packages/l10n/locales/en-001.ts +4 -4
  680. package/packages/l10n/locales/en-us.ts +4 -4
  681. package/packages/l10n/src/Locale.tsx +44 -44
  682. package/packages/l10n/src/date/common.ts +165 -165
  683. package/packages/l10n/src/date/cs.ts +89 -89
  684. package/packages/l10n/src/date/de.ts +97 -97
  685. package/packages/l10n/src/date/en-001.ts +76 -76
  686. package/packages/l10n/src/date/en-common.ts +55 -55
  687. package/packages/l10n/src/date/en-us.ts +83 -83
  688. package/packages/l10n/src/date/es.ts +71 -71
  689. package/packages/l10n/src/date/fr.ts +94 -94
  690. package/packages/l10n/src/date/he.ts +101 -101
  691. package/packages/l10n/src/date/iso.ts +63 -63
  692. package/packages/l10n/src/date/types.ts +56 -56
  693. package/packages/l10n/src/index.ts +2 -2
  694. package/packages/l10n/src/l10n.ts +112 -112
  695. package/packages/l10n/src/types.ts +22 -22
  696. package/packages/list/AttachDetachItem/README.md +128 -128
  697. package/packages/list/AttachDetachItem/index.ts +3 -3
  698. package/packages/list/BasicList/README.md +71 -71
  699. package/packages/list/BasicList/index.ts +1 -1
  700. package/packages/list/CenteredList/README.md +42 -42
  701. package/packages/list/CenteredList/index.ts +1 -1
  702. package/packages/list/EdgeOffsetList/README.md +58 -58
  703. package/packages/list/EdgeOffsetList/index.ts +1 -1
  704. package/packages/list/FirstOnlyList/README.md +39 -39
  705. package/packages/list/FirstOnlyList/index.ts +1 -1
  706. package/packages/list/FirstOnlyVariedList/README.md +105 -105
  707. package/packages/list/FirstOnlyVariedList/index.ts +1 -1
  708. package/packages/list/FixedToEndList/README.md +42 -42
  709. package/packages/list/FixedToEndList/index.ts +1 -1
  710. package/packages/list/Item/index.ts +1 -1
  711. package/packages/list/README.md +193 -193
  712. package/packages/list/src/AttachDetachItem/AttachDetachItem.tsx +96 -96
  713. package/packages/list/src/AttachDetachItem/prepareAttachDetachItemData.ts +13 -13
  714. package/packages/list/src/Base/Base.tsx +392 -392
  715. package/packages/list/src/Base/MouseNavigation/MouseNavigation.tsx +82 -82
  716. package/packages/list/src/Base/MouseNavigation/MouseNavigationFallback.ts +4 -4
  717. package/packages/list/src/Base/MouseNavigation/index.tizen.tv.ts +1 -1
  718. package/packages/list/src/Base/MouseNavigation/index.ts +1 -1
  719. package/packages/list/src/Base/MouseNavigation/index.webos.tv.ts +1 -1
  720. package/packages/list/src/Base/MouseNavigation/index.webtv.ts +1 -1
  721. package/packages/list/src/Base/index.ts +1 -1
  722. package/packages/list/src/Base/interface.ts +39 -39
  723. package/packages/list/src/BasicList/BasicList.tsx +178 -178
  724. package/packages/list/src/BasicList/config.ts +13 -13
  725. package/packages/list/src/CenteredList/CenteredList.tsx +116 -116
  726. package/packages/list/src/CenteredList/config.ts +13 -13
  727. package/packages/list/src/CenteredList/controller.ts +46 -46
  728. package/packages/list/src/CenteredList/interface.ts +10 -10
  729. package/packages/list/src/EdgeOffsetList/EdgeOffsetList.tsx +173 -173
  730. package/packages/list/src/EdgeOffsetList/config.ts +13 -13
  731. package/packages/list/src/FastFocusingOptimizer/FastFocusingOptimizer.ts +54 -54
  732. package/packages/list/src/FirstOnlyList/FirstOnlyList.tsx +122 -122
  733. package/packages/list/src/FirstOnlyList/config.ts +13 -13
  734. package/packages/list/src/FirstOnlyList/controller.ts +11 -11
  735. package/packages/list/src/FirstOnlyVariedList/FirstOnlyVariedList.tsx +132 -132
  736. package/packages/list/src/FirstOnlyVariedList/config.ts +13 -13
  737. package/packages/list/src/FixedToEndList/FixedToEndList.tsx +125 -125
  738. package/packages/list/src/FixedToEndList/config.ts +13 -13
  739. package/packages/list/src/FixedToEndList/controller.ts +44 -44
  740. package/packages/list/src/UnifiedListController/UnifiedListController.ts +258 -258
  741. package/packages/list/src/UnifiedListController/UnifiedListControllerBase.ts +241 -241
  742. package/packages/list/src/UnifiedListController/UnifiedVariedListController.ts +241 -241
  743. package/packages/list/src/UnifiedListController/interface.ts +81 -81
  744. package/packages/list/src/__test__/utils.spec.ts +59 -59
  745. package/packages/list/src/animate.animated.ts +1 -1
  746. package/packages/list/src/animate.ts +1 -1
  747. package/packages/list/src/index.ts +1 -1
  748. package/packages/list/src/interface.ts +48 -48
  749. package/packages/list/src/mocks/index.tsx +55 -55
  750. package/packages/list/src/types.ts +132 -132
  751. package/packages/list/src/utils.ts +142 -142
  752. package/packages/list/utils/index.ts +1 -1
  753. package/packages/logger/README.md +117 -117
  754. package/packages/logger/src/LoggerManager.ts +60 -60
  755. package/packages/logger/src/LoggerService.ts +43 -43
  756. package/packages/logger/src/__mocks__/LoggerBase.ts +13 -13
  757. package/packages/logger/src/index.ts +3 -3
  758. package/packages/logger/src/loggers/ConsoleLogger/ConsoleLogger.ts +51 -51
  759. package/packages/logger/src/loggers/ConsoleLogger/README.md +39 -39
  760. package/packages/logger/src/loggers/ConsoleLogger/index.ts +1 -1
  761. package/packages/logger/src/loggers/LoggerBase/LoggerBase.ts +67 -67
  762. package/packages/logger/src/loggers/LoggerBase/README.md +69 -69
  763. package/packages/logger/src/loggers/LoggerBase/index.ts +1 -1
  764. package/packages/logger/src/loggers/SentryLogger/README.md +98 -98
  765. package/packages/logger/src/loggers/SentryLogger/Sentry.ts +2 -2
  766. package/packages/logger/src/loggers/SentryLogger/SentryLogger.ts +179 -179
  767. package/packages/logger/src/loggers/SentryLogger/index.ts +2 -2
  768. package/packages/logger/src/loggers/SentryLogger/mock.ts +6 -6
  769. package/packages/logger/src/loggers/index.ts +2 -2
  770. package/packages/logger/src/types.ts +46 -46
  771. package/packages/logger/src/utils/deviceInfo.ts +25 -25
  772. package/packages/logger/src/utils/index.ts +1 -1
  773. package/packages/lottie-animations/README.md +217 -217
  774. package/packages/lottie-animations/src/LottieAnimation.tsx +125 -125
  775. package/packages/lottie-animations/src/index.ts +7 -7
  776. package/packages/menu/README.md +90 -90
  777. package/packages/menu/WhitelabelMenu/index.ts +1 -1
  778. package/packages/menu/WhitelabelMenu/interface.ts +2 -2
  779. package/packages/menu/WhitelabelMenu/styles.ts +2 -2
  780. package/packages/menu/interface.ts +3 -3
  781. package/packages/menu/src/MenuAndContentContainer/MenuAndContentContainer.tsx +211 -211
  782. package/packages/menu/src/MenuAndContentContainer/index.ts +1 -1
  783. package/packages/menu/src/MenuAndContentContainer/interface.ts +164 -164
  784. package/packages/menu/src/MenuAndContentContainer/service.ts +5 -5
  785. package/packages/menu/src/WhitelabelMenu/SideMenu.scss +41 -41
  786. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.1080.scss +2 -2
  787. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.1080.scss +3 -3
  788. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.animated.scss +3 -3
  789. package/packages/menu/src/WhitelabelMenu/SideMenu.styles.scss +2 -2
  790. package/packages/menu/src/WhitelabelMenu/SideMenu.tsx +248 -248
  791. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.scss +56 -56
  792. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.1080.scss +2 -2
  793. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.1080.scss +3 -3
  794. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.animated.scss +3 -3
  795. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.styles.scss +2 -2
  796. package/packages/menu/src/WhitelabelMenu/SideMenuItem/SideMenuItem.tsx +78 -78
  797. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_animated.scss +12 -12
  798. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.1080.scss +17 -17
  799. package/packages/menu/src/WhitelabelMenu/SideMenuItem/_sizes.scss +17 -17
  800. package/packages/menu/src/WhitelabelMenu/SideMenuItem/index.ts +1 -1
  801. package/packages/menu/src/WhitelabelMenu/SideMenuItem/interface.ts +49 -49
  802. package/packages/menu/src/WhitelabelMenu/SideMenuItem/rtl.scss +12 -12
  803. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.1080.ts +2 -2
  804. package/packages/menu/src/WhitelabelMenu/SideMenuItem/sizes.ts +2 -2
  805. package/packages/menu/src/WhitelabelMenu/SideMenuItem/styles.ts +1 -1
  806. package/packages/menu/src/WhitelabelMenu/VisualController.animated.ts +48 -48
  807. package/packages/menu/src/WhitelabelMenu/VisualController.ts +20 -20
  808. package/packages/menu/src/WhitelabelMenu/VisualControllerBase.ts +71 -71
  809. package/packages/menu/src/WhitelabelMenu/_animated.scss +39 -39
  810. package/packages/menu/src/WhitelabelMenu/_sizes.1080.scss +14 -14
  811. package/packages/menu/src/WhitelabelMenu/_sizes.scss +14 -14
  812. package/packages/menu/src/WhitelabelMenu/constants.animated.ts +1 -1
  813. package/packages/menu/src/WhitelabelMenu/constants.ts +1 -1
  814. package/packages/menu/src/WhitelabelMenu/index.ts +1 -1
  815. package/packages/menu/src/WhitelabelMenu/interface.ts +14 -14
  816. package/packages/menu/src/WhitelabelMenu/rtl.scss +22 -22
  817. package/packages/menu/src/WhitelabelMenu/sizes.1080.ts +1 -1
  818. package/packages/menu/src/WhitelabelMenu/sizes.ts +1 -1
  819. package/packages/menu/src/WhitelabelMenu/styles.ts +1 -1
  820. package/packages/menu/src/WhitelabelMenu/utils.ts +34 -34
  821. package/packages/menu/src/index.ts +2 -2
  822. package/packages/modal-service/README.md +50 -50
  823. package/packages/modal-service/src/IModal.ts +3 -3
  824. package/packages/modal-service/src/ModalService.scss +7 -7
  825. package/packages/modal-service/src/ModalService.styles.1080.scss +2 -2
  826. package/packages/modal-service/src/ModalService.styles.scss +2 -2
  827. package/packages/modal-service/src/ModalService.tsx +102 -102
  828. package/packages/modal-service/src/_sizes.1080.scss +2 -2
  829. package/packages/modal-service/src/_sizes.scss +2 -2
  830. package/packages/modal-service/src/index.ts +2 -2
  831. package/packages/mouse-navigation/README.md +105 -105
  832. package/packages/mouse-navigation/src/ArrowNavigation/Arrow.tsx +58 -58
  833. package/packages/mouse-navigation/src/ArrowNavigation/ArrowNavigation.tsx +95 -95
  834. package/packages/mouse-navigation/src/ArrowNavigation/__test__/Arrow.spec.tsx +35 -35
  835. package/packages/mouse-navigation/src/ArrowNavigation/__test__/ArrowNavigation.spec.tsx +45 -45
  836. package/packages/mouse-navigation/src/ArrowNavigation/index.tsx +1 -1
  837. package/packages/mouse-navigation/src/MouseElementWrapper.tsx +70 -70
  838. package/packages/mouse-navigation/src/MouseNavigation.tsx +157 -157
  839. package/packages/mouse-navigation/src/MouseNavigationInterface.ts +8 -8
  840. package/packages/mouse-navigation/src/index.ts +3 -3
  841. package/packages/numeric-zapper/README.md +153 -153
  842. package/packages/numeric-zapper/src/NumericZapper.scss +20 -20
  843. package/packages/numeric-zapper/src/NumericZapper.styles.1080.scss +2 -2
  844. package/packages/numeric-zapper/src/NumericZapper.styles.scss +2 -2
  845. package/packages/numeric-zapper/src/NumericZapper.tsx +257 -257
  846. package/packages/numeric-zapper/src/ZapperAllower.ts +15 -15
  847. package/packages/numeric-zapper/src/ZapperService.tsx +8 -8
  848. package/packages/numeric-zapper/src/_sizes.1080.scss +7 -7
  849. package/packages/numeric-zapper/src/_sizes.scss +7 -7
  850. package/packages/numeric-zapper/src/index.ts +4 -4
  851. package/packages/numeric-zapper/src/interface.ts +1 -1
  852. package/packages/numeric-zapper/src/styles.ts +1 -1
  853. package/packages/perf-utils/README.md +7 -7
  854. package/packages/perf-utils/src/array/filter.ts +1 -1
  855. package/packages/perf-utils/src/array/find.ts +1 -1
  856. package/packages/perf-utils/src/array/findIndex.ts +1 -1
  857. package/packages/perf-utils/src/array/forEach.ts +1 -1
  858. package/packages/perf-utils/src/array/includes.ts +1 -1
  859. package/packages/perf-utils/src/array/includesNaN.ts +1 -1
  860. package/packages/perf-utils/src/array/index.ts +1 -1
  861. package/packages/perf-utils/src/array/map.ts +1 -1
  862. package/packages/picker/README.md +70 -70
  863. package/packages/picker/src/DatePicker.tsx +55 -55
  864. package/packages/picker/src/ModalPicker/Checkbox.tsx +38 -38
  865. package/packages/picker/src/ModalPicker/PickerItem.tsx +86 -86
  866. package/packages/picker/src/ModalPicker/PickerModal.tsx +98 -98
  867. package/packages/picker/src/ModalPicker/index.ts +1 -1
  868. package/packages/picker/src/ModalPicker/modalPicker.tsx +48 -48
  869. package/packages/picker/src/Picker.tsx +127 -127
  870. package/packages/picker/src/index.ts +3 -3
  871. package/packages/picker/src/types.ts +25 -25
  872. package/packages/pin-input/README.md +55 -55
  873. package/packages/pin-input/src/PinInput.scss +5 -5
  874. package/packages/pin-input/src/PinInput.tsx +169 -169
  875. package/packages/pin-input/src/index.ts +1 -1
  876. package/packages/player-ui/README.md +207 -207
  877. package/packages/player-ui/src/BackwardButton.tsx +41 -41
  878. package/packages/player-ui/src/CurrentTime.tsx +56 -56
  879. package/packages/player-ui/src/Duration.tsx +60 -60
  880. package/packages/player-ui/src/ForwardButton.tsx +41 -41
  881. package/packages/player-ui/src/PauseButton.tsx +65 -65
  882. package/packages/player-ui/src/PlayButton.tsx +57 -57
  883. package/packages/player-ui/src/PlayPauseButton.tsx +63 -63
  884. package/packages/player-ui/src/PlayerInteractable.tsx +67 -67
  885. package/packages/player-ui/src/PlayerTime.tsx +57 -57
  886. package/packages/player-ui/src/PlayerUI.tsx +267 -267
  887. package/packages/player-ui/src/RemainingTime.tsx +74 -74
  888. package/packages/player-ui/src/Seekbar.tsx +274 -274
  889. package/packages/player-ui/src/Seeking.ts +163 -163
  890. package/packages/player-ui/src/StopButton.tsx +35 -35
  891. package/packages/player-ui/src/Subtitles.tsx +151 -151
  892. package/packages/player-ui/src/index.ts +15 -15
  893. package/packages/player-ui/src/mocks.ts +65 -65
  894. package/packages/player-ui/src/timeUtils.ts +142 -142
  895. package/packages/player-ui/src/types.ts +48 -48
  896. package/packages/progress-bar/README.md +31 -31
  897. package/packages/progress-bar/src/ProgressBar.tsx +41 -41
  898. package/packages/progress-bar/src/index.ts +1 -1
  899. package/packages/progress-bar/src/interface.ts +14 -14
  900. package/packages/qr-code/README.md +79 -79
  901. package/packages/qr-code/src/QRCode.tsx +39 -39
  902. package/packages/qr-code/src/index.ts +2 -2
  903. package/packages/qr-code/src/qrGenerator/__external__/constants.ts +23 -23
  904. package/packages/qr-code/src/qrGenerator/__external__/qrcode.d.ts +31 -31
  905. package/packages/qr-code/src/qrGenerator/__external__/qrcode.js +618 -618
  906. package/packages/qr-code/src/qrGenerator/generateQr.ts +7 -7
  907. package/packages/qr-code/src/qrGenerator/index.ts +3 -3
  908. package/packages/router/README.md +163 -163
  909. package/packages/router/src/Route.tsx +166 -166
  910. package/packages/router/src/Router.tsx +220 -220
  911. package/packages/router/src/focusActiveRoute.ts +5 -5
  912. package/packages/router/src/history.ts +31 -31
  913. package/packages/router/src/index.ts +6 -6
  914. package/packages/router/src/types.ts +13 -13
  915. package/packages/router/src/utils.ts +37 -35
  916. package/packages/runtime-config/README.md +37 -37
  917. package/packages/runtime-config/src/Config.ts +44 -44
  918. package/packages/runtime-config/src/index.ts +1 -1
  919. package/packages/sass-utils/README.md +197 -197
  920. package/packages/sass-utils/src/box-shadow.scss +5 -5
  921. package/packages/sass-utils/src/ellipsis.scss +15 -15
  922. package/packages/sass-utils/src/linear-gradient.scss +43 -43
  923. package/packages/sass-utils/src/prefix-property.scss +7 -7
  924. package/packages/sass-utils/src/prefix-value.scss +6 -6
  925. package/packages/sass-utils/src/prefix.scss +6 -6
  926. package/packages/sass-utils/src/scale.1080.scss +3 -3
  927. package/packages/sass-utils/src/scale.720.scss +5 -5
  928. package/packages/sass-utils/src/transform.scss +5 -5
  929. package/packages/sass-utils/src/transition.scss +6 -6
  930. package/packages/scheduler/README.md +55 -55
  931. package/packages/scheduler/src/Scheduler.ts +43 -43
  932. package/packages/scheduler/src/Task.ts +72 -72
  933. package/packages/scheduler/src/index.ts +4 -4
  934. package/packages/scheduler/src/timeProvider.ts +3 -3
  935. package/packages/scroll-text/README.md +77 -77
  936. package/packages/scroll-text/src/Base.tsx +146 -146
  937. package/packages/scroll-text/src/ScrollText.animated.tsx +80 -80
  938. package/packages/scroll-text/src/ScrollText.tsx +53 -53
  939. package/packages/scroll-text/src/ScrollTextBaseClass.tsx +86 -86
  940. package/packages/scroll-text/src/index.ts +1 -1
  941. package/packages/scroller/README.md +77 -77
  942. package/packages/scroller/src/Scroller.tsx +51 -51
  943. package/packages/scroller/src/index.ts +1 -1
  944. package/packages/splash/AnimatedSplash.ts +1 -1
  945. package/packages/splash/AnimatedSplashAnimated.ts +1 -1
  946. package/packages/splash/AnimatedSplashBasic.ts +1 -1
  947. package/packages/splash/AutomaticSplashAnimated.ts +1 -1
  948. package/packages/splash/AutomaticSplashBasic.ts +1 -1
  949. package/packages/splash/README.md +93 -93
  950. package/packages/splash/StaticSplash.ts +1 -1
  951. package/packages/splash/StaticSplashAnimated.ts +1 -1
  952. package/packages/splash/StaticSplashBasic.ts +1 -1
  953. package/packages/splash/src/AnimatedSplash.animated.tsx +78 -78
  954. package/packages/splash/src/AnimatedSplash.basic.tsx +37 -37
  955. package/packages/splash/src/AutomaticSplash.animated.tsx +20 -20
  956. package/packages/splash/src/AutomaticSplash.basic.tsx +20 -20
  957. package/packages/splash/src/Splash.scss +8 -8
  958. package/packages/splash/src/StaticSplash.animated.tsx +48 -48
  959. package/packages/splash/src/StaticSplash.basic.tsx +26 -26
  960. package/packages/splash/src/index.animated.ts +1 -1
  961. package/packages/splash/src/index.ts +1 -1
  962. package/packages/splash/src/styles.ts +1 -1
  963. package/packages/splash/src/types.ts +20 -20
  964. package/packages/storage/README.md +61 -61
  965. package/packages/storage/src/CookieStorage/CookieStorage.ts +57 -57
  966. package/packages/storage/src/CookieStorage/index.ts +1 -1
  967. package/packages/storage/src/LocalStorage/LocalStorage.ts +58 -58
  968. package/packages/storage/src/LocalStorage/index.ts +1 -1
  969. package/packages/storage/src/index.ts +2 -2
  970. package/packages/storage/src/shared.ts +41 -41
  971. package/packages/storage/src/types.ts +33 -33
  972. package/packages/throbber/README.md +53 -53
  973. package/packages/throbber/src/Throbber.scss +52 -52
  974. package/packages/throbber/src/Throbber.tsx +19 -19
  975. package/packages/throbber/src/ThrobberService.tsx +55 -55
  976. package/packages/throbber/src/controlsHandling.ts +14 -14
  977. package/packages/throbber/src/index.ts +2 -2
  978. package/packages/time/README.md +116 -116
  979. package/packages/time/src/Time.ts +257 -257
  980. package/packages/time/src/adapters/24iMediaTimeApi.ts +47 -47
  981. package/packages/time/src/adapters/worldTimeApi.ts +74 -74
  982. package/packages/time/src/constants.ts +14 -14
  983. package/packages/time/src/index.ts +1 -1
  984. package/packages/time/src/services/24iMediaTimeApi/24iMediaTimeApi.ts +43 -43
  985. package/packages/time/src/services/24iMediaTimeApi/index.ts +6 -6
  986. package/packages/time/src/services/worldTimeApi/index.ts +7 -7
  987. package/packages/time/src/services/worldTimeApi/types.ts +75 -75
  988. package/packages/time/src/services/worldTimeApi/worldTimeApi.ts +77 -77
  989. package/packages/time/src/types.ts +39 -39
  990. package/packages/time/src/utils.ts +79 -79
  991. package/packages/toast/README.md +116 -116
  992. package/packages/toast/src/Toast/IVisualController.ts +7 -7
  993. package/packages/toast/src/Toast/Toast.scss +22 -22
  994. package/packages/toast/src/Toast/Toast.styles.1080.scss +2 -2
  995. package/packages/toast/src/Toast/Toast.styles.scss +2 -2
  996. package/packages/toast/src/Toast/Toast.tsx +83 -83
  997. package/packages/toast/src/Toast/VisualController.animated.ts +20 -20
  998. package/packages/toast/src/Toast/VisualController.ts +9 -9
  999. package/packages/toast/src/Toast/_sizes.1080.scss +8 -8
  1000. package/packages/toast/src/Toast/_sizes.scss +8 -8
  1001. package/packages/toast/src/Toast/index.ts +2 -2
  1002. package/packages/toast/src/Toast/styles.ts +1 -1
  1003. package/packages/toast/src/ToastService.scss +8 -8
  1004. package/packages/toast/src/ToastService.styles.1080.scss +2 -2
  1005. package/packages/toast/src/ToastService.styles.scss +2 -2
  1006. package/packages/toast/src/ToastService.tsx +59 -59
  1007. package/packages/toast/src/_sizes.1080.scss +2 -2
  1008. package/packages/toast/src/_sizes.scss +2 -2
  1009. package/packages/toast/src/index.ts +4 -4
  1010. package/packages/toast/src/types.ts +4 -4
  1011. package/packages/types-bigscreen-jsx/README.md +12 -12
  1012. package/packages/types-bigscreen-jsx/global.d.ts +0 -0
  1013. package/packages/types-bigscreen-jsx/index.d.ts +32 -32
  1014. package/packages/types-bigscreen-jsx/src/copyTypes.js +14 -14
  1015. package/packages/utils/README.md +363 -363
  1016. package/packages/utils/src/addClass.ts +9 -9
  1017. package/packages/utils/src/counter.ts +49 -49
  1018. package/packages/utils/src/debounce.ts +54 -54
  1019. package/packages/utils/src/displayToggler.scss +3 -3
  1020. package/packages/utils/src/displayToggler.ts +38 -38
  1021. package/packages/utils/src/elementUtils.ts +105 -105
  1022. package/packages/utils/src/forceReflow.ts +14 -14
  1023. package/packages/utils/src/generateUuid.ts +19 -19
  1024. package/packages/utils/src/index.ts +43 -43
  1025. package/packages/utils/src/keyPress/index.ts +6 -6
  1026. package/packages/utils/src/keyPress/keyPressSimulator.ts +74 -74
  1027. package/packages/utils/src/keyPress/simulateKeyPress.ts +25 -25
  1028. package/packages/utils/src/memoryInfo.ts +21 -21
  1029. package/packages/utils/src/nTimes.ts +9 -9
  1030. package/packages/utils/src/noop.ts +1 -1
  1031. package/packages/utils/src/offsetPosition.ts +56 -56
  1032. package/packages/utils/src/removeClass.ts +9 -9
  1033. package/packages/utils/src/scaledImage.ts +24 -24
  1034. package/packages/utils/src/sizes.1080.ts +1 -1
  1035. package/packages/utils/src/sizes.ts +1 -1
  1036. package/packages/utils/src/stopEvent.ts +10 -10
  1037. package/packages/utils/src/textUtils.ts +57 -57
  1038. package/packages/utils/src/timeConstants.ts +11 -11
  1039. package/packages/utils/src/timers/createInterval.ts +19 -19
  1040. package/packages/utils/src/timers/createTimeout.ts +22 -22
  1041. package/packages/utils/src/timers/index.ts +4 -4
  1042. package/packages/utils/src/timers/runAsync.ts +3 -3
  1043. package/packages/utils/src/timers/types.ts +9 -9
  1044. package/packages/utils/src/wait.ts +3 -3
  1045. package/packages/utils/src/xhr/__mocks__/xhr.ts +29 -29
  1046. package/packages/utils/src/xhr/index.ts +11 -11
  1047. package/packages/utils/src/xhr/xhrSend.ts +141 -141
  1048. package/packages/utils/src/xhr/xhrSendRetry.ts +79 -79
  1049. package/packages/volume-control/README.md +79 -79
  1050. package/packages/volume-control/src/IVolumeControlUI.ts +26 -26
  1051. package/packages/volume-control/src/VolumeControlService.tsx +110 -110
  1052. package/packages/volume-control/src/VolumeControlUI/VisualController.animated.ts +28 -28
  1053. package/packages/volume-control/src/VolumeControlUI/VisualController.ts +3 -3
  1054. package/packages/volume-control/src/VolumeControlUI/VisualControllerBase.ts +26 -26
  1055. package/packages/volume-control/src/VolumeControlUI/VolumeControl.scss +18 -18
  1056. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.animated.scss +2 -2
  1057. package/packages/volume-control/src/VolumeControlUI/VolumeControl.styles.scss +1 -1
  1058. package/packages/volume-control/src/VolumeControlUI/VolumeControlUI.tsx +80 -80
  1059. package/packages/volume-control/src/VolumeControlUI/_animated.scss +8 -8
  1060. package/packages/volume-control/src/VolumeControlUI/index.ts +1 -1
  1061. package/packages/volume-control/src/__mocks__/VolumeControlUIMock.tsx +22 -22
  1062. package/packages/volume-control/src/index.ts +2 -2
  1063. package/packages/zapping/README.md +87 -87
  1064. package/packages/zapping/src/ChannelZapping.ts +143 -143
  1065. package/packages/zapping/src/Zapping.tsx +115 -115
  1066. package/packages/zapping/src/index.ts +1 -1
  1067. package/packages/zapping/src/interface.ts +1 -1
  1068. package/utils/create-export-maps/index.ts +3 -3
  1069. package/utils/create-export-maps/src/__tests__/createExportMaps.spec.ts +50 -50
  1070. package/utils/create-export-maps/src/createExportMaps.ts +61 -61
  1071. package/utils/create-package/README.md +39 -39
  1072. package/utils/create-package/src/createPackage.ts +72 -72
  1073. package/utils/create-package/src/index.ts +3 -3
  1074. package/utils/create-package/src/questionnaire/questions.ts +19 -19
  1075. package/utils/create-package/src/settings/Settings.ts +5 -5
  1076. package/utils/create-package/src/types.ts +4 -4
  1077. package/utils/create-package/templates/typescript/README.md +8 -8
  1078. package/utils/create-package/templates/typescript/exports.json +6 -6
  1079. package/utils/run-scripts/index.ts +3 -3
  1080. package/utils/run-scripts/src/__tests__/runScripts.spec.ts +45 -45
  1081. package/utils/run-scripts/src/runScripts.ts +20 -20
@@ -1,699 +1,699 @@
1
- /*! (C) 2020 Conviva, Inc. All rights reserved. Confidential and proprietary. */
2
- !function(a,b){if("function"==typeof define&&define.amd?define(b):"object"==typeof exports&&(module.exports=b()),"undefined"!=typeof a){if(void 0!==a.Conviva)return;if(a.ConvivaLoading)return;a.ConvivaLoading=!0,
3
- a.Conviva=b(),delete a.ConvivaLoading}}(window,function(){var a={};return function(){"use strict";var b={};!function(){var c=a.Constants={};c.version="4.0.15",c.CUSTOMER_KEY="customerKey",c.GATEWAY_URL="gatewayUrl",
4
- c.LOG_LEVEL="logLevel",c.ASSET_NAME="Conviva.assetName",c.PLAYER_NAME="Conviva.applicationName",c.IS_LIVE="Conviva.streamType",c.ENCODED_FRAMERATE="Conviva.encodedFrameRate",c.DEFAULT_RESOURCE="Conviva.defaultResource",
5
- c.STREAM_URL="Conviva.streamUrl",c.VIEWER_ID="Conviva.viewerId",c.DURATION="Conviva.duration",c.POD_INDEX="podIndex",c.POD_POSITION="podPosition",c.POD_DURATION="podDuration",c.MODULE_NAME="Conviva.moduleName",
6
- c.MODULE_VERSION="Conviva.moduleVersion",c.FRAMEWORK_NAME="Conviva.frameworkName",c.FRAMEWORK_VERSION="Conviva.frameworkVersion",c.CLIENT_CONFIGURATION_FAILED="Constants not yet configured",c.INVALID_PLAYER_MONITOR="Invalid : Did you report playback ended?",
7
- c.INVALID_AD_PLAYER_MONITOR="Invalid : Did you report ad playback ended?",c.PLAYER_UNAVAILABLE_ERROR="Player cannot be null",c.PLAYBACK_ANALYTICS_AVAILABLE="PlaybackAnlytics already built",c.PLAYBACK_ANALYTICS_NOT_AVAILABLE="PlaybackAnlytics not yet built",
8
- c.Playback={BITRATE:"BITRATE",PLAY_HEAD_TIME:"PLAY_HEAD_TIME",RESOLUTION:"RESOLUTION",BUFFER_LENGTH:"BUFFER_LENGTH",PLAYER_STATE:"PLAYER_STATE",RENDERED_FRAMERATE:"RENDERED_FRAMERATE",SEEK_STARTED:"SEEK_STARTED",
9
- SEEK_ENDED:"SEEK_ENDED",CDN_IP:"CDN_IP"},c.Network={SIGNAL_STRENGTH:"SIGNAL_STRENGTH",LINK_ENCRYPTION:"LINK_ENCRYPTION",CONNECTION_TYPE:"CONNECTION_TYPE"},c.ErrorSeverity={FATAL:1,WARNING:0},c.NO_SESSION_KEY=-2,
10
- c.AdPosition={PREROLL:"Pre-roll",MIDROLL:"Mid-roll",POSTROLL:"Post-roll"},c.AdPlayer={CONTENT:"CONTENT",SEPARATE:"SEPARATE"},c.DeviceType={DESKTOP:"DESKTOP",CONSOLE:"Console",SETTOP:"Settop",MOBILE:"Mobile",
11
- TABLET:"Tablet",SMARTTV:"SmartTV"},c.AdType={CLIENT_SIDE:"Client Side",SERVER_SIDE:"Server Side"},c.AdSlates={BLACKOUT_SLATE:"Blackout slate",TECHNICAL_DIFFICULTIES_SLATE:"Technical Difficulties slate",
12
- COMMERCIAL_SLATE:"Commercial Break slate",OTHER_SLATE:"Other slate",VPAID:"VPAID",REGULAR:"Regular Ad"},c.AdServingType={INLINE:"Inline",WRAPPER:"Wrapper"},c.DeviceCategory={ANDROID_DEVICE:"AND",APPLE_DEVICE:"APL",
13
- CHROMECAST:"CHR",DESKTOP_APP:"DSKAPP",DEVICE_SIMULATOR:"SIMULATOR",LG_TV:"LGTV",NINTENDO:"NINTENDO",PLAYSTATION:"PS",ROKU:"RK",SAMSUNG_TV:"SAMSUNGTV",SMART_TV:"TV",SET_TOP_BOX:"STB",TIVO:"TIVO",WEB:"WEB",
14
- WINDOWS_DEVICE:"WIN",XBOX:"XB",KAIOS_DEVICE:"KAIOS"},c.LogLevel={DEBUG:0,INFO:1,WARNING:2,ERROR:3,NONE:4},c.PlayerState={STOPPED:"STOPPED",PLAYING:"PLAYING",BUFFERING:"BUFFERING",PAUSED:"PAUSED",UNKNOWN:"UNKNOWN",
15
- NOT_MONITORED:"NOT_MONITORED"},c.Events={USER_WAIT_STARTED:"Conviva.UserWaitStarted",USER_WAIT_ENDED:"Conviva.UserWaitEnded",BUMPER_VIDEO_STARTED:"Conviva.BumperVideoStarted",BUMPER_VIDEO_ENDED:"Conviva.BumperVideoEnded",
16
- AD_REQUESTED:"Conviva.AdRequested",AD_RESPONSE:"Conviva.AdResponse",AD_SLOT_STARTED:"Conviva.SlotStarted",AD_ATTEMPTED:"Conviva.AdAttempted",AD_SLOT_ENDED:"Conviva.SlotEnded",AD_IMPRESSION_START:"Conviva.AdImpression",
17
- AD_START:"Conviva.AdStart",AD_FIRST_QUARTILE:"Conviva.AdFirstQuartile",AD_MID_QUARTILE:"Conviva.AdMidQuartile",AD_THIRD_QUARTILE:"Conviva.AdThirdQuartile",AD_COMPLETE:"Conviva.AdComplete",AD_END:"Conviva.AdEnd",
18
- AD_IMPRESSION_END:"Conviva.AdImpressionEnd",AD_SKIPPED:"Conviva.AdSkipped",AD_ERROR:"Conviva.AdError",AD_PROGRESS:"Conviva.AdProgress",AD_CLOSE:"Conviva.AdClose",CONTENT_PAUSED:"Conviva.PauseContent",CONTENT_RESUMED:"Conviva.ResumeContent",
19
- POD_START:"Conviva.PodStart",POD_END:"Conviva.PodEnd"},c.ErrorType={ERROR_UNKNOWN:"ERROR_UNKNOWN",ERROR_IO:"ERROR_IO",ERROR_TIMEOUT:"ERROR_TIMEOUT",ERROR_NULL_ASSET:"ERROR_NULL_ASSET",ERROR_MISSING_PARAMETER:"ERROR_MISSING_PARAMETER",
20
- ERROR_NO_AD_AVAILABLE:"ERROR_NO_AD_AVAILABLE",ERROR_PARSE:"ERROR_PARSE",ERROR_INVALID_VALUE:"ERROR_INVALID_VALUE",ERROR_INVALID_SLOT:"ERROR_INVALID_SLOT",ERROR_3P_COMPONENT:"ERROR_3P_COMPONENT",ERROR_UNSUPPORTED_3P_FEATURE:"ERROR_UNSUPPORTED_3P_FEATURE",
21
- ERROR_DEVICE_LIMIT:"ERROR_DEVICE_LIMIT",ERROR_UNMATCHED_SLOT_SIZE:"ERROR_UNMATCHED_SLOT_SIZE"},c.StreamType={UNKNOWN:"UNKNOWN",LIVE:"LIVE",VOD:"VOD"},c.CallbackFunctions={CONSOLE_LOG:"consoleLog",MAKE_REQUEST:"makeRequest",
22
- SAVE_DATA:"saveData",LOAD_DATA:"loadData",GET_EPOCH_TIME_IN_MS:"getEpochTimeInMs",CREATE_TIMER:"createTimer"},c.DeviceMetadata={BRAND:"DeviceBrand",MANUFACTURER:"DeviceManufacturer",MODEL:"DeviceModel",
23
- TYPE:"DeviceType",VERSION:"DeviceVersion",OS_NAME:"OperatingSystemName",OS_VERSION:"OperatingSystemVersion",CATEGORY:"DeviceCategory"},c.AD_PRELOAD_FEATURE="adPreloading",c.AD_TAG_URL="adTagUrl",c.IMASDK_CONTENT_PLAYER="imaMainContentPlayer",
24
- c.CONVIVA_AD_MODULE="convivaAdModule",c.CONVIVA_MODULE="convivaModule",c.MEDIA_ELEMENT="mediaElement";var d=a.Client=function(b,c){function h(a,b){if(!(a instanceof e))throw new Error("clientSettings parameter should be an instance of ClientSettings.");
25
- if(!(b instanceof g))throw new Error("systemFactory parameter should be an instance of SystemFactory.");(a.gatewayUrl==e._httpsProtocol+e.defaultProductionGatewayDNS||a.gatewayUrl==e._httpProtocol+e.defaultProductionGatewayDNS)&&(this.defaultGatewayURLError=!0),
26
- this._settings=a.clone(),this._systemFactory=b,this._systemFactory.configure("SDK",this._settings),this._exceptionCatcher=this._systemFactory.buildExceptionCatcher(),this._exceptionCatcher.runProtected("Client.init",function(){
27
- j._id=N.uinteger32(),j._logger=j._systemFactory.buildLogger(),j._logger.setModuleName("Client"),j.defaultGatewayURLError&&j._logger.info("Gateway URL should not be set to https://cws.conviva.com or http://cws.conviva.com, therefore this call is ignored"),
28
- j._logger.info("init(): url="+j._settings.gatewayUrl+" customerKey="+j._settings.customerKey),j._config=j._systemFactory.buildConfig(),j._config.load(),j._sessionFactory=j._systemFactory.buildSessionFactory(j,j._settings,j._config),
29
- j._logger.info("init(): done.")},function(a){throw new Error("Client constructor failed: "+a.message)})}var j=this;this.defaultGatewayURLError=!1,this.version=d.version,this._logger=null,this._sessionFactory=null,
30
- this._systemFactory=null,this._globalSessionKey=-1,this._settings=null,this._systemSettings=null,this._exceptionCatcher=null,this._config=null,this._id=-1,this._released=!1,this._uniqueIdentifiers={},this._uniqueIdentifierCallback=function(a){
31
- j._logger.info(" Client:: uniqueIdentifierCallback(): "+a)},this._userPrefForData={},h.apply(this,arguments),this.release=function(){this._released||this._exceptionCatcher.runProtected("Client.release",function(){
32
- j._logger.info("release()"),j._sessionFactory.cleanup(),j._sessionFactory=null,j._globalSessionKey=-1,j._logger=null,j._id=-1,j._exceptionCatcher=null,j._settings=null,j._systemSettings=null,j._systemFactory=null,
33
- j._released=!0})},this.createSession=function(a,b){var c=d.NO_SESSION_KEY;return this._released?c:null==a||a instanceof f?(this._exceptionCatcher.runProtected("Client.createSession",function(){c=j._sessionFactory.makeVideoSession(a,C.SESSION_TYPE.VIDEO,b);
34
- }),c):(j._logger.error("createSession(): expecting an instance of ContentMetadata for contentMetadata parameter"),c)},this.createAdSession=function(a,b,c){var e=d.NO_SESSION_KEY;return this._released?e:null==b||b instanceof f?(this._exceptionCatcher.runProtected("Client.createAdSession",function(){
35
- if(null==b&&(b=new f),K.isInteger(a)&&a!=d.NO_SESSION_KEY){var g=j._sessionFactory.getVideoSession(a);(null==b.applicationName||null==b.viewerId)&&null!=g&&null!=g._cwsSession&&null!=g._cwsSession._contentMetadata&&(null==b.viewerId&&null!=g._cwsSession._contentMetadata.viewerId&&(b.viewerId=g._cwsSession._contentMetadata.viewerId),
36
- null==b.applicationName&&null!=g._cwsSession._contentMetadata.applicationName&&(b.applicationName=g._cwsSession._contentMetadata.applicationName)),b.custom["c3.csid"]=K.ToString(g._id)}e=j._sessionFactory.makeVideoSession(b,C.SESSION_TYPE.AD,c);
37
- }),e):(j._logger.error("createAdSession(): expecting an instance of ContentMetadata for adMetadata parameter"),e)},this.reportError=function(b,c,d){return this._released?void 0:K.isValidString(c)?d!==a.Client.ErrorSeverity.FATAL&&d!==a.Client.ErrorSeverity.WARNING?void this._logger.error("reportError(): invalid error severity: "+d):void this._exceptionCatcher.runProtected("Client.reportError",function(){
38
- var a=j._sessionFactory.getVideoSession(b);null!=a&&a.reportError(c,d)}):void this._logger.error("reportError(): invalid error message string: "+c)},this.updateContentMetadata=function(a,b){return this._released?void 0:b instanceof f?void this._exceptionCatcher.runProtected("Client.updateContentMetadata",function(){
39
- var c=j._sessionFactory.getVideoSession(a);if(null!=c){var d=b.clone();c.updateContentMetadata(d)}}):void j._logger.error("updateContentMetadata(): expecting an instance of ContentMetadata for contentMetadata parameter");
40
- },this.detachPlayer=function(a){this._released||this._exceptionCatcher.runProtected("Client.detachPlayer",function(){var b=j._sessionFactory.getVideoSession(a);null!=b&&b.detachPlayer()})},this.offFocus=function(a){
41
- this._released||this._exceptionCatcher.runProtected("Client.offFocus",function(){var b=j._sessionFactory.getVideoSession(a);null!=b&&b.offFocus()})},this.attachPlayer=function(a,b){return this._released?void 0:b instanceof i?void this._exceptionCatcher.runProtected("Client.attachPlayer",function(){
42
- var c=j._sessionFactory.getVideoSession(a);null!=c&&c.attachPlayer(b)}):void j._logger.error("attachPlayer(): expecting an instance of PlayerStateManager for playerStateManager parameter")},this.onFocus=function(a){
43
- this._released||this._exceptionCatcher.runProtected("Client.onFocus",function(){var b=j._sessionFactory.getVideoSession(a);null!=b&&b.onFocus()})},this.contentPreload=function(a){this._released||this._exceptionCatcher.runProtected("Client.contentPreload",function(){
44
- var b=j._sessionFactory.getVideoSession(a);null!=b&&b.contentPreload()})},this.contentStart=function(a){this._released||this._exceptionCatcher.runProtected("Client.contentStart",function(){var b=j._sessionFactory.getVideoSession(a);
45
- null!=b&&b.contentStart()})},this.sendCustomEvent=function(a,b,c){if(!this._released){if(!K.isValidString(b))return void j._logger.error("sendCustomEvent(): eventName parameter must be a valid string.");
46
- K.dictCount(c)<=0&&j._logger.warning("eventAttributes(): should have proper data."),this._exceptionCatcher.runProtected("Client.sendCustomEvent",function(){if(a==d.NO_SESSION_KEY){if(j._globalSessionKey<0){
47
- var e=new f;j._globalSessionKey=j._sessionFactory.makeGlobalSession(e,null)}a=j._globalSessionKey}var g=K.sanitizeStringToStringObject(c),h=j._sessionFactory.getSession(a);null!=h&&h.sendCustomEvent(b,g);
48
- })}},this.adStart=function(a,b,c,e){if(!this._released){if(b!==d.AdStream.CONTENT&&b!==d.AdStream.SEPARATE)return void this._logger.error("adStart(): ignored, invalid value for adStream parameter: "+b);
49
- if(c!==d.AdPlayer.CONTENT&&c!==d.AdPlayer.SEPARATE)return void this._logger.error("adStart(): ignored, invalid value for adPlayer parameter: "+c);e!==d.AdPosition.PREROLL&&e!==d.AdPosition.MIDROLL&&e!==d.AdPosition.POSTROLL&&this._logger.info("adStart(): ignored, invalid value for adPosition parameter: "+e),
50
- this._exceptionCatcher.runProtected("Client.adStart",function(){var d=j._sessionFactory.getVideoSession(a);null!=d&&d.adStart(b,c,e)})}},this.adEnd=function(a){this._released||this._exceptionCatcher.runProtected("Client.adEnd",function(){
51
- var b=j._sessionFactory.getVideoSession(a);null!=b&&b.adEnd()})},this.cleanupSession=function(a){return this._released?void 0:a===d.NO_SESSION_KEY?void this._logger.warning("cleanupSession(): ignored, can't cleanup Client.NO_SESSION_KEY"):void this._exceptionCatcher.runProtected("Client.cleanupSession",function(){
52
- var b=j._sessionFactory.getVideoSession(a);null!=b&&j._sessionFactory.cleanupSession(a)})},this.getAttachedPlayer=function(a){var b=null;return this._released?b:a===d.NO_SESSION_KEY?(this._logger.warning("getAttachedPlayer(): ignored for Client.NO_SESSION_KEY"),
53
- b):(this._exceptionCatcher.runProtected("Client.getAttachedPlayer",function(){var c=j._sessionFactory.getVideoSession(a);null!=c&&(b=c.getPlayerStateManager())}),b)},this.isPlayerAttached=function(a){return this._released?!1:null!==this.getAttachedPlayer(a)?!0:!1;
54
- },this.getPlayerStateManager=function(){if(this._released)throw new Error("This instance of Conviva.Client has been released.");return new i(this._systemFactory)},this.releasePlayerStateManager=function(a){
55
- if(this._released)throw new Error("This instance of Conviva.Client has been released.");this._exceptionCatcher.runProtected("Client.releasePlayerStateManager",function(){a instanceof i&&a.release()})},
56
- this.getSettings=function(){return this._settings},this.getId=function(){return this._id},this.getSessionId=function(a){if(!this._released){var b=null;return this._exceptionCatcher.runProtected("Client.getSessionId",function(){
57
- var c=j._sessionFactory.getVideoSession(a);b=c.getSessionId()}),b}},this.getClientId=function(a){if(!this._released){var b=null;return this._exceptionCatcher.runProtected("Client.getClientId",function(){
58
- var c=j._sessionFactory.getVideoSession(a);b=c.getClientId()}),b}},this.updateCustomMetric=function(a,b,c){this._released||this._exceptionCatcher.runProtected("Client.updateCustomMetric",function(){var d=j._sessionFactory.getVideoSession(a);
59
- d.updateCustomMetric(b,c)})},this.setUniqueIdentifier=function(a,b){if(this._released)throw new Error("This instance of Conviva.Client has been released.");if(null==a||"undefined"==typeof a||"{}"==JSON.stringify(a))throw new Error("Identifiers are not set. No action taken !!");
60
- for(var c in a)this._uniqueIdentifiers[c]=a[c];b&&(this._uniqueIdentifierCallback=b)},this.setUserPreferenceForDataCollection=function(a,b){if(this._released)throw new Error("This instance of Conviva.Client has been released.");
61
- if(null==a||"undefined"==typeof a||"{}"==JSON.stringify(a))throw new Error("Identifiers are not set. No action taken !!");for(var c in a)"false"==a[c]?b?this._userPrefForData[c]=G.ConvivaIdErrorCodes.CONVIVAID_PRIVACY_RESTRICTION:this._userPrefForData[c]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPTOUT:this._userPrefForData[c]=G.ConvivaIdErrorCodes.CONVIVAID_USER_NO_RESTRICTION;
62
- },this.setUserPreferenceForDataDeletion=function(a){if(this._released)throw new Error("This instance of Conviva.Client has been released.");if(null==a||"undefined"==typeof a||"{}"==JSON.stringify(a))throw new Error("Identifiers are not set. No action taken !!");
63
- for(var b in a)"true"==a[b]?this._userPrefForData[b]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPT_DELETE:this._userPrefForData[b]=G.ConvivaIdErrorCodes.CONVIVAID_USER_NO_RESTRICTION}};d.version="2.151.0.37032",
64
- d.NO_SESSION_KEY=c.NO_SESSION_KEY,d.AdPosition={PREROLL:c.AdPosition.PREROLL,MIDROLL:c.AdPosition.MIDROLL,POSTROLL:c.AdPosition.POSTROLL},d.AdStream={CONTENT:"CONTENT",SEPARATE:"SEPARATE"},d.AdPlayer={
65
- CONTENT:c.AdPlayer.CONTENT,SEPARATE:c.AdPlayer.SEPARATE},d.ErrorSeverity={FATAL:c.ErrorSeverity.FATAL,WARNING:c.ErrorSeverity.WARNING},d.DeviceType={DESKTOP:c.DeviceType.DESKTOP,CONSOLE:c.DeviceType.CONSOLE,
66
- SETTOP:c.DeviceType.SETTOP,MOBILE:c.DeviceType.MOBILE,TABLET:c.DeviceType.TABLET,SMARTTV:c.DeviceType.SMARTTV},d.AdTechnology={CLIENT_SIDE:"Client Side",SERVER_SIDE:"Server Side"},d.AdType={BLACKOUT_SLATE:"Blackout slate",
67
- TECHNICAL_DIFFICULTIES_SLATE:"Technical Difficulties slate",COMMERCIAL_SLATE:"Commercial Break slate",OTHER_SLATE:"Other slate",VPAID:"VPAID",REGULAR:"Regular Ad"},d.AdServingType={INLINE:"Inline",WRAPPER:"Wrapper"
68
- },d.DeviceCategory={ANDROID_DEVICE:c.DeviceCategory.ANDROID_DEVICE,APPLE_DEVICE:c.DeviceCategory.APPLE_DEVICE,CHROMECAST:c.DeviceCategory.CHROMECAST,DESKTOP_APP:c.DeviceCategory.DESKTOP_APP,DEVICE_SIMULATOR:c.DeviceCategory.DEVICE_SIMULATOR,
69
- LG_TV:c.DeviceCategory.LG_TV,NINTENDO:c.DeviceCategory.NINTENDO,PLAYSTATION:c.DeviceCategory.PLAYSTATION,ROKU:c.DeviceCategory.ROKU,SAMSUNG_TV:c.DeviceCategory.SAMSUNG_TV,SMART_TV:c.DeviceCategory.SMART_TV,
70
- SET_TOP_BOX:c.DeviceCategory.SET_TOP_BOX,TIVO:c.DeviceCategory.TIVO,WEB:c.DeviceCategory.WEB,WINDOWS_DEVICE:c.DeviceCategory.WINDOWS_DEVICE,XBOX:c.DeviceCategory.XBOX,KAIOS_DEVICE:c.DeviceCategory.KAIOS_DEVICE
71
- };var e=a.ClientSettings=function(a){function b(a){if(!K.isValidString(a))throw new Error("customerKey must be valid");this.customerKey=a}function c(a){if(K.isValidString(a)){var b=a.split("://");if("cws.conviva.com"!=b[1]&&("https"==b[0]||"http"==b[0]))return a;
72
- }return"https://"+d.customerKey+"."+e.defaultProductionGatewayDNS}var d=this;this._customerKey=null,K.defGet(this,"customerKey",function(){return this._customerKey}),K.defSet(this,"customerKey",function(a){
73
- K.isValidString(a)&&(this._customerKey=a)}),this._heartbeatInterval=e.defaultProductionHeartbeatInterval,K.defGet(this,"heartbeatInterval",function(){return this._heartbeatInterval}),K.defSet(this,"heartbeatInterval",function(a){
74
- if("number"==typeof a){var b=K.NumberToUnsignedInt(a);b===a&&(this._heartbeatInterval=b)}}),this._gatewayUrl=null,K.defGet(this,"gatewayUrl",function(){return this._gatewayUrl}),K.defSet(this,"gatewayUrl",function(a){
75
- if(K.isValidString(a)){var b=a.split("://"),c="https"==b[0]||"http"==b[0]?!0:!1;if(c){var d=".com",e=-1!==a.indexOf(d,a.length-d.length);e&&(this._gatewayUrl=a)}}}),b.apply(this,arguments),this.equals=function(a){
76
- return this.customerKey===a.customerKey&&this.gatewayUrl===a.gatewayUrl&&this.heartbeatInterval===a.heartbeatInterval},this.clone=function(){var a=new e(this.customerKey);return a.gatewayUrl=c(this.gatewayUrl),
77
- a.heartbeatInterval=this.heartbeatInterval,a}};e.defaultDevelopmentGatewayUrl="https://conviva.testonly.conviva.com",e.defaultProductionGatewayUrl="https://cws.conviva.com",e.defaultProductionGatewayDNS="cws.conviva.com",
78
- e.defaultDevelopmentGatewayDNS="conviva.testonly.conviva.com",e._httpsProtocol="https://",e._httpProtocol="http://",e.defaultDevelopmentHeartbeatInterval=5,e.defaultProductionHeartbeatInterval=20;var f=a.ContentMetadata=function(){
79
- function a(){return this._assetName}function b(a){"string"==typeof a&&(this._assetName=a)}function c(){return this._custom}function d(a){"object"==typeof a&&(this._custom=K.sanitizeStringToStringObject(a));
80
- }function e(){return this._defaultResource}function g(a){"string"==typeof a&&(this._defaultResource=a)}function h(){return this._viewerId}function i(a){"string"==typeof a&&(this._viewerId=a)}function j(){
81
- return this._applicationName}function k(a){"string"==typeof a&&(this._applicationName=a)}function l(){return this._streamUrl}function m(a){"string"==typeof a&&(this._streamUrl=a)}function n(){return this._streamType;
82
- }function o(a){(a===f.StreamType.UNKNOWN||a===f.StreamType.VOD||a===f.StreamType.LIVE)&&(this._streamType=a)}function p(){return this._duration}function q(a){this._duration=O.sanitizeSpecialIntegerValue(a);
83
- }function r(){return this._encodedFrameRate}function s(a){this._encodedFrameRate=O.sanitizeSpecialIntegerValue(a)}function t(){}this._assetName=null,K.defGet(this,"assetName",a),K.defSet(this,"assetName",b),
84
- this._custom={},K.defGet(this,"custom",c),K.defSet(this,"custom",d),this._defaultResource=null,K.defGet(this,"defaultResource",e),K.defSet(this,"defaultResource",g),this._viewerId=null,K.defGet(this,"viewerId",h),
85
- K.defSet(this,"viewerId",i),this._applicationName=null,K.defGet(this,"applicationName",j),K.defSet(this,"applicationName",k),this._streamUrl=null,K.defGet(this,"streamUrl",l),K.defSet(this,"streamUrl",m),
86
- this._streamType=f.StreamType.UNKNOWN,K.defGet(this,"streamType",n),K.defSet(this,"streamType",o),this._duration=-1,K.defGet(this,"duration",p),K.defSet(this,"duration",q),this._encodedFrameRate=-1,K.defGet(this,"encodedFrameRate",r),
87
- K.defSet(this,"encodedFrameRate",s),t.apply(this,arguments),this.clone=function(){var a=new f;a.assetName=this.assetName,a.applicationName=this.applicationName,a.streamUrl=this.streamUrl,a.viewerId=this.viewerId,
88
- a.defaultResource=this.defaultResource,a.streamType=this.streamType,a.duration=this.duration,a.encodedFrameRate=this.encodedFrameRate;for(var b in this.custom)a.custom[b]=this.custom[b];return a}};f.StreamType={
89
- UNKNOWN:c.StreamType.UNKNOWN,LIVE:c.StreamType.LIVE,VOD:c.StreamType.VOD};var g=(a.ErrorType={ERROR_UNKNOWN:c.ErrorType.ERROR_UNKNOWN,ERROR_IO:c.ErrorType.ERROR_IO,ERROR_TIMEOUT:c.ErrorType.ERROR_TIMEOUT,
90
- ERROR_NULL_ASSET:c.ErrorType.ERROR_NULL_ASSET,ERROR_MISSING_PARAMETER:c.ErrorType.ERROR_MISSING_PARAMETER,ERROR_NO_AD_AVAILABLE:c.ErrorType.ERROR_NO_AD_AVAILABLE,ERROR_PARSE:c.ErrorType.ERROR_PARSE,ERROR_INVALID_VALUE:c.ErrorType.ERROR_INVALID_VALUE,
91
- ERROR_INVALID_SLOT:c.ErrorType.ERROR_INVALID_SLOT,ERROR_3P_COMPONENT:c.ErrorType.ERROR_3P_COMPONENT,ERROR_UNSUPPORTED_3P_FEATURE:c.ErrorType.ERROR_UNSUPPORTED_3P_FEATURE,ERROR_DEVICE_LIMIT:c.ErrorType.ERROR_DEVICE_LIMIT,
92
- ERROR_UNMATCHED_SLOT_SIZE:c.ErrorType.ERROR_UNMATCHED_SLOT_SIZE},a.Events={AD_REQUESTED:c.Events.AD_REQUESTED,AD_RESPONSE:c.Events.AD_RESPONSE,AD_SLOT_STARTED:c.Events.AD_SLOT_STARTED,AD_ATTEMPTED:c.Events.AD_ATTEMPTED,
93
- AD_SLOT_ENDED:c.Events.AD_SLOT_ENDED,AD_IMPRESSION_START:c.Events.AD_IMPRESSION_START,AD_START:c.Events.AD_START,AD_FIRST_QUARTILE:c.Events.AD_FIRST_QUARTILE,AD_MID_QUARTILE:c.Events.AD_MID_QUARTILE,AD_THIRD_QUARTILE:c.Events.AD_THIRD_QUARTILE,
94
- AD_COMPLETE:c.Events.AD_COMPLETE,AD_END:c.Events.AD_END,AD_IMPRESSION_END:c.Events.AD_IMPRESSION_END,AD_SKIPPED:c.Events.AD_SKIPPED,AD_ERROR:c.Events.AD_ERROR,AD_PROGRESS:c.Events.AD_PROGRESS,AD_CLOSE:c.Events.AD_CLOSE,
95
- CONTENT_PAUSED:c.Events.CONTENT_PAUSED,CONTENT_RESUMED:c.Events.CONTENT_RESUMED,POD_START:c.Events.POD_START,POD_END:c.Events.POD_END},a.SystemFactory=function(a,b){function c(a,b){if(!(a instanceof n))throw new Error("systemInterface parameter should be an instance of SystemInterface.");
96
- this._systemInterface=a,this._timeInterface=this._systemInterface._timeInterface,this._timerInterface=this._systemInterface._timerInterface,this._httpInterface=this._systemInterface._httpInterface,this._storageInterface=this._systemInterface._storageInterface,
97
- this._metadataInterface=this._systemInterface._metadataInterface,this._loggingInterface=this._systemInterface._loggingInterface,b instanceof h?this._settings=b.clone():this._settings=new h}var d=this;c.apply(this,arguments),
98
- this.configure=function(a,b){this._packageName=a,this._clientSettings=b},this.release=function(){this._systemInterface.release(),this._systemInterface=null,this._packageName=null,this._settings=null,this._logBuffer=null;
99
- };var e={build:function(){return new R(d._loggingInterface,d._timeInterface,d.getSettings(),d._logBuffer,d._packageName)}};this.buildLogger=function(){return e.build()},this.buildSessionFactory=function(a,b,c){
100
- return new E(a,b,c,this)},this.buildPing=function(){return new M(this.buildLogger(),this.buildHttpClient(),this._clientSettings)},this.buildCallbackWithTimeout=function(){return new F(this.buildTimer());
101
- },this.buildCallbackWithTimeoutNoPing=function(){var a=null,b=new I(this.buildLogger(),a,this.getSettings()),c=new V(this.buildLogger(),this._timerInterface,b);return new F(c)},this.buildHttpClient=function(){
102
- return new Q(this.buildLogger(),this._httpInterface,this.buildCallbackWithTimeoutNoPing(),this.getSettings())},this.buildExceptionCatcher=function(){return new I(this.buildLogger(),this.buildPing(),this.getSettings());
103
- },this.buildTime=function(){return new U(this._timeInterface,this.buildLogger())},this.buildTimer=function(){return new V(this.buildLogger(),this._timerInterface,this.buildExceptionCatcher())},this.buildStorage=function(){
104
- return new S(this.buildLogger(),this._storageInterface,this.buildCallbackWithTimeout(),this.getSettings())},this.buildConfig=function(){return new G(this.buildLogger(),this.buildStorage(),this.buildJsonInterface());
105
- },this.buildSystemMetadata=function(){return new T(this.buildLogger(),this._metadataInterface,this.buildExceptionCatcher())},this.buildCwsProtocol=function(){return new z},this.buildGatewayControl=function(a){
106
- return new J(a,this.buildLogger(),this.buildHttpClient(),this.buildJsonInterface())},this.buildCwsSession=function(a,b,c,d){var e=this.buildGatewayControl(b);return new C(this.buildEventQueue(),a,b,this.buildLogger(),this.buildExceptionCatcher(),this.buildTimer(),e,this.buildCwsProtocol(),this.buildTime(),this.getLogBuffer(),c,d);
107
- },this.buildSession=function(a,b,c,d,e,f){var g=this.buildExceptionCatcher(),h=this.buildLogger(),i=b.clone(),j=this.buildCwsSession(a,i,c,f);return new D(d,e,c,this.buildSystemMetadata(),j,g,h)},this.buildEventQueue=function(){
108
- return new H},this.buildJsonInterface=function(){return new A},this.getLogBuffer=function(){return this._logBuffer},this.getSettings=function(){return this._settings},this._logBuffer=new L}),h=a.SystemSettings=function(){
109
- function a(){}this._logLevel=h.defaultProductionLogLevel,K.defGet(this,"logLevel",function(){return this._logLevel}),K.defSet(this,"logLevel",function(a){if("number"==typeof a){var b=K.NumberToUnsignedInt(a);
110
- b===a&&b>=h.LogLevel.DEBUG&&b<=h.LogLevel.ERROR&&(this._logLevel=b)}}),this._allowUncaughtExceptions=h.defaultProductionAllowUncaughtExceptions,K.defGet(this,"allowUncaughtExceptions",function(){return this._allowUncaughtExceptions;
111
- }),K.defSet(this,"allowUncaughtExceptions",function(a){K.isBoolean(a)&&(this._allowUncaughtExceptions=a)}),this._storageTimeout=h.defaultStorageTimeout,K.defGet(this,"storageTimeout",function(){return this._storageTimeout;
112
- }),K.defSet(this,"storageTimeout",function(a){if("number"==typeof a){var b=K.NumberToUnsignedInt(a);b===a&&(this._storageTimeout=b)}}),this._httpTimeout=h.defaultHttpTimeout,K.defGet(this,"httpTimeout",function(){
113
- return this._httpTimeout}),K.defSet(this,"httpTimeout",function(a){if("number"==typeof a){var b=K.NumberToUnsignedInt(a);b===a&&(this._httpTimeout=b)}}),a.apply(this,arguments),this.equals=function(a){
114
- return this.logLevel===a.logLevel&&this.allowUncaughtExceptions===a.allowUncaughtExceptions&&this.storageTimeout===a.storageTimeout&&this.httpTimeout===a.httpTimeout},this.clone=function(){var a=new h;return a.logLevel=this.logLevel,
115
- a.allowUncaughtExceptions=this.allowUncaughtExceptions,a.storageTimeout=this.storageTimeout,a.httpTimeout=this.httpTimeout,a}};h.LogLevel={DEBUG:c.LogLevel.DEBUG,INFO:c.LogLevel.INFO,WARNING:c.LogLevel.WARNING,
116
- ERROR:c.LogLevel.ERROR,NONE:c.LogLevel.NONE},h.defaultDevelopmentLogLevel=h.LogLevel.DEBUG,h.defaultProductionLogLevel=h.LogLevel.NONE,h.defaultDevelopmentAllowUncaughtExceptions=!0,h.defaultProductionAllowUncaughtExceptions=!1,
117
- h.defaultStorageTimeout=10,h.defaultHttpTimeout=10;var i=a.PlayerStateManager=function(c){function d(a){e._systemFactory=a,e._logger=e._systemFactory.buildLogger(),e._logger.setModuleName("PlayerStateManager"),
118
- e._exceptionCatcher=e._systemFactory.buildExceptionCatcher()}var e=this;e._monitorNotifier=null,e._bitrateKbps=-2,e._playerState=i.PlayerState.UNKNOWN,e._currentMetadata={},e._renderedFrameRate=-2,e._encodedFrameRate=-2,
119
- e._duration=-2,e._playerVersion=null,e._playerType=null,e._streamUrl=null,e._moduleName=null,e._moduleVersion=null,e._width=-1,e._height=-1,e._connectionType=null,e._linkEncryption=null,e._lastError=null,
120
- e._pendingErrors=[],e._released=!1,this.release=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.release",function(){null!=e._monitorNotifier&&e._monitorNotifier.onRelease(),
121
- e.removeMonitoringNotifier(),e._systemFactory=null,e._logger=null,e._exceptionCatcher=null,e._released=!0})},this.setPlayheadTime=function(a){},this.setBufferLength=function(a){},this.setRenderedFrameRate=function(a){},
122
- this.getEncodedFrameRate=function(){return e._encodedFrameRate},this.setEncodedFrameRate=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setEncodedFrameRate",function(){var b=O.sanitizeSpecialIntegerValue(a);
123
- b>=-1&&(e._encodedFrameRate=b,null!=e._monitorNotifier&&e._monitorNotifier.onEncodedFrameRateChange(e._encodedFrameRate))})},this.getDuration=function(){return e._duration},this.setClientMeasureInterface=function(b){
124
- K.validateInterface(b,new a.ClientMeasureInterface,"ClientMeasureInterface"),this._playerInterface=b},this.getPHT=function(){return this._playerInterface&&"function"==typeof this._playerInterface.getPHT?this._playerInterface.getPHT():i.DEFAULT_PHT;
125
- },this.getBufferLength=function(){return this._playerInterface&&"function"==typeof this._playerInterface.getBufferLength?this._playerInterface.getBufferLength():i.DEFAULT_BUFFER_LENGTH},this.getSignalStrength=function(){
126
- return this._playerInterface&&"function"==typeof this._playerInterface.getSignalStrength?this._playerInterface.getSignalStrength():i.DEFAULT_SIGNAL_STRENGTH},this.getRenderedFrameRate=function(){return this._playerInterface&&"function"==typeof this._playerInterface.getRenderedFrameRate?this._playerInterface.getRenderedFrameRate():i.DEFAULT_RENDERED_FRAME_RATE;
127
- },this.setDuration=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setDuration",function(){var b=O.sanitizeSpecialIntegerValue(a);b>=-1&&(e._duration=b,null!=e._monitorNotifier&&e._monitorNotifier.onContentLengthChange(e._duration));
128
- })},this.getStreamUrl=function(){return e._streamUrl},this.setStreamUrl=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setStreamUrl",function(){null!=a&&(e._streamUrl=a,null!=e._monitorNotifier&&e._monitorNotifier.onStreamUrlChange(e._streamUrl));
129
- })},this.getModuleName=function(){return e._moduleName},this.getModuleVersion=function(){return e._moduleVersion},this.setModuleNameAndVersion=function(a,b){e._moduleName=a,e._moduleVersion=b},this.getPlayerType=function(){
130
- return e._playerType},this.setPlayerType=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerType",function(){e._playerType=a,null!=e._monitorNotifier&&e._monitorNotifier.onPlayerTypeChange(e._playerType);
131
- })},this.getPlayerVersion=function(){return e._playerVersion},this.setPlayerVersion=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerVersion",function(){e._playerVersion=a,
132
- null!=e._monitorNotifier&&e._monitorNotifier.onPlayerVersionChange(e._playerVersion)})},this.setMonitoringNotifier=function(a,b){return e._released?void 0:null!=e._monitorNotifier?!1:(e._monitorNotifier=a,
133
- e._logger.setSessionId(b),!0)},this.removeMonitoringNotifier=function(){e._released||(e._monitorNotifier=null,e._logger.setSessionId(null))},this.pushCurrentState=function(){e.setPlayerState(e.getPlayerState()),
134
- e.setBitrateKbps(e.getBitrateKbps()),e.setDuration(e.getDuration()),e.setEncodedFrameRate(e.getEncodedFrameRate()),e.setStreamUrl(e.getStreamUrl()),e.setPlayerType(e.getPlayerType()),e.setPlayerVersion(e.getPlayerVersion());
135
- for(var a=0;a<e._pendingErrors.length;a++){var b=e._pendingErrors[a];e.setError(b)}e._pendingErrors=[]},this.getPlayerState=function(){return e._playerState},this.setPlayerState=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerState",function(){
136
- i.isValidPlayerState(a)?(e._playerState=a,null!=e._monitorNotifier&&e._monitorNotifier.onPlayerStateChange(e._playerState)):e._logger.error("PlayerStateManager.SetPlayerState(): invalid state: "+a)})},
137
- this.getBitrateKbps=function(){return e._bitrateKbps},this.setBitrateKbps=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setBitrateKbps",function(){var b=O.sanitizeSpecialIntegerValue(a);
138
- b>=-1&&(e._bitrateKbps=b,null!=e._monitorNotifier&&e._monitorNotifier.onBitrateChange(e._bitrateKbps))})},this.setPlayerSeekStart=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerSeekStart()",function(){
139
- null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.SEEK_START,a)})},this.setPlayerSeekEnd=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerSeekEnd()",function(){
140
- null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.SEEK_END,-1)})},this.setUserSeekButtonUp=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setUserSeekButtonUp()",function(){
141
- null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.BUTTON_UP,-1)})},this.setUserSeekButtonDown=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setUserSeekButtonDown()",function(){
142
- null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.BUTTON_DOWN,-1)})},this.setVideoResolutionWidth=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setVideoResolutionWidth()",function(){
143
- var b=O.sanitizeSpecialIntegerValue(a);b>0&&(e._width=b),null!=e._monitorNotifier&&e._monitorNotifier.onStreamResolutionWidthChange(e._width)})},this.setVideoResolutionHeight=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setVideoResolutionHeight()",function(){
144
- var b=O.sanitizeSpecialIntegerValue(a);b>0&&(e._height=b),null!=e._monitorNotifier&&e._monitorNotifier.onStreamResolutionHeightChange(e._height)})},this.setConnectionType=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setConnectionType()",function(){
145
- e._connectionType=a,null!=e._monitorNotifier&&e._monitorNotifier.onConnectionTypeChange(e._connectionType)})},this.setLinkEncryption=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setLinkEncryption()",function(){
146
- e._linkEncryption=a,null!=e._monitorNotifier&&e._monitorNotifier.onLinkEncryptionChange(e._linkEncryption)})},this.setSignalStrength=function(a){},this.setError=function(a){if(e._lastError=a,null!=e._monitorNotifier){
147
- var b=a.errorCode,c=a.severity;e._monitorNotifier.onError(b,c)}else e._pendingErrors.push(a)},this.sendError=function(a,c){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.sendError",function(){
148
- var d=new b.StreamerError(a,c);e.setError(d)})},this.reset=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.reset",function(){e._bitrateKbps=-2,e._playerState=i.PlayerState.UNKNOWN,
149
- e._currentMetadata={},e._renderedFrameRate=-1,e._encodedFrameRate=-1,e._duration=-1,e._playerVersion=null,e._playerType=null,e._streamUrl=null,e._lastError=null,e._pendingErrors=[]})},this.setCDNServerIP=function(a){
150
- e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setCDNServerIP",function(){null!=e._monitorNotifier&&e._monitorNotifier.onCDNServerIPChange(a)})},this.getError=function(){return e._lastError;
151
- },d.apply(e,arguments)};i.PlayerState={STOPPED:c.PlayerState.STOPPED,PLAYING:c.PlayerState.PLAYING,BUFFERING:c.PlayerState.BUFFERING,PAUSED:c.PlayerState.PAUSED,UNKNOWN:c.PlayerState.UNKNOWN,NOT_MONITORED:c.PlayerState.NOT_MONITORED
152
- },i.isValidPlayerState=function(a){return a===i.PlayerState.STOPPED||a===i.PlayerState.PLAYING||a===i.PlayerState.BUFFERING||a===i.PlayerState.PAUSED||a===i.PlayerState.UNKNOWN||a===i.PlayerState.NOT_MONITORED?!0:!1;
153
- },i.SEEK_ACTIONS_TYPE={SEEK_START:"pss",SEEK_END:"pse",BUTTON_UP:"bu",BUTTON_DOWN:"bd"},i.DEFAULT_SIGNAL_STRENGTH=1e3,i.DEFAULT_RENDERED_FRAME_RATE=-1,i.DEFAULT_BUFFER_LENGTH=-1,i.DEFAULT_PHT=-1;var j=(a.ClientMeasureInterface=function(){
154
- this.getPHT=function(){},this.getBufferLength=function(){},this.getSignalStrength=function(){},this.getRenderedFrameRate=function(){}},a.HttpInterface=function(){this.makeRequest=function(a,b,c,d,e,f){},
155
- this.release=function(){}}),k=a.LoggingInterface=function(){this.consoleLog=function(a,b){},this.release=function(){}},l=a.MetadataInterface=function(){this.getBrowserName=function(){},this.getBrowserVersion=function(){},
156
- this.getDeviceBrand=function(){},this.getDeviceManufacturer=function(){},this.getDeviceModel=function(){},this.getDeviceType=function(){},this.getDeviceVersion=function(){},this.getFrameworkName=function(){},
157
- this.getFrameworkVersion=function(){},this.getOperatingSystemName=function(){},this.getOperatingSystemVersion=function(){},this.getDeviceCategory=function(){},this.release=function(){}},m=a.StorageInterface=function(){
158
- this.saveData=function(a,b,c,d){},this.loadData=function(a,b,c){},this.release=function(){}},n=a.SystemInterface=function(a,b,c,d,e,f){function g(a,b,c,d,e,f){K.validateInterface(a,new o,"TimeInterface"),
159
- K.validateInterface(b,new p,"TimerInterface"),K.validateInterface(c,new j,"HttpInterface"),K.validateInterface(d,new m,"StorageInterface"),K.validateInterface(e,new l,"MetadataInterface"),K.validateInterface(f,new k,"LoggingInterface"),
160
- this._timeInterface=a,this._timerInterface=b,this._httpInterface=c,this._storageInterface=d,this._metadataInterface=e,this._loggingInterface=f}g.apply(this,arguments),this.release=function(){null!=this._timeInterface&&(this._timeInterface.release(),
161
- this._timeInterface=null),null!=this._timerInterface&&(this._timerInterface.release(),this._timerInterface=null),null!=this._httpInterface&&(this._httpInterface.release(),this._httpInterface=null),null!=this._storageInterface&&(this._storageInterface.release(),
162
- this._storageInterface=null),null!=this._metadataInterface&&(this._metadataInterface.release(),this._metadataInterface=null),null!=this._loggingInterface&&(this._loggingInterface.release(),this._loggingInterface=null);
163
- }},o=a.TimeInterface=function(){this.getEpochTimeMs=function(){},this.release=function(){}},p=a.TimerInterface=function(){this.createTimer=function(a,b,c){},this.release=function(){}},q=b.AdAnalytics=function(){
164
- function b(a,b,c){g._client=a,g._videoAnalytics=c,g._systemFactory=b,g._playerMonitor=c.getPlayerMonitor(),g._timer=b.buildTimer(),g._logger=b.buildLogger(),g._logger.setModuleName("AdAnalytics"),g._adPlayerMonitor=new r(g._client,g._timer),
165
- t.call(this)}function e(a){f(a)}function f(a){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.onAdInitiated() : contentPlayer - "+c.INVALID_PLAYER_MONITOR)):(K.dictCount(a)>0&&g.setAdInfo(a),
166
- void(g._adPlayerMonitor.getIsAffectingUser()||(g._adPlayerMonitor.setContentPlayerMonitor(g._playerMonitor),g._adPlayerMonitor.setAffectingUser(!0))))}var g=this;g._client=null,g._logger=null,g._systemFactory=null,
167
- g._timer=null,g._playerMonitor=null,g._adPlayerMonitor=null,g._adPlayer=null,g._dropInModule=null,g._videoAnalytics=null,b.apply(this,arguments),this.setAdInfo=function(a){return K.dictCount(a)<=0?void(null!=g._logger&&g._logger.error("AdAnalytics.setAdInfo() : AD Info is not set")):(null!=g._logger&&g._logger.debug("AdAnalytics.setAdInfo()"),
168
- void(null!=g._adPlayerMonitor&&g._adPlayerMonitor.setOrUpdateMetadataInfo(a)))},this.setAdPlayerInfo=function(a){return K.dictCount(a)<=0?void(null!=g._logger&&g._logger.error("AdAnalytics.setAdPlayerInfo() : Ad Player Info is not set")):(null!=g._logger&&g._logger.debug("AdAnalytics.setAdPlayerInfo()"),
169
- void(null!=g._adPlayerMonitor&&g._adPlayerMonitor.setOrUpdateMetadataInfo(a)))},this.reportAdMetric=function(){return 0==arguments.length?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdMetric() : Need to report metric mandatory")):void(1==arguments.length?g.reportMetric(arguments[0]):2==arguments.length?g.reportMetric(arguments[0],arguments[1]):3==arguments.length?g.reportMetric(arguments[0],arguments[1],arguments[2]):4==arguments.length&&g.reportMetric(arguments[0],arguments[1],arguments[2],arguments[3]));
170
- },this.setCallback=function(a){null!=g._adPlayerMonitor&&g._adPlayerMonitor.setCallback(a)},this.reportAdFailed=function(a,b){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdFailed() : "+c.INVALID_PLAYER_MONITOR)):(K.dictCount(b)>0&&g.setAdInfo(b),
171
- g._adPlayerMonitor.getIsAffectingUser()||(g._adPlayerMonitor.setContentPlayerMonitor(g._playerMonitor),g._adPlayerMonitor.setAffectingUser(!0)),null!=g._logger&&g._logger.debug("AdAnalytics.reportAdFailed() : "+a),
172
- g.reportAdError(a,d.ErrorSeverity.FATAL),void g.reportAdEnded())},this.reportAdLoaded=function(a){null!=g._logger&&g._logger.debug("AdAnalytics.reportAdLoaded()"),e(a)},this.reportAdStarted=function(a){
173
- null!=g._logger&&g._logger.debug("AdAnalytics.reportAdStarted()"),e(a)},this.reportAdEnded=function(){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdEnded() : "+c.INVALID_AD_PLAYER_MONITOR)):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdEnded()"),
174
- void(g._adPlayerMonitor.getIsAffectingUser()&&(g._adPlayerMonitor.setContentPlayerMonitor(null),g._adPlayerMonitor.setAffectingUser(!1))))},this.reportAdError=function(a,b){if(null==g._adPlayerMonitor)return void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdError() : "+c.INVALID_PLAYER_MONITOR));
175
- null!=g._logger&&g._logger.debug("AdAnalytics.reportAdError() : "+a);var d=new P(a,b);g._adPlayerMonitor.setError(d)},this.reportAdPlayerEvent=function(b,d){if(!K.isValidString(b))return void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdPlayerEvent(): eventType parameter must be a valid string."));
176
- if(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdPlayerEvent()"),null==g._adPlayerMonitor)return void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdPlayerEvent() : "+c.INVALID_PLAYER_MONITOR));
177
- switch(b){case a.Constants.Events.USER_WAIT_STARTED:case a.Constants.Events.BUMPER_VIDEO_STARTED:g._adPlayerMonitor.detachPlayer();break;case a.Constants.Events.USER_WAIT_ENDED:case a.Constants.Events.BUMPER_VIDEO_ENDED:
178
- g._adPlayerMonitor.attachPlayer();break;default:g._adPlayerMonitor.setEvent(b,d)}},this.reportAdSkipped=function(){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdSkipped() : "+c.INVALID_PLAYER_MONITOR)):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdSkipped()"),
179
- g.reportAdPlayerEvent(c.Events.AD_SKIPPED),void g.reportAdEnded())},this.release=function(){null!=g._logger&&g._logger.debug("AdAnalytics.release()"),null!=g._adPlayerMonitor&&(g._adPlayerMonitor.getIsAffectingUser()&&(g._adPlayerMonitor.setContentPlayerMonitor(null),
180
- g._adPlayerMonitor.setAffectingUser(!1)),g._adPlayerMonitor.setCallback(null),g._adPlayerMonitor.release(),g._adPlayerMonitor=null),"undefined"!=typeof a.AdProxyMonitor&&null!=g._dropInModule&&(a.AdProxyMonitor.release(g._dropInModule),
181
- g._dropInModule=null)},this.setAdListener=function(b,c){return void 0==b?void g._logger.error("AdAnalytics.setAdListener() : Need to configure the adListener instance"):("undefined"!=typeof c&&"undefined"!=typeof c.convivaModule?a.AdProxyMonitor=convivaModule.AdProxyMonitor:"undefined"!=typeof ConvivaModule&&(a.AdProxyMonitor=ConvivaModule.AdProxyMonitor),
182
- "undefined"==typeof a.AdProxyMonitor?void g._logger.error("AdAnalytics.setAdListener() : Include the missing Ads SDK Module"):void(null==b&&null!=g._dropInModule?(a.AdProxyMonitor.release(g._dropInModule),
183
- g._dropInModule=null):null!=b&&null!=g._dropInModule?(a.AdProxyMonitor.release(g._dropInModule),null!=g._logger&&g._logger.debug("AdAnalytics.setAdListener() : Initializing ad drop-in module"),g._dropInModule=a.AdProxyMonitor.initConvivaDropIn(b,c,this,a)):null!=b&&null==g._dropInModule&&(null!=g._logger&&g._logger.debug("AdAnalytics.setAdListener() : Initializing ad drop-in module"),
184
- g._dropInModule=a.AdProxyMonitor.initConvivaDropIn(b,c,this,a))))},this.reportAdBreakStarted=function(a,b,d){return null==g._playerMonitor?void g._logger.error("AdAnalytics.reportAdBreakStarted() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdBreakStarted()"),
185
- g._adType=a,g._adPlayer=b,void g._playerMonitor.setAdBreakStartInfo(a,b,d))},this.reportAdBreakEnded=function(){return null==g._playerMonitor?void g._logger.error("AdAnalytics.reportAdBreakEnded() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdBreakEnded()"),
186
- g._adType=null,g._adPlayer=null,void g._playerMonitor.setAdBreakEndInfo())},this.getSessionId=function(){return null==g._playerMonitor?void g._logger.error("VideoAnalytics.getSessionId() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("VideoAnalytics.getSessionId()"),
187
- g._adPlayerMonitor.getSessionId())},this.getClientId=function(){return null==g._playerMonitor?void g._logger.error("VideoAnalytics.getClientId() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("VideoAnalytics.getClientId()"),
188
- g._adPlayerMonitor.getClientId())},this.getAdType=function(){return null!=g._playerMonitor?g._playerMonitor._adType:null},this.getAdPlayer=function(){return null!=g._playerMonitor?g._playerMonitor._adPlayer:null;
189
- },q.prototype=Object.create(t.prototype),q.prototype.constructor=q},r=b.AdPlayerMonitorImpl=function(){function a(a,b){v.call(this,a,b)}var b=this;b._convivaClient=null,b._contentPlayerMonitor=null,a.apply(this,arguments),
190
- this.setContentPlayerMonitor=function(a){this.getContentPlayerMonitor()!=a&&(this.update(),null==a?b._contentPlayerMonitor=null:b._contentPlayerMonitor=a)},this.getContentPlayerMonitor=function(){return b._contentPlayerMonitor;
191
- },this.createSession=function(){var a=this.getContentPlayerMonitor();if(null!=b._convivaClient){b._playerStateManager=b._convivaClient.getPlayerStateManager(),b.onPlayerInfoChanged(),b._playerStateManager.setClientMeasureInterface(this);
192
- var c=null;null!=a&&(c=a.getSessionKey()),b._contentSessionKey=b._convivaClient.createAdSession(c,b._contentMetadata,b._playerStateManager)}},r.prototype=Object.create(v.prototype),r.prototype.constructor=r;
193
- },s=a.Analytics={init:function(b,f,i){if(null!=this._client&&void 0!=this._client)return void this._logger.error("Client is already configured");if(arguments.length<=0)throw new Error("customerKey must be valid");
194
- var j=null,k=null,l=null;if("string"==typeof arguments[0]&&(j=arguments[0],!K.isValidString(j)))throw new Error("customerKey must be valid");arguments.length>=2&&"object"==typeof arguments[1]&&(k=arguments[1]),
195
- arguments.length>=3&&"object"==typeof arguments[2]&&(l=arguments[2]);var m=new e(j),n=new h;K.dictCount(l)>0&&(null!=l[c.GATEWAY_URL]&&(m.gatewayUrl=l[c.GATEWAY_URL]),null!=l[c.LOG_LEVEL]&&(n.logLevel=l[c.LOG_LEVEL]));
196
- var o=new a.Impl.Html5Logging,p=new a.Impl.Html5Storage,q=new a.Impl.Html5Http,r=new a.Impl.Html5Timer,t=new a.Impl.Html5Time;(void 0==this._metadataInterface||null==this._metadataInterface)&&(this._metadataInterface=new a.Impl.Html5Metadata),
197
- null!=k&&void 0!=k&&(null!=k[a.Constants.CallbackFunctions.CONSOLE_LOG]&&(o.consoleLog=k[a.Constants.CallbackFunctions.CONSOLE_LOG]),null!=k[a.Constants.CallbackFunctions.MAKE_REQUEST]&&(q.makeRequest=k[a.Constants.CallbackFunctions.MAKE_REQUEST]),
198
- null!=k[a.Constants.CallbackFunctions.SAVE_DATA]&&(p.saveData=k[a.Constants.CallbackFunctions.SAVE_DATA]),null!=k[a.Constants.CallbackFunctions.LOAD_DATA]&&(p.loadData=k[a.Constants.CallbackFunctions.LOAD_DATA]),
199
- null!=k[a.Constants.CallbackFunctions.GET_EPOCH_TIME_IN_MS]&&(t.getEpochTimeMs=k[a.Constants.CallbackFunctions.GET_EPOCH_TIME_IN_MS]),null!=k[a.Constants.CallbackFunctions.CREATE_TIMER]&&(r.createTimer=k[a.Constants.CallbackFunctions.CREATE_TIMER])),
200
- this._systemInterface=new a.SystemInterface(t,r,q,p,this._metadataInterface,o),this._systemFactory=new g(this._systemInterface,n),this._systemFactory.configure("Analytics",m),this._client=new d(m,this._systemFactory),
201
- this._client.version=s.version,this._logger=this._systemFactory.buildLogger(),this._logger.setModuleName("Analytics")},release:function(){var a=0;if(null!=this._adAnalyticsArray&&void 0!=this._adAnalyticsArray){
202
- for(a=0;a<this._adAnalyticsArray.length;a++){var b=this._adAnalyticsArray[a];null!=b&&(b.release(),b._logger=null,b._timer=null,this._adAnalyticsArray.splice(a,1),a--)}this._adAnalyticsArray=null}if(null!=this._videoAnalyticsArray&&void 0!=this._videoAnalyticsArray){
203
- for(a=0;a<this._videoAnalyticsArray.length;a++){var c=this._videoAnalyticsArray[a];null!=c&&(c.release(),c._logger=null,c._timer=null,this._videoAnalyticsArray.splice(a,1),a--)}this._videoAnalyticsArray=null;
204
- }null!=this._systemFactory&&void 0!=this._systemFactory&&(this._systemFactory.release(),this._systemFactory=null),null!=this._client&&void 0!=this._client&&(this._client.release(),this._client=null),this._client=null,
205
- this._logger=null,this._systemInterface=null,this._metadataInterface=null},setUniqueIdentifier:function(a,b){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.setUniqueIdentifier(a,b);
206
- },setUserPreferenceForDataCollection:function(a,b){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.setUserPreferenceForDataCollection(a,b)},setUserPreferenceForDataDeletion:function(a){
207
- if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.setUserPreferenceForDataDeletion(a)},reportAppEvent:function(a,b){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);
208
- this._client.sendCustomEvent(d.NO_SESSION_KEY,a,b)},reportAppBackgrounded:function(){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.sendCustomEvent(d.NO_SESSION_KEY,"App.Backgrounded",null);
209
- },reportAppForegrounded:function(){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.sendCustomEvent(d.NO_SESSION_KEY,"App.Foregrounded",null)},configureExistingClient:function(a){
210
- if(!(a instanceof d))throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client=a,this._systemFactory=this._client._systemFactory,this._logger=this._systemFactory.buildLogger(),this._logger.setModuleName("Analytics");
211
- },buildVideoAnalytics:function(){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);var a=new w(this._client,this._systemFactory);return(null==this._videoAnalyticsArray||void 0==this._videoAnalyticsArray)&&(this._videoAnalyticsArray=[]),
212
- this._videoAnalyticsArray.push(a),a},buildAdAnalytics:function(a){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);var b=new q(this._client,this._systemFactory,null!=a&&void 0!=a?a:null);
213
- return(null==this._adAnalyticsArray||void 0==this._adAnalyticsArray)&&(this._adAnalyticsArray=[]),this._adAnalyticsArray.push(b),b},setDeviceMetadata:function(b){return arguments.length<=0||0==K.dictCount(b)?void this._logger.error("Device Metadata must be valid"):((void 0==this._metadataInterface||null==this._metadataInterface)&&(this._metadataInterface=new a.Impl.Html5Metadata),
214
- null!=b[a.Constants.DeviceMetadata.BRAND]&&(this._metadataInterface.getDeviceBrand=function(){return b[a.Constants.DeviceMetadata.BRAND]}),null!=b[a.Constants.DeviceMetadata.MANUFACTURER]&&(this._metadataInterface.getDeviceManufacturer=function(){
215
- return b[a.Constants.DeviceMetadata.MANUFACTURER]}),null!=b[a.Constants.DeviceMetadata.MODEL]&&(this._metadataInterface.getDeviceModel=function(){return b[a.Constants.DeviceMetadata.MODEL]}),null!=b[a.Constants.DeviceMetadata.TYPE]&&(this._metadataInterface.getDeviceType=function(){
216
- return b[a.Constants.DeviceMetadata.TYPE]}),null!=b[a.Constants.DeviceMetadata.VERSION]&&(this._metadataInterface.getDeviceVersion=function(){return b[a.Constants.DeviceMetadata.VERSION]}),null!=b[a.Constants.DeviceMetadata.OS_NAME]&&(this._metadataInterface.getOperatingSystemName=function(){
217
- return b[a.Constants.DeviceMetadata.OS_NAME]}),null!=b[a.Constants.DeviceMetadata.OS_VERSION]&&(this._metadataInterface.getOperatingSystemVersion=function(){return b[a.Constants.DeviceMetadata.OS_VERSION];
218
- }),void(null!=b[a.Constants.DeviceMetadata.CATEGORY]&&(this._metadataInterface.getDeviceCategory=function(){return b[a.Constants.DeviceMetadata.CATEGORY]})))},reportDeviceMetric:function(a,b){var d=0;if(null!=this._adAnalyticsArray&&void 0!=this._adAnalyticsArray)for(d=0;d<this._adAnalyticsArray.length;d++){
219
- var e=this._adAnalyticsArray[d];if(null!=e)switch(a){case c.Network.SIGNAL_STRENGTH:case c.Network.LINK_ENCRYPTION:case c.Network.CONNECTION_TYPE:e.reportAdMetric(a,b,t.ReportMetric.AD_ONLY)}}if(null!=this._videoAnalyticsArray&&void 0!=this._videoAnalyticsArray)for(d=0;d<this._videoAnalyticsArray.length;d++){
220
- var f=this._videoAnalyticsArray[d];if(null!=f)switch(a){case c.Network.SIGNAL_STRENGTH:case c.Network.LINK_ENCRYPTION:case c.Network.CONNECTION_TYPE:f.reportPlaybackMetric(a,b)}}}};s.version="4.0.15";var t=b.AnalyticsImpl=function(){
221
- function b(){}function d(){var a=null!=s._adPlayerMonitor?!0:!1,b=s.getAdType(),d=s.getAdPlayer();return b==c.AdType.SERVER_SIDE&&d==c.AdPlayer.CONTENT?t.ReportMetric.AD_CONTENT:b!=c.AdType.SERVER_SIDE||d!=c.AdPlayer.SEPARATE?b==c.AdType.CLIENT_SIDE&&d==c.AdPlayer.CONTENT?t.ReportMetric.AD_ONLY:b==c.AdType.CLIENT_SIDE&&d==c.AdPlayer.SEPARATE?null!=a&&a?t.ReportMetric.AD_ONLY:t.ReportMetric.CONTENT_ONLY:a?t.ReportMetric.AD_ONLY:t.ReportMetric.CONTENT_ONLY:void 0;
222
- }function e(a,b,c){var d=parseInt(a,10),e=parseInt(b,10);return isNaN(d)&&isNaN(e)?void s._logger.error("reportPlaybackResolution() : width and height are not numbers"):(isNaN(d)&&s._logger.warning("reportPlaybackResolution() : width is not a number"),
223
- isNaN(e)&&s._logger.warning("reportPlaybackResolution() : height is not a number"),null==s._adPlayerMonitor||c!=t.ReportMetric.AD_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateVideoSize(d,e),
224
- void(null==s._playerMonitor||c!=t.ReportMetric.CONTENT_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateVideoSize(d,e)))}function f(a,b){return i.isValidPlayerState(a)?(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.setPlayerState(a),
225
- void((null!=s._playerMonitor&&b==t.ReportMetric.CONTENT_ONLY||b==t.ReportMetric.AD_CONTENT)&&s._playerMonitor.setPlayerState(a))):void s._logger.error("reportPlayerState() : Player State is not valid");
226
- }function g(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerPlayHeadTime() : playheadtime is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updatePlayheadTime(c),
227
- void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updatePlayheadTime(c)))}function h(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerBufferLength() : buffer length is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateBufferLength(c),
228
- void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateBufferLength(c)))}function j(a,b){var c=parseInt(a,10);null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.setSeeking(!0,c),
229
- null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.setSeeking(!0,c)}function k(a){null==s._adPlayerMonitor||a!=t.ReportMetric.AD_ONLY&&a!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.setSeeking(!1,-1),
230
- null==s._playerMonitor||a!=t.ReportMetric.CONTENT_ONLY&&a!=t.ReportMetric.AD_CONTENT||s._playerMonitor.setSeeking(!1,-1)}function l(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerBitrate() : bitrate is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateBitrate(c),
231
- void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateBitrate(c)))}function m(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerRenderedFrameRate() : rendered framerate is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateVideoRenderedFrameRate(c),
232
- void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateVideoRenderedFrameRate(c)))}function n(a,b){return K.isValidString(a)?(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateCDNServerIp(a),
233
- void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateCDNServerIp(a))):void s._logger.error("reportCDNServerIp() : CDNServerIP is not a valid string");
234
- }function o(a){var b=parseInt(a,10);return isNaN(b)?void s._logger.error("reportSignalStrength() : Signal Strength is not a number"):i.DEFAULT_SIGNAL_STRENGTH===b?void s._logger.error("reportSignalStrength() : DEFAULT_SIGNAL_STRENGTH shouldn't be reported"):null!=s._adPlayerMonitor?void s._adPlayerMonitor.updateCurrentSignalStrength(b):void(null!=s._playerMonitor&&s._playerMonitor.updateCurrentSignalStrength(b));
235
- }function p(a){return K.isValidString(a)?null!=s._adPlayerMonitor?void s._adPlayerMonitor.updateLinkEncryption(a):void(null!=s._playerMonitor&&s._playerMonitor.updateLinkEncryption(a)):void s._logger.error("reportLinkEncryption() : Link Encryption is not a valid string");
236
- }function q(a){return K.isValidString(a)?null!=s._adPlayerMonitor?void s._adPlayerMonitor.updateConnectionType(a):void(null!=s._playerMonitor&&s._playerMonitor.updateConnectionType(a)):void s._logger.error("reportConnectionType() : Connection Type is not a valid string");
237
- }function r(a,b,c){return K.isValidString(a)&&null!=b&&void 0!=b?(null==s._adPlayerMonitor||c!=t.ReportMetric.AD_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateCustomMetric(a,b),void(null==s._playerMonitor||c!=t.ReportMetric.CONTENT_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateCustomMetric(a,b))):void s._logger.error("reportMetric() : Metric key/value should be a proper value");
238
- }var s=this;b.apply(this,arguments),this.reportMetric=function(b,i,u,v){switch(null!=s._logger&&b!==a.Constants.Playback.PLAY_HEAD_TIME&&b!==a.Constants.Playback.BUFFER_LENGTH&&s._logger.debug("reportMetric() "+b+" "+(void 0!==i&&"CONVIVA"!==i?i:"")+" "+(void 0!==u&&"CONVIVA"!==u&&u!==t.ReportMetric.AD_ONLY?u:"")+" "+(void 0!==v&&"CONVIVA"!==v&&v!==t.ReportMetric.AD_ONLY?v:"")),
239
- b){case c.Playback.BITRATE:"CONVIVA"===u?s._logger.info("Bitrate change requested from the Conviva Library:"):s._logger.info("Bitrate change requested from the application:"),v==t.ReportMetric.AD_ONLY?l(i,t.ReportMetric.AD_ONLY):l(i,d());
240
- break;case c.Playback.PLAY_HEAD_TIME:v==t.ReportMetric.AD_ONLY?g(i,t.ReportMetric.AD_ONLY):g(i,d());break;case c.Playback.RESOLUTION:v==t.ReportMetric.AD_ONLY?e(i,u,t.ReportMetric.AD_ONLY):e(i,u,d());break;
241
- case c.Playback.BUFFER_LENGTH:v==t.ReportMetric.AD_ONLY?h(i,t.ReportMetric.AD_ONLY):h(i,d());break;case c.Playback.PLAYER_STATE:v==t.ReportMetric.AD_ONLY?f(i,t.ReportMetric.AD_ONLY):f(i,d());break;case c.Playback.RENDERED_FRAMERATE:
242
- v==t.ReportMetric.AD_ONLY?m(i,t.ReportMetric.AD_ONLY):m(i,d());break;case c.Playback.SEEK_STARTED:arguments.length>=2&&"CONVIVA"!=i?j(i,d()):u==t.ReportMetric.AD_ONLY?j(-1,t.ReportMetric.AD_ONLY):j(-1,d());
243
- break;case c.Playback.SEEK_ENDED:k(u==t.ReportMetric.AD_ONLY?t.ReportMetric.AD_ONLY:d());break;case c.Playback.CDN_IP:"CONVIVA"==u?s._logger.info("CDN Server IP change requested from the Conviva Library:"):s._logger.info("CDN Server IP change requested from the application:"),
244
- n(i,d());break;case c.Network.SIGNAL_STRENGTH:u==t.ReportMetric.AD_ONLY?o(i,t.ReportMetric.AD_ONLY):o(i,d());break;case c.Network.LINK_ENCRYPTION:u==t.ReportMetric.AD_ONLY?p(i,t.ReportMetric.AD_ONLY):p(i,d());
245
- break;case c.Network.CONNECTION_TYPE:u==t.ReportMetric.AD_ONLY?q(i,t.ReportMetric.AD_ONLY):q(i,d());break;default:r(b,i,d())}}};t.ReportMetric={AD_ONLY:1,CONTENT_ONLY:2,AD_CONTENT:3};var u=b.PlayerMonitor=function(){
246
- function b(a){d._timer=a}var d=this;this._affectingUser=null,this._metadata=null,this._contentMetadata=null,this._contentTags=null,this._playerState=a.PlayerStateManager.PlayerState.UNKNOWN,this._playHeadTime=-1,
247
- this._bufferHeadTime=-1,this._lastError=null,this._lastEventType=null,this._lastEventDetail=null,this._bitrate=-2,this._renderedFrameRate=-1,this._signalStrength=a.PlayerStateManager.DEFAULT_SIGNAL_STRENGTH,
248
- this._cdnServerIP=null,this._linkEncryption=null,this._connectionType=null,this._timer=null,this._cancelTimer=null,this._playerTags=null,this._callback=null,this._adBreakInfo=null,this._adType=null,this._adPlayer=null,
249
- b.apply(this,arguments),this.getConvivaPlayerState=function(){return d._playerState},this.setPlayerState=function(a){d._playerState!=a&&(d.update(),d._playerState=a,d.updatePlayerStateManagerState())},
250
- this.isSeeking=function(){return d._seeking},this.getSeekToPos=function(){return d._seekToPos},this.setSeeking=function(a,b){d.update(),d._seeking=a,d._seekToPos=b,d.onSeekingChanged()},this.getPlayHeadTime=function(){
251
- return d._playHeadTime},this.updatePlayheadTime=function(a){d._playHeadTime=a},this.getBufferHeadTime=function(){return d._bufferHeadTime},this.updateBufferLength=function(a){d._bufferHeadTime=a},this.getBitrate=function(){
252
- return d._bitrate},this.updateBitrate=function(a){d._bitrate!=a&&(d._bitrate=a,d.updatePlayerStateManagerState())},this.getVideoRenderedFrameRate=function(){return d._renderedFrameRate},this.updateVideoRenderedFrameRate=function(a){
253
- d._renderedFrameRate=a},this.getCDNServerIp=function(){return d._cdnServerIP},this.updateCDNServerIp=function(a){d._cdnServerIP=a,d.updatePlayerStateManagerState()},this.getCurrentSignalStrength=function(){
254
- return d._signalStrength},this.updateCurrentSignalStrength=function(a){d._signalStrength=a,d.updatePlayerStateManagerState()},this.getLinkEncryption=function(){return d._linkEncryption},this.updateLinkEncryption=function(a){
255
- d._linkEncryption=a,d.updatePlayerStateManagerState()},this.getConnectionType=function(){return d._connectionType},this.updateConnectionType=function(a){d._connectionType=a,d.updatePlayerStateManagerState();
256
- },this.getVideoWidth=function(){return d._videoWidth},this.getVideoHeight=function(){return d._videoHeight},this.updateVideoSize=function(a,b){0>a&&(a=0),0>b&&(b=0),(d._videoWidth!=a||d._videoHeight!=b)&&(d._videoWidth=a,
257
- d._videoHeight=b,d.updatePlayerStateManagerState())},this.getMetadataInfo=function(){return d._metadata},this.onMetadataInfoSet=function(){null!=d.getMetadataInfo()&&(d._contentMetadata=new a.ContentMetadata,
258
- d._contentTags={},d._playerTags={},d.onMetadataInfoChanged())},this.setMetadataInfo=function(a){(null!=d._metadata||null!=a)&&(this.update(),null!=d._metadata&&(d._metadata=null,d.onMetadataInfoSet()),
259
- null!=a&&(d._metadata=K.mergeObjects(d._metadata,a),d.onMetadataInfoSet()))},this.setOrUpdateMetadataInfo=function(a){if(null!=a){if(null==d._contentMetadata)return void d.setMetadataInfo(a);var b=!1,c=null;
260
- for(var e in a)if(c=d._contentMetadata[e],c!=a[e]){b=!0;break}b&&(d.update(),d._metadata=K.mergeObjects(a),d.onMetadataInfoChanged())}},this.setCallback=function(a){null==a?(d._callback=null,d.cleanUpTimer()):d._callback!=a&&(d._callback=a,
261
- d.startTimer())},this.update=function(){d._updating||null!=d._callback&&(d._updating=!0,d._callback(),d._updating=!1)},this.getIsAffectingUser=function(){return d._affectingUser},this.setAffectingUser=function(a){
262
- d._affectingUser!=a&&(d.update(),d._affectingUser&&(d.endSession(),d.cleanUpTimer(),d.release()),d._affectingUser=a,d._affectingUser&&d.createSession())},this.getLastEventType=function(){return d._lastEventType;
263
- },this.getLastEventDetail=function(){return null!=d._lastEventDetail?d._lastEventDetail:null},this.getLastError=function(){return d._lastError},this.setError=function(a){this.update(),d._lastError=a,d.onError();
264
- },this.setEvent=function(a,b){d.update(),d._lastEventType=a,d._lastEventDetail=b,d.onEvent()},this.pollStreamerTask=function(){d.update()},this.startTimer=function(){d.cleanUpTimer(),d._cancelTimer=d._timer.create(d.pollStreamerTask,1e3,"PlayerMonitor.update");
265
- },this.cleanUpTimer=function(){null!=d._cancelTimer&&(d._cancelTimer(),d._cancelTimer=null)},this.setAdBreakStartInfo=function(a,b,e){d._adBreakInfo=e,d.onAdBreakStartInfoSet(),d._adType=a,d._adPlayer=b,
266
- null!=d._adType&&void 0!=d._adType&&c.AdType.CLIENT_SIDE===d._adType&&(d._playerState=c.PlayerState.UNKNOWN,d.detach(d._adType,b,null==e||void 0==e?null:e[c.POD_POSITION]))},this.setAdBreakEndInfo=function(){
267
- null!=d._adType&&c.AdType.CLIENT_SIDE===d._adType&&(d.attach(),d._playerState=c.PlayerState.UNKNOWN),d.onAdBreakEndInfoSet(),d._adType=null,d._adPlayer=null},this.getAdBreakInfo=function(){return d._adBreakInfo;
268
- },this.release=function(){this._affectingUser=null,this._metadata=null,this._contentMetadata=null,this._contentTags=null,this._playerState=a.PlayerStateManager.PlayerState.UNKNOWN,this._playHeadTime=-1,
269
- this._bufferHeadTime=-1,this._lastError=null,this._lastEventType=null,this._lastEventDetail=null,this._bitrate=-2,this._renderedFrameRate=-1,this._signalStrength=a.PlayerStateManager.DEFAULT_SIGNAL_STRENGTH,
270
- this._cdnServerIP=null,this._linkEncryption=null,this._connectionType=null,this._timer=null,this._cancelTimer=null,this._playerTags=null,this._callback=null,this._adBreakInfo=null,this._adType=null,this._adPlayer=null,
271
- d._playerStateManager=null,d._contentSessionKey=a.Client.NO_SESSION_KEY}},v=b.PlayerMonitorImpl=function(){function b(a,b){u.call(this,b),e._convivaClient=a}var e=this;e._convivaClient=null,e._playerStateManager=null,
272
- e._contentSessionKey=a.Client.NO_SESSION_KEY,b.apply(this,arguments),this.getPHT=function(){return e.getPlayHeadTime()},this.getBufferLength=function(){return e.getBufferHeadTime()},this.getRenderedFrameRate=function(){
273
- return e.getVideoRenderedFrameRate()},this.getSignalStrength=function(){return e.getCurrentSignalStrength()},this.onSeekingChanged=function(){null!=e._playerStateManager&&e._ContentSessionKey!=d.NO_SESSION_KEY&&(e.isSeeking()?e._playerStateManager.setPlayerSeekStart(e.getSeekToPos()):e._playerStateManager.setPlayerSeekEnd());
274
- },this.updatePlayerStateManagerState=function(){null!=e._playerStateManager&&(e._playerStateManager.setPlayerState(e.getConvivaPlayerState()),e.getBitrate()>0&&e._playerStateManager.setBitrateKbps(e.getBitrate()),
275
- e.getVideoWidth()>0&&e._playerStateManager.setVideoResolutionWidth(e.getVideoWidth()),e.getVideoHeight()>0&&e._playerStateManager.setVideoResolutionHeight(e.getVideoHeight()),null!=e.getCDNServerIp()&&e._playerStateManager.setCDNServerIP(e.getCDNServerIp()),
276
- null!=e.getLinkEncryption()&&e._playerStateManager.setLinkEncryption(e.getLinkEncryption()),null!=e.getConnectionType()&&e._playerStateManager.setConnectionType(e.getConnectionType()))},this.updateContentMetadata=function(){
277
- e._contentSessionKey!=d.NO_SESSION_KEY&&null!=e._convivaClient&&e._convivaClient.updateContentMetadata(e._contentSessionKey,e._contentMetadata)},this.onPlayerInfoChanged=function(){if(null!=e._playerStateManager&&null!=e._playerTags&&0!=K.dictCount(e._playerTags)){
278
- if(null!=e._playerTags[c.MODULE_NAME]&&null!=e._playerTags[c.MODULE_VERSION]){var a=e._playerTags[c.MODULE_NAME],b=e._playerTags[c.MODULE_VERSION];K.isValidString(a)&&K.isValidString(b)&&e._playerStateManager.setModuleNameAndVersion(a,b);
279
- }if(null!=e._playerTags[c.FRAMEWORK_NAME]){var d=e._playerTags[c.FRAMEWORK_NAME];K.isValidString(d)&&e._playerStateManager.setPlayerType(d)}if(null!=e._playerTags[c.FRAMEWORK_VERSION]){var f=e._playerTags[c.FRAMEWORK_VERSION];
280
- K.isValidString(f)&&e._playerStateManager.setPlayerVersion(f)}}},this.attach=function(){null!=e._playerStateManager&&e._contentSessionKey!=d.NO_SESSION_KEY&&(e.updatePlayerStateManagerState(),this.contentAdEnd());
281
- },this.attachPlayer=function(){null!=e._playerStateManager&&e._contentSessionKey!=d.NO_SESSION_KEY&&(e.updatePlayerStateManagerState(),e._convivaClient.onFocus(e._contentSessionKey))},this.contentAdEnd=function(){
282
- null!=e._convivaClient&&e._contentSessionKey!=c.NO_SESSION_KEY&&e._convivaClient.adEnd(e._contentSessionKey)},this.detach=function(a,b,f){if(null!=e._playerStateManager&&e._contentSessionKey!=c.NO_SESSION_KEY){
283
- var g=null;c.AdType.CLIENT_SIDE===a?g=d.AdStream.SEPARATE:c.AdType.SERVER_SIDE===a&&(g=d.AdStream.CONTENT),e.contentAdStart(g,b,f)}},this.detachPlayer=function(){null!=e._playerStateManager&&e._contentSessionKey!=c.NO_SESSION_KEY&&e._convivaClient.offFocus(e._contentSessionKey);
284
- },this.contentAdStart=function(a,b,d){null!=e._convivaClient&&e._contentSessionKey!=c.NO_SESSION_KEY&&e._convivaClient.adStart(e._contentSessionKey,a,b,d)},this.createSession=function(){null!=e._convivaClient&&(e._playerStateManager=e._convivaClient.getPlayerStateManager(),
285
- e.onPlayerInfoChanged(),e._playerStateManager.setClientMeasureInterface(this),e._contentSessionKey=e._convivaClient.createSession(e._contentMetadata,e._playerStateManager))},this.endSession=function(){
286
- null!=e._convivaClient&&(null!=e._playerStateManager&&(e._playerStateManager.setPlayerState(c.PlayerState.STOPPED),e._playerStateManager=null),e._contentSessionKey!=c.NO_SESSION_KEY&&(e._convivaClient.cleanupSession(e._contentSessionKey),
287
- e._contentSessionKey=c.NO_SESSION_KEY))},this.onError=function(){if(null!=e._convivaClient&&e._contentSessionKey!=d.NO_SESSION_KEY){var a=e.getLastError();e._convivaClient.reportError(e._contentSessionKey,a.getErrorCode(),a.getErrorSeverity());
288
- }},this.onEvent=function(){e._contentSessionKey!=d.NO_SESSION_KEY&&null!=e._convivaClient&&e._convivaClient.sendCustomEvent(e._contentSessionKey,e.getLastEventType(),e.getLastEventDetail())},this.onMetadataInfoChanged=function(){
289
- var a=e.getMetadataInfo(),b=!1,d=!1;for(var f in a){var g=a[f];if(K.isValidString(f)&&null!=g)switch(f){case c.STREAM_URL:d=!0,e._contentMetadata.streamUrl=g;break;case c.ASSET_NAME:d=!0,e._contentMetadata.assetName=g;
290
- break;case c.DEFAULT_RESOURCE:d=!0,e._contentMetadata.defaultResource=g;break;case c.VIEWER_ID:d=!0,e._contentMetadata.viewerId=g;break;case c.PLAYER_NAME:d=!0,e._contentMetadata.applicationName=g;break;
291
- case c.DURATION:d=!0,e._contentMetadata.duration=g;break;case c.IS_LIVE:d=!0,e._contentMetadata.streamType=g;break;case c.ENCODED_FRAMERATE:d=!0,e._contentMetadata.encodedFrameRate=g;break;case c.MODULE_NAME:
292
- case c.MODULE_VERSION:case c.FRAMEWORK_NAME:case c.FRAMEWORK_VERSION:b=!0,e._playerTags[f]=g;break;default:d=!0,e._contentMetadata.custom[f]=g}}b&&this.onPlayerInfoChanged(),d&&this.updateContentMetadata();
293
- },this.onAdBreakStartInfoSet=function(){this.contentAdBreak(c.Events.POD_START)},this.onAdBreakEndInfoSet=function(){this.contentAdBreak(c.Events.POD_END)},this.contentAdBreak=function(a){if(null!=e._convivaClient&&e._contentSessionKey!=c.NO_SESSION_KEY){
294
- var b=this.getAdBreakInfo(),d=null;if(null!=b){d={};var f=b[c.POD_POSITION];null!=f&&(d[c.POD_POSITION]=f);var g=b[c.POD_INDEX];if(null!=g&&(d[c.POD_INDEX]=g+""),a===c.Events.POD_START){var h=b[c.POD_DURATION];
295
- null!=h&&(d[c.POD_DURATION]=h+"")}}e._convivaClient.sendCustomEvent(e._contentSessionKey,a,d)}},this.setSessionKey=function(a){this._contentSessionKey==c.NO_SESSION_KEY&&a!=c.NO_SESSION_KEY&&(this._contentSessionKey=a);
296
- },this.getSessionKey=function(){return this._contentSessionKey},this.getSessionId=function(){return e._convivaClient.getSessionId(this._contentSessionKey)},this.getClientId=function(a){return e._convivaClient.getClientId(this._contentSessionKey);
297
- },this.updateCustomMetric=function(a,b){e._convivaClient.updateCustomMetric(this._contentSessionKey,a,b)},v.prototype=Object.create(u.prototype),v.prototype.constructor=v},w=b.VideoAnalytics=function(){
298
- function b(a,b){e._client=a,e._systemFactory=b,e._timer=b.buildTimer(),e._logger=b.buildLogger(),e._logger.setModuleName("VideoAnalytics"),e._playerMonitor=new v(e._client,e._timer),t.call(this)}var e=this;
299
- e._client=null,e._logger=null,e._systemFactory=null,e._timer=null,e._playerMonitor=null,e._dropInModule=null,e._adType=null,e._adPlayer=null,this.release=function(){null!=e._logger&&e._logger.debug("VideoAnalytics.release()"),
300
- null!=e._playerMonitor&&e._playerMonitor.getIsAffectingUser()&&(e._playerMonitor.setAffectingUser(!1),"undefined"!=typeof a.ProxyMonitor&&null!=e._dropInModule&&(a.ProxyMonitor.release(e._dropInModule),
301
- e._dropInModule=null)),null!=e._playerMonitor&&(e._playerMonitor.setCallback(null),e._playerMonitor.release(),e._playerMonitor=null),e._timer=null,e._adType=null,e._adPlayer=null},b.apply(this,arguments),
302
- this.reportPlaybackRequested=function(a){return null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackRequested()"),null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportPlaybackRequested() : "+c.PLAYBACK_ANALYTICS_NOT_AVAILABLE):(K.dictCount(a)>0&&e.setContentInfo(a),
303
- void e._playerMonitor.setAffectingUser(!0))},this.reportPlaybackEnded=function(){return null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackEnded()"),null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportPlaybackEnded() : "+c.PLAYBACK_ANALYTICS_NOT_AVAILABLE):void(e._playerMonitor.getIsAffectingUser()&&(e._playerMonitor.setAffectingUser(!1),
304
- "undefined"!=typeof a.ProxyMonitor&&null!=e._dropInModule&&(a.ProxyMonitor.release(e._dropInModule),e._dropInModule=null),e._playerMonitor.setCallback(null)))},this.reportPlaybackFailed=function(a,b){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportPlaybackFailed() : "+c.INVALID_PLAYER_MONITOR):(K.dictCount(b)>0&&e.setContentInfo(b),
305
- e._playerMonitor.getIsAffectingUser()||e._playerMonitor.setAffectingUser(!0),null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackFailed()"),e.reportPlaybackError(a,d.ErrorSeverity.FATAL),void e.reportPlaybackEnded());
306
- },this.setContentInfo=function(a){return K.dictCount(a)<=0?void e._logger.error("VideoAnalytics.setContentInfo() : Content Info is not set"):null==e._playerMonitor?void e._logger.error("VideoAnalytics.setContentInfo() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.setContentInfo()"),
307
- void e._playerMonitor.setOrUpdateMetadataInfo(a))},this.setPlayerInfo=function(a){return K.dictCount(a)<=0?void e._logger.error("VideoAnalytics.setPlayerInfo() : Player Info is not set"):null==e._playerMonitor?void e._logger.error("VideoAnalytics.setPlayerInfo() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.setPlayerInfo()"),
308
- void e._playerMonitor.setOrUpdateMetadataInfo(a))},this.reportPlaybackMetric=function(){return 0==arguments.length?void e._logger.error("VideoAnalytics.reportPlaybackMetric() : Need to report metric mandatory"):void(1==arguments.length?e.reportMetric(arguments[0]):2==arguments.length?e.reportMetric(arguments[0],arguments[1]):3==arguments.length?e.reportMetric(arguments[0],arguments[1],arguments[2]):4==arguments.length&&e.reportMetric(arguments[0],arguments[1],arguments[2],arguments[3]));
309
- },this.reportPlaybackError=function(a,b){if(null==e._playerMonitor)return void e._logger.error("VideoAnalytics.reportPlaybackError() : "+c.INVALID_PLAYER_MONITOR);if(!K.isValidString(a))return void e._logger.error("VideoAnalytics.reportPlaybackError() : errorMessage need to be valid string");
310
- null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackError()");var d=new P(a,b);e._playerMonitor.setError(d)},this.reportPlaybackEvent=function(b,d){if(!K.isValidString(b))return void e._logger.error("VideoAnalytics.reportPlaybackEvent(): eventType parameter must be a valid string.");
311
- if(null==e._playerMonitor)return void e._logger.error("VideoAnalytics.reportPlaybackEvent() : "+c.INVALID_PLAYER_MONITOR);if(null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackEvent()"),null!=e._playerMonitor)switch(b){
312
- case a.Constants.Events.USER_WAIT_STARTED:case a.Constants.Events.BUMPER_VIDEO_STARTED:e._playerMonitor.detachPlayer();break;case a.Constants.Events.USER_WAIT_ENDED:case a.Constants.Events.BUMPER_VIDEO_ENDED:
313
- e._playerMonitor.attachPlayer();break;default:e._playerMonitor.setEvent(b,d)}},this.setCallback=function(a){null!=e._logger&&e._logger.debug("setCallback()"),null!=e._playerMonitor&&e._playerMonitor.setCallback(a);
314
- },this.reportAdBreakStarted=function(a,b,d){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportAdBreakStarted() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.reportAdBreakStarted()"),
315
- e._adType=a,e._adPlayer=b,void e._playerMonitor.setAdBreakStartInfo(a,b,d))},this.reportAdBreakEnded=function(){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportAdBreakEnded() : "+c.INVALID_PLAYER_MONITOR):(e._adType=null,
316
- e._adPlayer=null,null!=e._logger&&e._logger.debug("VideoAnalytics.VideoAnalytics.reportAdBreakEnded()"),void e._playerMonitor.setAdBreakEndInfo())},this.setPlayer=function(b,c){if(void 0===b)return void e._logger.error("VideoAnalytics.setPlayer() : Need to configure the Player");
317
- var d,f;return c&&(d=c[a.Constants.CONVIVA_MODULE],f=c[a.Constants.MEDIA_ELEMENT]),"undefined"!=typeof d?a.ProxyMonitor=d.ProxyMonitor:"undefined"!=typeof ConvivaModule&&(a.ProxyMonitor=ConvivaModule.ProxyMonitor),
318
- "undefined"==typeof a.ProxyMonitor?void e._logger.error("VideoAnalytics.setPlayer() : Include the missing Player Module"):(null!=e._logger&&e._logger.debug("VideoAnalytics.setPlayer()"),void(null==b&&null!=e._dropInModule?(a.ProxyMonitor.release(e._dropInModule),
319
- e._dropInModule=null):null!=b?(null!=e._dropInModule&&a.ProxyMonitor.release(e._dropInModule),null!=e._logger&&e._logger.debug("VideoAnalytics.setPlayer() : Initializing drop-in module"),"undefined"!=typeof f?e._dropInModule=a.ProxyMonitor.initConvivaDropIn(b,f,e._systemFactory,this,a):e._dropInModule=a.ProxyMonitor.initConvivaDropIn(b,e._systemFactory,this,a)):null==b&&"undefined"!=typeof f&&(e._dropInModule=a.ProxyMonitor.initConvivaDropIn(b,f,e._systemFactory,this,a))));
320
- },this.configureExistingSession=function(a){return a==c.NO_SESSION_KEY?void e._logger.error("VideoAnalytics.configureExistingSession() : Invalid Session Key"):null==e._playerMonitor?void e._logger.error("VideoAnalytics.configureExistingSession() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.configureExistingSession()"),
321
- void e._playerMonitor.setSessionKey(a))},this.getSessionId=function(){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.getSessionId() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.getSessionId()"),
322
- e._playerMonitor.getSessionId())},this.getClientId=function(){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.getClientId() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.getClientId()"),
323
- e._playerMonitor.getClientId())},this.getPlayerMonitor=function(){return null!=e._logger&&e._logger.debug("VideoAnalytics.getPlayerMonitor()"),this._playerMonitor},this.getAdType=function(){return null!=e._playerMonitor?e._playerMonitor._adType:null;
324
- },this.getAdPlayer=function(){return null!=e._playerMonitor?e._playerMonitor._adPlayer:null},w.prototype=Object.create(t.prototype),w.prototype.constructor=w};a.Impl=a.Impl||{},a.Impl.Html5Http=function(){
325
- function a(){}a.apply(this,arguments),this.makeRequest=function(a,b,c,d,e,f){return this.makeRequestStandard.apply(this,arguments)},this.makeRequestStandard=function(a,b,c,d,e,f){var g=new XMLHttpRequest;
326
- return g.open(a,b,!0),d&&g.overrideMimeType&&(g.overrideMimeType=d),d&&g.setRequestHeader&&g.setRequestHeader("Content-Type",d),e>0&&(g.timeout=e,g.ontimeout=function(){g.ontimeout=g.onreadystatechange=null,
327
- f&&f(!1,"timeout after "+e+" ms")}),g.onreadystatechange=function(){4===g.readyState&&(g.ontimeout=g.onreadystatechange=null,200==g.status?f&&f(!0,g.responseText):f&&f(!1,"http status "+g.status))},g.send(c),
328
- null},this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Logging=function(){function b(){}b.apply(this,arguments),this.consoleLog=function(b,c){"undefined"!=typeof console&&(console.log&&c===a.SystemSettings.LogLevel.DEBUG||c===a.SystemSettings.LogLevel.INFO?console.log(b):console.warn&&c===a.SystemSettings.LogLevel.WARNING?console.warn(b):console.error&&c===a.SystemSettings.LogLevel.ERROR&&console.error(b));
329
- },this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Metadata=function(){function a(){}a.apply(this,arguments),this.getBrowserName=function(){return null},this.getBrowserVersion=function(){return null;
330
- },this.getDeviceBrand=function(){return null},this.getDeviceManufacturer=function(){return null},this.getDeviceModel=function(){return null},this.getDeviceType=function(){return null},this.getDeviceVersion=function(){
331
- return null},this.getFrameworkName=function(){return null},this.getFrameworkVersion=function(){return null},this.getOperatingSystemName=function(){return null},this.getOperatingSystemVersion=function(){
332
- return null},this.getDeviceCategory=function(){return null},this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Storage=function(){function a(){}a.apply(this,arguments),this.saveData=function(a,b,c,d){
333
- var e=a+"."+b;try{localStorage.setItem(e,c),d(!0,null)}catch(f){d(!1,f.toString())}},this.loadData=function(a,b,c){var d=a+"."+b;try{var e=localStorage.getItem(d);c(!0,e)}catch(f){c(!1,f.toString())}},
334
- this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Time=function(){function a(){}a.apply(this,arguments),this.getEpochTimeMs=function(){var a=new Date;return a.getTime()},this.release=function(){};
335
- },a.Impl=a.Impl||{},a.Impl.Html5Timer=function(){function a(){}a.apply(this,arguments),this.createTimer=function(a,b,c){var d=setInterval(a,b),e=function(){-1!==d&&(clearInterval(d),d=-1)};return e},this.release=function(){};
336
- };var x=b.JSON2={};!function(){function a(a){return 10>a?"0"+a:a}function b(a){return d.lastIndex=0,d.test(a)?'"'+a.replace(d,function(a){var b=g[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);
337
- })+'"':'"'+a+'"'}function c(a,d){var g,i,j,k,l,m=e,n=d[a];switch(n&&"object"==typeof n&&"function"==typeof n.toJSON&&(n=n.toJSON(a)),"function"==typeof h&&(n=h.call(d,a,n)),typeof n){case"string":return b(n);
338
- case"number":return isFinite(n)?String(n):"null";case"boolean":case"null":return String(n);case"object":if(!n)return"null";if(e+=f,l=[],Object.prototype.toString.apply(n)===Object.prototype.toString.apply([])){
339
- for(k=n.length,g=0;k>g;g+=1)l[g]=c(g,n)||"null";return j=0===l.length?"[]":e?"[\n"+e+l.join(",\n"+e)+"\n"+m+"]":"["+l.join(",")+"]",e=m,j}if(h&&"object"==typeof h)for(k=h.length,g=0;k>g;g+=1)"string"==typeof h[g]&&(i=h[g],
340
- j=c(i,n),j&&l.push(b(i)+(e?": ":":")+j));else for(i in n)Object.prototype.hasOwnProperty.call(n,i)&&(j=c(i,n),j&&l.push(b(i)+(e?": ":":")+j));return j=0===l.length?"{}":e?"{\n"+e+l.join(",\n"+e)+"\n"+m+"}":"{"+l.join(",")+"}",
341
- e=m,j}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null;
342
- },String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var d,e,f,g,h;"function"!=typeof x.stringify&&(d=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
343
- g={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},x.stringify=function(a,b,d){var g;if(e="",f="","number"==typeof d)for(g=0;d>g;g+=1)f+=" ";else"string"==typeof d&&(f=d);if(h=b,
344
- b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON2.stringify");return c("",{"":a})})}();var y=b.JsonParse=function(){var a,b,c,d,e={'"':'"',"\\":"\\","/":"/",
345
- b:"\b",f:"\f",n:"\n",r:"\r",t:" "},f=function(b){throw{name:"SyntaxError",message:b,at:a,text:c}},g=function(d){return d&&d!==b&&f("Expected '"+d+"' instead of '"+b+"'"),b=c.charAt(a),a+=1,b},h=function(){
346
- var a,c="";for("-"===b&&(c="-",g("-"));b>="0"&&"9">=b;)c+=b,g();if("."===b)for(c+=".";g()&&b>="0"&&"9">=b;)c+=b;if("e"===b||"E"===b)for(c+=b,g(),("-"===b||"+"===b)&&(c+=b,g());b>="0"&&"9">=b;)c+=b,g();return a=+c,
347
- isNaN(a)?void f("Bad number"):a},i=function(){var a,c,d,h="";if('"'===b)for(;g();){if('"'===b)return g(),h;if("\\"===b)if(g(),"u"===b){for(d=0,c=0;4>c&&(a=parseInt(g(),16),isFinite(a));c+=1)d=16*d+a;h+=String.fromCharCode(d);
348
- }else{if("string"!=typeof e[b])break;h+=e[b]}else h+=b}f("Bad string")},j=function(){for(;b&&" ">=b;)g()},k=function(){switch(b){case"t":return g("t"),g("r"),g("u"),g("e"),!0;case"f":return g("f"),g("a"),
349
- g("l"),g("s"),g("e"),!1;case"n":return g("n"),g("u"),g("l"),g("l"),null}f("Unexpected '"+b+"'")},l=function(){var a=[];if("["===b){if(g("["),j(),"]"===b)return g("]"),a;for(;b;){if(a.push(d()),j(),"]"===b)return g("]"),
350
- a;g(","),j()}}f("Bad array")},m=function(){var a,c={};if("{"===b){if(g("{"),j(),"}"===b)return g("}"),c;for(;b;){if(a=i(),j(),g(":"),Object.hasOwnProperty.call(c,a)&&f('Duplicate key "'+a+'"'),c[a]=d(),
351
- j(),"}"===b)return g("}"),c;g(","),j()}}f("Bad object")};return d=function(){switch(j(),b){case"{":return m();case"[":return l();case'"':return i();case"-":return h();default:return b>="0"&&"9">=b?h():k();
352
- }},function(e,g){var h;return c=e,a=0,b=" ",h=d(),j(),b&&f("Syntax error"),"function"==typeof g?function i(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.hasOwnProperty.call(e,c)&&(d=i(e,c),
353
- void 0!==d?e[c]=d:delete e[c]);return g.call(a,b,e)}({"":h},""):h}}(),z=b.CwsProtocol=function(){this.generateEvent=function(a,b,c,d){return d.seq=a,d.st=b,d.t=c,d},this.generateSessionEndEvent=function(a,b){
354
- var c=z.EVENT_TYPE_SESSION_END,d={};return this.generateEvent(a,b,c,d)}};z.version="2.6",z.gatewayPath="/0/wsg",z.DEFAULT_CLIENT_ID="0",z.DEFAULT_CDN_SERVER_IP_AUTODETECT_ENABLED=!1,z.DEFAULT_MAX_HEARTBEAT_INFOS=2,
355
- z.DEFAULT_PLAYHEAD_TIME=-1,z.DEFAULT_BUFFER_LENGTH=-1,z.DEFAULT_SIGNAL_STRENGTH=1e3,z.SDK_METADATA_SCHEMA="sdk.js.1",z.EVENT_TYPE_STATE_CHANGE="CwsStateChangeEvent",z.EVENT_TYPE_ERROR="CwsErrorEvent",z.EVENT_TYPE_SESSION_END="CwsSessionEndEvent",
356
- z.EVENT_TYPE_CUSTOM="CwsCustomEvent",z.EVENT_TYPE_SEEK="CwsSeekEvent",z.EVENT_TYPE_DATA_SAMPLE="CwsDataSamplesEvent",z.RESPONSE_STATUS_NO_ERRORS="ok",z.RESPONSE_KEY_STATUS="err",z.RESPONSE_KEY_CLIENT_ID="clid",
357
- z.RESPONSE_KEY_CONFIG="cfg",z.RESPONSE_KEY_EVENTS="evs",z.RESPONSE_CONFIG_KEY_MAX_HEARTBEAT_INFOS="maxhbinfos",z.RESPONSE_CONFIG_KEY_SEND_LOGS="slg",z.RESPONSE_CONFIG_KEY_HEARTBEAT_INTERVAL="hbi",z.RESPONSE_CONFIG_KEY_GATEWAY_URL="gw",
358
- z.RESPONSE_CONFIG_KEY_CONVIVAID_FP="fp",z.RESPONSE_CONFIG_KEY_CDN_SERVER_IP_ENABLE="csi_en",z.MESSAGE_TYPE_SESSION_HEARTBEAT="CwsSessionHb",z.REQUEST_KEY_MESSAGE_TYPE="t",z.REQUEST_KEY_SESSION_TIME="st",
359
- z.REQUEST_KEY_SESSION_START_TIME="sst",z.REQUEST_KEY_IS_LIVE="lv",z.REQUEST_KEY_SEQUENCE_NUMBER="seq",z.REQUEST_KEY_CUSTOMER_KEY="cid",z.REQUEST_KEY_CLIENT_ID="clid",z.REQUEST_KEY_CLIENT_VERSION="clv",
360
- z.REQUEST_KEY_PROTOCOL_VERSION="pver",z.REQUEST_KEY_INSTANCE_ID="iid",z.REQUEST_KEY_SESSION_ID="sid",z.REQUEST_KEY_VIEWER_ID="vid",z.REQUEST_KEY_ASSET_NAME="an",z.REQUEST_KEY_PLAYER_NAME="pn",z.REQUEST_KEY_TAGS="tags",
361
- z.REQUEST_KEY_SESSION_FLAGS="sf",z.REQUEST_KEY_EVENTS="evs",z.REQUEST_KEY_LOGS="lg",z.REQUEST_KEY_HEARTBEAT_INFOS="hbinfos",z.REQUEST_KEY_IS_SDK_CLIENT="sdk",z.REQUEST_KEY_PAUSE_JOIN="pj",z.REQUEST_KEY_PLAYER_STATE="ps",
362
- z.REQUEST_KEY_BITRATE="br",z.REQUEST_KEY_CONTENT_LENGTH="cl",z.REQUEST_KEY_ENCODED_FRAME_RATE="efps",z.REQUEST_KEY_AVERAGE_FRAME_RATE="afps",z.REQUEST_KEY_RFPS_TOTAL="rfpstot",z.REQUEST_KEY_RFPS_COUNT="rfpscnt",
363
- z.REQUEST_KEY_RESOURCE="rs",z.REQUEST_KEY_PLAYHEAD_TIME="pht",z.REQUEST_KEY_BUFFER_LENGTH="bl",z.REQUEST_KEY_STREAM_URL="url",z.REQUEST_KEY_CAPABILITIES="caps",z.REQUEST_KEY_PLATFORM_METADATA="pm",z.REQUEST_KEY_VIDEO_WIDTH="w",
364
- z.REQUEST_KEY_VIDEO_HEIGHT="h",z.REQUEST_KEY_CONNECTION_TYPE="ct",z.REQUEST_KEY_LINK_ENCRYPTION="le",z.REQUEST_KEY_SIGNAL_STRENGTH="ss",z.REQUEST_KEY_CDN_NAME="csi_n",z.REQUEST_KEY_CDN_TYPE="csi_t",z.REQUEST_KEY_CDN_LABEL="csi_l",
365
- z.REQUEST_KEY_CDN_VALUE="csi_v",z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE="csi_c",z.REQUEST_PLATFORM_METADATA_KEY_SCHEMA="sch",z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_NAME="br",z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_VERSION="brv",
366
- z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_BRAND="dvb",z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MANUFACTURER="dvma",z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MODEL="dvm",z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_TYPE="dvt",
367
- z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_VERSION="dvv",z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_NAME="fw",z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_VERSION="fwv",z.REQUEST_PLATFORM_METADATA_KEY_CLIENT_CONFIGURATION="cc",
368
- z.REQUEST_PLATFORM_METADATA_KEY_MODULE_NAME="mn",z.REQUEST_PLATFORM_METADATA_KEY_MODULE_VERSION="mv",z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_NAME="os",z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_VERSION="osv",
369
- z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_CATEGORY="cat",z.REQUEST_KEY_PROTOCOL_CAPP="caps",z.REQUEST_EVENT_KEY_TYPE="t",z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER="seq",z.REQUEST_EVENT_KEY_SESSION_TIME="st",z.REQUEST_EVENT_KEY_SEEK_ACT_TYPE="act",
370
- z.REQUEST_EVENT_KEY_SEEK_TO_POS="skto",z.REQUEST_ERROR_EVENT_KEY_MESSAGE="err",z.REQUEST_ERROR_EVENT_KEY_FATAL="ft",z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW="new",z.REQUEST_STATE_CHANGE_EVENT_KEY_OLD="old",
371
- z.REQUEST_CUSTOM_EVENT_KEY_NAME="name",z.REQUEST_CUSTOM_EVENT_KEY_ATTRIBUTES="attr",z.REQUEST_HEARTBEAT_INFO_KEY_SEQUENCE_NUMBER="seq",z.REQUEST_HEARTBEAT_INFO_KEY_STATUS="err",z.REQUEST_HEARTBEAT_INFO_KEY_ROUNDTRIP_TIME="rtt",
372
- z.REQUEST_KEY_IS_AD_SESSION="ad",z.REQUEST_CDN_SERVER_IP="csi",z.convertPlayerState=function(a){switch(a){case i.PlayerState.STOPPED:return z.eStopped;case i.PlayerState.PLAYING:return z.ePlaying;case i.PlayerState.BUFFERING:
373
- return z.eBuffering;case i.PlayerState.PAUSED:return z.ePaused;case i.PlayerState.NOT_MONITORED:return z.eNotMonitored;default:return z.eUnknown}},z.eStopped=1,z.ePlaying=3,z.eBuffering=6,z.ePaused=12,
374
- z.eNotMonitored=98,z.eUnknown=100,z.SessionFlags={GLOBAL:0,VIDEO:1,QUALITY_METRICS:2,BITRATE_METRICS:4},z.Capabilities={INSIGHTS:0};var A=(b.JSONInterface=function(){this.encode=function(a){},this.decode=function(a){};
375
- },b.LibJSONInterface=function(){this.encode=function(a){var b=null;try{b=x.stringify(a)}catch(c){}return b},this.decode=function(a){var b=null;try{b=y(a)}catch(c){}return K.isObject(b)||(b=null),b}}),B=b.CwsHeartbeat=function(){
376
- function a(){}this._data={},a.apply(this,arguments),this.get=function(){return this._data},this.setField=function(a,b){this._data[a]=b},this.setInnerField=function(a,b,c){this._data[a]||(this._data[a]={}),
377
- this._data[a][b]=c},this.setMessageType=function(a){this.setField(z.REQUEST_KEY_MESSAGE_TYPE,a)},this.setSessionTime=function(a){this.setField(z.REQUEST_KEY_SESSION_TIME,a)},this.setSessionStartTime=function(a){
378
- this.setField(z.REQUEST_KEY_SESSION_START_TIME,a)},this.setIsLive=function(a){this.setField(z.REQUEST_KEY_IS_LIVE,a)},this.setSequenceNumber=function(a){this.setField(z.REQUEST_KEY_SEQUENCE_NUMBER,a)},
379
- this.setCustomerKey=function(a){this.setField(z.REQUEST_KEY_CUSTOMER_KEY,a)},this.setClientId=function(a){this.setField(z.REQUEST_KEY_CLIENT_ID,a)},this.setClientVersion=function(a){this.setField(z.REQUEST_KEY_CLIENT_VERSION,a);
380
- },this.setProtocolVersion=function(a){this.setField(z.REQUEST_KEY_PROTOCOL_VERSION,a)},this.setCapfield=function(a){this.setField(z.REQUEST_KEY_PROTOCOL_CAPP,a)},this.setSessionId=function(a){this.setField(z.REQUEST_KEY_SESSION_ID,a);
381
- },this.setInstanceId=function(a){this.setField(z.REQUEST_KEY_INSTANCE_ID,a)},this.setViewerId=function(a){this.setField(z.REQUEST_KEY_VIEWER_ID,a)},this.setAssetName=function(a){this.setField(z.REQUEST_KEY_ASSET_NAME,a);
382
- },this.setPlayerName=function(a){this.setField(z.REQUEST_KEY_PLAYER_NAME,a)},this.setTags=function(a){this.setField(z.REQUEST_KEY_TAGS,a)},this.setSessionFlags=function(a){this.setField(z.REQUEST_KEY_SESSION_FLAGS,a);
383
- },this.setCapabilities=function(a){this.setField(z.REQUEST_KEY_CAPABILITIES,a)},this.setEvents=function(a){this.setField(z.REQUEST_KEY_EVENTS,a)},this.setIsSdkClient=function(a){this.setField(z.REQUEST_KEY_IS_SDK_CLIENT,a);
384
- },this.setLogs=function(a){this.setField(z.REQUEST_KEY_LOGS,a)},this.setHeartbeatInfos=function(a){this.setField(z.REQUEST_KEY_HEARTBEAT_INFOS,a)},this.setPlayerState=function(a){this.setField(z.REQUEST_KEY_PLAYER_STATE,a);
385
- },this.setPauseJoin=function(a){this.setField(z.REQUEST_KEY_PAUSE_JOIN,a)},this.setContentLength=function(a){this.setField(z.REQUEST_KEY_CONTENT_LENGTH,a)},this.setBitrate=function(a){this.setField(z.REQUEST_KEY_BITRATE,a);
386
- },this.setResource=function(a){this.setField(z.REQUEST_KEY_RESOURCE,a)},this.setEncodedFrameRate=function(a){this.setField(z.REQUEST_KEY_ENCODED_FRAME_RATE,a)},this.setAverageFrameRate=function(a){this.setField(z.REQUEST_KEY_AVERAGE_FRAME_RATE,a);
387
- },this.setRfpsObservationCount=function(a){this.setField(z.REQUEST_KEY_RFPS_COUNT,a)},this.setRfpsTotal=function(a){this.setField(z.REQUEST_KEY_RFPS_TOTAL,a)},this.setPlatformMetadataSchema=function(a){
388
- this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_SCHEMA,a)},this.setBrowserName=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_NAME,a);
389
- },this.setBrowserVersion=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_VERSION,a)},this.setDeviceBrand=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_BRAND,a);
390
- },this.setDeviceManufacturer=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MANUFACTURER,a)},this.setDeviceModel=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MODEL,a);
391
- },this.setDeviceType=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_TYPE,a)},this.setDeviceVersion=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_VERSION,a);
392
- },this.setFrameworkName=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_NAME,a),this.setField(z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_NAME,a)},
393
- this.setFrameworkVersion=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_VERSION,a),this.setField(z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_VERSION,a);
394
- },this.setOperatingSystemName=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_NAME,a.toUpperCase())},this.setOperatingSystemVersion=function(a){
395
- this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_VERSION,a)},this.setDeviceCategory=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_CATEGORY,a);
396
- },this.setPlayheadTime=function(a){this.setField(z.REQUEST_KEY_PLAYHEAD_TIME,a)},this.setBufferLength=function(a){this.setField(z.REQUEST_KEY_BUFFER_LENGTH,a)},this.setStreamUrl=function(a){this.setField(z.REQUEST_KEY_STREAM_URL,a);
397
- },this.setStreamWidth=function(a){this.setField(z.REQUEST_KEY_VIDEO_WIDTH,a)},this.setStreamHeight=function(a){this.setField(z.REQUEST_KEY_VIDEO_HEIGHT,a)},this.setConnectionType=function(a){this.setField(z.REQUEST_KEY_CONNECTION_TYPE,a);
398
- },this.setLinkEncryption=function(a){this.setField(z.REQUEST_KEY_LINK_ENCRYPTION,a)},this.setIsAdSession=function(){this.setField(z.REQUEST_KEY_IS_AD_SESSION,!0)},this.setSignalStrength=function(a){this.setField(z.REQUEST_KEY_SIGNAL_STRENGTH,a);
399
- },this.setModuleName=function(a){this.setInnerField(z.REQUEST_PLATFORM_METADATA_KEY_CLIENT_CONFIGURATION,z.REQUEST_PLATFORM_METADATA_KEY_MODULE_NAME,a)},this.setModuleVersion=function(a){this.setInnerField(z.REQUEST_PLATFORM_METADATA_KEY_CLIENT_CONFIGURATION,z.REQUEST_PLATFORM_METADATA_KEY_MODULE_VERSION,a);
400
- },this.setCDNServerIP=function(a){this.setField(z.REQUEST_CDN_SERVER_IP,a)},this.setCdnName=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_NAME,a)},this.setCdnType=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_TYPE,a);
401
- },this.setCdnLabel=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_LABEL,a)},this.setCdnValue=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_VALUE,a)},this.setCdnHttpRespCode=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE,a);
402
- }},C=b.CwsSession=function(b,c,d,e,g,h,j,k,l,m,n,o){function p(a,b,c,d,e,f,g,h,i,j,k,l){this._eventQueue=a,this._client=b,this._clientSettings=c,this._logger=d,this._logger.setModuleName("CwsSession"),
403
- this._exceptionCatcher=e,this._timer=f,this._gatewayControl=g,this._cwsProtocol=h,this._time=i,this._logBuffer=j,this._clientConfig=k,this._contentMetadata=l,null!=this._contentMetadata&&(q._encodedFrameRate=this._contentMetadata.encodedFrameRate,
404
- q._streamUrl=this._contentMetadata.streamUrl,q._contentLengthSec=this._contentMetadata.duration)}var q=this;q._heartbeatTimerCancel=null,q._contentMetadata=null,q._startTimeMs=0,q._heartbeatSequenceNumber=0,
405
- q._sessionFlags=z.SessionFlags.GLOBAL,q._capabilities=z.Capabilities.INSIGHTS,q._heartbeatInfos=[],q._lastRequestSentMs=-1,q._bitrateKbps=-2,q._resource=null,q._playerState=i.PlayerState.UNKNOWN,q._encodedFrameRate=-1,
406
- q._contentLengthSec=-1,q._streamUrl=null,q._width=-1,q._height=-1,q._playerStateManager=null,q._assetName=null,q._viewerId=null,q._playerName=null,q._isLive=null,q._tags={},q._browserName=null,q._browserVersion=null,
407
- q._deviceBrand=null,q._deviceManufacturer=null,q._deviceModel=null,q._deviceType=null,q._deviceVersion=null,q._frameworkName=null,q._frameworkVersion=null,q._operatingSystemName=null,q._operatingSystemVersion=null,
408
- q._deviceCategory=null,q._moduleName=null,q._moduleVersion=null,q._connectionType=null,q._linkEncryption=null,q._cdnServerIP=null,q._customMetric=null,q._pauseJoin=!1,q._hasJoined=!1,q._cleanedUp=!1,q._willEndSoon=!1,
409
- q._rfpsTimerCancel=null,q._rfpsTimerInterval=1e3,q._playingFpsObservationCount=0,q._playingFpsTotal=0,q.whitelistedIdentifiers={},q._uniqueIdentifiers={},q._startConvivaIdCollection=!1,q._cdnName=null,
410
- q._cdnType=null,q._cdnLabel=null,q._cdnValue=null,q._cdnHttpRespCode=null,q._cdnTimerCancel=null,q._cdnTimerInterval=12e4,q._cdnIpAutoDetectionEnabled=z.DEFAULT_CDN_SERVER_IP_AUTODETECT_ENABLED,q._customerSetCdnIp=!1,
411
- p.apply(this,arguments),this.cleanup=function(){this._clientConfig=null,this._logBuffer=null,this._systemSettings=null,this._time=null,this._cwsProtocol=null,this._gatewayControl=null,this._timer=null,
412
- this._exceptionCatcher=null,this._logger=null,this._clientSettings=null,this._client=null,this._eventQueue.flush(),this._eventQueue=null,this._customMetric=null,this._cleanedUp=!0},this.start=function(a){
413
- this._session=a,this._global=this._session._global,this._logger.setSessionId(this._session._id),this._startTimeMs=this._time.current(),this.isVideoSession()||this.isAdSession()?(this._sessionFlags+=C.DEFAULT_VIDEO_SESSION_FLAGS,
414
- q._logger.info("start(): assetName="+q._contentMetadata.assetName)):q._logger.info("start()"+q.sessionTypeTag())},this.willEndSoon=function(){this._willEndSoon=!0},this.initialize=function(){this._logger.debug("initialize()"),
415
- (this.isVideoSession()||this.isAdSession())&&(q.setStatesFromContentMetadata(),q.enqueueEventForContentMetadata(),q.validateContentMetadata())},this.end=function(){(this.isVideoSession()||this.isAdSession())&&(this._logger.debug("end(): schedule the last hb before session cleanup"+q.sessionTypeTag()),
416
- this.enqueueSessionEndEvent()),this.cancelCdnTimer(),this.cancelHeartbeatTimer(),this.sendHeartbeat()},this.startSendingHeartbeats=function(){this._willEndSoon||(this.sendHeartbeat(),this.resetHeartbeatTimer());
417
- },this.setBrowserName=function(a){var b=q._browserName;b!==a&&null!=a&&(q._logger.debug("Change browserName from "+b+" to "+a),q._browserName=a)},this.setBrowserVersion=function(a){var b=q._browserVersion;
418
- b!==a&&null!=a&&(q._logger.debug("Change browserVersion from "+b+" to "+a),q._browserVersion=a)},this.setDeviceBrand=function(a){var b=q._deviceBrand;b!==a&&null!=a&&(q._logger.debug("Change deviceBrand from "+b+" to "+a),
419
- q._deviceBrand=a)},this.setDeviceManufacturer=function(a){var b=q._deviceManufacturer;b!==a&&null!=a&&(q._logger.debug("Change deviceManufacturer from "+b+" to "+a),q._deviceManufacturer=a)},this.setDeviceModel=function(a){
420
- var b=q._deviceModel;b!==a&&null!=a&&(q._logger.debug("Change deviceModel from "+b+" to "+a),q._deviceModel=a)},this.setDeviceType=function(a){var b=q._deviceType;b!==a&&null!=a&&(q._logger.debug("Change deviceType from "+b+" to "+a),
421
- q._deviceType=a)},this.setDeviceVersion=function(a){var b=q._deviceVersion;b!==a&&null!=a&&(q._logger.debug("Change deviceVersion from "+b+" to "+a),q._deviceVersion=a)},this.setOperatingSystemName=function(a){
422
- var b=q._operatingSystemName;b!==a&&null!=a&&(q._logger.debug("Change operatingSystemName from "+b+" to "+a),q._operatingSystemName=a)},this.setOperatingSystemVersion=function(a){var b=q._operatingSystemVersion;
423
- b!==a&&null!=a&&(q._logger.debug("Change operatingSystemVersion from "+b+" to "+a),q._operatingSystemVersion=a)},this.setDeviceCategory=function(a){var b=q._deviceCategory;b!==a&&null!=a&&(q._logger.debug("Change operatingSystemVersion from "+b+" to "+a),
424
- q._deviceCategory=a)},this.getFrameworkName=function(){return q._frameworkName},this.setFrameworkName=function(a){var b=q._frameworkName;b!==a&&null!=a&&(q._logger.debug("Change frameworkName from "+b+" to "+a),
425
- q._frameworkName=a)},this.getFrameworkVersion=function(){return q._frameworkVersion},this.setFrameworkVersion=function(a){var b=q._frameworkVersion;b!==a&&null!=a&&(q._logger.debug("Change frameworkVersion from "+b+" to "+a),
426
- q._frameworkVersion=a)},this.setStreamUrl=function(a){if(null==q._contentMetadata.streamUrl){var b=q._streamUrl;b!==a&&null!=a&&(q._logger.debug("Change stream url from "+b+" to "+a),q._streamUrl=a)}},
427
- this.startCdnTimer=function(){q.cancelCdnTimer(),q._customerSetCdnIp||(q.detectCDNServerIp(),q._cdnTimerCancel=q._timer.create(q.detectCDNServerIp,q._cdnTimerInterval,"CwsSession.startCdnTimer"),q._logger.debug("fetching cdn ip timer started"));
428
- },this.cancelCdnTimer=function(){null!=q._cdnTimerCancel&&(q._cdnTimerCancel(),q.enqueueAutoCdnChangeEvent(null,null,null,null,null),q._cdnTimerCancel=null)},this.detectCDNServerIp=function(){q._logger.debug("detectCDNServerIp(): For "+q._streamUrl),
429
- q._cdnIpAutoDetectionEnabled?q.makeAkamaiHeadRequest():q.cancelCdnTimer()},this.makeAkamaiHeadRequest=function(){try{if("function"==typeof XMLHttpRequest){var a=new XMLHttpRequest;a.open("HEAD",q._streamUrl,!0),
430
- a.setRequestHeader("Pragma","akamai-x-cache-on"),a.onreadystatechange=function(){4===a.readyState&&(200===a.status&&null!=a.getResponseHeader("X-Cache")?q.enqueueAutoCdnChangeEvent("Akamai","header","X-Cache",""+a.getResponseHeader("X-Cache"),""+a.status):q.enqueueAutoCdnChangeEvent("null","header","null","null",""+a.status));
431
- },a.send()}else q._logger.info("xmlhttpreq is not available here to fetch CDN Server Ip")}catch(b){q._logger.info("Exception caught in makeAkamaiHeadRequest")}},this.enqueueAutoCdnChangeEvent=function(a,b,c,d,e){
432
- var f={},g={};q._cdnName!=a&&(null!==q._cdnName&&(g[z.REQUEST_KEY_CDN_NAME]=q._cdnName),q._cdnName=a,null===q._cdnName?f[z.REQUEST_KEY_CDN_NAME]="null":f[z.REQUEST_KEY_CDN_NAME]=q._cdnName),q._cdnType!=b&&(null!==q._cdnType&&(g[z.REQUEST_KEY_CDN_TYPE]=q._cdnType),
433
- q._cdnType=b,null===q._cdnType?f[z.REQUEST_KEY_CDN_TYPE]="null":f[z.REQUEST_KEY_CDN_TYPE]=q._cdnType),q._cdnLabel!=c&&(null!==q._cdnLabel&&(g[z.REQUEST_KEY_CDN_LABEL]=q._cdnLabel),q._cdnLabel=c,null===q._cdnLabel?f[z.REQUEST_KEY_CDN_LABEL]="null":f[z.REQUEST_KEY_CDN_LABEL]=q._cdnLabel),
434
- q._cdnValue!=d&&(null!==q._cdnValue&&(g[z.REQUEST_KEY_CDN_VALUE]=q._cdnValue),q._cdnValue=d,null===q._cdnValue?f[z.REQUEST_KEY_CDN_VALUE]="null":f[z.REQUEST_KEY_CDN_VALUE]=q._cdnValue),q._cdnHttpRespCode!=e&&(null!==q._cdnHttpRespCode&&(g[z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE]=q._cdnHttpRespCode),
435
- q._cdnHttpRespCode=e,null===q._cdnHttpRespCode?f[z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE]="null":f[z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE]=q._cdnHttpRespCode),"{}"!=K.ObjectToString(f)&&q.declareStateChange(f,g);
436
- },this.setBitrateKbps=function(a){var b=q._bitrateKbps;b!==a&&a>0&&(q._logger.info("Change bitrate from "+b+" to "+a),q.enqueueBitrateChangeEvent(b,a),q._bitrateKbps=a)},this.setResource=function(a){var b=q._resource;
437
- b!==a&&null!=a&&(q._logger.info("Change resource from "+b+" to "+a),q._resource=a)},this.setAssetName=function(a){q._assetName!==a&&null!=a&&(q._logger.info("Change assetName from "+q._assetName+" to "+a),
438
- q._assetName=a)},this.setIsLive=function(a){var b=q._isLive;b!==a&&null!=a&&(q._logger.info("Change isLive from "+b+" to "+a),q._isLive=a)},this.setViewerId=function(a){var b=q._viewerId;b!==a&&null!=a&&(q._logger.info("Change viewerId from "+b+" to "+a),
439
- q._viewerId=a)},this.setPlayerName=function(a){var b=q._playerName;b!==a&&null!=a&&(q._logger.info("Change playerName from "+b+" to "+a),q._playerName=a)},this.setTags=function(a){var b=q._tags;K.ObjectShallowEquals(b,a)||null==a||(q._logger.info("Change tags from "+K.ObjectToString(b)+" to "+K.ObjectToString(a)),
440
- q._tags=a)},this.setEncodedFrameRate=function(a){q._contentMetadata.encodedFrameRate>0||(q._logger.debug("setEncodedFrameRate(): "+a),q._encodedFrameRate=a)},this.setContentLength=function(a){q._contentMetadata.duration>0||(q._logger.debug("setContentLength(): "+a),
441
- q._contentLengthSec=a)},this.setPlayerState=function(a){if(q._hasJoined||a!=i.PlayerState.PLAYING||(q.togglePauseJoin(!1),q._hasJoined=!0,K.isValidString(q._contentMetadata.viewerId)||q._logger.error("Missing viewerId. viewerId should be updated before first frame is rendered."),
442
- K.isValidString(q._contentMetadata.streamType)&&f.StreamType.UNKNOWN!==q._contentMetadata.streamType||q._logger.error("Missing streamType - Live or VOD. streamType should be updated before first frame is rendered."),
443
- K.isValidString(q._contentMetadata.applicationName)||q._logger.error("Missing applicationName. applicationName should be updated before first frame is rendered.")),q._playerState!==a){var b=q._playerState;
444
- q._logger.info("setPlayerState(): changing player state from "+b+" to "+a),q.enqueuePlayerStateChangeEvent(b,a),q._playerState=a}},this.setStreamResolutionWidth=function(a){var b=q._width;b!==a&&a>0&&(q._logger.debug("Change stream resolution width from "+b+" to "+a),
445
- q.enqueueResolutionWidthChangeEvent(b,a),q._width=a)},this.setStreamResolutionHeight=function(a){var b=q._height;b!==a&&a>0&&(q._logger.debug("Change stream resolution height from "+b+" to "+a),q.enqueueResolutionHeightChangeEvent(b,a),
446
- q._height=a)},this.setConnectionType=function(a){var b=q._connectionType;b!==a&&null!=a&&(q._logger.debug("Change network connection type from "+b+" to "+a),q.enqueueConnectionTypeChangeEvent(b,a),q._connectionType=a);
447
- },this.setLinkEncryption=function(a){var b=q._linkEncryption;b!==a&&null!=a&&(q._logger.debug("Change network link encryption from "+b+" to "+a),q.enqueueLinkEncryptionChangeEvent(b,a),q._linkEncryption=a);
448
- },this.setCDNServerIP=function(a){q._customerSetCdnIp=!0,q.cancelCdnTimer();var b=q._cdnServerIP;b!==a&&K.isValidString(a)&&(q._logger.debug("Change CDN Server IP from "+b+" to "+a),q.enqueueCDNServerIPChangeEvent(b,a),
449
- q._cdnServerIP=a)},this.togglePauseJoin=function(a){if(q._logger.debug("togglePauseJoin()"),q._pauseJoin===a)return void q._logger.debug("togglePauseJoin(): same value, ignoring");var b=q._pauseJoin,c=!q._pauseJoin;
450
- q.enqueuePauseJoinChangeEvent(b,c),q._pauseJoin=!q._pauseJoin},this.sendError=function(a,b){q.enqueueErrorEvent(a,b)},this.enqueueEvent=function(a,b){if(b[z.REQUEST_EVENT_KEY_TYPE]=a,b[z.REQUEST_EVENT_KEY_SESSION_TIME]=this.getSessionTime(),
451
- b[z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER]=this._eventQueue.getNumber(),this._playerStateManager){var c=O.Integer(this._playerStateManager.getPHT(),0,null,-1),d=O.Integer(this._playerStateManager.getBufferLength(),0,null,-1);
452
- c>=0&&(b[z.REQUEST_KEY_PLAYHEAD_TIME]=c),d>0&&(b[z.REQUEST_KEY_BUFFER_LENGTH]=d)}this._eventQueue.enqueue(b)},this.setPlayerStateManager=function(a){q._playerStateManager=a,null!=q._playerStateManager?q.startRfpsTimer():q.cancelRfpsTimer();
453
- },this.enqueueSessionEndEvent=function(){var a=this.getSessionTime(),b=this.getNextEventNumber(),c=this._cwsProtocol.generateSessionEndEvent(b,a);this._eventQueue.enqueue(c)},this.enqueueErrorEvent=function(a,b){
454
- var c={};c[z.REQUEST_ERROR_EVENT_KEY_MESSAGE]=a,c[z.REQUEST_ERROR_EVENT_KEY_FATAL]=b,this.enqueueEvent(z.EVENT_TYPE_ERROR,c)},this.enqueueBitrateChangeEvent=function(a,b){var c={},d={};a>0&&(d[z.REQUEST_KEY_BITRATE]=a),
455
- c[z.REQUEST_KEY_BITRATE]=b,this.declareStateChange(c,d)},this.enqueueSeekEvent=function(a,b){var c={};c[z.REQUEST_EVENT_KEY_SEEK_ACT_TYPE]=a,b>=0&&(c[z.REQUEST_EVENT_KEY_SEEK_TO_POS]=b),this.enqueueEvent(z.EVENT_TYPE_SEEK,c);
456
- },this.enqueueResolutionWidthChangeEvent=function(a,b){var c={},d={};-1!==a&&(d[z.REQUEST_KEY_VIDEO_WIDTH]=a),c[z.REQUEST_KEY_VIDEO_WIDTH]=b,this.declareStateChange(c,d)},this.enqueueResolutionHeightChangeEvent=function(a,b){
457
- var c={},d={};-1!==a&&(d[z.REQUEST_KEY_VIDEO_HEIGHT]=a),c[z.REQUEST_KEY_VIDEO_HEIGHT]=b,this.declareStateChange(c,d)},this.enqueueConnectionTypeChangeEvent=function(a,b){var c={},d={};null!==a&&(d[z.REQUEST_KEY_CONNECTION_TYPE]=a),
458
- c[z.REQUEST_KEY_CONNECTION_TYPE]=b,this.declareStateChange(c,d)},this.enqueueLinkEncryptionChangeEvent=function(a,b){var c={},d={};null!==a&&(d[z.REQUEST_KEY_LINK_ENCRYPTION]=a),c[z.REQUEST_KEY_LINK_ENCRYPTION]=b,
459
- this.declareStateChange(c,d)},this.enqueueCDNServerIPChangeEvent=function(a,b){var c={},d={};K.isValidString(a)&&(d[z.REQUEST_CDN_SERVER_IP]=a),c[z.REQUEST_CDN_SERVER_IP]=b,this.declareStateChange(c,d);
460
- },this.enqueuePauseJoinChangeEvent=function(a,b){var c={},d={};d[z.REQUEST_KEY_PAUSE_JOIN]=a,c[z.REQUEST_KEY_PAUSE_JOIN]=b,this.declareStateChange(c,d)},this.enqueuePlayerStateChangeEvent=function(a,b){
461
- var c={},d={};c[z.REQUEST_KEY_PLAYER_STATE]=z.convertPlayerState(b),d[z.REQUEST_KEY_PLAYER_STATE]=z.convertPlayerState(a),this.declareStateChange(c,d)},this.declareStateChange=function(a,b){var c={};c[z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW]=a,
462
- null!=b&&K.dictCount(b)>0&&(c[z.REQUEST_STATE_CHANGE_EVENT_KEY_OLD]=b),this.enqueueEvent(z.EVENT_TYPE_STATE_CHANGE,c)},this.enqueueCustomEvent=function(a,b){var c={};c[z.REQUEST_CUSTOM_EVENT_KEY_NAME]=a,
463
- K.dictCount(b)>0&&(c[z.REQUEST_CUSTOM_EVENT_KEY_ATTRIBUTES]=b),this.enqueueEvent(z.EVENT_TYPE_CUSTOM,c)},this.cancelHeartbeatTimer=function(){null!=q._heartbeatTimerCancel&&(q._heartbeatTimerCancel(),q._heartbeatTimerCancel=null);
464
- },this.resetHeartbeatTimer=function(){q.cancelHeartbeatTimer();var a=1e3*q._clientSettings.heartbeatInterval;q._heartbeatTimerCancel=q._timer.create(q.sendHeartbeat,a,"Session.sendHeartbeat")},this.cancelRfpsTimer=function(){
465
- null!=q._rfpsTimerCancel&&(q._rfpsTimerCancel(),q._rfpsTimerCancel=null)},this.startRfpsTimer=function(){q.cancelRfpsTimer(),q._rfpsTimerCancel=q._timer.create(q.countRfps,q._rfpsTimerInterval,"Session.startRfpsTimer");
466
- },this.createHeartbeatInfo=function(){var a={};a.err="pending",a.seq=q._heartbeatSequenceNumber-1,a.sentAt=q.getSessionTime(),a.rtt=-1,q._heartbeatInfos.push(a);for(var b=0;b<q._heartbeatInfos.length;b++)a=q._heartbeatInfos[b],
467
- "ok"===a.err&&(q._heartbeatInfos.splice(b,1),b--)},this.updateHeartbeatInfoOnFailure=function(a,b){for(var c=0;c<q._heartbeatInfos.length;c++){var d=q._heartbeatInfos[c],e=d.seq;e===a&&(d.rtt=q.getSessionTime()-d.sentAt,
468
- d.err=b)}},this.updateHeartbeatInfoOnSuccess=function(a){for(var b=0;b<q._heartbeatInfos.length;b++){var c=q._heartbeatInfos[b],d=c.seq;d===a&&(c.rtt=q.getSessionTime()-c.sentAt,c.err="ok")}},this.removeOutdatedHeartbeatInfos=function(){
469
- for(var a,b,c=q._clientConfig.get(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS),d=[],e=-1,f=0;f<q._heartbeatInfos.length;f++)if(b=q._heartbeatInfos[f],"ok"==b.err){e=b.seq;break}for(var g=0;g<q._heartbeatInfos.length;g++)b=q._heartbeatInfos[g],
470
- a=b.seq,(a<q._heartbeatSequenceNumber-c||e>a)&&d.push(g);for(var h=[],i=0;i<q._heartbeatInfos.length;i++)b=q._heartbeatInfos[i],a=b.seq,d.indexOf(i)<0&&h.push(q._heartbeatInfos[i]);q._heartbeatInfos=h},
471
- this.compileHeartbeatInfos=function(){q.removeOutdatedHeartbeatInfos();for(var a=[],b=0;b<q._heartbeatInfos.length;b++){var c=q._heartbeatInfos[b],d={};d[z.REQUEST_HEARTBEAT_INFO_KEY_SEQUENCE_NUMBER]=c.seq,
472
- d[z.REQUEST_HEARTBEAT_INFO_KEY_ROUNDTRIP_TIME]=c.rtt,d[z.REQUEST_HEARTBEAT_INFO_KEY_STATUS]=c.err,a.push(d)}return a},this.makeHeartbeat=function(){var a=q._eventQueue.flush();if(q.isGlobalSession()&&0===a.length)return null;
473
- var b=new B;if(b.setMessageType(z.MESSAGE_TYPE_SESSION_HEARTBEAT),b.setCustomerKey(q._clientSettings.customerKey),b.setClientId(q._clientConfig.get(G.CONFIG_KEY_CLIENT_ID)),b.setSessionId(q._session._id),
474
- b.setSequenceNumber(q._heartbeatSequenceNumber),b.setProtocolVersion(z.version),b.setClientVersion(q._client.version),b.setInstanceId(q._client.getId()),b.setCapfield(0),null!=q._connectionType&&b.setConnectionType(q._connectionType),
475
- null!=q._linkEncryption&&b.setLinkEncryption(q._linkEncryption),K.isValidString(q._cdnServerIP)&&b.setCDNServerIP(q._cdnServerIP),b.setPlatformMetadataSchema(z.SDK_METADATA_SCHEMA),null!=q._browserName&&b.setBrowserName(q._browserName),
476
- null!=q._browserVersion&&b.setBrowserVersion(q._browserVersion),null!=q._deviceBrand&&b.setDeviceBrand(q._deviceBrand),null!=q._deviceManufacturer&&b.setDeviceManufacturer(q._deviceManufacturer),null!=q._deviceModel&&b.setDeviceModel(q._deviceModel),
477
- null!=q._deviceType&&b.setDeviceType(q._deviceType),null!=q._deviceVersion&&b.setDeviceVersion(q._deviceVersion),null!=q._operatingSystemName&&b.setOperatingSystemName(q._operatingSystemName),null!=q._operatingSystemVersion&&b.setOperatingSystemVersion(q._operatingSystemVersion),
478
- null!=q._deviceCategory&&b.setDeviceCategory(q._deviceCategory),null!=q._frameworkName&&b.setFrameworkName(q._frameworkName),null!=q._frameworkVersion&&b.setFrameworkVersion(q._frameworkVersion),null!=q._playerStateManager&&(q._moduleName=q._playerStateManager.getModuleName(),
479
- null!=q._moduleName&&b.setModuleName(q._moduleName),q._moduleVersion=q._playerStateManager.getModuleVersion(),null!=q._moduleVersion&&b.setModuleVersion(q._moduleVersion),null!=q._playerStateManager.getPlayerType()&&(q._frameworkName=q._playerStateManager.getPlayerType(),
480
- b.setFrameworkName(q._frameworkName)),null!=q._playerStateManager.getPlayerVersion()&&(q._frameworkVersion=q._playerStateManager.getPlayerVersion(),b.setFrameworkVersion(q._frameworkVersion))),null!=q._viewerId&&b.setViewerId(q._viewerId),
481
- K.dictCount(q._tags)>0&&b.setTags(q._tags),q.isVideoSession()||q.isAdSession()){q.isAdSession()&&b.setIsAdSession(),null!=q._assetName&&b.setAssetName(q._assetName),b.setSessionFlags(q._sessionFlags);var c=z.convertPlayerState(q._playerState);
482
- b.setPlayerState(c),b.setPauseJoin(q._pauseJoin),null!=q._playerName&&b.setPlayerName(q._playerName),null!=q._isLive&&b.setIsLive(q._isLive),q._contentLengthSec>0&&b.setContentLength(q._contentLengthSec),
483
- q._bitrateKbps>0&&b.setBitrate(q._bitrateKbps),null!==q._resource&&b.setResource(q._resource),q._encodedFrameRate>0&&b.setEncodedFrameRate(q._encodedFrameRate);var d,e=-1,f=-1;null!=q._playerStateManager&&(e=O.Integer(q._playerStateManager.getPHT(),0,null,-1),
484
- f=O.Integer(q._playerStateManager.getBufferLength(),0,null,-1),d=q._playerStateManager.getSignalStrength()),e>=0&&b.setPlayheadTime(e),f>0&&b.setBufferLength(f);var g=q.updateAverageFrameRate();if(g>0&&b.setAverageFrameRate(g),
485
- q._playingFpsTotal>0&&b.setRfpsTotal(O.Integer(q._playingFpsTotal,0,null,-1)),q._playingFpsObservationCount>0&&b.setRfpsObservationCount(O.Integer(q._playingFpsObservationCount,0,null,-1)),d!==i.DEFAULT_SIGNAL_STRENGTH&&b.setSignalStrength(d),
486
- null!=q._streamUrl&&b.setStreamUrl(q._streamUrl),q._width>0&&b.setStreamWidth(q._width),q._height>0&&b.setStreamHeight(q._height),null!=q._customMetric)for(var h in q._customMetric)b.setField(h,q._customMetric[h]);
487
- }else b.setSessionFlags(z.SessionFlags.GLOBAL);if(a.length>0&&b.setEvents(a),b.setCapabilities(q._capabilities),b.setIsSdkClient(!0),q._clientConfig.get(G.CONFIG_KEY_SEND_LOGS)&&b.setLogs(q._logBuffer.flush()),
488
- q._clientConfig.get(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS)>0){var j=q.compileHeartbeatInfos();j.length>0&&b.setHeartbeatInfos(j)}return 0==q._heartbeatSequenceNumber&&(b=q.cloneHearbeatWithBrowserTags(b)),0!=q._heartbeatSequenceNumber&&(b=q.cloneHeartbeatWithConvivaIdTags(b)),
489
- b.setSessionStartTime(q._startTimeMs),b.setSessionTime(q.getSessionTime()),q._cdnIpAutoDetectionEnabled&&(b.setCdnName(q._cdnName),b.setCdnType(q._cdnType),b.setCdnLabel(q._cdnLabel),b.setCdnValue(q._cdnValue),
490
- b.setCdnHttpRespCode(q._cdnHttpRespCode)),q._heartbeatSequenceNumber++,b.get()},this.cloneHeartbeatWithConvivaIdTags=function(a){var b=q._uniqueIdentifiers,c={};for(var d in a._data.tags)b.hasOwnProperty(d)||(c[d]=a._data.tags[d]);
491
- a._data.tags=c,q._uniqueIdentifiers={};for(var e=0;e<q.whitelistedIdentifiers.length;e++)q._client._uniqueIdentifiers.hasOwnProperty(q.whitelistedIdentifiers[e])?q._client._userPrefForData.hasOwnProperty(q.whitelistedIdentifiers[e])?q._client._userPrefForData[q.whitelistedIdentifiers[e]]==G.ConvivaIdErrorCodes.CONVIVAID_USER_OPTOUT?(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPTOUT,
492
- q._client._uniqueIdentifierCallback("End-user chose to opt-out of personal data collection")):q._client._userPrefForData[q.whitelistedIdentifiers[e]]==G.ConvivaIdErrorCodes.CONVIVAID_USER_OPT_DELETE?(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPT_DELETE,
493
- q._client._uniqueIdentifierCallback("End-user chose to opt-out of personal data collection")):q._client._userPrefForData[q.whitelistedIdentifiers[e]]==G.ConvivaIdErrorCodes.CONVIVAID_PRIVACY_RESTRICTION?(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_PRIVACY_RESTRICTION,
494
- q._client._uniqueIdentifierCallback("End-user used privacy settings and chose to opt-out of personal data collection")):(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=q._client._uniqueIdentifiers[q.whitelistedIdentifiers[e]],
495
- q._client._uniqueIdentifierCallback("Data collection successful")):(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=q._client._uniqueIdentifiers[q.whitelistedIdentifiers[e]],
496
- q._client._uniqueIdentifierCallback("Data collection successful")):q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_NA;var f={};for(var g in b){
497
- var h=g.split(".");"{}"!=JSON.stringify(q.whitelistedIdentifiers)&&-1!=q.whitelistedIdentifiers.indexOf(""+h[2])||b[G.CONVIVAID_FP_PREFIX+""+h[2]]==G.ConvivaIdErrorCodes.CONVIVAID_SERVER_RESTRICTION||(q._client._uniqueIdentifierCallback("Data collection restricted from Conviva back-end"),
498
- q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+h[2]]=G.ConvivaIdErrorCodes.CONVIVAID_SERVER_RESTRICTION,f[G.CONVIVAID_FP_PREFIX+""+h[2]]=G.ConvivaIdErrorCodes.CONVIVAID_SERVER_RESTRICTION)}if("{}"!==JSON.stringify(q._uniqueIdentifiers)){
499
- var i=K.ObjectShallowCopy(q._uniqueIdentifiers);for(var j in a._data.tags)i[j]=a._data.tags[j];if(a._data.tags=i,!K.ObjectShallowEquals(b,q._uniqueIdentifiers)){var k=null,l={};if("{}"!==JSON.stringify(f)&&(l[z.REQUEST_KEY_TAGS]=f),
500
- "{}"!==JSON.stringify(b)){k={};for(var m in b)void 0!==q._uniqueIdentifiers[m]&&b[m]!==q._uniqueIdentifiers[m]&&(void 0==l[z.REQUEST_KEY_TAGS]&&(l[z.REQUEST_KEY_TAGS]={}),l[z.REQUEST_KEY_TAGS][m]=q._uniqueIdentifiers[m]);
501
- for(m in q._uniqueIdentifiers)b.hasOwnProperty(m)&&b[m]===q._uniqueIdentifiers[m]||(void 0==l[z.REQUEST_KEY_TAGS]&&(l[z.REQUEST_KEY_TAGS]={}),l[z.REQUEST_KEY_TAGS][m]=q._uniqueIdentifiers[m])}"{}"==JSON.stringify(b)&&(l[z.REQUEST_KEY_TAGS]=q._uniqueIdentifiers);
502
- var n={};if(n[z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW]=l,n[z.REQUEST_EVENT_KEY_TYPE]=z.EVENT_TYPE_STATE_CHANGE,n[z.REQUEST_EVENT_KEY_SESSION_TIME]=q.getSessionTime(),n[z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER]=q._eventQueue.getNumber(),
503
- q._playerStateManager){var o=O.Integer(q._playerStateManager.getPHT(),0,null,-1),p=O.Integer(q._playerStateManager.getBufferLength(),0,null,-1);o>=0&&(n[z.REQUEST_KEY_PLAYHEAD_TIME]=o),p>0&&(n[z.REQUEST_KEY_BUFFER_LENGTH]=p);
504
- }void 0==a._data.evs&&(a._data.evs=[]),a._data.evs.push(n)}}return a},this.cloneHearbeatWithBrowserTags=function(a){var b=q.getBrowserMetadata();if("{}"!==JSON.stringify(b)){var c=K.ObjectShallowCopy(b);
505
- for(var d in a._data.tags)c[d]=a._data.tags[d];a._data.tags=c;var e={};e[z.REQUEST_KEY_TAGS]=b;var f={};if(f[z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW]=e,f[z.REQUEST_EVENT_KEY_TYPE]=z.EVENT_TYPE_STATE_CHANGE,
506
- f[z.REQUEST_EVENT_KEY_SESSION_TIME]=q.getSessionTime(),f[z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER]=q._eventQueue.getNumber(),q._playerStateManager){var g=O.Integer(q._playerStateManager.getPHT(),0,null,-1),h=O.Integer(q._playerStateManager.getBufferLength(),0,null,-1);
507
- g>=0&&(f[z.REQUEST_KEY_PLAYHEAD_TIME]=g),h>0&&(f[z.REQUEST_KEY_BUFFER_LENGTH]=h)}return void 0==a._data.evs&&(a._data.evs=[]),a._data.evs.push(f),a}return a},this.getBrowserMetadata=function(){var a={};
508
- if("undefined"!=typeof navigator&&null!=navigator){if(a["c3.fp.cookie"]=null!=navigator.cookieEnabled&&void 0!=navigator.cookieEnabled?""+navigator.cookieEnabled:"",a["c3.fp.memory"]=null!=navigator.deviceMemory&&void 0!=navigator.deviceMemory?""+navigator.deviceMemory:"",
509
- a["c3.fp.hwConc"]=null!=navigator.hardwareConcurrency&&void 0!=navigator.hardwareConcurrency?""+navigator.hardwareConcurrency:"",a["c3.fp.java"]=""+("function"!=typeof navigator.javaEnabled)?"false":navigator.javaEnabled(),
510
- a["c3.fp.lang"]=null!=navigator.language&&void 0!=navigator.language?""+navigator.language:"",a["c3.fp.langs"]=null!=navigator.languages&&void 0!=navigator.languages&&navigator.languages.length>0?""+navigator.languages.toString():"",
511
- a["c3.fp.maxTp"]=null!=navigator.maxTouchPoints&&void 0!=navigator.maxTouchPoints?""+navigator.maxTouchPoints:"",a["c3.fp.plugins"]="",null!=navigator.plugins&&navigator.plugins.length>0)for(var b=0;b<navigator.plugins.length;b++)a["c3.fp.plugins"]+=navigator.plugins[b].name+",";
512
- if(a["c3.fp.mime"]="",null!=navigator.mimeTypes&&navigator.mimeTypes.length>0)for(var c=0;c<navigator.mimeTypes.length;c++)a["c3.fp.mime"]+=navigator.mimeTypes[c].type+",";a["c3.fp.sysLang"]=null!=navigator.systemLanguage&&void 0!=navigator.systemLanguage?""+navigator.systemLanguage:"",
513
- a["c3.fp.platform"]=null!=navigator.platform&&void 0!=navigator.platform?""+navigator.platform:"",a["c3.fp.product"]=null!=navigator.product&&void 0!=navigator.product?""+navigator.product:"",a["c3.fp.productSub"]=null!=navigator.productSub&&void 0!=navigator.productSub?""+navigator.productSub:"",
514
- a["c3.fp.vendor"]=null!=navigator.vendor&&void 0!=navigator.vendor?""+navigator.vendor:"",a["c3.fp.vendorSub"]=null!=navigator.vendorSub&&void 0!=navigator.vendorSub?""+navigator.vendorSub:"";var d=q.getHashedCanvasFingerprint();
515
- ""!=d&&(a["c3.fp.canvFp"]=d)}return"undefined"!=typeof window&&null!=window&&(null!=window.screen&&(a["c3.fp.availHeight"]=null!=window.screen.availHeight&&void 0!=window.screen.availHeight?""+window.screen.availHeight:"",
516
- a["c3.fp.availWidth"]=null!=window.screen.availWidth&&void 0!=window.screen.availWidth?""+window.screen.availWidth:"",a["c3.fp.height"]=null!=window.screen.height&&void 0!=window.screen.height?""+window.screen.height:"",
517
- a["c3.fp.width"]=null!=window.screen.width&&void 0!=window.screen.width?""+window.screen.width:"",a["c3.fp.colorDepth"]=null!=window.screen.colorDepth&&void 0!=window.screen.colorDepth?""+window.screen.colorDepth:"",
518
- a["c3.fp.deviceXDPI"]=null!=window.screen.deviceXDPI&&void 0!=window.screen.deviceXDPI?""+window.screen.deviceXDPI:"",a["c3.fp.deviceYDPI"]=null!=window.screen.deviceYDPI&&void 0!=window.screen.deviceYDPI?""+window.screen.deviceYDPI:""),
519
- a["c3.fp.dpi"]=null!=window.devicePixelRatio&&void 0!=window.devicePixelRatio?""+window.devicePixelRatio:"",a["c3.fp.secure"]=null!=window.isSecureContext&&void 0!=window.isSecureContext?""+window.isSecureContext:""),
520
- a},this.getHashedCanvasFingerprint=function(){if("undefined"!=typeof document&&null!=document){var a=document.createElement("CANVAS"),b=a.getContext("2d"),c="conviva";return b.textBaseline="top",b.font="14px 'Arial'",
521
- b.textBaseline="alphabetic",b.fillStyle="#f40",b.fillRect(null!=navigator.plugins&&void 0!=navigator.plugins?navigator.plugins.length:0,null!=navigator.mimeTypes&&void 0!=navigator.mimeTypes?navigator.mimeTypes.length:0,null!=navigator.product&&void 0!=navigator.product?navigator.product.length:0,null!=navigator.vendor&&void 0!=navigator.vendor?navigator.vendor.length:0),
522
- b.fillStyle="#069",b.fillText(c,null!=navigator.maxTouchPoints&&void 0!=navigator.maxTouchPoints?navigator.maxTouchPoints:0,null!=navigator.product&&void 0!=navigator.product?navigator.product.length:0),
523
- b.fillStyle="rgba(102, 204, 0, 0.7)",b.fillText(c,null!=navigator.deviceMemory&&void 0!=navigator.deviceMemory?navigator.deviceMemory:0,null!=navigator.hardwareConcurrency&&void 0!=navigator.hardwareConcurrency?navigator.hardwareConcurrency:0),
524
- K.sha256(a.toDataURL())}return""},this.sendHeartbeat=function(){if(!q._cleanedUp){var a=q.makeHeartbeat();null!=a&&q.postHeartbeat(a)}},this.countRfps=function(){if(q._playerState===i.PlayerState.PLAYING&&null!=q._playerStateManager){
525
- var a=q._playerStateManager.getRenderedFrameRate();a>0&&(q._playingFpsTotal+=a,q._playingFpsObservationCount++)}},this.updateAverageFrameRate=function(){return q._playingFpsTotal>0&&q._playingFpsObservationCount>0?K.Int32.Cast(1*q._playingFpsTotal/q._playingFpsObservationCount):(this.countRfps(),
526
- q._playingFpsTotal>0&&q._playingFpsObservationCount>0?K.Int32.Cast(1*q._playingFpsTotal/q._playingFpsObservationCount):i.DEFAULT_RENDERED_FRAME_RATE)},this.postHeartbeat=function(a){q.createHeartbeatInfo();
527
- var b=q._heartbeatSequenceNumber-1;q._logger.info("postHeartbeat(): Send HB["+b+"]"+q.sessionTypeTag());var c=function(a,c){q.onHeartbeatResponse(a,c,b)};q._gatewayControl.send(a,c)},this.onHeartbeatResponse=function(a,b,c){
528
- q._cleanedUp||q._exceptionCatcher.runProtected("onHeartbeatResponse",function(){if(a){var d=b;if(null!=d){q._logger.debug("onHeartbeatResponse(): received valid response for HB["+c+"]"),q.updateHeartbeatInfoOnSuccess(c);
529
- var e=d[z.RESPONSE_KEY_CLIENT_ID];null!=e&&e!=q._clientConfig.get(G.CONFIG_KEY_CLIENT_ID)&&(q._logger.debug("onHeartbeatResponse(): setting the client id to "+e+" (from gateway)"),q._clientConfig.set(G.CONFIG_KEY_CLIENT_ID,e),
530
- q._clientConfig.save());var f=d[z.RESPONSE_KEY_STATUS];null!=f&&f!=z.RESPONSE_STATUS_NO_ERRORS&&q._logger.error("onHeartbeatResponse(): error from gateway: "+f);var g=d[z.RESPONSE_KEY_CONFIG];if("object"==typeof g){
531
- var h=g[z.RESPONSE_CONFIG_KEY_MAX_HEARTBEAT_INFOS];null!=h&&q._clientConfig.get(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS)!==h&&(q._logger.debug("onHeartbeatResponse(): setting Maximum Heartbeat Infos to "+h+" (from gateway)"),
532
- q._clientConfig.set(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS,h));var i=g[z.RESPONSE_CONFIG_KEY_SEND_LOGS],j=null!=i?K.AsBoolean(i):!1;j!==q._clientConfig.get(G.CONFIG_KEY_SEND_LOGS)&&(q._logger.debug("onHeartbeatResponse(): turning "+(j?"on":"off")+" sending of logs"),
533
- q._clientConfig.set(G.CONFIG_KEY_SEND_LOGS,j));var k=g[z.RESPONSE_CONFIG_KEY_HEARTBEAT_INTERVAL];if(null!=k){var l=K.Int32.Cast(k),m=l;m!=q._clientSettings.heartbeatInterval&&(q._logger.debug("onHeartbeatResponse(): received hbIntervalMs from gateway: "+m),
534
- q._clientSettings.heartbeatInterval=m,null!=q._heartbeatTimerCancel&&q.resetHeartbeatTimer())}var n=g[z.RESPONSE_CONFIG_KEY_GATEWAY_URL];null!=n&&n!=q._clientSettings.gatewayUrl&&(q._logger.debug("onHeartbeatResponse(): received gatewayUrl from gateway: "+n),
535
- q._clientSettings.gatewayUrl=n),q.whitelistedIdentifiers={};var o=g[z.RESPONSE_CONFIG_KEY_CONVIVAID_FP];null!=o&&(q._startConvivaIdCollection||(q._startConvivaIdCollection=!0),q._logger.debug("onHeartbeatResponse(): received fp from gateway: "+o),
536
- q.whitelistedIdentifiers=o.split(",")),q._cdnIpAutoDetectionEnabled=g[z.RESPONSE_CONFIG_KEY_CDN_SERVER_IP_ENABLE],1==q._cdnIpAutoDetectionEnabled?(q._logger.debug("onHeartbeatResponse(): enabling the CDN Server IP collection"),
537
- (void 0==q._cdnTimerCancel||null==q._cdnTimerCancel)&&q.startCdnTimer()):(q._logger.debug("onHeartbeatResponse(): disabling the CDN Server IP collection (from gateway)"),q.cancelCdnTimer())}}else q._logger.warning("onHeartbeatResponse(): decoded heartbeat response is null.");
538
- }else{var p=b;K.isValidString(p)?K.stringStartsWith(p,"HTTP timeout")?q._logger.warning("onHeartbeatResponse(): "+p):q._logger.error("onHeartbeatResponse(): failed to send heartbeat: "+p):(p=D.DEFAULT_HEARTBEAT_ERROR_MESSAGE,
539
- q._logger.error("onHeartbeatResponse(): "+p)),q.updateHeartbeatInfoOnFailure(c,p)}})},this.getSessionTime=function(){var a=K.Int32.Cast(q._time.current()-q._startTimeMs);return a},this.getNextEventNumber=function(){
540
- return this._eventQueue.getNumber()},this.sessionTypeTag=function(){return this.isGlobalSession()?" (global session)":""},this.isGlobalSession=function(){return this._global==C.SESSION_TYPE.GLOBAL},this.isVideoSession=function(){
541
- return this._global==C.SESSION_TYPE.VIDEO},this.isAdSession=function(){return this._global==C.SESSION_TYPE.AD},this.updateContentMetadata=function(a){q.mergeContentMetadata(a),q.setStatesFromContentMetadata();
542
- },this.mergeContentMetadata=function(b){var c={},d={};if(K.isValidString(b.assetName)&&(q._contentMetadata.assetName!=b.assetName?(null!=q._contentMetadata.assetName&&(c[z.REQUEST_KEY_ASSET_NAME]=q._contentMetadata.assetName),
543
- d[z.REQUEST_KEY_ASSET_NAME]=b.assetName,q._contentMetadata.assetName=b.assetName):q._logger.warning("mergeContentMetadata(): assetName was not changed.")),K.isValidString(b.applicationName)&&(q._contentMetadata.applicationName!=b.applicationName?(null!=q._contentMetadata.applicationName&&(c[z.REQUEST_KEY_PLAYER_NAME]=q._contentMetadata.applicationName),
544
- d[z.REQUEST_KEY_PLAYER_NAME]=b.applicationName,q._contentMetadata.applicationName=b.applicationName):q._logger.warning("mergeContentMetadata(): applicationName was not changed.")),K.isValidString(b.streamUrl)&&(q._contentMetadata.streamUrl!=b.streamUrl?(null!=q._contentMetadata.streamUrl&&(c[z.REQUEST_KEY_STREAM_URL]=q._contentMetadata.streamUrl),
545
- d[z.REQUEST_KEY_STREAM_URL]=b.streamUrl,q._contentMetadata.streamUrl=b.streamUrl,q._streamUrl=q._contentMetadata.streamUrl):q._logger.warning("mergeContentMetadata(): streamUrl was not changed.")),K.isValidString(b.viewerId)&&(q._contentMetadata.viewerId!=b.viewerId?(null!=q._contentMetadata.viewerId&&(c[z.REQUEST_KEY_VIEWER_ID]=q._contentMetadata.viewerId),
546
- d[z.REQUEST_KEY_VIEWER_ID]=b.viewerId,q._contentMetadata.viewerId=b.viewerId):q._logger.warning("mergeContentMetadata(): viewerId was not changed.")),K.isValidString(b.defaultResource)&&(q._contentMetadata.defaultResource!=b.defaultResource?(null!=q._contentMetadata.defaultResource&&(c[z.REQUEST_KEY_RESOURCE]=q._contentMetadata.defaultResource),
547
- d[z.REQUEST_KEY_RESOURCE]=b.defaultResource,q._contentMetadata.defaultResource=b.defaultResource):q._logger.warning("mergeContentMetadata(): defaultResource was not changed.")),K.isInteger(b.duration)&&b.duration>0&&(q._contentMetadata.duration!=b.duration?(q._contentLengthSec>0&&(c[z.REQUEST_KEY_CONTENT_LENGTH]=q._contentLengthSec),
548
- d[z.REQUEST_KEY_CONTENT_LENGTH]=b.duration,q._contentMetadata.duration=b.duration,q._contentLengthSec=q._contentMetadata.duration):q._logger.warning("mergeContentMetadata(): duration was not changed.")),
549
- K.isInteger(b.encodedFrameRate)&&b.encodedFrameRate>0&&(q._contentMetadata.encodedFrameRate!=b.encodedFrameRate?(q._contentMetadata.encodedFrameRate>-1&&(c[z.REQUEST_KEY_ENCODED_FRAME_RATE]=q._contentMetadata.encodedFrameRate),
550
- d[z.REQUEST_KEY_ENCODED_FRAME_RATE]=b.encodedFrameRate,q._contentMetadata.encodedFrameRate=b.encodedFrameRate,q._encodedFrameRate=q._contentMetadata.encodedFrameRate):q._logger.warning("mergeContentMetadata(): encodedFrameRate was not changed.")),
551
- b.streamType!=f.StreamType.UNKNOWN&&(q._contentMetadata.streamType!=b.streamType?(q._contentMetadata.streamType!=f.StreamType.UNKNOWN&&(q._contentMetadata.streamType==a.ContentMetadata.StreamType.LIVE?c[z.REQUEST_KEY_IS_LIVE]=!0:c[z.REQUEST_KEY_IS_LIVE]=!1),
552
- b.streamType==a.ContentMetadata.StreamType.LIVE?d[z.REQUEST_KEY_IS_LIVE]=!0:d[z.REQUEST_KEY_IS_LIVE]=!1,q._contentMetadata.streamType=b.streamType):q._logger.warning("mergeContentMetadata(): streamType was not changed.")),
553
- K.dictCount(b.custom)>0){var e={},g={};for(var h in b.custom){var i=q._contentMetadata.custom[h];i!=b.custom[h]?(e[h]=b.custom[h],q._contentMetadata.custom[h]&&(g[h]=q._contentMetadata.custom[h]),q._contentMetadata.custom[h]=b.custom[h]):q._logger.info("mergeContentMetadata(): custom."+h+" was not changed.");
554
- }K.dictCount(e)>0?(K.dictCount(g)>0&&(c[z.REQUEST_KEY_TAGS]=g),d[z.REQUEST_KEY_TAGS]=e):q._logger.warning("mergeContentMetadata(): custom was not changed.")}K.dictCount(d)>0&&this.declareStateChange(d,c);
555
- },this.setStatesFromContentMetadata=function(){if(q._logger.debug("setStatesFromContentMetadata()"),null!=q._contentMetadata.defaultResource&&this.setResource(q._contentMetadata.defaultResource),null!=q._contentMetadata.streamUrl&&this.setStreamUrl(q._contentMetadata.streamUrl),
556
- q._contentMetadata.duration>0&&this.setContentLength(q._contentMetadata.duration),q._contentMetadata.encodedFrameRate>0&&this.setEncodedFrameRate(q._contentMetadata.encodedFrameRate),q._contentMetadata.streamType!==f.StreamType.UNKNOWN){
557
- var a=q._contentMetadata.streamType===f.StreamType.LIVE;this.setIsLive(a)}null!=q._contentMetadata.assetName&&this.setAssetName(q._contentMetadata.assetName),null!=q._contentMetadata.viewerId&&this.setViewerId(q._contentMetadata.viewerId),
558
- (null!=q._contentMetadata.applicationName||null!=q._contentMetadata.playerName)&&this.setPlayerName(q._contentMetadata.applicationName||q._contentMetadata.playerName),K.dictCount(q._contentMetadata.custom)>0&&this.setTags(q._contentMetadata.custom);
559
- },this.enqueueEventForContentMetadata=function(){var b={};if(null!=q._contentMetadata.assetName?b[z.REQUEST_KEY_ASSET_NAME]=q._contentMetadata.assetName:q._logger.warning("enqueueEventForContentMetadata(): assetName was not set."),
560
- null!=q._contentMetadata.applicationName?b[z.REQUEST_KEY_PLAYER_NAME]=q._contentMetadata.applicationName:q._logger.warning("enqueueEventForContentMetadata(): applicationName was not set."),null!=q._contentMetadata.streamUrl?b[z.REQUEST_KEY_STREAM_URL]=q._contentMetadata.streamUrl:q._logger.warning("enqueueEventForContentMetadata(): streamUrl was not set."),
561
- null!=q._contentMetadata.viewerId?b[z.REQUEST_KEY_VIEWER_ID]=q._contentMetadata.viewerId:q._logger.warning("enqueueEventForContentMetadata(): viewerId was not set."),null!=q._contentMetadata.defaultResource?b[z.REQUEST_KEY_RESOURCE]=q._contentMetadata.defaultResource:q._logger.warning("enqueueEventForContentMetadata(): defaultResource was not set."),
562
- q._contentMetadata.duration>-1?b[z.REQUEST_KEY_CONTENT_LENGTH]=q._contentMetadata.duration:q._logger.warning("enqueueEventForContentMetadata(): duration was not set."),q._contentMetadata.encodedFrameRate>-1?b[z.REQUEST_KEY_ENCODED_FRAME_RATE]=q._contentMetadata.encodedFrameRate:q._logger.warning("enqueueEventForContentMetadata(): encodedFrameRate was not set."),
563
- q._contentMetadata.streamType!=f.StreamType.UNKNOWN?q._contentMetadata.streamType==a.ContentMetadata.StreamType.LIVE?b[z.REQUEST_KEY_IS_LIVE]=!0:b[z.REQUEST_KEY_IS_LIVE]=!1:q._logger.warning("enqueueEventForContentMetadata(): streamType was not set."),
564
- K.dictCount(q._contentMetadata.custom)>0){b[z.REQUEST_KEY_TAGS]={};for(var c in q._contentMetadata.custom)b[z.REQUEST_KEY_TAGS][c]=q._contentMetadata.custom[c]}else q._logger.warning("enqueueEventForContentMetadata(): custom tags were not set.");
565
- K.dictCount(b)>0&&this.declareStateChange(b,null)},this.validateContentMetadata=function(){null!=q._contentMetadata&&K.isValidString(q._contentMetadata.assetName)||q._logger.warning("Missing assetName during session creation"),
566
- null!=q._contentMetadata&&K.isValidString(q._contentMetadata.defaultResource)||q._logger.warning("Missing resource during session creation"),null!=q._contentMetadata&&K.isValidString(q._contentMetadata.streamUrl)||q._logger.warning("Missing streamUrl during session creation"),
567
- (null==q._contentMetadata||q._contentMetadata.encodedFrameRate<=0)&&q._logger.warning("Missing encodedFrameRate during session creation"),null!=q._contentMetadata&&K.isValidString(q._contentMetadata.viewerId)||q._logger.warning("Missing viewerId during session creation"),
568
- (null==q._contentMetadata||null==q._contentMetadata.streamType||f.StreamType.UNKNOWN===q._contentMetadata.streamType)&&q._logger.warning("Missing streamType during session creation"),null!=q._contentMetadata&&K.isValidString(q._contentMetadata.applicationName)||q._logger.warning("Missing applicationName during session creation"),
569
- (null==q._contentMetadata||q._contentMetadata.duration<=0)&&q._logger.warning("Missing duration during session creation")},this.updateCustomMetric=function(a,b){null==q._customMetric&&(q._customMetric={}),
570
- q._customMetric[a]=b}};C.DEFAULT_VIDEO_SESSION_FLAGS=z.SessionFlags.VIDEO+z.SessionFlags.QUALITY_METRICS+z.SessionFlags.BITRATE_METRICS,C.SESSION_TYPE={VIDEO:"Video",GLOBAL:"Global",AD:"Ad"};var D=(b.IMonitor=function(){
571
- this.onPlayerStateChange=function(a){},this.onBitrateChange=function(a){},this.onSeekEvent=function(a,b){},this.onEncodedFrameRateChange=function(a){},this.onRenderedFrameRateChange=function(a){},this.onContentLengthChange=function(a){},
572
- this.onPlayheadTimeChange=function(a){},this.onStreamUrlChange=function(a){},this.onBufferLengthChange=function(a){},this.onPlayerTypeChange=function(a){},this.onPlayerVersionChange=function(a){},this.onStreamResolutionWidthChange=function(a){},
573
- this.onStreamResolutionHeightChange=function(a){},this.onConnectionTypeChange=function(a){},this.onLinkEncryptionChange=function(a){},this.onSignalStrengthChange=function(a){},this.onError=function(a,b){},
574
- this.onRelease=function(){},this.onCDNServerIPChange=function(a){}},b.Session=function(){function b(a,b,c,d,e,f,g){this._id=a,this._global=b,this._clientConfig=c,this._systemMetadata=d,this._cwsSession=e,
575
- this._exceptionCatcher=f,this._logger=g,this._logger.setModuleName("Session"),this._logger.setSessionId(K.ToString(this._id))}var c=this;c._playerStateManager=null,c._id=0,c._global=C.SESSION_TYPE.VIDEO,
576
- c._cleaningUp=!1,c._cleanedUp=!1,c._adPlaying=!1,c._adStream=null,c._adPlayer=null,c._adPosition=null,c._ignorePlayerState=!1,c._pooledPlayerState=i.PlayerState.NOT_MONITORED,c._ignoreBitrateAndResource=!1,
577
- c._ignorePlayheadTimeandBufferLength=!1,c._ignoreEncodedFrameRateAndDuration=!1,c._ignoreError=!1,b.apply(c,arguments),this.start=function(a){if(c._cwsSession.start(this),null!=a&&void 0!=a&&c.attachPlayer(a),
578
- c._clientConfig.isReady())c.initiateSession();else{var b=function(){c.initiateSession()};c._clientConfig.register(b)}},this.cleanup=function(){if(c._logger.info("cleanup()"+c.sessionTypeTag()),c._cleaningUp=!0,
579
- c._cwsSession.willEndSoon(),c._clientConfig.isReady())c.endCwsSessionAndCleanupAll();else{var a=function(){c.endCwsSessionAndCleanupAll()};c._clientConfig.register(a)}},this.cleanupAll=function(){c._logger.debug("cleanupAll()"+c.sessionTypeTag()),
580
- (c.isVideoSession()||c.isAdSession())&&null!=c._playerStateManager&&c.releasePlayerStateManager(),c._logger.setSessionId(null),c._logger=null,c._exceptionCatcher=null,c._client=null,c._clientConfig=null,
581
- c._systemMetadata=null,c._cwsSession.cleanup(),c._cwsSession=null,c._cleanedUp=!0},this.endCwsSessionAndCleanupAll=function(){c._cwsSession.end(),c.cleanupAll()},this.initiateSession=function(){c._cwsSession.initialize(),
582
- c.setStatesFromSystemMetadata(),c._cwsSession.startSendingHeartbeats()},this.setStatesFromSystemMetadata=function(){c._logger.debug("setStatesFromSystemMetadata()");var a=c._systemMetadata.get(),b=a[T.BROWSER_NAME];
583
- null!=b&&c._cwsSession.setBrowserName(b);var d=a[T.BROWSER_VERSION];null!=d&&c._cwsSession.setBrowserVersion(d);var e=a[T.DEVICE_BRAND];null!=e&&c._cwsSession.setDeviceBrand(e);var f=a[T.DEVICE_MANUFACTURER];
584
- null!=f&&c._cwsSession.setDeviceManufacturer(f);var g=a[T.DEVICE_MODEL];null!=g&&c._cwsSession.setDeviceModel(g);var h=a[T.DEVICE_TYPE];null!=h&&c._cwsSession.setDeviceType(h);var i=a[T.DEVICE_VERSION];
585
- null!=i&&c._cwsSession.setDeviceVersion(i);var j=a[T.FRAMEWORK_NAME];null!=j&&c._cwsSession.setFrameworkName(j);var k=a[T.FRAMEWORK_VERSION];null!=k&&c._cwsSession.setFrameworkVersion(k);var l=a[T.OPERATING_SYSTEM_NAME];
586
- null!=l&&c._cwsSession.setOperatingSystemName(l);var m=a[T.OPERATING_SYSTEM_VERSION];null!=m&&c._cwsSession.setOperatingSystemVersion(m);var n=a[T.DEVICE_CATEGORY];null!=n&&c._cwsSession.setDeviceCategory(n);
587
- },this.onPlayerStateChange=function(a){return c._logger.debug("onPlayerStateChange(): "+a),c._cwsSession._playerState!=a?(c._cwsSession._playerState==i.PlayerState.NOT_MONITORED&&a!=i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=a),
588
- c._ignorePlayerState?void c._logger.debug("onPlayerStateChange(): "+a+" (pooled, "+(c._adPlaying?"ad playing":"preloading")+")"):void c._cwsSession.setPlayerState(a)):void 0},this.onBitrateChange=function(a){
589
- return c._logger.debug("onBitrateChange(): "+a),c._ignoreBitrateAndResource?void c._logger.info("onBitrateChange(): ignored"):void c._cwsSession.setBitrateKbps(a)},this.onSeekEvent=function(a,b){K.isInteger(b)||(c._logger.warning("onSeekEvent(): Ignored non-integer seekToPosition data: "+b),
590
- b=-1),c._cwsSession.enqueueSeekEvent(a,b)},this.onEncodedFrameRateChange=function(a){c._logger.debug("onEncodedFrameRateChange(): "+a),a>0?c._ignoreEncodedFrameRateAndDuration?c._logger.info("onEncodedFrameRateChange(): Ignored encoded frame rate data: "+a+" (ads)"):(c._cwsSession.setEncodedFrameRate(a),
591
- c._logger.info("onEncodedFrameRateChange(): Received encoded frame rate data: "+a)):c._logger.warning("onEncodedFrameRateChange(): Ignored invalid encoded frame rate data: "+a)},this.onContentLengthChange=function(a){
592
- c._logger.debug("onContentLengthChange(): "+a),a>0?c._ignoreEncodedFrameRateAndDuration?c._logger.info("setContentLength(): Ignored content length data: "+a+" (ads)"):(c._cwsSession.setContentLength(a),
593
- c._logger.info("setContentLength(): Received content length data: "+a)):c._logger.warning("setContentLength(): Ignored invalid content length data: "+a)},this.onStreamUrlChange=function(a){c._logger.debug("onStreamUrlChange(): "+a),
594
- c._cwsSession.setStreamUrl(a)},this.onStreamResolutionWidthChange=function(a){c._logger.debug("onStreamResolutionWidthChange(): "+a),c._cwsSession.setStreamResolutionWidth(a)},this.onStreamResolutionHeightChange=function(a){
595
- c._logger.debug("onStreamResolutionHeightChange(): "+a),c._cwsSession.setStreamResolutionHeight(a)},this.onConnectionTypeChange=function(a){c._logger.debug("onConnectionTypeChange(): "+a),c._cwsSession.setConnectionType(a);
596
- },this.onLinkEncryptionChange=function(a){c._logger.debug("onLinkEncryptionChange(): "+a),c._cwsSession.setLinkEncryption(a)},this.onPlayerTypeChange=function(a){c._logger.debug("onPlayerTypeChange(): "+a),
597
- null==c._cwsSession.getFrameworkName()&&c._cwsSession.setFrameworkName(a)},this.onPlayerVersionChange=function(a){c._logger.debug("onPlayerVersionChange(): "+a),null==c._cwsSession.getFrameworkVersion()&&c._cwsSession.setFrameworkVersion(a);
598
- },this.onCDNServerIPChange=function(a){c._logger.debug("onCDNServerIPChange(): "+a),c._cwsSession.setCDNServerIP(a)},this.onError=function(a,b){c._logger.debug("onError(): "+a+" ("+b+")"),c.reportError(a,b);
599
- },this.onRelease=function(){c._logger.debug("onRelease()"),c.releasePlayerStateManager()},this.adStart=function(b,d,e){return c._logger.debug("adStart(): adStream="+b+" adPlayer="+d+" adPosition="+e),c._adPlaying?void c._logger.warning("adStart(): multiple adStart calls, ignoring"):(c._adPlaying=!0,
600
- c._adStream=b,c._adPlayer=d,c._adPosition=e,c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!0),void(c._adStream==a.Client.AdStream.CONTENT||c._adPlayer==a.Client.AdPlayer.SEPARATE?(c._cwsSession._playerState!==i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=c._cwsSession._playerState),
601
- c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED),c._ignorePlayerState=!0):c._adStream==a.Client.AdStream.SEPARATE&&c._adPlayer==a.Client.AdPlayer.CONTENT&&(c._cwsSession._playerState!==i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=c._cwsSession._playerState),
602
- c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED),c._ignorePlayerState=!0,c._ignoreBitrateAndResource=!0,c._ignoreEncodedFrameRateAndDuration=!0,c._ignorePlayheadTimeandBufferLength=!0,c._ignoreError=!0)));
603
- },this.adEnd=function(){return c._logger.debug("adEnd()"),c._adPlaying?(c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!1),c._adStream==a.Client.AdStream.CONTENT||c._adPlayer==a.Client.AdPlayer.SEPARATE?c._preloading||(c._ignorePlayerState=!1,
604
- c._cwsSession.setPlayerState(c._pooledPlayerState)):c._adStream==a.Client.AdStream.SEPARATE&&c._adPlayer==a.Client.AdPlayer.CONTENT&&(c._ignoreBitrateAndResource=!1,c._ignoreEncodedFrameRateAndDuration=!1,
605
- c._ignorePlayheadTimeandBufferLength=!1,c._ignoreError=!1,c._preloading||(c._ignorePlayerState=!1,c._cwsSession.setPlayerState(c._pooledPlayerState))),c._adPlaying=!1,void(c._adStream=c._adPlayer=c._adPosition=null)):void c._logger.warning("adEnd(): called before adStart, ignoring");
606
- },this.detachPlayer=function(){return c._logger.debug("detachPlayer()"),null==c._playerStateManager?void c._logger.error("detachPlayer(): called before attachPlayer, ignoring"):void(null!==c._playerStateManager&&(c._exceptionCatcher.runProtected("Session.detachPlayer",function(){
607
- c._playerStateManager.removeMonitoringNotifier()}),c._playerStateManager=null,c._cwsSession.setPlayerStateManager(null),c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED)))},this.releasePlayerStateManager=function(){
608
- null!==c._playerStateManager&&(c._exceptionCatcher.runProtected("Session.releasePlayerStateManager",function(){c._playerStateManager.removeMonitoringNotifier()}),c._playerStateManager=null,c._cwsSession.setPlayerStateManager(null),
609
- c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED))},this.offFocus=function(){c._logger.debug("offFocus()"),c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!0),c._cwsSession._playerState!==i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=c._cwsSession._playerState),
610
- c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED),c._ignorePlayerState=!0},this.attachPlayer=function(a){return c._logger.debug("attachPlayer()"),null!=c._playerStateManager?void c._logger.error("attachPlayer(): detach current PlayerStateManager first"):a instanceof i?void c._exceptionCatcher.runProtected("Session.attachPlayer()",function(){
611
- a.setMonitoringNotifier(c,c._id)?(a.pushCurrentState(),c._playerStateManager=a,c._cwsSession.setPlayerStateManager(c._playerStateManager)):c._logger.error("attachPlayer(): instance of PlayerStateManager is already attached to a session");
612
- }):void c._logger.error("attachPlayer(): Incorrect PlayerStateManager instance")},this.onFocus=function(){c._logger.debug("onFocus()"),c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!1),c._ignoreBitrateAndResource=!1,
613
- c._ignoreEncodedFrameRateAndDuration=!1,c._ignorePlayheadTimeandBufferLength=!1,c._ignoreError=!1,c._preloading||(c._ignorePlayerState=!1,c._pooledPlayerState!==i.PlayerState.NOT_MONITORED&&c._cwsSession.setPlayerState(c._pooledPlayerState));
614
- },this.getPlayerStateManager=function(){return c._logger.debug("getPlayerStateManager()"),c._playerStateManager},this.contentPreload=function(){return c._logger.debug("contentPreload()"),c._preloading?void c._logger.debug("contentPreload(): called twice, ignoring"):(c._preloading=!0,
615
- void(c._ignorePlayerState=!0))},this.contentStart=function(){return c._logger.debug("contentStart()"),c._preloading?(c._preloading=!1,void(c._adPlaying||(c._ignorePlayerState=!1,c._pooledPlayerState!==i.PlayerState.NOT_MONITORED&&c._cwsSession.setPlayerState(c._pooledPlayerState)))):void c._logger.warning("contentStart(): called without contentPreload, ignoring");
616
- },this.reportError=function(b,d){if(c._logger.info("reportError(): "+b),!K.isValidString(b))return void c._logger.error("reportError(): invalid error message string: "+b);if(d!==a.Client.ErrorSeverity.FATAL&&d!==a.Client.ErrorSeverity.WARNING)return void c._logger.error("reportError(): invalid error severity: "+d);
617
- if(c._ignoreError)return void c._logger.debug("reportError(): ignored");var e=d===a.Client.ErrorSeverity.FATAL;c._cwsSession.sendError(b,e)},this.updateContentMetadata=function(a){c._exceptionCatcher.runProtected("Session.updateContentMetadata",function(){
618
- c._cwsSession.updateContentMetadata(a)})},this.sendCustomEvent=function(a,b){c._logger.info("sendEvent(): eventName="+a+c.sessionTypeTag()),c._cwsSession.enqueueCustomEvent(a,b)},this.isGlobalSession=function(){
619
- return c._global==C.SESSION_TYPE.GLOBAL},this.isVideoSession=function(){return c._global==C.SESSION_TYPE.VIDEO},this.isAdSession=function(){return c._global==C.SESSION_TYPE.AD},this.sessionTypeTag=function(){
620
- return c.isGlobalSession()?" (global session)":""},this.getSessionId=function(){return this._id},this.getClientId=function(){var a=null;return c._clientConfig.isReady()&&(a=c._clientConfig.get(G.CONFIG_KEY_CLIENT_ID)),
621
- a},this.updateCustomMetric=function(a,b){c._cwsSession.updateCustomMetric(a,b)}});D.DEFAULT_HEARTBEAT_ERROR_MESSAGE="received no response (or a bad response) to heartbeat POST request";var E=b.SessionFactory=function(){
622
- function a(a,c,d,e){b._client=a,b._clientSettings=c,b._clientConfig=d,b._systemFactory=e,b._logger=b._systemFactory.buildLogger(),b._logger.setModuleName("SessionFactory"),b._nextSessionKey=0,b._sessionsByKey={};
623
- }var b=this;b._logger=null,b._logBuffer=null,b._nextSessionKey=0,b._sessionsByKey=null,a.apply(b,arguments),this.cleanup=function(){b._logger=null,b._logBuffer=null;for(var a in b._sessionsByKey){var c=b._sessionsByKey[a];
624
- c.cleanup()}b._sessionsByKey=null,b._nextSessionKey=0},this.newSessionKey=function(){var a=b._nextSessionKey;return b._nextSessionKey++,a},this.makeVideoSession=function(a,c,d){return null==a&&(a=new f),
625
- b.makeSession(a,c,d)},this.makeGlobalSession=function(a){return b.makeSession(a,C.SESSION_TYPE.GLOBAL)},this.generateSessionId=function(){return N.integer32()},this.makeSession=function(a,c,d){var e=a.clone(),f=b.generateSessionId(),g=b._systemFactory.buildSession(b._client,b._clientSettings,b._clientConfig,f,c,e),h=b.newSessionKey();
626
- return b.addSession(h,g),g.start(d),h},this.getSession=function(a){var c=b._sessionsByKey[a];return null==c&&b._logger.error("Client: invalid sessionKey. Did you cleanup that session previously?"),c},this.getVideoSession=function(a){
627
- var c=this.getSession(a);return null!=c&&(c.isVideoSession()||c.isAdSession()||(b._logger.error("Client: invalid sessionKey. Did you cleanup that session previously?"),c=null)),c},this.addSession=function(a,c){
628
- b._sessionsByKey[a]=c},this.removeSession=function(a){delete b._sessionsByKey[a]},this.cleanupSession=function(a){var c=b.getSession(a);b.removeSession(a),c.cleanup()}},F=b.CallbackWithTimeout=function(a){
629
- this._timer=a,this.getWrapperCallback=function(a,b,c){var d=!1,e=function(){d||(d=!0,a(!1,c+" ("+b+" ms)"))};this._timer.createOnce(e,b,"CallbackWithTimeout.wrap");var f=function(b,c){d||(d=!0,a(b,c))};
630
- return f}},G=b.Config=function(a,b,c){var d=this;this._logger=a,this._logger.setModuleName("Config"),this._storage=b,this._jsonInterface=c,this._defaultConfig={clientId:z.DEFAULT_CLIENT_ID,sendLogs:!1,
631
- maxHbInfos:z.DEFAULT_MAX_HEARTBEAT_INFOS},this._config=K.ObjectShallowCopy(this._defaultConfig),this._loaded=!1,this._loadedEmpty=!1,this._waitingConsumers=[],this.isReady=function(){return this._loaded;
632
- },this.load=function(){var a=function(a,b){a?(d._parse(b),d._logger.debug("load(): configuration successfully loaded from local storage"+(d._loadedEmpty?" (was empty)":"")+".")):d._logger.error("load(): error loading configuration from local storage: "+b),
633
- d._loaded=!0,d._notify()};this._storage.load(G.STORAGE_KEY,a)},this._parse=function(a){var b=this._jsonInterface.decode(a);if(null==b)return void(this._loadedEmpty=!0);var c=b[G.CONFIG_STORAGE_KEY_CLIENT_ID];
634
- null!=c&&c!=z.DEFAULT_CLIENT_ID&&""!=c&&"null"!=c&&(this._config[G.CONFIG_KEY_CLIENT_ID]=c,this._logger.debug("parse(): loaded clientId="+c+" (from local storage)"))},this._marshall=function(){var a={};
635
- return a[G.CONFIG_STORAGE_KEY_CLIENT_ID]=this._config.clientId,this._logger.debug("_marshall(): saving clientId="+this._config.clientId+" (to local storage)"),this._jsonInterface.encode(a)},this.save=function(){
636
- var a=function(a,b){a?d._logger.debug("save(): configuration successfully saved to local storage."):d._logger.error("save(): error saving configuration to local storage: "+b)};this._storage.save(G.STORAGE_KEY,this._marshall(),a);
637
- },this.register=function(a){return this.isReady()?void a():void this._waitingConsumers.push(a)},this.get=function(a){return this._loaded?this._config[a]:null},this.set=function(a,b){this._loaded&&(this._config[a]=b);
638
- },this._notify=function(){for(var a;null!=(a=this._waitingConsumers.shift());)a()}};G.STORAGE_KEY="sdkConfig",G.CONFIG_STORAGE_KEY_CLIENT_ID="clId",G.CONFIG_KEY_CLIENT_ID="clientId",G.CONFIG_KEY_SEND_LOGS="sendLogs",
639
- G.CONFIG_KEY_MAX_HEARTBEAT_INFOS="maxHbInfos",G.CONVIVAID_FP_PREFIX="c3.fp.",G.ConvivaIdErrorCodes={CONVIVAID_NA:"0",CONVIVAID_FETCH_ERROR:"1",CONVIVAID_USER_OPTOUT:"2",CONVIVAID_PRIVACY_RESTRICTION:"3",
640
- CONVIVAID_SERVER_RESTRICTION:"4",CONVIVAID_USER_OPT_DELETE:"5",CONVIVAID_USER_NO_RESTRICTION:"6"};var H=b.EventQueue=function(){this._events=[],this._nextEventNumber=0,this.enqueue=function(a){this._events.push(a);
641
- },this.getNumber=function(){var a=this._nextEventNumber;return this._nextEventNumber++,a},this.flush=function(){var a=this._events;return this._events=[],a}},I=b.ExceptionCatcher=function(a,b,c){this._logger=a,
642
- this._logger.setModuleName("ExceptionCatcher"),this._ping=b,this._systemSettings=c,this.runProtected=function(a,b,c){try{b()}catch(d){if(null!=c)c(d);else{if(this._systemSettings.allowUncaughtExceptions)throw d;
643
- this.onUncaughtException(a,d)}}},this.onUncaughtException=function(a,b){var c="Uncaught exception: "+a+": "+b.toString();if(null!=this._ping)try{this._ping.send(c)}catch(d){this._logger.error("Caught exception while sending ping: "+d.toString());
644
- }this._logger.error(c)}},J=b.GatewayControl=function(a,b,c,d){var e=this;this._clientSettings=a,this._logger=b,this._logger.setModuleName("GatewayControl"),this._httpClient=c,this._jsonInterface=d,this.send=function(a,b){
645
- var c=this._jsonInterface.encode(a),d=this._clientSettings.gatewayUrl+z.gatewayPath,f=function(a,c){if(a){var d=e._jsonInterface.decode(c);b(a,d)}else{var f=c;b(a,f)}};this._httpClient.request("POST",d,c,"application/json",f);
646
- }},K=b.Lang={};K.isMeaningfulString=function(a){return K.isValidString(a)&&null!=a&&"undefined"!=a&&"null"!=a},K.sanitizeStringToStringObject=function(a){var b={};for(var c in a)if(K.isMeaningfulString(c)){
647
- var d=a[c];K.isMeaningfulString(d)&&(b[c]=d)}return b},K.validateInterface=function(a,b,c){if(null==a)throw new Error("Expected "+c+" implementation is null.");for(var d in b)if("function"!=typeof a[d])throw new Error("Expected method "+d+" in "+c+" implementation.");
648
- },K.dictCount=function(a){var b,c=0;for(b in a)a.hasOwnProperty(b)&&c++;return c},K.ToString=function(a){return""+a},K.NumberToInt=function(a){return Math.floor(a)},K.NumberToUnsignedInt=function(a){return Math.abs(K.NumberToInt(a));
649
- },K.AsBoolean=function(a){return Boolean(a)},K.isValidString=function(a){return"string"==typeof a&&""!==a},K.stringStartsWith=function(a,b){return"string"!=typeof a||"string"!=typeof b?!1:"function"==typeof a.indexOf?0===a.indexOf(b):!1;
650
- },K.isBoolean=function(a){return"boolean"==typeof a},K.UrlEncodeString=function(a){return escape(a)},K.isObject=function(a){return"object"==typeof a},K.ObjectToString=function(a){var b="";for(var c in a){
651
- var d=a[c],e=d;b+=c+"="+e}return"Object{"+b+"}"},K.ObjectShallowCopyOmitNull=function(a){var b=K.ObjectShallowCopy(a);for(var c in b)null==b[c]&&delete b[c];return b},K.ObjectShallowCopy=function(a){var b={};
652
- for(var c in a)b[c]=a[c];return b},K.ObjectShallowEquals=function(a,b){if(typeof a!=typeof b)return!1;if(a instanceof Object&&b instanceof Object){if(K.dictCount(a)!==K.dictCount(b))return!1;var c=!0;for(var d in a)if(c=a[d]===b[d],
653
- !c)return!1;return!0}return a===b},K.mergeObjects=function(){for(var a={},b=0;b<arguments.length;b++)for(var c in arguments[b])void 0!=arguments[b][c]&&null!=arguments[b][c]&&(a[c]=arguments[b][c]);return a;
654
- },K.isInteger=function(a){if("number"!=typeof a)return!1;var b=Math.round(a);return b===a},K.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)},K.ArrayEquals=function(a,b){
655
- if(a===b)return!0;if(null==a||null==b)return!1;if(a.length!=b.length)return!1;for(var c=0;c<a.length;++c)if(K.isArray(a[c])&&K.isArray(b[c])){if(!K.ArrayEquals(a[c],b[c]))return!1}else if(a[c]!==b[c])return!1;
656
- return!0},K.isObjectDefinePropertyPresent=function(){return"undefined"!=typeof Object.defineProperty&&function(){try{return Object.defineProperty({},"x",{}),!0}catch(a){return!1}}()},K.defGet=function(a,b,c){
657
- if(K.isObjectDefinePropertyPresent())Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:c});else{if("undefined"==typeof a.__defineGetter__)throw new Error("JavaScript runtime must support either Object.defineProperty or __defineGetter__");
658
- a.__defineGetter__(b,c)}},K.defSet=function(a,b,c){if(K.isObjectDefinePropertyPresent())Object.defineProperty(a,b,{configurable:!0,set:c});else{if("undefined"==typeof a.__defineSetter__)throw new Error("JavaScript runtime must support either Object.defineProperty or __defineSetter__");
659
- a.__defineSetter__(b,c)}},K.sha256=function W(a){function b(a,b){return a>>>b|a<<32-b}for(var c,d,e=Math.pow,f=e(2,32),g="length",h="",i=[],j=8*a[g],k=W.h=W.h||[],l=W.k=W.k||[],m=l[g],n={},o=2;64>m;o++)if(!n[o]){
660
- for(c=0;313>c;c+=o)n[c]=o;k[m]=e(o,.5)*f|0,l[m++]=e(o,1/3)*f|0}for(a+="\x00";a[g]%64-56;)a+="\x00";for(c=0;c<a[g];c++){if(d=a.charCodeAt(c),d>>8)return;i[c>>2]|=d<<(3-c)%4*8}for(i[i[g]]=j/f|0,i[i[g]]=j,
661
- d=0;d<i[g];){var p=i.slice(d,d+=16),q=k;for(k=k.slice(0,8),c=0;64>c;c++){var r=p[c-15],s=p[c-2],t=k[0],u=k[4],v=k[7]+(b(u,6)^b(u,11)^b(u,25))+(u&k[5]^~u&k[6])+l[c]+(p[c]=16>c?p[c]:p[c-16]+(b(r,7)^b(r,18)^r>>>3)+p[c-7]+(b(s,17)^b(s,19)^s>>>10)|0),w=(b(t,2)^b(t,13)^b(t,22))+(t&k[1]^t&k[2]^k[1]&k[2]);
662
- k=[v+w|0].concat(k),k[4]=k[4]+v|0}for(c=0;8>c;c++)k[c]=k[c]+q[c]|0}for(c=0;8>c;c++)for(d=3;d+1;d--){var x=k[c]>>8*d&255;h+=(16>x?0:"")+x.toString(16)}return h},function(){var a={};a.two32=4294967296,a.MaxValue=a.two32-1,
663
- a.MinValue=0,K.UInt32=a,K.UInt32.Cast=function(b){var c=parseInt(b,10);return c>a.MaxValue?c%=a.two32:c<a.MinValue&&(c=-c%a.two32,c=a.two32-c),c},K.UInt32.InRange=function(b){var c=parseInt(b,10);return c<=a.MaxValue&&c>=a.MinValue;
664
- };var b={};b.MaxValue=2147483647,b.MinValue=-2147483648,K.Int32=b,K.Int32.Cast=function(a){var c=parseInt(a,10);return c>b.MaxValue?c%=b.MaxValue:c<b.MinValue&&(c=-c%b.MaxValue,c=b.MaxValue-c),c},K.Int32.InRange=function(a){
665
- var c=parseInt(a,10);return c<=b.MaxValue&&c>=b.MinValue}}();var L=b.LogBuffer=function(){var a=32;this._buffer=[],this.add=function(b){this._buffer.length>=a&&this._buffer.shift(),this._buffer.push(b);
666
- },this.flush=function(){var a=this._buffer;return this._buffer=[],a}},M=b.Ping=function(a,b,c){this._isSendingPing=!1,this._cachedBasePingUrl=null,this._logger=a,this._logger.setModuleName("Ping"),this._httpClient=b,
667
- this._clientSettings=c,this.send=function(a){if(!this._isSendingPing){this._isSendingPing=!0;var b=this.getBasePingUrl()+"&d="+K.UrlEncodeString(a.toString());this._logger.error("send(): "+b),this._httpClient.request("GET",b,null,null,null),
668
- this._isSendingPing=!1}},this.getBasePingUrl=function(){if(!this._cachedBasePingUrl){var a=M.SERVICE_URL+"?comp="+M.COMPONENT_NAME+"&clv="+d.version;if(this._clientSettings&&(a+="&cid="+this._clientSettings.customerKey),
669
- a+="&sch="+z.SDK_METADATA_SCHEMA,!this._clientSettings)return a;this._cachedBasePingUrl=a}return this._cachedBasePingUrl}};M.COMPONENT_NAME="sdkjs",M.SERVICE_URL="https://pings.conviva.com/ping.ping";var N=b.Random={};
670
- N.maxUInt32=4294967295,N.maxInt32=2147483647,N.minInt32=-2147483648,N.integer32=function(){return Math.floor(Math.random()*N.maxUInt32)+N.minInt32},N.uinteger32=function(){return Math.floor(Math.random()*N.maxUInt32);
671
- };var O=b.Sanitize={};O.Integer=function(a,b,c,d){if(isNaN(a))return d;if("number"!=typeof a)return d;if(a==d)return d;var e=K.NumberToInt(a);return O.EnforceBoundaries(e,b,c)},O.EnforceBoundaries=function(a,b,c){
672
- return null!=c&&a>c?a=c:null!=b&&b>a&&(a=b),a},O.sanitizeSpecialIntegerValue=function(a){return-1==a||-2==a?a:a=O.Integer(a,0,null,-1)};var P=b.StreamerError=function(){function a(a,c){b.errorCode=a,b.severity=c;
673
- }var b=this;b.errorCode=null,b.severity=d.ErrorSeverity.FATAL,a.apply(b,arguments),this.getErrorCode=function(){return b.errorCode},this.getErrorSeverity=function(){return b.severity}},Q=b.HttpClient=function(a,b,c,d){
674
- this._logger=a,this._logger.setModuleName("HttpClient"),this._httpInterface=b,this._callbackWithTimeout=c,this._systemSettings=d,this.request=function(a,b,c,d,e){var f=1e3*this._systemSettings.httpTimeout,g=null;
675
- null!=e&&(g=this._callbackWithTimeout.getWrapperCallback(e,f,"HTTP timeout")),this._logger.debug("request(): calling HttpInterface.makeRequest"),this._httpInterface.makeRequest(a,b,c,d,f,g)}},R=b.Logger=function(a,b,c,d,e){
676
- this._loggingInterface=a,this._timeInterface=b,this._settings=c,this._logBuffer=d,this._packageName=e,this.debug=function(a){this.log(a,h.LogLevel.DEBUG)},this.info=function(a){this.log(a,h.LogLevel.INFO);
677
- },this.warning=function(a){this.log(a,h.LogLevel.WARNING)},this.error=function(a){this.log(a,h.LogLevel.ERROR)},this.log=function(a,b){var c=this.formatMessage(a,b);this._logBuffer.add(c),this._settings.logLevel<=b&&this._loggingInterface.consoleLog(c,b);
678
- },this.prependModuleName=function(a){var b=a;return b="["+this._moduleName+"] "+b},this.prependPackageName=function(a){var b=a;return b="["+this._packageName+"] "+b},this.prependConvivaNamespace=function(a){
679
- var b=a;return b="[Conviva] "+b},this.prependTime=function(a){var b=this._timeInterface.getEpochTimeMs(),c=(b/1e3).toFixed(3).toString();return"["+c+"] "+a},this.prependLogLevel=function(a,b){var c=R.getLogLevelString(b),d=a;
680
- return d="["+c+"] "+d},this.prependSessionId=function(a){var b=a;return null!=this._sessionId&&(b="sid="+this._sessionId+" "+b),b},this.setSessionId=function(a){this._sessionId=a},this.setModuleName=function(a){
681
- this._moduleName=a},this.formatMessage=function(a,b){return this.prependConvivaNamespace(this.prependTime(this.prependLogLevel(this.prependPackageName(this.prependModuleName(this.prependSessionId(a))),b)));
682
- }};R.getLogLevelString=function(a){var b;switch(a){case h.LogLevel.ERROR:b="ERROR";break;case h.LogLevel.WARNING:b="WARNING";break;case h.LogLevel.INFO:b="INFO";break;case h.LogLevel.DEBUG:b="DEBUG"}return b;
683
- };var S=b.Storage=function(a,b,c,d){this._logger=a,this._logger.setModuleName("Storage"),this._storageInterface=b,this._callbackWithTimeout=c,this._systemSettings=d,this.load=function(a,b){var c=this._callbackWithTimeout.getWrapperCallback(b,1e3*this._systemSettings.storageTimeout,"storage load timeout");
684
- this._logger.debug("load(): calling StorageInterface.loadData"),this._storageInterface.loadData(S.STORAGE_SPACE,a,c)},this.save=function(a,b,c){var d=this._callbackWithTimeout.getWrapperCallback(c,1e3*this._systemSettings.storageTimeout,"storage save timeout");
685
- this._logger.debug("save(): calling StorageInterface.saveData"),this._storageInterface.saveData(S.STORAGE_SPACE,a,b,d)}};S.STORAGE_SPACE="Conviva";var T=b.SystemMetadata=function(b,c,d){this._logger=b,
686
- this._logger.setModuleName("SystemMetadata"),this._metadataInterface=c,this._exceptionCatcher=d,this._cachedMetadata=null,this.get=function(){return this._cachedMetadata||this.retrieve(),this._cachedMetadata;
687
- },this.retrieve=function(){function b(a,b){d._exceptionCatcher.runProtected("Session.getSystemMetadataSchema(): "+a,function(){var c=b[a];b[a]=c.call(d._metadataInterface)})}var c={};c[T.BROWSER_NAME]=this._metadataInterface.getBrowserName,
688
- c[T.BROWSER_VERSION]=this._metadataInterface.getBrowserVersion,c[T.DEVICE_BRAND]=this._metadataInterface.getDeviceBrand,c[T.DEVICE_MANUFACTURER]=this._metadataInterface.getDeviceManufacturer,c[T.DEVICE_MODEL]=this._metadataInterface.getDeviceModel,
689
- c[T.DEVICE_TYPE]=this._metadataInterface.getDeviceType,c[T.DEVICE_VERSION]=this._metadataInterface.getDeviceVersion,c[T.FRAMEWORK_NAME]=this._metadataInterface.getFrameworkName,c[T.FRAMEWORK_VERSION]=this._metadataInterface.getFrameworkVersion,
690
- c[T.OPERATING_SYSTEM_NAME]=this._metadataInterface.getOperatingSystemName,c[T.OPERATING_SYSTEM_VERSION]=this._metadataInterface.getOperatingSystemVersion,c[T.DEVICE_CATEGORY]=this._metadataInterface.getDeviceCategory;
691
- var d=this;this._logger.debug("retrieve(): calling MetadataInterface methods");for(var e in c)b(e,c),K.isValidString(c[e])||delete c[e];var f=!1;if("undefined"!=typeof c[T.DEVICE_TYPE]){for(var g in a.Client.DeviceType)if(c[T.DEVICE_TYPE]===a.Client.DeviceType[g]){
692
- f=!0;break}f||delete c[T.DEVICE_TYPE]}if(f=!1,"undefined"!=typeof c[T.DEVICE_CATEGORY]){for(var h in a.Client.DeviceCategory)if(c[T.DEVICE_CATEGORY]===a.Client.DeviceCategory[h]){f=!0;break}f||delete c[T.DEVICE_CATEGORY];
693
- }this._cachedMetadata=K.ObjectShallowCopyOmitNull(c)}};T.BROWSER_NAME="browserName",T.BROWSER_VERSION="browserVersion",T.DEVICE_BRAND="deviceBrand",T.DEVICE_MANUFACTURER="deviceManufacturer",T.DEVICE_MODEL="deviceModel",
694
- T.DEVICE_TYPE="deviceType",T.DEVICE_VERSION="deviceVersion",T.FRAMEWORK_NAME="frameworkName",T.FRAMEWORK_VERSION="frameworkVersion",T.OPERATING_SYSTEM_NAME="operatingSystemName",T.OPERATING_SYSTEM_VERSION="operatingSystemVersion",
695
- T.DEVICE_CATEGORY="deviceCategory";var U=b.Time=function(a,b){this._timeInterface=a,this._logger=b,this._logger.setModuleName("Time"),this.current=function(){var a=this._timeInterface.getEpochTimeMs();return K.isInteger(a)||this._logger.error("current(): TimeInterface.getEpochTimeMs() did not return an integer ("+a+")"),
696
- a}},V=b.Timer=function(a,b,c){var d=this;this._logger=a,this._logger.setModuleName("Timer"),this._timerInterface=b,this._exceptionCatcher=c,this.create=function(a,b,c){var e=function(){d._exceptionCatcher.runProtected(c,function(){
697
- a()})},f=this.createTimer(e,b,c);return f},this.createOnce=function(a,b,c){var e={cancel:null},f=function(){d._exceptionCatcher.runProtected(c,function(){e&&"function"==typeof e.cancel&&(e.cancel(),e.cancel=null,
698
- e=null),a()})},g=this.createTimer(f,b,c);return e.cancel=g,g},this.createTimer=function(a,b,c){return this._logger.debug("createTimer(): calling TimerInterface.create"),this._timerInterface.createTimer(a,b,c);
1
+ /*! (C) 2020 Conviva, Inc. All rights reserved. Confidential and proprietary. */
2
+ !function(a,b){if("function"==typeof define&&define.amd?define(b):"object"==typeof exports&&(module.exports=b()),"undefined"!=typeof a){if(void 0!==a.Conviva)return;if(a.ConvivaLoading)return;a.ConvivaLoading=!0,
3
+ a.Conviva=b(),delete a.ConvivaLoading}}(window,function(){var a={};return function(){"use strict";var b={};!function(){var c=a.Constants={};c.version="4.0.15",c.CUSTOMER_KEY="customerKey",c.GATEWAY_URL="gatewayUrl",
4
+ c.LOG_LEVEL="logLevel",c.ASSET_NAME="Conviva.assetName",c.PLAYER_NAME="Conviva.applicationName",c.IS_LIVE="Conviva.streamType",c.ENCODED_FRAMERATE="Conviva.encodedFrameRate",c.DEFAULT_RESOURCE="Conviva.defaultResource",
5
+ c.STREAM_URL="Conviva.streamUrl",c.VIEWER_ID="Conviva.viewerId",c.DURATION="Conviva.duration",c.POD_INDEX="podIndex",c.POD_POSITION="podPosition",c.POD_DURATION="podDuration",c.MODULE_NAME="Conviva.moduleName",
6
+ c.MODULE_VERSION="Conviva.moduleVersion",c.FRAMEWORK_NAME="Conviva.frameworkName",c.FRAMEWORK_VERSION="Conviva.frameworkVersion",c.CLIENT_CONFIGURATION_FAILED="Constants not yet configured",c.INVALID_PLAYER_MONITOR="Invalid : Did you report playback ended?",
7
+ c.INVALID_AD_PLAYER_MONITOR="Invalid : Did you report ad playback ended?",c.PLAYER_UNAVAILABLE_ERROR="Player cannot be null",c.PLAYBACK_ANALYTICS_AVAILABLE="PlaybackAnlytics already built",c.PLAYBACK_ANALYTICS_NOT_AVAILABLE="PlaybackAnlytics not yet built",
8
+ c.Playback={BITRATE:"BITRATE",PLAY_HEAD_TIME:"PLAY_HEAD_TIME",RESOLUTION:"RESOLUTION",BUFFER_LENGTH:"BUFFER_LENGTH",PLAYER_STATE:"PLAYER_STATE",RENDERED_FRAMERATE:"RENDERED_FRAMERATE",SEEK_STARTED:"SEEK_STARTED",
9
+ SEEK_ENDED:"SEEK_ENDED",CDN_IP:"CDN_IP"},c.Network={SIGNAL_STRENGTH:"SIGNAL_STRENGTH",LINK_ENCRYPTION:"LINK_ENCRYPTION",CONNECTION_TYPE:"CONNECTION_TYPE"},c.ErrorSeverity={FATAL:1,WARNING:0},c.NO_SESSION_KEY=-2,
10
+ c.AdPosition={PREROLL:"Pre-roll",MIDROLL:"Mid-roll",POSTROLL:"Post-roll"},c.AdPlayer={CONTENT:"CONTENT",SEPARATE:"SEPARATE"},c.DeviceType={DESKTOP:"DESKTOP",CONSOLE:"Console",SETTOP:"Settop",MOBILE:"Mobile",
11
+ TABLET:"Tablet",SMARTTV:"SmartTV"},c.AdType={CLIENT_SIDE:"Client Side",SERVER_SIDE:"Server Side"},c.AdSlates={BLACKOUT_SLATE:"Blackout slate",TECHNICAL_DIFFICULTIES_SLATE:"Technical Difficulties slate",
12
+ COMMERCIAL_SLATE:"Commercial Break slate",OTHER_SLATE:"Other slate",VPAID:"VPAID",REGULAR:"Regular Ad"},c.AdServingType={INLINE:"Inline",WRAPPER:"Wrapper"},c.DeviceCategory={ANDROID_DEVICE:"AND",APPLE_DEVICE:"APL",
13
+ CHROMECAST:"CHR",DESKTOP_APP:"DSKAPP",DEVICE_SIMULATOR:"SIMULATOR",LG_TV:"LGTV",NINTENDO:"NINTENDO",PLAYSTATION:"PS",ROKU:"RK",SAMSUNG_TV:"SAMSUNGTV",SMART_TV:"TV",SET_TOP_BOX:"STB",TIVO:"TIVO",WEB:"WEB",
14
+ WINDOWS_DEVICE:"WIN",XBOX:"XB",KAIOS_DEVICE:"KAIOS"},c.LogLevel={DEBUG:0,INFO:1,WARNING:2,ERROR:3,NONE:4},c.PlayerState={STOPPED:"STOPPED",PLAYING:"PLAYING",BUFFERING:"BUFFERING",PAUSED:"PAUSED",UNKNOWN:"UNKNOWN",
15
+ NOT_MONITORED:"NOT_MONITORED"},c.Events={USER_WAIT_STARTED:"Conviva.UserWaitStarted",USER_WAIT_ENDED:"Conviva.UserWaitEnded",BUMPER_VIDEO_STARTED:"Conviva.BumperVideoStarted",BUMPER_VIDEO_ENDED:"Conviva.BumperVideoEnded",
16
+ AD_REQUESTED:"Conviva.AdRequested",AD_RESPONSE:"Conviva.AdResponse",AD_SLOT_STARTED:"Conviva.SlotStarted",AD_ATTEMPTED:"Conviva.AdAttempted",AD_SLOT_ENDED:"Conviva.SlotEnded",AD_IMPRESSION_START:"Conviva.AdImpression",
17
+ AD_START:"Conviva.AdStart",AD_FIRST_QUARTILE:"Conviva.AdFirstQuartile",AD_MID_QUARTILE:"Conviva.AdMidQuartile",AD_THIRD_QUARTILE:"Conviva.AdThirdQuartile",AD_COMPLETE:"Conviva.AdComplete",AD_END:"Conviva.AdEnd",
18
+ AD_IMPRESSION_END:"Conviva.AdImpressionEnd",AD_SKIPPED:"Conviva.AdSkipped",AD_ERROR:"Conviva.AdError",AD_PROGRESS:"Conviva.AdProgress",AD_CLOSE:"Conviva.AdClose",CONTENT_PAUSED:"Conviva.PauseContent",CONTENT_RESUMED:"Conviva.ResumeContent",
19
+ POD_START:"Conviva.PodStart",POD_END:"Conviva.PodEnd"},c.ErrorType={ERROR_UNKNOWN:"ERROR_UNKNOWN",ERROR_IO:"ERROR_IO",ERROR_TIMEOUT:"ERROR_TIMEOUT",ERROR_NULL_ASSET:"ERROR_NULL_ASSET",ERROR_MISSING_PARAMETER:"ERROR_MISSING_PARAMETER",
20
+ ERROR_NO_AD_AVAILABLE:"ERROR_NO_AD_AVAILABLE",ERROR_PARSE:"ERROR_PARSE",ERROR_INVALID_VALUE:"ERROR_INVALID_VALUE",ERROR_INVALID_SLOT:"ERROR_INVALID_SLOT",ERROR_3P_COMPONENT:"ERROR_3P_COMPONENT",ERROR_UNSUPPORTED_3P_FEATURE:"ERROR_UNSUPPORTED_3P_FEATURE",
21
+ ERROR_DEVICE_LIMIT:"ERROR_DEVICE_LIMIT",ERROR_UNMATCHED_SLOT_SIZE:"ERROR_UNMATCHED_SLOT_SIZE"},c.StreamType={UNKNOWN:"UNKNOWN",LIVE:"LIVE",VOD:"VOD"},c.CallbackFunctions={CONSOLE_LOG:"consoleLog",MAKE_REQUEST:"makeRequest",
22
+ SAVE_DATA:"saveData",LOAD_DATA:"loadData",GET_EPOCH_TIME_IN_MS:"getEpochTimeInMs",CREATE_TIMER:"createTimer"},c.DeviceMetadata={BRAND:"DeviceBrand",MANUFACTURER:"DeviceManufacturer",MODEL:"DeviceModel",
23
+ TYPE:"DeviceType",VERSION:"DeviceVersion",OS_NAME:"OperatingSystemName",OS_VERSION:"OperatingSystemVersion",CATEGORY:"DeviceCategory"},c.AD_PRELOAD_FEATURE="adPreloading",c.AD_TAG_URL="adTagUrl",c.IMASDK_CONTENT_PLAYER="imaMainContentPlayer",
24
+ c.CONVIVA_AD_MODULE="convivaAdModule",c.CONVIVA_MODULE="convivaModule",c.MEDIA_ELEMENT="mediaElement";var d=a.Client=function(b,c){function h(a,b){if(!(a instanceof e))throw new Error("clientSettings parameter should be an instance of ClientSettings.");
25
+ if(!(b instanceof g))throw new Error("systemFactory parameter should be an instance of SystemFactory.");(a.gatewayUrl==e._httpsProtocol+e.defaultProductionGatewayDNS||a.gatewayUrl==e._httpProtocol+e.defaultProductionGatewayDNS)&&(this.defaultGatewayURLError=!0),
26
+ this._settings=a.clone(),this._systemFactory=b,this._systemFactory.configure("SDK",this._settings),this._exceptionCatcher=this._systemFactory.buildExceptionCatcher(),this._exceptionCatcher.runProtected("Client.init",function(){
27
+ j._id=N.uinteger32(),j._logger=j._systemFactory.buildLogger(),j._logger.setModuleName("Client"),j.defaultGatewayURLError&&j._logger.info("Gateway URL should not be set to https://cws.conviva.com or http://cws.conviva.com, therefore this call is ignored"),
28
+ j._logger.info("init(): url="+j._settings.gatewayUrl+" customerKey="+j._settings.customerKey),j._config=j._systemFactory.buildConfig(),j._config.load(),j._sessionFactory=j._systemFactory.buildSessionFactory(j,j._settings,j._config),
29
+ j._logger.info("init(): done.")},function(a){throw new Error("Client constructor failed: "+a.message)})}var j=this;this.defaultGatewayURLError=!1,this.version=d.version,this._logger=null,this._sessionFactory=null,
30
+ this._systemFactory=null,this._globalSessionKey=-1,this._settings=null,this._systemSettings=null,this._exceptionCatcher=null,this._config=null,this._id=-1,this._released=!1,this._uniqueIdentifiers={},this._uniqueIdentifierCallback=function(a){
31
+ j._logger.info(" Client:: uniqueIdentifierCallback(): "+a)},this._userPrefForData={},h.apply(this,arguments),this.release=function(){this._released||this._exceptionCatcher.runProtected("Client.release",function(){
32
+ j._logger.info("release()"),j._sessionFactory.cleanup(),j._sessionFactory=null,j._globalSessionKey=-1,j._logger=null,j._id=-1,j._exceptionCatcher=null,j._settings=null,j._systemSettings=null,j._systemFactory=null,
33
+ j._released=!0})},this.createSession=function(a,b){var c=d.NO_SESSION_KEY;return this._released?c:null==a||a instanceof f?(this._exceptionCatcher.runProtected("Client.createSession",function(){c=j._sessionFactory.makeVideoSession(a,C.SESSION_TYPE.VIDEO,b);
34
+ }),c):(j._logger.error("createSession(): expecting an instance of ContentMetadata for contentMetadata parameter"),c)},this.createAdSession=function(a,b,c){var e=d.NO_SESSION_KEY;return this._released?e:null==b||b instanceof f?(this._exceptionCatcher.runProtected("Client.createAdSession",function(){
35
+ if(null==b&&(b=new f),K.isInteger(a)&&a!=d.NO_SESSION_KEY){var g=j._sessionFactory.getVideoSession(a);(null==b.applicationName||null==b.viewerId)&&null!=g&&null!=g._cwsSession&&null!=g._cwsSession._contentMetadata&&(null==b.viewerId&&null!=g._cwsSession._contentMetadata.viewerId&&(b.viewerId=g._cwsSession._contentMetadata.viewerId),
36
+ null==b.applicationName&&null!=g._cwsSession._contentMetadata.applicationName&&(b.applicationName=g._cwsSession._contentMetadata.applicationName)),b.custom["c3.csid"]=K.ToString(g._id)}e=j._sessionFactory.makeVideoSession(b,C.SESSION_TYPE.AD,c);
37
+ }),e):(j._logger.error("createAdSession(): expecting an instance of ContentMetadata for adMetadata parameter"),e)},this.reportError=function(b,c,d){return this._released?void 0:K.isValidString(c)?d!==a.Client.ErrorSeverity.FATAL&&d!==a.Client.ErrorSeverity.WARNING?void this._logger.error("reportError(): invalid error severity: "+d):void this._exceptionCatcher.runProtected("Client.reportError",function(){
38
+ var a=j._sessionFactory.getVideoSession(b);null!=a&&a.reportError(c,d)}):void this._logger.error("reportError(): invalid error message string: "+c)},this.updateContentMetadata=function(a,b){return this._released?void 0:b instanceof f?void this._exceptionCatcher.runProtected("Client.updateContentMetadata",function(){
39
+ var c=j._sessionFactory.getVideoSession(a);if(null!=c){var d=b.clone();c.updateContentMetadata(d)}}):void j._logger.error("updateContentMetadata(): expecting an instance of ContentMetadata for contentMetadata parameter");
40
+ },this.detachPlayer=function(a){this._released||this._exceptionCatcher.runProtected("Client.detachPlayer",function(){var b=j._sessionFactory.getVideoSession(a);null!=b&&b.detachPlayer()})},this.offFocus=function(a){
41
+ this._released||this._exceptionCatcher.runProtected("Client.offFocus",function(){var b=j._sessionFactory.getVideoSession(a);null!=b&&b.offFocus()})},this.attachPlayer=function(a,b){return this._released?void 0:b instanceof i?void this._exceptionCatcher.runProtected("Client.attachPlayer",function(){
42
+ var c=j._sessionFactory.getVideoSession(a);null!=c&&c.attachPlayer(b)}):void j._logger.error("attachPlayer(): expecting an instance of PlayerStateManager for playerStateManager parameter")},this.onFocus=function(a){
43
+ this._released||this._exceptionCatcher.runProtected("Client.onFocus",function(){var b=j._sessionFactory.getVideoSession(a);null!=b&&b.onFocus()})},this.contentPreload=function(a){this._released||this._exceptionCatcher.runProtected("Client.contentPreload",function(){
44
+ var b=j._sessionFactory.getVideoSession(a);null!=b&&b.contentPreload()})},this.contentStart=function(a){this._released||this._exceptionCatcher.runProtected("Client.contentStart",function(){var b=j._sessionFactory.getVideoSession(a);
45
+ null!=b&&b.contentStart()})},this.sendCustomEvent=function(a,b,c){if(!this._released){if(!K.isValidString(b))return void j._logger.error("sendCustomEvent(): eventName parameter must be a valid string.");
46
+ K.dictCount(c)<=0&&j._logger.warning("eventAttributes(): should have proper data."),this._exceptionCatcher.runProtected("Client.sendCustomEvent",function(){if(a==d.NO_SESSION_KEY){if(j._globalSessionKey<0){
47
+ var e=new f;j._globalSessionKey=j._sessionFactory.makeGlobalSession(e,null)}a=j._globalSessionKey}var g=K.sanitizeStringToStringObject(c),h=j._sessionFactory.getSession(a);null!=h&&h.sendCustomEvent(b,g);
48
+ })}},this.adStart=function(a,b,c,e){if(!this._released){if(b!==d.AdStream.CONTENT&&b!==d.AdStream.SEPARATE)return void this._logger.error("adStart(): ignored, invalid value for adStream parameter: "+b);
49
+ if(c!==d.AdPlayer.CONTENT&&c!==d.AdPlayer.SEPARATE)return void this._logger.error("adStart(): ignored, invalid value for adPlayer parameter: "+c);e!==d.AdPosition.PREROLL&&e!==d.AdPosition.MIDROLL&&e!==d.AdPosition.POSTROLL&&this._logger.info("adStart(): ignored, invalid value for adPosition parameter: "+e),
50
+ this._exceptionCatcher.runProtected("Client.adStart",function(){var d=j._sessionFactory.getVideoSession(a);null!=d&&d.adStart(b,c,e)})}},this.adEnd=function(a){this._released||this._exceptionCatcher.runProtected("Client.adEnd",function(){
51
+ var b=j._sessionFactory.getVideoSession(a);null!=b&&b.adEnd()})},this.cleanupSession=function(a){return this._released?void 0:a===d.NO_SESSION_KEY?void this._logger.warning("cleanupSession(): ignored, can't cleanup Client.NO_SESSION_KEY"):void this._exceptionCatcher.runProtected("Client.cleanupSession",function(){
52
+ var b=j._sessionFactory.getVideoSession(a);null!=b&&j._sessionFactory.cleanupSession(a)})},this.getAttachedPlayer=function(a){var b=null;return this._released?b:a===d.NO_SESSION_KEY?(this._logger.warning("getAttachedPlayer(): ignored for Client.NO_SESSION_KEY"),
53
+ b):(this._exceptionCatcher.runProtected("Client.getAttachedPlayer",function(){var c=j._sessionFactory.getVideoSession(a);null!=c&&(b=c.getPlayerStateManager())}),b)},this.isPlayerAttached=function(a){return this._released?!1:null!==this.getAttachedPlayer(a)?!0:!1;
54
+ },this.getPlayerStateManager=function(){if(this._released)throw new Error("This instance of Conviva.Client has been released.");return new i(this._systemFactory)},this.releasePlayerStateManager=function(a){
55
+ if(this._released)throw new Error("This instance of Conviva.Client has been released.");this._exceptionCatcher.runProtected("Client.releasePlayerStateManager",function(){a instanceof i&&a.release()})},
56
+ this.getSettings=function(){return this._settings},this.getId=function(){return this._id},this.getSessionId=function(a){if(!this._released){var b=null;return this._exceptionCatcher.runProtected("Client.getSessionId",function(){
57
+ var c=j._sessionFactory.getVideoSession(a);b=c.getSessionId()}),b}},this.getClientId=function(a){if(!this._released){var b=null;return this._exceptionCatcher.runProtected("Client.getClientId",function(){
58
+ var c=j._sessionFactory.getVideoSession(a);b=c.getClientId()}),b}},this.updateCustomMetric=function(a,b,c){this._released||this._exceptionCatcher.runProtected("Client.updateCustomMetric",function(){var d=j._sessionFactory.getVideoSession(a);
59
+ d.updateCustomMetric(b,c)})},this.setUniqueIdentifier=function(a,b){if(this._released)throw new Error("This instance of Conviva.Client has been released.");if(null==a||"undefined"==typeof a||"{}"==JSON.stringify(a))throw new Error("Identifiers are not set. No action taken !!");
60
+ for(var c in a)this._uniqueIdentifiers[c]=a[c];b&&(this._uniqueIdentifierCallback=b)},this.setUserPreferenceForDataCollection=function(a,b){if(this._released)throw new Error("This instance of Conviva.Client has been released.");
61
+ if(null==a||"undefined"==typeof a||"{}"==JSON.stringify(a))throw new Error("Identifiers are not set. No action taken !!");for(var c in a)"false"==a[c]?b?this._userPrefForData[c]=G.ConvivaIdErrorCodes.CONVIVAID_PRIVACY_RESTRICTION:this._userPrefForData[c]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPTOUT:this._userPrefForData[c]=G.ConvivaIdErrorCodes.CONVIVAID_USER_NO_RESTRICTION;
62
+ },this.setUserPreferenceForDataDeletion=function(a){if(this._released)throw new Error("This instance of Conviva.Client has been released.");if(null==a||"undefined"==typeof a||"{}"==JSON.stringify(a))throw new Error("Identifiers are not set. No action taken !!");
63
+ for(var b in a)"true"==a[b]?this._userPrefForData[b]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPT_DELETE:this._userPrefForData[b]=G.ConvivaIdErrorCodes.CONVIVAID_USER_NO_RESTRICTION}};d.version="2.151.0.37032",
64
+ d.NO_SESSION_KEY=c.NO_SESSION_KEY,d.AdPosition={PREROLL:c.AdPosition.PREROLL,MIDROLL:c.AdPosition.MIDROLL,POSTROLL:c.AdPosition.POSTROLL},d.AdStream={CONTENT:"CONTENT",SEPARATE:"SEPARATE"},d.AdPlayer={
65
+ CONTENT:c.AdPlayer.CONTENT,SEPARATE:c.AdPlayer.SEPARATE},d.ErrorSeverity={FATAL:c.ErrorSeverity.FATAL,WARNING:c.ErrorSeverity.WARNING},d.DeviceType={DESKTOP:c.DeviceType.DESKTOP,CONSOLE:c.DeviceType.CONSOLE,
66
+ SETTOP:c.DeviceType.SETTOP,MOBILE:c.DeviceType.MOBILE,TABLET:c.DeviceType.TABLET,SMARTTV:c.DeviceType.SMARTTV},d.AdTechnology={CLIENT_SIDE:"Client Side",SERVER_SIDE:"Server Side"},d.AdType={BLACKOUT_SLATE:"Blackout slate",
67
+ TECHNICAL_DIFFICULTIES_SLATE:"Technical Difficulties slate",COMMERCIAL_SLATE:"Commercial Break slate",OTHER_SLATE:"Other slate",VPAID:"VPAID",REGULAR:"Regular Ad"},d.AdServingType={INLINE:"Inline",WRAPPER:"Wrapper"
68
+ },d.DeviceCategory={ANDROID_DEVICE:c.DeviceCategory.ANDROID_DEVICE,APPLE_DEVICE:c.DeviceCategory.APPLE_DEVICE,CHROMECAST:c.DeviceCategory.CHROMECAST,DESKTOP_APP:c.DeviceCategory.DESKTOP_APP,DEVICE_SIMULATOR:c.DeviceCategory.DEVICE_SIMULATOR,
69
+ LG_TV:c.DeviceCategory.LG_TV,NINTENDO:c.DeviceCategory.NINTENDO,PLAYSTATION:c.DeviceCategory.PLAYSTATION,ROKU:c.DeviceCategory.ROKU,SAMSUNG_TV:c.DeviceCategory.SAMSUNG_TV,SMART_TV:c.DeviceCategory.SMART_TV,
70
+ SET_TOP_BOX:c.DeviceCategory.SET_TOP_BOX,TIVO:c.DeviceCategory.TIVO,WEB:c.DeviceCategory.WEB,WINDOWS_DEVICE:c.DeviceCategory.WINDOWS_DEVICE,XBOX:c.DeviceCategory.XBOX,KAIOS_DEVICE:c.DeviceCategory.KAIOS_DEVICE
71
+ };var e=a.ClientSettings=function(a){function b(a){if(!K.isValidString(a))throw new Error("customerKey must be valid");this.customerKey=a}function c(a){if(K.isValidString(a)){var b=a.split("://");if("cws.conviva.com"!=b[1]&&("https"==b[0]||"http"==b[0]))return a;
72
+ }return"https://"+d.customerKey+"."+e.defaultProductionGatewayDNS}var d=this;this._customerKey=null,K.defGet(this,"customerKey",function(){return this._customerKey}),K.defSet(this,"customerKey",function(a){
73
+ K.isValidString(a)&&(this._customerKey=a)}),this._heartbeatInterval=e.defaultProductionHeartbeatInterval,K.defGet(this,"heartbeatInterval",function(){return this._heartbeatInterval}),K.defSet(this,"heartbeatInterval",function(a){
74
+ if("number"==typeof a){var b=K.NumberToUnsignedInt(a);b===a&&(this._heartbeatInterval=b)}}),this._gatewayUrl=null,K.defGet(this,"gatewayUrl",function(){return this._gatewayUrl}),K.defSet(this,"gatewayUrl",function(a){
75
+ if(K.isValidString(a)){var b=a.split("://"),c="https"==b[0]||"http"==b[0]?!0:!1;if(c){var d=".com",e=-1!==a.indexOf(d,a.length-d.length);e&&(this._gatewayUrl=a)}}}),b.apply(this,arguments),this.equals=function(a){
76
+ return this.customerKey===a.customerKey&&this.gatewayUrl===a.gatewayUrl&&this.heartbeatInterval===a.heartbeatInterval},this.clone=function(){var a=new e(this.customerKey);return a.gatewayUrl=c(this.gatewayUrl),
77
+ a.heartbeatInterval=this.heartbeatInterval,a}};e.defaultDevelopmentGatewayUrl="https://conviva.testonly.conviva.com",e.defaultProductionGatewayUrl="https://cws.conviva.com",e.defaultProductionGatewayDNS="cws.conviva.com",
78
+ e.defaultDevelopmentGatewayDNS="conviva.testonly.conviva.com",e._httpsProtocol="https://",e._httpProtocol="http://",e.defaultDevelopmentHeartbeatInterval=5,e.defaultProductionHeartbeatInterval=20;var f=a.ContentMetadata=function(){
79
+ function a(){return this._assetName}function b(a){"string"==typeof a&&(this._assetName=a)}function c(){return this._custom}function d(a){"object"==typeof a&&(this._custom=K.sanitizeStringToStringObject(a));
80
+ }function e(){return this._defaultResource}function g(a){"string"==typeof a&&(this._defaultResource=a)}function h(){return this._viewerId}function i(a){"string"==typeof a&&(this._viewerId=a)}function j(){
81
+ return this._applicationName}function k(a){"string"==typeof a&&(this._applicationName=a)}function l(){return this._streamUrl}function m(a){"string"==typeof a&&(this._streamUrl=a)}function n(){return this._streamType;
82
+ }function o(a){(a===f.StreamType.UNKNOWN||a===f.StreamType.VOD||a===f.StreamType.LIVE)&&(this._streamType=a)}function p(){return this._duration}function q(a){this._duration=O.sanitizeSpecialIntegerValue(a);
83
+ }function r(){return this._encodedFrameRate}function s(a){this._encodedFrameRate=O.sanitizeSpecialIntegerValue(a)}function t(){}this._assetName=null,K.defGet(this,"assetName",a),K.defSet(this,"assetName",b),
84
+ this._custom={},K.defGet(this,"custom",c),K.defSet(this,"custom",d),this._defaultResource=null,K.defGet(this,"defaultResource",e),K.defSet(this,"defaultResource",g),this._viewerId=null,K.defGet(this,"viewerId",h),
85
+ K.defSet(this,"viewerId",i),this._applicationName=null,K.defGet(this,"applicationName",j),K.defSet(this,"applicationName",k),this._streamUrl=null,K.defGet(this,"streamUrl",l),K.defSet(this,"streamUrl",m),
86
+ this._streamType=f.StreamType.UNKNOWN,K.defGet(this,"streamType",n),K.defSet(this,"streamType",o),this._duration=-1,K.defGet(this,"duration",p),K.defSet(this,"duration",q),this._encodedFrameRate=-1,K.defGet(this,"encodedFrameRate",r),
87
+ K.defSet(this,"encodedFrameRate",s),t.apply(this,arguments),this.clone=function(){var a=new f;a.assetName=this.assetName,a.applicationName=this.applicationName,a.streamUrl=this.streamUrl,a.viewerId=this.viewerId,
88
+ a.defaultResource=this.defaultResource,a.streamType=this.streamType,a.duration=this.duration,a.encodedFrameRate=this.encodedFrameRate;for(var b in this.custom)a.custom[b]=this.custom[b];return a}};f.StreamType={
89
+ UNKNOWN:c.StreamType.UNKNOWN,LIVE:c.StreamType.LIVE,VOD:c.StreamType.VOD};var g=(a.ErrorType={ERROR_UNKNOWN:c.ErrorType.ERROR_UNKNOWN,ERROR_IO:c.ErrorType.ERROR_IO,ERROR_TIMEOUT:c.ErrorType.ERROR_TIMEOUT,
90
+ ERROR_NULL_ASSET:c.ErrorType.ERROR_NULL_ASSET,ERROR_MISSING_PARAMETER:c.ErrorType.ERROR_MISSING_PARAMETER,ERROR_NO_AD_AVAILABLE:c.ErrorType.ERROR_NO_AD_AVAILABLE,ERROR_PARSE:c.ErrorType.ERROR_PARSE,ERROR_INVALID_VALUE:c.ErrorType.ERROR_INVALID_VALUE,
91
+ ERROR_INVALID_SLOT:c.ErrorType.ERROR_INVALID_SLOT,ERROR_3P_COMPONENT:c.ErrorType.ERROR_3P_COMPONENT,ERROR_UNSUPPORTED_3P_FEATURE:c.ErrorType.ERROR_UNSUPPORTED_3P_FEATURE,ERROR_DEVICE_LIMIT:c.ErrorType.ERROR_DEVICE_LIMIT,
92
+ ERROR_UNMATCHED_SLOT_SIZE:c.ErrorType.ERROR_UNMATCHED_SLOT_SIZE},a.Events={AD_REQUESTED:c.Events.AD_REQUESTED,AD_RESPONSE:c.Events.AD_RESPONSE,AD_SLOT_STARTED:c.Events.AD_SLOT_STARTED,AD_ATTEMPTED:c.Events.AD_ATTEMPTED,
93
+ AD_SLOT_ENDED:c.Events.AD_SLOT_ENDED,AD_IMPRESSION_START:c.Events.AD_IMPRESSION_START,AD_START:c.Events.AD_START,AD_FIRST_QUARTILE:c.Events.AD_FIRST_QUARTILE,AD_MID_QUARTILE:c.Events.AD_MID_QUARTILE,AD_THIRD_QUARTILE:c.Events.AD_THIRD_QUARTILE,
94
+ AD_COMPLETE:c.Events.AD_COMPLETE,AD_END:c.Events.AD_END,AD_IMPRESSION_END:c.Events.AD_IMPRESSION_END,AD_SKIPPED:c.Events.AD_SKIPPED,AD_ERROR:c.Events.AD_ERROR,AD_PROGRESS:c.Events.AD_PROGRESS,AD_CLOSE:c.Events.AD_CLOSE,
95
+ CONTENT_PAUSED:c.Events.CONTENT_PAUSED,CONTENT_RESUMED:c.Events.CONTENT_RESUMED,POD_START:c.Events.POD_START,POD_END:c.Events.POD_END},a.SystemFactory=function(a,b){function c(a,b){if(!(a instanceof n))throw new Error("systemInterface parameter should be an instance of SystemInterface.");
96
+ this._systemInterface=a,this._timeInterface=this._systemInterface._timeInterface,this._timerInterface=this._systemInterface._timerInterface,this._httpInterface=this._systemInterface._httpInterface,this._storageInterface=this._systemInterface._storageInterface,
97
+ this._metadataInterface=this._systemInterface._metadataInterface,this._loggingInterface=this._systemInterface._loggingInterface,b instanceof h?this._settings=b.clone():this._settings=new h}var d=this;c.apply(this,arguments),
98
+ this.configure=function(a,b){this._packageName=a,this._clientSettings=b},this.release=function(){this._systemInterface.release(),this._systemInterface=null,this._packageName=null,this._settings=null,this._logBuffer=null;
99
+ };var e={build:function(){return new R(d._loggingInterface,d._timeInterface,d.getSettings(),d._logBuffer,d._packageName)}};this.buildLogger=function(){return e.build()},this.buildSessionFactory=function(a,b,c){
100
+ return new E(a,b,c,this)},this.buildPing=function(){return new M(this.buildLogger(),this.buildHttpClient(),this._clientSettings)},this.buildCallbackWithTimeout=function(){return new F(this.buildTimer());
101
+ },this.buildCallbackWithTimeoutNoPing=function(){var a=null,b=new I(this.buildLogger(),a,this.getSettings()),c=new V(this.buildLogger(),this._timerInterface,b);return new F(c)},this.buildHttpClient=function(){
102
+ return new Q(this.buildLogger(),this._httpInterface,this.buildCallbackWithTimeoutNoPing(),this.getSettings())},this.buildExceptionCatcher=function(){return new I(this.buildLogger(),this.buildPing(),this.getSettings());
103
+ },this.buildTime=function(){return new U(this._timeInterface,this.buildLogger())},this.buildTimer=function(){return new V(this.buildLogger(),this._timerInterface,this.buildExceptionCatcher())},this.buildStorage=function(){
104
+ return new S(this.buildLogger(),this._storageInterface,this.buildCallbackWithTimeout(),this.getSettings())},this.buildConfig=function(){return new G(this.buildLogger(),this.buildStorage(),this.buildJsonInterface());
105
+ },this.buildSystemMetadata=function(){return new T(this.buildLogger(),this._metadataInterface,this.buildExceptionCatcher())},this.buildCwsProtocol=function(){return new z},this.buildGatewayControl=function(a){
106
+ return new J(a,this.buildLogger(),this.buildHttpClient(),this.buildJsonInterface())},this.buildCwsSession=function(a,b,c,d){var e=this.buildGatewayControl(b);return new C(this.buildEventQueue(),a,b,this.buildLogger(),this.buildExceptionCatcher(),this.buildTimer(),e,this.buildCwsProtocol(),this.buildTime(),this.getLogBuffer(),c,d);
107
+ },this.buildSession=function(a,b,c,d,e,f){var g=this.buildExceptionCatcher(),h=this.buildLogger(),i=b.clone(),j=this.buildCwsSession(a,i,c,f);return new D(d,e,c,this.buildSystemMetadata(),j,g,h)},this.buildEventQueue=function(){
108
+ return new H},this.buildJsonInterface=function(){return new A},this.getLogBuffer=function(){return this._logBuffer},this.getSettings=function(){return this._settings},this._logBuffer=new L}),h=a.SystemSettings=function(){
109
+ function a(){}this._logLevel=h.defaultProductionLogLevel,K.defGet(this,"logLevel",function(){return this._logLevel}),K.defSet(this,"logLevel",function(a){if("number"==typeof a){var b=K.NumberToUnsignedInt(a);
110
+ b===a&&b>=h.LogLevel.DEBUG&&b<=h.LogLevel.ERROR&&(this._logLevel=b)}}),this._allowUncaughtExceptions=h.defaultProductionAllowUncaughtExceptions,K.defGet(this,"allowUncaughtExceptions",function(){return this._allowUncaughtExceptions;
111
+ }),K.defSet(this,"allowUncaughtExceptions",function(a){K.isBoolean(a)&&(this._allowUncaughtExceptions=a)}),this._storageTimeout=h.defaultStorageTimeout,K.defGet(this,"storageTimeout",function(){return this._storageTimeout;
112
+ }),K.defSet(this,"storageTimeout",function(a){if("number"==typeof a){var b=K.NumberToUnsignedInt(a);b===a&&(this._storageTimeout=b)}}),this._httpTimeout=h.defaultHttpTimeout,K.defGet(this,"httpTimeout",function(){
113
+ return this._httpTimeout}),K.defSet(this,"httpTimeout",function(a){if("number"==typeof a){var b=K.NumberToUnsignedInt(a);b===a&&(this._httpTimeout=b)}}),a.apply(this,arguments),this.equals=function(a){
114
+ return this.logLevel===a.logLevel&&this.allowUncaughtExceptions===a.allowUncaughtExceptions&&this.storageTimeout===a.storageTimeout&&this.httpTimeout===a.httpTimeout},this.clone=function(){var a=new h;return a.logLevel=this.logLevel,
115
+ a.allowUncaughtExceptions=this.allowUncaughtExceptions,a.storageTimeout=this.storageTimeout,a.httpTimeout=this.httpTimeout,a}};h.LogLevel={DEBUG:c.LogLevel.DEBUG,INFO:c.LogLevel.INFO,WARNING:c.LogLevel.WARNING,
116
+ ERROR:c.LogLevel.ERROR,NONE:c.LogLevel.NONE},h.defaultDevelopmentLogLevel=h.LogLevel.DEBUG,h.defaultProductionLogLevel=h.LogLevel.NONE,h.defaultDevelopmentAllowUncaughtExceptions=!0,h.defaultProductionAllowUncaughtExceptions=!1,
117
+ h.defaultStorageTimeout=10,h.defaultHttpTimeout=10;var i=a.PlayerStateManager=function(c){function d(a){e._systemFactory=a,e._logger=e._systemFactory.buildLogger(),e._logger.setModuleName("PlayerStateManager"),
118
+ e._exceptionCatcher=e._systemFactory.buildExceptionCatcher()}var e=this;e._monitorNotifier=null,e._bitrateKbps=-2,e._playerState=i.PlayerState.UNKNOWN,e._currentMetadata={},e._renderedFrameRate=-2,e._encodedFrameRate=-2,
119
+ e._duration=-2,e._playerVersion=null,e._playerType=null,e._streamUrl=null,e._moduleName=null,e._moduleVersion=null,e._width=-1,e._height=-1,e._connectionType=null,e._linkEncryption=null,e._lastError=null,
120
+ e._pendingErrors=[],e._released=!1,this.release=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.release",function(){null!=e._monitorNotifier&&e._monitorNotifier.onRelease(),
121
+ e.removeMonitoringNotifier(),e._systemFactory=null,e._logger=null,e._exceptionCatcher=null,e._released=!0})},this.setPlayheadTime=function(a){},this.setBufferLength=function(a){},this.setRenderedFrameRate=function(a){},
122
+ this.getEncodedFrameRate=function(){return e._encodedFrameRate},this.setEncodedFrameRate=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setEncodedFrameRate",function(){var b=O.sanitizeSpecialIntegerValue(a);
123
+ b>=-1&&(e._encodedFrameRate=b,null!=e._monitorNotifier&&e._monitorNotifier.onEncodedFrameRateChange(e._encodedFrameRate))})},this.getDuration=function(){return e._duration},this.setClientMeasureInterface=function(b){
124
+ K.validateInterface(b,new a.ClientMeasureInterface,"ClientMeasureInterface"),this._playerInterface=b},this.getPHT=function(){return this._playerInterface&&"function"==typeof this._playerInterface.getPHT?this._playerInterface.getPHT():i.DEFAULT_PHT;
125
+ },this.getBufferLength=function(){return this._playerInterface&&"function"==typeof this._playerInterface.getBufferLength?this._playerInterface.getBufferLength():i.DEFAULT_BUFFER_LENGTH},this.getSignalStrength=function(){
126
+ return this._playerInterface&&"function"==typeof this._playerInterface.getSignalStrength?this._playerInterface.getSignalStrength():i.DEFAULT_SIGNAL_STRENGTH},this.getRenderedFrameRate=function(){return this._playerInterface&&"function"==typeof this._playerInterface.getRenderedFrameRate?this._playerInterface.getRenderedFrameRate():i.DEFAULT_RENDERED_FRAME_RATE;
127
+ },this.setDuration=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setDuration",function(){var b=O.sanitizeSpecialIntegerValue(a);b>=-1&&(e._duration=b,null!=e._monitorNotifier&&e._monitorNotifier.onContentLengthChange(e._duration));
128
+ })},this.getStreamUrl=function(){return e._streamUrl},this.setStreamUrl=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setStreamUrl",function(){null!=a&&(e._streamUrl=a,null!=e._monitorNotifier&&e._monitorNotifier.onStreamUrlChange(e._streamUrl));
129
+ })},this.getModuleName=function(){return e._moduleName},this.getModuleVersion=function(){return e._moduleVersion},this.setModuleNameAndVersion=function(a,b){e._moduleName=a,e._moduleVersion=b},this.getPlayerType=function(){
130
+ return e._playerType},this.setPlayerType=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerType",function(){e._playerType=a,null!=e._monitorNotifier&&e._monitorNotifier.onPlayerTypeChange(e._playerType);
131
+ })},this.getPlayerVersion=function(){return e._playerVersion},this.setPlayerVersion=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerVersion",function(){e._playerVersion=a,
132
+ null!=e._monitorNotifier&&e._monitorNotifier.onPlayerVersionChange(e._playerVersion)})},this.setMonitoringNotifier=function(a,b){return e._released?void 0:null!=e._monitorNotifier?!1:(e._monitorNotifier=a,
133
+ e._logger.setSessionId(b),!0)},this.removeMonitoringNotifier=function(){e._released||(e._monitorNotifier=null,e._logger.setSessionId(null))},this.pushCurrentState=function(){e.setPlayerState(e.getPlayerState()),
134
+ e.setBitrateKbps(e.getBitrateKbps()),e.setDuration(e.getDuration()),e.setEncodedFrameRate(e.getEncodedFrameRate()),e.setStreamUrl(e.getStreamUrl()),e.setPlayerType(e.getPlayerType()),e.setPlayerVersion(e.getPlayerVersion());
135
+ for(var a=0;a<e._pendingErrors.length;a++){var b=e._pendingErrors[a];e.setError(b)}e._pendingErrors=[]},this.getPlayerState=function(){return e._playerState},this.setPlayerState=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerState",function(){
136
+ i.isValidPlayerState(a)?(e._playerState=a,null!=e._monitorNotifier&&e._monitorNotifier.onPlayerStateChange(e._playerState)):e._logger.error("PlayerStateManager.SetPlayerState(): invalid state: "+a)})},
137
+ this.getBitrateKbps=function(){return e._bitrateKbps},this.setBitrateKbps=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setBitrateKbps",function(){var b=O.sanitizeSpecialIntegerValue(a);
138
+ b>=-1&&(e._bitrateKbps=b,null!=e._monitorNotifier&&e._monitorNotifier.onBitrateChange(e._bitrateKbps))})},this.setPlayerSeekStart=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerSeekStart()",function(){
139
+ null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.SEEK_START,a)})},this.setPlayerSeekEnd=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setPlayerSeekEnd()",function(){
140
+ null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.SEEK_END,-1)})},this.setUserSeekButtonUp=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setUserSeekButtonUp()",function(){
141
+ null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.BUTTON_UP,-1)})},this.setUserSeekButtonDown=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setUserSeekButtonDown()",function(){
142
+ null!=e._monitorNotifier&&e._monitorNotifier.onSeekEvent(i.SEEK_ACTIONS_TYPE.BUTTON_DOWN,-1)})},this.setVideoResolutionWidth=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setVideoResolutionWidth()",function(){
143
+ var b=O.sanitizeSpecialIntegerValue(a);b>0&&(e._width=b),null!=e._monitorNotifier&&e._monitorNotifier.onStreamResolutionWidthChange(e._width)})},this.setVideoResolutionHeight=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setVideoResolutionHeight()",function(){
144
+ var b=O.sanitizeSpecialIntegerValue(a);b>0&&(e._height=b),null!=e._monitorNotifier&&e._monitorNotifier.onStreamResolutionHeightChange(e._height)})},this.setConnectionType=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setConnectionType()",function(){
145
+ e._connectionType=a,null!=e._monitorNotifier&&e._monitorNotifier.onConnectionTypeChange(e._connectionType)})},this.setLinkEncryption=function(a){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setLinkEncryption()",function(){
146
+ e._linkEncryption=a,null!=e._monitorNotifier&&e._monitorNotifier.onLinkEncryptionChange(e._linkEncryption)})},this.setSignalStrength=function(a){},this.setError=function(a){if(e._lastError=a,null!=e._monitorNotifier){
147
+ var b=a.errorCode,c=a.severity;e._monitorNotifier.onError(b,c)}else e._pendingErrors.push(a)},this.sendError=function(a,c){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.sendError",function(){
148
+ var d=new b.StreamerError(a,c);e.setError(d)})},this.reset=function(){e._released||e._exceptionCatcher.runProtected("PlayerStateManager.reset",function(){e._bitrateKbps=-2,e._playerState=i.PlayerState.UNKNOWN,
149
+ e._currentMetadata={},e._renderedFrameRate=-1,e._encodedFrameRate=-1,e._duration=-1,e._playerVersion=null,e._playerType=null,e._streamUrl=null,e._lastError=null,e._pendingErrors=[]})},this.setCDNServerIP=function(a){
150
+ e._released||e._exceptionCatcher.runProtected("PlayerStateManager.setCDNServerIP",function(){null!=e._monitorNotifier&&e._monitorNotifier.onCDNServerIPChange(a)})},this.getError=function(){return e._lastError;
151
+ },d.apply(e,arguments)};i.PlayerState={STOPPED:c.PlayerState.STOPPED,PLAYING:c.PlayerState.PLAYING,BUFFERING:c.PlayerState.BUFFERING,PAUSED:c.PlayerState.PAUSED,UNKNOWN:c.PlayerState.UNKNOWN,NOT_MONITORED:c.PlayerState.NOT_MONITORED
152
+ },i.isValidPlayerState=function(a){return a===i.PlayerState.STOPPED||a===i.PlayerState.PLAYING||a===i.PlayerState.BUFFERING||a===i.PlayerState.PAUSED||a===i.PlayerState.UNKNOWN||a===i.PlayerState.NOT_MONITORED?!0:!1;
153
+ },i.SEEK_ACTIONS_TYPE={SEEK_START:"pss",SEEK_END:"pse",BUTTON_UP:"bu",BUTTON_DOWN:"bd"},i.DEFAULT_SIGNAL_STRENGTH=1e3,i.DEFAULT_RENDERED_FRAME_RATE=-1,i.DEFAULT_BUFFER_LENGTH=-1,i.DEFAULT_PHT=-1;var j=(a.ClientMeasureInterface=function(){
154
+ this.getPHT=function(){},this.getBufferLength=function(){},this.getSignalStrength=function(){},this.getRenderedFrameRate=function(){}},a.HttpInterface=function(){this.makeRequest=function(a,b,c,d,e,f){},
155
+ this.release=function(){}}),k=a.LoggingInterface=function(){this.consoleLog=function(a,b){},this.release=function(){}},l=a.MetadataInterface=function(){this.getBrowserName=function(){},this.getBrowserVersion=function(){},
156
+ this.getDeviceBrand=function(){},this.getDeviceManufacturer=function(){},this.getDeviceModel=function(){},this.getDeviceType=function(){},this.getDeviceVersion=function(){},this.getFrameworkName=function(){},
157
+ this.getFrameworkVersion=function(){},this.getOperatingSystemName=function(){},this.getOperatingSystemVersion=function(){},this.getDeviceCategory=function(){},this.release=function(){}},m=a.StorageInterface=function(){
158
+ this.saveData=function(a,b,c,d){},this.loadData=function(a,b,c){},this.release=function(){}},n=a.SystemInterface=function(a,b,c,d,e,f){function g(a,b,c,d,e,f){K.validateInterface(a,new o,"TimeInterface"),
159
+ K.validateInterface(b,new p,"TimerInterface"),K.validateInterface(c,new j,"HttpInterface"),K.validateInterface(d,new m,"StorageInterface"),K.validateInterface(e,new l,"MetadataInterface"),K.validateInterface(f,new k,"LoggingInterface"),
160
+ this._timeInterface=a,this._timerInterface=b,this._httpInterface=c,this._storageInterface=d,this._metadataInterface=e,this._loggingInterface=f}g.apply(this,arguments),this.release=function(){null!=this._timeInterface&&(this._timeInterface.release(),
161
+ this._timeInterface=null),null!=this._timerInterface&&(this._timerInterface.release(),this._timerInterface=null),null!=this._httpInterface&&(this._httpInterface.release(),this._httpInterface=null),null!=this._storageInterface&&(this._storageInterface.release(),
162
+ this._storageInterface=null),null!=this._metadataInterface&&(this._metadataInterface.release(),this._metadataInterface=null),null!=this._loggingInterface&&(this._loggingInterface.release(),this._loggingInterface=null);
163
+ }},o=a.TimeInterface=function(){this.getEpochTimeMs=function(){},this.release=function(){}},p=a.TimerInterface=function(){this.createTimer=function(a,b,c){},this.release=function(){}},q=b.AdAnalytics=function(){
164
+ function b(a,b,c){g._client=a,g._videoAnalytics=c,g._systemFactory=b,g._playerMonitor=c.getPlayerMonitor(),g._timer=b.buildTimer(),g._logger=b.buildLogger(),g._logger.setModuleName("AdAnalytics"),g._adPlayerMonitor=new r(g._client,g._timer),
165
+ t.call(this)}function e(a){f(a)}function f(a){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.onAdInitiated() : contentPlayer - "+c.INVALID_PLAYER_MONITOR)):(K.dictCount(a)>0&&g.setAdInfo(a),
166
+ void(g._adPlayerMonitor.getIsAffectingUser()||(g._adPlayerMonitor.setContentPlayerMonitor(g._playerMonitor),g._adPlayerMonitor.setAffectingUser(!0))))}var g=this;g._client=null,g._logger=null,g._systemFactory=null,
167
+ g._timer=null,g._playerMonitor=null,g._adPlayerMonitor=null,g._adPlayer=null,g._dropInModule=null,g._videoAnalytics=null,b.apply(this,arguments),this.setAdInfo=function(a){return K.dictCount(a)<=0?void(null!=g._logger&&g._logger.error("AdAnalytics.setAdInfo() : AD Info is not set")):(null!=g._logger&&g._logger.debug("AdAnalytics.setAdInfo()"),
168
+ void(null!=g._adPlayerMonitor&&g._adPlayerMonitor.setOrUpdateMetadataInfo(a)))},this.setAdPlayerInfo=function(a){return K.dictCount(a)<=0?void(null!=g._logger&&g._logger.error("AdAnalytics.setAdPlayerInfo() : Ad Player Info is not set")):(null!=g._logger&&g._logger.debug("AdAnalytics.setAdPlayerInfo()"),
169
+ void(null!=g._adPlayerMonitor&&g._adPlayerMonitor.setOrUpdateMetadataInfo(a)))},this.reportAdMetric=function(){return 0==arguments.length?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdMetric() : Need to report metric mandatory")):void(1==arguments.length?g.reportMetric(arguments[0]):2==arguments.length?g.reportMetric(arguments[0],arguments[1]):3==arguments.length?g.reportMetric(arguments[0],arguments[1],arguments[2]):4==arguments.length&&g.reportMetric(arguments[0],arguments[1],arguments[2],arguments[3]));
170
+ },this.setCallback=function(a){null!=g._adPlayerMonitor&&g._adPlayerMonitor.setCallback(a)},this.reportAdFailed=function(a,b){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdFailed() : "+c.INVALID_PLAYER_MONITOR)):(K.dictCount(b)>0&&g.setAdInfo(b),
171
+ g._adPlayerMonitor.getIsAffectingUser()||(g._adPlayerMonitor.setContentPlayerMonitor(g._playerMonitor),g._adPlayerMonitor.setAffectingUser(!0)),null!=g._logger&&g._logger.debug("AdAnalytics.reportAdFailed() : "+a),
172
+ g.reportAdError(a,d.ErrorSeverity.FATAL),void g.reportAdEnded())},this.reportAdLoaded=function(a){null!=g._logger&&g._logger.debug("AdAnalytics.reportAdLoaded()"),e(a)},this.reportAdStarted=function(a){
173
+ null!=g._logger&&g._logger.debug("AdAnalytics.reportAdStarted()"),e(a)},this.reportAdEnded=function(){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdEnded() : "+c.INVALID_AD_PLAYER_MONITOR)):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdEnded()"),
174
+ void(g._adPlayerMonitor.getIsAffectingUser()&&(g._adPlayerMonitor.setContentPlayerMonitor(null),g._adPlayerMonitor.setAffectingUser(!1))))},this.reportAdError=function(a,b){if(null==g._adPlayerMonitor)return void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdError() : "+c.INVALID_PLAYER_MONITOR));
175
+ null!=g._logger&&g._logger.debug("AdAnalytics.reportAdError() : "+a);var d=new P(a,b);g._adPlayerMonitor.setError(d)},this.reportAdPlayerEvent=function(b,d){if(!K.isValidString(b))return void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdPlayerEvent(): eventType parameter must be a valid string."));
176
+ if(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdPlayerEvent()"),null==g._adPlayerMonitor)return void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdPlayerEvent() : "+c.INVALID_PLAYER_MONITOR));
177
+ switch(b){case a.Constants.Events.USER_WAIT_STARTED:case a.Constants.Events.BUMPER_VIDEO_STARTED:g._adPlayerMonitor.detachPlayer();break;case a.Constants.Events.USER_WAIT_ENDED:case a.Constants.Events.BUMPER_VIDEO_ENDED:
178
+ g._adPlayerMonitor.attachPlayer();break;default:g._adPlayerMonitor.setEvent(b,d)}},this.reportAdSkipped=function(){return null==g._adPlayerMonitor?void(null!=g._logger&&g._logger.error("AdAnalytics.reportAdSkipped() : "+c.INVALID_PLAYER_MONITOR)):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdSkipped()"),
179
+ g.reportAdPlayerEvent(c.Events.AD_SKIPPED),void g.reportAdEnded())},this.release=function(){null!=g._logger&&g._logger.debug("AdAnalytics.release()"),null!=g._adPlayerMonitor&&(g._adPlayerMonitor.getIsAffectingUser()&&(g._adPlayerMonitor.setContentPlayerMonitor(null),
180
+ g._adPlayerMonitor.setAffectingUser(!1)),g._adPlayerMonitor.setCallback(null),g._adPlayerMonitor.release(),g._adPlayerMonitor=null),"undefined"!=typeof a.AdProxyMonitor&&null!=g._dropInModule&&(a.AdProxyMonitor.release(g._dropInModule),
181
+ g._dropInModule=null)},this.setAdListener=function(b,c){return void 0==b?void g._logger.error("AdAnalytics.setAdListener() : Need to configure the adListener instance"):("undefined"!=typeof c&&"undefined"!=typeof c.convivaModule?a.AdProxyMonitor=convivaModule.AdProxyMonitor:"undefined"!=typeof ConvivaModule&&(a.AdProxyMonitor=ConvivaModule.AdProxyMonitor),
182
+ "undefined"==typeof a.AdProxyMonitor?void g._logger.error("AdAnalytics.setAdListener() : Include the missing Ads SDK Module"):void(null==b&&null!=g._dropInModule?(a.AdProxyMonitor.release(g._dropInModule),
183
+ g._dropInModule=null):null!=b&&null!=g._dropInModule?(a.AdProxyMonitor.release(g._dropInModule),null!=g._logger&&g._logger.debug("AdAnalytics.setAdListener() : Initializing ad drop-in module"),g._dropInModule=a.AdProxyMonitor.initConvivaDropIn(b,c,this,a)):null!=b&&null==g._dropInModule&&(null!=g._logger&&g._logger.debug("AdAnalytics.setAdListener() : Initializing ad drop-in module"),
184
+ g._dropInModule=a.AdProxyMonitor.initConvivaDropIn(b,c,this,a))))},this.reportAdBreakStarted=function(a,b,d){return null==g._playerMonitor?void g._logger.error("AdAnalytics.reportAdBreakStarted() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdBreakStarted()"),
185
+ g._adType=a,g._adPlayer=b,void g._playerMonitor.setAdBreakStartInfo(a,b,d))},this.reportAdBreakEnded=function(){return null==g._playerMonitor?void g._logger.error("AdAnalytics.reportAdBreakEnded() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("AdAnalytics.reportAdBreakEnded()"),
186
+ g._adType=null,g._adPlayer=null,void g._playerMonitor.setAdBreakEndInfo())},this.getSessionId=function(){return null==g._playerMonitor?void g._logger.error("VideoAnalytics.getSessionId() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("VideoAnalytics.getSessionId()"),
187
+ g._adPlayerMonitor.getSessionId())},this.getClientId=function(){return null==g._playerMonitor?void g._logger.error("VideoAnalytics.getClientId() : "+c.INVALID_PLAYER_MONITOR):(null!=g._logger&&g._logger.debug("VideoAnalytics.getClientId()"),
188
+ g._adPlayerMonitor.getClientId())},this.getAdType=function(){return null!=g._playerMonitor?g._playerMonitor._adType:null},this.getAdPlayer=function(){return null!=g._playerMonitor?g._playerMonitor._adPlayer:null;
189
+ },q.prototype=Object.create(t.prototype),q.prototype.constructor=q},r=b.AdPlayerMonitorImpl=function(){function a(a,b){v.call(this,a,b)}var b=this;b._convivaClient=null,b._contentPlayerMonitor=null,a.apply(this,arguments),
190
+ this.setContentPlayerMonitor=function(a){this.getContentPlayerMonitor()!=a&&(this.update(),null==a?b._contentPlayerMonitor=null:b._contentPlayerMonitor=a)},this.getContentPlayerMonitor=function(){return b._contentPlayerMonitor;
191
+ },this.createSession=function(){var a=this.getContentPlayerMonitor();if(null!=b._convivaClient){b._playerStateManager=b._convivaClient.getPlayerStateManager(),b.onPlayerInfoChanged(),b._playerStateManager.setClientMeasureInterface(this);
192
+ var c=null;null!=a&&(c=a.getSessionKey()),b._contentSessionKey=b._convivaClient.createAdSession(c,b._contentMetadata,b._playerStateManager)}},r.prototype=Object.create(v.prototype),r.prototype.constructor=r;
193
+ },s=a.Analytics={init:function(b,f,i){if(null!=this._client&&void 0!=this._client)return void this._logger.error("Client is already configured");if(arguments.length<=0)throw new Error("customerKey must be valid");
194
+ var j=null,k=null,l=null;if("string"==typeof arguments[0]&&(j=arguments[0],!K.isValidString(j)))throw new Error("customerKey must be valid");arguments.length>=2&&"object"==typeof arguments[1]&&(k=arguments[1]),
195
+ arguments.length>=3&&"object"==typeof arguments[2]&&(l=arguments[2]);var m=new e(j),n=new h;K.dictCount(l)>0&&(null!=l[c.GATEWAY_URL]&&(m.gatewayUrl=l[c.GATEWAY_URL]),null!=l[c.LOG_LEVEL]&&(n.logLevel=l[c.LOG_LEVEL]));
196
+ var o=new a.Impl.Html5Logging,p=new a.Impl.Html5Storage,q=new a.Impl.Html5Http,r=new a.Impl.Html5Timer,t=new a.Impl.Html5Time;(void 0==this._metadataInterface||null==this._metadataInterface)&&(this._metadataInterface=new a.Impl.Html5Metadata),
197
+ null!=k&&void 0!=k&&(null!=k[a.Constants.CallbackFunctions.CONSOLE_LOG]&&(o.consoleLog=k[a.Constants.CallbackFunctions.CONSOLE_LOG]),null!=k[a.Constants.CallbackFunctions.MAKE_REQUEST]&&(q.makeRequest=k[a.Constants.CallbackFunctions.MAKE_REQUEST]),
198
+ null!=k[a.Constants.CallbackFunctions.SAVE_DATA]&&(p.saveData=k[a.Constants.CallbackFunctions.SAVE_DATA]),null!=k[a.Constants.CallbackFunctions.LOAD_DATA]&&(p.loadData=k[a.Constants.CallbackFunctions.LOAD_DATA]),
199
+ null!=k[a.Constants.CallbackFunctions.GET_EPOCH_TIME_IN_MS]&&(t.getEpochTimeMs=k[a.Constants.CallbackFunctions.GET_EPOCH_TIME_IN_MS]),null!=k[a.Constants.CallbackFunctions.CREATE_TIMER]&&(r.createTimer=k[a.Constants.CallbackFunctions.CREATE_TIMER])),
200
+ this._systemInterface=new a.SystemInterface(t,r,q,p,this._metadataInterface,o),this._systemFactory=new g(this._systemInterface,n),this._systemFactory.configure("Analytics",m),this._client=new d(m,this._systemFactory),
201
+ this._client.version=s.version,this._logger=this._systemFactory.buildLogger(),this._logger.setModuleName("Analytics")},release:function(){var a=0;if(null!=this._adAnalyticsArray&&void 0!=this._adAnalyticsArray){
202
+ for(a=0;a<this._adAnalyticsArray.length;a++){var b=this._adAnalyticsArray[a];null!=b&&(b.release(),b._logger=null,b._timer=null,this._adAnalyticsArray.splice(a,1),a--)}this._adAnalyticsArray=null}if(null!=this._videoAnalyticsArray&&void 0!=this._videoAnalyticsArray){
203
+ for(a=0;a<this._videoAnalyticsArray.length;a++){var c=this._videoAnalyticsArray[a];null!=c&&(c.release(),c._logger=null,c._timer=null,this._videoAnalyticsArray.splice(a,1),a--)}this._videoAnalyticsArray=null;
204
+ }null!=this._systemFactory&&void 0!=this._systemFactory&&(this._systemFactory.release(),this._systemFactory=null),null!=this._client&&void 0!=this._client&&(this._client.release(),this._client=null),this._client=null,
205
+ this._logger=null,this._systemInterface=null,this._metadataInterface=null},setUniqueIdentifier:function(a,b){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.setUniqueIdentifier(a,b);
206
+ },setUserPreferenceForDataCollection:function(a,b){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.setUserPreferenceForDataCollection(a,b)},setUserPreferenceForDataDeletion:function(a){
207
+ if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.setUserPreferenceForDataDeletion(a)},reportAppEvent:function(a,b){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);
208
+ this._client.sendCustomEvent(d.NO_SESSION_KEY,a,b)},reportAppBackgrounded:function(){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.sendCustomEvent(d.NO_SESSION_KEY,"App.Backgrounded",null);
209
+ },reportAppForegrounded:function(){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client.sendCustomEvent(d.NO_SESSION_KEY,"App.Foregrounded",null)},configureExistingClient:function(a){
210
+ if(!(a instanceof d))throw new Error(c.CLIENT_CONFIGURATION_FAILED);this._client=a,this._systemFactory=this._client._systemFactory,this._logger=this._systemFactory.buildLogger(),this._logger.setModuleName("Analytics");
211
+ },buildVideoAnalytics:function(){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);var a=new w(this._client,this._systemFactory);return(null==this._videoAnalyticsArray||void 0==this._videoAnalyticsArray)&&(this._videoAnalyticsArray=[]),
212
+ this._videoAnalyticsArray.push(a),a},buildAdAnalytics:function(a){if(null==this._client||void 0==this._client)throw new Error(c.CLIENT_CONFIGURATION_FAILED);var b=new q(this._client,this._systemFactory,null!=a&&void 0!=a?a:null);
213
+ return(null==this._adAnalyticsArray||void 0==this._adAnalyticsArray)&&(this._adAnalyticsArray=[]),this._adAnalyticsArray.push(b),b},setDeviceMetadata:function(b){return arguments.length<=0||0==K.dictCount(b)?void this._logger.error("Device Metadata must be valid"):((void 0==this._metadataInterface||null==this._metadataInterface)&&(this._metadataInterface=new a.Impl.Html5Metadata),
214
+ null!=b[a.Constants.DeviceMetadata.BRAND]&&(this._metadataInterface.getDeviceBrand=function(){return b[a.Constants.DeviceMetadata.BRAND]}),null!=b[a.Constants.DeviceMetadata.MANUFACTURER]&&(this._metadataInterface.getDeviceManufacturer=function(){
215
+ return b[a.Constants.DeviceMetadata.MANUFACTURER]}),null!=b[a.Constants.DeviceMetadata.MODEL]&&(this._metadataInterface.getDeviceModel=function(){return b[a.Constants.DeviceMetadata.MODEL]}),null!=b[a.Constants.DeviceMetadata.TYPE]&&(this._metadataInterface.getDeviceType=function(){
216
+ return b[a.Constants.DeviceMetadata.TYPE]}),null!=b[a.Constants.DeviceMetadata.VERSION]&&(this._metadataInterface.getDeviceVersion=function(){return b[a.Constants.DeviceMetadata.VERSION]}),null!=b[a.Constants.DeviceMetadata.OS_NAME]&&(this._metadataInterface.getOperatingSystemName=function(){
217
+ return b[a.Constants.DeviceMetadata.OS_NAME]}),null!=b[a.Constants.DeviceMetadata.OS_VERSION]&&(this._metadataInterface.getOperatingSystemVersion=function(){return b[a.Constants.DeviceMetadata.OS_VERSION];
218
+ }),void(null!=b[a.Constants.DeviceMetadata.CATEGORY]&&(this._metadataInterface.getDeviceCategory=function(){return b[a.Constants.DeviceMetadata.CATEGORY]})))},reportDeviceMetric:function(a,b){var d=0;if(null!=this._adAnalyticsArray&&void 0!=this._adAnalyticsArray)for(d=0;d<this._adAnalyticsArray.length;d++){
219
+ var e=this._adAnalyticsArray[d];if(null!=e)switch(a){case c.Network.SIGNAL_STRENGTH:case c.Network.LINK_ENCRYPTION:case c.Network.CONNECTION_TYPE:e.reportAdMetric(a,b,t.ReportMetric.AD_ONLY)}}if(null!=this._videoAnalyticsArray&&void 0!=this._videoAnalyticsArray)for(d=0;d<this._videoAnalyticsArray.length;d++){
220
+ var f=this._videoAnalyticsArray[d];if(null!=f)switch(a){case c.Network.SIGNAL_STRENGTH:case c.Network.LINK_ENCRYPTION:case c.Network.CONNECTION_TYPE:f.reportPlaybackMetric(a,b)}}}};s.version="4.0.15";var t=b.AnalyticsImpl=function(){
221
+ function b(){}function d(){var a=null!=s._adPlayerMonitor?!0:!1,b=s.getAdType(),d=s.getAdPlayer();return b==c.AdType.SERVER_SIDE&&d==c.AdPlayer.CONTENT?t.ReportMetric.AD_CONTENT:b!=c.AdType.SERVER_SIDE||d!=c.AdPlayer.SEPARATE?b==c.AdType.CLIENT_SIDE&&d==c.AdPlayer.CONTENT?t.ReportMetric.AD_ONLY:b==c.AdType.CLIENT_SIDE&&d==c.AdPlayer.SEPARATE?null!=a&&a?t.ReportMetric.AD_ONLY:t.ReportMetric.CONTENT_ONLY:a?t.ReportMetric.AD_ONLY:t.ReportMetric.CONTENT_ONLY:void 0;
222
+ }function e(a,b,c){var d=parseInt(a,10),e=parseInt(b,10);return isNaN(d)&&isNaN(e)?void s._logger.error("reportPlaybackResolution() : width and height are not numbers"):(isNaN(d)&&s._logger.warning("reportPlaybackResolution() : width is not a number"),
223
+ isNaN(e)&&s._logger.warning("reportPlaybackResolution() : height is not a number"),null==s._adPlayerMonitor||c!=t.ReportMetric.AD_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateVideoSize(d,e),
224
+ void(null==s._playerMonitor||c!=t.ReportMetric.CONTENT_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateVideoSize(d,e)))}function f(a,b){return i.isValidPlayerState(a)?(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.setPlayerState(a),
225
+ void((null!=s._playerMonitor&&b==t.ReportMetric.CONTENT_ONLY||b==t.ReportMetric.AD_CONTENT)&&s._playerMonitor.setPlayerState(a))):void s._logger.error("reportPlayerState() : Player State is not valid");
226
+ }function g(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerPlayHeadTime() : playheadtime is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updatePlayheadTime(c),
227
+ void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updatePlayheadTime(c)))}function h(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerBufferLength() : buffer length is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateBufferLength(c),
228
+ void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateBufferLength(c)))}function j(a,b){var c=parseInt(a,10);null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.setSeeking(!0,c),
229
+ null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.setSeeking(!0,c)}function k(a){null==s._adPlayerMonitor||a!=t.ReportMetric.AD_ONLY&&a!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.setSeeking(!1,-1),
230
+ null==s._playerMonitor||a!=t.ReportMetric.CONTENT_ONLY&&a!=t.ReportMetric.AD_CONTENT||s._playerMonitor.setSeeking(!1,-1)}function l(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerBitrate() : bitrate is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateBitrate(c),
231
+ void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateBitrate(c)))}function m(a,b){var c=parseInt(a,10);return isNaN(c)?void s._logger.error("reportPlayerRenderedFrameRate() : rendered framerate is not a number"):(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateVideoRenderedFrameRate(c),
232
+ void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateVideoRenderedFrameRate(c)))}function n(a,b){return K.isValidString(a)?(null==s._adPlayerMonitor||b!=t.ReportMetric.AD_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateCDNServerIp(a),
233
+ void(null==s._playerMonitor||b!=t.ReportMetric.CONTENT_ONLY&&b!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateCDNServerIp(a))):void s._logger.error("reportCDNServerIp() : CDNServerIP is not a valid string");
234
+ }function o(a){var b=parseInt(a,10);return isNaN(b)?void s._logger.error("reportSignalStrength() : Signal Strength is not a number"):i.DEFAULT_SIGNAL_STRENGTH===b?void s._logger.error("reportSignalStrength() : DEFAULT_SIGNAL_STRENGTH shouldn't be reported"):null!=s._adPlayerMonitor?void s._adPlayerMonitor.updateCurrentSignalStrength(b):void(null!=s._playerMonitor&&s._playerMonitor.updateCurrentSignalStrength(b));
235
+ }function p(a){return K.isValidString(a)?null!=s._adPlayerMonitor?void s._adPlayerMonitor.updateLinkEncryption(a):void(null!=s._playerMonitor&&s._playerMonitor.updateLinkEncryption(a)):void s._logger.error("reportLinkEncryption() : Link Encryption is not a valid string");
236
+ }function q(a){return K.isValidString(a)?null!=s._adPlayerMonitor?void s._adPlayerMonitor.updateConnectionType(a):void(null!=s._playerMonitor&&s._playerMonitor.updateConnectionType(a)):void s._logger.error("reportConnectionType() : Connection Type is not a valid string");
237
+ }function r(a,b,c){return K.isValidString(a)&&null!=b&&void 0!=b?(null==s._adPlayerMonitor||c!=t.ReportMetric.AD_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._adPlayerMonitor.updateCustomMetric(a,b),void(null==s._playerMonitor||c!=t.ReportMetric.CONTENT_ONLY&&c!=t.ReportMetric.AD_CONTENT||s._playerMonitor.updateCustomMetric(a,b))):void s._logger.error("reportMetric() : Metric key/value should be a proper value");
238
+ }var s=this;b.apply(this,arguments),this.reportMetric=function(b,i,u,v){switch(null!=s._logger&&b!==a.Constants.Playback.PLAY_HEAD_TIME&&b!==a.Constants.Playback.BUFFER_LENGTH&&s._logger.debug("reportMetric() "+b+" "+(void 0!==i&&"CONVIVA"!==i?i:"")+" "+(void 0!==u&&"CONVIVA"!==u&&u!==t.ReportMetric.AD_ONLY?u:"")+" "+(void 0!==v&&"CONVIVA"!==v&&v!==t.ReportMetric.AD_ONLY?v:"")),
239
+ b){case c.Playback.BITRATE:"CONVIVA"===u?s._logger.info("Bitrate change requested from the Conviva Library:"):s._logger.info("Bitrate change requested from the application:"),v==t.ReportMetric.AD_ONLY?l(i,t.ReportMetric.AD_ONLY):l(i,d());
240
+ break;case c.Playback.PLAY_HEAD_TIME:v==t.ReportMetric.AD_ONLY?g(i,t.ReportMetric.AD_ONLY):g(i,d());break;case c.Playback.RESOLUTION:v==t.ReportMetric.AD_ONLY?e(i,u,t.ReportMetric.AD_ONLY):e(i,u,d());break;
241
+ case c.Playback.BUFFER_LENGTH:v==t.ReportMetric.AD_ONLY?h(i,t.ReportMetric.AD_ONLY):h(i,d());break;case c.Playback.PLAYER_STATE:v==t.ReportMetric.AD_ONLY?f(i,t.ReportMetric.AD_ONLY):f(i,d());break;case c.Playback.RENDERED_FRAMERATE:
242
+ v==t.ReportMetric.AD_ONLY?m(i,t.ReportMetric.AD_ONLY):m(i,d());break;case c.Playback.SEEK_STARTED:arguments.length>=2&&"CONVIVA"!=i?j(i,d()):u==t.ReportMetric.AD_ONLY?j(-1,t.ReportMetric.AD_ONLY):j(-1,d());
243
+ break;case c.Playback.SEEK_ENDED:k(u==t.ReportMetric.AD_ONLY?t.ReportMetric.AD_ONLY:d());break;case c.Playback.CDN_IP:"CONVIVA"==u?s._logger.info("CDN Server IP change requested from the Conviva Library:"):s._logger.info("CDN Server IP change requested from the application:"),
244
+ n(i,d());break;case c.Network.SIGNAL_STRENGTH:u==t.ReportMetric.AD_ONLY?o(i,t.ReportMetric.AD_ONLY):o(i,d());break;case c.Network.LINK_ENCRYPTION:u==t.ReportMetric.AD_ONLY?p(i,t.ReportMetric.AD_ONLY):p(i,d());
245
+ break;case c.Network.CONNECTION_TYPE:u==t.ReportMetric.AD_ONLY?q(i,t.ReportMetric.AD_ONLY):q(i,d());break;default:r(b,i,d())}}};t.ReportMetric={AD_ONLY:1,CONTENT_ONLY:2,AD_CONTENT:3};var u=b.PlayerMonitor=function(){
246
+ function b(a){d._timer=a}var d=this;this._affectingUser=null,this._metadata=null,this._contentMetadata=null,this._contentTags=null,this._playerState=a.PlayerStateManager.PlayerState.UNKNOWN,this._playHeadTime=-1,
247
+ this._bufferHeadTime=-1,this._lastError=null,this._lastEventType=null,this._lastEventDetail=null,this._bitrate=-2,this._renderedFrameRate=-1,this._signalStrength=a.PlayerStateManager.DEFAULT_SIGNAL_STRENGTH,
248
+ this._cdnServerIP=null,this._linkEncryption=null,this._connectionType=null,this._timer=null,this._cancelTimer=null,this._playerTags=null,this._callback=null,this._adBreakInfo=null,this._adType=null,this._adPlayer=null,
249
+ b.apply(this,arguments),this.getConvivaPlayerState=function(){return d._playerState},this.setPlayerState=function(a){d._playerState!=a&&(d.update(),d._playerState=a,d.updatePlayerStateManagerState())},
250
+ this.isSeeking=function(){return d._seeking},this.getSeekToPos=function(){return d._seekToPos},this.setSeeking=function(a,b){d.update(),d._seeking=a,d._seekToPos=b,d.onSeekingChanged()},this.getPlayHeadTime=function(){
251
+ return d._playHeadTime},this.updatePlayheadTime=function(a){d._playHeadTime=a},this.getBufferHeadTime=function(){return d._bufferHeadTime},this.updateBufferLength=function(a){d._bufferHeadTime=a},this.getBitrate=function(){
252
+ return d._bitrate},this.updateBitrate=function(a){d._bitrate!=a&&(d._bitrate=a,d.updatePlayerStateManagerState())},this.getVideoRenderedFrameRate=function(){return d._renderedFrameRate},this.updateVideoRenderedFrameRate=function(a){
253
+ d._renderedFrameRate=a},this.getCDNServerIp=function(){return d._cdnServerIP},this.updateCDNServerIp=function(a){d._cdnServerIP=a,d.updatePlayerStateManagerState()},this.getCurrentSignalStrength=function(){
254
+ return d._signalStrength},this.updateCurrentSignalStrength=function(a){d._signalStrength=a,d.updatePlayerStateManagerState()},this.getLinkEncryption=function(){return d._linkEncryption},this.updateLinkEncryption=function(a){
255
+ d._linkEncryption=a,d.updatePlayerStateManagerState()},this.getConnectionType=function(){return d._connectionType},this.updateConnectionType=function(a){d._connectionType=a,d.updatePlayerStateManagerState();
256
+ },this.getVideoWidth=function(){return d._videoWidth},this.getVideoHeight=function(){return d._videoHeight},this.updateVideoSize=function(a,b){0>a&&(a=0),0>b&&(b=0),(d._videoWidth!=a||d._videoHeight!=b)&&(d._videoWidth=a,
257
+ d._videoHeight=b,d.updatePlayerStateManagerState())},this.getMetadataInfo=function(){return d._metadata},this.onMetadataInfoSet=function(){null!=d.getMetadataInfo()&&(d._contentMetadata=new a.ContentMetadata,
258
+ d._contentTags={},d._playerTags={},d.onMetadataInfoChanged())},this.setMetadataInfo=function(a){(null!=d._metadata||null!=a)&&(this.update(),null!=d._metadata&&(d._metadata=null,d.onMetadataInfoSet()),
259
+ null!=a&&(d._metadata=K.mergeObjects(d._metadata,a),d.onMetadataInfoSet()))},this.setOrUpdateMetadataInfo=function(a){if(null!=a){if(null==d._contentMetadata)return void d.setMetadataInfo(a);var b=!1,c=null;
260
+ for(var e in a)if(c=d._contentMetadata[e],c!=a[e]){b=!0;break}b&&(d.update(),d._metadata=K.mergeObjects(a),d.onMetadataInfoChanged())}},this.setCallback=function(a){null==a?(d._callback=null,d.cleanUpTimer()):d._callback!=a&&(d._callback=a,
261
+ d.startTimer())},this.update=function(){d._updating||null!=d._callback&&(d._updating=!0,d._callback(),d._updating=!1)},this.getIsAffectingUser=function(){return d._affectingUser},this.setAffectingUser=function(a){
262
+ d._affectingUser!=a&&(d.update(),d._affectingUser&&(d.endSession(),d.cleanUpTimer(),d.release()),d._affectingUser=a,d._affectingUser&&d.createSession())},this.getLastEventType=function(){return d._lastEventType;
263
+ },this.getLastEventDetail=function(){return null!=d._lastEventDetail?d._lastEventDetail:null},this.getLastError=function(){return d._lastError},this.setError=function(a){this.update(),d._lastError=a,d.onError();
264
+ },this.setEvent=function(a,b){d.update(),d._lastEventType=a,d._lastEventDetail=b,d.onEvent()},this.pollStreamerTask=function(){d.update()},this.startTimer=function(){d.cleanUpTimer(),d._cancelTimer=d._timer.create(d.pollStreamerTask,1e3,"PlayerMonitor.update");
265
+ },this.cleanUpTimer=function(){null!=d._cancelTimer&&(d._cancelTimer(),d._cancelTimer=null)},this.setAdBreakStartInfo=function(a,b,e){d._adBreakInfo=e,d.onAdBreakStartInfoSet(),d._adType=a,d._adPlayer=b,
266
+ null!=d._adType&&void 0!=d._adType&&c.AdType.CLIENT_SIDE===d._adType&&(d._playerState=c.PlayerState.UNKNOWN,d.detach(d._adType,b,null==e||void 0==e?null:e[c.POD_POSITION]))},this.setAdBreakEndInfo=function(){
267
+ null!=d._adType&&c.AdType.CLIENT_SIDE===d._adType&&(d.attach(),d._playerState=c.PlayerState.UNKNOWN),d.onAdBreakEndInfoSet(),d._adType=null,d._adPlayer=null},this.getAdBreakInfo=function(){return d._adBreakInfo;
268
+ },this.release=function(){this._affectingUser=null,this._metadata=null,this._contentMetadata=null,this._contentTags=null,this._playerState=a.PlayerStateManager.PlayerState.UNKNOWN,this._playHeadTime=-1,
269
+ this._bufferHeadTime=-1,this._lastError=null,this._lastEventType=null,this._lastEventDetail=null,this._bitrate=-2,this._renderedFrameRate=-1,this._signalStrength=a.PlayerStateManager.DEFAULT_SIGNAL_STRENGTH,
270
+ this._cdnServerIP=null,this._linkEncryption=null,this._connectionType=null,this._timer=null,this._cancelTimer=null,this._playerTags=null,this._callback=null,this._adBreakInfo=null,this._adType=null,this._adPlayer=null,
271
+ d._playerStateManager=null,d._contentSessionKey=a.Client.NO_SESSION_KEY}},v=b.PlayerMonitorImpl=function(){function b(a,b){u.call(this,b),e._convivaClient=a}var e=this;e._convivaClient=null,e._playerStateManager=null,
272
+ e._contentSessionKey=a.Client.NO_SESSION_KEY,b.apply(this,arguments),this.getPHT=function(){return e.getPlayHeadTime()},this.getBufferLength=function(){return e.getBufferHeadTime()},this.getRenderedFrameRate=function(){
273
+ return e.getVideoRenderedFrameRate()},this.getSignalStrength=function(){return e.getCurrentSignalStrength()},this.onSeekingChanged=function(){null!=e._playerStateManager&&e._ContentSessionKey!=d.NO_SESSION_KEY&&(e.isSeeking()?e._playerStateManager.setPlayerSeekStart(e.getSeekToPos()):e._playerStateManager.setPlayerSeekEnd());
274
+ },this.updatePlayerStateManagerState=function(){null!=e._playerStateManager&&(e._playerStateManager.setPlayerState(e.getConvivaPlayerState()),e.getBitrate()>0&&e._playerStateManager.setBitrateKbps(e.getBitrate()),
275
+ e.getVideoWidth()>0&&e._playerStateManager.setVideoResolutionWidth(e.getVideoWidth()),e.getVideoHeight()>0&&e._playerStateManager.setVideoResolutionHeight(e.getVideoHeight()),null!=e.getCDNServerIp()&&e._playerStateManager.setCDNServerIP(e.getCDNServerIp()),
276
+ null!=e.getLinkEncryption()&&e._playerStateManager.setLinkEncryption(e.getLinkEncryption()),null!=e.getConnectionType()&&e._playerStateManager.setConnectionType(e.getConnectionType()))},this.updateContentMetadata=function(){
277
+ e._contentSessionKey!=d.NO_SESSION_KEY&&null!=e._convivaClient&&e._convivaClient.updateContentMetadata(e._contentSessionKey,e._contentMetadata)},this.onPlayerInfoChanged=function(){if(null!=e._playerStateManager&&null!=e._playerTags&&0!=K.dictCount(e._playerTags)){
278
+ if(null!=e._playerTags[c.MODULE_NAME]&&null!=e._playerTags[c.MODULE_VERSION]){var a=e._playerTags[c.MODULE_NAME],b=e._playerTags[c.MODULE_VERSION];K.isValidString(a)&&K.isValidString(b)&&e._playerStateManager.setModuleNameAndVersion(a,b);
279
+ }if(null!=e._playerTags[c.FRAMEWORK_NAME]){var d=e._playerTags[c.FRAMEWORK_NAME];K.isValidString(d)&&e._playerStateManager.setPlayerType(d)}if(null!=e._playerTags[c.FRAMEWORK_VERSION]){var f=e._playerTags[c.FRAMEWORK_VERSION];
280
+ K.isValidString(f)&&e._playerStateManager.setPlayerVersion(f)}}},this.attach=function(){null!=e._playerStateManager&&e._contentSessionKey!=d.NO_SESSION_KEY&&(e.updatePlayerStateManagerState(),this.contentAdEnd());
281
+ },this.attachPlayer=function(){null!=e._playerStateManager&&e._contentSessionKey!=d.NO_SESSION_KEY&&(e.updatePlayerStateManagerState(),e._convivaClient.onFocus(e._contentSessionKey))},this.contentAdEnd=function(){
282
+ null!=e._convivaClient&&e._contentSessionKey!=c.NO_SESSION_KEY&&e._convivaClient.adEnd(e._contentSessionKey)},this.detach=function(a,b,f){if(null!=e._playerStateManager&&e._contentSessionKey!=c.NO_SESSION_KEY){
283
+ var g=null;c.AdType.CLIENT_SIDE===a?g=d.AdStream.SEPARATE:c.AdType.SERVER_SIDE===a&&(g=d.AdStream.CONTENT),e.contentAdStart(g,b,f)}},this.detachPlayer=function(){null!=e._playerStateManager&&e._contentSessionKey!=c.NO_SESSION_KEY&&e._convivaClient.offFocus(e._contentSessionKey);
284
+ },this.contentAdStart=function(a,b,d){null!=e._convivaClient&&e._contentSessionKey!=c.NO_SESSION_KEY&&e._convivaClient.adStart(e._contentSessionKey,a,b,d)},this.createSession=function(){null!=e._convivaClient&&(e._playerStateManager=e._convivaClient.getPlayerStateManager(),
285
+ e.onPlayerInfoChanged(),e._playerStateManager.setClientMeasureInterface(this),e._contentSessionKey=e._convivaClient.createSession(e._contentMetadata,e._playerStateManager))},this.endSession=function(){
286
+ null!=e._convivaClient&&(null!=e._playerStateManager&&(e._playerStateManager.setPlayerState(c.PlayerState.STOPPED),e._playerStateManager=null),e._contentSessionKey!=c.NO_SESSION_KEY&&(e._convivaClient.cleanupSession(e._contentSessionKey),
287
+ e._contentSessionKey=c.NO_SESSION_KEY))},this.onError=function(){if(null!=e._convivaClient&&e._contentSessionKey!=d.NO_SESSION_KEY){var a=e.getLastError();e._convivaClient.reportError(e._contentSessionKey,a.getErrorCode(),a.getErrorSeverity());
288
+ }},this.onEvent=function(){e._contentSessionKey!=d.NO_SESSION_KEY&&null!=e._convivaClient&&e._convivaClient.sendCustomEvent(e._contentSessionKey,e.getLastEventType(),e.getLastEventDetail())},this.onMetadataInfoChanged=function(){
289
+ var a=e.getMetadataInfo(),b=!1,d=!1;for(var f in a){var g=a[f];if(K.isValidString(f)&&null!=g)switch(f){case c.STREAM_URL:d=!0,e._contentMetadata.streamUrl=g;break;case c.ASSET_NAME:d=!0,e._contentMetadata.assetName=g;
290
+ break;case c.DEFAULT_RESOURCE:d=!0,e._contentMetadata.defaultResource=g;break;case c.VIEWER_ID:d=!0,e._contentMetadata.viewerId=g;break;case c.PLAYER_NAME:d=!0,e._contentMetadata.applicationName=g;break;
291
+ case c.DURATION:d=!0,e._contentMetadata.duration=g;break;case c.IS_LIVE:d=!0,e._contentMetadata.streamType=g;break;case c.ENCODED_FRAMERATE:d=!0,e._contentMetadata.encodedFrameRate=g;break;case c.MODULE_NAME:
292
+ case c.MODULE_VERSION:case c.FRAMEWORK_NAME:case c.FRAMEWORK_VERSION:b=!0,e._playerTags[f]=g;break;default:d=!0,e._contentMetadata.custom[f]=g}}b&&this.onPlayerInfoChanged(),d&&this.updateContentMetadata();
293
+ },this.onAdBreakStartInfoSet=function(){this.contentAdBreak(c.Events.POD_START)},this.onAdBreakEndInfoSet=function(){this.contentAdBreak(c.Events.POD_END)},this.contentAdBreak=function(a){if(null!=e._convivaClient&&e._contentSessionKey!=c.NO_SESSION_KEY){
294
+ var b=this.getAdBreakInfo(),d=null;if(null!=b){d={};var f=b[c.POD_POSITION];null!=f&&(d[c.POD_POSITION]=f);var g=b[c.POD_INDEX];if(null!=g&&(d[c.POD_INDEX]=g+""),a===c.Events.POD_START){var h=b[c.POD_DURATION];
295
+ null!=h&&(d[c.POD_DURATION]=h+"")}}e._convivaClient.sendCustomEvent(e._contentSessionKey,a,d)}},this.setSessionKey=function(a){this._contentSessionKey==c.NO_SESSION_KEY&&a!=c.NO_SESSION_KEY&&(this._contentSessionKey=a);
296
+ },this.getSessionKey=function(){return this._contentSessionKey},this.getSessionId=function(){return e._convivaClient.getSessionId(this._contentSessionKey)},this.getClientId=function(a){return e._convivaClient.getClientId(this._contentSessionKey);
297
+ },this.updateCustomMetric=function(a,b){e._convivaClient.updateCustomMetric(this._contentSessionKey,a,b)},v.prototype=Object.create(u.prototype),v.prototype.constructor=v},w=b.VideoAnalytics=function(){
298
+ function b(a,b){e._client=a,e._systemFactory=b,e._timer=b.buildTimer(),e._logger=b.buildLogger(),e._logger.setModuleName("VideoAnalytics"),e._playerMonitor=new v(e._client,e._timer),t.call(this)}var e=this;
299
+ e._client=null,e._logger=null,e._systemFactory=null,e._timer=null,e._playerMonitor=null,e._dropInModule=null,e._adType=null,e._adPlayer=null,this.release=function(){null!=e._logger&&e._logger.debug("VideoAnalytics.release()"),
300
+ null!=e._playerMonitor&&e._playerMonitor.getIsAffectingUser()&&(e._playerMonitor.setAffectingUser(!1),"undefined"!=typeof a.ProxyMonitor&&null!=e._dropInModule&&(a.ProxyMonitor.release(e._dropInModule),
301
+ e._dropInModule=null)),null!=e._playerMonitor&&(e._playerMonitor.setCallback(null),e._playerMonitor.release(),e._playerMonitor=null),e._timer=null,e._adType=null,e._adPlayer=null},b.apply(this,arguments),
302
+ this.reportPlaybackRequested=function(a){return null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackRequested()"),null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportPlaybackRequested() : "+c.PLAYBACK_ANALYTICS_NOT_AVAILABLE):(K.dictCount(a)>0&&e.setContentInfo(a),
303
+ void e._playerMonitor.setAffectingUser(!0))},this.reportPlaybackEnded=function(){return null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackEnded()"),null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportPlaybackEnded() : "+c.PLAYBACK_ANALYTICS_NOT_AVAILABLE):void(e._playerMonitor.getIsAffectingUser()&&(e._playerMonitor.setAffectingUser(!1),
304
+ "undefined"!=typeof a.ProxyMonitor&&null!=e._dropInModule&&(a.ProxyMonitor.release(e._dropInModule),e._dropInModule=null),e._playerMonitor.setCallback(null)))},this.reportPlaybackFailed=function(a,b){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportPlaybackFailed() : "+c.INVALID_PLAYER_MONITOR):(K.dictCount(b)>0&&e.setContentInfo(b),
305
+ e._playerMonitor.getIsAffectingUser()||e._playerMonitor.setAffectingUser(!0),null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackFailed()"),e.reportPlaybackError(a,d.ErrorSeverity.FATAL),void e.reportPlaybackEnded());
306
+ },this.setContentInfo=function(a){return K.dictCount(a)<=0?void e._logger.error("VideoAnalytics.setContentInfo() : Content Info is not set"):null==e._playerMonitor?void e._logger.error("VideoAnalytics.setContentInfo() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.setContentInfo()"),
307
+ void e._playerMonitor.setOrUpdateMetadataInfo(a))},this.setPlayerInfo=function(a){return K.dictCount(a)<=0?void e._logger.error("VideoAnalytics.setPlayerInfo() : Player Info is not set"):null==e._playerMonitor?void e._logger.error("VideoAnalytics.setPlayerInfo() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.setPlayerInfo()"),
308
+ void e._playerMonitor.setOrUpdateMetadataInfo(a))},this.reportPlaybackMetric=function(){return 0==arguments.length?void e._logger.error("VideoAnalytics.reportPlaybackMetric() : Need to report metric mandatory"):void(1==arguments.length?e.reportMetric(arguments[0]):2==arguments.length?e.reportMetric(arguments[0],arguments[1]):3==arguments.length?e.reportMetric(arguments[0],arguments[1],arguments[2]):4==arguments.length&&e.reportMetric(arguments[0],arguments[1],arguments[2],arguments[3]));
309
+ },this.reportPlaybackError=function(a,b){if(null==e._playerMonitor)return void e._logger.error("VideoAnalytics.reportPlaybackError() : "+c.INVALID_PLAYER_MONITOR);if(!K.isValidString(a))return void e._logger.error("VideoAnalytics.reportPlaybackError() : errorMessage need to be valid string");
310
+ null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackError()");var d=new P(a,b);e._playerMonitor.setError(d)},this.reportPlaybackEvent=function(b,d){if(!K.isValidString(b))return void e._logger.error("VideoAnalytics.reportPlaybackEvent(): eventType parameter must be a valid string.");
311
+ if(null==e._playerMonitor)return void e._logger.error("VideoAnalytics.reportPlaybackEvent() : "+c.INVALID_PLAYER_MONITOR);if(null!=e._logger&&e._logger.debug("VideoAnalytics.reportPlaybackEvent()"),null!=e._playerMonitor)switch(b){
312
+ case a.Constants.Events.USER_WAIT_STARTED:case a.Constants.Events.BUMPER_VIDEO_STARTED:e._playerMonitor.detachPlayer();break;case a.Constants.Events.USER_WAIT_ENDED:case a.Constants.Events.BUMPER_VIDEO_ENDED:
313
+ e._playerMonitor.attachPlayer();break;default:e._playerMonitor.setEvent(b,d)}},this.setCallback=function(a){null!=e._logger&&e._logger.debug("setCallback()"),null!=e._playerMonitor&&e._playerMonitor.setCallback(a);
314
+ },this.reportAdBreakStarted=function(a,b,d){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportAdBreakStarted() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.reportAdBreakStarted()"),
315
+ e._adType=a,e._adPlayer=b,void e._playerMonitor.setAdBreakStartInfo(a,b,d))},this.reportAdBreakEnded=function(){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.reportAdBreakEnded() : "+c.INVALID_PLAYER_MONITOR):(e._adType=null,
316
+ e._adPlayer=null,null!=e._logger&&e._logger.debug("VideoAnalytics.VideoAnalytics.reportAdBreakEnded()"),void e._playerMonitor.setAdBreakEndInfo())},this.setPlayer=function(b,c){if(void 0===b)return void e._logger.error("VideoAnalytics.setPlayer() : Need to configure the Player");
317
+ var d,f;return c&&(d=c[a.Constants.CONVIVA_MODULE],f=c[a.Constants.MEDIA_ELEMENT]),"undefined"!=typeof d?a.ProxyMonitor=d.ProxyMonitor:"undefined"!=typeof ConvivaModule&&(a.ProxyMonitor=ConvivaModule.ProxyMonitor),
318
+ "undefined"==typeof a.ProxyMonitor?void e._logger.error("VideoAnalytics.setPlayer() : Include the missing Player Module"):(null!=e._logger&&e._logger.debug("VideoAnalytics.setPlayer()"),void(null==b&&null!=e._dropInModule?(a.ProxyMonitor.release(e._dropInModule),
319
+ e._dropInModule=null):null!=b?(null!=e._dropInModule&&a.ProxyMonitor.release(e._dropInModule),null!=e._logger&&e._logger.debug("VideoAnalytics.setPlayer() : Initializing drop-in module"),"undefined"!=typeof f?e._dropInModule=a.ProxyMonitor.initConvivaDropIn(b,f,e._systemFactory,this,a):e._dropInModule=a.ProxyMonitor.initConvivaDropIn(b,e._systemFactory,this,a)):null==b&&"undefined"!=typeof f&&(e._dropInModule=a.ProxyMonitor.initConvivaDropIn(b,f,e._systemFactory,this,a))));
320
+ },this.configureExistingSession=function(a){return a==c.NO_SESSION_KEY?void e._logger.error("VideoAnalytics.configureExistingSession() : Invalid Session Key"):null==e._playerMonitor?void e._logger.error("VideoAnalytics.configureExistingSession() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.configureExistingSession()"),
321
+ void e._playerMonitor.setSessionKey(a))},this.getSessionId=function(){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.getSessionId() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.getSessionId()"),
322
+ e._playerMonitor.getSessionId())},this.getClientId=function(){return null==e._playerMonitor?void e._logger.error("VideoAnalytics.getClientId() : "+c.INVALID_PLAYER_MONITOR):(null!=e._logger&&e._logger.debug("VideoAnalytics.getClientId()"),
323
+ e._playerMonitor.getClientId())},this.getPlayerMonitor=function(){return null!=e._logger&&e._logger.debug("VideoAnalytics.getPlayerMonitor()"),this._playerMonitor},this.getAdType=function(){return null!=e._playerMonitor?e._playerMonitor._adType:null;
324
+ },this.getAdPlayer=function(){return null!=e._playerMonitor?e._playerMonitor._adPlayer:null},w.prototype=Object.create(t.prototype),w.prototype.constructor=w};a.Impl=a.Impl||{},a.Impl.Html5Http=function(){
325
+ function a(){}a.apply(this,arguments),this.makeRequest=function(a,b,c,d,e,f){return this.makeRequestStandard.apply(this,arguments)},this.makeRequestStandard=function(a,b,c,d,e,f){var g=new XMLHttpRequest;
326
+ return g.open(a,b,!0),d&&g.overrideMimeType&&(g.overrideMimeType=d),d&&g.setRequestHeader&&g.setRequestHeader("Content-Type",d),e>0&&(g.timeout=e,g.ontimeout=function(){g.ontimeout=g.onreadystatechange=null,
327
+ f&&f(!1,"timeout after "+e+" ms")}),g.onreadystatechange=function(){4===g.readyState&&(g.ontimeout=g.onreadystatechange=null,200==g.status?f&&f(!0,g.responseText):f&&f(!1,"http status "+g.status))},g.send(c),
328
+ null},this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Logging=function(){function b(){}b.apply(this,arguments),this.consoleLog=function(b,c){"undefined"!=typeof console&&(console.log&&c===a.SystemSettings.LogLevel.DEBUG||c===a.SystemSettings.LogLevel.INFO?console.log(b):console.warn&&c===a.SystemSettings.LogLevel.WARNING?console.warn(b):console.error&&c===a.SystemSettings.LogLevel.ERROR&&console.error(b));
329
+ },this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Metadata=function(){function a(){}a.apply(this,arguments),this.getBrowserName=function(){return null},this.getBrowserVersion=function(){return null;
330
+ },this.getDeviceBrand=function(){return null},this.getDeviceManufacturer=function(){return null},this.getDeviceModel=function(){return null},this.getDeviceType=function(){return null},this.getDeviceVersion=function(){
331
+ return null},this.getFrameworkName=function(){return null},this.getFrameworkVersion=function(){return null},this.getOperatingSystemName=function(){return null},this.getOperatingSystemVersion=function(){
332
+ return null},this.getDeviceCategory=function(){return null},this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Storage=function(){function a(){}a.apply(this,arguments),this.saveData=function(a,b,c,d){
333
+ var e=a+"."+b;try{localStorage.setItem(e,c),d(!0,null)}catch(f){d(!1,f.toString())}},this.loadData=function(a,b,c){var d=a+"."+b;try{var e=localStorage.getItem(d);c(!0,e)}catch(f){c(!1,f.toString())}},
334
+ this.release=function(){}},a.Impl=a.Impl||{},a.Impl.Html5Time=function(){function a(){}a.apply(this,arguments),this.getEpochTimeMs=function(){var a=new Date;return a.getTime()},this.release=function(){};
335
+ },a.Impl=a.Impl||{},a.Impl.Html5Timer=function(){function a(){}a.apply(this,arguments),this.createTimer=function(a,b,c){var d=setInterval(a,b),e=function(){-1!==d&&(clearInterval(d),d=-1)};return e},this.release=function(){};
336
+ };var x=b.JSON2={};!function(){function a(a){return 10>a?"0"+a:a}function b(a){return d.lastIndex=0,d.test(a)?'"'+a.replace(d,function(a){var b=g[a];return"string"==typeof b?b:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4);
337
+ })+'"':'"'+a+'"'}function c(a,d){var g,i,j,k,l,m=e,n=d[a];switch(n&&"object"==typeof n&&"function"==typeof n.toJSON&&(n=n.toJSON(a)),"function"==typeof h&&(n=h.call(d,a,n)),typeof n){case"string":return b(n);
338
+ case"number":return isFinite(n)?String(n):"null";case"boolean":case"null":return String(n);case"object":if(!n)return"null";if(e+=f,l=[],Object.prototype.toString.apply(n)===Object.prototype.toString.apply([])){
339
+ for(k=n.length,g=0;k>g;g+=1)l[g]=c(g,n)||"null";return j=0===l.length?"[]":e?"[\n"+e+l.join(",\n"+e)+"\n"+m+"]":"["+l.join(",")+"]",e=m,j}if(h&&"object"==typeof h)for(k=h.length,g=0;k>g;g+=1)"string"==typeof h[g]&&(i=h[g],
340
+ j=c(i,n),j&&l.push(b(i)+(e?": ":":")+j));else for(i in n)Object.prototype.hasOwnProperty.call(n,i)&&(j=c(i,n),j&&l.push(b(i)+(e?": ":":")+j));return j=0===l.length?"{}":e?"{\n"+e+l.join(",\n"+e)+"\n"+m+"}":"{"+l.join(",")+"}",
341
+ e=m,j}}"function"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null;
342
+ },String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var d,e,f,g,h;"function"!=typeof x.stringify&&(d=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
343
+ g={"\b":"\\b"," ":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},x.stringify=function(a,b,d){var g;if(e="",f="","number"==typeof d)for(g=0;d>g;g+=1)f+=" ";else"string"==typeof d&&(f=d);if(h=b,
344
+ b&&"function"!=typeof b&&("object"!=typeof b||"number"!=typeof b.length))throw new Error("JSON2.stringify");return c("",{"":a})})}();var y=b.JsonParse=function(){var a,b,c,d,e={'"':'"',"\\":"\\","/":"/",
345
+ b:"\b",f:"\f",n:"\n",r:"\r",t:" "},f=function(b){throw{name:"SyntaxError",message:b,at:a,text:c}},g=function(d){return d&&d!==b&&f("Expected '"+d+"' instead of '"+b+"'"),b=c.charAt(a),a+=1,b},h=function(){
346
+ var a,c="";for("-"===b&&(c="-",g("-"));b>="0"&&"9">=b;)c+=b,g();if("."===b)for(c+=".";g()&&b>="0"&&"9">=b;)c+=b;if("e"===b||"E"===b)for(c+=b,g(),("-"===b||"+"===b)&&(c+=b,g());b>="0"&&"9">=b;)c+=b,g();return a=+c,
347
+ isNaN(a)?void f("Bad number"):a},i=function(){var a,c,d,h="";if('"'===b)for(;g();){if('"'===b)return g(),h;if("\\"===b)if(g(),"u"===b){for(d=0,c=0;4>c&&(a=parseInt(g(),16),isFinite(a));c+=1)d=16*d+a;h+=String.fromCharCode(d);
348
+ }else{if("string"!=typeof e[b])break;h+=e[b]}else h+=b}f("Bad string")},j=function(){for(;b&&" ">=b;)g()},k=function(){switch(b){case"t":return g("t"),g("r"),g("u"),g("e"),!0;case"f":return g("f"),g("a"),
349
+ g("l"),g("s"),g("e"),!1;case"n":return g("n"),g("u"),g("l"),g("l"),null}f("Unexpected '"+b+"'")},l=function(){var a=[];if("["===b){if(g("["),j(),"]"===b)return g("]"),a;for(;b;){if(a.push(d()),j(),"]"===b)return g("]"),
350
+ a;g(","),j()}}f("Bad array")},m=function(){var a,c={};if("{"===b){if(g("{"),j(),"}"===b)return g("}"),c;for(;b;){if(a=i(),j(),g(":"),Object.hasOwnProperty.call(c,a)&&f('Duplicate key "'+a+'"'),c[a]=d(),
351
+ j(),"}"===b)return g("}"),c;g(","),j()}}f("Bad object")};return d=function(){switch(j(),b){case"{":return m();case"[":return l();case'"':return i();case"-":return h();default:return b>="0"&&"9">=b?h():k();
352
+ }},function(e,g){var h;return c=e,a=0,b=" ",h=d(),j(),b&&f("Syntax error"),"function"==typeof g?function i(a,b){var c,d,e=a[b];if(e&&"object"==typeof e)for(c in e)Object.hasOwnProperty.call(e,c)&&(d=i(e,c),
353
+ void 0!==d?e[c]=d:delete e[c]);return g.call(a,b,e)}({"":h},""):h}}(),z=b.CwsProtocol=function(){this.generateEvent=function(a,b,c,d){return d.seq=a,d.st=b,d.t=c,d},this.generateSessionEndEvent=function(a,b){
354
+ var c=z.EVENT_TYPE_SESSION_END,d={};return this.generateEvent(a,b,c,d)}};z.version="2.6",z.gatewayPath="/0/wsg",z.DEFAULT_CLIENT_ID="0",z.DEFAULT_CDN_SERVER_IP_AUTODETECT_ENABLED=!1,z.DEFAULT_MAX_HEARTBEAT_INFOS=2,
355
+ z.DEFAULT_PLAYHEAD_TIME=-1,z.DEFAULT_BUFFER_LENGTH=-1,z.DEFAULT_SIGNAL_STRENGTH=1e3,z.SDK_METADATA_SCHEMA="sdk.js.1",z.EVENT_TYPE_STATE_CHANGE="CwsStateChangeEvent",z.EVENT_TYPE_ERROR="CwsErrorEvent",z.EVENT_TYPE_SESSION_END="CwsSessionEndEvent",
356
+ z.EVENT_TYPE_CUSTOM="CwsCustomEvent",z.EVENT_TYPE_SEEK="CwsSeekEvent",z.EVENT_TYPE_DATA_SAMPLE="CwsDataSamplesEvent",z.RESPONSE_STATUS_NO_ERRORS="ok",z.RESPONSE_KEY_STATUS="err",z.RESPONSE_KEY_CLIENT_ID="clid",
357
+ z.RESPONSE_KEY_CONFIG="cfg",z.RESPONSE_KEY_EVENTS="evs",z.RESPONSE_CONFIG_KEY_MAX_HEARTBEAT_INFOS="maxhbinfos",z.RESPONSE_CONFIG_KEY_SEND_LOGS="slg",z.RESPONSE_CONFIG_KEY_HEARTBEAT_INTERVAL="hbi",z.RESPONSE_CONFIG_KEY_GATEWAY_URL="gw",
358
+ z.RESPONSE_CONFIG_KEY_CONVIVAID_FP="fp",z.RESPONSE_CONFIG_KEY_CDN_SERVER_IP_ENABLE="csi_en",z.MESSAGE_TYPE_SESSION_HEARTBEAT="CwsSessionHb",z.REQUEST_KEY_MESSAGE_TYPE="t",z.REQUEST_KEY_SESSION_TIME="st",
359
+ z.REQUEST_KEY_SESSION_START_TIME="sst",z.REQUEST_KEY_IS_LIVE="lv",z.REQUEST_KEY_SEQUENCE_NUMBER="seq",z.REQUEST_KEY_CUSTOMER_KEY="cid",z.REQUEST_KEY_CLIENT_ID="clid",z.REQUEST_KEY_CLIENT_VERSION="clv",
360
+ z.REQUEST_KEY_PROTOCOL_VERSION="pver",z.REQUEST_KEY_INSTANCE_ID="iid",z.REQUEST_KEY_SESSION_ID="sid",z.REQUEST_KEY_VIEWER_ID="vid",z.REQUEST_KEY_ASSET_NAME="an",z.REQUEST_KEY_PLAYER_NAME="pn",z.REQUEST_KEY_TAGS="tags",
361
+ z.REQUEST_KEY_SESSION_FLAGS="sf",z.REQUEST_KEY_EVENTS="evs",z.REQUEST_KEY_LOGS="lg",z.REQUEST_KEY_HEARTBEAT_INFOS="hbinfos",z.REQUEST_KEY_IS_SDK_CLIENT="sdk",z.REQUEST_KEY_PAUSE_JOIN="pj",z.REQUEST_KEY_PLAYER_STATE="ps",
362
+ z.REQUEST_KEY_BITRATE="br",z.REQUEST_KEY_CONTENT_LENGTH="cl",z.REQUEST_KEY_ENCODED_FRAME_RATE="efps",z.REQUEST_KEY_AVERAGE_FRAME_RATE="afps",z.REQUEST_KEY_RFPS_TOTAL="rfpstot",z.REQUEST_KEY_RFPS_COUNT="rfpscnt",
363
+ z.REQUEST_KEY_RESOURCE="rs",z.REQUEST_KEY_PLAYHEAD_TIME="pht",z.REQUEST_KEY_BUFFER_LENGTH="bl",z.REQUEST_KEY_STREAM_URL="url",z.REQUEST_KEY_CAPABILITIES="caps",z.REQUEST_KEY_PLATFORM_METADATA="pm",z.REQUEST_KEY_VIDEO_WIDTH="w",
364
+ z.REQUEST_KEY_VIDEO_HEIGHT="h",z.REQUEST_KEY_CONNECTION_TYPE="ct",z.REQUEST_KEY_LINK_ENCRYPTION="le",z.REQUEST_KEY_SIGNAL_STRENGTH="ss",z.REQUEST_KEY_CDN_NAME="csi_n",z.REQUEST_KEY_CDN_TYPE="csi_t",z.REQUEST_KEY_CDN_LABEL="csi_l",
365
+ z.REQUEST_KEY_CDN_VALUE="csi_v",z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE="csi_c",z.REQUEST_PLATFORM_METADATA_KEY_SCHEMA="sch",z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_NAME="br",z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_VERSION="brv",
366
+ z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_BRAND="dvb",z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MANUFACTURER="dvma",z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MODEL="dvm",z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_TYPE="dvt",
367
+ z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_VERSION="dvv",z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_NAME="fw",z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_VERSION="fwv",z.REQUEST_PLATFORM_METADATA_KEY_CLIENT_CONFIGURATION="cc",
368
+ z.REQUEST_PLATFORM_METADATA_KEY_MODULE_NAME="mn",z.REQUEST_PLATFORM_METADATA_KEY_MODULE_VERSION="mv",z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_NAME="os",z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_VERSION="osv",
369
+ z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_CATEGORY="cat",z.REQUEST_KEY_PROTOCOL_CAPP="caps",z.REQUEST_EVENT_KEY_TYPE="t",z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER="seq",z.REQUEST_EVENT_KEY_SESSION_TIME="st",z.REQUEST_EVENT_KEY_SEEK_ACT_TYPE="act",
370
+ z.REQUEST_EVENT_KEY_SEEK_TO_POS="skto",z.REQUEST_ERROR_EVENT_KEY_MESSAGE="err",z.REQUEST_ERROR_EVENT_KEY_FATAL="ft",z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW="new",z.REQUEST_STATE_CHANGE_EVENT_KEY_OLD="old",
371
+ z.REQUEST_CUSTOM_EVENT_KEY_NAME="name",z.REQUEST_CUSTOM_EVENT_KEY_ATTRIBUTES="attr",z.REQUEST_HEARTBEAT_INFO_KEY_SEQUENCE_NUMBER="seq",z.REQUEST_HEARTBEAT_INFO_KEY_STATUS="err",z.REQUEST_HEARTBEAT_INFO_KEY_ROUNDTRIP_TIME="rtt",
372
+ z.REQUEST_KEY_IS_AD_SESSION="ad",z.REQUEST_CDN_SERVER_IP="csi",z.convertPlayerState=function(a){switch(a){case i.PlayerState.STOPPED:return z.eStopped;case i.PlayerState.PLAYING:return z.ePlaying;case i.PlayerState.BUFFERING:
373
+ return z.eBuffering;case i.PlayerState.PAUSED:return z.ePaused;case i.PlayerState.NOT_MONITORED:return z.eNotMonitored;default:return z.eUnknown}},z.eStopped=1,z.ePlaying=3,z.eBuffering=6,z.ePaused=12,
374
+ z.eNotMonitored=98,z.eUnknown=100,z.SessionFlags={GLOBAL:0,VIDEO:1,QUALITY_METRICS:2,BITRATE_METRICS:4},z.Capabilities={INSIGHTS:0};var A=(b.JSONInterface=function(){this.encode=function(a){},this.decode=function(a){};
375
+ },b.LibJSONInterface=function(){this.encode=function(a){var b=null;try{b=x.stringify(a)}catch(c){}return b},this.decode=function(a){var b=null;try{b=y(a)}catch(c){}return K.isObject(b)||(b=null),b}}),B=b.CwsHeartbeat=function(){
376
+ function a(){}this._data={},a.apply(this,arguments),this.get=function(){return this._data},this.setField=function(a,b){this._data[a]=b},this.setInnerField=function(a,b,c){this._data[a]||(this._data[a]={}),
377
+ this._data[a][b]=c},this.setMessageType=function(a){this.setField(z.REQUEST_KEY_MESSAGE_TYPE,a)},this.setSessionTime=function(a){this.setField(z.REQUEST_KEY_SESSION_TIME,a)},this.setSessionStartTime=function(a){
378
+ this.setField(z.REQUEST_KEY_SESSION_START_TIME,a)},this.setIsLive=function(a){this.setField(z.REQUEST_KEY_IS_LIVE,a)},this.setSequenceNumber=function(a){this.setField(z.REQUEST_KEY_SEQUENCE_NUMBER,a)},
379
+ this.setCustomerKey=function(a){this.setField(z.REQUEST_KEY_CUSTOMER_KEY,a)},this.setClientId=function(a){this.setField(z.REQUEST_KEY_CLIENT_ID,a)},this.setClientVersion=function(a){this.setField(z.REQUEST_KEY_CLIENT_VERSION,a);
380
+ },this.setProtocolVersion=function(a){this.setField(z.REQUEST_KEY_PROTOCOL_VERSION,a)},this.setCapfield=function(a){this.setField(z.REQUEST_KEY_PROTOCOL_CAPP,a)},this.setSessionId=function(a){this.setField(z.REQUEST_KEY_SESSION_ID,a);
381
+ },this.setInstanceId=function(a){this.setField(z.REQUEST_KEY_INSTANCE_ID,a)},this.setViewerId=function(a){this.setField(z.REQUEST_KEY_VIEWER_ID,a)},this.setAssetName=function(a){this.setField(z.REQUEST_KEY_ASSET_NAME,a);
382
+ },this.setPlayerName=function(a){this.setField(z.REQUEST_KEY_PLAYER_NAME,a)},this.setTags=function(a){this.setField(z.REQUEST_KEY_TAGS,a)},this.setSessionFlags=function(a){this.setField(z.REQUEST_KEY_SESSION_FLAGS,a);
383
+ },this.setCapabilities=function(a){this.setField(z.REQUEST_KEY_CAPABILITIES,a)},this.setEvents=function(a){this.setField(z.REQUEST_KEY_EVENTS,a)},this.setIsSdkClient=function(a){this.setField(z.REQUEST_KEY_IS_SDK_CLIENT,a);
384
+ },this.setLogs=function(a){this.setField(z.REQUEST_KEY_LOGS,a)},this.setHeartbeatInfos=function(a){this.setField(z.REQUEST_KEY_HEARTBEAT_INFOS,a)},this.setPlayerState=function(a){this.setField(z.REQUEST_KEY_PLAYER_STATE,a);
385
+ },this.setPauseJoin=function(a){this.setField(z.REQUEST_KEY_PAUSE_JOIN,a)},this.setContentLength=function(a){this.setField(z.REQUEST_KEY_CONTENT_LENGTH,a)},this.setBitrate=function(a){this.setField(z.REQUEST_KEY_BITRATE,a);
386
+ },this.setResource=function(a){this.setField(z.REQUEST_KEY_RESOURCE,a)},this.setEncodedFrameRate=function(a){this.setField(z.REQUEST_KEY_ENCODED_FRAME_RATE,a)},this.setAverageFrameRate=function(a){this.setField(z.REQUEST_KEY_AVERAGE_FRAME_RATE,a);
387
+ },this.setRfpsObservationCount=function(a){this.setField(z.REQUEST_KEY_RFPS_COUNT,a)},this.setRfpsTotal=function(a){this.setField(z.REQUEST_KEY_RFPS_TOTAL,a)},this.setPlatformMetadataSchema=function(a){
388
+ this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_SCHEMA,a)},this.setBrowserName=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_NAME,a);
389
+ },this.setBrowserVersion=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_BROWSER_VERSION,a)},this.setDeviceBrand=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_BRAND,a);
390
+ },this.setDeviceManufacturer=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MANUFACTURER,a)},this.setDeviceModel=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_MODEL,a);
391
+ },this.setDeviceType=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_TYPE,a)},this.setDeviceVersion=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_VERSION,a);
392
+ },this.setFrameworkName=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_NAME,a),this.setField(z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_NAME,a)},
393
+ this.setFrameworkVersion=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_VERSION,a),this.setField(z.REQUEST_PLATFORM_METADATA_KEY_FRAMEWORK_VERSION,a);
394
+ },this.setOperatingSystemName=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_NAME,a.toUpperCase())},this.setOperatingSystemVersion=function(a){
395
+ this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_OPERATING_SYSTEM_VERSION,a)},this.setDeviceCategory=function(a){this.setInnerField(z.REQUEST_KEY_PLATFORM_METADATA,z.REQUEST_PLATFORM_METADATA_KEY_DEVICE_CATEGORY,a);
396
+ },this.setPlayheadTime=function(a){this.setField(z.REQUEST_KEY_PLAYHEAD_TIME,a)},this.setBufferLength=function(a){this.setField(z.REQUEST_KEY_BUFFER_LENGTH,a)},this.setStreamUrl=function(a){this.setField(z.REQUEST_KEY_STREAM_URL,a);
397
+ },this.setStreamWidth=function(a){this.setField(z.REQUEST_KEY_VIDEO_WIDTH,a)},this.setStreamHeight=function(a){this.setField(z.REQUEST_KEY_VIDEO_HEIGHT,a)},this.setConnectionType=function(a){this.setField(z.REQUEST_KEY_CONNECTION_TYPE,a);
398
+ },this.setLinkEncryption=function(a){this.setField(z.REQUEST_KEY_LINK_ENCRYPTION,a)},this.setIsAdSession=function(){this.setField(z.REQUEST_KEY_IS_AD_SESSION,!0)},this.setSignalStrength=function(a){this.setField(z.REQUEST_KEY_SIGNAL_STRENGTH,a);
399
+ },this.setModuleName=function(a){this.setInnerField(z.REQUEST_PLATFORM_METADATA_KEY_CLIENT_CONFIGURATION,z.REQUEST_PLATFORM_METADATA_KEY_MODULE_NAME,a)},this.setModuleVersion=function(a){this.setInnerField(z.REQUEST_PLATFORM_METADATA_KEY_CLIENT_CONFIGURATION,z.REQUEST_PLATFORM_METADATA_KEY_MODULE_VERSION,a);
400
+ },this.setCDNServerIP=function(a){this.setField(z.REQUEST_CDN_SERVER_IP,a)},this.setCdnName=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_NAME,a)},this.setCdnType=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_TYPE,a);
401
+ },this.setCdnLabel=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_LABEL,a)},this.setCdnValue=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_VALUE,a)},this.setCdnHttpRespCode=function(a){null!=a&&this.setField(z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE,a);
402
+ }},C=b.CwsSession=function(b,c,d,e,g,h,j,k,l,m,n,o){function p(a,b,c,d,e,f,g,h,i,j,k,l){this._eventQueue=a,this._client=b,this._clientSettings=c,this._logger=d,this._logger.setModuleName("CwsSession"),
403
+ this._exceptionCatcher=e,this._timer=f,this._gatewayControl=g,this._cwsProtocol=h,this._time=i,this._logBuffer=j,this._clientConfig=k,this._contentMetadata=l,null!=this._contentMetadata&&(q._encodedFrameRate=this._contentMetadata.encodedFrameRate,
404
+ q._streamUrl=this._contentMetadata.streamUrl,q._contentLengthSec=this._contentMetadata.duration)}var q=this;q._heartbeatTimerCancel=null,q._contentMetadata=null,q._startTimeMs=0,q._heartbeatSequenceNumber=0,
405
+ q._sessionFlags=z.SessionFlags.GLOBAL,q._capabilities=z.Capabilities.INSIGHTS,q._heartbeatInfos=[],q._lastRequestSentMs=-1,q._bitrateKbps=-2,q._resource=null,q._playerState=i.PlayerState.UNKNOWN,q._encodedFrameRate=-1,
406
+ q._contentLengthSec=-1,q._streamUrl=null,q._width=-1,q._height=-1,q._playerStateManager=null,q._assetName=null,q._viewerId=null,q._playerName=null,q._isLive=null,q._tags={},q._browserName=null,q._browserVersion=null,
407
+ q._deviceBrand=null,q._deviceManufacturer=null,q._deviceModel=null,q._deviceType=null,q._deviceVersion=null,q._frameworkName=null,q._frameworkVersion=null,q._operatingSystemName=null,q._operatingSystemVersion=null,
408
+ q._deviceCategory=null,q._moduleName=null,q._moduleVersion=null,q._connectionType=null,q._linkEncryption=null,q._cdnServerIP=null,q._customMetric=null,q._pauseJoin=!1,q._hasJoined=!1,q._cleanedUp=!1,q._willEndSoon=!1,
409
+ q._rfpsTimerCancel=null,q._rfpsTimerInterval=1e3,q._playingFpsObservationCount=0,q._playingFpsTotal=0,q.whitelistedIdentifiers={},q._uniqueIdentifiers={},q._startConvivaIdCollection=!1,q._cdnName=null,
410
+ q._cdnType=null,q._cdnLabel=null,q._cdnValue=null,q._cdnHttpRespCode=null,q._cdnTimerCancel=null,q._cdnTimerInterval=12e4,q._cdnIpAutoDetectionEnabled=z.DEFAULT_CDN_SERVER_IP_AUTODETECT_ENABLED,q._customerSetCdnIp=!1,
411
+ p.apply(this,arguments),this.cleanup=function(){this._clientConfig=null,this._logBuffer=null,this._systemSettings=null,this._time=null,this._cwsProtocol=null,this._gatewayControl=null,this._timer=null,
412
+ this._exceptionCatcher=null,this._logger=null,this._clientSettings=null,this._client=null,this._eventQueue.flush(),this._eventQueue=null,this._customMetric=null,this._cleanedUp=!0},this.start=function(a){
413
+ this._session=a,this._global=this._session._global,this._logger.setSessionId(this._session._id),this._startTimeMs=this._time.current(),this.isVideoSession()||this.isAdSession()?(this._sessionFlags+=C.DEFAULT_VIDEO_SESSION_FLAGS,
414
+ q._logger.info("start(): assetName="+q._contentMetadata.assetName)):q._logger.info("start()"+q.sessionTypeTag())},this.willEndSoon=function(){this._willEndSoon=!0},this.initialize=function(){this._logger.debug("initialize()"),
415
+ (this.isVideoSession()||this.isAdSession())&&(q.setStatesFromContentMetadata(),q.enqueueEventForContentMetadata(),q.validateContentMetadata())},this.end=function(){(this.isVideoSession()||this.isAdSession())&&(this._logger.debug("end(): schedule the last hb before session cleanup"+q.sessionTypeTag()),
416
+ this.enqueueSessionEndEvent()),this.cancelCdnTimer(),this.cancelHeartbeatTimer(),this.sendHeartbeat()},this.startSendingHeartbeats=function(){this._willEndSoon||(this.sendHeartbeat(),this.resetHeartbeatTimer());
417
+ },this.setBrowserName=function(a){var b=q._browserName;b!==a&&null!=a&&(q._logger.debug("Change browserName from "+b+" to "+a),q._browserName=a)},this.setBrowserVersion=function(a){var b=q._browserVersion;
418
+ b!==a&&null!=a&&(q._logger.debug("Change browserVersion from "+b+" to "+a),q._browserVersion=a)},this.setDeviceBrand=function(a){var b=q._deviceBrand;b!==a&&null!=a&&(q._logger.debug("Change deviceBrand from "+b+" to "+a),
419
+ q._deviceBrand=a)},this.setDeviceManufacturer=function(a){var b=q._deviceManufacturer;b!==a&&null!=a&&(q._logger.debug("Change deviceManufacturer from "+b+" to "+a),q._deviceManufacturer=a)},this.setDeviceModel=function(a){
420
+ var b=q._deviceModel;b!==a&&null!=a&&(q._logger.debug("Change deviceModel from "+b+" to "+a),q._deviceModel=a)},this.setDeviceType=function(a){var b=q._deviceType;b!==a&&null!=a&&(q._logger.debug("Change deviceType from "+b+" to "+a),
421
+ q._deviceType=a)},this.setDeviceVersion=function(a){var b=q._deviceVersion;b!==a&&null!=a&&(q._logger.debug("Change deviceVersion from "+b+" to "+a),q._deviceVersion=a)},this.setOperatingSystemName=function(a){
422
+ var b=q._operatingSystemName;b!==a&&null!=a&&(q._logger.debug("Change operatingSystemName from "+b+" to "+a),q._operatingSystemName=a)},this.setOperatingSystemVersion=function(a){var b=q._operatingSystemVersion;
423
+ b!==a&&null!=a&&(q._logger.debug("Change operatingSystemVersion from "+b+" to "+a),q._operatingSystemVersion=a)},this.setDeviceCategory=function(a){var b=q._deviceCategory;b!==a&&null!=a&&(q._logger.debug("Change operatingSystemVersion from "+b+" to "+a),
424
+ q._deviceCategory=a)},this.getFrameworkName=function(){return q._frameworkName},this.setFrameworkName=function(a){var b=q._frameworkName;b!==a&&null!=a&&(q._logger.debug("Change frameworkName from "+b+" to "+a),
425
+ q._frameworkName=a)},this.getFrameworkVersion=function(){return q._frameworkVersion},this.setFrameworkVersion=function(a){var b=q._frameworkVersion;b!==a&&null!=a&&(q._logger.debug("Change frameworkVersion from "+b+" to "+a),
426
+ q._frameworkVersion=a)},this.setStreamUrl=function(a){if(null==q._contentMetadata.streamUrl){var b=q._streamUrl;b!==a&&null!=a&&(q._logger.debug("Change stream url from "+b+" to "+a),q._streamUrl=a)}},
427
+ this.startCdnTimer=function(){q.cancelCdnTimer(),q._customerSetCdnIp||(q.detectCDNServerIp(),q._cdnTimerCancel=q._timer.create(q.detectCDNServerIp,q._cdnTimerInterval,"CwsSession.startCdnTimer"),q._logger.debug("fetching cdn ip timer started"));
428
+ },this.cancelCdnTimer=function(){null!=q._cdnTimerCancel&&(q._cdnTimerCancel(),q.enqueueAutoCdnChangeEvent(null,null,null,null,null),q._cdnTimerCancel=null)},this.detectCDNServerIp=function(){q._logger.debug("detectCDNServerIp(): For "+q._streamUrl),
429
+ q._cdnIpAutoDetectionEnabled?q.makeAkamaiHeadRequest():q.cancelCdnTimer()},this.makeAkamaiHeadRequest=function(){try{if("function"==typeof XMLHttpRequest){var a=new XMLHttpRequest;a.open("HEAD",q._streamUrl,!0),
430
+ a.setRequestHeader("Pragma","akamai-x-cache-on"),a.onreadystatechange=function(){4===a.readyState&&(200===a.status&&null!=a.getResponseHeader("X-Cache")?q.enqueueAutoCdnChangeEvent("Akamai","header","X-Cache",""+a.getResponseHeader("X-Cache"),""+a.status):q.enqueueAutoCdnChangeEvent("null","header","null","null",""+a.status));
431
+ },a.send()}else q._logger.info("xmlhttpreq is not available here to fetch CDN Server Ip")}catch(b){q._logger.info("Exception caught in makeAkamaiHeadRequest")}},this.enqueueAutoCdnChangeEvent=function(a,b,c,d,e){
432
+ var f={},g={};q._cdnName!=a&&(null!==q._cdnName&&(g[z.REQUEST_KEY_CDN_NAME]=q._cdnName),q._cdnName=a,null===q._cdnName?f[z.REQUEST_KEY_CDN_NAME]="null":f[z.REQUEST_KEY_CDN_NAME]=q._cdnName),q._cdnType!=b&&(null!==q._cdnType&&(g[z.REQUEST_KEY_CDN_TYPE]=q._cdnType),
433
+ q._cdnType=b,null===q._cdnType?f[z.REQUEST_KEY_CDN_TYPE]="null":f[z.REQUEST_KEY_CDN_TYPE]=q._cdnType),q._cdnLabel!=c&&(null!==q._cdnLabel&&(g[z.REQUEST_KEY_CDN_LABEL]=q._cdnLabel),q._cdnLabel=c,null===q._cdnLabel?f[z.REQUEST_KEY_CDN_LABEL]="null":f[z.REQUEST_KEY_CDN_LABEL]=q._cdnLabel),
434
+ q._cdnValue!=d&&(null!==q._cdnValue&&(g[z.REQUEST_KEY_CDN_VALUE]=q._cdnValue),q._cdnValue=d,null===q._cdnValue?f[z.REQUEST_KEY_CDN_VALUE]="null":f[z.REQUEST_KEY_CDN_VALUE]=q._cdnValue),q._cdnHttpRespCode!=e&&(null!==q._cdnHttpRespCode&&(g[z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE]=q._cdnHttpRespCode),
435
+ q._cdnHttpRespCode=e,null===q._cdnHttpRespCode?f[z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE]="null":f[z.REQUEST_KEY_CDN_HTTP_RESPONSE_CODE]=q._cdnHttpRespCode),"{}"!=K.ObjectToString(f)&&q.declareStateChange(f,g);
436
+ },this.setBitrateKbps=function(a){var b=q._bitrateKbps;b!==a&&a>0&&(q._logger.info("Change bitrate from "+b+" to "+a),q.enqueueBitrateChangeEvent(b,a),q._bitrateKbps=a)},this.setResource=function(a){var b=q._resource;
437
+ b!==a&&null!=a&&(q._logger.info("Change resource from "+b+" to "+a),q._resource=a)},this.setAssetName=function(a){q._assetName!==a&&null!=a&&(q._logger.info("Change assetName from "+q._assetName+" to "+a),
438
+ q._assetName=a)},this.setIsLive=function(a){var b=q._isLive;b!==a&&null!=a&&(q._logger.info("Change isLive from "+b+" to "+a),q._isLive=a)},this.setViewerId=function(a){var b=q._viewerId;b!==a&&null!=a&&(q._logger.info("Change viewerId from "+b+" to "+a),
439
+ q._viewerId=a)},this.setPlayerName=function(a){var b=q._playerName;b!==a&&null!=a&&(q._logger.info("Change playerName from "+b+" to "+a),q._playerName=a)},this.setTags=function(a){var b=q._tags;K.ObjectShallowEquals(b,a)||null==a||(q._logger.info("Change tags from "+K.ObjectToString(b)+" to "+K.ObjectToString(a)),
440
+ q._tags=a)},this.setEncodedFrameRate=function(a){q._contentMetadata.encodedFrameRate>0||(q._logger.debug("setEncodedFrameRate(): "+a),q._encodedFrameRate=a)},this.setContentLength=function(a){q._contentMetadata.duration>0||(q._logger.debug("setContentLength(): "+a),
441
+ q._contentLengthSec=a)},this.setPlayerState=function(a){if(q._hasJoined||a!=i.PlayerState.PLAYING||(q.togglePauseJoin(!1),q._hasJoined=!0,K.isValidString(q._contentMetadata.viewerId)||q._logger.error("Missing viewerId. viewerId should be updated before first frame is rendered."),
442
+ K.isValidString(q._contentMetadata.streamType)&&f.StreamType.UNKNOWN!==q._contentMetadata.streamType||q._logger.error("Missing streamType - Live or VOD. streamType should be updated before first frame is rendered."),
443
+ K.isValidString(q._contentMetadata.applicationName)||q._logger.error("Missing applicationName. applicationName should be updated before first frame is rendered.")),q._playerState!==a){var b=q._playerState;
444
+ q._logger.info("setPlayerState(): changing player state from "+b+" to "+a),q.enqueuePlayerStateChangeEvent(b,a),q._playerState=a}},this.setStreamResolutionWidth=function(a){var b=q._width;b!==a&&a>0&&(q._logger.debug("Change stream resolution width from "+b+" to "+a),
445
+ q.enqueueResolutionWidthChangeEvent(b,a),q._width=a)},this.setStreamResolutionHeight=function(a){var b=q._height;b!==a&&a>0&&(q._logger.debug("Change stream resolution height from "+b+" to "+a),q.enqueueResolutionHeightChangeEvent(b,a),
446
+ q._height=a)},this.setConnectionType=function(a){var b=q._connectionType;b!==a&&null!=a&&(q._logger.debug("Change network connection type from "+b+" to "+a),q.enqueueConnectionTypeChangeEvent(b,a),q._connectionType=a);
447
+ },this.setLinkEncryption=function(a){var b=q._linkEncryption;b!==a&&null!=a&&(q._logger.debug("Change network link encryption from "+b+" to "+a),q.enqueueLinkEncryptionChangeEvent(b,a),q._linkEncryption=a);
448
+ },this.setCDNServerIP=function(a){q._customerSetCdnIp=!0,q.cancelCdnTimer();var b=q._cdnServerIP;b!==a&&K.isValidString(a)&&(q._logger.debug("Change CDN Server IP from "+b+" to "+a),q.enqueueCDNServerIPChangeEvent(b,a),
449
+ q._cdnServerIP=a)},this.togglePauseJoin=function(a){if(q._logger.debug("togglePauseJoin()"),q._pauseJoin===a)return void q._logger.debug("togglePauseJoin(): same value, ignoring");var b=q._pauseJoin,c=!q._pauseJoin;
450
+ q.enqueuePauseJoinChangeEvent(b,c),q._pauseJoin=!q._pauseJoin},this.sendError=function(a,b){q.enqueueErrorEvent(a,b)},this.enqueueEvent=function(a,b){if(b[z.REQUEST_EVENT_KEY_TYPE]=a,b[z.REQUEST_EVENT_KEY_SESSION_TIME]=this.getSessionTime(),
451
+ b[z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER]=this._eventQueue.getNumber(),this._playerStateManager){var c=O.Integer(this._playerStateManager.getPHT(),0,null,-1),d=O.Integer(this._playerStateManager.getBufferLength(),0,null,-1);
452
+ c>=0&&(b[z.REQUEST_KEY_PLAYHEAD_TIME]=c),d>0&&(b[z.REQUEST_KEY_BUFFER_LENGTH]=d)}this._eventQueue.enqueue(b)},this.setPlayerStateManager=function(a){q._playerStateManager=a,null!=q._playerStateManager?q.startRfpsTimer():q.cancelRfpsTimer();
453
+ },this.enqueueSessionEndEvent=function(){var a=this.getSessionTime(),b=this.getNextEventNumber(),c=this._cwsProtocol.generateSessionEndEvent(b,a);this._eventQueue.enqueue(c)},this.enqueueErrorEvent=function(a,b){
454
+ var c={};c[z.REQUEST_ERROR_EVENT_KEY_MESSAGE]=a,c[z.REQUEST_ERROR_EVENT_KEY_FATAL]=b,this.enqueueEvent(z.EVENT_TYPE_ERROR,c)},this.enqueueBitrateChangeEvent=function(a,b){var c={},d={};a>0&&(d[z.REQUEST_KEY_BITRATE]=a),
455
+ c[z.REQUEST_KEY_BITRATE]=b,this.declareStateChange(c,d)},this.enqueueSeekEvent=function(a,b){var c={};c[z.REQUEST_EVENT_KEY_SEEK_ACT_TYPE]=a,b>=0&&(c[z.REQUEST_EVENT_KEY_SEEK_TO_POS]=b),this.enqueueEvent(z.EVENT_TYPE_SEEK,c);
456
+ },this.enqueueResolutionWidthChangeEvent=function(a,b){var c={},d={};-1!==a&&(d[z.REQUEST_KEY_VIDEO_WIDTH]=a),c[z.REQUEST_KEY_VIDEO_WIDTH]=b,this.declareStateChange(c,d)},this.enqueueResolutionHeightChangeEvent=function(a,b){
457
+ var c={},d={};-1!==a&&(d[z.REQUEST_KEY_VIDEO_HEIGHT]=a),c[z.REQUEST_KEY_VIDEO_HEIGHT]=b,this.declareStateChange(c,d)},this.enqueueConnectionTypeChangeEvent=function(a,b){var c={},d={};null!==a&&(d[z.REQUEST_KEY_CONNECTION_TYPE]=a),
458
+ c[z.REQUEST_KEY_CONNECTION_TYPE]=b,this.declareStateChange(c,d)},this.enqueueLinkEncryptionChangeEvent=function(a,b){var c={},d={};null!==a&&(d[z.REQUEST_KEY_LINK_ENCRYPTION]=a),c[z.REQUEST_KEY_LINK_ENCRYPTION]=b,
459
+ this.declareStateChange(c,d)},this.enqueueCDNServerIPChangeEvent=function(a,b){var c={},d={};K.isValidString(a)&&(d[z.REQUEST_CDN_SERVER_IP]=a),c[z.REQUEST_CDN_SERVER_IP]=b,this.declareStateChange(c,d);
460
+ },this.enqueuePauseJoinChangeEvent=function(a,b){var c={},d={};d[z.REQUEST_KEY_PAUSE_JOIN]=a,c[z.REQUEST_KEY_PAUSE_JOIN]=b,this.declareStateChange(c,d)},this.enqueuePlayerStateChangeEvent=function(a,b){
461
+ var c={},d={};c[z.REQUEST_KEY_PLAYER_STATE]=z.convertPlayerState(b),d[z.REQUEST_KEY_PLAYER_STATE]=z.convertPlayerState(a),this.declareStateChange(c,d)},this.declareStateChange=function(a,b){var c={};c[z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW]=a,
462
+ null!=b&&K.dictCount(b)>0&&(c[z.REQUEST_STATE_CHANGE_EVENT_KEY_OLD]=b),this.enqueueEvent(z.EVENT_TYPE_STATE_CHANGE,c)},this.enqueueCustomEvent=function(a,b){var c={};c[z.REQUEST_CUSTOM_EVENT_KEY_NAME]=a,
463
+ K.dictCount(b)>0&&(c[z.REQUEST_CUSTOM_EVENT_KEY_ATTRIBUTES]=b),this.enqueueEvent(z.EVENT_TYPE_CUSTOM,c)},this.cancelHeartbeatTimer=function(){null!=q._heartbeatTimerCancel&&(q._heartbeatTimerCancel(),q._heartbeatTimerCancel=null);
464
+ },this.resetHeartbeatTimer=function(){q.cancelHeartbeatTimer();var a=1e3*q._clientSettings.heartbeatInterval;q._heartbeatTimerCancel=q._timer.create(q.sendHeartbeat,a,"Session.sendHeartbeat")},this.cancelRfpsTimer=function(){
465
+ null!=q._rfpsTimerCancel&&(q._rfpsTimerCancel(),q._rfpsTimerCancel=null)},this.startRfpsTimer=function(){q.cancelRfpsTimer(),q._rfpsTimerCancel=q._timer.create(q.countRfps,q._rfpsTimerInterval,"Session.startRfpsTimer");
466
+ },this.createHeartbeatInfo=function(){var a={};a.err="pending",a.seq=q._heartbeatSequenceNumber-1,a.sentAt=q.getSessionTime(),a.rtt=-1,q._heartbeatInfos.push(a);for(var b=0;b<q._heartbeatInfos.length;b++)a=q._heartbeatInfos[b],
467
+ "ok"===a.err&&(q._heartbeatInfos.splice(b,1),b--)},this.updateHeartbeatInfoOnFailure=function(a,b){for(var c=0;c<q._heartbeatInfos.length;c++){var d=q._heartbeatInfos[c],e=d.seq;e===a&&(d.rtt=q.getSessionTime()-d.sentAt,
468
+ d.err=b)}},this.updateHeartbeatInfoOnSuccess=function(a){for(var b=0;b<q._heartbeatInfos.length;b++){var c=q._heartbeatInfos[b],d=c.seq;d===a&&(c.rtt=q.getSessionTime()-c.sentAt,c.err="ok")}},this.removeOutdatedHeartbeatInfos=function(){
469
+ for(var a,b,c=q._clientConfig.get(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS),d=[],e=-1,f=0;f<q._heartbeatInfos.length;f++)if(b=q._heartbeatInfos[f],"ok"==b.err){e=b.seq;break}for(var g=0;g<q._heartbeatInfos.length;g++)b=q._heartbeatInfos[g],
470
+ a=b.seq,(a<q._heartbeatSequenceNumber-c||e>a)&&d.push(g);for(var h=[],i=0;i<q._heartbeatInfos.length;i++)b=q._heartbeatInfos[i],a=b.seq,d.indexOf(i)<0&&h.push(q._heartbeatInfos[i]);q._heartbeatInfos=h},
471
+ this.compileHeartbeatInfos=function(){q.removeOutdatedHeartbeatInfos();for(var a=[],b=0;b<q._heartbeatInfos.length;b++){var c=q._heartbeatInfos[b],d={};d[z.REQUEST_HEARTBEAT_INFO_KEY_SEQUENCE_NUMBER]=c.seq,
472
+ d[z.REQUEST_HEARTBEAT_INFO_KEY_ROUNDTRIP_TIME]=c.rtt,d[z.REQUEST_HEARTBEAT_INFO_KEY_STATUS]=c.err,a.push(d)}return a},this.makeHeartbeat=function(){var a=q._eventQueue.flush();if(q.isGlobalSession()&&0===a.length)return null;
473
+ var b=new B;if(b.setMessageType(z.MESSAGE_TYPE_SESSION_HEARTBEAT),b.setCustomerKey(q._clientSettings.customerKey),b.setClientId(q._clientConfig.get(G.CONFIG_KEY_CLIENT_ID)),b.setSessionId(q._session._id),
474
+ b.setSequenceNumber(q._heartbeatSequenceNumber),b.setProtocolVersion(z.version),b.setClientVersion(q._client.version),b.setInstanceId(q._client.getId()),b.setCapfield(0),null!=q._connectionType&&b.setConnectionType(q._connectionType),
475
+ null!=q._linkEncryption&&b.setLinkEncryption(q._linkEncryption),K.isValidString(q._cdnServerIP)&&b.setCDNServerIP(q._cdnServerIP),b.setPlatformMetadataSchema(z.SDK_METADATA_SCHEMA),null!=q._browserName&&b.setBrowserName(q._browserName),
476
+ null!=q._browserVersion&&b.setBrowserVersion(q._browserVersion),null!=q._deviceBrand&&b.setDeviceBrand(q._deviceBrand),null!=q._deviceManufacturer&&b.setDeviceManufacturer(q._deviceManufacturer),null!=q._deviceModel&&b.setDeviceModel(q._deviceModel),
477
+ null!=q._deviceType&&b.setDeviceType(q._deviceType),null!=q._deviceVersion&&b.setDeviceVersion(q._deviceVersion),null!=q._operatingSystemName&&b.setOperatingSystemName(q._operatingSystemName),null!=q._operatingSystemVersion&&b.setOperatingSystemVersion(q._operatingSystemVersion),
478
+ null!=q._deviceCategory&&b.setDeviceCategory(q._deviceCategory),null!=q._frameworkName&&b.setFrameworkName(q._frameworkName),null!=q._frameworkVersion&&b.setFrameworkVersion(q._frameworkVersion),null!=q._playerStateManager&&(q._moduleName=q._playerStateManager.getModuleName(),
479
+ null!=q._moduleName&&b.setModuleName(q._moduleName),q._moduleVersion=q._playerStateManager.getModuleVersion(),null!=q._moduleVersion&&b.setModuleVersion(q._moduleVersion),null!=q._playerStateManager.getPlayerType()&&(q._frameworkName=q._playerStateManager.getPlayerType(),
480
+ b.setFrameworkName(q._frameworkName)),null!=q._playerStateManager.getPlayerVersion()&&(q._frameworkVersion=q._playerStateManager.getPlayerVersion(),b.setFrameworkVersion(q._frameworkVersion))),null!=q._viewerId&&b.setViewerId(q._viewerId),
481
+ K.dictCount(q._tags)>0&&b.setTags(q._tags),q.isVideoSession()||q.isAdSession()){q.isAdSession()&&b.setIsAdSession(),null!=q._assetName&&b.setAssetName(q._assetName),b.setSessionFlags(q._sessionFlags);var c=z.convertPlayerState(q._playerState);
482
+ b.setPlayerState(c),b.setPauseJoin(q._pauseJoin),null!=q._playerName&&b.setPlayerName(q._playerName),null!=q._isLive&&b.setIsLive(q._isLive),q._contentLengthSec>0&&b.setContentLength(q._contentLengthSec),
483
+ q._bitrateKbps>0&&b.setBitrate(q._bitrateKbps),null!==q._resource&&b.setResource(q._resource),q._encodedFrameRate>0&&b.setEncodedFrameRate(q._encodedFrameRate);var d,e=-1,f=-1;null!=q._playerStateManager&&(e=O.Integer(q._playerStateManager.getPHT(),0,null,-1),
484
+ f=O.Integer(q._playerStateManager.getBufferLength(),0,null,-1),d=q._playerStateManager.getSignalStrength()),e>=0&&b.setPlayheadTime(e),f>0&&b.setBufferLength(f);var g=q.updateAverageFrameRate();if(g>0&&b.setAverageFrameRate(g),
485
+ q._playingFpsTotal>0&&b.setRfpsTotal(O.Integer(q._playingFpsTotal,0,null,-1)),q._playingFpsObservationCount>0&&b.setRfpsObservationCount(O.Integer(q._playingFpsObservationCount,0,null,-1)),d!==i.DEFAULT_SIGNAL_STRENGTH&&b.setSignalStrength(d),
486
+ null!=q._streamUrl&&b.setStreamUrl(q._streamUrl),q._width>0&&b.setStreamWidth(q._width),q._height>0&&b.setStreamHeight(q._height),null!=q._customMetric)for(var h in q._customMetric)b.setField(h,q._customMetric[h]);
487
+ }else b.setSessionFlags(z.SessionFlags.GLOBAL);if(a.length>0&&b.setEvents(a),b.setCapabilities(q._capabilities),b.setIsSdkClient(!0),q._clientConfig.get(G.CONFIG_KEY_SEND_LOGS)&&b.setLogs(q._logBuffer.flush()),
488
+ q._clientConfig.get(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS)>0){var j=q.compileHeartbeatInfos();j.length>0&&b.setHeartbeatInfos(j)}return 0==q._heartbeatSequenceNumber&&(b=q.cloneHearbeatWithBrowserTags(b)),0!=q._heartbeatSequenceNumber&&(b=q.cloneHeartbeatWithConvivaIdTags(b)),
489
+ b.setSessionStartTime(q._startTimeMs),b.setSessionTime(q.getSessionTime()),q._cdnIpAutoDetectionEnabled&&(b.setCdnName(q._cdnName),b.setCdnType(q._cdnType),b.setCdnLabel(q._cdnLabel),b.setCdnValue(q._cdnValue),
490
+ b.setCdnHttpRespCode(q._cdnHttpRespCode)),q._heartbeatSequenceNumber++,b.get()},this.cloneHeartbeatWithConvivaIdTags=function(a){var b=q._uniqueIdentifiers,c={};for(var d in a._data.tags)b.hasOwnProperty(d)||(c[d]=a._data.tags[d]);
491
+ a._data.tags=c,q._uniqueIdentifiers={};for(var e=0;e<q.whitelistedIdentifiers.length;e++)q._client._uniqueIdentifiers.hasOwnProperty(q.whitelistedIdentifiers[e])?q._client._userPrefForData.hasOwnProperty(q.whitelistedIdentifiers[e])?q._client._userPrefForData[q.whitelistedIdentifiers[e]]==G.ConvivaIdErrorCodes.CONVIVAID_USER_OPTOUT?(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPTOUT,
492
+ q._client._uniqueIdentifierCallback("End-user chose to opt-out of personal data collection")):q._client._userPrefForData[q.whitelistedIdentifiers[e]]==G.ConvivaIdErrorCodes.CONVIVAID_USER_OPT_DELETE?(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_USER_OPT_DELETE,
493
+ q._client._uniqueIdentifierCallback("End-user chose to opt-out of personal data collection")):q._client._userPrefForData[q.whitelistedIdentifiers[e]]==G.ConvivaIdErrorCodes.CONVIVAID_PRIVACY_RESTRICTION?(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_PRIVACY_RESTRICTION,
494
+ q._client._uniqueIdentifierCallback("End-user used privacy settings and chose to opt-out of personal data collection")):(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=q._client._uniqueIdentifiers[q.whitelistedIdentifiers[e]],
495
+ q._client._uniqueIdentifierCallback("Data collection successful")):(q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=q._client._uniqueIdentifiers[q.whitelistedIdentifiers[e]],
496
+ q._client._uniqueIdentifierCallback("Data collection successful")):q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+q.whitelistedIdentifiers[e]]=G.ConvivaIdErrorCodes.CONVIVAID_NA;var f={};for(var g in b){
497
+ var h=g.split(".");"{}"!=JSON.stringify(q.whitelistedIdentifiers)&&-1!=q.whitelistedIdentifiers.indexOf(""+h[2])||b[G.CONVIVAID_FP_PREFIX+""+h[2]]==G.ConvivaIdErrorCodes.CONVIVAID_SERVER_RESTRICTION||(q._client._uniqueIdentifierCallback("Data collection restricted from Conviva back-end"),
498
+ q._uniqueIdentifiers[G.CONVIVAID_FP_PREFIX+""+h[2]]=G.ConvivaIdErrorCodes.CONVIVAID_SERVER_RESTRICTION,f[G.CONVIVAID_FP_PREFIX+""+h[2]]=G.ConvivaIdErrorCodes.CONVIVAID_SERVER_RESTRICTION)}if("{}"!==JSON.stringify(q._uniqueIdentifiers)){
499
+ var i=K.ObjectShallowCopy(q._uniqueIdentifiers);for(var j in a._data.tags)i[j]=a._data.tags[j];if(a._data.tags=i,!K.ObjectShallowEquals(b,q._uniqueIdentifiers)){var k=null,l={};if("{}"!==JSON.stringify(f)&&(l[z.REQUEST_KEY_TAGS]=f),
500
+ "{}"!==JSON.stringify(b)){k={};for(var m in b)void 0!==q._uniqueIdentifiers[m]&&b[m]!==q._uniqueIdentifiers[m]&&(void 0==l[z.REQUEST_KEY_TAGS]&&(l[z.REQUEST_KEY_TAGS]={}),l[z.REQUEST_KEY_TAGS][m]=q._uniqueIdentifiers[m]);
501
+ for(m in q._uniqueIdentifiers)b.hasOwnProperty(m)&&b[m]===q._uniqueIdentifiers[m]||(void 0==l[z.REQUEST_KEY_TAGS]&&(l[z.REQUEST_KEY_TAGS]={}),l[z.REQUEST_KEY_TAGS][m]=q._uniqueIdentifiers[m])}"{}"==JSON.stringify(b)&&(l[z.REQUEST_KEY_TAGS]=q._uniqueIdentifiers);
502
+ var n={};if(n[z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW]=l,n[z.REQUEST_EVENT_KEY_TYPE]=z.EVENT_TYPE_STATE_CHANGE,n[z.REQUEST_EVENT_KEY_SESSION_TIME]=q.getSessionTime(),n[z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER]=q._eventQueue.getNumber(),
503
+ q._playerStateManager){var o=O.Integer(q._playerStateManager.getPHT(),0,null,-1),p=O.Integer(q._playerStateManager.getBufferLength(),0,null,-1);o>=0&&(n[z.REQUEST_KEY_PLAYHEAD_TIME]=o),p>0&&(n[z.REQUEST_KEY_BUFFER_LENGTH]=p);
504
+ }void 0==a._data.evs&&(a._data.evs=[]),a._data.evs.push(n)}}return a},this.cloneHearbeatWithBrowserTags=function(a){var b=q.getBrowserMetadata();if("{}"!==JSON.stringify(b)){var c=K.ObjectShallowCopy(b);
505
+ for(var d in a._data.tags)c[d]=a._data.tags[d];a._data.tags=c;var e={};e[z.REQUEST_KEY_TAGS]=b;var f={};if(f[z.REQUEST_STATE_CHANGE_EVENT_KEY_NEW]=e,f[z.REQUEST_EVENT_KEY_TYPE]=z.EVENT_TYPE_STATE_CHANGE,
506
+ f[z.REQUEST_EVENT_KEY_SESSION_TIME]=q.getSessionTime(),f[z.REQUEST_EVENT_KEY_SEQUENCE_NUMBER]=q._eventQueue.getNumber(),q._playerStateManager){var g=O.Integer(q._playerStateManager.getPHT(),0,null,-1),h=O.Integer(q._playerStateManager.getBufferLength(),0,null,-1);
507
+ g>=0&&(f[z.REQUEST_KEY_PLAYHEAD_TIME]=g),h>0&&(f[z.REQUEST_KEY_BUFFER_LENGTH]=h)}return void 0==a._data.evs&&(a._data.evs=[]),a._data.evs.push(f),a}return a},this.getBrowserMetadata=function(){var a={};
508
+ if("undefined"!=typeof navigator&&null!=navigator){if(a["c3.fp.cookie"]=null!=navigator.cookieEnabled&&void 0!=navigator.cookieEnabled?""+navigator.cookieEnabled:"",a["c3.fp.memory"]=null!=navigator.deviceMemory&&void 0!=navigator.deviceMemory?""+navigator.deviceMemory:"",
509
+ a["c3.fp.hwConc"]=null!=navigator.hardwareConcurrency&&void 0!=navigator.hardwareConcurrency?""+navigator.hardwareConcurrency:"",a["c3.fp.java"]=""+("function"!=typeof navigator.javaEnabled)?"false":navigator.javaEnabled(),
510
+ a["c3.fp.lang"]=null!=navigator.language&&void 0!=navigator.language?""+navigator.language:"",a["c3.fp.langs"]=null!=navigator.languages&&void 0!=navigator.languages&&navigator.languages.length>0?""+navigator.languages.toString():"",
511
+ a["c3.fp.maxTp"]=null!=navigator.maxTouchPoints&&void 0!=navigator.maxTouchPoints?""+navigator.maxTouchPoints:"",a["c3.fp.plugins"]="",null!=navigator.plugins&&navigator.plugins.length>0)for(var b=0;b<navigator.plugins.length;b++)a["c3.fp.plugins"]+=navigator.plugins[b].name+",";
512
+ if(a["c3.fp.mime"]="",null!=navigator.mimeTypes&&navigator.mimeTypes.length>0)for(var c=0;c<navigator.mimeTypes.length;c++)a["c3.fp.mime"]+=navigator.mimeTypes[c].type+",";a["c3.fp.sysLang"]=null!=navigator.systemLanguage&&void 0!=navigator.systemLanguage?""+navigator.systemLanguage:"",
513
+ a["c3.fp.platform"]=null!=navigator.platform&&void 0!=navigator.platform?""+navigator.platform:"",a["c3.fp.product"]=null!=navigator.product&&void 0!=navigator.product?""+navigator.product:"",a["c3.fp.productSub"]=null!=navigator.productSub&&void 0!=navigator.productSub?""+navigator.productSub:"",
514
+ a["c3.fp.vendor"]=null!=navigator.vendor&&void 0!=navigator.vendor?""+navigator.vendor:"",a["c3.fp.vendorSub"]=null!=navigator.vendorSub&&void 0!=navigator.vendorSub?""+navigator.vendorSub:"";var d=q.getHashedCanvasFingerprint();
515
+ ""!=d&&(a["c3.fp.canvFp"]=d)}return"undefined"!=typeof window&&null!=window&&(null!=window.screen&&(a["c3.fp.availHeight"]=null!=window.screen.availHeight&&void 0!=window.screen.availHeight?""+window.screen.availHeight:"",
516
+ a["c3.fp.availWidth"]=null!=window.screen.availWidth&&void 0!=window.screen.availWidth?""+window.screen.availWidth:"",a["c3.fp.height"]=null!=window.screen.height&&void 0!=window.screen.height?""+window.screen.height:"",
517
+ a["c3.fp.width"]=null!=window.screen.width&&void 0!=window.screen.width?""+window.screen.width:"",a["c3.fp.colorDepth"]=null!=window.screen.colorDepth&&void 0!=window.screen.colorDepth?""+window.screen.colorDepth:"",
518
+ a["c3.fp.deviceXDPI"]=null!=window.screen.deviceXDPI&&void 0!=window.screen.deviceXDPI?""+window.screen.deviceXDPI:"",a["c3.fp.deviceYDPI"]=null!=window.screen.deviceYDPI&&void 0!=window.screen.deviceYDPI?""+window.screen.deviceYDPI:""),
519
+ a["c3.fp.dpi"]=null!=window.devicePixelRatio&&void 0!=window.devicePixelRatio?""+window.devicePixelRatio:"",a["c3.fp.secure"]=null!=window.isSecureContext&&void 0!=window.isSecureContext?""+window.isSecureContext:""),
520
+ a},this.getHashedCanvasFingerprint=function(){if("undefined"!=typeof document&&null!=document){var a=document.createElement("CANVAS"),b=a.getContext("2d"),c="conviva";return b.textBaseline="top",b.font="14px 'Arial'",
521
+ b.textBaseline="alphabetic",b.fillStyle="#f40",b.fillRect(null!=navigator.plugins&&void 0!=navigator.plugins?navigator.plugins.length:0,null!=navigator.mimeTypes&&void 0!=navigator.mimeTypes?navigator.mimeTypes.length:0,null!=navigator.product&&void 0!=navigator.product?navigator.product.length:0,null!=navigator.vendor&&void 0!=navigator.vendor?navigator.vendor.length:0),
522
+ b.fillStyle="#069",b.fillText(c,null!=navigator.maxTouchPoints&&void 0!=navigator.maxTouchPoints?navigator.maxTouchPoints:0,null!=navigator.product&&void 0!=navigator.product?navigator.product.length:0),
523
+ b.fillStyle="rgba(102, 204, 0, 0.7)",b.fillText(c,null!=navigator.deviceMemory&&void 0!=navigator.deviceMemory?navigator.deviceMemory:0,null!=navigator.hardwareConcurrency&&void 0!=navigator.hardwareConcurrency?navigator.hardwareConcurrency:0),
524
+ K.sha256(a.toDataURL())}return""},this.sendHeartbeat=function(){if(!q._cleanedUp){var a=q.makeHeartbeat();null!=a&&q.postHeartbeat(a)}},this.countRfps=function(){if(q._playerState===i.PlayerState.PLAYING&&null!=q._playerStateManager){
525
+ var a=q._playerStateManager.getRenderedFrameRate();a>0&&(q._playingFpsTotal+=a,q._playingFpsObservationCount++)}},this.updateAverageFrameRate=function(){return q._playingFpsTotal>0&&q._playingFpsObservationCount>0?K.Int32.Cast(1*q._playingFpsTotal/q._playingFpsObservationCount):(this.countRfps(),
526
+ q._playingFpsTotal>0&&q._playingFpsObservationCount>0?K.Int32.Cast(1*q._playingFpsTotal/q._playingFpsObservationCount):i.DEFAULT_RENDERED_FRAME_RATE)},this.postHeartbeat=function(a){q.createHeartbeatInfo();
527
+ var b=q._heartbeatSequenceNumber-1;q._logger.info("postHeartbeat(): Send HB["+b+"]"+q.sessionTypeTag());var c=function(a,c){q.onHeartbeatResponse(a,c,b)};q._gatewayControl.send(a,c)},this.onHeartbeatResponse=function(a,b,c){
528
+ q._cleanedUp||q._exceptionCatcher.runProtected("onHeartbeatResponse",function(){if(a){var d=b;if(null!=d){q._logger.debug("onHeartbeatResponse(): received valid response for HB["+c+"]"),q.updateHeartbeatInfoOnSuccess(c);
529
+ var e=d[z.RESPONSE_KEY_CLIENT_ID];null!=e&&e!=q._clientConfig.get(G.CONFIG_KEY_CLIENT_ID)&&(q._logger.debug("onHeartbeatResponse(): setting the client id to "+e+" (from gateway)"),q._clientConfig.set(G.CONFIG_KEY_CLIENT_ID,e),
530
+ q._clientConfig.save());var f=d[z.RESPONSE_KEY_STATUS];null!=f&&f!=z.RESPONSE_STATUS_NO_ERRORS&&q._logger.error("onHeartbeatResponse(): error from gateway: "+f);var g=d[z.RESPONSE_KEY_CONFIG];if("object"==typeof g){
531
+ var h=g[z.RESPONSE_CONFIG_KEY_MAX_HEARTBEAT_INFOS];null!=h&&q._clientConfig.get(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS)!==h&&(q._logger.debug("onHeartbeatResponse(): setting Maximum Heartbeat Infos to "+h+" (from gateway)"),
532
+ q._clientConfig.set(G.CONFIG_KEY_MAX_HEARTBEAT_INFOS,h));var i=g[z.RESPONSE_CONFIG_KEY_SEND_LOGS],j=null!=i?K.AsBoolean(i):!1;j!==q._clientConfig.get(G.CONFIG_KEY_SEND_LOGS)&&(q._logger.debug("onHeartbeatResponse(): turning "+(j?"on":"off")+" sending of logs"),
533
+ q._clientConfig.set(G.CONFIG_KEY_SEND_LOGS,j));var k=g[z.RESPONSE_CONFIG_KEY_HEARTBEAT_INTERVAL];if(null!=k){var l=K.Int32.Cast(k),m=l;m!=q._clientSettings.heartbeatInterval&&(q._logger.debug("onHeartbeatResponse(): received hbIntervalMs from gateway: "+m),
534
+ q._clientSettings.heartbeatInterval=m,null!=q._heartbeatTimerCancel&&q.resetHeartbeatTimer())}var n=g[z.RESPONSE_CONFIG_KEY_GATEWAY_URL];null!=n&&n!=q._clientSettings.gatewayUrl&&(q._logger.debug("onHeartbeatResponse(): received gatewayUrl from gateway: "+n),
535
+ q._clientSettings.gatewayUrl=n),q.whitelistedIdentifiers={};var o=g[z.RESPONSE_CONFIG_KEY_CONVIVAID_FP];null!=o&&(q._startConvivaIdCollection||(q._startConvivaIdCollection=!0),q._logger.debug("onHeartbeatResponse(): received fp from gateway: "+o),
536
+ q.whitelistedIdentifiers=o.split(",")),q._cdnIpAutoDetectionEnabled=g[z.RESPONSE_CONFIG_KEY_CDN_SERVER_IP_ENABLE],1==q._cdnIpAutoDetectionEnabled?(q._logger.debug("onHeartbeatResponse(): enabling the CDN Server IP collection"),
537
+ (void 0==q._cdnTimerCancel||null==q._cdnTimerCancel)&&q.startCdnTimer()):(q._logger.debug("onHeartbeatResponse(): disabling the CDN Server IP collection (from gateway)"),q.cancelCdnTimer())}}else q._logger.warning("onHeartbeatResponse(): decoded heartbeat response is null.");
538
+ }else{var p=b;K.isValidString(p)?K.stringStartsWith(p,"HTTP timeout")?q._logger.warning("onHeartbeatResponse(): "+p):q._logger.error("onHeartbeatResponse(): failed to send heartbeat: "+p):(p=D.DEFAULT_HEARTBEAT_ERROR_MESSAGE,
539
+ q._logger.error("onHeartbeatResponse(): "+p)),q.updateHeartbeatInfoOnFailure(c,p)}})},this.getSessionTime=function(){var a=K.Int32.Cast(q._time.current()-q._startTimeMs);return a},this.getNextEventNumber=function(){
540
+ return this._eventQueue.getNumber()},this.sessionTypeTag=function(){return this.isGlobalSession()?" (global session)":""},this.isGlobalSession=function(){return this._global==C.SESSION_TYPE.GLOBAL},this.isVideoSession=function(){
541
+ return this._global==C.SESSION_TYPE.VIDEO},this.isAdSession=function(){return this._global==C.SESSION_TYPE.AD},this.updateContentMetadata=function(a){q.mergeContentMetadata(a),q.setStatesFromContentMetadata();
542
+ },this.mergeContentMetadata=function(b){var c={},d={};if(K.isValidString(b.assetName)&&(q._contentMetadata.assetName!=b.assetName?(null!=q._contentMetadata.assetName&&(c[z.REQUEST_KEY_ASSET_NAME]=q._contentMetadata.assetName),
543
+ d[z.REQUEST_KEY_ASSET_NAME]=b.assetName,q._contentMetadata.assetName=b.assetName):q._logger.warning("mergeContentMetadata(): assetName was not changed.")),K.isValidString(b.applicationName)&&(q._contentMetadata.applicationName!=b.applicationName?(null!=q._contentMetadata.applicationName&&(c[z.REQUEST_KEY_PLAYER_NAME]=q._contentMetadata.applicationName),
544
+ d[z.REQUEST_KEY_PLAYER_NAME]=b.applicationName,q._contentMetadata.applicationName=b.applicationName):q._logger.warning("mergeContentMetadata(): applicationName was not changed.")),K.isValidString(b.streamUrl)&&(q._contentMetadata.streamUrl!=b.streamUrl?(null!=q._contentMetadata.streamUrl&&(c[z.REQUEST_KEY_STREAM_URL]=q._contentMetadata.streamUrl),
545
+ d[z.REQUEST_KEY_STREAM_URL]=b.streamUrl,q._contentMetadata.streamUrl=b.streamUrl,q._streamUrl=q._contentMetadata.streamUrl):q._logger.warning("mergeContentMetadata(): streamUrl was not changed.")),K.isValidString(b.viewerId)&&(q._contentMetadata.viewerId!=b.viewerId?(null!=q._contentMetadata.viewerId&&(c[z.REQUEST_KEY_VIEWER_ID]=q._contentMetadata.viewerId),
546
+ d[z.REQUEST_KEY_VIEWER_ID]=b.viewerId,q._contentMetadata.viewerId=b.viewerId):q._logger.warning("mergeContentMetadata(): viewerId was not changed.")),K.isValidString(b.defaultResource)&&(q._contentMetadata.defaultResource!=b.defaultResource?(null!=q._contentMetadata.defaultResource&&(c[z.REQUEST_KEY_RESOURCE]=q._contentMetadata.defaultResource),
547
+ d[z.REQUEST_KEY_RESOURCE]=b.defaultResource,q._contentMetadata.defaultResource=b.defaultResource):q._logger.warning("mergeContentMetadata(): defaultResource was not changed.")),K.isInteger(b.duration)&&b.duration>0&&(q._contentMetadata.duration!=b.duration?(q._contentLengthSec>0&&(c[z.REQUEST_KEY_CONTENT_LENGTH]=q._contentLengthSec),
548
+ d[z.REQUEST_KEY_CONTENT_LENGTH]=b.duration,q._contentMetadata.duration=b.duration,q._contentLengthSec=q._contentMetadata.duration):q._logger.warning("mergeContentMetadata(): duration was not changed.")),
549
+ K.isInteger(b.encodedFrameRate)&&b.encodedFrameRate>0&&(q._contentMetadata.encodedFrameRate!=b.encodedFrameRate?(q._contentMetadata.encodedFrameRate>-1&&(c[z.REQUEST_KEY_ENCODED_FRAME_RATE]=q._contentMetadata.encodedFrameRate),
550
+ d[z.REQUEST_KEY_ENCODED_FRAME_RATE]=b.encodedFrameRate,q._contentMetadata.encodedFrameRate=b.encodedFrameRate,q._encodedFrameRate=q._contentMetadata.encodedFrameRate):q._logger.warning("mergeContentMetadata(): encodedFrameRate was not changed.")),
551
+ b.streamType!=f.StreamType.UNKNOWN&&(q._contentMetadata.streamType!=b.streamType?(q._contentMetadata.streamType!=f.StreamType.UNKNOWN&&(q._contentMetadata.streamType==a.ContentMetadata.StreamType.LIVE?c[z.REQUEST_KEY_IS_LIVE]=!0:c[z.REQUEST_KEY_IS_LIVE]=!1),
552
+ b.streamType==a.ContentMetadata.StreamType.LIVE?d[z.REQUEST_KEY_IS_LIVE]=!0:d[z.REQUEST_KEY_IS_LIVE]=!1,q._contentMetadata.streamType=b.streamType):q._logger.warning("mergeContentMetadata(): streamType was not changed.")),
553
+ K.dictCount(b.custom)>0){var e={},g={};for(var h in b.custom){var i=q._contentMetadata.custom[h];i!=b.custom[h]?(e[h]=b.custom[h],q._contentMetadata.custom[h]&&(g[h]=q._contentMetadata.custom[h]),q._contentMetadata.custom[h]=b.custom[h]):q._logger.info("mergeContentMetadata(): custom."+h+" was not changed.");
554
+ }K.dictCount(e)>0?(K.dictCount(g)>0&&(c[z.REQUEST_KEY_TAGS]=g),d[z.REQUEST_KEY_TAGS]=e):q._logger.warning("mergeContentMetadata(): custom was not changed.")}K.dictCount(d)>0&&this.declareStateChange(d,c);
555
+ },this.setStatesFromContentMetadata=function(){if(q._logger.debug("setStatesFromContentMetadata()"),null!=q._contentMetadata.defaultResource&&this.setResource(q._contentMetadata.defaultResource),null!=q._contentMetadata.streamUrl&&this.setStreamUrl(q._contentMetadata.streamUrl),
556
+ q._contentMetadata.duration>0&&this.setContentLength(q._contentMetadata.duration),q._contentMetadata.encodedFrameRate>0&&this.setEncodedFrameRate(q._contentMetadata.encodedFrameRate),q._contentMetadata.streamType!==f.StreamType.UNKNOWN){
557
+ var a=q._contentMetadata.streamType===f.StreamType.LIVE;this.setIsLive(a)}null!=q._contentMetadata.assetName&&this.setAssetName(q._contentMetadata.assetName),null!=q._contentMetadata.viewerId&&this.setViewerId(q._contentMetadata.viewerId),
558
+ (null!=q._contentMetadata.applicationName||null!=q._contentMetadata.playerName)&&this.setPlayerName(q._contentMetadata.applicationName||q._contentMetadata.playerName),K.dictCount(q._contentMetadata.custom)>0&&this.setTags(q._contentMetadata.custom);
559
+ },this.enqueueEventForContentMetadata=function(){var b={};if(null!=q._contentMetadata.assetName?b[z.REQUEST_KEY_ASSET_NAME]=q._contentMetadata.assetName:q._logger.warning("enqueueEventForContentMetadata(): assetName was not set."),
560
+ null!=q._contentMetadata.applicationName?b[z.REQUEST_KEY_PLAYER_NAME]=q._contentMetadata.applicationName:q._logger.warning("enqueueEventForContentMetadata(): applicationName was not set."),null!=q._contentMetadata.streamUrl?b[z.REQUEST_KEY_STREAM_URL]=q._contentMetadata.streamUrl:q._logger.warning("enqueueEventForContentMetadata(): streamUrl was not set."),
561
+ null!=q._contentMetadata.viewerId?b[z.REQUEST_KEY_VIEWER_ID]=q._contentMetadata.viewerId:q._logger.warning("enqueueEventForContentMetadata(): viewerId was not set."),null!=q._contentMetadata.defaultResource?b[z.REQUEST_KEY_RESOURCE]=q._contentMetadata.defaultResource:q._logger.warning("enqueueEventForContentMetadata(): defaultResource was not set."),
562
+ q._contentMetadata.duration>-1?b[z.REQUEST_KEY_CONTENT_LENGTH]=q._contentMetadata.duration:q._logger.warning("enqueueEventForContentMetadata(): duration was not set."),q._contentMetadata.encodedFrameRate>-1?b[z.REQUEST_KEY_ENCODED_FRAME_RATE]=q._contentMetadata.encodedFrameRate:q._logger.warning("enqueueEventForContentMetadata(): encodedFrameRate was not set."),
563
+ q._contentMetadata.streamType!=f.StreamType.UNKNOWN?q._contentMetadata.streamType==a.ContentMetadata.StreamType.LIVE?b[z.REQUEST_KEY_IS_LIVE]=!0:b[z.REQUEST_KEY_IS_LIVE]=!1:q._logger.warning("enqueueEventForContentMetadata(): streamType was not set."),
564
+ K.dictCount(q._contentMetadata.custom)>0){b[z.REQUEST_KEY_TAGS]={};for(var c in q._contentMetadata.custom)b[z.REQUEST_KEY_TAGS][c]=q._contentMetadata.custom[c]}else q._logger.warning("enqueueEventForContentMetadata(): custom tags were not set.");
565
+ K.dictCount(b)>0&&this.declareStateChange(b,null)},this.validateContentMetadata=function(){null!=q._contentMetadata&&K.isValidString(q._contentMetadata.assetName)||q._logger.warning("Missing assetName during session creation"),
566
+ null!=q._contentMetadata&&K.isValidString(q._contentMetadata.defaultResource)||q._logger.warning("Missing resource during session creation"),null!=q._contentMetadata&&K.isValidString(q._contentMetadata.streamUrl)||q._logger.warning("Missing streamUrl during session creation"),
567
+ (null==q._contentMetadata||q._contentMetadata.encodedFrameRate<=0)&&q._logger.warning("Missing encodedFrameRate during session creation"),null!=q._contentMetadata&&K.isValidString(q._contentMetadata.viewerId)||q._logger.warning("Missing viewerId during session creation"),
568
+ (null==q._contentMetadata||null==q._contentMetadata.streamType||f.StreamType.UNKNOWN===q._contentMetadata.streamType)&&q._logger.warning("Missing streamType during session creation"),null!=q._contentMetadata&&K.isValidString(q._contentMetadata.applicationName)||q._logger.warning("Missing applicationName during session creation"),
569
+ (null==q._contentMetadata||q._contentMetadata.duration<=0)&&q._logger.warning("Missing duration during session creation")},this.updateCustomMetric=function(a,b){null==q._customMetric&&(q._customMetric={}),
570
+ q._customMetric[a]=b}};C.DEFAULT_VIDEO_SESSION_FLAGS=z.SessionFlags.VIDEO+z.SessionFlags.QUALITY_METRICS+z.SessionFlags.BITRATE_METRICS,C.SESSION_TYPE={VIDEO:"Video",GLOBAL:"Global",AD:"Ad"};var D=(b.IMonitor=function(){
571
+ this.onPlayerStateChange=function(a){},this.onBitrateChange=function(a){},this.onSeekEvent=function(a,b){},this.onEncodedFrameRateChange=function(a){},this.onRenderedFrameRateChange=function(a){},this.onContentLengthChange=function(a){},
572
+ this.onPlayheadTimeChange=function(a){},this.onStreamUrlChange=function(a){},this.onBufferLengthChange=function(a){},this.onPlayerTypeChange=function(a){},this.onPlayerVersionChange=function(a){},this.onStreamResolutionWidthChange=function(a){},
573
+ this.onStreamResolutionHeightChange=function(a){},this.onConnectionTypeChange=function(a){},this.onLinkEncryptionChange=function(a){},this.onSignalStrengthChange=function(a){},this.onError=function(a,b){},
574
+ this.onRelease=function(){},this.onCDNServerIPChange=function(a){}},b.Session=function(){function b(a,b,c,d,e,f,g){this._id=a,this._global=b,this._clientConfig=c,this._systemMetadata=d,this._cwsSession=e,
575
+ this._exceptionCatcher=f,this._logger=g,this._logger.setModuleName("Session"),this._logger.setSessionId(K.ToString(this._id))}var c=this;c._playerStateManager=null,c._id=0,c._global=C.SESSION_TYPE.VIDEO,
576
+ c._cleaningUp=!1,c._cleanedUp=!1,c._adPlaying=!1,c._adStream=null,c._adPlayer=null,c._adPosition=null,c._ignorePlayerState=!1,c._pooledPlayerState=i.PlayerState.NOT_MONITORED,c._ignoreBitrateAndResource=!1,
577
+ c._ignorePlayheadTimeandBufferLength=!1,c._ignoreEncodedFrameRateAndDuration=!1,c._ignoreError=!1,b.apply(c,arguments),this.start=function(a){if(c._cwsSession.start(this),null!=a&&void 0!=a&&c.attachPlayer(a),
578
+ c._clientConfig.isReady())c.initiateSession();else{var b=function(){c.initiateSession()};c._clientConfig.register(b)}},this.cleanup=function(){if(c._logger.info("cleanup()"+c.sessionTypeTag()),c._cleaningUp=!0,
579
+ c._cwsSession.willEndSoon(),c._clientConfig.isReady())c.endCwsSessionAndCleanupAll();else{var a=function(){c.endCwsSessionAndCleanupAll()};c._clientConfig.register(a)}},this.cleanupAll=function(){c._logger.debug("cleanupAll()"+c.sessionTypeTag()),
580
+ (c.isVideoSession()||c.isAdSession())&&null!=c._playerStateManager&&c.releasePlayerStateManager(),c._logger.setSessionId(null),c._logger=null,c._exceptionCatcher=null,c._client=null,c._clientConfig=null,
581
+ c._systemMetadata=null,c._cwsSession.cleanup(),c._cwsSession=null,c._cleanedUp=!0},this.endCwsSessionAndCleanupAll=function(){c._cwsSession.end(),c.cleanupAll()},this.initiateSession=function(){c._cwsSession.initialize(),
582
+ c.setStatesFromSystemMetadata(),c._cwsSession.startSendingHeartbeats()},this.setStatesFromSystemMetadata=function(){c._logger.debug("setStatesFromSystemMetadata()");var a=c._systemMetadata.get(),b=a[T.BROWSER_NAME];
583
+ null!=b&&c._cwsSession.setBrowserName(b);var d=a[T.BROWSER_VERSION];null!=d&&c._cwsSession.setBrowserVersion(d);var e=a[T.DEVICE_BRAND];null!=e&&c._cwsSession.setDeviceBrand(e);var f=a[T.DEVICE_MANUFACTURER];
584
+ null!=f&&c._cwsSession.setDeviceManufacturer(f);var g=a[T.DEVICE_MODEL];null!=g&&c._cwsSession.setDeviceModel(g);var h=a[T.DEVICE_TYPE];null!=h&&c._cwsSession.setDeviceType(h);var i=a[T.DEVICE_VERSION];
585
+ null!=i&&c._cwsSession.setDeviceVersion(i);var j=a[T.FRAMEWORK_NAME];null!=j&&c._cwsSession.setFrameworkName(j);var k=a[T.FRAMEWORK_VERSION];null!=k&&c._cwsSession.setFrameworkVersion(k);var l=a[T.OPERATING_SYSTEM_NAME];
586
+ null!=l&&c._cwsSession.setOperatingSystemName(l);var m=a[T.OPERATING_SYSTEM_VERSION];null!=m&&c._cwsSession.setOperatingSystemVersion(m);var n=a[T.DEVICE_CATEGORY];null!=n&&c._cwsSession.setDeviceCategory(n);
587
+ },this.onPlayerStateChange=function(a){return c._logger.debug("onPlayerStateChange(): "+a),c._cwsSession._playerState!=a?(c._cwsSession._playerState==i.PlayerState.NOT_MONITORED&&a!=i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=a),
588
+ c._ignorePlayerState?void c._logger.debug("onPlayerStateChange(): "+a+" (pooled, "+(c._adPlaying?"ad playing":"preloading")+")"):void c._cwsSession.setPlayerState(a)):void 0},this.onBitrateChange=function(a){
589
+ return c._logger.debug("onBitrateChange(): "+a),c._ignoreBitrateAndResource?void c._logger.info("onBitrateChange(): ignored"):void c._cwsSession.setBitrateKbps(a)},this.onSeekEvent=function(a,b){K.isInteger(b)||(c._logger.warning("onSeekEvent(): Ignored non-integer seekToPosition data: "+b),
590
+ b=-1),c._cwsSession.enqueueSeekEvent(a,b)},this.onEncodedFrameRateChange=function(a){c._logger.debug("onEncodedFrameRateChange(): "+a),a>0?c._ignoreEncodedFrameRateAndDuration?c._logger.info("onEncodedFrameRateChange(): Ignored encoded frame rate data: "+a+" (ads)"):(c._cwsSession.setEncodedFrameRate(a),
591
+ c._logger.info("onEncodedFrameRateChange(): Received encoded frame rate data: "+a)):c._logger.warning("onEncodedFrameRateChange(): Ignored invalid encoded frame rate data: "+a)},this.onContentLengthChange=function(a){
592
+ c._logger.debug("onContentLengthChange(): "+a),a>0?c._ignoreEncodedFrameRateAndDuration?c._logger.info("setContentLength(): Ignored content length data: "+a+" (ads)"):(c._cwsSession.setContentLength(a),
593
+ c._logger.info("setContentLength(): Received content length data: "+a)):c._logger.warning("setContentLength(): Ignored invalid content length data: "+a)},this.onStreamUrlChange=function(a){c._logger.debug("onStreamUrlChange(): "+a),
594
+ c._cwsSession.setStreamUrl(a)},this.onStreamResolutionWidthChange=function(a){c._logger.debug("onStreamResolutionWidthChange(): "+a),c._cwsSession.setStreamResolutionWidth(a)},this.onStreamResolutionHeightChange=function(a){
595
+ c._logger.debug("onStreamResolutionHeightChange(): "+a),c._cwsSession.setStreamResolutionHeight(a)},this.onConnectionTypeChange=function(a){c._logger.debug("onConnectionTypeChange(): "+a),c._cwsSession.setConnectionType(a);
596
+ },this.onLinkEncryptionChange=function(a){c._logger.debug("onLinkEncryptionChange(): "+a),c._cwsSession.setLinkEncryption(a)},this.onPlayerTypeChange=function(a){c._logger.debug("onPlayerTypeChange(): "+a),
597
+ null==c._cwsSession.getFrameworkName()&&c._cwsSession.setFrameworkName(a)},this.onPlayerVersionChange=function(a){c._logger.debug("onPlayerVersionChange(): "+a),null==c._cwsSession.getFrameworkVersion()&&c._cwsSession.setFrameworkVersion(a);
598
+ },this.onCDNServerIPChange=function(a){c._logger.debug("onCDNServerIPChange(): "+a),c._cwsSession.setCDNServerIP(a)},this.onError=function(a,b){c._logger.debug("onError(): "+a+" ("+b+")"),c.reportError(a,b);
599
+ },this.onRelease=function(){c._logger.debug("onRelease()"),c.releasePlayerStateManager()},this.adStart=function(b,d,e){return c._logger.debug("adStart(): adStream="+b+" adPlayer="+d+" adPosition="+e),c._adPlaying?void c._logger.warning("adStart(): multiple adStart calls, ignoring"):(c._adPlaying=!0,
600
+ c._adStream=b,c._adPlayer=d,c._adPosition=e,c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!0),void(c._adStream==a.Client.AdStream.CONTENT||c._adPlayer==a.Client.AdPlayer.SEPARATE?(c._cwsSession._playerState!==i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=c._cwsSession._playerState),
601
+ c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED),c._ignorePlayerState=!0):c._adStream==a.Client.AdStream.SEPARATE&&c._adPlayer==a.Client.AdPlayer.CONTENT&&(c._cwsSession._playerState!==i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=c._cwsSession._playerState),
602
+ c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED),c._ignorePlayerState=!0,c._ignoreBitrateAndResource=!0,c._ignoreEncodedFrameRateAndDuration=!0,c._ignorePlayheadTimeandBufferLength=!0,c._ignoreError=!0)));
603
+ },this.adEnd=function(){return c._logger.debug("adEnd()"),c._adPlaying?(c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!1),c._adStream==a.Client.AdStream.CONTENT||c._adPlayer==a.Client.AdPlayer.SEPARATE?c._preloading||(c._ignorePlayerState=!1,
604
+ c._cwsSession.setPlayerState(c._pooledPlayerState)):c._adStream==a.Client.AdStream.SEPARATE&&c._adPlayer==a.Client.AdPlayer.CONTENT&&(c._ignoreBitrateAndResource=!1,c._ignoreEncodedFrameRateAndDuration=!1,
605
+ c._ignorePlayheadTimeandBufferLength=!1,c._ignoreError=!1,c._preloading||(c._ignorePlayerState=!1,c._cwsSession.setPlayerState(c._pooledPlayerState))),c._adPlaying=!1,void(c._adStream=c._adPlayer=c._adPosition=null)):void c._logger.warning("adEnd(): called before adStart, ignoring");
606
+ },this.detachPlayer=function(){return c._logger.debug("detachPlayer()"),null==c._playerStateManager?void c._logger.error("detachPlayer(): called before attachPlayer, ignoring"):void(null!==c._playerStateManager&&(c._exceptionCatcher.runProtected("Session.detachPlayer",function(){
607
+ c._playerStateManager.removeMonitoringNotifier()}),c._playerStateManager=null,c._cwsSession.setPlayerStateManager(null),c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED)))},this.releasePlayerStateManager=function(){
608
+ null!==c._playerStateManager&&(c._exceptionCatcher.runProtected("Session.releasePlayerStateManager",function(){c._playerStateManager.removeMonitoringNotifier()}),c._playerStateManager=null,c._cwsSession.setPlayerStateManager(null),
609
+ c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED))},this.offFocus=function(){c._logger.debug("offFocus()"),c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!0),c._cwsSession._playerState!==i.PlayerState.NOT_MONITORED&&(c._pooledPlayerState=c._cwsSession._playerState),
610
+ c._cwsSession.setPlayerState(i.PlayerState.NOT_MONITORED),c._ignorePlayerState=!0},this.attachPlayer=function(a){return c._logger.debug("attachPlayer()"),null!=c._playerStateManager?void c._logger.error("attachPlayer(): detach current PlayerStateManager first"):a instanceof i?void c._exceptionCatcher.runProtected("Session.attachPlayer()",function(){
611
+ a.setMonitoringNotifier(c,c._id)?(a.pushCurrentState(),c._playerStateManager=a,c._cwsSession.setPlayerStateManager(c._playerStateManager)):c._logger.error("attachPlayer(): instance of PlayerStateManager is already attached to a session");
612
+ }):void c._logger.error("attachPlayer(): Incorrect PlayerStateManager instance")},this.onFocus=function(){c._logger.debug("onFocus()"),c._cwsSession._hasJoined||c._cwsSession.togglePauseJoin(!1),c._ignoreBitrateAndResource=!1,
613
+ c._ignoreEncodedFrameRateAndDuration=!1,c._ignorePlayheadTimeandBufferLength=!1,c._ignoreError=!1,c._preloading||(c._ignorePlayerState=!1,c._pooledPlayerState!==i.PlayerState.NOT_MONITORED&&c._cwsSession.setPlayerState(c._pooledPlayerState));
614
+ },this.getPlayerStateManager=function(){return c._logger.debug("getPlayerStateManager()"),c._playerStateManager},this.contentPreload=function(){return c._logger.debug("contentPreload()"),c._preloading?void c._logger.debug("contentPreload(): called twice, ignoring"):(c._preloading=!0,
615
+ void(c._ignorePlayerState=!0))},this.contentStart=function(){return c._logger.debug("contentStart()"),c._preloading?(c._preloading=!1,void(c._adPlaying||(c._ignorePlayerState=!1,c._pooledPlayerState!==i.PlayerState.NOT_MONITORED&&c._cwsSession.setPlayerState(c._pooledPlayerState)))):void c._logger.warning("contentStart(): called without contentPreload, ignoring");
616
+ },this.reportError=function(b,d){if(c._logger.info("reportError(): "+b),!K.isValidString(b))return void c._logger.error("reportError(): invalid error message string: "+b);if(d!==a.Client.ErrorSeverity.FATAL&&d!==a.Client.ErrorSeverity.WARNING)return void c._logger.error("reportError(): invalid error severity: "+d);
617
+ if(c._ignoreError)return void c._logger.debug("reportError(): ignored");var e=d===a.Client.ErrorSeverity.FATAL;c._cwsSession.sendError(b,e)},this.updateContentMetadata=function(a){c._exceptionCatcher.runProtected("Session.updateContentMetadata",function(){
618
+ c._cwsSession.updateContentMetadata(a)})},this.sendCustomEvent=function(a,b){c._logger.info("sendEvent(): eventName="+a+c.sessionTypeTag()),c._cwsSession.enqueueCustomEvent(a,b)},this.isGlobalSession=function(){
619
+ return c._global==C.SESSION_TYPE.GLOBAL},this.isVideoSession=function(){return c._global==C.SESSION_TYPE.VIDEO},this.isAdSession=function(){return c._global==C.SESSION_TYPE.AD},this.sessionTypeTag=function(){
620
+ return c.isGlobalSession()?" (global session)":""},this.getSessionId=function(){return this._id},this.getClientId=function(){var a=null;return c._clientConfig.isReady()&&(a=c._clientConfig.get(G.CONFIG_KEY_CLIENT_ID)),
621
+ a},this.updateCustomMetric=function(a,b){c._cwsSession.updateCustomMetric(a,b)}});D.DEFAULT_HEARTBEAT_ERROR_MESSAGE="received no response (or a bad response) to heartbeat POST request";var E=b.SessionFactory=function(){
622
+ function a(a,c,d,e){b._client=a,b._clientSettings=c,b._clientConfig=d,b._systemFactory=e,b._logger=b._systemFactory.buildLogger(),b._logger.setModuleName("SessionFactory"),b._nextSessionKey=0,b._sessionsByKey={};
623
+ }var b=this;b._logger=null,b._logBuffer=null,b._nextSessionKey=0,b._sessionsByKey=null,a.apply(b,arguments),this.cleanup=function(){b._logger=null,b._logBuffer=null;for(var a in b._sessionsByKey){var c=b._sessionsByKey[a];
624
+ c.cleanup()}b._sessionsByKey=null,b._nextSessionKey=0},this.newSessionKey=function(){var a=b._nextSessionKey;return b._nextSessionKey++,a},this.makeVideoSession=function(a,c,d){return null==a&&(a=new f),
625
+ b.makeSession(a,c,d)},this.makeGlobalSession=function(a){return b.makeSession(a,C.SESSION_TYPE.GLOBAL)},this.generateSessionId=function(){return N.integer32()},this.makeSession=function(a,c,d){var e=a.clone(),f=b.generateSessionId(),g=b._systemFactory.buildSession(b._client,b._clientSettings,b._clientConfig,f,c,e),h=b.newSessionKey();
626
+ return b.addSession(h,g),g.start(d),h},this.getSession=function(a){var c=b._sessionsByKey[a];return null==c&&b._logger.error("Client: invalid sessionKey. Did you cleanup that session previously?"),c},this.getVideoSession=function(a){
627
+ var c=this.getSession(a);return null!=c&&(c.isVideoSession()||c.isAdSession()||(b._logger.error("Client: invalid sessionKey. Did you cleanup that session previously?"),c=null)),c},this.addSession=function(a,c){
628
+ b._sessionsByKey[a]=c},this.removeSession=function(a){delete b._sessionsByKey[a]},this.cleanupSession=function(a){var c=b.getSession(a);b.removeSession(a),c.cleanup()}},F=b.CallbackWithTimeout=function(a){
629
+ this._timer=a,this.getWrapperCallback=function(a,b,c){var d=!1,e=function(){d||(d=!0,a(!1,c+" ("+b+" ms)"))};this._timer.createOnce(e,b,"CallbackWithTimeout.wrap");var f=function(b,c){d||(d=!0,a(b,c))};
630
+ return f}},G=b.Config=function(a,b,c){var d=this;this._logger=a,this._logger.setModuleName("Config"),this._storage=b,this._jsonInterface=c,this._defaultConfig={clientId:z.DEFAULT_CLIENT_ID,sendLogs:!1,
631
+ maxHbInfos:z.DEFAULT_MAX_HEARTBEAT_INFOS},this._config=K.ObjectShallowCopy(this._defaultConfig),this._loaded=!1,this._loadedEmpty=!1,this._waitingConsumers=[],this.isReady=function(){return this._loaded;
632
+ },this.load=function(){var a=function(a,b){a?(d._parse(b),d._logger.debug("load(): configuration successfully loaded from local storage"+(d._loadedEmpty?" (was empty)":"")+".")):d._logger.error("load(): error loading configuration from local storage: "+b),
633
+ d._loaded=!0,d._notify()};this._storage.load(G.STORAGE_KEY,a)},this._parse=function(a){var b=this._jsonInterface.decode(a);if(null==b)return void(this._loadedEmpty=!0);var c=b[G.CONFIG_STORAGE_KEY_CLIENT_ID];
634
+ null!=c&&c!=z.DEFAULT_CLIENT_ID&&""!=c&&"null"!=c&&(this._config[G.CONFIG_KEY_CLIENT_ID]=c,this._logger.debug("parse(): loaded clientId="+c+" (from local storage)"))},this._marshall=function(){var a={};
635
+ return a[G.CONFIG_STORAGE_KEY_CLIENT_ID]=this._config.clientId,this._logger.debug("_marshall(): saving clientId="+this._config.clientId+" (to local storage)"),this._jsonInterface.encode(a)},this.save=function(){
636
+ var a=function(a,b){a?d._logger.debug("save(): configuration successfully saved to local storage."):d._logger.error("save(): error saving configuration to local storage: "+b)};this._storage.save(G.STORAGE_KEY,this._marshall(),a);
637
+ },this.register=function(a){return this.isReady()?void a():void this._waitingConsumers.push(a)},this.get=function(a){return this._loaded?this._config[a]:null},this.set=function(a,b){this._loaded&&(this._config[a]=b);
638
+ },this._notify=function(){for(var a;null!=(a=this._waitingConsumers.shift());)a()}};G.STORAGE_KEY="sdkConfig",G.CONFIG_STORAGE_KEY_CLIENT_ID="clId",G.CONFIG_KEY_CLIENT_ID="clientId",G.CONFIG_KEY_SEND_LOGS="sendLogs",
639
+ G.CONFIG_KEY_MAX_HEARTBEAT_INFOS="maxHbInfos",G.CONVIVAID_FP_PREFIX="c3.fp.",G.ConvivaIdErrorCodes={CONVIVAID_NA:"0",CONVIVAID_FETCH_ERROR:"1",CONVIVAID_USER_OPTOUT:"2",CONVIVAID_PRIVACY_RESTRICTION:"3",
640
+ CONVIVAID_SERVER_RESTRICTION:"4",CONVIVAID_USER_OPT_DELETE:"5",CONVIVAID_USER_NO_RESTRICTION:"6"};var H=b.EventQueue=function(){this._events=[],this._nextEventNumber=0,this.enqueue=function(a){this._events.push(a);
641
+ },this.getNumber=function(){var a=this._nextEventNumber;return this._nextEventNumber++,a},this.flush=function(){var a=this._events;return this._events=[],a}},I=b.ExceptionCatcher=function(a,b,c){this._logger=a,
642
+ this._logger.setModuleName("ExceptionCatcher"),this._ping=b,this._systemSettings=c,this.runProtected=function(a,b,c){try{b()}catch(d){if(null!=c)c(d);else{if(this._systemSettings.allowUncaughtExceptions)throw d;
643
+ this.onUncaughtException(a,d)}}},this.onUncaughtException=function(a,b){var c="Uncaught exception: "+a+": "+b.toString();if(null!=this._ping)try{this._ping.send(c)}catch(d){this._logger.error("Caught exception while sending ping: "+d.toString());
644
+ }this._logger.error(c)}},J=b.GatewayControl=function(a,b,c,d){var e=this;this._clientSettings=a,this._logger=b,this._logger.setModuleName("GatewayControl"),this._httpClient=c,this._jsonInterface=d,this.send=function(a,b){
645
+ var c=this._jsonInterface.encode(a),d=this._clientSettings.gatewayUrl+z.gatewayPath,f=function(a,c){if(a){var d=e._jsonInterface.decode(c);b(a,d)}else{var f=c;b(a,f)}};this._httpClient.request("POST",d,c,"application/json",f);
646
+ }},K=b.Lang={};K.isMeaningfulString=function(a){return K.isValidString(a)&&null!=a&&"undefined"!=a&&"null"!=a},K.sanitizeStringToStringObject=function(a){var b={};for(var c in a)if(K.isMeaningfulString(c)){
647
+ var d=a[c];K.isMeaningfulString(d)&&(b[c]=d)}return b},K.validateInterface=function(a,b,c){if(null==a)throw new Error("Expected "+c+" implementation is null.");for(var d in b)if("function"!=typeof a[d])throw new Error("Expected method "+d+" in "+c+" implementation.");
648
+ },K.dictCount=function(a){var b,c=0;for(b in a)a.hasOwnProperty(b)&&c++;return c},K.ToString=function(a){return""+a},K.NumberToInt=function(a){return Math.floor(a)},K.NumberToUnsignedInt=function(a){return Math.abs(K.NumberToInt(a));
649
+ },K.AsBoolean=function(a){return Boolean(a)},K.isValidString=function(a){return"string"==typeof a&&""!==a},K.stringStartsWith=function(a,b){return"string"!=typeof a||"string"!=typeof b?!1:"function"==typeof a.indexOf?0===a.indexOf(b):!1;
650
+ },K.isBoolean=function(a){return"boolean"==typeof a},K.UrlEncodeString=function(a){return escape(a)},K.isObject=function(a){return"object"==typeof a},K.ObjectToString=function(a){var b="";for(var c in a){
651
+ var d=a[c],e=d;b+=c+"="+e}return"Object{"+b+"}"},K.ObjectShallowCopyOmitNull=function(a){var b=K.ObjectShallowCopy(a);for(var c in b)null==b[c]&&delete b[c];return b},K.ObjectShallowCopy=function(a){var b={};
652
+ for(var c in a)b[c]=a[c];return b},K.ObjectShallowEquals=function(a,b){if(typeof a!=typeof b)return!1;if(a instanceof Object&&b instanceof Object){if(K.dictCount(a)!==K.dictCount(b))return!1;var c=!0;for(var d in a)if(c=a[d]===b[d],
653
+ !c)return!1;return!0}return a===b},K.mergeObjects=function(){for(var a={},b=0;b<arguments.length;b++)for(var c in arguments[b])void 0!=arguments[b][c]&&null!=arguments[b][c]&&(a[c]=arguments[b][c]);return a;
654
+ },K.isInteger=function(a){if("number"!=typeof a)return!1;var b=Math.round(a);return b===a},K.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)},K.ArrayEquals=function(a,b){
655
+ if(a===b)return!0;if(null==a||null==b)return!1;if(a.length!=b.length)return!1;for(var c=0;c<a.length;++c)if(K.isArray(a[c])&&K.isArray(b[c])){if(!K.ArrayEquals(a[c],b[c]))return!1}else if(a[c]!==b[c])return!1;
656
+ return!0},K.isObjectDefinePropertyPresent=function(){return"undefined"!=typeof Object.defineProperty&&function(){try{return Object.defineProperty({},"x",{}),!0}catch(a){return!1}}()},K.defGet=function(a,b,c){
657
+ if(K.isObjectDefinePropertyPresent())Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:c});else{if("undefined"==typeof a.__defineGetter__)throw new Error("JavaScript runtime must support either Object.defineProperty or __defineGetter__");
658
+ a.__defineGetter__(b,c)}},K.defSet=function(a,b,c){if(K.isObjectDefinePropertyPresent())Object.defineProperty(a,b,{configurable:!0,set:c});else{if("undefined"==typeof a.__defineSetter__)throw new Error("JavaScript runtime must support either Object.defineProperty or __defineSetter__");
659
+ a.__defineSetter__(b,c)}},K.sha256=function W(a){function b(a,b){return a>>>b|a<<32-b}for(var c,d,e=Math.pow,f=e(2,32),g="length",h="",i=[],j=8*a[g],k=W.h=W.h||[],l=W.k=W.k||[],m=l[g],n={},o=2;64>m;o++)if(!n[o]){
660
+ for(c=0;313>c;c+=o)n[c]=o;k[m]=e(o,.5)*f|0,l[m++]=e(o,1/3)*f|0}for(a+="\x00";a[g]%64-56;)a+="\x00";for(c=0;c<a[g];c++){if(d=a.charCodeAt(c),d>>8)return;i[c>>2]|=d<<(3-c)%4*8}for(i[i[g]]=j/f|0,i[i[g]]=j,
661
+ d=0;d<i[g];){var p=i.slice(d,d+=16),q=k;for(k=k.slice(0,8),c=0;64>c;c++){var r=p[c-15],s=p[c-2],t=k[0],u=k[4],v=k[7]+(b(u,6)^b(u,11)^b(u,25))+(u&k[5]^~u&k[6])+l[c]+(p[c]=16>c?p[c]:p[c-16]+(b(r,7)^b(r,18)^r>>>3)+p[c-7]+(b(s,17)^b(s,19)^s>>>10)|0),w=(b(t,2)^b(t,13)^b(t,22))+(t&k[1]^t&k[2]^k[1]&k[2]);
662
+ k=[v+w|0].concat(k),k[4]=k[4]+v|0}for(c=0;8>c;c++)k[c]=k[c]+q[c]|0}for(c=0;8>c;c++)for(d=3;d+1;d--){var x=k[c]>>8*d&255;h+=(16>x?0:"")+x.toString(16)}return h},function(){var a={};a.two32=4294967296,a.MaxValue=a.two32-1,
663
+ a.MinValue=0,K.UInt32=a,K.UInt32.Cast=function(b){var c=parseInt(b,10);return c>a.MaxValue?c%=a.two32:c<a.MinValue&&(c=-c%a.two32,c=a.two32-c),c},K.UInt32.InRange=function(b){var c=parseInt(b,10);return c<=a.MaxValue&&c>=a.MinValue;
664
+ };var b={};b.MaxValue=2147483647,b.MinValue=-2147483648,K.Int32=b,K.Int32.Cast=function(a){var c=parseInt(a,10);return c>b.MaxValue?c%=b.MaxValue:c<b.MinValue&&(c=-c%b.MaxValue,c=b.MaxValue-c),c},K.Int32.InRange=function(a){
665
+ var c=parseInt(a,10);return c<=b.MaxValue&&c>=b.MinValue}}();var L=b.LogBuffer=function(){var a=32;this._buffer=[],this.add=function(b){this._buffer.length>=a&&this._buffer.shift(),this._buffer.push(b);
666
+ },this.flush=function(){var a=this._buffer;return this._buffer=[],a}},M=b.Ping=function(a,b,c){this._isSendingPing=!1,this._cachedBasePingUrl=null,this._logger=a,this._logger.setModuleName("Ping"),this._httpClient=b,
667
+ this._clientSettings=c,this.send=function(a){if(!this._isSendingPing){this._isSendingPing=!0;var b=this.getBasePingUrl()+"&d="+K.UrlEncodeString(a.toString());this._logger.error("send(): "+b),this._httpClient.request("GET",b,null,null,null),
668
+ this._isSendingPing=!1}},this.getBasePingUrl=function(){if(!this._cachedBasePingUrl){var a=M.SERVICE_URL+"?comp="+M.COMPONENT_NAME+"&clv="+d.version;if(this._clientSettings&&(a+="&cid="+this._clientSettings.customerKey),
669
+ a+="&sch="+z.SDK_METADATA_SCHEMA,!this._clientSettings)return a;this._cachedBasePingUrl=a}return this._cachedBasePingUrl}};M.COMPONENT_NAME="sdkjs",M.SERVICE_URL="https://pings.conviva.com/ping.ping";var N=b.Random={};
670
+ N.maxUInt32=4294967295,N.maxInt32=2147483647,N.minInt32=-2147483648,N.integer32=function(){return Math.floor(Math.random()*N.maxUInt32)+N.minInt32},N.uinteger32=function(){return Math.floor(Math.random()*N.maxUInt32);
671
+ };var O=b.Sanitize={};O.Integer=function(a,b,c,d){if(isNaN(a))return d;if("number"!=typeof a)return d;if(a==d)return d;var e=K.NumberToInt(a);return O.EnforceBoundaries(e,b,c)},O.EnforceBoundaries=function(a,b,c){
672
+ return null!=c&&a>c?a=c:null!=b&&b>a&&(a=b),a},O.sanitizeSpecialIntegerValue=function(a){return-1==a||-2==a?a:a=O.Integer(a,0,null,-1)};var P=b.StreamerError=function(){function a(a,c){b.errorCode=a,b.severity=c;
673
+ }var b=this;b.errorCode=null,b.severity=d.ErrorSeverity.FATAL,a.apply(b,arguments),this.getErrorCode=function(){return b.errorCode},this.getErrorSeverity=function(){return b.severity}},Q=b.HttpClient=function(a,b,c,d){
674
+ this._logger=a,this._logger.setModuleName("HttpClient"),this._httpInterface=b,this._callbackWithTimeout=c,this._systemSettings=d,this.request=function(a,b,c,d,e){var f=1e3*this._systemSettings.httpTimeout,g=null;
675
+ null!=e&&(g=this._callbackWithTimeout.getWrapperCallback(e,f,"HTTP timeout")),this._logger.debug("request(): calling HttpInterface.makeRequest"),this._httpInterface.makeRequest(a,b,c,d,f,g)}},R=b.Logger=function(a,b,c,d,e){
676
+ this._loggingInterface=a,this._timeInterface=b,this._settings=c,this._logBuffer=d,this._packageName=e,this.debug=function(a){this.log(a,h.LogLevel.DEBUG)},this.info=function(a){this.log(a,h.LogLevel.INFO);
677
+ },this.warning=function(a){this.log(a,h.LogLevel.WARNING)},this.error=function(a){this.log(a,h.LogLevel.ERROR)},this.log=function(a,b){var c=this.formatMessage(a,b);this._logBuffer.add(c),this._settings.logLevel<=b&&this._loggingInterface.consoleLog(c,b);
678
+ },this.prependModuleName=function(a){var b=a;return b="["+this._moduleName+"] "+b},this.prependPackageName=function(a){var b=a;return b="["+this._packageName+"] "+b},this.prependConvivaNamespace=function(a){
679
+ var b=a;return b="[Conviva] "+b},this.prependTime=function(a){var b=this._timeInterface.getEpochTimeMs(),c=(b/1e3).toFixed(3).toString();return"["+c+"] "+a},this.prependLogLevel=function(a,b){var c=R.getLogLevelString(b),d=a;
680
+ return d="["+c+"] "+d},this.prependSessionId=function(a){var b=a;return null!=this._sessionId&&(b="sid="+this._sessionId+" "+b),b},this.setSessionId=function(a){this._sessionId=a},this.setModuleName=function(a){
681
+ this._moduleName=a},this.formatMessage=function(a,b){return this.prependConvivaNamespace(this.prependTime(this.prependLogLevel(this.prependPackageName(this.prependModuleName(this.prependSessionId(a))),b)));
682
+ }};R.getLogLevelString=function(a){var b;switch(a){case h.LogLevel.ERROR:b="ERROR";break;case h.LogLevel.WARNING:b="WARNING";break;case h.LogLevel.INFO:b="INFO";break;case h.LogLevel.DEBUG:b="DEBUG"}return b;
683
+ };var S=b.Storage=function(a,b,c,d){this._logger=a,this._logger.setModuleName("Storage"),this._storageInterface=b,this._callbackWithTimeout=c,this._systemSettings=d,this.load=function(a,b){var c=this._callbackWithTimeout.getWrapperCallback(b,1e3*this._systemSettings.storageTimeout,"storage load timeout");
684
+ this._logger.debug("load(): calling StorageInterface.loadData"),this._storageInterface.loadData(S.STORAGE_SPACE,a,c)},this.save=function(a,b,c){var d=this._callbackWithTimeout.getWrapperCallback(c,1e3*this._systemSettings.storageTimeout,"storage save timeout");
685
+ this._logger.debug("save(): calling StorageInterface.saveData"),this._storageInterface.saveData(S.STORAGE_SPACE,a,b,d)}};S.STORAGE_SPACE="Conviva";var T=b.SystemMetadata=function(b,c,d){this._logger=b,
686
+ this._logger.setModuleName("SystemMetadata"),this._metadataInterface=c,this._exceptionCatcher=d,this._cachedMetadata=null,this.get=function(){return this._cachedMetadata||this.retrieve(),this._cachedMetadata;
687
+ },this.retrieve=function(){function b(a,b){d._exceptionCatcher.runProtected("Session.getSystemMetadataSchema(): "+a,function(){var c=b[a];b[a]=c.call(d._metadataInterface)})}var c={};c[T.BROWSER_NAME]=this._metadataInterface.getBrowserName,
688
+ c[T.BROWSER_VERSION]=this._metadataInterface.getBrowserVersion,c[T.DEVICE_BRAND]=this._metadataInterface.getDeviceBrand,c[T.DEVICE_MANUFACTURER]=this._metadataInterface.getDeviceManufacturer,c[T.DEVICE_MODEL]=this._metadataInterface.getDeviceModel,
689
+ c[T.DEVICE_TYPE]=this._metadataInterface.getDeviceType,c[T.DEVICE_VERSION]=this._metadataInterface.getDeviceVersion,c[T.FRAMEWORK_NAME]=this._metadataInterface.getFrameworkName,c[T.FRAMEWORK_VERSION]=this._metadataInterface.getFrameworkVersion,
690
+ c[T.OPERATING_SYSTEM_NAME]=this._metadataInterface.getOperatingSystemName,c[T.OPERATING_SYSTEM_VERSION]=this._metadataInterface.getOperatingSystemVersion,c[T.DEVICE_CATEGORY]=this._metadataInterface.getDeviceCategory;
691
+ var d=this;this._logger.debug("retrieve(): calling MetadataInterface methods");for(var e in c)b(e,c),K.isValidString(c[e])||delete c[e];var f=!1;if("undefined"!=typeof c[T.DEVICE_TYPE]){for(var g in a.Client.DeviceType)if(c[T.DEVICE_TYPE]===a.Client.DeviceType[g]){
692
+ f=!0;break}f||delete c[T.DEVICE_TYPE]}if(f=!1,"undefined"!=typeof c[T.DEVICE_CATEGORY]){for(var h in a.Client.DeviceCategory)if(c[T.DEVICE_CATEGORY]===a.Client.DeviceCategory[h]){f=!0;break}f||delete c[T.DEVICE_CATEGORY];
693
+ }this._cachedMetadata=K.ObjectShallowCopyOmitNull(c)}};T.BROWSER_NAME="browserName",T.BROWSER_VERSION="browserVersion",T.DEVICE_BRAND="deviceBrand",T.DEVICE_MANUFACTURER="deviceManufacturer",T.DEVICE_MODEL="deviceModel",
694
+ T.DEVICE_TYPE="deviceType",T.DEVICE_VERSION="deviceVersion",T.FRAMEWORK_NAME="frameworkName",T.FRAMEWORK_VERSION="frameworkVersion",T.OPERATING_SYSTEM_NAME="operatingSystemName",T.OPERATING_SYSTEM_VERSION="operatingSystemVersion",
695
+ T.DEVICE_CATEGORY="deviceCategory";var U=b.Time=function(a,b){this._timeInterface=a,this._logger=b,this._logger.setModuleName("Time"),this.current=function(){var a=this._timeInterface.getEpochTimeMs();return K.isInteger(a)||this._logger.error("current(): TimeInterface.getEpochTimeMs() did not return an integer ("+a+")"),
696
+ a}},V=b.Timer=function(a,b,c){var d=this;this._logger=a,this._logger.setModuleName("Timer"),this._timerInterface=b,this._exceptionCatcher=c,this.create=function(a,b,c){var e=function(){d._exceptionCatcher.runProtected(c,function(){
697
+ a()})},f=this.createTimer(e,b,c);return f},this.createOnce=function(a,b,c){var e={cancel:null},f=function(){d._exceptionCatcher.runProtected(c,function(){e&&"function"==typeof e.cancel&&(e.cancel(),e.cancel=null,
698
+ e=null),a()})},g=this.createTimer(f,b,c);return e.cancel=g,g},this.createTimer=function(a,b,c){return this._logger.debug("createTimer(): calling TimerInterface.create"),this._timerInterface.createTimer(a,b,c);
699
699
  }}}()}(),a});